From ddfee0665087ab202a6701a1b40689c1e3d405a7 Mon Sep 17 00:00:00 2001 From: luochao <1055120207@qq.com> Date: Sat, 11 May 2024 16:49:54 +0800 Subject: [PATCH] chore: update openapi-ui.umd.js version --- pkg/doc/assets/openapi-ui.umd.js | 682 +++++++++++++++---------------- 1 file changed, 341 insertions(+), 341 deletions(-) diff --git a/pkg/doc/assets/openapi-ui.umd.js b/pkg/doc/assets/openapi-ui.umd.js index 52114c4..938614c 100644 --- a/pkg/doc/assets/openapi-ui.umd.js +++ b/pkg/doc/assets/openapi-ui.umd.js @@ -1,5 +1,5 @@ (function(){"use strict";try{if(typeof document<"u"){var A=document.createElement("style");A.appendChild(document.createTextNode('.monaco-aria-container{position:absolute;left:-999em}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{position:relative;overflow:visible;-webkit-text-size-adjust:100%;color:var(--vscode-editor-foreground);background-color:var(--vscode-editor-background)}.monaco-editor-background{background-color:var(--vscode-editor-background)}.monaco-editor .rangeHighlight{background-color:var(--vscode-editor-rangeHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-rangeHighlightBorder)}.monaco-editor.hc-black .rangeHighlight,.monaco-editor.hc-light .rangeHighlight{border-style:dotted}.monaco-editor .symbolHighlight{background-color:var(--vscode-editor-symbolHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-symbolHighlightBorder)}.monaco-editor.hc-black .symbolHighlight,.monaco-editor.hc-light .symbolHighlight{border-style:dotted}.monaco-editor .overflow-guard{position:relative;overflow:hidden}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .view-overlays>div,.monaco-editor .margin-view-overlays>div{position:absolute;width:100%}.monaco-editor .view-overlays>div>div,.monaco-editor .margin-view-overlays>div>div{bottom:0}.monaco-editor .squiggly-error{border-bottom:4px double var(--vscode-editorError-border)}.monaco-editor .squiggly-error:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorError-background)}.monaco-editor .squiggly-warning{border-bottom:4px double var(--vscode-editorWarning-border)}.monaco-editor .squiggly-warning:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorWarning-background)}.monaco-editor .squiggly-info{border-bottom:4px double var(--vscode-editorInfo-border)}.monaco-editor .squiggly-info:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorInfo-background)}.monaco-editor .squiggly-hint{border-bottom:2px dotted var(--vscode-editorHint-border)}.monaco-editor.showUnused .squiggly-unnecessary{border-bottom:2px dashed var(--vscode-editorUnnecessaryCode-border)}.monaco-editor.showDeprecated .squiggly-inline-deprecated{text-decoration:line-through;text-decoration-color:var(--vscode-editor-foreground, inherit)}.monaco-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.monaco-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{transition:opacity .8s linear}.monaco-scrollable-element>.shadow{position:absolute;display:none}.monaco-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.monaco-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.scrollbar>.slider{background:var(--vscode-scrollbarSlider-background)}.monaco-scrollable-element>.scrollbar>.slider:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-scrollable-element>.scrollbar>.slider.active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .inputarea{min-width:0;min-height:0;margin:0;padding:0;position:absolute;outline:none!important;resize:none;border:none;overflow:hidden;color:transparent;background-color:transparent;z-index:-10}.monaco-editor .inputarea.ime-input{z-index:10;caret-color:var(--vscode-editorCursor-foreground);color:var(--vscode-editor-foreground)}.monaco-editor .margin-view-overlays .line-numbers{bottom:0;font-variant-numeric:tabular-nums;position:absolute;text-align:right;display:inline-block;vertical-align:middle;box-sizing:border-box;cursor:default}.monaco-editor .relative-current-line-number{text-align:left;display:inline-block;width:100%}.monaco-editor .margin-view-overlays .line-numbers.lh-odd{margin-top:1px}.monaco-editor .line-numbers{color:var(--vscode-editorLineNumber-foreground)}.monaco-editor .line-numbers.active-line-number{color:var(--vscode-editorLineNumber-activeForeground)}.monaco-editor .margin{background-color:var(--vscode-editorGutter-background)}.monaco-mouse-cursor-text{cursor:text}.monaco-editor .blockDecorations-container{position:absolute;top:0;pointer-events:none}.monaco-editor .blockDecorations-block{position:absolute;box-sizing:border-box}.monaco-editor .view-overlays .current-line,.monaco-editor .margin-view-overlays .current-line{display:block;position:absolute;left:0;top:0;box-sizing:border-box;height:100%}.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both{border-right:0}.monaco-editor .lines-content .cdr{position:absolute;height:100%}.monaco-editor .glyph-margin{position:absolute;top:0}.monaco-editor .glyph-margin-widgets .cgmr{position:absolute;display:flex;align-items:center;justify-content:center}.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin:before{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.monaco-editor .lines-content .core-guide{position:absolute;box-sizing:border-box;height:100%}.mtkcontrol{color:#fff!important;background:#960000!important}.mtkoverflow{background-color:var(--vscode-button-background, var(--vscode-editor-background));color:var(--vscode-button-foreground, var(--vscode-editor-foreground));border-width:1px;border-style:solid;border-color:var(--vscode-contrastBorder);border-radius:2px;padding:4px;cursor:pointer}.mtkoverflow:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-editor.no-user-select .lines-content,.monaco-editor.no-user-select .view-line,.monaco-editor.no-user-select .view-lines{user-select:none;-webkit-user-select:none}.monaco-editor.mac .lines-content:hover,.monaco-editor.mac .view-line:hover,.monaco-editor.mac .view-lines:hover{user-select:text;-webkit-user-select:text;-ms-user-select:text}.monaco-editor.enable-user-select{user-select:initial;-webkit-user-select:initial}.monaco-editor .view-lines{white-space:nowrap}.monaco-editor .view-line{position:absolute;width:100%}.monaco-editor .lines-content>.view-lines>.view-line>span{top:0;bottom:0;position:absolute}.monaco-editor .mtkw{color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .mtkz{display:inline-block;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .lines-decorations{position:absolute;top:0;background:#fff}.monaco-editor .margin-view-overlays .cldr{position:absolute;height:100%}.monaco-editor .margin-view-overlays .cmdr{position:absolute;left:0;width:100%;height:100%}.monaco-editor .minimap.slider-mouseover .minimap-slider{opacity:0;transition:opacity .1s linear}.monaco-editor .minimap.slider-mouseover:hover .minimap-slider,.monaco-editor .minimap.slider-mouseover .minimap-slider.active{opacity:1}.monaco-editor .minimap-slider .minimap-slider-horizontal{background:var(--vscode-minimapSlider-background)}.monaco-editor .minimap-slider:hover .minimap-slider-horizontal{background:var(--vscode-minimapSlider-hoverBackground)}.monaco-editor .minimap-slider.active .minimap-slider-horizontal{background:var(--vscode-minimapSlider-activeBackground)}.monaco-editor .minimap-shadow-visible{box-shadow:var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset}.monaco-editor .minimap-shadow-hidden{position:absolute;width:0}.monaco-editor .minimap-shadow-visible{position:absolute;left:-6px;width:6px}.monaco-editor.no-minimap-shadow .minimap-shadow-visible{position:absolute;left:-1px;width:1px}.minimap.autohide{opacity:0;transition:opacity .5s}.minimap.autohide:hover{opacity:1}.monaco-editor .minimap{z-index:5}.monaco-editor .overlayWidgets{position:absolute;top:0;left:0}.monaco-editor .view-ruler{position:absolute;top:0;box-shadow:1px 0 0 0 var(--vscode-editorRuler-foreground) inset}.monaco-editor .scroll-decoration{position:absolute;top:0;left:0;height:6px;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-editor .lines-content .cslr{position:absolute}.monaco-editor .focused .selected-text{background-color:var(--vscode-editor-selectionBackground)}.monaco-editor .selected-text{background-color:var(--vscode-editor-inactiveSelectionBackground)}.monaco-editor .top-left-radius{border-top-left-radius:3px}.monaco-editor .bottom-left-radius{border-bottom-left-radius:3px}.monaco-editor .top-right-radius{border-top-right-radius:3px}.monaco-editor .bottom-right-radius{border-bottom-right-radius:3px}.monaco-editor.hc-black .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-black .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-black .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-black .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor.hc-light .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-light .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-light .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-light .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor .cursors-layer{position:absolute;top:0}.monaco-editor .cursors-layer>.cursor{position:absolute;overflow:hidden;box-sizing:border-box}.monaco-editor .cursors-layer.cursor-smooth-caret-animation>.cursor{transition:all 80ms}.monaco-editor .cursors-layer.cursor-block-outline-style>.cursor{background:transparent!important;border-style:solid;border-width:1px}.monaco-editor .cursors-layer.cursor-underline-style>.cursor{border-bottom-width:2px;border-bottom-style:solid;background:transparent!important}.monaco-editor .cursors-layer.cursor-underline-thin-style>.cursor{border-bottom-width:1px;border-bottom-style:solid;background:transparent!important}@keyframes monaco-cursor-smooth{0%,20%{opacity:1}60%,to{opacity:0}}@keyframes monaco-cursor-phase{0%,20%{opacity:1}90%,to{opacity:0}}@keyframes monaco-cursor-expand{0%,20%{transform:scaleY(1)}80%,to{transform:scaleY(0)}}.cursor-smooth{animation:monaco-cursor-smooth .5s ease-in-out 0s 20 alternate}.cursor-phase{animation:monaco-cursor-phase .5s ease-in-out 0s 20 alternate}.cursor-expand>.cursor{animation:monaco-cursor-expand .5s ease-in-out 0s 20 alternate}.monaco-editor .mwh{position:absolute;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .diff-hidden-lines-widget{width:100%}.monaco-editor .diff-hidden-lines{height:0px;transform:translateY(-10px);font-size:13px;line-height:14px}.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover,.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,.monaco-editor .diff-hidden-lines .top.dragging,.monaco-editor .diff-hidden-lines .bottom.dragging{background-color:var(--vscode-focusBorder)}.monaco-editor .diff-hidden-lines .top,.monaco-editor .diff-hidden-lines .bottom{transition:background-color .1s ease-out;height:4px;background-color:transparent;background-clip:padding-box;border-bottom:2px solid transparent;border-top:4px solid transparent}.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *,.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom){cursor:n-resize!important}.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *,.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom{cursor:s-resize!important}.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *,.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom{cursor:ns-resize!important}.monaco-editor .diff-hidden-lines .top{transform:translateY(4px)}.monaco-editor .diff-hidden-lines .bottom{transform:translateY(-6px)}.monaco-editor .diff-unchanged-lines{background:var(--vscode-diffEditor-unchangedCodeBackground)}.monaco-editor .noModificationsOverlay{z-index:1;background:var(--vscode-editor-background);display:flex;justify-content:center;align-items:center}.monaco-editor .diff-hidden-lines .center{background:var(--vscode-diffEditor-unchangedRegionBackground);color:var(--vscode-diffEditor-unchangedRegionForeground);overflow:hidden;display:block;text-overflow:ellipsis;white-space:nowrap;height:24px;box-shadow:inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow),inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow)}.monaco-editor .diff-hidden-lines .center span.codicon{vertical-align:middle}.monaco-editor .diff-hidden-lines .center a:hover .codicon{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .diff-hidden-lines div.breadcrumb-item{cursor:pointer}.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover{color:var(--vscode-editorLink-activeForeground)}.monaco-editor .movedOriginal,.monaco-editor .movedModified{border:2px solid var(--vscode-diffEditor-move-border)}.monaco-editor .movedOriginal.currentMove,.monaco-editor .movedModified.currentMove{border:2px solid var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path.currentMove{stroke:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path{pointer-events:visiblestroke}.monaco-diff-editor .moved-blocks-lines .arrow{fill:var(--vscode-diffEditor-move-border)}.monaco-diff-editor .moved-blocks-lines .arrow.currentMove{fill:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines .arrow-rectangle{fill:var(--vscode-editor-background)}.monaco-diff-editor .moved-blocks-lines{position:absolute;pointer-events:none}.monaco-diff-editor .moved-blocks-lines path{fill:none;stroke:var(--vscode-diffEditor-move-border);stroke-width:2}.monaco-editor .char-delete.diff-range-empty{margin-left:-1px;border-left:solid var(--vscode-diffEditor-removedTextBackground) 3px}.monaco-editor .char-insert.diff-range-empty{border-left:solid var(--vscode-diffEditor-insertedTextBackground) 3px}.monaco-editor .fold-unchanged{cursor:pointer}.monaco-diff-editor .diff-moved-code-block{display:flex;justify-content:flex-end;margin-top:-4px}.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon{width:12px;height:12px;font-size:12px}.monaco-diff-editor .diffOverview{z-index:9}.monaco-diff-editor .diffOverview .diffViewport{z-index:10}.monaco-diff-editor.vs .diffOverview{background:#00000008}.monaco-diff-editor.vs-dark .diffOverview{background:#ffffff03}.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar{background:#0000}.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light .scrollbar{background:none}.monaco-scrollable-element.modified-in-monaco-diff-editor .slider{z-index:10}.modified-in-monaco-diff-editor .slider.active{background:#ababab66}.modified-in-monaco-diff-editor.hc-black .slider.active,.modified-in-monaco-diff-editor.hc-light .slider.active{background:none}.monaco-editor .insert-sign,.monaco-diff-editor .insert-sign,.monaco-editor .delete-sign,.monaco-diff-editor .delete-sign{font-size:11px!important;opacity:.7!important;display:flex!important;align-items:center}.monaco-editor.hc-black .insert-sign,.monaco-diff-editor.hc-black .insert-sign,.monaco-editor.hc-black .delete-sign,.monaco-diff-editor.hc-black .delete-sign,.monaco-editor.hc-light .insert-sign,.monaco-diff-editor.hc-light .insert-sign,.monaco-editor.hc-light .delete-sign,.monaco-diff-editor.hc-light .delete-sign{opacity:1}.monaco-editor .inline-deleted-margin-view-zone,.monaco-editor .inline-added-margin-view-zone{text-align:right}.monaco-editor .arrow-revert-change{z-index:10;position:absolute}.monaco-editor .arrow-revert-change:hover{cursor:pointer}.monaco-editor .view-zones .view-lines .view-line span{display:inline-block}.monaco-editor .margin-view-zones .lightbulb-glyph:hover{cursor:pointer}.monaco-editor .char-insert,.monaco-diff-editor .char-insert{background-color:var(--vscode-diffEditor-insertedTextBackground)}.monaco-editor .line-insert,.monaco-diff-editor .line-insert{background-color:var(--vscode-diffEditor-insertedLineBackground, var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .line-insert,.monaco-editor .char-insert{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-insertedTextBorder)}.monaco-editor.hc-black .line-insert,.monaco-editor.hc-light .line-insert,.monaco-editor.hc-black .char-insert,.monaco-editor.hc-light .char-insert{border-style:dashed}.monaco-editor .line-delete,.monaco-editor .char-delete{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-removedTextBorder)}.monaco-editor.hc-black .line-delete,.monaco-editor.hc-light .line-delete,.monaco-editor.hc-black .char-delete,.monaco-editor.hc-light .char-delete{border-style:dashed}.monaco-editor .inline-added-margin-view-zone,.monaco-editor .gutter-insert,.monaco-diff-editor .gutter-insert{background-color:var(--vscode-diffEditorGutter-insertedLineBackground, var(--vscode-diffEditor-insertedLineBackground), var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .char-delete,.monaco-diff-editor .char-delete{background-color:var(--vscode-diffEditor-removedTextBackground)}.monaco-editor .line-delete,.monaco-diff-editor .line-delete{background-color:var(--vscode-diffEditor-removedLineBackground, var(--vscode-diffEditor-removedTextBackground))}.monaco-editor .inline-deleted-margin-view-zone,.monaco-editor .gutter-delete,.monaco-diff-editor .gutter-delete{background-color:var(--vscode-diffEditorGutter-removedLineBackground, var(--vscode-diffEditor-removedLineBackground), var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor.side-by-side .editor.modified{box-shadow:-6px 0 5px -5px var(--vscode-scrollbar-shadow);border-left:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor.side-by-side .editor.original{box-shadow:6px 0 5px -5px var(--vscode-scrollbar-shadow);border-right:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor .diffViewport{background:var(--vscode-scrollbarSlider-background)}.monaco-diff-editor .diffViewport:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-diff-editor .diffViewport:active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .diagonal-fill{background-image:linear-gradient(-45deg,var(--vscode-diffEditor-diagonalFill) 12.5%,#0000 12.5%,#0000 50%,var(--vscode-diffEditor-diagonalFill) 50%,var(--vscode-diffEditor-diagonalFill) 62.5%,#0000 62.5%,#0000 100%);background-size:8px 8px}.monaco-diff-editor .gutter{position:relative;overflow:hidden;flex-shrink:0;flex-grow:0}.monaco-diff-editor .gutter .gutterItem{opacity:0;transition:opacity .7s}.monaco-diff-editor .gutter .gutterItem.showAlways{opacity:1;transition:none}.monaco-diff-editor .gutter .gutterItem.noTransition{transition:none}.monaco-diff-editor .gutter:hover .gutterItem{opacity:1;transition:opacity .1s ease-in-out}.monaco-diff-editor .gutter .gutterItem .background{position:absolute;height:100%;left:50%;width:1px;border-left:2px var(--vscode-menu-border) solid}.monaco-diff-editor .gutter .gutterItem .buttons{position:absolute;width:100%;display:flex;justify-content:center;align-items:center}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar{height:fit-content}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar{line-height:1}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container{width:fit-content;border-radius:4px;border:1px var(--vscode-menu-border) solid;background:var(--vscode-editor-background)}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container .action-item:hover{background:var(--vscode-toolbar-hoverBackground)}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container .action-item .action-label{padding:.5px 1px}.monaco-list{position:relative;height:100%;width:100%;white-space:nowrap}.monaco-list.mouse-support{user-select:none;-webkit-user-select:none}.monaco-list>.monaco-scrollable-element{height:100%}.monaco-list-rows{position:relative;width:100%;height:100%}.monaco-list.horizontal-scrolling .monaco-list-rows{width:auto;min-width:100%}.monaco-list-row{position:absolute;box-sizing:border-box;overflow:hidden;width:100%}.monaco-list.mouse-support .monaco-list-row{cursor:pointer;touch-action:none}.monaco-list .monaco-scrollable-element>.scrollbar.vertical,.monaco-pane-view>.monaco-split-view2.vertical>.monaco-scrollable-element>.scrollbar.vertical{z-index:14}.monaco-list-row.scrolling{display:none!important}.monaco-list.element-focused,.monaco-list.selection-single,.monaco-list.selection-multiple{outline:0!important}.monaco-drag-image{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;position:absolute;z-index:1000}.monaco-list-type-filter-message{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;padding:40px 1em 1em;text-align:center;white-space:normal;opacity:.7;pointer-events:none}.monaco-list-type-filter-message:empty{display:none}.monaco-select-box-dropdown-padding{--dropdown-padding-top: 1px;--dropdown-padding-bottom: 1px}.hc-black .monaco-select-box-dropdown-padding,.hc-light .monaco-select-box-dropdown-padding{--dropdown-padding-top: 3px;--dropdown-padding-bottom: 4px}.monaco-select-box-dropdown-container{display:none;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown *{margin:0}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown a:focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown code{line-height:15px;font-family:var(--monaco-monospace-font)}.monaco-select-box-dropdown-container.visible{display:flex;flex-direction:column;text-align:left;width:1px;overflow:hidden;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container{flex:0 0 auto;align-self:flex-start;padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom);padding-left:1px;padding-right:1px;width:100%;overflow:hidden;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane{padding:5px}.hc-black .monaco-select-box-dropdown-container>.select-box-dropdown-list-container{padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom)}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row{cursor:pointer}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-text{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-detail{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left;opacity:.7}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-decorator-right{text-overflow:ellipsis;overflow:hidden;padding-right:10px;white-space:nowrap;float:right}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.visually-hidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control{flex:1 1 auto;align-self:flex-start;opacity:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div{overflow:hidden;max-height:0px}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div>.option-text-width-control{padding-left:4px;padding-right:8px;white-space:nowrap}.monaco-select-box{width:100%;cursor:pointer;border-radius:2px}.monaco-select-box-dropdown-container{font-size:13px;font-weight:400;text-transform:none}.monaco-action-bar .action-item.select-container{cursor:default}.monaco-action-bar .action-item .monaco-select-box{cursor:pointer;min-width:100px;min-height:18px;padding:2px 23px 2px 8px}.mac .monaco-action-bar .action-item .monaco-select-box{font-size:11px;border-radius:5px}.monaco-action-bar{white-space:nowrap;height:100%}.monaco-action-bar .actions-container{display:flex;margin:0 auto;padding:0;height:100%;width:100%;align-items:center}.monaco-action-bar.vertical .actions-container{display:inline-block}.monaco-action-bar .action-item{display:block;align-items:center;justify-content:center;cursor:pointer;position:relative}.monaco-action-bar .action-item.disabled{cursor:default}.monaco-action-bar .action-item .icon,.monaco-action-bar .action-item .codicon{display:block}.monaco-action-bar .action-item .codicon{display:flex;align-items:center;width:16px;height:16px}.monaco-action-bar .action-label{display:flex;font-size:11px;padding:3px;border-radius:5px}.monaco-action-bar .action-item.disabled .action-label,.monaco-action-bar .action-item.disabled .action-label:before,.monaco-action-bar .action-item.disabled .action-label:hover{color:var(--vscode-disabledForeground)}.monaco-action-bar.vertical{text-align:left}.monaco-action-bar.vertical .action-item{display:block}.monaco-action-bar.vertical .action-label.separator{display:block;border-bottom:1px solid #bbb;padding-top:1px;margin-left:.8em;margin-right:.8em}.monaco-action-bar .action-item .action-label.separator{width:1px;height:16px;margin:5px 4px!important;cursor:default;min-width:1px;padding:0;background-color:#bbb}.secondary-actions .monaco-action-bar .action-label{margin-left:6px}.monaco-action-bar .action-item.select-container{overflow:hidden;flex:1;max-width:170px;min-width:60px;display:flex;align-items:center;justify-content:center;margin-right:10px}.monaco-action-bar .action-item.action-dropdown-item{display:flex}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator{display:flex;align-items:center;cursor:default}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator>div{width:1px}.monaco-component.diff-review{user-select:none;-webkit-user-select:none;z-index:99}.monaco-diff-editor .diff-review{position:absolute}.monaco-component.diff-review .diff-review-line-number{text-align:right;display:inline-block;color:var(--vscode-editorLineNumber-foreground)}.monaco-component.diff-review .diff-review-summary{padding-left:10px}.monaco-component.diff-review .diff-review-shadow{position:absolute;box-shadow:var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset}.monaco-component.diff-review .diff-review-row{white-space:pre}.monaco-component.diff-review .diff-review-table{display:table;min-width:100%}.monaco-component.diff-review .diff-review-row{display:table-row;width:100%}.monaco-component.diff-review .diff-review-spacer{display:inline-block;width:10px;vertical-align:middle}.monaco-component.diff-review .diff-review-spacer>.codicon{font-size:9px!important}.monaco-component.diff-review .diff-review-actions{display:inline-block;position:absolute;right:10px;top:2px;z-index:100}.monaco-component.diff-review .diff-review-actions .action-label{width:16px;height:16px;margin:2px 0}.monaco-component.diff-review .revertButton{cursor:pointer}:root{--vscode-sash-size: 4px;--vscode-sash-hover-size: 4px}.monaco-sash{position:absolute;z-index:35;touch-action:none}.monaco-sash.disabled{pointer-events:none}.monaco-sash.mac.vertical{cursor:col-resize}.monaco-sash.vertical.minimum{cursor:e-resize}.monaco-sash.vertical.maximum{cursor:w-resize}.monaco-sash.mac.horizontal{cursor:row-resize}.monaco-sash.horizontal.minimum{cursor:s-resize}.monaco-sash.horizontal.maximum{cursor:n-resize}.monaco-sash.disabled{cursor:default!important;pointer-events:none!important}.monaco-sash.vertical{cursor:ew-resize;top:0;width:var(--vscode-sash-size);height:100%}.monaco-sash.horizontal{cursor:ns-resize;left:0;width:100%;height:var(--vscode-sash-size)}.monaco-sash:not(.disabled)>.orthogonal-drag-handle{content:" ";height:calc(var(--vscode-sash-size) * 2);width:calc(var(--vscode-sash-size) * 2);z-index:100;display:block;cursor:all-scroll;position:absolute}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.start,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.end{cursor:nwse-resize}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.end,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.start{cursor:nesw-resize}.monaco-sash.vertical>.orthogonal-drag-handle.start{left:calc(var(--vscode-sash-size) * -.5);top:calc(var(--vscode-sash-size) * -1)}.monaco-sash.vertical>.orthogonal-drag-handle.end{left:calc(var(--vscode-sash-size) * -.5);bottom:calc(var(--vscode-sash-size) * -1)}.monaco-sash.horizontal>.orthogonal-drag-handle.start{top:calc(var(--vscode-sash-size) * -.5);left:calc(var(--vscode-sash-size) * -1)}.monaco-sash.horizontal>.orthogonal-drag-handle.end{top:calc(var(--vscode-sash-size) * -.5);right:calc(var(--vscode-sash-size) * -1)}.monaco-sash:before{content:"";pointer-events:none;position:absolute;width:100%;height:100%;background:transparent}.monaco-workbench:not(.reduce-motion) .monaco-sash:before{transition:background-color .1s ease-out}.monaco-sash.hover:before,.monaco-sash.active:before{background:var(--vscode-sash-hoverBorder)}.monaco-sash.vertical:before{width:var(--vscode-sash-hover-size);left:calc(50% - (var(--vscode-sash-hover-size) / 2))}.monaco-sash.horizontal:before{height:var(--vscode-sash-hover-size);top:calc(50% - (var(--vscode-sash-hover-size) / 2))}.pointer-events-disabled{pointer-events:none!important}.monaco-sash.debug{background:#0ff}.monaco-sash.debug.disabled{background:#0ff3}.monaco-sash.debug:not(.disabled)>.orthogonal-drag-handle{background:red}.monaco-dropdown{height:100%;padding:0}.monaco-dropdown>.dropdown-label{cursor:pointer;height:100%;display:flex;align-items:center;justify-content:center}.monaco-dropdown>.dropdown-label>.action-label.disabled{cursor:default}.monaco-dropdown-with-primary{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-primary>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:center center;background-repeat:no-repeat}.monaco-toolbar{height:100%}.monaco-toolbar .toolbar-toggle-more{display:inline-block;padding:0}.monaco-action-bar .action-item.menu-entry .action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:center center;background-repeat:no-repeat}.monaco-editor .selection-anchor{background-color:#007acc;width:2px!important}.monaco-editor .bracket-match{box-sizing:border-box;background-color:var(--vscode-editorBracketMatch-background);border:1px solid var(--vscode-editorBracketMatch-border)}.inline-editor-progress-decoration{display:inline-block;width:1em;height:1em}.inline-progress-widget{display:flex!important;justify-content:center;align-items:center}.inline-progress-widget .icon{font-size:80%!important}.inline-progress-widget:hover .icon{font-size:90%!important;animation:none}.inline-progress-widget:hover .icon:before{content:""}.monaco-editor .monaco-editor-overlaymessage{padding-bottom:8px;z-index:10000}.monaco-editor .monaco-editor-overlaymessage.below{padding-bottom:0;padding-top:8px;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.monaco-editor .monaco-editor-overlaymessage.fadeIn{animation:fadeIn .15s ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.monaco-editor .monaco-editor-overlaymessage.fadeOut{animation:fadeOut .1s ease-out}.monaco-editor .monaco-editor-overlaymessage .message{padding:2px 4px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-inputValidation-infoBorder);border-radius:3px}.monaco-editor .monaco-editor-overlaymessage .message p{margin-block:0px}.monaco-editor .monaco-editor-overlaymessage .message a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-editor-overlaymessage .message a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor.hc-black .monaco-editor-overlaymessage .message,.monaco-editor.hc-light .monaco-editor-overlaymessage .message{border-width:2px}.monaco-editor .monaco-editor-overlaymessage .anchor{width:0!important;height:0!important;border-color:transparent;border-style:solid;z-index:1000;border-width:8px;position:absolute;left:2px}.monaco-editor .monaco-editor-overlaymessage .anchor.top{border-bottom-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage .anchor.below{border-top-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top,.monaco-editor .monaco-editor-overlaymessage.below .anchor.below{display:none}.monaco-editor .monaco-editor-overlaymessage.below .anchor.top{display:inherit;top:-8px}.monaco-editor .rendered-markdown kbd{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-style:solid;border-width:1px;border-radius:3px;border-color:var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow);vertical-align:middle;padding:1px 3px}.rendered-markdown li:has(input[type=checkbox]){list-style-type:none}.monaco-text-button{box-sizing:border-box;display:flex;width:100%;padding:4px;border-radius:2px;text-align:center;cursor:pointer;justify-content:center;align-items:center;border:1px solid var(--vscode-button-border, transparent);line-height:18px}.monaco-text-button:focus{outline-offset:2px!important}.monaco-text-button:hover{text-decoration:none!important}.monaco-button.disabled:focus,.monaco-button.disabled{opacity:.4!important;cursor:default}.monaco-text-button .codicon{margin:0 .2em;color:inherit!important}.monaco-text-button.monaco-text-button-with-short-label{flex-direction:row;flex-wrap:wrap;padding:0 4px;overflow:hidden;height:28px}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label{flex-basis:100%}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{flex-grow:1;width:0;overflow:hidden}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label,.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{display:flex;justify-content:center;align-items:center;font-weight:400;font-style:inherit;padding:4px 0}.monaco-button-dropdown{display:flex;cursor:pointer}.monaco-button-dropdown.disabled{cursor:default}.monaco-button-dropdown>.monaco-button:focus{outline-offset:-1px!important}.monaco-button-dropdown.disabled>.monaco-button.disabled,.monaco-button-dropdown.disabled>.monaco-button.disabled:focus,.monaco-button-dropdown.disabled>.monaco-button-dropdown-separator{opacity:.4!important}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-right-width:0!important}.monaco-button-dropdown .monaco-button-dropdown-separator{padding:4px 0;cursor:default}.monaco-button-dropdown .monaco-button-dropdown-separator>div{height:100%;width:1px}.monaco-button-dropdown>.monaco-button.monaco-dropdown-button{border:1px solid var(--vscode-button-border, transparent);border-left-width:0!important;border-radius:0 2px 2px 0;display:flex;align-items:center}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-radius:2px 0 0 2px}.monaco-description-button{display:flex;flex-direction:column;align-items:center;margin:4px 5px}.monaco-description-button .monaco-button-description{font-style:italic;font-size:11px;padding:4px 20px}.monaco-description-button .monaco-button-label,.monaco-description-button .monaco-button-description{display:flex;justify-content:center;align-items:center}.monaco-description-button .monaco-button-label>.codicon,.monaco-description-button .monaco-button-description>.codicon{margin:0 .2em;color:inherit!important}.monaco-button.default-colors,.monaco-button-dropdown.default-colors>.monaco-button{color:var(--vscode-button-foreground);background-color:var(--vscode-button-background)}.monaco-button.default-colors:hover,.monaco-button-dropdown.default-colors>.monaco-button:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-button.default-colors.secondary,.monaco-button-dropdown.default-colors>.monaco-button.secondary{color:var(--vscode-button-secondaryForeground);background-color:var(--vscode-button-secondaryBackground)}.monaco-button.default-colors.secondary:hover,.monaco-button-dropdown.default-colors>.monaco-button.secondary:hover{background-color:var(--vscode-button-secondaryHoverBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator{background-color:var(--vscode-button-background);border-top:1px solid var(--vscode-button-border);border-bottom:1px solid var(--vscode-button-border)}.monaco-button-dropdown.default-colors .monaco-button.secondary+.monaco-button-dropdown-separator{background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator>div{background-color:var(--vscode-button-separator)}.post-edit-widget{box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:1px solid var(--vscode-widget-border, transparent);border-radius:4px;background-color:var(--vscode-editorWidget-background);overflow:hidden}.post-edit-widget .monaco-button{padding:2px;border:none;border-radius:0}.post-edit-widget .monaco-button:hover{background-color:var(--vscode-button-secondaryHoverBackground)!important}.post-edit-widget .monaco-button .codicon{margin:0}@font-face{font-family:codicon;font-display:block;src:url(data:font/ttf;base64,AAEAAAALAIAAAwAwR1NVQiCLJXoAAAE4AAAAVE9TLzI3T0tHAAABjAAAAGBjbWFwO462kQAACRgAABq0Z2x5ZkExNwYAACdkAAD1iGhlYWRYl6BTAAAA4AAAADZoaGVhAlsC9gAAALwAAAAkaG10eBi9//oAAAHsAAAHLGxvY2Ebh1ieAAAjzAAAA5htYXhwAuwBgQAAARgAAAAgbmFtZZP3uUsAARzsAAAB+HBvc3RMW9BGAAEe5AAAGP8AAQAAASwAAAAAASz////+AS4AAQAAAAAAAAAAAAAAAAAAAcsAAQAAAAEAANAcvqJfDzz1AAsBLAAAAAB8JbCAAAAAAHwlsID////9AS4BLQAAAAgAAgAAAAAAAAABAAABywF1ABcAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKADAAPgACREZMVAAObGF0bgAaAAQAAAAAAAAAAQAAAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAQBKwGQAAUAAADLANIAAAAqAMsA0gAAAJAADgBNAAACAAUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBmRWQAwOpg8QEBLAAAABsBRwADAAAAAQAAAAAAAAAAAAAAAAACAAAAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASz//wEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEs//8BLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASz//wEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLP//ASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASz//wEsAAABLAAAASwAAAEs//8BLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAAAAABQAAAAMAAAAsAAAABAAABSAAAQAAAAAEGgADAAEAAAAsAAMACgAABSAABAPuAAAAEgAQAAMAAuqI6ozqx+rJ6wnrTuwx8QH//wAA6mDqiuqP6snqzOsL61DxAf//AAAAAAAAAAAAAAAAAAAAAAABABIAYgBmANYA1gFQAdYDmAAAAAMA7wFHAUQAswE0AZIBIgFrAQwBcQBNAcABXQFnAWYAkAA1AS0AhQDNAPwAQAGQAHgAFgG7AJoAhwFAARsBEgETAaUAxwClALsBnQF9AIoBjgF2AYUBgwF3AYYBjQGIAYEAvQF8AYoAAgAEAAUACgALAAwADQAOAA8AEAASABoAHAAdAB4AWwBcAF0AXgBhAGIAIQAiACMAJAAlACgAKgArACwALQAuAC8AMQAyADMANAA7ADgAPAA9AD4APwBBAEIARQBHAEgASgBUAFUAVgBXAGYAaABqAG0AcQBzAHQAdQB2AHcAeQB6AHsAfAB9AH4AgACBAIMAhACGAIgAiwCOAI8AkgCTAJQAlQCWAJcAmACZAJsAnQCeAJ8AoAChAKIApACnAKgAqQCTAKoAqwCtALcAuAC8AL4AwgDDAMYAyADJAMoAywDRANIA0wDUANUA1gDXANgA7QDwAPEA9AD3APgA+QD6AP4A/wEEAQUBBgELAQ0BDgEPAREBFQEWARkBGgEdAR4BJQEpASoBKwEsAS4BLwEwATEBMgEzATgBOQE6ATsBPAE9AT4BPwFBAUMBRQFGAUgBSQFLAUwBTQFOAU8BVgFXAVgBWQFaAVwBYQFiAWMBZQFoAWoBbgFvAXABcgFzAXgBeQF6AXsBfgF/AYABggGEAYcBiQGLAZQBlQGeAZ8BoQGjAaQBpgGnAagBqQGqAa4BsAGxAbIBtQG2AbcBuQG6AcEBwgHDAcQBxQHJAcoA8gDzAPUA9gBfAGAAbwA5AHAAYwGMAG4AcgBsAFoAJgAnAQcAjACRAMQBrwABABcAZADsARwBUgGPAScAuQFgAV8BIAF0ASgBNgBZAbgAQwEIAI0AvwD9ARgBNwApASYBHwA2ADcASQGRAbMBrQGrAawArwFQAVMBFwBrAcYByAHHAZcBmAGZAZoBmwGcAZYAEQBSASEAnAG/AGkAzwDbANoA2QBQAE8ATgAUANAArgCwAFgAZwFVAKMAZQAVAMAAwQEkAB8AIAD7ABMBtAEUAOsA3ADdAOIA4ADhAOQA5QDnAOkA6gDfAN4BkwDMATUAiQAGAAcACAAJAOgA4wDmABsAxQEDAQAAOgAZABgATACxALIBWwBLAV4BbQDOAQoBoAGiAEYBaQCmAbwAMAEjARABCQFCAFEA7gFKAWwAggB/AXUBZAC2ALQAtQG+Ab0ARAFUAVEAUwC6AQIBAQCsAAABBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAABWUAAAAAAAAAcsAAOpgAADqYAAAAAMAAOphAADqYQAAAO8AAOpiAADqYgAAAUcAAOpjAADqYwAAAUQAAOpkAADqZAAAALMAAOplAADqZQAAATQAAOpmAADqZgAAAZIAAOpnAADqZwAAASIAAOpoAADqaAAAAWsAAOppAADqaQAAAQwAAOpqAADqagAAAXEAAOprAADqawAAAE0AAOpsAADqbAAAAcAAAOptAADqbQAAAV0AAOpuAADqbgAAAWcAAOpvAADqbwAAAWYAAOpwAADqcAAAAJAAAOpxAADqcQAAADUAAOpyAADqcgAAAS0AAOpzAADqcwAAAIUAAOp0AADqdAAAAM0AAOp1AADqdQAAAPwAAOp2AADqdgAAAEAAAOp3AADqdwAAAZAAAOp4AADqeAAAAHgAAOp5AADqeQAAABYAAOp6AADqegAAAbsAAOp7AADqewAAAJoAAOp8AADqfAAAAIcAAOp9AADqfQAAAUAAAOp+AADqfgAAARsAAOp/AADqfwAAARIAAOqAAADqgAAAARMAAOqBAADqgQAAAaUAAOqCAADqggAAAMcAAOqDAADqgwAAAKUAAOqEAADqhAAAALsAAOqFAADqhQAAAZ0AAOqGAADqhgAAAX0AAOqHAADqhwAAAIoAAOqIAADqiAAAAY4AAOqKAADqigAAAXYAAOqLAADqiwAAAYUAAOqMAADqjAAAAYMAAOqPAADqjwAAAXcAAOqQAADqkAAAAYYAAOqRAADqkQAAAY0AAOqSAADqkgAAAYgAAOqTAADqkwAAAYEAAOqUAADqlAAAAL0AAOqVAADqlQAAAXwAAOqWAADqlgAAAYoAAOqXAADqlwAAAAIAAOqYAADqmAAAAAQAAOqZAADqmQAAAAUAAOqaAADqmgAAAAoAAOqbAADqmwAAAAsAAOqcAADqnAAAAAwAAOqdAADqnQAAAA0AAOqeAADqngAAAA4AAOqfAADqnwAAAA8AAOqgAADqoAAAABAAAOqhAADqoQAAABIAAOqiAADqogAAABoAAOqjAADqowAAABwAAOqkAADqpAAAAB0AAOqlAADqpQAAAB4AAOqmAADqpgAAAFsAAOqnAADqpwAAAFwAAOqoAADqqAAAAF0AAOqpAADqqQAAAF4AAOqqAADqqgAAAGEAAOqrAADqqwAAAGIAAOqsAADqrAAAACEAAOqtAADqrQAAACIAAOquAADqrgAAACMAAOqvAADqrwAAACQAAOqwAADqsAAAACUAAOqxAADqsQAAACgAAOqyAADqsgAAACoAAOqzAADqswAAACsAAOq0AADqtAAAACwAAOq1AADqtQAAAC0AAOq2AADqtgAAAC4AAOq3AADqtwAAAC8AAOq4AADquAAAADEAAOq5AADquQAAADIAAOq6AADqugAAADMAAOq7AADquwAAADQAAOq8AADqvAAAADsAAOq9AADqvQAAADgAAOq+AADqvgAAADwAAOq/AADqvwAAAD0AAOrAAADqwAAAAD4AAOrBAADqwQAAAD8AAOrCAADqwgAAAEEAAOrDAADqwwAAAEIAAOrEAADqxAAAAEUAAOrFAADqxQAAAEcAAOrGAADqxgAAAEgAAOrHAADqxwAAAEoAAOrJAADqyQAAAFQAAOrMAADqzAAAAFUAAOrNAADqzQAAAFYAAOrOAADqzgAAAFcAAOrPAADqzwAAAGYAAOrQAADq0AAAAGgAAOrRAADq0QAAAGoAAOrSAADq0gAAAG0AAOrTAADq0wAAAHEAAOrUAADq1AAAAHMAAOrVAADq1QAAAHQAAOrWAADq1gAAAHUAAOrXAADq1wAAAHYAAOrYAADq2AAAAHcAAOrZAADq2QAAAHkAAOraAADq2gAAAHoAAOrbAADq2wAAAHsAAOrcAADq3AAAAHwAAOrdAADq3QAAAH0AAOreAADq3gAAAH4AAOrfAADq3wAAAIAAAOrgAADq4AAAAIEAAOrhAADq4QAAAIMAAOriAADq4gAAAIQAAOrjAADq4wAAAIYAAOrkAADq5AAAAIgAAOrlAADq5QAAAIsAAOrmAADq5gAAAI4AAOrnAADq5wAAAI8AAOroAADq6AAAAJIAAOrpAADq6QAAAJMAAOrqAADq6gAAAJQAAOrrAADq6wAAAJUAAOrsAADq7AAAAJYAAOrtAADq7QAAAJcAAOruAADq7gAAAJgAAOrvAADq7wAAAJkAAOrwAADq8AAAAJsAAOrxAADq8QAAAJ0AAOryAADq8gAAAJ4AAOrzAADq8wAAAJ8AAOr0AADq9AAAAKAAAOr1AADq9QAAAKEAAOr2AADq9gAAAKIAAOr3AADq9wAAAKQAAOr4AADq+AAAAKcAAOr5AADq+QAAAKgAAOr6AADq+gAAAKkAAOr7AADq+wAAAJMAAOr8AADq/AAAAKoAAOr9AADq/QAAAKsAAOr+AADq/gAAAK0AAOr/AADq/wAAALcAAOsAAADrAAAAALgAAOsBAADrAQAAALwAAOsCAADrAgAAAL4AAOsDAADrAwAAAMIAAOsEAADrBAAAAMMAAOsFAADrBQAAAMYAAOsGAADrBgAAAMgAAOsHAADrBwAAAMkAAOsIAADrCAAAAMoAAOsJAADrCQAAAMsAAOsLAADrCwAAANEAAOsMAADrDAAAANIAAOsNAADrDQAAANMAAOsOAADrDgAAANQAAOsPAADrDwAAANUAAOsQAADrEAAAANYAAOsRAADrEQAAANcAAOsSAADrEgAAANgAAOsTAADrEwAAAO0AAOsUAADrFAAAAPAAAOsVAADrFQAAAPEAAOsWAADrFgAAAPQAAOsXAADrFwAAAPcAAOsYAADrGAAAAPgAAOsZAADrGQAAAPkAAOsaAADrGgAAAPoAAOsbAADrGwAAAP4AAOscAADrHAAAAP8AAOsdAADrHQAAAQQAAOseAADrHgAAAQUAAOsfAADrHwAAAQYAAOsgAADrIAAAAQsAAOshAADrIQAAAQ0AAOsiAADrIgAAAQ4AAOsjAADrIwAAAQ8AAOskAADrJAAAAREAAOslAADrJQAAARUAAOsmAADrJgAAARYAAOsnAADrJwAAARkAAOsoAADrKAAAARoAAOspAADrKQAAAR0AAOsqAADrKgAAAR4AAOsrAADrKwAAASUAAOssAADrLAAAASkAAOstAADrLQAAASoAAOsuAADrLgAAASsAAOsvAADrLwAAASwAAOswAADrMAAAAS4AAOsxAADrMQAAAS8AAOsyAADrMgAAATAAAOszAADrMwAAATEAAOs0AADrNAAAATIAAOs1AADrNQAAATMAAOs2AADrNgAAATgAAOs3AADrNwAAATkAAOs4AADrOAAAAToAAOs5AADrOQAAATsAAOs6AADrOgAAATwAAOs7AADrOwAAAT0AAOs8AADrPAAAAT4AAOs9AADrPQAAAT8AAOs+AADrPgAAAUEAAOs/AADrPwAAAUMAAOtAAADrQAAAAUUAAOtBAADrQQAAAUYAAOtCAADrQgAAAUgAAOtDAADrQwAAAUkAAOtEAADrRAAAAUsAAOtFAADrRQAAAUwAAOtGAADrRgAAAU0AAOtHAADrRwAAAU4AAOtIAADrSAAAAU8AAOtJAADrSQAAAVYAAOtKAADrSgAAAVcAAOtLAADrSwAAAVgAAOtMAADrTAAAAVkAAOtNAADrTQAAAVoAAOtOAADrTgAAAVwAAOtQAADrUAAAAWEAAOtRAADrUQAAAWIAAOtSAADrUgAAAWMAAOtTAADrUwAAAWUAAOtUAADrVAAAAWgAAOtVAADrVQAAAWoAAOtWAADrVgAAAW4AAOtXAADrVwAAAW8AAOtYAADrWAAAAXAAAOtZAADrWQAAAXIAAOtaAADrWgAAAXMAAOtbAADrWwAAAXgAAOtcAADrXAAAAXkAAOtdAADrXQAAAXoAAOteAADrXgAAAXsAAOtfAADrXwAAAX4AAOtgAADrYAAAAX8AAOthAADrYQAAAYAAAOtiAADrYgAAAYIAAOtjAADrYwAAAYQAAOtkAADrZAAAAYcAAOtlAADrZQAAAYkAAOtmAADrZgAAAYsAAOtnAADrZwAAAZQAAOtoAADraAAAAZUAAOtpAADraQAAAZ4AAOtqAADragAAAZ8AAOtrAADrawAAAaEAAOtsAADrbAAAAaMAAOttAADrbQAAAaQAAOtuAADrbgAAAaYAAOtvAADrbwAAAacAAOtwAADrcAAAAagAAOtxAADrcQAAAakAAOtyAADrcgAAAaoAAOtzAADrcwAAAa4AAOt0AADrdAAAAbAAAOt1AADrdQAAAbEAAOt2AADrdgAAAbIAAOt3AADrdwAAAbUAAOt4AADreAAAAbYAAOt5AADreQAAAbcAAOt6AADregAAAbkAAOt7AADrewAAAboAAOt8AADrfAAAAcEAAOt9AADrfQAAAcIAAOt+AADrfgAAAcMAAOt/AADrfwAAAcQAAOuAAADrgAAAAcUAAOuBAADrgQAAAckAAOuCAADrggAAAcoAAOuDAADrgwAAAPIAAOuEAADrhAAAAPMAAOuFAADrhQAAAPUAAOuGAADrhgAAAPYAAOuHAADrhwAAAF8AAOuIAADriAAAAGAAAOuJAADriQAAAG8AAOuKAADrigAAADkAAOuLAADriwAAAHAAAOuMAADrjAAAAGMAAOuNAADrjQAAAYwAAOuOAADrjgAAAG4AAOuPAADrjwAAAHIAAOuQAADrkAAAAGwAAOuRAADrkQAAAFoAAOuSAADrkgAAACYAAOuTAADrkwAAACcAAOuUAADrlAAAAQcAAOuVAADrlQAAAIwAAOuWAADrlgAAAJEAAOuXAADrlwAAAMQAAOuYAADrmAAAAa8AAOuZAADrmQAAAAEAAOuaAADrmgAAABcAAOubAADrmwAAAGQAAOucAADrnAAAAOwAAOudAADrnQAAARwAAOueAADrngAAAVIAAOufAADrnwAAAY8AAOugAADroAAAAScAAOuhAADroQAAALkAAOuiAADrogAAAWAAAOujAADrowAAAV8AAOukAADrpAAAASAAAOulAADrpQAAAXQAAOumAADrpgAAASgAAOunAADrpwAAATYAAOuoAADrqAAAAFkAAOupAADrqQAAAbgAAOuqAADrqgAAAEMAAOurAADrqwAAAQgAAOusAADrrAAAAI0AAOutAADrrQAAAL8AAOuuAADrrgAAAP0AAOuvAADrrwAAARgAAOuwAADrsAAAATcAAOuxAADrsQAAACkAAOuyAADrsgAAASYAAOuzAADrswAAAR8AAOu0AADrtAAAADYAAOu1AADrtQAAADcAAOu2AADrtgAAAEkAAOu3AADrtwAAAZEAAOu4AADruAAAAbMAAOu5AADruQAAAa0AAOu6AADrugAAAasAAOu7AADruwAAAawAAOu8AADrvAAAAK8AAOu9AADrvQAAAVAAAOu+AADrvgAAAVMAAOu/AADrvwAAARcAAOvAAADrwAAAAGsAAOvBAADrwQAAAcYAAOvCAADrwgAAAcgAAOvDAADrwwAAAccAAOvEAADrxAAAAZcAAOvFAADrxQAAAZgAAOvGAADrxgAAAZkAAOvHAADrxwAAAZoAAOvIAADryAAAAZsAAOvJAADryQAAAZwAAOvKAADrygAAAZYAAOvLAADrywAAABEAAOvMAADrzAAAAFIAAOvNAADrzQAAASEAAOvOAADrzgAAAJwAAOvPAADrzwAAAb8AAOvQAADr0AAAAGkAAOvRAADr0QAAAM8AAOvSAADr0gAAANsAAOvTAADr0wAAANoAAOvUAADr1AAAANkAAOvVAADr1QAAAFAAAOvWAADr1gAAAE8AAOvXAADr1wAAAE4AAOvYAADr2AAAABQAAOvZAADr2QAAANAAAOvaAADr2gAAAK4AAOvbAADr2wAAALAAAOvcAADr3AAAAFgAAOvdAADr3QAAAGcAAOveAADr3gAAAVUAAOvfAADr3wAAAKMAAOvgAADr4AAAAGUAAOvhAADr4QAAABUAAOviAADr4gAAAMAAAOvjAADr4wAAAMEAAOvkAADr5AAAASQAAOvlAADr5QAAAB8AAOvmAADr5gAAACAAAOvnAADr5wAAAPsAAOvoAADr6AAAABMAAOvpAADr6QAAAbQAAOvqAADr6gAAARQAAOvrAADr6wAAAOsAAOvsAADr7AAAANwAAOvtAADr7QAAAN0AAOvuAADr7gAAAOIAAOvvAADr7wAAAOAAAOvwAADr8AAAAOEAAOvxAADr8QAAAOQAAOvyAADr8gAAAOUAAOvzAADr8wAAAOcAAOv0AADr9AAAAOkAAOv1AADr9QAAAOoAAOv2AADr9gAAAN8AAOv3AADr9wAAAN4AAOv4AADr+AAAAZMAAOv5AADr+QAAAMwAAOv6AADr+gAAATUAAOv7AADr+wAAAIkAAOv8AADr/AAAAAYAAOv9AADr/QAAAAcAAOv+AADr/gAAAAgAAOv/AADr/wAAAAkAAOwAAADsAAAAAOgAAOwBAADsAQAAAOMAAOwCAADsAgAAAOYAAOwDAADsAwAAABsAAOwEAADsBAAAAMUAAOwFAADsBQAAAQMAAOwGAADsBgAAAQAAAOwHAADsBwAAADoAAOwIAADsCAAAABkAAOwJAADsCQAAABgAAOwKAADsCgAAAEwAAOwLAADsCwAAALEAAOwMAADsDAAAALIAAOwNAADsDQAAAVsAAOwOAADsDgAAAEsAAOwPAADsDwAAAV4AAOwQAADsEAAAAW0AAOwRAADsEQAAAM4AAOwSAADsEgAAAQoAAOwTAADsEwAAAaAAAOwUAADsFAAAAaIAAOwVAADsFQAAAEYAAOwWAADsFgAAAWkAAOwXAADsFwAAAKYAAOwYAADsGAAAAbwAAOwZAADsGQAAADAAAOwaAADsGgAAASMAAOwbAADsGwAAARAAAOwcAADsHAAAAQkAAOwdAADsHQAAAUIAAOweAADsHgAAAFEAAOwfAADsHwAAAO4AAOwgAADsIAAAAUoAAOwhAADsIQAAAWwAAOwiAADsIgAAAIIAAOwjAADsIwAAAH8AAOwkAADsJAAAAXUAAOwlAADsJQAAAWQAAOwmAADsJgAAALYAAOwnAADsJwAAALQAAOwoAADsKAAAALUAAOwpAADsKQAAAb4AAOwqAADsKgAAAb0AAOwrAADsKwAAAEQAAOwsAADsLAAAAVQAAOwtAADsLQAAAVEAAOwuAADsLgAAAFMAAOwvAADsLwAAALoAAOwwAADsMAAAAQIAAOwxAADsMQAAAQEAAPEBAADxAQAAAKwAAAAAAJQA1ADoARQBMgFsAaYB4AIaAi4CQgJWAmoCfgKSAqYCyALeAvwDTgOoA9QEKgSQBOAFLgUuBVwFrgXKBmoHHgdeB+gIBghuCOAJmApMCpIKugrMCxQLJgs4C0oLXAukC74L0AvcC/oMJgxUDLgM7g0CDSoNUg3ADfIOQA56DpQO6g9ED4wPxg/qEHYQohDIESYRYBG0EeoSDhJ8EtoTJBPYE/wUUhR8FIgU+hVOFbgWGBZ6FrAW1BbsFvwXDBcYFywXOhdeF9wX9hgQGF4Yzhj6GQwZRhmQGcAZ2hoCGh4aNBpmGogarBrgGvgbeBuoG84cHBw6HGAcgBykHN4c+h0cHUwdfh2qHcwd9B4gHkgegB7YH1ofjB+mH94gPCB+IOIhPiF2IcgiMCJ4Ir4i/iNkI4YjtCPGI+IkZiSEJKAkvCUKJUglfCWqJhwmjicGJ1InfCf8KCIoqCk8KbgqQCqKKs4rYiuiK9gsDixMLO4taC2MLiYuqC7mLvovQC9kL5Av0C/2MFQwhDDmMSIxUDGWMfYyJjJEMpIyxjLqM1gzrjPqNBo0aDUgNVI1uDYgNnQ2tjbkNvw3FDcyN1o3fjegN7433Df6OBI4MDhIOGY4fjiWONA5DDleOfg6ODpcOr461jryO4g7oDvAO/I8Vjx0PMY88j0gPWY9jD2sPcQ93j4KPjY+XD6MPuw/Bj9cP5I/3kAIQERAfEC8QPBBQEFyQaBB2kH4QjxCZELqQyRDnkPoRMxFBEU2RZxFwEYORnBGyEcER0pHnkgWSGpIvEjSSQJJSEmASZhJwEngSkBKdEr+S1xLvkvwTEBMbEzSTQJNKE2ATZxNqk5kTspO7k9oT+RQKlCaUNJRClFiUZBRwFJQUqpTBlNgU4hTrFPQVChUSFRsVMBVHFVWVZZVvFXwVipWdFbSVwRXIldeV+pYVFjOWTRZlFoKWkJafFrWW0pbkFv8XIRdSl1oXYZedF6mXrxe4l8sX3Jfkl/EYAhgmGC6YPRhNGFYYYRhpmHcYnJipmLSYxhj0GP6ZHpktmUgZUhlgmX4ZjRmeGa6ZvZnPGeIZ+BoBGhOaOZpPms+bPRtIG1EbbBt2G4EbhxuSm6cbspvHG+6b/RwBHAUcCRwNHCUcNRxFHFecaRyFHI+coxzEnOuc950MHRidJ509HU2dYJ1onYUdlh2mnb0dxR3Und+d9h39ni6eSp5zHpEeoh6xAAEAAD//wEsASwAEQAiADQAZAAAJTQuASIOARUUFh8BFjI/AT4BByInNz4EMzIeARcWFwYnJjQ+AjIeAhQOAQcGJy4BFzA9AS4BJyYnNjc2NzYnNi4CIg4CFRQeARcWFwYHDgEHFS4BNTQ+ATIeARUUBgEsKEVSRSgcGQ0mXCYOGByWKSIBAwoOEBUKDx0VBgMCIlgECA0SFhEOCAgOCRMUCA6HBBEMCQsFBAcFCgEBCxQaHRoTCwYICAQFCgkMEQUSFCM8SDwjE5YpRSgoRSkhPBUKGhoKFTxiGAcKEQ4KBQsVDggJGIsJFBINCQgOEhURDgQICAQOWwEBDhgJBwUDBAcIEBQOGhQKChQaDgoTDggEBAQHCRgPARIwGiQ8IyM8JBowAAAAAAIAAAAAARoBGgAaACgAACUWDgEHNCc+ATcuAw4BByYjPgIzMh4CByIOARQeATI+ATQuASMBGQEUIhYDGSIBARAdIx4TAgkKAxglFREfGAyyFycWFicuJxcXJxfFFiUYAgoJAyUaER4SAQ8cEQMVIhQMGB8aFycuJxYWJy4nFgAAAQAAAAABBwEaAAsAACUVIxUjNSM1MzUzFQEHcRNwcBOpE3BwE3BwAAQAAAAAARoBGgANABIAFgAaAAABIwcVFzMVFzM3NTM3NQcjNTMVBzUzFScjFTMBEPQJCQoJzgoJCRzX4c+8JnBwARkJOAqfCQmfCjgvJiaplpZxEwAAAAABAAAAAAESAMwADwAANxcHJzU3FwczJzcXFQcnNzgoDTg4DSi8KA04OA0ogygNOA05DigoDjkNOA0oAAADAAAAAAEHAQcACQAWACMAADcXNTMVNxcHIyc3NC4BIg4BFB4BMj4BJxQOASIuATQ+ATIeAWUoEyYOOA04sB8zPjMeHjM+Mx8TGSwyLBkZLDIsGZQobGomDTc3Dx8zHx8zPjMeHjMfGSwZGSwyLBkZLAAAAAMAAAAAAQcBBwAJABcAJAAANyczNSM3JwcVFzcyHgEUDgIuAj4BFxUiDgEUHgEyPgE0LgGUKGxqJg03Nw8fMx8fMz4zHgEfMx8ZLBkZLDIsGRksZSgTJg44DTiwHzM+Mx4BHzM+Mx8BEhksMiwZGSwyLBkAAwAAAAABBwEHAAkAFgAjAAA3FyMVMwcXNzUnBwYuAj4BMh4BFA4BJzI+ATQuASIOARQeAZgobGomDTc3Dx8zHgEfMz4zHx8zHxksGRksMiwZGSzHKBMmDjgNOK8BHzM+Mx8fMz4zHhIZLDIsGRksMiwZAAADAAAAAAEHAQcACQAWACMAAD8BFTM1FzcnIwcXFA4CLgI+ATIeAQc0LgEiDgEUHgEyPgFlKBMmDjgNOLAfMz4zHgEfMz4zHxMZLDIsGRksMiwZmChsaiYNNzcPHzMeAR8zPjMfHzMfGSwZGSwyLBkZLAAAAAEAAAAAAQQBBwAJAAA3FzM3Jwc1IxUnO14NXg1OE06DXV0OTsTETgABAAAAAAEHAPMACQAANwcVFzcnMzUjN4NdXQ5OxMRO8l4NXg5NE04AAQAAAAABBwDxAAkAAD8BNScHFyMVMwepXl4OTsPDTihdDl0NThJOAAEAAAAAAMkA4QAJAAA3ByMnNxc1MxU3yS8NLw0fEx+KLy8NHmhoHwABAAAAAADRAM8ACQAANyc1NxcHMxUjF3ovLw0faWkfYy8NLw0fEx4AAQAAAAAA0QDPAAkAADcXFQcnNyM1MyeiLy8NHmhoHs4vDS8OHhMfAAEAAAAAAMkA4QAJAAA/ATMXBycVIzUHXi8NLw0fEx+yLy8NH2lpHwACAAAAAAEaARsACQATAAA3JzU3FwczFSMXPwE1JwcXIxUzB088PA0s6eksgTw8DSzp6SwSPA08DSwTLHY8DTwNLBMsAAEAAAAAAQQBBwAJAAAlJyMHFzcVMzUXAQReDV4NThNNqV5eDk7Dw04AAAAAAgAAAAABGgEaAAcADwAAJRUHJxUnFzUXJxUPARUXNQEZQWY6qAFeVhol6KA1JSVLDZABOSUaIUsRYQAAAwAAAAABIgEaABsAJwA2AAAlJy4BByMiBg8BBh4COwEyNj8BFxY7ATI+AgciLwEzNxccAQ4BIzMjNi8BMx4BFRcWDgIjASBLAgoHWAYKAkwCAgUJBTcFCgIMOAUGWAQJBQJrAgJsORQqAgQBV0UCAkxFAgRMAQECAgIs4QUIAQcF4QUJCAMHBiErAwQHCQgBUDR9AQMDAQYH4QECAuEBAwICAAAEAAAAAAEaARoAHQAsADUAPQAANzMmJyM3MzQ3Izc1MxUXNjcnNTM1IxUzFQcGHgI3NjMyHgIVFA4BLgI2FxYXMjcnBhUUNxc2NTQmIyI4XgsISx0bAhMkJgEJCQETcBJJAgEFCHISFw8cFQsZKi0gCRIUERcSD08KGE4LIRgSEwgKOQkJSE5PAwQCAUsTEkuOBQkJBIkNDBUbDxcmEQkgLCpZEAELTg4SGEZPDxIXIQAAAAADAAAAAAEKARoADwAWABoAACUnNTM1IxUzFQcGFjsBMjYnNzUzFRcjBzczFwEESBJwE0oECwq8CguIAiYkbicdgh0ujUsTEkuOChERkAROT0dLOTkAAAAAAwAAAAABGgEbACoAMQA6AAA3BiMVFB8BIzc2PQE0PgIXMzY3JicmDgIdARQPARczFBYyNjUzNycmNQcyNicjFBY3MjY0JiIGFBb0CQoIB7UHCQ0XHw8DBQcGBxQmHRAHCwhCFh8WQgkLB14HDAElC1MXISEuISGYAgQaGRQVGRkpEB4VCgIJBwIBAg0bJBQpFhYhDQ8WFg8NIRYWbQsICAuEIS4hIS4hAAAAAAYAAAAAASoBJgAVACcALgAzADgAQQAAEwYHIgcOAh0BFA8BNzY9ATQ+Ah8BBgcWHwEjBzMUFjI2NTM3JyYHBiImNTMWNyYnNxcPARc3JhcyNjQmIgYUFqIKBwkKDxcNBBwGBxAdJhRVCQoCBgd6EgwWHxZCCQsGUgYPCyUBdQYHCw2ClA2VBzMXISEuISEBGAgKAwUVHhApEREdExYWKRQkGw0CkQMBExIUEw8WFg8NIRFMBgsICN0HBwoNZ5UNlQYBIS4hIS4hAAAAAAQAAAAAASoBJgAVACcALgAyAAATJicmDgIdARQHNzY9ATQ+AhcWFwczJyY9ATcVFB8BByMUBiImJxcyNicjFBYHARcBzxUbFCYdEAcZAQ0XHw8UED1sBwgTBwsJQhYfFQEmBwwBJQt7AQkN/vcBBRAEAg0bJBQpFhUZCQkpEB4VCgIDDKwUGRoWEykWFiENDxYVDxILCAgLCQEJDf73AAADAAAAAAEGARsAGgAhADQAADcmPQE0LgInJg4CHQEUDwEXMxQWMjY1MzcHBiImNTMWJzc2PQE0PgIXFhceAR0BFB8B+wcMGB8SFCYdEAcLCEIWHxZCCWMGDwslAW4HCQ0XHw8eEwkKCAdmFRcmEiEbEQICDRskFCkXFSENDxYWDw0aBgsICBsVGBopEB4VCgIEFgsbDiYaGRQAAAADAAAAAADhAPQADgAWAB4AADc1MzIWFRQGBx4BFRQGIycVMzI2NTQjJzMyNjQmKwFePx8gEA0QEiIeKioSFCUrJxAUEhMmOLwaGA0VBQQYERkdWEQSECIUEB0OAAkAAAAAARoBBwAQABcAHgAiACYAKgAuADIANgAAASMPAS8BIwcVFzMXMzczNzUHLwEjNTMfASMPATU3MwcjFTMVIxUzJzMVIzcjFTMHMxUjFTMVIwEQZwcMDAdnCQljEA4QYwmMBAZdWQ56XgcCDVqWOTk5OTk5Obw4ODg4ODg4AQcDDAwDCrsKEBAKu7gDA6kOmwMCoQ0mEjkSOBM4EhMTExIAAgAAAAAA9AEaAAgADgAAEyMHFRc3Fzc1BycjBzUz6qgKEU1NERNEDkSWARkJ9AZWVgb020tL0gADAAAAAAEaAQcARwBxAH0AADcxIyIOAh0BFA4CBx4DHQEUHgI7ARUjIi4BJzEmJzUmNzU0JzEmJzUmJzEmKwE1MzI+ATcxNj0BJjcxNjcxPgI7ARczNSMiJzEmJzUmJzEmPQE2JzUmJzEuAisBFTMyHgIdARQeAhcjFgciDgEeAj4BNTQmcQIGCgcEAgQHBQUHBAIEBwoGAgIJEA0DAwEBAQICBAMFBQYBAQYKBwICAQEBAwMNEAkClAICBgUFAwQCAgEBAQMDDRAJAQEGCgcEAgQHBQEPFxEcDQYYIh8TIfQECAoGGQYMCwgEBAgLDAYZBgoIBBIGDQgIBwEICBAGBQUDAQMCAxIFBwUFBhAICAgICA0HehIDAgMBAwUFBhAICAEHCAgNBxMECAoGGQYMCwgEAhETHyIYBg0cERchAAQAAAAAARoBBwBHAHEAfgCKAAA3MSMiDgIdARQOAgceAx0BFB4COwEVIyIuAScxJic1Jjc1NCcxJic1JicxJisBNTMyPgE3MTY9ASY3MTY3MT4COwEXMzUjIicxJic1JicxJj0BNic1JicxLgIrARUzMh4CHQEUHgIXIxYHNjMyFhUUDgEuAjYXBycHFwcXNxc3JzdxAgYKBwQCBAcFBQcEAgQHCgYCAgkQDQMDAQEBAgIEAwUFBgEBBgoHAgIBAQEDAw0QCQKUAgIGBQUDBAICAQEBAwMNEAkBAQYKBwQCBAcFAQ82DhEXIRMfIhgGDUIVFQ4WFg4VFQ4WFvQECAoGGQYMCwgEBAgLDAYZBgoIBBIGDQgIBwEICBAGBQUDAQMCAxIFBwUFBhAICAgICA0HehIDAgMBAwUFBhAICAEHCAgNBxMECAoGGQYMCwgEAhoJIRcRHA0GGCIfAhYWDhUVDhYWDhUVAAUAAAAAARoBBwANABEAGwAfACkAACUjNScjBxUjBxUXMzc1JzMVIxcVBzUnIwcVJzUXFSM1BzUXFRczNzU3FQEQQgleCUIJCfQJqEtLlksKOAlLgyZdSwk4CkvhHAoKHAmWCgqWHBMTDioJCgoJKw04ExNLYCsGCQkGKl8AAAAABAAAAAABBwEaACIAPwBbAGQAABM2MzIeARcOAQc1MTY9AT4CJicuAQ4CFhcVFBcVLgI2FwYjFRQGKwEwIzEuAT0BIiY9ATQ2OwEyFh0BFAc3FAcWHQE+AiYnLgEOAhYXNTQ3Jj4CHgEHIxQGIiY0NjIWWBwiHzMeAQEpIQkRFwkHChE2OSgJGhkJHigIG3ICBAUEFAEEBAQFCwgSCAsDGQkGCQsBCwkNJCMaCQsNBgkBFB4eEwEeCxALCxALAQYTHjQeJDoMAQkLAwkgJicQGRUMKzo1DgMMCAELMUA6pwMvBAUBBAQvBQQmCAsLCCYEAlsPDQkKAgkZHBkJDgoKGiQjDQILCQ0fGgkLGRAICwsQCwsAAwAAAAABGgEaAAcACwAPAAATMxcVByMnNRcVMzUnMzUjHPQJCfQJE+Hh4eEBGQnhCQnhQpaWEyYAAAAAAwAAAAABGAEaADEAOQBJAAA3NTQmIgYdASMnBxcHBh0BIxU7ARYfAQcXNxceATI2PwEXNyc1NjcxMzUjNTYvATcnByM1NDYyFh0BFxUWFRQOAiIuAjU0NzXMIC0gEB8LHgEJJigBBA0BJQsjAgwfIh8MASQLJQ4FKScBCgEeCx9tFyAXHQkNFhsdHBYMCNgLFiAgFgsfCx4BGhsMEBsVASULIwEOEA8OASQLJgEWGxAMGxoBHgsfCxAXFxALEAEWGRcnHA8PHCcXGRYBAAAAABEAAAAAARoBGgAPABMAFwAbAB8AIwAnACsALwAzADcAOwA/AEMARwBLAE8AAAEjNSMVIzUjFSMHFRczNzUHIzUzNSM1MwcjFTMHMxUjFyMVMzczFSMXIxUzBzMVIzcjFTMXMxUjFyMVMwczFSM3IxUzFzMVIxcjFTMnMxUjARAcE5YTHAkJ9AkS4eHh4bwTExMTExMTEyYSEhISEhISEhISEiYTExMTExMTExMTEyUTExMTExMTEwEHEhISEgrhCQnh16gTE14TEhMTE14TEhMTE4QTExMSExMThBMTExITXhMAAAMAAAAAARoBGgA9AHkAggAANy4BDgEPAgYmLwEmJy4CPwI+AjU0Jy4DIyIPAQ4CFRQeBjMyPgE/ATY1NCYvASYvASYHBiciJicmJy4DNSY+AT8BNjMyHwEWHwEWFA8BDgIUFh8BFjMyNzY/AT4BMh8CFh8BFhUUDwEOATcHMxUjNTMVN+sFCwoHAwYFAwgCKQsLBAYBAwQHAwYDCAULDA0IDAgOBQkDChEYHCAiIRAKEQ0GDggDAwcEBA8EDQcIDh4OHxoNFhAJAQQGBQsDBAIEBwoHBgMCCwQFBAQFRQkMBQUJBgYCBgUEBwkFAwYDBAoFCi9XPl4TV30CAQUFBAYEAwEDJwsMBQgFAwUGAwcJBgwJBQwLCAgOBg0RCg8iISAcGREKBAgFDggMBQoECAQEDgRUAgEJBxIaDRweHg8HDgkFCgQDBggJBwQFAwsDBwoLCgVFCQIEBwYDBAMGCAQFCAMCBAMLBAfjVxNePlcAAwAAAAABGgEaAAgARACAAAA/ASM1MxUjNQcXMh8DHgEVFA8BDgIjIi4GNTQ+AT8BNjMyHgIXFhUUDgEPAgYUFhcWHwEeAT8CPgIHMj4BPwE2JzYvASYvAiYiBg8BDgIjIi8BLgE0PgI/ATY0LwQmIyIPAQ4CBx4DFxYXHgGiVz1dElgxDAkPCAcDAwgOBQ4RChAiISAcGBEKAwgGDggMBw4NCgUIAwYDBwQCBgQLCykCCAMFBgMICQYJDAoFCgQBAQMGAwUJBwQFBgIGAwcKBQwJRQUEBAUHAwUCAwYICQcEAgQDCwQHAwEBCRAWDRofDh6vWBJdPVcjCA4ICAQKBQwIDgUIBAoSGBwgISEQCxANBg4ICAsNBAkMBQkIAwYFAwUIBQwLJwMBAwQGBAUFWgMGBQsDBAIDCAUECAYDBAMGBAUECUUECwwJBwYDBQMFBAcJCAYDBAoECw0HDh8eHA0aEQgJAAAABAAAAAABAgDhAAcADwAkAC8AADcjJyMHIzczFycmJyMGDwEXIzUxBiMiJjU0PwE0IyIHNTYzMhUPAQ4BFRQWMzI2NaYTDz0PEjcREBYBAQEBARe2EQsVDxIiHxUSDw8UJBEYDAwLCQwQUSgokFk+AwYGAz43EBMQDh0FBBoMEAomDwQBCAsHChENAAAEAAAAAAElAPQABgAKAAwAEwAAJQcjJzcXNwc3Jw8BFwcXByMnNxcBJZIOOg40i5BSDVASCikLDw46DjTprVMKSaRtYgteFg8VDxFTCkkAAAEAAAAAAQ8A+gAGAAAlBy8BNxc3AQ+fDz8POJfuvAFZC0+yAAgAAAAAARoBBwAGAAoADgASABYAHQAkACsAADcjJzcXNx8BMxUjFTMVIxcjFTMHMxUjJzM3JwcnBxcjJzcXNxcHMzcnBycHRg0TDQ0aDhuWlpaWlpaWlpaWSg0iDhoNDSANEw0NGg4vDSIOGg0N2BQNDRsOBRMlEyYSJhNoIQ0aDQ5MFA0NGw1aIQ0aDQ0AAAEAAAAAAPMAwQAGAAA/ARcHIyc3llEMWAtYDG9SDFdXDAAAAAEAAAAAAMEA9AAGAAA3FwcnNTcXb1IMV1cMllEMWAtYDAAAAAEAAAAAAM8A8wAGAAA3JzcXFQcnvVIMV1cMllEMWAtYDAAAAAEAAAAAAPQAzwAGAAA3Byc3MxcHllEMWAtYDL1SDFdXDAAAAAIAAAAAAQcBGgA3ADsAABMzFTM1MxUzNTMVMxcVMxUjFTMVIxUzFSMVByMVIzUjFSM1IxUjNSMnNSM1MzUjNTM1IzUzNTczBzM1I14TEhMTExITJiYmJiYmExITExMSExMTJSUlJSUlExMTg4MBGSUlJSUlExMSExMTEhMTJSUlJSUlExMSExMTEhMTloMAAAEAAAAAAP0A/QALAAA3Bxc3FzcnNycHJweFVRFVVRFVVRFVVRGWVRFVVRFVVRFVVREAAAACAAAAAAD0APQAAwAHAAA3FTM1ByM1Mzi8E5aW9Ly8qZYAAAABAAAAAAEHAJYAAwAAJRUjNQEHz5YTEwADAAAAAAEHAPQAAwAHABEAADcVMzUHIzUzJzM1MxUjFTM1IzipE4ODcBODEyapzqioloQSE4MTqQAAAAABAAAAAADiAOIAGQAANzIXHgEXFhQHDgEHBiInLgEnJjQ2NzY3PgGWCgoTHAUDAwUcEwoUChMcBQMFBQoRCRPhAwUcEwoUChMcBQMDBRwTChQTCREKBQUAAQAAAAABGgEaABoAABMyFx4BFxYUBgcGBw4BIi4ENDY3Njc+AZYSESExCgQJCREeDyEkIR4YEQkJCREeDyEBGQQKMSERJCEPHhEJCQkRGB4hJCEPHhEJCQAAAAACAAAAAAEaARoAKgBEAAATJiIHMQYHBgcxDgEWFxYXHgI+ATcxNjc2NzE2JicxJicxJicxJicxJicXBgcOASIuBDQ2NzY3PgEyFx4BFxYUBrQPHg8ODRkPCAgBAwgVCxkdHxwNGQ8IAwUBBAMIBwsKDA0OUxEeDyEkIR4YEQkJCREeDyEkESExCgQJAQIFBQMIDxkNHR8OHBYKDwgBBwgPGQ0ODx8ODg0MCgsHCAOuHhEJCQkRGB4hJCEPHhEJCQQKMSERJCEAAAMAAAAAARoBGgAMABYAHwAAEzIeARQOASIuATQ+AQcUFhc3LgEOARUzNCYnBx4BPgGWJDwjIzxIPCMjPEwNDZ8ZQjsk4g4NnxlCOyQBGSM8SDwjIzxIPCODFCUQnxUJHDchFCUQnxUJHDcAAAEAAAAAALwAvAAIAAA3FAYuATQ2Mha8FiAVFSAWlhAWARUgFhYAAAACAAAAAAC8ALwACgAXAAA3DgEuAj4BMhYUFzY1NCYjIg4BHgI2pgQKCwgCBAkOCwwHFhALEwkEERYVjAUEAggLCgcLDg8KCxAWDRUWEQQJAAMAAAAAAOEA4gAMABUAFgAANzI+ATQuASIOARQeATcUBiImNDYyFieWFCMUFCMoIxQUI0UdKB0dKB0xSxQjKCMUFCMoIxRLFB0dKB0dIAAABQAAAAABGgEaAAcANAA9AEYATwAAASMHFRczNzUHIzUzHgEzMjY0JiIGFSMVIzUzFQ4BFRQWMjY1MxQWMjY0JiMiBgcjLgEjNTMHNDYyFhQGIiYnMhYUBiImNDYzMhYUBiImNDYBEPQJCfQJEqkrBBIKDxYWHxY4JSUICxYfFiYWHxYWEAoRBTAFEQqpcQoRCwsRCjgICwsRCgp5CQoKEQoKARkJ9AkJ9OolCAsWHxYWDzjhLAQSCRAWFhAQFhYfFgoJCQomqQgLCxEKCnkKEQoKEQoKEQoKEQoAAAUAAAAAARoA9AALAA8AEwAYABwAADcXNxc3JzcnBycHFychNSEVITUhFzUjFTMVNSMVvA0eHg8gIA8eHg0exwEG/voBBv76lpaWlkANHh4NHh4PICAPHoMTSxNCCRI5ExMAAAAEAAAAAAEWARoAFgAiACwANgAANyM1MxUzNScjNSM0JiIGFSMVIwcVFzM1PgIeARQOAS4CFwc1IxUnBxczNyczFwcnFSM1ByeDOJYTChwSFiAVFBsKCkEBCQsKBwUKCwgFhhQTFA4lDSR8DSUOFBMUDSaoJS8JEw8WFg8TCbwJ5QUJAgQKCgoFAQYKrBRkZBQNJCRbJA0UZGQUDQAEAAAAAAEHAQcACwAZACAAJAAANycHJwcXBxc3FzcvATczFxUHIxUHIyc1NzsCFxUzNSMXIxUzog4aGw0bGw0bGg4bKRODExMmEoQSEiYTSxImg0uEhJQOGxsOGhsNGxsNG3oTE4MTJhIShBISS4M4hAAAAAEAAAAAAOgA6AALAAA3FzcnNycHJwcXBxeWRA5FRQ5ERA5FRQ6JRQ5ERA5FRQ5ERA4AAAACAAAAAAEaAPYALwA5AAA3Mx4BFAYjNTI2NCYnIycuAgYPAScmJyIHDgEeATsBFSMiJicuAT4BNzYXPgEeAQcXNTMVNxcHIyfgARchIRcPFRUPEQICFx8bBgYQBQUUDQoGCxgOCQkOGgkMBwsbEQ4OCSYrH18YExgNKA0ovAEgLyETFh4WARAPFgUQDg4DAQEOChwaEBMLCw0jIhcDAwQUFgYfdhhmZRcNKCgAAgAAAAABGgD2ADIAPAAANzMeARQGKwE1MzI2NCYnIycuAgYPAScmJwYHDgEeATsBFSMiJicuATc+Ahc+AR4BFwcnFSM1Byc3MxfgARchIRclJQ8VFQ8RAgIXHxsGBhAFBRQNCgYLGA4vLw4aCQ8ECwcXHA4JJisfAx8ZEhgNKA0ovAEgLyETFh4WARAPFgUQDg4DAQEBDQocGhATCwsQKxIMEQUEFBYGHxZIGWZlGA4oKAAAAgAAAAABGgD2ABUALgAANzMeARQGKwEiJicuAT4BNzYXPgEeAQczMjY0JisBJy4CBg8BJyYnIgcOAR4BM+ABFyEhF4wOGgkMBwsbEQ4OCSYrH3+DEBYWEBECAhcfGwYGEAUFFA0KBgsYDrwBIC8hCwsNIyIXAwMEFBYGH3MWHxYQDxYFEA4OAwEBDgocGhAABwAAAAABGgEaAAMABwALAA8AEwAXACcAABMzFSM3MxUjFzMVIxUzFSMVMxUjBzMVIycHFTM1MxUjNSMVFzM3NSdeExMlS0smS0tLS0tLJktLXRMT4eETE+ESEgEHz7wTExITExMSExPOEl5ez3FxEhLPEgADAAAAAAEUAPQABgANABEAADcHFwcnNTczBxcHFzc1Bxc3J1gxMQ04OJEOMjIOOLgRXhHDMTINOA05DjEyDTgNYAi7CQAAAAAGAAAAAAEsARoAFQArAEEAUwBdAGUAABMVFBYXMxYXFh0BIzU0Ji8BJicmPQEzFQYWFzMWFxYdASM1NCYnNSYnJj0BMxUUFhcxFhcWHQEjNTQmLwEmJyY9AQc3MzIWFAYrAQ4BKwEiLgE9ARc1IxUUFjsBMjY3FTMWNjQmIzgHCAEKBAgTBwgBCgQITAEHCAEKBAgTBgkKBQdLBgkKBQcSBwgBCgQIcBLFFBsbFAwGKBo4FSIVvKkhFzkXIRMJDBAQDAEZCQYIBwgFCgwKCgYIBgEHBgoMCQkGCAcIBQoMCgoGCAYBBwYKDAkJBggHCAUKDAoKBggGAQcGCgwJcBMcJxsZHxQiFDk4ODgYISFQOAERFxEAAAAABAAAAAABBwEHAAMAEQAYABwAADcjFTMnNzMXFQcjFQcjJzU3OwIXFTM1IxcjFTOpXl5LE4MTEyYShBISJhNLEiaDS4SEgxKDExODEyYSEoQSEkuDOIQAAAIAAAAAARoBGgAMABQAABMiDgEUHgEyPgE0LgEHNTIeARQOAZYkPCMjPEg8IyM8JB8zHx8zARkjPEg8IyM8SDwj8+EfMz4zHgAAAAAKAAAAAAEsARoABwALABMAFwAfACMAKwAvADMAPQAAEwcVFzM3NScHNTMVDwEVFzM3NScHNTMVBzczFxUHIyc3FTM1NwcVFzM3NScHIzUzFSM1MycjFTMHFzc1JwccCQk4CgouJS8JCTgKCi4lOAk4Cgo4CRMlnwkJOQkJCiUlJSVuOjoTDSIiDQEZCTgKCjgJOCYmJQo4CQk4CjkmJi8KCjgJCS8lJYMJcQkJcQk4Jl4lExMSDCINIg0AAAMAAAAAARoBGgASAB4AJwAAPwEVByc1Iyc1NzMXFSM1IxUzHwI3NTM3NScjBxUXNyM1MxUjBxUnSxMWEBwJCeEKE84cCXYjEBwJCZYJCUtChB0JFlgTGxUHLwmWCQlUS4QJQiIGHApdCgpdChNLSwkPFQAACgAAAAABGgEHAAYACgAOABQAGAAjACcALQAxADgAAAEjFTMVMzUnMxUjJzMVIxcdATM3NQc1IxUnIw8BNScjFRc3Mzc1IxUHNSMVFzM9ASMVNxUjNTczFQEQHBMScCUlSyUlqQkJOCUmCQcoCgkQNgWDEuETCQoTExMJHAEGEhMcCRISEoQSEwkcJRMTEwMoIQpCBzZLJSU4EhwJSyUlXhMcCRIAAAAAAgAAAAABGgEHABcAIwAAEzMXFSYnNSMVMxcVPwEzBhUjByc1Iyc1FyIOAR4CPgE1NCYc9AkICuEuCigHCwIFNhAvCc4RHA0GGCIfEyEBBwqACQZolgohKAMJCjYHLwmpehMfIhgGDRwRFyEAAgAAAAABGgEHAAsAFAAAASMHFRczFRc3Mzc1ByMPATUnIzUzARD0CQkvEDZ/CRJ6BygKLuEBBwqpCS8HNgmpnwMoIQqWAAAABQAA//0BLQEaACwAMgA2AEMASgAANwYjNSMVLgInMzUjPgI3FTM1HgIXIxUzBxYXNjU0LgEiDgEUHgEzMjcmNy8BHwEGLwIfATYXMhYVFA4BLgI2FzcnBycHF6sGBhIbLhwCEhICHS0bEhsuHAISEgEJCAMjPEg8IyM8JA4NBA03JkwbBg0SJBJHDxEXIRMfIhgHDS4iDxwQDBgnARISAh0tGxMbLRwCEhICHC4bEgwCBA0OJDwjIzxIPCMDCEobTCY3BA0kEiQmCgEgGBEcDQYZISA/LQslDg8TAAQAAAAAASwBGgAsADIANgA/AAA3BiM1IxUuAiczNSM+AjcVMzUeAhcjFTMHFhc2NTQuASIOARQeATMyNyY3LwEfAQYvAh8BFBYyNjQmIgarBgYSGy4cAhISAh0tGxIbLhwCEhIBCQgDIzxIPCMjPCQODQQNNyZMGwYNEiQSLyAvISEvICcBEhICHS0bExstHAISEgIcLhsSDAIEDQ4kPCMjPEg8IwMIShtMJjcEDSQSJFUXISEvISEAAAAABAAAAAABGgEaAAMABwAjADAAADcXLwEXLwEXMw4CBzUjFS4CJzM1Iz4CNxUzNR4CFyMVBzI+ATQuASIOARQeAakmTCZUEiQSeQIcLhsSGy4cAhISAh0tGxIbLhwCEl4kPCMjPEg8IyM8qUwmTFQkEiQbLhwCEhICHS0bExstHAISEgIcLhsSeiM8SDwjIzxIPCMAAAb//wAAASwBCwAMABgATgBnAHEAewAANzIWHQEUBiImPQE0Nhc0JiIGHQEUFjI2NScWFzc2FxYXFhUUBxczHgEdARQHDgEPAQYHBgcGIicmJyYvAS4BJyY9ATQ2NzM3JjU0NzY3Ng8BFRcWFxYyNzY/ATUnBiMiJyYnBgcGIyI3Jg4BFBYyNjc2NwYXHgEyNjQuAXUGCAgMCAhWCAwICAwIMgIBAxEmIxANBQMBDg8DAgcHCwYHDA0pUikNDAcGCwcHAgMPDgEDBQ0QIyZJAQEKDCRGJAwKAQEMFCESBgQEBhIhFDoIMA8MKhMCAycHAwITKgwPMHEJBhwGCAgGHAYJDwYJCQYcBggIBrIBAgMTBQQTER4TDBAHGQ4YBQYDCQUIBQQHBRISBQcEBQgFCQMGBRgOGQcQDBMeERMEBYICUAEGBQ8PBQYBUAIGEwYICAYTYggFEygOFBQWCAgWFBQOKBMFAAAAAAMAAAAAAQcBGgAHAAwAEwAAPwEzFxUHIyc3JyMVMycHFRc1MydLE2VEE5YTqThelrwSEnkT4RNDixMTgzi78xK8E88SAAAAAAQAAAAAAQcA9AAGABsAKAA2AAA3DwEnNxc3Fz4BNTQuASMiByYjNjMyHgEUBgc2ByIuATQ+Ah4CDgEHMj4BNC4BIg4BFB4BF6cvDhwNFShJCQoSHhINDA0PFx4XJxcZFAVlEh4SEh4kHhEBEh4SFycWFicuJxYWJxeQOAEcDhUwKwkYDRIeEgUFExcnLigLDisSHiQeEQESHiQeEhIWJy4nFhYnLicWAQAAAAAEAAAAAAEaAOIAAwAHABcAGwAAJRUjNRUzFSM3IyIGHQEUFjsBMjY9ATQmBzMVIwEH4eHh4eEICwsI4QcLC0AmJs4SEiVelgsIgwgLCwiDCAtwEwABAAAAAADPAJYAAwAANzMVI15wcJYTAAAGAAAAAAEJARwADAAcACgAMAA6AEgAABM+AR4CDgIuAjYXFjMyPgE1NC4CDgIeATcXBxYOAS4CPgEXBxY2NCYOARY3BxYVFAcXPgEvASYjIg4BFBcHJj4CF0kbQTskBB02QTolBBwmGiAcLxwWJTAuJBMDGIINKAQFERQPAgwUChIFCgcIBAFUDwUJDgwDCjQLDBIeEgkNEAMmOBoBBRIEHTZBOyQEHDdBOqgSHC8cGSoeCQwgLS8qig0pCRQMAg4VEQUEIQMECwUBBwcrDgsNEg8OEy4UFwUSHiQPDhg5KwwNAAADAAAAAAD0ARoAEwAkADUAADc0LgEiDgEVFyMVFx4BMjY/ATUjJzIXHgEUBgcGIicuATQ2NzYXBw4BBwYiJy4BLwE1FjcWN/QZLDIsGQEBAQQ1SDUEAQFdFRMQExMQEyoTEBMTEBNgAQETDxIqEg8TAQEjKCgj6g0WDAwWDQKmBxEXFxEHph4FBA4KDQQFBQQNCg4EBcQDBQwEBQUEDAUDjBQBARUAAAAFAAAAAAEoAQcAJQAsADUAPwBGAAA3By4BIgYHJwcXBxUjFTMVFhcHFzceATI2Nxc3JzY3NTM1IzUnNycyFhUjNDYXDgEHLgEnNTMnBxUzNRcHFTc1BzU3JzUXFYkRBBkgGQQRDRYDExMBBBgNFQcWGBYHFQ0YBAETEwMWSwwQOBAyAhUPDxUBSyoPE44wR0dpj6WDEA8UFA8QDRYCExMBCQkYDRUKCwsKFQ0YCQoBEhMCFg0QDAwQSw8VAQEVDxyzCFZEXyAXLxBkFkZfF24QAAAAAAQAAAAAARYBBwAlACwANQA/AAA3By4BIgYHJwcXBxUjFTMVFhcHFzceATI2Nxc3JzY3NTM1IzUnNycyFhUjNDYXDgEHLgEnNTMnNxcVBzU3JxUjiREEGSAZBBENFgMTEwEEGA0VBxYYFgcVDRgEARMTAxZLDBA4EDICFQ8PFQFLEw6pbFaOE4MQDxQUDxANFgITEwEJCRgNFQoLCwoVDRgJCgESEwIWDRAMDBBLDxUBARUPHKsIcRBIFzlfRAAAAAQAAAAAASkBLAAlACwANQBAAAA3By4BIgYHJwcXBxUjFTMVFhcHFzceATI2Nxc3JzY3NTM1IzUnNycyFhUjNDYXDgEHLgEnNTM3FQc1NycVJic1N4kRBBkgGQQRDRYDExMBBBgNFQcWGBYHFQ0YBAETEwIVSwwQOBAyAhUPDxUBS7iAaqIJCg6DEA8UFA8QDRUDExMBCQkYDRUKCwsKFQ0ZCAoBEhMDFQ0QDAwQSw8VAQEVDxxgEFEWQ2d2BgN+CAAAAAAEAAAAAADjAOMADAAYABwAIAAANz4BHgIOAi4CNhceAT4CJicmDgEWNyMVMxUjFTNsESgkFwISISgkFgMSHQwcGQ8CDQsSKRgISjg4ODjUDAIRIigkFwISISgkXggCDBccGQgLCCMqOxMSEwADAAAAAADhAOIADAAQABQAADciDgEUHgEyPgE0LgEXFSM1NxUjNZYUIxQUIygjFBQjEktLS+EUIygjFBQjKCMUXhISORMTAAACAAAAAADmAOEABQALAAA3IwcXMzcHIyc3Mxe6ViwsViw6Oh4eOh3hS0tLMzMzMwABAAAAAADmAOEABQAANwcjJzcz5StWLCxWlktLSwAAAAIAAAAAAOEA4QACAAUAADczJwczJ0uWSyNGI16DbD0AAQAAAAAA4QDhAAIAADcXI5ZLluGBAAAAAgAAAAAA9AD0AAMABwAAPwEXBzU3Jwc5XV1dNDQ0ll5eXSk0NTUAAAEAAAAAAPQA9AADAAA3Fwcnll5eXvReXl4AAAADAAAAAADjAOMADAAQABQAADc+AS4CDgIeAjYnIxUzJzUzFdQMAhEiKCQXAhEiKCQnFxcXF2wRKCQXAhEiKCQXAhEWEyVLSwAFAAAAAAEcARwAFQAeAEQATABWAAATNzMfAhUPASsBNTQnMzUjFSYjPQEXByYvATcnNxcHNxcHFxUzFSMVBgcXBycOASImJwcnNyYnNSM1MzU3JzcXPgEyFgcuAQ4BFTM0BzY3NSMVHgEXNlgCsQEPAQEPAVwHYKwJCoYjAgIGHC0KNFcRDRUCExMBBBgNFQcWGBYHFQ0YBAETEwMWDREEGSAZFQYREAk4AgoBSgEVDw8BGwEBDwGxAg8CCgesWwJcAWcjAwMFHC4KMzsQDRUDExIBCgkYDRUKCwsKFQ0ZCAkBExMDFQ0QDxQUBwYDBg4JDFQKDxwcDxUBAQADAAAAAAEMAQcAAwAJAAwAABMjFTM3BxUXNzUPATVLExM+Dw+DFmkBB+HVB7wHXRAITJgAAwAAAAABDwEHAAMACQAMAAATMxUjNwcVFzc1DwE1LxwcXBYWhCFdAQfh2Qu8C14WC0KEAAMAAAAAARYBBwAJAC4AOAAAPwEXFQc1NycVIxcOAR0BFA4CKwEiLgI9ATQuAjU0PgQyHgQVFAYHIxUUFjsBMjY1Xg6pbFaOExUFBgIDBQMQAwUDAgYLBwMGCAoMDAwKCAYEBxwWAgEQAQL/CHEQSBc5X0RgBQ0HEAMFAwICAwUDEAcNCxAKBgsLCAYDAwYICwsGChAZFgECAgEAAAQAAAAAAREBGgARAB8ANwBEAAA3Jic3JwcmJyYHBg8BFzc2NzYHBg8BJzc2NzYXHgEXFgc3JwcnNycHJwcOARQWFwcXNx4BMjY/AQcGIi4CNTQ/ARcHBv8DBRkLGgcJFBQLCB1RHQkECBcDBhI6EgYHEBAHCwQGYRwMGyMcDBwLHQkIBQYZCxoHEhUVCB02CBAPDAYMEjoSBuQJBxoLGQYCBwgECR1RHQgLFA4HBhI6EgYDBgYECwcQbh0MHSMdDB0LHQgVFREIGQwZBQYJCB0aBAcLDwgRDBI6EgUAAAAABgAAAAABGgEAAAMABwALAA8AFQAYAAA3NTMVJzMVIzcVIzUdATM1JTcXFQcnNxU3cahdXV1dqKj++g5lZQ4TSnESEksTSxMTqRMTrQdDD0QIdWMxAAAAAAIAAAAAANgA9AADAAcAADczFSM3FSM1VB0dhBz0vLy8vAAAAAIAAP/9ARYBBwAaACQAADcUDgEmJwceAT4CLgEGBzUjFRczNSM+AR4BJzcXFQc1NycVI4YZJyMIEgotMiMHGi8xDxMJLBgKIyUXKA6pWUOOE0sUHwgSEgcXGQclMiwTDRQXMgoTEQ4KHqEIcRA7Fi1fRAAABQAAAAABHAD0AAQACQAOABIALQAANzUzBgc3NjcjFRcmJyMVJRUhNRcyPgEuAQYHMxUjJzUzFT4BHgEOAiYnNx4BE2ECARcJC4lpBQNhAQb++scSGgYRISAJFCUIEA0qJxYGHiolCQ8GF3ESCQk4CggScQkKE7wTE7wWIh4MDA8QCCoTEQsRJCseBxUUBg0PAAAAAAEAAAAAAQwBDQAdAAA3FA4BJicHHgI+AjU0LgEGBzUjFRczNSM+AR4B7yY6NQwaCigyMykXKkRFFhwOQSMONTcjlh4uDRscCxghDQogLxokOxcVHCJLDhwZFg8tAAAAAAMAAAAAAP4BBwADAAkADAAAEyMVMycXFQcnNR8BNf0cHFwWFoQhXQEH4dkLvAteFgtChAADAAAAAAEQAQcACAASABcAADcUBi4BNDYyFjMvASMHFRczPwEHIzUzF7wWIBUVIBZUUBFfGBhfEVBhX19PlhAWARUgFhZZCBiyFwhZSrJZAAIAAAAAARABBwAJAA4AACUvASMHFRczPwEHIzUzFwEQUBFfGBhfEVBhX19PplkIGLIXCFlKslkAAgAAAAAA/AEAAAUACAAAPwEXFQcnNxU3UBaWlhYcbvQLZBdkDK2TSgAAAAACAAAAAAEMAQwAFwAgAAA3NTMVPgEzMh4BHwEjNS4CIgYHMxUjJxciJjQ2MhYUBiEcEDAbHTQgAgEdAhgnLikLNU4SdRAVFSAWFsBLLxMWGy4cBQQUIhQWExwSkBUgFhYgFQAAAgAAAAAA6gEaAAoAEwAANzM3Jwc1IxUnBx8BFAYiJjQ2MhaWCkkUMRwxFEkvFh8WFh8WeUkUMXR0MRRJQRAVFSAWFgACAAAAAADqARoACgATAAATIwcXNxUzNRc3JxcUBiImNDYyFpYKSRQxHDEUSRsWHxYWHxYBGUkUMXR0MRRJ4RAVFSAWFgAAAAACAAAAAAEMAQwAFwAhAAAlNSMVLgEjIg4BDwEzNT4CMhYXIxUzNwcyNjQuAQYUFjMBCxwQMBsdNCACAR0CGCcuKQs1ThJ1EBYWIBUVEMBLLxMWGy4cBQQUIhQWExwSkBUgFQEWIBYAAAIAAAAAAQcBBwAHAAsAABMXFQcjJzU3FyMVM/QTE7wSEreysgEHE7wSErwTGLIAAAUAAAAAASsBLAABAA0AQQBJAFkAADc1Fyc3FzcXBxcHJwcnNxUzNxcHFRYVBzMVIzEGDwEXBycHDgEiJi8BByc3JyYnKwE1MzU0NzUnNxczNTQ+ATIeAQcVMzU0JiIGFzUjBwYVFB4CMj4CNTQrWyYNKCcNJiYNKCcNdBAkDSIMASwuBg8BKw0pAQ4kJiQOASkMKgEPBQEuLAsjDSQSEB0iHRFrWRolGnqbAQkOGR8iHxkPiwEJJgwoKA0mJg0pKA2QDCQNIgEeHw4SHxkBKwwpAg8SEhACKAwqARkeEg4gHAEjDSQMER0RER0RDAwTGhoyAQEaHBktIRERIS0ZHQACAAAAAAEaAQcAFAAeAAA3NTI2NzY1Iyc1NzMXFSc1IxUzBxczNycHNSMVJwcXSxERAgJVCQn0CRLhawkuKC8NHxMeDi8TEwUFAwUKuwoKrRORqQkvLw0feXkfDS8AAAADAAAAAAEaAOEADQARABUAACUHNScjBxUXMzc1Fzc1ByM1MxcnNTcBCz0JqQkJqQk9Dl2Wlks5OdMjKAkJhAkJJiMJa21wXR8KIgAABQAAAAABGgEHAA0AFwAgACkAMgAANzMXFQcjJzU3Mz8BMxcHMzUjLwEjDwEjFyIGFBY+ATQmFzIWFAYuATQ2NyIGFBYyNjQmyUcJCfQJCUcQBzgHk+FCBxAwEAdBHAQGBggFBVAQFhYgFRUQFyEhLiEh9AqoCgqoChADA7mWAxAQAxMFCAYBBQgFEhYgFgEVIBYSIS4hIS4hAAAAAwAAAAAA9AEaAAcACwAPAAATMxcVByMnNRczNSMXMxUjVJYKCpYJE4ODLyUlARkJ9AkJ9OrhvBMAAAAAAwAAAAABBwEaAAcACwAXAAATMxcVByMnNRczNSMXIxUjFTMVMzUzNSMc4QoK4QkTzs5wEzg4Ezg4ARkJ4QkJ4djPJjgTODgTAAAAAAMAAAAAARoBGgAHAAsAEQAAEzMXFQcjJzUXMzUjFzMVByM1HPQJCfQJE+HhliVwJgEZCfQJCfTq4SYlcSYAAAADAAAAAAEaARoABwALABQAABMzFxUHIyc1FxUzNQcyNjQmIgYUFhz0CQn0CRPhcRchIS4hIQEZCfQJCfQJ4eGpIS4hIS4hAAAFAAAAAAEaARoACQAOABoAHgAlAAATHwEVByMnNTczBzM1JyMXIxUzFTM1MzUjNSMHMxUjNx8BFQcvAbY4BhOpExNxcak4cUslJRMmJhMlXl6LKwUSATgBFDgOqBMT4RLzqDlLEyYmEyWDE84rDbsTzjgAAAMAAAAAAQcBGgADAAsADwAANxUjNSczFxUHIyc1FzM1I7xeQuEKCuEJE87OqRMTcAnhCQnh2M8AAwAAAAABGgEaAAcACwASAAATMxcVByMnNRczNSMXMxU3JxUjHPQJCfQJE+HhJTheXjgBGQn0CQn06uGEOEtLOAAAAAAEAAAAAAEHARoACQAOABoAHgAAEx8BFQcjJzU3MwczNScjFyMVMxUzNTM1IzUjBzMVI8k4BRKpExNwcKk5cEslJRMlJRMlXV0BFDgOqBMT4RLzqDlLEyYmEyWDEwAAAAAGAAAAAAEaAPQABwALAA8AFwAbAB8AAD8BMxcVByMnNzM1IzUzNSM3MxcVByMnNRczNSM1MzUjJgleCQleCRJLS0tLel4JCV4JE0tLS0vqCgqoCgoJcRITEwqoCgqonyYlSwAAAQAAAAAA9wEKABkAABMVFzM1Izc+AR4CBg8BFzc+AS4CBg8BNUIJQjASDSIjGQoKDWENYhAMDCEsLBAOAQdCCRISDQkJGSMjDGINYREsLCELCxENJwAAAAMAAAAAARoBGgAJAAwAEAAAEyMPAhc/AjUHNxc3JzcX+BubAywaTQWa7B0bECGWIQEZmgVNGiwDmxvLOBsKIZYhAAAAAwAAAAABGgEaAA0AEQAYAAAlJyM1JyMHFRczFRczNyc1MxUXIzUzNzUzARkJjQleCQkvCbwJ80uWqRwJhLIKVAkJlwhVCQlncXFdSwgdAAADAAAAAAEHAKkACAARABoAADcUBiImNDYyFhcUBiImNDYyFhcUBiImNDYyFksLEAoKEAteCxALCxALXgsQCwsQC5YICwsQCwsICAsLEAsLCAgLCxALCwAAAgAAAAABGgEaAAsAHAAANzMVIxUjNSM1MzUzBzUzFTM1IzUzNSM1MxcVByNLODgTODgTOBPhcXFxegkJ9OETODgTOP1nXYMTJRMKzgkAAAADAAAAAADiAOEACwAYACEAADcnByc3JzcXNxcHFzcUDgEiLgE0PgEyHgEHNCYiBhQWMjasFhYRFhYRFhYRFhYkFCMoIxQUIygjFBMhLiEhLiFvFhYRFhYRFhYRFhYWFCMUFCMoIxQUIxQXISEuISEAAwAAAAABFgEbABUAKAA0AAATHgEXFhUUBw4BBwYnLgM3Njc+ARc2NzYnNCYnJicmBgcOARYXHgEnNxcHFwcnByc3JzehFikQJh4PJhYwJxQeEAMHDyYSKyEmGRkCEQ8dJhMmDyAXISIQJgQtDS0tDS0tDS0tDQEZARQQKTcrJxIXBAkWCyIqLhUuGQwM9AkfIiUXKhAdAwEJCxhOSBMKBnwvDS8vDS8vDS8vDQAAAAAEAAAAAAEdARoALwBDAFAAVAAAEyMHJwcXBxUXBxc3FzMmJyMvAQcnNy8BNT8BJzcXPwEzHwE3FwcfARUWFzUnNycPATIWFwYHLgEOAhYXBgcuAT4BHwE+AR4CDgIuAjYXFTM1sDQKJiYaLS0aJiYKJwoIBgkOJg8ZBiwsBhkPJg4JFgkOJg8ZBiwLCC0aJiYkDBMECQgBCw4KAQgHBgMNDQQVDhgOIyEXBQ0cIiAWBgwIXgEZLRomJgo0CiYmGi0ICywGGQ8mDgkWCQ4mDxkGLCwGGQ8mDgkGCAonCiYmGjAOCwMGBwgBCg4LAQgJBRcbEgE0DAYMHCMhFgUMGyIhHhMTAAUAAAAAAQcBBwADAAcAFQAcACAAADcjFTMHNSMVJzczFxUHIxUHIyc1NzsCFxUzNSMXIxUzqV5eJhITE4MTEyYShBISJhNLEiaDS4SEgxImXl6pExODEyYSEoQSEkuDOIQAAAACAAAAAAEaAOMACAAMAAA3JzcXByc3IzUnMxUj9SwNQ0MNLL0lExOpLQ1EQw0tEziDAAAABgAAAAABLAEsAAcACwAXABsAHwAjAAATNzMXFQcjJzcVMzUFNTczFxUzFxUHIyc3NSMVFyMVOwI1I6kTXRMTXRMTXf7nE14SXhMTzhNxXl5eXhJeXgEZExNdExNdXV2ocBMTXhJeExNwXl4SXl4AAAQAAAAAARQBFAAgACYANwA7AAATBhQfAQ4BBwYeATY3PgE3FwYUFjI3FxYyNjQvATEnJiIfAQYiJjQ3IgcXNjMyFhceAT4BJy4CBxcuARwDAjMSGgUBBAcHAQUXERYOHSkPSgMIBQKAaAMIYiwJGhIfExEPCwolOQkBBwcEAQcjMxowARsBEAIHAzMNJRYEBwIEBBQgCxcOKR4PSgMFBwOAaAN0LAkTGVEFEAMuIwQEAgcEGysYLC8TGwAAAwAAAAABEQDoAAgAEQAoAAA3MhYUBiImNDYXIgYUFjI2NCYnMh4BFxYOASYnLgEiBgcOAS4BNz4ClhUdHSodHRUNEhIaEhINHDMjBwEEBwcBCTlKOQkBBwcEAQcjM7sdKR4eKR0SExoSEhoTPhgrGwQHAgQEIy0tIwQEAgcEGysYAAAAA///AAABGgEaABUAOwBEAAATBxU3FzUzFSMHNSMXBzMVFzczNzUnBz4BNC4BIg4BFBYXDgEHBg8BMzU0PgI7ATIeAh0BMycmJy4BJyImNDYyFhQGVAkJCqkhGCYBARQQIiIJCZgOEBIeIx8REA0NFgcEAQETChIYDQENGBIKEwEBBQYWMhMbGycbGwEZCR0BARReGBgKCRwHIwlxCbEJHSMeEhIeIx0JBhYQCwwSCg0XEwoKExcNChMLCxAWDxsnGxsnGwAAAAAIAAAAAAEHARoACQAOABgAHQAnADEAOwBAAAATHwEVByMnNTczBxUzNScHFDMyNjU0IyIGFzQyFCIXMzUjNQcVNxUjByM1MzUHNTcVMzcUMzI2NTQjIgYXNDIUIsY+AwrOCQmRiLw4aBkNDhkNDhAUFDwtDx8QDxotDxAgDhQaDQ0ZDQ4QFBQBFz4HtgkJ9AkS4ag5TCUUEiUUEhoyCww9Bg0DLWoMLQMNBj0YJBMTJRQTGjIAAAAABQAAAAABBwEaAAkADAATABoAIQAAEx8BFQcjJzU3MwczJyMVMzUjJzUHNycHFRc/AhcVByc3xj4DCs4JCZEEODiEvEIJSiINKSkNJA0pKQ0iARc+B7YJCfQJSznhlglCjiMNKQ0pDUQOKQ0pDSIAAAcAAAAAARoBGgARABQAHAAlACkALQA2AAATMxUXMxUzNS8CIwcVFzM1IzcXIxcjBxUXMzc1BxUnIwcnIwc1FzcXKwE1Nxc3MjY0JiIGFBYmcAlCEwM+BpEJCUI4gzg4Z5YJCZYJEh8NFigNDU8PHR5dEy8lBAYGCAUFAQdCCRMpBz4CCfQJE+E5OAlxCQlxCkseFigMJ1APHBsTLkEGBwYGBwYACQAAAAABBwEaAA4AEQAZAB4AKAAuADcAPwBJAAAlLwEjBxUzNTMVFzMVMzUHNRcPARUXMzc1JwcVIzUzByMVIzUzMhUUBicjFTMyNBc2JzQHIxUzMic1MzYWFAYnNyMVIzUzFSMVMwEEPgaRCRJxCUITSzjFCQnOCgoJvLyWBg0UFQ0KBQUKQgkBHhQUDRQGBwsKCE0SDSEUEtk+AglnXkIJEykEOTk4CXEJCXEJXhJdOBM5EwgLGxERJgkMHAE4CyMBCw8LAQsWOQsOAAAAAAQAAAAAARoBBwADACEAKwAyAAA3MzUjNzU3Mx8BMxcVByMnNSMnNTczHwEzFxUjNSMvASMVFycjFTM/ATM1IwcjFTM1IwcmEhISClMICGsJCc4KHAkJUwgIawoTZwgIRHEIRDsICHFoE0G8awheSxMJCQQOCpYJCS8JqQoFDgouJQUOOA8POQ4FEzhLXQ4AAAQAAAAAARoBBwAKABIAHAAsAAA3MxcVByMnNTczHwE1NyMPASMVNzM3Iy8BIxUzNxcnNxcVByc3Iw4BFyM0NjeRfwkJ9AkJXgeFAXcQBlRmegF6BxBQUBAxGQ4pKw0bGg8VARMeF/QKuwkJzgoDzB1nEANxlhMDEDkQSRoNKg0qDhkBFQ4WIAEAAAAABQAAAAABBwEaABEAFAAcACAAKgAAEx8BFQcjNTM1Iyc1IxUjNTczBzMnByMHFRczNzUHIzUzBxUjNQcnNyM1M8Y+AwpBOEIJcRIJkQQ4OB2DCQmDChNwcBMSMg0xITgBFz4HtgkTlglCS1QJSzleCoMJCYN5cBw4ITENMhIAAAALAAAAAAEHARoACgAOACMAJwArAC8AMwA3ADsAPwBJAAATMxcVDwEVByMnNRcjFTMVMzUvATUjFQcjFSM1Iyc1IxUzNTM1FTM1JxUjNTczFSM1FSM1NzMVIzUVIzU7ATUjFzc1IxUfARUzNS/OCgMQCrsJSxMTSxADJgkJEwoJEyYTEhITExISExMSEhMTEhJzEDgPAxMBGQleBhF/CQn0CSa7dhAHVC8KEhIKL+ESExMTExMTExMlEhITEyYTExMWEFFRDwd6eQAAAAADAAAAAAEHARoACQAPABIAACUvASMHFRczNzUHIzUzFTMnNRcBATgNcRMTqRMTqV5LODjcOAUS4RMTqKjhSxI5OQAAAAQAAAAAARMBLAANABAAFwAdAAATIwcVIwcVFzM3NTM3NScXIwcjNTMVFzM3IzUzFTPbcRI5EhKXEjsQOB4eJpY5EktLll44ASwTOBO8EhI5EpceHuG7cRITuzgAAQAAAAABGgEHAAcAAAEVBxUjNSc1ARldS14BByBZaGhZIAAAAgAAAAABGgEHAAcADwAAARUHFSM1JzUXFTM1NzUjFQEZXUtecCZe4QEHIFloaFkgcV5eWQUFAAACAAAAAAD7ARoALQBTAAA3JzYmJyYnBgcGFxYXBy4CNzU2NzY3Nj8BNjc2NzYnNx4BBzY/ARUWFxYHDgEnFwYWFx4BBz4BNzYmJw4BLwE2JicGBwYPAQYHBhUxBhYXJjc2N6sKCQMLEgQOAgMGAwoLFB8RAQEDBAkKEAgJBwoDBAYNHxsJBgQRCgYLCwklOxABCQkNCgQMEgUFBAgGEwoGDAkUAhEJDwIXCQQBEA8KBQYcEw4LHAkPFhMRDg0IDg4EGCUUBwkJDQ0PDggKCw8MEQwMFkclBwgCARATJRsUGn8HDRkJCRwPBBELESMQCQkCDRs7FhYaDQ8CFBcMChIfChcVHB8AAAACAAAAAAELARoABgANAAABJwcnBxczNycHJwcXMwEKDXBxDXcNdw1wcQ13DQEMDXBwDXcGDnFxDncAAAACAAAAAAEOARoABgANAAA3FzcXNycjBxc3FzcnIxMNcHENdg14DXBxDXYNoQ1xcQ146A1wcA14AAIAAAAAAO4BAAAGAA0AADcHJwcXMzcHNxc3JyMH4EpLDFELUaNNTAxTC1L/SkoLUVHOTEwLUlIABAAA//8BLgEHABQAHgArADIAADczFxUmJzUjDwEjFTMWFyMnNTczHwEzNyMvASMVMzcXPgEeAg4CLgI2FzcnBycHF5F/CQgLdhAGVWACBG8JCV4HC3oBegcQUFAQMREoJBcCEiEoJBYDEjgtDycYDCD0ClQHBBsQA3EJCQnOCgM2EwMQORBCDAIRIigkFwISISgkUjsMNBMOGgAABQAAAAABGgEHABIAHAAgACQAKAAANzMXFSM1Iw8BIxUzFSMnNTczHwEzNyMvASMVMzcXMxUjNzMVIz8BFweRfwkSdxAHVF5nCQleBwt6AXoHEFBQEBATEyYSEiUSJhH0CkETEANxEgnOCgM2EwMQORA1cHBwaQdqBgAAAAMAAAAAASUBBwANABkAIAAANzM/AScjNScjLwEjBxU3Mx8BMxUjDwEjDwEXIzczPwEzHM4JMgkVCmwRBl4JE1AQB2dVBhBHCRO9uh9FBhBtJgaEDC4KEAMKzsUQAyUDEAc5MV4DEAAAAwAAAAABGgEHAAoAEgAcAAAlIy8BIwcVFzM3NQcVIzUzPwEzJyMPASM1Mx8BMwEQfxAHXgkJ9AkT4VUGEHcBegYQUFAQB3r0EAMKzgkJu5UdcQMQEgMQORADAAAFAAAAAAEsAPQAEwAjAEAASQBTAAA3MzIeAR0BFA4BKwEiLgE9ATQ+ARciBh0BFBY7ATI2PQE0JiMHIgYdASMiBhQWOwEVFBYyNj0BMzI2NCYrATU0JhcUBiImNDYeAQcUBiImPgEyFhVLlhQjFBQjFJYUIxQUIxQXISEXlhchIRd6BAUcBAYGBBwFCAYcBAUFBBwGiQsQCwsQCxMLEAsBChAL9BQjFDgVIhQUIhQ5FCMUEyEXOBghIRg4FyElBgQcBQgGHAQFBQQcBggFHAQGEwgLCxALAQpACAsLDwsLCAAAAAAEAAAAAAEaARoAHwA3AEAASQAANycjDwEnBxcPARUfAQcXNx8BMz8BFzcnPwE1LwE3JwcnFzcXBxcVBxcHJwcjJwcnNyc1Nyc3FzcXFAYiJjQ2MhYHMjY0JiIGFBarChYKDSURGAMtLQUYDyUPCBYKDyUPGAUsLQYYDyUICicmGy0tGyYnCjQKJyUaLS0ZJicIQBceFhYeFyYICwsQCwvaLS0GGA8lDQoWCg8lDxgFKy0FGA8lDwgWCg8lDxhDLRkmJwg0CiclGi0tGSYnCDQKJyYbLYMPFhYeFxciCxALCxALAAAFAAAAAAEHARoAIgAmADkATABQAAA3IzY1JicmLwEmIgYHBgcmJyYjIgcGBwYPARQXIwcVFzM3NQcjNTM1IzUmNTc2NzY3NjIXFhcWFxYVMzQ3Njc2NzYyFhcWHwEUBxUHIxcjNTP9HgIEAwYIBQgJCAMRDQ0RDAUJCAcGAwQBAh4JCeEKhF1dOAIBAgMCBwIPBAkGBAECEwICBAUKAw8IBQEBAgICNl5eXuEIDwsFCQMCAwECBRQUBQMFAwkDCwMOCAmpCQmpoJYTBAUKAwUBBAQCAgQIBQMFBQUFAwUIBAIEBgEDBQoFAgKplgAAAAAFAAAAAAEaARoAEwAWACYAMAA0AAA3MxUXIyc1NzMfAhUmJzUjJzUjFycVFxUzFxUHIyc1NzM1NDYyFgcGHQEzNTQuAQYHFTM1OEsCVgkJkQY+AwgLQglxvDhBEwkJcQkJExYfFjMFJQYKDCVeJhIBCfQJAj4HMAsHCAlCOTk5SxIKSwkJSwoSEBYWAgYIEhIGCQUCNzg4AAIAAAAAAOEBLAAPABgAABMzFR4BFAYHFSM1LgE0NjcXMjY0JiIGFBaNEhwmJhwSHCYmHAkUHR0oHR0BLEwDKjoqA0xMAyo6KgN7HSgdHSgdAAAAAAQAAP/+ARwBGgAfACoASQBVAAA3JzcXFQcnNyMGJj0BLgI+ATMyFxYXFhUUBgcVFBYzJxY+Ai4BDgIWFxYXHgEHDgEuAjY3Njc1NCYrARcHJzU3FwczMhYPAT4CLgIOAh4BixgMKCgNGCMTHA4UBQsXDwkJEggDFRAQDDUIFA4CChAQDQMHyA4KDAMJCBocFAYLDAgJEQsjGA4oKA4YIxMcAQYHDAcBCRARDAMHEDgYDSgNKA4YARwTaAMUHBoQAwgSCQkRGgNnDBGbBQIOFA8HAw0QEHsDCgwhDgwLBhQcGggFAmgMEBgNKA0oDRgbFLIBCA4ODgYDDBEQCgAAAAAEAAAAAAEEAQcAAwANABEAFQAAEyMVMwcnNxc1MxU3FwcnMxUjFyMVM6kTExBeDU4TTQ5eEBMTExMTAQcTzl0OThsbTg5dqBImEwAABAAAAAABCAEtADQAPwBKAFcAADcuAQcGBwYHLgEnMjc+ATU0JyYnJiMiDgEeARcVBgcOAR4CPgE1Ni4BJzUWFxYXHgE+ATQHHgEOAi4BPgInIi4BPgIeAQ4BFw4BLgI+Ah4CBvkMIQ4MBgEBHioDBAQNEAQHEgkKDhcLBRQOCQgLCwUUHBsPAQkSCw8WExQEHSQYqAgKAg4UDwcDDRADCA4HAw0QEQoED40FDg4LBgQMEQ4JAwSbDAMJCA0EBAMqHgIGFw4KCRIHBBAaHBQDXwIFCBsbFAYLFw8JFA8CLRULCgESFQMbJTIEDxQOAgoQEA0DggoPEQwDBxEUDXsFBAMJDhEMAwYLDQ4AAAYAAP/+ARoBGgAhAC0AOQBKAFUAYQAANwYPARUWFx4BFRQOAiMiLgE+ATc1LgI+ATMyHgIVFAcuASIOAR4CPgInFjI+AS4CDgIWFxYXFhUUDgEuAjY3Njc1Mxc+AS4BDgIeATYnBxc3FzcnNycHJwdpCA0IBAQNEAcNEgkPFwsFFA4OFAULFw8JEg0HFgQNEA4HAw0QEAkBLAcQDQgBCRARDAMHyA4KDhAaHBQGCwwHChILBwIKEBEMAwYQFB0fDR8gDR8fDSAfDdAMBgJeAQIFGA4KEQ4HEBocFANfAxQcGhAHDRIJD58HCAoPEQwDBg4PngUIDhANBwQMEBB7AwoOEw4YCwYUHBoIBQJDhQcUEAYDDBEPCwLYHw4gIA4fIA0fHw0AAAAABQAAAAABLAEaAB0AKgA2AEoAVgAANwYPARUWFxYVFAcOASIuAT4BNzUuAj4BMzYWBxQHLgEjIgYXHgI+AicWMj4BLgIOAhYXIzU0JisBFwcnNTcXBzMyFhcWBxUjNSM1MzUzFTMVI2kIDQgTCggDBhgdFwsFFA4OFAULFw8THQEWBA0IDREDAQ0QEAkBLAcQDQgBCRARDAMHyBIRCyMYDigoDhgjDhgFBAETODgTODjQDAYCXgQQDA4KCQ0QEBocFANfAxQcGhABHBQPnwcIFQ0IDAMGDg+eBQgOEA0HBAwQEC8cDBAYDSgNKA0YEA0JCcU4Ezg4EwAHAAAAAAEbARoAIAAsADgAQQBKAFMAXAAANz4BNTQuAiMiDgEeARcVDgIeATMyPgI1NCYnJic1Fx4BDgIuAj4BMiciLgE+Ah4CDgEXFAYiJjQ2MhYHMjY0JiIGFBYnFBYyNjQmIgY1FBYyNjQmIgZUDRAHDRIJDxcLBRQODhQFCxcPCRINBxANBAQFBggBCRAQDQMHDhAICA4HAwwREAkBCA3QGycbGycbLwwRERcREQcLDwsLDwsLDwsLDwu+BhcPCRINBxAaHBQDXwMUHBoQBw4RCg4YBQIBXnUEDg8OBgMMEQ8KgwoQEAwEBw0QDgifFBsbJxwcLxAYEBAYEIgICwsPCwtIBwsLDwsLAAAAAAT//wAAAQcBGgAPABsAHwA1AAA3FRczNzUvAiMVMxcVIzU3IzUjFSMVMxUzNTMHMxUjNwcnNyMiBhQWOwEVIyImNDY7ASc3FzgTqRIFOA4lJTmpgyUTJSUTJV1dXRMoDRg4DBAQDAkJFBsbFDgYDShxSxMTqA44BRI5qEtLJSUTJiZLE5koDRgQGBATGyccGA0oAAAEAAAAAAEaARoAEQAWACIALgAAJS8BIwcVFzMmJyM1MxcVFhc1ByMVMzQnMzUzFTMVIxUjNSMXIg4BHgI+ATU0JgEBOA5wExNkCQZVcDkKCG4nJSUlEyUlEyVwERwNBhgiHxMh3DgFEuETCAriOToDBUJwEwpnJSUTJiYmEx8iGAYNHBEXIQAABQAA//4BGgEaAB0AKgA2AFcAYwAANwYPARUWFxYVFAcOASIuAT4BNzUuAj4BMzYWBxQHLgEjIgYXHgI+AicWMj4BLgIOAhYXFhcWFRQOAS4CNjc2NzU0JisBFwcnNTcXBzMyFhcWBxc+AS4BDgIeAjZpCA0IEwoIAwYYHRcLBRQODhQFCxcPEx0BFgQNCA0RAwENEBAJASwHEA0IAQkQEQwDB8gOCg4QGhwUBgsMCAkRCyMYDigoDhgjDhgFBAELBwIKEBEMAwYLDQ7QDAYCXgQQDA4KCQ0QEBocFANfAxQcGhABHBQPnwcIFQ0IDAMGDg+eBQgOEA0HBAwQEHsDCg4TDhgLBhQcGggFAmgMEBgNKA0oDRgQDQkJqgcUEAYDDBEOCQMEAAAFAAAAAAEHAQ4ACQAXACEAJQApAAA3FTM1FzcnIwcXDwEVFzM3NScjDgEiJicXMxUjNTMeATI2JzMVIxUzFSODEzINQg1CDjYJCeEKCkIEGiEaA2kszisIICcgPRMTExPwIiIyDkFBDjsJXgkJXgkQFRUQEktLERUVXBMTEwAAAAMAAAAAAQcBDgAJABcAIQAANxUzNRc3JyMHFw8BFRczNzUnIw4BIiYnFzMVIzUzHgEyNoMTMg1CDUIONgkJ4QoKQgQaIRoDaSzOKwggJyDwbW0yDkFBDjsJXgkJXgkQFRUQEktLERUVAAAAAAMAAAAAAQcBGgAJABcAIQAANzUzFTcXByMnNw8BFRczNzUnIw4BIiYnFzMVIzUzHgEyNoMTMg1CDUIONgkJ4QoKQgQaIRoDaSzOKwggJyCtbGwxDUJCDVsJXgkJXgkQFRUQEktLERUVAAAAAAUAAAAAARoBGgAMABgAHwAjACcAADczFyMnNTczFxUnNSMXBzM3JyM3JyMPARc3MwczBzcjJyM1MwcjNTM5MA1GCgrhCRPOaBsqaQ0fDw82ESsRKzYjQmwfMwo2PxolLnETCakJCVohMKlBbCAbHQteGnA4bUg4EzkTAAABAAAAAAEYASEAbAAAJRYVFAcGBxYdARQGIiY9ATYmJzc2NzY3NjU0LwE2JwYPASYHJyYjBhcHDgEVFBcWFxYfAQYXFRYGIiY9AQYnJicmLwEuAScuAT4BFxYXFh8BFhcWNzUmNyYnJjU0NyY/ATYXFhc2FzY3Nh8BFgEHERcSIAYFBwUBBQUFFg0RCQsQAgcGERMHKSkHGgsGBwMICQsIEg0WBQsBAQYHBhENCwkFCAEFBwMCAwIGAwcHAwcBCggNFQIHIBEZEQUJBgQKEBUpKhQQCwQGCeoUGy0YEQUKES4EBQUELggNBg4DBgcPEh0WEQoQEgQNAgsLAhATEAkIFQodEQ8IBgMPCg8vBAYGBBoEBAMIBAsBBgYBAQYGBAIBBQMIAg0EBwUEDg0GERgrHBQaFQQCAQMNCgoNBAICBRkAAAAB//8AAAEtASwAVAAAEyIOARUUHgEXMjY9AQYnJicmLwEuAS8BJjc2MzEeAR8BFhcWNzY3JicmNTQ3MSY3MzIXFhc2MzIXNjc2FzEWDwEWFRQHBgceAR0BFBYzPgI1NC4BlilFKBouHgUFDgsJBwQDAwIIAwMJBAIEBgsDAwkOCgoBCB4QFhAHCQQGCAoNDxcRFBINBwMIBQEQFg8fBAYFBR4vGSlFASwoRSkgOioKBAQZAwMCBQQFBAgKAwEGAwEBBwQEDwEBBAwIBA0TJxcRExQDBAkFBQwDAgETFAERFycSDQQDDgopBAQKKzofKUUoAAAAAwAAAAABBwEHAAsAEwAXAAA3MzUzNSM1IxUjFTMnMxcVByMnNRczNSNxEnFxEjk5Qs4KCs4JEry8OHESOTkSXgrOCQnOxbwAAgAAAAABLQEsAAwAagAAEyIOARQeATI+ATQuAQMjIiY9ATQmJz4CNzY1NCYnPgE0JicjIgYPAiYHLwEuASsBDgEUFhcOARUUFx4CFw4BBw4BJi8CLgEjBwYUHwEWHwEeATczNxUUBisBLgI+AjIeAg4BB5YpRSgoRVJFKChFAQICBAQFDRcQAwQHBgEBAgICBQgECQcgIAcJBAkEAwECAQEGBwQDEBYNAwQBBw8LBAQEAwYDBQECCAICBgMRCgYHBAMBHSwTCiQ3PjckChMsHQEsKEVSRSgoRVJFKP7wAwMjBw0EAQkQCw0OCRIHBAcJCQUCAgUECQkEBQICBQkJBwQHEgkODQsQCQEDCQUDAQgHBAUBAwEBAgIGAgILCQoBARYDAwksOj4yHBwyPjosCQAAAAAKAAAAAAEaARoADAASAB4AKgAxADcAQQBIAE0AUwAAEzIeARQOASIuATQ+ARcuAScWHwE2NSYnIxYVFAczNic1NjQnIwYVFBczNicmJysBBgcjNjcOAQ8BBhQXMyY1NDcjFyMeARcmJxc2NyMWNwYHPgE3nyE4ISE4QjghITh9CR4SDAYyAQEDLAEELwJBAQJIAQRDAgMHEAoJEQYUBQ0THQkIBAQvBAEsNCwKJhcSCS8SCjcJQgkSFyULARkhOEI4ICA4QjghSxIaBhcbOAUEDw0KCBMTCQoBCRIJCQkTEwpBHhoaHhsYBxoSEg4dDhMTCApKFhwFGR0xFhsbHB4ZBRwWAAMAAAAAASwBGgAWACcAKgAAPwE1JwcXIyIGFBY7ATUjIi4BNjsBBxc3IyczHwIVByMnNRcVMzUjNxUzcSYoDRg4FBsbFAkJDBABEQw4GA1fMhNYDTkFE6gTE6hLEzi9Jw0oDRgcJxsTEBgQGA1LEgU4DqgTE4wQfJZLOQACAAAAAAEaALwAAwAHAAAlIRUhFSEVIQEZ/voBBv76AQa8EyYSAAAABwAAAAABGgEPAAkAEQAVAB0AIQApAC0AADcXByc1NxcHMxUHNTczFxUHIzc1IxU3NTczFxUHIzc1IxU3FRczNzUnIxcVIzUoEAsgIAsP8M4JJgkJJh0TOAkmCQkmHRM4CSYJCSYdE+ERCx8MHwwPE8arCAirCBGZmR2FCAiFCRF1dX1gCAhgCBBQUAACAAAAAAEgASwABgATAAAlFSMnNTMVNwcjJwcnNzMXNzMXBwEZ/QkTzmENH0QOSw4fYA0mDTgSCf30uGEfRA1LH2EmDQAAAAAGAAAAAAEaASwABgAKAA4AEgAWABoAACUVIyc1MxU3MxUjNzMVIwczFSMHMxUjNzMVIwEZ/QkTOCUlgyYmSyYmOCUlgyYmOBIJ/fTPJjglJiUmJTglAAAABwAAAAABGgEsAAYADgASABoAHgAmACoAADczNSM1IxU3NTczFxUHIzc1IxU3FRczNzUnIxcVIzUHNTczFxUHIzc1IxUc/fMTJQolCgolHBODCiUKCiUcE14KJQoKJRwTJhL0/SWWCgqWCRODg7K8CQm8CRKpqbNxCQlxCRNeXgAGAAAAAADPAPQAAwAHAAsADwATABcAADczFSMVMxUjFTMVIzczFSMVMxUjFTMVI14lJSUlJSVLJSUlJSUl9CYlJiUmvCYlJiUmAAAACwAAAAABBwEaAAkAEQAVAB0AIQApAC0ANQA5AD0AQQAAEzMVIxUzFSMnNRcjJzU3MxcVJzM1IxcjJzU3MxcVJzM1IwcjJzU3MxcVJzM1IxcjJzU3MxcVJzM1KwIVMzUjFTMcJhwcJgl6JgkJJgklEhKMOAkJOAo5JiZBJgkJJgklEhKMOAkJOAo5JiYSJiYmJgEZEuETCfRnCSYJCSYKEiUJOAoKOAollgkmCQkmChM5CjgJCTgJJhNwEgABAAAAAAEaAQcAHAAAJS4BJy4BIgYPAScuASIGBw4CFB4BHwE3PgI0ARcCCQcKGhsZCg0NChkbGgoHCQQECQdvbwcJBNIJEQYKCgoJDQ0JCgoKBxASEhIQB25uBxASEgACAAAAAAEaAQcAHQA9AAAlLgEnLgEiBg8BJy4BIgYHBgcGFB4BHwE3Njc2NTQHBg8BJy4CND4BNzY3NhcWHwE3Njc2FxYXFhcWFRQHARcCCQcKGhsZCg0NChkbGgoNBQIECQdvbwcECRUDCmFiBQcDAwcFBwoTFAkHGhkHChMUCQcFAwcB0gkRBgoLCwkNDQkLCwoNEwkSEhAGb28GCBATCRUNCmFhBQwMDg0LBQcECAgDCBkZBwQICAQHBQYLDgcGAAAAAgAAAAABHQEbAB4AJQAANz4BJicuAQ4BBzUjFRczNSM+AR4BDgImJwceAjYnNyc1IxUX/RINDBITPEE4EBMJQikTSEouAjFLRhIQDzhCPisONhMDRRc5ORcaHAQhHC1CCRIiHRU+TTwSISIJHSYGGywNNkdLBwAAAgAAAAABFAETABEAHAAAExcHJxUHIyc1IxUHIyc1Byc3BxUzNTczFxUzNSeddw0TCjgJJgk4ChIOd0QmCTgKJUsBEmwOEXoJCUJCCQl6EQ5sWIJCCQlCgkQAAAAEAAAAAAD0AOIACwAgACwAMAAANzM1IxUjNSMVMzUzFzMnNjc2NzY0LgEnJicmKwEVMzUzNwYrATUzMhYVFAcGFyMVM3kPDzEQEDFqERgDBAgDAgMFBAYHBAMuDxwJAwIgIAYKAQMXvLxxcDExcDAwMQEDBgkFCwoHAwUCAXAuEAEkCggFAwdmEwAAAAUAAAAAAQcBGgAkAC4AOwA/AEMAADczFxUzFxUHIxUHIwcnNSMnNSMnNTczNTczNS4BNTQ2MhYVBgcXNSMVFzMVPwEzJwYHMQYmJwceATI2NycjFTM3MxUjn0sJCgoKCgk6LxAvCgkJCQkKSwQGCxALAQlCli8JIgc1KAsODRgJDQoZHBkJTBMTOBMT4QkmChIJOQk0By0MNgkSCigHFQMIBgcLCwcLBWE4bgIpJgMuCgMDCAkOCQsLCTMTExMAAAMAAAAAARoBGgAJABMAHQAANzM3NS8BIw8BFTcjNTMfATM/ATMnIw8BIy8BIzczHPQJNAiNCTT04S8OCFYIDTEBNQkMSw4INTF/JglUkAYGi1kJOBcFBRcTBRcXBYQAAAEAAAAAAPQAzwARAAA3FRQWOwEnNxcVByc3IyImPQFLBQSBHg0wMA0egQsRziUEBR4OMAsvDR4QDCUAAAQAAAAAARkBGwATACcAKwAvAAATHgEXHgEGBw4BJicuAz4DFz4BNz4BJicuAQYHDgEeARceATcnMzUjFxUjNaEWKQ8YEgwVEzc8GxQeEQINGiYrIBIhDBILEBQSMTMVGRoDHxoRJhIfGBgYGAEZAxMQGD5AGhgZAg4LIiotLCQaC/MEFA8WNzUVEhEHDhE1OzIOCQYElBIlS0sAAAUAAAAAARoBGgAHAAsAEwAXAB0AAAEXFQcjJzU3FyMVMxUXFQcjJzU3FyMVMycXBxc3JwEHEhKWExOWlpYSEpYTE5aWlvQeHg0rKwEZEksTE0sSEks5EksTE0sSEkuOHh4NKysAAAAAAwAAAAABJwEHAAwAEAAUAAA/ATMXFSM1IxUzFSMnBScVNwc1FyMTE+ESEuFdXRMBFH4zID0l9BMTcXGWExMgfrEzBlY+AAAACQAAAAABBwEaAAcADQAVABsAJAAqADIAOABBAAA3FzY0JwcWFCc3JicHFic3JiIHFzYyBycGBxc2BzQ3FwYWFwcmFwcWFzcmFwceATcnBiI3FzY3JwYnMjY0JiIGFBbvEgYGEgULEBIjCR4sBRInEgYPIT8JIxIRDy0GEgYBBRIGHhESIwkeLQYSJxIFECE/CSMSEBBMBwsLDwsLfwUSJxIGDyE/CSMSEQ8VEgYGEgYMERIjCR5NFBIGDyEQBRIbCSMSEBAWEgUBBhIFCxASIwkeOgsPCwsPCwAAAAMAAAAAASMBGwAVADAAOQAANwcvATcXPgMeAxcjLgIGBzcfAQcnDgMuAyczNRQeAz4CNwcnNycUFjI2NCYiBmM9DRkRDwgbJCgpJRwQARIEMkg+DCytGREPCBskKSkkHBACEwwYHyQjIBcHKwc9fwsQCwsQC8IZBTwHJBMfFAgGFB4mFCQ0CSciEkM9CCUTHxQIBxQeJhUJEiIcEgYGEhwREhIZCggLCw8LCwADAAAAAAEHARoADQAbACQAABMiDgEeAj4BJzYuAgciLgE+Ah4BFRQOAicUFjI2NCYiBo0lPhwONUhEKgEBEyItGCA0GA0sPTojEB0mJwsPCwsPCwEZKURJNA4cPSUZLCMS4SM6PSwNGDQgFCYdEGcHCwsPCwsAAAABAAAAAADgAQcAHAAANwcjNzI3Njc2PwE2NTQuASM3MwcmDgEPAQYUHgGpAlwCDgUHAwYGJgUECQwCVgIKDQgGJgYECS0GBgIDBQgUhxAJBAcCBwcBBgwVhxMJBgMAAAACAAAAAAEaAQcAGwAxAAA3Iyc1Iy8BPwEXHgEXFhcWNzY/Ax8BDwEjFSczNTczNycHBgcOASImJyYvAQcXMxffkwkbCQwGUAwBBQIFBg4NBgUFBAxQBgwJG5OACR0IPwMDAwgUFRMHBAMDQAkcCiEKfQcyCxsGBQcCBQMFBgIFBQkGGwsyB30JfQkjFQQFAwgICAgDBQQVIwkAAAACAAAAAAEHAQcARgCNAAA3NSMiDgEHMQYHMQYXFRQHMQYHBisBFTMyFxUWFxUWFzEWHQEGFxUWFzEeAhczNSMiLgI9ATQmJyYnNjc+AT0BNDY3NjMXFTMyPgE3MTY3MTYnNTQ3MTY3NjsBNSMiJzUmJzUmJzEmPQE2JzUmJzEuAgcjFTMyHgIdARQWFxYXBgcOAR0BFAYHBiNxAgkRDAMDAQEBAgQKBQYBAQYFBQMEAgIBAQEDAw0QCQICBgoHBAICBQkJBQICCQcFBk0BCRANAwMBAQECBAoFBgICBgUFAwQCAgEBAQMDDRAJAQEGCgcEAgIFCQkFAgIJBwUG9BMHDQgICAgIEAYFCgUCEgIBAgMBAwUFBhAICAEHCAgNBgETBAgKBhkGDAULBwcLBQwGGQkNBAK8EgYNCAcJCAgQBgUKBQISAgECAwEDBQUGEAgIAQcICA0HARIECAoGGQYMBQsHBwsFDAYZCQ0EAgAAAAMAAAAAAKoBBwALABQAHQAANx4BPgImJyYOARY3IiY0NjIWFAYnIiY0NjIWFAaMBAoJBQEEBQYPCAIRCAsLEAsLCAgLCxALCykDAQUICgkDBAMND1YLEAsLEAteCxALCxALAAADAAAAAAEcARwAHAA5AEUAABMeAgcOASMiJw8BIxUHIxUHIyc1PwEmNTQ+Ahc2NzE2LgIHDgEVBhcPARUzNTczNTczPwEWMzI3PgEuAgYHBh4BNtUXIwwEBi8eDQsPBxMJHAo4CQJeBBEdJSwSBQMJGCARFh4BBQJeJQkdCRcRCgwMFwMDAQUICwkCBAMNDgEYBSArFh0mBBIDHAocCQkrB10NDhIjFwmKDhcRIBgJAwUkFw0MCl8eHQkcCRMDBEIECgkGAQUEBw8IAwAGAAAAAAEaARoALwA2ADkAPQBAAEcAACUnMzUjNSMVIxUzByMVMx4BMjY3MzUjJzMVIw8BFzM3LwEjNTMHIxUzHgEyNjczNQcGIiYnMwYnIzcfASM/ARcjFwYiJiczBgESHhNeE14THgcCBRgeGQUCCB86JQglB6kHJQglOh8IAgUYHxgFArcGDwwELwQBJhN2F4MXdhMmIAYPDAQvBKlLExISE0sTDhISDhNLlgQvDw8vBJZLEw4SEg4THQMHBgYZLYscHIotHAQIBgYAAAAABgAA//0BLQEYAAcACwAXAB8ALAAzAAATIwcVFzM3NQc3Fw8BJzMXNzMHIyIGDwEXBycjFzM3Jjc2FzIWFRQOAS4CNhc3JwcnBxeZCm9vCnPWXmFhBW0hUVQiDwcZJwgTEBVRIW0KFAQrDxEXIRMfIhgHDS4iDxwQDBgBGEwQSkoQCEFBP0JKNzcKHRYNDg43Sg0JPQoBIBgRHA0GGSEgPy0LJQ4PEwAABQAAAAABLAEYAAcACwAXAB8AKAAAEyMHFRczNzUHNxcPASczFzczByMiBg8BFwcnIxczNyY3FBYyNjQmIgaZCm9vCnPWXmFhBW0hUVQiDwcZJwgTEBVRIW0KFAQTIC8hIS8gARhMEEpKEAhBQT9CSjc3Ch0WDQ4ON0oNCQ4XISEvISEABAAAAAABDAEYAAcACwASABkAABMzFxUHIyc1NwcXNwcXMzcjBycXJzMXNzMHjwpzcwpvdF5eYdNtCnEiVFFMbSFRVCJxARhMEEpKEDlBPz83Sko3N3lKNzdKAAACAAAAAAEaARoABwALAAATBxUXMzc1JxUjNTMmExPhEhK8vAEZEuETE+ES8+EAAAACAAAAAAEaARoABwALAAATBxUXMzc1Jwc1MxUmExPhEhLhuwEZEuETE+ES8+HhAAADAAAAAAEaARoABwALAA8AABMHFRczNzUnBzUzFTM1MxUmExPhEhLhS0tLARkS4RMT4RLz4eHh4QAAAAAFAAAAAAEaARoABwALAA8AEwAXAAATNzMXFQcjJzcVMzUHMxUjNzMVIzcjFTMTE+ESEuETE+HPJiY5JSVdJSUBBhMT4RIS4eHhEhMTExMTAAQAAAAAARoBGgAHAAsADwATAAATBxUXMzc1Jwc1MxU3NTMVNzMVIyYTE+ESEuElE3ATJiYBGRLhExPhEvPh4UuWlpbhAAAAAAQAAAAAARoBGgAHAAsADwATAAATBxUXMzc1Jwc1MxUzNTMVMzUzFSYTE+ESEuElE3ATJgEZEuETE+ESqJaWlpaWlgAAAwAAAAABGgEaAAcACwAPAAATNzMXFQcjJzcVMzUzFTM1ExPhEhLhExOWEjkBBxIS4RMT4ZaW4eEAAAAAAwAAAAABGgEaAAcACwAPAAATBxUXMzc1Jwc1MxUHMxUjJhMT4RIS4eHh4eEBGRPhEhLhE6mWlhI5AAAAAwAAAAABGgEaAAcACwAPAAATNzMXFQcjJzcVMzUzFTM1ExPhEhLhExM4E5YBBxIS4RMT4eHhlpYAAAAAAgAAAAABGgEaAAcACwAAEwcVFzM3NScHNTMVJhMT4RIS4eEBGRLhExPhEqiWlgAAAwAAAAABGgEaAAcACwAPAAATBxUXMzc1Jwc1MxUzNTMVJhMT4RIS4UsShAEZE+ESEuET9OHh4eEAAAAAAgAAAAABGgEaAAcACwAAEwcVFzM3NScVIzUzJhMT4RIShIQBGRLhExPhEvPhAAAAAwAAAAABGgEaAAcACwAPAAATBxUXMzc1Jwc1MxUzNTMVJhMT4RIS4YMTSwEZE+ESEuET9OHh4eEAAAAAAgAAAAABGgEaAAcACwAAEwcVFzM3NScHNTMVJhMT4RIS4YMBGRLhExPhEvPh4QAAAgAAAAABGgEaAAcACwAAEwcVFzM3NScHNTMVJhMT4RIS4eEBGRPhEhLhE+HOzgAABgAAAAABGgEHAAcACwATABcAHwAjAAATBxUXMzc1Jwc1MxU/ATMXFQcjJzcVMzUHNzMXFQcjJzcVMzU4EhJLExNLSzkSORISORISOUsSORISORISOQEHE7wSErwTz7y8vBMTOBMTODg4gxISORISOTk5AAAGAAAAAAEoAQcABwALABMAFwAfACMAAD8BMxcVByMnNxUzNRc/AR8BDwEvARc3LwE3MxcVByMnNxUzNV4JJgkJJgkTEikGIwxGBSMMMkASQb8JJgkJJgkTEv0KCs4JCcW8vAcMDQXCDA0FwLAGsAwKCs4JCcW8vAADAAAAAAEaARoACAASADcAADciBhQWMjY0JhcnBzcnMzcXMwcnDgEHIxUUFjsBFhcjBiY9ATQmJy4BNTQ3PgMzMh4BFRQHBuEXISEuISECGRgJFhsKChwXHxIdByMDAxoDBSIKDwoJDA4MBRATFQwXJxcHBIMhLiEhLiFdEhIcEB8fEFIDGBIpAgQKCAEPCh4NGAkLHxEXEwoPCwYWJxcSDgkAAAMAAAAAAR0BGgA7AFgAbAAANzY3Nj8BNjc2NTQuBCIOBAceARceAR0BFB4COwEyPgI1JyMmJxUUBisBIiY9ATM+ATM3Mhc2NzY3NjMwMScmJyYnJicGBwYHBg8BFxYXFhcWFzY3NjIXFhcWFAcGBwYiJyYnJjSoBQgGBAICBwUGCxATFRgVEw8LBgEBDQwKCgMHCQUeBQkHBAECCQcDAx4CBCUDCwcCBDMGDgsNBwUHCAgLCAoEBQoICwcJBwcJBwsICh8JBgIHAgYJAgIJBgIHAgYJAngKCAUGBwgFDQ8MFRMPCwYGCw8TFQwSHQwKFw0eBQkHAwMHCQUIAQYPAgQEAikGCAFQGA8KBQIBAQUGCg4TEw4KBgUBAQECBAYLDQUGCQICCQYCBgIGCQMDCQYCBgAAAgAAAAAA9QEaACEAKwAANw4BHQEUBgcGJyMGJj0BNCYnLgE1NDc+AzMyHgEVFAYHIxUUFjsBMjY12wkLCAcEBR4LDgoJDA4MBQ8TFgwXJxYNMykDAx4CA4oJGA0eBw0DAgEBDwoeDRgJCx8RFxMKDwsGFicXEh4uKQIEAwMAAAACAAAAAAEaARoADAAWAAATMxUjFTM1MxUHIyc1IRUjNQcnNyM1MxxVS+ESCfQJAQYSfw1+Y3oBGRLhS1UJCfR6Y34NfxIAAAACAAAAAAEaAPQAJABJAAA3MzIeAR0BFA4BKwE1MzI2PQE0JisBIgYdAR4BFxUuAT0BND4BFzUeAR0BFA4BKwEiLgE9ATQ+ATsBFSMiBh0BFBY7ATI2NzUuAVM5Eh0RER0SCQkTGhoTORMbARUQGCARHaAYIBEdEToSHRERHRIJCRMaGhM6EhoBARX0ER4RBBEdEhMbEgQTGhoTBBAZAxMDJBgEER4RTBMDJBgEER4RER4RBBEdERIbEgQTGhoTBBAZAAAAAwAAAAABBwD0AAMABwALAAA3NTMVJzMVIzcVIzVxS3GWlrzhSxMTXhNeExMAAAAABAAAAAABBwD0AAMABwALAA8AADczFSMVMxUjNTMVIzUzFSMmqKiWluHhzs6DEiYThBNLEwAAAAAGAAAAAAEaAQcABgAKAA4AEgAzAGsAABM3MxUjNQc3MxUjFTMVIxcjFTMnPwE2NCcmJyYiBwYHBgcVMzU0PwEyMxcVFg8CFTM1IxcyFxYVFAcGBwYiLgEvASYnMTMVFxYzPwIvASsBNTczPwEnNCYPAQYdASM1NDc+AjIeAhQHKwcNDQczu7u7u7u7u9MBAQMBAgcFCAUGAgEBEAEBAQIBAQECEyURCwIBAwECBwUIBQQCAgEBEAECAQEBAQEBAQQEAQEBAQMBAQEPAwEEBgcGBgQDAQAHOSoGAhM4EzgTUgEBBQgEBwICAgIHAwMBAQECAQIBAwMDFQsNOgIEBgMDBwICAgMCBAMEAgIBAQICAwIMAQEDAgEBAQEBAgEBBgUCAwICAwcJBAAAAAADAAAAAAEaAPQAAwAHAAsAADc1MxUnIRUhNxUjNROpqQEG/vrOzksTE14TXhMTAAAFAAAAAAEHAPQAAwAHAAsADwATAAA3MxUjFTMVIzUzFSMnMxUjOwEVI0upqYODvLw4zs44ExODEiYThBNLE6kACAAAAAABGgD0AAMABwALAA8AEwAXABsAHwAANyMVMxUjFTMHMxUjFyMVMzczFSMXIxUzBzMVIxcjFTMmExMTExMTExMTEyXOzs7Ozs7Ozs7OzvQTJRMmEiYTvBMlEyYSJhMAAAQAAAAAASMBIAAWACcAMwA/AAATNxcVByc1IyIHBgcGBycmNz4DFzMXFTcnFSMmBgcGBzY3Njc2Mwc+AR4CBgcGLgE2Fx4BPgImJyYOARasEmRkEggfDxYUFRcTAQQEGSgwGg0WR0YkGC4RFQkUFBIWDxxCDB0aEAINDBMrGQkeBxEQCQIIBwwaDwYBFwlQEUwJIwMEDQ8eBg4OGSwgEQFBIzY4IQERERYdEwoIAwJKCQINGB0bBwwJJCw7BQIIDxEQBAgGFhoAAQAAAAABGAEaAA8AACUuAiIOAQcjPgIyHgEXAQUFHzA2MB8FEwUlOEA4JQWpGisYGCsaIDMdHTMgAAAABAAAAAAA4gEQABAAHgAnADMAADcuASMxIg4CHwEzNzYnNCYnOwEeARcUDwEnJjU+ARcmDgEeAT4BJic+AR4CBgcGLgE2ywocDxUiFAEMOwo7DAELQQECFiABCTAwCQEgIgYQCAMNDwkDJggVEgsBCQkMHhEF+goMFSIqEnd3EhYPGw4BIRcQDWFhDRAXISgFAw0PCQMNDxQGAgkRFRIFCAYZHgADAAAAAAD0AQcABwALABsAAD8BMxcVByMnNxUzNSc1NCYiBh0BMzU0NjIWHQE4E5YTE5YTE5YTIS4hExUgFZYTE14SEl5eXhMlGCEhGCUlEBYWECUAAAAAAwAAAAABBwEaABEAGQAdAAA3IzU0LgEiDgEdASMHFRczNzUnND4BFh0BIxcjNTP0ExQjKCMUExISvBOpIS4hcJa8vKklFSIUFCIVJRNwExNwOBggASEYJYNwAAAEAAAAAAEaARAAFgAaAB4AMAAAEyIOAR0BFzM3NTQ2MhYdARczNzU0LgEHIzUzFyM1Myc1NCYiBgcVIzU0PgEyHgEdAZYkPCMTOBMWHhcSORIjPFw4OKk5OTkgLiEBOB40PDQfARAjPCReExNeDxYWD14TE14kPCPhODg4ExMYIB8WFhMeNB4eNB4TAAMAAAAAARoBDwAHAAwAFAAAEyMHFRczNzUnFwcjJxcjNR8BMz8Bmwp+CfQJg2oaoBjZ4RQIqAgVAQ9LlQkJlTg/HR2FchoDAxoAAAADAAAAAAEaAPQABwANABAAAD8BMxcVByMnNxUzNQcjNyMXEwn0CQn0CRPhawxkvF7qCgqoCgqVjIxSXEkAAAAAAwAAAAABBwD0AAMABwALAAA3FTc1FzUnFRc1NxUmQUs4S0LFjSmNsI0jjSONKY0AAwAAAAAA9AEHAAMABwALAAATMwcjFyMnMxcjBzNnjSmNsI0jjSONKY0BB0JLOEtBAAAAAAQAAAAAAPwBEAADAAcAFQAZAAA3MwcjFTMXIz8BJyMPARUXBxczPwE1BzMHI2x3I3d3I3dkLAiNCC8sLAiNCC+QdyN3/TgTOEJGDgVLCUZHDgVLCQ44AAAEAAAAAAEQAPwAAwAHABUAGQAANxU3NTMVFzUPASc1PwEzFzcXFQ8BIzcVNzUvOBM4QUcOBUsJR0YOBUsJDjjAdyN3dyN3ZCwIjQgvLCwIjQgvkHcjdwAAAgAAAAABGgDPABAAFwAANzMVIzcHIycUFRcjNTMXFhc3NSMVIxc3dycbASEXIQEZKA8OAZwlJDc2znpjY2MHLy16KysEFkJCNjYAAAMAAAAAARoA7gAPABcAGwAAPwEXFQcnDgIuAjcvATUXBhUUHgE2NycXNQcm5wwMcgMPFRYPBgMmCEABCxAOAljX161ACqEKHgsPBgUQFQsKCiQ9AgIJDAIICCw5ij0AAAIAAAAAAO4A9QA4AEIAADcGJwYuAjc0PgIzMhcWFRQGIyI1DgEjIiY0PgEzNhYXNzMHBhYzMjY1NCYjIg4BFQYeAjcWNycUMzI2NzYjIgbEGh8RIRkMAQ4dJhQkFhkfFxUGEQoOEQ0XDQkPAwQRDwMDBg4VJR8YJRUBCRQbDhwZTBELEAQJGQ4SRA8BAQwZIBIUJx0QExUjHicSCQkTIh0SAQoIDzwNCh8WHSAYKRgPGhQKAQENOBcSESQeAAAAAAMAAAAAASwA4QADAAcACwAAJSE1IRUhNSE1ITUhASz+1AEs/tQBLP7UASzOE6kTOBMAAAACAAAAAADrAP4AJgA7AAA3JyMHFzcVMRUxFRQfARYXHgEfAR4CHQEzNTQuAi8BLgI3JxcHNjcmLwEGDwEOAx0BMzU0PgE3xSgOKA0VAQICAgQNBw4HDAcaBQsMBw0GCwYBARU0AwMHBAIFBg0HDAsFGgcMB9UoKA0UEwkGBQULBgYLEQgPBxETDRERDRgSEAcOBhAUCx0UUwQDCgwFBwYOBw8TGA0REQ0TEQcAAwAAAAAA/gEQAAsADwAjAAA3NDYyFh0BFAYiJjUXNTMVJwYuATUzFB4BOwEyPgE1MxQOASNeIS4hIS4hLxISGisZExQiFRIVIhQTGSsa2BchIRdLGCEhGI0mJiYBGisZFCMUFCMUGSsZAAAABAAAAAAA/gEaAAsAHAAgADQAADc1NDYyFh0BFAYiJjciDgEdARQeATI+AT0BNC4BAzUzFScGLgE1MxQeATsBMj4BNTMUDgEjZxwmHBwmHC8SHhISHiQeEhIeGxISGisZExQiFRIVIhQTGSsajUsTHBwTSxQbG6ARHxFLEh4SEh4SSxEfEf7nJiYmARorGRQjFBQjFBkrGQADAAAAAAEaARoAEQAWABoAABMjFSMHFRczFTM1Mz8BNS8BIxcjNTMXJzMVI5YTZwkJZxNUBygoB1RQwMAfp15eARklCksJg4MCJg4lA0s4HAkSAAADAAAAAAEaARoACgAVACUAABMfARUHJwcnNT8BHwE1JxUjNQcVNzE/ARcVByc3IxcHJzU3FwczoXQEDnV1DgR0FWdnE2dnIw4uLg0ecR4NLi4NH3IBGUsHrAhLSwisB0urQpZCNjZClkJaDS8NLg0eHg0uDS8NHwADAAAAAAEaAPQAEwAeACIAACUnIwcVMzUXBh0BHwEzPwE1NCc3BxUHJzU2NxczNxYvATcXARmABoATKw8FSwhJBg8/QkFCAQ0xBzANQWdnZ8IyMndeERUaCAciIggIGRUZRwEeHgEWEhMTEhEoKCgABAAAAAABEAEaAAkAEwAdACcAADcHNSMVJwcXMzcnFzcVMzUXNycjDwEzFSMXByc1NxczJzcXFQcnNyPAIRIhDTAOMG4NIRIhDTAONSFBQSENMTFlQSENMTENIUFjIEBAIA0wMJMNIEBAIA0wUCATIA4xDTAtIA0wDTEOIAAAAAAFAAAAAAEaARoADAAQABgAHAAgAAATNzMXFQcjNTM1IxUjNxUzNQ8BFRczNzUnBzUzFQczFSNxCZYJCS8mhBIShOsJCZYKCoyDg4ODARAJCYMKE0sTORMTXgqDCQmDCiYTExJLAAAAAAUAAAAAAQcBBwAMABUAJwArADQAACUjFSYjIgYUFj4BPQEHMhYUBiImPgE3DwEVJiMOARQWMjY9ATcVMzUHFQc1BzIWFAYiJjQ2AQcTDQ8UGxsnGy4LEREXEQEQMZYJDQ8UGxsnG4QTE4MvCxERFxAQqS8JGyccARsTVTgRFxERFxGVCQmNCgEbJxsbFHEIElQKJQkmjREXEBAXEQAAAAADAAAAAAEZARcACQARAB0AADczNxcVBycjJzUfATUPASMVMzcXBxcHJwcnNyc3Fxw0SRAQSTQJSDs7By4utw0gIA0hIA0gIA0gzkgG9AZICV5YO8c7AktJDSAhDSAgDSEgDSAAAwAAAAABLAEaABAAEwAfAAATHwEVIzUjNSMVMxUjJzU3MwcVMxcjNSM1MzUzFTMVI7JAAhNLXktUCQl+BDYVEzg4Ezg4ARdBCCUTS88SCeEJEjnOOBM4OBMAAAADAAAAAAEsARoAEgAcACgAAAEjLwEjBxUXMzUjNTM/ATMHMzUHIw8BIzUzHwEzByM1IzUzNTMVMxUjARB/EAdeCQlnXlUGEHcBExN6BhBQUBAHehMTODgTODgBBw8DCc4KE3ECECVUHAMQOBAC9DgTODgTAAEAAAAAAPQAxQARAAA3FRQGKwE3JwcVFzcnMzI2PQHhBQSBHg0wMA0egQsRxSUEBh8NMAowDR8QDCUAAAQAAAAAARoA0gAIAA8AFgAoAAA3Nh4BDgEuATYXLgEOARYfAR4BPgEmJzcVFAYrATcnBxUXNyczMjY9ASwTLhoJJy4aCUYJFBIKAQUNCRQSCgEFnAYETR4NMDANHk0MEMUNCScuGgknLgIFAQoSFAkNBQEKEhQJJSUEBR4OMAsvDR4QDCUAAAAFAAAAAAEaAQcABwALAA8AEwAXAAATMxcVByMnNRcVMzUHMxUjFyMVMwczFSMc9AkJ9AkT4byWlnFxcXFLSwEHCrsKCrsJqakmEhMTExIAABcAAAAAASwBLAADAAcACwAPABMAFwAbAB8AIwAnACsALwAzADcAOwA/AEMASwBPAFMAVwBbAF8AADcjNTMVIzUzFSM1MxUjNTMVIzUzHQEjNRczFSM3MxUjAyM1MxcjNTsCFSMzIzUzFyM1MxcjNTMVNTMdASM1MysBNTMXNzMXFQcjJzcVMzUXMxUjFTMVIxUzFSMnMxUjExMTExMTExMTExMTExMTJRMTJRMTJRISExMTOBISJhMTJRISExMTzhMTSxODExODExODJRMTExMTE5ZeXs4TOBM5EzgTORMlExMTExMTARkTExMTExMTExMlEhImExNLEhKpExOpqakTJhImEyWDEwAAAAAHAAAAAAEaARoABwALABMAFwAbAB8AIwAAEzczFxUHIyc3FTM1BzczFxUHIyc3FTM1FyMVMwczFSMXIxUzJhKpExOpEhKplhNeEhJeExNeXRISEhISEhISAQcSEuETE+Hh4SYTExMSEhMTExMlEyUTJgAAAAQAAAAAARoA+gAlAEAASQBSAAAlNjc2JyMmBwYHBgcmIgcmJyYHMQYXFhcGFRQXFhcWMjc2NzY1NAciJyYnJjU0NzY3MhcWMjc2MxYXFhUUBwYHBiciBhQWMjY0JjMiBhQWMjY0JgEEAwEBBwQEBggJDA4SQhIZEgkFBwEBAxURDx8aUxsfDxGDIRAYDA0RCA8KFhESEhUKDwgRDQwYEEoIDAwQDAxKCAwMEAwMwggKEhIBAgEFBQkFBRAEAgESEgoIFyApGBUKCAgKFRgpIHgDBAsMGRMPCAIBAQEBAggPExgNCwQDUhEYEREYEREYEREYEQAEAAAAAAEtARoADAAQACIALgAAEzMXFSYnNSMVByMnNRczNSMXIgcjDgEXBxc3HgE+Ai4CBwYuAT4CHgIOATjPEgkKXRVcEhJeXsMMCgERCQssDSwJFxUPBwQNFQgKDwcEDBAQCQEGDAEZEmQEAl7MFRLPz89xBwonESwNLAYDCBAVFhIKSwELDxEMAwYNDw4IAAAACgAAAAABGgEcAAsAFwAkAC0ASABiAHcAkgCeAKcAADcOAS4CNjc2HgEGJy4BDgIWFxY+ASY3NhYXHgEOAiYnJjYXFjI2NCYiBhQHMxUjIiY9ASImPQE0NjsBBgcjIgYdATMVFBY3JisBIgYdARQWMxUGFxYXMz4BPQEyNj0BNAcjFRQGKwEiJj0BIzUmNjsBMh4BFRcjNTMyNj0BMzU0JisBJiczMhYdARQGIxUUBiciDgEeAj4BNTQmByImNDYyFhQGqwkUEgsCCggNHhIGGAQKCQYBBQUGDwgDKwkUBwUEAwkOEQYJAhQDCAUFCAWcIiIJDgcLEw4iBwMYBgkTAosKDi4OEwsIAQcFByYICwcLEhMCAh4CAhIBCQYuBQcDNCIiAQMTCQYYAwciDhMLBw6uCQ4GAwwREAkQDAQFBQgFBdUGAgkRFBIGCAYZHyYDAQQJCgkDBAQMDwQFAgcFDQ4LBgMGChoWAwUIBgYIpRMNCiIMCCkNFAgLCQUqNQICegoUDjsIDCwJBwUBAgwILAwIPA1KPwECAgE/PQUJBQcCdhMCAjUqBQkLCBQNKQgMIgoN2QoQEQwDBg8IDBEmBQgGBggFAAAABQAAAAABBwEsABUAGQAdACEAJQAAExUXFQcjJzU3NTMVMzUzFTM1MxUzNQMzNSMXMxUjFyMVMwczFSP0ExO8EhITJhImEyWpvLwmcHBwcHBwcHABLBMS9BMT9BITExMTExMT/uf0JhM4EzgTAAAAAAQAAAAAARoA9AAKABAAFAAcAAA3HwEVDwEvATU/ARcHHwE/AQcXNScXFTc1BxUHNaFsDAdzcwYLawRLCkA5EbFeXnFeJhP0HQl+CSAgCX4JHRMTAxEPBXcabBkZbBprCjAFMAADAAAAAAESARoAIwAtAEIAACUnNSc1NCcmJyYjIgYdAQcGFB8BFhcWNzY/AQcUHgIyPgInJj4CHgEdAQcXDgEmLwEmND8BFQYUHgE+ASYnNRcBERZcAgQLBgUMEDkJCUQEBQsKBQRdDQEGBwoIBgKWAQEDBAYEEhMBBQYBRAMDUgUGCgkEAwRITzoBXBcGBQsEAhAMPTgIFwlEBAIEBAIEXSoECQcEBAcIswIEAwEBBQQXE6oCAgICRAIIA1E1BAsJAwUJCgM1SQAAAAACAAAAAAEaARoADAATAAA3Mj4BNC4BIg4BFB4BNyMnNxc3F5YkPCMjPEg8IyM8EQ0rDSRPDRMjPEg8IyM8SDwjTSsNJE8NAAADAAAAAAEWARsABgAcAC8AADczNycHJwc3HgEXFhUUBw4BBwYnLgM3Njc+ARc2NzYnNCYnJicmBgcOARYXHgF2DVUNTyQNVhYpECYeDyYWMCcUHhADBw8mEishJhkZAhEPHSYTJg8gFyEiECZgVg1PJA2OARQQKTcrJxIXBAkWCyIqLhUuGQwM9AkfIiUXKhAdAwEJCxhOSBMKBgAEAAAAAAEaARsACwAXACMARQAANyMVIxUzFTM1MzUjJy4BDgIWFxY+ASYnPgEeAgYHBi4BNhczMhYdASM1NCYrASIGHQEzFRQWOwEVIyImNzUiJjc1NDb0EyUlEyUlVAQKCQUBBAUGDwkDJgkUEgsCCggNHhEGCi4OExIJBi4GCRMCAg8PCQ4BCQsBE3EmEyUlE7gDAQUICgkDBAMNDxQGAQkRFBIFCQcZHkUTDg4OBggIBjM/AQITDQksDAgyDhMAAAAABAAAAAAAzwEaAAgAEQApAD0AABMyFhQGIiY0NjciBh4BMjY0JhcjIgYdAQYWMxUGFjsBMjY9ATI2JzU0Jgc1JjY7ATIWBxUjFRQGKwEiJj0BlggLCxALCwgQFgEVIBYWBy4OEwELCQEOCR4KDQgLARNKAQkGLgYJARICAh4CAgEHCxALCxALEhYfFhYfFlQTDjIIDCwJDQ0KKwwIMg4TVDMGCAgGMz8BAgIBPwAAAAABAAAAAAEsAQcALQAAEwcVMzUzFRczNzUzFRczNzUzFRczNzUzFSM1IxUjNSMVIzUjFSM1IxUXITc1JxMTEyUKEgolChIKJQoSCiU4Ey8SLxM4ExMBBhMTAQcTcXFnCgpnZwoKZ2cKCme8OTk5OTk5S0sSErwTAAAEAAAAAAEaARoABQAOABsALQAANzMuAScVNx4BFxYVIzUyBxczDgEjIi4BNTQ2NxcyPgE3NjUjNSIHDgIXFB4BvEkGKBwBIzMGAXAJLxNcBzMiGSwZKyATGzAgBAJxCQoaKxkBHjO8GygGSVwGMyMKCXCDEyArGSwZIjMHzBgrGgoJcQIEIDAbHzMeAAIAAAAAAQcA4QAcADcAACUVIyImJyMOAysBNSMnNzM1MzIWFxYXMz4BMwcGBwYPASMnJicuAScVPgE3Nj8BMxcWHwEWFwEHBgsTBzYEDA8SCgk8ExM8CQoRCBAINgcTCwkDAwUDBE0CBAkEDwYGDwQJBAJNBAECBQIEzoMKCQkOCgVLCglLBQUKEgkKFAECAwYFBgwIAwcBgwEHBAgLBwYDAgQCAQAAAAIAAAAAAS0BBwA2AFAAABMzFRQGBxUeARcGBzEmLwE1NzY/ATY3IxYXFh8BFQcGBw4BBzMGByMVByc1IzU0Njc2NzUuATUXPgIXHgEXFhQHDgEHBiInLgEnJjY3Njc2S4MJCgkNBAkICQwGBQMCBAIBWwIBBAUGBwsIBAcBXgUECgkKSwYEChIJCowHDg8IDhUEAgIEFQ4IDwcOFgQCAQEFDAQBBwYLEwc2BAsGAwUKBAJNBAECBQMDBAIFAwRNAgQJBA8GBwg8ExM8CQoRCBAINgcTC5gEAwEDAxUPBw8IDhUEAgIEFQ4IDwcQCwQAAAIAAAAAAOEBBwAcADcAABMzFRQGBxUeAx0BIxUHJzUjNTQ2NzY3NS4BNRcWFxYfARUHBgcOAQczLgEnJi8BNTc2PwE2N0uDCQoJDgoFSwkKSwYEChIJChQCAQQFBgcLCAQHAYMBBgQIDAYFAwIEAgEBBwYLEwc2BAwPEgoJPBMTPAkKEQgQCDYHEwsJBAIFAwRNAgQJBA8GBg8ECQQCTQQBAgUDAwAAAAQAAAAAARYBGwAVACgALgAxAAATHgEXFhUUBw4BBwYnLgM3Njc+ARc2NzYnNCYnJicmBgcOARYXHgEnNxcVByc3FTehFikQJh4PJhYwJxQeEAMHDyYSKyEmGRkCEQ8dJhMmDyAXISIQJicOVFQOEjoBGQEUECk3KycSFwQJFgsiKi4VLhkMDPQJHyIlFyoQHQMBCQsYTkgTCgarCDgQOAhfTicAAgAAAAAA8AEHAAUACAAAEwcVFzc1BzUXRw8PqaWPAQcI4QhwEGe+XwAAAAACAAAAAADiARoAFQAfAAATIxUjBxUUFhcVMzU+AT0BJyM1IxUjFw4BLgE9ATMVFIMSHQklHRIdJQkcEyY7DCIfE3ABGTgJQhwrAzk5AyscQgk4OHMMBg0cETg4FwAAAAAFAAAAAAENAO8ABwAPAB8AJwAvAAA3IycjByM3MxcnJicxBg8BFzUzMhYVFAYHFR4BFRQGIycVMzI2NTQjBxUzMjY1NCOgEw8+DhM4ERAXAQEBAhZuKRMWDgsOEhsUGREOEBwTFw8QI14oKJBZPgMHBwM+N5ASDwwSBAEBEw8SF4EvDgwVPjQODBoAAAgAAAAAARoBBwAHAAsADwATABcAGwAfACMAABMzFxUHIyc1FzM1IxcjFTMnIzUzBzM1IxczFSMnIxUzBzMVIybhEhLhExPh4c68vBOWljhLSxMlJTlLS0tLSwEHE7wSEry8vBM4ExKDSxMlOBMlEwACAAAAAADrAOsABwALAAA/ATMXFQcjJzcVMzVCCZYJCZYJEoThCQmWCQmNhIQAAAAFAAAAAAEaARoABwALAA8AEwAXAAATMxcVByMnNRczNSMXMxUjNyMVMzczFSMc9AkJ9AkT4eESJiZxJiYlJiYBGQn0CQn06uETvLxxcZYAAAEAAAAAARoA9AASAAA3JyMHJyMHIxUzPwEXMzcfATM13SETIxYSFjU8Cg0WEyMbCUODcX1dURIHMl+EWAYSAAAEAAAAAAEHARoADAAZADwAQAAAEyIOARQeATI+ATQuAQciLgE+AjIeARQOATcuASIOAgczND4BMh4CFAYPAQ4BFxUzNTQ2PwE+AjQmBzMVI40hOCEhOEI4ISE4IRwwHAEbMDgvHBwvAQUPEQ8KBAEXBQcGBQQCBAMOAwQBFgQDBwQGBAQuFRUBGSE4QjggIDhCOCHhHC84MBwcMDgvHJ4FBgYLDQcFBwMBAwUICQQQBAkFDAkECAQIBAoLDQxeFgACAAAAAAEKAQ0AEAAiAAA3DgEVMjMyFhQGIyImNTQ2NxcOARUyMzIWFAYjIiY1NDY3F4YjIAMFExwaFRsdLy+ZJCADBRMcGhUbHTAuFuoWMyQYKxsqJjVOGyMWMyQYKxsqJjVOGyMAAAgAAAAAARkBGgAMABkAJQAxAEMATgBSAFYAADc0NjcnDgEUFhc3LgE3FBYXNy4BNDY3Jw4BFyc+ATQmJzceARQGNwceARQGBxc+ATQmBxYPARcHJyMHJzcuAT4CHgEHDgIeATI2NC4BFyMHMxcnIwc4EA8OERMTEQ4PEBQNDA0JCgoJDQwNkA4KCgoKDgsNDQ4NDhAQDg0RExNLAQUFQBEOaA8RQAUEBw0PDQkeAgQBAgUGBgQFAgURJhkRNhDDFSYODREsMSwRDQ4mFBAfDA0JGBoYCQ4MH00OCRgaGAkNDB8hH4YNDiYpJg4NESwxLEIKCASRCCEhCJEGEBAJAQYMAQEEBQUDBQcEAickOCUlAAAAAAUAAAAAARoBCwAVAB4AKgAzAD8AADcUBzM2LgEOAh4BNzUGLgE+Ah4BBzI2NCYiBhQWFzI3Fw4BIiYnNx4BNzI2NCYiBhQWFzMVMxUjFSM1IzUz4QETAyA7QC4MHDkgGi4YBiMzMR56CAsLEAsLLhQODQkZGxkJDQcSLwgLCxALCzcTJSUTJSWfBAUgORwMLkA7IAMTAxgvNCcNEysRCw8LCw8LLw4NCQsLCg0HCC8LDwsLDws4JhMlJRMADgAAAAABGgD0AA8AEwAXABsAHwAjACcAKwAvADMANwA7AD8AQwAAJSMiBh0BFBY7ATI2PQE0JgcjNTMHIxUzByMVMzczFSMXIxUzJzMVIzcjFTMnMxUjFSMVMwczFSM1MxUjNyMVMwczFSMBB88ICgoIzwcLCwfPzzkSEhITEyUTExMTE4NdXYMmJl4TExMTSxMTExM4EhI4Jib0CwiDCAsLCIMIC5aDExITEzgSORISEjgTOBITExMSXRISEhMTAAAAAAMAAAAAAOIA4QAIABUAHgAANzI2NCYiBhQWNxQOASIuATQ+ATIeAQc0JiIGFBYyNpYICwsQCwtTFCMoIxQUIygjFBMhLiEhLiGDCxALCxALExQjFBQjKCMUFCMUFyEhLiEhAAADAAAAAAEWARsACAAeADEAADcyNjQmIgYeATceARcWFRQHDgEHBicuAzc2Nz4BFzY3Nic0JicmJyYGBw4BFhceAZYQFhYgFgEVGxYpECYeDyYWMCcUHhADBw8mEishJhkZAhEPHSYTJg8gFyEiECZxFSAWFiAVqAEUECk3KycSFwQJFgsiKi4VLhkMDPQJHyIlFyoQHQMBCQsYTkgTCgYAAQAAAAAA6wEKABkAABMVByM1MycuAQ4CFh8BBycuAT4CFh8BNeoJQjASDSIjGQoKDWENYhAMDCEsLBENAQdCCRISDQkJGSMjDGINYREsLCELCxENJwAAAAoAAAAAASoBLAAVAB0AIQAuADIANgA6AD4AQgBHAAA3Byc3IyIGFBY7ARUjLgE0NjczJzcXEyMnNTczFxUnMzUjNzMXFQcjNTM1IxUjNRcjFTMHMxUjFyMVMzczFSMXIxUzJzEzFSOLKw4aPA0REQ0LCxQcHBQ8Gg4rRXgKCngKeGRkRngKCjIoZBQUPDw8PDw8PDwUPDw8FBQqKhbzKw4aERkSFAEdKB0BGg4r/v8KoAoKoAqMeAqgChSMPEaCFBQUFBTIFDwUPBQAAAEAAAAAAQkBBwAdAAA3IzUzFxUjNQ4BHgE+AiYnNx4CDgMuAj4BWDJBChMaERo5QCsFJB8FGSUSBBorMzElEgQa9BMKQSUTPzwfCzBBNQoSCCMwMywdBxAjMDMsAAAAAAIAAAAAAQgBBwARABUAABMzFTcXBxcHJxUjNQcnNyc3FwczFSO8EjAJMDAJMBIwCTAwCTCWS0sBBzsdEB0eEB06Oh0QHh0QHVtLAAAFAAAAAAEtARIAEgAfACwAMgA4AAATMxcVJic1IxUzFBcjNTM1Iyc1FyIOARQeATI+ATQuAQciLgE0PgEyHgEUDgE3JzcXBxcnFwcXNycR/gkJCuphFE46awrXFSQVFSQqJBUVJBUQGxAQGyAbDw8bEBoaCRMTSxISCBsbAREJbAcFVrAgGhMUCcRsFSQqJBUVJCokFYgPGyAbEBAbIBsPJxsbCRITERITCBsbAAAAAAIAAAAAAPIBGgAGAA0AADcnNycHFRcnFwcXNzUn8ktLDFBQrk1NDFJSeUpLC1AMUFZNTAxTC1IAAQAAAAABGgCpAAMAACUhNSEBGf76AQaWEwAAAAsAAAAAARoBGgALABUAJgA6AEQAWABhAHMAewB/AIYAADc2MhYUBiInByM1MxUUFjI2NCYiBhUHJzcXNTQ2OwEVIyIGHQE3FzczNTQjIgYHFTYyDwEGFRQWMzI/ARUUBiImNTQ/AQcjNQYjIiY1ND8BNCIHNT4BNzIVBzUHBhUUFjI2FzI3NQYiJjQ2Mhc1JiciBhQWJzczFxUHIyc3FTM1JzczFxUHNdoEDggJDgMBCwsEBwQDBwWMJwwTDwssLAQFEgw7DRIECQMHDwELDgcGCAQBBQYDBgcsDAQIBgcOCw4HAwkEEQwHBgMGBDcJBQUMBwgLBAMIDA4NfRKpExOpEhKpcBKEEhL6CQ4YDwcGSjQEBwgOBwgFTigMEx0KEBEGAx0SDA0gFwMCDAUJAQMQBwkJEgQEBwQCBwEBrwcJCQcQAwEJBQwCAgEXCwQBAQcCBAYSAw4ECA4JBA4CARAaD0sTE10TE11dXSYTE14TcQAAAAYAAAAAAOIBGgAQAB0AJwA6AEIARgAANxc3Jwc1NDY7ATUjIgYdAScXMxY+ATQmIgcnIxUzPQE0NjIWFAYiJgcGIyImNSY2MzIXFSYiBhQWMjcnBxUXMzc1JwczFSM8KykNEwYDHRwMEBRvAQUVDQsWBgEQEAYLBgYLBhAHDhATARYRDAYHEQsKEQheExODExODg4PmKyoNEx4EBhIQDB4ULwkBEh4RCydcGwcHCAkRCgmWBRQQEhUDEwULEwsFWxNwExNwExNwAAAAAAEAAAAAAQcBBAAVAAATBxUXNyczMhYXFh0BMzU0LgIrATd2S0sOPSQnNBAeExEmPCkiOwEETA1LDTwQEB9HBgYnOSYTOgAAAAkAAAAAARoBGgAoACwAMAA0ADsASwBTAFcAWwAANyM1MzUjIg4CHQEGFhcWFzM1IyInJic0PQE0NTY3NjsBFSMVMzc1IycjFTMHMxUjFTMVIxcjNTMVIyc3MxcVByMVIzUjIiY9ATQ2FzM1IyIGHgE7ATUjJzM1I/SpS1AGDQkEAQsKBgYFBQMCBgICBgIDrktUChODExMTExMTEwUFOAUXQlQJCS8TEggLCxEJCQQGAQUgJiYTOTlxlhIFCgwGsgoQBAIBEwEDBQMCCgIDBQMBJhMKVHETExITE4M4OBzqCXEJExMLCF4HC3ATBggFExI5AAAHAAAAAAEaASwADwAfAC8APwBHAFcAYAAANzEyFhUxFAYjMSImNTE0NhcxMhYVMRQGIzEiJjUxNDY3MTIWFTEUBiMxIiY1MTQ2NzEyFhUxFAYjMSImNTE0NgczNxcHIyc3FyMVMx4BMjY3MzUjLgEiBhcUBiIuAT4BFp8EBgYEBAUFBAQGBgQEBQUEBAYGBAQFBQQEBgYEBAUFBRNEDVQNVQ4MODgEJTElAzk5AyUxJWwbJxsBHCcb4QUEBAYGBAQFJQYEBAUFBAQGSwYEBAUFBAQGJQUEBAYGBAQFeUUOVFQOrRMYICAYExggICEUGxsnGwEcAAAAAAQAAAAAARoBGgAJABMAIwAsAAA3FTM1FzcnIwcXNxUzNRc3JyMHHwEjFTMeATI2NzM1Iy4BIgYXFAYiLgE+ARaWE0QNVA1VDkQTRA1UDVUODDg4BCUxJQM5OQMlMSVsGycbARwnG/wSEkQNVFQNDC4uRQ5UVA40ExggIBgTGCAgIRQbGycbARwAAAAABAAAAAABBwEIAC8AOABBAEoAACU0LgEOARYXFRQPAScmPQE+AS4BIg4BFhcVFBYfARUOAR4BMj4BJic1Nz4BPQE+ASc0NjIWFAYiJhcUBiImNDYyFjciJjQ2MhYUBgEHFB4XBBAOBTQ0BQ4QBBUcFQQQDggHMw4QBBUdFQMQDTIICAwPuwsQCgoQC2cLEAsLEAsvCAsLEAsL4Q8VAxMcGQMUBgMaGgMGFAMYHBISHBgDFAgOAxsYBBccExMcFwQYGgQOCBQDFA0ICwsQCwuhCAoKEAsLjgsQCwsQCwAAAAADAAAAAAEaASwADwAYACIAADcjFTMeATI2NzM1Iy4BIgYXFAYiLgE+ARYnNTMVNxcHIyc3Xjg4BCUxJQM5OQMlMSVsGycbARwnGzgTRA1UDVUOSxMYICAYExggICEUGxsnGwEcXnl5RQ5UVA4AAAAAAwAAAAABGgEaAAkAGQAiAAA3FTM1FzcnIwcfASMVMx4BMjY3MzUjLgEiBhcUBiIuAT4BFpYTRA1UDVUODDg4BCUxJQM5OQMlMSVsGycbARwnG/xmZkQNVFQNbRMYICAYExggICEUGxsnGwEcAAAAAAYAAAAAAQcBGgAmACoALgAyADYAPQAAJTUnIyIHBgcGBxUUFxYXFjsBNSMiJyYnJj0BNDc2NzY7ARUjFTM3JzUzFSczFSMVMxUjFyMVMxcHIzUzFSMBBwq3BgYNBQIBAwUNBgYFBQMCBgIBAQIGAgOuS1QKvKmWExMTExMTEwkXBTgFcZ8JAgYNBgayBgYNBQISAQMFAwIKAgMFAwEmEglClpaDExMSExNnHDg4AAAABAAAAAABGgEaAAsAFAAYABwAABMzFxUHIwcnNSMnNRczNSMVMxcVPwEzFSMVMzUjHPQJCX82EC8JenrhLgooBxISEhIBGQm8CTYHLwm8sqmpCiEomV4lEgAAAAAEAAAAAAEHARoACQAOABoAHgAAEx8BFQcjJzU3MwczNScjFyMVMxUzNTM1IzUjBzMVI8k4BRKpExNwcKk5cEslJRMlJRMlXV0BFDgOqBMT4RLzqDlLEyYmEyWDEwAAAAAHAAAAAAEaASwACAARABoAIwAwAFYAZgAANxQGIiY0NjIWBxQWMjY0JiIGFxQWMjY0JiIGFxQGIiY0NjIWBzY3Fw4BIiYnNx4BPwEUBgcVMzIWHQEXFQcVFAYrASImPQEnNTc1NDY7ATUuATU0NjIWByIGHQEUFjsBPgE9ATQmI5YWHxYWHxY4Cw8LCw8LOBYfFhYfFjgLDwsLDwsuDgsNCRkcGQoNCRgNEgoJLxggExIhGHAYIBMTIBgvCQoQGBBUEBYWEHAQFhYQlhAVFSAVFRAICwsQCwsIEBUVIBUVEAgLCxALC0UDCw0KCgoKDQkHArcJDwMBIRcTEyUTExchIRcTEyUTExchAQMPCQwQEDsWD3EQFgEVEHEPFgAAAAAGAAAAAAEaARoAEQAWABsAKAAuADcAAAEiBwYHIwcVHwIzNzU2NzY1BzMGBycXJzY3FS8BNjc2NzY3BgcGBwYHNSM1IxU3Ni4BDgEeATYBEC8uJSROCQNwBzgJIRMX8zEXEwdqBxsXQEAQFSMkMC8DHhckF0glE7cGBRMXDQUTFwEZFxMhCTgHcQIJTiQlLi9UGBsHagcTFzEVQBgXJBceAy8wJCMVOBMlOJAJFw0FExcNBQAEAAAAAAElAQcAHgAoADUAPgAANzU3Mx8BMxcVMxcPASM2NzM3IyYnPwEzNSMvASMVBhcUBiImNDYyFhUzFA4BIi4BND4BMh4BBzI2NCYiBhQWEwleBhFsChUJMglGBwUzLWwGCAMGVWcHEFAKVREXEREXECYSHiMfEREfIx4SQhQbGycbG7dGCgMQCi4MhAYICnEHBgMDJQMQMQVXDBAQGBAQDBIeEREeJB4SEh5BHCcbGyccAAAABAAAAAABGgEHABwAJgAzADwAADczFxUHIzY3MzcjFSYnPwEzNyMvASMVBgc1NzMXBxQGIiY0NjIWFTMUDgEiLgE0PgEyHgEHMjY0JiIGFBaRfwkJbAcFVgF3CAkHBnoBegcQUAoJCV4HEBEXEREXECYSHiMfEREfIx4SQhQbGycbG/QKuwkICoQBBgQGAxMDEDEFB0YKA50MEBAYEBAMEh4RER4kHhISHkEcJxsbJxwAAAAAAwAAAAAA9AD0AAQADgAYAAA3IzUyFicVMh4BFTM0LgEHFTIeARUzNC4BXiYQFiYuTi0TM1YzGisZEx8zOCYWrBMtTi4zVjNLExkrGh8zHwADAAAAAAEaAPQACQAOABIAADcXMzc1LwEjDwEXJzczFyczFwcTfA58Pgd8Bz6DbzV0NW8yIlSlfHwOPgMDPnZvNTUiIlMAAAADAAAAAAEgARoABQAIABIAABMHFRc3NQc1HwEzFwcnFSM1BychDg6ppI4wDS8NHxMfDQEZCOEHcBBnvl8LLw0fZmYfDQAAAAAFAAAAAAEXAPgABgAQACAAMgA5AAA/ATUnFRcHJzcXFQc1NycVIxcmDgEeATY3MTY1NCcxLgEHNhcxFhceARUxFg4BLgE3MTYXByMnNxc3n3eahmNqDp9DLoYSIRgmDhEpLhAPEwgVLQ0TEQ0GCAEWIx4PBgVKIw0RDAwdL1AOZxVZQqwHag4tFR9ZQA4BGS0sFwgTFBYbFQgKGAoBAg0GEwsQHQgSIBIREyMRDQwdAAMAAAAAARYBBwAFAAgADwAAEwcVFzc1BzUXBzc1JxUXBzQODqmlj1akpI6OAQcI4QhwEGe+X3VtEG4XX18AAAADAAAAAAEgARoABQAIABIAABMHFRc3NQc1HwEjJzcXNTMVNxciDw+ppY49DS8NHxMfDQEZCOEHcBBnvl+OLw0fZmYfDgAAAAAEAAAAAAEWAQcACQAcAC4ANQAAPwEXFQc1NycVIwcmBgcGFhceATY3MTY1NCc1LgEHNhcxFhceARUxFg4BLgE3MTYXByMnNxc3Xg6pbFaOEwMZKAgEAgQJKzEREBQJFjAOFBIOBwgBGCQgEAYFTyUOEg0MH/8IcRBIFzlfRA8BGhkMGAwWGQoTFRceFQEICxkKAQINCBQLER8IEyETExUlEw0MHwAAAAAEAAAAAAEWAQcACQAcAC4AOgAAPwEXFQc1NycVIwcmBgcGFhceATY3MTY1NCc1LgEHNhcxFhceARUxFg4BLgE3MTYXJwcXBxc3FzcnNydeDqlsVo4TAxkoCAQCBAkrMREQFAkWMA4UEg4HCAEYJCAQBgUsFgwXFwwWFwwXFwz/CHEQSBc5X0QPARoZDBgMFhkKExUXHhUBCAsZCgECDQgUCxEfCBMhExMXFwwYFwwXFwwXGAwAAAAABAAAAAABGgEaAA8AGAAcACYAACUvASMHFSMHFRczNzUzNzUHIzUzFTM1MxcHNTMVFyM1LwIjNTMXARYcBqAJLwkJvAkvCUuoEnEPFl0lcSYDHAZekhf6HAMJLwm8CQkvCaDOqDk5Fg8lJUteBhwDJhcAAAAFAAAAAAEaARkAFAAYACAAIwAnAAATHwEVIwc1JyMVIzUjFTMHIyc1NzMHMzUjHwEVDwEnPwEPAT8BFzcnzx8GCgkfBnElOAouExOcPyYmehxyOQwccmcKEwMPYQ8BEx8OBgkPIEtLvBISvBNLOTkcDXIcDThyhxMJHQ9hDgAAAAMAAAAAARoBGgAJABIAFgAAEx8BFQcjJzU3MwcVMzUnIxUjNTMVMzX6HAMJ9AkJ2M7hFyKDSyYBFx0G2AkJ9AkS4coXS0s5OQAAAAAGAAAAAAEaAQcAAwAHAA4AFQAcACMAADczNSMXMxUjJyM1NzMVIzcVIzUjNTMHMxUHIzUzIzMVIyc1Mzi8vCZwcDgTCUI48xI5QgkSCUI54ThCCRNLliVLS0EKEwlBOBOWQgkSEglCAAYAAAAAARoBGgAGAA0AFAAbACMAJwAANyM1MzUzFTc1IxUXMzUHFTM1MzUrARUzFTM1JzcHIyc1NzMXByMVM0IvJROpEwkvOBMlL9clEwmfCYQJCYQJJUtL4RMlLwolLwkTsi8lExMlLwkcCQleCQkcJgAAAwAA//8BLAEQABIAHwAvAAATIg4BFRQWFwcXNxYzMj4BNC4BBzQ+ATIeARQOASIuARcHIyc3FzczFzczFxUnByOWFycWDAtFDUYVGhcnFhYnWRIeJB4SEh4kHhJVKA4cDRYoDSkoDR8lKQ0BEBcnFhEeDEUNRg4XJy0nF1QRHhISHiMeEhIegigcDRUoKCgfGiUoAAQAAAAAARsBHwAcACkAMgA6AAA3DgEXFhcGFxUnByc3LgE+AR4BFRQHJic1NC4BBhc+AR4CDgIuAjYXFjcWNycGFRQ3FzYnNiYjImwTCQsIDwIBCUcORxcFJEFCKQEICR0vMicQKSQWAxIiKCQWAhESERcSD08KGE4LAQEhGBLuEzUYEgwJCQMGRQ1FGUU6GRM3IwcIBwYCGioUCmQLAxIhKCQXAhEiKCRbEQEBC04OEhhGTw8SFyEAAAAAAgAAAAABLAEtAA8AHQAAEyIOARYXBxc3HgE+AS4BIxUiLgE0PgEyHgEUDgEjvx8zGQkUZA5kG0M4FhQ3IRcnFxcnLiYXFyYXASwhODwWcwxyFQImQEEouxYnLicWFicuJxcAAAIAAAAAARoBEAAGAA0AABM3FxUHJzcXBzcnHwEVEw74+A4dFBjR0RhlAQgIcBFwCG8JV2JfVgISAAAAAAYAAAAAARwBGgADAAcACwAdACEAKQAANzMVIxUzFSMVMxUjFyE3MzU0PgI7ATIeAh0BMwczNSMXJyMVIzUjB3FLS0tLS0ur/vQYIwMFBwRwBAcFAyOmcHCmDhWWFQ70E14SExNLXqkDBwUDAwUHBKgmz/Q4JSU4AAYAAAAAARoBBwAMABAALgA3AFUAXgAAEzMXFSM1IxUzFSMnNRczNSMXNSYnByc3JjcnNxc2NzUzFRYXNxcHFgcXBycGBxUnFBYyNjQmIgYXNSYnByc3JjcnNxc2NzUzFRYXNxcHFgcXBycGBxUnFBYyNjQmIgYc9AkS4YONCRPh4V0FBBEKEgEBEgoRBQQTBQQSCRIBARIJEgQFFwgLCQkLCWUFBBIJEQEBEQkSBAUSBQQSCREBAREJEgQFFwgMCAgMCAEHCno5hBIJzi8mqRUBAwoRCgUFChAKBAEVFQEEChAKBQUKEQsEARUvBggIDAgIbRQCAwoQCwUFChAKAwIVFQIDChAKBQULEAoDAhQvBgkJCwkJAAAGAAAAAAEHARoABwAbACMANwA/AFMAADcnNTczFxUHJyMVIzUjFSM1IxUjNSMVMzUjFSMHJzU3MxcVBycjFSM1IxUzNSMVIzUjFSM1IxUjFzc1JyMHFRc3NTMVMzUzFTM1MxUzNTMVMzUzFS8JCc4KCkETExMSExMTvCYSjQkJzgoKjBMTE7wmEhMTExKMCgrOCQkJExMTEhMTExImzgo4CQk4CjkTExMTExMmJhODCTgKCjgJOBMTJiYTExMTE4MJOAoKOAkTJRMTExMTExMTJQAAAAQAAAAAASwBLAAXADcAQwBOAAA3FxUHFwcnByMnByc3JzU3JzcXNzMXNxcHNzUvATcnBy8BIw8BJwcXDwEVHwEHFzcfATM/ARc3LwE2MzIWFRQOAS4BNhcWMzI2NC4BDgEW+DQ0HissCzwLLCodNDQdKiwLPAssKzEyMgccESsRChkKECsSHQcyMgcdEisQChkKESsRHGALDRIZFB4bCwgZBgYJDAkPDgYFvws8CywqHTQ0HissCzwLLCseNDQeK2wKGQsQKxIdBzIyBx0SKxALGQoQKxIdBzIyBx0SK0sHGRIPGAYOHR0tAwwRCwMHDg8AAAAEAAAAAAEHAP4AGQAjADwARgAANzIWFzMyFhQGByMOASImJyMiJj4BNzM+ATMXIgYUFjI2NCYjNzIWFzMyFhQGByMOASImJyMiJjQ2NzM+ARciBhQWMjY0JiNxDBUDaAQGBQNqAxUZFQMdBAYBBAMfAxUMAQgLCw8LCwhMDBUDHQQGBQMfAxUZFQNoBAUEA2oDFQ0ICwsPCwsIehAMBgcFAQwQEAwFCAUBDBATCw8LCw8LlhAMBQgFAQwQEAwGBwUBDBATCw8LCw8LAAAFAAAAAAEZARoADAAlAD0AQABCAAA3IwcVFzM3NSMVIzUzFyM1NDY3NTQ2Mh8BFQcGIiY9AQYHBg8BIzciDgEPATM2NzY3NjMXFBYyPwEnLgEGFQcyMCMxXkIJCc4KE7s4ExMqIQ8VB0VFBxUPFQoEAgETTBQhFQEBBAUKDxcJCQEDBgJERAIGAzkBAeEJvAkJOC+pcC8hNAYYCg8ISRlJCA8KFAURBwoGehMgEyEPCw8EASgDAwJJSAIBBAOiAAADAAAAAAEaARwAJABFAFEAADcuBTc1NzI+Ajc2NzYXFhcWFx4DMxcVFA4EBycVFB4DHwE2Nz4EPQEjJicmLwEmJyYHDgMHFz4BLgEiDgEWFwczmw8cGhYRCgEJChARDwcLDBITDAsGBQgPERAKCQkRFxkcD2wIDxUYDRYMCw0YFQ4JCwkKFBEJCAoODwkRExMKaAkKBBAUDwQJCgglGAkTFhkeIxI8CQIDBgUHBAUDAQYDAwUGAwIJPBIjHhkWEwnRMxAdGxcVCA8HCAkUFxsdEDMBAgQLBQQCAgQDCwgEAVEEEhMNDRMSBDEAAAMAAAAAARsBBwAVABkAIwAANzUXNScjBxUfATc1Mzc1BxUjNS8BMwcnNR8BMxUjFwcnNTcXzxIJqQkGXgxCCRI5BkSDTEtLOl1cHg4uLw3lARMqCgrKCSAJEwkqEw6cCBjUGa0ZLhMeDS4NLw0AAAADAAAAAAEbAQcAFwAbACUAADcVNzUnIwcVMRUfATc1Mzc1JxUjNS8BMwcnNR8BIzUzJzcXFQcnzxIJqQkGXgxCCRI5BkSDTEtLe15dHg0uLg3lHRMiCgoJwQkgCRMJIhMsnAgY1BmtGUATHg0uDi4NAAAAAAUAAAAAAR0BHQAMABkAIgArADgAABM+AR4CDgIuAjYXHgE+Ai4CDgIWNxQGIiY0NjIWFxQGIiY0NjIWByImJwceAT4BNycOAU0dRz8oBCA7RT8oBB4pGTw2IgQbMzs2IgQaPAsQCwsQC14LEAsLEAtCEBoIEAolKiMJEAccAQMUBR87RkAnBB48RT+3EAUbMj02IQQbMjw1XwgLCxALCwgICwsQCwtTEA0JEhUBFhMIDhEAAAMAAAAAARoBGgAIADEAWAAANxQGIiY0NjIWJyIGFRQXByMVMxUzNTcWFzMVIyIGFSIGHgE7AT4BNCYjNCYjNTQuASMHNDY7ATIWHQEXMzIWHQEzMhYUBisBIiY0NjsBNTQ2OwE3NScjIiaWBQgGBggFLxMcCBUiHRIVDA4cEhAWEBYBFRCpDxYWDxYQER8RQhAMJhMbCgkICxMICwsIqQgLCwgTCwgcCQkmDBDqBAUFCAYGKxsUDgsVExwhFQcBJRYPFiAWARUgFg8WQhEfES8MERwTSwoLCBILEAsLEAsTBwsKOAkRAAAHAAAAAAEaAQcACgAOABIAGgAeACIALAAAEwcVMzUzFTcXNScHMxUjByMVMycHFRczNzUnBzUzFScjFTM3IxUnBxczNycHgxIShAMPEnEmJjgmJjgTE4MTE4ODEyUlXhMWDSYNJg0WAQcTODguAw86EyYlOSVLE14SEl4TcV5eOSaWSBYOJiYOFgAAAAQAAP//AQcBLAAsADUAPgBHAAAlNC4BDgIeARcOASsBIgc1PgEuASIOARYXFQ4BHgI+ASYnPgE7ATI2Nz4BJzQ2MhYUBiImFxQGIiY0NjIWNyImNDYyFhQGAQcOGBoWCQQSDQUSCyUWEBIVAxskGwMVEhIWAxkkHAYSEgUSCyUSHQYRGM4QGBAQGBA4EBgQEBgQZwwQEBcREcUNFwwCEBkaEwQKCw9bAx0kGBgkHQNyBBwkGQIWJB4FCgsVEQIbSQwQEBcREcIMEBAXERFuERcQEBcRAAAAAAIAAAAAARoBGgAsAFcAADcWMjY/AT4BPwE+Ai4BLwEuAS8BLgIOAQ8BDgEPAQ4CHgEfARYXFh8BFhcWMjY/AT4BPwE+Ai4BLwEuAS8BLgIOAQ8BDgEPAQ4BFBYfAR4BHwEWZQUNCgIIBA4KGgUGAwIGBxkKDwMJAgkJCQYCCAMPCRoFBgMCBgYaDAkEAwgCeAQKCAEFAQcFDgUFAQMFAw8EBwEFAgYIBgUCBAIGBQ4FBQUFDgUHAQUBYQMHBhoKDgQIAgYJCQkCCQMOChoGBgIDBwQaCg4DCQEHCQkJAggECwYHGgZPAwUFDgUHAQUBBwcHBQEFAQcFDgUFAQMFAw4FBwEFAQgKCAEFAQcFDgUABAAAAAABGgEaACwAQABrAH8AADcWMjY/AT4BPwE+Ai4BLwEuAS8BLgIOAQ8BDgEPAQ4CHgEfARYXFh8BFj8BFx4BHwEHDgEPAScuAS8BNz4BFxYyNj8BPgE/AT4CLgEvAS4BLwEuAg4BDwEOAQ8BDgEUFh8BHgEfARYvATc+AT8BFx4BHwEHDgEPAScuAWUFDQoCCAQOChoFBgMCBgcZCg8DCQIJCQkGAggDDwkaBQYDAgYGGgwJBAMIAgcKCAUVDhoaDhUFCQkEFQ4aGg4UdgQKCAEFAQcFDgUFAQMFAw8EBwEFAgYIBgUCBAIGBQ4FBQUFDgUHAQUBDQMDCQ0DAQEDDQkDAwkNAwEBAw1hAwcGGgoOBAgCBgkJCQIJAw4KGgYGAgMHBBoKDgMJAQcJCQkCCAQLBgcaBocaGg4VBAoJBBUOGhoOFQUJCQUUyAMFBQ4FBwEFAQcHBwUBBQEHBQ4FBQEDBQMOBQYCBQEICggBBQEHBQ4FMgEBAw0JAwMJDQMBAQMNCQMDCQ0AAwAAAAABGgEaAAcACwAPAAABIwcVFzM3NQcjNTMXIzUzAQfPEhLPEoNeXnFeXgEZEs8SEs/Pz8/PAAAAAwAAAAABGgEaAAcACwAPAAABIwcVFzM3NQcjNTM1IzUzAQfPEhLPEhLPz8/PARkSzxISz89eE14AAAAAAwAAAAABGgESAE0AnACmAAA3JiMuASMVDgEHFRYXFhcyMQYHBgcGHQEUFjI3MwYHIw4BFQYWOwEWPgInJi8BLgE2PwEzMhcWFxY2NzY1NCcmJyYHBgcGByYnNTQmJxcWBwYHBisBNDY7ATUmNjcnBgcjIgcGJj4BOwEyNj8BBiYnPgE3MzIXFhcWHwEzNSY2Nz4BNzYXHgEXFRQOASYnJgcOAQcGFh8BHgEHJi8BIgYUFj4BNCYjaAEBAg8KFh4EBREICgEQCggEAwsPBycFAgYRFwEEBH0QHBYJAQENAgcFAwMCAwMDBgcKEgUCDQwRGBoSDQoFBQcPDGQCAgMOCAluCggYARIODAgDPAMCBQUECgcTBAUBBg8cCgQhFQIIBwoQCAYBAwECAQQTDhMQDRECBQcIBAoLBwkCAwcIAgoBBgEHgwQGBgcGBgT6AQkMGQkjFwgKBgQCAgcGCAYHBgcKAwkKAhsSBAUBCxcdEBYRAwgLCQIBAQQCAQkJBgcRFhILDQUDDgsOBwcDCxABuQ8JDggDBwsKDRQBEQMCAQIDCwgFAxgCCQoVHAEDBRULCgEBBxcGDBMCBAkIGwwCBwUCAgIGAwIKBwsXCAMMHg0NDHAFCAYBBQgFAAAFAAAAAAEaARoACQANAA8AEQAbAAA3JwcjFwc3Fyc3BzM3DwI3IwczNxczBxcnBze0Hh5lUh9QUB9S7VIYGBAYqlJSLA4OLCQOJCQOt2JiQGQ+PmRACU9PNFCEES0tHC0cHC0AAQAAAAABGgEaAAkAADcnByMXBzcXJze0Hh5lUh9QUB9St2JiQGQ+PmRAAAAEAAAAAAEaARoACQAPABAAEgAAPwEXMwcXJwc3Jx8BJzcjJzUXI3geHmVSH1BQH1KDJA4kLA5qUrdiYkBkPj5kQEccLRwtM08AAAAAAwAAAAABFgEbAAMAGQAsAAA3MxUjNx4BFxYVFAcOAQcGJy4DNzY3PgEXNjc2JzQmJyYnJgYHDgEWFx4BcUtLMBYpECYeDyYWMCcUHhADBw8mEishJhkZAhEPHSYTJg8gFyEiECa8S6gBFBApNysnEhcECRYLIiouFS4ZDAz0CR8iJRcqEB0DAQkLGE5IEwoGAAAAAAUAAAAAARoA9AAJABMAHAAlAC4AADczNSMHFRczNSM3IxUzFSMVMzc1BzI2NCYiBhQWNxQGIiY0NjIWFzI2NCYiBh4BJhIcCQkcEuocExMcCbsICwsQCwtTCxALCxALJQgLCxALAQrhEwqoChOpE5YTCqhnCxALCxALEwgLCxALCxsLEAsLEAsAAAAAAgAAAAABGgEHAAkAEwAAEwcVFzM1IzUzNRc3NScjFTMVIxUcCQkvJSXFCQkvJiYBBwrOCRK8E+EJzgoTvBIAAAIAAAAAARoA9AAHAB8AAD8BMxcVByMnNyMVIzcnBxUXNyczNTMnNxcVByc3IxUzEwn0CQn0CfRxTCcNODgNKE1JJw03Nw0nSXHqCgqoCgqfQScNNw43DSgSKA03DjcNJ0EAAAAEAAAAAAEUARoAIAAkACgALAAANzM3NScjByM1NzUnIwcVFzM3FRczFRczNzUnIwcjNTMVNxcHJx8BBy8CNxfVDTIZDSJeIyYNSyUOFQlYGA4yGQ0jXk84DCUMJQwlDJAYPRl2Mg0ZIhgiDiVLDSYWbQkKGTIOGSNLCSoLJgw4DCYMeBk9GAAABwAAAAABGgEaABkANQA+AEcAUABZAGIAABMiDgIdAR4BPgEeAg4BFhczMj4BNC4BIwcjLgE1Jjc2NCYiBwYnIiY9ATQ+ATIeARQOASM3FAYiJjQ2MhYXFAYiJj4BMhYnMjYuASIGFBY3FAYiJj4BMhYXFAYiJjQ2MhaWGjAlFAETGhQcFAEUAw4PCyM9IyM9IwEKBAUCCA8fLBAHCgIEHzM9NB4eNB4SCxALCxALOAsQCwEKEAuDCAsBChALC4sLEAsBChALEwsQCwsQCwEZFCUwGggODQQTARQbFRwVASQ8Rzwk9QEEBAwIECsgEAgCBAMHHzMfHzM9NB68CAsLEAsLiwgLCw8LC1YLEAsLEAsTCAsLEAsLQAgLCxALCwAABAAAAAABGgD0AAMABwAPABMAADczFSMXIxUzJzczFxUHIyc3FTM1S5aWlpaWzhPhEhLhExPhvBMmEnATE5YTE5aWlgAGAAAAAAEaAQcADAAVABkAHgAiACYAAD8BMxcVByM1MzUjFSMXNScjBxUXMzcnFSM1Nyc1MxUnMxUjByMVM4MTcRISS0txEyYTcBMTcBMTcIsIS0tLSyZLS/QTE14TE144ORMTE14SEl5eXhMICxM4E10TAAcAAAAAARoBBwAMABEAGgAeACIAJgAqAAABIwcVMzUzFSMVMzc1BzMVIycHIwcVFzM3NScVIzUzBzMVIxUzFSM3MxUjAQdxExNxS0sScEtEByZdExNwExNwcF5LS0tLcUtLAQcTODheExNeOBMHBxNeEhJeE3FeExITE5YTAAAAAgAAAAAA7wEaAAsAEgAAEzczFwczFwcnNyMnFwc3IzcjB4sRPg8pIQ6GHigXEUc2hUU+PkABDwodQCCJFkgbCWOJXoQAAAAABAAAAAABGgEHAAsADwATABcAACUnIw8BFR8BMz8BNQcnNRc3JzcfAQc1NwEPXhGDCgpeEYMKoFRUCVd9Vwd6etgvQhFUES9CEVSRKkYmECc/LFc9STkAAAMAAAAAAQcBGgAJAAwAEwAAJS8BIwcVFzM3NQcjNQc1MxUXMxUBBD4GkQkJzgoTOIRxCULZPgIJ9AkJtgQ54eFCCZYAAgAAAAABGwDiABcAIQAANyIGByMuAQ4BFB4BNjczHgI+Ai4CByImNDYyFhQGI9gZJQM6BBcdEhIdFwQ6AhUfIhwPAhIdERQbGycbGxPhIBgNEAMVHRUEEA4RGw4EEx4jHBFwGycbGyccAAAABQAAAAABGgDrABIAJQA/AEoAZQAANxY+ATc2JzYnLgEjIgc1IxUzNTc2FzYXFhUWBw4BJwYmNzUmNzYnDgEPARU3NjcyFhUHDgEUFjMyPwEVMzU2JhcUBiMiJjQ3Nj8BFxY3Fj8BNQcGIiY0NhcyHwE1JyYiBgcGFBcWhwoUEgYNAQEMBhAJEAwTExAFBgsGBwEJAwkGCw8BAQgEUAkRBwIICw8HCRcOFRMOCwkGEQETAQ8LBgkECAoTnAgKDgwDCQkXEBINCggIAwoWEwcPDgZfBgEICBEWFA8HBws0jwZMAwEBCQoNDw0EBgEBEQsLDAoEFgEFBQEXBwoBDAgEARIaEgYFCT8QFzkNEQgMBAUBAy8EAQEIARYGBxQcFgEFBRYBBQgHESoQBwAACAAAAAABGgEHAAMABwALAA8AEwAXABsAHwAAJSM1MwcjFTMnIxUzFyMVMycjFTM3IxUzJxUjNRcjFTMBGV1dEiYmS6mpJc7OXnBwll1dg4NwXV3hE0sTExNeEksTExOpOTkTEwAAAAAEAAAAAAEHARoACwAPABMAFwAANycjDwEVHwEzPwE1Byc1Fyc3FwcXBzU3/V0TXgkJXhNdCnpVVVBZWVleVFThODgQcRA4OBBxozJhLkE1NTFDMmUuAAAABQAAAAABHAEaAAgADAAQAB0AKQAAEzMVFhc1IxU3FycHMyc/ARc3PgEeAg4CLgI2Fx4BPgImJyYOARZLlgoJvBMoFUuWdiALKyoPIyAUAhAeIh8UAg8ZChkXDgIMChAmFggBB0sBBGKfISolgxM4E0t4CgIPHiMgEwIQHSIgVAcCCxUaFgcLCCAmAAACAAAAAAEHAQcARgCNAAA3NSMiDgEHMQYHMQYXFRQHMQYHBisBFTMyFxUWFxUWFzEWHQEGFxUWFzEeAhczNSMiLgI9ATQmJyYnNjc+AT0BNDY3NjMXFTMyPgE3MTY3MTYnNTQ3MTY3NjsBNSMiJzUmJzUmJzEmPQE2JzUmJzEuAgcjFTMyHgIdARQWFxYXBgcOAR0BFAcOASNxAgkRDAMDAQEBAgQKBQYBAQYFBQMEAgIBAQEDAw0QCQICBgoHBAICBQkJBQICCQcFBk0BCRANAwMBAQECBAoFBgICBgUFAwQCAgEBAQMDDBEJAQEGCgcEAgIFCQkFAgIIAwoG9BMHDQgICAgIEAYFCgUCEgIBAgMBAwUFBhAICAEHCAgNBgETBAgKBhkGDAULBwcLBQwGGQkNBAK8EgYNCAcJCAgQBgUKBQISAgECAwEDBQUGEAgIAQcICA0HARIECAoGGQYMBQsHBwsFDAYZDAgEBAAAAAIAAAAAARoBGgAbAB8AABMVMxUjFTMVIxUjNSMVIzUjNTM1IzUzNTMVMzUHFTM1zktLS0sSSxNLS0tLE0tLSwEZSxJLE0tLS0sTSxJLS0tdS0sAAAgAAAAAARoBHAAOABkAHQApADUAQgBPAFMAABMWFxYUDgEjIiY1NDY3Nhc2NzQuAQ4BFB4BNwcXNxczFTMVIxUjNSM1MycXBxcHJwcnNyc3FzcuASIOAR4DPgIHBgcGJy4BPgIWFxY3IxUzNgoEAgYMCAoPCAcKBAYBBQYGBAUGTGQNY1MSLy8SLy9sDSEhDSEhDSEhDSE6AwwQDQUBBwsNDAcBEQEEBgUCAgEFBgUBBY1LSwEXBAkFDAsIDwsHDQMEJQMHAwYCAwUHBQIiZAxjhy8SLy8SJQ0hIQ0hIQ0hIQ0hcAcJCQ0NCgYBBwoNCAQBAwUBBQYFAQICBTQTAAADAAAAAAEZAOEAGwAiACkAADcjNTQmKwEVFBY7ARUjNTMyNj0BIyIGBxUjNTMXJzcXFQcnIyc3JwcVF84SBgQTBQQKOQoEBRIEBQEScDccDiIhDqccGw4hIrwJBAVnBAUTEwUEZwUECSVMHA0iDiEOGxsNIQ4iAAACAAAAAAEaARsAHwBDAAA3Ii4BNzY3JjQ3Njc+AR8BBxc3FxYUBgcGBw4BJwYHBjciBwYHDgEfAQcGBwYeAjI3Nj8BFxY2NzY3PgE1NCcHJzcmNQ4TAggjQAUGChURKRIMNhc4BQYMCwYIECUSRCAJiRIQBgUOBwgDBEQjAwEHBggDHkkFBQ8gDgYFCQkBMTAwBhMTGQomPg4eDhgNCwQIBTgXNgwPIB4LBgULBAdFHgj1CwMFDiYSBgRCJQULBwIDG0sEAgcDCQMFCRcNBgYwMDEBAAIAAAAAAPQBGgAHABsAABMHFRczNzUnBzUzFSM1MzUjNTM1IzUzNSM1MzVLExOWExOWlpYmJktLJiZLARkS4RMT4RIlE+ESEyYSJhMlEwAACAAAAAABGgEaAAkADQARABUAGQAdACEAJQAAEwcVMzUzFTM1JwM1MxU3IxUzNzMVIzcjFTM3MxUjMzUjFSczFSMvCRLPEgnqEiYTExMSEjgTExMSEl0SJhMTARkJ2M/P2An++hMTExMTExMTExMTExMTAAAHAAAAAAEaAQcABwALAB8AKQA2AEAAUgAAEwcVFzM3NScHNTMVJzM1NCMiBgcVNjIVBwYVFBYzMj8BFRQGIiY1ND8BFyMVIzUzFzYyFhQGIicVFBYyNjQmIgYXMjc1BiImNDYyFzUmByYGFBYmExPhEhLh4aMNEgQJAwcPDA4HBggEAQUGAwYHKwELCwEEDggJDgQEBwQDBwVFCQUFCwcHDAQECAsODQEHE6kTE6kTvKmpOiAXAwIMBQkBAxAHCQkSBAQHBAIHAQEUBkofCQ4YDxwFBAcIDgcIIQMOBAgOCQQOAwEBEBoPAAAAAAYAAAAAARoBBwAHAAsAEwAYACAAJQAAEwcVFzM3NScHMxUjBzczFxUHIyc3IxUzNTM3MxcVByMnNyMVMzUmExPhEhLh4eETEzgTEzgTJRI4XhI5EhI5EiUTOQEHEzgTEzgTEzhLEhI5EhI5OTkSEjkSEjk5OQAAAAYAAAAAARoA4QAJABMAHwAjACcAKwAANzM1IwcVFzM1IzcjFTMVIxUzNzUHFxUPASMvATU/ATMHFzUnNxc3Jwc3NQcmJS8JCS8l6i8mJi8JPAQGVAkuBQZUCVAcHAsbPxsbQkLOEwmWChOWE4MTCpYnCC8JJRwILwgmVxEZEQ8QHBBXHRodAAADAAAAAAErAQgAEQAjACcAADcnPgEeARc3FwcjJzcXLgIGHwEGLgInByc3MxcHJx4DJzcXB2cPGj02IAEXDicPJw8XARosMUAPGjoyHgEXDycOKA8WAhgnLpIN3w3nDREDHDMfFg4nKA4XGCoYAbMNDgEdMR0XDicoDhYXJxcDvg3QDgACAAAAAAErAQ0AEQAjAAA3Byc3MxcHJx4CNjcXDgEuATcnBxczNycHLgIGBxc+AR4BJhcPJw4oDxYDKT05Dw8TRUkwzRcPJw8nDhcBLkhFFA8QOjwnkRcOJygOFh8vDRocCyEeETovFw4oJw4WJToTGyALGxgQMAALAAAAAAEHAQcABwALAA8AEwAXABsAHwAjACcAKwAvAAATIwcVFzM3NQczFSMXIzUzHQEjNSczFSMVMxUjFTUzFTM1MxUzIzUzNSM1Myc1MxX94QkJ4Qrhzs6DODg4Szg4ODg4EzhLODg4ODg4AQcKzgkJzgkTOCU4JSU4JRMlOSYmJiYmEyUTJSUAAAMAAAAAAScBBwARACMAMAAAEyMPARUXMzcWMj4BPwE0Jic1ByYjIgYUFjMyFxUHBg8BJzczFx4BFQYVDgMnPwH4YgZ9YQ0qEiolFwIBFBETDg4EBQUEDw1JAwIlVHNUEwkKAQIRGx4ORQMBBwN9DWIqChQiFQoVJQwqIQUFCAYGKEoBAyZUdDkKFw0FBQ8ZDwIGRQcAAAAABQAAAAABGgEaAAgAFQAeACsAOAAANzI2NCYiBhQWNxQOASIuATQ+ATIeAQcyNjQmIgYUFjcUDgEiLgE0PgEyHgEHMj4BNC4BIg4BFB4BlggLCxALC1MUIygjFBQjKCMUSxchIS4hIZojPEg8IyM8SDwjgx8zHx8zPjMeHjODCxALCxALExQjFBQjKCMUFCNMIS4hIS4hOCQ8IyM8SDwjIzyUHjM+Mx8fMz4zHgAAAAAEAAAAAAEaARoABgAKAA4AEgAAPwEnBycHFzcjNzMHMxUjFyMVM0NrDWQcDiLkmStuqKioqKiorl0OViIMKh8mSyYlJgAAAAAFAAAAAAEGARoAEwAXABsAIAAqAAATHwEPAS8BBy8BBy8BPwEnPwEnNwcXNyc3FzcnNxc3Jw8BFyMnFSM1ByM30wsnBD4LA0MKAzALDgUvAwRDAwVnBioHChU4FAojKyEuBTkWIxMjFSABGQRdCxoECBwEBxQFHwsUCAodCAtiEBEQFy4YLRhNE00Tc1s4S2FOSQAABAAAAAABEgEjABcARwBRAG4AACUnJiIPAQ4BHQEUFh8BFjI/AT4BPQE0JgcVFA8BBj0BBiciNTc0NzMWNzY0IiY1NDc1ND8BMh0BNhcyDwEUBzEmBhUUFjMyFDcUIwcjNTQ/ATE3Bw4BHQEUFyMiLwEuAT0BNDY/ATYyHwEWFy4BBwEAWQgSCFkICQkIWQgSCFkICQlNAQUBBQUBAgEBBQQHDQYKAQUBBAQCAQIBBQoEBAwkARYBARYQVAkJCAUHB1kGCAgGWQcPBlkLAgIJBuk1BQU1BRAJagkQBTUFBTUFEAlqCRCfCAEBAwECCAMCAQcBAQECAw0EBw0ICAEBAwEIAgECBgEBAQUHAgIaBAEOBgEBDXw0BQwJZwsDAzUEDgdqBw4ENQMDNQcNBAIDAAcAAAAAASwBGgADACAAJAAoADAANAA4AAA3FyMnByIOAhQeAjI3FwYjBiIuAjQ+AjIWFwcuARczFSMVMxUjNyEHFRchNzUHITUhNSE1IcwmDiVTCAwKBQUJDBIJAgQFBxAQDAcHDBISCgICBAklExMTE43+5gkJARoJE/76AQb++gEGqV5eCwUJDxANCQUDCQICBgwRFBEMBwICCQICCBMSE7sJ9AkJ9OqoEyYAAAAAD///AAAA8gEtAAQBFwEaAS0BNQE7AUoBUAFSAVcBXgFjAWQBbgF0AAATIisBNxc2NQc2PQEjLgEnLgEHPgEnDgEHBgcGMzcwByMOAQcUNjEHJgcGBzMGBzEGFQcGFRQXBxcjHgMXJicUFhcHFh8BJhcWHwE3BhczHgEzBxYXMxYXJxceAhcjJicuAjcmNzQnNTY3NTEWPwE2NzM2NzY3MTY3FTY3Nj8BBjM3BzYXMTIzBwYxFjcxNhcnFxYXMjcxNhcVFhcyJzEeARcmMRUWIxYXNSYnFCMxJgYXFjcxNDEXFh8BIicxJhUeARUxIhUUFjczBwYXJxQVMRYHNjQHFgcxBhUnBhYHNjUxNDciDwEOASc0JyYnJjc2NzY3PgIWFy4BDgEXNzI1FB4BNxU2PwEHBjY/ATY1MSY/AQcwOQEUFhcWNwYuAScyFzEWFyYnFhc3IiMyFiMwJxc0IgcXFAcGBzQmNjcUBzEGFD8BNgcuATcWNycPAhcWFycWHwEnJic3BwYHNicVMDMxMhQPATU2BxQHNTQ3hQQDAg5IAwICAQEbEA0jCQEGAQcIAwYGAQEGAwUFCAUEAggPDQUDAgQFAQIEAQMBAgQFBQQEAgUDAgIDAQQDAgYDAgEIBQEIAwMFAgEDBgMGBQ0OBQQUBxwyHAIBAQEHBwIDAwMBAgEFBAcHAgcMBw0IAQEPBwUEBAUFAgUFBgYBCwoKAgIEBQEIAQUPGgUDAQEEAgYGAwIBAgEBAgEBAQEBAgEDAQIBAQIDAQMBAgECAQUEAwQBAwEBAQUHECYUAhIGCQMCAgMFBBIWEgUJGhgOAQEBFR8OBQMJAQMFDgMBAQIEVAYDCxIJGxgGAQUIBAQGCQsDAQEGAgIENgIBAgMCBAQBBAICBAEDGQUGBAcFGgEnAQMEAwUCAgEBAwGMAQIGB+ACAQEEAgYCAwErAZAIBgUIEAoTJgcGAgQBAQEBAgIEAgEBAgEDBgECAwEPDAkFBwkEDBEIDQUHBwkEAQUJAQQCCQUCAwIBAgYDCAQCBQkDBwQBAgMCBAUGBQICAQIILUAhBgwPAgIWDgECBQUHBAQGBAcGAgMGBwMGAwECBAEBAQEBAgECAwQDBQEBAgEDBAUIHhEEBAULCgEUCQIBAwUCAQEEAgYFAgMBBAYBAwUDAQQJBwgDBAUGBgkDBwoIAwQHBQQCAQECBQcNBQcBAg4LDxcBBgsDBwwBCgcIBAsZDgECERsLBwEBAggCAwENAwICAgMDKQEEAgQBBAYQCgUKAQMICgW7AQF6BgQDAQsHBgEBBAUCAgQBAgEEEwECAQEBmQGfBAQGAxcEAgUCBgMYAg8NDlcBAQMDAQMVBAQCBAQAAAUAAAAAARIBLQBaALEAzwEZAT4AADceAR8BFh8BHgEUDgEPAQ4CBw4BIyImJyYvAiIPASIPAQ4BIiYnJi8BLgI0NjUnNDY3Nj8DJzQ+Ajc+ATUnNDU0PgIzMh4CHQEWFxYfAR4CFRQnMhYfARUPAQYPAQYUFxYfAR4BOwEyPwM0LwIuAS8BPQE0PgEzMhYUBhQXMzI2NScuAiMiBgcXJyYHIyI9AS4CIg4BFQcUHwEWMjY1IyIvASY2BzI+AyYvAi4CBg8BDgIVFxQGFBYfAhYXNzI3Njc2NzU/ATQ+ATc1ND8BNj8BLwEmLwEmNScmLwImIg8BBiImLwEmIh0BBwYHFxQXBw4BHQIyHwEWHwEWHwEUBgceAxcyPgE3Nj8CNj0BLwImIyIPAQYiJi8BBwYHBhUHBg8CFBb5BAUBAgEDAwIDAwYEBwYJCgYEBwQICwQCAQQdBwYNAQEEAwgLCgUJCRkDBQMDAQcHAwIFBwEBBwoMBggJAQULEg0OEgkDAQMDBA4HDAh+AgMBAQEEAQIGAgIDAQQBBgYBBgUOCwEBAgUDBwMBAgMCBQQCAQIDAwEBAwYECAYBAQUCAgICAQIEBgMDAQIBAQICAQEBAgEEHQQGBgMBAgINCgIEBQYDCgMIBQECBQQQCAMFQwQFCQkEBAIFAwYDAQIBAgMFAgICBwEBAgMDAwIFBRQFCQcDBQMCCAMBAQEFBgQDAwcEBAYEAQIFAwIICApAAwcIAwgKCgMBBQMFAwYDAgoDBQUBBAICAQICAQMBAQlbAgcFBgQFBAIGBwUEAQQDBwoEAgMGCAIBAQEBAgIFAgQCAwQCBAEDBggIBQ0HBwIBAgQJAgcKFBMSCAoYDgsGBgwSDgcMExcMDQoJBAYSCRQWDQqPAgEEBAIFAQEFAgMBAgQGAwUDCAgEAgECAQEEAQECBwIDAgcFBAIBAwMHBAgEBwgJAQEBAQYDBgUDBAMFBAMFAQIBAQUEBuQCAwYHBQISEAQGBAECCgMDBAQMBAcHAwEDAQEDDgECBAIDAQgfBAYFAgEBAgMBAQIXBgQCCgICBAcHBwUDAw0CBQQGAwIHDQcIBAICBwgTCQoEAgQDBAgDBAYEBQEEBgQCFQIFBAkFBQICAgIIBQ8EAQYBAwIKAwICBQURCAgFBQcKAAAAAAQAAAAAASsBGgAHAAsADwAVAAATHwEPAS8BNwcXNycXBxc3LwEHFwcXL/QIIgv0CCIO4SDhTQNeAj1FDTI9CQEZAwnyCQMK8egD3wKdEgITLzcPJycPAAAEAAAAAAEHARoABwAMABAAFAAAEyMHFRczNzUHFSM1MxcjNTM1IzUz/eEJCeEKhF1dcV5eXl4BGQn0CQn0cWfPz14TXgAAAAAG//8AAAEcARoACAARAB4AJwA0AEQAADcUBiImNDYyFgcUBiImNDYyFhcuAScGJx4BFxYzJjU3FAYiJjQ2MhYXNjc2JicGBxYHBgcWJyIxPgEXBg8BDgEHJicmI/YXIRcXIRemGCEXFyEYMhYiChESDTEgDg4LYRchGBghFxATBgYKDwYQEQgDCQ7SARJEJgkCARgpDggKBgbzERYWIRYWZREWFiEWFnQEGhMIBB4oBwIOEgEQFhYhFhYCFx0ZMhYRCR8iEA4LfCAjAwoNCAEVEwUCAQAAAAAEAAAAAAEaARoABwALABIAFgAAEzczFxUHIyc3FTM1DwEXBxc3NRUzFSMTE+ESEuETE+GvDTU1DT5LSwEHEhLhExPh4eE5DTU1DT0KMxMAAAQAAAAAARoA4QAHAAoAEgAYAAA3BzM3MxczJwc3FzcjBzM3MxczJzc2Nx8BPywZCSsKGSwbDw6FHj0eDj8OHWQWAgECF6lxHBxxQigoeqkrK0JDBgULQwADAAAAAAEHAPQAAwAHAAsAACUjNTMVIzUzBzM1IwEH4eHh4eHh4c4mcSZxJgAAAAABAAAAAAEaAQcAGwAANyIuAT8BIwYuAjc2Nz4BNzMeAR0BFAYrAQcGZggOBQQSNAcMBwEDIwgDDQinCw8PCxluCCMLEQkpAQYLDgZKFwcJAQEPC0IKD2cHAAAAAAIAAAAAARoBBwAbADYAADciLgE/ASMGLgI3Njc+ATczHgEdARQGKwEHBiciBwYHBhY3MxcVBwYeATI/AjMyNj0BNCYjZggOBQQSNAcMBwEDIwgDDQinCw8PCxluCBgFAgsgAgQFPgkUAQEEBQJyCRkDBQUDIwsRCSkBBgsOBkoXBwkBAQ8LQgoPZwfRBR9DBAcBDAkuAgUDAmgDBANCAwUAAAAAAQAAAAABGgEHABsAABMeAg8BMzYeAgcGBw4BKwEuAT0BNDY7ATc2xggOBQQSNAcMBwEDIwgDDQinCw8PCxptCAEHAQoRCSkBBwsNBkoXBwoBDwtCCg9nBgAAAAACAAAAAAEaAQcAGwA2AAATHgIPATM2HgIHBgcOASsBLgE9ATQ2OwE3NhcyNzY3NiYHIyc1NzYuASIPAiMiBhcVBhYzxggOBQQSNAcMBwEDIwgDDQinCw8PCxptCBgFAgshAQQFPQoUAQEEBQJyCRkDBQEBBQMBBwEKEQkpAQcLDQZKFwcKAQ8LQgoPZwbQBR9DBAcBDAkuAgUDAmgDBANCAwUAAAYAAAAAARkBGgAgAC8AQQBNAFIAaAAAJScHJzcnJiIOAhQXBgcGFhceATMyNzY3NjcWMj4CNAcGKwEiLgI3NjceARcGNxYGIicuATc+AjsBBxUXMzcHMxc3JzcvAQ8CFycXFSMnFzcXFhQHDgEnJi8BNxceAT4CNCYnARUPJxcnAw0bGhQLBTo5BgEIBAkFCQcVJCIaDRwaFAviAQICAgIDAgEqRgMGBEmpASAsDwwGBgQPFAoFIiMNIsocDgwMAQQ2Cw8CIworFByKDToICAYPCAUDOw06AgUFAgEBAesDJxcoDwQLFBsdDTo7CBUHBAUHEyUhGwYLFRoctwEBBAYCLEYEBwNLhRcfDwwgDwoQCCMNIyInDg0NHwgkAg8MNkAdFSx9DTwIFggGAwMCBDwNPAICAgMDBAMBAAAGAAAAAAD0ARoAEwAXABsAHwAjACcAADczFSMVByMnNSM1MzU0NjsBMhYVKwEVMwczNSMXIxUzNzMVIzczFSO8OBMTgxMSOAsIOAgLEzg4XoODJhMTEhMTJhMT9BOpEhKpExMHCwsHE7ypE4ODg4ODAAAAAAEAAAAAAQcAzwAFAAA/ATMXByMmB9IIahDECgpmAAAAAQAAAAAAzwEHAAUAABMXFQcnNcQKCmYBBwjSCGoQAAABAAAAAADPAQcABQAANyc1NxcVaAoKZiYH0ghqEAAAAAEAAAAAAQcAzwAFAAAlByMnNzMBBwjSB2kQaAoKZgAAAQAAAAABGgD/AD4AACUOAQcXFAYHDgMiJicWNjciJicmJxcWNy4BJyY1MRYzJicmJyY3NjcWFxYXFhcnNTQ3Njc2MhYXNjcGBzYBGQUOCAEHBwkdJCstKhIVKhAMFwcFAwUKCQkQBgwMDQsHAwIDBAEECg0ZHxAQAQQIFQoWFAgSEAYSEOUIDgYHEB8PFSIYDAwMAgsODAoHCAEBAwIJCA4UBgcMBgYODQcGDAoVCAQBBgYMCRUIBAkIBAkTCgEABAAAAAABBwEaAB4AIgAmACoAADcjJzM3NScjBxUXMwcjBxUXMzc1JyM3FyMHFRczNzUnNTMVBxUjNRcjNTP9ID8UCgpLCQkUPiEJCTgKCgE6OQEJCTgKljheJc4mJl5eCUsJCUsJXgo4CQk4ClZWCjgJCTh6OTmDJSUlJQAAAAAEAAAAAAEHARoAHgAiACYAKgAAEyMHFRczByczNzUnIwcVFzMXIwcVFzM3NScjNzM3NQc1MxUXFSM1NyM1M/04CQkBOToBCgo4CQkhPhQJCUsKChQ/IArhJV44gyYmARkJOApWVgo4CQk4Cl0KSwkJSwpdCjgvJiaDODiDJgAAAAUAAAAAAQcBGgAjACcAKwAvADMAADcjJzUnIzUzNzUnIwcVFzMVIwcVByMHFRczNzU3MxcVFzM3NSczFSMHMxUjByM1MxcjNTP9ISAKHAkKCiUJCQkcCSAiCQkmCSBDIAolCoQTExI4ODkSErwTE0sgRwolCSYJCSYJJQpHIAkmCQkiICAiCQkmxRNLOEsSEhIAAAADAAAAAAEHARoACQATAC0AADc1Byc3MxcHJxUHFScHFzM3Jwc1NxcHFwcjNTMnIwczFSMnNyc3MxUjFzM3IzWNEw0iDiINExITDSIOIg0TYgZFRQZOODg4OjlPBUVFBU85ODg6OLJLEw4hIg0TSzhLEw0iIg0TS2cTNzkTEy0tExM3ORMTLS0TAAAAAAwAAAAAARoBGgAJABMAGwAfACcAKwAzADcAPwBDAEcASwAAExcHJxUjNQcnNxc1IxUnBxczNyc3Iyc1NzMXFSczNSMXIyc1NzMXFSczNSMHIyc1NzMXFSczNSMXIyc1NzMXFSczNSsCFTM1IxUzNigPFxIXDScPEhcNJw0oDU4lCQklCiYTE404Cgo4CTgmJkIlCQklCiYTE404Cgo4CTgmJhMlJSUlARknDRZSVBgNJ+hSUhYNJycNYgkmCQkmChIlCTgKCjgKJZYJJgkJJgoTOQo4CQk4CSYTcBIAAAAAAgAAAAABBwEdABUAGgAANzU0PgEWFzMuAQ4BHQEjBxUXMzc1JwczFSM1XhopIwcUCC44JhMSErwTEyYmvKklFR8HFRMbIAcqHSUTcBMTcBMTcHAABQAAAAABGgEaAAkAEQAeACcALwAANzM3FxUHJyMnNR8BNQ8BIxUzNxQGByc+ASc2JzceAQcUByc2NCc3FgcUByc2JzcWHDRJEBBJNAlIOzsHLi7FDw4ODA0BARkODg8lEw0NDQ0TJggOBwcOCNFIBvQGSAleVzvGOgNLJRcqEg0PJBMnHw0RKxcfGQ0ULxMNGR8QDQ4PEA0NAAAABAAAAAABFQEUABcALwBbAF8AADczNzM3NTc1JzUnIycjByMHFQcVFxUXMzcjNS8BPwE1Mz8BHwEzFR8BDwEVIw8BJzcGDwEjNTY3PgMzMh4CFA4BDwEOAR0BIzU0Nj8BPgE0JzEuAScxJiIGFyM1M5ANIC0KICAJLiANHy8KHx8KLwMpAh0cAykGHB0GKAMdHQMoBxwcFQIBAREBAwIEBwkFCAsIAwQFAwYCBBEEAwsDAwEBAwIDBgYPEBAYIAotIA4gLgkgIAotIA4gLQoTKAccHAcoAxwcAygHHBwHKAMcHHEDAwYBCQcDBgQDBQgLDAkIBAcDBgMJCgUIAw4DCAcDAgQBAgRdEAAAAAYAAAAAASwBGgBCAE4AWgBiAGYAagAANzQ2HwEWMjY/AicuAiIHNTcWHwE3PgMWFRQjIiYiBgcGBxcWHwEWMjc2PwEXDgMiLgEvASYnDwEOAiImFz4BNCYnMxYVFAYHIy4BNTQ3Mw4BFRQXNyEHFRchNzUHITUhNSE1IWUHBAUBAwUDCwYHAQUGBwMbBgMFBQMJCQkGCAMFBgYDBQQIAQECAQQBBQMDAwEGBwgGBQMBBAEBCQYDCAcIBnMHCQkHDRIJCZ4JCRINCAgQz/7mCQkBGgkT/voBBv76AQZUBAUCBAEFAxANGwMFAwEEBQYIEAgGCQYBBAQIAwYEBggiBAMDAQEEBQQCAwgHBgQGAxQEAw8JBQYFBQUKGBoYChUaDhcKCRkNGhUKGQwbFM4J9AkJ9OqoEyYAAAIAAAAAARUBFAAXAB4AADcjJyMnNSc1NzU3MzczFzMXFRcVBxUHIyczNycHJwedDR8vCh8fCi8fDSAuCSAgCi0/DkYNQBoNGCAKLSAOIC0KICAJLiAOIC0KMEYOQRoNAAMAAAAAARUBFAAXAC8ANgAANzM3Mzc1NzUnNScjJyMHIwcVBxUXFRczNyM1LwE/ATUzPwEfATMVHwEPARUjDwEnNzM3JwcnB5ANIC0KICAJLiANHy8KHx8KLwMpAh0cAykGHB0GKAMdHQMoBxwcBA5GDUAaDRggCi0gDiAuCSAgCi0gDiAtChMoBxwcBygDHBwDKAccHAcoAxwcIEYOQRoNAAAABAAAAAABGgD0AAcACwAWACEAADcHFRczNzUnFSM1Mwc1MzUjBxUXMzUjJzUzNSMHFRczNSOWExNxEhJxcakTHQkJHRM4EhwJCRwS9BOWExOWE6mWXksTCYQJEzgmEgleCRMAAAMAAP//AS4BBwASAB8AJgAAEzMXFSYnNSMVMxQXIzUzNSMnNRc+AR4CDgIuAjYXNycHJwcXHPQJCAvgXRNLOGcJpBEoJBcCEiEoJBYDEjgtDycYDCABBwpnBwRTqR8ZExIKu3QMAhEiKCQXAhIhKCRSOww0Ew4aAAUAAAAAASwBBwASAB8AKwAxADcAABMzFxUmJzUjFTMUFyM1MzUjJzUXIg4BFB4BMj4BNC4BByIuATQ+ATMyFhQGJxc3JzcnByc3FwcnHPQJCAvgXRNLOGcJzhQjFBQjKCMUFCMUDxoPDxoPFyEhFRsJExMJMBIIGxsIAQcKZwcEU6kfGRMSCrtnFCMoIxQUIygjFIMPGh4aDyEuIUMbCBMSCC4SCBobCAAAAAADAAAAAAEsAQcAEgAfACsAABMzFxUmJzUjFTMUFyM1MzUjJzUXIg4BFB4BMj4BNC4BByIuATQ+ATMyFhQGHPQJCAvgXRNLOGcJzhQjFBQjKCMUFCMUDxoPDxoPFyEhAQcKZwcEU6kfGRMSCrtnFCMoIxQUIygjFIMPGh4aDyEuIQAAAAADAAD//gEuAQcAEgAuADEAABMzFxUmJzUjFTMUFyM1MzUjJzUXMh4CFx4BBw4CBw4BJy4CJy4BNz4CNzYXJxUc9AkIC+BdE0s4ZwnOChMRDgUHBAQCCg4IDR4PCREOBQcEBAIKDggSOjkBBwpnBwRTqR8ZExIKu2cFCg4IDR4PCREOBQcEBAIKDggNHg8JEQ4FCksmSwAAAAIAAAAAARoBBwAPABMAAAEjBxUXMxUjFTM1IzUzNzUHIzUzARD0CQlnOJY4ZwkS4eEBBwq7ChITExIKu7KpAAAGAAAAAAEsAPQAGQAzADcAOwBHAFMAADczMhYdARQGKwEiLwEmIg8BBisBIiY9ATQ2FyIGHQEeATsBMj8BNjIfARY7ATI2PQE0JiMHMxUjJTMVIycyFhQGKwEiJjQ2OwEyFhQGKwEiJjQ2M0uWFyEhFwcRDw8KFgoPDxEHFyEhFxAWARUQBwwJEA4iDhAJDAcQFhYQ4RMTARkTE58EBQUELwQFBQSWBAUFBC8EBQUE9CEXSxghCgoGBgoKIRhLFyETFg9LEBYGCwkJCwYWEEsPFjg4ODglBQgGBggFBQgGBggFAAAEAAAAAAEHARkABQARAB8AKQAAEwcXNzU0FScmIg8BDgEfATY1NxYdARQHNz4BPQE2JicHNxcHBiIvASY0t08oLIwCCAMNAwEEoQUOBAQ0BAQBBQToFh8bAggDDQMBEkgfITsGmmoCAwwDCQOUBQbhCQnPCQkZAggEpQQIAYEVHBUCAwwDCQAAAQAAAAABBwEaACoAADcGJyYvAQcGIi8BJjQ/AScmND8BNjIfATc+AR8BHgEdASM1Bxc1MxUUBgfMBgYDA2AqAggDDQMDJCQDAw0DCAIqYgQIBDIEBDxJST0FBCcDAwECWCACAwwDCQMhIgMJAwwDAiBZAwECGQEIBFxBODcuSQQIAgAABgAAAAABGgEaAAsAFwAjADAAOABAAAA3MzUzNSM1IxUjFTMXIxUjFTMVMzUzNSM3NSMVIxUzFTM1MzUHJiIPAQYUFjI/ATY0BwYiJjQ/ARc3Byc3NjIWFFITExMTExOWExISExMTHxMTExMSSggXCYwIEBgIjAiiAggGA3kOEwYNBgIIBs4TExMTE14SExMTE5YSEhMTExMuCAiNCBcRCYwIF54DBgcDeQ0TBg4GAgUIAAAABAAAAAABGQEaAAUACAAMABAAABMzFwcjJzcHMyc1IxU9ATMVjhB7CPYIg2vWXxgYARnmDQ3OyRMTEyZLSwAAAAMAAAAAAPQBGgAGABoAJwAANzM1IzUjFScOARQWFxUXMzc1PgE0Jic1JyMHFxQOASIuATQ+ATIeAY0lHBMcFhkZFgpLCRYZGRYJSwp6FCMoIxQUIygjFIMTLzhaDCwyLAwpCQkpDCwyLAwpCQl6FCMUFCMoIxQUIwAAAAADAAAAAADhARoAEQAZAB0AABM1IyIOARQeATsBFSMVMzUjNQcjIiY0NjsBFyM1M+FnEh4SEh4SHBNeEzgcFBsbFBwmExMBBxIRHyMeEl4SEs9eGyccz88ABQAAAAABLAD3AAcAHAAnADcAQwAANTMVITUzFSE3IzUjBiMiJjU0PwE0IyIHNTYzMhUPAQ4BFRQWMzI2NRcxFSM1MxUxNjMyFhUUBiInFRQWMzI2NTQmIgYTAQYT/tSAEAEKFRARIh8WEg8PFCQQGQwLCgkNED8REQwYFBYZKgsQDQ8REBwRXiYmODgQExENHQUEGgwRCSYPBAEICwcKEQ4bD5hDFBsYGh87Dg0SFxURExQAAwAAAAABGgEHAAcACwAPAAABIwcVFzM3NQcjNTM1IzUzARD0CQn0CRLh4eHhAQcKzgkJzsWEEiYAAAAABgAAAAABGgEaAB8ALwBFAFoAegCKAAA3JicmBwYPARU3PgEyFhcHDgIHBhYXFjMyNxUzNTQmBxUUBw4BJy4CPQE0PgEzNy4CIgcGBzUjFTM1FhcWMzI+AjQHFA4BBwYnLgI9AT4DFzYXHgEHPgEyFh8BNScmDgMUHgIyNj8BNQ8BBicuAjQ2NyM1MxcVByMXByc1NxcHM0kEBQkLBwYGBAQLCwUBEgcJBgEDBgkFBQsHEwMPAQIKBQICAQMEA2sBBgsOBQMCEhIDBgIEBwsHBBICBAIGBQIEAgECAwUDBgQBAl4DBggGAwcCCBIOCgUFCQ0OCgQCBgoGBgMFAwTcS1QJCXwnDjY2DiZy6wUCAwIBAwMUAwMFBgYCAQUHBAoSBAIJBzEHCx8FAwMGBQIBAgMCBAEDAhYGCwcEAgMudAUFAQEGDBAQBwcKBgEDAgIEBgQKBAgFAwEBBgIJYAMDAgIFFQEFAQYMDxEOCgYDAgERAgQBAgIGCAsJTRIJcQknDTYNNw4lAAADAAAAAAElAS0AJAA/AEwAABMyHgIXFhcWFxYzFRQOBA8BJy4FPQEyPgI3PgEXLgEnLgEiBgcOAQcVFB4EFz4FNS8BDwEvAQ8BHwI/AZcIDQ0MBwoLFRcMCwsTGR8hEQQFESIeGhMKCxgWFQoMGogVKRIJFhYVCRIpFgoRGBoeDxAdGxcSCTQICFEcCAgCJAQJBFsBLAIEBgQGBQgCAUoWJiMeGxcKAwMKFxseIycUTAEFCQYICDgBDAwGBgYGDAwBORIiIBsYFQkJFBkbICISGQcBYCcCBwczAgECawAAAAQAAAAAASUBLQAkAD8AaQBxAAATMh4CFxYXFhcyFxUUDgQPAScuBT0BFj4CNz4BFy4BJy4BIgYHDgEHFRQeBBc+BTUnHgEUDgEPAQ4BHQEHIyc1ND4BPwE+ATQmJyYiBw4BFQcjJzQ+ATc2FxYHNzMXFQcjJ5cIDQ0MBwoLFRYNCwsTGR8hEQUEESIeGhMKCxgWFQoMGogVKRIJFhYVCRIpFgoRGBoeDxAdGxcRCmAFBgUGBAYDAwMNAwUGBAYDAwMCBQ8FAgMDDQMGCgYODwYeAw0DAw0DASwCBAYEBgUIAgFKFiYjHhsXCgMDChcbHiMnFEwBAgUJBggIOAEMDAYGBgYMDAE5EiIgGxgVCQkUGRsgIhIZBgwOCwgDBgMGBAYDAwYHCwcDBgQGBwYDBQUDBgQCAggNCgIGBgNhAwMNAwMAAAMAAAAAASUBLQAkAD8AUwAAEzIeAhcWFxYXMhcVFA4EDwEnLgU9ARY+Ajc+ARcuAScuASIGBw4BBxUUHgQXPgU1LwEjBycjBxUXBxUXMzcXMzc1JzeXCA0NDAcKCxUWDQsLExkfIREFBBEiHhoTCgsYFhUKDBqIFSkSCRYWFQkSKRYKERgaHg8QHRsXEQpHBwQlJQQIJSUIBCUlBAclJQEsAgQGBAYFCAIBShYmIx4bFwoDAwoXGx4jJxRMAQIFCQYICDgBDAwGBgYGDAwBORIiIBsYFQkJFBkbICISCwgmJggEJSUECCYmCAQlJQAAAAMAAAAAARoBHgAOAB8AKwAANxYGBxcHJw4BLgE+AR4BBzI2Nwc+ATU0LgEiDgEUHgE3NSM1IxUjFTMVMzXiAQ0MUA5PHEg5Exw/RzBkER8MAQwOFycuJhcXJkUlEyYmE7kUJhBPDlAXAitFQiMMNYANDAEMHxEXJxcXJy0nF0sTJSUTJSUAAAADAAAAAAEaAR4ADgAfACMAADcWBgcXBycOAS4BPgEeAQcyNjcHPgE1NC4BIg4BFB4BJzMVI+IBDQxQDk8cSDkTHD9HMGQRHwwBDA4XJy4mFxcmGF1duRQmEE8OUBcCK0VCIww1gA0MAQwfERcnFxcnLScXXRIAAAAAABAAxgABAAAAAAABAAcAAAABAAAAAAACAAcABwABAAAAAAADAAcADgABAAAAAAAEAAcAFQABAAAAAAAFAAwAHAABAAAAAAAGAAcAKAABAAAAAAAKACQALwABAAAAAAALABMAUwADAAEECQABAA4AZgADAAEECQACAA4AdAADAAEECQADAA4AggADAAEECQAEAA4AkAADAAEECQAFABgAngADAAEECQAGAA4AtgADAAEECQAKAEgAxAADAAEECQALACYBDGNvZGljb25SZWd1bGFyY29kaWNvbmNvZGljb25WZXJzaW9uIDEuMTFjb2RpY29uVGhlIGljb24gZm9udCBmb3IgVmlzdWFsIFN0dWRpbyBDb2RlaHR0cDovL2ZvbnRlbGxvLmNvbQBjAG8AZABpAGMAbwBuAFIAZQBnAHUAbABhAHIAYwBvAGQAaQBjAG8AbgBjAG8AZABpAGMAbwBuAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAxAGMAbwBkAGkAYwBvAG4AVABoAGUAIABpAGMAbwBuACAAZgBvAG4AdAAgAGYAbwByACAAVgBpAHMAdQBhAGwAIABTAHQAdQBkAGkAbwAgAEMAbwBkAGUAaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQACAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcsBAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAR8BIAEhASIBIwEkASUBJgEnASgBKQEqASsBLAEtAS4BLwEwATEBMgEzATQBNQE2ATcBOAE5AToBOwE8AT0BPgE/AUABQQFCAUMBRAFFAUYBRwFIAUkBSgFLAUwBTQFOAU8BUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BbgFvAXABcQFyAXMBdAF1AXYBdwF4AXkBegF7AXwBfQF+AX8BgAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcoBywHMAc0BzgHPAdAB0QHSAdMB1AHVAdYB1wHYAdkB2gHbAdwB3QHeAd8B4AHhAeIB4wHkAeUB5gHnAegB6QHqAesB7AHtAe4B7wHwAfEB8gHzAfQB9QH2AfcB+AH5AfoB+wH8Af0B/gH/AgACAQICAgMCBAIFAgYCBwIIAgkCCgILAgwCDQIOAg8CEAIRAhICEwIUAhUCFgIXAhgCGQIaAhsCHAIdAh4CHwIgAiECIgIjAiQCJQImAicCKAIpAioCKwIsAi0CLgIvAjACMQIyAjMCNAI1AjYCNwI4AjkCOgI7AjwCPQI+Aj8CQAJBAkICQwJEAkUCRgJHAkgCSQJKAksCTAJNAk4CTwJQAlECUgJTAlQCVQJWAlcCWAJZAloCWwJcAl0CXgJfAmACYQJiAmMCZAJlAmYCZwJoAmkCagJrAmwCbQJuAm8CcAJxAnICcwJ0AnUCdgJ3AngCeQJ6AnsCfAJ9An4CfwKAAoECggKDAoQChQKGAocCiAKJAooCiwKMAo0CjgKPApACkQKSApMClAKVApYClwKYApkCmgKbApwCnQKeAp8CoAKhAqICowKkAqUCpgKnAqgCqQKqAqsCrAKtAq4CrwKwArECsgKzArQCtQK2ArcCuAK5AroCuwK8Ar0CvgK/AsACwQLCAsMCxALFAsYCxwLIAskCygLLAswAB2FjY291bnQUYWN0aXZhdGUtYnJlYWtwb2ludHMDYWRkB2FyY2hpdmUKYXJyb3ctYm90aBFhcnJvdy1jaXJjbGUtZG93bhFhcnJvdy1jaXJjbGUtbGVmdBJhcnJvdy1jaXJjbGUtcmlnaHQPYXJyb3ctY2lyY2xlLXVwCmFycm93LWRvd24KYXJyb3ctbGVmdAthcnJvdy1yaWdodBBhcnJvdy1zbWFsbC1kb3duEGFycm93LXNtYWxsLWxlZnQRYXJyb3ctc21hbGwtcmlnaHQOYXJyb3ctc21hbGwtdXAKYXJyb3ctc3dhcAhhcnJvdy11cAxhenVyZS1kZXZvcHMFYXp1cmULYmVha2VyLXN0b3AGYmVha2VyCGJlbGwtZG90DmJlbGwtc2xhc2gtZG90CmJlbGwtc2xhc2gEYmVsbAVibGFuawRib2xkBGJvb2sIYm9va21hcmsLYnJhY2tldC1kb3QNYnJhY2tldC1lcnJvcglicmllZmNhc2UJYnJvYWRjYXN0B2Jyb3dzZXIDYnVnCGNhbGVuZGFyDWNhbGwtaW5jb21pbmcNY2FsbC1vdXRnb2luZw5jYXNlLXNlbnNpdGl2ZQljaGVjay1hbGwFY2hlY2sJY2hlY2tsaXN0DGNoZXZyb24tZG93bgxjaGV2cm9uLWxlZnQNY2hldnJvbi1yaWdodApjaGV2cm9uLXVwBGNoaXAMY2hyb21lLWNsb3NlD2Nocm9tZS1tYXhpbWl6ZQ9jaHJvbWUtbWluaW1pemUOY2hyb21lLXJlc3RvcmUNY2lyY2xlLWZpbGxlZBNjaXJjbGUtbGFyZ2UtZmlsbGVkDGNpcmNsZS1sYXJnZQxjaXJjbGUtc2xhc2gTY2lyY2xlLXNtYWxsLWZpbGxlZAxjaXJjbGUtc21hbGwGY2lyY2xlDWNpcmN1aXQtYm9hcmQJY2xlYXItYWxsBmNsaXBweQljbG9zZS1hbGwFY2xvc2UOY2xvdWQtZG93bmxvYWQMY2xvdWQtdXBsb2FkBWNsb3VkCGNvZGUtb3NzBGNvZGUGY29mZmVlDGNvbGxhcHNlLWFsbApjb2xvci1tb2RlB2NvbWJpbmUSY29tbWVudC1kaXNjdXNzaW9uDWNvbW1lbnQtZHJhZnQSY29tbWVudC11bnJlc29sdmVkB2NvbW1lbnQOY29tcGFzcy1hY3RpdmULY29tcGFzcy1kb3QHY29tcGFzcwdjb3BpbG90BGNvcHkIY292ZXJhZ2ULY3JlZGl0LWNhcmQEZGFzaAlkYXNoYm9hcmQIZGF0YWJhc2UJZGVidWctYWxsD2RlYnVnLWFsdC1zbWFsbAlkZWJ1Zy1hbHQnZGVidWctYnJlYWtwb2ludC1jb25kaXRpb25hbC11bnZlcmlmaWVkHGRlYnVnLWJyZWFrcG9pbnQtY29uZGl0aW9uYWwgZGVidWctYnJlYWtwb2ludC1kYXRhLXVudmVyaWZpZWQVZGVidWctYnJlYWtwb2ludC1kYXRhJGRlYnVnLWJyZWFrcG9pbnQtZnVuY3Rpb24tdW52ZXJpZmllZBlkZWJ1Zy1icmVha3BvaW50LWZ1bmN0aW9uH2RlYnVnLWJyZWFrcG9pbnQtbG9nLXVudmVyaWZpZWQUZGVidWctYnJlYWtwb2ludC1sb2ccZGVidWctYnJlYWtwb2ludC11bnN1cHBvcnRlZA1kZWJ1Zy1jb25zb2xlFGRlYnVnLWNvbnRpbnVlLXNtYWxsDmRlYnVnLWNvbnRpbnVlDmRlYnVnLWNvdmVyYWdlEGRlYnVnLWRpc2Nvbm5lY3QSZGVidWctbGluZS1ieS1saW5lC2RlYnVnLXBhdXNlC2RlYnVnLXJlcnVuE2RlYnVnLXJlc3RhcnQtZnJhbWUNZGVidWctcmVzdGFydBZkZWJ1Zy1yZXZlcnNlLWNvbnRpbnVlF2RlYnVnLXN0YWNrZnJhbWUtYWN0aXZlEGRlYnVnLXN0YWNrZnJhbWULZGVidWctc3RhcnQPZGVidWctc3RlcC1iYWNrD2RlYnVnLXN0ZXAtaW50bw5kZWJ1Zy1zdGVwLW91dA9kZWJ1Zy1zdGVwLW92ZXIKZGVidWctc3RvcAVkZWJ1ZxBkZXNrdG9wLWRvd25sb2FkE2RldmljZS1jYW1lcmEtdmlkZW8NZGV2aWNlLWNhbWVyYQ1kZXZpY2UtbW9iaWxlCmRpZmYtYWRkZWQMZGlmZi1pZ25vcmVkDWRpZmYtbW9kaWZpZWQNZGlmZi1tdWx0aXBsZQxkaWZmLXJlbW92ZWQMZGlmZi1yZW5hbWVkC2RpZmYtc2luZ2xlBGRpZmYHZGlzY2FyZARlZGl0DWVkaXRvci1sYXlvdXQIZWxsaXBzaXMMZW1wdHktd2luZG93C2Vycm9yLXNtYWxsBWVycm9yB2V4Y2x1ZGUKZXhwYW5kLWFsbAZleHBvcnQKZXh0ZW5zaW9ucwpleWUtY2xvc2VkA2V5ZQhmZWVkYmFjawtmaWxlLWJpbmFyeQlmaWxlLWNvZGUKZmlsZS1tZWRpYQhmaWxlLXBkZg5maWxlLXN1Ym1vZHVsZRZmaWxlLXN5bWxpbmstZGlyZWN0b3J5EWZpbGUtc3ltbGluay1maWxlCGZpbGUtemlwBGZpbGUFZmlsZXMNZmlsdGVyLWZpbGxlZAZmaWx0ZXIFZmxhbWUJZm9sZC1kb3duB2ZvbGQtdXAEZm9sZA1mb2xkZXItYWN0aXZlDmZvbGRlci1saWJyYXJ5DWZvbGRlci1vcGVuZWQGZm9sZGVyBGdhbWUEZ2VhcgRnaWZ0C2dpc3Qtc2VjcmV0CmdpdC1jb21taXQLZ2l0LWNvbXBhcmUJZ2l0LWZldGNoCWdpdC1tZXJnZRdnaXQtcHVsbC1yZXF1ZXN0LWNsb3NlZBdnaXQtcHVsbC1yZXF1ZXN0LWNyZWF0ZRZnaXQtcHVsbC1yZXF1ZXN0LWRyYWZ0HmdpdC1wdWxsLXJlcXVlc3QtZ28tdG8tY2hhbmdlcxxnaXQtcHVsbC1yZXF1ZXN0LW5ldy1jaGFuZ2VzEGdpdC1wdWxsLXJlcXVlc3QPZ2l0LXN0YXNoLWFwcGx5DWdpdC1zdGFzaC1wb3AJZ2l0LXN0YXNoDWdpdGh1Yi1hY3Rpb24KZ2l0aHViLWFsdA9naXRodWItaW52ZXJ0ZWQOZ2l0aHViLXByb2plY3QGZ2l0aHViBWdsb2JlCmdvLXRvLWZpbGUHZ3JhYmJlcgpncmFwaC1sZWZ0CmdyYXBoLWxpbmUNZ3JhcGgtc2NhdHRlcgVncmFwaAdncmlwcGVyEWdyb3VwLWJ5LXJlZi10eXBlDGhlYXJ0LWZpbGxlZAVoZWFydAdoaXN0b3J5BGhvbWUPaG9yaXpvbnRhbC1ydWxlBWh1Ym90BWluYm94BmluZGVudARpbmZvBmluc2VydAdpbnNwZWN0C2lzc3VlLWRyYWZ0Dmlzc3VlLXJlb3BlbmVkBmlzc3VlcwZpdGFsaWMGamVyc2V5BGpzb24Oa2ViYWItdmVydGljYWwDa2V5A2xhdw1sYXllcnMtYWN0aXZlCmxheWVycy1kb3QGbGF5ZXJzF2xheW91dC1hY3Rpdml0eWJhci1sZWZ0GGxheW91dC1hY3Rpdml0eWJhci1yaWdodA9sYXlvdXQtY2VudGVyZWQObGF5b3V0LW1lbnViYXITbGF5b3V0LXBhbmVsLWNlbnRlchRsYXlvdXQtcGFuZWwtanVzdGlmeRFsYXlvdXQtcGFuZWwtbGVmdBBsYXlvdXQtcGFuZWwtb2ZmEmxheW91dC1wYW5lbC1yaWdodAxsYXlvdXQtcGFuZWwXbGF5b3V0LXNpZGViYXItbGVmdC1vZmYTbGF5b3V0LXNpZGViYXItbGVmdBhsYXlvdXQtc2lkZWJhci1yaWdodC1vZmYUbGF5b3V0LXNpZGViYXItcmlnaHQQbGF5b3V0LXN0YXR1c2JhcgZsYXlvdXQHbGlicmFyeRFsaWdodGJ1bGItYXV0b2ZpeBFsaWdodGJ1bGItc3BhcmtsZQlsaWdodGJ1bGINbGluay1leHRlcm5hbARsaW5rC2xpc3QtZmlsdGVyCWxpc3QtZmxhdAxsaXN0LW9yZGVyZWQObGlzdC1zZWxlY3Rpb24JbGlzdC10cmVlDmxpc3QtdW5vcmRlcmVkCmxpdmUtc2hhcmUHbG9hZGluZwhsb2NhdGlvbgpsb2NrLXNtYWxsBGxvY2sGbWFnbmV0CW1haWwtcmVhZARtYWlsCm1hcC1maWxsZWQTbWFwLXZlcnRpY2FsLWZpbGxlZAxtYXAtdmVydGljYWwDbWFwCG1hcmtkb3duCW1lZ2FwaG9uZQdtZW50aW9uBG1lbnUFbWVyZ2UKbWljLWZpbGxlZANtaWMJbWlsZXN0b25lBm1pcnJvcgxtb3J0YXItYm9hcmQEbW92ZRBtdWx0aXBsZS13aW5kb3dzBW11c2ljBG11dGUIbmV3LWZpbGUKbmV3LWZvbGRlcgduZXdsaW5lCm5vLW5ld2xpbmUEbm90ZRFub3RlYm9vay10ZW1wbGF0ZQhub3RlYm9vawhvY3RvZmFjZQxvcGVuLXByZXZpZXcMb3JnYW5pemF0aW9uBm91dHB1dAdwYWNrYWdlCHBhaW50Y2FuC3Bhc3MtZmlsbGVkBHBhc3MKcGVyc29uLWFkZAZwZXJzb24FcGlhbm8JcGllLWNoYXJ0A3BpbgxwaW5uZWQtZGlydHkGcGlubmVkC3BsYXktY2lyY2xlBHBsYXkEcGx1Zw1wcmVzZXJ2ZS1jYXNlB3ByZXZpZXcQcHJpbWl0aXZlLXNxdWFyZQdwcm9qZWN0BXB1bHNlCHF1ZXN0aW9uBXF1b3RlC3JhZGlvLXRvd2VyCXJlYWN0aW9ucwtyZWNvcmQta2V5cwxyZWNvcmQtc21hbGwGcmVjb3JkBHJlZG8KcmVmZXJlbmNlcwdyZWZyZXNoBXJlZ2V4D3JlbW90ZS1leHBsb3JlcgZyZW1vdGUGcmVtb3ZlC3JlcGxhY2UtYWxsB3JlcGxhY2UFcmVwbHkKcmVwby1jbG9uZQpyZXBvLWZldGNoD3JlcG8tZm9yY2UtcHVzaAtyZXBvLWZvcmtlZAlyZXBvLXB1bGwJcmVwby1wdXNoBHJlcG8GcmVwb3J0D3JlcXVlc3QtY2hhbmdlcwVyb2JvdAZyb2NrZXQScm9vdC1mb2xkZXItb3BlbmVkC3Jvb3QtZm9sZGVyA3JzcwRydWJ5CXJ1bi1hYm92ZRBydW4tYWxsLWNvdmVyYWdlB3J1bi1hbGwJcnVuLWJlbG93DHJ1bi1jb3ZlcmFnZQpydW4tZXJyb3JzCHNhdmUtYWxsB3NhdmUtYXMEc2F2ZQtzY3JlZW4tZnVsbA1zY3JlZW4tbm9ybWFsDHNlYXJjaC1mdXp6eQtzZWFyY2gtc3RvcAZzZWFyY2gEc2VuZBJzZXJ2ZXItZW52aXJvbm1lbnQOc2VydmVyLXByb2Nlc3MGc2VydmVyDXNldHRpbmdzLWdlYXIIc2V0dGluZ3MFc2hhcmUGc2hpZWxkB3NpZ24taW4Ic2lnbi1vdXQGc21pbGV5BXNuYWtlD3NvcnQtcHJlY2VkZW5jZQ5zb3VyY2UtY29udHJvbA5zcGFya2xlLWZpbGxlZAdzcGFya2xlEHNwbGl0LWhvcml6b250YWwOc3BsaXQtdmVydGljYWwIc3F1aXJyZWwKc3Rhci1lbXB0eQlzdGFyLWZ1bGwJc3Rhci1oYWxmC3N0b3AtY2lyY2xlDXN1cnJvdW5kLXdpdGgMc3ltYm9sLWFycmF5DnN5bWJvbC1ib29sZWFuDHN5bWJvbC1jbGFzcwxzeW1ib2wtY29sb3IPc3ltYm9sLWNvbnN0YW50EnN5bWJvbC1lbnVtLW1lbWJlcgtzeW1ib2wtZW51bQxzeW1ib2wtZXZlbnQMc3ltYm9sLWZpZWxkC3N5bWJvbC1maWxlEHN5bWJvbC1pbnRlcmZhY2UKc3ltYm9sLWtleQ5zeW1ib2wta2V5d29yZA1zeW1ib2wtbWV0aG9kC3N5bWJvbC1taXNjEHN5bWJvbC1uYW1lc3BhY2UOc3ltYm9sLW51bWVyaWMPc3ltYm9sLW9wZXJhdG9yEHN5bWJvbC1wYXJhbWV0ZXIPc3ltYm9sLXByb3BlcnR5DHN5bWJvbC1ydWxlcg5zeW1ib2wtc25pcHBldA1zeW1ib2wtc3RyaW5nEHN5bWJvbC1zdHJ1Y3R1cmUPc3ltYm9sLXZhcmlhYmxlDHN5bmMtaWdub3JlZARzeW5jBXRhYmxlA3RhZwZ0YXJnZXQIdGFza2xpc3QJdGVsZXNjb3BlDXRlcm1pbmFsLWJhc2gMdGVybWluYWwtY21kD3Rlcm1pbmFsLWRlYmlhbg50ZXJtaW5hbC1saW51eBN0ZXJtaW5hbC1wb3dlcnNoZWxsDXRlcm1pbmFsLXRtdXgPdGVybWluYWwtdWJ1bnR1CHRlcm1pbmFsCXRleHQtc2l6ZQp0aHJlZS1iYXJzEXRodW1ic2Rvd24tZmlsbGVkCnRodW1ic2Rvd24PdGh1bWJzdXAtZmlsbGVkCHRodW1ic3VwBXRvb2xzBXRyYXNoDXRyaWFuZ2xlLWRvd24NdHJpYW5nbGUtbGVmdA50cmlhbmdsZS1yaWdodAt0cmlhbmdsZS11cAd0d2l0dGVyEnR5cGUtaGllcmFyY2h5LXN1YhR0eXBlLWhpZXJhcmNoeS1zdXBlcg50eXBlLWhpZXJhcmNoeQZ1bmZvbGQTdW5ncm91cC1ieS1yZWYtdHlwZQZ1bmxvY2sGdW5tdXRlCnVudmVyaWZpZWQOdmFyaWFibGUtZ3JvdXAPdmVyaWZpZWQtZmlsbGVkCHZlcmlmaWVkCHZlcnNpb25zCXZtLWFjdGl2ZQp2bS1jb25uZWN0CnZtLW91dGxpbmUKdm0tcnVubmluZwJ2bQJ2cg92c2NvZGUtaW5zaWRlcnMGdnNjb2RlBHdhbmQHd2FybmluZwV3YXRjaAp3aGl0ZXNwYWNlCndob2xlLXdvcmQGd2luZG93CXdvcmQtd3JhcBF3b3Jrc3BhY2UtdHJ1c3RlZBF3b3Jrc3BhY2UtdW5rbm93bhN3b3Jrc3BhY2UtdW50cnVzdGVkB3pvb20taW4Iem9vbS1vdXQAAAA=) format("truetype")}.codicon[class*=codicon-]{font: 16px/1 codicon;display:inline-block;text-decoration:none;text-rendering:auto;text-align:center;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none}.codicon-wrench-subaction{opacity:.5}@keyframes codicon-spin{to{transform:rotate(360deg)}}.codicon-sync.codicon-modifier-spin,.codicon-loading.codicon-modifier-spin,.codicon-gear.codicon-modifier-spin,.codicon-notebook-state-executing.codicon-modifier-spin{animation:codicon-spin 1.5s steps(30) infinite}.codicon-modifier-disabled{opacity:.4}.codicon-loading,.codicon-tree-item-loading:before{animation-duration:1s!important;animation-timing-function:cubic-bezier(.53,.21,.29,.67)!important}.monaco-editor .codicon.codicon-symbol-array,.monaco-workbench .codicon.codicon-symbol-array{color:var(--vscode-symbolIcon-arrayForeground)}.monaco-editor .codicon.codicon-symbol-boolean,.monaco-workbench .codicon.codicon-symbol-boolean{color:var(--vscode-symbolIcon-booleanForeground)}.monaco-editor .codicon.codicon-symbol-class,.monaco-workbench .codicon.codicon-symbol-class{color:var(--vscode-symbolIcon-classForeground)}.monaco-editor .codicon.codicon-symbol-method,.monaco-workbench .codicon.codicon-symbol-method{color:var(--vscode-symbolIcon-methodForeground)}.monaco-editor .codicon.codicon-symbol-color,.monaco-workbench .codicon.codicon-symbol-color{color:var(--vscode-symbolIcon-colorForeground)}.monaco-editor .codicon.codicon-symbol-constant,.monaco-workbench .codicon.codicon-symbol-constant{color:var(--vscode-symbolIcon-constantForeground)}.monaco-editor .codicon.codicon-symbol-constructor,.monaco-workbench .codicon.codicon-symbol-constructor{color:var(--vscode-symbolIcon-constructorForeground)}.monaco-editor .codicon.codicon-symbol-value,.monaco-workbench .codicon.codicon-symbol-value,.monaco-editor .codicon.codicon-symbol-enum,.monaco-workbench .codicon.codicon-symbol-enum{color:var(--vscode-symbolIcon-enumeratorForeground)}.monaco-editor .codicon.codicon-symbol-enum-member,.monaco-workbench .codicon.codicon-symbol-enum-member{color:var(--vscode-symbolIcon-enumeratorMemberForeground)}.monaco-editor .codicon.codicon-symbol-event,.monaco-workbench .codicon.codicon-symbol-event{color:var(--vscode-symbolIcon-eventForeground)}.monaco-editor .codicon.codicon-symbol-field,.monaco-workbench .codicon.codicon-symbol-field{color:var(--vscode-symbolIcon-fieldForeground)}.monaco-editor .codicon.codicon-symbol-file,.monaco-workbench .codicon.codicon-symbol-file{color:var(--vscode-symbolIcon-fileForeground)}.monaco-editor .codicon.codicon-symbol-folder,.monaco-workbench .codicon.codicon-symbol-folder{color:var(--vscode-symbolIcon-folderForeground)}.monaco-editor .codicon.codicon-symbol-function,.monaco-workbench .codicon.codicon-symbol-function{color:var(--vscode-symbolIcon-functionForeground)}.monaco-editor .codicon.codicon-symbol-interface,.monaco-workbench .codicon.codicon-symbol-interface{color:var(--vscode-symbolIcon-interfaceForeground)}.monaco-editor .codicon.codicon-symbol-key,.monaco-workbench .codicon.codicon-symbol-key{color:var(--vscode-symbolIcon-keyForeground)}.monaco-editor .codicon.codicon-symbol-keyword,.monaco-workbench .codicon.codicon-symbol-keyword{color:var(--vscode-symbolIcon-keywordForeground)}.monaco-editor .codicon.codicon-symbol-module,.monaco-workbench .codicon.codicon-symbol-module{color:var(--vscode-symbolIcon-moduleForeground)}.monaco-editor .codicon.codicon-symbol-namespace,.monaco-workbench .codicon.codicon-symbol-namespace{color:var(--vscode-symbolIcon-namespaceForeground)}.monaco-editor .codicon.codicon-symbol-null,.monaco-workbench .codicon.codicon-symbol-null{color:var(--vscode-symbolIcon-nullForeground)}.monaco-editor .codicon.codicon-symbol-number,.monaco-workbench .codicon.codicon-symbol-number{color:var(--vscode-symbolIcon-numberForeground)}.monaco-editor .codicon.codicon-symbol-object,.monaco-workbench .codicon.codicon-symbol-object{color:var(--vscode-symbolIcon-objectForeground)}.monaco-editor .codicon.codicon-symbol-operator,.monaco-workbench .codicon.codicon-symbol-operator{color:var(--vscode-symbolIcon-operatorForeground)}.monaco-editor .codicon.codicon-symbol-package,.monaco-workbench .codicon.codicon-symbol-package{color:var(--vscode-symbolIcon-packageForeground)}.monaco-editor .codicon.codicon-symbol-property,.monaco-workbench .codicon.codicon-symbol-property{color:var(--vscode-symbolIcon-propertyForeground)}.monaco-editor .codicon.codicon-symbol-reference,.monaco-workbench .codicon.codicon-symbol-reference{color:var(--vscode-symbolIcon-referenceForeground)}.monaco-editor .codicon.codicon-symbol-snippet,.monaco-workbench .codicon.codicon-symbol-snippet{color:var(--vscode-symbolIcon-snippetForeground)}.monaco-editor .codicon.codicon-symbol-string,.monaco-workbench .codicon.codicon-symbol-string{color:var(--vscode-symbolIcon-stringForeground)}.monaco-editor .codicon.codicon-symbol-struct,.monaco-workbench .codicon.codicon-symbol-struct{color:var(--vscode-symbolIcon-structForeground)}.monaco-editor .codicon.codicon-symbol-text,.monaco-workbench .codicon.codicon-symbol-text{color:var(--vscode-symbolIcon-textForeground)}.monaco-editor .codicon.codicon-symbol-type-parameter,.monaco-workbench .codicon.codicon-symbol-type-parameter{color:var(--vscode-symbolIcon-typeParameterForeground)}.monaco-editor .codicon.codicon-symbol-unit,.monaco-workbench .codicon.codicon-symbol-unit{color:var(--vscode-symbolIcon-unitForeground)}.monaco-editor .codicon.codicon-symbol-variable,.monaco-workbench .codicon.codicon-symbol-variable{color:var(--vscode-symbolIcon-variableForeground)}.monaco-editor .lightBulbWidget{display:flex;align-items:center;justify-content:center}.monaco-editor .lightBulbWidget:hover{cursor:pointer}.monaco-editor .lightBulbWidget.codicon-light-bulb,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle{color:var(--vscode-editorLightBulb-foreground)}.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle-autofix{color:var(--vscode-editorLightBulbAutoFix-foreground, var(--vscode-editorLightBulb-foreground))}.monaco-editor .lightBulbWidget.codicon-sparkle-filled{color:var(--vscode-editorLightBulbAi-foreground, var(--vscode-icon-foreground))}.monaco-editor .lightBulbWidget:before{position:relative;z-index:2}.monaco-editor .lightBulbWidget:after{position:absolute;top:0;left:0;content:"";display:block;width:100%;height:100%;opacity:.3;background-color:var(--vscode-editor-background);z-index:1}.action-widget{font-size:13px;min-width:160px;max-width:80vw;z-index:40;display:block;width:100%;border:1px solid var(--vscode-editorWidget-border)!important;border-radius:2px;background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground)}.context-view-block{position:fixed;cursor:initial;left:0;top:0;width:100%;height:100%;z-index:-1}.context-view-pointerBlock{position:fixed;cursor:initial;left:0;top:0;width:100%;height:100%;z-index:2}.action-widget .monaco-list{user-select:none;-webkit-user-select:none;border:none!important;border-width:0!important}.action-widget .monaco-list:focus:before{outline:0!important}.action-widget .monaco-list .monaco-scrollable-element{overflow:visible}.action-widget .monaco-list .monaco-list-row{padding:0 10px;white-space:nowrap;cursor:pointer;touch-action:none;width:100%}.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled){background-color:var(--vscode-quickInputList-focusBackground)!important;color:var(--vscode-quickInputList-focusForeground);outline:1px solid var(--vscode-menu-selectionBorder, transparent);outline-offset:-1px}.action-widget .monaco-list-row.group-header{color:var(--vscode-descriptionForeground)!important;font-weight:600}.action-widget .monaco-list .group-header,.action-widget .monaco-list .option-disabled,.action-widget .monaco-list .option-disabled:before,.action-widget .monaco-list .option-disabled .focused,.action-widget .monaco-list .option-disabled .focused:before{cursor:default!important;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background-color:transparent!important;outline:0 solid!important}.action-widget .monaco-list-row.action{display:flex;gap:6px;align-items:center}.action-widget .monaco-list-row.action.option-disabled,.action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled,.action-widget .monaco-list-row.action.option-disabled .codicon,.action-widget .monaco-list:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused).option-disabled{color:var(--vscode-disabledForeground)}.action-widget .monaco-list-row.action:not(.option-disabled) .codicon{color:inherit}.action-widget .monaco-list-row.action .title{flex:1;overflow:hidden;text-overflow:ellipsis}.action-widget .monaco-list-row.action .monaco-keybinding>.monaco-keybinding-key{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-style:solid;border-width:1px;border-radius:3px;border-color:var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow)}.action-widget .action-widget-action-bar{background-color:var(--vscode-editorHoverWidget-statusBarBackground);border-top:1px solid var(--vscode-editorHoverWidget-border)}.action-widget .action-widget-action-bar:before{display:block;content:"";width:100%}.action-widget .action-widget-action-bar .actions-container{padding:0 8px}.action-widget-action-bar .action-label{color:var(--vscode-textLink-activeForeground);font-size:12px;line-height:22px;padding:0;pointer-events:all}.action-widget-action-bar .action-item{margin-right:16px;pointer-events:none}.action-widget-action-bar .action-label:hover{background-color:transparent!important}.monaco-action-bar .actions-container.highlight-toggled .action-label.checked{background:var(--vscode-actionBar-toggledBackground)!important}.monaco-keybinding{display:flex;align-items:center;line-height:10px}.monaco-keybinding>.monaco-keybinding-key{display:inline-block;border-style:solid;border-width:1px;border-radius:3px;vertical-align:middle;font-size:11px;padding:3px 5px;margin:0 2px}.monaco-keybinding>.monaco-keybinding-key:first-child{margin-left:0}.monaco-keybinding>.monaco-keybinding-key:last-child{margin-right:0}.monaco-keybinding>.monaco-keybinding-key-separator{display:inline-block}.monaco-keybinding>.monaco-keybinding-key-chord-separator{width:6px}.monaco-editor .codelens-decoration{overflow:hidden;display:inline-block;text-overflow:ellipsis;white-space:nowrap;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize);padding-right:calc(var(--vscode-editorCodeLens-fontSize)*.5);font-feature-settings:var(--vscode-editorCodeLens-fontFeatureSettings);font-family:var(--vscode-editorCodeLens-fontFamily),var(--vscode-editorCodeLens-fontFamilyDefault)}.monaco-editor .codelens-decoration>span,.monaco-editor .codelens-decoration>a{user-select:none;-webkit-user-select:none;white-space:nowrap;vertical-align:sub}.monaco-editor .codelens-decoration>a{text-decoration:none}.monaco-editor .codelens-decoration>a:hover{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration>a:hover .codicon{color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration .codicon{vertical-align:middle;color:currentColor!important;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize)}.monaco-editor .codelens-decoration>a:hover .codicon:before{cursor:pointer}@keyframes fadein{0%{opacity:0;visibility:visible}to{opacity:1}}.monaco-editor .codelens-decoration.fadein{animation:fadein .1s linear}.colorpicker-widget{height:190px;user-select:none;-webkit-user-select:none}.colorpicker-color-decoration,.hc-light .colorpicker-color-decoration{border:solid .1em #000;box-sizing:border-box;margin:.1em .2em 0;width:.8em;height:.8em;line-height:.8em;display:inline-block;cursor:pointer}.hc-black .colorpicker-color-decoration,.vs-dark .colorpicker-color-decoration{border:solid .1em #eee}.colorpicker-header{display:flex;height:24px;position:relative;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-header .picked-color{width:240px;display:flex;align-items:center;justify-content:center;line-height:24px;cursor:pointer;color:#fff;flex:1;white-space:nowrap;overflow:hidden}.colorpicker-header .picked-color .picked-color-presentation{white-space:nowrap;margin-left:5px;margin-right:5px}.colorpicker-header .picked-color .codicon{color:inherit;font-size:14px}.colorpicker-header .picked-color.light{color:#000}.colorpicker-header .original-color{width:74px;z-index:inherit;cursor:pointer}.standalone-colorpicker{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header.standalone-colorpicker{border-bottom:none}.colorpicker-header .close-button{cursor:pointer;background-color:var(--vscode-editorHoverWidget-background);border-left:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header .close-button-inner-div{width:100%;height:100%;text-align:center}.colorpicker-header .close-button-inner-div:hover{background-color:var(--vscode-toolbar-hoverBackground)}.colorpicker-header .close-icon{padding:3px}.colorpicker-body{display:flex;padding:8px;position:relative}.colorpicker-body .saturation-wrap{overflow:hidden;height:150px;position:relative;min-width:220px;flex:1}.colorpicker-body .saturation-box{height:150px;position:absolute}.colorpicker-body .saturation-selection{width:9px;height:9px;margin:-5px 0 0 -5px;border:1px solid rgb(255,255,255);border-radius:100%;box-shadow:0 0 2px #000c;position:absolute}.colorpicker-body .strip{width:25px;height:150px}.colorpicker-body .standalone-strip{width:25px;height:122px}.colorpicker-body .hue-strip{position:relative;margin-left:8px;cursor:grab;background:linear-gradient(to bottom,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.colorpicker-body .opacity-strip{position:relative;margin-left:8px;cursor:grab;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-body .strip.grabbing{cursor:grabbing}.colorpicker-body .slider{position:absolute;top:0;left:-2px;width:calc(100% + 4px);height:4px;box-sizing:border-box;border:1px solid rgba(255,255,255,.71);box-shadow:0 0 1px #000000d9}.colorpicker-body .strip .overlay{height:150px;pointer-events:none}.colorpicker-body .standalone-strip .standalone-overlay{height:122px;pointer-events:none}.standalone-colorpicker-body{display:block;border:1px solid transparent;border-bottom:1px solid var(--vscode-editorHoverWidget-border);overflow:hidden}.colorpicker-body .insert-button{position:absolute;height:20px;width:58px;padding:0;right:8px;bottom:8px;background:var(--vscode-button-background);color:var(--vscode-button-foreground);border-radius:2px;border:none;cursor:pointer}.colorpicker-body .insert-button:hover{background:var(--vscode-button-hoverBackground)}.monaco-editor .goto-definition-link{text-decoration:underline;cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .peekview-widget .head{box-sizing:border-box;display:flex;justify-content:space-between;flex-wrap:nowrap}.monaco-editor .peekview-widget .head .peekview-title{display:flex;align-items:baseline;font-size:13px;margin-left:20px;min-width:0;text-overflow:ellipsis;overflow:hidden}.monaco-editor .peekview-widget .head .peekview-title.clickable{cursor:pointer}.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty){font-size:.9em;margin-left:.5em}.monaco-editor .peekview-widget .head .peekview-title .meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monaco-editor .peekview-widget .head .peekview-title .dirname,.monaco-editor .peekview-widget .head .peekview-title .filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty):before{content:"-";padding:0 .3em}.monaco-editor .peekview-widget .head .peekview-actions{flex:1;text-align:right;padding-right:2px}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar{display:inline-block}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar,.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar>.actions-container{height:100%}.monaco-editor .peekview-widget>.body{border-top:1px solid;position:relative}.monaco-editor .peekview-widget .head .peekview-title .codicon{margin-right:4px;align-self:center}.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon{color:inherit!important}.monaco-editor .zone-widget{position:absolute;z-index:10}.monaco-editor .zone-widget .zone-widget-container{border-top-style:solid;border-bottom-style:solid;border-top-width:0;border-bottom-width:0;position:relative}.monaco-split-view2{position:relative;width:100%;height:100%}.monaco-split-view2>.sash-container{position:absolute;width:100%;height:100%;pointer-events:none}.monaco-split-view2>.sash-container>.monaco-sash{pointer-events:initial}.monaco-split-view2>.monaco-scrollable-element{width:100%;height:100%}.monaco-split-view2>.monaco-scrollable-element>.split-view-container{width:100%;height:100%;white-space:nowrap;position:relative}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view{white-space:initial;position:absolute}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view:not(.visible){display:none}.monaco-split-view2.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view{width:100%}.monaco-split-view2.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view{height:100%}.monaco-split-view2.separator-border>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{content:" ";position:absolute;top:0;left:0;z-index:5;pointer-events:none;background-color:var(--separator-border)}.monaco-split-view2.separator-border.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:100%;width:1px}.monaco-split-view2.separator-border.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:1px;width:100%}.monaco-table{display:flex;flex-direction:column;position:relative;height:100%;width:100%;white-space:nowrap;overflow:hidden}.monaco-table>.monaco-split-view2{border-bottom:1px solid transparent}.monaco-table>.monaco-list{flex:1}.monaco-table-tr{display:flex;height:100%}.monaco-table-th{width:100%;height:100%;font-weight:700;overflow:hidden;text-overflow:ellipsis}.monaco-table-th,.monaco-table-td{box-sizing:border-box;flex-shrink:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{content:"";position:absolute;left:calc(var(--vscode-sash-size) / 2);width:0;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2,.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{transition:border-color .2s ease-out}.monaco-custom-toggle{margin-left:2px;float:left;cursor:pointer;overflow:hidden;width:20px;height:20px;border-radius:3px;border:1px solid transparent;padding:1px;box-sizing:border-box;user-select:none;-webkit-user-select:none}.monaco-custom-toggle:hover{background-color:var(--vscode-inputOption-hoverBackground)}.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{border:1px dashed var(--vscode-focusBorder)}.hc-black .monaco-custom-toggle,.hc-light .monaco-custom-toggle,.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{background:none}.monaco-custom-toggle.monaco-checkbox{height:18px;width:18px;border:1px solid transparent;border-radius:3px;margin-right:9px;margin-left:0;padding:0;opacity:1;background-size:16px!important}.monaco-action-bar .checkbox-action-item{display:flex;align-items:center}.monaco-action-bar .checkbox-action-item>.monaco-custom-toggle.monaco-checkbox{margin-right:4px}.monaco-action-bar .checkbox-action-item>.checkbox-label{font-size:12px}.monaco-custom-toggle.monaco-checkbox:not(.checked):before{visibility:hidden}.monaco-inputbox{position:relative;display:block;padding:0;box-sizing:border-box;border-radius:2px;font-size:inherit}.monaco-inputbox>.ibwrapper>.input,.monaco-inputbox>.ibwrapper>.mirror{padding:4px 6px}.monaco-inputbox>.ibwrapper{position:relative;width:100%;height:100%}.monaco-inputbox>.ibwrapper>.input{display:inline-block;box-sizing:border-box;width:100%;height:100%;line-height:inherit;border:none;font-family:inherit;font-size:inherit;resize:none;color:inherit}.monaco-inputbox>.ibwrapper>input{text-overflow:ellipsis}.monaco-inputbox>.ibwrapper>textarea.input{display:block;scrollbar-width:none;outline:none}.monaco-inputbox>.ibwrapper>textarea.input::-webkit-scrollbar{display:none}.monaco-inputbox>.ibwrapper>textarea.input.empty{white-space:nowrap}.monaco-inputbox>.ibwrapper>.mirror{position:absolute;display:inline-block;width:100%;top:0;left:0;box-sizing:border-box;white-space:pre-wrap;visibility:hidden;word-wrap:break-word}.monaco-inputbox-container{text-align:right}.monaco-inputbox-container .monaco-inputbox-message{display:inline-block;overflow:hidden;text-align:left;width:100%;box-sizing:border-box;padding:.4em;font-size:12px;line-height:17px;margin-top:-1px;word-wrap:break-word}.monaco-inputbox .monaco-action-bar{position:absolute;right:2px;top:4px}.monaco-inputbox .monaco-action-bar .action-item{margin-left:2px}.monaco-inputbox .monaco-action-bar .action-item .codicon{background-repeat:no-repeat;width:16px;height:16px}.monaco-findInput{position:relative}.monaco-findInput .monaco-inputbox{font-size:13px;width:100%}.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.vs .monaco-findInput.disabled{background-color:#e1e1e1}.vs-dark .monaco-findInput.disabled{background-color:#333}.monaco-findInput.highlight-0 .controls,.hc-light .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-0 .1s linear 0s}.monaco-findInput.highlight-1 .controls,.hc-light .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-1 .1s linear 0s}.hc-black .monaco-findInput.highlight-0 .controls,.vs-dark .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-dark-0 .1s linear 0s}.hc-black .monaco-findInput.highlight-1 .controls,.vs-dark .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-dark-1 .1s linear 0s}@keyframes monaco-findInput-highlight-0{0%{background:#fdff00cc}to{background:transparent}}@keyframes monaco-findInput-highlight-1{0%{background:#fdff00cc}99%{background:transparent}}@keyframes monaco-findInput-highlight-dark-0{0%{background:#ffffff70}to{background:transparent}}@keyframes monaco-findInput-highlight-dark-1{0%{background:#ffffff70}99%{background:transparent}}.monaco-tl-row{display:flex;height:100%;align-items:center;position:relative}.monaco-tl-row.disabled{cursor:default}.monaco-tl-indent{height:100%;position:absolute;top:0;left:16px;pointer-events:none}.hide-arrows .monaco-tl-indent{left:12px}.monaco-tl-indent>.indent-guide{display:inline-block;box-sizing:border-box;height:100%;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-tl-indent>.indent-guide{transition:border-color .1s linear}.monaco-tl-twistie,.monaco-tl-contents{height:100%}.monaco-tl-twistie{font-size:10px;text-align:right;padding-right:6px;flex-shrink:0;width:16px;display:flex!important;align-items:center;justify-content:center;transform:translate(3px)}.monaco-tl-contents{flex:1;overflow:hidden}.monaco-tl-twistie:before{border-radius:20px}.monaco-tl-twistie.collapsed:before{transform:rotate(-90deg)}.monaco-tl-twistie.codicon-tree-item-loading:before{animation:codicon-spin 1.25s steps(30) infinite}.monaco-tree-type-filter{position:absolute;top:0;display:flex;padding:3px;max-width:200px;z-index:100;margin:0 6px;border:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter{transition:top .3s}.monaco-tree-type-filter.disabled{top:-40px!important}.monaco-tree-type-filter-grab{display:flex!important;align-items:center;justify-content:center;cursor:grab;margin-right:2px}.monaco-tree-type-filter-grab.grabbing{cursor:grabbing}.monaco-tree-type-filter-input{flex:1}.monaco-tree-type-filter-input .monaco-inputbox{height:23px}.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.input,.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.mirror{padding:2px 4px}.monaco-tree-type-filter-input .monaco-findInput>.controls{top:2px}.monaco-tree-type-filter-actionbar{margin-left:4px}.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label{padding:2px}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{position:absolute;top:0;left:0;width:100%;height:0;z-index:13;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{position:absolute;width:100%;opacity:1!important;overflow:hidden;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{background-color:var(--vscode-list-hoverBackground)!important;cursor:pointer}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty,.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty .monaco-tree-sticky-container-shadow{display:none}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow{position:absolute;bottom:-3px;left:0;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container[tabindex="0"]:focus{outline:none}.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget{border-top-width:1px;border-bottom-width:1px}.monaco-editor .reference-zone-widget .inline{display:inline-block;vertical-align:top}.monaco-editor .reference-zone-widget .messages{height:100%;width:100%;text-align:center;padding:3em 0}.monaco-editor .reference-zone-widget .ref-tree{line-height:23px;background-color:var(--vscode-peekViewResult-background);color:var(--vscode-peekViewResult-lineForeground)}.monaco-editor .reference-zone-widget .ref-tree .reference{text-overflow:ellipsis;overflow:hidden}.monaco-editor .reference-zone-widget .ref-tree .reference-file{display:inline-flex;width:100%;height:100%;color:var(--vscode-peekViewResult-fileForeground)}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file{color:inherit!important}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows>.monaco-list-row.selected:not(.highlighted){background-color:var(--vscode-peekViewResult-selectionBackground);color:var(--vscode-peekViewResult-selectionForeground)!important}.monaco-editor .reference-zone-widget .ref-tree .reference-file .count{margin-right:12px;margin-left:auto}.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight{background-color:var(--vscode-peekViewResult-matchHighlightBackground)}.monaco-editor .reference-zone-widget .preview .reference-decoration{background-color:var(--vscode-peekViewEditor-matchHighlightBackground);border:2px solid var(--vscode-peekViewEditor-matchHighlightBorder);box-sizing:border-box}.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input{background-color:var(--vscode-peekViewEditor-background)}.monaco-editor .reference-zone-widget .preview .monaco-editor .margin{background-color:var(--vscode-peekViewEditorGutter-background)}.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file,.monaco-editor.hc-light .reference-zone-widget .ref-tree .reference-file{font-weight:700}.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight,.monaco-editor.hc-light .reference-zone-widget .ref-tree .referenceMatch .highlight{border:1px dotted var(--vscode-contrastActiveBorder, transparent);box-sizing:border-box}.monaco-count-badge{padding:3px 6px;border-radius:11px;font-size:11px;min-width:18px;min-height:18px;line-height:11px;font-weight:400;text-align:center;display:inline-block;box-sizing:border-box}.monaco-count-badge.long{padding:2px 3px;border-radius:2px;min-height:auto;line-height:normal}.monaco-icon-label{display:flex;overflow:hidden;text-overflow:ellipsis}.monaco-icon-label:before{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;line-height:inherit!important;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top;flex-shrink:0}.monaco-icon-label-container.disabled{color:var(--vscode-disabledForeground)}.monaco-icon-label>.monaco-icon-label-container{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{color:inherit;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name>.label-separator{margin:0 2px;opacity:.5}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-suffix-container>.label-suffix{opacity:.7;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.7;margin-left:.5em;font-size:.9em;white-space:pre}.monaco-icon-label.nowrap>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{white-space:nowrap}.vs .monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.95}.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{font-style:italic}.monaco-icon-label.deprecated{text-decoration:line-through;opacity:.66}.monaco-icon-label.italic:after{font-style:italic}.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{text-decoration:line-through}.monaco-icon-label:after{opacity:.75;font-size:90%;font-weight:600;margin:auto 16px 0 5px;text-align:center}.monaco-list:focus .selected .monaco-icon-label,.monaco-list:focus .selected .monaco-icon-label:after{color:inherit!important}.monaco-list-row.focused.selected .label-description,.monaco-list-row.selected .label-description{opacity:.8}.monaco-hover{cursor:default;position:absolute;overflow:hidden;user-select:text;-webkit-user-select:text;box-sizing:border-box;animation:fadein .1s linear;line-height:1.5em;white-space:var(--vscode-hover-whiteSpace, normal)}.monaco-hover.hidden{display:none}.monaco-hover a:hover:not(.disabled){cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){max-width:var(--vscode-hover-maxWidth, 500px);word-wrap:break-word}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover p,.monaco-hover .code,.monaco-hover ul,.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{margin:8px 0}.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{line-height:1.1}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{box-sizing:border-box;border-left:0px;border-right:0px;margin:4px -8px -4px;height:1px}.monaco-hover p:first-child,.monaco-hover .code:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover p:last-child,.monaco-hover .code:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ul,.monaco-hover ol{padding-left:20px}.monaco-hover li>p{margin-bottom:0}.monaco-hover li>ul{margin-top:0}.monaco-hover code{border-radius:3px;padding:0 .4em}.monaco-hover .monaco-tokenized-source{white-space:var(--vscode-hover-sourceWhiteSpace, pre-wrap)}.monaco-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-hover .hover-row.status-bar .info{font-style:italic;padding:0 8px}.monaco-hover .hover-row.status-bar .actions{display:flex;padding:0 8px}.monaco-hover .hover-row.status-bar .actions .action-container{margin-right:16px;cursor:pointer}.monaco-hover .hover-row.status-bar .actions .action-container .action .icon{padding-right:4px}.monaco-hover .markdown-hover .hover-contents .codicon{color:inherit;font-size:inherit;vertical-align:middle}.monaco-hover .hover-contents a.code-link:hover,.monaco-hover .hover-contents a.code-link{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:"("}.monaco-hover .hover-contents a.code-link:after{content:")"}.monaco-hover .hover-contents a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground)}.monaco-hover .hover-contents a.code-link>span:hover{color:var(--vscode-textLink-activeForeground)}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span{margin-bottom:4px;display:inline-block}.monaco-hover-content .action-container a{-webkit-user-select:none;user-select:none}.monaco-hover-content .action-container.disabled{pointer-events:none;opacity:.4;cursor:default}.monaco-editor .peekview-widget .head .peekview-title .severity-icon{display:inline-block;vertical-align:text-top;margin-right:4px}.monaco-editor .marker-widget{text-overflow:ellipsis;white-space:nowrap}.monaco-editor .marker-widget>.stale{opacity:.6;font-style:italic}.monaco-editor .marker-widget .title{display:inline-block;padding-right:5px}.monaco-editor .marker-widget .descriptioncontainer{position:absolute;white-space:pre;user-select:text;-webkit-user-select:text;padding:8px 12px 0 20px}.monaco-editor .marker-widget .descriptioncontainer .message{display:flex;flex-direction:column}.monaco-editor .marker-widget .descriptioncontainer .message .details{padding-left:6px}.monaco-editor .marker-widget .descriptioncontainer .message .source,.monaco-editor .marker-widget .descriptioncontainer .message span.code{opacity:.6}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link{opacity:.6;color:inherit}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before{content:"("}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after{content:")"}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-activeForeground)}.monaco-editor .marker-widget .descriptioncontainer .filename{cursor:pointer;color:var(--vscode-textLink-activeForeground)}.monaco-editor .zone-widget .codicon.codicon-error,.markers-panel .marker-icon.error,.markers-panel .marker-icon .codicon.codicon-error,.text-search-provider-messages .providerMessage .codicon.codicon-error,.extensions-viewlet>.extensions .codicon.codicon-error,.extension-editor .codicon.codicon-error,.preferences-editor .codicon.codicon-error{color:var(--vscode-problemsErrorIcon-foreground)}.monaco-editor .zone-widget .codicon.codicon-warning,.markers-panel .marker-icon.warning,.markers-panel .marker-icon .codicon.codicon-warning,.text-search-provider-messages .providerMessage .codicon.codicon-warning,.extensions-viewlet>.extensions .codicon.codicon-warning,.extension-editor .codicon.codicon-warning,.preferences-editor .codicon.codicon-warning{color:var(--vscode-problemsWarningIcon-foreground)}.monaco-editor .zone-widget .codicon.codicon-info,.markers-panel .marker-icon.info,.markers-panel .marker-icon .codicon.codicon-info,.text-search-provider-messages .providerMessage .codicon.codicon-info,.extensions-viewlet>.extensions .codicon.codicon-info,.extension-editor .codicon.codicon-info,.preferences-editor .codicon.codicon-info{color:var(--vscode-problemsInfoIcon-foreground)}.monaco-editor .inlineSuggestionsHints.withBorder{z-index:39;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .inlineSuggestionsHints a,.monaco-editor .inlineSuggestionsHints a:hover{color:var(--vscode-foreground)}.monaco-editor .inlineSuggestionsHints .keybinding{display:flex;margin-left:4px;opacity:.6}.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key{font-size:8px;padding:2px 3px}.monaco-editor .inlineSuggestionsHints .availableSuggestionCount a{display:flex;min-width:19px;justify-content:center}.monaco-editor .inlineSuggestionStatusBarItemLabel{margin-right:2px}.monaco-editor .hoverHighlight{background-color:var(--vscode-editor-hoverHighlightBackground)}.monaco-editor .monaco-hover{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px}.monaco-editor .monaco-hover a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-hover a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .monaco-hover .hover-row .actions{background-color:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-editor .monaco-hover code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor.vs .dnd-target,.monaco-editor.hc-light .dnd-target{border-right:2px dotted black;color:#fff}.monaco-editor.vs-dark .dnd-target{border-right:2px dotted #AEAFAD;color:#51504f}.monaco-editor.hc-black .dnd-target{border-right:2px dotted #fff;color:#000}.monaco-editor.mouse-default .view-lines,.monaco-editor.vs-dark.mac.mouse-default .view-lines,.monaco-editor.hc-black.mac.mouse-default .view-lines,.monaco-editor.hc-light.mac.mouse-default .view-lines{cursor:default}.monaco-editor.mouse-copy .view-lines,.monaco-editor.vs-dark.mac.mouse-copy .view-lines,.monaco-editor.hc-black.mac.mouse-copy .view-lines,.monaco-editor.hc-light.mac.mouse-copy .view-lines{cursor:copy}.monaco-editor .findOptionsWidget{background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground);box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:2px solid var(--vscode-contrastBorder)}.monaco-editor .find-widget{position:absolute;z-index:35;height:33px;overflow:hidden;line-height:19px;transition:transform .2s linear;padding:0 4px;box-sizing:border-box;transform:translateY(calc(-100% - 10px));box-shadow:0 0 8px 2px var(--vscode-widget-shadow);color:var(--vscode-editorWidget-foreground);border-left:1px solid var(--vscode-widget-border);border-right:1px solid var(--vscode-widget-border);border-bottom:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px;background-color:var(--vscode-editorWidget-background)}.monaco-workbench.reduce-motion .monaco-editor .find-widget{transition:transform 0ms linear}.monaco-editor .find-widget textarea{margin:0}.monaco-editor .find-widget.hiddenEditor{display:none}.monaco-editor .find-widget.replaceToggled>.replace-part{display:flex}.monaco-editor .find-widget.visible{transform:translateY(0)}.monaco-editor .find-widget .monaco-inputbox.synthetic-focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px;outline-color:var(--vscode-focusBorder)}.monaco-editor .find-widget .monaco-inputbox .input{background-color:transparent;min-height:0}.monaco-editor .find-widget .monaco-findInput .input{font-size:13px}.monaco-editor .find-widget>.find-part,.monaco-editor .find-widget>.replace-part{margin:3px 25px 0 17px;font-size:12px;display:flex}.monaco-editor .find-widget>.find-part .monaco-inputbox,.monaco-editor .find-widget>.replace-part .monaco-inputbox{min-height:25px}.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-right:22px}.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.mirror,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-top:2px;padding-bottom:2px}.monaco-editor .find-widget>.find-part .find-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget>.replace-part .replace-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget .monaco-findInput{vertical-align:middle;display:flex;flex:1}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element{width:100%}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical{opacity:0}.monaco-editor .find-widget .matchesCount{display:flex;flex:initial;margin:0 0 0 3px;padding:2px 0 0 2px;height:25px;vertical-align:middle;box-sizing:border-box;text-align:center;line-height:23px}.monaco-editor .find-widget .button{width:16px;height:16px;padding:3px;border-radius:5px;flex:initial;margin-left:3px;background-position:center center;background-repeat:no-repeat;cursor:pointer;display:flex;align-items:center;justify-content:center}.monaco-editor .find-widget .codicon-find-selection{width:22px;height:22px;padding:3px;border-radius:5px}.monaco-editor .find-widget .button.left{margin-left:0;margin-right:3px}.monaco-editor .find-widget .button.wide{width:auto;padding:1px 6px;top:-1px}.monaco-editor .find-widget .button.toggle{position:absolute;top:0;left:3px;width:18px;height:100%;border-radius:0;box-sizing:border-box}.monaco-editor .find-widget .button.toggle.disabled{display:none}.monaco-editor .find-widget .disabled{color:var(--vscode-disabledForeground);cursor:default}.monaco-editor .find-widget>.replace-part{display:none}.monaco-editor .find-widget>.replace-part>.monaco-findInput{position:relative;display:flex;vertical-align:middle;flex:auto;flex-grow:0;flex-shrink:0}.monaco-editor .find-widget>.replace-part>.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.monaco-editor .find-widget.reduced-find-widget .matchesCount{display:none}.monaco-editor .find-widget.narrow-find-widget{max-width:257px!important}.monaco-editor .find-widget.collapsed-find-widget{max-width:170px!important}.monaco-editor .find-widget.collapsed-find-widget .button.previous,.monaco-editor .find-widget.collapsed-find-widget .button.next,.monaco-editor .find-widget.collapsed-find-widget .button.replace,.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,.monaco-editor .find-widget.collapsed-find-widget>.find-part .monaco-findInput .controls{display:none}.monaco-editor .find-widget.no-results .matchesCount{color:var(--vscode-errorForeground)}.monaco-editor .findMatch{animation-duration:0;animation-name:inherit!important;background-color:var(--vscode-editor-findMatchHighlightBackground)}.monaco-editor .currentFindMatch{background-color:var(--vscode-editor-findMatchBackground);border:2px solid var(--vscode-editor-findMatchBorder);padding:1px;box-sizing:border-box}.monaco-editor .findScope{background-color:var(--vscode-editor-findRangeHighlightBackground)}.monaco-editor .find-widget .monaco-sash{left:0!important;background-color:var(--vscode-editorWidget-resizeBorder, var(--vscode-editorWidget-border))}.monaco-editor.hc-black .find-widget .button:before{position:relative;top:1px;left:2px}.monaco-editor .find-widget .button:not(.disabled):hover,.monaco-editor .find-widget .codicon-find-selection:hover{background-color:var(--vscode-toolbar-hoverBackground)!important}.monaco-editor.findMatch{background-color:var(--vscode-editor-findMatchHighlightBackground)}.monaco-editor.currentFindMatch{background-color:var(--vscode-editor-findMatchBackground)}.monaco-editor.findScope{background-color:var(--vscode-editor-findRangeHighlightBackground)}.monaco-editor.findMatch{background-color:var(--vscode-editorWidget-background)}.monaco-editor .find-widget>.button.codicon-widget-close{position:absolute;top:5px;right:4px}.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,.monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-editor .margin-view-overlays .codicon-folding-collapsed{cursor:pointer;opacity:0;transition:opacity .5s;display:flex;align-items:center;justify-content:center;font-size:140%;margin-left:2px}.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed{transition:initial}.monaco-editor .margin-view-overlays:hover .codicon,.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons{opacity:1}.monaco-editor .inline-folded:after{color:gray;margin:.1em .2em 0;content:"⋯";display:inline;line-height:1em;cursor:pointer}.monaco-editor .folded-background{background-color:var(--vscode-editor-foldBackground)}.monaco-editor .cldr.codicon.codicon-folding-expanded,.monaco-editor .cldr.codicon.codicon-folding-collapsed,.monaco-editor .cldr.codicon.codicon-folding-manual-expanded,.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed{color:var(--vscode-editorGutter-foldingControlForeground)!important}.monaco-editor .suggest-preview-additional-widget{white-space:nowrap}.monaco-editor .suggest-preview-additional-widget .content-spacer{color:transparent;white-space:pre}.monaco-editor .suggest-preview-additional-widget .button{display:inline-block;cursor:pointer;text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-hidden{opacity:0;font-size:0}.monaco-editor .ghost-text-decoration,.monaco-editor .suggest-preview-text .ghost-text{font-style:italic}.monaco-editor .ghost-text-decoration,.monaco-editor .ghost-text-decoration-preview,.monaco-editor .suggest-preview-text .ghost-text{color:var(--vscode-editorGhostText-foreground)!important;background-color:var(--vscode-editorGhostText-background);border:1px solid var(--vscode-editorGhostText-border)}.monaco-editor .snippet-placeholder{min-width:2px;outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetTabstopHighlightBackground, transparent);outline-color:var(--vscode-editor-snippetTabstopHighlightBorder, transparent)}.monaco-editor .finish-snippet-placeholder{outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetFinalTabstopHighlightBackground, transparent);outline-color:var(--vscode-editor-snippetFinalTabstopHighlightBorder, transparent)}.monaco-editor .suggest-widget{width:430px;z-index:40;display:flex;flex-direction:column;border-radius:3px}.monaco-editor .suggest-widget.message{flex-direction:row;align-items:center}.monaco-editor .suggest-widget,.monaco-editor .suggest-details{flex:0 1 auto;width:100%;border-style:solid;border-width:1px;border-color:var(--vscode-editorSuggestWidget-border);background-color:var(--vscode-editorSuggestWidget-background)}.monaco-editor.hc-black .suggest-widget,.monaco-editor.hc-black .suggest-details,.monaco-editor.hc-light .suggest-widget,.monaco-editor.hc-light .suggest-details{border-width:2px}.monaco-editor .suggest-widget .suggest-status-bar{box-sizing:border-box;display:none;flex-flow:row nowrap;justify-content:space-between;width:100%;font-size:80%;padding:0 4px;border-top:1px solid var(--vscode-editorSuggestWidget-border);overflow:hidden}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar{display:flex}.monaco-editor .suggest-widget .suggest-status-bar .left{padding-right:8px}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label{color:var(--vscode-editorSuggestWidgetStatus-foreground)}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label{margin-right:0}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label:after{content:", ";margin-right:.3em}.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row>.contents>.main>.right>.readMore,.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover>.contents>.main>.right.can-expand-details>.details-label{width:100%}.monaco-editor .suggest-widget>.message{padding-left:22px}.monaco-editor .suggest-widget>.tree{height:100%;width:100%}.monaco-editor .suggest-widget .monaco-list{user-select:none;-webkit-user-select:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row{display:flex;-mox-box-sizing:border-box;box-sizing:border-box;padding-right:10px;background-repeat:no-repeat;background-position:2px 2px;white-space:nowrap;cursor:pointer;touch-action:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused{color:var(--vscode-editorSuggestWidget-selectedForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon{color:var(--vscode-editorSuggestWidget-selectedIconForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents{flex:1;height:100%;overflow:hidden;padding-left:2px}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:pre;justify-content:space-between}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{display:flex}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused)>.contents>.main .monaco-icon-label{color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight{font-weight:700}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-highlightForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-focusHighlightForeground)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:before{color:inherit;opacity:1;font-size:14px;cursor:pointer}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close{position:absolute;top:6px;right:2px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close:hover,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:hover{opacity:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{opacity:.7}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label{overflow:hidden;text-overflow:ellipsis;opacity:.6}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.qualifier-label{margin-left:12px;opacity:.4;font-size:85%;line-height:initial;text-overflow:ellipsis;overflow:hidden;align-self:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{font-size:85%;margin-left:1.1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label>.monaco-tokenized-source{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{display:none}.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label)>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right.can-expand-details>.details-label{width:calc(100% - 26px)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left{flex-shrink:1;flex-grow:1;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.monaco-icon-label{flex-shrink:0}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.left>.monaco-icon-label{max-width:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.left>.monaco-icon-label{flex-shrink:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{overflow:hidden;flex-shrink:4;max-width:70%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:inline-block;position:absolute;right:10px;width:18px;height:18px;visibility:hidden}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:inline-block}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right>.readMore{visibility:visible}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated{opacity:.66;text-decoration:unset}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated>.monaco-icon-label-container>.monaco-icon-name-container{text-decoration:line-through}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label:before{height:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon{display:block;height:16px;width:16px;margin-left:2px;background-repeat:no-repeat;background-size:80%;background-position:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon{display:flex;align-items:center;margin-right:4px}.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon:before{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan{margin:0 0 0 .3em;border:.1em solid #000;width:.7em;height:.7em;display:inline-block}.monaco-editor .suggest-details-container{z-index:41}.monaco-editor .suggest-details{display:flex;flex-direction:column;cursor:default;color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-details.focused{border-color:var(--vscode-focusBorder)}.monaco-editor .suggest-details a{color:var(--vscode-textLink-foreground)}.monaco-editor .suggest-details a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .suggest-details code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .suggest-details.no-docs{display:none}.monaco-editor .suggest-details>.monaco-scrollable-element{flex:1}.monaco-editor .suggest-details>.monaco-scrollable-element>.body{box-sizing:border-box;height:100%;width:100%}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type{flex:2;overflow:hidden;text-overflow:ellipsis;opacity:.7;white-space:pre;margin:0 24px 0 0;padding:4px 0 12px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type.auto-wrap{white-space:normal;word-break:break-all}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs{margin:0;padding:4px 5px;white-space:pre-wrap}.monaco-editor .suggest-details.no-type>.monaco-scrollable-element>.body>.docs{margin-right:24px;overflow:hidden}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs{padding:0;white-space:initial;min-height:calc(1rem + 8px)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div,.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>span:not(:empty){padding:4px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:first-child{margin-top:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:last-child{margin-bottom:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .monaco-tokenized-source{white-space:pre}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs .code{white-space:pre-wrap;word-wrap:break-word}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .codicon{vertical-align:sub}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>p:empty{display:none}.monaco-editor .suggest-details code{border-radius:3px;padding:0 .4em}.monaco-editor .suggest-details ul,.monaco-editor .suggest-details ol{padding-left:20px}.monaco-editor .suggest-details p code{font-family:var(--monaco-monospace-font)}.monaco-editor.vs .valueSetReplacement{outline:solid 2px var(--vscode-editorBracketMatch-border)}.monaco-editor .linked-editing-decoration{background-color:var(--vscode-editor-linkedEditingBackground);min-width:1px}.monaco-editor .detected-link,.monaco-editor .detected-link-active{text-decoration:underline;text-underline-position:under}.monaco-editor .detected-link-active{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .focused .selectionHighlight{background-color:var(--vscode-editor-selectionHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-selectionHighlightBorder)}.monaco-editor.hc-black .focused .selectionHighlight,.monaco-editor.hc-light .focused .selectionHighlight{border-style:dotted}.monaco-editor .wordHighlight{background-color:var(--vscode-editor-wordHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightBorder)}.monaco-editor.hc-black .wordHighlight,.monaco-editor.hc-light .wordHighlight{border-style:dotted}.monaco-editor .wordHighlightStrong{background-color:var(--vscode-editor-wordHighlightStrongBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightStrongBorder)}.monaco-editor.hc-black .wordHighlightStrong,.monaco-editor.hc-light .wordHighlightStrong{border-style:dotted}.monaco-editor .wordHighlightText{background-color:var(--vscode-editor-wordHighlightTextBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightTextBorder)}.monaco-editor.hc-black .wordHighlightText,.monaco-editor.hc-light .wordHighlightText{border-style:dotted}.monaco-editor .inline-edit-remove{background-color:var(--vscode-editorGhostText-background);font-style:italic;text-decoration:line-through}.monaco-editor .inline-edit-remove.backgroundColoring{background-color:var(--vscode-diffEditor-removedLineBackground)}.monaco-editor .inline-edit-hidden{opacity:0;font-size:0}.monaco-editor .inline-edit-decoration,.monaco-editor .suggest-preview-text .inline-edit{font-style:italic}.monaco-editor .inline-completion-text-to-replace{text-decoration:underline;text-underline-position:under}.monaco-editor .inline-edit-decoration,.monaco-editor .inline-edit-decoration-preview,.monaco-editor .suggest-preview-text .inline-edit{color:var(--vscode-editorGhostText-foreground)!important;background-color:var(--vscode-editorGhostText-background);border:1px solid var(--vscode-editorGhostText-border)}.monaco-editor .inlineEditHints.withBorder{z-index:39;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .inlineEditHints a,.monaco-editor .inlineEditHints a:hover{color:var(--vscode-foreground)}.monaco-editor .inlineEditHints .keybinding{display:flex;margin-left:4px;opacity:.6}.monaco-editor .inlineEditHints .keybinding .monaco-keybinding-key{font-size:8px;padding:2px 3px}.monaco-editor .inlineEditStatusBarItemLabel{margin-right:2px}.monaco-editor .parameter-hints-widget{z-index:39;display:flex;flex-direction:column;line-height:1.5em;cursor:default;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.hc-black .monaco-editor .parameter-hints-widget,.hc-light .monaco-editor .parameter-hints-widget{border-width:2px}.monaco-editor .parameter-hints-widget>.phwrapper{max-width:440px;display:flex;flex-direction:row}.monaco-editor .parameter-hints-widget.multiple{min-height:3.3em;padding:0}.monaco-editor .parameter-hints-widget.multiple .body:before{content:"";display:block;height:100%;position:absolute;opacity:.5;border-left:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget p,.monaco-editor .parameter-hints-widget ul{margin:8px 0}.monaco-editor .parameter-hints-widget .monaco-scrollable-element,.monaco-editor .parameter-hints-widget .body{display:flex;flex:1;flex-direction:column;min-height:100%}.monaco-editor .parameter-hints-widget .signature{padding:4px 5px;position:relative}.monaco-editor .parameter-hints-widget .signature.has-docs:after{content:"";display:block;position:absolute;left:0;width:100%;padding-top:4px;opacity:.5;border-bottom:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget .docs{padding:0 10px 0 5px;white-space:pre-wrap}.monaco-editor .parameter-hints-widget .docs.empty{display:none}.monaco-editor .parameter-hints-widget .docs a{color:var(--vscode-textLink-foreground)}.monaco-editor .parameter-hints-widget .docs a:hover{color:var(--vscode-textLink-activeForeground);cursor:pointer}.monaco-editor .parameter-hints-widget .docs .markdown-docs{white-space:initial}.monaco-editor .parameter-hints-widget .docs code{font-family:var(--monaco-monospace-font);border-radius:3px;padding:0 .4em;background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source,.monaco-editor .parameter-hints-widget .docs .code{white-space:pre-wrap}.monaco-editor .parameter-hints-widget .controls{display:none;flex-direction:column;align-items:center;min-width:22px;justify-content:flex-end}.monaco-editor .parameter-hints-widget.multiple .controls{display:flex;padding:0 2px}.monaco-editor .parameter-hints-widget.multiple .button{width:16px;height:16px;background-repeat:no-repeat;cursor:pointer}.monaco-editor .parameter-hints-widget .button.previous{bottom:24px}.monaco-editor .parameter-hints-widget .overloads{text-align:center;height:12px;line-height:12px;font-family:var(--monaco-monospace-font)}.monaco-editor .parameter-hints-widget .signature .parameter.active{color:var(--vscode-editorHoverWidget-highlightForeground);font-weight:700}.monaco-editor .parameter-hints-widget .documentation-parameter>.parameter{font-weight:700;margin-right:.5em}.monaco-editor .rename-box{z-index:100;color:inherit;border-radius:4px}.monaco-editor .rename-box.preview{padding:4px 4px 0}.monaco-editor .rename-box .rename-input{padding:3px;border-radius:2px;width:calc(100% - 8px)}.monaco-editor .rename-box .rename-label{display:none;opacity:.8}.monaco-editor .rename-box.preview .rename-label{display:inherit}.monaco-editor .sticky-widget{overflow:hidden}.monaco-editor .sticky-widget-line-numbers{float:left;background-color:inherit}.monaco-editor .sticky-widget-lines-scrollable{display:inline-block;position:absolute;overflow:hidden;width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:inherit}.monaco-editor .sticky-widget-lines{position:absolute;background-color:inherit}.monaco-editor .sticky-line-number,.monaco-editor .sticky-line-content{color:var(--vscode-editorLineNumber-foreground);white-space:nowrap;display:inline-block;position:absolute;background-color:inherit}.monaco-editor .sticky-line-number .codicon-folding-expanded,.monaco-editor .sticky-line-number .codicon-folding-collapsed{float:right;transition:var(--vscode-editorStickyScroll-foldingOpacityTransition)}.monaco-editor .sticky-line-content{width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:inherit;white-space:nowrap}.monaco-editor .sticky-line-number-inner{display:inline-block;text-align:right}.monaco-editor .sticky-widget{border-bottom:1px solid var(--vscode-editorStickyScroll-border)}.monaco-editor .sticky-line-content:hover{background-color:var(--vscode-editorStickyScrollHover-background);cursor:pointer}.monaco-editor .sticky-widget{width:100%;box-shadow:var(--vscode-editorStickyScroll-shadow) 0 3px 2px -2px;z-index:4;background-color:var(--vscode-editorStickyScroll-background)}.monaco-editor .sticky-widget.peek{background-color:var(--vscode-peekViewEditorStickyScroll-background)}.monaco-editor .unicode-highlight{border:1px solid var(--vscode-editorUnicodeHighlight-border);background-color:var(--vscode-editorUnicodeHighlight-background);box-sizing:border-box}.editor-banner{box-sizing:border-box;cursor:default;width:100%;font-size:12px;display:flex;overflow:visible;height:26px;background:var(--vscode-banner-background)}.editor-banner .icon-container{display:flex;flex-shrink:0;align-items:center;padding:0 6px 0 10px}.editor-banner .icon-container.custom-icon{background-repeat:no-repeat;background-position:center center;background-size:16px;width:16px;padding:0;margin:0 6px 0 10px}.editor-banner .message-container{display:flex;align-items:center;line-height:26px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-banner .message-container p{margin-block-start:0;margin-block-end:0}.editor-banner .message-actions-container{flex-grow:1;flex-shrink:0;line-height:26px;margin:0 4px}.editor-banner .message-actions-container a.monaco-button{width:inherit;margin:2px 8px;padding:0 12px}.editor-banner .message-actions-container a{padding:3px;margin-left:12px;text-decoration:underline}.editor-banner .action-container{padding:0 10px 0 6px}.editor-banner{background-color:var(--vscode-banner-background)}.editor-banner,.editor-banner .action-container .codicon,.editor-banner .message-actions-container .monaco-link{color:var(--vscode-banner-foreground)}.editor-banner .icon-container .codicon{color:var(--vscode-banner-iconForeground)}.monaco-link{color:var(--vscode-textLink-foreground)}.monaco-link:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,system-ui,Ubuntu,Droid Sans,sans-serif;--monaco-monospace-font: "SF Mono", Monaco, Menlo, Consolas, "Ubuntu Mono", "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace}.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-hover p{margin:0}.monaco-aria-container{position:absolute!important;top:0;height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}.monaco-editor,.monaco-diff-editor .synthetic-focus,.monaco-diff-editor [tabindex="0"]:focus,.monaco-diff-editor [tabindex="-1"]:focus,.monaco-diff-editor button:focus,.monaco-diff-editor input[type=button]:focus,.monaco-diff-editor input[type=checkbox]:focus,.monaco-diff-editor input[type=search]:focus,.monaco-diff-editor input[type=text]:focus,.monaco-diff-editor select:focus,.monaco-diff-editor textarea:focus{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:var(--vscode-focusBorder);opacity:1}.monaco-workbench .workbench-hover{position:relative;font-size:13px;line-height:19px;z-index:40;overflow:hidden;max-width:700px;background:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px;color:var(--vscode-editorHoverWidget-foreground);box-shadow:0 2px 8px var(--vscode-widget-shadow)}.monaco-workbench .workbench-hover hr{border-bottom:none}.monaco-workbench .workbench-hover:not(.skip-fade-in){animation:fadein .1s linear}.monaco-workbench .workbench-hover.compact{font-size:12px}.monaco-workbench .workbench-hover.compact .hover-contents{padding:2px 8px}.monaco-workbench .workbench-hover-container.locked .workbench-hover{outline:1px solid var(--vscode-editorHoverWidget-border)}.monaco-workbench .workbench-hover-container.locked .workbench-hover:focus,.monaco-workbench .workbench-hover-lock:focus{outline:1px solid var(--vscode-focusBorder)}.monaco-workbench .workbench-hover-container.locked .workbench-hover-lock:hover{background:var(--vscode-toolbar-hoverBackground)}.monaco-workbench .workbench-hover-pointer{position:absolute;z-index:41;pointer-events:none}.monaco-workbench .workbench-hover-pointer:after{content:"";position:absolute;width:5px;height:5px;background-color:var(--vscode-editorHoverWidget-background);border-right:1px solid var(--vscode-editorHoverWidget-border);border-bottom:1px solid var(--vscode-editorHoverWidget-border)}.monaco-workbench .locked .workbench-hover-pointer:after{width:4px;height:4px;border-right-width:2px;border-bottom-width:2px}.monaco-workbench .workbench-hover-pointer.left{left:-3px}.monaco-workbench .workbench-hover-pointer.right{right:3px}.monaco-workbench .workbench-hover-pointer.top{top:-3px}.monaco-workbench .workbench-hover-pointer.bottom{bottom:3px}.monaco-workbench .workbench-hover-pointer.left:after{transform:rotate(135deg)}.monaco-workbench .workbench-hover-pointer.right:after{transform:rotate(315deg)}.monaco-workbench .workbench-hover-pointer.top:after{transform:rotate(225deg)}.monaco-workbench .workbench-hover-pointer.bottom:after{transform:rotate(45deg)}.monaco-workbench .workbench-hover a{color:var(--vscode-textLink-foreground)}.monaco-workbench .workbench-hover a:focus{outline:1px solid;outline-offset:-1px;text-decoration:underline;outline-color:var(--vscode-focusBorder)}.monaco-workbench .workbench-hover a:hover,.monaco-workbench .workbench-hover a:active{color:var(--vscode-textLink-activeForeground)}.monaco-workbench .workbench-hover code{background:var(--vscode-textCodeBlock-background)}.monaco-workbench .workbench-hover .hover-row .actions{background:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-workbench .workbench-hover.right-aligned{left:1px}.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions{flex-direction:row-reverse}.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions .action-container{margin-right:0;margin-left:16px}.context-view{position:absolute}.context-view.fixed{all:initial;font-family:inherit;font-size:13px;position:fixed;color:inherit}.quick-input-widget{font-size:13px}.quick-input-widget .monaco-highlighted-label .highlight{color:#0066bf}.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight{color:#9dddff}.vs-dark .quick-input-widget .monaco-highlighted-label .highlight{color:#0097fb}.hc-black .quick-input-widget .monaco-highlighted-label .highlight{color:#f38518}.hc-light .quick-input-widget .monaco-highlighted-label .highlight{color:#0f4a85}.monaco-keybinding>.monaco-keybinding-key{background-color:#ddd6;border:solid 1px rgba(204,204,204,.4);border-bottom-color:#bbb6;box-shadow:inset 0 -1px #bbb6;color:#555}.hc-black .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:solid 1px rgb(111,195,223);box-shadow:none;color:#fff}.hc-light .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:solid 1px #0F4A85;box-shadow:none;color:#292929}.vs-dark .monaco-keybinding>.monaco-keybinding-key{background-color:#8080802b;border:solid 1px rgba(51,51,51,.6);border-bottom-color:#4449;box-shadow:inset 0 -1px #4449;color:#ccc}.quick-input-widget{position:absolute;width:600px;z-index:2550;left:50%;margin-left:-300px;-webkit-app-region:no-drag;border-radius:6px}.quick-input-titlebar{display:flex;align-items:center;border-radius:inherit}.quick-input-left-action-bar{display:flex;margin-left:4px;flex:1}.quick-input-title{padding:3px 0;text-align:center;text-overflow:ellipsis;overflow:hidden}.quick-input-right-action-bar{display:flex;margin-right:4px;flex:1}.quick-input-right-action-bar>.actions-container{justify-content:flex-end}.quick-input-titlebar .monaco-action-bar .action-label.codicon{background-position:center;background-repeat:no-repeat;padding:2px}.quick-input-description{margin:6px 6px 6px 11px}.quick-input-header .quick-input-description{margin:4px 2px;flex:1}.quick-input-header{display:flex;padding:8px 6px 2px}.quick-input-widget.hidden-input .quick-input-header{padding:0;margin-bottom:0}.quick-input-and-message{display:flex;flex-direction:column;flex-grow:1;min-width:0;position:relative}.quick-input-check-all{align-self:center;margin:0}.quick-input-filter{flex-grow:1;display:flex;position:relative}.quick-input-box{flex-grow:1}.quick-input-widget.show-checkboxes .quick-input-box,.quick-input-widget.show-checkboxes .quick-input-message{margin-left:5px}.quick-input-visible-count{position:absolute;left:-10000px}.quick-input-count{align-self:center;position:absolute;right:4px;display:flex;align-items:center}.quick-input-count .monaco-count-badge{vertical-align:middle;padding:2px 4px;border-radius:2px;min-height:auto;line-height:normal}.quick-input-action{margin-left:6px}.quick-input-action .monaco-text-button{font-size:11px;padding:0 6px;display:flex;height:25px;align-items:center}.quick-input-message{margin-top:-1px;padding:5px;overflow-wrap:break-word}.quick-input-message>.codicon{margin:0 .2em;vertical-align:text-bottom}.quick-input-message a{color:inherit}.quick-input-progress.monaco-progress-container{position:relative}.quick-input-list{line-height:22px}.quick-input-widget.hidden-input .quick-input-list{margin-top:4px;padding-bottom:4px}.quick-input-list .monaco-list{overflow:hidden;max-height:440px;padding-bottom:5px}.quick-input-list .monaco-scrollable-element{padding:0 5px}.quick-input-list .quick-input-list-entry{box-sizing:border-box;overflow:hidden;display:flex;height:100%;padding:0 6px}.quick-input-list .quick-input-list-entry.quick-input-list-separator-border{border-top-width:1px;border-top-style:solid}.quick-input-list .monaco-list-row{border-radius:3px}.quick-input-list .monaco-list-row[data-index="0"] .quick-input-list-entry.quick-input-list-separator-border{border-top-style:none}.quick-input-list .quick-input-list-label{overflow:hidden;display:flex;height:100%;flex:1}.quick-input-list .quick-input-list-checkbox{align-self:center;margin:0}.quick-input-list .quick-input-list-icon{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;display:flex;align-items:center;justify-content:center}.quick-input-list .quick-input-list-rows{overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;height:100%;flex:1;margin-left:5px}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows{margin-left:10px}.quick-input-widget .quick-input-list .quick-input-list-checkbox{display:none}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox{display:inline}.quick-input-list .quick-input-list-rows>.quick-input-list-row{display:flex;align-items:center}.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label,.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-list .quick-input-list-rows>.quick-input-list-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-list .quick-input-list-rows .monaco-highlighted-label>span{opacity:1}.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding{margin-right:8px}.quick-input-list .quick-input-list-label-meta{opacity:.7;line-height:normal;text-overflow:ellipsis;overflow:hidden}.quick-input-list .monaco-list .monaco-list-row .monaco-highlighted-label .highlight{font-weight:700;background-color:unset;color:var(--vscode-list-highlightForeground)!important}.quick-input-list .monaco-list .monaco-list-row.focused .monaco-highlighted-label .highlight{color:var(--vscode-list-focusHighlightForeground)!important}.quick-input-list .quick-input-list-entry .quick-input-list-separator{margin-right:4px}.quick-input-list .quick-input-list-entry-action-bar{display:flex;flex:0;overflow:visible}.quick-input-list .quick-input-list-entry-action-bar .action-label{display:none}.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon{margin-right:4px;padding:0 2px 2px}.quick-input-list .quick-input-list-entry-action-bar{margin-top:1px}.quick-input-list .quick-input-list-entry-action-bar{margin-right:4px}.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label,.quick-input-list .quick-input-list-entry.focus-inside .quick-input-list-entry-action-bar .action-label,.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label,.quick-input-list .monaco-list-row.passive-focused .quick-input-list-entry-action-bar .action-label{display:flex}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator{color:inherit}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key{background:none}.quick-input-list .quick-input-list-separator-as-item{padding:4px 6px;font-size:12px}.quick-input-list .quick-input-list-separator-as-item .label-name{font-weight:600}.quick-input-list .quick-input-list-separator-as-item .label-description{opacity:1!important}.quick-input-list .monaco-tree-sticky-row .quick-input-list-entry.quick-input-list-separator-as-item.quick-input-list-separator-border{border-top-style:none}.quick-input-list .monaco-tree-sticky-row{padding:0 5px}.quick-input-list .monaco-tl-twistie{display:none!important}.monaco-progress-container{width:100%;height:2px;overflow:hidden}.monaco-progress-container .progress-bit{width:2%;height:2px;position:absolute;left:0;display:none}.monaco-progress-container.active .progress-bit{display:inherit}.monaco-progress-container.discrete .progress-bit{left:0;transition:width .1s linear}.monaco-progress-container.discrete.done .progress-bit{width:100%}.monaco-progress-container.infinite .progress-bit{animation-name:progress;animation-duration:4s;animation-iteration-count:infinite;transform:translateZ(0);animation-timing-function:linear}.monaco-progress-container.infinite.infinite-long-running .progress-bit{animation-timing-function:steps(100)}@keyframes progress{0%{transform:translate(0) scaleX(1)}50%{transform:translate(2500%) scaleX(3)}to{transform:translate(4900%) scaleX(1)}}.monaco-component.multiDiffEditor{background:var(--vscode-multiDiffEditor-background);overflow-y:hidden}.monaco-component.multiDiffEditor .focused{--vscode-multiDiffEditor-border: var(--vscode-focusBorder)}.monaco-component.multiDiffEditor .multiDiffEntry{display:flex;flex-direction:column;flex:1;overflow:hidden}.monaco-component.multiDiffEditor .multiDiffEntry .collapse-button{margin:0 5px;cursor:pointer}.monaco-component.multiDiffEditor .multiDiffEntry .collapse-button a{display:block}.monaco-component.multiDiffEditor .multiDiffEntry .header{z-index:1000;background:var(--vscode-editor-background)}.monaco-component.multiDiffEditor .multiDiffEntry .header:not(.collapsed) .header-content{border-bottom:1px solid var(--vscode-sideBarSectionHeader-border)}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content{margin:8px 8px 0;padding:4px 5px;border-top:1px solid var(--vscode-multiDiffEditor-border);border-right:1px solid var(--vscode-multiDiffEditor-border);border-left:1px solid var(--vscode-multiDiffEditor-border);border-top-left-radius:2px;border-top-right-radius:2px;display:flex;align-items:center;color:var(--vscode-foreground);background:var(--vscode-multiDiffEditor-headerBackground)}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content.shadow{box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path{display:flex;flex:1;min-width:0}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .title{font-size:14px;line-height:22px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .title.original{flex:1;min-width:0;text-overflow:ellipsis}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .status{font-weight:600;opacity:.75;margin:0 10px;line-height:22px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .actions{padding:0 8px}.monaco-component.multiDiffEditor .multiDiffEntry .editorParent{flex:1;display:flex;flex-direction:column;margin-right:8px;margin-left:8px;border-right:1px solid var(--vscode-multiDiffEditor-border);border-left:1px solid var(--vscode-multiDiffEditor-border);border-bottom:1px solid var(--vscode-multiDiffEditor-border);border-radius:2px;overflow:hidden}.monaco-component.multiDiffEditor .multiDiffEntry .editorContainer{flex:1}')),document.head.appendChild(A)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})(); -(function(xL){typeof define=="function"&&define.amd?define(xL):xL()})(function(){"use strict";function xL(n,e){for(var t=0;ti[r]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}var Jf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function yl(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function Uee(n){if(n.__esModule)return n;var e=n.default;if(typeof e=="function"){var t=function i(){return this instanceof i?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};t.prototype=e.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(n).forEach(function(i){var r=Object.getOwnPropertyDescriptor(n,i);Object.defineProperty(t,i,r.get?r:{enumerable:!0,get:function(){return n[i]}})}),t}var Kee={exports:{}},Yi={};/** +(function(x_){typeof define=="function"&&define.amd?define(x_):x_()})(function(){"use strict";function x_(n,e){for(var t=0;ti[r]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}var Jf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function vl(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function Uee(n){if(n.__esModule)return n;var e=n.default;if(typeof e=="function"){var t=function i(){return this instanceof i?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};t.prototype=e.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(n).forEach(function(i){var r=Object.getOwnPropertyDescriptor(n,i);Object.defineProperty(t,i,r.get?r:{enumerable:!0,get:function(){return n[i]}})}),t}var Kee={exports:{}},Hi={};/** * @license React * react.production.min.js * @@ -7,14 +7,14 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Jee;function cTe(){if(Jee)return Yi;Jee=1;var n=Symbol.for("react.element"),e=Symbol.for("react.portal"),t=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),o=Symbol.for("react.provider"),s=Symbol.for("react.context"),a=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),c=Symbol.for("react.lazy"),d=Symbol.iterator;function h(k){return k===null||typeof k!="object"?null:(k=d&&k[d]||k["@@iterator"],typeof k=="function"?k:null)}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},f=Object.assign,g={};function b(k,X,Y){this.props=k,this.context=X,this.refs=g,this.updater=Y||m}b.prototype.isReactComponent={},b.prototype.setState=function(k,X){if(typeof k!="object"&&typeof k!="function"&&k!=null)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,k,X,"setState")},b.prototype.forceUpdate=function(k){this.updater.enqueueForceUpdate(this,k,"forceUpdate")};function v(){}v.prototype=b.prototype;function C(k,X,Y){this.props=k,this.context=X,this.refs=g,this.updater=Y||m}var S=C.prototype=new v;S.constructor=C,f(S,b.prototype),S.isPureReactComponent=!0;var x=Array.isArray,_=Object.prototype.hasOwnProperty,F={current:null},D={key:!0,ref:!0,__self:!0,__source:!0};function M(k,X,Y){var V,te={},oe=null,ae=null;if(X!=null)for(V in X.ref!==void 0&&(ae=X.ref),X.key!==void 0&&(oe=""+X.key),X)_.call(X,V)&&!D.hasOwnProperty(V)&&(te[V]=X[V]);var le=arguments.length-2;if(le===1)te.children=Y;else if(1=20.0.0",npm_config_node_gyp:"/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",XPC_SERVICE_NAME:"0",npm_package_version:"2.2.0",VSCODE_INJECTION:"1",HOME:"/Users/alexander",SHLVL:"2",VSCODE_GIT_ASKPASS_MAIN:"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js",GOROOT:"/Users/alexander/.gvm/gos/go1.21.6",DYLD_LIBRARY_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:",gvm_go_name:"go1.21.6",LOGNAME:"alexander",LESS:"-R",VSCODE_PATH_PREFIX:"/Users/alexander/.gvm/gos/go1.21.6/bin:",npm_config_cache:"/Users/alexander/.npm",GVM_OVERLAY_PREFIX:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay",npm_lifecycle_script:"tsc && vite build --config vite.package.config.ts --mode package",LC_CTYPE:"zh_CN.UTF-8",VSCODE_GIT_IPC_HANDLE:"/var/folders/7b/f28gh86d083_xqj9p9hs97k80000gn/T/vscode-git-79a18f10f2.sock",NVM_BIN:"/Users/alexander/.nvm/versions/node/v20.9.0/bin",PKG_CONFIG_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:",GOPATH:"/Users/alexander/mygo",npm_config_user_agent:"npm/10.1.0 node/v20.9.0 darwin x64 workspaces/false",GIT_ASKPASS:"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh",VSCODE_GIT_ASKPASS_NODE:"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)",GVM_PATH_BACKUP:"/Users/alexander/.gvm/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/mygo/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/alexander/.gvm/gos/go1.21.6/bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.nvm/versions/node/v20.9.0/bin:/Users/alexander/.cargo/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin",COLORTERM:"truecolor",npm_config_prefix:"/Users/alexander/.nvm/versions/node/v20.9.0",npm_node_execpath:"/Users/alexander/.nvm/versions/node/v20.9.0/bin/node",NODE_ENV:"production"};function hTe(n){if(n.sheet)return n.sheet;for(var e=0;e0?Ga(PC,--xu):0,XC--,Os===10&&(XC=1,VN--),Os}function hc(){return Os=xu2||IL(Os)>3?"":" "}function _Te(n,e){for(;--e&&hc()&&!(Os<48||Os>102||Os>57&&Os<65||Os>70&&Os<97););return FL(n,GN()+(e<6&&vm()==32&&hc()==32))}function CX(n){for(;hc();)switch(Os){case n:return xu;case 34:case 39:n!==34&&n!==39&&CX(Os);break;case 40:n===41&&CX(n);break;case 92:hc();break}return xu}function FTe(n,e){for(;hc()&&n+Os!==57;)if(n+Os===84&&vm()===47)break;return"/*"+FL(e,xu-1)+"*"+WN(n===47?n:hc())}function ITe(n){for(;!IL(vm());)hc();return FL(n,xu)}function DTe(n){return tte(PN("",null,null,null,[""],n=ete(n),0,[0],n))}function PN(n,e,t,i,r,o,s,a,l){for(var u=0,c=0,d=s,h=0,m=0,f=0,g=1,b=1,v=1,C=0,S="",x=r,_=o,F=i,D=S;b;)switch(f=C,C=hc()){case 40:if(f!=108&&Ga(D,d-1)==58){vX(D+=Dr(XN(C),"&","&\f"),"&\f")!=-1&&(v=-1);break}case 34:case 39:case 91:D+=XN(C);break;case 9:case 10:case 13:case 32:D+=LTe(f);break;case 92:D+=_Te(GN()-1,7);continue;case 47:switch(vm()){case 42:case 47:RN(MTe(FTe(hc(),GN()),e,t),l);break;default:D+="/"}break;case 123*g:a[u++]=bm(D)*v;case 125*g:case 59:case 0:switch(C){case 0:case 125:b=0;case 59+c:v==-1&&(D=Dr(D,/\f/g,"")),m>0&&bm(D)-d&&RN(m>32?ite(D+";",i,t,d-1):ite(Dr(D," ","")+";",i,t,d-2),l);break;case 59:D+=";";default:if(RN(F=nte(D,e,t,u,c,r,a,S,x=[],_=[],d),o),C===123)if(c===0)PN(D,e,F,F,x,o,d,a,_);else switch(h===99&&Ga(D,3)===110?100:h){case 100:case 108:case 109:case 115:PN(n,F,F,i&&RN(nte(n,F,F,0,0,r,a,S,r,x=[],d),_),r,_,d,a,i?x:_);break;default:PN(D,F,F,F,[""],_,0,a,_)}}u=c=m=0,g=v=1,S=D="",d=s;break;case 58:d=1+bm(D),m=f;default:if(g<1){if(C==123)--g;else if(C==125&&g++==0&&xTe()==125)continue}switch(D+=WN(C),C*g){case 38:v=c>0?1:(D+="\f",-1);break;case 44:a[u++]=(bm(D)-1)*v,v=1;break;case 64:vm()===45&&(D+=XN(hc())),h=vm(),c=d=bm(S=D+=ITe(GN())),C++;break;case 45:f===45&&bm(D)==2&&(g=0)}}return o}function nte(n,e,t,i,r,o,s,a,l,u,c){for(var d=r-1,h=r===0?o:[""],m=yX(h),f=0,g=0,b=0;f0?h[v]+" "+C:Dr(C,/&\f/g,h[v])))&&(l[b++]=S);return AN(n,e,t,r===0?pX:a,l,u,c)}function MTe(n,e,t){return AN(n,e,t,jee,WN(STe()),LL(n,2,-2),0)}function ite(n,e,t,i){return AN(n,e,t,bX,LL(n,0,i),LL(n,i+1,-1),i)}function OC(n,e){for(var t="",i=yX(n),r=0;r6)switch(Ga(n,e+1)){case 109:if(Ga(n,e+4)!==45)break;case 102:return Dr(n,/(.+:)(.+)-([^]+)/,"$1"+Ir+"$2-$3$1"+ZN+(Ga(n,e+3)==108?"$3":"$2-$3"))+n;case 115:return~vX(n,"stretch")?ste(Dr(n,"stretch","fill-available"),e)+n:n}break;case 4949:if(Ga(n,e+1)!==115)break;case 6444:switch(Ga(n,bm(n)-3-(~vX(n,"!important")&&10))){case 107:return Dr(n,":",":"+Ir)+n;case 101:return Dr(n,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Ir+(Ga(n,14)===45?"inline-":"")+"box$3$1"+Ir+"$2$3$1"+Cl+"$2box$3")+n}break;case 5936:switch(Ga(n,e+11)){case 114:return Ir+n+Cl+Dr(n,/[svh]\w+-[tblr]{2}/,"tb")+n;case 108:return Ir+n+Cl+Dr(n,/[svh]\w+-[tblr]{2}/,"tb-rl")+n;case 45:return Ir+n+Cl+Dr(n,/[svh]\w+-[tblr]{2}/,"lr")+n}return Ir+n+Cl+n+n}return n}var GTe=function(e,t,i,r){if(e.length>-1&&!e.return)switch(e.type){case bX:e.return=ste(e.value,e.length);break;case Qee:return OC([_L(e,{value:Dr(e.value,"@","@"+Ir)})],r);case pX:if(e.length)return wTe(e.props,function(o){switch(CTe(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return OC([_L(e,{props:[Dr(o,/:(read-\w+)/,":"+ZN+"$1")]})],r);case"::placeholder":return OC([_L(e,{props:[Dr(o,/:(plac\w+)/,":"+Ir+"input-$1")]}),_L(e,{props:[Dr(o,/:(plac\w+)/,":"+ZN+"$1")]}),_L(e,{props:[Dr(o,/:(plac\w+)/,Cl+"input-$1")]})],r)}return""})}},XTe=[GTe],PTe=function(e){var t=e.key;if(t==="css"){var i=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(i,function(g){var b=g.getAttribute("data-emotion");b.indexOf(" ")!==-1&&(document.head.appendChild(g),g.setAttribute("data-s",""))})}var r=e.stylisPlugins||XTe,o={},s,a=[];s=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),function(g){for(var b=g.getAttribute("data-emotion").split(" "),v=1;v=20.0.0",GRADLE_HOME:"/usr/share/gradle-8.7",ANDROID_NDK_LATEST_HOME:"/usr/local/lib/android/sdk/ndk/26.3.11579264",JAVA_HOME_21_X64:"/usr/lib/jvm/temurin-21-jdk-amd64",STATS_RDCL:"true",GITHUB_RETENTION_DAYS:"90",GITHUB_REPOSITORY_OWNER_ID:"22948077",POWERSHELL_DISTRIBUTION_CHANNEL:"GitHub-Actions-ubuntu22",AZURE_EXTENSION_DIR:"/opt/az/azcliextensions",GITHUB_HEAD_REF:"",npm_config_local_prefix:"/home/runner/work/openapi-ui/openapi-ui",SYSTEMD_EXEC_PID:"591",GITHUB_GRAPHQL_URL:"https://api.github.com/graphql",COLOR:"0",GOROOT_1_20_X64:"/opt/hostedtoolcache/go/1.20.14/x64",NVM_DIR:"/home/runner/.nvm",DOTNET_SKIP_FIRST_TIME_EXPERIENCE:"1",GOROOT_1_21_X64:"/opt/hostedtoolcache/go/1.21.9/x64",JAVA_HOME_17_X64:"/usr/lib/jvm/temurin-17-jdk-amd64",ImageVersion:"20240422.1.0",RUNNER_OS:"Linux",GITHUB_API_URL:"https://api.github.com",GOROOT_1_22_X64:"/opt/hostedtoolcache/go/1.22.2/x64",SWIFT_PATH:"/usr/share/swift/usr/bin",RUNNER_USER:"runner",STATS_V3PS:"true",CHROMEWEBDRIVER:"/usr/local/share/chromedriver-linux64",JOURNAL_STREAM:"8:17399",GITHUB_WORKFLOW:"Publish Package CI",_:"/opt/hostedtoolcache/node/18.20.2/x64/bin/npm",npm_config_prefix:"/opt/hostedtoolcache/node/18.20.2/x64",npm_config_npm_version:"10.5.0",ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE:"/opt/actionarchivecache",STATS_D:"true",GITHUB_RUN_ID:"9034363565",STATS_VMFE:"true",npm_config_cache:"/home/runner/.npm",GITHUB_REF_TYPE:"tag",BOOTSTRAP_HASKELL_NONINTERACTIVE:"1",GITHUB_WORKFLOW_SHA:"7d06aa5962e2854267496af964903729ea3712ea",GITHUB_BASE_REF:"",ImageOS:"ubuntu22",GITHUB_WORKFLOW_REF:"rookie-luochao/openapi-ui/.github/workflows/publish-package-ci.yml@refs/tags/v2.2.1",PERFLOG_LOCATION_SETTING:"RUNNER_PERFLOG",GITHUB_ACTION_REPOSITORY:"",npm_config_node_gyp:"/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",PATH:"/home/runner/work/openapi-ui/openapi-ui/node_modules/.bin:/home/runner/work/openapi-ui/node_modules/.bin:/home/runner/work/node_modules/.bin:/home/runner/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin",ANT_HOME:"/usr/share/ant",DOTNET_MULTILEVEL_LOOKUP:"0",RUNNER_TRACKING_ID:"github_8e3f06e2-01ee-4dd3-8ff0-4ad90f0f5f28",INVOCATION_ID:"d0057c0943174c4e95e299688b270680",NPM_CONFIG_USERCONFIG:"/home/runner/work/_temp/.npmrc",RUNNER_TOOL_CACHE:"/opt/hostedtoolcache",NODE:"/opt/hostedtoolcache/node/18.20.2/x64/bin/node",npm_package_name:"openapi-ui-dist",GITHUB_ACTION:"__run_3",GITHUB_RUN_NUMBER:"5",GITHUB_TRIGGERING_ACTOR:"rookie-luochao",RUNNER_ARCH:"X64",XDG_RUNTIME_DIR:"/run/user/1001",AGENT_TOOLSDIRECTORY:"/opt/hostedtoolcache",LANG:"C.UTF-8",VCPKG_INSTALLATION_ROOT:"/usr/local/share/vcpkg",CONDA:"/usr/share/miniconda",RUNNER_NAME:"GitHub Actions 19",XDG_CONFIG_HOME:"/home/runner/.config",STATS_VMD:"true",GITHUB_REF_NAME:"v2.2.1",GITHUB_REPOSITORY:"rookie-luochao/openapi-ui",STATS_D_D:"true",npm_lifecycle_script:"tsc && vite build --config vite.package.config.ts --mode package",STATS_UE:"true",ANDROID_NDK_ROOT:"/usr/local/lib/android/sdk/ndk/25.2.9519653",GITHUB_ACTION_REF:"",DEBIAN_FRONTEND:"noninteractive",GITHUB_REPOSITORY_ID:"733969338",GITHUB_ACTIONS:"true",npm_package_version:"2.2.1",npm_lifecycle_event:"build:package",NODE_PATH:"/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules/vite/bin/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules/vite/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/node_modules",GITHUB_REF_PROTECTED:"false",GITHUB_WORKSPACE:"/home/runner/work/openapi-ui/openapi-ui",ACCEPT_EULA:"Y",GITHUB_JOB:"build",RUNNER_PERFLOG:"/home/runner/perflog",GITHUB_SHA:"7d06aa5962e2854267496af964903729ea3712ea",GITHUB_RUN_ATTEMPT:"1",GITHUB_REF:"refs/tags/v2.2.1",GITHUB_ACTOR:"rookie-luochao",ANDROID_SDK_ROOT:"/usr/local/lib/android/sdk",LEIN_HOME:"/usr/local/lib/lein",npm_config_globalconfig:"/opt/hostedtoolcache/node/18.20.2/x64/etc/npmrc",npm_config_init_module:"/home/runner/.npm-init.js",GITHUB_PATH:"/home/runner/work/_temp/_runner_file_commands/add_path_1db24d99-745b-44e6-9118-92da7729c914",JAVA_HOME:"/usr/lib/jvm/temurin-11-jdk-amd64",PWD:"/home/runner/work/openapi-ui/openapi-ui",GITHUB_ACTOR_ID:"22948077",RUNNER_WORKSPACE:"/home/runner/work/openapi-ui",npm_execpath:"/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/bin/npm-cli.js",HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS:"3650",GITHUB_EVENT_NAME:"push",HOMEBREW_NO_AUTO_UPDATE:"1",ANDROID_HOME:"/usr/local/lib/android/sdk",GITHUB_SERVER_URL:"https://github.com",GECKOWEBDRIVER:"/usr/local/share/gecko_driver",LEIN_JAR:"/usr/local/lib/lein/self-installs/leiningen-2.11.2-standalone.jar",GHCUP_INSTALL_BASE_PREFIX:"/usr/local",GITHUB_OUTPUT:"/home/runner/work/_temp/_runner_file_commands/set_output_1db24d99-745b-44e6-9118-92da7729c914",npm_config_global_prefix:"/opt/hostedtoolcache/node/18.20.2/x64",EDGEWEBDRIVER:"/usr/local/share/edge_driver",STATS_EXT:"true",npm_command:"run-script",ANDROID_NDK:"/usr/local/lib/android/sdk/ndk/25.2.9519653",SGX_AESM_ADDR:"1",CHROME_BIN:"/usr/bin/google-chrome",SELENIUM_JAR_PATH:"/usr/share/java/selenium-server.jar",STATS_EXTP:"https://provjobdsettingscdn.blob.core.windows.net/settings/provjobdsettings-0.5.172+1/provjobd.data",ANDROID_NDK_HOME:"/usr/local/lib/android/sdk/ndk/25.2.9519653",GITHUB_STEP_SUMMARY:"/home/runner/work/_temp/_runner_file_commands/step_summary_1db24d99-745b-44e6-9118-92da7729c914",INIT_CWD:"/home/runner/work/openapi-ui/openapi-ui",EDITOR:"vi",NODE_ENV:"production"};function hTe(n){if(n.sheet)return n.sheet;for(var e=0;e0?Ga(PC,--xu):0,XC--,Os===10&&(XC=1,Ak--),Os}function hc(){return Os=xu2||F_(Os)>3?"":" "}function LTe(n,e){for(;--e&&hc()&&!(Os<48||Os>102||Os>57&&Os<65||Os>70&&Os<97););return I_(n,Gk()+(e<6&&ym()==32&&hc()==32))}function CX(n){for(;hc();)switch(Os){case n:return xu;case 34:case 39:n!==34&&n!==39&&CX(Os);break;case 40:n===41&&CX(n);break;case 92:hc();break}return xu}function ITe(n,e){for(;hc()&&n+Os!==57;)if(n+Os===84&&ym()===47)break;return"/*"+I_(e,xu-1)+"*"+Zk(n===47?n:hc())}function FTe(n){for(;!F_(ym());)hc();return I_(n,xu)}function DTe(n){return tte(Pk("",null,null,null,[""],n=ete(n),0,[0],n))}function Pk(n,e,t,i,r,o,s,a,l){for(var u=0,c=0,d=s,h=0,m=0,f=0,g=1,b=1,y=1,C=0,w="",x=r,L=o,I=i,D=w;b;)switch(f=C,C=hc()){case 40:if(f!=108&&Ga(D,d-1)==58){yX(D+=Fr(Xk(C),"&","&\f"),"&\f")!=-1&&(y=-1);break}case 34:case 39:case 91:D+=Xk(C);break;case 9:case 10:case 13:case 32:D+=_Te(f);break;case 92:D+=LTe(Gk()-1,7);continue;case 47:switch(ym()){case 42:case 47:Wk(NTe(ITe(hc(),Gk()),e,t),l);break;default:D+="/"}break;case 123*g:a[u++]=bm(D)*y;case 125*g:case 59:case 0:switch(C){case 0:case 125:b=0;case 59+c:y==-1&&(D=Fr(D,/\f/g,"")),m>0&&bm(D)-d&&Wk(m>32?ite(D+";",i,t,d-1):ite(Fr(D," ","")+";",i,t,d-2),l);break;case 59:D+=";";default:if(Wk(I=nte(D,e,t,u,c,r,a,w,x=[],L=[],d),o),C===123)if(c===0)Pk(D,e,I,I,x,o,d,a,L);else switch(h===99&&Ga(D,3)===110?100:h){case 100:case 108:case 109:case 115:Pk(n,I,I,i&&Wk(nte(n,I,I,0,0,r,a,w,r,x=[],d),L),r,L,d,a,i?x:L);break;default:Pk(D,I,I,I,[""],L,0,a,L)}}u=c=m=0,g=y=1,w=D="",d=s;break;case 58:d=1+bm(D),m=f;default:if(g<1){if(C==123)--g;else if(C==125&&g++==0&&xTe()==125)continue}switch(D+=Zk(C),C*g){case 38:y=c>0?1:(D+="\f",-1);break;case 44:a[u++]=(bm(D)-1)*y,y=1;break;case 64:ym()===45&&(D+=Xk(hc())),h=ym(),c=d=bm(w=D+=FTe(Gk())),C++;break;case 45:f===45&&bm(D)==2&&(g=0)}}return o}function nte(n,e,t,i,r,o,s,a,l,u,c){for(var d=r-1,h=r===0?o:[""],m=vX(h),f=0,g=0,b=0;f0?h[y]+" "+C:Fr(C,/&\f/g,h[y])))&&(l[b++]=w);return Vk(n,e,t,r===0?pX:a,l,u,c)}function NTe(n,e,t){return Vk(n,e,t,jee,Zk(wTe()),__(n,2,-2),0)}function ite(n,e,t,i){return Vk(n,e,t,bX,__(n,0,i),__(n,i+1,-1),i)}function OC(n,e){for(var t="",i=vX(n),r=0;r6)switch(Ga(n,e+1)){case 109:if(Ga(n,e+4)!==45)break;case 102:return Fr(n,/(.+:)(.+)-([^]+)/,"$1"+Ir+"$2-$3$1"+Rk+(Ga(n,e+3)==108?"$3":"$2-$3"))+n;case 115:return~yX(n,"stretch")?ste(Fr(n,"stretch","fill-available"),e)+n:n}break;case 4949:if(Ga(n,e+1)!==115)break;case 6444:switch(Ga(n,bm(n)-3-(~yX(n,"!important")&&10))){case 107:return Fr(n,":",":"+Ir)+n;case 101:return Fr(n,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Ir+(Ga(n,14)===45?"inline-":"")+"box$3$1"+Ir+"$2$3$1"+Cl+"$2box$3")+n}break;case 5936:switch(Ga(n,e+11)){case 114:return Ir+n+Cl+Fr(n,/[svh]\w+-[tblr]{2}/,"tb")+n;case 108:return Ir+n+Cl+Fr(n,/[svh]\w+-[tblr]{2}/,"tb-rl")+n;case 45:return Ir+n+Cl+Fr(n,/[svh]\w+-[tblr]{2}/,"lr")+n}return Ir+n+Cl+n+n}return n}var GTe=function(e,t,i,r){if(e.length>-1&&!e.return)switch(e.type){case bX:e.return=ste(e.value,e.length);break;case Qee:return OC([L_(e,{value:Fr(e.value,"@","@"+Ir)})],r);case pX:if(e.length)return STe(e.props,function(o){switch(CTe(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return OC([L_(e,{props:[Fr(o,/:(read-\w+)/,":"+Rk+"$1")]})],r);case"::placeholder":return OC([L_(e,{props:[Fr(o,/:(plac\w+)/,":"+Ir+"input-$1")]}),L_(e,{props:[Fr(o,/:(plac\w+)/,":"+Rk+"$1")]}),L_(e,{props:[Fr(o,/:(plac\w+)/,Cl+"input-$1")]})],r)}return""})}},XTe=[GTe],PTe=function(e){var t=e.key;if(t==="css"){var i=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(i,function(g){var b=g.getAttribute("data-emotion");b.indexOf(" ")!==-1&&(document.head.appendChild(g),g.setAttribute("data-s",""))})}var r=e.stylisPlugins||XTe,o={},s,a=[];s=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),function(g){for(var b=g.getAttribute("data-emotion").split(" "),y=1;y=4;++i,r-=4)t=n.charCodeAt(i)&255|(n.charCodeAt(++i)&255)<<8|(n.charCodeAt(++i)&255)<<16|(n.charCodeAt(++i)&255)<<24,t=(t&65535)*1540483477+((t>>>16)*59797<<16),t^=t>>>24,e=(t&65535)*1540483477+((t>>>16)*59797<<16)^(e&65535)*1540483477+((e>>>16)*59797<<16);switch(r){case 3:e^=(n.charCodeAt(i+2)&255)<<16;case 2:e^=(n.charCodeAt(i+1)&255)<<8;case 1:e^=n.charCodeAt(i)&255,e=(e&65535)*1540483477+((e>>>16)*59797<<16)}return e^=e>>>13,e=(e&65535)*1540483477+((e>>>16)*59797<<16),((e^e>>>15)>>>0).toString(36)}var JTe={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},jTe={TERM_PROGRAM:"vscode",NODE:"/Users/alexander/.nvm/versions/node/v20.9.0/bin/node",NVM_CD_FLAGS:"-q",INIT_CWD:"/Users/alexander/my-code/github/openapi-ui",SHELL:"/bin/zsh",TERM:"xterm-256color",TMPDIR:"/var/folders/7b/f28gh86d083_xqj9p9hs97k80000gn/T/",npm_config_global_prefix:"/Users/alexander/.nvm/versions/node/v20.9.0",TERM_PROGRAM_VERSION:"1.88.1",GVM_ROOT:"/Users/alexander/.gvm",MallocNanoZone:"0",ORIGINAL_XDG_CURRENT_DESKTOP:"undefined",ZDOTDIR:"/Users/alexander",COLOR:"1",npm_config_noproxy:"",ZSH:"/Users/alexander/.oh-my-zsh",PNPM_HOME:"/Users/alexander/Library/pnpm",npm_config_local_prefix:"/Users/alexander/my-code/github/openapi-ui",USER:"alexander",NVM_DIR:"/Users/alexander/.nvm",LD_LIBRARY_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:",COMMAND_MODE:"unix2003",npm_config_globalconfig:"/Users/alexander/.nvm/versions/node/v20.9.0/etc/npmrc",SSH_AUTH_SOCK:"/private/tmp/com.apple.launchd.LekgFF0iuk/Listeners",__CF_USER_TEXT_ENCODING:"0x1F5:0x19:0x34",npm_execpath:"/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/bin/npm-cli.js",PAGER:"less",LSCOLORS:"Gxfxcxdxbxegedabagacad",PATH:"/Users/alexander/my-code/github/openapi-ui/node_modules/.bin:/Users/alexander/my-code/github/node_modules/.bin:/Users/alexander/my-code/node_modules/.bin:/Users/alexander/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/mygo/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/alexander/.gvm/gos/go1.21.6/bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.nvm/versions/node/v20.9.0/bin:/Users/alexander/.cargo/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin",npm_package_json:"/Users/alexander/my-code/github/openapi-ui/package.json",__CFBundleIdentifier:"com.microsoft.VSCode",USER_ZDOTDIR:"/Users/alexander",npm_config_auto_install_peers:"true",npm_config_init_module:"/Users/alexander/.npm-init.js",npm_config_userconfig:"/Users/alexander/.npmrc",PWD:"/Users/alexander/my-code/github/openapi-ui",GVM_VERSION:"1.0.22",npm_command:"run-script",EDITOR:"vi",npm_lifecycle_event:"build:package",LANG:"zh_CN.UTF-8",npm_package_name:"openapi-ui-dist",gvm_pkgset_name:"global",NODE_PATH:"/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/vite@5.2.10_@types+node@20.12.7/node_modules/vite/bin/node_modules:/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/vite@5.2.10_@types+node@20.12.7/node_modules/vite/node_modules:/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/vite@5.2.10_@types+node@20.12.7/node_modules:/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/node_modules",XPC_FLAGS:"0x0",VSCODE_GIT_ASKPASS_EXTRA_ARGS:"",npm_config_npm_version:"10.1.0",npm_package_engines_node:"^18.0.0 || >=20.0.0",npm_config_node_gyp:"/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",XPC_SERVICE_NAME:"0",npm_package_version:"2.2.0",VSCODE_INJECTION:"1",HOME:"/Users/alexander",SHLVL:"2",VSCODE_GIT_ASKPASS_MAIN:"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js",GOROOT:"/Users/alexander/.gvm/gos/go1.21.6",DYLD_LIBRARY_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:",gvm_go_name:"go1.21.6",LOGNAME:"alexander",LESS:"-R",VSCODE_PATH_PREFIX:"/Users/alexander/.gvm/gos/go1.21.6/bin:",npm_config_cache:"/Users/alexander/.npm",GVM_OVERLAY_PREFIX:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay",npm_lifecycle_script:"tsc && vite build --config vite.package.config.ts --mode package",LC_CTYPE:"zh_CN.UTF-8",VSCODE_GIT_IPC_HANDLE:"/var/folders/7b/f28gh86d083_xqj9p9hs97k80000gn/T/vscode-git-79a18f10f2.sock",NVM_BIN:"/Users/alexander/.nvm/versions/node/v20.9.0/bin",PKG_CONFIG_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:",GOPATH:"/Users/alexander/mygo",npm_config_user_agent:"npm/10.1.0 node/v20.9.0 darwin x64 workspaces/false",GIT_ASKPASS:"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh",VSCODE_GIT_ASKPASS_NODE:"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)",GVM_PATH_BACKUP:"/Users/alexander/.gvm/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/mygo/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/alexander/.gvm/gos/go1.21.6/bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.nvm/versions/node/v20.9.0/bin:/Users/alexander/.cargo/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin",COLORTERM:"truecolor",npm_config_prefix:"/Users/alexander/.nvm/versions/node/v20.9.0",npm_node_execpath:"/Users/alexander/.nvm/versions/node/v20.9.0/bin/node",NODE_ENV:"production"},QTe=/[A-Z]|^ms/g,$Te=/_EMO_([^_]+?)_([^]*?)_EMO_/g,mte=function(e){return e.charCodeAt(1)===45},fte=function(e){return e!=null&&typeof e!="boolean"},wX=ETe(function(n){return mte(n)?n:n.replace(QTe,"-$&").toLowerCase()}),gte=function(e,t){switch(e){case"animation":case"animationName":if(typeof t=="string")return t.replace($Te,function(i,r,o){return ym={name:r,styles:o,next:ym},r})}return JTe[e]!==1&&!mte(e)&&typeof t=="number"&&t!==0?t+"px":t},qTe="Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";function DL(n,e,t){if(t==null)return"";if(t.__emotion_styles!==void 0)return t;switch(typeof t){case"boolean":return"";case"object":{if(t.anim===1)return ym={name:t.name,styles:t.styles,next:ym},t.name;if(t.styles!==void 0){var i=t.next;if(i!==void 0)for(;i!==void 0;)ym={name:i.name,styles:i.styles,next:ym},i=i.next;var r=t.styles+";";return r}return eEe(n,e,t)}case"function":{if(n!==void 0){var o=ym,s=t(n);return ym=o,DL(n,e,s)}break}}if(e==null)return t;var a=e[t];return a!==void 0?a:t}function eEe(n,e,t){var i="";if(Array.isArray(t))for(var r=0;r=20.0.0",npm_config_node_gyp:"/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",XPC_SERVICE_NAME:"0",npm_package_version:"2.2.0",VSCODE_INJECTION:"1",HOME:"/Users/alexander",SHLVL:"2",VSCODE_GIT_ASKPASS_MAIN:"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js",GOROOT:"/Users/alexander/.gvm/gos/go1.21.6",DYLD_LIBRARY_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:",gvm_go_name:"go1.21.6",LOGNAME:"alexander",LESS:"-R",VSCODE_PATH_PREFIX:"/Users/alexander/.gvm/gos/go1.21.6/bin:",npm_config_cache:"/Users/alexander/.npm",GVM_OVERLAY_PREFIX:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay",npm_lifecycle_script:"tsc && vite build --config vite.package.config.ts --mode package",LC_CTYPE:"zh_CN.UTF-8",VSCODE_GIT_IPC_HANDLE:"/var/folders/7b/f28gh86d083_xqj9p9hs97k80000gn/T/vscode-git-79a18f10f2.sock",NVM_BIN:"/Users/alexander/.nvm/versions/node/v20.9.0/bin",PKG_CONFIG_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:",GOPATH:"/Users/alexander/mygo",npm_config_user_agent:"npm/10.1.0 node/v20.9.0 darwin x64 workspaces/false",GIT_ASKPASS:"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh",VSCODE_GIT_ASKPASS_NODE:"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)",GVM_PATH_BACKUP:"/Users/alexander/.gvm/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/mygo/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/alexander/.gvm/gos/go1.21.6/bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.nvm/versions/node/v20.9.0/bin:/Users/alexander/.cargo/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin",COLORTERM:"truecolor",npm_config_prefix:"/Users/alexander/.nvm/versions/node/v20.9.0",npm_node_execpath:"/Users/alexander/.nvm/versions/node/v20.9.0/bin/node",NODE_ENV:"production"},ML={}.hasOwnProperty,yte=w.createContext(typeof HTMLElement<"u"?PTe({key:"css"}):null);yte.Provider;var Cte=function(e){return w.forwardRef(function(t,i){var r=w.useContext(yte);return e(t,r,i)})},kL=w.createContext({}),lo=function(){return w.useContext(kL)},rEe=function(e,t){if(typeof t=="function"){var i=t(e);return i}return pt({},e,t)},oEe=rte(function(n){return rte(function(e){return rEe(n,e)})}),sEe=function(e){var t=w.useContext(kL);return e.theme!==t&&(t=oEe(t)(e.theme)),w.createElement(kL.Provider,{value:t},e.children)},xX="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",LX=function(e,t){var i={};for(var r in t)ML.call(t,r)&&(i[r]=t[r]);return i[xX]=e,i},aEe=function(e){var t=e.cache,i=e.serialized,r=e.isStringTag;return dte(t,i,r),nEe(function(){return hte(t,i,r)}),null},lEe=Cte(function(n,e,t){var i=n.css;typeof i=="string"&&e.registered[i]!==void 0&&(i=e.registered[i]);var r=n[xX],o=[i],s="";typeof n.className=="string"?s=UTe(e.registered,o,n.className):n.className!=null&&(s=n.className+" ");var a=SX(o,void 0,w.useContext(kL));s+=e.key+"-"+a.name;var l={};for(var u in n)ML.call(n,u)&&u!=="css"&&u!==xX&&iEe.NODE_ENV==="production"&&(l[u]=n[u]);return l.ref=t,l.className=s,w.createElement(w.Fragment,null,w.createElement(aEe,{cache:e,serialized:a,isStringTag:typeof r=="string"}),w.createElement(r,l))}),_X=lEe,uEe=function(e,t){var i=arguments;if(t==null||!ML.call(t,"css"))return w.createElement.apply(void 0,i);var r=i.length,o=new Array(r);o[0]=_X,o[1]=LX(e,t);for(var s=2;s=4;++i,r-=4)t=n.charCodeAt(i)&255|(n.charCodeAt(++i)&255)<<8|(n.charCodeAt(++i)&255)<<16|(n.charCodeAt(++i)&255)<<24,t=(t&65535)*1540483477+((t>>>16)*59797<<16),t^=t>>>24,e=(t&65535)*1540483477+((t>>>16)*59797<<16)^(e&65535)*1540483477+((e>>>16)*59797<<16);switch(r){case 3:e^=(n.charCodeAt(i+2)&255)<<16;case 2:e^=(n.charCodeAt(i+1)&255)<<8;case 1:e^=n.charCodeAt(i)&255,e=(e&65535)*1540483477+((e>>>16)*59797<<16)}return e^=e>>>13,e=(e&65535)*1540483477+((e>>>16)*59797<<16),((e^e>>>15)>>>0).toString(36)}var JTe={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},jTe={GITHUB_STATE:"/home/runner/work/_temp/_runner_file_commands/save_state_1db24d99-745b-44e6-9118-92da7729c914",STATS_TRP:"true",DEPLOYMENT_BASEPATH:"/opt/runner",DOTNET_NOLOGO:"1",USER:"runner",npm_config_always_auth:"",npm_config_user_agent:"npm/10.5.0 node/v18.20.2 linux x64 workspaces/false ci/github-actions",CI:"true",RUNNER_ENVIRONMENT:"github-hosted",GITHUB_ENV:"/home/runner/work/_temp/_runner_file_commands/set_env_1db24d99-745b-44e6-9118-92da7729c914",PIPX_HOME:"/opt/pipx",npm_node_execpath:"/opt/hostedtoolcache/node/18.20.2/x64/bin/node",JAVA_HOME_8_X64:"/usr/lib/jvm/temurin-8-jdk-amd64",NODE_AUTH_TOKEN:"XXXXX-XXXXX-XXXXX-XXXXX",SHLVL:"1",npm_config_noproxy:"",HOME:"/home/runner",RUNNER_TEMP:"/home/runner/work/_temp",GITHUB_EVENT_PATH:"/home/runner/work/_temp/_github_workflow/event.json",npm_package_json:"/home/runner/work/openapi-ui/openapi-ui/package.json",JAVA_HOME_11_X64:"/usr/lib/jvm/temurin-11-jdk-amd64",PIPX_BIN_DIR:"/opt/pipx_bin",GITHUB_REPOSITORY_OWNER:"rookie-luochao",npm_config_auto_install_peers:"true",npm_package_engines_node:"^18.0.0 || >=20.0.0",GRADLE_HOME:"/usr/share/gradle-8.7",ANDROID_NDK_LATEST_HOME:"/usr/local/lib/android/sdk/ndk/26.3.11579264",JAVA_HOME_21_X64:"/usr/lib/jvm/temurin-21-jdk-amd64",STATS_RDCL:"true",GITHUB_RETENTION_DAYS:"90",GITHUB_REPOSITORY_OWNER_ID:"22948077",POWERSHELL_DISTRIBUTION_CHANNEL:"GitHub-Actions-ubuntu22",AZURE_EXTENSION_DIR:"/opt/az/azcliextensions",GITHUB_HEAD_REF:"",npm_config_local_prefix:"/home/runner/work/openapi-ui/openapi-ui",SYSTEMD_EXEC_PID:"591",GITHUB_GRAPHQL_URL:"https://api.github.com/graphql",COLOR:"0",GOROOT_1_20_X64:"/opt/hostedtoolcache/go/1.20.14/x64",NVM_DIR:"/home/runner/.nvm",DOTNET_SKIP_FIRST_TIME_EXPERIENCE:"1",GOROOT_1_21_X64:"/opt/hostedtoolcache/go/1.21.9/x64",JAVA_HOME_17_X64:"/usr/lib/jvm/temurin-17-jdk-amd64",ImageVersion:"20240422.1.0",RUNNER_OS:"Linux",GITHUB_API_URL:"https://api.github.com",GOROOT_1_22_X64:"/opt/hostedtoolcache/go/1.22.2/x64",SWIFT_PATH:"/usr/share/swift/usr/bin",RUNNER_USER:"runner",STATS_V3PS:"true",CHROMEWEBDRIVER:"/usr/local/share/chromedriver-linux64",JOURNAL_STREAM:"8:17399",GITHUB_WORKFLOW:"Publish Package CI",_:"/opt/hostedtoolcache/node/18.20.2/x64/bin/npm",npm_config_prefix:"/opt/hostedtoolcache/node/18.20.2/x64",npm_config_npm_version:"10.5.0",ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE:"/opt/actionarchivecache",STATS_D:"true",GITHUB_RUN_ID:"9034363565",STATS_VMFE:"true",npm_config_cache:"/home/runner/.npm",GITHUB_REF_TYPE:"tag",BOOTSTRAP_HASKELL_NONINTERACTIVE:"1",GITHUB_WORKFLOW_SHA:"7d06aa5962e2854267496af964903729ea3712ea",GITHUB_BASE_REF:"",ImageOS:"ubuntu22",GITHUB_WORKFLOW_REF:"rookie-luochao/openapi-ui/.github/workflows/publish-package-ci.yml@refs/tags/v2.2.1",PERFLOG_LOCATION_SETTING:"RUNNER_PERFLOG",GITHUB_ACTION_REPOSITORY:"",npm_config_node_gyp:"/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",PATH:"/home/runner/work/openapi-ui/openapi-ui/node_modules/.bin:/home/runner/work/openapi-ui/node_modules/.bin:/home/runner/work/node_modules/.bin:/home/runner/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin",ANT_HOME:"/usr/share/ant",DOTNET_MULTILEVEL_LOOKUP:"0",RUNNER_TRACKING_ID:"github_8e3f06e2-01ee-4dd3-8ff0-4ad90f0f5f28",INVOCATION_ID:"d0057c0943174c4e95e299688b270680",NPM_CONFIG_USERCONFIG:"/home/runner/work/_temp/.npmrc",RUNNER_TOOL_CACHE:"/opt/hostedtoolcache",NODE:"/opt/hostedtoolcache/node/18.20.2/x64/bin/node",npm_package_name:"openapi-ui-dist",GITHUB_ACTION:"__run_3",GITHUB_RUN_NUMBER:"5",GITHUB_TRIGGERING_ACTOR:"rookie-luochao",RUNNER_ARCH:"X64",XDG_RUNTIME_DIR:"/run/user/1001",AGENT_TOOLSDIRECTORY:"/opt/hostedtoolcache",LANG:"C.UTF-8",VCPKG_INSTALLATION_ROOT:"/usr/local/share/vcpkg",CONDA:"/usr/share/miniconda",RUNNER_NAME:"GitHub Actions 19",XDG_CONFIG_HOME:"/home/runner/.config",STATS_VMD:"true",GITHUB_REF_NAME:"v2.2.1",GITHUB_REPOSITORY:"rookie-luochao/openapi-ui",STATS_D_D:"true",npm_lifecycle_script:"tsc && vite build --config vite.package.config.ts --mode package",STATS_UE:"true",ANDROID_NDK_ROOT:"/usr/local/lib/android/sdk/ndk/25.2.9519653",GITHUB_ACTION_REF:"",DEBIAN_FRONTEND:"noninteractive",GITHUB_REPOSITORY_ID:"733969338",GITHUB_ACTIONS:"true",npm_package_version:"2.2.1",npm_lifecycle_event:"build:package",NODE_PATH:"/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules/vite/bin/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules/vite/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/node_modules",GITHUB_REF_PROTECTED:"false",GITHUB_WORKSPACE:"/home/runner/work/openapi-ui/openapi-ui",ACCEPT_EULA:"Y",GITHUB_JOB:"build",RUNNER_PERFLOG:"/home/runner/perflog",GITHUB_SHA:"7d06aa5962e2854267496af964903729ea3712ea",GITHUB_RUN_ATTEMPT:"1",GITHUB_REF:"refs/tags/v2.2.1",GITHUB_ACTOR:"rookie-luochao",ANDROID_SDK_ROOT:"/usr/local/lib/android/sdk",LEIN_HOME:"/usr/local/lib/lein",npm_config_globalconfig:"/opt/hostedtoolcache/node/18.20.2/x64/etc/npmrc",npm_config_init_module:"/home/runner/.npm-init.js",GITHUB_PATH:"/home/runner/work/_temp/_runner_file_commands/add_path_1db24d99-745b-44e6-9118-92da7729c914",JAVA_HOME:"/usr/lib/jvm/temurin-11-jdk-amd64",PWD:"/home/runner/work/openapi-ui/openapi-ui",GITHUB_ACTOR_ID:"22948077",RUNNER_WORKSPACE:"/home/runner/work/openapi-ui",npm_execpath:"/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/bin/npm-cli.js",HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS:"3650",GITHUB_EVENT_NAME:"push",HOMEBREW_NO_AUTO_UPDATE:"1",ANDROID_HOME:"/usr/local/lib/android/sdk",GITHUB_SERVER_URL:"https://github.com",GECKOWEBDRIVER:"/usr/local/share/gecko_driver",LEIN_JAR:"/usr/local/lib/lein/self-installs/leiningen-2.11.2-standalone.jar",GHCUP_INSTALL_BASE_PREFIX:"/usr/local",GITHUB_OUTPUT:"/home/runner/work/_temp/_runner_file_commands/set_output_1db24d99-745b-44e6-9118-92da7729c914",npm_config_global_prefix:"/opt/hostedtoolcache/node/18.20.2/x64",EDGEWEBDRIVER:"/usr/local/share/edge_driver",STATS_EXT:"true",npm_command:"run-script",ANDROID_NDK:"/usr/local/lib/android/sdk/ndk/25.2.9519653",SGX_AESM_ADDR:"1",CHROME_BIN:"/usr/bin/google-chrome",SELENIUM_JAR_PATH:"/usr/share/java/selenium-server.jar",STATS_EXTP:"https://provjobdsettingscdn.blob.core.windows.net/settings/provjobdsettings-0.5.172+1/provjobd.data",ANDROID_NDK_HOME:"/usr/local/lib/android/sdk/ndk/25.2.9519653",GITHUB_STEP_SUMMARY:"/home/runner/work/_temp/_runner_file_commands/step_summary_1db24d99-745b-44e6-9118-92da7729c914",INIT_CWD:"/home/runner/work/openapi-ui/openapi-ui",EDITOR:"vi",NODE_ENV:"production"},QTe=/[A-Z]|^ms/g,$Te=/_EMO_([^_]+?)_([^]*?)_EMO_/g,mte=function(e){return e.charCodeAt(1)===45},fte=function(e){return e!=null&&typeof e!="boolean"},SX=ETe(function(n){return mte(n)?n:n.replace(QTe,"-$&").toLowerCase()}),gte=function(e,t){switch(e){case"animation":case"animationName":if(typeof t=="string")return t.replace($Te,function(i,r,o){return vm={name:r,styles:o,next:vm},r})}return JTe[e]!==1&&!mte(e)&&typeof t=="number"&&t!==0?t+"px":t},qTe="Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";function D_(n,e,t){if(t==null)return"";if(t.__emotion_styles!==void 0)return t;switch(typeof t){case"boolean":return"";case"object":{if(t.anim===1)return vm={name:t.name,styles:t.styles,next:vm},t.name;if(t.styles!==void 0){var i=t.next;if(i!==void 0)for(;i!==void 0;)vm={name:i.name,styles:i.styles,next:vm},i=i.next;var r=t.styles+";";return r}return eEe(n,e,t)}case"function":{if(n!==void 0){var o=vm,s=t(n);return vm=o,D_(n,e,s)}break}}if(e==null)return t;var a=e[t];return a!==void 0?a:t}function eEe(n,e,t){var i="";if(Array.isArray(t))for(var r=0;r=20.0.0",GRADLE_HOME:"/usr/share/gradle-8.7",ANDROID_NDK_LATEST_HOME:"/usr/local/lib/android/sdk/ndk/26.3.11579264",JAVA_HOME_21_X64:"/usr/lib/jvm/temurin-21-jdk-amd64",STATS_RDCL:"true",GITHUB_RETENTION_DAYS:"90",GITHUB_REPOSITORY_OWNER_ID:"22948077",POWERSHELL_DISTRIBUTION_CHANNEL:"GitHub-Actions-ubuntu22",AZURE_EXTENSION_DIR:"/opt/az/azcliextensions",GITHUB_HEAD_REF:"",npm_config_local_prefix:"/home/runner/work/openapi-ui/openapi-ui",SYSTEMD_EXEC_PID:"591",GITHUB_GRAPHQL_URL:"https://api.github.com/graphql",COLOR:"0",GOROOT_1_20_X64:"/opt/hostedtoolcache/go/1.20.14/x64",NVM_DIR:"/home/runner/.nvm",DOTNET_SKIP_FIRST_TIME_EXPERIENCE:"1",GOROOT_1_21_X64:"/opt/hostedtoolcache/go/1.21.9/x64",JAVA_HOME_17_X64:"/usr/lib/jvm/temurin-17-jdk-amd64",ImageVersion:"20240422.1.0",RUNNER_OS:"Linux",GITHUB_API_URL:"https://api.github.com",GOROOT_1_22_X64:"/opt/hostedtoolcache/go/1.22.2/x64",SWIFT_PATH:"/usr/share/swift/usr/bin",RUNNER_USER:"runner",STATS_V3PS:"true",CHROMEWEBDRIVER:"/usr/local/share/chromedriver-linux64",JOURNAL_STREAM:"8:17399",GITHUB_WORKFLOW:"Publish Package CI",_:"/opt/hostedtoolcache/node/18.20.2/x64/bin/npm",npm_config_prefix:"/opt/hostedtoolcache/node/18.20.2/x64",npm_config_npm_version:"10.5.0",ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE:"/opt/actionarchivecache",STATS_D:"true",GITHUB_RUN_ID:"9034363565",STATS_VMFE:"true",npm_config_cache:"/home/runner/.npm",GITHUB_REF_TYPE:"tag",BOOTSTRAP_HASKELL_NONINTERACTIVE:"1",GITHUB_WORKFLOW_SHA:"7d06aa5962e2854267496af964903729ea3712ea",GITHUB_BASE_REF:"",ImageOS:"ubuntu22",GITHUB_WORKFLOW_REF:"rookie-luochao/openapi-ui/.github/workflows/publish-package-ci.yml@refs/tags/v2.2.1",PERFLOG_LOCATION_SETTING:"RUNNER_PERFLOG",GITHUB_ACTION_REPOSITORY:"",npm_config_node_gyp:"/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",PATH:"/home/runner/work/openapi-ui/openapi-ui/node_modules/.bin:/home/runner/work/openapi-ui/node_modules/.bin:/home/runner/work/node_modules/.bin:/home/runner/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin",ANT_HOME:"/usr/share/ant",DOTNET_MULTILEVEL_LOOKUP:"0",RUNNER_TRACKING_ID:"github_8e3f06e2-01ee-4dd3-8ff0-4ad90f0f5f28",INVOCATION_ID:"d0057c0943174c4e95e299688b270680",NPM_CONFIG_USERCONFIG:"/home/runner/work/_temp/.npmrc",RUNNER_TOOL_CACHE:"/opt/hostedtoolcache",NODE:"/opt/hostedtoolcache/node/18.20.2/x64/bin/node",npm_package_name:"openapi-ui-dist",GITHUB_ACTION:"__run_3",GITHUB_RUN_NUMBER:"5",GITHUB_TRIGGERING_ACTOR:"rookie-luochao",RUNNER_ARCH:"X64",XDG_RUNTIME_DIR:"/run/user/1001",AGENT_TOOLSDIRECTORY:"/opt/hostedtoolcache",LANG:"C.UTF-8",VCPKG_INSTALLATION_ROOT:"/usr/local/share/vcpkg",CONDA:"/usr/share/miniconda",RUNNER_NAME:"GitHub Actions 19",XDG_CONFIG_HOME:"/home/runner/.config",STATS_VMD:"true",GITHUB_REF_NAME:"v2.2.1",GITHUB_REPOSITORY:"rookie-luochao/openapi-ui",STATS_D_D:"true",npm_lifecycle_script:"tsc && vite build --config vite.package.config.ts --mode package",STATS_UE:"true",ANDROID_NDK_ROOT:"/usr/local/lib/android/sdk/ndk/25.2.9519653",GITHUB_ACTION_REF:"",DEBIAN_FRONTEND:"noninteractive",GITHUB_REPOSITORY_ID:"733969338",GITHUB_ACTIONS:"true",npm_package_version:"2.2.1",npm_lifecycle_event:"build:package",NODE_PATH:"/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules/vite/bin/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules/vite/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/node_modules",GITHUB_REF_PROTECTED:"false",GITHUB_WORKSPACE:"/home/runner/work/openapi-ui/openapi-ui",ACCEPT_EULA:"Y",GITHUB_JOB:"build",RUNNER_PERFLOG:"/home/runner/perflog",GITHUB_SHA:"7d06aa5962e2854267496af964903729ea3712ea",GITHUB_RUN_ATTEMPT:"1",GITHUB_REF:"refs/tags/v2.2.1",GITHUB_ACTOR:"rookie-luochao",ANDROID_SDK_ROOT:"/usr/local/lib/android/sdk",LEIN_HOME:"/usr/local/lib/lein",npm_config_globalconfig:"/opt/hostedtoolcache/node/18.20.2/x64/etc/npmrc",npm_config_init_module:"/home/runner/.npm-init.js",GITHUB_PATH:"/home/runner/work/_temp/_runner_file_commands/add_path_1db24d99-745b-44e6-9118-92da7729c914",JAVA_HOME:"/usr/lib/jvm/temurin-11-jdk-amd64",PWD:"/home/runner/work/openapi-ui/openapi-ui",GITHUB_ACTOR_ID:"22948077",RUNNER_WORKSPACE:"/home/runner/work/openapi-ui",npm_execpath:"/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/bin/npm-cli.js",HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS:"3650",GITHUB_EVENT_NAME:"push",HOMEBREW_NO_AUTO_UPDATE:"1",ANDROID_HOME:"/usr/local/lib/android/sdk",GITHUB_SERVER_URL:"https://github.com",GECKOWEBDRIVER:"/usr/local/share/gecko_driver",LEIN_JAR:"/usr/local/lib/lein/self-installs/leiningen-2.11.2-standalone.jar",GHCUP_INSTALL_BASE_PREFIX:"/usr/local",GITHUB_OUTPUT:"/home/runner/work/_temp/_runner_file_commands/set_output_1db24d99-745b-44e6-9118-92da7729c914",npm_config_global_prefix:"/opt/hostedtoolcache/node/18.20.2/x64",EDGEWEBDRIVER:"/usr/local/share/edge_driver",STATS_EXT:"true",npm_command:"run-script",ANDROID_NDK:"/usr/local/lib/android/sdk/ndk/25.2.9519653",SGX_AESM_ADDR:"1",CHROME_BIN:"/usr/bin/google-chrome",SELENIUM_JAR_PATH:"/usr/share/java/selenium-server.jar",STATS_EXTP:"https://provjobdsettingscdn.blob.core.windows.net/settings/provjobdsettings-0.5.172+1/provjobd.data",ANDROID_NDK_HOME:"/usr/local/lib/android/sdk/ndk/25.2.9519653",GITHUB_STEP_SUMMARY:"/home/runner/work/_temp/_runner_file_commands/step_summary_1db24d99-745b-44e6-9118-92da7729c914",INIT_CWD:"/home/runner/work/openapi-ui/openapi-ui",EDITOR:"vi",NODE_ENV:"production"},N_={}.hasOwnProperty,vte=S.createContext(typeof HTMLElement<"u"?PTe({key:"css"}):null);vte.Provider;var Cte=function(e){return S.forwardRef(function(t,i){var r=S.useContext(vte);return e(t,r,i)})},M_=S.createContext({}),lo=function(){return S.useContext(M_)},rEe=function(e,t){if(typeof t=="function"){var i=t(e);return i}return pt({},e,t)},oEe=rte(function(n){return rte(function(e){return rEe(n,e)})}),sEe=function(e){var t=S.useContext(M_);return e.theme!==t&&(t=oEe(t)(e.theme)),S.createElement(M_.Provider,{value:t},e.children)},xX="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",_X=function(e,t){var i={};for(var r in t)N_.call(t,r)&&(i[r]=t[r]);return i[xX]=e,i},aEe=function(e){var t=e.cache,i=e.serialized,r=e.isStringTag;return dte(t,i,r),nEe(function(){return hte(t,i,r)}),null},lEe=Cte(function(n,e,t){var i=n.css;typeof i=="string"&&e.registered[i]!==void 0&&(i=e.registered[i]);var r=n[xX],o=[i],s="";typeof n.className=="string"?s=UTe(e.registered,o,n.className):n.className!=null&&(s=n.className+" ");var a=wX(o,void 0,S.useContext(M_));s+=e.key+"-"+a.name;var l={};for(var u in n)N_.call(n,u)&&u!=="css"&&u!==xX&&iEe.NODE_ENV==="production"&&(l[u]=n[u]);return l.ref=t,l.className=s,S.createElement(S.Fragment,null,S.createElement(aEe,{cache:e,serialized:a,isStringTag:typeof r=="string"}),S.createElement(r,l))}),LX=lEe,uEe=function(e,t){var i=arguments;if(t==null||!N_.call(t,"css"))return S.createElement.apply(void 0,i);var r=i.length,o=new Array(r);o[0]=LX,o[1]=_X(e,t);for(var s=2;s>>1,Y=P[X];if(0>>1;Xr(oe,k))aer(le,oe)?(P[X]=le,P[ae]=k,X=ae):(P[X]=oe,P[te]=k,X=te);else if(aer(le,k))P[X]=le,P[ae]=k,X=ae;else break e}}return H}function r(P,H){var k=P.sortIndex-H.sortIndex;return k!==0?k:P.id-H.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;n.unstable_now=function(){return o.now()}}else{var s=Date,a=s.now();n.unstable_now=function(){return s.now()-a}}var l=[],u=[],c=1,d=null,h=3,m=!1,f=!1,g=!1,b=typeof setTimeout=="function"?setTimeout:null,v=typeof clearTimeout=="function"?clearTimeout:null,C=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function S(P){for(var H=t(u);H!==null;){if(H.callback===null)i(u);else if(H.startTime<=P)i(u),H.sortIndex=H.expirationTime,e(l,H);else break;H=t(u)}}function x(P){if(g=!1,S(P),!f)if(t(l)!==null)f=!0,O(_);else{var H=t(u);H!==null&&B(x,H.startTime-P)}}function _(P,H){f=!1,g&&(g=!1,v(M),M=-1),m=!0;var k=h;try{for(S(H),d=t(l);d!==null&&(!(d.expirationTime>H)||P&&!E());){var X=d.callback;if(typeof X=="function"){d.callback=null,h=d.priorityLevel;var Y=X(d.expirationTime<=H);H=n.unstable_now(),typeof Y=="function"?d.callback=Y:d===t(l)&&i(l),S(H)}else i(l);d=t(l)}if(d!==null)var V=!0;else{var te=t(u);te!==null&&B(x,te.startTime-H),V=!1}return V}finally{d=null,h=k,m=!1}}var F=!1,D=null,M=-1,T=5,Z=-1;function E(){return!(n.unstable_now()-ZP||125X?(P.sortIndex=k,e(u,P),t(l)===null&&P===t(u)&&(g?(v(M),M=-1):g=!0,B(x,k-X))):(P.sortIndex=Y,e(l,P),f||m||(f=!0,O(_))),P},n.unstable_shouldYield=E,n.unstable_wrapCallback=function(P){var H=h;return function(){var k=h;h=H;try{return P.apply(this,arguments)}finally{h=k}}}}(DX)),DX}var xte;function hEe(){return xte||(xte=1,IX.exports=dEe()),IX.exports}/** + */var wte;function dEe(){return wte||(wte=1,function(n){function e(P,H){var M=P.length;P.push(H);e:for(;0>>1,Y=P[X];if(0>>1;Xr(oe,M))aer(le,oe)?(P[X]=le,P[ae]=M,X=ae):(P[X]=oe,P[te]=M,X=te);else if(aer(le,M))P[X]=le,P[ae]=M,X=ae;else break e}}return H}function r(P,H){var M=P.sortIndex-H.sortIndex;return M!==0?M:P.id-H.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;n.unstable_now=function(){return o.now()}}else{var s=Date,a=s.now();n.unstable_now=function(){return s.now()-a}}var l=[],u=[],c=1,d=null,h=3,m=!1,f=!1,g=!1,b=typeof setTimeout=="function"?setTimeout:null,y=typeof clearTimeout=="function"?clearTimeout:null,C=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function w(P){for(var H=t(u);H!==null;){if(H.callback===null)i(u);else if(H.startTime<=P)i(u),H.sortIndex=H.expirationTime,e(l,H);else break;H=t(u)}}function x(P){if(g=!1,w(P),!f)if(t(l)!==null)f=!0,O(L);else{var H=t(u);H!==null&&B(x,H.startTime-P)}}function L(P,H){f=!1,g&&(g=!1,y(N),N=-1),m=!0;var M=h;try{for(w(H),d=t(l);d!==null&&(!(d.expirationTime>H)||P&&!E());){var X=d.callback;if(typeof X=="function"){d.callback=null,h=d.priorityLevel;var Y=X(d.expirationTime<=H);H=n.unstable_now(),typeof Y=="function"?d.callback=Y:d===t(l)&&i(l),w(H)}else i(l);d=t(l)}if(d!==null)var A=!0;else{var te=t(u);te!==null&&B(x,te.startTime-H),A=!1}return A}finally{d=null,h=M,m=!1}}var I=!1,D=null,N=-1,T=5,R=-1;function E(){return!(n.unstable_now()-RP||125X?(P.sortIndex=M,e(u,P),t(l)===null&&P===t(u)&&(g?(y(N),N=-1):g=!0,B(x,M-X))):(P.sortIndex=Y,e(l,P),f||m||(f=!0,O(L))),P},n.unstable_shouldYield=E,n.unstable_wrapCallback=function(P){var H=h;return function(){var M=h;h=H;try{return P.apply(this,arguments)}finally{h=M}}}}(DX)),DX}var xte;function hEe(){return xte||(xte=1,FX.exports=dEe()),FX.exports}/** * @license React * react-dom.production.min.js * @@ -30,18 +30,18 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Lte;function mEe(){if(Lte)return Lu;Lte=1;var n=w,e=hEe();function t(p){for(var y="https://reactjs.org/docs/error-decoder.html?invariant="+p,I=1;I"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),l=Object.prototype.hasOwnProperty,u=/^[: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]*$/,c={},d={};function h(p){return l.call(d,p)?!0:l.call(c,p)?!1:u.test(p)?d[p]=!0:(c[p]=!0,!1)}function m(p,y,I,N){if(I!==null&&I.type===0)return!1;switch(typeof y){case"function":case"symbol":return!0;case"boolean":return N?!1:I!==null?!I.acceptsBooleans:(p=p.toLowerCase().slice(0,5),p!=="data-"&&p!=="aria-");default:return!1}}function f(p,y,I,N){if(y===null||typeof y>"u"||m(p,y,I,N))return!0;if(N)return!1;if(I!==null)switch(I.type){case 3:return!y;case 4:return y===!1;case 5:return isNaN(y);case 6:return isNaN(y)||1>y}return!1}function g(p,y,I,N,G,U,ie){this.acceptsBooleans=y===2||y===3||y===4,this.attributeName=N,this.attributeNamespace=G,this.mustUseProperty=I,this.propertyName=p,this.type=y,this.sanitizeURL=U,this.removeEmptyString=ie}var b={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(p){b[p]=new g(p,0,!1,p,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(p){var y=p[0];b[y]=new g(y,1,!1,p[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(p){b[p]=new g(p,2,!1,p.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(p){b[p]=new g(p,2,!1,p,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(p){b[p]=new g(p,3,!1,p.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(p){b[p]=new g(p,3,!0,p,null,!1,!1)}),["capture","download"].forEach(function(p){b[p]=new g(p,4,!1,p,null,!1,!1)}),["cols","rows","size","span"].forEach(function(p){b[p]=new g(p,6,!1,p,null,!1,!1)}),["rowSpan","start"].forEach(function(p){b[p]=new g(p,5,!1,p.toLowerCase(),null,!1,!1)});var v=/[\-:]([a-z])/g;function C(p){return p[1].toUpperCase()}"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(p){var y=p.replace(v,C);b[y]=new g(y,1,!1,p,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(p){var y=p.replace(v,C);b[y]=new g(y,1,!1,p,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(p){var y=p.replace(v,C);b[y]=new g(y,1,!1,p,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(p){b[p]=new g(p,1,!1,p.toLowerCase(),null,!1,!1)}),b.xlinkHref=new g("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(p){b[p]=new g(p,1,!1,p.toLowerCase(),null,!0,!0)});function S(p,y,I,N){var G=b.hasOwnProperty(y)?b[y]:null;(G!==null?G.type!==0:N||!(2Fe||G[ie]!==U[Fe]){var Ve=` -`+G[ie].replace(" at new "," at ");return p.displayName&&Ve.includes("")&&(Ve=Ve.replace("",p.displayName)),Ve}while(1<=ie&&0<=Fe);break}}}finally{V=!1,Error.prepareStackTrace=I}return(p=p?p.displayName||p.name:"")?Y(p):""}function oe(p){switch(p.tag){case 5:return Y(p.type);case 16:return Y("Lazy");case 13:return Y("Suspense");case 19:return Y("SuspenseList");case 0:case 2:case 15:return p=te(p.type,!1),p;case 11:return p=te(p.type.render,!1),p;case 1:return p=te(p.type,!0),p;default:return""}}function ae(p){if(p==null)return null;if(typeof p=="function")return p.displayName||p.name||null;if(typeof p=="string")return p;switch(p){case D:return"Fragment";case F:return"Portal";case T:return"Profiler";case M:return"StrictMode";case W:return"Suspense";case A:return"SuspenseList"}if(typeof p=="object")switch(p.$$typeof){case E:return(p.displayName||"Context")+".Consumer";case Z:return(p._context.displayName||"Context")+".Provider";case R:var y=p.render;return p=p.displayName,p||(p=y.displayName||y.name||"",p=p!==""?"ForwardRef("+p+")":"ForwardRef"),p;case z:return y=p.displayName||null,y!==null?y:ae(p.type)||"Memo";case O:y=p._payload,p=p._init;try{return ae(p(y))}catch{}}return null}function le(p){var y=p.type;switch(p.tag){case 24:return"Cache";case 9:return(y.displayName||"Context")+".Consumer";case 10:return(y._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return p=y.render,p=p.displayName||p.name||"",y.displayName||(p!==""?"ForwardRef("+p+")":"ForwardRef");case 7:return"Fragment";case 5:return y;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ae(y);case 8:return y===M?"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(typeof y=="function")return y.displayName||y.name||null;if(typeof y=="string")return y}return null}function ue(p){switch(typeof p){case"boolean":case"number":case"string":case"undefined":return p;case"object":return p;default:return""}}function Ce(p){var y=p.type;return(p=p.nodeName)&&p.toLowerCase()==="input"&&(y==="checkbox"||y==="radio")}function pe(p){var y=Ce(p)?"checked":"value",I=Object.getOwnPropertyDescriptor(p.constructor.prototype,y),N=""+p[y];if(!p.hasOwnProperty(y)&&typeof I<"u"&&typeof I.get=="function"&&typeof I.set=="function"){var G=I.get,U=I.set;return Object.defineProperty(p,y,{configurable:!0,get:function(){return G.call(this)},set:function(ie){N=""+ie,U.call(this,ie)}}),Object.defineProperty(p,y,{enumerable:I.enumerable}),{getValue:function(){return N},setValue:function(ie){N=""+ie},stopTracking:function(){p._valueTracker=null,delete p[y]}}}}function ce(p){p._valueTracker||(p._valueTracker=pe(p))}function De(p){if(!p)return!1;var y=p._valueTracker;if(!y)return!0;var I=y.getValue(),N="";return p&&(N=Ce(p)?p.checked?"true":"false":p.value),p=N,p!==I?(y.setValue(p),!0):!1}function ke(p){if(p=p||(typeof document<"u"?document:void 0),typeof p>"u")return null;try{return p.activeElement||p.body}catch{return p.body}}function Ne(p,y){var I=y.checked;return k({},y,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:I??p._wrapperState.initialChecked})}function Ue(p,y){var I=y.defaultValue==null?"":y.defaultValue,N=y.checked!=null?y.checked:y.defaultChecked;I=ue(y.value!=null?y.value:I),p._wrapperState={initialChecked:N,initialValue:I,controlled:y.type==="checkbox"||y.type==="radio"?y.checked!=null:y.value!=null}}function He(p,y){y=y.checked,y!=null&&S(p,"checked",y,!1)}function ct(p,y){He(p,y);var I=ue(y.value),N=y.type;if(I!=null)N==="number"?(I===0&&p.value===""||p.value!=I)&&(p.value=""+I):p.value!==""+I&&(p.value=""+I);else if(N==="submit"||N==="reset"){p.removeAttribute("value");return}y.hasOwnProperty("value")?it(p,y.type,I):y.hasOwnProperty("defaultValue")&&it(p,y.type,ue(y.defaultValue)),y.checked==null&&y.defaultChecked!=null&&(p.defaultChecked=!!y.defaultChecked)}function vt(p,y,I){if(y.hasOwnProperty("value")||y.hasOwnProperty("defaultValue")){var N=y.type;if(!(N!=="submit"&&N!=="reset"||y.value!==void 0&&y.value!==null))return;y=""+p._wrapperState.initialValue,I||y===p.value||(p.value=y),p.defaultValue=y}I=p.name,I!==""&&(p.name=""),p.defaultChecked=!!p._wrapperState.initialChecked,I!==""&&(p.name=I)}function it(p,y,I){(y!=="number"||ke(p.ownerDocument)!==p)&&(I==null?p.defaultValue=""+p._wrapperState.initialValue:p.defaultValue!==""+I&&(p.defaultValue=""+I))}var he=Array.isArray;function de(p,y,I,N){if(p=p.options,y){y={};for(var G=0;G"+y.valueOf().toString()+"",y=Le.firstChild;p.firstChild;)p.removeChild(p.firstChild);for(;y.firstChild;)p.appendChild(y.firstChild)}});function Be(p,y){if(y){var I=p.firstChild;if(I&&I===p.lastChild&&I.nodeType===3){I.nodeValue=y;return}}p.textContent=y}var $e={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},Re=["Webkit","ms","Moz","O"];Object.keys($e).forEach(function(p){Re.forEach(function(y){y=y+p.charAt(0).toUpperCase()+p.substring(1),$e[y]=$e[p]})});function ht(p,y,I){return y==null||typeof y=="boolean"||y===""?"":I||typeof y!="number"||y===0||$e.hasOwnProperty(p)&&$e[p]?(""+y).trim():y+"px"}function Ye(p,y){p=p.style;for(var I in y)if(y.hasOwnProperty(I)){var N=I.indexOf("--")===0,G=ht(I,y[I],N);I==="float"&&(I="cssFloat"),N?p.setProperty(I,G):p[I]=G}}var Ge=k({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 mt(p,y){if(y){if(Ge[p]&&(y.children!=null||y.dangerouslySetInnerHTML!=null))throw Error(t(137,p));if(y.dangerouslySetInnerHTML!=null){if(y.children!=null)throw Error(t(60));if(typeof y.dangerouslySetInnerHTML!="object"||!("__html"in y.dangerouslySetInnerHTML))throw Error(t(61))}if(y.style!=null&&typeof y.style!="object")throw Error(t(62))}}function St(p,y){if(p.indexOf("-")===-1)return typeof y.is=="string";switch(p){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 Kt=null;function Rt(p){return p=p.target||p.srcElement||window,p.correspondingUseElement&&(p=p.correspondingUseElement),p.nodeType===3?p.parentNode:p}var Yt=null,Tn=null,li=null;function Et(p){if(p=bN(p)){if(typeof Yt!="function")throw Error(t(280));var y=p.stateNode;y&&(y=NG(y),Yt(p.stateNode,p.type,y))}}function kt(p){Tn?li?li.push(p):li=[p]:Tn=p}function fe(){if(Tn){var p=Tn,y=li;if(li=Tn=null,Et(p),y)for(p=0;p>>=0,p===0?32:31-(Wa(p)/pl|0)|0}var ci=64,on=4194304;function bn(p){switch(p&-p){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 p&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return p&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return p}}function Di(p,y){var I=p.pendingLanes;if(I===0)return 0;var N=0,G=p.suspendedLanes,U=p.pingedLanes,ie=I&268435455;if(ie!==0){var Fe=ie&~G;Fe!==0?N=bn(Fe):(U&=ie,U!==0&&(N=bn(U)))}else ie=I&~G,ie!==0?N=bn(ie):U!==0&&(N=bn(U));if(N===0)return 0;if(y!==0&&y!==N&&!(y&G)&&(G=N&-N,U=y&-y,G>=U||G===16&&(U&4194240)!==0))return y;if(N&4&&(N|=I&16),y=p.entangledLanes,y!==0)for(p=p.entanglements,y&=N;0I;I++)y.push(p);return y}function Gi(p,y,I){p.pendingLanes|=y,y!==536870912&&(p.suspendedLanes=0,p.pingedLanes=0),p=p.eventTimes,y=31-es(y),p[y]=I}function Co(p,y){var I=p.pendingLanes&~y;p.pendingLanes=y,p.suspendedLanes=0,p.pingedLanes=0,p.expiredLanes&=y,p.mutableReadLanes&=y,p.entangledLanes&=y,y=p.entanglements;var N=p.eventTimes;for(p=p.expirationTimes;0=lN),qMe=" ",eke=!1;function tke(p,y){switch(p){case"keyup":return p6t.indexOf(y.keyCode)!==-1;case"keydown":return y.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function nke(p){return p=p.detail,typeof p=="object"&&"data"in p?p.data:null}var iL=!1;function v6t(p,y){switch(p){case"compositionend":return nke(y);case"keypress":return y.which!==32?null:(eke=!0,qMe);case"textInput":return p=y.data,p===qMe&&eke?null:p;default:return null}}function y6t(p,y){if(iL)return p==="compositionend"||!Sq&&tke(p,y)?(p=UMe(),CG=pq=M1=null,iL=!1,p):null;switch(p){case"paste":return null;case"keypress":if(!(y.ctrlKey||y.altKey||y.metaKey)||y.ctrlKey&&y.altKey){if(y.char&&1=y)return{node:I,offset:y-p};p=N}e:{for(;I;){if(I.nextSibling){I=I.nextSibling;break e}I=I.parentNode}I=void 0}I=uke(I)}}function dke(p,y){return p&&y?p===y?!0:p&&p.nodeType===3?!1:y&&y.nodeType===3?dke(p,y.parentNode):"contains"in p?p.contains(y):p.compareDocumentPosition?!!(p.compareDocumentPosition(y)&16):!1:!1}function hke(){for(var p=window,y=ke();y instanceof p.HTMLIFrameElement;){try{var I=typeof y.contentWindow.location.href=="string"}catch{I=!1}if(I)p=y.contentWindow;else break;y=ke(p.document)}return y}function _q(p){var y=p&&p.nodeName&&p.nodeName.toLowerCase();return y&&(y==="input"&&(p.type==="text"||p.type==="search"||p.type==="tel"||p.type==="url"||p.type==="password")||y==="textarea"||p.contentEditable==="true")}function D6t(p){var y=hke(),I=p.focusedElem,N=p.selectionRange;if(y!==I&&I&&I.ownerDocument&&dke(I.ownerDocument.documentElement,I)){if(N!==null&&_q(I)){if(y=N.start,p=N.end,p===void 0&&(p=y),"selectionStart"in I)I.selectionStart=y,I.selectionEnd=Math.min(p,I.value.length);else if(p=(y=I.ownerDocument||document)&&y.defaultView||window,p.getSelection){p=p.getSelection();var G=I.textContent.length,U=Math.min(N.start,G);N=N.end===void 0?U:Math.min(N.end,G),!p.extend&&U>N&&(G=N,N=U,U=G),G=cke(I,U);var ie=cke(I,N);G&&ie&&(p.rangeCount!==1||p.anchorNode!==G.node||p.anchorOffset!==G.offset||p.focusNode!==ie.node||p.focusOffset!==ie.offset)&&(y=y.createRange(),y.setStart(G.node,G.offset),p.removeAllRanges(),U>N?(p.addRange(y),p.extend(ie.node,ie.offset)):(y.setEnd(ie.node,ie.offset),p.addRange(y)))}}for(y=[],p=I;p=p.parentNode;)p.nodeType===1&&y.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof I.focus=="function"&&I.focus(),I=0;I=document.documentMode,rL=null,Fq=null,hN=null,Iq=!1;function mke(p,y,I){var N=I.window===I?I.document:I.nodeType===9?I:I.ownerDocument;Iq||rL==null||rL!==ke(N)||(N=rL,"selectionStart"in N&&_q(N)?N={start:N.selectionStart,end:N.selectionEnd}:(N=(N.ownerDocument&&N.ownerDocument.defaultView||window).getSelection(),N={anchorNode:N.anchorNode,anchorOffset:N.anchorOffset,focusNode:N.focusNode,focusOffset:N.focusOffset}),hN&&dN(hN,N)||(hN=N,N=DG(Fq,"onSelect"),0uL||(p.current=Gq[uL],Gq[uL]=null,uL--)}function To(p,y){uL++,Gq[uL]=p.current,p.current=y}var E1={},jl=T1(E1),ac=T1(!1),DC=E1;function cL(p,y){var I=p.type.contextTypes;if(!I)return E1;var N=p.stateNode;if(N&&N.__reactInternalMemoizedUnmaskedChildContext===y)return N.__reactInternalMemoizedMaskedChildContext;var G={},U;for(U in I)G[U]=y[U];return N&&(p=p.stateNode,p.__reactInternalMemoizedUnmaskedChildContext=y,p.__reactInternalMemoizedMaskedChildContext=G),G}function lc(p){return p=p.childContextTypes,p!=null}function TG(){Bo(ac),Bo(jl)}function Dke(p,y,I){if(jl.current!==E1)throw Error(t(168));To(jl,y),To(ac,I)}function Mke(p,y,I){var N=p.stateNode;if(y=y.childContextTypes,typeof N.getChildContext!="function")return I;N=N.getChildContext();for(var G in N)if(!(G in y))throw Error(t(108,le(p)||"Unknown",G));return k({},I,N)}function EG(p){return p=(p=p.stateNode)&&p.__reactInternalMemoizedMergedChildContext||E1,DC=jl.current,To(jl,p),To(ac,ac.current),!0}function kke(p,y,I){var N=p.stateNode;if(!N)throw Error(t(169));I?(p=Mke(p,y,DC),N.__reactInternalMemoizedMergedChildContext=p,Bo(ac),Bo(jl),To(jl,p)):Bo(ac),To(ac,I)}var Kp=null,ZG=!1,Xq=!1;function Nke(p){Kp===null?Kp=[p]:Kp.push(p)}function X6t(p){ZG=!0,Nke(p)}function Z1(){if(!Xq&&Kp!==null){Xq=!0;var p=0,y=fn;try{var I=Kp;for(fn=1;p>=ie,G-=ie,Jp=1<<32-es(y)+G|I<pi?(Aa=ri,ri=null):Aa=ri.sibling;var Fr=Vt(Qe,ri,qe[pi],Ut);if(Fr===null){ri===null&&(ri=Aa);break}p&&ri&&Fr.alternate===null&&y(Qe,ri),Pe=U(Fr,Pe,pi),ii===null?Gn=Fr:ii.sibling=Fr,ii=Fr,ri=Aa}if(pi===qe.length)return I(Qe,ri),ts&&kC(Qe,pi),Gn;if(ri===null){for(;pipi?(Aa=ri,ri=null):Aa=ri.sibling;var B1=Vt(Qe,ri,Fr.value,Ut);if(B1===null){ri===null&&(ri=Aa);break}p&&ri&&B1.alternate===null&&y(Qe,ri),Pe=U(B1,Pe,pi),ii===null?Gn=B1:ii.sibling=B1,ii=B1,ri=Aa}if(Fr.done)return I(Qe,ri),ts&&kC(Qe,pi),Gn;if(ri===null){for(;!Fr.done;pi++,Fr=qe.next())Fr=Pt(Qe,Fr.value,Ut),Fr!==null&&(Pe=U(Fr,Pe,pi),ii===null?Gn=Fr:ii.sibling=Fr,ii=Fr);return ts&&kC(Qe,pi),Gn}for(ri=N(Qe,ri);!Fr.done;pi++,Fr=qe.next())Fr=pn(ri,Qe,pi,Fr.value,Ut),Fr!==null&&(p&&Fr.alternate!==null&&ri.delete(Fr.key===null?pi:Fr.key),Pe=U(Fr,Pe,pi),ii===null?Gn=Fr:ii.sibling=Fr,ii=Fr);return p&&ri.forEach(function(C7t){return y(Qe,C7t)}),ts&&kC(Qe,pi),Gn}function Xs(Qe,Pe,qe,Ut){if(typeof qe=="object"&&qe!==null&&qe.type===D&&qe.key===null&&(qe=qe.props.children),typeof qe=="object"&&qe!==null){switch(qe.$$typeof){case _:e:{for(var Gn=qe.key,ii=Pe;ii!==null;){if(ii.key===Gn){if(Gn=qe.type,Gn===D){if(ii.tag===7){I(Qe,ii.sibling),Pe=G(ii,qe.props.children),Pe.return=Qe,Qe=Pe;break e}}else if(ii.elementType===Gn||typeof Gn=="object"&&Gn!==null&&Gn.$$typeof===O&&Vke(Gn)===ii.type){I(Qe,ii.sibling),Pe=G(ii,qe.props),Pe.ref=vN(Qe,ii,qe),Pe.return=Qe,Qe=Pe;break e}I(Qe,ii);break}else y(Qe,ii);ii=ii.sibling}qe.type===D?(Pe=AC(qe.props.children,Qe.mode,Ut,qe.key),Pe.return=Qe,Qe=Pe):(Ut=lX(qe.type,qe.key,qe.props,null,Qe.mode,Ut),Ut.ref=vN(Qe,Pe,qe),Ut.return=Qe,Qe=Ut)}return ie(Qe);case F:e:{for(ii=qe.key;Pe!==null;){if(Pe.key===ii)if(Pe.tag===4&&Pe.stateNode.containerInfo===qe.containerInfo&&Pe.stateNode.implementation===qe.implementation){I(Qe,Pe.sibling),Pe=G(Pe,qe.children||[]),Pe.return=Qe,Qe=Pe;break e}else{I(Qe,Pe);break}else y(Qe,Pe);Pe=Pe.sibling}Pe=Vee(qe,Qe.mode,Ut),Pe.return=Qe,Qe=Pe}return ie(Qe);case O:return ii=qe._init,Xs(Qe,Pe,ii(qe._payload),Ut)}if(he(qe))return In(Qe,Pe,qe,Ut);if(H(qe))return En(Qe,Pe,qe,Ut);AG(Qe,qe)}return typeof qe=="string"&&qe!==""||typeof qe=="number"?(qe=""+qe,Pe!==null&&Pe.tag===6?(I(Qe,Pe.sibling),Pe=G(Pe,qe),Pe.return=Qe,Qe=Pe):(I(Qe,Pe),Pe=Ree(qe,Qe.mode,Ut),Pe.return=Qe,Qe=Pe),ie(Qe)):I(Qe,Pe)}return Xs}var fL=Ake(!0),Gke=Ake(!1),GG=T1(null),XG=null,gL=null,Yq=null;function Uq(){Yq=gL=XG=null}function Kq(p){var y=GG.current;Bo(GG),p._currentValue=y}function Jq(p,y,I){for(;p!==null;){var N=p.alternate;if((p.childLanes&y)!==y?(p.childLanes|=y,N!==null&&(N.childLanes|=y)):N!==null&&(N.childLanes&y)!==y&&(N.childLanes|=y),p===I)break;p=p.return}}function pL(p,y){XG=p,Yq=gL=null,p=p.dependencies,p!==null&&p.firstContext!==null&&(p.lanes&y&&(uc=!0),p.firstContext=null)}function Jd(p){var y=p._currentValue;if(Yq!==p)if(p={context:p,memoizedValue:y,next:null},gL===null){if(XG===null)throw Error(t(308));gL=p,XG.dependencies={lanes:0,firstContext:p}}else gL=gL.next=p;return y}var NC=null;function jq(p){NC===null?NC=[p]:NC.push(p)}function Xke(p,y,I,N){var G=y.interleaved;return G===null?(I.next=I,jq(y)):(I.next=G.next,G.next=I),y.interleaved=I,Qp(p,N)}function Qp(p,y){p.lanes|=y;var I=p.alternate;for(I!==null&&(I.lanes|=y),I=p,p=p.return;p!==null;)p.childLanes|=y,I=p.alternate,I!==null&&(I.childLanes|=y),I=p,p=p.return;return I.tag===3?I.stateNode:null}var W1=!1;function Qq(p){p.updateQueue={baseState:p.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Pke(p,y){p=p.updateQueue,y.updateQueue===p&&(y.updateQueue={baseState:p.baseState,firstBaseUpdate:p.firstBaseUpdate,lastBaseUpdate:p.lastBaseUpdate,shared:p.shared,effects:p.effects})}function $p(p,y){return{eventTime:p,lane:y,tag:0,payload:null,callback:null,next:null}}function R1(p,y,I){var N=p.updateQueue;if(N===null)return null;if(N=N.shared,Sr&2){var G=N.pending;return G===null?y.next=y:(y.next=G.next,G.next=y),N.pending=y,Qp(p,I)}return G=N.interleaved,G===null?(y.next=y,jq(N)):(y.next=G.next,G.next=y),N.interleaved=y,Qp(p,I)}function PG(p,y,I){if(y=y.updateQueue,y!==null&&(y=y.shared,(I&4194240)!==0)){var N=y.lanes;N&=p.pendingLanes,I|=N,y.lanes=I,ds(p,I)}}function Oke(p,y){var I=p.updateQueue,N=p.alternate;if(N!==null&&(N=N.updateQueue,I===N)){var G=null,U=null;if(I=I.firstBaseUpdate,I!==null){do{var ie={eventTime:I.eventTime,lane:I.lane,tag:I.tag,payload:I.payload,callback:I.callback,next:null};U===null?G=U=ie:U=U.next=ie,I=I.next}while(I!==null);U===null?G=U=y:U=U.next=y}else G=U=y;I={baseState:N.baseState,firstBaseUpdate:G,lastBaseUpdate:U,shared:N.shared,effects:N.effects},p.updateQueue=I;return}p=I.lastBaseUpdate,p===null?I.firstBaseUpdate=y:p.next=y,I.lastBaseUpdate=y}function OG(p,y,I,N){var G=p.updateQueue;W1=!1;var U=G.firstBaseUpdate,ie=G.lastBaseUpdate,Fe=G.shared.pending;if(Fe!==null){G.shared.pending=null;var Ve=Fe,st=Ve.next;Ve.next=null,ie===null?U=st:ie.next=st,ie=Ve;var At=p.alternate;At!==null&&(At=At.updateQueue,Fe=At.lastBaseUpdate,Fe!==ie&&(Fe===null?At.firstBaseUpdate=st:Fe.next=st,At.lastBaseUpdate=Ve))}if(U!==null){var Pt=G.baseState;ie=0,At=st=Ve=null,Fe=U;do{var Vt=Fe.lane,pn=Fe.eventTime;if((N&Vt)===Vt){At!==null&&(At=At.next={eventTime:pn,lane:0,tag:Fe.tag,payload:Fe.payload,callback:Fe.callback,next:null});e:{var In=p,En=Fe;switch(Vt=y,pn=I,En.tag){case 1:if(In=En.payload,typeof In=="function"){Pt=In.call(pn,Pt,Vt);break e}Pt=In;break e;case 3:In.flags=In.flags&-65537|128;case 0:if(In=En.payload,Vt=typeof In=="function"?In.call(pn,Pt,Vt):In,Vt==null)break e;Pt=k({},Pt,Vt);break e;case 2:W1=!0}}Fe.callback!==null&&Fe.lane!==0&&(p.flags|=64,Vt=G.effects,Vt===null?G.effects=[Fe]:Vt.push(Fe))}else pn={eventTime:pn,lane:Vt,tag:Fe.tag,payload:Fe.payload,callback:Fe.callback,next:null},At===null?(st=At=pn,Ve=Pt):At=At.next=pn,ie|=Vt;if(Fe=Fe.next,Fe===null){if(Fe=G.shared.pending,Fe===null)break;Vt=Fe,Fe=Vt.next,Vt.next=null,G.lastBaseUpdate=Vt,G.shared.pending=null}}while(!0);if(At===null&&(Ve=Pt),G.baseState=Ve,G.firstBaseUpdate=st,G.lastBaseUpdate=At,y=G.shared.interleaved,y!==null){G=y;do ie|=G.lane,G=G.next;while(G!==y)}else U===null&&(G.shared.lanes=0);ZC|=ie,p.lanes=ie,p.memoizedState=Pt}}function Bke(p,y,I){if(p=y.effects,y.effects=null,p!==null)for(y=0;yI?I:4,p(!0);var N=nee.transition;nee.transition={};try{p(!1),y()}finally{fn=I,nee.transition=N}}function lNe(){return jd().memoizedState}function z6t(p,y,I){var N=X1(p);if(I={lane:N,action:I,hasEagerState:!1,eagerState:null,next:null},uNe(p))cNe(y,I);else if(I=Xke(p,y,I,N),I!==null){var G=Su();pm(I,p,N,G),dNe(I,y,N)}}function H6t(p,y,I){var N=X1(p),G={lane:N,action:I,hasEagerState:!1,eagerState:null,next:null};if(uNe(p))cNe(y,G);else{var U=p.alternate;if(p.lanes===0&&(U===null||U.lanes===0)&&(U=y.lastRenderedReducer,U!==null))try{var ie=y.lastRenderedState,Fe=U(ie,I);if(G.hasEagerState=!0,G.eagerState=Fe,dm(Fe,ie)){var Ve=y.interleaved;Ve===null?(G.next=G,jq(y)):(G.next=Ve.next,Ve.next=G),y.interleaved=G;return}}catch{}finally{}I=Xke(p,y,G,N),I!==null&&(G=Su(),pm(I,p,N,G),dNe(I,y,N))}}function uNe(p){var y=p.alternate;return p===ms||y!==null&&y===ms}function cNe(p,y){SN=HG=!0;var I=p.pending;I===null?y.next=y:(y.next=I.next,I.next=y),p.pending=y}function dNe(p,y,I){if(I&4194240){var N=y.lanes;N&=p.pendingLanes,I|=N,y.lanes=I,ds(p,I)}}var KG={readContext:Jd,useCallback:Ql,useContext:Ql,useEffect:Ql,useImperativeHandle:Ql,useInsertionEffect:Ql,useLayoutEffect:Ql,useMemo:Ql,useReducer:Ql,useRef:Ql,useState:Ql,useDebugValue:Ql,useDeferredValue:Ql,useTransition:Ql,useMutableSource:Ql,useSyncExternalStore:Ql,useId:Ql,unstable_isNewReconciler:!1},Y6t={readContext:Jd,useCallback:function(p,y){return Uf().memoizedState=[p,y===void 0?null:y],p},useContext:Jd,useEffect:eNe,useImperativeHandle:function(p,y,I){return I=I!=null?I.concat([p]):null,YG(4194308,4,iNe.bind(null,y,p),I)},useLayoutEffect:function(p,y){return YG(4194308,4,p,y)},useInsertionEffect:function(p,y){return YG(4,2,p,y)},useMemo:function(p,y){var I=Uf();return y=y===void 0?null:y,p=p(),I.memoizedState=[p,y],p},useReducer:function(p,y,I){var N=Uf();return y=I!==void 0?I(y):y,N.memoizedState=N.baseState=y,p={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:p,lastRenderedState:y},N.queue=p,p=p.dispatch=z6t.bind(null,ms,p),[N.memoizedState,p]},useRef:function(p){var y=Uf();return p={current:p},y.memoizedState=p},useState:$ke,useDebugValue:uee,useDeferredValue:function(p){return Uf().memoizedState=p},useTransition:function(){var p=$ke(!1),y=p[0];return p=B6t.bind(null,p[1]),Uf().memoizedState=p,[y,p]},useMutableSource:function(){},useSyncExternalStore:function(p,y,I){var N=ms,G=Uf();if(ts){if(I===void 0)throw Error(t(407));I=I()}else{if(I=y(),Va===null)throw Error(t(349));EC&30||Uke(N,y,I)}G.memoizedState=I;var U={value:I,getSnapshot:y};return G.queue=U,eNe(Jke.bind(null,N,U,p),[p]),N.flags|=2048,_N(9,Kke.bind(null,N,U,I,y),void 0,null),I},useId:function(){var p=Uf(),y=Va.identifierPrefix;if(ts){var I=jp,N=Jp;I=(N&~(1<<32-es(N)-1)).toString(32)+I,y=":"+y+"R"+I,I=xN++,0"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),l=Object.prototype.hasOwnProperty,u=/^[: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]*$/,c={},d={};function h(p){return l.call(d,p)?!0:l.call(c,p)?!1:u.test(p)?d[p]=!0:(c[p]=!0,!1)}function m(p,v,F,k){if(F!==null&&F.type===0)return!1;switch(typeof v){case"function":case"symbol":return!0;case"boolean":return k?!1:F!==null?!F.acceptsBooleans:(p=p.toLowerCase().slice(0,5),p!=="data-"&&p!=="aria-");default:return!1}}function f(p,v,F,k){if(v===null||typeof v>"u"||m(p,v,F,k))return!0;if(k)return!1;if(F!==null)switch(F.type){case 3:return!v;case 4:return v===!1;case 5:return isNaN(v);case 6:return isNaN(v)||1>v}return!1}function g(p,v,F,k,G,U,ie){this.acceptsBooleans=v===2||v===3||v===4,this.attributeName=k,this.attributeNamespace=G,this.mustUseProperty=F,this.propertyName=p,this.type=v,this.sanitizeURL=U,this.removeEmptyString=ie}var b={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(p){b[p]=new g(p,0,!1,p,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(p){var v=p[0];b[v]=new g(v,1,!1,p[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(p){b[p]=new g(p,2,!1,p.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(p){b[p]=new g(p,2,!1,p,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(p){b[p]=new g(p,3,!1,p.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(p){b[p]=new g(p,3,!0,p,null,!1,!1)}),["capture","download"].forEach(function(p){b[p]=new g(p,4,!1,p,null,!1,!1)}),["cols","rows","size","span"].forEach(function(p){b[p]=new g(p,6,!1,p,null,!1,!1)}),["rowSpan","start"].forEach(function(p){b[p]=new g(p,5,!1,p.toLowerCase(),null,!1,!1)});var y=/[\-:]([a-z])/g;function C(p){return p[1].toUpperCase()}"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(p){var v=p.replace(y,C);b[v]=new g(v,1,!1,p,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(p){var v=p.replace(y,C);b[v]=new g(v,1,!1,p,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(p){var v=p.replace(y,C);b[v]=new g(v,1,!1,p,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(p){b[p]=new g(p,1,!1,p.toLowerCase(),null,!1,!1)}),b.xlinkHref=new g("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(p){b[p]=new g(p,1,!1,p.toLowerCase(),null,!0,!0)});function w(p,v,F,k){var G=b.hasOwnProperty(v)?b[v]:null;(G!==null?G.type!==0:k||!(2Ie||G[ie]!==U[Ie]){var Ae=` +`+G[ie].replace(" at new "," at ");return p.displayName&&Ae.includes("")&&(Ae=Ae.replace("",p.displayName)),Ae}while(1<=ie&&0<=Ie);break}}}finally{A=!1,Error.prepareStackTrace=F}return(p=p?p.displayName||p.name:"")?Y(p):""}function oe(p){switch(p.tag){case 5:return Y(p.type);case 16:return Y("Lazy");case 13:return Y("Suspense");case 19:return Y("SuspenseList");case 0:case 2:case 15:return p=te(p.type,!1),p;case 11:return p=te(p.type.render,!1),p;case 1:return p=te(p.type,!0),p;default:return""}}function ae(p){if(p==null)return null;if(typeof p=="function")return p.displayName||p.name||null;if(typeof p=="string")return p;switch(p){case D:return"Fragment";case I:return"Portal";case T:return"Profiler";case N:return"StrictMode";case Z:return"Suspense";case V:return"SuspenseList"}if(typeof p=="object")switch(p.$$typeof){case E:return(p.displayName||"Context")+".Consumer";case R:return(p._context.displayName||"Context")+".Provider";case W:var v=p.render;return p=p.displayName,p||(p=v.displayName||v.name||"",p=p!==""?"ForwardRef("+p+")":"ForwardRef"),p;case z:return v=p.displayName||null,v!==null?v:ae(p.type)||"Memo";case O:v=p._payload,p=p._init;try{return ae(p(v))}catch{}}return null}function le(p){var v=p.type;switch(p.tag){case 24:return"Cache";case 9:return(v.displayName||"Context")+".Consumer";case 10:return(v._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return p=v.render,p=p.displayName||p.name||"",v.displayName||(p!==""?"ForwardRef("+p+")":"ForwardRef");case 7:return"Fragment";case 5:return v;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ae(v);case 8:return v===N?"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(typeof v=="function")return v.displayName||v.name||null;if(typeof v=="string")return v}return null}function ue(p){switch(typeof p){case"boolean":case"number":case"string":case"undefined":return p;case"object":return p;default:return""}}function Ce(p){var v=p.type;return(p=p.nodeName)&&p.toLowerCase()==="input"&&(v==="checkbox"||v==="radio")}function pe(p){var v=Ce(p)?"checked":"value",F=Object.getOwnPropertyDescriptor(p.constructor.prototype,v),k=""+p[v];if(!p.hasOwnProperty(v)&&typeof F<"u"&&typeof F.get=="function"&&typeof F.set=="function"){var G=F.get,U=F.set;return Object.defineProperty(p,v,{configurable:!0,get:function(){return G.call(this)},set:function(ie){k=""+ie,U.call(this,ie)}}),Object.defineProperty(p,v,{enumerable:F.enumerable}),{getValue:function(){return k},setValue:function(ie){k=""+ie},stopTracking:function(){p._valueTracker=null,delete p[v]}}}}function ce(p){p._valueTracker||(p._valueTracker=pe(p))}function De(p){if(!p)return!1;var v=p._valueTracker;if(!v)return!0;var F=v.getValue(),k="";return p&&(k=Ce(p)?p.checked?"true":"false":p.value),p=k,p!==F?(v.setValue(p),!0):!1}function Me(p){if(p=p||(typeof document<"u"?document:void 0),typeof p>"u")return null;try{return p.activeElement||p.body}catch{return p.body}}function ke(p,v){var F=v.checked;return M({},v,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:F??p._wrapperState.initialChecked})}function Ue(p,v){var F=v.defaultValue==null?"":v.defaultValue,k=v.checked!=null?v.checked:v.defaultChecked;F=ue(v.value!=null?v.value:F),p._wrapperState={initialChecked:k,initialValue:F,controlled:v.type==="checkbox"||v.type==="radio"?v.checked!=null:v.value!=null}}function He(p,v){v=v.checked,v!=null&&w(p,"checked",v,!1)}function ct(p,v){He(p,v);var F=ue(v.value),k=v.type;if(F!=null)k==="number"?(F===0&&p.value===""||p.value!=F)&&(p.value=""+F):p.value!==""+F&&(p.value=""+F);else if(k==="submit"||k==="reset"){p.removeAttribute("value");return}v.hasOwnProperty("value")?it(p,v.type,F):v.hasOwnProperty("defaultValue")&&it(p,v.type,ue(v.defaultValue)),v.checked==null&&v.defaultChecked!=null&&(p.defaultChecked=!!v.defaultChecked)}function yt(p,v,F){if(v.hasOwnProperty("value")||v.hasOwnProperty("defaultValue")){var k=v.type;if(!(k!=="submit"&&k!=="reset"||v.value!==void 0&&v.value!==null))return;v=""+p._wrapperState.initialValue,F||v===p.value||(p.value=v),p.defaultValue=v}F=p.name,F!==""&&(p.name=""),p.defaultChecked=!!p._wrapperState.initialChecked,F!==""&&(p.name=F)}function it(p,v,F){(v!=="number"||Me(p.ownerDocument)!==p)&&(F==null?p.defaultValue=""+p._wrapperState.initialValue:p.defaultValue!==""+F&&(p.defaultValue=""+F))}var he=Array.isArray;function de(p,v,F,k){if(p=p.options,v){v={};for(var G=0;G"+v.valueOf().toString()+"",v=_e.firstChild;p.firstChild;)p.removeChild(p.firstChild);for(;v.firstChild;)p.appendChild(v.firstChild)}});function Be(p,v){if(v){var F=p.firstChild;if(F&&F===p.lastChild&&F.nodeType===3){F.nodeValue=v;return}}p.textContent=v}var $e={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},We=["Webkit","ms","Moz","O"];Object.keys($e).forEach(function(p){We.forEach(function(v){v=v+p.charAt(0).toUpperCase()+p.substring(1),$e[v]=$e[p]})});function ht(p,v,F){return v==null||typeof v=="boolean"||v===""?"":F||typeof v!="number"||v===0||$e.hasOwnProperty(p)&&$e[p]?(""+v).trim():v+"px"}function Ye(p,v){p=p.style;for(var F in v)if(v.hasOwnProperty(F)){var k=F.indexOf("--")===0,G=ht(F,v[F],k);F==="float"&&(F="cssFloat"),k?p.setProperty(F,G):p[F]=G}}var Ge=M({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 mt(p,v){if(v){if(Ge[p]&&(v.children!=null||v.dangerouslySetInnerHTML!=null))throw Error(t(137,p));if(v.dangerouslySetInnerHTML!=null){if(v.children!=null)throw Error(t(60));if(typeof v.dangerouslySetInnerHTML!="object"||!("__html"in v.dangerouslySetInnerHTML))throw Error(t(61))}if(v.style!=null&&typeof v.style!="object")throw Error(t(62))}}function wt(p,v){if(p.indexOf("-")===-1)return typeof v.is=="string";switch(p){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 Kt=null;function Wt(p){return p=p.target||p.srcElement||window,p.correspondingUseElement&&(p=p.correspondingUseElement),p.nodeType===3?p.parentNode:p}var Yt=null,Tn=null,li=null;function Et(p){if(p=bk(p)){if(typeof Yt!="function")throw Error(t(280));var v=p.stateNode;v&&(v=kG(v),Yt(p.stateNode,p.type,v))}}function Mt(p){Tn?li?li.push(p):li=[p]:Tn=p}function fe(){if(Tn){var p=Tn,v=li;if(li=Tn=null,Et(p),v)for(p=0;p>>=0,p===0?32:31-(Za(p)/pl|0)|0}var ci=64,on=4194304;function bn(p){switch(p&-p){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 p&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return p&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return p}}function Di(p,v){var F=p.pendingLanes;if(F===0)return 0;var k=0,G=p.suspendedLanes,U=p.pingedLanes,ie=F&268435455;if(ie!==0){var Ie=ie&~G;Ie!==0?k=bn(Ie):(U&=ie,U!==0&&(k=bn(U)))}else ie=F&~G,ie!==0?k=bn(ie):U!==0&&(k=bn(U));if(k===0)return 0;if(v!==0&&v!==k&&!(v&G)&&(G=k&-k,U=v&-v,G>=U||G===16&&(U&4194240)!==0))return v;if(k&4&&(k|=F&16),v=p.entangledLanes,v!==0)for(p=p.entanglements,v&=k;0F;F++)v.push(p);return v}function Gi(p,v,F){p.pendingLanes|=v,v!==536870912&&(p.suspendedLanes=0,p.pingedLanes=0),p=p.eventTimes,v=31-es(v),p[v]=F}function Co(p,v){var F=p.pendingLanes&~v;p.pendingLanes=v,p.suspendedLanes=0,p.pingedLanes=0,p.expiredLanes&=v,p.mutableReadLanes&=v,p.entangledLanes&=v,v=p.entanglements;var k=p.eventTimes;for(p=p.expirationTimes;0=lk),qNe=" ",eMe=!1;function tMe(p,v){switch(p){case"keyup":return p6t.indexOf(v.keyCode)!==-1;case"keydown":return v.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function nMe(p){return p=p.detail,typeof p=="object"&&"data"in p?p.data:null}var i_=!1;function y6t(p,v){switch(p){case"compositionend":return nMe(v);case"keypress":return v.which!==32?null:(eMe=!0,qNe);case"textInput":return p=v.data,p===qNe&&eMe?null:p;default:return null}}function v6t(p,v){if(i_)return p==="compositionend"||!wq&&tMe(p,v)?(p=UNe(),CG=pq=N1=null,i_=!1,p):null;switch(p){case"paste":return null;case"keypress":if(!(v.ctrlKey||v.altKey||v.metaKey)||v.ctrlKey&&v.altKey){if(v.char&&1=v)return{node:F,offset:v-p};p=k}e:{for(;F;){if(F.nextSibling){F=F.nextSibling;break e}F=F.parentNode}F=void 0}F=uMe(F)}}function dMe(p,v){return p&&v?p===v?!0:p&&p.nodeType===3?!1:v&&v.nodeType===3?dMe(p,v.parentNode):"contains"in p?p.contains(v):p.compareDocumentPosition?!!(p.compareDocumentPosition(v)&16):!1:!1}function hMe(){for(var p=window,v=Me();v instanceof p.HTMLIFrameElement;){try{var F=typeof v.contentWindow.location.href=="string"}catch{F=!1}if(F)p=v.contentWindow;else break;v=Me(p.document)}return v}function Lq(p){var v=p&&p.nodeName&&p.nodeName.toLowerCase();return v&&(v==="input"&&(p.type==="text"||p.type==="search"||p.type==="tel"||p.type==="url"||p.type==="password")||v==="textarea"||p.contentEditable==="true")}function D6t(p){var v=hMe(),F=p.focusedElem,k=p.selectionRange;if(v!==F&&F&&F.ownerDocument&&dMe(F.ownerDocument.documentElement,F)){if(k!==null&&Lq(F)){if(v=k.start,p=k.end,p===void 0&&(p=v),"selectionStart"in F)F.selectionStart=v,F.selectionEnd=Math.min(p,F.value.length);else if(p=(v=F.ownerDocument||document)&&v.defaultView||window,p.getSelection){p=p.getSelection();var G=F.textContent.length,U=Math.min(k.start,G);k=k.end===void 0?U:Math.min(k.end,G),!p.extend&&U>k&&(G=k,k=U,U=G),G=cMe(F,U);var ie=cMe(F,k);G&&ie&&(p.rangeCount!==1||p.anchorNode!==G.node||p.anchorOffset!==G.offset||p.focusNode!==ie.node||p.focusOffset!==ie.offset)&&(v=v.createRange(),v.setStart(G.node,G.offset),p.removeAllRanges(),U>k?(p.addRange(v),p.extend(ie.node,ie.offset)):(v.setEnd(ie.node,ie.offset),p.addRange(v)))}}for(v=[],p=F;p=p.parentNode;)p.nodeType===1&&v.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof F.focus=="function"&&F.focus(),F=0;F=document.documentMode,r_=null,Iq=null,hk=null,Fq=!1;function mMe(p,v,F){var k=F.window===F?F.document:F.nodeType===9?F:F.ownerDocument;Fq||r_==null||r_!==Me(k)||(k=r_,"selectionStart"in k&&Lq(k)?k={start:k.selectionStart,end:k.selectionEnd}:(k=(k.ownerDocument&&k.ownerDocument.defaultView||window).getSelection(),k={anchorNode:k.anchorNode,anchorOffset:k.anchorOffset,focusNode:k.focusNode,focusOffset:k.focusOffset}),hk&&dk(hk,k)||(hk=k,k=DG(Iq,"onSelect"),0u_||(p.current=Gq[u_],Gq[u_]=null,u_--)}function To(p,v){u_++,Gq[u_]=p.current,p.current=v}var E1={},jl=T1(E1),ac=T1(!1),DC=E1;function c_(p,v){var F=p.type.contextTypes;if(!F)return E1;var k=p.stateNode;if(k&&k.__reactInternalMemoizedUnmaskedChildContext===v)return k.__reactInternalMemoizedMaskedChildContext;var G={},U;for(U in F)G[U]=v[U];return k&&(p=p.stateNode,p.__reactInternalMemoizedUnmaskedChildContext=v,p.__reactInternalMemoizedMaskedChildContext=G),G}function lc(p){return p=p.childContextTypes,p!=null}function TG(){Bo(ac),Bo(jl)}function DMe(p,v,F){if(jl.current!==E1)throw Error(t(168));To(jl,v),To(ac,F)}function NMe(p,v,F){var k=p.stateNode;if(v=v.childContextTypes,typeof k.getChildContext!="function")return F;k=k.getChildContext();for(var G in k)if(!(G in v))throw Error(t(108,le(p)||"Unknown",G));return M({},F,k)}function EG(p){return p=(p=p.stateNode)&&p.__reactInternalMemoizedMergedChildContext||E1,DC=jl.current,To(jl,p),To(ac,ac.current),!0}function MMe(p,v,F){var k=p.stateNode;if(!k)throw Error(t(169));F?(p=NMe(p,v,DC),k.__reactInternalMemoizedMergedChildContext=p,Bo(ac),Bo(jl),To(jl,p)):Bo(ac),To(ac,F)}var Kp=null,RG=!1,Xq=!1;function kMe(p){Kp===null?Kp=[p]:Kp.push(p)}function X6t(p){RG=!0,kMe(p)}function R1(){if(!Xq&&Kp!==null){Xq=!0;var p=0,v=fn;try{var F=Kp;for(fn=1;p>=ie,G-=ie,Jp=1<<32-es(v)+G|F<pi?(Va=ri,ri=null):Va=ri.sibling;var Lr=At(Qe,ri,qe[pi],Ut);if(Lr===null){ri===null&&(ri=Va);break}p&&ri&&Lr.alternate===null&&v(Qe,ri),Pe=U(Lr,Pe,pi),ii===null?Gn=Lr:ii.sibling=Lr,ii=Lr,ri=Va}if(pi===qe.length)return F(Qe,ri),ts&&MC(Qe,pi),Gn;if(ri===null){for(;pipi?(Va=ri,ri=null):Va=ri.sibling;var B1=At(Qe,ri,Lr.value,Ut);if(B1===null){ri===null&&(ri=Va);break}p&&ri&&B1.alternate===null&&v(Qe,ri),Pe=U(B1,Pe,pi),ii===null?Gn=B1:ii.sibling=B1,ii=B1,ri=Va}if(Lr.done)return F(Qe,ri),ts&&MC(Qe,pi),Gn;if(ri===null){for(;!Lr.done;pi++,Lr=qe.next())Lr=Pt(Qe,Lr.value,Ut),Lr!==null&&(Pe=U(Lr,Pe,pi),ii===null?Gn=Lr:ii.sibling=Lr,ii=Lr);return ts&&MC(Qe,pi),Gn}for(ri=k(Qe,ri);!Lr.done;pi++,Lr=qe.next())Lr=pn(ri,Qe,pi,Lr.value,Ut),Lr!==null&&(p&&Lr.alternate!==null&&ri.delete(Lr.key===null?pi:Lr.key),Pe=U(Lr,Pe,pi),ii===null?Gn=Lr:ii.sibling=Lr,ii=Lr);return p&&ri.forEach(function(C7t){return v(Qe,C7t)}),ts&&MC(Qe,pi),Gn}function Xs(Qe,Pe,qe,Ut){if(typeof qe=="object"&&qe!==null&&qe.type===D&&qe.key===null&&(qe=qe.props.children),typeof qe=="object"&&qe!==null){switch(qe.$$typeof){case L:e:{for(var Gn=qe.key,ii=Pe;ii!==null;){if(ii.key===Gn){if(Gn=qe.type,Gn===D){if(ii.tag===7){F(Qe,ii.sibling),Pe=G(ii,qe.props.children),Pe.return=Qe,Qe=Pe;break e}}else if(ii.elementType===Gn||typeof Gn=="object"&&Gn!==null&&Gn.$$typeof===O&&AMe(Gn)===ii.type){F(Qe,ii.sibling),Pe=G(ii,qe.props),Pe.ref=yk(Qe,ii,qe),Pe.return=Qe,Qe=Pe;break e}F(Qe,ii);break}else v(Qe,ii);ii=ii.sibling}qe.type===D?(Pe=VC(qe.props.children,Qe.mode,Ut,qe.key),Pe.return=Qe,Qe=Pe):(Ut=lX(qe.type,qe.key,qe.props,null,Qe.mode,Ut),Ut.ref=yk(Qe,Pe,qe),Ut.return=Qe,Qe=Ut)}return ie(Qe);case I:e:{for(ii=qe.key;Pe!==null;){if(Pe.key===ii)if(Pe.tag===4&&Pe.stateNode.containerInfo===qe.containerInfo&&Pe.stateNode.implementation===qe.implementation){F(Qe,Pe.sibling),Pe=G(Pe,qe.children||[]),Pe.return=Qe,Qe=Pe;break e}else{F(Qe,Pe);break}else v(Qe,Pe);Pe=Pe.sibling}Pe=Aee(qe,Qe.mode,Ut),Pe.return=Qe,Qe=Pe}return ie(Qe);case O:return ii=qe._init,Xs(Qe,Pe,ii(qe._payload),Ut)}if(he(qe))return Fn(Qe,Pe,qe,Ut);if(H(qe))return En(Qe,Pe,qe,Ut);VG(Qe,qe)}return typeof qe=="string"&&qe!==""||typeof qe=="number"?(qe=""+qe,Pe!==null&&Pe.tag===6?(F(Qe,Pe.sibling),Pe=G(Pe,qe),Pe.return=Qe,Qe=Pe):(F(Qe,Pe),Pe=Wee(qe,Qe.mode,Ut),Pe.return=Qe,Qe=Pe),ie(Qe)):F(Qe,Pe)}return Xs}var f_=VMe(!0),GMe=VMe(!1),GG=T1(null),XG=null,g_=null,Yq=null;function Uq(){Yq=g_=XG=null}function Kq(p){var v=GG.current;Bo(GG),p._currentValue=v}function Jq(p,v,F){for(;p!==null;){var k=p.alternate;if((p.childLanes&v)!==v?(p.childLanes|=v,k!==null&&(k.childLanes|=v)):k!==null&&(k.childLanes&v)!==v&&(k.childLanes|=v),p===F)break;p=p.return}}function p_(p,v){XG=p,Yq=g_=null,p=p.dependencies,p!==null&&p.firstContext!==null&&(p.lanes&v&&(uc=!0),p.firstContext=null)}function Kd(p){var v=p._currentValue;if(Yq!==p)if(p={context:p,memoizedValue:v,next:null},g_===null){if(XG===null)throw Error(t(308));g_=p,XG.dependencies={lanes:0,firstContext:p}}else g_=g_.next=p;return v}var kC=null;function jq(p){kC===null?kC=[p]:kC.push(p)}function XMe(p,v,F,k){var G=v.interleaved;return G===null?(F.next=F,jq(v)):(F.next=G.next,G.next=F),v.interleaved=F,Qp(p,k)}function Qp(p,v){p.lanes|=v;var F=p.alternate;for(F!==null&&(F.lanes|=v),F=p,p=p.return;p!==null;)p.childLanes|=v,F=p.alternate,F!==null&&(F.childLanes|=v),F=p,p=p.return;return F.tag===3?F.stateNode:null}var Z1=!1;function Qq(p){p.updateQueue={baseState:p.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function PMe(p,v){p=p.updateQueue,v.updateQueue===p&&(v.updateQueue={baseState:p.baseState,firstBaseUpdate:p.firstBaseUpdate,lastBaseUpdate:p.lastBaseUpdate,shared:p.shared,effects:p.effects})}function $p(p,v){return{eventTime:p,lane:v,tag:0,payload:null,callback:null,next:null}}function W1(p,v,F){var k=p.updateQueue;if(k===null)return null;if(k=k.shared,Sr&2){var G=k.pending;return G===null?v.next=v:(v.next=G.next,G.next=v),k.pending=v,Qp(p,F)}return G=k.interleaved,G===null?(v.next=v,jq(k)):(v.next=G.next,G.next=v),k.interleaved=v,Qp(p,F)}function PG(p,v,F){if(v=v.updateQueue,v!==null&&(v=v.shared,(F&4194240)!==0)){var k=v.lanes;k&=p.pendingLanes,F|=k,v.lanes=F,ds(p,F)}}function OMe(p,v){var F=p.updateQueue,k=p.alternate;if(k!==null&&(k=k.updateQueue,F===k)){var G=null,U=null;if(F=F.firstBaseUpdate,F!==null){do{var ie={eventTime:F.eventTime,lane:F.lane,tag:F.tag,payload:F.payload,callback:F.callback,next:null};U===null?G=U=ie:U=U.next=ie,F=F.next}while(F!==null);U===null?G=U=v:U=U.next=v}else G=U=v;F={baseState:k.baseState,firstBaseUpdate:G,lastBaseUpdate:U,shared:k.shared,effects:k.effects},p.updateQueue=F;return}p=F.lastBaseUpdate,p===null?F.firstBaseUpdate=v:p.next=v,F.lastBaseUpdate=v}function OG(p,v,F,k){var G=p.updateQueue;Z1=!1;var U=G.firstBaseUpdate,ie=G.lastBaseUpdate,Ie=G.shared.pending;if(Ie!==null){G.shared.pending=null;var Ae=Ie,st=Ae.next;Ae.next=null,ie===null?U=st:ie.next=st,ie=Ae;var Vt=p.alternate;Vt!==null&&(Vt=Vt.updateQueue,Ie=Vt.lastBaseUpdate,Ie!==ie&&(Ie===null?Vt.firstBaseUpdate=st:Ie.next=st,Vt.lastBaseUpdate=Ae))}if(U!==null){var Pt=G.baseState;ie=0,Vt=st=Ae=null,Ie=U;do{var At=Ie.lane,pn=Ie.eventTime;if((k&At)===At){Vt!==null&&(Vt=Vt.next={eventTime:pn,lane:0,tag:Ie.tag,payload:Ie.payload,callback:Ie.callback,next:null});e:{var Fn=p,En=Ie;switch(At=v,pn=F,En.tag){case 1:if(Fn=En.payload,typeof Fn=="function"){Pt=Fn.call(pn,Pt,At);break e}Pt=Fn;break e;case 3:Fn.flags=Fn.flags&-65537|128;case 0:if(Fn=En.payload,At=typeof Fn=="function"?Fn.call(pn,Pt,At):Fn,At==null)break e;Pt=M({},Pt,At);break e;case 2:Z1=!0}}Ie.callback!==null&&Ie.lane!==0&&(p.flags|=64,At=G.effects,At===null?G.effects=[Ie]:At.push(Ie))}else pn={eventTime:pn,lane:At,tag:Ie.tag,payload:Ie.payload,callback:Ie.callback,next:null},Vt===null?(st=Vt=pn,Ae=Pt):Vt=Vt.next=pn,ie|=At;if(Ie=Ie.next,Ie===null){if(Ie=G.shared.pending,Ie===null)break;At=Ie,Ie=At.next,At.next=null,G.lastBaseUpdate=At,G.shared.pending=null}}while(!0);if(Vt===null&&(Ae=Pt),G.baseState=Ae,G.firstBaseUpdate=st,G.lastBaseUpdate=Vt,v=G.shared.interleaved,v!==null){G=v;do ie|=G.lane,G=G.next;while(G!==v)}else U===null&&(G.shared.lanes=0);RC|=ie,p.lanes=ie,p.memoizedState=Pt}}function BMe(p,v,F){if(p=v.effects,v.effects=null,p!==null)for(v=0;vF?F:4,p(!0);var k=nee.transition;nee.transition={};try{p(!1),v()}finally{fn=F,nee.transition=k}}function lke(){return Jd().memoizedState}function z6t(p,v,F){var k=X1(p);if(F={lane:k,action:F,hasEagerState:!1,eagerState:null,next:null},uke(p))cke(v,F);else if(F=XMe(p,v,F,k),F!==null){var G=wu();pm(F,p,k,G),dke(F,v,k)}}function H6t(p,v,F){var k=X1(p),G={lane:k,action:F,hasEagerState:!1,eagerState:null,next:null};if(uke(p))cke(v,G);else{var U=p.alternate;if(p.lanes===0&&(U===null||U.lanes===0)&&(U=v.lastRenderedReducer,U!==null))try{var ie=v.lastRenderedState,Ie=U(ie,F);if(G.hasEagerState=!0,G.eagerState=Ie,dm(Ie,ie)){var Ae=v.interleaved;Ae===null?(G.next=G,jq(v)):(G.next=Ae.next,Ae.next=G),v.interleaved=G;return}}catch{}finally{}F=XMe(p,v,G,k),F!==null&&(G=wu(),pm(F,p,k,G),dke(F,v,k))}}function uke(p){var v=p.alternate;return p===ms||v!==null&&v===ms}function cke(p,v){wk=HG=!0;var F=p.pending;F===null?v.next=v:(v.next=F.next,F.next=v),p.pending=v}function dke(p,v,F){if(F&4194240){var k=v.lanes;k&=p.pendingLanes,F|=k,v.lanes=F,ds(p,F)}}var KG={readContext:Kd,useCallback:Ql,useContext:Ql,useEffect:Ql,useImperativeHandle:Ql,useInsertionEffect:Ql,useLayoutEffect:Ql,useMemo:Ql,useReducer:Ql,useRef:Ql,useState:Ql,useDebugValue:Ql,useDeferredValue:Ql,useTransition:Ql,useMutableSource:Ql,useSyncExternalStore:Ql,useId:Ql,unstable_isNewReconciler:!1},Y6t={readContext:Kd,useCallback:function(p,v){return Uf().memoizedState=[p,v===void 0?null:v],p},useContext:Kd,useEffect:eke,useImperativeHandle:function(p,v,F){return F=F!=null?F.concat([p]):null,YG(4194308,4,ike.bind(null,v,p),F)},useLayoutEffect:function(p,v){return YG(4194308,4,p,v)},useInsertionEffect:function(p,v){return YG(4,2,p,v)},useMemo:function(p,v){var F=Uf();return v=v===void 0?null:v,p=p(),F.memoizedState=[p,v],p},useReducer:function(p,v,F){var k=Uf();return v=F!==void 0?F(v):v,k.memoizedState=k.baseState=v,p={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:p,lastRenderedState:v},k.queue=p,p=p.dispatch=z6t.bind(null,ms,p),[k.memoizedState,p]},useRef:function(p){var v=Uf();return p={current:p},v.memoizedState=p},useState:$Me,useDebugValue:uee,useDeferredValue:function(p){return Uf().memoizedState=p},useTransition:function(){var p=$Me(!1),v=p[0];return p=B6t.bind(null,p[1]),Uf().memoizedState=p,[v,p]},useMutableSource:function(){},useSyncExternalStore:function(p,v,F){var k=ms,G=Uf();if(ts){if(F===void 0)throw Error(t(407));F=F()}else{if(F=v(),Aa===null)throw Error(t(349));EC&30||UMe(k,v,F)}G.memoizedState=F;var U={value:F,getSnapshot:v};return G.queue=U,eke(JMe.bind(null,k,U,p),[p]),k.flags|=2048,Lk(9,KMe.bind(null,k,U,F,v),void 0,null),F},useId:function(){var p=Uf(),v=Aa.identifierPrefix;if(ts){var F=jp,k=Jp;F=(k&~(1<<32-es(k)-1)).toString(32)+F,v=":"+v+"R"+F,F=xk++,0<\/script>",p=p.removeChild(p.firstChild)):typeof N.is=="string"?p=ie.createElement(I,{is:N.is}):(p=ie.createElement(I),I==="select"&&(ie=p,N.multiple?ie.multiple=!0:N.size&&(ie.size=N.size))):p=ie.createElementNS(p,I),p[Hf]=y,p[pN]=N,NNe(p,y,!1,!1),y.stateNode=p;e:{switch(ie=St(I,N),I){case"dialog":Oo("cancel",p),Oo("close",p),G=N;break;case"iframe":case"object":case"embed":Oo("load",p),G=N;break;case"video":case"audio":for(G=0;GwL&&(y.flags|=128,N=!0,FN(U,!1),y.lanes=4194304)}else{if(!N)if(p=BG(ie),p!==null){if(y.flags|=128,N=!0,I=p.updateQueue,I!==null&&(y.updateQueue=I,y.flags|=4),FN(U,!0),U.tail===null&&U.tailMode==="hidden"&&!ie.alternate&&!ts)return $l(y),null}else 2*_n()-U.renderingStartTime>wL&&I!==1073741824&&(y.flags|=128,N=!0,FN(U,!1),y.lanes=4194304);U.isBackwards?(ie.sibling=y.child,y.child=ie):(I=U.last,I!==null?I.sibling=ie:y.child=ie,U.last=ie)}return U.tail!==null?(y=U.tail,U.rendering=y,U.tail=y.sibling,U.renderingStartTime=_n(),y.sibling=null,I=hs.current,To(hs,N?I&1|2:I&1),y):($l(y),null);case 22:case 23:return Eee(),N=y.memoizedState!==null,p!==null&&p.memoizedState!==null!==N&&(y.flags|=8192),N&&y.mode&1?sd&1073741824&&($l(y),y.subtreeFlags&6&&(y.flags|=8192)):$l(y),null;case 24:return null;case 25:return null}throw Error(t(156,y.tag))}function e7t(p,y){switch(Oq(y),y.tag){case 1:return lc(y.type)&&TG(),p=y.flags,p&65536?(y.flags=p&-65537|128,y):null;case 3:return bL(),Bo(ac),Bo(jl),tee(),p=y.flags,p&65536&&!(p&128)?(y.flags=p&-65537|128,y):null;case 5:return qq(y),null;case 13:if(Bo(hs),p=y.memoizedState,p!==null&&p.dehydrated!==null){if(y.alternate===null)throw Error(t(340));mL()}return p=y.flags,p&65536?(y.flags=p&-65537|128,y):null;case 19:return Bo(hs),null;case 4:return bL(),null;case 10:return Kq(y.type._context),null;case 22:case 23:return Eee(),null;case 24:return null;default:return null}}var $G=!1,ql=!1,t7t=typeof WeakSet=="function"?WeakSet:Set,Ln=null;function yL(p,y){var I=p.ref;if(I!==null)if(typeof I=="function")try{I(null)}catch(N){Ss(p,y,N)}else I.current=null}function wee(p,y,I){try{I()}catch(N){Ss(p,y,N)}}var ZNe=!1;function n7t(p,y){if(Eq=vG,p=hke(),_q(p)){if("selectionStart"in p)var I={start:p.selectionStart,end:p.selectionEnd};else e:{I=(I=p.ownerDocument)&&I.defaultView||window;var N=I.getSelection&&I.getSelection();if(N&&N.rangeCount!==0){I=N.anchorNode;var G=N.anchorOffset,U=N.focusNode;N=N.focusOffset;try{I.nodeType,U.nodeType}catch{I=null;break e}var ie=0,Fe=-1,Ve=-1,st=0,At=0,Pt=p,Vt=null;t:for(;;){for(var pn;Pt!==I||G!==0&&Pt.nodeType!==3||(Fe=ie+G),Pt!==U||N!==0&&Pt.nodeType!==3||(Ve=ie+N),Pt.nodeType===3&&(ie+=Pt.nodeValue.length),(pn=Pt.firstChild)!==null;)Vt=Pt,Pt=pn;for(;;){if(Pt===p)break t;if(Vt===I&&++st===G&&(Fe=ie),Vt===U&&++At===N&&(Ve=ie),(pn=Pt.nextSibling)!==null)break;Pt=Vt,Vt=Pt.parentNode}Pt=pn}I=Fe===-1||Ve===-1?null:{start:Fe,end:Ve}}else I=null}I=I||{start:0,end:0}}else I=null;for(Zq={focusedElem:p,selectionRange:I},vG=!1,Ln=y;Ln!==null;)if(y=Ln,p=y.child,(y.subtreeFlags&1028)!==0&&p!==null)p.return=y,Ln=p;else for(;Ln!==null;){y=Ln;try{var In=y.alternate;if(y.flags&1024)switch(y.tag){case 0:case 11:case 15:break;case 1:if(In!==null){var En=In.memoizedProps,Xs=In.memoizedState,Qe=y.stateNode,Pe=Qe.getSnapshotBeforeUpdate(y.elementType===y.type?En:mm(y.type,En),Xs);Qe.__reactInternalSnapshotBeforeUpdate=Pe}break;case 3:var qe=y.stateNode.containerInfo;qe.nodeType===1?qe.textContent="":qe.nodeType===9&&qe.documentElement&&qe.removeChild(qe.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(t(163))}}catch(Ut){Ss(y,y.return,Ut)}if(p=y.sibling,p!==null){p.return=y.return,Ln=p;break}Ln=y.return}return In=ZNe,ZNe=!1,In}function IN(p,y,I){var N=y.updateQueue;if(N=N!==null?N.lastEffect:null,N!==null){var G=N=N.next;do{if((G.tag&p)===p){var U=G.destroy;G.destroy=void 0,U!==void 0&&wee(y,I,U)}G=G.next}while(G!==N)}}function qG(p,y){if(y=y.updateQueue,y=y!==null?y.lastEffect:null,y!==null){var I=y=y.next;do{if((I.tag&p)===p){var N=I.create;I.destroy=N()}I=I.next}while(I!==y)}}function See(p){var y=p.ref;if(y!==null){var I=p.stateNode;switch(p.tag){case 5:p=I;break;default:p=I}typeof y=="function"?y(p):y.current=p}}function WNe(p){var y=p.alternate;y!==null&&(p.alternate=null,WNe(y)),p.child=null,p.deletions=null,p.sibling=null,p.tag===5&&(y=p.stateNode,y!==null&&(delete y[Hf],delete y[pN],delete y[Aq],delete y[A6t],delete y[G6t])),p.stateNode=null,p.return=null,p.dependencies=null,p.memoizedProps=null,p.memoizedState=null,p.pendingProps=null,p.stateNode=null,p.updateQueue=null}function RNe(p){return p.tag===5||p.tag===3||p.tag===4}function VNe(p){e:for(;;){for(;p.sibling===null;){if(p.return===null||RNe(p.return))return null;p=p.return}for(p.sibling.return=p.return,p=p.sibling;p.tag!==5&&p.tag!==6&&p.tag!==18;){if(p.flags&2||p.child===null||p.tag===4)continue e;p.child.return=p,p=p.child}if(!(p.flags&2))return p.stateNode}}function xee(p,y,I){var N=p.tag;if(N===5||N===6)p=p.stateNode,y?I.nodeType===8?I.parentNode.insertBefore(p,y):I.insertBefore(p,y):(I.nodeType===8?(y=I.parentNode,y.insertBefore(p,I)):(y=I,y.appendChild(p)),I=I._reactRootContainer,I!=null||y.onclick!==null||(y.onclick=kG));else if(N!==4&&(p=p.child,p!==null))for(xee(p,y,I),p=p.sibling;p!==null;)xee(p,y,I),p=p.sibling}function Lee(p,y,I){var N=p.tag;if(N===5||N===6)p=p.stateNode,y?I.insertBefore(p,y):I.appendChild(p);else if(N!==4&&(p=p.child,p!==null))for(Lee(p,y,I),p=p.sibling;p!==null;)Lee(p,y,I),p=p.sibling}var bl=null,fm=!1;function V1(p,y,I){for(I=I.child;I!==null;)ANe(p,y,I),I=I.sibling}function ANe(p,y,I){if(Yr&&typeof Yr.onCommitFiberUnmount=="function")try{Yr.onCommitFiberUnmount(qo,I)}catch{}switch(I.tag){case 5:ql||yL(I,y);case 6:var N=bl,G=fm;bl=null,V1(p,y,I),bl=N,fm=G,bl!==null&&(fm?(p=bl,I=I.stateNode,p.nodeType===8?p.parentNode.removeChild(I):p.removeChild(I)):bl.removeChild(I.stateNode));break;case 18:bl!==null&&(fm?(p=bl,I=I.stateNode,p.nodeType===8?Vq(p.parentNode,I):p.nodeType===1&&Vq(p,I),oN(p)):Vq(bl,I.stateNode));break;case 4:N=bl,G=fm,bl=I.stateNode.containerInfo,fm=!0,V1(p,y,I),bl=N,fm=G;break;case 0:case 11:case 14:case 15:if(!ql&&(N=I.updateQueue,N!==null&&(N=N.lastEffect,N!==null))){G=N=N.next;do{var U=G,ie=U.destroy;U=U.tag,ie!==void 0&&(U&2||U&4)&&wee(I,y,ie),G=G.next}while(G!==N)}V1(p,y,I);break;case 1:if(!ql&&(yL(I,y),N=I.stateNode,typeof N.componentWillUnmount=="function"))try{N.props=I.memoizedProps,N.state=I.memoizedState,N.componentWillUnmount()}catch(Fe){Ss(I,y,Fe)}V1(p,y,I);break;case 21:V1(p,y,I);break;case 22:I.mode&1?(ql=(N=ql)||I.memoizedState!==null,V1(p,y,I),ql=N):V1(p,y,I);break;default:V1(p,y,I)}}function GNe(p){var y=p.updateQueue;if(y!==null){p.updateQueue=null;var I=p.stateNode;I===null&&(I=p.stateNode=new t7t),y.forEach(function(N){var G=d7t.bind(null,p,N);I.has(N)||(I.add(N),N.then(G,G))})}}function gm(p,y){var I=y.deletions;if(I!==null)for(var N=0;NG&&(G=ie),N&=~U}if(N=G,N=_n()-N,N=(120>N?120:480>N?480:1080>N?1080:1920>N?1920:3e3>N?3e3:4320>N?4320:1960*r7t(N/1960))-N,10p?16:p,G1===null)var N=!1;else{if(p=G1,G1=null,rX=0,Sr&6)throw Error(t(331));var G=Sr;for(Sr|=4,Ln=p.current;Ln!==null;){var U=Ln,ie=U.child;if(Ln.flags&16){var Fe=U.deletions;if(Fe!==null){for(var Ve=0;Ve_n()-Iee?RC(p,0):Fee|=I),dc(p,y)}function $Ne(p,y){y===0&&(p.mode&1?(y=on,on<<=1,!(on&130023424)&&(on=4194304)):y=1);var I=Su();p=Qp(p,y),p!==null&&(Gi(p,y,I),dc(p,I))}function c7t(p){var y=p.memoizedState,I=0;y!==null&&(I=y.retryLane),$Ne(p,I)}function d7t(p,y){var I=0;switch(p.tag){case 13:var N=p.stateNode,G=p.memoizedState;G!==null&&(I=G.retryLane);break;case 19:N=p.stateNode;break;default:throw Error(t(314))}N!==null&&N.delete(y),$Ne(p,I)}var qNe;qNe=function(p,y,I){if(p!==null)if(p.memoizedProps!==y.pendingProps||ac.current)uc=!0;else{if(!(p.lanes&I)&&!(y.flags&128))return uc=!1,$6t(p,y,I);uc=!!(p.flags&131072)}else uc=!1,ts&&y.flags&1048576&&Tke(y,RG,y.index);switch(y.lanes=0,y.tag){case 2:var N=y.type;QG(p,y),p=y.pendingProps;var G=cL(y,jl.current);pL(y,I),G=ree(null,y,N,p,G,I);var U=oee();return y.flags|=1,typeof G=="object"&&G!==null&&typeof G.render=="function"&&G.$$typeof===void 0?(y.tag=1,y.memoizedState=null,y.updateQueue=null,lc(N)?(U=!0,EG(y)):U=!1,y.memoizedState=G.state!==null&&G.state!==void 0?G.state:null,Qq(y),G.updater=JG,y.stateNode=G,G._reactInternals=y,dee(y,N,p,I),y=gee(null,y,N,!0,U,I)):(y.tag=0,ts&&U&&Pq(y),wu(null,y,G,I),y=y.child),y;case 16:N=y.elementType;e:{switch(QG(p,y),p=y.pendingProps,G=N._init,N=G(N._payload),y.type=N,G=y.tag=m7t(N),p=mm(N,p),G){case 0:y=fee(null,y,N,p,I);break e;case 1:y=_Ne(null,y,N,p,I);break e;case 11:y=CNe(null,y,N,p,I);break e;case 14:y=wNe(null,y,N,mm(N.type,p),I);break e}throw Error(t(306,N,""))}return y;case 0:return N=y.type,G=y.pendingProps,G=y.elementType===N?G:mm(N,G),fee(p,y,N,G,I);case 1:return N=y.type,G=y.pendingProps,G=y.elementType===N?G:mm(N,G),_Ne(p,y,N,G,I);case 3:e:{if(FNe(y),p===null)throw Error(t(387));N=y.pendingProps,U=y.memoizedState,G=U.element,Pke(p,y),OG(y,N,null,I);var ie=y.memoizedState;if(N=ie.element,U.isDehydrated)if(U={element:N,isDehydrated:!1,cache:ie.cache,pendingSuspenseBoundaries:ie.pendingSuspenseBoundaries,transitions:ie.transitions},y.updateQueue.baseState=U,y.memoizedState=U,y.flags&256){G=vL(Error(t(423)),y),y=INe(p,y,N,I,G);break e}else if(N!==G){G=vL(Error(t(424)),y),y=INe(p,y,N,I,G);break e}else for(od=N1(y.stateNode.containerInfo.firstChild),rd=y,ts=!0,hm=null,I=Gke(y,null,N,I),y.child=I;I;)I.flags=I.flags&-3|4096,I=I.sibling;else{if(mL(),N===G){y=qp(p,y,I);break e}wu(p,y,N,I)}y=y.child}return y;case 5:return zke(y),p===null&&zq(y),N=y.type,G=y.pendingProps,U=p!==null?p.memoizedProps:null,ie=G.children,Wq(N,G)?ie=null:U!==null&&Wq(N,U)&&(y.flags|=32),LNe(p,y),wu(p,y,ie,I),y.child;case 6:return p===null&&zq(y),null;case 13:return DNe(p,y,I);case 4:return $q(y,y.stateNode.containerInfo),N=y.pendingProps,p===null?y.child=fL(y,null,N,I):wu(p,y,N,I),y.child;case 11:return N=y.type,G=y.pendingProps,G=y.elementType===N?G:mm(N,G),CNe(p,y,N,G,I);case 7:return wu(p,y,y.pendingProps,I),y.child;case 8:return wu(p,y,y.pendingProps.children,I),y.child;case 12:return wu(p,y,y.pendingProps.children,I),y.child;case 10:e:{if(N=y.type._context,G=y.pendingProps,U=y.memoizedProps,ie=G.value,To(GG,N._currentValue),N._currentValue=ie,U!==null)if(dm(U.value,ie)){if(U.children===G.children&&!ac.current){y=qp(p,y,I);break e}}else for(U=y.child,U!==null&&(U.return=y);U!==null;){var Fe=U.dependencies;if(Fe!==null){ie=U.child;for(var Ve=Fe.firstContext;Ve!==null;){if(Ve.context===N){if(U.tag===1){Ve=$p(-1,I&-I),Ve.tag=2;var st=U.updateQueue;if(st!==null){st=st.shared;var At=st.pending;At===null?Ve.next=Ve:(Ve.next=At.next,At.next=Ve),st.pending=Ve}}U.lanes|=I,Ve=U.alternate,Ve!==null&&(Ve.lanes|=I),Jq(U.return,I,y),Fe.lanes|=I;break}Ve=Ve.next}}else if(U.tag===10)ie=U.type===y.type?null:U.child;else if(U.tag===18){if(ie=U.return,ie===null)throw Error(t(341));ie.lanes|=I,Fe=ie.alternate,Fe!==null&&(Fe.lanes|=I),Jq(ie,I,y),ie=U.sibling}else ie=U.child;if(ie!==null)ie.return=U;else for(ie=U;ie!==null;){if(ie===y){ie=null;break}if(U=ie.sibling,U!==null){U.return=ie.return,ie=U;break}ie=ie.return}U=ie}wu(p,y,G.children,I),y=y.child}return y;case 9:return G=y.type,N=y.pendingProps.children,pL(y,I),G=Jd(G),N=N(G),y.flags|=1,wu(p,y,N,I),y.child;case 14:return N=y.type,G=mm(N,y.pendingProps),G=mm(N.type,G),wNe(p,y,N,G,I);case 15:return SNe(p,y,y.type,y.pendingProps,I);case 17:return N=y.type,G=y.pendingProps,G=y.elementType===N?G:mm(N,G),QG(p,y),y.tag=1,lc(N)?(p=!0,EG(y)):p=!1,pL(y,I),mNe(y,N,G),dee(y,N,G,I),gee(null,y,N,!0,p,I);case 19:return kNe(p,y,I);case 22:return xNe(p,y,I)}throw Error(t(156,y.tag))};function eTe(p,y){return jn(p,y)}function h7t(p,y,I,N){this.tag=p,this.key=I,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=y,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=N,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function $d(p,y,I,N){return new h7t(p,y,I,N)}function Wee(p){return p=p.prototype,!(!p||!p.isReactComponent)}function m7t(p){if(typeof p=="function")return Wee(p)?1:0;if(p!=null){if(p=p.$$typeof,p===R)return 11;if(p===z)return 14}return 2}function O1(p,y){var I=p.alternate;return I===null?(I=$d(p.tag,y,p.key,p.mode),I.elementType=p.elementType,I.type=p.type,I.stateNode=p.stateNode,I.alternate=p,p.alternate=I):(I.pendingProps=y,I.type=p.type,I.flags=0,I.subtreeFlags=0,I.deletions=null),I.flags=p.flags&14680064,I.childLanes=p.childLanes,I.lanes=p.lanes,I.child=p.child,I.memoizedProps=p.memoizedProps,I.memoizedState=p.memoizedState,I.updateQueue=p.updateQueue,y=p.dependencies,I.dependencies=y===null?null:{lanes:y.lanes,firstContext:y.firstContext},I.sibling=p.sibling,I.index=p.index,I.ref=p.ref,I}function lX(p,y,I,N,G,U){var ie=2;if(N=p,typeof p=="function")Wee(p)&&(ie=1);else if(typeof p=="string")ie=5;else e:switch(p){case D:return AC(I.children,G,U,y);case M:ie=8,G|=8;break;case T:return p=$d(12,I,y,G|2),p.elementType=T,p.lanes=U,p;case W:return p=$d(13,I,y,G),p.elementType=W,p.lanes=U,p;case A:return p=$d(19,I,y,G),p.elementType=A,p.lanes=U,p;case B:return uX(I,G,U,y);default:if(typeof p=="object"&&p!==null)switch(p.$$typeof){case Z:ie=10;break e;case E:ie=9;break e;case R:ie=11;break e;case z:ie=14;break e;case O:ie=16,N=null;break e}throw Error(t(130,p==null?p:typeof p,""))}return y=$d(ie,I,y,G),y.elementType=p,y.type=N,y.lanes=U,y}function AC(p,y,I,N){return p=$d(7,p,N,y),p.lanes=I,p}function uX(p,y,I,N){return p=$d(22,p,N,y),p.elementType=B,p.lanes=I,p.stateNode={isHidden:!1},p}function Ree(p,y,I){return p=$d(6,p,null,y),p.lanes=I,p}function Vee(p,y,I){return y=$d(4,p.children!==null?p.children:[],p.key,y),y.lanes=I,y.stateNode={containerInfo:p.containerInfo,pendingChildren:null,implementation:p.implementation},y}function f7t(p,y,I,N,G){this.tag=y,this.containerInfo=p,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Cn(0),this.expirationTimes=Cn(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Cn(0),this.identifierPrefix=N,this.onRecoverableError=G,this.mutableSourceEagerHydrationData=null}function Aee(p,y,I,N,G,U,ie,Fe,Ve){return p=new f7t(p,y,I,Fe,Ve),y===1?(y=1,U===!0&&(y|=8)):y=0,U=$d(3,null,null,y),p.current=U,U.stateNode=p,U.memoizedState={element:N,isDehydrated:I,cache:null,transitions:null,pendingSuspenseBoundaries:null},Qq(U),p}function g7t(p,y,I){var N=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(_te)}catch{}}_te(),wte.exports=mEe();var th=wte.exports;const Fte=yl(th),Ite=xL({__proto__:null,default:Fte},[th]);var Dte=th;FX.createRoot=Dte.createRoot,FX.hydrateRoot=Dte.hydrateRoot;var fEe={exports:{}};(function(n){var e=function(t){var i=Object.prototype,r=i.hasOwnProperty,o=Object.defineProperty||function(H,k,X){H[k]=X.value},s,a=typeof Symbol=="function"?Symbol:{},l=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",c=a.toStringTag||"@@toStringTag";function d(H,k,X){return Object.defineProperty(H,k,{value:X,enumerable:!0,configurable:!0,writable:!0}),H[k]}try{d({},"")}catch{d=function(k,X,Y){return k[X]=Y}}function h(H,k,X,Y){var V=k&&k.prototype instanceof S?k:S,te=Object.create(V.prototype),oe=new O(Y||[]);return o(te,"_invoke",{value:R(H,X,oe)}),te}t.wrap=h;function m(H,k,X){try{return{type:"normal",arg:H.call(k,X)}}catch(Y){return{type:"throw",arg:Y}}}var f="suspendedStart",g="suspendedYield",b="executing",v="completed",C={};function S(){}function x(){}function _(){}var F={};d(F,l,function(){return this});var D=Object.getPrototypeOf,M=D&&D(D(B([])));M&&M!==i&&r.call(M,l)&&(F=M);var T=_.prototype=S.prototype=Object.create(F);x.prototype=_,o(T,"constructor",{value:_,configurable:!0}),o(_,"constructor",{value:x,configurable:!0}),x.displayName=d(_,c,"GeneratorFunction");function Z(H){["next","throw","return"].forEach(function(k){d(H,k,function(X){return this._invoke(k,X)})})}t.isGeneratorFunction=function(H){var k=typeof H=="function"&&H.constructor;return k?k===x||(k.displayName||k.name)==="GeneratorFunction":!1},t.mark=function(H){return Object.setPrototypeOf?Object.setPrototypeOf(H,_):(H.__proto__=_,d(H,c,"GeneratorFunction")),H.prototype=Object.create(T),H},t.awrap=function(H){return{__await:H}};function E(H,k){function X(te,oe,ae,le){var ue=m(H[te],H,oe);if(ue.type==="throw")le(ue.arg);else{var Ce=ue.arg,pe=Ce.value;return pe&&typeof pe=="object"&&r.call(pe,"__await")?k.resolve(pe.__await).then(function(ce){X("next",ce,ae,le)},function(ce){X("throw",ce,ae,le)}):k.resolve(pe).then(function(ce){Ce.value=ce,ae(Ce)},function(ce){return X("throw",ce,ae,le)})}}var Y;function V(te,oe){function ae(){return new k(function(le,ue){X(te,oe,le,ue)})}return Y=Y?Y.then(ae,ae):ae()}o(this,"_invoke",{value:V})}Z(E.prototype),d(E.prototype,u,function(){return this}),t.AsyncIterator=E,t.async=function(H,k,X,Y,V){V===void 0&&(V=Promise);var te=new E(h(H,k,X,Y),V);return t.isGeneratorFunction(k)?te:te.next().then(function(oe){return oe.done?oe.value:te.next()})};function R(H,k,X){var Y=f;return function(te,oe){if(Y===b)throw new Error("Generator is already running");if(Y===v){if(te==="throw")throw oe;return P()}for(X.method=te,X.arg=oe;;){var ae=X.delegate;if(ae){var le=W(ae,X);if(le){if(le===C)continue;return le}}if(X.method==="next")X.sent=X._sent=X.arg;else if(X.method==="throw"){if(Y===f)throw Y=v,X.arg;X.dispatchException(X.arg)}else X.method==="return"&&X.abrupt("return",X.arg);Y=b;var ue=m(H,k,X);if(ue.type==="normal"){if(Y=X.done?v:g,ue.arg===C)continue;return{value:ue.arg,done:X.done}}else ue.type==="throw"&&(Y=v,X.method="throw",X.arg=ue.arg)}}}function W(H,k){var X=k.method,Y=H.iterator[X];if(Y===s)return k.delegate=null,X==="throw"&&H.iterator.return&&(k.method="return",k.arg=s,W(H,k),k.method==="throw")||X!=="return"&&(k.method="throw",k.arg=new TypeError("The iterator does not provide a '"+X+"' method")),C;var V=m(Y,H.iterator,k.arg);if(V.type==="throw")return k.method="throw",k.arg=V.arg,k.delegate=null,C;var te=V.arg;if(!te)return k.method="throw",k.arg=new TypeError("iterator result is not an object"),k.delegate=null,C;if(te.done)k[H.resultName]=te.value,k.next=H.nextLoc,k.method!=="return"&&(k.method="next",k.arg=s);else return te;return k.delegate=null,C}Z(T),d(T,c,"Generator"),d(T,l,function(){return this}),d(T,"toString",function(){return"[object Generator]"});function A(H){var k={tryLoc:H[0]};1 in H&&(k.catchLoc=H[1]),2 in H&&(k.finallyLoc=H[2],k.afterLoc=H[3]),this.tryEntries.push(k)}function z(H){var k=H.completion||{};k.type="normal",delete k.arg,H.completion=k}function O(H){this.tryEntries=[{tryLoc:"root"}],H.forEach(A,this),this.reset(!0)}t.keys=function(H){var k=Object(H),X=[];for(var Y in k)X.push(Y);return X.reverse(),function V(){for(;X.length;){var te=X.pop();if(te in k)return V.value=te,V.done=!1,V}return V.done=!0,V}};function B(H){if(H!=null){var k=H[l];if(k)return k.call(H);if(typeof H.next=="function")return H;if(!isNaN(H.length)){var X=-1,Y=function V(){for(;++X=0;--Y){var V=this.tryEntries[Y],te=V.completion;if(V.tryLoc==="root")return X("end");if(V.tryLoc<=this.prev){var oe=r.call(V,"catchLoc"),ae=r.call(V,"finallyLoc");if(oe&&ae){if(this.prev=0;--X){var Y=this.tryEntries[X];if(Y.tryLoc<=this.prev&&r.call(Y,"finallyLoc")&&this.prev=0;--k){var X=this.tryEntries[k];if(X.finallyLoc===H)return this.complete(X.completion,X.afterLoc),z(X),C}},catch:function(H){for(var k=this.tryEntries.length-1;k>=0;--k){var X=this.tryEntries[k];if(X.tryLoc===H){var Y=X.completion;if(Y.type==="throw"){var V=Y.arg;z(X)}return V}}throw new Error("illegal catch attempt")},delegateYield:function(H,k,X){return this.delegate={iterator:B(H),resultName:k,nextLoc:X},this.method==="next"&&(this.arg=s),C}},t}(n.exports);try{regeneratorRuntime=e}catch{typeof globalThis=="object"?globalThis.regeneratorRuntime=e:Function("r","regeneratorRuntime = r")(e)}})(fEe);var Mte={exports:{}};/*! +`+U.stack}return{value:p,source:v,stack:G,digest:null}}function hee(p,v,F){return{value:p,source:null,stack:F??null,digest:v??null}}function mee(p,v){try{}catch(F){setTimeout(function(){throw F})}}var J6t=typeof WeakMap=="function"?WeakMap:Map;function gke(p,v,F){F=$p(-1,F),F.tag=3,F.payload={element:null};var k=v.value;return F.callback=function(){nX||(nX=!0,Dee=k),mee(p,v)},F}function pke(p,v,F){F=$p(-1,F),F.tag=3;var k=p.type.getDerivedStateFromError;if(typeof k=="function"){var G=v.value;F.payload=function(){return k(G)},F.callback=function(){mee(p,v)}}var U=p.stateNode;return U!==null&&typeof U.componentDidCatch=="function"&&(F.callback=function(){mee(p,v),typeof k!="function"&&(V1===null?V1=new Set([this]):V1.add(this));var ie=v.stack;this.componentDidCatch(v.value,{componentStack:ie!==null?ie:""})}),F}function bke(p,v,F){var k=p.pingCache;if(k===null){k=p.pingCache=new J6t;var G=new Set;k.set(v,G)}else G=k.get(v),G===void 0&&(G=new Set,k.set(v,G));G.has(F)||(G.add(F),p=u7t.bind(null,p,v,F),v.then(p,p))}function yke(p){do{var v;if((v=p.tag===13)&&(v=p.memoizedState,v=v!==null?v.dehydrated!==null:!0),v)return p;p=p.return}while(p!==null);return null}function vke(p,v,F,k,G){return p.mode&1?(p.flags|=65536,p.lanes=G,p):(p===v?p.flags|=65536:(p.flags|=128,F.flags|=131072,F.flags&=-52805,F.tag===1&&(F.alternate===null?F.tag=17:(v=$p(-1,1),v.tag=2,W1(F,v,1))),F.lanes|=1),p)}var j6t=x.ReactCurrentOwner,uc=!1;function Su(p,v,F,k){v.child=p===null?GMe(v,null,F,k):f_(v,p.child,F,k)}function Cke(p,v,F,k,G){F=F.render;var U=v.ref;return p_(v,G),k=ree(p,v,F,k,U,G),F=oee(),p!==null&&!uc?(v.updateQueue=p.updateQueue,v.flags&=-2053,p.lanes&=~G,qp(p,v,G)):(ts&&F&&Pq(v),v.flags|=1,Su(p,v,k,G),v.child)}function Ske(p,v,F,k,G){if(p===null){var U=F.type;return typeof U=="function"&&!Zee(U)&&U.defaultProps===void 0&&F.compare===null&&F.defaultProps===void 0?(v.tag=15,v.type=U,wke(p,v,U,k,G)):(p=lX(F.type,null,k,v,v.mode,G),p.ref=v.ref,p.return=v,v.child=p)}if(U=p.child,!(p.lanes&G)){var ie=U.memoizedProps;if(F=F.compare,F=F!==null?F:dk,F(ie,k)&&p.ref===v.ref)return qp(p,v,G)}return v.flags|=1,p=O1(U,k),p.ref=v.ref,p.return=v,v.child=p}function wke(p,v,F,k,G){if(p!==null){var U=p.memoizedProps;if(dk(U,k)&&p.ref===v.ref)if(uc=!1,v.pendingProps=k=U,(p.lanes&G)!==0)p.flags&131072&&(uc=!0);else return v.lanes=p.lanes,qp(p,v,G)}return fee(p,v,F,k,G)}function xke(p,v,F){var k=v.pendingProps,G=k.children,U=p!==null?p.memoizedState:null;if(k.mode==="hidden")if(!(v.mode&1))v.memoizedState={baseLanes:0,cachePool:null,transitions:null},To(C_,od),od|=F;else{if(!(F&1073741824))return p=U!==null?U.baseLanes|F:F,v.lanes=v.childLanes=1073741824,v.memoizedState={baseLanes:p,cachePool:null,transitions:null},v.updateQueue=null,To(C_,od),od|=p,null;v.memoizedState={baseLanes:0,cachePool:null,transitions:null},k=U!==null?U.baseLanes:F,To(C_,od),od|=k}else U!==null?(k=U.baseLanes|F,v.memoizedState=null):k=F,To(C_,od),od|=k;return Su(p,v,G,F),v.child}function _ke(p,v){var F=v.ref;(p===null&&F!==null||p!==null&&p.ref!==F)&&(v.flags|=512,v.flags|=2097152)}function fee(p,v,F,k,G){var U=lc(F)?DC:jl.current;return U=c_(v,U),p_(v,G),F=ree(p,v,F,k,U,G),k=oee(),p!==null&&!uc?(v.updateQueue=p.updateQueue,v.flags&=-2053,p.lanes&=~G,qp(p,v,G)):(ts&&k&&Pq(v),v.flags|=1,Su(p,v,F,G),v.child)}function Lke(p,v,F,k,G){if(lc(F)){var U=!0;EG(v)}else U=!1;if(p_(v,G),v.stateNode===null)QG(p,v),mke(v,F,k),dee(v,F,k,G),k=!0;else if(p===null){var ie=v.stateNode,Ie=v.memoizedProps;ie.props=Ie;var Ae=ie.context,st=F.contextType;typeof st=="object"&&st!==null?st=Kd(st):(st=lc(F)?DC:jl.current,st=c_(v,st));var Vt=F.getDerivedStateFromProps,Pt=typeof Vt=="function"||typeof ie.getSnapshotBeforeUpdate=="function";Pt||typeof ie.UNSAFE_componentWillReceiveProps!="function"&&typeof ie.componentWillReceiveProps!="function"||(Ie!==k||Ae!==st)&&fke(v,ie,k,st),Z1=!1;var At=v.memoizedState;ie.state=At,OG(v,k,ie,G),Ae=v.memoizedState,Ie!==k||At!==Ae||ac.current||Z1?(typeof Vt=="function"&&(cee(v,F,Vt,k),Ae=v.memoizedState),(Ie=Z1||hke(v,F,Ie,k,At,Ae,st))?(Pt||typeof ie.UNSAFE_componentWillMount!="function"&&typeof ie.componentWillMount!="function"||(typeof ie.componentWillMount=="function"&&ie.componentWillMount(),typeof ie.UNSAFE_componentWillMount=="function"&&ie.UNSAFE_componentWillMount()),typeof ie.componentDidMount=="function"&&(v.flags|=4194308)):(typeof ie.componentDidMount=="function"&&(v.flags|=4194308),v.memoizedProps=k,v.memoizedState=Ae),ie.props=k,ie.state=Ae,ie.context=st,k=Ie):(typeof ie.componentDidMount=="function"&&(v.flags|=4194308),k=!1)}else{ie=v.stateNode,PMe(p,v),Ie=v.memoizedProps,st=v.type===v.elementType?Ie:mm(v.type,Ie),ie.props=st,Pt=v.pendingProps,At=ie.context,Ae=F.contextType,typeof Ae=="object"&&Ae!==null?Ae=Kd(Ae):(Ae=lc(F)?DC:jl.current,Ae=c_(v,Ae));var pn=F.getDerivedStateFromProps;(Vt=typeof pn=="function"||typeof ie.getSnapshotBeforeUpdate=="function")||typeof ie.UNSAFE_componentWillReceiveProps!="function"&&typeof ie.componentWillReceiveProps!="function"||(Ie!==Pt||At!==Ae)&&fke(v,ie,k,Ae),Z1=!1,At=v.memoizedState,ie.state=At,OG(v,k,ie,G);var Fn=v.memoizedState;Ie!==Pt||At!==Fn||ac.current||Z1?(typeof pn=="function"&&(cee(v,F,pn,k),Fn=v.memoizedState),(st=Z1||hke(v,F,st,k,At,Fn,Ae)||!1)?(Vt||typeof ie.UNSAFE_componentWillUpdate!="function"&&typeof ie.componentWillUpdate!="function"||(typeof ie.componentWillUpdate=="function"&&ie.componentWillUpdate(k,Fn,Ae),typeof ie.UNSAFE_componentWillUpdate=="function"&&ie.UNSAFE_componentWillUpdate(k,Fn,Ae)),typeof ie.componentDidUpdate=="function"&&(v.flags|=4),typeof ie.getSnapshotBeforeUpdate=="function"&&(v.flags|=1024)):(typeof ie.componentDidUpdate!="function"||Ie===p.memoizedProps&&At===p.memoizedState||(v.flags|=4),typeof ie.getSnapshotBeforeUpdate!="function"||Ie===p.memoizedProps&&At===p.memoizedState||(v.flags|=1024),v.memoizedProps=k,v.memoizedState=Fn),ie.props=k,ie.state=Fn,ie.context=Ae,k=st):(typeof ie.componentDidUpdate!="function"||Ie===p.memoizedProps&&At===p.memoizedState||(v.flags|=4),typeof ie.getSnapshotBeforeUpdate!="function"||Ie===p.memoizedProps&&At===p.memoizedState||(v.flags|=1024),k=!1)}return gee(p,v,F,k,U,G)}function gee(p,v,F,k,G,U){_ke(p,v);var ie=(v.flags&128)!==0;if(!k&&!ie)return G&&MMe(v,F,!1),qp(p,v,U);k=v.stateNode,j6t.current=v;var Ie=ie&&typeof F.getDerivedStateFromError!="function"?null:k.render();return v.flags|=1,p!==null&&ie?(v.child=f_(v,p.child,null,U),v.child=f_(v,null,Ie,U)):Su(p,v,Ie,U),v.memoizedState=k.state,G&&MMe(v,F,!0),v.child}function Ike(p){var v=p.stateNode;v.pendingContext?DMe(p,v.pendingContext,v.pendingContext!==v.context):v.context&&DMe(p,v.context,!1),$q(p,v.containerInfo)}function Fke(p,v,F,k,G){return m_(),Hq(G),v.flags|=256,Su(p,v,F,k),v.child}var pee={dehydrated:null,treeContext:null,retryLane:0};function bee(p){return{baseLanes:p,cachePool:null,transitions:null}}function Dke(p,v,F){var k=v.pendingProps,G=hs.current,U=!1,ie=(v.flags&128)!==0,Ie;if((Ie=ie)||(Ie=p!==null&&p.memoizedState===null?!1:(G&2)!==0),Ie?(U=!0,v.flags&=-129):(p===null||p.memoizedState!==null)&&(G|=1),To(hs,G&1),p===null)return zq(v),p=v.memoizedState,p!==null&&(p=p.dehydrated,p!==null)?(v.mode&1?p.data==="$!"?v.lanes=8:v.lanes=1073741824:v.lanes=1,null):(ie=k.children,p=k.fallback,U?(k=v.mode,U=v.child,ie={mode:"hidden",children:ie},!(k&1)&&U!==null?(U.childLanes=0,U.pendingProps=ie):U=uX(ie,k,0,null),p=VC(p,k,F,null),U.return=v,p.return=v,U.sibling=p,v.child=U,v.child.memoizedState=bee(F),v.memoizedState=pee,p):yee(v,ie));if(G=p.memoizedState,G!==null&&(Ie=G.dehydrated,Ie!==null))return Q6t(p,v,ie,k,Ie,G,F);if(U){U=k.fallback,ie=v.mode,G=p.child,Ie=G.sibling;var Ae={mode:"hidden",children:k.children};return!(ie&1)&&v.child!==G?(k=v.child,k.childLanes=0,k.pendingProps=Ae,v.deletions=null):(k=O1(G,Ae),k.subtreeFlags=G.subtreeFlags&14680064),Ie!==null?U=O1(Ie,U):(U=VC(U,ie,F,null),U.flags|=2),U.return=v,k.return=v,k.sibling=U,v.child=k,k=U,U=v.child,ie=p.child.memoizedState,ie=ie===null?bee(F):{baseLanes:ie.baseLanes|F,cachePool:null,transitions:ie.transitions},U.memoizedState=ie,U.childLanes=p.childLanes&~F,v.memoizedState=pee,k}return U=p.child,p=U.sibling,k=O1(U,{mode:"visible",children:k.children}),!(v.mode&1)&&(k.lanes=F),k.return=v,k.sibling=null,p!==null&&(F=v.deletions,F===null?(v.deletions=[p],v.flags|=16):F.push(p)),v.child=k,v.memoizedState=null,k}function yee(p,v){return v=uX({mode:"visible",children:v},p.mode,0,null),v.return=p,p.child=v}function jG(p,v,F,k){return k!==null&&Hq(k),f_(v,p.child,null,F),p=yee(v,v.pendingProps.children),p.flags|=2,v.memoizedState=null,p}function Q6t(p,v,F,k,G,U,ie){if(F)return v.flags&256?(v.flags&=-257,k=hee(Error(t(422))),jG(p,v,ie,k)):v.memoizedState!==null?(v.child=p.child,v.flags|=128,null):(U=k.fallback,G=v.mode,k=uX({mode:"visible",children:k.children},G,0,null),U=VC(U,G,ie,null),U.flags|=2,k.return=v,U.return=v,k.sibling=U,v.child=k,v.mode&1&&f_(v,p.child,null,ie),v.child.memoizedState=bee(ie),v.memoizedState=pee,U);if(!(v.mode&1))return jG(p,v,ie,null);if(G.data==="$!"){if(k=G.nextSibling&&G.nextSibling.dataset,k)var Ie=k.dgst;return k=Ie,U=Error(t(419)),k=hee(U,k,void 0),jG(p,v,ie,k)}if(Ie=(ie&p.childLanes)!==0,uc||Ie){if(k=Aa,k!==null){switch(ie&-ie){case 4:G=2;break;case 16:G=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:G=32;break;case 536870912:G=268435456;break;default:G=0}G=G&(k.suspendedLanes|ie)?0:G,G!==0&&G!==U.retryLane&&(U.retryLane=G,Qp(p,G),pm(k,p,G,-1))}return Ree(),k=hee(Error(t(421))),jG(p,v,ie,k)}return G.data==="$?"?(v.flags|=128,v.child=p.child,v=c7t.bind(null,p),G._reactRetry=v,null):(p=U.treeContext,rd=k1(G.nextSibling),id=v,ts=!0,hm=null,p!==null&&(Yd[Ud++]=Jp,Yd[Ud++]=jp,Yd[Ud++]=NC,Jp=p.id,jp=p.overflow,NC=v),v=yee(v,k.children),v.flags|=4096,v)}function Nke(p,v,F){p.lanes|=v;var k=p.alternate;k!==null&&(k.lanes|=v),Jq(p.return,v,F)}function vee(p,v,F,k,G){var U=p.memoizedState;U===null?p.memoizedState={isBackwards:v,rendering:null,renderingStartTime:0,last:k,tail:F,tailMode:G}:(U.isBackwards=v,U.rendering=null,U.renderingStartTime=0,U.last=k,U.tail=F,U.tailMode=G)}function Mke(p,v,F){var k=v.pendingProps,G=k.revealOrder,U=k.tail;if(Su(p,v,k.children,F),k=hs.current,k&2)k=k&1|2,v.flags|=128;else{if(p!==null&&p.flags&128)e:for(p=v.child;p!==null;){if(p.tag===13)p.memoizedState!==null&&Nke(p,F,v);else if(p.tag===19)Nke(p,F,v);else if(p.child!==null){p.child.return=p,p=p.child;continue}if(p===v)break e;for(;p.sibling===null;){if(p.return===null||p.return===v)break e;p=p.return}p.sibling.return=p.return,p=p.sibling}k&=1}if(To(hs,k),!(v.mode&1))v.memoizedState=null;else switch(G){case"forwards":for(F=v.child,G=null;F!==null;)p=F.alternate,p!==null&&BG(p)===null&&(G=F),F=F.sibling;F=G,F===null?(G=v.child,v.child=null):(G=F.sibling,F.sibling=null),vee(v,!1,G,F,U);break;case"backwards":for(F=null,G=v.child,v.child=null;G!==null;){if(p=G.alternate,p!==null&&BG(p)===null){v.child=G;break}p=G.sibling,G.sibling=F,F=G,G=p}vee(v,!0,F,null,U);break;case"together":vee(v,!1,null,null,void 0);break;default:v.memoizedState=null}return v.child}function QG(p,v){!(v.mode&1)&&p!==null&&(p.alternate=null,v.alternate=null,v.flags|=2)}function qp(p,v,F){if(p!==null&&(v.dependencies=p.dependencies),RC|=v.lanes,!(F&v.childLanes))return null;if(p!==null&&v.child!==p.child)throw Error(t(153));if(v.child!==null){for(p=v.child,F=O1(p,p.pendingProps),v.child=F,F.return=v;p.sibling!==null;)p=p.sibling,F=F.sibling=O1(p,p.pendingProps),F.return=v;F.sibling=null}return v.child}function $6t(p,v,F){switch(v.tag){case 3:Ike(v),m_();break;case 5:zMe(v);break;case 1:lc(v.type)&&EG(v);break;case 4:$q(v,v.stateNode.containerInfo);break;case 10:var k=v.type._context,G=v.memoizedProps.value;To(GG,k._currentValue),k._currentValue=G;break;case 13:if(k=v.memoizedState,k!==null)return k.dehydrated!==null?(To(hs,hs.current&1),v.flags|=128,null):F&v.child.childLanes?Dke(p,v,F):(To(hs,hs.current&1),p=qp(p,v,F),p!==null?p.sibling:null);To(hs,hs.current&1);break;case 19:if(k=(F&v.childLanes)!==0,p.flags&128){if(k)return Mke(p,v,F);v.flags|=128}if(G=v.memoizedState,G!==null&&(G.rendering=null,G.tail=null,G.lastEffect=null),To(hs,hs.current),k)break;return null;case 22:case 23:return v.lanes=0,xke(p,v,F)}return qp(p,v,F)}var kke,Cee,Tke,Eke;kke=function(p,v){for(var F=v.child;F!==null;){if(F.tag===5||F.tag===6)p.appendChild(F.stateNode);else if(F.tag!==4&&F.child!==null){F.child.return=F,F=F.child;continue}if(F===v)break;for(;F.sibling===null;){if(F.return===null||F.return===v)return;F=F.return}F.sibling.return=F.return,F=F.sibling}},Cee=function(){},Tke=function(p,v,F,k){var G=p.memoizedProps;if(G!==k){p=v.stateNode,TC(Yf.current);var U=null;switch(F){case"input":G=ke(p,G),k=ke(p,k),U=[];break;case"select":G=M({},G,{value:void 0}),k=M({},k,{value:void 0}),U=[];break;case"textarea":G=me(p,G),k=me(p,k),U=[];break;default:typeof G.onClick!="function"&&typeof k.onClick=="function"&&(p.onclick=MG)}mt(F,k);var ie;F=null;for(st in G)if(!k.hasOwnProperty(st)&&G.hasOwnProperty(st)&&G[st]!=null)if(st==="style"){var Ie=G[st];for(ie in Ie)Ie.hasOwnProperty(ie)&&(F||(F={}),F[ie]="")}else st!=="dangerouslySetInnerHTML"&&st!=="children"&&st!=="suppressContentEditableWarning"&&st!=="suppressHydrationWarning"&&st!=="autoFocus"&&(r.hasOwnProperty(st)?U||(U=[]):(U=U||[]).push(st,null));for(st in k){var Ae=k[st];if(Ie=G!=null?G[st]:void 0,k.hasOwnProperty(st)&&Ae!==Ie&&(Ae!=null||Ie!=null))if(st==="style")if(Ie){for(ie in Ie)!Ie.hasOwnProperty(ie)||Ae&&Ae.hasOwnProperty(ie)||(F||(F={}),F[ie]="");for(ie in Ae)Ae.hasOwnProperty(ie)&&Ie[ie]!==Ae[ie]&&(F||(F={}),F[ie]=Ae[ie])}else F||(U||(U=[]),U.push(st,F)),F=Ae;else st==="dangerouslySetInnerHTML"?(Ae=Ae?Ae.__html:void 0,Ie=Ie?Ie.__html:void 0,Ae!=null&&Ie!==Ae&&(U=U||[]).push(st,Ae)):st==="children"?typeof Ae!="string"&&typeof Ae!="number"||(U=U||[]).push(st,""+Ae):st!=="suppressContentEditableWarning"&&st!=="suppressHydrationWarning"&&(r.hasOwnProperty(st)?(Ae!=null&&st==="onScroll"&&Oo("scroll",p),U||Ie===Ae||(U=[])):(U=U||[]).push(st,Ae))}F&&(U=U||[]).push("style",F);var st=U;(v.updateQueue=st)&&(v.flags|=4)}},Eke=function(p,v,F,k){F!==k&&(v.flags|=4)};function Ik(p,v){if(!ts)switch(p.tailMode){case"hidden":v=p.tail;for(var F=null;v!==null;)v.alternate!==null&&(F=v),v=v.sibling;F===null?p.tail=null:F.sibling=null;break;case"collapsed":F=p.tail;for(var k=null;F!==null;)F.alternate!==null&&(k=F),F=F.sibling;k===null?v||p.tail===null?p.tail=null:p.tail.sibling=null:k.sibling=null}}function $l(p){var v=p.alternate!==null&&p.alternate.child===p.child,F=0,k=0;if(v)for(var G=p.child;G!==null;)F|=G.lanes|G.childLanes,k|=G.subtreeFlags&14680064,k|=G.flags&14680064,G.return=p,G=G.sibling;else for(G=p.child;G!==null;)F|=G.lanes|G.childLanes,k|=G.subtreeFlags,k|=G.flags,G.return=p,G=G.sibling;return p.subtreeFlags|=k,p.childLanes=F,v}function q6t(p,v,F){var k=v.pendingProps;switch(Oq(v),v.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return $l(v),null;case 1:return lc(v.type)&&TG(),$l(v),null;case 3:return k=v.stateNode,b_(),Bo(ac),Bo(jl),tee(),k.pendingContext&&(k.context=k.pendingContext,k.pendingContext=null),(p===null||p.child===null)&&(AG(v)?v.flags|=4:p===null||p.memoizedState.isDehydrated&&!(v.flags&256)||(v.flags|=1024,hm!==null&&(kee(hm),hm=null))),Cee(p,v),$l(v),null;case 5:qq(v);var G=TC(Sk.current);if(F=v.type,p!==null&&v.stateNode!=null)Tke(p,v,F,k,G),p.ref!==v.ref&&(v.flags|=512,v.flags|=2097152);else{if(!k){if(v.stateNode===null)throw Error(t(166));return $l(v),null}if(p=TC(Yf.current),AG(v)){k=v.stateNode,F=v.type;var U=v.memoizedProps;switch(k[Hf]=v,k[pk]=U,p=(v.mode&1)!==0,F){case"dialog":Oo("cancel",k),Oo("close",k);break;case"iframe":case"object":case"embed":Oo("load",k);break;case"video":case"audio":for(G=0;G<\/script>",p=p.removeChild(p.firstChild)):typeof k.is=="string"?p=ie.createElement(F,{is:k.is}):(p=ie.createElement(F),F==="select"&&(ie=p,k.multiple?ie.multiple=!0:k.size&&(ie.size=k.size))):p=ie.createElementNS(p,F),p[Hf]=v,p[pk]=k,kke(p,v,!1,!1),v.stateNode=p;e:{switch(ie=wt(F,k),F){case"dialog":Oo("cancel",p),Oo("close",p),G=k;break;case"iframe":case"object":case"embed":Oo("load",p),G=k;break;case"video":case"audio":for(G=0;GS_&&(v.flags|=128,k=!0,Ik(U,!1),v.lanes=4194304)}else{if(!k)if(p=BG(ie),p!==null){if(v.flags|=128,k=!0,F=p.updateQueue,F!==null&&(v.updateQueue=F,v.flags|=4),Ik(U,!0),U.tail===null&&U.tailMode==="hidden"&&!ie.alternate&&!ts)return $l(v),null}else 2*Ln()-U.renderingStartTime>S_&&F!==1073741824&&(v.flags|=128,k=!0,Ik(U,!1),v.lanes=4194304);U.isBackwards?(ie.sibling=v.child,v.child=ie):(F=U.last,F!==null?F.sibling=ie:v.child=ie,U.last=ie)}return U.tail!==null?(v=U.tail,U.rendering=v,U.tail=v.sibling,U.renderingStartTime=Ln(),v.sibling=null,F=hs.current,To(hs,k?F&1|2:F&1),v):($l(v),null);case 22:case 23:return Eee(),k=v.memoizedState!==null,p!==null&&p.memoizedState!==null!==k&&(v.flags|=8192),k&&v.mode&1?od&1073741824&&($l(v),v.subtreeFlags&6&&(v.flags|=8192)):$l(v),null;case 24:return null;case 25:return null}throw Error(t(156,v.tag))}function e7t(p,v){switch(Oq(v),v.tag){case 1:return lc(v.type)&&TG(),p=v.flags,p&65536?(v.flags=p&-65537|128,v):null;case 3:return b_(),Bo(ac),Bo(jl),tee(),p=v.flags,p&65536&&!(p&128)?(v.flags=p&-65537|128,v):null;case 5:return qq(v),null;case 13:if(Bo(hs),p=v.memoizedState,p!==null&&p.dehydrated!==null){if(v.alternate===null)throw Error(t(340));m_()}return p=v.flags,p&65536?(v.flags=p&-65537|128,v):null;case 19:return Bo(hs),null;case 4:return b_(),null;case 10:return Kq(v.type._context),null;case 22:case 23:return Eee(),null;case 24:return null;default:return null}}var $G=!1,ql=!1,t7t=typeof WeakSet=="function"?WeakSet:Set,_n=null;function v_(p,v){var F=p.ref;if(F!==null)if(typeof F=="function")try{F(null)}catch(k){ws(p,v,k)}else F.current=null}function See(p,v,F){try{F()}catch(k){ws(p,v,k)}}var Rke=!1;function n7t(p,v){if(Eq=yG,p=hMe(),Lq(p)){if("selectionStart"in p)var F={start:p.selectionStart,end:p.selectionEnd};else e:{F=(F=p.ownerDocument)&&F.defaultView||window;var k=F.getSelection&&F.getSelection();if(k&&k.rangeCount!==0){F=k.anchorNode;var G=k.anchorOffset,U=k.focusNode;k=k.focusOffset;try{F.nodeType,U.nodeType}catch{F=null;break e}var ie=0,Ie=-1,Ae=-1,st=0,Vt=0,Pt=p,At=null;t:for(;;){for(var pn;Pt!==F||G!==0&&Pt.nodeType!==3||(Ie=ie+G),Pt!==U||k!==0&&Pt.nodeType!==3||(Ae=ie+k),Pt.nodeType===3&&(ie+=Pt.nodeValue.length),(pn=Pt.firstChild)!==null;)At=Pt,Pt=pn;for(;;){if(Pt===p)break t;if(At===F&&++st===G&&(Ie=ie),At===U&&++Vt===k&&(Ae=ie),(pn=Pt.nextSibling)!==null)break;Pt=At,At=Pt.parentNode}Pt=pn}F=Ie===-1||Ae===-1?null:{start:Ie,end:Ae}}else F=null}F=F||{start:0,end:0}}else F=null;for(Rq={focusedElem:p,selectionRange:F},yG=!1,_n=v;_n!==null;)if(v=_n,p=v.child,(v.subtreeFlags&1028)!==0&&p!==null)p.return=v,_n=p;else for(;_n!==null;){v=_n;try{var Fn=v.alternate;if(v.flags&1024)switch(v.tag){case 0:case 11:case 15:break;case 1:if(Fn!==null){var En=Fn.memoizedProps,Xs=Fn.memoizedState,Qe=v.stateNode,Pe=Qe.getSnapshotBeforeUpdate(v.elementType===v.type?En:mm(v.type,En),Xs);Qe.__reactInternalSnapshotBeforeUpdate=Pe}break;case 3:var qe=v.stateNode.containerInfo;qe.nodeType===1?qe.textContent="":qe.nodeType===9&&qe.documentElement&&qe.removeChild(qe.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(t(163))}}catch(Ut){ws(v,v.return,Ut)}if(p=v.sibling,p!==null){p.return=v.return,_n=p;break}_n=v.return}return Fn=Rke,Rke=!1,Fn}function Fk(p,v,F){var k=v.updateQueue;if(k=k!==null?k.lastEffect:null,k!==null){var G=k=k.next;do{if((G.tag&p)===p){var U=G.destroy;G.destroy=void 0,U!==void 0&&See(v,F,U)}G=G.next}while(G!==k)}}function qG(p,v){if(v=v.updateQueue,v=v!==null?v.lastEffect:null,v!==null){var F=v=v.next;do{if((F.tag&p)===p){var k=F.create;F.destroy=k()}F=F.next}while(F!==v)}}function wee(p){var v=p.ref;if(v!==null){var F=p.stateNode;switch(p.tag){case 5:p=F;break;default:p=F}typeof v=="function"?v(p):v.current=p}}function Zke(p){var v=p.alternate;v!==null&&(p.alternate=null,Zke(v)),p.child=null,p.deletions=null,p.sibling=null,p.tag===5&&(v=p.stateNode,v!==null&&(delete v[Hf],delete v[pk],delete v[Vq],delete v[V6t],delete v[G6t])),p.stateNode=null,p.return=null,p.dependencies=null,p.memoizedProps=null,p.memoizedState=null,p.pendingProps=null,p.stateNode=null,p.updateQueue=null}function Wke(p){return p.tag===5||p.tag===3||p.tag===4}function Ake(p){e:for(;;){for(;p.sibling===null;){if(p.return===null||Wke(p.return))return null;p=p.return}for(p.sibling.return=p.return,p=p.sibling;p.tag!==5&&p.tag!==6&&p.tag!==18;){if(p.flags&2||p.child===null||p.tag===4)continue e;p.child.return=p,p=p.child}if(!(p.flags&2))return p.stateNode}}function xee(p,v,F){var k=p.tag;if(k===5||k===6)p=p.stateNode,v?F.nodeType===8?F.parentNode.insertBefore(p,v):F.insertBefore(p,v):(F.nodeType===8?(v=F.parentNode,v.insertBefore(p,F)):(v=F,v.appendChild(p)),F=F._reactRootContainer,F!=null||v.onclick!==null||(v.onclick=MG));else if(k!==4&&(p=p.child,p!==null))for(xee(p,v,F),p=p.sibling;p!==null;)xee(p,v,F),p=p.sibling}function _ee(p,v,F){var k=p.tag;if(k===5||k===6)p=p.stateNode,v?F.insertBefore(p,v):F.appendChild(p);else if(k!==4&&(p=p.child,p!==null))for(_ee(p,v,F),p=p.sibling;p!==null;)_ee(p,v,F),p=p.sibling}var bl=null,fm=!1;function A1(p,v,F){for(F=F.child;F!==null;)Vke(p,v,F),F=F.sibling}function Vke(p,v,F){if(Yr&&typeof Yr.onCommitFiberUnmount=="function")try{Yr.onCommitFiberUnmount(qo,F)}catch{}switch(F.tag){case 5:ql||v_(F,v);case 6:var k=bl,G=fm;bl=null,A1(p,v,F),bl=k,fm=G,bl!==null&&(fm?(p=bl,F=F.stateNode,p.nodeType===8?p.parentNode.removeChild(F):p.removeChild(F)):bl.removeChild(F.stateNode));break;case 18:bl!==null&&(fm?(p=bl,F=F.stateNode,p.nodeType===8?Aq(p.parentNode,F):p.nodeType===1&&Aq(p,F),ok(p)):Aq(bl,F.stateNode));break;case 4:k=bl,G=fm,bl=F.stateNode.containerInfo,fm=!0,A1(p,v,F),bl=k,fm=G;break;case 0:case 11:case 14:case 15:if(!ql&&(k=F.updateQueue,k!==null&&(k=k.lastEffect,k!==null))){G=k=k.next;do{var U=G,ie=U.destroy;U=U.tag,ie!==void 0&&(U&2||U&4)&&See(F,v,ie),G=G.next}while(G!==k)}A1(p,v,F);break;case 1:if(!ql&&(v_(F,v),k=F.stateNode,typeof k.componentWillUnmount=="function"))try{k.props=F.memoizedProps,k.state=F.memoizedState,k.componentWillUnmount()}catch(Ie){ws(F,v,Ie)}A1(p,v,F);break;case 21:A1(p,v,F);break;case 22:F.mode&1?(ql=(k=ql)||F.memoizedState!==null,A1(p,v,F),ql=k):A1(p,v,F);break;default:A1(p,v,F)}}function Gke(p){var v=p.updateQueue;if(v!==null){p.updateQueue=null;var F=p.stateNode;F===null&&(F=p.stateNode=new t7t),v.forEach(function(k){var G=d7t.bind(null,p,k);F.has(k)||(F.add(k),k.then(G,G))})}}function gm(p,v){var F=v.deletions;if(F!==null)for(var k=0;kG&&(G=ie),k&=~U}if(k=G,k=Ln()-k,k=(120>k?120:480>k?480:1080>k?1080:1920>k?1920:3e3>k?3e3:4320>k?4320:1960*r7t(k/1960))-k,10p?16:p,G1===null)var k=!1;else{if(p=G1,G1=null,rX=0,Sr&6)throw Error(t(331));var G=Sr;for(Sr|=4,_n=p.current;_n!==null;){var U=_n,ie=U.child;if(_n.flags&16){var Ie=U.deletions;if(Ie!==null){for(var Ae=0;AeLn()-Fee?WC(p,0):Iee|=F),dc(p,v)}function $ke(p,v){v===0&&(p.mode&1?(v=on,on<<=1,!(on&130023424)&&(on=4194304)):v=1);var F=wu();p=Qp(p,v),p!==null&&(Gi(p,v,F),dc(p,F))}function c7t(p){var v=p.memoizedState,F=0;v!==null&&(F=v.retryLane),$ke(p,F)}function d7t(p,v){var F=0;switch(p.tag){case 13:var k=p.stateNode,G=p.memoizedState;G!==null&&(F=G.retryLane);break;case 19:k=p.stateNode;break;default:throw Error(t(314))}k!==null&&k.delete(v),$ke(p,F)}var qke;qke=function(p,v,F){if(p!==null)if(p.memoizedProps!==v.pendingProps||ac.current)uc=!0;else{if(!(p.lanes&F)&&!(v.flags&128))return uc=!1,$6t(p,v,F);uc=!!(p.flags&131072)}else uc=!1,ts&&v.flags&1048576&&TMe(v,WG,v.index);switch(v.lanes=0,v.tag){case 2:var k=v.type;QG(p,v),p=v.pendingProps;var G=c_(v,jl.current);p_(v,F),G=ree(null,v,k,p,G,F);var U=oee();return v.flags|=1,typeof G=="object"&&G!==null&&typeof G.render=="function"&&G.$$typeof===void 0?(v.tag=1,v.memoizedState=null,v.updateQueue=null,lc(k)?(U=!0,EG(v)):U=!1,v.memoizedState=G.state!==null&&G.state!==void 0?G.state:null,Qq(v),G.updater=JG,v.stateNode=G,G._reactInternals=v,dee(v,k,p,F),v=gee(null,v,k,!0,U,F)):(v.tag=0,ts&&U&&Pq(v),Su(null,v,G,F),v=v.child),v;case 16:k=v.elementType;e:{switch(QG(p,v),p=v.pendingProps,G=k._init,k=G(k._payload),v.type=k,G=v.tag=m7t(k),p=mm(k,p),G){case 0:v=fee(null,v,k,p,F);break e;case 1:v=Lke(null,v,k,p,F);break e;case 11:v=Cke(null,v,k,p,F);break e;case 14:v=Ske(null,v,k,mm(k.type,p),F);break e}throw Error(t(306,k,""))}return v;case 0:return k=v.type,G=v.pendingProps,G=v.elementType===k?G:mm(k,G),fee(p,v,k,G,F);case 1:return k=v.type,G=v.pendingProps,G=v.elementType===k?G:mm(k,G),Lke(p,v,k,G,F);case 3:e:{if(Ike(v),p===null)throw Error(t(387));k=v.pendingProps,U=v.memoizedState,G=U.element,PMe(p,v),OG(v,k,null,F);var ie=v.memoizedState;if(k=ie.element,U.isDehydrated)if(U={element:k,isDehydrated:!1,cache:ie.cache,pendingSuspenseBoundaries:ie.pendingSuspenseBoundaries,transitions:ie.transitions},v.updateQueue.baseState=U,v.memoizedState=U,v.flags&256){G=y_(Error(t(423)),v),v=Fke(p,v,k,F,G);break e}else if(k!==G){G=y_(Error(t(424)),v),v=Fke(p,v,k,F,G);break e}else for(rd=k1(v.stateNode.containerInfo.firstChild),id=v,ts=!0,hm=null,F=GMe(v,null,k,F),v.child=F;F;)F.flags=F.flags&-3|4096,F=F.sibling;else{if(m_(),k===G){v=qp(p,v,F);break e}Su(p,v,k,F)}v=v.child}return v;case 5:return zMe(v),p===null&&zq(v),k=v.type,G=v.pendingProps,U=p!==null?p.memoizedProps:null,ie=G.children,Zq(k,G)?ie=null:U!==null&&Zq(k,U)&&(v.flags|=32),_ke(p,v),Su(p,v,ie,F),v.child;case 6:return p===null&&zq(v),null;case 13:return Dke(p,v,F);case 4:return $q(v,v.stateNode.containerInfo),k=v.pendingProps,p===null?v.child=f_(v,null,k,F):Su(p,v,k,F),v.child;case 11:return k=v.type,G=v.pendingProps,G=v.elementType===k?G:mm(k,G),Cke(p,v,k,G,F);case 7:return Su(p,v,v.pendingProps,F),v.child;case 8:return Su(p,v,v.pendingProps.children,F),v.child;case 12:return Su(p,v,v.pendingProps.children,F),v.child;case 10:e:{if(k=v.type._context,G=v.pendingProps,U=v.memoizedProps,ie=G.value,To(GG,k._currentValue),k._currentValue=ie,U!==null)if(dm(U.value,ie)){if(U.children===G.children&&!ac.current){v=qp(p,v,F);break e}}else for(U=v.child,U!==null&&(U.return=v);U!==null;){var Ie=U.dependencies;if(Ie!==null){ie=U.child;for(var Ae=Ie.firstContext;Ae!==null;){if(Ae.context===k){if(U.tag===1){Ae=$p(-1,F&-F),Ae.tag=2;var st=U.updateQueue;if(st!==null){st=st.shared;var Vt=st.pending;Vt===null?Ae.next=Ae:(Ae.next=Vt.next,Vt.next=Ae),st.pending=Ae}}U.lanes|=F,Ae=U.alternate,Ae!==null&&(Ae.lanes|=F),Jq(U.return,F,v),Ie.lanes|=F;break}Ae=Ae.next}}else if(U.tag===10)ie=U.type===v.type?null:U.child;else if(U.tag===18){if(ie=U.return,ie===null)throw Error(t(341));ie.lanes|=F,Ie=ie.alternate,Ie!==null&&(Ie.lanes|=F),Jq(ie,F,v),ie=U.sibling}else ie=U.child;if(ie!==null)ie.return=U;else for(ie=U;ie!==null;){if(ie===v){ie=null;break}if(U=ie.sibling,U!==null){U.return=ie.return,ie=U;break}ie=ie.return}U=ie}Su(p,v,G.children,F),v=v.child}return v;case 9:return G=v.type,k=v.pendingProps.children,p_(v,F),G=Kd(G),k=k(G),v.flags|=1,Su(p,v,k,F),v.child;case 14:return k=v.type,G=mm(k,v.pendingProps),G=mm(k.type,G),Ske(p,v,k,G,F);case 15:return wke(p,v,v.type,v.pendingProps,F);case 17:return k=v.type,G=v.pendingProps,G=v.elementType===k?G:mm(k,G),QG(p,v),v.tag=1,lc(k)?(p=!0,EG(v)):p=!1,p_(v,F),mke(v,k,G),dee(v,k,G,F),gee(null,v,k,!0,p,F);case 19:return Mke(p,v,F);case 22:return xke(p,v,F)}throw Error(t(156,v.tag))};function eTe(p,v){return jn(p,v)}function h7t(p,v,F,k){this.tag=p,this.key=F,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=v,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=k,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Qd(p,v,F,k){return new h7t(p,v,F,k)}function Zee(p){return p=p.prototype,!(!p||!p.isReactComponent)}function m7t(p){if(typeof p=="function")return Zee(p)?1:0;if(p!=null){if(p=p.$$typeof,p===W)return 11;if(p===z)return 14}return 2}function O1(p,v){var F=p.alternate;return F===null?(F=Qd(p.tag,v,p.key,p.mode),F.elementType=p.elementType,F.type=p.type,F.stateNode=p.stateNode,F.alternate=p,p.alternate=F):(F.pendingProps=v,F.type=p.type,F.flags=0,F.subtreeFlags=0,F.deletions=null),F.flags=p.flags&14680064,F.childLanes=p.childLanes,F.lanes=p.lanes,F.child=p.child,F.memoizedProps=p.memoizedProps,F.memoizedState=p.memoizedState,F.updateQueue=p.updateQueue,v=p.dependencies,F.dependencies=v===null?null:{lanes:v.lanes,firstContext:v.firstContext},F.sibling=p.sibling,F.index=p.index,F.ref=p.ref,F}function lX(p,v,F,k,G,U){var ie=2;if(k=p,typeof p=="function")Zee(p)&&(ie=1);else if(typeof p=="string")ie=5;else e:switch(p){case D:return VC(F.children,G,U,v);case N:ie=8,G|=8;break;case T:return p=Qd(12,F,v,G|2),p.elementType=T,p.lanes=U,p;case Z:return p=Qd(13,F,v,G),p.elementType=Z,p.lanes=U,p;case V:return p=Qd(19,F,v,G),p.elementType=V,p.lanes=U,p;case B:return uX(F,G,U,v);default:if(typeof p=="object"&&p!==null)switch(p.$$typeof){case R:ie=10;break e;case E:ie=9;break e;case W:ie=11;break e;case z:ie=14;break e;case O:ie=16,k=null;break e}throw Error(t(130,p==null?p:typeof p,""))}return v=Qd(ie,F,v,G),v.elementType=p,v.type=k,v.lanes=U,v}function VC(p,v,F,k){return p=Qd(7,p,k,v),p.lanes=F,p}function uX(p,v,F,k){return p=Qd(22,p,k,v),p.elementType=B,p.lanes=F,p.stateNode={isHidden:!1},p}function Wee(p,v,F){return p=Qd(6,p,null,v),p.lanes=F,p}function Aee(p,v,F){return v=Qd(4,p.children!==null?p.children:[],p.key,v),v.lanes=F,v.stateNode={containerInfo:p.containerInfo,pendingChildren:null,implementation:p.implementation},v}function f7t(p,v,F,k,G){this.tag=v,this.containerInfo=p,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Cn(0),this.expirationTimes=Cn(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Cn(0),this.identifierPrefix=k,this.onRecoverableError=G,this.mutableSourceEagerHydrationData=null}function Vee(p,v,F,k,G,U,ie,Ie,Ae){return p=new f7t(p,v,F,Ie,Ae),v===1?(v=1,U===!0&&(v|=8)):v=0,U=Qd(3,null,null,v),p.current=U,U.stateNode=p,U.memoizedState={element:k,isDehydrated:F,cache:null,transitions:null,pendingSuspenseBoundaries:null},Qq(U),p}function g7t(p,v,F){var k=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Lte)}catch{}}Lte(),Ste.exports=mEe();var eh=Ste.exports;const Ite=vl(eh),Fte=x_({__proto__:null,default:Ite},[eh]);var Dte=eh;IX.createRoot=Dte.createRoot,IX.hydrateRoot=Dte.hydrateRoot;var fEe={exports:{}};(function(n){var e=function(t){var i=Object.prototype,r=i.hasOwnProperty,o=Object.defineProperty||function(H,M,X){H[M]=X.value},s,a=typeof Symbol=="function"?Symbol:{},l=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",c=a.toStringTag||"@@toStringTag";function d(H,M,X){return Object.defineProperty(H,M,{value:X,enumerable:!0,configurable:!0,writable:!0}),H[M]}try{d({},"")}catch{d=function(M,X,Y){return M[X]=Y}}function h(H,M,X,Y){var A=M&&M.prototype instanceof w?M:w,te=Object.create(A.prototype),oe=new O(Y||[]);return o(te,"_invoke",{value:W(H,X,oe)}),te}t.wrap=h;function m(H,M,X){try{return{type:"normal",arg:H.call(M,X)}}catch(Y){return{type:"throw",arg:Y}}}var f="suspendedStart",g="suspendedYield",b="executing",y="completed",C={};function w(){}function x(){}function L(){}var I={};d(I,l,function(){return this});var D=Object.getPrototypeOf,N=D&&D(D(B([])));N&&N!==i&&r.call(N,l)&&(I=N);var T=L.prototype=w.prototype=Object.create(I);x.prototype=L,o(T,"constructor",{value:L,configurable:!0}),o(L,"constructor",{value:x,configurable:!0}),x.displayName=d(L,c,"GeneratorFunction");function R(H){["next","throw","return"].forEach(function(M){d(H,M,function(X){return this._invoke(M,X)})})}t.isGeneratorFunction=function(H){var M=typeof H=="function"&&H.constructor;return M?M===x||(M.displayName||M.name)==="GeneratorFunction":!1},t.mark=function(H){return Object.setPrototypeOf?Object.setPrototypeOf(H,L):(H.__proto__=L,d(H,c,"GeneratorFunction")),H.prototype=Object.create(T),H},t.awrap=function(H){return{__await:H}};function E(H,M){function X(te,oe,ae,le){var ue=m(H[te],H,oe);if(ue.type==="throw")le(ue.arg);else{var Ce=ue.arg,pe=Ce.value;return pe&&typeof pe=="object"&&r.call(pe,"__await")?M.resolve(pe.__await).then(function(ce){X("next",ce,ae,le)},function(ce){X("throw",ce,ae,le)}):M.resolve(pe).then(function(ce){Ce.value=ce,ae(Ce)},function(ce){return X("throw",ce,ae,le)})}}var Y;function A(te,oe){function ae(){return new M(function(le,ue){X(te,oe,le,ue)})}return Y=Y?Y.then(ae,ae):ae()}o(this,"_invoke",{value:A})}R(E.prototype),d(E.prototype,u,function(){return this}),t.AsyncIterator=E,t.async=function(H,M,X,Y,A){A===void 0&&(A=Promise);var te=new E(h(H,M,X,Y),A);return t.isGeneratorFunction(M)?te:te.next().then(function(oe){return oe.done?oe.value:te.next()})};function W(H,M,X){var Y=f;return function(te,oe){if(Y===b)throw new Error("Generator is already running");if(Y===y){if(te==="throw")throw oe;return P()}for(X.method=te,X.arg=oe;;){var ae=X.delegate;if(ae){var le=Z(ae,X);if(le){if(le===C)continue;return le}}if(X.method==="next")X.sent=X._sent=X.arg;else if(X.method==="throw"){if(Y===f)throw Y=y,X.arg;X.dispatchException(X.arg)}else X.method==="return"&&X.abrupt("return",X.arg);Y=b;var ue=m(H,M,X);if(ue.type==="normal"){if(Y=X.done?y:g,ue.arg===C)continue;return{value:ue.arg,done:X.done}}else ue.type==="throw"&&(Y=y,X.method="throw",X.arg=ue.arg)}}}function Z(H,M){var X=M.method,Y=H.iterator[X];if(Y===s)return M.delegate=null,X==="throw"&&H.iterator.return&&(M.method="return",M.arg=s,Z(H,M),M.method==="throw")||X!=="return"&&(M.method="throw",M.arg=new TypeError("The iterator does not provide a '"+X+"' method")),C;var A=m(Y,H.iterator,M.arg);if(A.type==="throw")return M.method="throw",M.arg=A.arg,M.delegate=null,C;var te=A.arg;if(!te)return M.method="throw",M.arg=new TypeError("iterator result is not an object"),M.delegate=null,C;if(te.done)M[H.resultName]=te.value,M.next=H.nextLoc,M.method!=="return"&&(M.method="next",M.arg=s);else return te;return M.delegate=null,C}R(T),d(T,c,"Generator"),d(T,l,function(){return this}),d(T,"toString",function(){return"[object Generator]"});function V(H){var M={tryLoc:H[0]};1 in H&&(M.catchLoc=H[1]),2 in H&&(M.finallyLoc=H[2],M.afterLoc=H[3]),this.tryEntries.push(M)}function z(H){var M=H.completion||{};M.type="normal",delete M.arg,H.completion=M}function O(H){this.tryEntries=[{tryLoc:"root"}],H.forEach(V,this),this.reset(!0)}t.keys=function(H){var M=Object(H),X=[];for(var Y in M)X.push(Y);return X.reverse(),function A(){for(;X.length;){var te=X.pop();if(te in M)return A.value=te,A.done=!1,A}return A.done=!0,A}};function B(H){if(H!=null){var M=H[l];if(M)return M.call(H);if(typeof H.next=="function")return H;if(!isNaN(H.length)){var X=-1,Y=function A(){for(;++X=0;--Y){var A=this.tryEntries[Y],te=A.completion;if(A.tryLoc==="root")return X("end");if(A.tryLoc<=this.prev){var oe=r.call(A,"catchLoc"),ae=r.call(A,"finallyLoc");if(oe&&ae){if(this.prev=0;--X){var Y=this.tryEntries[X];if(Y.tryLoc<=this.prev&&r.call(Y,"finallyLoc")&&this.prev=0;--M){var X=this.tryEntries[M];if(X.finallyLoc===H)return this.complete(X.completion,X.afterLoc),z(X),C}},catch:function(H){for(var M=this.tryEntries.length-1;M>=0;--M){var X=this.tryEntries[M];if(X.tryLoc===H){var Y=X.completion;if(Y.type==="throw"){var A=Y.arg;z(X)}return A}}throw new Error("illegal catch attempt")},delegateYield:function(H,M,X){return this.delegate={iterator:B(H),resultName:M,nextLoc:X},this.method==="next"&&(this.arg=s),C}},t}(n.exports);try{regeneratorRuntime=e}catch{typeof globalThis=="object"?globalThis.regeneratorRuntime=e:Function("r","regeneratorRuntime = r")(e)}})(fEe);var Nte={exports:{}};/*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames -*/(function(n){(function(){var e={}.hasOwnProperty;function t(){for(var o="",s=0;s1&&arguments[1]!==void 0?arguments[1]:{},t=[];return ze.Children.forEach(n,function(i){i==null&&!e.keepEmpty||(Array.isArray(i)?t=t.concat(ad(i)):NL.isFragment(i)&&i.props?t=t.concat(ad(i.props.children,e)):t.push(i))}),t}var MX={},bEe=function(e){};function vEe(n,e){}function yEe(n,e){}function CEe(){MX={}}function Tte(n,e,t){!e&&!MX[t]&&(n(!1,t),MX[t]=!0)}function aa(n,e){Tte(vEe,n,e)}function Ete(n,e){Tte(yEe,n,e)}aa.preMessage=bEe,aa.resetWarned=CEe,aa.noteOnce=Ete;function Xn(n){"@babel/helpers - typeof";return Xn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Xn(n)}function wEe(n,e){if(Xn(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var i=t.call(n,e||"default");if(Xn(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function Zte(n){var e=wEe(n,"string");return Xn(e)=="symbol"?e:e+""}function ge(n,e,t){return e=Zte(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Wte(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);e&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable})),t.push.apply(t,i)}return t}function xe(n){for(var e=1;e0},n.prototype.connect_=function(){!TX||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),MEe?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},n.prototype.disconnect_=function(){!TX||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},n.prototype.onTransitionEnd_=function(e){var t=e.propertyName,i=t===void 0?"":t,r=DEe.some(function(o){return!!~i.indexOf(o)});r&&this.refresh()},n.getInstance=function(){return this.instance_||(this.instance_=new n),this.instance_},n.instance_=null,n}(),Vte=function(n,e){for(var t=0,i=Object.keys(e);t"u"||!(Element instanceof Object))){if(!(e instanceof BC(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)||(t.set(e,new AEe(e)),this.controller_.addObserver(this),this.controller_.refresh())}},n.prototype.unobserve=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(e instanceof BC(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)&&(t.delete(e),t.size||this.controller_.removeObserver(this))}},n.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},n.prototype.gatherActive=function(){var e=this;this.clearActive(),this.observations_.forEach(function(t){t.isActive()&&e.activeObservations_.push(t)})},n.prototype.broadcastActive=function(){if(this.hasActive()){var e=this.callbackCtx_,t=this.activeObservations_.map(function(i){return new GEe(i.target,i.broadcastRect())});this.callback_.call(e,t,e),this.clearActive()}},n.prototype.clearActive=function(){this.activeObservations_.splice(0)},n.prototype.hasActive=function(){return this.activeObservations_.length>0},n}(),Xte=typeof WeakMap<"u"?new WeakMap:new Rte,Pte=function(){function n(e){if(!(this instanceof n))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var t=kEe.getInstance(),i=new XEe(e,t,this);Xte.set(this,i)}return n}();["observe","unobserve","disconnect"].forEach(function(n){Pte.prototype[n]=function(){var e;return(e=Xte.get(this))[n].apply(e,arguments)}});var PEe=function(){return typeof zN.ResizeObserver<"u"?zN.ResizeObserver:Pte}(),nb=new Map;function OEe(n){n.forEach(function(e){var t,i=e.target;(t=nb.get(i))===null||t===void 0||t.forEach(function(r){return r(i)})})}var Ote=new PEe(OEe);function BEe(n,e){nb.has(n)||(nb.set(n,new Set),Ote.observe(n)),nb.get(n).add(e)}function zEe(n,e){nb.has(n)&&(nb.get(n).delete(e),nb.get(n).size||(Ote.unobserve(n),nb.delete(n)))}function xs(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function Bte(n,e){for(var t=0;tn.length)&&(e=n.length);for(var t=0,i=new Array(e);t1&&arguments[1]!==void 0?arguments[1]:1;Kte+=1;var i=Kte;function r(o){if(o===0)Jte(i),e();else{var s=Yte(function(){r(o-1)});VX.set(i,s)}}return r(t),i};xi.cancel=function(n){var e=VX.get(n);return Jte(n),Ute(e)};function jte(n){if(Array.isArray(n))return n}function $Ee(n,e){var t=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(t!=null){var i,r,o,s,a=[],l=!0,u=!1;try{if(o=(t=t.call(n)).next,e===0){if(Object(t)!==t)return;l=!1}else for(;!(l=(i=o.call(t)).done)&&(a.push(i.value),a.length!==e);l=!0);}catch(c){u=!0,r=c}finally{try{if(!l&&t.return!=null&&(s=t.return(),Object(s)!==s))return}finally{if(u)throw r}}return a}}function Qte(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Se(n,e){return jte(n)||$Ee(n,e)||RX(n,e)||Qte()}function ZL(n){for(var e=0,t,i=0,r=n.length;r>=4;++i,r-=4)t=n.charCodeAt(i)&255|(n.charCodeAt(++i)&255)<<8|(n.charCodeAt(++i)&255)<<16|(n.charCodeAt(++i)&255)<<24,t=(t&65535)*1540483477+((t>>>16)*59797<<16),t^=t>>>24,e=(t&65535)*1540483477+((t>>>16)*59797<<16)^(e&65535)*1540483477+((e>>>16)*59797<<16);switch(r){case 3:e^=(n.charCodeAt(i+2)&255)<<16;case 2:e^=(n.charCodeAt(i+1)&255)<<8;case 1:e^=n.charCodeAt(i)&255,e=(e&65535)*1540483477+((e>>>16)*59797<<16)}return e^=e>>>13,e=(e&65535)*1540483477+((e>>>16)*59797<<16),((e^e>>>15)>>>0).toString(36)}function wl(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}function AX(n,e){if(!n)return!1;if(n.contains)return n.contains(e);for(var t=e;t;){if(t===n)return!0;t=t.parentNode}return!1}var $te="data-rc-order",qte="data-rc-priority",qEe="rc-util-key",GX=new Map;function ene(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=n.mark;return e?e.startsWith("data-")?e:"data-".concat(e):qEe}function UN(n){if(n.attachTo)return n.attachTo;var e=document.querySelector("head");return e||document.body}function e5e(n){return n==="queue"?"prependQueue":n?"prepend":"append"}function XX(n){return Array.from((GX.get(n)||n).children).filter(function(e){return e.tagName==="STYLE"})}function tne(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!wl())return null;var t=e.csp,i=e.prepend,r=e.priority,o=r===void 0?0:r,s=e5e(i),a=s==="prependQueue",l=document.createElement("style");l.setAttribute($te,s),a&&o&&l.setAttribute(qte,"".concat(o)),t!=null&&t.nonce&&(l.nonce=t==null?void 0:t.nonce),l.innerHTML=n;var u=UN(e),c=u.firstChild;if(i){if(a){var d=(e.styles||XX(u)).filter(function(h){if(!["prepend","prependQueue"].includes(h.getAttribute($te)))return!1;var m=Number(h.getAttribute(qte)||0);return o>=m});if(d.length)return u.insertBefore(l,d[d.length-1].nextSibling),l}u.insertBefore(l,c)}else u.appendChild(l);return l}function nne(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=UN(e);return(e.styles||XX(t)).find(function(i){return i.getAttribute(ene(e))===n})}function WL(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=nne(n,e);if(t){var i=UN(e);i.removeChild(t)}}function t5e(n,e){var t=GX.get(n);if(!t||!AX(document,t)){var i=tne("",e),r=i.parentNode;GX.set(n,r),n.removeChild(i)}}function $f(n,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=UN(t),r=XX(i),o=xe(xe({},t),{},{styles:r});t5e(i,o);var s=nne(e,o);if(s){var a,l;if((a=o.csp)!==null&&a!==void 0&&a.nonce&&s.nonce!==((l=o.csp)===null||l===void 0?void 0:l.nonce)){var u;s.nonce=(u=o.csp)===null||u===void 0?void 0:u.nonce}return s.innerHTML!==n&&(s.innerHTML=n),s}var c=tne(n,o);return c.setAttribute(ene(o),e),c}function n5e(n,e){if(n==null)return{};var t={},i=Object.keys(n),r,o;for(o=0;o=0)&&(t[r]=n[r]);return t}function zn(n,e){if(n==null)return{};var t=n5e(n,e),i,r;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(n);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(n,i)&&(t[i]=n[i])}return t}function RL(n,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=new Set;function r(o,s){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,l=i.has(o);if(aa(!l,"Warning: There may be circular references"),l)return!1;if(o===s)return!0;if(t&&a>1)return!1;i.add(o);var u=a+1;if(Array.isArray(o)){if(!Array.isArray(s)||o.length!==s.length)return!1;for(var c=0;c1&&arguments[1]!==void 0?arguments[1]:!1,s={map:this.cache};return t.forEach(function(a){if(!s)s=void 0;else{var l;s=(l=s)===null||l===void 0||(l=l.map)===null||l===void 0?void 0:l.get(a)}}),(i=s)!==null&&i!==void 0&&i.value&&o&&(s.value[1]=this.cacheCallTimes++),(r=s)===null||r===void 0?void 0:r.value}},{key:"get",value:function(t){var i;return(i=this.internalGet(t,!0))===null||i===void 0?void 0:i[0]}},{key:"has",value:function(t){return!!this.internalGet(t)}},{key:"set",value:function(t,i){var r=this;if(!this.has(t)){if(this.size()+1>n.MAX_CACHE_SIZE+n.MAX_CACHE_OFFSET){var o=this.keys.reduce(function(u,c){var d=Se(u,2),h=d[1];return r.internalGet(c)[1]0,void 0),ine+=1}return Ls(n,[{key:"getDerivativeToken",value:function(t){return this.derivatives.reduce(function(i,r){return r(t,i)},void 0)}}]),n}(),BX=new OX;function zX(n){var e=Array.isArray(n)?n:[n];return BX.has(e)||BX.set(e,new rne(e)),BX.get(e)}var a5e=new WeakMap,HX={};function l5e(n,e){for(var t=a5e,i=0;i1&&arguments[1]!==void 0?arguments[1]:!1,t=one.get(n)||"";return t||(Object.keys(n).forEach(function(i){var r=n[i];t+=i,r instanceof rne?t+=r.id:r&&Xn(r)==="object"?t+=VL(r,e):t+=r}),e&&(t=ZL(t)),one.set(n,t)),t}function sne(n,e){return ZL("".concat(e,"_").concat(VL(n,!0)))}var YX=wl();function Ee(n){return typeof n=="number"?"".concat(n,"px"):n}function JN(n,e,t){var i,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;if(o)return n;var s=xe(xe({},r),{},(i={},ge(i,HC,e),ge(i,nh,t),i)),a=Object.keys(s).map(function(l){var u=s[l];return u?"".concat(l,'="').concat(u,'"'):null}).filter(function(l){return l}).join(" ");return"")}var ane=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return"--".concat(t?"".concat(t,"-"):"").concat(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z0-9]+)/g,"$1-$2").replace(/([a-z])([A-Z0-9])/g,"$1-$2").toLowerCase()},u5e=function(e,t,i){return Object.keys(e).length?".".concat(t).concat(i!=null&&i.scope?".".concat(i.scope):"","{").concat(Object.entries(e).map(function(r){var o=Se(r,2),s=o[0],a=o[1];return"".concat(s,":").concat(a,";")}).join(""),"}"):""},lne=function(e,t,i){var r={},o={};return Object.entries(e).forEach(function(s){var a,l,u=Se(s,2),c=u[0],d=u[1];if(i!=null&&(a=i.preserve)!==null&&a!==void 0&&a[c])o[c]=d;else if((typeof d=="string"||typeof d=="number")&&!(i!=null&&(l=i.ignore)!==null&&l!==void 0&&l[c])){var h,m=ane(c,i==null?void 0:i.prefix);r[m]=typeof d=="number"&&!(i!=null&&(h=i.unitless)!==null&&h!==void 0&&h[c])?"".concat(d,"px"):String(d),o[c]="var(".concat(m,")")}}),[o,u5e(r,t,{scope:i==null?void 0:i.scope})]},une=wl()?w.useLayoutEffect:w.useEffect,dr=function(e,t){var i=w.useRef(!0);une(function(){return e(i.current)},t),une(function(){return i.current=!1,function(){i.current=!0}},[])},Y1=function(e,t){dr(function(i){if(!i)return e()},t)},c5e=xe({},z1),cne=c5e.useInsertionEffect,d5e=function(e,t,i){w.useMemo(e,i),dr(function(){return t(!0)},i)},h5e=cne?function(n,e,t){return cne(function(){return n(),e()},t)}:d5e,m5e=xe({},z1),f5e=m5e.useInsertionEffect,g5e=function(e){var t=[],i=!1;function r(o){i||t.push(o)}return w.useEffect(function(){return i=!1,function(){i=!0,t.length&&t.forEach(function(o){return o()})}},e),r},p5e=function(){return function(e){e()}},b5e=typeof f5e<"u"?g5e:p5e;function UX(n,e,t,i,r){var o=w.useContext(KN),s=o.cache,a=[n].concat(_t(e)),l=PX(a),u=b5e([l]),c=function(f){s.opUpdate(l,function(g){var b=g||[void 0,void 0],v=Se(b,2),C=v[0],S=C===void 0?0:C,x=v[1],_=x,F=_||t(),D=[S,F];return f?f(D):D})};w.useMemo(function(){c()},[l]);var d=s.opGet(l),h=d[1];return h5e(function(){r==null||r(h)},function(m){return c(function(f){var g=Se(f,2),b=g[0],v=g[1];return m&&b===0&&(r==null||r(h)),[b+1,v]}),function(){s.opUpdate(l,function(f){var g=f||[],b=Se(g,2),v=b[0],C=v===void 0?0:v,S=b[1],x=C-1;return x===0?(u(function(){(m||!s.opGet(l))&&(i==null||i(S,!1))}),null):[C-1,S]})}},[l]),h}var v5e={},y5e="css",U1=new Map;function C5e(n){U1.set(n,(U1.get(n)||0)+1)}function w5e(n,e){if(typeof document<"u"){var t=document.querySelectorAll("style[".concat(HC,'="').concat(n,'"]'));t.forEach(function(i){if(i[ib]===e){var r;(r=i.parentNode)===null||r===void 0||r.removeChild(i)}})}}var S5e=0;function x5e(n,e){U1.set(n,(U1.get(n)||0)-1);var t=Array.from(U1.keys()),i=t.filter(function(r){var o=U1.get(r)||0;return o<=0});t.length-i.length>S5e&&i.forEach(function(r){w5e(r,e),U1.delete(r)})}var L5e=function(e,t,i,r){var o=i.getDerivativeToken(e),s=xe(xe({},o),t);return r&&(s=r(s)),s},dne="token";function _5e(n,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=w.useContext(KN),r=i.cache.instanceId,o=i.container,s=t.salt,a=s===void 0?"":s,l=t.override,u=l===void 0?v5e:l,c=t.formatToken,d=t.getComputedToken,h=t.cssVar,m=l5e(function(){return Object.assign.apply(Object,[{}].concat(_t(e)))},e),f=VL(m),g=VL(u),b=h?VL(h):"",v=UX(dne,[a,n.id,f,g,b],function(){var C,S=d?d(m,u,n):L5e(m,u,n,c),x=xe({},S),_="";if(h){var F=lne(S,h.key,{prefix:h.prefix,ignore:h.ignore,unitless:h.unitless,preserve:h.preserve}),D=Se(F,2);S=D[0],_=D[1]}var M=sne(S,a);S._tokenKey=M,x._tokenKey=sne(x,a);var T=(C=h==null?void 0:h.key)!==null&&C!==void 0?C:M;S._themeKey=T,C5e(T);var Z="".concat(y5e,"-").concat(ZL(M));return S._hashId=Z,[S,Z,x,_,(h==null?void 0:h.key)||""]},function(C){x5e(C[0]._themeKey,r)},function(C){var S=Se(C,4),x=S[0],_=S[3];if(h&&_){var F=$f(_,ZL("css-variables-".concat(x._themeKey)),{mark:nh,prepend:"queue",attachTo:o,priority:-999});F[ib]=r,F.setAttribute(HC,x._themeKey)}});return v}var F5e=function(e,t,i){var r=Se(e,5),o=r[2],s=r[3],a=r[4],l=i||{},u=l.plain;if(!s)return null;var c=o._tokenKey,d=-999,h={"data-rc-order":"prependQueue","data-rc-priority":"".concat(d)},m=JN(s,a,c,h,u);return[d,c,m]},I5e={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},hne="comm",mne="rule",fne="decl",D5e="@import",M5e="@keyframes",k5e="@layer",gne=Math.abs,KX=String.fromCharCode;function pne(n){return n.trim()}function jN(n,e,t){return n.replace(e,t)}function N5e(n,e,t){return n.indexOf(e,t)}function AL(n,e){return n.charCodeAt(e)|0}function GL(n,e,t){return n.slice(e,t)}function qf(n){return n.length}function T5e(n){return n.length}function QN(n,e){return e.push(n),n}var $N=1,YC=1,bne=0,ld=0,Bs=0,UC="";function JX(n,e,t,i,r,o,s,a){return{value:n,root:e,parent:t,type:i,props:r,children:o,line:$N,column:YC,length:s,return:"",siblings:a}}function E5e(){return Bs}function Z5e(){return Bs=ld>0?AL(UC,--ld):0,YC--,Bs===10&&(YC=1,$N--),Bs}function ih(){return Bs=ld2||jX(Bs)>3?"":" "}function A5e(n,e){for(;--e&&ih()&&!(Bs<48||Bs>102||Bs>57&&Bs<65||Bs>70&&Bs<97););return eT(n,qN()+(e<6&&K1()==32&&ih()==32))}function $X(n){for(;ih();)switch(Bs){case n:return ld;case 34:case 39:n!==34&&n!==39&&$X(Bs);break;case 40:n===41&&$X(n);break;case 92:ih();break}return ld}function G5e(n,e){for(;ih()&&n+Bs!==57;)if(n+Bs===84&&K1()===47)break;return"/*"+eT(e,ld-1)+"*"+KX(n===47?n:ih())}function X5e(n){for(;!jX(K1());)ih();return eT(n,ld)}function P5e(n){return R5e(tT("",null,null,null,[""],n=W5e(n),0,[0],n))}function tT(n,e,t,i,r,o,s,a,l){for(var u=0,c=0,d=s,h=0,m=0,f=0,g=1,b=1,v=1,C=0,S="",x=r,_=o,F=i,D=S;b;)switch(f=C,C=ih()){case 40:if(f!=108&&AL(D,d-1)==58){N5e(D+=jN(QX(C),"&","&\f"),"&\f",gne(u?a[u-1]:0))!=-1&&(v=-1);break}case 34:case 39:case 91:D+=QX(C);break;case 9:case 10:case 13:case 32:D+=V5e(f);break;case 92:D+=A5e(qN()-1,7);continue;case 47:switch(K1()){case 42:case 47:QN(O5e(G5e(ih(),qN()),e,t,l),l);break;default:D+="/"}break;case 123*g:a[u++]=qf(D)*v;case 125*g:case 59:case 0:switch(C){case 0:case 125:b=0;case 59+c:v==-1&&(D=jN(D,/\f/g,"")),m>0&&qf(D)-d&&QN(m>32?yne(D+";",i,t,d-1,l):yne(jN(D," ","")+";",i,t,d-2,l),l);break;case 59:D+=";";default:if(QN(F=vne(D,e,t,u,c,r,a,S,x=[],_=[],d,o),o),C===123)if(c===0)tT(D,e,F,F,x,o,d,a,_);else switch(h===99&&AL(D,3)===110?100:h){case 100:case 108:case 109:case 115:tT(n,F,F,i&&QN(vne(n,F,F,0,0,r,a,S,r,x=[],d,_),_),r,_,d,a,i?x:_);break;default:tT(D,F,F,F,[""],_,0,a,_)}}u=c=m=0,g=v=1,S=D="",d=s;break;case 58:d=1+qf(D),m=f;default:if(g<1){if(C==123)--g;else if(C==125&&g++==0&&Z5e()==125)continue}switch(D+=KX(C),C*g){case 38:v=c>0?1:(D+="\f",-1);break;case 44:a[u++]=(qf(D)-1)*v,v=1;break;case 64:K1()===45&&(D+=QX(ih())),h=K1(),c=d=qf(S=D+=X5e(qN())),C++;break;case 45:f===45&&qf(D)==2&&(g=0)}}return o}function vne(n,e,t,i,r,o,s,a,l,u,c,d){for(var h=r-1,m=r===0?o:[""],f=T5e(m),g=0,b=0,v=0;g0?m[C]+" "+S:jN(S,/&\f/g,m[C])))&&(l[v++]=x);return JX(n,e,t,r===0?mne:a,l,u,c,d)}function O5e(n,e,t,i){return JX(n,e,t,hne,KX(E5e()),GL(n,2,-2),0,i)}function yne(n,e,t,i,r){return JX(n,e,t,fne,GL(n,0,i),GL(n,i+1,-1),i,r)}function qX(n,e){for(var t="",i=0;i1&&arguments[1]!==void 0?arguments[1]:{},i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{root:!0,parentSelectors:[]},r=i.root,o=i.injectHash,s=i.parentSelectors,a=t.hashId,l=t.layer;t.path;var u=t.hashPriority,c=t.transformers,d=c===void 0?[]:c;t.linters;var h="",m={};function f(v){var C=v.getName(a);if(!m[C]){var S=n(v.style,t,{root:!1,parentSelectors:s}),x=Se(S,1),_=x[0];m[C]="@keyframes ".concat(v.getName(a)).concat(_)}}function g(v){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return v.forEach(function(S){Array.isArray(S)?g(S,C):S&&C.push(S)}),C}var b=g(Array.isArray(e)?e:[e]);return b.forEach(function(v){var C=typeof v=="string"&&!r?{}:v;if(typeof C=="string")h+="".concat(C,` -`);else if(C._keyframe)f(C);else{var S=d.reduce(function(x,_){var F;return(_==null||(F=_.visit)===null||F===void 0?void 0:F.call(_,x))||x},C);Object.keys(S).forEach(function(x){var _=S[x];if(Xn(_)==="object"&&_&&(x!=="animationName"||!_._keyframe)&&!K5e(_)){var F=!1,D=x.trim(),M=!1;(r||o)&&a?D.startsWith("@")?F=!0:D=J5e(x,a,u):r&&!a&&(D==="&"||D==="")&&(D="",M=!0);var T=n(_,t,{root:M,injectHash:F,parentSelectors:[].concat(_t(s),[D])}),Z=Se(T,2),E=Z[0],R=Z[1];m=xe(xe({},m),R),h+="".concat(D).concat(E)}else{let z=function(O,B){var P=O.replace(/[A-Z]/g,function(k){return"-".concat(k.toLowerCase())}),H=B;!I5e[O]&&typeof H=="number"&&H!==0&&(H="".concat(H,"px")),O==="animationName"&&B!==null&&B!==void 0&&B._keyframe&&(f(B),H=B.getName(a)),h+="".concat(P,":").concat(H,";")};var W,A=(W=_==null?void 0:_.value)!==null&&W!==void 0?W:_;Xn(_)==="object"&&_!==null&&_!==void 0&&_[xne]&&Array.isArray(A)?A.forEach(function(O){z(x,O)}):z(x,A)}})}}),r?l&&(h="@layer ".concat(l.name," {").concat(h,"}"),l.dependencies&&(m["@layer ".concat(l.name)]=l.dependencies.map(function(v){return"@layer ".concat(v,", ").concat(l.name,";")}).join(` -`))):h="{".concat(h,"}"),[h,m]};function Lne(n,e){return ZL("".concat(n.join("%")).concat(e))}function Q5e(){return null}var _ne="style";function e4(n,e){var t=n.token,i=n.path,r=n.hashId,o=n.layer,s=n.nonce,a=n.clientOnly,l=n.order,u=l===void 0?0:l,c=w.useContext(KN),d=c.autoClear;c.mock;var h=c.defaultCache,m=c.hashPriority,f=c.container,g=c.ssrInline,b=c.transformers,v=c.linters,C=c.cache,S=c.layer,x=t._tokenKey,_=[x];S&&_.push("layer"),_.push.apply(_,_t(i));var F=YX,D=UX(_ne,_,function(){var R=_.join("|");if(H5e(R)){var W=Y5e(R),A=Se(W,2),z=A[0],O=A[1];if(z)return[z,x,O,{},a,u]}var B=e(),P=j5e(B,{hashId:r,hashPriority:m,layer:S?o:void 0,path:i.join("-"),transformers:b,linters:v}),H=Se(P,2),k=H[0],X=H[1],Y=nT(k),V=Lne(_,Y);return[Y,x,V,X,a,u]},function(R,W){var A=Se(R,3),z=A[2];(W||d)&&YX&&WL(z,{mark:nh})},function(R){var W=Se(R,4),A=W[0];W[1];var z=W[2],O=W[3];if(F&&A!==wne){var B={mark:nh,prepend:S?!1:"queue",attachTo:f,priority:u},P=typeof s=="function"?s():s;P&&(B.csp={nonce:P});var H=[],k=[];Object.keys(O).forEach(function(Y){Y.startsWith("@layer")?H.push(Y):k.push(Y)}),H.forEach(function(Y){$f(nT(O[Y]),"_layer-".concat(Y),xe(xe({},B),{},{prepend:!0}))});var X=$f(A,z,B);X[ib]=C.instanceId,X.setAttribute(HC,x),k.forEach(function(Y){$f(nT(O[Y]),"_effect-".concat(Y),B)})}}),M=Se(D,3),T=M[0],Z=M[1],E=M[2];return function(R){var W;if(!g||F||!h)W=w.createElement(Q5e,null);else{var A;W=w.createElement("style",pt({},(A={},ge(A,HC,Z),ge(A,nh,E),A),{dangerouslySetInnerHTML:{__html:T}}))}return w.createElement(w.Fragment,null,W,R)}}var $5e=function(e,t,i){var r=Se(e,6),o=r[0],s=r[1],a=r[2],l=r[3],u=r[4],c=r[5],d=i||{},h=d.plain;if(u)return null;var m=o,f={"data-rc-order":"prependQueue","data-rc-priority":"".concat(c)};return m=JN(o,s,a,f,h),l&&Object.keys(l).forEach(function(g){if(!t[g]){t[g]=!0;var b=nT(l[g]),v=JN(b,s,"_effect-".concat(g),f,h);g.startsWith("@layer")?m=v+m:m+=v}}),[c,a,m]},Fne="cssVar",q5e=function(e,t){var i=e.key,r=e.prefix,o=e.unitless,s=e.ignore,a=e.token,l=e.scope,u=l===void 0?"":l,c=w.useContext(KN),d=c.cache.instanceId,h=c.container,m=a._tokenKey,f=[].concat(_t(e.path),[i,u,m]),g=UX(Fne,f,function(){var b=t(),v=lne(b,i,{prefix:r,unitless:o,ignore:s,scope:u}),C=Se(v,2),S=C[0],x=C[1],_=Lne(f,x);return[S,x,_,i]},function(b){var v=Se(b,3),C=v[2];YX&&WL(C,{mark:nh})},function(b){var v=Se(b,3),C=v[1],S=v[2];if(C){var x=$f(C,S,{mark:nh,prepend:"queue",attachTo:h,priority:-999});x[ib]=d,x.setAttribute(HC,i)}});return g},eZe=function(e,t,i){var r=Se(e,4),o=r[1],s=r[2],a=r[3],l=i||{},u=l.plain;if(!o)return null;var c=-999,d={"data-rc-order":"prependQueue","data-rc-priority":"".concat(c)},h=JN(o,a,s,d,u);return[c,s,h]},XL;XL={},ge(XL,_ne,$5e),ge(XL,dne,F5e),ge(XL,Fne,eZe);var ki=function(){function n(e,t){xs(this,n),ge(this,"name",void 0),ge(this,"style",void 0),ge(this,"_keyframe",!0),this.name=e,this.style=t}return Ls(n,[{key:"getName",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return t?"".concat(t,"-").concat(this.name):this.name}}]),n}();function KC(n){return n.notSplit=!0,n}KC(["borderTop","borderBottom"]),KC(["borderTop"]),KC(["borderBottom"]),KC(["borderLeft","borderRight"]),KC(["borderLeft"]),KC(["borderRight"]);var t4=w.createContext({});function Ine(n){return jte(n)||Hte(n)||RX(n)||Qte()}function Cm(n,e){for(var t=n,i=0;i3&&arguments[3]!==void 0?arguments[3]:!1;return e.length&&i&&t===void 0&&!Cm(n,e.slice(0,-1))?n:Dne(n,e,t,i)}function tZe(n){return Xn(n)==="object"&&n!==null&&Object.getPrototypeOf(n)===Object.prototype}function Mne(n){return Array.isArray(n)?[]:{}}var nZe=typeof Reflect>"u"?Object.keys:Reflect.ownKeys;function JC(){for(var n=arguments.length,e=new Array(n),t=0;t{const n=()=>{};return n.deprecated=iZe,n},kne=w.createContext(void 0);var oZe={items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"Page",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages",page_size:"Page Size"},sZe={locale:"en_US",today:"Today",now:"Now",backToToday:"Back to today",ok:"OK",clear:"Clear",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"};const Nne={placeholder:"Select time",rangePlaceholder:["Start time","End time"]},iT={lang:Object.assign({placeholder:"Select date",yearPlaceholder:"Select year",quarterPlaceholder:"Select quarter",monthPlaceholder:"Select month",weekPlaceholder:"Select week",rangePlaceholder:["Start date","End date"],rangeYearPlaceholder:["Start year","End year"],rangeQuarterPlaceholder:["Start quarter","End quarter"],rangeMonthPlaceholder:["Start month","End month"],rangeWeekPlaceholder:["Start week","End week"]},sZe),timePickerLocale:Object.assign({},Nne)},fc="${label} is not a valid ${type}",eg={locale:"en",Pagination:oZe,DatePicker:iT,TimePicker:Nne,Calendar:iT,global:{placeholder:"Please select"},Table:{filterTitle:"Filter menu",filterConfirm:"OK",filterReset:"Reset",filterEmptyText:"No filters",filterCheckall:"Select all items",filterSearchPlaceholder:"Search in filters",emptyText:"No data",selectAll:"Select current page",selectInvert:"Invert current page",selectNone:"Clear all data",selectionAll:"Select all data",sortTitle:"Sort",expand:"Expand row",collapse:"Collapse row",triggerDesc:"Click to sort descending",triggerAsc:"Click to sort ascending",cancelSort:"Click to cancel sorting"},Tour:{Next:"Next",Previous:"Previous",Finish:"Finish"},Modal:{okText:"OK",cancelText:"Cancel",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Cancel"},Transfer:{titles:["",""],searchPlaceholder:"Search here",itemUnit:"item",itemsUnit:"items",remove:"Remove",selectCurrent:"Select current page",removeCurrent:"Remove current page",selectAll:"Select all data",deselectAll:"Deselect all data",removeAll:"Remove all data",selectInvert:"Invert current page"},Upload:{uploading:"Uploading...",removeFile:"Remove file",uploadError:"Upload error",previewFile:"Preview file",downloadFile:"Download file"},Empty:{description:"No data"},Icon:{icon:"icon"},Text:{edit:"Edit",copy:"Copy",copied:"Copied",expand:"Expand",collapse:"Collapse"},Form:{optional:"(optional)",defaultValidateMessages:{default:"Field validation error for ${label}",required:"Please enter ${label}",enum:"${label} must be one of [${enum}]",whitespace:"${label} cannot be a blank character",date:{format:"${label} date format is invalid",parse:"${label} cannot be converted to a date",invalid:"${label} is an invalid date"},types:{string:fc,method:fc,array:fc,object:fc,number:fc,date:fc,boolean:fc,integer:fc,float:fc,regexp:fc,email:fc,url:fc,hex:fc},string:{len:"${label} must be ${len} characters",min:"${label} must be at least ${min} characters",max:"${label} must be up to ${max} characters",range:"${label} must be between ${min}-${max} characters"},number:{len:"${label} must be equal to ${len}",min:"${label} must be minimum ${min}",max:"${label} must be maximum ${max}",range:"${label} must be between ${min}-${max}"},array:{len:"Must be ${len} ${label}",min:"At least ${min} ${label}",max:"At most ${max} ${label}",range:"The amount of ${label} must be between ${min}-${max}"},pattern:{mismatch:"${label} does not match the pattern ${pattern}"}}},Image:{preview:"Preview"},QRCode:{expired:"QR code expired",refresh:"Refresh",scanned:"Scanned"},ColorPicker:{presetEmpty:"Empty"}};let rT=Object.assign({},eg.Modal),oT=[];const Tne=()=>oT.reduce((n,e)=>Object.assign(Object.assign({},n),e),eg.Modal);function aZe(n){if(n){const e=Object.assign({},n);return oT.push(e),rT=Tne(),()=>{oT=oT.filter(t=>t!==e),rT=Tne()}}rT=Object.assign({},eg.Modal)}function Ene(){return rT}const n4=w.createContext(void 0),rb=(n,e)=>{const t=w.useContext(n4),i=w.useMemo(()=>{var o;const s=e||eg[n],a=(o=t==null?void 0:t[n])!==null&&o!==void 0?o:{};return Object.assign(Object.assign({},typeof s=="function"?s():s),a||{})},[n,e,t]),r=w.useMemo(()=>{const o=t==null?void 0:t.locale;return t!=null&&t.exist&&!o?eg.locale:o},[t]);return[i,r]},lZe="internalMark",uZe=n=>{const{locale:e={},children:t,_ANT_MARK__:i}=n;w.useEffect(()=>aZe(e&&e.Modal),[e]);const r=w.useMemo(()=>Object.assign(Object.assign({},e),{exist:!0}),[e]);return w.createElement(n4.Provider,{value:r},t)};function Xa(n,e){cZe(n)&&(n="100%");var t=dZe(n);return n=e===360?n:Math.min(e,Math.max(0,parseFloat(n))),t&&(n=parseInt(String(n*e),10)/100),Math.abs(n-e)<1e-6?1:(e===360?n=(n<0?n%e+e:n%e)/parseFloat(String(e)):n=n%e/parseFloat(String(e)),n)}function sT(n){return Math.min(1,Math.max(0,n))}function cZe(n){return typeof n=="string"&&n.indexOf(".")!==-1&&parseFloat(n)===1}function dZe(n){return typeof n=="string"&&n.indexOf("%")!==-1}function Zne(n){return n=parseFloat(n),(isNaN(n)||n<0||n>1)&&(n=1),n}function aT(n){return n<=1?"".concat(Number(n)*100,"%"):n}function j1(n){return n.length===1?"0"+n:String(n)}function hZe(n,e,t){return{r:Xa(n,255)*255,g:Xa(e,255)*255,b:Xa(t,255)*255}}function Wne(n,e,t){n=Xa(n,255),e=Xa(e,255),t=Xa(t,255);var i=Math.max(n,e,t),r=Math.min(n,e,t),o=0,s=0,a=(i+r)/2;if(i===r)s=0,o=0;else{var l=i-r;switch(s=a>.5?l/(2-i-r):l/(i+r),i){case n:o=(e-t)/l+(e1&&(t-=1),t<1/6?n+(e-n)*(6*t):t<1/2?e:t<2/3?n+(e-n)*(2/3-t)*6:n}function mZe(n,e,t){var i,r,o;if(n=Xa(n,360),e=Xa(e,100),t=Xa(t,100),e===0)r=t,o=t,i=t;else{var s=t<.5?t*(1+e):t+e-t*e,a=2*t-s;i=i4(a,s,n+1/3),r=i4(a,s,n),o=i4(a,s,n-1/3)}return{r:i*255,g:r*255,b:o*255}}function r4(n,e,t){n=Xa(n,255),e=Xa(e,255),t=Xa(t,255);var i=Math.max(n,e,t),r=Math.min(n,e,t),o=0,s=i,a=i-r,l=i===0?0:a/i;if(i===r)o=0;else{switch(i){case n:o=(e-t)/a+(e>16,g:(n&65280)>>8,b:n&255}}var s4={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function QC(n){var e={r:0,g:0,b:0},t=1,i=null,r=null,o=null,s=!1,a=!1;return typeof n=="string"&&(n=CZe(n)),typeof n=="object"&&(tg(n.r)&&tg(n.g)&&tg(n.b)?(e=hZe(n.r,n.g,n.b),s=!0,a=String(n.r).substr(-1)==="%"?"prgb":"rgb"):tg(n.h)&&tg(n.s)&&tg(n.v)?(i=aT(n.s),r=aT(n.v),e=fZe(n.h,i,r),s=!0,a="hsv"):tg(n.h)&&tg(n.s)&&tg(n.l)&&(i=aT(n.s),o=aT(n.l),e=mZe(n.h,i,o),s=!0,a="hsl"),Object.prototype.hasOwnProperty.call(n,"a")&&(t=n.a)),t=Zne(t),{ok:s,format:n.format||a,r:Math.min(255,Math.max(e.r,0)),g:Math.min(255,Math.max(e.g,0)),b:Math.min(255,Math.max(e.b,0)),a:t}}var vZe="[-\\+]?\\d+%?",yZe="[-\\+]?\\d*\\.\\d+%?",ob="(?:".concat(yZe,")|(?:").concat(vZe,")"),a4="[\\s|\\(]+(".concat(ob,")[,|\\s]+(").concat(ob,")[,|\\s]+(").concat(ob,")\\s*\\)?"),l4="[\\s|\\(]+(".concat(ob,")[,|\\s]+(").concat(ob,")[,|\\s]+(").concat(ob,")[,|\\s]+(").concat(ob,")\\s*\\)?"),oh={CSS_UNIT:new RegExp(ob),rgb:new RegExp("rgb"+a4),rgba:new RegExp("rgba"+l4),hsl:new RegExp("hsl"+a4),hsla:new RegExp("hsla"+l4),hsv:new RegExp("hsv"+a4),hsva:new RegExp("hsva"+l4),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function CZe(n){if(n=n.trim().toLowerCase(),n.length===0)return!1;var e=!1;if(s4[n])n=s4[n],e=!0;else if(n==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var t=oh.rgb.exec(n);return t?{r:t[1],g:t[2],b:t[3]}:(t=oh.rgba.exec(n),t?{r:t[1],g:t[2],b:t[3],a:t[4]}:(t=oh.hsl.exec(n),t?{h:t[1],s:t[2],l:t[3]}:(t=oh.hsla.exec(n),t?{h:t[1],s:t[2],l:t[3],a:t[4]}:(t=oh.hsv.exec(n),t?{h:t[1],s:t[2],v:t[3]}:(t=oh.hsva.exec(n),t?{h:t[1],s:t[2],v:t[3],a:t[4]}:(t=oh.hex8.exec(n),t?{r:gc(t[1]),g:gc(t[2]),b:gc(t[3]),a:Rne(t[4]),format:e?"name":"hex8"}:(t=oh.hex6.exec(n),t?{r:gc(t[1]),g:gc(t[2]),b:gc(t[3]),format:e?"name":"hex"}:(t=oh.hex4.exec(n),t?{r:gc(t[1]+t[1]),g:gc(t[2]+t[2]),b:gc(t[3]+t[3]),a:Rne(t[4]+t[4]),format:e?"name":"hex8"}:(t=oh.hex3.exec(n),t?{r:gc(t[1]+t[1]),g:gc(t[2]+t[2]),b:gc(t[3]+t[3]),format:e?"name":"hex"}:!1)))))))))}function tg(n){return!!oh.CSS_UNIT.exec(String(n))}var zo=function(){function n(e,t){e===void 0&&(e=""),t===void 0&&(t={});var i;if(e instanceof n)return e;typeof e=="number"&&(e=bZe(e)),this.originalInput=e;var r=QC(e);this.originalInput=e,this.r=r.r,this.g=r.g,this.b=r.b,this.a=r.a,this.roundA=Math.round(100*this.a)/100,this.format=(i=t.format)!==null&&i!==void 0?i:r.format,this.gradientType=t.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=r.ok}return n.prototype.isDark=function(){return this.getBrightness()<128},n.prototype.isLight=function(){return!this.isDark()},n.prototype.getBrightness=function(){var e=this.toRgb();return(e.r*299+e.g*587+e.b*114)/1e3},n.prototype.getLuminance=function(){var e=this.toRgb(),t,i,r,o=e.r/255,s=e.g/255,a=e.b/255;return o<=.03928?t=o/12.92:t=Math.pow((o+.055)/1.055,2.4),s<=.03928?i=s/12.92:i=Math.pow((s+.055)/1.055,2.4),a<=.03928?r=a/12.92:r=Math.pow((a+.055)/1.055,2.4),.2126*t+.7152*i+.0722*r},n.prototype.getAlpha=function(){return this.a},n.prototype.setAlpha=function(e){return this.a=Zne(e),this.roundA=Math.round(100*this.a)/100,this},n.prototype.isMonochrome=function(){var e=this.toHsl().s;return e===0},n.prototype.toHsv=function(){var e=r4(this.r,this.g,this.b);return{h:e.h*360,s:e.s,v:e.v,a:this.a}},n.prototype.toHsvString=function(){var e=r4(this.r,this.g,this.b),t=Math.round(e.h*360),i=Math.round(e.s*100),r=Math.round(e.v*100);return this.a===1?"hsv(".concat(t,", ").concat(i,"%, ").concat(r,"%)"):"hsva(".concat(t,", ").concat(i,"%, ").concat(r,"%, ").concat(this.roundA,")")},n.prototype.toHsl=function(){var e=Wne(this.r,this.g,this.b);return{h:e.h*360,s:e.s,l:e.l,a:this.a}},n.prototype.toHslString=function(){var e=Wne(this.r,this.g,this.b),t=Math.round(e.h*360),i=Math.round(e.s*100),r=Math.round(e.l*100);return this.a===1?"hsl(".concat(t,", ").concat(i,"%, ").concat(r,"%)"):"hsla(".concat(t,", ").concat(i,"%, ").concat(r,"%, ").concat(this.roundA,")")},n.prototype.toHex=function(e){return e===void 0&&(e=!1),o4(this.r,this.g,this.b,e)},n.prototype.toHexString=function(e){return e===void 0&&(e=!1),"#"+this.toHex(e)},n.prototype.toHex8=function(e){return e===void 0&&(e=!1),gZe(this.r,this.g,this.b,this.a,e)},n.prototype.toHex8String=function(e){return e===void 0&&(e=!1),"#"+this.toHex8(e)},n.prototype.toHexShortString=function(e){return e===void 0&&(e=!1),this.a===1?this.toHexString(e):this.toHex8String(e)},n.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},n.prototype.toRgbString=function(){var e=Math.round(this.r),t=Math.round(this.g),i=Math.round(this.b);return this.a===1?"rgb(".concat(e,", ").concat(t,", ").concat(i,")"):"rgba(".concat(e,", ").concat(t,", ").concat(i,", ").concat(this.roundA,")")},n.prototype.toPercentageRgb=function(){var e=function(t){return"".concat(Math.round(Xa(t,255)*100),"%")};return{r:e(this.r),g:e(this.g),b:e(this.b),a:this.a}},n.prototype.toPercentageRgbString=function(){var e=function(t){return Math.round(Xa(t,255)*100)};return this.a===1?"rgb(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%)"):"rgba(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%, ").concat(this.roundA,")")},n.prototype.toName=function(){if(this.a===0)return"transparent";if(this.a<1)return!1;for(var e="#"+o4(this.r,this.g,this.b,!1),t=0,i=Object.entries(s4);t=0,o=!t&&r&&(e.startsWith("hex")||e==="name");return o?e==="name"&&this.a===0?this.toName():this.toRgbString():(e==="rgb"&&(i=this.toRgbString()),e==="prgb"&&(i=this.toPercentageRgbString()),(e==="hex"||e==="hex6")&&(i=this.toHexString()),e==="hex3"&&(i=this.toHexString(!0)),e==="hex4"&&(i=this.toHex8String(!0)),e==="hex8"&&(i=this.toHex8String()),e==="name"&&(i=this.toName()),e==="hsl"&&(i=this.toHslString()),e==="hsv"&&(i=this.toHsvString()),i||this.toHexString())},n.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},n.prototype.clone=function(){return new n(this.toString())},n.prototype.lighten=function(e){e===void 0&&(e=10);var t=this.toHsl();return t.l+=e/100,t.l=sT(t.l),new n(t)},n.prototype.brighten=function(e){e===void 0&&(e=10);var t=this.toRgb();return t.r=Math.max(0,Math.min(255,t.r-Math.round(255*-(e/100)))),t.g=Math.max(0,Math.min(255,t.g-Math.round(255*-(e/100)))),t.b=Math.max(0,Math.min(255,t.b-Math.round(255*-(e/100)))),new n(t)},n.prototype.darken=function(e){e===void 0&&(e=10);var t=this.toHsl();return t.l-=e/100,t.l=sT(t.l),new n(t)},n.prototype.tint=function(e){return e===void 0&&(e=10),this.mix("white",e)},n.prototype.shade=function(e){return e===void 0&&(e=10),this.mix("black",e)},n.prototype.desaturate=function(e){e===void 0&&(e=10);var t=this.toHsl();return t.s-=e/100,t.s=sT(t.s),new n(t)},n.prototype.saturate=function(e){e===void 0&&(e=10);var t=this.toHsl();return t.s+=e/100,t.s=sT(t.s),new n(t)},n.prototype.greyscale=function(){return this.desaturate(100)},n.prototype.spin=function(e){var t=this.toHsl(),i=(t.h+e)%360;return t.h=i<0?360+i:i,new n(t)},n.prototype.mix=function(e,t){t===void 0&&(t=50);var i=this.toRgb(),r=new n(e).toRgb(),o=t/100,s={r:(r.r-i.r)*o+i.r,g:(r.g-i.g)*o+i.g,b:(r.b-i.b)*o+i.b,a:(r.a-i.a)*o+i.a};return new n(s)},n.prototype.analogous=function(e,t){e===void 0&&(e=6),t===void 0&&(t=30);var i=this.toHsl(),r=360/t,o=[this];for(i.h=(i.h-(r*e>>1)+720)%360;--e;)i.h=(i.h+r)%360,o.push(new n(i));return o},n.prototype.complement=function(){var e=this.toHsl();return e.h=(e.h+180)%360,new n(e)},n.prototype.monochromatic=function(e){e===void 0&&(e=6);for(var t=this.toHsv(),i=t.h,r=t.s,o=t.v,s=[],a=1/e;e--;)s.push(new n({h:i,s:r,v:o})),o=(o+a)%1;return s},n.prototype.splitcomplement=function(){var e=this.toHsl(),t=e.h;return[this,new n({h:(t+72)%360,s:e.s,l:e.l}),new n({h:(t+216)%360,s:e.s,l:e.l})]},n.prototype.onBackground=function(e){var t=this.toRgb(),i=new n(e).toRgb(),r=t.a+i.a*(1-t.a);return new n({r:(t.r*t.a+i.r*i.a*(1-t.a))/r,g:(t.g*t.a+i.g*i.a*(1-t.a))/r,b:(t.b*t.a+i.b*i.a*(1-t.a))/r,a:r})},n.prototype.triad=function(){return this.polyad(3)},n.prototype.tetrad=function(){return this.polyad(4)},n.prototype.polyad=function(e){for(var t=this.toHsl(),i=t.h,r=[this],o=360/e,s=1;s=60&&Math.round(n.h)<=240?i=t?Math.round(n.h)-lT*e:Math.round(n.h)+lT*e:i=t?Math.round(n.h)+lT*e:Math.round(n.h)-lT*e,i<0?i+=360:i>=360&&(i-=360),i}function One(n,e,t){if(n.h===0&&n.s===0)return n.s;var i;return t?i=n.s-Vne*e:e===Gne?i=n.s+Vne:i=n.s+wZe*e,i>1&&(i=1),t&&e===Ane&&i>.1&&(i=.1),i<.06&&(i=.06),Number(i.toFixed(2))}function Bne(n,e,t){var i;return t?i=n.v+SZe*e:i=n.v-xZe*e,i>1&&(i=1),Number(i.toFixed(2))}function Q1(n){for(var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=[],i=QC(n),r=Ane;r>0;r-=1){var o=Xne(i),s=uT(QC({h:Pne(o,r,!0),s:One(o,r,!0),v:Bne(o,r,!0)}));t.push(s)}t.push(uT(i));for(var a=1;a<=Gne;a+=1){var l=Xne(i),u=uT(QC({h:Pne(l,a),s:One(l,a),v:Bne(l,a)}));t.push(u)}return e.theme==="dark"?LZe.map(function(c){var d=c.index,h=c.opacity,m=uT(_Ze(QC(e.backgroundColor||"#141414"),QC(t[d]),h*100));return m}):t}var $C={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1677FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},cT={},u4={};Object.keys($C).forEach(function(n){cT[n]=Q1($C[n]),cT[n].primary=cT[n][5],u4[n]=Q1($C[n],{theme:"dark",backgroundColor:"#141414"}),u4[n].primary=u4[n][5]});var c4=cT.blue;const zne={blue:"#1677ff",purple:"#722ED1",cyan:"#13C2C2",green:"#52C41A",magenta:"#EB2F96",pink:"#eb2f96",red:"#F5222D",orange:"#FA8C16",yellow:"#FADB14",volcano:"#FA541C",geekblue:"#2F54EB",gold:"#FAAD14",lime:"#A0D911"},PL=Object.assign(Object.assign({},zne),{colorPrimary:"#1677ff",colorSuccess:"#52c41a",colorWarning:"#faad14",colorError:"#ff4d4f",colorInfo:"#1677ff",colorLink:"",colorTextBase:"",colorBgBase:"",fontFamily:`-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, + */var kte;function pEe(){if(kte)return Tr;kte=1;var n=Symbol.for("react.element"),e=Symbol.for("react.portal"),t=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),o=Symbol.for("react.provider"),s=Symbol.for("react.context"),a=Symbol.for("react.server_context"),l=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),c=Symbol.for("react.suspense_list"),d=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),m=Symbol.for("react.offscreen"),f;f=Symbol.for("react.module.reference");function g(b){if(typeof b=="object"&&b!==null){var y=b.$$typeof;switch(y){case n:switch(b=b.type,b){case t:case r:case i:case u:case c:return b;default:switch(b=b&&b.$$typeof,b){case a:case s:case l:case h:case d:case o:return b;default:return y}}case e:return y}}}return Tr.ContextConsumer=s,Tr.ContextProvider=o,Tr.Element=n,Tr.ForwardRef=l,Tr.Fragment=t,Tr.Lazy=h,Tr.Memo=d,Tr.Portal=e,Tr.Profiler=r,Tr.StrictMode=i,Tr.Suspense=u,Tr.SuspenseList=c,Tr.isAsyncMode=function(){return!1},Tr.isConcurrentMode=function(){return!1},Tr.isContextConsumer=function(b){return g(b)===s},Tr.isContextProvider=function(b){return g(b)===o},Tr.isElement=function(b){return typeof b=="object"&&b!==null&&b.$$typeof===n},Tr.isForwardRef=function(b){return g(b)===l},Tr.isFragment=function(b){return g(b)===t},Tr.isLazy=function(b){return g(b)===h},Tr.isMemo=function(b){return g(b)===d},Tr.isPortal=function(b){return g(b)===e},Tr.isProfiler=function(b){return g(b)===r},Tr.isStrictMode=function(b){return g(b)===i},Tr.isSuspense=function(b){return g(b)===u},Tr.isSuspenseList=function(b){return g(b)===c},Tr.isValidElementType=function(b){return typeof b=="string"||typeof b=="function"||b===t||b===r||b===i||b===u||b===c||b===m||typeof b=="object"&&b!==null&&(b.$$typeof===h||b.$$typeof===d||b.$$typeof===o||b.$$typeof===s||b.$$typeof===l||b.$$typeof===f||b.getModuleId!==void 0)},Tr.typeOf=g,Tr}Mte.exports=pEe();var k_=Mte.exports;function sd(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=[];return ze.Children.forEach(n,function(i){i==null&&!e.keepEmpty||(Array.isArray(i)?t=t.concat(sd(i)):k_.isFragment(i)&&i.props?t=t.concat(sd(i.props.children,e)):t.push(i))}),t}var NX={},bEe=function(e){};function yEe(n,e){}function vEe(n,e){}function CEe(){NX={}}function Tte(n,e,t){!e&&!NX[t]&&(n(!1,t),NX[t]=!0)}function aa(n,e){Tte(yEe,n,e)}function Ete(n,e){Tte(vEe,n,e)}aa.preMessage=bEe,aa.resetWarned=CEe,aa.noteOnce=Ete;function Xn(n){"@babel/helpers - typeof";return Xn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Xn(n)}function SEe(n,e){if(Xn(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var i=t.call(n,e||"default");if(Xn(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function Rte(n){var e=SEe(n,"string");return Xn(e)=="symbol"?e:e+""}function ge(n,e,t){return e=Rte(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Zte(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);e&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable})),t.push.apply(t,i)}return t}function xe(n){for(var e=1;e0},n.prototype.connect_=function(){!TX||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),NEe?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},n.prototype.disconnect_=function(){!TX||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},n.prototype.onTransitionEnd_=function(e){var t=e.propertyName,i=t===void 0?"":t,r=DEe.some(function(o){return!!~i.indexOf(o)});r&&this.refresh()},n.getInstance=function(){return this.instance_||(this.instance_=new n),this.instance_},n.instance_=null,n}(),Ate=function(n,e){for(var t=0,i=Object.keys(e);t"u"||!(Element instanceof Object))){if(!(e instanceof BC(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)||(t.set(e,new VEe(e)),this.controller_.addObserver(this),this.controller_.refresh())}},n.prototype.unobserve=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(e instanceof BC(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)&&(t.delete(e),t.size||this.controller_.removeObserver(this))}},n.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},n.prototype.gatherActive=function(){var e=this;this.clearActive(),this.observations_.forEach(function(t){t.isActive()&&e.activeObservations_.push(t)})},n.prototype.broadcastActive=function(){if(this.hasActive()){var e=this.callbackCtx_,t=this.activeObservations_.map(function(i){return new GEe(i.target,i.broadcastRect())});this.callback_.call(e,t,e),this.clearActive()}},n.prototype.clearActive=function(){this.activeObservations_.splice(0)},n.prototype.hasActive=function(){return this.activeObservations_.length>0},n}(),Xte=typeof WeakMap<"u"?new WeakMap:new Wte,Pte=function(){function n(e){if(!(this instanceof n))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var t=MEe.getInstance(),i=new XEe(e,t,this);Xte.set(this,i)}return n}();["observe","unobserve","disconnect"].forEach(function(n){Pte.prototype[n]=function(){var e;return(e=Xte.get(this))[n].apply(e,arguments)}});var PEe=function(){return typeof zk.ResizeObserver<"u"?zk.ResizeObserver:Pte}(),nb=new Map;function OEe(n){n.forEach(function(e){var t,i=e.target;(t=nb.get(i))===null||t===void 0||t.forEach(function(r){return r(i)})})}var Ote=new PEe(OEe);function BEe(n,e){nb.has(n)||(nb.set(n,new Set),Ote.observe(n)),nb.get(n).add(e)}function zEe(n,e){nb.has(n)&&(nb.get(n).delete(e),nb.get(n).size||(Ote.unobserve(n),nb.delete(n)))}function xs(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function Bte(n,e){for(var t=0;tn.length)&&(e=n.length);for(var t=0,i=new Array(e);t1&&arguments[1]!==void 0?arguments[1]:1;Kte+=1;var i=Kte;function r(o){if(o===0)Jte(i),e();else{var s=Yte(function(){r(o-1)});AX.set(i,s)}}return r(t),i};xi.cancel=function(n){var e=AX.get(n);return Jte(n),Ute(e)};function jte(n){if(Array.isArray(n))return n}function $Ee(n,e){var t=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(t!=null){var i,r,o,s,a=[],l=!0,u=!1;try{if(o=(t=t.call(n)).next,e===0){if(Object(t)!==t)return;l=!1}else for(;!(l=(i=o.call(t)).done)&&(a.push(i.value),a.length!==e);l=!0);}catch(c){u=!0,r=c}finally{try{if(!l&&t.return!=null&&(s=t.return(),Object(s)!==s))return}finally{if(u)throw r}}return a}}function Qte(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function we(n,e){return jte(n)||$Ee(n,e)||WX(n,e)||Qte()}function R_(n){for(var e=0,t,i=0,r=n.length;r>=4;++i,r-=4)t=n.charCodeAt(i)&255|(n.charCodeAt(++i)&255)<<8|(n.charCodeAt(++i)&255)<<16|(n.charCodeAt(++i)&255)<<24,t=(t&65535)*1540483477+((t>>>16)*59797<<16),t^=t>>>24,e=(t&65535)*1540483477+((t>>>16)*59797<<16)^(e&65535)*1540483477+((e>>>16)*59797<<16);switch(r){case 3:e^=(n.charCodeAt(i+2)&255)<<16;case 2:e^=(n.charCodeAt(i+1)&255)<<8;case 1:e^=n.charCodeAt(i)&255,e=(e&65535)*1540483477+((e>>>16)*59797<<16)}return e^=e>>>13,e=(e&65535)*1540483477+((e>>>16)*59797<<16),((e^e>>>15)>>>0).toString(36)}function Sl(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}function VX(n,e){if(!n)return!1;if(n.contains)return n.contains(e);for(var t=e;t;){if(t===n)return!0;t=t.parentNode}return!1}var $te="data-rc-order",qte="data-rc-priority",qEe="rc-util-key",GX=new Map;function ene(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=n.mark;return e?e.startsWith("data-")?e:"data-".concat(e):qEe}function Uk(n){if(n.attachTo)return n.attachTo;var e=document.querySelector("head");return e||document.body}function e5e(n){return n==="queue"?"prependQueue":n?"prepend":"append"}function XX(n){return Array.from((GX.get(n)||n).children).filter(function(e){return e.tagName==="STYLE"})}function tne(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Sl())return null;var t=e.csp,i=e.prepend,r=e.priority,o=r===void 0?0:r,s=e5e(i),a=s==="prependQueue",l=document.createElement("style");l.setAttribute($te,s),a&&o&&l.setAttribute(qte,"".concat(o)),t!=null&&t.nonce&&(l.nonce=t==null?void 0:t.nonce),l.innerHTML=n;var u=Uk(e),c=u.firstChild;if(i){if(a){var d=(e.styles||XX(u)).filter(function(h){if(!["prepend","prependQueue"].includes(h.getAttribute($te)))return!1;var m=Number(h.getAttribute(qte)||0);return o>=m});if(d.length)return u.insertBefore(l,d[d.length-1].nextSibling),l}u.insertBefore(l,c)}else u.appendChild(l);return l}function nne(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=Uk(e);return(e.styles||XX(t)).find(function(i){return i.getAttribute(ene(e))===n})}function Z_(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=nne(n,e);if(t){var i=Uk(e);i.removeChild(t)}}function t5e(n,e){var t=GX.get(n);if(!t||!VX(document,t)){var i=tne("",e),r=i.parentNode;GX.set(n,r),n.removeChild(i)}}function $f(n,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=Uk(t),r=XX(i),o=xe(xe({},t),{},{styles:r});t5e(i,o);var s=nne(e,o);if(s){var a,l;if((a=o.csp)!==null&&a!==void 0&&a.nonce&&s.nonce!==((l=o.csp)===null||l===void 0?void 0:l.nonce)){var u;s.nonce=(u=o.csp)===null||u===void 0?void 0:u.nonce}return s.innerHTML!==n&&(s.innerHTML=n),s}var c=tne(n,o);return c.setAttribute(ene(o),e),c}function n5e(n,e){if(n==null)return{};var t={},i=Object.keys(n),r,o;for(o=0;o=0)&&(t[r]=n[r]);return t}function zn(n,e){if(n==null)return{};var t=n5e(n,e),i,r;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(n);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(n,i)&&(t[i]=n[i])}return t}function W_(n,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=new Set;function r(o,s){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,l=i.has(o);if(aa(!l,"Warning: There may be circular references"),l)return!1;if(o===s)return!0;if(t&&a>1)return!1;i.add(o);var u=a+1;if(Array.isArray(o)){if(!Array.isArray(s)||o.length!==s.length)return!1;for(var c=0;c1&&arguments[1]!==void 0?arguments[1]:!1,s={map:this.cache};return t.forEach(function(a){if(!s)s=void 0;else{var l;s=(l=s)===null||l===void 0||(l=l.map)===null||l===void 0?void 0:l.get(a)}}),(i=s)!==null&&i!==void 0&&i.value&&o&&(s.value[1]=this.cacheCallTimes++),(r=s)===null||r===void 0?void 0:r.value}},{key:"get",value:function(t){var i;return(i=this.internalGet(t,!0))===null||i===void 0?void 0:i[0]}},{key:"has",value:function(t){return!!this.internalGet(t)}},{key:"set",value:function(t,i){var r=this;if(!this.has(t)){if(this.size()+1>n.MAX_CACHE_SIZE+n.MAX_CACHE_OFFSET){var o=this.keys.reduce(function(u,c){var d=we(u,2),h=d[1];return r.internalGet(c)[1]0,void 0),ine+=1}return _s(n,[{key:"getDerivativeToken",value:function(t){return this.derivatives.reduce(function(i,r){return r(t,i)},void 0)}}]),n}(),BX=new OX;function zX(n){var e=Array.isArray(n)?n:[n];return BX.has(e)||BX.set(e,new rne(e)),BX.get(e)}var a5e=new WeakMap,HX={};function l5e(n,e){for(var t=a5e,i=0;i1&&arguments[1]!==void 0?arguments[1]:!1,t=one.get(n)||"";return t||(Object.keys(n).forEach(function(i){var r=n[i];t+=i,r instanceof rne?t+=r.id:r&&Xn(r)==="object"?t+=A_(r,e):t+=r}),e&&(t=R_(t)),one.set(n,t)),t}function sne(n,e){return R_("".concat(e,"_").concat(A_(n,!0)))}var YX=Sl();function Ee(n){return typeof n=="number"?"".concat(n,"px"):n}function Jk(n,e,t){var i,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;if(o)return n;var s=xe(xe({},r),{},(i={},ge(i,HC,e),ge(i,th,t),i)),a=Object.keys(s).map(function(l){var u=s[l];return u?"".concat(l,'="').concat(u,'"'):null}).filter(function(l){return l}).join(" ");return"")}var ane=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return"--".concat(t?"".concat(t,"-"):"").concat(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z0-9]+)/g,"$1-$2").replace(/([a-z])([A-Z0-9])/g,"$1-$2").toLowerCase()},u5e=function(e,t,i){return Object.keys(e).length?".".concat(t).concat(i!=null&&i.scope?".".concat(i.scope):"","{").concat(Object.entries(e).map(function(r){var o=we(r,2),s=o[0],a=o[1];return"".concat(s,":").concat(a,";")}).join(""),"}"):""},lne=function(e,t,i){var r={},o={};return Object.entries(e).forEach(function(s){var a,l,u=we(s,2),c=u[0],d=u[1];if(i!=null&&(a=i.preserve)!==null&&a!==void 0&&a[c])o[c]=d;else if((typeof d=="string"||typeof d=="number")&&!(i!=null&&(l=i.ignore)!==null&&l!==void 0&&l[c])){var h,m=ane(c,i==null?void 0:i.prefix);r[m]=typeof d=="number"&&!(i!=null&&(h=i.unitless)!==null&&h!==void 0&&h[c])?"".concat(d,"px"):String(d),o[c]="var(".concat(m,")")}}),[o,u5e(r,t,{scope:i==null?void 0:i.scope})]},une=Sl()?S.useLayoutEffect:S.useEffect,cr=function(e,t){var i=S.useRef(!0);une(function(){return e(i.current)},t),une(function(){return i.current=!1,function(){i.current=!0}},[])},Y1=function(e,t){cr(function(i){if(!i)return e()},t)},c5e=xe({},z1),cne=c5e.useInsertionEffect,d5e=function(e,t,i){S.useMemo(e,i),cr(function(){return t(!0)},i)},h5e=cne?function(n,e,t){return cne(function(){return n(),e()},t)}:d5e,m5e=xe({},z1),f5e=m5e.useInsertionEffect,g5e=function(e){var t=[],i=!1;function r(o){i||t.push(o)}return S.useEffect(function(){return i=!1,function(){i=!0,t.length&&t.forEach(function(o){return o()})}},e),r},p5e=function(){return function(e){e()}},b5e=typeof f5e<"u"?g5e:p5e;function UX(n,e,t,i,r){var o=S.useContext(Kk),s=o.cache,a=[n].concat(Lt(e)),l=PX(a),u=b5e([l]),c=function(f){s.opUpdate(l,function(g){var b=g||[void 0,void 0],y=we(b,2),C=y[0],w=C===void 0?0:C,x=y[1],L=x,I=L||t(),D=[w,I];return f?f(D):D})};S.useMemo(function(){c()},[l]);var d=s.opGet(l),h=d[1];return h5e(function(){r==null||r(h)},function(m){return c(function(f){var g=we(f,2),b=g[0],y=g[1];return m&&b===0&&(r==null||r(h)),[b+1,y]}),function(){s.opUpdate(l,function(f){var g=f||[],b=we(g,2),y=b[0],C=y===void 0?0:y,w=b[1],x=C-1;return x===0?(u(function(){(m||!s.opGet(l))&&(i==null||i(w,!1))}),null):[C-1,w]})}},[l]),h}var y5e={},v5e="css",U1=new Map;function C5e(n){U1.set(n,(U1.get(n)||0)+1)}function S5e(n,e){if(typeof document<"u"){var t=document.querySelectorAll("style[".concat(HC,'="').concat(n,'"]'));t.forEach(function(i){if(i[ib]===e){var r;(r=i.parentNode)===null||r===void 0||r.removeChild(i)}})}}var w5e=0;function x5e(n,e){U1.set(n,(U1.get(n)||0)-1);var t=Array.from(U1.keys()),i=t.filter(function(r){var o=U1.get(r)||0;return o<=0});t.length-i.length>w5e&&i.forEach(function(r){S5e(r,e),U1.delete(r)})}var _5e=function(e,t,i,r){var o=i.getDerivativeToken(e),s=xe(xe({},o),t);return r&&(s=r(s)),s},dne="token";function L5e(n,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=S.useContext(Kk),r=i.cache.instanceId,o=i.container,s=t.salt,a=s===void 0?"":s,l=t.override,u=l===void 0?y5e:l,c=t.formatToken,d=t.getComputedToken,h=t.cssVar,m=l5e(function(){return Object.assign.apply(Object,[{}].concat(Lt(e)))},e),f=A_(m),g=A_(u),b=h?A_(h):"",y=UX(dne,[a,n.id,f,g,b],function(){var C,w=d?d(m,u,n):_5e(m,u,n,c),x=xe({},w),L="";if(h){var I=lne(w,h.key,{prefix:h.prefix,ignore:h.ignore,unitless:h.unitless,preserve:h.preserve}),D=we(I,2);w=D[0],L=D[1]}var N=sne(w,a);w._tokenKey=N,x._tokenKey=sne(x,a);var T=(C=h==null?void 0:h.key)!==null&&C!==void 0?C:N;w._themeKey=T,C5e(T);var R="".concat(v5e,"-").concat(R_(N));return w._hashId=R,[w,R,x,L,(h==null?void 0:h.key)||""]},function(C){x5e(C[0]._themeKey,r)},function(C){var w=we(C,4),x=w[0],L=w[3];if(h&&L){var I=$f(L,R_("css-variables-".concat(x._themeKey)),{mark:th,prepend:"queue",attachTo:o,priority:-999});I[ib]=r,I.setAttribute(HC,x._themeKey)}});return y}var I5e=function(e,t,i){var r=we(e,5),o=r[2],s=r[3],a=r[4],l=i||{},u=l.plain;if(!s)return null;var c=o._tokenKey,d=-999,h={"data-rc-order":"prependQueue","data-rc-priority":"".concat(d)},m=Jk(s,a,c,h,u);return[d,c,m]},F5e={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},hne="comm",mne="rule",fne="decl",D5e="@import",N5e="@keyframes",M5e="@layer",gne=Math.abs,KX=String.fromCharCode;function pne(n){return n.trim()}function jk(n,e,t){return n.replace(e,t)}function k5e(n,e,t){return n.indexOf(e,t)}function V_(n,e){return n.charCodeAt(e)|0}function G_(n,e,t){return n.slice(e,t)}function qf(n){return n.length}function T5e(n){return n.length}function Qk(n,e){return e.push(n),n}var $k=1,YC=1,bne=0,ad=0,Bs=0,UC="";function JX(n,e,t,i,r,o,s,a){return{value:n,root:e,parent:t,type:i,props:r,children:o,line:$k,column:YC,length:s,return:"",siblings:a}}function E5e(){return Bs}function R5e(){return Bs=ad>0?V_(UC,--ad):0,YC--,Bs===10&&(YC=1,$k--),Bs}function nh(){return Bs=ad2||jX(Bs)>3?"":" "}function V5e(n,e){for(;--e&&nh()&&!(Bs<48||Bs>102||Bs>57&&Bs<65||Bs>70&&Bs<97););return eT(n,qk()+(e<6&&K1()==32&&nh()==32))}function $X(n){for(;nh();)switch(Bs){case n:return ad;case 34:case 39:n!==34&&n!==39&&$X(Bs);break;case 40:n===41&&$X(n);break;case 92:nh();break}return ad}function G5e(n,e){for(;nh()&&n+Bs!==57;)if(n+Bs===84&&K1()===47)break;return"/*"+eT(e,ad-1)+"*"+KX(n===47?n:nh())}function X5e(n){for(;!jX(K1());)nh();return eT(n,ad)}function P5e(n){return W5e(tT("",null,null,null,[""],n=Z5e(n),0,[0],n))}function tT(n,e,t,i,r,o,s,a,l){for(var u=0,c=0,d=s,h=0,m=0,f=0,g=1,b=1,y=1,C=0,w="",x=r,L=o,I=i,D=w;b;)switch(f=C,C=nh()){case 40:if(f!=108&&V_(D,d-1)==58){k5e(D+=jk(QX(C),"&","&\f"),"&\f",gne(u?a[u-1]:0))!=-1&&(y=-1);break}case 34:case 39:case 91:D+=QX(C);break;case 9:case 10:case 13:case 32:D+=A5e(f);break;case 92:D+=V5e(qk()-1,7);continue;case 47:switch(K1()){case 42:case 47:Qk(O5e(G5e(nh(),qk()),e,t,l),l);break;default:D+="/"}break;case 123*g:a[u++]=qf(D)*y;case 125*g:case 59:case 0:switch(C){case 0:case 125:b=0;case 59+c:y==-1&&(D=jk(D,/\f/g,"")),m>0&&qf(D)-d&&Qk(m>32?vne(D+";",i,t,d-1,l):vne(jk(D," ","")+";",i,t,d-2,l),l);break;case 59:D+=";";default:if(Qk(I=yne(D,e,t,u,c,r,a,w,x=[],L=[],d,o),o),C===123)if(c===0)tT(D,e,I,I,x,o,d,a,L);else switch(h===99&&V_(D,3)===110?100:h){case 100:case 108:case 109:case 115:tT(n,I,I,i&&Qk(yne(n,I,I,0,0,r,a,w,r,x=[],d,L),L),r,L,d,a,i?x:L);break;default:tT(D,I,I,I,[""],L,0,a,L)}}u=c=m=0,g=y=1,w=D="",d=s;break;case 58:d=1+qf(D),m=f;default:if(g<1){if(C==123)--g;else if(C==125&&g++==0&&R5e()==125)continue}switch(D+=KX(C),C*g){case 38:y=c>0?1:(D+="\f",-1);break;case 44:a[u++]=(qf(D)-1)*y,y=1;break;case 64:K1()===45&&(D+=QX(nh())),h=K1(),c=d=qf(w=D+=X5e(qk())),C++;break;case 45:f===45&&qf(D)==2&&(g=0)}}return o}function yne(n,e,t,i,r,o,s,a,l,u,c,d){for(var h=r-1,m=r===0?o:[""],f=T5e(m),g=0,b=0,y=0;g0?m[C]+" "+w:jk(w,/&\f/g,m[C])))&&(l[y++]=x);return JX(n,e,t,r===0?mne:a,l,u,c,d)}function O5e(n,e,t,i){return JX(n,e,t,hne,KX(E5e()),G_(n,2,-2),0,i)}function vne(n,e,t,i,r){return JX(n,e,t,fne,G_(n,0,i),G_(n,i+1,-1),i,r)}function qX(n,e){for(var t="",i=0;i1&&arguments[1]!==void 0?arguments[1]:{},i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{root:!0,parentSelectors:[]},r=i.root,o=i.injectHash,s=i.parentSelectors,a=t.hashId,l=t.layer;t.path;var u=t.hashPriority,c=t.transformers,d=c===void 0?[]:c;t.linters;var h="",m={};function f(y){var C=y.getName(a);if(!m[C]){var w=n(y.style,t,{root:!1,parentSelectors:s}),x=we(w,1),L=x[0];m[C]="@keyframes ".concat(y.getName(a)).concat(L)}}function g(y){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return y.forEach(function(w){Array.isArray(w)?g(w,C):w&&C.push(w)}),C}var b=g(Array.isArray(e)?e:[e]);return b.forEach(function(y){var C=typeof y=="string"&&!r?{}:y;if(typeof C=="string")h+="".concat(C,` +`);else if(C._keyframe)f(C);else{var w=d.reduce(function(x,L){var I;return(L==null||(I=L.visit)===null||I===void 0?void 0:I.call(L,x))||x},C);Object.keys(w).forEach(function(x){var L=w[x];if(Xn(L)==="object"&&L&&(x!=="animationName"||!L._keyframe)&&!K5e(L)){var I=!1,D=x.trim(),N=!1;(r||o)&&a?D.startsWith("@")?I=!0:D=J5e(x,a,u):r&&!a&&(D==="&"||D==="")&&(D="",N=!0);var T=n(L,t,{root:N,injectHash:I,parentSelectors:[].concat(Lt(s),[D])}),R=we(T,2),E=R[0],W=R[1];m=xe(xe({},m),W),h+="".concat(D).concat(E)}else{let z=function(O,B){var P=O.replace(/[A-Z]/g,function(M){return"-".concat(M.toLowerCase())}),H=B;!F5e[O]&&typeof H=="number"&&H!==0&&(H="".concat(H,"px")),O==="animationName"&&B!==null&&B!==void 0&&B._keyframe&&(f(B),H=B.getName(a)),h+="".concat(P,":").concat(H,";")};var Z,V=(Z=L==null?void 0:L.value)!==null&&Z!==void 0?Z:L;Xn(L)==="object"&&L!==null&&L!==void 0&&L[xne]&&Array.isArray(V)?V.forEach(function(O){z(x,O)}):z(x,V)}})}}),r?l&&(h="@layer ".concat(l.name," {").concat(h,"}"),l.dependencies&&(m["@layer ".concat(l.name)]=l.dependencies.map(function(y){return"@layer ".concat(y,", ").concat(l.name,";")}).join(` +`))):h="{".concat(h,"}"),[h,m]};function _ne(n,e){return R_("".concat(n.join("%")).concat(e))}function Q5e(){return null}var Lne="style";function e4(n,e){var t=n.token,i=n.path,r=n.hashId,o=n.layer,s=n.nonce,a=n.clientOnly,l=n.order,u=l===void 0?0:l,c=S.useContext(Kk),d=c.autoClear;c.mock;var h=c.defaultCache,m=c.hashPriority,f=c.container,g=c.ssrInline,b=c.transformers,y=c.linters,C=c.cache,w=c.layer,x=t._tokenKey,L=[x];w&&L.push("layer"),L.push.apply(L,Lt(i));var I=YX,D=UX(Lne,L,function(){var W=L.join("|");if(H5e(W)){var Z=Y5e(W),V=we(Z,2),z=V[0],O=V[1];if(z)return[z,x,O,{},a,u]}var B=e(),P=j5e(B,{hashId:r,hashPriority:m,layer:w?o:void 0,path:i.join("-"),transformers:b,linters:y}),H=we(P,2),M=H[0],X=H[1],Y=nT(M),A=_ne(L,Y);return[Y,x,A,X,a,u]},function(W,Z){var V=we(W,3),z=V[2];(Z||d)&&YX&&Z_(z,{mark:th})},function(W){var Z=we(W,4),V=Z[0];Z[1];var z=Z[2],O=Z[3];if(I&&V!==Sne){var B={mark:th,prepend:w?!1:"queue",attachTo:f,priority:u},P=typeof s=="function"?s():s;P&&(B.csp={nonce:P});var H=[],M=[];Object.keys(O).forEach(function(Y){Y.startsWith("@layer")?H.push(Y):M.push(Y)}),H.forEach(function(Y){$f(nT(O[Y]),"_layer-".concat(Y),xe(xe({},B),{},{prepend:!0}))});var X=$f(V,z,B);X[ib]=C.instanceId,X.setAttribute(HC,x),M.forEach(function(Y){$f(nT(O[Y]),"_effect-".concat(Y),B)})}}),N=we(D,3),T=N[0],R=N[1],E=N[2];return function(W){var Z;if(!g||I||!h)Z=S.createElement(Q5e,null);else{var V;Z=S.createElement("style",pt({},(V={},ge(V,HC,R),ge(V,th,E),V),{dangerouslySetInnerHTML:{__html:T}}))}return S.createElement(S.Fragment,null,Z,W)}}var $5e=function(e,t,i){var r=we(e,6),o=r[0],s=r[1],a=r[2],l=r[3],u=r[4],c=r[5],d=i||{},h=d.plain;if(u)return null;var m=o,f={"data-rc-order":"prependQueue","data-rc-priority":"".concat(c)};return m=Jk(o,s,a,f,h),l&&Object.keys(l).forEach(function(g){if(!t[g]){t[g]=!0;var b=nT(l[g]),y=Jk(b,s,"_effect-".concat(g),f,h);g.startsWith("@layer")?m=y+m:m+=y}}),[c,a,m]},Ine="cssVar",q5e=function(e,t){var i=e.key,r=e.prefix,o=e.unitless,s=e.ignore,a=e.token,l=e.scope,u=l===void 0?"":l,c=S.useContext(Kk),d=c.cache.instanceId,h=c.container,m=a._tokenKey,f=[].concat(Lt(e.path),[i,u,m]),g=UX(Ine,f,function(){var b=t(),y=lne(b,i,{prefix:r,unitless:o,ignore:s,scope:u}),C=we(y,2),w=C[0],x=C[1],L=_ne(f,x);return[w,x,L,i]},function(b){var y=we(b,3),C=y[2];YX&&Z_(C,{mark:th})},function(b){var y=we(b,3),C=y[1],w=y[2];if(C){var x=$f(C,w,{mark:th,prepend:"queue",attachTo:h,priority:-999});x[ib]=d,x.setAttribute(HC,i)}});return g},eRe=function(e,t,i){var r=we(e,4),o=r[1],s=r[2],a=r[3],l=i||{},u=l.plain;if(!o)return null;var c=-999,d={"data-rc-order":"prependQueue","data-rc-priority":"".concat(c)},h=Jk(o,a,s,d,u);return[c,s,h]},X_;X_={},ge(X_,Lne,$5e),ge(X_,dne,I5e),ge(X_,Ine,eRe);var Mi=function(){function n(e,t){xs(this,n),ge(this,"name",void 0),ge(this,"style",void 0),ge(this,"_keyframe",!0),this.name=e,this.style=t}return _s(n,[{key:"getName",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return t?"".concat(t,"-").concat(this.name):this.name}}]),n}();function KC(n){return n.notSplit=!0,n}KC(["borderTop","borderBottom"]),KC(["borderTop"]),KC(["borderBottom"]),KC(["borderLeft","borderRight"]),KC(["borderLeft"]),KC(["borderRight"]);var t4=S.createContext({});function Fne(n){return jte(n)||Hte(n)||WX(n)||Qte()}function Cm(n,e){for(var t=n,i=0;i3&&arguments[3]!==void 0?arguments[3]:!1;return e.length&&i&&t===void 0&&!Cm(n,e.slice(0,-1))?n:Dne(n,e,t,i)}function tRe(n){return Xn(n)==="object"&&n!==null&&Object.getPrototypeOf(n)===Object.prototype}function Nne(n){return Array.isArray(n)?[]:{}}var nRe=typeof Reflect>"u"?Object.keys:Reflect.ownKeys;function JC(){for(var n=arguments.length,e=new Array(n),t=0;t{const n=()=>{};return n.deprecated=iRe,n},Mne=S.createContext(void 0);var oRe={items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"Page",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages",page_size:"Page Size"},sRe={locale:"en_US",today:"Today",now:"Now",backToToday:"Back to today",ok:"OK",clear:"Clear",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"};const kne={placeholder:"Select time",rangePlaceholder:["Start time","End time"]},iT={lang:Object.assign({placeholder:"Select date",yearPlaceholder:"Select year",quarterPlaceholder:"Select quarter",monthPlaceholder:"Select month",weekPlaceholder:"Select week",rangePlaceholder:["Start date","End date"],rangeYearPlaceholder:["Start year","End year"],rangeQuarterPlaceholder:["Start quarter","End quarter"],rangeMonthPlaceholder:["Start month","End month"],rangeWeekPlaceholder:["Start week","End week"]},sRe),timePickerLocale:Object.assign({},kne)},fc="${label} is not a valid ${type}",eg={locale:"en",Pagination:oRe,DatePicker:iT,TimePicker:kne,Calendar:iT,global:{placeholder:"Please select"},Table:{filterTitle:"Filter menu",filterConfirm:"OK",filterReset:"Reset",filterEmptyText:"No filters",filterCheckall:"Select all items",filterSearchPlaceholder:"Search in filters",emptyText:"No data",selectAll:"Select current page",selectInvert:"Invert current page",selectNone:"Clear all data",selectionAll:"Select all data",sortTitle:"Sort",expand:"Expand row",collapse:"Collapse row",triggerDesc:"Click to sort descending",triggerAsc:"Click to sort ascending",cancelSort:"Click to cancel sorting"},Tour:{Next:"Next",Previous:"Previous",Finish:"Finish"},Modal:{okText:"OK",cancelText:"Cancel",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Cancel"},Transfer:{titles:["",""],searchPlaceholder:"Search here",itemUnit:"item",itemsUnit:"items",remove:"Remove",selectCurrent:"Select current page",removeCurrent:"Remove current page",selectAll:"Select all data",deselectAll:"Deselect all data",removeAll:"Remove all data",selectInvert:"Invert current page"},Upload:{uploading:"Uploading...",removeFile:"Remove file",uploadError:"Upload error",previewFile:"Preview file",downloadFile:"Download file"},Empty:{description:"No data"},Icon:{icon:"icon"},Text:{edit:"Edit",copy:"Copy",copied:"Copied",expand:"Expand",collapse:"Collapse"},Form:{optional:"(optional)",defaultValidateMessages:{default:"Field validation error for ${label}",required:"Please enter ${label}",enum:"${label} must be one of [${enum}]",whitespace:"${label} cannot be a blank character",date:{format:"${label} date format is invalid",parse:"${label} cannot be converted to a date",invalid:"${label} is an invalid date"},types:{string:fc,method:fc,array:fc,object:fc,number:fc,date:fc,boolean:fc,integer:fc,float:fc,regexp:fc,email:fc,url:fc,hex:fc},string:{len:"${label} must be ${len} characters",min:"${label} must be at least ${min} characters",max:"${label} must be up to ${max} characters",range:"${label} must be between ${min}-${max} characters"},number:{len:"${label} must be equal to ${len}",min:"${label} must be minimum ${min}",max:"${label} must be maximum ${max}",range:"${label} must be between ${min}-${max}"},array:{len:"Must be ${len} ${label}",min:"At least ${min} ${label}",max:"At most ${max} ${label}",range:"The amount of ${label} must be between ${min}-${max}"},pattern:{mismatch:"${label} does not match the pattern ${pattern}"}}},Image:{preview:"Preview"},QRCode:{expired:"QR code expired",refresh:"Refresh",scanned:"Scanned"},ColorPicker:{presetEmpty:"Empty"}};let rT=Object.assign({},eg.Modal),oT=[];const Tne=()=>oT.reduce((n,e)=>Object.assign(Object.assign({},n),e),eg.Modal);function aRe(n){if(n){const e=Object.assign({},n);return oT.push(e),rT=Tne(),()=>{oT=oT.filter(t=>t!==e),rT=Tne()}}rT=Object.assign({},eg.Modal)}function Ene(){return rT}const n4=S.createContext(void 0),rb=(n,e)=>{const t=S.useContext(n4),i=S.useMemo(()=>{var o;const s=e||eg[n],a=(o=t==null?void 0:t[n])!==null&&o!==void 0?o:{};return Object.assign(Object.assign({},typeof s=="function"?s():s),a||{})},[n,e,t]),r=S.useMemo(()=>{const o=t==null?void 0:t.locale;return t!=null&&t.exist&&!o?eg.locale:o},[t]);return[i,r]},lRe="internalMark",uRe=n=>{const{locale:e={},children:t,_ANT_MARK__:i}=n;S.useEffect(()=>aRe(e&&e.Modal),[e]);const r=S.useMemo(()=>Object.assign(Object.assign({},e),{exist:!0}),[e]);return S.createElement(n4.Provider,{value:r},t)};function Xa(n,e){cRe(n)&&(n="100%");var t=dRe(n);return n=e===360?n:Math.min(e,Math.max(0,parseFloat(n))),t&&(n=parseInt(String(n*e),10)/100),Math.abs(n-e)<1e-6?1:(e===360?n=(n<0?n%e+e:n%e)/parseFloat(String(e)):n=n%e/parseFloat(String(e)),n)}function sT(n){return Math.min(1,Math.max(0,n))}function cRe(n){return typeof n=="string"&&n.indexOf(".")!==-1&&parseFloat(n)===1}function dRe(n){return typeof n=="string"&&n.indexOf("%")!==-1}function Rne(n){return n=parseFloat(n),(isNaN(n)||n<0||n>1)&&(n=1),n}function aT(n){return n<=1?"".concat(Number(n)*100,"%"):n}function j1(n){return n.length===1?"0"+n:String(n)}function hRe(n,e,t){return{r:Xa(n,255)*255,g:Xa(e,255)*255,b:Xa(t,255)*255}}function Zne(n,e,t){n=Xa(n,255),e=Xa(e,255),t=Xa(t,255);var i=Math.max(n,e,t),r=Math.min(n,e,t),o=0,s=0,a=(i+r)/2;if(i===r)s=0,o=0;else{var l=i-r;switch(s=a>.5?l/(2-i-r):l/(i+r),i){case n:o=(e-t)/l+(e1&&(t-=1),t<1/6?n+(e-n)*(6*t):t<1/2?e:t<2/3?n+(e-n)*(2/3-t)*6:n}function mRe(n,e,t){var i,r,o;if(n=Xa(n,360),e=Xa(e,100),t=Xa(t,100),e===0)r=t,o=t,i=t;else{var s=t<.5?t*(1+e):t+e-t*e,a=2*t-s;i=i4(a,s,n+1/3),r=i4(a,s,n),o=i4(a,s,n-1/3)}return{r:i*255,g:r*255,b:o*255}}function r4(n,e,t){n=Xa(n,255),e=Xa(e,255),t=Xa(t,255);var i=Math.max(n,e,t),r=Math.min(n,e,t),o=0,s=i,a=i-r,l=i===0?0:a/i;if(i===r)o=0;else{switch(i){case n:o=(e-t)/a+(e>16,g:(n&65280)>>8,b:n&255}}var s4={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function QC(n){var e={r:0,g:0,b:0},t=1,i=null,r=null,o=null,s=!1,a=!1;return typeof n=="string"&&(n=CRe(n)),typeof n=="object"&&(tg(n.r)&&tg(n.g)&&tg(n.b)?(e=hRe(n.r,n.g,n.b),s=!0,a=String(n.r).substr(-1)==="%"?"prgb":"rgb"):tg(n.h)&&tg(n.s)&&tg(n.v)?(i=aT(n.s),r=aT(n.v),e=fRe(n.h,i,r),s=!0,a="hsv"):tg(n.h)&&tg(n.s)&&tg(n.l)&&(i=aT(n.s),o=aT(n.l),e=mRe(n.h,i,o),s=!0,a="hsl"),Object.prototype.hasOwnProperty.call(n,"a")&&(t=n.a)),t=Rne(t),{ok:s,format:n.format||a,r:Math.min(255,Math.max(e.r,0)),g:Math.min(255,Math.max(e.g,0)),b:Math.min(255,Math.max(e.b,0)),a:t}}var yRe="[-\\+]?\\d+%?",vRe="[-\\+]?\\d*\\.\\d+%?",ob="(?:".concat(vRe,")|(?:").concat(yRe,")"),a4="[\\s|\\(]+(".concat(ob,")[,|\\s]+(").concat(ob,")[,|\\s]+(").concat(ob,")\\s*\\)?"),l4="[\\s|\\(]+(".concat(ob,")[,|\\s]+(").concat(ob,")[,|\\s]+(").concat(ob,")[,|\\s]+(").concat(ob,")\\s*\\)?"),rh={CSS_UNIT:new RegExp(ob),rgb:new RegExp("rgb"+a4),rgba:new RegExp("rgba"+l4),hsl:new RegExp("hsl"+a4),hsla:new RegExp("hsla"+l4),hsv:new RegExp("hsv"+a4),hsva:new RegExp("hsva"+l4),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function CRe(n){if(n=n.trim().toLowerCase(),n.length===0)return!1;var e=!1;if(s4[n])n=s4[n],e=!0;else if(n==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var t=rh.rgb.exec(n);return t?{r:t[1],g:t[2],b:t[3]}:(t=rh.rgba.exec(n),t?{r:t[1],g:t[2],b:t[3],a:t[4]}:(t=rh.hsl.exec(n),t?{h:t[1],s:t[2],l:t[3]}:(t=rh.hsla.exec(n),t?{h:t[1],s:t[2],l:t[3],a:t[4]}:(t=rh.hsv.exec(n),t?{h:t[1],s:t[2],v:t[3]}:(t=rh.hsva.exec(n),t?{h:t[1],s:t[2],v:t[3],a:t[4]}:(t=rh.hex8.exec(n),t?{r:gc(t[1]),g:gc(t[2]),b:gc(t[3]),a:Wne(t[4]),format:e?"name":"hex8"}:(t=rh.hex6.exec(n),t?{r:gc(t[1]),g:gc(t[2]),b:gc(t[3]),format:e?"name":"hex"}:(t=rh.hex4.exec(n),t?{r:gc(t[1]+t[1]),g:gc(t[2]+t[2]),b:gc(t[3]+t[3]),a:Wne(t[4]+t[4]),format:e?"name":"hex8"}:(t=rh.hex3.exec(n),t?{r:gc(t[1]+t[1]),g:gc(t[2]+t[2]),b:gc(t[3]+t[3]),format:e?"name":"hex"}:!1)))))))))}function tg(n){return!!rh.CSS_UNIT.exec(String(n))}var zo=function(){function n(e,t){e===void 0&&(e=""),t===void 0&&(t={});var i;if(e instanceof n)return e;typeof e=="number"&&(e=bRe(e)),this.originalInput=e;var r=QC(e);this.originalInput=e,this.r=r.r,this.g=r.g,this.b=r.b,this.a=r.a,this.roundA=Math.round(100*this.a)/100,this.format=(i=t.format)!==null&&i!==void 0?i:r.format,this.gradientType=t.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=r.ok}return n.prototype.isDark=function(){return this.getBrightness()<128},n.prototype.isLight=function(){return!this.isDark()},n.prototype.getBrightness=function(){var e=this.toRgb();return(e.r*299+e.g*587+e.b*114)/1e3},n.prototype.getLuminance=function(){var e=this.toRgb(),t,i,r,o=e.r/255,s=e.g/255,a=e.b/255;return o<=.03928?t=o/12.92:t=Math.pow((o+.055)/1.055,2.4),s<=.03928?i=s/12.92:i=Math.pow((s+.055)/1.055,2.4),a<=.03928?r=a/12.92:r=Math.pow((a+.055)/1.055,2.4),.2126*t+.7152*i+.0722*r},n.prototype.getAlpha=function(){return this.a},n.prototype.setAlpha=function(e){return this.a=Rne(e),this.roundA=Math.round(100*this.a)/100,this},n.prototype.isMonochrome=function(){var e=this.toHsl().s;return e===0},n.prototype.toHsv=function(){var e=r4(this.r,this.g,this.b);return{h:e.h*360,s:e.s,v:e.v,a:this.a}},n.prototype.toHsvString=function(){var e=r4(this.r,this.g,this.b),t=Math.round(e.h*360),i=Math.round(e.s*100),r=Math.round(e.v*100);return this.a===1?"hsv(".concat(t,", ").concat(i,"%, ").concat(r,"%)"):"hsva(".concat(t,", ").concat(i,"%, ").concat(r,"%, ").concat(this.roundA,")")},n.prototype.toHsl=function(){var e=Zne(this.r,this.g,this.b);return{h:e.h*360,s:e.s,l:e.l,a:this.a}},n.prototype.toHslString=function(){var e=Zne(this.r,this.g,this.b),t=Math.round(e.h*360),i=Math.round(e.s*100),r=Math.round(e.l*100);return this.a===1?"hsl(".concat(t,", ").concat(i,"%, ").concat(r,"%)"):"hsla(".concat(t,", ").concat(i,"%, ").concat(r,"%, ").concat(this.roundA,")")},n.prototype.toHex=function(e){return e===void 0&&(e=!1),o4(this.r,this.g,this.b,e)},n.prototype.toHexString=function(e){return e===void 0&&(e=!1),"#"+this.toHex(e)},n.prototype.toHex8=function(e){return e===void 0&&(e=!1),gRe(this.r,this.g,this.b,this.a,e)},n.prototype.toHex8String=function(e){return e===void 0&&(e=!1),"#"+this.toHex8(e)},n.prototype.toHexShortString=function(e){return e===void 0&&(e=!1),this.a===1?this.toHexString(e):this.toHex8String(e)},n.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},n.prototype.toRgbString=function(){var e=Math.round(this.r),t=Math.round(this.g),i=Math.round(this.b);return this.a===1?"rgb(".concat(e,", ").concat(t,", ").concat(i,")"):"rgba(".concat(e,", ").concat(t,", ").concat(i,", ").concat(this.roundA,")")},n.prototype.toPercentageRgb=function(){var e=function(t){return"".concat(Math.round(Xa(t,255)*100),"%")};return{r:e(this.r),g:e(this.g),b:e(this.b),a:this.a}},n.prototype.toPercentageRgbString=function(){var e=function(t){return Math.round(Xa(t,255)*100)};return this.a===1?"rgb(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%)"):"rgba(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%, ").concat(this.roundA,")")},n.prototype.toName=function(){if(this.a===0)return"transparent";if(this.a<1)return!1;for(var e="#"+o4(this.r,this.g,this.b,!1),t=0,i=Object.entries(s4);t=0,o=!t&&r&&(e.startsWith("hex")||e==="name");return o?e==="name"&&this.a===0?this.toName():this.toRgbString():(e==="rgb"&&(i=this.toRgbString()),e==="prgb"&&(i=this.toPercentageRgbString()),(e==="hex"||e==="hex6")&&(i=this.toHexString()),e==="hex3"&&(i=this.toHexString(!0)),e==="hex4"&&(i=this.toHex8String(!0)),e==="hex8"&&(i=this.toHex8String()),e==="name"&&(i=this.toName()),e==="hsl"&&(i=this.toHslString()),e==="hsv"&&(i=this.toHsvString()),i||this.toHexString())},n.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},n.prototype.clone=function(){return new n(this.toString())},n.prototype.lighten=function(e){e===void 0&&(e=10);var t=this.toHsl();return t.l+=e/100,t.l=sT(t.l),new n(t)},n.prototype.brighten=function(e){e===void 0&&(e=10);var t=this.toRgb();return t.r=Math.max(0,Math.min(255,t.r-Math.round(255*-(e/100)))),t.g=Math.max(0,Math.min(255,t.g-Math.round(255*-(e/100)))),t.b=Math.max(0,Math.min(255,t.b-Math.round(255*-(e/100)))),new n(t)},n.prototype.darken=function(e){e===void 0&&(e=10);var t=this.toHsl();return t.l-=e/100,t.l=sT(t.l),new n(t)},n.prototype.tint=function(e){return e===void 0&&(e=10),this.mix("white",e)},n.prototype.shade=function(e){return e===void 0&&(e=10),this.mix("black",e)},n.prototype.desaturate=function(e){e===void 0&&(e=10);var t=this.toHsl();return t.s-=e/100,t.s=sT(t.s),new n(t)},n.prototype.saturate=function(e){e===void 0&&(e=10);var t=this.toHsl();return t.s+=e/100,t.s=sT(t.s),new n(t)},n.prototype.greyscale=function(){return this.desaturate(100)},n.prototype.spin=function(e){var t=this.toHsl(),i=(t.h+e)%360;return t.h=i<0?360+i:i,new n(t)},n.prototype.mix=function(e,t){t===void 0&&(t=50);var i=this.toRgb(),r=new n(e).toRgb(),o=t/100,s={r:(r.r-i.r)*o+i.r,g:(r.g-i.g)*o+i.g,b:(r.b-i.b)*o+i.b,a:(r.a-i.a)*o+i.a};return new n(s)},n.prototype.analogous=function(e,t){e===void 0&&(e=6),t===void 0&&(t=30);var i=this.toHsl(),r=360/t,o=[this];for(i.h=(i.h-(r*e>>1)+720)%360;--e;)i.h=(i.h+r)%360,o.push(new n(i));return o},n.prototype.complement=function(){var e=this.toHsl();return e.h=(e.h+180)%360,new n(e)},n.prototype.monochromatic=function(e){e===void 0&&(e=6);for(var t=this.toHsv(),i=t.h,r=t.s,o=t.v,s=[],a=1/e;e--;)s.push(new n({h:i,s:r,v:o})),o=(o+a)%1;return s},n.prototype.splitcomplement=function(){var e=this.toHsl(),t=e.h;return[this,new n({h:(t+72)%360,s:e.s,l:e.l}),new n({h:(t+216)%360,s:e.s,l:e.l})]},n.prototype.onBackground=function(e){var t=this.toRgb(),i=new n(e).toRgb(),r=t.a+i.a*(1-t.a);return new n({r:(t.r*t.a+i.r*i.a*(1-t.a))/r,g:(t.g*t.a+i.g*i.a*(1-t.a))/r,b:(t.b*t.a+i.b*i.a*(1-t.a))/r,a:r})},n.prototype.triad=function(){return this.polyad(3)},n.prototype.tetrad=function(){return this.polyad(4)},n.prototype.polyad=function(e){for(var t=this.toHsl(),i=t.h,r=[this],o=360/e,s=1;s=60&&Math.round(n.h)<=240?i=t?Math.round(n.h)-lT*e:Math.round(n.h)+lT*e:i=t?Math.round(n.h)+lT*e:Math.round(n.h)-lT*e,i<0?i+=360:i>=360&&(i-=360),i}function One(n,e,t){if(n.h===0&&n.s===0)return n.s;var i;return t?i=n.s-Ane*e:e===Gne?i=n.s+Ane:i=n.s+SRe*e,i>1&&(i=1),t&&e===Vne&&i>.1&&(i=.1),i<.06&&(i=.06),Number(i.toFixed(2))}function Bne(n,e,t){var i;return t?i=n.v+wRe*e:i=n.v-xRe*e,i>1&&(i=1),Number(i.toFixed(2))}function Q1(n){for(var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=[],i=QC(n),r=Vne;r>0;r-=1){var o=Xne(i),s=uT(QC({h:Pne(o,r,!0),s:One(o,r,!0),v:Bne(o,r,!0)}));t.push(s)}t.push(uT(i));for(var a=1;a<=Gne;a+=1){var l=Xne(i),u=uT(QC({h:Pne(l,a),s:One(l,a),v:Bne(l,a)}));t.push(u)}return e.theme==="dark"?_Re.map(function(c){var d=c.index,h=c.opacity,m=uT(LRe(QC(e.backgroundColor||"#141414"),QC(t[d]),h*100));return m}):t}var $C={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1677FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},cT={},u4={};Object.keys($C).forEach(function(n){cT[n]=Q1($C[n]),cT[n].primary=cT[n][5],u4[n]=Q1($C[n],{theme:"dark",backgroundColor:"#141414"}),u4[n].primary=u4[n][5]});var c4=cT.blue;const zne={blue:"#1677ff",purple:"#722ED1",cyan:"#13C2C2",green:"#52C41A",magenta:"#EB2F96",pink:"#eb2f96",red:"#F5222D",orange:"#FA8C16",yellow:"#FADB14",volcano:"#FA541C",geekblue:"#2F54EB",gold:"#FAAD14",lime:"#A0D911"},P_=Object.assign(Object.assign({},zne),{colorPrimary:"#1677ff",colorSuccess:"#52c41a",colorWarning:"#faad14",colorError:"#ff4d4f",colorInfo:"#1677ff",colorLink:"",colorTextBase:"",colorBgBase:"",fontFamily:`-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', -'Noto Color Emoji'`,fontFamilyCode:"'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace",fontSize:14,lineWidth:1,lineType:"solid",motionUnit:.1,motionBase:0,motionEaseOutCirc:"cubic-bezier(0.08, 0.82, 0.17, 1)",motionEaseInOutCirc:"cubic-bezier(0.78, 0.14, 0.15, 0.86)",motionEaseOut:"cubic-bezier(0.215, 0.61, 0.355, 1)",motionEaseInOut:"cubic-bezier(0.645, 0.045, 0.355, 1)",motionEaseOutBack:"cubic-bezier(0.12, 0.4, 0.29, 1.46)",motionEaseInBack:"cubic-bezier(0.71, -0.46, 0.88, 0.6)",motionEaseInQuint:"cubic-bezier(0.755, 0.05, 0.855, 0.06)",motionEaseOutQuint:"cubic-bezier(0.23, 1, 0.32, 1)",borderRadius:6,sizeUnit:4,sizeStep:4,sizePopupArrow:16,controlHeight:32,zIndexBase:0,zIndexPopupBase:1e3,opacityImage:1,wireframe:!1,motion:!0});function FZe(n,e){let{generateColorPalettes:t,generateNeutralColorPalettes:i}=e;const{colorSuccess:r,colorWarning:o,colorError:s,colorInfo:a,colorPrimary:l,colorBgBase:u,colorTextBase:c}=n,d=t(l),h=t(r),m=t(o),f=t(s),g=t(a),b=i(u,c),v=n.colorLink||n.colorInfo,C=t(v);return Object.assign(Object.assign({},b),{colorPrimaryBg:d[1],colorPrimaryBgHover:d[2],colorPrimaryBorder:d[3],colorPrimaryBorderHover:d[4],colorPrimaryHover:d[5],colorPrimary:d[6],colorPrimaryActive:d[7],colorPrimaryTextHover:d[8],colorPrimaryText:d[9],colorPrimaryTextActive:d[10],colorSuccessBg:h[1],colorSuccessBgHover:h[2],colorSuccessBorder:h[3],colorSuccessBorderHover:h[4],colorSuccessHover:h[4],colorSuccess:h[6],colorSuccessActive:h[7],colorSuccessTextHover:h[8],colorSuccessText:h[9],colorSuccessTextActive:h[10],colorErrorBg:f[1],colorErrorBgHover:f[2],colorErrorBorder:f[3],colorErrorBorderHover:f[4],colorErrorHover:f[5],colorError:f[6],colorErrorActive:f[7],colorErrorTextHover:f[8],colorErrorText:f[9],colorErrorTextActive:f[10],colorWarningBg:m[1],colorWarningBgHover:m[2],colorWarningBorder:m[3],colorWarningBorderHover:m[4],colorWarningHover:m[4],colorWarning:m[6],colorWarningActive:m[7],colorWarningTextHover:m[8],colorWarningText:m[9],colorWarningTextActive:m[10],colorInfoBg:g[1],colorInfoBgHover:g[2],colorInfoBorder:g[3],colorInfoBorderHover:g[4],colorInfoHover:g[4],colorInfo:g[6],colorInfoActive:g[7],colorInfoTextHover:g[8],colorInfoText:g[9],colorInfoTextActive:g[10],colorLinkHover:C[4],colorLink:C[6],colorLinkActive:C[7],colorBgMask:new zo("#000").setAlpha(.45).toRgbString(),colorWhite:"#fff"})}const IZe=n=>{let e=n,t=n,i=n,r=n;return n<6&&n>=5?e=n+1:n<16&&n>=6?e=n+2:n>=16&&(e=16),n<7&&n>=5?t=4:n<8&&n>=7?t=5:n<14&&n>=8?t=6:n<16&&n>=14?t=7:n>=16&&(t=8),n<6&&n>=2?i=1:n>=6&&(i=2),n>4&&n<8?r=4:n>=8&&(r=6),{borderRadius:n,borderRadiusXS:i,borderRadiusSM:t,borderRadiusLG:e,borderRadiusOuter:r}};function DZe(n){const{motionUnit:e,motionBase:t,borderRadius:i,lineWidth:r}=n;return Object.assign({motionDurationFast:`${(t+e).toFixed(1)}s`,motionDurationMid:`${(t+e*2).toFixed(1)}s`,motionDurationSlow:`${(t+e*3).toFixed(1)}s`,lineWidthBold:r+1},IZe(i))}const MZe=n=>{const{controlHeight:e}=n;return{controlHeightSM:e*.75,controlHeightXS:e*.5,controlHeightLG:e*1.25}};function dT(n){return(n+8)/n}function kZe(n){const e=new Array(10).fill(null).map((t,i)=>{const r=i-1,o=n*Math.pow(2.71828,r/5),s=i>1?Math.floor(o):Math.ceil(o);return Math.floor(s/2)*2});return e[1]=n,e.map(t=>({size:t,lineHeight:dT(t)}))}const NZe=n=>{const e=kZe(n),t=e.map(c=>c.size),i=e.map(c=>c.lineHeight),r=t[1],o=t[0],s=t[2],a=i[1],l=i[0],u=i[2];return{fontSizeSM:o,fontSize:r,fontSizeLG:s,fontSizeXL:t[3],fontSizeHeading1:t[6],fontSizeHeading2:t[5],fontSizeHeading3:t[4],fontSizeHeading4:t[3],fontSizeHeading5:t[2],lineHeight:a,lineHeightLG:u,lineHeightSM:l,fontHeight:Math.round(a*r),fontHeightLG:Math.round(u*s),fontHeightSM:Math.round(l*o),lineHeightHeading1:i[6],lineHeightHeading2:i[5],lineHeightHeading3:i[4],lineHeightHeading4:i[3],lineHeightHeading5:i[2]}};function TZe(n){const{sizeUnit:e,sizeStep:t}=n;return{sizeXXL:e*(t+8),sizeXL:e*(t+4),sizeLG:e*(t+2),sizeMD:e*(t+1),sizeMS:e*t,size:e*t,sizeSM:e*(t-1),sizeXS:e*(t-2),sizeXXS:e*(t-3)}}const ng=(n,e)=>new zo(n).setAlpha(e).toRgbString(),OL=(n,e)=>new zo(n).darken(e).toHexString(),EZe=n=>{const e=Q1(n);return{1:e[0],2:e[1],3:e[2],4:e[3],5:e[4],6:e[5],7:e[6],8:e[4],9:e[5],10:e[6]}},ZZe=(n,e)=>{const t=n||"#fff",i=e||"#000";return{colorBgBase:t,colorTextBase:i,colorText:ng(i,.88),colorTextSecondary:ng(i,.65),colorTextTertiary:ng(i,.45),colorTextQuaternary:ng(i,.25),colorFill:ng(i,.15),colorFillSecondary:ng(i,.06),colorFillTertiary:ng(i,.04),colorFillQuaternary:ng(i,.02),colorBgLayout:OL(t,4),colorBgContainer:OL(t,0),colorBgElevated:OL(t,0),colorBgSpotlight:ng(i,.85),colorBgBlur:"transparent",colorBorder:OL(t,15),colorBorderSecondary:OL(t,6)}};function WZe(n){const e=Object.keys(zne).map(t=>{const i=Q1(n[t]);return new Array(10).fill(1).reduce((r,o,s)=>(r[`${t}-${s+1}`]=i[s],r[`${t}${s+1}`]=i[s],r),{})}).reduce((t,i)=>(t=Object.assign(Object.assign({},t),i),t),{});return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},n),e),FZe(n,{generateColorPalettes:EZe,generateNeutralColorPalettes:ZZe})),NZe(n.fontSize)),TZe(n)),MZe(n)),DZe(n))}const Hne=zX(WZe),d4={token:PL,override:{override:PL},hashed:!0},Yne=ze.createContext(d4),h4="anticon",RZe=(n,e)=>e||(n?`ant-${n}`:"ant"),Rn=w.createContext({getPrefixCls:RZe,iconPrefixCls:h4}),VZe=`-ant-${Date.now()}-${Math.random()}`;function AZe(n,e){const t={},i=(s,a)=>{let l=s.clone();return l=(a==null?void 0:a(l))||l,l.toRgbString()},r=(s,a)=>{const l=new zo(s),u=Q1(l.toRgbString());t[`${a}-color`]=i(l),t[`${a}-color-disabled`]=u[1],t[`${a}-color-hover`]=u[4],t[`${a}-color-active`]=u[6],t[`${a}-color-outline`]=l.clone().setAlpha(.2).toRgbString(),t[`${a}-color-deprecated-bg`]=u[0],t[`${a}-color-deprecated-border`]=u[2]};if(e.primaryColor){r(e.primaryColor,"primary");const s=new zo(e.primaryColor),a=Q1(s.toRgbString());a.forEach((u,c)=>{t[`primary-${c+1}`]=u}),t["primary-color-deprecated-l-35"]=i(s,u=>u.lighten(35)),t["primary-color-deprecated-l-20"]=i(s,u=>u.lighten(20)),t["primary-color-deprecated-t-20"]=i(s,u=>u.tint(20)),t["primary-color-deprecated-t-50"]=i(s,u=>u.tint(50)),t["primary-color-deprecated-f-12"]=i(s,u=>u.setAlpha(u.getAlpha()*.12));const l=new zo(a[0]);t["primary-color-active-deprecated-f-30"]=i(l,u=>u.setAlpha(u.getAlpha()*.3)),t["primary-color-active-deprecated-d-02"]=i(l,u=>u.darken(2))}return e.successColor&&r(e.successColor,"success"),e.warningColor&&r(e.warningColor,"warning"),e.errorColor&&r(e.errorColor,"error"),e.infoColor&&r(e.infoColor,"info"),` +'Noto Color Emoji'`,fontFamilyCode:"'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace",fontSize:14,lineWidth:1,lineType:"solid",motionUnit:.1,motionBase:0,motionEaseOutCirc:"cubic-bezier(0.08, 0.82, 0.17, 1)",motionEaseInOutCirc:"cubic-bezier(0.78, 0.14, 0.15, 0.86)",motionEaseOut:"cubic-bezier(0.215, 0.61, 0.355, 1)",motionEaseInOut:"cubic-bezier(0.645, 0.045, 0.355, 1)",motionEaseOutBack:"cubic-bezier(0.12, 0.4, 0.29, 1.46)",motionEaseInBack:"cubic-bezier(0.71, -0.46, 0.88, 0.6)",motionEaseInQuint:"cubic-bezier(0.755, 0.05, 0.855, 0.06)",motionEaseOutQuint:"cubic-bezier(0.23, 1, 0.32, 1)",borderRadius:6,sizeUnit:4,sizeStep:4,sizePopupArrow:16,controlHeight:32,zIndexBase:0,zIndexPopupBase:1e3,opacityImage:1,wireframe:!1,motion:!0});function IRe(n,e){let{generateColorPalettes:t,generateNeutralColorPalettes:i}=e;const{colorSuccess:r,colorWarning:o,colorError:s,colorInfo:a,colorPrimary:l,colorBgBase:u,colorTextBase:c}=n,d=t(l),h=t(r),m=t(o),f=t(s),g=t(a),b=i(u,c),y=n.colorLink||n.colorInfo,C=t(y);return Object.assign(Object.assign({},b),{colorPrimaryBg:d[1],colorPrimaryBgHover:d[2],colorPrimaryBorder:d[3],colorPrimaryBorderHover:d[4],colorPrimaryHover:d[5],colorPrimary:d[6],colorPrimaryActive:d[7],colorPrimaryTextHover:d[8],colorPrimaryText:d[9],colorPrimaryTextActive:d[10],colorSuccessBg:h[1],colorSuccessBgHover:h[2],colorSuccessBorder:h[3],colorSuccessBorderHover:h[4],colorSuccessHover:h[4],colorSuccess:h[6],colorSuccessActive:h[7],colorSuccessTextHover:h[8],colorSuccessText:h[9],colorSuccessTextActive:h[10],colorErrorBg:f[1],colorErrorBgHover:f[2],colorErrorBorder:f[3],colorErrorBorderHover:f[4],colorErrorHover:f[5],colorError:f[6],colorErrorActive:f[7],colorErrorTextHover:f[8],colorErrorText:f[9],colorErrorTextActive:f[10],colorWarningBg:m[1],colorWarningBgHover:m[2],colorWarningBorder:m[3],colorWarningBorderHover:m[4],colorWarningHover:m[4],colorWarning:m[6],colorWarningActive:m[7],colorWarningTextHover:m[8],colorWarningText:m[9],colorWarningTextActive:m[10],colorInfoBg:g[1],colorInfoBgHover:g[2],colorInfoBorder:g[3],colorInfoBorderHover:g[4],colorInfoHover:g[4],colorInfo:g[6],colorInfoActive:g[7],colorInfoTextHover:g[8],colorInfoText:g[9],colorInfoTextActive:g[10],colorLinkHover:C[4],colorLink:C[6],colorLinkActive:C[7],colorBgMask:new zo("#000").setAlpha(.45).toRgbString(),colorWhite:"#fff"})}const FRe=n=>{let e=n,t=n,i=n,r=n;return n<6&&n>=5?e=n+1:n<16&&n>=6?e=n+2:n>=16&&(e=16),n<7&&n>=5?t=4:n<8&&n>=7?t=5:n<14&&n>=8?t=6:n<16&&n>=14?t=7:n>=16&&(t=8),n<6&&n>=2?i=1:n>=6&&(i=2),n>4&&n<8?r=4:n>=8&&(r=6),{borderRadius:n,borderRadiusXS:i,borderRadiusSM:t,borderRadiusLG:e,borderRadiusOuter:r}};function DRe(n){const{motionUnit:e,motionBase:t,borderRadius:i,lineWidth:r}=n;return Object.assign({motionDurationFast:`${(t+e).toFixed(1)}s`,motionDurationMid:`${(t+e*2).toFixed(1)}s`,motionDurationSlow:`${(t+e*3).toFixed(1)}s`,lineWidthBold:r+1},FRe(i))}const NRe=n=>{const{controlHeight:e}=n;return{controlHeightSM:e*.75,controlHeightXS:e*.5,controlHeightLG:e*1.25}};function dT(n){return(n+8)/n}function MRe(n){const e=new Array(10).fill(null).map((t,i)=>{const r=i-1,o=n*Math.pow(2.71828,r/5),s=i>1?Math.floor(o):Math.ceil(o);return Math.floor(s/2)*2});return e[1]=n,e.map(t=>({size:t,lineHeight:dT(t)}))}const kRe=n=>{const e=MRe(n),t=e.map(c=>c.size),i=e.map(c=>c.lineHeight),r=t[1],o=t[0],s=t[2],a=i[1],l=i[0],u=i[2];return{fontSizeSM:o,fontSize:r,fontSizeLG:s,fontSizeXL:t[3],fontSizeHeading1:t[6],fontSizeHeading2:t[5],fontSizeHeading3:t[4],fontSizeHeading4:t[3],fontSizeHeading5:t[2],lineHeight:a,lineHeightLG:u,lineHeightSM:l,fontHeight:Math.round(a*r),fontHeightLG:Math.round(u*s),fontHeightSM:Math.round(l*o),lineHeightHeading1:i[6],lineHeightHeading2:i[5],lineHeightHeading3:i[4],lineHeightHeading4:i[3],lineHeightHeading5:i[2]}};function TRe(n){const{sizeUnit:e,sizeStep:t}=n;return{sizeXXL:e*(t+8),sizeXL:e*(t+4),sizeLG:e*(t+2),sizeMD:e*(t+1),sizeMS:e*t,size:e*t,sizeSM:e*(t-1),sizeXS:e*(t-2),sizeXXS:e*(t-3)}}const ng=(n,e)=>new zo(n).setAlpha(e).toRgbString(),O_=(n,e)=>new zo(n).darken(e).toHexString(),ERe=n=>{const e=Q1(n);return{1:e[0],2:e[1],3:e[2],4:e[3],5:e[4],6:e[5],7:e[6],8:e[4],9:e[5],10:e[6]}},RRe=(n,e)=>{const t=n||"#fff",i=e||"#000";return{colorBgBase:t,colorTextBase:i,colorText:ng(i,.88),colorTextSecondary:ng(i,.65),colorTextTertiary:ng(i,.45),colorTextQuaternary:ng(i,.25),colorFill:ng(i,.15),colorFillSecondary:ng(i,.06),colorFillTertiary:ng(i,.04),colorFillQuaternary:ng(i,.02),colorBgLayout:O_(t,4),colorBgContainer:O_(t,0),colorBgElevated:O_(t,0),colorBgSpotlight:ng(i,.85),colorBgBlur:"transparent",colorBorder:O_(t,15),colorBorderSecondary:O_(t,6)}};function ZRe(n){const e=Object.keys(zne).map(t=>{const i=Q1(n[t]);return new Array(10).fill(1).reduce((r,o,s)=>(r[`${t}-${s+1}`]=i[s],r[`${t}${s+1}`]=i[s],r),{})}).reduce((t,i)=>(t=Object.assign(Object.assign({},t),i),t),{});return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},n),e),IRe(n,{generateColorPalettes:ERe,generateNeutralColorPalettes:RRe})),kRe(n.fontSize)),TRe(n)),NRe(n)),DRe(n))}const Hne=zX(ZRe),d4={token:P_,override:{override:P_},hashed:!0},Yne=ze.createContext(d4),h4="anticon",WRe=(n,e)=>e||(n?`ant-${n}`:"ant"),Wn=S.createContext({getPrefixCls:WRe,iconPrefixCls:h4}),ARe=`-ant-${Date.now()}-${Math.random()}`;function VRe(n,e){const t={},i=(s,a)=>{let l=s.clone();return l=(a==null?void 0:a(l))||l,l.toRgbString()},r=(s,a)=>{const l=new zo(s),u=Q1(l.toRgbString());t[`${a}-color`]=i(l),t[`${a}-color-disabled`]=u[1],t[`${a}-color-hover`]=u[4],t[`${a}-color-active`]=u[6],t[`${a}-color-outline`]=l.clone().setAlpha(.2).toRgbString(),t[`${a}-color-deprecated-bg`]=u[0],t[`${a}-color-deprecated-border`]=u[2]};if(e.primaryColor){r(e.primaryColor,"primary");const s=new zo(e.primaryColor),a=Q1(s.toRgbString());a.forEach((u,c)=>{t[`primary-${c+1}`]=u}),t["primary-color-deprecated-l-35"]=i(s,u=>u.lighten(35)),t["primary-color-deprecated-l-20"]=i(s,u=>u.lighten(20)),t["primary-color-deprecated-t-20"]=i(s,u=>u.tint(20)),t["primary-color-deprecated-t-50"]=i(s,u=>u.tint(50)),t["primary-color-deprecated-f-12"]=i(s,u=>u.setAlpha(u.getAlpha()*.12));const l=new zo(a[0]);t["primary-color-active-deprecated-f-30"]=i(l,u=>u.setAlpha(u.getAlpha()*.3)),t["primary-color-active-deprecated-d-02"]=i(l,u=>u.darken(2))}return e.successColor&&r(e.successColor,"success"),e.warningColor&&r(e.warningColor,"warning"),e.errorColor&&r(e.errorColor,"error"),e.infoColor&&r(e.infoColor,"info"),` :root { ${Object.keys(t).map(s=>`--${n}-${s}: ${t[s]};`).join(` `)} } - `.trim()}function GZe(n,e){const t=AZe(n,e);wl()&&$f(t,`${VZe}-dynamic-theme`)}const m4=w.createContext(!1),f4=n=>{let{children:e,disabled:t}=n;const i=w.useContext(m4);return w.createElement(m4.Provider,{value:t??i},e)},sh=m4,g4=w.createContext(void 0),XZe=n=>{let{children:e,size:t}=n;const i=w.useContext(g4);return w.createElement(g4.Provider,{value:t||i},e)},BL=g4;function PZe(){const n=w.useContext(sh),e=w.useContext(BL);return{componentDisabled:n,componentSize:e}}const zL=["blue","purple","cyan","green","magenta","pink","red","orange","yellow","volcano","geekblue","lime","gold"],OZe="5.16.4";function p4(n){return n>=0&&n<=255}function hT(n,e){const{r:t,g:i,b:r,a:o}=new zo(n).toRgb();if(o<1)return n;const{r:s,g:a,b:l}=new zo(e).toRgb();for(let u=.01;u<=1;u+=.01){const c=Math.round((t-s*(1-u))/u),d=Math.round((i-a*(1-u))/u),h=Math.round((r-l*(1-u))/u);if(p4(c)&&p4(d)&&p4(h))return new zo({r:c,g:d,b:h,a:Math.round(u*100)/100}).toRgbString()}return new zo({r:t,g:i,b:r,a:1}).toRgbString()}var BZe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{delete i[h]});const r=Object.assign(Object.assign({},t),i),o=480,s=576,a=768,l=992,u=1200,c=1600;if(r.motion===!1){const h="0s";r.motionDurationFast=h,r.motionDurationMid=h,r.motionDurationSlow=h}return Object.assign(Object.assign(Object.assign({},r),{colorFillContent:r.colorFillSecondary,colorFillContentHover:r.colorFill,colorFillAlter:r.colorFillQuaternary,colorBgContainerDisabled:r.colorFillTertiary,colorBorderBg:r.colorBgContainer,colorSplit:hT(r.colorBorderSecondary,r.colorBgContainer),colorTextPlaceholder:r.colorTextQuaternary,colorTextDisabled:r.colorTextQuaternary,colorTextHeading:r.colorText,colorTextLabel:r.colorTextSecondary,colorTextDescription:r.colorTextTertiary,colorTextLightSolid:r.colorWhite,colorHighlight:r.colorError,colorBgTextHover:r.colorFillSecondary,colorBgTextActive:r.colorFill,colorIcon:r.colorTextTertiary,colorIconHover:r.colorText,colorErrorOutline:hT(r.colorErrorBg,r.colorBgContainer),colorWarningOutline:hT(r.colorWarningBg,r.colorBgContainer),fontSizeIcon:r.fontSizeSM,lineWidthFocus:r.lineWidth*4,lineWidth:r.lineWidth,controlOutlineWidth:r.lineWidth*2,controlInteractiveSize:r.controlHeight/2,controlItemBgHover:r.colorFillTertiary,controlItemBgActive:r.colorPrimaryBg,controlItemBgActiveHover:r.colorPrimaryBgHover,controlItemBgActiveDisabled:r.colorFill,controlTmpOutline:r.colorFillQuaternary,controlOutline:hT(r.colorPrimaryBg,r.colorBgContainer),lineType:r.lineType,borderRadius:r.borderRadius,borderRadiusXS:r.borderRadiusXS,borderRadiusSM:r.borderRadiusSM,borderRadiusLG:r.borderRadiusLG,fontWeightStrong:600,opacityLoading:.65,linkDecoration:"none",linkHoverDecoration:"none",linkFocusDecoration:"none",controlPaddingHorizontal:12,controlPaddingHorizontalSM:8,paddingXXS:r.sizeXXS,paddingXS:r.sizeXS,paddingSM:r.sizeSM,padding:r.size,paddingMD:r.sizeMD,paddingLG:r.sizeLG,paddingXL:r.sizeXL,paddingContentHorizontalLG:r.sizeLG,paddingContentVerticalLG:r.sizeMS,paddingContentHorizontal:r.sizeMS,paddingContentVertical:r.sizeSM,paddingContentHorizontalSM:r.size,paddingContentVerticalSM:r.sizeXS,marginXXS:r.sizeXXS,marginXS:r.sizeXS,marginSM:r.sizeSM,margin:r.size,marginMD:r.sizeMD,marginLG:r.sizeLG,marginXL:r.sizeXL,marginXXL:r.sizeXXL,boxShadow:` + `.trim()}function GRe(n,e){const t=VRe(n,e);Sl()&&$f(t,`${ARe}-dynamic-theme`)}const m4=S.createContext(!1),f4=n=>{let{children:e,disabled:t}=n;const i=S.useContext(m4);return S.createElement(m4.Provider,{value:t??i},e)},oh=m4,g4=S.createContext(void 0),XRe=n=>{let{children:e,size:t}=n;const i=S.useContext(g4);return S.createElement(g4.Provider,{value:t||i},e)},B_=g4;function PRe(){const n=S.useContext(oh),e=S.useContext(B_);return{componentDisabled:n,componentSize:e}}const z_=["blue","purple","cyan","green","magenta","pink","red","orange","yellow","volcano","geekblue","lime","gold"],ORe="5.16.4";function p4(n){return n>=0&&n<=255}function hT(n,e){const{r:t,g:i,b:r,a:o}=new zo(n).toRgb();if(o<1)return n;const{r:s,g:a,b:l}=new zo(e).toRgb();for(let u=.01;u<=1;u+=.01){const c=Math.round((t-s*(1-u))/u),d=Math.round((i-a*(1-u))/u),h=Math.round((r-l*(1-u))/u);if(p4(c)&&p4(d)&&p4(h))return new zo({r:c,g:d,b:h,a:Math.round(u*100)/100}).toRgbString()}return new zo({r:t,g:i,b:r,a:1}).toRgbString()}var BRe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{delete i[h]});const r=Object.assign(Object.assign({},t),i),o=480,s=576,a=768,l=992,u=1200,c=1600;if(r.motion===!1){const h="0s";r.motionDurationFast=h,r.motionDurationMid=h,r.motionDurationSlow=h}return Object.assign(Object.assign(Object.assign({},r),{colorFillContent:r.colorFillSecondary,colorFillContentHover:r.colorFill,colorFillAlter:r.colorFillQuaternary,colorBgContainerDisabled:r.colorFillTertiary,colorBorderBg:r.colorBgContainer,colorSplit:hT(r.colorBorderSecondary,r.colorBgContainer),colorTextPlaceholder:r.colorTextQuaternary,colorTextDisabled:r.colorTextQuaternary,colorTextHeading:r.colorText,colorTextLabel:r.colorTextSecondary,colorTextDescription:r.colorTextTertiary,colorTextLightSolid:r.colorWhite,colorHighlight:r.colorError,colorBgTextHover:r.colorFillSecondary,colorBgTextActive:r.colorFill,colorIcon:r.colorTextTertiary,colorIconHover:r.colorText,colorErrorOutline:hT(r.colorErrorBg,r.colorBgContainer),colorWarningOutline:hT(r.colorWarningBg,r.colorBgContainer),fontSizeIcon:r.fontSizeSM,lineWidthFocus:r.lineWidth*4,lineWidth:r.lineWidth,controlOutlineWidth:r.lineWidth*2,controlInteractiveSize:r.controlHeight/2,controlItemBgHover:r.colorFillTertiary,controlItemBgActive:r.colorPrimaryBg,controlItemBgActiveHover:r.colorPrimaryBgHover,controlItemBgActiveDisabled:r.colorFill,controlTmpOutline:r.colorFillQuaternary,controlOutline:hT(r.colorPrimaryBg,r.colorBgContainer),lineType:r.lineType,borderRadius:r.borderRadius,borderRadiusXS:r.borderRadiusXS,borderRadiusSM:r.borderRadiusSM,borderRadiusLG:r.borderRadiusLG,fontWeightStrong:600,opacityLoading:.65,linkDecoration:"none",linkHoverDecoration:"none",linkFocusDecoration:"none",controlPaddingHorizontal:12,controlPaddingHorizontalSM:8,paddingXXS:r.sizeXXS,paddingXS:r.sizeXS,paddingSM:r.sizeSM,padding:r.size,paddingMD:r.sizeMD,paddingLG:r.sizeLG,paddingXL:r.sizeXL,paddingContentHorizontalLG:r.sizeLG,paddingContentVerticalLG:r.sizeMS,paddingContentHorizontal:r.sizeMS,paddingContentVertical:r.sizeSM,paddingContentHorizontalSM:r.size,paddingContentVerticalSM:r.sizeXS,marginXXS:r.sizeXXS,marginXS:r.sizeXS,marginSM:r.sizeSM,margin:r.size,marginMD:r.sizeMD,marginLG:r.sizeLG,marginXL:r.sizeXL,marginXXL:r.sizeXXL,boxShadow:` 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05) @@ -92,7 +92,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho 0 -6px 16px 0 rgba(0, 0, 0, 0.08), 0 -3px 6px -4px rgba(0, 0, 0, 0.12), 0 -9px 28px 8px rgba(0, 0, 0, 0.05) - `,boxShadowTabsOverflowLeft:"inset 10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowRight:"inset -10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowTop:"inset 0 10px 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowBottom:"inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08)"}),i)}var Kne=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const i=t.getDerivativeToken(n),{override:r}=e,o=Kne(e,["override"]);let s=Object.assign(Object.assign({},i),{override:r});return s=Une(s),o&&Object.entries(o).forEach(a=>{let[l,u]=a;const{theme:c}=u,d=Kne(u,["theme"]);let h=d;c&&(h=Qne(Object.assign(Object.assign({},s),d),{override:d},c)),s[l]=h}),s};function Pa(){const{token:n,hashed:e,theme:t,override:i,cssVar:r}=ze.useContext(Yne),o=`${OZe}-${e||""}`,s=t||Hne,[a,l,u]=_5e(s,[PL,n],{salt:o,override:i,getComputedToken:Qne,formatToken:Une,cssVar:r&&{prefix:r.prefix,key:r.key,unitless:Jne,ignore:jne,preserve:zZe}});return[s,u,e?l:"",a,r]}function $ne(n,e,t){return e=zC(e),zte(n,ZX()?Reflect.construct(e,t||[],zC(n).constructor):e.apply(n,t))}const qne=Ls(function n(){xs(this,n)}),eie="CALC_UNIT",HZe=new RegExp(eie,"g");function b4(n){return typeof n=="number"?`${n}${eie}`:n}let YZe=function(n){function e(t){var i;return xs(this,e),i=$ne(this,e),i.result="",t instanceof e?i.result=`(${t.result})`:typeof t=="number"?i.result=b4(t):typeof t=="string"&&(i.result=t),i}return Qf(e,n),Ls(e,[{key:"add",value:function(i){return i instanceof e?this.result=`${this.result} + ${i.getResult()}`:(typeof i=="number"||typeof i=="string")&&(this.result=`${this.result} + ${b4(i)}`),this.lowPriority=!0,this}},{key:"sub",value:function(i){return i instanceof e?this.result=`${this.result} - ${i.getResult()}`:(typeof i=="number"||typeof i=="string")&&(this.result=`${this.result} - ${b4(i)}`),this.lowPriority=!0,this}},{key:"mul",value:function(i){return this.lowPriority&&(this.result=`(${this.result})`),i instanceof e?this.result=`${this.result} * ${i.getResult(!0)}`:(typeof i=="number"||typeof i=="string")&&(this.result=`${this.result} * ${i}`),this.lowPriority=!1,this}},{key:"div",value:function(i){return this.lowPriority&&(this.result=`(${this.result})`),i instanceof e?this.result=`${this.result} / ${i.getResult(!0)}`:(typeof i=="number"||typeof i=="string")&&(this.result=`${this.result} / ${i}`),this.lowPriority=!1,this}},{key:"getResult",value:function(i){return this.lowPriority||i?`(${this.result})`:this.result}},{key:"equal",value:function(i){const{unit:r=!0}=i||{};return this.result=this.result.replace(HZe,r?"px":""),typeof this.lowPriority<"u"?`calc(${this.result})`:this.result}}])}(qne),UZe=function(n){function e(t){var i;return xs(this,e),i=$ne(this,e),i.result=0,t instanceof e?i.result=t.result:typeof t=="number"&&(i.result=t),i}return Qf(e,n),Ls(e,[{key:"add",value:function(i){return i instanceof e?this.result+=i.result:typeof i=="number"&&(this.result+=i),this}},{key:"sub",value:function(i){return i instanceof e?this.result-=i.result:typeof i=="number"&&(this.result-=i),this}},{key:"mul",value:function(i){return i instanceof e?this.result*=i.result:typeof i=="number"&&(this.result*=i),this}},{key:"div",value:function(i){return i instanceof e?this.result/=i.result:typeof i=="number"&&(this.result/=i),this}},{key:"equal",value:function(){return this.result}}])}(qne);const KZe=n=>{const e=n==="css"?YZe:UZe;return t=>new e(t)};function $i(n){var e=w.useRef();e.current=n;var t=w.useCallback(function(){for(var i,r=arguments.length,o=new Array(r),s=0;s1&&arguments[1]!==void 0?arguments[1]:!1;return{boxSizing:"border-box",margin:0,padding:0,color:n.colorText,fontSize:n.fontSize,lineHeight:n.lineHeight,listStyle:"none",fontFamily:e?"inherit":n.fontFamily}},HL=()=>({display:"inline-flex",alignItems:"center",color:"inherit",fontStyle:"normal",lineHeight:0,textAlign:"center",textTransform:"none",verticalAlign:"-0.125em",textRendering:"optimizeLegibility","-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale","> *":{lineHeight:1},svg:{display:"inline-block"}}),qC=()=>({"&::before":{display:"table",content:'""'},"&::after":{display:"table",clear:"both",content:'""'}}),JZe=n=>({a:{color:n.colorLink,textDecoration:n.linkDecoration,backgroundColor:"transparent",outline:"none",cursor:"pointer",transition:`color ${n.motionDurationSlow}`,"-webkit-text-decoration-skip":"objects","&:hover":{color:n.colorLinkHover},"&:active":{color:n.colorLinkActive},"&:active,\n &:hover":{textDecoration:n.linkHoverDecoration,outline:0},"&:focus":{textDecoration:n.linkFocusDecoration,outline:0},"&[disabled]":{color:n.colorTextDisabled,cursor:"not-allowed"}}}),jZe=(n,e,t,i)=>{const r=`[class^="${e}"], [class*=" ${e}"]`,o=t?`.${t}`:r,s={boxSizing:"border-box","&::before, &::after":{boxSizing:"border-box"}};let a={};return i!==!1&&(a={fontFamily:n.fontFamily,fontSize:n.fontSize}),{[o]:Object.assign(Object.assign(Object.assign({},a),s),{[r]:s})}},mT=n=>({outline:`${Ee(n.lineWidthFocus)} solid ${n.colorPrimaryBorder}`,outlineOffset:1,transition:"outline-offset 0s, outline 0s"}),$1=n=>({"&:focus-visible":Object.assign({},mT(n))});function QZe(n){return n==="js"?{max:Math.max,min:Math.min}:{max:function(){for(var e=arguments.length,t=new Array(e),i=0;iEe(r)).join(",")})`},min:function(){for(var e=arguments.length,t=new Array(e),i=0;iEe(r)).join(",")})`}}}const tie=typeof CSSINJS_STATISTIC<"u";let y4=!0;function Ui(){for(var n=arguments.length,e=new Array(n),t=0;t{Object.keys(r).forEach(s=>{Object.defineProperty(i,s,{configurable:!0,enumerable:!0,get:()=>r[s]})})}),y4=!0,i}const nie={};function $Ze(){}const qZe=n=>{let e,t=n,i=$Ze;return tie&&typeof Proxy<"u"&&(e=new Set,t=new Proxy(n,{get(r,o){return y4&&e.add(o),r[o]}}),i=(r,o)=>{var s;nie[r]={global:Array.from(e),component:Object.assign(Object.assign({},(s=nie[r])===null||s===void 0?void 0:s.component),o)}}),{token:t,keys:e,flush:i}},iie=(n,e)=>{const[t,i]=Pa();return e4({theme:t,token:i,hashId:"",path:["ant-design-icons",n],nonce:()=>e==null?void 0:e.nonce},()=>[{[`.${n}`]:Object.assign(Object.assign({},HL()),{[`.${n} .${n}-icon`]:{display:"block"}})}])},rie=(n,e,t)=>{var i;return typeof t=="function"?t(Ui(e,(i=e[n])!==null&&i!==void 0?i:{})):t??{}},oie=(n,e,t,i)=>{const r=Object.assign({},e[n]);if(i!=null&&i.deprecatedTokens){const{deprecatedTokens:s}=i;s.forEach(a=>{let[l,u]=a;var c;(r!=null&&r[l]||r!=null&&r[u])&&((c=r[u])!==null&&c!==void 0||(r[u]=r==null?void 0:r[l]))})}const o=Object.assign(Object.assign({},t),r);return Object.keys(o).forEach(s=>{o[s]===e[s]&&delete o[s]}),o},e9e=(n,e)=>`${[e,n.replace(/([A-Z]+)([A-Z][a-z]+)/g,"$1-$2").replace(/([a-z])([A-Z])/g,"$1-$2")].filter(Boolean).join("-")}`;function C4(n,e,t){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const r=Array.isArray(n)?n:[n,n],[o]=r,s=r.join("-");return function(a){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:a;const[u,c,d,h,m]=Pa(),{getPrefixCls:f,iconPrefixCls:g,csp:b}=w.useContext(Rn),v=f(),C=m?"css":"js",S=KZe(C),{max:x,min:_}=QZe(C),F={theme:u,token:h,hashId:d,nonce:()=>b==null?void 0:b.nonce,clientOnly:i.clientOnly,order:i.order||-999};return e4(Object.assign(Object.assign({},F),{clientOnly:!1,path:["Shared",v]}),()=>[{"&":JZe(h)}]),iie(g,b),[e4(Object.assign(Object.assign({},F),{path:[s,a,g]}),()=>{if(i.injectStyle===!1)return[];const{token:M,flush:T}=qZe(h),Z=rie(o,c,t),E=`.${a}`,R=oie(o,c,Z,{deprecatedTokens:i.deprecatedTokens});m&&Object.keys(Z).forEach(z=>{Z[z]=`var(${ane(z,e9e(o,m.prefix))})`});const W=Ui(M,{componentCls:E,prefixCls:a,iconCls:`.${g}`,antCls:`.${v}`,calc:S,max:x,min:_},m?Z:R),A=e(W,{hashId:d,prefixCls:a,rootPrefixCls:v,iconPrefixCls:g});return T(o,R),[i.resetStyle===!1?null:jZe(W,a,l,i.resetFont),A]}),d]}}const fT=(n,e,t,i)=>{const r=C4(n,e,t,Object.assign({resetStyle:!1,order:-998},i));return s=>{let{prefixCls:a,rootCls:l=a}=s;return r(a,l),null}},t9e=(n,e,t)=>{function i(u){return`${n}${u.slice(0,1).toUpperCase()}${u.slice(1)}`}const{unitless:r={},injectStyle:o=!0}=t??{},s={[i("zIndexPopup")]:!0};Object.keys(r).forEach(u=>{s[i(u)]=r[u]});const a=u=>{let{rootCls:c,cssVar:d}=u;const[,h]=Pa();return q5e({path:[n],prefix:d.prefix,key:d==null?void 0:d.key,unitless:Object.assign(Object.assign({},Jne),s),ignore:jne,token:h,scope:c},()=>{const m=rie(n,h,e),f=oie(n,h,m,{deprecatedTokens:t==null?void 0:t.deprecatedTokens});return Object.keys(m).forEach(g=>{f[i(g)]=f[g],delete f[g]}),f}),null};return u=>{const[,,,,c]=Pa();return[d=>o&&c?ze.createElement(ze.Fragment,null,ze.createElement(a,{rootCls:u,cssVar:c,component:n}),d):d,c==null?void 0:c.key]}},Ho=(n,e,t,i)=>{const r=C4(n,e,t,i),o=t9e(Array.isArray(n)?n[0]:n,t,i);return function(s){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:s;const[,l]=r(s,a),[u,c]=o(a);return[u,l,c]}};function n9e(n,e){return zL.reduce((t,i)=>{const r=n[`${i}1`],o=n[`${i}3`],s=n[`${i}6`],a=n[`${i}7`];return Object.assign(Object.assign({},t),e(i,{lightColor:r,lightBorderColor:o,darkColor:s,textColor:a}))},{})}const i9e=Object.assign({},z1),{useId:sie}=i9e,r9e=typeof sie>"u"?()=>"":sie;var aie={TERM_PROGRAM:"vscode",NODE:"/Users/alexander/.nvm/versions/node/v20.9.0/bin/node",NVM_CD_FLAGS:"-q",INIT_CWD:"/Users/alexander/my-code/github/openapi-ui",SHELL:"/bin/zsh",TERM:"xterm-256color",TMPDIR:"/var/folders/7b/f28gh86d083_xqj9p9hs97k80000gn/T/",npm_config_global_prefix:"/Users/alexander/.nvm/versions/node/v20.9.0",TERM_PROGRAM_VERSION:"1.88.1",GVM_ROOT:"/Users/alexander/.gvm",MallocNanoZone:"0",ORIGINAL_XDG_CURRENT_DESKTOP:"undefined",ZDOTDIR:"/Users/alexander",COLOR:"1",npm_config_noproxy:"",ZSH:"/Users/alexander/.oh-my-zsh",PNPM_HOME:"/Users/alexander/Library/pnpm",npm_config_local_prefix:"/Users/alexander/my-code/github/openapi-ui",USER:"alexander",NVM_DIR:"/Users/alexander/.nvm",LD_LIBRARY_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:",COMMAND_MODE:"unix2003",npm_config_globalconfig:"/Users/alexander/.nvm/versions/node/v20.9.0/etc/npmrc",SSH_AUTH_SOCK:"/private/tmp/com.apple.launchd.LekgFF0iuk/Listeners",__CF_USER_TEXT_ENCODING:"0x1F5:0x19:0x34",npm_execpath:"/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/bin/npm-cli.js",PAGER:"less",LSCOLORS:"Gxfxcxdxbxegedabagacad",PATH:"/Users/alexander/my-code/github/openapi-ui/node_modules/.bin:/Users/alexander/my-code/github/node_modules/.bin:/Users/alexander/my-code/node_modules/.bin:/Users/alexander/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/mygo/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/alexander/.gvm/gos/go1.21.6/bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.nvm/versions/node/v20.9.0/bin:/Users/alexander/.cargo/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin",npm_package_json:"/Users/alexander/my-code/github/openapi-ui/package.json",__CFBundleIdentifier:"com.microsoft.VSCode",USER_ZDOTDIR:"/Users/alexander",npm_config_auto_install_peers:"true",npm_config_init_module:"/Users/alexander/.npm-init.js",npm_config_userconfig:"/Users/alexander/.npmrc",PWD:"/Users/alexander/my-code/github/openapi-ui",GVM_VERSION:"1.0.22",npm_command:"run-script",EDITOR:"vi",npm_lifecycle_event:"build:package",LANG:"zh_CN.UTF-8",npm_package_name:"openapi-ui-dist",gvm_pkgset_name:"global",NODE_PATH:"/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/vite@5.2.10_@types+node@20.12.7/node_modules/vite/bin/node_modules:/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/vite@5.2.10_@types+node@20.12.7/node_modules/vite/node_modules:/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/vite@5.2.10_@types+node@20.12.7/node_modules:/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/node_modules",XPC_FLAGS:"0x0",VSCODE_GIT_ASKPASS_EXTRA_ARGS:"",npm_config_npm_version:"10.1.0",npm_package_engines_node:"^18.0.0 || >=20.0.0",npm_config_node_gyp:"/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",XPC_SERVICE_NAME:"0",npm_package_version:"2.2.0",VSCODE_INJECTION:"1",HOME:"/Users/alexander",SHLVL:"2",VSCODE_GIT_ASKPASS_MAIN:"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js",GOROOT:"/Users/alexander/.gvm/gos/go1.21.6",DYLD_LIBRARY_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:",gvm_go_name:"go1.21.6",LOGNAME:"alexander",LESS:"-R",VSCODE_PATH_PREFIX:"/Users/alexander/.gvm/gos/go1.21.6/bin:",npm_config_cache:"/Users/alexander/.npm",GVM_OVERLAY_PREFIX:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay",npm_lifecycle_script:"tsc && vite build --config vite.package.config.ts --mode package",LC_CTYPE:"zh_CN.UTF-8",VSCODE_GIT_IPC_HANDLE:"/var/folders/7b/f28gh86d083_xqj9p9hs97k80000gn/T/vscode-git-79a18f10f2.sock",NVM_BIN:"/Users/alexander/.nvm/versions/node/v20.9.0/bin",PKG_CONFIG_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:",GOPATH:"/Users/alexander/mygo",npm_config_user_agent:"npm/10.1.0 node/v20.9.0 darwin x64 workspaces/false",GIT_ASKPASS:"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh",VSCODE_GIT_ASKPASS_NODE:"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)",GVM_PATH_BACKUP:"/Users/alexander/.gvm/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/mygo/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/alexander/.gvm/gos/go1.21.6/bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.nvm/versions/node/v20.9.0/bin:/Users/alexander/.cargo/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin",COLORTERM:"truecolor",npm_config_prefix:"/Users/alexander/.nvm/versions/node/v20.9.0",npm_node_execpath:"/Users/alexander/.nvm/versions/node/v20.9.0/bin/node",NODE_ENV:"production"};function o9e(n,e,t){var i,r;const o=jC(),s=n||{},a=s.inherit===!1||!e?Object.assign(Object.assign({},d4),{hashed:(i=e==null?void 0:e.hashed)!==null&&i!==void 0?i:d4.hashed,cssVar:e==null?void 0:e.cssVar}):e,l=r9e();if(aie.NODE_ENV!=="production"){const u=s.cssVar||a.cssVar,c=!!(typeof s.cssVar=="object"&&(!((r=s.cssVar)===null||r===void 0)&&r.key)||l);aie.NODE_ENV!=="production"&&o(!u||c,"breaking","Missing key in `cssVar` config. Please upgrade to React 18 or set `cssVar.key` manually in each ConfigProvider inside `cssVar` enabled ConfigProvider.")}return EL(()=>{var u,c;if(!n)return e;const d=Object.assign({},a.components);Object.keys(n.components||{}).forEach(f=>{d[f]=Object.assign(Object.assign({},d[f]),n.components[f])});const h=`css-var-${l.replace(/:/g,"")}`,m=((u=s.cssVar)!==null&&u!==void 0?u:a.cssVar)&&Object.assign(Object.assign(Object.assign({prefix:t==null?void 0:t.prefixCls},typeof a.cssVar=="object"?a.cssVar:{}),typeof s.cssVar=="object"?s.cssVar:{}),{key:typeof s.cssVar=="object"&&((c=s.cssVar)===null||c===void 0?void 0:c.key)||h});return Object.assign(Object.assign(Object.assign({},a),s),{token:Object.assign(Object.assign({},a.token),s.token),components:d,cssVar:m})},[s,a],(u,c)=>u.some((d,h)=>{const m=c[h];return!RL(d,m,!0)}))}var s9e=["children"],lie=w.createContext({});function a9e(n){var e=n.children,t=zn(n,s9e);return w.createElement(lie.Provider,{value:t},e)}var l9e=function(n){Qf(t,n);var e=H1(t);function t(){return xs(this,t),e.apply(this,arguments)}return Ls(t,[{key:"render",value:function(){return this.props.children}}]),t}(w.Component),q1="none",gT="appear",pT="enter",bT="leave",uie="none",ah="prepare",ew="start",tw="active",w4="end",cie="prepared";function die(n,e){var t={};return t[n.toLowerCase()]=e.toLowerCase(),t["Webkit".concat(n)]="webkit".concat(e),t["Moz".concat(n)]="moz".concat(e),t["ms".concat(n)]="MS".concat(e),t["O".concat(n)]="o".concat(e.toLowerCase()),t}function u9e(n,e){var t={animationend:die("Animation","AnimationEnd"),transitionend:die("Transition","TransitionEnd")};return n&&("AnimationEvent"in e||delete t.animationend.animation,"TransitionEvent"in e||delete t.transitionend.transition),t}var c9e=u9e(wl(),typeof window<"u"?window:{}),hie={};if(wl()){var d9e=document.createElement("div");hie=d9e.style}var vT={};function mie(n){if(vT[n])return vT[n];var e=c9e[n];if(e)for(var t=Object.keys(e),i=t.length,r=0;r1&&arguments[1]!==void 0?arguments[1]:2;e();var o=xi(function(){r<=1?i({isCanceled:function(){return o!==n.current}}):t(i,r-1)});n.current=o}return w.useEffect(function(){return function(){e()}},[]),[t,e]};var f9e=[ah,ew,tw,w4],g9e=[ah,cie],wie=!1,p9e=!0;function Sie(n){return n===tw||n===w4}const b9e=function(n,e,t){var i=sb(uie),r=Se(i,2),o=r[0],s=r[1],a=m9e(),l=Se(a,2),u=l[0],c=l[1];function d(){s(ah,!0)}var h=e?g9e:f9e;return Cie(function(){if(o!==uie&&o!==w4){var m=h.indexOf(o),f=h[m+1],g=t(o);g===wie?s(f,!0):f&&u(function(b){function v(){b.isCanceled()||s(f,!0)}g===!0?v():Promise.resolve(g).then(v)})}},[n,o]),w.useEffect(function(){return function(){c()}},[]),[d,o]};function v9e(n,e,t,i){var r=i.motionEnter,o=r===void 0?!0:r,s=i.motionAppear,a=s===void 0?!0:s,l=i.motionLeave,u=l===void 0?!0:l,c=i.motionDeadline,d=i.motionLeaveImmediately,h=i.onAppearPrepare,m=i.onEnterPrepare,f=i.onLeavePrepare,g=i.onAppearStart,b=i.onEnterStart,v=i.onLeaveStart,C=i.onAppearActive,S=i.onEnterActive,x=i.onLeaveActive,_=i.onAppearEnd,F=i.onEnterEnd,D=i.onLeaveEnd,M=i.onVisibleChanged,T=sb(),Z=Se(T,2),E=Z[0],R=Z[1],W=sb(q1),A=Se(W,2),z=A[0],O=A[1],B=sb(null),P=Se(B,2),H=P[0],k=P[1],X=w.useRef(!1),Y=w.useRef(null);function V(){return t()}var te=w.useRef(!1);function oe(){O(q1,!0),k(null,!0)}function ae(it){var he=V();if(!(it&&!it.deadline&&it.target!==he)){var de=te.current,me;z===gT&&de?me=_==null?void 0:_(he,it):z===pT&&de?me=F==null?void 0:F(he,it):z===bT&&de&&(me=D==null?void 0:D(he,it)),z!==q1&&de&&me!==!1&&oe()}}var le=h9e(ae),ue=Se(le,1),Ce=ue[0],pe=function(he){var de,me,j;switch(he){case gT:return de={},ge(de,ah,h),ge(de,ew,g),ge(de,tw,C),de;case pT:return me={},ge(me,ah,m),ge(me,ew,b),ge(me,tw,S),me;case bT:return j={},ge(j,ah,f),ge(j,ew,v),ge(j,tw,x),j;default:return{}}},ce=w.useMemo(function(){return pe(z)},[z]),De=b9e(z,!n,function(it){if(it===ah){var he=ce[ah];return he?he(V()):wie}if(Ue in ce){var de;k(((de=ce[Ue])===null||de===void 0?void 0:de.call(ce,V(),null))||null)}return Ue===tw&&(Ce(V()),c>0&&(clearTimeout(Y.current),Y.current=setTimeout(function(){ae({deadline:!0})},c))),Ue===cie&&oe(),p9e}),ke=Se(De,2),Ne=ke[0],Ue=ke[1],He=Sie(Ue);te.current=He,Cie(function(){R(e);var it=X.current;X.current=!0;var he;!it&&e&&a&&(he=gT),it&&e&&o&&(he=pT),(it&&!e&&u||!it&&d&&!e&&u)&&(he=bT);var de=pe(he);he&&(n||de[ah])?(O(he),Ne()):O(q1)},[e]),w.useEffect(function(){(z===gT&&!a||z===pT&&!o||z===bT&&!u)&&O(q1)},[a,o,u]),w.useEffect(function(){return function(){X.current=!1,clearTimeout(Y.current)}},[]);var ct=w.useRef(!1);w.useEffect(function(){E&&(ct.current=!0),E!==void 0&&z===q1&&((ct.current||E)&&(M==null||M(E)),ct.current=!0)},[E,z]);var vt=H;return ce[ah]&&Ue===ew&&(vt=xe({transition:"none"},vt)),[z,Ue,vt,E??e]}function y9e(n){var e=n;Xn(n)==="object"&&(e=n.transitionSupport);function t(r,o){return!!(r.motionName&&e&&o!==!1)}var i=w.forwardRef(function(r,o){var s=r.visible,a=s===void 0?!0:s,l=r.removeOnLeave,u=l===void 0?!0:l,c=r.forceRender,d=r.children,h=r.motionName,m=r.leavedClassName,f=r.eventProps,g=w.useContext(lie),b=g.motion,v=t(r,b),C=w.useRef(),S=w.useRef();function x(){try{return C.current instanceof HTMLElement?C.current:TL(S.current)}catch{return null}}var _=v9e(v,a,x,r),F=Se(_,4),D=F[0],M=F[1],T=F[2],Z=F[3],E=w.useRef(Z);Z&&(E.current=!0);var R=w.useCallback(function(k){C.current=k,kX(o,k)},[o]),W,A=xe(xe({},f),{},{visible:a});if(!d)W=null;else if(D===q1)Z?W=d(xe({},A),R):!u&&E.current&&m?W=d(xe(xe({},A),{},{className:m}),R):c||!u&&!m?W=d(xe(xe({},A),{},{style:{display:"none"}}),R):W=null;else{var z,O;M===ah?O="prepare":Sie(M)?O="active":M===ew&&(O="start");var B=yie(h,"".concat(D,"-").concat(O));W=d(xe(xe({},A),{},{className:Te(yie(h,D),(z={},ge(z,B,B&&O),ge(z,h,typeof h=="string"),z)),style:T}),R)}if(w.isValidElement(W)&&jf(W)){var P=W,H=P.ref;H||(W=w.cloneElement(W,{ref:R}))}return w.createElement(l9e,{ref:S},W)});return i.displayName="CSSMotion",i}const ud=y9e(pie);var S4="add",x4="keep",L4="remove",_4="removed";function C9e(n){var e;return n&&Xn(n)==="object"&&"key"in n?e=n:e={key:n},xe(xe({},e),{},{key:String(e.key)})}function F4(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return n.map(C9e)}function w9e(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],t=[],i=0,r=e.length,o=F4(n),s=F4(e);o.forEach(function(u){for(var c=!1,d=i;d1});return l.forEach(function(u){t=t.filter(function(c){var d=c.key,h=c.status;return d!==u||h!==L4}),t.forEach(function(c){c.key===u&&(c.status=x4)})}),t}var S9e=["component","children","onVisibleChanged","onAllRemoved"],x9e=["status"],L9e=["eventProps","visible","children","motionName","motionAppear","motionEnter","motionLeave","motionLeaveImmediately","motionDeadline","removeOnLeave","leavedClassName","onAppearPrepare","onAppearStart","onAppearActive","onAppearEnd","onEnterStart","onEnterActive","onEnterEnd","onLeaveStart","onLeaveActive","onLeaveEnd"];function _9e(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ud,t=function(i){Qf(o,i);var r=H1(o);function o(){var s;xs(this,o);for(var a=arguments.length,l=new Array(a),u=0;unull;var D9e=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);re.endsWith("Color"))}const E9e=n=>{const{prefixCls:e,iconPrefixCls:t,theme:i,holderRender:r}=n;e!==void 0&&(yT=e),t!==void 0&&(xie=t),"holderRender"in n&&(_ie=r),i&&(T9e(i)?GZe(CT(),i):Lie=i)},D4=()=>({getPrefixCls:(n,e)=>e||(n?`${CT()}-${n}`:CT()),getIconPrefixCls:N9e,getRootPrefixCls:()=>yT||CT(),getTheme:()=>Lie,holderRender:_ie}),Z9e=n=>{const{children:e,csp:t,autoInsertSpaceInButton:i,alert:r,anchor:o,form:s,locale:a,componentSize:l,direction:u,space:c,virtual:d,dropdownMatchSelectWidth:h,popupMatchSelectWidth:m,popupOverflow:f,legacyLocale:g,parentContext:b,iconPrefixCls:v,theme:C,componentDisabled:S,segmented:x,statistic:_,spin:F,calendar:D,carousel:M,cascader:T,collapse:Z,typography:E,checkbox:R,descriptions:W,divider:A,drawer:z,skeleton:O,steps:B,image:P,layout:H,list:k,mentions:X,modal:Y,progress:V,result:te,slider:oe,breadcrumb:ae,menu:le,pagination:ue,input:Ce,textArea:pe,empty:ce,badge:De,radio:ke,rate:Ne,switch:Ue,transfer:He,avatar:ct,message:vt,tag:it,table:he,card:de,tabs:me,timeline:j,timePicker:$,upload:q,notification:ee,tree:ve,colorPicker:Le,datePicker:Me,rangePicker:Be,flex:$e,wave:Re,dropdown:ht,warning:Ye,tour:Ge,floatButtonGroup:mt}=n,St=w.useCallback((Xe,ft)=>{const{prefixCls:Nt}=n;if(ft)return ft;const et=Nt||b.getPrefixCls("");return Xe?`${et}-${Xe}`:et},[b.getPrefixCls,n.prefixCls]),Kt=v||b.iconPrefixCls||h4,Rt=t||b.csp;iie(Kt,Rt);const Yt=o9e(C,b.theme,{prefixCls:St("")}),Tn={csp:Rt,autoInsertSpaceInButton:i,alert:r,anchor:o,locale:a||g,direction:u,space:c,virtual:d,popupMatchSelectWidth:m??h,popupOverflow:f,getPrefixCls:St,iconPrefixCls:Kt,theme:Yt,segmented:x,statistic:_,spin:F,calendar:D,carousel:M,cascader:T,collapse:Z,typography:E,checkbox:R,descriptions:W,divider:A,drawer:z,skeleton:O,steps:B,image:P,input:Ce,textArea:pe,layout:H,list:k,mentions:X,modal:Y,progress:V,result:te,slider:oe,breadcrumb:ae,menu:le,pagination:ue,empty:ce,badge:De,radio:ke,rate:Ne,switch:Ue,transfer:He,avatar:ct,message:vt,tag:it,table:he,card:de,tabs:me,timeline:j,timePicker:$,upload:q,notification:ee,tree:ve,colorPicker:Le,datePicker:Me,rangePicker:Be,flex:$e,wave:Re,dropdown:ht,warning:Ye,tour:Ge,floatButtonGroup:mt},li=Object.assign({},b);Object.keys(Tn).forEach(Xe=>{Tn[Xe]!==void 0&&(li[Xe]=Tn[Xe])}),M9e.forEach(Xe=>{const ft=n[Xe];ft&&(li[Xe]=ft)});const Et=EL(()=>li,li,(Xe,ft)=>{const Nt=Object.keys(Xe),et=Object.keys(ft);return Nt.length!==et.length||Nt.some(rt=>Xe[rt]!==ft[rt])}),kt=w.useMemo(()=>({prefixCls:Kt,csp:Rt}),[Kt,Rt]);let fe=w.createElement(w.Fragment,null,w.createElement(I9e,{dropdownMatchSelectWidth:h}),e);const _e=w.useMemo(()=>{var Xe,ft,Nt,et;return JC(((Xe=eg.Form)===null||Xe===void 0?void 0:Xe.defaultValidateMessages)||{},((Nt=(ft=Et.locale)===null||ft===void 0?void 0:ft.Form)===null||Nt===void 0?void 0:Nt.defaultValidateMessages)||{},((et=Et.form)===null||et===void 0?void 0:et.validateMessages)||{},(s==null?void 0:s.validateMessages)||{})},[Et,s==null?void 0:s.validateMessages]);Object.keys(_e).length>0&&(fe=w.createElement(kne.Provider,{value:_e},fe)),a&&(fe=w.createElement(uZe,{locale:a,_ANT_MARK__:lZe},fe)),(Kt||Rt)&&(fe=w.createElement(t4.Provider,{value:kt},fe)),l&&(fe=w.createElement(XZe,{size:l},fe)),fe=w.createElement(F9e,null,fe);const We=w.useMemo(()=>{const Xe=Yt||{},{algorithm:ft,token:Nt,components:et,cssVar:rt}=Xe,yt=D9e(Xe,["algorithm","token","components","cssVar"]),Ft=ft&&(!Array.isArray(ft)||ft.length>0)?zX(ft):Hne,tn={};Object.entries(et||{}).forEach(qt=>{let[Mn,mn]=qt;const Ot=Object.assign({},mn);"algorithm"in Ot&&(Ot.algorithm===!0?Ot.theme=Ft:(Array.isArray(Ot.algorithm)||typeof Ot.algorithm=="function")&&(Ot.theme=zX(Ot.algorithm)),delete Ot.algorithm),tn[Mn]=Ot});const Jt=Object.assign(Object.assign({},PL),Nt);return Object.assign(Object.assign({},yt),{theme:Ft,token:Jt,components:tn,override:Object.assign({override:Jt},tn),cssVar:rt})},[Yt]);return C&&(fe=w.createElement(Yne.Provider,{value:We},fe)),Et.warning&&(fe=w.createElement(rZe.Provider,{value:Et.warning},fe)),S!==void 0&&(fe=w.createElement(f4,{disabled:S},fe)),w.createElement(Rn.Provider,{value:Et},fe)},nw=n=>{const e=w.useContext(Rn),t=w.useContext(n4);return w.createElement(Z9e,Object.assign({parentContext:e,legacyLocale:t},n))};nw.ConfigContext=Rn,nw.SizeContext=BL,nw.config=E9e,nw.useConfig=PZe,Object.defineProperty(nw,"SizeContext",{get:()=>BL});const ev=nw;var W9e={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z"}}]},name:"check-circle",theme:"filled"};const R9e=W9e;function Fie(n){var e;return n==null||(e=n.getRootNode)===null||e===void 0?void 0:e.call(n)}function V9e(n){return Fie(n)instanceof ShadowRoot}function wT(n){return V9e(n)?Fie(n):null}function A9e(n){return n.replace(/-(.)/g,function(e,t){return t.toUpperCase()})}function G9e(n,e){aa(n,"[@ant-design/icons] ".concat(e))}function Iie(n){return Xn(n)==="object"&&typeof n.name=="string"&&typeof n.theme=="string"&&(Xn(n.icon)==="object"||typeof n.icon=="function")}function Die(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return Object.keys(n).reduce(function(e,t){var i=n[t];switch(t){case"class":e.className=i,delete e.class;break;default:delete e[t],e[A9e(t)]=i}return e},{})}function M4(n,e,t){return t?ze.createElement(n.tag,xe(xe({key:e},Die(n.attrs)),t),(n.children||[]).map(function(i,r){return M4(i,"".concat(e,"-").concat(n.tag,"-").concat(r))})):ze.createElement(n.tag,xe({key:e},Die(n.attrs)),(n.children||[]).map(function(i,r){return M4(i,"".concat(e,"-").concat(n.tag,"-").concat(r))}))}function Mie(n){return Q1(n)[0]}function kie(n){return n?Array.isArray(n)?n:[n]:[]}var X9e=` + `,boxShadowTabsOverflowLeft:"inset 10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowRight:"inset -10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowTop:"inset 0 10px 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowBottom:"inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08)"}),i)}var Kne=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const i=t.getDerivativeToken(n),{override:r}=e,o=Kne(e,["override"]);let s=Object.assign(Object.assign({},i),{override:r});return s=Une(s),o&&Object.entries(o).forEach(a=>{let[l,u]=a;const{theme:c}=u,d=Kne(u,["theme"]);let h=d;c&&(h=Qne(Object.assign(Object.assign({},s),d),{override:d},c)),s[l]=h}),s};function Pa(){const{token:n,hashed:e,theme:t,override:i,cssVar:r}=ze.useContext(Yne),o=`${ORe}-${e||""}`,s=t||Hne,[a,l,u]=L5e(s,[P_,n],{salt:o,override:i,getComputedToken:Qne,formatToken:Une,cssVar:r&&{prefix:r.prefix,key:r.key,unitless:Jne,ignore:jne,preserve:zRe}});return[s,u,e?l:"",a,r]}function $ne(n,e,t){return e=zC(e),zte(n,RX()?Reflect.construct(e,t||[],zC(n).constructor):e.apply(n,t))}const qne=_s(function n(){xs(this,n)}),eie="CALC_UNIT",HRe=new RegExp(eie,"g");function b4(n){return typeof n=="number"?`${n}${eie}`:n}let YRe=function(n){function e(t){var i;return xs(this,e),i=$ne(this,e),i.result="",t instanceof e?i.result=`(${t.result})`:typeof t=="number"?i.result=b4(t):typeof t=="string"&&(i.result=t),i}return Qf(e,n),_s(e,[{key:"add",value:function(i){return i instanceof e?this.result=`${this.result} + ${i.getResult()}`:(typeof i=="number"||typeof i=="string")&&(this.result=`${this.result} + ${b4(i)}`),this.lowPriority=!0,this}},{key:"sub",value:function(i){return i instanceof e?this.result=`${this.result} - ${i.getResult()}`:(typeof i=="number"||typeof i=="string")&&(this.result=`${this.result} - ${b4(i)}`),this.lowPriority=!0,this}},{key:"mul",value:function(i){return this.lowPriority&&(this.result=`(${this.result})`),i instanceof e?this.result=`${this.result} * ${i.getResult(!0)}`:(typeof i=="number"||typeof i=="string")&&(this.result=`${this.result} * ${i}`),this.lowPriority=!1,this}},{key:"div",value:function(i){return this.lowPriority&&(this.result=`(${this.result})`),i instanceof e?this.result=`${this.result} / ${i.getResult(!0)}`:(typeof i=="number"||typeof i=="string")&&(this.result=`${this.result} / ${i}`),this.lowPriority=!1,this}},{key:"getResult",value:function(i){return this.lowPriority||i?`(${this.result})`:this.result}},{key:"equal",value:function(i){const{unit:r=!0}=i||{};return this.result=this.result.replace(HRe,r?"px":""),typeof this.lowPriority<"u"?`calc(${this.result})`:this.result}}])}(qne),URe=function(n){function e(t){var i;return xs(this,e),i=$ne(this,e),i.result=0,t instanceof e?i.result=t.result:typeof t=="number"&&(i.result=t),i}return Qf(e,n),_s(e,[{key:"add",value:function(i){return i instanceof e?this.result+=i.result:typeof i=="number"&&(this.result+=i),this}},{key:"sub",value:function(i){return i instanceof e?this.result-=i.result:typeof i=="number"&&(this.result-=i),this}},{key:"mul",value:function(i){return i instanceof e?this.result*=i.result:typeof i=="number"&&(this.result*=i),this}},{key:"div",value:function(i){return i instanceof e?this.result/=i.result:typeof i=="number"&&(this.result/=i),this}},{key:"equal",value:function(){return this.result}}])}(qne);const KRe=n=>{const e=n==="css"?YRe:URe;return t=>new e(t)};function Qi(n){var e=S.useRef();e.current=n;var t=S.useCallback(function(){for(var i,r=arguments.length,o=new Array(r),s=0;s1&&arguments[1]!==void 0?arguments[1]:!1;return{boxSizing:"border-box",margin:0,padding:0,color:n.colorText,fontSize:n.fontSize,lineHeight:n.lineHeight,listStyle:"none",fontFamily:e?"inherit":n.fontFamily}},H_=()=>({display:"inline-flex",alignItems:"center",color:"inherit",fontStyle:"normal",lineHeight:0,textAlign:"center",textTransform:"none",verticalAlign:"-0.125em",textRendering:"optimizeLegibility","-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale","> *":{lineHeight:1},svg:{display:"inline-block"}}),qC=()=>({"&::before":{display:"table",content:'""'},"&::after":{display:"table",clear:"both",content:'""'}}),JRe=n=>({a:{color:n.colorLink,textDecoration:n.linkDecoration,backgroundColor:"transparent",outline:"none",cursor:"pointer",transition:`color ${n.motionDurationSlow}`,"-webkit-text-decoration-skip":"objects","&:hover":{color:n.colorLinkHover},"&:active":{color:n.colorLinkActive},"&:active,\n &:hover":{textDecoration:n.linkHoverDecoration,outline:0},"&:focus":{textDecoration:n.linkFocusDecoration,outline:0},"&[disabled]":{color:n.colorTextDisabled,cursor:"not-allowed"}}}),jRe=(n,e,t,i)=>{const r=`[class^="${e}"], [class*=" ${e}"]`,o=t?`.${t}`:r,s={boxSizing:"border-box","&::before, &::after":{boxSizing:"border-box"}};let a={};return i!==!1&&(a={fontFamily:n.fontFamily,fontSize:n.fontSize}),{[o]:Object.assign(Object.assign(Object.assign({},a),s),{[r]:s})}},mT=n=>({outline:`${Ee(n.lineWidthFocus)} solid ${n.colorPrimaryBorder}`,outlineOffset:1,transition:"outline-offset 0s, outline 0s"}),$1=n=>({"&:focus-visible":Object.assign({},mT(n))});function QRe(n){return n==="js"?{max:Math.max,min:Math.min}:{max:function(){for(var e=arguments.length,t=new Array(e),i=0;iEe(r)).join(",")})`},min:function(){for(var e=arguments.length,t=new Array(e),i=0;iEe(r)).join(",")})`}}}const tie=typeof CSSINJS_STATISTIC<"u";let v4=!0;function Yi(){for(var n=arguments.length,e=new Array(n),t=0;t{Object.keys(r).forEach(s=>{Object.defineProperty(i,s,{configurable:!0,enumerable:!0,get:()=>r[s]})})}),v4=!0,i}const nie={};function $Re(){}const qRe=n=>{let e,t=n,i=$Re;return tie&&typeof Proxy<"u"&&(e=new Set,t=new Proxy(n,{get(r,o){return v4&&e.add(o),r[o]}}),i=(r,o)=>{var s;nie[r]={global:Array.from(e),component:Object.assign(Object.assign({},(s=nie[r])===null||s===void 0?void 0:s.component),o)}}),{token:t,keys:e,flush:i}},iie=(n,e)=>{const[t,i]=Pa();return e4({theme:t,token:i,hashId:"",path:["ant-design-icons",n],nonce:()=>e==null?void 0:e.nonce},()=>[{[`.${n}`]:Object.assign(Object.assign({},H_()),{[`.${n} .${n}-icon`]:{display:"block"}})}])},rie=(n,e,t)=>{var i;return typeof t=="function"?t(Yi(e,(i=e[n])!==null&&i!==void 0?i:{})):t??{}},oie=(n,e,t,i)=>{const r=Object.assign({},e[n]);if(i!=null&&i.deprecatedTokens){const{deprecatedTokens:s}=i;s.forEach(a=>{let[l,u]=a;var c;(r!=null&&r[l]||r!=null&&r[u])&&((c=r[u])!==null&&c!==void 0||(r[u]=r==null?void 0:r[l]))})}const o=Object.assign(Object.assign({},t),r);return Object.keys(o).forEach(s=>{o[s]===e[s]&&delete o[s]}),o},e9e=(n,e)=>`${[e,n.replace(/([A-Z]+)([A-Z][a-z]+)/g,"$1-$2").replace(/([a-z])([A-Z])/g,"$1-$2")].filter(Boolean).join("-")}`;function C4(n,e,t){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const r=Array.isArray(n)?n:[n,n],[o]=r,s=r.join("-");return function(a){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:a;const[u,c,d,h,m]=Pa(),{getPrefixCls:f,iconPrefixCls:g,csp:b}=S.useContext(Wn),y=f(),C=m?"css":"js",w=KRe(C),{max:x,min:L}=QRe(C),I={theme:u,token:h,hashId:d,nonce:()=>b==null?void 0:b.nonce,clientOnly:i.clientOnly,order:i.order||-999};return e4(Object.assign(Object.assign({},I),{clientOnly:!1,path:["Shared",y]}),()=>[{"&":JRe(h)}]),iie(g,b),[e4(Object.assign(Object.assign({},I),{path:[s,a,g]}),()=>{if(i.injectStyle===!1)return[];const{token:N,flush:T}=qRe(h),R=rie(o,c,t),E=`.${a}`,W=oie(o,c,R,{deprecatedTokens:i.deprecatedTokens});m&&Object.keys(R).forEach(z=>{R[z]=`var(${ane(z,e9e(o,m.prefix))})`});const Z=Yi(N,{componentCls:E,prefixCls:a,iconCls:`.${g}`,antCls:`.${y}`,calc:w,max:x,min:L},m?R:W),V=e(Z,{hashId:d,prefixCls:a,rootPrefixCls:y,iconPrefixCls:g});return T(o,W),[i.resetStyle===!1?null:jRe(Z,a,l,i.resetFont),V]}),d]}}const fT=(n,e,t,i)=>{const r=C4(n,e,t,Object.assign({resetStyle:!1,order:-998},i));return s=>{let{prefixCls:a,rootCls:l=a}=s;return r(a,l),null}},t9e=(n,e,t)=>{function i(u){return`${n}${u.slice(0,1).toUpperCase()}${u.slice(1)}`}const{unitless:r={},injectStyle:o=!0}=t??{},s={[i("zIndexPopup")]:!0};Object.keys(r).forEach(u=>{s[i(u)]=r[u]});const a=u=>{let{rootCls:c,cssVar:d}=u;const[,h]=Pa();return q5e({path:[n],prefix:d.prefix,key:d==null?void 0:d.key,unitless:Object.assign(Object.assign({},Jne),s),ignore:jne,token:h,scope:c},()=>{const m=rie(n,h,e),f=oie(n,h,m,{deprecatedTokens:t==null?void 0:t.deprecatedTokens});return Object.keys(m).forEach(g=>{f[i(g)]=f[g],delete f[g]}),f}),null};return u=>{const[,,,,c]=Pa();return[d=>o&&c?ze.createElement(ze.Fragment,null,ze.createElement(a,{rootCls:u,cssVar:c,component:n}),d):d,c==null?void 0:c.key]}},Ho=(n,e,t,i)=>{const r=C4(n,e,t,i),o=t9e(Array.isArray(n)?n[0]:n,t,i);return function(s){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:s;const[,l]=r(s,a),[u,c]=o(a);return[u,l,c]}};function n9e(n,e){return z_.reduce((t,i)=>{const r=n[`${i}1`],o=n[`${i}3`],s=n[`${i}6`],a=n[`${i}7`];return Object.assign(Object.assign({},t),e(i,{lightColor:r,lightBorderColor:o,darkColor:s,textColor:a}))},{})}const i9e=Object.assign({},z1),{useId:sie}=i9e,r9e=typeof sie>"u"?()=>"":sie;var aie={GITHUB_STATE:"/home/runner/work/_temp/_runner_file_commands/save_state_1db24d99-745b-44e6-9118-92da7729c914",STATS_TRP:"true",DEPLOYMENT_BASEPATH:"/opt/runner",DOTNET_NOLOGO:"1",USER:"runner",npm_config_always_auth:"",npm_config_user_agent:"npm/10.5.0 node/v18.20.2 linux x64 workspaces/false ci/github-actions",CI:"true",RUNNER_ENVIRONMENT:"github-hosted",GITHUB_ENV:"/home/runner/work/_temp/_runner_file_commands/set_env_1db24d99-745b-44e6-9118-92da7729c914",PIPX_HOME:"/opt/pipx",npm_node_execpath:"/opt/hostedtoolcache/node/18.20.2/x64/bin/node",JAVA_HOME_8_X64:"/usr/lib/jvm/temurin-8-jdk-amd64",NODE_AUTH_TOKEN:"XXXXX-XXXXX-XXXXX-XXXXX",SHLVL:"1",npm_config_noproxy:"",HOME:"/home/runner",RUNNER_TEMP:"/home/runner/work/_temp",GITHUB_EVENT_PATH:"/home/runner/work/_temp/_github_workflow/event.json",npm_package_json:"/home/runner/work/openapi-ui/openapi-ui/package.json",JAVA_HOME_11_X64:"/usr/lib/jvm/temurin-11-jdk-amd64",PIPX_BIN_DIR:"/opt/pipx_bin",GITHUB_REPOSITORY_OWNER:"rookie-luochao",npm_config_auto_install_peers:"true",npm_package_engines_node:"^18.0.0 || >=20.0.0",GRADLE_HOME:"/usr/share/gradle-8.7",ANDROID_NDK_LATEST_HOME:"/usr/local/lib/android/sdk/ndk/26.3.11579264",JAVA_HOME_21_X64:"/usr/lib/jvm/temurin-21-jdk-amd64",STATS_RDCL:"true",GITHUB_RETENTION_DAYS:"90",GITHUB_REPOSITORY_OWNER_ID:"22948077",POWERSHELL_DISTRIBUTION_CHANNEL:"GitHub-Actions-ubuntu22",AZURE_EXTENSION_DIR:"/opt/az/azcliextensions",GITHUB_HEAD_REF:"",npm_config_local_prefix:"/home/runner/work/openapi-ui/openapi-ui",SYSTEMD_EXEC_PID:"591",GITHUB_GRAPHQL_URL:"https://api.github.com/graphql",COLOR:"0",GOROOT_1_20_X64:"/opt/hostedtoolcache/go/1.20.14/x64",NVM_DIR:"/home/runner/.nvm",DOTNET_SKIP_FIRST_TIME_EXPERIENCE:"1",GOROOT_1_21_X64:"/opt/hostedtoolcache/go/1.21.9/x64",JAVA_HOME_17_X64:"/usr/lib/jvm/temurin-17-jdk-amd64",ImageVersion:"20240422.1.0",RUNNER_OS:"Linux",GITHUB_API_URL:"https://api.github.com",GOROOT_1_22_X64:"/opt/hostedtoolcache/go/1.22.2/x64",SWIFT_PATH:"/usr/share/swift/usr/bin",RUNNER_USER:"runner",STATS_V3PS:"true",CHROMEWEBDRIVER:"/usr/local/share/chromedriver-linux64",JOURNAL_STREAM:"8:17399",GITHUB_WORKFLOW:"Publish Package CI",_:"/opt/hostedtoolcache/node/18.20.2/x64/bin/npm",npm_config_prefix:"/opt/hostedtoolcache/node/18.20.2/x64",npm_config_npm_version:"10.5.0",ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE:"/opt/actionarchivecache",STATS_D:"true",GITHUB_RUN_ID:"9034363565",STATS_VMFE:"true",npm_config_cache:"/home/runner/.npm",GITHUB_REF_TYPE:"tag",BOOTSTRAP_HASKELL_NONINTERACTIVE:"1",GITHUB_WORKFLOW_SHA:"7d06aa5962e2854267496af964903729ea3712ea",GITHUB_BASE_REF:"",ImageOS:"ubuntu22",GITHUB_WORKFLOW_REF:"rookie-luochao/openapi-ui/.github/workflows/publish-package-ci.yml@refs/tags/v2.2.1",PERFLOG_LOCATION_SETTING:"RUNNER_PERFLOG",GITHUB_ACTION_REPOSITORY:"",npm_config_node_gyp:"/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",PATH:"/home/runner/work/openapi-ui/openapi-ui/node_modules/.bin:/home/runner/work/openapi-ui/node_modules/.bin:/home/runner/work/node_modules/.bin:/home/runner/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin",ANT_HOME:"/usr/share/ant",DOTNET_MULTILEVEL_LOOKUP:"0",RUNNER_TRACKING_ID:"github_8e3f06e2-01ee-4dd3-8ff0-4ad90f0f5f28",INVOCATION_ID:"d0057c0943174c4e95e299688b270680",NPM_CONFIG_USERCONFIG:"/home/runner/work/_temp/.npmrc",RUNNER_TOOL_CACHE:"/opt/hostedtoolcache",NODE:"/opt/hostedtoolcache/node/18.20.2/x64/bin/node",npm_package_name:"openapi-ui-dist",GITHUB_ACTION:"__run_3",GITHUB_RUN_NUMBER:"5",GITHUB_TRIGGERING_ACTOR:"rookie-luochao",RUNNER_ARCH:"X64",XDG_RUNTIME_DIR:"/run/user/1001",AGENT_TOOLSDIRECTORY:"/opt/hostedtoolcache",LANG:"C.UTF-8",VCPKG_INSTALLATION_ROOT:"/usr/local/share/vcpkg",CONDA:"/usr/share/miniconda",RUNNER_NAME:"GitHub Actions 19",XDG_CONFIG_HOME:"/home/runner/.config",STATS_VMD:"true",GITHUB_REF_NAME:"v2.2.1",GITHUB_REPOSITORY:"rookie-luochao/openapi-ui",STATS_D_D:"true",npm_lifecycle_script:"tsc && vite build --config vite.package.config.ts --mode package",STATS_UE:"true",ANDROID_NDK_ROOT:"/usr/local/lib/android/sdk/ndk/25.2.9519653",GITHUB_ACTION_REF:"",DEBIAN_FRONTEND:"noninteractive",GITHUB_REPOSITORY_ID:"733969338",GITHUB_ACTIONS:"true",npm_package_version:"2.2.1",npm_lifecycle_event:"build:package",NODE_PATH:"/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules/vite/bin/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules/vite/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/node_modules",GITHUB_REF_PROTECTED:"false",GITHUB_WORKSPACE:"/home/runner/work/openapi-ui/openapi-ui",ACCEPT_EULA:"Y",GITHUB_JOB:"build",RUNNER_PERFLOG:"/home/runner/perflog",GITHUB_SHA:"7d06aa5962e2854267496af964903729ea3712ea",GITHUB_RUN_ATTEMPT:"1",GITHUB_REF:"refs/tags/v2.2.1",GITHUB_ACTOR:"rookie-luochao",ANDROID_SDK_ROOT:"/usr/local/lib/android/sdk",LEIN_HOME:"/usr/local/lib/lein",npm_config_globalconfig:"/opt/hostedtoolcache/node/18.20.2/x64/etc/npmrc",npm_config_init_module:"/home/runner/.npm-init.js",GITHUB_PATH:"/home/runner/work/_temp/_runner_file_commands/add_path_1db24d99-745b-44e6-9118-92da7729c914",JAVA_HOME:"/usr/lib/jvm/temurin-11-jdk-amd64",PWD:"/home/runner/work/openapi-ui/openapi-ui",GITHUB_ACTOR_ID:"22948077",RUNNER_WORKSPACE:"/home/runner/work/openapi-ui",npm_execpath:"/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/bin/npm-cli.js",HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS:"3650",GITHUB_EVENT_NAME:"push",HOMEBREW_NO_AUTO_UPDATE:"1",ANDROID_HOME:"/usr/local/lib/android/sdk",GITHUB_SERVER_URL:"https://github.com",GECKOWEBDRIVER:"/usr/local/share/gecko_driver",LEIN_JAR:"/usr/local/lib/lein/self-installs/leiningen-2.11.2-standalone.jar",GHCUP_INSTALL_BASE_PREFIX:"/usr/local",GITHUB_OUTPUT:"/home/runner/work/_temp/_runner_file_commands/set_output_1db24d99-745b-44e6-9118-92da7729c914",npm_config_global_prefix:"/opt/hostedtoolcache/node/18.20.2/x64",EDGEWEBDRIVER:"/usr/local/share/edge_driver",STATS_EXT:"true",npm_command:"run-script",ANDROID_NDK:"/usr/local/lib/android/sdk/ndk/25.2.9519653",SGX_AESM_ADDR:"1",CHROME_BIN:"/usr/bin/google-chrome",SELENIUM_JAR_PATH:"/usr/share/java/selenium-server.jar",STATS_EXTP:"https://provjobdsettingscdn.blob.core.windows.net/settings/provjobdsettings-0.5.172+1/provjobd.data",ANDROID_NDK_HOME:"/usr/local/lib/android/sdk/ndk/25.2.9519653",GITHUB_STEP_SUMMARY:"/home/runner/work/_temp/_runner_file_commands/step_summary_1db24d99-745b-44e6-9118-92da7729c914",INIT_CWD:"/home/runner/work/openapi-ui/openapi-ui",EDITOR:"vi",NODE_ENV:"production"};function o9e(n,e,t){var i,r;const o=jC(),s=n||{},a=s.inherit===!1||!e?Object.assign(Object.assign({},d4),{hashed:(i=e==null?void 0:e.hashed)!==null&&i!==void 0?i:d4.hashed,cssVar:e==null?void 0:e.cssVar}):e,l=r9e();if(aie.NODE_ENV!=="production"){const u=s.cssVar||a.cssVar,c=!!(typeof s.cssVar=="object"&&(!((r=s.cssVar)===null||r===void 0)&&r.key)||l);aie.NODE_ENV!=="production"&&o(!u||c,"breaking","Missing key in `cssVar` config. Please upgrade to React 18 or set `cssVar.key` manually in each ConfigProvider inside `cssVar` enabled ConfigProvider.")}return E_(()=>{var u,c;if(!n)return e;const d=Object.assign({},a.components);Object.keys(n.components||{}).forEach(f=>{d[f]=Object.assign(Object.assign({},d[f]),n.components[f])});const h=`css-var-${l.replace(/:/g,"")}`,m=((u=s.cssVar)!==null&&u!==void 0?u:a.cssVar)&&Object.assign(Object.assign(Object.assign({prefix:t==null?void 0:t.prefixCls},typeof a.cssVar=="object"?a.cssVar:{}),typeof s.cssVar=="object"?s.cssVar:{}),{key:typeof s.cssVar=="object"&&((c=s.cssVar)===null||c===void 0?void 0:c.key)||h});return Object.assign(Object.assign(Object.assign({},a),s),{token:Object.assign(Object.assign({},a.token),s.token),components:d,cssVar:m})},[s,a],(u,c)=>u.some((d,h)=>{const m=c[h];return!W_(d,m,!0)}))}var s9e=["children"],lie=S.createContext({});function a9e(n){var e=n.children,t=zn(n,s9e);return S.createElement(lie.Provider,{value:t},e)}var l9e=function(n){Qf(t,n);var e=H1(t);function t(){return xs(this,t),e.apply(this,arguments)}return _s(t,[{key:"render",value:function(){return this.props.children}}]),t}(S.Component),q1="none",gT="appear",pT="enter",bT="leave",uie="none",sh="prepare",eS="start",tS="active",S4="end",cie="prepared";function die(n,e){var t={};return t[n.toLowerCase()]=e.toLowerCase(),t["Webkit".concat(n)]="webkit".concat(e),t["Moz".concat(n)]="moz".concat(e),t["ms".concat(n)]="MS".concat(e),t["O".concat(n)]="o".concat(e.toLowerCase()),t}function u9e(n,e){var t={animationend:die("Animation","AnimationEnd"),transitionend:die("Transition","TransitionEnd")};return n&&("AnimationEvent"in e||delete t.animationend.animation,"TransitionEvent"in e||delete t.transitionend.transition),t}var c9e=u9e(Sl(),typeof window<"u"?window:{}),hie={};if(Sl()){var d9e=document.createElement("div");hie=d9e.style}var yT={};function mie(n){if(yT[n])return yT[n];var e=c9e[n];if(e)for(var t=Object.keys(e),i=t.length,r=0;r1&&arguments[1]!==void 0?arguments[1]:2;e();var o=xi(function(){r<=1?i({isCanceled:function(){return o!==n.current}}):t(i,r-1)});n.current=o}return S.useEffect(function(){return function(){e()}},[]),[t,e]};var f9e=[sh,eS,tS,S4],g9e=[sh,cie],Sie=!1,p9e=!0;function wie(n){return n===tS||n===S4}const b9e=function(n,e,t){var i=sb(uie),r=we(i,2),o=r[0],s=r[1],a=m9e(),l=we(a,2),u=l[0],c=l[1];function d(){s(sh,!0)}var h=e?g9e:f9e;return Cie(function(){if(o!==uie&&o!==S4){var m=h.indexOf(o),f=h[m+1],g=t(o);g===Sie?s(f,!0):f&&u(function(b){function y(){b.isCanceled()||s(f,!0)}g===!0?y():Promise.resolve(g).then(y)})}},[n,o]),S.useEffect(function(){return function(){c()}},[]),[d,o]};function y9e(n,e,t,i){var r=i.motionEnter,o=r===void 0?!0:r,s=i.motionAppear,a=s===void 0?!0:s,l=i.motionLeave,u=l===void 0?!0:l,c=i.motionDeadline,d=i.motionLeaveImmediately,h=i.onAppearPrepare,m=i.onEnterPrepare,f=i.onLeavePrepare,g=i.onAppearStart,b=i.onEnterStart,y=i.onLeaveStart,C=i.onAppearActive,w=i.onEnterActive,x=i.onLeaveActive,L=i.onAppearEnd,I=i.onEnterEnd,D=i.onLeaveEnd,N=i.onVisibleChanged,T=sb(),R=we(T,2),E=R[0],W=R[1],Z=sb(q1),V=we(Z,2),z=V[0],O=V[1],B=sb(null),P=we(B,2),H=P[0],M=P[1],X=S.useRef(!1),Y=S.useRef(null);function A(){return t()}var te=S.useRef(!1);function oe(){O(q1,!0),M(null,!0)}function ae(it){var he=A();if(!(it&&!it.deadline&&it.target!==he)){var de=te.current,me;z===gT&&de?me=L==null?void 0:L(he,it):z===pT&&de?me=I==null?void 0:I(he,it):z===bT&&de&&(me=D==null?void 0:D(he,it)),z!==q1&&de&&me!==!1&&oe()}}var le=h9e(ae),ue=we(le,1),Ce=ue[0],pe=function(he){var de,me,j;switch(he){case gT:return de={},ge(de,sh,h),ge(de,eS,g),ge(de,tS,C),de;case pT:return me={},ge(me,sh,m),ge(me,eS,b),ge(me,tS,w),me;case bT:return j={},ge(j,sh,f),ge(j,eS,y),ge(j,tS,x),j;default:return{}}},ce=S.useMemo(function(){return pe(z)},[z]),De=b9e(z,!n,function(it){if(it===sh){var he=ce[sh];return he?he(A()):Sie}if(Ue in ce){var de;M(((de=ce[Ue])===null||de===void 0?void 0:de.call(ce,A(),null))||null)}return Ue===tS&&(Ce(A()),c>0&&(clearTimeout(Y.current),Y.current=setTimeout(function(){ae({deadline:!0})},c))),Ue===cie&&oe(),p9e}),Me=we(De,2),ke=Me[0],Ue=Me[1],He=wie(Ue);te.current=He,Cie(function(){W(e);var it=X.current;X.current=!0;var he;!it&&e&&a&&(he=gT),it&&e&&o&&(he=pT),(it&&!e&&u||!it&&d&&!e&&u)&&(he=bT);var de=pe(he);he&&(n||de[sh])?(O(he),ke()):O(q1)},[e]),S.useEffect(function(){(z===gT&&!a||z===pT&&!o||z===bT&&!u)&&O(q1)},[a,o,u]),S.useEffect(function(){return function(){X.current=!1,clearTimeout(Y.current)}},[]);var ct=S.useRef(!1);S.useEffect(function(){E&&(ct.current=!0),E!==void 0&&z===q1&&((ct.current||E)&&(N==null||N(E)),ct.current=!0)},[E,z]);var yt=H;return ce[sh]&&Ue===eS&&(yt=xe({transition:"none"},yt)),[z,Ue,yt,E??e]}function v9e(n){var e=n;Xn(n)==="object"&&(e=n.transitionSupport);function t(r,o){return!!(r.motionName&&e&&o!==!1)}var i=S.forwardRef(function(r,o){var s=r.visible,a=s===void 0?!0:s,l=r.removeOnLeave,u=l===void 0?!0:l,c=r.forceRender,d=r.children,h=r.motionName,m=r.leavedClassName,f=r.eventProps,g=S.useContext(lie),b=g.motion,y=t(r,b),C=S.useRef(),w=S.useRef();function x(){try{return C.current instanceof HTMLElement?C.current:T_(w.current)}catch{return null}}var L=y9e(y,a,x,r),I=we(L,4),D=I[0],N=I[1],T=I[2],R=I[3],E=S.useRef(R);R&&(E.current=!0);var W=S.useCallback(function(M){C.current=M,MX(o,M)},[o]),Z,V=xe(xe({},f),{},{visible:a});if(!d)Z=null;else if(D===q1)R?Z=d(xe({},V),W):!u&&E.current&&m?Z=d(xe(xe({},V),{},{className:m}),W):c||!u&&!m?Z=d(xe(xe({},V),{},{style:{display:"none"}}),W):Z=null;else{var z,O;N===sh?O="prepare":wie(N)?O="active":N===eS&&(O="start");var B=vie(h,"".concat(D,"-").concat(O));Z=d(xe(xe({},V),{},{className:Te(vie(h,D),(z={},ge(z,B,B&&O),ge(z,h,typeof h=="string"),z)),style:T}),W)}if(S.isValidElement(Z)&&jf(Z)){var P=Z,H=P.ref;H||(Z=S.cloneElement(Z,{ref:W}))}return S.createElement(l9e,{ref:w},Z)});return i.displayName="CSSMotion",i}const ld=v9e(pie);var w4="add",x4="keep",_4="remove",L4="removed";function C9e(n){var e;return n&&Xn(n)==="object"&&"key"in n?e=n:e={key:n},xe(xe({},e),{},{key:String(e.key)})}function I4(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return n.map(C9e)}function S9e(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],t=[],i=0,r=e.length,o=I4(n),s=I4(e);o.forEach(function(u){for(var c=!1,d=i;d1});return l.forEach(function(u){t=t.filter(function(c){var d=c.key,h=c.status;return d!==u||h!==_4}),t.forEach(function(c){c.key===u&&(c.status=x4)})}),t}var w9e=["component","children","onVisibleChanged","onAllRemoved"],x9e=["status"],_9e=["eventProps","visible","children","motionName","motionAppear","motionEnter","motionLeave","motionLeaveImmediately","motionDeadline","removeOnLeave","leavedClassName","onAppearPrepare","onAppearStart","onAppearActive","onAppearEnd","onEnterStart","onEnterActive","onEnterEnd","onLeaveStart","onLeaveActive","onLeaveEnd"];function L9e(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ld,t=function(i){Qf(o,i);var r=H1(o);function o(){var s;xs(this,o);for(var a=arguments.length,l=new Array(a),u=0;unull;var D9e=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);re.endsWith("Color"))}const E9e=n=>{const{prefixCls:e,iconPrefixCls:t,theme:i,holderRender:r}=n;e!==void 0&&(vT=e),t!==void 0&&(xie=t),"holderRender"in n&&(Lie=r),i&&(T9e(i)?GRe(CT(),i):_ie=i)},D4=()=>({getPrefixCls:(n,e)=>e||(n?`${CT()}-${n}`:CT()),getIconPrefixCls:k9e,getRootPrefixCls:()=>vT||CT(),getTheme:()=>_ie,holderRender:Lie}),R9e=n=>{const{children:e,csp:t,autoInsertSpaceInButton:i,alert:r,anchor:o,form:s,locale:a,componentSize:l,direction:u,space:c,virtual:d,dropdownMatchSelectWidth:h,popupMatchSelectWidth:m,popupOverflow:f,legacyLocale:g,parentContext:b,iconPrefixCls:y,theme:C,componentDisabled:w,segmented:x,statistic:L,spin:I,calendar:D,carousel:N,cascader:T,collapse:R,typography:E,checkbox:W,descriptions:Z,divider:V,drawer:z,skeleton:O,steps:B,image:P,layout:H,list:M,mentions:X,modal:Y,progress:A,result:te,slider:oe,breadcrumb:ae,menu:le,pagination:ue,input:Ce,textArea:pe,empty:ce,badge:De,radio:Me,rate:ke,switch:Ue,transfer:He,avatar:ct,message:yt,tag:it,table:he,card:de,tabs:me,timeline:j,timePicker:$,upload:q,notification:ee,tree:ye,colorPicker:_e,datePicker:Ne,rangePicker:Be,flex:$e,wave:We,dropdown:ht,warning:Ye,tour:Ge,floatButtonGroup:mt}=n,wt=S.useCallback((Xe,ft)=>{const{prefixCls:kt}=n;if(ft)return ft;const et=kt||b.getPrefixCls("");return Xe?`${et}-${Xe}`:et},[b.getPrefixCls,n.prefixCls]),Kt=y||b.iconPrefixCls||h4,Wt=t||b.csp;iie(Kt,Wt);const Yt=o9e(C,b.theme,{prefixCls:wt("")}),Tn={csp:Wt,autoInsertSpaceInButton:i,alert:r,anchor:o,locale:a||g,direction:u,space:c,virtual:d,popupMatchSelectWidth:m??h,popupOverflow:f,getPrefixCls:wt,iconPrefixCls:Kt,theme:Yt,segmented:x,statistic:L,spin:I,calendar:D,carousel:N,cascader:T,collapse:R,typography:E,checkbox:W,descriptions:Z,divider:V,drawer:z,skeleton:O,steps:B,image:P,input:Ce,textArea:pe,layout:H,list:M,mentions:X,modal:Y,progress:A,result:te,slider:oe,breadcrumb:ae,menu:le,pagination:ue,empty:ce,badge:De,radio:Me,rate:ke,switch:Ue,transfer:He,avatar:ct,message:yt,tag:it,table:he,card:de,tabs:me,timeline:j,timePicker:$,upload:q,notification:ee,tree:ye,colorPicker:_e,datePicker:Ne,rangePicker:Be,flex:$e,wave:We,dropdown:ht,warning:Ye,tour:Ge,floatButtonGroup:mt},li=Object.assign({},b);Object.keys(Tn).forEach(Xe=>{Tn[Xe]!==void 0&&(li[Xe]=Tn[Xe])}),N9e.forEach(Xe=>{const ft=n[Xe];ft&&(li[Xe]=ft)});const Et=E_(()=>li,li,(Xe,ft)=>{const kt=Object.keys(Xe),et=Object.keys(ft);return kt.length!==et.length||kt.some(rt=>Xe[rt]!==ft[rt])}),Mt=S.useMemo(()=>({prefixCls:Kt,csp:Wt}),[Kt,Wt]);let fe=S.createElement(S.Fragment,null,S.createElement(F9e,{dropdownMatchSelectWidth:h}),e);const Le=S.useMemo(()=>{var Xe,ft,kt,et;return JC(((Xe=eg.Form)===null||Xe===void 0?void 0:Xe.defaultValidateMessages)||{},((kt=(ft=Et.locale)===null||ft===void 0?void 0:ft.Form)===null||kt===void 0?void 0:kt.defaultValidateMessages)||{},((et=Et.form)===null||et===void 0?void 0:et.validateMessages)||{},(s==null?void 0:s.validateMessages)||{})},[Et,s==null?void 0:s.validateMessages]);Object.keys(Le).length>0&&(fe=S.createElement(Mne.Provider,{value:Le},fe)),a&&(fe=S.createElement(uRe,{locale:a,_ANT_MARK__:lRe},fe)),(Kt||Wt)&&(fe=S.createElement(t4.Provider,{value:Mt},fe)),l&&(fe=S.createElement(XRe,{size:l},fe)),fe=S.createElement(I9e,null,fe);const Ze=S.useMemo(()=>{const Xe=Yt||{},{algorithm:ft,token:kt,components:et,cssVar:rt}=Xe,vt=D9e(Xe,["algorithm","token","components","cssVar"]),It=ft&&(!Array.isArray(ft)||ft.length>0)?zX(ft):Hne,tn={};Object.entries(et||{}).forEach(qt=>{let[Nn,mn]=qt;const Ot=Object.assign({},mn);"algorithm"in Ot&&(Ot.algorithm===!0?Ot.theme=It:(Array.isArray(Ot.algorithm)||typeof Ot.algorithm=="function")&&(Ot.theme=zX(Ot.algorithm)),delete Ot.algorithm),tn[Nn]=Ot});const Jt=Object.assign(Object.assign({},P_),kt);return Object.assign(Object.assign({},vt),{theme:It,token:Jt,components:tn,override:Object.assign({override:Jt},tn),cssVar:rt})},[Yt]);return C&&(fe=S.createElement(Yne.Provider,{value:Ze},fe)),Et.warning&&(fe=S.createElement(rRe.Provider,{value:Et.warning},fe)),w!==void 0&&(fe=S.createElement(f4,{disabled:w},fe)),S.createElement(Wn.Provider,{value:Et},fe)},nS=n=>{const e=S.useContext(Wn),t=S.useContext(n4);return S.createElement(R9e,Object.assign({parentContext:e,legacyLocale:t},n))};nS.ConfigContext=Wn,nS.SizeContext=B_,nS.config=E9e,nS.useConfig=PRe,Object.defineProperty(nS,"SizeContext",{get:()=>B_});const ey=nS;var Z9e={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z"}}]},name:"check-circle",theme:"filled"};const W9e=Z9e;function Iie(n){var e;return n==null||(e=n.getRootNode)===null||e===void 0?void 0:e.call(n)}function A9e(n){return Iie(n)instanceof ShadowRoot}function ST(n){return A9e(n)?Iie(n):null}function V9e(n){return n.replace(/-(.)/g,function(e,t){return t.toUpperCase()})}function G9e(n,e){aa(n,"[@ant-design/icons] ".concat(e))}function Fie(n){return Xn(n)==="object"&&typeof n.name=="string"&&typeof n.theme=="string"&&(Xn(n.icon)==="object"||typeof n.icon=="function")}function Die(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return Object.keys(n).reduce(function(e,t){var i=n[t];switch(t){case"class":e.className=i,delete e.class;break;default:delete e[t],e[V9e(t)]=i}return e},{})}function N4(n,e,t){return t?ze.createElement(n.tag,xe(xe({key:e},Die(n.attrs)),t),(n.children||[]).map(function(i,r){return N4(i,"".concat(e,"-").concat(n.tag,"-").concat(r))})):ze.createElement(n.tag,xe({key:e},Die(n.attrs)),(n.children||[]).map(function(i,r){return N4(i,"".concat(e,"-").concat(n.tag,"-").concat(r))}))}function Nie(n){return Q1(n)[0]}function Mie(n){return n?Array.isArray(n)?n:[n]:[]}var X9e=` .anticon { display: inline-flex; alignItems: center; @@ -147,7 +147,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho transform: rotate(360deg); } } -`,P9e=function(e){var t=w.useContext(t4),i=t.csp,r=t.prefixCls,o=X9e;r&&(o=o.replace(/anticon/g,r)),w.useEffect(function(){var s=e.current,a=wT(s);$f(o,"@ant-design-icons",{prepend:!0,csp:i,attachTo:a})},[])},O9e=["icon","className","onClick","style","primaryColor","secondaryColor"],YL={primaryColor:"#333",secondaryColor:"#E6E6E6",calculated:!1};function B9e(n){var e=n.primaryColor,t=n.secondaryColor;YL.primaryColor=e,YL.secondaryColor=t||Mie(e),YL.calculated=!!t}function z9e(){return xe({},YL)}var ST=function(e){var t=e.icon,i=e.className,r=e.onClick,o=e.style,s=e.primaryColor,a=e.secondaryColor,l=zn(e,O9e),u=w.useRef(),c=YL;if(s&&(c={primaryColor:s,secondaryColor:a||Mie(s)}),P9e(u),G9e(Iie(t),"icon should be icon definiton, but got ".concat(t)),!Iie(t))return null;var d=t;return d&&typeof d.icon=="function"&&(d=xe(xe({},d),{},{icon:d.icon(c.primaryColor,c.secondaryColor)})),M4(d.icon,"svg-".concat(d.name),xe(xe({className:i,onClick:r,style:o,"data-icon":d.name,width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true"},l),{},{ref:u}))};ST.displayName="IconReact",ST.getTwoToneColors=z9e,ST.setTwoToneColors=B9e;const k4=ST;function Nie(n){var e=kie(n),t=Se(e,2),i=t[0],r=t[1];return k4.setTwoToneColors({primaryColor:i,secondaryColor:r})}function H9e(){var n=k4.getTwoToneColors();return n.calculated?[n.primaryColor,n.secondaryColor]:n.primaryColor}var Y9e=["className","icon","spin","rotate","tabIndex","onClick","twoToneColor"];Nie(c4.primary);var xT=w.forwardRef(function(n,e){var t=n.className,i=n.icon,r=n.spin,o=n.rotate,s=n.tabIndex,a=n.onClick,l=n.twoToneColor,u=zn(n,Y9e),c=w.useContext(t4),d=c.prefixCls,h=d===void 0?"anticon":d,m=c.rootClassName,f=Te(m,h,ge(ge({},"".concat(h,"-").concat(i.name),!!i.name),"".concat(h,"-spin"),!!r||i.name==="loading"),t),g=s;g===void 0&&a&&(g=-1);var b=o?{msTransform:"rotate(".concat(o,"deg)"),transform:"rotate(".concat(o,"deg)")}:void 0,v=kie(l),C=Se(v,2),S=C[0],x=C[1];return w.createElement("span",pt({role:"img","aria-label":i.name},u,{ref:e,tabIndex:g,onClick:a,className:f}),w.createElement(k4,{icon:i,primaryColor:S,secondaryColor:x,style:b}))});xT.displayName="AntdIcon",xT.getTwoToneColor=H9e,xT.setTwoToneColor=Nie;const So=xT;var U9e=function(e,t){return w.createElement(So,pt({},e,{ref:t,icon:R9e}))},K9e=w.forwardRef(U9e);const UL=K9e;var J9e={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z"}}]},name:"close-circle",theme:"filled"};const j9e=J9e;var Q9e=function(e,t){return w.createElement(So,pt({},e,{ref:t,icon:j9e}))},$9e=w.forwardRef(Q9e);const tv=$9e;var q9e={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z"}}]},name:"close",theme:"outlined"};const eWe=q9e;var tWe=function(e,t){return w.createElement(So,pt({},e,{ref:t,icon:eWe}))},nWe=w.forwardRef(tWe);const lb=nWe;var iWe={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"exclamation-circle",theme:"filled"};const rWe=iWe;var oWe=function(e,t){return w.createElement(So,pt({},e,{ref:t,icon:rWe}))},sWe=w.forwardRef(oWe);const LT=sWe;var aWe={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"info-circle",theme:"filled"};const lWe=aWe;var uWe=function(e,t){return w.createElement(So,pt({},e,{ref:t,icon:lWe}))},cWe=w.forwardRef(uWe);const N4=cWe;var dWe=`accept acceptCharset accessKey action allowFullScreen allowTransparency +`,P9e=function(e){var t=S.useContext(t4),i=t.csp,r=t.prefixCls,o=X9e;r&&(o=o.replace(/anticon/g,r)),S.useEffect(function(){var s=e.current,a=ST(s);$f(o,"@ant-design-icons",{prepend:!0,csp:i,attachTo:a})},[])},O9e=["icon","className","onClick","style","primaryColor","secondaryColor"],Y_={primaryColor:"#333",secondaryColor:"#E6E6E6",calculated:!1};function B9e(n){var e=n.primaryColor,t=n.secondaryColor;Y_.primaryColor=e,Y_.secondaryColor=t||Nie(e),Y_.calculated=!!t}function z9e(){return xe({},Y_)}var wT=function(e){var t=e.icon,i=e.className,r=e.onClick,o=e.style,s=e.primaryColor,a=e.secondaryColor,l=zn(e,O9e),u=S.useRef(),c=Y_;if(s&&(c={primaryColor:s,secondaryColor:a||Nie(s)}),P9e(u),G9e(Fie(t),"icon should be icon definiton, but got ".concat(t)),!Fie(t))return null;var d=t;return d&&typeof d.icon=="function"&&(d=xe(xe({},d),{},{icon:d.icon(c.primaryColor,c.secondaryColor)})),N4(d.icon,"svg-".concat(d.name),xe(xe({className:i,onClick:r,style:o,"data-icon":d.name,width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true"},l),{},{ref:u}))};wT.displayName="IconReact",wT.getTwoToneColors=z9e,wT.setTwoToneColors=B9e;const M4=wT;function kie(n){var e=Mie(n),t=we(e,2),i=t[0],r=t[1];return M4.setTwoToneColors({primaryColor:i,secondaryColor:r})}function H9e(){var n=M4.getTwoToneColors();return n.calculated?[n.primaryColor,n.secondaryColor]:n.primaryColor}var Y9e=["className","icon","spin","rotate","tabIndex","onClick","twoToneColor"];kie(c4.primary);var xT=S.forwardRef(function(n,e){var t=n.className,i=n.icon,r=n.spin,o=n.rotate,s=n.tabIndex,a=n.onClick,l=n.twoToneColor,u=zn(n,Y9e),c=S.useContext(t4),d=c.prefixCls,h=d===void 0?"anticon":d,m=c.rootClassName,f=Te(m,h,ge(ge({},"".concat(h,"-").concat(i.name),!!i.name),"".concat(h,"-spin"),!!r||i.name==="loading"),t),g=s;g===void 0&&a&&(g=-1);var b=o?{msTransform:"rotate(".concat(o,"deg)"),transform:"rotate(".concat(o,"deg)")}:void 0,y=Mie(l),C=we(y,2),w=C[0],x=C[1];return S.createElement("span",pt({role:"img","aria-label":i.name},u,{ref:e,tabIndex:g,onClick:a,className:f}),S.createElement(M4,{icon:i,primaryColor:w,secondaryColor:x,style:b}))});xT.displayName="AntdIcon",xT.getTwoToneColor=H9e,xT.setTwoToneColor=kie;const wo=xT;var U9e=function(e,t){return S.createElement(wo,pt({},e,{ref:t,icon:W9e}))},K9e=S.forwardRef(U9e);const U_=K9e;var J9e={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z"}}]},name:"close-circle",theme:"filled"};const j9e=J9e;var Q9e=function(e,t){return S.createElement(wo,pt({},e,{ref:t,icon:j9e}))},$9e=S.forwardRef(Q9e);const ty=$9e;var q9e={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z"}}]},name:"close",theme:"outlined"};const eZe=q9e;var tZe=function(e,t){return S.createElement(wo,pt({},e,{ref:t,icon:eZe}))},nZe=S.forwardRef(tZe);const lb=nZe;var iZe={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"exclamation-circle",theme:"filled"};const rZe=iZe;var oZe=function(e,t){return S.createElement(wo,pt({},e,{ref:t,icon:rZe}))},sZe=S.forwardRef(oZe);const _T=sZe;var aZe={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"info-circle",theme:"filled"};const lZe=aZe;var uZe=function(e,t){return S.createElement(wo,pt({},e,{ref:t,icon:lZe}))},cZe=S.forwardRef(uZe);const k4=cZe;var dZe=`accept acceptCharset accessKey action allowFullScreen allowTransparency alt async autoComplete autoFocus autoPlay capture cellPadding cellSpacing challenge charSet checked classID className colSpan cols content contentEditable contextMenu controls coords crossOrigin data dateTime default defer dir disabled download draggable @@ -158,28 +158,28 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho optimum pattern placeholder poster preload radioGroup readOnly rel required reversed role rowSpan rows sandbox scope scoped scrolling seamless selected shape size sizes span spellCheck src srcDoc srcLang srcSet start step style - summary tabIndex target title type useMap value width wmode wrap`,hWe=`onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown + summary tabIndex target title type useMap value width wmode wrap`,hZe=`onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown onKeyPress onKeyUp onFocus onBlur onChange onInput onSubmit onClick onContextMenu onDoubleClick onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp onSelect onTouchCancel onTouchEnd onTouchMove onTouchStart onScroll onWheel onAbort onCanPlay onCanPlayThrough onDurationChange onEmptied onEncrypted onEnded onError onLoadedData onLoadedMetadata - onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError`,mWe="".concat(dWe," ").concat(hWe).split(/[\s\n]+/),fWe="aria-",gWe="data-";function Tie(n,e){return n.indexOf(e)===0}function Fu(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,t;e===!1?t={aria:!0,data:!0,attr:!0}:e===!0?t={aria:!0}:t=xe({},e);var i={};return Object.keys(n).forEach(function(r){(t.aria&&(r==="role"||Tie(r,fWe))||t.data&&Tie(r,gWe)||t.attr&&mWe.includes(r))&&(i[r]=n[r])}),i}function Eie(n){return n&&ze.isValidElement(n)&&n.type===ze.Fragment}const pWe=(n,e,t)=>ze.isValidElement(n)?ze.cloneElement(n,typeof t=="function"?t(n.props||{}):t):e;function eu(n,e){return pWe(n,n,e)}const Zie=n=>typeof n=="object"&&n!=null&&n.nodeType===1,Wie=(n,e)=>(!e||n!=="hidden")&&n!=="visible"&&n!=="clip",T4=(n,e)=>{if(n.clientHeight{const r=(o=>{if(!o.ownerDocument||!o.ownerDocument.defaultView)return null;try{return o.ownerDocument.defaultView.frameElement}catch{return null}})(i);return!!r&&(r.clientHeightoe||o>n&&s=e&&a>=t?o-n-i:s>e&&at?s-e+r:0,bWe=n=>{const e=n.parentElement;return e??(n.getRootNode().host||null)},Rie=(n,e)=>{var t,i,r,o;if(typeof document>"u")return[];const{scrollMode:s,block:a,inline:l,boundary:u,skipOverflowHiddenElements:c}=e,d=typeof u=="function"?u:O=>O!==u;if(!Zie(n))throw new TypeError("Invalid target");const h=document.scrollingElement||document.documentElement,m=[];let f=n;for(;Zie(f)&&d(f);){if(f=bWe(f),f===h){m.push(f);break}f!=null&&f===document.body&&T4(f)&&!T4(document.documentElement)||f!=null&&T4(f,c)&&m.push(f)}const g=(i=(t=window.visualViewport)==null?void 0:t.width)!=null?i:innerWidth,b=(o=(r=window.visualViewport)==null?void 0:r.height)!=null?o:innerHeight,{scrollX:v,scrollY:C}=window,{height:S,width:x,top:_,right:F,bottom:D,left:M}=n.getBoundingClientRect(),{top:T,right:Z,bottom:E,left:R}=(O=>{const B=window.getComputedStyle(O);return{top:parseFloat(B.scrollMarginTop)||0,right:parseFloat(B.scrollMarginRight)||0,bottom:parseFloat(B.scrollMarginBottom)||0,left:parseFloat(B.scrollMarginLeft)||0}})(n);let W=a==="start"||a==="nearest"?_-T:a==="end"?D+E:_+S/2-T+E,A=l==="center"?M+x/2-R+Z:l==="end"?F+Z:M-R;const z=[];for(let O=0;O=0&&M>=0&&D<=b&&F<=g&&_>=k&&D<=Y&&M>=V&&F<=X)return z;const te=getComputedStyle(B),oe=parseInt(te.borderLeftWidth,10),ae=parseInt(te.borderTopWidth,10),le=parseInt(te.borderRightWidth,10),ue=parseInt(te.borderBottomWidth,10);let Ce=0,pe=0;const ce="offsetWidth"in B?B.offsetWidth-B.clientWidth-oe-le:0,De="offsetHeight"in B?B.offsetHeight-B.clientHeight-ae-ue:0,ke="offsetWidth"in B?B.offsetWidth===0?0:H/B.offsetWidth:0,Ne="offsetHeight"in B?B.offsetHeight===0?0:P/B.offsetHeight:0;if(h===B)Ce=a==="start"?W:a==="end"?W-b:a==="nearest"?_T(C,C+b,b,ae,ue,C+W,C+W+S,S):W-b/2,pe=l==="start"?A:l==="center"?A-g/2:l==="end"?A-g:_T(v,v+g,g,oe,le,v+A,v+A+x,x),Ce=Math.max(0,Ce+C),pe=Math.max(0,pe+v);else{Ce=a==="start"?W-k-ae:a==="end"?W-Y+ue+De:a==="nearest"?_T(k,Y,P,ae,ue+De,W,W+S,S):W-(k+P/2)+De/2,pe=l==="start"?A-V-oe:l==="center"?A-(V+H/2)+ce/2:l==="end"?A-X+le+ce:_T(V,X,H,oe,le+ce,A,A+x,x);const{scrollLeft:Ue,scrollTop:He}=B;Ce=Ne===0?0:Math.max(0,Math.min(He+Ce/Ne,B.scrollHeight-P/Ne+De)),pe=ke===0?0:Math.max(0,Math.min(Ue+pe/ke,B.scrollWidth-H/ke+ce)),W+=He-Ce,A+=Ue-pe}z.push({el:B,top:Ce,left:pe})}return z},vWe=n=>n===!1?{block:"end",inline:"nearest"}:(e=>e===Object(e)&&Object.keys(e).length!==0)(n)?n:{block:"start",inline:"nearest"};function yWe(n,e){if(!n.isConnected||!(r=>{let o=r;for(;o&&o.parentNode;){if(o.parentNode===document)return!0;o=o.parentNode instanceof ShadowRoot?o.parentNode.host:o.parentNode}return!1})(n))return;const t=(r=>{const o=window.getComputedStyle(r);return{top:parseFloat(o.scrollMarginTop)||0,right:parseFloat(o.scrollMarginRight)||0,bottom:parseFloat(o.scrollMarginBottom)||0,left:parseFloat(o.scrollMarginLeft)||0}})(n);if((r=>typeof r=="object"&&typeof r.behavior=="function")(e))return e.behavior(Rie(n,e));const i=typeof e=="boolean"||e==null?void 0:e.behavior;for(const{el:r,top:o,left:s}of Rie(n,vWe(e))){const a=o-t.top+t.bottom,l=s-t.left+t.right;r.scroll({top:a,left:l,behavior:i})}}const _s=n=>{const[,,,,e]=Pa();return e?`${n}-css-var`:""};var Dt={MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN_IME:229,isTextModifyingKeyEvent:function(e){var t=e.keyCode;if(e.altKey&&!e.ctrlKey||e.metaKey||t>=Dt.F1&&t<=Dt.F12)return!1;switch(t){case Dt.ALT:case Dt.CAPS_LOCK:case Dt.CONTEXT_MENU:case Dt.CTRL:case Dt.DOWN:case Dt.END:case Dt.ESC:case Dt.HOME:case Dt.INSERT:case Dt.LEFT:case Dt.MAC_FF_META:case Dt.META:case Dt.NUMLOCK:case Dt.NUM_CENTER:case Dt.PAGE_DOWN:case Dt.PAGE_UP:case Dt.PAUSE:case Dt.PRINT_SCREEN:case Dt.RIGHT:case Dt.SHIFT:case Dt.UP:case Dt.WIN_KEY:case Dt.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(e){if(e>=Dt.ZERO&&e<=Dt.NINE||e>=Dt.NUM_ZERO&&e<=Dt.NUM_MULTIPLY||e>=Dt.A&&e<=Dt.Z||window.navigator.userAgent.indexOf("WebKit")!==-1&&e===0)return!0;switch(e){case Dt.SPACE:case Dt.QUESTION_MARK:case Dt.NUM_PLUS:case Dt.NUM_MINUS:case Dt.NUM_PERIOD:case Dt.NUM_DIVISION:case Dt.SEMICOLON:case Dt.DASH:case Dt.EQUALS:case Dt.COMMA:case Dt.PERIOD:case Dt.SLASH:case Dt.APOSTROPHE:case Dt.SINGLE_QUOTE:case Dt.OPEN_SQUARE_BRACKET:case Dt.BACKSLASH:case Dt.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}},E4=w.forwardRef(function(n,e){var t=n.prefixCls,i=n.style,r=n.className,o=n.duration,s=o===void 0?4.5:o,a=n.eventKey,l=n.content,u=n.closable,c=n.closeIcon,d=c===void 0?"x":c,h=n.props,m=n.onClick,f=n.onNoticeClose,g=n.times,b=n.hovering,v=w.useState(!1),C=Se(v,2),S=C[0],x=C[1],_=b||S,F=function(){f(a)},D=function(R){(R.key==="Enter"||R.code==="Enter"||R.keyCode===Dt.ENTER)&&F()};w.useEffect(function(){if(!_&&s>0){var E=setTimeout(function(){F()},s*1e3);return function(){clearTimeout(E)}}},[s,_,g]);var M=w.useMemo(function(){return Xn(u)==="object"&&u!==null?u:u?{closeIcon:d}:{}},[u,d]),T=Fu(M,!0),Z="".concat(t,"-notice");return w.createElement("div",pt({},h,{ref:e,className:Te(Z,r,ge({},"".concat(Z,"-closable"),u)),style:i,onMouseEnter:function(R){var W;x(!0),h==null||(W=h.onMouseEnter)===null||W===void 0||W.call(h,R)},onMouseLeave:function(R){var W;x(!1),h==null||(W=h.onMouseLeave)===null||W===void 0||W.call(h,R)},onClick:m}),w.createElement("div",{className:"".concat(Z,"-content")},l),u&&w.createElement("a",pt({tabIndex:0,className:"".concat(Z,"-close"),onKeyDown:D,"aria-label":"Close"},T,{onClick:function(R){R.preventDefault(),R.stopPropagation(),F()}}),M.closeIcon))}),Vie=ze.createContext({}),Aie=function(e){var t=e.children,i=e.classNames;return ze.createElement(Vie.Provider,{value:{classNames:i}},t)},Gie=8,Xie=3,Pie=16,CWe=function(e){var t={offset:Gie,threshold:Xie,gap:Pie};if(e&&Xn(e)==="object"){var i,r,o;t.offset=(i=e.offset)!==null&&i!==void 0?i:Gie,t.threshold=(r=e.threshold)!==null&&r!==void 0?r:Xie,t.gap=(o=e.gap)!==null&&o!==void 0?o:Pie}return[!!e,t]},wWe=["className","style","classNames","styles"],SWe=function(e){var t=e.configList,i=e.placement,r=e.prefixCls,o=e.className,s=e.style,a=e.motion,l=e.onAllNoticeRemoved,u=e.onNoticeClose,c=e.stack,d=w.useContext(Vie),h=d.classNames,m=w.useRef({}),f=w.useState(null),g=Se(f,2),b=g[0],v=g[1],C=w.useState([]),S=Se(C,2),x=S[0],_=S[1],F=t.map(function(O){return{config:O,key:String(O.key)}}),D=CWe(c),M=Se(D,2),T=M[0],Z=M[1],E=Z.offset,R=Z.threshold,W=Z.gap,A=T&&(x.length>0||F.length<=R),z=typeof a=="function"?a(i):a;return w.useEffect(function(){T&&x.length>1&&_(function(O){return O.filter(function(B){return F.some(function(P){var H=P.key;return B===H})})})},[x,F,T]),w.useEffect(function(){var O;if(T&&m.current[(O=F[F.length-1])===null||O===void 0?void 0:O.key]){var B;v(m.current[(B=F[F.length-1])===null||B===void 0?void 0:B.key])}},[F,T]),ze.createElement(I4,pt({key:i,className:Te(r,"".concat(r,"-").concat(i),h==null?void 0:h.list,o,ge(ge({},"".concat(r,"-stack"),!!T),"".concat(r,"-stack-expanded"),A)),style:s,keys:F,motionAppear:!0},z,{onAllRemoved:function(){l(i)}}),function(O,B){var P=O.config,H=O.className,k=O.style,X=O.index,Y=P,V=Y.key,te=Y.times,oe=String(V),ae=P,le=ae.className,ue=ae.style,Ce=ae.classNames,pe=ae.styles,ce=zn(ae,wWe),De=F.findIndex(function($){return $.key===oe}),ke={};if(T){var Ne=F.length-1-(De>-1?De:X-1),Ue=i==="top"||i==="bottom"?"-50%":"0";if(Ne>0){var He,ct,vt;ke.height=A?(He=m.current[oe])===null||He===void 0?void 0:He.offsetHeight:b==null?void 0:b.offsetHeight;for(var it=0,he=0;he-1?m.current[oe]=q:delete m.current[oe]},prefixCls:r,classNames:Ce,styles:pe,className:Te(le,h==null?void 0:h.notice),style:ue,times:te,key:V,eventKey:V,onNoticeClose:u,hovering:T&&x.length>0})))})},xWe=w.forwardRef(function(n,e){var t=n.prefixCls,i=t===void 0?"rc-notification":t,r=n.container,o=n.motion,s=n.maxCount,a=n.className,l=n.style,u=n.onAllRemoved,c=n.stack,d=n.renderNotifications,h=w.useState([]),m=Se(h,2),f=m[0],g=m[1],b=function(T){var Z,E=f.find(function(R){return R.key===T});E==null||(Z=E.onClose)===null||Z===void 0||Z.call(E),g(function(R){return R.filter(function(W){return W.key!==T})})};w.useImperativeHandle(e,function(){return{open:function(T){g(function(Z){var E=_t(Z),R=E.findIndex(function(z){return z.key===T.key}),W=xe({},T);if(R>=0){var A;W.times=(((A=Z[R])===null||A===void 0?void 0:A.times)||0)+1,E[R]=W}else W.times=0,E.push(W);return s>0&&E.length>s&&(E=E.slice(-s)),E})},close:function(T){b(T)},destroy:function(){g([])}}});var v=w.useState({}),C=Se(v,2),S=C[0],x=C[1];w.useEffect(function(){var M={};f.forEach(function(T){var Z=T.placement,E=Z===void 0?"topRight":Z;E&&(M[E]=M[E]||[],M[E].push(T))}),Object.keys(S).forEach(function(T){M[T]=M[T]||[]}),x(M)},[f]);var _=function(T){x(function(Z){var E=xe({},Z),R=E[T]||[];return R.length||delete E[T],E})},F=w.useRef(!1);if(w.useEffect(function(){Object.keys(S).length>0?F.current=!0:F.current&&(u==null||u(),F.current=!1)},[S]),!r)return null;var D=Object.keys(S);return th.createPortal(w.createElement(w.Fragment,null,D.map(function(M){var T=S[M],Z=w.createElement(SWe,{key:M,configList:T,placement:M,prefixCls:i,className:a==null?void 0:a(M),style:l==null?void 0:l(M),motion:o,onNoticeClose:b,onAllNoticeRemoved:_,stack:c});return d?d(Z,{prefixCls:i,key:M}):Z})),r)}),LWe=["getContainer","motion","prefixCls","maxCount","className","style","onAllRemoved","stack","renderNotifications"],_We=function(){return document.body},Oie=0;function FWe(){for(var n={},e=arguments.length,t=new Array(e),i=0;i0&&arguments[0]!==void 0?arguments[0]:{},e=n.getContainer,t=e===void 0?_We:e,i=n.motion,r=n.prefixCls,o=n.maxCount,s=n.className,a=n.style,l=n.onAllRemoved,u=n.stack,c=n.renderNotifications,d=zn(n,LWe),h=w.useState(),m=Se(h,2),f=m[0],g=m[1],b=w.useRef(),v=w.createElement(xWe,{container:f,ref:b,prefixCls:r,motion:i,maxCount:o,className:s,style:a,onAllRemoved:l,stack:u,renderNotifications:c}),C=w.useState([]),S=Se(C,2),x=S[0],_=S[1],F=w.useMemo(function(){return{open:function(M){var T=FWe(d,M);(T.key===null||T.key===void 0)&&(T.key="rc-notification-".concat(Oie),Oie+=1),_(function(Z){return[].concat(_t(Z),[{type:"open",config:T}])})},close:function(M){_(function(T){return[].concat(_t(T),[{type:"close",key:M}])})},destroy:function(){_(function(M){return[].concat(_t(M),[{type:"destroy"}])})}}},[]);return w.useEffect(function(){g(t())}),w.useEffect(function(){b.current&&x.length&&(x.forEach(function(D){switch(D.type){case"open":b.current.open(D.config);break;case"close":b.current.close(D.key);break;case"destroy":b.current.destroy();break}}),_(function(D){return D.filter(function(M){return!x.includes(M)})}))},[x]),[F,v]}var IWe={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z"}}]},name:"loading",theme:"outlined"};const DWe=IWe;var MWe=function(e,t){return w.createElement(So,pt({},e,{ref:t,icon:DWe}))},kWe=w.forwardRef(MWe);const iw=kWe,FT=ze.createContext(void 0),nv=100,IT=nv*10,zie={Modal:nv,Drawer:nv,Popover:nv,Popconfirm:nv,Tooltip:nv,Tour:nv},NWe={SelectLike:50,Dropdown:50,DatePicker:50,Menu:50,ImagePreview:1};function TWe(n){return n in zie}function iv(n,e){const[,t]=Pa(),i=ze.useContext(FT),r=TWe(n);if(e!==void 0)return[e,e];let o=i??0;return r?(o+=(i?0:t.zIndexPopupBase)+zie[n],o=Math.min(o,t.zIndexPopupBase+IT)):o+=NWe[n],[i===void 0?e:o,o]}const EWe=n=>{const{componentCls:e,iconCls:t,boxShadow:i,colorText:r,colorSuccess:o,colorError:s,colorWarning:a,colorInfo:l,fontSizeLG:u,motionEaseInOutCirc:c,motionDurationSlow:d,marginXS:h,paddingXS:m,borderRadiusLG:f,zIndexPopup:g,contentPadding:b,contentBg:v}=n,C=`${e}-notice`,S=new ki("MessageMoveIn",{"0%":{padding:0,transform:"translateY(-100%)",opacity:0},"100%":{padding:m,transform:"translateY(0)",opacity:1}}),x=new ki("MessageMoveOut",{"0%":{maxHeight:n.height,padding:m,opacity:1},"100%":{maxHeight:0,padding:0,opacity:0}}),_={padding:m,textAlign:"center",[`${e}-custom-content > ${t}`]:{verticalAlign:"text-bottom",marginInlineEnd:h,fontSize:u},[`${C}-content`]:{display:"inline-block",padding:b,background:v,borderRadius:f,boxShadow:i,pointerEvents:"all"},[`${e}-success > ${t}`]:{color:o},[`${e}-error > ${t}`]:{color:s},[`${e}-warning > ${t}`]:{color:a},[`${e}-info > ${t}, + onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError`,mZe="".concat(dZe," ").concat(hZe).split(/[\s\n]+/),fZe="aria-",gZe="data-";function Tie(n,e){return n.indexOf(e)===0}function Iu(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,t;e===!1?t={aria:!0,data:!0,attr:!0}:e===!0?t={aria:!0}:t=xe({},e);var i={};return Object.keys(n).forEach(function(r){(t.aria&&(r==="role"||Tie(r,fZe))||t.data&&Tie(r,gZe)||t.attr&&mZe.includes(r))&&(i[r]=n[r])}),i}function Eie(n){return n&&ze.isValidElement(n)&&n.type===ze.Fragment}const pZe=(n,e,t)=>ze.isValidElement(n)?ze.cloneElement(n,typeof t=="function"?t(n.props||{}):t):e;function eu(n,e){return pZe(n,n,e)}const Rie=n=>typeof n=="object"&&n!=null&&n.nodeType===1,Zie=(n,e)=>(!e||n!=="hidden")&&n!=="visible"&&n!=="clip",T4=(n,e)=>{if(n.clientHeight{const r=(o=>{if(!o.ownerDocument||!o.ownerDocument.defaultView)return null;try{return o.ownerDocument.defaultView.frameElement}catch{return null}})(i);return!!r&&(r.clientHeightoe||o>n&&s=e&&a>=t?o-n-i:s>e&&at?s-e+r:0,bZe=n=>{const e=n.parentElement;return e??(n.getRootNode().host||null)},Wie=(n,e)=>{var t,i,r,o;if(typeof document>"u")return[];const{scrollMode:s,block:a,inline:l,boundary:u,skipOverflowHiddenElements:c}=e,d=typeof u=="function"?u:O=>O!==u;if(!Rie(n))throw new TypeError("Invalid target");const h=document.scrollingElement||document.documentElement,m=[];let f=n;for(;Rie(f)&&d(f);){if(f=bZe(f),f===h){m.push(f);break}f!=null&&f===document.body&&T4(f)&&!T4(document.documentElement)||f!=null&&T4(f,c)&&m.push(f)}const g=(i=(t=window.visualViewport)==null?void 0:t.width)!=null?i:innerWidth,b=(o=(r=window.visualViewport)==null?void 0:r.height)!=null?o:innerHeight,{scrollX:y,scrollY:C}=window,{height:w,width:x,top:L,right:I,bottom:D,left:N}=n.getBoundingClientRect(),{top:T,right:R,bottom:E,left:W}=(O=>{const B=window.getComputedStyle(O);return{top:parseFloat(B.scrollMarginTop)||0,right:parseFloat(B.scrollMarginRight)||0,bottom:parseFloat(B.scrollMarginBottom)||0,left:parseFloat(B.scrollMarginLeft)||0}})(n);let Z=a==="start"||a==="nearest"?L-T:a==="end"?D+E:L+w/2-T+E,V=l==="center"?N+x/2-W+R:l==="end"?I+R:N-W;const z=[];for(let O=0;O=0&&N>=0&&D<=b&&I<=g&&L>=M&&D<=Y&&N>=A&&I<=X)return z;const te=getComputedStyle(B),oe=parseInt(te.borderLeftWidth,10),ae=parseInt(te.borderTopWidth,10),le=parseInt(te.borderRightWidth,10),ue=parseInt(te.borderBottomWidth,10);let Ce=0,pe=0;const ce="offsetWidth"in B?B.offsetWidth-B.clientWidth-oe-le:0,De="offsetHeight"in B?B.offsetHeight-B.clientHeight-ae-ue:0,Me="offsetWidth"in B?B.offsetWidth===0?0:H/B.offsetWidth:0,ke="offsetHeight"in B?B.offsetHeight===0?0:P/B.offsetHeight:0;if(h===B)Ce=a==="start"?Z:a==="end"?Z-b:a==="nearest"?LT(C,C+b,b,ae,ue,C+Z,C+Z+w,w):Z-b/2,pe=l==="start"?V:l==="center"?V-g/2:l==="end"?V-g:LT(y,y+g,g,oe,le,y+V,y+V+x,x),Ce=Math.max(0,Ce+C),pe=Math.max(0,pe+y);else{Ce=a==="start"?Z-M-ae:a==="end"?Z-Y+ue+De:a==="nearest"?LT(M,Y,P,ae,ue+De,Z,Z+w,w):Z-(M+P/2)+De/2,pe=l==="start"?V-A-oe:l==="center"?V-(A+H/2)+ce/2:l==="end"?V-X+le+ce:LT(A,X,H,oe,le+ce,V,V+x,x);const{scrollLeft:Ue,scrollTop:He}=B;Ce=ke===0?0:Math.max(0,Math.min(He+Ce/ke,B.scrollHeight-P/ke+De)),pe=Me===0?0:Math.max(0,Math.min(Ue+pe/Me,B.scrollWidth-H/Me+ce)),Z+=He-Ce,V+=Ue-pe}z.push({el:B,top:Ce,left:pe})}return z},yZe=n=>n===!1?{block:"end",inline:"nearest"}:(e=>e===Object(e)&&Object.keys(e).length!==0)(n)?n:{block:"start",inline:"nearest"};function vZe(n,e){if(!n.isConnected||!(r=>{let o=r;for(;o&&o.parentNode;){if(o.parentNode===document)return!0;o=o.parentNode instanceof ShadowRoot?o.parentNode.host:o.parentNode}return!1})(n))return;const t=(r=>{const o=window.getComputedStyle(r);return{top:parseFloat(o.scrollMarginTop)||0,right:parseFloat(o.scrollMarginRight)||0,bottom:parseFloat(o.scrollMarginBottom)||0,left:parseFloat(o.scrollMarginLeft)||0}})(n);if((r=>typeof r=="object"&&typeof r.behavior=="function")(e))return e.behavior(Wie(n,e));const i=typeof e=="boolean"||e==null?void 0:e.behavior;for(const{el:r,top:o,left:s}of Wie(n,yZe(e))){const a=o-t.top+t.bottom,l=s-t.left+t.right;r.scroll({top:a,left:l,behavior:i})}}const Ls=n=>{const[,,,,e]=Pa();return e?`${n}-css-var`:""};var Dt={MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN_IME:229,isTextModifyingKeyEvent:function(e){var t=e.keyCode;if(e.altKey&&!e.ctrlKey||e.metaKey||t>=Dt.F1&&t<=Dt.F12)return!1;switch(t){case Dt.ALT:case Dt.CAPS_LOCK:case Dt.CONTEXT_MENU:case Dt.CTRL:case Dt.DOWN:case Dt.END:case Dt.ESC:case Dt.HOME:case Dt.INSERT:case Dt.LEFT:case Dt.MAC_FF_META:case Dt.META:case Dt.NUMLOCK:case Dt.NUM_CENTER:case Dt.PAGE_DOWN:case Dt.PAGE_UP:case Dt.PAUSE:case Dt.PRINT_SCREEN:case Dt.RIGHT:case Dt.SHIFT:case Dt.UP:case Dt.WIN_KEY:case Dt.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(e){if(e>=Dt.ZERO&&e<=Dt.NINE||e>=Dt.NUM_ZERO&&e<=Dt.NUM_MULTIPLY||e>=Dt.A&&e<=Dt.Z||window.navigator.userAgent.indexOf("WebKit")!==-1&&e===0)return!0;switch(e){case Dt.SPACE:case Dt.QUESTION_MARK:case Dt.NUM_PLUS:case Dt.NUM_MINUS:case Dt.NUM_PERIOD:case Dt.NUM_DIVISION:case Dt.SEMICOLON:case Dt.DASH:case Dt.EQUALS:case Dt.COMMA:case Dt.PERIOD:case Dt.SLASH:case Dt.APOSTROPHE:case Dt.SINGLE_QUOTE:case Dt.OPEN_SQUARE_BRACKET:case Dt.BACKSLASH:case Dt.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}},E4=S.forwardRef(function(n,e){var t=n.prefixCls,i=n.style,r=n.className,o=n.duration,s=o===void 0?4.5:o,a=n.eventKey,l=n.content,u=n.closable,c=n.closeIcon,d=c===void 0?"x":c,h=n.props,m=n.onClick,f=n.onNoticeClose,g=n.times,b=n.hovering,y=S.useState(!1),C=we(y,2),w=C[0],x=C[1],L=b||w,I=function(){f(a)},D=function(W){(W.key==="Enter"||W.code==="Enter"||W.keyCode===Dt.ENTER)&&I()};S.useEffect(function(){if(!L&&s>0){var E=setTimeout(function(){I()},s*1e3);return function(){clearTimeout(E)}}},[s,L,g]);var N=S.useMemo(function(){return Xn(u)==="object"&&u!==null?u:u?{closeIcon:d}:{}},[u,d]),T=Iu(N,!0),R="".concat(t,"-notice");return S.createElement("div",pt({},h,{ref:e,className:Te(R,r,ge({},"".concat(R,"-closable"),u)),style:i,onMouseEnter:function(W){var Z;x(!0),h==null||(Z=h.onMouseEnter)===null||Z===void 0||Z.call(h,W)},onMouseLeave:function(W){var Z;x(!1),h==null||(Z=h.onMouseLeave)===null||Z===void 0||Z.call(h,W)},onClick:m}),S.createElement("div",{className:"".concat(R,"-content")},l),u&&S.createElement("a",pt({tabIndex:0,className:"".concat(R,"-close"),onKeyDown:D,"aria-label":"Close"},T,{onClick:function(W){W.preventDefault(),W.stopPropagation(),I()}}),N.closeIcon))}),Aie=ze.createContext({}),Vie=function(e){var t=e.children,i=e.classNames;return ze.createElement(Aie.Provider,{value:{classNames:i}},t)},Gie=8,Xie=3,Pie=16,CZe=function(e){var t={offset:Gie,threshold:Xie,gap:Pie};if(e&&Xn(e)==="object"){var i,r,o;t.offset=(i=e.offset)!==null&&i!==void 0?i:Gie,t.threshold=(r=e.threshold)!==null&&r!==void 0?r:Xie,t.gap=(o=e.gap)!==null&&o!==void 0?o:Pie}return[!!e,t]},SZe=["className","style","classNames","styles"],wZe=function(e){var t=e.configList,i=e.placement,r=e.prefixCls,o=e.className,s=e.style,a=e.motion,l=e.onAllNoticeRemoved,u=e.onNoticeClose,c=e.stack,d=S.useContext(Aie),h=d.classNames,m=S.useRef({}),f=S.useState(null),g=we(f,2),b=g[0],y=g[1],C=S.useState([]),w=we(C,2),x=w[0],L=w[1],I=t.map(function(O){return{config:O,key:String(O.key)}}),D=CZe(c),N=we(D,2),T=N[0],R=N[1],E=R.offset,W=R.threshold,Z=R.gap,V=T&&(x.length>0||I.length<=W),z=typeof a=="function"?a(i):a;return S.useEffect(function(){T&&x.length>1&&L(function(O){return O.filter(function(B){return I.some(function(P){var H=P.key;return B===H})})})},[x,I,T]),S.useEffect(function(){var O;if(T&&m.current[(O=I[I.length-1])===null||O===void 0?void 0:O.key]){var B;y(m.current[(B=I[I.length-1])===null||B===void 0?void 0:B.key])}},[I,T]),ze.createElement(F4,pt({key:i,className:Te(r,"".concat(r,"-").concat(i),h==null?void 0:h.list,o,ge(ge({},"".concat(r,"-stack"),!!T),"".concat(r,"-stack-expanded"),V)),style:s,keys:I,motionAppear:!0},z,{onAllRemoved:function(){l(i)}}),function(O,B){var P=O.config,H=O.className,M=O.style,X=O.index,Y=P,A=Y.key,te=Y.times,oe=String(A),ae=P,le=ae.className,ue=ae.style,Ce=ae.classNames,pe=ae.styles,ce=zn(ae,SZe),De=I.findIndex(function($){return $.key===oe}),Me={};if(T){var ke=I.length-1-(De>-1?De:X-1),Ue=i==="top"||i==="bottom"?"-50%":"0";if(ke>0){var He,ct,yt;Me.height=V?(He=m.current[oe])===null||He===void 0?void 0:He.offsetHeight:b==null?void 0:b.offsetHeight;for(var it=0,he=0;he-1?m.current[oe]=q:delete m.current[oe]},prefixCls:r,classNames:Ce,styles:pe,className:Te(le,h==null?void 0:h.notice),style:ue,times:te,key:A,eventKey:A,onNoticeClose:u,hovering:T&&x.length>0})))})},xZe=S.forwardRef(function(n,e){var t=n.prefixCls,i=t===void 0?"rc-notification":t,r=n.container,o=n.motion,s=n.maxCount,a=n.className,l=n.style,u=n.onAllRemoved,c=n.stack,d=n.renderNotifications,h=S.useState([]),m=we(h,2),f=m[0],g=m[1],b=function(T){var R,E=f.find(function(W){return W.key===T});E==null||(R=E.onClose)===null||R===void 0||R.call(E),g(function(W){return W.filter(function(Z){return Z.key!==T})})};S.useImperativeHandle(e,function(){return{open:function(T){g(function(R){var E=Lt(R),W=E.findIndex(function(z){return z.key===T.key}),Z=xe({},T);if(W>=0){var V;Z.times=(((V=R[W])===null||V===void 0?void 0:V.times)||0)+1,E[W]=Z}else Z.times=0,E.push(Z);return s>0&&E.length>s&&(E=E.slice(-s)),E})},close:function(T){b(T)},destroy:function(){g([])}}});var y=S.useState({}),C=we(y,2),w=C[0],x=C[1];S.useEffect(function(){var N={};f.forEach(function(T){var R=T.placement,E=R===void 0?"topRight":R;E&&(N[E]=N[E]||[],N[E].push(T))}),Object.keys(w).forEach(function(T){N[T]=N[T]||[]}),x(N)},[f]);var L=function(T){x(function(R){var E=xe({},R),W=E[T]||[];return W.length||delete E[T],E})},I=S.useRef(!1);if(S.useEffect(function(){Object.keys(w).length>0?I.current=!0:I.current&&(u==null||u(),I.current=!1)},[w]),!r)return null;var D=Object.keys(w);return eh.createPortal(S.createElement(S.Fragment,null,D.map(function(N){var T=w[N],R=S.createElement(wZe,{key:N,configList:T,placement:N,prefixCls:i,className:a==null?void 0:a(N),style:l==null?void 0:l(N),motion:o,onNoticeClose:b,onAllNoticeRemoved:L,stack:c});return d?d(R,{prefixCls:i,key:N}):R})),r)}),_Ze=["getContainer","motion","prefixCls","maxCount","className","style","onAllRemoved","stack","renderNotifications"],LZe=function(){return document.body},Oie=0;function IZe(){for(var n={},e=arguments.length,t=new Array(e),i=0;i0&&arguments[0]!==void 0?arguments[0]:{},e=n.getContainer,t=e===void 0?LZe:e,i=n.motion,r=n.prefixCls,o=n.maxCount,s=n.className,a=n.style,l=n.onAllRemoved,u=n.stack,c=n.renderNotifications,d=zn(n,_Ze),h=S.useState(),m=we(h,2),f=m[0],g=m[1],b=S.useRef(),y=S.createElement(xZe,{container:f,ref:b,prefixCls:r,motion:i,maxCount:o,className:s,style:a,onAllRemoved:l,stack:u,renderNotifications:c}),C=S.useState([]),w=we(C,2),x=w[0],L=w[1],I=S.useMemo(function(){return{open:function(N){var T=IZe(d,N);(T.key===null||T.key===void 0)&&(T.key="rc-notification-".concat(Oie),Oie+=1),L(function(R){return[].concat(Lt(R),[{type:"open",config:T}])})},close:function(N){L(function(T){return[].concat(Lt(T),[{type:"close",key:N}])})},destroy:function(){L(function(N){return[].concat(Lt(N),[{type:"destroy"}])})}}},[]);return S.useEffect(function(){g(t())}),S.useEffect(function(){b.current&&x.length&&(x.forEach(function(D){switch(D.type){case"open":b.current.open(D.config);break;case"close":b.current.close(D.key);break;case"destroy":b.current.destroy();break}}),L(function(D){return D.filter(function(N){return!x.includes(N)})}))},[x]),[I,y]}var FZe={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z"}}]},name:"loading",theme:"outlined"};const DZe=FZe;var NZe=function(e,t){return S.createElement(wo,pt({},e,{ref:t,icon:DZe}))},MZe=S.forwardRef(NZe);const iS=MZe,IT=ze.createContext(void 0),ny=100,FT=ny*10,zie={Modal:ny,Drawer:ny,Popover:ny,Popconfirm:ny,Tooltip:ny,Tour:ny},kZe={SelectLike:50,Dropdown:50,DatePicker:50,Menu:50,ImagePreview:1};function TZe(n){return n in zie}function iy(n,e){const[,t]=Pa(),i=ze.useContext(IT),r=TZe(n);if(e!==void 0)return[e,e];let o=i??0;return r?(o+=(i?0:t.zIndexPopupBase)+zie[n],o=Math.min(o,t.zIndexPopupBase+FT)):o+=kZe[n],[i===void 0?e:o,o]}const EZe=n=>{const{componentCls:e,iconCls:t,boxShadow:i,colorText:r,colorSuccess:o,colorError:s,colorWarning:a,colorInfo:l,fontSizeLG:u,motionEaseInOutCirc:c,motionDurationSlow:d,marginXS:h,paddingXS:m,borderRadiusLG:f,zIndexPopup:g,contentPadding:b,contentBg:y}=n,C=`${e}-notice`,w=new Mi("MessageMoveIn",{"0%":{padding:0,transform:"translateY(-100%)",opacity:0},"100%":{padding:m,transform:"translateY(0)",opacity:1}}),x=new Mi("MessageMoveOut",{"0%":{maxHeight:n.height,padding:m,opacity:1},"100%":{maxHeight:0,padding:0,opacity:0}}),L={padding:m,textAlign:"center",[`${e}-custom-content > ${t}`]:{verticalAlign:"text-bottom",marginInlineEnd:h,fontSize:u},[`${C}-content`]:{display:"inline-block",padding:b,background:y,borderRadius:f,boxShadow:i,pointerEvents:"all"},[`${e}-success > ${t}`]:{color:o},[`${e}-error > ${t}`]:{color:s},[`${e}-warning > ${t}`]:{color:a},[`${e}-info > ${t}, ${e}-loading > ${t}`]:{color:l}};return[{[e]:Object.assign(Object.assign({},uo(n)),{color:r,position:"fixed",top:h,width:"100%",pointerEvents:"none",zIndex:g,[`${e}-move-up`]:{animationFillMode:"forwards"},[` ${e}-move-up-appear, ${e}-move-up-enter - `]:{animationName:S,animationDuration:d,animationPlayState:"paused",animationTimingFunction:c},[` + `]:{animationName:w,animationDuration:d,animationPlayState:"paused",animationTimingFunction:c},[` ${e}-move-up-appear${e}-move-up-appear-active, ${e}-move-up-enter${e}-move-up-enter-active - `]:{animationPlayState:"running"},[`${e}-move-up-leave`]:{animationName:x,animationDuration:d,animationPlayState:"paused",animationTimingFunction:c},[`${e}-move-up-leave${e}-move-up-leave-active`]:{animationPlayState:"running"},"&-rtl":{direction:"rtl",span:{direction:"rtl"}}})},{[e]:{[`${C}-wrapper`]:Object.assign({},_)}},{[`${e}-notice-pure-panel`]:Object.assign(Object.assign({},_),{padding:0,textAlign:"start"})}]},Hie=Ho("Message",n=>{const e=Ui(n,{height:150});return[EWe(e)]},n=>({zIndexPopup:n.zIndexPopupBase+IT+10,contentBg:n.colorBgElevated,contentPadding:`${(n.controlHeightLG-n.fontSize*n.lineHeight)/2}px ${n.paddingSM}px`}));var ZWe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{let{prefixCls:e,type:t,icon:i,children:r}=n;return w.createElement("div",{className:Te(`${e}-custom-content`,`${e}-${t}`)},i||WWe[t],w.createElement("span",null,r))},RWe=n=>{const{prefixCls:e,className:t,type:i,icon:r,content:o}=n,s=ZWe(n,["prefixCls","className","type","icon","content"]),{getPrefixCls:a}=w.useContext(Rn),l=e||a("message"),u=_s(l),[c,d,h]=Hie(l,u);return c(w.createElement(E4,Object.assign({},s,{prefixCls:l,className:Te(t,d,`${l}-notice-pure-panel`,h,u),eventKey:"pure",duration:null,content:w.createElement(Yie,{prefixCls:l,type:i,icon:r},o)})))};function VWe(n,e){return{motionName:e??`${n}-move-up`}}function Z4(n){let e;const t=new Promise(r=>{e=n(()=>{r(!0)})}),i=()=>{e==null||e()};return i.then=(r,o)=>t.then(r,o),i.promise=t,i}var AWe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{let{children:e,prefixCls:t}=n;const i=_s(t),[r,o,s]=Hie(t,i);return r(w.createElement(Aie,{classNames:{list:Te(o,s,i)}},e))},OWe=(n,e)=>{let{prefixCls:t,key:i}=e;return w.createElement(PWe,{prefixCls:t,key:i},n)},BWe=w.forwardRef((n,e)=>{const{top:t,prefixCls:i,getContainer:r,maxCount:o,duration:s=XWe,rtl:a,transitionName:l,onAllRemoved:u}=n,{getPrefixCls:c,getPopupContainer:d,message:h,direction:m}=w.useContext(Rn),f=i||c("message"),g=()=>({left:"50%",transform:"translateX(-50%)",top:t??GWe}),b=()=>Te({[`${f}-rtl`]:a??m==="rtl"}),v=()=>VWe(f,l),C=w.createElement("span",{className:`${f}-close-x`},w.createElement(lb,{className:`${f}-close-icon`})),[S,x]=Bie({prefixCls:f,style:g,className:b,motion:v,closable:!1,closeIcon:C,duration:s,getContainer:()=>(r==null?void 0:r())||(d==null?void 0:d())||document.body,maxCount:o,onAllRemoved:u,renderNotifications:OWe});return w.useImperativeHandle(e,()=>Object.assign(Object.assign({},S),{prefixCls:f,message:h})),x});let Uie=0;function Kie(n){const e=w.useRef(null);return jC(),[w.useMemo(()=>{const i=l=>{var u;(u=e.current)===null||u===void 0||u.close(l)},r=l=>{if(!e.current){const F=()=>{};return F.then=()=>{},F}const{open:u,prefixCls:c,message:d}=e.current,h=`${c}-notice`,{content:m,icon:f,type:g,key:b,className:v,style:C,onClose:S}=l,x=AWe(l,["content","icon","type","key","className","style","onClose"]);let _=b;return _==null&&(Uie+=1,_=`antd-message-${Uie}`),Z4(F=>(u(Object.assign(Object.assign({},x),{key:_,content:w.createElement(Yie,{prefixCls:c,type:g,icon:f},m),placement:"top",className:Te(g&&`${h}-${g}`,v,d==null?void 0:d.className),style:Object.assign(Object.assign({},d==null?void 0:d.style),C),onClose:()=>{S==null||S(),F()}})),()=>{i(_)}))},s={open:r,destroy:l=>{var u;l!==void 0?i(l):(u=e.current)===null||u===void 0||u.destroy()}};return["info","success","warning","error","loading"].forEach(l=>{const u=(c,d,h)=>{let m;c&&typeof c=="object"&&"content"in c?m=c:m={content:c};let f,g;typeof d=="function"?g=d:(f=d,g=h);const b=Object.assign(Object.assign({onClose:g,duration:f},m),{type:l});return r(b)};s[l]=u}),s},[]),w.createElement(BWe,Object.assign({key:"message-holder"},n,{ref:e}))]}function zWe(n){return Kie(n)}function HWe(){const[n,e]=w.useState([]),t=w.useCallback(i=>(e(r=>[].concat(_t(r),[i])),()=>{e(r=>r.filter(o=>o!==i))}),[]);return[n,t]}function Oa(){Oa=function(){return e};var n,e={},t=Object.prototype,i=t.hasOwnProperty,r=Object.defineProperty||function(O,B,P){O[B]=P.value},o=typeof Symbol=="function"?Symbol:{},s=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",l=o.toStringTag||"@@toStringTag";function u(O,B,P){return Object.defineProperty(O,B,{value:P,enumerable:!0,configurable:!0,writable:!0}),O[B]}try{u({},"")}catch{u=function(P,H,k){return P[H]=k}}function c(O,B,P,H){var k=B&&B.prototype instanceof v?B:v,X=Object.create(k.prototype),Y=new A(H||[]);return r(X,"_invoke",{value:Z(O,P,Y)}),X}function d(O,B,P){try{return{type:"normal",arg:O.call(B,P)}}catch(H){return{type:"throw",arg:H}}}e.wrap=c;var h="suspendedStart",m="suspendedYield",f="executing",g="completed",b={};function v(){}function C(){}function S(){}var x={};u(x,s,function(){return this});var _=Object.getPrototypeOf,F=_&&_(_(z([])));F&&F!==t&&i.call(F,s)&&(x=F);var D=S.prototype=v.prototype=Object.create(x);function M(O){["next","throw","return"].forEach(function(B){u(O,B,function(P){return this._invoke(B,P)})})}function T(O,B){function P(k,X,Y,V){var te=d(O[k],O,X);if(te.type!=="throw"){var oe=te.arg,ae=oe.value;return ae&&Xn(ae)=="object"&&i.call(ae,"__await")?B.resolve(ae.__await).then(function(le){P("next",le,Y,V)},function(le){P("throw",le,Y,V)}):B.resolve(ae).then(function(le){oe.value=le,Y(oe)},function(le){return P("throw",le,Y,V)})}V(te.arg)}var H;r(this,"_invoke",{value:function(X,Y){function V(){return new B(function(te,oe){P(X,Y,te,oe)})}return H=H?H.then(V,V):V()}})}function Z(O,B,P){var H=h;return function(k,X){if(H===f)throw Error("Generator is already running");if(H===g){if(k==="throw")throw X;return{value:n,done:!0}}for(P.method=k,P.arg=X;;){var Y=P.delegate;if(Y){var V=E(Y,P);if(V){if(V===b)continue;return V}}if(P.method==="next")P.sent=P._sent=P.arg;else if(P.method==="throw"){if(H===h)throw H=g,P.arg;P.dispatchException(P.arg)}else P.method==="return"&&P.abrupt("return",P.arg);H=f;var te=d(O,B,P);if(te.type==="normal"){if(H=P.done?g:m,te.arg===b)continue;return{value:te.arg,done:P.done}}te.type==="throw"&&(H=g,P.method="throw",P.arg=te.arg)}}}function E(O,B){var P=B.method,H=O.iterator[P];if(H===n)return B.delegate=null,P==="throw"&&O.iterator.return&&(B.method="return",B.arg=n,E(O,B),B.method==="throw")||P!=="return"&&(B.method="throw",B.arg=new TypeError("The iterator does not provide a '"+P+"' method")),b;var k=d(H,O.iterator,B.arg);if(k.type==="throw")return B.method="throw",B.arg=k.arg,B.delegate=null,b;var X=k.arg;return X?X.done?(B[O.resultName]=X.value,B.next=O.nextLoc,B.method!=="return"&&(B.method="next",B.arg=n),B.delegate=null,b):X:(B.method="throw",B.arg=new TypeError("iterator result is not an object"),B.delegate=null,b)}function R(O){var B={tryLoc:O[0]};1 in O&&(B.catchLoc=O[1]),2 in O&&(B.finallyLoc=O[2],B.afterLoc=O[3]),this.tryEntries.push(B)}function W(O){var B=O.completion||{};B.type="normal",delete B.arg,O.completion=B}function A(O){this.tryEntries=[{tryLoc:"root"}],O.forEach(R,this),this.reset(!0)}function z(O){if(O||O===""){var B=O[s];if(B)return B.call(O);if(typeof O.next=="function")return O;if(!isNaN(O.length)){var P=-1,H=function k(){for(;++P=0;--k){var X=this.tryEntries[k],Y=X.completion;if(X.tryLoc==="root")return H("end");if(X.tryLoc<=this.prev){var V=i.call(X,"catchLoc"),te=i.call(X,"finallyLoc");if(V&&te){if(this.prev=0;--H){var k=this.tryEntries[H];if(k.tryLoc<=this.prev&&i.call(k,"finallyLoc")&&this.prev=0;--P){var H=this.tryEntries[P];if(H.finallyLoc===B)return this.complete(H.completion,H.afterLoc),W(H),b}},catch:function(B){for(var P=this.tryEntries.length-1;P>=0;--P){var H=this.tryEntries[P];if(H.tryLoc===B){var k=H.completion;if(k.type==="throw"){var X=k.arg;W(H)}return X}}throw Error("illegal catch attempt")},delegateYield:function(B,P,H){return this.delegate={iterator:z(B),resultName:P,nextLoc:H},this.method==="next"&&(this.arg=n),b}},e}function Jie(n,e,t,i,r,o,s){try{var a=n[o](s),l=a.value}catch(u){t(u);return}a.done?e(l):Promise.resolve(l).then(i,r)}function ub(n){return function(){var e=this,t=arguments;return new Promise(function(i,r){var o=n.apply(e,t);function s(l){Jie(o,i,r,s,a,"next",l)}function a(l){Jie(o,i,r,s,a,"throw",l)}s(void 0)})}}var KL=xe({},Ite),YWe=KL.version,UWe=KL.render,KWe=KL.unmountComponentAtNode,DT;try{var JWe=Number((YWe||"").split(".")[0]);JWe>=18&&(DT=KL.createRoot)}catch{}function jie(n){var e=KL.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;e&&Xn(e)==="object"&&(e.usingClientEntryPoint=n)}var MT="__rc_react_root__";function jWe(n,e){jie(!0);var t=e[MT]||DT(e);jie(!1),t.render(n),e[MT]=t}function QWe(n,e){UWe(n,e)}function kT(n,e){if(DT){jWe(n,e);return}QWe(n,e)}function $We(n){return W4.apply(this,arguments)}function W4(){return W4=ub(Oa().mark(function n(e){return Oa().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.abrupt("return",Promise.resolve().then(function(){var r;(r=e[MT])===null||r===void 0||r.unmount(),delete e[MT]}));case 1:case"end":return i.stop()}},n)})),W4.apply(this,arguments)}function qWe(n){KWe(n)}function Qie(n){return R4.apply(this,arguments)}function R4(){return R4=ub(Oa().mark(function n(e){return Oa().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(DT===void 0){i.next=2;break}return i.abrupt("return",$We(e));case 2:qWe(e);case 3:case"end":return i.stop()}},n)})),R4.apply(this,arguments)}const V4=()=>({height:0,opacity:0}),$ie=n=>{const{scrollHeight:e}=n;return{height:e,opacity:1}},eRe=n=>({height:n?n.offsetHeight:0}),A4=(n,e)=>(e==null?void 0:e.deadline)===!0||e.propertyName==="height",NT=function(){return{motionName:`${arguments.length>0&&arguments[0]!==void 0?arguments[0]:"ant"}-motion-collapse`,onAppearStart:V4,onEnterStart:V4,onAppearActive:$ie,onEnterActive:$ie,onLeaveStart:eRe,onLeaveActive:V4,onAppearEnd:A4,onEnterEnd:A4,onLeaveEnd:A4,motionDeadline:500}},cb=(n,e,t)=>t!==void 0?t:`${n}-${e}`,JL=function(n){if(!n)return!1;if(n instanceof Element){if(n.offsetParent)return!0;if(n.getBBox){var e=n.getBBox(),t=e.width,i=e.height;if(t||i)return!0}if(n.getBoundingClientRect){var r=n.getBoundingClientRect(),o=r.width,s=r.height;if(o||s)return!0}}return!1},tRe=n=>{const{componentCls:e,colorPrimary:t}=n;return{[e]:{position:"absolute",background:"transparent",pointerEvents:"none",boxSizing:"border-box",color:`var(--wave-color, ${t})`,boxShadow:"0 0 0 0 currentcolor",opacity:.2,"&.wave-motion-appear":{transition:[`box-shadow 0.4s ${n.motionEaseOutCirc}`,`opacity 2s ${n.motionEaseOutCirc}`].join(","),"&-active":{boxShadow:"0 0 0 6px currentcolor",opacity:0},"&.wave-quick":{transition:[`box-shadow ${n.motionDurationSlow} ${n.motionEaseInOut}`,`opacity ${n.motionDurationSlow} ${n.motionEaseInOut}`].join(",")}}}}},nRe=C4("Wave",n=>[tRe(n)]),G4="ant-wave-target";function iRe(n){const e=(n||"").match(/rgba?\((\d*), (\d*), (\d*)(, [\d.]*)?\)/);return e&&e[1]&&e[2]&&e[3]?!(e[1]===e[2]&&e[2]===e[3]):!0}function X4(n){return n&&n!=="#fff"&&n!=="#ffffff"&&n!=="rgb(255, 255, 255)"&&n!=="rgba(255, 255, 255, 1)"&&iRe(n)&&!/rgba\((?:\d*, ){3}0\)/.test(n)&&n!=="transparent"}function rRe(n){const{borderTopColor:e,borderColor:t,backgroundColor:i}=getComputedStyle(n);return X4(e)?e:X4(t)?t:X4(i)?i:null}function P4(n){return Number.isNaN(n)?0:n}const oRe=n=>{const{className:e,target:t,component:i}=n,r=w.useRef(null),[o,s]=w.useState(null),[a,l]=w.useState([]),[u,c]=w.useState(0),[d,h]=w.useState(0),[m,f]=w.useState(0),[g,b]=w.useState(0),[v,C]=w.useState(!1),S={left:u,top:d,width:m,height:g,borderRadius:a.map(F=>`${F}px`).join(" ")};o&&(S["--wave-color"]=o);function x(){const F=getComputedStyle(t);s(rRe(t));const D=F.position==="static",{borderLeftWidth:M,borderTopWidth:T}=F;c(D?t.offsetLeft:P4(-parseFloat(M))),h(D?t.offsetTop:P4(-parseFloat(T))),f(t.offsetWidth),b(t.offsetHeight);const{borderTopLeftRadius:Z,borderTopRightRadius:E,borderBottomLeftRadius:R,borderBottomRightRadius:W}=F;l([Z,E,W,R].map(A=>P4(parseFloat(A))))}if(w.useEffect(()=>{if(t){const F=xi(()=>{x(),C(!0)});let D;return typeof ResizeObserver<"u"&&(D=new ResizeObserver(x),D.observe(t)),()=>{xi.cancel(F),D==null||D.disconnect()}}},[]),!v)return null;const _=(i==="Checkbox"||i==="Radio")&&(t==null?void 0:t.classList.contains(G4));return w.createElement(ud,{visible:!0,motionAppear:!0,motionName:"wave-motion",motionDeadline:5e3,onAppearEnd:(F,D)=>{var M;if(D.deadline||D.propertyName==="opacity"){const T=(M=r.current)===null||M===void 0?void 0:M.parentElement;Qie(T).then(()=>{T==null||T.remove()})}return!1}},F=>{let{className:D}=F;return w.createElement("div",{ref:r,className:Te(e,{"wave-quick":_},D),style:S})})},sRe=(n,e)=>{var t;const{component:i}=e;if(i==="Checkbox"&&!(!((t=n.querySelector("input"))===null||t===void 0)&&t.checked))return;const r=document.createElement("div");r.style.position="absolute",r.style.left="0px",r.style.top="0px",n==null||n.insertBefore(r,n==null?void 0:n.firstChild),kT(w.createElement(oRe,Object.assign({},e,{target:n})),r)},aRe=(n,e,t)=>{const{wave:i}=w.useContext(Rn),[,r,o]=Pa(),s=$i(u=>{const c=n.current;if(i!=null&&i.disabled||!c)return;const d=c.querySelector(`.${G4}`)||c,{showEffect:h}=i||{};(h||sRe)(d,{className:e,token:r,component:t,event:u,hashId:o})}),a=w.useRef();return u=>{xi.cancel(a.current),a.current=xi(()=>{s(u)})}},qie=n=>{const{children:e,disabled:t,component:i}=n,{getPrefixCls:r}=w.useContext(Rn),o=w.useRef(null),s=r("wave"),[,a]=nRe(s),l=aRe(o,Te(s,a),i);if(ze.useEffect(()=>{const c=o.current;if(!c||c.nodeType!==1||t)return;const d=h=>{!JL(h.target)||!c.getAttribute||c.getAttribute("disabled")||c.disabled||c.className.includes("disabled")||c.className.includes("-leave")||l(h)};return c.addEventListener("click",d,!0),()=>{c.removeEventListener("click",d,!0)}},[t]),!ze.isValidElement(e))return e??null;const u=jf(e)?_u(e.ref,o):o;return eu(e,{ref:u})},pc=n=>{const e=ze.useContext(BL);return ze.useMemo(()=>n?typeof n=="string"?n??e:n instanceof Function?n(e):e:e,[n,e])},lRe=n=>{const{componentCls:e}=n;return{[e]:{"&-block":{display:"flex",width:"100%"},"&-vertical":{flexDirection:"column"}}}},uRe=n=>{const{componentCls:e,antCls:t}=n;return{[e]:{display:"inline-flex","&-rtl":{direction:"rtl"},"&-vertical":{flexDirection:"column"},"&-align":{flexDirection:"column","&-center":{alignItems:"center"},"&-start":{alignItems:"flex-start"},"&-end":{alignItems:"flex-end"},"&-baseline":{alignItems:"baseline"}},[`${e}-item:empty`]:{display:"none"},[`${e}-item > ${t}-badge-not-a-wrapper:only-child`]:{display:"block"}}}},cRe=n=>{const{componentCls:e}=n;return{[e]:{"&-gap-row-small":{rowGap:n.spaceGapSmallSize},"&-gap-row-middle":{rowGap:n.spaceGapMiddleSize},"&-gap-row-large":{rowGap:n.spaceGapLargeSize},"&-gap-col-small":{columnGap:n.spaceGapSmallSize},"&-gap-col-middle":{columnGap:n.spaceGapMiddleSize},"&-gap-col-large":{columnGap:n.spaceGapLargeSize}}}},ere=Ho("Space",n=>{const e=Ui(n,{spaceGapSmallSize:n.paddingXS,spaceGapMiddleSize:n.padding,spaceGapLargeSize:n.paddingLG});return[uRe(e),cRe(e),lRe(e)]},()=>({}),{resetStyle:!1});var tre=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const t=w.useContext(TT),i=w.useMemo(()=>{if(!t)return"";const{compactDirection:r,isFirstItem:o,isLastItem:s}=t,a=r==="vertical"?"-vertical-":"-";return Te(`${n}-compact${a}item`,{[`${n}-compact${a}first-item`]:o,[`${n}-compact${a}last-item`]:s,[`${n}-compact${a}item-rtl`]:e==="rtl"})},[n,e,t]);return{compactSize:t==null?void 0:t.compactSize,compactDirection:t==null?void 0:t.compactDirection,compactItemClassnames:i}},ig=n=>{let{children:e}=n;return w.createElement(TT.Provider,{value:null},e)},dRe=n=>{var{children:e}=n,t=tre(n,["children"]);return w.createElement(TT.Provider,{value:t},e)},hRe=n=>{const{getPrefixCls:e,direction:t}=w.useContext(Rn),{size:i,direction:r,block:o,prefixCls:s,className:a,rootClassName:l,children:u}=n,c=tre(n,["size","direction","block","prefixCls","className","rootClassName","children"]),d=pc(S=>i??S),h=e("space-compact",s),[m,f]=ere(h),g=Te(h,f,{[`${h}-rtl`]:t==="rtl",[`${h}-block`]:o,[`${h}-vertical`]:r==="vertical"},a,l),b=w.useContext(TT),v=ad(u),C=w.useMemo(()=>v.map((S,x)=>{const _=S&&S.key||`${h}-item-${x}`;return w.createElement(dRe,{key:_,compactSize:d,compactDirection:r,isFirstItem:x===0&&(!b||(b==null?void 0:b.isFirstItem)),isLastItem:x===v.length-1&&(!b||(b==null?void 0:b.isLastItem))},S)}),[i,v,b]);return v.length===0?null:m(w.createElement("div",Object.assign({className:g},c),C))};var mRe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const{getPrefixCls:e,direction:t}=w.useContext(Rn),{prefixCls:i,size:r,className:o}=n,s=mRe(n,["prefixCls","size","className"]),a=e("btn-group",i),[,,l]=Pa();let u="";switch(r){case"large":u="lg";break;case"small":u="sm";break}const c=Te(a,{[`${a}-${u}`]:u,[`${a}-rtl`]:t==="rtl"},o,l);return w.createElement(nre.Provider,{value:r},w.createElement("div",Object.assign({},s,{className:c})))},ire=/^[\u4e00-\u9fa5]{2}$/,O4=ire.test.bind(ire);function rre(n){return n==="danger"?{danger:!0}:{type:n}}function ore(n){return typeof n=="string"}function B4(n){return n==="text"||n==="link"}function gRe(n,e){if(n==null)return;const t=e?" ":"";return typeof n!="string"&&typeof n!="number"&&ore(n.type)&&O4(n.props.children)?eu(n,{children:n.props.children.split("").join(t)}):ore(n)?O4(n)?ze.createElement("span",null,n.split("").join(t)):ze.createElement("span",null,n):Eie(n)?ze.createElement("span",null,n):n}function pRe(n,e){let t=!1;const i=[];return ze.Children.forEach(n,r=>{const o=typeof r,s=o==="string"||o==="number";if(t&&s){const a=i.length-1,l=i[a];i[a]=`${l}${r}`}else i.push(r);t=s}),ze.Children.map(i,r=>gRe(r,e))}const sre=w.forwardRef((n,e)=>{const{className:t,style:i,children:r,prefixCls:o}=n,s=Te(`${o}-icon`,t);return ze.createElement("span",{ref:e,className:s,style:i},r)}),are=w.forwardRef((n,e)=>{let{prefixCls:t,className:i,style:r,iconClassName:o}=n;const s=Te(`${t}-loading-icon`,i);return ze.createElement(sre,{prefixCls:t,className:s,style:r,ref:e},ze.createElement(iw,{className:o}))}),z4=()=>({width:0,opacity:0,transform:"scale(0)"}),H4=n=>({width:n.scrollWidth,opacity:1,transform:"scale(1)"}),bRe=n=>{const{prefixCls:e,loading:t,existIcon:i,className:r,style:o}=n,s=!!t;return i?ze.createElement(are,{prefixCls:e,className:r,style:o}):ze.createElement(ud,{visible:s,motionName:`${e}-loading-icon-motion`,motionLeave:s,removeOnLeave:!0,onAppearStart:z4,onAppearActive:H4,onEnterStart:z4,onEnterActive:H4,onLeaveStart:H4,onLeaveActive:z4},(a,l)=>{let{className:u,style:c}=a;return ze.createElement(are,{prefixCls:e,className:r,style:Object.assign(Object.assign({},o),c),ref:l,iconClassName:u})})},lre=(n,e)=>({[`> span, > ${n}`]:{"&:not(:last-child)":{[`&, & > ${n}`]:{"&:not(:disabled)":{borderInlineEndColor:e}}},"&:not(:first-child)":{[`&, & > ${n}`]:{"&:not(:disabled)":{borderInlineStartColor:e}}}}}),vRe=n=>{const{componentCls:e,fontSize:t,lineWidth:i,groupBorderColor:r,colorErrorHover:o}=n;return{[`${e}-group`]:[{position:"relative",display:"inline-flex",[`> span, > ${e}`]:{"&:not(:last-child)":{[`&, & > ${e}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},"&:not(:first-child)":{marginInlineStart:n.calc(i).mul(-1).equal(),[`&, & > ${e}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}},[e]:{position:"relative",zIndex:1,"&:hover,\n &:focus,\n &:active":{zIndex:2},"&[disabled]":{zIndex:0}},[`${e}-icon-only`]:{fontSize:t}},lre(`${e}-primary`,r),lre(`${e}-danger`,o)]}},ure=n=>{const{paddingInline:e,onlyIconSize:t,paddingBlock:i}=n;return Ui(n,{buttonPaddingHorizontal:e,buttonPaddingVertical:i,buttonIconOnlyFontSize:t})},cre=n=>{var e,t,i,r,o,s;const a=(e=n.contentFontSize)!==null&&e!==void 0?e:n.fontSize,l=(t=n.contentFontSizeSM)!==null&&t!==void 0?t:n.fontSize,u=(i=n.contentFontSizeLG)!==null&&i!==void 0?i:n.fontSizeLG,c=(r=n.contentLineHeight)!==null&&r!==void 0?r:dT(a),d=(o=n.contentLineHeightSM)!==null&&o!==void 0?o:dT(l),h=(s=n.contentLineHeightLG)!==null&&s!==void 0?s:dT(u);return{fontWeight:400,defaultShadow:`0 ${n.controlOutlineWidth}px 0 ${n.controlTmpOutline}`,primaryShadow:`0 ${n.controlOutlineWidth}px 0 ${n.controlOutline}`,dangerShadow:`0 ${n.controlOutlineWidth}px 0 ${n.colorErrorOutline}`,primaryColor:n.colorTextLightSolid,dangerColor:n.colorTextLightSolid,borderColorDisabled:n.colorBorder,defaultGhostColor:n.colorBgContainer,ghostBg:"transparent",defaultGhostBorderColor:n.colorBgContainer,paddingInline:n.paddingContentHorizontal-n.lineWidth,paddingInlineLG:n.paddingContentHorizontal-n.lineWidth,paddingInlineSM:8-n.lineWidth,onlyIconSize:n.fontSizeLG,onlyIconSizeSM:n.fontSizeLG-2,onlyIconSizeLG:n.fontSizeLG+2,groupBorderColor:n.colorPrimaryHover,linkHoverBg:"transparent",textHoverBg:n.colorBgTextHover,defaultColor:n.colorText,defaultBg:n.colorBgContainer,defaultBorderColor:n.colorBorder,defaultBorderColorDisabled:n.colorBorder,defaultHoverBg:n.colorBgContainer,defaultHoverColor:n.colorPrimaryHover,defaultHoverBorderColor:n.colorPrimaryHover,defaultActiveBg:n.colorBgContainer,defaultActiveColor:n.colorPrimaryActive,defaultActiveBorderColor:n.colorPrimaryActive,contentFontSize:a,contentFontSizeSM:l,contentFontSizeLG:u,contentLineHeight:c,contentLineHeightSM:d,contentLineHeightLG:h,paddingBlock:Math.max((n.controlHeight-a*c)/2-n.lineWidth,0),paddingBlockSM:Math.max((n.controlHeightSM-l*d)/2-n.lineWidth,0),paddingBlockLG:Math.max((n.controlHeightLG-u*h)/2-n.lineWidth,0)}},yRe=n=>{const{componentCls:e,iconCls:t,fontWeight:i}=n;return{[e]:{outline:"none",position:"relative",display:"inline-block",fontWeight:i,whiteSpace:"nowrap",textAlign:"center",backgroundImage:"none",background:"transparent",border:`${Ee(n.lineWidth)} ${n.lineType} transparent`,cursor:"pointer",transition:`all ${n.motionDurationMid} ${n.motionEaseInOut}`,userSelect:"none",touchAction:"manipulation",color:n.colorText,"&:disabled > *":{pointerEvents:"none"},"> span":{display:"inline-block"},[`${e}-icon`]:{lineHeight:0},[`> ${t} + span, > span + ${t}`]:{marginInlineStart:n.marginXS},[`&:not(${e}-icon-only) > ${e}-icon`]:{[`&${e}-loading-icon, &:not(:last-child)`]:{marginInlineEnd:n.marginXS}},"> a":{color:"currentColor"},"&:not(:disabled)":Object.assign({},$1(n)),[`&${e}-two-chinese-chars::first-letter`]:{letterSpacing:"0.34em"},[`&${e}-two-chinese-chars > *:not(${t})`]:{marginInlineEnd:"-0.34em",letterSpacing:"0.34em"},[`&-icon-only${e}-compact-item`]:{flex:"none"}}}},rg=(n,e,t)=>({[`&:not(:disabled):not(${n}-disabled)`]:{"&:hover":e,"&:active":t}}),CRe=n=>({minWidth:n.controlHeight,paddingInlineStart:0,paddingInlineEnd:0,borderRadius:"50%"}),wRe=n=>({borderRadius:n.controlHeight,paddingInlineStart:n.calc(n.controlHeight).div(2).equal(),paddingInlineEnd:n.calc(n.controlHeight).div(2).equal()}),SRe=n=>({cursor:"not-allowed",borderColor:n.borderColorDisabled,color:n.colorTextDisabled,background:n.colorBgContainerDisabled,boxShadow:"none"}),jL=(n,e,t,i,r,o,s,a)=>({[`&${n}-background-ghost`]:Object.assign(Object.assign({color:t||void 0,background:e,borderColor:i||void 0,boxShadow:"none"},rg(n,Object.assign({background:e},s),Object.assign({background:e},a))),{"&:disabled":{cursor:"not-allowed",color:r||void 0,borderColor:o||void 0}})}),Y4=n=>({[`&:disabled, &${n.componentCls}-disabled`]:Object.assign({},SRe(n))}),dre=n=>Object.assign({},Y4(n)),ET=n=>({[`&:disabled, &${n.componentCls}-disabled`]:{cursor:"not-allowed",color:n.colorTextDisabled}}),hre=n=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},dre(n)),{background:n.defaultBg,borderColor:n.defaultBorderColor,color:n.defaultColor,boxShadow:n.defaultShadow}),rg(n.componentCls,{color:n.defaultHoverColor,borderColor:n.defaultHoverBorderColor,background:n.defaultHoverBg},{color:n.defaultActiveColor,borderColor:n.defaultActiveBorderColor,background:n.defaultActiveBg})),jL(n.componentCls,n.ghostBg,n.defaultGhostColor,n.defaultGhostBorderColor,n.colorTextDisabled,n.colorBorder)),{[`&${n.componentCls}-dangerous`]:Object.assign(Object.assign(Object.assign({color:n.colorError,borderColor:n.colorError},rg(n.componentCls,{color:n.colorErrorHover,borderColor:n.colorErrorBorderHover},{color:n.colorErrorActive,borderColor:n.colorErrorActive})),jL(n.componentCls,n.ghostBg,n.colorError,n.colorError,n.colorTextDisabled,n.colorBorder)),Y4(n))}),xRe=n=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},dre(n)),{color:n.primaryColor,background:n.colorPrimary,boxShadow:n.primaryShadow}),rg(n.componentCls,{color:n.colorTextLightSolid,background:n.colorPrimaryHover},{color:n.colorTextLightSolid,background:n.colorPrimaryActive})),jL(n.componentCls,n.ghostBg,n.colorPrimary,n.colorPrimary,n.colorTextDisabled,n.colorBorder,{color:n.colorPrimaryHover,borderColor:n.colorPrimaryHover},{color:n.colorPrimaryActive,borderColor:n.colorPrimaryActive})),{[`&${n.componentCls}-dangerous`]:Object.assign(Object.assign(Object.assign({background:n.colorError,boxShadow:n.dangerShadow,color:n.dangerColor},rg(n.componentCls,{background:n.colorErrorHover},{background:n.colorErrorActive})),jL(n.componentCls,n.ghostBg,n.colorError,n.colorError,n.colorTextDisabled,n.colorBorder,{color:n.colorErrorHover,borderColor:n.colorErrorHover},{color:n.colorErrorActive,borderColor:n.colorErrorActive})),Y4(n))}),LRe=n=>Object.assign(Object.assign({},hre(n)),{borderStyle:"dashed"}),_Re=n=>Object.assign(Object.assign(Object.assign({color:n.colorLink},rg(n.componentCls,{color:n.colorLinkHover,background:n.linkHoverBg},{color:n.colorLinkActive})),ET(n)),{[`&${n.componentCls}-dangerous`]:Object.assign(Object.assign({color:n.colorError},rg(n.componentCls,{color:n.colorErrorHover},{color:n.colorErrorActive})),ET(n))}),FRe=n=>Object.assign(Object.assign(Object.assign({},rg(n.componentCls,{color:n.colorText,background:n.textHoverBg},{color:n.colorText,background:n.colorBgTextActive})),ET(n)),{[`&${n.componentCls}-dangerous`]:Object.assign(Object.assign({color:n.colorError},ET(n)),rg(n.componentCls,{color:n.colorErrorHover,background:n.colorErrorBg},{color:n.colorErrorHover,background:n.colorErrorBg}))}),IRe=n=>{const{componentCls:e}=n;return{[`${e}-default`]:hre(n),[`${e}-primary`]:xRe(n),[`${e}-dashed`]:LRe(n),[`${e}-link`]:_Re(n),[`${e}-text`]:FRe(n),[`${e}-ghost`]:jL(n.componentCls,n.ghostBg,n.colorBgContainer,n.colorBgContainer,n.colorTextDisabled,n.colorBorder)}},U4=function(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const{componentCls:t,controlHeight:i,fontSize:r,lineHeight:o,borderRadius:s,buttonPaddingHorizontal:a,iconCls:l,buttonPaddingVertical:u}=n,c=`${t}-icon-only`;return[{[`${e}`]:{fontSize:r,lineHeight:o,height:i,padding:`${Ee(u)} ${Ee(a)}`,borderRadius:s,[`&${c}`]:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:i,paddingInlineStart:0,paddingInlineEnd:0,[`&${t}-round`]:{width:"auto"},[l]:{fontSize:n.buttonIconOnlyFontSize}},[`&${t}-loading`]:{opacity:n.opacityLoading,cursor:"default"},[`${t}-loading-icon`]:{transition:`width ${n.motionDurationSlow} ${n.motionEaseInOut}, opacity ${n.motionDurationSlow} ${n.motionEaseInOut}`}}},{[`${t}${t}-circle${e}`]:CRe(n)},{[`${t}${t}-round${e}`]:wRe(n)}]},DRe=n=>{const e=Ui(n,{fontSize:n.contentFontSize,lineHeight:n.contentLineHeight});return U4(e,n.componentCls)},MRe=n=>{const e=Ui(n,{controlHeight:n.controlHeightSM,fontSize:n.contentFontSizeSM,lineHeight:n.contentLineHeightSM,padding:n.paddingXS,buttonPaddingHorizontal:n.paddingInlineSM,buttonPaddingVertical:n.paddingBlockSM,borderRadius:n.borderRadiusSM,buttonIconOnlyFontSize:n.onlyIconSizeSM});return U4(e,`${n.componentCls}-sm`)},kRe=n=>{const e=Ui(n,{controlHeight:n.controlHeightLG,fontSize:n.contentFontSizeLG,lineHeight:n.contentLineHeightLG,buttonPaddingHorizontal:n.paddingInlineLG,buttonPaddingVertical:n.paddingBlockLG,borderRadius:n.borderRadiusLG,buttonIconOnlyFontSize:n.onlyIconSizeLG});return U4(e,`${n.componentCls}-lg`)},NRe=n=>{const{componentCls:e}=n;return{[e]:{[`&${e}-block`]:{width:"100%"}}}},TRe=Ho("Button",n=>{const e=ure(n);return[yRe(e),DRe(e),MRe(e),kRe(e),NRe(e),IRe(e),vRe(e)]},cre,{unitless:{fontWeight:!0,contentLineHeight:!0,contentLineHeightSM:!0,contentLineHeightLG:!0}});function ERe(n,e,t){const{focusElCls:i,focus:r,borderElCls:o}=t,s=o?"> *":"",a=["hover",r?"focus":null,"active"].filter(Boolean).map(l=>`&:${l} ${s}`).join(",");return{[`&-item:not(${e}-last-item)`]:{marginInlineEnd:n.calc(n.lineWidth).mul(-1).equal()},"&-item":Object.assign(Object.assign({[a]:{zIndex:2}},i?{[`&${i}`]:{zIndex:2}}:{}),{[`&[disabled] ${s}`]:{zIndex:0}})}}function ZRe(n,e,t){const{borderElCls:i}=t,r=i?`> ${i}`:"";return{[`&-item:not(${e}-first-item):not(${e}-last-item) ${r}`]:{borderRadius:0},[`&-item:not(${e}-last-item)${e}-first-item`]:{[`& ${r}, &${n}-sm ${r}, &${n}-lg ${r}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&-item:not(${e}-first-item)${e}-last-item`]:{[`& ${r}, &${n}-sm ${r}, &${n}-lg ${r}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}}}function QL(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{focus:!0};const{componentCls:t}=n,i=`${t}-compact`;return{[i]:Object.assign(Object.assign({},ERe(n,i,e)),ZRe(t,i,e))}}function WRe(n,e){return{[`&-item:not(${e}-last-item)`]:{marginBottom:n.calc(n.lineWidth).mul(-1).equal()},"&-item":{"&:hover,&:focus,&:active":{zIndex:2},"&[disabled]":{zIndex:0}}}}function RRe(n,e){return{[`&-item:not(${e}-first-item):not(${e}-last-item)`]:{borderRadius:0},[`&-item${e}-first-item:not(${e}-last-item)`]:{[`&, &${n}-sm, &${n}-lg`]:{borderEndEndRadius:0,borderEndStartRadius:0}},[`&-item${e}-last-item:not(${e}-first-item)`]:{[`&, &${n}-sm, &${n}-lg`]:{borderStartStartRadius:0,borderStartEndRadius:0}}}}function VRe(n){const e=`${n.componentCls}-compact-vertical`;return{[e]:Object.assign(Object.assign({},WRe(n,e)),RRe(n.componentCls,e))}}const ARe=n=>{const{componentCls:e,calc:t}=n;return{[e]:{[`&-compact-item${e}-primary`]:{[`&:not([disabled]) + ${e}-compact-item${e}-primary:not([disabled])`]:{position:"relative","&:before":{position:"absolute",top:t(n.lineWidth).mul(-1).equal(),insetInlineStart:t(n.lineWidth).mul(-1).equal(),display:"inline-block",width:n.lineWidth,height:`calc(100% + ${Ee(n.lineWidth)} * 2)`,backgroundColor:n.colorPrimaryHover,content:'""'}}},"&-compact-vertical-item":{[`&${e}-primary`]:{[`&:not([disabled]) + ${e}-compact-vertical-item${e}-primary:not([disabled])`]:{position:"relative","&:before":{position:"absolute",top:t(n.lineWidth).mul(-1).equal(),insetInlineStart:t(n.lineWidth).mul(-1).equal(),display:"inline-block",width:`calc(100% + ${Ee(n.lineWidth)} * 2)`,height:n.lineWidth,backgroundColor:n.colorPrimaryHover,content:'""'}}}}}}},GRe=fT(["Button","compact"],n=>{const e=ure(n);return[QL(e),VRe(e),ARe(e)]},cre);var XRe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{var t,i;const{loading:r=!1,prefixCls:o,type:s,danger:a,shape:l="default",size:u,styles:c,disabled:d,className:h,rootClassName:m,children:f,icon:g,ghost:b=!1,block:v=!1,htmlType:C="button",classNames:S,style:x={}}=n,_=XRe(n,["loading","prefixCls","type","danger","shape","size","styles","disabled","className","rootClassName","children","icon","ghost","block","htmlType","classNames","style"]),F=s||"default",{getPrefixCls:D,autoInsertSpaceInButton:M,direction:T,button:Z}=w.useContext(Rn),E=D("btn",o),[R,W,A]=TRe(E),z=w.useContext(sh),O=d??z,B=w.useContext(nre),P=w.useMemo(()=>PRe(r),[r]),[H,k]=w.useState(P.loading),[X,Y]=w.useState(!1),te=_u(e,w.createRef()),oe=w.Children.count(f)===1&&!g&&!B4(F);w.useEffect(()=>{let me=null;P.delay>0?me=setTimeout(()=>{me=null,k(!0)},P.delay):k(P.loading);function j(){me&&(clearTimeout(me),me=null)}return j},[P]),w.useEffect(()=>{if(!te||!te.current||M===!1)return;const me=te.current.textContent;oe&&O4(me)?X||Y(!0):X&&Y(!1)},[te]);const ae=me=>{const{onClick:j}=n;if(H||O){me.preventDefault();return}j==null||j(me)},le=M!==!1,{compactSize:ue,compactItemClassnames:Ce}=db(E,T),pe={large:"lg",small:"sm",middle:void 0},ce=pc(me=>{var j,$;return($=(j=u??ue)!==null&&j!==void 0?j:B)!==null&&$!==void 0?$:me}),De=ce&&pe[ce]||"",ke=H?"loading":g,Ne=la(_,["navigate"]),Ue=Te(E,W,A,{[`${E}-${l}`]:l!=="default"&&l,[`${E}-${F}`]:F,[`${E}-${De}`]:De,[`${E}-icon-only`]:!f&&f!==0&&!!ke,[`${E}-background-ghost`]:b&&!B4(F),[`${E}-loading`]:H,[`${E}-two-chinese-chars`]:X&&le&&!H,[`${E}-block`]:v,[`${E}-dangerous`]:!!a,[`${E}-rtl`]:T==="rtl"},Ce,h,m,Z==null?void 0:Z.className),He=Object.assign(Object.assign({},Z==null?void 0:Z.style),x),ct=Te(S==null?void 0:S.icon,(t=Z==null?void 0:Z.classNames)===null||t===void 0?void 0:t.icon),vt=Object.assign(Object.assign({},(c==null?void 0:c.icon)||{}),((i=Z==null?void 0:Z.styles)===null||i===void 0?void 0:i.icon)||{}),it=g&&!H?ze.createElement(sre,{prefixCls:E,className:ct,style:vt},g):ze.createElement(bRe,{existIcon:!!g,prefixCls:E,loading:!!H}),he=f||f===0?pRe(f,oe&&le):null;if(Ne.href!==void 0)return R(ze.createElement("a",Object.assign({},Ne,{className:Te(Ue,{[`${E}-disabled`]:O}),href:O?void 0:Ne.href,style:He,onClick:ae,ref:te,tabIndex:O?-1:0}),it,he));let de=ze.createElement("button",Object.assign({},_,{type:C,className:Ue,style:He,onClick:ae,disabled:O,ref:te}),it,he,!!Ce&&ze.createElement(GRe,{key:"compact",prefixCls:E}));return B4(F)||(de=ze.createElement(qie,{component:"Button",disabled:!!H},de)),R(de)});K4.Group=fRe,K4.__ANT_BUTTON=!0;const jr=K4;function mre(n){return!!(n&&n.then)}const fre=n=>{const{type:e,children:t,prefixCls:i,buttonProps:r,close:o,autoFocus:s,emitEvent:a,isSilent:l,quitOnNullishReturnValue:u,actionFn:c}=n,d=w.useRef(!1),h=w.useRef(null),[m,f]=sb(!1),g=function(){o==null||o.apply(void 0,arguments)};w.useEffect(()=>{let C=null;return s&&(C=setTimeout(()=>{var S;(S=h.current)===null||S===void 0||S.focus()})),()=>{C&&clearTimeout(C)}},[]);const b=C=>{mre(C)&&(f(!0),C.then(function(){f(!1,!0),g.apply(void 0,arguments),d.current=!1},S=>{if(f(!1,!0),d.current=!1,!(l!=null&&l()))return Promise.reject(S)}))},v=C=>{if(d.current)return;if(d.current=!0,!c){g();return}let S;if(a){if(S=c(C),u&&!mre(S)){d.current=!1,g(C);return}}else if(c.length)S=c(o),d.current=!1;else if(S=c(),!S){g();return}b(S)};return w.createElement(jr,Object.assign({},rre(e),{onClick:v,loading:m,prefixCls:i},r,{ref:h}),t)},$L=ze.createContext({}),{Provider:gre}=$L,pre=()=>{const{autoFocusButton:n,cancelButtonProps:e,cancelTextLocale:t,isSilent:i,mergedOkCancel:r,rootPrefixCls:o,close:s,onCancel:a,onConfirm:l}=w.useContext($L);return r?ze.createElement(fre,{isSilent:i,actionFn:a,close:function(){s==null||s.apply(void 0,arguments),l==null||l(!1)},autoFocus:n==="cancel",buttonProps:e,prefixCls:`${o}-btn`},t):null},bre=()=>{const{autoFocusButton:n,close:e,isSilent:t,okButtonProps:i,rootPrefixCls:r,okTextLocale:o,okType:s,onConfirm:a,onOk:l}=w.useContext($L);return ze.createElement(fre,{isSilent:t,type:s||"primary",actionFn:l,close:function(){e==null||e.apply(void 0,arguments),a==null||a(!0)},autoFocus:n==="ok",buttonProps:i,prefixCls:`${r}-btn`},o)};var vre=w.createContext(null),yre=[];function ORe(n,e){var t=w.useState(function(){if(!wl())return null;var f=document.createElement("div");return f}),i=Se(t,1),r=i[0],o=w.useRef(!1),s=w.useContext(vre),a=w.useState(yre),l=Se(a,2),u=l[0],c=l[1],d=s||(o.current?void 0:function(f){c(function(g){var b=[f].concat(_t(g));return b})});function h(){r.parentElement||document.body.appendChild(r),o.current=!0}function m(){var f;(f=r.parentElement)===null||f===void 0||f.removeChild(r),o.current=!1}return dr(function(){return n?s?s(h):h():m(),m},[n]),dr(function(){u.length&&(u.forEach(function(f){return f()}),c(yre))},[u]),[r,d]}function BRe(n){var e="rc-scrollbar-measure-".concat(Math.random().toString(36).substring(7)),t=document.createElement("div");t.id=e;var i=t.style;i.position="absolute",i.left="0",i.top="0",i.width="100px",i.height="100px",i.overflow="scroll";var r,o;if(n){var s=getComputedStyle(n);i.scrollbarColor=s.scrollbarColor,i.scrollbarWidth=s.scrollbarWidth;var a=getComputedStyle(n,"::-webkit-scrollbar"),l=parseInt(a.width,10),u=parseInt(a.height,10);try{var c=l?"width: ".concat(a.width,";"):"",d=u?"height: ".concat(a.height,";"):"";$f(` + `]:{animationPlayState:"running"},[`${e}-move-up-leave`]:{animationName:x,animationDuration:d,animationPlayState:"paused",animationTimingFunction:c},[`${e}-move-up-leave${e}-move-up-leave-active`]:{animationPlayState:"running"},"&-rtl":{direction:"rtl",span:{direction:"rtl"}}})},{[e]:{[`${C}-wrapper`]:Object.assign({},L)}},{[`${e}-notice-pure-panel`]:Object.assign(Object.assign({},L),{padding:0,textAlign:"start"})}]},Hie=Ho("Message",n=>{const e=Yi(n,{height:150});return[EZe(e)]},n=>({zIndexPopup:n.zIndexPopupBase+FT+10,contentBg:n.colorBgElevated,contentPadding:`${(n.controlHeightLG-n.fontSize*n.lineHeight)/2}px ${n.paddingSM}px`}));var RZe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{let{prefixCls:e,type:t,icon:i,children:r}=n;return S.createElement("div",{className:Te(`${e}-custom-content`,`${e}-${t}`)},i||ZZe[t],S.createElement("span",null,r))},WZe=n=>{const{prefixCls:e,className:t,type:i,icon:r,content:o}=n,s=RZe(n,["prefixCls","className","type","icon","content"]),{getPrefixCls:a}=S.useContext(Wn),l=e||a("message"),u=Ls(l),[c,d,h]=Hie(l,u);return c(S.createElement(E4,Object.assign({},s,{prefixCls:l,className:Te(t,d,`${l}-notice-pure-panel`,h,u),eventKey:"pure",duration:null,content:S.createElement(Yie,{prefixCls:l,type:i,icon:r},o)})))};function AZe(n,e){return{motionName:e??`${n}-move-up`}}function R4(n){let e;const t=new Promise(r=>{e=n(()=>{r(!0)})}),i=()=>{e==null||e()};return i.then=(r,o)=>t.then(r,o),i.promise=t,i}var VZe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{let{children:e,prefixCls:t}=n;const i=Ls(t),[r,o,s]=Hie(t,i);return r(S.createElement(Vie,{classNames:{list:Te(o,s,i)}},e))},OZe=(n,e)=>{let{prefixCls:t,key:i}=e;return S.createElement(PZe,{prefixCls:t,key:i},n)},BZe=S.forwardRef((n,e)=>{const{top:t,prefixCls:i,getContainer:r,maxCount:o,duration:s=XZe,rtl:a,transitionName:l,onAllRemoved:u}=n,{getPrefixCls:c,getPopupContainer:d,message:h,direction:m}=S.useContext(Wn),f=i||c("message"),g=()=>({left:"50%",transform:"translateX(-50%)",top:t??GZe}),b=()=>Te({[`${f}-rtl`]:a??m==="rtl"}),y=()=>AZe(f,l),C=S.createElement("span",{className:`${f}-close-x`},S.createElement(lb,{className:`${f}-close-icon`})),[w,x]=Bie({prefixCls:f,style:g,className:b,motion:y,closable:!1,closeIcon:C,duration:s,getContainer:()=>(r==null?void 0:r())||(d==null?void 0:d())||document.body,maxCount:o,onAllRemoved:u,renderNotifications:OZe});return S.useImperativeHandle(e,()=>Object.assign(Object.assign({},w),{prefixCls:f,message:h})),x});let Uie=0;function Kie(n){const e=S.useRef(null);return jC(),[S.useMemo(()=>{const i=l=>{var u;(u=e.current)===null||u===void 0||u.close(l)},r=l=>{if(!e.current){const I=()=>{};return I.then=()=>{},I}const{open:u,prefixCls:c,message:d}=e.current,h=`${c}-notice`,{content:m,icon:f,type:g,key:b,className:y,style:C,onClose:w}=l,x=VZe(l,["content","icon","type","key","className","style","onClose"]);let L=b;return L==null&&(Uie+=1,L=`antd-message-${Uie}`),R4(I=>(u(Object.assign(Object.assign({},x),{key:L,content:S.createElement(Yie,{prefixCls:c,type:g,icon:f},m),placement:"top",className:Te(g&&`${h}-${g}`,y,d==null?void 0:d.className),style:Object.assign(Object.assign({},d==null?void 0:d.style),C),onClose:()=>{w==null||w(),I()}})),()=>{i(L)}))},s={open:r,destroy:l=>{var u;l!==void 0?i(l):(u=e.current)===null||u===void 0||u.destroy()}};return["info","success","warning","error","loading"].forEach(l=>{const u=(c,d,h)=>{let m;c&&typeof c=="object"&&"content"in c?m=c:m={content:c};let f,g;typeof d=="function"?g=d:(f=d,g=h);const b=Object.assign(Object.assign({onClose:g,duration:f},m),{type:l});return r(b)};s[l]=u}),s},[]),S.createElement(BZe,Object.assign({key:"message-holder"},n,{ref:e}))]}function zZe(n){return Kie(n)}function HZe(){const[n,e]=S.useState([]),t=S.useCallback(i=>(e(r=>[].concat(Lt(r),[i])),()=>{e(r=>r.filter(o=>o!==i))}),[]);return[n,t]}function Oa(){Oa=function(){return e};var n,e={},t=Object.prototype,i=t.hasOwnProperty,r=Object.defineProperty||function(O,B,P){O[B]=P.value},o=typeof Symbol=="function"?Symbol:{},s=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",l=o.toStringTag||"@@toStringTag";function u(O,B,P){return Object.defineProperty(O,B,{value:P,enumerable:!0,configurable:!0,writable:!0}),O[B]}try{u({},"")}catch{u=function(P,H,M){return P[H]=M}}function c(O,B,P,H){var M=B&&B.prototype instanceof y?B:y,X=Object.create(M.prototype),Y=new V(H||[]);return r(X,"_invoke",{value:R(O,P,Y)}),X}function d(O,B,P){try{return{type:"normal",arg:O.call(B,P)}}catch(H){return{type:"throw",arg:H}}}e.wrap=c;var h="suspendedStart",m="suspendedYield",f="executing",g="completed",b={};function y(){}function C(){}function w(){}var x={};u(x,s,function(){return this});var L=Object.getPrototypeOf,I=L&&L(L(z([])));I&&I!==t&&i.call(I,s)&&(x=I);var D=w.prototype=y.prototype=Object.create(x);function N(O){["next","throw","return"].forEach(function(B){u(O,B,function(P){return this._invoke(B,P)})})}function T(O,B){function P(M,X,Y,A){var te=d(O[M],O,X);if(te.type!=="throw"){var oe=te.arg,ae=oe.value;return ae&&Xn(ae)=="object"&&i.call(ae,"__await")?B.resolve(ae.__await).then(function(le){P("next",le,Y,A)},function(le){P("throw",le,Y,A)}):B.resolve(ae).then(function(le){oe.value=le,Y(oe)},function(le){return P("throw",le,Y,A)})}A(te.arg)}var H;r(this,"_invoke",{value:function(X,Y){function A(){return new B(function(te,oe){P(X,Y,te,oe)})}return H=H?H.then(A,A):A()}})}function R(O,B,P){var H=h;return function(M,X){if(H===f)throw Error("Generator is already running");if(H===g){if(M==="throw")throw X;return{value:n,done:!0}}for(P.method=M,P.arg=X;;){var Y=P.delegate;if(Y){var A=E(Y,P);if(A){if(A===b)continue;return A}}if(P.method==="next")P.sent=P._sent=P.arg;else if(P.method==="throw"){if(H===h)throw H=g,P.arg;P.dispatchException(P.arg)}else P.method==="return"&&P.abrupt("return",P.arg);H=f;var te=d(O,B,P);if(te.type==="normal"){if(H=P.done?g:m,te.arg===b)continue;return{value:te.arg,done:P.done}}te.type==="throw"&&(H=g,P.method="throw",P.arg=te.arg)}}}function E(O,B){var P=B.method,H=O.iterator[P];if(H===n)return B.delegate=null,P==="throw"&&O.iterator.return&&(B.method="return",B.arg=n,E(O,B),B.method==="throw")||P!=="return"&&(B.method="throw",B.arg=new TypeError("The iterator does not provide a '"+P+"' method")),b;var M=d(H,O.iterator,B.arg);if(M.type==="throw")return B.method="throw",B.arg=M.arg,B.delegate=null,b;var X=M.arg;return X?X.done?(B[O.resultName]=X.value,B.next=O.nextLoc,B.method!=="return"&&(B.method="next",B.arg=n),B.delegate=null,b):X:(B.method="throw",B.arg=new TypeError("iterator result is not an object"),B.delegate=null,b)}function W(O){var B={tryLoc:O[0]};1 in O&&(B.catchLoc=O[1]),2 in O&&(B.finallyLoc=O[2],B.afterLoc=O[3]),this.tryEntries.push(B)}function Z(O){var B=O.completion||{};B.type="normal",delete B.arg,O.completion=B}function V(O){this.tryEntries=[{tryLoc:"root"}],O.forEach(W,this),this.reset(!0)}function z(O){if(O||O===""){var B=O[s];if(B)return B.call(O);if(typeof O.next=="function")return O;if(!isNaN(O.length)){var P=-1,H=function M(){for(;++P=0;--M){var X=this.tryEntries[M],Y=X.completion;if(X.tryLoc==="root")return H("end");if(X.tryLoc<=this.prev){var A=i.call(X,"catchLoc"),te=i.call(X,"finallyLoc");if(A&&te){if(this.prev=0;--H){var M=this.tryEntries[H];if(M.tryLoc<=this.prev&&i.call(M,"finallyLoc")&&this.prev=0;--P){var H=this.tryEntries[P];if(H.finallyLoc===B)return this.complete(H.completion,H.afterLoc),Z(H),b}},catch:function(B){for(var P=this.tryEntries.length-1;P>=0;--P){var H=this.tryEntries[P];if(H.tryLoc===B){var M=H.completion;if(M.type==="throw"){var X=M.arg;Z(H)}return X}}throw Error("illegal catch attempt")},delegateYield:function(B,P,H){return this.delegate={iterator:z(B),resultName:P,nextLoc:H},this.method==="next"&&(this.arg=n),b}},e}function Jie(n,e,t,i,r,o,s){try{var a=n[o](s),l=a.value}catch(u){t(u);return}a.done?e(l):Promise.resolve(l).then(i,r)}function ub(n){return function(){var e=this,t=arguments;return new Promise(function(i,r){var o=n.apply(e,t);function s(l){Jie(o,i,r,s,a,"next",l)}function a(l){Jie(o,i,r,s,a,"throw",l)}s(void 0)})}}var K_=xe({},Fte),YZe=K_.version,UZe=K_.render,KZe=K_.unmountComponentAtNode,DT;try{var JZe=Number((YZe||"").split(".")[0]);JZe>=18&&(DT=K_.createRoot)}catch{}function jie(n){var e=K_.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;e&&Xn(e)==="object"&&(e.usingClientEntryPoint=n)}var NT="__rc_react_root__";function jZe(n,e){jie(!0);var t=e[NT]||DT(e);jie(!1),t.render(n),e[NT]=t}function QZe(n,e){UZe(n,e)}function MT(n,e){if(DT){jZe(n,e);return}QZe(n,e)}function $Ze(n){return Z4.apply(this,arguments)}function Z4(){return Z4=ub(Oa().mark(function n(e){return Oa().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.abrupt("return",Promise.resolve().then(function(){var r;(r=e[NT])===null||r===void 0||r.unmount(),delete e[NT]}));case 1:case"end":return i.stop()}},n)})),Z4.apply(this,arguments)}function qZe(n){KZe(n)}function Qie(n){return W4.apply(this,arguments)}function W4(){return W4=ub(Oa().mark(function n(e){return Oa().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(DT===void 0){i.next=2;break}return i.abrupt("return",$Ze(e));case 2:qZe(e);case 3:case"end":return i.stop()}},n)})),W4.apply(this,arguments)}const A4=()=>({height:0,opacity:0}),$ie=n=>{const{scrollHeight:e}=n;return{height:e,opacity:1}},eWe=n=>({height:n?n.offsetHeight:0}),V4=(n,e)=>(e==null?void 0:e.deadline)===!0||e.propertyName==="height",kT=function(){return{motionName:`${arguments.length>0&&arguments[0]!==void 0?arguments[0]:"ant"}-motion-collapse`,onAppearStart:A4,onEnterStart:A4,onAppearActive:$ie,onEnterActive:$ie,onLeaveStart:eWe,onLeaveActive:A4,onAppearEnd:V4,onEnterEnd:V4,onLeaveEnd:V4,motionDeadline:500}},cb=(n,e,t)=>t!==void 0?t:`${n}-${e}`,J_=function(n){if(!n)return!1;if(n instanceof Element){if(n.offsetParent)return!0;if(n.getBBox){var e=n.getBBox(),t=e.width,i=e.height;if(t||i)return!0}if(n.getBoundingClientRect){var r=n.getBoundingClientRect(),o=r.width,s=r.height;if(o||s)return!0}}return!1},tWe=n=>{const{componentCls:e,colorPrimary:t}=n;return{[e]:{position:"absolute",background:"transparent",pointerEvents:"none",boxSizing:"border-box",color:`var(--wave-color, ${t})`,boxShadow:"0 0 0 0 currentcolor",opacity:.2,"&.wave-motion-appear":{transition:[`box-shadow 0.4s ${n.motionEaseOutCirc}`,`opacity 2s ${n.motionEaseOutCirc}`].join(","),"&-active":{boxShadow:"0 0 0 6px currentcolor",opacity:0},"&.wave-quick":{transition:[`box-shadow ${n.motionDurationSlow} ${n.motionEaseInOut}`,`opacity ${n.motionDurationSlow} ${n.motionEaseInOut}`].join(",")}}}}},nWe=C4("Wave",n=>[tWe(n)]),G4="ant-wave-target";function iWe(n){const e=(n||"").match(/rgba?\((\d*), (\d*), (\d*)(, [\d.]*)?\)/);return e&&e[1]&&e[2]&&e[3]?!(e[1]===e[2]&&e[2]===e[3]):!0}function X4(n){return n&&n!=="#fff"&&n!=="#ffffff"&&n!=="rgb(255, 255, 255)"&&n!=="rgba(255, 255, 255, 1)"&&iWe(n)&&!/rgba\((?:\d*, ){3}0\)/.test(n)&&n!=="transparent"}function rWe(n){const{borderTopColor:e,borderColor:t,backgroundColor:i}=getComputedStyle(n);return X4(e)?e:X4(t)?t:X4(i)?i:null}function P4(n){return Number.isNaN(n)?0:n}const oWe=n=>{const{className:e,target:t,component:i}=n,r=S.useRef(null),[o,s]=S.useState(null),[a,l]=S.useState([]),[u,c]=S.useState(0),[d,h]=S.useState(0),[m,f]=S.useState(0),[g,b]=S.useState(0),[y,C]=S.useState(!1),w={left:u,top:d,width:m,height:g,borderRadius:a.map(I=>`${I}px`).join(" ")};o&&(w["--wave-color"]=o);function x(){const I=getComputedStyle(t);s(rWe(t));const D=I.position==="static",{borderLeftWidth:N,borderTopWidth:T}=I;c(D?t.offsetLeft:P4(-parseFloat(N))),h(D?t.offsetTop:P4(-parseFloat(T))),f(t.offsetWidth),b(t.offsetHeight);const{borderTopLeftRadius:R,borderTopRightRadius:E,borderBottomLeftRadius:W,borderBottomRightRadius:Z}=I;l([R,E,Z,W].map(V=>P4(parseFloat(V))))}if(S.useEffect(()=>{if(t){const I=xi(()=>{x(),C(!0)});let D;return typeof ResizeObserver<"u"&&(D=new ResizeObserver(x),D.observe(t)),()=>{xi.cancel(I),D==null||D.disconnect()}}},[]),!y)return null;const L=(i==="Checkbox"||i==="Radio")&&(t==null?void 0:t.classList.contains(G4));return S.createElement(ld,{visible:!0,motionAppear:!0,motionName:"wave-motion",motionDeadline:5e3,onAppearEnd:(I,D)=>{var N;if(D.deadline||D.propertyName==="opacity"){const T=(N=r.current)===null||N===void 0?void 0:N.parentElement;Qie(T).then(()=>{T==null||T.remove()})}return!1}},I=>{let{className:D}=I;return S.createElement("div",{ref:r,className:Te(e,{"wave-quick":L},D),style:w})})},sWe=(n,e)=>{var t;const{component:i}=e;if(i==="Checkbox"&&!(!((t=n.querySelector("input"))===null||t===void 0)&&t.checked))return;const r=document.createElement("div");r.style.position="absolute",r.style.left="0px",r.style.top="0px",n==null||n.insertBefore(r,n==null?void 0:n.firstChild),MT(S.createElement(oWe,Object.assign({},e,{target:n})),r)},aWe=(n,e,t)=>{const{wave:i}=S.useContext(Wn),[,r,o]=Pa(),s=Qi(u=>{const c=n.current;if(i!=null&&i.disabled||!c)return;const d=c.querySelector(`.${G4}`)||c,{showEffect:h}=i||{};(h||sWe)(d,{className:e,token:r,component:t,event:u,hashId:o})}),a=S.useRef();return u=>{xi.cancel(a.current),a.current=xi(()=>{s(u)})}},qie=n=>{const{children:e,disabled:t,component:i}=n,{getPrefixCls:r}=S.useContext(Wn),o=S.useRef(null),s=r("wave"),[,a]=nWe(s),l=aWe(o,Te(s,a),i);if(ze.useEffect(()=>{const c=o.current;if(!c||c.nodeType!==1||t)return;const d=h=>{!J_(h.target)||!c.getAttribute||c.getAttribute("disabled")||c.disabled||c.className.includes("disabled")||c.className.includes("-leave")||l(h)};return c.addEventListener("click",d,!0),()=>{c.removeEventListener("click",d,!0)}},[t]),!ze.isValidElement(e))return e??null;const u=jf(e)?Lu(e.ref,o):o;return eu(e,{ref:u})},pc=n=>{const e=ze.useContext(B_);return ze.useMemo(()=>n?typeof n=="string"?n??e:n instanceof Function?n(e):e:e,[n,e])},lWe=n=>{const{componentCls:e}=n;return{[e]:{"&-block":{display:"flex",width:"100%"},"&-vertical":{flexDirection:"column"}}}},uWe=n=>{const{componentCls:e,antCls:t}=n;return{[e]:{display:"inline-flex","&-rtl":{direction:"rtl"},"&-vertical":{flexDirection:"column"},"&-align":{flexDirection:"column","&-center":{alignItems:"center"},"&-start":{alignItems:"flex-start"},"&-end":{alignItems:"flex-end"},"&-baseline":{alignItems:"baseline"}},[`${e}-item:empty`]:{display:"none"},[`${e}-item > ${t}-badge-not-a-wrapper:only-child`]:{display:"block"}}}},cWe=n=>{const{componentCls:e}=n;return{[e]:{"&-gap-row-small":{rowGap:n.spaceGapSmallSize},"&-gap-row-middle":{rowGap:n.spaceGapMiddleSize},"&-gap-row-large":{rowGap:n.spaceGapLargeSize},"&-gap-col-small":{columnGap:n.spaceGapSmallSize},"&-gap-col-middle":{columnGap:n.spaceGapMiddleSize},"&-gap-col-large":{columnGap:n.spaceGapLargeSize}}}},ere=Ho("Space",n=>{const e=Yi(n,{spaceGapSmallSize:n.paddingXS,spaceGapMiddleSize:n.padding,spaceGapLargeSize:n.paddingLG});return[uWe(e),cWe(e),lWe(e)]},()=>({}),{resetStyle:!1});var tre=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const t=S.useContext(TT),i=S.useMemo(()=>{if(!t)return"";const{compactDirection:r,isFirstItem:o,isLastItem:s}=t,a=r==="vertical"?"-vertical-":"-";return Te(`${n}-compact${a}item`,{[`${n}-compact${a}first-item`]:o,[`${n}-compact${a}last-item`]:s,[`${n}-compact${a}item-rtl`]:e==="rtl"})},[n,e,t]);return{compactSize:t==null?void 0:t.compactSize,compactDirection:t==null?void 0:t.compactDirection,compactItemClassnames:i}},ig=n=>{let{children:e}=n;return S.createElement(TT.Provider,{value:null},e)},dWe=n=>{var{children:e}=n,t=tre(n,["children"]);return S.createElement(TT.Provider,{value:t},e)},hWe=n=>{const{getPrefixCls:e,direction:t}=S.useContext(Wn),{size:i,direction:r,block:o,prefixCls:s,className:a,rootClassName:l,children:u}=n,c=tre(n,["size","direction","block","prefixCls","className","rootClassName","children"]),d=pc(w=>i??w),h=e("space-compact",s),[m,f]=ere(h),g=Te(h,f,{[`${h}-rtl`]:t==="rtl",[`${h}-block`]:o,[`${h}-vertical`]:r==="vertical"},a,l),b=S.useContext(TT),y=sd(u),C=S.useMemo(()=>y.map((w,x)=>{const L=w&&w.key||`${h}-item-${x}`;return S.createElement(dWe,{key:L,compactSize:d,compactDirection:r,isFirstItem:x===0&&(!b||(b==null?void 0:b.isFirstItem)),isLastItem:x===y.length-1&&(!b||(b==null?void 0:b.isLastItem))},w)}),[i,y,b]);return y.length===0?null:m(S.createElement("div",Object.assign({className:g},c),C))};var mWe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const{getPrefixCls:e,direction:t}=S.useContext(Wn),{prefixCls:i,size:r,className:o}=n,s=mWe(n,["prefixCls","size","className"]),a=e("btn-group",i),[,,l]=Pa();let u="";switch(r){case"large":u="lg";break;case"small":u="sm";break}const c=Te(a,{[`${a}-${u}`]:u,[`${a}-rtl`]:t==="rtl"},o,l);return S.createElement(nre.Provider,{value:r},S.createElement("div",Object.assign({},s,{className:c})))},ire=/^[\u4e00-\u9fa5]{2}$/,O4=ire.test.bind(ire);function rre(n){return n==="danger"?{danger:!0}:{type:n}}function ore(n){return typeof n=="string"}function B4(n){return n==="text"||n==="link"}function gWe(n,e){if(n==null)return;const t=e?" ":"";return typeof n!="string"&&typeof n!="number"&&ore(n.type)&&O4(n.props.children)?eu(n,{children:n.props.children.split("").join(t)}):ore(n)?O4(n)?ze.createElement("span",null,n.split("").join(t)):ze.createElement("span",null,n):Eie(n)?ze.createElement("span",null,n):n}function pWe(n,e){let t=!1;const i=[];return ze.Children.forEach(n,r=>{const o=typeof r,s=o==="string"||o==="number";if(t&&s){const a=i.length-1,l=i[a];i[a]=`${l}${r}`}else i.push(r);t=s}),ze.Children.map(i,r=>gWe(r,e))}const sre=S.forwardRef((n,e)=>{const{className:t,style:i,children:r,prefixCls:o}=n,s=Te(`${o}-icon`,t);return ze.createElement("span",{ref:e,className:s,style:i},r)}),are=S.forwardRef((n,e)=>{let{prefixCls:t,className:i,style:r,iconClassName:o}=n;const s=Te(`${t}-loading-icon`,i);return ze.createElement(sre,{prefixCls:t,className:s,style:r,ref:e},ze.createElement(iS,{className:o}))}),z4=()=>({width:0,opacity:0,transform:"scale(0)"}),H4=n=>({width:n.scrollWidth,opacity:1,transform:"scale(1)"}),bWe=n=>{const{prefixCls:e,loading:t,existIcon:i,className:r,style:o}=n,s=!!t;return i?ze.createElement(are,{prefixCls:e,className:r,style:o}):ze.createElement(ld,{visible:s,motionName:`${e}-loading-icon-motion`,motionLeave:s,removeOnLeave:!0,onAppearStart:z4,onAppearActive:H4,onEnterStart:z4,onEnterActive:H4,onLeaveStart:H4,onLeaveActive:z4},(a,l)=>{let{className:u,style:c}=a;return ze.createElement(are,{prefixCls:e,className:r,style:Object.assign(Object.assign({},o),c),ref:l,iconClassName:u})})},lre=(n,e)=>({[`> span, > ${n}`]:{"&:not(:last-child)":{[`&, & > ${n}`]:{"&:not(:disabled)":{borderInlineEndColor:e}}},"&:not(:first-child)":{[`&, & > ${n}`]:{"&:not(:disabled)":{borderInlineStartColor:e}}}}}),yWe=n=>{const{componentCls:e,fontSize:t,lineWidth:i,groupBorderColor:r,colorErrorHover:o}=n;return{[`${e}-group`]:[{position:"relative",display:"inline-flex",[`> span, > ${e}`]:{"&:not(:last-child)":{[`&, & > ${e}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},"&:not(:first-child)":{marginInlineStart:n.calc(i).mul(-1).equal(),[`&, & > ${e}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}},[e]:{position:"relative",zIndex:1,"&:hover,\n &:focus,\n &:active":{zIndex:2},"&[disabled]":{zIndex:0}},[`${e}-icon-only`]:{fontSize:t}},lre(`${e}-primary`,r),lre(`${e}-danger`,o)]}},ure=n=>{const{paddingInline:e,onlyIconSize:t,paddingBlock:i}=n;return Yi(n,{buttonPaddingHorizontal:e,buttonPaddingVertical:i,buttonIconOnlyFontSize:t})},cre=n=>{var e,t,i,r,o,s;const a=(e=n.contentFontSize)!==null&&e!==void 0?e:n.fontSize,l=(t=n.contentFontSizeSM)!==null&&t!==void 0?t:n.fontSize,u=(i=n.contentFontSizeLG)!==null&&i!==void 0?i:n.fontSizeLG,c=(r=n.contentLineHeight)!==null&&r!==void 0?r:dT(a),d=(o=n.contentLineHeightSM)!==null&&o!==void 0?o:dT(l),h=(s=n.contentLineHeightLG)!==null&&s!==void 0?s:dT(u);return{fontWeight:400,defaultShadow:`0 ${n.controlOutlineWidth}px 0 ${n.controlTmpOutline}`,primaryShadow:`0 ${n.controlOutlineWidth}px 0 ${n.controlOutline}`,dangerShadow:`0 ${n.controlOutlineWidth}px 0 ${n.colorErrorOutline}`,primaryColor:n.colorTextLightSolid,dangerColor:n.colorTextLightSolid,borderColorDisabled:n.colorBorder,defaultGhostColor:n.colorBgContainer,ghostBg:"transparent",defaultGhostBorderColor:n.colorBgContainer,paddingInline:n.paddingContentHorizontal-n.lineWidth,paddingInlineLG:n.paddingContentHorizontal-n.lineWidth,paddingInlineSM:8-n.lineWidth,onlyIconSize:n.fontSizeLG,onlyIconSizeSM:n.fontSizeLG-2,onlyIconSizeLG:n.fontSizeLG+2,groupBorderColor:n.colorPrimaryHover,linkHoverBg:"transparent",textHoverBg:n.colorBgTextHover,defaultColor:n.colorText,defaultBg:n.colorBgContainer,defaultBorderColor:n.colorBorder,defaultBorderColorDisabled:n.colorBorder,defaultHoverBg:n.colorBgContainer,defaultHoverColor:n.colorPrimaryHover,defaultHoverBorderColor:n.colorPrimaryHover,defaultActiveBg:n.colorBgContainer,defaultActiveColor:n.colorPrimaryActive,defaultActiveBorderColor:n.colorPrimaryActive,contentFontSize:a,contentFontSizeSM:l,contentFontSizeLG:u,contentLineHeight:c,contentLineHeightSM:d,contentLineHeightLG:h,paddingBlock:Math.max((n.controlHeight-a*c)/2-n.lineWidth,0),paddingBlockSM:Math.max((n.controlHeightSM-l*d)/2-n.lineWidth,0),paddingBlockLG:Math.max((n.controlHeightLG-u*h)/2-n.lineWidth,0)}},vWe=n=>{const{componentCls:e,iconCls:t,fontWeight:i}=n;return{[e]:{outline:"none",position:"relative",display:"inline-block",fontWeight:i,whiteSpace:"nowrap",textAlign:"center",backgroundImage:"none",background:"transparent",border:`${Ee(n.lineWidth)} ${n.lineType} transparent`,cursor:"pointer",transition:`all ${n.motionDurationMid} ${n.motionEaseInOut}`,userSelect:"none",touchAction:"manipulation",color:n.colorText,"&:disabled > *":{pointerEvents:"none"},"> span":{display:"inline-block"},[`${e}-icon`]:{lineHeight:0},[`> ${t} + span, > span + ${t}`]:{marginInlineStart:n.marginXS},[`&:not(${e}-icon-only) > ${e}-icon`]:{[`&${e}-loading-icon, &:not(:last-child)`]:{marginInlineEnd:n.marginXS}},"> a":{color:"currentColor"},"&:not(:disabled)":Object.assign({},$1(n)),[`&${e}-two-chinese-chars::first-letter`]:{letterSpacing:"0.34em"},[`&${e}-two-chinese-chars > *:not(${t})`]:{marginInlineEnd:"-0.34em",letterSpacing:"0.34em"},[`&-icon-only${e}-compact-item`]:{flex:"none"}}}},rg=(n,e,t)=>({[`&:not(:disabled):not(${n}-disabled)`]:{"&:hover":e,"&:active":t}}),CWe=n=>({minWidth:n.controlHeight,paddingInlineStart:0,paddingInlineEnd:0,borderRadius:"50%"}),SWe=n=>({borderRadius:n.controlHeight,paddingInlineStart:n.calc(n.controlHeight).div(2).equal(),paddingInlineEnd:n.calc(n.controlHeight).div(2).equal()}),wWe=n=>({cursor:"not-allowed",borderColor:n.borderColorDisabled,color:n.colorTextDisabled,background:n.colorBgContainerDisabled,boxShadow:"none"}),j_=(n,e,t,i,r,o,s,a)=>({[`&${n}-background-ghost`]:Object.assign(Object.assign({color:t||void 0,background:e,borderColor:i||void 0,boxShadow:"none"},rg(n,Object.assign({background:e},s),Object.assign({background:e},a))),{"&:disabled":{cursor:"not-allowed",color:r||void 0,borderColor:o||void 0}})}),Y4=n=>({[`&:disabled, &${n.componentCls}-disabled`]:Object.assign({},wWe(n))}),dre=n=>Object.assign({},Y4(n)),ET=n=>({[`&:disabled, &${n.componentCls}-disabled`]:{cursor:"not-allowed",color:n.colorTextDisabled}}),hre=n=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},dre(n)),{background:n.defaultBg,borderColor:n.defaultBorderColor,color:n.defaultColor,boxShadow:n.defaultShadow}),rg(n.componentCls,{color:n.defaultHoverColor,borderColor:n.defaultHoverBorderColor,background:n.defaultHoverBg},{color:n.defaultActiveColor,borderColor:n.defaultActiveBorderColor,background:n.defaultActiveBg})),j_(n.componentCls,n.ghostBg,n.defaultGhostColor,n.defaultGhostBorderColor,n.colorTextDisabled,n.colorBorder)),{[`&${n.componentCls}-dangerous`]:Object.assign(Object.assign(Object.assign({color:n.colorError,borderColor:n.colorError},rg(n.componentCls,{color:n.colorErrorHover,borderColor:n.colorErrorBorderHover},{color:n.colorErrorActive,borderColor:n.colorErrorActive})),j_(n.componentCls,n.ghostBg,n.colorError,n.colorError,n.colorTextDisabled,n.colorBorder)),Y4(n))}),xWe=n=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},dre(n)),{color:n.primaryColor,background:n.colorPrimary,boxShadow:n.primaryShadow}),rg(n.componentCls,{color:n.colorTextLightSolid,background:n.colorPrimaryHover},{color:n.colorTextLightSolid,background:n.colorPrimaryActive})),j_(n.componentCls,n.ghostBg,n.colorPrimary,n.colorPrimary,n.colorTextDisabled,n.colorBorder,{color:n.colorPrimaryHover,borderColor:n.colorPrimaryHover},{color:n.colorPrimaryActive,borderColor:n.colorPrimaryActive})),{[`&${n.componentCls}-dangerous`]:Object.assign(Object.assign(Object.assign({background:n.colorError,boxShadow:n.dangerShadow,color:n.dangerColor},rg(n.componentCls,{background:n.colorErrorHover},{background:n.colorErrorActive})),j_(n.componentCls,n.ghostBg,n.colorError,n.colorError,n.colorTextDisabled,n.colorBorder,{color:n.colorErrorHover,borderColor:n.colorErrorHover},{color:n.colorErrorActive,borderColor:n.colorErrorActive})),Y4(n))}),_We=n=>Object.assign(Object.assign({},hre(n)),{borderStyle:"dashed"}),LWe=n=>Object.assign(Object.assign(Object.assign({color:n.colorLink},rg(n.componentCls,{color:n.colorLinkHover,background:n.linkHoverBg},{color:n.colorLinkActive})),ET(n)),{[`&${n.componentCls}-dangerous`]:Object.assign(Object.assign({color:n.colorError},rg(n.componentCls,{color:n.colorErrorHover},{color:n.colorErrorActive})),ET(n))}),IWe=n=>Object.assign(Object.assign(Object.assign({},rg(n.componentCls,{color:n.colorText,background:n.textHoverBg},{color:n.colorText,background:n.colorBgTextActive})),ET(n)),{[`&${n.componentCls}-dangerous`]:Object.assign(Object.assign({color:n.colorError},ET(n)),rg(n.componentCls,{color:n.colorErrorHover,background:n.colorErrorBg},{color:n.colorErrorHover,background:n.colorErrorBg}))}),FWe=n=>{const{componentCls:e}=n;return{[`${e}-default`]:hre(n),[`${e}-primary`]:xWe(n),[`${e}-dashed`]:_We(n),[`${e}-link`]:LWe(n),[`${e}-text`]:IWe(n),[`${e}-ghost`]:j_(n.componentCls,n.ghostBg,n.colorBgContainer,n.colorBgContainer,n.colorTextDisabled,n.colorBorder)}},U4=function(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const{componentCls:t,controlHeight:i,fontSize:r,lineHeight:o,borderRadius:s,buttonPaddingHorizontal:a,iconCls:l,buttonPaddingVertical:u}=n,c=`${t}-icon-only`;return[{[`${e}`]:{fontSize:r,lineHeight:o,height:i,padding:`${Ee(u)} ${Ee(a)}`,borderRadius:s,[`&${c}`]:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:i,paddingInlineStart:0,paddingInlineEnd:0,[`&${t}-round`]:{width:"auto"},[l]:{fontSize:n.buttonIconOnlyFontSize}},[`&${t}-loading`]:{opacity:n.opacityLoading,cursor:"default"},[`${t}-loading-icon`]:{transition:`width ${n.motionDurationSlow} ${n.motionEaseInOut}, opacity ${n.motionDurationSlow} ${n.motionEaseInOut}`}}},{[`${t}${t}-circle${e}`]:CWe(n)},{[`${t}${t}-round${e}`]:SWe(n)}]},DWe=n=>{const e=Yi(n,{fontSize:n.contentFontSize,lineHeight:n.contentLineHeight});return U4(e,n.componentCls)},NWe=n=>{const e=Yi(n,{controlHeight:n.controlHeightSM,fontSize:n.contentFontSizeSM,lineHeight:n.contentLineHeightSM,padding:n.paddingXS,buttonPaddingHorizontal:n.paddingInlineSM,buttonPaddingVertical:n.paddingBlockSM,borderRadius:n.borderRadiusSM,buttonIconOnlyFontSize:n.onlyIconSizeSM});return U4(e,`${n.componentCls}-sm`)},MWe=n=>{const e=Yi(n,{controlHeight:n.controlHeightLG,fontSize:n.contentFontSizeLG,lineHeight:n.contentLineHeightLG,buttonPaddingHorizontal:n.paddingInlineLG,buttonPaddingVertical:n.paddingBlockLG,borderRadius:n.borderRadiusLG,buttonIconOnlyFontSize:n.onlyIconSizeLG});return U4(e,`${n.componentCls}-lg`)},kWe=n=>{const{componentCls:e}=n;return{[e]:{[`&${e}-block`]:{width:"100%"}}}},TWe=Ho("Button",n=>{const e=ure(n);return[vWe(e),DWe(e),NWe(e),MWe(e),kWe(e),FWe(e),yWe(e)]},cre,{unitless:{fontWeight:!0,contentLineHeight:!0,contentLineHeightSM:!0,contentLineHeightLG:!0}});function EWe(n,e,t){const{focusElCls:i,focus:r,borderElCls:o}=t,s=o?"> *":"",a=["hover",r?"focus":null,"active"].filter(Boolean).map(l=>`&:${l} ${s}`).join(",");return{[`&-item:not(${e}-last-item)`]:{marginInlineEnd:n.calc(n.lineWidth).mul(-1).equal()},"&-item":Object.assign(Object.assign({[a]:{zIndex:2}},i?{[`&${i}`]:{zIndex:2}}:{}),{[`&[disabled] ${s}`]:{zIndex:0}})}}function RWe(n,e,t){const{borderElCls:i}=t,r=i?`> ${i}`:"";return{[`&-item:not(${e}-first-item):not(${e}-last-item) ${r}`]:{borderRadius:0},[`&-item:not(${e}-last-item)${e}-first-item`]:{[`& ${r}, &${n}-sm ${r}, &${n}-lg ${r}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&-item:not(${e}-first-item)${e}-last-item`]:{[`& ${r}, &${n}-sm ${r}, &${n}-lg ${r}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}}}function Q_(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{focus:!0};const{componentCls:t}=n,i=`${t}-compact`;return{[i]:Object.assign(Object.assign({},EWe(n,i,e)),RWe(t,i,e))}}function ZWe(n,e){return{[`&-item:not(${e}-last-item)`]:{marginBottom:n.calc(n.lineWidth).mul(-1).equal()},"&-item":{"&:hover,&:focus,&:active":{zIndex:2},"&[disabled]":{zIndex:0}}}}function WWe(n,e){return{[`&-item:not(${e}-first-item):not(${e}-last-item)`]:{borderRadius:0},[`&-item${e}-first-item:not(${e}-last-item)`]:{[`&, &${n}-sm, &${n}-lg`]:{borderEndEndRadius:0,borderEndStartRadius:0}},[`&-item${e}-last-item:not(${e}-first-item)`]:{[`&, &${n}-sm, &${n}-lg`]:{borderStartStartRadius:0,borderStartEndRadius:0}}}}function AWe(n){const e=`${n.componentCls}-compact-vertical`;return{[e]:Object.assign(Object.assign({},ZWe(n,e)),WWe(n.componentCls,e))}}const VWe=n=>{const{componentCls:e,calc:t}=n;return{[e]:{[`&-compact-item${e}-primary`]:{[`&:not([disabled]) + ${e}-compact-item${e}-primary:not([disabled])`]:{position:"relative","&:before":{position:"absolute",top:t(n.lineWidth).mul(-1).equal(),insetInlineStart:t(n.lineWidth).mul(-1).equal(),display:"inline-block",width:n.lineWidth,height:`calc(100% + ${Ee(n.lineWidth)} * 2)`,backgroundColor:n.colorPrimaryHover,content:'""'}}},"&-compact-vertical-item":{[`&${e}-primary`]:{[`&:not([disabled]) + ${e}-compact-vertical-item${e}-primary:not([disabled])`]:{position:"relative","&:before":{position:"absolute",top:t(n.lineWidth).mul(-1).equal(),insetInlineStart:t(n.lineWidth).mul(-1).equal(),display:"inline-block",width:`calc(100% + ${Ee(n.lineWidth)} * 2)`,height:n.lineWidth,backgroundColor:n.colorPrimaryHover,content:'""'}}}}}}},GWe=fT(["Button","compact"],n=>{const e=ure(n);return[Q_(e),AWe(e),VWe(e)]},cre);var XWe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{var t,i;const{loading:r=!1,prefixCls:o,type:s,danger:a,shape:l="default",size:u,styles:c,disabled:d,className:h,rootClassName:m,children:f,icon:g,ghost:b=!1,block:y=!1,htmlType:C="button",classNames:w,style:x={}}=n,L=XWe(n,["loading","prefixCls","type","danger","shape","size","styles","disabled","className","rootClassName","children","icon","ghost","block","htmlType","classNames","style"]),I=s||"default",{getPrefixCls:D,autoInsertSpaceInButton:N,direction:T,button:R}=S.useContext(Wn),E=D("btn",o),[W,Z,V]=TWe(E),z=S.useContext(oh),O=d??z,B=S.useContext(nre),P=S.useMemo(()=>PWe(r),[r]),[H,M]=S.useState(P.loading),[X,Y]=S.useState(!1),te=Lu(e,S.createRef()),oe=S.Children.count(f)===1&&!g&&!B4(I);S.useEffect(()=>{let me=null;P.delay>0?me=setTimeout(()=>{me=null,M(!0)},P.delay):M(P.loading);function j(){me&&(clearTimeout(me),me=null)}return j},[P]),S.useEffect(()=>{if(!te||!te.current||N===!1)return;const me=te.current.textContent;oe&&O4(me)?X||Y(!0):X&&Y(!1)},[te]);const ae=me=>{const{onClick:j}=n;if(H||O){me.preventDefault();return}j==null||j(me)},le=N!==!1,{compactSize:ue,compactItemClassnames:Ce}=db(E,T),pe={large:"lg",small:"sm",middle:void 0},ce=pc(me=>{var j,$;return($=(j=u??ue)!==null&&j!==void 0?j:B)!==null&&$!==void 0?$:me}),De=ce&&pe[ce]||"",Me=H?"loading":g,ke=la(L,["navigate"]),Ue=Te(E,Z,V,{[`${E}-${l}`]:l!=="default"&&l,[`${E}-${I}`]:I,[`${E}-${De}`]:De,[`${E}-icon-only`]:!f&&f!==0&&!!Me,[`${E}-background-ghost`]:b&&!B4(I),[`${E}-loading`]:H,[`${E}-two-chinese-chars`]:X&&le&&!H,[`${E}-block`]:y,[`${E}-dangerous`]:!!a,[`${E}-rtl`]:T==="rtl"},Ce,h,m,R==null?void 0:R.className),He=Object.assign(Object.assign({},R==null?void 0:R.style),x),ct=Te(w==null?void 0:w.icon,(t=R==null?void 0:R.classNames)===null||t===void 0?void 0:t.icon),yt=Object.assign(Object.assign({},(c==null?void 0:c.icon)||{}),((i=R==null?void 0:R.styles)===null||i===void 0?void 0:i.icon)||{}),it=g&&!H?ze.createElement(sre,{prefixCls:E,className:ct,style:yt},g):ze.createElement(bWe,{existIcon:!!g,prefixCls:E,loading:!!H}),he=f||f===0?pWe(f,oe&&le):null;if(ke.href!==void 0)return W(ze.createElement("a",Object.assign({},ke,{className:Te(Ue,{[`${E}-disabled`]:O}),href:O?void 0:ke.href,style:He,onClick:ae,ref:te,tabIndex:O?-1:0}),it,he));let de=ze.createElement("button",Object.assign({},L,{type:C,className:Ue,style:He,onClick:ae,disabled:O,ref:te}),it,he,!!Ce&&ze.createElement(GWe,{key:"compact",prefixCls:E}));return B4(I)||(de=ze.createElement(qie,{component:"Button",disabled:!!H},de)),W(de)});K4.Group=fWe,K4.__ANT_BUTTON=!0;const jr=K4;function mre(n){return!!(n&&n.then)}const fre=n=>{const{type:e,children:t,prefixCls:i,buttonProps:r,close:o,autoFocus:s,emitEvent:a,isSilent:l,quitOnNullishReturnValue:u,actionFn:c}=n,d=S.useRef(!1),h=S.useRef(null),[m,f]=sb(!1),g=function(){o==null||o.apply(void 0,arguments)};S.useEffect(()=>{let C=null;return s&&(C=setTimeout(()=>{var w;(w=h.current)===null||w===void 0||w.focus()})),()=>{C&&clearTimeout(C)}},[]);const b=C=>{mre(C)&&(f(!0),C.then(function(){f(!1,!0),g.apply(void 0,arguments),d.current=!1},w=>{if(f(!1,!0),d.current=!1,!(l!=null&&l()))return Promise.reject(w)}))},y=C=>{if(d.current)return;if(d.current=!0,!c){g();return}let w;if(a){if(w=c(C),u&&!mre(w)){d.current=!1,g(C);return}}else if(c.length)w=c(o),d.current=!1;else if(w=c(),!w){g();return}b(w)};return S.createElement(jr,Object.assign({},rre(e),{onClick:y,loading:m,prefixCls:i},r,{ref:h}),t)},$_=ze.createContext({}),{Provider:gre}=$_,pre=()=>{const{autoFocusButton:n,cancelButtonProps:e,cancelTextLocale:t,isSilent:i,mergedOkCancel:r,rootPrefixCls:o,close:s,onCancel:a,onConfirm:l}=S.useContext($_);return r?ze.createElement(fre,{isSilent:i,actionFn:a,close:function(){s==null||s.apply(void 0,arguments),l==null||l(!1)},autoFocus:n==="cancel",buttonProps:e,prefixCls:`${o}-btn`},t):null},bre=()=>{const{autoFocusButton:n,close:e,isSilent:t,okButtonProps:i,rootPrefixCls:r,okTextLocale:o,okType:s,onConfirm:a,onOk:l}=S.useContext($_);return ze.createElement(fre,{isSilent:t,type:s||"primary",actionFn:l,close:function(){e==null||e.apply(void 0,arguments),a==null||a(!0)},autoFocus:n==="ok",buttonProps:i,prefixCls:`${r}-btn`},o)};var yre=S.createContext(null),vre=[];function OWe(n,e){var t=S.useState(function(){if(!Sl())return null;var f=document.createElement("div");return f}),i=we(t,1),r=i[0],o=S.useRef(!1),s=S.useContext(yre),a=S.useState(vre),l=we(a,2),u=l[0],c=l[1],d=s||(o.current?void 0:function(f){c(function(g){var b=[f].concat(Lt(g));return b})});function h(){r.parentElement||document.body.appendChild(r),o.current=!0}function m(){var f;(f=r.parentElement)===null||f===void 0||f.removeChild(r),o.current=!1}return cr(function(){return n?s?s(h):h():m(),m},[n]),cr(function(){u.length&&(u.forEach(function(f){return f()}),c(vre))},[u]),[r,d]}function BWe(n){var e="rc-scrollbar-measure-".concat(Math.random().toString(36).substring(7)),t=document.createElement("div");t.id=e;var i=t.style;i.position="absolute",i.left="0",i.top="0",i.width="100px",i.height="100px",i.overflow="scroll";var r,o;if(n){var s=getComputedStyle(n);i.scrollbarColor=s.scrollbarColor,i.scrollbarWidth=s.scrollbarWidth;var a=getComputedStyle(n,"::-webkit-scrollbar"),l=parseInt(a.width,10),u=parseInt(a.height,10);try{var c=l?"width: ".concat(a.width,";"):"",d=u?"height: ".concat(a.height,";"):"";$f(` #`.concat(e,`::-webkit-scrollbar { `).concat(c,` `).concat(d,` -}`),e)}catch{r=l,o=u}}document.body.appendChild(t);var h=n&&r&&!isNaN(r)?r:t.offsetWidth-t.clientWidth,m=n&&o&&!isNaN(o)?o:t.offsetHeight-t.clientHeight;return document.body.removeChild(t),WL(e),{width:h,height:m}}function zRe(n){return typeof document>"u"||!n||!(n instanceof Element)?{width:0,height:0}:BRe(n)}function HRe(){return document.body.scrollHeight>(window.innerHeight||document.documentElement.clientHeight)&&window.innerWidth>document.body.offsetWidth}var YRe="rc-util-locker-".concat(Date.now()),Cre=0;function URe(n){var e=!!n,t=w.useState(function(){return Cre+=1,"".concat(YRe,"_").concat(Cre)}),i=Se(t,1),r=i[0];dr(function(){if(e){var o=zRe(document.body).width,s=HRe();$f(` +}`),e)}catch{r=l,o=u}}document.body.appendChild(t);var h=n&&r&&!isNaN(r)?r:t.offsetWidth-t.clientWidth,m=n&&o&&!isNaN(o)?o:t.offsetHeight-t.clientHeight;return document.body.removeChild(t),Z_(e),{width:h,height:m}}function zWe(n){return typeof document>"u"||!n||!(n instanceof Element)?{width:0,height:0}:BWe(n)}function HWe(){return document.body.scrollHeight>(window.innerHeight||document.documentElement.clientHeight)&&window.innerWidth>document.body.offsetWidth}var YWe="rc-util-locker-".concat(Date.now()),Cre=0;function UWe(n){var e=!!n,t=S.useState(function(){return Cre+=1,"".concat(YWe,"_").concat(Cre)}),i=we(t,1),r=i[0];cr(function(){if(e){var o=zWe(document.body).width,s=HWe();$f(` html body { overflow-y: hidden; `.concat(s?"width: calc(100% - ".concat(o,"px);"):"",` -}`),r)}else WL(r);return function(){WL(r)}},[e,r])}var wre=!1;function KRe(n){return typeof n=="boolean"&&(wre=n),wre}var Sre=function(e){return e===!1?!1:!wl()||!e?null:typeof e=="string"?document.querySelector(e):typeof e=="function"?e():e},J4=w.forwardRef(function(n,e){var t=n.open,i=n.autoLock,r=n.getContainer;n.debug;var o=n.autoDestroy,s=o===void 0?!0:o,a=n.children,l=w.useState(t),u=Se(l,2),c=u[0],d=u[1],h=c||t;w.useEffect(function(){(s||t)&&d(t)},[t,s]);var m=w.useState(function(){return Sre(r)}),f=Se(m,2),g=f[0],b=f[1];w.useEffect(function(){var E=Sre(r);b(E??null)});var v=ORe(h&&!g),C=Se(v,2),S=C[0],x=C[1],_=g??S;URe(i&&t&&wl()&&(_===S||_===document.body));var F=null;if(a&&jf(a)&&e){var D=a;F=D.ref}var M=tb(F,e);if(!h||!wl()||g===void 0)return null;var T=_===!1||KRe(),Z=a;return e&&(Z=w.cloneElement(a,{ref:M})),w.createElement(vre.Provider,{value:x},T?Z:th.createPortal(Z,_))}),xre=w.createContext({});function JRe(){var n=xe({},z1);return n.useId}var Lre=0,_re=JRe();const Fre=_re?function(e){var t=_re();return e||t}:function(e){var t=w.useState("ssr-id"),i=Se(t,2),r=i[0],o=i[1];return w.useEffect(function(){var s=Lre;Lre+=1,o("rc_unique_".concat(s))},[]),e||r};function Ire(n,e,t){var i=e;return!i&&t&&(i="".concat(n,"-").concat(t)),i}function Dre(n,e){var t=n["page".concat(e?"Y":"X","Offset")],i="scroll".concat(e?"Top":"Left");if(typeof t!="number"){var r=n.document;t=r.documentElement[i],typeof t!="number"&&(t=r.body[i])}return t}function jRe(n){var e=n.getBoundingClientRect(),t={left:e.left,top:e.top},i=n.ownerDocument,r=i.defaultView||i.parentWindow;return t.left+=Dre(r),t.top+=Dre(r,!0),t}const QRe=w.memo(function(n){var e=n.children;return e},function(n,e){var t=e.shouldUpdate;return!t});var Mre={width:0,height:0,overflow:"hidden",outline:"none"},$Re={outline:"none"},kre=ze.forwardRef(function(n,e){var t=n.prefixCls,i=n.className,r=n.style,o=n.title,s=n.ariaId,a=n.footer,l=n.closable,u=n.closeIcon,c=n.onClose,d=n.children,h=n.bodyStyle,m=n.bodyProps,f=n.modalRender,g=n.onMouseDown,b=n.onMouseUp,v=n.holderRef,C=n.visible,S=n.forceRender,x=n.width,_=n.height,F=n.classNames,D=n.styles,M=ze.useContext(xre),T=M.panel,Z=tb(v,T),E=w.useRef(),R=w.useRef(),W=w.useRef();ze.useImperativeHandle(e,function(){return{focus:function(){var Y;(Y=W.current)===null||Y===void 0||Y.focus()},changeActive:function(Y){var V=document,te=V.activeElement;Y&&te===R.current?E.current.focus():!Y&&te===E.current&&R.current.focus()}}});var A={};x!==void 0&&(A.width=x),_!==void 0&&(A.height=_);var z;a&&(z=ze.createElement("div",{className:Te("".concat(t,"-footer"),F==null?void 0:F.footer),style:xe({},D==null?void 0:D.footer)},a));var O;o&&(O=ze.createElement("div",{className:Te("".concat(t,"-header"),F==null?void 0:F.header),style:xe({},D==null?void 0:D.header)},ze.createElement("div",{className:"".concat(t,"-title"),id:s},o)));var B=w.useMemo(function(){return Xn(l)==="object"&&l!==null?l:l?{closeIcon:u??ze.createElement("span",{className:"".concat(t,"-close-x")})}:{}},[l,u]),P=Fu(B,!0),H;l&&(H=ze.createElement("button",pt({type:"button",onClick:c,"aria-label":"Close"},P,{className:"".concat(t,"-close")}),B.closeIcon));var k=ze.createElement("div",{className:Te("".concat(t,"-content"),F==null?void 0:F.content),style:D==null?void 0:D.content},H,O,ze.createElement("div",pt({className:Te("".concat(t,"-body"),F==null?void 0:F.body),style:xe(xe({},h),D==null?void 0:D.body)},m),d),z);return ze.createElement("div",{key:"dialog-element",role:"dialog","aria-labelledby":o?s:null,"aria-modal":"true",ref:Z,style:xe(xe({},r),A),className:Te(t,i),onMouseDown:g,onMouseUp:b},ze.createElement("div",{tabIndex:0,ref:E,style:Mre,"aria-hidden":"true"}),ze.createElement("div",{ref:W,tabIndex:-1,style:$Re},ze.createElement(QRe,{shouldUpdate:C||S},f?f(k):k)),ze.createElement("div",{tabIndex:0,ref:R,style:Mre,"aria-hidden":"true"}))}),Nre=w.forwardRef(function(n,e){var t=n.prefixCls,i=n.title,r=n.style,o=n.className,s=n.visible,a=n.forceRender,l=n.destroyOnClose,u=n.motionName,c=n.ariaId,d=n.onVisibleChanged,h=n.mousePosition,m=w.useRef(),f=w.useState(),g=Se(f,2),b=g[0],v=g[1],C={};b&&(C.transformOrigin=b);function S(){var x=jRe(m.current);v(h?"".concat(h.x-x.left,"px ").concat(h.y-x.top,"px"):"")}return w.createElement(ud,{visible:s,onVisibleChanged:d,onAppearPrepare:S,onEnterPrepare:S,forceRender:a,motionName:u,removeOnLeave:l,ref:m},function(x,_){var F=x.className,D=x.style;return w.createElement(kre,pt({},n,{ref:e,title:i,ariaId:c,prefixCls:t,holderRef:_,style:xe(xe(xe({},D),r),C),className:Te(o,F)}))})});Nre.displayName="Content";function qRe(n){var e=n.prefixCls,t=n.style,i=n.visible,r=n.maskProps,o=n.motionName,s=n.className;return w.createElement(ud,{key:"mask",visible:i,motionName:o,leavedClassName:"".concat(e,"-mask-hidden")},function(a,l){var u=a.className,c=a.style;return w.createElement("div",pt({ref:l,style:xe(xe({},c),t),className:Te("".concat(e,"-mask"),u,s)},r))})}function e3e(n){var e=n.prefixCls,t=e===void 0?"rc-dialog":e,i=n.zIndex,r=n.visible,o=r===void 0?!1:r,s=n.keyboard,a=s===void 0?!0:s,l=n.focusTriggerAfterClose,u=l===void 0?!0:l,c=n.wrapStyle,d=n.wrapClassName,h=n.wrapProps,m=n.onClose,f=n.afterOpenChange,g=n.afterClose,b=n.transitionName,v=n.animation,C=n.closable,S=C===void 0?!0:C,x=n.mask,_=x===void 0?!0:x,F=n.maskTransitionName,D=n.maskAnimation,M=n.maskClosable,T=M===void 0?!0:M,Z=n.maskStyle,E=n.maskProps,R=n.rootClassName,W=n.classNames,A=n.styles,z=w.useRef(),O=w.useRef(),B=w.useRef(),P=w.useState(o),H=Se(P,2),k=H[0],X=H[1],Y=Fre();function V(){AX(O.current,document.activeElement)||(z.current=document.activeElement)}function te(){if(!AX(O.current,document.activeElement)){var ke;(ke=B.current)===null||ke===void 0||ke.focus()}}function oe(ke){if(ke)te();else{if(X(!1),_&&z.current&&u){try{z.current.focus({preventScroll:!0})}catch{}z.current=null}k&&(g==null||g())}f==null||f(ke)}function ae(ke){m==null||m(ke)}var le=w.useRef(!1),ue=w.useRef(),Ce=function(){clearTimeout(ue.current),le.current=!0},pe=function(){ue.current=setTimeout(function(){le.current=!1})},ce=null;T&&(ce=function(Ne){le.current?le.current=!1:O.current===Ne.target&&ae(Ne)});function De(ke){if(a&&ke.keyCode===Dt.ESC){ke.stopPropagation(),ae(ke);return}o&&ke.keyCode===Dt.TAB&&B.current.changeActive(!ke.shiftKey)}return w.useEffect(function(){o&&(X(!0),V())},[o]),w.useEffect(function(){return function(){clearTimeout(ue.current)}},[]),w.createElement("div",pt({className:Te("".concat(t,"-root"),R)},Fu(n,{data:!0})),w.createElement(qRe,{prefixCls:t,visible:_&&o,motionName:Ire(t,F,D),style:xe(xe({zIndex:i},Z),A==null?void 0:A.mask),maskProps:E,className:W==null?void 0:W.mask}),w.createElement("div",pt({tabIndex:-1,onKeyDown:De,className:Te("".concat(t,"-wrap"),d,W==null?void 0:W.wrapper),ref:O,onClick:ce,style:xe(xe(xe({zIndex:i},c),A==null?void 0:A.wrapper),{},{display:k?null:"none"})},h),w.createElement(Nre,pt({},n,{onMouseDown:Ce,onMouseUp:pe,ref:B,closable:S,ariaId:Y,prefixCls:t,visible:o&&k,onClose:ae,onVisibleChanged:oe,motionName:Ire(t,b,v)}))))}var Tre=function(e){var t=e.visible,i=e.getContainer,r=e.forceRender,o=e.destroyOnClose,s=o===void 0?!1:o,a=e.afterClose,l=e.panelRef,u=w.useState(t),c=Se(u,2),d=c[0],h=c[1],m=w.useMemo(function(){return{panel:l}},[l]);return w.useEffect(function(){t&&h(!0)},[t]),!r&&s&&!d?null:w.createElement(xre.Provider,{value:m},w.createElement(J4,{open:t||r||d,autoDestroy:!1,getContainer:i,autoLock:t||d},w.createElement(e3e,pt({},e,{destroyOnClose:s,afterClose:function(){a==null||a(),h(!1)}}))))};Tre.displayName="Dialog";function Ere(n){if(n)return{closable:n.closable,closeIcon:n.closeIcon}}function Zre(n){const{closable:e,closeIcon:t}=n||{};return ze.useMemo(()=>{if(!e&&(e===!1||t===!1||t===null))return!1;if(e===void 0&&t===void 0)return null;let i={closeIcon:typeof t!="boolean"&&t!==null?t:void 0};return e&&typeof e=="object"&&(i=Object.assign(Object.assign({},i),e)),i},[e,t])}function Wre(){const n={};for(var e=arguments.length,t=new Array(e),i=0;i{r&&Object.keys(r).forEach(o=>{r[o]!==void 0&&(n[o]=r[o])})}),n}const t3e={};function n3e(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:t3e;const i=Zre(n),r=Zre(e),o=ze.useMemo(()=>Object.assign({closeIcon:ze.createElement(lb,null)},t),[t]),s=ze.useMemo(()=>i===!1?!1:i?Wre(o,r,i):r===!1?!1:r?Wre(o,r):o.closable?o:!1,[i,r,o]);return ze.useMemo(()=>{if(s===!1)return[!1,null];const{closeIconRender:a}=o,{closeIcon:l}=s;let u=l;if(u!=null){a&&(u=a(l));const c=Fu(s,!0);Object.keys(c).length&&(u=ze.isValidElement(u)?ze.cloneElement(u,c):ze.createElement("span",Object.assign({},c),u))}return[!0,u]},[s,o])}const i3e=()=>wl()&&window.document.documentElement;var rv="RC_FORM_INTERNAL_HOOKS",Qr=function(){aa(!1,"Can not find FormContext. Please make sure you wrap Field under Form.")},ov=w.createContext({getFieldValue:Qr,getFieldsValue:Qr,getFieldError:Qr,getFieldWarning:Qr,getFieldsError:Qr,isFieldsTouched:Qr,isFieldTouched:Qr,isFieldValidating:Qr,isFieldsValidating:Qr,resetFields:Qr,setFields:Qr,setFieldValue:Qr,setFieldsValue:Qr,validateFields:Qr,submit:Qr,getInternalHooks:function(){return Qr(),{dispatch:Qr,initEntityValue:Qr,registerField:Qr,useSubscribe:Qr,setInitialValues:Qr,destroyForm:Qr,setCallbacks:Qr,registerWatch:Qr,getFields:Qr,setValidateMessages:Qr,setPreserve:Qr,getInitialValue:Qr}}}),qL=w.createContext(null);function j4(n){return n==null?[]:Array.isArray(n)?n:[n]}function r3e(n){return n&&!!n._init}var Rre={TERM_PROGRAM:"vscode",NODE:"/Users/alexander/.nvm/versions/node/v20.9.0/bin/node",NVM_CD_FLAGS:"-q",INIT_CWD:"/Users/alexander/my-code/github/openapi-ui",SHELL:"/bin/zsh",TERM:"xterm-256color",TMPDIR:"/var/folders/7b/f28gh86d083_xqj9p9hs97k80000gn/T/",npm_config_global_prefix:"/Users/alexander/.nvm/versions/node/v20.9.0",TERM_PROGRAM_VERSION:"1.88.1",GVM_ROOT:"/Users/alexander/.gvm",MallocNanoZone:"0",ORIGINAL_XDG_CURRENT_DESKTOP:"undefined",ZDOTDIR:"/Users/alexander",COLOR:"1",npm_config_noproxy:"",ZSH:"/Users/alexander/.oh-my-zsh",PNPM_HOME:"/Users/alexander/Library/pnpm",npm_config_local_prefix:"/Users/alexander/my-code/github/openapi-ui",USER:"alexander",NVM_DIR:"/Users/alexander/.nvm",LD_LIBRARY_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:",COMMAND_MODE:"unix2003",npm_config_globalconfig:"/Users/alexander/.nvm/versions/node/v20.9.0/etc/npmrc",SSH_AUTH_SOCK:"/private/tmp/com.apple.launchd.LekgFF0iuk/Listeners",__CF_USER_TEXT_ENCODING:"0x1F5:0x19:0x34",npm_execpath:"/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/bin/npm-cli.js",PAGER:"less",LSCOLORS:"Gxfxcxdxbxegedabagacad",PATH:"/Users/alexander/my-code/github/openapi-ui/node_modules/.bin:/Users/alexander/my-code/github/node_modules/.bin:/Users/alexander/my-code/node_modules/.bin:/Users/alexander/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/mygo/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/alexander/.gvm/gos/go1.21.6/bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.nvm/versions/node/v20.9.0/bin:/Users/alexander/.cargo/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin",npm_package_json:"/Users/alexander/my-code/github/openapi-ui/package.json",__CFBundleIdentifier:"com.microsoft.VSCode",USER_ZDOTDIR:"/Users/alexander",npm_config_auto_install_peers:"true",npm_config_init_module:"/Users/alexander/.npm-init.js",npm_config_userconfig:"/Users/alexander/.npmrc",PWD:"/Users/alexander/my-code/github/openapi-ui",GVM_VERSION:"1.0.22",npm_command:"run-script",EDITOR:"vi",npm_lifecycle_event:"build:package",LANG:"zh_CN.UTF-8",npm_package_name:"openapi-ui-dist",gvm_pkgset_name:"global",NODE_PATH:"/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/vite@5.2.10_@types+node@20.12.7/node_modules/vite/bin/node_modules:/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/vite@5.2.10_@types+node@20.12.7/node_modules/vite/node_modules:/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/vite@5.2.10_@types+node@20.12.7/node_modules:/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/node_modules",XPC_FLAGS:"0x0",VSCODE_GIT_ASKPASS_EXTRA_ARGS:"",npm_config_npm_version:"10.1.0",npm_package_engines_node:"^18.0.0 || >=20.0.0",npm_config_node_gyp:"/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",XPC_SERVICE_NAME:"0",npm_package_version:"2.2.0",VSCODE_INJECTION:"1",HOME:"/Users/alexander",SHLVL:"2",VSCODE_GIT_ASKPASS_MAIN:"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js",GOROOT:"/Users/alexander/.gvm/gos/go1.21.6",DYLD_LIBRARY_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:",gvm_go_name:"go1.21.6",LOGNAME:"alexander",LESS:"-R",VSCODE_PATH_PREFIX:"/Users/alexander/.gvm/gos/go1.21.6/bin:",npm_config_cache:"/Users/alexander/.npm",GVM_OVERLAY_PREFIX:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay",npm_lifecycle_script:"tsc && vite build --config vite.package.config.ts --mode package",LC_CTYPE:"zh_CN.UTF-8",VSCODE_GIT_IPC_HANDLE:"/var/folders/7b/f28gh86d083_xqj9p9hs97k80000gn/T/vscode-git-79a18f10f2.sock",NVM_BIN:"/Users/alexander/.nvm/versions/node/v20.9.0/bin",PKG_CONFIG_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:",GOPATH:"/Users/alexander/mygo",npm_config_user_agent:"npm/10.1.0 node/v20.9.0 darwin x64 workspaces/false",GIT_ASKPASS:"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh",VSCODE_GIT_ASKPASS_NODE:"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)",GVM_PATH_BACKUP:"/Users/alexander/.gvm/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/mygo/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/alexander/.gvm/gos/go1.21.6/bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.nvm/versions/node/v20.9.0/bin:/Users/alexander/.cargo/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin",COLORTERM:"truecolor",npm_config_prefix:"/Users/alexander/.nvm/versions/node/v20.9.0",npm_node_execpath:"/Users/alexander/.nvm/versions/node/v20.9.0/bin/node",NODE_ENV:"production"};function sv(){return sv=Object.assign?Object.assign.bind():function(n){for(var e=1;e"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function ZT(n,e,t){return s3e()?ZT=Reflect.construct.bind():ZT=function(r,o,s){var a=[null];a.push.apply(a,o);var l=Function.bind.apply(r,a),u=new l;return s&&e_(u,s.prototype),u},ZT.apply(null,arguments)}function a3e(n){return Function.toString.call(n).indexOf("[native code]")!==-1}function $4(n){var e=typeof Map=="function"?new Map:void 0;return $4=function(i){if(i===null||!a3e(i))return i;if(typeof i!="function")throw new TypeError("Super expression must either be null or a function");if(typeof e<"u"){if(e.has(i))return e.get(i);e.set(i,r)}function r(){return ZT(i,arguments,Q4(this).constructor)}return r.prototype=Object.create(i.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),e_(r,i)},$4(n)}var l3e=/%[sdj%]/g,Vre=function(){};typeof process<"u"&&Rre&&Rre.NODE_ENV!=="production"&&typeof window<"u"&&typeof document<"u"&&(Vre=function(e,t){typeof console<"u"&&console.warn&&typeof ASYNC_VALIDATOR_NO_WARNING>"u"&&t.every(function(i){return typeof i=="string"})});function q4(n){if(!n||!n.length)return null;var e={};return n.forEach(function(t){var i=t.field;e[i]=e[i]||[],e[i].push(t)}),e}function bc(n){for(var e=arguments.length,t=new Array(e>1?e-1:0),i=1;i=o)return a;switch(a){case"%s":return String(t[r++]);case"%d":return Number(t[r++]);case"%j":try{return JSON.stringify(t[r++])}catch{return"[Circular]"}break;default:return a}});return s}return n}function u3e(n){return n==="string"||n==="url"||n==="hex"||n==="email"||n==="date"||n==="pattern"}function ua(n,e){return!!(n==null||e==="array"&&Array.isArray(n)&&!n.length||u3e(e)&&typeof n=="string"&&!n)}function c3e(n,e,t){var i=[],r=0,o=n.length;function s(a){i.push.apply(i,a||[]),r++,r===o&&t(i)}n.forEach(function(a){e(a,s)})}function Are(n,e,t){var i=0,r=n.length;function o(s){if(s&&s.length){t(s);return}var a=i;i=i+1,a{if(!e&&(e===!1||t===!1||t===null))return!1;if(e===void 0&&t===void 0)return null;let i={closeIcon:typeof t!="boolean"&&t!==null?t:void 0};return e&&typeof e=="object"&&(i=Object.assign(Object.assign({},i),e)),i},[e,t])}function Zre(){const n={};for(var e=arguments.length,t=new Array(e),i=0;i{r&&Object.keys(r).forEach(o=>{r[o]!==void 0&&(n[o]=r[o])})}),n}const t3e={};function n3e(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:t3e;const i=Rre(n),r=Rre(e),o=ze.useMemo(()=>Object.assign({closeIcon:ze.createElement(lb,null)},t),[t]),s=ze.useMemo(()=>i===!1?!1:i?Zre(o,r,i):r===!1?!1:r?Zre(o,r):o.closable?o:!1,[i,r,o]);return ze.useMemo(()=>{if(s===!1)return[!1,null];const{closeIconRender:a}=o,{closeIcon:l}=s;let u=l;if(u!=null){a&&(u=a(l));const c=Iu(s,!0);Object.keys(c).length&&(u=ze.isValidElement(u)?ze.cloneElement(u,c):ze.createElement("span",Object.assign({},c),u))}return[!0,u]},[s,o])}const i3e=()=>Sl()&&window.document.documentElement;var ry="RC_FORM_INTERNAL_HOOKS",Qr=function(){aa(!1,"Can not find FormContext. Please make sure you wrap Field under Form.")},oy=S.createContext({getFieldValue:Qr,getFieldsValue:Qr,getFieldError:Qr,getFieldWarning:Qr,getFieldsError:Qr,isFieldsTouched:Qr,isFieldTouched:Qr,isFieldValidating:Qr,isFieldsValidating:Qr,resetFields:Qr,setFields:Qr,setFieldValue:Qr,setFieldsValue:Qr,validateFields:Qr,submit:Qr,getInternalHooks:function(){return Qr(),{dispatch:Qr,initEntityValue:Qr,registerField:Qr,useSubscribe:Qr,setInitialValues:Qr,destroyForm:Qr,setCallbacks:Qr,registerWatch:Qr,getFields:Qr,setValidateMessages:Qr,setPreserve:Qr,getInitialValue:Qr}}}),q_=S.createContext(null);function j4(n){return n==null?[]:Array.isArray(n)?n:[n]}function r3e(n){return n&&!!n._init}var Wre={GITHUB_STATE:"/home/runner/work/_temp/_runner_file_commands/save_state_1db24d99-745b-44e6-9118-92da7729c914",STATS_TRP:"true",DEPLOYMENT_BASEPATH:"/opt/runner",DOTNET_NOLOGO:"1",USER:"runner",npm_config_always_auth:"",npm_config_user_agent:"npm/10.5.0 node/v18.20.2 linux x64 workspaces/false ci/github-actions",CI:"true",RUNNER_ENVIRONMENT:"github-hosted",GITHUB_ENV:"/home/runner/work/_temp/_runner_file_commands/set_env_1db24d99-745b-44e6-9118-92da7729c914",PIPX_HOME:"/opt/pipx",npm_node_execpath:"/opt/hostedtoolcache/node/18.20.2/x64/bin/node",JAVA_HOME_8_X64:"/usr/lib/jvm/temurin-8-jdk-amd64",NODE_AUTH_TOKEN:"XXXXX-XXXXX-XXXXX-XXXXX",SHLVL:"1",npm_config_noproxy:"",HOME:"/home/runner",RUNNER_TEMP:"/home/runner/work/_temp",GITHUB_EVENT_PATH:"/home/runner/work/_temp/_github_workflow/event.json",npm_package_json:"/home/runner/work/openapi-ui/openapi-ui/package.json",JAVA_HOME_11_X64:"/usr/lib/jvm/temurin-11-jdk-amd64",PIPX_BIN_DIR:"/opt/pipx_bin",GITHUB_REPOSITORY_OWNER:"rookie-luochao",npm_config_auto_install_peers:"true",npm_package_engines_node:"^18.0.0 || >=20.0.0",GRADLE_HOME:"/usr/share/gradle-8.7",ANDROID_NDK_LATEST_HOME:"/usr/local/lib/android/sdk/ndk/26.3.11579264",JAVA_HOME_21_X64:"/usr/lib/jvm/temurin-21-jdk-amd64",STATS_RDCL:"true",GITHUB_RETENTION_DAYS:"90",GITHUB_REPOSITORY_OWNER_ID:"22948077",POWERSHELL_DISTRIBUTION_CHANNEL:"GitHub-Actions-ubuntu22",AZURE_EXTENSION_DIR:"/opt/az/azcliextensions",GITHUB_HEAD_REF:"",npm_config_local_prefix:"/home/runner/work/openapi-ui/openapi-ui",SYSTEMD_EXEC_PID:"591",GITHUB_GRAPHQL_URL:"https://api.github.com/graphql",COLOR:"0",GOROOT_1_20_X64:"/opt/hostedtoolcache/go/1.20.14/x64",NVM_DIR:"/home/runner/.nvm",DOTNET_SKIP_FIRST_TIME_EXPERIENCE:"1",GOROOT_1_21_X64:"/opt/hostedtoolcache/go/1.21.9/x64",JAVA_HOME_17_X64:"/usr/lib/jvm/temurin-17-jdk-amd64",ImageVersion:"20240422.1.0",RUNNER_OS:"Linux",GITHUB_API_URL:"https://api.github.com",GOROOT_1_22_X64:"/opt/hostedtoolcache/go/1.22.2/x64",SWIFT_PATH:"/usr/share/swift/usr/bin",RUNNER_USER:"runner",STATS_V3PS:"true",CHROMEWEBDRIVER:"/usr/local/share/chromedriver-linux64",JOURNAL_STREAM:"8:17399",GITHUB_WORKFLOW:"Publish Package CI",_:"/opt/hostedtoolcache/node/18.20.2/x64/bin/npm",npm_config_prefix:"/opt/hostedtoolcache/node/18.20.2/x64",npm_config_npm_version:"10.5.0",ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE:"/opt/actionarchivecache",STATS_D:"true",GITHUB_RUN_ID:"9034363565",STATS_VMFE:"true",npm_config_cache:"/home/runner/.npm",GITHUB_REF_TYPE:"tag",BOOTSTRAP_HASKELL_NONINTERACTIVE:"1",GITHUB_WORKFLOW_SHA:"7d06aa5962e2854267496af964903729ea3712ea",GITHUB_BASE_REF:"",ImageOS:"ubuntu22",GITHUB_WORKFLOW_REF:"rookie-luochao/openapi-ui/.github/workflows/publish-package-ci.yml@refs/tags/v2.2.1",PERFLOG_LOCATION_SETTING:"RUNNER_PERFLOG",GITHUB_ACTION_REPOSITORY:"",npm_config_node_gyp:"/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",PATH:"/home/runner/work/openapi-ui/openapi-ui/node_modules/.bin:/home/runner/work/openapi-ui/node_modules/.bin:/home/runner/work/node_modules/.bin:/home/runner/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin",ANT_HOME:"/usr/share/ant",DOTNET_MULTILEVEL_LOOKUP:"0",RUNNER_TRACKING_ID:"github_8e3f06e2-01ee-4dd3-8ff0-4ad90f0f5f28",INVOCATION_ID:"d0057c0943174c4e95e299688b270680",NPM_CONFIG_USERCONFIG:"/home/runner/work/_temp/.npmrc",RUNNER_TOOL_CACHE:"/opt/hostedtoolcache",NODE:"/opt/hostedtoolcache/node/18.20.2/x64/bin/node",npm_package_name:"openapi-ui-dist",GITHUB_ACTION:"__run_3",GITHUB_RUN_NUMBER:"5",GITHUB_TRIGGERING_ACTOR:"rookie-luochao",RUNNER_ARCH:"X64",XDG_RUNTIME_DIR:"/run/user/1001",AGENT_TOOLSDIRECTORY:"/opt/hostedtoolcache",LANG:"C.UTF-8",VCPKG_INSTALLATION_ROOT:"/usr/local/share/vcpkg",CONDA:"/usr/share/miniconda",RUNNER_NAME:"GitHub Actions 19",XDG_CONFIG_HOME:"/home/runner/.config",STATS_VMD:"true",GITHUB_REF_NAME:"v2.2.1",GITHUB_REPOSITORY:"rookie-luochao/openapi-ui",STATS_D_D:"true",npm_lifecycle_script:"tsc && vite build --config vite.package.config.ts --mode package",STATS_UE:"true",ANDROID_NDK_ROOT:"/usr/local/lib/android/sdk/ndk/25.2.9519653",GITHUB_ACTION_REF:"",DEBIAN_FRONTEND:"noninteractive",GITHUB_REPOSITORY_ID:"733969338",GITHUB_ACTIONS:"true",npm_package_version:"2.2.1",npm_lifecycle_event:"build:package",NODE_PATH:"/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules/vite/bin/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules/vite/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/node_modules",GITHUB_REF_PROTECTED:"false",GITHUB_WORKSPACE:"/home/runner/work/openapi-ui/openapi-ui",ACCEPT_EULA:"Y",GITHUB_JOB:"build",RUNNER_PERFLOG:"/home/runner/perflog",GITHUB_SHA:"7d06aa5962e2854267496af964903729ea3712ea",GITHUB_RUN_ATTEMPT:"1",GITHUB_REF:"refs/tags/v2.2.1",GITHUB_ACTOR:"rookie-luochao",ANDROID_SDK_ROOT:"/usr/local/lib/android/sdk",LEIN_HOME:"/usr/local/lib/lein",npm_config_globalconfig:"/opt/hostedtoolcache/node/18.20.2/x64/etc/npmrc",npm_config_init_module:"/home/runner/.npm-init.js",GITHUB_PATH:"/home/runner/work/_temp/_runner_file_commands/add_path_1db24d99-745b-44e6-9118-92da7729c914",JAVA_HOME:"/usr/lib/jvm/temurin-11-jdk-amd64",PWD:"/home/runner/work/openapi-ui/openapi-ui",GITHUB_ACTOR_ID:"22948077",RUNNER_WORKSPACE:"/home/runner/work/openapi-ui",npm_execpath:"/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/bin/npm-cli.js",HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS:"3650",GITHUB_EVENT_NAME:"push",HOMEBREW_NO_AUTO_UPDATE:"1",ANDROID_HOME:"/usr/local/lib/android/sdk",GITHUB_SERVER_URL:"https://github.com",GECKOWEBDRIVER:"/usr/local/share/gecko_driver",LEIN_JAR:"/usr/local/lib/lein/self-installs/leiningen-2.11.2-standalone.jar",GHCUP_INSTALL_BASE_PREFIX:"/usr/local",GITHUB_OUTPUT:"/home/runner/work/_temp/_runner_file_commands/set_output_1db24d99-745b-44e6-9118-92da7729c914",npm_config_global_prefix:"/opt/hostedtoolcache/node/18.20.2/x64",EDGEWEBDRIVER:"/usr/local/share/edge_driver",STATS_EXT:"true",npm_command:"run-script",ANDROID_NDK:"/usr/local/lib/android/sdk/ndk/25.2.9519653",SGX_AESM_ADDR:"1",CHROME_BIN:"/usr/bin/google-chrome",SELENIUM_JAR_PATH:"/usr/share/java/selenium-server.jar",STATS_EXTP:"https://provjobdsettingscdn.blob.core.windows.net/settings/provjobdsettings-0.5.172+1/provjobd.data",ANDROID_NDK_HOME:"/usr/local/lib/android/sdk/ndk/25.2.9519653",GITHUB_STEP_SUMMARY:"/home/runner/work/_temp/_runner_file_commands/step_summary_1db24d99-745b-44e6-9118-92da7729c914",INIT_CWD:"/home/runner/work/openapi-ui/openapi-ui",EDITOR:"vi",NODE_ENV:"production"};function sy(){return sy=Object.assign?Object.assign.bind():function(n){for(var e=1;e"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function RT(n,e,t){return s3e()?RT=Reflect.construct.bind():RT=function(r,o,s){var a=[null];a.push.apply(a,o);var l=Function.bind.apply(r,a),u=new l;return s&&eL(u,s.prototype),u},RT.apply(null,arguments)}function a3e(n){return Function.toString.call(n).indexOf("[native code]")!==-1}function $4(n){var e=typeof Map=="function"?new Map:void 0;return $4=function(i){if(i===null||!a3e(i))return i;if(typeof i!="function")throw new TypeError("Super expression must either be null or a function");if(typeof e<"u"){if(e.has(i))return e.get(i);e.set(i,r)}function r(){return RT(i,arguments,Q4(this).constructor)}return r.prototype=Object.create(i.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),eL(r,i)},$4(n)}var l3e=/%[sdj%]/g,Are=function(){};typeof process<"u"&&Wre&&Wre.NODE_ENV!=="production"&&typeof window<"u"&&typeof document<"u"&&(Are=function(e,t){typeof console<"u"&&console.warn&&typeof ASYNC_VALIDATOR_NO_WARNING>"u"&&t.every(function(i){return typeof i=="string"})});function q4(n){if(!n||!n.length)return null;var e={};return n.forEach(function(t){var i=t.field;e[i]=e[i]||[],e[i].push(t)}),e}function bc(n){for(var e=arguments.length,t=new Array(e>1?e-1:0),i=1;i=o)return a;switch(a){case"%s":return String(t[r++]);case"%d":return Number(t[r++]);case"%j":try{return JSON.stringify(t[r++])}catch{return"[Circular]"}break;default:return a}});return s}return n}function u3e(n){return n==="string"||n==="url"||n==="hex"||n==="email"||n==="date"||n==="pattern"}function ua(n,e){return!!(n==null||e==="array"&&Array.isArray(n)&&!n.length||u3e(e)&&typeof n=="string"&&!n)}function c3e(n,e,t){var i=[],r=0,o=n.length;function s(a){i.push.apply(i,a||[]),r++,r===o&&t(i)}n.forEach(function(a){e(a,s)})}function Vre(n,e,t){var i=0,r=n.length;function o(s){if(s&&s.length){t(s);return}var a=i;i=i+1,a()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},t_={integer:function(e){return t_.number(e)&&parseInt(e,10)===e},float:function(e){return t_.number(e)&&!t_.integer(e)},array:function(e){return Array.isArray(e)},regexp:function(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch{return!1}},date:function(e){return typeof e.getTime=="function"&&typeof e.getMonth=="function"&&typeof e.getYear=="function"&&!isNaN(e.getTime())},number:function(e){return isNaN(e)?!1:typeof e=="number"},object:function(e){return typeof e=="object"&&!t_.array(e)},method:function(e){return typeof e=="function"},email:function(e){return typeof e=="string"&&e.length<=320&&!!e.match(Bre.email)},url:function(e){return typeof e=="string"&&e.length<=2048&&!!e.match(p3e())},hex:function(e){return typeof e=="string"&&!!e.match(Bre.hex)}},b3e=function(e,t,i,r,o){if(e.required&&t===void 0){Ore(e,t,i,r,o);return}var s=["integer","float","array","regexp","object","method","email","number","date","url","hex"],a=e.type;s.indexOf(a)>-1?t_[a](t)||r.push(bc(o.messages.types[a],e.fullField,e.type)):a&&typeof t!==e.type&&r.push(bc(o.messages.types[a],e.fullField,e.type))},v3e=function(e,t,i,r,o){var s=typeof e.len=="number",a=typeof e.min=="number",l=typeof e.max=="number",u=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,c=t,d=null,h=typeof t=="number",m=typeof t=="string",f=Array.isArray(t);if(h?d="number":m?d="string":f&&(d="array"),!d)return!1;f&&(c=t.length),m&&(c=t.replace(u,"_").length),s?c!==e.len&&r.push(bc(o.messages[d].len,e.fullField,e.len)):a&&!l&&ce.max?r.push(bc(o.messages[d].max,e.fullField,e.max)):a&&l&&(ce.max)&&r.push(bc(o.messages[d].range,e.fullField,e.min,e.max))},rw="enum",y3e=function(e,t,i,r,o){e[rw]=Array.isArray(e[rw])?e[rw]:[],e[rw].indexOf(t)===-1&&r.push(bc(o.messages[rw],e.fullField,e[rw].join(", ")))},C3e=function(e,t,i,r,o){if(e.pattern){if(e.pattern instanceof RegExp)e.pattern.lastIndex=0,e.pattern.test(t)||r.push(bc(o.messages.pattern.mismatch,e.fullField,t,e.pattern));else if(typeof e.pattern=="string"){var s=new RegExp(e.pattern);s.test(t)||r.push(bc(o.messages.pattern.mismatch,e.fullField,t,e.pattern))}}},qi={required:Ore,whitespace:g3e,type:b3e,range:v3e,enum:y3e,pattern:C3e},w3e=function(e,t,i,r,o){var s=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(ua(t,"string")&&!e.required)return i();qi.required(e,t,r,s,o,"string"),ua(t,"string")||(qi.type(e,t,r,s,o),qi.range(e,t,r,s,o),qi.pattern(e,t,r,s,o),e.whitespace===!0&&qi.whitespace(e,t,r,s,o))}i(s)},S3e=function(e,t,i,r,o){var s=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(ua(t)&&!e.required)return i();qi.required(e,t,r,s,o),t!==void 0&&qi.type(e,t,r,s,o)}i(s)},x3e=function(e,t,i,r,o){var s=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(t===""&&(t=void 0),ua(t)&&!e.required)return i();qi.required(e,t,r,s,o),t!==void 0&&(qi.type(e,t,r,s,o),qi.range(e,t,r,s,o))}i(s)},L3e=function(e,t,i,r,o){var s=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(ua(t)&&!e.required)return i();qi.required(e,t,r,s,o),t!==void 0&&qi.type(e,t,r,s,o)}i(s)},_3e=function(e,t,i,r,o){var s=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(ua(t)&&!e.required)return i();qi.required(e,t,r,s,o),ua(t)||qi.type(e,t,r,s,o)}i(s)},F3e=function(e,t,i,r,o){var s=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(ua(t)&&!e.required)return i();qi.required(e,t,r,s,o),t!==void 0&&(qi.type(e,t,r,s,o),qi.range(e,t,r,s,o))}i(s)},I3e=function(e,t,i,r,o){var s=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(ua(t)&&!e.required)return i();qi.required(e,t,r,s,o),t!==void 0&&(qi.type(e,t,r,s,o),qi.range(e,t,r,s,o))}i(s)},D3e=function(e,t,i,r,o){var s=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(t==null&&!e.required)return i();qi.required(e,t,r,s,o,"array"),t!=null&&(qi.type(e,t,r,s,o),qi.range(e,t,r,s,o))}i(s)},M3e=function(e,t,i,r,o){var s=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(ua(t)&&!e.required)return i();qi.required(e,t,r,s,o),t!==void 0&&qi.type(e,t,r,s,o)}i(s)},k3e="enum",N3e=function(e,t,i,r,o){var s=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(ua(t)&&!e.required)return i();qi.required(e,t,r,s,o),t!==void 0&&qi[k3e](e,t,r,s,o)}i(s)},T3e=function(e,t,i,r,o){var s=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(ua(t,"string")&&!e.required)return i();qi.required(e,t,r,s,o),ua(t,"string")||qi.pattern(e,t,r,s,o)}i(s)},E3e=function(e,t,i,r,o){var s=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(ua(t,"date")&&!e.required)return i();if(qi.required(e,t,r,s,o),!ua(t,"date")){var l;t instanceof Date?l=t:l=new Date(t),qi.type(e,l,r,s,o),l&&qi.range(e,l.getTime(),r,s,o)}}i(s)},Z3e=function(e,t,i,r,o){var s=[],a=Array.isArray(t)?"array":typeof t;qi.required(e,t,r,s,o,a),i(s)},eP=function(e,t,i,r,o){var s=e.type,a=[],l=e.required||!e.required&&r.hasOwnProperty(e.field);if(l){if(ua(t,s)&&!e.required)return i();qi.required(e,t,r,a,o,s),ua(t,s)||qi.type(e,t,r,a,o)}i(a)},W3e=function(e,t,i,r,o){var s=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(ua(t)&&!e.required)return i();qi.required(e,t,r,s,o)}i(s)},n_={string:w3e,method:S3e,number:x3e,boolean:L3e,regexp:_3e,integer:F3e,float:I3e,array:D3e,object:M3e,enum:N3e,pattern:T3e,date:E3e,url:eP,hex:eP,email:eP,required:Z3e,any:W3e};function tP(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}var nP=tP(),i_=function(){function n(t){this.rules=null,this._messages=nP,this.define(t)}var e=n.prototype;return e.define=function(i){var r=this;if(!i)throw new Error("Cannot configure a schema with no rules");if(typeof i!="object"||Array.isArray(i))throw new Error("Rules must be an object");this.rules={},Object.keys(i).forEach(function(o){var s=i[o];r.rules[o]=Array.isArray(s)?s:[s]})},e.messages=function(i){return i&&(this._messages=Pre(tP(),i)),this._messages},e.validate=function(i,r,o){var s=this;r===void 0&&(r={}),o===void 0&&(o=function(){});var a=i,l=r,u=o;if(typeof l=="function"&&(u=l,l={}),!this.rules||Object.keys(this.rules).length===0)return u&&u(null,a),Promise.resolve(a);function c(g){var b=[],v={};function C(x){if(Array.isArray(x)){var _;b=(_=b).concat.apply(_,x)}else b.push(x)}for(var S=0;S2&&arguments[2]!==void 0?arguments[2]:!1;return n&&n.some(function(i){return Kre(e,i,t)})}function Kre(n,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return!n||!e||!t&&n.length!==e.length?!1:e.every(function(i,r){return n[r]===i})}function X3e(n,e){if(n===e)return!0;if(!n&&e||n&&!e||!n||!e||Xn(n)!=="object"||Xn(e)!=="object")return!1;var t=Object.keys(n),i=Object.keys(e),r=new Set([].concat(t,i));return _t(r).every(function(o){var s=n[o],a=e[o];return typeof s=="function"&&typeof a=="function"?!0:s===a})}function P3e(n){var e=arguments.length<=1?void 0:arguments[1];return e&&e.target&&Xn(e.target)==="object"&&n in e.target?e.target[n]:e}function Jre(n,e,t){var i=n.length;if(e<0||e>=i||t<0||t>=i)return n;var r=n[e],o=e-t;return o>0?[].concat(_t(n.slice(0,t)),[r],_t(n.slice(t,e)),_t(n.slice(e+1,i))):o<0?[].concat(_t(n.slice(0,e)),_t(n.slice(e+1,t+1)),[r],_t(n.slice(t+1,i))):n}var O3e=["name"],cd=[];function jre(n,e,t,i,r,o){return typeof n=="function"?n(e,t,"source"in o?{source:o.source}:{}):i!==r}var aP=function(n){Qf(t,n);var e=H1(t);function t(i){var r;if(xs(this,t),r=e.call(this,i),ge(bi(r),"state",{resetCount:0}),ge(bi(r),"cancelRegisterFunc",null),ge(bi(r),"mounted",!1),ge(bi(r),"touched",!1),ge(bi(r),"dirty",!1),ge(bi(r),"validatePromise",void 0),ge(bi(r),"prevValidating",void 0),ge(bi(r),"errors",cd),ge(bi(r),"warnings",cd),ge(bi(r),"cancelRegister",function(){var l=r.props,u=l.preserve,c=l.isListField,d=l.name;r.cancelRegisterFunc&&r.cancelRegisterFunc(c,u,Fs(d)),r.cancelRegisterFunc=null}),ge(bi(r),"getNamePath",function(){var l=r.props,u=l.name,c=l.fieldContext,d=c.prefixName,h=d===void 0?[]:d;return u!==void 0?[].concat(_t(h),_t(u)):[]}),ge(bi(r),"getRules",function(){var l=r.props,u=l.rules,c=u===void 0?[]:u,d=l.fieldContext;return c.map(function(h){return typeof h=="function"?h(d):h})}),ge(bi(r),"refresh",function(){r.mounted&&r.setState(function(l){var u=l.resetCount;return{resetCount:u+1}})}),ge(bi(r),"metaCache",null),ge(bi(r),"triggerMetaEvent",function(l){var u=r.props.onMetaChange;if(u){var c=xe(xe({},r.getMeta()),{},{destroy:l});RL(r.metaCache,c)||u(c),r.metaCache=c}else r.metaCache=null}),ge(bi(r),"onStoreChange",function(l,u,c){var d=r.props,h=d.shouldUpdate,m=d.dependencies,f=m===void 0?[]:m,g=d.onReset,b=c.store,v=r.getNamePath(),C=r.getValue(l),S=r.getValue(b),x=u&&ow(u,v);switch(c.type==="valueUpdate"&&c.source==="external"&&!RL(C,S)&&(r.touched=!0,r.dirty=!0,r.validatePromise=null,r.errors=cd,r.warnings=cd,r.triggerMetaEvent()),c.type){case"reset":if(!u||x){r.touched=!1,r.dirty=!1,r.validatePromise=void 0,r.errors=cd,r.warnings=cd,r.triggerMetaEvent(),g==null||g(),r.refresh();return}break;case"remove":{if(h){r.reRender();return}break}case"setField":{var _=c.data;if(x){"touched"in _&&(r.touched=_.touched),"validating"in _&&!("originRCField"in _)&&(r.validatePromise=_.validating?Promise.resolve([]):null),"errors"in _&&(r.errors=_.errors||cd),"warnings"in _&&(r.warnings=_.warnings||cd),r.dirty=!0,r.triggerMetaEvent(),r.reRender();return}else if("value"in _&&ow(u,v,!0)){r.reRender();return}if(h&&!v.length&&jre(h,l,b,C,S,c)){r.reRender();return}break}case"dependenciesUpdate":{var F=f.map(Fs);if(F.some(function(D){return ow(c.relatedFields,D)})){r.reRender();return}break}default:if(x||(!f.length||v.length||h)&&jre(h,l,b,C,S,c)){r.reRender();return}break}h===!0&&r.reRender()}),ge(bi(r),"validateRules",function(l){var u=r.getNamePath(),c=r.getValue(),d=l||{},h=d.triggerName,m=d.validateOnly,f=m===void 0?!1:m,g=Promise.resolve().then(ub(Oa().mark(function b(){var v,C,S,x,_,F,D;return Oa().wrap(function(T){for(;;)switch(T.prev=T.next){case 0:if(r.mounted){T.next=2;break}return T.abrupt("return",[]);case 2:if(v=r.props,C=v.validateFirst,S=C===void 0?!1:C,x=v.messageVariables,_=v.validateDebounce,F=r.getRules(),h&&(F=F.filter(function(Z){return Z}).filter(function(Z){var E=Z.validateTrigger;if(!E)return!0;var R=j4(E);return R.includes(h)})),!(_&&h)){T.next=10;break}return T.next=8,new Promise(function(Z){setTimeout(Z,_)});case 8:if(r.validatePromise===g){T.next=10;break}return T.abrupt("return",[]);case 10:return D=V3e(u,c,F,l,S,x),D.catch(function(Z){return Z}).then(function(){var Z=arguments.length>0&&arguments[0]!==void 0?arguments[0]:cd;if(r.validatePromise===g){var E;r.validatePromise=null;var R=[],W=[];(E=Z.forEach)===null||E===void 0||E.call(Z,function(A){var z=A.rule.warningOnly,O=A.errors,B=O===void 0?cd:O;z?W.push.apply(W,_t(B)):R.push.apply(R,_t(B))}),r.errors=R,r.warnings=W,r.triggerMetaEvent(),r.reRender()}}),T.abrupt("return",D);case 13:case"end":return T.stop()}},b)})));return f||(r.validatePromise=g,r.dirty=!0,r.errors=cd,r.warnings=cd,r.triggerMetaEvent(),r.reRender()),g}),ge(bi(r),"isFieldValidating",function(){return!!r.validatePromise}),ge(bi(r),"isFieldTouched",function(){return r.touched}),ge(bi(r),"isFieldDirty",function(){if(r.dirty||r.props.initialValue!==void 0)return!0;var l=r.props.fieldContext,u=l.getInternalHooks(rv),c=u.getInitialValue;return c(r.getNamePath())!==void 0}),ge(bi(r),"getErrors",function(){return r.errors}),ge(bi(r),"getWarnings",function(){return r.warnings}),ge(bi(r),"isListField",function(){return r.props.isListField}),ge(bi(r),"isList",function(){return r.props.isList}),ge(bi(r),"isPreserve",function(){return r.props.preserve}),ge(bi(r),"getMeta",function(){r.prevValidating=r.isFieldValidating();var l={touched:r.isFieldTouched(),validating:r.prevValidating,errors:r.errors,warnings:r.warnings,name:r.getNamePath(),validated:r.validatePromise===null};return l}),ge(bi(r),"getOnlyChild",function(l){if(typeof l=="function"){var u=r.getMeta();return xe(xe({},r.getOnlyChild(l(r.getControlled(),u,r.props.fieldContext))),{},{isFunction:!0})}var c=ad(l);return c.length!==1||!w.isValidElement(c[0])?{child:c,isFunction:!1}:{child:c[0],isFunction:!1}}),ge(bi(r),"getValue",function(l){var u=r.props.fieldContext.getFieldsValue,c=r.getNamePath();return Cm(l||u(!0),c)}),ge(bi(r),"getControlled",function(){var l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},u=r.props,c=u.name,d=u.trigger,h=u.validateTrigger,m=u.getValueFromEvent,f=u.normalize,g=u.valuePropName,b=u.getValueProps,v=u.fieldContext,C=h!==void 0?h:v.validateTrigger,S=r.getNamePath(),x=v.getInternalHooks,_=v.getFieldsValue,F=x(rv),D=F.dispatch,M=r.getValue(),T=b||function(A){return ge({},g,A)},Z=l[d],E=c!==void 0?T(M):{},R=xe(xe({},l),E);R[d]=function(){r.touched=!0,r.dirty=!0,r.triggerMetaEvent();for(var A,z=arguments.length,O=new Array(z),B=0;B=0&&Z<=E.length?(c.keys=[].concat(_t(c.keys.slice(0,Z)),[c.id],_t(c.keys.slice(Z))),S([].concat(_t(E.slice(0,Z)),[T],_t(E.slice(Z))))):(c.keys=[].concat(_t(c.keys),[c.id]),S([].concat(_t(E),[T]))),c.id+=1},remove:function(T){var Z=_(),E=new Set(Array.isArray(T)?T:[T]);E.size<=0||(c.keys=c.keys.filter(function(R,W){return!E.has(W)}),S(Z.filter(function(R,W){return!E.has(W)})))},move:function(T,Z){if(T!==Z){var E=_();T<0||T>=E.length||Z<0||Z>=E.length||(c.keys=Jre(c.keys,T,Z),S(Jre(E,T,Z)))}}},D=C||[];return Array.isArray(D)||(D=[]),i(D.map(function(M,T){var Z=c.keys[T];return Z===void 0&&(c.keys[T]=c.id,Z=c.keys[T],c.id+=1),{name:T,key:Z,isListField:!0}}),F,b)})))}function B3e(n){var e=!1,t=n.length,i=[];return n.length?new Promise(function(r,o){n.forEach(function(s,a){s.catch(function(l){return e=!0,l}).then(function(l){t-=1,i[a]=l,!(t>0)&&(e&&o(i),r(i))})})}):Promise.resolve([])}var $re="__@field_split__";function uP(n){return n.map(function(e){return"".concat(Xn(e),":").concat(e)}).join($re)}var sw=function(){function n(){xs(this,n),ge(this,"kvs",new Map)}return Ls(n,[{key:"set",value:function(t,i){this.kvs.set(uP(t),i)}},{key:"get",value:function(t){return this.kvs.get(uP(t))}},{key:"update",value:function(t,i){var r=this.get(t),o=i(r);o?this.set(t,o):this.delete(t)}},{key:"delete",value:function(t){this.kvs.delete(uP(t))}},{key:"map",value:function(t){return _t(this.kvs.entries()).map(function(i){var r=Se(i,2),o=r[0],s=r[1],a=o.split($re);return t({key:a.map(function(l){var u=l.match(/^([^:]*):(.*)$/),c=Se(u,3),d=c[1],h=c[2];return d==="number"?Number(h):h}),value:s})})}},{key:"toJSON",value:function(){var t={};return this.map(function(i){var r=i.key,o=i.value;return t[r.join(".")]=o,null}),t}}]),n}(),z3e=["name"],H3e=Ls(function n(e){var t=this;xs(this,n),ge(this,"formHooked",!1),ge(this,"forceRootUpdate",void 0),ge(this,"subscribable",!0),ge(this,"store",{}),ge(this,"fieldEntities",[]),ge(this,"initialValues",{}),ge(this,"callbacks",{}),ge(this,"validateMessages",null),ge(this,"preserve",null),ge(this,"lastValidatePromise",null),ge(this,"getForm",function(){return{getFieldValue:t.getFieldValue,getFieldsValue:t.getFieldsValue,getFieldError:t.getFieldError,getFieldWarning:t.getFieldWarning,getFieldsError:t.getFieldsError,isFieldsTouched:t.isFieldsTouched,isFieldTouched:t.isFieldTouched,isFieldValidating:t.isFieldValidating,isFieldsValidating:t.isFieldsValidating,resetFields:t.resetFields,setFields:t.setFields,setFieldValue:t.setFieldValue,setFieldsValue:t.setFieldsValue,validateFields:t.validateFields,submit:t.submit,_init:!0,getInternalHooks:t.getInternalHooks}}),ge(this,"getInternalHooks",function(i){return i===rv?(t.formHooked=!0,{dispatch:t.dispatch,initEntityValue:t.initEntityValue,registerField:t.registerField,useSubscribe:t.useSubscribe,setInitialValues:t.setInitialValues,destroyForm:t.destroyForm,setCallbacks:t.setCallbacks,setValidateMessages:t.setValidateMessages,getFields:t.getFields,setPreserve:t.setPreserve,getInitialValue:t.getInitialValue,registerWatch:t.registerWatch}):(aa(!1,"`getInternalHooks` is internal usage. Should not call directly."),null)}),ge(this,"useSubscribe",function(i){t.subscribable=i}),ge(this,"prevWithoutPreserves",null),ge(this,"setInitialValues",function(i,r){if(t.initialValues=i||{},r){var o,s=JC(i,t.store);(o=t.prevWithoutPreserves)===null||o===void 0||o.map(function(a){var l=a.key;s=rh(s,l,Cm(i,l))}),t.prevWithoutPreserves=null,t.updateStore(s)}}),ge(this,"destroyForm",function(){var i=new sw;t.getFieldEntities(!0).forEach(function(r){t.isMergedPreserve(r.isPreserve())||i.set(r.getNamePath(),!0)}),t.prevWithoutPreserves=i}),ge(this,"getInitialValue",function(i){var r=Cm(t.initialValues,i);return i.length?JC(r):r}),ge(this,"setCallbacks",function(i){t.callbacks=i}),ge(this,"setValidateMessages",function(i){t.validateMessages=i}),ge(this,"setPreserve",function(i){t.preserve=i}),ge(this,"watchList",[]),ge(this,"registerWatch",function(i){return t.watchList.push(i),function(){t.watchList=t.watchList.filter(function(r){return r!==i})}}),ge(this,"notifyWatch",function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];if(t.watchList.length){var r=t.getFieldsValue(),o=t.getFieldsValue(!0);t.watchList.forEach(function(s){s(r,o,i)})}}),ge(this,"timeoutId",null),ge(this,"warningUnhooked",function(){}),ge(this,"updateStore",function(i){t.store=i}),ge(this,"getFieldEntities",function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;return i?t.fieldEntities.filter(function(r){return r.getNamePath().length}):t.fieldEntities}),ge(this,"getFieldsMap",function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,r=new sw;return t.getFieldEntities(i).forEach(function(o){var s=o.getNamePath();r.set(s,o)}),r}),ge(this,"getFieldEntitiesForNamePathList",function(i){if(!i)return t.getFieldEntities(!0);var r=t.getFieldsMap(!0);return i.map(function(o){var s=Fs(o);return r.get(s)||{INVALIDATE_NAME_PATH:Fs(o)}})}),ge(this,"getFieldsValue",function(i,r){t.warningUnhooked();var o,s,a;if(i===!0||Array.isArray(i)?(o=i,s=r):i&&Xn(i)==="object"&&(a=i.strict,s=i.filter),o===!0&&!s)return t.store;var l=t.getFieldEntitiesForNamePathList(Array.isArray(o)?o:null),u=[];return l.forEach(function(c){var d,h,m="INVALIDATE_NAME_PATH"in c?c.INVALIDATE_NAME_PATH:c.getNamePath();if(a){var f,g;if((f=(g=c).isList)!==null&&f!==void 0&&f.call(g))return}else if(!o&&(d=(h=c).isListField)!==null&&d!==void 0&&d.call(h))return;if(!s)u.push(m);else{var b="getMeta"in c?c.getMeta():null;s(b)&&u.push(m)}}),Ure(t.store,u.map(Fs))}),ge(this,"getFieldValue",function(i){t.warningUnhooked();var r=Fs(i);return Cm(t.store,r)}),ge(this,"getFieldsError",function(i){t.warningUnhooked();var r=t.getFieldEntitiesForNamePathList(i);return r.map(function(o,s){return o&&!("INVALIDATE_NAME_PATH"in o)?{name:o.getNamePath(),errors:o.getErrors(),warnings:o.getWarnings()}:{name:Fs(i[s]),errors:[],warnings:[]}})}),ge(this,"getFieldError",function(i){t.warningUnhooked();var r=Fs(i),o=t.getFieldsError([r])[0];return o.errors}),ge(this,"getFieldWarning",function(i){t.warningUnhooked();var r=Fs(i),o=t.getFieldsError([r])[0];return o.warnings}),ge(this,"isFieldsTouched",function(){t.warningUnhooked();for(var i=arguments.length,r=new Array(i),o=0;o0&&arguments[0]!==void 0?arguments[0]:{},r=new sw,o=t.getFieldEntities(!0);o.forEach(function(l){var u=l.props.initialValue,c=l.getNamePath();if(u!==void 0){var d=r.get(c)||new Set;d.add({entity:l,value:u}),r.set(c,d)}});var s=function(u){u.forEach(function(c){var d=c.props.initialValue;if(d!==void 0){var h=c.getNamePath(),m=t.getInitialValue(h);if(m!==void 0)aa(!1,"Form already set 'initialValues' with path '".concat(h.join("."),"'. Field can not overwrite it."));else{var f=r.get(h);if(f&&f.size>1)aa(!1,"Multiple Field with path '".concat(h.join("."),"' set 'initialValue'. Can not decide which one to pick."));else if(f){var g=t.getFieldValue(h),b=c.isListField();!b&&(!i.skipExist||g===void 0)&&t.updateStore(rh(t.store,h,_t(f)[0].value))}}}})},a;i.entities?a=i.entities:i.namePathList?(a=[],i.namePathList.forEach(function(l){var u=r.get(l);if(u){var c;(c=a).push.apply(c,_t(_t(u).map(function(d){return d.entity})))}})):a=o,s(a)}),ge(this,"resetFields",function(i){t.warningUnhooked();var r=t.store;if(!i){t.updateStore(JC(t.initialValues)),t.resetWithFieldInitialValue(),t.notifyObservers(r,null,{type:"reset"}),t.notifyWatch();return}var o=i.map(Fs);o.forEach(function(s){var a=t.getInitialValue(s);t.updateStore(rh(t.store,s,a))}),t.resetWithFieldInitialValue({namePathList:o}),t.notifyObservers(r,o,{type:"reset"}),t.notifyWatch(o)}),ge(this,"setFields",function(i){t.warningUnhooked();var r=t.store,o=[];i.forEach(function(s){var a=s.name,l=zn(s,z3e),u=Fs(a);o.push(u),"value"in l&&t.updateStore(rh(t.store,u,l.value)),t.notifyObservers(r,[u],{type:"setField",data:s})}),t.notifyWatch(o)}),ge(this,"getFields",function(){var i=t.getFieldEntities(!0),r=i.map(function(o){var s=o.getNamePath(),a=o.getMeta(),l=xe(xe({},a),{},{name:s,value:t.getFieldValue(s)});return Object.defineProperty(l,"originRCField",{value:!0}),l});return r}),ge(this,"initEntityValue",function(i){var r=i.props.initialValue;if(r!==void 0){var o=i.getNamePath(),s=Cm(t.store,o);s===void 0&&t.updateStore(rh(t.store,o,r))}}),ge(this,"isMergedPreserve",function(i){var r=i!==void 0?i:t.preserve;return r??!0}),ge(this,"registerField",function(i){t.fieldEntities.push(i);var r=i.getNamePath();if(t.notifyWatch([r]),i.props.initialValue!==void 0){var o=t.store;t.resetWithFieldInitialValue({entities:[i],skipExist:!0}),t.notifyObservers(o,[i.getNamePath()],{type:"valueUpdate",source:"internal"})}return function(s,a){var l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];if(t.fieldEntities=t.fieldEntities.filter(function(d){return d!==i}),!t.isMergedPreserve(a)&&(!s||l.length>1)){var u=s?void 0:t.getInitialValue(r);if(r.length&&t.getFieldValue(r)!==u&&t.fieldEntities.every(function(d){return!Kre(d.getNamePath(),r)})){var c=t.store;t.updateStore(rh(c,r,u,!0)),t.notifyObservers(c,[r],{type:"remove"}),t.triggerDependenciesUpdate(c,r)}}t.notifyWatch([r])}}),ge(this,"dispatch",function(i){switch(i.type){case"updateValue":{var r=i.namePath,o=i.value;t.updateValue(r,o);break}case"validateField":{var s=i.namePath,a=i.triggerName;t.validateFields([s],{triggerName:a});break}}}),ge(this,"notifyObservers",function(i,r,o){if(t.subscribable){var s=xe(xe({},o),{},{store:t.getFieldsValue(!0)});t.getFieldEntities().forEach(function(a){var l=a.onStoreChange;l(i,r,s)})}else t.forceRootUpdate()}),ge(this,"triggerDependenciesUpdate",function(i,r){var o=t.getDependencyChildrenFields(r);return o.length&&t.validateFields(o),t.notifyObservers(i,o,{type:"dependenciesUpdate",relatedFields:[r].concat(_t(o))}),o}),ge(this,"updateValue",function(i,r){var o=Fs(i),s=t.store;t.updateStore(rh(t.store,o,r)),t.notifyObservers(s,[o],{type:"valueUpdate",source:"internal"}),t.notifyWatch([o]);var a=t.triggerDependenciesUpdate(s,o),l=t.callbacks.onValuesChange;if(l){var u=Ure(t.store,[o]);l(u,t.getFieldsValue())}t.triggerOnFieldsChange([o].concat(_t(a)))}),ge(this,"setFieldsValue",function(i){t.warningUnhooked();var r=t.store;if(i){var o=JC(t.store,i);t.updateStore(o)}t.notifyObservers(r,null,{type:"valueUpdate",source:"external"}),t.notifyWatch()}),ge(this,"setFieldValue",function(i,r){t.setFields([{name:i,value:r}])}),ge(this,"getDependencyChildrenFields",function(i){var r=new Set,o=[],s=new sw;t.getFieldEntities().forEach(function(l){var u=l.props.dependencies;(u||[]).forEach(function(c){var d=Fs(c);s.update(d,function(){var h=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Set;return h.add(l),h})})});var a=function l(u){var c=s.get(u)||new Set;c.forEach(function(d){if(!r.has(d)){r.add(d);var h=d.getNamePath();d.isFieldDirty()&&h.length&&(o.push(h),l(h))}})};return a(i),o}),ge(this,"triggerOnFieldsChange",function(i,r){var o=t.callbacks.onFieldsChange;if(o){var s=t.getFields();if(r){var a=new sw;r.forEach(function(u){var c=u.name,d=u.errors;a.set(c,d)}),s.forEach(function(u){u.errors=a.get(u.name)||u.errors})}var l=s.filter(function(u){var c=u.name;return ow(i,c)});l.length&&o(l,s)}}),ge(this,"validateFields",function(i,r){t.warningUnhooked();var o,s;Array.isArray(i)||typeof i=="string"||typeof r=="string"?(o=i,s=r):s=i;var a=!!o,l=a?o.map(Fs):[],u=[],c=String(Date.now()),d=new Set,h=s||{},m=h.recursive,f=h.dirty;t.getFieldEntities(!0).forEach(function(C){if(a||l.push(C.getNamePath()),!(!C.props.rules||!C.props.rules.length)&&!(f&&!C.isFieldDirty())){var S=C.getNamePath();if(d.add(S.join(c)),!a||ow(l,S,m)){var x=C.validateRules(xe({validateMessages:xe(xe({},zre),t.validateMessages)},s));u.push(x.then(function(){return{name:S,errors:[],warnings:[]}}).catch(function(_){var F,D=[],M=[];return(F=_.forEach)===null||F===void 0||F.call(_,function(T){var Z=T.rule.warningOnly,E=T.errors;Z?M.push.apply(M,_t(E)):D.push.apply(D,_t(E))}),D.length?Promise.reject({name:S,errors:D,warnings:M}):{name:S,errors:D,warnings:M}}))}}});var g=B3e(u);t.lastValidatePromise=g,g.catch(function(C){return C}).then(function(C){var S=C.map(function(x){var _=x.name;return _});t.notifyObservers(t.store,S,{type:"validateFinish"}),t.triggerOnFieldsChange(S,C)});var b=g.then(function(){return t.lastValidatePromise===g?Promise.resolve(t.getFieldsValue(l)):Promise.reject([])}).catch(function(C){var S=C.filter(function(x){return x&&x.errors.length});return Promise.reject({values:t.getFieldsValue(l),errorFields:S,outOfDate:t.lastValidatePromise!==g})});b.catch(function(C){return C});var v=l.filter(function(C){return d.has(C.join(c))});return t.triggerOnFieldsChange(v),b}),ge(this,"submit",function(){t.warningUnhooked(),t.validateFields().then(function(i){var r=t.callbacks.onFinish;if(r)try{r(i)}catch{}}).catch(function(i){var r=t.callbacks.onFinishFailed;r&&r(i)})}),this.forceRootUpdate=e});function cP(n){var e=w.useRef(),t=w.useState({}),i=Se(t,2),r=i[1];if(!e.current)if(n)e.current=n;else{var o=function(){r({})},s=new H3e(o);e.current=s.getForm()}return[e.current]}var dP=w.createContext({triggerFormChange:function(){},triggerFormFinish:function(){},registerForm:function(){},unregisterForm:function(){}}),qre=function(e){var t=e.validateMessages,i=e.onFormChange,r=e.onFormFinish,o=e.children,s=w.useContext(dP),a=w.useRef({});return w.createElement(dP.Provider,{value:xe(xe({},s),{},{validateMessages:xe(xe({},s.validateMessages),t),triggerFormChange:function(u,c){i&&i(u,{changedFields:c,forms:a.current}),s.triggerFormChange(u,c)},triggerFormFinish:function(u,c){r&&r(u,{values:c,forms:a.current}),s.triggerFormFinish(u,c)},registerForm:function(u,c){u&&(a.current=xe(xe({},a.current),{},ge({},u,c))),s.registerForm(u,c)},unregisterForm:function(u){var c=xe({},a.current);delete c[u],a.current=c,s.unregisterForm(u)}})},o)},Y3e=["name","initialValues","fields","form","preserve","children","component","validateMessages","validateTrigger","onValuesChange","onFieldsChange","onFinish","onFinishFailed"],U3e=function(e,t){var i=e.name,r=e.initialValues,o=e.fields,s=e.form,a=e.preserve,l=e.children,u=e.component,c=u===void 0?"form":u,d=e.validateMessages,h=e.validateTrigger,m=h===void 0?"onChange":h,f=e.onValuesChange,g=e.onFieldsChange,b=e.onFinish,v=e.onFinishFailed,C=zn(e,Y3e),S=w.useContext(dP),x=cP(s),_=Se(x,1),F=_[0],D=F.getInternalHooks(rv),M=D.useSubscribe,T=D.setInitialValues,Z=D.setCallbacks,E=D.setValidateMessages,R=D.setPreserve,W=D.destroyForm;w.useImperativeHandle(t,function(){return F}),w.useEffect(function(){return S.registerForm(i,F),function(){S.unregisterForm(i)}},[S,F,i]),E(xe(xe({},S.validateMessages),d)),Z({onValuesChange:f,onFieldsChange:function(Y){if(S.triggerFormChange(i,Y),g){for(var V=arguments.length,te=new Array(V>1?V-1:0),oe=1;oe{}}),noe=w.createContext(null),ioe=n=>{const e=la(n,["prefixCls"]);return w.createElement(qre,Object.assign({},e))},hP=w.createContext({prefixCls:""}),Ba=w.createContext({}),r_=n=>{let{children:e,status:t,override:i}=n;const r=w.useContext(Ba),o=w.useMemo(()=>{const s=Object.assign({},r);return i&&delete s.isFormItemInput,t&&(delete s.status,delete s.hasFeedback,delete s.feedbackIcon),s},[t,i,r]);return w.createElement(Ba.Provider,{value:o},e)},roe=w.createContext(void 0);function ooe(){}const J3e=w.createContext({add:ooe,remove:ooe});function j3e(n){const e=w.useContext(J3e),t=w.useRef();return $i(r=>{if(r){const o=n?r.querySelector(n):r;e.add(o),t.current=o}else e.remove(t.current)})}const soe=()=>{const{cancelButtonProps:n,cancelTextLocale:e,onCancel:t}=w.useContext($L);return ze.createElement(jr,Object.assign({onClick:t},n),e)},aoe=()=>{const{confirmLoading:n,okButtonProps:e,okType:t,okTextLocale:i,onOk:r}=w.useContext($L);return ze.createElement(jr,Object.assign({},rre(t),{loading:n,onClick:r},e),i)};function loe(n,e){return ze.createElement("span",{className:`${n}-close-x`},e||ze.createElement(lb,{className:`${n}-close-icon`}))}const uoe=n=>{const{okText:e,okType:t="primary",cancelText:i,confirmLoading:r,onOk:o,onCancel:s,okButtonProps:a,cancelButtonProps:l,footer:u}=n,[c]=rb("Modal",Ene()),d=e||(c==null?void 0:c.okText),h=i||(c==null?void 0:c.cancelText),m={confirmLoading:r,okButtonProps:a,cancelButtonProps:l,okTextLocale:d,cancelTextLocale:h,okType:t,onOk:o,onCancel:s},f=ze.useMemo(()=>m,_t(Object.values(m)));let g;return typeof u=="function"||typeof u>"u"?(g=ze.createElement(ze.Fragment,null,ze.createElement(soe,null),ze.createElement(aoe,null)),typeof u=="function"&&(g=u(g,{OkBtn:aoe,CancelBtn:soe})),g=ze.createElement(gre,{value:f},g)):g=u,ze.createElement(f4,{disabled:!1},g)},mP=n=>({[n.componentCls]:{[`${n.antCls}-motion-collapse-legacy`]:{overflow:"hidden","&-active":{transition:`height ${n.motionDurationMid} ${n.motionEaseInOut}, +`).replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),o=new RegExp("(?:^"+t+"$)|(?:^"+r+"$)"),s=new RegExp("^"+t+"$"),a=new RegExp("^"+r+"$"),l=function(x){return x&&x.exact?o:new RegExp("(?:"+e(x)+t+e(x)+")|(?:"+e(x)+r+e(x)+")","g")};l.v4=function(w){return w&&w.exact?s:new RegExp(""+e(w)+t+e(w),"g")},l.v6=function(w){return w&&w.exact?a:new RegExp(""+e(w)+r+e(w),"g")};var u="(?:(?:[a-z]+:)?//)",c="(?:\\S+(?::\\S*)?@)?",d=l.v4().source,h=l.v6().source,m="(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)",f="(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*",g="(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))",b="(?::\\d{2,5})?",y='(?:[/?#][^\\s"]*)?',C="(?:"+u+"|www\\.)"+c+"(?:localhost|"+d+"|"+h+"|"+m+f+g+")"+b+y;return ZT=new RegExp("(?:^"+C+"$)","i"),ZT},Bre={email:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},tL={integer:function(e){return tL.number(e)&&parseInt(e,10)===e},float:function(e){return tL.number(e)&&!tL.integer(e)},array:function(e){return Array.isArray(e)},regexp:function(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch{return!1}},date:function(e){return typeof e.getTime=="function"&&typeof e.getMonth=="function"&&typeof e.getYear=="function"&&!isNaN(e.getTime())},number:function(e){return isNaN(e)?!1:typeof e=="number"},object:function(e){return typeof e=="object"&&!tL.array(e)},method:function(e){return typeof e=="function"},email:function(e){return typeof e=="string"&&e.length<=320&&!!e.match(Bre.email)},url:function(e){return typeof e=="string"&&e.length<=2048&&!!e.match(p3e())},hex:function(e){return typeof e=="string"&&!!e.match(Bre.hex)}},b3e=function(e,t,i,r,o){if(e.required&&t===void 0){Ore(e,t,i,r,o);return}var s=["integer","float","array","regexp","object","method","email","number","date","url","hex"],a=e.type;s.indexOf(a)>-1?tL[a](t)||r.push(bc(o.messages.types[a],e.fullField,e.type)):a&&typeof t!==e.type&&r.push(bc(o.messages.types[a],e.fullField,e.type))},y3e=function(e,t,i,r,o){var s=typeof e.len=="number",a=typeof e.min=="number",l=typeof e.max=="number",u=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,c=t,d=null,h=typeof t=="number",m=typeof t=="string",f=Array.isArray(t);if(h?d="number":m?d="string":f&&(d="array"),!d)return!1;f&&(c=t.length),m&&(c=t.replace(u,"_").length),s?c!==e.len&&r.push(bc(o.messages[d].len,e.fullField,e.len)):a&&!l&&ce.max?r.push(bc(o.messages[d].max,e.fullField,e.max)):a&&l&&(ce.max)&&r.push(bc(o.messages[d].range,e.fullField,e.min,e.max))},rS="enum",v3e=function(e,t,i,r,o){e[rS]=Array.isArray(e[rS])?e[rS]:[],e[rS].indexOf(t)===-1&&r.push(bc(o.messages[rS],e.fullField,e[rS].join(", ")))},C3e=function(e,t,i,r,o){if(e.pattern){if(e.pattern instanceof RegExp)e.pattern.lastIndex=0,e.pattern.test(t)||r.push(bc(o.messages.pattern.mismatch,e.fullField,t,e.pattern));else if(typeof e.pattern=="string"){var s=new RegExp(e.pattern);s.test(t)||r.push(bc(o.messages.pattern.mismatch,e.fullField,t,e.pattern))}}},$i={required:Ore,whitespace:g3e,type:b3e,range:y3e,enum:v3e,pattern:C3e},S3e=function(e,t,i,r,o){var s=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(ua(t,"string")&&!e.required)return i();$i.required(e,t,r,s,o,"string"),ua(t,"string")||($i.type(e,t,r,s,o),$i.range(e,t,r,s,o),$i.pattern(e,t,r,s,o),e.whitespace===!0&&$i.whitespace(e,t,r,s,o))}i(s)},w3e=function(e,t,i,r,o){var s=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(ua(t)&&!e.required)return i();$i.required(e,t,r,s,o),t!==void 0&&$i.type(e,t,r,s,o)}i(s)},x3e=function(e,t,i,r,o){var s=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(t===""&&(t=void 0),ua(t)&&!e.required)return i();$i.required(e,t,r,s,o),t!==void 0&&($i.type(e,t,r,s,o),$i.range(e,t,r,s,o))}i(s)},_3e=function(e,t,i,r,o){var s=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(ua(t)&&!e.required)return i();$i.required(e,t,r,s,o),t!==void 0&&$i.type(e,t,r,s,o)}i(s)},L3e=function(e,t,i,r,o){var s=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(ua(t)&&!e.required)return i();$i.required(e,t,r,s,o),ua(t)||$i.type(e,t,r,s,o)}i(s)},I3e=function(e,t,i,r,o){var s=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(ua(t)&&!e.required)return i();$i.required(e,t,r,s,o),t!==void 0&&($i.type(e,t,r,s,o),$i.range(e,t,r,s,o))}i(s)},F3e=function(e,t,i,r,o){var s=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(ua(t)&&!e.required)return i();$i.required(e,t,r,s,o),t!==void 0&&($i.type(e,t,r,s,o),$i.range(e,t,r,s,o))}i(s)},D3e=function(e,t,i,r,o){var s=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(t==null&&!e.required)return i();$i.required(e,t,r,s,o,"array"),t!=null&&($i.type(e,t,r,s,o),$i.range(e,t,r,s,o))}i(s)},N3e=function(e,t,i,r,o){var s=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(ua(t)&&!e.required)return i();$i.required(e,t,r,s,o),t!==void 0&&$i.type(e,t,r,s,o)}i(s)},M3e="enum",k3e=function(e,t,i,r,o){var s=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(ua(t)&&!e.required)return i();$i.required(e,t,r,s,o),t!==void 0&&$i[M3e](e,t,r,s,o)}i(s)},T3e=function(e,t,i,r,o){var s=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(ua(t,"string")&&!e.required)return i();$i.required(e,t,r,s,o),ua(t,"string")||$i.pattern(e,t,r,s,o)}i(s)},E3e=function(e,t,i,r,o){var s=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(ua(t,"date")&&!e.required)return i();if($i.required(e,t,r,s,o),!ua(t,"date")){var l;t instanceof Date?l=t:l=new Date(t),$i.type(e,l,r,s,o),l&&$i.range(e,l.getTime(),r,s,o)}}i(s)},R3e=function(e,t,i,r,o){var s=[],a=Array.isArray(t)?"array":typeof t;$i.required(e,t,r,s,o,a),i(s)},eP=function(e,t,i,r,o){var s=e.type,a=[],l=e.required||!e.required&&r.hasOwnProperty(e.field);if(l){if(ua(t,s)&&!e.required)return i();$i.required(e,t,r,a,o,s),ua(t,s)||$i.type(e,t,r,a,o)}i(a)},Z3e=function(e,t,i,r,o){var s=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(ua(t)&&!e.required)return i();$i.required(e,t,r,s,o)}i(s)},nL={string:S3e,method:w3e,number:x3e,boolean:_3e,regexp:L3e,integer:I3e,float:F3e,array:D3e,object:N3e,enum:k3e,pattern:T3e,date:E3e,url:eP,hex:eP,email:eP,required:R3e,any:Z3e};function tP(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}var nP=tP(),iL=function(){function n(t){this.rules=null,this._messages=nP,this.define(t)}var e=n.prototype;return e.define=function(i){var r=this;if(!i)throw new Error("Cannot configure a schema with no rules");if(typeof i!="object"||Array.isArray(i))throw new Error("Rules must be an object");this.rules={},Object.keys(i).forEach(function(o){var s=i[o];r.rules[o]=Array.isArray(s)?s:[s]})},e.messages=function(i){return i&&(this._messages=Pre(tP(),i)),this._messages},e.validate=function(i,r,o){var s=this;r===void 0&&(r={}),o===void 0&&(o=function(){});var a=i,l=r,u=o;if(typeof l=="function"&&(u=l,l={}),!this.rules||Object.keys(this.rules).length===0)return u&&u(null,a),Promise.resolve(a);function c(g){var b=[],y={};function C(x){if(Array.isArray(x)){var L;b=(L=b).concat.apply(L,x)}else b.push(x)}for(var w=0;w2&&arguments[2]!==void 0?arguments[2]:!1;return n&&n.some(function(i){return Kre(e,i,t)})}function Kre(n,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return!n||!e||!t&&n.length!==e.length?!1:e.every(function(i,r){return n[r]===i})}function X3e(n,e){if(n===e)return!0;if(!n&&e||n&&!e||!n||!e||Xn(n)!=="object"||Xn(e)!=="object")return!1;var t=Object.keys(n),i=Object.keys(e),r=new Set([].concat(t,i));return Lt(r).every(function(o){var s=n[o],a=e[o];return typeof s=="function"&&typeof a=="function"?!0:s===a})}function P3e(n){var e=arguments.length<=1?void 0:arguments[1];return e&&e.target&&Xn(e.target)==="object"&&n in e.target?e.target[n]:e}function Jre(n,e,t){var i=n.length;if(e<0||e>=i||t<0||t>=i)return n;var r=n[e],o=e-t;return o>0?[].concat(Lt(n.slice(0,t)),[r],Lt(n.slice(t,e)),Lt(n.slice(e+1,i))):o<0?[].concat(Lt(n.slice(0,e)),Lt(n.slice(e+1,t+1)),[r],Lt(n.slice(t+1,i))):n}var O3e=["name"],ud=[];function jre(n,e,t,i,r,o){return typeof n=="function"?n(e,t,"source"in o?{source:o.source}:{}):i!==r}var aP=function(n){Qf(t,n);var e=H1(t);function t(i){var r;if(xs(this,t),r=e.call(this,i),ge(bi(r),"state",{resetCount:0}),ge(bi(r),"cancelRegisterFunc",null),ge(bi(r),"mounted",!1),ge(bi(r),"touched",!1),ge(bi(r),"dirty",!1),ge(bi(r),"validatePromise",void 0),ge(bi(r),"prevValidating",void 0),ge(bi(r),"errors",ud),ge(bi(r),"warnings",ud),ge(bi(r),"cancelRegister",function(){var l=r.props,u=l.preserve,c=l.isListField,d=l.name;r.cancelRegisterFunc&&r.cancelRegisterFunc(c,u,Is(d)),r.cancelRegisterFunc=null}),ge(bi(r),"getNamePath",function(){var l=r.props,u=l.name,c=l.fieldContext,d=c.prefixName,h=d===void 0?[]:d;return u!==void 0?[].concat(Lt(h),Lt(u)):[]}),ge(bi(r),"getRules",function(){var l=r.props,u=l.rules,c=u===void 0?[]:u,d=l.fieldContext;return c.map(function(h){return typeof h=="function"?h(d):h})}),ge(bi(r),"refresh",function(){r.mounted&&r.setState(function(l){var u=l.resetCount;return{resetCount:u+1}})}),ge(bi(r),"metaCache",null),ge(bi(r),"triggerMetaEvent",function(l){var u=r.props.onMetaChange;if(u){var c=xe(xe({},r.getMeta()),{},{destroy:l});W_(r.metaCache,c)||u(c),r.metaCache=c}else r.metaCache=null}),ge(bi(r),"onStoreChange",function(l,u,c){var d=r.props,h=d.shouldUpdate,m=d.dependencies,f=m===void 0?[]:m,g=d.onReset,b=c.store,y=r.getNamePath(),C=r.getValue(l),w=r.getValue(b),x=u&&oS(u,y);switch(c.type==="valueUpdate"&&c.source==="external"&&!W_(C,w)&&(r.touched=!0,r.dirty=!0,r.validatePromise=null,r.errors=ud,r.warnings=ud,r.triggerMetaEvent()),c.type){case"reset":if(!u||x){r.touched=!1,r.dirty=!1,r.validatePromise=void 0,r.errors=ud,r.warnings=ud,r.triggerMetaEvent(),g==null||g(),r.refresh();return}break;case"remove":{if(h){r.reRender();return}break}case"setField":{var L=c.data;if(x){"touched"in L&&(r.touched=L.touched),"validating"in L&&!("originRCField"in L)&&(r.validatePromise=L.validating?Promise.resolve([]):null),"errors"in L&&(r.errors=L.errors||ud),"warnings"in L&&(r.warnings=L.warnings||ud),r.dirty=!0,r.triggerMetaEvent(),r.reRender();return}else if("value"in L&&oS(u,y,!0)){r.reRender();return}if(h&&!y.length&&jre(h,l,b,C,w,c)){r.reRender();return}break}case"dependenciesUpdate":{var I=f.map(Is);if(I.some(function(D){return oS(c.relatedFields,D)})){r.reRender();return}break}default:if(x||(!f.length||y.length||h)&&jre(h,l,b,C,w,c)){r.reRender();return}break}h===!0&&r.reRender()}),ge(bi(r),"validateRules",function(l){var u=r.getNamePath(),c=r.getValue(),d=l||{},h=d.triggerName,m=d.validateOnly,f=m===void 0?!1:m,g=Promise.resolve().then(ub(Oa().mark(function b(){var y,C,w,x,L,I,D;return Oa().wrap(function(T){for(;;)switch(T.prev=T.next){case 0:if(r.mounted){T.next=2;break}return T.abrupt("return",[]);case 2:if(y=r.props,C=y.validateFirst,w=C===void 0?!1:C,x=y.messageVariables,L=y.validateDebounce,I=r.getRules(),h&&(I=I.filter(function(R){return R}).filter(function(R){var E=R.validateTrigger;if(!E)return!0;var W=j4(E);return W.includes(h)})),!(L&&h)){T.next=10;break}return T.next=8,new Promise(function(R){setTimeout(R,L)});case 8:if(r.validatePromise===g){T.next=10;break}return T.abrupt("return",[]);case 10:return D=A3e(u,c,I,l,w,x),D.catch(function(R){return R}).then(function(){var R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ud;if(r.validatePromise===g){var E;r.validatePromise=null;var W=[],Z=[];(E=R.forEach)===null||E===void 0||E.call(R,function(V){var z=V.rule.warningOnly,O=V.errors,B=O===void 0?ud:O;z?Z.push.apply(Z,Lt(B)):W.push.apply(W,Lt(B))}),r.errors=W,r.warnings=Z,r.triggerMetaEvent(),r.reRender()}}),T.abrupt("return",D);case 13:case"end":return T.stop()}},b)})));return f||(r.validatePromise=g,r.dirty=!0,r.errors=ud,r.warnings=ud,r.triggerMetaEvent(),r.reRender()),g}),ge(bi(r),"isFieldValidating",function(){return!!r.validatePromise}),ge(bi(r),"isFieldTouched",function(){return r.touched}),ge(bi(r),"isFieldDirty",function(){if(r.dirty||r.props.initialValue!==void 0)return!0;var l=r.props.fieldContext,u=l.getInternalHooks(ry),c=u.getInitialValue;return c(r.getNamePath())!==void 0}),ge(bi(r),"getErrors",function(){return r.errors}),ge(bi(r),"getWarnings",function(){return r.warnings}),ge(bi(r),"isListField",function(){return r.props.isListField}),ge(bi(r),"isList",function(){return r.props.isList}),ge(bi(r),"isPreserve",function(){return r.props.preserve}),ge(bi(r),"getMeta",function(){r.prevValidating=r.isFieldValidating();var l={touched:r.isFieldTouched(),validating:r.prevValidating,errors:r.errors,warnings:r.warnings,name:r.getNamePath(),validated:r.validatePromise===null};return l}),ge(bi(r),"getOnlyChild",function(l){if(typeof l=="function"){var u=r.getMeta();return xe(xe({},r.getOnlyChild(l(r.getControlled(),u,r.props.fieldContext))),{},{isFunction:!0})}var c=sd(l);return c.length!==1||!S.isValidElement(c[0])?{child:c,isFunction:!1}:{child:c[0],isFunction:!1}}),ge(bi(r),"getValue",function(l){var u=r.props.fieldContext.getFieldsValue,c=r.getNamePath();return Cm(l||u(!0),c)}),ge(bi(r),"getControlled",function(){var l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},u=r.props,c=u.name,d=u.trigger,h=u.validateTrigger,m=u.getValueFromEvent,f=u.normalize,g=u.valuePropName,b=u.getValueProps,y=u.fieldContext,C=h!==void 0?h:y.validateTrigger,w=r.getNamePath(),x=y.getInternalHooks,L=y.getFieldsValue,I=x(ry),D=I.dispatch,N=r.getValue(),T=b||function(V){return ge({},g,V)},R=l[d],E=c!==void 0?T(N):{},W=xe(xe({},l),E);W[d]=function(){r.touched=!0,r.dirty=!0,r.triggerMetaEvent();for(var V,z=arguments.length,O=new Array(z),B=0;B=0&&R<=E.length?(c.keys=[].concat(Lt(c.keys.slice(0,R)),[c.id],Lt(c.keys.slice(R))),w([].concat(Lt(E.slice(0,R)),[T],Lt(E.slice(R))))):(c.keys=[].concat(Lt(c.keys),[c.id]),w([].concat(Lt(E),[T]))),c.id+=1},remove:function(T){var R=L(),E=new Set(Array.isArray(T)?T:[T]);E.size<=0||(c.keys=c.keys.filter(function(W,Z){return!E.has(Z)}),w(R.filter(function(W,Z){return!E.has(Z)})))},move:function(T,R){if(T!==R){var E=L();T<0||T>=E.length||R<0||R>=E.length||(c.keys=Jre(c.keys,T,R),w(Jre(E,T,R)))}}},D=C||[];return Array.isArray(D)||(D=[]),i(D.map(function(N,T){var R=c.keys[T];return R===void 0&&(c.keys[T]=c.id,R=c.keys[T],c.id+=1),{name:T,key:R,isListField:!0}}),I,b)})))}function B3e(n){var e=!1,t=n.length,i=[];return n.length?new Promise(function(r,o){n.forEach(function(s,a){s.catch(function(l){return e=!0,l}).then(function(l){t-=1,i[a]=l,!(t>0)&&(e&&o(i),r(i))})})}):Promise.resolve([])}var $re="__@field_split__";function uP(n){return n.map(function(e){return"".concat(Xn(e),":").concat(e)}).join($re)}var sS=function(){function n(){xs(this,n),ge(this,"kvs",new Map)}return _s(n,[{key:"set",value:function(t,i){this.kvs.set(uP(t),i)}},{key:"get",value:function(t){return this.kvs.get(uP(t))}},{key:"update",value:function(t,i){var r=this.get(t),o=i(r);o?this.set(t,o):this.delete(t)}},{key:"delete",value:function(t){this.kvs.delete(uP(t))}},{key:"map",value:function(t){return Lt(this.kvs.entries()).map(function(i){var r=we(i,2),o=r[0],s=r[1],a=o.split($re);return t({key:a.map(function(l){var u=l.match(/^([^:]*):(.*)$/),c=we(u,3),d=c[1],h=c[2];return d==="number"?Number(h):h}),value:s})})}},{key:"toJSON",value:function(){var t={};return this.map(function(i){var r=i.key,o=i.value;return t[r.join(".")]=o,null}),t}}]),n}(),z3e=["name"],H3e=_s(function n(e){var t=this;xs(this,n),ge(this,"formHooked",!1),ge(this,"forceRootUpdate",void 0),ge(this,"subscribable",!0),ge(this,"store",{}),ge(this,"fieldEntities",[]),ge(this,"initialValues",{}),ge(this,"callbacks",{}),ge(this,"validateMessages",null),ge(this,"preserve",null),ge(this,"lastValidatePromise",null),ge(this,"getForm",function(){return{getFieldValue:t.getFieldValue,getFieldsValue:t.getFieldsValue,getFieldError:t.getFieldError,getFieldWarning:t.getFieldWarning,getFieldsError:t.getFieldsError,isFieldsTouched:t.isFieldsTouched,isFieldTouched:t.isFieldTouched,isFieldValidating:t.isFieldValidating,isFieldsValidating:t.isFieldsValidating,resetFields:t.resetFields,setFields:t.setFields,setFieldValue:t.setFieldValue,setFieldsValue:t.setFieldsValue,validateFields:t.validateFields,submit:t.submit,_init:!0,getInternalHooks:t.getInternalHooks}}),ge(this,"getInternalHooks",function(i){return i===ry?(t.formHooked=!0,{dispatch:t.dispatch,initEntityValue:t.initEntityValue,registerField:t.registerField,useSubscribe:t.useSubscribe,setInitialValues:t.setInitialValues,destroyForm:t.destroyForm,setCallbacks:t.setCallbacks,setValidateMessages:t.setValidateMessages,getFields:t.getFields,setPreserve:t.setPreserve,getInitialValue:t.getInitialValue,registerWatch:t.registerWatch}):(aa(!1,"`getInternalHooks` is internal usage. Should not call directly."),null)}),ge(this,"useSubscribe",function(i){t.subscribable=i}),ge(this,"prevWithoutPreserves",null),ge(this,"setInitialValues",function(i,r){if(t.initialValues=i||{},r){var o,s=JC(i,t.store);(o=t.prevWithoutPreserves)===null||o===void 0||o.map(function(a){var l=a.key;s=ih(s,l,Cm(i,l))}),t.prevWithoutPreserves=null,t.updateStore(s)}}),ge(this,"destroyForm",function(){var i=new sS;t.getFieldEntities(!0).forEach(function(r){t.isMergedPreserve(r.isPreserve())||i.set(r.getNamePath(),!0)}),t.prevWithoutPreserves=i}),ge(this,"getInitialValue",function(i){var r=Cm(t.initialValues,i);return i.length?JC(r):r}),ge(this,"setCallbacks",function(i){t.callbacks=i}),ge(this,"setValidateMessages",function(i){t.validateMessages=i}),ge(this,"setPreserve",function(i){t.preserve=i}),ge(this,"watchList",[]),ge(this,"registerWatch",function(i){return t.watchList.push(i),function(){t.watchList=t.watchList.filter(function(r){return r!==i})}}),ge(this,"notifyWatch",function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];if(t.watchList.length){var r=t.getFieldsValue(),o=t.getFieldsValue(!0);t.watchList.forEach(function(s){s(r,o,i)})}}),ge(this,"timeoutId",null),ge(this,"warningUnhooked",function(){}),ge(this,"updateStore",function(i){t.store=i}),ge(this,"getFieldEntities",function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;return i?t.fieldEntities.filter(function(r){return r.getNamePath().length}):t.fieldEntities}),ge(this,"getFieldsMap",function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,r=new sS;return t.getFieldEntities(i).forEach(function(o){var s=o.getNamePath();r.set(s,o)}),r}),ge(this,"getFieldEntitiesForNamePathList",function(i){if(!i)return t.getFieldEntities(!0);var r=t.getFieldsMap(!0);return i.map(function(o){var s=Is(o);return r.get(s)||{INVALIDATE_NAME_PATH:Is(o)}})}),ge(this,"getFieldsValue",function(i,r){t.warningUnhooked();var o,s,a;if(i===!0||Array.isArray(i)?(o=i,s=r):i&&Xn(i)==="object"&&(a=i.strict,s=i.filter),o===!0&&!s)return t.store;var l=t.getFieldEntitiesForNamePathList(Array.isArray(o)?o:null),u=[];return l.forEach(function(c){var d,h,m="INVALIDATE_NAME_PATH"in c?c.INVALIDATE_NAME_PATH:c.getNamePath();if(a){var f,g;if((f=(g=c).isList)!==null&&f!==void 0&&f.call(g))return}else if(!o&&(d=(h=c).isListField)!==null&&d!==void 0&&d.call(h))return;if(!s)u.push(m);else{var b="getMeta"in c?c.getMeta():null;s(b)&&u.push(m)}}),Ure(t.store,u.map(Is))}),ge(this,"getFieldValue",function(i){t.warningUnhooked();var r=Is(i);return Cm(t.store,r)}),ge(this,"getFieldsError",function(i){t.warningUnhooked();var r=t.getFieldEntitiesForNamePathList(i);return r.map(function(o,s){return o&&!("INVALIDATE_NAME_PATH"in o)?{name:o.getNamePath(),errors:o.getErrors(),warnings:o.getWarnings()}:{name:Is(i[s]),errors:[],warnings:[]}})}),ge(this,"getFieldError",function(i){t.warningUnhooked();var r=Is(i),o=t.getFieldsError([r])[0];return o.errors}),ge(this,"getFieldWarning",function(i){t.warningUnhooked();var r=Is(i),o=t.getFieldsError([r])[0];return o.warnings}),ge(this,"isFieldsTouched",function(){t.warningUnhooked();for(var i=arguments.length,r=new Array(i),o=0;o0&&arguments[0]!==void 0?arguments[0]:{},r=new sS,o=t.getFieldEntities(!0);o.forEach(function(l){var u=l.props.initialValue,c=l.getNamePath();if(u!==void 0){var d=r.get(c)||new Set;d.add({entity:l,value:u}),r.set(c,d)}});var s=function(u){u.forEach(function(c){var d=c.props.initialValue;if(d!==void 0){var h=c.getNamePath(),m=t.getInitialValue(h);if(m!==void 0)aa(!1,"Form already set 'initialValues' with path '".concat(h.join("."),"'. Field can not overwrite it."));else{var f=r.get(h);if(f&&f.size>1)aa(!1,"Multiple Field with path '".concat(h.join("."),"' set 'initialValue'. Can not decide which one to pick."));else if(f){var g=t.getFieldValue(h),b=c.isListField();!b&&(!i.skipExist||g===void 0)&&t.updateStore(ih(t.store,h,Lt(f)[0].value))}}}})},a;i.entities?a=i.entities:i.namePathList?(a=[],i.namePathList.forEach(function(l){var u=r.get(l);if(u){var c;(c=a).push.apply(c,Lt(Lt(u).map(function(d){return d.entity})))}})):a=o,s(a)}),ge(this,"resetFields",function(i){t.warningUnhooked();var r=t.store;if(!i){t.updateStore(JC(t.initialValues)),t.resetWithFieldInitialValue(),t.notifyObservers(r,null,{type:"reset"}),t.notifyWatch();return}var o=i.map(Is);o.forEach(function(s){var a=t.getInitialValue(s);t.updateStore(ih(t.store,s,a))}),t.resetWithFieldInitialValue({namePathList:o}),t.notifyObservers(r,o,{type:"reset"}),t.notifyWatch(o)}),ge(this,"setFields",function(i){t.warningUnhooked();var r=t.store,o=[];i.forEach(function(s){var a=s.name,l=zn(s,z3e),u=Is(a);o.push(u),"value"in l&&t.updateStore(ih(t.store,u,l.value)),t.notifyObservers(r,[u],{type:"setField",data:s})}),t.notifyWatch(o)}),ge(this,"getFields",function(){var i=t.getFieldEntities(!0),r=i.map(function(o){var s=o.getNamePath(),a=o.getMeta(),l=xe(xe({},a),{},{name:s,value:t.getFieldValue(s)});return Object.defineProperty(l,"originRCField",{value:!0}),l});return r}),ge(this,"initEntityValue",function(i){var r=i.props.initialValue;if(r!==void 0){var o=i.getNamePath(),s=Cm(t.store,o);s===void 0&&t.updateStore(ih(t.store,o,r))}}),ge(this,"isMergedPreserve",function(i){var r=i!==void 0?i:t.preserve;return r??!0}),ge(this,"registerField",function(i){t.fieldEntities.push(i);var r=i.getNamePath();if(t.notifyWatch([r]),i.props.initialValue!==void 0){var o=t.store;t.resetWithFieldInitialValue({entities:[i],skipExist:!0}),t.notifyObservers(o,[i.getNamePath()],{type:"valueUpdate",source:"internal"})}return function(s,a){var l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];if(t.fieldEntities=t.fieldEntities.filter(function(d){return d!==i}),!t.isMergedPreserve(a)&&(!s||l.length>1)){var u=s?void 0:t.getInitialValue(r);if(r.length&&t.getFieldValue(r)!==u&&t.fieldEntities.every(function(d){return!Kre(d.getNamePath(),r)})){var c=t.store;t.updateStore(ih(c,r,u,!0)),t.notifyObservers(c,[r],{type:"remove"}),t.triggerDependenciesUpdate(c,r)}}t.notifyWatch([r])}}),ge(this,"dispatch",function(i){switch(i.type){case"updateValue":{var r=i.namePath,o=i.value;t.updateValue(r,o);break}case"validateField":{var s=i.namePath,a=i.triggerName;t.validateFields([s],{triggerName:a});break}}}),ge(this,"notifyObservers",function(i,r,o){if(t.subscribable){var s=xe(xe({},o),{},{store:t.getFieldsValue(!0)});t.getFieldEntities().forEach(function(a){var l=a.onStoreChange;l(i,r,s)})}else t.forceRootUpdate()}),ge(this,"triggerDependenciesUpdate",function(i,r){var o=t.getDependencyChildrenFields(r);return o.length&&t.validateFields(o),t.notifyObservers(i,o,{type:"dependenciesUpdate",relatedFields:[r].concat(Lt(o))}),o}),ge(this,"updateValue",function(i,r){var o=Is(i),s=t.store;t.updateStore(ih(t.store,o,r)),t.notifyObservers(s,[o],{type:"valueUpdate",source:"internal"}),t.notifyWatch([o]);var a=t.triggerDependenciesUpdate(s,o),l=t.callbacks.onValuesChange;if(l){var u=Ure(t.store,[o]);l(u,t.getFieldsValue())}t.triggerOnFieldsChange([o].concat(Lt(a)))}),ge(this,"setFieldsValue",function(i){t.warningUnhooked();var r=t.store;if(i){var o=JC(t.store,i);t.updateStore(o)}t.notifyObservers(r,null,{type:"valueUpdate",source:"external"}),t.notifyWatch()}),ge(this,"setFieldValue",function(i,r){t.setFields([{name:i,value:r}])}),ge(this,"getDependencyChildrenFields",function(i){var r=new Set,o=[],s=new sS;t.getFieldEntities().forEach(function(l){var u=l.props.dependencies;(u||[]).forEach(function(c){var d=Is(c);s.update(d,function(){var h=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Set;return h.add(l),h})})});var a=function l(u){var c=s.get(u)||new Set;c.forEach(function(d){if(!r.has(d)){r.add(d);var h=d.getNamePath();d.isFieldDirty()&&h.length&&(o.push(h),l(h))}})};return a(i),o}),ge(this,"triggerOnFieldsChange",function(i,r){var o=t.callbacks.onFieldsChange;if(o){var s=t.getFields();if(r){var a=new sS;r.forEach(function(u){var c=u.name,d=u.errors;a.set(c,d)}),s.forEach(function(u){u.errors=a.get(u.name)||u.errors})}var l=s.filter(function(u){var c=u.name;return oS(i,c)});l.length&&o(l,s)}}),ge(this,"validateFields",function(i,r){t.warningUnhooked();var o,s;Array.isArray(i)||typeof i=="string"||typeof r=="string"?(o=i,s=r):s=i;var a=!!o,l=a?o.map(Is):[],u=[],c=String(Date.now()),d=new Set,h=s||{},m=h.recursive,f=h.dirty;t.getFieldEntities(!0).forEach(function(C){if(a||l.push(C.getNamePath()),!(!C.props.rules||!C.props.rules.length)&&!(f&&!C.isFieldDirty())){var w=C.getNamePath();if(d.add(w.join(c)),!a||oS(l,w,m)){var x=C.validateRules(xe({validateMessages:xe(xe({},zre),t.validateMessages)},s));u.push(x.then(function(){return{name:w,errors:[],warnings:[]}}).catch(function(L){var I,D=[],N=[];return(I=L.forEach)===null||I===void 0||I.call(L,function(T){var R=T.rule.warningOnly,E=T.errors;R?N.push.apply(N,Lt(E)):D.push.apply(D,Lt(E))}),D.length?Promise.reject({name:w,errors:D,warnings:N}):{name:w,errors:D,warnings:N}}))}}});var g=B3e(u);t.lastValidatePromise=g,g.catch(function(C){return C}).then(function(C){var w=C.map(function(x){var L=x.name;return L});t.notifyObservers(t.store,w,{type:"validateFinish"}),t.triggerOnFieldsChange(w,C)});var b=g.then(function(){return t.lastValidatePromise===g?Promise.resolve(t.getFieldsValue(l)):Promise.reject([])}).catch(function(C){var w=C.filter(function(x){return x&&x.errors.length});return Promise.reject({values:t.getFieldsValue(l),errorFields:w,outOfDate:t.lastValidatePromise!==g})});b.catch(function(C){return C});var y=l.filter(function(C){return d.has(C.join(c))});return t.triggerOnFieldsChange(y),b}),ge(this,"submit",function(){t.warningUnhooked(),t.validateFields().then(function(i){var r=t.callbacks.onFinish;if(r)try{r(i)}catch{}}).catch(function(i){var r=t.callbacks.onFinishFailed;r&&r(i)})}),this.forceRootUpdate=e});function cP(n){var e=S.useRef(),t=S.useState({}),i=we(t,2),r=i[1];if(!e.current)if(n)e.current=n;else{var o=function(){r({})},s=new H3e(o);e.current=s.getForm()}return[e.current]}var dP=S.createContext({triggerFormChange:function(){},triggerFormFinish:function(){},registerForm:function(){},unregisterForm:function(){}}),qre=function(e){var t=e.validateMessages,i=e.onFormChange,r=e.onFormFinish,o=e.children,s=S.useContext(dP),a=S.useRef({});return S.createElement(dP.Provider,{value:xe(xe({},s),{},{validateMessages:xe(xe({},s.validateMessages),t),triggerFormChange:function(u,c){i&&i(u,{changedFields:c,forms:a.current}),s.triggerFormChange(u,c)},triggerFormFinish:function(u,c){r&&r(u,{values:c,forms:a.current}),s.triggerFormFinish(u,c)},registerForm:function(u,c){u&&(a.current=xe(xe({},a.current),{},ge({},u,c))),s.registerForm(u,c)},unregisterForm:function(u){var c=xe({},a.current);delete c[u],a.current=c,s.unregisterForm(u)}})},o)},Y3e=["name","initialValues","fields","form","preserve","children","component","validateMessages","validateTrigger","onValuesChange","onFieldsChange","onFinish","onFinishFailed"],U3e=function(e,t){var i=e.name,r=e.initialValues,o=e.fields,s=e.form,a=e.preserve,l=e.children,u=e.component,c=u===void 0?"form":u,d=e.validateMessages,h=e.validateTrigger,m=h===void 0?"onChange":h,f=e.onValuesChange,g=e.onFieldsChange,b=e.onFinish,y=e.onFinishFailed,C=zn(e,Y3e),w=S.useContext(dP),x=cP(s),L=we(x,1),I=L[0],D=I.getInternalHooks(ry),N=D.useSubscribe,T=D.setInitialValues,R=D.setCallbacks,E=D.setValidateMessages,W=D.setPreserve,Z=D.destroyForm;S.useImperativeHandle(t,function(){return I}),S.useEffect(function(){return w.registerForm(i,I),function(){w.unregisterForm(i)}},[w,I,i]),E(xe(xe({},w.validateMessages),d)),R({onValuesChange:f,onFieldsChange:function(Y){if(w.triggerFormChange(i,Y),g){for(var A=arguments.length,te=new Array(A>1?A-1:0),oe=1;oe{}}),noe=S.createContext(null),ioe=n=>{const e=la(n,["prefixCls"]);return S.createElement(qre,Object.assign({},e))},hP=S.createContext({prefixCls:""}),Ba=S.createContext({}),rL=n=>{let{children:e,status:t,override:i}=n;const r=S.useContext(Ba),o=S.useMemo(()=>{const s=Object.assign({},r);return i&&delete s.isFormItemInput,t&&(delete s.status,delete s.hasFeedback,delete s.feedbackIcon),s},[t,i,r]);return S.createElement(Ba.Provider,{value:o},e)},roe=S.createContext(void 0);function ooe(){}const J3e=S.createContext({add:ooe,remove:ooe});function j3e(n){const e=S.useContext(J3e),t=S.useRef();return Qi(r=>{if(r){const o=n?r.querySelector(n):r;e.add(o),t.current=o}else e.remove(t.current)})}const soe=()=>{const{cancelButtonProps:n,cancelTextLocale:e,onCancel:t}=S.useContext($_);return ze.createElement(jr,Object.assign({onClick:t},n),e)},aoe=()=>{const{confirmLoading:n,okButtonProps:e,okType:t,okTextLocale:i,onOk:r}=S.useContext($_);return ze.createElement(jr,Object.assign({},rre(t),{loading:n,onClick:r},e),i)};function loe(n,e){return ze.createElement("span",{className:`${n}-close-x`},e||ze.createElement(lb,{className:`${n}-close-icon`}))}const uoe=n=>{const{okText:e,okType:t="primary",cancelText:i,confirmLoading:r,onOk:o,onCancel:s,okButtonProps:a,cancelButtonProps:l,footer:u}=n,[c]=rb("Modal",Ene()),d=e||(c==null?void 0:c.okText),h=i||(c==null?void 0:c.cancelText),m={confirmLoading:r,okButtonProps:a,cancelButtonProps:l,okTextLocale:d,cancelTextLocale:h,okType:t,onOk:o,onCancel:s},f=ze.useMemo(()=>m,Lt(Object.values(m)));let g;return typeof u=="function"||typeof u>"u"?(g=ze.createElement(ze.Fragment,null,ze.createElement(soe,null),ze.createElement(aoe,null)),typeof u=="function"&&(g=u(g,{OkBtn:aoe,CancelBtn:soe})),g=ze.createElement(gre,{value:f},g)):g=u,ze.createElement(f4,{disabled:!1},g)},mP=n=>({[n.componentCls]:{[`${n.antCls}-motion-collapse-legacy`]:{overflow:"hidden","&-active":{transition:`height ${n.motionDurationMid} ${n.motionEaseInOut}, opacity ${n.motionDurationMid} ${n.motionEaseInOut} !important`}},[`${n.antCls}-motion-collapse`]:{overflow:"hidden",transition:`height ${n.motionDurationMid} ${n.motionEaseInOut}, - opacity ${n.motionDurationMid} ${n.motionEaseInOut} !important`}}}),Q3e=n=>({animationDuration:n,animationFillMode:"both"}),$3e=n=>({animationDuration:n,animationFillMode:"both"}),RT=function(n,e,t,i){const o=(arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1)?"&":"";return{[` + opacity ${n.motionDurationMid} ${n.motionEaseInOut} !important`}}}),Q3e=n=>({animationDuration:n,animationFillMode:"both"}),$3e=n=>({animationDuration:n,animationFillMode:"both"}),WT=function(n,e,t,i){const o=(arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1)?"&":"";return{[` ${o}${n}-enter, ${o}${n}-appear `]:Object.assign(Object.assign({},Q3e(i)),{animationPlayState:"paused"}),[`${o}${n}-leave`]:Object.assign(Object.assign({},$3e(i)),{animationPlayState:"paused"}),[` ${o}${n}-enter${n}-enter-active, ${o}${n}-appear${n}-appear-active - `]:{animationName:e,animationPlayState:"running"},[`${o}${n}-leave${n}-leave-active`]:{animationName:t,animationPlayState:"running",pointerEvents:"none"}}},q3e=new ki("antFadeIn",{"0%":{opacity:0},"100%":{opacity:1}}),eVe=new ki("antFadeOut",{"0%":{opacity:1},"100%":{opacity:0}}),coe=function(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const{antCls:t}=n,i=`${t}-fade`,r=e?"&":"";return[RT(i,q3e,eVe,n.motionDurationMid,e),{[` + `]:{animationName:e,animationPlayState:"running"},[`${o}${n}-leave${n}-leave-active`]:{animationName:t,animationPlayState:"running",pointerEvents:"none"}}},q3e=new Mi("antFadeIn",{"0%":{opacity:0},"100%":{opacity:1}}),eAe=new Mi("antFadeOut",{"0%":{opacity:1},"100%":{opacity:0}}),coe=function(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const{antCls:t}=n,i=`${t}-fade`,r=e?"&":"";return[WT(i,q3e,eAe,n.motionDurationMid,e),{[` ${r}${i}-enter, ${r}${i}-appear - `]:{opacity:0,animationTimingFunction:"linear"},[`${r}${i}-leave`]:{animationTimingFunction:"linear"}}]},tVe=new ki("antMoveDownIn",{"0%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),nVe=new ki("antMoveDownOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0}}),iVe=new ki("antMoveLeftIn",{"0%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),rVe=new ki("antMoveLeftOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),oVe=new ki("antMoveRightIn",{"0%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),sVe=new ki("antMoveRightOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),aVe=new ki("antMoveUpIn",{"0%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),lVe=new ki("antMoveUpOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0}}),uVe={"move-up":{inKeyframes:aVe,outKeyframes:lVe},"move-down":{inKeyframes:tVe,outKeyframes:nVe},"move-left":{inKeyframes:iVe,outKeyframes:rVe},"move-right":{inKeyframes:oVe,outKeyframes:sVe}},lw=(n,e)=>{const{antCls:t}=n,i=`${t}-${e}`,{inKeyframes:r,outKeyframes:o}=uVe[e];return[RT(i,r,o,n.motionDurationMid),{[` + `]:{opacity:0,animationTimingFunction:"linear"},[`${r}${i}-leave`]:{animationTimingFunction:"linear"}}]},tAe=new Mi("antMoveDownIn",{"0%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),nAe=new Mi("antMoveDownOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0}}),iAe=new Mi("antMoveLeftIn",{"0%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),rAe=new Mi("antMoveLeftOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),oAe=new Mi("antMoveRightIn",{"0%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),sAe=new Mi("antMoveRightOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),aAe=new Mi("antMoveUpIn",{"0%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),lAe=new Mi("antMoveUpOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0}}),uAe={"move-up":{inKeyframes:aAe,outKeyframes:lAe},"move-down":{inKeyframes:tAe,outKeyframes:nAe},"move-left":{inKeyframes:iAe,outKeyframes:rAe},"move-right":{inKeyframes:oAe,outKeyframes:sAe}},lS=(n,e)=>{const{antCls:t}=n,i=`${t}-${e}`,{inKeyframes:r,outKeyframes:o}=uAe[e];return[WT(i,r,o,n.motionDurationMid),{[` ${i}-enter, ${i}-appear - `]:{opacity:0,animationTimingFunction:n.motionEaseOutCirc},[`${i}-leave`]:{animationTimingFunction:n.motionEaseInOutCirc}}]},VT=new ki("antSlideUpIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1}}),AT=new ki("antSlideUpOut",{"0%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0}}),GT=new ki("antSlideDownIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1}}),XT=new ki("antSlideDownOut",{"0%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0}}),cVe=new ki("antSlideLeftIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1}}),dVe=new ki("antSlideLeftOut",{"0%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0}}),hVe=new ki("antSlideRightIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1}}),mVe=new ki("antSlideRightOut",{"0%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0}}),fVe={"slide-up":{inKeyframes:VT,outKeyframes:AT},"slide-down":{inKeyframes:GT,outKeyframes:XT},"slide-left":{inKeyframes:cVe,outKeyframes:dVe},"slide-right":{inKeyframes:hVe,outKeyframes:mVe}},wm=(n,e)=>{const{antCls:t}=n,i=`${t}-${e}`,{inKeyframes:r,outKeyframes:o}=fVe[e];return[RT(i,r,o,n.motionDurationMid),{[` + `]:{opacity:0,animationTimingFunction:n.motionEaseOutCirc},[`${i}-leave`]:{animationTimingFunction:n.motionEaseInOutCirc}}]},AT=new Mi("antSlideUpIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1}}),VT=new Mi("antSlideUpOut",{"0%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0}}),GT=new Mi("antSlideDownIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1}}),XT=new Mi("antSlideDownOut",{"0%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0}}),cAe=new Mi("antSlideLeftIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1}}),dAe=new Mi("antSlideLeftOut",{"0%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0}}),hAe=new Mi("antSlideRightIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1}}),mAe=new Mi("antSlideRightOut",{"0%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0}}),fAe={"slide-up":{inKeyframes:AT,outKeyframes:VT},"slide-down":{inKeyframes:GT,outKeyframes:XT},"slide-left":{inKeyframes:cAe,outKeyframes:dAe},"slide-right":{inKeyframes:hAe,outKeyframes:mAe}},Sm=(n,e)=>{const{antCls:t}=n,i=`${t}-${e}`,{inKeyframes:r,outKeyframes:o}=fAe[e];return[WT(i,r,o,n.motionDurationMid),{[` ${i}-enter, ${i}-appear - `]:{transform:"scale(0)",transformOrigin:"0% 0%",opacity:0,animationTimingFunction:n.motionEaseOutQuint,"&-prepare":{transform:"scale(1)"}},[`${i}-leave`]:{animationTimingFunction:n.motionEaseInQuint}}]},fP=new ki("antZoomIn",{"0%":{transform:"scale(0.2)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),gVe=new ki("antZoomOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.2)",opacity:0}}),doe=new ki("antZoomBigIn",{"0%":{transform:"scale(0.8)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),hoe=new ki("antZoomBigOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.8)",opacity:0}}),pVe=new ki("antZoomUpIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 0%"}}),bVe=new ki("antZoomUpOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 0%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0}}),vVe=new ki("antZoomLeftIn",{"0%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"0% 50%"}}),yVe=new ki("antZoomLeftOut",{"0%":{transform:"scale(1)",transformOrigin:"0% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0}}),CVe=new ki("antZoomRightIn",{"0%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"100% 50%"}}),wVe=new ki("antZoomRightOut",{"0%":{transform:"scale(1)",transformOrigin:"100% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0}}),SVe=new ki("antZoomDownIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 100%"}}),xVe=new ki("antZoomDownOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 100%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0}}),LVe={zoom:{inKeyframes:fP,outKeyframes:gVe},"zoom-big":{inKeyframes:doe,outKeyframes:hoe},"zoom-big-fast":{inKeyframes:doe,outKeyframes:hoe},"zoom-left":{inKeyframes:vVe,outKeyframes:yVe},"zoom-right":{inKeyframes:CVe,outKeyframes:wVe},"zoom-up":{inKeyframes:pVe,outKeyframes:bVe},"zoom-down":{inKeyframes:SVe,outKeyframes:xVe}},o_=(n,e)=>{const{antCls:t}=n,i=`${t}-${e}`,{inKeyframes:r,outKeyframes:o}=LVe[e];return[RT(i,r,o,e==="zoom-big-fast"?n.motionDurationFast:n.motionDurationMid),{[` + `]:{transform:"scale(0)",transformOrigin:"0% 0%",opacity:0,animationTimingFunction:n.motionEaseOutQuint,"&-prepare":{transform:"scale(1)"}},[`${i}-leave`]:{animationTimingFunction:n.motionEaseInQuint}}]},fP=new Mi("antZoomIn",{"0%":{transform:"scale(0.2)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),gAe=new Mi("antZoomOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.2)",opacity:0}}),doe=new Mi("antZoomBigIn",{"0%":{transform:"scale(0.8)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),hoe=new Mi("antZoomBigOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.8)",opacity:0}}),pAe=new Mi("antZoomUpIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 0%"}}),bAe=new Mi("antZoomUpOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 0%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0}}),yAe=new Mi("antZoomLeftIn",{"0%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"0% 50%"}}),vAe=new Mi("antZoomLeftOut",{"0%":{transform:"scale(1)",transformOrigin:"0% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0}}),CAe=new Mi("antZoomRightIn",{"0%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"100% 50%"}}),SAe=new Mi("antZoomRightOut",{"0%":{transform:"scale(1)",transformOrigin:"100% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0}}),wAe=new Mi("antZoomDownIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 100%"}}),xAe=new Mi("antZoomDownOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 100%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0}}),_Ae={zoom:{inKeyframes:fP,outKeyframes:gAe},"zoom-big":{inKeyframes:doe,outKeyframes:hoe},"zoom-big-fast":{inKeyframes:doe,outKeyframes:hoe},"zoom-left":{inKeyframes:yAe,outKeyframes:vAe},"zoom-right":{inKeyframes:CAe,outKeyframes:SAe},"zoom-up":{inKeyframes:pAe,outKeyframes:bAe},"zoom-down":{inKeyframes:wAe,outKeyframes:xAe}},oL=(n,e)=>{const{antCls:t}=n,i=`${t}-${e}`,{inKeyframes:r,outKeyframes:o}=_Ae[e];return[WT(i,r,o,e==="zoom-big-fast"?n.motionDurationFast:n.motionDurationMid),{[` ${i}-enter, ${i}-appear - `]:{transform:"scale(0)",opacity:0,animationTimingFunction:n.motionEaseOutCirc,"&-prepare":{transform:"none"}},[`${i}-leave`]:{animationTimingFunction:n.motionEaseInOutCirc}}]};function moe(n){return{position:n,inset:0}}const _Ve=n=>{const{componentCls:e,antCls:t}=n;return[{[`${e}-root`]:{[`${e}${t}-zoom-enter, ${e}${t}-zoom-appear`]:{transform:"none",opacity:0,animationDuration:n.motionDurationSlow,userSelect:"none"},[`${e}${t}-zoom-leave ${e}-content`]:{pointerEvents:"none"},[`${e}-mask`]:Object.assign(Object.assign({},moe("fixed")),{zIndex:n.zIndexPopupBase,height:"100%",backgroundColor:n.colorBgMask,pointerEvents:"none",[`${e}-hidden`]:{display:"none"}}),[`${e}-wrap`]:Object.assign(Object.assign({},moe("fixed")),{zIndex:n.zIndexPopupBase,overflow:"auto",outline:0,WebkitOverflowScrolling:"touch"})}},{[`${e}-root`]:coe(n)}]},FVe=n=>{const{componentCls:e}=n;return[{[`${e}-root`]:{[`${e}-wrap-rtl`]:{direction:"rtl"},[`${e}-centered`]:{textAlign:"center","&::before":{display:"inline-block",width:0,height:"100%",verticalAlign:"middle",content:'""'},[e]:{top:0,display:"inline-block",paddingBottom:0,textAlign:"start",verticalAlign:"middle"}},[`@media (max-width: ${n.screenSMMax}px)`]:{[e]:{maxWidth:"calc(100vw - 16px)",margin:`${Ee(n.marginXS)} auto`},[`${e}-centered`]:{[e]:{flex:1}}}}},{[e]:Object.assign(Object.assign({},uo(n)),{pointerEvents:"none",position:"relative",top:100,width:"auto",maxWidth:`calc(100vw - ${Ee(n.calc(n.margin).mul(2).equal())})`,margin:"0 auto",paddingBottom:n.paddingLG,[`${e}-title`]:{margin:0,color:n.titleColor,fontWeight:n.fontWeightStrong,fontSize:n.titleFontSize,lineHeight:n.titleLineHeight,wordWrap:"break-word"},[`${e}-content`]:{position:"relative",backgroundColor:n.contentBg,backgroundClip:"padding-box",border:0,borderRadius:n.borderRadiusLG,boxShadow:n.boxShadow,pointerEvents:"auto",padding:n.contentPadding},[`${e}-close`]:Object.assign({position:"absolute",top:n.calc(n.modalHeaderHeight).sub(n.modalCloseBtnSize).div(2).equal(),insetInlineEnd:n.calc(n.modalHeaderHeight).sub(n.modalCloseBtnSize).div(2).equal(),zIndex:n.calc(n.zIndexPopupBase).add(10).equal(),padding:0,color:n.modalCloseIconColor,fontWeight:n.fontWeightStrong,lineHeight:1,textDecoration:"none",background:"transparent",borderRadius:n.borderRadiusSM,width:n.modalCloseBtnSize,height:n.modalCloseBtnSize,border:0,outline:0,cursor:"pointer",transition:`color ${n.motionDurationMid}, background-color ${n.motionDurationMid}`,"&-x":{display:"flex",fontSize:n.fontSizeLG,fontStyle:"normal",lineHeight:`${Ee(n.modalCloseBtnSize)}`,justifyContent:"center",textTransform:"none",textRendering:"auto"},"&:hover":{color:n.modalCloseIconHoverColor,backgroundColor:n.colorBgTextHover,textDecoration:"none"},"&:active":{backgroundColor:n.colorBgTextActive}},$1(n)),[`${e}-header`]:{color:n.colorText,background:n.headerBg,borderRadius:`${Ee(n.borderRadiusLG)} ${Ee(n.borderRadiusLG)} 0 0`,marginBottom:n.headerMarginBottom,padding:n.headerPadding,borderBottom:n.headerBorderBottom},[`${e}-body`]:{fontSize:n.fontSize,lineHeight:n.lineHeight,wordWrap:"break-word",padding:n.bodyPadding},[`${e}-footer`]:{textAlign:"end",background:n.footerBg,marginTop:n.footerMarginTop,padding:n.footerPadding,borderTop:n.footerBorderTop,borderRadius:n.footerBorderRadius,[`> ${n.antCls}-btn + ${n.antCls}-btn`]:{marginInlineStart:n.marginXS}},[`${e}-open`]:{overflow:"hidden"}})},{[`${e}-pure-panel`]:{top:"auto",padding:0,display:"flex",flexDirection:"column",[`${e}-content, + `]:{transform:"scale(0)",opacity:0,animationTimingFunction:n.motionEaseOutCirc,"&-prepare":{transform:"none"}},[`${i}-leave`]:{animationTimingFunction:n.motionEaseInOutCirc}}]};function moe(n){return{position:n,inset:0}}const LAe=n=>{const{componentCls:e,antCls:t}=n;return[{[`${e}-root`]:{[`${e}${t}-zoom-enter, ${e}${t}-zoom-appear`]:{transform:"none",opacity:0,animationDuration:n.motionDurationSlow,userSelect:"none"},[`${e}${t}-zoom-leave ${e}-content`]:{pointerEvents:"none"},[`${e}-mask`]:Object.assign(Object.assign({},moe("fixed")),{zIndex:n.zIndexPopupBase,height:"100%",backgroundColor:n.colorBgMask,pointerEvents:"none",[`${e}-hidden`]:{display:"none"}}),[`${e}-wrap`]:Object.assign(Object.assign({},moe("fixed")),{zIndex:n.zIndexPopupBase,overflow:"auto",outline:0,WebkitOverflowScrolling:"touch"})}},{[`${e}-root`]:coe(n)}]},IAe=n=>{const{componentCls:e}=n;return[{[`${e}-root`]:{[`${e}-wrap-rtl`]:{direction:"rtl"},[`${e}-centered`]:{textAlign:"center","&::before":{display:"inline-block",width:0,height:"100%",verticalAlign:"middle",content:'""'},[e]:{top:0,display:"inline-block",paddingBottom:0,textAlign:"start",verticalAlign:"middle"}},[`@media (max-width: ${n.screenSMMax}px)`]:{[e]:{maxWidth:"calc(100vw - 16px)",margin:`${Ee(n.marginXS)} auto`},[`${e}-centered`]:{[e]:{flex:1}}}}},{[e]:Object.assign(Object.assign({},uo(n)),{pointerEvents:"none",position:"relative",top:100,width:"auto",maxWidth:`calc(100vw - ${Ee(n.calc(n.margin).mul(2).equal())})`,margin:"0 auto",paddingBottom:n.paddingLG,[`${e}-title`]:{margin:0,color:n.titleColor,fontWeight:n.fontWeightStrong,fontSize:n.titleFontSize,lineHeight:n.titleLineHeight,wordWrap:"break-word"},[`${e}-content`]:{position:"relative",backgroundColor:n.contentBg,backgroundClip:"padding-box",border:0,borderRadius:n.borderRadiusLG,boxShadow:n.boxShadow,pointerEvents:"auto",padding:n.contentPadding},[`${e}-close`]:Object.assign({position:"absolute",top:n.calc(n.modalHeaderHeight).sub(n.modalCloseBtnSize).div(2).equal(),insetInlineEnd:n.calc(n.modalHeaderHeight).sub(n.modalCloseBtnSize).div(2).equal(),zIndex:n.calc(n.zIndexPopupBase).add(10).equal(),padding:0,color:n.modalCloseIconColor,fontWeight:n.fontWeightStrong,lineHeight:1,textDecoration:"none",background:"transparent",borderRadius:n.borderRadiusSM,width:n.modalCloseBtnSize,height:n.modalCloseBtnSize,border:0,outline:0,cursor:"pointer",transition:`color ${n.motionDurationMid}, background-color ${n.motionDurationMid}`,"&-x":{display:"flex",fontSize:n.fontSizeLG,fontStyle:"normal",lineHeight:`${Ee(n.modalCloseBtnSize)}`,justifyContent:"center",textTransform:"none",textRendering:"auto"},"&:hover":{color:n.modalCloseIconHoverColor,backgroundColor:n.colorBgTextHover,textDecoration:"none"},"&:active":{backgroundColor:n.colorBgTextActive}},$1(n)),[`${e}-header`]:{color:n.colorText,background:n.headerBg,borderRadius:`${Ee(n.borderRadiusLG)} ${Ee(n.borderRadiusLG)} 0 0`,marginBottom:n.headerMarginBottom,padding:n.headerPadding,borderBottom:n.headerBorderBottom},[`${e}-body`]:{fontSize:n.fontSize,lineHeight:n.lineHeight,wordWrap:"break-word",padding:n.bodyPadding},[`${e}-footer`]:{textAlign:"end",background:n.footerBg,marginTop:n.footerMarginTop,padding:n.footerPadding,borderTop:n.footerBorderTop,borderRadius:n.footerBorderRadius,[`> ${n.antCls}-btn + ${n.antCls}-btn`]:{marginInlineStart:n.marginXS}},[`${e}-open`]:{overflow:"hidden"}})},{[`${e}-pure-panel`]:{top:"auto",padding:0,display:"flex",flexDirection:"column",[`${e}-content, ${e}-body, - ${e}-confirm-body-wrapper`]:{display:"flex",flexDirection:"column",flex:"auto"},[`${e}-confirm-body`]:{marginBottom:"auto"}}}]},IVe=n=>{const{componentCls:e}=n;return{[`${e}-root`]:{[`${e}-wrap-rtl`]:{direction:"rtl",[`${e}-confirm-body`]:{direction:"rtl"}}}}},foe=n=>{const e=n.padding,t=n.fontSizeHeading5,i=n.lineHeightHeading5;return Ui(n,{modalHeaderHeight:n.calc(n.calc(i).mul(t).equal()).add(n.calc(e).mul(2).equal()).equal(),modalFooterBorderColorSplit:n.colorSplit,modalFooterBorderStyle:n.lineType,modalFooterBorderWidth:n.lineWidth,modalCloseIconColor:n.colorIcon,modalCloseIconHoverColor:n.colorIconHover,modalCloseBtnSize:n.controlHeight,modalConfirmIconSize:n.fontHeight,modalTitleHeight:n.calc(n.titleFontSize).mul(n.titleLineHeight).equal()})},goe=n=>({footerBg:"transparent",headerBg:n.colorBgElevated,titleLineHeight:n.lineHeightHeading5,titleFontSize:n.fontSizeHeading5,contentBg:n.colorBgElevated,titleColor:n.colorTextHeading,contentPadding:n.wireframe?0:`${Ee(n.paddingMD)} ${Ee(n.paddingContentHorizontalLG)}`,headerPadding:n.wireframe?`${Ee(n.padding)} ${Ee(n.paddingLG)}`:0,headerBorderBottom:n.wireframe?`${Ee(n.lineWidth)} ${n.lineType} ${n.colorSplit}`:"none",headerMarginBottom:n.wireframe?0:n.marginXS,bodyPadding:n.wireframe?n.paddingLG:0,footerPadding:n.wireframe?`${Ee(n.paddingXS)} ${Ee(n.padding)}`:0,footerBorderTop:n.wireframe?`${Ee(n.lineWidth)} ${n.lineType} ${n.colorSplit}`:"none",footerBorderRadius:n.wireframe?`0 0 ${Ee(n.borderRadiusLG)} ${Ee(n.borderRadiusLG)}`:0,footerMarginTop:n.wireframe?0:n.marginSM,confirmBodyPadding:n.wireframe?`${Ee(n.padding*2)} ${Ee(n.padding*2)} ${Ee(n.paddingLG)}`:0,confirmIconMarginInlineEnd:n.wireframe?n.margin:n.marginSM,confirmBtnsMarginTop:n.wireframe?n.marginLG:n.marginSM}),poe=Ho("Modal",n=>{const e=foe(n);return[FVe(e),IVe(e),_Ve(e),o_(e,"zoom")]},goe,{unitless:{titleLineHeight:!0}});var DVe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{gP={x:n.pageX,y:n.pageY},setTimeout(()=>{gP=null},100)};i3e()&&document.documentElement.addEventListener("click",MVe,!0);const boe=n=>{var e;const{getPopupContainer:t,getPrefixCls:i,direction:r,modal:o}=w.useContext(Rn),s=k=>{const{onCancel:X}=n;X==null||X(k)},a=k=>{const{onOk:X}=n;X==null||X(k)},{prefixCls:l,className:u,rootClassName:c,open:d,wrapClassName:h,centered:m,getContainer:f,focusTriggerAfterClose:g=!0,style:b,visible:v,width:C=520,footer:S,classNames:x,styles:_}=n,F=DVe(n,["prefixCls","className","rootClassName","open","wrapClassName","centered","getContainer","focusTriggerAfterClose","style","visible","width","footer","classNames","styles"]),D=i("modal",l),M=i(),T=_s(D),[Z,E,R]=poe(D,T),W=Te(h,{[`${D}-centered`]:!!m,[`${D}-wrap-rtl`]:r==="rtl"}),A=S!==null&&w.createElement(uoe,Object.assign({},n,{onOk:a,onCancel:s})),[z,O]=n3e(Ere(n),Ere(o),{closable:!0,closeIcon:w.createElement(lb,{className:`${D}-close-icon`}),closeIconRender:k=>loe(D,k)}),B=j3e(`.${D}-content`),[P,H]=iv("Modal",F.zIndex);return Z(w.createElement(ig,null,w.createElement(r_,{status:!0,override:!0},w.createElement(FT.Provider,{value:H},w.createElement(Tre,Object.assign({width:C},F,{zIndex:P,getContainer:f===void 0?t:f,prefixCls:D,rootClassName:Te(E,c,R,T),footer:A,visible:d??v,mousePosition:(e=F.mousePosition)!==null&&e!==void 0?e:gP,onClose:s,closable:z,closeIcon:O,focusTriggerAfterClose:g,transitionName:cb(M,"zoom",n.transitionName),maskTransitionName:cb(M,"fade",n.maskTransitionName),className:Te(E,u,o==null?void 0:o.className),style:Object.assign(Object.assign({},o==null?void 0:o.style),b),classNames:Object.assign(Object.assign(Object.assign({},o==null?void 0:o.classNames),x),{wrapper:Te(W,x==null?void 0:x.wrapper)}),styles:Object.assign(Object.assign({},o==null?void 0:o.styles),_),panelRef:B}))))))},kVe=n=>{const{componentCls:e,titleFontSize:t,titleLineHeight:i,modalConfirmIconSize:r,fontSize:o,lineHeight:s,modalTitleHeight:a,fontHeight:l,confirmBodyPadding:u}=n,c=`${e}-confirm`;return{[c]:{"&-rtl":{direction:"rtl"},[`${n.antCls}-modal-header`]:{display:"none"},[`${c}-body-wrapper`]:Object.assign({},qC()),[`&${e} ${e}-body`]:{padding:u},[`${c}-body`]:{display:"flex",flexWrap:"nowrap",alignItems:"start",[`> ${n.iconCls}`]:{flex:"none",fontSize:r,marginInlineEnd:n.confirmIconMarginInlineEnd,marginTop:n.calc(n.calc(l).sub(r).equal()).div(2).equal()},[`&-has-title > ${n.iconCls}`]:{marginTop:n.calc(n.calc(a).sub(r).equal()).div(2).equal()}},[`${c}-paragraph`]:{display:"flex",flexDirection:"column",flex:"auto",rowGap:n.marginXS},[`${n.iconCls} + ${c}-paragraph`]:{maxWidth:`calc(100% - ${Ee(n.calc(n.modalConfirmIconSize).add(n.marginSM).equal())})`},[`${c}-title`]:{color:n.colorTextHeading,fontWeight:n.fontWeightStrong,fontSize:t,lineHeight:i},[`${c}-content`]:{color:n.colorText,fontSize:o,lineHeight:s},[`${c}-btns`]:{textAlign:"end",marginTop:n.confirmBtnsMarginTop,[`${n.antCls}-btn + ${n.antCls}-btn`]:{marginBottom:0,marginInlineStart:n.marginXS}}},[`${c}-error ${c}-body > ${n.iconCls}`]:{color:n.colorError},[`${c}-warning ${c}-body > ${n.iconCls}, - ${c}-confirm ${c}-body > ${n.iconCls}`]:{color:n.colorWarning},[`${c}-info ${c}-body > ${n.iconCls}`]:{color:n.colorInfo},[`${c}-success ${c}-body > ${n.iconCls}`]:{color:n.colorSuccess}}},NVe=fT(["Modal","confirm"],n=>{const e=foe(n);return[kVe(e)]},goe,{order:-1e3});var TVe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);rC,_t(Object.values(C))),x=w.createElement(w.Fragment,null,w.createElement(pre,null),w.createElement(bre,null)),_=n.title!==void 0&&n.title!==null,F=`${o}-body`;return w.createElement("div",{className:`${o}-body-wrapper`},w.createElement("div",{className:Te(F,{[`${F}-has-title`]:_})},d,w.createElement("div",{className:`${o}-paragraph`},_&&w.createElement("span",{className:`${o}-title`},n.title),w.createElement("div",{className:`${o}-content`},n.content))),l===void 0||typeof l=="function"?w.createElement(gre,{value:S},w.createElement("div",{className:`${o}-btns`},typeof l=="function"?l(x,{OkBtn:bre,CancelBtn:pre}):x)):l,w.createElement(NVe,{prefixCls:e}))}const EVe=n=>{const{close:e,zIndex:t,afterClose:i,open:r,keyboard:o,centered:s,getContainer:a,maskStyle:l,direction:u,prefixCls:c,wrapClassName:d,rootPrefixCls:h,bodyStyle:m,closable:f=!1,closeIcon:g,modalRender:b,focusTriggerAfterClose:v,onConfirm:C,styles:S}=n,x=`${c}-confirm`,_=n.width||416,F=n.style||{},D=n.mask===void 0?!0:n.mask,M=n.maskClosable===void 0?!1:n.maskClosable,T=Te(x,`${x}-${n.type}`,{[`${x}-rtl`]:u==="rtl"},n.className),[,Z]=Pa(),E=w.useMemo(()=>t!==void 0?t:Z.zIndexPopupBase+IT,[t,Z]);return w.createElement(boe,{prefixCls:c,className:T,wrapClassName:Te({[`${x}-centered`]:!!n.centered},d),onCancel:()=>{e==null||e({triggerCancel:!0}),C==null||C(!1)},open:r,title:"",footer:null,transitionName:cb(h||"","zoom",n.transitionName),maskTransitionName:cb(h||"","fade",n.maskTransitionName),mask:D,maskClosable:M,style:F,styles:Object.assign({body:m,mask:l},S),width:_,zIndex:E,afterClose:i,keyboard:o,centered:s,getContainer:a,closable:f,closeIcon:g,modalRender:b,focusTriggerAfterClose:v},w.createElement(voe,Object.assign({},n,{confirmPrefixCls:x})))},yoe=n=>{const{rootPrefixCls:e,iconPrefixCls:t,direction:i,theme:r}=n;return w.createElement(ev,{prefixCls:e,iconPrefixCls:t,direction:i,theme:r},w.createElement(EVe,Object.assign({},n)))},av=[];let Coe="";function woe(){return Coe}const ZVe=n=>{var e,t;const{prefixCls:i,getContainer:r,direction:o}=n,s=Ene(),a=w.useContext(Rn),l=woe()||a.getPrefixCls(),u=i||`${l}-modal`;let c=r;return c===!1&&(c=void 0),ze.createElement(yoe,Object.assign({},n,{rootPrefixCls:l,prefixCls:u,iconPrefixCls:a.iconPrefixCls,theme:a.theme,direction:o??a.direction,locale:(t=(e=a.locale)===null||e===void 0?void 0:e.Modal)!==null&&t!==void 0?t:s,getContainer:c}))};function s_(n){const e=D4(),t=document.createDocumentFragment();let i=Object.assign(Object.assign({},n),{close:a,open:!0}),r;function o(){for(var u=arguments.length,c=new Array(u),d=0;dm&&m.triggerCancel);n.onCancel&&h&&n.onCancel.apply(n,[()=>{}].concat(_t(c.slice(1))));for(let m=0;m{const c=e.getPrefixCls(void 0,woe()),d=e.getIconPrefixCls(),h=e.getTheme(),m=ze.createElement(ZVe,Object.assign({},u));kT(ze.createElement(ev,{prefixCls:c,iconPrefixCls:d,theme:h},e.holderRender?e.holderRender(m):m),t)})}function a(){for(var u=arguments.length,c=new Array(u),d=0;d{typeof n.afterClose=="function"&&n.afterClose(),o.apply(this,c)}}),i.visible&&delete i.visible,s(i)}function l(u){typeof u=="function"?i=u(i):i=Object.assign(Object.assign({},i),u),s(i)}return s(i),av.push(a),{destroy:a,update:l}}function Soe(n){return Object.assign(Object.assign({},n),{type:"warning"})}function xoe(n){return Object.assign(Object.assign({},n),{type:"info"})}function Loe(n){return Object.assign(Object.assign({},n),{type:"success"})}function _oe(n){return Object.assign(Object.assign({},n),{type:"error"})}function Foe(n){return Object.assign(Object.assign({},n),{type:"confirm"})}function WVe(n){let{rootPrefixCls:e}=n;Coe=e}var RVe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{var t,{afterClose:i,config:r}=n,o=RVe(n,["afterClose","config"]);const[s,a]=w.useState(!0),[l,u]=w.useState(r),{direction:c,getPrefixCls:d}=w.useContext(Rn),h=d("modal"),m=d(),f=()=>{var C;i(),(C=l.afterClose)===null||C===void 0||C.call(l)},g=function(){a(!1);for(var C=arguments.length,S=new Array(C),x=0;xF&&F.triggerCancel);l.onCancel&&_&&l.onCancel.apply(l,[()=>{}].concat(_t(S.slice(1))))};w.useImperativeHandle(e,()=>({destroy:g,update:C=>{u(S=>Object.assign(Object.assign({},S),C))}}));const b=(t=l.okCancel)!==null&&t!==void 0?t:l.type==="confirm",[v]=rb("Modal",eg.Modal);return w.createElement(yoe,Object.assign({prefixCls:h,rootPrefixCls:m},l,{close:g,open:s,afterClose:f,okText:l.okText||(b?v==null?void 0:v.okText:v==null?void 0:v.justOkText),direction:l.direction||c,cancelText:l.cancelText||(v==null?void 0:v.cancelText)},o))},AVe=w.forwardRef(VVe);let Ioe=0;const GVe=w.memo(w.forwardRef((n,e)=>{const[t,i]=HWe();return w.useImperativeHandle(e,()=>({patchElement:i}),[]),w.createElement(w.Fragment,null,t)}));function XVe(){const n=w.useRef(null),[e,t]=w.useState([]);w.useEffect(()=>{e.length&&(_t(e).forEach(s=>{s()}),t([]))},[e]);const i=w.useCallback(o=>function(a){var l;Ioe+=1;const u=w.createRef();let c;const d=new Promise(b=>{c=b});let h=!1,m;const f=w.createElement(AVe,{key:`modal-${Ioe}`,config:o(a),ref:u,afterClose:()=>{m==null||m()},isSilent:()=>h,onConfirm:b=>{c(b)}});return m=(l=n.current)===null||l===void 0?void 0:l.patchElement(f),m&&av.push(m),{destroy:()=>{function b(){var v;(v=u.current)===null||v===void 0||v.destroy()}u.current?b():t(v=>[].concat(_t(v),[b]))},update:b=>{function v(){var C;(C=u.current)===null||C===void 0||C.update(b)}u.current?v():t(C=>[].concat(_t(C),[v]))},then:b=>(h=!0,d.then(b))}},[]);return[w.useMemo(()=>({info:i(xoe),success:i(Loe),error:i(_oe),warning:i(Soe),confirm:i(Foe)}),[]),w.createElement(GVe,{key:"modal-holder",ref:n})]}const PVe=n=>{const{componentCls:e,notificationMarginEdge:t,animationMaxHeight:i}=n,r=`${e}-notice`,o=new ki("antNotificationFadeIn",{"0%":{transform:"translate3d(100%, 0, 0)",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",opacity:1}}),s=new ki("antNotificationTopFadeIn",{"0%":{top:-i,opacity:0},"100%":{top:0,opacity:1}}),a=new ki("antNotificationBottomFadeIn",{"0%":{bottom:n.calc(i).mul(-1).equal(),opacity:0},"100%":{bottom:0,opacity:1}}),l=new ki("antNotificationLeftFadeIn",{"0%":{transform:"translate3d(-100%, 0, 0)",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",opacity:1}});return{[e]:{[`&${e}-top, &${e}-bottom`]:{marginInline:0,[r]:{marginInline:"auto auto"}},[`&${e}-top`]:{[`${e}-fade-enter${e}-fade-enter-active, ${e}-fade-appear${e}-fade-appear-active`]:{animationName:s}},[`&${e}-bottom`]:{[`${e}-fade-enter${e}-fade-enter-active, ${e}-fade-appear${e}-fade-appear-active`]:{animationName:a}},[`&${e}-topRight, &${e}-bottomRight`]:{[`${e}-fade-enter${e}-fade-enter-active, ${e}-fade-appear${e}-fade-appear-active`]:{animationName:o}},[`&${e}-topLeft, &${e}-bottomLeft`]:{marginRight:{value:0,_skip_check_:!0},marginLeft:{value:t,_skip_check_:!0},[r]:{marginInlineEnd:"auto",marginInlineStart:0},[`${e}-fade-enter${e}-fade-enter-active, ${e}-fade-appear${e}-fade-appear-active`]:{animationName:l}}}}},OVe=["top","topLeft","topRight","bottom","bottomLeft","bottomRight"],BVe={topLeft:"left",topRight:"right",bottomLeft:"left",bottomRight:"right",top:"left",bottom:"left"},zVe=(n,e)=>{const{componentCls:t}=n;return{[`${t}-${e}`]:{[`&${t}-stack > ${t}-notice-wrapper`]:{[e.startsWith("top")?"top":"bottom"]:0,[BVe[e]]:{value:0,_skip_check_:!0}}}}},HVe=n=>{const e={};for(let t=1;t ${n.componentCls}-notice`]:{opacity:0,transition:`opacity ${n.motionDurationMid}`}};return Object.assign({[`&:not(:nth-last-child(-n+${n.notificationStackLayer}))`]:{opacity:0,overflow:"hidden",color:"transparent",pointerEvents:"none"}},e)},YVe=n=>{const e={};for(let t=1;t{const{componentCls:e}=n;return Object.assign({[`${e}-stack`]:{[`& > ${e}-notice-wrapper`]:Object.assign({transition:`all ${n.motionDurationSlow}, backdrop-filter 0s`,position:"absolute"},HVe(n))},[`${e}-stack:not(${e}-stack-expanded)`]:{[`& > ${e}-notice-wrapper`]:Object.assign({},YVe(n))},[`${e}-stack${e}-stack-expanded`]:{[`& > ${e}-notice-wrapper`]:{"&:not(:nth-last-child(-n + 1))":{opacity:1,overflow:"unset",color:"inherit",pointerEvents:"auto",[`& > ${n.componentCls}-notice`]:{opacity:1}},"&:after":{content:'""',position:"absolute",height:n.margin,width:"100%",insetInline:0,bottom:n.calc(n.margin).mul(-1).equal(),background:"transparent",pointerEvents:"auto"}}}},OVe.map(t=>zVe(n,t)).reduce((t,i)=>Object.assign(Object.assign({},t),i),{}))},Doe=n=>{const{iconCls:e,componentCls:t,boxShadow:i,fontSizeLG:r,notificationMarginBottom:o,borderRadiusLG:s,colorSuccess:a,colorInfo:l,colorWarning:u,colorError:c,colorTextHeading:d,notificationBg:h,notificationPadding:m,notificationMarginEdge:f,fontSize:g,lineHeight:b,width:v,notificationIconSize:C,colorText:S}=n,x=`${t}-notice`;return{position:"relative",marginBottom:o,marginInlineStart:"auto",background:h,borderRadius:s,boxShadow:i,[x]:{padding:m,width:v,maxWidth:`calc(100vw - ${Ee(n.calc(f).mul(2).equal())})`,overflow:"hidden",lineHeight:b,wordWrap:"break-word"},[`${x}-message`]:{marginBottom:n.marginXS,color:d,fontSize:r,lineHeight:n.lineHeightLG},[`${x}-description`]:{fontSize:g,color:S},[`${x}-closable ${x}-message`]:{paddingInlineEnd:n.paddingLG},[`${x}-with-icon ${x}-message`]:{marginBottom:n.marginXS,marginInlineStart:n.calc(n.marginSM).add(C).equal(),fontSize:r},[`${x}-with-icon ${x}-description`]:{marginInlineStart:n.calc(n.marginSM).add(C).equal(),fontSize:g},[`${x}-icon`]:{position:"absolute",fontSize:C,lineHeight:1,[`&-success${e}`]:{color:a},[`&-info${e}`]:{color:l},[`&-warning${e}`]:{color:u},[`&-error${e}`]:{color:c}},[`${x}-close`]:Object.assign({position:"absolute",top:n.notificationPaddingVertical,insetInlineEnd:n.notificationPaddingHorizontal,color:n.colorIcon,outline:"none",width:n.notificationCloseButtonSize,height:n.notificationCloseButtonSize,borderRadius:n.borderRadiusSM,transition:`background-color ${n.motionDurationMid}, color ${n.motionDurationMid}`,display:"flex",alignItems:"center",justifyContent:"center","&:hover":{color:n.colorIconHover,backgroundColor:n.colorBgTextHover},"&:active":{backgroundColor:n.colorBgTextActive}},$1(n)),[`${x}-btn`]:{float:"right",marginTop:n.marginSM}}},KVe=n=>{const{componentCls:e,notificationMarginBottom:t,notificationMarginEdge:i,motionDurationMid:r,motionEaseInOut:o}=n,s=`${e}-notice`,a=new ki("antNotificationFadeOut",{"0%":{maxHeight:n.animationMaxHeight,marginBottom:t},"100%":{maxHeight:0,marginBottom:0,paddingTop:0,paddingBottom:0,opacity:0}});return[{[e]:Object.assign(Object.assign({},uo(n)),{position:"fixed",zIndex:n.zIndexPopup,marginRight:{value:i,_skip_check_:!0},[`${e}-hook-holder`]:{position:"relative"},[`${e}-fade-appear-prepare`]:{opacity:"0 !important"},[`${e}-fade-enter, ${e}-fade-appear`]:{animationDuration:n.motionDurationMid,animationTimingFunction:o,animationFillMode:"both",opacity:0,animationPlayState:"paused"},[`${e}-fade-leave`]:{animationTimingFunction:o,animationFillMode:"both",animationDuration:r,animationPlayState:"paused"},[`${e}-fade-enter${e}-fade-enter-active, ${e}-fade-appear${e}-fade-appear-active`]:{animationPlayState:"running"},[`${e}-fade-leave${e}-fade-leave-active`]:{animationName:a,animationPlayState:"running"},"&-rtl":{direction:"rtl",[`${s}-btn`]:{float:"left"}}})},{[e]:{[`${s}-wrapper`]:Object.assign({},Doe(n))}}]},Moe=n=>({zIndexPopup:n.zIndexPopupBase+IT+50,width:384}),koe=n=>{const e=n.paddingMD,t=n.paddingLG;return Ui(n,{notificationBg:n.colorBgElevated,notificationPaddingVertical:e,notificationPaddingHorizontal:t,notificationIconSize:n.calc(n.fontSizeLG).mul(n.lineHeightLG).equal(),notificationCloseButtonSize:n.calc(n.controlHeightLG).mul(.55).equal(),notificationMarginBottom:n.margin,notificationPadding:`${Ee(n.paddingMD)} ${Ee(n.paddingContentHorizontalLG)}`,notificationMarginEdge:n.marginLG,animationMaxHeight:150,notificationStackLayer:3})},Noe=Ho("Notification",n=>{const e=koe(n);return[KVe(e),PVe(e),UVe(e)]},Moe),JVe=fT(["Notification","PurePanel"],n=>{const e=`${n.componentCls}-notice`,t=koe(n);return{[`${e}-pure-panel`]:Object.assign(Object.assign({},Doe(t)),{width:t.width,maxWidth:`calc(100vw - ${Ee(n.calc(t.notificationMarginEdge).mul(2).equal())})`,margin:0})}},Moe);var jVe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const{prefixCls:e,icon:t,type:i,message:r,description:o,btn:s,role:a="alert"}=n;let l=null;return t?l=w.createElement("span",{className:`${e}-icon`},t):i&&(l=w.createElement(QVe[i]||null,{className:Te(`${e}-icon`,`${e}-icon-${i}`)})),w.createElement("div",{className:Te({[`${e}-with-icon`]:l}),role:a},l,w.createElement("div",{className:`${e}-message`},r),w.createElement("div",{className:`${e}-description`},o),s&&w.createElement("div",{className:`${e}-btn`},s))},$Ve=n=>{const{prefixCls:e,className:t,icon:i,type:r,message:o,description:s,btn:a,closable:l=!0,closeIcon:u,className:c}=n,d=jVe(n,["prefixCls","className","icon","type","message","description","btn","closable","closeIcon","className"]),{getPrefixCls:h}=w.useContext(Rn),m=e||h("notification"),f=`${m}-notice`,g=_s(m),[b,v,C]=Noe(m,g);return b(w.createElement("div",{className:Te(`${f}-pure-panel`,v,t,C,g)},w.createElement(JVe,{prefixCls:m}),w.createElement(E4,Object.assign({},d,{prefixCls:m,eventKey:"pure",duration:null,closable:l,className:Te({notificationClassName:c}),closeIcon:pP(m,u),content:w.createElement(Toe,{prefixCls:f,icon:i,type:r,message:o,description:s,btn:a})}))))};function qVe(n,e,t){let i;switch(n){case"top":i={left:"50%",transform:"translateX(-50%)",right:"auto",top:e,bottom:"auto"};break;case"topLeft":i={left:0,top:e,bottom:"auto"};break;case"topRight":i={right:0,top:e,bottom:"auto"};break;case"bottom":i={left:"50%",transform:"translateX(-50%)",right:"auto",top:"auto",bottom:t};break;case"bottomLeft":i={left:0,top:"auto",bottom:t};break;default:i={right:0,top:"auto",bottom:t};break}return i}function eAe(n){return{motionName:`${n}-fade`}}var tAe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{let{children:e,prefixCls:t}=n;const i=_s(t),[r,o,s]=Noe(t,i);return r(ze.createElement(Aie,{classNames:{list:Te(o,s,i)}},e))},oAe=(n,e)=>{let{prefixCls:t,key:i}=e;return ze.createElement(rAe,{prefixCls:t,key:i},n)},sAe=ze.forwardRef((n,e)=>{const{top:t,bottom:i,prefixCls:r,getContainer:o,maxCount:s,rtl:a,onAllRemoved:l,stack:u,duration:c}=n,{getPrefixCls:d,getPopupContainer:h,notification:m,direction:f}=w.useContext(Rn),[,g]=Pa(),b=r||d("notification"),v=F=>qVe(F,t??Eoe,i??Eoe),C=()=>Te({[`${b}-rtl`]:a??f==="rtl"}),S=()=>eAe(b),[x,_]=Bie({prefixCls:b,style:v,className:C,motion:S,closable:!0,closeIcon:pP(b),duration:c??nAe,getContainer:()=>(o==null?void 0:o())||(h==null?void 0:h())||document.body,maxCount:s,onAllRemoved:l,renderNotifications:oAe,stack:u===!1?!1:{threshold:typeof u=="object"?u==null?void 0:u.threshold:void 0,offset:8,gap:g.margin}});return ze.useImperativeHandle(e,()=>Object.assign(Object.assign({},x),{prefixCls:b,notification:m})),_});function Zoe(n){const e=ze.useRef(null);return jC(),[ze.useMemo(()=>{const i=a=>{var l;if(!e.current)return;const{open:u,prefixCls:c,notification:d}=e.current,h=`${c}-notice`,{message:m,description:f,icon:g,type:b,btn:v,className:C,style:S,role:x="alert",closeIcon:_,closable:F}=a,D=tAe(a,["message","description","icon","type","btn","className","style","role","closeIcon","closable"]),M=pP(h,typeof _<"u"?_:d==null?void 0:d.closeIcon);return u(Object.assign(Object.assign({placement:(l=n==null?void 0:n.placement)!==null&&l!==void 0?l:iAe},D),{content:ze.createElement(Toe,{prefixCls:h,icon:g,type:b,message:m,description:f,btn:v,role:x}),className:Te(b&&`${h}-${b}`,C,d==null?void 0:d.className),style:Object.assign(Object.assign({},d==null?void 0:d.style),S),closeIcon:M,closable:F??!!M}))},o={open:i,destroy:a=>{var l,u;a!==void 0?(l=e.current)===null||l===void 0||l.close(a):(u=e.current)===null||u===void 0||u.destroy()}};return["success","info","warning","error"].forEach(a=>{o[a]=l=>i(Object.assign(Object.assign({},l),{type:a}))}),o},[]),ze.createElement(sAe,Object.assign({key:"notification-holder"},n,{ref:e}))]}function aAe(n){return Zoe(n)}const Woe=ze.createContext({});function Roe(n){return e=>w.createElement(ev,{theme:{token:{motion:!1,zIndexPopupBase:0}}},w.createElement(n,Object.assign({},e)))}const PT=(n,e,t,i)=>Roe(o=>{const{prefixCls:s,style:a}=o,l=w.useRef(null),[u,c]=w.useState(0),[d,h]=w.useState(0),[m,f]=Jr(!1,{value:o.open}),{getPrefixCls:g}=w.useContext(Rn),b=g(e||"select",s);w.useEffect(()=>{if(f(!0),typeof ResizeObserver<"u"){const S=new ResizeObserver(_=>{const F=_[0].target;c(F.offsetHeight+8),h(F.offsetWidth)}),x=setInterval(()=>{var _;const F=t?`.${t(b)}`:`.${b}-dropdown`,D=(_=l.current)===null||_===void 0?void 0:_.querySelector(F);D&&(clearInterval(x),S.observe(D))},10);return()=>{clearInterval(x),S.disconnect()}}},[]);let v=Object.assign(Object.assign({},o),{style:Object.assign(Object.assign({},a),{margin:0}),open:m,visible:m,getPopupContainer:()=>l.current});i&&(v=i(v));const C={paddingBottom:u,position:"relative",minWidth:d};return w.createElement("div",{ref:l,style:C},w.createElement(n,Object.assign({},v)))}),OT=function(){if(typeof navigator>"u"||typeof window>"u")return!1;var n=navigator.userAgent||navigator.vendor||window.opera;return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(n)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(n==null?void 0:n.substr(0,4))};var BT=function(e){var t=e.className,i=e.customizeIcon,r=e.customizeIconProps,o=e.children,s=e.onMouseDown,a=e.onClick,l=typeof i=="function"?i(r):i;return w.createElement("span",{className:t,onMouseDown:function(c){c.preventDefault(),s==null||s(c)},style:{userSelect:"none",WebkitUserSelect:"none"},unselectable:"on",onClick:a,"aria-hidden":!0},l!==void 0?l:w.createElement("span",{className:Te(t.split(/\s+/).map(function(u){return"".concat(u,"-icon")}))},o))},lAe=function(e,t,i,r,o){var s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!1,a=arguments.length>6?arguments[6]:void 0,l=arguments.length>7?arguments[7]:void 0,u=ze.useMemo(function(){if(Xn(r)==="object")return r.clearIcon;if(o)return o},[r,o]),c=ze.useMemo(function(){return!!(!s&&r&&(i.length||a)&&!(l==="combobox"&&a===""))},[r,s,i.length,a,l]);return{allowClear:c,clearIcon:ze.createElement(BT,{className:"".concat(e,"-clear"),onMouseDown:t,customizeIcon:u},"×")}},Voe=w.createContext(null);function uAe(){return w.useContext(Voe)}function cAe(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:10,e=w.useState(!1),t=Se(e,2),i=t[0],r=t[1],o=w.useRef(null),s=function(){window.clearTimeout(o.current)};w.useEffect(function(){return s},[]);var a=function(u,c){s(),o.current=window.setTimeout(function(){r(u),c&&c()},n)};return[i,a,s]}function Aoe(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:250,e=w.useRef(null),t=w.useRef(null);w.useEffect(function(){return function(){window.clearTimeout(t.current)}},[]);function i(r){(r||e.current===null)&&(e.current=r),window.clearTimeout(t.current),t.current=window.setTimeout(function(){e.current=null},n)}return[function(){return e.current},i]}function dAe(n,e,t,i){var r=w.useRef(null);r.current={open:e,triggerOpen:t,customizedTrigger:i},w.useEffect(function(){function o(s){var a;if(!((a=r.current)!==null&&a!==void 0&&a.customizedTrigger)){var l=s.target;l.shadowRoot&&s.composed&&(l=s.composedPath()[0]||l),r.current.open&&n().filter(function(u){return u}).every(function(u){return!u.contains(l)&&u!==l})&&r.current.triggerOpen(!1)}}return window.addEventListener("mousedown",o),function(){return window.removeEventListener("mousedown",o)}},[])}function hAe(n){return![Dt.ESC,Dt.SHIFT,Dt.BACKSPACE,Dt.TAB,Dt.WIN_KEY,Dt.ALT,Dt.META,Dt.WIN_KEY_RIGHT,Dt.CTRL,Dt.SEMICOLON,Dt.EQUALS,Dt.CAPS_LOCK,Dt.CONTEXT_MENU,Dt.F1,Dt.F2,Dt.F3,Dt.F4,Dt.F5,Dt.F6,Dt.F7,Dt.F8,Dt.F9,Dt.F10,Dt.F11,Dt.F12].includes(n)}var mAe=["prefixCls","invalidate","item","renderItem","responsive","responsiveDisabled","registerSize","itemKey","className","style","children","display","order","component"],uw=void 0;function fAe(n,e){var t=n.prefixCls,i=n.invalidate,r=n.item,o=n.renderItem,s=n.responsive,a=n.responsiveDisabled,l=n.registerSize,u=n.itemKey,c=n.className,d=n.style,h=n.children,m=n.display,f=n.order,g=n.component,b=g===void 0?"div":g,v=zn(n,mAe),C=s&&!m;function S(M){l(u,M)}w.useEffect(function(){return function(){S(null)}},[]);var x=o&&r!==uw?o(r):h,_;i||(_={opacity:C?0:1,height:C?0:uw,overflowY:C?"hidden":uw,order:s?f:uw,pointerEvents:C?"none":uw,position:C?"absolute":uw});var F={};C&&(F["aria-hidden"]=!0);var D=w.createElement(b,pt({className:Te(!i&&t,c),style:xe(xe({},_),d)},F,v,{ref:e}),x);return s&&(D=w.createElement(mc,{onResize:function(T){var Z=T.offsetWidth;S(Z)},disabled:a},D)),D}var a_=w.forwardRef(fAe);a_.displayName="Item";function gAe(n){if(typeof MessageChannel>"u")xi(n);else{var e=new MessageChannel;e.port1.onmessage=function(){return n()},e.port2.postMessage(void 0)}}function pAe(){var n=w.useRef(null),e=function(i){n.current||(n.current=[],gAe(function(){th.unstable_batchedUpdates(function(){n.current.forEach(function(r){r()}),n.current=null})})),n.current.push(i)};return e}function l_(n,e){var t=w.useState(e),i=Se(t,2),r=i[0],o=i[1],s=$i(function(a){n(function(){o(a)})});return[r,s]}var zT=ze.createContext(null),bAe=["component"],vAe=["className"],yAe=["className"],CAe=function(e,t){var i=w.useContext(zT);if(!i){var r=e.component,o=r===void 0?"div":r,s=zn(e,bAe);return w.createElement(o,pt({},s,{ref:t}))}var a=i.className,l=zn(i,vAe),u=e.className,c=zn(e,yAe);return w.createElement(zT.Provider,{value:null},w.createElement(a_,pt({ref:t,className:Te(a,u)},l,c)))},Goe=w.forwardRef(CAe);Goe.displayName="RawItem";var wAe=["prefixCls","data","renderItem","renderRawItem","itemKey","itemWidth","ssr","style","className","maxCount","renderRest","renderRawRest","suffix","component","itemComponent","onVisibleChange"],Xoe="responsive",Poe="invalidate";function SAe(n){return"+ ".concat(n.length," ...")}function xAe(n,e){var t=n.prefixCls,i=t===void 0?"rc-overflow":t,r=n.data,o=r===void 0?[]:r,s=n.renderItem,a=n.renderRawItem,l=n.itemKey,u=n.itemWidth,c=u===void 0?10:u,d=n.ssr,h=n.style,m=n.className,f=n.maxCount,g=n.renderRest,b=n.renderRawRest,v=n.suffix,C=n.component,S=C===void 0?"div":C,x=n.itemComponent,_=n.onVisibleChange,F=zn(n,wAe),D=d==="full",M=pAe(),T=l_(M,null),Z=Se(T,2),E=Z[0],R=Z[1],W=E||0,A=l_(M,new Map),z=Se(A,2),O=z[0],B=z[1],P=l_(M,0),H=Se(P,2),k=H[0],X=H[1],Y=l_(M,0),V=Se(Y,2),te=V[0],oe=V[1],ae=l_(M,0),le=Se(ae,2),ue=le[0],Ce=le[1],pe=w.useState(null),ce=Se(pe,2),De=ce[0],ke=ce[1],Ne=w.useState(null),Ue=Se(Ne,2),He=Ue[0],ct=Ue[1],vt=w.useMemo(function(){return He===null&&D?Number.MAX_SAFE_INTEGER:He||0},[He,E]),it=w.useState(!1),he=Se(it,2),de=he[0],me=he[1],j="".concat(i,"-item"),$=Math.max(k,te),q=f===Xoe,ee=o.length&&q,ve=f===Poe,Le=ee||typeof f=="number"&&o.length>f,Me=w.useMemo(function(){var We=o;return ee?E===null&&D?We=o:We=o.slice(0,Math.min(o.length,W/c)):typeof f=="number"&&(We=o.slice(0,f)),We},[o,c,E,f,ee]),Be=w.useMemo(function(){return ee?o.slice(vt+1):o.slice(Me.length)},[o,Me,ee,vt]),$e=w.useCallback(function(We,Xe){var ft;return typeof l=="function"?l(We):(ft=l&&(We==null?void 0:We[l]))!==null&&ft!==void 0?ft:Xe},[l]),Re=w.useCallback(s||function(We){return We},[s]);function ht(We,Xe,ft){He===We&&(Xe===void 0||Xe===De)||(ct(We),ft||(me(WeW){ht(Nt-1,We-et-ue+te);break}}v&&Kt(0)+ue>W&&ke(null)}},[W,O,te,ue,$e,Me]);var Rt=de&&!!Be.length,Yt={};De!==null&&ee&&(Yt={position:"absolute",left:De,top:0});var Tn={prefixCls:j,responsive:ee,component:x,invalidate:ve},li=a?function(We,Xe){var ft=$e(We,Xe);return w.createElement(zT.Provider,{key:ft,value:xe(xe({},Tn),{},{order:Xe,item:We,itemKey:ft,registerSize:Ge,display:Xe<=vt})},a(We,Xe))}:function(We,Xe){var ft=$e(We,Xe);return w.createElement(a_,pt({},Tn,{order:Xe,key:ft,item:We,renderItem:Re,itemKey:ft,registerSize:Ge,display:Xe<=vt}))},Et,kt={order:Rt?vt:Number.MAX_SAFE_INTEGER,className:"".concat(j,"-rest"),registerSize:mt,display:Rt};if(b)b&&(Et=w.createElement(zT.Provider,{value:xe(xe({},Tn),kt)},b(Be)));else{var fe=g||SAe;Et=w.createElement(a_,pt({},Tn,kt),typeof fe=="function"?fe(Be):fe)}var _e=w.createElement(S,pt({className:Te(!ve&&i,m),style:h,ref:e},F),Me.map(li),Le?Et:null,v&&w.createElement(a_,pt({},Tn,{responsive:q,responsiveDisabled:!ee,order:vt,className:"".concat(j,"-suffix"),registerSize:St,display:!0,style:Yt}),v));return q&&(_e=w.createElement(mc,{onResize:Ye,disabled:!ee},_e)),_e}var lh=w.forwardRef(xAe);lh.displayName="Overflow",lh.Item=Goe,lh.RESPONSIVE=Xoe,lh.INVALIDATE=Poe;var LAe=function(e,t){var i,r=e.prefixCls,o=e.id,s=e.inputElement,a=e.disabled,l=e.tabIndex,u=e.autoFocus,c=e.autoComplete,d=e.editable,h=e.activeDescendantId,m=e.value,f=e.maxLength,g=e.onKeyDown,b=e.onMouseDown,v=e.onChange,C=e.onPaste,S=e.onCompositionStart,x=e.onCompositionEnd,_=e.open,F=e.attrs,D=s||w.createElement("input",null),M=D,T=M.ref,Z=M.props,E=Z.onKeyDown,R=Z.onChange,W=Z.onMouseDown,A=Z.onCompositionStart,z=Z.onCompositionEnd,O=Z.style;return"maxLength"in D.props,D=w.cloneElement(D,xe(xe(xe({type:"search"},Z),{},{id:o,ref:_u(t,T),disabled:a,tabIndex:l,autoComplete:c||"off",autoFocus:u,className:Te("".concat(r,"-selection-search-input"),(i=D)===null||i===void 0||(i=i.props)===null||i===void 0?void 0:i.className),role:"combobox","aria-expanded":_||!1,"aria-haspopup":"listbox","aria-owns":"".concat(o,"_list"),"aria-autocomplete":"list","aria-controls":"".concat(o,"_list"),"aria-activedescendant":_?h:void 0},F),{},{value:d?m:"",maxLength:f,readOnly:!d,unselectable:d?null:"on",style:xe(xe({},O),{},{opacity:d?null:0}),onKeyDown:function(P){g(P),E&&E(P)},onMouseDown:function(P){b(P),W&&W(P)},onChange:function(P){v(P),R&&R(P)},onCompositionStart:function(P){S(P),A&&A(P)},onCompositionEnd:function(P){x(P),z&&z(P)},onPaste:C})),D},Ooe=w.forwardRef(LAe);function Boe(n){return Array.isArray(n)?n:n!==void 0?[n]:[]}var _Ae=typeof window<"u"&&window.document&&window.document.documentElement,FAe=_Ae;function IAe(n){return n!=null}function DAe(n){return!n&&n!==0}function zoe(n){return["string","number"].includes(Xn(n))}function Hoe(n){var e=void 0;return n&&(zoe(n.title)?e=n.title.toString():zoe(n.label)&&(e=n.label.toString())),e}function MAe(n,e){FAe?w.useLayoutEffect(n,e):w.useEffect(n,e)}function kAe(n){var e;return(e=n.key)!==null&&e!==void 0?e:n.value}var Yoe=function(e){e.preventDefault(),e.stopPropagation()},NAe=function(e){var t=e.id,i=e.prefixCls,r=e.values,o=e.open,s=e.searchValue,a=e.autoClearSearchValue,l=e.inputRef,u=e.placeholder,c=e.disabled,d=e.mode,h=e.showSearch,m=e.autoFocus,f=e.autoComplete,g=e.activeDescendantId,b=e.tabIndex,v=e.removeIcon,C=e.maxTagCount,S=e.maxTagTextLength,x=e.maxTagPlaceholder,_=x===void 0?function(ke){return"+ ".concat(ke.length," ...")}:x,F=e.tagRender,D=e.onToggleOpen,M=e.onRemove,T=e.onInputChange,Z=e.onInputPaste,E=e.onInputKeyDown,R=e.onInputMouseDown,W=e.onInputCompositionStart,A=e.onInputCompositionEnd,z=w.useRef(null),O=w.useState(0),B=Se(O,2),P=B[0],H=B[1],k=w.useState(!1),X=Se(k,2),Y=X[0],V=X[1],te="".concat(i,"-selection"),oe=o||d==="multiple"&&a===!1||d==="tags"?s:"",ae=d==="tags"||d==="multiple"&&a===!1||h&&(o||Y);MAe(function(){H(z.current.scrollWidth)},[oe]);var le=function(Ne,Ue,He,ct,vt){return w.createElement("span",{title:Hoe(Ne),className:Te("".concat(te,"-item"),ge({},"".concat(te,"-item-disabled"),He))},w.createElement("span",{className:"".concat(te,"-item-content")},Ue),ct&&w.createElement(BT,{className:"".concat(te,"-item-remove"),onMouseDown:Yoe,onClick:vt,customizeIcon:v},"×"))},ue=function(Ne,Ue,He,ct,vt){var it=function(de){Yoe(de),D(!o)};return w.createElement("span",{onMouseDown:it},F({label:Ue,value:Ne,disabled:He,closable:ct,onClose:vt}))},Ce=function(Ne){var Ue=Ne.disabled,He=Ne.label,ct=Ne.value,vt=!c&&!Ue,it=He;if(typeof S=="number"&&(typeof He=="string"||typeof He=="number")){var he=String(it);he.length>S&&(it="".concat(he.slice(0,S),"..."))}var de=function(j){j&&j.stopPropagation(),M(Ne)};return typeof F=="function"?ue(ct,it,Ue,vt,de):le(Ne,it,Ue,vt,de)},pe=function(Ne){var Ue=typeof _=="function"?_(Ne):_;return le({title:Ue},Ue,!1)},ce=w.createElement("div",{className:"".concat(te,"-search"),style:{width:P},onFocus:function(){V(!0)},onBlur:function(){V(!1)}},w.createElement(Ooe,{ref:l,open:o,prefixCls:i,id:t,inputElement:null,disabled:c,autoFocus:m,autoComplete:f,editable:ae,activeDescendantId:g,value:oe,onKeyDown:E,onMouseDown:R,onChange:T,onPaste:Z,onCompositionStart:W,onCompositionEnd:A,tabIndex:b,attrs:Fu(e,!0)}),w.createElement("span",{ref:z,className:"".concat(te,"-search-mirror"),"aria-hidden":!0},oe," ")),De=w.createElement(lh,{prefixCls:"".concat(te,"-overflow"),data:r,renderItem:Ce,renderRest:pe,suffix:ce,itemKey:kAe,maxCount:C});return w.createElement(w.Fragment,null,De,!r.length&&!oe&&w.createElement("span",{className:"".concat(te,"-placeholder")},u))},TAe=function(e){var t=e.inputElement,i=e.prefixCls,r=e.id,o=e.inputRef,s=e.disabled,a=e.autoFocus,l=e.autoComplete,u=e.activeDescendantId,c=e.mode,d=e.open,h=e.values,m=e.placeholder,f=e.tabIndex,g=e.showSearch,b=e.searchValue,v=e.activeValue,C=e.maxLength,S=e.onInputKeyDown,x=e.onInputMouseDown,_=e.onInputChange,F=e.onInputPaste,D=e.onInputCompositionStart,M=e.onInputCompositionEnd,T=e.title,Z=w.useState(!1),E=Se(Z,2),R=E[0],W=E[1],A=c==="combobox",z=A||g,O=h[0],B=b||"";A&&v&&!R&&(B=v),w.useEffect(function(){A&&W(!1)},[A,v]);var P=c!=="combobox"&&!d&&!g?!1:!!B,H=T===void 0?Hoe(O):T,k=w.useMemo(function(){return O?null:w.createElement("span",{className:"".concat(i,"-selection-placeholder"),style:P?{visibility:"hidden"}:void 0},m)},[O,P,m,i]);return w.createElement(w.Fragment,null,w.createElement("span",{className:"".concat(i,"-selection-search")},w.createElement(Ooe,{ref:o,prefixCls:i,id:r,open:d,inputElement:t,disabled:s,autoFocus:a,autoComplete:l,editable:z,activeDescendantId:u,value:B,onKeyDown:S,onMouseDown:x,onChange:function(Y){W(!0),_(Y)},onPaste:F,onCompositionStart:D,onCompositionEnd:M,tabIndex:f,attrs:Fu(e,!0),maxLength:A?C:void 0})),!A&&O?w.createElement("span",{className:"".concat(i,"-selection-item"),title:H,style:P?{visibility:"hidden"}:void 0},O.label):null,k)},EAe=function(e,t){var i=w.useRef(null),r=w.useRef(!1),o=e.prefixCls,s=e.open,a=e.mode,l=e.showSearch,u=e.tokenWithEnter,c=e.autoClearSearchValue,d=e.onSearch,h=e.onSearchSubmit,m=e.onToggleOpen,f=e.onInputKeyDown,g=e.domRef;w.useImperativeHandle(t,function(){return{focus:function(B){i.current.focus(B)},blur:function(){i.current.blur()}}});var b=Aoe(0),v=Se(b,2),C=v[0],S=v[1],x=function(B){var P=B.which;(P===Dt.UP||P===Dt.DOWN)&&B.preventDefault(),f&&f(B),P===Dt.ENTER&&a==="tags"&&!r.current&&!s&&(h==null||h(B.target.value)),hAe(P)&&m(!0)},_=function(){S(!0)},F=w.useRef(null),D=function(B){d(B,!0,r.current)!==!1&&m(!0)},M=function(){r.current=!0},T=function(B){r.current=!1,a!=="combobox"&&D(B.target.value)},Z=function(B){var P=B.target.value;if(u&&F.current&&/[\r\n]/.test(F.current)){var H=F.current.replace(/[\r\n]+$/,"").replace(/\r\n/g," ").replace(/[\r\n]/g," ");P=P.replace(H,F.current)}F.current=null,D(P)},E=function(B){var P=B.clipboardData,H=P==null?void 0:P.getData("text");F.current=H||""},R=function(B){var P=B.target;if(P!==i.current){var H=document.body.style.msTouchAction!==void 0;H?setTimeout(function(){i.current.focus()}):i.current.focus()}},W=function(B){var P=C();B.target!==i.current&&!P&&a!=="combobox"&&B.preventDefault(),(a!=="combobox"&&(!l||!P)||!s)&&(s&&c!==!1&&d("",!0,!1),m())},A={inputRef:i,onInputKeyDown:x,onInputMouseDown:_,onInputChange:Z,onInputPaste:E,onInputCompositionStart:M,onInputCompositionEnd:T},z=a==="multiple"||a==="tags"?w.createElement(NAe,pt({},e,A)):w.createElement(TAe,pt({},e,A));return w.createElement("div",{ref:g,className:"".concat(o,"-selector"),onClick:R,onMouseDown:W},z)},ZAe=w.forwardRef(EAe);function WAe(n){var e=n.prefixCls,t=n.align,i=n.arrow,r=n.arrowPos,o=i||{},s=o.className,a=o.content,l=r.x,u=l===void 0?0:l,c=r.y,d=c===void 0?0:c,h=w.useRef();if(!t||!t.points)return null;var m={position:"absolute"};if(t.autoArrow!==!1){var f=t.points[0],g=t.points[1],b=f[0],v=f[1],C=g[0],S=g[1];b===C||!["t","b"].includes(b)?m.top=d:b==="t"?m.top=0:m.bottom=0,v===S||!["l","r"].includes(v)?m.left=u:v==="l"?m.left=0:m.right=0}return w.createElement("div",{ref:h,className:Te("".concat(e,"-arrow"),s),style:m},a)}function RAe(n){var e=n.prefixCls,t=n.open,i=n.zIndex,r=n.mask,o=n.motion;return r?w.createElement(ud,pt({},o,{motionAppear:!0,visible:t,removeOnLeave:!0}),function(s){var a=s.className;return w.createElement("div",{style:{zIndex:i},className:Te("".concat(e,"-mask"),a)})}):null}var VAe=w.memo(function(n){var e=n.children;return e},function(n,e){return e.cache}),AAe=w.forwardRef(function(n,e){var t=n.popup,i=n.className,r=n.prefixCls,o=n.style,s=n.target,a=n.onVisibleChanged,l=n.open,u=n.keepDom,c=n.fresh,d=n.onClick,h=n.mask,m=n.arrow,f=n.arrowPos,g=n.align,b=n.motion,v=n.maskMotion,C=n.forceRender,S=n.getPopupContainer,x=n.autoDestroy,_=n.portal,F=n.zIndex,D=n.onMouseEnter,M=n.onMouseLeave,T=n.onPointerEnter,Z=n.ready,E=n.offsetX,R=n.offsetY,W=n.offsetR,A=n.offsetB,z=n.onAlign,O=n.onPrepare,B=n.stretch,P=n.targetWidth,H=n.targetHeight,k=typeof t=="function"?t():t,X=l||u,Y=(S==null?void 0:S.length)>0,V=w.useState(!S||!Y),te=Se(V,2),oe=te[0],ae=te[1];if(dr(function(){!oe&&Y&&s&&ae(!0)},[oe,Y,s]),!oe)return null;var le="auto",ue={left:"-1000vw",top:"-1000vh",right:le,bottom:le};if(Z||!l){var Ce,pe=g.points,ce=g.dynamicInset||((Ce=g._experimental)===null||Ce===void 0?void 0:Ce.dynamicInset),De=ce&&pe[0][1]==="r",ke=ce&&pe[0][0]==="b";De?(ue.right=W,ue.left=le):(ue.left=E,ue.right=le),ke?(ue.bottom=A,ue.top=le):(ue.top=R,ue.bottom=le)}var Ne={};return B&&(B.includes("height")&&H?Ne.height=H:B.includes("minHeight")&&H&&(Ne.minHeight=H),B.includes("width")&&P?Ne.width=P:B.includes("minWidth")&&P&&(Ne.minWidth=P)),l||(Ne.pointerEvents="none"),w.createElement(_,{open:C||X,getContainer:S&&function(){return S(s)},autoDestroy:x},w.createElement(RAe,{prefixCls:r,open:l,zIndex:F,mask:h,motion:v}),w.createElement(mc,{onResize:z,disabled:!l},function(Ue){return w.createElement(ud,pt({motionAppear:!0,motionEnter:!0,motionLeave:!0,removeOnLeave:!1,forceRender:C,leavedClassName:"".concat(r,"-hidden")},b,{onAppearPrepare:O,onEnterPrepare:O,visible:l,onVisibleChanged:function(ct){var vt;b==null||(vt=b.onVisibleChanged)===null||vt===void 0||vt.call(b,ct),a(ct)}}),function(He,ct){var vt=He.className,it=He.style,he=Te(r,vt,i);return w.createElement("div",{ref:_u(Ue,e,ct),className:he,style:xe(xe(xe(xe({"--arrow-x":"".concat(f.x||0,"px"),"--arrow-y":"".concat(f.y||0,"px")},ue),Ne),it),{},{boxSizing:"border-box",zIndex:F},o),onMouseEnter:D,onMouseLeave:M,onPointerEnter:T,onClick:d},m&&w.createElement(WAe,{prefixCls:r,arrow:m,arrowPos:f,align:g}),w.createElement(VAe,{cache:!l&&!c},k))})}))}),GAe=w.forwardRef(function(n,e){var t=n.children,i=n.getTriggerDOMNode,r=jf(t),o=w.useCallback(function(a){kX(e,i?i(a):a)},[i]),s=tb(o,t.ref);return r?w.cloneElement(t,{ref:s}):t}),Uoe=w.createContext(null);function Koe(n){return n?Array.isArray(n)?n:[n]:[]}function XAe(n,e,t,i){return w.useMemo(function(){var r=Koe(t??e),o=Koe(i??e),s=new Set(r),a=new Set(o);return n&&(s.has("hover")&&(s.delete("hover"),s.add("click")),a.has("hover")&&(a.delete("hover"),a.add("click"))),[s,a]},[n,e,t,i])}function PAe(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],t=arguments.length>2?arguments[2]:void 0;return t?n[0]===e[0]:n[0]===e[0]&&n[1]===e[1]}function OAe(n,e,t,i){for(var r=t.points,o=Object.keys(n),s=0;s1&&arguments[1]!==void 0?arguments[1]:1;return Number.isNaN(n)?e:n}function d_(n){return c_(parseFloat(n),0)}function joe(n,e){var t=xe({},n);return(e||[]).forEach(function(i){if(!(i instanceof HTMLBodyElement||i instanceof HTMLHtmlElement)){var r=u_(i).getComputedStyle(i),o=r.overflow,s=r.overflowClipMargin,a=r.borderTopWidth,l=r.borderBottomWidth,u=r.borderLeftWidth,c=r.borderRightWidth,d=i.getBoundingClientRect(),h=i.offsetHeight,m=i.clientHeight,f=i.offsetWidth,g=i.clientWidth,b=d_(a),v=d_(l),C=d_(u),S=d_(c),x=c_(Math.round(d.width/f*1e3)/1e3),_=c_(Math.round(d.height/h*1e3)/1e3),F=(f-g-C-S)*x,D=(h-m-b-v)*_,M=b*_,T=v*_,Z=C*x,E=S*x,R=0,W=0;if(o==="clip"){var A=d_(s);R=A*x,W=A*_}var z=d.x+Z-R,O=d.y+M-W,B=z+d.width+2*R-Z-E-F,P=O+d.height+2*W-M-T-D;t.left=Math.max(t.left,z),t.top=Math.max(t.top,O),t.right=Math.min(t.right,B),t.bottom=Math.min(t.bottom,P)}}),t}function Qoe(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,t="".concat(e),i=t.match(/^(.*)\%$/);return i?n*(parseFloat(i[1])/100):parseFloat(t)}function $oe(n,e){var t=e||[],i=Se(t,2),r=i[0],o=i[1];return[Qoe(n.width,r),Qoe(n.height,o)]}function qoe(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return[n[0],n[1]]}function cw(n,e){var t=e[0],i=e[1],r,o;return t==="t"?o=n.y:t==="b"?o=n.y+n.height:o=n.y+n.height/2,i==="l"?r=n.x:i==="r"?r=n.x+n.width:r=n.x+n.width/2,{x:r,y:o}}function hb(n,e){var t={t:"b",b:"t",l:"r",r:"l"};return n.map(function(i,r){return r===e?t[i]||"c":i}).join("")}function BAe(n,e,t,i,r,o,s){var a=w.useState({ready:!1,offsetX:0,offsetY:0,offsetR:0,offsetB:0,arrowX:0,arrowY:0,scaleX:1,scaleY:1,align:r[i]||{}}),l=Se(a,2),u=l[0],c=l[1],d=w.useRef(0),h=w.useMemo(function(){return e?bP(e):[]},[e]),m=w.useRef({}),f=function(){m.current={}};n||f();var g=$i(function(){if(e&&t&&n){let An=function(wo,ws){var Op=arguments.length>2&&arguments[2]!==void 0?arguments[2]:he,FC=k.x+wo,Of=k.y+ws,Bp=FC+Ce,sc=Of+ue,nd=Math.max(FC,Op.left),Yd=Math.max(Of,Op.top),zp=Math.min(Bp,Op.right),Hp=Math.min(sc,Op.bottom);return Math.max(0,(zp-nd)*(Hp-Yd))},Mi=function(){Mn=k.y+fe,mn=Mn+ue,Ot=k.x+kt,gn=Ot+Ce};var C,S,x=e,_=x.ownerDocument,F=u_(x),D=F.getComputedStyle(x),M=D.width,T=D.height,Z=D.position,E=x.style.left,R=x.style.top,W=x.style.right,A=x.style.bottom,z=x.style.overflow,O=xe(xe({},r[i]),o),B=_.createElement("div");(C=x.parentElement)===null||C===void 0||C.appendChild(B),B.style.left="".concat(x.offsetLeft,"px"),B.style.top="".concat(x.offsetTop,"px"),B.style.position=Z,B.style.height="".concat(x.offsetHeight,"px"),B.style.width="".concat(x.offsetWidth,"px"),x.style.left="0",x.style.top="0",x.style.right="auto",x.style.bottom="auto",x.style.overflow="hidden";var P;if(Array.isArray(t))P={x:t[0],y:t[1],width:0,height:0};else{var H=t.getBoundingClientRect();P={x:H.x,y:H.y,width:H.width,height:H.height}}var k=x.getBoundingClientRect(),X=_.documentElement,Y=X.clientWidth,V=X.clientHeight,te=X.scrollWidth,oe=X.scrollHeight,ae=X.scrollTop,le=X.scrollLeft,ue=k.height,Ce=k.width,pe=P.height,ce=P.width,De={left:0,top:0,right:Y,bottom:V},ke={left:-le,top:-ae,right:te-le,bottom:oe-ae},Ne=O.htmlRegion,Ue="visible",He="visibleFirst";Ne!=="scroll"&&Ne!==He&&(Ne=Ue);var ct=Ne===He,vt=joe(ke,h),it=joe(De,h),he=Ne===Ue?it:vt,de=ct?it:he;x.style.left="auto",x.style.top="auto",x.style.right="0",x.style.bottom="0";var me=x.getBoundingClientRect();x.style.left=E,x.style.top=R,x.style.right=W,x.style.bottom=A,x.style.overflow=z,(S=x.parentElement)===null||S===void 0||S.removeChild(B);var j=c_(Math.round(Ce/parseFloat(M)*1e3)/1e3),$=c_(Math.round(ue/parseFloat(T)*1e3)/1e3);if(j===0||$===0||BN(t)&&!JL(t))return;var q=O.offset,ee=O.targetOffset,ve=$oe(k,q),Le=Se(ve,2),Me=Le[0],Be=Le[1],$e=$oe(P,ee),Re=Se($e,2),ht=Re[0],Ye=Re[1];P.x-=ht,P.y-=Ye;var Ge=O.points||[],mt=Se(Ge,2),St=mt[0],Kt=mt[1],Rt=qoe(Kt),Yt=qoe(St),Tn=cw(P,Rt),li=cw(k,Yt),Et=xe({},O),kt=Tn.x-li.x+Me,fe=Tn.y-li.y+Be,_e=An(kt,fe),We=An(kt,fe,it),Xe=cw(P,["t","l"]),ft=cw(k,["t","l"]),Nt=cw(P,["b","r"]),et=cw(k,["b","r"]),rt=O.overflow||{},yt=rt.adjustX,Ft=rt.adjustY,tn=rt.shiftX,Jt=rt.shiftY,qt=function(ws){return typeof ws=="boolean"?ws:ws>=0},Mn,mn,Ot,gn;Mi();var Tt=qt(Ft),we=Yt[0]===Rt[0];if(Tt&&Yt[0]==="t"&&(mn>de.bottom||m.current.bt)){var Ke=fe;we?Ke-=ue-pe:Ke=Xe.y-et.y-Be;var dt=An(kt,Ke),nn=An(kt,Ke,it);dt>_e||dt===_e&&(!ct||nn>=We)?(m.current.bt=!0,fe=Ke,Be=-Be,Et.points=[hb(Yt,0),hb(Rt,0)]):m.current.bt=!1}if(Tt&&Yt[0]==="b"&&(Mn_e||Wn===_e&&(!ct||rn>=We)?(m.current.tb=!0,fe=jn,Be=-Be,Et.points=[hb(Yt,0),hb(Rt,0)]):m.current.tb=!1}var fi=qt(yt),_n=Yt[1]===Rt[1];if(fi&&Yt[1]==="l"&&(gn>de.right||m.current.rl)){var gi=kt;_n?gi-=Ce-ce:gi=Xe.x-et.x-Me;var Hr=An(gi,fe),As=An(gi,fe,it);Hr>_e||Hr===_e&&(!ct||As>=We)?(m.current.rl=!0,kt=gi,Me=-Me,Et.points=[hb(Yt,1),hb(Rt,1)]):m.current.rl=!1}if(fi&&Yt[1]==="r"&&(Ot_e||yu===_e&&(!ct||Jl>=We)?(m.current.lr=!0,kt=cs,Me=-Me,Et.points=[hb(Yt,1),hb(Rt,1)]):m.current.lr=!1}Mi();var qo=tn===!0?0:tn;typeof qo=="number"&&(Otit.right&&(kt-=gn-it.right-Me,P.x>it.right-qo&&(kt+=P.x-it.right+qo)));var Yr=Jt===!0?0:Jt;typeof Yr=="number"&&(Mnit.bottom&&(fe-=mn-it.bottom-Be,P.y>it.bottom-Yr&&(fe+=P.y-it.bottom+Yr)));var Cu=k.x+kt,es=Cu+Ce,Wa=k.y+fe,pl=Wa+ue,Qi=P.x,ci=Qi+ce,on=P.y,bn=on+pe,Di=Math.max(Cu,Qi),Ur=Math.min(es,ci),cr=(Di+Ur)/2,Kr=cr-Cu,kn=Math.max(Wa,on),Cn=Math.min(pl,bn),Gi=(kn+Cn)/2,Co=Gi-Wa;s==null||s(e,Et);var ds=me.right-k.x-(kt+k.width),fn=me.bottom-k.y-(fe+k.height);c({ready:!0,offsetX:kt/j,offsetY:fe/$,offsetR:ds/j,offsetB:fn/$,arrowX:Kr/j,arrowY:Co/$,scaleX:j,scaleY:$,align:Et})}}),b=function(){d.current+=1;var S=d.current;Promise.resolve().then(function(){d.current===S&&g()})},v=function(){c(function(S){return xe(xe({},S),{},{ready:!1})})};return dr(v,[i]),dr(function(){n||v()},[n]),[u.ready,u.offsetX,u.offsetY,u.offsetR,u.offsetB,u.arrowX,u.arrowY,u.scaleX,u.scaleY,u.align,b]}function zAe(n,e,t,i,r){dr(function(){if(n&&e&&t){let d=function(){i(),r()};var o=e,s=t,a=bP(o),l=bP(s),u=u_(s),c=new Set([u].concat(_t(a),_t(l)));return c.forEach(function(h){h.addEventListener("scroll",d,{passive:!0})}),u.addEventListener("resize",d,{passive:!0}),i(),function(){c.forEach(function(h){h.removeEventListener("scroll",d),u.removeEventListener("resize",d)})}}},[n,e,t])}function HAe(n,e,t,i,r,o,s,a){var l=w.useRef(n);l.current=n,w.useEffect(function(){if(e&&i&&(!r||o)){var u=function(m){var f=m.target;l.current&&!s(f)&&a(!1)},c=u_(i);c.addEventListener("mousedown",u,!0),c.addEventListener("contextmenu",u,!0);var d=wT(t);return d&&(d.addEventListener("mousedown",u,!0),d.addEventListener("contextmenu",u,!0)),function(){c.removeEventListener("mousedown",u,!0),c.removeEventListener("contextmenu",u,!0),d&&(d.removeEventListener("mousedown",u,!0),d.removeEventListener("contextmenu",u,!0))}}},[e,t,i,r,o])}var YAe=["prefixCls","children","action","showAction","hideAction","popupVisible","defaultPopupVisible","onPopupVisibleChange","afterPopupVisibleChange","mouseEnterDelay","mouseLeaveDelay","focusDelay","blurDelay","mask","maskClosable","getPopupContainer","forceRender","autoDestroy","destroyPopupOnHide","popup","popupClassName","popupStyle","popupPlacement","builtinPlacements","popupAlign","zIndex","stretch","getPopupClassNameFromAlign","fresh","alignPoint","onPopupClick","onPopupAlign","arrow","popupMotion","maskMotion","popupTransitionName","popupAnimation","maskTransitionName","maskAnimation","className","getTriggerDOMNode"];function UAe(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:J4,e=w.forwardRef(function(t,i){var r=t.prefixCls,o=r===void 0?"rc-trigger-popup":r,s=t.children,a=t.action,l=a===void 0?"hover":a,u=t.showAction,c=t.hideAction,d=t.popupVisible,h=t.defaultPopupVisible,m=t.onPopupVisibleChange,f=t.afterPopupVisibleChange,g=t.mouseEnterDelay,b=t.mouseLeaveDelay,v=b===void 0?.1:b,C=t.focusDelay,S=t.blurDelay,x=t.mask,_=t.maskClosable,F=_===void 0?!0:_,D=t.getPopupContainer,M=t.forceRender,T=t.autoDestroy,Z=t.destroyPopupOnHide,E=t.popup,R=t.popupClassName,W=t.popupStyle,A=t.popupPlacement,z=t.builtinPlacements,O=z===void 0?{}:z,B=t.popupAlign,P=t.zIndex,H=t.stretch,k=t.getPopupClassNameFromAlign,X=t.fresh,Y=t.alignPoint,V=t.onPopupClick,te=t.onPopupAlign,oe=t.arrow,ae=t.popupMotion,le=t.maskMotion,ue=t.popupTransitionName,Ce=t.popupAnimation,pe=t.maskTransitionName,ce=t.maskAnimation,De=t.className,ke=t.getTriggerDOMNode,Ne=zn(t,YAe),Ue=T||Z||!1,He=w.useState(!1),ct=Se(He,2),vt=ct[0],it=ct[1];dr(function(){it(OT())},[]);var he=w.useRef({}),de=w.useContext(Uoe),me=w.useMemo(function(){return{registerSubPopup:function(ui,ao){he.current[ui]=ao,de==null||de.registerSubPopup(ui,ao)}}},[de]),j=Fre(),$=w.useState(null),q=Se($,2),ee=q[0],ve=q[1],Le=w.useRef(null),Me=$i(function(Fn){Le.current=Fn,BN(Fn)&&ee!==Fn&&ve(Fn),de==null||de.registerSubPopup(j,Fn)}),Be=w.useState(null),$e=Se(Be,2),Re=$e[0],ht=$e[1],Ye=w.useRef(null),Ge=$i(function(Fn){BN(Fn)&&Re!==Fn&&(ht(Fn),Ye.current=Fn)}),mt=w.Children.only(s),St=(mt==null?void 0:mt.props)||{},Kt={},Rt=$i(function(Fn){var ui,ao,Gs=Re;return(Gs==null?void 0:Gs.contains(Fn))||((ui=wT(Gs))===null||ui===void 0?void 0:ui.host)===Fn||Fn===Gs||(ee==null?void 0:ee.contains(Fn))||((ao=wT(ee))===null||ao===void 0?void 0:ao.host)===Fn||Fn===ee||Object.values(he.current).some(function(Po){return(Po==null?void 0:Po.contains(Fn))||Fn===Po})}),Yt=Joe(o,ae,Ce,ue),Tn=Joe(o,le,ce,pe),li=w.useState(h||!1),Et=Se(li,2),kt=Et[0],fe=Et[1],_e=d??kt,We=$i(function(Fn){d===void 0&&fe(Fn)});dr(function(){fe(d||!1)},[d]);var Xe=w.useRef(_e);Xe.current=_e;var ft=w.useRef([]);ft.current=[];var Nt=$i(function(Fn){var ui;We(Fn),((ui=ft.current[ft.current.length-1])!==null&&ui!==void 0?ui:_e)!==Fn&&(ft.current.push(Fn),m==null||m(Fn))}),et=w.useRef(),rt=function(){clearTimeout(et.current)},yt=function(ui){var ao=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;rt(),ao===0?Nt(ui):et.current=setTimeout(function(){Nt(ui)},ao*1e3)};w.useEffect(function(){return rt},[]);var Ft=w.useState(!1),tn=Se(Ft,2),Jt=tn[0],qt=tn[1];dr(function(Fn){(!Fn||_e)&&qt(!0)},[_e]);var Mn=w.useState(null),mn=Se(Mn,2),Ot=mn[0],gn=mn[1],Tt=w.useState([0,0]),we=Se(Tt,2),Ke=we[0],dt=we[1],nn=function(ui){dt([ui.clientX,ui.clientY])},jn=BAe(_e,ee,Y?Ke:Re,A,O,B,te),Wn=Se(jn,11),rn=Wn[0],fi=Wn[1],_n=Wn[2],gi=Wn[3],Hr=Wn[4],As=Wn[5],cs=Wn[6],yu=Wn[7],Jl=Wn[8],qo=Wn[9],Yr=Wn[10],Cu=XAe(vt,l,u,c),es=Se(Cu,2),Wa=es[0],pl=es[1],Qi=Wa.has("click"),ci=pl.has("click")||pl.has("contextMenu"),on=$i(function(){Jt||Yr()}),bn=function(){Xe.current&&Y&&ci&&yt(!1)};zAe(_e,Re,ee,on,bn),dr(function(){on()},[Ke,A]),dr(function(){_e&&!(O!=null&&O[A])&&on()},[JSON.stringify(B)]);var Di=w.useMemo(function(){var Fn=OAe(O,o,qo,Y);return Te(Fn,k==null?void 0:k(qo))},[qo,k,O,o,Y]);w.useImperativeHandle(i,function(){return{nativeElement:Ye.current,popupElement:Le.current,forceAlign:on}});var Ur=w.useState(0),cr=Se(Ur,2),Kr=cr[0],kn=cr[1],Cn=w.useState(0),Gi=Se(Cn,2),Co=Gi[0],ds=Gi[1],fn=function(){if(H&&Re){var ui=Re.getBoundingClientRect();kn(ui.width),ds(ui.height)}},An=function(){fn(),on()},Mi=function(ui){qt(!1),Yr(),f==null||f(ui)},wo=function(){return new Promise(function(ui){fn(),gn(function(){return ui})})};dr(function(){Ot&&(Yr(),Ot(),gn(null))},[Ot]);function ws(Fn,ui,ao,Gs){Kt[Fn]=function(Po){var Yp;Gs==null||Gs(Po),yt(ui,ao);for(var eL=arguments.length,bG=new Array(eL>1?eL-1:0),zf=1;zf1?ao-1:0),Po=1;Po1?ao-1:0),Po=1;Po1&&arguments[1]!==void 0?arguments[1]:{},t=e.fieldNames,i=e.childrenAsData,r=[],o=tse(t,!1),s=o.label,a=o.value,l=o.options,u=o.groupLabel;function c(d,h){Array.isArray(d)&&d.forEach(function(m){if(h||!(l in m)){var f=m[a];r.push({key:ese(m,r.length),groupOption:h,data:m,label:m[s],value:f})}else{var g=m[u];g===void 0&&i&&(g=m.label),r.push({key:ese(m,r.length),group:!0,data:m,label:g}),c(m[l],!0)}})}return c(n,!1),r}function yP(n){var e=xe({},n);return"props"in e||Object.defineProperty(e,"props",{get:function(){return aa(!1,"Return type is option instead of Option instance. Please read value directly instead of reading from `props`."),e}}),e}var qAe=function(e,t,i){if(!t||!t.length)return null;var r=!1,o=function a(l,u){var c=Ine(u),d=c[0],h=c.slice(1);if(!d)return[l];var m=l.split(d);return r=r||m.length>1,m.reduce(function(f,g){return[].concat(_t(f),_t(a(g,h)))},[]).filter(Boolean)},s=o(e,t);return r?typeof i<"u"?s.slice(0,i):s:null},CP=w.createContext(null),eGe=["id","prefixCls","className","showSearch","tagRender","direction","omitDomProps","displayValues","onDisplayValuesChange","emptyOptions","notFoundContent","onClear","mode","disabled","loading","getInputElement","getRawInputElement","open","defaultOpen","onDropdownVisibleChange","activeValue","onActiveValueChange","activeDescendantId","searchValue","autoClearSearchValue","onSearch","onSearchSplit","tokenSeparators","allowClear","suffixIcon","clearIcon","OptionList","animation","transitionName","dropdownStyle","dropdownClassName","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","placement","builtinPlacements","getPopupContainer","showAction","onFocus","onBlur","onKeyUp","onKeyDown","onMouseDown"],tGe=["value","onChange","removeIcon","placeholder","autoFocus","maxTagCount","maxTagTextLength","maxTagPlaceholder","choiceTransitionName","onInputKeyDown","onPopupScroll","tabIndex"],wP=function(e){return e==="tags"||e==="multiple"},nGe=w.forwardRef(function(n,e){var t,i=n.id,r=n.prefixCls,o=n.className,s=n.showSearch,a=n.tagRender,l=n.direction,u=n.omitDomProps,c=n.displayValues,d=n.onDisplayValuesChange,h=n.emptyOptions,m=n.notFoundContent,f=m===void 0?"Not Found":m,g=n.onClear,b=n.mode,v=n.disabled,C=n.loading,S=n.getInputElement,x=n.getRawInputElement,_=n.open,F=n.defaultOpen,D=n.onDropdownVisibleChange,M=n.activeValue,T=n.onActiveValueChange,Z=n.activeDescendantId,E=n.searchValue,R=n.autoClearSearchValue,W=n.onSearch,A=n.onSearchSplit,z=n.tokenSeparators,O=n.allowClear,B=n.suffixIcon,P=n.clearIcon,H=n.OptionList,k=n.animation,X=n.transitionName,Y=n.dropdownStyle,V=n.dropdownClassName,te=n.dropdownMatchSelectWidth,oe=n.dropdownRender,ae=n.dropdownAlign,le=n.placement,ue=n.builtinPlacements,Ce=n.getPopupContainer,pe=n.showAction,ce=pe===void 0?[]:pe,De=n.onFocus,ke=n.onBlur,Ne=n.onKeyUp,Ue=n.onKeyDown,He=n.onMouseDown,ct=zn(n,eGe),vt=wP(b),it=(s!==void 0?s:vt)||b==="combobox",he=xe({},ct);tGe.forEach(function(on){delete he[on]}),u==null||u.forEach(function(on){delete he[on]});var de=w.useState(!1),me=Se(de,2),j=me[0],$=me[1];w.useEffect(function(){$(OT())},[]);var q=w.useRef(null),ee=w.useRef(null),ve=w.useRef(null),Le=w.useRef(null),Me=w.useRef(null),Be=w.useRef(!1),$e=cAe(),Re=Se($e,3),ht=Re[0],Ye=Re[1],Ge=Re[2];w.useImperativeHandle(e,function(){var on,bn;return{focus:(on=Le.current)===null||on===void 0?void 0:on.focus,blur:(bn=Le.current)===null||bn===void 0?void 0:bn.blur,scrollTo:function(Ur){var cr;return(cr=Me.current)===null||cr===void 0?void 0:cr.scrollTo(Ur)}}});var mt=w.useMemo(function(){var on;if(b!=="combobox")return E;var bn=(on=c[0])===null||on===void 0?void 0:on.value;return typeof bn=="string"||typeof bn=="number"?String(bn):""},[E,b,c]),St=b==="combobox"&&typeof S=="function"&&S()||null,Kt=typeof x=="function"&&x(),Rt=tb(ee,Kt==null||(t=Kt.props)===null||t===void 0?void 0:t.ref),Yt=w.useState(!1),Tn=Se(Yt,2),li=Tn[0],Et=Tn[1];dr(function(){Et(!0)},[]);var kt=Jr(!1,{defaultValue:F,value:_}),fe=Se(kt,2),_e=fe[0],We=fe[1],Xe=li?_e:!1,ft=!f&&h;(v||ft&&Xe&&b==="combobox")&&(Xe=!1);var Nt=ft?!1:Xe,et=w.useCallback(function(on){var bn=on!==void 0?on:!Xe;v||(We(bn),Xe!==bn&&(D==null||D(bn)))},[v,Xe,We,D]),rt=w.useMemo(function(){return(z||[]).some(function(on){return[` + ${e}-confirm-body-wrapper`]:{display:"flex",flexDirection:"column",flex:"auto"},[`${e}-confirm-body`]:{marginBottom:"auto"}}}]},FAe=n=>{const{componentCls:e}=n;return{[`${e}-root`]:{[`${e}-wrap-rtl`]:{direction:"rtl",[`${e}-confirm-body`]:{direction:"rtl"}}}}},foe=n=>{const e=n.padding,t=n.fontSizeHeading5,i=n.lineHeightHeading5;return Yi(n,{modalHeaderHeight:n.calc(n.calc(i).mul(t).equal()).add(n.calc(e).mul(2).equal()).equal(),modalFooterBorderColorSplit:n.colorSplit,modalFooterBorderStyle:n.lineType,modalFooterBorderWidth:n.lineWidth,modalCloseIconColor:n.colorIcon,modalCloseIconHoverColor:n.colorIconHover,modalCloseBtnSize:n.controlHeight,modalConfirmIconSize:n.fontHeight,modalTitleHeight:n.calc(n.titleFontSize).mul(n.titleLineHeight).equal()})},goe=n=>({footerBg:"transparent",headerBg:n.colorBgElevated,titleLineHeight:n.lineHeightHeading5,titleFontSize:n.fontSizeHeading5,contentBg:n.colorBgElevated,titleColor:n.colorTextHeading,contentPadding:n.wireframe?0:`${Ee(n.paddingMD)} ${Ee(n.paddingContentHorizontalLG)}`,headerPadding:n.wireframe?`${Ee(n.padding)} ${Ee(n.paddingLG)}`:0,headerBorderBottom:n.wireframe?`${Ee(n.lineWidth)} ${n.lineType} ${n.colorSplit}`:"none",headerMarginBottom:n.wireframe?0:n.marginXS,bodyPadding:n.wireframe?n.paddingLG:0,footerPadding:n.wireframe?`${Ee(n.paddingXS)} ${Ee(n.padding)}`:0,footerBorderTop:n.wireframe?`${Ee(n.lineWidth)} ${n.lineType} ${n.colorSplit}`:"none",footerBorderRadius:n.wireframe?`0 0 ${Ee(n.borderRadiusLG)} ${Ee(n.borderRadiusLG)}`:0,footerMarginTop:n.wireframe?0:n.marginSM,confirmBodyPadding:n.wireframe?`${Ee(n.padding*2)} ${Ee(n.padding*2)} ${Ee(n.paddingLG)}`:0,confirmIconMarginInlineEnd:n.wireframe?n.margin:n.marginSM,confirmBtnsMarginTop:n.wireframe?n.marginLG:n.marginSM}),poe=Ho("Modal",n=>{const e=foe(n);return[IAe(e),FAe(e),LAe(e),oL(e,"zoom")]},goe,{unitless:{titleLineHeight:!0}});var DAe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{gP={x:n.pageX,y:n.pageY},setTimeout(()=>{gP=null},100)};i3e()&&document.documentElement.addEventListener("click",NAe,!0);const boe=n=>{var e;const{getPopupContainer:t,getPrefixCls:i,direction:r,modal:o}=S.useContext(Wn),s=M=>{const{onCancel:X}=n;X==null||X(M)},a=M=>{const{onOk:X}=n;X==null||X(M)},{prefixCls:l,className:u,rootClassName:c,open:d,wrapClassName:h,centered:m,getContainer:f,focusTriggerAfterClose:g=!0,style:b,visible:y,width:C=520,footer:w,classNames:x,styles:L}=n,I=DAe(n,["prefixCls","className","rootClassName","open","wrapClassName","centered","getContainer","focusTriggerAfterClose","style","visible","width","footer","classNames","styles"]),D=i("modal",l),N=i(),T=Ls(D),[R,E,W]=poe(D,T),Z=Te(h,{[`${D}-centered`]:!!m,[`${D}-wrap-rtl`]:r==="rtl"}),V=w!==null&&S.createElement(uoe,Object.assign({},n,{onOk:a,onCancel:s})),[z,O]=n3e(Ere(n),Ere(o),{closable:!0,closeIcon:S.createElement(lb,{className:`${D}-close-icon`}),closeIconRender:M=>loe(D,M)}),B=j3e(`.${D}-content`),[P,H]=iy("Modal",I.zIndex);return R(S.createElement(ig,null,S.createElement(rL,{status:!0,override:!0},S.createElement(IT.Provider,{value:H},S.createElement(Tre,Object.assign({width:C},I,{zIndex:P,getContainer:f===void 0?t:f,prefixCls:D,rootClassName:Te(E,c,W,T),footer:V,visible:d??y,mousePosition:(e=I.mousePosition)!==null&&e!==void 0?e:gP,onClose:s,closable:z,closeIcon:O,focusTriggerAfterClose:g,transitionName:cb(N,"zoom",n.transitionName),maskTransitionName:cb(N,"fade",n.maskTransitionName),className:Te(E,u,o==null?void 0:o.className),style:Object.assign(Object.assign({},o==null?void 0:o.style),b),classNames:Object.assign(Object.assign(Object.assign({},o==null?void 0:o.classNames),x),{wrapper:Te(Z,x==null?void 0:x.wrapper)}),styles:Object.assign(Object.assign({},o==null?void 0:o.styles),L),panelRef:B}))))))},MAe=n=>{const{componentCls:e,titleFontSize:t,titleLineHeight:i,modalConfirmIconSize:r,fontSize:o,lineHeight:s,modalTitleHeight:a,fontHeight:l,confirmBodyPadding:u}=n,c=`${e}-confirm`;return{[c]:{"&-rtl":{direction:"rtl"},[`${n.antCls}-modal-header`]:{display:"none"},[`${c}-body-wrapper`]:Object.assign({},qC()),[`&${e} ${e}-body`]:{padding:u},[`${c}-body`]:{display:"flex",flexWrap:"nowrap",alignItems:"start",[`> ${n.iconCls}`]:{flex:"none",fontSize:r,marginInlineEnd:n.confirmIconMarginInlineEnd,marginTop:n.calc(n.calc(l).sub(r).equal()).div(2).equal()},[`&-has-title > ${n.iconCls}`]:{marginTop:n.calc(n.calc(a).sub(r).equal()).div(2).equal()}},[`${c}-paragraph`]:{display:"flex",flexDirection:"column",flex:"auto",rowGap:n.marginXS},[`${n.iconCls} + ${c}-paragraph`]:{maxWidth:`calc(100% - ${Ee(n.calc(n.modalConfirmIconSize).add(n.marginSM).equal())})`},[`${c}-title`]:{color:n.colorTextHeading,fontWeight:n.fontWeightStrong,fontSize:t,lineHeight:i},[`${c}-content`]:{color:n.colorText,fontSize:o,lineHeight:s},[`${c}-btns`]:{textAlign:"end",marginTop:n.confirmBtnsMarginTop,[`${n.antCls}-btn + ${n.antCls}-btn`]:{marginBottom:0,marginInlineStart:n.marginXS}}},[`${c}-error ${c}-body > ${n.iconCls}`]:{color:n.colorError},[`${c}-warning ${c}-body > ${n.iconCls}, + ${c}-confirm ${c}-body > ${n.iconCls}`]:{color:n.colorWarning},[`${c}-info ${c}-body > ${n.iconCls}`]:{color:n.colorInfo},[`${c}-success ${c}-body > ${n.iconCls}`]:{color:n.colorSuccess}}},kAe=fT(["Modal","confirm"],n=>{const e=foe(n);return[MAe(e)]},goe,{order:-1e3});var TAe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);rC,Lt(Object.values(C))),x=S.createElement(S.Fragment,null,S.createElement(pre,null),S.createElement(bre,null)),L=n.title!==void 0&&n.title!==null,I=`${o}-body`;return S.createElement("div",{className:`${o}-body-wrapper`},S.createElement("div",{className:Te(I,{[`${I}-has-title`]:L})},d,S.createElement("div",{className:`${o}-paragraph`},L&&S.createElement("span",{className:`${o}-title`},n.title),S.createElement("div",{className:`${o}-content`},n.content))),l===void 0||typeof l=="function"?S.createElement(gre,{value:w},S.createElement("div",{className:`${o}-btns`},typeof l=="function"?l(x,{OkBtn:bre,CancelBtn:pre}):x)):l,S.createElement(kAe,{prefixCls:e}))}const EAe=n=>{const{close:e,zIndex:t,afterClose:i,open:r,keyboard:o,centered:s,getContainer:a,maskStyle:l,direction:u,prefixCls:c,wrapClassName:d,rootPrefixCls:h,bodyStyle:m,closable:f=!1,closeIcon:g,modalRender:b,focusTriggerAfterClose:y,onConfirm:C,styles:w}=n,x=`${c}-confirm`,L=n.width||416,I=n.style||{},D=n.mask===void 0?!0:n.mask,N=n.maskClosable===void 0?!1:n.maskClosable,T=Te(x,`${x}-${n.type}`,{[`${x}-rtl`]:u==="rtl"},n.className),[,R]=Pa(),E=S.useMemo(()=>t!==void 0?t:R.zIndexPopupBase+FT,[t,R]);return S.createElement(boe,{prefixCls:c,className:T,wrapClassName:Te({[`${x}-centered`]:!!n.centered},d),onCancel:()=>{e==null||e({triggerCancel:!0}),C==null||C(!1)},open:r,title:"",footer:null,transitionName:cb(h||"","zoom",n.transitionName),maskTransitionName:cb(h||"","fade",n.maskTransitionName),mask:D,maskClosable:N,style:I,styles:Object.assign({body:m,mask:l},w),width:L,zIndex:E,afterClose:i,keyboard:o,centered:s,getContainer:a,closable:f,closeIcon:g,modalRender:b,focusTriggerAfterClose:y},S.createElement(yoe,Object.assign({},n,{confirmPrefixCls:x})))},voe=n=>{const{rootPrefixCls:e,iconPrefixCls:t,direction:i,theme:r}=n;return S.createElement(ey,{prefixCls:e,iconPrefixCls:t,direction:i,theme:r},S.createElement(EAe,Object.assign({},n)))},ay=[];let Coe="";function Soe(){return Coe}const RAe=n=>{var e,t;const{prefixCls:i,getContainer:r,direction:o}=n,s=Ene(),a=S.useContext(Wn),l=Soe()||a.getPrefixCls(),u=i||`${l}-modal`;let c=r;return c===!1&&(c=void 0),ze.createElement(voe,Object.assign({},n,{rootPrefixCls:l,prefixCls:u,iconPrefixCls:a.iconPrefixCls,theme:a.theme,direction:o??a.direction,locale:(t=(e=a.locale)===null||e===void 0?void 0:e.Modal)!==null&&t!==void 0?t:s,getContainer:c}))};function sL(n){const e=D4(),t=document.createDocumentFragment();let i=Object.assign(Object.assign({},n),{close:a,open:!0}),r;function o(){for(var u=arguments.length,c=new Array(u),d=0;dm&&m.triggerCancel);n.onCancel&&h&&n.onCancel.apply(n,[()=>{}].concat(Lt(c.slice(1))));for(let m=0;m{const c=e.getPrefixCls(void 0,Soe()),d=e.getIconPrefixCls(),h=e.getTheme(),m=ze.createElement(RAe,Object.assign({},u));MT(ze.createElement(ey,{prefixCls:c,iconPrefixCls:d,theme:h},e.holderRender?e.holderRender(m):m),t)})}function a(){for(var u=arguments.length,c=new Array(u),d=0;d{typeof n.afterClose=="function"&&n.afterClose(),o.apply(this,c)}}),i.visible&&delete i.visible,s(i)}function l(u){typeof u=="function"?i=u(i):i=Object.assign(Object.assign({},i),u),s(i)}return s(i),ay.push(a),{destroy:a,update:l}}function woe(n){return Object.assign(Object.assign({},n),{type:"warning"})}function xoe(n){return Object.assign(Object.assign({},n),{type:"info"})}function _oe(n){return Object.assign(Object.assign({},n),{type:"success"})}function Loe(n){return Object.assign(Object.assign({},n),{type:"error"})}function Ioe(n){return Object.assign(Object.assign({},n),{type:"confirm"})}function ZAe(n){let{rootPrefixCls:e}=n;Coe=e}var WAe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{var t,{afterClose:i,config:r}=n,o=WAe(n,["afterClose","config"]);const[s,a]=S.useState(!0),[l,u]=S.useState(r),{direction:c,getPrefixCls:d}=S.useContext(Wn),h=d("modal"),m=d(),f=()=>{var C;i(),(C=l.afterClose)===null||C===void 0||C.call(l)},g=function(){a(!1);for(var C=arguments.length,w=new Array(C),x=0;xI&&I.triggerCancel);l.onCancel&&L&&l.onCancel.apply(l,[()=>{}].concat(Lt(w.slice(1))))};S.useImperativeHandle(e,()=>({destroy:g,update:C=>{u(w=>Object.assign(Object.assign({},w),C))}}));const b=(t=l.okCancel)!==null&&t!==void 0?t:l.type==="confirm",[y]=rb("Modal",eg.Modal);return S.createElement(voe,Object.assign({prefixCls:h,rootPrefixCls:m},l,{close:g,open:s,afterClose:f,okText:l.okText||(b?y==null?void 0:y.okText:y==null?void 0:y.justOkText),direction:l.direction||c,cancelText:l.cancelText||(y==null?void 0:y.cancelText)},o))},VAe=S.forwardRef(AAe);let Foe=0;const GAe=S.memo(S.forwardRef((n,e)=>{const[t,i]=HZe();return S.useImperativeHandle(e,()=>({patchElement:i}),[]),S.createElement(S.Fragment,null,t)}));function XAe(){const n=S.useRef(null),[e,t]=S.useState([]);S.useEffect(()=>{e.length&&(Lt(e).forEach(s=>{s()}),t([]))},[e]);const i=S.useCallback(o=>function(a){var l;Foe+=1;const u=S.createRef();let c;const d=new Promise(b=>{c=b});let h=!1,m;const f=S.createElement(VAe,{key:`modal-${Foe}`,config:o(a),ref:u,afterClose:()=>{m==null||m()},isSilent:()=>h,onConfirm:b=>{c(b)}});return m=(l=n.current)===null||l===void 0?void 0:l.patchElement(f),m&&ay.push(m),{destroy:()=>{function b(){var y;(y=u.current)===null||y===void 0||y.destroy()}u.current?b():t(y=>[].concat(Lt(y),[b]))},update:b=>{function y(){var C;(C=u.current)===null||C===void 0||C.update(b)}u.current?y():t(C=>[].concat(Lt(C),[y]))},then:b=>(h=!0,d.then(b))}},[]);return[S.useMemo(()=>({info:i(xoe),success:i(_oe),error:i(Loe),warning:i(woe),confirm:i(Ioe)}),[]),S.createElement(GAe,{key:"modal-holder",ref:n})]}const PAe=n=>{const{componentCls:e,notificationMarginEdge:t,animationMaxHeight:i}=n,r=`${e}-notice`,o=new Mi("antNotificationFadeIn",{"0%":{transform:"translate3d(100%, 0, 0)",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",opacity:1}}),s=new Mi("antNotificationTopFadeIn",{"0%":{top:-i,opacity:0},"100%":{top:0,opacity:1}}),a=new Mi("antNotificationBottomFadeIn",{"0%":{bottom:n.calc(i).mul(-1).equal(),opacity:0},"100%":{bottom:0,opacity:1}}),l=new Mi("antNotificationLeftFadeIn",{"0%":{transform:"translate3d(-100%, 0, 0)",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",opacity:1}});return{[e]:{[`&${e}-top, &${e}-bottom`]:{marginInline:0,[r]:{marginInline:"auto auto"}},[`&${e}-top`]:{[`${e}-fade-enter${e}-fade-enter-active, ${e}-fade-appear${e}-fade-appear-active`]:{animationName:s}},[`&${e}-bottom`]:{[`${e}-fade-enter${e}-fade-enter-active, ${e}-fade-appear${e}-fade-appear-active`]:{animationName:a}},[`&${e}-topRight, &${e}-bottomRight`]:{[`${e}-fade-enter${e}-fade-enter-active, ${e}-fade-appear${e}-fade-appear-active`]:{animationName:o}},[`&${e}-topLeft, &${e}-bottomLeft`]:{marginRight:{value:0,_skip_check_:!0},marginLeft:{value:t,_skip_check_:!0},[r]:{marginInlineEnd:"auto",marginInlineStart:0},[`${e}-fade-enter${e}-fade-enter-active, ${e}-fade-appear${e}-fade-appear-active`]:{animationName:l}}}}},OAe=["top","topLeft","topRight","bottom","bottomLeft","bottomRight"],BAe={topLeft:"left",topRight:"right",bottomLeft:"left",bottomRight:"right",top:"left",bottom:"left"},zAe=(n,e)=>{const{componentCls:t}=n;return{[`${t}-${e}`]:{[`&${t}-stack > ${t}-notice-wrapper`]:{[e.startsWith("top")?"top":"bottom"]:0,[BAe[e]]:{value:0,_skip_check_:!0}}}}},HAe=n=>{const e={};for(let t=1;t ${n.componentCls}-notice`]:{opacity:0,transition:`opacity ${n.motionDurationMid}`}};return Object.assign({[`&:not(:nth-last-child(-n+${n.notificationStackLayer}))`]:{opacity:0,overflow:"hidden",color:"transparent",pointerEvents:"none"}},e)},YAe=n=>{const e={};for(let t=1;t{const{componentCls:e}=n;return Object.assign({[`${e}-stack`]:{[`& > ${e}-notice-wrapper`]:Object.assign({transition:`all ${n.motionDurationSlow}, backdrop-filter 0s`,position:"absolute"},HAe(n))},[`${e}-stack:not(${e}-stack-expanded)`]:{[`& > ${e}-notice-wrapper`]:Object.assign({},YAe(n))},[`${e}-stack${e}-stack-expanded`]:{[`& > ${e}-notice-wrapper`]:{"&:not(:nth-last-child(-n + 1))":{opacity:1,overflow:"unset",color:"inherit",pointerEvents:"auto",[`& > ${n.componentCls}-notice`]:{opacity:1}},"&:after":{content:'""',position:"absolute",height:n.margin,width:"100%",insetInline:0,bottom:n.calc(n.margin).mul(-1).equal(),background:"transparent",pointerEvents:"auto"}}}},OAe.map(t=>zAe(n,t)).reduce((t,i)=>Object.assign(Object.assign({},t),i),{}))},Doe=n=>{const{iconCls:e,componentCls:t,boxShadow:i,fontSizeLG:r,notificationMarginBottom:o,borderRadiusLG:s,colorSuccess:a,colorInfo:l,colorWarning:u,colorError:c,colorTextHeading:d,notificationBg:h,notificationPadding:m,notificationMarginEdge:f,fontSize:g,lineHeight:b,width:y,notificationIconSize:C,colorText:w}=n,x=`${t}-notice`;return{position:"relative",marginBottom:o,marginInlineStart:"auto",background:h,borderRadius:s,boxShadow:i,[x]:{padding:m,width:y,maxWidth:`calc(100vw - ${Ee(n.calc(f).mul(2).equal())})`,overflow:"hidden",lineHeight:b,wordWrap:"break-word"},[`${x}-message`]:{marginBottom:n.marginXS,color:d,fontSize:r,lineHeight:n.lineHeightLG},[`${x}-description`]:{fontSize:g,color:w},[`${x}-closable ${x}-message`]:{paddingInlineEnd:n.paddingLG},[`${x}-with-icon ${x}-message`]:{marginBottom:n.marginXS,marginInlineStart:n.calc(n.marginSM).add(C).equal(),fontSize:r},[`${x}-with-icon ${x}-description`]:{marginInlineStart:n.calc(n.marginSM).add(C).equal(),fontSize:g},[`${x}-icon`]:{position:"absolute",fontSize:C,lineHeight:1,[`&-success${e}`]:{color:a},[`&-info${e}`]:{color:l},[`&-warning${e}`]:{color:u},[`&-error${e}`]:{color:c}},[`${x}-close`]:Object.assign({position:"absolute",top:n.notificationPaddingVertical,insetInlineEnd:n.notificationPaddingHorizontal,color:n.colorIcon,outline:"none",width:n.notificationCloseButtonSize,height:n.notificationCloseButtonSize,borderRadius:n.borderRadiusSM,transition:`background-color ${n.motionDurationMid}, color ${n.motionDurationMid}`,display:"flex",alignItems:"center",justifyContent:"center","&:hover":{color:n.colorIconHover,backgroundColor:n.colorBgTextHover},"&:active":{backgroundColor:n.colorBgTextActive}},$1(n)),[`${x}-btn`]:{float:"right",marginTop:n.marginSM}}},KAe=n=>{const{componentCls:e,notificationMarginBottom:t,notificationMarginEdge:i,motionDurationMid:r,motionEaseInOut:o}=n,s=`${e}-notice`,a=new Mi("antNotificationFadeOut",{"0%":{maxHeight:n.animationMaxHeight,marginBottom:t},"100%":{maxHeight:0,marginBottom:0,paddingTop:0,paddingBottom:0,opacity:0}});return[{[e]:Object.assign(Object.assign({},uo(n)),{position:"fixed",zIndex:n.zIndexPopup,marginRight:{value:i,_skip_check_:!0},[`${e}-hook-holder`]:{position:"relative"},[`${e}-fade-appear-prepare`]:{opacity:"0 !important"},[`${e}-fade-enter, ${e}-fade-appear`]:{animationDuration:n.motionDurationMid,animationTimingFunction:o,animationFillMode:"both",opacity:0,animationPlayState:"paused"},[`${e}-fade-leave`]:{animationTimingFunction:o,animationFillMode:"both",animationDuration:r,animationPlayState:"paused"},[`${e}-fade-enter${e}-fade-enter-active, ${e}-fade-appear${e}-fade-appear-active`]:{animationPlayState:"running"},[`${e}-fade-leave${e}-fade-leave-active`]:{animationName:a,animationPlayState:"running"},"&-rtl":{direction:"rtl",[`${s}-btn`]:{float:"left"}}})},{[e]:{[`${s}-wrapper`]:Object.assign({},Doe(n))}}]},Noe=n=>({zIndexPopup:n.zIndexPopupBase+FT+50,width:384}),Moe=n=>{const e=n.paddingMD,t=n.paddingLG;return Yi(n,{notificationBg:n.colorBgElevated,notificationPaddingVertical:e,notificationPaddingHorizontal:t,notificationIconSize:n.calc(n.fontSizeLG).mul(n.lineHeightLG).equal(),notificationCloseButtonSize:n.calc(n.controlHeightLG).mul(.55).equal(),notificationMarginBottom:n.margin,notificationPadding:`${Ee(n.paddingMD)} ${Ee(n.paddingContentHorizontalLG)}`,notificationMarginEdge:n.marginLG,animationMaxHeight:150,notificationStackLayer:3})},koe=Ho("Notification",n=>{const e=Moe(n);return[KAe(e),PAe(e),UAe(e)]},Noe),JAe=fT(["Notification","PurePanel"],n=>{const e=`${n.componentCls}-notice`,t=Moe(n);return{[`${e}-pure-panel`]:Object.assign(Object.assign({},Doe(t)),{width:t.width,maxWidth:`calc(100vw - ${Ee(n.calc(t.notificationMarginEdge).mul(2).equal())})`,margin:0})}},Noe);var jAe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const{prefixCls:e,icon:t,type:i,message:r,description:o,btn:s,role:a="alert"}=n;let l=null;return t?l=S.createElement("span",{className:`${e}-icon`},t):i&&(l=S.createElement(QAe[i]||null,{className:Te(`${e}-icon`,`${e}-icon-${i}`)})),S.createElement("div",{className:Te({[`${e}-with-icon`]:l}),role:a},l,S.createElement("div",{className:`${e}-message`},r),S.createElement("div",{className:`${e}-description`},o),s&&S.createElement("div",{className:`${e}-btn`},s))},$Ae=n=>{const{prefixCls:e,className:t,icon:i,type:r,message:o,description:s,btn:a,closable:l=!0,closeIcon:u,className:c}=n,d=jAe(n,["prefixCls","className","icon","type","message","description","btn","closable","closeIcon","className"]),{getPrefixCls:h}=S.useContext(Wn),m=e||h("notification"),f=`${m}-notice`,g=Ls(m),[b,y,C]=koe(m,g);return b(S.createElement("div",{className:Te(`${f}-pure-panel`,y,t,C,g)},S.createElement(JAe,{prefixCls:m}),S.createElement(E4,Object.assign({},d,{prefixCls:m,eventKey:"pure",duration:null,closable:l,className:Te({notificationClassName:c}),closeIcon:pP(m,u),content:S.createElement(Toe,{prefixCls:f,icon:i,type:r,message:o,description:s,btn:a})}))))};function qAe(n,e,t){let i;switch(n){case"top":i={left:"50%",transform:"translateX(-50%)",right:"auto",top:e,bottom:"auto"};break;case"topLeft":i={left:0,top:e,bottom:"auto"};break;case"topRight":i={right:0,top:e,bottom:"auto"};break;case"bottom":i={left:"50%",transform:"translateX(-50%)",right:"auto",top:"auto",bottom:t};break;case"bottomLeft":i={left:0,top:"auto",bottom:t};break;default:i={right:0,top:"auto",bottom:t};break}return i}function eVe(n){return{motionName:`${n}-fade`}}var tVe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{let{children:e,prefixCls:t}=n;const i=Ls(t),[r,o,s]=koe(t,i);return r(ze.createElement(Vie,{classNames:{list:Te(o,s,i)}},e))},oVe=(n,e)=>{let{prefixCls:t,key:i}=e;return ze.createElement(rVe,{prefixCls:t,key:i},n)},sVe=ze.forwardRef((n,e)=>{const{top:t,bottom:i,prefixCls:r,getContainer:o,maxCount:s,rtl:a,onAllRemoved:l,stack:u,duration:c}=n,{getPrefixCls:d,getPopupContainer:h,notification:m,direction:f}=S.useContext(Wn),[,g]=Pa(),b=r||d("notification"),y=I=>qAe(I,t??Eoe,i??Eoe),C=()=>Te({[`${b}-rtl`]:a??f==="rtl"}),w=()=>eVe(b),[x,L]=Bie({prefixCls:b,style:y,className:C,motion:w,closable:!0,closeIcon:pP(b),duration:c??nVe,getContainer:()=>(o==null?void 0:o())||(h==null?void 0:h())||document.body,maxCount:s,onAllRemoved:l,renderNotifications:oVe,stack:u===!1?!1:{threshold:typeof u=="object"?u==null?void 0:u.threshold:void 0,offset:8,gap:g.margin}});return ze.useImperativeHandle(e,()=>Object.assign(Object.assign({},x),{prefixCls:b,notification:m})),L});function Roe(n){const e=ze.useRef(null);return jC(),[ze.useMemo(()=>{const i=a=>{var l;if(!e.current)return;const{open:u,prefixCls:c,notification:d}=e.current,h=`${c}-notice`,{message:m,description:f,icon:g,type:b,btn:y,className:C,style:w,role:x="alert",closeIcon:L,closable:I}=a,D=tVe(a,["message","description","icon","type","btn","className","style","role","closeIcon","closable"]),N=pP(h,typeof L<"u"?L:d==null?void 0:d.closeIcon);return u(Object.assign(Object.assign({placement:(l=n==null?void 0:n.placement)!==null&&l!==void 0?l:iVe},D),{content:ze.createElement(Toe,{prefixCls:h,icon:g,type:b,message:m,description:f,btn:y,role:x}),className:Te(b&&`${h}-${b}`,C,d==null?void 0:d.className),style:Object.assign(Object.assign({},d==null?void 0:d.style),w),closeIcon:N,closable:I??!!N}))},o={open:i,destroy:a=>{var l,u;a!==void 0?(l=e.current)===null||l===void 0||l.close(a):(u=e.current)===null||u===void 0||u.destroy()}};return["success","info","warning","error"].forEach(a=>{o[a]=l=>i(Object.assign(Object.assign({},l),{type:a}))}),o},[]),ze.createElement(sVe,Object.assign({key:"notification-holder"},n,{ref:e}))]}function aVe(n){return Roe(n)}const Zoe=ze.createContext({});function Woe(n){return e=>S.createElement(ey,{theme:{token:{motion:!1,zIndexPopupBase:0}}},S.createElement(n,Object.assign({},e)))}const PT=(n,e,t,i)=>Woe(o=>{const{prefixCls:s,style:a}=o,l=S.useRef(null),[u,c]=S.useState(0),[d,h]=S.useState(0),[m,f]=Jr(!1,{value:o.open}),{getPrefixCls:g}=S.useContext(Wn),b=g(e||"select",s);S.useEffect(()=>{if(f(!0),typeof ResizeObserver<"u"){const w=new ResizeObserver(L=>{const I=L[0].target;c(I.offsetHeight+8),h(I.offsetWidth)}),x=setInterval(()=>{var L;const I=t?`.${t(b)}`:`.${b}-dropdown`,D=(L=l.current)===null||L===void 0?void 0:L.querySelector(I);D&&(clearInterval(x),w.observe(D))},10);return()=>{clearInterval(x),w.disconnect()}}},[]);let y=Object.assign(Object.assign({},o),{style:Object.assign(Object.assign({},a),{margin:0}),open:m,visible:m,getPopupContainer:()=>l.current});i&&(y=i(y));const C={paddingBottom:u,position:"relative",minWidth:d};return S.createElement("div",{ref:l,style:C},S.createElement(n,Object.assign({},y)))}),OT=function(){if(typeof navigator>"u"||typeof window>"u")return!1;var n=navigator.userAgent||navigator.vendor||window.opera;return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(n)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(n==null?void 0:n.substr(0,4))};var BT=function(e){var t=e.className,i=e.customizeIcon,r=e.customizeIconProps,o=e.children,s=e.onMouseDown,a=e.onClick,l=typeof i=="function"?i(r):i;return S.createElement("span",{className:t,onMouseDown:function(c){c.preventDefault(),s==null||s(c)},style:{userSelect:"none",WebkitUserSelect:"none"},unselectable:"on",onClick:a,"aria-hidden":!0},l!==void 0?l:S.createElement("span",{className:Te(t.split(/\s+/).map(function(u){return"".concat(u,"-icon")}))},o))},lVe=function(e,t,i,r,o){var s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!1,a=arguments.length>6?arguments[6]:void 0,l=arguments.length>7?arguments[7]:void 0,u=ze.useMemo(function(){if(Xn(r)==="object")return r.clearIcon;if(o)return o},[r,o]),c=ze.useMemo(function(){return!!(!s&&r&&(i.length||a)&&!(l==="combobox"&&a===""))},[r,s,i.length,a,l]);return{allowClear:c,clearIcon:ze.createElement(BT,{className:"".concat(e,"-clear"),onMouseDown:t,customizeIcon:u},"×")}},Aoe=S.createContext(null);function uVe(){return S.useContext(Aoe)}function cVe(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:10,e=S.useState(!1),t=we(e,2),i=t[0],r=t[1],o=S.useRef(null),s=function(){window.clearTimeout(o.current)};S.useEffect(function(){return s},[]);var a=function(u,c){s(),o.current=window.setTimeout(function(){r(u),c&&c()},n)};return[i,a,s]}function Voe(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:250,e=S.useRef(null),t=S.useRef(null);S.useEffect(function(){return function(){window.clearTimeout(t.current)}},[]);function i(r){(r||e.current===null)&&(e.current=r),window.clearTimeout(t.current),t.current=window.setTimeout(function(){e.current=null},n)}return[function(){return e.current},i]}function dVe(n,e,t,i){var r=S.useRef(null);r.current={open:e,triggerOpen:t,customizedTrigger:i},S.useEffect(function(){function o(s){var a;if(!((a=r.current)!==null&&a!==void 0&&a.customizedTrigger)){var l=s.target;l.shadowRoot&&s.composed&&(l=s.composedPath()[0]||l),r.current.open&&n().filter(function(u){return u}).every(function(u){return!u.contains(l)&&u!==l})&&r.current.triggerOpen(!1)}}return window.addEventListener("mousedown",o),function(){return window.removeEventListener("mousedown",o)}},[])}function hVe(n){return![Dt.ESC,Dt.SHIFT,Dt.BACKSPACE,Dt.TAB,Dt.WIN_KEY,Dt.ALT,Dt.META,Dt.WIN_KEY_RIGHT,Dt.CTRL,Dt.SEMICOLON,Dt.EQUALS,Dt.CAPS_LOCK,Dt.CONTEXT_MENU,Dt.F1,Dt.F2,Dt.F3,Dt.F4,Dt.F5,Dt.F6,Dt.F7,Dt.F8,Dt.F9,Dt.F10,Dt.F11,Dt.F12].includes(n)}var mVe=["prefixCls","invalidate","item","renderItem","responsive","responsiveDisabled","registerSize","itemKey","className","style","children","display","order","component"],uS=void 0;function fVe(n,e){var t=n.prefixCls,i=n.invalidate,r=n.item,o=n.renderItem,s=n.responsive,a=n.responsiveDisabled,l=n.registerSize,u=n.itemKey,c=n.className,d=n.style,h=n.children,m=n.display,f=n.order,g=n.component,b=g===void 0?"div":g,y=zn(n,mVe),C=s&&!m;function w(N){l(u,N)}S.useEffect(function(){return function(){w(null)}},[]);var x=o&&r!==uS?o(r):h,L;i||(L={opacity:C?0:1,height:C?0:uS,overflowY:C?"hidden":uS,order:s?f:uS,pointerEvents:C?"none":uS,position:C?"absolute":uS});var I={};C&&(I["aria-hidden"]=!0);var D=S.createElement(b,pt({className:Te(!i&&t,c),style:xe(xe({},L),d)},I,y,{ref:e}),x);return s&&(D=S.createElement(mc,{onResize:function(T){var R=T.offsetWidth;w(R)},disabled:a},D)),D}var aL=S.forwardRef(fVe);aL.displayName="Item";function gVe(n){if(typeof MessageChannel>"u")xi(n);else{var e=new MessageChannel;e.port1.onmessage=function(){return n()},e.port2.postMessage(void 0)}}function pVe(){var n=S.useRef(null),e=function(i){n.current||(n.current=[],gVe(function(){eh.unstable_batchedUpdates(function(){n.current.forEach(function(r){r()}),n.current=null})})),n.current.push(i)};return e}function lL(n,e){var t=S.useState(e),i=we(t,2),r=i[0],o=i[1],s=Qi(function(a){n(function(){o(a)})});return[r,s]}var zT=ze.createContext(null),bVe=["component"],yVe=["className"],vVe=["className"],CVe=function(e,t){var i=S.useContext(zT);if(!i){var r=e.component,o=r===void 0?"div":r,s=zn(e,bVe);return S.createElement(o,pt({},s,{ref:t}))}var a=i.className,l=zn(i,yVe),u=e.className,c=zn(e,vVe);return S.createElement(zT.Provider,{value:null},S.createElement(aL,pt({ref:t,className:Te(a,u)},l,c)))},Goe=S.forwardRef(CVe);Goe.displayName="RawItem";var SVe=["prefixCls","data","renderItem","renderRawItem","itemKey","itemWidth","ssr","style","className","maxCount","renderRest","renderRawRest","suffix","component","itemComponent","onVisibleChange"],Xoe="responsive",Poe="invalidate";function wVe(n){return"+ ".concat(n.length," ...")}function xVe(n,e){var t=n.prefixCls,i=t===void 0?"rc-overflow":t,r=n.data,o=r===void 0?[]:r,s=n.renderItem,a=n.renderRawItem,l=n.itemKey,u=n.itemWidth,c=u===void 0?10:u,d=n.ssr,h=n.style,m=n.className,f=n.maxCount,g=n.renderRest,b=n.renderRawRest,y=n.suffix,C=n.component,w=C===void 0?"div":C,x=n.itemComponent,L=n.onVisibleChange,I=zn(n,SVe),D=d==="full",N=pVe(),T=lL(N,null),R=we(T,2),E=R[0],W=R[1],Z=E||0,V=lL(N,new Map),z=we(V,2),O=z[0],B=z[1],P=lL(N,0),H=we(P,2),M=H[0],X=H[1],Y=lL(N,0),A=we(Y,2),te=A[0],oe=A[1],ae=lL(N,0),le=we(ae,2),ue=le[0],Ce=le[1],pe=S.useState(null),ce=we(pe,2),De=ce[0],Me=ce[1],ke=S.useState(null),Ue=we(ke,2),He=Ue[0],ct=Ue[1],yt=S.useMemo(function(){return He===null&&D?Number.MAX_SAFE_INTEGER:He||0},[He,E]),it=S.useState(!1),he=we(it,2),de=he[0],me=he[1],j="".concat(i,"-item"),$=Math.max(M,te),q=f===Xoe,ee=o.length&&q,ye=f===Poe,_e=ee||typeof f=="number"&&o.length>f,Ne=S.useMemo(function(){var Ze=o;return ee?E===null&&D?Ze=o:Ze=o.slice(0,Math.min(o.length,Z/c)):typeof f=="number"&&(Ze=o.slice(0,f)),Ze},[o,c,E,f,ee]),Be=S.useMemo(function(){return ee?o.slice(yt+1):o.slice(Ne.length)},[o,Ne,ee,yt]),$e=S.useCallback(function(Ze,Xe){var ft;return typeof l=="function"?l(Ze):(ft=l&&(Ze==null?void 0:Ze[l]))!==null&&ft!==void 0?ft:Xe},[l]),We=S.useCallback(s||function(Ze){return Ze},[s]);function ht(Ze,Xe,ft){He===Ze&&(Xe===void 0||Xe===De)||(ct(Ze),ft||(me(ZeZ){ht(kt-1,Ze-et-ue+te);break}}y&&Kt(0)+ue>Z&&Me(null)}},[Z,O,te,ue,$e,Ne]);var Wt=de&&!!Be.length,Yt={};De!==null&&ee&&(Yt={position:"absolute",left:De,top:0});var Tn={prefixCls:j,responsive:ee,component:x,invalidate:ye},li=a?function(Ze,Xe){var ft=$e(Ze,Xe);return S.createElement(zT.Provider,{key:ft,value:xe(xe({},Tn),{},{order:Xe,item:Ze,itemKey:ft,registerSize:Ge,display:Xe<=yt})},a(Ze,Xe))}:function(Ze,Xe){var ft=$e(Ze,Xe);return S.createElement(aL,pt({},Tn,{order:Xe,key:ft,item:Ze,renderItem:We,itemKey:ft,registerSize:Ge,display:Xe<=yt}))},Et,Mt={order:Wt?yt:Number.MAX_SAFE_INTEGER,className:"".concat(j,"-rest"),registerSize:mt,display:Wt};if(b)b&&(Et=S.createElement(zT.Provider,{value:xe(xe({},Tn),Mt)},b(Be)));else{var fe=g||wVe;Et=S.createElement(aL,pt({},Tn,Mt),typeof fe=="function"?fe(Be):fe)}var Le=S.createElement(w,pt({className:Te(!ye&&i,m),style:h,ref:e},I),Ne.map(li),_e?Et:null,y&&S.createElement(aL,pt({},Tn,{responsive:q,responsiveDisabled:!ee,order:yt,className:"".concat(j,"-suffix"),registerSize:wt,display:!0,style:Yt}),y));return q&&(Le=S.createElement(mc,{onResize:Ye,disabled:!ee},Le)),Le}var ah=S.forwardRef(xVe);ah.displayName="Overflow",ah.Item=Goe,ah.RESPONSIVE=Xoe,ah.INVALIDATE=Poe;var _Ve=function(e,t){var i,r=e.prefixCls,o=e.id,s=e.inputElement,a=e.disabled,l=e.tabIndex,u=e.autoFocus,c=e.autoComplete,d=e.editable,h=e.activeDescendantId,m=e.value,f=e.maxLength,g=e.onKeyDown,b=e.onMouseDown,y=e.onChange,C=e.onPaste,w=e.onCompositionStart,x=e.onCompositionEnd,L=e.open,I=e.attrs,D=s||S.createElement("input",null),N=D,T=N.ref,R=N.props,E=R.onKeyDown,W=R.onChange,Z=R.onMouseDown,V=R.onCompositionStart,z=R.onCompositionEnd,O=R.style;return"maxLength"in D.props,D=S.cloneElement(D,xe(xe(xe({type:"search"},R),{},{id:o,ref:Lu(t,T),disabled:a,tabIndex:l,autoComplete:c||"off",autoFocus:u,className:Te("".concat(r,"-selection-search-input"),(i=D)===null||i===void 0||(i=i.props)===null||i===void 0?void 0:i.className),role:"combobox","aria-expanded":L||!1,"aria-haspopup":"listbox","aria-owns":"".concat(o,"_list"),"aria-autocomplete":"list","aria-controls":"".concat(o,"_list"),"aria-activedescendant":L?h:void 0},I),{},{value:d?m:"",maxLength:f,readOnly:!d,unselectable:d?null:"on",style:xe(xe({},O),{},{opacity:d?null:0}),onKeyDown:function(P){g(P),E&&E(P)},onMouseDown:function(P){b(P),Z&&Z(P)},onChange:function(P){y(P),W&&W(P)},onCompositionStart:function(P){w(P),V&&V(P)},onCompositionEnd:function(P){x(P),z&&z(P)},onPaste:C})),D},Ooe=S.forwardRef(_Ve);function Boe(n){return Array.isArray(n)?n:n!==void 0?[n]:[]}var LVe=typeof window<"u"&&window.document&&window.document.documentElement,IVe=LVe;function FVe(n){return n!=null}function DVe(n){return!n&&n!==0}function zoe(n){return["string","number"].includes(Xn(n))}function Hoe(n){var e=void 0;return n&&(zoe(n.title)?e=n.title.toString():zoe(n.label)&&(e=n.label.toString())),e}function NVe(n,e){IVe?S.useLayoutEffect(n,e):S.useEffect(n,e)}function MVe(n){var e;return(e=n.key)!==null&&e!==void 0?e:n.value}var Yoe=function(e){e.preventDefault(),e.stopPropagation()},kVe=function(e){var t=e.id,i=e.prefixCls,r=e.values,o=e.open,s=e.searchValue,a=e.autoClearSearchValue,l=e.inputRef,u=e.placeholder,c=e.disabled,d=e.mode,h=e.showSearch,m=e.autoFocus,f=e.autoComplete,g=e.activeDescendantId,b=e.tabIndex,y=e.removeIcon,C=e.maxTagCount,w=e.maxTagTextLength,x=e.maxTagPlaceholder,L=x===void 0?function(Me){return"+ ".concat(Me.length," ...")}:x,I=e.tagRender,D=e.onToggleOpen,N=e.onRemove,T=e.onInputChange,R=e.onInputPaste,E=e.onInputKeyDown,W=e.onInputMouseDown,Z=e.onInputCompositionStart,V=e.onInputCompositionEnd,z=S.useRef(null),O=S.useState(0),B=we(O,2),P=B[0],H=B[1],M=S.useState(!1),X=we(M,2),Y=X[0],A=X[1],te="".concat(i,"-selection"),oe=o||d==="multiple"&&a===!1||d==="tags"?s:"",ae=d==="tags"||d==="multiple"&&a===!1||h&&(o||Y);NVe(function(){H(z.current.scrollWidth)},[oe]);var le=function(ke,Ue,He,ct,yt){return S.createElement("span",{title:Hoe(ke),className:Te("".concat(te,"-item"),ge({},"".concat(te,"-item-disabled"),He))},S.createElement("span",{className:"".concat(te,"-item-content")},Ue),ct&&S.createElement(BT,{className:"".concat(te,"-item-remove"),onMouseDown:Yoe,onClick:yt,customizeIcon:y},"×"))},ue=function(ke,Ue,He,ct,yt){var it=function(de){Yoe(de),D(!o)};return S.createElement("span",{onMouseDown:it},I({label:Ue,value:ke,disabled:He,closable:ct,onClose:yt}))},Ce=function(ke){var Ue=ke.disabled,He=ke.label,ct=ke.value,yt=!c&&!Ue,it=He;if(typeof w=="number"&&(typeof He=="string"||typeof He=="number")){var he=String(it);he.length>w&&(it="".concat(he.slice(0,w),"..."))}var de=function(j){j&&j.stopPropagation(),N(ke)};return typeof I=="function"?ue(ct,it,Ue,yt,de):le(ke,it,Ue,yt,de)},pe=function(ke){var Ue=typeof L=="function"?L(ke):L;return le({title:Ue},Ue,!1)},ce=S.createElement("div",{className:"".concat(te,"-search"),style:{width:P},onFocus:function(){A(!0)},onBlur:function(){A(!1)}},S.createElement(Ooe,{ref:l,open:o,prefixCls:i,id:t,inputElement:null,disabled:c,autoFocus:m,autoComplete:f,editable:ae,activeDescendantId:g,value:oe,onKeyDown:E,onMouseDown:W,onChange:T,onPaste:R,onCompositionStart:Z,onCompositionEnd:V,tabIndex:b,attrs:Iu(e,!0)}),S.createElement("span",{ref:z,className:"".concat(te,"-search-mirror"),"aria-hidden":!0},oe," ")),De=S.createElement(ah,{prefixCls:"".concat(te,"-overflow"),data:r,renderItem:Ce,renderRest:pe,suffix:ce,itemKey:MVe,maxCount:C});return S.createElement(S.Fragment,null,De,!r.length&&!oe&&S.createElement("span",{className:"".concat(te,"-placeholder")},u))},TVe=function(e){var t=e.inputElement,i=e.prefixCls,r=e.id,o=e.inputRef,s=e.disabled,a=e.autoFocus,l=e.autoComplete,u=e.activeDescendantId,c=e.mode,d=e.open,h=e.values,m=e.placeholder,f=e.tabIndex,g=e.showSearch,b=e.searchValue,y=e.activeValue,C=e.maxLength,w=e.onInputKeyDown,x=e.onInputMouseDown,L=e.onInputChange,I=e.onInputPaste,D=e.onInputCompositionStart,N=e.onInputCompositionEnd,T=e.title,R=S.useState(!1),E=we(R,2),W=E[0],Z=E[1],V=c==="combobox",z=V||g,O=h[0],B=b||"";V&&y&&!W&&(B=y),S.useEffect(function(){V&&Z(!1)},[V,y]);var P=c!=="combobox"&&!d&&!g?!1:!!B,H=T===void 0?Hoe(O):T,M=S.useMemo(function(){return O?null:S.createElement("span",{className:"".concat(i,"-selection-placeholder"),style:P?{visibility:"hidden"}:void 0},m)},[O,P,m,i]);return S.createElement(S.Fragment,null,S.createElement("span",{className:"".concat(i,"-selection-search")},S.createElement(Ooe,{ref:o,prefixCls:i,id:r,open:d,inputElement:t,disabled:s,autoFocus:a,autoComplete:l,editable:z,activeDescendantId:u,value:B,onKeyDown:w,onMouseDown:x,onChange:function(Y){Z(!0),L(Y)},onPaste:I,onCompositionStart:D,onCompositionEnd:N,tabIndex:f,attrs:Iu(e,!0),maxLength:V?C:void 0})),!V&&O?S.createElement("span",{className:"".concat(i,"-selection-item"),title:H,style:P?{visibility:"hidden"}:void 0},O.label):null,M)},EVe=function(e,t){var i=S.useRef(null),r=S.useRef(!1),o=e.prefixCls,s=e.open,a=e.mode,l=e.showSearch,u=e.tokenWithEnter,c=e.autoClearSearchValue,d=e.onSearch,h=e.onSearchSubmit,m=e.onToggleOpen,f=e.onInputKeyDown,g=e.domRef;S.useImperativeHandle(t,function(){return{focus:function(B){i.current.focus(B)},blur:function(){i.current.blur()}}});var b=Voe(0),y=we(b,2),C=y[0],w=y[1],x=function(B){var P=B.which;(P===Dt.UP||P===Dt.DOWN)&&B.preventDefault(),f&&f(B),P===Dt.ENTER&&a==="tags"&&!r.current&&!s&&(h==null||h(B.target.value)),hVe(P)&&m(!0)},L=function(){w(!0)},I=S.useRef(null),D=function(B){d(B,!0,r.current)!==!1&&m(!0)},N=function(){r.current=!0},T=function(B){r.current=!1,a!=="combobox"&&D(B.target.value)},R=function(B){var P=B.target.value;if(u&&I.current&&/[\r\n]/.test(I.current)){var H=I.current.replace(/[\r\n]+$/,"").replace(/\r\n/g," ").replace(/[\r\n]/g," ");P=P.replace(H,I.current)}I.current=null,D(P)},E=function(B){var P=B.clipboardData,H=P==null?void 0:P.getData("text");I.current=H||""},W=function(B){var P=B.target;if(P!==i.current){var H=document.body.style.msTouchAction!==void 0;H?setTimeout(function(){i.current.focus()}):i.current.focus()}},Z=function(B){var P=C();B.target!==i.current&&!P&&a!=="combobox"&&B.preventDefault(),(a!=="combobox"&&(!l||!P)||!s)&&(s&&c!==!1&&d("",!0,!1),m())},V={inputRef:i,onInputKeyDown:x,onInputMouseDown:L,onInputChange:R,onInputPaste:E,onInputCompositionStart:N,onInputCompositionEnd:T},z=a==="multiple"||a==="tags"?S.createElement(kVe,pt({},e,V)):S.createElement(TVe,pt({},e,V));return S.createElement("div",{ref:g,className:"".concat(o,"-selector"),onClick:W,onMouseDown:Z},z)},RVe=S.forwardRef(EVe);function ZVe(n){var e=n.prefixCls,t=n.align,i=n.arrow,r=n.arrowPos,o=i||{},s=o.className,a=o.content,l=r.x,u=l===void 0?0:l,c=r.y,d=c===void 0?0:c,h=S.useRef();if(!t||!t.points)return null;var m={position:"absolute"};if(t.autoArrow!==!1){var f=t.points[0],g=t.points[1],b=f[0],y=f[1],C=g[0],w=g[1];b===C||!["t","b"].includes(b)?m.top=d:b==="t"?m.top=0:m.bottom=0,y===w||!["l","r"].includes(y)?m.left=u:y==="l"?m.left=0:m.right=0}return S.createElement("div",{ref:h,className:Te("".concat(e,"-arrow"),s),style:m},a)}function WVe(n){var e=n.prefixCls,t=n.open,i=n.zIndex,r=n.mask,o=n.motion;return r?S.createElement(ld,pt({},o,{motionAppear:!0,visible:t,removeOnLeave:!0}),function(s){var a=s.className;return S.createElement("div",{style:{zIndex:i},className:Te("".concat(e,"-mask"),a)})}):null}var AVe=S.memo(function(n){var e=n.children;return e},function(n,e){return e.cache}),VVe=S.forwardRef(function(n,e){var t=n.popup,i=n.className,r=n.prefixCls,o=n.style,s=n.target,a=n.onVisibleChanged,l=n.open,u=n.keepDom,c=n.fresh,d=n.onClick,h=n.mask,m=n.arrow,f=n.arrowPos,g=n.align,b=n.motion,y=n.maskMotion,C=n.forceRender,w=n.getPopupContainer,x=n.autoDestroy,L=n.portal,I=n.zIndex,D=n.onMouseEnter,N=n.onMouseLeave,T=n.onPointerEnter,R=n.ready,E=n.offsetX,W=n.offsetY,Z=n.offsetR,V=n.offsetB,z=n.onAlign,O=n.onPrepare,B=n.stretch,P=n.targetWidth,H=n.targetHeight,M=typeof t=="function"?t():t,X=l||u,Y=(w==null?void 0:w.length)>0,A=S.useState(!w||!Y),te=we(A,2),oe=te[0],ae=te[1];if(cr(function(){!oe&&Y&&s&&ae(!0)},[oe,Y,s]),!oe)return null;var le="auto",ue={left:"-1000vw",top:"-1000vh",right:le,bottom:le};if(R||!l){var Ce,pe=g.points,ce=g.dynamicInset||((Ce=g._experimental)===null||Ce===void 0?void 0:Ce.dynamicInset),De=ce&&pe[0][1]==="r",Me=ce&&pe[0][0]==="b";De?(ue.right=Z,ue.left=le):(ue.left=E,ue.right=le),Me?(ue.bottom=V,ue.top=le):(ue.top=W,ue.bottom=le)}var ke={};return B&&(B.includes("height")&&H?ke.height=H:B.includes("minHeight")&&H&&(ke.minHeight=H),B.includes("width")&&P?ke.width=P:B.includes("minWidth")&&P&&(ke.minWidth=P)),l||(ke.pointerEvents="none"),S.createElement(L,{open:C||X,getContainer:w&&function(){return w(s)},autoDestroy:x},S.createElement(WVe,{prefixCls:r,open:l,zIndex:I,mask:h,motion:y}),S.createElement(mc,{onResize:z,disabled:!l},function(Ue){return S.createElement(ld,pt({motionAppear:!0,motionEnter:!0,motionLeave:!0,removeOnLeave:!1,forceRender:C,leavedClassName:"".concat(r,"-hidden")},b,{onAppearPrepare:O,onEnterPrepare:O,visible:l,onVisibleChanged:function(ct){var yt;b==null||(yt=b.onVisibleChanged)===null||yt===void 0||yt.call(b,ct),a(ct)}}),function(He,ct){var yt=He.className,it=He.style,he=Te(r,yt,i);return S.createElement("div",{ref:Lu(Ue,e,ct),className:he,style:xe(xe(xe(xe({"--arrow-x":"".concat(f.x||0,"px"),"--arrow-y":"".concat(f.y||0,"px")},ue),ke),it),{},{boxSizing:"border-box",zIndex:I},o),onMouseEnter:D,onMouseLeave:N,onPointerEnter:T,onClick:d},m&&S.createElement(ZVe,{prefixCls:r,arrow:m,arrowPos:f,align:g}),S.createElement(AVe,{cache:!l&&!c},M))})}))}),GVe=S.forwardRef(function(n,e){var t=n.children,i=n.getTriggerDOMNode,r=jf(t),o=S.useCallback(function(a){MX(e,i?i(a):a)},[i]),s=tb(o,t.ref);return r?S.cloneElement(t,{ref:s}):t}),Uoe=S.createContext(null);function Koe(n){return n?Array.isArray(n)?n:[n]:[]}function XVe(n,e,t,i){return S.useMemo(function(){var r=Koe(t??e),o=Koe(i??e),s=new Set(r),a=new Set(o);return n&&(s.has("hover")&&(s.delete("hover"),s.add("click")),a.has("hover")&&(a.delete("hover"),a.add("click"))),[s,a]},[n,e,t,i])}function PVe(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],t=arguments.length>2?arguments[2]:void 0;return t?n[0]===e[0]:n[0]===e[0]&&n[1]===e[1]}function OVe(n,e,t,i){for(var r=t.points,o=Object.keys(n),s=0;s1&&arguments[1]!==void 0?arguments[1]:1;return Number.isNaN(n)?e:n}function dL(n){return cL(parseFloat(n),0)}function joe(n,e){var t=xe({},n);return(e||[]).forEach(function(i){if(!(i instanceof HTMLBodyElement||i instanceof HTMLHtmlElement)){var r=uL(i).getComputedStyle(i),o=r.overflow,s=r.overflowClipMargin,a=r.borderTopWidth,l=r.borderBottomWidth,u=r.borderLeftWidth,c=r.borderRightWidth,d=i.getBoundingClientRect(),h=i.offsetHeight,m=i.clientHeight,f=i.offsetWidth,g=i.clientWidth,b=dL(a),y=dL(l),C=dL(u),w=dL(c),x=cL(Math.round(d.width/f*1e3)/1e3),L=cL(Math.round(d.height/h*1e3)/1e3),I=(f-g-C-w)*x,D=(h-m-b-y)*L,N=b*L,T=y*L,R=C*x,E=w*x,W=0,Z=0;if(o==="clip"){var V=dL(s);W=V*x,Z=V*L}var z=d.x+R-W,O=d.y+N-Z,B=z+d.width+2*W-R-E-I,P=O+d.height+2*Z-N-T-D;t.left=Math.max(t.left,z),t.top=Math.max(t.top,O),t.right=Math.min(t.right,B),t.bottom=Math.min(t.bottom,P)}}),t}function Qoe(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,t="".concat(e),i=t.match(/^(.*)\%$/);return i?n*(parseFloat(i[1])/100):parseFloat(t)}function $oe(n,e){var t=e||[],i=we(t,2),r=i[0],o=i[1];return[Qoe(n.width,r),Qoe(n.height,o)]}function qoe(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return[n[0],n[1]]}function cS(n,e){var t=e[0],i=e[1],r,o;return t==="t"?o=n.y:t==="b"?o=n.y+n.height:o=n.y+n.height/2,i==="l"?r=n.x:i==="r"?r=n.x+n.width:r=n.x+n.width/2,{x:r,y:o}}function hb(n,e){var t={t:"b",b:"t",l:"r",r:"l"};return n.map(function(i,r){return r===e?t[i]||"c":i}).join("")}function BVe(n,e,t,i,r,o,s){var a=S.useState({ready:!1,offsetX:0,offsetY:0,offsetR:0,offsetB:0,arrowX:0,arrowY:0,scaleX:1,scaleY:1,align:r[i]||{}}),l=we(a,2),u=l[0],c=l[1],d=S.useRef(0),h=S.useMemo(function(){return e?bP(e):[]},[e]),m=S.useRef({}),f=function(){m.current={}};n||f();var g=Qi(function(){if(e&&t&&n){let Vn=function(So,Ss){var Op=arguments.length>2&&arguments[2]!==void 0?arguments[2]:he,IC=M.x+So,Of=M.y+Ss,Bp=IC+Ce,sc=Of+ue,td=Math.max(IC,Op.left),Hd=Math.max(Of,Op.top),zp=Math.min(Bp,Op.right),Hp=Math.min(sc,Op.bottom);return Math.max(0,(zp-td)*(Hp-Hd))},Ni=function(){Nn=M.y+fe,mn=Nn+ue,Ot=M.x+Mt,gn=Ot+Ce};var C,w,x=e,L=x.ownerDocument,I=uL(x),D=I.getComputedStyle(x),N=D.width,T=D.height,R=D.position,E=x.style.left,W=x.style.top,Z=x.style.right,V=x.style.bottom,z=x.style.overflow,O=xe(xe({},r[i]),o),B=L.createElement("div");(C=x.parentElement)===null||C===void 0||C.appendChild(B),B.style.left="".concat(x.offsetLeft,"px"),B.style.top="".concat(x.offsetTop,"px"),B.style.position=R,B.style.height="".concat(x.offsetHeight,"px"),B.style.width="".concat(x.offsetWidth,"px"),x.style.left="0",x.style.top="0",x.style.right="auto",x.style.bottom="auto",x.style.overflow="hidden";var P;if(Array.isArray(t))P={x:t[0],y:t[1],width:0,height:0};else{var H=t.getBoundingClientRect();P={x:H.x,y:H.y,width:H.width,height:H.height}}var M=x.getBoundingClientRect(),X=L.documentElement,Y=X.clientWidth,A=X.clientHeight,te=X.scrollWidth,oe=X.scrollHeight,ae=X.scrollTop,le=X.scrollLeft,ue=M.height,Ce=M.width,pe=P.height,ce=P.width,De={left:0,top:0,right:Y,bottom:A},Me={left:-le,top:-ae,right:te-le,bottom:oe-ae},ke=O.htmlRegion,Ue="visible",He="visibleFirst";ke!=="scroll"&&ke!==He&&(ke=Ue);var ct=ke===He,yt=joe(Me,h),it=joe(De,h),he=ke===Ue?it:yt,de=ct?it:he;x.style.left="auto",x.style.top="auto",x.style.right="0",x.style.bottom="0";var me=x.getBoundingClientRect();x.style.left=E,x.style.top=W,x.style.right=Z,x.style.bottom=V,x.style.overflow=z,(w=x.parentElement)===null||w===void 0||w.removeChild(B);var j=cL(Math.round(Ce/parseFloat(N)*1e3)/1e3),$=cL(Math.round(ue/parseFloat(T)*1e3)/1e3);if(j===0||$===0||Bk(t)&&!J_(t))return;var q=O.offset,ee=O.targetOffset,ye=$oe(M,q),_e=we(ye,2),Ne=_e[0],Be=_e[1],$e=$oe(P,ee),We=we($e,2),ht=We[0],Ye=We[1];P.x-=ht,P.y-=Ye;var Ge=O.points||[],mt=we(Ge,2),wt=mt[0],Kt=mt[1],Wt=qoe(Kt),Yt=qoe(wt),Tn=cS(P,Wt),li=cS(M,Yt),Et=xe({},O),Mt=Tn.x-li.x+Ne,fe=Tn.y-li.y+Be,Le=Vn(Mt,fe),Ze=Vn(Mt,fe,it),Xe=cS(P,["t","l"]),ft=cS(M,["t","l"]),kt=cS(P,["b","r"]),et=cS(M,["b","r"]),rt=O.overflow||{},vt=rt.adjustX,It=rt.adjustY,tn=rt.shiftX,Jt=rt.shiftY,qt=function(Ss){return typeof Ss=="boolean"?Ss:Ss>=0},Nn,mn,Ot,gn;Ni();var Tt=qt(It),Se=Yt[0]===Wt[0];if(Tt&&Yt[0]==="t"&&(mn>de.bottom||m.current.bt)){var Ke=fe;Se?Ke-=ue-pe:Ke=Xe.y-et.y-Be;var dt=Vn(Mt,Ke),nn=Vn(Mt,Ke,it);dt>Le||dt===Le&&(!ct||nn>=Ze)?(m.current.bt=!0,fe=Ke,Be=-Be,Et.points=[hb(Yt,0),hb(Wt,0)]):m.current.bt=!1}if(Tt&&Yt[0]==="b"&&(NnLe||Zn===Le&&(!ct||rn>=Ze)?(m.current.tb=!0,fe=jn,Be=-Be,Et.points=[hb(Yt,0),hb(Wt,0)]):m.current.tb=!1}var fi=qt(vt),Ln=Yt[1]===Wt[1];if(fi&&Yt[1]==="l"&&(gn>de.right||m.current.rl)){var gi=Mt;Ln?gi-=Ce-ce:gi=Xe.x-et.x-Ne;var Hr=Vn(gi,fe),Vs=Vn(gi,fe,it);Hr>Le||Hr===Le&&(!ct||Vs>=Ze)?(m.current.rl=!0,Mt=gi,Ne=-Ne,Et.points=[hb(Yt,1),hb(Wt,1)]):m.current.rl=!1}if(fi&&Yt[1]==="r"&&(OtLe||vu===Le&&(!ct||Jl>=Ze)?(m.current.lr=!0,Mt=cs,Ne=-Ne,Et.points=[hb(Yt,1),hb(Wt,1)]):m.current.lr=!1}Ni();var qo=tn===!0?0:tn;typeof qo=="number"&&(Otit.right&&(Mt-=gn-it.right-Ne,P.x>it.right-qo&&(Mt+=P.x-it.right+qo)));var Yr=Jt===!0?0:Jt;typeof Yr=="number"&&(Nnit.bottom&&(fe-=mn-it.bottom-Be,P.y>it.bottom-Yr&&(fe+=P.y-it.bottom+Yr)));var Cu=M.x+Mt,es=Cu+Ce,Za=M.y+fe,pl=Za+ue,ji=P.x,ci=ji+ce,on=P.y,bn=on+pe,Di=Math.max(Cu,ji),Ur=Math.min(es,ci),ur=(Di+Ur)/2,Kr=ur-Cu,Mn=Math.max(Za,on),Cn=Math.min(pl,bn),Gi=(Mn+Cn)/2,Co=Gi-Za;s==null||s(e,Et);var ds=me.right-M.x-(Mt+M.width),fn=me.bottom-M.y-(fe+M.height);c({ready:!0,offsetX:Mt/j,offsetY:fe/$,offsetR:ds/j,offsetB:fn/$,arrowX:Kr/j,arrowY:Co/$,scaleX:j,scaleY:$,align:Et})}}),b=function(){d.current+=1;var w=d.current;Promise.resolve().then(function(){d.current===w&&g()})},y=function(){c(function(w){return xe(xe({},w),{},{ready:!1})})};return cr(y,[i]),cr(function(){n||y()},[n]),[u.ready,u.offsetX,u.offsetY,u.offsetR,u.offsetB,u.arrowX,u.arrowY,u.scaleX,u.scaleY,u.align,b]}function zVe(n,e,t,i,r){cr(function(){if(n&&e&&t){let d=function(){i(),r()};var o=e,s=t,a=bP(o),l=bP(s),u=uL(s),c=new Set([u].concat(Lt(a),Lt(l)));return c.forEach(function(h){h.addEventListener("scroll",d,{passive:!0})}),u.addEventListener("resize",d,{passive:!0}),i(),function(){c.forEach(function(h){h.removeEventListener("scroll",d),u.removeEventListener("resize",d)})}}},[n,e,t])}function HVe(n,e,t,i,r,o,s,a){var l=S.useRef(n);l.current=n,S.useEffect(function(){if(e&&i&&(!r||o)){var u=function(m){var f=m.target;l.current&&!s(f)&&a(!1)},c=uL(i);c.addEventListener("mousedown",u,!0),c.addEventListener("contextmenu",u,!0);var d=ST(t);return d&&(d.addEventListener("mousedown",u,!0),d.addEventListener("contextmenu",u,!0)),function(){c.removeEventListener("mousedown",u,!0),c.removeEventListener("contextmenu",u,!0),d&&(d.removeEventListener("mousedown",u,!0),d.removeEventListener("contextmenu",u,!0))}}},[e,t,i,r,o])}var YVe=["prefixCls","children","action","showAction","hideAction","popupVisible","defaultPopupVisible","onPopupVisibleChange","afterPopupVisibleChange","mouseEnterDelay","mouseLeaveDelay","focusDelay","blurDelay","mask","maskClosable","getPopupContainer","forceRender","autoDestroy","destroyPopupOnHide","popup","popupClassName","popupStyle","popupPlacement","builtinPlacements","popupAlign","zIndex","stretch","getPopupClassNameFromAlign","fresh","alignPoint","onPopupClick","onPopupAlign","arrow","popupMotion","maskMotion","popupTransitionName","popupAnimation","maskTransitionName","maskAnimation","className","getTriggerDOMNode"];function UVe(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:J4,e=S.forwardRef(function(t,i){var r=t.prefixCls,o=r===void 0?"rc-trigger-popup":r,s=t.children,a=t.action,l=a===void 0?"hover":a,u=t.showAction,c=t.hideAction,d=t.popupVisible,h=t.defaultPopupVisible,m=t.onPopupVisibleChange,f=t.afterPopupVisibleChange,g=t.mouseEnterDelay,b=t.mouseLeaveDelay,y=b===void 0?.1:b,C=t.focusDelay,w=t.blurDelay,x=t.mask,L=t.maskClosable,I=L===void 0?!0:L,D=t.getPopupContainer,N=t.forceRender,T=t.autoDestroy,R=t.destroyPopupOnHide,E=t.popup,W=t.popupClassName,Z=t.popupStyle,V=t.popupPlacement,z=t.builtinPlacements,O=z===void 0?{}:z,B=t.popupAlign,P=t.zIndex,H=t.stretch,M=t.getPopupClassNameFromAlign,X=t.fresh,Y=t.alignPoint,A=t.onPopupClick,te=t.onPopupAlign,oe=t.arrow,ae=t.popupMotion,le=t.maskMotion,ue=t.popupTransitionName,Ce=t.popupAnimation,pe=t.maskTransitionName,ce=t.maskAnimation,De=t.className,Me=t.getTriggerDOMNode,ke=zn(t,YVe),Ue=T||R||!1,He=S.useState(!1),ct=we(He,2),yt=ct[0],it=ct[1];cr(function(){it(OT())},[]);var he=S.useRef({}),de=S.useContext(Uoe),me=S.useMemo(function(){return{registerSubPopup:function(ui,ao){he.current[ui]=ao,de==null||de.registerSubPopup(ui,ao)}}},[de]),j=Ire(),$=S.useState(null),q=we($,2),ee=q[0],ye=q[1],_e=S.useRef(null),Ne=Qi(function(In){_e.current=In,Bk(In)&&ee!==In&&ye(In),de==null||de.registerSubPopup(j,In)}),Be=S.useState(null),$e=we(Be,2),We=$e[0],ht=$e[1],Ye=S.useRef(null),Ge=Qi(function(In){Bk(In)&&We!==In&&(ht(In),Ye.current=In)}),mt=S.Children.only(s),wt=(mt==null?void 0:mt.props)||{},Kt={},Wt=Qi(function(In){var ui,ao,Gs=We;return(Gs==null?void 0:Gs.contains(In))||((ui=ST(Gs))===null||ui===void 0?void 0:ui.host)===In||In===Gs||(ee==null?void 0:ee.contains(In))||((ao=ST(ee))===null||ao===void 0?void 0:ao.host)===In||In===ee||Object.values(he.current).some(function(Po){return(Po==null?void 0:Po.contains(In))||In===Po})}),Yt=Joe(o,ae,Ce,ue),Tn=Joe(o,le,ce,pe),li=S.useState(h||!1),Et=we(li,2),Mt=Et[0],fe=Et[1],Le=d??Mt,Ze=Qi(function(In){d===void 0&&fe(In)});cr(function(){fe(d||!1)},[d]);var Xe=S.useRef(Le);Xe.current=Le;var ft=S.useRef([]);ft.current=[];var kt=Qi(function(In){var ui;Ze(In),((ui=ft.current[ft.current.length-1])!==null&&ui!==void 0?ui:Le)!==In&&(ft.current.push(In),m==null||m(In))}),et=S.useRef(),rt=function(){clearTimeout(et.current)},vt=function(ui){var ao=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;rt(),ao===0?kt(ui):et.current=setTimeout(function(){kt(ui)},ao*1e3)};S.useEffect(function(){return rt},[]);var It=S.useState(!1),tn=we(It,2),Jt=tn[0],qt=tn[1];cr(function(In){(!In||Le)&&qt(!0)},[Le]);var Nn=S.useState(null),mn=we(Nn,2),Ot=mn[0],gn=mn[1],Tt=S.useState([0,0]),Se=we(Tt,2),Ke=Se[0],dt=Se[1],nn=function(ui){dt([ui.clientX,ui.clientY])},jn=BVe(Le,ee,Y?Ke:We,V,O,B,te),Zn=we(jn,11),rn=Zn[0],fi=Zn[1],Ln=Zn[2],gi=Zn[3],Hr=Zn[4],Vs=Zn[5],cs=Zn[6],vu=Zn[7],Jl=Zn[8],qo=Zn[9],Yr=Zn[10],Cu=XVe(yt,l,u,c),es=we(Cu,2),Za=es[0],pl=es[1],ji=Za.has("click"),ci=pl.has("click")||pl.has("contextMenu"),on=Qi(function(){Jt||Yr()}),bn=function(){Xe.current&&Y&&ci&&vt(!1)};zVe(Le,We,ee,on,bn),cr(function(){on()},[Ke,V]),cr(function(){Le&&!(O!=null&&O[V])&&on()},[JSON.stringify(B)]);var Di=S.useMemo(function(){var In=OVe(O,o,qo,Y);return Te(In,M==null?void 0:M(qo))},[qo,M,O,o,Y]);S.useImperativeHandle(i,function(){return{nativeElement:Ye.current,popupElement:_e.current,forceAlign:on}});var Ur=S.useState(0),ur=we(Ur,2),Kr=ur[0],Mn=ur[1],Cn=S.useState(0),Gi=we(Cn,2),Co=Gi[0],ds=Gi[1],fn=function(){if(H&&We){var ui=We.getBoundingClientRect();Mn(ui.width),ds(ui.height)}},Vn=function(){fn(),on()},Ni=function(ui){qt(!1),Yr(),f==null||f(ui)},So=function(){return new Promise(function(ui){fn(),gn(function(){return ui})})};cr(function(){Ot&&(Yr(),Ot(),gn(null))},[Ot]);function Ss(In,ui,ao,Gs){Kt[In]=function(Po){var Yp;Gs==null||Gs(Po),vt(ui,ao);for(var e_=arguments.length,bG=new Array(e_>1?e_-1:0),zf=1;zf1?ao-1:0),Po=1;Po1?ao-1:0),Po=1;Po1&&arguments[1]!==void 0?arguments[1]:{},t=e.fieldNames,i=e.childrenAsData,r=[],o=tse(t,!1),s=o.label,a=o.value,l=o.options,u=o.groupLabel;function c(d,h){Array.isArray(d)&&d.forEach(function(m){if(h||!(l in m)){var f=m[a];r.push({key:ese(m,r.length),groupOption:h,data:m,label:m[s],value:f})}else{var g=m[u];g===void 0&&i&&(g=m.label),r.push({key:ese(m,r.length),group:!0,data:m,label:g}),c(m[l],!0)}})}return c(n,!1),r}function vP(n){var e=xe({},n);return"props"in e||Object.defineProperty(e,"props",{get:function(){return aa(!1,"Return type is option instead of Option instance. Please read value directly instead of reading from `props`."),e}}),e}var qVe=function(e,t,i){if(!t||!t.length)return null;var r=!1,o=function a(l,u){var c=Fne(u),d=c[0],h=c.slice(1);if(!d)return[l];var m=l.split(d);return r=r||m.length>1,m.reduce(function(f,g){return[].concat(Lt(f),Lt(a(g,h)))},[]).filter(Boolean)},s=o(e,t);return r?typeof i<"u"?s.slice(0,i):s:null},CP=S.createContext(null),eGe=["id","prefixCls","className","showSearch","tagRender","direction","omitDomProps","displayValues","onDisplayValuesChange","emptyOptions","notFoundContent","onClear","mode","disabled","loading","getInputElement","getRawInputElement","open","defaultOpen","onDropdownVisibleChange","activeValue","onActiveValueChange","activeDescendantId","searchValue","autoClearSearchValue","onSearch","onSearchSplit","tokenSeparators","allowClear","suffixIcon","clearIcon","OptionList","animation","transitionName","dropdownStyle","dropdownClassName","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","placement","builtinPlacements","getPopupContainer","showAction","onFocus","onBlur","onKeyUp","onKeyDown","onMouseDown"],tGe=["value","onChange","removeIcon","placeholder","autoFocus","maxTagCount","maxTagTextLength","maxTagPlaceholder","choiceTransitionName","onInputKeyDown","onPopupScroll","tabIndex"],SP=function(e){return e==="tags"||e==="multiple"},nGe=S.forwardRef(function(n,e){var t,i=n.id,r=n.prefixCls,o=n.className,s=n.showSearch,a=n.tagRender,l=n.direction,u=n.omitDomProps,c=n.displayValues,d=n.onDisplayValuesChange,h=n.emptyOptions,m=n.notFoundContent,f=m===void 0?"Not Found":m,g=n.onClear,b=n.mode,y=n.disabled,C=n.loading,w=n.getInputElement,x=n.getRawInputElement,L=n.open,I=n.defaultOpen,D=n.onDropdownVisibleChange,N=n.activeValue,T=n.onActiveValueChange,R=n.activeDescendantId,E=n.searchValue,W=n.autoClearSearchValue,Z=n.onSearch,V=n.onSearchSplit,z=n.tokenSeparators,O=n.allowClear,B=n.suffixIcon,P=n.clearIcon,H=n.OptionList,M=n.animation,X=n.transitionName,Y=n.dropdownStyle,A=n.dropdownClassName,te=n.dropdownMatchSelectWidth,oe=n.dropdownRender,ae=n.dropdownAlign,le=n.placement,ue=n.builtinPlacements,Ce=n.getPopupContainer,pe=n.showAction,ce=pe===void 0?[]:pe,De=n.onFocus,Me=n.onBlur,ke=n.onKeyUp,Ue=n.onKeyDown,He=n.onMouseDown,ct=zn(n,eGe),yt=SP(b),it=(s!==void 0?s:yt)||b==="combobox",he=xe({},ct);tGe.forEach(function(on){delete he[on]}),u==null||u.forEach(function(on){delete he[on]});var de=S.useState(!1),me=we(de,2),j=me[0],$=me[1];S.useEffect(function(){$(OT())},[]);var q=S.useRef(null),ee=S.useRef(null),ye=S.useRef(null),_e=S.useRef(null),Ne=S.useRef(null),Be=S.useRef(!1),$e=cVe(),We=we($e,3),ht=We[0],Ye=We[1],Ge=We[2];S.useImperativeHandle(e,function(){var on,bn;return{focus:(on=_e.current)===null||on===void 0?void 0:on.focus,blur:(bn=_e.current)===null||bn===void 0?void 0:bn.blur,scrollTo:function(Ur){var ur;return(ur=Ne.current)===null||ur===void 0?void 0:ur.scrollTo(Ur)}}});var mt=S.useMemo(function(){var on;if(b!=="combobox")return E;var bn=(on=c[0])===null||on===void 0?void 0:on.value;return typeof bn=="string"||typeof bn=="number"?String(bn):""},[E,b,c]),wt=b==="combobox"&&typeof w=="function"&&w()||null,Kt=typeof x=="function"&&x(),Wt=tb(ee,Kt==null||(t=Kt.props)===null||t===void 0?void 0:t.ref),Yt=S.useState(!1),Tn=we(Yt,2),li=Tn[0],Et=Tn[1];cr(function(){Et(!0)},[]);var Mt=Jr(!1,{defaultValue:I,value:L}),fe=we(Mt,2),Le=fe[0],Ze=fe[1],Xe=li?Le:!1,ft=!f&&h;(y||ft&&Xe&&b==="combobox")&&(Xe=!1);var kt=ft?!1:Xe,et=S.useCallback(function(on){var bn=on!==void 0?on:!Xe;y||(Ze(bn),Xe!==bn&&(D==null||D(bn)))},[y,Xe,Ze,D]),rt=S.useMemo(function(){return(z||[]).some(function(on){return[` `,`\r -`].includes(on)})},[z]),yt=w.useContext(CP)||{},Ft=yt.maxCount,tn=yt.rawValues,Jt=function(bn,Di,Ur){if(!(vt&&vP(Ft)&&(tn==null?void 0:tn.size)>=Ft)){var cr=!0,Kr=bn;T==null||T(null);var kn=qAe(bn,z,vP(Ft)?Ft-tn.size:void 0),Cn=Ur?null:kn;return b!=="combobox"&&Cn&&(Kr="",A==null||A(Cn),et(!1),cr=!1),W&&mt!==Kr&&W(Kr,{source:Di?"typing":"effect"}),cr}},qt=function(bn){!bn||!bn.trim()||W(bn,{source:"submit"})};w.useEffect(function(){!Xe&&!vt&&b!=="combobox"&&Jt("",!1,!1)},[Xe]),w.useEffect(function(){_e&&v&&We(!1),v&&!Be.current&&Ye(!1)},[v]);var Mn=Aoe(),mn=Se(Mn,2),Ot=mn[0],gn=mn[1],Tt=function(bn){var Di=Ot(),Ur=bn.which;if(Ur===Dt.ENTER&&(b!=="combobox"&&bn.preventDefault(),Xe||et(!0)),gn(!!mt),Ur===Dt.BACKSPACE&&!Di&&vt&&!mt&&c.length){for(var cr=_t(c),Kr=null,kn=cr.length-1;kn>=0;kn-=1){var Cn=cr[kn];if(!Cn.disabled){cr.splice(kn,1),Kr=Cn;break}}Kr&&d(cr,{type:"remove",values:[Kr]})}for(var Gi=arguments.length,Co=new Array(Gi>1?Gi-1:0),ds=1;ds1?Di-1:0),cr=1;cr1?kn-1:0),Gi=1;Gi0&&arguments[0]!==void 0?arguments[0]:!1;c();var f=function(){a.current.forEach(function(b,v){if(b&&b.offsetParent){var C=TL(b),S=C.offsetHeight;l.current.get(v)!==S&&l.current.set(v,C.offsetHeight)}}),s(function(b){return b+1})};m?f():u.current=xi(f)}function h(m,f){var g=n(m),b=a.current.get(g);f?(a.current.set(g,f),d()):a.current.delete(g),!b!=!f&&(f?e==null||e(m):t==null||t(m))}return w.useEffect(function(){return c},[]),[h,d,l.current,o]}var aGe=10;function lGe(n,e,t,i,r,o,s,a){var l=w.useRef(),u=w.useState(null),c=Se(u,2),d=c[0],h=c[1];return dr(function(){if(d&&d.times=0;A-=1){var z=r(e[A]),O=t.get(z);if(O===void 0){C=!0;break}if(W-=O,W<=0)break}switch(_){case"top":x=D-b;break;case"bottom":x=M-v+b;break;default:{var B=n.current.scrollTop,P=B+v;DP&&(S="bottom")}}x!==null&&s(x),x!==d.lastTop&&(C=!0)}C&&h(xe(xe({},d),{},{times:d.times+1,targetAlign:S,lastTop:x}))}},[d,n.current]),function(m){if(m==null){a();return}if(xi.cancel(l.current),typeof m=="number")s(m);else if(m&&Xn(m)==="object"){var f,g=m.align;"index"in m?f=m.index:f=e.findIndex(function(C){return r(C)===m.key});var b=m.offset,v=b===void 0?0:b;h({times:0,index:f,offset:v,originAlign:g})}}}function uGe(n,e,t){var i=n.length,r=e.length,o,s;if(i===0&&r===0)return null;i"u"?"undefined":Xn(navigator))==="object"&&/Firefox/i.test(navigator.userAgent);const sse=function(n,e){var t=w.useRef(!1),i=w.useRef(null);function r(){clearTimeout(i.current),t.current=!0,i.current=setTimeout(function(){t.current=!1},50)}var o=w.useRef({top:n,bottom:e});return o.current.top=n,o.current.bottom=e,function(s){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,l=s<0&&o.current.top||s>0&&o.current.bottom;return a&&l?(clearTimeout(i.current),t.current=!1):(!l||t.current)&&r(),!t.current&&l}};function dGe(n,e,t,i,r){var o=w.useRef(0),s=w.useRef(null),a=w.useRef(null),l=w.useRef(!1),u=sse(e,t);function c(b,v){xi.cancel(s.current),o.current+=v,a.current=v,!u(v)&&(ose||b.preventDefault(),s.current=xi(function(){var C=l.current?10:1;r(o.current*C),o.current=0}))}function d(b,v){r(v,!0),ose||b.preventDefault()}var h=w.useRef(null),m=w.useRef(null);function f(b){if(n){xi.cancel(m.current),m.current=xi(function(){h.current=null},2);var v=b.deltaX,C=b.deltaY,S=b.shiftKey,x=v,_=C;(h.current==="sx"||!h.current&&S&&C&&!v)&&(x=C,_=0,h.current="sx");var F=Math.abs(x),D=Math.abs(_);h.current===null&&(h.current=i&&F>D?"x":"y"),h.current==="y"?c(b,_):d(b,x)}}function g(b){n&&(l.current=b.detail===a.current)}return[f,g]}var hGe=14/15;function mGe(n,e,t){var i=w.useRef(!1),r=w.useRef(0),o=w.useRef(null),s=w.useRef(null),a,l=function(h){if(i.current){var m=Math.ceil(h.touches[0].pageY),f=r.current-m;r.current=m,t(f)&&h.preventDefault(),clearInterval(s.current),s.current=setInterval(function(){f*=hGe,(!t(f,!0)||Math.abs(f)<=.1)&&clearInterval(s.current)},16)}},u=function(){i.current=!1,a()},c=function(h){a(),h.touches.length===1&&!i.current&&(i.current=!0,r.current=Math.ceil(h.touches[0].pageY),o.current=h.target,o.current.addEventListener("touchmove",l),o.current.addEventListener("touchend",u))};a=function(){o.current&&(o.current.removeEventListener("touchmove",l),o.current.removeEventListener("touchend",u))},dr(function(){return n&&e.current.addEventListener("touchstart",c),function(){var d;(d=e.current)===null||d===void 0||d.removeEventListener("touchstart",c),a(),clearInterval(s.current)}},[n])}var fGe=20;function ase(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,t=n/e*n;return isNaN(t)&&(t=0),t=Math.max(t,fGe),Math.floor(t)}function gGe(n,e,t,i){var r=w.useMemo(function(){return[new Map,[]]},[n,t.id,i]),o=Se(r,2),s=o[0],a=o[1],l=function(c){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:c,h=s.get(c),m=s.get(d);if(h===void 0||m===void 0)for(var f=n.length,g=a.length;go||!!g),H=f==="rtl",k=Te(i,ge({},"".concat(i,"-rtl"),H),r),X=c||bGe,Y=w.useRef(),V=w.useRef(),te=w.useState(0),oe=Se(te,2),ae=oe[0],le=oe[1],ue=w.useState(0),Ce=Se(ue,2),pe=Ce[0],ce=Ce[1],De=w.useState(!1),ke=Se(De,2),Ne=ke[0],Ue=ke[1],He=function(){Ue(!0)},ct=function(){Ue(!1)},vt={getKey:T};function it(we){le(function(Ke){var dt;typeof we=="function"?dt=we(Ke):dt=we;var nn=Tn(dt);return Y.current.scrollTop=nn,nn})}var he=w.useRef({start:0,end:X.length}),de=w.useRef(),me=cGe(X,T),j=Se(me,1),$=j[0];de.current=$;var q=w.useMemo(function(){if(!O)return{scrollHeight:void 0,start:0,end:X.length-1,offset:void 0};if(!P){var we;return{scrollHeight:((we=V.current)===null||we===void 0?void 0:we.offsetHeight)||0,start:0,end:X.length-1,offset:void 0}}for(var Ke=0,dt,nn,jn,Wn=X.length,rn=0;rn=ae&&dt===void 0&&(dt=rn,nn=Ke),Hr>ae+o&&jn===void 0&&(jn=rn),Ke=Hr}return dt===void 0&&(dt=0,nn=0,jn=Math.ceil(o/s)),jn===void 0&&(jn=X.length-1),jn=Math.min(jn+1,X.length-1),{scrollHeight:Ke,start:dt,end:jn,offset:nn}},[P,O,ae,X,z,o]),ee=q.scrollHeight,ve=q.start,Le=q.end,Me=q.offset;he.current.start=ve,he.current.end=Le;var Be=w.useState({width:0,height:o}),$e=Se(Be,2),Re=$e[0],ht=$e[1],Ye=function(Ke){ht({width:Ke.width||Ke.offsetWidth,height:Ke.height||Ke.offsetHeight})},Ge=w.useRef(),mt=w.useRef(),St=w.useMemo(function(){return ase(Re.width,g)},[Re.width,g]),Kt=w.useMemo(function(){return ase(Re.height,ee)},[Re.height,ee]),Rt=ee-o,Yt=w.useRef(Rt);Yt.current=Rt;function Tn(we){var Ke=we;return Number.isNaN(Yt.current)||(Ke=Math.min(Ke,Yt.current)),Ke=Math.max(Ke,0),Ke}var li=ae<=0,Et=ae>=Rt,kt=sse(li,Et),fe=function(){return{x:H?-pe:pe,y:ae}},_e=w.useRef(fe()),We=$i(function(){if(S){var we=fe();(_e.current.x!==we.x||_e.current.y!==we.y)&&(S(we),_e.current=we)}});function Xe(we,Ke){var dt=we;Ke?(th.flushSync(function(){ce(dt)}),We()):it(dt)}function ft(we){var Ke=we.currentTarget.scrollTop;Ke!==ae&&it(Ke),C==null||C(we),We()}var Nt=function(Ke){var dt=Ke,nn=g?g-Re.width:0;return dt=Math.max(dt,0),dt=Math.min(dt,nn),dt},et=$i(function(we,Ke){Ke?(th.flushSync(function(){ce(function(dt){var nn=dt+(H?-we:we);return Nt(nn)})}),We()):it(function(dt){var nn=dt+we;return nn})}),rt=dGe(O,li,Et,!!g,et),yt=Se(rt,2),Ft=yt[0],tn=yt[1];mGe(O,Y,function(we,Ke){return kt(we,Ke)?!1:(Ft({preventDefault:function(){},deltaY:we}),!0)}),dr(function(){function we(dt){O&&dt.preventDefault()}var Ke=Y.current;return Ke.addEventListener("wheel",Ft),Ke.addEventListener("DOMMouseScroll",tn),Ke.addEventListener("MozMousePixelScroll",we),function(){Ke.removeEventListener("wheel",Ft),Ke.removeEventListener("DOMMouseScroll",tn),Ke.removeEventListener("MozMousePixelScroll",we)}},[O]),dr(function(){g&&ce(function(we){return Nt(we)})},[Re.width,g]);var Jt=function(){var Ke,dt;(Ke=Ge.current)===null||Ke===void 0||Ke.delayHidden(),(dt=mt.current)===null||dt===void 0||dt.delayHidden()},qt=lGe(Y,X,A,s,T,function(){return W(!0)},it,Jt);w.useImperativeHandle(e,function(){return{getScrollInfo:fe,scrollTo:function(Ke){function dt(nn){return nn&&Xn(nn)==="object"&&("left"in nn||"top"in nn)}dt(Ke)?(Ke.left!==void 0&&ce(Nt(Ke.left)),qt(Ke.top)):qt(Ke)}}}),dr(function(){if(x){var we=X.slice(ve,Le+1);x(we,X)}},[ve,Le,X]);var Mn=gGe(X,T,A,s),mn=F==null?void 0:F({start:ve,end:Le,virtual:P,offsetX:pe,offsetY:Me,rtl:H,getSize:Mn}),Ot=rGe(X,ve,Le,g,R,d,vt),gn=null;o&&(gn=xe(ge({},l?"height":"maxHeight",o),vGe),O&&(gn.overflowY="hidden",g&&(gn.overflowX="hidden"),Ne&&(gn.pointerEvents="none")));var Tt={};return H&&(Tt.dir="rtl"),w.createElement("div",pt({style:xe(xe({},u),{},{position:"relative"}),className:k},Tt,M),w.createElement(mc,{onResize:Ye},w.createElement(v,{className:"".concat(i,"-holder"),style:gn,ref:Y,onScroll:ft,onMouseEnter:Jt},w.createElement(nse,{prefixCls:i,height:ee,offsetX:pe,offsetY:Me,scrollWidth:g,onInnerResize:W,ref:V,innerProps:_,rtl:H,extra:mn},Ot))),P&&ee>o&&w.createElement(rse,{ref:Ge,prefixCls:i,scrollOffset:ae,scrollRange:ee,rtl:H,onScroll:Xe,onStartMove:He,onStopMove:ct,spinSize:Kt,containerSize:Re.height,style:D==null?void 0:D.verticalScrollBar,thumbStyle:D==null?void 0:D.verticalScrollBarThumb}),P&&g>Re.width&&w.createElement(rse,{ref:mt,prefixCls:i,scrollOffset:pe,scrollRange:g,rtl:H,onScroll:Xe,onStartMove:He,onStopMove:ct,spinSize:St,containerSize:Re.width,horizontal:!0,style:D==null?void 0:D.horizontalScrollBar,thumbStyle:D==null?void 0:D.horizontalScrollBarThumb}))}var lse=w.forwardRef(yGe);lse.displayName="List";function CGe(){return/(mac\sos|macintosh)/i.test(navigator.appVersion)}var wGe=["disabled","title","children","style","className"];function use(n){return typeof n=="string"||typeof n=="number"}var SGe=function(e,t){var i=uAe(),r=i.prefixCls,o=i.id,s=i.open,a=i.multiple,l=i.mode,u=i.searchValue,c=i.toggleOpen,d=i.notFoundContent,h=i.onPopupScroll,m=w.useContext(CP),f=m.maxCount,g=m.flattenOptions,b=m.onActiveValue,v=m.defaultActiveFirstOption,C=m.onSelect,S=m.menuItemSelectedIcon,x=m.rawValues,_=m.fieldNames,F=m.virtual,D=m.direction,M=m.listHeight,T=m.listItemHeight,Z=m.optionRender,E="".concat(r,"-item"),R=EL(function(){return g},[s,g],function(pe,ce){return ce[0]&&pe[1]!==ce[1]}),W=w.useRef(null),A=w.useMemo(function(){return a&&vP(f)&&(x==null?void 0:x.size)>=f},[a,f,x==null?void 0:x.size]),z=function(ce){ce.preventDefault()},O=function(ce){var De;(De=W.current)===null||De===void 0||De.scrollTo(typeof ce=="number"?{index:ce}:ce)},B=function(ce){for(var De=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,ke=R.length,Ne=0;Ne1&&arguments[1]!==void 0?arguments[1]:!1;X(ce);var ke={source:De?"keyboard":"mouse"},Ne=R[ce];if(!Ne){b(null,-1,ke);return}b(Ne.value,ce,ke)};w.useEffect(function(){Y(v!==!1?B(0):-1)},[R.length,u]);var V=w.useCallback(function(pe){return x.has(pe)&&l!=="combobox"},[l,_t(x).toString(),x.size]);w.useEffect(function(){var pe=setTimeout(function(){if(!a&&s&&x.size===1){var De=Array.from(x)[0],ke=R.findIndex(function(Ne){var Ue=Ne.data;return Ue.value===De});ke!==-1&&(Y(ke),O(ke))}});if(s){var ce;(ce=W.current)===null||ce===void 0||ce.scrollTo(void 0)}return function(){return clearTimeout(pe)}},[s,u]);var te=function(ce){ce!==void 0&&C(ce,{selected:!x.has(ce)}),a||c(!1)};if(w.useImperativeHandle(t,function(){return{onKeyDown:function(ce){var De=ce.which,ke=ce.ctrlKey;switch(De){case Dt.N:case Dt.P:case Dt.UP:case Dt.DOWN:{var Ne=0;if(De===Dt.UP?Ne=-1:De===Dt.DOWN?Ne=1:CGe()&&ke&&(De===Dt.N?Ne=1:De===Dt.P&&(Ne=-1)),Ne!==0){var Ue=B(k+Ne,Ne);O(Ue),Y(Ue,!0)}break}case Dt.ENTER:{var He,ct=R[k];ct&&!(ct!=null&&(He=ct.data)!==null&&He!==void 0&&He.disabled)&&!A?te(ct.value):te(void 0),s&&ce.preventDefault();break}case Dt.ESC:c(!1),s&&ce.stopPropagation()}},onKeyUp:function(){},scrollTo:function(ce){O(ce)}}}),R.length===0)return w.createElement("div",{role:"listbox",id:"".concat(o,"_list"),className:"".concat(E,"-empty"),onMouseDown:z},d);var oe=Object.keys(_).map(function(pe){return _[pe]}),ae=function(ce){return ce.label};function le(pe,ce){var De=pe.group;return{role:De?"presentation":"option",id:"".concat(o,"_list_").concat(ce)}}var ue=function(ce){var De=R[ce];if(!De)return null;var ke=De.data||{},Ne=ke.value,Ue=De.group,He=Fu(ke,!0),ct=ae(De);return De?w.createElement("div",pt({"aria-label":typeof ct=="string"&&!Ue?ct:null},He,{key:ce},le(De,ce),{"aria-selected":V(Ne)}),Ne):null},Ce={role:"listbox",id:"".concat(o,"_list")};return w.createElement(w.Fragment,null,F&&w.createElement("div",pt({},Ce,{style:{height:0,width:0,overflow:"hidden"}}),ue(k-1),ue(k),ue(k+1)),w.createElement(lse,{itemKey:"key",ref:W,data:R,height:M,itemHeight:T,fullHeight:!1,onMouseDown:z,onScroll:h,virtual:F,direction:D,innerProps:F?null:Ce},function(pe,ce){var De=pe.group,ke=pe.groupOption,Ne=pe.data,Ue=pe.label,He=pe.value,ct=Ne.key;if(De){var vt,it=(vt=Ne.title)!==null&&vt!==void 0?vt:use(Ue)?Ue.toString():void 0;return w.createElement("div",{className:Te(E,"".concat(E,"-group"),Ne.className),title:it},Ue!==void 0?Ue:ct)}var he=Ne.disabled,de=Ne.title;Ne.children;var me=Ne.style,j=Ne.className,$=zn(Ne,wGe),q=la($,oe),ee=V(He),ve=he||!ee&&A,Le="".concat(E,"-option"),Me=Te(E,Le,j,ge(ge(ge(ge({},"".concat(Le,"-grouped"),ke),"".concat(Le,"-active"),k===ce&&!ve),"".concat(Le,"-disabled"),ve),"".concat(Le,"-selected"),ee)),Be=ae(pe),$e=!S||typeof S=="function"||ee,Re=typeof Be=="number"?Be:Be||He,ht=use(Re)?Re.toString():void 0;return de!==void 0&&(ht=de),w.createElement("div",pt({},Fu(q),F?{}:le(pe,ce),{"aria-selected":ee,className:Me,title:ht,onMouseMove:function(){k===ce||ve||Y(ce)},onClick:function(){ve||te(He)},style:me}),w.createElement("div",{className:"".concat(Le,"-content")},typeof Z=="function"?Z(pe,{index:ce}):Re),w.isValidElement(S)||ee,$e&&w.createElement(BT,{className:"".concat(E,"-option-state"),customizeIcon:S,customizeIconProps:{value:He,disabled:ve,isSelected:ee}},ee?"✓":null))}))},xGe=w.forwardRef(SGe);const LGe=function(n,e){var t=w.useRef({values:new Map,options:new Map}),i=w.useMemo(function(){var o=t.current,s=o.values,a=o.options,l=n.map(function(d){if(d.label===void 0){var h;return xe(xe({},d),{},{label:(h=s.get(d.value))===null||h===void 0?void 0:h.label})}return d}),u=new Map,c=new Map;return l.forEach(function(d){u.set(d.value,d),c.set(d.value,e.get(d.value)||a.get(d.value))}),t.current.values=u,t.current.options=c,l},[n,e]),r=w.useCallback(function(o){return e.get(o)||t.current.options.get(o)},[e]);return[i,r]};function LP(n,e){return Boe(n).join("").toUpperCase().includes(e)}const _Ge=function(n,e,t,i,r){return w.useMemo(function(){if(!t||i===!1)return n;var o=e.options,s=e.label,a=e.value,l=[],u=typeof i=="function",c=t.toUpperCase(),d=u?i:function(m,f){return r?LP(f[r],c):f[o]?LP(f[s!=="children"?s:"label"],c):LP(f[a],c)},h=u?function(m){return yP(m)}:function(m){return m};return n.forEach(function(m){if(m[o]){var f=d(t,h(m));if(f)l.push(m);else{var g=m[o].filter(function(b){return d(t,h(b))});g.length&&l.push(xe(xe({},m),{},ge({},o,g)))}return}d(t,h(m))&&l.push(m)}),l},[n,i,r,t,e])};var cse=0,FGe=wl();function IGe(){var n;return FGe?(n=cse,cse+=1):n="TEST_OR_SSR",n}function DGe(n){var e=w.useState(),t=Se(e,2),i=t[0],r=t[1];return w.useEffect(function(){r("rc_select_".concat(IGe()))},[]),n||i}var MGe=["children","value"],kGe=["children"];function NGe(n){var e=n,t=e.key,i=e.props,r=i.children,o=i.value,s=zn(i,MGe);return xe({key:t,value:o!==void 0?o:t,children:r},s)}function dse(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return ad(n).map(function(t,i){if(!w.isValidElement(t)||!t.type)return null;var r=t,o=r.type.isSelectOptGroup,s=r.key,a=r.props,l=a.children,u=zn(a,kGe);return e||!o?NGe(t):xe(xe({key:"__RC_SELECT_GRP__".concat(s===null?i:s,"__"),label:s},u),{},{options:dse(l)})}).filter(function(t){return t})}var TGe=function(e,t,i,r,o){return w.useMemo(function(){var s=e,a=!e;a&&(s=dse(t));var l=new Map,u=new Map,c=function(m,f,g){g&&typeof g=="string"&&m.set(f[g],f)},d=function h(m){for(var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,g=0;g2&&arguments[2]!==void 0?arguments[2]:{},Ft=yt.source,tn=Ft===void 0?"keyboard":Ft;li(rt),s&&i==="combobox"&&et!==null&&tn==="keyboard"&&Kt(String(et))},[s,i]),fe=function(rt,yt,Ft){var tn=function(){var dt,nn=q(rt);return[H?{label:nn==null?void 0:nn[le.label],value:rt,key:(dt=nn==null?void 0:nn.key)!==null&&dt!==void 0?dt:rt}:rt,yP(nn)]};if(yt&&m){var Jt=tn(),qt=Se(Jt,2),Mn=qt[0],mn=qt[1];m(Mn,mn)}else if(!yt&&f&&Ft!=="clear"){var Ot=tn(),gn=Se(Ot,2),Tt=gn[0],we=gn[1];f(Tt,we)}},_e=hse(function(et,rt){var yt,Ft=te?rt.selected:!0;Ft?yt=te?[].concat(_t($),[et]):[et]:yt=$.filter(function(tn){return tn.value!==et}),Ye(yt),fe(et,Ft),i==="combobox"?Kt(""):(!wP||h)&&(ce(""),Kt(""))}),We=function(rt,yt){Ye(rt);var Ft=yt.type,tn=yt.values;(Ft==="remove"||Ft==="clear")&&tn.forEach(function(Jt){fe(Jt.value,!1,Ft)})},Xe=function(rt,yt){if(ce(rt),Kt(null),yt.source==="submit"){var Ft=(rt||"").trim();if(Ft){var tn=Array.from(new Set([].concat(_t(ve),[Ft])));Ye(tn),fe(Ft,!0),ce("")}return}yt.source!=="blur"&&(i==="combobox"&&Ye(rt),c==null||c(rt))},ft=function(rt){var yt=rt;i!=="tags"&&(yt=rt.map(function(tn){var Jt=Ne.get(tn);return Jt==null?void 0:Jt.value}).filter(function(tn){return tn!==void 0}));var Ft=Array.from(new Set([].concat(_t(ve),_t(yt))));Ye(Ft),Ft.forEach(function(tn){fe(tn,!0)})},Nt=w.useMemo(function(){var et=Z!==!1&&b!==!1;return xe(xe({},De),{},{flattenOptions:ht,onActiveValue:kt,defaultActiveFirstOption:Et,onSelect:_e,menuItemSelectedIcon:T,rawValues:ve,fieldNames:le,virtual:et,direction:E,listHeight:W,listItemHeight:z,childrenAsData:oe,maxCount:X,optionRender:F})},[X,De,ht,kt,Et,_e,T,ve,le,Z,b,E,W,z,oe,F]);return w.createElement(CP.Provider,{value:Nt},w.createElement(nGe,pt({},Y,{id:V,prefixCls:o,ref:e,omitDomProps:ZGe,mode:i,displayValues:ee,onDisplayValuesChange:We,direction:E,searchValue:pe,onSearch:Xe,autoClearSearchValue:h,onSearchSplit:ft,dropdownMatchSelectWidth:b,OptionList:xGe,emptyOptions:!ht.length,activeValue:St,activeDescendantId:"".concat(V,"_list_").concat(Tn)})))}),_P=RGe;_P.Option=xP,_P.OptGroup=SP;function mb(n,e,t){return Te({[`${n}-status-success`]:e==="success",[`${n}-status-warning`]:e==="warning",[`${n}-status-error`]:e==="error",[`${n}-status-validating`]:e==="validating",[`${n}-has-feedback`]:t})}const lv=(n,e)=>e||n,VGe=()=>{const[,n]=Pa(),t=new zo(n.colorBgBase).toHsl().l<.5?{opacity:.65}:{};return w.createElement("svg",{style:t,width:"184",height:"152",viewBox:"0 0 184 152",xmlns:"http://www.w3.org/2000/svg"},w.createElement("g",{fill:"none",fillRule:"evenodd"},w.createElement("g",{transform:"translate(24 31.67)"},w.createElement("ellipse",{fillOpacity:".8",fill:"#F5F5F7",cx:"67.797",cy:"106.89",rx:"67.797",ry:"12.668"}),w.createElement("path",{d:"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z",fill:"#AEB8C2"}),w.createElement("path",{d:"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z",fill:"url(#linearGradient-1)",transform:"translate(13.56)"}),w.createElement("path",{d:"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z",fill:"#F5F5F7"}),w.createElement("path",{d:"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z",fill:"#DCE0E6"})),w.createElement("path",{d:"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z",fill:"#DCE0E6"}),w.createElement("g",{transform:"translate(149.65 15.383)",fill:"#FFF"},w.createElement("ellipse",{cx:"20.654",cy:"3.167",rx:"2.849",ry:"2.815"}),w.createElement("path",{d:"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z"}))))},AGe=()=>{const[,n]=Pa(),{colorFill:e,colorFillTertiary:t,colorFillQuaternary:i,colorBgContainer:r}=n,{borderColor:o,shadowColor:s,contentColor:a}=w.useMemo(()=>({borderColor:new zo(e).onBackground(r).toHexShortString(),shadowColor:new zo(t).onBackground(r).toHexShortString(),contentColor:new zo(i).onBackground(r).toHexShortString()}),[e,t,i,r]);return w.createElement("svg",{width:"64",height:"41",viewBox:"0 0 64 41",xmlns:"http://www.w3.org/2000/svg"},w.createElement("g",{transform:"translate(0 1)",fill:"none",fillRule:"evenodd"},w.createElement("ellipse",{fill:s,cx:"32",cy:"33",rx:"32",ry:"7"}),w.createElement("g",{fillRule:"nonzero",stroke:o},w.createElement("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),w.createElement("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:a}))))},GGe=n=>{const{componentCls:e,margin:t,marginXS:i,marginXL:r,fontSize:o,lineHeight:s}=n;return{[e]:{marginInline:i,fontSize:o,lineHeight:s,textAlign:"center",[`${e}-image`]:{height:n.emptyImgHeight,marginBottom:i,opacity:n.opacityImage,img:{height:"100%"},svg:{maxWidth:"100%",height:"100%",margin:"auto"}},[`${e}-description`]:{color:n.colorText},[`${e}-footer`]:{marginTop:t},"&-normal":{marginBlock:r,color:n.colorTextDescription,[`${e}-description`]:{color:n.colorTextDescription},[`${e}-image`]:{height:n.emptyImgHeightMD}},"&-small":{marginBlock:i,color:n.colorTextDescription,[`${e}-image`]:{height:n.emptyImgHeightSM}}}}},XGe=Ho("Empty",n=>{const{componentCls:e,controlHeightLG:t,calc:i}=n,r=Ui(n,{emptyImgCls:`${e}-img`,emptyImgHeight:i(t).mul(2.5).equal(),emptyImgHeightMD:t,emptyImgHeightSM:i(t).mul(.875).equal()});return[GGe(r)]});var PGe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{var{className:e,rootClassName:t,prefixCls:i,image:r=mse,description:o,children:s,imageStyle:a,style:l}=n,u=PGe(n,["className","rootClassName","prefixCls","image","description","children","imageStyle","style"]);const{getPrefixCls:c,direction:d,empty:h}=w.useContext(Rn),m=c("empty",i),[f,g,b]=XGe(m),[v]=rb("Empty"),C=typeof o<"u"?o:v==null?void 0:v.description,S=typeof C=="string"?C:"empty";let x=null;return typeof r=="string"?x=w.createElement("img",{alt:S,src:r}):x=r,f(w.createElement("div",Object.assign({className:Te(g,b,m,h==null?void 0:h.className,{[`${m}-normal`]:r===fse,[`${m}-rtl`]:d==="rtl"},e,t),style:Object.assign(Object.assign({},h==null?void 0:h.style),l)},u),w.createElement("div",{className:`${m}-image`,style:a},x),C&&w.createElement("div",{className:`${m}-description`},C),s&&w.createElement("div",{className:`${m}-footer`},s)))};FP.PRESENTED_IMAGE_DEFAULT=mse,FP.PRESENTED_IMAGE_SIMPLE=fse;const m_=FP,OGe=n=>{const{componentName:e}=n,{getPrefixCls:t}=w.useContext(Rn),i=t("empty");switch(e){case"Table":case"List":return ze.createElement(m_,{image:m_.PRESENTED_IMAGE_SIMPLE});case"Select":case"TreeSelect":case"Cascader":case"Transfer":case"Mentions":return ze.createElement(m_,{image:m_.PRESENTED_IMAGE_SIMPLE,className:`${i}-small`});default:return ze.createElement(m_,null)}},BGe=["outlined","borderless","filled"],dw=function(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;const t=w.useContext(roe);let i;typeof n<"u"?i=n:e===!1?i="borderless":i=t??"outlined";const r=BGe.includes(i);return[i,r]},zGe=n=>{const t={overflow:{adjustX:!0,adjustY:!0,shiftY:!0},htmlRegion:n==="scroll"?"scroll":"visible",dynamicInset:!0};return{bottomLeft:Object.assign(Object.assign({},t),{points:["tl","bl"],offset:[0,4]}),bottomRight:Object.assign(Object.assign({},t),{points:["tr","br"],offset:[0,4]}),topLeft:Object.assign(Object.assign({},t),{points:["bl","tl"],offset:[0,-4]}),topRight:Object.assign(Object.assign({},t),{points:["br","tr"],offset:[0,-4]})}};function HGe(n,e){return n||zGe(e)}const gse=n=>{const{optionHeight:e,optionFontSize:t,optionLineHeight:i,optionPadding:r}=n;return{position:"relative",display:"block",minHeight:e,padding:r,color:n.colorText,fontWeight:"normal",fontSize:t,lineHeight:i,boxSizing:"border-box"}},YGe=n=>{const{antCls:e,componentCls:t}=n,i=`${t}-item`,r=`&${e}-slide-up-enter${e}-slide-up-enter-active`,o=`&${e}-slide-up-appear${e}-slide-up-appear-active`,s=`&${e}-slide-up-leave${e}-slide-up-leave-active`,a=`${t}-dropdown-placement-`;return[{[`${t}-dropdown`]:Object.assign(Object.assign({},uo(n)),{position:"absolute",top:-9999,zIndex:n.zIndexPopup,boxSizing:"border-box",padding:n.paddingXXS,overflow:"hidden",fontSize:n.fontSize,fontVariant:"initial",backgroundColor:n.colorBgElevated,borderRadius:n.borderRadiusLG,outline:"none",boxShadow:n.boxShadowSecondary,[` +`].includes(on)})},[z]),vt=S.useContext(CP)||{},It=vt.maxCount,tn=vt.rawValues,Jt=function(bn,Di,Ur){if(!(yt&&yP(It)&&(tn==null?void 0:tn.size)>=It)){var ur=!0,Kr=bn;T==null||T(null);var Mn=qVe(bn,z,yP(It)?It-tn.size:void 0),Cn=Ur?null:Mn;return b!=="combobox"&&Cn&&(Kr="",V==null||V(Cn),et(!1),ur=!1),Z&&mt!==Kr&&Z(Kr,{source:Di?"typing":"effect"}),ur}},qt=function(bn){!bn||!bn.trim()||Z(bn,{source:"submit"})};S.useEffect(function(){!Xe&&!yt&&b!=="combobox"&&Jt("",!1,!1)},[Xe]),S.useEffect(function(){Le&&y&&Ze(!1),y&&!Be.current&&Ye(!1)},[y]);var Nn=Voe(),mn=we(Nn,2),Ot=mn[0],gn=mn[1],Tt=function(bn){var Di=Ot(),Ur=bn.which;if(Ur===Dt.ENTER&&(b!=="combobox"&&bn.preventDefault(),Xe||et(!0)),gn(!!mt),Ur===Dt.BACKSPACE&&!Di&&yt&&!mt&&c.length){for(var ur=Lt(c),Kr=null,Mn=ur.length-1;Mn>=0;Mn-=1){var Cn=ur[Mn];if(!Cn.disabled){ur.splice(Mn,1),Kr=Cn;break}}Kr&&d(ur,{type:"remove",values:[Kr]})}for(var Gi=arguments.length,Co=new Array(Gi>1?Gi-1:0),ds=1;ds1?Di-1:0),ur=1;ur1?Mn-1:0),Gi=1;Gi0&&arguments[0]!==void 0?arguments[0]:!1;c();var f=function(){a.current.forEach(function(b,y){if(b&&b.offsetParent){var C=T_(b),w=C.offsetHeight;l.current.get(y)!==w&&l.current.set(y,C.offsetHeight)}}),s(function(b){return b+1})};m?f():u.current=xi(f)}function h(m,f){var g=n(m),b=a.current.get(g);f?(a.current.set(g,f),d()):a.current.delete(g),!b!=!f&&(f?e==null||e(m):t==null||t(m))}return S.useEffect(function(){return c},[]),[h,d,l.current,o]}var aGe=10;function lGe(n,e,t,i,r,o,s,a){var l=S.useRef(),u=S.useState(null),c=we(u,2),d=c[0],h=c[1];return cr(function(){if(d&&d.times=0;V-=1){var z=r(e[V]),O=t.get(z);if(O===void 0){C=!0;break}if(Z-=O,Z<=0)break}switch(L){case"top":x=D-b;break;case"bottom":x=N-y+b;break;default:{var B=n.current.scrollTop,P=B+y;DP&&(w="bottom")}}x!==null&&s(x),x!==d.lastTop&&(C=!0)}C&&h(xe(xe({},d),{},{times:d.times+1,targetAlign:w,lastTop:x}))}},[d,n.current]),function(m){if(m==null){a();return}if(xi.cancel(l.current),typeof m=="number")s(m);else if(m&&Xn(m)==="object"){var f,g=m.align;"index"in m?f=m.index:f=e.findIndex(function(C){return r(C)===m.key});var b=m.offset,y=b===void 0?0:b;h({times:0,index:f,offset:y,originAlign:g})}}}function uGe(n,e,t){var i=n.length,r=e.length,o,s;if(i===0&&r===0)return null;i"u"?"undefined":Xn(navigator))==="object"&&/Firefox/i.test(navigator.userAgent);const sse=function(n,e){var t=S.useRef(!1),i=S.useRef(null);function r(){clearTimeout(i.current),t.current=!0,i.current=setTimeout(function(){t.current=!1},50)}var o=S.useRef({top:n,bottom:e});return o.current.top=n,o.current.bottom=e,function(s){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,l=s<0&&o.current.top||s>0&&o.current.bottom;return a&&l?(clearTimeout(i.current),t.current=!1):(!l||t.current)&&r(),!t.current&&l}};function dGe(n,e,t,i,r){var o=S.useRef(0),s=S.useRef(null),a=S.useRef(null),l=S.useRef(!1),u=sse(e,t);function c(b,y){xi.cancel(s.current),o.current+=y,a.current=y,!u(y)&&(ose||b.preventDefault(),s.current=xi(function(){var C=l.current?10:1;r(o.current*C),o.current=0}))}function d(b,y){r(y,!0),ose||b.preventDefault()}var h=S.useRef(null),m=S.useRef(null);function f(b){if(n){xi.cancel(m.current),m.current=xi(function(){h.current=null},2);var y=b.deltaX,C=b.deltaY,w=b.shiftKey,x=y,L=C;(h.current==="sx"||!h.current&&w&&C&&!y)&&(x=C,L=0,h.current="sx");var I=Math.abs(x),D=Math.abs(L);h.current===null&&(h.current=i&&I>D?"x":"y"),h.current==="y"?c(b,L):d(b,x)}}function g(b){n&&(l.current=b.detail===a.current)}return[f,g]}var hGe=14/15;function mGe(n,e,t){var i=S.useRef(!1),r=S.useRef(0),o=S.useRef(null),s=S.useRef(null),a,l=function(h){if(i.current){var m=Math.ceil(h.touches[0].pageY),f=r.current-m;r.current=m,t(f)&&h.preventDefault(),clearInterval(s.current),s.current=setInterval(function(){f*=hGe,(!t(f,!0)||Math.abs(f)<=.1)&&clearInterval(s.current)},16)}},u=function(){i.current=!1,a()},c=function(h){a(),h.touches.length===1&&!i.current&&(i.current=!0,r.current=Math.ceil(h.touches[0].pageY),o.current=h.target,o.current.addEventListener("touchmove",l),o.current.addEventListener("touchend",u))};a=function(){o.current&&(o.current.removeEventListener("touchmove",l),o.current.removeEventListener("touchend",u))},cr(function(){return n&&e.current.addEventListener("touchstart",c),function(){var d;(d=e.current)===null||d===void 0||d.removeEventListener("touchstart",c),a(),clearInterval(s.current)}},[n])}var fGe=20;function ase(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,t=n/e*n;return isNaN(t)&&(t=0),t=Math.max(t,fGe),Math.floor(t)}function gGe(n,e,t,i){var r=S.useMemo(function(){return[new Map,[]]},[n,t.id,i]),o=we(r,2),s=o[0],a=o[1],l=function(c){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:c,h=s.get(c),m=s.get(d);if(h===void 0||m===void 0)for(var f=n.length,g=a.length;go||!!g),H=f==="rtl",M=Te(i,ge({},"".concat(i,"-rtl"),H),r),X=c||bGe,Y=S.useRef(),A=S.useRef(),te=S.useState(0),oe=we(te,2),ae=oe[0],le=oe[1],ue=S.useState(0),Ce=we(ue,2),pe=Ce[0],ce=Ce[1],De=S.useState(!1),Me=we(De,2),ke=Me[0],Ue=Me[1],He=function(){Ue(!0)},ct=function(){Ue(!1)},yt={getKey:T};function it(Se){le(function(Ke){var dt;typeof Se=="function"?dt=Se(Ke):dt=Se;var nn=Tn(dt);return Y.current.scrollTop=nn,nn})}var he=S.useRef({start:0,end:X.length}),de=S.useRef(),me=cGe(X,T),j=we(me,1),$=j[0];de.current=$;var q=S.useMemo(function(){if(!O)return{scrollHeight:void 0,start:0,end:X.length-1,offset:void 0};if(!P){var Se;return{scrollHeight:((Se=A.current)===null||Se===void 0?void 0:Se.offsetHeight)||0,start:0,end:X.length-1,offset:void 0}}for(var Ke=0,dt,nn,jn,Zn=X.length,rn=0;rn=ae&&dt===void 0&&(dt=rn,nn=Ke),Hr>ae+o&&jn===void 0&&(jn=rn),Ke=Hr}return dt===void 0&&(dt=0,nn=0,jn=Math.ceil(o/s)),jn===void 0&&(jn=X.length-1),jn=Math.min(jn+1,X.length-1),{scrollHeight:Ke,start:dt,end:jn,offset:nn}},[P,O,ae,X,z,o]),ee=q.scrollHeight,ye=q.start,_e=q.end,Ne=q.offset;he.current.start=ye,he.current.end=_e;var Be=S.useState({width:0,height:o}),$e=we(Be,2),We=$e[0],ht=$e[1],Ye=function(Ke){ht({width:Ke.width||Ke.offsetWidth,height:Ke.height||Ke.offsetHeight})},Ge=S.useRef(),mt=S.useRef(),wt=S.useMemo(function(){return ase(We.width,g)},[We.width,g]),Kt=S.useMemo(function(){return ase(We.height,ee)},[We.height,ee]),Wt=ee-o,Yt=S.useRef(Wt);Yt.current=Wt;function Tn(Se){var Ke=Se;return Number.isNaN(Yt.current)||(Ke=Math.min(Ke,Yt.current)),Ke=Math.max(Ke,0),Ke}var li=ae<=0,Et=ae>=Wt,Mt=sse(li,Et),fe=function(){return{x:H?-pe:pe,y:ae}},Le=S.useRef(fe()),Ze=Qi(function(){if(w){var Se=fe();(Le.current.x!==Se.x||Le.current.y!==Se.y)&&(w(Se),Le.current=Se)}});function Xe(Se,Ke){var dt=Se;Ke?(eh.flushSync(function(){ce(dt)}),Ze()):it(dt)}function ft(Se){var Ke=Se.currentTarget.scrollTop;Ke!==ae&&it(Ke),C==null||C(Se),Ze()}var kt=function(Ke){var dt=Ke,nn=g?g-We.width:0;return dt=Math.max(dt,0),dt=Math.min(dt,nn),dt},et=Qi(function(Se,Ke){Ke?(eh.flushSync(function(){ce(function(dt){var nn=dt+(H?-Se:Se);return kt(nn)})}),Ze()):it(function(dt){var nn=dt+Se;return nn})}),rt=dGe(O,li,Et,!!g,et),vt=we(rt,2),It=vt[0],tn=vt[1];mGe(O,Y,function(Se,Ke){return Mt(Se,Ke)?!1:(It({preventDefault:function(){},deltaY:Se}),!0)}),cr(function(){function Se(dt){O&&dt.preventDefault()}var Ke=Y.current;return Ke.addEventListener("wheel",It),Ke.addEventListener("DOMMouseScroll",tn),Ke.addEventListener("MozMousePixelScroll",Se),function(){Ke.removeEventListener("wheel",It),Ke.removeEventListener("DOMMouseScroll",tn),Ke.removeEventListener("MozMousePixelScroll",Se)}},[O]),cr(function(){g&&ce(function(Se){return kt(Se)})},[We.width,g]);var Jt=function(){var Ke,dt;(Ke=Ge.current)===null||Ke===void 0||Ke.delayHidden(),(dt=mt.current)===null||dt===void 0||dt.delayHidden()},qt=lGe(Y,X,V,s,T,function(){return Z(!0)},it,Jt);S.useImperativeHandle(e,function(){return{getScrollInfo:fe,scrollTo:function(Ke){function dt(nn){return nn&&Xn(nn)==="object"&&("left"in nn||"top"in nn)}dt(Ke)?(Ke.left!==void 0&&ce(kt(Ke.left)),qt(Ke.top)):qt(Ke)}}}),cr(function(){if(x){var Se=X.slice(ye,_e+1);x(Se,X)}},[ye,_e,X]);var Nn=gGe(X,T,V,s),mn=I==null?void 0:I({start:ye,end:_e,virtual:P,offsetX:pe,offsetY:Ne,rtl:H,getSize:Nn}),Ot=rGe(X,ye,_e,g,W,d,yt),gn=null;o&&(gn=xe(ge({},l?"height":"maxHeight",o),yGe),O&&(gn.overflowY="hidden",g&&(gn.overflowX="hidden"),ke&&(gn.pointerEvents="none")));var Tt={};return H&&(Tt.dir="rtl"),S.createElement("div",pt({style:xe(xe({},u),{},{position:"relative"}),className:M},Tt,N),S.createElement(mc,{onResize:Ye},S.createElement(y,{className:"".concat(i,"-holder"),style:gn,ref:Y,onScroll:ft,onMouseEnter:Jt},S.createElement(nse,{prefixCls:i,height:ee,offsetX:pe,offsetY:Ne,scrollWidth:g,onInnerResize:Z,ref:A,innerProps:L,rtl:H,extra:mn},Ot))),P&&ee>o&&S.createElement(rse,{ref:Ge,prefixCls:i,scrollOffset:ae,scrollRange:ee,rtl:H,onScroll:Xe,onStartMove:He,onStopMove:ct,spinSize:Kt,containerSize:We.height,style:D==null?void 0:D.verticalScrollBar,thumbStyle:D==null?void 0:D.verticalScrollBarThumb}),P&&g>We.width&&S.createElement(rse,{ref:mt,prefixCls:i,scrollOffset:pe,scrollRange:g,rtl:H,onScroll:Xe,onStartMove:He,onStopMove:ct,spinSize:wt,containerSize:We.width,horizontal:!0,style:D==null?void 0:D.horizontalScrollBar,thumbStyle:D==null?void 0:D.horizontalScrollBarThumb}))}var lse=S.forwardRef(vGe);lse.displayName="List";function CGe(){return/(mac\sos|macintosh)/i.test(navigator.appVersion)}var SGe=["disabled","title","children","style","className"];function use(n){return typeof n=="string"||typeof n=="number"}var wGe=function(e,t){var i=uVe(),r=i.prefixCls,o=i.id,s=i.open,a=i.multiple,l=i.mode,u=i.searchValue,c=i.toggleOpen,d=i.notFoundContent,h=i.onPopupScroll,m=S.useContext(CP),f=m.maxCount,g=m.flattenOptions,b=m.onActiveValue,y=m.defaultActiveFirstOption,C=m.onSelect,w=m.menuItemSelectedIcon,x=m.rawValues,L=m.fieldNames,I=m.virtual,D=m.direction,N=m.listHeight,T=m.listItemHeight,R=m.optionRender,E="".concat(r,"-item"),W=E_(function(){return g},[s,g],function(pe,ce){return ce[0]&&pe[1]!==ce[1]}),Z=S.useRef(null),V=S.useMemo(function(){return a&&yP(f)&&(x==null?void 0:x.size)>=f},[a,f,x==null?void 0:x.size]),z=function(ce){ce.preventDefault()},O=function(ce){var De;(De=Z.current)===null||De===void 0||De.scrollTo(typeof ce=="number"?{index:ce}:ce)},B=function(ce){for(var De=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,Me=W.length,ke=0;ke1&&arguments[1]!==void 0?arguments[1]:!1;X(ce);var Me={source:De?"keyboard":"mouse"},ke=W[ce];if(!ke){b(null,-1,Me);return}b(ke.value,ce,Me)};S.useEffect(function(){Y(y!==!1?B(0):-1)},[W.length,u]);var A=S.useCallback(function(pe){return x.has(pe)&&l!=="combobox"},[l,Lt(x).toString(),x.size]);S.useEffect(function(){var pe=setTimeout(function(){if(!a&&s&&x.size===1){var De=Array.from(x)[0],Me=W.findIndex(function(ke){var Ue=ke.data;return Ue.value===De});Me!==-1&&(Y(Me),O(Me))}});if(s){var ce;(ce=Z.current)===null||ce===void 0||ce.scrollTo(void 0)}return function(){return clearTimeout(pe)}},[s,u]);var te=function(ce){ce!==void 0&&C(ce,{selected:!x.has(ce)}),a||c(!1)};if(S.useImperativeHandle(t,function(){return{onKeyDown:function(ce){var De=ce.which,Me=ce.ctrlKey;switch(De){case Dt.N:case Dt.P:case Dt.UP:case Dt.DOWN:{var ke=0;if(De===Dt.UP?ke=-1:De===Dt.DOWN?ke=1:CGe()&&Me&&(De===Dt.N?ke=1:De===Dt.P&&(ke=-1)),ke!==0){var Ue=B(M+ke,ke);O(Ue),Y(Ue,!0)}break}case Dt.ENTER:{var He,ct=W[M];ct&&!(ct!=null&&(He=ct.data)!==null&&He!==void 0&&He.disabled)&&!V?te(ct.value):te(void 0),s&&ce.preventDefault();break}case Dt.ESC:c(!1),s&&ce.stopPropagation()}},onKeyUp:function(){},scrollTo:function(ce){O(ce)}}}),W.length===0)return S.createElement("div",{role:"listbox",id:"".concat(o,"_list"),className:"".concat(E,"-empty"),onMouseDown:z},d);var oe=Object.keys(L).map(function(pe){return L[pe]}),ae=function(ce){return ce.label};function le(pe,ce){var De=pe.group;return{role:De?"presentation":"option",id:"".concat(o,"_list_").concat(ce)}}var ue=function(ce){var De=W[ce];if(!De)return null;var Me=De.data||{},ke=Me.value,Ue=De.group,He=Iu(Me,!0),ct=ae(De);return De?S.createElement("div",pt({"aria-label":typeof ct=="string"&&!Ue?ct:null},He,{key:ce},le(De,ce),{"aria-selected":A(ke)}),ke):null},Ce={role:"listbox",id:"".concat(o,"_list")};return S.createElement(S.Fragment,null,I&&S.createElement("div",pt({},Ce,{style:{height:0,width:0,overflow:"hidden"}}),ue(M-1),ue(M),ue(M+1)),S.createElement(lse,{itemKey:"key",ref:Z,data:W,height:N,itemHeight:T,fullHeight:!1,onMouseDown:z,onScroll:h,virtual:I,direction:D,innerProps:I?null:Ce},function(pe,ce){var De=pe.group,Me=pe.groupOption,ke=pe.data,Ue=pe.label,He=pe.value,ct=ke.key;if(De){var yt,it=(yt=ke.title)!==null&&yt!==void 0?yt:use(Ue)?Ue.toString():void 0;return S.createElement("div",{className:Te(E,"".concat(E,"-group"),ke.className),title:it},Ue!==void 0?Ue:ct)}var he=ke.disabled,de=ke.title;ke.children;var me=ke.style,j=ke.className,$=zn(ke,SGe),q=la($,oe),ee=A(He),ye=he||!ee&&V,_e="".concat(E,"-option"),Ne=Te(E,_e,j,ge(ge(ge(ge({},"".concat(_e,"-grouped"),Me),"".concat(_e,"-active"),M===ce&&!ye),"".concat(_e,"-disabled"),ye),"".concat(_e,"-selected"),ee)),Be=ae(pe),$e=!w||typeof w=="function"||ee,We=typeof Be=="number"?Be:Be||He,ht=use(We)?We.toString():void 0;return de!==void 0&&(ht=de),S.createElement("div",pt({},Iu(q),I?{}:le(pe,ce),{"aria-selected":ee,className:Ne,title:ht,onMouseMove:function(){M===ce||ye||Y(ce)},onClick:function(){ye||te(He)},style:me}),S.createElement("div",{className:"".concat(_e,"-content")},typeof R=="function"?R(pe,{index:ce}):We),S.isValidElement(w)||ee,$e&&S.createElement(BT,{className:"".concat(E,"-option-state"),customizeIcon:w,customizeIconProps:{value:He,disabled:ye,isSelected:ee}},ee?"✓":null))}))},xGe=S.forwardRef(wGe);const _Ge=function(n,e){var t=S.useRef({values:new Map,options:new Map}),i=S.useMemo(function(){var o=t.current,s=o.values,a=o.options,l=n.map(function(d){if(d.label===void 0){var h;return xe(xe({},d),{},{label:(h=s.get(d.value))===null||h===void 0?void 0:h.label})}return d}),u=new Map,c=new Map;return l.forEach(function(d){u.set(d.value,d),c.set(d.value,e.get(d.value)||a.get(d.value))}),t.current.values=u,t.current.options=c,l},[n,e]),r=S.useCallback(function(o){return e.get(o)||t.current.options.get(o)},[e]);return[i,r]};function _P(n,e){return Boe(n).join("").toUpperCase().includes(e)}const LGe=function(n,e,t,i,r){return S.useMemo(function(){if(!t||i===!1)return n;var o=e.options,s=e.label,a=e.value,l=[],u=typeof i=="function",c=t.toUpperCase(),d=u?i:function(m,f){return r?_P(f[r],c):f[o]?_P(f[s!=="children"?s:"label"],c):_P(f[a],c)},h=u?function(m){return vP(m)}:function(m){return m};return n.forEach(function(m){if(m[o]){var f=d(t,h(m));if(f)l.push(m);else{var g=m[o].filter(function(b){return d(t,h(b))});g.length&&l.push(xe(xe({},m),{},ge({},o,g)))}return}d(t,h(m))&&l.push(m)}),l},[n,i,r,t,e])};var cse=0,IGe=Sl();function FGe(){var n;return IGe?(n=cse,cse+=1):n="TEST_OR_SSR",n}function DGe(n){var e=S.useState(),t=we(e,2),i=t[0],r=t[1];return S.useEffect(function(){r("rc_select_".concat(FGe()))},[]),n||i}var NGe=["children","value"],MGe=["children"];function kGe(n){var e=n,t=e.key,i=e.props,r=i.children,o=i.value,s=zn(i,NGe);return xe({key:t,value:o!==void 0?o:t,children:r},s)}function dse(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return sd(n).map(function(t,i){if(!S.isValidElement(t)||!t.type)return null;var r=t,o=r.type.isSelectOptGroup,s=r.key,a=r.props,l=a.children,u=zn(a,MGe);return e||!o?kGe(t):xe(xe({key:"__RC_SELECT_GRP__".concat(s===null?i:s,"__"),label:s},u),{},{options:dse(l)})}).filter(function(t){return t})}var TGe=function(e,t,i,r,o){return S.useMemo(function(){var s=e,a=!e;a&&(s=dse(t));var l=new Map,u=new Map,c=function(m,f,g){g&&typeof g=="string"&&m.set(f[g],f)},d=function h(m){for(var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,g=0;g2&&arguments[2]!==void 0?arguments[2]:{},It=vt.source,tn=It===void 0?"keyboard":It;li(rt),s&&i==="combobox"&&et!==null&&tn==="keyboard"&&Kt(String(et))},[s,i]),fe=function(rt,vt,It){var tn=function(){var dt,nn=q(rt);return[H?{label:nn==null?void 0:nn[le.label],value:rt,key:(dt=nn==null?void 0:nn.key)!==null&&dt!==void 0?dt:rt}:rt,vP(nn)]};if(vt&&m){var Jt=tn(),qt=we(Jt,2),Nn=qt[0],mn=qt[1];m(Nn,mn)}else if(!vt&&f&&It!=="clear"){var Ot=tn(),gn=we(Ot,2),Tt=gn[0],Se=gn[1];f(Tt,Se)}},Le=hse(function(et,rt){var vt,It=te?rt.selected:!0;It?vt=te?[].concat(Lt($),[et]):[et]:vt=$.filter(function(tn){return tn.value!==et}),Ye(vt),fe(et,It),i==="combobox"?Kt(""):(!SP||h)&&(ce(""),Kt(""))}),Ze=function(rt,vt){Ye(rt);var It=vt.type,tn=vt.values;(It==="remove"||It==="clear")&&tn.forEach(function(Jt){fe(Jt.value,!1,It)})},Xe=function(rt,vt){if(ce(rt),Kt(null),vt.source==="submit"){var It=(rt||"").trim();if(It){var tn=Array.from(new Set([].concat(Lt(ye),[It])));Ye(tn),fe(It,!0),ce("")}return}vt.source!=="blur"&&(i==="combobox"&&Ye(rt),c==null||c(rt))},ft=function(rt){var vt=rt;i!=="tags"&&(vt=rt.map(function(tn){var Jt=ke.get(tn);return Jt==null?void 0:Jt.value}).filter(function(tn){return tn!==void 0}));var It=Array.from(new Set([].concat(Lt(ye),Lt(vt))));Ye(It),It.forEach(function(tn){fe(tn,!0)})},kt=S.useMemo(function(){var et=R!==!1&&b!==!1;return xe(xe({},De),{},{flattenOptions:ht,onActiveValue:Mt,defaultActiveFirstOption:Et,onSelect:Le,menuItemSelectedIcon:T,rawValues:ye,fieldNames:le,virtual:et,direction:E,listHeight:Z,listItemHeight:z,childrenAsData:oe,maxCount:X,optionRender:I})},[X,De,ht,Mt,Et,Le,T,ye,le,R,b,E,Z,z,oe,I]);return S.createElement(CP.Provider,{value:kt},S.createElement(nGe,pt({},Y,{id:A,prefixCls:o,ref:e,omitDomProps:RGe,mode:i,displayValues:ee,onDisplayValuesChange:Ze,direction:E,searchValue:pe,onSearch:Xe,autoClearSearchValue:h,onSearchSplit:ft,dropdownMatchSelectWidth:b,OptionList:xGe,emptyOptions:!ht.length,activeValue:wt,activeDescendantId:"".concat(A,"_list_").concat(Tn)})))}),LP=WGe;LP.Option=xP,LP.OptGroup=wP;function mb(n,e,t){return Te({[`${n}-status-success`]:e==="success",[`${n}-status-warning`]:e==="warning",[`${n}-status-error`]:e==="error",[`${n}-status-validating`]:e==="validating",[`${n}-has-feedback`]:t})}const ly=(n,e)=>e||n,AGe=()=>{const[,n]=Pa(),t=new zo(n.colorBgBase).toHsl().l<.5?{opacity:.65}:{};return S.createElement("svg",{style:t,width:"184",height:"152",viewBox:"0 0 184 152",xmlns:"http://www.w3.org/2000/svg"},S.createElement("g",{fill:"none",fillRule:"evenodd"},S.createElement("g",{transform:"translate(24 31.67)"},S.createElement("ellipse",{fillOpacity:".8",fill:"#F5F5F7",cx:"67.797",cy:"106.89",rx:"67.797",ry:"12.668"}),S.createElement("path",{d:"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z",fill:"#AEB8C2"}),S.createElement("path",{d:"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z",fill:"url(#linearGradient-1)",transform:"translate(13.56)"}),S.createElement("path",{d:"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z",fill:"#F5F5F7"}),S.createElement("path",{d:"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z",fill:"#DCE0E6"})),S.createElement("path",{d:"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z",fill:"#DCE0E6"}),S.createElement("g",{transform:"translate(149.65 15.383)",fill:"#FFF"},S.createElement("ellipse",{cx:"20.654",cy:"3.167",rx:"2.849",ry:"2.815"}),S.createElement("path",{d:"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z"}))))},VGe=()=>{const[,n]=Pa(),{colorFill:e,colorFillTertiary:t,colorFillQuaternary:i,colorBgContainer:r}=n,{borderColor:o,shadowColor:s,contentColor:a}=S.useMemo(()=>({borderColor:new zo(e).onBackground(r).toHexShortString(),shadowColor:new zo(t).onBackground(r).toHexShortString(),contentColor:new zo(i).onBackground(r).toHexShortString()}),[e,t,i,r]);return S.createElement("svg",{width:"64",height:"41",viewBox:"0 0 64 41",xmlns:"http://www.w3.org/2000/svg"},S.createElement("g",{transform:"translate(0 1)",fill:"none",fillRule:"evenodd"},S.createElement("ellipse",{fill:s,cx:"32",cy:"33",rx:"32",ry:"7"}),S.createElement("g",{fillRule:"nonzero",stroke:o},S.createElement("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),S.createElement("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:a}))))},GGe=n=>{const{componentCls:e,margin:t,marginXS:i,marginXL:r,fontSize:o,lineHeight:s}=n;return{[e]:{marginInline:i,fontSize:o,lineHeight:s,textAlign:"center",[`${e}-image`]:{height:n.emptyImgHeight,marginBottom:i,opacity:n.opacityImage,img:{height:"100%"},svg:{maxWidth:"100%",height:"100%",margin:"auto"}},[`${e}-description`]:{color:n.colorText},[`${e}-footer`]:{marginTop:t},"&-normal":{marginBlock:r,color:n.colorTextDescription,[`${e}-description`]:{color:n.colorTextDescription},[`${e}-image`]:{height:n.emptyImgHeightMD}},"&-small":{marginBlock:i,color:n.colorTextDescription,[`${e}-image`]:{height:n.emptyImgHeightSM}}}}},XGe=Ho("Empty",n=>{const{componentCls:e,controlHeightLG:t,calc:i}=n,r=Yi(n,{emptyImgCls:`${e}-img`,emptyImgHeight:i(t).mul(2.5).equal(),emptyImgHeightMD:t,emptyImgHeightSM:i(t).mul(.875).equal()});return[GGe(r)]});var PGe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{var{className:e,rootClassName:t,prefixCls:i,image:r=mse,description:o,children:s,imageStyle:a,style:l}=n,u=PGe(n,["className","rootClassName","prefixCls","image","description","children","imageStyle","style"]);const{getPrefixCls:c,direction:d,empty:h}=S.useContext(Wn),m=c("empty",i),[f,g,b]=XGe(m),[y]=rb("Empty"),C=typeof o<"u"?o:y==null?void 0:y.description,w=typeof C=="string"?C:"empty";let x=null;return typeof r=="string"?x=S.createElement("img",{alt:w,src:r}):x=r,f(S.createElement("div",Object.assign({className:Te(g,b,m,h==null?void 0:h.className,{[`${m}-normal`]:r===fse,[`${m}-rtl`]:d==="rtl"},e,t),style:Object.assign(Object.assign({},h==null?void 0:h.style),l)},u),S.createElement("div",{className:`${m}-image`,style:a},x),C&&S.createElement("div",{className:`${m}-description`},C),s&&S.createElement("div",{className:`${m}-footer`},s)))};IP.PRESENTED_IMAGE_DEFAULT=mse,IP.PRESENTED_IMAGE_SIMPLE=fse;const mL=IP,OGe=n=>{const{componentName:e}=n,{getPrefixCls:t}=S.useContext(Wn),i=t("empty");switch(e){case"Table":case"List":return ze.createElement(mL,{image:mL.PRESENTED_IMAGE_SIMPLE});case"Select":case"TreeSelect":case"Cascader":case"Transfer":case"Mentions":return ze.createElement(mL,{image:mL.PRESENTED_IMAGE_SIMPLE,className:`${i}-small`});default:return ze.createElement(mL,null)}},BGe=["outlined","borderless","filled"],dS=function(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;const t=S.useContext(roe);let i;typeof n<"u"?i=n:e===!1?i="borderless":i=t??"outlined";const r=BGe.includes(i);return[i,r]},zGe=n=>{const t={overflow:{adjustX:!0,adjustY:!0,shiftY:!0},htmlRegion:n==="scroll"?"scroll":"visible",dynamicInset:!0};return{bottomLeft:Object.assign(Object.assign({},t),{points:["tl","bl"],offset:[0,4]}),bottomRight:Object.assign(Object.assign({},t),{points:["tr","br"],offset:[0,4]}),topLeft:Object.assign(Object.assign({},t),{points:["bl","tl"],offset:[0,-4]}),topRight:Object.assign(Object.assign({},t),{points:["br","tr"],offset:[0,-4]})}};function HGe(n,e){return n||zGe(e)}const gse=n=>{const{optionHeight:e,optionFontSize:t,optionLineHeight:i,optionPadding:r}=n;return{position:"relative",display:"block",minHeight:e,padding:r,color:n.colorText,fontWeight:"normal",fontSize:t,lineHeight:i,boxSizing:"border-box"}},YGe=n=>{const{antCls:e,componentCls:t}=n,i=`${t}-item`,r=`&${e}-slide-up-enter${e}-slide-up-enter-active`,o=`&${e}-slide-up-appear${e}-slide-up-appear-active`,s=`&${e}-slide-up-leave${e}-slide-up-leave-active`,a=`${t}-dropdown-placement-`;return[{[`${t}-dropdown`]:Object.assign(Object.assign({},uo(n)),{position:"absolute",top:-9999,zIndex:n.zIndexPopup,boxSizing:"border-box",padding:n.paddingXXS,overflow:"hidden",fontSize:n.fontSize,fontVariant:"initial",backgroundColor:n.colorBgElevated,borderRadius:n.borderRadiusLG,outline:"none",boxShadow:n.boxShadowSecondary,[` ${r}${a}bottomLeft, ${o}${a}bottomLeft - `]:{animationName:VT},[` + `]:{animationName:AT},[` ${r}${a}topLeft, ${o}${a}topLeft, ${r}${a}topRight, ${o}${a}topRight - `]:{animationName:GT},[`${s}${a}bottomLeft`]:{animationName:AT},[` + `]:{animationName:GT},[`${s}${a}bottomLeft`]:{animationName:VT},[` ${s}${a}topLeft, ${s}${a}topRight - `]:{animationName:XT},"&-hidden":{display:"none"},[`${i}`]:Object.assign(Object.assign({},gse(n)),{cursor:"pointer",transition:`background ${n.motionDurationSlow} ease`,borderRadius:n.borderRadiusSM,"&-group":{color:n.colorTextDescription,fontSize:n.fontSizeSM,cursor:"default"},"&-option":{display:"flex","&-content":Object.assign({flex:"auto"},ab),"&-state":{flex:"none",display:"flex",alignItems:"center"},[`&-active:not(${i}-option-disabled)`]:{backgroundColor:n.optionActiveBg},[`&-selected:not(${i}-option-disabled)`]:{color:n.optionSelectedColor,fontWeight:n.optionSelectedFontWeight,backgroundColor:n.optionSelectedBg,[`${i}-option-state`]:{color:n.colorPrimary},[`&:has(+ ${i}-option-selected:not(${i}-option-disabled))`]:{borderEndStartRadius:0,borderEndEndRadius:0,[`& + ${i}-option-selected:not(${i}-option-disabled)`]:{borderStartStartRadius:0,borderStartEndRadius:0}}},"&-disabled":{[`&${i}-option-selected`]:{backgroundColor:n.colorBgContainerDisabled},color:n.colorTextDisabled,cursor:"not-allowed"},"&-grouped":{paddingInlineStart:n.calc(n.controlPaddingHorizontal).mul(2).equal()}},"&-empty":Object.assign(Object.assign({},gse(n)),{color:n.colorTextDisabled})}),"&-rtl":{direction:"rtl"}})},wm(n,"slide-up"),wm(n,"slide-down"),lw(n,"move-up"),lw(n,"move-down")]},pse=n=>{const{multipleSelectItemHeight:e,paddingXXS:t,lineWidth:i,INTERNAL_FIXED_ITEM_MARGIN:r}=n,o=n.max(n.calc(t).sub(i).equal(),0),s=n.max(n.calc(o).sub(r).equal(),0);return{basePadding:o,containerPadding:s,itemHeight:Ee(e),itemLineHeight:Ee(n.calc(e).sub(n.calc(n.lineWidth).mul(2)).equal())}},UGe=n=>{const{multipleSelectItemHeight:e,selectHeight:t,lineWidth:i}=n;return n.calc(t).sub(e).div(2).sub(i).equal()},bse=n=>{const{componentCls:e,iconCls:t,borderRadiusSM:i,motionDurationSlow:r,paddingXS:o,multipleItemColorDisabled:s,multipleItemBorderColorDisabled:a,colorIcon:l,colorIconHover:u,INTERNAL_FIXED_ITEM_MARGIN:c}=n;return{[`${e}-selection-overflow`]:{position:"relative",display:"flex",flex:"auto",flexWrap:"wrap",maxWidth:"100%","&-item":{flex:"none",alignSelf:"center",maxWidth:"100%",display:"inline-flex"},[`${e}-selection-item`]:{display:"flex",alignSelf:"center",flex:"none",boxSizing:"border-box",maxWidth:"100%",marginBlock:c,borderRadius:i,cursor:"default",transition:`font-size ${r}, line-height ${r}, height ${r}`,marginInlineEnd:n.calc(c).mul(2).equal(),paddingInlineStart:o,paddingInlineEnd:n.calc(o).div(2).equal(),[`${e}-disabled&`]:{color:s,borderColor:a,cursor:"not-allowed"},"&-content":{display:"inline-block",marginInlineEnd:n.calc(o).div(2).equal(),overflow:"hidden",whiteSpace:"pre",textOverflow:"ellipsis"},"&-remove":Object.assign(Object.assign({},HL()),{display:"inline-flex",alignItems:"center",color:l,fontWeight:"bold",fontSize:10,lineHeight:"inherit",cursor:"pointer",[`> ${t}`]:{verticalAlign:"-0.2em"},"&:hover":{color:u}})}}}},KGe=(n,e)=>{const{componentCls:t,INTERNAL_FIXED_ITEM_MARGIN:i}=n,r=`${t}-selection-overflow`,o=n.multipleSelectItemHeight,s=UGe(n),a=e?`${t}-${e}`:"",l=pse(n);return{[`${t}-multiple${a}`]:Object.assign(Object.assign({},bse(n)),{[`${t}-selector`]:{display:"flex",flexWrap:"wrap",alignItems:"center",height:"100%",paddingInline:l.basePadding,paddingBlock:l.containerPadding,borderRadius:n.borderRadius,[`${t}-disabled&`]:{background:n.multipleSelectorBgDisabled,cursor:"not-allowed"},"&:after":{display:"inline-block",width:0,margin:`${Ee(i)} 0`,lineHeight:Ee(o),visibility:"hidden",content:'"\\a0"'}},[`${t}-selection-item`]:{height:l.itemHeight,lineHeight:Ee(l.itemLineHeight)},[`${r}-item + ${r}-item`]:{[`${t}-selection-search`]:{marginInlineStart:0}},[`${r}-item-suffix`]:{height:"100%"},[`${t}-selection-search`]:{display:"inline-flex",position:"relative",maxWidth:"100%",marginInlineStart:n.calc(n.inputPaddingHorizontalBase).sub(s).equal(),"\n &-input,\n &-mirror\n ":{height:o,fontFamily:n.fontFamily,lineHeight:Ee(o),transition:`all ${n.motionDurationSlow}`},"&-input":{width:"100%",minWidth:4.1},"&-mirror":{position:"absolute",top:0,insetInlineStart:0,insetInlineEnd:"auto",zIndex:999,whiteSpace:"pre",visibility:"hidden"}},[`${t}-selection-placeholder`]:{position:"absolute",top:"50%",insetInlineStart:n.inputPaddingHorizontalBase,insetInlineEnd:n.inputPaddingHorizontalBase,transform:"translateY(-50%)",transition:`all ${n.motionDurationSlow}`}})}};function IP(n,e){const{componentCls:t}=n,i=e?`${t}-${e}`:"",r={[`${t}-multiple${i}`]:{fontSize:n.fontSize,[`${t}-selector`]:{[`${t}-show-search&`]:{cursor:"text"}},[` + `]:{animationName:XT},"&-hidden":{display:"none"},[`${i}`]:Object.assign(Object.assign({},gse(n)),{cursor:"pointer",transition:`background ${n.motionDurationSlow} ease`,borderRadius:n.borderRadiusSM,"&-group":{color:n.colorTextDescription,fontSize:n.fontSizeSM,cursor:"default"},"&-option":{display:"flex","&-content":Object.assign({flex:"auto"},ab),"&-state":{flex:"none",display:"flex",alignItems:"center"},[`&-active:not(${i}-option-disabled)`]:{backgroundColor:n.optionActiveBg},[`&-selected:not(${i}-option-disabled)`]:{color:n.optionSelectedColor,fontWeight:n.optionSelectedFontWeight,backgroundColor:n.optionSelectedBg,[`${i}-option-state`]:{color:n.colorPrimary},[`&:has(+ ${i}-option-selected:not(${i}-option-disabled))`]:{borderEndStartRadius:0,borderEndEndRadius:0,[`& + ${i}-option-selected:not(${i}-option-disabled)`]:{borderStartStartRadius:0,borderStartEndRadius:0}}},"&-disabled":{[`&${i}-option-selected`]:{backgroundColor:n.colorBgContainerDisabled},color:n.colorTextDisabled,cursor:"not-allowed"},"&-grouped":{paddingInlineStart:n.calc(n.controlPaddingHorizontal).mul(2).equal()}},"&-empty":Object.assign(Object.assign({},gse(n)),{color:n.colorTextDisabled})}),"&-rtl":{direction:"rtl"}})},Sm(n,"slide-up"),Sm(n,"slide-down"),lS(n,"move-up"),lS(n,"move-down")]},pse=n=>{const{multipleSelectItemHeight:e,paddingXXS:t,lineWidth:i,INTERNAL_FIXED_ITEM_MARGIN:r}=n,o=n.max(n.calc(t).sub(i).equal(),0),s=n.max(n.calc(o).sub(r).equal(),0);return{basePadding:o,containerPadding:s,itemHeight:Ee(e),itemLineHeight:Ee(n.calc(e).sub(n.calc(n.lineWidth).mul(2)).equal())}},UGe=n=>{const{multipleSelectItemHeight:e,selectHeight:t,lineWidth:i}=n;return n.calc(t).sub(e).div(2).sub(i).equal()},bse=n=>{const{componentCls:e,iconCls:t,borderRadiusSM:i,motionDurationSlow:r,paddingXS:o,multipleItemColorDisabled:s,multipleItemBorderColorDisabled:a,colorIcon:l,colorIconHover:u,INTERNAL_FIXED_ITEM_MARGIN:c}=n;return{[`${e}-selection-overflow`]:{position:"relative",display:"flex",flex:"auto",flexWrap:"wrap",maxWidth:"100%","&-item":{flex:"none",alignSelf:"center",maxWidth:"100%",display:"inline-flex"},[`${e}-selection-item`]:{display:"flex",alignSelf:"center",flex:"none",boxSizing:"border-box",maxWidth:"100%",marginBlock:c,borderRadius:i,cursor:"default",transition:`font-size ${r}, line-height ${r}, height ${r}`,marginInlineEnd:n.calc(c).mul(2).equal(),paddingInlineStart:o,paddingInlineEnd:n.calc(o).div(2).equal(),[`${e}-disabled&`]:{color:s,borderColor:a,cursor:"not-allowed"},"&-content":{display:"inline-block",marginInlineEnd:n.calc(o).div(2).equal(),overflow:"hidden",whiteSpace:"pre",textOverflow:"ellipsis"},"&-remove":Object.assign(Object.assign({},H_()),{display:"inline-flex",alignItems:"center",color:l,fontWeight:"bold",fontSize:10,lineHeight:"inherit",cursor:"pointer",[`> ${t}`]:{verticalAlign:"-0.2em"},"&:hover":{color:u}})}}}},KGe=(n,e)=>{const{componentCls:t,INTERNAL_FIXED_ITEM_MARGIN:i}=n,r=`${t}-selection-overflow`,o=n.multipleSelectItemHeight,s=UGe(n),a=e?`${t}-${e}`:"",l=pse(n);return{[`${t}-multiple${a}`]:Object.assign(Object.assign({},bse(n)),{[`${t}-selector`]:{display:"flex",flexWrap:"wrap",alignItems:"center",height:"100%",paddingInline:l.basePadding,paddingBlock:l.containerPadding,borderRadius:n.borderRadius,[`${t}-disabled&`]:{background:n.multipleSelectorBgDisabled,cursor:"not-allowed"},"&:after":{display:"inline-block",width:0,margin:`${Ee(i)} 0`,lineHeight:Ee(o),visibility:"hidden",content:'"\\a0"'}},[`${t}-selection-item`]:{height:l.itemHeight,lineHeight:Ee(l.itemLineHeight)},[`${r}-item + ${r}-item`]:{[`${t}-selection-search`]:{marginInlineStart:0}},[`${r}-item-suffix`]:{height:"100%"},[`${t}-selection-search`]:{display:"inline-flex",position:"relative",maxWidth:"100%",marginInlineStart:n.calc(n.inputPaddingHorizontalBase).sub(s).equal(),"\n &-input,\n &-mirror\n ":{height:o,fontFamily:n.fontFamily,lineHeight:Ee(o),transition:`all ${n.motionDurationSlow}`},"&-input":{width:"100%",minWidth:4.1},"&-mirror":{position:"absolute",top:0,insetInlineStart:0,insetInlineEnd:"auto",zIndex:999,whiteSpace:"pre",visibility:"hidden"}},[`${t}-selection-placeholder`]:{position:"absolute",top:"50%",insetInlineStart:n.inputPaddingHorizontalBase,insetInlineEnd:n.inputPaddingHorizontalBase,transform:"translateY(-50%)",transition:`all ${n.motionDurationSlow}`}})}};function FP(n,e){const{componentCls:t}=n,i=e?`${t}-${e}`:"",r={[`${t}-multiple${i}`]:{fontSize:n.fontSize,[`${t}-selector`]:{[`${t}-show-search&`]:{cursor:"text"}},[` &${t}-show-arrow ${t}-selector, &${t}-allow-clear ${t}-selector - `]:{paddingInlineEnd:n.calc(n.fontSizeIcon).add(n.controlPaddingHorizontal).equal()}}};return[KGe(n,e),r]}const JGe=n=>{const{componentCls:e}=n,t=Ui(n,{selectHeight:n.controlHeightSM,multipleSelectItemHeight:n.multipleItemHeightSM,borderRadius:n.borderRadiusSM,borderRadiusSM:n.borderRadiusXS}),i=Ui(n,{fontSize:n.fontSizeLG,selectHeight:n.controlHeightLG,multipleSelectItemHeight:n.multipleItemHeightLG,borderRadius:n.borderRadiusLG,borderRadiusSM:n.borderRadius});return[IP(n),IP(t,"sm"),{[`${e}-multiple${e}-sm`]:{[`${e}-selection-placeholder`]:{insetInline:n.calc(n.controlPaddingHorizontalSM).sub(n.lineWidth).equal()},[`${e}-selection-search`]:{marginInlineStart:2}}},IP(i,"lg")]};function DP(n,e){const{componentCls:t,inputPaddingHorizontalBase:i,borderRadius:r}=n,o=n.calc(n.controlHeight).sub(n.calc(n.lineWidth).mul(2)).equal(),s=e?`${t}-${e}`:"";return{[`${t}-single${s}`]:{fontSize:n.fontSize,height:n.controlHeight,[`${t}-selector`]:Object.assign(Object.assign({},uo(n,!0)),{display:"flex",borderRadius:r,[`${t}-selection-search`]:{position:"absolute",top:0,insetInlineStart:i,insetInlineEnd:i,bottom:0,"&-input":{width:"100%",WebkitAppearance:"textfield"}},[` + `]:{paddingInlineEnd:n.calc(n.fontSizeIcon).add(n.controlPaddingHorizontal).equal()}}};return[KGe(n,e),r]}const JGe=n=>{const{componentCls:e}=n,t=Yi(n,{selectHeight:n.controlHeightSM,multipleSelectItemHeight:n.multipleItemHeightSM,borderRadius:n.borderRadiusSM,borderRadiusSM:n.borderRadiusXS}),i=Yi(n,{fontSize:n.fontSizeLG,selectHeight:n.controlHeightLG,multipleSelectItemHeight:n.multipleItemHeightLG,borderRadius:n.borderRadiusLG,borderRadiusSM:n.borderRadius});return[FP(n),FP(t,"sm"),{[`${e}-multiple${e}-sm`]:{[`${e}-selection-placeholder`]:{insetInline:n.calc(n.controlPaddingHorizontalSM).sub(n.lineWidth).equal()},[`${e}-selection-search`]:{marginInlineStart:2}}},FP(i,"lg")]};function DP(n,e){const{componentCls:t,inputPaddingHorizontalBase:i,borderRadius:r}=n,o=n.calc(n.controlHeight).sub(n.calc(n.lineWidth).mul(2)).equal(),s=e?`${t}-${e}`:"";return{[`${t}-single${s}`]:{fontSize:n.fontSize,height:n.controlHeight,[`${t}-selector`]:Object.assign(Object.assign({},uo(n,!0)),{display:"flex",borderRadius:r,[`${t}-selection-search`]:{position:"absolute",top:0,insetInlineStart:i,insetInlineEnd:i,bottom:0,"&-input":{width:"100%",WebkitAppearance:"textfield"}},[` ${t}-selection-item, ${t}-selection-placeholder `]:{padding:0,lineHeight:Ee(o),transition:`all ${n.motionDurationSlow}, visibility 0s`,alignSelf:"center"},[`${t}-selection-placeholder`]:{transition:"none",pointerEvents:"none"},[["&:after",`${t}-selection-item:empty:after`,`${t}-selection-placeholder:empty:after`].join(",")]:{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'}}),[` &${t}-show-arrow ${t}-selection-item, &${t}-show-arrow ${t}-selection-placeholder - `]:{paddingInlineEnd:n.showArrowPaddingInlineEnd},[`&${t}-open ${t}-selection-item`]:{color:n.colorTextPlaceholder},[`&:not(${t}-customize-input)`]:{[`${t}-selector`]:{width:"100%",height:"100%",padding:`0 ${Ee(i)}`,[`${t}-selection-search-input`]:{height:o},"&:after":{lineHeight:Ee(o)}}},[`&${t}-customize-input`]:{[`${t}-selector`]:{"&:after":{display:"none"},[`${t}-selection-search`]:{position:"static",width:"100%"},[`${t}-selection-placeholder`]:{position:"absolute",insetInlineStart:0,insetInlineEnd:0,padding:`0 ${Ee(i)}`,"&:after":{display:"none"}}}}}}}function jGe(n){const{componentCls:e}=n,t=n.calc(n.controlPaddingHorizontalSM).sub(n.lineWidth).equal();return[DP(n),DP(Ui(n,{controlHeight:n.controlHeightSM,borderRadius:n.borderRadiusSM}),"sm"),{[`${e}-single${e}-sm`]:{[`&:not(${e}-customize-input)`]:{[`${e}-selection-search`]:{insetInlineStart:t,insetInlineEnd:t},[`${e}-selector`]:{padding:`0 ${Ee(t)}`},[`&${e}-show-arrow ${e}-selection-search`]:{insetInlineEnd:n.calc(t).add(n.calc(n.fontSize).mul(1.5)).equal()},[` + `]:{paddingInlineEnd:n.showArrowPaddingInlineEnd},[`&${t}-open ${t}-selection-item`]:{color:n.colorTextPlaceholder},[`&:not(${t}-customize-input)`]:{[`${t}-selector`]:{width:"100%",height:"100%",padding:`0 ${Ee(i)}`,[`${t}-selection-search-input`]:{height:o},"&:after":{lineHeight:Ee(o)}}},[`&${t}-customize-input`]:{[`${t}-selector`]:{"&:after":{display:"none"},[`${t}-selection-search`]:{position:"static",width:"100%"},[`${t}-selection-placeholder`]:{position:"absolute",insetInlineStart:0,insetInlineEnd:0,padding:`0 ${Ee(i)}`,"&:after":{display:"none"}}}}}}}function jGe(n){const{componentCls:e}=n,t=n.calc(n.controlPaddingHorizontalSM).sub(n.lineWidth).equal();return[DP(n),DP(Yi(n,{controlHeight:n.controlHeightSM,borderRadius:n.borderRadiusSM}),"sm"),{[`${e}-single${e}-sm`]:{[`&:not(${e}-customize-input)`]:{[`${e}-selection-search`]:{insetInlineStart:t,insetInlineEnd:t},[`${e}-selector`]:{padding:`0 ${Ee(t)}`},[`&${e}-show-arrow ${e}-selection-search`]:{insetInlineEnd:n.calc(t).add(n.calc(n.fontSize).mul(1.5)).equal()},[` &${e}-show-arrow ${e}-selection-item, &${e}-show-arrow ${e}-selection-placeholder - `]:{paddingInlineEnd:n.calc(n.fontSize).mul(1.5).equal()}}}},DP(Ui(n,{controlHeight:n.singleItemHeightLG,fontSize:n.fontSizeLG,borderRadius:n.borderRadiusLG}),"lg")]}const QGe=n=>{const{fontSize:e,lineHeight:t,lineWidth:i,controlHeight:r,controlHeightSM:o,controlHeightLG:s,paddingXXS:a,controlPaddingHorizontal:l,zIndexPopupBase:u,colorText:c,fontWeightStrong:d,controlItemBgActive:h,controlItemBgHover:m,colorBgContainer:f,colorFillSecondary:g,colorBgContainerDisabled:b,colorTextDisabled:v}=n,C=a*2,S=i*2,x=Math.min(r-C,r-S),_=Math.min(o-C,o-S),F=Math.min(s-C,s-S);return{INTERNAL_FIXED_ITEM_MARGIN:Math.floor(a/2),zIndexPopup:u+50,optionSelectedColor:c,optionSelectedFontWeight:d,optionSelectedBg:h,optionActiveBg:m,optionPadding:`${(r-e*t)/2}px ${l}px`,optionFontSize:e,optionLineHeight:t,optionHeight:r,selectorBg:f,clearBg:f,singleItemHeightLG:s,multipleItemBg:g,multipleItemBorderColor:"transparent",multipleItemHeight:x,multipleItemHeightSM:_,multipleItemHeightLG:F,multipleSelectorBgDisabled:b,multipleItemColorDisabled:v,multipleItemBorderColorDisabled:"transparent",showArrowPaddingInlineEnd:Math.ceil(n.fontSize*1.25)}},vse=(n,e)=>{const{componentCls:t,antCls:i,controlOutlineWidth:r}=n;return{[`&:not(${t}-customize-input) ${t}-selector`]:{border:`${Ee(n.lineWidth)} ${n.lineType} ${e.borderColor}`,background:n.selectorBg},[`&:not(${t}-disabled):not(${t}-customize-input):not(${i}-pagination-size-changer)`]:{[`&:hover ${t}-selector`]:{borderColor:e.hoverBorderHover},[`${t}-focused& ${t}-selector`]:{borderColor:e.activeBorderColor,boxShadow:`0 0 0 ${Ee(r)} ${e.activeShadowColor}`,outline:0}}}},yse=(n,e)=>({[`&${n.componentCls}-status-${e.status}`]:Object.assign({},vse(n,e))}),$Ge=n=>({"&-outlined":Object.assign(Object.assign(Object.assign(Object.assign({},vse(n,{borderColor:n.colorBorder,hoverBorderHover:n.colorPrimaryHover,activeBorderColor:n.colorPrimary,activeShadowColor:n.controlOutline})),yse(n,{status:"error",borderColor:n.colorError,hoverBorderHover:n.colorErrorHover,activeBorderColor:n.colorError,activeShadowColor:n.colorErrorOutline})),yse(n,{status:"warning",borderColor:n.colorWarning,hoverBorderHover:n.colorWarningHover,activeBorderColor:n.colorWarning,activeShadowColor:n.colorWarningOutline})),{[`&${n.componentCls}-disabled`]:{[`&:not(${n.componentCls}-customize-input) ${n.componentCls}-selector`]:{background:n.colorBgContainerDisabled,color:n.colorTextDisabled}},[`&${n.componentCls}-multiple ${n.componentCls}-selection-item`]:{background:n.multipleItemBg,border:`${Ee(n.lineWidth)} ${n.lineType} ${n.multipleItemBorderColor}`}})}),Cse=(n,e)=>{const{componentCls:t,antCls:i}=n;return{[`&:not(${t}-customize-input) ${t}-selector`]:{background:e.bg,border:`${Ee(n.lineWidth)} ${n.lineType} transparent`,color:e.color},[`&:not(${t}-disabled):not(${t}-customize-input):not(${i}-pagination-size-changer)`]:{[`&:hover ${t}-selector`]:{background:e.hoverBg},[`${t}-focused& ${t}-selector`]:{background:n.selectorBg,borderColor:e.activeBorderColor,outline:0}}}},wse=(n,e)=>({[`&${n.componentCls}-status-${e.status}`]:Object.assign({},Cse(n,e))}),qGe=n=>({"&-filled":Object.assign(Object.assign(Object.assign(Object.assign({},Cse(n,{bg:n.colorFillTertiary,hoverBg:n.colorFillSecondary,activeBorderColor:n.colorPrimary,color:n.colorText})),wse(n,{status:"error",bg:n.colorErrorBg,hoverBg:n.colorErrorBgHover,activeBorderColor:n.colorError,color:n.colorError})),wse(n,{status:"warning",bg:n.colorWarningBg,hoverBg:n.colorWarningBgHover,activeBorderColor:n.colorWarning,color:n.colorWarning})),{[`&${n.componentCls}-disabled`]:{[`&:not(${n.componentCls}-customize-input) ${n.componentCls}-selector`]:{borderColor:n.colorBorder,background:n.colorBgContainerDisabled,color:n.colorTextDisabled}},[`&${n.componentCls}-multiple ${n.componentCls}-selection-item`]:{background:n.colorBgContainer,border:`${Ee(n.lineWidth)} ${n.lineType} ${n.colorSplit}`}})}),eXe=n=>({"&-borderless":{[`${n.componentCls}-selector`]:{background:"transparent",borderColor:"transparent"},[`&${n.componentCls}-disabled`]:{[`&:not(${n.componentCls}-customize-input) ${n.componentCls}-selector`]:{color:n.colorTextDisabled}},[`&${n.componentCls}-multiple ${n.componentCls}-selection-item`]:{background:n.multipleItemBg,border:`${Ee(n.lineWidth)} ${n.lineType} ${n.multipleItemBorderColor}`}}}),tXe=n=>({[n.componentCls]:Object.assign(Object.assign(Object.assign({},$Ge(n)),qGe(n)),eXe(n))}),nXe=n=>{const{componentCls:e}=n;return{position:"relative",transition:`all ${n.motionDurationMid} ${n.motionEaseInOut}`,input:{cursor:"pointer"},[`${e}-show-search&`]:{cursor:"text",input:{cursor:"auto",color:"inherit",height:"100%"}},[`${e}-disabled&`]:{cursor:"not-allowed",input:{cursor:"not-allowed"}}}},iXe=n=>{const{componentCls:e}=n;return{[`${e}-selection-search-input`]:{margin:0,padding:0,background:"transparent",border:"none",outline:"none",appearance:"none",fontFamily:"inherit","&::-webkit-search-cancel-button":{display:"none","-webkit-appearance":"none"}}}},rXe=n=>{const{antCls:e,componentCls:t,inputPaddingHorizontalBase:i,iconCls:r}=n;return{[t]:Object.assign(Object.assign({},uo(n)),{position:"relative",display:"inline-block",cursor:"pointer",[`&:not(${t}-customize-input) ${t}-selector`]:Object.assign(Object.assign({},nXe(n)),iXe(n)),[`${t}-selection-item`]:Object.assign(Object.assign({flex:1,fontWeight:"normal",position:"relative",userSelect:"none"},ab),{[`> ${e}-typography`]:{display:"inline"}}),[`${t}-selection-placeholder`]:Object.assign(Object.assign({},ab),{flex:1,color:n.colorTextPlaceholder,pointerEvents:"none"}),[`${t}-arrow`]:Object.assign(Object.assign({},HL()),{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:i,height:n.fontSizeIcon,marginTop:n.calc(n.fontSizeIcon).mul(-1).div(2).equal(),color:n.colorTextQuaternary,fontSize:n.fontSizeIcon,lineHeight:1,textAlign:"center",pointerEvents:"none",display:"flex",alignItems:"center",transition:`opacity ${n.motionDurationSlow} ease`,[r]:{verticalAlign:"top",transition:`transform ${n.motionDurationSlow}`,"> svg":{verticalAlign:"top"},[`&:not(${t}-suffix)`]:{pointerEvents:"auto"}},[`${t}-disabled &`]:{cursor:"not-allowed"},"> *:not(:last-child)":{marginInlineEnd:8}}),[`${t}-clear`]:{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:i,zIndex:1,display:"inline-block",width:n.fontSizeIcon,height:n.fontSizeIcon,marginTop:n.calc(n.fontSizeIcon).mul(-1).div(2).equal(),color:n.colorTextQuaternary,fontSize:n.fontSizeIcon,fontStyle:"normal",lineHeight:1,textAlign:"center",textTransform:"none",cursor:"pointer",opacity:0,transition:`color ${n.motionDurationMid} ease, opacity ${n.motionDurationSlow} ease`,textRendering:"auto","&:before":{display:"block"},"&:hover":{color:n.colorTextTertiary}},"&:hover":{[`${t}-clear`]:{opacity:1},[`${t}-arrow:not(:last-child)`]:{opacity:0}}}),[`${t}-has-feedback`]:{[`${t}-clear`]:{insetInlineEnd:n.calc(i).add(n.fontSize).add(n.paddingXS).equal()}}}},oXe=n=>{const{componentCls:e}=n;return[{[e]:{[`&${e}-in-form-item`]:{width:"100%"}}},rXe(n),jGe(n),JGe(n),YGe(n),{[`${e}-rtl`]:{direction:"rtl"}},QL(n,{borderElCls:`${e}-selector`,focusElCls:`${e}-focused`})]},sXe=Ho("Select",(n,e)=>{let{rootPrefixCls:t}=e;const i=Ui(n,{rootPrefixCls:t,inputPaddingHorizontalBase:n.calc(n.paddingSM).sub(1).equal(),multipleSelectItemHeight:n.multipleItemHeight,selectHeight:n.controlHeight});return[oXe(i),tXe(i)]},QGe,{unitless:{optionLineHeight:!0,optionSelectedFontWeight:!0}});var aXe={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"}}]},name:"check",theme:"outlined"};const lXe=aXe;var uXe=function(e,t){return w.createElement(So,pt({},e,{ref:t,icon:lXe}))},cXe=w.forwardRef(uXe);const Sse=cXe;var dXe={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"}}]},name:"down",theme:"outlined"};const hXe=dXe;var mXe=function(e,t){return w.createElement(So,pt({},e,{ref:t,icon:hXe}))},fXe=w.forwardRef(mXe);const xse=fXe;var gXe={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"}}]},name:"search",theme:"outlined"};const pXe=gXe;var bXe=function(e,t){return w.createElement(So,pt({},e,{ref:t,icon:pXe}))},vXe=w.forwardRef(bXe);const Lse=vXe;function _se(n){let{suffixIcon:e,clearIcon:t,menuItemSelectedIcon:i,removeIcon:r,loading:o,multiple:s,hasFeedback:a,prefixCls:l,showSuffixIcon:u,feedbackIcon:c,showArrow:d,componentName:h}=n;const m=t??w.createElement(tv,null),f=C=>e===null&&!a&&!d?null:w.createElement(w.Fragment,null,u!==!1&&C,a&&c);let g=null;if(e!==void 0)g=f(e);else if(o)g=f(w.createElement(iw,{spin:!0}));else{const C=`${l}-suffix`;g=S=>{let{open:x,showSearch:_}=S;return f(x&&_?w.createElement(Lse,{className:C}):w.createElement(xse,{className:C}))}}let b=null;i!==void 0?b=i:s?b=w.createElement(Sse,null):b=null;let v=null;return r!==void 0?v=r:v=w.createElement(lb,null),{clearIcon:m,suffixIcon:g,itemIcon:b,removeIcon:v}}function yXe(n,e){return e!==void 0?e:n!==null}var CXe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{var t;const{prefixCls:i,bordered:r,className:o,rootClassName:s,getPopupContainer:a,popupClassName:l,dropdownClassName:u,listHeight:c=256,placement:d,listItemHeight:h,size:m,disabled:f,notFoundContent:g,status:b,builtinPlacements:v,dropdownMatchSelectWidth:C,popupMatchSelectWidth:S,direction:x,style:_,allowClear:F,variant:D,dropdownStyle:M,transitionName:T,tagRender:Z,maxCount:E}=n,R=CXe(n,["prefixCls","bordered","className","rootClassName","getPopupContainer","popupClassName","dropdownClassName","listHeight","placement","listItemHeight","size","disabled","notFoundContent","status","builtinPlacements","dropdownMatchSelectWidth","popupMatchSelectWidth","direction","style","allowClear","variant","dropdownStyle","transitionName","tagRender","maxCount"]),{getPopupContainer:W,getPrefixCls:A,renderEmpty:z,direction:O,virtual:B,popupMatchSelectWidth:P,popupOverflow:H,select:k}=w.useContext(Rn),[,X]=Pa(),Y=h??(X==null?void 0:X.controlHeight),V=A("select",i),te=A(),oe=x??O,{compactSize:ae,compactItemClassnames:le}=db(V,oe),[ue,Ce]=dw(D,r),pe=_s(V),[ce,De,ke]=sXe(V,pe),Ne=w.useMemo(()=>{const{mode:St}=n;if(St!=="combobox")return St===Fse?"combobox":St},[n.mode]),Ue=Ne==="multiple"||Ne==="tags",He=yXe(n.suffixIcon,n.showArrow),ct=(t=S??C)!==null&&t!==void 0?t:P,{status:vt,hasFeedback:it,isFormItemInput:he,feedbackIcon:de}=w.useContext(Ba),me=lv(vt,b);let j;g!==void 0?j=g:Ne==="combobox"?j=null:j=(z==null?void 0:z("Select"))||w.createElement(OGe,{componentName:"Select"});const{suffixIcon:$,itemIcon:q,removeIcon:ee,clearIcon:ve}=_se(Object.assign(Object.assign({},R),{multiple:Ue,hasFeedback:it,feedbackIcon:de,showSuffixIcon:He,prefixCls:V,componentName:"Select"})),Le=F===!0?{clearIcon:ve}:F,Me=la(R,["suffixIcon","itemIcon"]),Be=Te(l||u,{[`${V}-dropdown-${oe}`]:oe==="rtl"},s,ke,pe,De),$e=pc(St=>{var Kt;return(Kt=m??ae)!==null&&Kt!==void 0?Kt:St}),Re=w.useContext(sh),ht=f??Re,Ye=Te({[`${V}-lg`]:$e==="large",[`${V}-sm`]:$e==="small",[`${V}-rtl`]:oe==="rtl",[`${V}-${ue}`]:Ce,[`${V}-in-form-item`]:he},mb(V,me,it),le,k==null?void 0:k.className,o,s,ke,pe,De),Ge=w.useMemo(()=>d!==void 0?d:oe==="rtl"?"bottomRight":"bottomLeft",[d,oe]),[mt]=iv("SelectLike",M==null?void 0:M.zIndex);return ce(w.createElement(_P,Object.assign({ref:e,virtual:B,showSearch:k==null?void 0:k.showSearch},Me,{style:Object.assign(Object.assign({},k==null?void 0:k.style),_),dropdownMatchSelectWidth:ct,transitionName:cb(te,"slide-up",T),builtinPlacements:HGe(v,H),listHeight:c,listItemHeight:Y,mode:Ne,prefixCls:V,placement:Ge,direction:oe,suffixIcon:$,menuItemSelectedIcon:q,removeIcon:ee,allowClear:Le,notFoundContent:j,className:Ye,getPopupContainer:a||W,dropdownClassName:Be,disabled:ht,dropdownStyle:Object.assign(Object.assign({},M),{zIndex:mt}),maxCount:Ue?E:void 0,tagRender:Ue?Z:void 0})))},hw=w.forwardRef(wXe),SXe=PT(hw);hw.SECRET_COMBOBOX_MODE_DO_NOT_USE=Fse,hw.Option=xP,hw.OptGroup=SP,hw._InternalPanelDoNotUseOrYouWillBeFired=SXe;const mw=hw,f_=["xxl","xl","lg","md","sm","xs"],xXe=n=>({xs:`(max-width: ${n.screenXSMax}px)`,sm:`(min-width: ${n.screenSM}px)`,md:`(min-width: ${n.screenMD}px)`,lg:`(min-width: ${n.screenLG}px)`,xl:`(min-width: ${n.screenXL}px)`,xxl:`(min-width: ${n.screenXXL}px)`}),LXe=n=>{const e=n,t=[].concat(f_).reverse();return t.forEach((i,r)=>{const o=i.toUpperCase(),s=`screen${o}Min`,a=`screen${o}`;if(!(e[s]<=e[a]))throw new Error(`${s}<=${a} fails : !(${e[s]}<=${e[a]})`);if(r{const t=new Map;let i=-1,r={};return{matchHandlers:{},dispatch(o){return r=o,t.forEach(s=>s(r)),t.size>=1},subscribe(o){return t.size||this.register(),i+=1,t.set(i,o),o(r),i},unsubscribe(o){t.delete(o),t.size||this.unregister()},unregister(){Object.keys(e).forEach(o=>{const s=e[o],a=this.matchHandlers[s];a==null||a.mql.removeListener(a==null?void 0:a.listener)}),t.clear()},register(){Object.keys(e).forEach(o=>{const s=e[o],a=u=>{let{matches:c}=u;this.dispatch(Object.assign(Object.assign({},r),{[o]:c}))},l=window.matchMedia(s);l.addListener(a),this.matchHandlers[s]={mql:l,listener:a},a(l)})},responsiveMap:e}},[n])}function FXe(){const[,n]=w.useReducer(e=>e+1,0);return n}const HT=n=>n?typeof n=="function"?n():n:null;function MP(n){var e=n.children,t=n.prefixCls,i=n.id,r=n.overlayInnerStyle,o=n.className,s=n.style;return w.createElement("div",{className:Te("".concat(t,"-content"),o),style:s},w.createElement("div",{className:"".concat(t,"-inner"),id:i,role:"tooltip",style:r},typeof e=="function"?e():e))}var fw={shiftX:64,adjustY:1},gw={adjustX:1,shiftY:!0},dd=[0,0],IXe={left:{points:["cr","cl"],overflow:gw,offset:[-4,0],targetOffset:dd},right:{points:["cl","cr"],overflow:gw,offset:[4,0],targetOffset:dd},top:{points:["bc","tc"],overflow:fw,offset:[0,-4],targetOffset:dd},bottom:{points:["tc","bc"],overflow:fw,offset:[0,4],targetOffset:dd},topLeft:{points:["bl","tl"],overflow:fw,offset:[0,-4],targetOffset:dd},leftTop:{points:["tr","tl"],overflow:gw,offset:[-4,0],targetOffset:dd},topRight:{points:["br","tr"],overflow:fw,offset:[0,-4],targetOffset:dd},rightTop:{points:["tl","tr"],overflow:gw,offset:[4,0],targetOffset:dd},bottomRight:{points:["tr","br"],overflow:fw,offset:[0,4],targetOffset:dd},rightBottom:{points:["bl","br"],overflow:gw,offset:[4,0],targetOffset:dd},bottomLeft:{points:["tl","bl"],overflow:fw,offset:[0,4],targetOffset:dd},leftBottom:{points:["br","bl"],overflow:gw,offset:[-4,0],targetOffset:dd}},DXe=["overlayClassName","trigger","mouseEnterDelay","mouseLeaveDelay","overlayStyle","prefixCls","children","onVisibleChange","afterVisibleChange","transitionName","animation","motion","placement","align","destroyTooltipOnHide","defaultVisible","getTooltipContainer","overlayInnerStyle","arrowContent","overlay","id","showArrow"],MXe=function(e,t){var i=e.overlayClassName,r=e.trigger,o=r===void 0?["hover"]:r,s=e.mouseEnterDelay,a=s===void 0?0:s,l=e.mouseLeaveDelay,u=l===void 0?.1:l,c=e.overlayStyle,d=e.prefixCls,h=d===void 0?"rc-tooltip":d,m=e.children,f=e.onVisibleChange,g=e.afterVisibleChange,b=e.transitionName,v=e.animation,C=e.motion,S=e.placement,x=S===void 0?"right":S,_=e.align,F=_===void 0?{}:_,D=e.destroyTooltipOnHide,M=D===void 0?!1:D,T=e.defaultVisible,Z=e.getTooltipContainer,E=e.overlayInnerStyle;e.arrowContent;var R=e.overlay,W=e.id,A=e.showArrow,z=A===void 0?!0:A,O=zn(e,DXe),B=w.useRef(null);w.useImperativeHandle(t,function(){return B.current});var P=xe({},O);"visible"in e&&(P.popupVisible=e.visible);var H=function(){return w.createElement(MP,{key:"content",prefixCls:h,id:W,overlayInnerStyle:E},R)};return w.createElement(h_,pt({popupClassName:i,prefixCls:h,popup:H,action:o,builtinPlacements:IXe,popupPlacement:x,ref:B,popupAlign:F,getPopupContainer:Z,onPopupVisibleChange:f,afterPopupVisibleChange:g,popupTransitionName:b,popupAnimation:v,popupMotion:C,defaultPopupVisible:T,autoDestroy:M,mouseLeaveDelay:u,popupStyle:c,mouseEnterDelay:a,arrow:z},P),m)};const kXe=w.forwardRef(MXe);function YT(n){const{sizePopupArrow:e,borderRadiusXS:t,borderRadiusOuter:i}=n,r=e/2,o=0,s=r,a=i*1/Math.sqrt(2),l=r-i*(1-1/Math.sqrt(2)),u=r-t*(1/Math.sqrt(2)),c=i*(Math.sqrt(2)-1)+t*(1/Math.sqrt(2)),d=2*r-u,h=c,m=2*r-a,f=l,g=2*r-o,b=s,v=r*Math.sqrt(2)+i*(Math.sqrt(2)-2),C=i*(Math.sqrt(2)-1),S=`polygon(${C}px 100%, 50% ${C}px, ${2*r-C}px 100%, ${C}px 100%)`,x=`path('M ${o} ${s} A ${i} ${i} 0 0 0 ${a} ${l} L ${u} ${c} A ${t} ${t} 0 0 1 ${d} ${h} L ${m} ${f} A ${i} ${i} 0 0 0 ${g} ${b} Z')`;return{arrowShadowWidth:v,arrowPath:x,arrowPolygon:S}}const Ise=(n,e,t)=>{const{sizePopupArrow:i,arrowPolygon:r,arrowPath:o,arrowShadowWidth:s,borderRadiusXS:a,calc:l}=n;return{pointerEvents:"none",width:i,height:i,overflow:"hidden","&::before":{position:"absolute",bottom:0,insetInlineStart:0,width:i,height:l(i).div(2).equal(),background:e,clipPath:{_multi_value_:!0,value:[r,o]},content:'""'},"&::after":{content:'""',position:"absolute",width:s,height:s,bottom:0,insetInline:0,margin:"auto",borderRadius:{_skip_check_:!0,value:`0 0 ${Ee(a)} 0`},transform:"translateY(50%) rotate(-135deg)",boxShadow:t,zIndex:0,background:"transparent"}}},Dse=8;function UT(n){const{contentRadius:e,limitVerticalRadius:t}=n,i=e>12?e+2:12;return{arrowOffsetHorizontal:i,arrowOffsetVertical:t?Dse:i}}function KT(n,e){return n?e:{}}function kP(n,e,t){const{componentCls:i,boxShadowPopoverArrow:r,arrowOffsetVertical:o,arrowOffsetHorizontal:s}=n,{arrowDistance:a=0,arrowPlacement:l={left:!0,right:!0,top:!0,bottom:!0}}=t||{};return{[i]:Object.assign(Object.assign(Object.assign(Object.assign({[`${i}-arrow`]:[Object.assign(Object.assign({position:"absolute",zIndex:1,display:"block"},Ise(n,e,r)),{"&:before":{background:e}})]},KT(!!l.top,{[[`&-placement-top > ${i}-arrow`,`&-placement-topLeft > ${i}-arrow`,`&-placement-topRight > ${i}-arrow`].join(",")]:{bottom:a,transform:"translateY(100%) rotate(180deg)"},[`&-placement-top > ${i}-arrow`]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(100%) rotate(180deg)"},[`&-placement-topLeft > ${i}-arrow`]:{left:{_skip_check_:!0,value:s}},[`&-placement-topRight > ${i}-arrow`]:{right:{_skip_check_:!0,value:s}}})),KT(!!l.bottom,{[[`&-placement-bottom > ${i}-arrow`,`&-placement-bottomLeft > ${i}-arrow`,`&-placement-bottomRight > ${i}-arrow`].join(",")]:{top:a,transform:"translateY(-100%)"},[`&-placement-bottom > ${i}-arrow`]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(-100%)"},[`&-placement-bottomLeft > ${i}-arrow`]:{left:{_skip_check_:!0,value:s}},[`&-placement-bottomRight > ${i}-arrow`]:{right:{_skip_check_:!0,value:s}}})),KT(!!l.left,{[[`&-placement-left > ${i}-arrow`,`&-placement-leftTop > ${i}-arrow`,`&-placement-leftBottom > ${i}-arrow`].join(",")]:{right:{_skip_check_:!0,value:a},transform:"translateX(100%) rotate(90deg)"},[`&-placement-left > ${i}-arrow`]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(100%) rotate(90deg)"},[`&-placement-leftTop > ${i}-arrow`]:{top:o},[`&-placement-leftBottom > ${i}-arrow`]:{bottom:o}})),KT(!!l.right,{[[`&-placement-right > ${i}-arrow`,`&-placement-rightTop > ${i}-arrow`,`&-placement-rightBottom > ${i}-arrow`].join(",")]:{left:{_skip_check_:!0,value:a},transform:"translateX(-100%) rotate(-90deg)"},[`&-placement-right > ${i}-arrow`]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(-100%) rotate(-90deg)"},[`&-placement-rightTop > ${i}-arrow`]:{top:o},[`&-placement-rightBottom > ${i}-arrow`]:{bottom:o}}))}}function NXe(n,e,t,i){if(i===!1)return{adjustX:!1,adjustY:!1};const r=i&&typeof i=="object"?i:{},o={};switch(n){case"top":case"bottom":o.shiftX=e.arrowOffsetHorizontal*2+t,o.shiftY=!0,o.adjustY=!0;break;case"left":case"right":o.shiftY=e.arrowOffsetVertical*2+t,o.shiftX=!0,o.adjustX=!0;break}const s=Object.assign(Object.assign({},o),r);return s.shiftX||(s.adjustX=!0),s.shiftY||(s.adjustY=!0),s}const Mse={left:{points:["cr","cl"]},right:{points:["cl","cr"]},top:{points:["bc","tc"]},bottom:{points:["tc","bc"]},topLeft:{points:["bl","tl"]},leftTop:{points:["tr","tl"]},topRight:{points:["br","tr"]},rightTop:{points:["tl","tr"]},bottomRight:{points:["tr","br"]},rightBottom:{points:["bl","br"]},bottomLeft:{points:["tl","bl"]},leftBottom:{points:["br","bl"]}},TXe={topLeft:{points:["bl","tc"]},leftTop:{points:["tr","cl"]},topRight:{points:["br","tc"]},rightTop:{points:["tl","cr"]},bottomRight:{points:["tr","bc"]},rightBottom:{points:["bl","cr"]},bottomLeft:{points:["tl","bc"]},leftBottom:{points:["br","cl"]}},EXe=new Set(["topLeft","topRight","bottomLeft","bottomRight","leftTop","leftBottom","rightTop","rightBottom"]);function kse(n){const{arrowWidth:e,autoAdjustOverflow:t,arrowPointAtCenter:i,offset:r,borderRadius:o,visibleFirst:s}=n,a=e/2,l={};return Object.keys(Mse).forEach(u=>{const c=i&&TXe[u]||Mse[u],d=Object.assign(Object.assign({},c),{offset:[0,0],dynamicInset:!0});switch(l[u]=d,EXe.has(u)&&(d.autoArrow=!1),u){case"top":case"topLeft":case"topRight":d.offset[1]=-a-r;break;case"bottom":case"bottomLeft":case"bottomRight":d.offset[1]=a+r;break;case"left":case"leftTop":case"leftBottom":d.offset[0]=-a-r;break;case"right":case"rightTop":case"rightBottom":d.offset[0]=a+r;break}const h=UT({contentRadius:o,limitVerticalRadius:!0});if(i)switch(u){case"topLeft":case"bottomLeft":d.offset[0]=-h.arrowOffsetHorizontal-a;break;case"topRight":case"bottomRight":d.offset[0]=h.arrowOffsetHorizontal+a;break;case"leftTop":case"rightTop":d.offset[1]=-h.arrowOffsetHorizontal-a;break;case"leftBottom":case"rightBottom":d.offset[1]=h.arrowOffsetHorizontal+a;break}d.overflow=NXe(u,h,e,t),s&&(d.htmlRegion="visibleFirst")}),l}const ZXe=n=>{const{componentCls:e,tooltipMaxWidth:t,tooltipColor:i,tooltipBg:r,tooltipBorderRadius:o,zIndexPopup:s,controlHeight:a,boxShadowSecondary:l,paddingSM:u,paddingXS:c}=n;return[{[e]:Object.assign(Object.assign(Object.assign(Object.assign({},uo(n)),{position:"absolute",zIndex:s,display:"block",width:"max-content",maxWidth:t,visibility:"visible",transformOrigin:"var(--arrow-x, 50%) var(--arrow-y, 50%)","&-hidden":{display:"none"},"--antd-arrow-background-color":r,[`${e}-inner`]:{minWidth:a,minHeight:a,padding:`${Ee(n.calc(u).div(2).equal())} ${Ee(c)}`,color:i,textAlign:"start",textDecoration:"none",wordWrap:"break-word",backgroundColor:r,borderRadius:o,boxShadow:l,boxSizing:"border-box"},[["&-placement-left","&-placement-leftTop","&-placement-leftBottom","&-placement-right","&-placement-rightTop","&-placement-rightBottom"].join(",")]:{[`${e}-inner`]:{borderRadius:n.min(o,Dse)}},[`${e}-content`]:{position:"relative"}}),n9e(n,(d,h)=>{let{darkColor:m}=h;return{[`&${e}-${d}`]:{[`${e}-inner`]:{backgroundColor:m},[`${e}-arrow`]:{"--antd-arrow-background-color":m}}}})),{"&-rtl":{direction:"rtl"}})},kP(n,"var(--antd-arrow-background-color)"),{[`${e}-pure`]:{position:"relative",maxWidth:"none",margin:n.sizePopupArrow}}]},WXe=n=>Object.assign(Object.assign({zIndexPopup:n.zIndexPopupBase+70},UT({contentRadius:n.borderRadius,limitVerticalRadius:!0})),YT(Ui(n,{borderRadiusOuter:Math.min(n.borderRadiusOuter,4)}))),Nse=function(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return Ho("Tooltip",i=>{const{borderRadius:r,colorTextLightSolid:o,colorBgSpotlight:s}=i,a=Ui(i,{tooltipMaxWidth:250,tooltipColor:o,tooltipBorderRadius:r,tooltipBg:s});return[ZXe(a),o_(i,"zoom-big-fast")]},WXe,{resetStyle:!1,injectStyle:e})(n)},RXe=zL.map(n=>`${n}-inverse`);function VXe(n){return(arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0)?[].concat(_t(RXe),_t(zL)).includes(n):zL.includes(n)}function Tse(n,e){const t=VXe(e),i=Te({[`${n}-${e}`]:e&&t}),r={},o={};return e&&!t&&(r.background=e,o["--antd-arrow-background-color"]=e),{className:i,overlayStyle:r,arrowStyle:o}}const AXe=n=>{const{prefixCls:e,className:t,placement:i="top",title:r,color:o,overlayInnerStyle:s}=n,{getPrefixCls:a}=w.useContext(Rn),l=a("tooltip",e),[u,c,d]=Nse(l),h=Tse(l,o),m=h.arrowStyle,f=Object.assign(Object.assign({},s),h.overlayStyle),g=Te(c,d,l,`${l}-pure`,`${l}-placement-${i}`,t,h.className);return u(w.createElement("div",{className:g,style:m},w.createElement("div",{className:`${l}-arrow`}),w.createElement(MP,Object.assign({},n,{className:c,prefixCls:l,overlayInnerStyle:f}),r)))};var GXe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{var t,i;const{prefixCls:r,openClassName:o,getTooltipContainer:s,overlayClassName:a,color:l,overlayInnerStyle:u,children:c,afterOpenChange:d,afterVisibleChange:h,destroyTooltipOnHide:m,arrow:f=!0,title:g,overlay:b,builtinPlacements:v,arrowPointAtCenter:C=!1,autoAdjustOverflow:S=!0}=n,x=!!f,[,_]=Pa(),{getPopupContainer:F,getPrefixCls:D,direction:M}=w.useContext(Rn),T=jC(),Z=w.useRef(null),E=()=>{var j;(j=Z.current)===null||j===void 0||j.forceAlign()};w.useImperativeHandle(e,()=>({forceAlign:E,forcePopupAlign:()=>{T.deprecated(!1,"forcePopupAlign","forceAlign"),E()}}));const[R,W]=Jr(!1,{value:(t=n.open)!==null&&t!==void 0?t:n.visible,defaultValue:(i=n.defaultOpen)!==null&&i!==void 0?i:n.defaultVisible}),A=!g&&!b&&g!==0,z=j=>{var $,q;W(A?!1:j),A||(($=n.onOpenChange)===null||$===void 0||$.call(n,j),(q=n.onVisibleChange)===null||q===void 0||q.call(n,j))},O=w.useMemo(()=>{var j,$;let q=C;return typeof f=="object"&&(q=($=(j=f.pointAtCenter)!==null&&j!==void 0?j:f.arrowPointAtCenter)!==null&&$!==void 0?$:C),v||kse({arrowPointAtCenter:q,autoAdjustOverflow:S,arrowWidth:x?_.sizePopupArrow:0,borderRadius:_.borderRadius,offset:_.marginXXS,visibleFirst:!0})},[C,f,v,_]),B=w.useMemo(()=>g===0?g:b||g||"",[b,g]),P=w.createElement(ig,null,typeof B=="function"?B():B),{getPopupContainer:H,placement:k="top",mouseEnterDelay:X=.1,mouseLeaveDelay:Y=.1,overlayStyle:V,rootClassName:te}=n,oe=GXe(n,["getPopupContainer","placement","mouseEnterDelay","mouseLeaveDelay","overlayStyle","rootClassName"]),ae=D("tooltip",r),le=D(),ue=n["data-popover-inject"];let Ce=R;!("open"in n)&&!("visible"in n)&&A&&(Ce=!1);const pe=w.isValidElement(c)&&!Eie(c)?c:w.createElement("span",null,c),ce=pe.props,De=!ce.className||typeof ce.className=="string"?Te(ce.className,o||`${ae}-open`):ce.className,[ke,Ne,Ue]=Nse(ae,!ue),He=Tse(ae,l),ct=He.arrowStyle,vt=Object.assign(Object.assign({},u),He.overlayStyle),it=Te(a,{[`${ae}-rtl`]:M==="rtl"},He.className,te,Ne,Ue),[he,de]=iv("Tooltip",oe.zIndex),me=w.createElement(kXe,Object.assign({},oe,{zIndex:he,showArrow:x,placement:k,mouseEnterDelay:X,mouseLeaveDelay:Y,prefixCls:ae,overlayClassName:it,overlayStyle:Object.assign(Object.assign({},ct),V),getTooltipContainer:H||s||F,ref:Z,builtinPlacements:O,overlay:P,visible:Ce,onVisibleChange:z,afterVisibleChange:d??h,overlayInnerStyle:vt,arrowContent:w.createElement("span",{className:`${ae}-arrow-content`}),motion:{motionName:cb(le,"zoom-big-fast",n.transitionName),motionDeadline:1e3},destroyTooltipOnHide:!!m}),Ce?eu(pe,{className:De}):pe);return ke(w.createElement(FT.Provider,{value:de},me))});Ese._InternalPanelDoNotUseOrYouWillBeFired=AXe;const sg=Ese,XXe=n=>{const{componentCls:e,popoverColor:t,titleMinWidth:i,fontWeightStrong:r,innerPadding:o,boxShadowSecondary:s,colorTextHeading:a,borderRadiusLG:l,zIndexPopup:u,titleMarginBottom:c,colorBgElevated:d,popoverBg:h,titleBorderBottom:m,innerContentPadding:f,titlePadding:g}=n;return[{[e]:Object.assign(Object.assign({},uo(n)),{position:"absolute",top:0,left:{_skip_check_:!0,value:0},zIndex:u,fontWeight:"normal",whiteSpace:"normal",textAlign:"start",cursor:"auto",userSelect:"text",transformOrigin:"var(--arrow-x, 50%) var(--arrow-y, 50%)","--antd-arrow-background-color":d,"&-rtl":{direction:"rtl"},"&-hidden":{display:"none"},[`${e}-content`]:{position:"relative"},[`${e}-inner`]:{backgroundColor:h,backgroundClip:"padding-box",borderRadius:l,boxShadow:s,padding:o},[`${e}-title`]:{minWidth:i,marginBottom:c,color:a,fontWeight:r,borderBottom:m,padding:g},[`${e}-inner-content`]:{color:t,padding:f}})},kP(n,"var(--antd-arrow-background-color)"),{[`${e}-pure`]:{position:"relative",maxWidth:"none",margin:n.sizePopupArrow,display:"inline-block",[`${e}-content`]:{display:"inline-block"}}}]},PXe=n=>{const{componentCls:e}=n;return{[e]:zL.map(t=>{const i=n[`${t}6`];return{[`&${e}-${t}`]:{"--antd-arrow-background-color":i,[`${e}-inner`]:{backgroundColor:i},[`${e}-arrow`]:{background:"transparent"}}}})}},Zse=Ho("Popover",n=>{const{colorBgElevated:e,colorText:t}=n,i=Ui(n,{popoverBg:e,popoverColor:t});return[XXe(i),PXe(i),o_(i,"zoom-big")]},n=>{const{lineWidth:e,controlHeight:t,fontHeight:i,padding:r,wireframe:o,zIndexPopupBase:s,borderRadiusLG:a,marginXS:l,lineType:u,colorSplit:c,paddingSM:d}=n,h=t-i,m=h/2,f=h/2-e,g=r;return Object.assign(Object.assign(Object.assign({titleMinWidth:177,zIndexPopup:s+30},YT(n)),UT({contentRadius:a,limitVerticalRadius:!0})),{innerPadding:o?0:12,titleMarginBottom:o?0:l,titlePadding:o?`${m}px ${g}px ${f}px`:0,titleBorderBottom:o?`${e}px ${u} ${c}`:"none",innerContentPadding:o?`${d}px ${g}px`:0})},{resetStyle:!1,deprecatedTokens:[["width","titleMinWidth"],["minWidth","titleMinWidth"]]});var OXe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r!e&&!t?null:w.createElement(w.Fragment,null,e&&w.createElement("div",{className:`${n}-title`},HT(e)),w.createElement("div",{className:`${n}-inner-content`},HT(t))),zXe=n=>{const{hashId:e,prefixCls:t,className:i,style:r,placement:o="top",title:s,content:a,children:l}=n;return w.createElement("div",{className:Te(e,t,`${t}-pure`,`${t}-placement-${o}`,i),style:r},w.createElement("div",{className:`${t}-arrow`}),w.createElement(MP,Object.assign({},n,{className:e,prefixCls:t}),l||BXe(t,s,a)))},HXe=n=>{const{prefixCls:e,className:t}=n,i=OXe(n,["prefixCls","className"]),{getPrefixCls:r}=w.useContext(Rn),o=r("popover",e),[s,a,l]=Zse(o);return s(w.createElement(zXe,Object.assign({},i,{prefixCls:o,hashId:a,className:Te(t,l)})))};var YXe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{let{title:e,content:t,prefixCls:i}=n;return w.createElement(w.Fragment,null,e&&w.createElement("div",{className:`${i}-title`},HT(e)),w.createElement("div",{className:`${i}-inner-content`},HT(t)))},Wse=w.forwardRef((n,e)=>{var t,i;const{prefixCls:r,title:o,content:s,overlayClassName:a,placement:l="top",trigger:u="hover",children:c,mouseEnterDelay:d=.1,mouseLeaveDelay:h=.1,onOpenChange:m,overlayStyle:f={}}=n,g=YXe(n,["prefixCls","title","content","overlayClassName","placement","trigger","children","mouseEnterDelay","mouseLeaveDelay","onOpenChange","overlayStyle"]),{getPrefixCls:b}=w.useContext(Rn),v=b("popover",r),[C,S,x]=Zse(v),_=b(),F=Te(a,S,x),[D,M]=Jr(!1,{value:(t=n.open)!==null&&t!==void 0?t:n.visible,defaultValue:(i=n.defaultOpen)!==null&&i!==void 0?i:n.defaultVisible}),T=(R,W)=>{M(R,!0),m==null||m(R,W)},Z=R=>{R.keyCode===Dt.ESC&&T(!1,R)},E=R=>{T(R)};return C(w.createElement(sg,Object.assign({placement:l,trigger:u,mouseEnterDelay:d,mouseLeaveDelay:h,overlayStyle:f},g,{prefixCls:v,overlayClassName:F,ref:e,open:D,onOpenChange:E,overlay:o||s?w.createElement(UXe,{prefixCls:v,title:o,content:s}):null,transitionName:cb(_,"zoom-big",g.transitionName),"data-popover-inject":!0}),eu(c,{onKeyDown:R=>{var W,A;w.isValidElement(c)&&((A=c==null?void 0:(W=c.props).onKeyDown)===null||A===void 0||A.call(W,R)),Z(R)}})))});Wse._InternalPanelDoNotUseOrYouWillBeFired=HXe;const NP=Wse;var KXe={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"}}]},name:"right",theme:"outlined"};const JXe=KXe;var jXe=function(e,t){return w.createElement(So,pt({},e,{ref:t,icon:JXe}))},QXe=w.forwardRef(jXe);const TP=QXe;var $Xe=Dt.ESC,qXe=Dt.TAB;function e4e(n){var e=n.visible,t=n.triggerRef,i=n.onVisibleChange,r=n.autoFocus,o=n.overlayRef,s=w.useRef(!1),a=function(){if(e){var d,h;(d=t.current)===null||d===void 0||(h=d.focus)===null||h===void 0||h.call(d),i==null||i(!1)}},l=function(){var d;return(d=o.current)!==null&&d!==void 0&&d.focus?(o.current.focus(),s.current=!0,!0):!1},u=function(d){switch(d.keyCode){case $Xe:a();break;case qXe:{var h=!1;s.current||(h=l()),h?d.preventDefault():a();break}}};w.useEffect(function(){return e?(window.addEventListener("keydown",u),r&&xi(l,3),function(){window.removeEventListener("keydown",u),s.current=!1}):function(){s.current=!1}},[e])}var t4e=w.forwardRef(function(n,e){var t=n.overlay,i=n.arrow,r=n.prefixCls,o=w.useMemo(function(){var a;return typeof t=="function"?a=t():a=t,a},[t]),s=_u(e,o==null?void 0:o.ref);return ze.createElement(ze.Fragment,null,i&&ze.createElement("div",{className:"".concat(r,"-arrow")}),ze.cloneElement(o,{ref:jf(o)?s:void 0}))}),pw={adjustX:1,adjustY:1},bw=[0,0],n4e={topLeft:{points:["bl","tl"],overflow:pw,offset:[0,-4],targetOffset:bw},top:{points:["bc","tc"],overflow:pw,offset:[0,-4],targetOffset:bw},topRight:{points:["br","tr"],overflow:pw,offset:[0,-4],targetOffset:bw},bottomLeft:{points:["tl","bl"],overflow:pw,offset:[0,4],targetOffset:bw},bottom:{points:["tc","bc"],overflow:pw,offset:[0,4],targetOffset:bw},bottomRight:{points:["tr","br"],overflow:pw,offset:[0,4],targetOffset:bw}},i4e=["arrow","prefixCls","transitionName","animation","align","placement","placements","getPopupContainer","showAction","hideAction","overlayClassName","overlayStyle","visible","trigger","autoFocus","overlay","children","onVisibleChange"];function r4e(n,e){var t,i=n.arrow,r=i===void 0?!1:i,o=n.prefixCls,s=o===void 0?"rc-dropdown":o,a=n.transitionName,l=n.animation,u=n.align,c=n.placement,d=c===void 0?"bottomLeft":c,h=n.placements,m=h===void 0?n4e:h,f=n.getPopupContainer,g=n.showAction,b=n.hideAction,v=n.overlayClassName,C=n.overlayStyle,S=n.visible,x=n.trigger,_=x===void 0?["hover"]:x,F=n.autoFocus,D=n.overlay,M=n.children,T=n.onVisibleChange,Z=zn(n,i4e),E=ze.useState(),R=Se(E,2),W=R[0],A=R[1],z="visible"in n?S:W,O=ze.useRef(null),B=ze.useRef(null),P=ze.useRef(null);ze.useImperativeHandle(e,function(){return O.current});var H=function(ue){A(ue),T==null||T(ue)};e4e({visible:z,triggerRef:P,onVisibleChange:H,autoFocus:F,overlayRef:B});var k=function(ue){var Ce=n.onOverlayClick;A(!1),Ce&&Ce(ue)},X=function(){return ze.createElement(t4e,{ref:B,overlay:D,prefixCls:s,arrow:r})},Y=function(){return typeof D=="function"?X:X()},V=function(){var ue=n.minOverlayWidthMatchTrigger,Ce=n.alignPoint;return"minOverlayWidthMatchTrigger"in n?ue:!Ce},te=function(){var ue=n.openClassName;return ue!==void 0?ue:"".concat(s,"-open")},oe=ze.cloneElement(M,{className:Te((t=M.props)===null||t===void 0?void 0:t.className,z&&te()),ref:jf(M)?_u(P,M.ref):void 0}),ae=b;return!ae&&_.indexOf("contextMenu")!==-1&&(ae=["click"]),ze.createElement(h_,pt({builtinPlacements:m},Z,{prefixCls:s,ref:O,popupClassName:Te(v,ge({},"".concat(s,"-show-arrow"),r)),popupStyle:C,action:_,showAction:g,hideAction:ae,popupPlacement:d,popupAlign:u,popupTransitionName:a,popupAnimation:l,popupVisible:z,stretch:V()?"minWidth":"",popup:Y(),onPopupVisibleChange:H,onPopupClick:k,getPopupContainer:f}),oe)}const Rse=ze.forwardRef(r4e);var Vse=w.createContext(null);function Ase(n,e){return n===void 0?null:"".concat(n,"-").concat(e)}function Gse(n){var e=w.useContext(Vse);return Ase(e,n)}var o4e=["children","locked"],uh=w.createContext(null);function s4e(n,e){var t=xe({},n);return Object.keys(e).forEach(function(i){var r=e[i];r!==void 0&&(t[i]=r)}),t}function g_(n){var e=n.children,t=n.locked,i=zn(n,o4e),r=w.useContext(uh),o=EL(function(){return s4e(r,i)},[r,i],function(s,a){return!t&&(s[0]!==a[0]||!RL(s[1],a[1],!0))});return w.createElement(uh.Provider,{value:o},e)}var a4e=[],Xse=w.createContext(null);function JT(){return w.useContext(Xse)}var Pse=w.createContext(a4e);function vw(n){var e=w.useContext(Pse);return w.useMemo(function(){return n!==void 0?[].concat(_t(e),[n]):e},[e,n])}var Ose=w.createContext(null),EP=w.createContext({});function Bse(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(JL(n)){var t=n.nodeName.toLowerCase(),i=["input","select","textarea","button"].includes(t)||n.isContentEditable||t==="a"&&!!n.getAttribute("href"),r=n.getAttribute("tabindex"),o=Number(r),s=null;return r&&!Number.isNaN(o)?s=o:i&&s===null&&(s=0),i&&n.disabled&&(s=null),s!==null&&(s>=0||e&&s<0)}return!1}function l4e(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,t=_t(n.querySelectorAll("*")).filter(function(i){return Bse(i,e)});return Bse(n,e)&&t.unshift(n),t}var ZP=Dt.LEFT,WP=Dt.RIGHT,RP=Dt.UP,jT=Dt.DOWN,QT=Dt.ENTER,zse=Dt.ESC,p_=Dt.HOME,b_=Dt.END,Hse=[RP,jT,ZP,WP];function u4e(n,e,t,i){var r,o="prev",s="next",a="children",l="parent";if(n==="inline"&&i===QT)return{inlineTrigger:!0};var u=ge(ge({},RP,o),jT,s),c=ge(ge(ge(ge({},ZP,t?s:o),WP,t?o:s),jT,a),QT,a),d=ge(ge(ge(ge(ge(ge({},RP,o),jT,s),QT,a),zse,l),ZP,t?a:l),WP,t?l:a),h={inline:u,horizontal:c,vertical:d,inlineSub:u,horizontalSub:d,verticalSub:d},m=(r=h["".concat(n).concat(e?"":"Sub")])===null||r===void 0?void 0:r[i];switch(m){case o:return{offset:-1,sibling:!0};case s:return{offset:1,sibling:!0};case l:return{offset:-1,sibling:!1};case a:return{offset:1,sibling:!1};default:return null}}function c4e(n){for(var e=n;e;){if(e.getAttribute("data-menu-list"))return e;e=e.parentElement}return null}function d4e(n,e){for(var t=n||document.activeElement;t;){if(e.has(t))return t;t=t.parentElement}return null}function VP(n,e){var t=l4e(n,!0);return t.filter(function(i){return e.has(i)})}function Yse(n,e,t){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1;if(!n)return null;var r=VP(n,e),o=r.length,s=r.findIndex(function(a){return t===a});return i<0?s===-1?s=o-1:s-=1:i>0&&(s+=1),s=(s+o)%o,r[s]}var AP=function(e,t){var i=new Set,r=new Map,o=new Map;return e.forEach(function(s){var a=document.querySelector("[data-menu-id='".concat(Ase(t,s),"']"));a&&(i.add(a),o.set(a,s),r.set(s,a))}),{elements:i,key2element:r,element2key:o}};function h4e(n,e,t,i,r,o,s,a,l,u){var c=w.useRef(),d=w.useRef();d.current=e;var h=function(){xi.cancel(c.current)};return w.useEffect(function(){return function(){h()}},[]),function(m){var f=m.which;if([].concat(Hse,[QT,zse,p_,b_]).includes(f)){var g=o(),b=AP(g,i),v=b,C=v.elements,S=v.key2element,x=v.element2key,_=S.get(e),F=d4e(_,C),D=x.get(F),M=u4e(n,s(D,!0).length===1,t,f);if(!M&&f!==p_&&f!==b_)return;(Hse.includes(f)||[p_,b_].includes(f))&&m.preventDefault();var T=function(B){if(B){var P=B,H=B.querySelector("a");H!=null&&H.getAttribute("href")&&(P=H);var k=x.get(B);a(k),h(),c.current=xi(function(){d.current===k&&P.focus()})}};if([p_,b_].includes(f)||M.sibling||!F){var Z;!F||n==="inline"?Z=r.current:Z=c4e(F);var E,R=VP(Z,C);f===p_?E=R[0]:f===b_?E=R[R.length-1]:E=Yse(Z,C,F,M.offset),T(E)}else if(M.inlineTrigger)l(D);else if(M.offset>0)l(D,!0),h(),c.current=xi(function(){b=AP(g,i);var O=F.getAttribute("aria-controls"),B=document.getElementById(O),P=Yse(B,b.elements);T(P)},5);else if(M.offset<0){var W=s(D,!0),A=W[W.length-2],z=S.get(A);l(A,!1),T(z)}}u==null||u(m)}}function m4e(n){Promise.resolve().then(n)}var GP="__RC_UTIL_PATH_SPLIT__",Use=function(e){return e.join(GP)},f4e=function(e){return e.split(GP)},XP="rc-menu-more";function g4e(){var n=w.useState({}),e=Se(n,2),t=e[1],i=w.useRef(new Map),r=w.useRef(new Map),o=w.useState([]),s=Se(o,2),a=s[0],l=s[1],u=w.useRef(0),c=w.useRef(!1),d=function(){c.current||t({})},h=w.useCallback(function(S,x){var _=Use(x);r.current.set(_,S),i.current.set(S,_),u.current+=1;var F=u.current;m4e(function(){F===u.current&&d()})},[]),m=w.useCallback(function(S,x){var _=Use(x);r.current.delete(_),i.current.delete(S)},[]),f=w.useCallback(function(S){l(S)},[]),g=w.useCallback(function(S,x){var _=i.current.get(S)||"",F=f4e(_);return x&&a.includes(F[0])&&F.unshift(XP),F},[a]),b=w.useCallback(function(S,x){return S.some(function(_){var F=g(_,!0);return F.includes(x)})},[g]),v=function(){var x=_t(i.current.keys());return a.length&&x.push(XP),x},C=w.useCallback(function(S){var x="".concat(i.current.get(S)).concat(GP),_=new Set;return _t(r.current.keys()).forEach(function(F){F.startsWith(x)&&_.add(r.current.get(F))}),_},[]);return w.useEffect(function(){return function(){c.current=!0}},[]),{registerPath:h,unregisterPath:m,refreshOverflowKeys:f,isSubPathKey:b,getKeyPath:g,getKeys:v,getSubPathKeys:C}}function v_(n){var e=w.useRef(n);e.current=n;var t=w.useCallback(function(){for(var i,r=arguments.length,o=new Array(r),s=0;s1&&(C.motionAppear=!1);var S=C.onVisibleChanged;return C.onVisibleChanged=function(x){return!h.current&&!x&&b(!0),S==null?void 0:S(x)},g?null:w.createElement(g_,{mode:o,locked:!h.current},w.createElement(ud,pt({visible:v},C,{forceRender:l,removeOnLeave:!1,leavedClassName:"".concat(a,"-hidden")}),function(x){var _=x.className,F=x.style;return w.createElement(PP,{id:e,className:_,style:F},r)}))}var T4e=["style","className","title","eventKey","warnKey","disabled","internalPopupClose","children","itemIcon","expandIcon","popupClassName","popupOffset","popupStyle","onClick","onMouseEnter","onMouseLeave","onTitleClick","onTitleMouseEnter","onTitleMouseLeave"],E4e=["active"],Z4e=function(e){var t=e.style,i=e.className,r=e.title,o=e.eventKey;e.warnKey;var s=e.disabled,a=e.internalPopupClose,l=e.children,u=e.itemIcon,c=e.expandIcon,d=e.popupClassName,h=e.popupOffset,m=e.popupStyle,f=e.onClick,g=e.onMouseEnter,b=e.onMouseLeave,v=e.onTitleClick,C=e.onTitleMouseEnter,S=e.onTitleMouseLeave,x=zn(e,T4e),_=Gse(o),F=w.useContext(uh),D=F.prefixCls,M=F.mode,T=F.openKeys,Z=F.disabled,E=F.overflowDisabled,R=F.activeKey,W=F.selectedKeys,A=F.itemIcon,z=F.expandIcon,O=F.onItemClick,B=F.onOpenChange,P=F.onActive,H=w.useContext(EP),k=H._internalRenderSubMenuItem,X=w.useContext(Ose),Y=X.isSubPathKey,V=vw(),te="".concat(D,"-submenu"),oe=Z||s,ae=w.useRef(),le=w.useRef(),ue=u??A,Ce=c??z,pe=T.includes(o),ce=!E&&pe,De=Y(W,o),ke=Jse(o,oe,C,S),Ne=ke.active,Ue=zn(ke,E4e),He=w.useState(!1),ct=Se(He,2),vt=ct[0],it=ct[1],he=function(Ge){oe||it(Ge)},de=function(Ge){he(!0),g==null||g({key:o,domEvent:Ge})},me=function(Ge){he(!1),b==null||b({key:o,domEvent:Ge})},j=w.useMemo(function(){return Ne||(M!=="inline"?vt||Y([R],o):!1)},[M,Ne,R,vt,o,Y]),$=jse(V.length),q=function(Ge){oe||(v==null||v({key:o,domEvent:Ge}),M==="inline"&&B(o,!pe))},ee=v_(function(Ye){f==null||f($T(Ye)),O(Ye)}),ve=function(Ge){M!=="inline"&&B(o,Ge)},Le=function(){P(o)},Me=_&&"".concat(_,"-popup"),Be=w.createElement("div",pt({role:"menuitem",style:$,className:"".concat(te,"-title"),tabIndex:oe?null:-1,ref:ae,title:typeof r=="string"?r:null,"data-menu-id":E&&_?null:_,"aria-expanded":ce,"aria-haspopup":!0,"aria-controls":Me,"aria-disabled":oe,onClick:q,onFocus:Le},Ue),r,w.createElement(Qse,{icon:M!=="horizontal"?Ce:void 0,props:xe(xe({},e),{},{isOpen:ce,isSubMenu:!0})},w.createElement("i",{className:"".concat(te,"-arrow")}))),$e=w.useRef(M);if(M!=="inline"&&V.length>1?$e.current="vertical":$e.current=M,!E){var Re=$e.current;Be=w.createElement(k4e,{mode:Re,prefixCls:te,visible:!a&&ce&&M!=="inline",popupClassName:d,popupOffset:h,popupStyle:m,popup:w.createElement(g_,{mode:Re==="horizontal"?"vertical":Re},w.createElement(PP,{id:Me,ref:le},l)),disabled:oe,onVisibleChange:ve},Be)}var ht=w.createElement(lh.Item,pt({role:"none"},x,{component:"li",style:t,className:Te(te,"".concat(te,"-").concat(M),i,ge(ge(ge(ge({},"".concat(te,"-open"),ce),"".concat(te,"-active"),j),"".concat(te,"-selected"),De),"".concat(te,"-disabled"),oe)),onMouseEnter:de,onMouseLeave:me}),Be,!E&&w.createElement(N4e,{id:Me,open:ce,keyPath:V},l));return k&&(ht=k(ht,e,{selected:De,active:j,open:ce,disabled:oe})),w.createElement(g_,{onItemClick:ee,mode:M==="horizontal"?"vertical":M,itemIcon:ue,expandIcon:Ce},ht)};function qT(n){var e=n.eventKey,t=n.children,i=vw(e),r=OP(t,i),o=JT();w.useEffect(function(){if(o)return o.registerPath(e,i),function(){o.unregisterPath(e,i)}},[i]);var s;return o?s=r:s=w.createElement(Z4e,n,r),w.createElement(Pse.Provider,{value:i},s)}var W4e=["className","title","eventKey","children"],R4e=["children"],V4e=function(e){var t=e.className,i=e.title;e.eventKey;var r=e.children,o=zn(e,W4e),s=w.useContext(uh),a=s.prefixCls,l="".concat(a,"-item-group");return w.createElement("li",pt({role:"presentation"},o,{onClick:function(c){return c.stopPropagation()},className:Te(l,t)}),w.createElement("div",{role:"presentation",className:"".concat(l,"-title"),title:typeof i=="string"?i:void 0},i),w.createElement("ul",{role:"group",className:"".concat(l,"-list")},r))};function eE(n){var e=n.children,t=zn(n,R4e),i=vw(t.eventKey),r=OP(e,i),o=JT();return o?r:w.createElement(V4e,la(t,["warnKey"]),r)}function BP(n){var e=n.className,t=n.style,i=w.useContext(uh),r=i.prefixCls,o=JT();return o?null:w.createElement("li",{role:"separator",className:Te("".concat(r,"-item-divider"),e),style:t})}var A4e=["label","children","key","type"];function zP(n){return(n||[]).map(function(e,t){if(e&&Xn(e)==="object"){var i=e,r=i.label,o=i.children,s=i.key,a=i.type,l=zn(i,A4e),u=s??"tmp-".concat(t);return o||a==="group"?a==="group"?w.createElement(eE,pt({key:u},l,{title:r}),zP(o)):w.createElement(qT,pt({key:u},l,{title:r}),zP(o)):a==="divider"?w.createElement(BP,pt({key:u},l)):w.createElement(y_,pt({key:u},l),r)}return null}).filter(function(e){return e})}function G4e(n,e,t){var i=n;return e&&(i=zP(e)),OP(i,t)}var X4e=["prefixCls","rootClassName","style","className","tabIndex","items","children","direction","id","mode","inlineCollapsed","disabled","disabledOverflow","subMenuOpenDelay","subMenuCloseDelay","forceSubMenuRender","defaultOpenKeys","openKeys","activeKey","defaultActiveFirst","selectable","multiple","defaultSelectedKeys","selectedKeys","onSelect","onDeselect","inlineIndent","motion","defaultMotions","triggerSubMenuAction","builtinPlacements","itemIcon","expandIcon","overflowedIndicator","overflowedIndicatorPopupClassName","getPopupContainer","onClick","onOpenChange","onKeyDown","openAnimation","openTransitionName","_internalRenderMenuItem","_internalRenderSubMenuItem"],yw=[],P4e=w.forwardRef(function(n,e){var t,i=n,r=i.prefixCls,o=r===void 0?"rc-menu":r,s=i.rootClassName,a=i.style,l=i.className,u=i.tabIndex,c=u===void 0?0:u,d=i.items,h=i.children,m=i.direction,f=i.id,g=i.mode,b=g===void 0?"vertical":g,v=i.inlineCollapsed,C=i.disabled,S=i.disabledOverflow,x=i.subMenuOpenDelay,_=x===void 0?.1:x,F=i.subMenuCloseDelay,D=F===void 0?.1:F,M=i.forceSubMenuRender,T=i.defaultOpenKeys,Z=i.openKeys,E=i.activeKey,R=i.defaultActiveFirst,W=i.selectable,A=W===void 0?!0:W,z=i.multiple,O=z===void 0?!1:z,B=i.defaultSelectedKeys,P=i.selectedKeys,H=i.onSelect,k=i.onDeselect,X=i.inlineIndent,Y=X===void 0?24:X,V=i.motion,te=i.defaultMotions,oe=i.triggerSubMenuAction,ae=oe===void 0?"hover":oe,le=i.builtinPlacements,ue=i.itemIcon,Ce=i.expandIcon,pe=i.overflowedIndicator,ce=pe===void 0?"...":pe,De=i.overflowedIndicatorPopupClassName,ke=i.getPopupContainer,Ne=i.onClick,Ue=i.onOpenChange,He=i.onKeyDown;i.openAnimation,i.openTransitionName;var ct=i._internalRenderMenuItem,vt=i._internalRenderSubMenuItem,it=zn(i,X4e),he=w.useMemo(function(){return G4e(h,d,yw)},[h,d]),de=w.useState(!1),me=Se(de,2),j=me[0],$=me[1],q=w.useRef(),ee=b4e(f),ve=m==="rtl",Le=Jr(T,{value:Z,postState:function(ci){return ci||yw}}),Me=Se(Le,2),Be=Me[0],$e=Me[1],Re=function(ci){var on=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;function bn(){$e(ci),Ue==null||Ue(ci)}on?th.flushSync(bn):bn()},ht=w.useState(Be),Ye=Se(ht,2),Ge=Ye[0],mt=Ye[1],St=w.useRef(!1),Kt=w.useMemo(function(){return(b==="inline"||b==="vertical")&&v?["vertical",v]:[b,!1]},[b,v]),Rt=Se(Kt,2),Yt=Rt[0],Tn=Rt[1],li=Yt==="inline",Et=w.useState(Yt),kt=Se(Et,2),fe=kt[0],_e=kt[1],We=w.useState(Tn),Xe=Se(We,2),ft=Xe[0],Nt=Xe[1];w.useEffect(function(){_e(Yt),Nt(Tn),St.current&&(li?$e(Ge):Re(yw))},[Yt,Tn]);var et=w.useState(0),rt=Se(et,2),yt=rt[0],Ft=rt[1],tn=yt>=he.length-1||fe!=="horizontal"||S;w.useEffect(function(){li&&mt(Be)},[Be]),w.useEffect(function(){return St.current=!0,function(){St.current=!1}},[]);var Jt=g4e(),qt=Jt.registerPath,Mn=Jt.unregisterPath,mn=Jt.refreshOverflowKeys,Ot=Jt.isSubPathKey,gn=Jt.getKeyPath,Tt=Jt.getKeys,we=Jt.getSubPathKeys,Ke=w.useMemo(function(){return{registerPath:qt,unregisterPath:Mn}},[qt,Mn]),dt=w.useMemo(function(){return{isSubPathKey:Ot}},[Ot]);w.useEffect(function(){mn(tn?yw:he.slice(yt+1).map(function(Qi){return Qi.key}))},[yt,tn]);var nn=Jr(E||R&&((t=he[0])===null||t===void 0?void 0:t.key),{value:E}),jn=Se(nn,2),Wn=jn[0],rn=jn[1],fi=v_(function(Qi){rn(Qi)}),_n=v_(function(){rn(void 0)});w.useImperativeHandle(e,function(){return{list:q.current,focus:function(ci){var on,bn=Tt(),Di=AP(bn,ee),Ur=Di.elements,cr=Di.key2element,Kr=Di.element2key,kn=VP(q.current,Ur),Cn=Wn??(kn[0]?Kr.get(kn[0]):(on=he.find(function(ds){return!ds.props.disabled}))===null||on===void 0?void 0:on.key),Gi=cr.get(Cn);if(Cn&&Gi){var Co;Gi==null||(Co=Gi.focus)===null||Co===void 0||Co.call(Gi,ci)}}}});var gi=Jr(B||[],{value:P,postState:function(ci){return Array.isArray(ci)?ci:ci==null?yw:[ci]}}),Hr=Se(gi,2),As=Hr[0],cs=Hr[1],yu=function(ci){if(A){var on=ci.key,bn=As.includes(on),Di;O?bn?Di=As.filter(function(cr){return cr!==on}):Di=[].concat(_t(As),[on]):Di=[on],cs(Di);var Ur=xe(xe({},ci),{},{selectedKeys:Di});bn?k==null||k(Ur):H==null||H(Ur)}!O&&Be.length&&fe!=="inline"&&Re(yw)},Jl=v_(function(Qi){Ne==null||Ne($T(Qi)),yu(Qi)}),qo=v_(function(Qi,ci){var on=Be.filter(function(Di){return Di!==Qi});if(ci)on.push(Qi);else if(fe!=="inline"){var bn=we(Qi);on=on.filter(function(Di){return!bn.has(Di)})}RL(Be,on,!0)||Re(on,!0)}),Yr=function(ci,on){var bn=on??!Be.includes(ci);qo(ci,bn)},Cu=h4e(fe,Wn,ve,ee,q,Tt,gn,rn,Yr,He);w.useEffect(function(){$(!0)},[]);var es=w.useMemo(function(){return{_internalRenderMenuItem:ct,_internalRenderSubMenuItem:vt}},[ct,vt]),Wa=fe!=="horizontal"||S?he:he.map(function(Qi,ci){return w.createElement(g_,{key:Qi.key,overflowDisabled:ci>yt},Qi)}),pl=w.createElement(lh,pt({id:f,ref:q,prefixCls:"".concat(o,"-overflow"),component:"ul",itemComponent:y_,className:Te(o,"".concat(o,"-root"),"".concat(o,"-").concat(fe),l,ge(ge({},"".concat(o,"-inline-collapsed"),ft),"".concat(o,"-rtl"),ve),s),dir:m,style:a,role:"menu",tabIndex:c,data:Wa,renderRawItem:function(ci){return ci},renderRawRest:function(ci){var on=ci.length,bn=on?he.slice(-on):null;return w.createElement(qT,{eventKey:XP,title:ce,disabled:tn,internalPopupClose:on===0,popupClassName:De},bn)},maxCount:fe!=="horizontal"||S?lh.INVALIDATE:lh.RESPONSIVE,ssr:"full","data-menu-list":!0,onVisibleChange:function(ci){Ft(ci)},onKeyDown:Cu},it));return w.createElement(EP.Provider,{value:es},w.createElement(Vse.Provider,{value:ee},w.createElement(g_,{prefixCls:o,rootClassName:s,mode:fe,openKeys:Be,rtl:ve,disabled:C,motion:j?V:null,defaultMotions:j?te:null,activeKey:Wn,onActive:fi,onInactive:_n,selectedKeys:As,inlineIndent:Y,subMenuOpenDelay:_,subMenuCloseDelay:D,forceSubMenuRender:M,builtinPlacements:le,triggerSubMenuAction:ae,getPopupContainer:ke,itemIcon:ue,expandIcon:Ce,onItemClick:Jl,onOpenChange:qo},w.createElement(Ose.Provider,{value:dt},pl),w.createElement("div",{style:{display:"none"},"aria-hidden":!0},w.createElement(Xse.Provider,{value:Ke},he)))))}),Cw=P4e;Cw.Item=y_,Cw.SubMenu=qT,Cw.ItemGroup=eE,Cw.Divider=BP;var O4e={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"bars",theme:"outlined"};const B4e=O4e;var z4e=function(e,t){return w.createElement(So,pt({},e,{ref:t,icon:B4e}))},H4e=w.forwardRef(z4e);const Y4e=H4e;var U4e={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"}}]},name:"left",theme:"outlined"};const K4e=U4e;var J4e=function(e,t){return w.createElement(So,pt({},e,{ref:t,icon:K4e}))},j4e=w.forwardRef(J4e);const qse=j4e,Q4e=n=>!isNaN(parseFloat(n))&&isFinite(n),eae=w.createContext({siderHook:{addSider:()=>null,removeSider:()=>null}});var $4e=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{let n=0;return function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return n+=1,`${e}${n}`}})(),HP=w.forwardRef((n,e)=>{const{prefixCls:t,className:i,trigger:r,children:o,defaultCollapsed:s=!1,theme:a="dark",style:l={},collapsible:u=!1,reverseArrow:c=!1,width:d=200,collapsedWidth:h=80,zeroWidthTriggerStyle:m,breakpoint:f,onCollapse:g,onBreakpoint:b}=n,v=$4e(n,["prefixCls","className","trigger","children","defaultCollapsed","theme","style","collapsible","reverseArrow","width","collapsedWidth","zeroWidthTriggerStyle","breakpoint","onCollapse","onBreakpoint"]),{siderHook:C}=w.useContext(eae),[S,x]=w.useState("collapsed"in n?n.collapsed:s),[_,F]=w.useState(!1);w.useEffect(()=>{"collapsed"in n&&x(n.collapsed)},[n.collapsed]);const D=(W,A)=>{"collapsed"in n||x(W),g==null||g(W,A)},M=w.useRef();M.current=W=>{F(W.matches),b==null||b(W.matches),S!==W.matches&&D(W.matches,"responsive")},w.useEffect(()=>{function W(z){return M.current(z)}let A;if(typeof window<"u"){const{matchMedia:z}=window;if(z&&f&&f in tae){A=z(`screen and (max-width: ${tae[f]})`);try{A.addEventListener("change",W)}catch{A.addListener(W)}W(A)}}return()=>{try{A==null||A.removeEventListener("change",W)}catch{A==null||A.removeListener(W)}}},[f]),w.useEffect(()=>{const W=q4e("ant-sider-");return C.addSider(W),()=>C.removeSider(W)},[]);const T=()=>{D(!S,"clickTrigger")},{getPrefixCls:Z}=w.useContext(Rn),E=()=>{const W=Z("layout-sider",t),A=la(v,["collapsed"]),z=S?h:d,O=Q4e(z)?`${z}px`:String(z),B=parseFloat(String(h||0))===0?w.createElement("span",{onClick:T,className:Te(`${W}-zero-width-trigger`,`${W}-zero-width-trigger-${c?"right":"left"}`),style:m},r||w.createElement(Y4e,null)):null,k={expanded:c?w.createElement(TP,null):w.createElement(qse,null),collapsed:c?w.createElement(qse,null):w.createElement(TP,null)}[S?"collapsed":"expanded"],X=r!==null?B||w.createElement("div",{className:`${W}-trigger`,onClick:T,style:{width:O}},r||k):null,Y=Object.assign(Object.assign({},l),{flex:`0 0 ${O}`,maxWidth:O,minWidth:O,width:O}),V=Te(W,`${W}-${a}`,{[`${W}-collapsed`]:!!S,[`${W}-has-trigger`]:u&&r!==null&&!B,[`${W}-below`]:!!_,[`${W}-zero-width`]:parseFloat(O)===0},i);return w.createElement("aside",Object.assign({className:V},A,{style:Y,ref:e}),w.createElement("div",{className:`${W}-children`},o),u||_&&B?X:null)},R=w.useMemo(()=>({siderCollapsed:S}),[S]);return w.createElement(tE.Provider,{value:R},E())});var ePe={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M176 511a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"ellipsis",theme:"outlined"};const tPe=ePe;var nPe=function(e,t){return w.createElement(So,pt({},e,{ref:t,icon:tPe}))},iPe=w.forwardRef(nPe);const YP=iPe;var rPe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const{prefixCls:e,className:t,dashed:i}=n,r=rPe(n,["prefixCls","className","dashed"]),{getPrefixCls:o}=w.useContext(Rn),s=o("menu",e),a=Te({[`${s}-item-divider-dashed`]:!!i},t);return w.createElement(BP,Object.assign({className:a},r))},nE=w.createContext({prefixCls:"",firstLevel:!0,inlineCollapsed:!1}),iae=n=>{var e;const{className:t,children:i,icon:r,title:o,danger:s}=n,{prefixCls:a,firstLevel:l,direction:u,disableMenuItemTitleTooltip:c,inlineCollapsed:d}=w.useContext(nE),h=C=>{const S=w.createElement("span",{className:`${a}-title-content`},i);return(!r||w.isValidElement(i)&&i.type==="span")&&i&&C&&l&&typeof i=="string"?w.createElement("div",{className:`${a}-inline-collapsed-noicon`},i.charAt(0)):S},{siderCollapsed:m}=w.useContext(tE);let f=o;typeof o>"u"?f=l?i:"":o===!1&&(f="");const g={title:f};!m&&!d&&(g.title=null,g.open=!1);const b=ad(i).length;let v=w.createElement(y_,Object.assign({},la(n,["title","icon","danger"]),{className:Te({[`${a}-item-danger`]:s,[`${a}-item-only-child`]:(r?b+1:b)===1},t),title:typeof o=="string"?o:void 0}),eu(r,{className:Te(w.isValidElement(r)?(e=r.props)===null||e===void 0?void 0:e.className:"",`${a}-item-icon`)}),h(d));return c||(v=w.createElement(sg,Object.assign({},g,{placement:u==="rtl"?"left":"right",overlayClassName:`${a}-inline-collapsed-tooltip`}),v)),v},rae=n=>{var e;const{popupClassName:t,icon:i,title:r,theme:o}=n,s=w.useContext(nE),{prefixCls:a,inlineCollapsed:l,theme:u}=s,c=vw();let d;if(!i)d=l&&!c.length&&r&&typeof r=="string"?w.createElement("div",{className:`${a}-inline-collapsed-noicon`},r.charAt(0)):w.createElement("span",{className:`${a}-title-content`},r);else{const f=w.isValidElement(r)&&r.type==="span";d=w.createElement(w.Fragment,null,eu(i,{className:Te(w.isValidElement(i)?(e=i.props)===null||e===void 0?void 0:e.className:"",`${a}-item-icon`)}),f?r:w.createElement("span",{className:`${a}-title-content`},r))}const h=w.useMemo(()=>Object.assign(Object.assign({},s),{firstLevel:!1}),[s]),[m]=iv("Menu");return w.createElement(nE.Provider,{value:h},w.createElement(qT,Object.assign({},la(n,["icon"]),{title:d,popupClassName:Te(a,t,`${a}-${o||u}`),popupStyle:{zIndex:m}})))};var oPe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{if(e&&typeof e=="object"){const i=e,{label:r,children:o,key:s,type:a}=i,l=oPe(i,["label","children","key","type"]),u=s??`tmp-${t}`;return o||a==="group"?a==="group"?w.createElement(eE,Object.assign({key:u},l,{title:r}),UP(o)):w.createElement(rae,Object.assign({key:u},l,{title:r}),UP(o)):a==="divider"?w.createElement(nae,Object.assign({key:u},l)):w.createElement(iae,Object.assign({key:u},l),r)}return null}).filter(e=>e)}function sPe(n){return w.useMemo(()=>n&&UP(n),[n])}var aPe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const{children:t}=n,i=aPe(n,["children"]),r=w.useContext(iE),o=w.useMemo(()=>Object.assign(Object.assign({},r),i),[r,i.prefixCls,i.mode,i.selectable,i.rootClassName]),s=SEe(t),a=tb(e,s?t.ref:null);return w.createElement(iE.Provider,{value:o},w.createElement(ig,null,s?w.cloneElement(t,{ref:a}):t))}),uPe=n=>{const{componentCls:e,motionDurationSlow:t,horizontalLineHeight:i,colorSplit:r,lineWidth:o,lineType:s,itemPaddingInline:a}=n;return{[`${e}-horizontal`]:{lineHeight:i,border:0,borderBottom:`${Ee(o)} ${s} ${r}`,boxShadow:"none","&::after":{display:"block",clear:"both",height:0,content:'"\\20"'},[`${e}-item, ${e}-submenu`]:{position:"relative",display:"inline-block",verticalAlign:"bottom",paddingInline:a},[`> ${e}-item:hover, + `]:{paddingInlineEnd:n.calc(n.fontSize).mul(1.5).equal()}}}},DP(Yi(n,{controlHeight:n.singleItemHeightLG,fontSize:n.fontSizeLG,borderRadius:n.borderRadiusLG}),"lg")]}const QGe=n=>{const{fontSize:e,lineHeight:t,lineWidth:i,controlHeight:r,controlHeightSM:o,controlHeightLG:s,paddingXXS:a,controlPaddingHorizontal:l,zIndexPopupBase:u,colorText:c,fontWeightStrong:d,controlItemBgActive:h,controlItemBgHover:m,colorBgContainer:f,colorFillSecondary:g,colorBgContainerDisabled:b,colorTextDisabled:y}=n,C=a*2,w=i*2,x=Math.min(r-C,r-w),L=Math.min(o-C,o-w),I=Math.min(s-C,s-w);return{INTERNAL_FIXED_ITEM_MARGIN:Math.floor(a/2),zIndexPopup:u+50,optionSelectedColor:c,optionSelectedFontWeight:d,optionSelectedBg:h,optionActiveBg:m,optionPadding:`${(r-e*t)/2}px ${l}px`,optionFontSize:e,optionLineHeight:t,optionHeight:r,selectorBg:f,clearBg:f,singleItemHeightLG:s,multipleItemBg:g,multipleItemBorderColor:"transparent",multipleItemHeight:x,multipleItemHeightSM:L,multipleItemHeightLG:I,multipleSelectorBgDisabled:b,multipleItemColorDisabled:y,multipleItemBorderColorDisabled:"transparent",showArrowPaddingInlineEnd:Math.ceil(n.fontSize*1.25)}},yse=(n,e)=>{const{componentCls:t,antCls:i,controlOutlineWidth:r}=n;return{[`&:not(${t}-customize-input) ${t}-selector`]:{border:`${Ee(n.lineWidth)} ${n.lineType} ${e.borderColor}`,background:n.selectorBg},[`&:not(${t}-disabled):not(${t}-customize-input):not(${i}-pagination-size-changer)`]:{[`&:hover ${t}-selector`]:{borderColor:e.hoverBorderHover},[`${t}-focused& ${t}-selector`]:{borderColor:e.activeBorderColor,boxShadow:`0 0 0 ${Ee(r)} ${e.activeShadowColor}`,outline:0}}}},vse=(n,e)=>({[`&${n.componentCls}-status-${e.status}`]:Object.assign({},yse(n,e))}),$Ge=n=>({"&-outlined":Object.assign(Object.assign(Object.assign(Object.assign({},yse(n,{borderColor:n.colorBorder,hoverBorderHover:n.colorPrimaryHover,activeBorderColor:n.colorPrimary,activeShadowColor:n.controlOutline})),vse(n,{status:"error",borderColor:n.colorError,hoverBorderHover:n.colorErrorHover,activeBorderColor:n.colorError,activeShadowColor:n.colorErrorOutline})),vse(n,{status:"warning",borderColor:n.colorWarning,hoverBorderHover:n.colorWarningHover,activeBorderColor:n.colorWarning,activeShadowColor:n.colorWarningOutline})),{[`&${n.componentCls}-disabled`]:{[`&:not(${n.componentCls}-customize-input) ${n.componentCls}-selector`]:{background:n.colorBgContainerDisabled,color:n.colorTextDisabled}},[`&${n.componentCls}-multiple ${n.componentCls}-selection-item`]:{background:n.multipleItemBg,border:`${Ee(n.lineWidth)} ${n.lineType} ${n.multipleItemBorderColor}`}})}),Cse=(n,e)=>{const{componentCls:t,antCls:i}=n;return{[`&:not(${t}-customize-input) ${t}-selector`]:{background:e.bg,border:`${Ee(n.lineWidth)} ${n.lineType} transparent`,color:e.color},[`&:not(${t}-disabled):not(${t}-customize-input):not(${i}-pagination-size-changer)`]:{[`&:hover ${t}-selector`]:{background:e.hoverBg},[`${t}-focused& ${t}-selector`]:{background:n.selectorBg,borderColor:e.activeBorderColor,outline:0}}}},Sse=(n,e)=>({[`&${n.componentCls}-status-${e.status}`]:Object.assign({},Cse(n,e))}),qGe=n=>({"&-filled":Object.assign(Object.assign(Object.assign(Object.assign({},Cse(n,{bg:n.colorFillTertiary,hoverBg:n.colorFillSecondary,activeBorderColor:n.colorPrimary,color:n.colorText})),Sse(n,{status:"error",bg:n.colorErrorBg,hoverBg:n.colorErrorBgHover,activeBorderColor:n.colorError,color:n.colorError})),Sse(n,{status:"warning",bg:n.colorWarningBg,hoverBg:n.colorWarningBgHover,activeBorderColor:n.colorWarning,color:n.colorWarning})),{[`&${n.componentCls}-disabled`]:{[`&:not(${n.componentCls}-customize-input) ${n.componentCls}-selector`]:{borderColor:n.colorBorder,background:n.colorBgContainerDisabled,color:n.colorTextDisabled}},[`&${n.componentCls}-multiple ${n.componentCls}-selection-item`]:{background:n.colorBgContainer,border:`${Ee(n.lineWidth)} ${n.lineType} ${n.colorSplit}`}})}),eXe=n=>({"&-borderless":{[`${n.componentCls}-selector`]:{background:"transparent",borderColor:"transparent"},[`&${n.componentCls}-disabled`]:{[`&:not(${n.componentCls}-customize-input) ${n.componentCls}-selector`]:{color:n.colorTextDisabled}},[`&${n.componentCls}-multiple ${n.componentCls}-selection-item`]:{background:n.multipleItemBg,border:`${Ee(n.lineWidth)} ${n.lineType} ${n.multipleItemBorderColor}`}}}),tXe=n=>({[n.componentCls]:Object.assign(Object.assign(Object.assign({},$Ge(n)),qGe(n)),eXe(n))}),nXe=n=>{const{componentCls:e}=n;return{position:"relative",transition:`all ${n.motionDurationMid} ${n.motionEaseInOut}`,input:{cursor:"pointer"},[`${e}-show-search&`]:{cursor:"text",input:{cursor:"auto",color:"inherit",height:"100%"}},[`${e}-disabled&`]:{cursor:"not-allowed",input:{cursor:"not-allowed"}}}},iXe=n=>{const{componentCls:e}=n;return{[`${e}-selection-search-input`]:{margin:0,padding:0,background:"transparent",border:"none",outline:"none",appearance:"none",fontFamily:"inherit","&::-webkit-search-cancel-button":{display:"none","-webkit-appearance":"none"}}}},rXe=n=>{const{antCls:e,componentCls:t,inputPaddingHorizontalBase:i,iconCls:r}=n;return{[t]:Object.assign(Object.assign({},uo(n)),{position:"relative",display:"inline-block",cursor:"pointer",[`&:not(${t}-customize-input) ${t}-selector`]:Object.assign(Object.assign({},nXe(n)),iXe(n)),[`${t}-selection-item`]:Object.assign(Object.assign({flex:1,fontWeight:"normal",position:"relative",userSelect:"none"},ab),{[`> ${e}-typography`]:{display:"inline"}}),[`${t}-selection-placeholder`]:Object.assign(Object.assign({},ab),{flex:1,color:n.colorTextPlaceholder,pointerEvents:"none"}),[`${t}-arrow`]:Object.assign(Object.assign({},H_()),{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:i,height:n.fontSizeIcon,marginTop:n.calc(n.fontSizeIcon).mul(-1).div(2).equal(),color:n.colorTextQuaternary,fontSize:n.fontSizeIcon,lineHeight:1,textAlign:"center",pointerEvents:"none",display:"flex",alignItems:"center",transition:`opacity ${n.motionDurationSlow} ease`,[r]:{verticalAlign:"top",transition:`transform ${n.motionDurationSlow}`,"> svg":{verticalAlign:"top"},[`&:not(${t}-suffix)`]:{pointerEvents:"auto"}},[`${t}-disabled &`]:{cursor:"not-allowed"},"> *:not(:last-child)":{marginInlineEnd:8}}),[`${t}-clear`]:{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:i,zIndex:1,display:"inline-block",width:n.fontSizeIcon,height:n.fontSizeIcon,marginTop:n.calc(n.fontSizeIcon).mul(-1).div(2).equal(),color:n.colorTextQuaternary,fontSize:n.fontSizeIcon,fontStyle:"normal",lineHeight:1,textAlign:"center",textTransform:"none",cursor:"pointer",opacity:0,transition:`color ${n.motionDurationMid} ease, opacity ${n.motionDurationSlow} ease`,textRendering:"auto","&:before":{display:"block"},"&:hover":{color:n.colorTextTertiary}},"&:hover":{[`${t}-clear`]:{opacity:1},[`${t}-arrow:not(:last-child)`]:{opacity:0}}}),[`${t}-has-feedback`]:{[`${t}-clear`]:{insetInlineEnd:n.calc(i).add(n.fontSize).add(n.paddingXS).equal()}}}},oXe=n=>{const{componentCls:e}=n;return[{[e]:{[`&${e}-in-form-item`]:{width:"100%"}}},rXe(n),jGe(n),JGe(n),YGe(n),{[`${e}-rtl`]:{direction:"rtl"}},Q_(n,{borderElCls:`${e}-selector`,focusElCls:`${e}-focused`})]},sXe=Ho("Select",(n,e)=>{let{rootPrefixCls:t}=e;const i=Yi(n,{rootPrefixCls:t,inputPaddingHorizontalBase:n.calc(n.paddingSM).sub(1).equal(),multipleSelectItemHeight:n.multipleItemHeight,selectHeight:n.controlHeight});return[oXe(i),tXe(i)]},QGe,{unitless:{optionLineHeight:!0,optionSelectedFontWeight:!0}});var aXe={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"}}]},name:"check",theme:"outlined"};const lXe=aXe;var uXe=function(e,t){return S.createElement(wo,pt({},e,{ref:t,icon:lXe}))},cXe=S.forwardRef(uXe);const wse=cXe;var dXe={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"}}]},name:"down",theme:"outlined"};const hXe=dXe;var mXe=function(e,t){return S.createElement(wo,pt({},e,{ref:t,icon:hXe}))},fXe=S.forwardRef(mXe);const xse=fXe;var gXe={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"}}]},name:"search",theme:"outlined"};const pXe=gXe;var bXe=function(e,t){return S.createElement(wo,pt({},e,{ref:t,icon:pXe}))},yXe=S.forwardRef(bXe);const _se=yXe;function Lse(n){let{suffixIcon:e,clearIcon:t,menuItemSelectedIcon:i,removeIcon:r,loading:o,multiple:s,hasFeedback:a,prefixCls:l,showSuffixIcon:u,feedbackIcon:c,showArrow:d,componentName:h}=n;const m=t??S.createElement(ty,null),f=C=>e===null&&!a&&!d?null:S.createElement(S.Fragment,null,u!==!1&&C,a&&c);let g=null;if(e!==void 0)g=f(e);else if(o)g=f(S.createElement(iS,{spin:!0}));else{const C=`${l}-suffix`;g=w=>{let{open:x,showSearch:L}=w;return f(x&&L?S.createElement(_se,{className:C}):S.createElement(xse,{className:C}))}}let b=null;i!==void 0?b=i:s?b=S.createElement(wse,null):b=null;let y=null;return r!==void 0?y=r:y=S.createElement(lb,null),{clearIcon:m,suffixIcon:g,itemIcon:b,removeIcon:y}}function vXe(n,e){return e!==void 0?e:n!==null}var CXe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{var t;const{prefixCls:i,bordered:r,className:o,rootClassName:s,getPopupContainer:a,popupClassName:l,dropdownClassName:u,listHeight:c=256,placement:d,listItemHeight:h,size:m,disabled:f,notFoundContent:g,status:b,builtinPlacements:y,dropdownMatchSelectWidth:C,popupMatchSelectWidth:w,direction:x,style:L,allowClear:I,variant:D,dropdownStyle:N,transitionName:T,tagRender:R,maxCount:E}=n,W=CXe(n,["prefixCls","bordered","className","rootClassName","getPopupContainer","popupClassName","dropdownClassName","listHeight","placement","listItemHeight","size","disabled","notFoundContent","status","builtinPlacements","dropdownMatchSelectWidth","popupMatchSelectWidth","direction","style","allowClear","variant","dropdownStyle","transitionName","tagRender","maxCount"]),{getPopupContainer:Z,getPrefixCls:V,renderEmpty:z,direction:O,virtual:B,popupMatchSelectWidth:P,popupOverflow:H,select:M}=S.useContext(Wn),[,X]=Pa(),Y=h??(X==null?void 0:X.controlHeight),A=V("select",i),te=V(),oe=x??O,{compactSize:ae,compactItemClassnames:le}=db(A,oe),[ue,Ce]=dS(D,r),pe=Ls(A),[ce,De,Me]=sXe(A,pe),ke=S.useMemo(()=>{const{mode:wt}=n;if(wt!=="combobox")return wt===Ise?"combobox":wt},[n.mode]),Ue=ke==="multiple"||ke==="tags",He=vXe(n.suffixIcon,n.showArrow),ct=(t=w??C)!==null&&t!==void 0?t:P,{status:yt,hasFeedback:it,isFormItemInput:he,feedbackIcon:de}=S.useContext(Ba),me=ly(yt,b);let j;g!==void 0?j=g:ke==="combobox"?j=null:j=(z==null?void 0:z("Select"))||S.createElement(OGe,{componentName:"Select"});const{suffixIcon:$,itemIcon:q,removeIcon:ee,clearIcon:ye}=Lse(Object.assign(Object.assign({},W),{multiple:Ue,hasFeedback:it,feedbackIcon:de,showSuffixIcon:He,prefixCls:A,componentName:"Select"})),_e=I===!0?{clearIcon:ye}:I,Ne=la(W,["suffixIcon","itemIcon"]),Be=Te(l||u,{[`${A}-dropdown-${oe}`]:oe==="rtl"},s,Me,pe,De),$e=pc(wt=>{var Kt;return(Kt=m??ae)!==null&&Kt!==void 0?Kt:wt}),We=S.useContext(oh),ht=f??We,Ye=Te({[`${A}-lg`]:$e==="large",[`${A}-sm`]:$e==="small",[`${A}-rtl`]:oe==="rtl",[`${A}-${ue}`]:Ce,[`${A}-in-form-item`]:he},mb(A,me,it),le,M==null?void 0:M.className,o,s,Me,pe,De),Ge=S.useMemo(()=>d!==void 0?d:oe==="rtl"?"bottomRight":"bottomLeft",[d,oe]),[mt]=iy("SelectLike",N==null?void 0:N.zIndex);return ce(S.createElement(LP,Object.assign({ref:e,virtual:B,showSearch:M==null?void 0:M.showSearch},Ne,{style:Object.assign(Object.assign({},M==null?void 0:M.style),L),dropdownMatchSelectWidth:ct,transitionName:cb(te,"slide-up",T),builtinPlacements:HGe(y,H),listHeight:c,listItemHeight:Y,mode:ke,prefixCls:A,placement:Ge,direction:oe,suffixIcon:$,menuItemSelectedIcon:q,removeIcon:ee,allowClear:_e,notFoundContent:j,className:Ye,getPopupContainer:a||Z,dropdownClassName:Be,disabled:ht,dropdownStyle:Object.assign(Object.assign({},N),{zIndex:mt}),maxCount:Ue?E:void 0,tagRender:Ue?R:void 0})))},hS=S.forwardRef(SXe),wXe=PT(hS);hS.SECRET_COMBOBOX_MODE_DO_NOT_USE=Ise,hS.Option=xP,hS.OptGroup=wP,hS._InternalPanelDoNotUseOrYouWillBeFired=wXe;const mS=hS,fL=["xxl","xl","lg","md","sm","xs"],xXe=n=>({xs:`(max-width: ${n.screenXSMax}px)`,sm:`(min-width: ${n.screenSM}px)`,md:`(min-width: ${n.screenMD}px)`,lg:`(min-width: ${n.screenLG}px)`,xl:`(min-width: ${n.screenXL}px)`,xxl:`(min-width: ${n.screenXXL}px)`}),_Xe=n=>{const e=n,t=[].concat(fL).reverse();return t.forEach((i,r)=>{const o=i.toUpperCase(),s=`screen${o}Min`,a=`screen${o}`;if(!(e[s]<=e[a]))throw new Error(`${s}<=${a} fails : !(${e[s]}<=${e[a]})`);if(r{const t=new Map;let i=-1,r={};return{matchHandlers:{},dispatch(o){return r=o,t.forEach(s=>s(r)),t.size>=1},subscribe(o){return t.size||this.register(),i+=1,t.set(i,o),o(r),i},unsubscribe(o){t.delete(o),t.size||this.unregister()},unregister(){Object.keys(e).forEach(o=>{const s=e[o],a=this.matchHandlers[s];a==null||a.mql.removeListener(a==null?void 0:a.listener)}),t.clear()},register(){Object.keys(e).forEach(o=>{const s=e[o],a=u=>{let{matches:c}=u;this.dispatch(Object.assign(Object.assign({},r),{[o]:c}))},l=window.matchMedia(s);l.addListener(a),this.matchHandlers[s]={mql:l,listener:a},a(l)})},responsiveMap:e}},[n])}function IXe(){const[,n]=S.useReducer(e=>e+1,0);return n}const HT=n=>n?typeof n=="function"?n():n:null;function NP(n){var e=n.children,t=n.prefixCls,i=n.id,r=n.overlayInnerStyle,o=n.className,s=n.style;return S.createElement("div",{className:Te("".concat(t,"-content"),o),style:s},S.createElement("div",{className:"".concat(t,"-inner"),id:i,role:"tooltip",style:r},typeof e=="function"?e():e))}var fS={shiftX:64,adjustY:1},gS={adjustX:1,shiftY:!0},cd=[0,0],FXe={left:{points:["cr","cl"],overflow:gS,offset:[-4,0],targetOffset:cd},right:{points:["cl","cr"],overflow:gS,offset:[4,0],targetOffset:cd},top:{points:["bc","tc"],overflow:fS,offset:[0,-4],targetOffset:cd},bottom:{points:["tc","bc"],overflow:fS,offset:[0,4],targetOffset:cd},topLeft:{points:["bl","tl"],overflow:fS,offset:[0,-4],targetOffset:cd},leftTop:{points:["tr","tl"],overflow:gS,offset:[-4,0],targetOffset:cd},topRight:{points:["br","tr"],overflow:fS,offset:[0,-4],targetOffset:cd},rightTop:{points:["tl","tr"],overflow:gS,offset:[4,0],targetOffset:cd},bottomRight:{points:["tr","br"],overflow:fS,offset:[0,4],targetOffset:cd},rightBottom:{points:["bl","br"],overflow:gS,offset:[4,0],targetOffset:cd},bottomLeft:{points:["tl","bl"],overflow:fS,offset:[0,4],targetOffset:cd},leftBottom:{points:["br","bl"],overflow:gS,offset:[-4,0],targetOffset:cd}},DXe=["overlayClassName","trigger","mouseEnterDelay","mouseLeaveDelay","overlayStyle","prefixCls","children","onVisibleChange","afterVisibleChange","transitionName","animation","motion","placement","align","destroyTooltipOnHide","defaultVisible","getTooltipContainer","overlayInnerStyle","arrowContent","overlay","id","showArrow"],NXe=function(e,t){var i=e.overlayClassName,r=e.trigger,o=r===void 0?["hover"]:r,s=e.mouseEnterDelay,a=s===void 0?0:s,l=e.mouseLeaveDelay,u=l===void 0?.1:l,c=e.overlayStyle,d=e.prefixCls,h=d===void 0?"rc-tooltip":d,m=e.children,f=e.onVisibleChange,g=e.afterVisibleChange,b=e.transitionName,y=e.animation,C=e.motion,w=e.placement,x=w===void 0?"right":w,L=e.align,I=L===void 0?{}:L,D=e.destroyTooltipOnHide,N=D===void 0?!1:D,T=e.defaultVisible,R=e.getTooltipContainer,E=e.overlayInnerStyle;e.arrowContent;var W=e.overlay,Z=e.id,V=e.showArrow,z=V===void 0?!0:V,O=zn(e,DXe),B=S.useRef(null);S.useImperativeHandle(t,function(){return B.current});var P=xe({},O);"visible"in e&&(P.popupVisible=e.visible);var H=function(){return S.createElement(NP,{key:"content",prefixCls:h,id:Z,overlayInnerStyle:E},W)};return S.createElement(hL,pt({popupClassName:i,prefixCls:h,popup:H,action:o,builtinPlacements:FXe,popupPlacement:x,ref:B,popupAlign:I,getPopupContainer:R,onPopupVisibleChange:f,afterPopupVisibleChange:g,popupTransitionName:b,popupAnimation:y,popupMotion:C,defaultPopupVisible:T,autoDestroy:N,mouseLeaveDelay:u,popupStyle:c,mouseEnterDelay:a,arrow:z},P),m)};const MXe=S.forwardRef(NXe);function YT(n){const{sizePopupArrow:e,borderRadiusXS:t,borderRadiusOuter:i}=n,r=e/2,o=0,s=r,a=i*1/Math.sqrt(2),l=r-i*(1-1/Math.sqrt(2)),u=r-t*(1/Math.sqrt(2)),c=i*(Math.sqrt(2)-1)+t*(1/Math.sqrt(2)),d=2*r-u,h=c,m=2*r-a,f=l,g=2*r-o,b=s,y=r*Math.sqrt(2)+i*(Math.sqrt(2)-2),C=i*(Math.sqrt(2)-1),w=`polygon(${C}px 100%, 50% ${C}px, ${2*r-C}px 100%, ${C}px 100%)`,x=`path('M ${o} ${s} A ${i} ${i} 0 0 0 ${a} ${l} L ${u} ${c} A ${t} ${t} 0 0 1 ${d} ${h} L ${m} ${f} A ${i} ${i} 0 0 0 ${g} ${b} Z')`;return{arrowShadowWidth:y,arrowPath:x,arrowPolygon:w}}const Fse=(n,e,t)=>{const{sizePopupArrow:i,arrowPolygon:r,arrowPath:o,arrowShadowWidth:s,borderRadiusXS:a,calc:l}=n;return{pointerEvents:"none",width:i,height:i,overflow:"hidden","&::before":{position:"absolute",bottom:0,insetInlineStart:0,width:i,height:l(i).div(2).equal(),background:e,clipPath:{_multi_value_:!0,value:[r,o]},content:'""'},"&::after":{content:'""',position:"absolute",width:s,height:s,bottom:0,insetInline:0,margin:"auto",borderRadius:{_skip_check_:!0,value:`0 0 ${Ee(a)} 0`},transform:"translateY(50%) rotate(-135deg)",boxShadow:t,zIndex:0,background:"transparent"}}},Dse=8;function UT(n){const{contentRadius:e,limitVerticalRadius:t}=n,i=e>12?e+2:12;return{arrowOffsetHorizontal:i,arrowOffsetVertical:t?Dse:i}}function KT(n,e){return n?e:{}}function MP(n,e,t){const{componentCls:i,boxShadowPopoverArrow:r,arrowOffsetVertical:o,arrowOffsetHorizontal:s}=n,{arrowDistance:a=0,arrowPlacement:l={left:!0,right:!0,top:!0,bottom:!0}}=t||{};return{[i]:Object.assign(Object.assign(Object.assign(Object.assign({[`${i}-arrow`]:[Object.assign(Object.assign({position:"absolute",zIndex:1,display:"block"},Fse(n,e,r)),{"&:before":{background:e}})]},KT(!!l.top,{[[`&-placement-top > ${i}-arrow`,`&-placement-topLeft > ${i}-arrow`,`&-placement-topRight > ${i}-arrow`].join(",")]:{bottom:a,transform:"translateY(100%) rotate(180deg)"},[`&-placement-top > ${i}-arrow`]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(100%) rotate(180deg)"},[`&-placement-topLeft > ${i}-arrow`]:{left:{_skip_check_:!0,value:s}},[`&-placement-topRight > ${i}-arrow`]:{right:{_skip_check_:!0,value:s}}})),KT(!!l.bottom,{[[`&-placement-bottom > ${i}-arrow`,`&-placement-bottomLeft > ${i}-arrow`,`&-placement-bottomRight > ${i}-arrow`].join(",")]:{top:a,transform:"translateY(-100%)"},[`&-placement-bottom > ${i}-arrow`]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(-100%)"},[`&-placement-bottomLeft > ${i}-arrow`]:{left:{_skip_check_:!0,value:s}},[`&-placement-bottomRight > ${i}-arrow`]:{right:{_skip_check_:!0,value:s}}})),KT(!!l.left,{[[`&-placement-left > ${i}-arrow`,`&-placement-leftTop > ${i}-arrow`,`&-placement-leftBottom > ${i}-arrow`].join(",")]:{right:{_skip_check_:!0,value:a},transform:"translateX(100%) rotate(90deg)"},[`&-placement-left > ${i}-arrow`]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(100%) rotate(90deg)"},[`&-placement-leftTop > ${i}-arrow`]:{top:o},[`&-placement-leftBottom > ${i}-arrow`]:{bottom:o}})),KT(!!l.right,{[[`&-placement-right > ${i}-arrow`,`&-placement-rightTop > ${i}-arrow`,`&-placement-rightBottom > ${i}-arrow`].join(",")]:{left:{_skip_check_:!0,value:a},transform:"translateX(-100%) rotate(-90deg)"},[`&-placement-right > ${i}-arrow`]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(-100%) rotate(-90deg)"},[`&-placement-rightTop > ${i}-arrow`]:{top:o},[`&-placement-rightBottom > ${i}-arrow`]:{bottom:o}}))}}function kXe(n,e,t,i){if(i===!1)return{adjustX:!1,adjustY:!1};const r=i&&typeof i=="object"?i:{},o={};switch(n){case"top":case"bottom":o.shiftX=e.arrowOffsetHorizontal*2+t,o.shiftY=!0,o.adjustY=!0;break;case"left":case"right":o.shiftY=e.arrowOffsetVertical*2+t,o.shiftX=!0,o.adjustX=!0;break}const s=Object.assign(Object.assign({},o),r);return s.shiftX||(s.adjustX=!0),s.shiftY||(s.adjustY=!0),s}const Nse={left:{points:["cr","cl"]},right:{points:["cl","cr"]},top:{points:["bc","tc"]},bottom:{points:["tc","bc"]},topLeft:{points:["bl","tl"]},leftTop:{points:["tr","tl"]},topRight:{points:["br","tr"]},rightTop:{points:["tl","tr"]},bottomRight:{points:["tr","br"]},rightBottom:{points:["bl","br"]},bottomLeft:{points:["tl","bl"]},leftBottom:{points:["br","bl"]}},TXe={topLeft:{points:["bl","tc"]},leftTop:{points:["tr","cl"]},topRight:{points:["br","tc"]},rightTop:{points:["tl","cr"]},bottomRight:{points:["tr","bc"]},rightBottom:{points:["bl","cr"]},bottomLeft:{points:["tl","bc"]},leftBottom:{points:["br","cl"]}},EXe=new Set(["topLeft","topRight","bottomLeft","bottomRight","leftTop","leftBottom","rightTop","rightBottom"]);function Mse(n){const{arrowWidth:e,autoAdjustOverflow:t,arrowPointAtCenter:i,offset:r,borderRadius:o,visibleFirst:s}=n,a=e/2,l={};return Object.keys(Nse).forEach(u=>{const c=i&&TXe[u]||Nse[u],d=Object.assign(Object.assign({},c),{offset:[0,0],dynamicInset:!0});switch(l[u]=d,EXe.has(u)&&(d.autoArrow=!1),u){case"top":case"topLeft":case"topRight":d.offset[1]=-a-r;break;case"bottom":case"bottomLeft":case"bottomRight":d.offset[1]=a+r;break;case"left":case"leftTop":case"leftBottom":d.offset[0]=-a-r;break;case"right":case"rightTop":case"rightBottom":d.offset[0]=a+r;break}const h=UT({contentRadius:o,limitVerticalRadius:!0});if(i)switch(u){case"topLeft":case"bottomLeft":d.offset[0]=-h.arrowOffsetHorizontal-a;break;case"topRight":case"bottomRight":d.offset[0]=h.arrowOffsetHorizontal+a;break;case"leftTop":case"rightTop":d.offset[1]=-h.arrowOffsetHorizontal-a;break;case"leftBottom":case"rightBottom":d.offset[1]=h.arrowOffsetHorizontal+a;break}d.overflow=kXe(u,h,e,t),s&&(d.htmlRegion="visibleFirst")}),l}const RXe=n=>{const{componentCls:e,tooltipMaxWidth:t,tooltipColor:i,tooltipBg:r,tooltipBorderRadius:o,zIndexPopup:s,controlHeight:a,boxShadowSecondary:l,paddingSM:u,paddingXS:c}=n;return[{[e]:Object.assign(Object.assign(Object.assign(Object.assign({},uo(n)),{position:"absolute",zIndex:s,display:"block",width:"max-content",maxWidth:t,visibility:"visible",transformOrigin:"var(--arrow-x, 50%) var(--arrow-y, 50%)","&-hidden":{display:"none"},"--antd-arrow-background-color":r,[`${e}-inner`]:{minWidth:a,minHeight:a,padding:`${Ee(n.calc(u).div(2).equal())} ${Ee(c)}`,color:i,textAlign:"start",textDecoration:"none",wordWrap:"break-word",backgroundColor:r,borderRadius:o,boxShadow:l,boxSizing:"border-box"},[["&-placement-left","&-placement-leftTop","&-placement-leftBottom","&-placement-right","&-placement-rightTop","&-placement-rightBottom"].join(",")]:{[`${e}-inner`]:{borderRadius:n.min(o,Dse)}},[`${e}-content`]:{position:"relative"}}),n9e(n,(d,h)=>{let{darkColor:m}=h;return{[`&${e}-${d}`]:{[`${e}-inner`]:{backgroundColor:m},[`${e}-arrow`]:{"--antd-arrow-background-color":m}}}})),{"&-rtl":{direction:"rtl"}})},MP(n,"var(--antd-arrow-background-color)"),{[`${e}-pure`]:{position:"relative",maxWidth:"none",margin:n.sizePopupArrow}}]},ZXe=n=>Object.assign(Object.assign({zIndexPopup:n.zIndexPopupBase+70},UT({contentRadius:n.borderRadius,limitVerticalRadius:!0})),YT(Yi(n,{borderRadiusOuter:Math.min(n.borderRadiusOuter,4)}))),kse=function(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return Ho("Tooltip",i=>{const{borderRadius:r,colorTextLightSolid:o,colorBgSpotlight:s}=i,a=Yi(i,{tooltipMaxWidth:250,tooltipColor:o,tooltipBorderRadius:r,tooltipBg:s});return[RXe(a),oL(i,"zoom-big-fast")]},ZXe,{resetStyle:!1,injectStyle:e})(n)},WXe=z_.map(n=>`${n}-inverse`);function AXe(n){return(arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0)?[].concat(Lt(WXe),Lt(z_)).includes(n):z_.includes(n)}function Tse(n,e){const t=AXe(e),i=Te({[`${n}-${e}`]:e&&t}),r={},o={};return e&&!t&&(r.background=e,o["--antd-arrow-background-color"]=e),{className:i,overlayStyle:r,arrowStyle:o}}const VXe=n=>{const{prefixCls:e,className:t,placement:i="top",title:r,color:o,overlayInnerStyle:s}=n,{getPrefixCls:a}=S.useContext(Wn),l=a("tooltip",e),[u,c,d]=kse(l),h=Tse(l,o),m=h.arrowStyle,f=Object.assign(Object.assign({},s),h.overlayStyle),g=Te(c,d,l,`${l}-pure`,`${l}-placement-${i}`,t,h.className);return u(S.createElement("div",{className:g,style:m},S.createElement("div",{className:`${l}-arrow`}),S.createElement(NP,Object.assign({},n,{className:c,prefixCls:l,overlayInnerStyle:f}),r)))};var GXe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{var t,i;const{prefixCls:r,openClassName:o,getTooltipContainer:s,overlayClassName:a,color:l,overlayInnerStyle:u,children:c,afterOpenChange:d,afterVisibleChange:h,destroyTooltipOnHide:m,arrow:f=!0,title:g,overlay:b,builtinPlacements:y,arrowPointAtCenter:C=!1,autoAdjustOverflow:w=!0}=n,x=!!f,[,L]=Pa(),{getPopupContainer:I,getPrefixCls:D,direction:N}=S.useContext(Wn),T=jC(),R=S.useRef(null),E=()=>{var j;(j=R.current)===null||j===void 0||j.forceAlign()};S.useImperativeHandle(e,()=>({forceAlign:E,forcePopupAlign:()=>{T.deprecated(!1,"forcePopupAlign","forceAlign"),E()}}));const[W,Z]=Jr(!1,{value:(t=n.open)!==null&&t!==void 0?t:n.visible,defaultValue:(i=n.defaultOpen)!==null&&i!==void 0?i:n.defaultVisible}),V=!g&&!b&&g!==0,z=j=>{var $,q;Z(V?!1:j),V||(($=n.onOpenChange)===null||$===void 0||$.call(n,j),(q=n.onVisibleChange)===null||q===void 0||q.call(n,j))},O=S.useMemo(()=>{var j,$;let q=C;return typeof f=="object"&&(q=($=(j=f.pointAtCenter)!==null&&j!==void 0?j:f.arrowPointAtCenter)!==null&&$!==void 0?$:C),y||Mse({arrowPointAtCenter:q,autoAdjustOverflow:w,arrowWidth:x?L.sizePopupArrow:0,borderRadius:L.borderRadius,offset:L.marginXXS,visibleFirst:!0})},[C,f,y,L]),B=S.useMemo(()=>g===0?g:b||g||"",[b,g]),P=S.createElement(ig,null,typeof B=="function"?B():B),{getPopupContainer:H,placement:M="top",mouseEnterDelay:X=.1,mouseLeaveDelay:Y=.1,overlayStyle:A,rootClassName:te}=n,oe=GXe(n,["getPopupContainer","placement","mouseEnterDelay","mouseLeaveDelay","overlayStyle","rootClassName"]),ae=D("tooltip",r),le=D(),ue=n["data-popover-inject"];let Ce=W;!("open"in n)&&!("visible"in n)&&V&&(Ce=!1);const pe=S.isValidElement(c)&&!Eie(c)?c:S.createElement("span",null,c),ce=pe.props,De=!ce.className||typeof ce.className=="string"?Te(ce.className,o||`${ae}-open`):ce.className,[Me,ke,Ue]=kse(ae,!ue),He=Tse(ae,l),ct=He.arrowStyle,yt=Object.assign(Object.assign({},u),He.overlayStyle),it=Te(a,{[`${ae}-rtl`]:N==="rtl"},He.className,te,ke,Ue),[he,de]=iy("Tooltip",oe.zIndex),me=S.createElement(MXe,Object.assign({},oe,{zIndex:he,showArrow:x,placement:M,mouseEnterDelay:X,mouseLeaveDelay:Y,prefixCls:ae,overlayClassName:it,overlayStyle:Object.assign(Object.assign({},ct),A),getTooltipContainer:H||s||I,ref:R,builtinPlacements:O,overlay:P,visible:Ce,onVisibleChange:z,afterVisibleChange:d??h,overlayInnerStyle:yt,arrowContent:S.createElement("span",{className:`${ae}-arrow-content`}),motion:{motionName:cb(le,"zoom-big-fast",n.transitionName),motionDeadline:1e3},destroyTooltipOnHide:!!m}),Ce?eu(pe,{className:De}):pe);return Me(S.createElement(IT.Provider,{value:de},me))});Ese._InternalPanelDoNotUseOrYouWillBeFired=VXe;const sg=Ese,XXe=n=>{const{componentCls:e,popoverColor:t,titleMinWidth:i,fontWeightStrong:r,innerPadding:o,boxShadowSecondary:s,colorTextHeading:a,borderRadiusLG:l,zIndexPopup:u,titleMarginBottom:c,colorBgElevated:d,popoverBg:h,titleBorderBottom:m,innerContentPadding:f,titlePadding:g}=n;return[{[e]:Object.assign(Object.assign({},uo(n)),{position:"absolute",top:0,left:{_skip_check_:!0,value:0},zIndex:u,fontWeight:"normal",whiteSpace:"normal",textAlign:"start",cursor:"auto",userSelect:"text",transformOrigin:"var(--arrow-x, 50%) var(--arrow-y, 50%)","--antd-arrow-background-color":d,"&-rtl":{direction:"rtl"},"&-hidden":{display:"none"},[`${e}-content`]:{position:"relative"},[`${e}-inner`]:{backgroundColor:h,backgroundClip:"padding-box",borderRadius:l,boxShadow:s,padding:o},[`${e}-title`]:{minWidth:i,marginBottom:c,color:a,fontWeight:r,borderBottom:m,padding:g},[`${e}-inner-content`]:{color:t,padding:f}})},MP(n,"var(--antd-arrow-background-color)"),{[`${e}-pure`]:{position:"relative",maxWidth:"none",margin:n.sizePopupArrow,display:"inline-block",[`${e}-content`]:{display:"inline-block"}}}]},PXe=n=>{const{componentCls:e}=n;return{[e]:z_.map(t=>{const i=n[`${t}6`];return{[`&${e}-${t}`]:{"--antd-arrow-background-color":i,[`${e}-inner`]:{backgroundColor:i},[`${e}-arrow`]:{background:"transparent"}}}})}},Rse=Ho("Popover",n=>{const{colorBgElevated:e,colorText:t}=n,i=Yi(n,{popoverBg:e,popoverColor:t});return[XXe(i),PXe(i),oL(i,"zoom-big")]},n=>{const{lineWidth:e,controlHeight:t,fontHeight:i,padding:r,wireframe:o,zIndexPopupBase:s,borderRadiusLG:a,marginXS:l,lineType:u,colorSplit:c,paddingSM:d}=n,h=t-i,m=h/2,f=h/2-e,g=r;return Object.assign(Object.assign(Object.assign({titleMinWidth:177,zIndexPopup:s+30},YT(n)),UT({contentRadius:a,limitVerticalRadius:!0})),{innerPadding:o?0:12,titleMarginBottom:o?0:l,titlePadding:o?`${m}px ${g}px ${f}px`:0,titleBorderBottom:o?`${e}px ${u} ${c}`:"none",innerContentPadding:o?`${d}px ${g}px`:0})},{resetStyle:!1,deprecatedTokens:[["width","titleMinWidth"],["minWidth","titleMinWidth"]]});var OXe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r!e&&!t?null:S.createElement(S.Fragment,null,e&&S.createElement("div",{className:`${n}-title`},HT(e)),S.createElement("div",{className:`${n}-inner-content`},HT(t))),zXe=n=>{const{hashId:e,prefixCls:t,className:i,style:r,placement:o="top",title:s,content:a,children:l}=n;return S.createElement("div",{className:Te(e,t,`${t}-pure`,`${t}-placement-${o}`,i),style:r},S.createElement("div",{className:`${t}-arrow`}),S.createElement(NP,Object.assign({},n,{className:e,prefixCls:t}),l||BXe(t,s,a)))},HXe=n=>{const{prefixCls:e,className:t}=n,i=OXe(n,["prefixCls","className"]),{getPrefixCls:r}=S.useContext(Wn),o=r("popover",e),[s,a,l]=Rse(o);return s(S.createElement(zXe,Object.assign({},i,{prefixCls:o,hashId:a,className:Te(t,l)})))};var YXe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{let{title:e,content:t,prefixCls:i}=n;return S.createElement(S.Fragment,null,e&&S.createElement("div",{className:`${i}-title`},HT(e)),S.createElement("div",{className:`${i}-inner-content`},HT(t)))},Zse=S.forwardRef((n,e)=>{var t,i;const{prefixCls:r,title:o,content:s,overlayClassName:a,placement:l="top",trigger:u="hover",children:c,mouseEnterDelay:d=.1,mouseLeaveDelay:h=.1,onOpenChange:m,overlayStyle:f={}}=n,g=YXe(n,["prefixCls","title","content","overlayClassName","placement","trigger","children","mouseEnterDelay","mouseLeaveDelay","onOpenChange","overlayStyle"]),{getPrefixCls:b}=S.useContext(Wn),y=b("popover",r),[C,w,x]=Rse(y),L=b(),I=Te(a,w,x),[D,N]=Jr(!1,{value:(t=n.open)!==null&&t!==void 0?t:n.visible,defaultValue:(i=n.defaultOpen)!==null&&i!==void 0?i:n.defaultVisible}),T=(W,Z)=>{N(W,!0),m==null||m(W,Z)},R=W=>{W.keyCode===Dt.ESC&&T(!1,W)},E=W=>{T(W)};return C(S.createElement(sg,Object.assign({placement:l,trigger:u,mouseEnterDelay:d,mouseLeaveDelay:h,overlayStyle:f},g,{prefixCls:y,overlayClassName:I,ref:e,open:D,onOpenChange:E,overlay:o||s?S.createElement(UXe,{prefixCls:y,title:o,content:s}):null,transitionName:cb(L,"zoom-big",g.transitionName),"data-popover-inject":!0}),eu(c,{onKeyDown:W=>{var Z,V;S.isValidElement(c)&&((V=c==null?void 0:(Z=c.props).onKeyDown)===null||V===void 0||V.call(Z,W)),R(W)}})))});Zse._InternalPanelDoNotUseOrYouWillBeFired=HXe;const kP=Zse;var KXe={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"}}]},name:"right",theme:"outlined"};const JXe=KXe;var jXe=function(e,t){return S.createElement(wo,pt({},e,{ref:t,icon:JXe}))},QXe=S.forwardRef(jXe);const TP=QXe;var $Xe=Dt.ESC,qXe=Dt.TAB;function e4e(n){var e=n.visible,t=n.triggerRef,i=n.onVisibleChange,r=n.autoFocus,o=n.overlayRef,s=S.useRef(!1),a=function(){if(e){var d,h;(d=t.current)===null||d===void 0||(h=d.focus)===null||h===void 0||h.call(d),i==null||i(!1)}},l=function(){var d;return(d=o.current)!==null&&d!==void 0&&d.focus?(o.current.focus(),s.current=!0,!0):!1},u=function(d){switch(d.keyCode){case $Xe:a();break;case qXe:{var h=!1;s.current||(h=l()),h?d.preventDefault():a();break}}};S.useEffect(function(){return e?(window.addEventListener("keydown",u),r&&xi(l,3),function(){window.removeEventListener("keydown",u),s.current=!1}):function(){s.current=!1}},[e])}var t4e=S.forwardRef(function(n,e){var t=n.overlay,i=n.arrow,r=n.prefixCls,o=S.useMemo(function(){var a;return typeof t=="function"?a=t():a=t,a},[t]),s=Lu(e,o==null?void 0:o.ref);return ze.createElement(ze.Fragment,null,i&&ze.createElement("div",{className:"".concat(r,"-arrow")}),ze.cloneElement(o,{ref:jf(o)?s:void 0}))}),pS={adjustX:1,adjustY:1},bS=[0,0],n4e={topLeft:{points:["bl","tl"],overflow:pS,offset:[0,-4],targetOffset:bS},top:{points:["bc","tc"],overflow:pS,offset:[0,-4],targetOffset:bS},topRight:{points:["br","tr"],overflow:pS,offset:[0,-4],targetOffset:bS},bottomLeft:{points:["tl","bl"],overflow:pS,offset:[0,4],targetOffset:bS},bottom:{points:["tc","bc"],overflow:pS,offset:[0,4],targetOffset:bS},bottomRight:{points:["tr","br"],overflow:pS,offset:[0,4],targetOffset:bS}},i4e=["arrow","prefixCls","transitionName","animation","align","placement","placements","getPopupContainer","showAction","hideAction","overlayClassName","overlayStyle","visible","trigger","autoFocus","overlay","children","onVisibleChange"];function r4e(n,e){var t,i=n.arrow,r=i===void 0?!1:i,o=n.prefixCls,s=o===void 0?"rc-dropdown":o,a=n.transitionName,l=n.animation,u=n.align,c=n.placement,d=c===void 0?"bottomLeft":c,h=n.placements,m=h===void 0?n4e:h,f=n.getPopupContainer,g=n.showAction,b=n.hideAction,y=n.overlayClassName,C=n.overlayStyle,w=n.visible,x=n.trigger,L=x===void 0?["hover"]:x,I=n.autoFocus,D=n.overlay,N=n.children,T=n.onVisibleChange,R=zn(n,i4e),E=ze.useState(),W=we(E,2),Z=W[0],V=W[1],z="visible"in n?w:Z,O=ze.useRef(null),B=ze.useRef(null),P=ze.useRef(null);ze.useImperativeHandle(e,function(){return O.current});var H=function(ue){V(ue),T==null||T(ue)};e4e({visible:z,triggerRef:P,onVisibleChange:H,autoFocus:I,overlayRef:B});var M=function(ue){var Ce=n.onOverlayClick;V(!1),Ce&&Ce(ue)},X=function(){return ze.createElement(t4e,{ref:B,overlay:D,prefixCls:s,arrow:r})},Y=function(){return typeof D=="function"?X:X()},A=function(){var ue=n.minOverlayWidthMatchTrigger,Ce=n.alignPoint;return"minOverlayWidthMatchTrigger"in n?ue:!Ce},te=function(){var ue=n.openClassName;return ue!==void 0?ue:"".concat(s,"-open")},oe=ze.cloneElement(N,{className:Te((t=N.props)===null||t===void 0?void 0:t.className,z&&te()),ref:jf(N)?Lu(P,N.ref):void 0}),ae=b;return!ae&&L.indexOf("contextMenu")!==-1&&(ae=["click"]),ze.createElement(hL,pt({builtinPlacements:m},R,{prefixCls:s,ref:O,popupClassName:Te(y,ge({},"".concat(s,"-show-arrow"),r)),popupStyle:C,action:L,showAction:g,hideAction:ae,popupPlacement:d,popupAlign:u,popupTransitionName:a,popupAnimation:l,popupVisible:z,stretch:A()?"minWidth":"",popup:Y(),onPopupVisibleChange:H,onPopupClick:M,getPopupContainer:f}),oe)}const Wse=ze.forwardRef(r4e);var Ase=S.createContext(null);function Vse(n,e){return n===void 0?null:"".concat(n,"-").concat(e)}function Gse(n){var e=S.useContext(Ase);return Vse(e,n)}var o4e=["children","locked"],lh=S.createContext(null);function s4e(n,e){var t=xe({},n);return Object.keys(e).forEach(function(i){var r=e[i];r!==void 0&&(t[i]=r)}),t}function gL(n){var e=n.children,t=n.locked,i=zn(n,o4e),r=S.useContext(lh),o=E_(function(){return s4e(r,i)},[r,i],function(s,a){return!t&&(s[0]!==a[0]||!W_(s[1],a[1],!0))});return S.createElement(lh.Provider,{value:o},e)}var a4e=[],Xse=S.createContext(null);function JT(){return S.useContext(Xse)}var Pse=S.createContext(a4e);function yS(n){var e=S.useContext(Pse);return S.useMemo(function(){return n!==void 0?[].concat(Lt(e),[n]):e},[e,n])}var Ose=S.createContext(null),EP=S.createContext({});function Bse(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(J_(n)){var t=n.nodeName.toLowerCase(),i=["input","select","textarea","button"].includes(t)||n.isContentEditable||t==="a"&&!!n.getAttribute("href"),r=n.getAttribute("tabindex"),o=Number(r),s=null;return r&&!Number.isNaN(o)?s=o:i&&s===null&&(s=0),i&&n.disabled&&(s=null),s!==null&&(s>=0||e&&s<0)}return!1}function l4e(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,t=Lt(n.querySelectorAll("*")).filter(function(i){return Bse(i,e)});return Bse(n,e)&&t.unshift(n),t}var RP=Dt.LEFT,ZP=Dt.RIGHT,WP=Dt.UP,jT=Dt.DOWN,QT=Dt.ENTER,zse=Dt.ESC,pL=Dt.HOME,bL=Dt.END,Hse=[WP,jT,RP,ZP];function u4e(n,e,t,i){var r,o="prev",s="next",a="children",l="parent";if(n==="inline"&&i===QT)return{inlineTrigger:!0};var u=ge(ge({},WP,o),jT,s),c=ge(ge(ge(ge({},RP,t?s:o),ZP,t?o:s),jT,a),QT,a),d=ge(ge(ge(ge(ge(ge({},WP,o),jT,s),QT,a),zse,l),RP,t?a:l),ZP,t?l:a),h={inline:u,horizontal:c,vertical:d,inlineSub:u,horizontalSub:d,verticalSub:d},m=(r=h["".concat(n).concat(e?"":"Sub")])===null||r===void 0?void 0:r[i];switch(m){case o:return{offset:-1,sibling:!0};case s:return{offset:1,sibling:!0};case l:return{offset:-1,sibling:!1};case a:return{offset:1,sibling:!1};default:return null}}function c4e(n){for(var e=n;e;){if(e.getAttribute("data-menu-list"))return e;e=e.parentElement}return null}function d4e(n,e){for(var t=n||document.activeElement;t;){if(e.has(t))return t;t=t.parentElement}return null}function AP(n,e){var t=l4e(n,!0);return t.filter(function(i){return e.has(i)})}function Yse(n,e,t){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1;if(!n)return null;var r=AP(n,e),o=r.length,s=r.findIndex(function(a){return t===a});return i<0?s===-1?s=o-1:s-=1:i>0&&(s+=1),s=(s+o)%o,r[s]}var VP=function(e,t){var i=new Set,r=new Map,o=new Map;return e.forEach(function(s){var a=document.querySelector("[data-menu-id='".concat(Vse(t,s),"']"));a&&(i.add(a),o.set(a,s),r.set(s,a))}),{elements:i,key2element:r,element2key:o}};function h4e(n,e,t,i,r,o,s,a,l,u){var c=S.useRef(),d=S.useRef();d.current=e;var h=function(){xi.cancel(c.current)};return S.useEffect(function(){return function(){h()}},[]),function(m){var f=m.which;if([].concat(Hse,[QT,zse,pL,bL]).includes(f)){var g=o(),b=VP(g,i),y=b,C=y.elements,w=y.key2element,x=y.element2key,L=w.get(e),I=d4e(L,C),D=x.get(I),N=u4e(n,s(D,!0).length===1,t,f);if(!N&&f!==pL&&f!==bL)return;(Hse.includes(f)||[pL,bL].includes(f))&&m.preventDefault();var T=function(B){if(B){var P=B,H=B.querySelector("a");H!=null&&H.getAttribute("href")&&(P=H);var M=x.get(B);a(M),h(),c.current=xi(function(){d.current===M&&P.focus()})}};if([pL,bL].includes(f)||N.sibling||!I){var R;!I||n==="inline"?R=r.current:R=c4e(I);var E,W=AP(R,C);f===pL?E=W[0]:f===bL?E=W[W.length-1]:E=Yse(R,C,I,N.offset),T(E)}else if(N.inlineTrigger)l(D);else if(N.offset>0)l(D,!0),h(),c.current=xi(function(){b=VP(g,i);var O=I.getAttribute("aria-controls"),B=document.getElementById(O),P=Yse(B,b.elements);T(P)},5);else if(N.offset<0){var Z=s(D,!0),V=Z[Z.length-2],z=w.get(V);l(V,!1),T(z)}}u==null||u(m)}}function m4e(n){Promise.resolve().then(n)}var GP="__RC_UTIL_PATH_SPLIT__",Use=function(e){return e.join(GP)},f4e=function(e){return e.split(GP)},XP="rc-menu-more";function g4e(){var n=S.useState({}),e=we(n,2),t=e[1],i=S.useRef(new Map),r=S.useRef(new Map),o=S.useState([]),s=we(o,2),a=s[0],l=s[1],u=S.useRef(0),c=S.useRef(!1),d=function(){c.current||t({})},h=S.useCallback(function(w,x){var L=Use(x);r.current.set(L,w),i.current.set(w,L),u.current+=1;var I=u.current;m4e(function(){I===u.current&&d()})},[]),m=S.useCallback(function(w,x){var L=Use(x);r.current.delete(L),i.current.delete(w)},[]),f=S.useCallback(function(w){l(w)},[]),g=S.useCallback(function(w,x){var L=i.current.get(w)||"",I=f4e(L);return x&&a.includes(I[0])&&I.unshift(XP),I},[a]),b=S.useCallback(function(w,x){return w.some(function(L){var I=g(L,!0);return I.includes(x)})},[g]),y=function(){var x=Lt(i.current.keys());return a.length&&x.push(XP),x},C=S.useCallback(function(w){var x="".concat(i.current.get(w)).concat(GP),L=new Set;return Lt(r.current.keys()).forEach(function(I){I.startsWith(x)&&L.add(r.current.get(I))}),L},[]);return S.useEffect(function(){return function(){c.current=!0}},[]),{registerPath:h,unregisterPath:m,refreshOverflowKeys:f,isSubPathKey:b,getKeyPath:g,getKeys:y,getSubPathKeys:C}}function yL(n){var e=S.useRef(n);e.current=n;var t=S.useCallback(function(){for(var i,r=arguments.length,o=new Array(r),s=0;s1&&(C.motionAppear=!1);var w=C.onVisibleChanged;return C.onVisibleChanged=function(x){return!h.current&&!x&&b(!0),w==null?void 0:w(x)},g?null:S.createElement(gL,{mode:o,locked:!h.current},S.createElement(ld,pt({visible:y},C,{forceRender:l,removeOnLeave:!1,leavedClassName:"".concat(a,"-hidden")}),function(x){var L=x.className,I=x.style;return S.createElement(PP,{id:e,className:L,style:I},r)}))}var T4e=["style","className","title","eventKey","warnKey","disabled","internalPopupClose","children","itemIcon","expandIcon","popupClassName","popupOffset","popupStyle","onClick","onMouseEnter","onMouseLeave","onTitleClick","onTitleMouseEnter","onTitleMouseLeave"],E4e=["active"],R4e=function(e){var t=e.style,i=e.className,r=e.title,o=e.eventKey;e.warnKey;var s=e.disabled,a=e.internalPopupClose,l=e.children,u=e.itemIcon,c=e.expandIcon,d=e.popupClassName,h=e.popupOffset,m=e.popupStyle,f=e.onClick,g=e.onMouseEnter,b=e.onMouseLeave,y=e.onTitleClick,C=e.onTitleMouseEnter,w=e.onTitleMouseLeave,x=zn(e,T4e),L=Gse(o),I=S.useContext(lh),D=I.prefixCls,N=I.mode,T=I.openKeys,R=I.disabled,E=I.overflowDisabled,W=I.activeKey,Z=I.selectedKeys,V=I.itemIcon,z=I.expandIcon,O=I.onItemClick,B=I.onOpenChange,P=I.onActive,H=S.useContext(EP),M=H._internalRenderSubMenuItem,X=S.useContext(Ose),Y=X.isSubPathKey,A=yS(),te="".concat(D,"-submenu"),oe=R||s,ae=S.useRef(),le=S.useRef(),ue=u??V,Ce=c??z,pe=T.includes(o),ce=!E&&pe,De=Y(Z,o),Me=Jse(o,oe,C,w),ke=Me.active,Ue=zn(Me,E4e),He=S.useState(!1),ct=we(He,2),yt=ct[0],it=ct[1],he=function(Ge){oe||it(Ge)},de=function(Ge){he(!0),g==null||g({key:o,domEvent:Ge})},me=function(Ge){he(!1),b==null||b({key:o,domEvent:Ge})},j=S.useMemo(function(){return ke||(N!=="inline"?yt||Y([W],o):!1)},[N,ke,W,yt,o,Y]),$=jse(A.length),q=function(Ge){oe||(y==null||y({key:o,domEvent:Ge}),N==="inline"&&B(o,!pe))},ee=yL(function(Ye){f==null||f($T(Ye)),O(Ye)}),ye=function(Ge){N!=="inline"&&B(o,Ge)},_e=function(){P(o)},Ne=L&&"".concat(L,"-popup"),Be=S.createElement("div",pt({role:"menuitem",style:$,className:"".concat(te,"-title"),tabIndex:oe?null:-1,ref:ae,title:typeof r=="string"?r:null,"data-menu-id":E&&L?null:L,"aria-expanded":ce,"aria-haspopup":!0,"aria-controls":Ne,"aria-disabled":oe,onClick:q,onFocus:_e},Ue),r,S.createElement(Qse,{icon:N!=="horizontal"?Ce:void 0,props:xe(xe({},e),{},{isOpen:ce,isSubMenu:!0})},S.createElement("i",{className:"".concat(te,"-arrow")}))),$e=S.useRef(N);if(N!=="inline"&&A.length>1?$e.current="vertical":$e.current=N,!E){var We=$e.current;Be=S.createElement(M4e,{mode:We,prefixCls:te,visible:!a&&ce&&N!=="inline",popupClassName:d,popupOffset:h,popupStyle:m,popup:S.createElement(gL,{mode:We==="horizontal"?"vertical":We},S.createElement(PP,{id:Ne,ref:le},l)),disabled:oe,onVisibleChange:ye},Be)}var ht=S.createElement(ah.Item,pt({role:"none"},x,{component:"li",style:t,className:Te(te,"".concat(te,"-").concat(N),i,ge(ge(ge(ge({},"".concat(te,"-open"),ce),"".concat(te,"-active"),j),"".concat(te,"-selected"),De),"".concat(te,"-disabled"),oe)),onMouseEnter:de,onMouseLeave:me}),Be,!E&&S.createElement(k4e,{id:Ne,open:ce,keyPath:A},l));return M&&(ht=M(ht,e,{selected:De,active:j,open:ce,disabled:oe})),S.createElement(gL,{onItemClick:ee,mode:N==="horizontal"?"vertical":N,itemIcon:ue,expandIcon:Ce},ht)};function qT(n){var e=n.eventKey,t=n.children,i=yS(e),r=OP(t,i),o=JT();S.useEffect(function(){if(o)return o.registerPath(e,i),function(){o.unregisterPath(e,i)}},[i]);var s;return o?s=r:s=S.createElement(R4e,n,r),S.createElement(Pse.Provider,{value:i},s)}var Z4e=["className","title","eventKey","children"],W4e=["children"],A4e=function(e){var t=e.className,i=e.title;e.eventKey;var r=e.children,o=zn(e,Z4e),s=S.useContext(lh),a=s.prefixCls,l="".concat(a,"-item-group");return S.createElement("li",pt({role:"presentation"},o,{onClick:function(c){return c.stopPropagation()},className:Te(l,t)}),S.createElement("div",{role:"presentation",className:"".concat(l,"-title"),title:typeof i=="string"?i:void 0},i),S.createElement("ul",{role:"group",className:"".concat(l,"-list")},r))};function eE(n){var e=n.children,t=zn(n,W4e),i=yS(t.eventKey),r=OP(e,i),o=JT();return o?r:S.createElement(A4e,la(t,["warnKey"]),r)}function BP(n){var e=n.className,t=n.style,i=S.useContext(lh),r=i.prefixCls,o=JT();return o?null:S.createElement("li",{role:"separator",className:Te("".concat(r,"-item-divider"),e),style:t})}var V4e=["label","children","key","type"];function zP(n){return(n||[]).map(function(e,t){if(e&&Xn(e)==="object"){var i=e,r=i.label,o=i.children,s=i.key,a=i.type,l=zn(i,V4e),u=s??"tmp-".concat(t);return o||a==="group"?a==="group"?S.createElement(eE,pt({key:u},l,{title:r}),zP(o)):S.createElement(qT,pt({key:u},l,{title:r}),zP(o)):a==="divider"?S.createElement(BP,pt({key:u},l)):S.createElement(vL,pt({key:u},l),r)}return null}).filter(function(e){return e})}function G4e(n,e,t){var i=n;return e&&(i=zP(e)),OP(i,t)}var X4e=["prefixCls","rootClassName","style","className","tabIndex","items","children","direction","id","mode","inlineCollapsed","disabled","disabledOverflow","subMenuOpenDelay","subMenuCloseDelay","forceSubMenuRender","defaultOpenKeys","openKeys","activeKey","defaultActiveFirst","selectable","multiple","defaultSelectedKeys","selectedKeys","onSelect","onDeselect","inlineIndent","motion","defaultMotions","triggerSubMenuAction","builtinPlacements","itemIcon","expandIcon","overflowedIndicator","overflowedIndicatorPopupClassName","getPopupContainer","onClick","onOpenChange","onKeyDown","openAnimation","openTransitionName","_internalRenderMenuItem","_internalRenderSubMenuItem"],vS=[],P4e=S.forwardRef(function(n,e){var t,i=n,r=i.prefixCls,o=r===void 0?"rc-menu":r,s=i.rootClassName,a=i.style,l=i.className,u=i.tabIndex,c=u===void 0?0:u,d=i.items,h=i.children,m=i.direction,f=i.id,g=i.mode,b=g===void 0?"vertical":g,y=i.inlineCollapsed,C=i.disabled,w=i.disabledOverflow,x=i.subMenuOpenDelay,L=x===void 0?.1:x,I=i.subMenuCloseDelay,D=I===void 0?.1:I,N=i.forceSubMenuRender,T=i.defaultOpenKeys,R=i.openKeys,E=i.activeKey,W=i.defaultActiveFirst,Z=i.selectable,V=Z===void 0?!0:Z,z=i.multiple,O=z===void 0?!1:z,B=i.defaultSelectedKeys,P=i.selectedKeys,H=i.onSelect,M=i.onDeselect,X=i.inlineIndent,Y=X===void 0?24:X,A=i.motion,te=i.defaultMotions,oe=i.triggerSubMenuAction,ae=oe===void 0?"hover":oe,le=i.builtinPlacements,ue=i.itemIcon,Ce=i.expandIcon,pe=i.overflowedIndicator,ce=pe===void 0?"...":pe,De=i.overflowedIndicatorPopupClassName,Me=i.getPopupContainer,ke=i.onClick,Ue=i.onOpenChange,He=i.onKeyDown;i.openAnimation,i.openTransitionName;var ct=i._internalRenderMenuItem,yt=i._internalRenderSubMenuItem,it=zn(i,X4e),he=S.useMemo(function(){return G4e(h,d,vS)},[h,d]),de=S.useState(!1),me=we(de,2),j=me[0],$=me[1],q=S.useRef(),ee=b4e(f),ye=m==="rtl",_e=Jr(T,{value:R,postState:function(ci){return ci||vS}}),Ne=we(_e,2),Be=Ne[0],$e=Ne[1],We=function(ci){var on=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;function bn(){$e(ci),Ue==null||Ue(ci)}on?eh.flushSync(bn):bn()},ht=S.useState(Be),Ye=we(ht,2),Ge=Ye[0],mt=Ye[1],wt=S.useRef(!1),Kt=S.useMemo(function(){return(b==="inline"||b==="vertical")&&y?["vertical",y]:[b,!1]},[b,y]),Wt=we(Kt,2),Yt=Wt[0],Tn=Wt[1],li=Yt==="inline",Et=S.useState(Yt),Mt=we(Et,2),fe=Mt[0],Le=Mt[1],Ze=S.useState(Tn),Xe=we(Ze,2),ft=Xe[0],kt=Xe[1];S.useEffect(function(){Le(Yt),kt(Tn),wt.current&&(li?$e(Ge):We(vS))},[Yt,Tn]);var et=S.useState(0),rt=we(et,2),vt=rt[0],It=rt[1],tn=vt>=he.length-1||fe!=="horizontal"||w;S.useEffect(function(){li&&mt(Be)},[Be]),S.useEffect(function(){return wt.current=!0,function(){wt.current=!1}},[]);var Jt=g4e(),qt=Jt.registerPath,Nn=Jt.unregisterPath,mn=Jt.refreshOverflowKeys,Ot=Jt.isSubPathKey,gn=Jt.getKeyPath,Tt=Jt.getKeys,Se=Jt.getSubPathKeys,Ke=S.useMemo(function(){return{registerPath:qt,unregisterPath:Nn}},[qt,Nn]),dt=S.useMemo(function(){return{isSubPathKey:Ot}},[Ot]);S.useEffect(function(){mn(tn?vS:he.slice(vt+1).map(function(ji){return ji.key}))},[vt,tn]);var nn=Jr(E||W&&((t=he[0])===null||t===void 0?void 0:t.key),{value:E}),jn=we(nn,2),Zn=jn[0],rn=jn[1],fi=yL(function(ji){rn(ji)}),Ln=yL(function(){rn(void 0)});S.useImperativeHandle(e,function(){return{list:q.current,focus:function(ci){var on,bn=Tt(),Di=VP(bn,ee),Ur=Di.elements,ur=Di.key2element,Kr=Di.element2key,Mn=AP(q.current,Ur),Cn=Zn??(Mn[0]?Kr.get(Mn[0]):(on=he.find(function(ds){return!ds.props.disabled}))===null||on===void 0?void 0:on.key),Gi=ur.get(Cn);if(Cn&&Gi){var Co;Gi==null||(Co=Gi.focus)===null||Co===void 0||Co.call(Gi,ci)}}}});var gi=Jr(B||[],{value:P,postState:function(ci){return Array.isArray(ci)?ci:ci==null?vS:[ci]}}),Hr=we(gi,2),Vs=Hr[0],cs=Hr[1],vu=function(ci){if(V){var on=ci.key,bn=Vs.includes(on),Di;O?bn?Di=Vs.filter(function(ur){return ur!==on}):Di=[].concat(Lt(Vs),[on]):Di=[on],cs(Di);var Ur=xe(xe({},ci),{},{selectedKeys:Di});bn?M==null||M(Ur):H==null||H(Ur)}!O&&Be.length&&fe!=="inline"&&We(vS)},Jl=yL(function(ji){ke==null||ke($T(ji)),vu(ji)}),qo=yL(function(ji,ci){var on=Be.filter(function(Di){return Di!==ji});if(ci)on.push(ji);else if(fe!=="inline"){var bn=Se(ji);on=on.filter(function(Di){return!bn.has(Di)})}W_(Be,on,!0)||We(on,!0)}),Yr=function(ci,on){var bn=on??!Be.includes(ci);qo(ci,bn)},Cu=h4e(fe,Zn,ye,ee,q,Tt,gn,rn,Yr,He);S.useEffect(function(){$(!0)},[]);var es=S.useMemo(function(){return{_internalRenderMenuItem:ct,_internalRenderSubMenuItem:yt}},[ct,yt]),Za=fe!=="horizontal"||w?he:he.map(function(ji,ci){return S.createElement(gL,{key:ji.key,overflowDisabled:ci>vt},ji)}),pl=S.createElement(ah,pt({id:f,ref:q,prefixCls:"".concat(o,"-overflow"),component:"ul",itemComponent:vL,className:Te(o,"".concat(o,"-root"),"".concat(o,"-").concat(fe),l,ge(ge({},"".concat(o,"-inline-collapsed"),ft),"".concat(o,"-rtl"),ye),s),dir:m,style:a,role:"menu",tabIndex:c,data:Za,renderRawItem:function(ci){return ci},renderRawRest:function(ci){var on=ci.length,bn=on?he.slice(-on):null;return S.createElement(qT,{eventKey:XP,title:ce,disabled:tn,internalPopupClose:on===0,popupClassName:De},bn)},maxCount:fe!=="horizontal"||w?ah.INVALIDATE:ah.RESPONSIVE,ssr:"full","data-menu-list":!0,onVisibleChange:function(ci){It(ci)},onKeyDown:Cu},it));return S.createElement(EP.Provider,{value:es},S.createElement(Ase.Provider,{value:ee},S.createElement(gL,{prefixCls:o,rootClassName:s,mode:fe,openKeys:Be,rtl:ye,disabled:C,motion:j?A:null,defaultMotions:j?te:null,activeKey:Zn,onActive:fi,onInactive:Ln,selectedKeys:Vs,inlineIndent:Y,subMenuOpenDelay:L,subMenuCloseDelay:D,forceSubMenuRender:N,builtinPlacements:le,triggerSubMenuAction:ae,getPopupContainer:Me,itemIcon:ue,expandIcon:Ce,onItemClick:Jl,onOpenChange:qo},S.createElement(Ose.Provider,{value:dt},pl),S.createElement("div",{style:{display:"none"},"aria-hidden":!0},S.createElement(Xse.Provider,{value:Ke},he)))))}),CS=P4e;CS.Item=vL,CS.SubMenu=qT,CS.ItemGroup=eE,CS.Divider=BP;var O4e={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"bars",theme:"outlined"};const B4e=O4e;var z4e=function(e,t){return S.createElement(wo,pt({},e,{ref:t,icon:B4e}))},H4e=S.forwardRef(z4e);const Y4e=H4e;var U4e={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"}}]},name:"left",theme:"outlined"};const K4e=U4e;var J4e=function(e,t){return S.createElement(wo,pt({},e,{ref:t,icon:K4e}))},j4e=S.forwardRef(J4e);const qse=j4e,Q4e=n=>!isNaN(parseFloat(n))&&isFinite(n),eae=S.createContext({siderHook:{addSider:()=>null,removeSider:()=>null}});var $4e=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{let n=0;return function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return n+=1,`${e}${n}`}})(),HP=S.forwardRef((n,e)=>{const{prefixCls:t,className:i,trigger:r,children:o,defaultCollapsed:s=!1,theme:a="dark",style:l={},collapsible:u=!1,reverseArrow:c=!1,width:d=200,collapsedWidth:h=80,zeroWidthTriggerStyle:m,breakpoint:f,onCollapse:g,onBreakpoint:b}=n,y=$4e(n,["prefixCls","className","trigger","children","defaultCollapsed","theme","style","collapsible","reverseArrow","width","collapsedWidth","zeroWidthTriggerStyle","breakpoint","onCollapse","onBreakpoint"]),{siderHook:C}=S.useContext(eae),[w,x]=S.useState("collapsed"in n?n.collapsed:s),[L,I]=S.useState(!1);S.useEffect(()=>{"collapsed"in n&&x(n.collapsed)},[n.collapsed]);const D=(Z,V)=>{"collapsed"in n||x(Z),g==null||g(Z,V)},N=S.useRef();N.current=Z=>{I(Z.matches),b==null||b(Z.matches),w!==Z.matches&&D(Z.matches,"responsive")},S.useEffect(()=>{function Z(z){return N.current(z)}let V;if(typeof window<"u"){const{matchMedia:z}=window;if(z&&f&&f in tae){V=z(`screen and (max-width: ${tae[f]})`);try{V.addEventListener("change",Z)}catch{V.addListener(Z)}Z(V)}}return()=>{try{V==null||V.removeEventListener("change",Z)}catch{V==null||V.removeListener(Z)}}},[f]),S.useEffect(()=>{const Z=q4e("ant-sider-");return C.addSider(Z),()=>C.removeSider(Z)},[]);const T=()=>{D(!w,"clickTrigger")},{getPrefixCls:R}=S.useContext(Wn),E=()=>{const Z=R("layout-sider",t),V=la(y,["collapsed"]),z=w?h:d,O=Q4e(z)?`${z}px`:String(z),B=parseFloat(String(h||0))===0?S.createElement("span",{onClick:T,className:Te(`${Z}-zero-width-trigger`,`${Z}-zero-width-trigger-${c?"right":"left"}`),style:m},r||S.createElement(Y4e,null)):null,M={expanded:c?S.createElement(TP,null):S.createElement(qse,null),collapsed:c?S.createElement(qse,null):S.createElement(TP,null)}[w?"collapsed":"expanded"],X=r!==null?B||S.createElement("div",{className:`${Z}-trigger`,onClick:T,style:{width:O}},r||M):null,Y=Object.assign(Object.assign({},l),{flex:`0 0 ${O}`,maxWidth:O,minWidth:O,width:O}),A=Te(Z,`${Z}-${a}`,{[`${Z}-collapsed`]:!!w,[`${Z}-has-trigger`]:u&&r!==null&&!B,[`${Z}-below`]:!!L,[`${Z}-zero-width`]:parseFloat(O)===0},i);return S.createElement("aside",Object.assign({className:A},V,{style:Y,ref:e}),S.createElement("div",{className:`${Z}-children`},o),u||L&&B?X:null)},W=S.useMemo(()=>({siderCollapsed:w}),[w]);return S.createElement(tE.Provider,{value:W},E())});var ePe={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M176 511a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"ellipsis",theme:"outlined"};const tPe=ePe;var nPe=function(e,t){return S.createElement(wo,pt({},e,{ref:t,icon:tPe}))},iPe=S.forwardRef(nPe);const YP=iPe;var rPe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const{prefixCls:e,className:t,dashed:i}=n,r=rPe(n,["prefixCls","className","dashed"]),{getPrefixCls:o}=S.useContext(Wn),s=o("menu",e),a=Te({[`${s}-item-divider-dashed`]:!!i},t);return S.createElement(BP,Object.assign({className:a},r))},nE=S.createContext({prefixCls:"",firstLevel:!0,inlineCollapsed:!1}),iae=n=>{var e;const{className:t,children:i,icon:r,title:o,danger:s}=n,{prefixCls:a,firstLevel:l,direction:u,disableMenuItemTitleTooltip:c,inlineCollapsed:d}=S.useContext(nE),h=C=>{const w=S.createElement("span",{className:`${a}-title-content`},i);return(!r||S.isValidElement(i)&&i.type==="span")&&i&&C&&l&&typeof i=="string"?S.createElement("div",{className:`${a}-inline-collapsed-noicon`},i.charAt(0)):w},{siderCollapsed:m}=S.useContext(tE);let f=o;typeof o>"u"?f=l?i:"":o===!1&&(f="");const g={title:f};!m&&!d&&(g.title=null,g.open=!1);const b=sd(i).length;let y=S.createElement(vL,Object.assign({},la(n,["title","icon","danger"]),{className:Te({[`${a}-item-danger`]:s,[`${a}-item-only-child`]:(r?b+1:b)===1},t),title:typeof o=="string"?o:void 0}),eu(r,{className:Te(S.isValidElement(r)?(e=r.props)===null||e===void 0?void 0:e.className:"",`${a}-item-icon`)}),h(d));return c||(y=S.createElement(sg,Object.assign({},g,{placement:u==="rtl"?"left":"right",overlayClassName:`${a}-inline-collapsed-tooltip`}),y)),y},rae=n=>{var e;const{popupClassName:t,icon:i,title:r,theme:o}=n,s=S.useContext(nE),{prefixCls:a,inlineCollapsed:l,theme:u}=s,c=yS();let d;if(!i)d=l&&!c.length&&r&&typeof r=="string"?S.createElement("div",{className:`${a}-inline-collapsed-noicon`},r.charAt(0)):S.createElement("span",{className:`${a}-title-content`},r);else{const f=S.isValidElement(r)&&r.type==="span";d=S.createElement(S.Fragment,null,eu(i,{className:Te(S.isValidElement(i)?(e=i.props)===null||e===void 0?void 0:e.className:"",`${a}-item-icon`)}),f?r:S.createElement("span",{className:`${a}-title-content`},r))}const h=S.useMemo(()=>Object.assign(Object.assign({},s),{firstLevel:!1}),[s]),[m]=iy("Menu");return S.createElement(nE.Provider,{value:h},S.createElement(qT,Object.assign({},la(n,["icon"]),{title:d,popupClassName:Te(a,t,`${a}-${o||u}`),popupStyle:{zIndex:m}})))};var oPe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{if(e&&typeof e=="object"){const i=e,{label:r,children:o,key:s,type:a}=i,l=oPe(i,["label","children","key","type"]),u=s??`tmp-${t}`;return o||a==="group"?a==="group"?S.createElement(eE,Object.assign({key:u},l,{title:r}),UP(o)):S.createElement(rae,Object.assign({key:u},l,{title:r}),UP(o)):a==="divider"?S.createElement(nae,Object.assign({key:u},l)):S.createElement(iae,Object.assign({key:u},l),r)}return null}).filter(e=>e)}function sPe(n){return S.useMemo(()=>n&&UP(n),[n])}var aPe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const{children:t}=n,i=aPe(n,["children"]),r=S.useContext(iE),o=S.useMemo(()=>Object.assign(Object.assign({},r),i),[r,i.prefixCls,i.mode,i.selectable,i.rootClassName]),s=wEe(t),a=tb(e,s?t.ref:null);return S.createElement(iE.Provider,{value:o},S.createElement(ig,null,s?S.cloneElement(t,{ref:a}):t))}),uPe=n=>{const{componentCls:e,motionDurationSlow:t,horizontalLineHeight:i,colorSplit:r,lineWidth:o,lineType:s,itemPaddingInline:a}=n;return{[`${e}-horizontal`]:{lineHeight:i,border:0,borderBottom:`${Ee(o)} ${s} ${r}`,boxShadow:"none","&::after":{display:"block",clear:"both",height:0,content:'"\\20"'},[`${e}-item, ${e}-submenu`]:{position:"relative",display:"inline-block",verticalAlign:"bottom",paddingInline:a},[`> ${e}-item:hover, > ${e}-item-active, > ${e}-submenu ${e}-submenu-title:hover`]:{backgroundColor:"transparent"},[`${e}-item, ${e}-submenu-title`]:{transition:[`border-color ${t}`,`background ${t}`].join(",")},[`${e}-submenu-arrow`]:{display:"none"}}}},cPe=n=>{let{componentCls:e,menuArrowOffset:t,calc:i}=n;return{[`${e}-rtl`]:{direction:"rtl"},[`${e}-submenu-rtl`]:{transformOrigin:"100% 0"},[`${e}-rtl${e}-vertical, - ${e}-submenu-rtl ${e}-vertical`]:{[`${e}-submenu-arrow`]:{"&::before":{transform:`rotate(-45deg) translateY(${Ee(i(t).mul(-1).equal())})`},"&::after":{transform:`rotate(45deg) translateY(${Ee(t)})`}}}}},oae=n=>Object.assign({},mT(n)),sae=(n,e)=>{const{componentCls:t,itemColor:i,itemSelectedColor:r,groupTitleColor:o,itemBg:s,subMenuItemBg:a,itemSelectedBg:l,activeBarHeight:u,activeBarWidth:c,activeBarBorderWidth:d,motionDurationSlow:h,motionEaseInOut:m,motionEaseOut:f,itemPaddingInline:g,motionDurationMid:b,itemHoverColor:v,lineType:C,colorSplit:S,itemDisabledColor:x,dangerItemColor:_,dangerItemHoverColor:F,dangerItemSelectedColor:D,dangerItemActiveBg:M,dangerItemSelectedBg:T,popupBg:Z,itemHoverBg:E,itemActiveBg:R,menuSubMenuBg:W,horizontalItemSelectedColor:A,horizontalItemSelectedBg:z,horizontalItemBorderRadius:O,horizontalItemHoverBg:B}=n;return{[`${t}-${e}, ${t}-${e} > ${t}`]:{color:i,background:s,[`&${t}-root:focus-visible`]:Object.assign({},oae(n)),[`${t}-item-group-title`]:{color:o},[`${t}-submenu-selected`]:{[`> ${t}-submenu-title`]:{color:r}},[`${t}-item, ${t}-submenu-title`]:{color:i,[`&:not(${t}-item-disabled):focus-visible`]:Object.assign({},oae(n))},[`${t}-item-disabled, ${t}-submenu-disabled`]:{color:`${x} !important`},[`${t}-item:not(${t}-item-selected):not(${t}-submenu-selected)`]:{[`&:hover, > ${t}-submenu-title:hover`]:{color:v}},[`&:not(${t}-horizontal)`]:{[`${t}-item:not(${t}-item-selected)`]:{"&:hover":{backgroundColor:E},"&:active":{backgroundColor:R}},[`${t}-submenu-title`]:{"&:hover":{backgroundColor:E},"&:active":{backgroundColor:R}}},[`${t}-item-danger`]:{color:_,[`&${t}-item:hover`]:{[`&:not(${t}-item-selected):not(${t}-submenu-selected)`]:{color:F}},[`&${t}-item:active`]:{background:M}},[`${t}-item a`]:{"&, &:hover":{color:"inherit"}},[`${t}-item-selected`]:{color:r,[`&${t}-item-danger`]:{color:D},"a, a:hover":{color:"inherit"}},[`& ${t}-item-selected`]:{backgroundColor:l,[`&${t}-item-danger`]:{backgroundColor:T}},[`&${t}-submenu > ${t}`]:{backgroundColor:W},[`&${t}-popup > ${t}`]:{backgroundColor:Z},[`&${t}-submenu-popup > ${t}`]:{backgroundColor:Z},[`&${t}-horizontal`]:Object.assign(Object.assign({},e==="dark"?{borderBottom:0}:{}),{[`> ${t}-item, > ${t}-submenu`]:{top:d,marginTop:n.calc(d).mul(-1).equal(),marginBottom:0,borderRadius:O,"&::after":{position:"absolute",insetInline:g,bottom:0,borderBottom:`${Ee(u)} solid transparent`,transition:`border-color ${h} ${m}`,content:'""'},"&:hover, &-active, &-open":{background:B,"&::after":{borderBottomWidth:u,borderBottomColor:A}},"&-selected":{color:A,backgroundColor:z,"&:hover":{backgroundColor:z},"&::after":{borderBottomWidth:u,borderBottomColor:A}}}}),[`&${t}-root`]:{[`&${t}-inline, &${t}-vertical`]:{borderInlineEnd:`${Ee(d)} ${C} ${S}`}},[`&${t}-inline`]:{[`${t}-sub${t}-inline`]:{background:a},[`${t}-item`]:{position:"relative","&::after":{position:"absolute",insetBlock:0,insetInlineEnd:0,borderInlineEnd:`${Ee(c)} solid ${r}`,transform:"scaleY(0.0001)",opacity:0,transition:[`transform ${b} ${f}`,`opacity ${b} ${f}`].join(","),content:'""'},[`&${t}-item-danger`]:{"&::after":{borderInlineEndColor:D}}},[`${t}-selected, ${t}-item-selected`]:{"&::after":{transform:"scaleY(1)",opacity:1,transition:[`transform ${b} ${m}`,`opacity ${b} ${m}`].join(",")}}}}}},aae=n=>{const{componentCls:e,itemHeight:t,itemMarginInline:i,padding:r,menuArrowSize:o,marginXS:s,itemMarginBlock:a,itemWidth:l}=n,u=n.calc(o).add(r).add(s).equal();return{[`${e}-item`]:{position:"relative",overflow:"hidden"},[`${e}-item, ${e}-submenu-title`]:{height:t,lineHeight:Ee(t),paddingInline:r,overflow:"hidden",textOverflow:"ellipsis",marginInline:i,marginBlock:a,width:l},[`> ${e}-item, + ${e}-submenu-rtl ${e}-vertical`]:{[`${e}-submenu-arrow`]:{"&::before":{transform:`rotate(-45deg) translateY(${Ee(i(t).mul(-1).equal())})`},"&::after":{transform:`rotate(45deg) translateY(${Ee(t)})`}}}}},oae=n=>Object.assign({},mT(n)),sae=(n,e)=>{const{componentCls:t,itemColor:i,itemSelectedColor:r,groupTitleColor:o,itemBg:s,subMenuItemBg:a,itemSelectedBg:l,activeBarHeight:u,activeBarWidth:c,activeBarBorderWidth:d,motionDurationSlow:h,motionEaseInOut:m,motionEaseOut:f,itemPaddingInline:g,motionDurationMid:b,itemHoverColor:y,lineType:C,colorSplit:w,itemDisabledColor:x,dangerItemColor:L,dangerItemHoverColor:I,dangerItemSelectedColor:D,dangerItemActiveBg:N,dangerItemSelectedBg:T,popupBg:R,itemHoverBg:E,itemActiveBg:W,menuSubMenuBg:Z,horizontalItemSelectedColor:V,horizontalItemSelectedBg:z,horizontalItemBorderRadius:O,horizontalItemHoverBg:B}=n;return{[`${t}-${e}, ${t}-${e} > ${t}`]:{color:i,background:s,[`&${t}-root:focus-visible`]:Object.assign({},oae(n)),[`${t}-item-group-title`]:{color:o},[`${t}-submenu-selected`]:{[`> ${t}-submenu-title`]:{color:r}},[`${t}-item, ${t}-submenu-title`]:{color:i,[`&:not(${t}-item-disabled):focus-visible`]:Object.assign({},oae(n))},[`${t}-item-disabled, ${t}-submenu-disabled`]:{color:`${x} !important`},[`${t}-item:not(${t}-item-selected):not(${t}-submenu-selected)`]:{[`&:hover, > ${t}-submenu-title:hover`]:{color:y}},[`&:not(${t}-horizontal)`]:{[`${t}-item:not(${t}-item-selected)`]:{"&:hover":{backgroundColor:E},"&:active":{backgroundColor:W}},[`${t}-submenu-title`]:{"&:hover":{backgroundColor:E},"&:active":{backgroundColor:W}}},[`${t}-item-danger`]:{color:L,[`&${t}-item:hover`]:{[`&:not(${t}-item-selected):not(${t}-submenu-selected)`]:{color:I}},[`&${t}-item:active`]:{background:N}},[`${t}-item a`]:{"&, &:hover":{color:"inherit"}},[`${t}-item-selected`]:{color:r,[`&${t}-item-danger`]:{color:D},"a, a:hover":{color:"inherit"}},[`& ${t}-item-selected`]:{backgroundColor:l,[`&${t}-item-danger`]:{backgroundColor:T}},[`&${t}-submenu > ${t}`]:{backgroundColor:Z},[`&${t}-popup > ${t}`]:{backgroundColor:R},[`&${t}-submenu-popup > ${t}`]:{backgroundColor:R},[`&${t}-horizontal`]:Object.assign(Object.assign({},e==="dark"?{borderBottom:0}:{}),{[`> ${t}-item, > ${t}-submenu`]:{top:d,marginTop:n.calc(d).mul(-1).equal(),marginBottom:0,borderRadius:O,"&::after":{position:"absolute",insetInline:g,bottom:0,borderBottom:`${Ee(u)} solid transparent`,transition:`border-color ${h} ${m}`,content:'""'},"&:hover, &-active, &-open":{background:B,"&::after":{borderBottomWidth:u,borderBottomColor:V}},"&-selected":{color:V,backgroundColor:z,"&:hover":{backgroundColor:z},"&::after":{borderBottomWidth:u,borderBottomColor:V}}}}),[`&${t}-root`]:{[`&${t}-inline, &${t}-vertical`]:{borderInlineEnd:`${Ee(d)} ${C} ${w}`}},[`&${t}-inline`]:{[`${t}-sub${t}-inline`]:{background:a},[`${t}-item`]:{position:"relative","&::after":{position:"absolute",insetBlock:0,insetInlineEnd:0,borderInlineEnd:`${Ee(c)} solid ${r}`,transform:"scaleY(0.0001)",opacity:0,transition:[`transform ${b} ${f}`,`opacity ${b} ${f}`].join(","),content:'""'},[`&${t}-item-danger`]:{"&::after":{borderInlineEndColor:D}}},[`${t}-selected, ${t}-item-selected`]:{"&::after":{transform:"scaleY(1)",opacity:1,transition:[`transform ${b} ${m}`,`opacity ${b} ${m}`].join(",")}}}}}},aae=n=>{const{componentCls:e,itemHeight:t,itemMarginInline:i,padding:r,menuArrowSize:o,marginXS:s,itemMarginBlock:a,itemWidth:l}=n,u=n.calc(o).add(r).add(s).equal();return{[`${e}-item`]:{position:"relative",overflow:"hidden"},[`${e}-item, ${e}-submenu-title`]:{height:t,lineHeight:Ee(t),paddingInline:r,overflow:"hidden",textOverflow:"ellipsis",marginInline:i,marginBlock:a,width:l},[`> ${e}-item, > ${e}-submenu > ${e}-submenu-title`]:{height:t,lineHeight:Ee(t)},[`${e}-item-group-list ${e}-submenu-title, - ${e}-submenu-title`]:{paddingInlineEnd:u}}},dPe=n=>{const{componentCls:e,iconCls:t,itemHeight:i,colorTextLightSolid:r,dropdownWidth:o,controlHeightLG:s,motionDurationMid:a,motionEaseOut:l,paddingXL:u,itemMarginInline:c,fontSizeLG:d,motionDurationSlow:h,paddingXS:m,boxShadowSecondary:f,collapsedWidth:g,collapsedIconSize:b}=n,v={height:i,lineHeight:Ee(i),listStylePosition:"inside",listStyleType:"disc"};return[{[e]:{"&-inline, &-vertical":Object.assign({[`&${e}-root`]:{boxShadow:"none"}},aae(n))},[`${e}-submenu-popup`]:{[`${e}-vertical`]:Object.assign(Object.assign({},aae(n)),{boxShadow:f})}},{[`${e}-submenu-popup ${e}-vertical${e}-sub`]:{minWidth:o,maxHeight:`calc(100vh - ${Ee(n.calc(s).mul(2.5).equal())})`,padding:"0",overflow:"hidden",borderInlineEnd:0,"&:not([class*='-active'])":{overflowX:"hidden",overflowY:"auto"}}},{[`${e}-inline`]:{width:"100%",[`&${e}-root`]:{[`${e}-item, ${e}-submenu-title`]:{display:"flex",alignItems:"center",transition:[`border-color ${h}`,`background ${h}`,`padding ${a} ${l}`,`padding-inline calc(50% - ${Ee(n.calc(d).div(2).equal())} - ${Ee(c)})`].join(","),[`> ${e}-title-content`]:{flex:"auto",minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},"> *":{flex:"none"}}},[`${e}-sub${e}-inline`]:{padding:0,border:0,borderRadius:0,boxShadow:"none",[`& > ${e}-submenu > ${e}-submenu-title`]:v,[`& ${e}-item-group-title`]:{paddingInlineStart:u}},[`${e}-item`]:v}},{[`${e}-inline-collapsed`]:{width:g,[`&${e}-root`]:{[`${e}-item, ${e}-submenu ${e}-submenu-title`]:{[`> ${e}-inline-collapsed-noicon`]:{fontSize:d,textAlign:"center"}}},[`> ${e}-item, + ${e}-submenu-title`]:{paddingInlineEnd:u}}},dPe=n=>{const{componentCls:e,iconCls:t,itemHeight:i,colorTextLightSolid:r,dropdownWidth:o,controlHeightLG:s,motionDurationMid:a,motionEaseOut:l,paddingXL:u,itemMarginInline:c,fontSizeLG:d,motionDurationSlow:h,paddingXS:m,boxShadowSecondary:f,collapsedWidth:g,collapsedIconSize:b}=n,y={height:i,lineHeight:Ee(i),listStylePosition:"inside",listStyleType:"disc"};return[{[e]:{"&-inline, &-vertical":Object.assign({[`&${e}-root`]:{boxShadow:"none"}},aae(n))},[`${e}-submenu-popup`]:{[`${e}-vertical`]:Object.assign(Object.assign({},aae(n)),{boxShadow:f})}},{[`${e}-submenu-popup ${e}-vertical${e}-sub`]:{minWidth:o,maxHeight:`calc(100vh - ${Ee(n.calc(s).mul(2.5).equal())})`,padding:"0",overflow:"hidden",borderInlineEnd:0,"&:not([class*='-active'])":{overflowX:"hidden",overflowY:"auto"}}},{[`${e}-inline`]:{width:"100%",[`&${e}-root`]:{[`${e}-item, ${e}-submenu-title`]:{display:"flex",alignItems:"center",transition:[`border-color ${h}`,`background ${h}`,`padding ${a} ${l}`,`padding-inline calc(50% - ${Ee(n.calc(d).div(2).equal())} - ${Ee(c)})`].join(","),[`> ${e}-title-content`]:{flex:"auto",minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},"> *":{flex:"none"}}},[`${e}-sub${e}-inline`]:{padding:0,border:0,borderRadius:0,boxShadow:"none",[`& > ${e}-submenu > ${e}-submenu-title`]:y,[`& ${e}-item-group-title`]:{paddingInlineStart:u}},[`${e}-item`]:y}},{[`${e}-inline-collapsed`]:{width:g,[`&${e}-root`]:{[`${e}-item, ${e}-submenu ${e}-submenu-title`]:{[`> ${e}-inline-collapsed-noicon`]:{fontSize:d,textAlign:"center"}}},[`> ${e}-item, > ${e}-item-group > ${e}-item-group-list > ${e}-item, > ${e}-item-group > ${e}-item-group-list > ${e}-submenu > ${e}-submenu-title, > ${e}-submenu > ${e}-submenu-title`]:{insetInlineStart:0,paddingInline:`calc(50% - ${Ee(n.calc(d).div(2).equal())} - ${Ee(c)})`,textOverflow:"clip",[` ${e}-submenu-arrow, ${e}-submenu-expand-icon - `]:{opacity:0},[`${e}-item-icon, ${t}`]:{margin:0,fontSize:b,lineHeight:Ee(i),"+ span":{display:"inline-block",opacity:0}}},[`${e}-item-icon, ${t}`]:{display:"inline-block"},"&-tooltip":{pointerEvents:"none",[`${e}-item-icon, ${t}`]:{display:"none"},"a, a:hover":{color:r}},[`${e}-item-group-title`]:Object.assign(Object.assign({},ab),{paddingInline:m})}}]},lae=n=>{const{componentCls:e,motionDurationSlow:t,motionDurationMid:i,motionEaseInOut:r,motionEaseOut:o,iconCls:s,iconSize:a,iconMarginInlineEnd:l}=n;return{[`${e}-item, ${e}-submenu-title`]:{position:"relative",display:"block",margin:0,whiteSpace:"nowrap",cursor:"pointer",transition:[`border-color ${t}`,`background ${t}`,`padding ${t} ${r}`].join(","),[`${e}-item-icon, ${s}`]:{minWidth:a,fontSize:a,transition:[`font-size ${i} ${o}`,`margin ${t} ${r}`,`color ${t}`].join(","),"+ span":{marginInlineStart:l,opacity:1,transition:[`opacity ${t} ${r}`,`margin ${t}`,`color ${t}`].join(",")}},[`${e}-item-icon`]:Object.assign({},HL()),[`&${e}-item-only-child`]:{[`> ${s}, > ${e}-item-icon`]:{marginInlineEnd:0}}},[`${e}-item-disabled, ${e}-submenu-disabled`]:{background:"none !important",cursor:"not-allowed","&::after":{borderColor:"transparent !important"},a:{color:"inherit !important"},[`> ${e}-submenu-title`]:{color:"inherit !important",cursor:"not-allowed"}}}},uae=n=>{const{componentCls:e,motionDurationSlow:t,motionEaseInOut:i,borderRadius:r,menuArrowSize:o,menuArrowOffset:s}=n;return{[`${e}-submenu`]:{"&-expand-icon, &-arrow":{position:"absolute",top:"50%",insetInlineEnd:n.margin,width:o,color:"currentcolor",transform:"translateY(-50%)",transition:`transform ${t} ${i}, opacity ${t}`},"&-arrow":{"&::before, &::after":{position:"absolute",width:n.calc(o).mul(.6).equal(),height:n.calc(o).mul(.15).equal(),backgroundColor:"currentcolor",borderRadius:r,transition:[`background ${t} ${i}`,`transform ${t} ${i}`,`top ${t} ${i}`,`color ${t} ${i}`].join(","),content:'""'},"&::before":{transform:`rotate(45deg) translateY(${Ee(n.calc(s).mul(-1).equal())})`},"&::after":{transform:`rotate(-45deg) translateY(${Ee(s)})`}}}}},hPe=n=>{const{antCls:e,componentCls:t,fontSize:i,motionDurationSlow:r,motionDurationMid:o,motionEaseInOut:s,paddingXS:a,padding:l,colorSplit:u,lineWidth:c,zIndexPopup:d,borderRadiusLG:h,subMenuItemBorderRadius:m,menuArrowSize:f,menuArrowOffset:g,lineType:b,groupTitleLineHeight:v,groupTitleFontSize:C}=n;return[{"":{[`${t}`]:Object.assign(Object.assign({},qC()),{"&-hidden":{display:"none"}})},[`${t}-submenu-hidden`]:{display:"none"}},{[t]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},uo(n)),qC()),{marginBottom:0,paddingInlineStart:0,fontSize:i,lineHeight:0,listStyle:"none",outline:"none",transition:`width ${r} cubic-bezier(0.2, 0, 0, 1) 0s`,"ul, ol":{margin:0,padding:0,listStyle:"none"},"&-overflow":{display:"flex",[`${t}-item`]:{flex:"none"}},[`${t}-item, ${t}-submenu, ${t}-submenu-title`]:{borderRadius:n.itemBorderRadius},[`${t}-item-group-title`]:{padding:`${Ee(a)} ${Ee(l)}`,fontSize:C,lineHeight:v,transition:`all ${r}`},[`&-horizontal ${t}-submenu`]:{transition:[`border-color ${r} ${s}`,`background ${r} ${s}`].join(",")},[`${t}-submenu, ${t}-submenu-inline`]:{transition:[`border-color ${r} ${s}`,`background ${r} ${s}`,`padding ${o} ${s}`].join(",")},[`${t}-submenu ${t}-sub`]:{cursor:"initial",transition:[`background ${r} ${s}`,`padding ${r} ${s}`].join(",")},[`${t}-title-content`]:{transition:`color ${r}`,[`> ${e}-typography-ellipsis-single-line`]:{display:"inline",verticalAlign:"unset"}},[`${t}-item a`]:{"&::before":{position:"absolute",inset:0,backgroundColor:"transparent",content:'""'}},[`${t}-item-divider`]:{overflow:"hidden",lineHeight:0,borderColor:u,borderStyle:b,borderWidth:0,borderTopWidth:c,marginBlock:c,padding:0,"&-dashed":{borderStyle:"dashed"}}}),lae(n)),{[`${t}-item-group`]:{[`${t}-item-group-list`]:{margin:0,padding:0,[`${t}-item, ${t}-submenu-title`]:{paddingInline:`${Ee(n.calc(i).mul(2).equal())} ${Ee(l)}`}}},"&-submenu":{"&-popup":{position:"absolute",zIndex:d,borderRadius:h,boxShadow:"none",transformOrigin:"0 0",[`&${t}-submenu`]:{background:"transparent"},"&::before":{position:"absolute",inset:0,zIndex:-1,width:"100%",height:"100%",opacity:0,content:'""'},[`> ${t}`]:Object.assign(Object.assign(Object.assign({borderRadius:h},lae(n)),uae(n)),{[`${t}-item, ${t}-submenu > ${t}-submenu-title`]:{borderRadius:m},[`${t}-submenu-title::after`]:{transition:`transform ${r} ${s}`}})},"\n &-placement-leftTop,\n &-placement-bottomRight,\n ":{transformOrigin:"100% 0"},"\n &-placement-leftBottom,\n &-placement-topRight,\n ":{transformOrigin:"100% 100%"},"\n &-placement-rightBottom,\n &-placement-topLeft,\n ":{transformOrigin:"0 100%"},"\n &-placement-bottomLeft,\n &-placement-rightTop,\n ":{transformOrigin:"0 0"},"\n &-placement-leftTop,\n &-placement-leftBottom\n ":{paddingInlineEnd:n.paddingXS},"\n &-placement-rightTop,\n &-placement-rightBottom\n ":{paddingInlineStart:n.paddingXS},"\n &-placement-topRight,\n &-placement-topLeft\n ":{paddingBottom:n.paddingXS},"\n &-placement-bottomRight,\n &-placement-bottomLeft\n ":{paddingTop:n.paddingXS}}}),uae(n)),{[`&-inline-collapsed ${t}-submenu-arrow, - &-inline ${t}-submenu-arrow`]:{"&::before":{transform:`rotate(-45deg) translateX(${Ee(g)})`},"&::after":{transform:`rotate(45deg) translateX(${Ee(n.calc(g).mul(-1).equal())})`}},[`${t}-submenu-open${t}-submenu-inline > ${t}-submenu-title > ${t}-submenu-arrow`]:{transform:`translateY(${Ee(n.calc(f).mul(.2).mul(-1).equal())})`,"&::after":{transform:`rotate(-45deg) translateX(${Ee(n.calc(g).mul(-1).equal())})`},"&::before":{transform:`rotate(45deg) translateX(${Ee(g)})`}}})},{[`${e}-layout-header`]:{[t]:{lineHeight:"inherit"}}}]},mPe=n=>{var e,t,i;const{colorPrimary:r,colorError:o,colorTextDisabled:s,colorErrorBg:a,colorText:l,colorTextDescription:u,colorBgContainer:c,colorFillAlter:d,colorFillContent:h,lineWidth:m,lineWidthBold:f,controlItemBgActive:g,colorBgTextHover:b,controlHeightLG:v,lineHeight:C,colorBgElevated:S,marginXXS:x,padding:_,fontSize:F,controlHeightSM:D,fontSizeLG:M,colorTextLightSolid:T,colorErrorHover:Z}=n,E=(e=n.activeBarWidth)!==null&&e!==void 0?e:0,R=(t=n.activeBarBorderWidth)!==null&&t!==void 0?t:m,W=(i=n.itemMarginInline)!==null&&i!==void 0?i:n.marginXXS,A=new zo(T).setAlpha(.65).toRgbString();return{dropdownWidth:160,zIndexPopup:n.zIndexPopupBase+50,radiusItem:n.borderRadiusLG,itemBorderRadius:n.borderRadiusLG,radiusSubMenuItem:n.borderRadiusSM,subMenuItemBorderRadius:n.borderRadiusSM,colorItemText:l,itemColor:l,colorItemTextHover:l,itemHoverColor:l,colorItemTextHoverHorizontal:r,horizontalItemHoverColor:r,colorGroupTitle:u,groupTitleColor:u,colorItemTextSelected:r,itemSelectedColor:r,colorItemTextSelectedHorizontal:r,horizontalItemSelectedColor:r,colorItemBg:c,itemBg:c,colorItemBgHover:b,itemHoverBg:b,colorItemBgActive:h,itemActiveBg:g,colorSubItemBg:d,subMenuItemBg:d,colorItemBgSelected:g,itemSelectedBg:g,colorItemBgSelectedHorizontal:"transparent",horizontalItemSelectedBg:"transparent",colorActiveBarWidth:0,activeBarWidth:E,colorActiveBarHeight:f,activeBarHeight:f,colorActiveBarBorderSize:m,activeBarBorderWidth:R,colorItemTextDisabled:s,itemDisabledColor:s,colorDangerItemText:o,dangerItemColor:o,colorDangerItemTextHover:o,dangerItemHoverColor:o,colorDangerItemTextSelected:o,dangerItemSelectedColor:o,colorDangerItemBgActive:a,dangerItemActiveBg:a,colorDangerItemBgSelected:a,dangerItemSelectedBg:a,itemMarginInline:W,horizontalItemBorderRadius:0,horizontalItemHoverBg:"transparent",itemHeight:v,groupTitleLineHeight:C,collapsedWidth:v*2,popupBg:S,itemMarginBlock:x,itemPaddingInline:_,horizontalLineHeight:`${v*1.15}px`,iconSize:F,iconMarginInlineEnd:D-F,collapsedIconSize:M,groupTitleFontSize:F,darkItemDisabledColor:new zo(T).setAlpha(.25).toRgbString(),darkItemColor:A,darkDangerItemColor:o,darkItemBg:"#001529",darkPopupBg:"#001529",darkSubMenuItemBg:"#000c17",darkItemSelectedColor:T,darkItemSelectedBg:r,darkDangerItemSelectedBg:o,darkItemHoverBg:"transparent",darkGroupTitleColor:A,darkItemHoverColor:T,darkDangerItemHoverColor:Z,darkDangerItemSelectedColor:T,darkDangerItemActiveBg:o,itemWidth:E?`calc(100% + ${R}px)`:`calc(100% - ${W*2}px)`}},fPe=function(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:n,t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return Ho("Menu",r=>{const{colorBgElevated:o,controlHeightLG:s,fontSize:a,darkItemColor:l,darkDangerItemColor:u,darkItemBg:c,darkSubMenuItemBg:d,darkItemSelectedColor:h,darkItemSelectedBg:m,darkDangerItemSelectedBg:f,darkItemHoverBg:g,darkGroupTitleColor:b,darkItemHoverColor:v,darkItemDisabledColor:C,darkDangerItemHoverColor:S,darkDangerItemSelectedColor:x,darkDangerItemActiveBg:_,popupBg:F,darkPopupBg:D}=r,M=r.calc(a).div(7).mul(5).equal(),T=Ui(r,{menuArrowSize:M,menuHorizontalHeight:r.calc(s).mul(1.15).equal(),menuArrowOffset:r.calc(M).mul(.25).equal(),menuSubMenuBg:o,calc:r.calc,popupBg:F}),Z=Ui(T,{itemColor:l,itemHoverColor:v,groupTitleColor:b,itemSelectedColor:h,itemBg:c,popupBg:D,subMenuItemBg:d,itemActiveBg:"transparent",itemSelectedBg:m,activeBarHeight:0,activeBarBorderWidth:0,itemHoverBg:g,itemDisabledColor:C,dangerItemColor:u,dangerItemHoverColor:S,dangerItemSelectedColor:x,dangerItemActiveBg:_,dangerItemSelectedBg:f,menuSubMenuBg:d,horizontalItemSelectedColor:h,horizontalItemSelectedBg:m});return[hPe(T),uPe(T),dPe(T),sae(T,"light"),sae(Z,"dark"),cPe(T),mP(T),wm(T,"slide-up"),wm(T,"slide-down"),o_(T,"zoom-big")]},mPe,{deprecatedTokens:[["colorGroupTitle","groupTitleColor"],["radiusItem","itemBorderRadius"],["radiusSubMenuItem","subMenuItemBorderRadius"],["colorItemText","itemColor"],["colorItemTextHover","itemHoverColor"],["colorItemTextHoverHorizontal","horizontalItemHoverColor"],["colorItemTextSelected","itemSelectedColor"],["colorItemTextSelectedHorizontal","horizontalItemSelectedColor"],["colorItemTextDisabled","itemDisabledColor"],["colorDangerItemText","dangerItemColor"],["colorDangerItemTextHover","dangerItemHoverColor"],["colorDangerItemTextSelected","dangerItemSelectedColor"],["colorDangerItemBgActive","dangerItemActiveBg"],["colorDangerItemBgSelected","dangerItemSelectedBg"],["colorItemBg","itemBg"],["colorItemBgHover","itemHoverBg"],["colorSubItemBg","subMenuItemBg"],["colorItemBgActive","itemActiveBg"],["colorItemBgSelectedHorizontal","horizontalItemSelectedBg"],["colorActiveBarWidth","activeBarWidth"],["colorActiveBarHeight","activeBarHeight"],["colorActiveBarBorderSize","activeBarBorderWidth"],["colorItemBgSelected","itemSelectedBg"]],injectStyle:t,unitless:{groupTitleLineHeight:!0}})(n,e)};var gPe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{var t;const i=w.useContext(iE),r=i||{},{getPrefixCls:o,getPopupContainer:s,direction:a,menu:l}=w.useContext(Rn),u=o(),{prefixCls:c,className:d,style:h,theme:m="light",expandIcon:f,_internalDisableMenuItemTitleTooltip:g,inlineCollapsed:b,siderCollapsed:v,items:C,children:S,rootClassName:x,mode:_,selectable:F,onClick:D,overflowedIndicatorPopupClassName:M}=n,T=gPe(n,["prefixCls","className","style","theme","expandIcon","_internalDisableMenuItemTitleTooltip","inlineCollapsed","siderCollapsed","items","children","rootClassName","mode","selectable","onClick","overflowedIndicatorPopupClassName"]),Z=la(T,["collapsedWidth"]),E=sPe(C)||S;(t=r.validator)===null||t===void 0||t.call(r,{mode:_});const R=$i(function(){var oe;D==null||D.apply(void 0,arguments),(oe=r.onClick)===null||oe===void 0||oe.call(r)}),W=r.mode||_,A=F??r.selectable,z=w.useMemo(()=>v!==void 0?v:b,[b,v]),O={horizontal:{motionName:`${u}-slide-up`},inline:NT(u),other:{motionName:`${u}-zoom-big`}},B=o("menu",c||r.prefixCls),P=_s(B),[H,k,X]=fPe(B,P,!i),Y=Te(`${B}-${m}`,l==null?void 0:l.className,d),V=w.useMemo(()=>{var oe,ae;if(typeof f=="function"||KP(f))return f||null;if(typeof r.expandIcon=="function"||KP(r.expandIcon))return r.expandIcon||null;if(typeof(l==null?void 0:l.expandIcon)=="function"||KP(l==null?void 0:l.expandIcon))return(l==null?void 0:l.expandIcon)||null;const le=(oe=f??(r==null?void 0:r.expandIcon))!==null&&oe!==void 0?oe:l==null?void 0:l.expandIcon;return eu(le,{className:Te(`${B}-submenu-expand-icon`,w.isValidElement(le)?(ae=le.props)===null||ae===void 0?void 0:ae.className:void 0)})},[f,r==null?void 0:r.expandIcon,l==null?void 0:l.expandIcon,B]),te=w.useMemo(()=>({prefixCls:B,inlineCollapsed:z||!1,direction:a,firstLevel:!0,theme:m,mode:W,disableMenuItemTitleTooltip:g}),[B,z,a,g,m]);return H(w.createElement(iE.Provider,{value:null},w.createElement(nE.Provider,{value:te},w.createElement(Cw,Object.assign({getPopupContainer:s,overflowedIndicator:w.createElement(YP,null),overflowedIndicatorPopupClassName:Te(B,`${B}-${m}`,M),mode:W,selectable:A,onClick:R},Z,{inlineCollapsed:z,style:Object.assign(Object.assign({},l==null?void 0:l.style),h),className:Y,prefixCls:B,direction:a,defaultMotions:O,expandIcon:V,ref:e,rootClassName:Te(x,k,r.rootClassName,X,P)}),E))))}),C_=w.forwardRef((n,e)=>{const t=w.useRef(null),i=w.useContext(tE);return w.useImperativeHandle(e,()=>({menu:t.current,focus:r=>{var o;(o=t.current)===null||o===void 0||o.focus(r)}})),w.createElement(pPe,Object.assign({ref:t},n,i))});C_.Item=iae,C_.SubMenu=rae,C_.Divider=nae,C_.ItemGroup=eE;const bPe=C_,vPe=n=>{const{componentCls:e,menuCls:t,colorError:i,colorTextLightSolid:r}=n,o=`${t}-item`;return{[`${e}, ${e}-menu-submenu`]:{[`${t} ${o}`]:{[`&${o}-danger:not(${o}-disabled)`]:{color:i,"&:hover":{color:r,backgroundColor:i}}}}}},yPe=n=>{const{componentCls:e,menuCls:t,zIndexPopup:i,dropdownArrowDistance:r,sizePopupArrow:o,antCls:s,iconCls:a,motionDurationMid:l,paddingBlock:u,fontSize:c,dropdownEdgeChildPadding:d,colorTextDisabled:h,fontSizeIcon:m,controlPaddingHorizontal:f,colorBgElevated:g}=n;return[{[e]:Object.assign(Object.assign({},uo(n)),{position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:i,display:"block","&::before":{position:"absolute",insetBlock:n.calc(o).div(2).sub(r).equal(),zIndex:-9999,opacity:1e-4,content:'""'},[`&-trigger${s}-btn`]:{[`& > ${a}-down, & > ${s}-btn-icon > ${a}-down`]:{fontSize:m}},[`${e}-wrap`]:{position:"relative",[`${s}-btn > ${a}-down`]:{fontSize:m},[`${a}-down::before`]:{transition:`transform ${l}`}},[`${e}-wrap-open`]:{[`${a}-down::before`]:{transform:"rotate(180deg)"}},"\n &-hidden,\n &-menu-hidden,\n &-menu-submenu-hidden\n ":{display:"none"},[`&${s}-slide-down-enter${s}-slide-down-enter-active${e}-placement-bottomLeft, + `]:{opacity:0},[`${e}-item-icon, ${t}`]:{margin:0,fontSize:b,lineHeight:Ee(i),"+ span":{display:"inline-block",opacity:0}}},[`${e}-item-icon, ${t}`]:{display:"inline-block"},"&-tooltip":{pointerEvents:"none",[`${e}-item-icon, ${t}`]:{display:"none"},"a, a:hover":{color:r}},[`${e}-item-group-title`]:Object.assign(Object.assign({},ab),{paddingInline:m})}}]},lae=n=>{const{componentCls:e,motionDurationSlow:t,motionDurationMid:i,motionEaseInOut:r,motionEaseOut:o,iconCls:s,iconSize:a,iconMarginInlineEnd:l}=n;return{[`${e}-item, ${e}-submenu-title`]:{position:"relative",display:"block",margin:0,whiteSpace:"nowrap",cursor:"pointer",transition:[`border-color ${t}`,`background ${t}`,`padding ${t} ${r}`].join(","),[`${e}-item-icon, ${s}`]:{minWidth:a,fontSize:a,transition:[`font-size ${i} ${o}`,`margin ${t} ${r}`,`color ${t}`].join(","),"+ span":{marginInlineStart:l,opacity:1,transition:[`opacity ${t} ${r}`,`margin ${t}`,`color ${t}`].join(",")}},[`${e}-item-icon`]:Object.assign({},H_()),[`&${e}-item-only-child`]:{[`> ${s}, > ${e}-item-icon`]:{marginInlineEnd:0}}},[`${e}-item-disabled, ${e}-submenu-disabled`]:{background:"none !important",cursor:"not-allowed","&::after":{borderColor:"transparent !important"},a:{color:"inherit !important"},[`> ${e}-submenu-title`]:{color:"inherit !important",cursor:"not-allowed"}}}},uae=n=>{const{componentCls:e,motionDurationSlow:t,motionEaseInOut:i,borderRadius:r,menuArrowSize:o,menuArrowOffset:s}=n;return{[`${e}-submenu`]:{"&-expand-icon, &-arrow":{position:"absolute",top:"50%",insetInlineEnd:n.margin,width:o,color:"currentcolor",transform:"translateY(-50%)",transition:`transform ${t} ${i}, opacity ${t}`},"&-arrow":{"&::before, &::after":{position:"absolute",width:n.calc(o).mul(.6).equal(),height:n.calc(o).mul(.15).equal(),backgroundColor:"currentcolor",borderRadius:r,transition:[`background ${t} ${i}`,`transform ${t} ${i}`,`top ${t} ${i}`,`color ${t} ${i}`].join(","),content:'""'},"&::before":{transform:`rotate(45deg) translateY(${Ee(n.calc(s).mul(-1).equal())})`},"&::after":{transform:`rotate(-45deg) translateY(${Ee(s)})`}}}}},hPe=n=>{const{antCls:e,componentCls:t,fontSize:i,motionDurationSlow:r,motionDurationMid:o,motionEaseInOut:s,paddingXS:a,padding:l,colorSplit:u,lineWidth:c,zIndexPopup:d,borderRadiusLG:h,subMenuItemBorderRadius:m,menuArrowSize:f,menuArrowOffset:g,lineType:b,groupTitleLineHeight:y,groupTitleFontSize:C}=n;return[{"":{[`${t}`]:Object.assign(Object.assign({},qC()),{"&-hidden":{display:"none"}})},[`${t}-submenu-hidden`]:{display:"none"}},{[t]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},uo(n)),qC()),{marginBottom:0,paddingInlineStart:0,fontSize:i,lineHeight:0,listStyle:"none",outline:"none",transition:`width ${r} cubic-bezier(0.2, 0, 0, 1) 0s`,"ul, ol":{margin:0,padding:0,listStyle:"none"},"&-overflow":{display:"flex",[`${t}-item`]:{flex:"none"}},[`${t}-item, ${t}-submenu, ${t}-submenu-title`]:{borderRadius:n.itemBorderRadius},[`${t}-item-group-title`]:{padding:`${Ee(a)} ${Ee(l)}`,fontSize:C,lineHeight:y,transition:`all ${r}`},[`&-horizontal ${t}-submenu`]:{transition:[`border-color ${r} ${s}`,`background ${r} ${s}`].join(",")},[`${t}-submenu, ${t}-submenu-inline`]:{transition:[`border-color ${r} ${s}`,`background ${r} ${s}`,`padding ${o} ${s}`].join(",")},[`${t}-submenu ${t}-sub`]:{cursor:"initial",transition:[`background ${r} ${s}`,`padding ${r} ${s}`].join(",")},[`${t}-title-content`]:{transition:`color ${r}`,[`> ${e}-typography-ellipsis-single-line`]:{display:"inline",verticalAlign:"unset"}},[`${t}-item a`]:{"&::before":{position:"absolute",inset:0,backgroundColor:"transparent",content:'""'}},[`${t}-item-divider`]:{overflow:"hidden",lineHeight:0,borderColor:u,borderStyle:b,borderWidth:0,borderTopWidth:c,marginBlock:c,padding:0,"&-dashed":{borderStyle:"dashed"}}}),lae(n)),{[`${t}-item-group`]:{[`${t}-item-group-list`]:{margin:0,padding:0,[`${t}-item, ${t}-submenu-title`]:{paddingInline:`${Ee(n.calc(i).mul(2).equal())} ${Ee(l)}`}}},"&-submenu":{"&-popup":{position:"absolute",zIndex:d,borderRadius:h,boxShadow:"none",transformOrigin:"0 0",[`&${t}-submenu`]:{background:"transparent"},"&::before":{position:"absolute",inset:0,zIndex:-1,width:"100%",height:"100%",opacity:0,content:'""'},[`> ${t}`]:Object.assign(Object.assign(Object.assign({borderRadius:h},lae(n)),uae(n)),{[`${t}-item, ${t}-submenu > ${t}-submenu-title`]:{borderRadius:m},[`${t}-submenu-title::after`]:{transition:`transform ${r} ${s}`}})},"\n &-placement-leftTop,\n &-placement-bottomRight,\n ":{transformOrigin:"100% 0"},"\n &-placement-leftBottom,\n &-placement-topRight,\n ":{transformOrigin:"100% 100%"},"\n &-placement-rightBottom,\n &-placement-topLeft,\n ":{transformOrigin:"0 100%"},"\n &-placement-bottomLeft,\n &-placement-rightTop,\n ":{transformOrigin:"0 0"},"\n &-placement-leftTop,\n &-placement-leftBottom\n ":{paddingInlineEnd:n.paddingXS},"\n &-placement-rightTop,\n &-placement-rightBottom\n ":{paddingInlineStart:n.paddingXS},"\n &-placement-topRight,\n &-placement-topLeft\n ":{paddingBottom:n.paddingXS},"\n &-placement-bottomRight,\n &-placement-bottomLeft\n ":{paddingTop:n.paddingXS}}}),uae(n)),{[`&-inline-collapsed ${t}-submenu-arrow, + &-inline ${t}-submenu-arrow`]:{"&::before":{transform:`rotate(-45deg) translateX(${Ee(g)})`},"&::after":{transform:`rotate(45deg) translateX(${Ee(n.calc(g).mul(-1).equal())})`}},[`${t}-submenu-open${t}-submenu-inline > ${t}-submenu-title > ${t}-submenu-arrow`]:{transform:`translateY(${Ee(n.calc(f).mul(.2).mul(-1).equal())})`,"&::after":{transform:`rotate(-45deg) translateX(${Ee(n.calc(g).mul(-1).equal())})`},"&::before":{transform:`rotate(45deg) translateX(${Ee(g)})`}}})},{[`${e}-layout-header`]:{[t]:{lineHeight:"inherit"}}}]},mPe=n=>{var e,t,i;const{colorPrimary:r,colorError:o,colorTextDisabled:s,colorErrorBg:a,colorText:l,colorTextDescription:u,colorBgContainer:c,colorFillAlter:d,colorFillContent:h,lineWidth:m,lineWidthBold:f,controlItemBgActive:g,colorBgTextHover:b,controlHeightLG:y,lineHeight:C,colorBgElevated:w,marginXXS:x,padding:L,fontSize:I,controlHeightSM:D,fontSizeLG:N,colorTextLightSolid:T,colorErrorHover:R}=n,E=(e=n.activeBarWidth)!==null&&e!==void 0?e:0,W=(t=n.activeBarBorderWidth)!==null&&t!==void 0?t:m,Z=(i=n.itemMarginInline)!==null&&i!==void 0?i:n.marginXXS,V=new zo(T).setAlpha(.65).toRgbString();return{dropdownWidth:160,zIndexPopup:n.zIndexPopupBase+50,radiusItem:n.borderRadiusLG,itemBorderRadius:n.borderRadiusLG,radiusSubMenuItem:n.borderRadiusSM,subMenuItemBorderRadius:n.borderRadiusSM,colorItemText:l,itemColor:l,colorItemTextHover:l,itemHoverColor:l,colorItemTextHoverHorizontal:r,horizontalItemHoverColor:r,colorGroupTitle:u,groupTitleColor:u,colorItemTextSelected:r,itemSelectedColor:r,colorItemTextSelectedHorizontal:r,horizontalItemSelectedColor:r,colorItemBg:c,itemBg:c,colorItemBgHover:b,itemHoverBg:b,colorItemBgActive:h,itemActiveBg:g,colorSubItemBg:d,subMenuItemBg:d,colorItemBgSelected:g,itemSelectedBg:g,colorItemBgSelectedHorizontal:"transparent",horizontalItemSelectedBg:"transparent",colorActiveBarWidth:0,activeBarWidth:E,colorActiveBarHeight:f,activeBarHeight:f,colorActiveBarBorderSize:m,activeBarBorderWidth:W,colorItemTextDisabled:s,itemDisabledColor:s,colorDangerItemText:o,dangerItemColor:o,colorDangerItemTextHover:o,dangerItemHoverColor:o,colorDangerItemTextSelected:o,dangerItemSelectedColor:o,colorDangerItemBgActive:a,dangerItemActiveBg:a,colorDangerItemBgSelected:a,dangerItemSelectedBg:a,itemMarginInline:Z,horizontalItemBorderRadius:0,horizontalItemHoverBg:"transparent",itemHeight:y,groupTitleLineHeight:C,collapsedWidth:y*2,popupBg:w,itemMarginBlock:x,itemPaddingInline:L,horizontalLineHeight:`${y*1.15}px`,iconSize:I,iconMarginInlineEnd:D-I,collapsedIconSize:N,groupTitleFontSize:I,darkItemDisabledColor:new zo(T).setAlpha(.25).toRgbString(),darkItemColor:V,darkDangerItemColor:o,darkItemBg:"#001529",darkPopupBg:"#001529",darkSubMenuItemBg:"#000c17",darkItemSelectedColor:T,darkItemSelectedBg:r,darkDangerItemSelectedBg:o,darkItemHoverBg:"transparent",darkGroupTitleColor:V,darkItemHoverColor:T,darkDangerItemHoverColor:R,darkDangerItemSelectedColor:T,darkDangerItemActiveBg:o,itemWidth:E?`calc(100% + ${W}px)`:`calc(100% - ${Z*2}px)`}},fPe=function(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:n,t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return Ho("Menu",r=>{const{colorBgElevated:o,controlHeightLG:s,fontSize:a,darkItemColor:l,darkDangerItemColor:u,darkItemBg:c,darkSubMenuItemBg:d,darkItemSelectedColor:h,darkItemSelectedBg:m,darkDangerItemSelectedBg:f,darkItemHoverBg:g,darkGroupTitleColor:b,darkItemHoverColor:y,darkItemDisabledColor:C,darkDangerItemHoverColor:w,darkDangerItemSelectedColor:x,darkDangerItemActiveBg:L,popupBg:I,darkPopupBg:D}=r,N=r.calc(a).div(7).mul(5).equal(),T=Yi(r,{menuArrowSize:N,menuHorizontalHeight:r.calc(s).mul(1.15).equal(),menuArrowOffset:r.calc(N).mul(.25).equal(),menuSubMenuBg:o,calc:r.calc,popupBg:I}),R=Yi(T,{itemColor:l,itemHoverColor:y,groupTitleColor:b,itemSelectedColor:h,itemBg:c,popupBg:D,subMenuItemBg:d,itemActiveBg:"transparent",itemSelectedBg:m,activeBarHeight:0,activeBarBorderWidth:0,itemHoverBg:g,itemDisabledColor:C,dangerItemColor:u,dangerItemHoverColor:w,dangerItemSelectedColor:x,dangerItemActiveBg:L,dangerItemSelectedBg:f,menuSubMenuBg:d,horizontalItemSelectedColor:h,horizontalItemSelectedBg:m});return[hPe(T),uPe(T),dPe(T),sae(T,"light"),sae(R,"dark"),cPe(T),mP(T),Sm(T,"slide-up"),Sm(T,"slide-down"),oL(T,"zoom-big")]},mPe,{deprecatedTokens:[["colorGroupTitle","groupTitleColor"],["radiusItem","itemBorderRadius"],["radiusSubMenuItem","subMenuItemBorderRadius"],["colorItemText","itemColor"],["colorItemTextHover","itemHoverColor"],["colorItemTextHoverHorizontal","horizontalItemHoverColor"],["colorItemTextSelected","itemSelectedColor"],["colorItemTextSelectedHorizontal","horizontalItemSelectedColor"],["colorItemTextDisabled","itemDisabledColor"],["colorDangerItemText","dangerItemColor"],["colorDangerItemTextHover","dangerItemHoverColor"],["colorDangerItemTextSelected","dangerItemSelectedColor"],["colorDangerItemBgActive","dangerItemActiveBg"],["colorDangerItemBgSelected","dangerItemSelectedBg"],["colorItemBg","itemBg"],["colorItemBgHover","itemHoverBg"],["colorSubItemBg","subMenuItemBg"],["colorItemBgActive","itemActiveBg"],["colorItemBgSelectedHorizontal","horizontalItemSelectedBg"],["colorActiveBarWidth","activeBarWidth"],["colorActiveBarHeight","activeBarHeight"],["colorActiveBarBorderSize","activeBarBorderWidth"],["colorItemBgSelected","itemSelectedBg"]],injectStyle:t,unitless:{groupTitleLineHeight:!0}})(n,e)};var gPe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{var t;const i=S.useContext(iE),r=i||{},{getPrefixCls:o,getPopupContainer:s,direction:a,menu:l}=S.useContext(Wn),u=o(),{prefixCls:c,className:d,style:h,theme:m="light",expandIcon:f,_internalDisableMenuItemTitleTooltip:g,inlineCollapsed:b,siderCollapsed:y,items:C,children:w,rootClassName:x,mode:L,selectable:I,onClick:D,overflowedIndicatorPopupClassName:N}=n,T=gPe(n,["prefixCls","className","style","theme","expandIcon","_internalDisableMenuItemTitleTooltip","inlineCollapsed","siderCollapsed","items","children","rootClassName","mode","selectable","onClick","overflowedIndicatorPopupClassName"]),R=la(T,["collapsedWidth"]),E=sPe(C)||w;(t=r.validator)===null||t===void 0||t.call(r,{mode:L});const W=Qi(function(){var oe;D==null||D.apply(void 0,arguments),(oe=r.onClick)===null||oe===void 0||oe.call(r)}),Z=r.mode||L,V=I??r.selectable,z=S.useMemo(()=>y!==void 0?y:b,[b,y]),O={horizontal:{motionName:`${u}-slide-up`},inline:kT(u),other:{motionName:`${u}-zoom-big`}},B=o("menu",c||r.prefixCls),P=Ls(B),[H,M,X]=fPe(B,P,!i),Y=Te(`${B}-${m}`,l==null?void 0:l.className,d),A=S.useMemo(()=>{var oe,ae;if(typeof f=="function"||KP(f))return f||null;if(typeof r.expandIcon=="function"||KP(r.expandIcon))return r.expandIcon||null;if(typeof(l==null?void 0:l.expandIcon)=="function"||KP(l==null?void 0:l.expandIcon))return(l==null?void 0:l.expandIcon)||null;const le=(oe=f??(r==null?void 0:r.expandIcon))!==null&&oe!==void 0?oe:l==null?void 0:l.expandIcon;return eu(le,{className:Te(`${B}-submenu-expand-icon`,S.isValidElement(le)?(ae=le.props)===null||ae===void 0?void 0:ae.className:void 0)})},[f,r==null?void 0:r.expandIcon,l==null?void 0:l.expandIcon,B]),te=S.useMemo(()=>({prefixCls:B,inlineCollapsed:z||!1,direction:a,firstLevel:!0,theme:m,mode:Z,disableMenuItemTitleTooltip:g}),[B,z,a,g,m]);return H(S.createElement(iE.Provider,{value:null},S.createElement(nE.Provider,{value:te},S.createElement(CS,Object.assign({getPopupContainer:s,overflowedIndicator:S.createElement(YP,null),overflowedIndicatorPopupClassName:Te(B,`${B}-${m}`,N),mode:Z,selectable:V,onClick:W},R,{inlineCollapsed:z,style:Object.assign(Object.assign({},l==null?void 0:l.style),h),className:Y,prefixCls:B,direction:a,defaultMotions:O,expandIcon:A,ref:e,rootClassName:Te(x,M,r.rootClassName,X,P)}),E))))}),CL=S.forwardRef((n,e)=>{const t=S.useRef(null),i=S.useContext(tE);return S.useImperativeHandle(e,()=>({menu:t.current,focus:r=>{var o;(o=t.current)===null||o===void 0||o.focus(r)}})),S.createElement(pPe,Object.assign({ref:t},n,i))});CL.Item=iae,CL.SubMenu=rae,CL.Divider=nae,CL.ItemGroup=eE;const bPe=CL,yPe=n=>{const{componentCls:e,menuCls:t,colorError:i,colorTextLightSolid:r}=n,o=`${t}-item`;return{[`${e}, ${e}-menu-submenu`]:{[`${t} ${o}`]:{[`&${o}-danger:not(${o}-disabled)`]:{color:i,"&:hover":{color:r,backgroundColor:i}}}}}},vPe=n=>{const{componentCls:e,menuCls:t,zIndexPopup:i,dropdownArrowDistance:r,sizePopupArrow:o,antCls:s,iconCls:a,motionDurationMid:l,paddingBlock:u,fontSize:c,dropdownEdgeChildPadding:d,colorTextDisabled:h,fontSizeIcon:m,controlPaddingHorizontal:f,colorBgElevated:g}=n;return[{[e]:Object.assign(Object.assign({},uo(n)),{position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:i,display:"block","&::before":{position:"absolute",insetBlock:n.calc(o).div(2).sub(r).equal(),zIndex:-9999,opacity:1e-4,content:'""'},[`&-trigger${s}-btn`]:{[`& > ${a}-down, & > ${s}-btn-icon > ${a}-down`]:{fontSize:m}},[`${e}-wrap`]:{position:"relative",[`${s}-btn > ${a}-down`]:{fontSize:m},[`${a}-down::before`]:{transition:`transform ${l}`}},[`${e}-wrap-open`]:{[`${a}-down::before`]:{transform:"rotate(180deg)"}},"\n &-hidden,\n &-menu-hidden,\n &-menu-submenu-hidden\n ":{display:"none"},[`&${s}-slide-down-enter${s}-slide-down-enter-active${e}-placement-bottomLeft, &${s}-slide-down-appear${s}-slide-down-appear-active${e}-placement-bottomLeft, &${s}-slide-down-enter${s}-slide-down-enter-active${e}-placement-bottom, &${s}-slide-down-appear${s}-slide-down-appear-active${e}-placement-bottom, &${s}-slide-down-enter${s}-slide-down-enter-active${e}-placement-bottomRight, - &${s}-slide-down-appear${s}-slide-down-appear-active${e}-placement-bottomRight`]:{animationName:VT},[`&${s}-slide-up-enter${s}-slide-up-enter-active${e}-placement-topLeft, + &${s}-slide-down-appear${s}-slide-down-appear-active${e}-placement-bottomRight`]:{animationName:AT},[`&${s}-slide-up-enter${s}-slide-up-enter-active${e}-placement-topLeft, &${s}-slide-up-appear${s}-slide-up-appear-active${e}-placement-topLeft, &${s}-slide-up-enter${s}-slide-up-enter-active${e}-placement-top, &${s}-slide-up-appear${s}-slide-up-appear-active${e}-placement-top, &${s}-slide-up-enter${s}-slide-up-enter-active${e}-placement-topRight, &${s}-slide-up-appear${s}-slide-up-appear-active${e}-placement-topRight`]:{animationName:GT},[`&${s}-slide-down-leave${s}-slide-down-leave-active${e}-placement-bottomLeft, &${s}-slide-down-leave${s}-slide-down-leave-active${e}-placement-bottom, - &${s}-slide-down-leave${s}-slide-down-leave-active${e}-placement-bottomRight`]:{animationName:AT},[`&${s}-slide-up-leave${s}-slide-up-leave-active${e}-placement-topLeft, + &${s}-slide-down-leave${s}-slide-down-leave-active${e}-placement-bottomRight`]:{animationName:VT},[`&${s}-slide-up-leave${s}-slide-up-leave-active${e}-placement-topLeft, &${s}-slide-up-leave${s}-slide-up-leave-active${e}-placement-top, - &${s}-slide-up-leave${s}-slide-up-leave-active${e}-placement-topRight`]:{animationName:XT}})},kP(n,g,{arrowPlacement:{top:!0,bottom:!0}}),{[`${e} ${t}`]:{position:"relative",margin:0},[`${t}-submenu-popup`]:{position:"absolute",zIndex:i,background:"transparent",boxShadow:"none",transformOrigin:"0 0","ul, li":{listStyle:"none",margin:0}},[`${e}, ${e}-menu-submenu`]:{[t]:Object.assign(Object.assign({padding:d,listStyleType:"none",backgroundColor:g,backgroundClip:"padding-box",borderRadius:n.borderRadiusLG,outline:"none",boxShadow:n.boxShadowSecondary},$1(n)),{"&:empty":{padding:0,boxShadow:"none"},[`${t}-item-group-title`]:{padding:`${Ee(u)} ${Ee(f)}`,color:n.colorTextDescription,transition:`all ${l}`},[`${t}-item`]:{position:"relative",display:"flex",alignItems:"center"},[`${t}-item-icon`]:{minWidth:c,marginInlineEnd:n.marginXS,fontSize:n.fontSizeSM},[`${t}-title-content`]:{flex:"auto","> a":{color:"inherit",transition:`all ${l}`,"&:hover":{color:"inherit"},"&::after":{position:"absolute",inset:0,content:'""'}}},[`${t}-item, ${t}-submenu-title`]:Object.assign(Object.assign({clear:"both",margin:0,padding:`${Ee(u)} ${Ee(f)}`,color:n.colorText,fontWeight:"normal",fontSize:c,lineHeight:n.lineHeight,cursor:"pointer",transition:`all ${l}`,borderRadius:n.borderRadiusSM,"&:hover, &-active":{backgroundColor:n.controlItemBgHover}},$1(n)),{"&-selected":{color:n.colorPrimary,backgroundColor:n.controlItemBgActive,"&:hover, &-active":{backgroundColor:n.controlItemBgActiveHover}},"&-disabled":{color:h,cursor:"not-allowed","&:hover":{color:h,backgroundColor:g,cursor:"not-allowed"},a:{pointerEvents:"none"}},"&-divider":{height:1,margin:`${Ee(n.marginXXS)} 0`,overflow:"hidden",lineHeight:0,backgroundColor:n.colorSplit},[`${e}-menu-submenu-expand-icon`]:{position:"absolute",insetInlineEnd:n.paddingXS,[`${e}-menu-submenu-arrow-icon`]:{marginInlineEnd:"0 !important",color:n.colorTextDescription,fontSize:m,fontStyle:"normal"}}}),[`${t}-item-group-list`]:{margin:`0 ${Ee(n.marginXS)}`,padding:0,listStyle:"none"},[`${t}-submenu-title`]:{paddingInlineEnd:n.calc(f).add(n.fontSizeSM).equal()},[`${t}-submenu-vertical`]:{position:"relative"},[`${t}-submenu${t}-submenu-disabled ${e}-menu-submenu-title`]:{[`&, ${e}-menu-submenu-arrow-icon`]:{color:h,backgroundColor:g,cursor:"not-allowed"}},[`${t}-submenu-selected ${e}-menu-submenu-title`]:{color:n.colorPrimary}})}},[wm(n,"slide-up"),wm(n,"slide-down"),lw(n,"move-up"),lw(n,"move-down"),o_(n,"zoom-big")]]},CPe=Ho("Dropdown",n=>{const{marginXXS:e,sizePopupArrow:t,paddingXXS:i,componentCls:r}=n,o=Ui(n,{menuCls:`${r}-menu`,dropdownArrowDistance:n.calc(t).div(2).add(e).equal(),dropdownEdgeChildPadding:i});return[yPe(o),vPe(o)]},n=>Object.assign(Object.assign({zIndexPopup:n.zIndexPopupBase+50,paddingBlock:(n.controlHeight-n.fontSize*n.lineHeight)/2},UT({contentRadius:n.borderRadiusLG,limitVerticalRadius:!0})),YT(n))),JP=n=>{const{menu:e,arrow:t,prefixCls:i,children:r,trigger:o,disabled:s,dropdownRender:a,getPopupContainer:l,overlayClassName:u,rootClassName:c,overlayStyle:d,open:h,onOpenChange:m,visible:f,onVisibleChange:g,mouseEnterDelay:b=.15,mouseLeaveDelay:v=.1,autoAdjustOverflow:C=!0,placement:S="",overlay:x,transitionName:_}=n,{getPopupContainer:F,getPrefixCls:D,direction:M,dropdown:T}=w.useContext(Rn);jC();const Z=w.useMemo(()=>{const De=D();return _!==void 0?_:S.includes("top")?`${De}-slide-down`:`${De}-slide-up`},[D,S,_]),E=w.useMemo(()=>S?S.includes("Center")?S.slice(0,S.indexOf("Center")):S:M==="rtl"?"bottomRight":"bottomLeft",[S,M]),R=D("dropdown",i),W=_s(R),[A,z,O]=CPe(R,W),[,B]=Pa(),P=w.Children.only(r),H=eu(P,{className:Te(`${R}-trigger`,{[`${R}-rtl`]:M==="rtl"},P.props.className),disabled:s}),k=s?[]:o;let X;k&&k.includes("contextMenu")&&(X=!0);const[Y,V]=Jr(!1,{value:h??f}),te=$i(De=>{m==null||m(De,{source:"trigger"}),g==null||g(De),V(De)}),oe=Te(u,c,z,O,W,T==null?void 0:T.className,{[`${R}-rtl`]:M==="rtl"}),ae=kse({arrowPointAtCenter:typeof t=="object"&&t.pointAtCenter,autoAdjustOverflow:C,offset:B.marginXXS,arrowWidth:t?B.sizePopupArrow:0,borderRadius:B.borderRadius}),le=w.useCallback(()=>{e!=null&&e.selectable&&(e!=null&&e.multiple)||(m==null||m(!1,{source:"menu"}),V(!1))},[e==null?void 0:e.selectable,e==null?void 0:e.multiple]),ue=()=>{let De;return e!=null&&e.items?De=w.createElement(bPe,Object.assign({},e)):typeof x=="function"?De=x():De=x,a&&(De=a(De)),De=w.Children.only(typeof De=="string"?w.createElement("span",null,De):De),w.createElement(lPe,{prefixCls:`${R}-menu`,rootClassName:Te(O,W),expandIcon:w.createElement("span",{className:`${R}-menu-submenu-arrow`},w.createElement(TP,{className:`${R}-menu-submenu-arrow-icon`})),mode:"vertical",selectable:!1,onClick:le,validator:ke=>{}},De)},[Ce,pe]=iv("Dropdown",d==null?void 0:d.zIndex);let ce=w.createElement(Rse,Object.assign({alignPoint:X},la(n,["rootClassName"]),{mouseEnterDelay:b,mouseLeaveDelay:v,visible:Y,builtinPlacements:ae,arrow:!!t,overlayClassName:oe,prefixCls:R,getPopupContainer:l||F,transitionName:Z,trigger:k,overlay:ue,placement:E,onVisibleChange:te,overlayStyle:Object.assign(Object.assign(Object.assign({},T==null?void 0:T.style),d),{zIndex:Ce})}),H);return Ce&&(ce=w.createElement(FT.Provider,{value:pe},ce)),A(ce)};function wPe(n){return Object.assign(Object.assign({},n),{align:{overflow:{adjustX:!1,adjustY:!1}}})}const SPe=PT(JP,"dropdown",n=>n,wPe),xPe=n=>w.createElement(SPe,Object.assign({},n),w.createElement("span",null));JP._InternalPanelDoNotUseOrYouWillBeFired=xPe;const cae=JP;var dae={exports:{}};(function(n,e){(function(t,i){n.exports=i()})(Jf,function(){var t=1e3,i=6e4,r=36e5,o="millisecond",s="second",a="minute",l="hour",u="day",c="week",d="month",h="quarter",m="year",f="date",g="Invalid Date",b=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,v=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,C={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(A){var z=["th","st","nd","rd"],O=A%100;return"["+A+(z[(O-20)%10]||z[O]||z[0])+"]"}},S=function(A,z,O){var B=String(A);return!B||B.length>=z?A:""+Array(z+1-B.length).join(O)+A},x={s:S,z:function(A){var z=-A.utcOffset(),O=Math.abs(z),B=Math.floor(O/60),P=O%60;return(z<=0?"+":"-")+S(B,2,"0")+":"+S(P,2,"0")},m:function A(z,O){if(z.date()1)return A(k[0])}else{var X=z.name;F[X]=z,P=X}return!B&&P&&(_=P),P||!B&&_},Z=function(A,z){if(M(A))return A.clone();var O=typeof z=="object"?z:{};return O.date=A,O.args=arguments,new R(O)},E=x;E.l=T,E.i=M,E.w=function(A,z){return Z(A,{locale:z.$L,utc:z.$u,x:z.$x,$offset:z.$offset})};var R=function(){function A(O){this.$L=T(O.locale,null,!0),this.parse(O),this.$x=this.$x||O.x||{},this[D]=!0}var z=A.prototype;return z.parse=function(O){this.$d=function(B){var P=B.date,H=B.utc;if(P===null)return new Date(NaN);if(E.u(P))return new Date;if(P instanceof Date)return new Date(P);if(typeof P=="string"&&!/Z$/i.test(P)){var k=P.match(b);if(k){var X=k[2]-1||0,Y=(k[7]||"0").substring(0,3);return H?new Date(Date.UTC(k[1],X,k[3]||1,k[4]||0,k[5]||0,k[6]||0,Y)):new Date(k[1],X,k[3]||1,k[4]||0,k[5]||0,k[6]||0,Y)}}return new Date(P)}(O),this.init()},z.init=function(){var O=this.$d;this.$y=O.getFullYear(),this.$M=O.getMonth(),this.$D=O.getDate(),this.$W=O.getDay(),this.$H=O.getHours(),this.$m=O.getMinutes(),this.$s=O.getSeconds(),this.$ms=O.getMilliseconds()},z.$utils=function(){return E},z.isValid=function(){return this.$d.toString()!==g},z.isSame=function(O,B){var P=Z(O);return this.startOf(B)<=P&&P<=this.endOf(B)},z.isAfter=function(O,B){return Z(O)25){var c=s(this).startOf(i).add(1,i).date(u),d=s(this).endOf(t);if(c.isBefore(d))return 1}var h=s(this).startOf(i).date(u).startOf(t).subtract(1,"millisecond"),m=this.diff(h,t,!0);return m<0?s(this).startOf("week").week():Math.ceil(m)},a.weeks=function(l){return l===void 0&&(l=null),this.week(l)}}})})(fae);var MPe=fae.exports;const kPe=yl(MPe);var gae={exports:{}};(function(n,e){(function(t,i){n.exports=i()})(Jf,function(){return function(t,i){i.prototype.weekYear=function(){var r=this.month(),o=this.week(),s=this.year();return o===1&&r===11?s+1:r===0&&o>=52?s-1:s}}})})(gae);var NPe=gae.exports;const TPe=yl(NPe);var pae={exports:{}};(function(n,e){(function(t,i){n.exports=i()})(Jf,function(){return function(t,i){var r=i.prototype,o=r.format;r.format=function(s){var a=this,l=this.$locale();if(!this.isValid())return o.bind(this)(s);var u=this.$utils(),c=(s||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(d){switch(d){case"Q":return Math.ceil((a.$M+1)/3);case"Do":return l.ordinal(a.$D);case"gggg":return a.weekYear();case"GGGG":return a.isoWeekYear();case"wo":return l.ordinal(a.week(),"W");case"w":case"ww":return u.s(a.week(),d==="w"?1:2,"0");case"W":case"WW":return u.s(a.isoWeek(),d==="W"?1:2,"0");case"k":case"kk":return u.s(String(a.$H===0?24:a.$H),d==="k"?1:2,"0");case"X":return Math.floor(a.$d.getTime()/1e3);case"x":return a.$d.getTime();case"z":return"["+a.offsetName()+"]";case"zzz":return"["+a.offsetName("long")+"]";default:return d}});return o.bind(this)(c)}}})})(pae);var EPe=pae.exports;const ZPe=yl(EPe);var bae={exports:{}};(function(n,e){(function(t,i){n.exports=i()})(Jf,function(){var t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},i=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,r=/\d\d/,o=/\d\d?/,s=/\d*[^-_:/,()\s\d]+/,a={},l=function(g){return(g=+g)+(g>68?1900:2e3)},u=function(g){return function(b){this[g]=+b}},c=[/[+-]\d\d:?(\d\d)?|Z/,function(g){(this.zone||(this.zone={})).offset=function(b){if(!b||b==="Z")return 0;var v=b.match(/([+-]|\d\d)/g),C=60*v[1]+(+v[2]||0);return C===0?0:v[0]==="+"?-C:C}(g)}],d=function(g){var b=a[g];return b&&(b.indexOf?b:b.s.concat(b.f))},h=function(g,b){var v,C=a.meridiem;if(C){for(var S=1;S<=24;S+=1)if(g.indexOf(C(S,0,b))>-1){v=S>12;break}}else v=g===(b?"pm":"PM");return v},m={A:[s,function(g){this.afternoon=h(g,!1)}],a:[s,function(g){this.afternoon=h(g,!0)}],S:[/\d/,function(g){this.milliseconds=100*+g}],SS:[r,function(g){this.milliseconds=10*+g}],SSS:[/\d{3}/,function(g){this.milliseconds=+g}],s:[o,u("seconds")],ss:[o,u("seconds")],m:[o,u("minutes")],mm:[o,u("minutes")],H:[o,u("hours")],h:[o,u("hours")],HH:[o,u("hours")],hh:[o,u("hours")],D:[o,u("day")],DD:[r,u("day")],Do:[s,function(g){var b=a.ordinal,v=g.match(/\d+/);if(this.day=v[0],b)for(var C=1;C<=31;C+=1)b(C).replace(/\[|\]/g,"")===g&&(this.day=C)}],M:[o,u("month")],MM:[r,u("month")],MMM:[s,function(g){var b=d("months"),v=(d("monthsShort")||b.map(function(C){return C.slice(0,3)})).indexOf(g)+1;if(v<1)throw new Error;this.month=v%12||v}],MMMM:[s,function(g){var b=d("months").indexOf(g)+1;if(b<1)throw new Error;this.month=b%12||b}],Y:[/[+-]?\d+/,u("year")],YY:[r,function(g){this.year=l(g)}],YYYY:[/\d{4}/,u("year")],Z:c,ZZ:c};function f(g){var b,v;b=g,v=a&&a.formats;for(var C=(g=b.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(T,Z,E){var R=E&&E.toUpperCase();return Z||v[E]||t[E]||v[R].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(W,A,z){return A||z.slice(1)})})).match(i),S=C.length,x=0;x-1)return new Date((B==="X"?1e3:1)*O);var H=f(B)(O),k=H.year,X=H.month,Y=H.day,V=H.hours,te=H.minutes,oe=H.seconds,ae=H.milliseconds,le=H.zone,ue=new Date,Ce=Y||(k||X?1:ue.getDate()),pe=k||ue.getFullYear(),ce=0;k&&!X||(ce=X>0?X-1:ue.getMonth());var De=V||0,ke=te||0,Ne=oe||0,Ue=ae||0;return le?new Date(Date.UTC(pe,ce,Ce,De,ke,Ne,Ue+60*le.offset*1e3)):P?new Date(Date.UTC(pe,ce,Ce,De,ke,Ne,Ue)):new Date(pe,ce,Ce,De,ke,Ne,Ue)}catch{return new Date("")}}(_,M,F),this.init(),R&&R!==!0&&(this.$L=this.locale(R).$L),E&&_!=this.format(M)&&(this.$d=new Date("")),a={}}else if(M instanceof Array)for(var W=M.length,A=1;A<=W;A+=1){D[1]=M[A-1];var z=v.apply(this,D);if(z.isValid()){this.$d=z.$d,this.$L=z.$L,this.init();break}A===W&&(this.$d=new Date(""))}else S.call(this,x)}}})})(bae);var WPe=bae.exports;const RPe=yl(WPe);Eo.extend(RPe),Eo.extend(ZPe),Eo.extend(FPe),Eo.extend(DPe),Eo.extend(kPe),Eo.extend(TPe),Eo.extend(function(n,e){var t=e.prototype,i=t.format;t.format=function(o){var s=(o||"").replace("Wo","wo");return i.bind(this)(s)}});var VPe={bn_BD:"bn-bd",by_BY:"be",en_GB:"en-gb",en_US:"en",fr_BE:"fr",fr_CA:"fr-ca",hy_AM:"hy-am",kmr_IQ:"ku",nl_BE:"nl-be",pt_BR:"pt-br",zh_CN:"zh-cn",zh_HK:"zh-hk",zh_TW:"zh-tw"},uv=function(e){var t=VPe[e];return t||e.split("_")[0]},vae=function(){Ete(!1,"Not match any format. Please help to fire a issue about this.")},APe={getNow:function(){return Eo()},getFixedDate:function(e){return Eo(e,["YYYY-M-DD","YYYY-MM-DD"])},getEndDate:function(e){return e.endOf("month")},getWeekDay:function(e){var t=e.locale("en");return t.weekday()+t.localeData().firstDayOfWeek()},getYear:function(e){return e.year()},getMonth:function(e){return e.month()},getDate:function(e){return e.date()},getHour:function(e){return e.hour()},getMinute:function(e){return e.minute()},getSecond:function(e){return e.second()},getMillisecond:function(e){return e.millisecond()},addYear:function(e,t){return e.add(t,"year")},addMonth:function(e,t){return e.add(t,"month")},addDate:function(e,t){return e.add(t,"day")},setYear:function(e,t){return e.year(t)},setMonth:function(e,t){return e.month(t)},setDate:function(e,t){return e.date(t)},setHour:function(e,t){return e.hour(t)},setMinute:function(e,t){return e.minute(t)},setSecond:function(e,t){return e.second(t)},setMillisecond:function(e,t){return e.millisecond(t)},isAfter:function(e,t){return e.isAfter(t)},isValidate:function(e){return e.isValid()},locale:{getWeekFirstDay:function(e){return Eo().locale(uv(e)).localeData().firstDayOfWeek()},getWeekFirstDate:function(e,t){return t.locale(uv(e)).weekday(0)},getWeek:function(e,t){return t.locale(uv(e)).week()},getShortWeekDays:function(e){return Eo().locale(uv(e)).localeData().weekdaysMin()},getShortMonths:function(e){return Eo().locale(uv(e)).localeData().monthsShort()},format:function(e,t,i){return t.locale(uv(e)).format(i)},parse:function(e,t,i){for(var r=uv(e),o=0;o2&&arguments[2]!==void 0?arguments[2]:"0",i=String(n);i.length2&&arguments[2]!==void 0?arguments[2]:[],i=w.useState([!1,!1]),r=Se(i,2),o=r[0],s=r[1],a=function(c,d){s(function(h){return w_(h,d,c)})},l=w.useMemo(function(){return o.map(function(u,c){if(u)return!0;var d=n[c];return d?!!(!t[c]&&!d||d&&e(d,{activeIndex:c})):!1})},[n,o,e,t]);return[l,a]}function xae(n,e,t,i,r){var o="",s=[];return n&&s.push(r?"hh":"HH"),e&&s.push("mm"),t&&s.push("ss"),o=s.join(":"),i&&(o+=".SSS"),r&&(o+=" A"),o}function XPe(n,e,t,i,r,o){var s=n.fieldDateTimeFormat,a=n.fieldDateFormat,l=n.fieldTimeFormat,u=n.fieldMonthFormat,c=n.fieldYearFormat,d=n.fieldWeekFormat,h=n.fieldQuarterFormat,m=n.yearFormat,f=n.cellYearFormat,g=n.cellQuarterFormat,b=n.dayFormat,v=n.cellDateFormat,C=xae(e,t,i,r,o);return xe(xe({},n),{},{fieldDateTimeFormat:s||"YYYY-MM-DD ".concat(C),fieldDateFormat:a||"YYYY-MM-DD",fieldTimeFormat:l||C,fieldMonthFormat:u||"YYYY-MM",fieldYearFormat:c||"YYYY",fieldWeekFormat:d||"gggg-wo",fieldQuarterFormat:h||"YYYY-[Q]Q",yearFormat:m||"YYYY",cellYearFormat:f||"YYYY",cellQuarterFormat:g||"[Q]Q",cellDateFormat:v||b||"D"})}function Lae(n,e){var t=e.showHour,i=e.showMinute,r=e.showSecond,o=e.showMillisecond,s=e.use12Hours;return ze.useMemo(function(){return XPe(n,t,i,r,o,s)},[n,t,i,r,o,s])}function S_(n,e,t){return t??e.some(function(i){return n.includes(i)})}var PPe=["showNow","showHour","showMinute","showSecond","showMillisecond","use12Hours","hourStep","minuteStep","secondStep","millisecondStep","hideDisabledOptions","defaultValue","disabledHours","disabledMinutes","disabledSeconds","disabledMilliseconds","disabledTime","changeOnScroll","defaultOpenValue"];function OPe(n){var e=rE(n,PPe),t=n.format,i=n.picker,r=null;return t&&(r=t,Array.isArray(r)&&(r=r[0]),r=Xn(r)==="object"?r.format:r),i==="time"&&(e.format=r),[e,r]}function BPe(n){return n&&typeof n=="string"}function _ae(n,e,t,i){return[n,e,t,i].some(function(r){return r!==void 0})}function Fae(n,e,t,i,r){var o=e,s=t,a=i;if(!n&&!o&&!s&&!a&&!r)o=!0,s=!0,a=!0;else if(n){var l,u,c,d=[o,s,a].some(function(f){return f===!1}),h=[o,s,a].some(function(f){return f===!0}),m=d?!0:!h;o=(l=o)!==null&&l!==void 0?l:m,s=(u=s)!==null&&u!==void 0?u:m,a=(c=a)!==null&&c!==void 0?c:m}return[o,s,a,r]}function Iae(n){var e=n.showTime,t=OPe(n),i=Se(t,2),r=i[0],o=i[1],s=e&&Xn(e)==="object"?e:{},a=xe(xe({defaultOpenValue:s.defaultOpenValue||s.defaultValue},r),s),l=a.showMillisecond,u=a.showHour,c=a.showMinute,d=a.showSecond,h=_ae(u,c,d,l),m=Fae(h,u,c,d,l),f=Se(m,3);return u=f[0],c=f[1],d=f[2],[a,xe(xe({},a),{},{showHour:u,showMinute:c,showSecond:d,showMillisecond:l}),a.format,o]}function Dae(n,e,t,i,r){var o=n==="time";if(n==="datetime"||o){for(var s=i,a=Cae(n,r,null),l=a,u=[e,t],c=0;c1&&(s=e.addDate(s,-7)),s}function ca(n,e){var t=e.generateConfig,i=e.locale,r=e.format;return n?typeof r=="function"?r(n):t.locale.format(i.locale,n,r):""}function aE(n,e,t){var i=e,r=["getHour","getMinute","getSecond","getMillisecond"],o=["setHour","setMinute","setSecond","setMillisecond"];return o.forEach(function(s,a){t?i=n[s](i,n[r[a]](t)):i=n[s](i,0)}),i}function UPe(n,e,t,i,r){var o=$i(function(s,a){return!!(t&&t(s,a)||i&&n.isAfter(i,s)&&!xl(n,e,i,s,a.type)||r&&n.isAfter(s,r)&&!xl(n,e,r,s,a.type))});return o}function KPe(n,e,t){return w.useMemo(function(){var i=Cae(n,e,t),r=cv(i),o=r[0],s=Xn(o)==="object"&&o.type==="mask"?o.format:null;return[r.map(function(a){return typeof a=="string"||typeof a=="function"?a:a.format}),s]},[n,e,t])}function JPe(n,e,t){return typeof n[0]=="function"||t?!0:e}function jPe(n,e,t,i){var r=$i(function(o,s){var a=xe({type:e},s);if(delete a.activeIndex,!n.isValidate(o)||t&&t(o,a))return!0;if((e==="date"||e==="time")&&i){var l,u=((l=i.disabledTime)===null||l===void 0?void 0:l.call(i,o,s&&s.activeIndex===1?"end":"start"))||{},c=u.disabledHours,d=u.disabledMinutes,h=u.disabledSeconds,m=u.disabledMilliseconds,f=i.disabledHours,g=i.disabledMinutes,b=i.disabledSeconds,v=c||f,C=d||g,S=h||b,x=n.getHour(o),_=n.getMinute(o),F=n.getSecond(o),D=n.getMillisecond(o);if(v&&v().includes(x)||C&&C(x).includes(_)||S&&S(x,_).includes(F)||m&&m(x,_,F).includes(D))return!0}return!1});return r}function lE(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,t=w.useMemo(function(){var i=n&&cv(n);return e&&i&&(i[1]=i[1]||i[0]),i},[n,e]);return t}function Tae(n,e){var t=n.generateConfig,i=n.locale,r=n.picker,o=r===void 0?"date":r,s=n.prefixCls,a=s===void 0?"rc-picker":s,l=n.styles,u=l===void 0?{}:l,c=n.classNames,d=c===void 0?{}:c,h=n.order,m=h===void 0?!0:h,f=n.components,g=f===void 0?{}:f,b=n.inputRender,v=n.allowClear,C=n.clearIcon,S=n.needConfirm,x=n.multiple,_=n.format,F=n.inputReadOnly,D=n.disabledDate,M=n.minDate,T=n.maxDate,Z=n.showTime,E=n.value,R=n.defaultValue,W=n.pickerValue,A=n.defaultPickerValue,z=lE(E),O=lE(R),B=lE(W),P=lE(A),H=o==="date"&&Z?"datetime":o,k=H==="time"||H==="datetime",X=k||x,Y=S??k,V=Iae(n),te=Se(V,4),oe=te[0],ae=te[1],le=te[2],ue=te[3],Ce=Lae(i,ae),pe=w.useMemo(function(){return Dae(H,le,ue,oe,Ce)},[H,le,ue,oe,Ce]),ce=w.useMemo(function(){return xe(xe({},n),{},{prefixCls:a,locale:Ce,picker:o,styles:u,classNames:d,order:m,components:xe({input:b},g),clearIcon:zPe(a,v,C),showTime:pe,value:z,defaultValue:O,pickerValue:B,defaultPickerValue:P},e==null?void 0:e())},[n]),De=KPe(H,Ce,_),ke=Se(De,2),Ne=ke[0],Ue=ke[1],He=JPe(Ne,F,x),ct=UPe(t,i,D,M,T),vt=jPe(t,o,ct,pe),it=w.useMemo(function(){return xe(xe({},ce),{},{needConfirm:Y,inputReadOnly:He,disabledDate:ct})},[ce,Y,He,ct]);return[it,H,X,Ne,Ue,vt]}function QPe(n,e,t){var i=Jr(e,{value:n}),r=Se(i,2),o=r[0],s=r[1],a=ze.useRef(n),l=ze.useRef(),u=function(){xi.cancel(l.current)},c=$i(function(){s(a.current),t&&o!==a.current&&t(a.current)}),d=$i(function(h,m){u(),a.current=h,h||m?c():l.current=xi(c)});return ze.useEffect(function(){return u},[]),[o,d]}function Eae(n,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],i=arguments.length>3?arguments[3]:void 0,r=t.every(function(c){return c})?!1:n,o=QPe(r,e||!1,i),s=Se(o,2),a=s[0],l=s[1];function u(c){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};(!d.inherit||a)&&l(c,d.force)}return[a,u]}function Zae(n){var e=w.useRef();return w.useImperativeHandle(n,function(){var t;return{nativeElement:(t=e.current)===null||t===void 0?void 0:t.nativeElement,focus:function(r){var o;(o=e.current)===null||o===void 0||o.focus(r)},blur:function(){var r;(r=e.current)===null||r===void 0||r.blur()}}}),e}function Wae(n,e){return w.useMemo(function(){return n||(e?(aa(!1,"`ranges` is deprecated. Please use `presets` instead."),Object.entries(e).map(function(t){var i=Se(t,2),r=i[0],o=i[1];return{label:r,value:o}})):[])},[n,e])}function nO(n,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,i=w.useRef(e);i.current=e,Y1(function(){if(n)i.current(n);else{var r=xi(function(){i.current(n)},t);return function(){xi.cancel(r)}}},[n])}function Rae(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],t=w.useState(0),i=Se(t,2),r=i[0],o=i[1],s=w.useState(!1),a=Se(s,2),l=a[0],u=a[1],c=w.useRef([]),d=w.useRef(null),h=function(b){u(b)},m=function(b){return b&&(d.current=b),d.current},f=function(b){var v=c.current,C=new Set(v.filter(function(x){return b[x]||e[x]})),S=v[v.length-1]===0?1:0;return C.size>=2||n[S]?null:S};return nO(l,function(){l||(c.current=[])}),w.useEffect(function(){l&&c.current.push(r)},[l,r]),[l,h,m,r,o,f,c.current]}function $Pe(n,e,t,i,r,o){var s=t[t.length-1],a=t.find(function(u){return n[u]}),l=function(c,d){var h=Se(n,2),m=h[0],f=h[1],g=xe(xe({},d),{},{from:s!==a?n[a]:void 0});return s===1&&e[0]&&m&&!xl(i,r,m,c,g.type)&&i.isAfter(m,c)||s===0&&e[1]&&f&&!xl(i,r,f,c,g.type)&&i.isAfter(c,f)?!0:o==null?void 0:o(c,g)};return l}function L_(n,e,t,i){switch(e){case"date":case"week":return n.addMonth(t,i);case"month":case"quarter":return n.addYear(t,i);case"year":return n.addYear(t,i*10);case"decade":return n.addYear(t,i*100);default:return t}}var iO=[];function Vae(n,e,t,i,r,o,s,a){var l=arguments.length>8&&arguments[8]!==void 0?arguments[8]:iO,u=arguments.length>9&&arguments[9]!==void 0?arguments[9]:iO,c=arguments.length>10&&arguments[10]!==void 0?arguments[10]:iO,d=arguments.length>11?arguments[11]:void 0,h=arguments.length>12?arguments[12]:void 0,m=arguments.length>13?arguments[13]:void 0,f=s==="time",g=o||0,b=function(B){var P=n.getNow();return f&&(P=aE(n,P)),l[B]||t[B]||P},v=Se(u,2),C=v[0],S=v[1],x=Jr(function(){return b(0)},{value:C}),_=Se(x,2),F=_[0],D=_[1],M=Jr(function(){return b(1)},{value:S}),T=Se(M,2),Z=T[0],E=T[1],R=w.useMemo(function(){var O=[F,Z][g];return f?O:aE(n,O,c[g])},[f,F,Z,g,n,c]),W=function(B){var P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"panel",H=[D,E][g];H(B);var k=[F,Z];k[g]=B,d&&(!xl(n,e,F,k[0],s)||!xl(n,e,Z,k[1],s))&&d(k,{source:P,range:g===1?"end":"start",mode:i})},A=function(B,P){if(a){var H={date:"month",week:"month",month:"year",quarter:"year"},k=H[s];if(k&&!xl(n,e,B,P,k))return L_(n,s,P,-1);if(s==="year"){var X=Math.floor(n.getYear(B)/10),Y=Math.floor(n.getYear(P)/10);if(X!==Y)return L_(n,s,P,-1)}}return P},z=w.useRef(null);return dr(function(){if(r&&!l[g]){var O=f?null:n.getNow();if(z.current!==null&&z.current!==g?O=[F,Z][g^1]:t[g]?O=g===0?t[0]:A(t[0],t[1]):t[g^1]&&(O=t[g^1]),O){h&&n.isAfter(h,O)&&(O=h);var B=a?L_(n,s,O,1):O;m&&n.isAfter(B,m)&&(O=a?L_(n,s,m,-1):m),W(O,"reset")}}},[r,g,t[g]]),w.useEffect(function(){r?z.current=g:z.current=null},[r,g]),dr(function(){r&&l&&l[g]&&W(l[g],"reset")},[r,g]),[R,W]}function Aae(n,e){var t=w.useRef(n),i=w.useState({}),r=Se(i,2),o=r[1],s=function(u){return u&&e!==void 0?e:t.current},a=function(u){t.current=u,o({})};return[s,a,s(!0)]}var qPe=[];function Gae(n,e,t){var i=function(s){return s.map(function(a){return ca(a,{generateConfig:n,locale:e,format:t[0]})})},r=function(s,a){for(var l=Math.max(s.length,a.length),u=-1,c=0;c2&&arguments[2]!==void 0?arguments[2]:1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[],o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:2,s=[],a=t>=1?t|0:1,l=n;l<=e;l+=a){var u=r.includes(l);(!u||!i)&&s.push({label:jP(l,o),value:l,disabled:u})}return s}function rO(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=arguments.length>2?arguments[2]:void 0,i=e||{},r=i.use12Hours,o=i.hourStep,s=o===void 0?1:o,a=i.minuteStep,l=a===void 0?1:a,u=i.secondStep,c=u===void 0?1:u,d=i.millisecondStep,h=d===void 0?100:d,m=i.hideDisabledOptions,f=i.disabledTime,g=i.disabledHours,b=i.disabledMinutes,v=i.disabledSeconds,C=w.useMemo(function(){return t||n.getNow()},[t,n]),S=w.useCallback(function(P){var H=(f==null?void 0:f(P))||{};return[H.disabledHours||g||uE,H.disabledMinutes||b||uE,H.disabledSeconds||v||uE,H.disabledMilliseconds||uE]},[f,g,b,v]),x=w.useMemo(function(){return S(C)},[C,S]),_=Se(x,4),F=_[0],D=_[1],M=_[2],T=_[3],Z=w.useCallback(function(P,H,k,X){var Y=cE(0,23,s,m,P()),V=r?Y.map(function(le){return xe(xe({},le),{},{label:jP(le.value%12||12,2)})}):Y,te=function(ue){return cE(0,59,l,m,H(ue))},oe=function(ue,Ce){return cE(0,59,c,m,k(ue,Ce))},ae=function(ue,Ce,pe){return cE(0,999,h,m,X(ue,Ce,pe),3)};return[V,te,oe,ae]},[m,s,r,h,l,c]),E=w.useMemo(function(){return Z(F,D,M,T)},[Z,F,D,M,T]),R=Se(E,4),W=R[0],A=R[1],z=R[2],O=R[3],B=function(H,k){var X=function(){return W},Y=A,V=z,te=O;if(k){var oe=S(k),ae=Se(oe,4),le=ae[0],ue=ae[1],Ce=ae[2],pe=ae[3],ce=Z(le,ue,Ce,pe),De=Se(ce,4),ke=De[0],Ne=De[1],Ue=De[2],He=De[3];X=function(){return ke},Y=Ne,V=Ue,te=He}var ct=tOe(H,X,Y,V,te,n);return ct};return[B,W,A,z,O]}function nOe(n){var e=n.mode,t=n.internalMode,i=n.renderExtraFooter,r=n.showNow,o=n.showTime,s=n.onSubmit,a=n.onNow,l=n.invalid,u=n.needConfirm,c=n.generateConfig,d=n.disabledDate,h=w.useContext(ch),m=h.prefixCls,f=h.locale,g=h.button,b=g===void 0?"button":g,v=c.getNow(),C=rO(c,o,v),S=Se(C,1),x=S[0],_=i==null?void 0:i(e),F=d(v,{type:e}),D=function(){if(!F){var A=x(v);a(A)}},M="".concat(m,"-now"),T="".concat(M,"-btn"),Z=r&&w.createElement("li",{className:M},w.createElement("a",{className:Te(T,F&&"".concat(T,"-disabled")),"aria-disabled":F,onClick:D},t==="date"?f.today:f.now)),E=u&&w.createElement("li",{className:"".concat(m,"-ok")},w.createElement(b,{disabled:l,onClick:s},f.ok)),R=(Z||E)&&w.createElement("ul",{className:"".concat(m,"-ranges")},Z,E);return!_&&!R?null:w.createElement("div",{className:"".concat(m,"-footer")},_&&w.createElement("div",{className:"".concat(m,"-footer-extra")},_),R)}function zae(n,e,t){function i(r,o){var s=r.findIndex(function(l){return xl(n,e,l,o,t)});if(s===-1)return[].concat(_t(r),[o]);var a=_t(r);return a.splice(s,1),a}return i}var hv=w.createContext(null);function dE(){return w.useContext(hv)}function ww(n,e){var t=n.prefixCls,i=n.generateConfig,r=n.locale,o=n.disabledDate,s=n.minDate,a=n.maxDate,l=n.cellRender,u=n.hoverValue,c=n.hoverRangeValue,d=n.onHover,h=n.values,m=n.pickerValue,f=n.onSelect,g=n.prevIcon,b=n.nextIcon,v=n.superPrevIcon,C=n.superNextIcon,S=i.getNow(),x={now:S,values:h,pickerValue:m,prefixCls:t,disabledDate:o,minDate:s,maxDate:a,cellRender:l,hoverValue:u,hoverRangeValue:c,onHover:d,locale:r,generateConfig:i,onSelect:f,panelType:e,prevIcon:g,nextIcon:b,superPrevIcon:v,superNextIcon:C};return[x,S]}var gb=w.createContext({});function __(n){for(var e=n.rowNum,t=n.colNum,i=n.baseDate,r=n.getCellDate,o=n.prefixColumn,s=n.rowClassName,a=n.titleFormat,l=n.getCellText,u=n.getCellClassName,c=n.headerCells,d=n.cellSelection,h=d===void 0?!0:d,m=n.disabledDate,f=dE(),g=f.prefixCls,b=f.panelType,v=f.now,C=f.disabledDate,S=f.cellRender,x=f.onHover,_=f.hoverValue,F=f.hoverRangeValue,D=f.generateConfig,M=f.values,T=f.locale,Z=f.onSelect,E=m||C,R="".concat(g,"-cell"),W=w.useContext(gb),A=W.onCellDblClick,z=function(V){return M.some(function(te){return te&&xl(D,T,V,te,b)})},O=[],B=0;B1&&arguments[1]!==void 0?arguments[1]:!1;me(Ge),b==null||b(Ge),mt&&j(Ge)},q=function(Ge,mt){Ce(Ge),mt&&$(mt),j(mt,Ge)},ee=function(Ge){if(vt(Ge),$(Ge),ue!==x){var mt=["decade","year"],St=[].concat(mt,["month"]),Kt={quarter:[].concat(mt,["quarter"]),week:[].concat(_t(St),["week"]),date:[].concat(_t(St),["date"])},Rt=Kt[x]||St,Yt=Rt.indexOf(ue),Tn=Rt[Yt+1];Tn&&q(Tn,Ge)}},ve=w.useMemo(function(){var Ye,Ge;if(Array.isArray(D)){var mt=Se(D,2);Ye=mt[0],Ge=mt[1]}else Ye=D;return!Ye&&!Ge?null:(Ye=Ye||Ge,Ge=Ge||Ye,r.isAfter(Ye,Ge)?[Ge,Ye]:[Ye,Ge])},[D,r]),Le=QP(M,T,Z),Me=R[pe]||mOe[pe]||mE,Be=w.useContext(gb),$e=w.useMemo(function(){return xe(xe({},Be),{},{hideHeader:W})},[Be,W]),Re="".concat(A,"-panel"),ht=rE(n,["showWeek","prevIcon","nextIcon","superPrevIcon","superNextIcon","disabledDate","minDate","maxDate","onHover"]);return w.createElement(gb.Provider,{value:$e},w.createElement("div",{ref:z,tabIndex:l,className:Te(Re,ge({},"".concat(Re,"-rtl"),o==="rtl"))},w.createElement(Me,pt({},ht,{showTime:te,prefixCls:A,locale:Y,generateConfig:r,onModeChange:q,pickerValue:de,onPickerValueChange:function(Ge){$(Ge,!0)},value:He[0],onSelect:ee,values:He,cellRender:Le,hoverRangeValue:ve,hoverValue:F}))))}var oO=w.memo(w.forwardRef(fOe));function gOe(n){var e=n.picker,t=n.multiplePanel,i=n.pickerValue,r=n.onPickerValueChange,o=n.needConfirm,s=n.onSubmit,a=n.range,l=n.hoverValue,u=w.useContext(ch),c=u.prefixCls,d=u.generateConfig,h=w.useCallback(function(C,S){return L_(d,e,C,S)},[d,e]),m=w.useMemo(function(){return h(i,1)},[i,h]),f=function(S){r(h(S,-1))},g={onCellDblClick:function(){o&&s()}},b=e==="time",v=xe(xe({},n),{},{hoverValue:null,hoverRangeValue:null,hideHeader:b});return a?v.hoverRangeValue=l:v.hoverValue=l,t?w.createElement("div",{className:"".concat(c,"-panels")},w.createElement(gb.Provider,{value:xe(xe({},g),{},{hideNext:!0})},w.createElement(oO,v)),w.createElement(gb.Provider,{value:xe(xe({},g),{},{hidePrev:!0})},w.createElement(oO,pt({},v,{pickerValue:m,onPickerValueChange:f})))):w.createElement(gb.Provider,{value:xe({},g)},w.createElement(oO,v))}function Yae(n){return typeof n=="function"?n():n}function pOe(n){var e=n.prefixCls,t=n.presets,i=n.onClick,r=n.onHover;return t.length?w.createElement("div",{className:"".concat(e,"-presets")},w.createElement("ul",null,t.map(function(o,s){var a=o.label,l=o.value;return w.createElement("li",{key:s,onClick:function(){i(Yae(l))},onMouseEnter:function(){r(Yae(l))},onMouseLeave:function(){r(null)}},a)}))):null}function Uae(n){var e=n.panelRender,t=n.internalMode,i=n.picker,r=n.showNow,o=n.range,s=n.multiple,a=n.activeOffset,l=a===void 0?0:a,u=n.presets,c=n.onPresetHover,d=n.onPresetSubmit,h=n.onFocus,m=n.onBlur,f=n.direction,g=n.value,b=n.onSelect,v=n.isInvalid,C=n.defaultOpenValue,S=n.onOk,x=n.onSubmit,_=w.useContext(ch),F=_.prefixCls,D="".concat(F,"-panel"),M=f==="rtl",T=w.useRef(null),Z=w.useRef(null),E=w.useState(0),R=Se(E,2),W=R[0],A=R[1],z=w.useState(0),O=Se(z,2),B=O[0],P=O[1],H=function(ke){ke.offsetWidth&&A(ke.offsetWidth)};w.useEffect(function(){if(o){var De,ke=((De=T.current)===null||De===void 0?void 0:De.offsetWidth)||0,Ne=W-ke;l<=Ne?P(0):P(l+ke-W)}},[W,l,o]);function k(De){return De.filter(function(ke){return ke})}var X=w.useMemo(function(){return k(cv(g))},[g]),Y=i==="time"&&!X.length,V=w.useMemo(function(){return Y?k([C]):X},[Y,X,C]),te=Y?C:X,oe=w.useMemo(function(){return V.length?V.some(function(De){return v(De)}):!0},[V,v]),ae=function(){Y&&b(C),S(),x()},le=w.createElement("div",{className:"".concat(F,"-panel-layout")},w.createElement(pOe,{prefixCls:F,presets:u,onClick:d,onHover:c}),w.createElement("div",null,w.createElement(gOe,pt({},n,{value:te})),w.createElement(nOe,pt({},n,{showNow:s?!1:r,invalid:oe,onSubmit:ae}))));e&&(le=e(le));var ue="".concat(D,"-container"),Ce="marginLeft",pe="marginRight",ce=w.createElement("div",{tabIndex:-1,className:Te(ue,"".concat(F,"-").concat(t,"-panel-container")),style:ge(ge({},M?pe:Ce,B),M?Ce:pe,"auto"),onFocus:h,onBlur:m},le);return o&&(ce=w.createElement("div",{ref:Z,className:Te("".concat(F,"-range-wrapper"),"".concat(F,"-").concat(i,"-range-wrapper"))},w.createElement("div",{ref:T,className:"".concat(F,"-range-arrow"),style:ge({},M?"right":"left",l)}),w.createElement(mc,{onResize:H},ce))),ce}function Kae(n,e){var t=n.format,i=n.maskFormat,r=n.generateConfig,o=n.locale,s=n.preserveInvalidOnBlur,a=n.inputReadOnly,l=n.required,u=n["aria-required"],c=n.onSubmit,d=n.onFocus,h=n.onBlur,m=n.onInputChange,f=n.onInvalid,g=n.open,b=n.onOpenChange,v=n.onKeyDown,C=n.onChange,S=n.activeHelp,x=n.name,_=n.autoComplete,F=n.id,D=n.value,M=n.invalid,T=n.placeholder,Z=n.disabled,E=n.activeIndex,R=n.allHelp,W=n.picker,A=function(Y,V){var te=r.locale.parse(o.locale,Y,[V]);return te&&r.isValidate(te)?te:null},z=t[0],O=w.useCallback(function(X){return ca(X,{locale:o,format:z,generateConfig:r})},[o,r,z]),B=w.useMemo(function(){return D.map(O)},[D,O]),P=w.useMemo(function(){var X=W==="time"?8:10,Y=typeof z=="function"?z(r.getNow()).length:z.length;return Math.max(X,Y)+2},[z,W,r]),H=function(Y){for(var V=0;V=a&&t<=l)return o;var u=Math.min(Math.abs(t-a),Math.abs(t-l));u0?We:Xe));var rt=et+kt,yt=Xe-We+1;return String(We+(yt+rt-We)%yt)};switch(Ge){case"Backspace":case"Delete":mt="",St=Rt;break;case"ArrowLeft":mt="",Yt(-1);break;case"ArrowRight":mt="",Yt(1);break;case"ArrowUp":mt="",St=Tn(1);break;case"ArrowDown":mt="",St=Tn(-1);break;default:isNaN(Number(Ge))||(mt=X+Ge,St=mt);break}if(mt!==null&&(Y(mt),mt.length>=Kt&&(Yt(1),Y(""))),St!==null){var li=ce.slice(0,ct)+jP(St,Kt)+ce.slice(vt);he(li.slice(0,s.length))}pe({})},$e=w.useRef();dr(function(){if(!(!W||!s||j.current)){if(!Ne.match(ce)){he(s);return}return ke.current.setSelectionRange(ct,vt),$e.current=xi(function(){ke.current.setSelectionRange(ct,vt)}),function(){xi.cancel($e.current)}}},[Ne,s,W,ce,oe,ct,vt,Ce,he]);var Re=s?{onFocus:ee,onBlur:Le,onKeyDown:Be,onMouseDown:$,onMouseUp:q,onPaste:me}:{};return w.createElement("div",{ref:De,className:Te(Z,ge(ge({},"".concat(Z,"-active"),t&&r),"".concat(Z,"-placeholder"),u))},w.createElement(T,pt({ref:ke,"aria-invalid":g,autoComplete:"off"},v,{onKeyDown:Me,onBlur:ve},Re,{value:ce,onChange:de})),w.createElement(fE,{type:"suffix",icon:o}),b)}),xOe=["id","clearIcon","suffixIcon","separator","activeIndex","activeHelp","allHelp","focused","onFocus","onBlur","onKeyDown","locale","generateConfig","placeholder","className","style","onClick","onClear","value","onChange","onSubmit","onInputChange","format","maskFormat","preserveInvalidOnBlur","onInvalid","disabled","invalid","inputReadOnly","direction","onOpenChange","onActiveOffset","onMouseDown","required","aria-required","autoFocus"],LOe=["index"];function _Oe(n,e){var t=n.id,i=n.clearIcon,r=n.suffixIcon,o=n.separator,s=o===void 0?"~":o,a=n.activeIndex;n.activeHelp,n.allHelp;var l=n.focused;n.onFocus,n.onBlur,n.onKeyDown,n.locale,n.generateConfig;var u=n.placeholder,c=n.className,d=n.style,h=n.onClick,m=n.onClear,f=n.value;n.onChange,n.onSubmit,n.onInputChange,n.format,n.maskFormat,n.preserveInvalidOnBlur,n.onInvalid;var g=n.disabled,b=n.invalid;n.inputReadOnly;var v=n.direction;n.onOpenChange;var C=n.onActiveOffset,S=n.onMouseDown;n.required,n["aria-required"];var x=n.autoFocus,_=zn(n,xOe),F=v==="rtl",D=w.useContext(ch),M=D.prefixCls,T=w.useMemo(function(){if(typeof t=="string")return[t];var ue=t||{};return[ue.start,ue.end]},[t]),Z=w.useRef(),E=w.useRef(),R=w.useRef(),W=function(Ce){var pe;return(pe=[E,R][Ce])===null||pe===void 0?void 0:pe.current};w.useImperativeHandle(e,function(){return{nativeElement:Z.current,focus:function(Ce){if(Xn(Ce)==="object"){var pe,ce=Ce||{},De=ce.index,ke=De===void 0?0:De,Ne=zn(ce,LOe);(pe=W(ke))===null||pe===void 0||pe.focus(Ne)}else{var Ue;(Ue=W(Ce??0))===null||Ue===void 0||Ue.focus()}},blur:function(){var Ce,pe;(Ce=W(0))===null||Ce===void 0||Ce.blur(),(pe=W(1))===null||pe===void 0||pe.blur()}}});var A=Jae(_),z=w.useMemo(function(){return Array.isArray(u)?u:[u,u]},[u]),O=Kae(xe(xe({},n),{},{id:T,placeholder:z})),B=Se(O,1),P=B[0],H=F?"right":"left",k=w.useState(ge({position:"absolute",width:0},H,0)),X=Se(k,2),Y=X[0],V=X[1],te=$i(function(){var ue=W(a);if(ue){var Ce=ue.nativeElement,pe=Ce.offsetWidth,ce=Ce.offsetLeft,De=Ce.offsetParent,ke=ce;if(F){var Ne=De,Ue=getComputedStyle(Ne);ke=Ne.offsetWidth-parseFloat(Ue.borderRightWidth)-parseFloat(Ue.borderLeftWidth)-ce-pe}V(function(He){return xe(xe({},He),{},ge({width:pe},H,ke))}),C(a===0?0:ke)}});w.useEffect(function(){te()},[a]);var oe=i&&(f[0]&&!g[0]||f[1]&&!g[1]),ae=x&&!g[0],le=x&&!ae&&!g[1];return w.createElement(mc,{onResize:te},w.createElement("div",pt({},A,{className:Te(M,"".concat(M,"-range"),ge(ge(ge(ge({},"".concat(M,"-focused"),l),"".concat(M,"-disabled"),g.every(function(ue){return ue})),"".concat(M,"-invalid"),b.some(function(ue){return ue})),"".concat(M,"-rtl"),F),c),style:d,ref:Z,onClick:h,onMouseDown:function(Ce){var pe=Ce.target;pe!==E.current.inputElement&&pe!==R.current.inputElement&&Ce.preventDefault(),S==null||S(Ce)}}),w.createElement(lO,pt({ref:E},P(0),{autoFocus:ae,"date-range":"start"})),w.createElement("div",{className:"".concat(M,"-range-separator")},s),w.createElement(lO,pt({ref:R},P(1),{autoFocus:le,"date-range":"end"})),w.createElement("div",{className:"".concat(M,"-active-bar"),style:Y}),w.createElement(fE,{type:"suffix",icon:r}),oe&&w.createElement(sO,{icon:i,onClear:m})))}var FOe=w.forwardRef(_Oe);function Qae(n,e){var t=n??e;return Array.isArray(t)?t:[t,t]}function gE(n){return n===1?"end":"start"}function IOe(n,e){var t=Tae(n,function(){var fn=n.disabled,An=n.allowEmpty,Mi=Qae(fn,!1),wo=Qae(An,!1);return{disabled:Mi,allowEmpty:wo}}),i=Se(t,6),r=i[0],o=i[1],s=i[2],a=i[3],l=i[4],u=i[5],c=r.prefixCls,d=r.styles,h=r.classNames,m=r.defaultValue,f=r.value,g=r.needConfirm,b=r.onKeyDown,v=r.disabled,C=r.allowEmpty,S=r.disabledDate,x=r.minDate,_=r.maxDate,F=r.defaultOpen,D=r.open,M=r.onOpenChange,T=r.locale,Z=r.generateConfig,E=r.picker,R=r.showNow,W=r.showToday,A=r.showTime,z=r.mode,O=r.onPanelChange,B=r.onCalendarChange,P=r.onOk,H=r.defaultPickerValue,k=r.pickerValue,X=r.onPickerValueChange,Y=r.inputReadOnly,V=r.suffixIcon,te=r.onFocus,oe=r.onBlur,ae=r.presets,le=r.ranges,ue=r.components,Ce=r.cellRender,pe=r.dateRender,ce=r.monthCellRender,De=r.onClick,ke=Zae(e),Ne=Eae(D,F,v,M),Ue=Se(Ne,2),He=Ue[0],ct=Ue[1],vt=function(An,Mi){(v.some(function(wo){return!wo})||!An)&&ct(An,Mi)},it=Pae(Z,T,a,!0,!1,m,f,B,P),he=Se(it,5),de=he[0],me=he[1],j=he[2],$=he[3],q=he[4],ee=j(),ve=Rae(v,C),Le=Se(ve,7),Me=Le[0],Be=Le[1],$e=Le[2],Re=Le[3],ht=Le[4],Ye=Le[5],Ge=Le[6],mt=function(An,Mi){Be(!0),te==null||te(An,{range:gE(Mi??Re)})},St=function(An,Mi){Be(!1),oe==null||oe(An,{range:gE(Mi??Re)})},Kt=w.useMemo(function(){if(!A)return null;var fn=A.disabledTime,An=fn?function(Mi){var wo=gE(Re);return fn(Mi,wo)}:void 0;return xe(xe({},A),{},{disabledTime:An})},[A,Re]),Rt=Jr([E,E],{value:z}),Yt=Se(Rt,2),Tn=Yt[0],li=Yt[1],Et=Tn[Re]||E,kt=Et==="date"&&Kt?"datetime":Et,fe=kt===E&&kt!=="time",_e=Bae(E,Et,R,W,!0),We=Oae(r,de,me,j,$,v,a,Me,He,u),Xe=Se(We,2),ft=Xe[0],Nt=Xe[1],et=$Pe(ee,v,Ge,Z,T,S),rt=Sae(ee,u,C),yt=Se(rt,2),Ft=yt[0],tn=yt[1],Jt=Vae(Z,T,ee,Tn,He,Re,o,fe,H,k,Kt==null?void 0:Kt.defaultOpenValue,X,x,_),qt=Se(Jt,2),Mn=qt[0],mn=qt[1],Ot=$i(function(fn,An,Mi){var wo=w_(Tn,Re,An);if((wo[0]!==Tn[0]||wo[1]!==Tn[1])&&li(wo),O&&Mi!==!1){var ws=_t(ee);fn&&(ws[Re]=fn),O(ws,wo)}}),gn=function(An,Mi){return w_(ee,Mi,An)},Tt=function(An,Mi){var wo=ee;An&&(wo=gn(An,Re));var ws=Ye(wo);$(wo),ft(Re,ws===null),ws===null?vt(!1,{force:!0}):Mi||ke.current.focus({index:ws})},we=function(An){if(!ke.current.nativeElement.contains(document.activeElement)){var Mi=v.findIndex(function(wo){return!wo});Mi>=0&&ke.current.focus({index:Mi})}vt(!0),De==null||De(An)},Ke=function(){Nt(null),vt(!1,{force:!0})},dt=w.useState(null),nn=Se(dt,2),jn=nn[0],Wn=nn[1],rn=w.useState(null),fi=Se(rn,2),_n=fi[0],gi=fi[1],Hr=w.useMemo(function(){return _n||ee},[ee,_n]);w.useEffect(function(){He||gi(null)},[He]);var As=w.useState(0),cs=Se(As,2),yu=cs[0],Jl=cs[1],qo=Wae(ae,le),Yr=function(An){gi(An),Wn("preset")},Cu=function(An){var Mi=Nt(An);Mi&&vt(!1,{force:!0})},es=function(An){Tt(An)},Wa=function(An){gi(An?gn(An,Re):null),Wn("cell")},pl=function(An){vt(!0),mt(An)},Qi=function(An){$e("panel");var Mi=w_(ee,Re,An);$(Mi),!g&&!s&&o===kt&&Tt(An)},ci=function(){vt(!1)},on=QP(Ce,pe,ce,gE(Re)),bn=ee[Re]||null,Di=$i(function(fn){return u(fn,{activeIndex:Re})}),Ur=w.useMemo(function(){var fn=Fu(r,!1),An=la(r,[].concat(_t(Object.keys(fn)),["onChange","onCalendarChange","style","className","onPanelChange"]));return An},[r]),cr=w.createElement(Uae,pt({},Ur,{showNow:_e,showTime:Kt,range:!0,multiplePanel:fe,activeOffset:yu,disabledDate:et,onFocus:pl,onBlur:St,picker:E,mode:Et,internalMode:kt,onPanelChange:Ot,format:l,value:bn,isInvalid:Di,onChange:null,onSelect:Qi,pickerValue:Mn,defaultOpenValue:cv(A==null?void 0:A.defaultOpenValue)[Re],onPickerValueChange:mn,hoverValue:Hr,onHover:Wa,needConfirm:g,onSubmit:Tt,onOk:q,presets:qo,onPresetHover:Yr,onPresetSubmit:Cu,onNow:es,cellRender:on})),Kr=function(An,Mi){var wo=gn(An,Mi);$(wo)},kn=function(){$e("input")},Cn=function(An,Mi){$e("input"),vt(!0,{inherit:!0}),ht(Mi),mt(An,Mi)},Gi=function(An,Mi){vt(!1),St(An,Mi)},Co=function(An,Mi){An.key==="Tab"&&Tt(null,!0),b==null||b(An,Mi)},ds=w.useMemo(function(){return{prefixCls:c,locale:T,generateConfig:Z,button:ue.button,input:ue.input}},[c,T,Z,ue.button,ue.input]);return dr(function(){He&&Re!==void 0&&Ot(null,E,!1)},[He,Re,E]),dr(function(){var fn=$e();!He&&fn==="input"&&(vt(!1),Tt(null,!0)),!He&&s&&!g&&fn==="panel"&&(vt(!0),Tt())},[He]),w.createElement(ch.Provider,{value:ds},w.createElement(yae,pt({},wae(r),{popupElement:cr,popupStyle:d.popup,popupClassName:h.popup,visible:He,onClose:ci,range:!0}),w.createElement(FOe,pt({},r,{ref:ke,suffixIcon:V,activeIndex:Me||He?Re:null,activeHelp:!!_n,allHelp:!!_n&&jn==="preset",focused:Me,onFocus:Cn,onBlur:Gi,onKeyDown:Co,onSubmit:Tt,value:Hr,maskFormat:l,onChange:Kr,onInputChange:kn,format:a,inputReadOnly:Y,disabled:v,open:He,onOpenChange:vt,onClick:we,onClear:Ke,invalid:Ft,onInvalid:tn,onActiveOffset:Jl}))))}var DOe=w.forwardRef(IOe);function MOe(n){var e=n.prefixCls,t=n.value,i=n.onRemove,r=n.removeIcon,o=r===void 0?"×":r,s=n.formatDate,a=n.disabled,l=n.maxTagCount,u=n.placeholder,c="".concat(e,"-selector"),d="".concat(e,"-selection"),h="".concat(d,"-overflow");function m(b,v){return w.createElement("span",{className:Te("".concat(d,"-item")),title:typeof b=="string"?b:null},w.createElement("span",{className:"".concat(d,"-item-content")},b),!a&&v&&w.createElement("span",{onMouseDown:function(S){S.preventDefault()},onClick:v,className:"".concat(d,"-item-remove")},o))}function f(b){var v=s(b),C=function(x){x&&x.stopPropagation(),i(b)};return m(v,C)}function g(b){var v="+ ".concat(b.length," ...");return m(v)}return w.createElement("div",{className:c},w.createElement(lh,{prefixCls:h,data:t,renderItem:f,renderRest:g,itemKey:function(v){return s(v)},maxCount:l}),!t.length&&w.createElement("span",{className:"".concat(e,"-selection-placeholder")},u))}var kOe=["id","open","clearIcon","suffixIcon","activeHelp","allHelp","focused","onFocus","onBlur","onKeyDown","locale","generateConfig","placeholder","className","style","onClick","onClear","internalPicker","value","onChange","onSubmit","onInputChange","multiple","maxTagCount","format","maskFormat","preserveInvalidOnBlur","onInvalid","disabled","invalid","inputReadOnly","direction","onOpenChange","onMouseDown","required","aria-required","autoFocus","removeIcon"];function NOe(n,e){n.id;var t=n.open,i=n.clearIcon,r=n.suffixIcon;n.activeHelp,n.allHelp;var o=n.focused;n.onFocus,n.onBlur,n.onKeyDown;var s=n.locale,a=n.generateConfig,l=n.placeholder,u=n.className,c=n.style,d=n.onClick,h=n.onClear,m=n.internalPicker,f=n.value,g=n.onChange,b=n.onSubmit;n.onInputChange;var v=n.multiple,C=n.maxTagCount;n.format,n.maskFormat,n.preserveInvalidOnBlur,n.onInvalid;var S=n.disabled,x=n.invalid;n.inputReadOnly;var _=n.direction;n.onOpenChange;var F=n.onMouseDown;n.required,n["aria-required"];var D=n.autoFocus,M=n.removeIcon,T=zn(n,kOe),Z=_==="rtl",E=w.useContext(ch),R=E.prefixCls,W=w.useRef(),A=w.useRef();w.useImperativeHandle(e,function(){return{nativeElement:W.current,focus:function(oe){var ae;(ae=A.current)===null||ae===void 0||ae.focus(oe)},blur:function(){var oe;(oe=A.current)===null||oe===void 0||oe.blur()}}});var z=Jae(T),O=function(oe){g([oe])},B=function(oe){var ae=f.filter(function(le){return le&&!xl(a,s,le,oe,m)});g(ae),t||b()},P=Kae(xe(xe({},n),{},{onChange:O}),function(te){var oe=te.valueTexts;return{value:oe[0]||"",active:o}}),H=Se(P,2),k=H[0],X=H[1],Y=!!(i&&f.length&&!S),V=v?w.createElement(w.Fragment,null,w.createElement(MOe,{prefixCls:R,value:f,onRemove:B,formatDate:X,maxTagCount:C,disabled:S,removeIcon:M,placeholder:l}),w.createElement("input",{className:"".concat(R,"-multiple-input"),value:f.map(X).join(","),ref:A,readOnly:!0,autoFocus:D}),w.createElement(fE,{type:"suffix",icon:r}),Y&&w.createElement(sO,{icon:i,onClear:h})):w.createElement(lO,pt({ref:A},k(),{autoFocus:D,suffixIcon:r,clearIcon:Y&&w.createElement(sO,{icon:i,onClear:h}),showActiveCls:!1}));return w.createElement("div",pt({},z,{className:Te(R,ge(ge(ge(ge(ge({},"".concat(R,"-multiple"),v),"".concat(R,"-focused"),o),"".concat(R,"-disabled"),S),"".concat(R,"-invalid"),x),"".concat(R,"-rtl"),Z),u),style:c,ref:W,onClick:d,onMouseDown:function(oe){var ae,le=oe.target;le!==((ae=A.current)===null||ae===void 0?void 0:ae.inputElement)&&oe.preventDefault(),F==null||F(oe)}}),V)}var TOe=w.forwardRef(NOe);function EOe(n,e){var t=Tae(n),i=Se(t,6),r=i[0],o=i[1],s=i[2],a=i[3],l=i[4],u=i[5],c=r,d=c.prefixCls,h=c.styles,m=c.classNames,f=c.order,g=c.defaultValue,b=c.value,v=c.needConfirm,C=c.onChange,S=c.onKeyDown,x=c.disabled,_=c.disabledDate,F=c.minDate,D=c.maxDate,M=c.defaultOpen,T=c.open,Z=c.onOpenChange,E=c.locale,R=c.generateConfig,W=c.picker,A=c.showNow,z=c.showToday,O=c.showTime,B=c.mode,P=c.onPanelChange,H=c.onCalendarChange,k=c.onOk,X=c.multiple,Y=c.defaultPickerValue,V=c.pickerValue,te=c.onPickerValueChange,oe=c.inputReadOnly,ae=c.suffixIcon,le=c.removeIcon,ue=c.onFocus,Ce=c.onBlur,pe=c.presets,ce=c.components,De=c.cellRender,ke=c.dateRender,Ne=c.monthCellRender,Ue=c.onClick,He=Zae(e);function ct(kn){return kn===null?null:X?kn:kn[0]}var vt=zae(R,E,o),it=Eae(T,M,[x],Z),he=Se(it,2),de=he[0],me=he[1],j=function(Cn,Gi,Co){if(H){var ds=xe({},Co);delete ds.range,H(ct(Cn),ct(Gi),ds)}},$=function(Cn){k==null||k(ct(Cn))},q=Pae(R,E,a,!1,f,g,b,j,$),ee=Se(q,5),ve=ee[0],Le=ee[1],Me=ee[2],Be=ee[3],$e=ee[4],Re=Me(),ht=Rae([x]),Ye=Se(ht,4),Ge=Ye[0],mt=Ye[1],St=Ye[2],Kt=Ye[3],Rt=function(Cn){mt(!0),ue==null||ue(Cn,{})},Yt=function(Cn){mt(!1),Ce==null||Ce(Cn,{})},Tn=Jr(W,{value:B}),li=Se(Tn,2),Et=li[0],kt=li[1],fe=Et==="date"&&O?"datetime":Et,_e=Bae(W,Et,A,z),We=C&&function(kn,Cn){C(ct(kn),ct(Cn))},Xe=Oae(xe(xe({},r),{},{onChange:We}),ve,Le,Me,Be,[],a,Ge,de,u),ft=Se(Xe,2),Nt=ft[1],et=Sae(Re,u),rt=Se(et,2),yt=rt[0],Ft=rt[1],tn=w.useMemo(function(){return yt.some(function(kn){return kn})},[yt]),Jt=function(Cn,Gi){if(te){var Co=xe(xe({},Gi),{},{mode:Gi.mode[0]});delete Co.range,te(Cn[0],Co)}},qt=Vae(R,E,Re,[Et],de,Kt,o,!1,Y,V,cv(O==null?void 0:O.defaultOpenValue),Jt,F,D),Mn=Se(qt,2),mn=Mn[0],Ot=Mn[1],gn=$i(function(kn,Cn,Gi){if(kt(Cn),P&&Gi!==!1){var Co=kn||Re[Re.length-1];P(Co,Cn)}}),Tt=function(){Nt(Me()),me(!1,{force:!0})},we=function(Cn){!x&&!He.current.nativeElement.contains(document.activeElement)&&He.current.focus(),me(!0),Ue==null||Ue(Cn)},Ke=function(){Nt(null),me(!1,{force:!0})},dt=w.useState(null),nn=Se(dt,2),jn=nn[0],Wn=nn[1],rn=w.useState(null),fi=Se(rn,2),_n=fi[0],gi=fi[1],Hr=w.useMemo(function(){var kn=[_n].concat(_t(Re)).filter(function(Cn){return Cn});return X?kn:kn.slice(0,1)},[Re,_n,X]),As=w.useMemo(function(){return!X&&_n?[_n]:Re.filter(function(kn){return kn})},[Re,_n,X]);w.useEffect(function(){de||gi(null)},[de]);var cs=Wae(pe),yu=function(Cn){gi(Cn),Wn("preset")},Jl=function(Cn){var Gi=X?vt(Me(),Cn):[Cn],Co=Nt(Gi);Co&&!X&&me(!1,{force:!0})},qo=function(Cn){Jl(Cn)},Yr=function(Cn){gi(Cn),Wn("cell")},Cu=function(Cn){me(!0),Rt(Cn)},es=function(Cn){St("panel");var Gi=X?vt(Me(),Cn):[Cn];Be(Gi),!v&&!s&&o===fe&&Tt()},Wa=function(){me(!1)},pl=QP(De,ke,Ne),Qi=w.useMemo(function(){var kn=Fu(r,!1),Cn=la(r,[].concat(_t(Object.keys(kn)),["onChange","onCalendarChange","style","className","onPanelChange"]));return xe(xe({},Cn),{},{multiple:r.multiple})},[r]),ci=w.createElement(Uae,pt({},Qi,{showNow:_e,showTime:O,disabledDate:_,onFocus:Cu,onBlur:Yt,picker:W,mode:Et,internalMode:fe,onPanelChange:gn,format:l,value:Re,isInvalid:u,onChange:null,onSelect:es,pickerValue:mn,defaultOpenValue:O==null?void 0:O.defaultOpenValue,onPickerValueChange:Ot,hoverValue:Hr,onHover:Yr,needConfirm:v,onSubmit:Tt,onOk:$e,presets:cs,onPresetHover:yu,onPresetSubmit:Jl,onNow:qo,cellRender:pl})),on=function(Cn){Be(Cn)},bn=function(){St("input")},Di=function(Cn){St("input"),me(!0,{inherit:!0}),Rt(Cn)},Ur=function(Cn){me(!1),Yt(Cn)},cr=function(Cn,Gi){Cn.key==="Tab"&&Tt(),S==null||S(Cn,Gi)},Kr=w.useMemo(function(){return{prefixCls:d,locale:E,generateConfig:R,button:ce.button,input:ce.input}},[d,E,R,ce.button,ce.input]);return dr(function(){de&&Kt!==void 0&&gn(null,W,!1)},[de,Kt,W]),dr(function(){var kn=St();!de&&kn==="input"&&(me(!1),Tt()),!de&&s&&!v&&kn==="panel"&&(me(!0),Tt())},[de]),w.createElement(ch.Provider,{value:Kr},w.createElement(yae,pt({},wae(r),{popupElement:ci,popupStyle:h.popup,popupClassName:m.popup,visible:de,onClose:Wa}),w.createElement(TOe,pt({},r,{ref:He,suffixIcon:ae,removeIcon:le,activeHelp:!!_n,allHelp:!!_n&&jn==="preset",focused:Ge,onFocus:Di,onBlur:Ur,onKeyDown:cr,onSubmit:Tt,value:As,maskFormat:l,onChange:on,onInputChange:bn,internalPicker:o,format:a,inputReadOnly:oe,disabled:x,open:de,onOpenChange:me,onClick:we,onClear:Ke,invalid:tn,onInvalid:function(Cn){Ft(Cn,0)}}))))}var ZOe=w.forwardRef(EOe);const $ae=w.createContext(null),WOe=$ae.Provider,qae=w.createContext(null),ROe=qae.Provider;var VOe=["prefixCls","className","style","checked","disabled","defaultChecked","type","title","onChange"],AOe=w.forwardRef(function(n,e){var t=n.prefixCls,i=t===void 0?"rc-checkbox":t,r=n.className,o=n.style,s=n.checked,a=n.disabled,l=n.defaultChecked,u=l===void 0?!1:l,c=n.type,d=c===void 0?"checkbox":c,h=n.title,m=n.onChange,f=zn(n,VOe),g=w.useRef(null),b=Jr(u,{value:s}),v=Se(b,2),C=v[0],S=v[1];w.useImperativeHandle(e,function(){return{focus:function(D){var M;(M=g.current)===null||M===void 0||M.focus(D)},blur:function(){var D;(D=g.current)===null||D===void 0||D.blur()},input:g.current}});var x=Te(i,r,ge(ge({},"".concat(i,"-checked"),C),"".concat(i,"-disabled"),a)),_=function(D){a||("checked"in n||S(D.target.checked),m==null||m({target:xe(xe({},n),{},{type:d,checked:D.target.checked}),stopPropagation:function(){D.stopPropagation()},preventDefault:function(){D.preventDefault()},nativeEvent:D.nativeEvent}))};return w.createElement("span",{className:x,title:h,style:o},w.createElement("input",pt({},f,{className:"".concat(i,"-input"),ref:g,onChange:_,disabled:a,checked:!!C,type:d})),w.createElement("span",{className:"".concat(i,"-inner")}))});const GOe=n=>{const{componentCls:e,antCls:t}=n,i=`${e}-group`;return{[i]:Object.assign(Object.assign({},uo(n)),{display:"inline-block",fontSize:0,[`&${i}-rtl`]:{direction:"rtl"},[`${t}-badge ${t}-badge-count`]:{zIndex:1},[`> ${t}-badge:not(:first-child) > ${t}-button-wrapper`]:{borderInlineStart:"none"}})}},XOe=n=>{const{componentCls:e,wrapperMarginInlineEnd:t,colorPrimary:i,radioSize:r,motionDurationSlow:o,motionDurationMid:s,motionEaseInOutCirc:a,colorBgContainer:l,colorBorder:u,lineWidth:c,colorBgContainerDisabled:d,colorTextDisabled:h,paddingXS:m,dotColorDisabled:f,lineType:g,radioColor:b,radioBgColor:v,calc:C}=n,S=`${e}-inner`,_=C(r).sub(C(4).mul(2)),F=C(1).mul(r).equal();return{[`${e}-wrapper`]:Object.assign(Object.assign({},uo(n)),{display:"inline-flex",alignItems:"baseline",marginInlineStart:0,marginInlineEnd:t,cursor:"pointer",[`&${e}-wrapper-rtl`]:{direction:"rtl"},"&-disabled":{cursor:"not-allowed",color:n.colorTextDisabled},"&::after":{display:"inline-block",width:0,overflow:"hidden",content:'"\\a0"'},[`${e}-checked::after`]:{position:"absolute",insetBlockStart:0,insetInlineStart:0,width:"100%",height:"100%",border:`${Ee(c)} ${g} ${i}`,borderRadius:"50%",visibility:"hidden",opacity:0,content:'""'},[e]:Object.assign(Object.assign({},uo(n)),{position:"relative",display:"inline-block",outline:"none",cursor:"pointer",alignSelf:"center",borderRadius:"50%"}),[`${e}-wrapper:hover &, - &:hover ${S}`]:{borderColor:i},[`${e}-input:focus-visible + ${S}`]:Object.assign({},mT(n)),[`${e}:hover::after, ${e}-wrapper:hover &::after`]:{visibility:"visible"},[`${e}-inner`]:{"&::after":{boxSizing:"border-box",position:"absolute",insetBlockStart:"50%",insetInlineStart:"50%",display:"block",width:F,height:F,marginBlockStart:C(1).mul(r).div(-2).equal(),marginInlineStart:C(1).mul(r).div(-2).equal(),backgroundColor:b,borderBlockStart:0,borderInlineStart:0,borderRadius:F,transform:"scale(0)",opacity:0,transition:`all ${o} ${a}`,content:'""'},boxSizing:"border-box",position:"relative",insetBlockStart:0,insetInlineStart:0,display:"block",width:F,height:F,backgroundColor:l,borderColor:u,borderStyle:"solid",borderWidth:c,borderRadius:"50%",transition:`all ${s}`},[`${e}-input`]:{position:"absolute",inset:0,zIndex:1,cursor:"pointer",opacity:0},[`${e}-checked`]:{[S]:{borderColor:i,backgroundColor:v,"&::after":{transform:`scale(${n.calc(n.dotSize).div(r).equal()})`,opacity:1,transition:`all ${o} ${a}`}}},[`${e}-disabled`]:{cursor:"not-allowed",[S]:{backgroundColor:d,borderColor:u,cursor:"not-allowed","&::after":{backgroundColor:f}},[`${e}-input`]:{cursor:"not-allowed"},[`${e}-disabled + span`]:{color:h,cursor:"not-allowed"},[`&${e}-checked`]:{[S]:{"&::after":{transform:`scale(${C(_).div(r).equal({unit:!1})})`}}}},[`span${e} + *`]:{paddingInlineStart:m,paddingInlineEnd:m}})}},POe=n=>{const{buttonColor:e,controlHeight:t,componentCls:i,lineWidth:r,lineType:o,colorBorder:s,motionDurationSlow:a,motionDurationMid:l,buttonPaddingInline:u,fontSize:c,buttonBg:d,fontSizeLG:h,controlHeightLG:m,controlHeightSM:f,paddingXS:g,borderRadius:b,borderRadiusSM:v,borderRadiusLG:C,buttonCheckedBg:S,buttonSolidCheckedColor:x,colorTextDisabled:_,colorBgContainerDisabled:F,buttonCheckedBgDisabled:D,buttonCheckedColorDisabled:M,colorPrimary:T,colorPrimaryHover:Z,colorPrimaryActive:E,buttonSolidCheckedBg:R,buttonSolidCheckedHoverBg:W,buttonSolidCheckedActiveBg:A,calc:z}=n;return{[`${i}-button-wrapper`]:{position:"relative",display:"inline-block",height:t,margin:0,paddingInline:u,paddingBlock:0,color:e,fontSize:c,lineHeight:Ee(z(t).sub(z(r).mul(2)).equal()),background:d,border:`${Ee(r)} ${o} ${s}`,borderBlockStartWidth:z(r).add(.02).equal(),borderInlineStartWidth:0,borderInlineEndWidth:r,cursor:"pointer",transition:[`color ${l}`,`background ${l}`,`box-shadow ${l}`].join(","),a:{color:e},[`> ${i}-button`]:{position:"absolute",insetBlockStart:0,insetInlineStart:0,zIndex:-1,width:"100%",height:"100%"},"&:not(:first-child)":{"&::before":{position:"absolute",insetBlockStart:z(r).mul(-1).equal(),insetInlineStart:z(r).mul(-1).equal(),display:"block",boxSizing:"content-box",width:1,height:"100%",paddingBlock:r,paddingInline:0,backgroundColor:s,transition:`background-color ${a}`,content:'""'}},"&:first-child":{borderInlineStart:`${Ee(r)} ${o} ${s}`,borderStartStartRadius:b,borderEndStartRadius:b},"&:last-child":{borderStartEndRadius:b,borderEndEndRadius:b},"&:first-child:last-child":{borderRadius:b},[`${i}-group-large &`]:{height:m,fontSize:h,lineHeight:Ee(z(m).sub(z(r).mul(2)).equal()),"&:first-child":{borderStartStartRadius:C,borderEndStartRadius:C},"&:last-child":{borderStartEndRadius:C,borderEndEndRadius:C}},[`${i}-group-small &`]:{height:f,paddingInline:z(g).sub(r).equal(),paddingBlock:0,lineHeight:Ee(z(f).sub(z(r).mul(2)).equal()),"&:first-child":{borderStartStartRadius:v,borderEndStartRadius:v},"&:last-child":{borderStartEndRadius:v,borderEndEndRadius:v}},"&:hover":{position:"relative",color:T},"&:has(:focus-visible)":Object.assign({},mT(n)),[`${i}-inner, input[type='checkbox'], input[type='radio']`]:{width:0,height:0,opacity:0,pointerEvents:"none"},[`&-checked:not(${i}-button-wrapper-disabled)`]:{zIndex:1,color:T,background:S,borderColor:T,"&::before":{backgroundColor:T},"&:first-child":{borderColor:T},"&:hover":{color:Z,borderColor:Z,"&::before":{backgroundColor:Z}},"&:active":{color:E,borderColor:E,"&::before":{backgroundColor:E}}},[`${i}-group-solid &-checked:not(${i}-button-wrapper-disabled)`]:{color:x,background:R,borderColor:R,"&:hover":{color:x,background:W,borderColor:W},"&:active":{color:x,background:A,borderColor:A}},"&-disabled":{color:_,backgroundColor:F,borderColor:s,cursor:"not-allowed","&:first-child, &:hover":{color:_,backgroundColor:F,borderColor:s}},[`&-disabled${i}-button-wrapper-checked`]:{color:M,backgroundColor:D,borderColor:s,boxShadow:"none"}}}},ele=Ho("Radio",n=>{const{controlOutline:e,controlOutlineWidth:t}=n,i=`0 0 0 ${Ee(t)} ${e}`,o=Ui(n,{radioFocusShadow:i,radioButtonFocusShadow:i});return[GOe(o),XOe(o),POe(o)]},n=>{const{wireframe:e,padding:t,marginXS:i,lineWidth:r,fontSizeLG:o,colorText:s,colorBgContainer:a,colorTextDisabled:l,controlItemBgActiveDisabled:u,colorTextLightSolid:c,colorPrimary:d,colorPrimaryHover:h,colorPrimaryActive:m,colorWhite:f}=n,g=4,b=o,v=e?b-g*2:b-(g+r)*2;return{radioSize:b,dotSize:v,dotColorDisabled:l,buttonSolidCheckedColor:c,buttonSolidCheckedBg:d,buttonSolidCheckedHoverBg:h,buttonSolidCheckedActiveBg:m,buttonBg:a,buttonCheckedBg:a,buttonColor:s,buttonCheckedBgDisabled:u,buttonCheckedColorDisabled:l,buttonPaddingInline:t-r,wrapperMarginInlineEnd:i,radioColor:e?d:f,radioBgColor:e?a:d}},{unitless:{radioSize:!0,dotSize:!0}});var OOe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{var t,i;const r=w.useContext($ae),o=w.useContext(qae),{getPrefixCls:s,direction:a,radio:l}=w.useContext(Rn),u=w.useRef(null),c=_u(e,u),{isFormItemInput:d}=w.useContext(Ba),h=A=>{var z,O;(z=n.onChange)===null||z===void 0||z.call(n,A),(O=r==null?void 0:r.onChange)===null||O===void 0||O.call(r,A)},{prefixCls:m,className:f,rootClassName:g,children:b,style:v,title:C}=n,S=OOe(n,["prefixCls","className","rootClassName","children","style","title"]),x=s("radio",m),_=((r==null?void 0:r.optionType)||o)==="button",F=_?`${x}-button`:x,D=_s(x),[M,T,Z]=ele(x,D),E=Object.assign({},S),R=w.useContext(sh);r&&(E.name=r.name,E.onChange=h,E.checked=n.value===r.value,E.disabled=(t=E.disabled)!==null&&t!==void 0?t:r.disabled),E.disabled=(i=E.disabled)!==null&&i!==void 0?i:R;const W=Te(`${F}-wrapper`,{[`${F}-wrapper-checked`]:E.checked,[`${F}-wrapper-disabled`]:E.disabled,[`${F}-wrapper-rtl`]:a==="rtl",[`${F}-wrapper-in-form-item`]:d},l==null?void 0:l.className,f,g,T,Z,D);return M(w.createElement(qie,{component:"Radio",disabled:E.disabled},w.createElement("label",{className:W,style:Object.assign(Object.assign({},l==null?void 0:l.style),v),onMouseEnter:n.onMouseEnter,onMouseLeave:n.onMouseLeave,title:C},w.createElement(AOe,Object.assign({},E,{className:Te(E.className,!_&&G4),type:"radio",prefixCls:F,ref:c})),b!==void 0?w.createElement("span",null,b):null)))},pE=w.forwardRef(BOe),zOe=w.forwardRef((n,e)=>{const{getPrefixCls:t,direction:i}=w.useContext(Rn),[r,o]=Jr(n.defaultValue,{value:n.value}),s=A=>{const z=r,O=A.target.value;"value"in n||o(O);const{onChange:B}=n;B&&O!==z&&B(A)},{prefixCls:a,className:l,rootClassName:u,options:c,buttonStyle:d="outline",disabled:h,children:m,size:f,style:g,id:b,onMouseEnter:v,onMouseLeave:C,onFocus:S,onBlur:x}=n,_=t("radio",a),F=`${_}-group`,D=_s(_),[M,T,Z]=ele(_,D);let E=m;c&&c.length>0&&(E=c.map(A=>typeof A=="string"||typeof A=="number"?w.createElement(pE,{key:A.toString(),prefixCls:_,disabled:h,value:A,checked:r===A},A):w.createElement(pE,{key:`radio-group-value-options-${A.value}`,prefixCls:_,disabled:A.disabled||h,value:A.value,checked:r===A.value,title:A.title,style:A.style,id:A.id,required:A.required},A.label)));const R=pc(f),W=Te(F,`${F}-${d}`,{[`${F}-${R}`]:R,[`${F}-rtl`]:i==="rtl"},l,u,T,Z,D);return M(w.createElement("div",Object.assign({},Fu(n,{aria:!0,data:!0}),{className:W,style:g,onMouseEnter:v,onMouseLeave:C,onFocus:S,onBlur:x,id:b,ref:e}),w.createElement(WOe,{value:{onChange:s,value:r,disabled:n.disabled,name:n.name,optionType:n.optionType}},E)))}),HOe=w.memo(zOe);var YOe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const{getPrefixCls:t}=w.useContext(Rn),{prefixCls:i}=n,r=YOe(n,["prefixCls"]),o=t("radio",i);return w.createElement(ROe,{value:"button"},w.createElement(pE,Object.assign({prefixCls:o},r,{type:"radio",ref:e})))},KOe=w.forwardRef(UOe),bE=pE;bE.Button=KOe,bE.Group=HOe,bE.__ANT_RADIO=!0;const mv=bE;function vE(n){return Ui(n,{inputAffixPadding:n.paddingXXS})}const yE=n=>{const{controlHeight:e,fontSize:t,lineHeight:i,lineWidth:r,controlHeightSM:o,controlHeightLG:s,fontSizeLG:a,lineHeightLG:l,paddingSM:u,controlPaddingHorizontalSM:c,controlPaddingHorizontal:d,colorFillAlter:h,colorPrimaryHover:m,colorPrimary:f,controlOutlineWidth:g,controlOutline:b,colorErrorOutline:v,colorWarningOutline:C,colorBgContainer:S}=n;return{paddingBlock:Math.max(Math.round((e-t*i)/2*10)/10-r,0),paddingBlockSM:Math.max(Math.round((o-t*i)/2*10)/10-r,0),paddingBlockLG:Math.ceil((s-a*l)/2*10)/10-r,paddingInline:u-r,paddingInlineSM:c-r,paddingInlineLG:d-r,addonBg:h,activeBorderColor:f,hoverBorderColor:m,activeShadow:`0 0 0 ${g}px ${b}`,errorActiveShadow:`0 0 0 ${g}px ${v}`,warningActiveShadow:`0 0 0 ${g}px ${C}`,hoverBg:S,activeBg:S,inputFontSize:t,inputFontSizeLG:a,inputFontSizeSM:t}},JOe=n=>({borderColor:n.hoverBorderColor,backgroundColor:n.hoverBg}),uO=n=>({color:n.colorTextDisabled,backgroundColor:n.colorBgContainerDisabled,borderColor:n.colorBorder,boxShadow:"none",cursor:"not-allowed",opacity:1,"input[disabled], textarea[disabled]":{cursor:"not-allowed"},"&:hover:not([disabled])":Object.assign({},JOe(Ui(n,{hoverBorderColor:n.colorBorder,hoverBg:n.colorBgContainerDisabled})))}),tle=(n,e)=>({background:n.colorBgContainer,borderWidth:n.lineWidth,borderStyle:n.lineType,borderColor:e.borderColor,"&:hover":{borderColor:e.hoverBorderColor,backgroundColor:n.hoverBg},"&:focus, &:focus-within":{borderColor:e.activeBorderColor,boxShadow:e.activeShadow,outline:0,backgroundColor:n.activeBg}}),nle=(n,e)=>({[`&${n.componentCls}-status-${e.status}:not(${n.componentCls}-disabled)`]:Object.assign(Object.assign({},tle(n,e)),{[`${n.componentCls}-prefix, ${n.componentCls}-suffix`]:{color:e.affixColor}})}),cO=(n,e)=>({"&-outlined":Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},tle(n,{borderColor:n.colorBorder,hoverBorderColor:n.hoverBorderColor,activeBorderColor:n.activeBorderColor,activeShadow:n.activeShadow})),{[`&${n.componentCls}-disabled, &[disabled]`]:Object.assign({},uO(n))}),nle(n,{status:"error",borderColor:n.colorError,hoverBorderColor:n.colorErrorBorderHover,activeBorderColor:n.colorError,activeShadow:n.errorActiveShadow,affixColor:n.colorError})),nle(n,{status:"warning",borderColor:n.colorWarning,hoverBorderColor:n.colorWarningBorderHover,activeBorderColor:n.colorWarning,activeShadow:n.warningActiveShadow,affixColor:n.colorWarning})),e)}),ile=(n,e)=>({[`&${n.componentCls}-group-wrapper-status-${e.status}`]:{[`${n.componentCls}-group-addon`]:{borderColor:e.addonBorderColor,color:e.addonColor}}}),rle=n=>({"&-outlined":Object.assign(Object.assign(Object.assign({[`${n.componentCls}-group`]:{"&-addon":{background:n.addonBg,border:`${Ee(n.lineWidth)} ${n.lineType} ${n.colorBorder}`},"&-addon:first-child":{borderInlineEnd:0},"&-addon:last-child":{borderInlineStart:0}}},ile(n,{status:"error",addonBorderColor:n.colorError,addonColor:n.colorErrorText})),ile(n,{status:"warning",addonBorderColor:n.colorWarning,addonColor:n.colorWarningText})),{[`&${n.componentCls}-group-wrapper-disabled`]:{[`${n.componentCls}-group-addon`]:Object.assign({},uO(n))}})}),dO=(n,e)=>({"&-borderless":Object.assign({background:"transparent",border:"none","&:focus, &:focus-within":{outline:"none"},[`&${n.componentCls}-disabled, &[disabled]`]:{color:n.colorTextDisabled}},e)}),ole=(n,e)=>({background:e.bg,borderWidth:n.lineWidth,borderStyle:n.lineType,borderColor:"transparent","input&, & input, textarea&, & textarea":{color:e==null?void 0:e.inputColor},"&:hover":{background:e.hoverBg},"&:focus, &:focus-within":{outline:0,borderColor:e.activeBorderColor,backgroundColor:n.activeBg}}),sle=(n,e)=>({[`&${n.componentCls}-status-${e.status}:not(${n.componentCls}-disabled)`]:Object.assign(Object.assign({},ole(n,e)),{[`${n.componentCls}-prefix, ${n.componentCls}-suffix`]:{color:e.affixColor}})}),hO=(n,e)=>({"&-filled":Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},ole(n,{bg:n.colorFillTertiary,hoverBg:n.colorFillSecondary,activeBorderColor:n.colorPrimary})),{[`&${n.componentCls}-disabled, &[disabled]`]:Object.assign({},uO(n))}),sle(n,{status:"error",bg:n.colorErrorBg,hoverBg:n.colorErrorBgHover,activeBorderColor:n.colorError,inputColor:n.colorErrorText,affixColor:n.colorError})),sle(n,{status:"warning",bg:n.colorWarningBg,hoverBg:n.colorWarningBgHover,activeBorderColor:n.colorWarning,inputColor:n.colorWarningText,affixColor:n.colorWarning})),e)}),ale=(n,e)=>({[`&${n.componentCls}-group-wrapper-status-${e.status}`]:{[`${n.componentCls}-group-addon`]:{background:e.addonBg,color:e.addonColor}}}),lle=n=>({"&-filled":Object.assign(Object.assign(Object.assign({[`${n.componentCls}-group`]:{"&-addon":{background:n.colorFillTertiary},[`${n.componentCls}-filled:not(:focus):not(:focus-within)`]:{"&:not(:first-child)":{borderInlineStart:`${Ee(n.lineWidth)} ${n.lineType} ${n.colorSplit}`},"&:not(:last-child)":{borderInlineEnd:`${Ee(n.lineWidth)} ${n.lineType} ${n.colorSplit}`}}}},ale(n,{status:"error",addonBg:n.colorErrorBg,addonColor:n.colorErrorText})),ale(n,{status:"warning",addonBg:n.colorWarningBg,addonColor:n.colorWarningText})),{[`&${n.componentCls}-group-wrapper-disabled`]:{[`${n.componentCls}-group`]:{"&-addon":{background:n.colorFillTertiary,color:n.colorTextDisabled},"&-addon:first-child":{borderInlineStart:`${Ee(n.lineWidth)} ${n.lineType} ${n.colorBorder}`,borderTop:`${Ee(n.lineWidth)} ${n.lineType} ${n.colorBorder}`,borderBottom:`${Ee(n.lineWidth)} ${n.lineType} ${n.colorBorder}`},"&-addon:last-child":{borderInlineEnd:`${Ee(n.lineWidth)} ${n.lineType} ${n.colorBorder}`,borderTop:`${Ee(n.lineWidth)} ${n.lineType} ${n.colorBorder}`,borderBottom:`${Ee(n.lineWidth)} ${n.lineType} ${n.colorBorder}`}}}})}),mO=n=>({"&::-moz-placeholder":{opacity:1},"&::placeholder":{color:n,userSelect:"none"},"&:placeholder-shown":{textOverflow:"ellipsis"}}),ule=n=>{const{paddingBlockLG:e,lineHeightLG:t,borderRadiusLG:i,paddingInlineLG:r}=n;return{padding:`${Ee(e)} ${Ee(r)}`,fontSize:n.inputFontSizeLG,lineHeight:t,borderRadius:i}},cle=n=>({padding:`${Ee(n.paddingBlockSM)} ${Ee(n.paddingInlineSM)}`,fontSize:n.inputFontSizeSM,borderRadius:n.borderRadiusSM}),CE=n=>Object.assign(Object.assign({position:"relative",display:"inline-block",width:"100%",minWidth:0,padding:`${Ee(n.paddingBlock)} ${Ee(n.paddingInline)}`,color:n.colorText,fontSize:n.inputFontSize,lineHeight:n.lineHeight,borderRadius:n.borderRadius,transition:`all ${n.motionDurationMid}`},mO(n.colorTextPlaceholder)),{"textarea&":{maxWidth:"100%",height:"auto",minHeight:n.controlHeight,lineHeight:n.lineHeight,verticalAlign:"bottom",transition:`all ${n.motionDurationSlow}, height 0s`,resize:"vertical"},"&-lg":Object.assign({},ule(n)),"&-sm":Object.assign({},cle(n)),"&-rtl":{direction:"rtl"},"&-textarea-rtl":{direction:"rtl"}}),dle=n=>{const{componentCls:e,antCls:t}=n;return{position:"relative",display:"table",width:"100%",borderCollapse:"separate",borderSpacing:0,"&[class*='col-']":{paddingInlineEnd:n.paddingXS,"&:last-child":{paddingInlineEnd:0}},[`&-lg ${e}, &-lg > ${e}-group-addon`]:Object.assign({},ule(n)),[`&-sm ${e}, &-sm > ${e}-group-addon`]:Object.assign({},cle(n)),[`&-lg ${t}-select-single ${t}-select-selector`]:{height:n.controlHeightLG},[`&-sm ${t}-select-single ${t}-select-selector`]:{height:n.controlHeightSM},[`> ${e}`]:{display:"table-cell","&:not(:first-child):not(:last-child)":{borderRadius:0}},[`${e}-group`]:{"&-addon, &-wrap":{display:"table-cell",width:1,whiteSpace:"nowrap",verticalAlign:"middle","&:not(:first-child):not(:last-child)":{borderRadius:0}},"&-wrap > *":{display:"block !important"},"&-addon":{position:"relative",padding:`0 ${Ee(n.paddingInline)}`,color:n.colorText,fontWeight:"normal",fontSize:n.inputFontSize,textAlign:"center",borderRadius:n.borderRadius,transition:`all ${n.motionDurationSlow}`,lineHeight:1,[`${t}-select`]:{margin:`${Ee(n.calc(n.paddingBlock).add(1).mul(-1).equal())} ${Ee(n.calc(n.paddingInline).mul(-1).equal())}`,[`&${t}-select-single:not(${t}-select-customize-input):not(${t}-pagination-size-changer)`]:{[`${t}-select-selector`]:{backgroundColor:"inherit",border:`${Ee(n.lineWidth)} ${n.lineType} transparent`,boxShadow:"none"}},"&-open, &-focused":{[`${t}-select-selector`]:{color:n.colorPrimary}}},[`${t}-cascader-picker`]:{margin:`-9px ${Ee(n.calc(n.paddingInline).mul(-1).equal())}`,backgroundColor:"transparent",[`${t}-cascader-input`]:{textAlign:"start",border:0,boxShadow:"none"}}}},[`${e}`]:{width:"100%",marginBottom:0,textAlign:"inherit","&:focus":{zIndex:1,borderInlineEndWidth:1},"&:hover":{zIndex:1,borderInlineEndWidth:1,[`${e}-search-with-button &`]:{zIndex:0}}},[`> ${e}:first-child, ${e}-group-addon:first-child`]:{borderStartEndRadius:0,borderEndEndRadius:0,[`${t}-select ${t}-select-selector`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`> ${e}-affix-wrapper`]:{[`&:not(:first-child) ${e}`]:{borderStartStartRadius:0,borderEndStartRadius:0},[`&:not(:last-child) ${e}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`> ${e}:last-child, ${e}-group-addon:last-child`]:{borderStartStartRadius:0,borderEndStartRadius:0,[`${t}-select ${t}-select-selector`]:{borderStartStartRadius:0,borderEndStartRadius:0}},[`${e}-affix-wrapper`]:{"&:not(:last-child)":{borderStartEndRadius:0,borderEndEndRadius:0,[`${e}-search &`]:{borderStartStartRadius:n.borderRadius,borderEndStartRadius:n.borderRadius}},[`&:not(:first-child), ${e}-search &:not(:first-child)`]:{borderStartStartRadius:0,borderEndStartRadius:0}},[`&${e}-group-compact`]:Object.assign(Object.assign({display:"block"},qC()),{[`${e}-group-addon, ${e}-group-wrap, > ${e}`]:{"&:not(:first-child):not(:last-child)":{borderInlineEndWidth:n.lineWidth,"&:hover":{zIndex:1},"&:focus":{zIndex:1}}},"& > *":{display:"inline-block",float:"none",verticalAlign:"top",borderRadius:0},[` + &${s}-slide-up-leave${s}-slide-up-leave-active${e}-placement-topRight`]:{animationName:XT}})},MP(n,g,{arrowPlacement:{top:!0,bottom:!0}}),{[`${e} ${t}`]:{position:"relative",margin:0},[`${t}-submenu-popup`]:{position:"absolute",zIndex:i,background:"transparent",boxShadow:"none",transformOrigin:"0 0","ul, li":{listStyle:"none",margin:0}},[`${e}, ${e}-menu-submenu`]:{[t]:Object.assign(Object.assign({padding:d,listStyleType:"none",backgroundColor:g,backgroundClip:"padding-box",borderRadius:n.borderRadiusLG,outline:"none",boxShadow:n.boxShadowSecondary},$1(n)),{"&:empty":{padding:0,boxShadow:"none"},[`${t}-item-group-title`]:{padding:`${Ee(u)} ${Ee(f)}`,color:n.colorTextDescription,transition:`all ${l}`},[`${t}-item`]:{position:"relative",display:"flex",alignItems:"center"},[`${t}-item-icon`]:{minWidth:c,marginInlineEnd:n.marginXS,fontSize:n.fontSizeSM},[`${t}-title-content`]:{flex:"auto","> a":{color:"inherit",transition:`all ${l}`,"&:hover":{color:"inherit"},"&::after":{position:"absolute",inset:0,content:'""'}}},[`${t}-item, ${t}-submenu-title`]:Object.assign(Object.assign({clear:"both",margin:0,padding:`${Ee(u)} ${Ee(f)}`,color:n.colorText,fontWeight:"normal",fontSize:c,lineHeight:n.lineHeight,cursor:"pointer",transition:`all ${l}`,borderRadius:n.borderRadiusSM,"&:hover, &-active":{backgroundColor:n.controlItemBgHover}},$1(n)),{"&-selected":{color:n.colorPrimary,backgroundColor:n.controlItemBgActive,"&:hover, &-active":{backgroundColor:n.controlItemBgActiveHover}},"&-disabled":{color:h,cursor:"not-allowed","&:hover":{color:h,backgroundColor:g,cursor:"not-allowed"},a:{pointerEvents:"none"}},"&-divider":{height:1,margin:`${Ee(n.marginXXS)} 0`,overflow:"hidden",lineHeight:0,backgroundColor:n.colorSplit},[`${e}-menu-submenu-expand-icon`]:{position:"absolute",insetInlineEnd:n.paddingXS,[`${e}-menu-submenu-arrow-icon`]:{marginInlineEnd:"0 !important",color:n.colorTextDescription,fontSize:m,fontStyle:"normal"}}}),[`${t}-item-group-list`]:{margin:`0 ${Ee(n.marginXS)}`,padding:0,listStyle:"none"},[`${t}-submenu-title`]:{paddingInlineEnd:n.calc(f).add(n.fontSizeSM).equal()},[`${t}-submenu-vertical`]:{position:"relative"},[`${t}-submenu${t}-submenu-disabled ${e}-menu-submenu-title`]:{[`&, ${e}-menu-submenu-arrow-icon`]:{color:h,backgroundColor:g,cursor:"not-allowed"}},[`${t}-submenu-selected ${e}-menu-submenu-title`]:{color:n.colorPrimary}})}},[Sm(n,"slide-up"),Sm(n,"slide-down"),lS(n,"move-up"),lS(n,"move-down"),oL(n,"zoom-big")]]},CPe=Ho("Dropdown",n=>{const{marginXXS:e,sizePopupArrow:t,paddingXXS:i,componentCls:r}=n,o=Yi(n,{menuCls:`${r}-menu`,dropdownArrowDistance:n.calc(t).div(2).add(e).equal(),dropdownEdgeChildPadding:i});return[vPe(o),yPe(o)]},n=>Object.assign(Object.assign({zIndexPopup:n.zIndexPopupBase+50,paddingBlock:(n.controlHeight-n.fontSize*n.lineHeight)/2},UT({contentRadius:n.borderRadiusLG,limitVerticalRadius:!0})),YT(n))),JP=n=>{const{menu:e,arrow:t,prefixCls:i,children:r,trigger:o,disabled:s,dropdownRender:a,getPopupContainer:l,overlayClassName:u,rootClassName:c,overlayStyle:d,open:h,onOpenChange:m,visible:f,onVisibleChange:g,mouseEnterDelay:b=.15,mouseLeaveDelay:y=.1,autoAdjustOverflow:C=!0,placement:w="",overlay:x,transitionName:L}=n,{getPopupContainer:I,getPrefixCls:D,direction:N,dropdown:T}=S.useContext(Wn);jC();const R=S.useMemo(()=>{const De=D();return L!==void 0?L:w.includes("top")?`${De}-slide-down`:`${De}-slide-up`},[D,w,L]),E=S.useMemo(()=>w?w.includes("Center")?w.slice(0,w.indexOf("Center")):w:N==="rtl"?"bottomRight":"bottomLeft",[w,N]),W=D("dropdown",i),Z=Ls(W),[V,z,O]=CPe(W,Z),[,B]=Pa(),P=S.Children.only(r),H=eu(P,{className:Te(`${W}-trigger`,{[`${W}-rtl`]:N==="rtl"},P.props.className),disabled:s}),M=s?[]:o;let X;M&&M.includes("contextMenu")&&(X=!0);const[Y,A]=Jr(!1,{value:h??f}),te=Qi(De=>{m==null||m(De,{source:"trigger"}),g==null||g(De),A(De)}),oe=Te(u,c,z,O,Z,T==null?void 0:T.className,{[`${W}-rtl`]:N==="rtl"}),ae=Mse({arrowPointAtCenter:typeof t=="object"&&t.pointAtCenter,autoAdjustOverflow:C,offset:B.marginXXS,arrowWidth:t?B.sizePopupArrow:0,borderRadius:B.borderRadius}),le=S.useCallback(()=>{e!=null&&e.selectable&&(e!=null&&e.multiple)||(m==null||m(!1,{source:"menu"}),A(!1))},[e==null?void 0:e.selectable,e==null?void 0:e.multiple]),ue=()=>{let De;return e!=null&&e.items?De=S.createElement(bPe,Object.assign({},e)):typeof x=="function"?De=x():De=x,a&&(De=a(De)),De=S.Children.only(typeof De=="string"?S.createElement("span",null,De):De),S.createElement(lPe,{prefixCls:`${W}-menu`,rootClassName:Te(O,Z),expandIcon:S.createElement("span",{className:`${W}-menu-submenu-arrow`},S.createElement(TP,{className:`${W}-menu-submenu-arrow-icon`})),mode:"vertical",selectable:!1,onClick:le,validator:Me=>{}},De)},[Ce,pe]=iy("Dropdown",d==null?void 0:d.zIndex);let ce=S.createElement(Wse,Object.assign({alignPoint:X},la(n,["rootClassName"]),{mouseEnterDelay:b,mouseLeaveDelay:y,visible:Y,builtinPlacements:ae,arrow:!!t,overlayClassName:oe,prefixCls:W,getPopupContainer:l||I,transitionName:R,trigger:M,overlay:ue,placement:E,onVisibleChange:te,overlayStyle:Object.assign(Object.assign(Object.assign({},T==null?void 0:T.style),d),{zIndex:Ce})}),H);return Ce&&(ce=S.createElement(IT.Provider,{value:pe},ce)),V(ce)};function SPe(n){return Object.assign(Object.assign({},n),{align:{overflow:{adjustX:!1,adjustY:!1}}})}const wPe=PT(JP,"dropdown",n=>n,SPe),xPe=n=>S.createElement(wPe,Object.assign({},n),S.createElement("span",null));JP._InternalPanelDoNotUseOrYouWillBeFired=xPe;const cae=JP;var dae={exports:{}};(function(n,e){(function(t,i){n.exports=i()})(Jf,function(){var t=1e3,i=6e4,r=36e5,o="millisecond",s="second",a="minute",l="hour",u="day",c="week",d="month",h="quarter",m="year",f="date",g="Invalid Date",b=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,C={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(V){var z=["th","st","nd","rd"],O=V%100;return"["+V+(z[(O-20)%10]||z[O]||z[0])+"]"}},w=function(V,z,O){var B=String(V);return!B||B.length>=z?V:""+Array(z+1-B.length).join(O)+V},x={s:w,z:function(V){var z=-V.utcOffset(),O=Math.abs(z),B=Math.floor(O/60),P=O%60;return(z<=0?"+":"-")+w(B,2,"0")+":"+w(P,2,"0")},m:function V(z,O){if(z.date()1)return V(M[0])}else{var X=z.name;I[X]=z,P=X}return!B&&P&&(L=P),P||!B&&L},R=function(V,z){if(N(V))return V.clone();var O=typeof z=="object"?z:{};return O.date=V,O.args=arguments,new W(O)},E=x;E.l=T,E.i=N,E.w=function(V,z){return R(V,{locale:z.$L,utc:z.$u,x:z.$x,$offset:z.$offset})};var W=function(){function V(O){this.$L=T(O.locale,null,!0),this.parse(O),this.$x=this.$x||O.x||{},this[D]=!0}var z=V.prototype;return z.parse=function(O){this.$d=function(B){var P=B.date,H=B.utc;if(P===null)return new Date(NaN);if(E.u(P))return new Date;if(P instanceof Date)return new Date(P);if(typeof P=="string"&&!/Z$/i.test(P)){var M=P.match(b);if(M){var X=M[2]-1||0,Y=(M[7]||"0").substring(0,3);return H?new Date(Date.UTC(M[1],X,M[3]||1,M[4]||0,M[5]||0,M[6]||0,Y)):new Date(M[1],X,M[3]||1,M[4]||0,M[5]||0,M[6]||0,Y)}}return new Date(P)}(O),this.init()},z.init=function(){var O=this.$d;this.$y=O.getFullYear(),this.$M=O.getMonth(),this.$D=O.getDate(),this.$W=O.getDay(),this.$H=O.getHours(),this.$m=O.getMinutes(),this.$s=O.getSeconds(),this.$ms=O.getMilliseconds()},z.$utils=function(){return E},z.isValid=function(){return this.$d.toString()!==g},z.isSame=function(O,B){var P=R(O);return this.startOf(B)<=P&&P<=this.endOf(B)},z.isAfter=function(O,B){return R(O)25){var c=s(this).startOf(i).add(1,i).date(u),d=s(this).endOf(t);if(c.isBefore(d))return 1}var h=s(this).startOf(i).date(u).startOf(t).subtract(1,"millisecond"),m=this.diff(h,t,!0);return m<0?s(this).startOf("week").week():Math.ceil(m)},a.weeks=function(l){return l===void 0&&(l=null),this.week(l)}}})})(fae);var NPe=fae.exports;const MPe=vl(NPe);var gae={exports:{}};(function(n,e){(function(t,i){n.exports=i()})(Jf,function(){return function(t,i){i.prototype.weekYear=function(){var r=this.month(),o=this.week(),s=this.year();return o===1&&r===11?s+1:r===0&&o>=52?s-1:s}}})})(gae);var kPe=gae.exports;const TPe=vl(kPe);var pae={exports:{}};(function(n,e){(function(t,i){n.exports=i()})(Jf,function(){return function(t,i){var r=i.prototype,o=r.format;r.format=function(s){var a=this,l=this.$locale();if(!this.isValid())return o.bind(this)(s);var u=this.$utils(),c=(s||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(d){switch(d){case"Q":return Math.ceil((a.$M+1)/3);case"Do":return l.ordinal(a.$D);case"gggg":return a.weekYear();case"GGGG":return a.isoWeekYear();case"wo":return l.ordinal(a.week(),"W");case"w":case"ww":return u.s(a.week(),d==="w"?1:2,"0");case"W":case"WW":return u.s(a.isoWeek(),d==="W"?1:2,"0");case"k":case"kk":return u.s(String(a.$H===0?24:a.$H),d==="k"?1:2,"0");case"X":return Math.floor(a.$d.getTime()/1e3);case"x":return a.$d.getTime();case"z":return"["+a.offsetName()+"]";case"zzz":return"["+a.offsetName("long")+"]";default:return d}});return o.bind(this)(c)}}})})(pae);var EPe=pae.exports;const RPe=vl(EPe);var bae={exports:{}};(function(n,e){(function(t,i){n.exports=i()})(Jf,function(){var t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},i=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,r=/\d\d/,o=/\d\d?/,s=/\d*[^-_:/,()\s\d]+/,a={},l=function(g){return(g=+g)+(g>68?1900:2e3)},u=function(g){return function(b){this[g]=+b}},c=[/[+-]\d\d:?(\d\d)?|Z/,function(g){(this.zone||(this.zone={})).offset=function(b){if(!b||b==="Z")return 0;var y=b.match(/([+-]|\d\d)/g),C=60*y[1]+(+y[2]||0);return C===0?0:y[0]==="+"?-C:C}(g)}],d=function(g){var b=a[g];return b&&(b.indexOf?b:b.s.concat(b.f))},h=function(g,b){var y,C=a.meridiem;if(C){for(var w=1;w<=24;w+=1)if(g.indexOf(C(w,0,b))>-1){y=w>12;break}}else y=g===(b?"pm":"PM");return y},m={A:[s,function(g){this.afternoon=h(g,!1)}],a:[s,function(g){this.afternoon=h(g,!0)}],S:[/\d/,function(g){this.milliseconds=100*+g}],SS:[r,function(g){this.milliseconds=10*+g}],SSS:[/\d{3}/,function(g){this.milliseconds=+g}],s:[o,u("seconds")],ss:[o,u("seconds")],m:[o,u("minutes")],mm:[o,u("minutes")],H:[o,u("hours")],h:[o,u("hours")],HH:[o,u("hours")],hh:[o,u("hours")],D:[o,u("day")],DD:[r,u("day")],Do:[s,function(g){var b=a.ordinal,y=g.match(/\d+/);if(this.day=y[0],b)for(var C=1;C<=31;C+=1)b(C).replace(/\[|\]/g,"")===g&&(this.day=C)}],M:[o,u("month")],MM:[r,u("month")],MMM:[s,function(g){var b=d("months"),y=(d("monthsShort")||b.map(function(C){return C.slice(0,3)})).indexOf(g)+1;if(y<1)throw new Error;this.month=y%12||y}],MMMM:[s,function(g){var b=d("months").indexOf(g)+1;if(b<1)throw new Error;this.month=b%12||b}],Y:[/[+-]?\d+/,u("year")],YY:[r,function(g){this.year=l(g)}],YYYY:[/\d{4}/,u("year")],Z:c,ZZ:c};function f(g){var b,y;b=g,y=a&&a.formats;for(var C=(g=b.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(T,R,E){var W=E&&E.toUpperCase();return R||y[E]||t[E]||y[W].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(Z,V,z){return V||z.slice(1)})})).match(i),w=C.length,x=0;x-1)return new Date((B==="X"?1e3:1)*O);var H=f(B)(O),M=H.year,X=H.month,Y=H.day,A=H.hours,te=H.minutes,oe=H.seconds,ae=H.milliseconds,le=H.zone,ue=new Date,Ce=Y||(M||X?1:ue.getDate()),pe=M||ue.getFullYear(),ce=0;M&&!X||(ce=X>0?X-1:ue.getMonth());var De=A||0,Me=te||0,ke=oe||0,Ue=ae||0;return le?new Date(Date.UTC(pe,ce,Ce,De,Me,ke,Ue+60*le.offset*1e3)):P?new Date(Date.UTC(pe,ce,Ce,De,Me,ke,Ue)):new Date(pe,ce,Ce,De,Me,ke,Ue)}catch{return new Date("")}}(L,N,I),this.init(),W&&W!==!0&&(this.$L=this.locale(W).$L),E&&L!=this.format(N)&&(this.$d=new Date("")),a={}}else if(N instanceof Array)for(var Z=N.length,V=1;V<=Z;V+=1){D[1]=N[V-1];var z=y.apply(this,D);if(z.isValid()){this.$d=z.$d,this.$L=z.$L,this.init();break}V===Z&&(this.$d=new Date(""))}else w.call(this,x)}}})})(bae);var ZPe=bae.exports;const WPe=vl(ZPe);Eo.extend(WPe),Eo.extend(RPe),Eo.extend(IPe),Eo.extend(DPe),Eo.extend(MPe),Eo.extend(TPe),Eo.extend(function(n,e){var t=e.prototype,i=t.format;t.format=function(o){var s=(o||"").replace("Wo","wo");return i.bind(this)(s)}});var APe={bn_BD:"bn-bd",by_BY:"be",en_GB:"en-gb",en_US:"en",fr_BE:"fr",fr_CA:"fr-ca",hy_AM:"hy-am",kmr_IQ:"ku",nl_BE:"nl-be",pt_BR:"pt-br",zh_CN:"zh-cn",zh_HK:"zh-hk",zh_TW:"zh-tw"},uy=function(e){var t=APe[e];return t||e.split("_")[0]},yae=function(){Ete(!1,"Not match any format. Please help to fire a issue about this.")},VPe={getNow:function(){return Eo()},getFixedDate:function(e){return Eo(e,["YYYY-M-DD","YYYY-MM-DD"])},getEndDate:function(e){return e.endOf("month")},getWeekDay:function(e){var t=e.locale("en");return t.weekday()+t.localeData().firstDayOfWeek()},getYear:function(e){return e.year()},getMonth:function(e){return e.month()},getDate:function(e){return e.date()},getHour:function(e){return e.hour()},getMinute:function(e){return e.minute()},getSecond:function(e){return e.second()},getMillisecond:function(e){return e.millisecond()},addYear:function(e,t){return e.add(t,"year")},addMonth:function(e,t){return e.add(t,"month")},addDate:function(e,t){return e.add(t,"day")},setYear:function(e,t){return e.year(t)},setMonth:function(e,t){return e.month(t)},setDate:function(e,t){return e.date(t)},setHour:function(e,t){return e.hour(t)},setMinute:function(e,t){return e.minute(t)},setSecond:function(e,t){return e.second(t)},setMillisecond:function(e,t){return e.millisecond(t)},isAfter:function(e,t){return e.isAfter(t)},isValidate:function(e){return e.isValid()},locale:{getWeekFirstDay:function(e){return Eo().locale(uy(e)).localeData().firstDayOfWeek()},getWeekFirstDate:function(e,t){return t.locale(uy(e)).weekday(0)},getWeek:function(e,t){return t.locale(uy(e)).week()},getShortWeekDays:function(e){return Eo().locale(uy(e)).localeData().weekdaysMin()},getShortMonths:function(e){return Eo().locale(uy(e)).localeData().monthsShort()},format:function(e,t,i){return t.locale(uy(e)).format(i)},parse:function(e,t,i){for(var r=uy(e),o=0;o2&&arguments[2]!==void 0?arguments[2]:"0",i=String(n);i.length2&&arguments[2]!==void 0?arguments[2]:[],i=S.useState([!1,!1]),r=we(i,2),o=r[0],s=r[1],a=function(c,d){s(function(h){return SL(h,d,c)})},l=S.useMemo(function(){return o.map(function(u,c){if(u)return!0;var d=n[c];return d?!!(!t[c]&&!d||d&&e(d,{activeIndex:c})):!1})},[n,o,e,t]);return[l,a]}function xae(n,e,t,i,r){var o="",s=[];return n&&s.push(r?"hh":"HH"),e&&s.push("mm"),t&&s.push("ss"),o=s.join(":"),i&&(o+=".SSS"),r&&(o+=" A"),o}function XPe(n,e,t,i,r,o){var s=n.fieldDateTimeFormat,a=n.fieldDateFormat,l=n.fieldTimeFormat,u=n.fieldMonthFormat,c=n.fieldYearFormat,d=n.fieldWeekFormat,h=n.fieldQuarterFormat,m=n.yearFormat,f=n.cellYearFormat,g=n.cellQuarterFormat,b=n.dayFormat,y=n.cellDateFormat,C=xae(e,t,i,r,o);return xe(xe({},n),{},{fieldDateTimeFormat:s||"YYYY-MM-DD ".concat(C),fieldDateFormat:a||"YYYY-MM-DD",fieldTimeFormat:l||C,fieldMonthFormat:u||"YYYY-MM",fieldYearFormat:c||"YYYY",fieldWeekFormat:d||"gggg-wo",fieldQuarterFormat:h||"YYYY-[Q]Q",yearFormat:m||"YYYY",cellYearFormat:f||"YYYY",cellQuarterFormat:g||"[Q]Q",cellDateFormat:y||b||"D"})}function _ae(n,e){var t=e.showHour,i=e.showMinute,r=e.showSecond,o=e.showMillisecond,s=e.use12Hours;return ze.useMemo(function(){return XPe(n,t,i,r,o,s)},[n,t,i,r,o,s])}function wL(n,e,t){return t??e.some(function(i){return n.includes(i)})}var PPe=["showNow","showHour","showMinute","showSecond","showMillisecond","use12Hours","hourStep","minuteStep","secondStep","millisecondStep","hideDisabledOptions","defaultValue","disabledHours","disabledMinutes","disabledSeconds","disabledMilliseconds","disabledTime","changeOnScroll","defaultOpenValue"];function OPe(n){var e=rE(n,PPe),t=n.format,i=n.picker,r=null;return t&&(r=t,Array.isArray(r)&&(r=r[0]),r=Xn(r)==="object"?r.format:r),i==="time"&&(e.format=r),[e,r]}function BPe(n){return n&&typeof n=="string"}function Lae(n,e,t,i){return[n,e,t,i].some(function(r){return r!==void 0})}function Iae(n,e,t,i,r){var o=e,s=t,a=i;if(!n&&!o&&!s&&!a&&!r)o=!0,s=!0,a=!0;else if(n){var l,u,c,d=[o,s,a].some(function(f){return f===!1}),h=[o,s,a].some(function(f){return f===!0}),m=d?!0:!h;o=(l=o)!==null&&l!==void 0?l:m,s=(u=s)!==null&&u!==void 0?u:m,a=(c=a)!==null&&c!==void 0?c:m}return[o,s,a,r]}function Fae(n){var e=n.showTime,t=OPe(n),i=we(t,2),r=i[0],o=i[1],s=e&&Xn(e)==="object"?e:{},a=xe(xe({defaultOpenValue:s.defaultOpenValue||s.defaultValue},r),s),l=a.showMillisecond,u=a.showHour,c=a.showMinute,d=a.showSecond,h=Lae(u,c,d,l),m=Iae(h,u,c,d,l),f=we(m,3);return u=f[0],c=f[1],d=f[2],[a,xe(xe({},a),{},{showHour:u,showMinute:c,showSecond:d,showMillisecond:l}),a.format,o]}function Dae(n,e,t,i,r){var o=n==="time";if(n==="datetime"||o){for(var s=i,a=Cae(n,r,null),l=a,u=[e,t],c=0;c1&&(s=e.addDate(s,-7)),s}function ca(n,e){var t=e.generateConfig,i=e.locale,r=e.format;return n?typeof r=="function"?r(n):t.locale.format(i.locale,n,r):""}function aE(n,e,t){var i=e,r=["getHour","getMinute","getSecond","getMillisecond"],o=["setHour","setMinute","setSecond","setMillisecond"];return o.forEach(function(s,a){t?i=n[s](i,n[r[a]](t)):i=n[s](i,0)}),i}function UPe(n,e,t,i,r){var o=Qi(function(s,a){return!!(t&&t(s,a)||i&&n.isAfter(i,s)&&!xl(n,e,i,s,a.type)||r&&n.isAfter(s,r)&&!xl(n,e,r,s,a.type))});return o}function KPe(n,e,t){return S.useMemo(function(){var i=Cae(n,e,t),r=cy(i),o=r[0],s=Xn(o)==="object"&&o.type==="mask"?o.format:null;return[r.map(function(a){return typeof a=="string"||typeof a=="function"?a:a.format}),s]},[n,e,t])}function JPe(n,e,t){return typeof n[0]=="function"||t?!0:e}function jPe(n,e,t,i){var r=Qi(function(o,s){var a=xe({type:e},s);if(delete a.activeIndex,!n.isValidate(o)||t&&t(o,a))return!0;if((e==="date"||e==="time")&&i){var l,u=((l=i.disabledTime)===null||l===void 0?void 0:l.call(i,o,s&&s.activeIndex===1?"end":"start"))||{},c=u.disabledHours,d=u.disabledMinutes,h=u.disabledSeconds,m=u.disabledMilliseconds,f=i.disabledHours,g=i.disabledMinutes,b=i.disabledSeconds,y=c||f,C=d||g,w=h||b,x=n.getHour(o),L=n.getMinute(o),I=n.getSecond(o),D=n.getMillisecond(o);if(y&&y().includes(x)||C&&C(x).includes(L)||w&&w(x,L).includes(I)||m&&m(x,L,I).includes(D))return!0}return!1});return r}function lE(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,t=S.useMemo(function(){var i=n&&cy(n);return e&&i&&(i[1]=i[1]||i[0]),i},[n,e]);return t}function Tae(n,e){var t=n.generateConfig,i=n.locale,r=n.picker,o=r===void 0?"date":r,s=n.prefixCls,a=s===void 0?"rc-picker":s,l=n.styles,u=l===void 0?{}:l,c=n.classNames,d=c===void 0?{}:c,h=n.order,m=h===void 0?!0:h,f=n.components,g=f===void 0?{}:f,b=n.inputRender,y=n.allowClear,C=n.clearIcon,w=n.needConfirm,x=n.multiple,L=n.format,I=n.inputReadOnly,D=n.disabledDate,N=n.minDate,T=n.maxDate,R=n.showTime,E=n.value,W=n.defaultValue,Z=n.pickerValue,V=n.defaultPickerValue,z=lE(E),O=lE(W),B=lE(Z),P=lE(V),H=o==="date"&&R?"datetime":o,M=H==="time"||H==="datetime",X=M||x,Y=w??M,A=Fae(n),te=we(A,4),oe=te[0],ae=te[1],le=te[2],ue=te[3],Ce=_ae(i,ae),pe=S.useMemo(function(){return Dae(H,le,ue,oe,Ce)},[H,le,ue,oe,Ce]),ce=S.useMemo(function(){return xe(xe({},n),{},{prefixCls:a,locale:Ce,picker:o,styles:u,classNames:d,order:m,components:xe({input:b},g),clearIcon:zPe(a,y,C),showTime:pe,value:z,defaultValue:O,pickerValue:B,defaultPickerValue:P},e==null?void 0:e())},[n]),De=KPe(H,Ce,L),Me=we(De,2),ke=Me[0],Ue=Me[1],He=JPe(ke,I,x),ct=UPe(t,i,D,N,T),yt=jPe(t,o,ct,pe),it=S.useMemo(function(){return xe(xe({},ce),{},{needConfirm:Y,inputReadOnly:He,disabledDate:ct})},[ce,Y,He,ct]);return[it,H,X,ke,Ue,yt]}function QPe(n,e,t){var i=Jr(e,{value:n}),r=we(i,2),o=r[0],s=r[1],a=ze.useRef(n),l=ze.useRef(),u=function(){xi.cancel(l.current)},c=Qi(function(){s(a.current),t&&o!==a.current&&t(a.current)}),d=Qi(function(h,m){u(),a.current=h,h||m?c():l.current=xi(c)});return ze.useEffect(function(){return u},[]),[o,d]}function Eae(n,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],i=arguments.length>3?arguments[3]:void 0,r=t.every(function(c){return c})?!1:n,o=QPe(r,e||!1,i),s=we(o,2),a=s[0],l=s[1];function u(c){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};(!d.inherit||a)&&l(c,d.force)}return[a,u]}function Rae(n){var e=S.useRef();return S.useImperativeHandle(n,function(){var t;return{nativeElement:(t=e.current)===null||t===void 0?void 0:t.nativeElement,focus:function(r){var o;(o=e.current)===null||o===void 0||o.focus(r)},blur:function(){var r;(r=e.current)===null||r===void 0||r.blur()}}}),e}function Zae(n,e){return S.useMemo(function(){return n||(e?(aa(!1,"`ranges` is deprecated. Please use `presets` instead."),Object.entries(e).map(function(t){var i=we(t,2),r=i[0],o=i[1];return{label:r,value:o}})):[])},[n,e])}function nO(n,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,i=S.useRef(e);i.current=e,Y1(function(){if(n)i.current(n);else{var r=xi(function(){i.current(n)},t);return function(){xi.cancel(r)}}},[n])}function Wae(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],t=S.useState(0),i=we(t,2),r=i[0],o=i[1],s=S.useState(!1),a=we(s,2),l=a[0],u=a[1],c=S.useRef([]),d=S.useRef(null),h=function(b){u(b)},m=function(b){return b&&(d.current=b),d.current},f=function(b){var y=c.current,C=new Set(y.filter(function(x){return b[x]||e[x]})),w=y[y.length-1]===0?1:0;return C.size>=2||n[w]?null:w};return nO(l,function(){l||(c.current=[])}),S.useEffect(function(){l&&c.current.push(r)},[l,r]),[l,h,m,r,o,f,c.current]}function $Pe(n,e,t,i,r,o){var s=t[t.length-1],a=t.find(function(u){return n[u]}),l=function(c,d){var h=we(n,2),m=h[0],f=h[1],g=xe(xe({},d),{},{from:s!==a?n[a]:void 0});return s===1&&e[0]&&m&&!xl(i,r,m,c,g.type)&&i.isAfter(m,c)||s===0&&e[1]&&f&&!xl(i,r,f,c,g.type)&&i.isAfter(c,f)?!0:o==null?void 0:o(c,g)};return l}function _L(n,e,t,i){switch(e){case"date":case"week":return n.addMonth(t,i);case"month":case"quarter":return n.addYear(t,i);case"year":return n.addYear(t,i*10);case"decade":return n.addYear(t,i*100);default:return t}}var iO=[];function Aae(n,e,t,i,r,o,s,a){var l=arguments.length>8&&arguments[8]!==void 0?arguments[8]:iO,u=arguments.length>9&&arguments[9]!==void 0?arguments[9]:iO,c=arguments.length>10&&arguments[10]!==void 0?arguments[10]:iO,d=arguments.length>11?arguments[11]:void 0,h=arguments.length>12?arguments[12]:void 0,m=arguments.length>13?arguments[13]:void 0,f=s==="time",g=o||0,b=function(B){var P=n.getNow();return f&&(P=aE(n,P)),l[B]||t[B]||P},y=we(u,2),C=y[0],w=y[1],x=Jr(function(){return b(0)},{value:C}),L=we(x,2),I=L[0],D=L[1],N=Jr(function(){return b(1)},{value:w}),T=we(N,2),R=T[0],E=T[1],W=S.useMemo(function(){var O=[I,R][g];return f?O:aE(n,O,c[g])},[f,I,R,g,n,c]),Z=function(B){var P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"panel",H=[D,E][g];H(B);var M=[I,R];M[g]=B,d&&(!xl(n,e,I,M[0],s)||!xl(n,e,R,M[1],s))&&d(M,{source:P,range:g===1?"end":"start",mode:i})},V=function(B,P){if(a){var H={date:"month",week:"month",month:"year",quarter:"year"},M=H[s];if(M&&!xl(n,e,B,P,M))return _L(n,s,P,-1);if(s==="year"){var X=Math.floor(n.getYear(B)/10),Y=Math.floor(n.getYear(P)/10);if(X!==Y)return _L(n,s,P,-1)}}return P},z=S.useRef(null);return cr(function(){if(r&&!l[g]){var O=f?null:n.getNow();if(z.current!==null&&z.current!==g?O=[I,R][g^1]:t[g]?O=g===0?t[0]:V(t[0],t[1]):t[g^1]&&(O=t[g^1]),O){h&&n.isAfter(h,O)&&(O=h);var B=a?_L(n,s,O,1):O;m&&n.isAfter(B,m)&&(O=a?_L(n,s,m,-1):m),Z(O,"reset")}}},[r,g,t[g]]),S.useEffect(function(){r?z.current=g:z.current=null},[r,g]),cr(function(){r&&l&&l[g]&&Z(l[g],"reset")},[r,g]),[W,Z]}function Vae(n,e){var t=S.useRef(n),i=S.useState({}),r=we(i,2),o=r[1],s=function(u){return u&&e!==void 0?e:t.current},a=function(u){t.current=u,o({})};return[s,a,s(!0)]}var qPe=[];function Gae(n,e,t){var i=function(s){return s.map(function(a){return ca(a,{generateConfig:n,locale:e,format:t[0]})})},r=function(s,a){for(var l=Math.max(s.length,a.length),u=-1,c=0;c2&&arguments[2]!==void 0?arguments[2]:1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[],o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:2,s=[],a=t>=1?t|0:1,l=n;l<=e;l+=a){var u=r.includes(l);(!u||!i)&&s.push({label:jP(l,o),value:l,disabled:u})}return s}function rO(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=arguments.length>2?arguments[2]:void 0,i=e||{},r=i.use12Hours,o=i.hourStep,s=o===void 0?1:o,a=i.minuteStep,l=a===void 0?1:a,u=i.secondStep,c=u===void 0?1:u,d=i.millisecondStep,h=d===void 0?100:d,m=i.hideDisabledOptions,f=i.disabledTime,g=i.disabledHours,b=i.disabledMinutes,y=i.disabledSeconds,C=S.useMemo(function(){return t||n.getNow()},[t,n]),w=S.useCallback(function(P){var H=(f==null?void 0:f(P))||{};return[H.disabledHours||g||uE,H.disabledMinutes||b||uE,H.disabledSeconds||y||uE,H.disabledMilliseconds||uE]},[f,g,b,y]),x=S.useMemo(function(){return w(C)},[C,w]),L=we(x,4),I=L[0],D=L[1],N=L[2],T=L[3],R=S.useCallback(function(P,H,M,X){var Y=cE(0,23,s,m,P()),A=r?Y.map(function(le){return xe(xe({},le),{},{label:jP(le.value%12||12,2)})}):Y,te=function(ue){return cE(0,59,l,m,H(ue))},oe=function(ue,Ce){return cE(0,59,c,m,M(ue,Ce))},ae=function(ue,Ce,pe){return cE(0,999,h,m,X(ue,Ce,pe),3)};return[A,te,oe,ae]},[m,s,r,h,l,c]),E=S.useMemo(function(){return R(I,D,N,T)},[R,I,D,N,T]),W=we(E,4),Z=W[0],V=W[1],z=W[2],O=W[3],B=function(H,M){var X=function(){return Z},Y=V,A=z,te=O;if(M){var oe=w(M),ae=we(oe,4),le=ae[0],ue=ae[1],Ce=ae[2],pe=ae[3],ce=R(le,ue,Ce,pe),De=we(ce,4),Me=De[0],ke=De[1],Ue=De[2],He=De[3];X=function(){return Me},Y=ke,A=Ue,te=He}var ct=tOe(H,X,Y,A,te,n);return ct};return[B,Z,V,z,O]}function nOe(n){var e=n.mode,t=n.internalMode,i=n.renderExtraFooter,r=n.showNow,o=n.showTime,s=n.onSubmit,a=n.onNow,l=n.invalid,u=n.needConfirm,c=n.generateConfig,d=n.disabledDate,h=S.useContext(uh),m=h.prefixCls,f=h.locale,g=h.button,b=g===void 0?"button":g,y=c.getNow(),C=rO(c,o,y),w=we(C,1),x=w[0],L=i==null?void 0:i(e),I=d(y,{type:e}),D=function(){if(!I){var V=x(y);a(V)}},N="".concat(m,"-now"),T="".concat(N,"-btn"),R=r&&S.createElement("li",{className:N},S.createElement("a",{className:Te(T,I&&"".concat(T,"-disabled")),"aria-disabled":I,onClick:D},t==="date"?f.today:f.now)),E=u&&S.createElement("li",{className:"".concat(m,"-ok")},S.createElement(b,{disabled:l,onClick:s},f.ok)),W=(R||E)&&S.createElement("ul",{className:"".concat(m,"-ranges")},R,E);return!L&&!W?null:S.createElement("div",{className:"".concat(m,"-footer")},L&&S.createElement("div",{className:"".concat(m,"-footer-extra")},L),W)}function zae(n,e,t){function i(r,o){var s=r.findIndex(function(l){return xl(n,e,l,o,t)});if(s===-1)return[].concat(Lt(r),[o]);var a=Lt(r);return a.splice(s,1),a}return i}var hy=S.createContext(null);function dE(){return S.useContext(hy)}function SS(n,e){var t=n.prefixCls,i=n.generateConfig,r=n.locale,o=n.disabledDate,s=n.minDate,a=n.maxDate,l=n.cellRender,u=n.hoverValue,c=n.hoverRangeValue,d=n.onHover,h=n.values,m=n.pickerValue,f=n.onSelect,g=n.prevIcon,b=n.nextIcon,y=n.superPrevIcon,C=n.superNextIcon,w=i.getNow(),x={now:w,values:h,pickerValue:m,prefixCls:t,disabledDate:o,minDate:s,maxDate:a,cellRender:l,hoverValue:u,hoverRangeValue:c,onHover:d,locale:r,generateConfig:i,onSelect:f,panelType:e,prevIcon:g,nextIcon:b,superPrevIcon:y,superNextIcon:C};return[x,w]}var gb=S.createContext({});function LL(n){for(var e=n.rowNum,t=n.colNum,i=n.baseDate,r=n.getCellDate,o=n.prefixColumn,s=n.rowClassName,a=n.titleFormat,l=n.getCellText,u=n.getCellClassName,c=n.headerCells,d=n.cellSelection,h=d===void 0?!0:d,m=n.disabledDate,f=dE(),g=f.prefixCls,b=f.panelType,y=f.now,C=f.disabledDate,w=f.cellRender,x=f.onHover,L=f.hoverValue,I=f.hoverRangeValue,D=f.generateConfig,N=f.values,T=f.locale,R=f.onSelect,E=m||C,W="".concat(g,"-cell"),Z=S.useContext(gb),V=Z.onCellDblClick,z=function(A){return N.some(function(te){return te&&xl(D,T,A,te,b)})},O=[],B=0;B1&&arguments[1]!==void 0?arguments[1]:!1;me(Ge),b==null||b(Ge),mt&&j(Ge)},q=function(Ge,mt){Ce(Ge),mt&&$(mt),j(mt,Ge)},ee=function(Ge){if(yt(Ge),$(Ge),ue!==x){var mt=["decade","year"],wt=[].concat(mt,["month"]),Kt={quarter:[].concat(mt,["quarter"]),week:[].concat(Lt(wt),["week"]),date:[].concat(Lt(wt),["date"])},Wt=Kt[x]||wt,Yt=Wt.indexOf(ue),Tn=Wt[Yt+1];Tn&&q(Tn,Ge)}},ye=S.useMemo(function(){var Ye,Ge;if(Array.isArray(D)){var mt=we(D,2);Ye=mt[0],Ge=mt[1]}else Ye=D;return!Ye&&!Ge?null:(Ye=Ye||Ge,Ge=Ge||Ye,r.isAfter(Ye,Ge)?[Ge,Ye]:[Ye,Ge])},[D,r]),_e=QP(N,T,R),Ne=W[pe]||mOe[pe]||mE,Be=S.useContext(gb),$e=S.useMemo(function(){return xe(xe({},Be),{},{hideHeader:Z})},[Be,Z]),We="".concat(V,"-panel"),ht=rE(n,["showWeek","prevIcon","nextIcon","superPrevIcon","superNextIcon","disabledDate","minDate","maxDate","onHover"]);return S.createElement(gb.Provider,{value:$e},S.createElement("div",{ref:z,tabIndex:l,className:Te(We,ge({},"".concat(We,"-rtl"),o==="rtl"))},S.createElement(Ne,pt({},ht,{showTime:te,prefixCls:V,locale:Y,generateConfig:r,onModeChange:q,pickerValue:de,onPickerValueChange:function(Ge){$(Ge,!0)},value:He[0],onSelect:ee,values:He,cellRender:_e,hoverRangeValue:ye,hoverValue:I}))))}var oO=S.memo(S.forwardRef(fOe));function gOe(n){var e=n.picker,t=n.multiplePanel,i=n.pickerValue,r=n.onPickerValueChange,o=n.needConfirm,s=n.onSubmit,a=n.range,l=n.hoverValue,u=S.useContext(uh),c=u.prefixCls,d=u.generateConfig,h=S.useCallback(function(C,w){return _L(d,e,C,w)},[d,e]),m=S.useMemo(function(){return h(i,1)},[i,h]),f=function(w){r(h(w,-1))},g={onCellDblClick:function(){o&&s()}},b=e==="time",y=xe(xe({},n),{},{hoverValue:null,hoverRangeValue:null,hideHeader:b});return a?y.hoverRangeValue=l:y.hoverValue=l,t?S.createElement("div",{className:"".concat(c,"-panels")},S.createElement(gb.Provider,{value:xe(xe({},g),{},{hideNext:!0})},S.createElement(oO,y)),S.createElement(gb.Provider,{value:xe(xe({},g),{},{hidePrev:!0})},S.createElement(oO,pt({},y,{pickerValue:m,onPickerValueChange:f})))):S.createElement(gb.Provider,{value:xe({},g)},S.createElement(oO,y))}function Yae(n){return typeof n=="function"?n():n}function pOe(n){var e=n.prefixCls,t=n.presets,i=n.onClick,r=n.onHover;return t.length?S.createElement("div",{className:"".concat(e,"-presets")},S.createElement("ul",null,t.map(function(o,s){var a=o.label,l=o.value;return S.createElement("li",{key:s,onClick:function(){i(Yae(l))},onMouseEnter:function(){r(Yae(l))},onMouseLeave:function(){r(null)}},a)}))):null}function Uae(n){var e=n.panelRender,t=n.internalMode,i=n.picker,r=n.showNow,o=n.range,s=n.multiple,a=n.activeOffset,l=a===void 0?0:a,u=n.presets,c=n.onPresetHover,d=n.onPresetSubmit,h=n.onFocus,m=n.onBlur,f=n.direction,g=n.value,b=n.onSelect,y=n.isInvalid,C=n.defaultOpenValue,w=n.onOk,x=n.onSubmit,L=S.useContext(uh),I=L.prefixCls,D="".concat(I,"-panel"),N=f==="rtl",T=S.useRef(null),R=S.useRef(null),E=S.useState(0),W=we(E,2),Z=W[0],V=W[1],z=S.useState(0),O=we(z,2),B=O[0],P=O[1],H=function(Me){Me.offsetWidth&&V(Me.offsetWidth)};S.useEffect(function(){if(o){var De,Me=((De=T.current)===null||De===void 0?void 0:De.offsetWidth)||0,ke=Z-Me;l<=ke?P(0):P(l+Me-Z)}},[Z,l,o]);function M(De){return De.filter(function(Me){return Me})}var X=S.useMemo(function(){return M(cy(g))},[g]),Y=i==="time"&&!X.length,A=S.useMemo(function(){return Y?M([C]):X},[Y,X,C]),te=Y?C:X,oe=S.useMemo(function(){return A.length?A.some(function(De){return y(De)}):!0},[A,y]),ae=function(){Y&&b(C),w(),x()},le=S.createElement("div",{className:"".concat(I,"-panel-layout")},S.createElement(pOe,{prefixCls:I,presets:u,onClick:d,onHover:c}),S.createElement("div",null,S.createElement(gOe,pt({},n,{value:te})),S.createElement(nOe,pt({},n,{showNow:s?!1:r,invalid:oe,onSubmit:ae}))));e&&(le=e(le));var ue="".concat(D,"-container"),Ce="marginLeft",pe="marginRight",ce=S.createElement("div",{tabIndex:-1,className:Te(ue,"".concat(I,"-").concat(t,"-panel-container")),style:ge(ge({},N?pe:Ce,B),N?Ce:pe,"auto"),onFocus:h,onBlur:m},le);return o&&(ce=S.createElement("div",{ref:R,className:Te("".concat(I,"-range-wrapper"),"".concat(I,"-").concat(i,"-range-wrapper"))},S.createElement("div",{ref:T,className:"".concat(I,"-range-arrow"),style:ge({},N?"right":"left",l)}),S.createElement(mc,{onResize:H},ce))),ce}function Kae(n,e){var t=n.format,i=n.maskFormat,r=n.generateConfig,o=n.locale,s=n.preserveInvalidOnBlur,a=n.inputReadOnly,l=n.required,u=n["aria-required"],c=n.onSubmit,d=n.onFocus,h=n.onBlur,m=n.onInputChange,f=n.onInvalid,g=n.open,b=n.onOpenChange,y=n.onKeyDown,C=n.onChange,w=n.activeHelp,x=n.name,L=n.autoComplete,I=n.id,D=n.value,N=n.invalid,T=n.placeholder,R=n.disabled,E=n.activeIndex,W=n.allHelp,Z=n.picker,V=function(Y,A){var te=r.locale.parse(o.locale,Y,[A]);return te&&r.isValidate(te)?te:null},z=t[0],O=S.useCallback(function(X){return ca(X,{locale:o,format:z,generateConfig:r})},[o,r,z]),B=S.useMemo(function(){return D.map(O)},[D,O]),P=S.useMemo(function(){var X=Z==="time"?8:10,Y=typeof z=="function"?z(r.getNow()).length:z.length;return Math.max(X,Y)+2},[z,Z,r]),H=function(Y){for(var A=0;A=a&&t<=l)return o;var u=Math.min(Math.abs(t-a),Math.abs(t-l));u0?Ze:Xe));var rt=et+Mt,vt=Xe-Ze+1;return String(Ze+(vt+rt-Ze)%vt)};switch(Ge){case"Backspace":case"Delete":mt="",wt=Wt;break;case"ArrowLeft":mt="",Yt(-1);break;case"ArrowRight":mt="",Yt(1);break;case"ArrowUp":mt="",wt=Tn(1);break;case"ArrowDown":mt="",wt=Tn(-1);break;default:isNaN(Number(Ge))||(mt=X+Ge,wt=mt);break}if(mt!==null&&(Y(mt),mt.length>=Kt&&(Yt(1),Y(""))),wt!==null){var li=ce.slice(0,ct)+jP(wt,Kt)+ce.slice(yt);he(li.slice(0,s.length))}pe({})},$e=S.useRef();cr(function(){if(!(!Z||!s||j.current)){if(!ke.match(ce)){he(s);return}return Me.current.setSelectionRange(ct,yt),$e.current=xi(function(){Me.current.setSelectionRange(ct,yt)}),function(){xi.cancel($e.current)}}},[ke,s,Z,ce,oe,ct,yt,Ce,he]);var We=s?{onFocus:ee,onBlur:_e,onKeyDown:Be,onMouseDown:$,onMouseUp:q,onPaste:me}:{};return S.createElement("div",{ref:De,className:Te(R,ge(ge({},"".concat(R,"-active"),t&&r),"".concat(R,"-placeholder"),u))},S.createElement(T,pt({ref:Me,"aria-invalid":g,autoComplete:"off"},y,{onKeyDown:Ne,onBlur:ye},We,{value:ce,onChange:de})),S.createElement(fE,{type:"suffix",icon:o}),b)}),xOe=["id","clearIcon","suffixIcon","separator","activeIndex","activeHelp","allHelp","focused","onFocus","onBlur","onKeyDown","locale","generateConfig","placeholder","className","style","onClick","onClear","value","onChange","onSubmit","onInputChange","format","maskFormat","preserveInvalidOnBlur","onInvalid","disabled","invalid","inputReadOnly","direction","onOpenChange","onActiveOffset","onMouseDown","required","aria-required","autoFocus"],_Oe=["index"];function LOe(n,e){var t=n.id,i=n.clearIcon,r=n.suffixIcon,o=n.separator,s=o===void 0?"~":o,a=n.activeIndex;n.activeHelp,n.allHelp;var l=n.focused;n.onFocus,n.onBlur,n.onKeyDown,n.locale,n.generateConfig;var u=n.placeholder,c=n.className,d=n.style,h=n.onClick,m=n.onClear,f=n.value;n.onChange,n.onSubmit,n.onInputChange,n.format,n.maskFormat,n.preserveInvalidOnBlur,n.onInvalid;var g=n.disabled,b=n.invalid;n.inputReadOnly;var y=n.direction;n.onOpenChange;var C=n.onActiveOffset,w=n.onMouseDown;n.required,n["aria-required"];var x=n.autoFocus,L=zn(n,xOe),I=y==="rtl",D=S.useContext(uh),N=D.prefixCls,T=S.useMemo(function(){if(typeof t=="string")return[t];var ue=t||{};return[ue.start,ue.end]},[t]),R=S.useRef(),E=S.useRef(),W=S.useRef(),Z=function(Ce){var pe;return(pe=[E,W][Ce])===null||pe===void 0?void 0:pe.current};S.useImperativeHandle(e,function(){return{nativeElement:R.current,focus:function(Ce){if(Xn(Ce)==="object"){var pe,ce=Ce||{},De=ce.index,Me=De===void 0?0:De,ke=zn(ce,_Oe);(pe=Z(Me))===null||pe===void 0||pe.focus(ke)}else{var Ue;(Ue=Z(Ce??0))===null||Ue===void 0||Ue.focus()}},blur:function(){var Ce,pe;(Ce=Z(0))===null||Ce===void 0||Ce.blur(),(pe=Z(1))===null||pe===void 0||pe.blur()}}});var V=Jae(L),z=S.useMemo(function(){return Array.isArray(u)?u:[u,u]},[u]),O=Kae(xe(xe({},n),{},{id:T,placeholder:z})),B=we(O,1),P=B[0],H=I?"right":"left",M=S.useState(ge({position:"absolute",width:0},H,0)),X=we(M,2),Y=X[0],A=X[1],te=Qi(function(){var ue=Z(a);if(ue){var Ce=ue.nativeElement,pe=Ce.offsetWidth,ce=Ce.offsetLeft,De=Ce.offsetParent,Me=ce;if(I){var ke=De,Ue=getComputedStyle(ke);Me=ke.offsetWidth-parseFloat(Ue.borderRightWidth)-parseFloat(Ue.borderLeftWidth)-ce-pe}A(function(He){return xe(xe({},He),{},ge({width:pe},H,Me))}),C(a===0?0:Me)}});S.useEffect(function(){te()},[a]);var oe=i&&(f[0]&&!g[0]||f[1]&&!g[1]),ae=x&&!g[0],le=x&&!ae&&!g[1];return S.createElement(mc,{onResize:te},S.createElement("div",pt({},V,{className:Te(N,"".concat(N,"-range"),ge(ge(ge(ge({},"".concat(N,"-focused"),l),"".concat(N,"-disabled"),g.every(function(ue){return ue})),"".concat(N,"-invalid"),b.some(function(ue){return ue})),"".concat(N,"-rtl"),I),c),style:d,ref:R,onClick:h,onMouseDown:function(Ce){var pe=Ce.target;pe!==E.current.inputElement&&pe!==W.current.inputElement&&Ce.preventDefault(),w==null||w(Ce)}}),S.createElement(lO,pt({ref:E},P(0),{autoFocus:ae,"date-range":"start"})),S.createElement("div",{className:"".concat(N,"-range-separator")},s),S.createElement(lO,pt({ref:W},P(1),{autoFocus:le,"date-range":"end"})),S.createElement("div",{className:"".concat(N,"-active-bar"),style:Y}),S.createElement(fE,{type:"suffix",icon:r}),oe&&S.createElement(sO,{icon:i,onClear:m})))}var IOe=S.forwardRef(LOe);function Qae(n,e){var t=n??e;return Array.isArray(t)?t:[t,t]}function gE(n){return n===1?"end":"start"}function FOe(n,e){var t=Tae(n,function(){var fn=n.disabled,Vn=n.allowEmpty,Ni=Qae(fn,!1),So=Qae(Vn,!1);return{disabled:Ni,allowEmpty:So}}),i=we(t,6),r=i[0],o=i[1],s=i[2],a=i[3],l=i[4],u=i[5],c=r.prefixCls,d=r.styles,h=r.classNames,m=r.defaultValue,f=r.value,g=r.needConfirm,b=r.onKeyDown,y=r.disabled,C=r.allowEmpty,w=r.disabledDate,x=r.minDate,L=r.maxDate,I=r.defaultOpen,D=r.open,N=r.onOpenChange,T=r.locale,R=r.generateConfig,E=r.picker,W=r.showNow,Z=r.showToday,V=r.showTime,z=r.mode,O=r.onPanelChange,B=r.onCalendarChange,P=r.onOk,H=r.defaultPickerValue,M=r.pickerValue,X=r.onPickerValueChange,Y=r.inputReadOnly,A=r.suffixIcon,te=r.onFocus,oe=r.onBlur,ae=r.presets,le=r.ranges,ue=r.components,Ce=r.cellRender,pe=r.dateRender,ce=r.monthCellRender,De=r.onClick,Me=Rae(e),ke=Eae(D,I,y,N),Ue=we(ke,2),He=Ue[0],ct=Ue[1],yt=function(Vn,Ni){(y.some(function(So){return!So})||!Vn)&&ct(Vn,Ni)},it=Pae(R,T,a,!0,!1,m,f,B,P),he=we(it,5),de=he[0],me=he[1],j=he[2],$=he[3],q=he[4],ee=j(),ye=Wae(y,C),_e=we(ye,7),Ne=_e[0],Be=_e[1],$e=_e[2],We=_e[3],ht=_e[4],Ye=_e[5],Ge=_e[6],mt=function(Vn,Ni){Be(!0),te==null||te(Vn,{range:gE(Ni??We)})},wt=function(Vn,Ni){Be(!1),oe==null||oe(Vn,{range:gE(Ni??We)})},Kt=S.useMemo(function(){if(!V)return null;var fn=V.disabledTime,Vn=fn?function(Ni){var So=gE(We);return fn(Ni,So)}:void 0;return xe(xe({},V),{},{disabledTime:Vn})},[V,We]),Wt=Jr([E,E],{value:z}),Yt=we(Wt,2),Tn=Yt[0],li=Yt[1],Et=Tn[We]||E,Mt=Et==="date"&&Kt?"datetime":Et,fe=Mt===E&&Mt!=="time",Le=Bae(E,Et,W,Z,!0),Ze=Oae(r,de,me,j,$,y,a,Ne,He,u),Xe=we(Ze,2),ft=Xe[0],kt=Xe[1],et=$Pe(ee,y,Ge,R,T,w),rt=wae(ee,u,C),vt=we(rt,2),It=vt[0],tn=vt[1],Jt=Aae(R,T,ee,Tn,He,We,o,fe,H,M,Kt==null?void 0:Kt.defaultOpenValue,X,x,L),qt=we(Jt,2),Nn=qt[0],mn=qt[1],Ot=Qi(function(fn,Vn,Ni){var So=SL(Tn,We,Vn);if((So[0]!==Tn[0]||So[1]!==Tn[1])&&li(So),O&&Ni!==!1){var Ss=Lt(ee);fn&&(Ss[We]=fn),O(Ss,So)}}),gn=function(Vn,Ni){return SL(ee,Ni,Vn)},Tt=function(Vn,Ni){var So=ee;Vn&&(So=gn(Vn,We));var Ss=Ye(So);$(So),ft(We,Ss===null),Ss===null?yt(!1,{force:!0}):Ni||Me.current.focus({index:Ss})},Se=function(Vn){if(!Me.current.nativeElement.contains(document.activeElement)){var Ni=y.findIndex(function(So){return!So});Ni>=0&&Me.current.focus({index:Ni})}yt(!0),De==null||De(Vn)},Ke=function(){kt(null),yt(!1,{force:!0})},dt=S.useState(null),nn=we(dt,2),jn=nn[0],Zn=nn[1],rn=S.useState(null),fi=we(rn,2),Ln=fi[0],gi=fi[1],Hr=S.useMemo(function(){return Ln||ee},[ee,Ln]);S.useEffect(function(){He||gi(null)},[He]);var Vs=S.useState(0),cs=we(Vs,2),vu=cs[0],Jl=cs[1],qo=Zae(ae,le),Yr=function(Vn){gi(Vn),Zn("preset")},Cu=function(Vn){var Ni=kt(Vn);Ni&&yt(!1,{force:!0})},es=function(Vn){Tt(Vn)},Za=function(Vn){gi(Vn?gn(Vn,We):null),Zn("cell")},pl=function(Vn){yt(!0),mt(Vn)},ji=function(Vn){$e("panel");var Ni=SL(ee,We,Vn);$(Ni),!g&&!s&&o===Mt&&Tt(Vn)},ci=function(){yt(!1)},on=QP(Ce,pe,ce,gE(We)),bn=ee[We]||null,Di=Qi(function(fn){return u(fn,{activeIndex:We})}),Ur=S.useMemo(function(){var fn=Iu(r,!1),Vn=la(r,[].concat(Lt(Object.keys(fn)),["onChange","onCalendarChange","style","className","onPanelChange"]));return Vn},[r]),ur=S.createElement(Uae,pt({},Ur,{showNow:Le,showTime:Kt,range:!0,multiplePanel:fe,activeOffset:vu,disabledDate:et,onFocus:pl,onBlur:wt,picker:E,mode:Et,internalMode:Mt,onPanelChange:Ot,format:l,value:bn,isInvalid:Di,onChange:null,onSelect:ji,pickerValue:Nn,defaultOpenValue:cy(V==null?void 0:V.defaultOpenValue)[We],onPickerValueChange:mn,hoverValue:Hr,onHover:Za,needConfirm:g,onSubmit:Tt,onOk:q,presets:qo,onPresetHover:Yr,onPresetSubmit:Cu,onNow:es,cellRender:on})),Kr=function(Vn,Ni){var So=gn(Vn,Ni);$(So)},Mn=function(){$e("input")},Cn=function(Vn,Ni){$e("input"),yt(!0,{inherit:!0}),ht(Ni),mt(Vn,Ni)},Gi=function(Vn,Ni){yt(!1),wt(Vn,Ni)},Co=function(Vn,Ni){Vn.key==="Tab"&&Tt(null,!0),b==null||b(Vn,Ni)},ds=S.useMemo(function(){return{prefixCls:c,locale:T,generateConfig:R,button:ue.button,input:ue.input}},[c,T,R,ue.button,ue.input]);return cr(function(){He&&We!==void 0&&Ot(null,E,!1)},[He,We,E]),cr(function(){var fn=$e();!He&&fn==="input"&&(yt(!1),Tt(null,!0)),!He&&s&&!g&&fn==="panel"&&(yt(!0),Tt())},[He]),S.createElement(uh.Provider,{value:ds},S.createElement(vae,pt({},Sae(r),{popupElement:ur,popupStyle:d.popup,popupClassName:h.popup,visible:He,onClose:ci,range:!0}),S.createElement(IOe,pt({},r,{ref:Me,suffixIcon:A,activeIndex:Ne||He?We:null,activeHelp:!!Ln,allHelp:!!Ln&&jn==="preset",focused:Ne,onFocus:Cn,onBlur:Gi,onKeyDown:Co,onSubmit:Tt,value:Hr,maskFormat:l,onChange:Kr,onInputChange:Mn,format:a,inputReadOnly:Y,disabled:y,open:He,onOpenChange:yt,onClick:Se,onClear:Ke,invalid:It,onInvalid:tn,onActiveOffset:Jl}))))}var DOe=S.forwardRef(FOe);function NOe(n){var e=n.prefixCls,t=n.value,i=n.onRemove,r=n.removeIcon,o=r===void 0?"×":r,s=n.formatDate,a=n.disabled,l=n.maxTagCount,u=n.placeholder,c="".concat(e,"-selector"),d="".concat(e,"-selection"),h="".concat(d,"-overflow");function m(b,y){return S.createElement("span",{className:Te("".concat(d,"-item")),title:typeof b=="string"?b:null},S.createElement("span",{className:"".concat(d,"-item-content")},b),!a&&y&&S.createElement("span",{onMouseDown:function(w){w.preventDefault()},onClick:y,className:"".concat(d,"-item-remove")},o))}function f(b){var y=s(b),C=function(x){x&&x.stopPropagation(),i(b)};return m(y,C)}function g(b){var y="+ ".concat(b.length," ...");return m(y)}return S.createElement("div",{className:c},S.createElement(ah,{prefixCls:h,data:t,renderItem:f,renderRest:g,itemKey:function(y){return s(y)},maxCount:l}),!t.length&&S.createElement("span",{className:"".concat(e,"-selection-placeholder")},u))}var MOe=["id","open","clearIcon","suffixIcon","activeHelp","allHelp","focused","onFocus","onBlur","onKeyDown","locale","generateConfig","placeholder","className","style","onClick","onClear","internalPicker","value","onChange","onSubmit","onInputChange","multiple","maxTagCount","format","maskFormat","preserveInvalidOnBlur","onInvalid","disabled","invalid","inputReadOnly","direction","onOpenChange","onMouseDown","required","aria-required","autoFocus","removeIcon"];function kOe(n,e){n.id;var t=n.open,i=n.clearIcon,r=n.suffixIcon;n.activeHelp,n.allHelp;var o=n.focused;n.onFocus,n.onBlur,n.onKeyDown;var s=n.locale,a=n.generateConfig,l=n.placeholder,u=n.className,c=n.style,d=n.onClick,h=n.onClear,m=n.internalPicker,f=n.value,g=n.onChange,b=n.onSubmit;n.onInputChange;var y=n.multiple,C=n.maxTagCount;n.format,n.maskFormat,n.preserveInvalidOnBlur,n.onInvalid;var w=n.disabled,x=n.invalid;n.inputReadOnly;var L=n.direction;n.onOpenChange;var I=n.onMouseDown;n.required,n["aria-required"];var D=n.autoFocus,N=n.removeIcon,T=zn(n,MOe),R=L==="rtl",E=S.useContext(uh),W=E.prefixCls,Z=S.useRef(),V=S.useRef();S.useImperativeHandle(e,function(){return{nativeElement:Z.current,focus:function(oe){var ae;(ae=V.current)===null||ae===void 0||ae.focus(oe)},blur:function(){var oe;(oe=V.current)===null||oe===void 0||oe.blur()}}});var z=Jae(T),O=function(oe){g([oe])},B=function(oe){var ae=f.filter(function(le){return le&&!xl(a,s,le,oe,m)});g(ae),t||b()},P=Kae(xe(xe({},n),{},{onChange:O}),function(te){var oe=te.valueTexts;return{value:oe[0]||"",active:o}}),H=we(P,2),M=H[0],X=H[1],Y=!!(i&&f.length&&!w),A=y?S.createElement(S.Fragment,null,S.createElement(NOe,{prefixCls:W,value:f,onRemove:B,formatDate:X,maxTagCount:C,disabled:w,removeIcon:N,placeholder:l}),S.createElement("input",{className:"".concat(W,"-multiple-input"),value:f.map(X).join(","),ref:V,readOnly:!0,autoFocus:D}),S.createElement(fE,{type:"suffix",icon:r}),Y&&S.createElement(sO,{icon:i,onClear:h})):S.createElement(lO,pt({ref:V},M(),{autoFocus:D,suffixIcon:r,clearIcon:Y&&S.createElement(sO,{icon:i,onClear:h}),showActiveCls:!1}));return S.createElement("div",pt({},z,{className:Te(W,ge(ge(ge(ge(ge({},"".concat(W,"-multiple"),y),"".concat(W,"-focused"),o),"".concat(W,"-disabled"),w),"".concat(W,"-invalid"),x),"".concat(W,"-rtl"),R),u),style:c,ref:Z,onClick:d,onMouseDown:function(oe){var ae,le=oe.target;le!==((ae=V.current)===null||ae===void 0?void 0:ae.inputElement)&&oe.preventDefault(),I==null||I(oe)}}),A)}var TOe=S.forwardRef(kOe);function EOe(n,e){var t=Tae(n),i=we(t,6),r=i[0],o=i[1],s=i[2],a=i[3],l=i[4],u=i[5],c=r,d=c.prefixCls,h=c.styles,m=c.classNames,f=c.order,g=c.defaultValue,b=c.value,y=c.needConfirm,C=c.onChange,w=c.onKeyDown,x=c.disabled,L=c.disabledDate,I=c.minDate,D=c.maxDate,N=c.defaultOpen,T=c.open,R=c.onOpenChange,E=c.locale,W=c.generateConfig,Z=c.picker,V=c.showNow,z=c.showToday,O=c.showTime,B=c.mode,P=c.onPanelChange,H=c.onCalendarChange,M=c.onOk,X=c.multiple,Y=c.defaultPickerValue,A=c.pickerValue,te=c.onPickerValueChange,oe=c.inputReadOnly,ae=c.suffixIcon,le=c.removeIcon,ue=c.onFocus,Ce=c.onBlur,pe=c.presets,ce=c.components,De=c.cellRender,Me=c.dateRender,ke=c.monthCellRender,Ue=c.onClick,He=Rae(e);function ct(Mn){return Mn===null?null:X?Mn:Mn[0]}var yt=zae(W,E,o),it=Eae(T,N,[x],R),he=we(it,2),de=he[0],me=he[1],j=function(Cn,Gi,Co){if(H){var ds=xe({},Co);delete ds.range,H(ct(Cn),ct(Gi),ds)}},$=function(Cn){M==null||M(ct(Cn))},q=Pae(W,E,a,!1,f,g,b,j,$),ee=we(q,5),ye=ee[0],_e=ee[1],Ne=ee[2],Be=ee[3],$e=ee[4],We=Ne(),ht=Wae([x]),Ye=we(ht,4),Ge=Ye[0],mt=Ye[1],wt=Ye[2],Kt=Ye[3],Wt=function(Cn){mt(!0),ue==null||ue(Cn,{})},Yt=function(Cn){mt(!1),Ce==null||Ce(Cn,{})},Tn=Jr(Z,{value:B}),li=we(Tn,2),Et=li[0],Mt=li[1],fe=Et==="date"&&O?"datetime":Et,Le=Bae(Z,Et,V,z),Ze=C&&function(Mn,Cn){C(ct(Mn),ct(Cn))},Xe=Oae(xe(xe({},r),{},{onChange:Ze}),ye,_e,Ne,Be,[],a,Ge,de,u),ft=we(Xe,2),kt=ft[1],et=wae(We,u),rt=we(et,2),vt=rt[0],It=rt[1],tn=S.useMemo(function(){return vt.some(function(Mn){return Mn})},[vt]),Jt=function(Cn,Gi){if(te){var Co=xe(xe({},Gi),{},{mode:Gi.mode[0]});delete Co.range,te(Cn[0],Co)}},qt=Aae(W,E,We,[Et],de,Kt,o,!1,Y,A,cy(O==null?void 0:O.defaultOpenValue),Jt,I,D),Nn=we(qt,2),mn=Nn[0],Ot=Nn[1],gn=Qi(function(Mn,Cn,Gi){if(Mt(Cn),P&&Gi!==!1){var Co=Mn||We[We.length-1];P(Co,Cn)}}),Tt=function(){kt(Ne()),me(!1,{force:!0})},Se=function(Cn){!x&&!He.current.nativeElement.contains(document.activeElement)&&He.current.focus(),me(!0),Ue==null||Ue(Cn)},Ke=function(){kt(null),me(!1,{force:!0})},dt=S.useState(null),nn=we(dt,2),jn=nn[0],Zn=nn[1],rn=S.useState(null),fi=we(rn,2),Ln=fi[0],gi=fi[1],Hr=S.useMemo(function(){var Mn=[Ln].concat(Lt(We)).filter(function(Cn){return Cn});return X?Mn:Mn.slice(0,1)},[We,Ln,X]),Vs=S.useMemo(function(){return!X&&Ln?[Ln]:We.filter(function(Mn){return Mn})},[We,Ln,X]);S.useEffect(function(){de||gi(null)},[de]);var cs=Zae(pe),vu=function(Cn){gi(Cn),Zn("preset")},Jl=function(Cn){var Gi=X?yt(Ne(),Cn):[Cn],Co=kt(Gi);Co&&!X&&me(!1,{force:!0})},qo=function(Cn){Jl(Cn)},Yr=function(Cn){gi(Cn),Zn("cell")},Cu=function(Cn){me(!0),Wt(Cn)},es=function(Cn){wt("panel");var Gi=X?yt(Ne(),Cn):[Cn];Be(Gi),!y&&!s&&o===fe&&Tt()},Za=function(){me(!1)},pl=QP(De,Me,ke),ji=S.useMemo(function(){var Mn=Iu(r,!1),Cn=la(r,[].concat(Lt(Object.keys(Mn)),["onChange","onCalendarChange","style","className","onPanelChange"]));return xe(xe({},Cn),{},{multiple:r.multiple})},[r]),ci=S.createElement(Uae,pt({},ji,{showNow:Le,showTime:O,disabledDate:L,onFocus:Cu,onBlur:Yt,picker:Z,mode:Et,internalMode:fe,onPanelChange:gn,format:l,value:We,isInvalid:u,onChange:null,onSelect:es,pickerValue:mn,defaultOpenValue:O==null?void 0:O.defaultOpenValue,onPickerValueChange:Ot,hoverValue:Hr,onHover:Yr,needConfirm:y,onSubmit:Tt,onOk:$e,presets:cs,onPresetHover:vu,onPresetSubmit:Jl,onNow:qo,cellRender:pl})),on=function(Cn){Be(Cn)},bn=function(){wt("input")},Di=function(Cn){wt("input"),me(!0,{inherit:!0}),Wt(Cn)},Ur=function(Cn){me(!1),Yt(Cn)},ur=function(Cn,Gi){Cn.key==="Tab"&&Tt(),w==null||w(Cn,Gi)},Kr=S.useMemo(function(){return{prefixCls:d,locale:E,generateConfig:W,button:ce.button,input:ce.input}},[d,E,W,ce.button,ce.input]);return cr(function(){de&&Kt!==void 0&&gn(null,Z,!1)},[de,Kt,Z]),cr(function(){var Mn=wt();!de&&Mn==="input"&&(me(!1),Tt()),!de&&s&&!y&&Mn==="panel"&&(me(!0),Tt())},[de]),S.createElement(uh.Provider,{value:Kr},S.createElement(vae,pt({},Sae(r),{popupElement:ci,popupStyle:h.popup,popupClassName:m.popup,visible:de,onClose:Za}),S.createElement(TOe,pt({},r,{ref:He,suffixIcon:ae,removeIcon:le,activeHelp:!!Ln,allHelp:!!Ln&&jn==="preset",focused:Ge,onFocus:Di,onBlur:Ur,onKeyDown:ur,onSubmit:Tt,value:Vs,maskFormat:l,onChange:on,onInputChange:bn,internalPicker:o,format:a,inputReadOnly:oe,disabled:x,open:de,onOpenChange:me,onClick:Se,onClear:Ke,invalid:tn,onInvalid:function(Cn){It(Cn,0)}}))))}var ROe=S.forwardRef(EOe);const $ae=S.createContext(null),ZOe=$ae.Provider,qae=S.createContext(null),WOe=qae.Provider;var AOe=["prefixCls","className","style","checked","disabled","defaultChecked","type","title","onChange"],VOe=S.forwardRef(function(n,e){var t=n.prefixCls,i=t===void 0?"rc-checkbox":t,r=n.className,o=n.style,s=n.checked,a=n.disabled,l=n.defaultChecked,u=l===void 0?!1:l,c=n.type,d=c===void 0?"checkbox":c,h=n.title,m=n.onChange,f=zn(n,AOe),g=S.useRef(null),b=Jr(u,{value:s}),y=we(b,2),C=y[0],w=y[1];S.useImperativeHandle(e,function(){return{focus:function(D){var N;(N=g.current)===null||N===void 0||N.focus(D)},blur:function(){var D;(D=g.current)===null||D===void 0||D.blur()},input:g.current}});var x=Te(i,r,ge(ge({},"".concat(i,"-checked"),C),"".concat(i,"-disabled"),a)),L=function(D){a||("checked"in n||w(D.target.checked),m==null||m({target:xe(xe({},n),{},{type:d,checked:D.target.checked}),stopPropagation:function(){D.stopPropagation()},preventDefault:function(){D.preventDefault()},nativeEvent:D.nativeEvent}))};return S.createElement("span",{className:x,title:h,style:o},S.createElement("input",pt({},f,{className:"".concat(i,"-input"),ref:g,onChange:L,disabled:a,checked:!!C,type:d})),S.createElement("span",{className:"".concat(i,"-inner")}))});const GOe=n=>{const{componentCls:e,antCls:t}=n,i=`${e}-group`;return{[i]:Object.assign(Object.assign({},uo(n)),{display:"inline-block",fontSize:0,[`&${i}-rtl`]:{direction:"rtl"},[`${t}-badge ${t}-badge-count`]:{zIndex:1},[`> ${t}-badge:not(:first-child) > ${t}-button-wrapper`]:{borderInlineStart:"none"}})}},XOe=n=>{const{componentCls:e,wrapperMarginInlineEnd:t,colorPrimary:i,radioSize:r,motionDurationSlow:o,motionDurationMid:s,motionEaseInOutCirc:a,colorBgContainer:l,colorBorder:u,lineWidth:c,colorBgContainerDisabled:d,colorTextDisabled:h,paddingXS:m,dotColorDisabled:f,lineType:g,radioColor:b,radioBgColor:y,calc:C}=n,w=`${e}-inner`,L=C(r).sub(C(4).mul(2)),I=C(1).mul(r).equal();return{[`${e}-wrapper`]:Object.assign(Object.assign({},uo(n)),{display:"inline-flex",alignItems:"baseline",marginInlineStart:0,marginInlineEnd:t,cursor:"pointer",[`&${e}-wrapper-rtl`]:{direction:"rtl"},"&-disabled":{cursor:"not-allowed",color:n.colorTextDisabled},"&::after":{display:"inline-block",width:0,overflow:"hidden",content:'"\\a0"'},[`${e}-checked::after`]:{position:"absolute",insetBlockStart:0,insetInlineStart:0,width:"100%",height:"100%",border:`${Ee(c)} ${g} ${i}`,borderRadius:"50%",visibility:"hidden",opacity:0,content:'""'},[e]:Object.assign(Object.assign({},uo(n)),{position:"relative",display:"inline-block",outline:"none",cursor:"pointer",alignSelf:"center",borderRadius:"50%"}),[`${e}-wrapper:hover &, + &:hover ${w}`]:{borderColor:i},[`${e}-input:focus-visible + ${w}`]:Object.assign({},mT(n)),[`${e}:hover::after, ${e}-wrapper:hover &::after`]:{visibility:"visible"},[`${e}-inner`]:{"&::after":{boxSizing:"border-box",position:"absolute",insetBlockStart:"50%",insetInlineStart:"50%",display:"block",width:I,height:I,marginBlockStart:C(1).mul(r).div(-2).equal(),marginInlineStart:C(1).mul(r).div(-2).equal(),backgroundColor:b,borderBlockStart:0,borderInlineStart:0,borderRadius:I,transform:"scale(0)",opacity:0,transition:`all ${o} ${a}`,content:'""'},boxSizing:"border-box",position:"relative",insetBlockStart:0,insetInlineStart:0,display:"block",width:I,height:I,backgroundColor:l,borderColor:u,borderStyle:"solid",borderWidth:c,borderRadius:"50%",transition:`all ${s}`},[`${e}-input`]:{position:"absolute",inset:0,zIndex:1,cursor:"pointer",opacity:0},[`${e}-checked`]:{[w]:{borderColor:i,backgroundColor:y,"&::after":{transform:`scale(${n.calc(n.dotSize).div(r).equal()})`,opacity:1,transition:`all ${o} ${a}`}}},[`${e}-disabled`]:{cursor:"not-allowed",[w]:{backgroundColor:d,borderColor:u,cursor:"not-allowed","&::after":{backgroundColor:f}},[`${e}-input`]:{cursor:"not-allowed"},[`${e}-disabled + span`]:{color:h,cursor:"not-allowed"},[`&${e}-checked`]:{[w]:{"&::after":{transform:`scale(${C(L).div(r).equal({unit:!1})})`}}}},[`span${e} + *`]:{paddingInlineStart:m,paddingInlineEnd:m}})}},POe=n=>{const{buttonColor:e,controlHeight:t,componentCls:i,lineWidth:r,lineType:o,colorBorder:s,motionDurationSlow:a,motionDurationMid:l,buttonPaddingInline:u,fontSize:c,buttonBg:d,fontSizeLG:h,controlHeightLG:m,controlHeightSM:f,paddingXS:g,borderRadius:b,borderRadiusSM:y,borderRadiusLG:C,buttonCheckedBg:w,buttonSolidCheckedColor:x,colorTextDisabled:L,colorBgContainerDisabled:I,buttonCheckedBgDisabled:D,buttonCheckedColorDisabled:N,colorPrimary:T,colorPrimaryHover:R,colorPrimaryActive:E,buttonSolidCheckedBg:W,buttonSolidCheckedHoverBg:Z,buttonSolidCheckedActiveBg:V,calc:z}=n;return{[`${i}-button-wrapper`]:{position:"relative",display:"inline-block",height:t,margin:0,paddingInline:u,paddingBlock:0,color:e,fontSize:c,lineHeight:Ee(z(t).sub(z(r).mul(2)).equal()),background:d,border:`${Ee(r)} ${o} ${s}`,borderBlockStartWidth:z(r).add(.02).equal(),borderInlineStartWidth:0,borderInlineEndWidth:r,cursor:"pointer",transition:[`color ${l}`,`background ${l}`,`box-shadow ${l}`].join(","),a:{color:e},[`> ${i}-button`]:{position:"absolute",insetBlockStart:0,insetInlineStart:0,zIndex:-1,width:"100%",height:"100%"},"&:not(:first-child)":{"&::before":{position:"absolute",insetBlockStart:z(r).mul(-1).equal(),insetInlineStart:z(r).mul(-1).equal(),display:"block",boxSizing:"content-box",width:1,height:"100%",paddingBlock:r,paddingInline:0,backgroundColor:s,transition:`background-color ${a}`,content:'""'}},"&:first-child":{borderInlineStart:`${Ee(r)} ${o} ${s}`,borderStartStartRadius:b,borderEndStartRadius:b},"&:last-child":{borderStartEndRadius:b,borderEndEndRadius:b},"&:first-child:last-child":{borderRadius:b},[`${i}-group-large &`]:{height:m,fontSize:h,lineHeight:Ee(z(m).sub(z(r).mul(2)).equal()),"&:first-child":{borderStartStartRadius:C,borderEndStartRadius:C},"&:last-child":{borderStartEndRadius:C,borderEndEndRadius:C}},[`${i}-group-small &`]:{height:f,paddingInline:z(g).sub(r).equal(),paddingBlock:0,lineHeight:Ee(z(f).sub(z(r).mul(2)).equal()),"&:first-child":{borderStartStartRadius:y,borderEndStartRadius:y},"&:last-child":{borderStartEndRadius:y,borderEndEndRadius:y}},"&:hover":{position:"relative",color:T},"&:has(:focus-visible)":Object.assign({},mT(n)),[`${i}-inner, input[type='checkbox'], input[type='radio']`]:{width:0,height:0,opacity:0,pointerEvents:"none"},[`&-checked:not(${i}-button-wrapper-disabled)`]:{zIndex:1,color:T,background:w,borderColor:T,"&::before":{backgroundColor:T},"&:first-child":{borderColor:T},"&:hover":{color:R,borderColor:R,"&::before":{backgroundColor:R}},"&:active":{color:E,borderColor:E,"&::before":{backgroundColor:E}}},[`${i}-group-solid &-checked:not(${i}-button-wrapper-disabled)`]:{color:x,background:W,borderColor:W,"&:hover":{color:x,background:Z,borderColor:Z},"&:active":{color:x,background:V,borderColor:V}},"&-disabled":{color:L,backgroundColor:I,borderColor:s,cursor:"not-allowed","&:first-child, &:hover":{color:L,backgroundColor:I,borderColor:s}},[`&-disabled${i}-button-wrapper-checked`]:{color:N,backgroundColor:D,borderColor:s,boxShadow:"none"}}}},ele=Ho("Radio",n=>{const{controlOutline:e,controlOutlineWidth:t}=n,i=`0 0 0 ${Ee(t)} ${e}`,o=Yi(n,{radioFocusShadow:i,radioButtonFocusShadow:i});return[GOe(o),XOe(o),POe(o)]},n=>{const{wireframe:e,padding:t,marginXS:i,lineWidth:r,fontSizeLG:o,colorText:s,colorBgContainer:a,colorTextDisabled:l,controlItemBgActiveDisabled:u,colorTextLightSolid:c,colorPrimary:d,colorPrimaryHover:h,colorPrimaryActive:m,colorWhite:f}=n,g=4,b=o,y=e?b-g*2:b-(g+r)*2;return{radioSize:b,dotSize:y,dotColorDisabled:l,buttonSolidCheckedColor:c,buttonSolidCheckedBg:d,buttonSolidCheckedHoverBg:h,buttonSolidCheckedActiveBg:m,buttonBg:a,buttonCheckedBg:a,buttonColor:s,buttonCheckedBgDisabled:u,buttonCheckedColorDisabled:l,buttonPaddingInline:t-r,wrapperMarginInlineEnd:i,radioColor:e?d:f,radioBgColor:e?a:d}},{unitless:{radioSize:!0,dotSize:!0}});var OOe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{var t,i;const r=S.useContext($ae),o=S.useContext(qae),{getPrefixCls:s,direction:a,radio:l}=S.useContext(Wn),u=S.useRef(null),c=Lu(e,u),{isFormItemInput:d}=S.useContext(Ba),h=V=>{var z,O;(z=n.onChange)===null||z===void 0||z.call(n,V),(O=r==null?void 0:r.onChange)===null||O===void 0||O.call(r,V)},{prefixCls:m,className:f,rootClassName:g,children:b,style:y,title:C}=n,w=OOe(n,["prefixCls","className","rootClassName","children","style","title"]),x=s("radio",m),L=((r==null?void 0:r.optionType)||o)==="button",I=L?`${x}-button`:x,D=Ls(x),[N,T,R]=ele(x,D),E=Object.assign({},w),W=S.useContext(oh);r&&(E.name=r.name,E.onChange=h,E.checked=n.value===r.value,E.disabled=(t=E.disabled)!==null&&t!==void 0?t:r.disabled),E.disabled=(i=E.disabled)!==null&&i!==void 0?i:W;const Z=Te(`${I}-wrapper`,{[`${I}-wrapper-checked`]:E.checked,[`${I}-wrapper-disabled`]:E.disabled,[`${I}-wrapper-rtl`]:a==="rtl",[`${I}-wrapper-in-form-item`]:d},l==null?void 0:l.className,f,g,T,R,D);return N(S.createElement(qie,{component:"Radio",disabled:E.disabled},S.createElement("label",{className:Z,style:Object.assign(Object.assign({},l==null?void 0:l.style),y),onMouseEnter:n.onMouseEnter,onMouseLeave:n.onMouseLeave,title:C},S.createElement(VOe,Object.assign({},E,{className:Te(E.className,!L&&G4),type:"radio",prefixCls:I,ref:c})),b!==void 0?S.createElement("span",null,b):null)))},pE=S.forwardRef(BOe),zOe=S.forwardRef((n,e)=>{const{getPrefixCls:t,direction:i}=S.useContext(Wn),[r,o]=Jr(n.defaultValue,{value:n.value}),s=V=>{const z=r,O=V.target.value;"value"in n||o(O);const{onChange:B}=n;B&&O!==z&&B(V)},{prefixCls:a,className:l,rootClassName:u,options:c,buttonStyle:d="outline",disabled:h,children:m,size:f,style:g,id:b,onMouseEnter:y,onMouseLeave:C,onFocus:w,onBlur:x}=n,L=t("radio",a),I=`${L}-group`,D=Ls(L),[N,T,R]=ele(L,D);let E=m;c&&c.length>0&&(E=c.map(V=>typeof V=="string"||typeof V=="number"?S.createElement(pE,{key:V.toString(),prefixCls:L,disabled:h,value:V,checked:r===V},V):S.createElement(pE,{key:`radio-group-value-options-${V.value}`,prefixCls:L,disabled:V.disabled||h,value:V.value,checked:r===V.value,title:V.title,style:V.style,id:V.id,required:V.required},V.label)));const W=pc(f),Z=Te(I,`${I}-${d}`,{[`${I}-${W}`]:W,[`${I}-rtl`]:i==="rtl"},l,u,T,R,D);return N(S.createElement("div",Object.assign({},Iu(n,{aria:!0,data:!0}),{className:Z,style:g,onMouseEnter:y,onMouseLeave:C,onFocus:w,onBlur:x,id:b,ref:e}),S.createElement(ZOe,{value:{onChange:s,value:r,disabled:n.disabled,name:n.name,optionType:n.optionType}},E)))}),HOe=S.memo(zOe);var YOe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const{getPrefixCls:t}=S.useContext(Wn),{prefixCls:i}=n,r=YOe(n,["prefixCls"]),o=t("radio",i);return S.createElement(WOe,{value:"button"},S.createElement(pE,Object.assign({prefixCls:o},r,{type:"radio",ref:e})))},KOe=S.forwardRef(UOe),bE=pE;bE.Button=KOe,bE.Group=HOe,bE.__ANT_RADIO=!0;const my=bE;function yE(n){return Yi(n,{inputAffixPadding:n.paddingXXS})}const vE=n=>{const{controlHeight:e,fontSize:t,lineHeight:i,lineWidth:r,controlHeightSM:o,controlHeightLG:s,fontSizeLG:a,lineHeightLG:l,paddingSM:u,controlPaddingHorizontalSM:c,controlPaddingHorizontal:d,colorFillAlter:h,colorPrimaryHover:m,colorPrimary:f,controlOutlineWidth:g,controlOutline:b,colorErrorOutline:y,colorWarningOutline:C,colorBgContainer:w}=n;return{paddingBlock:Math.max(Math.round((e-t*i)/2*10)/10-r,0),paddingBlockSM:Math.max(Math.round((o-t*i)/2*10)/10-r,0),paddingBlockLG:Math.ceil((s-a*l)/2*10)/10-r,paddingInline:u-r,paddingInlineSM:c-r,paddingInlineLG:d-r,addonBg:h,activeBorderColor:f,hoverBorderColor:m,activeShadow:`0 0 0 ${g}px ${b}`,errorActiveShadow:`0 0 0 ${g}px ${y}`,warningActiveShadow:`0 0 0 ${g}px ${C}`,hoverBg:w,activeBg:w,inputFontSize:t,inputFontSizeLG:a,inputFontSizeSM:t}},JOe=n=>({borderColor:n.hoverBorderColor,backgroundColor:n.hoverBg}),uO=n=>({color:n.colorTextDisabled,backgroundColor:n.colorBgContainerDisabled,borderColor:n.colorBorder,boxShadow:"none",cursor:"not-allowed",opacity:1,"input[disabled], textarea[disabled]":{cursor:"not-allowed"},"&:hover:not([disabled])":Object.assign({},JOe(Yi(n,{hoverBorderColor:n.colorBorder,hoverBg:n.colorBgContainerDisabled})))}),tle=(n,e)=>({background:n.colorBgContainer,borderWidth:n.lineWidth,borderStyle:n.lineType,borderColor:e.borderColor,"&:hover":{borderColor:e.hoverBorderColor,backgroundColor:n.hoverBg},"&:focus, &:focus-within":{borderColor:e.activeBorderColor,boxShadow:e.activeShadow,outline:0,backgroundColor:n.activeBg}}),nle=(n,e)=>({[`&${n.componentCls}-status-${e.status}:not(${n.componentCls}-disabled)`]:Object.assign(Object.assign({},tle(n,e)),{[`${n.componentCls}-prefix, ${n.componentCls}-suffix`]:{color:e.affixColor}})}),cO=(n,e)=>({"&-outlined":Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},tle(n,{borderColor:n.colorBorder,hoverBorderColor:n.hoverBorderColor,activeBorderColor:n.activeBorderColor,activeShadow:n.activeShadow})),{[`&${n.componentCls}-disabled, &[disabled]`]:Object.assign({},uO(n))}),nle(n,{status:"error",borderColor:n.colorError,hoverBorderColor:n.colorErrorBorderHover,activeBorderColor:n.colorError,activeShadow:n.errorActiveShadow,affixColor:n.colorError})),nle(n,{status:"warning",borderColor:n.colorWarning,hoverBorderColor:n.colorWarningBorderHover,activeBorderColor:n.colorWarning,activeShadow:n.warningActiveShadow,affixColor:n.colorWarning})),e)}),ile=(n,e)=>({[`&${n.componentCls}-group-wrapper-status-${e.status}`]:{[`${n.componentCls}-group-addon`]:{borderColor:e.addonBorderColor,color:e.addonColor}}}),rle=n=>({"&-outlined":Object.assign(Object.assign(Object.assign({[`${n.componentCls}-group`]:{"&-addon":{background:n.addonBg,border:`${Ee(n.lineWidth)} ${n.lineType} ${n.colorBorder}`},"&-addon:first-child":{borderInlineEnd:0},"&-addon:last-child":{borderInlineStart:0}}},ile(n,{status:"error",addonBorderColor:n.colorError,addonColor:n.colorErrorText})),ile(n,{status:"warning",addonBorderColor:n.colorWarning,addonColor:n.colorWarningText})),{[`&${n.componentCls}-group-wrapper-disabled`]:{[`${n.componentCls}-group-addon`]:Object.assign({},uO(n))}})}),dO=(n,e)=>({"&-borderless":Object.assign({background:"transparent",border:"none","&:focus, &:focus-within":{outline:"none"},[`&${n.componentCls}-disabled, &[disabled]`]:{color:n.colorTextDisabled}},e)}),ole=(n,e)=>({background:e.bg,borderWidth:n.lineWidth,borderStyle:n.lineType,borderColor:"transparent","input&, & input, textarea&, & textarea":{color:e==null?void 0:e.inputColor},"&:hover":{background:e.hoverBg},"&:focus, &:focus-within":{outline:0,borderColor:e.activeBorderColor,backgroundColor:n.activeBg}}),sle=(n,e)=>({[`&${n.componentCls}-status-${e.status}:not(${n.componentCls}-disabled)`]:Object.assign(Object.assign({},ole(n,e)),{[`${n.componentCls}-prefix, ${n.componentCls}-suffix`]:{color:e.affixColor}})}),hO=(n,e)=>({"&-filled":Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},ole(n,{bg:n.colorFillTertiary,hoverBg:n.colorFillSecondary,activeBorderColor:n.colorPrimary})),{[`&${n.componentCls}-disabled, &[disabled]`]:Object.assign({},uO(n))}),sle(n,{status:"error",bg:n.colorErrorBg,hoverBg:n.colorErrorBgHover,activeBorderColor:n.colorError,inputColor:n.colorErrorText,affixColor:n.colorError})),sle(n,{status:"warning",bg:n.colorWarningBg,hoverBg:n.colorWarningBgHover,activeBorderColor:n.colorWarning,inputColor:n.colorWarningText,affixColor:n.colorWarning})),e)}),ale=(n,e)=>({[`&${n.componentCls}-group-wrapper-status-${e.status}`]:{[`${n.componentCls}-group-addon`]:{background:e.addonBg,color:e.addonColor}}}),lle=n=>({"&-filled":Object.assign(Object.assign(Object.assign({[`${n.componentCls}-group`]:{"&-addon":{background:n.colorFillTertiary},[`${n.componentCls}-filled:not(:focus):not(:focus-within)`]:{"&:not(:first-child)":{borderInlineStart:`${Ee(n.lineWidth)} ${n.lineType} ${n.colorSplit}`},"&:not(:last-child)":{borderInlineEnd:`${Ee(n.lineWidth)} ${n.lineType} ${n.colorSplit}`}}}},ale(n,{status:"error",addonBg:n.colorErrorBg,addonColor:n.colorErrorText})),ale(n,{status:"warning",addonBg:n.colorWarningBg,addonColor:n.colorWarningText})),{[`&${n.componentCls}-group-wrapper-disabled`]:{[`${n.componentCls}-group`]:{"&-addon":{background:n.colorFillTertiary,color:n.colorTextDisabled},"&-addon:first-child":{borderInlineStart:`${Ee(n.lineWidth)} ${n.lineType} ${n.colorBorder}`,borderTop:`${Ee(n.lineWidth)} ${n.lineType} ${n.colorBorder}`,borderBottom:`${Ee(n.lineWidth)} ${n.lineType} ${n.colorBorder}`},"&-addon:last-child":{borderInlineEnd:`${Ee(n.lineWidth)} ${n.lineType} ${n.colorBorder}`,borderTop:`${Ee(n.lineWidth)} ${n.lineType} ${n.colorBorder}`,borderBottom:`${Ee(n.lineWidth)} ${n.lineType} ${n.colorBorder}`}}}})}),mO=n=>({"&::-moz-placeholder":{opacity:1},"&::placeholder":{color:n,userSelect:"none"},"&:placeholder-shown":{textOverflow:"ellipsis"}}),ule=n=>{const{paddingBlockLG:e,lineHeightLG:t,borderRadiusLG:i,paddingInlineLG:r}=n;return{padding:`${Ee(e)} ${Ee(r)}`,fontSize:n.inputFontSizeLG,lineHeight:t,borderRadius:i}},cle=n=>({padding:`${Ee(n.paddingBlockSM)} ${Ee(n.paddingInlineSM)}`,fontSize:n.inputFontSizeSM,borderRadius:n.borderRadiusSM}),CE=n=>Object.assign(Object.assign({position:"relative",display:"inline-block",width:"100%",minWidth:0,padding:`${Ee(n.paddingBlock)} ${Ee(n.paddingInline)}`,color:n.colorText,fontSize:n.inputFontSize,lineHeight:n.lineHeight,borderRadius:n.borderRadius,transition:`all ${n.motionDurationMid}`},mO(n.colorTextPlaceholder)),{"textarea&":{maxWidth:"100%",height:"auto",minHeight:n.controlHeight,lineHeight:n.lineHeight,verticalAlign:"bottom",transition:`all ${n.motionDurationSlow}, height 0s`,resize:"vertical"},"&-lg":Object.assign({},ule(n)),"&-sm":Object.assign({},cle(n)),"&-rtl":{direction:"rtl"},"&-textarea-rtl":{direction:"rtl"}}),dle=n=>{const{componentCls:e,antCls:t}=n;return{position:"relative",display:"table",width:"100%",borderCollapse:"separate",borderSpacing:0,"&[class*='col-']":{paddingInlineEnd:n.paddingXS,"&:last-child":{paddingInlineEnd:0}},[`&-lg ${e}, &-lg > ${e}-group-addon`]:Object.assign({},ule(n)),[`&-sm ${e}, &-sm > ${e}-group-addon`]:Object.assign({},cle(n)),[`&-lg ${t}-select-single ${t}-select-selector`]:{height:n.controlHeightLG},[`&-sm ${t}-select-single ${t}-select-selector`]:{height:n.controlHeightSM},[`> ${e}`]:{display:"table-cell","&:not(:first-child):not(:last-child)":{borderRadius:0}},[`${e}-group`]:{"&-addon, &-wrap":{display:"table-cell",width:1,whiteSpace:"nowrap",verticalAlign:"middle","&:not(:first-child):not(:last-child)":{borderRadius:0}},"&-wrap > *":{display:"block !important"},"&-addon":{position:"relative",padding:`0 ${Ee(n.paddingInline)}`,color:n.colorText,fontWeight:"normal",fontSize:n.inputFontSize,textAlign:"center",borderRadius:n.borderRadius,transition:`all ${n.motionDurationSlow}`,lineHeight:1,[`${t}-select`]:{margin:`${Ee(n.calc(n.paddingBlock).add(1).mul(-1).equal())} ${Ee(n.calc(n.paddingInline).mul(-1).equal())}`,[`&${t}-select-single:not(${t}-select-customize-input):not(${t}-pagination-size-changer)`]:{[`${t}-select-selector`]:{backgroundColor:"inherit",border:`${Ee(n.lineWidth)} ${n.lineType} transparent`,boxShadow:"none"}},"&-open, &-focused":{[`${t}-select-selector`]:{color:n.colorPrimary}}},[`${t}-cascader-picker`]:{margin:`-9px ${Ee(n.calc(n.paddingInline).mul(-1).equal())}`,backgroundColor:"transparent",[`${t}-cascader-input`]:{textAlign:"start",border:0,boxShadow:"none"}}}},[`${e}`]:{width:"100%",marginBottom:0,textAlign:"inherit","&:focus":{zIndex:1,borderInlineEndWidth:1},"&:hover":{zIndex:1,borderInlineEndWidth:1,[`${e}-search-with-button &`]:{zIndex:0}}},[`> ${e}:first-child, ${e}-group-addon:first-child`]:{borderStartEndRadius:0,borderEndEndRadius:0,[`${t}-select ${t}-select-selector`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`> ${e}-affix-wrapper`]:{[`&:not(:first-child) ${e}`]:{borderStartStartRadius:0,borderEndStartRadius:0},[`&:not(:last-child) ${e}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`> ${e}:last-child, ${e}-group-addon:last-child`]:{borderStartStartRadius:0,borderEndStartRadius:0,[`${t}-select ${t}-select-selector`]:{borderStartStartRadius:0,borderEndStartRadius:0}},[`${e}-affix-wrapper`]:{"&:not(:last-child)":{borderStartEndRadius:0,borderEndEndRadius:0,[`${e}-search &`]:{borderStartStartRadius:n.borderRadius,borderEndStartRadius:n.borderRadius}},[`&:not(:first-child), ${e}-search &:not(:first-child)`]:{borderStartStartRadius:0,borderEndStartRadius:0}},[`&${e}-group-compact`]:Object.assign(Object.assign({display:"block"},qC()),{[`${e}-group-addon, ${e}-group-wrap, > ${e}`]:{"&:not(:first-child):not(:last-child)":{borderInlineEndWidth:n.lineWidth,"&:hover":{zIndex:1},"&:focus":{zIndex:1}}},"& > *":{display:"inline-block",float:"none",verticalAlign:"top",borderRadius:0},[` & > ${e}-affix-wrapper, & > ${e}-number-affix-wrapper, & > ${t}-picker-range @@ -280,41 +280,41 @@ html body { & > ${t}-cascader-picker:last-child ${e}, & > ${t}-cascader-picker-focused:last-child ${e}`]:{borderInlineEndWidth:n.lineWidth,borderStartEndRadius:n.borderRadius,borderEndEndRadius:n.borderRadius},[`& > ${t}-select-auto-complete ${e}`]:{verticalAlign:"top"},[`${e}-group-wrapper + ${e}-group-wrapper`]:{marginInlineStart:n.calc(n.lineWidth).mul(-1).equal(),[`${e}-affix-wrapper`]:{borderRadius:0}},[`${e}-group-wrapper:not(:last-child)`]:{[`&${e}-search > ${e}-group`]:{[`& > ${e}-group-addon > ${e}-search-button`]:{borderRadius:0},[`& > ${e}`]:{borderStartStartRadius:n.borderRadius,borderStartEndRadius:0,borderEndEndRadius:0,borderEndStartRadius:n.borderRadius}}}})}},jOe=n=>{const{componentCls:e,controlHeightSM:t,lineWidth:i,calc:r}=n,s=r(t).sub(r(i).mul(2)).sub(16).div(2).equal();return{[e]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},uo(n)),CE(n)),cO(n)),hO(n)),dO(n)),{'&[type="color"]':{height:n.controlHeight,[`&${e}-lg`]:{height:n.controlHeightLG},[`&${e}-sm`]:{height:t,paddingTop:s,paddingBottom:s}},'&[type="search"]::-webkit-search-cancel-button, &[type="search"]::-webkit-search-decoration':{"-webkit-appearance":"none"}})}},QOe=n=>{const{componentCls:e}=n;return{[`${e}-clear-icon`]:{margin:0,color:n.colorTextQuaternary,fontSize:n.fontSizeIcon,verticalAlign:-1,cursor:"pointer",transition:`color ${n.motionDurationSlow}`,"&:hover":{color:n.colorTextTertiary},"&:active":{color:n.colorText},"&-hidden":{visibility:"hidden"},"&-has-suffix":{margin:`0 ${Ee(n.inputAffixPadding)}`}}}},$Oe=n=>{const{componentCls:e,inputAffixPadding:t,colorTextDescription:i,motionDurationSlow:r,colorIcon:o,colorIconHover:s,iconCls:a}=n;return{[`${e}-affix-wrapper`]:Object.assign(Object.assign(Object.assign(Object.assign({},CE(n)),{display:"inline-flex",[`&:not(${e}-disabled):hover`]:{zIndex:1,[`${e}-search-with-button &`]:{zIndex:0}},"&-focused, &:focus":{zIndex:1},[`> input${e}`]:{padding:0},[`> input${e}, > textarea${e}`]:{fontSize:"inherit",border:"none",borderRadius:0,outline:"none",background:"transparent",color:"inherit","&::-ms-reveal":{display:"none"},"&:focus":{boxShadow:"none !important"}},"&::before":{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'},[`${e}`]:{"&-prefix, &-suffix":{display:"flex",flex:"none",alignItems:"center","> *:not(:last-child)":{marginInlineEnd:n.paddingXS}},"&-show-count-suffix":{color:i},"&-show-count-has-suffix":{marginInlineEnd:n.paddingXXS},"&-prefix":{marginInlineEnd:t},"&-suffix":{marginInlineStart:t}}}),QOe(n)),{[`${a}${e}-password-icon`]:{color:o,cursor:"pointer",transition:`all ${r}`,"&:hover":{color:s}}})}},qOe=n=>{const{componentCls:e,borderRadiusLG:t,borderRadiusSM:i}=n;return{[`${e}-group`]:Object.assign(Object.assign(Object.assign({},uo(n)),dle(n)),{"&-rtl":{direction:"rtl"},"&-wrapper":Object.assign(Object.assign(Object.assign({display:"inline-block",width:"100%",textAlign:"start",verticalAlign:"top","&-rtl":{direction:"rtl"},"&-lg":{[`${e}-group-addon`]:{borderRadius:t,fontSize:n.inputFontSizeLG}},"&-sm":{[`${e}-group-addon`]:{borderRadius:i}}},rle(n)),lle(n)),{[`&:not(${e}-compact-first-item):not(${e}-compact-last-item)${e}-compact-item`]:{[`${e}, ${e}-group-addon`]:{borderRadius:0}},[`&:not(${e}-compact-last-item)${e}-compact-first-item`]:{[`${e}, ${e}-group-addon`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&:not(${e}-compact-first-item)${e}-compact-last-item`]:{[`${e}, ${e}-group-addon`]:{borderStartStartRadius:0,borderEndStartRadius:0}},[`&:not(${e}-compact-last-item)${e}-compact-item`]:{[`${e}-affix-wrapper`]:{borderStartEndRadius:0,borderEndEndRadius:0}}})})}},eBe=n=>{const{componentCls:e,antCls:t}=n,i=`${e}-search`;return{[i]:{[`${e}`]:{"&:hover, &:focus":{borderColor:n.colorPrimaryHover,[`+ ${e}-group-addon ${i}-button:not(${t}-btn-primary)`]:{borderInlineStartColor:n.colorPrimaryHover}}},[`${e}-affix-wrapper`]:{borderRadius:0},[`${e}-lg`]:{lineHeight:n.calc(n.lineHeightLG).sub(2e-4).equal({unit:!1})},[`> ${e}-group`]:{[`> ${e}-group-addon:last-child`]:{insetInlineStart:-1,padding:0,border:0,[`${i}-button`]:{marginInlineEnd:-1,paddingTop:0,paddingBottom:0,borderStartStartRadius:0,borderStartEndRadius:n.borderRadius,borderEndEndRadius:n.borderRadius,borderEndStartRadius:0,boxShadow:"none"},[`${i}-button:not(${t}-btn-primary)`]:{color:n.colorTextDescription,"&:hover":{color:n.colorPrimaryHover},"&:active":{color:n.colorPrimaryActive},[`&${t}-btn-loading::before`]:{insetInlineStart:0,insetInlineEnd:0,insetBlockStart:0,insetBlockEnd:0}}}},[`${i}-button`]:{height:n.controlHeight,"&:hover, &:focus":{zIndex:1}},[`&-large ${i}-button`]:{height:n.controlHeightLG},[`&-small ${i}-button`]:{height:n.controlHeightSM},"&-rtl":{direction:"rtl"},[`&${e}-compact-item`]:{[`&:not(${e}-compact-last-item)`]:{[`${e}-group-addon`]:{[`${e}-search-button`]:{marginInlineEnd:n.calc(n.lineWidth).mul(-1).equal(),borderRadius:0}}},[`&:not(${e}-compact-first-item)`]:{[`${e},${e}-affix-wrapper`]:{borderRadius:0}},[`> ${e}-group-addon ${e}-search-button, > ${e}, - ${e}-affix-wrapper`]:{"&:hover,&:focus,&:active":{zIndex:2}},[`> ${e}-affix-wrapper-focused`]:{zIndex:2}}}}},tBe=n=>{const{componentCls:e,paddingLG:t}=n,i=`${e}-textarea`;return{[i]:{position:"relative","&-show-count":{[`> ${e}`]:{height:"100%"},[`${e}-data-count`]:{position:"absolute",bottom:n.calc(n.fontSize).mul(n.lineHeight).mul(-1).equal(),insetInlineEnd:0,color:n.colorTextDescription,whiteSpace:"nowrap",pointerEvents:"none"}},"&-allow-clear":{[`> ${e}`]:{paddingInlineEnd:t}},[`&-affix-wrapper${i}-has-feedback`]:{[`${e}`]:{paddingInlineEnd:t}},[`&-affix-wrapper${e}-affix-wrapper`]:{padding:0,[`> textarea${e}`]:{fontSize:"inherit",border:"none",outline:"none",background:"transparent","&:focus":{boxShadow:"none !important"}},[`${e}-suffix`]:{margin:0,"> *:not(:last-child)":{marginInline:0},[`${e}-clear-icon`]:{position:"absolute",insetInlineEnd:n.paddingXS,insetBlockStart:n.paddingXS},[`${i}-suffix`]:{position:"absolute",top:0,insetInlineEnd:n.paddingInline,bottom:0,zIndex:1,display:"inline-flex",alignItems:"center",margin:"auto",pointerEvents:"none"}}}}}},nBe=n=>{const{componentCls:e}=n;return{[`${e}-out-of-range`]:{[`&, & input, & textarea, ${e}-show-count-suffix, ${e}-data-count`]:{color:n.colorError}}}},fO=Ho("Input",n=>{const e=Ui(n,vE(n));return[jOe(e),tBe(e),$Oe(e),qOe(e),eBe(e),nBe(e),QL(e)]},yE,{resetFont:!1}),gO=(n,e)=>{const{componentCls:t,controlHeight:i}=n,r=e?`${t}-${e}`:"",o=pse(n);return[{[`${t}-multiple${r}`]:{paddingBlock:o.containerPadding,paddingInlineStart:o.basePadding,minHeight:i,[`${t}-selection-item`]:{height:o.itemHeight,lineHeight:Ee(o.itemLineHeight)}}}]},iBe=n=>{const{componentCls:e,calc:t,lineWidth:i}=n,r=Ui(n,{fontHeight:n.fontSize,selectHeight:n.controlHeightSM,multipleSelectItemHeight:n.multipleItemHeightSM,borderRadius:n.borderRadiusSM,borderRadiusSM:n.borderRadiusXS,controlHeight:n.controlHeightSM}),o=Ui(n,{fontHeight:t(n.multipleItemHeightLG).sub(t(i).mul(2).equal()).equal(),fontSize:n.fontSizeLG,selectHeight:n.controlHeightLG,multipleSelectItemHeight:n.multipleItemHeightLG,borderRadius:n.borderRadiusLG,borderRadiusSM:n.borderRadius,controlHeight:n.controlHeightLG});return[gO(r,"small"),gO(n),gO(o,"large"),{[`${e}${e}-multiple`]:Object.assign(Object.assign({width:"100%",cursor:"text",[`${e}-selector`]:{flex:"auto",padding:0,position:"relative","&:after":{margin:0},[`${e}-selection-placeholder`]:{position:"absolute",top:"50%",insetInlineStart:n.inputPaddingHorizontalBase,insetInlineEnd:0,transform:"translateY(-50%)",transition:`all ${n.motionDurationSlow}`,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",flex:1,color:n.colorTextPlaceholder,pointerEvents:"none"}}},bse(n)),{[`${e}-multiple-input`]:{width:0,height:0,border:0,visibility:"hidden",position:"absolute",zIndex:-1}})}]},rBe=n=>{const{pickerCellCls:e,pickerCellInnerCls:t,cellHeight:i,borderRadiusSM:r,motionDurationMid:o,cellHoverBg:s,lineWidth:a,lineType:l,colorPrimary:u,cellActiveWithRangeBg:c,colorTextLightSolid:d,colorTextDisabled:h,cellBgDisabled:m,colorFillSecondary:f}=n;return{"&::before":{position:"absolute",top:"50%",insetInlineStart:0,insetInlineEnd:0,zIndex:1,height:i,transform:"translateY(-50%)",content:'""'},[t]:{position:"relative",zIndex:2,display:"inline-block",minWidth:i,height:i,lineHeight:Ee(i),borderRadius:r,transition:`background ${o}`},[`&:hover:not(${e}-in-view), + ${e}-affix-wrapper`]:{"&:hover,&:focus,&:active":{zIndex:2}},[`> ${e}-affix-wrapper-focused`]:{zIndex:2}}}}},tBe=n=>{const{componentCls:e,paddingLG:t}=n,i=`${e}-textarea`;return{[i]:{position:"relative","&-show-count":{[`> ${e}`]:{height:"100%"},[`${e}-data-count`]:{position:"absolute",bottom:n.calc(n.fontSize).mul(n.lineHeight).mul(-1).equal(),insetInlineEnd:0,color:n.colorTextDescription,whiteSpace:"nowrap",pointerEvents:"none"}},"&-allow-clear":{[`> ${e}`]:{paddingInlineEnd:t}},[`&-affix-wrapper${i}-has-feedback`]:{[`${e}`]:{paddingInlineEnd:t}},[`&-affix-wrapper${e}-affix-wrapper`]:{padding:0,[`> textarea${e}`]:{fontSize:"inherit",border:"none",outline:"none",background:"transparent","&:focus":{boxShadow:"none !important"}},[`${e}-suffix`]:{margin:0,"> *:not(:last-child)":{marginInline:0},[`${e}-clear-icon`]:{position:"absolute",insetInlineEnd:n.paddingXS,insetBlockStart:n.paddingXS},[`${i}-suffix`]:{position:"absolute",top:0,insetInlineEnd:n.paddingInline,bottom:0,zIndex:1,display:"inline-flex",alignItems:"center",margin:"auto",pointerEvents:"none"}}}}}},nBe=n=>{const{componentCls:e}=n;return{[`${e}-out-of-range`]:{[`&, & input, & textarea, ${e}-show-count-suffix, ${e}-data-count`]:{color:n.colorError}}}},fO=Ho("Input",n=>{const e=Yi(n,yE(n));return[jOe(e),tBe(e),$Oe(e),qOe(e),eBe(e),nBe(e),Q_(e)]},vE,{resetFont:!1}),gO=(n,e)=>{const{componentCls:t,controlHeight:i}=n,r=e?`${t}-${e}`:"",o=pse(n);return[{[`${t}-multiple${r}`]:{paddingBlock:o.containerPadding,paddingInlineStart:o.basePadding,minHeight:i,[`${t}-selection-item`]:{height:o.itemHeight,lineHeight:Ee(o.itemLineHeight)}}}]},iBe=n=>{const{componentCls:e,calc:t,lineWidth:i}=n,r=Yi(n,{fontHeight:n.fontSize,selectHeight:n.controlHeightSM,multipleSelectItemHeight:n.multipleItemHeightSM,borderRadius:n.borderRadiusSM,borderRadiusSM:n.borderRadiusXS,controlHeight:n.controlHeightSM}),o=Yi(n,{fontHeight:t(n.multipleItemHeightLG).sub(t(i).mul(2).equal()).equal(),fontSize:n.fontSizeLG,selectHeight:n.controlHeightLG,multipleSelectItemHeight:n.multipleItemHeightLG,borderRadius:n.borderRadiusLG,borderRadiusSM:n.borderRadius,controlHeight:n.controlHeightLG});return[gO(r,"small"),gO(n),gO(o,"large"),{[`${e}${e}-multiple`]:Object.assign(Object.assign({width:"100%",cursor:"text",[`${e}-selector`]:{flex:"auto",padding:0,position:"relative","&:after":{margin:0},[`${e}-selection-placeholder`]:{position:"absolute",top:"50%",insetInlineStart:n.inputPaddingHorizontalBase,insetInlineEnd:0,transform:"translateY(-50%)",transition:`all ${n.motionDurationSlow}`,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",flex:1,color:n.colorTextPlaceholder,pointerEvents:"none"}}},bse(n)),{[`${e}-multiple-input`]:{width:0,height:0,border:0,visibility:"hidden",position:"absolute",zIndex:-1}})}]},rBe=n=>{const{pickerCellCls:e,pickerCellInnerCls:t,cellHeight:i,borderRadiusSM:r,motionDurationMid:o,cellHoverBg:s,lineWidth:a,lineType:l,colorPrimary:u,cellActiveWithRangeBg:c,colorTextLightSolid:d,colorTextDisabled:h,cellBgDisabled:m,colorFillSecondary:f}=n;return{"&::before":{position:"absolute",top:"50%",insetInlineStart:0,insetInlineEnd:0,zIndex:1,height:i,transform:"translateY(-50%)",content:'""'},[t]:{position:"relative",zIndex:2,display:"inline-block",minWidth:i,height:i,lineHeight:Ee(i),borderRadius:r,transition:`background ${o}`},[`&:hover:not(${e}-in-view), &:hover:not(${e}-selected):not(${e}-range-start):not(${e}-range-end)`]:{[t]:{background:s}},[`&-in-view${e}-today ${t}`]:{"&::before":{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,zIndex:1,border:`${Ee(a)} ${l} ${u}`,borderRadius:r,content:'""'}},[`&-in-view${e}-in-range, &-in-view${e}-range-start, &-in-view${e}-range-end`]:{position:"relative",[`&:not(${e}-disabled):before`]:{background:c}},[`&-in-view${e}-selected, &-in-view${e}-range-start, - &-in-view${e}-range-end`]:{[`&:not(${e}-disabled) ${t}`]:{color:d,background:u},[`&${e}-disabled ${t}`]:{background:f}},[`&-in-view${e}-range-start:not(${e}-disabled):before`]:{insetInlineStart:"50%"},[`&-in-view${e}-range-end:not(${e}-disabled):before`]:{insetInlineEnd:"50%"},[`&-in-view${e}-range-start:not(${e}-range-end) ${t}`]:{borderStartStartRadius:r,borderEndStartRadius:r,borderStartEndRadius:0,borderEndEndRadius:0},[`&-in-view${e}-range-end:not(${e}-range-start) ${t}`]:{borderStartStartRadius:0,borderEndStartRadius:0,borderStartEndRadius:r,borderEndEndRadius:r},"&-disabled":{color:h,pointerEvents:"none",[t]:{background:"transparent"},"&::before":{background:m}},[`&-disabled${e}-today ${t}::before`]:{borderColor:h}}},oBe=n=>{const{componentCls:e,pickerCellCls:t,pickerCellInnerCls:i,pickerYearMonthCellWidth:r,pickerControlIconSize:o,cellWidth:s,paddingSM:a,paddingXS:l,paddingXXS:u,colorBgContainer:c,lineWidth:d,lineType:h,borderRadiusLG:m,colorPrimary:f,colorTextHeading:g,colorSplit:b,pickerControlIconBorderWidth:v,colorIcon:C,textHeight:S,motionDurationMid:x,colorIconHover:_,fontWeightStrong:F,cellHeight:D,pickerCellPaddingVertical:M,colorTextDisabled:T,colorText:Z,fontSize:E,motionDurationSlow:R,withoutTimeCellHeight:W,pickerQuarterPanelContentHeight:A,borderRadiusSM:z,colorTextLightSolid:O,cellHoverBg:B,timeColumnHeight:P,timeColumnWidth:H,timeCellHeight:k,controlItemBgActive:X,marginXXS:Y,pickerDatePanelPaddingHorizontal:V,pickerControlIconMargin:te}=n,oe=n.calc(s).mul(7).add(n.calc(V).mul(2)).equal();return{[e]:{"&-panel":{display:"inline-flex",flexDirection:"column",textAlign:"center",background:c,borderRadius:m,outline:"none","&-focused":{borderColor:f},"&-rtl":{direction:"rtl",[`${e}-prev-icon, + &-in-view${e}-range-end`]:{[`&:not(${e}-disabled) ${t}`]:{color:d,background:u},[`&${e}-disabled ${t}`]:{background:f}},[`&-in-view${e}-range-start:not(${e}-disabled):before`]:{insetInlineStart:"50%"},[`&-in-view${e}-range-end:not(${e}-disabled):before`]:{insetInlineEnd:"50%"},[`&-in-view${e}-range-start:not(${e}-range-end) ${t}`]:{borderStartStartRadius:r,borderEndStartRadius:r,borderStartEndRadius:0,borderEndEndRadius:0},[`&-in-view${e}-range-end:not(${e}-range-start) ${t}`]:{borderStartStartRadius:0,borderEndStartRadius:0,borderStartEndRadius:r,borderEndEndRadius:r},"&-disabled":{color:h,pointerEvents:"none",[t]:{background:"transparent"},"&::before":{background:m}},[`&-disabled${e}-today ${t}::before`]:{borderColor:h}}},oBe=n=>{const{componentCls:e,pickerCellCls:t,pickerCellInnerCls:i,pickerYearMonthCellWidth:r,pickerControlIconSize:o,cellWidth:s,paddingSM:a,paddingXS:l,paddingXXS:u,colorBgContainer:c,lineWidth:d,lineType:h,borderRadiusLG:m,colorPrimary:f,colorTextHeading:g,colorSplit:b,pickerControlIconBorderWidth:y,colorIcon:C,textHeight:w,motionDurationMid:x,colorIconHover:L,fontWeightStrong:I,cellHeight:D,pickerCellPaddingVertical:N,colorTextDisabled:T,colorText:R,fontSize:E,motionDurationSlow:W,withoutTimeCellHeight:Z,pickerQuarterPanelContentHeight:V,borderRadiusSM:z,colorTextLightSolid:O,cellHoverBg:B,timeColumnHeight:P,timeColumnWidth:H,timeCellHeight:M,controlItemBgActive:X,marginXXS:Y,pickerDatePanelPaddingHorizontal:A,pickerControlIconMargin:te}=n,oe=n.calc(s).mul(7).add(n.calc(A).mul(2)).equal();return{[e]:{"&-panel":{display:"inline-flex",flexDirection:"column",textAlign:"center",background:c,borderRadius:m,outline:"none","&-focused":{borderColor:f},"&-rtl":{direction:"rtl",[`${e}-prev-icon, ${e}-super-prev-icon`]:{transform:"rotate(45deg)"},[`${e}-next-icon, - ${e}-super-next-icon`]:{transform:"rotate(-135deg)"}}},"&-decade-panel,\n &-year-panel,\n &-quarter-panel,\n &-month-panel,\n &-week-panel,\n &-date-panel,\n &-time-panel":{display:"flex",flexDirection:"column",width:oe},"&-header":{display:"flex",padding:`0 ${Ee(l)}`,color:g,borderBottom:`${Ee(d)} ${h} ${b}`,"> *":{flex:"none"},button:{padding:0,color:C,lineHeight:Ee(S),background:"transparent",border:0,cursor:"pointer",transition:`color ${x}`,fontSize:"inherit"},"> button":{minWidth:"1.6em",fontSize:E,"&:hover":{color:_},"&:disabled":{opacity:.25,pointerEvents:"none"}},"&-view":{flex:"auto",fontWeight:F,lineHeight:Ee(S),button:{color:"inherit",fontWeight:"inherit",verticalAlign:"top","&:not(:first-child)":{marginInlineStart:l},"&:hover":{color:f}}}},"&-prev-icon,\n &-next-icon,\n &-super-prev-icon,\n &-super-next-icon":{position:"relative",display:"inline-block",width:o,height:o,"&::before":{position:"absolute",top:0,insetInlineStart:0,display:"inline-block",width:o,height:o,border:"0 solid currentcolor",borderBlockStartWidth:v,borderBlockEndWidth:0,borderInlineStartWidth:v,borderInlineEndWidth:0,content:'""'}},"&-super-prev-icon,\n &-super-next-icon":{"&::after":{position:"absolute",top:te,insetInlineStart:te,display:"inline-block",width:o,height:o,border:"0 solid currentcolor",borderBlockStartWidth:v,borderBlockEndWidth:0,borderInlineStartWidth:v,borderInlineEndWidth:0,content:'""'}},"&-prev-icon,\n &-super-prev-icon":{transform:"rotate(-45deg)"},"&-next-icon,\n &-super-next-icon":{transform:"rotate(135deg)"},"&-content":{width:"100%",tableLayout:"fixed",borderCollapse:"collapse","th, td":{position:"relative",minWidth:D,fontWeight:"normal"},th:{height:n.calc(D).add(n.calc(M).mul(2)).equal(),color:Z,verticalAlign:"middle"}},"&-cell":Object.assign({padding:`${Ee(M)} 0`,color:T,cursor:"pointer","&-in-view":{color:Z}},rBe(n)),"&-decade-panel,\n &-year-panel,\n &-quarter-panel,\n &-month-panel":{[`${e}-content`]:{height:n.calc(W).mul(4).equal()},[i]:{padding:`0 ${Ee(l)}`}},"&-quarter-panel":{[`${e}-content`]:{height:A}},"&-decade-panel":{[i]:{padding:`0 ${Ee(n.calc(l).div(2).equal())}`},[`${e}-cell::before`]:{display:"none"}},"&-year-panel,\n &-quarter-panel,\n &-month-panel":{[`${e}-body`]:{padding:`0 ${Ee(l)}`},[i]:{width:r}},"&-date-panel":{[`${e}-body`]:{padding:`${Ee(l)} ${Ee(V)}`},[`${e}-content th`]:{boxSizing:"border-box",padding:0}},"&-week-panel":{[`${e}-cell`]:{[`&:hover ${i}, + ${e}-super-next-icon`]:{transform:"rotate(-135deg)"}}},"&-decade-panel,\n &-year-panel,\n &-quarter-panel,\n &-month-panel,\n &-week-panel,\n &-date-panel,\n &-time-panel":{display:"flex",flexDirection:"column",width:oe},"&-header":{display:"flex",padding:`0 ${Ee(l)}`,color:g,borderBottom:`${Ee(d)} ${h} ${b}`,"> *":{flex:"none"},button:{padding:0,color:C,lineHeight:Ee(w),background:"transparent",border:0,cursor:"pointer",transition:`color ${x}`,fontSize:"inherit"},"> button":{minWidth:"1.6em",fontSize:E,"&:hover":{color:L},"&:disabled":{opacity:.25,pointerEvents:"none"}},"&-view":{flex:"auto",fontWeight:I,lineHeight:Ee(w),button:{color:"inherit",fontWeight:"inherit",verticalAlign:"top","&:not(:first-child)":{marginInlineStart:l},"&:hover":{color:f}}}},"&-prev-icon,\n &-next-icon,\n &-super-prev-icon,\n &-super-next-icon":{position:"relative",display:"inline-block",width:o,height:o,"&::before":{position:"absolute",top:0,insetInlineStart:0,display:"inline-block",width:o,height:o,border:"0 solid currentcolor",borderBlockStartWidth:y,borderBlockEndWidth:0,borderInlineStartWidth:y,borderInlineEndWidth:0,content:'""'}},"&-super-prev-icon,\n &-super-next-icon":{"&::after":{position:"absolute",top:te,insetInlineStart:te,display:"inline-block",width:o,height:o,border:"0 solid currentcolor",borderBlockStartWidth:y,borderBlockEndWidth:0,borderInlineStartWidth:y,borderInlineEndWidth:0,content:'""'}},"&-prev-icon,\n &-super-prev-icon":{transform:"rotate(-45deg)"},"&-next-icon,\n &-super-next-icon":{transform:"rotate(135deg)"},"&-content":{width:"100%",tableLayout:"fixed",borderCollapse:"collapse","th, td":{position:"relative",minWidth:D,fontWeight:"normal"},th:{height:n.calc(D).add(n.calc(N).mul(2)).equal(),color:R,verticalAlign:"middle"}},"&-cell":Object.assign({padding:`${Ee(N)} 0`,color:T,cursor:"pointer","&-in-view":{color:R}},rBe(n)),"&-decade-panel,\n &-year-panel,\n &-quarter-panel,\n &-month-panel":{[`${e}-content`]:{height:n.calc(Z).mul(4).equal()},[i]:{padding:`0 ${Ee(l)}`}},"&-quarter-panel":{[`${e}-content`]:{height:V}},"&-decade-panel":{[i]:{padding:`0 ${Ee(n.calc(l).div(2).equal())}`},[`${e}-cell::before`]:{display:"none"}},"&-year-panel,\n &-quarter-panel,\n &-month-panel":{[`${e}-body`]:{padding:`0 ${Ee(l)}`},[i]:{width:r}},"&-date-panel":{[`${e}-body`]:{padding:`${Ee(l)} ${Ee(A)}`},[`${e}-content th`]:{boxSizing:"border-box",padding:0}},"&-week-panel":{[`${e}-cell`]:{[`&:hover ${i}, &-selected ${i}, ${i}`]:{background:"transparent !important"}},"&-row":{td:{"&:before":{transition:`background ${x}`},"&:first-child:before":{borderStartStartRadius:z,borderEndStartRadius:z},"&:last-child:before":{borderStartEndRadius:z,borderEndEndRadius:z}},"&:hover td":{"&:before":{background:B}},"&-range-start td,\n &-range-end td,\n &-selected td,\n &-hover td":{[`&${t}`]:{"&:before":{background:f},[`&${e}-cell-week`]:{color:new zo(O).setAlpha(.5).toHexString()},[i]:{color:O}}},"&-range-hover td:before":{background:X}}},"&-week-panel, &-date-panel-show-week":{[`${e}-body`]:{padding:`${Ee(l)} ${Ee(a)}`},[`${e}-content th`]:{width:"auto"}},"&-datetime-panel":{display:"flex",[`${e}-time-panel`]:{borderInlineStart:`${Ee(d)} ${h} ${b}`},[`${e}-date-panel, - ${e}-time-panel`]:{transition:`opacity ${R}`},"&-active":{[`${e}-date-panel, - ${e}-time-panel`]:{opacity:.3,"&-active":{opacity:1}}}},"&-time-panel":{width:"auto",minWidth:"auto",direction:"ltr",[`${e}-content`]:{display:"flex",flex:"auto",height:P},"&-column":{flex:"1 0 auto",width:H,margin:`${Ee(u)} 0`,padding:0,overflowY:"hidden",textAlign:"start",listStyle:"none",transition:`background ${x}`,overflowX:"hidden","&::-webkit-scrollbar":{width:8,backgroundColor:"transparent"},"&::-webkit-scrollbar-thumb":{backgroundColor:n.colorTextTertiary,borderRadius:n.borderRadiusSM},"&":{scrollbarWidth:"thin",scrollbarColor:`${n.colorTextTertiary} transparent`},"&::after":{display:"block",height:n.calc("100%").sub(k).equal(),content:'""'},"&:not(:first-child)":{borderInlineStart:`${Ee(d)} ${h} ${b}`},"&-active":{background:new zo(X).setAlpha(.2).toHexString()},"&:hover":{overflowY:"auto"},"> li":{margin:0,padding:0,[`&${e}-time-panel-cell`]:{marginInline:Y,[`${e}-time-panel-cell-inner`]:{display:"block",width:n.calc(H).sub(n.calc(Y).mul(2)).equal(),height:k,margin:0,paddingBlock:0,paddingInlineEnd:0,paddingInlineStart:n.calc(H).sub(k).div(2).equal(),color:Z,lineHeight:Ee(k),borderRadius:z,cursor:"pointer",transition:`background ${x}`,"&:hover":{background:B}},"&-selected":{[`${e}-time-panel-cell-inner`]:{background:X}},"&-disabled":{[`${e}-time-panel-cell-inner`]:{color:T,background:"transparent",cursor:"not-allowed"}}}}}}}}},sBe=n=>{const{componentCls:e,textHeight:t,lineWidth:i,paddingSM:r,antCls:o,colorPrimary:s,cellActiveWithRangeBg:a,colorPrimaryBorder:l,lineType:u,colorSplit:c}=n;return{[`${e}-dropdown`]:{[`${e}-footer`]:{borderTop:`${Ee(i)} ${u} ${c}`,"&-extra":{padding:`0 ${Ee(r)}`,lineHeight:Ee(n.calc(t).sub(n.calc(i).mul(2)).equal()),textAlign:"start","&:not(:last-child)":{borderBottom:`${Ee(i)} ${u} ${c}`}}},[`${e}-panels + ${e}-footer ${e}-ranges`]:{justifyContent:"space-between"},[`${e}-ranges`]:{marginBlock:0,paddingInline:Ee(r),overflow:"hidden",textAlign:"start",listStyle:"none",display:"flex",justifyContent:"center",alignItems:"center","> li":{lineHeight:Ee(n.calc(t).sub(n.calc(i).mul(2)).equal()),display:"inline-block"},[`${e}-now-btn-disabled`]:{pointerEvents:"none",color:n.colorTextDisabled},[`${e}-preset > ${o}-tag-blue`]:{color:s,background:a,borderColor:l,cursor:"pointer"},[`${e}-ok`]:{paddingBlock:n.calc(i).mul(2).equal(),marginInlineStart:"auto"}}}}},aBe=n=>{const{componentCls:e,controlHeightLG:t,paddingXXS:i,padding:r}=n;return{pickerCellCls:`${e}-cell`,pickerCellInnerCls:`${e}-cell-inner`,pickerYearMonthCellWidth:n.calc(t).mul(1.5).equal(),pickerQuarterPanelContentHeight:n.calc(t).mul(1.4).equal(),pickerCellPaddingVertical:n.calc(i).add(n.calc(i).div(2)).equal(),pickerCellBorderGap:2,pickerControlIconSize:7,pickerControlIconMargin:4,pickerControlIconBorderWidth:1.5,pickerDatePanelPaddingHorizontal:n.calc(r).add(n.calc(i).div(2)).equal()}},lBe=n=>{const{colorBgContainerDisabled:e,controlHeight:t,controlHeightSM:i,controlHeightLG:r,paddingXXS:o,lineWidth:s}=n,a=o*2,l=s*2,u=Math.min(t-a,t-l),c=Math.min(i-a,i-l),d=Math.min(r-a,r-l);return{INTERNAL_FIXED_ITEM_MARGIN:Math.floor(o/2),cellHoverBg:n.controlItemBgHover,cellActiveWithRangeBg:n.controlItemBgActive,cellHoverWithRangeBg:new zo(n.colorPrimary).lighten(35).toHexString(),cellRangeBorderColor:new zo(n.colorPrimary).lighten(20).toHexString(),cellBgDisabled:e,timeColumnWidth:r*1.4,timeColumnHeight:28*8,timeCellHeight:28,cellWidth:i*1.5,cellHeight:i,textHeight:r,withoutTimeCellHeight:r*1.65,multipleItemBg:n.colorFillSecondary,multipleItemBorderColor:"transparent",multipleItemHeight:u,multipleItemHeightSM:c,multipleItemHeightLG:d,multipleSelectorBgDisabled:e,multipleItemColorDisabled:n.colorTextDisabled,multipleItemBorderColorDisabled:"transparent"}},uBe=n=>Object.assign(Object.assign(Object.assign(Object.assign({},yE(n)),lBe(n)),YT(n)),{presetsWidth:120,presetsMaxWidth:200,zIndexPopup:n.zIndexPopupBase+50}),cBe=n=>{const{componentCls:e}=n;return{[e]:[Object.assign(Object.assign(Object.assign({},cO(n)),hO(n)),dO(n)),{"&-outlined":{[`&${e}-multiple ${e}-selection-item`]:{background:n.multipleItemBg,border:`${Ee(n.lineWidth)} ${n.lineType} ${n.multipleItemBorderColor}`}},"&-filled":{[`&${e}-multiple ${e}-selection-item`]:{background:n.colorBgContainer,border:`${Ee(n.lineWidth)} ${n.lineType} ${n.colorSplit}`}},"&-borderless":{[`&${e}-multiple ${e}-selection-item`]:{background:n.multipleItemBg,border:`${Ee(n.lineWidth)} ${n.lineType} ${n.multipleItemBorderColor}`}}}]}},pO=(n,e,t,i)=>{const r=n.calc(t).add(2).equal(),o=n.max(n.calc(e).sub(r).div(2).equal(),0),s=n.max(n.calc(e).sub(r).sub(o).equal(),0);return{padding:`${Ee(o)} ${Ee(i)} ${Ee(s)}`}},dBe=n=>{const{componentCls:e,colorError:t,colorWarning:i}=n;return{[`${e}:not(${e}-disabled):not([disabled])`]:{[`&${e}-status-error`]:{[`${e}-active-bar`]:{background:t}},[`&${e}-status-warning`]:{[`${e}-active-bar`]:{background:i}}}}},hBe=n=>{const{componentCls:e,antCls:t,controlHeight:i,paddingInline:r,lineWidth:o,lineType:s,colorBorder:a,borderRadius:l,motionDurationMid:u,colorTextDisabled:c,colorTextPlaceholder:d,controlHeightLG:h,fontSizeLG:m,controlHeightSM:f,paddingInlineSM:g,paddingXS:b,marginXS:v,colorTextDescription:C,lineWidthBold:S,colorPrimary:x,motionDurationSlow:_,zIndexPopup:F,paddingXXS:D,sizePopupArrow:M,colorBgElevated:T,borderRadiusLG:Z,boxShadowSecondary:E,borderRadiusSM:R,colorSplit:W,cellHoverBg:A,presetsWidth:z,presetsMaxWidth:O,boxShadowPopoverArrow:B,fontHeight:P,fontHeightLG:H,lineHeightLG:k}=n;return[{[e]:Object.assign(Object.assign(Object.assign({},uo(n)),pO(n,i,P,r)),{position:"relative",display:"inline-flex",alignItems:"center",lineHeight:1,borderRadius:l,transition:`border ${u}, box-shadow ${u}, background ${u}`,[`${e}-input`]:{position:"relative",display:"inline-flex",alignItems:"center",width:"100%","> input":Object.assign(Object.assign({position:"relative",display:"inline-block",width:"100%",color:"inherit",fontSize:n.fontSize,lineHeight:n.lineHeight,transition:`all ${u}`},mO(d)),{flex:"auto",minWidth:1,height:"auto",padding:0,background:"transparent",border:0,fontFamily:"inherit","&:focus":{boxShadow:"none",outline:0},"&[disabled]":{background:"transparent",color:c,cursor:"not-allowed"}}),"&-placeholder":{"> input":{color:d}}},"&-large":Object.assign(Object.assign({},pO(n,h,H,r)),{[`${e}-input > input`]:{fontSize:m,lineHeight:k}}),"&-small":Object.assign({},pO(n,f,P,g)),[`${e}-suffix`]:{display:"flex",flex:"none",alignSelf:"center",marginInlineStart:n.calc(b).div(2).equal(),color:c,lineHeight:1,pointerEvents:"none",transition:`opacity ${u}, color ${u}`,"> *":{verticalAlign:"top","&:not(:last-child)":{marginInlineEnd:v}}},[`${e}-clear`]:{position:"absolute",top:"50%",insetInlineEnd:0,color:c,lineHeight:1,transform:"translateY(-50%)",cursor:"pointer",opacity:0,transition:`opacity ${u}, color ${u}`,"> *":{verticalAlign:"top"},"&:hover":{color:C}},"&:hover":{[`${e}-clear`]:{opacity:1},[`${e}-suffix:not(:last-child)`]:{opacity:0}},[`${e}-separator`]:{position:"relative",display:"inline-block",width:"1em",height:m,color:c,fontSize:m,verticalAlign:"top",cursor:"default",[`${e}-focused &`]:{color:C},[`${e}-range-separator &`]:{[`${e}-disabled &`]:{cursor:"not-allowed"}}},"&-range":{position:"relative",display:"inline-flex",[`${e}-active-bar`]:{bottom:n.calc(o).mul(-1).equal(),height:S,background:x,opacity:0,transition:`all ${_} ease-out`,pointerEvents:"none"},[`&${e}-focused`]:{[`${e}-active-bar`]:{opacity:1}},[`${e}-range-separator`]:{alignItems:"center",padding:`0 ${Ee(b)}`,lineHeight:1}},"&-range, &-multiple":{[`${e}-clear`]:{insetInlineEnd:r},[`&${e}-small`]:{[`${e}-clear`]:{insetInlineEnd:g}}},"&-dropdown":Object.assign(Object.assign(Object.assign({},uo(n)),oBe(n)),{pointerEvents:"none",position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:F,[`&${e}-dropdown-hidden`]:{display:"none"},[`&${e}-dropdown-placement-bottomLeft`]:{[`${e}-range-arrow`]:{top:0,display:"block",transform:"translateY(-100%)"}},[`&${e}-dropdown-placement-topLeft`]:{[`${e}-range-arrow`]:{bottom:0,display:"block",transform:"translateY(100%) rotate(180deg)"}},[`&${t}-slide-up-enter${t}-slide-up-enter-active${e}-dropdown-placement-topLeft, + ${e}-time-panel`]:{transition:`opacity ${W}`},"&-active":{[`${e}-date-panel, + ${e}-time-panel`]:{opacity:.3,"&-active":{opacity:1}}}},"&-time-panel":{width:"auto",minWidth:"auto",direction:"ltr",[`${e}-content`]:{display:"flex",flex:"auto",height:P},"&-column":{flex:"1 0 auto",width:H,margin:`${Ee(u)} 0`,padding:0,overflowY:"hidden",textAlign:"start",listStyle:"none",transition:`background ${x}`,overflowX:"hidden","&::-webkit-scrollbar":{width:8,backgroundColor:"transparent"},"&::-webkit-scrollbar-thumb":{backgroundColor:n.colorTextTertiary,borderRadius:n.borderRadiusSM},"&":{scrollbarWidth:"thin",scrollbarColor:`${n.colorTextTertiary} transparent`},"&::after":{display:"block",height:n.calc("100%").sub(M).equal(),content:'""'},"&:not(:first-child)":{borderInlineStart:`${Ee(d)} ${h} ${b}`},"&-active":{background:new zo(X).setAlpha(.2).toHexString()},"&:hover":{overflowY:"auto"},"> li":{margin:0,padding:0,[`&${e}-time-panel-cell`]:{marginInline:Y,[`${e}-time-panel-cell-inner`]:{display:"block",width:n.calc(H).sub(n.calc(Y).mul(2)).equal(),height:M,margin:0,paddingBlock:0,paddingInlineEnd:0,paddingInlineStart:n.calc(H).sub(M).div(2).equal(),color:R,lineHeight:Ee(M),borderRadius:z,cursor:"pointer",transition:`background ${x}`,"&:hover":{background:B}},"&-selected":{[`${e}-time-panel-cell-inner`]:{background:X}},"&-disabled":{[`${e}-time-panel-cell-inner`]:{color:T,background:"transparent",cursor:"not-allowed"}}}}}}}}},sBe=n=>{const{componentCls:e,textHeight:t,lineWidth:i,paddingSM:r,antCls:o,colorPrimary:s,cellActiveWithRangeBg:a,colorPrimaryBorder:l,lineType:u,colorSplit:c}=n;return{[`${e}-dropdown`]:{[`${e}-footer`]:{borderTop:`${Ee(i)} ${u} ${c}`,"&-extra":{padding:`0 ${Ee(r)}`,lineHeight:Ee(n.calc(t).sub(n.calc(i).mul(2)).equal()),textAlign:"start","&:not(:last-child)":{borderBottom:`${Ee(i)} ${u} ${c}`}}},[`${e}-panels + ${e}-footer ${e}-ranges`]:{justifyContent:"space-between"},[`${e}-ranges`]:{marginBlock:0,paddingInline:Ee(r),overflow:"hidden",textAlign:"start",listStyle:"none",display:"flex",justifyContent:"center",alignItems:"center","> li":{lineHeight:Ee(n.calc(t).sub(n.calc(i).mul(2)).equal()),display:"inline-block"},[`${e}-now-btn-disabled`]:{pointerEvents:"none",color:n.colorTextDisabled},[`${e}-preset > ${o}-tag-blue`]:{color:s,background:a,borderColor:l,cursor:"pointer"},[`${e}-ok`]:{paddingBlock:n.calc(i).mul(2).equal(),marginInlineStart:"auto"}}}}},aBe=n=>{const{componentCls:e,controlHeightLG:t,paddingXXS:i,padding:r}=n;return{pickerCellCls:`${e}-cell`,pickerCellInnerCls:`${e}-cell-inner`,pickerYearMonthCellWidth:n.calc(t).mul(1.5).equal(),pickerQuarterPanelContentHeight:n.calc(t).mul(1.4).equal(),pickerCellPaddingVertical:n.calc(i).add(n.calc(i).div(2)).equal(),pickerCellBorderGap:2,pickerControlIconSize:7,pickerControlIconMargin:4,pickerControlIconBorderWidth:1.5,pickerDatePanelPaddingHorizontal:n.calc(r).add(n.calc(i).div(2)).equal()}},lBe=n=>{const{colorBgContainerDisabled:e,controlHeight:t,controlHeightSM:i,controlHeightLG:r,paddingXXS:o,lineWidth:s}=n,a=o*2,l=s*2,u=Math.min(t-a,t-l),c=Math.min(i-a,i-l),d=Math.min(r-a,r-l);return{INTERNAL_FIXED_ITEM_MARGIN:Math.floor(o/2),cellHoverBg:n.controlItemBgHover,cellActiveWithRangeBg:n.controlItemBgActive,cellHoverWithRangeBg:new zo(n.colorPrimary).lighten(35).toHexString(),cellRangeBorderColor:new zo(n.colorPrimary).lighten(20).toHexString(),cellBgDisabled:e,timeColumnWidth:r*1.4,timeColumnHeight:28*8,timeCellHeight:28,cellWidth:i*1.5,cellHeight:i,textHeight:r,withoutTimeCellHeight:r*1.65,multipleItemBg:n.colorFillSecondary,multipleItemBorderColor:"transparent",multipleItemHeight:u,multipleItemHeightSM:c,multipleItemHeightLG:d,multipleSelectorBgDisabled:e,multipleItemColorDisabled:n.colorTextDisabled,multipleItemBorderColorDisabled:"transparent"}},uBe=n=>Object.assign(Object.assign(Object.assign(Object.assign({},vE(n)),lBe(n)),YT(n)),{presetsWidth:120,presetsMaxWidth:200,zIndexPopup:n.zIndexPopupBase+50}),cBe=n=>{const{componentCls:e}=n;return{[e]:[Object.assign(Object.assign(Object.assign({},cO(n)),hO(n)),dO(n)),{"&-outlined":{[`&${e}-multiple ${e}-selection-item`]:{background:n.multipleItemBg,border:`${Ee(n.lineWidth)} ${n.lineType} ${n.multipleItemBorderColor}`}},"&-filled":{[`&${e}-multiple ${e}-selection-item`]:{background:n.colorBgContainer,border:`${Ee(n.lineWidth)} ${n.lineType} ${n.colorSplit}`}},"&-borderless":{[`&${e}-multiple ${e}-selection-item`]:{background:n.multipleItemBg,border:`${Ee(n.lineWidth)} ${n.lineType} ${n.multipleItemBorderColor}`}}}]}},pO=(n,e,t,i)=>{const r=n.calc(t).add(2).equal(),o=n.max(n.calc(e).sub(r).div(2).equal(),0),s=n.max(n.calc(e).sub(r).sub(o).equal(),0);return{padding:`${Ee(o)} ${Ee(i)} ${Ee(s)}`}},dBe=n=>{const{componentCls:e,colorError:t,colorWarning:i}=n;return{[`${e}:not(${e}-disabled):not([disabled])`]:{[`&${e}-status-error`]:{[`${e}-active-bar`]:{background:t}},[`&${e}-status-warning`]:{[`${e}-active-bar`]:{background:i}}}}},hBe=n=>{const{componentCls:e,antCls:t,controlHeight:i,paddingInline:r,lineWidth:o,lineType:s,colorBorder:a,borderRadius:l,motionDurationMid:u,colorTextDisabled:c,colorTextPlaceholder:d,controlHeightLG:h,fontSizeLG:m,controlHeightSM:f,paddingInlineSM:g,paddingXS:b,marginXS:y,colorTextDescription:C,lineWidthBold:w,colorPrimary:x,motionDurationSlow:L,zIndexPopup:I,paddingXXS:D,sizePopupArrow:N,colorBgElevated:T,borderRadiusLG:R,boxShadowSecondary:E,borderRadiusSM:W,colorSplit:Z,cellHoverBg:V,presetsWidth:z,presetsMaxWidth:O,boxShadowPopoverArrow:B,fontHeight:P,fontHeightLG:H,lineHeightLG:M}=n;return[{[e]:Object.assign(Object.assign(Object.assign({},uo(n)),pO(n,i,P,r)),{position:"relative",display:"inline-flex",alignItems:"center",lineHeight:1,borderRadius:l,transition:`border ${u}, box-shadow ${u}, background ${u}`,[`${e}-input`]:{position:"relative",display:"inline-flex",alignItems:"center",width:"100%","> input":Object.assign(Object.assign({position:"relative",display:"inline-block",width:"100%",color:"inherit",fontSize:n.fontSize,lineHeight:n.lineHeight,transition:`all ${u}`},mO(d)),{flex:"auto",minWidth:1,height:"auto",padding:0,background:"transparent",border:0,fontFamily:"inherit","&:focus":{boxShadow:"none",outline:0},"&[disabled]":{background:"transparent",color:c,cursor:"not-allowed"}}),"&-placeholder":{"> input":{color:d}}},"&-large":Object.assign(Object.assign({},pO(n,h,H,r)),{[`${e}-input > input`]:{fontSize:m,lineHeight:M}}),"&-small":Object.assign({},pO(n,f,P,g)),[`${e}-suffix`]:{display:"flex",flex:"none",alignSelf:"center",marginInlineStart:n.calc(b).div(2).equal(),color:c,lineHeight:1,pointerEvents:"none",transition:`opacity ${u}, color ${u}`,"> *":{verticalAlign:"top","&:not(:last-child)":{marginInlineEnd:y}}},[`${e}-clear`]:{position:"absolute",top:"50%",insetInlineEnd:0,color:c,lineHeight:1,transform:"translateY(-50%)",cursor:"pointer",opacity:0,transition:`opacity ${u}, color ${u}`,"> *":{verticalAlign:"top"},"&:hover":{color:C}},"&:hover":{[`${e}-clear`]:{opacity:1},[`${e}-suffix:not(:last-child)`]:{opacity:0}},[`${e}-separator`]:{position:"relative",display:"inline-block",width:"1em",height:m,color:c,fontSize:m,verticalAlign:"top",cursor:"default",[`${e}-focused &`]:{color:C},[`${e}-range-separator &`]:{[`${e}-disabled &`]:{cursor:"not-allowed"}}},"&-range":{position:"relative",display:"inline-flex",[`${e}-active-bar`]:{bottom:n.calc(o).mul(-1).equal(),height:w,background:x,opacity:0,transition:`all ${L} ease-out`,pointerEvents:"none"},[`&${e}-focused`]:{[`${e}-active-bar`]:{opacity:1}},[`${e}-range-separator`]:{alignItems:"center",padding:`0 ${Ee(b)}`,lineHeight:1}},"&-range, &-multiple":{[`${e}-clear`]:{insetInlineEnd:r},[`&${e}-small`]:{[`${e}-clear`]:{insetInlineEnd:g}}},"&-dropdown":Object.assign(Object.assign(Object.assign({},uo(n)),oBe(n)),{pointerEvents:"none",position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:I,[`&${e}-dropdown-hidden`]:{display:"none"},[`&${e}-dropdown-placement-bottomLeft`]:{[`${e}-range-arrow`]:{top:0,display:"block",transform:"translateY(-100%)"}},[`&${e}-dropdown-placement-topLeft`]:{[`${e}-range-arrow`]:{bottom:0,display:"block",transform:"translateY(100%) rotate(180deg)"}},[`&${t}-slide-up-enter${t}-slide-up-enter-active${e}-dropdown-placement-topLeft, &${t}-slide-up-enter${t}-slide-up-enter-active${e}-dropdown-placement-topRight, &${t}-slide-up-appear${t}-slide-up-appear-active${e}-dropdown-placement-topLeft, &${t}-slide-up-appear${t}-slide-up-appear-active${e}-dropdown-placement-topRight`]:{animationName:GT},[`&${t}-slide-up-enter${t}-slide-up-enter-active${e}-dropdown-placement-bottomLeft, &${t}-slide-up-enter${t}-slide-up-enter-active${e}-dropdown-placement-bottomRight, &${t}-slide-up-appear${t}-slide-up-appear-active${e}-dropdown-placement-bottomLeft, - &${t}-slide-up-appear${t}-slide-up-appear-active${e}-dropdown-placement-bottomRight`]:{animationName:VT},[`&${t}-slide-up-leave${t}-slide-up-leave-active${e}-dropdown-placement-topLeft, + &${t}-slide-up-appear${t}-slide-up-appear-active${e}-dropdown-placement-bottomRight`]:{animationName:AT},[`&${t}-slide-up-leave${t}-slide-up-leave-active${e}-dropdown-placement-topLeft, &${t}-slide-up-leave${t}-slide-up-leave-active${e}-dropdown-placement-topRight`]:{animationName:XT},[`&${t}-slide-up-leave${t}-slide-up-leave-active${e}-dropdown-placement-bottomLeft, - &${t}-slide-up-leave${t}-slide-up-leave-active${e}-dropdown-placement-bottomRight`]:{animationName:AT},[`${e}-panel > ${e}-time-panel`]:{paddingTop:D},[`${e}-range-wrapper`]:{display:"flex",position:"relative"},[`${e}-range-arrow`]:Object.assign(Object.assign({position:"absolute",zIndex:1,display:"none",paddingInline:n.calc(r).mul(1.5).equal(),boxSizing:"content-box",transition:`left ${_} ease-out`},Ise(n,T,B)),{"&:before":{insetInlineStart:n.calc(r).mul(1.5).equal()}}),[`${e}-panel-container`]:{overflow:"hidden",verticalAlign:"top",background:T,borderRadius:Z,boxShadow:E,transition:`margin ${_}`,display:"inline-block",pointerEvents:"auto",[`${e}-panel-layout`]:{display:"flex",flexWrap:"nowrap",alignItems:"stretch"},[`${e}-presets`]:{display:"flex",flexDirection:"column",minWidth:z,maxWidth:O,ul:{height:0,flex:"auto",listStyle:"none",overflow:"auto",margin:0,padding:b,borderInlineEnd:`${Ee(o)} ${s} ${W}`,li:Object.assign(Object.assign({},ab),{borderRadius:R,paddingInline:b,paddingBlock:n.calc(f).sub(P).div(2).equal(),cursor:"pointer",transition:`all ${_}`,"+ li":{marginTop:v},"&:hover":{background:A}})}},[`${e}-panels`]:{display:"inline-flex",flexWrap:"nowrap",direction:"ltr","&:last-child":{[`${e}-panel`]:{borderWidth:0}}},[`${e}-panel`]:{verticalAlign:"top",background:"transparent",borderRadius:0,borderWidth:0,[`${e}-content, - table`]:{textAlign:"center"},"&-focused":{borderColor:a}}}}),"&-dropdown-range":{padding:`${Ee(n.calc(M).mul(2).div(3).equal())} 0`,"&-hidden":{display:"none"}},"&-rtl":{direction:"rtl",[`${e}-separator`]:{transform:"rotate(180deg)"},[`${e}-footer`]:{"&-extra":{direction:"rtl"}}}})},wm(n,"slide-up"),wm(n,"slide-down"),lw(n,"move-up"),lw(n,"move-down")]},hle=Ho("DatePicker",n=>{const e=Ui(vE(n),aBe(n),{inputPaddingHorizontalBase:n.calc(n.paddingSM).sub(1).equal(),multipleSelectItemHeight:n.multipleItemHeight,selectHeight:n.controlHeight});return[sBe(e),hBe(e),cBe(e),dBe(e),iBe(e),QL(n,{focusElCls:`${n.componentCls}-focused`})]},uBe);var mBe={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z"}},{tag:"path",attrs:{d:"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z"}}]},name:"plus",theme:"outlined"};const fBe=mBe;var gBe=function(e,t){return w.createElement(So,pt({},e,{ref:t,icon:fBe}))},pBe=w.forwardRef(gBe);const bBe=pBe,wE=w.createContext(null);var vBe=function(e){var t=e.activeTabOffset,i=e.horizontal,r=e.rtl,o=e.indicator,s=o===void 0?{}:o,a=s.size,l=s.align,u=l===void 0?"center":l,c=w.useState(),d=Se(c,2),h=d[0],m=d[1],f=w.useRef(),g=ze.useCallback(function(v){return typeof a=="function"?a(v):typeof a=="number"?a:v},[a]);function b(){xi.cancel(f.current)}return w.useEffect(function(){var v={};if(t)if(i){v.width=g(t.width);var C=r?"right":"left";u==="start"&&(v[C]=t[C]),u==="center"&&(v[C]=t[C]+t.width/2,v.transform=r?"translateX(50%)":"translateX(-50%)"),u==="end"&&(v[C]=t[C]+t.width,v.transform="translateX(-100%)")}else v.height=g(t.height),u==="start"&&(v.top=t.top),u==="center"&&(v.top=t.top+t.height/2,v.transform="translateY(-50%)"),u==="end"&&(v.top=t.top+t.height,v.transform="translateY(-100%)");return b(),f.current=xi(function(){m(v)}),b},[t,i,r,u,g]),{style:h}},mle={width:0,height:0,left:0,top:0};function yBe(n,e,t){return w.useMemo(function(){for(var i,r=new Map,o=e.get((i=n[0])===null||i===void 0?void 0:i.key)||mle,s=o.left+o.width,a=0;aA?(R=Z,F.current="x"):(R=E,F.current="y"),e(-R,-R)&&T.preventDefault()}var M=w.useRef(null);M.current={onTouchStart:S,onTouchMove:x,onTouchEnd:_,onWheel:D},w.useEffect(function(){function T(W){M.current.onTouchStart(W)}function Z(W){M.current.onTouchMove(W)}function E(W){M.current.onTouchEnd(W)}function R(W){M.current.onWheel(W)}return document.addEventListener("touchmove",Z,{passive:!1}),document.addEventListener("touchend",E,{passive:!1}),n.current.addEventListener("touchstart",T,{passive:!1}),n.current.addEventListener("wheel",R),function(){document.removeEventListener("touchmove",Z),document.removeEventListener("touchend",E)}},[])}function ble(n){var e=w.useState(0),t=Se(e,2),i=t[0],r=t[1],o=w.useRef(0),s=w.useRef();return s.current=n,Y1(function(){var a;(a=s.current)===null||a===void 0||a.call(s)},[i]),function(){o.current===i&&(o.current+=1,r(o.current))}}function SBe(n){var e=w.useRef([]),t=w.useState({}),i=Se(t,2),r=i[1],o=w.useRef(typeof n=="function"?n():n),s=ble(function(){var l=o.current;e.current.forEach(function(u){l=u(l)}),e.current=[],o.current=l,r({})});function a(l){e.current.push(l),s()}return[o.current,a]}var vle={width:0,height:0,left:0,top:0,right:0};function xBe(n,e,t,i,r,o,s){var a=s.tabs,l=s.tabPosition,u=s.rtl,c,d,h;return["top","bottom"].includes(l)?(c="width",d=u?"right":"left",h=Math.abs(t)):(c="height",d="top",h=-t),w.useMemo(function(){if(!a.length)return[0,0];for(var m=a.length,f=m,g=0;gh+e){f=g-1;break}}for(var v=0,C=m-1;C>=0;C-=1){var S=n.get(a[C].key)||vle;if(S[d]=f?[0,0]:[v,f]},[n,e,i,r,o,h,l,a.map(function(m){return m.key}).join("_"),u])}function yle(n){var e;return n instanceof Map?(e={},n.forEach(function(t,i){e[i]=t})):e=n,JSON.stringify(e)}var LBe="TABS_DQ";function Cle(n){return String(n).replace(/"/g,LBe)}function wle(n,e,t,i){return!(!t||i||n===!1||n===void 0&&(e===!1||e===null))}var Sle=w.forwardRef(function(n,e){var t=n.prefixCls,i=n.editable,r=n.locale,o=n.style;return!i||i.showAdd===!1?null:w.createElement("button",{ref:e,type:"button",className:"".concat(t,"-nav-add"),style:o,"aria-label":(r==null?void 0:r.addAriaLabel)||"Add tab",onClick:function(a){i.onEdit("add",{event:a})}},i.addIcon||"+")}),xle=w.forwardRef(function(n,e){var t=n.position,i=n.prefixCls,r=n.extra;if(!r)return null;var o,s={};return Xn(r)==="object"&&!w.isValidElement(r)?s=r:s.right=r,t==="right"&&(o=s.right),t==="left"&&(o=s.left),o?w.createElement("div",{className:"".concat(i,"-extra-content"),ref:e},o):null}),_Be=w.forwardRef(function(n,e){var t=n.prefixCls,i=n.id,r=n.tabs,o=n.locale,s=n.mobile,a=n.moreIcon,l=a===void 0?"More":a,u=n.moreTransitionName,c=n.style,d=n.className,h=n.editable,m=n.tabBarGutter,f=n.rtl,g=n.removeAriaLabel,b=n.onTabClick,v=n.getPopupContainer,C=n.popupClassName,S=w.useState(!1),x=Se(S,2),_=x[0],F=x[1],D=w.useState(null),M=Se(D,2),T=M[0],Z=M[1],E="".concat(i,"-more-popup"),R="".concat(t,"-dropdown"),W=T!==null?"".concat(E,"-").concat(T):null,A=o==null?void 0:o.dropdownAriaLabel;function z(Y,V){Y.preventDefault(),Y.stopPropagation(),h.onEdit("remove",{key:V,event:Y})}var O=w.createElement(Cw,{onClick:function(V){var te=V.key,oe=V.domEvent;b(te,oe),F(!1)},prefixCls:"".concat(R,"-menu"),id:E,tabIndex:-1,role:"listbox","aria-activedescendant":W,selectedKeys:[T],"aria-label":A!==void 0?A:"expanded dropdown"},r.map(function(Y){var V=Y.closable,te=Y.disabled,oe=Y.closeIcon,ae=Y.key,le=Y.label,ue=wle(V,oe,h,te);return w.createElement(y_,{key:ae,id:"".concat(E,"-").concat(ae),role:"option","aria-controls":i&&"".concat(i,"-panel-").concat(ae),disabled:te},w.createElement("span",null,le),ue&&w.createElement("button",{type:"button","aria-label":g||"remove",tabIndex:0,className:"".concat(R,"-menu-item-remove"),onClick:function(pe){pe.stopPropagation(),z(pe,ae)}},oe||h.removeIcon||"×"))}));function B(Y){for(var V=r.filter(function(ue){return!ue.disabled}),te=V.findIndex(function(ue){return ue.key===T})||0,oe=V.length,ae=0;aeOt?"left":"right"})}),W=Se(R,2),A=W[0],z=W[1],O=fle(0,function(mn,Ot){!E&&g&&g({direction:mn>Ot?"top":"bottom"})}),B=Se(O,2),P=B[0],H=B[1],k=w.useState([0,0]),X=Se(k,2),Y=X[0],V=X[1],te=w.useState([0,0]),oe=Se(te,2),ae=oe[0],le=oe[1],ue=w.useState([0,0]),Ce=Se(ue,2),pe=Ce[0],ce=Ce[1],De=w.useState([0,0]),ke=Se(De,2),Ne=ke[0],Ue=ke[1],He=SBe(new Map),ct=Se(He,2),vt=ct[0],it=ct[1],he=yBe(S,vt,ae[0]),de=xE(Y,E),me=xE(ae,E),j=xE(pe,E),$=xE(Ne,E),q=deMe?Me:mn}var $e=w.useRef(null),Re=w.useState(),ht=Se(Re,2),Ye=ht[0],Ge=ht[1];function mt(){Ge(Date.now())}function St(){$e.current&&clearTimeout($e.current)}wBe(D,function(mn,Ot){function gn(Tt,we){Tt(function(Ke){var dt=Be(Ke+we);return dt})}return q?(E?gn(z,mn):gn(H,Ot),St(),mt(),!0):!1}),w.useEffect(function(){return St(),Ye&&($e.current=setTimeout(function(){Ge(0)},100)),St},[Ye]);var Kt=xBe(he,ee,E?A:P,me,j,$,xe(xe({},n),{},{tabs:S})),Rt=Se(Kt,2),Yt=Rt[0],Tn=Rt[1],li=$i(function(){var mn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:s,Ot=he.get(mn)||{width:0,height:0,left:0,right:0,top:0};if(E){var gn=A;a?Ot.rightA+ee&&(gn=Ot.right+Ot.width-ee):Ot.left<-A?gn=-Ot.left:Ot.left+Ot.width>-A+ee&&(gn=-(Ot.left+Ot.width-ee)),H(0),z(Be(gn))}else{var Tt=P;Ot.top<-P?Tt=-Ot.top:Ot.top+Ot.height>-P+ee&&(Tt=-(Ot.top+Ot.height-ee)),z(0),H(Be(Tt))}}),Et={};d==="top"||d==="bottom"?Et[a?"marginRight":"marginLeft"]=h:Et.marginTop=h;var kt=S.map(function(mn,Ot){var gn=mn.key;return w.createElement(IBe,{id:r,prefixCls:C,key:gn,tab:mn,style:Ot===0?void 0:Et,closable:mn.closable,editable:u,active:gn===s,renderWrapper:m,removeAriaLabel:c==null?void 0:c.removeAriaLabel,onClick:function(we){f(gn,we)},onFocus:function(){li(gn),mt(),D.current&&(a||(D.current.scrollLeft=0),D.current.scrollTop=0)}})}),fe=function(){return it(function(){var Ot,gn=new Map,Tt=(Ot=M.current)===null||Ot===void 0?void 0:Ot.getBoundingClientRect();return S.forEach(function(we){var Ke,dt=we.key,nn=(Ke=M.current)===null||Ke===void 0?void 0:Ke.querySelector('[data-node-key="'.concat(Cle(dt),'"]'));if(nn){var jn=DBe(nn,Tt),Wn=Se(jn,4),rn=Wn[0],fi=Wn[1],_n=Wn[2],gi=Wn[3];gn.set(dt,{width:rn,height:fi,left:_n,top:gi})}}),gn})};w.useEffect(function(){fe()},[S.map(function(mn){return mn.key}).join("_")]);var _e=ble(function(){var mn=xw(x),Ot=xw(_),gn=xw(F);V([mn[0]-Ot[0]-gn[0],mn[1]-Ot[1]-gn[1]]);var Tt=xw(Z);ce(Tt);var we=xw(T);Ue(we);var Ke=xw(M);le([Ke[0]-Tt[0],Ke[1]-Tt[1]]),fe()}),We=S.slice(0,Yt),Xe=S.slice(Tn+1),ft=[].concat(_t(We),_t(Xe)),Nt=he.get(s),et=vBe({activeTabOffset:Nt,horizontal:E,indicator:b,rtl:a}),rt=et.style;w.useEffect(function(){li()},[s,Le,Me,yle(Nt),yle(he),E]),w.useEffect(function(){_e()},[a]);var yt=!!ft.length,Ft="".concat(C,"-nav-wrap"),tn,Jt,qt,Mn;return E?a?(Jt=A>0,tn=A!==Me):(tn=A<0,Jt=A!==Le):(qt=P<0,Mn=P!==Le),w.createElement(mc,{onResize:_e},w.createElement("div",{ref:tb(e,x),role:"tablist",className:Te("".concat(C,"-nav"),t),style:i,onKeyDown:function(){mt()}},w.createElement(xle,{ref:_,position:"left",extra:l,prefixCls:C}),w.createElement(mc,{onResize:_e},w.createElement("div",{className:Te(Ft,ge(ge(ge(ge({},"".concat(Ft,"-ping-left"),tn),"".concat(Ft,"-ping-right"),Jt),"".concat(Ft,"-ping-top"),qt),"".concat(Ft,"-ping-bottom"),Mn)),ref:D},w.createElement(mc,{onResize:_e},w.createElement("div",{ref:M,className:"".concat(C,"-nav-list"),style:{transform:"translate(".concat(A,"px, ").concat(P,"px)"),transition:Ye?"none":void 0}},kt,w.createElement(Sle,{ref:Z,prefixCls:C,locale:c,editable:u,style:xe(xe({},kt.length===0?void 0:Et),{},{visibility:yt?"hidden":null})}),w.createElement("div",{className:Te("".concat(C,"-ink-bar"),ge({},"".concat(C,"-ink-bar-animated"),o.inkBar)),style:rt}))))),w.createElement(FBe,pt({},n,{removeAriaLabel:c==null?void 0:c.removeAriaLabel,ref:T,prefixCls:C,tabs:ft,className:!yt&&ve,tabMoving:!!Ye})),w.createElement(xle,{ref:F,position:"right",extra:l,prefixCls:C})))}),_le=w.forwardRef(function(n,e){var t=n.prefixCls,i=n.className,r=n.style,o=n.id,s=n.active,a=n.tabKey,l=n.children;return w.createElement("div",{id:o&&"".concat(o,"-panel-").concat(a),role:"tabpanel",tabIndex:s?0:-1,"aria-labelledby":o&&"".concat(o,"-tab-").concat(a),"aria-hidden":!s,style:r,className:Te(t,s&&"".concat(t,"-active"),i),ref:e},l)}),MBe=["renderTabBar"],kBe=["label","key"],NBe=function(e){var t=e.renderTabBar,i=zn(e,MBe),r=w.useContext(wE),o=r.tabs;if(t){var s=xe(xe({},i),{},{panes:o.map(function(a){var l=a.label,u=a.key,c=zn(a,kBe);return w.createElement(_le,pt({tab:l,key:u,tabKey:u},c))})});return t(s,Lle)}return w.createElement(Lle,i)},TBe=["key","forceRender","style","className","destroyInactiveTabPane"],EBe=function(e){var t=e.id,i=e.activeKey,r=e.animated,o=e.tabPosition,s=e.destroyInactiveTabPane,a=w.useContext(wE),l=a.prefixCls,u=a.tabs,c=r.tabPane,d="".concat(l,"-tabpane");return w.createElement("div",{className:Te("".concat(l,"-content-holder"))},w.createElement("div",{className:Te("".concat(l,"-content"),"".concat(l,"-content-").concat(o),ge({},"".concat(l,"-content-animated"),c))},u.map(function(h){var m=h.key,f=h.forceRender,g=h.style,b=h.className,v=h.destroyInactiveTabPane,C=zn(h,TBe),S=m===i;return w.createElement(ud,pt({key:m,visible:S,forceRender:f,removeOnLeave:!!(s||v),leavedClassName:"".concat(d,"-hidden")},r.tabPaneMotion),function(x,_){var F=x.style,D=x.className;return w.createElement(_le,pt({},C,{prefixCls:d,id:t,tabKey:m,animated:c,active:S,style:xe(xe({},g),F),className:Te(b,D),ref:_}))})})))};function ZBe(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{inkBar:!0,tabPane:!1},e;return n===!1?e={inkBar:!1,tabPane:!1}:n===!0?e={inkBar:!0,tabPane:!1}:e=xe({inkBar:!0},Xn(n)==="object"?n:{}),e.tabPaneMotion&&e.tabPane===void 0&&(e.tabPane=!0),!e.tabPaneMotion&&e.tabPane&&(e.tabPane=!1),e}var WBe=["id","prefixCls","className","items","direction","activeKey","defaultActiveKey","editable","animated","tabPosition","tabBarGutter","tabBarStyle","tabBarExtraContent","locale","moreIcon","moreTransitionName","destroyInactiveTabPane","renderTabBar","onChange","onTabClick","onTabScroll","getPopupContainer","popupClassName","indicator"],Fle=0,RBe=w.forwardRef(function(n,e){var t=n.id,i=n.prefixCls,r=i===void 0?"rc-tabs":i,o=n.className,s=n.items,a=n.direction,l=n.activeKey,u=n.defaultActiveKey,c=n.editable,d=n.animated,h=n.tabPosition,m=h===void 0?"top":h,f=n.tabBarGutter,g=n.tabBarStyle,b=n.tabBarExtraContent,v=n.locale,C=n.moreIcon,S=n.moreTransitionName,x=n.destroyInactiveTabPane,_=n.renderTabBar,F=n.onChange,D=n.onTabClick,M=n.onTabScroll,T=n.getPopupContainer,Z=n.popupClassName,E=n.indicator,R=zn(n,WBe),W=w.useMemo(function(){return(s||[]).filter(function(Ue){return Ue&&Xn(Ue)==="object"&&"key"in Ue})},[s]),A=a==="rtl",z=ZBe(d),O=w.useState(!1),B=Se(O,2),P=B[0],H=B[1];w.useEffect(function(){H(OT())},[]);var k=Jr(function(){var Ue;return(Ue=W[0])===null||Ue===void 0?void 0:Ue.key},{value:l,defaultValue:u}),X=Se(k,2),Y=X[0],V=X[1],te=w.useState(function(){return W.findIndex(function(Ue){return Ue.key===Y})}),oe=Se(te,2),ae=oe[0],le=oe[1];w.useEffect(function(){var Ue=W.findIndex(function(ct){return ct.key===Y});if(Ue===-1){var He;Ue=Math.max(0,Math.min(ae,W.length-1)),V((He=W[Ue])===null||He===void 0?void 0:He.key)}le(Ue)},[W.map(function(Ue){return Ue.key}).join("_"),Y,ae]);var ue=Jr(null,{value:t}),Ce=Se(ue,2),pe=Ce[0],ce=Ce[1];w.useEffect(function(){t||(ce("rc-tabs-".concat(Fle)),Fle+=1)},[]);function De(Ue,He){D==null||D(Ue,He);var ct=Ue!==Y;V(Ue),ct&&(F==null||F(Ue))}var ke={id:pe,activeKey:Y,animated:z,tabPosition:m,rtl:A,mobile:P},Ne=xe(xe({},ke),{},{editable:c,locale:v,moreIcon:C,moreTransitionName:S,tabBarGutter:f,onTabClick:De,onTabScroll:M,extra:b,style:g,panes:null,getPopupContainer:T,popupClassName:Z,indicator:E});return w.createElement(wE.Provider,{value:{tabs:W,prefixCls:r}},w.createElement("div",pt({ref:e,id:t,className:Te(r,"".concat(r,"-").concat(m),ge(ge(ge({},"".concat(r,"-mobile"),P),"".concat(r,"-editable"),c),"".concat(r,"-rtl"),A),o)},R),w.createElement(NBe,pt({},Ne,{renderTabBar:_})),w.createElement(EBe,pt({destroyInactiveTabPane:x},ke,{animated:z}))))});const VBe={motionAppear:!1,motionEnter:!0,motionLeave:!0};function ABe(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{inkBar:!0,tabPane:!1},t;return e===!1?t={inkBar:!1,tabPane:!1}:e===!0?t={inkBar:!0,tabPane:!0}:t=Object.assign({inkBar:!0},typeof e=="object"?e:{}),t.tabPane&&(t.tabPaneMotion=Object.assign(Object.assign({},VBe),{motionName:cb(n,"switch")})),t}var GBe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);re)}function PBe(n,e){if(n)return n;const t=ad(e).map(i=>{if(w.isValidElement(i)){const{key:r,props:o}=i,s=o||{},{tab:a}=s,l=GBe(s,["tab"]);return Object.assign(Object.assign({key:String(r)},l),{label:a})}return null});return XBe(t)}const OBe=n=>{const{componentCls:e,motionDurationSlow:t}=n;return[{[e]:{[`${e}-switch`]:{"&-appear, &-enter":{transition:"none","&-start":{opacity:0},"&-active":{opacity:1,transition:`opacity ${t}`}},"&-leave":{position:"absolute",transition:"none",inset:0,"&-start":{opacity:1},"&-active":{opacity:0,transition:`opacity ${t}`}}}}},[wm(n,"slide-up"),wm(n,"slide-down")]]},BBe=n=>{const{componentCls:e,tabsCardPadding:t,cardBg:i,cardGutter:r,colorBorderSecondary:o,itemSelectedColor:s}=n;return{[`${e}-card`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{margin:0,padding:t,background:i,border:`${Ee(n.lineWidth)} ${n.lineType} ${o}`,transition:`all ${n.motionDurationSlow} ${n.motionEaseInOut}`},[`${e}-tab-active`]:{color:s,background:n.colorBgContainer},[`${e}-ink-bar`]:{visibility:"hidden"}},[`&${e}-top, &${e}-bottom`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab + ${e}-tab`]:{marginLeft:{_skip_check_:!0,value:Ee(r)}}}},[`&${e}-top`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{borderRadius:`${Ee(n.borderRadiusLG)} ${Ee(n.borderRadiusLG)} 0 0`},[`${e}-tab-active`]:{borderBottomColor:n.colorBgContainer}}},[`&${e}-bottom`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{borderRadius:`0 0 ${Ee(n.borderRadiusLG)} ${Ee(n.borderRadiusLG)}`},[`${e}-tab-active`]:{borderTopColor:n.colorBgContainer}}},[`&${e}-left, &${e}-right`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab + ${e}-tab`]:{marginTop:Ee(r)}}},[`&${e}-left`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{borderRadius:{_skip_check_:!0,value:`${Ee(n.borderRadiusLG)} 0 0 ${Ee(n.borderRadiusLG)}`}},[`${e}-tab-active`]:{borderRightColor:{_skip_check_:!0,value:n.colorBgContainer}}}},[`&${e}-right`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{borderRadius:{_skip_check_:!0,value:`0 ${Ee(n.borderRadiusLG)} ${Ee(n.borderRadiusLG)} 0`}},[`${e}-tab-active`]:{borderLeftColor:{_skip_check_:!0,value:n.colorBgContainer}}}}}}},zBe=n=>{const{componentCls:e,itemHoverColor:t,dropdownEdgeChildVerticalPadding:i}=n;return{[`${e}-dropdown`]:Object.assign(Object.assign({},uo(n)),{position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:n.zIndexPopup,display:"block","&-hidden":{display:"none"},[`${e}-dropdown-menu`]:{maxHeight:n.tabsDropdownHeight,margin:0,padding:`${Ee(i)} 0`,overflowX:"hidden",overflowY:"auto",textAlign:{_skip_check_:!0,value:"left"},listStyleType:"none",backgroundColor:n.colorBgContainer,backgroundClip:"padding-box",borderRadius:n.borderRadiusLG,outline:"none",boxShadow:n.boxShadowSecondary,"&-item":Object.assign(Object.assign({},ab),{display:"flex",alignItems:"center",minWidth:n.tabsDropdownWidth,margin:0,padding:`${Ee(n.paddingXXS)} ${Ee(n.paddingSM)}`,color:n.colorText,fontWeight:"normal",fontSize:n.fontSize,lineHeight:n.lineHeight,cursor:"pointer",transition:`all ${n.motionDurationSlow}`,"> span":{flex:1,whiteSpace:"nowrap"},"&-remove":{flex:"none",marginLeft:{_skip_check_:!0,value:n.marginSM},color:n.colorTextDescription,fontSize:n.fontSizeSM,background:"transparent",border:0,cursor:"pointer","&:hover":{color:t}},"&:hover":{background:n.controlItemBgHover},"&-disabled":{"&, &:hover":{color:n.colorTextDisabled,background:"transparent",cursor:"not-allowed"}}})}})}},HBe=n=>{const{componentCls:e,margin:t,colorBorderSecondary:i,horizontalMargin:r,verticalItemPadding:o,verticalItemMargin:s,calc:a}=n;return{[`${e}-top, ${e}-bottom`]:{flexDirection:"column",[`> ${e}-nav, > div > ${e}-nav`]:{margin:r,"&::before":{position:"absolute",right:{_skip_check_:!0,value:0},left:{_skip_check_:!0,value:0},borderBottom:`${Ee(n.lineWidth)} ${n.lineType} ${i}`,content:"''"},[`${e}-ink-bar`]:{height:n.lineWidthBold,"&-animated":{transition:`width ${n.motionDurationSlow}, left ${n.motionDurationSlow}, + &${t}-slide-up-leave${t}-slide-up-leave-active${e}-dropdown-placement-bottomRight`]:{animationName:VT},[`${e}-panel > ${e}-time-panel`]:{paddingTop:D},[`${e}-range-wrapper`]:{display:"flex",position:"relative"},[`${e}-range-arrow`]:Object.assign(Object.assign({position:"absolute",zIndex:1,display:"none",paddingInline:n.calc(r).mul(1.5).equal(),boxSizing:"content-box",transition:`left ${L} ease-out`},Fse(n,T,B)),{"&:before":{insetInlineStart:n.calc(r).mul(1.5).equal()}}),[`${e}-panel-container`]:{overflow:"hidden",verticalAlign:"top",background:T,borderRadius:R,boxShadow:E,transition:`margin ${L}`,display:"inline-block",pointerEvents:"auto",[`${e}-panel-layout`]:{display:"flex",flexWrap:"nowrap",alignItems:"stretch"},[`${e}-presets`]:{display:"flex",flexDirection:"column",minWidth:z,maxWidth:O,ul:{height:0,flex:"auto",listStyle:"none",overflow:"auto",margin:0,padding:b,borderInlineEnd:`${Ee(o)} ${s} ${Z}`,li:Object.assign(Object.assign({},ab),{borderRadius:W,paddingInline:b,paddingBlock:n.calc(f).sub(P).div(2).equal(),cursor:"pointer",transition:`all ${L}`,"+ li":{marginTop:y},"&:hover":{background:V}})}},[`${e}-panels`]:{display:"inline-flex",flexWrap:"nowrap",direction:"ltr","&:last-child":{[`${e}-panel`]:{borderWidth:0}}},[`${e}-panel`]:{verticalAlign:"top",background:"transparent",borderRadius:0,borderWidth:0,[`${e}-content, + table`]:{textAlign:"center"},"&-focused":{borderColor:a}}}}),"&-dropdown-range":{padding:`${Ee(n.calc(N).mul(2).div(3).equal())} 0`,"&-hidden":{display:"none"}},"&-rtl":{direction:"rtl",[`${e}-separator`]:{transform:"rotate(180deg)"},[`${e}-footer`]:{"&-extra":{direction:"rtl"}}}})},Sm(n,"slide-up"),Sm(n,"slide-down"),lS(n,"move-up"),lS(n,"move-down")]},hle=Ho("DatePicker",n=>{const e=Yi(yE(n),aBe(n),{inputPaddingHorizontalBase:n.calc(n.paddingSM).sub(1).equal(),multipleSelectItemHeight:n.multipleItemHeight,selectHeight:n.controlHeight});return[sBe(e),hBe(e),cBe(e),dBe(e),iBe(e),Q_(n,{focusElCls:`${n.componentCls}-focused`})]},uBe);var mBe={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z"}},{tag:"path",attrs:{d:"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z"}}]},name:"plus",theme:"outlined"};const fBe=mBe;var gBe=function(e,t){return S.createElement(wo,pt({},e,{ref:t,icon:fBe}))},pBe=S.forwardRef(gBe);const bBe=pBe,SE=S.createContext(null);var yBe=function(e){var t=e.activeTabOffset,i=e.horizontal,r=e.rtl,o=e.indicator,s=o===void 0?{}:o,a=s.size,l=s.align,u=l===void 0?"center":l,c=S.useState(),d=we(c,2),h=d[0],m=d[1],f=S.useRef(),g=ze.useCallback(function(y){return typeof a=="function"?a(y):typeof a=="number"?a:y},[a]);function b(){xi.cancel(f.current)}return S.useEffect(function(){var y={};if(t)if(i){y.width=g(t.width);var C=r?"right":"left";u==="start"&&(y[C]=t[C]),u==="center"&&(y[C]=t[C]+t.width/2,y.transform=r?"translateX(50%)":"translateX(-50%)"),u==="end"&&(y[C]=t[C]+t.width,y.transform="translateX(-100%)")}else y.height=g(t.height),u==="start"&&(y.top=t.top),u==="center"&&(y.top=t.top+t.height/2,y.transform="translateY(-50%)"),u==="end"&&(y.top=t.top+t.height,y.transform="translateY(-100%)");return b(),f.current=xi(function(){m(y)}),b},[t,i,r,u,g]),{style:h}},mle={width:0,height:0,left:0,top:0};function vBe(n,e,t){return S.useMemo(function(){for(var i,r=new Map,o=e.get((i=n[0])===null||i===void 0?void 0:i.key)||mle,s=o.left+o.width,a=0;aV?(W=R,I.current="x"):(W=E,I.current="y"),e(-W,-W)&&T.preventDefault()}var N=S.useRef(null);N.current={onTouchStart:w,onTouchMove:x,onTouchEnd:L,onWheel:D},S.useEffect(function(){function T(Z){N.current.onTouchStart(Z)}function R(Z){N.current.onTouchMove(Z)}function E(Z){N.current.onTouchEnd(Z)}function W(Z){N.current.onWheel(Z)}return document.addEventListener("touchmove",R,{passive:!1}),document.addEventListener("touchend",E,{passive:!1}),n.current.addEventListener("touchstart",T,{passive:!1}),n.current.addEventListener("wheel",W),function(){document.removeEventListener("touchmove",R),document.removeEventListener("touchend",E)}},[])}function ble(n){var e=S.useState(0),t=we(e,2),i=t[0],r=t[1],o=S.useRef(0),s=S.useRef();return s.current=n,Y1(function(){var a;(a=s.current)===null||a===void 0||a.call(s)},[i]),function(){o.current===i&&(o.current+=1,r(o.current))}}function wBe(n){var e=S.useRef([]),t=S.useState({}),i=we(t,2),r=i[1],o=S.useRef(typeof n=="function"?n():n),s=ble(function(){var l=o.current;e.current.forEach(function(u){l=u(l)}),e.current=[],o.current=l,r({})});function a(l){e.current.push(l),s()}return[o.current,a]}var yle={width:0,height:0,left:0,top:0,right:0};function xBe(n,e,t,i,r,o,s){var a=s.tabs,l=s.tabPosition,u=s.rtl,c,d,h;return["top","bottom"].includes(l)?(c="width",d=u?"right":"left",h=Math.abs(t)):(c="height",d="top",h=-t),S.useMemo(function(){if(!a.length)return[0,0];for(var m=a.length,f=m,g=0;gh+e){f=g-1;break}}for(var y=0,C=m-1;C>=0;C-=1){var w=n.get(a[C].key)||yle;if(w[d]=f?[0,0]:[y,f]},[n,e,i,r,o,h,l,a.map(function(m){return m.key}).join("_"),u])}function vle(n){var e;return n instanceof Map?(e={},n.forEach(function(t,i){e[i]=t})):e=n,JSON.stringify(e)}var _Be="TABS_DQ";function Cle(n){return String(n).replace(/"/g,_Be)}function Sle(n,e,t,i){return!(!t||i||n===!1||n===void 0&&(e===!1||e===null))}var wle=S.forwardRef(function(n,e){var t=n.prefixCls,i=n.editable,r=n.locale,o=n.style;return!i||i.showAdd===!1?null:S.createElement("button",{ref:e,type:"button",className:"".concat(t,"-nav-add"),style:o,"aria-label":(r==null?void 0:r.addAriaLabel)||"Add tab",onClick:function(a){i.onEdit("add",{event:a})}},i.addIcon||"+")}),xle=S.forwardRef(function(n,e){var t=n.position,i=n.prefixCls,r=n.extra;if(!r)return null;var o,s={};return Xn(r)==="object"&&!S.isValidElement(r)?s=r:s.right=r,t==="right"&&(o=s.right),t==="left"&&(o=s.left),o?S.createElement("div",{className:"".concat(i,"-extra-content"),ref:e},o):null}),LBe=S.forwardRef(function(n,e){var t=n.prefixCls,i=n.id,r=n.tabs,o=n.locale,s=n.mobile,a=n.moreIcon,l=a===void 0?"More":a,u=n.moreTransitionName,c=n.style,d=n.className,h=n.editable,m=n.tabBarGutter,f=n.rtl,g=n.removeAriaLabel,b=n.onTabClick,y=n.getPopupContainer,C=n.popupClassName,w=S.useState(!1),x=we(w,2),L=x[0],I=x[1],D=S.useState(null),N=we(D,2),T=N[0],R=N[1],E="".concat(i,"-more-popup"),W="".concat(t,"-dropdown"),Z=T!==null?"".concat(E,"-").concat(T):null,V=o==null?void 0:o.dropdownAriaLabel;function z(Y,A){Y.preventDefault(),Y.stopPropagation(),h.onEdit("remove",{key:A,event:Y})}var O=S.createElement(CS,{onClick:function(A){var te=A.key,oe=A.domEvent;b(te,oe),I(!1)},prefixCls:"".concat(W,"-menu"),id:E,tabIndex:-1,role:"listbox","aria-activedescendant":Z,selectedKeys:[T],"aria-label":V!==void 0?V:"expanded dropdown"},r.map(function(Y){var A=Y.closable,te=Y.disabled,oe=Y.closeIcon,ae=Y.key,le=Y.label,ue=Sle(A,oe,h,te);return S.createElement(vL,{key:ae,id:"".concat(E,"-").concat(ae),role:"option","aria-controls":i&&"".concat(i,"-panel-").concat(ae),disabled:te},S.createElement("span",null,le),ue&&S.createElement("button",{type:"button","aria-label":g||"remove",tabIndex:0,className:"".concat(W,"-menu-item-remove"),onClick:function(pe){pe.stopPropagation(),z(pe,ae)}},oe||h.removeIcon||"×"))}));function B(Y){for(var A=r.filter(function(ue){return!ue.disabled}),te=A.findIndex(function(ue){return ue.key===T})||0,oe=A.length,ae=0;aeOt?"left":"right"})}),Z=we(W,2),V=Z[0],z=Z[1],O=fle(0,function(mn,Ot){!E&&g&&g({direction:mn>Ot?"top":"bottom"})}),B=we(O,2),P=B[0],H=B[1],M=S.useState([0,0]),X=we(M,2),Y=X[0],A=X[1],te=S.useState([0,0]),oe=we(te,2),ae=oe[0],le=oe[1],ue=S.useState([0,0]),Ce=we(ue,2),pe=Ce[0],ce=Ce[1],De=S.useState([0,0]),Me=we(De,2),ke=Me[0],Ue=Me[1],He=wBe(new Map),ct=we(He,2),yt=ct[0],it=ct[1],he=vBe(w,yt,ae[0]),de=xE(Y,E),me=xE(ae,E),j=xE(pe,E),$=xE(ke,E),q=deNe?Ne:mn}var $e=S.useRef(null),We=S.useState(),ht=we(We,2),Ye=ht[0],Ge=ht[1];function mt(){Ge(Date.now())}function wt(){$e.current&&clearTimeout($e.current)}SBe(D,function(mn,Ot){function gn(Tt,Se){Tt(function(Ke){var dt=Be(Ke+Se);return dt})}return q?(E?gn(z,mn):gn(H,Ot),wt(),mt(),!0):!1}),S.useEffect(function(){return wt(),Ye&&($e.current=setTimeout(function(){Ge(0)},100)),wt},[Ye]);var Kt=xBe(he,ee,E?V:P,me,j,$,xe(xe({},n),{},{tabs:w})),Wt=we(Kt,2),Yt=Wt[0],Tn=Wt[1],li=Qi(function(){var mn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:s,Ot=he.get(mn)||{width:0,height:0,left:0,right:0,top:0};if(E){var gn=V;a?Ot.rightV+ee&&(gn=Ot.right+Ot.width-ee):Ot.left<-V?gn=-Ot.left:Ot.left+Ot.width>-V+ee&&(gn=-(Ot.left+Ot.width-ee)),H(0),z(Be(gn))}else{var Tt=P;Ot.top<-P?Tt=-Ot.top:Ot.top+Ot.height>-P+ee&&(Tt=-(Ot.top+Ot.height-ee)),z(0),H(Be(Tt))}}),Et={};d==="top"||d==="bottom"?Et[a?"marginRight":"marginLeft"]=h:Et.marginTop=h;var Mt=w.map(function(mn,Ot){var gn=mn.key;return S.createElement(FBe,{id:r,prefixCls:C,key:gn,tab:mn,style:Ot===0?void 0:Et,closable:mn.closable,editable:u,active:gn===s,renderWrapper:m,removeAriaLabel:c==null?void 0:c.removeAriaLabel,onClick:function(Se){f(gn,Se)},onFocus:function(){li(gn),mt(),D.current&&(a||(D.current.scrollLeft=0),D.current.scrollTop=0)}})}),fe=function(){return it(function(){var Ot,gn=new Map,Tt=(Ot=N.current)===null||Ot===void 0?void 0:Ot.getBoundingClientRect();return w.forEach(function(Se){var Ke,dt=Se.key,nn=(Ke=N.current)===null||Ke===void 0?void 0:Ke.querySelector('[data-node-key="'.concat(Cle(dt),'"]'));if(nn){var jn=DBe(nn,Tt),Zn=we(jn,4),rn=Zn[0],fi=Zn[1],Ln=Zn[2],gi=Zn[3];gn.set(dt,{width:rn,height:fi,left:Ln,top:gi})}}),gn})};S.useEffect(function(){fe()},[w.map(function(mn){return mn.key}).join("_")]);var Le=ble(function(){var mn=xS(x),Ot=xS(L),gn=xS(I);A([mn[0]-Ot[0]-gn[0],mn[1]-Ot[1]-gn[1]]);var Tt=xS(R);ce(Tt);var Se=xS(T);Ue(Se);var Ke=xS(N);le([Ke[0]-Tt[0],Ke[1]-Tt[1]]),fe()}),Ze=w.slice(0,Yt),Xe=w.slice(Tn+1),ft=[].concat(Lt(Ze),Lt(Xe)),kt=he.get(s),et=yBe({activeTabOffset:kt,horizontal:E,indicator:b,rtl:a}),rt=et.style;S.useEffect(function(){li()},[s,_e,Ne,vle(kt),vle(he),E]),S.useEffect(function(){Le()},[a]);var vt=!!ft.length,It="".concat(C,"-nav-wrap"),tn,Jt,qt,Nn;return E?a?(Jt=V>0,tn=V!==Ne):(tn=V<0,Jt=V!==_e):(qt=P<0,Nn=P!==_e),S.createElement(mc,{onResize:Le},S.createElement("div",{ref:tb(e,x),role:"tablist",className:Te("".concat(C,"-nav"),t),style:i,onKeyDown:function(){mt()}},S.createElement(xle,{ref:L,position:"left",extra:l,prefixCls:C}),S.createElement(mc,{onResize:Le},S.createElement("div",{className:Te(It,ge(ge(ge(ge({},"".concat(It,"-ping-left"),tn),"".concat(It,"-ping-right"),Jt),"".concat(It,"-ping-top"),qt),"".concat(It,"-ping-bottom"),Nn)),ref:D},S.createElement(mc,{onResize:Le},S.createElement("div",{ref:N,className:"".concat(C,"-nav-list"),style:{transform:"translate(".concat(V,"px, ").concat(P,"px)"),transition:Ye?"none":void 0}},Mt,S.createElement(wle,{ref:R,prefixCls:C,locale:c,editable:u,style:xe(xe({},Mt.length===0?void 0:Et),{},{visibility:vt?"hidden":null})}),S.createElement("div",{className:Te("".concat(C,"-ink-bar"),ge({},"".concat(C,"-ink-bar-animated"),o.inkBar)),style:rt}))))),S.createElement(IBe,pt({},n,{removeAriaLabel:c==null?void 0:c.removeAriaLabel,ref:T,prefixCls:C,tabs:ft,className:!vt&&ye,tabMoving:!!Ye})),S.createElement(xle,{ref:I,position:"right",extra:l,prefixCls:C})))}),Lle=S.forwardRef(function(n,e){var t=n.prefixCls,i=n.className,r=n.style,o=n.id,s=n.active,a=n.tabKey,l=n.children;return S.createElement("div",{id:o&&"".concat(o,"-panel-").concat(a),role:"tabpanel",tabIndex:s?0:-1,"aria-labelledby":o&&"".concat(o,"-tab-").concat(a),"aria-hidden":!s,style:r,className:Te(t,s&&"".concat(t,"-active"),i),ref:e},l)}),NBe=["renderTabBar"],MBe=["label","key"],kBe=function(e){var t=e.renderTabBar,i=zn(e,NBe),r=S.useContext(SE),o=r.tabs;if(t){var s=xe(xe({},i),{},{panes:o.map(function(a){var l=a.label,u=a.key,c=zn(a,MBe);return S.createElement(Lle,pt({tab:l,key:u,tabKey:u},c))})});return t(s,_le)}return S.createElement(_le,i)},TBe=["key","forceRender","style","className","destroyInactiveTabPane"],EBe=function(e){var t=e.id,i=e.activeKey,r=e.animated,o=e.tabPosition,s=e.destroyInactiveTabPane,a=S.useContext(SE),l=a.prefixCls,u=a.tabs,c=r.tabPane,d="".concat(l,"-tabpane");return S.createElement("div",{className:Te("".concat(l,"-content-holder"))},S.createElement("div",{className:Te("".concat(l,"-content"),"".concat(l,"-content-").concat(o),ge({},"".concat(l,"-content-animated"),c))},u.map(function(h){var m=h.key,f=h.forceRender,g=h.style,b=h.className,y=h.destroyInactiveTabPane,C=zn(h,TBe),w=m===i;return S.createElement(ld,pt({key:m,visible:w,forceRender:f,removeOnLeave:!!(s||y),leavedClassName:"".concat(d,"-hidden")},r.tabPaneMotion),function(x,L){var I=x.style,D=x.className;return S.createElement(Lle,pt({},C,{prefixCls:d,id:t,tabKey:m,animated:c,active:w,style:xe(xe({},g),I),className:Te(b,D),ref:L}))})})))};function RBe(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{inkBar:!0,tabPane:!1},e;return n===!1?e={inkBar:!1,tabPane:!1}:n===!0?e={inkBar:!0,tabPane:!1}:e=xe({inkBar:!0},Xn(n)==="object"?n:{}),e.tabPaneMotion&&e.tabPane===void 0&&(e.tabPane=!0),!e.tabPaneMotion&&e.tabPane&&(e.tabPane=!1),e}var ZBe=["id","prefixCls","className","items","direction","activeKey","defaultActiveKey","editable","animated","tabPosition","tabBarGutter","tabBarStyle","tabBarExtraContent","locale","moreIcon","moreTransitionName","destroyInactiveTabPane","renderTabBar","onChange","onTabClick","onTabScroll","getPopupContainer","popupClassName","indicator"],Ile=0,WBe=S.forwardRef(function(n,e){var t=n.id,i=n.prefixCls,r=i===void 0?"rc-tabs":i,o=n.className,s=n.items,a=n.direction,l=n.activeKey,u=n.defaultActiveKey,c=n.editable,d=n.animated,h=n.tabPosition,m=h===void 0?"top":h,f=n.tabBarGutter,g=n.tabBarStyle,b=n.tabBarExtraContent,y=n.locale,C=n.moreIcon,w=n.moreTransitionName,x=n.destroyInactiveTabPane,L=n.renderTabBar,I=n.onChange,D=n.onTabClick,N=n.onTabScroll,T=n.getPopupContainer,R=n.popupClassName,E=n.indicator,W=zn(n,ZBe),Z=S.useMemo(function(){return(s||[]).filter(function(Ue){return Ue&&Xn(Ue)==="object"&&"key"in Ue})},[s]),V=a==="rtl",z=RBe(d),O=S.useState(!1),B=we(O,2),P=B[0],H=B[1];S.useEffect(function(){H(OT())},[]);var M=Jr(function(){var Ue;return(Ue=Z[0])===null||Ue===void 0?void 0:Ue.key},{value:l,defaultValue:u}),X=we(M,2),Y=X[0],A=X[1],te=S.useState(function(){return Z.findIndex(function(Ue){return Ue.key===Y})}),oe=we(te,2),ae=oe[0],le=oe[1];S.useEffect(function(){var Ue=Z.findIndex(function(ct){return ct.key===Y});if(Ue===-1){var He;Ue=Math.max(0,Math.min(ae,Z.length-1)),A((He=Z[Ue])===null||He===void 0?void 0:He.key)}le(Ue)},[Z.map(function(Ue){return Ue.key}).join("_"),Y,ae]);var ue=Jr(null,{value:t}),Ce=we(ue,2),pe=Ce[0],ce=Ce[1];S.useEffect(function(){t||(ce("rc-tabs-".concat(Ile)),Ile+=1)},[]);function De(Ue,He){D==null||D(Ue,He);var ct=Ue!==Y;A(Ue),ct&&(I==null||I(Ue))}var Me={id:pe,activeKey:Y,animated:z,tabPosition:m,rtl:V,mobile:P},ke=xe(xe({},Me),{},{editable:c,locale:y,moreIcon:C,moreTransitionName:w,tabBarGutter:f,onTabClick:De,onTabScroll:N,extra:b,style:g,panes:null,getPopupContainer:T,popupClassName:R,indicator:E});return S.createElement(SE.Provider,{value:{tabs:Z,prefixCls:r}},S.createElement("div",pt({ref:e,id:t,className:Te(r,"".concat(r,"-").concat(m),ge(ge(ge({},"".concat(r,"-mobile"),P),"".concat(r,"-editable"),c),"".concat(r,"-rtl"),V),o)},W),S.createElement(kBe,pt({},ke,{renderTabBar:L})),S.createElement(EBe,pt({destroyInactiveTabPane:x},Me,{animated:z}))))});const ABe={motionAppear:!1,motionEnter:!0,motionLeave:!0};function VBe(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{inkBar:!0,tabPane:!1},t;return e===!1?t={inkBar:!1,tabPane:!1}:e===!0?t={inkBar:!0,tabPane:!0}:t=Object.assign({inkBar:!0},typeof e=="object"?e:{}),t.tabPane&&(t.tabPaneMotion=Object.assign(Object.assign({},ABe),{motionName:cb(n,"switch")})),t}var GBe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);re)}function PBe(n,e){if(n)return n;const t=sd(e).map(i=>{if(S.isValidElement(i)){const{key:r,props:o}=i,s=o||{},{tab:a}=s,l=GBe(s,["tab"]);return Object.assign(Object.assign({key:String(r)},l),{label:a})}return null});return XBe(t)}const OBe=n=>{const{componentCls:e,motionDurationSlow:t}=n;return[{[e]:{[`${e}-switch`]:{"&-appear, &-enter":{transition:"none","&-start":{opacity:0},"&-active":{opacity:1,transition:`opacity ${t}`}},"&-leave":{position:"absolute",transition:"none",inset:0,"&-start":{opacity:1},"&-active":{opacity:0,transition:`opacity ${t}`}}}}},[Sm(n,"slide-up"),Sm(n,"slide-down")]]},BBe=n=>{const{componentCls:e,tabsCardPadding:t,cardBg:i,cardGutter:r,colorBorderSecondary:o,itemSelectedColor:s}=n;return{[`${e}-card`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{margin:0,padding:t,background:i,border:`${Ee(n.lineWidth)} ${n.lineType} ${o}`,transition:`all ${n.motionDurationSlow} ${n.motionEaseInOut}`},[`${e}-tab-active`]:{color:s,background:n.colorBgContainer},[`${e}-ink-bar`]:{visibility:"hidden"}},[`&${e}-top, &${e}-bottom`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab + ${e}-tab`]:{marginLeft:{_skip_check_:!0,value:Ee(r)}}}},[`&${e}-top`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{borderRadius:`${Ee(n.borderRadiusLG)} ${Ee(n.borderRadiusLG)} 0 0`},[`${e}-tab-active`]:{borderBottomColor:n.colorBgContainer}}},[`&${e}-bottom`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{borderRadius:`0 0 ${Ee(n.borderRadiusLG)} ${Ee(n.borderRadiusLG)}`},[`${e}-tab-active`]:{borderTopColor:n.colorBgContainer}}},[`&${e}-left, &${e}-right`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab + ${e}-tab`]:{marginTop:Ee(r)}}},[`&${e}-left`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{borderRadius:{_skip_check_:!0,value:`${Ee(n.borderRadiusLG)} 0 0 ${Ee(n.borderRadiusLG)}`}},[`${e}-tab-active`]:{borderRightColor:{_skip_check_:!0,value:n.colorBgContainer}}}},[`&${e}-right`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{borderRadius:{_skip_check_:!0,value:`0 ${Ee(n.borderRadiusLG)} ${Ee(n.borderRadiusLG)} 0`}},[`${e}-tab-active`]:{borderLeftColor:{_skip_check_:!0,value:n.colorBgContainer}}}}}}},zBe=n=>{const{componentCls:e,itemHoverColor:t,dropdownEdgeChildVerticalPadding:i}=n;return{[`${e}-dropdown`]:Object.assign(Object.assign({},uo(n)),{position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:n.zIndexPopup,display:"block","&-hidden":{display:"none"},[`${e}-dropdown-menu`]:{maxHeight:n.tabsDropdownHeight,margin:0,padding:`${Ee(i)} 0`,overflowX:"hidden",overflowY:"auto",textAlign:{_skip_check_:!0,value:"left"},listStyleType:"none",backgroundColor:n.colorBgContainer,backgroundClip:"padding-box",borderRadius:n.borderRadiusLG,outline:"none",boxShadow:n.boxShadowSecondary,"&-item":Object.assign(Object.assign({},ab),{display:"flex",alignItems:"center",minWidth:n.tabsDropdownWidth,margin:0,padding:`${Ee(n.paddingXXS)} ${Ee(n.paddingSM)}`,color:n.colorText,fontWeight:"normal",fontSize:n.fontSize,lineHeight:n.lineHeight,cursor:"pointer",transition:`all ${n.motionDurationSlow}`,"> span":{flex:1,whiteSpace:"nowrap"},"&-remove":{flex:"none",marginLeft:{_skip_check_:!0,value:n.marginSM},color:n.colorTextDescription,fontSize:n.fontSizeSM,background:"transparent",border:0,cursor:"pointer","&:hover":{color:t}},"&:hover":{background:n.controlItemBgHover},"&-disabled":{"&, &:hover":{color:n.colorTextDisabled,background:"transparent",cursor:"not-allowed"}}})}})}},HBe=n=>{const{componentCls:e,margin:t,colorBorderSecondary:i,horizontalMargin:r,verticalItemPadding:o,verticalItemMargin:s,calc:a}=n;return{[`${e}-top, ${e}-bottom`]:{flexDirection:"column",[`> ${e}-nav, > div > ${e}-nav`]:{margin:r,"&::before":{position:"absolute",right:{_skip_check_:!0,value:0},left:{_skip_check_:!0,value:0},borderBottom:`${Ee(n.lineWidth)} ${n.lineType} ${i}`,content:"''"},[`${e}-ink-bar`]:{height:n.lineWidthBold,"&-animated":{transition:`width ${n.motionDurationSlow}, left ${n.motionDurationSlow}, right ${n.motionDurationSlow}`}},[`${e}-nav-wrap`]:{"&::before, &::after":{top:0,bottom:0,width:n.controlHeight},"&::before":{left:{_skip_check_:!0,value:0},boxShadow:n.boxShadowTabsOverflowLeft},"&::after":{right:{_skip_check_:!0,value:0},boxShadow:n.boxShadowTabsOverflowRight},[`&${e}-nav-wrap-ping-left::before`]:{opacity:1},[`&${e}-nav-wrap-ping-right::after`]:{opacity:1}}}},[`${e}-top`]:{[`> ${e}-nav, - > div > ${e}-nav`]:{"&::before":{bottom:0},[`${e}-ink-bar`]:{bottom:0}}},[`${e}-bottom`]:{[`> ${e}-nav, > div > ${e}-nav`]:{order:1,marginTop:t,marginBottom:0,"&::before":{top:0},[`${e}-ink-bar`]:{top:0}},[`> ${e}-content-holder, > div > ${e}-content-holder`]:{order:0}},[`${e}-left, ${e}-right`]:{[`> ${e}-nav, > div > ${e}-nav`]:{flexDirection:"column",minWidth:a(n.controlHeight).mul(1.25).equal(),[`${e}-tab`]:{padding:o,textAlign:"center"},[`${e}-tab + ${e}-tab`]:{margin:s},[`${e}-nav-wrap`]:{flexDirection:"column","&::before, &::after":{right:{_skip_check_:!0,value:0},left:{_skip_check_:!0,value:0},height:n.controlHeight},"&::before":{top:0,boxShadow:n.boxShadowTabsOverflowTop},"&::after":{bottom:0,boxShadow:n.boxShadowTabsOverflowBottom},[`&${e}-nav-wrap-ping-top::before`]:{opacity:1},[`&${e}-nav-wrap-ping-bottom::after`]:{opacity:1}},[`${e}-ink-bar`]:{width:n.lineWidthBold,"&-animated":{transition:`height ${n.motionDurationSlow}, top ${n.motionDurationSlow}`}},[`${e}-nav-list, ${e}-nav-operations`]:{flex:"1 0 auto",flexDirection:"column"}}},[`${e}-left`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-ink-bar`]:{right:{_skip_check_:!0,value:0}}},[`> ${e}-content-holder, > div > ${e}-content-holder`]:{marginLeft:{_skip_check_:!0,value:Ee(a(n.lineWidth).mul(-1).equal())},borderLeft:{_skip_check_:!0,value:`${Ee(n.lineWidth)} ${n.lineType} ${n.colorBorder}`},[`> ${e}-content > ${e}-tabpane`]:{paddingLeft:{_skip_check_:!0,value:n.paddingLG}}}},[`${e}-right`]:{[`> ${e}-nav, > div > ${e}-nav`]:{order:1,[`${e}-ink-bar`]:{left:{_skip_check_:!0,value:0}}},[`> ${e}-content-holder, > div > ${e}-content-holder`]:{order:0,marginRight:{_skip_check_:!0,value:a(n.lineWidth).mul(-1).equal()},borderRight:{_skip_check_:!0,value:`${Ee(n.lineWidth)} ${n.lineType} ${n.colorBorder}`},[`> ${e}-content > ${e}-tabpane`]:{paddingRight:{_skip_check_:!0,value:n.paddingLG}}}}}},YBe=n=>{const{componentCls:e,cardPaddingSM:t,cardPaddingLG:i,horizontalItemPaddingSM:r,horizontalItemPaddingLG:o}=n;return{[e]:{"&-small":{[`> ${e}-nav`]:{[`${e}-tab`]:{padding:r,fontSize:n.titleFontSizeSM}}},"&-large":{[`> ${e}-nav`]:{[`${e}-tab`]:{padding:o,fontSize:n.titleFontSizeLG}}}},[`${e}-card`]:{[`&${e}-small`]:{[`> ${e}-nav`]:{[`${e}-tab`]:{padding:t}},[`&${e}-bottom`]:{[`> ${e}-nav ${e}-tab`]:{borderRadius:`0 0 ${Ee(n.borderRadius)} ${Ee(n.borderRadius)}`}},[`&${e}-top`]:{[`> ${e}-nav ${e}-tab`]:{borderRadius:`${Ee(n.borderRadius)} ${Ee(n.borderRadius)} 0 0`}},[`&${e}-right`]:{[`> ${e}-nav ${e}-tab`]:{borderRadius:{_skip_check_:!0,value:`0 ${Ee(n.borderRadius)} ${Ee(n.borderRadius)} 0`}}},[`&${e}-left`]:{[`> ${e}-nav ${e}-tab`]:{borderRadius:{_skip_check_:!0,value:`${Ee(n.borderRadius)} 0 0 ${Ee(n.borderRadius)}`}}}},[`&${e}-large`]:{[`> ${e}-nav`]:{[`${e}-tab`]:{padding:i}}}}}},UBe=n=>{const{componentCls:e,itemActiveColor:t,itemHoverColor:i,iconCls:r,tabsHorizontalItemMargin:o,horizontalItemPadding:s,itemSelectedColor:a,itemColor:l}=n,u=`${e}-tab`;return{[u]:{position:"relative",WebkitTouchCallout:"none",WebkitTapHighlightColor:"transparent",display:"inline-flex",alignItems:"center",padding:s,fontSize:n.titleFontSize,background:"transparent",border:0,outline:"none",cursor:"pointer",color:l,"&-btn, &-remove":Object.assign({"&:focus:not(:focus-visible), &:active":{color:t}},$1(n)),"&-btn":{outline:"none",transition:`all ${n.motionDurationSlow}`,[`${u}-icon:not(:last-child)`]:{marginInlineEnd:n.marginSM}},"&-remove":{flex:"none",marginRight:{_skip_check_:!0,value:n.calc(n.marginXXS).mul(-1).equal()},marginLeft:{_skip_check_:!0,value:n.marginXS},color:n.colorTextDescription,fontSize:n.fontSizeSM,background:"transparent",border:"none",outline:"none",cursor:"pointer",transition:`all ${n.motionDurationSlow}`,"&:hover":{color:n.colorTextHeading}},"&:hover":{color:i},[`&${u}-active ${u}-btn`]:{color:a,textShadow:n.tabsActiveTextShadow},[`&${u}-disabled`]:{color:n.colorTextDisabled,cursor:"not-allowed"},[`&${u}-disabled ${u}-btn, &${u}-disabled ${e}-remove`]:{"&:focus, &:active":{color:n.colorTextDisabled}},[`& ${u}-remove ${r}`]:{margin:0},[`${r}:not(:last-child)`]:{marginRight:{_skip_check_:!0,value:n.marginSM}}},[`${u} + ${u}`]:{margin:{_skip_check_:!0,value:o}}}},KBe=n=>{const{componentCls:e,tabsHorizontalItemMarginRTL:t,iconCls:i,cardGutter:r,calc:o}=n;return{[`${e}-rtl`]:{direction:"rtl",[`${e}-nav`]:{[`${e}-tab`]:{margin:{_skip_check_:!0,value:t},[`${e}-tab:last-of-type`]:{marginLeft:{_skip_check_:!0,value:0}},[i]:{marginRight:{_skip_check_:!0,value:0},marginLeft:{_skip_check_:!0,value:Ee(n.marginSM)}},[`${e}-tab-remove`]:{marginRight:{_skip_check_:!0,value:Ee(n.marginXS)},marginLeft:{_skip_check_:!0,value:Ee(o(n.marginXXS).mul(-1).equal())},[i]:{margin:0}}}},[`&${e}-left`]:{[`> ${e}-nav`]:{order:1},[`> ${e}-content-holder`]:{order:0}},[`&${e}-right`]:{[`> ${e}-nav`]:{order:0},[`> ${e}-content-holder`]:{order:1}},[`&${e}-card${e}-top, &${e}-card${e}-bottom`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab + ${e}-tab`]:{marginRight:{_skip_check_:!0,value:r},marginLeft:{_skip_check_:!0,value:0}}}}},[`${e}-dropdown-rtl`]:{direction:"rtl"},[`${e}-menu-item`]:{[`${e}-dropdown-rtl`]:{textAlign:{_skip_check_:!0,value:"right"}}}}},JBe=n=>{const{componentCls:e,tabsCardPadding:t,cardHeight:i,cardGutter:r,itemHoverColor:o,itemActiveColor:s,colorBorderSecondary:a}=n;return{[e]:Object.assign(Object.assign(Object.assign(Object.assign({},uo(n)),{display:"flex",[`> ${e}-nav, > div > ${e}-nav`]:{position:"relative",display:"flex",flex:"none",alignItems:"center",[`${e}-nav-wrap`]:{position:"relative",display:"flex",flex:"auto",alignSelf:"stretch",overflow:"hidden",whiteSpace:"nowrap",transform:"translate(0)","&::before, &::after":{position:"absolute",zIndex:1,opacity:0,transition:`opacity ${n.motionDurationSlow}`,content:"''",pointerEvents:"none"}},[`${e}-nav-list`]:{position:"relative",display:"flex",transition:`opacity ${n.motionDurationSlow}`},[`${e}-nav-operations`]:{display:"flex",alignSelf:"stretch"},[`${e}-nav-operations-hidden`]:{position:"absolute",visibility:"hidden",pointerEvents:"none"},[`${e}-nav-more`]:{position:"relative",padding:t,background:"transparent",border:0,color:n.colorText,"&::after":{position:"absolute",right:{_skip_check_:!0,value:0},bottom:0,left:{_skip_check_:!0,value:0},height:n.calc(n.controlHeightLG).div(8).equal(),transform:"translateY(100%)",content:"''"}},[`${e}-nav-add`]:Object.assign({minWidth:i,minHeight:i,marginLeft:{_skip_check_:!0,value:r},padding:`0 ${Ee(n.paddingXS)}`,background:"transparent",border:`${Ee(n.lineWidth)} ${n.lineType} ${a}`,borderRadius:`${Ee(n.borderRadiusLG)} ${Ee(n.borderRadiusLG)} 0 0`,outline:"none",cursor:"pointer",color:n.colorText,transition:`all ${n.motionDurationSlow} ${n.motionEaseInOut}`,"&:hover":{color:o},"&:active, &:focus:not(:focus-visible)":{color:s}},$1(n))},[`${e}-extra-content`]:{flex:"none"},[`${e}-ink-bar`]:{position:"absolute",background:n.inkBarColor,pointerEvents:"none"}}),UBe(n)),{[`${e}-content`]:{position:"relative",width:"100%"},[`${e}-content-holder`]:{flex:"auto",minWidth:0,minHeight:0},[`${e}-tabpane`]:{outline:"none","&-hidden":{display:"none"}}}),[`${e}-centered`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-nav-wrap`]:{[`&:not([class*='${e}-nav-wrap-ping'])`]:{justifyContent:"center"}}}}}},jBe=Ho("Tabs",n=>{const e=Ui(n,{tabsCardPadding:n.cardPadding,dropdownEdgeChildVerticalPadding:n.paddingXXS,tabsActiveTextShadow:"0 0 0.25px currentcolor",tabsDropdownHeight:200,tabsDropdownWidth:120,tabsHorizontalItemMargin:`0 0 0 ${Ee(n.horizontalItemGutter)}`,tabsHorizontalItemMarginRTL:`0 0 0 ${Ee(n.horizontalItemGutter)}`});return[YBe(e),KBe(e),HBe(e),zBe(e),BBe(e),JBe(e),OBe(e)]},n=>{const e=n.controlHeightLG;return{zIndexPopup:n.zIndexPopupBase+50,cardBg:n.colorFillAlter,cardHeight:e,cardPadding:`${(e-Math.round(n.fontSize*n.lineHeight))/2-n.lineWidth}px ${n.padding}px`,cardPaddingSM:`${n.paddingXXS*1.5}px ${n.padding}px`,cardPaddingLG:`${n.paddingXS}px ${n.padding}px ${n.paddingXXS*1.5}px`,titleFontSize:n.fontSize,titleFontSizeLG:n.fontSizeLG,titleFontSizeSM:n.fontSize,inkBarColor:n.colorPrimary,horizontalMargin:`0 0 ${n.margin}px 0`,horizontalItemGutter:32,horizontalItemMargin:"",horizontalItemMarginRTL:"",horizontalItemPadding:`${n.paddingSM}px 0`,horizontalItemPaddingSM:`${n.paddingXS}px 0`,horizontalItemPaddingLG:`${n.padding}px 0`,verticalItemPadding:`${n.paddingXS}px ${n.paddingLG}px`,verticalItemMargin:`${n.margin}px 0 0 0`,itemColor:n.colorText,itemSelectedColor:n.colorPrimary,itemHoverColor:n.colorPrimaryHover,itemActiveColor:n.colorPrimaryActive,cardGutter:n.marginXXS/2}}),QBe=()=>null;var $Be=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{var e,t,i,r,o,s,a,l;const{type:u,className:c,rootClassName:d,size:h,onEdit:m,hideAdd:f,centered:g,addIcon:b,removeIcon:v,moreIcon:C,popupClassName:S,children:x,items:_,animated:F,style:D,indicatorSize:M,indicator:T}=n,Z=$Be(n,["type","className","rootClassName","size","onEdit","hideAdd","centered","addIcon","removeIcon","moreIcon","popupClassName","children","items","animated","style","indicatorSize","indicator"]),{prefixCls:E}=Z,{direction:R,tabs:W,getPrefixCls:A,getPopupContainer:z}=w.useContext(Rn),O=A("tabs",E),B=_s(O),[P,H,k]=jBe(O,B);let X;u==="editable-card"&&(X={onEdit:(ue,Ce)=>{let{key:pe,event:ce}=Ce;m==null||m(ue==="add"?ce:pe,ue)},removeIcon:(e=v??(W==null?void 0:W.removeIcon))!==null&&e!==void 0?e:w.createElement(lb,null),addIcon:(b??(W==null?void 0:W.addIcon))||w.createElement(bBe,null),showAdd:f!==!0});const Y=A(),V=pc(h),te=PBe(_,x),oe=ABe(O,F),ae=Object.assign(Object.assign({},W==null?void 0:W.style),D),le={align:(t=T==null?void 0:T.align)!==null&&t!==void 0?t:(i=W==null?void 0:W.indicator)===null||i===void 0?void 0:i.align,size:(a=(o=(r=T==null?void 0:T.size)!==null&&r!==void 0?r:M)!==null&&o!==void 0?o:(s=W==null?void 0:W.indicator)===null||s===void 0?void 0:s.size)!==null&&a!==void 0?a:W==null?void 0:W.indicatorSize};return P(w.createElement(RBe,Object.assign({direction:R,getPopupContainer:z,moreTransitionName:`${Y}-slide-up`},Z,{items:te,className:Te({[`${O}-${V}`]:V,[`${O}-card`]:["card","editable-card"].includes(u),[`${O}-editable-card`]:u==="editable-card",[`${O}-centered`]:g},W==null?void 0:W.className,c,d,H,k,B),popupClassName:Te(S,H,k,B),style:ae,editable:X,moreIcon:(l=C??(W==null?void 0:W.moreIcon))!==null&&l!==void 0?l:w.createElement(YP,null),prefixCls:O,animated:oe,indicator:le})))};Ile.TabPane=QBe;const Dle=Ile;function qBe(n,e,t){var i=t||{},r=i.noTrailing,o=r===void 0?!1:r,s=i.noLeading,a=s===void 0?!1:s,l=i.debounceMode,u=l===void 0?void 0:l,c,d=!1,h=0;function m(){c&&clearTimeout(c)}function f(b){var v=b||{},C=v.upcomingOnly,S=C===void 0?!1:C;m(),d=!S}function g(){for(var b=arguments.length,v=new Array(b),C=0;Cn?a?(h=Date.now(),o||(c=setTimeout(u?F:_,n))):_():o!==!0&&(c=setTimeout(u?F:_,u===void 0?n-x:n))}return g.cancel=f,g}function eze(n,e,t){var i=t||{},r=i.atBegin,o=r===void 0?!1:r;return qBe(n,e,{debounceMode:o!==!1})}const Mle=w.createContext({}),tze=n=>{const{componentCls:e}=n;return{[e]:{display:"flex",flexFlow:"row wrap",minWidth:0,"&::before, &::after":{display:"flex"},"&-no-wrap":{flexWrap:"nowrap"},"&-start":{justifyContent:"flex-start"},"&-center":{justifyContent:"center"},"&-end":{justifyContent:"flex-end"},"&-space-between":{justifyContent:"space-between"},"&-space-around":{justifyContent:"space-around"},"&-space-evenly":{justifyContent:"space-evenly"},"&-top":{alignItems:"flex-start"},"&-middle":{alignItems:"center"},"&-bottom":{alignItems:"flex-end"}}}},nze=n=>{const{componentCls:e}=n;return{[e]:{position:"relative",maxWidth:"100%",minHeight:1}}},ize=(n,e)=>{const{prefixCls:t,componentCls:i,gridColumns:r}=n,o={};for(let s=r;s>=0;s--)s===0?(o[`${i}${e}-${s}`]={display:"none"},o[`${i}-push-${s}`]={insetInlineStart:"auto"},o[`${i}-pull-${s}`]={insetInlineEnd:"auto"},o[`${i}${e}-push-${s}`]={insetInlineStart:"auto"},o[`${i}${e}-pull-${s}`]={insetInlineEnd:"auto"},o[`${i}${e}-offset-${s}`]={marginInlineStart:0},o[`${i}${e}-order-${s}`]={order:0}):(o[`${i}${e}-${s}`]=[{"--ant-display":"block",display:"block"},{display:"var(--ant-display)",flex:`0 0 ${s/r*100}%`,maxWidth:`${s/r*100}%`}],o[`${i}${e}-push-${s}`]={insetInlineStart:`${s/r*100}%`},o[`${i}${e}-pull-${s}`]={insetInlineEnd:`${s/r*100}%`},o[`${i}${e}-offset-${s}`]={marginInlineStart:`${s/r*100}%`},o[`${i}${e}-order-${s}`]={order:s});return o[`${i}${e}-flex`]={flex:`var(--${t}${e}-flex)`},o},bO=(n,e)=>ize(n,e),rze=(n,e,t)=>({[`@media (min-width: ${Ee(e)})`]:Object.assign({},bO(n,t))}),oze=()=>({}),sze=()=>({}),aze=Ho("Grid",tze,oze),lze=Ho("Grid",n=>{const e=Ui(n,{gridColumns:24}),t={"-sm":e.screenSMMin,"-md":e.screenMDMin,"-lg":e.screenLGMin,"-xl":e.screenXLMin,"-xxl":e.screenXXLMin};return[nze(e),bO(e,""),bO(e,"-xs"),Object.keys(t).map(i=>rze(e,t[i],i)).reduce((i,r)=>Object.assign(Object.assign({},i),r),{})]},sze);var uze=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const{getPrefixCls:t,direction:i}=w.useContext(Rn),{gutter:r,wrap:o}=w.useContext(Mle),{prefixCls:s,span:a,order:l,offset:u,push:c,pull:d,className:h,children:m,flex:f,style:g}=n,b=uze(n,["prefixCls","span","order","offset","push","pull","className","children","flex","style"]),v=t("col",s),[C,S,x]=lze(v),_={};let F={};cze.forEach(T=>{let Z={};const E=n[T];typeof E=="number"?Z.span=E:typeof E=="object"&&(Z=E||{}),delete b[T],F=Object.assign(Object.assign({},F),{[`${v}-${T}-${Z.span}`]:Z.span!==void 0,[`${v}-${T}-order-${Z.order}`]:Z.order||Z.order===0,[`${v}-${T}-offset-${Z.offset}`]:Z.offset||Z.offset===0,[`${v}-${T}-push-${Z.push}`]:Z.push||Z.push===0,[`${v}-${T}-pull-${Z.pull}`]:Z.pull||Z.pull===0,[`${v}-rtl`]:i==="rtl"}),Z.flex&&(F[`${v}-${T}-flex`]=!0,_[`--${v}-${T}-flex`]=kle(Z.flex))});const D=Te(v,{[`${v}-${a}`]:a!==void 0,[`${v}-order-${l}`]:l,[`${v}-offset-${u}`]:u,[`${v}-push-${c}`]:c,[`${v}-pull-${d}`]:d},h,F,S,x),M={};if(r&&r[0]>0){const T=r[0]/2;M.paddingLeft=T,M.paddingRight=T}return f&&(M.flex=kle(f),o===!1&&!M.minWidth&&(M.minWidth=0)),C(w.createElement("div",Object.assign({},b,{style:Object.assign(Object.assign(Object.assign({},M),g),_),className:D,ref:e}),m))});var dze=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{if(typeof n=="string"&&i(n),typeof n=="object")for(let o=0;o{r()},[JSON.stringify(n),e]),t}const hze=w.forwardRef((n,e)=>{const{prefixCls:t,justify:i,align:r,className:o,style:s,children:a,gutter:l=0,wrap:u}=n,c=dze(n,["prefixCls","justify","align","className","style","children","gutter","wrap"]),{getPrefixCls:d,direction:h}=w.useContext(Rn),[m,f]=w.useState({xs:!0,sm:!0,md:!0,lg:!0,xl:!0,xxl:!0}),[g,b]=w.useState({xs:!1,sm:!1,md:!1,lg:!1,xl:!1,xxl:!1}),v=Tle(r,g),C=Tle(i,g),S=w.useRef(l),x=_Xe();w.useEffect(()=>{const B=x.subscribe(P=>{b(P);const H=S.current||0;(!Array.isArray(H)&&typeof H=="object"||Array.isArray(H)&&(typeof H[0]=="object"||typeof H[1]=="object"))&&f(P)});return()=>x.unsubscribe(B)},[]);const _=()=>{const B=[void 0,void 0];return(Array.isArray(l)?l:[l,void 0]).forEach((H,k)=>{if(typeof H=="object")for(let X=0;X0?Z[0]/-2:void 0;W&&(R.marginLeft=W,R.marginRight=W);const[A,z]=Z;R.rowGap=z;const O=w.useMemo(()=>({gutter:[A,z],wrap:u}),[A,z,u]);return D(w.createElement(Mle.Provider,{value:O},w.createElement("div",Object.assign({},c,{className:E,style:Object.assign(Object.assign({},R),s),ref:e}),a)))});var mze={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 00140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z"}}]},name:"up",theme:"outlined"};const fze=mze;var gze=function(e,t){return w.createElement(So,pt({},e,{ref:t,icon:fze}))},pze=w.forwardRef(gze);const bze=pze;function vO(){return typeof BigInt=="function"}function Ele(n){return!n&&n!==0&&!Number.isNaN(n)||!String(n).trim()}function fv(n){var e=n.trim(),t=e.startsWith("-");t&&(e=e.slice(1)),e=e.replace(/(\.\d*[^0])0*$/,"$1").replace(/\.0*$/,"").replace(/^0+/,""),e.startsWith(".")&&(e="0".concat(e));var i=e||"0",r=i.split("."),o=r[0]||"0",s=r[1]||"0";o==="0"&&s==="0"&&(t=!1);var a=t?"-":"";return{negative:t,negativeStr:a,trimStr:i,integerStr:o,decimalStr:s,fullStr:"".concat(a).concat(i)}}function yO(n){var e=String(n);return!Number.isNaN(Number(e))&&e.includes("e")}function gv(n){var e=String(n);if(yO(n)){var t=Number(e.slice(e.indexOf("e-")+2)),i=e.match(/\.(\d+)/);return i!=null&&i[1]&&(t+=i[1].length),t}return e.includes(".")&&CO(e)?e.length-e.indexOf(".")-1:0}function LE(n){var e=String(n);if(yO(n)){if(n>Number.MAX_SAFE_INTEGER)return String(vO()?BigInt(n).toString():Number.MAX_SAFE_INTEGER);if(n0&&arguments[0]!==void 0?arguments[0]:!0;return t?this.isInvalidate()?"":fv("".concat(this.getMark()).concat(this.getIntegerStr(),".").concat(this.getDecimalStr())).fullStr:this.origin}}]),n}(),yze=function(){function n(e){if(xs(this,n),ge(this,"origin",""),ge(this,"number",void 0),ge(this,"empty",void 0),Ele(e)){this.empty=!0;return}this.origin=String(e),this.number=Number(e)}return Ls(n,[{key:"negate",value:function(){return new n(-this.toNumber())}},{key:"add",value:function(t){if(this.isInvalidate())return new n(t);var i=Number(t);if(Number.isNaN(i))return this;var r=this.number+i;if(r>Number.MAX_SAFE_INTEGER)return new n(Number.MAX_SAFE_INTEGER);if(rNumber.MAX_SAFE_INTEGER)return new n(Number.MAX_SAFE_INTEGER);if(r0&&arguments[0]!==void 0?arguments[0]:!0;return t?this.isInvalidate()?"":LE(this.number):this.origin}}]),n}();function dh(n){return vO()?new vze(n):new yze(n)}function _E(n,e,t){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(n==="")return"";var r=fv(n),o=r.negativeStr,s=r.integerStr,a=r.decimalStr,l="".concat(e).concat(a),u="".concat(o).concat(s);if(t>=0){var c=Number(a[t]);if(c>=5&&!i){var d=dh(n).add("".concat(o,"0.").concat("0".repeat(t)).concat(10-c));return _E(d.toString(),e,t,i)}return t===0?u:"".concat(u).concat(e).concat(a.padEnd(t,"0").slice(0,t))}return l===".0"?u:"".concat(u).concat(l)}function Cze(n){return!!(n.addonBefore||n.addonAfter)}function wze(n){return!!(n.prefix||n.suffix||n.allowClear)}function Zle(n,e,t){var i=e.cloneNode(!0),r=Object.create(n,{target:{value:i},currentTarget:{value:i}});return i.value=t,typeof e.selectionStart=="number"&&typeof e.selectionEnd=="number"&&(i.selectionStart=e.selectionStart,i.selectionEnd=e.selectionEnd),r}function FE(n,e,t,i){if(t){var r=e;if(e.type==="click"){r=Zle(e,n,""),t(r);return}if(n.type!=="file"&&i!==void 0){r=Zle(e,n,i),t(r);return}t(r)}}function Wle(n,e){if(n){n.focus(e);var t=e||{},i=t.cursor;if(i){var r=n.value.length;switch(i){case"start":n.setSelectionRange(0,0);break;case"end":n.setSelectionRange(r,r);break;default:n.setSelectionRange(0,r)}}}}var wO=function(e){var t,i,r=e.inputElement,o=e.children,s=e.prefixCls,a=e.prefix,l=e.suffix,u=e.addonBefore,c=e.addonAfter,d=e.className,h=e.style,m=e.disabled,f=e.readOnly,g=e.focused,b=e.triggerFocus,v=e.allowClear,C=e.value,S=e.handleReset,x=e.hidden,_=e.classes,F=e.classNames,D=e.dataAttrs,M=e.styles,T=e.components,Z=o??r,E=(T==null?void 0:T.affixWrapper)||"span",R=(T==null?void 0:T.groupWrapper)||"span",W=(T==null?void 0:T.wrapper)||"span",A=(T==null?void 0:T.groupAddon)||"span",z=w.useRef(null),O=function(Ne){var Ue;(Ue=z.current)!==null&&Ue!==void 0&&Ue.contains(Ne.target)&&(b==null||b())},B=wze(e),P=w.cloneElement(Z,{value:C,className:Te(Z.props.className,!B&&(F==null?void 0:F.variant))||null});if(B){var H,k=null;if(v){var X,Y=!m&&!f&&C,V="".concat(s,"-clear-icon"),te=Xn(v)==="object"&&v!==null&&v!==void 0&&v.clearIcon?v.clearIcon:"✖";k=ze.createElement("span",{onClick:S,onMouseDown:function(Ne){return Ne.preventDefault()},className:Te(V,(X={},ge(X,"".concat(V,"-hidden"),!Y),ge(X,"".concat(V,"-has-suffix"),!!l),X)),role:"button",tabIndex:-1},te)}var oe="".concat(s,"-affix-wrapper"),ae=Te(oe,(H={},ge(H,"".concat(s,"-disabled"),m),ge(H,"".concat(oe,"-disabled"),m),ge(H,"".concat(oe,"-focused"),g),ge(H,"".concat(oe,"-readonly"),f),ge(H,"".concat(oe,"-input-with-clear-btn"),l&&v&&C),H),_==null?void 0:_.affixWrapper,F==null?void 0:F.affixWrapper,F==null?void 0:F.variant),le=(l||v)&&ze.createElement("span",{className:Te("".concat(s,"-suffix"),F==null?void 0:F.suffix),style:M==null?void 0:M.suffix},k,l);P=ze.createElement(E,pt({className:ae,style:M==null?void 0:M.affixWrapper,onClick:O},D==null?void 0:D.affixWrapper,{ref:z}),a&&ze.createElement("span",{className:Te("".concat(s,"-prefix"),F==null?void 0:F.prefix),style:M==null?void 0:M.prefix},a),P,le)}if(Cze(e)){var ue="".concat(s,"-group"),Ce="".concat(ue,"-addon"),pe="".concat(ue,"-wrapper"),ce=Te("".concat(s,"-wrapper"),ue,_==null?void 0:_.wrapper,F==null?void 0:F.wrapper),De=Te(pe,ge({},"".concat(pe,"-disabled"),m),_==null?void 0:_.group,F==null?void 0:F.groupWrapper);P=ze.createElement(R,{className:De},ze.createElement(W,{className:ce},u&&ze.createElement(A,{className:Ce},u),P,c&&ze.createElement(A,{className:Ce},c)))}return ze.cloneElement(P,{className:Te((t=P.props)===null||t===void 0?void 0:t.className,d)||null,style:xe(xe({},(i=P.props)===null||i===void 0?void 0:i.style),h),hidden:x})},Sze=["show"];function Rle(n,e){return w.useMemo(function(){var t={};e&&(t.show=Xn(e)==="object"&&e.formatter?e.formatter:!!e),t=xe(xe({},t),n);var i=t,r=i.show,o=zn(i,Sze);return xe(xe({},o),{},{show:!!r,showFormatter:typeof r=="function"?r:void 0,strategy:o.strategy||function(s){return s.length}})},[n,e])}var xze=["autoComplete","onChange","onFocus","onBlur","onPressEnter","onKeyDown","prefixCls","disabled","htmlSize","className","maxLength","suffix","showCount","count","type","classes","classNames","styles","onCompositionStart","onCompositionEnd"],Lze=w.forwardRef(function(n,e){var t=n.autoComplete,i=n.onChange,r=n.onFocus,o=n.onBlur,s=n.onPressEnter,a=n.onKeyDown,l=n.prefixCls,u=l===void 0?"rc-input":l,c=n.disabled,d=n.htmlSize,h=n.className,m=n.maxLength,f=n.suffix,g=n.showCount,b=n.count,v=n.type,C=v===void 0?"text":v,S=n.classes,x=n.classNames,_=n.styles,F=n.onCompositionStart,D=n.onCompositionEnd,M=zn(n,xze),T=w.useState(!1),Z=Se(T,2),E=Z[0],R=Z[1],W=w.useRef(!1),A=w.useRef(null),z=function(he){A.current&&Wle(A.current,he)},O=Jr(n.defaultValue,{value:n.value}),B=Se(O,2),P=B[0],H=B[1],k=P==null?"":String(P),X=w.useState(null),Y=Se(X,2),V=Y[0],te=Y[1],oe=Rle(b,g),ae=oe.max||m,le=oe.strategy(k),ue=!!ae&&le>ae;w.useImperativeHandle(e,function(){return{focus:z,blur:function(){var he;(he=A.current)===null||he===void 0||he.blur()},setSelectionRange:function(he,de,me){var j;(j=A.current)===null||j===void 0||j.setSelectionRange(he,de,me)},select:function(){var he;(he=A.current)===null||he===void 0||he.select()},input:A.current}}),w.useEffect(function(){R(function(it){return it&&c?!1:it})},[c]);var Ce=function(he,de,me){var j=de;if(!W.current&&oe.exceedFormatter&&oe.max&&oe.strategy(de)>oe.max){if(j=oe.exceedFormatter(de,{max:oe.max}),de!==j){var $,q;te([(($=A.current)===null||$===void 0?void 0:$.selectionStart)||0,((q=A.current)===null||q===void 0?void 0:q.selectionEnd)||0])}}else if(me.source==="compositionEnd")return;H(j),A.current&&FE(A.current,he,i,j)};w.useEffect(function(){if(V){var it;(it=A.current)===null||it===void 0||it.setSelectionRange.apply(it,_t(V))}},[V]);var pe=function(he){Ce(he,he.target.value,{source:"change"})},ce=function(he){W.current=!1,Ce(he,he.currentTarget.value,{source:"compositionEnd"}),D==null||D(he)},De=function(he){s&&he.key==="Enter"&&s(he),a==null||a(he)},ke=function(he){R(!0),r==null||r(he)},Ne=function(he){R(!1),o==null||o(he)},Ue=function(he){H(""),z(),A.current&&FE(A.current,he,i)},He=ue&&"".concat(u,"-out-of-range"),ct=function(){var he=la(n,["prefixCls","onPressEnter","addonBefore","addonAfter","prefix","suffix","allowClear","defaultValue","showCount","count","classes","htmlSize","styles","classNames"]);return ze.createElement("input",pt({autoComplete:t},he,{onChange:pe,onFocus:ke,onBlur:Ne,onKeyDown:De,className:Te(u,ge({},"".concat(u,"-disabled"),c),x==null?void 0:x.input),style:_==null?void 0:_.input,ref:A,size:d,type:C,onCompositionStart:function(me){W.current=!0,F==null||F(me)},onCompositionEnd:ce}))},vt=function(){var he=Number(ae)>0;if(f||oe.show){var de=oe.showFormatter?oe.showFormatter({value:k,count:le,maxLength:ae}):"".concat(le).concat(he?" / ".concat(ae):"");return ze.createElement(ze.Fragment,null,oe.show&&ze.createElement("span",{className:Te("".concat(u,"-show-count-suffix"),ge({},"".concat(u,"-show-count-has-suffix"),!!f),x==null?void 0:x.count),style:xe({},_==null?void 0:_.count)},de),f)}return null};return ze.createElement(wO,pt({},M,{prefixCls:u,className:Te(h,He),handleReset:Ue,value:k,focused:E,triggerFocus:z,suffix:vt(),disabled:c,classes:S,classNames:x,styles:_}),ct())});function _ze(n,e){var t=w.useRef(null);function i(){try{var o=n.selectionStart,s=n.selectionEnd,a=n.value,l=a.substring(0,o),u=a.substring(s);t.current={start:o,end:s,value:a,beforeTxt:l,afterTxt:u}}catch{}}function r(){if(n&&t.current&&e)try{var o=n.value,s=t.current,a=s.beforeTxt,l=s.afterTxt,u=s.start,c=o.length;if(o.endsWith(l))c=o.length-t.current.afterTxt.length;else if(o.startsWith(a))c=a.length;else{var d=a[u-1],h=o.indexOf(d,u-1);h!==-1&&(c=h+1)}n.setSelectionRange(c,c)}catch(m){aa(!1,"Something warning of cursor restore. Please fire issue about this: ".concat(m.message))}}return[i,r]}var Fze=function(){var e=w.useState(!1),t=Se(e,2),i=t[0],r=t[1];return dr(function(){r(OT())},[]),i},Ize=200,Dze=600;function Mze(n){var e=n.prefixCls,t=n.upNode,i=n.downNode,r=n.upDisabled,o=n.downDisabled,s=n.onStep,a=w.useRef(),l=w.useRef([]),u=w.useRef();u.current=s;var c=function(){clearTimeout(a.current)},d=function(S,x){S.preventDefault(),c(),u.current(x);function _(){u.current(x),a.current=setTimeout(_,Ize)}a.current=setTimeout(_,Dze)};w.useEffect(function(){return function(){c(),l.current.forEach(function(C){return xi.cancel(C)})}},[]);var h=Fze();if(h)return null;var m="".concat(e,"-handler"),f=Te(m,"".concat(m,"-up"),ge({},"".concat(m,"-up-disabled"),r)),g=Te(m,"".concat(m,"-down"),ge({},"".concat(m,"-down-disabled"),o)),b=function(){return l.current.push(xi(c))},v={unselectable:"on",role:"button",onMouseUp:b,onMouseLeave:b};return w.createElement("div",{className:"".concat(m,"-wrap")},w.createElement("span",pt({},v,{onMouseDown:function(S){d(S,!0)},"aria-label":"Increase Value","aria-disabled":r,className:f}),t||w.createElement("span",{unselectable:"on",className:"".concat(e,"-handler-up-inner")})),w.createElement("span",pt({},v,{onMouseDown:function(S){d(S,!1)},"aria-label":"Decrease Value","aria-disabled":o,className:g}),i||w.createElement("span",{unselectable:"on",className:"".concat(e,"-handler-down-inner")})))}function Vle(n){var e=typeof n=="number"?LE(n):fv(n).fullStr,t=e.includes(".");return t?fv(e.replace(/(\d)\.(\d)/g,"$1$2.")).fullStr:n+"0"}const kze=function(){var n=w.useRef(0),e=function(){xi.cancel(n.current)};return w.useEffect(function(){return e},[]),function(t){e(),n.current=xi(function(){t()})}};var Nze=["prefixCls","className","style","min","max","step","defaultValue","value","disabled","readOnly","upHandler","downHandler","keyboard","changeOnWheel","controls","classNames","stringMode","parser","formatter","precision","decimalSeparator","onChange","onInput","onPressEnter","onStep","changeOnBlur"],Tze=["disabled","style","prefixCls","value","prefix","suffix","addonBefore","addonAfter","className","classNames"],Ale=function(e,t){return e||t.isEmpty()?t.toString():t.toNumber()},Gle=function(e){var t=dh(e);return t.isInvalidate()?null:t},Eze=w.forwardRef(function(n,e){var t,i=n.prefixCls,r=i===void 0?"rc-input-number":i,o=n.className,s=n.style,a=n.min,l=n.max,u=n.step,c=u===void 0?1:u,d=n.defaultValue,h=n.value,m=n.disabled,f=n.readOnly,g=n.upHandler,b=n.downHandler,v=n.keyboard,C=n.changeOnWheel,S=C===void 0?!1:C,x=n.controls,_=x===void 0?!0:x;n.classNames;var F=n.stringMode,D=n.parser,M=n.formatter,T=n.precision,Z=n.decimalSeparator,E=n.onChange,R=n.onInput,W=n.onPressEnter,A=n.onStep,z=n.changeOnBlur,O=z===void 0?!0:z,B=zn(n,Nze),P="".concat(r,"-input"),H=w.useRef(null),k=w.useState(!1),X=Se(k,2),Y=X[0],V=X[1],te=w.useRef(!1),oe=w.useRef(!1),ae=w.useRef(!1),le=w.useState(function(){return dh(h??d)}),ue=Se(le,2),Ce=ue[0],pe=ue[1];function ce(Et){h===void 0&&pe(Et)}var De=w.useCallback(function(Et,kt){if(!kt)return T>=0?T:Math.max(gv(Et),gv(c))},[T,c]),ke=w.useCallback(function(Et){var kt=String(Et);if(D)return D(kt);var fe=kt;return Z&&(fe=fe.replace(Z,".")),fe.replace(/[^\w.-]+/g,"")},[D,Z]),Ne=w.useRef(""),Ue=w.useCallback(function(Et,kt){if(M)return M(Et,{userTyping:kt,input:String(Ne.current)});var fe=typeof Et=="number"?LE(Et):Et;if(!kt){var _e=De(fe,kt);if(CO(fe)&&(Z||_e>=0)){var We=Z||".";fe=_E(fe,We,_e)}}return fe},[M,De,Z]),He=w.useState(function(){var Et=d??h;return Ce.isInvalidate()&&["string","number"].includes(Xn(Et))?Number.isNaN(Et)?"":Et:Ue(Ce.toString(),!1)}),ct=Se(He,2),vt=ct[0],it=ct[1];Ne.current=vt;function he(Et,kt){it(Ue(Et.isInvalidate()?Et.toString(!1):Et.toString(!kt),kt))}var de=w.useMemo(function(){return Gle(l)},[l,T]),me=w.useMemo(function(){return Gle(a)},[a,T]),j=w.useMemo(function(){return!de||!Ce||Ce.isInvalidate()?!1:de.lessEquals(Ce)},[de,Ce]),$=w.useMemo(function(){return!me||!Ce||Ce.isInvalidate()?!1:Ce.lessEquals(me)},[me,Ce]),q=_ze(H.current,Y),ee=Se(q,2),ve=ee[0],Le=ee[1],Me=function(kt){return de&&!kt.lessEquals(de)?de:me&&!me.lessEquals(kt)?me:null},Be=function(kt){return!Me(kt)},$e=function(kt,fe){var _e=kt,We=Be(_e)||_e.isEmpty();if(!_e.isEmpty()&&!fe&&(_e=Me(_e)||_e,We=!0),!f&&!m&&We){var Xe=_e.toString(),ft=De(Xe,fe);return ft>=0&&(_e=dh(_E(Xe,".",ft)),Be(_e)||(_e=dh(_E(Xe,".",ft,!0)))),_e.equals(Ce)||(ce(_e),E==null||E(_e.isEmpty()?null:Ale(F,_e)),h===void 0&&he(_e,fe)),_e}return Ce},Re=kze(),ht=function Et(kt){if(ve(),Ne.current=kt,it(kt),!oe.current){var fe=ke(kt),_e=dh(fe);_e.isNaN()||$e(_e,!0)}R==null||R(kt),Re(function(){var We=kt;D||(We=kt.replace(/。/g,".")),We!==kt&&Et(We)})},Ye=function(){oe.current=!0},Ge=function(){oe.current=!1,ht(H.current.value)},mt=function(kt){ht(kt.target.value)},St=function(kt){var fe;if(!(kt&&j||!kt&&$)){te.current=!1;var _e=dh(ae.current?Vle(c):c);kt||(_e=_e.negate());var We=(Ce||dh(0)).add(_e.toString()),Xe=$e(We,!1);A==null||A(Ale(F,Xe),{offset:ae.current?Vle(c):c,type:kt?"up":"down"}),(fe=H.current)===null||fe===void 0||fe.focus()}},Kt=function(kt){var fe=dh(ke(vt)),_e=fe;fe.isNaN()?_e=$e(Ce,kt):_e=$e(fe,kt),h!==void 0?he(Ce,!1):_e.isNaN()||he(_e,!1)},Rt=function(){te.current=!0},Yt=function(kt){var fe=kt.key,_e=kt.shiftKey;te.current=!0,ae.current=_e,fe==="Enter"&&(oe.current||(te.current=!1),Kt(!1),W==null||W(kt)),v!==!1&&!oe.current&&["Up","ArrowUp","Down","ArrowDown"].includes(fe)&&(St(fe==="Up"||fe==="ArrowUp"),kt.preventDefault())},Tn=function(){te.current=!1,ae.current=!1};w.useEffect(function(){if(S&&Y){var Et=function(_e){St(_e.deltaY<0),_e.preventDefault()},kt=H.current;if(kt)return kt.addEventListener("wheel",Et,{passive:!1}),function(){return kt.removeEventListener("wheel",Et)}}});var li=function(){O&&Kt(!1),V(!1),te.current=!1};return Y1(function(){Ce.isInvalidate()||he(Ce,!1)},[T,M]),Y1(function(){var Et=dh(h);pe(Et);var kt=dh(ke(vt));(!Et.equals(kt)||!te.current||M)&&he(Et,te.current)},[h]),Y1(function(){M&&Le()},[vt]),w.createElement("div",{className:Te(r,o,(t={},ge(t,"".concat(r,"-focused"),Y),ge(t,"".concat(r,"-disabled"),m),ge(t,"".concat(r,"-readonly"),f),ge(t,"".concat(r,"-not-a-number"),Ce.isNaN()),ge(t,"".concat(r,"-out-of-range"),!Ce.isInvalidate()&&!Be(Ce)),t)),style:s,onFocus:function(){V(!0)},onBlur:li,onKeyDown:Yt,onKeyUp:Tn,onCompositionStart:Ye,onCompositionEnd:Ge,onBeforeInput:Rt},_&&w.createElement(Mze,{prefixCls:r,upNode:g,downNode:b,upDisabled:j,downDisabled:$,onStep:St}),w.createElement("div",{className:"".concat(P,"-wrap")},w.createElement("input",pt({autoComplete:"off",role:"spinbutton","aria-valuemin":a,"aria-valuemax":l,"aria-valuenow":Ce.isInvalidate()?null:Ce.toString(),step:c},B,{ref:_u(H,e),className:P,value:vt,onChange:mt,disabled:m,readOnly:f}))))}),Xle=w.forwardRef(function(n,e){var t=n.disabled,i=n.style,r=n.prefixCls,o=n.value,s=n.prefix,a=n.suffix,l=n.addonBefore,u=n.addonAfter,c=n.className,d=n.classNames,h=zn(n,Tze),m=w.useRef(null),f=function(b){m.current&&Wle(m.current,b)};return w.createElement(wO,{className:c,triggerFocus:f,prefixCls:r,value:o,disabled:t,style:i,prefix:s,suffix:a,addonAfter:u,addonBefore:l,classNames:d,components:{affixWrapper:"div",groupWrapper:"div",wrapper:"div",groupAddon:"div"}},w.createElement(Eze,pt({prefixCls:r,disabled:t,ref:_u(m,e),className:d==null?void 0:d.input},h)))});Xle.displayName="InputNumber";const Zze=n=>{var e;const t=(e=n.handleVisible)!==null&&e!==void 0?e:"auto";return Object.assign(Object.assign({},yE(n)),{controlWidth:90,handleWidth:n.controlHeightSM-n.lineWidth*2,handleFontSize:n.fontSize/2,handleVisible:t,handleActiveBg:n.colorFillAlter,handleBg:n.colorBgContainer,filledHandleBg:new zo(n.colorFillSecondary).onBackground(n.colorBgContainer).toHexString(),handleHoverColor:n.colorPrimary,handleBorderColor:n.colorBorder,handleOpacity:t===!0?1:0})},Ple=(n,e)=>{let{componentCls:t,borderRadiusSM:i,borderRadiusLG:r}=n;const o=e==="lg"?r:i;return{[`&-${e}`]:{[`${t}-handler-wrap`]:{borderStartEndRadius:o,borderEndEndRadius:o},[`${t}-handler-up`]:{borderStartEndRadius:o},[`${t}-handler-down`]:{borderEndEndRadius:o}}}},Wze=n=>{const{componentCls:e,lineWidth:t,lineType:i,borderRadius:r,fontSizeLG:o,controlHeightLG:s,controlHeightSM:a,colorError:l,paddingInlineSM:u,paddingBlockSM:c,paddingBlockLG:d,paddingInlineLG:h,colorTextDescription:m,motionDurationMid:f,handleHoverColor:g,paddingInline:b,paddingBlock:v,handleBg:C,handleActiveBg:S,colorTextDisabled:x,borderRadiusSM:_,borderRadiusLG:F,controlWidth:D,handleOpacity:M,handleBorderColor:T,filledHandleBg:Z,lineHeightLG:E,calc:R}=n;return[{[e]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},uo(n)),CE(n)),{display:"inline-block",width:D,margin:0,padding:0,borderRadius:r}),cO(n,{[`${e}-handler-wrap`]:{background:C,[`${e}-handler-down`]:{borderBlockStart:`${Ee(t)} ${i} ${T}`}}})),hO(n,{[`${e}-handler-wrap`]:{background:Z,[`${e}-handler-down`]:{borderBlockStart:`${Ee(t)} ${i} ${T}`}},"&:focus-within":{[`${e}-handler-wrap`]:{background:C}}})),dO(n)),{"&-rtl":{direction:"rtl",[`${e}-input`]:{direction:"rtl"}},"&-lg":{padding:0,fontSize:o,lineHeight:E,borderRadius:F,[`input${e}-input`]:{height:R(s).sub(R(t).mul(2)).equal(),padding:`${Ee(d)} ${Ee(h)}`}},"&-sm":{padding:0,borderRadius:_,[`input${e}-input`]:{height:R(a).sub(R(t).mul(2)).equal(),padding:`${Ee(c)} ${Ee(u)}`}},"&-out-of-range":{[`${e}-input-wrap`]:{input:{color:l}}},"&-group":Object.assign(Object.assign(Object.assign({},uo(n)),dle(n)),{"&-wrapper":Object.assign(Object.assign(Object.assign({display:"inline-block",textAlign:"start",verticalAlign:"top",[`${e}-affix-wrapper`]:{width:"100%"},"&-lg":{[`${e}-group-addon`]:{borderRadius:F,fontSize:n.fontSizeLG}},"&-sm":{[`${e}-group-addon`]:{borderRadius:_}}},rle(n)),lle(n)),{[`&:not(${e}-compact-first-item):not(${e}-compact-last-item)${e}-compact-item`]:{[`${e}, ${e}-group-addon`]:{borderRadius:0}},[`&:not(${e}-compact-last-item)${e}-compact-first-item`]:{[`${e}, ${e}-group-addon`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&:not(${e}-compact-first-item)${e}-compact-last-item`]:{[`${e}, ${e}-group-addon`]:{borderStartStartRadius:0,borderEndStartRadius:0}}})}),[`&-disabled ${e}-input`]:{cursor:"not-allowed"},[e]:{"&-input":Object.assign(Object.assign(Object.assign(Object.assign({},uo(n)),{width:"100%",padding:`${Ee(v)} ${Ee(b)}`,textAlign:"start",backgroundColor:"transparent",border:0,borderRadius:r,outline:0,transition:`all ${f} linear`,appearance:"textfield",fontSize:"inherit"}),mO(n.colorTextPlaceholder)),{'&[type="number"]::-webkit-inner-spin-button, &[type="number"]::-webkit-outer-spin-button':{margin:0,webkitAppearance:"none",appearance:"none"}})}})},{[e]:Object.assign(Object.assign(Object.assign({[`&:hover ${e}-handler-wrap, &-focused ${e}-handler-wrap`]:{opacity:1},[`${e}-handler-wrap`]:{position:"absolute",insetBlockStart:0,insetInlineEnd:0,width:n.handleWidth,height:"100%",borderStartStartRadius:0,borderStartEndRadius:r,borderEndEndRadius:r,borderEndStartRadius:0,opacity:M,display:"flex",flexDirection:"column",alignItems:"stretch",transition:`opacity ${f} linear ${f}`,[`${e}-handler`]:{display:"flex",alignItems:"center",justifyContent:"center",flex:"auto",height:"40%",[` + > div > ${e}-nav`]:{"&::before":{bottom:0},[`${e}-ink-bar`]:{bottom:0}}},[`${e}-bottom`]:{[`> ${e}-nav, > div > ${e}-nav`]:{order:1,marginTop:t,marginBottom:0,"&::before":{top:0},[`${e}-ink-bar`]:{top:0}},[`> ${e}-content-holder, > div > ${e}-content-holder`]:{order:0}},[`${e}-left, ${e}-right`]:{[`> ${e}-nav, > div > ${e}-nav`]:{flexDirection:"column",minWidth:a(n.controlHeight).mul(1.25).equal(),[`${e}-tab`]:{padding:o,textAlign:"center"},[`${e}-tab + ${e}-tab`]:{margin:s},[`${e}-nav-wrap`]:{flexDirection:"column","&::before, &::after":{right:{_skip_check_:!0,value:0},left:{_skip_check_:!0,value:0},height:n.controlHeight},"&::before":{top:0,boxShadow:n.boxShadowTabsOverflowTop},"&::after":{bottom:0,boxShadow:n.boxShadowTabsOverflowBottom},[`&${e}-nav-wrap-ping-top::before`]:{opacity:1},[`&${e}-nav-wrap-ping-bottom::after`]:{opacity:1}},[`${e}-ink-bar`]:{width:n.lineWidthBold,"&-animated":{transition:`height ${n.motionDurationSlow}, top ${n.motionDurationSlow}`}},[`${e}-nav-list, ${e}-nav-operations`]:{flex:"1 0 auto",flexDirection:"column"}}},[`${e}-left`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-ink-bar`]:{right:{_skip_check_:!0,value:0}}},[`> ${e}-content-holder, > div > ${e}-content-holder`]:{marginLeft:{_skip_check_:!0,value:Ee(a(n.lineWidth).mul(-1).equal())},borderLeft:{_skip_check_:!0,value:`${Ee(n.lineWidth)} ${n.lineType} ${n.colorBorder}`},[`> ${e}-content > ${e}-tabpane`]:{paddingLeft:{_skip_check_:!0,value:n.paddingLG}}}},[`${e}-right`]:{[`> ${e}-nav, > div > ${e}-nav`]:{order:1,[`${e}-ink-bar`]:{left:{_skip_check_:!0,value:0}}},[`> ${e}-content-holder, > div > ${e}-content-holder`]:{order:0,marginRight:{_skip_check_:!0,value:a(n.lineWidth).mul(-1).equal()},borderRight:{_skip_check_:!0,value:`${Ee(n.lineWidth)} ${n.lineType} ${n.colorBorder}`},[`> ${e}-content > ${e}-tabpane`]:{paddingRight:{_skip_check_:!0,value:n.paddingLG}}}}}},YBe=n=>{const{componentCls:e,cardPaddingSM:t,cardPaddingLG:i,horizontalItemPaddingSM:r,horizontalItemPaddingLG:o}=n;return{[e]:{"&-small":{[`> ${e}-nav`]:{[`${e}-tab`]:{padding:r,fontSize:n.titleFontSizeSM}}},"&-large":{[`> ${e}-nav`]:{[`${e}-tab`]:{padding:o,fontSize:n.titleFontSizeLG}}}},[`${e}-card`]:{[`&${e}-small`]:{[`> ${e}-nav`]:{[`${e}-tab`]:{padding:t}},[`&${e}-bottom`]:{[`> ${e}-nav ${e}-tab`]:{borderRadius:`0 0 ${Ee(n.borderRadius)} ${Ee(n.borderRadius)}`}},[`&${e}-top`]:{[`> ${e}-nav ${e}-tab`]:{borderRadius:`${Ee(n.borderRadius)} ${Ee(n.borderRadius)} 0 0`}},[`&${e}-right`]:{[`> ${e}-nav ${e}-tab`]:{borderRadius:{_skip_check_:!0,value:`0 ${Ee(n.borderRadius)} ${Ee(n.borderRadius)} 0`}}},[`&${e}-left`]:{[`> ${e}-nav ${e}-tab`]:{borderRadius:{_skip_check_:!0,value:`${Ee(n.borderRadius)} 0 0 ${Ee(n.borderRadius)}`}}}},[`&${e}-large`]:{[`> ${e}-nav`]:{[`${e}-tab`]:{padding:i}}}}}},UBe=n=>{const{componentCls:e,itemActiveColor:t,itemHoverColor:i,iconCls:r,tabsHorizontalItemMargin:o,horizontalItemPadding:s,itemSelectedColor:a,itemColor:l}=n,u=`${e}-tab`;return{[u]:{position:"relative",WebkitTouchCallout:"none",WebkitTapHighlightColor:"transparent",display:"inline-flex",alignItems:"center",padding:s,fontSize:n.titleFontSize,background:"transparent",border:0,outline:"none",cursor:"pointer",color:l,"&-btn, &-remove":Object.assign({"&:focus:not(:focus-visible), &:active":{color:t}},$1(n)),"&-btn":{outline:"none",transition:`all ${n.motionDurationSlow}`,[`${u}-icon:not(:last-child)`]:{marginInlineEnd:n.marginSM}},"&-remove":{flex:"none",marginRight:{_skip_check_:!0,value:n.calc(n.marginXXS).mul(-1).equal()},marginLeft:{_skip_check_:!0,value:n.marginXS},color:n.colorTextDescription,fontSize:n.fontSizeSM,background:"transparent",border:"none",outline:"none",cursor:"pointer",transition:`all ${n.motionDurationSlow}`,"&:hover":{color:n.colorTextHeading}},"&:hover":{color:i},[`&${u}-active ${u}-btn`]:{color:a,textShadow:n.tabsActiveTextShadow},[`&${u}-disabled`]:{color:n.colorTextDisabled,cursor:"not-allowed"},[`&${u}-disabled ${u}-btn, &${u}-disabled ${e}-remove`]:{"&:focus, &:active":{color:n.colorTextDisabled}},[`& ${u}-remove ${r}`]:{margin:0},[`${r}:not(:last-child)`]:{marginRight:{_skip_check_:!0,value:n.marginSM}}},[`${u} + ${u}`]:{margin:{_skip_check_:!0,value:o}}}},KBe=n=>{const{componentCls:e,tabsHorizontalItemMarginRTL:t,iconCls:i,cardGutter:r,calc:o}=n;return{[`${e}-rtl`]:{direction:"rtl",[`${e}-nav`]:{[`${e}-tab`]:{margin:{_skip_check_:!0,value:t},[`${e}-tab:last-of-type`]:{marginLeft:{_skip_check_:!0,value:0}},[i]:{marginRight:{_skip_check_:!0,value:0},marginLeft:{_skip_check_:!0,value:Ee(n.marginSM)}},[`${e}-tab-remove`]:{marginRight:{_skip_check_:!0,value:Ee(n.marginXS)},marginLeft:{_skip_check_:!0,value:Ee(o(n.marginXXS).mul(-1).equal())},[i]:{margin:0}}}},[`&${e}-left`]:{[`> ${e}-nav`]:{order:1},[`> ${e}-content-holder`]:{order:0}},[`&${e}-right`]:{[`> ${e}-nav`]:{order:0},[`> ${e}-content-holder`]:{order:1}},[`&${e}-card${e}-top, &${e}-card${e}-bottom`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab + ${e}-tab`]:{marginRight:{_skip_check_:!0,value:r},marginLeft:{_skip_check_:!0,value:0}}}}},[`${e}-dropdown-rtl`]:{direction:"rtl"},[`${e}-menu-item`]:{[`${e}-dropdown-rtl`]:{textAlign:{_skip_check_:!0,value:"right"}}}}},JBe=n=>{const{componentCls:e,tabsCardPadding:t,cardHeight:i,cardGutter:r,itemHoverColor:o,itemActiveColor:s,colorBorderSecondary:a}=n;return{[e]:Object.assign(Object.assign(Object.assign(Object.assign({},uo(n)),{display:"flex",[`> ${e}-nav, > div > ${e}-nav`]:{position:"relative",display:"flex",flex:"none",alignItems:"center",[`${e}-nav-wrap`]:{position:"relative",display:"flex",flex:"auto",alignSelf:"stretch",overflow:"hidden",whiteSpace:"nowrap",transform:"translate(0)","&::before, &::after":{position:"absolute",zIndex:1,opacity:0,transition:`opacity ${n.motionDurationSlow}`,content:"''",pointerEvents:"none"}},[`${e}-nav-list`]:{position:"relative",display:"flex",transition:`opacity ${n.motionDurationSlow}`},[`${e}-nav-operations`]:{display:"flex",alignSelf:"stretch"},[`${e}-nav-operations-hidden`]:{position:"absolute",visibility:"hidden",pointerEvents:"none"},[`${e}-nav-more`]:{position:"relative",padding:t,background:"transparent",border:0,color:n.colorText,"&::after":{position:"absolute",right:{_skip_check_:!0,value:0},bottom:0,left:{_skip_check_:!0,value:0},height:n.calc(n.controlHeightLG).div(8).equal(),transform:"translateY(100%)",content:"''"}},[`${e}-nav-add`]:Object.assign({minWidth:i,minHeight:i,marginLeft:{_skip_check_:!0,value:r},padding:`0 ${Ee(n.paddingXS)}`,background:"transparent",border:`${Ee(n.lineWidth)} ${n.lineType} ${a}`,borderRadius:`${Ee(n.borderRadiusLG)} ${Ee(n.borderRadiusLG)} 0 0`,outline:"none",cursor:"pointer",color:n.colorText,transition:`all ${n.motionDurationSlow} ${n.motionEaseInOut}`,"&:hover":{color:o},"&:active, &:focus:not(:focus-visible)":{color:s}},$1(n))},[`${e}-extra-content`]:{flex:"none"},[`${e}-ink-bar`]:{position:"absolute",background:n.inkBarColor,pointerEvents:"none"}}),UBe(n)),{[`${e}-content`]:{position:"relative",width:"100%"},[`${e}-content-holder`]:{flex:"auto",minWidth:0,minHeight:0},[`${e}-tabpane`]:{outline:"none","&-hidden":{display:"none"}}}),[`${e}-centered`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-nav-wrap`]:{[`&:not([class*='${e}-nav-wrap-ping'])`]:{justifyContent:"center"}}}}}},jBe=Ho("Tabs",n=>{const e=Yi(n,{tabsCardPadding:n.cardPadding,dropdownEdgeChildVerticalPadding:n.paddingXXS,tabsActiveTextShadow:"0 0 0.25px currentcolor",tabsDropdownHeight:200,tabsDropdownWidth:120,tabsHorizontalItemMargin:`0 0 0 ${Ee(n.horizontalItemGutter)}`,tabsHorizontalItemMarginRTL:`0 0 0 ${Ee(n.horizontalItemGutter)}`});return[YBe(e),KBe(e),HBe(e),zBe(e),BBe(e),JBe(e),OBe(e)]},n=>{const e=n.controlHeightLG;return{zIndexPopup:n.zIndexPopupBase+50,cardBg:n.colorFillAlter,cardHeight:e,cardPadding:`${(e-Math.round(n.fontSize*n.lineHeight))/2-n.lineWidth}px ${n.padding}px`,cardPaddingSM:`${n.paddingXXS*1.5}px ${n.padding}px`,cardPaddingLG:`${n.paddingXS}px ${n.padding}px ${n.paddingXXS*1.5}px`,titleFontSize:n.fontSize,titleFontSizeLG:n.fontSizeLG,titleFontSizeSM:n.fontSize,inkBarColor:n.colorPrimary,horizontalMargin:`0 0 ${n.margin}px 0`,horizontalItemGutter:32,horizontalItemMargin:"",horizontalItemMarginRTL:"",horizontalItemPadding:`${n.paddingSM}px 0`,horizontalItemPaddingSM:`${n.paddingXS}px 0`,horizontalItemPaddingLG:`${n.padding}px 0`,verticalItemPadding:`${n.paddingXS}px ${n.paddingLG}px`,verticalItemMargin:`${n.margin}px 0 0 0`,itemColor:n.colorText,itemSelectedColor:n.colorPrimary,itemHoverColor:n.colorPrimaryHover,itemActiveColor:n.colorPrimaryActive,cardGutter:n.marginXXS/2}}),QBe=()=>null;var $Be=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{var e,t,i,r,o,s,a,l;const{type:u,className:c,rootClassName:d,size:h,onEdit:m,hideAdd:f,centered:g,addIcon:b,removeIcon:y,moreIcon:C,popupClassName:w,children:x,items:L,animated:I,style:D,indicatorSize:N,indicator:T}=n,R=$Be(n,["type","className","rootClassName","size","onEdit","hideAdd","centered","addIcon","removeIcon","moreIcon","popupClassName","children","items","animated","style","indicatorSize","indicator"]),{prefixCls:E}=R,{direction:W,tabs:Z,getPrefixCls:V,getPopupContainer:z}=S.useContext(Wn),O=V("tabs",E),B=Ls(O),[P,H,M]=jBe(O,B);let X;u==="editable-card"&&(X={onEdit:(ue,Ce)=>{let{key:pe,event:ce}=Ce;m==null||m(ue==="add"?ce:pe,ue)},removeIcon:(e=y??(Z==null?void 0:Z.removeIcon))!==null&&e!==void 0?e:S.createElement(lb,null),addIcon:(b??(Z==null?void 0:Z.addIcon))||S.createElement(bBe,null),showAdd:f!==!0});const Y=V(),A=pc(h),te=PBe(L,x),oe=VBe(O,I),ae=Object.assign(Object.assign({},Z==null?void 0:Z.style),D),le={align:(t=T==null?void 0:T.align)!==null&&t!==void 0?t:(i=Z==null?void 0:Z.indicator)===null||i===void 0?void 0:i.align,size:(a=(o=(r=T==null?void 0:T.size)!==null&&r!==void 0?r:N)!==null&&o!==void 0?o:(s=Z==null?void 0:Z.indicator)===null||s===void 0?void 0:s.size)!==null&&a!==void 0?a:Z==null?void 0:Z.indicatorSize};return P(S.createElement(WBe,Object.assign({direction:W,getPopupContainer:z,moreTransitionName:`${Y}-slide-up`},R,{items:te,className:Te({[`${O}-${A}`]:A,[`${O}-card`]:["card","editable-card"].includes(u),[`${O}-editable-card`]:u==="editable-card",[`${O}-centered`]:g},Z==null?void 0:Z.className,c,d,H,M,B),popupClassName:Te(w,H,M,B),style:ae,editable:X,moreIcon:(l=C??(Z==null?void 0:Z.moreIcon))!==null&&l!==void 0?l:S.createElement(YP,null),prefixCls:O,animated:oe,indicator:le})))};Fle.TabPane=QBe;const Dle=Fle;function qBe(n,e,t){var i=t||{},r=i.noTrailing,o=r===void 0?!1:r,s=i.noLeading,a=s===void 0?!1:s,l=i.debounceMode,u=l===void 0?void 0:l,c,d=!1,h=0;function m(){c&&clearTimeout(c)}function f(b){var y=b||{},C=y.upcomingOnly,w=C===void 0?!1:C;m(),d=!w}function g(){for(var b=arguments.length,y=new Array(b),C=0;Cn?a?(h=Date.now(),o||(c=setTimeout(u?I:L,n))):L():o!==!0&&(c=setTimeout(u?I:L,u===void 0?n-x:n))}return g.cancel=f,g}function eze(n,e,t){var i=t||{},r=i.atBegin,o=r===void 0?!1:r;return qBe(n,e,{debounceMode:o!==!1})}const Nle=S.createContext({}),tze=n=>{const{componentCls:e}=n;return{[e]:{display:"flex",flexFlow:"row wrap",minWidth:0,"&::before, &::after":{display:"flex"},"&-no-wrap":{flexWrap:"nowrap"},"&-start":{justifyContent:"flex-start"},"&-center":{justifyContent:"center"},"&-end":{justifyContent:"flex-end"},"&-space-between":{justifyContent:"space-between"},"&-space-around":{justifyContent:"space-around"},"&-space-evenly":{justifyContent:"space-evenly"},"&-top":{alignItems:"flex-start"},"&-middle":{alignItems:"center"},"&-bottom":{alignItems:"flex-end"}}}},nze=n=>{const{componentCls:e}=n;return{[e]:{position:"relative",maxWidth:"100%",minHeight:1}}},ize=(n,e)=>{const{prefixCls:t,componentCls:i,gridColumns:r}=n,o={};for(let s=r;s>=0;s--)s===0?(o[`${i}${e}-${s}`]={display:"none"},o[`${i}-push-${s}`]={insetInlineStart:"auto"},o[`${i}-pull-${s}`]={insetInlineEnd:"auto"},o[`${i}${e}-push-${s}`]={insetInlineStart:"auto"},o[`${i}${e}-pull-${s}`]={insetInlineEnd:"auto"},o[`${i}${e}-offset-${s}`]={marginInlineStart:0},o[`${i}${e}-order-${s}`]={order:0}):(o[`${i}${e}-${s}`]=[{"--ant-display":"block",display:"block"},{display:"var(--ant-display)",flex:`0 0 ${s/r*100}%`,maxWidth:`${s/r*100}%`}],o[`${i}${e}-push-${s}`]={insetInlineStart:`${s/r*100}%`},o[`${i}${e}-pull-${s}`]={insetInlineEnd:`${s/r*100}%`},o[`${i}${e}-offset-${s}`]={marginInlineStart:`${s/r*100}%`},o[`${i}${e}-order-${s}`]={order:s});return o[`${i}${e}-flex`]={flex:`var(--${t}${e}-flex)`},o},bO=(n,e)=>ize(n,e),rze=(n,e,t)=>({[`@media (min-width: ${Ee(e)})`]:Object.assign({},bO(n,t))}),oze=()=>({}),sze=()=>({}),aze=Ho("Grid",tze,oze),lze=Ho("Grid",n=>{const e=Yi(n,{gridColumns:24}),t={"-sm":e.screenSMMin,"-md":e.screenMDMin,"-lg":e.screenLGMin,"-xl":e.screenXLMin,"-xxl":e.screenXXLMin};return[nze(e),bO(e,""),bO(e,"-xs"),Object.keys(t).map(i=>rze(e,t[i],i)).reduce((i,r)=>Object.assign(Object.assign({},i),r),{})]},sze);var uze=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const{getPrefixCls:t,direction:i}=S.useContext(Wn),{gutter:r,wrap:o}=S.useContext(Nle),{prefixCls:s,span:a,order:l,offset:u,push:c,pull:d,className:h,children:m,flex:f,style:g}=n,b=uze(n,["prefixCls","span","order","offset","push","pull","className","children","flex","style"]),y=t("col",s),[C,w,x]=lze(y),L={};let I={};cze.forEach(T=>{let R={};const E=n[T];typeof E=="number"?R.span=E:typeof E=="object"&&(R=E||{}),delete b[T],I=Object.assign(Object.assign({},I),{[`${y}-${T}-${R.span}`]:R.span!==void 0,[`${y}-${T}-order-${R.order}`]:R.order||R.order===0,[`${y}-${T}-offset-${R.offset}`]:R.offset||R.offset===0,[`${y}-${T}-push-${R.push}`]:R.push||R.push===0,[`${y}-${T}-pull-${R.pull}`]:R.pull||R.pull===0,[`${y}-rtl`]:i==="rtl"}),R.flex&&(I[`${y}-${T}-flex`]=!0,L[`--${y}-${T}-flex`]=Mle(R.flex))});const D=Te(y,{[`${y}-${a}`]:a!==void 0,[`${y}-order-${l}`]:l,[`${y}-offset-${u}`]:u,[`${y}-push-${c}`]:c,[`${y}-pull-${d}`]:d},h,I,w,x),N={};if(r&&r[0]>0){const T=r[0]/2;N.paddingLeft=T,N.paddingRight=T}return f&&(N.flex=Mle(f),o===!1&&!N.minWidth&&(N.minWidth=0)),C(S.createElement("div",Object.assign({},b,{style:Object.assign(Object.assign(Object.assign({},N),g),L),className:D,ref:e}),m))});var dze=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{if(typeof n=="string"&&i(n),typeof n=="object")for(let o=0;o{r()},[JSON.stringify(n),e]),t}const hze=S.forwardRef((n,e)=>{const{prefixCls:t,justify:i,align:r,className:o,style:s,children:a,gutter:l=0,wrap:u}=n,c=dze(n,["prefixCls","justify","align","className","style","children","gutter","wrap"]),{getPrefixCls:d,direction:h}=S.useContext(Wn),[m,f]=S.useState({xs:!0,sm:!0,md:!0,lg:!0,xl:!0,xxl:!0}),[g,b]=S.useState({xs:!1,sm:!1,md:!1,lg:!1,xl:!1,xxl:!1}),y=Tle(r,g),C=Tle(i,g),w=S.useRef(l),x=LXe();S.useEffect(()=>{const B=x.subscribe(P=>{b(P);const H=w.current||0;(!Array.isArray(H)&&typeof H=="object"||Array.isArray(H)&&(typeof H[0]=="object"||typeof H[1]=="object"))&&f(P)});return()=>x.unsubscribe(B)},[]);const L=()=>{const B=[void 0,void 0];return(Array.isArray(l)?l:[l,void 0]).forEach((H,M)=>{if(typeof H=="object")for(let X=0;X0?R[0]/-2:void 0;Z&&(W.marginLeft=Z,W.marginRight=Z);const[V,z]=R;W.rowGap=z;const O=S.useMemo(()=>({gutter:[V,z],wrap:u}),[V,z,u]);return D(S.createElement(Nle.Provider,{value:O},S.createElement("div",Object.assign({},c,{className:E,style:Object.assign(Object.assign({},W),s),ref:e}),a)))});var mze={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 00140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z"}}]},name:"up",theme:"outlined"};const fze=mze;var gze=function(e,t){return S.createElement(wo,pt({},e,{ref:t,icon:fze}))},pze=S.forwardRef(gze);const bze=pze;function yO(){return typeof BigInt=="function"}function Ele(n){return!n&&n!==0&&!Number.isNaN(n)||!String(n).trim()}function fy(n){var e=n.trim(),t=e.startsWith("-");t&&(e=e.slice(1)),e=e.replace(/(\.\d*[^0])0*$/,"$1").replace(/\.0*$/,"").replace(/^0+/,""),e.startsWith(".")&&(e="0".concat(e));var i=e||"0",r=i.split("."),o=r[0]||"0",s=r[1]||"0";o==="0"&&s==="0"&&(t=!1);var a=t?"-":"";return{negative:t,negativeStr:a,trimStr:i,integerStr:o,decimalStr:s,fullStr:"".concat(a).concat(i)}}function vO(n){var e=String(n);return!Number.isNaN(Number(e))&&e.includes("e")}function gy(n){var e=String(n);if(vO(n)){var t=Number(e.slice(e.indexOf("e-")+2)),i=e.match(/\.(\d+)/);return i!=null&&i[1]&&(t+=i[1].length),t}return e.includes(".")&&CO(e)?e.length-e.indexOf(".")-1:0}function _E(n){var e=String(n);if(vO(n)){if(n>Number.MAX_SAFE_INTEGER)return String(yO()?BigInt(n).toString():Number.MAX_SAFE_INTEGER);if(n0&&arguments[0]!==void 0?arguments[0]:!0;return t?this.isInvalidate()?"":fy("".concat(this.getMark()).concat(this.getIntegerStr(),".").concat(this.getDecimalStr())).fullStr:this.origin}}]),n}(),vze=function(){function n(e){if(xs(this,n),ge(this,"origin",""),ge(this,"number",void 0),ge(this,"empty",void 0),Ele(e)){this.empty=!0;return}this.origin=String(e),this.number=Number(e)}return _s(n,[{key:"negate",value:function(){return new n(-this.toNumber())}},{key:"add",value:function(t){if(this.isInvalidate())return new n(t);var i=Number(t);if(Number.isNaN(i))return this;var r=this.number+i;if(r>Number.MAX_SAFE_INTEGER)return new n(Number.MAX_SAFE_INTEGER);if(rNumber.MAX_SAFE_INTEGER)return new n(Number.MAX_SAFE_INTEGER);if(r0&&arguments[0]!==void 0?arguments[0]:!0;return t?this.isInvalidate()?"":_E(this.number):this.origin}}]),n}();function ch(n){return yO()?new yze(n):new vze(n)}function LE(n,e,t){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(n==="")return"";var r=fy(n),o=r.negativeStr,s=r.integerStr,a=r.decimalStr,l="".concat(e).concat(a),u="".concat(o).concat(s);if(t>=0){var c=Number(a[t]);if(c>=5&&!i){var d=ch(n).add("".concat(o,"0.").concat("0".repeat(t)).concat(10-c));return LE(d.toString(),e,t,i)}return t===0?u:"".concat(u).concat(e).concat(a.padEnd(t,"0").slice(0,t))}return l===".0"?u:"".concat(u).concat(l)}function Cze(n){return!!(n.addonBefore||n.addonAfter)}function Sze(n){return!!(n.prefix||n.suffix||n.allowClear)}function Rle(n,e,t){var i=e.cloneNode(!0),r=Object.create(n,{target:{value:i},currentTarget:{value:i}});return i.value=t,typeof e.selectionStart=="number"&&typeof e.selectionEnd=="number"&&(i.selectionStart=e.selectionStart,i.selectionEnd=e.selectionEnd),r}function IE(n,e,t,i){if(t){var r=e;if(e.type==="click"){r=Rle(e,n,""),t(r);return}if(n.type!=="file"&&i!==void 0){r=Rle(e,n,i),t(r);return}t(r)}}function Zle(n,e){if(n){n.focus(e);var t=e||{},i=t.cursor;if(i){var r=n.value.length;switch(i){case"start":n.setSelectionRange(0,0);break;case"end":n.setSelectionRange(r,r);break;default:n.setSelectionRange(0,r)}}}}var SO=function(e){var t,i,r=e.inputElement,o=e.children,s=e.prefixCls,a=e.prefix,l=e.suffix,u=e.addonBefore,c=e.addonAfter,d=e.className,h=e.style,m=e.disabled,f=e.readOnly,g=e.focused,b=e.triggerFocus,y=e.allowClear,C=e.value,w=e.handleReset,x=e.hidden,L=e.classes,I=e.classNames,D=e.dataAttrs,N=e.styles,T=e.components,R=o??r,E=(T==null?void 0:T.affixWrapper)||"span",W=(T==null?void 0:T.groupWrapper)||"span",Z=(T==null?void 0:T.wrapper)||"span",V=(T==null?void 0:T.groupAddon)||"span",z=S.useRef(null),O=function(ke){var Ue;(Ue=z.current)!==null&&Ue!==void 0&&Ue.contains(ke.target)&&(b==null||b())},B=Sze(e),P=S.cloneElement(R,{value:C,className:Te(R.props.className,!B&&(I==null?void 0:I.variant))||null});if(B){var H,M=null;if(y){var X,Y=!m&&!f&&C,A="".concat(s,"-clear-icon"),te=Xn(y)==="object"&&y!==null&&y!==void 0&&y.clearIcon?y.clearIcon:"✖";M=ze.createElement("span",{onClick:w,onMouseDown:function(ke){return ke.preventDefault()},className:Te(A,(X={},ge(X,"".concat(A,"-hidden"),!Y),ge(X,"".concat(A,"-has-suffix"),!!l),X)),role:"button",tabIndex:-1},te)}var oe="".concat(s,"-affix-wrapper"),ae=Te(oe,(H={},ge(H,"".concat(s,"-disabled"),m),ge(H,"".concat(oe,"-disabled"),m),ge(H,"".concat(oe,"-focused"),g),ge(H,"".concat(oe,"-readonly"),f),ge(H,"".concat(oe,"-input-with-clear-btn"),l&&y&&C),H),L==null?void 0:L.affixWrapper,I==null?void 0:I.affixWrapper,I==null?void 0:I.variant),le=(l||y)&&ze.createElement("span",{className:Te("".concat(s,"-suffix"),I==null?void 0:I.suffix),style:N==null?void 0:N.suffix},M,l);P=ze.createElement(E,pt({className:ae,style:N==null?void 0:N.affixWrapper,onClick:O},D==null?void 0:D.affixWrapper,{ref:z}),a&&ze.createElement("span",{className:Te("".concat(s,"-prefix"),I==null?void 0:I.prefix),style:N==null?void 0:N.prefix},a),P,le)}if(Cze(e)){var ue="".concat(s,"-group"),Ce="".concat(ue,"-addon"),pe="".concat(ue,"-wrapper"),ce=Te("".concat(s,"-wrapper"),ue,L==null?void 0:L.wrapper,I==null?void 0:I.wrapper),De=Te(pe,ge({},"".concat(pe,"-disabled"),m),L==null?void 0:L.group,I==null?void 0:I.groupWrapper);P=ze.createElement(W,{className:De},ze.createElement(Z,{className:ce},u&&ze.createElement(V,{className:Ce},u),P,c&&ze.createElement(V,{className:Ce},c)))}return ze.cloneElement(P,{className:Te((t=P.props)===null||t===void 0?void 0:t.className,d)||null,style:xe(xe({},(i=P.props)===null||i===void 0?void 0:i.style),h),hidden:x})},wze=["show"];function Wle(n,e){return S.useMemo(function(){var t={};e&&(t.show=Xn(e)==="object"&&e.formatter?e.formatter:!!e),t=xe(xe({},t),n);var i=t,r=i.show,o=zn(i,wze);return xe(xe({},o),{},{show:!!r,showFormatter:typeof r=="function"?r:void 0,strategy:o.strategy||function(s){return s.length}})},[n,e])}var xze=["autoComplete","onChange","onFocus","onBlur","onPressEnter","onKeyDown","prefixCls","disabled","htmlSize","className","maxLength","suffix","showCount","count","type","classes","classNames","styles","onCompositionStart","onCompositionEnd"],_ze=S.forwardRef(function(n,e){var t=n.autoComplete,i=n.onChange,r=n.onFocus,o=n.onBlur,s=n.onPressEnter,a=n.onKeyDown,l=n.prefixCls,u=l===void 0?"rc-input":l,c=n.disabled,d=n.htmlSize,h=n.className,m=n.maxLength,f=n.suffix,g=n.showCount,b=n.count,y=n.type,C=y===void 0?"text":y,w=n.classes,x=n.classNames,L=n.styles,I=n.onCompositionStart,D=n.onCompositionEnd,N=zn(n,xze),T=S.useState(!1),R=we(T,2),E=R[0],W=R[1],Z=S.useRef(!1),V=S.useRef(null),z=function(he){V.current&&Zle(V.current,he)},O=Jr(n.defaultValue,{value:n.value}),B=we(O,2),P=B[0],H=B[1],M=P==null?"":String(P),X=S.useState(null),Y=we(X,2),A=Y[0],te=Y[1],oe=Wle(b,g),ae=oe.max||m,le=oe.strategy(M),ue=!!ae&&le>ae;S.useImperativeHandle(e,function(){return{focus:z,blur:function(){var he;(he=V.current)===null||he===void 0||he.blur()},setSelectionRange:function(he,de,me){var j;(j=V.current)===null||j===void 0||j.setSelectionRange(he,de,me)},select:function(){var he;(he=V.current)===null||he===void 0||he.select()},input:V.current}}),S.useEffect(function(){W(function(it){return it&&c?!1:it})},[c]);var Ce=function(he,de,me){var j=de;if(!Z.current&&oe.exceedFormatter&&oe.max&&oe.strategy(de)>oe.max){if(j=oe.exceedFormatter(de,{max:oe.max}),de!==j){var $,q;te([(($=V.current)===null||$===void 0?void 0:$.selectionStart)||0,((q=V.current)===null||q===void 0?void 0:q.selectionEnd)||0])}}else if(me.source==="compositionEnd")return;H(j),V.current&&IE(V.current,he,i,j)};S.useEffect(function(){if(A){var it;(it=V.current)===null||it===void 0||it.setSelectionRange.apply(it,Lt(A))}},[A]);var pe=function(he){Ce(he,he.target.value,{source:"change"})},ce=function(he){Z.current=!1,Ce(he,he.currentTarget.value,{source:"compositionEnd"}),D==null||D(he)},De=function(he){s&&he.key==="Enter"&&s(he),a==null||a(he)},Me=function(he){W(!0),r==null||r(he)},ke=function(he){W(!1),o==null||o(he)},Ue=function(he){H(""),z(),V.current&&IE(V.current,he,i)},He=ue&&"".concat(u,"-out-of-range"),ct=function(){var he=la(n,["prefixCls","onPressEnter","addonBefore","addonAfter","prefix","suffix","allowClear","defaultValue","showCount","count","classes","htmlSize","styles","classNames"]);return ze.createElement("input",pt({autoComplete:t},he,{onChange:pe,onFocus:Me,onBlur:ke,onKeyDown:De,className:Te(u,ge({},"".concat(u,"-disabled"),c),x==null?void 0:x.input),style:L==null?void 0:L.input,ref:V,size:d,type:C,onCompositionStart:function(me){Z.current=!0,I==null||I(me)},onCompositionEnd:ce}))},yt=function(){var he=Number(ae)>0;if(f||oe.show){var de=oe.showFormatter?oe.showFormatter({value:M,count:le,maxLength:ae}):"".concat(le).concat(he?" / ".concat(ae):"");return ze.createElement(ze.Fragment,null,oe.show&&ze.createElement("span",{className:Te("".concat(u,"-show-count-suffix"),ge({},"".concat(u,"-show-count-has-suffix"),!!f),x==null?void 0:x.count),style:xe({},L==null?void 0:L.count)},de),f)}return null};return ze.createElement(SO,pt({},N,{prefixCls:u,className:Te(h,He),handleReset:Ue,value:M,focused:E,triggerFocus:z,suffix:yt(),disabled:c,classes:w,classNames:x,styles:L}),ct())});function Lze(n,e){var t=S.useRef(null);function i(){try{var o=n.selectionStart,s=n.selectionEnd,a=n.value,l=a.substring(0,o),u=a.substring(s);t.current={start:o,end:s,value:a,beforeTxt:l,afterTxt:u}}catch{}}function r(){if(n&&t.current&&e)try{var o=n.value,s=t.current,a=s.beforeTxt,l=s.afterTxt,u=s.start,c=o.length;if(o.endsWith(l))c=o.length-t.current.afterTxt.length;else if(o.startsWith(a))c=a.length;else{var d=a[u-1],h=o.indexOf(d,u-1);h!==-1&&(c=h+1)}n.setSelectionRange(c,c)}catch(m){aa(!1,"Something warning of cursor restore. Please fire issue about this: ".concat(m.message))}}return[i,r]}var Ize=function(){var e=S.useState(!1),t=we(e,2),i=t[0],r=t[1];return cr(function(){r(OT())},[]),i},Fze=200,Dze=600;function Nze(n){var e=n.prefixCls,t=n.upNode,i=n.downNode,r=n.upDisabled,o=n.downDisabled,s=n.onStep,a=S.useRef(),l=S.useRef([]),u=S.useRef();u.current=s;var c=function(){clearTimeout(a.current)},d=function(w,x){w.preventDefault(),c(),u.current(x);function L(){u.current(x),a.current=setTimeout(L,Fze)}a.current=setTimeout(L,Dze)};S.useEffect(function(){return function(){c(),l.current.forEach(function(C){return xi.cancel(C)})}},[]);var h=Ize();if(h)return null;var m="".concat(e,"-handler"),f=Te(m,"".concat(m,"-up"),ge({},"".concat(m,"-up-disabled"),r)),g=Te(m,"".concat(m,"-down"),ge({},"".concat(m,"-down-disabled"),o)),b=function(){return l.current.push(xi(c))},y={unselectable:"on",role:"button",onMouseUp:b,onMouseLeave:b};return S.createElement("div",{className:"".concat(m,"-wrap")},S.createElement("span",pt({},y,{onMouseDown:function(w){d(w,!0)},"aria-label":"Increase Value","aria-disabled":r,className:f}),t||S.createElement("span",{unselectable:"on",className:"".concat(e,"-handler-up-inner")})),S.createElement("span",pt({},y,{onMouseDown:function(w){d(w,!1)},"aria-label":"Decrease Value","aria-disabled":o,className:g}),i||S.createElement("span",{unselectable:"on",className:"".concat(e,"-handler-down-inner")})))}function Ale(n){var e=typeof n=="number"?_E(n):fy(n).fullStr,t=e.includes(".");return t?fy(e.replace(/(\d)\.(\d)/g,"$1$2.")).fullStr:n+"0"}const Mze=function(){var n=S.useRef(0),e=function(){xi.cancel(n.current)};return S.useEffect(function(){return e},[]),function(t){e(),n.current=xi(function(){t()})}};var kze=["prefixCls","className","style","min","max","step","defaultValue","value","disabled","readOnly","upHandler","downHandler","keyboard","changeOnWheel","controls","classNames","stringMode","parser","formatter","precision","decimalSeparator","onChange","onInput","onPressEnter","onStep","changeOnBlur"],Tze=["disabled","style","prefixCls","value","prefix","suffix","addonBefore","addonAfter","className","classNames"],Vle=function(e,t){return e||t.isEmpty()?t.toString():t.toNumber()},Gle=function(e){var t=ch(e);return t.isInvalidate()?null:t},Eze=S.forwardRef(function(n,e){var t,i=n.prefixCls,r=i===void 0?"rc-input-number":i,o=n.className,s=n.style,a=n.min,l=n.max,u=n.step,c=u===void 0?1:u,d=n.defaultValue,h=n.value,m=n.disabled,f=n.readOnly,g=n.upHandler,b=n.downHandler,y=n.keyboard,C=n.changeOnWheel,w=C===void 0?!1:C,x=n.controls,L=x===void 0?!0:x;n.classNames;var I=n.stringMode,D=n.parser,N=n.formatter,T=n.precision,R=n.decimalSeparator,E=n.onChange,W=n.onInput,Z=n.onPressEnter,V=n.onStep,z=n.changeOnBlur,O=z===void 0?!0:z,B=zn(n,kze),P="".concat(r,"-input"),H=S.useRef(null),M=S.useState(!1),X=we(M,2),Y=X[0],A=X[1],te=S.useRef(!1),oe=S.useRef(!1),ae=S.useRef(!1),le=S.useState(function(){return ch(h??d)}),ue=we(le,2),Ce=ue[0],pe=ue[1];function ce(Et){h===void 0&&pe(Et)}var De=S.useCallback(function(Et,Mt){if(!Mt)return T>=0?T:Math.max(gy(Et),gy(c))},[T,c]),Me=S.useCallback(function(Et){var Mt=String(Et);if(D)return D(Mt);var fe=Mt;return R&&(fe=fe.replace(R,".")),fe.replace(/[^\w.-]+/g,"")},[D,R]),ke=S.useRef(""),Ue=S.useCallback(function(Et,Mt){if(N)return N(Et,{userTyping:Mt,input:String(ke.current)});var fe=typeof Et=="number"?_E(Et):Et;if(!Mt){var Le=De(fe,Mt);if(CO(fe)&&(R||Le>=0)){var Ze=R||".";fe=LE(fe,Ze,Le)}}return fe},[N,De,R]),He=S.useState(function(){var Et=d??h;return Ce.isInvalidate()&&["string","number"].includes(Xn(Et))?Number.isNaN(Et)?"":Et:Ue(Ce.toString(),!1)}),ct=we(He,2),yt=ct[0],it=ct[1];ke.current=yt;function he(Et,Mt){it(Ue(Et.isInvalidate()?Et.toString(!1):Et.toString(!Mt),Mt))}var de=S.useMemo(function(){return Gle(l)},[l,T]),me=S.useMemo(function(){return Gle(a)},[a,T]),j=S.useMemo(function(){return!de||!Ce||Ce.isInvalidate()?!1:de.lessEquals(Ce)},[de,Ce]),$=S.useMemo(function(){return!me||!Ce||Ce.isInvalidate()?!1:Ce.lessEquals(me)},[me,Ce]),q=Lze(H.current,Y),ee=we(q,2),ye=ee[0],_e=ee[1],Ne=function(Mt){return de&&!Mt.lessEquals(de)?de:me&&!me.lessEquals(Mt)?me:null},Be=function(Mt){return!Ne(Mt)},$e=function(Mt,fe){var Le=Mt,Ze=Be(Le)||Le.isEmpty();if(!Le.isEmpty()&&!fe&&(Le=Ne(Le)||Le,Ze=!0),!f&&!m&&Ze){var Xe=Le.toString(),ft=De(Xe,fe);return ft>=0&&(Le=ch(LE(Xe,".",ft)),Be(Le)||(Le=ch(LE(Xe,".",ft,!0)))),Le.equals(Ce)||(ce(Le),E==null||E(Le.isEmpty()?null:Vle(I,Le)),h===void 0&&he(Le,fe)),Le}return Ce},We=Mze(),ht=function Et(Mt){if(ye(),ke.current=Mt,it(Mt),!oe.current){var fe=Me(Mt),Le=ch(fe);Le.isNaN()||$e(Le,!0)}W==null||W(Mt),We(function(){var Ze=Mt;D||(Ze=Mt.replace(/。/g,".")),Ze!==Mt&&Et(Ze)})},Ye=function(){oe.current=!0},Ge=function(){oe.current=!1,ht(H.current.value)},mt=function(Mt){ht(Mt.target.value)},wt=function(Mt){var fe;if(!(Mt&&j||!Mt&&$)){te.current=!1;var Le=ch(ae.current?Ale(c):c);Mt||(Le=Le.negate());var Ze=(Ce||ch(0)).add(Le.toString()),Xe=$e(Ze,!1);V==null||V(Vle(I,Xe),{offset:ae.current?Ale(c):c,type:Mt?"up":"down"}),(fe=H.current)===null||fe===void 0||fe.focus()}},Kt=function(Mt){var fe=ch(Me(yt)),Le=fe;fe.isNaN()?Le=$e(Ce,Mt):Le=$e(fe,Mt),h!==void 0?he(Ce,!1):Le.isNaN()||he(Le,!1)},Wt=function(){te.current=!0},Yt=function(Mt){var fe=Mt.key,Le=Mt.shiftKey;te.current=!0,ae.current=Le,fe==="Enter"&&(oe.current||(te.current=!1),Kt(!1),Z==null||Z(Mt)),y!==!1&&!oe.current&&["Up","ArrowUp","Down","ArrowDown"].includes(fe)&&(wt(fe==="Up"||fe==="ArrowUp"),Mt.preventDefault())},Tn=function(){te.current=!1,ae.current=!1};S.useEffect(function(){if(w&&Y){var Et=function(Le){wt(Le.deltaY<0),Le.preventDefault()},Mt=H.current;if(Mt)return Mt.addEventListener("wheel",Et,{passive:!1}),function(){return Mt.removeEventListener("wheel",Et)}}});var li=function(){O&&Kt(!1),A(!1),te.current=!1};return Y1(function(){Ce.isInvalidate()||he(Ce,!1)},[T,N]),Y1(function(){var Et=ch(h);pe(Et);var Mt=ch(Me(yt));(!Et.equals(Mt)||!te.current||N)&&he(Et,te.current)},[h]),Y1(function(){N&&_e()},[yt]),S.createElement("div",{className:Te(r,o,(t={},ge(t,"".concat(r,"-focused"),Y),ge(t,"".concat(r,"-disabled"),m),ge(t,"".concat(r,"-readonly"),f),ge(t,"".concat(r,"-not-a-number"),Ce.isNaN()),ge(t,"".concat(r,"-out-of-range"),!Ce.isInvalidate()&&!Be(Ce)),t)),style:s,onFocus:function(){A(!0)},onBlur:li,onKeyDown:Yt,onKeyUp:Tn,onCompositionStart:Ye,onCompositionEnd:Ge,onBeforeInput:Wt},L&&S.createElement(Nze,{prefixCls:r,upNode:g,downNode:b,upDisabled:j,downDisabled:$,onStep:wt}),S.createElement("div",{className:"".concat(P,"-wrap")},S.createElement("input",pt({autoComplete:"off",role:"spinbutton","aria-valuemin":a,"aria-valuemax":l,"aria-valuenow":Ce.isInvalidate()?null:Ce.toString(),step:c},B,{ref:Lu(H,e),className:P,value:yt,onChange:mt,disabled:m,readOnly:f}))))}),Xle=S.forwardRef(function(n,e){var t=n.disabled,i=n.style,r=n.prefixCls,o=n.value,s=n.prefix,a=n.suffix,l=n.addonBefore,u=n.addonAfter,c=n.className,d=n.classNames,h=zn(n,Tze),m=S.useRef(null),f=function(b){m.current&&Zle(m.current,b)};return S.createElement(SO,{className:c,triggerFocus:f,prefixCls:r,value:o,disabled:t,style:i,prefix:s,suffix:a,addonAfter:u,addonBefore:l,classNames:d,components:{affixWrapper:"div",groupWrapper:"div",wrapper:"div",groupAddon:"div"}},S.createElement(Eze,pt({prefixCls:r,disabled:t,ref:Lu(m,e),className:d==null?void 0:d.input},h)))});Xle.displayName="InputNumber";const Rze=n=>{var e;const t=(e=n.handleVisible)!==null&&e!==void 0?e:"auto";return Object.assign(Object.assign({},vE(n)),{controlWidth:90,handleWidth:n.controlHeightSM-n.lineWidth*2,handleFontSize:n.fontSize/2,handleVisible:t,handleActiveBg:n.colorFillAlter,handleBg:n.colorBgContainer,filledHandleBg:new zo(n.colorFillSecondary).onBackground(n.colorBgContainer).toHexString(),handleHoverColor:n.colorPrimary,handleBorderColor:n.colorBorder,handleOpacity:t===!0?1:0})},Ple=(n,e)=>{let{componentCls:t,borderRadiusSM:i,borderRadiusLG:r}=n;const o=e==="lg"?r:i;return{[`&-${e}`]:{[`${t}-handler-wrap`]:{borderStartEndRadius:o,borderEndEndRadius:o},[`${t}-handler-up`]:{borderStartEndRadius:o},[`${t}-handler-down`]:{borderEndEndRadius:o}}}},Zze=n=>{const{componentCls:e,lineWidth:t,lineType:i,borderRadius:r,fontSizeLG:o,controlHeightLG:s,controlHeightSM:a,colorError:l,paddingInlineSM:u,paddingBlockSM:c,paddingBlockLG:d,paddingInlineLG:h,colorTextDescription:m,motionDurationMid:f,handleHoverColor:g,paddingInline:b,paddingBlock:y,handleBg:C,handleActiveBg:w,colorTextDisabled:x,borderRadiusSM:L,borderRadiusLG:I,controlWidth:D,handleOpacity:N,handleBorderColor:T,filledHandleBg:R,lineHeightLG:E,calc:W}=n;return[{[e]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},uo(n)),CE(n)),{display:"inline-block",width:D,margin:0,padding:0,borderRadius:r}),cO(n,{[`${e}-handler-wrap`]:{background:C,[`${e}-handler-down`]:{borderBlockStart:`${Ee(t)} ${i} ${T}`}}})),hO(n,{[`${e}-handler-wrap`]:{background:R,[`${e}-handler-down`]:{borderBlockStart:`${Ee(t)} ${i} ${T}`}},"&:focus-within":{[`${e}-handler-wrap`]:{background:C}}})),dO(n)),{"&-rtl":{direction:"rtl",[`${e}-input`]:{direction:"rtl"}},"&-lg":{padding:0,fontSize:o,lineHeight:E,borderRadius:I,[`input${e}-input`]:{height:W(s).sub(W(t).mul(2)).equal(),padding:`${Ee(d)} ${Ee(h)}`}},"&-sm":{padding:0,borderRadius:L,[`input${e}-input`]:{height:W(a).sub(W(t).mul(2)).equal(),padding:`${Ee(c)} ${Ee(u)}`}},"&-out-of-range":{[`${e}-input-wrap`]:{input:{color:l}}},"&-group":Object.assign(Object.assign(Object.assign({},uo(n)),dle(n)),{"&-wrapper":Object.assign(Object.assign(Object.assign({display:"inline-block",textAlign:"start",verticalAlign:"top",[`${e}-affix-wrapper`]:{width:"100%"},"&-lg":{[`${e}-group-addon`]:{borderRadius:I,fontSize:n.fontSizeLG}},"&-sm":{[`${e}-group-addon`]:{borderRadius:L}}},rle(n)),lle(n)),{[`&:not(${e}-compact-first-item):not(${e}-compact-last-item)${e}-compact-item`]:{[`${e}, ${e}-group-addon`]:{borderRadius:0}},[`&:not(${e}-compact-last-item)${e}-compact-first-item`]:{[`${e}, ${e}-group-addon`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&:not(${e}-compact-first-item)${e}-compact-last-item`]:{[`${e}, ${e}-group-addon`]:{borderStartStartRadius:0,borderEndStartRadius:0}}})}),[`&-disabled ${e}-input`]:{cursor:"not-allowed"},[e]:{"&-input":Object.assign(Object.assign(Object.assign(Object.assign({},uo(n)),{width:"100%",padding:`${Ee(y)} ${Ee(b)}`,textAlign:"start",backgroundColor:"transparent",border:0,borderRadius:r,outline:0,transition:`all ${f} linear`,appearance:"textfield",fontSize:"inherit"}),mO(n.colorTextPlaceholder)),{'&[type="number"]::-webkit-inner-spin-button, &[type="number"]::-webkit-outer-spin-button':{margin:0,webkitAppearance:"none",appearance:"none"}})}})},{[e]:Object.assign(Object.assign(Object.assign({[`&:hover ${e}-handler-wrap, &-focused ${e}-handler-wrap`]:{opacity:1},[`${e}-handler-wrap`]:{position:"absolute",insetBlockStart:0,insetInlineEnd:0,width:n.handleWidth,height:"100%",borderStartStartRadius:0,borderStartEndRadius:r,borderEndEndRadius:r,borderEndStartRadius:0,opacity:N,display:"flex",flexDirection:"column",alignItems:"stretch",transition:`opacity ${f} linear ${f}`,[`${e}-handler`]:{display:"flex",alignItems:"center",justifyContent:"center",flex:"auto",height:"40%",[` ${e}-handler-up-inner, ${e}-handler-down-inner - `]:{marginInlineEnd:0,fontSize:n.handleFontSize}}},[`${e}-handler`]:{height:"50%",overflow:"hidden",color:m,fontWeight:"bold",lineHeight:0,textAlign:"center",cursor:"pointer",borderInlineStart:`${Ee(t)} ${i} ${T}`,transition:`all ${f} linear`,"&:active":{background:S},"&:hover":{height:"60%",[` + `]:{marginInlineEnd:0,fontSize:n.handleFontSize}}},[`${e}-handler`]:{height:"50%",overflow:"hidden",color:m,fontWeight:"bold",lineHeight:0,textAlign:"center",cursor:"pointer",borderInlineStart:`${Ee(t)} ${i} ${T}`,transition:`all ${f} linear`,"&:active":{background:w},"&:hover":{height:"60%",[` ${e}-handler-up-inner, ${e}-handler-down-inner - `]:{color:g}},"&-up-inner, &-down-inner":Object.assign(Object.assign({},HL()),{color:m,transition:`all ${f} linear`,userSelect:"none"})},[`${e}-handler-up`]:{borderStartEndRadius:r},[`${e}-handler-down`]:{borderEndEndRadius:r}},Ple(n,"lg")),Ple(n,"sm")),{"&-disabled, &-readonly":{[`${e}-handler-wrap`]:{display:"none"},[`${e}-input`]:{color:"inherit"}},[` + `]:{color:g}},"&-up-inner, &-down-inner":Object.assign(Object.assign({},H_()),{color:m,transition:`all ${f} linear`,userSelect:"none"})},[`${e}-handler-up`]:{borderStartEndRadius:r},[`${e}-handler-down`]:{borderEndEndRadius:r}},Ple(n,"lg")),Ple(n,"sm")),{"&-disabled, &-readonly":{[`${e}-handler-wrap`]:{display:"none"},[`${e}-input`]:{color:"inherit"}},[` ${e}-handler-up-disabled, ${e}-handler-down-disabled `]:{cursor:"not-allowed"},[` ${e}-handler-up-disabled:hover &-handler-up-inner, ${e}-handler-down-disabled:hover &-handler-down-inner - `]:{color:x}})}]},Rze=n=>{const{componentCls:e,paddingBlock:t,paddingInline:i,inputAffixPadding:r,controlWidth:o,borderRadiusLG:s,borderRadiusSM:a,paddingInlineLG:l,paddingInlineSM:u,paddingBlockLG:c,paddingBlockSM:d}=n;return{[`${e}-affix-wrapper`]:Object.assign(Object.assign({[`input${e}-input`]:{padding:`${Ee(t)} 0`}},CE(n)),{position:"relative",display:"inline-flex",width:o,padding:0,paddingInlineStart:i,"&-lg":{borderRadius:s,paddingInlineStart:l,[`input${e}-input`]:{padding:`${Ee(c)} 0`}},"&-sm":{borderRadius:a,paddingInlineStart:u,[`input${e}-input`]:{padding:`${Ee(d)} 0`}},[`&:not(${e}-disabled):hover`]:{zIndex:1},"&-focused, &:focus":{zIndex:1},[`&-disabled > ${e}-disabled`]:{background:"transparent"},[`> div${e}`]:{width:"100%",border:"none",outline:"none",[`&${e}-focused`]:{boxShadow:"none !important"}},"&::before":{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'},[`${e}-handler-wrap`]:{zIndex:2},[e]:{color:"inherit","&-prefix, &-suffix":{display:"flex",flex:"none",alignItems:"center",pointerEvents:"none"},"&-prefix":{marginInlineEnd:r},"&-suffix":{position:"absolute",insetBlockStart:0,insetInlineEnd:0,zIndex:1,height:"100%",marginInlineEnd:i,marginInlineStart:r}}})}},Vze=Ho("InputNumber",n=>{const e=Ui(n,vE(n));return[Wze(e),Rze(e),QL(e)]},Zze,{unitless:{handleOpacity:!0}});var Aze=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const{getPrefixCls:t,direction:i}=w.useContext(Rn),r=w.useRef(null);w.useImperativeHandle(e,()=>r.current);const{className:o,rootClassName:s,size:a,disabled:l,prefixCls:u,addonBefore:c,addonAfter:d,prefix:h,bordered:m,readOnly:f,status:g,controls:b,variant:v}=n,C=Aze(n,["className","rootClassName","size","disabled","prefixCls","addonBefore","addonAfter","prefix","bordered","readOnly","status","controls","variant"]),S=t("input-number",u),x=_s(S),[_,F,D]=Vze(S,x),{compactSize:M,compactItemClassnames:T}=db(S,i);let Z=w.createElement(bze,{className:`${S}-handler-up-inner`}),E=w.createElement(xse,{className:`${S}-handler-down-inner`});const R=typeof b=="boolean"?b:void 0;typeof b=="object"&&(Z=typeof b.upIcon>"u"?Z:w.createElement("span",{className:`${S}-handler-up-inner`},b.upIcon),E=typeof b.downIcon>"u"?E:w.createElement("span",{className:`${S}-handler-down-inner`},b.downIcon));const{hasFeedback:W,status:A,isFormItemInput:z,feedbackIcon:O}=w.useContext(Ba),B=lv(A,g),P=pc(le=>{var ue;return(ue=a??M)!==null&&ue!==void 0?ue:le}),H=w.useContext(sh),k=l??H,[X,Y]=dw(v,m),V=W&&w.createElement(w.Fragment,null,O),te=Te({[`${S}-lg`]:P==="large",[`${S}-sm`]:P==="small",[`${S}-rtl`]:i==="rtl",[`${S}-in-form-item`]:z},F),oe=`${S}-group`,ae=w.createElement(Xle,Object.assign({ref:r,disabled:k,className:Te(D,x,o,s,T),upHandler:Z,downHandler:E,prefixCls:S,readOnly:f,controls:R,prefix:h,suffix:V,addonAfter:d&&w.createElement(ig,null,w.createElement(r_,{override:!0,status:!0},d)),addonBefore:c&&w.createElement(ig,null,w.createElement(r_,{override:!0,status:!0},c)),classNames:{input:te,variant:Te({[`${S}-${X}`]:Y},mb(S,B,W)),affixWrapper:Te({[`${S}-affix-wrapper-sm`]:P==="small",[`${S}-affix-wrapper-lg`]:P==="large",[`${S}-affix-wrapper-rtl`]:i==="rtl"},F),wrapper:Te({[`${oe}-rtl`]:i==="rtl"},F),groupWrapper:Te({[`${S}-group-wrapper-sm`]:P==="small",[`${S}-group-wrapper-lg`]:P==="large",[`${S}-group-wrapper-rtl`]:i==="rtl",[`${S}-group-wrapper-${X}`]:Y},mb(`${S}-group-wrapper`,B,W),F)}},C));return _(ae)}),Ble=Ole,Gze=n=>w.createElement(ev,{theme:{components:{InputNumber:{handleVisible:!0}}}},w.createElement(Ole,Object.assign({},n)));Ble._InternalPanelDoNotUseOrYouWillBeFired=Gze;const zle=Ble,Xze=n=>{const{getPrefixCls:e,direction:t}=w.useContext(Rn),{prefixCls:i,className:r}=n,o=e("input-group",i),s=e("input"),[a,l]=fO(s),u=Te(o,{[`${o}-lg`]:n.size==="large",[`${o}-sm`]:n.size==="small",[`${o}-compact`]:n.compact,[`${o}-rtl`]:t==="rtl"},l,r),c=w.useContext(Ba),d=w.useMemo(()=>Object.assign(Object.assign({},c),{isFormItemInput:!1}),[c]);return a(w.createElement("span",{className:u,style:n.style,onMouseEnter:n.onMouseEnter,onMouseLeave:n.onMouseLeave,onFocus:n.onFocus,onBlur:n.onBlur},w.createElement(Ba.Provider,{value:d},n.children)))},Hle=n=>{let e;return typeof n=="object"&&(n!=null&&n.clearIcon)?e=n:n&&(e={clearIcon:ze.createElement(tv,null)}),e};function Yle(n,e){const t=w.useRef([]),i=()=>{t.current.push(setTimeout(()=>{var r,o,s,a;!((r=n.current)===null||r===void 0)&&r.input&&((o=n.current)===null||o===void 0?void 0:o.input.getAttribute("type"))==="password"&&(!((s=n.current)===null||s===void 0)&&s.input.hasAttribute("value"))&&((a=n.current)===null||a===void 0||a.input.removeAttribute("value"))}))};return w.useEffect(()=>(e&&i(),()=>t.current.forEach(r=>{r&&clearTimeout(r)})),[]),i}function Pze(n){return!!(n.prefix||n.suffix||n.allowClear||n.showCount)}var Oze=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{var t;const{prefixCls:i,bordered:r=!0,status:o,size:s,disabled:a,onBlur:l,onFocus:u,suffix:c,allowClear:d,addonAfter:h,addonBefore:m,className:f,style:g,styles:b,rootClassName:v,onChange:C,classNames:S,variant:x}=n,_=Oze(n,["prefixCls","bordered","status","size","disabled","onBlur","onFocus","suffix","allowClear","addonAfter","addonBefore","className","style","styles","rootClassName","onChange","classNames","variant"]),{getPrefixCls:F,direction:D,input:M}=ze.useContext(Rn),T=F("input",i),Z=w.useRef(null),E=_s(T),[R,W,A]=fO(T,E),{compactSize:z,compactItemClassnames:O}=db(T,D),B=pc(ke=>{var Ne;return(Ne=s??z)!==null&&Ne!==void 0?Ne:ke}),P=ze.useContext(sh),H=a??P,{status:k,hasFeedback:X,feedbackIcon:Y}=w.useContext(Ba),V=lv(k,o),te=Pze(n)||!!X;w.useRef(te);const oe=Yle(Z,!0),ae=ke=>{oe(),l==null||l(ke)},le=ke=>{oe(),u==null||u(ke)},ue=ke=>{oe(),C==null||C(ke)},Ce=(X||c)&&ze.createElement(ze.Fragment,null,c,X&&Y),pe=Hle(d??(M==null?void 0:M.allowClear)),[ce,De]=dw(x,r);return R(ze.createElement(Lze,Object.assign({ref:_u(e,Z),prefixCls:T,autoComplete:M==null?void 0:M.autoComplete},_,{disabled:H,onBlur:ae,onFocus:le,style:Object.assign(Object.assign({},M==null?void 0:M.style),g),styles:Object.assign(Object.assign({},M==null?void 0:M.styles),b),suffix:Ce,allowClear:pe,className:Te(f,v,A,E,O,M==null?void 0:M.className),onChange:ue,addonAfter:h&&ze.createElement(ig,null,ze.createElement(r_,{override:!0,status:!0},h)),addonBefore:m&&ze.createElement(ig,null,ze.createElement(r_,{override:!0,status:!0},m)),classNames:Object.assign(Object.assign(Object.assign({},S),M==null?void 0:M.classNames),{input:Te({[`${T}-sm`]:B==="small",[`${T}-lg`]:B==="large",[`${T}-rtl`]:D==="rtl"},S==null?void 0:S.input,(t=M==null?void 0:M.classNames)===null||t===void 0?void 0:t.input,W),variant:Te({[`${T}-${ce}`]:De},mb(T,V)),affixWrapper:Te({[`${T}-affix-wrapper-sm`]:B==="small",[`${T}-affix-wrapper-lg`]:B==="large",[`${T}-affix-wrapper-rtl`]:D==="rtl"},W),wrapper:Te({[`${T}-group-rtl`]:D==="rtl"},W),groupWrapper:Te({[`${T}-group-wrapper-sm`]:B==="small",[`${T}-group-wrapper-lg`]:B==="large",[`${T}-group-wrapper-rtl`]:D==="rtl",[`${T}-group-wrapper-${ce}`]:De},mb(`${T}-group-wrapper`,V,X),W)})})))}),zze=n=>{const{componentCls:e,paddingXS:t}=n;return{[`${e}`]:{display:"inline-flex",alignItems:"center",flexWrap:"nowrap",columnGap:t,"&-rtl":{direction:"rtl"},[`${e}-input`]:{textAlign:"center",paddingInline:n.paddingXXS},[`&${e}-sm ${e}-input`]:{paddingInline:n.calc(n.paddingXXS).div(2).equal()},[`&${e}-lg ${e}-input`]:{paddingInline:n.paddingXS}}}},Hze=Ho(["Input","OTP"],n=>{const e=Ui(n,vE(n));return[zze(e)]},yE);var Yze=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const{value:t,onChange:i,onActiveChange:r,index:o}=n,s=Yze(n,["value","onChange","onActiveChange","index"]),a=h=>{i(o,h.target.value)},l=w.useRef(null);w.useImperativeHandle(e,()=>l.current);const u=()=>{xi(()=>{var h;const m=(h=l.current)===null||h===void 0?void 0:h.input;document.activeElement===m&&m&&m.select()})},c=h=>{let{key:m}=h;m==="ArrowLeft"?r(o-1):m==="ArrowRight"&&r(o+1),u()},d=h=>{h.key==="Backspace"&&!t&&r(o-1),u()};return w.createElement(IE,Object.assign({},s,{ref:l,value:t,onInput:a,onFocus:u,onKeyDown:c,onKeyUp:d,onMouseDown:u,onMouseUp:u}))});var Kze=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const{prefixCls:t,length:i=6,size:r,defaultValue:o,value:s,onChange:a,formatter:l,variant:u,disabled:c,status:d,autoFocus:h}=n,m=Kze(n,["prefixCls","length","size","defaultValue","value","onChange","formatter","variant","disabled","status","autoFocus"]),{getPrefixCls:f,direction:g}=w.useContext(Rn),b=f("otp",t),v=Fu(m,{aria:!0,data:!0,attr:!0}),C=_s(b),[S,x,_]=Hze(b,C),F=pc(k=>r??k),D=w.useContext(Ba),M=lv(D.status,d),T=w.useMemo(()=>Object.assign(Object.assign({},D),{status:M,hasFeedback:!1,feedbackIcon:null}),[D,M]),Z=w.useRef(null),E=w.useRef({});w.useImperativeHandle(e,()=>({focus:()=>{var k;(k=E.current[0])===null||k===void 0||k.focus()},blur:()=>{var k;for(let X=0;Xl?l(k):k,[W,A]=w.useState(DE(R(o||"")));w.useEffect(()=>{s!==void 0&&A(DE(s))},[s]);const z=$i(k=>{A(k),a&&k.length===i&&k.every(X=>X)&&k.some((X,Y)=>W[Y]!==X)&&a(k.join(""))}),O=$i((k,X)=>{let Y=_t(W);for(let te=0;te=0&&!Y[te];te-=1)Y.pop();const V=R(Y.map(te=>te||" ").join(""));return Y=DE(V).map((te,oe)=>te===" "&&!Y[oe]?Y[oe]:te),Y}),B=(k,X)=>{var Y;const V=O(k,X),te=Math.min(k+X.length,i-1);te!==k&&((Y=E.current[te])===null||Y===void 0||Y.focus()),z(V)},P=k=>{var X;(X=E.current[k])===null||X===void 0||X.focus()},H={variant:u,disabled:c,status:M};return S(w.createElement("div",Object.assign({},v,{ref:Z,className:Te(b,{[`${b}-sm`]:F==="small",[`${b}-lg`]:F==="large",[`${b}-rtl`]:g==="rtl"},_,x)}),w.createElement(Ba.Provider,{value:T},new Array(i).fill(0).map((k,X)=>{const Y=`otp-${X}`,V=W[X]||"";return w.createElement(Uze,Object.assign({ref:te=>{E.current[X]=te},key:Y,index:X,size:F,htmlSize:1,className:`${b}-input`,onChange:B,value:V,onActiveChange:P,autoFocus:X===0&&h},H))}))))});var jze={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z"}},{tag:"path",attrs:{d:"M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z"}}]},name:"eye-invisible",theme:"outlined"};const Qze=jze;var $ze=function(e,t){return w.createElement(So,pt({},e,{ref:t,icon:Qze}))},qze=w.forwardRef($ze);const eHe=qze;var tHe={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"}}]},name:"eye",theme:"outlined"};const nHe=tHe;var iHe=function(e,t){return w.createElement(So,pt({},e,{ref:t,icon:nHe}))},rHe=w.forwardRef(iHe);const Ule=rHe;var oHe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);rn?w.createElement(Ule,null):w.createElement(eHe,null),aHe={click:"onClick",hover:"onMouseOver"},lHe=w.forwardRef((n,e)=>{const{visibilityToggle:t=!0}=n,i=typeof t=="object"&&t.visible!==void 0,[r,o]=w.useState(()=>i?t.visible:!1),s=w.useRef(null);w.useEffect(()=>{i&&o(t.visible)},[i,t]);const a=Yle(s),l=()=>{const{disabled:_}=n;_||(r&&a(),o(F=>{var D;const M=!F;return typeof t=="object"&&((D=t.onVisibleChange)===null||D===void 0||D.call(t,M)),M}))},u=_=>{const{action:F="click",iconRender:D=sHe}=n,M=aHe[F]||"",T=D(r),Z={[M]:l,className:`${_}-icon`,key:"passwordIcon",onMouseDown:E=>{E.preventDefault()},onMouseUp:E=>{E.preventDefault()}};return w.cloneElement(w.isValidElement(T)?T:w.createElement("span",null,T),Z)},{className:c,prefixCls:d,inputPrefixCls:h,size:m}=n,f=oHe(n,["className","prefixCls","inputPrefixCls","size"]),{getPrefixCls:g}=w.useContext(Rn),b=g("input",h),v=g("input-password",d),C=t&&u(v),S=Te(v,c,{[`${v}-${m}`]:!!m}),x=Object.assign(Object.assign({},la(f,["suffix","iconRender","visibilityToggle"])),{type:r?"text":"password",className:S,prefixCls:b,suffix:C});return m&&(x.size=m),w.createElement(IE,Object.assign({ref:_u(e,s)},x))});var uHe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const{prefixCls:t,inputPrefixCls:i,className:r,size:o,suffix:s,enterButton:a=!1,addonAfter:l,loading:u,disabled:c,onSearch:d,onChange:h,onCompositionStart:m,onCompositionEnd:f}=n,g=uHe(n,["prefixCls","inputPrefixCls","className","size","suffix","enterButton","addonAfter","loading","disabled","onSearch","onChange","onCompositionStart","onCompositionEnd"]),{getPrefixCls:b,direction:v}=w.useContext(Rn),C=w.useRef(!1),S=b("input-search",t),x=b("input",i),{compactSize:_}=db(S,v),F=pc(k=>{var X;return(X=o??_)!==null&&X!==void 0?X:k}),D=w.useRef(null),M=k=>{k&&k.target&&k.type==="click"&&d&&d(k.target.value,k,{source:"clear"}),h&&h(k)},T=k=>{var X;document.activeElement===((X=D.current)===null||X===void 0?void 0:X.input)&&k.preventDefault()},Z=k=>{var X,Y;d&&d((Y=(X=D.current)===null||X===void 0?void 0:X.input)===null||Y===void 0?void 0:Y.value,k,{source:"input"})},E=k=>{C.current||u||Z(k)},R=typeof a=="boolean"?w.createElement(Lse,null):null,W=`${S}-button`;let A;const z=a||{},O=z.type&&z.type.__ANT_BUTTON===!0;O||z.type==="button"?A=eu(z,Object.assign({onMouseDown:T,onClick:k=>{var X,Y;(Y=(X=z==null?void 0:z.props)===null||X===void 0?void 0:X.onClick)===null||Y===void 0||Y.call(X,k),Z(k)},key:"enterButton"},O?{className:W,size:F}:{})):A=w.createElement(jr,{className:W,type:a?"primary":void 0,size:F,disabled:c,key:"enterButton",onMouseDown:T,onClick:Z,loading:u,icon:R},a),l&&(A=[A,eu(l,{key:"addonAfter"})]);const B=Te(S,{[`${S}-rtl`]:v==="rtl",[`${S}-${F}`]:!!F,[`${S}-with-button`]:!!a},r),P=k=>{C.current=!0,m==null||m(k)},H=k=>{C.current=!1,f==null||f(k)};return w.createElement(IE,Object.assign({ref:_u(D,e),onPressEnter:E},g,{size:F,onCompositionStart:P,onCompositionEnd:H,prefixCls:x,addonAfter:A,suffix:s,onChange:M,className:B,disabled:c}))});var dHe=` + `]:{color:x}})}]},Wze=n=>{const{componentCls:e,paddingBlock:t,paddingInline:i,inputAffixPadding:r,controlWidth:o,borderRadiusLG:s,borderRadiusSM:a,paddingInlineLG:l,paddingInlineSM:u,paddingBlockLG:c,paddingBlockSM:d}=n;return{[`${e}-affix-wrapper`]:Object.assign(Object.assign({[`input${e}-input`]:{padding:`${Ee(t)} 0`}},CE(n)),{position:"relative",display:"inline-flex",width:o,padding:0,paddingInlineStart:i,"&-lg":{borderRadius:s,paddingInlineStart:l,[`input${e}-input`]:{padding:`${Ee(c)} 0`}},"&-sm":{borderRadius:a,paddingInlineStart:u,[`input${e}-input`]:{padding:`${Ee(d)} 0`}},[`&:not(${e}-disabled):hover`]:{zIndex:1},"&-focused, &:focus":{zIndex:1},[`&-disabled > ${e}-disabled`]:{background:"transparent"},[`> div${e}`]:{width:"100%",border:"none",outline:"none",[`&${e}-focused`]:{boxShadow:"none !important"}},"&::before":{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'},[`${e}-handler-wrap`]:{zIndex:2},[e]:{color:"inherit","&-prefix, &-suffix":{display:"flex",flex:"none",alignItems:"center",pointerEvents:"none"},"&-prefix":{marginInlineEnd:r},"&-suffix":{position:"absolute",insetBlockStart:0,insetInlineEnd:0,zIndex:1,height:"100%",marginInlineEnd:i,marginInlineStart:r}}})}},Aze=Ho("InputNumber",n=>{const e=Yi(n,yE(n));return[Zze(e),Wze(e),Q_(e)]},Rze,{unitless:{handleOpacity:!0}});var Vze=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const{getPrefixCls:t,direction:i}=S.useContext(Wn),r=S.useRef(null);S.useImperativeHandle(e,()=>r.current);const{className:o,rootClassName:s,size:a,disabled:l,prefixCls:u,addonBefore:c,addonAfter:d,prefix:h,bordered:m,readOnly:f,status:g,controls:b,variant:y}=n,C=Vze(n,["className","rootClassName","size","disabled","prefixCls","addonBefore","addonAfter","prefix","bordered","readOnly","status","controls","variant"]),w=t("input-number",u),x=Ls(w),[L,I,D]=Aze(w,x),{compactSize:N,compactItemClassnames:T}=db(w,i);let R=S.createElement(bze,{className:`${w}-handler-up-inner`}),E=S.createElement(xse,{className:`${w}-handler-down-inner`});const W=typeof b=="boolean"?b:void 0;typeof b=="object"&&(R=typeof b.upIcon>"u"?R:S.createElement("span",{className:`${w}-handler-up-inner`},b.upIcon),E=typeof b.downIcon>"u"?E:S.createElement("span",{className:`${w}-handler-down-inner`},b.downIcon));const{hasFeedback:Z,status:V,isFormItemInput:z,feedbackIcon:O}=S.useContext(Ba),B=ly(V,g),P=pc(le=>{var ue;return(ue=a??N)!==null&&ue!==void 0?ue:le}),H=S.useContext(oh),M=l??H,[X,Y]=dS(y,m),A=Z&&S.createElement(S.Fragment,null,O),te=Te({[`${w}-lg`]:P==="large",[`${w}-sm`]:P==="small",[`${w}-rtl`]:i==="rtl",[`${w}-in-form-item`]:z},I),oe=`${w}-group`,ae=S.createElement(Xle,Object.assign({ref:r,disabled:M,className:Te(D,x,o,s,T),upHandler:R,downHandler:E,prefixCls:w,readOnly:f,controls:W,prefix:h,suffix:A,addonAfter:d&&S.createElement(ig,null,S.createElement(rL,{override:!0,status:!0},d)),addonBefore:c&&S.createElement(ig,null,S.createElement(rL,{override:!0,status:!0},c)),classNames:{input:te,variant:Te({[`${w}-${X}`]:Y},mb(w,B,Z)),affixWrapper:Te({[`${w}-affix-wrapper-sm`]:P==="small",[`${w}-affix-wrapper-lg`]:P==="large",[`${w}-affix-wrapper-rtl`]:i==="rtl"},I),wrapper:Te({[`${oe}-rtl`]:i==="rtl"},I),groupWrapper:Te({[`${w}-group-wrapper-sm`]:P==="small",[`${w}-group-wrapper-lg`]:P==="large",[`${w}-group-wrapper-rtl`]:i==="rtl",[`${w}-group-wrapper-${X}`]:Y},mb(`${w}-group-wrapper`,B,Z),I)}},C));return L(ae)}),Ble=Ole,Gze=n=>S.createElement(ey,{theme:{components:{InputNumber:{handleVisible:!0}}}},S.createElement(Ole,Object.assign({},n)));Ble._InternalPanelDoNotUseOrYouWillBeFired=Gze;const zle=Ble,Xze=n=>{const{getPrefixCls:e,direction:t}=S.useContext(Wn),{prefixCls:i,className:r}=n,o=e("input-group",i),s=e("input"),[a,l]=fO(s),u=Te(o,{[`${o}-lg`]:n.size==="large",[`${o}-sm`]:n.size==="small",[`${o}-compact`]:n.compact,[`${o}-rtl`]:t==="rtl"},l,r),c=S.useContext(Ba),d=S.useMemo(()=>Object.assign(Object.assign({},c),{isFormItemInput:!1}),[c]);return a(S.createElement("span",{className:u,style:n.style,onMouseEnter:n.onMouseEnter,onMouseLeave:n.onMouseLeave,onFocus:n.onFocus,onBlur:n.onBlur},S.createElement(Ba.Provider,{value:d},n.children)))},Hle=n=>{let e;return typeof n=="object"&&(n!=null&&n.clearIcon)?e=n:n&&(e={clearIcon:ze.createElement(ty,null)}),e};function Yle(n,e){const t=S.useRef([]),i=()=>{t.current.push(setTimeout(()=>{var r,o,s,a;!((r=n.current)===null||r===void 0)&&r.input&&((o=n.current)===null||o===void 0?void 0:o.input.getAttribute("type"))==="password"&&(!((s=n.current)===null||s===void 0)&&s.input.hasAttribute("value"))&&((a=n.current)===null||a===void 0||a.input.removeAttribute("value"))}))};return S.useEffect(()=>(e&&i(),()=>t.current.forEach(r=>{r&&clearTimeout(r)})),[]),i}function Pze(n){return!!(n.prefix||n.suffix||n.allowClear||n.showCount)}var Oze=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{var t;const{prefixCls:i,bordered:r=!0,status:o,size:s,disabled:a,onBlur:l,onFocus:u,suffix:c,allowClear:d,addonAfter:h,addonBefore:m,className:f,style:g,styles:b,rootClassName:y,onChange:C,classNames:w,variant:x}=n,L=Oze(n,["prefixCls","bordered","status","size","disabled","onBlur","onFocus","suffix","allowClear","addonAfter","addonBefore","className","style","styles","rootClassName","onChange","classNames","variant"]),{getPrefixCls:I,direction:D,input:N}=ze.useContext(Wn),T=I("input",i),R=S.useRef(null),E=Ls(T),[W,Z,V]=fO(T,E),{compactSize:z,compactItemClassnames:O}=db(T,D),B=pc(Me=>{var ke;return(ke=s??z)!==null&&ke!==void 0?ke:Me}),P=ze.useContext(oh),H=a??P,{status:M,hasFeedback:X,feedbackIcon:Y}=S.useContext(Ba),A=ly(M,o),te=Pze(n)||!!X;S.useRef(te);const oe=Yle(R,!0),ae=Me=>{oe(),l==null||l(Me)},le=Me=>{oe(),u==null||u(Me)},ue=Me=>{oe(),C==null||C(Me)},Ce=(X||c)&&ze.createElement(ze.Fragment,null,c,X&&Y),pe=Hle(d??(N==null?void 0:N.allowClear)),[ce,De]=dS(x,r);return W(ze.createElement(_ze,Object.assign({ref:Lu(e,R),prefixCls:T,autoComplete:N==null?void 0:N.autoComplete},L,{disabled:H,onBlur:ae,onFocus:le,style:Object.assign(Object.assign({},N==null?void 0:N.style),g),styles:Object.assign(Object.assign({},N==null?void 0:N.styles),b),suffix:Ce,allowClear:pe,className:Te(f,y,V,E,O,N==null?void 0:N.className),onChange:ue,addonAfter:h&&ze.createElement(ig,null,ze.createElement(rL,{override:!0,status:!0},h)),addonBefore:m&&ze.createElement(ig,null,ze.createElement(rL,{override:!0,status:!0},m)),classNames:Object.assign(Object.assign(Object.assign({},w),N==null?void 0:N.classNames),{input:Te({[`${T}-sm`]:B==="small",[`${T}-lg`]:B==="large",[`${T}-rtl`]:D==="rtl"},w==null?void 0:w.input,(t=N==null?void 0:N.classNames)===null||t===void 0?void 0:t.input,Z),variant:Te({[`${T}-${ce}`]:De},mb(T,A)),affixWrapper:Te({[`${T}-affix-wrapper-sm`]:B==="small",[`${T}-affix-wrapper-lg`]:B==="large",[`${T}-affix-wrapper-rtl`]:D==="rtl"},Z),wrapper:Te({[`${T}-group-rtl`]:D==="rtl"},Z),groupWrapper:Te({[`${T}-group-wrapper-sm`]:B==="small",[`${T}-group-wrapper-lg`]:B==="large",[`${T}-group-wrapper-rtl`]:D==="rtl",[`${T}-group-wrapper-${ce}`]:De},mb(`${T}-group-wrapper`,A,X),Z)})})))}),zze=n=>{const{componentCls:e,paddingXS:t}=n;return{[`${e}`]:{display:"inline-flex",alignItems:"center",flexWrap:"nowrap",columnGap:t,"&-rtl":{direction:"rtl"},[`${e}-input`]:{textAlign:"center",paddingInline:n.paddingXXS},[`&${e}-sm ${e}-input`]:{paddingInline:n.calc(n.paddingXXS).div(2).equal()},[`&${e}-lg ${e}-input`]:{paddingInline:n.paddingXS}}}},Hze=Ho(["Input","OTP"],n=>{const e=Yi(n,yE(n));return[zze(e)]},vE);var Yze=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const{value:t,onChange:i,onActiveChange:r,index:o}=n,s=Yze(n,["value","onChange","onActiveChange","index"]),a=h=>{i(o,h.target.value)},l=S.useRef(null);S.useImperativeHandle(e,()=>l.current);const u=()=>{xi(()=>{var h;const m=(h=l.current)===null||h===void 0?void 0:h.input;document.activeElement===m&&m&&m.select()})},c=h=>{let{key:m}=h;m==="ArrowLeft"?r(o-1):m==="ArrowRight"&&r(o+1),u()},d=h=>{h.key==="Backspace"&&!t&&r(o-1),u()};return S.createElement(FE,Object.assign({},s,{ref:l,value:t,onInput:a,onFocus:u,onKeyDown:c,onKeyUp:d,onMouseDown:u,onMouseUp:u}))});var Kze=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const{prefixCls:t,length:i=6,size:r,defaultValue:o,value:s,onChange:a,formatter:l,variant:u,disabled:c,status:d,autoFocus:h}=n,m=Kze(n,["prefixCls","length","size","defaultValue","value","onChange","formatter","variant","disabled","status","autoFocus"]),{getPrefixCls:f,direction:g}=S.useContext(Wn),b=f("otp",t),y=Iu(m,{aria:!0,data:!0,attr:!0}),C=Ls(b),[w,x,L]=Hze(b,C),I=pc(M=>r??M),D=S.useContext(Ba),N=ly(D.status,d),T=S.useMemo(()=>Object.assign(Object.assign({},D),{status:N,hasFeedback:!1,feedbackIcon:null}),[D,N]),R=S.useRef(null),E=S.useRef({});S.useImperativeHandle(e,()=>({focus:()=>{var M;(M=E.current[0])===null||M===void 0||M.focus()},blur:()=>{var M;for(let X=0;Xl?l(M):M,[Z,V]=S.useState(DE(W(o||"")));S.useEffect(()=>{s!==void 0&&V(DE(s))},[s]);const z=Qi(M=>{V(M),a&&M.length===i&&M.every(X=>X)&&M.some((X,Y)=>Z[Y]!==X)&&a(M.join(""))}),O=Qi((M,X)=>{let Y=Lt(Z);for(let te=0;te=0&&!Y[te];te-=1)Y.pop();const A=W(Y.map(te=>te||" ").join(""));return Y=DE(A).map((te,oe)=>te===" "&&!Y[oe]?Y[oe]:te),Y}),B=(M,X)=>{var Y;const A=O(M,X),te=Math.min(M+X.length,i-1);te!==M&&((Y=E.current[te])===null||Y===void 0||Y.focus()),z(A)},P=M=>{var X;(X=E.current[M])===null||X===void 0||X.focus()},H={variant:u,disabled:c,status:N};return w(S.createElement("div",Object.assign({},y,{ref:R,className:Te(b,{[`${b}-sm`]:I==="small",[`${b}-lg`]:I==="large",[`${b}-rtl`]:g==="rtl"},L,x)}),S.createElement(Ba.Provider,{value:T},new Array(i).fill(0).map((M,X)=>{const Y=`otp-${X}`,A=Z[X]||"";return S.createElement(Uze,Object.assign({ref:te=>{E.current[X]=te},key:Y,index:X,size:I,htmlSize:1,className:`${b}-input`,onChange:B,value:A,onActiveChange:P,autoFocus:X===0&&h},H))}))))});var jze={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z"}},{tag:"path",attrs:{d:"M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z"}}]},name:"eye-invisible",theme:"outlined"};const Qze=jze;var $ze=function(e,t){return S.createElement(wo,pt({},e,{ref:t,icon:Qze}))},qze=S.forwardRef($ze);const eHe=qze;var tHe={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"}}]},name:"eye",theme:"outlined"};const nHe=tHe;var iHe=function(e,t){return S.createElement(wo,pt({},e,{ref:t,icon:nHe}))},rHe=S.forwardRef(iHe);const Ule=rHe;var oHe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);rn?S.createElement(Ule,null):S.createElement(eHe,null),aHe={click:"onClick",hover:"onMouseOver"},lHe=S.forwardRef((n,e)=>{const{visibilityToggle:t=!0}=n,i=typeof t=="object"&&t.visible!==void 0,[r,o]=S.useState(()=>i?t.visible:!1),s=S.useRef(null);S.useEffect(()=>{i&&o(t.visible)},[i,t]);const a=Yle(s),l=()=>{const{disabled:L}=n;L||(r&&a(),o(I=>{var D;const N=!I;return typeof t=="object"&&((D=t.onVisibleChange)===null||D===void 0||D.call(t,N)),N}))},u=L=>{const{action:I="click",iconRender:D=sHe}=n,N=aHe[I]||"",T=D(r),R={[N]:l,className:`${L}-icon`,key:"passwordIcon",onMouseDown:E=>{E.preventDefault()},onMouseUp:E=>{E.preventDefault()}};return S.cloneElement(S.isValidElement(T)?T:S.createElement("span",null,T),R)},{className:c,prefixCls:d,inputPrefixCls:h,size:m}=n,f=oHe(n,["className","prefixCls","inputPrefixCls","size"]),{getPrefixCls:g}=S.useContext(Wn),b=g("input",h),y=g("input-password",d),C=t&&u(y),w=Te(y,c,{[`${y}-${m}`]:!!m}),x=Object.assign(Object.assign({},la(f,["suffix","iconRender","visibilityToggle"])),{type:r?"text":"password",className:w,prefixCls:b,suffix:C});return m&&(x.size=m),S.createElement(FE,Object.assign({ref:Lu(e,s)},x))});var uHe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const{prefixCls:t,inputPrefixCls:i,className:r,size:o,suffix:s,enterButton:a=!1,addonAfter:l,loading:u,disabled:c,onSearch:d,onChange:h,onCompositionStart:m,onCompositionEnd:f}=n,g=uHe(n,["prefixCls","inputPrefixCls","className","size","suffix","enterButton","addonAfter","loading","disabled","onSearch","onChange","onCompositionStart","onCompositionEnd"]),{getPrefixCls:b,direction:y}=S.useContext(Wn),C=S.useRef(!1),w=b("input-search",t),x=b("input",i),{compactSize:L}=db(w,y),I=pc(M=>{var X;return(X=o??L)!==null&&X!==void 0?X:M}),D=S.useRef(null),N=M=>{M&&M.target&&M.type==="click"&&d&&d(M.target.value,M,{source:"clear"}),h&&h(M)},T=M=>{var X;document.activeElement===((X=D.current)===null||X===void 0?void 0:X.input)&&M.preventDefault()},R=M=>{var X,Y;d&&d((Y=(X=D.current)===null||X===void 0?void 0:X.input)===null||Y===void 0?void 0:Y.value,M,{source:"input"})},E=M=>{C.current||u||R(M)},W=typeof a=="boolean"?S.createElement(_se,null):null,Z=`${w}-button`;let V;const z=a||{},O=z.type&&z.type.__ANT_BUTTON===!0;O||z.type==="button"?V=eu(z,Object.assign({onMouseDown:T,onClick:M=>{var X,Y;(Y=(X=z==null?void 0:z.props)===null||X===void 0?void 0:X.onClick)===null||Y===void 0||Y.call(X,M),R(M)},key:"enterButton"},O?{className:Z,size:I}:{})):V=S.createElement(jr,{className:Z,type:a?"primary":void 0,size:I,disabled:c,key:"enterButton",onMouseDown:T,onClick:R,loading:u,icon:W},a),l&&(V=[V,eu(l,{key:"addonAfter"})]);const B=Te(w,{[`${w}-rtl`]:y==="rtl",[`${w}-${I}`]:!!I,[`${w}-with-button`]:!!a},r),P=M=>{C.current=!0,m==null||m(M)},H=M=>{C.current=!1,f==null||f(M)};return S.createElement(FE,Object.assign({ref:Lu(D,e),onPressEnter:E},g,{size:I,onCompositionStart:P,onCompositionEnd:H,prefixCls:x,addonAfter:V,suffix:s,onChange:N,className:B,disabled:c}))});var dHe=` min-height:0 !important; max-height:none !important; height:0 !important; @@ -325,13 +325,13 @@ html body { top:0 !important; right:0 !important; pointer-events: none !important; -`,hHe=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break","white-space"],SO={},hd;function mHe(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,t=n.getAttribute("id")||n.getAttribute("data-reactid")||n.getAttribute("name");if(e&&SO[t])return SO[t];var i=window.getComputedStyle(n),r=i.getPropertyValue("box-sizing")||i.getPropertyValue("-moz-box-sizing")||i.getPropertyValue("-webkit-box-sizing"),o=parseFloat(i.getPropertyValue("padding-bottom"))+parseFloat(i.getPropertyValue("padding-top")),s=parseFloat(i.getPropertyValue("border-bottom-width"))+parseFloat(i.getPropertyValue("border-top-width")),a=hHe.map(function(u){return"".concat(u,":").concat(i.getPropertyValue(u))}).join(";"),l={sizingStyle:a,paddingSize:o,borderSize:s,boxSizing:r};return e&&t&&(SO[t]=l),l}function fHe(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;hd||(hd=document.createElement("textarea"),hd.setAttribute("tab-index","-1"),hd.setAttribute("aria-hidden","true"),document.body.appendChild(hd)),n.getAttribute("wrap")?hd.setAttribute("wrap",n.getAttribute("wrap")):hd.removeAttribute("wrap");var r=mHe(n,e),o=r.paddingSize,s=r.borderSize,a=r.boxSizing,l=r.sizingStyle;hd.setAttribute("style","".concat(l,";").concat(dHe)),hd.value=n.value||n.placeholder||"";var u=void 0,c=void 0,d,h=hd.scrollHeight;if(a==="border-box"?h+=s:a==="content-box"&&(h-=o),t!==null||i!==null){hd.value=" ";var m=hd.scrollHeight-o;t!==null&&(u=m*t,a==="border-box"&&(u=u+o+s),h=Math.max(u,h)),i!==null&&(c=m*i,a==="border-box"&&(c=c+o+s),d=h>c?"":"hidden",h=Math.min(c,h))}var f={height:h,overflowY:d,resize:"none"};return u&&(f.minHeight=u),c&&(f.maxHeight=c),f}var gHe=["prefixCls","onPressEnter","defaultValue","value","autoSize","onResize","className","style","disabled","onChange","onInternalAutoSize"],xO=0,LO=1,_O=2,pHe=w.forwardRef(function(n,e){var t=n,i=t.prefixCls;t.onPressEnter;var r=t.defaultValue,o=t.value,s=t.autoSize,a=t.onResize,l=t.className,u=t.style,c=t.disabled,d=t.onChange;t.onInternalAutoSize;var h=zn(t,gHe),m=Jr(r,{value:o,postState:function(te){return te??""}}),f=Se(m,2),g=f[0],b=f[1],v=function(te){b(te.target.value),d==null||d(te)},C=w.useRef();w.useImperativeHandle(e,function(){return{textArea:C.current}});var S=w.useMemo(function(){return s&&Xn(s)==="object"?[s.minRows,s.maxRows]:[]},[s]),x=Se(S,2),_=x[0],F=x[1],D=!!s,M=function(){try{if(document.activeElement===C.current){var te=C.current,oe=te.selectionStart,ae=te.selectionEnd,le=te.scrollTop;C.current.setSelectionRange(oe,ae),C.current.scrollTop=le}}catch{}},T=w.useState(_O),Z=Se(T,2),E=Z[0],R=Z[1],W=w.useState(),A=Se(W,2),z=A[0],O=A[1],B=function(){R(xO)};dr(function(){D&&B()},[o,_,F,D]),dr(function(){if(E===xO)R(LO);else if(E===LO){var V=fHe(C.current,!1,_,F);R(_O),O(V)}else M()},[E]);var P=w.useRef(),H=function(){xi.cancel(P.current)},k=function(te){E===_O&&(a==null||a(te),s&&(H(),P.current=xi(function(){B()})))};w.useEffect(function(){return H},[]);var X=D?z:null,Y=xe(xe({},u),X);return(E===xO||E===LO)&&(Y.overflowY="hidden",Y.overflowX="hidden"),w.createElement(mc,{onResize:k,disabled:!(s||a)},w.createElement("textarea",pt({},h,{ref:C,style:Y,className:Te(i,l,ge({},"".concat(i,"-disabled"),c)),disabled:c,value:g,onChange:v})))}),bHe=["defaultValue","value","onFocus","onBlur","onChange","allowClear","maxLength","onCompositionStart","onCompositionEnd","suffix","prefixCls","showCount","count","className","style","disabled","hidden","classNames","styles","onResize"],vHe=ze.forwardRef(function(n,e){var t,i,r=n.defaultValue,o=n.value,s=n.onFocus,a=n.onBlur,l=n.onChange,u=n.allowClear,c=n.maxLength,d=n.onCompositionStart,h=n.onCompositionEnd,m=n.suffix,f=n.prefixCls,g=f===void 0?"rc-textarea":f,b=n.showCount,v=n.count,C=n.className,S=n.style,x=n.disabled,_=n.hidden,F=n.classNames,D=n.styles,M=n.onResize,T=zn(n,bHe),Z=Jr(r,{value:o,defaultValue:r}),E=Se(Z,2),R=E[0],W=E[1],A=R==null?"":String(R),z=ze.useState(!1),O=Se(z,2),B=O[0],P=O[1],H=ze.useRef(!1),k=ze.useState(null),X=Se(k,2),Y=X[0],V=X[1],te=w.useRef(null),oe=function(){var Me;return(Me=te.current)===null||Me===void 0?void 0:Me.textArea},ae=function(){oe().focus()};w.useImperativeHandle(e,function(){return{resizableTextArea:te.current,focus:ae,blur:function(){oe().blur()}}}),w.useEffect(function(){P(function(Le){return!x&&Le})},[x]);var le=ze.useState(null),ue=Se(le,2),Ce=ue[0],pe=ue[1];ze.useEffect(function(){if(Ce){var Le;(Le=oe()).setSelectionRange.apply(Le,_t(Ce))}},[Ce]);var ce=Rle(v,b),De=(t=ce.max)!==null&&t!==void 0?t:c,ke=Number(De)>0,Ne=ce.strategy(A),Ue=!!De&&Ne>De,He=function(Me,Be){var $e=Be;!H.current&&ce.exceedFormatter&&ce.max&&ce.strategy(Be)>ce.max&&($e=ce.exceedFormatter(Be,{max:ce.max}),Be!==$e&&pe([oe().selectionStart||0,oe().selectionEnd||0])),W($e),FE(Me.currentTarget,Me,l,$e)},ct=function(Me){H.current=!0,d==null||d(Me)},vt=function(Me){H.current=!1,He(Me,Me.currentTarget.value),h==null||h(Me)},it=function(Me){He(Me,Me.target.value)},he=function(Me){var Be=T.onPressEnter,$e=T.onKeyDown;Me.key==="Enter"&&Be&&Be(Me),$e==null||$e(Me)},de=function(Me){P(!0),s==null||s(Me)},me=function(Me){P(!1),a==null||a(Me)},j=function(Me){W(""),ae(),FE(oe(),Me,l)},$=m,q;ce.show&&(ce.showFormatter?q=ce.showFormatter({value:A,count:Ne,maxLength:De}):q="".concat(Ne).concat(ke?" / ".concat(De):""),$=ze.createElement(ze.Fragment,null,$,ze.createElement("span",{className:Te("".concat(g,"-data-count"),F==null?void 0:F.count),style:D==null?void 0:D.count},q)));var ee=function(Me){var Be;M==null||M(Me),(Be=oe())!==null&&Be!==void 0&&Be.style.height&&V(!0)},ve=!T.autoSize&&!b&&!u;return ze.createElement(wO,{value:A,allowClear:u,handleReset:j,suffix:$,prefixCls:g,classNames:xe(xe({},F),{},{affixWrapper:Te(F==null?void 0:F.affixWrapper,(i={},ge(i,"".concat(g,"-show-count"),b),ge(i,"".concat(g,"-textarea-allow-clear"),u),i))}),disabled:x,focused:B,className:Te(C,Ue&&"".concat(g,"-out-of-range")),style:xe(xe({},S),Y&&!ve?{height:"auto"}:{}),dataAttrs:{affixWrapper:{"data-count":typeof q=="string"?q:void 0}},hidden:_},ze.createElement(pHe,pt({},T,{maxLength:c,onKeyDown:he,onChange:it,onFocus:de,onBlur:me,onCompositionStart:ct,onCompositionEnd:vt,className:Te(F==null?void 0:F.textarea),style:xe(xe({},D==null?void 0:D.textarea),{},{resize:S==null?void 0:S.resize}),disabled:x,prefixCls:g,onResize:ee,ref:te})))}),yHe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{var t,i;const{prefixCls:r,bordered:o=!0,size:s,disabled:a,status:l,allowClear:u,classNames:c,rootClassName:d,className:h,style:m,styles:f,variant:g}=n,b=yHe(n,["prefixCls","bordered","size","disabled","status","allowClear","classNames","rootClassName","className","style","styles","variant"]),{getPrefixCls:v,direction:C,textArea:S}=w.useContext(Rn),x=pc(s),_=w.useContext(sh),F=a??_,{status:D,hasFeedback:M,feedbackIcon:T}=w.useContext(Ba),Z=lv(D,l),E=w.useRef(null);w.useImperativeHandle(e,()=>{var k;return{resizableTextArea:(k=E.current)===null||k===void 0?void 0:k.resizableTextArea,focus:X=>{var Y,V;Bze((V=(Y=E.current)===null||Y===void 0?void 0:Y.resizableTextArea)===null||V===void 0?void 0:V.textArea,X)},blur:()=>{var X;return(X=E.current)===null||X===void 0?void 0:X.blur()}}});const R=v("input",r),W=_s(R),[A,z,O]=fO(R,W),[B,P]=dw(g,o),H=Hle(u??(S==null?void 0:S.allowClear));return A(w.createElement(vHe,Object.assign({autoComplete:S==null?void 0:S.autoComplete},b,{style:Object.assign(Object.assign({},S==null?void 0:S.style),m),styles:Object.assign(Object.assign({},S==null?void 0:S.styles),f),disabled:F,allowClear:H,className:Te(O,W,h,d,S==null?void 0:S.className),classNames:Object.assign(Object.assign(Object.assign({},c),S==null?void 0:S.classNames),{textarea:Te({[`${R}-sm`]:x==="small",[`${R}-lg`]:x==="large"},z,c==null?void 0:c.textarea,(t=S==null?void 0:S.classNames)===null||t===void 0?void 0:t.textarea),variant:Te({[`${R}-${B}`]:P},mb(R,Z)),affixWrapper:Te(`${R}-textarea-affix-wrapper`,{[`${R}-affix-wrapper-rtl`]:C==="rtl",[`${R}-affix-wrapper-sm`]:x==="small",[`${R}-affix-wrapper-lg`]:x==="large",[`${R}-textarea-show-count`]:n.showCount||((i=n.count)===null||i===void 0?void 0:i.show)},z)}),prefixCls:R,suffix:M&&w.createElement("span",{className:`${R}-textarea-suffix`},T),ref:E})))}),Lw=IE;Lw.Group=Xze,Lw.Search=cHe,Lw.TextArea=CHe,Lw.Password=lHe,Lw.OTP=Jze;const hh=Lw;var wHe={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zM184 392V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136H184z"}}]},name:"calendar",theme:"outlined"};const SHe=wHe;var xHe=function(e,t){return w.createElement(So,pt({},e,{ref:t,icon:SHe}))},LHe=w.forwardRef(xHe);const Kle=LHe;var _He={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"}}]},name:"clock-circle",theme:"outlined"};const FHe=_He;var IHe=function(e,t){return w.createElement(So,pt({},e,{ref:t,icon:FHe}))},DHe=w.forwardRef(IHe);const Jle=DHe;var MHe={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M873.1 596.2l-164-208A32 32 0 00684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z"}}]},name:"swap-right",theme:"outlined"};const kHe=MHe;var NHe=function(e,t){return w.createElement(So,pt({},e,{ref:t,icon:kHe}))},THe=w.forwardRef(NHe);const EHe=THe;function ZHe(n,e,t){return t!==void 0?t:e==="year"&&n.lang.yearPlaceholder?n.lang.yearPlaceholder:e==="quarter"&&n.lang.quarterPlaceholder?n.lang.quarterPlaceholder:e==="month"&&n.lang.monthPlaceholder?n.lang.monthPlaceholder:e==="week"&&n.lang.weekPlaceholder?n.lang.weekPlaceholder:e==="time"&&n.timePickerLocale.placeholder?n.timePickerLocale.placeholder:n.lang.placeholder}function WHe(n,e,t){return t!==void 0?t:e==="year"&&n.lang.yearPlaceholder?n.lang.rangeYearPlaceholder:e==="quarter"&&n.lang.quarterPlaceholder?n.lang.rangeQuarterPlaceholder:e==="month"&&n.lang.monthPlaceholder?n.lang.rangeMonthPlaceholder:e==="week"&&n.lang.weekPlaceholder?n.lang.rangeWeekPlaceholder:e==="time"&&n.timePickerLocale.placeholder?n.timePickerLocale.rangePlaceholder:n.lang.rangePlaceholder}function FO(n,e){const t={adjustX:1,adjustY:1};switch(e){case"bottomLeft":return{points:["tl","bl"],offset:[0,4],overflow:t};case"bottomRight":return{points:["tr","br"],offset:[0,4],overflow:t};case"topLeft":return{points:["bl","tl"],offset:[0,-4],overflow:t};case"topRight":return{points:["br","tr"],offset:[0,-4],overflow:t};default:return{points:n==="rtl"?["tr","br"]:["tl","bl"],offset:[0,4],overflow:t}}}function jle(n,e){const{allowClear:t=!0}=n,{clearIcon:i,removeIcon:r}=_se(Object.assign(Object.assign({},n),{prefixCls:e,componentName:"DatePicker"}));return[w.useMemo(()=>t===!1?!1:Object.assign({clearIcon:i},t===!0?{}:t),[t,i]),r]}function RHe(n){return w.createElement(jr,Object.assign({size:"small",type:"primary"},n))}function Qle(n){return w.useMemo(()=>Object.assign({button:RHe},n),[n])}var VHe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{var r;const{prefixCls:o,getPopupContainer:s,components:a,className:l,style:u,placement:c,size:d,disabled:h,bordered:m=!0,placeholder:f,popupClassName:g,dropdownClassName:b,status:v,rootClassName:C,variant:S}=t,x=VHe(t,["prefixCls","getPopupContainer","components","className","style","placement","size","disabled","bordered","placeholder","popupClassName","dropdownClassName","status","rootClassName","variant"]),_=w.useRef(null),{getPrefixCls:F,direction:D,getPopupContainer:M,rangePicker:T}=w.useContext(Rn),Z=F("picker",o),{compactSize:E,compactItemClassnames:R}=db(Z,D),{picker:W}=t,A=F(),[z,O]=dw(S,m),B=_s(Z),[P,H,k]=hle(Z,B),[X]=jle(t,Z),Y=Qle(a),V=pc(Ne=>{var Ue;return(Ue=d??E)!==null&&Ue!==void 0?Ue:Ne}),te=w.useContext(sh),oe=h??te,ae=w.useContext(Ba),{hasFeedback:le,status:ue,feedbackIcon:Ce}=ae,pe=w.createElement(w.Fragment,null,W==="time"?w.createElement(Jle,null):w.createElement(Kle,null),le&&Ce);w.useImperativeHandle(i,()=>_.current);const[ce]=rb("Calendar",iT),De=Object.assign(Object.assign({},ce),t.locale),[ke]=iv("DatePicker",(r=t.popupStyle)===null||r===void 0?void 0:r.zIndex);return P(w.createElement(ig,null,w.createElement(DOe,Object.assign({separator:w.createElement("span",{"aria-label":"to",className:`${Z}-separator`},w.createElement(EHe,null)),disabled:oe,ref:_,popupAlign:FO(D,c),placeholder:WHe(De,W,f),suffixIcon:pe,prevIcon:w.createElement("span",{className:`${Z}-prev-icon`}),nextIcon:w.createElement("span",{className:`${Z}-next-icon`}),superPrevIcon:w.createElement("span",{className:`${Z}-super-prev-icon`}),superNextIcon:w.createElement("span",{className:`${Z}-super-next-icon`}),transitionName:`${A}-slide-up`},x,{className:Te({[`${Z}-${V}`]:V,[`${Z}-${z}`]:O},mb(Z,lv(ue,v),le),H,R,l,T==null?void 0:T.className,k,B,C),style:Object.assign(Object.assign({},T==null?void 0:T.style),u),locale:De.lang,prefixCls:Z,getPopupContainer:s||M,generateConfig:n,components:Y,direction:D,classNames:{popup:Te(H,g||b,k,B,C)},styles:{popup:Object.assign(Object.assign({},t.popupStyle),{zIndex:ke})},allowClear:X}))))})}var GHe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{var f;const{prefixCls:g,getPopupContainer:b,components:v,style:C,className:S,rootClassName:x,size:_,bordered:F,placement:D,placeholder:M,popupClassName:T,dropdownClassName:Z,disabled:E,status:R,variant:W,onCalendarChange:A}=h,z=GHe(h,["prefixCls","getPopupContainer","components","style","className","rootClassName","size","bordered","placement","placeholder","popupClassName","dropdownClassName","disabled","status","variant","onCalendarChange"]),{getPrefixCls:O,direction:B,getPopupContainer:P,[c]:H}=w.useContext(Rn),k=O("picker",g),{compactSize:X,compactItemClassnames:Y}=db(k,B),V=w.useRef(null),[te,oe]=dw(W,F),ae=_s(k),[le,ue,Ce]=hle(k,ae);w.useImperativeHandle(m,()=>V.current);const pe={showToday:!0},ce=l||h.picker,De=O(),{onSelect:ke,multiple:Ne}=z,Ue=ke&&l==="time"&&!Ne,He=($e,Re,ht)=>{A==null||A($e,Re,ht),Ue&&ke($e)},[ct,vt]=jle(h,k),it=Qle(v),he=pc($e=>{var Re;return(Re=_??X)!==null&&Re!==void 0?Re:$e}),de=w.useContext(sh),me=E??de,j=w.useContext(Ba),{hasFeedback:$,status:q,feedbackIcon:ee}=j,ve=w.createElement(w.Fragment,null,ce==="time"?w.createElement(Jle,null):w.createElement(Kle,null),$&&ee),[Le]=rb("DatePicker",iT),Me=Object.assign(Object.assign({},Le),h.locale),[Be]=iv("DatePicker",(f=h.popupStyle)===null||f===void 0?void 0:f.zIndex);return le(w.createElement(ig,null,w.createElement(ZOe,Object.assign({ref:V,placeholder:ZHe(Me,ce,M),suffixIcon:ve,dropdownAlign:FO(B,D),prevIcon:w.createElement("span",{className:`${k}-prev-icon`}),nextIcon:w.createElement("span",{className:`${k}-next-icon`}),superPrevIcon:w.createElement("span",{className:`${k}-super-prev-icon`}),superNextIcon:w.createElement("span",{className:`${k}-super-next-icon`}),transitionName:`${De}-slide-up`,picker:l,onCalendarChange:He},pe,z,{locale:Me.lang,className:Te({[`${k}-${he}`]:he,[`${k}-${te}`]:oe},mb(k,lv(q,R),$),ue,Y,H==null?void 0:H.className,S,Ce,ae,x),style:Object.assign(Object.assign({},H==null?void 0:H.style),C),prefixCls:k,getPopupContainer:b||P,generateConfig:n,components:it,direction:B,disabled:me,classNames:{popup:Te(ue,Ce,ae,x,T||Z)},styles:{popup:Object.assign(Object.assign({},h.popupStyle),{zIndex:Be})},allowClear:ct,removeIcon:vt}))))})}const t=e(),i=e("week","WeekPicker"),r=e("month","MonthPicker"),o=e("year","YearPicker"),s=e("quarter","QuarterPicker"),a=e("time","TimePicker");return{DatePicker:t,WeekPicker:i,MonthPicker:r,YearPicker:o,TimePicker:a,QuarterPicker:s}}function $le(n){const{DatePicker:e,WeekPicker:t,MonthPicker:i,YearPicker:r,TimePicker:o,QuarterPicker:s}=XHe(n),a=AHe(n),l=e;return l.WeekPicker=t,l.MonthPicker=i,l.YearPicker=r,l.RangePicker=a,l.TimePicker=o,l.QuarterPicker=s,l}const _w=$le(APe);function qle(n){const e=FO(n.direction,n.placement);return e.overflow.adjustY=!1,e.overflow.adjustX=!1,Object.assign(Object.assign({},n),{dropdownAlign:e})}const PHe=PT(_w,"picker",null,qle);_w._InternalPanelDoNotUseOrYouWillBeFired=PHe;const OHe=PT(_w.RangePicker,"picker",null,qle);_w._InternalRangePanelDoNotUseOrYouWillBeFired=OHe,_w.generatePicker=$le;const eue=_w;function tue(n){return["small","middle","large"].includes(n)}function nue(n){return n?typeof n=="number"&&!Number.isNaN(n):!1}const iue=ze.createContext({latestIndex:0}),BHe=iue.Provider,zHe=n=>{let{className:e,index:t,children:i,split:r,style:o}=n;const{latestIndex:s}=w.useContext(iue);return i==null?null:w.createElement(w.Fragment,null,w.createElement("div",{className:e,style:o},i),t{var t,i;const{getPrefixCls:r,space:o,direction:s}=w.useContext(Rn),{size:a=(o==null?void 0:o.size)||"small",align:l,className:u,rootClassName:c,children:d,direction:h="horizontal",prefixCls:m,split:f,style:g,wrap:b=!1,classNames:v,styles:C}=n,S=HHe(n,["size","align","className","rootClassName","children","direction","prefixCls","split","style","wrap","classNames","styles"]),[x,_]=Array.isArray(a)?a:[a,a],F=tue(_),D=tue(x),M=nue(_),T=nue(x),Z=ad(d,{keepEmpty:!0}),E=l===void 0&&h==="horizontal"?"center":l,R=r("space",m),[W,A,z]=ere(R),O=Te(R,o==null?void 0:o.className,A,`${R}-${h}`,{[`${R}-rtl`]:s==="rtl",[`${R}-align-${E}`]:E,[`${R}-gap-row-${_}`]:F,[`${R}-gap-col-${x}`]:D},u,c,z),B=Te(`${R}-item`,(t=v==null?void 0:v.item)!==null&&t!==void 0?t:(i=o==null?void 0:o.classNames)===null||i===void 0?void 0:i.item);let P=0;const H=Z.map((Y,V)=>{var te,oe;Y!=null&&(P=V);const ae=Y&&Y.key||`${B}-${V}`;return w.createElement(zHe,{className:B,key:ae,index:V,split:f,style:(te=C==null?void 0:C.item)!==null&&te!==void 0?te:(oe=o==null?void 0:o.styles)===null||oe===void 0?void 0:oe.item},Y)}),k=w.useMemo(()=>({latestIndex:P}),[P]);if(Z.length===0)return null;const X={};return b&&(X.flexWrap="wrap"),!D&&T&&(X.columnGap=x),!F&&M&&(X.rowGap=_),W(w.createElement("div",Object.assign({ref:e,className:O,style:Object.assign(Object.assign(Object.assign({},X),o==null?void 0:o.style),g)},S),w.createElement(BHe,{value:k},H)))});rue.Compact=hRe;const YHe=rue;var UHe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const{getPopupContainer:e,getPrefixCls:t,direction:i}=w.useContext(Rn),{prefixCls:r,type:o="default",danger:s,disabled:a,loading:l,onClick:u,htmlType:c,children:d,className:h,menu:m,arrow:f,autoFocus:g,overlay:b,trigger:v,align:C,open:S,onOpenChange:x,placement:_,getPopupContainer:F,href:D,icon:M=w.createElement(YP,null),title:T,buttonsRender:Z=ue=>ue,mouseEnterDelay:E,mouseLeaveDelay:R,overlayClassName:W,overlayStyle:A,destroyPopupOnHide:z,dropdownRender:O}=n,B=UHe(n,["prefixCls","type","danger","disabled","loading","onClick","htmlType","children","className","menu","arrow","autoFocus","overlay","trigger","align","open","onOpenChange","placement","getPopupContainer","href","icon","title","buttonsRender","mouseEnterDelay","mouseLeaveDelay","overlayClassName","overlayStyle","destroyPopupOnHide","dropdownRender"]),P=t("dropdown",r),H=`${P}-button`,k={menu:m,arrow:f,autoFocus:g,align:C,disabled:a,trigger:a?[]:v,onOpenChange:x,getPopupContainer:F||e,mouseEnterDelay:E,mouseLeaveDelay:R,overlayClassName:W,overlayStyle:A,destroyPopupOnHide:z,dropdownRender:O},{compactSize:X,compactItemClassnames:Y}=db(P,i),V=Te(H,Y,h);"overlay"in n&&(k.overlay=b),"open"in n&&(k.open=S),"placement"in n?k.placement=_:k.placement=i==="rtl"?"bottomLeft":"bottomRight";const te=w.createElement(jr,{type:o,danger:s,disabled:a,loading:l,onClick:u,htmlType:c,href:D,title:T},d),oe=w.createElement(jr,{type:o,danger:s,icon:M}),[ae,le]=Z([te,oe]);return w.createElement(YHe.Compact,Object.assign({className:V,size:X,block:!0},B),ae,w.createElement(cae,Object.assign({},k),le))};oue.__ANT_BUTTON=!0;const KHe=oue,sue=cae;sue.Button=KHe;const IO=sue;function ME(n){const[e,t]=w.useState(n);return w.useEffect(()=>{const i=setTimeout(()=>{t(n)},n.length?0:10);return()=>{clearTimeout(i)}},[n]),e}const JHe=n=>{const{componentCls:e}=n,t=`${e}-show-help`,i=`${e}-show-help-item`;return{[t]:{transition:`opacity ${n.motionDurationSlow} ${n.motionEaseInOut}`,"&-appear, &-enter":{opacity:0,"&-active":{opacity:1}},"&-leave":{opacity:1,"&-active":{opacity:0}},[i]:{overflow:"hidden",transition:`height ${n.motionDurationSlow} ${n.motionEaseInOut}, +`,hHe=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break","white-space"],wO={},dd;function mHe(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,t=n.getAttribute("id")||n.getAttribute("data-reactid")||n.getAttribute("name");if(e&&wO[t])return wO[t];var i=window.getComputedStyle(n),r=i.getPropertyValue("box-sizing")||i.getPropertyValue("-moz-box-sizing")||i.getPropertyValue("-webkit-box-sizing"),o=parseFloat(i.getPropertyValue("padding-bottom"))+parseFloat(i.getPropertyValue("padding-top")),s=parseFloat(i.getPropertyValue("border-bottom-width"))+parseFloat(i.getPropertyValue("border-top-width")),a=hHe.map(function(u){return"".concat(u,":").concat(i.getPropertyValue(u))}).join(";"),l={sizingStyle:a,paddingSize:o,borderSize:s,boxSizing:r};return e&&t&&(wO[t]=l),l}function fHe(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;dd||(dd=document.createElement("textarea"),dd.setAttribute("tab-index","-1"),dd.setAttribute("aria-hidden","true"),document.body.appendChild(dd)),n.getAttribute("wrap")?dd.setAttribute("wrap",n.getAttribute("wrap")):dd.removeAttribute("wrap");var r=mHe(n,e),o=r.paddingSize,s=r.borderSize,a=r.boxSizing,l=r.sizingStyle;dd.setAttribute("style","".concat(l,";").concat(dHe)),dd.value=n.value||n.placeholder||"";var u=void 0,c=void 0,d,h=dd.scrollHeight;if(a==="border-box"?h+=s:a==="content-box"&&(h-=o),t!==null||i!==null){dd.value=" ";var m=dd.scrollHeight-o;t!==null&&(u=m*t,a==="border-box"&&(u=u+o+s),h=Math.max(u,h)),i!==null&&(c=m*i,a==="border-box"&&(c=c+o+s),d=h>c?"":"hidden",h=Math.min(c,h))}var f={height:h,overflowY:d,resize:"none"};return u&&(f.minHeight=u),c&&(f.maxHeight=c),f}var gHe=["prefixCls","onPressEnter","defaultValue","value","autoSize","onResize","className","style","disabled","onChange","onInternalAutoSize"],xO=0,_O=1,LO=2,pHe=S.forwardRef(function(n,e){var t=n,i=t.prefixCls;t.onPressEnter;var r=t.defaultValue,o=t.value,s=t.autoSize,a=t.onResize,l=t.className,u=t.style,c=t.disabled,d=t.onChange;t.onInternalAutoSize;var h=zn(t,gHe),m=Jr(r,{value:o,postState:function(te){return te??""}}),f=we(m,2),g=f[0],b=f[1],y=function(te){b(te.target.value),d==null||d(te)},C=S.useRef();S.useImperativeHandle(e,function(){return{textArea:C.current}});var w=S.useMemo(function(){return s&&Xn(s)==="object"?[s.minRows,s.maxRows]:[]},[s]),x=we(w,2),L=x[0],I=x[1],D=!!s,N=function(){try{if(document.activeElement===C.current){var te=C.current,oe=te.selectionStart,ae=te.selectionEnd,le=te.scrollTop;C.current.setSelectionRange(oe,ae),C.current.scrollTop=le}}catch{}},T=S.useState(LO),R=we(T,2),E=R[0],W=R[1],Z=S.useState(),V=we(Z,2),z=V[0],O=V[1],B=function(){W(xO)};cr(function(){D&&B()},[o,L,I,D]),cr(function(){if(E===xO)W(_O);else if(E===_O){var A=fHe(C.current,!1,L,I);W(LO),O(A)}else N()},[E]);var P=S.useRef(),H=function(){xi.cancel(P.current)},M=function(te){E===LO&&(a==null||a(te),s&&(H(),P.current=xi(function(){B()})))};S.useEffect(function(){return H},[]);var X=D?z:null,Y=xe(xe({},u),X);return(E===xO||E===_O)&&(Y.overflowY="hidden",Y.overflowX="hidden"),S.createElement(mc,{onResize:M,disabled:!(s||a)},S.createElement("textarea",pt({},h,{ref:C,style:Y,className:Te(i,l,ge({},"".concat(i,"-disabled"),c)),disabled:c,value:g,onChange:y})))}),bHe=["defaultValue","value","onFocus","onBlur","onChange","allowClear","maxLength","onCompositionStart","onCompositionEnd","suffix","prefixCls","showCount","count","className","style","disabled","hidden","classNames","styles","onResize"],yHe=ze.forwardRef(function(n,e){var t,i,r=n.defaultValue,o=n.value,s=n.onFocus,a=n.onBlur,l=n.onChange,u=n.allowClear,c=n.maxLength,d=n.onCompositionStart,h=n.onCompositionEnd,m=n.suffix,f=n.prefixCls,g=f===void 0?"rc-textarea":f,b=n.showCount,y=n.count,C=n.className,w=n.style,x=n.disabled,L=n.hidden,I=n.classNames,D=n.styles,N=n.onResize,T=zn(n,bHe),R=Jr(r,{value:o,defaultValue:r}),E=we(R,2),W=E[0],Z=E[1],V=W==null?"":String(W),z=ze.useState(!1),O=we(z,2),B=O[0],P=O[1],H=ze.useRef(!1),M=ze.useState(null),X=we(M,2),Y=X[0],A=X[1],te=S.useRef(null),oe=function(){var Ne;return(Ne=te.current)===null||Ne===void 0?void 0:Ne.textArea},ae=function(){oe().focus()};S.useImperativeHandle(e,function(){return{resizableTextArea:te.current,focus:ae,blur:function(){oe().blur()}}}),S.useEffect(function(){P(function(_e){return!x&&_e})},[x]);var le=ze.useState(null),ue=we(le,2),Ce=ue[0],pe=ue[1];ze.useEffect(function(){if(Ce){var _e;(_e=oe()).setSelectionRange.apply(_e,Lt(Ce))}},[Ce]);var ce=Wle(y,b),De=(t=ce.max)!==null&&t!==void 0?t:c,Me=Number(De)>0,ke=ce.strategy(V),Ue=!!De&&ke>De,He=function(Ne,Be){var $e=Be;!H.current&&ce.exceedFormatter&&ce.max&&ce.strategy(Be)>ce.max&&($e=ce.exceedFormatter(Be,{max:ce.max}),Be!==$e&&pe([oe().selectionStart||0,oe().selectionEnd||0])),Z($e),IE(Ne.currentTarget,Ne,l,$e)},ct=function(Ne){H.current=!0,d==null||d(Ne)},yt=function(Ne){H.current=!1,He(Ne,Ne.currentTarget.value),h==null||h(Ne)},it=function(Ne){He(Ne,Ne.target.value)},he=function(Ne){var Be=T.onPressEnter,$e=T.onKeyDown;Ne.key==="Enter"&&Be&&Be(Ne),$e==null||$e(Ne)},de=function(Ne){P(!0),s==null||s(Ne)},me=function(Ne){P(!1),a==null||a(Ne)},j=function(Ne){Z(""),ae(),IE(oe(),Ne,l)},$=m,q;ce.show&&(ce.showFormatter?q=ce.showFormatter({value:V,count:ke,maxLength:De}):q="".concat(ke).concat(Me?" / ".concat(De):""),$=ze.createElement(ze.Fragment,null,$,ze.createElement("span",{className:Te("".concat(g,"-data-count"),I==null?void 0:I.count),style:D==null?void 0:D.count},q)));var ee=function(Ne){var Be;N==null||N(Ne),(Be=oe())!==null&&Be!==void 0&&Be.style.height&&A(!0)},ye=!T.autoSize&&!b&&!u;return ze.createElement(SO,{value:V,allowClear:u,handleReset:j,suffix:$,prefixCls:g,classNames:xe(xe({},I),{},{affixWrapper:Te(I==null?void 0:I.affixWrapper,(i={},ge(i,"".concat(g,"-show-count"),b),ge(i,"".concat(g,"-textarea-allow-clear"),u),i))}),disabled:x,focused:B,className:Te(C,Ue&&"".concat(g,"-out-of-range")),style:xe(xe({},w),Y&&!ye?{height:"auto"}:{}),dataAttrs:{affixWrapper:{"data-count":typeof q=="string"?q:void 0}},hidden:L},ze.createElement(pHe,pt({},T,{maxLength:c,onKeyDown:he,onChange:it,onFocus:de,onBlur:me,onCompositionStart:ct,onCompositionEnd:yt,className:Te(I==null?void 0:I.textarea),style:xe(xe({},D==null?void 0:D.textarea),{},{resize:w==null?void 0:w.resize}),disabled:x,prefixCls:g,onResize:ee,ref:te})))}),vHe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{var t,i;const{prefixCls:r,bordered:o=!0,size:s,disabled:a,status:l,allowClear:u,classNames:c,rootClassName:d,className:h,style:m,styles:f,variant:g}=n,b=vHe(n,["prefixCls","bordered","size","disabled","status","allowClear","classNames","rootClassName","className","style","styles","variant"]),{getPrefixCls:y,direction:C,textArea:w}=S.useContext(Wn),x=pc(s),L=S.useContext(oh),I=a??L,{status:D,hasFeedback:N,feedbackIcon:T}=S.useContext(Ba),R=ly(D,l),E=S.useRef(null);S.useImperativeHandle(e,()=>{var M;return{resizableTextArea:(M=E.current)===null||M===void 0?void 0:M.resizableTextArea,focus:X=>{var Y,A;Bze((A=(Y=E.current)===null||Y===void 0?void 0:Y.resizableTextArea)===null||A===void 0?void 0:A.textArea,X)},blur:()=>{var X;return(X=E.current)===null||X===void 0?void 0:X.blur()}}});const W=y("input",r),Z=Ls(W),[V,z,O]=fO(W,Z),[B,P]=dS(g,o),H=Hle(u??(w==null?void 0:w.allowClear));return V(S.createElement(yHe,Object.assign({autoComplete:w==null?void 0:w.autoComplete},b,{style:Object.assign(Object.assign({},w==null?void 0:w.style),m),styles:Object.assign(Object.assign({},w==null?void 0:w.styles),f),disabled:I,allowClear:H,className:Te(O,Z,h,d,w==null?void 0:w.className),classNames:Object.assign(Object.assign(Object.assign({},c),w==null?void 0:w.classNames),{textarea:Te({[`${W}-sm`]:x==="small",[`${W}-lg`]:x==="large"},z,c==null?void 0:c.textarea,(t=w==null?void 0:w.classNames)===null||t===void 0?void 0:t.textarea),variant:Te({[`${W}-${B}`]:P},mb(W,R)),affixWrapper:Te(`${W}-textarea-affix-wrapper`,{[`${W}-affix-wrapper-rtl`]:C==="rtl",[`${W}-affix-wrapper-sm`]:x==="small",[`${W}-affix-wrapper-lg`]:x==="large",[`${W}-textarea-show-count`]:n.showCount||((i=n.count)===null||i===void 0?void 0:i.show)},z)}),prefixCls:W,suffix:N&&S.createElement("span",{className:`${W}-textarea-suffix`},T),ref:E})))}),_S=FE;_S.Group=Xze,_S.Search=cHe,_S.TextArea=CHe,_S.Password=lHe,_S.OTP=Jze;const dh=_S;var SHe={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zM184 392V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136H184z"}}]},name:"calendar",theme:"outlined"};const wHe=SHe;var xHe=function(e,t){return S.createElement(wo,pt({},e,{ref:t,icon:wHe}))},_He=S.forwardRef(xHe);const Kle=_He;var LHe={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"}}]},name:"clock-circle",theme:"outlined"};const IHe=LHe;var FHe=function(e,t){return S.createElement(wo,pt({},e,{ref:t,icon:IHe}))},DHe=S.forwardRef(FHe);const Jle=DHe;var NHe={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M873.1 596.2l-164-208A32 32 0 00684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z"}}]},name:"swap-right",theme:"outlined"};const MHe=NHe;var kHe=function(e,t){return S.createElement(wo,pt({},e,{ref:t,icon:MHe}))},THe=S.forwardRef(kHe);const EHe=THe;function RHe(n,e,t){return t!==void 0?t:e==="year"&&n.lang.yearPlaceholder?n.lang.yearPlaceholder:e==="quarter"&&n.lang.quarterPlaceholder?n.lang.quarterPlaceholder:e==="month"&&n.lang.monthPlaceholder?n.lang.monthPlaceholder:e==="week"&&n.lang.weekPlaceholder?n.lang.weekPlaceholder:e==="time"&&n.timePickerLocale.placeholder?n.timePickerLocale.placeholder:n.lang.placeholder}function ZHe(n,e,t){return t!==void 0?t:e==="year"&&n.lang.yearPlaceholder?n.lang.rangeYearPlaceholder:e==="quarter"&&n.lang.quarterPlaceholder?n.lang.rangeQuarterPlaceholder:e==="month"&&n.lang.monthPlaceholder?n.lang.rangeMonthPlaceholder:e==="week"&&n.lang.weekPlaceholder?n.lang.rangeWeekPlaceholder:e==="time"&&n.timePickerLocale.placeholder?n.timePickerLocale.rangePlaceholder:n.lang.rangePlaceholder}function IO(n,e){const t={adjustX:1,adjustY:1};switch(e){case"bottomLeft":return{points:["tl","bl"],offset:[0,4],overflow:t};case"bottomRight":return{points:["tr","br"],offset:[0,4],overflow:t};case"topLeft":return{points:["bl","tl"],offset:[0,-4],overflow:t};case"topRight":return{points:["br","tr"],offset:[0,-4],overflow:t};default:return{points:n==="rtl"?["tr","br"]:["tl","bl"],offset:[0,4],overflow:t}}}function jle(n,e){const{allowClear:t=!0}=n,{clearIcon:i,removeIcon:r}=Lse(Object.assign(Object.assign({},n),{prefixCls:e,componentName:"DatePicker"}));return[S.useMemo(()=>t===!1?!1:Object.assign({clearIcon:i},t===!0?{}:t),[t,i]),r]}function WHe(n){return S.createElement(jr,Object.assign({size:"small",type:"primary"},n))}function Qle(n){return S.useMemo(()=>Object.assign({button:WHe},n),[n])}var AHe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{var r;const{prefixCls:o,getPopupContainer:s,components:a,className:l,style:u,placement:c,size:d,disabled:h,bordered:m=!0,placeholder:f,popupClassName:g,dropdownClassName:b,status:y,rootClassName:C,variant:w}=t,x=AHe(t,["prefixCls","getPopupContainer","components","className","style","placement","size","disabled","bordered","placeholder","popupClassName","dropdownClassName","status","rootClassName","variant"]),L=S.useRef(null),{getPrefixCls:I,direction:D,getPopupContainer:N,rangePicker:T}=S.useContext(Wn),R=I("picker",o),{compactSize:E,compactItemClassnames:W}=db(R,D),{picker:Z}=t,V=I(),[z,O]=dS(w,m),B=Ls(R),[P,H,M]=hle(R,B),[X]=jle(t,R),Y=Qle(a),A=pc(ke=>{var Ue;return(Ue=d??E)!==null&&Ue!==void 0?Ue:ke}),te=S.useContext(oh),oe=h??te,ae=S.useContext(Ba),{hasFeedback:le,status:ue,feedbackIcon:Ce}=ae,pe=S.createElement(S.Fragment,null,Z==="time"?S.createElement(Jle,null):S.createElement(Kle,null),le&&Ce);S.useImperativeHandle(i,()=>L.current);const[ce]=rb("Calendar",iT),De=Object.assign(Object.assign({},ce),t.locale),[Me]=iy("DatePicker",(r=t.popupStyle)===null||r===void 0?void 0:r.zIndex);return P(S.createElement(ig,null,S.createElement(DOe,Object.assign({separator:S.createElement("span",{"aria-label":"to",className:`${R}-separator`},S.createElement(EHe,null)),disabled:oe,ref:L,popupAlign:IO(D,c),placeholder:ZHe(De,Z,f),suffixIcon:pe,prevIcon:S.createElement("span",{className:`${R}-prev-icon`}),nextIcon:S.createElement("span",{className:`${R}-next-icon`}),superPrevIcon:S.createElement("span",{className:`${R}-super-prev-icon`}),superNextIcon:S.createElement("span",{className:`${R}-super-next-icon`}),transitionName:`${V}-slide-up`},x,{className:Te({[`${R}-${A}`]:A,[`${R}-${z}`]:O},mb(R,ly(ue,y),le),H,W,l,T==null?void 0:T.className,M,B,C),style:Object.assign(Object.assign({},T==null?void 0:T.style),u),locale:De.lang,prefixCls:R,getPopupContainer:s||N,generateConfig:n,components:Y,direction:D,classNames:{popup:Te(H,g||b,M,B,C)},styles:{popup:Object.assign(Object.assign({},t.popupStyle),{zIndex:Me})},allowClear:X}))))})}var GHe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{var f;const{prefixCls:g,getPopupContainer:b,components:y,style:C,className:w,rootClassName:x,size:L,bordered:I,placement:D,placeholder:N,popupClassName:T,dropdownClassName:R,disabled:E,status:W,variant:Z,onCalendarChange:V}=h,z=GHe(h,["prefixCls","getPopupContainer","components","style","className","rootClassName","size","bordered","placement","placeholder","popupClassName","dropdownClassName","disabled","status","variant","onCalendarChange"]),{getPrefixCls:O,direction:B,getPopupContainer:P,[c]:H}=S.useContext(Wn),M=O("picker",g),{compactSize:X,compactItemClassnames:Y}=db(M,B),A=S.useRef(null),[te,oe]=dS(Z,I),ae=Ls(M),[le,ue,Ce]=hle(M,ae);S.useImperativeHandle(m,()=>A.current);const pe={showToday:!0},ce=l||h.picker,De=O(),{onSelect:Me,multiple:ke}=z,Ue=Me&&l==="time"&&!ke,He=($e,We,ht)=>{V==null||V($e,We,ht),Ue&&Me($e)},[ct,yt]=jle(h,M),it=Qle(y),he=pc($e=>{var We;return(We=L??X)!==null&&We!==void 0?We:$e}),de=S.useContext(oh),me=E??de,j=S.useContext(Ba),{hasFeedback:$,status:q,feedbackIcon:ee}=j,ye=S.createElement(S.Fragment,null,ce==="time"?S.createElement(Jle,null):S.createElement(Kle,null),$&&ee),[_e]=rb("DatePicker",iT),Ne=Object.assign(Object.assign({},_e),h.locale),[Be]=iy("DatePicker",(f=h.popupStyle)===null||f===void 0?void 0:f.zIndex);return le(S.createElement(ig,null,S.createElement(ROe,Object.assign({ref:A,placeholder:RHe(Ne,ce,N),suffixIcon:ye,dropdownAlign:IO(B,D),prevIcon:S.createElement("span",{className:`${M}-prev-icon`}),nextIcon:S.createElement("span",{className:`${M}-next-icon`}),superPrevIcon:S.createElement("span",{className:`${M}-super-prev-icon`}),superNextIcon:S.createElement("span",{className:`${M}-super-next-icon`}),transitionName:`${De}-slide-up`,picker:l,onCalendarChange:He},pe,z,{locale:Ne.lang,className:Te({[`${M}-${he}`]:he,[`${M}-${te}`]:oe},mb(M,ly(q,W),$),ue,Y,H==null?void 0:H.className,w,Ce,ae,x),style:Object.assign(Object.assign({},H==null?void 0:H.style),C),prefixCls:M,getPopupContainer:b||P,generateConfig:n,components:it,direction:B,disabled:me,classNames:{popup:Te(ue,Ce,ae,x,T||R)},styles:{popup:Object.assign(Object.assign({},h.popupStyle),{zIndex:Be})},allowClear:ct,removeIcon:yt}))))})}const t=e(),i=e("week","WeekPicker"),r=e("month","MonthPicker"),o=e("year","YearPicker"),s=e("quarter","QuarterPicker"),a=e("time","TimePicker");return{DatePicker:t,WeekPicker:i,MonthPicker:r,YearPicker:o,TimePicker:a,QuarterPicker:s}}function $le(n){const{DatePicker:e,WeekPicker:t,MonthPicker:i,YearPicker:r,TimePicker:o,QuarterPicker:s}=XHe(n),a=VHe(n),l=e;return l.WeekPicker=t,l.MonthPicker=i,l.YearPicker=r,l.RangePicker=a,l.TimePicker=o,l.QuarterPicker=s,l}const LS=$le(VPe);function qle(n){const e=IO(n.direction,n.placement);return e.overflow.adjustY=!1,e.overflow.adjustX=!1,Object.assign(Object.assign({},n),{dropdownAlign:e})}const PHe=PT(LS,"picker",null,qle);LS._InternalPanelDoNotUseOrYouWillBeFired=PHe;const OHe=PT(LS.RangePicker,"picker",null,qle);LS._InternalRangePanelDoNotUseOrYouWillBeFired=OHe,LS.generatePicker=$le;const eue=LS;function tue(n){return["small","middle","large"].includes(n)}function nue(n){return n?typeof n=="number"&&!Number.isNaN(n):!1}const iue=ze.createContext({latestIndex:0}),BHe=iue.Provider,zHe=n=>{let{className:e,index:t,children:i,split:r,style:o}=n;const{latestIndex:s}=S.useContext(iue);return i==null?null:S.createElement(S.Fragment,null,S.createElement("div",{className:e,style:o},i),t{var t,i;const{getPrefixCls:r,space:o,direction:s}=S.useContext(Wn),{size:a=(o==null?void 0:o.size)||"small",align:l,className:u,rootClassName:c,children:d,direction:h="horizontal",prefixCls:m,split:f,style:g,wrap:b=!1,classNames:y,styles:C}=n,w=HHe(n,["size","align","className","rootClassName","children","direction","prefixCls","split","style","wrap","classNames","styles"]),[x,L]=Array.isArray(a)?a:[a,a],I=tue(L),D=tue(x),N=nue(L),T=nue(x),R=sd(d,{keepEmpty:!0}),E=l===void 0&&h==="horizontal"?"center":l,W=r("space",m),[Z,V,z]=ere(W),O=Te(W,o==null?void 0:o.className,V,`${W}-${h}`,{[`${W}-rtl`]:s==="rtl",[`${W}-align-${E}`]:E,[`${W}-gap-row-${L}`]:I,[`${W}-gap-col-${x}`]:D},u,c,z),B=Te(`${W}-item`,(t=y==null?void 0:y.item)!==null&&t!==void 0?t:(i=o==null?void 0:o.classNames)===null||i===void 0?void 0:i.item);let P=0;const H=R.map((Y,A)=>{var te,oe;Y!=null&&(P=A);const ae=Y&&Y.key||`${B}-${A}`;return S.createElement(zHe,{className:B,key:ae,index:A,split:f,style:(te=C==null?void 0:C.item)!==null&&te!==void 0?te:(oe=o==null?void 0:o.styles)===null||oe===void 0?void 0:oe.item},Y)}),M=S.useMemo(()=>({latestIndex:P}),[P]);if(R.length===0)return null;const X={};return b&&(X.flexWrap="wrap"),!D&&T&&(X.columnGap=x),!I&&N&&(X.rowGap=L),Z(S.createElement("div",Object.assign({ref:e,className:O,style:Object.assign(Object.assign(Object.assign({},X),o==null?void 0:o.style),g)},w),S.createElement(BHe,{value:M},H)))});rue.Compact=hWe;const YHe=rue;var UHe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const{getPopupContainer:e,getPrefixCls:t,direction:i}=S.useContext(Wn),{prefixCls:r,type:o="default",danger:s,disabled:a,loading:l,onClick:u,htmlType:c,children:d,className:h,menu:m,arrow:f,autoFocus:g,overlay:b,trigger:y,align:C,open:w,onOpenChange:x,placement:L,getPopupContainer:I,href:D,icon:N=S.createElement(YP,null),title:T,buttonsRender:R=ue=>ue,mouseEnterDelay:E,mouseLeaveDelay:W,overlayClassName:Z,overlayStyle:V,destroyPopupOnHide:z,dropdownRender:O}=n,B=UHe(n,["prefixCls","type","danger","disabled","loading","onClick","htmlType","children","className","menu","arrow","autoFocus","overlay","trigger","align","open","onOpenChange","placement","getPopupContainer","href","icon","title","buttonsRender","mouseEnterDelay","mouseLeaveDelay","overlayClassName","overlayStyle","destroyPopupOnHide","dropdownRender"]),P=t("dropdown",r),H=`${P}-button`,M={menu:m,arrow:f,autoFocus:g,align:C,disabled:a,trigger:a?[]:y,onOpenChange:x,getPopupContainer:I||e,mouseEnterDelay:E,mouseLeaveDelay:W,overlayClassName:Z,overlayStyle:V,destroyPopupOnHide:z,dropdownRender:O},{compactSize:X,compactItemClassnames:Y}=db(P,i),A=Te(H,Y,h);"overlay"in n&&(M.overlay=b),"open"in n&&(M.open=w),"placement"in n?M.placement=L:M.placement=i==="rtl"?"bottomLeft":"bottomRight";const te=S.createElement(jr,{type:o,danger:s,disabled:a,loading:l,onClick:u,htmlType:c,href:D,title:T},d),oe=S.createElement(jr,{type:o,danger:s,icon:N}),[ae,le]=R([te,oe]);return S.createElement(YHe.Compact,Object.assign({className:A,size:X,block:!0},B),ae,S.createElement(cae,Object.assign({},M),le))};oue.__ANT_BUTTON=!0;const KHe=oue,sue=cae;sue.Button=KHe;const FO=sue;function NE(n){const[e,t]=S.useState(n);return S.useEffect(()=>{const i=setTimeout(()=>{t(n)},n.length?0:10);return()=>{clearTimeout(i)}},[n]),e}const JHe=n=>{const{componentCls:e}=n,t=`${e}-show-help`,i=`${e}-show-help-item`;return{[t]:{transition:`opacity ${n.motionDurationSlow} ${n.motionEaseInOut}`,"&-appear, &-enter":{opacity:0,"&-active":{opacity:1}},"&-leave":{opacity:1,"&-active":{opacity:0}},[i]:{overflow:"hidden",transition:`height ${n.motionDurationSlow} ${n.motionEaseInOut}, opacity ${n.motionDurationSlow} ${n.motionEaseInOut}, transform ${n.motionDurationSlow} ${n.motionEaseInOut} !important`,[`&${i}-appear, &${i}-enter`]:{transform:"translateY(-5px)",opacity:0,"&-active":{transform:"translateY(0)",opacity:1}},[`&${i}-leave-active`]:{transform:"translateY(-5px)"}}}}},jHe=n=>({legend:{display:"block",width:"100%",marginBottom:n.marginLG,padding:0,color:n.colorTextDescription,fontSize:n.fontSizeLG,lineHeight:"inherit",border:0,borderBottom:`${Ee(n.lineWidth)} ${n.lineType} ${n.colorBorder}`},'input[type="search"]':{boxSizing:"border-box"},'input[type="radio"], input[type="checkbox"]':{lineHeight:"normal"},'input[type="file"]':{display:"block"},'input[type="range"]':{display:"block",width:"100%"},"select[multiple], select[size]":{height:"auto"},"input[type='file']:focus,\n input[type='radio']:focus,\n input[type='checkbox']:focus":{outline:0,boxShadow:`0 0 0 ${Ee(n.controlOutlineWidth)} ${n.controlOutline}`},output:{display:"block",paddingTop:15,color:n.colorText,fontSize:n.fontSize,lineHeight:n.lineHeight}}),aue=(n,e)=>{const{formItemCls:t}=n;return{[t]:{[`${t}-label > label`]:{height:e},[`${t}-control-input`]:{minHeight:e}}}},QHe=n=>{const{componentCls:e}=n;return{[n.componentCls]:Object.assign(Object.assign(Object.assign({},uo(n)),jHe(n)),{[`${e}-text`]:{display:"inline-block",paddingInlineEnd:n.paddingSM},"&-small":Object.assign({},aue(n,n.controlHeightSM)),"&-large":Object.assign({},aue(n,n.controlHeightLG))})}},$He=n=>{const{formItemCls:e,iconCls:t,componentCls:i,rootPrefixCls:r,labelRequiredMarkColor:o,labelColor:s,labelFontSize:a,labelHeight:l,labelColonMarginInlineStart:u,labelColonMarginInlineEnd:c,itemMarginBottom:d}=n;return{[e]:Object.assign(Object.assign({},uo(n)),{marginBottom:d,verticalAlign:"top","&-with-help":{transition:"none"},[`&-hidden, &-hidden.${r}-row`]:{display:"none"},"&-has-warning":{[`${e}-split`]:{color:n.colorError}},"&-has-error":{[`${e}-split`]:{color:n.colorWarning}},[`${e}-label`]:{flexGrow:0,overflow:"hidden",whiteSpace:"nowrap",textAlign:"end",verticalAlign:"middle","&-left":{textAlign:"start"},"&-wrap":{overflow:"unset",lineHeight:n.lineHeight,whiteSpace:"unset"},"> label":{position:"relative",display:"inline-flex",alignItems:"center",maxWidth:"100%",height:l,color:s,fontSize:a,[`> ${t}`]:{fontSize:n.fontSize,verticalAlign:"top"},[`&${e}-required:not(${e}-required-mark-optional)::before`]:{display:"inline-block",marginInlineEnd:n.marginXXS,color:o,fontSize:n.fontSize,fontFamily:"SimSun, sans-serif",lineHeight:1,content:'"*"',[`${i}-hide-required-mark &`]:{display:"none"}},[`${e}-optional`]:{display:"inline-block",marginInlineStart:n.marginXXS,color:n.colorTextDescription,[`${i}-hide-required-mark &`]:{display:"none"}},[`${e}-tooltip`]:{color:n.colorTextDescription,cursor:"help",writingMode:"horizontal-tb",marginInlineStart:n.marginXXS},"&::after":{content:'":"',position:"relative",marginBlock:0,marginInlineStart:u,marginInlineEnd:c},[`&${e}-no-colon::after`]:{content:'"\\a0"'}}},[`${e}-control`]:{"--ant-display":"flex",flexDirection:"column",flexGrow:1,[`&:first-child:not([class^="'${r}-col-'"]):not([class*="' ${r}-col-'"])`]:{width:"100%"},"&-input":{position:"relative",display:"flex",alignItems:"center",minHeight:n.controlHeight,"&-content":{flex:"auto",maxWidth:"100%"}}},[e]:{"&-explain, &-extra":{clear:"both",color:n.colorTextDescription,fontSize:n.fontSize,lineHeight:n.lineHeight},"&-explain-connected":{width:"100%"},"&-extra":{minHeight:n.controlHeightSM,transition:`color ${n.motionDurationMid} ${n.motionEaseOut}`},"&-explain":{"&-error":{color:n.colorError},"&-warning":{color:n.colorWarning}}},[`&-with-help ${e}-explain`]:{height:"auto",opacity:1},[`${e}-feedback-icon`]:{fontSize:n.fontSize,textAlign:"center",visibility:"visible",animationName:fP,animationDuration:n.motionDurationMid,animationTimingFunction:n.motionEaseOutBack,pointerEvents:"none","&-success":{color:n.colorSuccess},"&-error":{color:n.colorError},"&-warning":{color:n.colorWarning},"&-validating":{color:n.colorPrimary}}})}},qHe=n=>{const{componentCls:e,formItemCls:t}=n;return{[`${e}-horizontal`]:{[`${t}-label`]:{flexGrow:0},[`${t}-control`]:{flex:"1 1 0",minWidth:0},[`${t}-label[class$='-24'], ${t}-label[class*='-24 ']`]:{[`& + ${t}-control`]:{minWidth:"unset"}}}}},eYe=n=>{const{componentCls:e,formItemCls:t}=n;return{[`${e}-inline`]:{display:"flex",flexWrap:"wrap",[t]:{flex:"none",marginInlineEnd:n.margin,marginBottom:0,"&-row":{flexWrap:"nowrap"},[`> ${t}-label, - > ${t}-control`]:{display:"inline-block",verticalAlign:"top"},[`> ${t}-label`]:{flex:"none"},[`${e}-text`]:{display:"inline-block"},[`${t}-has-feedback`]:{display:"inline-block"}}}}},Fw=n=>({padding:n.verticalLabelPadding,margin:n.verticalLabelMargin,whiteSpace:"initial",textAlign:"start","> label":{margin:0,"&::after":{visibility:"hidden"}}}),tYe=n=>{const{componentCls:e,formItemCls:t,rootPrefixCls:i}=n;return{[`${t} ${t}-label`]:Fw(n),[`${e}:not(${e}-inline)`]:{[t]:{flexWrap:"wrap",[`${t}-label, ${t}-control`]:{[`&:not([class*=" ${i}-col-xs"])`]:{flex:"0 0 100%",maxWidth:"100%"}}}}}},nYe=n=>{const{componentCls:e,formItemCls:t,rootPrefixCls:i}=n;return{[`${e}-vertical`]:{[t]:{"&-row":{flexDirection:"column"},"&-label > label":{height:"auto"},[`${e}-item-control`]:{width:"100%"}}},[`${e}-vertical ${t}-label, + > ${t}-control`]:{display:"inline-block",verticalAlign:"top"},[`> ${t}-label`]:{flex:"none"},[`${e}-text`]:{display:"inline-block"},[`${t}-has-feedback`]:{display:"inline-block"}}}}},IS=n=>({padding:n.verticalLabelPadding,margin:n.verticalLabelMargin,whiteSpace:"initial",textAlign:"start","> label":{margin:0,"&::after":{visibility:"hidden"}}}),tYe=n=>{const{componentCls:e,formItemCls:t,rootPrefixCls:i}=n;return{[`${t} ${t}-label`]:IS(n),[`${e}:not(${e}-inline)`]:{[t]:{flexWrap:"wrap",[`${t}-label, ${t}-control`]:{[`&:not([class*=" ${i}-col-xs"])`]:{flex:"0 0 100%",maxWidth:"100%"}}}}}},nYe=n=>{const{componentCls:e,formItemCls:t,rootPrefixCls:i}=n;return{[`${e}-vertical`]:{[t]:{"&-row":{flexDirection:"column"},"&-label > label":{height:"auto"},[`${e}-item-control`]:{width:"100%"}}},[`${e}-vertical ${t}-label, .${i}-col-24${t}-label, - .${i}-col-xl-24${t}-label`]:Fw(n),[`@media (max-width: ${Ee(n.screenXSMax)})`]:[tYe(n),{[e]:{[`.${i}-col-xs-24${t}-label`]:Fw(n)}}],[`@media (max-width: ${Ee(n.screenSMMax)})`]:{[e]:{[`.${i}-col-sm-24${t}-label`]:Fw(n)}},[`@media (max-width: ${Ee(n.screenMDMax)})`]:{[e]:{[`.${i}-col-md-24${t}-label`]:Fw(n)}},[`@media (max-width: ${Ee(n.screenLGMax)})`]:{[e]:{[`.${i}-col-lg-24${t}-label`]:Fw(n)}}}},iYe=n=>({labelRequiredMarkColor:n.colorError,labelColor:n.colorTextHeading,labelFontSize:n.fontSize,labelHeight:n.controlHeight,labelColonMarginInlineStart:n.marginXXS/2,labelColonMarginInlineEnd:n.marginXS,itemMarginBottom:n.marginLG,verticalLabelPadding:`0 0 ${n.paddingXS}px`,verticalLabelMargin:0}),lue=(n,e)=>Ui(n,{formItemCls:`${n.componentCls}-item`,rootPrefixCls:e}),DO=Ho("Form",(n,e)=>{let{rootPrefixCls:t}=e;const i=lue(n,t);return[QHe(i),$He(i),JHe(i),qHe(i),eYe(i),nYe(i),mP(i),fP]},iYe,{order:-1e3}),uue=[];function MO(n,e,t){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;return{key:typeof n=="string"?n:`${e}-${i}`,error:n,errorStatus:t}}const cue=n=>{let{help:e,helpStatus:t,errors:i=uue,warnings:r=uue,className:o,fieldId:s,onVisibleChanged:a}=n;const{prefixCls:l}=w.useContext(hP),u=`${l}-item-explain`,c=_s(l),[d,h,m]=DO(l,c),f=w.useMemo(()=>NT(l),[l]),g=ME(i),b=ME(r),v=w.useMemo(()=>e!=null?[MO(e,"help",t)]:[].concat(_t(g.map((S,x)=>MO(S,"error","error",x))),_t(b.map((S,x)=>MO(S,"warning","warning",x)))),[e,t,g,b]),C={};return s&&(C.id=`${s}_help`),d(w.createElement(ud,{motionDeadline:f.motionDeadline,motionName:`${l}-show-help`,visible:!!v.length,onVisibleChanged:a},S=>{const{className:x,style:_}=S;return w.createElement("div",Object.assign({},C,{className:Te(u,x,m,c,o,h),style:_,role:"alert"}),w.createElement(I4,Object.assign({keys:v},NT(l),{motionName:`${l}-show-help-item`,component:!1}),F=>{const{key:D,error:M,errorStatus:T,className:Z,style:E}=F;return w.createElement("div",{key:D,className:Te(Z,{[`${u}-${T}`]:T}),style:E},M)}))}))},rYe=["parentNode"],oYe="form_item";function I_(n){return n===void 0||n===!1?[]:Array.isArray(n)?n:[n]}function due(n,e){if(!n.length)return;const t=n.join("_");return e?`${e}_${t}`:rYe.includes(t)?`${oYe}_${t}`:t}function hue(n,e,t,i,r,o){let s=i;return o!==void 0?s=o:t.validating?s="validating":n.length?s="error":e.length?s="warning":(t.touched||r&&t.validated)&&(s="success"),s}function mue(n){return I_(n).join("_")}function fue(n){const[e]=cP(),t=w.useRef({}),i=w.useMemo(()=>n??Object.assign(Object.assign({},e),{__INTERNAL__:{itemRef:r=>o=>{const s=mue(r);o?t.current[s]=o:delete t.current[s]}},scrollToField:function(r){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const s=I_(r),a=due(s,i.__INTERNAL__.name),l=a?document.getElementById(a):null;l&&yWe(l,Object.assign({scrollMode:"if-needed",block:"nearest"},o))},getFieldInstance:r=>{const o=mue(r);return t.current[o]}}),[n,e]);return[i]}var sYe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const t=w.useContext(sh),{getPrefixCls:i,direction:r,form:o}=w.useContext(Rn),{prefixCls:s,className:a,rootClassName:l,size:u,disabled:c=t,form:d,colon:h,labelAlign:m,labelWrap:f,labelCol:g,wrapperCol:b,hideRequiredMark:v,layout:C="horizontal",scrollToFirstError:S,requiredMark:x,onFinishFailed:_,name:F,style:D,feedbackIcons:M,variant:T}=n,Z=sYe(n,["prefixCls","className","rootClassName","size","disabled","form","colon","labelAlign","labelWrap","labelCol","wrapperCol","hideRequiredMark","layout","scrollToFirstError","requiredMark","onFinishFailed","name","style","feedbackIcons","variant"]),E=pc(u),R=w.useContext(kne),W=w.useMemo(()=>x!==void 0?x:v?!1:o&&o.requiredMark!==void 0?o.requiredMark:!0,[v,x,o]),A=h??(o==null?void 0:o.colon),z=i("form",s),O=_s(z),[B,P,H]=DO(z,O),k=Te(z,`${z}-${C}`,{[`${z}-hide-required-mark`]:W===!1,[`${z}-rtl`]:r==="rtl",[`${z}-${E}`]:E},H,O,P,o==null?void 0:o.className,a,l),[X]=fue(d),{__INTERNAL__:Y}=X;Y.name=F;const V=w.useMemo(()=>({name:F,labelAlign:m,labelCol:g,labelWrap:f,wrapperCol:b,vertical:C==="vertical",colon:A,requiredMark:W,itemRef:Y.itemRef,form:X,feedbackIcons:M}),[F,m,g,b,C,A,W,X,M]);w.useImperativeHandle(e,()=>X);const te=(ae,le)=>{if(ae){let ue={block:"nearest"};typeof ae=="object"&&(ue=ae),X.scrollToField(le,ue)}},oe=ae=>{if(_==null||_(ae),ae.errorFields.length){const le=ae.errorFields[0].name;if(S!==void 0){te(S,le);return}o&&o.scrollToFirstError!==void 0&&te(o.scrollToFirstError,le)}};return B(w.createElement(roe.Provider,{value:T},w.createElement(f4,{disabled:c},w.createElement(BL.Provider,{value:E},w.createElement(ioe,{validateMessages:R},w.createElement(og.Provider,{value:V},w.createElement(aw,Object.assign({id:F},Z,{name:F,onFinishFailed:oe,form:X,style:Object.assign(Object.assign({},o==null?void 0:o.style),D),className:k}))))))))},lYe=w.forwardRef(aYe);function uYe(n){if(typeof n=="function")return n;const e=ad(n);return e.length<=1?e[0]:e}const gue=()=>{const{status:n,errors:e=[],warnings:t=[]}=w.useContext(Ba);return{status:n,errors:e,warnings:t}};gue.Context=Ba;const cYe=gue;function dYe(n){const[e,t]=w.useState(n),i=w.useRef(null),r=w.useRef([]),o=w.useRef(!1);w.useEffect(()=>(o.current=!1,()=>{o.current=!0,xi.cancel(i.current),i.current=null}),[]);function s(a){o.current||(i.current===null&&(r.current=[],i.current=xi(()=>{i.current=null,t(l=>{let u=l;return r.current.forEach(c=>{u=c(u)}),u})})),r.current.push(a))}return[e,s]}function hYe(){const{itemRef:n}=w.useContext(og),e=w.useRef({});function t(i,r){const o=r&&typeof r=="object"&&r.ref,s=i.join("_");return(e.current.name!==s||e.current.originRef!==o)&&(e.current.name=s,e.current.originRef=o,e.current.ref=_u(n(i),o)),e.current.ref}return t}const mYe=n=>{const{formItemCls:e}=n;return{"@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none)":{[`${e}-control`]:{display:"flex"}}}},fYe=fT(["Form","item-item"],(n,e)=>{let{rootPrefixCls:t}=e;const i=lue(n,t);return[mYe(i)]}),gYe=n=>{const{prefixCls:e,status:t,wrapperCol:i,children:r,errors:o,warnings:s,_internalItemRender:a,extra:l,help:u,fieldId:c,marginBottom:d,onErrorVisibleChanged:h}=n,m=`${e}-item`,f=w.useContext(og),g=i||f.wrapperCol||{},b=Te(`${m}-control`,g.className),v=w.useMemo(()=>Object.assign({},f),[f]);delete v.labelCol,delete v.wrapperCol;const C=w.createElement("div",{className:`${m}-control-input`},w.createElement("div",{className:`${m}-control-input-content`},r)),S=w.useMemo(()=>({prefixCls:e,status:t}),[e,t]),x=d!==null||o.length||s.length?w.createElement("div",{style:{display:"flex",flexWrap:"nowrap"}},w.createElement(hP.Provider,{value:S},w.createElement(cue,{fieldId:c,errors:o,warnings:s,help:u,helpStatus:t,className:`${m}-explain-connected`,onVisibleChanged:h})),!!d&&w.createElement("div",{style:{width:0,height:d}})):null,_={};c&&(_.id=`${c}_extra`);const F=l?w.createElement("div",Object.assign({},_,{className:`${m}-extra`}),l):null,D=a&&a.mark==="pro_table_render"&&a.render?a.render(n,{input:C,errorList:x,extra:F}):w.createElement(w.Fragment,null,C,x,F);return w.createElement(og.Provider,{value:v},w.createElement(Nle,Object.assign({},g,{className:b}),D),w.createElement(fYe,{prefixCls:e}))};var pYe={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0130.9-44.8c59-22.7 97.1-74.7 97.1-132.5.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"question-circle",theme:"outlined"};const bYe=pYe;var vYe=function(e,t){return w.createElement(So,pt({},e,{ref:t,icon:bYe}))},yYe=w.forwardRef(vYe);const CYe=yYe;var wYe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{let{prefixCls:e,label:t,htmlFor:i,labelCol:r,labelAlign:o,colon:s,required:a,requiredMark:l,tooltip:u}=n;var c;const[d]=rb("Form"),{vertical:h,labelAlign:m,labelCol:f,labelWrap:g,colon:b}=w.useContext(og);if(!t)return null;const v=r||f||{},C=o||m,S=`${e}-item-label`,x=Te(S,C==="left"&&`${S}-left`,v.className,{[`${S}-wrap`]:!!g});let _=t;const F=s===!0||b!==!1&&s!==!1;F&&!h&&typeof t=="string"&&t.trim()!==""&&(_=t.replace(/[:|:]\s*$/,""));const M=SYe(u);if(M){const{icon:R=w.createElement(CYe,null)}=M,W=wYe(M,["icon"]),A=w.createElement(sg,Object.assign({},W),w.cloneElement(R,{className:`${e}-item-tooltip`,title:"",onClick:z=>{z.preventDefault()},tabIndex:null}));_=w.createElement(w.Fragment,null,_,A)}const T=l==="optional",Z=typeof l=="function";Z?_=l(_,{required:!!a}):T&&!a&&(_=w.createElement(w.Fragment,null,_,w.createElement("span",{className:`${e}-item-optional`,title:""},(d==null?void 0:d.optional)||((c=eg.Form)===null||c===void 0?void 0:c.optional))));const E=Te({[`${e}-item-required`]:a,[`${e}-item-required-mark-optional`]:T||Z,[`${e}-item-no-colon`]:!F});return w.createElement(Nle,Object.assign({},v,{className:x}),w.createElement("label",{htmlFor:i,className:E,title:typeof t=="string"?t:""},_))},LYe={success:UL,warning:LT,error:tv,validating:iw};function pue(n){let{children:e,errors:t,warnings:i,hasFeedback:r,validateStatus:o,prefixCls:s,meta:a,noStyle:l}=n;const u=`${s}-item`,{feedbackIcons:c}=w.useContext(og),d=hue(t,i,a,null,!!r,o),{isFormItemInput:h,status:m,hasFeedback:f,feedbackIcon:g}=w.useContext(Ba),b=w.useMemo(()=>{var v;let C;if(r){const x=r!==!0&&r.icons||c,_=d&&((v=x==null?void 0:x({status:d,errors:t,warnings:i}))===null||v===void 0?void 0:v[d]),F=d&&LYe[d];C=_!==!1&&F?w.createElement("span",{className:Te(`${u}-feedback-icon`,`${u}-feedback-icon-${d}`)},_||w.createElement(F,null)):null}const S={status:d||"",errors:t,warnings:i,hasFeedback:!!r,feedbackIcon:C,isFormItemInput:!0};return l&&(S.status=(d??m)||"",S.isFormItemInput=h,S.hasFeedback=!!(r??f),S.feedbackIcon=r!==void 0?S.feedbackIcon:g),S},[d,r,l,h,m]);return w.createElement(Ba.Provider,{value:b},e)}var _Ye=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{if(M&&x.current){const O=getComputedStyle(x.current);E(parseInt(O.marginBottom,10))}},[M,T]);const R=O=>{O||E(null)},A=function(){let O=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;const B=O?_:u.errors,P=O?F:u.warnings;return hue(B,P,u,"",!!c,l)}(),z=Te(C,t,i,{[`${C}-with-help`]:D||_.length||F.length,[`${C}-has-feedback`]:A&&c,[`${C}-has-success`]:A==="success",[`${C}-has-warning`]:A==="warning",[`${C}-has-error`]:A==="error",[`${C}-is-validating`]:A==="validating",[`${C}-hidden`]:d});return w.createElement("div",{className:z,style:r,ref:x},w.createElement(hze,Object.assign({className:`${C}-row`},la(v,["_internalItemRender","colon","dependencies","extra","fieldKey","getValueFromEvent","getValueProps","htmlFor","id","initialValue","isListField","label","labelAlign","labelCol","labelWrap","messageVariables","name","normalize","noStyle","preserve","requiredMark","rules","shouldUpdate","trigger","tooltip","validateFirst","validateTrigger","valuePropName","wrapperCol","validateDebounce"])),w.createElement(xYe,Object.assign({htmlFor:m},n,{requiredMark:S,required:f??g,prefixCls:e})),w.createElement(gYe,Object.assign({},n,u,{errors:_,warnings:F,prefixCls:e,status:A,help:o,marginBottom:Z,onErrorVisibleChanged:R}),w.createElement(noe.Provider,{value:b},w.createElement(pue,{prefixCls:e,meta:u,errors:u.errors,warnings:u.warnings,hasFeedback:c,validateStatus:A},h)))),!!Z&&w.createElement("div",{className:`${C}-margin-offset`,style:{marginBottom:-Z}}))}const IYe="__SPLIT__";function DYe(n,e){const t=Object.keys(n),i=Object.keys(e);return t.length===i.length&&t.every(r=>{const o=n[r],s=e[r];return o===s||typeof o=="function"||typeof s=="function"})}const MYe=w.memo(n=>{let{children:e}=n;return e},(n,e)=>DYe(n.control,e.control)&&n.update===e.update&&n.childProps.length===e.childProps.length&&n.childProps.every((t,i)=>t===e.childProps[i]));function bue(){return{errors:[],warnings:[],touched:!1,validating:!1,name:[],validated:!1}}function kYe(n){const{name:e,noStyle:t,className:i,dependencies:r,prefixCls:o,shouldUpdate:s,rules:a,children:l,required:u,label:c,messageVariables:d,trigger:h="onChange",validateTrigger:m,hidden:f,help:g}=n,{getPrefixCls:b}=w.useContext(Rn),{name:v}=w.useContext(og),C=uYe(l),S=typeof C=="function",x=w.useContext(noe),{validateTrigger:_}=w.useContext(ov),F=m!==void 0?m:_,D=e!=null,M=b("form",o),T=_s(M),[Z,E,R]=DO(M,T);jC();const W=w.useContext(qL),A=w.useRef(),[z,O]=dYe({}),[B,P]=sb(()=>bue()),H=ae=>{const le=W==null?void 0:W.getKey(ae.name);if(P(ae.destroy?bue():ae,!0),t&&g!==!1&&x){let ue=ae.name;if(ae.destroy)ue=A.current||ue;else if(le!==void 0){const[Ce,pe]=le;ue=[Ce].concat(_t(pe)),A.current=ue}x(ae,ue)}},k=(ae,le)=>{O(ue=>{const Ce=Object.assign({},ue),ce=[].concat(_t(ae.name.slice(0,-1)),_t(le)).join(IYe);return ae.destroy?delete Ce[ce]:Ce[ce]=ae,Ce})},[X,Y]=w.useMemo(()=>{const ae=_t(B.errors),le=_t(B.warnings);return Object.values(z).forEach(ue=>{ae.push.apply(ae,_t(ue.errors||[])),le.push.apply(le,_t(ue.warnings||[]))}),[ae,le]},[z,B.errors,B.warnings]),V=hYe();function te(ae,le,ue){return t&&!f?w.createElement(pue,{prefixCls:M,hasFeedback:n.hasFeedback,validateStatus:n.validateStatus,meta:B,errors:X,warnings:Y,noStyle:!0},ae):w.createElement(FYe,Object.assign({key:"row"},n,{className:Te(i,R,T,E),prefixCls:M,fieldId:le,isRequired:ue,errors:X,warnings:Y,meta:B,onSubItemMetaChange:k}),ae)}if(!D&&!S&&!r)return Z(te(C));let oe={};return typeof c=="string"?oe.label=c:e&&(oe.label=String(e)),d&&(oe=Object.assign(Object.assign({},oe),d)),Z(w.createElement(lP,Object.assign({},n,{messageVariables:oe,trigger:h,validateTrigger:F,onMetaChange:H}),(ae,le,ue)=>{const Ce=I_(e).length&&le?le.name:[],pe=due(Ce,v),ce=u!==void 0?u:!!(a&&a.some(Ne=>{if(Ne&&typeof Ne=="object"&&Ne.required&&!Ne.warningOnly)return!0;if(typeof Ne=="function"){const Ue=Ne(ue);return Ue&&Ue.required&&!Ue.warningOnly}return!1})),De=Object.assign({},ae);let ke=null;if(Array.isArray(C)&&D)ke=C;else if(!(S&&(!(s||r)||D))){if(!(r&&!S&&!D))if(w.isValidElement(C)){const Ne=Object.assign(Object.assign({},C.props),De);if(Ne.id||(Ne.id=pe),g||X.length>0||Y.length>0||n.extra){const ct=[];(g||X.length>0)&&ct.push(`${pe}_help`),n.extra&&ct.push(`${pe}_extra`),Ne["aria-describedby"]=ct.join(" ")}X.length>0&&(Ne["aria-invalid"]="true"),ce&&(Ne["aria-required"]="true"),jf(C)&&(Ne.ref=V(Ce,C)),new Set([].concat(_t(I_(h)),_t(I_(F)))).forEach(ct=>{Ne[ct]=function(){for(var vt,it,he,de,me,j=arguments.length,$=new Array(j),q=0;q{var{prefixCls:e,children:t}=n,i=TYe(n,["prefixCls","children"]);const{getPrefixCls:r}=w.useContext(Rn),o=r("form",e),s=w.useMemo(()=>({prefixCls:o,status:"error"}),[o]);return w.createElement(Qre,Object.assign({},i),(a,l,u)=>w.createElement(hP.Provider,{value:s},t(a.map(c=>Object.assign(Object.assign({},c),{fieldKey:c.key})),l,{errors:u.errors,warnings:u.warnings})))};function ZYe(){const{form:n}=w.useContext(og);return n}const Ei=lYe;Ei.Item=NYe,Ei.List=EYe,Ei.ErrorList=cue,Ei.useForm=fue,Ei.useFormInstance=ZYe,Ei.useWatch=toe,Ei.Provider=ioe,Ei.create=()=>{};function WYe(n,e,t){return typeof t=="boolean"?t:n.length?!0:ad(e).some(r=>r.type===HP)}const RYe=n=>{const{componentCls:e,bodyBg:t,lightSiderBg:i,lightTriggerBg:r,lightTriggerColor:o}=n;return{[`${e}-sider-light`]:{background:i,[`${e}-sider-trigger`]:{color:o,background:r},[`${e}-sider-zero-width-trigger`]:{color:o,background:r,border:`1px solid ${t}`,borderInlineStart:0}}}},VYe=n=>{const{antCls:e,componentCls:t,colorText:i,triggerColor:r,footerBg:o,triggerBg:s,headerHeight:a,headerPadding:l,headerColor:u,footerPadding:c,triggerHeight:d,zeroTriggerHeight:h,zeroTriggerWidth:m,motionDurationMid:f,motionDurationSlow:g,fontSize:b,borderRadius:v,bodyBg:C,headerBg:S,siderBg:x}=n;return{[t]:Object.assign(Object.assign({display:"flex",flex:"auto",flexDirection:"column",minHeight:0,background:C,"&, *":{boxSizing:"border-box"},[`&${t}-has-sider`]:{flexDirection:"row",[`> ${t}, > ${t}-content`]:{width:0}},[`${t}-header, &${t}-footer`]:{flex:"0 0 auto"},[`${t}-sider`]:{position:"relative",minWidth:0,background:x,transition:`all ${f}, background 0s`,"&-children":{height:"100%",marginTop:-.1,paddingTop:.1,[`${e}-menu${e}-menu-inline-collapsed`]:{width:"auto"}},"&-has-trigger":{paddingBottom:d},"&-right":{order:1},"&-trigger":{position:"fixed",bottom:0,zIndex:1,height:d,color:r,lineHeight:Ee(d),textAlign:"center",background:s,cursor:"pointer",transition:`all ${f}`},"&-zero-width":{"> *":{overflow:"hidden"},"&-trigger":{position:"absolute",top:a,insetInlineEnd:n.calc(m).mul(-1).equal(),zIndex:1,width:m,height:h,color:r,fontSize:n.fontSizeXL,display:"flex",alignItems:"center",justifyContent:"center",background:x,borderStartStartRadius:0,borderStartEndRadius:v,borderEndEndRadius:v,borderEndStartRadius:0,cursor:"pointer",transition:`background ${g} ease`,"&::after":{position:"absolute",inset:0,background:"transparent",transition:`all ${g}`,content:'""'},"&:hover::after":{background:"rgba(255, 255, 255, 0.2)"},"&-right":{insetInlineStart:n.calc(m).mul(-1).equal(),borderStartStartRadius:v,borderStartEndRadius:0,borderEndEndRadius:0,borderEndStartRadius:v}}}}},RYe(n)),{"&-rtl":{direction:"rtl"}}),[`${t}-header`]:{height:a,padding:l,color:u,lineHeight:Ee(a),background:S,[`${e}-menu`]:{lineHeight:"inherit"}},[`${t}-footer`]:{padding:c,color:i,fontSize:b,background:o},[`${t}-content`]:{flex:"auto",color:i,minHeight:0}}},yue=Ho("Layout",n=>[VYe(n)],n=>{const{colorBgLayout:e,controlHeight:t,controlHeightLG:i,colorText:r,controlHeightSM:o,marginXXS:s,colorTextLightSolid:a,colorBgContainer:l}=n,u=i*1.25;return{colorBgHeader:"#001529",colorBgBody:e,colorBgTrigger:"#002140",bodyBg:e,headerBg:"#001529",headerHeight:t*2,headerPadding:`0 ${u}px`,headerColor:r,footerPadding:`${o}px ${u}px`,footerBg:e,siderBg:"#001529",triggerHeight:i+s*2,triggerBg:"#002140",triggerColor:a,zeroTriggerWidth:i,zeroTriggerHeight:i,lightSiderBg:l,lightTriggerBg:l,lightTriggerColor:r}},{deprecatedTokens:[["colorBgBody","bodyBg"],["colorBgHeader","headerBg"],["colorBgTrigger","triggerBg"]]});var Cue=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);rw.forwardRef((s,a)=>w.createElement(r,Object.assign({ref:a,suffixCls:e,tagName:t},s)))}const kO=w.forwardRef((n,e)=>{const{prefixCls:t,suffixCls:i,className:r,tagName:o}=n,s=Cue(n,["prefixCls","suffixCls","className","tagName"]),{getPrefixCls:a}=w.useContext(Rn),l=a("layout",t),[u,c,d]=yue(l),h=i?`${l}-${i}`:l;return u(w.createElement(o,Object.assign({className:Te(t||h,r,c,d),ref:e},s)))}),AYe=w.forwardRef((n,e)=>{const{direction:t}=w.useContext(Rn),[i,r]=w.useState([]),{prefixCls:o,className:s,rootClassName:a,children:l,hasSider:u,tagName:c,style:d}=n,h=Cue(n,["prefixCls","className","rootClassName","children","hasSider","tagName","style"]),m=la(h,["suffixCls"]),{getPrefixCls:f,layout:g}=w.useContext(Rn),b=f("layout",o),v=WYe(i,l,u),[C,S,x]=yue(b),_=Te(b,{[`${b}-has-sider`]:v,[`${b}-rtl`]:t==="rtl"},g==null?void 0:g.className,s,a,S,x),F=w.useMemo(()=>({siderHook:{addSider:D=>{r(M=>[].concat(_t(M),[D]))},removeSider:D=>{r(M=>M.filter(T=>T!==D))}}}),[]);return C(w.createElement(eae.Provider,{value:F},w.createElement(c,Object.assign({ref:e,className:_,style:Object.assign(Object.assign({},g==null?void 0:g.style),d)},m),l)))}),GYe=kE({tagName:"div",displayName:"Layout"})(AYe),XYe=kE({suffixCls:"header",tagName:"header",displayName:"Header"})(kO),PYe=kE({suffixCls:"footer",tagName:"footer",displayName:"Footer"})(kO),OYe=kE({suffixCls:"content",tagName:"main",displayName:"Content"})(kO),Iw=GYe;Iw.Header=XYe,Iw.Footer=PYe,Iw.Content=OYe,Iw.Sider=HP,Iw._InternalSiderContext=tE;const wue=Iw,BYe=new ki("antSpinMove",{to:{opacity:1}}),zYe=new ki("antRotate",{to:{transform:"rotate(405deg)"}}),HYe=n=>{const{componentCls:e,calc:t}=n;return{[`${e}`]:Object.assign(Object.assign({},uo(n)),{position:"absolute",display:"none",color:n.colorPrimary,fontSize:0,textAlign:"center",verticalAlign:"middle",opacity:0,transition:`transform ${n.motionDurationSlow} ${n.motionEaseInOutCirc}`,"&-spinning":{position:"static",display:"inline-block",opacity:1},[`${e}-text`]:{fontSize:n.fontSize,paddingTop:t(t(n.dotSize).sub(n.fontSize)).div(2).add(2).equal()},"&-fullscreen":{position:"fixed",width:"100vw",height:"100vh",backgroundColor:n.colorBgMask,zIndex:n.zIndexPopupBase,inset:0,display:"flex",alignItems:"center",flexDirection:"column",justifyContent:"center",opacity:0,visibility:"hidden",transition:`all ${n.motionDurationMid}`,"&-show":{opacity:1,visibility:"visible"},[`${e}-dot ${e}-dot-item`]:{backgroundColor:n.colorWhite},[`${e}-text`]:{color:n.colorTextLightSolid}},"&-nested-loading":{position:"relative",[`> div > ${e}`]:{position:"absolute",top:0,insetInlineStart:0,zIndex:4,display:"block",width:"100%",height:"100%",maxHeight:n.contentHeight,[`${e}-dot`]:{position:"absolute",top:"50%",insetInlineStart:"50%",margin:t(n.dotSize).mul(-1).div(2).equal()},[`${e}-text`]:{position:"absolute",top:"50%",width:"100%",textShadow:`0 1px 2px ${n.colorBgContainer}`},[`&${e}-show-text ${e}-dot`]:{marginTop:t(n.dotSize).div(2).mul(-1).sub(10).equal()},"&-sm":{[`${e}-dot`]:{margin:t(n.dotSizeSM).mul(-1).div(2).equal()},[`${e}-text`]:{paddingTop:t(t(n.dotSizeSM).sub(n.fontSize)).div(2).add(2).equal()},[`&${e}-show-text ${e}-dot`]:{marginTop:t(n.dotSizeSM).div(2).mul(-1).sub(10).equal()}},"&-lg":{[`${e}-dot`]:{margin:t(n.dotSizeLG).mul(-1).div(2).equal()},[`${e}-text`]:{paddingTop:t(t(n.dotSizeLG).sub(n.fontSize)).div(2).add(2).equal()},[`&${e}-show-text ${e}-dot`]:{marginTop:t(n.dotSizeLG).div(2).mul(-1).sub(10).equal()}}},[`${e}-container`]:{position:"relative",transition:`opacity ${n.motionDurationSlow}`,"&::after":{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,zIndex:10,width:"100%",height:"100%",background:n.colorBgContainer,opacity:0,transition:`all ${n.motionDurationSlow}`,content:'""',pointerEvents:"none"}},[`${e}-blur`]:{clear:"both",opacity:.5,userSelect:"none",pointerEvents:"none","&::after":{opacity:.4,pointerEvents:"auto"}}},"&-tip":{color:n.spinDotDefault},[`${e}-dot`]:{position:"relative",display:"inline-block",fontSize:n.dotSize,width:"1em",height:"1em","&-item":{position:"absolute",display:"block",width:t(n.dotSize).sub(t(n.marginXXS).div(2)).div(2).equal(),height:t(n.dotSize).sub(t(n.marginXXS).div(2)).div(2).equal(),backgroundColor:n.colorPrimary,borderRadius:"100%",transform:"scale(0.75)",transformOrigin:"50% 50%",opacity:.3,animationName:BYe,animationDuration:"1s",animationIterationCount:"infinite",animationTimingFunction:"linear",animationDirection:"alternate","&:nth-child(1)":{top:0,insetInlineStart:0,animationDelay:"0s"},"&:nth-child(2)":{top:0,insetInlineEnd:0,animationDelay:"0.4s"},"&:nth-child(3)":{insetInlineEnd:0,bottom:0,animationDelay:"0.8s"},"&:nth-child(4)":{bottom:0,insetInlineStart:0,animationDelay:"1.2s"}},"&-spin":{transform:"rotate(45deg)",animationName:zYe,animationDuration:"1.2s",animationIterationCount:"infinite",animationTimingFunction:"linear"}},[`&-sm ${e}-dot`]:{fontSize:n.dotSizeSM,i:{width:t(t(n.dotSizeSM).sub(t(n.marginXXS).div(2))).div(2).equal(),height:t(t(n.dotSizeSM).sub(t(n.marginXXS).div(2))).div(2).equal()}},[`&-lg ${e}-dot`]:{fontSize:n.dotSizeLG,i:{width:t(t(n.dotSizeLG).sub(n.marginXXS)).div(2).equal(),height:t(t(n.dotSizeLG).sub(n.marginXXS)).div(2).equal()}},[`&${e}-show-text ${e}-text`]:{display:"block"}})}},YYe=Ho("Spin",n=>{const e=Ui(n,{spinDotDefault:n.colorTextDescription});return[HYe(e)]},n=>{const{controlHeightLG:e,controlHeight:t}=n;return{contentHeight:400,dotSize:e/2,dotSizeSM:e*.35,dotSizeLG:t}});var UYe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const{prefixCls:e,spinning:t=!0,delay:i=0,className:r,rootClassName:o,size:s="default",tip:a,wrapperClassName:l,style:u,children:c,fullscreen:d=!1}=n,h=UYe(n,["prefixCls","spinning","delay","className","rootClassName","size","tip","wrapperClassName","style","children","fullscreen"]),{getPrefixCls:m}=w.useContext(Rn),f=m("spin",e),[g,b,v]=YYe(f),[C,S]=w.useState(()=>t&&!JYe(t,i));w.useEffect(()=>{if(t){const R=eze(i,()=>{S(!0)});return R(),()=>{var W;(W=R==null?void 0:R.cancel)===null||W===void 0||W.call(R)}}S(!1)},[i,t]);const x=w.useMemo(()=>typeof c<"u"&&!d,[c,d]),{direction:_,spin:F}=w.useContext(Rn),D=Te(f,F==null?void 0:F.className,{[`${f}-sm`]:s==="small",[`${f}-lg`]:s==="large",[`${f}-spinning`]:C,[`${f}-show-text`]:!!a,[`${f}-fullscreen`]:d,[`${f}-fullscreen-show`]:d&&C,[`${f}-rtl`]:_==="rtl"},r,o,b,v),M=Te(`${f}-container`,{[`${f}-blur`]:C}),T=la(h,["indicator"]),Z=Object.assign(Object.assign({},F==null?void 0:F.style),u),E=w.createElement("div",Object.assign({},T,{style:Z,className:D,"aria-live":"polite","aria-busy":C}),KYe(f,n),a&&(x||d)?w.createElement("div",{className:`${f}-text`},a):null);return g(x?w.createElement("div",Object.assign({},T,{className:Te(`${f}-nested-loading`,l,b,v)}),C&&w.createElement("div",{key:"loading"},E),w.createElement("div",{className:M,key:"container"},c)):E)};Sue.setDefaultIndicator=n=>{NE=n};const xue=Sue;let md=null,pv=n=>n(),D_=[],M_={};function Lue(){const{getContainer:n,duration:e,rtl:t,maxCount:i,top:r}=M_,o=(n==null?void 0:n())||document.body;return{getContainer:()=>o,duration:e,rtl:t,maxCount:i,top:r}}const jYe=ze.forwardRef((n,e)=>{const{messageConfig:t,sync:i}=n,{getPrefixCls:r}=w.useContext(Rn),o=M_.prefixCls||r("message"),s=w.useContext(Woe),[a,l]=Kie(Object.assign(Object.assign(Object.assign({},t),{prefixCls:o}),s.message));return ze.useImperativeHandle(e,()=>{const u=Object.assign({},a);return Object.keys(u).forEach(c=>{u[c]=function(){return i(),a[c].apply(a,arguments)}}),{instance:u,sync:i}}),l}),QYe=ze.forwardRef((n,e)=>{const[t,i]=ze.useState(Lue),r=()=>{i(Lue)};ze.useEffect(r,[]);const o=D4(),s=o.getRootPrefixCls(),a=o.getIconPrefixCls(),l=o.getTheme(),u=ze.createElement(jYe,{ref:e,sync:r,messageConfig:t});return ze.createElement(ev,{prefixCls:s,iconPrefixCls:a,theme:l},o.holderRender?o.holderRender(u):u)});function TE(){if(!md){const n=document.createDocumentFragment(),e={fragment:n};md=e,pv(()=>{kT(ze.createElement(QYe,{ref:t=>{const{instance:i,sync:r}=t||{};Promise.resolve().then(()=>{!e.instance&&i&&(e.instance=i,e.sync=r,TE())})}}),n)});return}md.instance&&(D_.forEach(n=>{const{type:e,skipped:t}=n;if(!t)switch(e){case"open":{pv(()=>{const i=md.instance.open(Object.assign(Object.assign({},M_),n.config));i==null||i.then(n.resolve),n.setCloseFn(i)});break}case"destroy":pv(()=>{md==null||md.instance.destroy(n.key)});break;default:pv(()=>{var i;const r=(i=md.instance)[e].apply(i,_t(n.args));r==null||r.then(n.resolve),n.setCloseFn(r)})}}),D_=[])}function $Ye(n){M_=Object.assign(Object.assign({},M_),n),pv(()=>{var e;(e=md==null?void 0:md.sync)===null||e===void 0||e.call(md)})}function qYe(n){const e=Z4(t=>{let i;const r={type:"open",config:n,resolve:t,setCloseFn:o=>{i=o}};return D_.push(r),()=>{i?pv(()=>{i()}):r.skipped=!0}});return TE(),e}function e6e(n,e){const t=Z4(i=>{let r;const o={type:n,args:e,resolve:i,setCloseFn:s=>{r=s}};return D_.push(o),()=>{r?pv(()=>{r()}):o.skipped=!0}});return TE(),t}const t6e=n=>{D_.push({type:"destroy",key:n}),TE()},n6e=["success","info","warning","error","loading"],_ue={open:qYe,destroy:t6e,config:$Ye,useMessage:zWe,_InternalPanelDoNotUseOrYouWillBeFired:RWe};n6e.forEach(n=>{_ue[n]=function(){for(var e=arguments.length,t=new Array(e),i=0;i{const{prefixCls:e,className:t,closeIcon:i,closable:r,type:o,title:s,children:a,footer:l}=n,u=i6e(n,["prefixCls","className","closeIcon","closable","type","title","children","footer"]),{getPrefixCls:c}=w.useContext(Rn),d=c(),h=e||c("modal"),m=_s(d),[f,g,b]=poe(h,m),v=`${h}-confirm`;let C={};return o?C={closable:r??!1,title:"",footer:"",children:w.createElement(voe,Object.assign({},n,{prefixCls:h,confirmPrefixCls:v,rootPrefixCls:d,content:a}))}:C={closable:r??!0,title:s,footer:l!==null&&w.createElement(uoe,Object.assign({},n)),children:a},f(w.createElement(kre,Object.assign({prefixCls:h,className:Te(g,`${h}-pure-panel`,o&&v,o&&`${v}-${o}`,t,b,m)},u,{closeIcon:loe(h,i),closable:r},C)))});function Fue(n){return s_(Soe(n))}const mh=boe;mh.useModal=XVe,mh.info=function(e){return s_(xoe(e))},mh.success=function(e){return s_(Loe(e))},mh.error=function(e){return s_(_oe(e))},mh.warning=Fue,mh.warn=Fue,mh.confirm=function(e){return s_(Foe(e))},mh.destroyAll=function(){for(;av.length;){const e=av.pop();e&&e()}},mh.config=WVe,mh._InternalPanelDoNotUseOrYouWillBeFired=r6e;const Iue=mh;let fh=null,EE=n=>n(),ZE=[],k_={};function Due(){const{getContainer:n,rtl:e,maxCount:t,top:i,bottom:r}=k_,o=(n==null?void 0:n())||document.body;return{getContainer:()=>o,rtl:e,maxCount:t,top:i,bottom:r}}const o6e=ze.forwardRef((n,e)=>{const{notificationConfig:t,sync:i}=n,{getPrefixCls:r}=w.useContext(Rn),o=k_.prefixCls||r("notification"),s=w.useContext(Woe),[a,l]=Zoe(Object.assign(Object.assign(Object.assign({},t),{prefixCls:o}),s.notification));return ze.useEffect(i,[]),ze.useImperativeHandle(e,()=>{const u=Object.assign({},a);return Object.keys(u).forEach(c=>{u[c]=function(){return i(),a[c].apply(a,arguments)}}),{instance:u,sync:i}}),l}),s6e=ze.forwardRef((n,e)=>{const[t,i]=ze.useState(Due),r=()=>{i(Due)};ze.useEffect(r,[]);const o=D4(),s=o.getRootPrefixCls(),a=o.getIconPrefixCls(),l=o.getTheme(),u=ze.createElement(o6e,{ref:e,sync:r,notificationConfig:t});return ze.createElement(ev,{prefixCls:s,iconPrefixCls:a,theme:l},o.holderRender?o.holderRender(u):u)});function NO(){if(!fh){const n=document.createDocumentFragment(),e={fragment:n};fh=e,EE(()=>{kT(ze.createElement(s6e,{ref:t=>{const{instance:i,sync:r}=t||{};Promise.resolve().then(()=>{!e.instance&&i&&(e.instance=i,e.sync=r,NO())})}}),n)});return}fh.instance&&(ZE.forEach(n=>{switch(n.type){case"open":{EE(()=>{fh.instance.open(Object.assign(Object.assign({},k_),n.config))});break}case"destroy":EE(()=>{fh==null||fh.instance.destroy(n.key)});break}}),ZE=[])}function a6e(n){k_=Object.assign(Object.assign({},k_),n),EE(()=>{var e;(e=fh==null?void 0:fh.sync)===null||e===void 0||e.call(fh)})}function Mue(n){ZE.push({type:"open",config:n}),NO()}const l6e=n=>{ZE.push({type:"destroy",key:n}),NO()},u6e=["success","info","warning","error"],kue={open:Mue,destroy:l6e,config:a6e,useNotification:aAe,_InternalPanelDoNotUseOrYouWillBeFired:$Ve};u6e.forEach(n=>{kue[n]=e=>Mue(Object.assign(Object.assign({},e),{type:n}))});const c6e=kue;var d6e={percent:0,prefixCls:"rc-progress",strokeColor:"#2db7f5",strokeLinecap:"round",strokeWidth:1,trailColor:"#D9D9D9",trailWidth:1,gapPosition:"bottom"},h6e=function(){var e=w.useRef([]),t=w.useRef(null);return w.useEffect(function(){var i=Date.now(),r=!1;e.current.forEach(function(o){if(o){r=!0;var s=o.style;s.transitionDuration=".3s, .3s, .3s, .06s",t.current&&i-t.current<100&&(s.transitionDuration="0s, 0s")}}),r&&(t.current=Date.now())}),e.current},Nue=0,m6e=wl();function f6e(){var n;return m6e?(n=Nue,Nue+=1):n="TEST_OR_SSR",n}const g6e=function(n){var e=w.useState(),t=Se(e,2),i=t[0],r=t[1];return w.useEffect(function(){r("rc_progress_".concat(f6e()))},[]),n||i};var Tue=function(e){var t=e.bg,i=e.children;return w.createElement("div",{style:{width:"100%",height:"100%",background:t}},i)};function Eue(n,e){return Object.keys(n).map(function(t){var i=parseFloat(t),r="".concat(Math.floor(i*e),"%");return"".concat(n[t]," ").concat(r)})}var p6e=w.forwardRef(function(n,e){var t=n.prefixCls,i=n.color,r=n.gradientId,o=n.radius,s=n.style,a=n.ptg,l=n.strokeLinecap,u=n.strokeWidth,c=n.size,d=n.gapDegree,h=i&&Xn(i)==="object",m=h?"#FFF":void 0,f=c/2,g=w.createElement("circle",{className:"".concat(t,"-circle-path"),r:o,cx:f,cy:f,stroke:m,strokeLinecap:l,strokeWidth:u,opacity:a===0?0:1,style:s,ref:e});if(!h)return g;var b="".concat(r,"-conic"),v=d?"".concat(180+d/2,"deg"):"0deg",C=Eue(i,(360-d)/360),S=Eue(i,1),x="conic-gradient(from ".concat(v,", ").concat(C.join(", "),")"),_="linear-gradient(to ".concat(d?"bottom":"top",", ").concat(S.join(", "),")");return w.createElement(w.Fragment,null,w.createElement("mask",{id:b},g),w.createElement("foreignObject",{x:0,y:0,width:c,height:c,mask:"url(#".concat(b,")")},w.createElement(Tue,{bg:_},w.createElement(Tue,{bg:x}))))}),N_=100,TO=function(e,t,i,r,o,s,a,l,u,c){var d=arguments.length>10&&arguments[10]!==void 0?arguments[10]:0,h=i/100*360*((360-s)/360),m=s===0?0:{bottom:0,top:180,left:90,right:-90}[a],f=(100-r)/100*t;u==="round"&&r!==100&&(f+=c/2,f>=t&&(f=t-.01));var g=N_/2;return{stroke:typeof l=="string"?l:void 0,strokeDasharray:"".concat(t,"px ").concat(e),strokeDashoffset:f+d,transform:"rotate(".concat(o+h+m,"deg)"),transformOrigin:"".concat(g,"px ").concat(g,"px"),transition:"stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s, opacity .3s ease 0s",fillOpacity:0}},b6e=["id","prefixCls","steps","strokeWidth","trailWidth","gapDegree","gapPosition","trailColor","strokeLinecap","style","className","strokeColor","percent"];function Zue(n){var e=n??[];return Array.isArray(e)?e:[e]}var v6e=function(e){var t=xe(xe({},d6e),e),i=t.id,r=t.prefixCls,o=t.steps,s=t.strokeWidth,a=t.trailWidth,l=t.gapDegree,u=l===void 0?0:l,c=t.gapPosition,d=t.trailColor,h=t.strokeLinecap,m=t.style,f=t.className,g=t.strokeColor,b=t.percent,v=zn(t,b6e),C=N_/2,S=g6e(i),x="".concat(S,"-gradient"),_=C-s/2,F=Math.PI*2*_,D=u>0?90+u/2:-90,M=F*((360-u)/360),T=Xn(o)==="object"?o:{count:o,gap:2},Z=T.count,E=T.gap,R=Zue(b),W=Zue(g),A=W.find(function(X){return X&&Xn(X)==="object"}),z=A&&Xn(A)==="object",O=z?"butt":h,B=TO(F,M,0,100,D,u,c,d,O,s),P=h6e(),H=function(){var Y=0;return R.map(function(V,te){var oe=W[te]||W[W.length-1],ae=TO(F,M,Y,V,D,u,c,oe,O,s);return Y+=V,w.createElement(p6e,{key:te,color:oe,ptg:V,radius:_,prefixCls:r,gradientId:x,style:ae,strokeLinecap:O,strokeWidth:s,gapDegree:u,ref:function(ue){P[te]=ue},size:N_})}).reverse()},k=function(){var Y=Math.round(Z*(R[0]/100)),V=100/Z,te=0;return new Array(Z).fill(null).map(function(oe,ae){var le=ae<=Y-1?W[0]:d,ue=le&&Xn(le)==="object"?"url(#".concat(x,")"):void 0,Ce=TO(F,M,te,V,D,u,c,le,"butt",s,E);return te+=(M-Ce.strokeDashoffset+E)*100/M,w.createElement("circle",{key:ae,className:"".concat(r,"-circle-path"),r:_,cx:C,cy:C,stroke:ue,strokeWidth:s,opacity:1,style:Ce,ref:function(ce){P[ae]=ce}})})};return w.createElement("svg",pt({className:Te("".concat(r,"-circle"),f),viewBox:"0 0 ".concat(N_," ").concat(N_),style:m,id:i,role:"presentation"},v),!Z&&w.createElement("circle",{className:"".concat(r,"-circle-trail"),r:_,cx:C,cy:C,stroke:d,strokeLinecap:O,strokeWidth:a||s,style:B}),Z?k():H())};function bb(n){return!n||n<0?0:n>100?100:n}function WE(n){let{success:e,successPercent:t}=n,i=t;return e&&"progress"in e&&(i=e.progress),e&&"percent"in e&&(i=e.percent),i}const y6e=n=>{let{percent:e,success:t,successPercent:i}=n;const r=bb(WE({success:t,successPercent:i}));return[r,bb(bb(e)-r)]},C6e=n=>{let{success:e={},strokeColor:t}=n;const{strokeColor:i}=e;return[i||$C.green,t||null]},RE=(n,e,t)=>{var i,r,o,s;let a=-1,l=-1;if(e==="step"){const u=t.steps,c=t.strokeWidth;typeof n=="string"||typeof n>"u"?(a=n==="small"?2:14,l=c??8):typeof n=="number"?[a,l]=[n,n]:[a=14,l=8]=n,a*=u}else if(e==="line"){const u=t==null?void 0:t.strokeWidth;typeof n=="string"||typeof n>"u"?l=u||(n==="small"?6:8):typeof n=="number"?[a,l]=[n,n]:[a=-1,l=8]=n}else(e==="circle"||e==="dashboard")&&(typeof n=="string"||typeof n>"u"?[a,l]=n==="small"?[60,60]:[120,120]:typeof n=="number"?[a,l]=[n,n]:(a=(r=(i=n[0])!==null&&i!==void 0?i:n[1])!==null&&r!==void 0?r:120,l=(s=(o=n[0])!==null&&o!==void 0?o:n[1])!==null&&s!==void 0?s:120));return[a,l]},w6e=3,S6e=n=>w6e/n*100,x6e=n=>{const{prefixCls:e,trailColor:t=null,strokeLinecap:i="round",gapPosition:r,gapDegree:o,width:s=120,type:a,children:l,success:u,size:c=s,steps:d}=n,[h,m]=RE(c,"circle");let{strokeWidth:f}=n;f===void 0&&(f=Math.max(S6e(h),6));const g={width:h,height:m,fontSize:h*.15+6},b=w.useMemo(()=>{if(o||o===0)return o;if(a==="dashboard")return 75},[o,a]),v=y6e(n),C=r||a==="dashboard"&&"bottom"||void 0,S=Object.prototype.toString.call(n.strokeColor)==="[object Object]",x=C6e({success:u,strokeColor:n.strokeColor}),_=Te(`${e}-inner`,{[`${e}-circle-gradient`]:S}),F=w.createElement(v6e,{steps:d,percent:d?v[1]:v,strokeWidth:f,trailWidth:f,strokeColor:d?x[1]:x,strokeLinecap:i,trailColor:t,prefixCls:e,gapDegree:b,gapPosition:C});return w.createElement("div",{className:_,style:g},h<=20?w.createElement(sg,{title:l},w.createElement("span",null,F)):w.createElement(w.Fragment,null,F,l))},VE="--progress-line-stroke-color",Wue="--progress-percent",Rue=n=>{const e=n?"100%":"-100%";return new ki(`antProgress${n?"RTL":"LTR"}Active`,{"0%":{transform:`translateX(${e}) scaleX(0)`,opacity:.1},"20%":{transform:`translateX(${e}) scaleX(0)`,opacity:.5},to:{transform:"translateX(0) scaleX(1)",opacity:0}})},L6e=n=>{const{componentCls:e,iconCls:t}=n;return{[e]:Object.assign(Object.assign({},uo(n)),{display:"inline-block","&-rtl":{direction:"rtl"},"&-line":{position:"relative",width:"100%",fontSize:n.fontSize},[`${e}-outer`]:{display:"inline-block",width:"100%"},[`&${e}-show-info`]:{[`${e}-outer`]:{marginInlineEnd:`calc(-2em - ${Ee(n.marginXS)})`,paddingInlineEnd:`calc(2em + ${Ee(n.paddingXS)})`}},[`${e}-inner`]:{position:"relative",display:"inline-block",width:"100%",overflow:"hidden",verticalAlign:"middle",backgroundColor:n.remainingColor,borderRadius:n.lineBorderRadius},[`${e}-inner:not(${e}-circle-gradient)`]:{[`${e}-circle-path`]:{stroke:n.defaultColor}},[`${e}-success-bg, ${e}-bg`]:{position:"relative",background:n.defaultColor,borderRadius:n.lineBorderRadius,transition:`all ${n.motionDurationSlow} ${n.motionEaseInOutCirc}`},[`${e}-bg`]:{overflow:"hidden","&::after":{content:'""',background:{_multi_value_:!0,value:["inherit",`var(${VE})`]},height:"100%",width:`calc(1 / var(${Wue}) * 100%)`,display:"block"}},[`${e}-success-bg`]:{position:"absolute",insetBlockStart:0,insetInlineStart:0,backgroundColor:n.colorSuccess},[`${e}-text`]:{display:"inline-block",width:"2em",marginInlineStart:n.marginXS,color:n.colorText,lineHeight:1,whiteSpace:"nowrap",textAlign:"start",verticalAlign:"middle",wordBreak:"normal",[t]:{fontSize:n.fontSize}},[`&${e}-status-active`]:{[`${e}-bg::before`]:{position:"absolute",inset:0,backgroundColor:n.colorBgContainer,borderRadius:n.lineBorderRadius,opacity:0,animationName:Rue(),animationDuration:n.progressActiveMotionDuration,animationTimingFunction:n.motionEaseOutQuint,animationIterationCount:"infinite",content:'""'}},[`&${e}-rtl${e}-status-active`]:{[`${e}-bg::before`]:{animationName:Rue(!0)}},[`&${e}-status-exception`]:{[`${e}-bg`]:{backgroundColor:n.colorError},[`${e}-text`]:{color:n.colorError}},[`&${e}-status-exception ${e}-inner:not(${e}-circle-gradient)`]:{[`${e}-circle-path`]:{stroke:n.colorError}},[`&${e}-status-success`]:{[`${e}-bg`]:{backgroundColor:n.colorSuccess},[`${e}-text`]:{color:n.colorSuccess}},[`&${e}-status-success ${e}-inner:not(${e}-circle-gradient)`]:{[`${e}-circle-path`]:{stroke:n.colorSuccess}}})}},_6e=n=>{const{componentCls:e,iconCls:t}=n;return{[e]:{[`${e}-circle-trail`]:{stroke:n.remainingColor},[`&${e}-circle ${e}-inner`]:{position:"relative",lineHeight:1,backgroundColor:"transparent"},[`&${e}-circle ${e}-text`]:{position:"absolute",insetBlockStart:"50%",insetInlineStart:0,width:"100%",margin:0,padding:0,color:n.circleTextColor,fontSize:n.circleTextFontSize,lineHeight:1,whiteSpace:"normal",textAlign:"center",transform:"translateY(-50%)",[t]:{fontSize:n.circleIconFontSize}},[`${e}-circle&-status-exception`]:{[`${e}-text`]:{color:n.colorError}},[`${e}-circle&-status-success`]:{[`${e}-text`]:{color:n.colorSuccess}}},[`${e}-inline-circle`]:{lineHeight:1,[`${e}-inner`]:{verticalAlign:"bottom"}}}},F6e=n=>{const{componentCls:e}=n;return{[e]:{[`${e}-steps`]:{display:"inline-block","&-outer":{display:"flex",flexDirection:"row",alignItems:"center"},"&-item":{flexShrink:0,minWidth:n.progressStepMinWidth,marginInlineEnd:n.progressStepMarginInlineEnd,backgroundColor:n.remainingColor,transition:`all ${n.motionDurationSlow}`,"&-active":{backgroundColor:n.defaultColor}}}}}},I6e=n=>{const{componentCls:e,iconCls:t}=n;return{[e]:{[`${e}-small&-line, ${e}-small&-line ${e}-text ${t}`]:{fontSize:n.fontSizeSM}}}},D6e=Ho("Progress",n=>{const e=n.calc(n.marginXXS).div(2).equal(),t=Ui(n,{progressStepMarginInlineEnd:e,progressStepMinWidth:e,progressActiveMotionDuration:"2.4s"});return[L6e(t),_6e(t),F6e(t),I6e(t)]},n=>({circleTextColor:n.colorText,defaultColor:n.colorInfo,remainingColor:n.colorFillSecondary,lineBorderRadius:100,circleTextFontSize:"1em",circleIconFontSize:`${n.fontSize/n.fontSizeSM}em`}));var M6e=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{let e=[];return Object.keys(n).forEach(t=>{const i=parseFloat(t.replace(/%/g,""));isNaN(i)||e.push({key:i,value:n[t]})}),e=e.sort((t,i)=>t.key-i.key),e.map(t=>{let{key:i,value:r}=t;return`${r} ${i}%`}).join(", ")},N6e=(n,e)=>{const{from:t=$C.blue,to:i=$C.blue,direction:r=e==="rtl"?"to left":"to right"}=n,o=M6e(n,["from","to","direction"]);if(Object.keys(o).length!==0){const a=k6e(o),l=`linear-gradient(${r}, ${a})`;return{background:l,[VE]:l}}const s=`linear-gradient(${r}, ${t}, ${i})`;return{background:s,[VE]:s}},T6e=n=>{const{prefixCls:e,direction:t,percent:i,size:r,strokeWidth:o,strokeColor:s,strokeLinecap:a="round",children:l,trailColor:u=null,success:c}=n,d=s&&typeof s!="string"?N6e(s,t):{[VE]:s,background:s},h=a==="square"||a==="butt"?0:void 0,m=r??[-1,o||(r==="small"?6:8)],[f,g]=RE(m,"line",{strokeWidth:o}),b={backgroundColor:u||void 0,borderRadius:h},v=Object.assign(Object.assign({width:`${bb(i)}%`,height:g,borderRadius:h},d),{[Wue]:bb(i)/100}),C=WE(n),S={width:`${bb(C)}%`,height:g,borderRadius:h,backgroundColor:c==null?void 0:c.strokeColor},x={width:f<0?"100%":f,height:g};return w.createElement(w.Fragment,null,w.createElement("div",{className:`${e}-outer`,style:x},w.createElement("div",{className:`${e}-inner`,style:b},w.createElement("div",{className:`${e}-bg`,style:v}),C!==void 0?w.createElement("div",{className:`${e}-success-bg`,style:S}):null)),l)},E6e=n=>{const{size:e,steps:t,percent:i=0,strokeWidth:r=8,strokeColor:o,trailColor:s=null,prefixCls:a,children:l}=n,u=Math.round(t*(i/100)),d=e??[e==="small"?2:14,r],[h,m]=RE(d,"step",{steps:t,strokeWidth:r}),f=h/t,g=new Array(t);for(let b=0;b{const{prefixCls:t,className:i,rootClassName:r,steps:o,strokeColor:s,percent:a=0,size:l="default",showInfo:u=!0,type:c="line",status:d,format:h,style:m}=n,f=Z6e(n,["prefixCls","className","rootClassName","steps","strokeColor","percent","size","showInfo","type","status","format","style"]),g=w.useMemo(()=>{var W,A;const z=WE(n);return parseInt(z!==void 0?(W=z??0)===null||W===void 0?void 0:W.toString():(A=a??0)===null||A===void 0?void 0:A.toString(),10)},[a,n.success,n.successPercent]),b=w.useMemo(()=>!W6e.includes(d)&&g>=100?"success":d||"normal",[d,g]),{getPrefixCls:v,direction:C,progress:S}=w.useContext(Rn),x=v("progress",t),[_,F,D]=D6e(x),M=w.useMemo(()=>{if(!u)return null;const W=WE(n);let A;const z=h||(B=>`${B}%`),O=c==="line";return h||b!=="exception"&&b!=="success"?A=z(bb(a),bb(W)):b==="exception"?A=O?w.createElement(tv,null):w.createElement(lb,null):b==="success"&&(A=O?w.createElement(UL,null):w.createElement(Sse,null)),w.createElement("span",{className:`${x}-text`,title:typeof A=="string"?A:void 0},A)},[u,a,g,b,c,x,h]),T=Array.isArray(s)?s[0]:s,Z=typeof s=="string"||Array.isArray(s)?s:void 0;let E;c==="line"?E=o?w.createElement(E6e,Object.assign({},n,{strokeColor:Z,prefixCls:x,steps:typeof o=="object"?o.count:o}),M):w.createElement(T6e,Object.assign({},n,{strokeColor:T,prefixCls:x,direction:C}),M):(c==="circle"||c==="dashboard")&&(E=w.createElement(x6e,Object.assign({},n,{strokeColor:T,prefixCls:x,progressStatus:b}),M));const R=Te(x,`${x}-status-${b}`,{[`${x}-${c==="dashboard"&&"circle"||c}`]:c!=="line",[`${x}-inline-circle`]:c==="circle"&&RE(l,"circle")[0]<=20,[`${x}-line`]:!o&&c==="line",[`${x}-steps`]:o,[`${x}-show-info`]:u,[`${x}-${l}`]:typeof l=="string",[`${x}-rtl`]:C==="rtl"},S==null?void 0:S.className,i,r,F,D);return _(w.createElement("div",Object.assign({ref:e,style:Object.assign(Object.assign({},S==null?void 0:S.style),m),className:R,role:"progressbar","aria-valuenow":g},la(f,["trailColor","strokeWidth","width","gapDegree","gapPosition","strokeLinecap","success","successPercent"])),E))});var V6e={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"}}]},name:"delete",theme:"outlined"};const A6e=V6e;var G6e=function(e,t){return w.createElement(So,pt({},e,{ref:t,icon:A6e}))},X6e=w.forwardRef(G6e);const P6e=X6e;var O6e=function(){var n=document.getSelection();if(!n.rangeCount)return function(){};for(var e=document.activeElement,t=[],i=0;i"u"){window.clipboardData.clearData();var d=Vue[e.format]||Vue.default;window.clipboardData.setData(d,n)}else c.clipboardData.clearData(),c.clipboardData.setData(e.format,n);e.onCopy&&(c.preventDefault(),e.onCopy(c.clipboardData))}),document.body.appendChild(a),o.selectNodeContents(a),s.addRange(o);var u=document.execCommand("copy");if(!u)throw new Error("copy command was unsuccessful");l=!0}catch{try{window.clipboardData.setData(e.format||"text",n),e.onCopy&&e.onCopy(window.clipboardData),l=!0}catch{i=H6e("message"in e?e.message:z6e),window.prompt(i,n)}}finally{s&&(typeof s.removeRange=="function"?s.removeRange(o):s.removeAllRanges()),a&&document.body.removeChild(a),r()}return l}var U6e=Y6e;const EO=yl(U6e),ZO=function(n,e){if(n&&e){var t=Array.isArray(e)?e:e.split(","),i=n.name||"",r=n.type||"",o=r.replace(/\/.*$/,"");return t.some(function(s){var a=s.trim();if(/^\*(\/\*)?$/.test(s))return!0;if(a.charAt(0)==="."){var l=i.toLowerCase(),u=a.toLowerCase(),c=[u];return(u===".jpg"||u===".jpeg")&&(c=[".jpg",".jpeg"]),c.some(function(d){return l.endsWith(d)})}return/\/\*$/.test(a)?o===a.replace(/\/.*$/,""):r===a?!0:/^\w+$/.test(a)?(aa(!1,"Upload takes an invalidate 'accept' type '".concat(a,"'.Skip for check.")),!0):!1})}return!0};function K6e(n,e){var t="cannot ".concat(n.method," ").concat(n.action," ").concat(e.status,"'"),i=new Error(t);return i.status=e.status,i.method=n.method,i.url=n.action,i}function Aue(n){var e=n.responseText||n.response;if(!e)return e;try{return JSON.parse(e)}catch{return e}}function J6e(n){var e=new XMLHttpRequest;n.onProgress&&e.upload&&(e.upload.onprogress=function(o){o.total>0&&(o.percent=o.loaded/o.total*100),n.onProgress(o)});var t=new FormData;n.data&&Object.keys(n.data).forEach(function(r){var o=n.data[r];if(Array.isArray(o)){o.forEach(function(s){t.append("".concat(r,"[]"),s)});return}t.append(r,o)}),n.file instanceof Blob?t.append(n.filename,n.file,n.file.name):t.append(n.filename,n.file),e.onerror=function(o){n.onError(o)},e.onload=function(){return e.status<200||e.status>=300?n.onError(K6e(n,e),Aue(e)):n.onSuccess(Aue(e),e)},e.open(n.method,n.action,!0),n.withCredentials&&"withCredentials"in e&&(e.withCredentials=!0);var i=n.headers||{};return i["X-Requested-With"]!==null&&e.setRequestHeader("X-Requested-With","XMLHttpRequest"),Object.keys(i).forEach(function(r){i[r]!==null&&e.setRequestHeader(r,i[r])}),e.send(t),{abort:function(){e.abort()}}}function j6e(n,e){var t=n.createReader(),i=[];function r(){t.readEntries(function(o){var s=Array.prototype.slice.apply(o);i=i.concat(s);var a=!s.length;a?e(i):r()})}r()}var Q6e=function(e,t,i){var r=function o(s,a){s&&(s.path=a||"",s.isFile?s.file(function(l){i(l)&&(s.fullPath&&!l.webkitRelativePath&&(Object.defineProperties(l,{webkitRelativePath:{writable:!0}}),l.webkitRelativePath=s.fullPath.replace(/^\//,""),Object.defineProperties(l,{webkitRelativePath:{writable:!1}})),t([l]))}):s.isDirectory&&j6e(s,function(l){l.forEach(function(u){o(u,"".concat(a).concat(s.name,"/"))})}))};e.forEach(function(o){r(o.webkitGetAsEntry())})},$6e=+new Date,q6e=0;function WO(){return"rc-upload-".concat($6e,"-").concat(++q6e)}var e7e=["component","prefixCls","className","classNames","disabled","id","style","styles","multiple","accept","capture","children","directory","openFileDialogOnClick","onMouseEnter","onMouseLeave","hasControlInside"],t7e=function(n){Qf(t,n);var e=H1(t);function t(){var i;xs(this,t);for(var r=arguments.length,o=new Array(r),s=0;s{const{componentCls:e,iconCls:t}=n;return{[`${e}-wrapper`]:{[`${e}-drag`]:{position:"relative",width:"100%",height:"100%",textAlign:"center",background:n.colorFillAlter,border:`${Ee(n.lineWidth)} dashed ${n.colorBorder}`,borderRadius:n.borderRadiusLG,cursor:"pointer",transition:`border-color ${n.motionDurationSlow}`,[e]:{padding:n.padding},[`${e}-btn`]:{display:"table",width:"100%",height:"100%",outline:"none",borderRadius:n.borderRadiusLG,"&:focus-visible":{outline:`${Ee(n.lineWidthFocus)} solid ${n.colorPrimaryBorder}`}},[`${e}-drag-container`]:{display:"table-cell",verticalAlign:"middle"},[` + .${i}-col-xl-24${t}-label`]:IS(n),[`@media (max-width: ${Ee(n.screenXSMax)})`]:[tYe(n),{[e]:{[`.${i}-col-xs-24${t}-label`]:IS(n)}}],[`@media (max-width: ${Ee(n.screenSMMax)})`]:{[e]:{[`.${i}-col-sm-24${t}-label`]:IS(n)}},[`@media (max-width: ${Ee(n.screenMDMax)})`]:{[e]:{[`.${i}-col-md-24${t}-label`]:IS(n)}},[`@media (max-width: ${Ee(n.screenLGMax)})`]:{[e]:{[`.${i}-col-lg-24${t}-label`]:IS(n)}}}},iYe=n=>({labelRequiredMarkColor:n.colorError,labelColor:n.colorTextHeading,labelFontSize:n.fontSize,labelHeight:n.controlHeight,labelColonMarginInlineStart:n.marginXXS/2,labelColonMarginInlineEnd:n.marginXS,itemMarginBottom:n.marginLG,verticalLabelPadding:`0 0 ${n.paddingXS}px`,verticalLabelMargin:0}),lue=(n,e)=>Yi(n,{formItemCls:`${n.componentCls}-item`,rootPrefixCls:e}),DO=Ho("Form",(n,e)=>{let{rootPrefixCls:t}=e;const i=lue(n,t);return[QHe(i),$He(i),JHe(i),qHe(i),eYe(i),nYe(i),mP(i),fP]},iYe,{order:-1e3}),uue=[];function NO(n,e,t){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;return{key:typeof n=="string"?n:`${e}-${i}`,error:n,errorStatus:t}}const cue=n=>{let{help:e,helpStatus:t,errors:i=uue,warnings:r=uue,className:o,fieldId:s,onVisibleChanged:a}=n;const{prefixCls:l}=S.useContext(hP),u=`${l}-item-explain`,c=Ls(l),[d,h,m]=DO(l,c),f=S.useMemo(()=>kT(l),[l]),g=NE(i),b=NE(r),y=S.useMemo(()=>e!=null?[NO(e,"help",t)]:[].concat(Lt(g.map((w,x)=>NO(w,"error","error",x))),Lt(b.map((w,x)=>NO(w,"warning","warning",x)))),[e,t,g,b]),C={};return s&&(C.id=`${s}_help`),d(S.createElement(ld,{motionDeadline:f.motionDeadline,motionName:`${l}-show-help`,visible:!!y.length,onVisibleChanged:a},w=>{const{className:x,style:L}=w;return S.createElement("div",Object.assign({},C,{className:Te(u,x,m,c,o,h),style:L,role:"alert"}),S.createElement(F4,Object.assign({keys:y},kT(l),{motionName:`${l}-show-help-item`,component:!1}),I=>{const{key:D,error:N,errorStatus:T,className:R,style:E}=I;return S.createElement("div",{key:D,className:Te(R,{[`${u}-${T}`]:T}),style:E},N)}))}))},rYe=["parentNode"],oYe="form_item";function FL(n){return n===void 0||n===!1?[]:Array.isArray(n)?n:[n]}function due(n,e){if(!n.length)return;const t=n.join("_");return e?`${e}_${t}`:rYe.includes(t)?`${oYe}_${t}`:t}function hue(n,e,t,i,r,o){let s=i;return o!==void 0?s=o:t.validating?s="validating":n.length?s="error":e.length?s="warning":(t.touched||r&&t.validated)&&(s="success"),s}function mue(n){return FL(n).join("_")}function fue(n){const[e]=cP(),t=S.useRef({}),i=S.useMemo(()=>n??Object.assign(Object.assign({},e),{__INTERNAL__:{itemRef:r=>o=>{const s=mue(r);o?t.current[s]=o:delete t.current[s]}},scrollToField:function(r){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const s=FL(r),a=due(s,i.__INTERNAL__.name),l=a?document.getElementById(a):null;l&&vZe(l,Object.assign({scrollMode:"if-needed",block:"nearest"},o))},getFieldInstance:r=>{const o=mue(r);return t.current[o]}}),[n,e]);return[i]}var sYe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const t=S.useContext(oh),{getPrefixCls:i,direction:r,form:o}=S.useContext(Wn),{prefixCls:s,className:a,rootClassName:l,size:u,disabled:c=t,form:d,colon:h,labelAlign:m,labelWrap:f,labelCol:g,wrapperCol:b,hideRequiredMark:y,layout:C="horizontal",scrollToFirstError:w,requiredMark:x,onFinishFailed:L,name:I,style:D,feedbackIcons:N,variant:T}=n,R=sYe(n,["prefixCls","className","rootClassName","size","disabled","form","colon","labelAlign","labelWrap","labelCol","wrapperCol","hideRequiredMark","layout","scrollToFirstError","requiredMark","onFinishFailed","name","style","feedbackIcons","variant"]),E=pc(u),W=S.useContext(Mne),Z=S.useMemo(()=>x!==void 0?x:y?!1:o&&o.requiredMark!==void 0?o.requiredMark:!0,[y,x,o]),V=h??(o==null?void 0:o.colon),z=i("form",s),O=Ls(z),[B,P,H]=DO(z,O),M=Te(z,`${z}-${C}`,{[`${z}-hide-required-mark`]:Z===!1,[`${z}-rtl`]:r==="rtl",[`${z}-${E}`]:E},H,O,P,o==null?void 0:o.className,a,l),[X]=fue(d),{__INTERNAL__:Y}=X;Y.name=I;const A=S.useMemo(()=>({name:I,labelAlign:m,labelCol:g,labelWrap:f,wrapperCol:b,vertical:C==="vertical",colon:V,requiredMark:Z,itemRef:Y.itemRef,form:X,feedbackIcons:N}),[I,m,g,b,C,V,Z,X,N]);S.useImperativeHandle(e,()=>X);const te=(ae,le)=>{if(ae){let ue={block:"nearest"};typeof ae=="object"&&(ue=ae),X.scrollToField(le,ue)}},oe=ae=>{if(L==null||L(ae),ae.errorFields.length){const le=ae.errorFields[0].name;if(w!==void 0){te(w,le);return}o&&o.scrollToFirstError!==void 0&&te(o.scrollToFirstError,le)}};return B(S.createElement(roe.Provider,{value:T},S.createElement(f4,{disabled:c},S.createElement(B_.Provider,{value:E},S.createElement(ioe,{validateMessages:W},S.createElement(og.Provider,{value:A},S.createElement(aS,Object.assign({id:I},R,{name:I,onFinishFailed:oe,form:X,style:Object.assign(Object.assign({},o==null?void 0:o.style),D),className:M}))))))))},lYe=S.forwardRef(aYe);function uYe(n){if(typeof n=="function")return n;const e=sd(n);return e.length<=1?e[0]:e}const gue=()=>{const{status:n,errors:e=[],warnings:t=[]}=S.useContext(Ba);return{status:n,errors:e,warnings:t}};gue.Context=Ba;const cYe=gue;function dYe(n){const[e,t]=S.useState(n),i=S.useRef(null),r=S.useRef([]),o=S.useRef(!1);S.useEffect(()=>(o.current=!1,()=>{o.current=!0,xi.cancel(i.current),i.current=null}),[]);function s(a){o.current||(i.current===null&&(r.current=[],i.current=xi(()=>{i.current=null,t(l=>{let u=l;return r.current.forEach(c=>{u=c(u)}),u})})),r.current.push(a))}return[e,s]}function hYe(){const{itemRef:n}=S.useContext(og),e=S.useRef({});function t(i,r){const o=r&&typeof r=="object"&&r.ref,s=i.join("_");return(e.current.name!==s||e.current.originRef!==o)&&(e.current.name=s,e.current.originRef=o,e.current.ref=Lu(n(i),o)),e.current.ref}return t}const mYe=n=>{const{formItemCls:e}=n;return{"@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none)":{[`${e}-control`]:{display:"flex"}}}},fYe=fT(["Form","item-item"],(n,e)=>{let{rootPrefixCls:t}=e;const i=lue(n,t);return[mYe(i)]}),gYe=n=>{const{prefixCls:e,status:t,wrapperCol:i,children:r,errors:o,warnings:s,_internalItemRender:a,extra:l,help:u,fieldId:c,marginBottom:d,onErrorVisibleChanged:h}=n,m=`${e}-item`,f=S.useContext(og),g=i||f.wrapperCol||{},b=Te(`${m}-control`,g.className),y=S.useMemo(()=>Object.assign({},f),[f]);delete y.labelCol,delete y.wrapperCol;const C=S.createElement("div",{className:`${m}-control-input`},S.createElement("div",{className:`${m}-control-input-content`},r)),w=S.useMemo(()=>({prefixCls:e,status:t}),[e,t]),x=d!==null||o.length||s.length?S.createElement("div",{style:{display:"flex",flexWrap:"nowrap"}},S.createElement(hP.Provider,{value:w},S.createElement(cue,{fieldId:c,errors:o,warnings:s,help:u,helpStatus:t,className:`${m}-explain-connected`,onVisibleChanged:h})),!!d&&S.createElement("div",{style:{width:0,height:d}})):null,L={};c&&(L.id=`${c}_extra`);const I=l?S.createElement("div",Object.assign({},L,{className:`${m}-extra`}),l):null,D=a&&a.mark==="pro_table_render"&&a.render?a.render(n,{input:C,errorList:x,extra:I}):S.createElement(S.Fragment,null,C,x,I);return S.createElement(og.Provider,{value:y},S.createElement(kle,Object.assign({},g,{className:b}),D),S.createElement(fYe,{prefixCls:e}))};var pYe={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0130.9-44.8c59-22.7 97.1-74.7 97.1-132.5.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"question-circle",theme:"outlined"};const bYe=pYe;var yYe=function(e,t){return S.createElement(wo,pt({},e,{ref:t,icon:bYe}))},vYe=S.forwardRef(yYe);const CYe=vYe;var SYe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{let{prefixCls:e,label:t,htmlFor:i,labelCol:r,labelAlign:o,colon:s,required:a,requiredMark:l,tooltip:u}=n;var c;const[d]=rb("Form"),{vertical:h,labelAlign:m,labelCol:f,labelWrap:g,colon:b}=S.useContext(og);if(!t)return null;const y=r||f||{},C=o||m,w=`${e}-item-label`,x=Te(w,C==="left"&&`${w}-left`,y.className,{[`${w}-wrap`]:!!g});let L=t;const I=s===!0||b!==!1&&s!==!1;I&&!h&&typeof t=="string"&&t.trim()!==""&&(L=t.replace(/[:|:]\s*$/,""));const N=wYe(u);if(N){const{icon:W=S.createElement(CYe,null)}=N,Z=SYe(N,["icon"]),V=S.createElement(sg,Object.assign({},Z),S.cloneElement(W,{className:`${e}-item-tooltip`,title:"",onClick:z=>{z.preventDefault()},tabIndex:null}));L=S.createElement(S.Fragment,null,L,V)}const T=l==="optional",R=typeof l=="function";R?L=l(L,{required:!!a}):T&&!a&&(L=S.createElement(S.Fragment,null,L,S.createElement("span",{className:`${e}-item-optional`,title:""},(d==null?void 0:d.optional)||((c=eg.Form)===null||c===void 0?void 0:c.optional))));const E=Te({[`${e}-item-required`]:a,[`${e}-item-required-mark-optional`]:T||R,[`${e}-item-no-colon`]:!I});return S.createElement(kle,Object.assign({},y,{className:x}),S.createElement("label",{htmlFor:i,className:E,title:typeof t=="string"?t:""},L))},_Ye={success:U_,warning:_T,error:ty,validating:iS};function pue(n){let{children:e,errors:t,warnings:i,hasFeedback:r,validateStatus:o,prefixCls:s,meta:a,noStyle:l}=n;const u=`${s}-item`,{feedbackIcons:c}=S.useContext(og),d=hue(t,i,a,null,!!r,o),{isFormItemInput:h,status:m,hasFeedback:f,feedbackIcon:g}=S.useContext(Ba),b=S.useMemo(()=>{var y;let C;if(r){const x=r!==!0&&r.icons||c,L=d&&((y=x==null?void 0:x({status:d,errors:t,warnings:i}))===null||y===void 0?void 0:y[d]),I=d&&_Ye[d];C=L!==!1&&I?S.createElement("span",{className:Te(`${u}-feedback-icon`,`${u}-feedback-icon-${d}`)},L||S.createElement(I,null)):null}const w={status:d||"",errors:t,warnings:i,hasFeedback:!!r,feedbackIcon:C,isFormItemInput:!0};return l&&(w.status=(d??m)||"",w.isFormItemInput=h,w.hasFeedback=!!(r??f),w.feedbackIcon=r!==void 0?w.feedbackIcon:g),w},[d,r,l,h,m]);return S.createElement(Ba.Provider,{value:b},e)}var LYe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{if(N&&x.current){const O=getComputedStyle(x.current);E(parseInt(O.marginBottom,10))}},[N,T]);const W=O=>{O||E(null)},V=function(){let O=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;const B=O?L:u.errors,P=O?I:u.warnings;return hue(B,P,u,"",!!c,l)}(),z=Te(C,t,i,{[`${C}-with-help`]:D||L.length||I.length,[`${C}-has-feedback`]:V&&c,[`${C}-has-success`]:V==="success",[`${C}-has-warning`]:V==="warning",[`${C}-has-error`]:V==="error",[`${C}-is-validating`]:V==="validating",[`${C}-hidden`]:d});return S.createElement("div",{className:z,style:r,ref:x},S.createElement(hze,Object.assign({className:`${C}-row`},la(y,["_internalItemRender","colon","dependencies","extra","fieldKey","getValueFromEvent","getValueProps","htmlFor","id","initialValue","isListField","label","labelAlign","labelCol","labelWrap","messageVariables","name","normalize","noStyle","preserve","requiredMark","rules","shouldUpdate","trigger","tooltip","validateFirst","validateTrigger","valuePropName","wrapperCol","validateDebounce"])),S.createElement(xYe,Object.assign({htmlFor:m},n,{requiredMark:w,required:f??g,prefixCls:e})),S.createElement(gYe,Object.assign({},n,u,{errors:L,warnings:I,prefixCls:e,status:V,help:o,marginBottom:R,onErrorVisibleChanged:W}),S.createElement(noe.Provider,{value:b},S.createElement(pue,{prefixCls:e,meta:u,errors:u.errors,warnings:u.warnings,hasFeedback:c,validateStatus:V},h)))),!!R&&S.createElement("div",{className:`${C}-margin-offset`,style:{marginBottom:-R}}))}const FYe="__SPLIT__";function DYe(n,e){const t=Object.keys(n),i=Object.keys(e);return t.length===i.length&&t.every(r=>{const o=n[r],s=e[r];return o===s||typeof o=="function"||typeof s=="function"})}const NYe=S.memo(n=>{let{children:e}=n;return e},(n,e)=>DYe(n.control,e.control)&&n.update===e.update&&n.childProps.length===e.childProps.length&&n.childProps.every((t,i)=>t===e.childProps[i]));function bue(){return{errors:[],warnings:[],touched:!1,validating:!1,name:[],validated:!1}}function MYe(n){const{name:e,noStyle:t,className:i,dependencies:r,prefixCls:o,shouldUpdate:s,rules:a,children:l,required:u,label:c,messageVariables:d,trigger:h="onChange",validateTrigger:m,hidden:f,help:g}=n,{getPrefixCls:b}=S.useContext(Wn),{name:y}=S.useContext(og),C=uYe(l),w=typeof C=="function",x=S.useContext(noe),{validateTrigger:L}=S.useContext(oy),I=m!==void 0?m:L,D=e!=null,N=b("form",o),T=Ls(N),[R,E,W]=DO(N,T);jC();const Z=S.useContext(q_),V=S.useRef(),[z,O]=dYe({}),[B,P]=sb(()=>bue()),H=ae=>{const le=Z==null?void 0:Z.getKey(ae.name);if(P(ae.destroy?bue():ae,!0),t&&g!==!1&&x){let ue=ae.name;if(ae.destroy)ue=V.current||ue;else if(le!==void 0){const[Ce,pe]=le;ue=[Ce].concat(Lt(pe)),V.current=ue}x(ae,ue)}},M=(ae,le)=>{O(ue=>{const Ce=Object.assign({},ue),ce=[].concat(Lt(ae.name.slice(0,-1)),Lt(le)).join(FYe);return ae.destroy?delete Ce[ce]:Ce[ce]=ae,Ce})},[X,Y]=S.useMemo(()=>{const ae=Lt(B.errors),le=Lt(B.warnings);return Object.values(z).forEach(ue=>{ae.push.apply(ae,Lt(ue.errors||[])),le.push.apply(le,Lt(ue.warnings||[]))}),[ae,le]},[z,B.errors,B.warnings]),A=hYe();function te(ae,le,ue){return t&&!f?S.createElement(pue,{prefixCls:N,hasFeedback:n.hasFeedback,validateStatus:n.validateStatus,meta:B,errors:X,warnings:Y,noStyle:!0},ae):S.createElement(IYe,Object.assign({key:"row"},n,{className:Te(i,W,T,E),prefixCls:N,fieldId:le,isRequired:ue,errors:X,warnings:Y,meta:B,onSubItemMetaChange:M}),ae)}if(!D&&!w&&!r)return R(te(C));let oe={};return typeof c=="string"?oe.label=c:e&&(oe.label=String(e)),d&&(oe=Object.assign(Object.assign({},oe),d)),R(S.createElement(lP,Object.assign({},n,{messageVariables:oe,trigger:h,validateTrigger:I,onMetaChange:H}),(ae,le,ue)=>{const Ce=FL(e).length&&le?le.name:[],pe=due(Ce,y),ce=u!==void 0?u:!!(a&&a.some(ke=>{if(ke&&typeof ke=="object"&&ke.required&&!ke.warningOnly)return!0;if(typeof ke=="function"){const Ue=ke(ue);return Ue&&Ue.required&&!Ue.warningOnly}return!1})),De=Object.assign({},ae);let Me=null;if(Array.isArray(C)&&D)Me=C;else if(!(w&&(!(s||r)||D))){if(!(r&&!w&&!D))if(S.isValidElement(C)){const ke=Object.assign(Object.assign({},C.props),De);if(ke.id||(ke.id=pe),g||X.length>0||Y.length>0||n.extra){const ct=[];(g||X.length>0)&&ct.push(`${pe}_help`),n.extra&&ct.push(`${pe}_extra`),ke["aria-describedby"]=ct.join(" ")}X.length>0&&(ke["aria-invalid"]="true"),ce&&(ke["aria-required"]="true"),jf(C)&&(ke.ref=A(Ce,C)),new Set([].concat(Lt(FL(h)),Lt(FL(I)))).forEach(ct=>{ke[ct]=function(){for(var yt,it,he,de,me,j=arguments.length,$=new Array(j),q=0;q{var{prefixCls:e,children:t}=n,i=TYe(n,["prefixCls","children"]);const{getPrefixCls:r}=S.useContext(Wn),o=r("form",e),s=S.useMemo(()=>({prefixCls:o,status:"error"}),[o]);return S.createElement(Qre,Object.assign({},i),(a,l,u)=>S.createElement(hP.Provider,{value:s},t(a.map(c=>Object.assign(Object.assign({},c),{fieldKey:c.key})),l,{errors:u.errors,warnings:u.warnings})))};function RYe(){const{form:n}=S.useContext(og);return n}const Ei=lYe;Ei.Item=kYe,Ei.List=EYe,Ei.ErrorList=cue,Ei.useForm=fue,Ei.useFormInstance=RYe,Ei.useWatch=toe,Ei.Provider=ioe,Ei.create=()=>{};function ZYe(n,e,t){return typeof t=="boolean"?t:n.length?!0:sd(e).some(r=>r.type===HP)}const WYe=n=>{const{componentCls:e,bodyBg:t,lightSiderBg:i,lightTriggerBg:r,lightTriggerColor:o}=n;return{[`${e}-sider-light`]:{background:i,[`${e}-sider-trigger`]:{color:o,background:r},[`${e}-sider-zero-width-trigger`]:{color:o,background:r,border:`1px solid ${t}`,borderInlineStart:0}}}},AYe=n=>{const{antCls:e,componentCls:t,colorText:i,triggerColor:r,footerBg:o,triggerBg:s,headerHeight:a,headerPadding:l,headerColor:u,footerPadding:c,triggerHeight:d,zeroTriggerHeight:h,zeroTriggerWidth:m,motionDurationMid:f,motionDurationSlow:g,fontSize:b,borderRadius:y,bodyBg:C,headerBg:w,siderBg:x}=n;return{[t]:Object.assign(Object.assign({display:"flex",flex:"auto",flexDirection:"column",minHeight:0,background:C,"&, *":{boxSizing:"border-box"},[`&${t}-has-sider`]:{flexDirection:"row",[`> ${t}, > ${t}-content`]:{width:0}},[`${t}-header, &${t}-footer`]:{flex:"0 0 auto"},[`${t}-sider`]:{position:"relative",minWidth:0,background:x,transition:`all ${f}, background 0s`,"&-children":{height:"100%",marginTop:-.1,paddingTop:.1,[`${e}-menu${e}-menu-inline-collapsed`]:{width:"auto"}},"&-has-trigger":{paddingBottom:d},"&-right":{order:1},"&-trigger":{position:"fixed",bottom:0,zIndex:1,height:d,color:r,lineHeight:Ee(d),textAlign:"center",background:s,cursor:"pointer",transition:`all ${f}`},"&-zero-width":{"> *":{overflow:"hidden"},"&-trigger":{position:"absolute",top:a,insetInlineEnd:n.calc(m).mul(-1).equal(),zIndex:1,width:m,height:h,color:r,fontSize:n.fontSizeXL,display:"flex",alignItems:"center",justifyContent:"center",background:x,borderStartStartRadius:0,borderStartEndRadius:y,borderEndEndRadius:y,borderEndStartRadius:0,cursor:"pointer",transition:`background ${g} ease`,"&::after":{position:"absolute",inset:0,background:"transparent",transition:`all ${g}`,content:'""'},"&:hover::after":{background:"rgba(255, 255, 255, 0.2)"},"&-right":{insetInlineStart:n.calc(m).mul(-1).equal(),borderStartStartRadius:y,borderStartEndRadius:0,borderEndEndRadius:0,borderEndStartRadius:y}}}}},WYe(n)),{"&-rtl":{direction:"rtl"}}),[`${t}-header`]:{height:a,padding:l,color:u,lineHeight:Ee(a),background:w,[`${e}-menu`]:{lineHeight:"inherit"}},[`${t}-footer`]:{padding:c,color:i,fontSize:b,background:o},[`${t}-content`]:{flex:"auto",color:i,minHeight:0}}},vue=Ho("Layout",n=>[AYe(n)],n=>{const{colorBgLayout:e,controlHeight:t,controlHeightLG:i,colorText:r,controlHeightSM:o,marginXXS:s,colorTextLightSolid:a,colorBgContainer:l}=n,u=i*1.25;return{colorBgHeader:"#001529",colorBgBody:e,colorBgTrigger:"#002140",bodyBg:e,headerBg:"#001529",headerHeight:t*2,headerPadding:`0 ${u}px`,headerColor:r,footerPadding:`${o}px ${u}px`,footerBg:e,siderBg:"#001529",triggerHeight:i+s*2,triggerBg:"#002140",triggerColor:a,zeroTriggerWidth:i,zeroTriggerHeight:i,lightSiderBg:l,lightTriggerBg:l,lightTriggerColor:r}},{deprecatedTokens:[["colorBgBody","bodyBg"],["colorBgHeader","headerBg"],["colorBgTrigger","triggerBg"]]});var Cue=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);rS.forwardRef((s,a)=>S.createElement(r,Object.assign({ref:a,suffixCls:e,tagName:t},s)))}const MO=S.forwardRef((n,e)=>{const{prefixCls:t,suffixCls:i,className:r,tagName:o}=n,s=Cue(n,["prefixCls","suffixCls","className","tagName"]),{getPrefixCls:a}=S.useContext(Wn),l=a("layout",t),[u,c,d]=vue(l),h=i?`${l}-${i}`:l;return u(S.createElement(o,Object.assign({className:Te(t||h,r,c,d),ref:e},s)))}),VYe=S.forwardRef((n,e)=>{const{direction:t}=S.useContext(Wn),[i,r]=S.useState([]),{prefixCls:o,className:s,rootClassName:a,children:l,hasSider:u,tagName:c,style:d}=n,h=Cue(n,["prefixCls","className","rootClassName","children","hasSider","tagName","style"]),m=la(h,["suffixCls"]),{getPrefixCls:f,layout:g}=S.useContext(Wn),b=f("layout",o),y=ZYe(i,l,u),[C,w,x]=vue(b),L=Te(b,{[`${b}-has-sider`]:y,[`${b}-rtl`]:t==="rtl"},g==null?void 0:g.className,s,a,w,x),I=S.useMemo(()=>({siderHook:{addSider:D=>{r(N=>[].concat(Lt(N),[D]))},removeSider:D=>{r(N=>N.filter(T=>T!==D))}}}),[]);return C(S.createElement(eae.Provider,{value:I},S.createElement(c,Object.assign({ref:e,className:L,style:Object.assign(Object.assign({},g==null?void 0:g.style),d)},m),l)))}),GYe=ME({tagName:"div",displayName:"Layout"})(VYe),XYe=ME({suffixCls:"header",tagName:"header",displayName:"Header"})(MO),PYe=ME({suffixCls:"footer",tagName:"footer",displayName:"Footer"})(MO),OYe=ME({suffixCls:"content",tagName:"main",displayName:"Content"})(MO),FS=GYe;FS.Header=XYe,FS.Footer=PYe,FS.Content=OYe,FS.Sider=HP,FS._InternalSiderContext=tE;const Sue=FS,BYe=new Mi("antSpinMove",{to:{opacity:1}}),zYe=new Mi("antRotate",{to:{transform:"rotate(405deg)"}}),HYe=n=>{const{componentCls:e,calc:t}=n;return{[`${e}`]:Object.assign(Object.assign({},uo(n)),{position:"absolute",display:"none",color:n.colorPrimary,fontSize:0,textAlign:"center",verticalAlign:"middle",opacity:0,transition:`transform ${n.motionDurationSlow} ${n.motionEaseInOutCirc}`,"&-spinning":{position:"static",display:"inline-block",opacity:1},[`${e}-text`]:{fontSize:n.fontSize,paddingTop:t(t(n.dotSize).sub(n.fontSize)).div(2).add(2).equal()},"&-fullscreen":{position:"fixed",width:"100vw",height:"100vh",backgroundColor:n.colorBgMask,zIndex:n.zIndexPopupBase,inset:0,display:"flex",alignItems:"center",flexDirection:"column",justifyContent:"center",opacity:0,visibility:"hidden",transition:`all ${n.motionDurationMid}`,"&-show":{opacity:1,visibility:"visible"},[`${e}-dot ${e}-dot-item`]:{backgroundColor:n.colorWhite},[`${e}-text`]:{color:n.colorTextLightSolid}},"&-nested-loading":{position:"relative",[`> div > ${e}`]:{position:"absolute",top:0,insetInlineStart:0,zIndex:4,display:"block",width:"100%",height:"100%",maxHeight:n.contentHeight,[`${e}-dot`]:{position:"absolute",top:"50%",insetInlineStart:"50%",margin:t(n.dotSize).mul(-1).div(2).equal()},[`${e}-text`]:{position:"absolute",top:"50%",width:"100%",textShadow:`0 1px 2px ${n.colorBgContainer}`},[`&${e}-show-text ${e}-dot`]:{marginTop:t(n.dotSize).div(2).mul(-1).sub(10).equal()},"&-sm":{[`${e}-dot`]:{margin:t(n.dotSizeSM).mul(-1).div(2).equal()},[`${e}-text`]:{paddingTop:t(t(n.dotSizeSM).sub(n.fontSize)).div(2).add(2).equal()},[`&${e}-show-text ${e}-dot`]:{marginTop:t(n.dotSizeSM).div(2).mul(-1).sub(10).equal()}},"&-lg":{[`${e}-dot`]:{margin:t(n.dotSizeLG).mul(-1).div(2).equal()},[`${e}-text`]:{paddingTop:t(t(n.dotSizeLG).sub(n.fontSize)).div(2).add(2).equal()},[`&${e}-show-text ${e}-dot`]:{marginTop:t(n.dotSizeLG).div(2).mul(-1).sub(10).equal()}}},[`${e}-container`]:{position:"relative",transition:`opacity ${n.motionDurationSlow}`,"&::after":{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,zIndex:10,width:"100%",height:"100%",background:n.colorBgContainer,opacity:0,transition:`all ${n.motionDurationSlow}`,content:'""',pointerEvents:"none"}},[`${e}-blur`]:{clear:"both",opacity:.5,userSelect:"none",pointerEvents:"none","&::after":{opacity:.4,pointerEvents:"auto"}}},"&-tip":{color:n.spinDotDefault},[`${e}-dot`]:{position:"relative",display:"inline-block",fontSize:n.dotSize,width:"1em",height:"1em","&-item":{position:"absolute",display:"block",width:t(n.dotSize).sub(t(n.marginXXS).div(2)).div(2).equal(),height:t(n.dotSize).sub(t(n.marginXXS).div(2)).div(2).equal(),backgroundColor:n.colorPrimary,borderRadius:"100%",transform:"scale(0.75)",transformOrigin:"50% 50%",opacity:.3,animationName:BYe,animationDuration:"1s",animationIterationCount:"infinite",animationTimingFunction:"linear",animationDirection:"alternate","&:nth-child(1)":{top:0,insetInlineStart:0,animationDelay:"0s"},"&:nth-child(2)":{top:0,insetInlineEnd:0,animationDelay:"0.4s"},"&:nth-child(3)":{insetInlineEnd:0,bottom:0,animationDelay:"0.8s"},"&:nth-child(4)":{bottom:0,insetInlineStart:0,animationDelay:"1.2s"}},"&-spin":{transform:"rotate(45deg)",animationName:zYe,animationDuration:"1.2s",animationIterationCount:"infinite",animationTimingFunction:"linear"}},[`&-sm ${e}-dot`]:{fontSize:n.dotSizeSM,i:{width:t(t(n.dotSizeSM).sub(t(n.marginXXS).div(2))).div(2).equal(),height:t(t(n.dotSizeSM).sub(t(n.marginXXS).div(2))).div(2).equal()}},[`&-lg ${e}-dot`]:{fontSize:n.dotSizeLG,i:{width:t(t(n.dotSizeLG).sub(n.marginXXS)).div(2).equal(),height:t(t(n.dotSizeLG).sub(n.marginXXS)).div(2).equal()}},[`&${e}-show-text ${e}-text`]:{display:"block"}})}},YYe=Ho("Spin",n=>{const e=Yi(n,{spinDotDefault:n.colorTextDescription});return[HYe(e)]},n=>{const{controlHeightLG:e,controlHeight:t}=n;return{contentHeight:400,dotSize:e/2,dotSizeSM:e*.35,dotSizeLG:t}});var UYe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{const{prefixCls:e,spinning:t=!0,delay:i=0,className:r,rootClassName:o,size:s="default",tip:a,wrapperClassName:l,style:u,children:c,fullscreen:d=!1}=n,h=UYe(n,["prefixCls","spinning","delay","className","rootClassName","size","tip","wrapperClassName","style","children","fullscreen"]),{getPrefixCls:m}=S.useContext(Wn),f=m("spin",e),[g,b,y]=YYe(f),[C,w]=S.useState(()=>t&&!JYe(t,i));S.useEffect(()=>{if(t){const W=eze(i,()=>{w(!0)});return W(),()=>{var Z;(Z=W==null?void 0:W.cancel)===null||Z===void 0||Z.call(W)}}w(!1)},[i,t]);const x=S.useMemo(()=>typeof c<"u"&&!d,[c,d]),{direction:L,spin:I}=S.useContext(Wn),D=Te(f,I==null?void 0:I.className,{[`${f}-sm`]:s==="small",[`${f}-lg`]:s==="large",[`${f}-spinning`]:C,[`${f}-show-text`]:!!a,[`${f}-fullscreen`]:d,[`${f}-fullscreen-show`]:d&&C,[`${f}-rtl`]:L==="rtl"},r,o,b,y),N=Te(`${f}-container`,{[`${f}-blur`]:C}),T=la(h,["indicator"]),R=Object.assign(Object.assign({},I==null?void 0:I.style),u),E=S.createElement("div",Object.assign({},T,{style:R,className:D,"aria-live":"polite","aria-busy":C}),KYe(f,n),a&&(x||d)?S.createElement("div",{className:`${f}-text`},a):null);return g(x?S.createElement("div",Object.assign({},T,{className:Te(`${f}-nested-loading`,l,b,y)}),C&&S.createElement("div",{key:"loading"},E),S.createElement("div",{className:N,key:"container"},c)):E)};wue.setDefaultIndicator=n=>{kE=n};const xue=wue;let hd=null,py=n=>n(),DL=[],NL={};function _ue(){const{getContainer:n,duration:e,rtl:t,maxCount:i,top:r}=NL,o=(n==null?void 0:n())||document.body;return{getContainer:()=>o,duration:e,rtl:t,maxCount:i,top:r}}const jYe=ze.forwardRef((n,e)=>{const{messageConfig:t,sync:i}=n,{getPrefixCls:r}=S.useContext(Wn),o=NL.prefixCls||r("message"),s=S.useContext(Zoe),[a,l]=Kie(Object.assign(Object.assign(Object.assign({},t),{prefixCls:o}),s.message));return ze.useImperativeHandle(e,()=>{const u=Object.assign({},a);return Object.keys(u).forEach(c=>{u[c]=function(){return i(),a[c].apply(a,arguments)}}),{instance:u,sync:i}}),l}),QYe=ze.forwardRef((n,e)=>{const[t,i]=ze.useState(_ue),r=()=>{i(_ue)};ze.useEffect(r,[]);const o=D4(),s=o.getRootPrefixCls(),a=o.getIconPrefixCls(),l=o.getTheme(),u=ze.createElement(jYe,{ref:e,sync:r,messageConfig:t});return ze.createElement(ey,{prefixCls:s,iconPrefixCls:a,theme:l},o.holderRender?o.holderRender(u):u)});function TE(){if(!hd){const n=document.createDocumentFragment(),e={fragment:n};hd=e,py(()=>{MT(ze.createElement(QYe,{ref:t=>{const{instance:i,sync:r}=t||{};Promise.resolve().then(()=>{!e.instance&&i&&(e.instance=i,e.sync=r,TE())})}}),n)});return}hd.instance&&(DL.forEach(n=>{const{type:e,skipped:t}=n;if(!t)switch(e){case"open":{py(()=>{const i=hd.instance.open(Object.assign(Object.assign({},NL),n.config));i==null||i.then(n.resolve),n.setCloseFn(i)});break}case"destroy":py(()=>{hd==null||hd.instance.destroy(n.key)});break;default:py(()=>{var i;const r=(i=hd.instance)[e].apply(i,Lt(n.args));r==null||r.then(n.resolve),n.setCloseFn(r)})}}),DL=[])}function $Ye(n){NL=Object.assign(Object.assign({},NL),n),py(()=>{var e;(e=hd==null?void 0:hd.sync)===null||e===void 0||e.call(hd)})}function qYe(n){const e=R4(t=>{let i;const r={type:"open",config:n,resolve:t,setCloseFn:o=>{i=o}};return DL.push(r),()=>{i?py(()=>{i()}):r.skipped=!0}});return TE(),e}function e6e(n,e){const t=R4(i=>{let r;const o={type:n,args:e,resolve:i,setCloseFn:s=>{r=s}};return DL.push(o),()=>{r?py(()=>{r()}):o.skipped=!0}});return TE(),t}const t6e=n=>{DL.push({type:"destroy",key:n}),TE()},n6e=["success","info","warning","error","loading"],Lue={open:qYe,destroy:t6e,config:$Ye,useMessage:zZe,_InternalPanelDoNotUseOrYouWillBeFired:WZe};n6e.forEach(n=>{Lue[n]=function(){for(var e=arguments.length,t=new Array(e),i=0;i{const{prefixCls:e,className:t,closeIcon:i,closable:r,type:o,title:s,children:a,footer:l}=n,u=i6e(n,["prefixCls","className","closeIcon","closable","type","title","children","footer"]),{getPrefixCls:c}=S.useContext(Wn),d=c(),h=e||c("modal"),m=Ls(d),[f,g,b]=poe(h,m),y=`${h}-confirm`;let C={};return o?C={closable:r??!1,title:"",footer:"",children:S.createElement(yoe,Object.assign({},n,{prefixCls:h,confirmPrefixCls:y,rootPrefixCls:d,content:a}))}:C={closable:r??!0,title:s,footer:l!==null&&S.createElement(uoe,Object.assign({},n)),children:a},f(S.createElement(Mre,Object.assign({prefixCls:h,className:Te(g,`${h}-pure-panel`,o&&y,o&&`${y}-${o}`,t,b,m)},u,{closeIcon:loe(h,i),closable:r},C)))});function Iue(n){return sL(woe(n))}const hh=boe;hh.useModal=XAe,hh.info=function(e){return sL(xoe(e))},hh.success=function(e){return sL(_oe(e))},hh.error=function(e){return sL(Loe(e))},hh.warning=Iue,hh.warn=Iue,hh.confirm=function(e){return sL(Ioe(e))},hh.destroyAll=function(){for(;ay.length;){const e=ay.pop();e&&e()}},hh.config=ZAe,hh._InternalPanelDoNotUseOrYouWillBeFired=r6e;const Fue=hh;let mh=null,EE=n=>n(),RE=[],ML={};function Due(){const{getContainer:n,rtl:e,maxCount:t,top:i,bottom:r}=ML,o=(n==null?void 0:n())||document.body;return{getContainer:()=>o,rtl:e,maxCount:t,top:i,bottom:r}}const o6e=ze.forwardRef((n,e)=>{const{notificationConfig:t,sync:i}=n,{getPrefixCls:r}=S.useContext(Wn),o=ML.prefixCls||r("notification"),s=S.useContext(Zoe),[a,l]=Roe(Object.assign(Object.assign(Object.assign({},t),{prefixCls:o}),s.notification));return ze.useEffect(i,[]),ze.useImperativeHandle(e,()=>{const u=Object.assign({},a);return Object.keys(u).forEach(c=>{u[c]=function(){return i(),a[c].apply(a,arguments)}}),{instance:u,sync:i}}),l}),s6e=ze.forwardRef((n,e)=>{const[t,i]=ze.useState(Due),r=()=>{i(Due)};ze.useEffect(r,[]);const o=D4(),s=o.getRootPrefixCls(),a=o.getIconPrefixCls(),l=o.getTheme(),u=ze.createElement(o6e,{ref:e,sync:r,notificationConfig:t});return ze.createElement(ey,{prefixCls:s,iconPrefixCls:a,theme:l},o.holderRender?o.holderRender(u):u)});function kO(){if(!mh){const n=document.createDocumentFragment(),e={fragment:n};mh=e,EE(()=>{MT(ze.createElement(s6e,{ref:t=>{const{instance:i,sync:r}=t||{};Promise.resolve().then(()=>{!e.instance&&i&&(e.instance=i,e.sync=r,kO())})}}),n)});return}mh.instance&&(RE.forEach(n=>{switch(n.type){case"open":{EE(()=>{mh.instance.open(Object.assign(Object.assign({},ML),n.config))});break}case"destroy":EE(()=>{mh==null||mh.instance.destroy(n.key)});break}}),RE=[])}function a6e(n){ML=Object.assign(Object.assign({},ML),n),EE(()=>{var e;(e=mh==null?void 0:mh.sync)===null||e===void 0||e.call(mh)})}function Nue(n){RE.push({type:"open",config:n}),kO()}const l6e=n=>{RE.push({type:"destroy",key:n}),kO()},u6e=["success","info","warning","error"],Mue={open:Nue,destroy:l6e,config:a6e,useNotification:aVe,_InternalPanelDoNotUseOrYouWillBeFired:$Ae};u6e.forEach(n=>{Mue[n]=e=>Nue(Object.assign(Object.assign({},e),{type:n}))});const c6e=Mue;var d6e={percent:0,prefixCls:"rc-progress",strokeColor:"#2db7f5",strokeLinecap:"round",strokeWidth:1,trailColor:"#D9D9D9",trailWidth:1,gapPosition:"bottom"},h6e=function(){var e=S.useRef([]),t=S.useRef(null);return S.useEffect(function(){var i=Date.now(),r=!1;e.current.forEach(function(o){if(o){r=!0;var s=o.style;s.transitionDuration=".3s, .3s, .3s, .06s",t.current&&i-t.current<100&&(s.transitionDuration="0s, 0s")}}),r&&(t.current=Date.now())}),e.current},kue=0,m6e=Sl();function f6e(){var n;return m6e?(n=kue,kue+=1):n="TEST_OR_SSR",n}const g6e=function(n){var e=S.useState(),t=we(e,2),i=t[0],r=t[1];return S.useEffect(function(){r("rc_progress_".concat(f6e()))},[]),n||i};var Tue=function(e){var t=e.bg,i=e.children;return S.createElement("div",{style:{width:"100%",height:"100%",background:t}},i)};function Eue(n,e){return Object.keys(n).map(function(t){var i=parseFloat(t),r="".concat(Math.floor(i*e),"%");return"".concat(n[t]," ").concat(r)})}var p6e=S.forwardRef(function(n,e){var t=n.prefixCls,i=n.color,r=n.gradientId,o=n.radius,s=n.style,a=n.ptg,l=n.strokeLinecap,u=n.strokeWidth,c=n.size,d=n.gapDegree,h=i&&Xn(i)==="object",m=h?"#FFF":void 0,f=c/2,g=S.createElement("circle",{className:"".concat(t,"-circle-path"),r:o,cx:f,cy:f,stroke:m,strokeLinecap:l,strokeWidth:u,opacity:a===0?0:1,style:s,ref:e});if(!h)return g;var b="".concat(r,"-conic"),y=d?"".concat(180+d/2,"deg"):"0deg",C=Eue(i,(360-d)/360),w=Eue(i,1),x="conic-gradient(from ".concat(y,", ").concat(C.join(", "),")"),L="linear-gradient(to ".concat(d?"bottom":"top",", ").concat(w.join(", "),")");return S.createElement(S.Fragment,null,S.createElement("mask",{id:b},g),S.createElement("foreignObject",{x:0,y:0,width:c,height:c,mask:"url(#".concat(b,")")},S.createElement(Tue,{bg:L},S.createElement(Tue,{bg:x}))))}),kL=100,TO=function(e,t,i,r,o,s,a,l,u,c){var d=arguments.length>10&&arguments[10]!==void 0?arguments[10]:0,h=i/100*360*((360-s)/360),m=s===0?0:{bottom:0,top:180,left:90,right:-90}[a],f=(100-r)/100*t;u==="round"&&r!==100&&(f+=c/2,f>=t&&(f=t-.01));var g=kL/2;return{stroke:typeof l=="string"?l:void 0,strokeDasharray:"".concat(t,"px ").concat(e),strokeDashoffset:f+d,transform:"rotate(".concat(o+h+m,"deg)"),transformOrigin:"".concat(g,"px ").concat(g,"px"),transition:"stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s, opacity .3s ease 0s",fillOpacity:0}},b6e=["id","prefixCls","steps","strokeWidth","trailWidth","gapDegree","gapPosition","trailColor","strokeLinecap","style","className","strokeColor","percent"];function Rue(n){var e=n??[];return Array.isArray(e)?e:[e]}var y6e=function(e){var t=xe(xe({},d6e),e),i=t.id,r=t.prefixCls,o=t.steps,s=t.strokeWidth,a=t.trailWidth,l=t.gapDegree,u=l===void 0?0:l,c=t.gapPosition,d=t.trailColor,h=t.strokeLinecap,m=t.style,f=t.className,g=t.strokeColor,b=t.percent,y=zn(t,b6e),C=kL/2,w=g6e(i),x="".concat(w,"-gradient"),L=C-s/2,I=Math.PI*2*L,D=u>0?90+u/2:-90,N=I*((360-u)/360),T=Xn(o)==="object"?o:{count:o,gap:2},R=T.count,E=T.gap,W=Rue(b),Z=Rue(g),V=Z.find(function(X){return X&&Xn(X)==="object"}),z=V&&Xn(V)==="object",O=z?"butt":h,B=TO(I,N,0,100,D,u,c,d,O,s),P=h6e(),H=function(){var Y=0;return W.map(function(A,te){var oe=Z[te]||Z[Z.length-1],ae=TO(I,N,Y,A,D,u,c,oe,O,s);return Y+=A,S.createElement(p6e,{key:te,color:oe,ptg:A,radius:L,prefixCls:r,gradientId:x,style:ae,strokeLinecap:O,strokeWidth:s,gapDegree:u,ref:function(ue){P[te]=ue},size:kL})}).reverse()},M=function(){var Y=Math.round(R*(W[0]/100)),A=100/R,te=0;return new Array(R).fill(null).map(function(oe,ae){var le=ae<=Y-1?Z[0]:d,ue=le&&Xn(le)==="object"?"url(#".concat(x,")"):void 0,Ce=TO(I,N,te,A,D,u,c,le,"butt",s,E);return te+=(N-Ce.strokeDashoffset+E)*100/N,S.createElement("circle",{key:ae,className:"".concat(r,"-circle-path"),r:L,cx:C,cy:C,stroke:ue,strokeWidth:s,opacity:1,style:Ce,ref:function(ce){P[ae]=ce}})})};return S.createElement("svg",pt({className:Te("".concat(r,"-circle"),f),viewBox:"0 0 ".concat(kL," ").concat(kL),style:m,id:i,role:"presentation"},y),!R&&S.createElement("circle",{className:"".concat(r,"-circle-trail"),r:L,cx:C,cy:C,stroke:d,strokeLinecap:O,strokeWidth:a||s,style:B}),R?M():H())};function bb(n){return!n||n<0?0:n>100?100:n}function ZE(n){let{success:e,successPercent:t}=n,i=t;return e&&"progress"in e&&(i=e.progress),e&&"percent"in e&&(i=e.percent),i}const v6e=n=>{let{percent:e,success:t,successPercent:i}=n;const r=bb(ZE({success:t,successPercent:i}));return[r,bb(bb(e)-r)]},C6e=n=>{let{success:e={},strokeColor:t}=n;const{strokeColor:i}=e;return[i||$C.green,t||null]},WE=(n,e,t)=>{var i,r,o,s;let a=-1,l=-1;if(e==="step"){const u=t.steps,c=t.strokeWidth;typeof n=="string"||typeof n>"u"?(a=n==="small"?2:14,l=c??8):typeof n=="number"?[a,l]=[n,n]:[a=14,l=8]=n,a*=u}else if(e==="line"){const u=t==null?void 0:t.strokeWidth;typeof n=="string"||typeof n>"u"?l=u||(n==="small"?6:8):typeof n=="number"?[a,l]=[n,n]:[a=-1,l=8]=n}else(e==="circle"||e==="dashboard")&&(typeof n=="string"||typeof n>"u"?[a,l]=n==="small"?[60,60]:[120,120]:typeof n=="number"?[a,l]=[n,n]:(a=(r=(i=n[0])!==null&&i!==void 0?i:n[1])!==null&&r!==void 0?r:120,l=(s=(o=n[0])!==null&&o!==void 0?o:n[1])!==null&&s!==void 0?s:120));return[a,l]},S6e=3,w6e=n=>S6e/n*100,x6e=n=>{const{prefixCls:e,trailColor:t=null,strokeLinecap:i="round",gapPosition:r,gapDegree:o,width:s=120,type:a,children:l,success:u,size:c=s,steps:d}=n,[h,m]=WE(c,"circle");let{strokeWidth:f}=n;f===void 0&&(f=Math.max(w6e(h),6));const g={width:h,height:m,fontSize:h*.15+6},b=S.useMemo(()=>{if(o||o===0)return o;if(a==="dashboard")return 75},[o,a]),y=v6e(n),C=r||a==="dashboard"&&"bottom"||void 0,w=Object.prototype.toString.call(n.strokeColor)==="[object Object]",x=C6e({success:u,strokeColor:n.strokeColor}),L=Te(`${e}-inner`,{[`${e}-circle-gradient`]:w}),I=S.createElement(y6e,{steps:d,percent:d?y[1]:y,strokeWidth:f,trailWidth:f,strokeColor:d?x[1]:x,strokeLinecap:i,trailColor:t,prefixCls:e,gapDegree:b,gapPosition:C});return S.createElement("div",{className:L,style:g},h<=20?S.createElement(sg,{title:l},S.createElement("span",null,I)):S.createElement(S.Fragment,null,I,l))},AE="--progress-line-stroke-color",Zue="--progress-percent",Wue=n=>{const e=n?"100%":"-100%";return new Mi(`antProgress${n?"RTL":"LTR"}Active`,{"0%":{transform:`translateX(${e}) scaleX(0)`,opacity:.1},"20%":{transform:`translateX(${e}) scaleX(0)`,opacity:.5},to:{transform:"translateX(0) scaleX(1)",opacity:0}})},_6e=n=>{const{componentCls:e,iconCls:t}=n;return{[e]:Object.assign(Object.assign({},uo(n)),{display:"inline-block","&-rtl":{direction:"rtl"},"&-line":{position:"relative",width:"100%",fontSize:n.fontSize},[`${e}-outer`]:{display:"inline-block",width:"100%"},[`&${e}-show-info`]:{[`${e}-outer`]:{marginInlineEnd:`calc(-2em - ${Ee(n.marginXS)})`,paddingInlineEnd:`calc(2em + ${Ee(n.paddingXS)})`}},[`${e}-inner`]:{position:"relative",display:"inline-block",width:"100%",overflow:"hidden",verticalAlign:"middle",backgroundColor:n.remainingColor,borderRadius:n.lineBorderRadius},[`${e}-inner:not(${e}-circle-gradient)`]:{[`${e}-circle-path`]:{stroke:n.defaultColor}},[`${e}-success-bg, ${e}-bg`]:{position:"relative",background:n.defaultColor,borderRadius:n.lineBorderRadius,transition:`all ${n.motionDurationSlow} ${n.motionEaseInOutCirc}`},[`${e}-bg`]:{overflow:"hidden","&::after":{content:'""',background:{_multi_value_:!0,value:["inherit",`var(${AE})`]},height:"100%",width:`calc(1 / var(${Zue}) * 100%)`,display:"block"}},[`${e}-success-bg`]:{position:"absolute",insetBlockStart:0,insetInlineStart:0,backgroundColor:n.colorSuccess},[`${e}-text`]:{display:"inline-block",width:"2em",marginInlineStart:n.marginXS,color:n.colorText,lineHeight:1,whiteSpace:"nowrap",textAlign:"start",verticalAlign:"middle",wordBreak:"normal",[t]:{fontSize:n.fontSize}},[`&${e}-status-active`]:{[`${e}-bg::before`]:{position:"absolute",inset:0,backgroundColor:n.colorBgContainer,borderRadius:n.lineBorderRadius,opacity:0,animationName:Wue(),animationDuration:n.progressActiveMotionDuration,animationTimingFunction:n.motionEaseOutQuint,animationIterationCount:"infinite",content:'""'}},[`&${e}-rtl${e}-status-active`]:{[`${e}-bg::before`]:{animationName:Wue(!0)}},[`&${e}-status-exception`]:{[`${e}-bg`]:{backgroundColor:n.colorError},[`${e}-text`]:{color:n.colorError}},[`&${e}-status-exception ${e}-inner:not(${e}-circle-gradient)`]:{[`${e}-circle-path`]:{stroke:n.colorError}},[`&${e}-status-success`]:{[`${e}-bg`]:{backgroundColor:n.colorSuccess},[`${e}-text`]:{color:n.colorSuccess}},[`&${e}-status-success ${e}-inner:not(${e}-circle-gradient)`]:{[`${e}-circle-path`]:{stroke:n.colorSuccess}}})}},L6e=n=>{const{componentCls:e,iconCls:t}=n;return{[e]:{[`${e}-circle-trail`]:{stroke:n.remainingColor},[`&${e}-circle ${e}-inner`]:{position:"relative",lineHeight:1,backgroundColor:"transparent"},[`&${e}-circle ${e}-text`]:{position:"absolute",insetBlockStart:"50%",insetInlineStart:0,width:"100%",margin:0,padding:0,color:n.circleTextColor,fontSize:n.circleTextFontSize,lineHeight:1,whiteSpace:"normal",textAlign:"center",transform:"translateY(-50%)",[t]:{fontSize:n.circleIconFontSize}},[`${e}-circle&-status-exception`]:{[`${e}-text`]:{color:n.colorError}},[`${e}-circle&-status-success`]:{[`${e}-text`]:{color:n.colorSuccess}}},[`${e}-inline-circle`]:{lineHeight:1,[`${e}-inner`]:{verticalAlign:"bottom"}}}},I6e=n=>{const{componentCls:e}=n;return{[e]:{[`${e}-steps`]:{display:"inline-block","&-outer":{display:"flex",flexDirection:"row",alignItems:"center"},"&-item":{flexShrink:0,minWidth:n.progressStepMinWidth,marginInlineEnd:n.progressStepMarginInlineEnd,backgroundColor:n.remainingColor,transition:`all ${n.motionDurationSlow}`,"&-active":{backgroundColor:n.defaultColor}}}}}},F6e=n=>{const{componentCls:e,iconCls:t}=n;return{[e]:{[`${e}-small&-line, ${e}-small&-line ${e}-text ${t}`]:{fontSize:n.fontSizeSM}}}},D6e=Ho("Progress",n=>{const e=n.calc(n.marginXXS).div(2).equal(),t=Yi(n,{progressStepMarginInlineEnd:e,progressStepMinWidth:e,progressActiveMotionDuration:"2.4s"});return[_6e(t),L6e(t),I6e(t),F6e(t)]},n=>({circleTextColor:n.colorText,defaultColor:n.colorInfo,remainingColor:n.colorFillSecondary,lineBorderRadius:100,circleTextFontSize:"1em",circleIconFontSize:`${n.fontSize/n.fontSizeSM}em`}));var N6e=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r{let e=[];return Object.keys(n).forEach(t=>{const i=parseFloat(t.replace(/%/g,""));isNaN(i)||e.push({key:i,value:n[t]})}),e=e.sort((t,i)=>t.key-i.key),e.map(t=>{let{key:i,value:r}=t;return`${r} ${i}%`}).join(", ")},k6e=(n,e)=>{const{from:t=$C.blue,to:i=$C.blue,direction:r=e==="rtl"?"to left":"to right"}=n,o=N6e(n,["from","to","direction"]);if(Object.keys(o).length!==0){const a=M6e(o),l=`linear-gradient(${r}, ${a})`;return{background:l,[AE]:l}}const s=`linear-gradient(${r}, ${t}, ${i})`;return{background:s,[AE]:s}},T6e=n=>{const{prefixCls:e,direction:t,percent:i,size:r,strokeWidth:o,strokeColor:s,strokeLinecap:a="round",children:l,trailColor:u=null,success:c}=n,d=s&&typeof s!="string"?k6e(s,t):{[AE]:s,background:s},h=a==="square"||a==="butt"?0:void 0,m=r??[-1,o||(r==="small"?6:8)],[f,g]=WE(m,"line",{strokeWidth:o}),b={backgroundColor:u||void 0,borderRadius:h},y=Object.assign(Object.assign({width:`${bb(i)}%`,height:g,borderRadius:h},d),{[Zue]:bb(i)/100}),C=ZE(n),w={width:`${bb(C)}%`,height:g,borderRadius:h,backgroundColor:c==null?void 0:c.strokeColor},x={width:f<0?"100%":f,height:g};return S.createElement(S.Fragment,null,S.createElement("div",{className:`${e}-outer`,style:x},S.createElement("div",{className:`${e}-inner`,style:b},S.createElement("div",{className:`${e}-bg`,style:y}),C!==void 0?S.createElement("div",{className:`${e}-success-bg`,style:w}):null)),l)},E6e=n=>{const{size:e,steps:t,percent:i=0,strokeWidth:r=8,strokeColor:o,trailColor:s=null,prefixCls:a,children:l}=n,u=Math.round(t*(i/100)),d=e??[e==="small"?2:14,r],[h,m]=WE(d,"step",{steps:t,strokeWidth:r}),f=h/t,g=new Array(t);for(let b=0;b{const{prefixCls:t,className:i,rootClassName:r,steps:o,strokeColor:s,percent:a=0,size:l="default",showInfo:u=!0,type:c="line",status:d,format:h,style:m}=n,f=R6e(n,["prefixCls","className","rootClassName","steps","strokeColor","percent","size","showInfo","type","status","format","style"]),g=S.useMemo(()=>{var Z,V;const z=ZE(n);return parseInt(z!==void 0?(Z=z??0)===null||Z===void 0?void 0:Z.toString():(V=a??0)===null||V===void 0?void 0:V.toString(),10)},[a,n.success,n.successPercent]),b=S.useMemo(()=>!Z6e.includes(d)&&g>=100?"success":d||"normal",[d,g]),{getPrefixCls:y,direction:C,progress:w}=S.useContext(Wn),x=y("progress",t),[L,I,D]=D6e(x),N=S.useMemo(()=>{if(!u)return null;const Z=ZE(n);let V;const z=h||(B=>`${B}%`),O=c==="line";return h||b!=="exception"&&b!=="success"?V=z(bb(a),bb(Z)):b==="exception"?V=O?S.createElement(ty,null):S.createElement(lb,null):b==="success"&&(V=O?S.createElement(U_,null):S.createElement(wse,null)),S.createElement("span",{className:`${x}-text`,title:typeof V=="string"?V:void 0},V)},[u,a,g,b,c,x,h]),T=Array.isArray(s)?s[0]:s,R=typeof s=="string"||Array.isArray(s)?s:void 0;let E;c==="line"?E=o?S.createElement(E6e,Object.assign({},n,{strokeColor:R,prefixCls:x,steps:typeof o=="object"?o.count:o}),N):S.createElement(T6e,Object.assign({},n,{strokeColor:T,prefixCls:x,direction:C}),N):(c==="circle"||c==="dashboard")&&(E=S.createElement(x6e,Object.assign({},n,{strokeColor:T,prefixCls:x,progressStatus:b}),N));const W=Te(x,`${x}-status-${b}`,{[`${x}-${c==="dashboard"&&"circle"||c}`]:c!=="line",[`${x}-inline-circle`]:c==="circle"&&WE(l,"circle")[0]<=20,[`${x}-line`]:!o&&c==="line",[`${x}-steps`]:o,[`${x}-show-info`]:u,[`${x}-${l}`]:typeof l=="string",[`${x}-rtl`]:C==="rtl"},w==null?void 0:w.className,i,r,I,D);return L(S.createElement("div",Object.assign({ref:e,style:Object.assign(Object.assign({},w==null?void 0:w.style),m),className:W,role:"progressbar","aria-valuenow":g},la(f,["trailColor","strokeWidth","width","gapDegree","gapPosition","strokeLinecap","success","successPercent"])),E))});var A6e={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"}}]},name:"delete",theme:"outlined"};const V6e=A6e;var G6e=function(e,t){return S.createElement(wo,pt({},e,{ref:t,icon:V6e}))},X6e=S.forwardRef(G6e);const P6e=X6e;var O6e=function(){var n=document.getSelection();if(!n.rangeCount)return function(){};for(var e=document.activeElement,t=[],i=0;i"u"){window.clipboardData.clearData();var d=Aue[e.format]||Aue.default;window.clipboardData.setData(d,n)}else c.clipboardData.clearData(),c.clipboardData.setData(e.format,n);e.onCopy&&(c.preventDefault(),e.onCopy(c.clipboardData))}),document.body.appendChild(a),o.selectNodeContents(a),s.addRange(o);var u=document.execCommand("copy");if(!u)throw new Error("copy command was unsuccessful");l=!0}catch{try{window.clipboardData.setData(e.format||"text",n),e.onCopy&&e.onCopy(window.clipboardData),l=!0}catch{i=H6e("message"in e?e.message:z6e),window.prompt(i,n)}}finally{s&&(typeof s.removeRange=="function"?s.removeRange(o):s.removeAllRanges()),a&&document.body.removeChild(a),r()}return l}var U6e=Y6e;const EO=vl(U6e),RO=function(n,e){if(n&&e){var t=Array.isArray(e)?e:e.split(","),i=n.name||"",r=n.type||"",o=r.replace(/\/.*$/,"");return t.some(function(s){var a=s.trim();if(/^\*(\/\*)?$/.test(s))return!0;if(a.charAt(0)==="."){var l=i.toLowerCase(),u=a.toLowerCase(),c=[u];return(u===".jpg"||u===".jpeg")&&(c=[".jpg",".jpeg"]),c.some(function(d){return l.endsWith(d)})}return/\/\*$/.test(a)?o===a.replace(/\/.*$/,""):r===a?!0:/^\w+$/.test(a)?(aa(!1,"Upload takes an invalidate 'accept' type '".concat(a,"'.Skip for check.")),!0):!1})}return!0};function K6e(n,e){var t="cannot ".concat(n.method," ").concat(n.action," ").concat(e.status,"'"),i=new Error(t);return i.status=e.status,i.method=n.method,i.url=n.action,i}function Vue(n){var e=n.responseText||n.response;if(!e)return e;try{return JSON.parse(e)}catch{return e}}function J6e(n){var e=new XMLHttpRequest;n.onProgress&&e.upload&&(e.upload.onprogress=function(o){o.total>0&&(o.percent=o.loaded/o.total*100),n.onProgress(o)});var t=new FormData;n.data&&Object.keys(n.data).forEach(function(r){var o=n.data[r];if(Array.isArray(o)){o.forEach(function(s){t.append("".concat(r,"[]"),s)});return}t.append(r,o)}),n.file instanceof Blob?t.append(n.filename,n.file,n.file.name):t.append(n.filename,n.file),e.onerror=function(o){n.onError(o)},e.onload=function(){return e.status<200||e.status>=300?n.onError(K6e(n,e),Vue(e)):n.onSuccess(Vue(e),e)},e.open(n.method,n.action,!0),n.withCredentials&&"withCredentials"in e&&(e.withCredentials=!0);var i=n.headers||{};return i["X-Requested-With"]!==null&&e.setRequestHeader("X-Requested-With","XMLHttpRequest"),Object.keys(i).forEach(function(r){i[r]!==null&&e.setRequestHeader(r,i[r])}),e.send(t),{abort:function(){e.abort()}}}function j6e(n,e){var t=n.createReader(),i=[];function r(){t.readEntries(function(o){var s=Array.prototype.slice.apply(o);i=i.concat(s);var a=!s.length;a?e(i):r()})}r()}var Q6e=function(e,t,i){var r=function o(s,a){s&&(s.path=a||"",s.isFile?s.file(function(l){i(l)&&(s.fullPath&&!l.webkitRelativePath&&(Object.defineProperties(l,{webkitRelativePath:{writable:!0}}),l.webkitRelativePath=s.fullPath.replace(/^\//,""),Object.defineProperties(l,{webkitRelativePath:{writable:!1}})),t([l]))}):s.isDirectory&&j6e(s,function(l){l.forEach(function(u){o(u,"".concat(a).concat(s.name,"/"))})}))};e.forEach(function(o){r(o.webkitGetAsEntry())})},$6e=+new Date,q6e=0;function ZO(){return"rc-upload-".concat($6e,"-").concat(++q6e)}var e7e=["component","prefixCls","className","classNames","disabled","id","style","styles","multiple","accept","capture","children","directory","openFileDialogOnClick","onMouseEnter","onMouseLeave","hasControlInside"],t7e=function(n){Qf(t,n);var e=H1(t);function t(){var i;xs(this,t);for(var r=arguments.length,o=new Array(r),s=0;s{const{componentCls:e,iconCls:t}=n;return{[`${e}-wrapper`]:{[`${e}-drag`]:{position:"relative",width:"100%",height:"100%",textAlign:"center",background:n.colorFillAlter,border:`${Ee(n.lineWidth)} dashed ${n.colorBorder}`,borderRadius:n.borderRadiusLG,cursor:"pointer",transition:`border-color ${n.motionDurationSlow}`,[e]:{padding:n.padding},[`${e}-btn`]:{display:"table",width:"100%",height:"100%",outline:"none",borderRadius:n.borderRadiusLG,"&:focus-visible":{outline:`${Ee(n.lineWidthFocus)} solid ${n.colorPrimaryBorder}`}},[`${e}-drag-container`]:{display:"table-cell",verticalAlign:"middle"},[` &:not(${e}-disabled):hover, &-hover:not(${e}-disabled) `]:{borderColor:n.colorPrimaryHover},[`p${e}-drag-icon`]:{marginBottom:n.margin,[t]:{color:n.colorPrimary,fontSize:n.uploadThumbnailSize}},[`p${e}-text`]:{margin:`0 0 ${Ee(n.marginXXS)}`,color:n.colorTextHeading,fontSize:n.fontSizeLG},[`p${e}-hint`]:{color:n.colorTextDescription,fontSize:n.fontSize},[`&${e}-disabled`]:{[`p${e}-drag-icon ${t}, @@ -340,7 +340,7 @@ html body { `]:{color:n.colorTextDisabled}}}}}},i7e=n=>{const{componentCls:e,antCls:t,iconCls:i,fontSize:r,lineHeight:o,calc:s}=n,a=`${e}-list-item`,l=`${a}-actions`,u=`${a}-action`,c=n.fontHeightSM;return{[`${e}-wrapper`]:{[`${e}-list`]:Object.assign(Object.assign({},qC()),{lineHeight:n.lineHeight,[a]:{position:"relative",height:s(n.lineHeight).mul(r).equal(),marginTop:n.marginXS,fontSize:r,display:"flex",alignItems:"center",transition:`background-color ${n.motionDurationSlow}`,"&:hover":{backgroundColor:n.controlItemBgHover},[`${a}-name`]:Object.assign(Object.assign({},ab),{padding:`0 ${Ee(n.paddingXS)}`,lineHeight:o,flex:"auto",transition:`all ${n.motionDurationSlow}`}),[l]:{whiteSpace:"nowrap",[u]:{opacity:0},[i]:{color:n.actionsColor,transition:`all ${n.motionDurationSlow}`},[` ${u}:focus-visible, &.picture ${u} - `]:{opacity:1},[`${u}${t}-btn`]:{height:c,border:0,lineHeight:1}},[`${e}-icon ${i}`]:{color:n.colorTextDescription,fontSize:r},[`${a}-progress`]:{position:"absolute",bottom:n.calc(n.uploadProgressOffset).mul(-1).equal(),width:"100%",paddingInlineStart:s(r).add(n.paddingXS).equal(),fontSize:r,lineHeight:0,pointerEvents:"none","> div":{margin:0}}},[`${a}:hover ${u}`]:{opacity:1},[`${a}-error`]:{color:n.colorError,[`${a}-name, ${e}-icon ${i}`]:{color:n.colorError},[l]:{[`${i}, ${i}:hover`]:{color:n.colorError},[u]:{opacity:1}}},[`${e}-list-item-container`]:{transition:`opacity ${n.motionDurationSlow}, height ${n.motionDurationSlow}`,"&::before":{display:"table",width:0,height:0,content:'""'}}})}}},r7e=n=>{const{componentCls:e}=n,t=new ki("uploadAnimateInlineIn",{from:{width:0,height:0,padding:0,opacity:0,margin:n.calc(n.marginXS).div(-2).equal()}}),i=new ki("uploadAnimateInlineOut",{to:{width:0,height:0,padding:0,opacity:0,margin:n.calc(n.marginXS).div(-2).equal()}}),r=`${e}-animate-inline`;return[{[`${e}-wrapper`]:{[`${r}-appear, ${r}-enter, ${r}-leave`]:{animationDuration:n.motionDurationSlow,animationTimingFunction:n.motionEaseInOutCirc,animationFillMode:"forwards"},[`${r}-appear, ${r}-enter`]:{animationName:t},[`${r}-leave`]:{animationName:i}}},{[`${e}-wrapper`]:coe(n)},t,i]},o7e=n=>{const{componentCls:e,iconCls:t,uploadThumbnailSize:i,uploadProgressOffset:r,calc:o}=n,s=`${e}-list`,a=`${s}-item`;return{[`${e}-wrapper`]:{[` + `]:{opacity:1},[`${u}${t}-btn`]:{height:c,border:0,lineHeight:1}},[`${e}-icon ${i}`]:{color:n.colorTextDescription,fontSize:r},[`${a}-progress`]:{position:"absolute",bottom:n.calc(n.uploadProgressOffset).mul(-1).equal(),width:"100%",paddingInlineStart:s(r).add(n.paddingXS).equal(),fontSize:r,lineHeight:0,pointerEvents:"none","> div":{margin:0}}},[`${a}:hover ${u}`]:{opacity:1},[`${a}-error`]:{color:n.colorError,[`${a}-name, ${e}-icon ${i}`]:{color:n.colorError},[l]:{[`${i}, ${i}:hover`]:{color:n.colorError},[u]:{opacity:1}}},[`${e}-list-item-container`]:{transition:`opacity ${n.motionDurationSlow}, height ${n.motionDurationSlow}`,"&::before":{display:"table",width:0,height:0,content:'""'}}})}}},r7e=n=>{const{componentCls:e}=n,t=new Mi("uploadAnimateInlineIn",{from:{width:0,height:0,padding:0,opacity:0,margin:n.calc(n.marginXS).div(-2).equal()}}),i=new Mi("uploadAnimateInlineOut",{to:{width:0,height:0,padding:0,opacity:0,margin:n.calc(n.marginXS).div(-2).equal()}}),r=`${e}-animate-inline`;return[{[`${e}-wrapper`]:{[`${r}-appear, ${r}-enter, ${r}-leave`]:{animationDuration:n.motionDurationSlow,animationTimingFunction:n.motionEaseInOutCirc,animationFillMode:"forwards"},[`${r}-appear, ${r}-enter`]:{animationName:t},[`${r}-leave`]:{animationName:i}}},{[`${e}-wrapper`]:coe(n)},t,i]},o7e=n=>{const{componentCls:e,iconCls:t,uploadThumbnailSize:i,uploadProgressOffset:r,calc:o}=n,s=`${e}-list`,a=`${s}-item`;return{[`${e}-wrapper`]:{[` ${s}${s}-picture, ${s}${s}-picture-card, ${s}${s}-picture-circle @@ -351,7 +351,7 @@ html body { ${t}-eye, ${t}-download, ${t}-delete - `]:{zIndex:10,width:i,margin:`0 ${Ee(n.marginXXS)}`,fontSize:i,cursor:"pointer",transition:`all ${n.motionDurationSlow}`,color:r,"&:hover":{color:r},svg:{verticalAlign:"baseline"}}},[`${a}-thumbnail, ${a}-thumbnail img`]:{position:"static",display:"block",width:"100%",height:"100%",objectFit:"contain"},[`${a}-name`]:{display:"none",textAlign:"center"},[`${a}-file + ${a}-name`]:{position:"absolute",bottom:n.margin,display:"block",width:`calc(100% - ${Ee(o(n.paddingXS).mul(2).equal())})`},[`${a}-uploading`]:{[`&${a}`]:{backgroundColor:n.colorFillAlter},[`&::before, ${t}-eye, ${t}-download, ${t}-delete`]:{display:"none"}},[`${a}-progress`]:{bottom:n.marginXL,width:`calc(100% - ${Ee(o(n.paddingXS).mul(2).equal())})`,paddingInlineStart:0}}}),[`${e}-wrapper${e}-picture-circle-wrapper`]:{[`${e}${e}-select`]:{borderRadius:"50%"}}}},a7e=n=>{const{componentCls:e}=n;return{[`${e}-rtl`]:{direction:"rtl"}}},l7e=n=>{const{componentCls:e,colorTextDisabled:t}=n;return{[`${e}-wrapper`]:Object.assign(Object.assign({},uo(n)),{[e]:{outline:0,"input[type='file']":{cursor:"pointer"}},[`${e}-select`]:{display:"inline-block"},[`${e}-disabled`]:{color:t,cursor:"not-allowed"}})}},u7e=Ho("Upload",n=>{const{fontSizeHeading3:e,fontHeight:t,lineWidth:i,controlHeightLG:r,calc:o}=n,s=Ui(n,{uploadThumbnailSize:o(e).mul(2).equal(),uploadProgressOffset:o(o(t).div(2)).add(i).equal(),uploadPicCardSize:o(r).mul(2.55).equal()});return[l7e(s),n7e(s),o7e(s),s7e(s),i7e(s),r7e(s),a7e(s),mP(s)]},n=>({actionsColor:n.colorTextDescription}));var c7e={icon:function(e,t){return{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M534 352V136H232v752h560V394H576a42 42 0 01-42-42z",fill:t}},{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0042 42h216v494z",fill:e}}]}},name:"file",theme:"twotone"};const d7e=c7e;var h7e=function(e,t){return w.createElement(So,pt({},e,{ref:t,icon:d7e}))},m7e=w.forwardRef(h7e);const f7e=m7e;var g7e={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M779.3 196.6c-94.2-94.2-247.6-94.2-341.7 0l-261 260.8c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0012.7 0l261-260.8c32.4-32.4 75.5-50.2 121.3-50.2s88.9 17.8 121.2 50.2c32.4 32.4 50.2 75.5 50.2 121.2 0 45.8-17.8 88.8-50.2 121.2l-266 265.9-43.1 43.1c-40.3 40.3-105.8 40.3-146.1 0-19.5-19.5-30.2-45.4-30.2-73s10.7-53.5 30.2-73l263.9-263.8c6.7-6.6 15.5-10.3 24.9-10.3h.1c9.4 0 18.1 3.7 24.7 10.3 6.7 6.7 10.3 15.5 10.3 24.9 0 9.3-3.7 18.1-10.3 24.7L372.4 653c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0012.7 0l215.6-215.6c19.9-19.9 30.8-46.3 30.8-74.4s-11-54.6-30.8-74.4c-41.1-41.1-107.9-41-149 0L463 364 224.8 602.1A172.22 172.22 0 00174 724.8c0 46.3 18.1 89.8 50.8 122.5 33.9 33.8 78.3 50.7 122.7 50.7 44.4 0 88.8-16.9 122.6-50.7l309.2-309C824.8 492.7 850 432 850 367.5c.1-64.6-25.1-125.3-70.7-170.9z"}}]},name:"paper-clip",theme:"outlined"};const p7e=g7e;var b7e=function(e,t){return w.createElement(So,pt({},e,{ref:t,icon:p7e}))},v7e=w.forwardRef(b7e);const y7e=v7e;var C7e={icon:function(e,t){return{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136v-39.9l138.5-164.3 150.1 178L658.1 489 888 761.6V792zm0-129.8L664.2 396.8c-3.2-3.8-9-3.8-12.2 0L424.6 666.4l-144-170.7c-3.2-3.8-9-3.8-12.2 0L136 652.7V232h752v430.2z",fill:e}},{tag:"path",attrs:{d:"M424.6 765.8l-150.1-178L136 752.1V792h752v-30.4L658.1 489z",fill:t}},{tag:"path",attrs:{d:"M136 652.7l132.4-157c3.2-3.8 9-3.8 12.2 0l144 170.7L652 396.8c3.2-3.8 9-3.8 12.2 0L888 662.2V232H136v420.7zM304 280a88 88 0 110 176 88 88 0 010-176z",fill:t}},{tag:"path",attrs:{d:"M276 368a28 28 0 1056 0 28 28 0 10-56 0z",fill:t}},{tag:"path",attrs:{d:"M304 456a88 88 0 100-176 88 88 0 000 176zm0-116c15.5 0 28 12.5 28 28s-12.5 28-28 28-28-12.5-28-28 12.5-28 28-28z",fill:e}}]}},name:"picture",theme:"twotone"};const w7e=C7e;var S7e=function(e,t){return w.createElement(So,pt({},e,{ref:t,icon:w7e}))},x7e=w.forwardRef(S7e);const L7e=x7e;function AE(n){return Object.assign(Object.assign({},n),{lastModified:n.lastModified,lastModifiedDate:n.lastModifiedDate,name:n.name,size:n.size,type:n.type,uid:n.uid,percent:0,originFileObj:n})}function GE(n,e){const t=_t(e),i=t.findIndex(r=>{let{uid:o}=r;return o===n.uid});return i===-1?t.push(n):t[i]=n,t}function AO(n,e){const t=n.uid!==void 0?"uid":"name";return e.filter(i=>i[t]===n[t])[0]}function _7e(n,e){const t=n.uid!==void 0?"uid":"name",i=e.filter(r=>r[t]!==n[t]);return i.length===e.length?null:i}const F7e=function(){const e=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:"").split("/"),i=e[e.length-1].split(/#|\?/)[0];return(/\.[^./\\]*$/.exec(i)||[""])[0]},Gue=n=>n.indexOf("image/")===0,I7e=n=>{if(n.type&&!n.thumbUrl)return Gue(n.type);const e=n.thumbUrl||n.url||"",t=F7e(e);return/^data:image\//.test(e)||/(webp|svg|png|gif|jpg|jpeg|jfif|bmp|dpg|ico|heic|heif)$/i.test(t)?!0:!(/^data:/.test(e)||t)},vb=200;function D7e(n){return new Promise(e=>{if(!n.type||!Gue(n.type)){e("");return}const t=document.createElement("canvas");t.width=vb,t.height=vb,t.style.cssText=`position: fixed; left: 0; top: 0; width: ${vb}px; height: ${vb}px; z-index: 9999; display: none;`,document.body.appendChild(t);const i=t.getContext("2d"),r=new Image;if(r.onload=()=>{const{width:o,height:s}=r;let a=vb,l=vb,u=0,c=0;o>s?(l=s*(vb/o),c=-(l-a)/2):(a=o*(vb/s),u=-(a-l)/2),i.drawImage(r,u,c,a,l);const d=t.toDataURL();document.body.removeChild(t),window.URL.revokeObjectURL(r.src),e(d)},r.crossOrigin="anonymous",n.type.startsWith("image/svg+xml")){const o=new FileReader;o.onload=()=>{o.result&&typeof o.result=="string"&&(r.src=o.result)},o.readAsDataURL(n)}else if(n.type.startsWith("image/gif")){const o=new FileReader;o.onload=()=>{o.result&&e(o.result)},o.readAsDataURL(n)}else r.src=window.URL.createObjectURL(n)})}var M7e={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M505.7 661a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"download",theme:"outlined"};const k7e=M7e;var N7e=function(e,t){return w.createElement(So,pt({},e,{ref:t,icon:k7e}))},T7e=w.forwardRef(N7e);const E7e=T7e,Z7e=w.forwardRef((n,e)=>{let{prefixCls:t,className:i,style:r,locale:o,listType:s,file:a,items:l,progress:u,iconRender:c,actionIconRender:d,itemRender:h,isImgUrl:m,showPreviewIcon:f,showRemoveIcon:g,showDownloadIcon:b,previewIcon:v,removeIcon:C,downloadIcon:S,onPreview:x,onDownload:_,onClose:F}=n;var D,M;const{status:T}=a,[Z,E]=w.useState(T);w.useEffect(()=>{T!=="removed"&&E(T)},[T]);const[R,W]=w.useState(!1);w.useEffect(()=>{const pe=setTimeout(()=>{W(!0)},300);return()=>{clearTimeout(pe)}},[]);const A=c(a);let z=w.createElement("div",{className:`${t}-icon`},A);if(s==="picture"||s==="picture-card"||s==="picture-circle")if(Z==="uploading"||!a.thumbUrl&&!a.url){const pe=Te(`${t}-list-item-thumbnail`,{[`${t}-list-item-file`]:Z!=="uploading"});z=w.createElement("div",{className:pe},A)}else{const pe=m!=null&&m(a)?w.createElement("img",{src:a.thumbUrl||a.url,alt:a.name,className:`${t}-list-item-image`,crossOrigin:a.crossOrigin}):A,ce=Te(`${t}-list-item-thumbnail`,{[`${t}-list-item-file`]:m&&!m(a)});z=w.createElement("a",{className:ce,onClick:De=>x(a,De),href:a.url||a.thumbUrl,target:"_blank",rel:"noopener noreferrer"},pe)}const O=Te(`${t}-list-item`,`${t}-list-item-${Z}`),B=typeof a.linkProps=="string"?JSON.parse(a.linkProps):a.linkProps,P=g?d((typeof C=="function"?C(a):C)||w.createElement(P6e,null),()=>F(a),t,o.removeFile,!0):null,H=b&&Z==="done"?d((typeof S=="function"?S(a):S)||w.createElement(E7e,null),()=>_(a),t,o.downloadFile):null,k=s!=="picture-card"&&s!=="picture-circle"&&w.createElement("span",{key:"download-delete",className:Te(`${t}-list-item-actions`,{picture:s==="picture"})},H,P),X=Te(`${t}-list-item-name`),Y=a.url?[w.createElement("a",Object.assign({key:"view",target:"_blank",rel:"noopener noreferrer",className:X,title:a.name},B,{href:a.url,onClick:pe=>x(a,pe)}),a.name),k]:[w.createElement("span",{key:"view",className:X,onClick:pe=>x(a,pe),title:a.name},a.name),k],V=f&&(a.url||a.thumbUrl)?w.createElement("a",{href:a.url||a.thumbUrl,target:"_blank",rel:"noopener noreferrer",onClick:pe=>x(a,pe),title:o.previewFile},typeof v=="function"?v(a):v||w.createElement(Ule,null)):null,te=(s==="picture-card"||s==="picture-circle")&&Z!=="uploading"&&w.createElement("span",{className:`${t}-list-item-actions`},V,Z==="done"&&H,P),{getPrefixCls:oe}=w.useContext(Rn),ae=oe(),le=w.createElement("div",{className:O},z,Y,te,R&&w.createElement(ud,{motionName:`${ae}-fade`,visible:Z==="uploading",motionDeadline:2e3},pe=>{let{className:ce}=pe;const De="percent"in a?w.createElement(R6e,Object.assign({},u,{type:"line",percent:a.percent,"aria-label":a["aria-label"],"aria-labelledby":a["aria-labelledby"]})):null;return w.createElement("div",{className:Te(`${t}-list-item-progress`,ce)},De)})),ue=a.response&&typeof a.response=="string"?a.response:((D=a.error)===null||D===void 0?void 0:D.statusText)||((M=a.error)===null||M===void 0?void 0:M.message)||o.uploadError,Ce=Z==="error"?w.createElement(sg,{title:ue,getPopupContainer:pe=>pe.parentNode},le):le;return w.createElement("div",{className:Te(`${t}-list-item-container`,i),style:r,ref:e},h?h(Ce,a,l,{download:_.bind(null,a),preview:x.bind(null,a),remove:F.bind(null,a)}):Ce)}),W7e=(n,e)=>{const{listType:t="text",previewFile:i=D7e,onPreview:r,onDownload:o,onRemove:s,locale:a,iconRender:l,isImageUrl:u=I7e,prefixCls:c,items:d=[],showPreviewIcon:h=!0,showRemoveIcon:m=!0,showDownloadIcon:f=!1,removeIcon:g,previewIcon:b,downloadIcon:v,progress:C={size:[-1,2],showInfo:!1},appendAction:S,appendActionVisible:x=!0,itemRender:_,disabled:F}=n,D=FXe(),[M,T]=w.useState(!1);w.useEffect(()=>{t!=="picture"&&t!=="picture-card"&&t!=="picture-circle"||(d||[]).forEach(V=>{typeof document>"u"||typeof window>"u"||!window.FileReader||!window.File||!(V.originFileObj instanceof File||V.originFileObj)||V.thumbUrl!==void 0||i&&i(V.originFileObj).then(te=>{V.thumbUrl=te||"",D()})})},[t,d,i]),w.useEffect(()=>{T(!0)},[]);const Z=(V,te)=>{if(r)return te==null||te.preventDefault(),r(V)},E=V=>{typeof o=="function"?o(V):V.url&&window.open(V.url)},R=V=>{s==null||s(V)},W=V=>{if(l)return l(V,t);const te=V.status==="uploading",oe=u&&u(V)?w.createElement(L7e,null):w.createElement(f7e,null);let ae=te?w.createElement(iw,null):w.createElement(y7e,null);return t==="picture"?ae=te?w.createElement(iw,null):oe:(t==="picture-card"||t==="picture-circle")&&(ae=te?a.uploading:oe),ae},A=(V,te,oe,ae,le)=>{const ue={type:"text",size:"small",title:ae,onClick:Ce=>{var pe,ce;te(),w.isValidElement(V)&&((ce=(pe=V.props).onClick)===null||ce===void 0||ce.call(pe,Ce))},className:`${oe}-list-item-action`};if(le&&(ue.disabled=F),w.isValidElement(V)){const Ce=eu(V,Object.assign(Object.assign({},V.props),{onClick:()=>{}}));return w.createElement(jr,Object.assign({},ue,{icon:Ce}))}return w.createElement(jr,Object.assign({},ue),w.createElement("span",null,V))};w.useImperativeHandle(e,()=>({handlePreview:Z,handleDownload:E}));const{getPrefixCls:z}=w.useContext(Rn),O=z("upload",c),B=z(),P=Te(`${O}-list`,`${O}-list-${t}`),H=_t(d.map(V=>({key:V.uid,file:V})));let X={motionDeadline:2e3,motionName:`${O}-${t==="picture-card"||t==="picture-circle"?"animate-inline":"animate"}`,keys:H,motionAppear:M};const Y=w.useMemo(()=>{const V=Object.assign({},NT(B));return delete V.onAppearEnd,delete V.onEnterEnd,delete V.onLeaveEnd,V},[B]);return t!=="picture-card"&&t!=="picture-circle"&&(X=Object.assign(Object.assign({},Y),X)),w.createElement("div",{className:P},w.createElement(I4,Object.assign({},X,{component:!1}),V=>{let{key:te,file:oe,className:ae,style:le}=V;return w.createElement(Z7e,{key:te,locale:a,prefixCls:O,className:ae,style:le,file:oe,items:d,progress:C,listType:t,isImgUrl:u,showPreviewIcon:h,showRemoveIcon:m,showDownloadIcon:f,removeIcon:g,previewIcon:b,downloadIcon:v,iconRender:W,actionIconRender:A,itemRender:_,onPreview:Z,onDownload:E,onClose:R})}),S&&w.createElement(ud,Object.assign({},X,{visible:x,forceRender:!0}),V=>{let{className:te,style:oe}=V;return eu(S,ae=>({className:Te(ae.className,te),style:Object.assign(Object.assign(Object.assign({},oe),{pointerEvents:te?"none":void 0}),ae.style)}))}))},R7e=w.forwardRef(W7e);var V7e=function(n,e,t,i){function r(o){return o instanceof t?o:new t(function(s){s(o)})}return new(t||(t=Promise))(function(o,s){function a(c){try{u(i.next(c))}catch(d){s(d)}}function l(c){try{u(i.throw(c))}catch(d){s(d)}}function u(c){c.done?o(c.value):r(c.value).then(a,l)}u((i=i.apply(n,e||[])).next())})};const XE=`__LIST_IGNORE_${Date.now()}__`,A7e=(n,e)=>{const{fileList:t,defaultFileList:i,onRemove:r,showUploadList:o=!0,listType:s="text",onPreview:a,onDownload:l,onChange:u,onDrop:c,previewFile:d,disabled:h,locale:m,iconRender:f,isImageUrl:g,progress:b,prefixCls:v,className:C,type:S="select",children:x,style:_,itemRender:F,maxCount:D,data:M={},multiple:T=!1,hasControlInside:Z=!0,action:E="",accept:R="",supportServerRender:W=!0,rootClassName:A}=n,z=w.useContext(sh),O=h??z,[B,P]=Jr(i||[],{value:t,postState:Re=>Re??[]}),[H,k]=w.useState("drop"),X=w.useRef(null);w.useMemo(()=>{const Re=Date.now();(t||[]).forEach((ht,Ye)=>{!ht.uid&&!Object.isFrozen(ht)&&(ht.uid=`__AUTO__${Re}_${Ye}__`)})},[t]);const Y=(Re,ht,Ye)=>{let Ge=_t(ht),mt=!1;D===1?Ge=Ge.slice(-1):D&&(mt=Ge.length>D,Ge=Ge.slice(0,D)),th.flushSync(()=>{P(Ge)});const St={file:Re,fileList:Ge};Ye&&(St.event=Ye),(!mt||Re.status==="removed"||Ge.some(Kt=>Kt.uid===Re.uid))&&th.flushSync(()=>{u==null||u(St)})},V=(Re,ht)=>V7e(void 0,void 0,void 0,function*(){const{beforeUpload:Ye,transformFile:Ge}=n;let mt=Re;if(Ye){const St=yield Ye(Re,ht);if(St===!1)return!1;if(delete Re[XE],St===XE)return Object.defineProperty(Re,XE,{value:!0,configurable:!0}),!1;typeof St=="object"&&St&&(mt=St)}return Ge&&(mt=yield Ge(mt)),mt}),te=Re=>{const ht=Re.filter(mt=>!mt.file[XE]);if(!ht.length)return;const Ye=ht.map(mt=>AE(mt.file));let Ge=_t(B);Ye.forEach(mt=>{Ge=GE(mt,Ge)}),Ye.forEach((mt,St)=>{let Kt=mt;if(ht[St].parsedFile)mt.status="uploading";else{const{originFileObj:Rt}=mt;let Yt;try{Yt=new File([Rt],Rt.name,{type:Rt.type})}catch{Yt=new Blob([Rt],{type:Rt.type}),Yt.name=Rt.name,Yt.lastModifiedDate=new Date,Yt.lastModified=new Date().getTime()}Yt.uid=mt.uid,Kt=Yt}Y(Kt,Ge)})},oe=(Re,ht,Ye)=>{try{typeof Re=="string"&&(Re=JSON.parse(Re))}catch{}if(!AO(ht,B))return;const Ge=AE(ht);Ge.status="done",Ge.percent=100,Ge.response=Re,Ge.xhr=Ye;const mt=GE(Ge,B);Y(Ge,mt)},ae=(Re,ht)=>{if(!AO(ht,B))return;const Ye=AE(ht);Ye.status="uploading",Ye.percent=Re.percent;const Ge=GE(Ye,B);Y(Ye,Ge,Re)},le=(Re,ht,Ye)=>{if(!AO(Ye,B))return;const Ge=AE(Ye);Ge.error=Re,Ge.response=ht,Ge.status="error";const mt=GE(Ge,B);Y(Ge,mt)},ue=Re=>{let ht;Promise.resolve(typeof r=="function"?r(Re):r).then(Ye=>{var Ge;if(Ye===!1)return;const mt=_7e(Re,B);mt&&(ht=Object.assign(Object.assign({},Re),{status:"removed"}),B==null||B.forEach(St=>{const Kt=ht.uid!==void 0?"uid":"name";St[Kt]===ht[Kt]&&!Object.isFrozen(St)&&(St.status="removed")}),(Ge=X.current)===null||Ge===void 0||Ge.abort(ht),Y(ht,mt))})},Ce=Re=>{k(Re.type),Re.type==="drop"&&(c==null||c(Re))};w.useImperativeHandle(e,()=>({onBatchStart:te,onSuccess:oe,onProgress:ae,onError:le,fileList:B,upload:X.current}));const{getPrefixCls:pe,direction:ce,upload:De}=w.useContext(Rn),ke=pe("upload",v),Ne=Object.assign(Object.assign({onBatchStart:te,onError:le,onProgress:ae,onSuccess:oe},n),{data:M,multiple:T,action:E,accept:R,supportServerRender:W,prefixCls:ke,disabled:O,beforeUpload:V,onChange:void 0,hasControlInside:Z});delete Ne.className,delete Ne.style,(!x||O)&&delete Ne.id;const Ue=`${ke}-wrapper`,[He,ct,vt]=u7e(ke,Ue),[it]=rb("Upload",eg.Upload),{showRemoveIcon:he,showPreviewIcon:de,showDownloadIcon:me,removeIcon:j,previewIcon:$,downloadIcon:q}=typeof o=="boolean"?{}:o,ee=typeof he>"u"?!O:!!he,ve=(Re,ht)=>o?w.createElement(R7e,{prefixCls:ke,listType:s,items:B,previewFile:d,onPreview:a,onDownload:l,onRemove:ue,showRemoveIcon:ee,showPreviewIcon:de,showDownloadIcon:me,removeIcon:j,previewIcon:$,downloadIcon:q,iconRender:f,locale:Object.assign(Object.assign({},it),m),isImageUrl:g,progress:b,appendAction:Re,appendActionVisible:ht,itemRender:F,disabled:O}):Re,Le=Te(Ue,C,A,ct,vt,De==null?void 0:De.className,{[`${ke}-rtl`]:ce==="rtl",[`${ke}-picture-card-wrapper`]:s==="picture-card",[`${ke}-picture-circle-wrapper`]:s==="picture-circle"}),Me=Object.assign(Object.assign({},De==null?void 0:De.style),_);if(S==="drag"){const Re=Te(ct,ke,`${ke}-drag`,{[`${ke}-drag-uploading`]:B.some(ht=>ht.status==="uploading"),[`${ke}-drag-hover`]:H==="dragover",[`${ke}-disabled`]:O,[`${ke}-rtl`]:ce==="rtl"});return He(w.createElement("span",{className:Le},w.createElement("div",{className:Re,style:Me,onDrop:Ce,onDragOver:Ce,onDragLeave:Ce},w.createElement(VO,Object.assign({},Ne,{ref:X,className:`${ke}-btn`}),w.createElement("div",{className:`${ke}-drag-container`},x))),ve()))}const Be=Te(ke,`${ke}-select`,{[`${ke}-disabled`]:O}),$e=w.createElement("div",{className:Be,style:x?void 0:{display:"none"}},w.createElement(VO,Object.assign({},Ne,{ref:X})));return He(s==="picture-card"||s==="picture-circle"?w.createElement("span",{className:Le},ve($e,!!x)):w.createElement("span",{className:Le},$e,ve()))},GO=w.forwardRef(A7e);var PE={},Xue={exports:{}};(function(n){function e(t){return t&&t.__esModule?t:{default:t}}n.exports=e,n.exports.__esModule=!0,n.exports.default=n.exports})(Xue);var Dw=Xue.exports,OE={};Object.defineProperty(OE,"__esModule",{value:!0}),OE.default=void 0;var G7e={items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"Page",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages",page_size:"Page Size"};OE.default=G7e;var BE={},T_={},zE={};Object.defineProperty(zE,"__esModule",{value:!0}),zE.default=void 0;var X7e={locale:"en_US",today:"Today",now:"Now",backToToday:"Back to today",ok:"OK",clear:"Clear",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"};zE.default=X7e;var E_={};Object.defineProperty(E_,"__esModule",{value:!0}),E_.default=void 0;const P7e={placeholder:"Select time",rangePlaceholder:["Start time","End time"]};E_.default=P7e;var Pue=Dw.default;Object.defineProperty(T_,"__esModule",{value:!0}),T_.default=void 0;var O7e=Pue(zE),B7e=Pue(E_);const z7e={lang:Object.assign({placeholder:"Select date",yearPlaceholder:"Select year",quarterPlaceholder:"Select quarter",monthPlaceholder:"Select month",weekPlaceholder:"Select week",rangePlaceholder:["Start date","End date"],rangeYearPlaceholder:["Start year","End year"],rangeQuarterPlaceholder:["Start quarter","End quarter"],rangeMonthPlaceholder:["Start month","End month"],rangeWeekPlaceholder:["Start week","End week"]},O7e.default),timePickerLocale:Object.assign({},B7e.default)};T_.default=z7e;var H7e=Dw.default;Object.defineProperty(BE,"__esModule",{value:!0}),BE.default=void 0;var Y7e=H7e(T_);BE.default=Y7e.default;var HE=Dw.default;Object.defineProperty(PE,"__esModule",{value:!0}),PE.default=void 0;var U7e=HE(OE),K7e=HE(BE),J7e=HE(T_),j7e=HE(E_);const yc="${label} is not a valid ${type}",Q7e={locale:"en",Pagination:U7e.default,DatePicker:J7e.default,TimePicker:j7e.default,Calendar:K7e.default,global:{placeholder:"Please select"},Table:{filterTitle:"Filter menu",filterConfirm:"OK",filterReset:"Reset",filterEmptyText:"No filters",filterCheckall:"Select all items",filterSearchPlaceholder:"Search in filters",emptyText:"No data",selectAll:"Select current page",selectInvert:"Invert current page",selectNone:"Clear all data",selectionAll:"Select all data",sortTitle:"Sort",expand:"Expand row",collapse:"Collapse row",triggerDesc:"Click to sort descending",triggerAsc:"Click to sort ascending",cancelSort:"Click to cancel sorting"},Tour:{Next:"Next",Previous:"Previous",Finish:"Finish"},Modal:{okText:"OK",cancelText:"Cancel",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Cancel"},Transfer:{titles:["",""],searchPlaceholder:"Search here",itemUnit:"item",itemsUnit:"items",remove:"Remove",selectCurrent:"Select current page",removeCurrent:"Remove current page",selectAll:"Select all data",deselectAll:"Deselect all data",removeAll:"Remove all data",selectInvert:"Invert current page"},Upload:{uploading:"Uploading...",removeFile:"Remove file",uploadError:"Upload error",previewFile:"Preview file",downloadFile:"Download file"},Empty:{description:"No data"},Icon:{icon:"icon"},Text:{edit:"Edit",copy:"Copy",copied:"Copied",expand:"Expand",collapse:"Collapse"},Form:{optional:"(optional)",defaultValidateMessages:{default:"Field validation error for ${label}",required:"Please enter ${label}",enum:"${label} must be one of [${enum}]",whitespace:"${label} cannot be a blank character",date:{format:"${label} date format is invalid",parse:"${label} cannot be converted to a date",invalid:"${label} is an invalid date"},types:{string:yc,method:yc,array:yc,object:yc,number:yc,date:yc,boolean:yc,integer:yc,float:yc,regexp:yc,email:yc,url:yc,hex:yc},string:{len:"${label} must be ${len} characters",min:"${label} must be at least ${min} characters",max:"${label} must be up to ${max} characters",range:"${label} must be between ${min}-${max} characters"},number:{len:"${label} must be equal to ${len}",min:"${label} must be minimum ${min}",max:"${label} must be maximum ${max}",range:"${label} must be between ${min}-${max}"},array:{len:"Must be ${len} ${label}",min:"At least ${min} ${label}",max:"At most ${max} ${label}",range:"The amount of ${label} must be between ${min}-${max}"},pattern:{mismatch:"${label} does not match the pattern ${pattern}"}}},Image:{preview:"Preview"},QRCode:{expired:"QR code expired",refresh:"Refresh",scanned:"Scanned"},ColorPicker:{presetEmpty:"Empty"}};PE.default=Q7e;var $7e=PE;const q7e=yl($7e);var YE={},UE={};Object.defineProperty(UE,"__esModule",{value:!0}),UE.default=void 0;var eUe={items_per_page:"条/页",jump_to:"跳至",jump_to_confirm:"确定",page:"页",prev_page:"上一页",next_page:"下一页",prev_5:"向前 5 页",next_5:"向后 5 页",prev_3:"向前 3 页",next_3:"向后 3 页",page_size:"页码"};UE.default=eUe;var KE={},Z_={},JE={};Object.defineProperty(JE,"__esModule",{value:!0}),JE.default=void 0;var tUe={locale:"zh_CN",yearFormat:"YYYY年",cellDateFormat:"D",cellMeridiemFormat:"A",today:"今天",now:"此刻",backToToday:"返回今天",ok:"确定",timeSelect:"选择时间",dateSelect:"选择日期",weekSelect:"选择周",clear:"清除",month:"月",year:"年",previousMonth:"上个月 (翻页上键)",nextMonth:"下个月 (翻页下键)",monthSelect:"选择月份",yearSelect:"选择年份",decadeSelect:"选择年代",previousYear:"上一年 (Control键加左方向键)",nextYear:"下一年 (Control键加右方向键)",previousDecade:"上一年代",nextDecade:"下一年代",previousCentury:"上一世纪",nextCentury:"下一世纪"};JE.default=tUe;var W_={};Object.defineProperty(W_,"__esModule",{value:!0}),W_.default=void 0;const nUe={placeholder:"请选择时间",rangePlaceholder:["开始时间","结束时间"]};W_.default=nUe;var Oue=Dw.default;Object.defineProperty(Z_,"__esModule",{value:!0}),Z_.default=void 0;var iUe=Oue(JE),rUe=Oue(W_);const Bue={lang:Object.assign({placeholder:"请选择日期",yearPlaceholder:"请选择年份",quarterPlaceholder:"请选择季度",monthPlaceholder:"请选择月份",weekPlaceholder:"请选择周",rangePlaceholder:["开始日期","结束日期"],rangeYearPlaceholder:["开始年份","结束年份"],rangeMonthPlaceholder:["开始月份","结束月份"],rangeQuarterPlaceholder:["开始季度","结束季度"],rangeWeekPlaceholder:["开始周","结束周"]},iUe.default),timePickerLocale:Object.assign({},rUe.default)};Bue.lang.ok="确定",Z_.default=Bue;var oUe=Dw.default;Object.defineProperty(KE,"__esModule",{value:!0}),KE.default=void 0;var sUe=oUe(Z_);KE.default=sUe.default;var jE=Dw.default;Object.defineProperty(YE,"__esModule",{value:!0}),YE.default=void 0;var aUe=jE(UE),lUe=jE(KE),uUe=jE(Z_),cUe=jE(W_);const Cc="${label}不是一个有效的${type}",dUe={locale:"zh-cn",Pagination:aUe.default,DatePicker:uUe.default,TimePicker:cUe.default,Calendar:lUe.default,global:{placeholder:"请选择"},Table:{filterTitle:"筛选",filterConfirm:"确定",filterReset:"重置",filterEmptyText:"无筛选项",filterCheckall:"全选",filterSearchPlaceholder:"在筛选项中搜索",emptyText:"暂无数据",selectAll:"全选当页",selectInvert:"反选当页",selectNone:"清空所有",selectionAll:"全选所有",sortTitle:"排序",expand:"展开行",collapse:"关闭行",triggerDesc:"点击降序",triggerAsc:"点击升序",cancelSort:"取消排序"},Modal:{okText:"确定",cancelText:"取消",justOkText:"知道了"},Tour:{Next:"下一步",Previous:"上一步",Finish:"结束导览"},Popconfirm:{cancelText:"取消",okText:"确定"},Transfer:{titles:["",""],searchPlaceholder:"请输入搜索内容",itemUnit:"项",itemsUnit:"项",remove:"删除",selectCurrent:"全选当页",removeCurrent:"删除当页",selectAll:"全选所有",deselectAll:"取消全选",removeAll:"删除全部",selectInvert:"反选当页"},Upload:{uploading:"文件上传中",removeFile:"删除文件",uploadError:"上传错误",previewFile:"预览文件",downloadFile:"下载文件"},Empty:{description:"暂无数据"},Icon:{icon:"图标"},Text:{edit:"编辑",copy:"复制",copied:"复制成功",expand:"展开",collapse:"收起"},Form:{optional:"(可选)",defaultValidateMessages:{default:"字段验证错误${label}",required:"请输入${label}",enum:"${label}必须是其中一个[${enum}]",whitespace:"${label}不能为空字符",date:{format:"${label}日期格式无效",parse:"${label}不能转换为日期",invalid:"${label}是一个无效日期"},types:{string:Cc,method:Cc,array:Cc,object:Cc,number:Cc,date:Cc,boolean:Cc,integer:Cc,float:Cc,regexp:Cc,email:Cc,url:Cc,hex:Cc},string:{len:"${label}须为${len}个字符",min:"${label}最少${min}个字符",max:"${label}最多${max}个字符",range:"${label}须在${min}-${max}字符之间"},number:{len:"${label}必须等于${len}",min:"${label}最小值为${min}",max:"${label}最大值为${max}",range:"${label}须在${min}-${max}之间"},array:{len:"须为${len}个${label}",min:"最少${min}个${label}",max:"最多${max}个${label}",range:"${label}数量须在${min}-${max}之间"},pattern:{mismatch:"${label}与模式不匹配${pattern}"}}},Image:{preview:"预览"},QRCode:{expired:"二维码过期",refresh:"点击刷新",scanned:"已扫描"},ColorPicker:{presetEmpty:"暂无"}};YE.default=dUe;var hUe=YE;const mUe=yl(hUe);function fUe(){if(console&&console.warn){for(var n=arguments.length,e=new Array(n),t=0;t()=>{if(n.isInitialized)e();else{const t=()=>{setTimeout(()=>{n.off("initialized",t)},0),e()};n.on("initialized",t)}};function Yue(n,e,t){n.loadNamespaces(e,Hue(n,t))}function Uue(n,e,t,i){typeof t=="string"&&(t=[t]),t.forEach(r=>{n.options.ns.indexOf(r)<0&&n.options.ns.push(r)}),n.loadLanguages(e,Hue(n,i))}function gUe(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=e.languages[0],r=e.options?e.options.fallbackLng:!1,o=e.languages[e.languages.length-1];if(i.toLowerCase()==="cimode")return!0;const s=(a,l)=>{const u=e.services.backendConnector.state[`${a}|${l}`];return u===-1||u===2};return t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&e.services.backendConnector.backend&&e.isLanguageChangingTo&&!s(e.isLanguageChangingTo,n)?!1:!!(e.hasResourceBundle(i,n)||!e.services.backendConnector.backend||e.options.resources&&!e.options.partialBundledLanguages||s(i,n)&&(!r||s(o,n)))}function pUe(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!e.languages||!e.languages.length?(XO("i18n.languages were undefined or empty",e.languages),!0):e.options.ignoreJSONStructure!==void 0?e.hasLoadedNamespace(n,{lng:t.lng,precheck:(r,o)=>{if(t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&r.services.backendConnector.backend&&r.isLanguageChangingTo&&!o(r.isLanguageChangingTo,n))return!1}}):gUe(n,e,t)}const bUe=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,vUe={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},yUe=n=>vUe[n];let PO={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:n=>n.replace(bUe,yUe)};function CUe(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};PO={...PO,...n}}function wUe(){return PO}let Kue;function SUe(n){Kue=n}function xUe(){return Kue}const LUe={type:"3rdParty",init(n){CUe(n.options.react),SUe(n)}},_Ue=w.createContext();class FUe{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(t=>{this.usedNamespaces[t]||(this.usedNamespaces[t]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const IUe=(n,e)=>{const t=w.useRef();return w.useEffect(()=>{t.current=e?t.current:n},[n,e]),t.current};function Jue(n,e,t,i){return n.getFixedT(e,t,i)}function DUe(n,e,t,i){return w.useCallback(Jue(n,e,t,i),[n,e,t,i])}function zs(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:t}=e,{i18n:i,defaultNS:r}=w.useContext(_Ue)||{},o=t||i||xUe();if(o&&!o.reportNamespaces&&(o.reportNamespaces=new FUe),!o){XO("You will need to pass in an i18next instance by using initReactI18next");const x=(F,D)=>typeof D=="string"?D:D&&typeof D=="object"&&typeof D.defaultValue=="string"?D.defaultValue:Array.isArray(F)?F[F.length-1]:F,_=[x,{},!1];return _.t=x,_.i18n={},_.ready=!1,_}o.options.react&&o.options.react.wait!==void 0&&XO("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const s={...wUe(),...o.options.react,...e},{useSuspense:a,keyPrefix:l}=s;let u=n||r||o.options&&o.options.defaultNS;u=typeof u=="string"?[u]:u||["translation"],o.reportNamespaces.addUsedNamespaces&&o.reportNamespaces.addUsedNamespaces(u);const c=(o.isInitialized||o.initializedStoreOnce)&&u.every(x=>pUe(x,o,s)),d=DUe(o,e.lng||null,s.nsMode==="fallback"?u:u[0],l),h=()=>d,m=()=>Jue(o,e.lng||null,s.nsMode==="fallback"?u:u[0],l),[f,g]=w.useState(h);let b=u.join();e.lng&&(b=`${e.lng}${b}`);const v=IUe(b),C=w.useRef(!0);w.useEffect(()=>{const{bindI18n:x,bindI18nStore:_}=s;C.current=!0,!c&&!a&&(e.lng?Uue(o,e.lng,u,()=>{C.current&&g(m)}):Yue(o,u,()=>{C.current&&g(m)})),c&&v&&v!==b&&C.current&&g(m);function F(){C.current&&g(m)}return x&&o&&o.on(x,F),_&&o&&o.store.on(_,F),()=>{C.current=!1,x&&o&&x.split(" ").forEach(D=>o.off(D,F)),_&&o&&_.split(" ").forEach(D=>o.store.off(D,F))}},[o,b]),w.useEffect(()=>{C.current&&c&&g(h)},[o,l,c]);const S=[f,o,c];if(S.t=f,S.i18n=o,S.ready=c,c||!c&&!a)return S;throw new Promise(x=>{e.lng?Uue(o,e.lng,u,()=>x()):Yue(o,u,()=>x())})}var MUe={BASE_URL:"/",MODE:"package",DEV:!1,PROD:!0,SSR:!1};const jue=n=>{let e;const t=new Set,i=(c,d)=>{const h=typeof c=="function"?c(e):c;if(!Object.is(h,e)){const m=e;e=d??(typeof h!="object"||h===null)?h:Object.assign({},e,h),t.forEach(f=>f(e,m))}},r=()=>e,l={setState:i,getState:r,getInitialState:()=>u,subscribe:c=>(t.add(c),()=>t.delete(c)),destroy:()=>{t.clear()}},u=e=n(i,r,l);return l},kUe=n=>n?jue(n):jue;var Que={exports:{}},OO={},BO={exports:{}},zO={};/** + `]:{zIndex:10,width:i,margin:`0 ${Ee(n.marginXXS)}`,fontSize:i,cursor:"pointer",transition:`all ${n.motionDurationSlow}`,color:r,"&:hover":{color:r},svg:{verticalAlign:"baseline"}}},[`${a}-thumbnail, ${a}-thumbnail img`]:{position:"static",display:"block",width:"100%",height:"100%",objectFit:"contain"},[`${a}-name`]:{display:"none",textAlign:"center"},[`${a}-file + ${a}-name`]:{position:"absolute",bottom:n.margin,display:"block",width:`calc(100% - ${Ee(o(n.paddingXS).mul(2).equal())})`},[`${a}-uploading`]:{[`&${a}`]:{backgroundColor:n.colorFillAlter},[`&::before, ${t}-eye, ${t}-download, ${t}-delete`]:{display:"none"}},[`${a}-progress`]:{bottom:n.marginXL,width:`calc(100% - ${Ee(o(n.paddingXS).mul(2).equal())})`,paddingInlineStart:0}}}),[`${e}-wrapper${e}-picture-circle-wrapper`]:{[`${e}${e}-select`]:{borderRadius:"50%"}}}},a7e=n=>{const{componentCls:e}=n;return{[`${e}-rtl`]:{direction:"rtl"}}},l7e=n=>{const{componentCls:e,colorTextDisabled:t}=n;return{[`${e}-wrapper`]:Object.assign(Object.assign({},uo(n)),{[e]:{outline:0,"input[type='file']":{cursor:"pointer"}},[`${e}-select`]:{display:"inline-block"},[`${e}-disabled`]:{color:t,cursor:"not-allowed"}})}},u7e=Ho("Upload",n=>{const{fontSizeHeading3:e,fontHeight:t,lineWidth:i,controlHeightLG:r,calc:o}=n,s=Yi(n,{uploadThumbnailSize:o(e).mul(2).equal(),uploadProgressOffset:o(o(t).div(2)).add(i).equal(),uploadPicCardSize:o(r).mul(2.55).equal()});return[l7e(s),n7e(s),o7e(s),s7e(s),i7e(s),r7e(s),a7e(s),mP(s)]},n=>({actionsColor:n.colorTextDescription}));var c7e={icon:function(e,t){return{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M534 352V136H232v752h560V394H576a42 42 0 01-42-42z",fill:t}},{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0042 42h216v494z",fill:e}}]}},name:"file",theme:"twotone"};const d7e=c7e;var h7e=function(e,t){return S.createElement(wo,pt({},e,{ref:t,icon:d7e}))},m7e=S.forwardRef(h7e);const f7e=m7e;var g7e={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M779.3 196.6c-94.2-94.2-247.6-94.2-341.7 0l-261 260.8c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0012.7 0l261-260.8c32.4-32.4 75.5-50.2 121.3-50.2s88.9 17.8 121.2 50.2c32.4 32.4 50.2 75.5 50.2 121.2 0 45.8-17.8 88.8-50.2 121.2l-266 265.9-43.1 43.1c-40.3 40.3-105.8 40.3-146.1 0-19.5-19.5-30.2-45.4-30.2-73s10.7-53.5 30.2-73l263.9-263.8c6.7-6.6 15.5-10.3 24.9-10.3h.1c9.4 0 18.1 3.7 24.7 10.3 6.7 6.7 10.3 15.5 10.3 24.9 0 9.3-3.7 18.1-10.3 24.7L372.4 653c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0012.7 0l215.6-215.6c19.9-19.9 30.8-46.3 30.8-74.4s-11-54.6-30.8-74.4c-41.1-41.1-107.9-41-149 0L463 364 224.8 602.1A172.22 172.22 0 00174 724.8c0 46.3 18.1 89.8 50.8 122.5 33.9 33.8 78.3 50.7 122.7 50.7 44.4 0 88.8-16.9 122.6-50.7l309.2-309C824.8 492.7 850 432 850 367.5c.1-64.6-25.1-125.3-70.7-170.9z"}}]},name:"paper-clip",theme:"outlined"};const p7e=g7e;var b7e=function(e,t){return S.createElement(wo,pt({},e,{ref:t,icon:p7e}))},y7e=S.forwardRef(b7e);const v7e=y7e;var C7e={icon:function(e,t){return{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136v-39.9l138.5-164.3 150.1 178L658.1 489 888 761.6V792zm0-129.8L664.2 396.8c-3.2-3.8-9-3.8-12.2 0L424.6 666.4l-144-170.7c-3.2-3.8-9-3.8-12.2 0L136 652.7V232h752v430.2z",fill:e}},{tag:"path",attrs:{d:"M424.6 765.8l-150.1-178L136 752.1V792h752v-30.4L658.1 489z",fill:t}},{tag:"path",attrs:{d:"M136 652.7l132.4-157c3.2-3.8 9-3.8 12.2 0l144 170.7L652 396.8c3.2-3.8 9-3.8 12.2 0L888 662.2V232H136v420.7zM304 280a88 88 0 110 176 88 88 0 010-176z",fill:t}},{tag:"path",attrs:{d:"M276 368a28 28 0 1056 0 28 28 0 10-56 0z",fill:t}},{tag:"path",attrs:{d:"M304 456a88 88 0 100-176 88 88 0 000 176zm0-116c15.5 0 28 12.5 28 28s-12.5 28-28 28-28-12.5-28-28 12.5-28 28-28z",fill:e}}]}},name:"picture",theme:"twotone"};const S7e=C7e;var w7e=function(e,t){return S.createElement(wo,pt({},e,{ref:t,icon:S7e}))},x7e=S.forwardRef(w7e);const _7e=x7e;function VE(n){return Object.assign(Object.assign({},n),{lastModified:n.lastModified,lastModifiedDate:n.lastModifiedDate,name:n.name,size:n.size,type:n.type,uid:n.uid,percent:0,originFileObj:n})}function GE(n,e){const t=Lt(e),i=t.findIndex(r=>{let{uid:o}=r;return o===n.uid});return i===-1?t.push(n):t[i]=n,t}function VO(n,e){const t=n.uid!==void 0?"uid":"name";return e.filter(i=>i[t]===n[t])[0]}function L7e(n,e){const t=n.uid!==void 0?"uid":"name",i=e.filter(r=>r[t]!==n[t]);return i.length===e.length?null:i}const I7e=function(){const e=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:"").split("/"),i=e[e.length-1].split(/#|\?/)[0];return(/\.[^./\\]*$/.exec(i)||[""])[0]},Gue=n=>n.indexOf("image/")===0,F7e=n=>{if(n.type&&!n.thumbUrl)return Gue(n.type);const e=n.thumbUrl||n.url||"",t=I7e(e);return/^data:image\//.test(e)||/(webp|svg|png|gif|jpg|jpeg|jfif|bmp|dpg|ico|heic|heif)$/i.test(t)?!0:!(/^data:/.test(e)||t)},yb=200;function D7e(n){return new Promise(e=>{if(!n.type||!Gue(n.type)){e("");return}const t=document.createElement("canvas");t.width=yb,t.height=yb,t.style.cssText=`position: fixed; left: 0; top: 0; width: ${yb}px; height: ${yb}px; z-index: 9999; display: none;`,document.body.appendChild(t);const i=t.getContext("2d"),r=new Image;if(r.onload=()=>{const{width:o,height:s}=r;let a=yb,l=yb,u=0,c=0;o>s?(l=s*(yb/o),c=-(l-a)/2):(a=o*(yb/s),u=-(a-l)/2),i.drawImage(r,u,c,a,l);const d=t.toDataURL();document.body.removeChild(t),window.URL.revokeObjectURL(r.src),e(d)},r.crossOrigin="anonymous",n.type.startsWith("image/svg+xml")){const o=new FileReader;o.onload=()=>{o.result&&typeof o.result=="string"&&(r.src=o.result)},o.readAsDataURL(n)}else if(n.type.startsWith("image/gif")){const o=new FileReader;o.onload=()=>{o.result&&e(o.result)},o.readAsDataURL(n)}else r.src=window.URL.createObjectURL(n)})}var N7e={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M505.7 661a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"download",theme:"outlined"};const M7e=N7e;var k7e=function(e,t){return S.createElement(wo,pt({},e,{ref:t,icon:M7e}))},T7e=S.forwardRef(k7e);const E7e=T7e,R7e=S.forwardRef((n,e)=>{let{prefixCls:t,className:i,style:r,locale:o,listType:s,file:a,items:l,progress:u,iconRender:c,actionIconRender:d,itemRender:h,isImgUrl:m,showPreviewIcon:f,showRemoveIcon:g,showDownloadIcon:b,previewIcon:y,removeIcon:C,downloadIcon:w,onPreview:x,onDownload:L,onClose:I}=n;var D,N;const{status:T}=a,[R,E]=S.useState(T);S.useEffect(()=>{T!=="removed"&&E(T)},[T]);const[W,Z]=S.useState(!1);S.useEffect(()=>{const pe=setTimeout(()=>{Z(!0)},300);return()=>{clearTimeout(pe)}},[]);const V=c(a);let z=S.createElement("div",{className:`${t}-icon`},V);if(s==="picture"||s==="picture-card"||s==="picture-circle")if(R==="uploading"||!a.thumbUrl&&!a.url){const pe=Te(`${t}-list-item-thumbnail`,{[`${t}-list-item-file`]:R!=="uploading"});z=S.createElement("div",{className:pe},V)}else{const pe=m!=null&&m(a)?S.createElement("img",{src:a.thumbUrl||a.url,alt:a.name,className:`${t}-list-item-image`,crossOrigin:a.crossOrigin}):V,ce=Te(`${t}-list-item-thumbnail`,{[`${t}-list-item-file`]:m&&!m(a)});z=S.createElement("a",{className:ce,onClick:De=>x(a,De),href:a.url||a.thumbUrl,target:"_blank",rel:"noopener noreferrer"},pe)}const O=Te(`${t}-list-item`,`${t}-list-item-${R}`),B=typeof a.linkProps=="string"?JSON.parse(a.linkProps):a.linkProps,P=g?d((typeof C=="function"?C(a):C)||S.createElement(P6e,null),()=>I(a),t,o.removeFile,!0):null,H=b&&R==="done"?d((typeof w=="function"?w(a):w)||S.createElement(E7e,null),()=>L(a),t,o.downloadFile):null,M=s!=="picture-card"&&s!=="picture-circle"&&S.createElement("span",{key:"download-delete",className:Te(`${t}-list-item-actions`,{picture:s==="picture"})},H,P),X=Te(`${t}-list-item-name`),Y=a.url?[S.createElement("a",Object.assign({key:"view",target:"_blank",rel:"noopener noreferrer",className:X,title:a.name},B,{href:a.url,onClick:pe=>x(a,pe)}),a.name),M]:[S.createElement("span",{key:"view",className:X,onClick:pe=>x(a,pe),title:a.name},a.name),M],A=f&&(a.url||a.thumbUrl)?S.createElement("a",{href:a.url||a.thumbUrl,target:"_blank",rel:"noopener noreferrer",onClick:pe=>x(a,pe),title:o.previewFile},typeof y=="function"?y(a):y||S.createElement(Ule,null)):null,te=(s==="picture-card"||s==="picture-circle")&&R!=="uploading"&&S.createElement("span",{className:`${t}-list-item-actions`},A,R==="done"&&H,P),{getPrefixCls:oe}=S.useContext(Wn),ae=oe(),le=S.createElement("div",{className:O},z,Y,te,W&&S.createElement(ld,{motionName:`${ae}-fade`,visible:R==="uploading",motionDeadline:2e3},pe=>{let{className:ce}=pe;const De="percent"in a?S.createElement(W6e,Object.assign({},u,{type:"line",percent:a.percent,"aria-label":a["aria-label"],"aria-labelledby":a["aria-labelledby"]})):null;return S.createElement("div",{className:Te(`${t}-list-item-progress`,ce)},De)})),ue=a.response&&typeof a.response=="string"?a.response:((D=a.error)===null||D===void 0?void 0:D.statusText)||((N=a.error)===null||N===void 0?void 0:N.message)||o.uploadError,Ce=R==="error"?S.createElement(sg,{title:ue,getPopupContainer:pe=>pe.parentNode},le):le;return S.createElement("div",{className:Te(`${t}-list-item-container`,i),style:r,ref:e},h?h(Ce,a,l,{download:L.bind(null,a),preview:x.bind(null,a),remove:I.bind(null,a)}):Ce)}),Z7e=(n,e)=>{const{listType:t="text",previewFile:i=D7e,onPreview:r,onDownload:o,onRemove:s,locale:a,iconRender:l,isImageUrl:u=F7e,prefixCls:c,items:d=[],showPreviewIcon:h=!0,showRemoveIcon:m=!0,showDownloadIcon:f=!1,removeIcon:g,previewIcon:b,downloadIcon:y,progress:C={size:[-1,2],showInfo:!1},appendAction:w,appendActionVisible:x=!0,itemRender:L,disabled:I}=n,D=IXe(),[N,T]=S.useState(!1);S.useEffect(()=>{t!=="picture"&&t!=="picture-card"&&t!=="picture-circle"||(d||[]).forEach(A=>{typeof document>"u"||typeof window>"u"||!window.FileReader||!window.File||!(A.originFileObj instanceof File||A.originFileObj)||A.thumbUrl!==void 0||i&&i(A.originFileObj).then(te=>{A.thumbUrl=te||"",D()})})},[t,d,i]),S.useEffect(()=>{T(!0)},[]);const R=(A,te)=>{if(r)return te==null||te.preventDefault(),r(A)},E=A=>{typeof o=="function"?o(A):A.url&&window.open(A.url)},W=A=>{s==null||s(A)},Z=A=>{if(l)return l(A,t);const te=A.status==="uploading",oe=u&&u(A)?S.createElement(_7e,null):S.createElement(f7e,null);let ae=te?S.createElement(iS,null):S.createElement(v7e,null);return t==="picture"?ae=te?S.createElement(iS,null):oe:(t==="picture-card"||t==="picture-circle")&&(ae=te?a.uploading:oe),ae},V=(A,te,oe,ae,le)=>{const ue={type:"text",size:"small",title:ae,onClick:Ce=>{var pe,ce;te(),S.isValidElement(A)&&((ce=(pe=A.props).onClick)===null||ce===void 0||ce.call(pe,Ce))},className:`${oe}-list-item-action`};if(le&&(ue.disabled=I),S.isValidElement(A)){const Ce=eu(A,Object.assign(Object.assign({},A.props),{onClick:()=>{}}));return S.createElement(jr,Object.assign({},ue,{icon:Ce}))}return S.createElement(jr,Object.assign({},ue),S.createElement("span",null,A))};S.useImperativeHandle(e,()=>({handlePreview:R,handleDownload:E}));const{getPrefixCls:z}=S.useContext(Wn),O=z("upload",c),B=z(),P=Te(`${O}-list`,`${O}-list-${t}`),H=Lt(d.map(A=>({key:A.uid,file:A})));let X={motionDeadline:2e3,motionName:`${O}-${t==="picture-card"||t==="picture-circle"?"animate-inline":"animate"}`,keys:H,motionAppear:N};const Y=S.useMemo(()=>{const A=Object.assign({},kT(B));return delete A.onAppearEnd,delete A.onEnterEnd,delete A.onLeaveEnd,A},[B]);return t!=="picture-card"&&t!=="picture-circle"&&(X=Object.assign(Object.assign({},Y),X)),S.createElement("div",{className:P},S.createElement(F4,Object.assign({},X,{component:!1}),A=>{let{key:te,file:oe,className:ae,style:le}=A;return S.createElement(R7e,{key:te,locale:a,prefixCls:O,className:ae,style:le,file:oe,items:d,progress:C,listType:t,isImgUrl:u,showPreviewIcon:h,showRemoveIcon:m,showDownloadIcon:f,removeIcon:g,previewIcon:b,downloadIcon:y,iconRender:Z,actionIconRender:V,itemRender:L,onPreview:R,onDownload:E,onClose:W})}),w&&S.createElement(ld,Object.assign({},X,{visible:x,forceRender:!0}),A=>{let{className:te,style:oe}=A;return eu(w,ae=>({className:Te(ae.className,te),style:Object.assign(Object.assign(Object.assign({},oe),{pointerEvents:te?"none":void 0}),ae.style)}))}))},W7e=S.forwardRef(Z7e);var A7e=function(n,e,t,i){function r(o){return o instanceof t?o:new t(function(s){s(o)})}return new(t||(t=Promise))(function(o,s){function a(c){try{u(i.next(c))}catch(d){s(d)}}function l(c){try{u(i.throw(c))}catch(d){s(d)}}function u(c){c.done?o(c.value):r(c.value).then(a,l)}u((i=i.apply(n,e||[])).next())})};const XE=`__LIST_IGNORE_${Date.now()}__`,V7e=(n,e)=>{const{fileList:t,defaultFileList:i,onRemove:r,showUploadList:o=!0,listType:s="text",onPreview:a,onDownload:l,onChange:u,onDrop:c,previewFile:d,disabled:h,locale:m,iconRender:f,isImageUrl:g,progress:b,prefixCls:y,className:C,type:w="select",children:x,style:L,itemRender:I,maxCount:D,data:N={},multiple:T=!1,hasControlInside:R=!0,action:E="",accept:W="",supportServerRender:Z=!0,rootClassName:V}=n,z=S.useContext(oh),O=h??z,[B,P]=Jr(i||[],{value:t,postState:We=>We??[]}),[H,M]=S.useState("drop"),X=S.useRef(null);S.useMemo(()=>{const We=Date.now();(t||[]).forEach((ht,Ye)=>{!ht.uid&&!Object.isFrozen(ht)&&(ht.uid=`__AUTO__${We}_${Ye}__`)})},[t]);const Y=(We,ht,Ye)=>{let Ge=Lt(ht),mt=!1;D===1?Ge=Ge.slice(-1):D&&(mt=Ge.length>D,Ge=Ge.slice(0,D)),eh.flushSync(()=>{P(Ge)});const wt={file:We,fileList:Ge};Ye&&(wt.event=Ye),(!mt||We.status==="removed"||Ge.some(Kt=>Kt.uid===We.uid))&&eh.flushSync(()=>{u==null||u(wt)})},A=(We,ht)=>A7e(void 0,void 0,void 0,function*(){const{beforeUpload:Ye,transformFile:Ge}=n;let mt=We;if(Ye){const wt=yield Ye(We,ht);if(wt===!1)return!1;if(delete We[XE],wt===XE)return Object.defineProperty(We,XE,{value:!0,configurable:!0}),!1;typeof wt=="object"&&wt&&(mt=wt)}return Ge&&(mt=yield Ge(mt)),mt}),te=We=>{const ht=We.filter(mt=>!mt.file[XE]);if(!ht.length)return;const Ye=ht.map(mt=>VE(mt.file));let Ge=Lt(B);Ye.forEach(mt=>{Ge=GE(mt,Ge)}),Ye.forEach((mt,wt)=>{let Kt=mt;if(ht[wt].parsedFile)mt.status="uploading";else{const{originFileObj:Wt}=mt;let Yt;try{Yt=new File([Wt],Wt.name,{type:Wt.type})}catch{Yt=new Blob([Wt],{type:Wt.type}),Yt.name=Wt.name,Yt.lastModifiedDate=new Date,Yt.lastModified=new Date().getTime()}Yt.uid=mt.uid,Kt=Yt}Y(Kt,Ge)})},oe=(We,ht,Ye)=>{try{typeof We=="string"&&(We=JSON.parse(We))}catch{}if(!VO(ht,B))return;const Ge=VE(ht);Ge.status="done",Ge.percent=100,Ge.response=We,Ge.xhr=Ye;const mt=GE(Ge,B);Y(Ge,mt)},ae=(We,ht)=>{if(!VO(ht,B))return;const Ye=VE(ht);Ye.status="uploading",Ye.percent=We.percent;const Ge=GE(Ye,B);Y(Ye,Ge,We)},le=(We,ht,Ye)=>{if(!VO(Ye,B))return;const Ge=VE(Ye);Ge.error=We,Ge.response=ht,Ge.status="error";const mt=GE(Ge,B);Y(Ge,mt)},ue=We=>{let ht;Promise.resolve(typeof r=="function"?r(We):r).then(Ye=>{var Ge;if(Ye===!1)return;const mt=L7e(We,B);mt&&(ht=Object.assign(Object.assign({},We),{status:"removed"}),B==null||B.forEach(wt=>{const Kt=ht.uid!==void 0?"uid":"name";wt[Kt]===ht[Kt]&&!Object.isFrozen(wt)&&(wt.status="removed")}),(Ge=X.current)===null||Ge===void 0||Ge.abort(ht),Y(ht,mt))})},Ce=We=>{M(We.type),We.type==="drop"&&(c==null||c(We))};S.useImperativeHandle(e,()=>({onBatchStart:te,onSuccess:oe,onProgress:ae,onError:le,fileList:B,upload:X.current}));const{getPrefixCls:pe,direction:ce,upload:De}=S.useContext(Wn),Me=pe("upload",y),ke=Object.assign(Object.assign({onBatchStart:te,onError:le,onProgress:ae,onSuccess:oe},n),{data:N,multiple:T,action:E,accept:W,supportServerRender:Z,prefixCls:Me,disabled:O,beforeUpload:A,onChange:void 0,hasControlInside:R});delete ke.className,delete ke.style,(!x||O)&&delete ke.id;const Ue=`${Me}-wrapper`,[He,ct,yt]=u7e(Me,Ue),[it]=rb("Upload",eg.Upload),{showRemoveIcon:he,showPreviewIcon:de,showDownloadIcon:me,removeIcon:j,previewIcon:$,downloadIcon:q}=typeof o=="boolean"?{}:o,ee=typeof he>"u"?!O:!!he,ye=(We,ht)=>o?S.createElement(W7e,{prefixCls:Me,listType:s,items:B,previewFile:d,onPreview:a,onDownload:l,onRemove:ue,showRemoveIcon:ee,showPreviewIcon:de,showDownloadIcon:me,removeIcon:j,previewIcon:$,downloadIcon:q,iconRender:f,locale:Object.assign(Object.assign({},it),m),isImageUrl:g,progress:b,appendAction:We,appendActionVisible:ht,itemRender:I,disabled:O}):We,_e=Te(Ue,C,V,ct,yt,De==null?void 0:De.className,{[`${Me}-rtl`]:ce==="rtl",[`${Me}-picture-card-wrapper`]:s==="picture-card",[`${Me}-picture-circle-wrapper`]:s==="picture-circle"}),Ne=Object.assign(Object.assign({},De==null?void 0:De.style),L);if(w==="drag"){const We=Te(ct,Me,`${Me}-drag`,{[`${Me}-drag-uploading`]:B.some(ht=>ht.status==="uploading"),[`${Me}-drag-hover`]:H==="dragover",[`${Me}-disabled`]:O,[`${Me}-rtl`]:ce==="rtl"});return He(S.createElement("span",{className:_e},S.createElement("div",{className:We,style:Ne,onDrop:Ce,onDragOver:Ce,onDragLeave:Ce},S.createElement(AO,Object.assign({},ke,{ref:X,className:`${Me}-btn`}),S.createElement("div",{className:`${Me}-drag-container`},x))),ye()))}const Be=Te(Me,`${Me}-select`,{[`${Me}-disabled`]:O}),$e=S.createElement("div",{className:Be,style:x?void 0:{display:"none"}},S.createElement(AO,Object.assign({},ke,{ref:X})));return He(s==="picture-card"||s==="picture-circle"?S.createElement("span",{className:_e},ye($e,!!x)):S.createElement("span",{className:_e},$e,ye()))},GO=S.forwardRef(V7e);var PE={},Xue={exports:{}};(function(n){function e(t){return t&&t.__esModule?t:{default:t}}n.exports=e,n.exports.__esModule=!0,n.exports.default=n.exports})(Xue);var DS=Xue.exports,OE={};Object.defineProperty(OE,"__esModule",{value:!0}),OE.default=void 0;var G7e={items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"Page",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages",page_size:"Page Size"};OE.default=G7e;var BE={},TL={},zE={};Object.defineProperty(zE,"__esModule",{value:!0}),zE.default=void 0;var X7e={locale:"en_US",today:"Today",now:"Now",backToToday:"Back to today",ok:"OK",clear:"Clear",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"};zE.default=X7e;var EL={};Object.defineProperty(EL,"__esModule",{value:!0}),EL.default=void 0;const P7e={placeholder:"Select time",rangePlaceholder:["Start time","End time"]};EL.default=P7e;var Pue=DS.default;Object.defineProperty(TL,"__esModule",{value:!0}),TL.default=void 0;var O7e=Pue(zE),B7e=Pue(EL);const z7e={lang:Object.assign({placeholder:"Select date",yearPlaceholder:"Select year",quarterPlaceholder:"Select quarter",monthPlaceholder:"Select month",weekPlaceholder:"Select week",rangePlaceholder:["Start date","End date"],rangeYearPlaceholder:["Start year","End year"],rangeQuarterPlaceholder:["Start quarter","End quarter"],rangeMonthPlaceholder:["Start month","End month"],rangeWeekPlaceholder:["Start week","End week"]},O7e.default),timePickerLocale:Object.assign({},B7e.default)};TL.default=z7e;var H7e=DS.default;Object.defineProperty(BE,"__esModule",{value:!0}),BE.default=void 0;var Y7e=H7e(TL);BE.default=Y7e.default;var HE=DS.default;Object.defineProperty(PE,"__esModule",{value:!0}),PE.default=void 0;var U7e=HE(OE),K7e=HE(BE),J7e=HE(TL),j7e=HE(EL);const vc="${label} is not a valid ${type}",Q7e={locale:"en",Pagination:U7e.default,DatePicker:J7e.default,TimePicker:j7e.default,Calendar:K7e.default,global:{placeholder:"Please select"},Table:{filterTitle:"Filter menu",filterConfirm:"OK",filterReset:"Reset",filterEmptyText:"No filters",filterCheckall:"Select all items",filterSearchPlaceholder:"Search in filters",emptyText:"No data",selectAll:"Select current page",selectInvert:"Invert current page",selectNone:"Clear all data",selectionAll:"Select all data",sortTitle:"Sort",expand:"Expand row",collapse:"Collapse row",triggerDesc:"Click to sort descending",triggerAsc:"Click to sort ascending",cancelSort:"Click to cancel sorting"},Tour:{Next:"Next",Previous:"Previous",Finish:"Finish"},Modal:{okText:"OK",cancelText:"Cancel",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Cancel"},Transfer:{titles:["",""],searchPlaceholder:"Search here",itemUnit:"item",itemsUnit:"items",remove:"Remove",selectCurrent:"Select current page",removeCurrent:"Remove current page",selectAll:"Select all data",deselectAll:"Deselect all data",removeAll:"Remove all data",selectInvert:"Invert current page"},Upload:{uploading:"Uploading...",removeFile:"Remove file",uploadError:"Upload error",previewFile:"Preview file",downloadFile:"Download file"},Empty:{description:"No data"},Icon:{icon:"icon"},Text:{edit:"Edit",copy:"Copy",copied:"Copied",expand:"Expand",collapse:"Collapse"},Form:{optional:"(optional)",defaultValidateMessages:{default:"Field validation error for ${label}",required:"Please enter ${label}",enum:"${label} must be one of [${enum}]",whitespace:"${label} cannot be a blank character",date:{format:"${label} date format is invalid",parse:"${label} cannot be converted to a date",invalid:"${label} is an invalid date"},types:{string:vc,method:vc,array:vc,object:vc,number:vc,date:vc,boolean:vc,integer:vc,float:vc,regexp:vc,email:vc,url:vc,hex:vc},string:{len:"${label} must be ${len} characters",min:"${label} must be at least ${min} characters",max:"${label} must be up to ${max} characters",range:"${label} must be between ${min}-${max} characters"},number:{len:"${label} must be equal to ${len}",min:"${label} must be minimum ${min}",max:"${label} must be maximum ${max}",range:"${label} must be between ${min}-${max}"},array:{len:"Must be ${len} ${label}",min:"At least ${min} ${label}",max:"At most ${max} ${label}",range:"The amount of ${label} must be between ${min}-${max}"},pattern:{mismatch:"${label} does not match the pattern ${pattern}"}}},Image:{preview:"Preview"},QRCode:{expired:"QR code expired",refresh:"Refresh",scanned:"Scanned"},ColorPicker:{presetEmpty:"Empty"}};PE.default=Q7e;var $7e=PE;const q7e=vl($7e);var YE={},UE={};Object.defineProperty(UE,"__esModule",{value:!0}),UE.default=void 0;var eUe={items_per_page:"条/页",jump_to:"跳至",jump_to_confirm:"确定",page:"页",prev_page:"上一页",next_page:"下一页",prev_5:"向前 5 页",next_5:"向后 5 页",prev_3:"向前 3 页",next_3:"向后 3 页",page_size:"页码"};UE.default=eUe;var KE={},RL={},JE={};Object.defineProperty(JE,"__esModule",{value:!0}),JE.default=void 0;var tUe={locale:"zh_CN",yearFormat:"YYYY年",cellDateFormat:"D",cellMeridiemFormat:"A",today:"今天",now:"此刻",backToToday:"返回今天",ok:"确定",timeSelect:"选择时间",dateSelect:"选择日期",weekSelect:"选择周",clear:"清除",month:"月",year:"年",previousMonth:"上个月 (翻页上键)",nextMonth:"下个月 (翻页下键)",monthSelect:"选择月份",yearSelect:"选择年份",decadeSelect:"选择年代",previousYear:"上一年 (Control键加左方向键)",nextYear:"下一年 (Control键加右方向键)",previousDecade:"上一年代",nextDecade:"下一年代",previousCentury:"上一世纪",nextCentury:"下一世纪"};JE.default=tUe;var ZL={};Object.defineProperty(ZL,"__esModule",{value:!0}),ZL.default=void 0;const nUe={placeholder:"请选择时间",rangePlaceholder:["开始时间","结束时间"]};ZL.default=nUe;var Oue=DS.default;Object.defineProperty(RL,"__esModule",{value:!0}),RL.default=void 0;var iUe=Oue(JE),rUe=Oue(ZL);const Bue={lang:Object.assign({placeholder:"请选择日期",yearPlaceholder:"请选择年份",quarterPlaceholder:"请选择季度",monthPlaceholder:"请选择月份",weekPlaceholder:"请选择周",rangePlaceholder:["开始日期","结束日期"],rangeYearPlaceholder:["开始年份","结束年份"],rangeMonthPlaceholder:["开始月份","结束月份"],rangeQuarterPlaceholder:["开始季度","结束季度"],rangeWeekPlaceholder:["开始周","结束周"]},iUe.default),timePickerLocale:Object.assign({},rUe.default)};Bue.lang.ok="确定",RL.default=Bue;var oUe=DS.default;Object.defineProperty(KE,"__esModule",{value:!0}),KE.default=void 0;var sUe=oUe(RL);KE.default=sUe.default;var jE=DS.default;Object.defineProperty(YE,"__esModule",{value:!0}),YE.default=void 0;var aUe=jE(UE),lUe=jE(KE),uUe=jE(RL),cUe=jE(ZL);const Cc="${label}不是一个有效的${type}",dUe={locale:"zh-cn",Pagination:aUe.default,DatePicker:uUe.default,TimePicker:cUe.default,Calendar:lUe.default,global:{placeholder:"请选择"},Table:{filterTitle:"筛选",filterConfirm:"确定",filterReset:"重置",filterEmptyText:"无筛选项",filterCheckall:"全选",filterSearchPlaceholder:"在筛选项中搜索",emptyText:"暂无数据",selectAll:"全选当页",selectInvert:"反选当页",selectNone:"清空所有",selectionAll:"全选所有",sortTitle:"排序",expand:"展开行",collapse:"关闭行",triggerDesc:"点击降序",triggerAsc:"点击升序",cancelSort:"取消排序"},Modal:{okText:"确定",cancelText:"取消",justOkText:"知道了"},Tour:{Next:"下一步",Previous:"上一步",Finish:"结束导览"},Popconfirm:{cancelText:"取消",okText:"确定"},Transfer:{titles:["",""],searchPlaceholder:"请输入搜索内容",itemUnit:"项",itemsUnit:"项",remove:"删除",selectCurrent:"全选当页",removeCurrent:"删除当页",selectAll:"全选所有",deselectAll:"取消全选",removeAll:"删除全部",selectInvert:"反选当页"},Upload:{uploading:"文件上传中",removeFile:"删除文件",uploadError:"上传错误",previewFile:"预览文件",downloadFile:"下载文件"},Empty:{description:"暂无数据"},Icon:{icon:"图标"},Text:{edit:"编辑",copy:"复制",copied:"复制成功",expand:"展开",collapse:"收起"},Form:{optional:"(可选)",defaultValidateMessages:{default:"字段验证错误${label}",required:"请输入${label}",enum:"${label}必须是其中一个[${enum}]",whitespace:"${label}不能为空字符",date:{format:"${label}日期格式无效",parse:"${label}不能转换为日期",invalid:"${label}是一个无效日期"},types:{string:Cc,method:Cc,array:Cc,object:Cc,number:Cc,date:Cc,boolean:Cc,integer:Cc,float:Cc,regexp:Cc,email:Cc,url:Cc,hex:Cc},string:{len:"${label}须为${len}个字符",min:"${label}最少${min}个字符",max:"${label}最多${max}个字符",range:"${label}须在${min}-${max}字符之间"},number:{len:"${label}必须等于${len}",min:"${label}最小值为${min}",max:"${label}最大值为${max}",range:"${label}须在${min}-${max}之间"},array:{len:"须为${len}个${label}",min:"最少${min}个${label}",max:"最多${max}个${label}",range:"${label}数量须在${min}-${max}之间"},pattern:{mismatch:"${label}与模式不匹配${pattern}"}}},Image:{preview:"预览"},QRCode:{expired:"二维码过期",refresh:"点击刷新",scanned:"已扫描"},ColorPicker:{presetEmpty:"暂无"}};YE.default=dUe;var hUe=YE;const mUe=vl(hUe);function fUe(){if(console&&console.warn){for(var n=arguments.length,e=new Array(n),t=0;t()=>{if(n.isInitialized)e();else{const t=()=>{setTimeout(()=>{n.off("initialized",t)},0),e()};n.on("initialized",t)}};function Yue(n,e,t){n.loadNamespaces(e,Hue(n,t))}function Uue(n,e,t,i){typeof t=="string"&&(t=[t]),t.forEach(r=>{n.options.ns.indexOf(r)<0&&n.options.ns.push(r)}),n.loadLanguages(e,Hue(n,i))}function gUe(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=e.languages[0],r=e.options?e.options.fallbackLng:!1,o=e.languages[e.languages.length-1];if(i.toLowerCase()==="cimode")return!0;const s=(a,l)=>{const u=e.services.backendConnector.state[`${a}|${l}`];return u===-1||u===2};return t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&e.services.backendConnector.backend&&e.isLanguageChangingTo&&!s(e.isLanguageChangingTo,n)?!1:!!(e.hasResourceBundle(i,n)||!e.services.backendConnector.backend||e.options.resources&&!e.options.partialBundledLanguages||s(i,n)&&(!r||s(o,n)))}function pUe(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!e.languages||!e.languages.length?(XO("i18n.languages were undefined or empty",e.languages),!0):e.options.ignoreJSONStructure!==void 0?e.hasLoadedNamespace(n,{lng:t.lng,precheck:(r,o)=>{if(t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&r.services.backendConnector.backend&&r.isLanguageChangingTo&&!o(r.isLanguageChangingTo,n))return!1}}):gUe(n,e,t)}const bUe=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,yUe={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},vUe=n=>yUe[n];let PO={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:n=>n.replace(bUe,vUe)};function CUe(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};PO={...PO,...n}}function SUe(){return PO}let Kue;function wUe(n){Kue=n}function xUe(){return Kue}const _Ue={type:"3rdParty",init(n){CUe(n.options.react),wUe(n)}},LUe=S.createContext();class IUe{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(t=>{this.usedNamespaces[t]||(this.usedNamespaces[t]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const FUe=(n,e)=>{const t=S.useRef();return S.useEffect(()=>{t.current=e?t.current:n},[n,e]),t.current};function Jue(n,e,t,i){return n.getFixedT(e,t,i)}function DUe(n,e,t,i){return S.useCallback(Jue(n,e,t,i),[n,e,t,i])}function zs(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:t}=e,{i18n:i,defaultNS:r}=S.useContext(LUe)||{},o=t||i||xUe();if(o&&!o.reportNamespaces&&(o.reportNamespaces=new IUe),!o){XO("You will need to pass in an i18next instance by using initReactI18next");const x=(I,D)=>typeof D=="string"?D:D&&typeof D=="object"&&typeof D.defaultValue=="string"?D.defaultValue:Array.isArray(I)?I[I.length-1]:I,L=[x,{},!1];return L.t=x,L.i18n={},L.ready=!1,L}o.options.react&&o.options.react.wait!==void 0&&XO("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const s={...SUe(),...o.options.react,...e},{useSuspense:a,keyPrefix:l}=s;let u=n||r||o.options&&o.options.defaultNS;u=typeof u=="string"?[u]:u||["translation"],o.reportNamespaces.addUsedNamespaces&&o.reportNamespaces.addUsedNamespaces(u);const c=(o.isInitialized||o.initializedStoreOnce)&&u.every(x=>pUe(x,o,s)),d=DUe(o,e.lng||null,s.nsMode==="fallback"?u:u[0],l),h=()=>d,m=()=>Jue(o,e.lng||null,s.nsMode==="fallback"?u:u[0],l),[f,g]=S.useState(h);let b=u.join();e.lng&&(b=`${e.lng}${b}`);const y=FUe(b),C=S.useRef(!0);S.useEffect(()=>{const{bindI18n:x,bindI18nStore:L}=s;C.current=!0,!c&&!a&&(e.lng?Uue(o,e.lng,u,()=>{C.current&&g(m)}):Yue(o,u,()=>{C.current&&g(m)})),c&&y&&y!==b&&C.current&&g(m);function I(){C.current&&g(m)}return x&&o&&o.on(x,I),L&&o&&o.store.on(L,I),()=>{C.current=!1,x&&o&&x.split(" ").forEach(D=>o.off(D,I)),L&&o&&L.split(" ").forEach(D=>o.store.off(D,I))}},[o,b]),S.useEffect(()=>{C.current&&c&&g(h)},[o,l,c]);const w=[f,o,c];if(w.t=f,w.i18n=o,w.ready=c,c||!c&&!a)return w;throw new Promise(x=>{e.lng?Uue(o,e.lng,u,()=>x()):Yue(o,u,()=>x())})}var NUe={BASE_URL:"/",MODE:"package",DEV:!1,PROD:!0,SSR:!1};const jue=n=>{let e;const t=new Set,i=(c,d)=>{const h=typeof c=="function"?c(e):c;if(!Object.is(h,e)){const m=e;e=d??(typeof h!="object"||h===null)?h:Object.assign({},e,h),t.forEach(f=>f(e,m))}},r=()=>e,l={setState:i,getState:r,getInitialState:()=>u,subscribe:c=>(t.add(c),()=>t.delete(c)),destroy:()=>{t.clear()}},u=e=n(i,r,l);return l},MUe=n=>n?jue(n):jue;var Que={exports:{}},OO={},BO={exports:{}},zO={};/** * @license React * use-sync-external-store-shim.production.min.js * @@ -359,7 +359,7 @@ html body { * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var $ue;function NUe(){if($ue)return zO;$ue=1;var n=w;function e(d,h){return d===h&&(d!==0||1/d===1/h)||d!==d&&h!==h}var t=typeof Object.is=="function"?Object.is:e,i=n.useState,r=n.useEffect,o=n.useLayoutEffect,s=n.useDebugValue;function a(d,h){var m=h(),f=i({inst:{value:m,getSnapshot:h}}),g=f[0].inst,b=f[1];return o(function(){g.value=m,g.getSnapshot=h,l(g)&&b({inst:g})},[d,m,h]),r(function(){return l(g)&&b({inst:g}),d(function(){l(g)&&b({inst:g})})},[d]),s(m),m}function l(d){var h=d.getSnapshot;d=d.value;try{var m=h();return!t(d,m)}catch{return!0}}function u(d,h){return h()}var c=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?u:a;return zO.useSyncExternalStore=n.useSyncExternalStore!==void 0?n.useSyncExternalStore:c,zO}var que;function TUe(){return que||(que=1,BO.exports=NUe()),BO.exports}/** + */var $ue;function kUe(){if($ue)return zO;$ue=1;var n=S;function e(d,h){return d===h&&(d!==0||1/d===1/h)||d!==d&&h!==h}var t=typeof Object.is=="function"?Object.is:e,i=n.useState,r=n.useEffect,o=n.useLayoutEffect,s=n.useDebugValue;function a(d,h){var m=h(),f=i({inst:{value:m,getSnapshot:h}}),g=f[0].inst,b=f[1];return o(function(){g.value=m,g.getSnapshot=h,l(g)&&b({inst:g})},[d,m,h]),r(function(){return l(g)&&b({inst:g}),d(function(){l(g)&&b({inst:g})})},[d]),s(m),m}function l(d){var h=d.getSnapshot;d=d.value;try{var m=h();return!t(d,m)}catch{return!0}}function u(d,h){return h()}var c=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?u:a;return zO.useSyncExternalStore=n.useSyncExternalStore!==void 0?n.useSyncExternalStore:c,zO}var que;function TUe(){return que||(que=1,BO.exports=kUe()),BO.exports}/** * @license React * use-sync-external-store-shim/with-selector.production.min.js * @@ -367,7 +367,7 @@ html body { * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ece;function EUe(){if(ece)return OO;ece=1;var n=w,e=TUe();function t(u,c){return u===c&&(u!==0||1/u===1/c)||u!==u&&c!==c}var i=typeof Object.is=="function"?Object.is:t,r=e.useSyncExternalStore,o=n.useRef,s=n.useEffect,a=n.useMemo,l=n.useDebugValue;return OO.useSyncExternalStoreWithSelector=function(u,c,d,h,m){var f=o(null);if(f.current===null){var g={hasValue:!1,value:null};f.current=g}else g=f.current;f=a(function(){function v(F){if(!C){if(C=!0,S=F,F=h(F),m!==void 0&&g.hasValue){var D=g.value;if(m(D,F))return x=D}return x=F}if(D=x,i(S,F))return D;var M=h(F);return m!==void 0&&m(D,M)?D:(S=F,x=M)}var C=!1,S,x,_=d===void 0?null:d;return[function(){return v(c())},_===null?void 0:function(){return v(_())}]},[c,d,h,m]);var b=r(u,f[0],f[1]);return s(function(){g.hasValue=!0,g.value=b},[b]),l(b),b},OO}Que.exports=EUe();var ZUe=Que.exports;const WUe=yl(ZUe);var tce={BASE_URL:"/",MODE:"package",DEV:!1,PROD:!0,SSR:!1};const{useDebugValue:RUe}=ze,{useSyncExternalStoreWithSelector:VUe}=WUe;let nce=!1;const AUe=n=>n;function GUe(n,e=AUe,t){(tce?"package":void 0)!=="production"&&t&&!nce&&(nce=!0);const i=VUe(n.subscribe,n.getState,n.getServerState||n.getInitialState,e,t);return RUe(i),i}const ice=n=>{const e=typeof n=="function"?kUe(n):n,t=(i,r)=>GUe(e,i,r);return Object.assign(t,e),t},rce=n=>n?ice(n):ice;var QE={BASE_URL:"/",MODE:"package",DEV:!1,PROD:!0,SSR:!1};const HO=new Map,$E=n=>{const e=HO.get(n);return e?Object.fromEntries(Object.entries(e.stores).map(([t,i])=>[t,i.getState()])):{}},XUe=(n,e,t)=>{if(n===void 0)return{type:"untracked",connection:e.connect(t)};const i=HO.get(t.name);if(i)return{type:"tracked",store:n,...i};const r={connection:e.connect(t),stores:{}};return HO.set(t.name,r),{type:"tracked",store:n,...r}},oce=(n,e={})=>(t,i,r)=>{const{enabled:o,anonymousActionType:s,store:a,...l}=e;let u;try{u=(o??(QE?"package":void 0)!=="production")&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!u)return n(t,i,r);const{connection:c,...d}=XUe(a,u,l);let h=!0;r.setState=(g,b,v)=>{const C=t(g,b);if(!h)return C;const S=v===void 0?{type:s||"anonymous"}:typeof v=="string"?{type:v}:v;return a===void 0?(c==null||c.send(S,i()),C):(c==null||c.send({...S,type:`${a}/${S.type}`},{...$E(l.name),[a]:r.getState()}),C)};const m=(...g)=>{const b=h;h=!1,t(...g),h=b},f=n(r.setState,i,r);if(d.type==="untracked"?c==null||c.init(f):(d.stores[d.store]=r,c==null||c.init(Object.fromEntries(Object.entries(d.stores).map(([g,b])=>[g,g===d.store?f:b.getState()])))),r.dispatchFromDevtools&&typeof r.dispatch=="function"){let g=!1;const b=r.dispatch;r.dispatch=(...v)=>{(QE?"package":void 0)!=="production"&&v[0].type==="__setState"&&!g&&(g=!0),b(...v)}}return c.subscribe(g=>{var b;switch(g.type){case"ACTION":return typeof g.payload!="string"?void 0:YO(g.payload,v=>{if(v.type==="__setState"){if(a===void 0){m(v.state);return}Object.keys(v.state).length;const C=v.state[a];if(C==null)return;JSON.stringify(r.getState())!==JSON.stringify(C)&&m(C);return}r.dispatchFromDevtools&&typeof r.dispatch=="function"&&r.dispatch(v)});case"DISPATCH":switch(g.payload.type){case"RESET":return m(f),a===void 0?c==null?void 0:c.init(r.getState()):c==null?void 0:c.init($E(l.name));case"COMMIT":if(a===void 0){c==null||c.init(r.getState());return}return c==null?void 0:c.init($E(l.name));case"ROLLBACK":return YO(g.state,v=>{if(a===void 0){m(v),c==null||c.init(r.getState());return}m(v[a]),c==null||c.init($E(l.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return YO(g.state,v=>{if(a===void 0){m(v);return}JSON.stringify(r.getState())!==JSON.stringify(v[a])&&m(v[a])});case"IMPORT_STATE":{const{nextLiftedState:v}=g.payload,C=(b=v.computedStates.slice(-1)[0])==null?void 0:b.state;if(!C)return;m(a===void 0?C:C[a]),c==null||c.send(null,v);return}case"PAUSE_RECORDING":return h=!h}return}}),f},YO=(n,e)=>{let t;try{t=JSON.parse(n)}catch{}t!==void 0&&e(t)};function UO(n,e){let t;try{t=n()}catch{return}return{getItem:r=>{var o;const s=l=>l===null?null:JSON.parse(l,e==null?void 0:e.reviver),a=(o=t.getItem(r))!=null?o:null;return a instanceof Promise?a.then(s):s(a)},setItem:(r,o)=>t.setItem(r,JSON.stringify(o,e==null?void 0:e.replacer)),removeItem:r=>t.removeItem(r)}}const R_=n=>e=>{try{const t=n(e);return t instanceof Promise?t:{then(i){return R_(i)(t)},catch(i){return this}}}catch(t){return{then(i){return this},catch(i){return R_(i)(t)}}}},PUe=(n,e)=>(t,i,r)=>{let o={getStorage:()=>localStorage,serialize:JSON.stringify,deserialize:JSON.parse,partialize:b=>b,version:0,merge:(b,v)=>({...v,...b}),...e},s=!1;const a=new Set,l=new Set;let u;try{u=o.getStorage()}catch{}if(!u)return n((...b)=>{t(...b)},i,r);const c=R_(o.serialize),d=()=>{const b=o.partialize({...i()});let v;const C=c({state:b,version:o.version}).then(S=>u.setItem(o.name,S)).catch(S=>{v=S});if(v)throw v;return C},h=r.setState;r.setState=(b,v)=>{h(b,v),d()};const m=n((...b)=>{t(...b),d()},i,r);let f;const g=()=>{var b;if(!u)return;s=!1,a.forEach(C=>C(i()));const v=((b=o.onRehydrateStorage)==null?void 0:b.call(o,i()))||void 0;return R_(u.getItem.bind(u))(o.name).then(C=>{if(C)return o.deserialize(C)}).then(C=>{if(C)if(typeof C.version=="number"&&C.version!==o.version){if(o.migrate)return o.migrate(C.state,C.version)}else return C.state}).then(C=>{var S;return f=o.merge(C,(S=i())!=null?S:m),t(f,!0),d()}).then(()=>{v==null||v(f,void 0),s=!0,l.forEach(C=>C(f))}).catch(C=>{v==null||v(void 0,C)})};return r.persist={setOptions:b=>{o={...o,...b},b.getStorage&&(u=b.getStorage())},clearStorage:()=>{u==null||u.removeItem(o.name)},getOptions:()=>o,rehydrate:()=>g(),hasHydrated:()=>s,onHydrate:b=>(a.add(b),()=>{a.delete(b)}),onFinishHydration:b=>(l.add(b),()=>{l.delete(b)})},g(),f||m},OUe=(n,e)=>(t,i,r)=>{let o={storage:UO(()=>localStorage),partialize:g=>g,version:0,merge:(g,b)=>({...b,...g}),...e},s=!1;const a=new Set,l=new Set;let u=o.storage;if(!u)return n((...g)=>{t(...g)},i,r);const c=()=>{const g=o.partialize({...i()});return u.setItem(o.name,{state:g,version:o.version})},d=r.setState;r.setState=(g,b)=>{d(g,b),c()};const h=n((...g)=>{t(...g),c()},i,r);r.getInitialState=()=>h;let m;const f=()=>{var g,b;if(!u)return;s=!1,a.forEach(C=>{var S;return C((S=i())!=null?S:h)});const v=((b=o.onRehydrateStorage)==null?void 0:b.call(o,(g=i())!=null?g:h))||void 0;return R_(u.getItem.bind(u))(o.name).then(C=>{if(C)if(typeof C.version=="number"&&C.version!==o.version){if(o.migrate)return o.migrate(C.state,C.version)}else return C.state}).then(C=>{var S;return m=o.merge(C,(S=i())!=null?S:h),t(m,!0),c()}).then(()=>{v==null||v(m,void 0),m=i(),s=!0,l.forEach(C=>C(m))}).catch(C=>{v==null||v(void 0,C)})};return r.persist={setOptions:g=>{o={...o,...g},g.storage&&(u=g.storage)},clearStorage:()=>{u==null||u.removeItem(o.name)},getOptions:()=>o,rehydrate:()=>f(),hasHydrated:()=>s,onHydrate:g=>(a.add(g),()=>{a.delete(g)}),onFinishHydration:g=>(l.add(g),()=>{l.delete(g)})},o.skipHydration||f(),m||h},sce=(n,e)=>"getStorage"in e||"serialize"in e||"deserialize"in e?PUe(n,e):OUe(n,e),ace=(n,e)=>(t,i,r)=>{const o=(...s)=>{t(...s)};return r.setState=o,n(o,i,r)},lce="config-info-storage",BUe={state:{configInfo:null},version:0},gh=rce()(ace(oce(sce(n=>({configInfo:null,updateConfigInfo:e=>n(()=>({configInfo:e})),clear:()=>n(()=>({configInfo:null}))}),{name:lce,storage:UO(()=>sessionStorage)})))),Sm=rce()(ace(oce(sce(n=>({openapiWithServiceInfo:null,updateOpenapiWithServiceInfo:e=>n(()=>({openapiWithServiceInfo:e})),clear:()=>n(()=>({openapiWithServiceInfo:null}))}),{name:"openapi-with-service-info-storage",storage:UO(()=>sessionStorage)})))),Xi={fontFamily:{mono:'"Menlo", "Liberation Mono", "Consolas", "DejaVu Sans Mono", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace'},fontSize:{xxs:10,xs:12,s:14,normal:16,m:20,l:24,xl:30,xxl:38},zIndex:{low:10,mid:100,high:300,higher:500,higherPlus:1e3},spacing:{base:"0.6em 1em"}},fd={color:{primary:"#1677FF",primaryLight:"#1677FF33",success:"#23CBA0",warning:"#F1911E",info:"#A9AEFC",danger:"#E51D30",text:"#333333",textLight:"#33333399",bg:"#FFFFFF",bgGray:"#F0F2F5",border:"#DEE2EC",menuGroup:"#FFFFFF",menuGroupBg:"#1677FF99",menuItem:"#333333",descCardBg:"#FFFFFF",title:"#333333"}},Pi={color:{primary:"#3EA6FF",primaryLight:"#272727",success:"#23CBA0",warning:"#F1911E",info:"#A9AEFC",danger:"#E51D30",text:"#FFFFFF",textLight:"#FFFFFF9E",bg:"#0F0F0F",bgGray:"#1A1A1A",border:"#FFFFFF19",menuGroup:"#FFFFFFDB",menuGroupBg:"#0F0F0F",menuItem:"#FFFFFF9E",descCardBg:"#272727",title:"#FFFFFFDB"}},zUe={updateConfig:"update config",updateConfigSuccess:"update config successful",requestTimeoutLabel:"request timeout(unit: second)",requestTimeoutPlaceholder:"please input request timeout",authorizationLabel:"Authorization",authorizationPlaceholder:"please input Authorization",submit:"submit",reselectService:"reselect service",en:"English",zh:"Zh-CN",inputUrl:"please input openapi document url"},HUe={updateConfig:"修改配置",updateConfigSuccess:"修改配置成功",requestTimeoutLabel:"请求超时时间(单位: 秒)",requestTimeoutPlaceholder:"请输入请求超时时间",authorizationLabel:"Authorization",authorizationPlaceholder:"请输入Authorization",submit:"提交",reselectService:"重选服务",en:"英语",zh:"简体中文",inputUrl:"请输入 openapi 文档链接"},YUe={urlModeImport:"url mode import",fileModeImport:"file mode import",textModeImport:"text mode import",requiredFieldPlaceholder:"please input required field",serviceURLLabel:"service url, default protocol is http, for example: https://srv-demo-docker.onrender.com/openapi",serviceURLLabel2:"service url, default protocol is http, for example: https://srv-demo-docker.onrender.com",serviceURLPlaceholder:"please input service url, for example: http://127.0.0.1:80/swagger/doc.json",serviceURLPlaceholder2:"please input service url, for example: http://127.0.0.1:80",importBtn:"import",uploadBtn:"click to upload",uploadLabel:"swagger2/openapi3",uploadPlaceholder:"please select swagger2/openapi3 file to upload",parseWarn:"parse failed, please upload correct format swagger2/openapi3 file",openapiTextContentLabel:"swagger2/openapi3 text",openapiTextContentPlaceholder:"please input swagger2/openapi3 text",parseTextWarn:"parse failed, please check swagger2/openapi3 format text correctness"},UUe={urlModeImport:"URL模式导入",fileModeImport:"文件模式导入",textModeImport:"文本模式导入",requiredFieldPlaceholder:"请输入必填项",serviceURLLabel:"服务网关地址, 默认协议http, 例如: https://srv-demo-docker.onrender.com/openapi",serviceURLLabel2:"服务网关地址, 默认协议http, 例如: https://srv-demo-docker.onrender.com",serviceURLPlaceholder:"请输入服务网关地址, 例如: http://127.0.0.1:80/swagger/doc.json",serviceURLPlaceholder2:"请输入服务网关地址, 例如: http://127.0.0.1:80",importBtn:"导入",uploadBtn:"点击上传",uploadLabel:"swagger2/openapi3",uploadPlaceholder:"请选择 swagger2/openapi3 文件上传",parseWarn:"解析失败, 请上传正确格式的 swagger2/openapi3 文件",openapiTextContentLabel:"swagger2/openapi3 格式文本",openapiTextContentPlaceholder:"请输入 swagger2/openapi3 格式文本",parseTextWarn:"解析失败, 请检查 swagger2/openapi3 格式文本正确性"},KUe={searchPlaceholder:"input operationID、summary、path、group",description:"Description",parameters:"Parameters",responses:"Responses",request:"request",requesting:"requesting",mockRequired:"mock(required)",mockAll:"mock(all)",cURL:"cURL",copySuccess:"copy successful",copy:"copy",clickToCopy:"click to copy",generateCode:"generate code",expand:"expand",collapse:"collapse"},JUe={searchPlaceholder:"请输入 operationID、摘要、路径、分组名 搜索",description:"接口描述",parameters:"请求参数",responses:"返回结构",request:"请求",requesting:"请求中",mockRequired:"模拟必填参数",mockAll:"模拟所有参数",cURL:"cURL",copySuccess:"复制成功",copy:"复制",clickToCopy:"点击复制",generateCode:"生成代码",expand:"展开",collapse:"收起"},jUe={goToPostman:"goto postman",request:"request",urlPlaceholder:"please input request URL",validUrlTip:"please input valid request url",send:"Send",headers:"Headers",query:"Query",body:"Body",customTime:"quickly select time",addTimeField:"Add time field",fieldName:"field name",fieldNamePlaceholder:"please input field name",dateTime:"date-time",date:"date",dateTimeUnix:"date-time-unix",dateUnix:"date-unix",customFile:"quickly upload file",addFileField:"Add file field",single:"single file",multiple:"multiple file",uploadFile:"please select file upload",bodyTitleTip:"default content-type: application/json"},QUe={goToPostman:"手动填写请求信息",request:"请求",urlPlaceholder:"请输入请求URL",validUrlTip:"请输入合法的请求URL",send:"发送",headers:"请求头",query:"请求参数",body:"请求体",customTime:"快速选择时间",addTimeField:"新增时间字段",fieldName:"字段名称",fieldNamePlaceholder:"请输入字段名称",dateTime:"日期(带时分秒)",date:"日期",dateTimeUnix:"日期时间戳(带时分秒)",dateUnix:"日期时间戳",customFile:"快速上传文件",addFileField:"新增文件字段",single:"单个文件",multiple:"多个文件",uploadFile:"请选择文件进行上传",bodyTitleTip:"默认的content-type: application/json"};var bv=(n=>(n.en="en",n.zh="zh",n))(bv||{});const $Ue={en:{translation:{head:zUe,login:YUe,openapi:KUe,postman:jUe}},zh:{translation:{head:HUe,login:UUe,openapi:JUe,postman:QUe}}};var uce={exports:{}},V_={};/** + */var ece;function EUe(){if(ece)return OO;ece=1;var n=S,e=TUe();function t(u,c){return u===c&&(u!==0||1/u===1/c)||u!==u&&c!==c}var i=typeof Object.is=="function"?Object.is:t,r=e.useSyncExternalStore,o=n.useRef,s=n.useEffect,a=n.useMemo,l=n.useDebugValue;return OO.useSyncExternalStoreWithSelector=function(u,c,d,h,m){var f=o(null);if(f.current===null){var g={hasValue:!1,value:null};f.current=g}else g=f.current;f=a(function(){function y(I){if(!C){if(C=!0,w=I,I=h(I),m!==void 0&&g.hasValue){var D=g.value;if(m(D,I))return x=D}return x=I}if(D=x,i(w,I))return D;var N=h(I);return m!==void 0&&m(D,N)?D:(w=I,x=N)}var C=!1,w,x,L=d===void 0?null:d;return[function(){return y(c())},L===null?void 0:function(){return y(L())}]},[c,d,h,m]);var b=r(u,f[0],f[1]);return s(function(){g.hasValue=!0,g.value=b},[b]),l(b),b},OO}Que.exports=EUe();var RUe=Que.exports;const ZUe=vl(RUe);var tce={BASE_URL:"/",MODE:"package",DEV:!1,PROD:!0,SSR:!1};const{useDebugValue:WUe}=ze,{useSyncExternalStoreWithSelector:AUe}=ZUe;let nce=!1;const VUe=n=>n;function GUe(n,e=VUe,t){(tce?"package":void 0)!=="production"&&t&&!nce&&(nce=!0);const i=AUe(n.subscribe,n.getState,n.getServerState||n.getInitialState,e,t);return WUe(i),i}const ice=n=>{const e=typeof n=="function"?MUe(n):n,t=(i,r)=>GUe(e,i,r);return Object.assign(t,e),t},rce=n=>n?ice(n):ice;var QE={BASE_URL:"/",MODE:"package",DEV:!1,PROD:!0,SSR:!1};const HO=new Map,$E=n=>{const e=HO.get(n);return e?Object.fromEntries(Object.entries(e.stores).map(([t,i])=>[t,i.getState()])):{}},XUe=(n,e,t)=>{if(n===void 0)return{type:"untracked",connection:e.connect(t)};const i=HO.get(t.name);if(i)return{type:"tracked",store:n,...i};const r={connection:e.connect(t),stores:{}};return HO.set(t.name,r),{type:"tracked",store:n,...r}},oce=(n,e={})=>(t,i,r)=>{const{enabled:o,anonymousActionType:s,store:a,...l}=e;let u;try{u=(o??(QE?"package":void 0)!=="production")&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!u)return n(t,i,r);const{connection:c,...d}=XUe(a,u,l);let h=!0;r.setState=(g,b,y)=>{const C=t(g,b);if(!h)return C;const w=y===void 0?{type:s||"anonymous"}:typeof y=="string"?{type:y}:y;return a===void 0?(c==null||c.send(w,i()),C):(c==null||c.send({...w,type:`${a}/${w.type}`},{...$E(l.name),[a]:r.getState()}),C)};const m=(...g)=>{const b=h;h=!1,t(...g),h=b},f=n(r.setState,i,r);if(d.type==="untracked"?c==null||c.init(f):(d.stores[d.store]=r,c==null||c.init(Object.fromEntries(Object.entries(d.stores).map(([g,b])=>[g,g===d.store?f:b.getState()])))),r.dispatchFromDevtools&&typeof r.dispatch=="function"){let g=!1;const b=r.dispatch;r.dispatch=(...y)=>{(QE?"package":void 0)!=="production"&&y[0].type==="__setState"&&!g&&(g=!0),b(...y)}}return c.subscribe(g=>{var b;switch(g.type){case"ACTION":return typeof g.payload!="string"?void 0:YO(g.payload,y=>{if(y.type==="__setState"){if(a===void 0){m(y.state);return}Object.keys(y.state).length;const C=y.state[a];if(C==null)return;JSON.stringify(r.getState())!==JSON.stringify(C)&&m(C);return}r.dispatchFromDevtools&&typeof r.dispatch=="function"&&r.dispatch(y)});case"DISPATCH":switch(g.payload.type){case"RESET":return m(f),a===void 0?c==null?void 0:c.init(r.getState()):c==null?void 0:c.init($E(l.name));case"COMMIT":if(a===void 0){c==null||c.init(r.getState());return}return c==null?void 0:c.init($E(l.name));case"ROLLBACK":return YO(g.state,y=>{if(a===void 0){m(y),c==null||c.init(r.getState());return}m(y[a]),c==null||c.init($E(l.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return YO(g.state,y=>{if(a===void 0){m(y);return}JSON.stringify(r.getState())!==JSON.stringify(y[a])&&m(y[a])});case"IMPORT_STATE":{const{nextLiftedState:y}=g.payload,C=(b=y.computedStates.slice(-1)[0])==null?void 0:b.state;if(!C)return;m(a===void 0?C:C[a]),c==null||c.send(null,y);return}case"PAUSE_RECORDING":return h=!h}return}}),f},YO=(n,e)=>{let t;try{t=JSON.parse(n)}catch{}t!==void 0&&e(t)};function UO(n,e){let t;try{t=n()}catch{return}return{getItem:r=>{var o;const s=l=>l===null?null:JSON.parse(l,e==null?void 0:e.reviver),a=(o=t.getItem(r))!=null?o:null;return a instanceof Promise?a.then(s):s(a)},setItem:(r,o)=>t.setItem(r,JSON.stringify(o,e==null?void 0:e.replacer)),removeItem:r=>t.removeItem(r)}}const WL=n=>e=>{try{const t=n(e);return t instanceof Promise?t:{then(i){return WL(i)(t)},catch(i){return this}}}catch(t){return{then(i){return this},catch(i){return WL(i)(t)}}}},PUe=(n,e)=>(t,i,r)=>{let o={getStorage:()=>localStorage,serialize:JSON.stringify,deserialize:JSON.parse,partialize:b=>b,version:0,merge:(b,y)=>({...y,...b}),...e},s=!1;const a=new Set,l=new Set;let u;try{u=o.getStorage()}catch{}if(!u)return n((...b)=>{t(...b)},i,r);const c=WL(o.serialize),d=()=>{const b=o.partialize({...i()});let y;const C=c({state:b,version:o.version}).then(w=>u.setItem(o.name,w)).catch(w=>{y=w});if(y)throw y;return C},h=r.setState;r.setState=(b,y)=>{h(b,y),d()};const m=n((...b)=>{t(...b),d()},i,r);let f;const g=()=>{var b;if(!u)return;s=!1,a.forEach(C=>C(i()));const y=((b=o.onRehydrateStorage)==null?void 0:b.call(o,i()))||void 0;return WL(u.getItem.bind(u))(o.name).then(C=>{if(C)return o.deserialize(C)}).then(C=>{if(C)if(typeof C.version=="number"&&C.version!==o.version){if(o.migrate)return o.migrate(C.state,C.version)}else return C.state}).then(C=>{var w;return f=o.merge(C,(w=i())!=null?w:m),t(f,!0),d()}).then(()=>{y==null||y(f,void 0),s=!0,l.forEach(C=>C(f))}).catch(C=>{y==null||y(void 0,C)})};return r.persist={setOptions:b=>{o={...o,...b},b.getStorage&&(u=b.getStorage())},clearStorage:()=>{u==null||u.removeItem(o.name)},getOptions:()=>o,rehydrate:()=>g(),hasHydrated:()=>s,onHydrate:b=>(a.add(b),()=>{a.delete(b)}),onFinishHydration:b=>(l.add(b),()=>{l.delete(b)})},g(),f||m},OUe=(n,e)=>(t,i,r)=>{let o={storage:UO(()=>localStorage),partialize:g=>g,version:0,merge:(g,b)=>({...b,...g}),...e},s=!1;const a=new Set,l=new Set;let u=o.storage;if(!u)return n((...g)=>{t(...g)},i,r);const c=()=>{const g=o.partialize({...i()});return u.setItem(o.name,{state:g,version:o.version})},d=r.setState;r.setState=(g,b)=>{d(g,b),c()};const h=n((...g)=>{t(...g),c()},i,r);r.getInitialState=()=>h;let m;const f=()=>{var g,b;if(!u)return;s=!1,a.forEach(C=>{var w;return C((w=i())!=null?w:h)});const y=((b=o.onRehydrateStorage)==null?void 0:b.call(o,(g=i())!=null?g:h))||void 0;return WL(u.getItem.bind(u))(o.name).then(C=>{if(C)if(typeof C.version=="number"&&C.version!==o.version){if(o.migrate)return o.migrate(C.state,C.version)}else return C.state}).then(C=>{var w;return m=o.merge(C,(w=i())!=null?w:h),t(m,!0),c()}).then(()=>{y==null||y(m,void 0),m=i(),s=!0,l.forEach(C=>C(m))}).catch(C=>{y==null||y(void 0,C)})};return r.persist={setOptions:g=>{o={...o,...g},g.storage&&(u=g.storage)},clearStorage:()=>{u==null||u.removeItem(o.name)},getOptions:()=>o,rehydrate:()=>f(),hasHydrated:()=>s,onHydrate:g=>(a.add(g),()=>{a.delete(g)}),onFinishHydration:g=>(l.add(g),()=>{l.delete(g)})},o.skipHydration||f(),m||h},sce=(n,e)=>"getStorage"in e||"serialize"in e||"deserialize"in e?PUe(n,e):OUe(n,e),ace=(n,e)=>(t,i,r)=>{const o=(...s)=>{t(...s)};return r.setState=o,n(o,i,r)},lce="config-info-storage",BUe={state:{configInfo:null},version:0},fh=rce()(ace(oce(sce(n=>({configInfo:null,updateConfigInfo:e=>n(()=>({configInfo:e})),clear:()=>n(()=>({configInfo:null}))}),{name:lce,storage:UO(()=>sessionStorage)})))),wm=rce()(ace(oce(sce(n=>({openapiWithServiceInfo:null,updateOpenapiWithServiceInfo:e=>n(()=>({openapiWithServiceInfo:e})),clear:()=>n(()=>({openapiWithServiceInfo:null}))}),{name:"openapi-with-service-info-storage",storage:UO(()=>sessionStorage)})))),Er={fontFamily:{mono:'"Menlo", "Liberation Mono", "Consolas", "DejaVu Sans Mono", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace'},fontSize:{xxs:10,xs:12,s:14,normal:16,m:20,l:24,xl:30,xxl:38},zIndex:{low:10,mid:100,high:300,higher:500,higherPlus:1e3},spacing:{base:"0.6em 1em"}},md={color:{primary:"#1677FF",primaryLight:"#1677FF33",success:"#23CBA0",warning:"#F1911E",info:"#A9AEFC",danger:"#E51D30",text:"#333333",textLight:"#33333399",bg:"#FFFFFF",bgGray:"#F0F2F5",border:"#DEE2EC",menuGroup:"#FFFFFF",menuGroupBg:"#1677FF99",menuItem:"#333333",descCardBg:"#FFFFFF",title:"#333333"}},Xi={color:{primary:"#3EA6FF",primaryLight:"#272727",success:"#23CBA0",warning:"#F1911E",info:"#A9AEFC",danger:"#E51D30",text:"#FFFFFF",textLight:"#FFFFFF9E",bg:"#0F0F0F",bgGray:"#1A1A1A",border:"#FFFFFF19",menuGroup:"#FFFFFFDB",menuGroupBg:"#0F0F0F",menuItem:"#FFFFFF9E",descCardBg:"#272727",title:"#FFFFFFDB"}},zUe={updateConfig:"update config",updateConfigSuccess:"update config successful",requestTimeoutLabel:"request timeout(unit: second)",requestTimeoutPlaceholder:"please input request timeout",authorizationLabel:"Authorization",authorizationPlaceholder:"please input Authorization",submit:"submit",reselectService:"reselect service",en:"English",zh:"Zh-CN",inputUrl:"please input openapi document url"},HUe={updateConfig:"修改配置",updateConfigSuccess:"修改配置成功",requestTimeoutLabel:"请求超时时间(单位: 秒)",requestTimeoutPlaceholder:"请输入请求超时时间",authorizationLabel:"Authorization",authorizationPlaceholder:"请输入Authorization",submit:"提交",reselectService:"重选服务",en:"英语",zh:"简体中文",inputUrl:"请输入 openapi 文档链接"},YUe={urlModeImport:"url mode import",fileModeImport:"file mode import",textModeImport:"text mode import",requiredFieldPlaceholder:"please input required field",serviceURLLabel:"service url, default protocol is http, for example: https://srv-demo-docker.onrender.com/openapi",serviceURLLabel2:"service url, default protocol is http, for example: https://srv-demo-docker.onrender.com",serviceURLPlaceholder:"please input service url, for example: http://127.0.0.1:80/swagger/doc.json",serviceURLPlaceholder2:"please input service url, for example: http://127.0.0.1:80",importBtn:"import",uploadBtn:"click to upload",uploadLabel:"swagger2/openapi3",uploadPlaceholder:"please select swagger2/openapi3 file to upload",parseWarn:"parse failed, please upload correct format swagger2/openapi3 file",openapiTextContentLabel:"swagger2/openapi3 text",openapiTextContentPlaceholder:"please input swagger2/openapi3 text",parseTextWarn:"parse failed, please check swagger2/openapi3 format text correctness"},UUe={urlModeImport:"URL模式导入",fileModeImport:"文件模式导入",textModeImport:"文本模式导入",requiredFieldPlaceholder:"请输入必填项",serviceURLLabel:"服务网关地址, 默认协议http, 例如: https://srv-demo-docker.onrender.com/openapi",serviceURLLabel2:"服务网关地址, 默认协议http, 例如: https://srv-demo-docker.onrender.com",serviceURLPlaceholder:"请输入服务网关地址, 例如: http://127.0.0.1:80/swagger/doc.json",serviceURLPlaceholder2:"请输入服务网关地址, 例如: http://127.0.0.1:80",importBtn:"导入",uploadBtn:"点击上传",uploadLabel:"swagger2/openapi3",uploadPlaceholder:"请选择 swagger2/openapi3 文件上传",parseWarn:"解析失败, 请上传正确格式的 swagger2/openapi3 文件",openapiTextContentLabel:"swagger2/openapi3 格式文本",openapiTextContentPlaceholder:"请输入 swagger2/openapi3 格式文本",parseTextWarn:"解析失败, 请检查 swagger2/openapi3 格式文本正确性"},KUe={searchPlaceholder:"input operationID、summary、path、group",description:"Description",parameters:"Parameters",responses:"Responses",request:"request",requesting:"requesting",mockRequired:"mock(required)",mockAll:"mock(all)",cURL:"cURL",copySuccess:"copy successful",copy:"copy",clickToCopy:"click to copy",generateCode:"generate code",expand:"expand",collapse:"collapse"},JUe={searchPlaceholder:"请输入 operationID、摘要、路径、分组名 搜索",description:"接口描述",parameters:"请求参数",responses:"返回结构",request:"请求",requesting:"请求中",mockRequired:"模拟必填参数",mockAll:"模拟所有参数",cURL:"cURL",copySuccess:"复制成功",copy:"复制",clickToCopy:"点击复制",generateCode:"生成代码",expand:"展开",collapse:"收起"},jUe={goToPostman:"goto postman",request:"request",urlPlaceholder:"please input request URL",validUrlTip:"please input valid request url",send:"Send",headers:"Headers",query:"Query",body:"Body",customTime:"quickly select time",addTimeField:"Add time field",fieldName:"field name",fieldNamePlaceholder:"please input field name",dateTime:"date-time",date:"date",dateTimeUnix:"date-time-unix",dateUnix:"date-unix",customFile:"quickly upload file",addFileField:"Add file field",single:"single file",multiple:"multiple file",uploadFile:"please select file upload",bodyTitleTip:"default content-type: application/json"},QUe={goToPostman:"手动填写请求信息",request:"请求",urlPlaceholder:"请输入请求URL",validUrlTip:"请输入合法的请求URL",send:"发送",headers:"请求头",query:"请求参数",body:"请求体",customTime:"快速选择时间",addTimeField:"新增时间字段",fieldName:"字段名称",fieldNamePlaceholder:"请输入字段名称",dateTime:"日期(带时分秒)",date:"日期",dateTimeUnix:"日期时间戳(带时分秒)",dateUnix:"日期时间戳",customFile:"快速上传文件",addFileField:"新增文件字段",single:"单个文件",multiple:"多个文件",uploadFile:"请选择文件进行上传",bodyTitleTip:"默认的content-type: application/json"};var by=(n=>(n.en="en",n.zh="zh",n))(by||{});const $Ue={en:{translation:{head:zUe,login:YUe,openapi:KUe,postman:jUe}},zh:{translation:{head:HUe,login:UUe,openapi:JUe,postman:QUe}}};var uce={exports:{}},AL={};/** * @license React * react-jsx-runtime.production.min.js * @@ -375,35 +375,35 @@ html body { * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var cce;function qUe(){if(cce)return V_;cce=1;var n=w,e=Symbol.for("react.element"),t=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,r=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function s(a,l,u){var c,d={},h=null,m=null;u!==void 0&&(h=""+u),l.key!==void 0&&(h=""+l.key),l.ref!==void 0&&(m=l.ref);for(c in l)i.call(l,c)&&!o.hasOwnProperty(c)&&(d[c]=l[c]);if(a&&a.defaultProps)for(c in l=a.defaultProps,l)d[c]===void 0&&(d[c]=l[c]);return{$$typeof:e,type:a,key:h,ref:m,props:d,_owner:r.current}}return V_.Fragment=t,V_.jsx=s,V_.jsxs=s,V_}uce.exports=qUe();var yb=uce.exports,wc=yb.Fragment;function se(n,e,t){return ML.call(e,"css")?yb.jsx(_X,LX(n,e),t):yb.jsx(n,e,t)}function Gt(n,e,t){return ML.call(e,"css")?yb.jsxs(_X,LX(n,e),t):yb.jsxs(n,e,t)}function eKe({children:n}){const{i18n:e}=zs(),{configInfo:t}=gh(),i=(t==null?void 0:t.theme)==="dark",r={fontSize:Xi.fontSize.xs},o={fontSize:Xi.fontSize.xs,colorBgContainer:Pi.color.descCardBg,colorText:Pi.color.textLight,colorTextPlaceholder:Pi.color.textLight,colorBorder:Pi.color.border,colorTextQuaternary:Pi.color.textLight};return se(ev,{locale:(e==null?void 0:e.resolvedLanguage)===bv.zh?mUe:q7e,theme:{components:{Layout:{siderBg:Pi.color.bg,triggerBg:Pi.color.bg,triggerColor:Pi.color.title},Form:i?{...r,labelColor:Pi.color.textLight}:r,Input:i?o:r,InputNumber:i?o:r,Radio:i?{colorText:Pi.color.textLight}:r,Popover:i?{colorBgElevated:Pi.color.bg}:{},Modal:i?{colorBgElevated:Pi.color.bgGray,titleColor:Pi.color.title}:{},Tabs:i?{colorBgContainer:Pi.color.descCardBg,colorText:Pi.color.textLight,colorBorderSecondary:Pi.color.border,cardBg:Pi.color.bgGray,colorTextDescription:Pi.color.textLight,itemActiveColor:Pi.color.textLight}:{},Button:i?{...o,colorBgContainerDisabled:Pi.color.descCardBg,colorTextDisabled:Pi.color.textLight,fontSize:Xi.fontSize.xxs}:{fontSize:Xi.fontSize.xxs},Upload:i?{...r,colorText:Pi.color.textLight,actionsColor:Pi.color.textLight,colorTextDescription:Pi.color.textLight,controlItemBgHover:Pi.color.descCardBg}:r,Select:i?{...o,colorBgElevated:Pi.color.bg,optionActiveBg:Pi.color.descCardBg,optionSelectedBg:Pi.color.descCardBg,multipleItemBg:Pi.color.bgGray}:r,Dropdown:i?{...o,colorBgElevated:Pi.color.bg,controlItemBgHover:Pi.color.descCardBg}:r,DatePicker:i?{...o,colorBgElevated:Pi.color.bg,colorTextHeading:Pi.color.textLight,controlItemBgHover:Pi.color.descCardBg,controlItemBgActive:Pi.color.descCardBg,colorTextDisabled:Pi.color.textLight}:r}},children:n})}var A_=(n=>(n.en="en",n.zh="zh",n))(A_||{}),tKe={BASE_URL:"/",MODE:"package",DEV:!1,PROD:!0,SSR:!1};function qE(){const n=tKe,e={appName:(n==null?void 0:n.VITE_appName)||"",appNameZH:(n==null?void 0:n.VITE_appNameZH)||"",baseURL:(n==null?void 0:n.VITE_baseURL)||"",version:(n==null?void 0:n.VITE_version)||"",env:(n==null?void 0:n.VITE_env)||""};{const t=nKe("app_config");return t?iKe(t):e}}function nKe(n){const e=document.getElementsByTagName("meta");for(let t=0;t{const r=i.split("=");return{...t,[r[0]]:r[1]}},{})}function rKe(){w.useEffect(()=>{n()},[]);function n(){const e=qE(),t=document.getElementsByTagName("title")||[];e.env===A_.zh&&t[0]&&(t[0].textContent=e.appNameZH)}return null}function dce(n,e){return function(){return n.apply(e,arguments)}}const{toString:oKe}=Object.prototype,{getPrototypeOf:KO}=Object,e5=(n=>e=>{const t=oKe.call(e);return n[t]||(n[t]=t.slice(8,-1).toLowerCase())})(Object.create(null)),xm=n=>(n=n.toLowerCase(),e=>e5(e)===n),t5=n=>e=>typeof e===n,{isArray:Mw}=Array,G_=t5("undefined");function sKe(n){return n!==null&&!G_(n)&&n.constructor!==null&&!G_(n.constructor)&&gd(n.constructor.isBuffer)&&n.constructor.isBuffer(n)}const hce=xm("ArrayBuffer");function aKe(n){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(n):e=n&&n.buffer&&hce(n.buffer),e}const lKe=t5("string"),gd=t5("function"),mce=t5("number"),n5=n=>n!==null&&typeof n=="object",uKe=n=>n===!0||n===!1,i5=n=>{if(e5(n)!=="object")return!1;const e=KO(n);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in n)&&!(Symbol.iterator in n)},cKe=xm("Date"),dKe=xm("File"),hKe=xm("Blob"),mKe=xm("FileList"),fKe=n=>n5(n)&&gd(n.pipe),gKe=n=>{let e;return n&&(typeof FormData=="function"&&n instanceof FormData||gd(n.append)&&((e=e5(n))==="formdata"||e==="object"&&gd(n.toString)&&n.toString()==="[object FormData]"))},pKe=xm("URLSearchParams"),bKe=n=>n.trim?n.trim():n.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function X_(n,e,{allOwnKeys:t=!1}={}){if(n===null||typeof n>"u")return;let i,r;if(typeof n!="object"&&(n=[n]),Mw(n))for(i=0,r=n.length;i0;)if(r=t[i],e===r.toLowerCase())return r;return null}const gce=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,pce=n=>!G_(n)&&n!==gce;function JO(){const{caseless:n}=pce(this)&&this||{},e={},t=(i,r)=>{const o=n&&fce(e,r)||r;i5(e[o])&&i5(i)?e[o]=JO(e[o],i):i5(i)?e[o]=JO({},i):Mw(i)?e[o]=i.slice():e[o]=i};for(let i=0,r=arguments.length;i(X_(e,(r,o)=>{t&&gd(r)?n[o]=dce(r,t):n[o]=r},{allOwnKeys:i}),n),yKe=n=>(n.charCodeAt(0)===65279&&(n=n.slice(1)),n),CKe=(n,e,t,i)=>{n.prototype=Object.create(e.prototype,i),n.prototype.constructor=n,Object.defineProperty(n,"super",{value:e.prototype}),t&&Object.assign(n.prototype,t)},wKe=(n,e,t,i)=>{let r,o,s;const a={};if(e=e||{},n==null)return e;do{for(r=Object.getOwnPropertyNames(n),o=r.length;o-- >0;)s=r[o],(!i||i(s,n,e))&&!a[s]&&(e[s]=n[s],a[s]=!0);n=t!==!1&&KO(n)}while(n&&(!t||t(n,e))&&n!==Object.prototype);return e},SKe=(n,e,t)=>{n=String(n),(t===void 0||t>n.length)&&(t=n.length),t-=e.length;const i=n.indexOf(e,t);return i!==-1&&i===t},xKe=n=>{if(!n)return null;if(Mw(n))return n;let e=n.length;if(!mce(e))return null;const t=new Array(e);for(;e-- >0;)t[e]=n[e];return t},LKe=(n=>e=>n&&e instanceof n)(typeof Uint8Array<"u"&&KO(Uint8Array)),_Ke=(n,e)=>{const i=(n&&n[Symbol.iterator]).call(n);let r;for(;(r=i.next())&&!r.done;){const o=r.value;e.call(n,o[0],o[1])}},FKe=(n,e)=>{let t;const i=[];for(;(t=n.exec(e))!==null;)i.push(t);return i},IKe=xm("HTMLFormElement"),DKe=n=>n.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(t,i,r){return i.toUpperCase()+r}),bce=(({hasOwnProperty:n})=>(e,t)=>n.call(e,t))(Object.prototype),MKe=xm("RegExp"),vce=(n,e)=>{const t=Object.getOwnPropertyDescriptors(n),i={};X_(t,(r,o)=>{let s;(s=e(r,o,n))!==!1&&(i[o]=s||r)}),Object.defineProperties(n,i)},kKe=n=>{vce(n,(e,t)=>{if(gd(n)&&["arguments","caller","callee"].indexOf(t)!==-1)return!1;const i=n[t];if(gd(i)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")})}})},NKe=(n,e)=>{const t={},i=r=>{r.forEach(o=>{t[o]=!0})};return Mw(n)?i(n):i(String(n).split(e)),t},TKe=()=>{},EKe=(n,e)=>(n=+n,Number.isFinite(n)?n:e),jO="abcdefghijklmnopqrstuvwxyz",yce="0123456789",Cce={DIGIT:yce,ALPHA:jO,ALPHA_DIGIT:jO+jO.toUpperCase()+yce},ZKe=(n=16,e=Cce.ALPHA_DIGIT)=>{let t="";const{length:i}=e;for(;n--;)t+=e[Math.random()*i|0];return t};function WKe(n){return!!(n&&gd(n.append)&&n[Symbol.toStringTag]==="FormData"&&n[Symbol.iterator])}const RKe=n=>{const e=new Array(10),t=(i,r)=>{if(n5(i)){if(e.indexOf(i)>=0)return;if(!("toJSON"in i)){e[r]=i;const o=Mw(i)?[]:{};return X_(i,(s,a)=>{const l=t(s,r+1);!G_(l)&&(o[a]=l)}),e[r]=void 0,o}}return i};return t(n,0)},VKe=xm("AsyncFunction"),It={isArray:Mw,isArrayBuffer:hce,isBuffer:sKe,isFormData:gKe,isArrayBufferView:aKe,isString:lKe,isNumber:mce,isBoolean:uKe,isObject:n5,isPlainObject:i5,isUndefined:G_,isDate:cKe,isFile:dKe,isBlob:hKe,isRegExp:MKe,isFunction:gd,isStream:fKe,isURLSearchParams:pKe,isTypedArray:LKe,isFileList:mKe,forEach:X_,merge:JO,extend:vKe,trim:bKe,stripBOM:yKe,inherits:CKe,toFlatObject:wKe,kindOf:e5,kindOfTest:xm,endsWith:SKe,toArray:xKe,forEachEntry:_Ke,matchAll:FKe,isHTMLForm:IKe,hasOwnProperty:bce,hasOwnProp:bce,reduceDescriptors:vce,freezeMethods:kKe,toObjectSet:NKe,toCamelCase:DKe,noop:TKe,toFiniteNumber:EKe,findKey:fce,global:gce,isContextDefined:pce,ALPHABET:Cce,generateString:ZKe,isSpecCompliantForm:WKe,toJSONObject:RKe,isAsyncFn:VKe,isThenable:n=>n&&(n5(n)||gd(n))&&gd(n.then)&&gd(n.catch)};function hr(n,e,t,i,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=n,this.name="AxiosError",e&&(this.code=e),t&&(this.config=t),i&&(this.request=i),r&&(this.response=r)}It.inherits(hr,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:It.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const wce=hr.prototype,Sce={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(n=>{Sce[n]={value:n}}),Object.defineProperties(hr,Sce),Object.defineProperty(wce,"isAxiosError",{value:!0}),hr.from=(n,e,t,i,r,o)=>{const s=Object.create(wce);return It.toFlatObject(n,s,function(l){return l!==Error.prototype},a=>a!=="isAxiosError"),hr.call(s,n.message,e,t,i,r),s.cause=n,s.name=n.name,o&&Object.assign(s,o),s};const AKe=null;function QO(n){return It.isPlainObject(n)||It.isArray(n)}function xce(n){return It.endsWith(n,"[]")?n.slice(0,-2):n}function Lce(n,e,t){return n?n.concat(e).map(function(r,o){return r=xce(r),!t&&o?"["+r+"]":r}).join(t?".":""):e}function GKe(n){return It.isArray(n)&&!n.some(QO)}const XKe=It.toFlatObject(It,{},null,function(e){return/^is[A-Z]/.test(e)});function r5(n,e,t){if(!It.isObject(n))throw new TypeError("target must be an object");e=e||new FormData,t=It.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,function(g,b){return!It.isUndefined(b[g])});const i=t.metaTokens,r=t.visitor||c,o=t.dots,s=t.indexes,l=(t.Blob||typeof Blob<"u"&&Blob)&&It.isSpecCompliantForm(e);if(!It.isFunction(r))throw new TypeError("visitor must be a function");function u(f){if(f===null)return"";if(It.isDate(f))return f.toISOString();if(!l&&It.isBlob(f))throw new hr("Blob is not supported. Use a Buffer instead.");return It.isArrayBuffer(f)||It.isTypedArray(f)?l&&typeof Blob=="function"?new Blob([f]):Buffer.from(f):f}function c(f,g,b){let v=f;if(f&&!b&&typeof f=="object"){if(It.endsWith(g,"{}"))g=i?g:g.slice(0,-2),f=JSON.stringify(f);else if(It.isArray(f)&&GKe(f)||(It.isFileList(f)||It.endsWith(g,"[]"))&&(v=It.toArray(f)))return g=xce(g),v.forEach(function(S,x){!(It.isUndefined(S)||S===null)&&e.append(s===!0?Lce([g],x,o):s===null?g:g+"[]",u(S))}),!1}return QO(f)?!0:(e.append(Lce(b,g,o),u(f)),!1)}const d=[],h=Object.assign(XKe,{defaultVisitor:c,convertValue:u,isVisitable:QO});function m(f,g){if(!It.isUndefined(f)){if(d.indexOf(f)!==-1)throw Error("Circular reference detected in "+g.join("."));d.push(f),It.forEach(f,function(v,C){(!(It.isUndefined(v)||v===null)&&r.call(e,v,It.isString(C)?C.trim():C,g,h))===!0&&m(v,g?g.concat(C):[C])}),d.pop()}}if(!It.isObject(n))throw new TypeError("data must be an object");return m(n),e}function _ce(n){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(n).replace(/[!'()~]|%20|%00/g,function(i){return e[i]})}function $O(n,e){this._pairs=[],n&&r5(n,this,e)}const Fce=$O.prototype;Fce.append=function(e,t){this._pairs.push([e,t])},Fce.toString=function(e){const t=e?function(i){return e.call(this,i,_ce)}:_ce;return this._pairs.map(function(r){return t(r[0])+"="+t(r[1])},"").join("&")};function PKe(n){return encodeURIComponent(n).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Ice(n,e,t){if(!e)return n;const i=t&&t.encode||PKe,r=t&&t.serialize;let o;if(r?o=r(e,t):o=It.isURLSearchParams(e)?e.toString():new $O(e,t).toString(i),o){const s=n.indexOf("#");s!==-1&&(n=n.slice(0,s)),n+=(n.indexOf("?")===-1?"?":"&")+o}return n}class Dce{constructor(){this.handlers=[]}use(e,t,i){return this.handlers.push({fulfilled:e,rejected:t,synchronous:i?i.synchronous:!1,runWhen:i?i.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){It.forEach(this.handlers,function(i){i!==null&&e(i)})}}const Mce={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},OKe={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<"u"?URLSearchParams:$O,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]},kce=typeof window<"u"&&typeof document<"u",BKe=(n=>kce&&["ReactNative","NativeScript","NS"].indexOf(n)<0)(typeof navigator<"u"&&navigator.product),zKe=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Lm={...Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:kce,hasStandardBrowserEnv:BKe,hasStandardBrowserWebWorkerEnv:zKe},Symbol.toStringTag,{value:"Module"})),...OKe};function HKe(n,e){return r5(n,new Lm.classes.URLSearchParams,Object.assign({visitor:function(t,i,r,o){return Lm.isNode&&It.isBuffer(t)?(this.append(i,t.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)}},e))}function YKe(n){return It.matchAll(/\w+|\[(\w*)]/g,n).map(e=>e[0]==="[]"?"":e[1]||e[0])}function UKe(n){const e={},t=Object.keys(n);let i;const r=t.length;let o;for(i=0;i=t.length;return s=!s&&It.isArray(r)?r.length:s,l?(It.hasOwnProp(r,s)?r[s]=[r[s],i]:r[s]=i,!a):((!r[s]||!It.isObject(r[s]))&&(r[s]=[]),e(t,i,r[s],o)&&It.isArray(r[s])&&(r[s]=UKe(r[s])),!a)}if(It.isFormData(n)&&It.isFunction(n.entries)){const t={};return It.forEachEntry(n,(i,r)=>{e(YKe(i),r,t,0)}),t}return null}function KKe(n,e,t){if(It.isString(n))try{return(e||JSON.parse)(n),It.trim(n)}catch(i){if(i.name!=="SyntaxError")throw i}return(t||JSON.stringify)(n)}const qO={transitional:Mce,adapter:["xhr","http"],transformRequest:[function(e,t){const i=t.getContentType()||"",r=i.indexOf("application/json")>-1,o=It.isObject(e);if(o&&It.isHTMLForm(e)&&(e=new FormData(e)),It.isFormData(e))return r?JSON.stringify(Nce(e)):e;if(It.isArrayBuffer(e)||It.isBuffer(e)||It.isStream(e)||It.isFile(e)||It.isBlob(e))return e;if(It.isArrayBufferView(e))return e.buffer;if(It.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let a;if(o){if(i.indexOf("application/x-www-form-urlencoded")>-1)return HKe(e,this.formSerializer).toString();if((a=It.isFileList(e))||i.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return r5(a?{"files[]":e}:e,l&&new l,this.formSerializer)}}return o||r?(t.setContentType("application/json",!1),KKe(e)):e}],transformResponse:[function(e){const t=this.transitional||qO.transitional,i=t&&t.forcedJSONParsing,r=this.responseType==="json";if(e&&It.isString(e)&&(i&&!this.responseType||r)){const s=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(a){if(s)throw a.name==="SyntaxError"?hr.from(a,hr.ERR_BAD_RESPONSE,this,null,this.response):a}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Lm.classes.FormData,Blob:Lm.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};It.forEach(["delete","get","head","post","put","patch"],n=>{qO.headers[n]={}});const eB=qO,JKe=It.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),jKe=n=>{const e={};let t,i,r;return n&&n.split(` -`).forEach(function(s){r=s.indexOf(":"),t=s.substring(0,r).trim().toLowerCase(),i=s.substring(r+1).trim(),!(!t||e[t]&&JKe[t])&&(t==="set-cookie"?e[t]?e[t].push(i):e[t]=[i]:e[t]=e[t]?e[t]+", "+i:i)}),e},Tce=Symbol("internals");function P_(n){return n&&String(n).trim().toLowerCase()}function o5(n){return n===!1||n==null?n:It.isArray(n)?n.map(o5):String(n)}function QKe(n){const e=Object.create(null),t=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let i;for(;i=t.exec(n);)e[i[1]]=i[2];return e}const $Ke=n=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(n.trim());function tB(n,e,t,i,r){if(It.isFunction(i))return i.call(this,e,t);if(r&&(e=t),!!It.isString(e)){if(It.isString(i))return e.indexOf(i)!==-1;if(It.isRegExp(i))return i.test(e)}}function qKe(n){return n.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,i)=>t.toUpperCase()+i)}function eJe(n,e){const t=It.toCamelCase(" "+e);["get","set","has"].forEach(i=>{Object.defineProperty(n,i+t,{value:function(r,o,s){return this[i].call(this,e,r,o,s)},configurable:!0})})}class s5{constructor(e){e&&this.set(e)}set(e,t,i){const r=this;function o(a,l,u){const c=P_(l);if(!c)throw new Error("header name must be a non-empty string");const d=It.findKey(r,c);(!d||r[d]===void 0||u===!0||u===void 0&&r[d]!==!1)&&(r[d||l]=o5(a))}const s=(a,l)=>It.forEach(a,(u,c)=>o(u,c,l));return It.isPlainObject(e)||e instanceof this.constructor?s(e,t):It.isString(e)&&(e=e.trim())&&!$Ke(e)?s(jKe(e),t):e!=null&&o(t,e,i),this}get(e,t){if(e=P_(e),e){const i=It.findKey(this,e);if(i){const r=this[i];if(!t)return r;if(t===!0)return QKe(r);if(It.isFunction(t))return t.call(this,r,i);if(It.isRegExp(t))return t.exec(r);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=P_(e),e){const i=It.findKey(this,e);return!!(i&&this[i]!==void 0&&(!t||tB(this,this[i],i,t)))}return!1}delete(e,t){const i=this;let r=!1;function o(s){if(s=P_(s),s){const a=It.findKey(i,s);a&&(!t||tB(i,i[a],a,t))&&(delete i[a],r=!0)}}return It.isArray(e)?e.forEach(o):o(e),r}clear(e){const t=Object.keys(this);let i=t.length,r=!1;for(;i--;){const o=t[i];(!e||tB(this,this[o],o,e,!0))&&(delete this[o],r=!0)}return r}normalize(e){const t=this,i={};return It.forEach(this,(r,o)=>{const s=It.findKey(i,o);if(s){t[s]=o5(r),delete t[o];return}const a=e?qKe(o):String(o).trim();a!==o&&delete t[o],t[a]=o5(r),i[a]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return It.forEach(this,(i,r)=>{i!=null&&i!==!1&&(t[r]=e&&It.isArray(i)?i.join(", "):i)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+": "+t).join(` -`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const i=new this(e);return t.forEach(r=>i.set(r)),i}static accessor(e){const i=(this[Tce]=this[Tce]={accessors:{}}).accessors,r=this.prototype;function o(s){const a=P_(s);i[a]||(eJe(r,s),i[a]=!0)}return It.isArray(e)?e.forEach(o):o(e),this}}s5.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),It.reduceDescriptors(s5.prototype,({value:n},e)=>{let t=e[0].toUpperCase()+e.slice(1);return{get:()=>n,set(i){this[t]=i}}}),It.freezeMethods(s5);const ag=s5;function nB(n,e){const t=this||eB,i=e||t,r=ag.from(i.headers);let o=i.data;return It.forEach(n,function(a){o=a.call(t,o,r.normalize(),e?e.status:void 0)}),r.normalize(),o}function Ece(n){return!!(n&&n.__CANCEL__)}function O_(n,e,t){hr.call(this,n??"canceled",hr.ERR_CANCELED,e,t),this.name="CanceledError"}It.inherits(O_,hr,{__CANCEL__:!0});function tJe(n,e,t){const i=t.config.validateStatus;!t.status||!i||i(t.status)?n(t):e(new hr("Request failed with status code "+t.status,[hr.ERR_BAD_REQUEST,hr.ERR_BAD_RESPONSE][Math.floor(t.status/100)-4],t.config,t.request,t))}const nJe=Lm.hasStandardBrowserEnv?{write(n,e,t,i,r,o){const s=[n+"="+encodeURIComponent(e)];It.isNumber(t)&&s.push("expires="+new Date(t).toGMTString()),It.isString(i)&&s.push("path="+i),It.isString(r)&&s.push("domain="+r),o===!0&&s.push("secure"),document.cookie=s.join("; ")},read(n){const e=document.cookie.match(new RegExp("(^|;\\s*)("+n+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(n){this.write(n,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function iJe(n){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(n)}function rJe(n,e){return e?n.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):n}function Zce(n,e){return n&&!iJe(e)?rJe(n,e):e}const oJe=Lm.hasStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let i;function r(o){let s=o;return e&&(t.setAttribute("href",s),s=t.href),t.setAttribute("href",s),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:t.pathname.charAt(0)==="/"?t.pathname:"/"+t.pathname}}return i=r(window.location.href),function(s){const a=It.isString(s)?r(s):s;return a.protocol===i.protocol&&a.host===i.host}}():function(){return function(){return!0}}();function sJe(n){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(n);return e&&e[1]||""}function aJe(n,e){n=n||10;const t=new Array(n),i=new Array(n);let r=0,o=0,s;return e=e!==void 0?e:1e3,function(l){const u=Date.now(),c=i[o];s||(s=u),t[r]=l,i[r]=u;let d=o,h=0;for(;d!==r;)h+=t[d++],d=d%n;if(r=(r+1)%n,r===o&&(o=(o+1)%n),u-s{const o=r.loaded,s=r.lengthComputable?r.total:void 0,a=o-t,l=i(a),u=o<=s;t=o;const c={loaded:o,total:s,progress:s?o/s:void 0,bytes:a,rate:l||void 0,estimated:l&&s&&u?(s-o)/l:void 0,event:r};c[e?"download":"upload"]=!0,n(c)}}const iB={http:AKe,xhr:typeof XMLHttpRequest<"u"&&function(n){return new Promise(function(t,i){let r=n.data;const o=ag.from(n.headers).normalize();let{responseType:s,withXSRFToken:a}=n,l;function u(){n.cancelToken&&n.cancelToken.unsubscribe(l),n.signal&&n.signal.removeEventListener("abort",l)}let c;if(It.isFormData(r)){if(Lm.hasStandardBrowserEnv||Lm.hasStandardBrowserWebWorkerEnv)o.setContentType(!1);else if((c=o.getContentType())!==!1){const[g,...b]=c?c.split(";").map(v=>v.trim()).filter(Boolean):[];o.setContentType([g||"multipart/form-data",...b].join("; "))}}let d=new XMLHttpRequest;if(n.auth){const g=n.auth.username||"",b=n.auth.password?unescape(encodeURIComponent(n.auth.password)):"";o.set("Authorization","Basic "+btoa(g+":"+b))}const h=Zce(n.baseURL,n.url);d.open(n.method.toUpperCase(),Ice(h,n.params,n.paramsSerializer),!0),d.timeout=n.timeout;function m(){if(!d)return;const g=ag.from("getAllResponseHeaders"in d&&d.getAllResponseHeaders()),v={data:!s||s==="text"||s==="json"?d.responseText:d.response,status:d.status,statusText:d.statusText,headers:g,config:n,request:d};tJe(function(S){t(S),u()},function(S){i(S),u()},v),d=null}if("onloadend"in d?d.onloadend=m:d.onreadystatechange=function(){!d||d.readyState!==4||d.status===0&&!(d.responseURL&&d.responseURL.indexOf("file:")===0)||setTimeout(m)},d.onabort=function(){d&&(i(new hr("Request aborted",hr.ECONNABORTED,n,d)),d=null)},d.onerror=function(){i(new hr("Network Error",hr.ERR_NETWORK,n,d)),d=null},d.ontimeout=function(){let b=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded";const v=n.transitional||Mce;n.timeoutErrorMessage&&(b=n.timeoutErrorMessage),i(new hr(b,v.clarifyTimeoutError?hr.ETIMEDOUT:hr.ECONNABORTED,n,d)),d=null},Lm.hasStandardBrowserEnv&&(a&&It.isFunction(a)&&(a=a(n)),a||a!==!1&&oJe(h))){const g=n.xsrfHeaderName&&n.xsrfCookieName&&nJe.read(n.xsrfCookieName);g&&o.set(n.xsrfHeaderName,g)}r===void 0&&o.setContentType(null),"setRequestHeader"in d&&It.forEach(o.toJSON(),function(b,v){d.setRequestHeader(v,b)}),It.isUndefined(n.withCredentials)||(d.withCredentials=!!n.withCredentials),s&&s!=="json"&&(d.responseType=n.responseType),typeof n.onDownloadProgress=="function"&&d.addEventListener("progress",Wce(n.onDownloadProgress,!0)),typeof n.onUploadProgress=="function"&&d.upload&&d.upload.addEventListener("progress",Wce(n.onUploadProgress)),(n.cancelToken||n.signal)&&(l=g=>{d&&(i(!g||g.type?new O_(null,n,d):g),d.abort(),d=null)},n.cancelToken&&n.cancelToken.subscribe(l),n.signal&&(n.signal.aborted?l():n.signal.addEventListener("abort",l)));const f=sJe(h);if(f&&Lm.protocols.indexOf(f)===-1){i(new hr("Unsupported protocol "+f+":",hr.ERR_BAD_REQUEST,n));return}d.send(r||null)})}};It.forEach(iB,(n,e)=>{if(n){try{Object.defineProperty(n,"name",{value:e})}catch{}Object.defineProperty(n,"adapterName",{value:e})}});const Rce=n=>`- ${n}`,lJe=n=>It.isFunction(n)||n===null||n===!1,Vce={getAdapter:n=>{n=It.isArray(n)?n:[n];const{length:e}=n;let t,i;const r={};for(let o=0;o`adapter ${a} `+(l===!1?"is not supported by the environment":"is not available in the build"));let s=e?o.length>1?`since : -`+o.map(Rce).join(` -`):" "+Rce(o[0]):"as no adapter specified";throw new hr("There is no suitable adapter to dispatch the request "+s,"ERR_NOT_SUPPORT")}return i},adapters:iB};function rB(n){if(n.cancelToken&&n.cancelToken.throwIfRequested(),n.signal&&n.signal.aborted)throw new O_(null,n)}function Ace(n){return rB(n),n.headers=ag.from(n.headers),n.data=nB.call(n,n.transformRequest),["post","put","patch"].indexOf(n.method)!==-1&&n.headers.setContentType("application/x-www-form-urlencoded",!1),Vce.getAdapter(n.adapter||eB.adapter)(n).then(function(i){return rB(n),i.data=nB.call(n,n.transformResponse,i),i.headers=ag.from(i.headers),i},function(i){return Ece(i)||(rB(n),i&&i.response&&(i.response.data=nB.call(n,n.transformResponse,i.response),i.response.headers=ag.from(i.response.headers))),Promise.reject(i)})}const Gce=n=>n instanceof ag?{...n}:n;function kw(n,e){e=e||{};const t={};function i(u,c,d){return It.isPlainObject(u)&&It.isPlainObject(c)?It.merge.call({caseless:d},u,c):It.isPlainObject(c)?It.merge({},c):It.isArray(c)?c.slice():c}function r(u,c,d){if(It.isUndefined(c)){if(!It.isUndefined(u))return i(void 0,u,d)}else return i(u,c,d)}function o(u,c){if(!It.isUndefined(c))return i(void 0,c)}function s(u,c){if(It.isUndefined(c)){if(!It.isUndefined(u))return i(void 0,u)}else return i(void 0,c)}function a(u,c,d){if(d in e)return i(u,c);if(d in n)return i(void 0,u)}const l={url:o,method:o,data:o,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(u,c)=>r(Gce(u),Gce(c),!0)};return It.forEach(Object.keys(Object.assign({},n,e)),function(c){const d=l[c]||r,h=d(n[c],e[c],c);It.isUndefined(h)&&d!==a||(t[c]=h)}),t}const Xce="1.6.8",oB={};["object","boolean","number","function","string","symbol"].forEach((n,e)=>{oB[n]=function(i){return typeof i===n||"a"+(e<1?"n ":" ")+n}});const Pce={};oB.transitional=function(e,t,i){function r(o,s){return"[Axios v"+Xce+"] Transitional option '"+o+"'"+s+(i?". "+i:"")}return(o,s,a)=>{if(e===!1)throw new hr(r(s," has been removed"+(t?" in "+t:"")),hr.ERR_DEPRECATED);return t&&!Pce[s]&&(Pce[s]=!0),e?e(o,s,a):!0}};function uJe(n,e,t){if(typeof n!="object")throw new hr("options must be an object",hr.ERR_BAD_OPTION_VALUE);const i=Object.keys(n);let r=i.length;for(;r-- >0;){const o=i[r],s=e[o];if(s){const a=n[o],l=a===void 0||s(a,o,n);if(l!==!0)throw new hr("option "+o+" must be "+l,hr.ERR_BAD_OPTION_VALUE);continue}if(t!==!0)throw new hr("Unknown option "+o,hr.ERR_BAD_OPTION)}}const sB={assertOptions:uJe,validators:oB},Cb=sB.validators;class a5{constructor(e){this.defaults=e,this.interceptors={request:new Dce,response:new Dce}}async request(e,t){try{return await this._request(e,t)}catch(i){if(i instanceof Error){let r;Error.captureStackTrace?Error.captureStackTrace(r={}):r=new Error;const o=r.stack?r.stack.replace(/^.+\n/,""):"";i.stack?o&&!String(i.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(i.stack+=` -`+o):i.stack=o}throw i}}_request(e,t){typeof e=="string"?(t=t||{},t.url=e):t=e||{},t=kw(this.defaults,t);const{transitional:i,paramsSerializer:r,headers:o}=t;i!==void 0&&sB.assertOptions(i,{silentJSONParsing:Cb.transitional(Cb.boolean),forcedJSONParsing:Cb.transitional(Cb.boolean),clarifyTimeoutError:Cb.transitional(Cb.boolean)},!1),r!=null&&(It.isFunction(r)?t.paramsSerializer={serialize:r}:sB.assertOptions(r,{encode:Cb.function,serialize:Cb.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let s=o&&It.merge(o.common,o[t.method]);o&&It.forEach(["delete","get","head","post","put","patch","common"],f=>{delete o[f]}),t.headers=ag.concat(s,o);const a=[];let l=!0;this.interceptors.request.forEach(function(g){typeof g.runWhen=="function"&&g.runWhen(t)===!1||(l=l&&g.synchronous,a.unshift(g.fulfilled,g.rejected))});const u=[];this.interceptors.response.forEach(function(g){u.push(g.fulfilled,g.rejected)});let c,d=0,h;if(!l){const f=[Ace.bind(this),void 0];for(f.unshift.apply(f,a),f.push.apply(f,u),h=f.length,c=Promise.resolve(t);d{if(!i._listeners)return;let o=i._listeners.length;for(;o-- >0;)i._listeners[o](r);i._listeners=null}),this.promise.then=r=>{let o;const s=new Promise(a=>{i.subscribe(a),o=a}).then(r);return s.cancel=function(){i.unsubscribe(o)},s},e(function(o,s,a){i.reason||(i.reason=new O_(o,s,a),t(i.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1)}static source(){let e;return{token:new aB(function(r){e=r}),cancel:e}}}const cJe=aB;function dJe(n){return function(t){return n.apply(null,t)}}function hJe(n){return It.isObject(n)&&n.isAxiosError===!0}const lB={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(lB).forEach(([n,e])=>{lB[e]=n});const mJe=lB;function Oce(n){const e=new l5(n),t=dce(l5.prototype.request,e);return It.extend(t,l5.prototype,e,{allOwnKeys:!0}),It.extend(t,e,null,{allOwnKeys:!0}),t.create=function(r){return Oce(kw(n,r))},t}const Hs=Oce(eB);Hs.Axios=l5,Hs.CanceledError=O_,Hs.CancelToken=cJe,Hs.isCancel=Ece,Hs.VERSION=Xce,Hs.toFormData=r5,Hs.AxiosError=hr,Hs.Cancel=Hs.CanceledError,Hs.all=function(e){return Promise.all(e)},Hs.spread=dJe,Hs.isAxiosError=hJe,Hs.mergeConfig=kw,Hs.AxiosHeaders=ag,Hs.formToJSON=n=>Nce(It.isHTMLForm(n)?new FormData(n):n),Hs.getAdapter=Vce.getAdapter,Hs.HttpStatusCode=mJe,Hs.default=Hs;var Bce=typeof global=="object"&&global&&global.Object===Object&&global,fJe=typeof self=="object"&&self&&self.Object===Object&&self,_m=Bce||fJe||Function("return this")(),Fm=_m.Symbol,zce=Object.prototype,gJe=zce.hasOwnProperty,pJe=zce.toString,B_=Fm?Fm.toStringTag:void 0;function bJe(n){var e=gJe.call(n,B_),t=n[B_];try{n[B_]=void 0;var i=!0}catch{}var r=pJe.call(n);return i&&(e?n[B_]=t:delete n[B_]),r}var vJe=Object.prototype,yJe=vJe.toString;function CJe(n){return yJe.call(n)}var wJe="[object Null]",SJe="[object Undefined]",Hce=Fm?Fm.toStringTag:void 0;function vv(n){return n==null?n===void 0?SJe:wJe:Hce&&Hce in Object(n)?bJe(n):CJe(n)}function yv(n){return n!=null&&typeof n=="object"}var xJe="[object Symbol]";function Nw(n){return typeof n=="symbol"||yv(n)&&vv(n)==xJe}function Cv(n,e){for(var t=-1,i=n==null?0:n.length,r=Array(i);++t0){if(++e>=qJe)return arguments[0]}else e=0;return n.apply(void 0,arguments)}}function i8e(n){return function(){return n}}var u5=function(){try{var n=Sv(Object,"defineProperty");return n({},"",{}),n}catch{}}(),r8e=u5?function(n,e){return u5(n,"toString",{configurable:!0,enumerable:!1,value:i8e(e),writable:!0})}:z_,$ce=n8e(r8e);function o8e(n,e){for(var t=-1,i=n==null?0:n.length;++t-1}var u8e=9007199254740991,c8e=/^(?:0|[1-9]\d*)$/;function c5(n,e){var t=typeof n;return e=e??u8e,!!e&&(t=="number"||t!="symbol"&&c8e.test(n))&&n>-1&&n%1==0&&n-1&&n%1==0&&n<=f8e}function lg(n){return n!=null&&gB(n.length)&&!jce(n)}function m5(n,e,t){if(!fs(t))return!1;var i=typeof e;return(i=="number"?lg(t)&&c5(e,t.length):i=="string"&&e in t)?h5(t[e],n):!1}function g8e(n){return ide(function(e,t){var i=-1,r=t.length,o=r>1?t[r-1]:void 0,s=r>2?t[2]:void 0;for(o=n.length>3&&typeof o=="function"?(r--,o):void 0,s&&m5(t[0],t[1],s)&&(o=r<3?void 0:o,r=1),e=Object(e);++i-1}function Nje(n,e){var t=this.__data__,i=b5(t,n);return i<0?(++this.size,t.push([n,e])):t[i][1]=e,this}function ug(n){var e=-1,t=n==null?0:n.length;for(this.clear();++e0&&t(a)?e>1?wB(a,e-1,t,i,r):CB(r,a):i||(r[r.length]=a)}return r}function Uje(n){var e=n==null?0:n.length;return e?wB(n,1):[]}function Kje(n){return $ce(nde(n,void 0,Uje),n+"")}var Jje=fde(Object.getPrototypeOf,Object);function jje(n,e,t,i){var r=-1,o=n==null?0:n.length;for(i&&o&&(t=n[++r]);++r=e?n:e)),n}function $je(){this.__data__=new ug,this.size=0}function qje(n){var e=this.__data__,t=e.delete(n);return this.size=e.size,t}function eQe(n){return this.__data__.get(n)}function tQe(n){return this.__data__.has(n)}var nQe=200;function iQe(n,e){var t=this.__data__;if(t instanceof ug){var i=t.__data__;if(!U_||i.lengtha))return!1;var u=o.get(n),c=o.get(e);if(u&&c)return u==e&&c==n;var d=-1,h=!0,m=t&wQe?new j_:void 0;for(o.set(n,e),o.set(e,n);++d=e||D<0||d&&M>=o}function v(){var F=DB();if(b(F))return C(F);a=setTimeout(v,g(F))}function C(F){return a=void 0,h&&i?m(F):(i=r=void 0,s)}function S(){a!==void 0&&clearTimeout(a),u=0,i=l=r=a=void 0}function x(){return a===void 0?s:C(DB())}function _(){var F=DB(),D=b(F);if(i=arguments,r=this,l=F,D){if(a===void 0)return f(l);if(d)return clearTimeout(a),a=setTimeout(v,e),m(l)}return a===void 0&&(a=setTimeout(v,e)),s}return _.cancel=S,_.flush=x,_}function d$e(n,e,t){for(var i=-1,r=n==null?0:n.length;++i-1?r[o?e[s]:s]:void 0}}var g$e=Math.max;function Bde(n,e,t){var i=n==null?0:n.length;if(!i)return-1;var r=t==null?0:dB(t);return r<0&&(r=g$e(i+r,0)),qce(n,ph(e),r)}var p$e=f$e(Bde);function zde(n){return n&&n.length?n[0]:void 0}function Hde(n,e){var t=-1,i=lg(n)?Array(n.length):[];return Ew(n,function(r,o,s){i[++t]=e(r,o,s)}),i}function xo(n,e){var t=da(n)?Cv:Hde;return t(n,ph(e))}var b$e=Object.prototype,v$e=b$e.hasOwnProperty,y$e=a$e(function(n,e,t){v$e.call(n,t)?n[t].push(e):d5(n,t,[e])}),C$e=Object.prototype,w$e=C$e.hasOwnProperty;function S$e(n,e){return n!=null&&w$e.call(n,e)}function bd(n,e){return n!=null&&Gde(n,e,S$e)}var x$e="[object String]";function Yde(n){return typeof n=="string"||!da(n)&&yv(n)&&vv(n)==x$e}function L$e(n,e){return Cv(e,function(t){return n[t]})}function S5(n){return n==null?[]:L$e(n,pd(n))}var _$e=Math.max;function Iu(n,e,t,i){n=lg(n)?n:S5(n),t=t&&!i?dB(t):0;var r=n.length;return t<0&&(t=_$e(r+t,0)),Yde(n)?t<=r&&n.indexOf(e,t)>-1:!!r&&ede(n,e,t)>-1}var F$e="[object Map]",I$e="[object Set]",D$e=Object.prototype,M$e=D$e.hasOwnProperty;function Is(n){if(n==null)return!0;if(lg(n)&&(da(n)||typeof n=="string"||typeof n.splice=="function"||p5(n)||bB(n)||g5(n)))return!n.length;var e=LB(n);if(e==F$e||e==I$e)return!n.size;if(f5(n))return!gde(n).length;for(var t in n)if(M$e.call(n,t))return!1;return!0}function Ude(n){return n===void 0}function k$e(n,e){var t={};return e=ph(e),Pde(n,function(i,r,o){d5(t,r,e(i,r,o))}),t}var N$e="Expected a function";function T$e(n){if(typeof n!="function")throw new TypeError(N$e);return function(){var e=arguments;switch(e.length){case 0:return!n.call(this);case 1:return!n.call(this,e[0]);case 2:return!n.call(this,e[0],e[1]);case 3:return!n.call(this,e[0],e[1],e[2])}return!n.apply(this,e)}}function E$e(n,e,t,i){if(!fs(n))return n;e=y5(e,n);for(var r=-1,o=e.length,s=o-1,a=n;a!=null&&++re||o&&s&&l&&!a&&!u||i&&s&&l||!t&&l||!r)return 1;if(!i&&!o&&!u&&n=a)return l;var u=t[i];return l*(u=="desc"?-1:1)}}return n.index-e.index}function A$e(n,e,t){e.length?e=Cv(e,function(o){return da(o)?function(s){return C5(s,o.length===1?o[0]:o)}:o}):e=[z_];var i=-1;e=Cv(e,ude(ph));var r=Hde(n,function(o,s,a){var l=Cv(e,function(u){return u(o)});return{criteria:l,index:++i,value:o}});return W$e(r,function(o,s){return V$e(o,s,t)})}function G$e(n,e){return Kde(n,e,function(t,i){return Xde(n,i)})}var kB=Kje(function(n,e){return n==null?{}:G$e(n,e)});function X$e(n,e,t,i,r){return r(n,function(o,s,a){t=i?(i=!1,o):e(t,o,s,a)}),t}function bh(n,e,t){var i=da(n)?jje:X$e,r=arguments.length<3;return i(n,ph(e),t,r,Ew)}function Zw(){var n=arguments,e=K_(n[0]);return n.length<3?e:e.replace(n[1],n[2])}function P$e(n,e){var t;return Ew(n,function(i,r,o){return t=e(i,r,o),!t}),!!t}function O$e(n,e,t){var i=da(n)?kde:P$e;return t&&m5(n,e,t)&&(e=void 0),i(n,ph(e))}var NB=ide(function(n,e){if(n==null)return[];var t=e.length;return t>1&&m5(n,e[0],e[1])?e=[]:t>2&&m5(e[0],e[1],e[2])&&(e=[e[0]]),A$e(n,wB(e,1),[])});function Jde(n,e,t){return n=K_(n),t=t==null?0:Qje(dB(t),0,n.length),e=uB(e),n.slice(t,t+e.length)==e}var B$e="Expected a function";function TB(n,e,t){var i=!0,r=!0;if(typeof n!="function")throw new TypeError(B$e);return fs(t)&&(i="leading"in t?!!t.leading:i,r="trailing"in t?!!t.trailing:r),Ode(n,e,{leading:i,maxWait:e,trailing:r})}function Sc(n){return K_(n).toLowerCase()}function jde(n){return K_(n).toUpperCase()}var z$e=1/0,H$e=Tw&&1/_B(new Tw([,-0]))[1]==z$e?function(n){return new Tw(n)}:$Je,Y$e=200;function U$e(n,e,t){var i=-1,r=l8e,o=n.length,s=!0,a=[],l=a;if(t)s=!1,r=d$e;else if(o>=Y$e){var u=e?null:H$e(n);if(u)return _B(u);s=!1,r=Nde,l=new j_}else l=e?[]:a;e:for(;++i(n.get="get",n.post="post",n.put="put",n.patch="patch",n.delete="delete",n.options="options",n.head="head",n))(vh||{});function J$e(){const n=globalThis.sessionStorage.getItem(lce);return(n?JSON.parse(n):BUe).state.configInfo}const Qde=120;function Q_(n){let e=Qde*1e3;const t=J$e();return t!=null&&t.timeout&&(e=t.timeout*1e3),n={method:vh.get,timeout:e,...n},~Bde(S5(n.params),i=>Array.isArray(i))&&(n.paramsSerializer=i=>wb(xo(pd(x5(i,r=>!!r)),r=>{const o=i[r];return Array.isArray(o)?xo(wb(o,a=>!!a),a=>`${encodeURIComponent(r)}=${encodeURIComponent(a)}`).join("&"):`${encodeURIComponent(r)}=${encodeURIComponent(o)}`}),r=>!!r).join("&")),Hs(n).catch(i=>{var o,s;const r=(o=i==null?void 0:i.response)==null?void 0:o.data;return c6e.error({message:(r==null?void 0:r.message)||(r==null?void 0:r.msg)||r||((s=i==null?void 0:i.response)==null?void 0:s.statusText)||(i==null?void 0:i.message)||"api request is error, please check",duration:2}),i.response})}const _v=fd.color.text,$de=({size:n="16",fill:e="#FF6C37",...t})=>se("svg",{width:n,height:n,viewBox:"0 0 1024 1024",...t,children:se("path",{d:"M577.165 4.216C296.745-31.752 40.196 166.396 4.228 446.847c-35.968 280.42 162.146 536.937 442.599 572.937 280.453 35.968 537.065-162.178 572.937-442.63 35.999-280.421-162.082-536.938-442.6-572.938zm105.442 319.366a36.466 36.466 0 0 0-25.31 10.656l-189.99 189.986-40.545-40.545C614.03 296.957 647.79 295.165 682.607 323.55zM475.11 530.977l189.447-189.443a26.47 26.47 0 1 1 36.192 38.528l-.032.032-200.482 176.004zm14.09 29.633-46.949 10.143a2.87 2.87 0 0 1-.576.064 2.632 2.632 0 0 1-2.3-1.408 2.477 2.477 0 0 1-.352-1.28 2.51 2.51 0 0 1 .768-1.824l27.516-27.517zm-119.622-19.585 50.016-50.017 37.507 37.472-84.45 18.177a3.045 3.045 0 0 1-.8.1 3.1 3.1 0 0 1-2.815-1.76v-.032a2.979 2.979 0 0 1-.48-1.664 3.163 3.163 0 0 1 1.024-2.3zM214.023 799.493a3.238 3.238 0 0 1-2.944-3.232v-.32a3.3 3.3 0 0 1 .928-1.952h.1l40.353-40.353 52.13 52.129zm103.458-53.599a9.764 9.764 0 0 0-5.248 8.64 9.345 9.345 0 0 0 .288 2.336v-.064l8.672 36.9a5.328 5.328 0 0 1-5.19 6.62 5.263 5.263 0 0 1-3.807-1.6h-.128l-52.385-52.45 160.518-160.354 77.666-16.769 37.28 37.28c-53.537 47.01-126.754 93.922-217.603 139.426zM542.733 599.65h-.1l-35.808-35.809L707.31 387.838a41.607 41.607 0 0 0 5.024-5.343l.064-.1c-6.3 57.376-86.561 138.465-169.696 217.219zm156.034-275.657-.128-.1a77.753 77.753 0 0 1 105.054-114.425l-.128-.1-68.706 68.833a5.1 5.1 0 0 0 0 7.232l53.217 53.217a77.457 77.457 0 0 1-89.28-14.62zm109.986 0a72.27 72.27 0 0 1-11.3 9.12l-.288.16h-.032l-51.489-51.49 65.41-65.408a77.776 77.776 0 0 1-2.301 107.618zm-4.26-65.853a6.09 6.09 0 0 0-2.528 4.928 6.377 6.377 0 0 0 .256 1.792v-.032a17.775 17.775 0 0 1-2.3 19.233l.032-.032a5.974 5.974 0 0 0 .992 8.384 6.023 6.023 0 0 0 3.584 1.28 6 6 0 0 0 4.512-2.112 29.45 29.45 0 0 0 3.616-32.193l.064.16a5.886 5.886 0 0 0-8.288-1.408h.032z",fill:e})}),EB=({size:n="16",fill:e=_v,...t})=>Gt("svg",{width:n,height:n,viewBox:"0 0 1024 1024",...t,children:[se("path",{d:"M896 629.333c-17.067 0-32 14.934-32 32V832c0 6.4-4.267 10.667-10.667 10.667H170.667c-6.4 0-10.667-4.267-10.667-10.667V661.333c0-17.066-14.933-32-32-32s-32 14.934-32 32V832c0 40.533 34.133 74.667 74.667 74.667h682.666C893.867 906.667 928 872.533 928 832V661.333c0-17.066-14.933-32-32-32z",fill:e}),se("path",{d:"M322.133 407.467 480 249.6V704c0 17.067 14.933 32 32 32s32-14.933 32-32V247.467l157.867 157.866c6.4 6.4 14.933 8.534 23.466 8.534s17.067-2.134 23.467-8.534c12.8-12.8 12.8-32 0-44.8L535.467 147.2c-12.8-12.8-32-12.8-44.8 0L277.333 360.533c-12.8 12.8-12.8 32 0 44.8 10.667 12.8 32 12.8 44.8 2.134z",fill:e})]}),ZB=({size:n="14",fill:e=_v,...t})=>se("svg",{width:n,height:n,viewBox:"0 0 1024 1024",...t,children:se("path",{d:"M881 483H541V142c0-16.5-13.3-30-29.5-30S482 125.5 482 142v341H141c-16.5 0-30 13.3-30 29.5s13.5 29.5 30 29.5h341v340c0 16.5 13.3 30 29.5 30s29.5-13.5 29.5-30V542h340c16.5 0 30-13.3 30-29.5S897.5 483 881 483z",fill:e})}),WB=({size:n="14",fill:e=_v,...t})=>se("svg",{width:n,height:n,viewBox:"0 0 1025 1024",...t,children:se("path",{d:"M895.531 534.934H126.604c-13.571 0-24.573-11.002-24.573-24.573s11.002-24.573 24.573-24.573h768.927c13.572 0 24.573 11.001 24.573 24.573s-11.001 24.573-24.573 24.573z",fill:e})}),j$e=({size:n="18",fill:e=_v,...t})=>Gt("svg",{width:n,height:n,viewBox:"0 0 1024 1024",...t,children:[se("path",{d:"M578.133 675.627c-3.306-3.307-8.746-3.307-12.053 0L442.133 799.573c-57.386 57.387-154.24 63.467-217.6 0-63.466-63.466-57.386-160.213 0-217.6L348.48 458.027c3.307-3.307 3.307-8.747 0-12.054l-42.453-42.453c-3.307-3.307-8.747-3.307-12.054 0L170.027 527.467c-90.24 90.24-90.24 236.266 0 326.4s236.266 90.24 326.4 0L620.373 729.92c3.307-3.307 3.307-8.747 0-12.053l-42.24-42.24zm275.84-505.6c-90.24-90.24-236.266-90.24-326.4 0L403.52 293.973c-3.307 3.307-3.307 8.747 0 12.054l42.347 42.346c3.306 3.307 8.746 3.307 12.053 0l123.947-123.946c57.386-57.387 154.24-63.467 217.6 0 63.466 63.466 57.386 160.213 0 217.6L675.52 565.973c-3.307 3.307-3.307 8.747 0 12.054l42.453 42.453c3.307 3.307 8.747 3.307 12.054 0l123.946-123.947c90.134-90.24 90.134-236.266 0-326.506z",fill:e}),se("path",{d:"M616.64 362.987c-3.307-3.307-8.747-3.307-12.053 0l-241.6 241.493c-3.307 3.307-3.307 8.747 0 12.053l42.24 42.24c3.306 3.307 8.746 3.307 12.053 0L658.773 417.28c3.307-3.307 3.307-8.747 0-12.053l-42.133-42.24z",fill:e})]}),Q$e=({size:n="18",fill:e=_v,...t})=>se("svg",{width:n,height:n,viewBox:"0 0 1024 1024",...t,children:se("path",{d:"M208 776h-33.467c-21.396 0-29.155-2.228-36.977-6.411-7.823-4.184-13.961-10.322-18.145-18.145-4.183-7.822-6.411-15.58-6.411-36.977V597.533c0-21.396 2.228-29.155 6.411-36.977 4.184-7.823 10.322-13.961 18.145-18.145 7.822-4.183 15.58-6.411 36.977-6.411H208V125.533c0-21.396 2.228-29.155 6.411-36.977 4.184-7.823 10.322-13.961 18.145-18.145 7.822-4.183 15.58-6.411 36.977-6.411h439.85c10.037-.702 20.312 2.783 27.985 10.456l164.048 164.049c7.04 7.04 10.555 16.269 10.544 25.495h.04v634.467c0 21.396-2.228 29.155-6.411 36.977-4.184 7.823-10.322 13.961-18.145 18.145-7.822 4.183-15.58 6.411-36.977 6.411H269.533c-21.396 0-29.155-2.228-36.977-6.411-7.823-4.184-13.961-10.322-18.145-18.145-4.183-7.822-6.411-15.58-6.411-36.977V776zm64-240h451.467c21.396 0 29.155 2.228 36.977 6.411 7.823 4.184 13.961 10.322 18.145 18.145 4.183 7.822 6.411 15.58 6.411 36.977v116.934c0 21.396-2.228 29.155-6.411 36.977-4.184 7.823-10.322 13.961-18.145 18.145-7.822 4.183-15.58 6.411-36.977 6.411H272v120h576V286.912L689.088 128H272v408zm-26.28 55.197v79.453c0 7.852-1.04 13.433-3.12 16.744-2.08 3.31-5.346 4.965-9.8 4.965-2.812 0-4.98-.556-6.503-1.67-2.227-1.699-3.809-3.925-4.746-6.68-.938-2.753-1.436-6.972-1.494-12.655L182 676.539c.703 9.961 3.003 18.325 6.9 25.093 3.896 6.767 9.418 11.909 16.567 15.425 7.148 3.515 17.226 5.273 30.234 5.273 12.305 0 22.398-2.666 30.278-7.998 7.881-5.332 13.125-11.836 15.733-19.512 2.607-7.676 3.911-18.867 3.911-33.574v-70.049h-39.902zm59.503 86.221c1.113 13.008 5.888 23.73 14.326 32.168 8.437 8.437 23.613 12.656 45.527 12.656 12.48 0 22.822-1.802 31.026-5.405 8.203-3.604 14.59-8.892 19.16-15.864 4.57-6.973 6.855-14.59 6.855-22.852 0-7.031-1.714-13.389-5.141-19.072-3.428-5.684-8.907-10.444-16.436-14.282-7.53-3.838-19.995-7.632-37.397-11.382-7.032-1.465-11.485-3.047-13.36-4.746-1.933-1.641-2.9-3.487-2.9-5.537 0-2.813 1.172-5.2 3.515-7.164 2.344-1.962 5.83-2.944 10.46-2.944 5.624 0 10.034 1.318 13.227 3.955 3.193 2.637 5.288 6.856 6.284 12.656l37.53-2.197c-1.641-13.36-6.783-23.1-15.425-29.223-8.643-6.124-21.197-9.185-37.661-9.185-13.419 0-23.98 1.685-31.685 5.054-7.705 3.369-13.477 7.998-17.315 13.886-3.837 5.89-5.756 12.144-5.756 18.765 0 10.078 3.75 18.37 11.25 24.873 7.441 6.504 19.892 11.719 37.353 15.645 10.664 2.343 17.461 4.834 20.39 7.47 2.93 2.637 4.395 5.625 4.395 8.965 0 3.516-1.538 6.607-4.614 9.273-3.076 2.666-7.456 3.999-13.14 3.999-7.617 0-13.476-2.608-17.578-7.823-2.52-3.222-4.19-7.91-5.01-14.062l-37.88 2.373zm131.923-21.709c0 15.059 2.96 27.598 8.877 37.617 5.918 10.02 13.638 17.344 23.16 21.973 9.521 4.629 21.547 6.943 36.079 6.943 14.297 0 26.235-2.68 35.815-8.042 9.58-5.361 16.904-12.861 21.973-22.5 5.068-9.639 7.602-21.987 7.602-37.046 0-20.742-5.8-36.87-17.402-48.383C541.648 594.757 525.125 589 503.68 589c-20.918 0-37.237 5.86-48.955 17.578-11.72 11.719-17.579 28.096-17.579 49.131zm39.815.176c0-13.125 2.432-22.53 7.295-28.213 4.863-5.684 11.308-8.526 19.336-8.526 8.379 0 15.014 2.798 19.907 8.394 4.893 5.596 7.339 14.458 7.339 26.587 0 14.414-2.344 24.404-7.031 29.97-4.688 5.567-11.309 8.35-19.864 8.35-8.32 0-14.897-2.842-19.731-8.525-4.834-5.684-7.251-15.03-7.251-28.037zm115.4-64.688v128.848h37.442v-70.752l48.252 70.752h37.529V591.197h-37.53v71.28l-48.515-71.28h-37.178z",fill:e})}),$$e=({size:n="18",fill:e=_v,...t})=>se("svg",{width:n,height:n,viewBox:"0 0 1024 1024",...t,children:se("path",{d:"M668.65 64a85.333 85.333 0 0 1 60.353 25.003L892.33 252.33a85.333 85.333 0 0 1 25.002 60.352V832a128 128 0 0 1-128 128H234.667a128 128 0 0 1-128-128V192a128 128 0 0 1 128-128H668.65zm-49.983 64h-384a64 64 0 0 0-63.894 60.245l-.106 3.755v640a64 64 0 0 0 60.245 63.893l3.755.107h554.666a64 64 0 0 0 63.894-60.245l.106-3.755V362.667H682.667a64 64 0 0 1-64-64V128zm140.8 405.333c4.693 0 8.533 3.84 8.533 8.534V588.8a8.533 8.533 0 0 1-8.533 8.533H264.533A8.533 8.533 0 0 1 256 588.8v-46.933c0-4.694 3.84-8.534 8.533-8.534h494.934zm-256-128c4.693 0 8.533 3.84 8.533 8.534V460.8a8.533 8.533 0 0 1-8.533 8.533H264.533A8.533 8.533 0 0 1 256 460.8v-46.933c0-4.694 3.84-8.534 8.533-8.534h238.934zm179.2-272.021v165.355H848.02l-.938-1.067-163.35-163.35-1.066-.938z",fill:e})}),q$e=({size:n="18",fill:e="#8A8A8A",...t})=>se("svg",{width:n,height:n,viewBox:"0 0 1024 1024",...t,children:se("path",{d:"M512 81.408a422.4 422.4 0 1 0 422.4 422.4A422.4 422.4 0 0 0 512 81.408zm26.624 629.76a45.056 45.056 0 0 1-31.232 12.288 42.496 42.496 0 0 1-31.232-12.8 41.984 41.984 0 0 1-12.8-30.72 39.424 39.424 0 0 1 12.8-30.72 42.496 42.496 0 0 1 31.232-12.288 43.008 43.008 0 0 1 31.744 12.288 39.424 39.424 0 0 1 12.8 30.72 43.008 43.008 0 0 1-13.312 31.744zm87.04-235.52a617.472 617.472 0 0 1-51.2 47.104 93.184 93.184 0 0 0-25.088 31.232 80.896 80.896 0 0 0-9.728 39.936v10.24h-64v-10.24a119.808 119.808 0 0 1 12.288-57.344A311.296 311.296 0 0 1 555.52 460.8l10.24-11.264a71.168 71.168 0 0 0 16.896-44.032A69.632 69.632 0 0 0 563.2 358.4a69.632 69.632 0 0 0-51.2-17.92 67.072 67.072 0 0 0-58.88 26.112 102.4 102.4 0 0 0-16.384 61.44h-61.44a140.288 140.288 0 0 1 37.888-102.4 140.8 140.8 0 0 1 104.96-38.4 135.68 135.68 0 0 1 96.256 29.184 108.032 108.032 0 0 1 36.352 86.528 116.736 116.736 0 0 1-25.088 73.216z",fill:e})}),eqe=({width:n="16",fill:e=_v,...t})=>se("svg",{width:n,height:n,viewBox:"0 0 24 24",...t,children:se("path",{fill:e,d:"M24 12a1 1 0 0 0-1-1h-3.91a.51.51 0 0 1-.49-.4 6.8 6.8 0 0 0-.94-2.28.5.5 0 0 1 .06-.63l2.77-2.76a1 1 0 1 0-1.42-1.42l-2.76 2.77a.5.5 0 0 1-.63.06 6.8 6.8 0 0 0-2.28-.94.5.5 0 0 1-.4-.49V1a1 1 0 0 0-2 0v3.91a.51.51 0 0 1-.4.49 6.8 6.8 0 0 0-2.28.94.5.5 0 0 1-.63-.06L4.93 3.51a1 1 0 0 0-1.42 1.42l2.77 2.76a.5.5 0 0 1 .06.63 6.8 6.8 0 0 0-.94 2.28.5.5 0 0 1-.49.4H1a1 1 0 0 0 0 2h3.91a.51.51 0 0 1 .49.4 6.8 6.8 0 0 0 .94 2.28.5.5 0 0 1-.06.63l-2.77 2.76a1 1 0 1 0 1.42 1.42l2.76-2.77a.5.5 0 0 1 .63-.06 6.8 6.8 0 0 0 2.28.94.5.5 0 0 1 .4.49V23a1 1 0 0 0 2 0v-3.91a.51.51 0 0 1 .4-.49 6.8 6.8 0 0 0 2.28-.94.5.5 0 0 1 .63.06l2.76 2.77a1 1 0 1 0 1.42-1.42l-2.77-2.76a.5.5 0 0 1-.06-.63 6.8 6.8 0 0 0 .94-2.28.5.5 0 0 1 .49-.4H23a1 1 0 0 0 1-1m-8.74 2.5A5.76 5.76 0 0 1 9.5 8.74a5.7 5.7 0 0 1 .16-1.31.49.49 0 0 1 .34-.36 5.4 5.4 0 0 1 1.8-.31 5.47 5.47 0 0 1 5.46 5.46 5.4 5.4 0 0 1-.31 1.8.49.49 0 0 1-.35.32 5.5 5.5 0 0 1-1.34.16"})});var vd=(n=>(n.url="url",n.file="file",n.text="text",n))(vd||{});const tqe=n=>({url:"login.urlModeImport",file:"login.fileModeImport",text:"login.textModeImport"})[n],nqe=(n,e)=>({url:se(j$e,{fill:e}),file:se(Q$e,{fill:e}),text:se($$e,{fill:e})})[n];/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function qde(n){return typeof n>"u"||n===null}function iqe(n){return typeof n=="object"&&n!==null}function rqe(n){return Array.isArray(n)?n:qde(n)?[]:[n]}function oqe(n,e){var t,i,r,o;if(e)for(o=Object.keys(e),t=0,i=o.length;ta&&(o=" ... ",e=i-a+o.length),t-i>a&&(s=" ...",t=i+a-s.length),{str:o+n.slice(e,t).replace(/\t/g,"→")+s,pos:i-e+o.length}}function VB(n,e){return nu.repeat(" ",e-n.length)+n}function fqe(n,e){if(e=Object.create(e||null),!n.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var t=/\r?\n|\r|\0/g,i=[0],r=[],o,s=-1;o=t.exec(n.buffer);)r.push(o.index),i.push(o.index+o[0].length),n.position<=o.index&&s<0&&(s=i.length-2);s<0&&(s=i.length-1);var a="",l,u,c=Math.min(n.line+e.linesAfter,r.length).toString().length,d=e.maxLength-(e.indent+c+3);for(l=1;l<=e.linesBefore&&!(s-l<0);l++)u=RB(n.buffer,i[s-l],r[s-l],n.position-(i[s]-i[s-l]),d),a=nu.repeat(" ",e.indent)+VB((n.line-l+1).toString(),c)+" | "+u.str+` -`+a;for(u=RB(n.buffer,i[s],r[s],n.position,d),a+=nu.repeat(" ",e.indent)+VB((n.line+1).toString(),c)+" | "+u.str+` + */var cce;function qUe(){if(cce)return AL;cce=1;var n=S,e=Symbol.for("react.element"),t=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,r=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function s(a,l,u){var c,d={},h=null,m=null;u!==void 0&&(h=""+u),l.key!==void 0&&(h=""+l.key),l.ref!==void 0&&(m=l.ref);for(c in l)i.call(l,c)&&!o.hasOwnProperty(c)&&(d[c]=l[c]);if(a&&a.defaultProps)for(c in l=a.defaultProps,l)d[c]===void 0&&(d[c]=l[c]);return{$$typeof:e,type:a,key:h,ref:m,props:d,_owner:r.current}}return AL.Fragment=t,AL.jsx=s,AL.jsxs=s,AL}uce.exports=qUe();var vb=uce.exports,Sc=vb.Fragment;function se(n,e,t){return N_.call(e,"css")?vb.jsx(LX,_X(n,e),t):vb.jsx(n,e,t)}function Gt(n,e,t){return N_.call(e,"css")?vb.jsxs(LX,_X(n,e),t):vb.jsxs(n,e,t)}function eKe({children:n}){const{i18n:e}=zs(),{configInfo:t}=fh(),i=(t==null?void 0:t.theme)==="dark",r={fontSize:Er.fontSize.xs},o={fontSize:Er.fontSize.xs,colorBgContainer:Xi.color.descCardBg,colorText:Xi.color.textLight,colorTextPlaceholder:Xi.color.textLight,colorBorder:Xi.color.border,colorTextQuaternary:Xi.color.textLight};return se(ey,{locale:(e==null?void 0:e.resolvedLanguage)===by.zh?mUe:q7e,theme:{components:{Layout:{siderBg:Xi.color.bg,triggerBg:Xi.color.bg,triggerColor:Xi.color.title},Form:i?{...r,labelColor:Xi.color.textLight}:r,Input:i?o:r,InputNumber:i?o:r,Radio:i?{colorText:Xi.color.textLight}:r,Popover:i?{colorBgElevated:Xi.color.bg}:{},Modal:i?{colorBgElevated:Xi.color.bgGray,titleColor:Xi.color.title}:{},Tabs:i?{colorBgContainer:Xi.color.descCardBg,colorText:Xi.color.textLight,colorBorderSecondary:Xi.color.border,cardBg:Xi.color.bgGray,colorTextDescription:Xi.color.textLight,itemActiveColor:Xi.color.textLight}:{},Button:i?{...o,colorBgContainerDisabled:Xi.color.descCardBg,colorTextDisabled:Xi.color.textLight,fontSize:Er.fontSize.xs}:{fontSize:Er.fontSize.xs},Upload:i?{...r,colorText:Xi.color.textLight,actionsColor:Xi.color.textLight,colorTextDescription:Xi.color.textLight,controlItemBgHover:Xi.color.descCardBg}:r,Select:i?{...o,colorBgElevated:Xi.color.bg,optionActiveBg:Xi.color.descCardBg,optionSelectedBg:Xi.color.descCardBg,multipleItemBg:Xi.color.bgGray}:r,Dropdown:i?{...o,colorBgElevated:Xi.color.bg,controlItemBgHover:Xi.color.descCardBg}:r,DatePicker:i?{...o,colorBgElevated:Xi.color.bg,colorTextHeading:Xi.color.textLight,controlItemBgHover:Xi.color.descCardBg,controlItemBgActive:Xi.color.descCardBg,colorTextDisabled:Xi.color.textLight}:r}},children:n})}var VL=(n=>(n.en="en",n.zh="zh",n))(VL||{}),tKe={BASE_URL:"/",MODE:"package",DEV:!1,PROD:!0,SSR:!1};function qE(){const n=tKe,e={appName:(n==null?void 0:n.VITE_appName)||"",appNameZH:(n==null?void 0:n.VITE_appNameZH)||"",baseURL:(n==null?void 0:n.VITE_baseURL)||"",version:(n==null?void 0:n.VITE_version)||"",env:(n==null?void 0:n.VITE_env)||""};{const t=nKe("app_config");return t?iKe(t):e}}function nKe(n){const e=document.getElementsByTagName("meta");for(let t=0;t{const r=i.split("=");return{...t,[r[0]]:r[1]}},{})}function rKe(){S.useEffect(()=>{n()},[]);function n(){const e=qE(),t=document.getElementsByTagName("title")||[];e.env===VL.zh&&t[0]&&(t[0].textContent=e.appNameZH)}return null}function dce(n,e){return function(){return n.apply(e,arguments)}}const{toString:oKe}=Object.prototype,{getPrototypeOf:KO}=Object,e5=(n=>e=>{const t=oKe.call(e);return n[t]||(n[t]=t.slice(8,-1).toLowerCase())})(Object.create(null)),xm=n=>(n=n.toLowerCase(),e=>e5(e)===n),t5=n=>e=>typeof e===n,{isArray:NS}=Array,GL=t5("undefined");function sKe(n){return n!==null&&!GL(n)&&n.constructor!==null&&!GL(n.constructor)&&fd(n.constructor.isBuffer)&&n.constructor.isBuffer(n)}const hce=xm("ArrayBuffer");function aKe(n){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(n):e=n&&n.buffer&&hce(n.buffer),e}const lKe=t5("string"),fd=t5("function"),mce=t5("number"),n5=n=>n!==null&&typeof n=="object",uKe=n=>n===!0||n===!1,i5=n=>{if(e5(n)!=="object")return!1;const e=KO(n);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in n)&&!(Symbol.iterator in n)},cKe=xm("Date"),dKe=xm("File"),hKe=xm("Blob"),mKe=xm("FileList"),fKe=n=>n5(n)&&fd(n.pipe),gKe=n=>{let e;return n&&(typeof FormData=="function"&&n instanceof FormData||fd(n.append)&&((e=e5(n))==="formdata"||e==="object"&&fd(n.toString)&&n.toString()==="[object FormData]"))},pKe=xm("URLSearchParams"),bKe=n=>n.trim?n.trim():n.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function XL(n,e,{allOwnKeys:t=!1}={}){if(n===null||typeof n>"u")return;let i,r;if(typeof n!="object"&&(n=[n]),NS(n))for(i=0,r=n.length;i0;)if(r=t[i],e===r.toLowerCase())return r;return null}const gce=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,pce=n=>!GL(n)&&n!==gce;function JO(){const{caseless:n}=pce(this)&&this||{},e={},t=(i,r)=>{const o=n&&fce(e,r)||r;i5(e[o])&&i5(i)?e[o]=JO(e[o],i):i5(i)?e[o]=JO({},i):NS(i)?e[o]=i.slice():e[o]=i};for(let i=0,r=arguments.length;i(XL(e,(r,o)=>{t&&fd(r)?n[o]=dce(r,t):n[o]=r},{allOwnKeys:i}),n),vKe=n=>(n.charCodeAt(0)===65279&&(n=n.slice(1)),n),CKe=(n,e,t,i)=>{n.prototype=Object.create(e.prototype,i),n.prototype.constructor=n,Object.defineProperty(n,"super",{value:e.prototype}),t&&Object.assign(n.prototype,t)},SKe=(n,e,t,i)=>{let r,o,s;const a={};if(e=e||{},n==null)return e;do{for(r=Object.getOwnPropertyNames(n),o=r.length;o-- >0;)s=r[o],(!i||i(s,n,e))&&!a[s]&&(e[s]=n[s],a[s]=!0);n=t!==!1&&KO(n)}while(n&&(!t||t(n,e))&&n!==Object.prototype);return e},wKe=(n,e,t)=>{n=String(n),(t===void 0||t>n.length)&&(t=n.length),t-=e.length;const i=n.indexOf(e,t);return i!==-1&&i===t},xKe=n=>{if(!n)return null;if(NS(n))return n;let e=n.length;if(!mce(e))return null;const t=new Array(e);for(;e-- >0;)t[e]=n[e];return t},_Ke=(n=>e=>n&&e instanceof n)(typeof Uint8Array<"u"&&KO(Uint8Array)),LKe=(n,e)=>{const i=(n&&n[Symbol.iterator]).call(n);let r;for(;(r=i.next())&&!r.done;){const o=r.value;e.call(n,o[0],o[1])}},IKe=(n,e)=>{let t;const i=[];for(;(t=n.exec(e))!==null;)i.push(t);return i},FKe=xm("HTMLFormElement"),DKe=n=>n.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(t,i,r){return i.toUpperCase()+r}),bce=(({hasOwnProperty:n})=>(e,t)=>n.call(e,t))(Object.prototype),NKe=xm("RegExp"),yce=(n,e)=>{const t=Object.getOwnPropertyDescriptors(n),i={};XL(t,(r,o)=>{let s;(s=e(r,o,n))!==!1&&(i[o]=s||r)}),Object.defineProperties(n,i)},MKe=n=>{yce(n,(e,t)=>{if(fd(n)&&["arguments","caller","callee"].indexOf(t)!==-1)return!1;const i=n[t];if(fd(i)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")})}})},kKe=(n,e)=>{const t={},i=r=>{r.forEach(o=>{t[o]=!0})};return NS(n)?i(n):i(String(n).split(e)),t},TKe=()=>{},EKe=(n,e)=>(n=+n,Number.isFinite(n)?n:e),jO="abcdefghijklmnopqrstuvwxyz",vce="0123456789",Cce={DIGIT:vce,ALPHA:jO,ALPHA_DIGIT:jO+jO.toUpperCase()+vce},RKe=(n=16,e=Cce.ALPHA_DIGIT)=>{let t="";const{length:i}=e;for(;n--;)t+=e[Math.random()*i|0];return t};function ZKe(n){return!!(n&&fd(n.append)&&n[Symbol.toStringTag]==="FormData"&&n[Symbol.iterator])}const WKe=n=>{const e=new Array(10),t=(i,r)=>{if(n5(i)){if(e.indexOf(i)>=0)return;if(!("toJSON"in i)){e[r]=i;const o=NS(i)?[]:{};return XL(i,(s,a)=>{const l=t(s,r+1);!GL(l)&&(o[a]=l)}),e[r]=void 0,o}}return i};return t(n,0)},AKe=xm("AsyncFunction"),Ft={isArray:NS,isArrayBuffer:hce,isBuffer:sKe,isFormData:gKe,isArrayBufferView:aKe,isString:lKe,isNumber:mce,isBoolean:uKe,isObject:n5,isPlainObject:i5,isUndefined:GL,isDate:cKe,isFile:dKe,isBlob:hKe,isRegExp:NKe,isFunction:fd,isStream:fKe,isURLSearchParams:pKe,isTypedArray:_Ke,isFileList:mKe,forEach:XL,merge:JO,extend:yKe,trim:bKe,stripBOM:vKe,inherits:CKe,toFlatObject:SKe,kindOf:e5,kindOfTest:xm,endsWith:wKe,toArray:xKe,forEachEntry:LKe,matchAll:IKe,isHTMLForm:FKe,hasOwnProperty:bce,hasOwnProp:bce,reduceDescriptors:yce,freezeMethods:MKe,toObjectSet:kKe,toCamelCase:DKe,noop:TKe,toFiniteNumber:EKe,findKey:fce,global:gce,isContextDefined:pce,ALPHABET:Cce,generateString:RKe,isSpecCompliantForm:ZKe,toJSONObject:WKe,isAsyncFn:AKe,isThenable:n=>n&&(n5(n)||fd(n))&&fd(n.then)&&fd(n.catch)};function dr(n,e,t,i,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=n,this.name="AxiosError",e&&(this.code=e),t&&(this.config=t),i&&(this.request=i),r&&(this.response=r)}Ft.inherits(dr,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:Ft.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const Sce=dr.prototype,wce={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(n=>{wce[n]={value:n}}),Object.defineProperties(dr,wce),Object.defineProperty(Sce,"isAxiosError",{value:!0}),dr.from=(n,e,t,i,r,o)=>{const s=Object.create(Sce);return Ft.toFlatObject(n,s,function(l){return l!==Error.prototype},a=>a!=="isAxiosError"),dr.call(s,n.message,e,t,i,r),s.cause=n,s.name=n.name,o&&Object.assign(s,o),s};const VKe=null;function QO(n){return Ft.isPlainObject(n)||Ft.isArray(n)}function xce(n){return Ft.endsWith(n,"[]")?n.slice(0,-2):n}function _ce(n,e,t){return n?n.concat(e).map(function(r,o){return r=xce(r),!t&&o?"["+r+"]":r}).join(t?".":""):e}function GKe(n){return Ft.isArray(n)&&!n.some(QO)}const XKe=Ft.toFlatObject(Ft,{},null,function(e){return/^is[A-Z]/.test(e)});function r5(n,e,t){if(!Ft.isObject(n))throw new TypeError("target must be an object");e=e||new FormData,t=Ft.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,function(g,b){return!Ft.isUndefined(b[g])});const i=t.metaTokens,r=t.visitor||c,o=t.dots,s=t.indexes,l=(t.Blob||typeof Blob<"u"&&Blob)&&Ft.isSpecCompliantForm(e);if(!Ft.isFunction(r))throw new TypeError("visitor must be a function");function u(f){if(f===null)return"";if(Ft.isDate(f))return f.toISOString();if(!l&&Ft.isBlob(f))throw new dr("Blob is not supported. Use a Buffer instead.");return Ft.isArrayBuffer(f)||Ft.isTypedArray(f)?l&&typeof Blob=="function"?new Blob([f]):Buffer.from(f):f}function c(f,g,b){let y=f;if(f&&!b&&typeof f=="object"){if(Ft.endsWith(g,"{}"))g=i?g:g.slice(0,-2),f=JSON.stringify(f);else if(Ft.isArray(f)&&GKe(f)||(Ft.isFileList(f)||Ft.endsWith(g,"[]"))&&(y=Ft.toArray(f)))return g=xce(g),y.forEach(function(w,x){!(Ft.isUndefined(w)||w===null)&&e.append(s===!0?_ce([g],x,o):s===null?g:g+"[]",u(w))}),!1}return QO(f)?!0:(e.append(_ce(b,g,o),u(f)),!1)}const d=[],h=Object.assign(XKe,{defaultVisitor:c,convertValue:u,isVisitable:QO});function m(f,g){if(!Ft.isUndefined(f)){if(d.indexOf(f)!==-1)throw Error("Circular reference detected in "+g.join("."));d.push(f),Ft.forEach(f,function(y,C){(!(Ft.isUndefined(y)||y===null)&&r.call(e,y,Ft.isString(C)?C.trim():C,g,h))===!0&&m(y,g?g.concat(C):[C])}),d.pop()}}if(!Ft.isObject(n))throw new TypeError("data must be an object");return m(n),e}function Lce(n){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(n).replace(/[!'()~]|%20|%00/g,function(i){return e[i]})}function $O(n,e){this._pairs=[],n&&r5(n,this,e)}const Ice=$O.prototype;Ice.append=function(e,t){this._pairs.push([e,t])},Ice.toString=function(e){const t=e?function(i){return e.call(this,i,Lce)}:Lce;return this._pairs.map(function(r){return t(r[0])+"="+t(r[1])},"").join("&")};function PKe(n){return encodeURIComponent(n).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Fce(n,e,t){if(!e)return n;const i=t&&t.encode||PKe,r=t&&t.serialize;let o;if(r?o=r(e,t):o=Ft.isURLSearchParams(e)?e.toString():new $O(e,t).toString(i),o){const s=n.indexOf("#");s!==-1&&(n=n.slice(0,s)),n+=(n.indexOf("?")===-1?"?":"&")+o}return n}class Dce{constructor(){this.handlers=[]}use(e,t,i){return this.handlers.push({fulfilled:e,rejected:t,synchronous:i?i.synchronous:!1,runWhen:i?i.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){Ft.forEach(this.handlers,function(i){i!==null&&e(i)})}}const Nce={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},OKe={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<"u"?URLSearchParams:$O,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]},Mce=typeof window<"u"&&typeof document<"u",BKe=(n=>Mce&&["ReactNative","NativeScript","NS"].indexOf(n)<0)(typeof navigator<"u"&&navigator.product),zKe=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",_m={...Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Mce,hasStandardBrowserEnv:BKe,hasStandardBrowserWebWorkerEnv:zKe},Symbol.toStringTag,{value:"Module"})),...OKe};function HKe(n,e){return r5(n,new _m.classes.URLSearchParams,Object.assign({visitor:function(t,i,r,o){return _m.isNode&&Ft.isBuffer(t)?(this.append(i,t.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)}},e))}function YKe(n){return Ft.matchAll(/\w+|\[(\w*)]/g,n).map(e=>e[0]==="[]"?"":e[1]||e[0])}function UKe(n){const e={},t=Object.keys(n);let i;const r=t.length;let o;for(i=0;i=t.length;return s=!s&&Ft.isArray(r)?r.length:s,l?(Ft.hasOwnProp(r,s)?r[s]=[r[s],i]:r[s]=i,!a):((!r[s]||!Ft.isObject(r[s]))&&(r[s]=[]),e(t,i,r[s],o)&&Ft.isArray(r[s])&&(r[s]=UKe(r[s])),!a)}if(Ft.isFormData(n)&&Ft.isFunction(n.entries)){const t={};return Ft.forEachEntry(n,(i,r)=>{e(YKe(i),r,t,0)}),t}return null}function KKe(n,e,t){if(Ft.isString(n))try{return(e||JSON.parse)(n),Ft.trim(n)}catch(i){if(i.name!=="SyntaxError")throw i}return(t||JSON.stringify)(n)}const qO={transitional:Nce,adapter:["xhr","http"],transformRequest:[function(e,t){const i=t.getContentType()||"",r=i.indexOf("application/json")>-1,o=Ft.isObject(e);if(o&&Ft.isHTMLForm(e)&&(e=new FormData(e)),Ft.isFormData(e))return r?JSON.stringify(kce(e)):e;if(Ft.isArrayBuffer(e)||Ft.isBuffer(e)||Ft.isStream(e)||Ft.isFile(e)||Ft.isBlob(e))return e;if(Ft.isArrayBufferView(e))return e.buffer;if(Ft.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let a;if(o){if(i.indexOf("application/x-www-form-urlencoded")>-1)return HKe(e,this.formSerializer).toString();if((a=Ft.isFileList(e))||i.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return r5(a?{"files[]":e}:e,l&&new l,this.formSerializer)}}return o||r?(t.setContentType("application/json",!1),KKe(e)):e}],transformResponse:[function(e){const t=this.transitional||qO.transitional,i=t&&t.forcedJSONParsing,r=this.responseType==="json";if(e&&Ft.isString(e)&&(i&&!this.responseType||r)){const s=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(a){if(s)throw a.name==="SyntaxError"?dr.from(a,dr.ERR_BAD_RESPONSE,this,null,this.response):a}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:_m.classes.FormData,Blob:_m.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};Ft.forEach(["delete","get","head","post","put","patch"],n=>{qO.headers[n]={}});const eB=qO,JKe=Ft.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),jKe=n=>{const e={};let t,i,r;return n&&n.split(` +`).forEach(function(s){r=s.indexOf(":"),t=s.substring(0,r).trim().toLowerCase(),i=s.substring(r+1).trim(),!(!t||e[t]&&JKe[t])&&(t==="set-cookie"?e[t]?e[t].push(i):e[t]=[i]:e[t]=e[t]?e[t]+", "+i:i)}),e},Tce=Symbol("internals");function PL(n){return n&&String(n).trim().toLowerCase()}function o5(n){return n===!1||n==null?n:Ft.isArray(n)?n.map(o5):String(n)}function QKe(n){const e=Object.create(null),t=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let i;for(;i=t.exec(n);)e[i[1]]=i[2];return e}const $Ke=n=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(n.trim());function tB(n,e,t,i,r){if(Ft.isFunction(i))return i.call(this,e,t);if(r&&(e=t),!!Ft.isString(e)){if(Ft.isString(i))return e.indexOf(i)!==-1;if(Ft.isRegExp(i))return i.test(e)}}function qKe(n){return n.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,i)=>t.toUpperCase()+i)}function eJe(n,e){const t=Ft.toCamelCase(" "+e);["get","set","has"].forEach(i=>{Object.defineProperty(n,i+t,{value:function(r,o,s){return this[i].call(this,e,r,o,s)},configurable:!0})})}class s5{constructor(e){e&&this.set(e)}set(e,t,i){const r=this;function o(a,l,u){const c=PL(l);if(!c)throw new Error("header name must be a non-empty string");const d=Ft.findKey(r,c);(!d||r[d]===void 0||u===!0||u===void 0&&r[d]!==!1)&&(r[d||l]=o5(a))}const s=(a,l)=>Ft.forEach(a,(u,c)=>o(u,c,l));return Ft.isPlainObject(e)||e instanceof this.constructor?s(e,t):Ft.isString(e)&&(e=e.trim())&&!$Ke(e)?s(jKe(e),t):e!=null&&o(t,e,i),this}get(e,t){if(e=PL(e),e){const i=Ft.findKey(this,e);if(i){const r=this[i];if(!t)return r;if(t===!0)return QKe(r);if(Ft.isFunction(t))return t.call(this,r,i);if(Ft.isRegExp(t))return t.exec(r);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=PL(e),e){const i=Ft.findKey(this,e);return!!(i&&this[i]!==void 0&&(!t||tB(this,this[i],i,t)))}return!1}delete(e,t){const i=this;let r=!1;function o(s){if(s=PL(s),s){const a=Ft.findKey(i,s);a&&(!t||tB(i,i[a],a,t))&&(delete i[a],r=!0)}}return Ft.isArray(e)?e.forEach(o):o(e),r}clear(e){const t=Object.keys(this);let i=t.length,r=!1;for(;i--;){const o=t[i];(!e||tB(this,this[o],o,e,!0))&&(delete this[o],r=!0)}return r}normalize(e){const t=this,i={};return Ft.forEach(this,(r,o)=>{const s=Ft.findKey(i,o);if(s){t[s]=o5(r),delete t[o];return}const a=e?qKe(o):String(o).trim();a!==o&&delete t[o],t[a]=o5(r),i[a]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return Ft.forEach(this,(i,r)=>{i!=null&&i!==!1&&(t[r]=e&&Ft.isArray(i)?i.join(", "):i)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+": "+t).join(` +`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const i=new this(e);return t.forEach(r=>i.set(r)),i}static accessor(e){const i=(this[Tce]=this[Tce]={accessors:{}}).accessors,r=this.prototype;function o(s){const a=PL(s);i[a]||(eJe(r,s),i[a]=!0)}return Ft.isArray(e)?e.forEach(o):o(e),this}}s5.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),Ft.reduceDescriptors(s5.prototype,({value:n},e)=>{let t=e[0].toUpperCase()+e.slice(1);return{get:()=>n,set(i){this[t]=i}}}),Ft.freezeMethods(s5);const ag=s5;function nB(n,e){const t=this||eB,i=e||t,r=ag.from(i.headers);let o=i.data;return Ft.forEach(n,function(a){o=a.call(t,o,r.normalize(),e?e.status:void 0)}),r.normalize(),o}function Ece(n){return!!(n&&n.__CANCEL__)}function OL(n,e,t){dr.call(this,n??"canceled",dr.ERR_CANCELED,e,t),this.name="CanceledError"}Ft.inherits(OL,dr,{__CANCEL__:!0});function tJe(n,e,t){const i=t.config.validateStatus;!t.status||!i||i(t.status)?n(t):e(new dr("Request failed with status code "+t.status,[dr.ERR_BAD_REQUEST,dr.ERR_BAD_RESPONSE][Math.floor(t.status/100)-4],t.config,t.request,t))}const nJe=_m.hasStandardBrowserEnv?{write(n,e,t,i,r,o){const s=[n+"="+encodeURIComponent(e)];Ft.isNumber(t)&&s.push("expires="+new Date(t).toGMTString()),Ft.isString(i)&&s.push("path="+i),Ft.isString(r)&&s.push("domain="+r),o===!0&&s.push("secure"),document.cookie=s.join("; ")},read(n){const e=document.cookie.match(new RegExp("(^|;\\s*)("+n+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(n){this.write(n,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function iJe(n){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(n)}function rJe(n,e){return e?n.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):n}function Rce(n,e){return n&&!iJe(e)?rJe(n,e):e}const oJe=_m.hasStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let i;function r(o){let s=o;return e&&(t.setAttribute("href",s),s=t.href),t.setAttribute("href",s),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:t.pathname.charAt(0)==="/"?t.pathname:"/"+t.pathname}}return i=r(window.location.href),function(s){const a=Ft.isString(s)?r(s):s;return a.protocol===i.protocol&&a.host===i.host}}():function(){return function(){return!0}}();function sJe(n){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(n);return e&&e[1]||""}function aJe(n,e){n=n||10;const t=new Array(n),i=new Array(n);let r=0,o=0,s;return e=e!==void 0?e:1e3,function(l){const u=Date.now(),c=i[o];s||(s=u),t[r]=l,i[r]=u;let d=o,h=0;for(;d!==r;)h+=t[d++],d=d%n;if(r=(r+1)%n,r===o&&(o=(o+1)%n),u-s{const o=r.loaded,s=r.lengthComputable?r.total:void 0,a=o-t,l=i(a),u=o<=s;t=o;const c={loaded:o,total:s,progress:s?o/s:void 0,bytes:a,rate:l||void 0,estimated:l&&s&&u?(s-o)/l:void 0,event:r};c[e?"download":"upload"]=!0,n(c)}}const iB={http:VKe,xhr:typeof XMLHttpRequest<"u"&&function(n){return new Promise(function(t,i){let r=n.data;const o=ag.from(n.headers).normalize();let{responseType:s,withXSRFToken:a}=n,l;function u(){n.cancelToken&&n.cancelToken.unsubscribe(l),n.signal&&n.signal.removeEventListener("abort",l)}let c;if(Ft.isFormData(r)){if(_m.hasStandardBrowserEnv||_m.hasStandardBrowserWebWorkerEnv)o.setContentType(!1);else if((c=o.getContentType())!==!1){const[g,...b]=c?c.split(";").map(y=>y.trim()).filter(Boolean):[];o.setContentType([g||"multipart/form-data",...b].join("; "))}}let d=new XMLHttpRequest;if(n.auth){const g=n.auth.username||"",b=n.auth.password?unescape(encodeURIComponent(n.auth.password)):"";o.set("Authorization","Basic "+btoa(g+":"+b))}const h=Rce(n.baseURL,n.url);d.open(n.method.toUpperCase(),Fce(h,n.params,n.paramsSerializer),!0),d.timeout=n.timeout;function m(){if(!d)return;const g=ag.from("getAllResponseHeaders"in d&&d.getAllResponseHeaders()),y={data:!s||s==="text"||s==="json"?d.responseText:d.response,status:d.status,statusText:d.statusText,headers:g,config:n,request:d};tJe(function(w){t(w),u()},function(w){i(w),u()},y),d=null}if("onloadend"in d?d.onloadend=m:d.onreadystatechange=function(){!d||d.readyState!==4||d.status===0&&!(d.responseURL&&d.responseURL.indexOf("file:")===0)||setTimeout(m)},d.onabort=function(){d&&(i(new dr("Request aborted",dr.ECONNABORTED,n,d)),d=null)},d.onerror=function(){i(new dr("Network Error",dr.ERR_NETWORK,n,d)),d=null},d.ontimeout=function(){let b=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded";const y=n.transitional||Nce;n.timeoutErrorMessage&&(b=n.timeoutErrorMessage),i(new dr(b,y.clarifyTimeoutError?dr.ETIMEDOUT:dr.ECONNABORTED,n,d)),d=null},_m.hasStandardBrowserEnv&&(a&&Ft.isFunction(a)&&(a=a(n)),a||a!==!1&&oJe(h))){const g=n.xsrfHeaderName&&n.xsrfCookieName&&nJe.read(n.xsrfCookieName);g&&o.set(n.xsrfHeaderName,g)}r===void 0&&o.setContentType(null),"setRequestHeader"in d&&Ft.forEach(o.toJSON(),function(b,y){d.setRequestHeader(y,b)}),Ft.isUndefined(n.withCredentials)||(d.withCredentials=!!n.withCredentials),s&&s!=="json"&&(d.responseType=n.responseType),typeof n.onDownloadProgress=="function"&&d.addEventListener("progress",Zce(n.onDownloadProgress,!0)),typeof n.onUploadProgress=="function"&&d.upload&&d.upload.addEventListener("progress",Zce(n.onUploadProgress)),(n.cancelToken||n.signal)&&(l=g=>{d&&(i(!g||g.type?new OL(null,n,d):g),d.abort(),d=null)},n.cancelToken&&n.cancelToken.subscribe(l),n.signal&&(n.signal.aborted?l():n.signal.addEventListener("abort",l)));const f=sJe(h);if(f&&_m.protocols.indexOf(f)===-1){i(new dr("Unsupported protocol "+f+":",dr.ERR_BAD_REQUEST,n));return}d.send(r||null)})}};Ft.forEach(iB,(n,e)=>{if(n){try{Object.defineProperty(n,"name",{value:e})}catch{}Object.defineProperty(n,"adapterName",{value:e})}});const Wce=n=>`- ${n}`,lJe=n=>Ft.isFunction(n)||n===null||n===!1,Ace={getAdapter:n=>{n=Ft.isArray(n)?n:[n];const{length:e}=n;let t,i;const r={};for(let o=0;o`adapter ${a} `+(l===!1?"is not supported by the environment":"is not available in the build"));let s=e?o.length>1?`since : +`+o.map(Wce).join(` +`):" "+Wce(o[0]):"as no adapter specified";throw new dr("There is no suitable adapter to dispatch the request "+s,"ERR_NOT_SUPPORT")}return i},adapters:iB};function rB(n){if(n.cancelToken&&n.cancelToken.throwIfRequested(),n.signal&&n.signal.aborted)throw new OL(null,n)}function Vce(n){return rB(n),n.headers=ag.from(n.headers),n.data=nB.call(n,n.transformRequest),["post","put","patch"].indexOf(n.method)!==-1&&n.headers.setContentType("application/x-www-form-urlencoded",!1),Ace.getAdapter(n.adapter||eB.adapter)(n).then(function(i){return rB(n),i.data=nB.call(n,n.transformResponse,i),i.headers=ag.from(i.headers),i},function(i){return Ece(i)||(rB(n),i&&i.response&&(i.response.data=nB.call(n,n.transformResponse,i.response),i.response.headers=ag.from(i.response.headers))),Promise.reject(i)})}const Gce=n=>n instanceof ag?{...n}:n;function MS(n,e){e=e||{};const t={};function i(u,c,d){return Ft.isPlainObject(u)&&Ft.isPlainObject(c)?Ft.merge.call({caseless:d},u,c):Ft.isPlainObject(c)?Ft.merge({},c):Ft.isArray(c)?c.slice():c}function r(u,c,d){if(Ft.isUndefined(c)){if(!Ft.isUndefined(u))return i(void 0,u,d)}else return i(u,c,d)}function o(u,c){if(!Ft.isUndefined(c))return i(void 0,c)}function s(u,c){if(Ft.isUndefined(c)){if(!Ft.isUndefined(u))return i(void 0,u)}else return i(void 0,c)}function a(u,c,d){if(d in e)return i(u,c);if(d in n)return i(void 0,u)}const l={url:o,method:o,data:o,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(u,c)=>r(Gce(u),Gce(c),!0)};return Ft.forEach(Object.keys(Object.assign({},n,e)),function(c){const d=l[c]||r,h=d(n[c],e[c],c);Ft.isUndefined(h)&&d!==a||(t[c]=h)}),t}const Xce="1.6.8",oB={};["object","boolean","number","function","string","symbol"].forEach((n,e)=>{oB[n]=function(i){return typeof i===n||"a"+(e<1?"n ":" ")+n}});const Pce={};oB.transitional=function(e,t,i){function r(o,s){return"[Axios v"+Xce+"] Transitional option '"+o+"'"+s+(i?". "+i:"")}return(o,s,a)=>{if(e===!1)throw new dr(r(s," has been removed"+(t?" in "+t:"")),dr.ERR_DEPRECATED);return t&&!Pce[s]&&(Pce[s]=!0),e?e(o,s,a):!0}};function uJe(n,e,t){if(typeof n!="object")throw new dr("options must be an object",dr.ERR_BAD_OPTION_VALUE);const i=Object.keys(n);let r=i.length;for(;r-- >0;){const o=i[r],s=e[o];if(s){const a=n[o],l=a===void 0||s(a,o,n);if(l!==!0)throw new dr("option "+o+" must be "+l,dr.ERR_BAD_OPTION_VALUE);continue}if(t!==!0)throw new dr("Unknown option "+o,dr.ERR_BAD_OPTION)}}const sB={assertOptions:uJe,validators:oB},Cb=sB.validators;class a5{constructor(e){this.defaults=e,this.interceptors={request:new Dce,response:new Dce}}async request(e,t){try{return await this._request(e,t)}catch(i){if(i instanceof Error){let r;Error.captureStackTrace?Error.captureStackTrace(r={}):r=new Error;const o=r.stack?r.stack.replace(/^.+\n/,""):"";i.stack?o&&!String(i.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(i.stack+=` +`+o):i.stack=o}throw i}}_request(e,t){typeof e=="string"?(t=t||{},t.url=e):t=e||{},t=MS(this.defaults,t);const{transitional:i,paramsSerializer:r,headers:o}=t;i!==void 0&&sB.assertOptions(i,{silentJSONParsing:Cb.transitional(Cb.boolean),forcedJSONParsing:Cb.transitional(Cb.boolean),clarifyTimeoutError:Cb.transitional(Cb.boolean)},!1),r!=null&&(Ft.isFunction(r)?t.paramsSerializer={serialize:r}:sB.assertOptions(r,{encode:Cb.function,serialize:Cb.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let s=o&&Ft.merge(o.common,o[t.method]);o&&Ft.forEach(["delete","get","head","post","put","patch","common"],f=>{delete o[f]}),t.headers=ag.concat(s,o);const a=[];let l=!0;this.interceptors.request.forEach(function(g){typeof g.runWhen=="function"&&g.runWhen(t)===!1||(l=l&&g.synchronous,a.unshift(g.fulfilled,g.rejected))});const u=[];this.interceptors.response.forEach(function(g){u.push(g.fulfilled,g.rejected)});let c,d=0,h;if(!l){const f=[Vce.bind(this),void 0];for(f.unshift.apply(f,a),f.push.apply(f,u),h=f.length,c=Promise.resolve(t);d{if(!i._listeners)return;let o=i._listeners.length;for(;o-- >0;)i._listeners[o](r);i._listeners=null}),this.promise.then=r=>{let o;const s=new Promise(a=>{i.subscribe(a),o=a}).then(r);return s.cancel=function(){i.unsubscribe(o)},s},e(function(o,s,a){i.reason||(i.reason=new OL(o,s,a),t(i.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1)}static source(){let e;return{token:new aB(function(r){e=r}),cancel:e}}}const cJe=aB;function dJe(n){return function(t){return n.apply(null,t)}}function hJe(n){return Ft.isObject(n)&&n.isAxiosError===!0}const lB={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(lB).forEach(([n,e])=>{lB[e]=n});const mJe=lB;function Oce(n){const e=new l5(n),t=dce(l5.prototype.request,e);return Ft.extend(t,l5.prototype,e,{allOwnKeys:!0}),Ft.extend(t,e,null,{allOwnKeys:!0}),t.create=function(r){return Oce(MS(n,r))},t}const Hs=Oce(eB);Hs.Axios=l5,Hs.CanceledError=OL,Hs.CancelToken=cJe,Hs.isCancel=Ece,Hs.VERSION=Xce,Hs.toFormData=r5,Hs.AxiosError=dr,Hs.Cancel=Hs.CanceledError,Hs.all=function(e){return Promise.all(e)},Hs.spread=dJe,Hs.isAxiosError=hJe,Hs.mergeConfig=MS,Hs.AxiosHeaders=ag,Hs.formToJSON=n=>kce(Ft.isHTMLForm(n)?new FormData(n):n),Hs.getAdapter=Ace.getAdapter,Hs.HttpStatusCode=mJe,Hs.default=Hs;var Bce=typeof global=="object"&&global&&global.Object===Object&&global,fJe=typeof self=="object"&&self&&self.Object===Object&&self,Lm=Bce||fJe||Function("return this")(),Im=Lm.Symbol,zce=Object.prototype,gJe=zce.hasOwnProperty,pJe=zce.toString,BL=Im?Im.toStringTag:void 0;function bJe(n){var e=gJe.call(n,BL),t=n[BL];try{n[BL]=void 0;var i=!0}catch{}var r=pJe.call(n);return i&&(e?n[BL]=t:delete n[BL]),r}var yJe=Object.prototype,vJe=yJe.toString;function CJe(n){return vJe.call(n)}var SJe="[object Null]",wJe="[object Undefined]",Hce=Im?Im.toStringTag:void 0;function yy(n){return n==null?n===void 0?wJe:SJe:Hce&&Hce in Object(n)?bJe(n):CJe(n)}function vy(n){return n!=null&&typeof n=="object"}var xJe="[object Symbol]";function kS(n){return typeof n=="symbol"||vy(n)&&yy(n)==xJe}function Cy(n,e){for(var t=-1,i=n==null?0:n.length,r=Array(i);++t0){if(++e>=qJe)return arguments[0]}else e=0;return n.apply(void 0,arguments)}}function i8e(n){return function(){return n}}var u5=function(){try{var n=wy(Object,"defineProperty");return n({},"",{}),n}catch{}}(),r8e=u5?function(n,e){return u5(n,"toString",{configurable:!0,enumerable:!1,value:i8e(e),writable:!0})}:zL,$ce=n8e(r8e);function o8e(n,e){for(var t=-1,i=n==null?0:n.length;++t-1}var u8e=9007199254740991,c8e=/^(?:0|[1-9]\d*)$/;function c5(n,e){var t=typeof n;return e=e??u8e,!!e&&(t=="number"||t!="symbol"&&c8e.test(n))&&n>-1&&n%1==0&&n-1&&n%1==0&&n<=f8e}function lg(n){return n!=null&&gB(n.length)&&!jce(n)}function m5(n,e,t){if(!fs(t))return!1;var i=typeof e;return(i=="number"?lg(t)&&c5(e,t.length):i=="string"&&e in t)?h5(t[e],n):!1}function g8e(n){return ide(function(e,t){var i=-1,r=t.length,o=r>1?t[r-1]:void 0,s=r>2?t[2]:void 0;for(o=n.length>3&&typeof o=="function"?(r--,o):void 0,s&&m5(t[0],t[1],s)&&(o=r<3?void 0:o,r=1),e=Object(e);++i-1}function kje(n,e){var t=this.__data__,i=b5(t,n);return i<0?(++this.size,t.push([n,e])):t[i][1]=e,this}function ug(n){var e=-1,t=n==null?0:n.length;for(this.clear();++e0&&t(a)?e>1?SB(a,e-1,t,i,r):CB(r,a):i||(r[r.length]=a)}return r}function Uje(n){var e=n==null?0:n.length;return e?SB(n,1):[]}function Kje(n){return $ce(nde(n,void 0,Uje),n+"")}var Jje=fde(Object.getPrototypeOf,Object);function jje(n,e,t,i){var r=-1,o=n==null?0:n.length;for(i&&o&&(t=n[++r]);++r=e?n:e)),n}function $je(){this.__data__=new ug,this.size=0}function qje(n){var e=this.__data__,t=e.delete(n);return this.size=e.size,t}function eQe(n){return this.__data__.get(n)}function tQe(n){return this.__data__.has(n)}var nQe=200;function iQe(n,e){var t=this.__data__;if(t instanceof ug){var i=t.__data__;if(!UL||i.lengtha))return!1;var u=o.get(n),c=o.get(e);if(u&&c)return u==e&&c==n;var d=-1,h=!0,m=t&SQe?new jL:void 0;for(o.set(n,e),o.set(e,n);++d=e||D<0||d&&N>=o}function y(){var I=DB();if(b(I))return C(I);a=setTimeout(y,g(I))}function C(I){return a=void 0,h&&i?m(I):(i=r=void 0,s)}function w(){a!==void 0&&clearTimeout(a),u=0,i=l=r=a=void 0}function x(){return a===void 0?s:C(DB())}function L(){var I=DB(),D=b(I);if(i=arguments,r=this,l=I,D){if(a===void 0)return f(l);if(d)return clearTimeout(a),a=setTimeout(y,e),m(l)}return a===void 0&&(a=setTimeout(y,e)),s}return L.cancel=w,L.flush=x,L}function d$e(n,e,t){for(var i=-1,r=n==null?0:n.length;++i-1?r[o?e[s]:s]:void 0}}var g$e=Math.max;function Bde(n,e,t){var i=n==null?0:n.length;if(!i)return-1;var r=t==null?0:dB(t);return r<0&&(r=g$e(i+r,0)),qce(n,gh(e),r)}var p$e=f$e(Bde);function zde(n){return n&&n.length?n[0]:void 0}function Hde(n,e){var t=-1,i=lg(n)?Array(n.length):[];return ES(n,function(r,o,s){i[++t]=e(r,o,s)}),i}function xo(n,e){var t=da(n)?Cy:Hde;return t(n,gh(e))}var b$e=Object.prototype,y$e=b$e.hasOwnProperty,v$e=a$e(function(n,e,t){y$e.call(n,t)?n[t].push(e):d5(n,t,[e])}),C$e=Object.prototype,S$e=C$e.hasOwnProperty;function w$e(n,e){return n!=null&&S$e.call(n,e)}function pd(n,e){return n!=null&&Gde(n,e,w$e)}var x$e="[object String]";function Yde(n){return typeof n=="string"||!da(n)&&vy(n)&&yy(n)==x$e}function _$e(n,e){return Cy(e,function(t){return n[t]})}function w5(n){return n==null?[]:_$e(n,gd(n))}var L$e=Math.max;function Fu(n,e,t,i){n=lg(n)?n:w5(n),t=t&&!i?dB(t):0;var r=n.length;return t<0&&(t=L$e(r+t,0)),Yde(n)?t<=r&&n.indexOf(e,t)>-1:!!r&&ede(n,e,t)>-1}var I$e="[object Map]",F$e="[object Set]",D$e=Object.prototype,N$e=D$e.hasOwnProperty;function Fs(n){if(n==null)return!0;if(lg(n)&&(da(n)||typeof n=="string"||typeof n.splice=="function"||p5(n)||bB(n)||g5(n)))return!n.length;var e=_B(n);if(e==I$e||e==F$e)return!n.size;if(f5(n))return!gde(n).length;for(var t in n)if(N$e.call(n,t))return!1;return!0}function Ude(n){return n===void 0}function M$e(n,e){var t={};return e=gh(e),Pde(n,function(i,r,o){d5(t,r,e(i,r,o))}),t}var k$e="Expected a function";function T$e(n){if(typeof n!="function")throw new TypeError(k$e);return function(){var e=arguments;switch(e.length){case 0:return!n.call(this);case 1:return!n.call(this,e[0]);case 2:return!n.call(this,e[0],e[1]);case 3:return!n.call(this,e[0],e[1],e[2])}return!n.apply(this,e)}}function E$e(n,e,t,i){if(!fs(n))return n;e=v5(e,n);for(var r=-1,o=e.length,s=o-1,a=n;a!=null&&++re||o&&s&&l&&!a&&!u||i&&s&&l||!t&&l||!r)return 1;if(!i&&!o&&!u&&n=a)return l;var u=t[i];return l*(u=="desc"?-1:1)}}return n.index-e.index}function V$e(n,e,t){e.length?e=Cy(e,function(o){return da(o)?function(s){return C5(s,o.length===1?o[0]:o)}:o}):e=[zL];var i=-1;e=Cy(e,ude(gh));var r=Hde(n,function(o,s,a){var l=Cy(e,function(u){return u(o)});return{criteria:l,index:++i,value:o}});return Z$e(r,function(o,s){return A$e(o,s,t)})}function G$e(n,e){return Kde(n,e,function(t,i){return Xde(n,i)})}var MB=Kje(function(n,e){return n==null?{}:G$e(n,e)});function X$e(n,e,t,i,r){return r(n,function(o,s,a){t=i?(i=!1,o):e(t,o,s,a)}),t}function ph(n,e,t){var i=da(n)?jje:X$e,r=arguments.length<3;return i(n,gh(e),t,r,ES)}function RS(){var n=arguments,e=KL(n[0]);return n.length<3?e:e.replace(n[1],n[2])}function P$e(n,e){var t;return ES(n,function(i,r,o){return t=e(i,r,o),!t}),!!t}function O$e(n,e,t){var i=da(n)?Mde:P$e;return t&&m5(n,e,t)&&(e=void 0),i(n,gh(e))}var kB=ide(function(n,e){if(n==null)return[];var t=e.length;return t>1&&m5(n,e[0],e[1])?e=[]:t>2&&m5(e[0],e[1],e[2])&&(e=[e[0]]),V$e(n,SB(e,1),[])});function Jde(n,e,t){return n=KL(n),t=t==null?0:Qje(dB(t),0,n.length),e=uB(e),n.slice(t,t+e.length)==e}var B$e="Expected a function";function TB(n,e,t){var i=!0,r=!0;if(typeof n!="function")throw new TypeError(B$e);return fs(t)&&(i="leading"in t?!!t.leading:i,r="trailing"in t?!!t.trailing:r),Ode(n,e,{leading:i,maxWait:e,trailing:r})}function bh(n){return KL(n).toLowerCase()}function jde(n){return KL(n).toUpperCase()}var z$e=1/0,H$e=TS&&1/LB(new TS([,-0]))[1]==z$e?function(n){return new TS(n)}:$Je,Y$e=200;function U$e(n,e,t){var i=-1,r=l8e,o=n.length,s=!0,a=[],l=a;if(t)s=!1,r=d$e;else if(o>=Y$e){var u=e?null:H$e(n);if(u)return LB(u);s=!1,r=kde,l=new jL}else l=e?[]:a;e:for(;++i(n.get="get",n.post="post",n.put="put",n.patch="patch",n.delete="delete",n.options="options",n.head="head",n))(yh||{});function J$e(){const n=globalThis.sessionStorage.getItem(lce);return(n?JSON.parse(n):BUe).state.configInfo}const Qde=120;function QL(n){let e=Qde*1e3;const t=J$e();return t!=null&&t.timeout&&(e=t.timeout*1e3),n={method:yh.get,timeout:e,...n},~Bde(w5(n.params),i=>Array.isArray(i))&&(n.paramsSerializer=i=>Sb(xo(gd(x5(i,r=>!!r)),r=>{const o=i[r];return Array.isArray(o)?xo(Sb(o,a=>!!a),a=>`${encodeURIComponent(r)}=${encodeURIComponent(a)}`).join("&"):`${encodeURIComponent(r)}=${encodeURIComponent(o)}`}),r=>!!r).join("&")),Hs(n).catch(i=>{var o,s;const r=(o=i==null?void 0:i.response)==null?void 0:o.data;return c6e.error({message:(r==null?void 0:r.message)||(r==null?void 0:r.msg)||r||((s=i==null?void 0:i.response)==null?void 0:s.statusText)||(i==null?void 0:i.message)||"api request is error, please check",duration:2}),i.response})}const Ly=md.color.text,$de=({size:n="16",fill:e="#FF6C37",...t})=>se("svg",{width:n,height:n,viewBox:"0 0 1024 1024",...t,children:se("path",{d:"M577.165 4.216C296.745-31.752 40.196 166.396 4.228 446.847c-35.968 280.42 162.146 536.937 442.599 572.937 280.453 35.968 537.065-162.178 572.937-442.63 35.999-280.421-162.082-536.938-442.6-572.938zm105.442 319.366a36.466 36.466 0 0 0-25.31 10.656l-189.99 189.986-40.545-40.545C614.03 296.957 647.79 295.165 682.607 323.55zM475.11 530.977l189.447-189.443a26.47 26.47 0 1 1 36.192 38.528l-.032.032-200.482 176.004zm14.09 29.633-46.949 10.143a2.87 2.87 0 0 1-.576.064 2.632 2.632 0 0 1-2.3-1.408 2.477 2.477 0 0 1-.352-1.28 2.51 2.51 0 0 1 .768-1.824l27.516-27.517zm-119.622-19.585 50.016-50.017 37.507 37.472-84.45 18.177a3.045 3.045 0 0 1-.8.1 3.1 3.1 0 0 1-2.815-1.76v-.032a2.979 2.979 0 0 1-.48-1.664 3.163 3.163 0 0 1 1.024-2.3zM214.023 799.493a3.238 3.238 0 0 1-2.944-3.232v-.32a3.3 3.3 0 0 1 .928-1.952h.1l40.353-40.353 52.13 52.129zm103.458-53.599a9.764 9.764 0 0 0-5.248 8.64 9.345 9.345 0 0 0 .288 2.336v-.064l8.672 36.9a5.328 5.328 0 0 1-5.19 6.62 5.263 5.263 0 0 1-3.807-1.6h-.128l-52.385-52.45 160.518-160.354 77.666-16.769 37.28 37.28c-53.537 47.01-126.754 93.922-217.603 139.426zM542.733 599.65h-.1l-35.808-35.809L707.31 387.838a41.607 41.607 0 0 0 5.024-5.343l.064-.1c-6.3 57.376-86.561 138.465-169.696 217.219zm156.034-275.657-.128-.1a77.753 77.753 0 0 1 105.054-114.425l-.128-.1-68.706 68.833a5.1 5.1 0 0 0 0 7.232l53.217 53.217a77.457 77.457 0 0 1-89.28-14.62zm109.986 0a72.27 72.27 0 0 1-11.3 9.12l-.288.16h-.032l-51.489-51.49 65.41-65.408a77.776 77.776 0 0 1-2.301 107.618zm-4.26-65.853a6.09 6.09 0 0 0-2.528 4.928 6.377 6.377 0 0 0 .256 1.792v-.032a17.775 17.775 0 0 1-2.3 19.233l.032-.032a5.974 5.974 0 0 0 .992 8.384 6.023 6.023 0 0 0 3.584 1.28 6 6 0 0 0 4.512-2.112 29.45 29.45 0 0 0 3.616-32.193l.064.16a5.886 5.886 0 0 0-8.288-1.408h.032z",fill:e})}),EB=({size:n="16",fill:e=Ly,...t})=>Gt("svg",{width:n,height:n,viewBox:"0 0 1024 1024",...t,children:[se("path",{d:"M896 629.333c-17.067 0-32 14.934-32 32V832c0 6.4-4.267 10.667-10.667 10.667H170.667c-6.4 0-10.667-4.267-10.667-10.667V661.333c0-17.066-14.933-32-32-32s-32 14.934-32 32V832c0 40.533 34.133 74.667 74.667 74.667h682.666C893.867 906.667 928 872.533 928 832V661.333c0-17.066-14.933-32-32-32z",fill:e}),se("path",{d:"M322.133 407.467 480 249.6V704c0 17.067 14.933 32 32 32s32-14.933 32-32V247.467l157.867 157.866c6.4 6.4 14.933 8.534 23.466 8.534s17.067-2.134 23.467-8.534c12.8-12.8 12.8-32 0-44.8L535.467 147.2c-12.8-12.8-32-12.8-44.8 0L277.333 360.533c-12.8 12.8-12.8 32 0 44.8 10.667 12.8 32 12.8 44.8 2.134z",fill:e})]}),RB=({size:n="14",fill:e=Ly,...t})=>se("svg",{width:n,height:n,viewBox:"0 0 1024 1024",...t,children:se("path",{d:"M881 483H541V142c0-16.5-13.3-30-29.5-30S482 125.5 482 142v341H141c-16.5 0-30 13.3-30 29.5s13.5 29.5 30 29.5h341v340c0 16.5 13.3 30 29.5 30s29.5-13.5 29.5-30V542h340c16.5 0 30-13.3 30-29.5S897.5 483 881 483z",fill:e})}),ZB=({size:n="14",fill:e=Ly,...t})=>se("svg",{width:n,height:n,viewBox:"0 0 1025 1024",...t,children:se("path",{d:"M895.531 534.934H126.604c-13.571 0-24.573-11.002-24.573-24.573s11.002-24.573 24.573-24.573h768.927c13.572 0 24.573 11.001 24.573 24.573s-11.001 24.573-24.573 24.573z",fill:e})}),j$e=({size:n="18",fill:e=Ly,...t})=>Gt("svg",{width:n,height:n,viewBox:"0 0 1024 1024",...t,children:[se("path",{d:"M578.133 675.627c-3.306-3.307-8.746-3.307-12.053 0L442.133 799.573c-57.386 57.387-154.24 63.467-217.6 0-63.466-63.466-57.386-160.213 0-217.6L348.48 458.027c3.307-3.307 3.307-8.747 0-12.054l-42.453-42.453c-3.307-3.307-8.747-3.307-12.054 0L170.027 527.467c-90.24 90.24-90.24 236.266 0 326.4s236.266 90.24 326.4 0L620.373 729.92c3.307-3.307 3.307-8.747 0-12.053l-42.24-42.24zm275.84-505.6c-90.24-90.24-236.266-90.24-326.4 0L403.52 293.973c-3.307 3.307-3.307 8.747 0 12.054l42.347 42.346c3.306 3.307 8.746 3.307 12.053 0l123.947-123.946c57.386-57.387 154.24-63.467 217.6 0 63.466 63.466 57.386 160.213 0 217.6L675.52 565.973c-3.307 3.307-3.307 8.747 0 12.054l42.453 42.453c3.307 3.307 8.747 3.307 12.054 0l123.946-123.947c90.134-90.24 90.134-236.266 0-326.506z",fill:e}),se("path",{d:"M616.64 362.987c-3.307-3.307-8.747-3.307-12.053 0l-241.6 241.493c-3.307 3.307-3.307 8.747 0 12.053l42.24 42.24c3.306 3.307 8.746 3.307 12.053 0L658.773 417.28c3.307-3.307 3.307-8.747 0-12.053l-42.133-42.24z",fill:e})]}),Q$e=({size:n="18",fill:e=Ly,...t})=>se("svg",{width:n,height:n,viewBox:"0 0 1024 1024",...t,children:se("path",{d:"M208 776h-33.467c-21.396 0-29.155-2.228-36.977-6.411-7.823-4.184-13.961-10.322-18.145-18.145-4.183-7.822-6.411-15.58-6.411-36.977V597.533c0-21.396 2.228-29.155 6.411-36.977 4.184-7.823 10.322-13.961 18.145-18.145 7.822-4.183 15.58-6.411 36.977-6.411H208V125.533c0-21.396 2.228-29.155 6.411-36.977 4.184-7.823 10.322-13.961 18.145-18.145 7.822-4.183 15.58-6.411 36.977-6.411h439.85c10.037-.702 20.312 2.783 27.985 10.456l164.048 164.049c7.04 7.04 10.555 16.269 10.544 25.495h.04v634.467c0 21.396-2.228 29.155-6.411 36.977-4.184 7.823-10.322 13.961-18.145 18.145-7.822 4.183-15.58 6.411-36.977 6.411H269.533c-21.396 0-29.155-2.228-36.977-6.411-7.823-4.184-13.961-10.322-18.145-18.145-4.183-7.822-6.411-15.58-6.411-36.977V776zm64-240h451.467c21.396 0 29.155 2.228 36.977 6.411 7.823 4.184 13.961 10.322 18.145 18.145 4.183 7.822 6.411 15.58 6.411 36.977v116.934c0 21.396-2.228 29.155-6.411 36.977-4.184 7.823-10.322 13.961-18.145 18.145-7.822 4.183-15.58 6.411-36.977 6.411H272v120h576V286.912L689.088 128H272v408zm-26.28 55.197v79.453c0 7.852-1.04 13.433-3.12 16.744-2.08 3.31-5.346 4.965-9.8 4.965-2.812 0-4.98-.556-6.503-1.67-2.227-1.699-3.809-3.925-4.746-6.68-.938-2.753-1.436-6.972-1.494-12.655L182 676.539c.703 9.961 3.003 18.325 6.9 25.093 3.896 6.767 9.418 11.909 16.567 15.425 7.148 3.515 17.226 5.273 30.234 5.273 12.305 0 22.398-2.666 30.278-7.998 7.881-5.332 13.125-11.836 15.733-19.512 2.607-7.676 3.911-18.867 3.911-33.574v-70.049h-39.902zm59.503 86.221c1.113 13.008 5.888 23.73 14.326 32.168 8.437 8.437 23.613 12.656 45.527 12.656 12.48 0 22.822-1.802 31.026-5.405 8.203-3.604 14.59-8.892 19.16-15.864 4.57-6.973 6.855-14.59 6.855-22.852 0-7.031-1.714-13.389-5.141-19.072-3.428-5.684-8.907-10.444-16.436-14.282-7.53-3.838-19.995-7.632-37.397-11.382-7.032-1.465-11.485-3.047-13.36-4.746-1.933-1.641-2.9-3.487-2.9-5.537 0-2.813 1.172-5.2 3.515-7.164 2.344-1.962 5.83-2.944 10.46-2.944 5.624 0 10.034 1.318 13.227 3.955 3.193 2.637 5.288 6.856 6.284 12.656l37.53-2.197c-1.641-13.36-6.783-23.1-15.425-29.223-8.643-6.124-21.197-9.185-37.661-9.185-13.419 0-23.98 1.685-31.685 5.054-7.705 3.369-13.477 7.998-17.315 13.886-3.837 5.89-5.756 12.144-5.756 18.765 0 10.078 3.75 18.37 11.25 24.873 7.441 6.504 19.892 11.719 37.353 15.645 10.664 2.343 17.461 4.834 20.39 7.47 2.93 2.637 4.395 5.625 4.395 8.965 0 3.516-1.538 6.607-4.614 9.273-3.076 2.666-7.456 3.999-13.14 3.999-7.617 0-13.476-2.608-17.578-7.823-2.52-3.222-4.19-7.91-5.01-14.062l-37.88 2.373zm131.923-21.709c0 15.059 2.96 27.598 8.877 37.617 5.918 10.02 13.638 17.344 23.16 21.973 9.521 4.629 21.547 6.943 36.079 6.943 14.297 0 26.235-2.68 35.815-8.042 9.58-5.361 16.904-12.861 21.973-22.5 5.068-9.639 7.602-21.987 7.602-37.046 0-20.742-5.8-36.87-17.402-48.383C541.648 594.757 525.125 589 503.68 589c-20.918 0-37.237 5.86-48.955 17.578-11.72 11.719-17.579 28.096-17.579 49.131zm39.815.176c0-13.125 2.432-22.53 7.295-28.213 4.863-5.684 11.308-8.526 19.336-8.526 8.379 0 15.014 2.798 19.907 8.394 4.893 5.596 7.339 14.458 7.339 26.587 0 14.414-2.344 24.404-7.031 29.97-4.688 5.567-11.309 8.35-19.864 8.35-8.32 0-14.897-2.842-19.731-8.525-4.834-5.684-7.251-15.03-7.251-28.037zm115.4-64.688v128.848h37.442v-70.752l48.252 70.752h37.529V591.197h-37.53v71.28l-48.515-71.28h-37.178z",fill:e})}),$$e=({size:n="18",fill:e=Ly,...t})=>se("svg",{width:n,height:n,viewBox:"0 0 1024 1024",...t,children:se("path",{d:"M668.65 64a85.333 85.333 0 0 1 60.353 25.003L892.33 252.33a85.333 85.333 0 0 1 25.002 60.352V832a128 128 0 0 1-128 128H234.667a128 128 0 0 1-128-128V192a128 128 0 0 1 128-128H668.65zm-49.983 64h-384a64 64 0 0 0-63.894 60.245l-.106 3.755v640a64 64 0 0 0 60.245 63.893l3.755.107h554.666a64 64 0 0 0 63.894-60.245l.106-3.755V362.667H682.667a64 64 0 0 1-64-64V128zm140.8 405.333c4.693 0 8.533 3.84 8.533 8.534V588.8a8.533 8.533 0 0 1-8.533 8.533H264.533A8.533 8.533 0 0 1 256 588.8v-46.933c0-4.694 3.84-8.534 8.533-8.534h494.934zm-256-128c4.693 0 8.533 3.84 8.533 8.534V460.8a8.533 8.533 0 0 1-8.533 8.533H264.533A8.533 8.533 0 0 1 256 460.8v-46.933c0-4.694 3.84-8.534 8.533-8.534h238.934zm179.2-272.021v165.355H848.02l-.938-1.067-163.35-163.35-1.066-.938z",fill:e})}),q$e=({size:n="18",fill:e="#8A8A8A",...t})=>se("svg",{width:n,height:n,viewBox:"0 0 1024 1024",...t,children:se("path",{d:"M512 81.408a422.4 422.4 0 1 0 422.4 422.4A422.4 422.4 0 0 0 512 81.408zm26.624 629.76a45.056 45.056 0 0 1-31.232 12.288 42.496 42.496 0 0 1-31.232-12.8 41.984 41.984 0 0 1-12.8-30.72 39.424 39.424 0 0 1 12.8-30.72 42.496 42.496 0 0 1 31.232-12.288 43.008 43.008 0 0 1 31.744 12.288 39.424 39.424 0 0 1 12.8 30.72 43.008 43.008 0 0 1-13.312 31.744zm87.04-235.52a617.472 617.472 0 0 1-51.2 47.104 93.184 93.184 0 0 0-25.088 31.232 80.896 80.896 0 0 0-9.728 39.936v10.24h-64v-10.24a119.808 119.808 0 0 1 12.288-57.344A311.296 311.296 0 0 1 555.52 460.8l10.24-11.264a71.168 71.168 0 0 0 16.896-44.032A69.632 69.632 0 0 0 563.2 358.4a69.632 69.632 0 0 0-51.2-17.92 67.072 67.072 0 0 0-58.88 26.112 102.4 102.4 0 0 0-16.384 61.44h-61.44a140.288 140.288 0 0 1 37.888-102.4 140.8 140.8 0 0 1 104.96-38.4 135.68 135.68 0 0 1 96.256 29.184 108.032 108.032 0 0 1 36.352 86.528 116.736 116.736 0 0 1-25.088 73.216z",fill:e})}),eqe=({width:n="16",fill:e=Ly,...t})=>se("svg",{width:n,height:n,viewBox:"0 0 24 24",...t,children:se("path",{fill:e,d:"M24 12a1 1 0 0 0-1-1h-3.91a.51.51 0 0 1-.49-.4 6.8 6.8 0 0 0-.94-2.28.5.5 0 0 1 .06-.63l2.77-2.76a1 1 0 1 0-1.42-1.42l-2.76 2.77a.5.5 0 0 1-.63.06 6.8 6.8 0 0 0-2.28-.94.5.5 0 0 1-.4-.49V1a1 1 0 0 0-2 0v3.91a.51.51 0 0 1-.4.49 6.8 6.8 0 0 0-2.28.94.5.5 0 0 1-.63-.06L4.93 3.51a1 1 0 0 0-1.42 1.42l2.77 2.76a.5.5 0 0 1 .06.63 6.8 6.8 0 0 0-.94 2.28.5.5 0 0 1-.49.4H1a1 1 0 0 0 0 2h3.91a.51.51 0 0 1 .49.4 6.8 6.8 0 0 0 .94 2.28.5.5 0 0 1-.06.63l-2.77 2.76a1 1 0 1 0 1.42 1.42l2.76-2.77a.5.5 0 0 1 .63-.06 6.8 6.8 0 0 0 2.28.94.5.5 0 0 1 .4.49V23a1 1 0 0 0 2 0v-3.91a.51.51 0 0 1 .4-.49 6.8 6.8 0 0 0 2.28-.94.5.5 0 0 1 .63.06l2.76 2.77a1 1 0 1 0 1.42-1.42l-2.77-2.76a.5.5 0 0 1-.06-.63 6.8 6.8 0 0 0 .94-2.28.5.5 0 0 1 .49-.4H23a1 1 0 0 0 1-1m-8.74 2.5A5.76 5.76 0 0 1 9.5 8.74a5.7 5.7 0 0 1 .16-1.31.49.49 0 0 1 .34-.36 5.4 5.4 0 0 1 1.8-.31 5.47 5.47 0 0 1 5.46 5.46 5.4 5.4 0 0 1-.31 1.8.49.49 0 0 1-.35.32 5.5 5.5 0 0 1-1.34.16"})});var bd=(n=>(n.url="url",n.file="file",n.text="text",n))(bd||{});const tqe=n=>({url:"login.urlModeImport",file:"login.fileModeImport",text:"login.textModeImport"})[n],nqe=(n,e)=>({url:se(j$e,{fill:e}),file:se(Q$e,{fill:e}),text:se($$e,{fill:e})})[n];/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function qde(n){return typeof n>"u"||n===null}function iqe(n){return typeof n=="object"&&n!==null}function rqe(n){return Array.isArray(n)?n:qde(n)?[]:[n]}function oqe(n,e){var t,i,r,o;if(e)for(o=Object.keys(e),t=0,i=o.length;ta&&(o=" ... ",e=i-a+o.length),t-i>a&&(s=" ...",t=i+a-s.length),{str:o+n.slice(e,t).replace(/\t/g,"→")+s,pos:i-e+o.length}}function AB(n,e){return nu.repeat(" ",e-n.length)+n}function fqe(n,e){if(e=Object.create(e||null),!n.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var t=/\r?\n|\r|\0/g,i=[0],r=[],o,s=-1;o=t.exec(n.buffer);)r.push(o.index),i.push(o.index+o[0].length),n.position<=o.index&&s<0&&(s=i.length-2);s<0&&(s=i.length-1);var a="",l,u,c=Math.min(n.line+e.linesAfter,r.length).toString().length,d=e.maxLength-(e.indent+c+3);for(l=1;l<=e.linesBefore&&!(s-l<0);l++)u=WB(n.buffer,i[s-l],r[s-l],n.position-(i[s]-i[s-l]),d),a=nu.repeat(" ",e.indent)+AB((n.line-l+1).toString(),c)+" | "+u.str+` +`+a;for(u=WB(n.buffer,i[s],r[s],n.position,d),a+=nu.repeat(" ",e.indent)+AB((n.line+1).toString(),c)+" | "+u.str+` `,a+=nu.repeat("-",e.indent+c+3+u.pos)+`^ -`,l=1;l<=e.linesAfter&&!(s+l>=r.length);l++)u=RB(n.buffer,i[s+l],r[s+l],n.position-(i[s]-i[s+l]),d),a+=nu.repeat(" ",e.indent)+VB((n.line+l+1).toString(),c)+" | "+u.str+` -`;return a.replace(/\n$/,"")}var gqe=fqe,pqe=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],bqe=["scalar","sequence","mapping"];function vqe(n){var e={};return n!==null&&Object.keys(n).forEach(function(t){n[t].forEach(function(i){e[String(i)]=t})}),e}function yqe(n,e){if(e=e||{},Object.keys(e).forEach(function(t){if(pqe.indexOf(t)===-1)throw new hg('Unknown option "'+t+'" is met in definition of "'+n+'" YAML type.')}),this.options=e,this.tag=n,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=vqe(e.styleAliases||null),bqe.indexOf(this.kind)===-1)throw new hg('Unknown kind "'+this.kind+'" is specified for "'+n+'" YAML type.')}var Ll=yqe;function the(n,e){var t=[];return n[e].forEach(function(i){var r=t.length;t.forEach(function(o,s){o.tag===i.tag&&o.kind===i.kind&&o.multi===i.multi&&(r=s)}),t[r]=i}),t}function Cqe(){var n={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,t;function i(r){r.multi?(n.multi[r.kind].push(r),n.multi.fallback.push(r)):n[r.kind][r.tag]=n.fallback[r.tag]=r}for(e=0,t=arguments.length;e=0?"0b"+n.toString(2):"-0b"+n.toString(2).slice(1)},octal:function(n){return n>=0?"0o"+n.toString(8):"-0o"+n.toString(8).slice(1)},decimal:function(n){return n.toString(10)},hexadecimal:function(n){return n>=0?"0x"+n.toString(16).toUpperCase():"-0x"+n.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),Pqe=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Oqe(n){return!(n===null||!Pqe.test(n)||n[n.length-1]==="_")}function Bqe(n){var e,t;return e=n.replace(/_/g,"").toLowerCase(),t=e[0]==="-"?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:t*parseFloat(e,10)}var zqe=/^[-+]?[0-9]+e/;function Hqe(n,e){var t;if(isNaN(n))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===n)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===n)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(nu.isNegativeZero(n))return"-0.0";return t=n.toString(10),zqe.test(t)?t.replace("e",".e"):t}function Yqe(n){return Object.prototype.toString.call(n)==="[object Number]"&&(n%1!==0||nu.isNegativeZero(n))}var Uqe=new Ll("tag:yaml.org,2002:float",{kind:"scalar",resolve:Oqe,construct:Bqe,predicate:Yqe,represent:Hqe,defaultStyle:"lowercase"}),Kqe=_qe.extend({implicit:[Mqe,Eqe,Xqe,Uqe]}),Jqe=Kqe,nhe=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),ihe=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function jqe(n){return n===null?!1:nhe.exec(n)!==null||ihe.exec(n)!==null}function Qqe(n){var e,t,i,r,o,s,a,l=0,u=null,c,d,h;if(e=nhe.exec(n),e===null&&(e=ihe.exec(n)),e===null)throw new Error("Date resolve error");if(t=+e[1],i=+e[2]-1,r=+e[3],!e[4])return new Date(Date.UTC(t,i,r));if(o=+e[4],s=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(c=+e[10],d=+(e[11]||0),u=(c*60+d)*6e4,e[9]==="-"&&(u=-u)),h=new Date(Date.UTC(t,i,r,o,s,a,l)),u&&h.setTime(h.getTime()-u),h}function $qe(n){return n.toISOString()}var qqe=new Ll("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:jqe,construct:Qqe,instanceOf:Date,represent:$qe});function eet(n){return n==="<<"||n===null}var tet=new Ll("tag:yaml.org,2002:merge",{kind:"scalar",resolve:eet}),GB=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= -\r`;function net(n){if(n===null)return!1;var e,t,i=0,r=n.length,o=GB;for(t=0;t64)){if(e<0)return!1;i+=6}return i%8===0}function iet(n){var e,t,i=n.replace(/[\r\n=]/g,""),r=i.length,o=GB,s=0,a=[];for(e=0;e>16&255),a.push(s>>8&255),a.push(s&255)),s=s<<6|o.indexOf(i.charAt(e));return t=r%4*6,t===0?(a.push(s>>16&255),a.push(s>>8&255),a.push(s&255)):t===18?(a.push(s>>10&255),a.push(s>>2&255)):t===12&&a.push(s>>4&255),new Uint8Array(a)}function ret(n){var e="",t=0,i,r,o=n.length,s=GB;for(i=0;i>18&63],e+=s[t>>12&63],e+=s[t>>6&63],e+=s[t&63]),t=(t<<8)+n[i];return r=o%3,r===0?(e+=s[t>>18&63],e+=s[t>>12&63],e+=s[t>>6&63],e+=s[t&63]):r===2?(e+=s[t>>10&63],e+=s[t>>4&63],e+=s[t<<2&63],e+=s[64]):r===1&&(e+=s[t>>2&63],e+=s[t<<4&63],e+=s[64],e+=s[64]),e}function oet(n){return Object.prototype.toString.call(n)==="[object Uint8Array]"}var set=new Ll("tag:yaml.org,2002:binary",{kind:"scalar",resolve:net,construct:iet,predicate:oet,represent:ret}),aet=Object.prototype.hasOwnProperty,uet=Object.prototype.toString;function cet(n){if(n===null)return!0;var e=[],t,i,r,o,s,a=n;for(t=0,i=a.length;t>10)+55296,(n-65536&1023)+56320)}for(var dhe=new Array(256),hhe=new Array(256),Rw=0;Rw<256;Rw++)dhe[Rw]=che(Rw)?1:0,hhe[Rw]=che(Rw);function Net(n,e){this.input=n,this.filename=e.filename||null,this.schema=e.schema||wet,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=n.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function mhe(n,e){var t={name:n.filename,buffer:n.input.slice(0,-1),position:n.position,line:n.line,column:n.position-n.lineStart};return t.snippet=gqe(t),new hg(e,t)}function Hn(n,e){throw mhe(n,e)}function F5(n,e){n.onWarning&&n.onWarning.call(null,mhe(n,e))}var fhe={YAML:function(e,t,i){var r,o,s;e.version!==null&&Hn(e,"duplication of %YAML directive"),i.length!==1&&Hn(e,"YAML directive accepts exactly one argument"),r=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),r===null&&Hn(e,"ill-formed argument of the YAML directive"),o=parseInt(r[1],10),s=parseInt(r[2],10),o!==1&&Hn(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=s<2,s!==1&&s!==2&&F5(e,"unsupported YAML version of the document")},TAG:function(e,t,i){var r,o;i.length!==2&&Hn(e,"TAG directive accepts exactly two arguments"),r=i[0],o=i[1],ahe.test(r)||Hn(e,"ill-formed tag handle (first argument) of the TAG directive"),Sb.call(e.tagMap,r)&&Hn(e,'there is a previously declared suffix for "'+r+'" tag handle'),lhe.test(o)||Hn(e,"ill-formed tag prefix (second argument) of the TAG directive");try{o=decodeURIComponent(o)}catch{Hn(e,"tag prefix is malformed: "+o)}e.tagMap[r]=o}};function xb(n,e,t,i){var r,o,s,a;if(e1&&(n.result+=nu.repeat(` -`,e-1))}function Tet(n,e,t){var i,r,o,s,a,l,u,c,d=n.kind,h=n.result,m;if(m=n.input.charCodeAt(n.position),Du(m)||Ww(m)||m===35||m===38||m===42||m===33||m===124||m===62||m===39||m===34||m===37||m===64||m===96||(m===63||m===45)&&(r=n.input.charCodeAt(n.position+1),Du(r)||t&&Ww(r)))return!1;for(n.kind="scalar",n.result="",o=s=n.position,a=!1;m!==0;){if(m===58){if(r=n.input.charCodeAt(n.position+1),Du(r)||t&&Ww(r))break}else if(m===35){if(i=n.input.charCodeAt(n.position-1),Du(i))break}else{if(n.position===n.lineStart&&I5(n)||t&&Ww(m))break;if(Im(m))if(l=n.line,u=n.lineStart,c=n.lineIndent,Ys(n,!1,-1),n.lineIndent>=e){a=!0,m=n.input.charCodeAt(n.position);continue}else{n.position=s,n.line=l,n.lineStart=u,n.lineIndent=c;break}}a&&(xb(n,o,s,!1),OB(n,n.line-l),o=s=n.position,a=!1),Fv(m)||(s=n.position+1),m=n.input.charCodeAt(++n.position)}return xb(n,o,s,!1),n.result?!0:(n.kind=d,n.result=h,!1)}function Eet(n,e){var t,i,r;if(t=n.input.charCodeAt(n.position),t!==39)return!1;for(n.kind="scalar",n.result="",n.position++,i=r=n.position;(t=n.input.charCodeAt(n.position))!==0;)if(t===39)if(xb(n,i,n.position,!0),t=n.input.charCodeAt(++n.position),t===39)i=n.position,n.position++,r=n.position;else return!0;else Im(t)?(xb(n,i,r,!0),OB(n,Ys(n,!1,e)),i=r=n.position):n.position===n.lineStart&&I5(n)?Hn(n,"unexpected end of the document within a single quoted scalar"):(n.position++,r=n.position);Hn(n,"unexpected end of the stream within a single quoted scalar")}function Zet(n,e){var t,i,r,o,s,a;if(a=n.input.charCodeAt(n.position),a!==34)return!1;for(n.kind="scalar",n.result="",n.position++,t=i=n.position;(a=n.input.charCodeAt(n.position))!==0;){if(a===34)return xb(n,t,n.position,!0),n.position++,!0;if(a===92){if(xb(n,t,n.position,!0),a=n.input.charCodeAt(++n.position),Im(a))Ys(n,!1,e);else if(a<256&&dhe[a])n.result+=hhe[a],n.position++;else if((s=Det(a))>0){for(r=s,o=0;r>0;r--)a=n.input.charCodeAt(++n.position),(s=Iet(a))>=0?o=(o<<4)+s:Hn(n,"expected hexadecimal character");n.result+=ket(o),n.position++}else Hn(n,"unknown escape sequence");t=i=n.position}else Im(a)?(xb(n,t,i,!0),OB(n,Ys(n,!1,e)),t=i=n.position):n.position===n.lineStart&&I5(n)?Hn(n,"unexpected end of the document within a double quoted scalar"):(n.position++,i=n.position)}Hn(n,"unexpected end of the stream within a double quoted scalar")}function Wet(n,e){var t=!0,i,r,o,s=n.tag,a,l=n.anchor,u,c,d,h,m,f=Object.create(null),g,b,v,C;if(C=n.input.charCodeAt(n.position),C===91)c=93,m=!1,a=[];else if(C===123)c=125,m=!0,a={};else return!1;for(n.anchor!==null&&(n.anchorMap[n.anchor]=a),C=n.input.charCodeAt(++n.position);C!==0;){if(Ys(n,!0,e),C=n.input.charCodeAt(n.position),C===c)return n.position++,n.tag=s,n.anchor=l,n.kind=m?"mapping":"sequence",n.result=a,!0;t?C===44&&Hn(n,"expected the node content, but found ','"):Hn(n,"missed comma between flow collection entries"),b=g=v=null,d=h=!1,C===63&&(u=n.input.charCodeAt(n.position+1),Du(u)&&(d=h=!0,n.position++,Ys(n,!0,e))),i=n.line,r=n.lineStart,o=n.position,Aw(n,e,L5,!1,!0),b=n.tag,g=n.result,Ys(n,!0,e),C=n.input.charCodeAt(n.position),(h||n.line===i)&&C===58&&(d=!0,C=n.input.charCodeAt(++n.position),Ys(n,!0,e),Aw(n,e,L5,!1,!0),v=n.result),m?Vw(n,a,f,b,g,v,i,r,o):d?a.push(Vw(n,null,f,b,g,v,i,r,o)):a.push(g),Ys(n,!0,e),C=n.input.charCodeAt(n.position),C===44?(t=!0,C=n.input.charCodeAt(++n.position)):t=!1}Hn(n,"unexpected end of the stream within a flow collection")}function Ret(n,e){var t,i,r=XB,o=!1,s=!1,a=e,l=0,u=!1,c,d;if(d=n.input.charCodeAt(n.position),d===124)i=!1;else if(d===62)i=!0;else return!1;for(n.kind="scalar",n.result="";d!==0;)if(d=n.input.charCodeAt(++n.position),d===43||d===45)XB===r?r=d===43?she:xet:Hn(n,"repeat of a chomping mode identifier");else if((c=Met(d))>=0)c===0?Hn(n,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?Hn(n,"repeat of an indentation width identifier"):(a=e+c-1,s=!0);else break;if(Fv(d)){do d=n.input.charCodeAt(++n.position);while(Fv(d));if(d===35)do d=n.input.charCodeAt(++n.position);while(!Im(d)&&d!==0)}for(;d!==0;){for(PB(n),n.lineIndent=0,d=n.input.charCodeAt(n.position);(!s||n.lineIndenta&&(a=n.lineIndent),Im(d)){l++;continue}if(n.lineIndent=r.length);l++)u=WB(n.buffer,i[s+l],r[s+l],n.position-(i[s]-i[s+l]),d),a+=nu.repeat(" ",e.indent)+AB((n.line+l+1).toString(),c)+" | "+u.str+` +`;return a.replace(/\n$/,"")}var gqe=fqe,pqe=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],bqe=["scalar","sequence","mapping"];function yqe(n){var e={};return n!==null&&Object.keys(n).forEach(function(t){n[t].forEach(function(i){e[String(i)]=t})}),e}function vqe(n,e){if(e=e||{},Object.keys(e).forEach(function(t){if(pqe.indexOf(t)===-1)throw new hg('Unknown option "'+t+'" is met in definition of "'+n+'" YAML type.')}),this.options=e,this.tag=n,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=yqe(e.styleAliases||null),bqe.indexOf(this.kind)===-1)throw new hg('Unknown kind "'+this.kind+'" is specified for "'+n+'" YAML type.')}var _l=vqe;function the(n,e){var t=[];return n[e].forEach(function(i){var r=t.length;t.forEach(function(o,s){o.tag===i.tag&&o.kind===i.kind&&o.multi===i.multi&&(r=s)}),t[r]=i}),t}function Cqe(){var n={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,t;function i(r){r.multi?(n.multi[r.kind].push(r),n.multi.fallback.push(r)):n[r.kind][r.tag]=n.fallback[r.tag]=r}for(e=0,t=arguments.length;e=0?"0b"+n.toString(2):"-0b"+n.toString(2).slice(1)},octal:function(n){return n>=0?"0o"+n.toString(8):"-0o"+n.toString(8).slice(1)},decimal:function(n){return n.toString(10)},hexadecimal:function(n){return n>=0?"0x"+n.toString(16).toUpperCase():"-0x"+n.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),Pqe=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Oqe(n){return!(n===null||!Pqe.test(n)||n[n.length-1]==="_")}function Bqe(n){var e,t;return e=n.replace(/_/g,"").toLowerCase(),t=e[0]==="-"?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:t*parseFloat(e,10)}var zqe=/^[-+]?[0-9]+e/;function Hqe(n,e){var t;if(isNaN(n))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===n)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===n)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(nu.isNegativeZero(n))return"-0.0";return t=n.toString(10),zqe.test(t)?t.replace("e",".e"):t}function Yqe(n){return Object.prototype.toString.call(n)==="[object Number]"&&(n%1!==0||nu.isNegativeZero(n))}var Uqe=new _l("tag:yaml.org,2002:float",{kind:"scalar",resolve:Oqe,construct:Bqe,predicate:Yqe,represent:Hqe,defaultStyle:"lowercase"}),Kqe=Lqe.extend({implicit:[Nqe,Eqe,Xqe,Uqe]}),Jqe=Kqe,nhe=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),ihe=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function jqe(n){return n===null?!1:nhe.exec(n)!==null||ihe.exec(n)!==null}function Qqe(n){var e,t,i,r,o,s,a,l=0,u=null,c,d,h;if(e=nhe.exec(n),e===null&&(e=ihe.exec(n)),e===null)throw new Error("Date resolve error");if(t=+e[1],i=+e[2]-1,r=+e[3],!e[4])return new Date(Date.UTC(t,i,r));if(o=+e[4],s=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(c=+e[10],d=+(e[11]||0),u=(c*60+d)*6e4,e[9]==="-"&&(u=-u)),h=new Date(Date.UTC(t,i,r,o,s,a,l)),u&&h.setTime(h.getTime()-u),h}function $qe(n){return n.toISOString()}var qqe=new _l("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:jqe,construct:Qqe,instanceOf:Date,represent:$qe});function eet(n){return n==="<<"||n===null}var tet=new _l("tag:yaml.org,2002:merge",{kind:"scalar",resolve:eet}),GB=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function net(n){if(n===null)return!1;var e,t,i=0,r=n.length,o=GB;for(t=0;t64)){if(e<0)return!1;i+=6}return i%8===0}function iet(n){var e,t,i=n.replace(/[\r\n=]/g,""),r=i.length,o=GB,s=0,a=[];for(e=0;e>16&255),a.push(s>>8&255),a.push(s&255)),s=s<<6|o.indexOf(i.charAt(e));return t=r%4*6,t===0?(a.push(s>>16&255),a.push(s>>8&255),a.push(s&255)):t===18?(a.push(s>>10&255),a.push(s>>2&255)):t===12&&a.push(s>>4&255),new Uint8Array(a)}function ret(n){var e="",t=0,i,r,o=n.length,s=GB;for(i=0;i>18&63],e+=s[t>>12&63],e+=s[t>>6&63],e+=s[t&63]),t=(t<<8)+n[i];return r=o%3,r===0?(e+=s[t>>18&63],e+=s[t>>12&63],e+=s[t>>6&63],e+=s[t&63]):r===2?(e+=s[t>>10&63],e+=s[t>>4&63],e+=s[t<<2&63],e+=s[64]):r===1&&(e+=s[t>>2&63],e+=s[t<<4&63],e+=s[64],e+=s[64]),e}function oet(n){return Object.prototype.toString.call(n)==="[object Uint8Array]"}var set=new _l("tag:yaml.org,2002:binary",{kind:"scalar",resolve:net,construct:iet,predicate:oet,represent:ret}),aet=Object.prototype.hasOwnProperty,uet=Object.prototype.toString;function cet(n){if(n===null)return!0;var e=[],t,i,r,o,s,a=n;for(t=0,i=a.length;t>10)+55296,(n-65536&1023)+56320)}for(var dhe=new Array(256),hhe=new Array(256),WS=0;WS<256;WS++)dhe[WS]=che(WS)?1:0,hhe[WS]=che(WS);function ket(n,e){this.input=n,this.filename=e.filename||null,this.schema=e.schema||wet,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=n.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function mhe(n,e){var t={name:n.filename,buffer:n.input.slice(0,-1),position:n.position,line:n.line,column:n.position-n.lineStart};return t.snippet=gqe(t),new hg(e,t)}function Hn(n,e){throw mhe(n,e)}function I5(n,e){n.onWarning&&n.onWarning.call(null,mhe(n,e))}var fhe={YAML:function(e,t,i){var r,o,s;e.version!==null&&Hn(e,"duplication of %YAML directive"),i.length!==1&&Hn(e,"YAML directive accepts exactly one argument"),r=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),r===null&&Hn(e,"ill-formed argument of the YAML directive"),o=parseInt(r[1],10),s=parseInt(r[2],10),o!==1&&Hn(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=s<2,s!==1&&s!==2&&I5(e,"unsupported YAML version of the document")},TAG:function(e,t,i){var r,o;i.length!==2&&Hn(e,"TAG directive accepts exactly two arguments"),r=i[0],o=i[1],ahe.test(r)||Hn(e,"ill-formed tag handle (first argument) of the TAG directive"),wb.call(e.tagMap,r)&&Hn(e,'there is a previously declared suffix for "'+r+'" tag handle'),lhe.test(o)||Hn(e,"ill-formed tag prefix (second argument) of the TAG directive");try{o=decodeURIComponent(o)}catch{Hn(e,"tag prefix is malformed: "+o)}e.tagMap[r]=o}};function xb(n,e,t,i){var r,o,s,a;if(e1&&(n.result+=nu.repeat(` +`,e-1))}function Tet(n,e,t){var i,r,o,s,a,l,u,c,d=n.kind,h=n.result,m;if(m=n.input.charCodeAt(n.position),Du(m)||ZS(m)||m===35||m===38||m===42||m===33||m===124||m===62||m===39||m===34||m===37||m===64||m===96||(m===63||m===45)&&(r=n.input.charCodeAt(n.position+1),Du(r)||t&&ZS(r)))return!1;for(n.kind="scalar",n.result="",o=s=n.position,a=!1;m!==0;){if(m===58){if(r=n.input.charCodeAt(n.position+1),Du(r)||t&&ZS(r))break}else if(m===35){if(i=n.input.charCodeAt(n.position-1),Du(i))break}else{if(n.position===n.lineStart&&F5(n)||t&&ZS(m))break;if(Fm(m))if(l=n.line,u=n.lineStart,c=n.lineIndent,Ys(n,!1,-1),n.lineIndent>=e){a=!0,m=n.input.charCodeAt(n.position);continue}else{n.position=s,n.line=l,n.lineStart=u,n.lineIndent=c;break}}a&&(xb(n,o,s,!1),OB(n,n.line-l),o=s=n.position,a=!1),Iy(m)||(s=n.position+1),m=n.input.charCodeAt(++n.position)}return xb(n,o,s,!1),n.result?!0:(n.kind=d,n.result=h,!1)}function Eet(n,e){var t,i,r;if(t=n.input.charCodeAt(n.position),t!==39)return!1;for(n.kind="scalar",n.result="",n.position++,i=r=n.position;(t=n.input.charCodeAt(n.position))!==0;)if(t===39)if(xb(n,i,n.position,!0),t=n.input.charCodeAt(++n.position),t===39)i=n.position,n.position++,r=n.position;else return!0;else Fm(t)?(xb(n,i,r,!0),OB(n,Ys(n,!1,e)),i=r=n.position):n.position===n.lineStart&&F5(n)?Hn(n,"unexpected end of the document within a single quoted scalar"):(n.position++,r=n.position);Hn(n,"unexpected end of the stream within a single quoted scalar")}function Ret(n,e){var t,i,r,o,s,a;if(a=n.input.charCodeAt(n.position),a!==34)return!1;for(n.kind="scalar",n.result="",n.position++,t=i=n.position;(a=n.input.charCodeAt(n.position))!==0;){if(a===34)return xb(n,t,n.position,!0),n.position++,!0;if(a===92){if(xb(n,t,n.position,!0),a=n.input.charCodeAt(++n.position),Fm(a))Ys(n,!1,e);else if(a<256&&dhe[a])n.result+=hhe[a],n.position++;else if((s=Det(a))>0){for(r=s,o=0;r>0;r--)a=n.input.charCodeAt(++n.position),(s=Fet(a))>=0?o=(o<<4)+s:Hn(n,"expected hexadecimal character");n.result+=Met(o),n.position++}else Hn(n,"unknown escape sequence");t=i=n.position}else Fm(a)?(xb(n,t,i,!0),OB(n,Ys(n,!1,e)),t=i=n.position):n.position===n.lineStart&&F5(n)?Hn(n,"unexpected end of the document within a double quoted scalar"):(n.position++,i=n.position)}Hn(n,"unexpected end of the stream within a double quoted scalar")}function Zet(n,e){var t=!0,i,r,o,s=n.tag,a,l=n.anchor,u,c,d,h,m,f=Object.create(null),g,b,y,C;if(C=n.input.charCodeAt(n.position),C===91)c=93,m=!1,a=[];else if(C===123)c=125,m=!0,a={};else return!1;for(n.anchor!==null&&(n.anchorMap[n.anchor]=a),C=n.input.charCodeAt(++n.position);C!==0;){if(Ys(n,!0,e),C=n.input.charCodeAt(n.position),C===c)return n.position++,n.tag=s,n.anchor=l,n.kind=m?"mapping":"sequence",n.result=a,!0;t?C===44&&Hn(n,"expected the node content, but found ','"):Hn(n,"missed comma between flow collection entries"),b=g=y=null,d=h=!1,C===63&&(u=n.input.charCodeAt(n.position+1),Du(u)&&(d=h=!0,n.position++,Ys(n,!0,e))),i=n.line,r=n.lineStart,o=n.position,VS(n,e,_5,!1,!0),b=n.tag,g=n.result,Ys(n,!0,e),C=n.input.charCodeAt(n.position),(h||n.line===i)&&C===58&&(d=!0,C=n.input.charCodeAt(++n.position),Ys(n,!0,e),VS(n,e,_5,!1,!0),y=n.result),m?AS(n,a,f,b,g,y,i,r,o):d?a.push(AS(n,null,f,b,g,y,i,r,o)):a.push(g),Ys(n,!0,e),C=n.input.charCodeAt(n.position),C===44?(t=!0,C=n.input.charCodeAt(++n.position)):t=!1}Hn(n,"unexpected end of the stream within a flow collection")}function Wet(n,e){var t,i,r=XB,o=!1,s=!1,a=e,l=0,u=!1,c,d;if(d=n.input.charCodeAt(n.position),d===124)i=!1;else if(d===62)i=!0;else return!1;for(n.kind="scalar",n.result="";d!==0;)if(d=n.input.charCodeAt(++n.position),d===43||d===45)XB===r?r=d===43?she:xet:Hn(n,"repeat of a chomping mode identifier");else if((c=Net(d))>=0)c===0?Hn(n,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?Hn(n,"repeat of an indentation width identifier"):(a=e+c-1,s=!0);else break;if(Iy(d)){do d=n.input.charCodeAt(++n.position);while(Iy(d));if(d===35)do d=n.input.charCodeAt(++n.position);while(!Fm(d)&&d!==0)}for(;d!==0;){for(PB(n),n.lineIndent=0,d=n.input.charCodeAt(n.position);(!s||n.lineIndenta&&(a=n.lineIndent),Fm(d)){l++;continue}if(n.lineIndente)&&l!==0)Hn(n,"bad indentation of a sequence entry");else if(n.lineIndente)&&(b&&(s=n.line,a=n.lineStart,l=n.position),Aw(n,e,_5,!0,r)&&(b?f=n.result:g=n.result),b||(Vw(n,d,h,m,f,g,s,a,l),m=f=g=null),Ys(n,!0,-1),C=n.input.charCodeAt(n.position)),(n.line===o||n.lineIndent>e)&&C!==0)Hn(n,"bad indentation of a mapping entry");else if(n.lineIndente?l=1:n.lineIndent===e?l=0:n.lineIndente?l=1:n.lineIndent===e?l=0:n.lineIndent tag; it should be "scalar", not "'+n.kind+'"'),d=0,h=n.implicitTypes.length;d"),n.result!==null&&f.kind!==n.kind&&Hn(n,"unacceptable node kind for !<"+n.tag+'> tag; it should be "'+f.kind+'", not "'+n.kind+'"'),f.resolve(n.result,n.tag)?(n.result=f.construct(n.result,n.tag),n.anchor!==null&&(n.anchorMap[n.anchor]=n.result)):Hn(n,"cannot resolve a node with !<"+n.tag+"> explicit tag")}return n.listener!==null&&n.listener("close",n),n.tag!==null||n.anchor!==null||c}function Pet(n){var e=n.position,t,i,r,o=!1,s;for(n.version=null,n.checkLineBreaks=n.legacy,n.tagMap=Object.create(null),n.anchorMap=Object.create(null);(s=n.input.charCodeAt(n.position))!==0&&(Ys(n,!0,-1),s=n.input.charCodeAt(n.position),!(n.lineIndent>0||s!==37));){for(o=!0,s=n.input.charCodeAt(++n.position),t=n.position;s!==0&&!Du(s);)s=n.input.charCodeAt(++n.position);for(i=n.input.slice(t,n.position),r=[],i.length<1&&Hn(n,"directive name must not be less than one character in length");s!==0;){for(;Fv(s);)s=n.input.charCodeAt(++n.position);if(s===35){do s=n.input.charCodeAt(++n.position);while(s!==0&&!Im(s));break}if(Im(s))break;for(t=n.position;s!==0&&!Du(s);)s=n.input.charCodeAt(++n.position);r.push(n.input.slice(t,n.position))}s!==0&&PB(n),Sb.call(fhe,i)?fhe[i](n,i,r):F5(n,'unknown document directive "'+i+'"')}if(Ys(n,!0,-1),n.lineIndent===0&&n.input.charCodeAt(n.position)===45&&n.input.charCodeAt(n.position+1)===45&&n.input.charCodeAt(n.position+2)===45?(n.position+=3,Ys(n,!0,-1)):o&&Hn(n,"directives end mark is expected"),Aw(n,n.lineIndent-1,_5,!1,!0),Ys(n,!0,-1),n.checkLineBreaks&&_et.test(n.input.slice(e,n.position))&&F5(n,"non-ASCII line breaks are interpreted as content"),n.documents.push(n.result),n.position===n.lineStart&&I5(n)){n.input.charCodeAt(n.position)===46&&(n.position+=3,Ys(n,!0,-1));return}if(n.position"u"&&(t=e,e=null);var i=bhe(n,t);if(typeof e!="function")return i;for(var r=0,o=i.length;r"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function D5(n,e,t){return whe()?D5=Reflect.construct:D5=function(r,o,s){var a=[null];a.push.apply(a,o);var l=Function.bind.apply(r,a),u=new l;return s&&q_(u,s.prototype),u},D5.apply(null,arguments)}function Qet(n){return Function.toString.call(n).indexOf("[native code]")!==-1}function zB(n){var e=typeof Map=="function"?new Map:void 0;return zB=function(i){if(i===null||!Qet(i))return i;if(typeof i!="function")throw new TypeError("Super expression must either be null or a function");if(typeof e<"u"){if(e.has(i))return e.get(i);e.set(i,r)}function r(){return D5(i,arguments,za(this).constructor)}return r.prototype=Object.create(i.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),q_(r,i)},zB(n)}function yd(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}function She(n,e){return e&&(typeof e=="object"||typeof e=="function")?e:yd(n)}function ho(n){var e=whe();return function(){var i=za(n),r;if(e){var o=za(this).constructor;r=Reflect.construct(i,arguments,o)}else r=i.apply(this,arguments);return She(this,r)}}function $et(n,e){for(;!Object.prototype.hasOwnProperty.call(n,e)&&(n=za(n),n!==null););return n}function Mu(n,e,t){return typeof Reflect<"u"&&Reflect.get?Mu=Reflect.get:Mu=function(r,o,s){var a=$et(r,o);if(a){var l=Object.getOwnPropertyDescriptor(a,o);return l.get?l.get.call(s):l.value}},Mu(n,e,t||n)}function eF(n,e){return xhe(n)||ett(n,e)||HB(n,e)||_he()}function tF(n){return xhe(n)||qet(n)||HB(n)||_he()}function xhe(n){if(Array.isArray(n))return n}function qet(n){if(typeof Symbol<"u"&&Symbol.iterator in Object(n))return Array.from(n)}function ett(n,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(n)))){var t=[],i=!0,r=!1,o=void 0;try{for(var s=n[Symbol.iterator](),a;!(i=(a=s.next()).done)&&(t.push(a.value),!(e&&t.length===e));i=!0);}catch(l){r=!0,o=l}finally{try{!i&&s.return!=null&&s.return()}finally{if(r)throw o}}return t}}function HB(n,e){if(n){if(typeof n=="string")return Lhe(n,e);var t=Object.prototype.toString.call(n).slice(8,-1);if(t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set")return Array.from(n);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Lhe(n,e)}}function Lhe(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,i=new Array(e);te)&&l!==0)Hn(n,"bad indentation of a sequence entry");else if(n.lineIndente)&&(b&&(s=n.line,a=n.lineStart,l=n.position),VS(n,e,L5,!0,r)&&(b?f=n.result:g=n.result),b||(AS(n,d,h,m,f,g,s,a,l),m=f=g=null),Ys(n,!0,-1),C=n.input.charCodeAt(n.position)),(n.line===o||n.lineIndent>e)&&C!==0)Hn(n,"bad indentation of a mapping entry");else if(n.lineIndente?l=1:n.lineIndent===e?l=0:n.lineIndente?l=1:n.lineIndent===e?l=0:n.lineIndent tag; it should be "scalar", not "'+n.kind+'"'),d=0,h=n.implicitTypes.length;d"),n.result!==null&&f.kind!==n.kind&&Hn(n,"unacceptable node kind for !<"+n.tag+'> tag; it should be "'+f.kind+'", not "'+n.kind+'"'),f.resolve(n.result,n.tag)?(n.result=f.construct(n.result,n.tag),n.anchor!==null&&(n.anchorMap[n.anchor]=n.result)):Hn(n,"cannot resolve a node with !<"+n.tag+"> explicit tag")}return n.listener!==null&&n.listener("close",n),n.tag!==null||n.anchor!==null||c}function Pet(n){var e=n.position,t,i,r,o=!1,s;for(n.version=null,n.checkLineBreaks=n.legacy,n.tagMap=Object.create(null),n.anchorMap=Object.create(null);(s=n.input.charCodeAt(n.position))!==0&&(Ys(n,!0,-1),s=n.input.charCodeAt(n.position),!(n.lineIndent>0||s!==37));){for(o=!0,s=n.input.charCodeAt(++n.position),t=n.position;s!==0&&!Du(s);)s=n.input.charCodeAt(++n.position);for(i=n.input.slice(t,n.position),r=[],i.length<1&&Hn(n,"directive name must not be less than one character in length");s!==0;){for(;Iy(s);)s=n.input.charCodeAt(++n.position);if(s===35){do s=n.input.charCodeAt(++n.position);while(s!==0&&!Fm(s));break}if(Fm(s))break;for(t=n.position;s!==0&&!Du(s);)s=n.input.charCodeAt(++n.position);r.push(n.input.slice(t,n.position))}s!==0&&PB(n),wb.call(fhe,i)?fhe[i](n,i,r):I5(n,'unknown document directive "'+i+'"')}if(Ys(n,!0,-1),n.lineIndent===0&&n.input.charCodeAt(n.position)===45&&n.input.charCodeAt(n.position+1)===45&&n.input.charCodeAt(n.position+2)===45?(n.position+=3,Ys(n,!0,-1)):o&&Hn(n,"directives end mark is expected"),VS(n,n.lineIndent-1,L5,!1,!0),Ys(n,!0,-1),n.checkLineBreaks&&Let.test(n.input.slice(e,n.position))&&I5(n,"non-ASCII line breaks are interpreted as content"),n.documents.push(n.result),n.position===n.lineStart&&F5(n)){n.input.charCodeAt(n.position)===46&&(n.position+=3,Ys(n,!0,-1));return}if(n.position"u"&&(t=e,e=null);var i=bhe(n,t);if(typeof e!="function")return i;for(var r=0,o=i.length;r"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function D5(n,e,t){return She()?D5=Reflect.construct:D5=function(r,o,s){var a=[null];a.push.apply(a,o);var l=Function.bind.apply(r,a),u=new l;return s&&qL(u,s.prototype),u},D5.apply(null,arguments)}function Qet(n){return Function.toString.call(n).indexOf("[native code]")!==-1}function zB(n){var e=typeof Map=="function"?new Map:void 0;return zB=function(i){if(i===null||!Qet(i))return i;if(typeof i!="function")throw new TypeError("Super expression must either be null or a function");if(typeof e<"u"){if(e.has(i))return e.get(i);e.set(i,r)}function r(){return D5(i,arguments,za(this).constructor)}return r.prototype=Object.create(i.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),qL(r,i)},zB(n)}function yd(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}function whe(n,e){return e&&(typeof e=="object"||typeof e=="function")?e:yd(n)}function ho(n){var e=She();return function(){var i=za(n),r;if(e){var o=za(this).constructor;r=Reflect.construct(i,arguments,o)}else r=i.apply(this,arguments);return whe(this,r)}}function $et(n,e){for(;!Object.prototype.hasOwnProperty.call(n,e)&&(n=za(n),n!==null););return n}function Nu(n,e,t){return typeof Reflect<"u"&&Reflect.get?Nu=Reflect.get:Nu=function(r,o,s){var a=$et(r,o);if(a){var l=Object.getOwnPropertyDescriptor(a,o);return l.get?l.get.call(s):l.value}},Nu(n,e,t||n)}function eI(n,e){return xhe(n)||ett(n,e)||HB(n,e)||Lhe()}function tI(n){return xhe(n)||qet(n)||HB(n)||Lhe()}function xhe(n){if(Array.isArray(n))return n}function qet(n){if(typeof Symbol<"u"&&Symbol.iterator in Object(n))return Array.from(n)}function ett(n,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(n)))){var t=[],i=!0,r=!1,o=void 0;try{for(var s=n[Symbol.iterator](),a;!(i=(a=s.next()).done)&&(t.push(a.value),!(e&&t.length===e));i=!0);}catch(l){r=!0,o=l}finally{try{!i&&s.return!=null&&s.return()}finally{if(r)throw o}}return t}}function HB(n,e){if(n){if(typeof n=="string")return _he(n,e);var t=Object.prototype.toString.call(n).slice(8,-1);if(t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set")return Array.from(n);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return _he(n,e)}}function _he(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,i=new Array(e);t"u"||n[Symbol.iterator]==null){if(Array.isArray(n)||(t=HB(n))||e&&n&&typeof n.length=="number"){t&&(n=t);var i=0,r=function(){};return{s:r,n:function(){return i>=n.length?{done:!0}:{done:!1,value:n[i++]}},e:function(l){throw l},f:r}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){t=n[Symbol.iterator]()},n:function(){var l=t.next();return o=l.done,l},e:function(l){s=!0,a=l},f:function(){try{!o&&t.return!=null&&t.return()}finally{if(s)throw a}}}}var Us={ANCHOR:"&",COMMENT:"#",TAG:"!",DIRECTIVES_END:"-",DOCUMENT_END:"."},Lt={ALIAS:"ALIAS",BLANK_LINE:"BLANK_LINE",BLOCK_FOLDED:"BLOCK_FOLDED",BLOCK_LITERAL:"BLOCK_LITERAL",COMMENT:"COMMENT",DIRECTIVE:"DIRECTIVE",DOCUMENT:"DOCUMENT",FLOW_MAP:"FLOW_MAP",FLOW_SEQ:"FLOW_SEQ",MAP:"MAP",MAP_KEY:"MAP_KEY",MAP_VALUE:"MAP_VALUE",PLAIN:"PLAIN",QUOTE_DOUBLE:"QUOTE_DOUBLE",QUOTE_SINGLE:"QUOTE_SINGLE",SEQ:"SEQ",SEQ_ITEM:"SEQ_ITEM"},M5="tag:yaml.org,2002:",Lb={MAP:"tag:yaml.org,2002:map",SEQ:"tag:yaml.org,2002:seq",STR:"tag:yaml.org,2002:str"};function Fhe(n){for(var e=[0],t=n.indexOf(` +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){t=n[Symbol.iterator]()},n:function(){var l=t.next();return o=l.done,l},e:function(l){s=!0,a=l},f:function(){try{!o&&t.return!=null&&t.return()}finally{if(s)throw a}}}}var Us={ANCHOR:"&",COMMENT:"#",TAG:"!",DIRECTIVES_END:"-",DOCUMENT_END:"."},_t={ALIAS:"ALIAS",BLANK_LINE:"BLANK_LINE",BLOCK_FOLDED:"BLOCK_FOLDED",BLOCK_LITERAL:"BLOCK_LITERAL",COMMENT:"COMMENT",DIRECTIVE:"DIRECTIVE",DOCUMENT:"DOCUMENT",FLOW_MAP:"FLOW_MAP",FLOW_SEQ:"FLOW_SEQ",MAP:"MAP",MAP_KEY:"MAP_KEY",MAP_VALUE:"MAP_VALUE",PLAIN:"PLAIN",QUOTE_DOUBLE:"QUOTE_DOUBLE",QUOTE_SINGLE:"QUOTE_SINGLE",SEQ:"SEQ",SEQ_ITEM:"SEQ_ITEM"},N5="tag:yaml.org,2002:",_b={MAP:"tag:yaml.org,2002:map",SEQ:"tag:yaml.org,2002:seq",STR:"tag:yaml.org,2002:str"};function Ihe(n){for(var e=[0],t=n.indexOf(` `);t!==-1;)t+=1,e.push(t),t=n.indexOf(` -`,t);return e}function Ihe(n){var e,t;return typeof n=="string"?(e=Fhe(n),t=n):(Array.isArray(n)&&(n=n[0]),n&&n.context&&(n.lineStarts||(n.lineStarts=Fhe(n.context.src)),e=n.lineStarts,t=n.context.src)),{lineStarts:e,src:t}}function YB(n,e){if(typeof n!="number"||n<0)return null;var t=Ihe(e),i=t.lineStarts,r=t.src;if(!i||!r||n>r.length)return null;for(var o=0;o=1)||n>i.length)return null;for(var o=i[n-1],s=i[n];s&&s>o&&r[s-1]===` +`,t);return e}function Fhe(n){var e,t;return typeof n=="string"?(e=Ihe(n),t=n):(Array.isArray(n)&&(n=n[0]),n&&n.context&&(n.lineStarts||(n.lineStarts=Ihe(n.context.src)),e=n.lineStarts,t=n.context.src)),{lineStarts:e,src:t}}function YB(n,e){if(typeof n!="number"||n<0)return null;var t=Fhe(e),i=t.lineStarts,r=t.src;if(!i||!r||n>r.length)return null;for(var o=0;o=1)||n>i.length)return null;for(var o=i[n-1],s=i[n];s&&s>o&&r[s-1]===` `;)--s;return r.slice(o,s)}function ntt(n,e){var t=n.start,i=n.end,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:80,o=ttt(t.line,e);if(!o)return null;var s=t.col;if(o.length>r)if(s<=r-10)o=o.substr(0,r-1)+"…";else{var a=Math.round(r/2);o.length>s+a&&(o=o.substr(0,s+a-1)+"…"),s-=o.length-r,o="…"+o.substr(1-r)}var l=1,u="";i&&(i.line===t.line&&s+(i.col-t.col)<=r+1?l=i.col-t.col:(l=Math.min(o.length+1,r)-s,u="…"));var c=s>1?" ".repeat(s-1):"",d="^".repeat(l);return"".concat(o,` -`).concat(c).concat(d).concat(u)}var Yo=function(){function n(e,t){mr(this,n),this.start=e,this.end=t||e}return $r(n,[{key:"isEmpty",value:function(){return typeof this.start!="number"||!this.end||this.end<=this.start}},{key:"setOrigRange",value:function(t,i){var r=this.start,o=this.end;if(t.length===0||o<=t[0])return this.origStart=r,this.origEnd=o,i;for(var s=i;sr);)++s;this.origStart=r+s;for(var a=s;s=o);)++s;return this.origEnd=o+s,a}}],[{key:"copy",value:function(t){return new n(t.start,t.end)}}]),n}(),un=function(){function n(e,t,i){mr(this,n),Object.defineProperty(this,"context",{value:i||null,writable:!0}),this.error=null,this.range=null,this.valueRange=null,this.props=t||[],this.type=e,this.value=null}return $r(n,[{key:"getPropValue",value:function(t,i,r){if(!this.context)return null;var o=this.context.src,s=this.props[t];return s&&o[s.start]===i?o.slice(s.start+(r?1:0),s.end):null}},{key:"anchor",get:function(){for(var t=0;t0?t.join(` -`):null}},{key:"commentHasRequiredWhitespace",value:function(t){var i=this.context.src;if(this.header&&t===this.header.end||!this.valueRange)return!1;var r=this.valueRange.end;return t!==r||n.atBlank(i,r-1)}},{key:"hasComment",get:function(){if(this.context){for(var t=this.context.src,i=0;ir);)++s;this.origStart=r+s;for(var a=s;s=o);)++s;return this.origEnd=o+s,a}}],[{key:"copy",value:function(t){return new n(t.start,t.end)}}]),n}(),un=function(){function n(e,t,i){hr(this,n),Object.defineProperty(this,"context",{value:i||null,writable:!0}),this.error=null,this.range=null,this.valueRange=null,this.props=t||[],this.type=e,this.value=null}return $r(n,[{key:"getPropValue",value:function(t,i,r){if(!this.context)return null;var o=this.context.src,s=this.props[t];return s&&o[s.start]===i?o.slice(s.start+(r?1:0),s.end):null}},{key:"anchor",get:function(){for(var t=0;t0?t.join(` +`):null}},{key:"commentHasRequiredWhitespace",value:function(t){var i=this.context.src;if(this.header&&t===this.header.end||!this.valueRange)return!1;var r=this.valueRange.end;return t!==r||n.atBlank(i,r-1)}},{key:"hasComment",get:function(){if(this.context){for(var t=this.context.src,i=0;i=t.length||t[o]===` `?r+` @@ -421,130 +421,130 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `?i-1:n.endOfWhiteSpace(t,i):i}},{key:"foldNewline",value:function(t,i,r){for(var o=0,s=!1,a="",l=t[i+1];l===" "||l===" "||l===` `;){switch(l){case` `:o=0,i+=1,a+=` -`;break;case" ":o<=r&&(s=!0),i=n.endOfWhiteSpace(t,i+2)-1;break;case" ":o+=1,i+=1;break}l=t[i+1]}return a||(a=" "),l&&o<=r&&(s=!0),{fold:a,offset:i,error:s}}}]),n}(),Xw=function(n){co(t,n);var e=ho(t);function t(i,r,o){var s;if(mr(this,t),!o||!(r instanceof un))throw new Error("Invalid arguments for new ".concat(i));return s=e.call(this),s.name=i,s.message=o,s.source=r,s}return $r(t,[{key:"makePretty",value:function(){if(this.source){this.nodeType=this.source.type;var r=this.source.context&&this.source.context.root;if(typeof this.offset=="number"){this.range=new Yo(this.offset,this.offset+1);var o=r&&YB(this.offset,r);if(o){var s={line:o.line,col:o.col+1};this.linePos={start:o,end:s}}delete this.offset}else this.range=this.source.range,this.linePos=this.source.rangeAsLinePos;if(this.linePos){var a=this.linePos.start,l=a.line,u=a.col;this.message+=" at line ".concat(l,", column ").concat(u);var c=r&&ntt(this.linePos,r);c&&(this.message+=`: +`;break;case" ":o<=r&&(s=!0),i=n.endOfWhiteSpace(t,i+2)-1;break;case" ":o+=1,i+=1;break}l=t[i+1]}return a||(a=" "),l&&o<=r&&(s=!0),{fold:a,offset:i,error:s}}}]),n}(),XS=function(n){co(t,n);var e=ho(t);function t(i,r,o){var s;if(hr(this,t),!o||!(r instanceof un))throw new Error("Invalid arguments for new ".concat(i));return s=e.call(this),s.name=i,s.message=o,s.source=r,s}return $r(t,[{key:"makePretty",value:function(){if(this.source){this.nodeType=this.source.type;var r=this.source.context&&this.source.context.root;if(typeof this.offset=="number"){this.range=new Yo(this.offset,this.offset+1);var o=r&&YB(this.offset,r);if(o){var s={line:o.line,col:o.col+1};this.linePos={start:o,end:s}}delete this.offset}else this.range=this.source.range,this.linePos=this.source.rangeAsLinePos;if(this.linePos){var a=this.linePos.start,l=a.line,u=a.col;this.message+=" at line ".concat(l,", column ").concat(u);var c=r&&ntt(this.linePos,r);c&&(this.message+=`: `.concat(c,` -`))}delete this.source}}}]),t}(zB(Error)),nF=function(n){co(t,n);var e=ho(t);function t(i,r){return mr(this,t),e.call(this,"YAMLReferenceError",i,r)}return t}(Xw),Fi=function(n){co(t,n);var e=ho(t);function t(i,r){return mr(this,t),e.call(this,"YAMLSemanticError",i,r)}return t}(Xw),Fl=function(n){co(t,n);var e=ho(t);function t(i,r){return mr(this,t),e.call(this,"YAMLSyntaxError",i,r)}return t}(Xw),Pw=function(n){co(t,n);var e=ho(t);function t(i,r){return mr(this,t),e.call(this,"YAMLWarning",i,r)}return t}(Xw),Dhe=function(n){co(t,n);var e=ho(t);function t(){return mr(this,t),e.apply(this,arguments)}return $r(t,[{key:"strValue",get:function(){if(!this.valueRange||!this.context)return null;for(var r=this.valueRange,o=r.start,s=r.end,a=this.context.src,l=a[s-1];og?a.slice(g,c+1):d)}else u+=d}var v=a[o];switch(v){case" ":{var C="Plain value cannot start with a tab character",S=[new Fi(this,C)];return{errors:S,str:u}}case"@":case"`":{var x="Plain value cannot start with reserved character ".concat(v),_=[new Fi(this,x)];return{errors:_,str:u}}default:return u}}},{key:"parseBlockValue",value:function(r){for(var o=this.context,s=o.indent,a=o.inFlow,l=o.src,u=r,c=r,d=l[u];d===` +`&&(u+=c>g?a.slice(g,c+1):d)}else u+=d}var y=a[o];switch(y){case" ":{var C="Plain value cannot start with a tab character",w=[new Ii(this,C)];return{errors:w,str:u}}case"@":case"`":{var x="Plain value cannot start with reserved character ".concat(y),L=[new Ii(this,x)];return{errors:L,str:u}}default:return u}}},{key:"parseBlockValue",value:function(r){for(var o=this.context,s=o.indent,a=o.inFlow,l=o.src,u=r,c=r,d=l[u];d===` `&&!un.atDocumentBoundary(l,u+1);d=l[u]){var h=un.endOfBlockIndent(l,s,u+1);if(h===null||l[h]==="#")break;l[h]===` `?u=h:(c=t.endOfLine(l,h,a),u=c)}return this.valueRange.isEmpty()&&(this.valueRange.start=r),this.valueRange.end=c,c}},{key:"parse",value:function(r,o){this.context=r;var s=r.inFlow,a=r.src,l=o,u=a[l];return u&&u!=="#"&&u!==` `&&(l=t.endOfLine(a,o,s)),this.valueRange=new Yo(o,l),l=un.endOfWhiteSpace(a,l),l=this.parseComment(l),(!this.hasComment||this.valueRange.isEmpty())&&(l=this.parseBlockValue(l)),l}}],[{key:"endOfLine",value:function(r,o,s){for(var a=r[o],l=o;a&&a!==` `&&!(s&&(a==="["||a==="]"||a==="{"||a==="}"||a===","));){var u=r[l+1];if(a===":"&&(!u||u===` -`||u===" "||u===" "||s&&u===",")||(a===" "||a===" ")&&u==="#")break;l+=1,a=u}return l}}]),t}(un),iF=function(n){co(t,n);var e=ho(t);function t(){return mr(this,t),e.call(this,Lt.BLANK_LINE)}return $r(t,[{key:"includesTrailingLines",get:function(){return!0}},{key:"parse",value:function(r,o){return this.context=r,this.range=new Yo(o,o+1),o+1}}]),t}(un),UB=function(n){co(t,n);var e=ho(t);function t(i,r){var o;return mr(this,t),o=e.call(this,i,r),o.node=null,o}return $r(t,[{key:"includesTrailingLines",get:function(){return!!this.node&&this.node.includesTrailingLines}},{key:"parse",value:function(r,o){this.context=r;var s=r.parseNode,a=r.src,l=r.atLineStart,u=r.lineStart;!l&&this.type===Lt.SEQ_ITEM&&(this.error=new Fi(this,"Sequence items must not have preceding content on the same line"));for(var c=l?o-u:r.indent,d=un.endOfWhiteSpace(a,o+1),h=a[d],m=h==="#",f=[],g=null;h===` -`||h==="#";){if(h==="#"){var b=un.endOfLine(a,d+1);f.push(new Yo(d,b)),d=b}else{l=!0,u=d+1;var v=un.endOfWhiteSpace(a,u);a[v]===` -`&&f.length===0&&(g=new iF,u=g.parse({src:a},u)),d=un.endOfIndent(a,u)}h=a[d]}if(un.nextNodeIsIndented(h,d-(u+c),this.type!==Lt.SEQ_ITEM)?this.node=s({atLineStart:l,inCollection:!1,indent:c,lineStart:u,parent:this},d):h&&u>o+1&&(d=u-1),this.node){if(g){var C=r.parent.items||r.parent.contents;C&&C.push(g)}f.length&&Array.prototype.push.apply(this.props,f),d=this.node.range.end}else if(m){var S=f[0];this.props.push(S),d=S.end}else d=un.endOfLine(a,o+1);var x=this.node?this.node.valueRange.end:d;return this.valueRange=new Yo(o,x),d}},{key:"setOrigRanges",value:function(r,o){return o=Mu(za(t.prototype),"setOrigRanges",this).call(this,r,o),this.node?this.node.setOrigRanges(r,o):o}},{key:"toString",value:function(){var r=this.context.src,o=this.node,s=this.range,a=this.value;if(a!=null)return a;var l=o?r.slice(s.start,o.range.start)+String(o):r.slice(s.start,s.end);return un.addStringTerminator(r,s.end,l)}}]),t}(un),rF=function(n){co(t,n);var e=ho(t);function t(){return mr(this,t),e.call(this,Lt.COMMENT)}return $r(t,[{key:"parse",value:function(r,o){this.context=r;var s=this.parseComment(o);return this.range=new Yo(o,s),s}}]),t}(un);function KB(n){for(var e=n;e instanceof UB;)e=e.node;if(!(e instanceof Mhe))return null;for(var t=e.items.length,i=-1,r=t-1;r>=0;--r){var o=e.items[r];if(o.type===Lt.COMMENT){var s=o.context,a=s.indent,l=s.lineStart;if(a>0&&o.range.start>=l+a)break;i=r}else if(o.type===Lt.BLANK_LINE)i=r;else break}if(i===-1)return null;for(var u=e.items.splice(i,t-i),c=u[0].range.start;e.range.end=c,e.valueRange&&e.valueRange.end>c&&(e.valueRange.end=c),e!==n;)e=e.context.parent;return u}var Mhe=function(n){co(t,n);var e=ho(t);function t(i){var r;mr(this,t),r=e.call(this,i.type===Lt.SEQ_ITEM?Lt.SEQ:Lt.MAP);for(var o=i.props.length-1;o>=0;--o)if(i.props[o].start0}},{key:"parse",value:function(r,o){this.context=r;var s=r.parseNode,a=r.src,l=un.startOfLine(a,o),u=this.items[0];u.context.parent=this,this.valueRange=Yo.copy(u.valueRange);var c=u.range.start-u.context.lineStart,d=o;d=un.normalizeOffset(a,d);for(var h=a[d],m=un.endOfWhiteSpace(a,l)===d,f=!1;h;){for(;h===` +`||u===" "||u===" "||s&&u===",")||(a===" "||a===" ")&&u==="#")break;l+=1,a=u}return l}}]),t}(un),iI=function(n){co(t,n);var e=ho(t);function t(){return hr(this,t),e.call(this,_t.BLANK_LINE)}return $r(t,[{key:"includesTrailingLines",get:function(){return!0}},{key:"parse",value:function(r,o){return this.context=r,this.range=new Yo(o,o+1),o+1}}]),t}(un),UB=function(n){co(t,n);var e=ho(t);function t(i,r){var o;return hr(this,t),o=e.call(this,i,r),o.node=null,o}return $r(t,[{key:"includesTrailingLines",get:function(){return!!this.node&&this.node.includesTrailingLines}},{key:"parse",value:function(r,o){this.context=r;var s=r.parseNode,a=r.src,l=r.atLineStart,u=r.lineStart;!l&&this.type===_t.SEQ_ITEM&&(this.error=new Ii(this,"Sequence items must not have preceding content on the same line"));for(var c=l?o-u:r.indent,d=un.endOfWhiteSpace(a,o+1),h=a[d],m=h==="#",f=[],g=null;h===` +`||h==="#";){if(h==="#"){var b=un.endOfLine(a,d+1);f.push(new Yo(d,b)),d=b}else{l=!0,u=d+1;var y=un.endOfWhiteSpace(a,u);a[y]===` +`&&f.length===0&&(g=new iI,u=g.parse({src:a},u)),d=un.endOfIndent(a,u)}h=a[d]}if(un.nextNodeIsIndented(h,d-(u+c),this.type!==_t.SEQ_ITEM)?this.node=s({atLineStart:l,inCollection:!1,indent:c,lineStart:u,parent:this},d):h&&u>o+1&&(d=u-1),this.node){if(g){var C=r.parent.items||r.parent.contents;C&&C.push(g)}f.length&&Array.prototype.push.apply(this.props,f),d=this.node.range.end}else if(m){var w=f[0];this.props.push(w),d=w.end}else d=un.endOfLine(a,o+1);var x=this.node?this.node.valueRange.end:d;return this.valueRange=new Yo(o,x),d}},{key:"setOrigRanges",value:function(r,o){return o=Nu(za(t.prototype),"setOrigRanges",this).call(this,r,o),this.node?this.node.setOrigRanges(r,o):o}},{key:"toString",value:function(){var r=this.context.src,o=this.node,s=this.range,a=this.value;if(a!=null)return a;var l=o?r.slice(s.start,o.range.start)+String(o):r.slice(s.start,s.end);return un.addStringTerminator(r,s.end,l)}}]),t}(un),rI=function(n){co(t,n);var e=ho(t);function t(){return hr(this,t),e.call(this,_t.COMMENT)}return $r(t,[{key:"parse",value:function(r,o){this.context=r;var s=this.parseComment(o);return this.range=new Yo(o,s),s}}]),t}(un);function KB(n){for(var e=n;e instanceof UB;)e=e.node;if(!(e instanceof Nhe))return null;for(var t=e.items.length,i=-1,r=t-1;r>=0;--r){var o=e.items[r];if(o.type===_t.COMMENT){var s=o.context,a=s.indent,l=s.lineStart;if(a>0&&o.range.start>=l+a)break;i=r}else if(o.type===_t.BLANK_LINE)i=r;else break}if(i===-1)return null;for(var u=e.items.splice(i,t-i),c=u[0].range.start;e.range.end=c,e.valueRange&&e.valueRange.end>c&&(e.valueRange.end=c),e!==n;)e=e.context.parent;return u}var Nhe=function(n){co(t,n);var e=ho(t);function t(i){var r;hr(this,t),r=e.call(this,i.type===_t.SEQ_ITEM?_t.SEQ:_t.MAP);for(var o=i.props.length-1;o>=0;--o)if(i.props[o].start0}},{key:"parse",value:function(r,o){this.context=r;var s=r.parseNode,a=r.src,l=un.startOfLine(a,o),u=this.items[0];u.context.parent=this,this.valueRange=Yo.copy(u.valueRange);var c=u.range.start-u.context.lineStart,d=o;d=un.normalizeOffset(a,d);for(var h=a[d],m=un.endOfWhiteSpace(a,l)===d,f=!1;h;){for(;h===` `||h==="#";){if(m&&h===` -`&&!f){var g=new iF;if(d=g.parse({src:a},d),this.valueRange.end=d,d>=a.length){h=null;break}this.items.push(g),d-=1}else if(h==="#"){if(d=a.length){h=null;break}}if(l=d+1,d=un.endOfIndent(a,l),un.atBlank(a,d)){var v=un.endOfWhiteSpace(a,d),C=a[v];(!C||C===` -`||C==="#")&&(d=v)}h=a[d],m=!0}if(!h)break;if(d!==l+c&&(m||h!==":")){if(do&&(d=l);break}else if(!this.error){var S="All collection items must start at the same column";this.error=new Fl(this,S)}}if(u.type===Lt.SEQ_ITEM){if(h!=="-"){l>o&&(d=l);break}}else if(h==="-"&&!this.error){var x=a[d+1];if(!x||x===` -`||x===" "||x===" "){var _="A collection cannot be both a mapping and a sequence";this.error=new Fl(this,_)}}var F=s({atLineStart:m,inCollection:!0,indent:c,lineStart:l,parent:this},d);if(!F)return d;if(this.items.push(F),this.valueRange.end=F.valueRange.end,d=un.normalizeOffset(a,F.range.end),h=a[d],m=!1,f=F.includesTrailingLines,h){for(var D=d-1,M=a[D];M===" "||M===" ";)M=a[--D];M===` -`&&(l=D+1,m=!0)}var T=KB(F);T&&Array.prototype.push.apply(this.items,T)}return d}},{key:"setOrigRanges",value:function(r,o){return o=Mu(za(t.prototype),"setOrigRanges",this).call(this,r,o),this.items.forEach(function(s){o=s.setOrigRanges(r,o)}),o}},{key:"toString",value:function(){var r=this.context.src,o=this.items,s=this.range,a=this.value;if(a!=null)return a;for(var l=r.slice(s.start,o[0].range.start)+String(o[0]),u=1;u=a+s?!0:l!=="#"&&l!==` -`?!1:t.nextContentHasIndent(r,o,s):!1}}]),t}(un),itt=function(n){co(t,n);var e=ho(t);function t(){var i;return mr(this,t),i=e.call(this,Lt.DIRECTIVE),i.name=null,i}return $r(t,[{key:"parameters",get:function(){var r=this.rawValue;return r?r.trim().split(/[ \t]+/):[]}},{key:"parseName",value:function(r){for(var o=this.context.src,s=r,a=o[s];a&&a!==` +`&&!f){var g=new iI;if(d=g.parse({src:a},d),this.valueRange.end=d,d>=a.length){h=null;break}this.items.push(g),d-=1}else if(h==="#"){if(d=a.length){h=null;break}}if(l=d+1,d=un.endOfIndent(a,l),un.atBlank(a,d)){var y=un.endOfWhiteSpace(a,d),C=a[y];(!C||C===` +`||C==="#")&&(d=y)}h=a[d],m=!0}if(!h)break;if(d!==l+c&&(m||h!==":")){if(do&&(d=l);break}else if(!this.error){var w="All collection items must start at the same column";this.error=new Il(this,w)}}if(u.type===_t.SEQ_ITEM){if(h!=="-"){l>o&&(d=l);break}}else if(h==="-"&&!this.error){var x=a[d+1];if(!x||x===` +`||x===" "||x===" "){var L="A collection cannot be both a mapping and a sequence";this.error=new Il(this,L)}}var I=s({atLineStart:m,inCollection:!0,indent:c,lineStart:l,parent:this},d);if(!I)return d;if(this.items.push(I),this.valueRange.end=I.valueRange.end,d=un.normalizeOffset(a,I.range.end),h=a[d],m=!1,f=I.includesTrailingLines,h){for(var D=d-1,N=a[D];N===" "||N===" ";)N=a[--D];N===` +`&&(l=D+1,m=!0)}var T=KB(I);T&&Array.prototype.push.apply(this.items,T)}return d}},{key:"setOrigRanges",value:function(r,o){return o=Nu(za(t.prototype),"setOrigRanges",this).call(this,r,o),this.items.forEach(function(s){o=s.setOrigRanges(r,o)}),o}},{key:"toString",value:function(){var r=this.context.src,o=this.items,s=this.range,a=this.value;if(a!=null)return a;for(var l=r.slice(s.start,o[0].range.start)+String(o[0]),u=1;u=a+s?!0:l!=="#"&&l!==` +`?!1:t.nextContentHasIndent(r,o,s):!1}}]),t}(un),itt=function(n){co(t,n);var e=ho(t);function t(){var i;return hr(this,t),i=e.call(this,_t.DIRECTIVE),i.name=null,i}return $r(t,[{key:"parameters",get:function(){var r=this.rawValue;return r?r.trim().split(/[ \t]+/):[]}},{key:"parseName",value:function(r){for(var o=this.context.src,s=r,a=o[s];a&&a!==` `&&a!==" "&&a!==" ";)a=o[s+=1];return this.name=o.slice(r,s),s}},{key:"parseParameters",value:function(r){for(var o=this.context.src,s=r,a=o[s];a&&a!==` -`&&a!=="#";)a=o[s+=1];return this.valueRange=new Yo(r,s),s}},{key:"parse",value:function(r,o){this.context=r;var s=this.parseName(o+1);return s=this.parseParameters(s),s=this.parseComment(s),this.range=new Yo(o,s),s}}]),t}(un),rtt=function(n){co(t,n);var e=ho(t);function t(){var i;return mr(this,t),i=e.call(this,Lt.DOCUMENT),i.directives=null,i.contents=null,i.directivesEndMarker=null,i.documentEndMarker=null,i}return $r(t,[{key:"parseDirectives",value:function(r){var o=this.context.src;this.directives=[];for(var s=!0,a=!1,l=r;!un.atDocumentBoundary(o,l,Us.DIRECTIVES_END);)switch(l=t.startCommentOrEndBlankLine(o,l),o[l]){case` -`:if(s){var u=new iF;l=u.parse({src:o},l),l0&&(this.contents=this.directives,this.directives=[]),l}return o[l]?(this.directivesEndMarker=new Yo(l,l+3),l+3):(a?this.error=new Fi(this,"Missing directives-end indicator line"):this.directives.length>0&&(this.contents=this.directives,this.directives=[]),l)}},{key:"parseContents",value:function(r){var o=this.context,s=o.parseNode,a=o.src;this.contents||(this.contents=[]);for(var l=r;a[l-1]==="-";)l-=1;var u=un.endOfWhiteSpace(a,r),c=l===r;for(this.valueRange=new Yo(u);!un.atDocumentBoundary(a,u,Us.DOCUMENT_END);){switch(a[u]){case` -`:if(c){var d=new iF;u=d.parse({src:a},u),u0&&((o.length>0||r[0].type===Lt.COMMENT)&&(a+=`--- +`&&a!=="#";)a=o[s+=1];return this.valueRange=new Yo(r,s),s}},{key:"parse",value:function(r,o){this.context=r;var s=this.parseName(o+1);return s=this.parseParameters(s),s=this.parseComment(s),this.range=new Yo(o,s),s}}]),t}(un),rtt=function(n){co(t,n);var e=ho(t);function t(){var i;return hr(this,t),i=e.call(this,_t.DOCUMENT),i.directives=null,i.contents=null,i.directivesEndMarker=null,i.documentEndMarker=null,i}return $r(t,[{key:"parseDirectives",value:function(r){var o=this.context.src;this.directives=[];for(var s=!0,a=!1,l=r;!un.atDocumentBoundary(o,l,Us.DIRECTIVES_END);)switch(l=t.startCommentOrEndBlankLine(o,l),o[l]){case` +`:if(s){var u=new iI;l=u.parse({src:o},l),l0&&(this.contents=this.directives,this.directives=[]),l}return o[l]?(this.directivesEndMarker=new Yo(l,l+3),l+3):(a?this.error=new Ii(this,"Missing directives-end indicator line"):this.directives.length>0&&(this.contents=this.directives,this.directives=[]),l)}},{key:"parseContents",value:function(r){var o=this.context,s=o.parseNode,a=o.src;this.contents||(this.contents=[]);for(var l=r;a[l-1]==="-";)l-=1;var u=un.endOfWhiteSpace(a,r),c=l===r;for(this.valueRange=new Yo(u);!un.atDocumentBoundary(a,u,Us.DOCUMENT_END);){switch(a[u]){case` +`:if(c){var d=new iI;u=d.parse({src:a},u),u0&&((o.length>0||r[0].type===_t.COMMENT)&&(a+=`--- `),a+=r.join("")),a[a.length-1]!==` `&&(a+=` `),a}}],[{key:"startCommentOrEndBlankLine",value:function(r,o){var s=un.endOfWhiteSpace(r,o),a=r[s];return a==="#"||a===` -`?s:o}}]),t}(un),ott=function(n){co(t,n);var e=ho(t);function t(){return mr(this,t),e.apply(this,arguments)}return $r(t,[{key:"parse",value:function(r,o){this.context=r;var s=r.src,a=un.endOfIdentifier(s,o+1);return this.valueRange=new Yo(o+1,a),a=un.endOfWhiteSpace(s,a),a=this.parseComment(a),a}}]),t}(un),_b={CLIP:"CLIP",KEEP:"KEEP",STRIP:"STRIP"},stt=function(n){co(t,n);var e=ho(t);function t(i,r){var o;return mr(this,t),o=e.call(this,i,r),o.blockIndent=null,o.chomping=_b.CLIP,o.header=null,o}return $r(t,[{key:"includesTrailingLines",get:function(){return this.chomping===_b.KEEP}},{key:"strValue",get:function(){if(!this.valueRange||!this.context)return null;var r=this.valueRange,o=r.start,s=r.end,a=this.context,l=a.indent,u=a.src;if(this.valueRange.isEmpty())return"";for(var c=null,d=u[s-1];d===` -`||d===" "||d===" ";){if(s-=1,s<=o){if(this.chomping===_b.KEEP)break;return""}d===` -`&&(c=s),d=u[s-1]}var h=s+1;c&&(this.chomping===_b.KEEP?(h=c,s=this.valueRange.end):s=c);for(var m=l+this.blockIndent,f=this.type===Lt.BLOCK_FOLDED,g=!0,b="",v="",C=!1,S=o;Sd&&(d=g);a[m]===` -`?u=m:u=c=un.endOfLine(a,m)}return this.chomping!==_b.KEEP&&(u=a[c]?c+1:c),this.valueRange=new Yo(r+1,u),u}},{key:"parse",value:function(r,o){this.context=r;var s=r.src,a=this.parseBlockHeader(o);return a=un.endOfWhiteSpace(s,a),a=this.parseComment(a),a=this.parseBlockValue(a),a}},{key:"setOrigRanges",value:function(r,o){return o=Mu(za(t.prototype),"setOrigRanges",this).call(this,r,o),this.header?this.header.setOrigRange(r,o):o}}]),t}(un),att=function(n){co(t,n);var e=ho(t);function t(i,r){var o;return mr(this,t),o=e.call(this,i,r),o.items=null,o}return $r(t,[{key:"prevNodeIsJsonLike",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.items.length,o=this.items[r-1];return!!o&&(o.jsonLike||o.type===Lt.COMMENT&&this.prevNodeIsJsonLike(r-1))}},{key:"parse",value:function(r,o){this.context=r;var s=r.parseNode,a=r.src,l=r.indent,u=r.lineStart,c=a[o];this.items=[{char:c,offset:o}];var d=un.endOfWhiteSpace(a,o+1);for(c=a[d];c&&c!=="]"&&c!=="}";){switch(c){case` +`&&gd&&(d=g);a[m]===` +`?u=m:u=c=un.endOfLine(a,m)}return this.chomping!==Lb.KEEP&&(u=a[c]?c+1:c),this.valueRange=new Yo(r+1,u),u}},{key:"parse",value:function(r,o){this.context=r;var s=r.src,a=this.parseBlockHeader(o);return a=un.endOfWhiteSpace(s,a),a=this.parseComment(a),a=this.parseBlockValue(a),a}},{key:"setOrigRanges",value:function(r,o){return o=Nu(za(t.prototype),"setOrigRanges",this).call(this,r,o),this.header?this.header.setOrigRange(r,o):o}}]),t}(un),att=function(n){co(t,n);var e=ho(t);function t(i,r){var o;return hr(this,t),o=e.call(this,i,r),o.items=null,o}return $r(t,[{key:"prevNodeIsJsonLike",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.items.length,o=this.items[r-1];return!!o&&(o.jsonLike||o.type===_t.COMMENT&&this.prevNodeIsJsonLike(r-1))}},{key:"parse",value:function(r,o){this.context=r;var s=r.parseNode,a=r.src,l=r.indent,u=r.lineStart,c=a[o];this.items=[{char:c,offset:o}];var d=un.endOfWhiteSpace(a,o+1);for(c=a[d];c&&c!=="]"&&c!=="}";){switch(c){case` `:{u=d+1;var h=un.endOfWhiteSpace(a,u);if(a[h]===` -`){var m=new iF;u=m.parse({src:a},u),this.items.push(m)}if(d=un.endOfIndent(a,u),d<=u+l&&(c=a[d],ds.offset);)++a;s.origOffset=s.offset+a,o=a}}),o}},{key:"toString",value:function(){var r=this.context.src,o=this.items,s=this.range,a=this.value;if(a!=null)return a;var l=o.filter(function(d){return d instanceof un}),u="",c=s.start;return l.forEach(function(d){var h=r.slice(c,d.range.start);c=d.range.end,u+=h+String(d),u[u.length-1]===` +`){var m=new iI;u=m.parse({src:a},u),this.items.push(m)}if(d=un.endOfIndent(a,u),d<=u+l&&(c=a[d],ds.offset);)++a;s.origOffset=s.offset+a,o=a}}),o}},{key:"toString",value:function(){var r=this.context.src,o=this.items,s=this.range,a=this.value;if(a!=null)return a;var l=o.filter(function(d){return d instanceof un}),u="",c=s.start;return l.forEach(function(d){var h=r.slice(c,d.range.start);c=d.range.end,u+=h+String(d),u[u.length-1]===` `&&r[c-1]!==` `&&r[c]===` -`&&(c+=1)}),u+=r.slice(c,s.end),un.addStringTerminator(r,s.end,u)}}]),t}(un),ltt=function(n){co(t,n);var e=ho(t);function t(){return mr(this,t),e.apply(this,arguments)}return $r(t,[{key:"strValue",get:function(){if(!this.valueRange||!this.context)return null;var r=[],o=this.valueRange,s=o.start,a=o.end,l=this.context,u=l.indent,c=l.src;c[a-1]!=='"'&&r.push(new Fl(this,'Missing closing "quote'));for(var d="",h=s+1;hC?c.slice(C,h+1):m)}else d+=m}return r.length>0?{errors:r,str:d}:d}},{key:"parseCharCode",value:function(r,o,s){var a=this.context.src,l=a.substr(r,o),u=l.length===o&&/^[0-9a-fA-F]+$/.test(l),c=u?parseInt(l,16):NaN;return isNaN(c)?(s.push(new Fl(this,"Invalid escape sequence ".concat(a.substr(r-2,o+2)))),a.substr(r-2,o+2)):String.fromCodePoint(c)}},{key:"parse",value:function(r,o){this.context=r;var s=r.src,a=t.endOfQuote(s,o+1);return this.valueRange=new Yo(o,a),a=un.endOfWhiteSpace(s,a),a=this.parseComment(a),a}}],[{key:"endOfQuote",value:function(r,o){for(var s=r[o];s&&s!=='"';)o+=s==="\\"?2:1,s=r[o];return o+1}}]),t}(un),utt=function(n){co(t,n);var e=ho(t);function t(){return mr(this,t),e.apply(this,arguments)}return $r(t,[{key:"strValue",get:function(){if(!this.valueRange||!this.context)return null;var r=[],o=this.valueRange,s=o.start,a=o.end,l=this.context,u=l.indent,c=l.src;c[a-1]!=="'"&&r.push(new Fl(this,"Missing closing 'quote"));for(var d="",h=s+1;hC?c.slice(C,h+1):m)}else d+=m}return r.length>0?{errors:r,str:d}:d}},{key:"parse",value:function(r,o){this.context=r;var s=r.src,a=t.endOfQuote(s,o+1);return this.valueRange=new Yo(o,a),a=un.endOfWhiteSpace(s,a),a=this.parseComment(a),a}}],[{key:"endOfQuote",value:function(r,o){for(var s=r[o];s;)if(s==="'"){if(r[o+1]!=="'")break;s=r[o+=2]}else s=r[o+=1];return o+1}}]),t}(un);function ctt(n,e){switch(n){case Lt.ALIAS:return new ott(n,e);case Lt.BLOCK_FOLDED:case Lt.BLOCK_LITERAL:return new stt(n,e);case Lt.FLOW_MAP:case Lt.FLOW_SEQ:return new att(n,e);case Lt.MAP_KEY:case Lt.MAP_VALUE:case Lt.SEQ_ITEM:return new UB(n,e);case Lt.COMMENT:case Lt.PLAIN:return new Dhe(n,e);case Lt.QUOTE_DOUBLE:return new ltt(n,e);case Lt.QUOTE_SINGLE:return new utt(n,e);default:return null}}var dtt=function(){function n(){var e=this,t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=i.atLineStart,o=i.inCollection,s=i.inFlow,a=i.indent,l=i.lineStart,u=i.parent;mr(this,n),_l(this,"parseNode",function(c,d){if(un.atDocumentBoundary(e.src,d))return null;var h=new n(e,c),m=h.parseProps(d),f=m.props,g=m.type,b=m.valueStart,v=ctt(g,f),C=v.parse(h,b);if(v.range=new Yo(d,C),C<=d&&(v.error=new Error("Node#parse consumed no characters"),v.error.parseEnd=C,v.error.source=v,v.range.end=d+1),h.nodeStartsCollection(v)){!v.error&&!h.atLineStart&&h.parent.type===Lt.DOCUMENT&&(v.error=new Fl(v,"Block collection must not have preceding content here (e.g. directives-end indicator)"));var S=new Mhe(v);return C=S.parse(new n(h),C),S.range=new Yo(d,C),S}return v}),this.atLineStart=r??(t.atLineStart||!1),this.inCollection=o??(t.inCollection||!1),this.inFlow=s??(t.inFlow||!1),this.indent=a??t.indent,this.lineStart=l??t.lineStart,this.parent=u??(t.parent||{}),this.root=t.root,this.src=t.src}return $r(n,[{key:"nodeStartsCollection",value:function(t){var i=this.inCollection,r=this.inFlow,o=this.src;if(i||r)return!1;if(t instanceof UB)return!0;var s=t.range.end;return o[s]===` +`:for(;c[h+1]===" "||c[h+1]===" ";)h+=1;break;default:r.push(new Il(this,"Invalid escape sequence ".concat(c.substr(h-1,2)))),d+="\\"+c[h]}else if(m===" "||m===" "){for(var C=h,w=c[h+1];w===" "||w===" ";)h+=1,w=c[h+1];w!==` +`&&(d+=h>C?c.slice(C,h+1):m)}else d+=m}return r.length>0?{errors:r,str:d}:d}},{key:"parseCharCode",value:function(r,o,s){var a=this.context.src,l=a.substr(r,o),u=l.length===o&&/^[0-9a-fA-F]+$/.test(l),c=u?parseInt(l,16):NaN;return isNaN(c)?(s.push(new Il(this,"Invalid escape sequence ".concat(a.substr(r-2,o+2)))),a.substr(r-2,o+2)):String.fromCodePoint(c)}},{key:"parse",value:function(r,o){this.context=r;var s=r.src,a=t.endOfQuote(s,o+1);return this.valueRange=new Yo(o,a),a=un.endOfWhiteSpace(s,a),a=this.parseComment(a),a}}],[{key:"endOfQuote",value:function(r,o){for(var s=r[o];s&&s!=='"';)o+=s==="\\"?2:1,s=r[o];return o+1}}]),t}(un),utt=function(n){co(t,n);var e=ho(t);function t(){return hr(this,t),e.apply(this,arguments)}return $r(t,[{key:"strValue",get:function(){if(!this.valueRange||!this.context)return null;var r=[],o=this.valueRange,s=o.start,a=o.end,l=this.context,u=l.indent,c=l.src;c[a-1]!=="'"&&r.push(new Il(this,"Missing closing 'quote"));for(var d="",h=s+1;hC?c.slice(C,h+1):m)}else d+=m}return r.length>0?{errors:r,str:d}:d}},{key:"parse",value:function(r,o){this.context=r;var s=r.src,a=t.endOfQuote(s,o+1);return this.valueRange=new Yo(o,a),a=un.endOfWhiteSpace(s,a),a=this.parseComment(a),a}}],[{key:"endOfQuote",value:function(r,o){for(var s=r[o];s;)if(s==="'"){if(r[o+1]!=="'")break;s=r[o+=2]}else s=r[o+=1];return o+1}}]),t}(un);function ctt(n,e){switch(n){case _t.ALIAS:return new ott(n,e);case _t.BLOCK_FOLDED:case _t.BLOCK_LITERAL:return new stt(n,e);case _t.FLOW_MAP:case _t.FLOW_SEQ:return new att(n,e);case _t.MAP_KEY:case _t.MAP_VALUE:case _t.SEQ_ITEM:return new UB(n,e);case _t.COMMENT:case _t.PLAIN:return new Dhe(n,e);case _t.QUOTE_DOUBLE:return new ltt(n,e);case _t.QUOTE_SINGLE:return new utt(n,e);default:return null}}var dtt=function(){function n(){var e=this,t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=i.atLineStart,o=i.inCollection,s=i.inFlow,a=i.indent,l=i.lineStart,u=i.parent;hr(this,n),Ll(this,"parseNode",function(c,d){if(un.atDocumentBoundary(e.src,d))return null;var h=new n(e,c),m=h.parseProps(d),f=m.props,g=m.type,b=m.valueStart,y=ctt(g,f),C=y.parse(h,b);if(y.range=new Yo(d,C),C<=d&&(y.error=new Error("Node#parse consumed no characters"),y.error.parseEnd=C,y.error.source=y,y.range.end=d+1),h.nodeStartsCollection(y)){!y.error&&!h.atLineStart&&h.parent.type===_t.DOCUMENT&&(y.error=new Il(y,"Block collection must not have preceding content here (e.g. directives-end indicator)"));var w=new Nhe(y);return C=w.parse(new n(h),C),w.range=new Yo(d,C),w}return y}),this.atLineStart=r??(t.atLineStart||!1),this.inCollection=o??(t.inCollection||!1),this.inFlow=s??(t.inFlow||!1),this.indent=a??t.indent,this.lineStart=l??t.lineStart,this.parent=u??(t.parent||{}),this.root=t.root,this.src=t.src}return $r(n,[{key:"nodeStartsCollection",value:function(t){var i=this.inCollection,r=this.inFlow,o=this.src;if(i||r)return!1;if(t instanceof UB)return!0;var s=t.range.end;return o[s]===` `||o[s-1]===` `?!1:(s=un.endOfWhiteSpace(o,s),o[s]===":")}},{key:"parseProps",value:function(t){var i=this.inFlow,r=this.parent,o=this.src,s=[],a=!1;t=this.atLineStart?un.endOfIndent(o,t):un.endOfWhiteSpace(o,t);for(var l=o[t];l===Us.ANCHOR||l===Us.COMMENT||l===Us.TAG||l===` `;){if(l===` `){var u=t,c=void 0;do c=u+1,u=un.endOfIndent(o,c);while(o[u]===` -`);var d=u-(c+this.indent),h=r.type===Lt.SEQ_ITEM&&r.context.atLineStart;if(o[u]!=="#"&&!un.nextNodeIsIndented(o[u],d,!h))break;this.atLineStart=!0,this.lineStart=c,a=!1,t=u}else if(l===Us.COMMENT){var m=un.endOfLine(o,t+1);s.push(new Yo(t,m)),t=m}else{var f=un.endOfIdentifier(o,t+1);l===Us.TAG&&o[f]===","&&/^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(o.slice(t+1,f+13))&&(f=un.endOfIdentifier(o,f+5)),s.push(new Yo(t,f)),a=!0,t=un.endOfWhiteSpace(o,f)}l=o[t]}a&&l===":"&&un.atBlank(o,t+1,!0)&&(t-=1);var g=n.parseType(o,t,i);return{props:s,type:g,valueStart:t}}}],[{key:"parseType",value:function(t,i,r){switch(t[i]){case"*":return Lt.ALIAS;case">":return Lt.BLOCK_FOLDED;case"|":return Lt.BLOCK_LITERAL;case"{":return Lt.FLOW_MAP;case"[":return Lt.FLOW_SEQ;case"?":return!r&&un.atBlank(t,i+1,!0)?Lt.MAP_KEY:Lt.PLAIN;case":":return!r&&un.atBlank(t,i+1,!0)?Lt.MAP_VALUE:Lt.PLAIN;case"-":return!r&&un.atBlank(t,i+1,!0)?Lt.SEQ_ITEM:Lt.PLAIN;case'"':return Lt.QUOTE_DOUBLE;case"'":return Lt.QUOTE_SINGLE;default:return Lt.PLAIN}}}]),n}();function JB(n){var e=[];n.indexOf("\r")!==-1&&(n=n.replace(/\r\n?/g,function(s,a){return s.length>1&&e.push(a),` +`);var d=u-(c+this.indent),h=r.type===_t.SEQ_ITEM&&r.context.atLineStart;if(o[u]!=="#"&&!un.nextNodeIsIndented(o[u],d,!h))break;this.atLineStart=!0,this.lineStart=c,a=!1,t=u}else if(l===Us.COMMENT){var m=un.endOfLine(o,t+1);s.push(new Yo(t,m)),t=m}else{var f=un.endOfIdentifier(o,t+1);l===Us.TAG&&o[f]===","&&/^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(o.slice(t+1,f+13))&&(f=un.endOfIdentifier(o,f+5)),s.push(new Yo(t,f)),a=!0,t=un.endOfWhiteSpace(o,f)}l=o[t]}a&&l===":"&&un.atBlank(o,t+1,!0)&&(t-=1);var g=n.parseType(o,t,i);return{props:s,type:g,valueStart:t}}}],[{key:"parseType",value:function(t,i,r){switch(t[i]){case"*":return _t.ALIAS;case">":return _t.BLOCK_FOLDED;case"|":return _t.BLOCK_LITERAL;case"{":return _t.FLOW_MAP;case"[":return _t.FLOW_SEQ;case"?":return!r&&un.atBlank(t,i+1,!0)?_t.MAP_KEY:_t.PLAIN;case":":return!r&&un.atBlank(t,i+1,!0)?_t.MAP_VALUE:_t.PLAIN;case"-":return!r&&un.atBlank(t,i+1,!0)?_t.SEQ_ITEM:_t.PLAIN;case'"':return _t.QUOTE_DOUBLE;case"'":return _t.QUOTE_SINGLE;default:return _t.PLAIN}}}]),n}();function JB(n){var e=[];n.indexOf("\r")!==-1&&(n=n.replace(/\r\n?/g,function(s,a){return s.length>1&&e.push(a),` `}));var t=[],i=0;do{var r=new rtt,o=new dtt({src:n});i=r.parse(o,i),t.push(r)}while(i=0;--r){var o=e[r];if(Number.isInteger(o)&&o>=0){var s=[];s[o]=i,i=s}else{var a={};Object.defineProperty(a,o,{value:i,writable:!0,enumerable:!0,configurable:!0}),i=a}}return n.createNode(i,!1)}var oF=function(e){return e==null||xc(e)==="object"&&e[Symbol.iterator]().next().done},Ha=function(n){co(t,n);var e=ho(t);function t(i){var r;return mr(this,t),r=e.call(this),_l(yd(r),"items",[]),r.schema=i,r}return $r(t,[{key:"addIn",value:function(r,o){if(oF(r))this.add(o);else{var s=tF(r),a=s[0],l=s.slice(1),u=this.get(a,!0);if(u instanceof t)u.addIn(l,o);else if(u===void 0&&this.schema)this.set(a,khe(this.schema,l,o));else throw new Error("Expected YAML collection at ".concat(a,". Remaining path: ").concat(l))}}},{key:"deleteIn",value:function(r){var o=tF(r),s=o[0],a=o.slice(1);if(a.length===0)return this.delete(s);var l=this.get(s,!0);if(l instanceof t)return l.deleteIn(a);throw new Error("Expected YAML collection at ".concat(s,". Remaining path: ").concat(a))}},{key:"getIn",value:function(r,o){var s=tF(r),a=s[0],l=s.slice(1),u=this.get(a,!0);return l.length===0?!o&&u instanceof Vr?u.value:u:u instanceof t?u.getIn(l,o):void 0}},{key:"hasAllNullValues",value:function(){return this.items.every(function(r){if(!r||r.type!=="PAIR")return!1;var o=r.value;return o==null||o instanceof Vr&&o.value==null&&!o.commentBefore&&!o.comment&&!o.tag})}},{key:"hasIn",value:function(r){var o=tF(r),s=o[0],a=o.slice(1);if(a.length===0)return this.has(s);var l=this.get(s,!0);return l instanceof t?l.hasIn(a):!1}},{key:"setIn",value:function(r,o){var s=tF(r),a=s[0],l=s.slice(1);if(l.length===0)this.set(a,o);else{var u=this.get(a,!0);if(u instanceof t)u.setIn(l,o);else if(u===void 0&&this.schema)this.set(a,khe(this.schema,l,o));else throw new Error("Expected YAML collection at ".concat(a,". Remaining path: ").concat(l))}}},{key:"toJSON",value:function(){return null}},{key:"toString",value:function(r,o,s,a){var l=this,u=o.blockItem,c=o.flowChars,d=o.isMap,h=o.itemIndent,m=r,f=m.indent,g=m.indentStep,b=m.stringify,v=this.type===Lt.FLOW_MAP||this.type===Lt.FLOW_SEQ||r.inFlow;v&&(h+=g);var C=d&&this.hasAllNullValues();r=Object.assign({},r,{allNullValues:C,indent:h,inFlow:v,type:null});var S=!1,x=!1,_=this.items.reduce(function(B,P,H){var k;P&&(!S&&P.spaceBefore&&B.push({type:"comment",str:""}),P.commentBefore&&P.commentBefore.match(/^.*$/gm).forEach(function(Y){B.push({type:"comment",str:"#".concat(Y)})}),P.comment&&(k=P.comment),v&&(!S&&P.spaceBefore||P.commentBefore||P.comment||P.key&&(P.key.commentBefore||P.key.comment)||P.value&&(P.value.commentBefore||P.value.comment))&&(x=!0)),S=!1;var X=b(P,r,function(){return k=null},function(){return S=!0});return v&&!x&&X.includes(` -`)&&(x=!0),v&&Ht.maxFlowStringSingleLineLength){F=D;var Z=mo(T),E;try{for(Z.s();!(E=Z.n()).done;){var R=E.value;F+=R?` -`.concat(g).concat(f).concat(R):` -`}}catch(B){Z.e(B)}finally{Z.f()}F+=` -`.concat(f).concat(M)}else F="".concat(D," ").concat(T.join(" ")," ").concat(M)}else{var W=_.map(u);F=W.shift();var A=mo(W),z;try{for(A.s();!(z=A.n()).done;){var O=z.value;F+=O?` +`)+t.replace(/^/gm,"".concat(e||"","#")):n}var Mu=function n(){hr(this,n)};function vh(n,e,t){if(Array.isArray(n))return n.map(function(o,s){return vh(o,String(s),t)});if(n&&typeof n.toJSON=="function"){var i=t&&t.anchors&&t.anchors.get(n);i&&(t.onCreate=function(o){i.res=o,delete t.onCreate});var r=n.toJSON(e,t);return i&&t.onCreate&&t.onCreate(r),r}return(!t||!t.keep)&&typeof n=="bigint"?Number(n):n}var Ar=function(n){co(t,n);var e=ho(t);function t(i){var r;return hr(this,t),r=e.call(this),r.value=i,r}return $r(t,[{key:"toJSON",value:function(r,o){return o&&o.keep?this.value:vh(this.value,r,o)}},{key:"toString",value:function(){return String(this.value)}}]),t}(Mu);function Mhe(n,e,t){for(var i=t,r=e.length-1;r>=0;--r){var o=e[r];if(Number.isInteger(o)&&o>=0){var s=[];s[o]=i,i=s}else{var a={};Object.defineProperty(a,o,{value:i,writable:!0,enumerable:!0,configurable:!0}),i=a}}return n.createNode(i,!1)}var oI=function(e){return e==null||wc(e)==="object"&&e[Symbol.iterator]().next().done},Ha=function(n){co(t,n);var e=ho(t);function t(i){var r;return hr(this,t),r=e.call(this),Ll(yd(r),"items",[]),r.schema=i,r}return $r(t,[{key:"addIn",value:function(r,o){if(oI(r))this.add(o);else{var s=tI(r),a=s[0],l=s.slice(1),u=this.get(a,!0);if(u instanceof t)u.addIn(l,o);else if(u===void 0&&this.schema)this.set(a,Mhe(this.schema,l,o));else throw new Error("Expected YAML collection at ".concat(a,". Remaining path: ").concat(l))}}},{key:"deleteIn",value:function(r){var o=tI(r),s=o[0],a=o.slice(1);if(a.length===0)return this.delete(s);var l=this.get(s,!0);if(l instanceof t)return l.deleteIn(a);throw new Error("Expected YAML collection at ".concat(s,". Remaining path: ").concat(a))}},{key:"getIn",value:function(r,o){var s=tI(r),a=s[0],l=s.slice(1),u=this.get(a,!0);return l.length===0?!o&&u instanceof Ar?u.value:u:u instanceof t?u.getIn(l,o):void 0}},{key:"hasAllNullValues",value:function(){return this.items.every(function(r){if(!r||r.type!=="PAIR")return!1;var o=r.value;return o==null||o instanceof Ar&&o.value==null&&!o.commentBefore&&!o.comment&&!o.tag})}},{key:"hasIn",value:function(r){var o=tI(r),s=o[0],a=o.slice(1);if(a.length===0)return this.has(s);var l=this.get(s,!0);return l instanceof t?l.hasIn(a):!1}},{key:"setIn",value:function(r,o){var s=tI(r),a=s[0],l=s.slice(1);if(l.length===0)this.set(a,o);else{var u=this.get(a,!0);if(u instanceof t)u.setIn(l,o);else if(u===void 0&&this.schema)this.set(a,Mhe(this.schema,l,o));else throw new Error("Expected YAML collection at ".concat(a,". Remaining path: ").concat(l))}}},{key:"toJSON",value:function(){return null}},{key:"toString",value:function(r,o,s,a){var l=this,u=o.blockItem,c=o.flowChars,d=o.isMap,h=o.itemIndent,m=r,f=m.indent,g=m.indentStep,b=m.stringify,y=this.type===_t.FLOW_MAP||this.type===_t.FLOW_SEQ||r.inFlow;y&&(h+=g);var C=d&&this.hasAllNullValues();r=Object.assign({},r,{allNullValues:C,indent:h,inFlow:y,type:null});var w=!1,x=!1,L=this.items.reduce(function(B,P,H){var M;P&&(!w&&P.spaceBefore&&B.push({type:"comment",str:""}),P.commentBefore&&P.commentBefore.match(/^.*$/gm).forEach(function(Y){B.push({type:"comment",str:"#".concat(Y)})}),P.comment&&(M=P.comment),y&&(!w&&P.spaceBefore||P.commentBefore||P.comment||P.key&&(P.key.commentBefore||P.key.comment)||P.value&&(P.value.commentBefore||P.value.comment))&&(x=!0)),w=!1;var X=b(P,r,function(){return M=null},function(){return w=!0});return y&&!x&&X.includes(` +`)&&(x=!0),y&&Ht.maxFlowStringSingleLineLength){I=D;var R=mo(T),E;try{for(R.s();!(E=R.n()).done;){var W=E.value;I+=W?` +`.concat(g).concat(f).concat(W):` +`}}catch(B){R.e(B)}finally{R.f()}I+=` +`.concat(f).concat(N)}else I="".concat(D," ").concat(T.join(" ")," ").concat(N)}else{var Z=L.map(u);I=Z.shift();var V=mo(Z),z;try{for(V.s();!(z=V.n()).done;){var O=z.value;I+=O?` `.concat(f).concat(O):` -`}}catch(B){A.e(B)}finally{A.f()}}return this.comment?(F+=` -`+this.comment.replace(/^/gm,"".concat(f,"#")),s&&s()):S&&a&&a(),F}}]),t}(ku);_l(Ha,"maxFlowStringSingleLineLength",60);function k5(n){var e=n instanceof Vr?n.value:n;return e&&typeof e=="string"&&(e=Number(e)),Number.isInteger(e)&&e>=0?e:null}var Dm=function(n){co(t,n);var e=ho(t);function t(){return mr(this,t),e.apply(this,arguments)}return $r(t,[{key:"add",value:function(r){this.items.push(r)}},{key:"delete",value:function(r){var o=k5(r);if(typeof o!="number")return!1;var s=this.items.splice(o,1);return s.length>0}},{key:"get",value:function(r,o){var s=k5(r);if(typeof s=="number"){var a=this.items[s];return!o&&a instanceof Vr?a.value:a}}},{key:"has",value:function(r){var o=k5(r);return typeof o=="number"&&o1&&arguments[1]!==void 0?arguments[1]:null;return mr(this,t),r=e.call(this),r.key=i,r.value=o,r.type=t.Type.PAIR,r}return $r(t,[{key:"commentBefore",get:function(){return this.key instanceof ku?this.key.commentBefore:void 0},set:function(r){if(this.key==null&&(this.key=new Vr(null)),this.key instanceof ku)this.key.commentBefore=r;else{var o="Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.";throw new Error(o)}}},{key:"addToJSMap",value:function(r,o){var s=yh(this.key,"",r);if(o instanceof Map){var a=yh(this.value,s,r);o.set(s,a)}else if(o instanceof Set)o.add(s);else{var l=mtt(this.key,s,r),u=yh(this.value,l,r);l in o?Object.defineProperty(o,l,{value:u,writable:!0,enumerable:!0,configurable:!0}):o[l]=u}return o}},{key:"toJSON",value:function(r,o){var s=o&&o.mapAsMap?new Map:{};return this.addToJSMap(o,s)}},{key:"toString",value:function(r,o,s){if(!r||!r.doc)return JSON.stringify(this);var a=r.doc.options,l=a.indent,u=a.indentSeq,c=a.simpleKeys,d=this.key,h=this.value,m=d instanceof ku&&d.comment;if(c){if(m)throw new Error("With simple keys, key nodes cannot have comments");if(d instanceof Ha){var f="With simple keys, collection cannot be used as a key value";throw new Error(f)}}var g=!c&&(!d||m||(d instanceof ku?d instanceof Ha||d.type===Lt.BLOCK_FOLDED||d.type===Lt.BLOCK_LITERAL:xc(d)==="object")),b=r,v=b.doc,C=b.indent,S=b.indentStep,x=b.stringify;r=Object.assign({},r,{implicitKey:!g,indent:C+S});var _=!1,F=x(d,r,function(){return m=null},function(){return _=!0});if(F=Ow(F,r.indent,m),!g&&F.length>1024){if(c)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");g=!0}if(r.allNullValues&&!c)return this.comment?(F=Ow(F,r.indent,this.comment),o&&o()):_&&!m&&s&&s(),r.inFlow&&!g?F:"? ".concat(F);F=g?"? ".concat(F,` -`).concat(C,":"):"".concat(F,":"),this.comment&&(F=Ow(F,r.indent,this.comment),o&&o());var D="",M=null;if(h instanceof ku){if(h.spaceBefore&&(D=` +`}}catch(B){V.e(B)}finally{V.f()}}return this.comment?(I+=` +`+this.comment.replace(/^/gm,"".concat(f,"#")),s&&s()):w&&a&&a(),I}}]),t}(Mu);Ll(Ha,"maxFlowStringSingleLineLength",60);function M5(n){var e=n instanceof Ar?n.value:n;return e&&typeof e=="string"&&(e=Number(e)),Number.isInteger(e)&&e>=0?e:null}var Dm=function(n){co(t,n);var e=ho(t);function t(){return hr(this,t),e.apply(this,arguments)}return $r(t,[{key:"add",value:function(r){this.items.push(r)}},{key:"delete",value:function(r){var o=M5(r);if(typeof o!="number")return!1;var s=this.items.splice(o,1);return s.length>0}},{key:"get",value:function(r,o){var s=M5(r);if(typeof s=="number"){var a=this.items[s];return!o&&a instanceof Ar?a.value:a}}},{key:"has",value:function(r){var o=M5(r);return typeof o=="number"&&o1&&arguments[1]!==void 0?arguments[1]:null;return hr(this,t),r=e.call(this),r.key=i,r.value=o,r.type=t.Type.PAIR,r}return $r(t,[{key:"commentBefore",get:function(){return this.key instanceof Mu?this.key.commentBefore:void 0},set:function(r){if(this.key==null&&(this.key=new Ar(null)),this.key instanceof Mu)this.key.commentBefore=r;else{var o="Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.";throw new Error(o)}}},{key:"addToJSMap",value:function(r,o){var s=vh(this.key,"",r);if(o instanceof Map){var a=vh(this.value,s,r);o.set(s,a)}else if(o instanceof Set)o.add(s);else{var l=mtt(this.key,s,r),u=vh(this.value,l,r);l in o?Object.defineProperty(o,l,{value:u,writable:!0,enumerable:!0,configurable:!0}):o[l]=u}return o}},{key:"toJSON",value:function(r,o){var s=o&&o.mapAsMap?new Map:{};return this.addToJSMap(o,s)}},{key:"toString",value:function(r,o,s){if(!r||!r.doc)return JSON.stringify(this);var a=r.doc.options,l=a.indent,u=a.indentSeq,c=a.simpleKeys,d=this.key,h=this.value,m=d instanceof Mu&&d.comment;if(c){if(m)throw new Error("With simple keys, key nodes cannot have comments");if(d instanceof Ha){var f="With simple keys, collection cannot be used as a key value";throw new Error(f)}}var g=!c&&(!d||m||(d instanceof Mu?d instanceof Ha||d.type===_t.BLOCK_FOLDED||d.type===_t.BLOCK_LITERAL:wc(d)==="object")),b=r,y=b.doc,C=b.indent,w=b.indentStep,x=b.stringify;r=Object.assign({},r,{implicitKey:!g,indent:C+w});var L=!1,I=x(d,r,function(){return m=null},function(){return L=!0});if(I=OS(I,r.indent,m),!g&&I.length>1024){if(c)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");g=!0}if(r.allNullValues&&!c)return this.comment?(I=OS(I,r.indent,this.comment),o&&o()):L&&!m&&s&&s(),r.inFlow&&!g?I:"? ".concat(I);I=g?"? ".concat(I,` +`).concat(C,":"):"".concat(I,":"),this.comment&&(I=OS(I,r.indent,this.comment),o&&o());var D="",N=null;if(h instanceof Mu){if(h.spaceBefore&&(D=` `),h.commentBefore){var T=h.commentBefore.replace(/^/gm,"".concat(r.indent,"#"));D+=` -`.concat(T)}M=h.comment}else h&&xc(h)==="object"&&(h=v.schema.createNode(h,!0));r.implicitKey=!1,!g&&!this.comment&&h instanceof Vr&&(r.indentAtStart=F.length+1),_=!1,!u&&l>=2&&!r.inFlow&&!g&&h instanceof Dm&&h.type!==Lt.FLOW_SEQ&&!h.tag&&!v.anchors.getName(h)&&(r.indent=r.indent.substr(2));var Z=x(h,r,function(){return M=null},function(){return _=!0}),E=" ";if(D||this.comment)E="".concat(D,` -`).concat(r.indent);else if(!g&&h instanceof Ha){var R=Z[0]==="["||Z[0]==="{";(!R||Z.includes(` +`.concat(T)}N=h.comment}else h&&wc(h)==="object"&&(h=y.schema.createNode(h,!0));r.implicitKey=!1,!g&&!this.comment&&h instanceof Ar&&(r.indentAtStart=I.length+1),L=!1,!u&&l>=2&&!r.inFlow&&!g&&h instanceof Dm&&h.type!==_t.FLOW_SEQ&&!h.tag&&!y.anchors.getName(h)&&(r.indent=r.indent.substr(2));var R=x(h,r,function(){return N=null},function(){return L=!0}),E=" ";if(D||this.comment)E="".concat(D,` +`).concat(r.indent);else if(!g&&h instanceof Ha){var W=R[0]==="["||R[0]==="{";(!W||R.includes(` `))&&(E=` -`.concat(r.indent))}else Z[0]===` -`&&(E="");return _&&!M&&s&&s(),Ow(F+E+Z,r.indent,M)}}]),t}(ku);_l(rr,"Type",{PAIR:"PAIR",MERGE_PAIR:"MERGE_PAIR"});var ftt=function n(e,t){if(e instanceof mg){var i=t.get(e.source);return i.count*i.aliasCount}else if(e instanceof Ha){var r=0,o=mo(e.items),s;try{for(o.s();!(s=o.n()).done;){var a=s.value,l=n(a,t);l>r&&(r=l)}}catch(d){o.e(d)}finally{o.f()}return r}else if(e instanceof rr){var u=n(e.key,t),c=n(e.value,t);return Math.max(u,c)}return 1},mg=function(n){co(t,n);var e=ho(t);function t(i){var r;return mr(this,t),r=e.call(this),r.source=i,r.type=Lt.ALIAS,r}return $r(t,[{key:"tag",set:function(r){throw new Error("Alias nodes cannot have tags")}},{key:"toJSON",value:function(r,o){if(!o)return yh(this.source,r,o);var s=o.anchors,a=o.maxAliasCount,l=s.get(this.source);if(!l||l.res===void 0){var u="This should not happen: Alias anchor was not resolved?";throw this.cstNode?new nF(this.cstNode,u):new ReferenceError(u)}if(a>=0&&(l.count+=1,l.aliasCount===0&&(l.aliasCount=ftt(this.source,s)),l.count*l.aliasCount>a)){var c="Excessive alias count indicates a resource exhaustion attack";throw this.cstNode?new nF(this.cstNode,c):new ReferenceError(c)}return l.res}},{key:"toString",value:function(r){return t.stringify(this,r)}}],[{key:"stringify",value:function(r,o){var s=r.range,a=r.source,l=o.anchors,u=o.doc,c=o.implicitKey,d=o.inStringifyKey,h=Object.keys(l).find(function(f){return l[f]===a});if(!h&&d&&(h=u.anchors.getName(a)||u.anchors.newName()),h)return"*".concat(h).concat(c?" ":"");var m=u.anchors.getName(a)?"Alias node must be after source node":"Source node not found for alias node";throw new Error("".concat(m," [").concat(s,"]"))}}]),t}(ku);_l(mg,"default",!0);function Iv(n,e){var t=e instanceof Vr?e.value:e,i=mo(n),r;try{for(i.s();!(r=i.n()).done;){var o=r.value;if(o instanceof rr&&(o.key===e||o.key===t||o.key&&o.key.value===t))return o}}catch(s){i.e(s)}finally{i.f()}}var Nu=function(n){co(t,n);var e=ho(t);function t(){return mr(this,t),e.apply(this,arguments)}return $r(t,[{key:"add",value:function(r,o){r?r instanceof rr||(r=new rr(r.key||r,r.value)):r=new rr(r);var s=Iv(this.items,r.key),a=this.schema&&this.schema.sortMapEntries;if(s)if(o)s.value=r.value;else throw new Error("Key ".concat(r.key," already set"));else if(a){var l=this.items.findIndex(function(u){return a(r,u)<0});l===-1?this.items.push(r):this.items.splice(l,0,r)}else this.items.push(r)}},{key:"delete",value:function(r){var o=Iv(this.items,r);if(!o)return!1;var s=this.items.splice(this.items.indexOf(o),1);return s.length>0}},{key:"get",value:function(r,o){var s=Iv(this.items,r),a=s&&s.value;return!o&&a instanceof Vr?a.value:a}},{key:"has",value:function(r){return!!Iv(this.items,r)}},{key:"set",value:function(r,o){this.add(new rr(r,o),!0)}},{key:"toJSON",value:function(r,o,s){var a=s?new s:o&&o.mapAsMap?new Map:{};o&&o.onCreate&&o.onCreate(a);var l=mo(this.items),u;try{for(l.s();!(u=l.n()).done;){var c=u.value;c.addToJSMap(o,a)}}catch(d){l.e(d)}finally{l.f()}return a}},{key:"toString",value:function(r,o,s){if(!r)return JSON.stringify(this);var a=mo(this.items),l;try{for(a.s();!(l=a.n()).done;){var u=l.value;if(!(u instanceof rr))throw new Error("Map items must all be pairs; found ".concat(JSON.stringify(u)," instead"))}}catch(c){a.e(c)}finally{a.f()}return Mu(za(t.prototype),"toString",this).call(this,r,{blockItem:function(d){return d.str},flowChars:{start:"{",end:"}"},isMap:!0,itemIndent:r.indent||""},o,s)}}]),t}(Ha),Nhe="<<",The=function(n){co(t,n);var e=ho(t);function t(i){var r;if(mr(this,t),i instanceof rr){var o=i.value;o instanceof Dm||(o=new Dm,o.items.push(i.value),o.range=i.value.range),r=e.call(this,i.key,o),r.range=i.range}else r=e.call(this,new Vr(Nhe),new Dm);return r.type=rr.Type.MERGE_PAIR,She(r)}return $r(t,[{key:"addToJSMap",value:function(r,o){var s=mo(this.value.items),a;try{for(s.s();!(a=s.n()).done;){var l=a.value.source;if(!(l instanceof Nu))throw new Error("Merge sources must be maps");var u=l.toJSON(null,r,Map),c=mo(u),d;try{for(c.s();!(d=c.n()).done;){var h=eF(d.value,2),m=h[0],f=h[1];o instanceof Map?o.has(m)||o.set(m,f):o instanceof Set?o.add(m):Object.prototype.hasOwnProperty.call(o,m)||Object.defineProperty(o,m,{value:f,writable:!0,enumerable:!0,configurable:!0})}}catch(g){c.e(g)}finally{c.f()}}}catch(g){s.e(g)}finally{s.f()}return o}},{key:"toString",value:function(r,o){var s=this.value;if(s.items.length>1)return Mu(za(t.prototype),"toString",this).call(this,r,o);this.value=s.items[0];var a=Mu(za(t.prototype),"toString",this).call(this,r,o);return this.value=s,a}}]),t}(rr),sF={defaultType:Lt.BLOCK_LITERAL,lineWidth:76},fg={trueStr:"true",falseStr:"false"},Fb={asBigInt:!1},Bw={nullStr:"null"},gg={defaultType:Lt.PLAIN,doubleQuoted:{jsonEncoding:!1,minMultiLineLength:40},fold:{lineWidth:80,minContentWidth:20}};function jB(n,e,t){var i=mo(e),r;try{for(i.s();!(r=i.n()).done;){var o=r.value,s=o.format,a=o.test,l=o.resolve;if(a){var u=n.match(a);if(u){var c=l.apply(null,u);return c instanceof Vr||(c=new Vr(c)),s&&(c.format=s),c}}}}catch(d){i.e(d)}finally{i.f()}return t&&(n=t(n)),new Vr(n)}var Ehe="flow",QB="block",N5="quoted",Zhe=function(e,t){for(var i=e[t+1];i===" "||i===" ";){do i=e[t+=1];while(i&&i!==` -`);i=e[t+1]}return t};function T5(n,e,t,i){var r=i.indentAtStart,o=i.lineWidth,s=o===void 0?80:o,a=i.minContentWidth,l=a===void 0?20:a,u=i.onFold,c=i.onOverflow;if(!s||s<0)return n;var d=Math.max(1+l,1+s-e.length);if(n.length<=d)return n;var h=[],m={},f=s-e.length;typeof r=="number"&&(r>s-Math.max(2,l)?h.push(0):f=s-r);var g=void 0,b=void 0,v=!1,C=-1,S=-1,x=-1;t===QB&&(C=Zhe(n,C),C!==-1&&(f=C+d));for(var _;_=n[C+=1];){if(t===N5&&_==="\\"){switch(S=C,n[C+1]){case"x":C+=3;break;case"u":C+=5;break;case"U":C+=9;break;default:C+=1}x=C}if(_===` -`)t===QB&&(C=Zhe(n,C)),f=C+d,g=void 0;else{if(_===" "&&b&&b!==" "&&b!==` -`&&b!==" "){var F=n[C+1];F&&F!==" "&&F!==` -`&&F!==" "&&(g=C)}if(C>=f)if(g)h.push(g),f=g+d,g=void 0;else if(t===N5){for(;b===" "||b===" ";)b=_,_=n[C+=1],v=!0;var D=C>x+1?C-2:S-1;if(m[D])return n;h.push(D),m[D]=!0,f=D+d,g=void 0}else v=!0}b=_}if(v&&c&&c(),h.length===0)return n;u&&u();for(var M=n.slice(0,h[0]),T=0;Ti)return!0;if(s=o+1,r-s<=i)return!1}return!0}function Dv(n,e){var t=e.implicitKey,i=gg.doubleQuoted,r=i.jsonEncoding,o=i.minMultiLineLength,s=JSON.stringify(n);if(r)return s;for(var a=e.indent||(E5(n)?" ":""),l="",u=0,c=0,d=s[c];d;d=s[++c])if(d===" "&&s[c+1]==="\\"&&s[c+2]==="n"&&(l+=s.slice(u,c)+"\\ ",c+=1,u=c,d="\\"),d==="\\")switch(s[c+1]){case"u":{l+=s.slice(u,c);var h=s.substr(c+2,4);switch(h){case"0000":l+="\\0";break;case"0007":l+="\\a";break;case"000b":l+="\\v";break;case"001b":l+="\\e";break;case"0085":l+="\\N";break;case"00a0":l+="\\_";break;case"2028":l+="\\L";break;case"2029":l+="\\P";break;default:h.substr(0,2)==="00"?l+="\\x"+h.substr(2):l+=s.substr(c,6)}c+=5,u=c+1}break;case"n":if(t||s[c+2]==='"'||s.lengthr&&(r=l)}}catch(d){o.e(d)}finally{o.f()}return r}else if(e instanceof ir){var u=n(e.key,t),c=n(e.value,t);return Math.max(u,c)}return 1},mg=function(n){co(t,n);var e=ho(t);function t(i){var r;return hr(this,t),r=e.call(this),r.source=i,r.type=_t.ALIAS,r}return $r(t,[{key:"tag",set:function(r){throw new Error("Alias nodes cannot have tags")}},{key:"toJSON",value:function(r,o){if(!o)return vh(this.source,r,o);var s=o.anchors,a=o.maxAliasCount,l=s.get(this.source);if(!l||l.res===void 0){var u="This should not happen: Alias anchor was not resolved?";throw this.cstNode?new nI(this.cstNode,u):new ReferenceError(u)}if(a>=0&&(l.count+=1,l.aliasCount===0&&(l.aliasCount=ftt(this.source,s)),l.count*l.aliasCount>a)){var c="Excessive alias count indicates a resource exhaustion attack";throw this.cstNode?new nI(this.cstNode,c):new ReferenceError(c)}return l.res}},{key:"toString",value:function(r){return t.stringify(this,r)}}],[{key:"stringify",value:function(r,o){var s=r.range,a=r.source,l=o.anchors,u=o.doc,c=o.implicitKey,d=o.inStringifyKey,h=Object.keys(l).find(function(f){return l[f]===a});if(!h&&d&&(h=u.anchors.getName(a)||u.anchors.newName()),h)return"*".concat(h).concat(c?" ":"");var m=u.anchors.getName(a)?"Alias node must be after source node":"Source node not found for alias node";throw new Error("".concat(m," [").concat(s,"]"))}}]),t}(Mu);Ll(mg,"default",!0);function Fy(n,e){var t=e instanceof Ar?e.value:e,i=mo(n),r;try{for(i.s();!(r=i.n()).done;){var o=r.value;if(o instanceof ir&&(o.key===e||o.key===t||o.key&&o.key.value===t))return o}}catch(s){i.e(s)}finally{i.f()}}var ku=function(n){co(t,n);var e=ho(t);function t(){return hr(this,t),e.apply(this,arguments)}return $r(t,[{key:"add",value:function(r,o){r?r instanceof ir||(r=new ir(r.key||r,r.value)):r=new ir(r);var s=Fy(this.items,r.key),a=this.schema&&this.schema.sortMapEntries;if(s)if(o)s.value=r.value;else throw new Error("Key ".concat(r.key," already set"));else if(a){var l=this.items.findIndex(function(u){return a(r,u)<0});l===-1?this.items.push(r):this.items.splice(l,0,r)}else this.items.push(r)}},{key:"delete",value:function(r){var o=Fy(this.items,r);if(!o)return!1;var s=this.items.splice(this.items.indexOf(o),1);return s.length>0}},{key:"get",value:function(r,o){var s=Fy(this.items,r),a=s&&s.value;return!o&&a instanceof Ar?a.value:a}},{key:"has",value:function(r){return!!Fy(this.items,r)}},{key:"set",value:function(r,o){this.add(new ir(r,o),!0)}},{key:"toJSON",value:function(r,o,s){var a=s?new s:o&&o.mapAsMap?new Map:{};o&&o.onCreate&&o.onCreate(a);var l=mo(this.items),u;try{for(l.s();!(u=l.n()).done;){var c=u.value;c.addToJSMap(o,a)}}catch(d){l.e(d)}finally{l.f()}return a}},{key:"toString",value:function(r,o,s){if(!r)return JSON.stringify(this);var a=mo(this.items),l;try{for(a.s();!(l=a.n()).done;){var u=l.value;if(!(u instanceof ir))throw new Error("Map items must all be pairs; found ".concat(JSON.stringify(u)," instead"))}}catch(c){a.e(c)}finally{a.f()}return Nu(za(t.prototype),"toString",this).call(this,r,{blockItem:function(d){return d.str},flowChars:{start:"{",end:"}"},isMap:!0,itemIndent:r.indent||""},o,s)}}]),t}(Ha),khe="<<",The=function(n){co(t,n);var e=ho(t);function t(i){var r;if(hr(this,t),i instanceof ir){var o=i.value;o instanceof Dm||(o=new Dm,o.items.push(i.value),o.range=i.value.range),r=e.call(this,i.key,o),r.range=i.range}else r=e.call(this,new Ar(khe),new Dm);return r.type=ir.Type.MERGE_PAIR,whe(r)}return $r(t,[{key:"addToJSMap",value:function(r,o){var s=mo(this.value.items),a;try{for(s.s();!(a=s.n()).done;){var l=a.value.source;if(!(l instanceof ku))throw new Error("Merge sources must be maps");var u=l.toJSON(null,r,Map),c=mo(u),d;try{for(c.s();!(d=c.n()).done;){var h=eI(d.value,2),m=h[0],f=h[1];o instanceof Map?o.has(m)||o.set(m,f):o instanceof Set?o.add(m):Object.prototype.hasOwnProperty.call(o,m)||Object.defineProperty(o,m,{value:f,writable:!0,enumerable:!0,configurable:!0})}}catch(g){c.e(g)}finally{c.f()}}}catch(g){s.e(g)}finally{s.f()}return o}},{key:"toString",value:function(r,o){var s=this.value;if(s.items.length>1)return Nu(za(t.prototype),"toString",this).call(this,r,o);this.value=s.items[0];var a=Nu(za(t.prototype),"toString",this).call(this,r,o);return this.value=s,a}}]),t}(ir),sI={defaultType:_t.BLOCK_LITERAL,lineWidth:76},fg={trueStr:"true",falseStr:"false"},Ib={asBigInt:!1},BS={nullStr:"null"},gg={defaultType:_t.PLAIN,doubleQuoted:{jsonEncoding:!1,minMultiLineLength:40},fold:{lineWidth:80,minContentWidth:20}};function jB(n,e,t){var i=mo(e),r;try{for(i.s();!(r=i.n()).done;){var o=r.value,s=o.format,a=o.test,l=o.resolve;if(a){var u=n.match(a);if(u){var c=l.apply(null,u);return c instanceof Ar||(c=new Ar(c)),s&&(c.format=s),c}}}}catch(d){i.e(d)}finally{i.f()}return t&&(n=t(n)),new Ar(n)}var Ehe="flow",QB="block",k5="quoted",Rhe=function(e,t){for(var i=e[t+1];i===" "||i===" ";){do i=e[t+=1];while(i&&i!==` +`);i=e[t+1]}return t};function T5(n,e,t,i){var r=i.indentAtStart,o=i.lineWidth,s=o===void 0?80:o,a=i.minContentWidth,l=a===void 0?20:a,u=i.onFold,c=i.onOverflow;if(!s||s<0)return n;var d=Math.max(1+l,1+s-e.length);if(n.length<=d)return n;var h=[],m={},f=s-e.length;typeof r=="number"&&(r>s-Math.max(2,l)?h.push(0):f=s-r);var g=void 0,b=void 0,y=!1,C=-1,w=-1,x=-1;t===QB&&(C=Rhe(n,C),C!==-1&&(f=C+d));for(var L;L=n[C+=1];){if(t===k5&&L==="\\"){switch(w=C,n[C+1]){case"x":C+=3;break;case"u":C+=5;break;case"U":C+=9;break;default:C+=1}x=C}if(L===` +`)t===QB&&(C=Rhe(n,C)),f=C+d,g=void 0;else{if(L===" "&&b&&b!==" "&&b!==` +`&&b!==" "){var I=n[C+1];I&&I!==" "&&I!==` +`&&I!==" "&&(g=C)}if(C>=f)if(g)h.push(g),f=g+d,g=void 0;else if(t===k5){for(;b===" "||b===" ";)b=L,L=n[C+=1],y=!0;var D=C>x+1?C-2:w-1;if(m[D])return n;h.push(D),m[D]=!0,f=D+d,g=void 0}else y=!0}b=L}if(y&&c&&c(),h.length===0)return n;u&&u();for(var N=n.slice(0,h[0]),T=0;Ti)return!0;if(s=o+1,r-s<=i)return!1}return!0}function Dy(n,e){var t=e.implicitKey,i=gg.doubleQuoted,r=i.jsonEncoding,o=i.minMultiLineLength,s=JSON.stringify(n);if(r)return s;for(var a=e.indent||(E5(n)?" ":""),l="",u=0,c=0,d=s[c];d;d=s[++c])if(d===" "&&s[c+1]==="\\"&&s[c+2]==="n"&&(l+=s.slice(u,c)+"\\ ",c+=1,u=c,d="\\"),d==="\\")switch(s[c+1]){case"u":{l+=s.slice(u,c);var h=s.substr(c+2,4);switch(h){case"0000":l+="\\0";break;case"0007":l+="\\a";break;case"000b":l+="\\v";break;case"001b":l+="\\e";break;case"0085":l+="\\N";break;case"00a0":l+="\\_";break;case"2028":l+="\\L";break;case"2029":l+="\\P";break;default:h.substr(0,2)==="00"?l+="\\x"+h.substr(2):l+=s.substr(c,6)}c+=5,u=c+1}break;case"n":if(t||s[c+2]==='"'||s.length";if(!s)return c+` +`,c+=2;l+=a,s[c+2]===" "&&(l+="\\"),c+=1,u=c+1}break;default:c+=1}return l=u?l+s.slice(u):s,t?l:T5(l,a,k5,$B(e))}function Zhe(n,e){if(e.implicitKey){if(/\n/.test(n))return Dy(n,e)}else if(/[ \t]\n|\n[ \t]/.test(n))return Dy(n,e);var t=e.indent||(E5(n)?" ":""),i="'"+n.replace(/'/g,"''").replace(/\n+/g,`$& +`.concat(t))+"'";return e.implicitKey?i:T5(i,t,Ehe,$B(e))}function R5(n,e,t,i){var r=n.comment,o=n.type,s=n.value;if(/\n[\t ]+$/.test(s)||/^\s*$/.test(s))return Dy(s,e);var a=e.indent||(e.forceBlockIndent||E5(s)?" ":""),l=a?"2":"1",u=o===_t.BLOCK_FOLDED?!1:o===_t.BLOCK_LITERAL?!0:!gtt(s,gg.fold.lineWidth,a.length),c=u?"|":">";if(!s)return c+` `;var d="",h="";if(s=s.replace(/[\n\t ]*$/,function(f){var g=f.indexOf(` `);return g===-1?c+="-":(s===f||g!==f.length-1)&&(c+="+",i&&i()),h=f.replace(/\n$/,""),""}).replace(/^[\n ]*/,function(f){f.indexOf(" ")!==-1&&(c+=l);var g=f.match(/ +$/);return g?(d=f.slice(0,-g[0].length),g[0]):(d=f,"")}),h&&(h=h.replace(/\n+(?!\n|$)/g,"$&".concat(a))),d&&(d=d.replace(/\n+/g,"$&".concat(a))),r&&(c+=" #"+r.replace(/ ?[\r\n]+/g," "),t&&t()),!s)return"".concat(c).concat(l,` `).concat(a).concat(h);if(u)return s=s.replace(/\n+/g,"$&".concat(a)),"".concat(c,` `).concat(a).concat(d).concat(s).concat(h);s=s.replace(/\n+/g,` $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,"$&".concat(a));var m=T5("".concat(d).concat(s).concat(h),a,QB,gg.fold);return"".concat(c,` -`).concat(a).concat(m)}function ptt(n,e,t,i){var r=n.comment,o=n.type,s=n.value,a=e.actualString,l=e.implicitKey,u=e.indent,c=e.inFlow;if(l&&/[\n[\]{},]/.test(s)||c&&/[[\]{},]/.test(s))return Dv(s,e);if(!s||/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(s))return l||c||s.indexOf(` -`)===-1?s.indexOf('"')!==-1&&s.indexOf("'")===-1?Whe(s,e):Dv(s,e):Z5(n,e,t,i);if(!l&&!c&&o!==Lt.PLAIN&&s.indexOf(` -`)!==-1)return Z5(n,e,t,i);if(u===""&&E5(s))return e.forceBlockIndent=!0,Z5(n,e,t,i);var d=s.replace(/\n+/g,`$& -`.concat(u));if(a){var h=e.doc.schema.tags,m=jB(d,h,h.scalarFallback).value;if(typeof m!="string")return Dv(s,e)}var f=l?d:T5(d,u,Ehe,$B(e));return r&&!c&&(f.indexOf(` +`).concat(a).concat(m)}function ptt(n,e,t,i){var r=n.comment,o=n.type,s=n.value,a=e.actualString,l=e.implicitKey,u=e.indent,c=e.inFlow;if(l&&/[\n[\]{},]/.test(s)||c&&/[[\]{},]/.test(s))return Dy(s,e);if(!s||/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(s))return l||c||s.indexOf(` +`)===-1?s.indexOf('"')!==-1&&s.indexOf("'")===-1?Zhe(s,e):Dy(s,e):R5(n,e,t,i);if(!l&&!c&&o!==_t.PLAIN&&s.indexOf(` +`)!==-1)return R5(n,e,t,i);if(u===""&&E5(s))return e.forceBlockIndent=!0,R5(n,e,t,i);var d=s.replace(/\n+/g,`$& +`.concat(u));if(a){var h=e.doc.schema.tags,m=jB(d,h,h.scalarFallback).value;if(typeof m!="string")return Dy(s,e)}var f=l?d:T5(d,u,Ehe,$B(e));return r&&!c&&(f.indexOf(` `)!==-1||r.indexOf(` -`)!==-1)?(t&&t(),htt(f,u,r)):f}function qB(n,e,t,i){var r=gg.defaultType,o=e.implicitKey,s=e.inFlow,a=n,l=a.type,u=a.value;typeof u!="string"&&(u=String(u),n=Object.assign({},n,{value:u}));var c=function(m){switch(m){case Lt.BLOCK_FOLDED:case Lt.BLOCK_LITERAL:return Z5(n,e,t,i);case Lt.QUOTE_DOUBLE:return Dv(u,e);case Lt.QUOTE_SINGLE:return Whe(u,e);case Lt.PLAIN:return ptt(n,e,t,i);default:return null}};(l!==Lt.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(u)||(o||s)&&(l===Lt.BLOCK_FOLDED||l===Lt.BLOCK_LITERAL))&&(l=Lt.QUOTE_DOUBLE);var d=c(l);if(d===null&&(d=c(r),d===null))throw new Error("Unsupported default string type ".concat(r));return d}function pg(n){var e=n.format,t=n.minFractionDigits,i=n.tag,r=n.value;if(typeof r=="bigint")return String(r);if(!isFinite(r))return isNaN(r)?".nan":r<0?"-.inf":".inf";var o=JSON.stringify(r);if(!e&&t&&(!i||i==="tag:yaml.org,2002:float")&&/^\d/.test(o)){var s=o.indexOf(".");s<0&&(s=o.length,o+=".");for(var a=t-(o.length-s-1);a-- >0;)o+="0"}return o}function Rhe(n,e){var t,i;switch(e.type){case Lt.FLOW_MAP:t="}",i="flow map";break;case Lt.FLOW_SEQ:t="]",i="flow sequence";break;default:n.push(new Fi(e,"Not a flow collection!?"));return}for(var r,o=e.items.length-1;o>=0;--o){var s=e.items[o];if(!s||s.type!==Lt.COMMENT){r=s;break}}if(r&&r.char!==t){var a="Expected ".concat(i," to end with ").concat(t),l;typeof r.offset=="number"?(l=new Fi(e,a),l.offset=r.offset+1):(l=new Fi(r,a),r.range&&r.range.end&&(l.offset=r.range.end-r.range.start)),n.push(l)}}function Vhe(n,e){var t=e.context.src[e.range.start-1];if(t!==` -`&&t!==" "&&t!==" "){var i="Comments must be separated from other tokens by white space characters";n.push(new Fi(e,i))}}function Ahe(n,e){var t=String(e),i=t.substr(0,8)+"..."+t.substr(-8);return new Fi(n,'The "'.concat(i,'" key is too long'))}function Ghe(n,e){var t=mo(e),i;try{for(t.s();!(i=t.n()).done;){var r=i.value,o=r.afterKey,s=r.before,a=r.comment,l=n.items[s];l?(o&&l.value&&(l=l.value),a===void 0?(o||!l.commentBefore)&&(l.spaceBefore=!0):l.commentBefore?l.commentBefore+=` +`)!==-1)?(t&&t(),htt(f,u,r)):f}function qB(n,e,t,i){var r=gg.defaultType,o=e.implicitKey,s=e.inFlow,a=n,l=a.type,u=a.value;typeof u!="string"&&(u=String(u),n=Object.assign({},n,{value:u}));var c=function(m){switch(m){case _t.BLOCK_FOLDED:case _t.BLOCK_LITERAL:return R5(n,e,t,i);case _t.QUOTE_DOUBLE:return Dy(u,e);case _t.QUOTE_SINGLE:return Zhe(u,e);case _t.PLAIN:return ptt(n,e,t,i);default:return null}};(l!==_t.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(u)||(o||s)&&(l===_t.BLOCK_FOLDED||l===_t.BLOCK_LITERAL))&&(l=_t.QUOTE_DOUBLE);var d=c(l);if(d===null&&(d=c(r),d===null))throw new Error("Unsupported default string type ".concat(r));return d}function pg(n){var e=n.format,t=n.minFractionDigits,i=n.tag,r=n.value;if(typeof r=="bigint")return String(r);if(!isFinite(r))return isNaN(r)?".nan":r<0?"-.inf":".inf";var o=JSON.stringify(r);if(!e&&t&&(!i||i==="tag:yaml.org,2002:float")&&/^\d/.test(o)){var s=o.indexOf(".");s<0&&(s=o.length,o+=".");for(var a=t-(o.length-s-1);a-- >0;)o+="0"}return o}function Whe(n,e){var t,i;switch(e.type){case _t.FLOW_MAP:t="}",i="flow map";break;case _t.FLOW_SEQ:t="]",i="flow sequence";break;default:n.push(new Ii(e,"Not a flow collection!?"));return}for(var r,o=e.items.length-1;o>=0;--o){var s=e.items[o];if(!s||s.type!==_t.COMMENT){r=s;break}}if(r&&r.char!==t){var a="Expected ".concat(i," to end with ").concat(t),l;typeof r.offset=="number"?(l=new Ii(e,a),l.offset=r.offset+1):(l=new Ii(r,a),r.range&&r.range.end&&(l.offset=r.range.end-r.range.start)),n.push(l)}}function Ahe(n,e){var t=e.context.src[e.range.start-1];if(t!==` +`&&t!==" "&&t!==" "){var i="Comments must be separated from other tokens by white space characters";n.push(new Ii(e,i))}}function Vhe(n,e){var t=String(e),i=t.substr(0,8)+"..."+t.substr(-8);return new Ii(n,'The "'.concat(i,'" key is too long'))}function Ghe(n,e){var t=mo(e),i;try{for(t.s();!(i=t.n()).done;){var r=i.value,o=r.afterKey,s=r.before,a=r.comment,l=n.items[s];l?(o&&l.value&&(l=l.value),a===void 0?(o||!l.commentBefore)&&(l.spaceBefore=!0):l.commentBefore?l.commentBefore+=` `+a:l.commentBefore=a):a!==void 0&&(n.comment?n.comment+=` -`+a:n.comment=a)}}catch(u){t.e(u)}finally{t.f()}}function aF(n,e){var t=e.strValue;return t?typeof t=="string"?t:(t.errors.forEach(function(i){i.source||(i.source=e),n.errors.push(i)}),t.str):""}function btt(n,e){var t=e.tag,i=t.handle,r=t.suffix,o=n.tagPrefixes.find(function(l){return l.handle===i});if(!o){var s=n.getDefaults().tagPrefixes;if(s&&(o=s.find(function(l){return l.handle===i})),!o)throw new Fi(e,"The ".concat(i," tag handle is non-default and was not declared."))}if(!r)throw new Fi(e,"The ".concat(i," tag has no suffix."));if(i==="!"&&(n.version||n.options.version)==="1.0"){if(r[0]==="^")return n.warnings.push(new Pw(e,"YAML 1.0 ^ tag expansion is not supported")),r;if(/[:/]/.test(r)){var a=r.match(/^([a-z0-9-]+)\/(.*)/i);return a?"tag:".concat(a[1],".yaml.org,2002:").concat(a[2]):"tag:".concat(r)}}return o.prefix+decodeURIComponent(r)}function vtt(n,e){var t=e.tag,i=e.type,r=!1;if(t){var o=t.handle,s=t.suffix,a=t.verbatim;if(a){if(a!=="!"&&a!=="!!")return a;var l="Verbatim tags aren't resolved, so ".concat(a," is invalid.");n.errors.push(new Fi(e,l))}else if(o==="!"&&!s)r=!0;else try{return btt(n,e)}catch(u){n.errors.push(u)}}switch(i){case Lt.BLOCK_FOLDED:case Lt.BLOCK_LITERAL:case Lt.QUOTE_DOUBLE:case Lt.QUOTE_SINGLE:return Lb.STR;case Lt.FLOW_MAP:case Lt.MAP:return Lb.MAP;case Lt.FLOW_SEQ:case Lt.SEQ:return Lb.SEQ;case Lt.PLAIN:return r?Lb.STR:null;default:return null}}function Xhe(n,e,t){var i=n.schema.tags,r=[],o=mo(i),s;try{for(o.s();!(s=o.n()).done;){var a=s.value;if(a.tag===t)if(a.test)r.push(a);else{var l=a.resolve(n,e);return l instanceof Ha?l:new Vr(l)}}}catch(c){o.e(c)}finally{o.f()}var u=aF(n,e);return typeof u=="string"&&r.length>0?jB(u,r,i.scalarFallback):null}function ytt(n){var e=n.type;switch(e){case Lt.FLOW_MAP:case Lt.MAP:return Lb.MAP;case Lt.FLOW_SEQ:case Lt.SEQ:return Lb.SEQ;default:return Lb.STR}}function Ctt(n,e,t){try{var i=Xhe(n,e,t);if(i)return t&&e.tag&&(i.tag=t),i}catch(l){return l.source||(l.source=e),n.errors.push(l),null}try{var r=ytt(e);if(!r)throw new Error("The tag ".concat(t," is unavailable"));var o="The tag ".concat(t," is unavailable, falling back to ").concat(r);n.warnings.push(new Pw(e,o));var s=Xhe(n,e,r);return s.tag=t,s}catch(l){var a=new nF(e,l.message);return a.stack=l.stack,n.errors.push(a),null}}var wtt=function(e){if(!e)return!1;var t=e.type;return t===Lt.MAP_KEY||t===Lt.MAP_VALUE||t===Lt.SEQ_ITEM};function Stt(n,e){var t={before:[],after:[]},i=!1,r=!1,o=wtt(e.context.parent)?e.context.parent.props.concat(e.props):e.props,s=mo(o),a;try{for(s.s();!(a=s.n()).done;){var l=a.value,u=l.start,c=l.end;switch(e.context.src[u]){case Us.COMMENT:{if(!e.commentHasRequiredWhitespace(u)){var d="Comments must be separated from other tokens by white space characters";n.push(new Fi(e,d))}var h=e.header,m=e.valueRange,f=m&&(u>m.start||h&&u>h.start)?t.after:t.before;f.push(e.context.src.slice(u+1,c));break}case Us.ANCHOR:if(i){var g="A node can have at most one anchor";n.push(new Fi(e,g))}i=!0;break;case Us.TAG:if(r){var b="A node can have at most one tag";n.push(new Fi(e,b))}r=!0;break}}}catch(v){s.e(v)}finally{s.f()}return{comments:t,hasAnchor:i,hasTag:r}}function xtt(n,e){var t=n.anchors,i=n.errors,r=n.schema;if(e.type===Lt.ALIAS){var o=e.rawValue,s=t.getNode(o);if(!s){var a="Aliased anchor not found: ".concat(o);return i.push(new nF(e,a)),null}var l=new mg(s);return t._cstAliases.push(l),l}var u=vtt(n,e);if(u)return Ctt(n,e,u);if(e.type!==Lt.PLAIN){var c="Failed to resolve ".concat(e.type," node here");return i.push(new Fl(e,c)),null}try{var d=aF(n,e);return jB(d,r.tags,r.tags.scalarFallback)}catch(h){return h.source||(h.source=e),i.push(h),null}}function Ib(n,e){if(!e)return null;e.error&&n.errors.push(e.error);var t=Stt(n.errors,e),i=t.comments,r=t.hasAnchor,o=t.hasTag;if(r){var s=n.anchors,a=e.anchor,l=s.getNode(a);l&&(s.map[s.newName(a)]=l),s.map[a]=e}if(e.type===Lt.ALIAS&&(r||o)){var u="An alias node must not specify any properties";n.errors.push(new Fi(e,u))}var c=xtt(n,e);if(c){c.range=[e.range.start,e.range.end],n.options.keepCstNodes&&(c.cstNode=e),n.options.keepNodeTypes&&(c.type=e.type);var d=i.before.join(` +`+a:n.comment=a)}}catch(u){t.e(u)}finally{t.f()}}function aI(n,e){var t=e.strValue;return t?typeof t=="string"?t:(t.errors.forEach(function(i){i.source||(i.source=e),n.errors.push(i)}),t.str):""}function btt(n,e){var t=e.tag,i=t.handle,r=t.suffix,o=n.tagPrefixes.find(function(l){return l.handle===i});if(!o){var s=n.getDefaults().tagPrefixes;if(s&&(o=s.find(function(l){return l.handle===i})),!o)throw new Ii(e,"The ".concat(i," tag handle is non-default and was not declared."))}if(!r)throw new Ii(e,"The ".concat(i," tag has no suffix."));if(i==="!"&&(n.version||n.options.version)==="1.0"){if(r[0]==="^")return n.warnings.push(new PS(e,"YAML 1.0 ^ tag expansion is not supported")),r;if(/[:/]/.test(r)){var a=r.match(/^([a-z0-9-]+)\/(.*)/i);return a?"tag:".concat(a[1],".yaml.org,2002:").concat(a[2]):"tag:".concat(r)}}return o.prefix+decodeURIComponent(r)}function ytt(n,e){var t=e.tag,i=e.type,r=!1;if(t){var o=t.handle,s=t.suffix,a=t.verbatim;if(a){if(a!=="!"&&a!=="!!")return a;var l="Verbatim tags aren't resolved, so ".concat(a," is invalid.");n.errors.push(new Ii(e,l))}else if(o==="!"&&!s)r=!0;else try{return btt(n,e)}catch(u){n.errors.push(u)}}switch(i){case _t.BLOCK_FOLDED:case _t.BLOCK_LITERAL:case _t.QUOTE_DOUBLE:case _t.QUOTE_SINGLE:return _b.STR;case _t.FLOW_MAP:case _t.MAP:return _b.MAP;case _t.FLOW_SEQ:case _t.SEQ:return _b.SEQ;case _t.PLAIN:return r?_b.STR:null;default:return null}}function Xhe(n,e,t){var i=n.schema.tags,r=[],o=mo(i),s;try{for(o.s();!(s=o.n()).done;){var a=s.value;if(a.tag===t)if(a.test)r.push(a);else{var l=a.resolve(n,e);return l instanceof Ha?l:new Ar(l)}}}catch(c){o.e(c)}finally{o.f()}var u=aI(n,e);return typeof u=="string"&&r.length>0?jB(u,r,i.scalarFallback):null}function vtt(n){var e=n.type;switch(e){case _t.FLOW_MAP:case _t.MAP:return _b.MAP;case _t.FLOW_SEQ:case _t.SEQ:return _b.SEQ;default:return _b.STR}}function Ctt(n,e,t){try{var i=Xhe(n,e,t);if(i)return t&&e.tag&&(i.tag=t),i}catch(l){return l.source||(l.source=e),n.errors.push(l),null}try{var r=vtt(e);if(!r)throw new Error("The tag ".concat(t," is unavailable"));var o="The tag ".concat(t," is unavailable, falling back to ").concat(r);n.warnings.push(new PS(e,o));var s=Xhe(n,e,r);return s.tag=t,s}catch(l){var a=new nI(e,l.message);return a.stack=l.stack,n.errors.push(a),null}}var Stt=function(e){if(!e)return!1;var t=e.type;return t===_t.MAP_KEY||t===_t.MAP_VALUE||t===_t.SEQ_ITEM};function wtt(n,e){var t={before:[],after:[]},i=!1,r=!1,o=Stt(e.context.parent)?e.context.parent.props.concat(e.props):e.props,s=mo(o),a;try{for(s.s();!(a=s.n()).done;){var l=a.value,u=l.start,c=l.end;switch(e.context.src[u]){case Us.COMMENT:{if(!e.commentHasRequiredWhitespace(u)){var d="Comments must be separated from other tokens by white space characters";n.push(new Ii(e,d))}var h=e.header,m=e.valueRange,f=m&&(u>m.start||h&&u>h.start)?t.after:t.before;f.push(e.context.src.slice(u+1,c));break}case Us.ANCHOR:if(i){var g="A node can have at most one anchor";n.push(new Ii(e,g))}i=!0;break;case Us.TAG:if(r){var b="A node can have at most one tag";n.push(new Ii(e,b))}r=!0;break}}}catch(y){s.e(y)}finally{s.f()}return{comments:t,hasAnchor:i,hasTag:r}}function xtt(n,e){var t=n.anchors,i=n.errors,r=n.schema;if(e.type===_t.ALIAS){var o=e.rawValue,s=t.getNode(o);if(!s){var a="Aliased anchor not found: ".concat(o);return i.push(new nI(e,a)),null}var l=new mg(s);return t._cstAliases.push(l),l}var u=ytt(n,e);if(u)return Ctt(n,e,u);if(e.type!==_t.PLAIN){var c="Failed to resolve ".concat(e.type," node here");return i.push(new Il(e,c)),null}try{var d=aI(n,e);return jB(d,r.tags,r.tags.scalarFallback)}catch(h){return h.source||(h.source=e),i.push(h),null}}function Fb(n,e){if(!e)return null;e.error&&n.errors.push(e.error);var t=wtt(n.errors,e),i=t.comments,r=t.hasAnchor,o=t.hasTag;if(r){var s=n.anchors,a=e.anchor,l=s.getNode(a);l&&(s.map[s.newName(a)]=l),s.map[a]=e}if(e.type===_t.ALIAS&&(r||o)){var u="An alias node must not specify any properties";n.errors.push(new Ii(e,u))}var c=xtt(n,e);if(c){c.range=[e.range.start,e.range.end],n.options.keepCstNodes&&(c.cstNode=e),n.options.keepNodeTypes&&(c.type=e.type);var d=i.before.join(` `);d&&(c.commentBefore=c.commentBefore?"".concat(c.commentBefore,` `).concat(d):d);var h=i.after.join(` `);h&&(c.comment=c.comment?"".concat(c.comment,` -`).concat(h):h)}return e.resolved=c}function Phe(n,e){if(e.type!==Lt.MAP&&e.type!==Lt.FLOW_MAP){var t="A ".concat(e.type," node cannot be resolved as a mapping");return n.errors.push(new Fl(e,t)),null}var i=e.type===Lt.FLOW_MAP?Itt(n,e):Ftt(n,e),r=i.comments,o=i.items,s=new Nu;s.items=o,Ghe(s,r);for(var a=!1,l=0;lr.valueRange.start||o[a]!==Us.COMMENT)return!1;for(var l=i;l0){u=new Dhe(Lt.PLAIN,[]),u.context={parent:a,src:a.context.src};var c=a.range.start+1;if(u.range={start:c,end:c},u.valueRange={start:c,end:c},typeof a.range.origStart=="number"){var d=a.range.origStart+1;u.range.origStart=u.range.origEnd=d,u.valueRange.origStart=u.valueRange.origEnd=d}}var h=new rr(r,Ib(n,u));_tt(a,h),i.push(h),r&&typeof o=="number"&&a.range.start>o+1024&&n.errors.push(Ahe(e,r)),r=void 0,o=null}break;default:r!==void 0&&i.push(new rr(r)),r=Ib(n,a),o=a.range.start,a.error&&n.errors.push(a.error);e:for(var m=s+1;;++m){var f=e.items[m];switch(f&&f.type){case Lt.BLANK_LINE:case Lt.COMMENT:continue e;case Lt.MAP_VALUE:break e;default:{var g="Implicit map keys need to be followed by map values";n.errors.push(new Fi(a,g));break e}}}if(a.valueRangeContainsNewline){var b="Implicit map keys need to be on a single line";n.errors.push(new Fi(a,b))}}}return r!==void 0&&i.push(new rr(r)),{comments:t,items:i}}function Itt(n,e){for(var t=[],i=[],r=void 0,o=!1,s="{",a=0;as+1024&&n.errors.push(Ahe(e,o));for(var b=l.context.src,v=s;v=20.0.0",npm_config_node_gyp:"/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",XPC_SERVICE_NAME:"0",npm_package_version:"2.2.0",VSCODE_INJECTION:"1",HOME:"/Users/alexander",SHLVL:"2",VSCODE_GIT_ASKPASS_MAIN:"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js",GOROOT:"/Users/alexander/.gvm/gos/go1.21.6",DYLD_LIBRARY_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:",gvm_go_name:"go1.21.6",LOGNAME:"alexander",LESS:"-R",VSCODE_PATH_PREFIX:"/Users/alexander/.gvm/gos/go1.21.6/bin:",npm_config_cache:"/Users/alexander/.npm",GVM_OVERLAY_PREFIX:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay",npm_lifecycle_script:"tsc && vite build --config vite.package.config.ts --mode package",LC_CTYPE:"zh_CN.UTF-8",VSCODE_GIT_IPC_HANDLE:"/var/folders/7b/f28gh86d083_xqj9p9hs97k80000gn/T/vscode-git-79a18f10f2.sock",NVM_BIN:"/Users/alexander/.nvm/versions/node/v20.9.0/bin",PKG_CONFIG_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:",GOPATH:"/Users/alexander/mygo",npm_config_user_agent:"npm/10.1.0 node/v20.9.0 darwin x64 workspaces/false",GIT_ASKPASS:"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh",VSCODE_GIT_ASKPASS_NODE:"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)",GVM_PATH_BACKUP:"/Users/alexander/.gvm/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/mygo/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/alexander/.gvm/gos/go1.21.6/bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.nvm/versions/node/v20.9.0/bin:/Users/alexander/.cargo/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin",COLORTERM:"truecolor",npm_config_prefix:"/Users/alexander/.nvm/versions/node/v20.9.0",npm_node_execpath:"/Users/alexander/.nvm/versions/node/v20.9.0/bin/node",NODE_ENV:"production"},Bhe={identify:function(e){return e instanceof Uint8Array},default:!1,tag:"tag:yaml.org,2002:binary",resolve:function(e,t){var i=aF(e,t);if(typeof Buffer=="function")return Buffer.from(i,"base64");if(typeof atob=="function"){for(var r=atob(i.replace(/[\n\r]/g,"")),o=new Uint8Array(r.length),s=0;s1){var o="Each pair must have its own sequence indicator";throw new Fi(e,o)}var s=r.items[0]||new rr;r.commentBefore&&(s.commentBefore=s.commentBefore?"".concat(r.commentBefore,` +`).concat(h):h)}return e.resolved=c}function Phe(n,e){if(e.type!==_t.MAP&&e.type!==_t.FLOW_MAP){var t="A ".concat(e.type," node cannot be resolved as a mapping");return n.errors.push(new Il(e,t)),null}var i=e.type===_t.FLOW_MAP?Ftt(n,e):Itt(n,e),r=i.comments,o=i.items,s=new ku;s.items=o,Ghe(s,r);for(var a=!1,l=0;lr.valueRange.start||o[a]!==Us.COMMENT)return!1;for(var l=i;l0){u=new Dhe(_t.PLAIN,[]),u.context={parent:a,src:a.context.src};var c=a.range.start+1;if(u.range={start:c,end:c},u.valueRange={start:c,end:c},typeof a.range.origStart=="number"){var d=a.range.origStart+1;u.range.origStart=u.range.origEnd=d,u.valueRange.origStart=u.valueRange.origEnd=d}}var h=new ir(r,Fb(n,u));Ltt(a,h),i.push(h),r&&typeof o=="number"&&a.range.start>o+1024&&n.errors.push(Vhe(e,r)),r=void 0,o=null}break;default:r!==void 0&&i.push(new ir(r)),r=Fb(n,a),o=a.range.start,a.error&&n.errors.push(a.error);e:for(var m=s+1;;++m){var f=e.items[m];switch(f&&f.type){case _t.BLANK_LINE:case _t.COMMENT:continue e;case _t.MAP_VALUE:break e;default:{var g="Implicit map keys need to be followed by map values";n.errors.push(new Ii(a,g));break e}}}if(a.valueRangeContainsNewline){var b="Implicit map keys need to be on a single line";n.errors.push(new Ii(a,b))}}}return r!==void 0&&i.push(new ir(r)),{comments:t,items:i}}function Ftt(n,e){for(var t=[],i=[],r=void 0,o=!1,s="{",a=0;as+1024&&n.errors.push(Vhe(e,o));for(var b=l.context.src,y=s;y=20.0.0",GRADLE_HOME:"/usr/share/gradle-8.7",ANDROID_NDK_LATEST_HOME:"/usr/local/lib/android/sdk/ndk/26.3.11579264",JAVA_HOME_21_X64:"/usr/lib/jvm/temurin-21-jdk-amd64",STATS_RDCL:"true",GITHUB_RETENTION_DAYS:"90",GITHUB_REPOSITORY_OWNER_ID:"22948077",POWERSHELL_DISTRIBUTION_CHANNEL:"GitHub-Actions-ubuntu22",AZURE_EXTENSION_DIR:"/opt/az/azcliextensions",GITHUB_HEAD_REF:"",npm_config_local_prefix:"/home/runner/work/openapi-ui/openapi-ui",SYSTEMD_EXEC_PID:"591",GITHUB_GRAPHQL_URL:"https://api.github.com/graphql",COLOR:"0",GOROOT_1_20_X64:"/opt/hostedtoolcache/go/1.20.14/x64",NVM_DIR:"/home/runner/.nvm",DOTNET_SKIP_FIRST_TIME_EXPERIENCE:"1",GOROOT_1_21_X64:"/opt/hostedtoolcache/go/1.21.9/x64",JAVA_HOME_17_X64:"/usr/lib/jvm/temurin-17-jdk-amd64",ImageVersion:"20240422.1.0",RUNNER_OS:"Linux",GITHUB_API_URL:"https://api.github.com",GOROOT_1_22_X64:"/opt/hostedtoolcache/go/1.22.2/x64",SWIFT_PATH:"/usr/share/swift/usr/bin",RUNNER_USER:"runner",STATS_V3PS:"true",CHROMEWEBDRIVER:"/usr/local/share/chromedriver-linux64",JOURNAL_STREAM:"8:17399",GITHUB_WORKFLOW:"Publish Package CI",_:"/opt/hostedtoolcache/node/18.20.2/x64/bin/npm",npm_config_prefix:"/opt/hostedtoolcache/node/18.20.2/x64",npm_config_npm_version:"10.5.0",ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE:"/opt/actionarchivecache",STATS_D:"true",GITHUB_RUN_ID:"9034363565",STATS_VMFE:"true",npm_config_cache:"/home/runner/.npm",GITHUB_REF_TYPE:"tag",BOOTSTRAP_HASKELL_NONINTERACTIVE:"1",GITHUB_WORKFLOW_SHA:"7d06aa5962e2854267496af964903729ea3712ea",GITHUB_BASE_REF:"",ImageOS:"ubuntu22",GITHUB_WORKFLOW_REF:"rookie-luochao/openapi-ui/.github/workflows/publish-package-ci.yml@refs/tags/v2.2.1",PERFLOG_LOCATION_SETTING:"RUNNER_PERFLOG",GITHUB_ACTION_REPOSITORY:"",npm_config_node_gyp:"/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",PATH:"/home/runner/work/openapi-ui/openapi-ui/node_modules/.bin:/home/runner/work/openapi-ui/node_modules/.bin:/home/runner/work/node_modules/.bin:/home/runner/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin",ANT_HOME:"/usr/share/ant",DOTNET_MULTILEVEL_LOOKUP:"0",RUNNER_TRACKING_ID:"github_8e3f06e2-01ee-4dd3-8ff0-4ad90f0f5f28",INVOCATION_ID:"d0057c0943174c4e95e299688b270680",NPM_CONFIG_USERCONFIG:"/home/runner/work/_temp/.npmrc",RUNNER_TOOL_CACHE:"/opt/hostedtoolcache",NODE:"/opt/hostedtoolcache/node/18.20.2/x64/bin/node",npm_package_name:"openapi-ui-dist",GITHUB_ACTION:"__run_3",GITHUB_RUN_NUMBER:"5",GITHUB_TRIGGERING_ACTOR:"rookie-luochao",RUNNER_ARCH:"X64",XDG_RUNTIME_DIR:"/run/user/1001",AGENT_TOOLSDIRECTORY:"/opt/hostedtoolcache",LANG:"C.UTF-8",VCPKG_INSTALLATION_ROOT:"/usr/local/share/vcpkg",CONDA:"/usr/share/miniconda",RUNNER_NAME:"GitHub Actions 19",XDG_CONFIG_HOME:"/home/runner/.config",STATS_VMD:"true",GITHUB_REF_NAME:"v2.2.1",GITHUB_REPOSITORY:"rookie-luochao/openapi-ui",STATS_D_D:"true",npm_lifecycle_script:"tsc && vite build --config vite.package.config.ts --mode package",STATS_UE:"true",ANDROID_NDK_ROOT:"/usr/local/lib/android/sdk/ndk/25.2.9519653",GITHUB_ACTION_REF:"",DEBIAN_FRONTEND:"noninteractive",GITHUB_REPOSITORY_ID:"733969338",GITHUB_ACTIONS:"true",npm_package_version:"2.2.1",npm_lifecycle_event:"build:package",NODE_PATH:"/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules/vite/bin/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules/vite/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/node_modules",GITHUB_REF_PROTECTED:"false",GITHUB_WORKSPACE:"/home/runner/work/openapi-ui/openapi-ui",ACCEPT_EULA:"Y",GITHUB_JOB:"build",RUNNER_PERFLOG:"/home/runner/perflog",GITHUB_SHA:"7d06aa5962e2854267496af964903729ea3712ea",GITHUB_RUN_ATTEMPT:"1",GITHUB_REF:"refs/tags/v2.2.1",GITHUB_ACTOR:"rookie-luochao",ANDROID_SDK_ROOT:"/usr/local/lib/android/sdk",LEIN_HOME:"/usr/local/lib/lein",npm_config_globalconfig:"/opt/hostedtoolcache/node/18.20.2/x64/etc/npmrc",npm_config_init_module:"/home/runner/.npm-init.js",GITHUB_PATH:"/home/runner/work/_temp/_runner_file_commands/add_path_1db24d99-745b-44e6-9118-92da7729c914",JAVA_HOME:"/usr/lib/jvm/temurin-11-jdk-amd64",PWD:"/home/runner/work/openapi-ui/openapi-ui",GITHUB_ACTOR_ID:"22948077",RUNNER_WORKSPACE:"/home/runner/work/openapi-ui",npm_execpath:"/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/bin/npm-cli.js",HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS:"3650",GITHUB_EVENT_NAME:"push",HOMEBREW_NO_AUTO_UPDATE:"1",ANDROID_HOME:"/usr/local/lib/android/sdk",GITHUB_SERVER_URL:"https://github.com",GECKOWEBDRIVER:"/usr/local/share/gecko_driver",LEIN_JAR:"/usr/local/lib/lein/self-installs/leiningen-2.11.2-standalone.jar",GHCUP_INSTALL_BASE_PREFIX:"/usr/local",GITHUB_OUTPUT:"/home/runner/work/_temp/_runner_file_commands/set_output_1db24d99-745b-44e6-9118-92da7729c914",npm_config_global_prefix:"/opt/hostedtoolcache/node/18.20.2/x64",EDGEWEBDRIVER:"/usr/local/share/edge_driver",STATS_EXT:"true",npm_command:"run-script",ANDROID_NDK:"/usr/local/lib/android/sdk/ndk/25.2.9519653",SGX_AESM_ADDR:"1",CHROME_BIN:"/usr/bin/google-chrome",SELENIUM_JAR_PATH:"/usr/share/java/selenium-server.jar",STATS_EXTP:"https://provjobdsettingscdn.blob.core.windows.net/settings/provjobdsettings-0.5.172+1/provjobd.data",ANDROID_NDK_HOME:"/usr/local/lib/android/sdk/ndk/25.2.9519653",GITHUB_STEP_SUMMARY:"/home/runner/work/_temp/_runner_file_commands/step_summary_1db24d99-745b-44e6-9118-92da7729c914",INIT_CWD:"/home/runner/work/openapi-ui/openapi-ui",EDITOR:"vi",NODE_ENV:"production"},Bhe={identify:function(e){return e instanceof Uint8Array},default:!1,tag:"tag:yaml.org,2002:binary",resolve:function(e,t){var i=aI(e,t);if(typeof Buffer=="function")return Buffer.from(i,"base64");if(typeof atob=="function"){for(var r=atob(i.replace(/[\n\r]/g,"")),o=new Uint8Array(r.length),s=0;s1){var o="Each pair must have its own sequence indicator";throw new Ii(e,o)}var s=r.items[0]||new ir;r.commentBefore&&(s.commentBefore=s.commentBefore?"".concat(r.commentBefore,` `).concat(s.commentBefore):r.commentBefore),r.comment&&(s.comment=s.comment?"".concat(r.comment,` -`).concat(s.comment):r.comment),r=s}t.items[i]=r instanceof rr?r:new rr(r)}}return t}function Hhe(n,e,t){var i=new Dm(n);i.tag="tag:yaml.org,2002:pairs";var r=mo(e),o;try{for(r.s();!(o=r.n()).done;){var s=o.value,a=void 0,l=void 0;if(Array.isArray(s))if(s.length===2)a=s[0],l=s[1];else throw new TypeError("Expected [key, value] tuple: ".concat(s));else if(s&&s instanceof Object){var u=Object.keys(s);if(u.length===1)a=u[0],l=s[a];else throw new TypeError("Expected { key: value } tuple: ".concat(s))}else a=s;var c=n.createPair(a,l,t);i.items.push(c)}}catch(d){r.e(d)}finally{r.f()}return i}var Yhe={default:!1,tag:"tag:yaml.org,2002:pairs",resolve:zhe,createNode:Hhe},W5=function(n){co(t,n);var e=ho(t);function t(){var i;return mr(this,t),i=e.call(this),_l(yd(i),"add",Nu.prototype.add.bind(yd(i))),_l(yd(i),"delete",Nu.prototype.delete.bind(yd(i))),_l(yd(i),"get",Nu.prototype.get.bind(yd(i))),_l(yd(i),"has",Nu.prototype.has.bind(yd(i))),_l(yd(i),"set",Nu.prototype.set.bind(yd(i))),i.tag=t.tag,i}return $r(t,[{key:"toJSON",value:function(r,o){var s=new Map;o&&o.onCreate&&o.onCreate(s);var a=mo(this.items),l;try{for(a.s();!(l=a.n()).done;){var u=l.value,c=void 0,d=void 0;if(u instanceof rr?(c=yh(u.key,"",o),d=yh(u.value,c,o)):c=yh(u,"",o),s.has(c))throw new Error("Ordered maps must not include duplicate keys");s.set(c,d)}}catch(h){a.e(h)}finally{a.f()}return s}}]),t}(Dm);_l(W5,"tag","tag:yaml.org,2002:omap");function Ntt(n,e){var t=zhe(n,e),i=[],r=mo(t.items),o;try{for(r.s();!(o=r.n()).done;){var s=o.value.key;if(s instanceof Vr)if(i.includes(s.value)){var a="Ordered maps must not include duplicate keys";throw new Fi(e,a)}else i.push(s.value)}}catch(l){r.e(l)}finally{r.f()}return Object.assign(new W5,t)}function Ttt(n,e,t){var i=Hhe(n,e,t),r=new W5;return r.items=i.items,r}var Uhe={identify:function(e){return e instanceof Map},nodeClass:W5,default:!1,tag:"tag:yaml.org,2002:omap",resolve:Ntt,createNode:Ttt},R5=function(n){co(t,n);var e=ho(t);function t(){var i;return mr(this,t),i=e.call(this),i.tag=t.tag,i}return $r(t,[{key:"add",value:function(r){var o=r instanceof rr?r:new rr(r),s=Iv(this.items,o.key);s||this.items.push(o)}},{key:"get",value:function(r,o){var s=Iv(this.items,r);return!o&&s instanceof rr?s.key instanceof Vr?s.key.value:s.key:s}},{key:"set",value:function(r,o){if(typeof o!="boolean")throw new Error("Expected boolean value for set(key, value) in a YAML set, not ".concat(xc(o)));var s=Iv(this.items,r);s&&!o?this.items.splice(this.items.indexOf(s),1):!s&&o&&this.items.push(new rr(r))}},{key:"toJSON",value:function(r,o){return Mu(za(t.prototype),"toJSON",this).call(this,r,o,Set)}},{key:"toString",value:function(r,o,s){if(!r)return JSON.stringify(this);if(this.hasAllNullValues())return Mu(za(t.prototype),"toString",this).call(this,r,o,s);throw new Error("Set items must all have null values")}}]),t}(Nu);_l(R5,"tag","tag:yaml.org,2002:set");function Ett(n,e){var t=Phe(n,e);if(!t.hasAllNullValues())throw new Fi(e,"Set items must all have null values");return Object.assign(new R5,t)}function Ztt(n,e,t){var i=new R5,r=mo(e),o;try{for(r.s();!(o=r.n()).done;){var s=o.value;i.items.push(n.createPair(s,null,t))}}catch(a){r.e(a)}finally{r.f()}return i}var Khe={identify:function(e){return e instanceof Set},nodeClass:R5,default:!1,tag:"tag:yaml.org,2002:set",resolve:Ett,createNode:Ztt},ez=function(e,t){var i=t.split(":").reduce(function(r,o){return r*60+Number(o)},0);return e==="-"?-i:i},Jhe=function(e){var t=e.value;if(isNaN(t)||!isFinite(t))return pg(t);var i="";t<0&&(i="-",t=Math.abs(t));var r=[t%60];return t<60?r.unshift(0):(t=Math.round((t-r[0])/60),r.unshift(t%60),t>=60&&(t=Math.round((t-r[0])/60),r.unshift(t))),i+r.map(function(o){return o<10?"0"+String(o):String(o)}).join(":").replace(/000000\d*$/,"")},jhe={identify:function(e){return typeof e=="number"},default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,resolve:function(e,t,i){return ez(t,i.replace(/_/g,""))},stringify:Jhe},Qhe={identify:function(e){return typeof e=="number"},default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*)$/,resolve:function(e,t,i){return ez(t,i.replace(/_/g,""))},stringify:Jhe},$he={identify:function(e){return e instanceof Date},default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^(?:([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?)$"),resolve:function(e,t,i,r,o,s,a,l,u){l&&(l=(l+"00").substr(1,3));var c=Date.UTC(t,i-1,r,o||0,s||0,a||0,l||0);if(u&&u!=="Z"){var d=ez(u[0],u.slice(1));Math.abs(d)<30&&(d*=60),c-=6e4*d}return new Date(c)},stringify:function(e){var t=e.value;return t.toISOString().replace(/((T00:00)?:00)?\.000Z$/,"")}};function qhe(n){var e=typeof process<"u"&&ktt||{};return n?typeof YAML_SILENCE_DEPRECATION_WARNINGS<"u"?!YAML_SILENCE_DEPRECATION_WARNINGS:!e.YAML_SILENCE_DEPRECATION_WARNINGS:typeof YAML_SILENCE_WARNINGS<"u"?!YAML_SILENCE_WARNINGS:!e.YAML_SILENCE_WARNINGS}function eme(n,e){if(qhe(!1)){var t=typeof process<"u"&&process.emitWarning;t&&t(n,e)}}var tme={};function Wtt(n,e){if(!tme[n]&&qhe(!0)){tme[n]=!0;var t="The option '".concat(n,"' will be removed in a future release");t+=e?", use '".concat(e,"' instead."):".",eme(t,"DeprecationWarning")}}function Rtt(n,e,t){var i=new Nu(n);if(e instanceof Map){var r=mo(e),o;try{for(r.s();!(o=r.n()).done;){var s=eF(o.value,2),a=s[0],l=s[1];i.items.push(n.createPair(a,l,t))}}catch(h){r.e(h)}finally{r.f()}}else if(e&&xc(e)==="object")for(var u=0,c=Object.keys(e);u=0?t+i.toString(e):pg(n)}var ime={identify:function(e){return e==null},createNode:function(e,t,i){return i.wrapScalars?new Vr(null):null},default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:function(){return null},options:Bw,stringify:function(){return Bw.nullStr}},rme={identify:function(e){return typeof e=="boolean"},default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:function(e){return e[0]==="t"||e[0]==="T"},options:fg,stringify:function(e){var t=e.value;return t?fg.trueStr:fg.falseStr}},ome={identify:function(e){return A5(e)&&e>=0},default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o([0-7]+)$/,resolve:function(e,t){return nz(e,t,8)},options:Fb,stringify:function(e){return nme(e,8,"0o")}},sme={identify:A5,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:function(e){return nz(e,e,10)},options:Fb,stringify:pg},ame={identify:function(e){return A5(e)&&e>=0},default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x([0-9a-fA-F]+)$/,resolve:function(e,t){return nz(e,t,16)},options:Fb,stringify:function(e){return nme(e,16,"0x")}},lme={identify:function(e){return typeof e=="number"},default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:function(e,t){return t?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY},stringify:pg},ume={identify:function(e){return typeof e=="number"},default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:function(e){return parseFloat(e)},stringify:function(e){var t=e.value;return Number(t).toExponential()}},cme={identify:function(e){return typeof e=="number"},default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.([0-9]+)|[0-9]+\.([0-9]*))$/,resolve:function(e,t,i){var r=t||i,o=new Vr(parseFloat(e));return r&&r[r.length-1]==="0"&&(o.minFractionDigits=r.length),o},stringify:pg},Gtt=tz.concat([ime,rme,ome,sme,ame,lme,ume,cme]),dme=function(e){return typeof e=="bigint"||Number.isInteger(e)},G5=function(e){var t=e.value;return JSON.stringify(t)},hme=[lF,V5,{identify:function(e){return typeof e=="string"},default:!0,tag:"tag:yaml.org,2002:str",resolve:aF,stringify:G5},{identify:function(e){return e==null},createNode:function(e,t,i){return i.wrapScalars?new Vr(null):null},default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:function(){return null},stringify:G5},{identify:function(e){return typeof e=="boolean"},default:!0,tag:"tag:yaml.org,2002:bool",test:/^true|false$/,resolve:function(e){return e==="true"},stringify:G5},{identify:dme,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:function(e){return Fb.asBigInt?BigInt(e):parseInt(e,10)},stringify:function(e){var t=e.value;return dme(t)?t.toString():JSON.stringify(t)}},{identify:function(e){return typeof e=="number"},default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:function(e){return parseFloat(e)},stringify:G5}];hme.scalarFallback=function(n){throw new SyntaxError("Unresolved plain scalar ".concat(JSON.stringify(n)))};var mme=function(e){var t=e.value;return t?fg.trueStr:fg.falseStr},uF=function(e){return typeof e=="bigint"||Number.isInteger(e)};function X5(n,e,t){var i=e.replace(/_/g,"");if(Fb.asBigInt){switch(t){case 2:i="0b".concat(i);break;case 8:i="0o".concat(i);break;case 16:i="0x".concat(i);break}var r=BigInt(i);return n==="-"?BigInt(-1)*r:r}var o=parseInt(i,t);return n==="-"?-1*o:o}function iz(n,e,t){var i=n.value;if(uF(i)){var r=i.toString(e);return i<0?"-"+t+r.substr(1):t+r}return pg(n)}var Xtt=tz.concat([{identify:function(e){return e==null},createNode:function(e,t,i){return i.wrapScalars?new Vr(null):null},default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:function(){return null},options:Bw,stringify:function(){return Bw.nullStr}},{identify:function(e){return typeof e=="boolean"},default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:function(){return!0},options:fg,stringify:mme},{identify:function(e){return typeof e=="boolean"},default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,resolve:function(){return!1},options:fg,stringify:mme},{identify:uF,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^([-+]?)0b([0-1_]+)$/,resolve:function(e,t,i){return X5(t,i,2)},stringify:function(e){return iz(e,2,"0b")}},{identify:uF,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^([-+]?)0([0-7_]+)$/,resolve:function(e,t,i){return X5(t,i,8)},stringify:function(e){return iz(e,8,"0")}},{identify:uF,default:!0,tag:"tag:yaml.org,2002:int",test:/^([-+]?)([0-9][0-9_]*)$/,resolve:function(e,t,i){return X5(t,i,10)},stringify:pg},{identify:uF,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^([-+]?)0x([0-9a-fA-F_]+)$/,resolve:function(e,t,i){return X5(t,i,16)},stringify:function(e){return iz(e,16,"0x")}},{identify:function(e){return typeof e=="number"},default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:function(e,t){return t?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY},stringify:pg},{identify:function(e){return typeof e=="number"},default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:function(e){return parseFloat(e.replace(/_/g,""))},stringify:function(e){var t=e.value;return Number(t).toExponential()}},{identify:function(e){return typeof e=="number"},default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/,resolve:function(e,t){var i=new Vr(parseFloat(e.replace(/_/g,"")));if(t){var r=t.replace(/_/g,"");r[r.length-1]==="0"&&(i.minFractionDigits=r.length)}return i},stringify:pg}],Bhe,Uhe,Yhe,Khe,jhe,Qhe,$he),Ptt={core:Gtt,failsafe:tz,json:hme,yaml11:Xtt},Ott={binary:Bhe,bool:rme,float:cme,floatExp:ume,floatNaN:lme,floatTime:Qhe,int:sme,intHex:ame,intOct:ome,intTime:jhe,map:lF,null:ime,omap:Uhe,pairs:Yhe,seq:V5,set:Khe,timestamp:$he};function Btt(n,e,t){if(e){var i=t.filter(function(o){return o.tag===e}),r=i.find(function(o){return!o.format})||i[0];if(!r)throw new Error("Tag ".concat(e," not found"));return r}return t.find(function(o){return(o.identify&&o.identify(n)||o.class&&n instanceof o.class)&&!o.format})}function ztt(n,e,t){if(n instanceof ku)return n;var i=t.defaultPrefix,r=t.onTagObj,o=t.prevObjects,s=t.schema,a=t.wrapScalars;e&&e.startsWith("!!")&&(e=i+e.slice(2));var l=Btt(n,e,s.tags);if(!l){if(typeof n.toJSON=="function"&&(n=n.toJSON()),!n||xc(n)!=="object")return a?new Vr(n):n;l=n instanceof Map?lF:n[Symbol.iterator]?V5:lF}r&&(r(l),delete t.onTagObj);var u={value:void 0,node:void 0};if(n&&xc(n)==="object"&&o){var c=o.get(n);if(c){var d=new mg(c);return t.aliasNodes.push(d),d}u.value=n,o.set(n,u)}return u.node=l.createNode?l.createNode(t.schema,n,t):a?new Vr(n):n,e&&u.node instanceof ku&&(u.node.tag=e),u.node}function Htt(n,e,t,i){var r=n[i.replace(/\W/g,"")];if(!r){var o=Object.keys(n).map(function(m){return JSON.stringify(m)}).join(", ");throw new Error('Unknown schema "'.concat(i,'"; use one of ').concat(o))}if(Array.isArray(t)){var s=mo(t),a;try{for(s.s();!(a=s.n()).done;){var l=a.value;r=r.concat(l)}}catch(m){s.e(m)}finally{s.f()}}else typeof t=="function"&&(r=t(r.slice()));for(var u=0;ut.key?1:0},cF=function(){function n(e){var t=e.customTags,i=e.merge,r=e.schema,o=e.sortMapEntries,s=e.tags;mr(this,n),this.merge=!!i,this.name=r,this.sortMapEntries=o===!0?Ytt:o||null,!t&&s&&Wtt("tags","customTags"),this.tags=Htt(Ptt,Ott,t||s,r)}return $r(n,[{key:"createNode",value:function(t,i,r,o){var s={defaultPrefix:n.defaultPrefix,schema:this,wrapScalars:i},a=o?Object.assign(o,s):s;return ztt(t,r,a)}},{key:"createPair",value:function(t,i,r){r||(r={wrapScalars:!0});var o=this.createNode(t,r.wrapScalars,null,r),s=this.createNode(i,r.wrapScalars,null,r);return new rr(o,s)}}]),n}();_l(cF,"defaultPrefix",M5),_l(cF,"defaultTags",Lb);var P5={anchorPrefix:"a",customTags:null,indent:2,indentSeq:!0,keepCstNodes:!1,keepNodeTypes:!0,keepBlobsInJSON:!0,mapAsMap:!1,maxAliasCount:100,prettyErrors:!1,simpleKeys:!1,version:"1.2"},Utt={get binary(){return sF},set binary(n){Object.assign(sF,n)},get bool(){return fg},set bool(n){Object.assign(fg,n)},get int(){return Fb},set int(n){Object.assign(Fb,n)},get null(){return Bw},set null(n){Object.assign(Bw,n)},get str(){return gg},set str(n){Object.assign(gg,n)}},fme={"1.0":{schema:"yaml-1.1",merge:!0,tagPrefixes:[{handle:"!",prefix:M5},{handle:"!!",prefix:"tag:private.yaml.org,2002:"}]},1.1:{schema:"yaml-1.1",merge:!0,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:M5}]},1.2:{schema:"core",merge:!1,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:M5}]}};function gme(n,e){if((n.version||n.options.version)==="1.0"){var t=e.match(/^tag:private\.yaml\.org,2002:([^:/]+)$/);if(t)return"!"+t[1];var i=e.match(/^tag:([a-zA-Z0-9-]+)\.yaml\.org,2002:(.*)/);return i?"!".concat(i[1],"/").concat(i[2]):"!".concat(e.replace(/^tag:/,""))}var r=n.tagPrefixes.find(function(a){return e.indexOf(a.prefix)===0});if(!r){var o=n.getDefaults().tagPrefixes;r=o&&o.find(function(a){return e.indexOf(a.prefix)===0})}if(!r)return e[0]==="!"?e:"!<".concat(e,">");var s=e.substr(r.prefix.length).replace(/[!,[\]{}]/g,function(a){return{"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"}[a]});return r.handle+s}function Ktt(n,e){if(e instanceof mg)return mg;if(e.tag){var t=n.filter(function(a){return a.tag===e.tag});if(t.length>0)return t.find(function(a){return a.format===e.format})||t[0]}var i,r;if(e instanceof Vr){r=e.value;var o=n.filter(function(a){return a.identify&&a.identify(r)||a.class&&r instanceof a.class});i=o.find(function(a){return a.format===e.format})||o.find(function(a){return!a.format})}else r=e,i=n.find(function(a){return a.nodeClass&&r instanceof a.nodeClass});if(!i){var s=r&&r.constructor?r.constructor.name:xc(r);throw new Error("Tag not resolved for ".concat(s," value"))}return i}function Jtt(n,e,t){var i=t.anchors,r=t.doc,o=[],s=r.anchors.getName(n);return s&&(i[s]=n,o.push("&".concat(s))),n.tag?o.push(gme(r,n.tag)):e.default||o.push(gme(r,e.tag)),o.join(" ")}function O5(n,e,t,i){var r=e.doc,o=r.anchors,s=r.schema,a;if(!(n instanceof ku)){var l={aliasNodes:[],onTagObj:function(b){return a=b},prevObjects:new Map};n=s.createNode(n,!0,null,l);var u=mo(l.aliasNodes),c;try{for(u.s();!(c=u.n()).done;){var d=c.value;d.source=d.source.node;var h=o.getName(d.source);h||(h=o.newName(),o.map[h]=d.source)}}catch(g){u.e(g)}finally{u.f()}}if(n instanceof rr)return n.toString(e,t,i);a||(a=Ktt(s.tags,n));var m=Jtt(n,a,e);m.length>0&&(e.indentAtStart=(e.indentAtStart||0)+m.length+1);var f=typeof a.stringify=="function"?a.stringify(n,e,t,i):n instanceof Vr?qB(n,e,t,i):n.toString(e,t,i);return m?n instanceof Vr||f[0]==="{"||f[0]==="["?"".concat(m," ").concat(f):"".concat(m,` -`).concat(e.indent).concat(f):f}var jtt=function(){function n(e){mr(this,n),_l(this,"map",Object.create(null)),this.prefix=e}return $r(n,[{key:"createAlias",value:function(t,i){return this.setAnchor(t,i),new mg(t)}},{key:"createMergePair",value:function(){for(var t=this,i=new The,r=arguments.length,o=new Array(r),s=0;s0&&!n.commentBefore&&(n.commentBefore=t.before.join(` +`).concat(s.comment):r.comment),r=s}t.items[i]=r instanceof ir?r:new ir(r)}}return t}function Hhe(n,e,t){var i=new Dm(n);i.tag="tag:yaml.org,2002:pairs";var r=mo(e),o;try{for(r.s();!(o=r.n()).done;){var s=o.value,a=void 0,l=void 0;if(Array.isArray(s))if(s.length===2)a=s[0],l=s[1];else throw new TypeError("Expected [key, value] tuple: ".concat(s));else if(s&&s instanceof Object){var u=Object.keys(s);if(u.length===1)a=u[0],l=s[a];else throw new TypeError("Expected { key: value } tuple: ".concat(s))}else a=s;var c=n.createPair(a,l,t);i.items.push(c)}}catch(d){r.e(d)}finally{r.f()}return i}var Yhe={default:!1,tag:"tag:yaml.org,2002:pairs",resolve:zhe,createNode:Hhe},Z5=function(n){co(t,n);var e=ho(t);function t(){var i;return hr(this,t),i=e.call(this),Ll(yd(i),"add",ku.prototype.add.bind(yd(i))),Ll(yd(i),"delete",ku.prototype.delete.bind(yd(i))),Ll(yd(i),"get",ku.prototype.get.bind(yd(i))),Ll(yd(i),"has",ku.prototype.has.bind(yd(i))),Ll(yd(i),"set",ku.prototype.set.bind(yd(i))),i.tag=t.tag,i}return $r(t,[{key:"toJSON",value:function(r,o){var s=new Map;o&&o.onCreate&&o.onCreate(s);var a=mo(this.items),l;try{for(a.s();!(l=a.n()).done;){var u=l.value,c=void 0,d=void 0;if(u instanceof ir?(c=vh(u.key,"",o),d=vh(u.value,c,o)):c=vh(u,"",o),s.has(c))throw new Error("Ordered maps must not include duplicate keys");s.set(c,d)}}catch(h){a.e(h)}finally{a.f()}return s}}]),t}(Dm);Ll(Z5,"tag","tag:yaml.org,2002:omap");function ktt(n,e){var t=zhe(n,e),i=[],r=mo(t.items),o;try{for(r.s();!(o=r.n()).done;){var s=o.value.key;if(s instanceof Ar)if(i.includes(s.value)){var a="Ordered maps must not include duplicate keys";throw new Ii(e,a)}else i.push(s.value)}}catch(l){r.e(l)}finally{r.f()}return Object.assign(new Z5,t)}function Ttt(n,e,t){var i=Hhe(n,e,t),r=new Z5;return r.items=i.items,r}var Uhe={identify:function(e){return e instanceof Map},nodeClass:Z5,default:!1,tag:"tag:yaml.org,2002:omap",resolve:ktt,createNode:Ttt},W5=function(n){co(t,n);var e=ho(t);function t(){var i;return hr(this,t),i=e.call(this),i.tag=t.tag,i}return $r(t,[{key:"add",value:function(r){var o=r instanceof ir?r:new ir(r),s=Fy(this.items,o.key);s||this.items.push(o)}},{key:"get",value:function(r,o){var s=Fy(this.items,r);return!o&&s instanceof ir?s.key instanceof Ar?s.key.value:s.key:s}},{key:"set",value:function(r,o){if(typeof o!="boolean")throw new Error("Expected boolean value for set(key, value) in a YAML set, not ".concat(wc(o)));var s=Fy(this.items,r);s&&!o?this.items.splice(this.items.indexOf(s),1):!s&&o&&this.items.push(new ir(r))}},{key:"toJSON",value:function(r,o){return Nu(za(t.prototype),"toJSON",this).call(this,r,o,Set)}},{key:"toString",value:function(r,o,s){if(!r)return JSON.stringify(this);if(this.hasAllNullValues())return Nu(za(t.prototype),"toString",this).call(this,r,o,s);throw new Error("Set items must all have null values")}}]),t}(ku);Ll(W5,"tag","tag:yaml.org,2002:set");function Ett(n,e){var t=Phe(n,e);if(!t.hasAllNullValues())throw new Ii(e,"Set items must all have null values");return Object.assign(new W5,t)}function Rtt(n,e,t){var i=new W5,r=mo(e),o;try{for(r.s();!(o=r.n()).done;){var s=o.value;i.items.push(n.createPair(s,null,t))}}catch(a){r.e(a)}finally{r.f()}return i}var Khe={identify:function(e){return e instanceof Set},nodeClass:W5,default:!1,tag:"tag:yaml.org,2002:set",resolve:Ett,createNode:Rtt},ez=function(e,t){var i=t.split(":").reduce(function(r,o){return r*60+Number(o)},0);return e==="-"?-i:i},Jhe=function(e){var t=e.value;if(isNaN(t)||!isFinite(t))return pg(t);var i="";t<0&&(i="-",t=Math.abs(t));var r=[t%60];return t<60?r.unshift(0):(t=Math.round((t-r[0])/60),r.unshift(t%60),t>=60&&(t=Math.round((t-r[0])/60),r.unshift(t))),i+r.map(function(o){return o<10?"0"+String(o):String(o)}).join(":").replace(/000000\d*$/,"")},jhe={identify:function(e){return typeof e=="number"},default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,resolve:function(e,t,i){return ez(t,i.replace(/_/g,""))},stringify:Jhe},Qhe={identify:function(e){return typeof e=="number"},default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*)$/,resolve:function(e,t,i){return ez(t,i.replace(/_/g,""))},stringify:Jhe},$he={identify:function(e){return e instanceof Date},default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^(?:([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?)$"),resolve:function(e,t,i,r,o,s,a,l,u){l&&(l=(l+"00").substr(1,3));var c=Date.UTC(t,i-1,r,o||0,s||0,a||0,l||0);if(u&&u!=="Z"){var d=ez(u[0],u.slice(1));Math.abs(d)<30&&(d*=60),c-=6e4*d}return new Date(c)},stringify:function(e){var t=e.value;return t.toISOString().replace(/((T00:00)?:00)?\.000Z$/,"")}};function qhe(n){var e=typeof process<"u"&&Mtt||{};return n?typeof YAML_SILENCE_DEPRECATION_WARNINGS<"u"?!YAML_SILENCE_DEPRECATION_WARNINGS:!e.YAML_SILENCE_DEPRECATION_WARNINGS:typeof YAML_SILENCE_WARNINGS<"u"?!YAML_SILENCE_WARNINGS:!e.YAML_SILENCE_WARNINGS}function eme(n,e){if(qhe(!1)){var t=typeof process<"u"&&process.emitWarning;t&&t(n,e)}}var tme={};function Ztt(n,e){if(!tme[n]&&qhe(!0)){tme[n]=!0;var t="The option '".concat(n,"' will be removed in a future release");t+=e?", use '".concat(e,"' instead."):".",eme(t,"DeprecationWarning")}}function Wtt(n,e,t){var i=new ku(n);if(e instanceof Map){var r=mo(e),o;try{for(r.s();!(o=r.n()).done;){var s=eI(o.value,2),a=s[0],l=s[1];i.items.push(n.createPair(a,l,t))}}catch(h){r.e(h)}finally{r.f()}}else if(e&&wc(e)==="object")for(var u=0,c=Object.keys(e);u=0?t+i.toString(e):pg(n)}var ime={identify:function(e){return e==null},createNode:function(e,t,i){return i.wrapScalars?new Ar(null):null},default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:function(){return null},options:BS,stringify:function(){return BS.nullStr}},rme={identify:function(e){return typeof e=="boolean"},default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:function(e){return e[0]==="t"||e[0]==="T"},options:fg,stringify:function(e){var t=e.value;return t?fg.trueStr:fg.falseStr}},ome={identify:function(e){return V5(e)&&e>=0},default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o([0-7]+)$/,resolve:function(e,t){return nz(e,t,8)},options:Ib,stringify:function(e){return nme(e,8,"0o")}},sme={identify:V5,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:function(e){return nz(e,e,10)},options:Ib,stringify:pg},ame={identify:function(e){return V5(e)&&e>=0},default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x([0-9a-fA-F]+)$/,resolve:function(e,t){return nz(e,t,16)},options:Ib,stringify:function(e){return nme(e,16,"0x")}},lme={identify:function(e){return typeof e=="number"},default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:function(e,t){return t?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY},stringify:pg},ume={identify:function(e){return typeof e=="number"},default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:function(e){return parseFloat(e)},stringify:function(e){var t=e.value;return Number(t).toExponential()}},cme={identify:function(e){return typeof e=="number"},default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.([0-9]+)|[0-9]+\.([0-9]*))$/,resolve:function(e,t,i){var r=t||i,o=new Ar(parseFloat(e));return r&&r[r.length-1]==="0"&&(o.minFractionDigits=r.length),o},stringify:pg},Gtt=tz.concat([ime,rme,ome,sme,ame,lme,ume,cme]),dme=function(e){return typeof e=="bigint"||Number.isInteger(e)},G5=function(e){var t=e.value;return JSON.stringify(t)},hme=[lI,A5,{identify:function(e){return typeof e=="string"},default:!0,tag:"tag:yaml.org,2002:str",resolve:aI,stringify:G5},{identify:function(e){return e==null},createNode:function(e,t,i){return i.wrapScalars?new Ar(null):null},default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:function(){return null},stringify:G5},{identify:function(e){return typeof e=="boolean"},default:!0,tag:"tag:yaml.org,2002:bool",test:/^true|false$/,resolve:function(e){return e==="true"},stringify:G5},{identify:dme,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:function(e){return Ib.asBigInt?BigInt(e):parseInt(e,10)},stringify:function(e){var t=e.value;return dme(t)?t.toString():JSON.stringify(t)}},{identify:function(e){return typeof e=="number"},default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:function(e){return parseFloat(e)},stringify:G5}];hme.scalarFallback=function(n){throw new SyntaxError("Unresolved plain scalar ".concat(JSON.stringify(n)))};var mme=function(e){var t=e.value;return t?fg.trueStr:fg.falseStr},uI=function(e){return typeof e=="bigint"||Number.isInteger(e)};function X5(n,e,t){var i=e.replace(/_/g,"");if(Ib.asBigInt){switch(t){case 2:i="0b".concat(i);break;case 8:i="0o".concat(i);break;case 16:i="0x".concat(i);break}var r=BigInt(i);return n==="-"?BigInt(-1)*r:r}var o=parseInt(i,t);return n==="-"?-1*o:o}function iz(n,e,t){var i=n.value;if(uI(i)){var r=i.toString(e);return i<0?"-"+t+r.substr(1):t+r}return pg(n)}var Xtt=tz.concat([{identify:function(e){return e==null},createNode:function(e,t,i){return i.wrapScalars?new Ar(null):null},default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:function(){return null},options:BS,stringify:function(){return BS.nullStr}},{identify:function(e){return typeof e=="boolean"},default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:function(){return!0},options:fg,stringify:mme},{identify:function(e){return typeof e=="boolean"},default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,resolve:function(){return!1},options:fg,stringify:mme},{identify:uI,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^([-+]?)0b([0-1_]+)$/,resolve:function(e,t,i){return X5(t,i,2)},stringify:function(e){return iz(e,2,"0b")}},{identify:uI,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^([-+]?)0([0-7_]+)$/,resolve:function(e,t,i){return X5(t,i,8)},stringify:function(e){return iz(e,8,"0")}},{identify:uI,default:!0,tag:"tag:yaml.org,2002:int",test:/^([-+]?)([0-9][0-9_]*)$/,resolve:function(e,t,i){return X5(t,i,10)},stringify:pg},{identify:uI,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^([-+]?)0x([0-9a-fA-F_]+)$/,resolve:function(e,t,i){return X5(t,i,16)},stringify:function(e){return iz(e,16,"0x")}},{identify:function(e){return typeof e=="number"},default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:function(e,t){return t?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY},stringify:pg},{identify:function(e){return typeof e=="number"},default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:function(e){return parseFloat(e.replace(/_/g,""))},stringify:function(e){var t=e.value;return Number(t).toExponential()}},{identify:function(e){return typeof e=="number"},default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/,resolve:function(e,t){var i=new Ar(parseFloat(e.replace(/_/g,"")));if(t){var r=t.replace(/_/g,"");r[r.length-1]==="0"&&(i.minFractionDigits=r.length)}return i},stringify:pg}],Bhe,Uhe,Yhe,Khe,jhe,Qhe,$he),Ptt={core:Gtt,failsafe:tz,json:hme,yaml11:Xtt},Ott={binary:Bhe,bool:rme,float:cme,floatExp:ume,floatNaN:lme,floatTime:Qhe,int:sme,intHex:ame,intOct:ome,intTime:jhe,map:lI,null:ime,omap:Uhe,pairs:Yhe,seq:A5,set:Khe,timestamp:$he};function Btt(n,e,t){if(e){var i=t.filter(function(o){return o.tag===e}),r=i.find(function(o){return!o.format})||i[0];if(!r)throw new Error("Tag ".concat(e," not found"));return r}return t.find(function(o){return(o.identify&&o.identify(n)||o.class&&n instanceof o.class)&&!o.format})}function ztt(n,e,t){if(n instanceof Mu)return n;var i=t.defaultPrefix,r=t.onTagObj,o=t.prevObjects,s=t.schema,a=t.wrapScalars;e&&e.startsWith("!!")&&(e=i+e.slice(2));var l=Btt(n,e,s.tags);if(!l){if(typeof n.toJSON=="function"&&(n=n.toJSON()),!n||wc(n)!=="object")return a?new Ar(n):n;l=n instanceof Map?lI:n[Symbol.iterator]?A5:lI}r&&(r(l),delete t.onTagObj);var u={value:void 0,node:void 0};if(n&&wc(n)==="object"&&o){var c=o.get(n);if(c){var d=new mg(c);return t.aliasNodes.push(d),d}u.value=n,o.set(n,u)}return u.node=l.createNode?l.createNode(t.schema,n,t):a?new Ar(n):n,e&&u.node instanceof Mu&&(u.node.tag=e),u.node}function Htt(n,e,t,i){var r=n[i.replace(/\W/g,"")];if(!r){var o=Object.keys(n).map(function(m){return JSON.stringify(m)}).join(", ");throw new Error('Unknown schema "'.concat(i,'"; use one of ').concat(o))}if(Array.isArray(t)){var s=mo(t),a;try{for(s.s();!(a=s.n()).done;){var l=a.value;r=r.concat(l)}}catch(m){s.e(m)}finally{s.f()}}else typeof t=="function"&&(r=t(r.slice()));for(var u=0;ut.key?1:0},cI=function(){function n(e){var t=e.customTags,i=e.merge,r=e.schema,o=e.sortMapEntries,s=e.tags;hr(this,n),this.merge=!!i,this.name=r,this.sortMapEntries=o===!0?Ytt:o||null,!t&&s&&Ztt("tags","customTags"),this.tags=Htt(Ptt,Ott,t||s,r)}return $r(n,[{key:"createNode",value:function(t,i,r,o){var s={defaultPrefix:n.defaultPrefix,schema:this,wrapScalars:i},a=o?Object.assign(o,s):s;return ztt(t,r,a)}},{key:"createPair",value:function(t,i,r){r||(r={wrapScalars:!0});var o=this.createNode(t,r.wrapScalars,null,r),s=this.createNode(i,r.wrapScalars,null,r);return new ir(o,s)}}]),n}();Ll(cI,"defaultPrefix",N5),Ll(cI,"defaultTags",_b);var P5={anchorPrefix:"a",customTags:null,indent:2,indentSeq:!0,keepCstNodes:!1,keepNodeTypes:!0,keepBlobsInJSON:!0,mapAsMap:!1,maxAliasCount:100,prettyErrors:!1,simpleKeys:!1,version:"1.2"},Utt={get binary(){return sI},set binary(n){Object.assign(sI,n)},get bool(){return fg},set bool(n){Object.assign(fg,n)},get int(){return Ib},set int(n){Object.assign(Ib,n)},get null(){return BS},set null(n){Object.assign(BS,n)},get str(){return gg},set str(n){Object.assign(gg,n)}},fme={"1.0":{schema:"yaml-1.1",merge:!0,tagPrefixes:[{handle:"!",prefix:N5},{handle:"!!",prefix:"tag:private.yaml.org,2002:"}]},1.1:{schema:"yaml-1.1",merge:!0,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:N5}]},1.2:{schema:"core",merge:!1,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:N5}]}};function gme(n,e){if((n.version||n.options.version)==="1.0"){var t=e.match(/^tag:private\.yaml\.org,2002:([^:/]+)$/);if(t)return"!"+t[1];var i=e.match(/^tag:([a-zA-Z0-9-]+)\.yaml\.org,2002:(.*)/);return i?"!".concat(i[1],"/").concat(i[2]):"!".concat(e.replace(/^tag:/,""))}var r=n.tagPrefixes.find(function(a){return e.indexOf(a.prefix)===0});if(!r){var o=n.getDefaults().tagPrefixes;r=o&&o.find(function(a){return e.indexOf(a.prefix)===0})}if(!r)return e[0]==="!"?e:"!<".concat(e,">");var s=e.substr(r.prefix.length).replace(/[!,[\]{}]/g,function(a){return{"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"}[a]});return r.handle+s}function Ktt(n,e){if(e instanceof mg)return mg;if(e.tag){var t=n.filter(function(a){return a.tag===e.tag});if(t.length>0)return t.find(function(a){return a.format===e.format})||t[0]}var i,r;if(e instanceof Ar){r=e.value;var o=n.filter(function(a){return a.identify&&a.identify(r)||a.class&&r instanceof a.class});i=o.find(function(a){return a.format===e.format})||o.find(function(a){return!a.format})}else r=e,i=n.find(function(a){return a.nodeClass&&r instanceof a.nodeClass});if(!i){var s=r&&r.constructor?r.constructor.name:wc(r);throw new Error("Tag not resolved for ".concat(s," value"))}return i}function Jtt(n,e,t){var i=t.anchors,r=t.doc,o=[],s=r.anchors.getName(n);return s&&(i[s]=n,o.push("&".concat(s))),n.tag?o.push(gme(r,n.tag)):e.default||o.push(gme(r,e.tag)),o.join(" ")}function O5(n,e,t,i){var r=e.doc,o=r.anchors,s=r.schema,a;if(!(n instanceof Mu)){var l={aliasNodes:[],onTagObj:function(b){return a=b},prevObjects:new Map};n=s.createNode(n,!0,null,l);var u=mo(l.aliasNodes),c;try{for(u.s();!(c=u.n()).done;){var d=c.value;d.source=d.source.node;var h=o.getName(d.source);h||(h=o.newName(),o.map[h]=d.source)}}catch(g){u.e(g)}finally{u.f()}}if(n instanceof ir)return n.toString(e,t,i);a||(a=Ktt(s.tags,n));var m=Jtt(n,a,e);m.length>0&&(e.indentAtStart=(e.indentAtStart||0)+m.length+1);var f=typeof a.stringify=="function"?a.stringify(n,e,t,i):n instanceof Ar?qB(n,e,t,i):n.toString(e,t,i);return m?n instanceof Ar||f[0]==="{"||f[0]==="["?"".concat(m," ").concat(f):"".concat(m,` +`).concat(e.indent).concat(f):f}var jtt=function(){function n(e){hr(this,n),Ll(this,"map",Object.create(null)),this.prefix=e}return $r(n,[{key:"createAlias",value:function(t,i){return this.setAnchor(t,i),new mg(t)}},{key:"createMergePair",value:function(){for(var t=this,i=new The,r=arguments.length,o=new Array(r),s=0;s0&&!n.commentBefore&&(n.commentBefore=t.before.join(` `),t.before=[]))}}catch(m){o.e(m)}finally{o.f()}if(n.contents=i||null,!i)n.comment=t.before.concat(t.after).join(` `)||null;else{var d=t.before.join(` `);if(d){var h=i instanceof Ha&&i.items[0]?i.items[0]:i;h.commentBefore=h.commentBefore?"".concat(d,` `).concat(h.commentBefore):d}n.comment=t.after.join(` -`)||null}}function ent(n,e){var t=n.tagPrefixes,i=eF(e.parameters,2),r=i[0],o=i[1];if(!r||!o){var s="Insufficient parameters given for %TAG directive";throw new Fi(e,s)}if(t.some(function(l){return l.handle===r})){var a="The %TAG directive must only be given at most once per handle in the same document.";throw new Fi(e,a)}return{handle:r,prefix:o}}function tnt(n,e){var t=eF(e.parameters,1),i=t[0];if(e.name==="YAML:1.0"&&(i="1.0"),!i){var r="Insufficient parameters given for %YAML directive";throw new Fi(e,r)}if(!fme[i]){var o=n.version||n.options.version,s="Document will be parsed as YAML ".concat(o," rather than YAML ").concat(i);n.warnings.push(new Pw(e,s))}return i}function nnt(n,e,t){var i=[],r=!1,o=mo(e),s;try{for(o.s();!(s=o.n()).done;){var a=s.value,l=a.comment,u=a.name;switch(u){case"TAG":try{n.tagPrefixes.push(ent(n,a))}catch(m){n.errors.push(m)}r=!0;break;case"YAML":case"YAML:1.0":if(n.version){var c="The %YAML directive must only be given at most once per document.";n.errors.push(new Fi(a,c))}try{n.version=tnt(n,a)}catch(m){n.errors.push(m)}r=!0;break;default:if(u){var d="YAML only supports %TAG and %YAML directives, and not %".concat(u);n.warnings.push(new Pw(a,d))}}l&&i.push(l)}}catch(m){o.e(m)}finally{o.f()}if(t&&!r&&(n.version||t.version||n.options.version)==="1.1"){var h=function(f){var g=f.handle,b=f.prefix;return{handle:g,prefix:b}};n.tagPrefixes=t.tagPrefixes.map(h),n.version=t.version}n.commentBefore=i.join(` -`)||null}function zw(n){if(n instanceof Ha)return!0;throw new Error("Expected a YAML collection as document contents")}var rz=function(){function n(e){mr(this,n),this.anchors=new jtt(e.anchorPrefix),this.commentBefore=null,this.comment=null,this.contents=null,this.directivesEndMarker=null,this.errors=[],this.options=e,this.schema=null,this.tagPrefixes=[],this.version=null,this.warnings=[]}return $r(n,[{key:"add",value:function(t){return zw(this.contents),this.contents.add(t)}},{key:"addIn",value:function(t,i){zw(this.contents),this.contents.addIn(t,i)}},{key:"delete",value:function(t){return zw(this.contents),this.contents.delete(t)}},{key:"deleteIn",value:function(t){return oF(t)?this.contents==null?!1:(this.contents=null,!0):(zw(this.contents),this.contents.deleteIn(t))}},{key:"getDefaults",value:function(){return n.defaults[this.version]||n.defaults[this.options.version]||{}}},{key:"get",value:function(t,i){return this.contents instanceof Ha?this.contents.get(t,i):void 0}},{key:"getIn",value:function(t,i){return oF(t)?!i&&this.contents instanceof Vr?this.contents.value:this.contents:this.contents instanceof Ha?this.contents.getIn(t,i):void 0}},{key:"has",value:function(t){return this.contents instanceof Ha?this.contents.has(t):!1}},{key:"hasIn",value:function(t){return oF(t)?this.contents!==void 0:this.contents instanceof Ha?this.contents.hasIn(t):!1}},{key:"set",value:function(t,i){zw(this.contents),this.contents.set(t,i)}},{key:"setIn",value:function(t,i){oF(t)?this.contents=i:(zw(this.contents),this.contents.setIn(t,i))}},{key:"setSchema",value:function(t,i){if(!(!t&&!i&&this.schema)){typeof t=="number"&&(t=t.toFixed(1)),t==="1.0"||t==="1.1"||t==="1.2"?(this.version?this.version=t:this.options.version=t,delete this.options.schema):t&&typeof t=="string"&&(this.options.schema=t),Array.isArray(i)&&(this.options.customTags=i);var r=Object.assign({},this.getDefaults(),this.options);this.schema=new cF(r)}}},{key:"parse",value:function(t,i){this.options.keepCstNodes&&(this.cstNode=t),this.options.keepNodeTypes&&(this.type="DOCUMENT");var r=t.directives,o=r===void 0?[]:r,s=t.contents,a=s===void 0?[]:s,l=t.directivesEndMarker,u=t.error,c=t.valueRange;if(u&&(u.source||(u.source=this),this.errors.push(u)),nnt(this,o,i),l&&(this.directivesEndMarker=!0),this.range=c?[c.start,c.end]:null,this.setSchema(),this.anchors._cstAliases=[],qtt(this,a),this.anchors.resolveNodes(),this.options.prettyErrors){var d=mo(this.errors),h;try{for(d.s();!(h=d.n()).done;){var m=h.value;m instanceof Xw&&m.makePretty()}}catch(v){d.e(v)}finally{d.f()}var f=mo(this.warnings),g;try{for(f.s();!(g=f.n()).done;){var b=g.value;b instanceof Xw&&b.makePretty()}}catch(v){f.e(v)}finally{f.f()}}return this}},{key:"listNonDefaultTags",value:function(){return $tt(this.contents).filter(function(t){return t.indexOf(cF.defaultPrefix)!==0})}},{key:"setTagPrefix",value:function(t,i){if(t[0]!=="!"||t[t.length-1]!=="!")throw new Error("Handle must start and end with !");if(i){var r=this.tagPrefixes.find(function(o){return o.handle===t});r?r.prefix=i:this.tagPrefixes.push({handle:t,prefix:i})}else this.tagPrefixes=this.tagPrefixes.filter(function(o){return o.handle!==t})}},{key:"toJSON",value:function(t,i){var r=this,o=this.options,s=o.keepBlobsInJSON,a=o.mapAsMap,l=o.maxAliasCount,u=s&&(typeof t!="string"||!(this.contents instanceof Vr)),c={doc:this,indentStep:" ",keep:u,mapAsMap:u&&!!a,maxAliasCount:l,stringify:O5},d=Object.keys(this.anchors.map);d.length>0&&(c.anchors=new Map(d.map(function(C){return[r.anchors.map[C],{alias:[],aliasCount:0,count:1}]})));var h=yh(this.contents,t,c);if(typeof i=="function"&&c.anchors){var m=mo(c.anchors.values()),f;try{for(m.s();!(f=m.n()).done;){var g=f.value,b=g.count,v=g.res;i(v,b)}}catch(C){m.e(C)}finally{m.f()}}return h}},{key:"toString",value:function(){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");var t=this.options.indent;if(!Number.isInteger(t)||t<=0){var i=JSON.stringify(t);throw new Error('"indent" option must be a positive integer, not '.concat(i))}this.setSchema();var r=[],o=!1;if(this.version){var s="%YAML 1.2";this.schema.name==="yaml-1.1"&&(this.version==="1.0"?s="%YAML:1.0":this.version==="1.1"&&(s="%YAML 1.1")),r.push(s),o=!0}var a=this.listNonDefaultTags();this.tagPrefixes.forEach(function(m){var f=m.handle,g=m.prefix;a.some(function(b){return b.indexOf(g)===0})&&(r.push("%TAG ".concat(f," ").concat(g)),o=!0)}),(o||this.directivesEndMarker)&&r.push("---"),this.commentBefore&&((o||!this.directivesEndMarker)&&r.unshift(""),r.unshift(this.commentBefore.replace(/^/gm,"#")));var l={anchors:Object.create(null),doc:this,indent:"",indentStep:" ".repeat(t),stringify:O5},u=!1,c=null;if(this.contents){this.contents instanceof ku&&(this.contents.spaceBefore&&(o||this.directivesEndMarker)&&r.push(""),this.contents.commentBefore&&r.push(this.contents.commentBefore.replace(/^/gm,"#")),l.forceBlockIndent=!!this.comment,c=this.contents.comment);var d=c?null:function(){return u=!0},h=O5(this.contents,l,function(){return c=null},d);r.push(Ow(h,"",c))}else this.contents!==void 0&&r.push(O5(this.contents,l));return this.comment&&((!u||c)&&r[r.length-1]!==""&&r.push(""),r.push(this.comment.replace(/^/gm,"#"))),r.join(` +`)||null}}function ent(n,e){var t=n.tagPrefixes,i=eI(e.parameters,2),r=i[0],o=i[1];if(!r||!o){var s="Insufficient parameters given for %TAG directive";throw new Ii(e,s)}if(t.some(function(l){return l.handle===r})){var a="The %TAG directive must only be given at most once per handle in the same document.";throw new Ii(e,a)}return{handle:r,prefix:o}}function tnt(n,e){var t=eI(e.parameters,1),i=t[0];if(e.name==="YAML:1.0"&&(i="1.0"),!i){var r="Insufficient parameters given for %YAML directive";throw new Ii(e,r)}if(!fme[i]){var o=n.version||n.options.version,s="Document will be parsed as YAML ".concat(o," rather than YAML ").concat(i);n.warnings.push(new PS(e,s))}return i}function nnt(n,e,t){var i=[],r=!1,o=mo(e),s;try{for(o.s();!(s=o.n()).done;){var a=s.value,l=a.comment,u=a.name;switch(u){case"TAG":try{n.tagPrefixes.push(ent(n,a))}catch(m){n.errors.push(m)}r=!0;break;case"YAML":case"YAML:1.0":if(n.version){var c="The %YAML directive must only be given at most once per document.";n.errors.push(new Ii(a,c))}try{n.version=tnt(n,a)}catch(m){n.errors.push(m)}r=!0;break;default:if(u){var d="YAML only supports %TAG and %YAML directives, and not %".concat(u);n.warnings.push(new PS(a,d))}}l&&i.push(l)}}catch(m){o.e(m)}finally{o.f()}if(t&&!r&&(n.version||t.version||n.options.version)==="1.1"){var h=function(f){var g=f.handle,b=f.prefix;return{handle:g,prefix:b}};n.tagPrefixes=t.tagPrefixes.map(h),n.version=t.version}n.commentBefore=i.join(` +`)||null}function zS(n){if(n instanceof Ha)return!0;throw new Error("Expected a YAML collection as document contents")}var rz=function(){function n(e){hr(this,n),this.anchors=new jtt(e.anchorPrefix),this.commentBefore=null,this.comment=null,this.contents=null,this.directivesEndMarker=null,this.errors=[],this.options=e,this.schema=null,this.tagPrefixes=[],this.version=null,this.warnings=[]}return $r(n,[{key:"add",value:function(t){return zS(this.contents),this.contents.add(t)}},{key:"addIn",value:function(t,i){zS(this.contents),this.contents.addIn(t,i)}},{key:"delete",value:function(t){return zS(this.contents),this.contents.delete(t)}},{key:"deleteIn",value:function(t){return oI(t)?this.contents==null?!1:(this.contents=null,!0):(zS(this.contents),this.contents.deleteIn(t))}},{key:"getDefaults",value:function(){return n.defaults[this.version]||n.defaults[this.options.version]||{}}},{key:"get",value:function(t,i){return this.contents instanceof Ha?this.contents.get(t,i):void 0}},{key:"getIn",value:function(t,i){return oI(t)?!i&&this.contents instanceof Ar?this.contents.value:this.contents:this.contents instanceof Ha?this.contents.getIn(t,i):void 0}},{key:"has",value:function(t){return this.contents instanceof Ha?this.contents.has(t):!1}},{key:"hasIn",value:function(t){return oI(t)?this.contents!==void 0:this.contents instanceof Ha?this.contents.hasIn(t):!1}},{key:"set",value:function(t,i){zS(this.contents),this.contents.set(t,i)}},{key:"setIn",value:function(t,i){oI(t)?this.contents=i:(zS(this.contents),this.contents.setIn(t,i))}},{key:"setSchema",value:function(t,i){if(!(!t&&!i&&this.schema)){typeof t=="number"&&(t=t.toFixed(1)),t==="1.0"||t==="1.1"||t==="1.2"?(this.version?this.version=t:this.options.version=t,delete this.options.schema):t&&typeof t=="string"&&(this.options.schema=t),Array.isArray(i)&&(this.options.customTags=i);var r=Object.assign({},this.getDefaults(),this.options);this.schema=new cI(r)}}},{key:"parse",value:function(t,i){this.options.keepCstNodes&&(this.cstNode=t),this.options.keepNodeTypes&&(this.type="DOCUMENT");var r=t.directives,o=r===void 0?[]:r,s=t.contents,a=s===void 0?[]:s,l=t.directivesEndMarker,u=t.error,c=t.valueRange;if(u&&(u.source||(u.source=this),this.errors.push(u)),nnt(this,o,i),l&&(this.directivesEndMarker=!0),this.range=c?[c.start,c.end]:null,this.setSchema(),this.anchors._cstAliases=[],qtt(this,a),this.anchors.resolveNodes(),this.options.prettyErrors){var d=mo(this.errors),h;try{for(d.s();!(h=d.n()).done;){var m=h.value;m instanceof XS&&m.makePretty()}}catch(y){d.e(y)}finally{d.f()}var f=mo(this.warnings),g;try{for(f.s();!(g=f.n()).done;){var b=g.value;b instanceof XS&&b.makePretty()}}catch(y){f.e(y)}finally{f.f()}}return this}},{key:"listNonDefaultTags",value:function(){return $tt(this.contents).filter(function(t){return t.indexOf(cI.defaultPrefix)!==0})}},{key:"setTagPrefix",value:function(t,i){if(t[0]!=="!"||t[t.length-1]!=="!")throw new Error("Handle must start and end with !");if(i){var r=this.tagPrefixes.find(function(o){return o.handle===t});r?r.prefix=i:this.tagPrefixes.push({handle:t,prefix:i})}else this.tagPrefixes=this.tagPrefixes.filter(function(o){return o.handle!==t})}},{key:"toJSON",value:function(t,i){var r=this,o=this.options,s=o.keepBlobsInJSON,a=o.mapAsMap,l=o.maxAliasCount,u=s&&(typeof t!="string"||!(this.contents instanceof Ar)),c={doc:this,indentStep:" ",keep:u,mapAsMap:u&&!!a,maxAliasCount:l,stringify:O5},d=Object.keys(this.anchors.map);d.length>0&&(c.anchors=new Map(d.map(function(C){return[r.anchors.map[C],{alias:[],aliasCount:0,count:1}]})));var h=vh(this.contents,t,c);if(typeof i=="function"&&c.anchors){var m=mo(c.anchors.values()),f;try{for(m.s();!(f=m.n()).done;){var g=f.value,b=g.count,y=g.res;i(y,b)}}catch(C){m.e(C)}finally{m.f()}}return h}},{key:"toString",value:function(){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");var t=this.options.indent;if(!Number.isInteger(t)||t<=0){var i=JSON.stringify(t);throw new Error('"indent" option must be a positive integer, not '.concat(i))}this.setSchema();var r=[],o=!1;if(this.version){var s="%YAML 1.2";this.schema.name==="yaml-1.1"&&(this.version==="1.0"?s="%YAML:1.0":this.version==="1.1"&&(s="%YAML 1.1")),r.push(s),o=!0}var a=this.listNonDefaultTags();this.tagPrefixes.forEach(function(m){var f=m.handle,g=m.prefix;a.some(function(b){return b.indexOf(g)===0})&&(r.push("%TAG ".concat(f," ").concat(g)),o=!0)}),(o||this.directivesEndMarker)&&r.push("---"),this.commentBefore&&((o||!this.directivesEndMarker)&&r.unshift(""),r.unshift(this.commentBefore.replace(/^/gm,"#")));var l={anchors:Object.create(null),doc:this,indent:"",indentStep:" ".repeat(t),stringify:O5},u=!1,c=null;if(this.contents){this.contents instanceof Mu&&(this.contents.spaceBefore&&(o||this.directivesEndMarker)&&r.push(""),this.contents.commentBefore&&r.push(this.contents.commentBefore.replace(/^/gm,"#")),l.forceBlockIndent=!!this.comment,c=this.contents.comment);var d=c?null:function(){return u=!0},h=O5(this.contents,l,function(){return c=null},d);r.push(OS(h,"",c))}else this.contents!==void 0&&r.push(O5(this.contents,l));return this.comment&&((!u||c)&&r[r.length-1]!==""&&r.push(""),r.push(this.comment.replace(/^/gm,"#"))),r.join(` `)+` -`}}]),n}();_l(rz,"defaults",fme);function int(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,t=arguments.length>2?arguments[2]:void 0;t===void 0&&typeof e=="string"&&(t=e,e=!0);var i=Object.assign({},rz.defaults[P5.version],P5),r=new cF(i);return r.createNode(n,e,t)}var B5=function(n){co(t,n);var e=ho(t);function t(i){return mr(this,t),e.call(this,Object.assign({},P5,i))}return t}(rz);function rnt(n,e){var t=[],i,r=mo(JB(n)),o;try{for(r.s();!(o=r.n()).done;){var s=o.value,a=new B5(e);a.parse(s,i),t.push(a),i=a}}catch(l){r.e(l)}finally{r.f()}return t}function pme(n,e){var t=JB(n),i=new B5(e).parse(t[0]);if(t.length>1){var r="Source contains multiple documents; please use YAML.parseAllDocuments()";i.errors.unshift(new Fi(t[1],r))}return i}function ont(n,e){var t=pme(n,e);if(t.warnings.forEach(function(i){return eme(i)}),t.errors.length>0)throw t.errors[0];return t.toJSON()}function snt(n,e){var t=new B5(e);return t.contents=n,String(t)}var ant={createNode:int,defaultOptions:P5,Document:B5,parse:ont,parseAllDocuments:rnt,parseCST:JB,parseDocument:pme,scalarOptions:Utt,stringify:snt},bme=Uee(Object.freeze(Object.defineProperty({__proto__:null,YAML:ant},Symbol.toStringTag,{value:"Module"}))).YAML;function lnt(n){return n.replace(/\~/g,"~0").replace(/\//g,"~1")}function vme(n){return n.replace(/\~1/g,"/").replace(/~0/g,"~")}function unt(n,e,t){if(typeof n>"u")return!1;if(!e||typeof e!="string"||e==="#")return typeof t<"u"?t:n;if(e.indexOf("#")>=0){let r=e.split("#");if(r[0])return!1;e=r[1],e=decodeURIComponent(e.slice(1).split("+").join(" "))}e.startsWith("/")&&(e=e.slice(1));let i=e.split("/");for(let r=0;r0?i[r-1]:"",s!=-1||n&&n.hasOwnProperty(i[r]))if(s>=0)o&&(n[s]=t),n=n[s];else{if(s===-2)return o?(Array.isArray(n)&&n.push(t),t):void 0;o&&(n[i[r]]=t),n=n[i[r]]}else if(typeof t<"u"&&typeof n=="object"&&!Array.isArray(n))n[i[r]]=o?t:i[r+1]==="0"||i[r+1]==="-"?[]:{},n=n[i[r]];else return!1}return n}var z5={jptr:unt,jpescape:lnt,jpunescape:vme};function cnt(n,e){return e==="$ref"&&!!n&&typeof n[e]=="string"}var oz={isRef:cnt};function dnt(n){return n}function hnt(n){return JSON.parse(JSON.stringify(n))}function mnt(n){let e={};for(let t in n)n.hasOwnProperty(t)&&(e[t]=n[t]);return e}function yme(n){let e=Array.isArray(n)?[]:{};for(let t in n)(n.hasOwnProperty(t)||Array.isArray(n))&&(e[t]=typeof n[t]=="object"?yme(n[t]):n[t]);return e}function fnt(n){return Object.assign({},n)}function Cme(n,e){if(e||(e=new WeakMap),Object(n)!==n||n instanceof Function)return n;if(e.has(n))return e.get(n);try{var t=new n.constructor}catch{t=Object.create(Object.getPrototypeOf(n))}return e.set(n,t),Object.assign(t,...Object.keys(n).map(i=>({[i]:Cme(n[i],e)})))}var H5={nop:dnt,clone:hnt,shallowClone:mnt,deepClone:yme,fastClone:fnt,circularClone:Cme};const gnt=z5.jpescape;function pnt(){return{path:"#",depth:0,pkey:"",parent:{},payload:{},seen:new WeakMap,identity:!1,identityDetection:!1}}function wme(n,e,t){if(e||(e={depth:0}),e.depth||(e=Object.assign({},pnt(),e)),typeof n!="object")return;let i=e.path;for(let r in n){if(e.key=r,e.path=e.path+"/"+encodeURIComponent(gnt(r)),e.identityPath=e.seen.get(n[r]),e.identity=typeof e.identityPath<"u",n.hasOwnProperty(r)&&t(n,r,e),typeof n[r]=="object"&&!e.identity){e.identityDetection&&!Array.isArray(n[r])&&n[r]!==null&&e.seen.set(n[r],e.path);let o={};o.parent=n,o.path=e.path,o.depth=e.depth?e.depth+1:1,o.pkey=r,o.payload=e.payload,o.seen=e.seen,o.identity=!1,o.identityDetection=e.identityDetection,wme(n[r],o,t)}e.path=i}}var sz={recurse:wme};const bnt=sz.recurse,Sme=H5.shallowClone,dF=z5.jptr,vnt=oz.isRef;var ynt=function(n){return n&&n.verbose?{warn:function(){var e=Array.prototype.slice.call(arguments)}}:{warn:function(){}}};function xme(n,e,t){t||(t={}),t.cache||(t.cache={}),t.state||(t.state={}),t.state.identityDetection=!0,t.depth=t.depth?t.depth+1:1;let i=t.depth>1?n:Sme(n),r={data:i},o=t.depth>1?e:Sme(e);t.master||(t.master=i);let s=ynt(t),a=1;for(;a>0;)a=0,bnt(r,t.state,function(l,u,c){if(vnt(l,u)){let d=l[u];if(a++,t.cache[d]){let h=t.cache[d];if(h.resolved)s.warn("Patching %s for %s",d,h.path),c.parent[c.pkey]=h.data,t.$ref&&typeof c.parent[c.pkey]=="object"&&c.parent[c.pkey]!==null&&(c.parent[c.pkey][t.$ref]=d);else{if(d===h.path)throw new Error(`Tight circle at ${h.path}`);s.warn("Unresolved ref"),c.parent[c.pkey]=dF(h.source,h.path),c.parent[c.pkey]===!1&&(c.parent[c.pkey]=dF(h.source,h.key)),t.$ref&&typeof c.parent[c.pkey]=="object"&&c.parent[c.pkey]!==null&&(c.parent[t.$ref]=d)}}else{let h={};h.path=c.path.split("/$ref")[0],h.key=d,s.warn("Dereffing %s at %s",d,h.path),h.source=o,h.data=dF(h.source,h.key),h.data===!1&&(h.data=dF(t.master,h.key),h.source=t.master),h.data===!1&&s.warn("Missing $ref target",h.key),t.cache[d]=h,h.data=c.parent[c.pkey]=xme(dF(h.source,h.key),h.source,t),t.$ref&&typeof c.parent[c.pkey]=="object"&&c.parent[c.pkey]!==null&&(c.parent[c.pkey][t.$ref]=d),h.resolved=!0}}});return r.data}var Cnt={dereference:xme},wnt=hF;hF.default=hF,hF.stable=Fme,hF.stableStringify=Fme;var Y5="[...]",Lme="[Circular]",Mv=[],kv=[];function _me(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function hF(n,e,t,i){typeof i>"u"&&(i=_me()),az(n,"",0,[],void 0,0,i);var r;try{kv.length===0?r=JSON.stringify(n,e,t):r=JSON.stringify(n,Ime(e),t)}catch{return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;Mv.length!==0;){var o=Mv.pop();o.length===4?Object.defineProperty(o[0],o[1],o[3]):o[0][o[1]]=o[2]}}return r}function Hw(n,e,t,i){var r=Object.getOwnPropertyDescriptor(i,t);r.get!==void 0?r.configurable?(Object.defineProperty(i,t,{value:n}),Mv.push([i,t,e,r])):kv.push([e,t,n]):(i[t]=n,Mv.push([i,t,e]))}function az(n,e,t,i,r,o,s){o+=1;var a;if(typeof n=="object"&&n!==null){for(a=0;as.depthLimit){Hw(Y5,n,e,r);return}if(typeof s.edgesLimit<"u"&&t+1>s.edgesLimit){Hw(Y5,n,e,r);return}if(i.push(n),Array.isArray(n))for(a=0;ae?1:0}function Fme(n,e,t,i){typeof i>"u"&&(i=_me());var r=lz(n,"",0,[],void 0,0,i)||n,o;try{kv.length===0?o=JSON.stringify(r,e,t):o=JSON.stringify(r,Ime(e),t)}catch{return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;Mv.length!==0;){var s=Mv.pop();s.length===4?Object.defineProperty(s[0],s[1],s[3]):s[0][s[1]]=s[2]}}return o}function lz(n,e,t,i,r,o,s){o+=1;var a;if(typeof n=="object"&&n!==null){for(a=0;as.depthLimit){Hw(Y5,n,e,r);return}if(typeof s.edgesLimit<"u"&&t+1>s.edgesLimit){Hw(Y5,n,e,r);return}if(i.push(n),Array.isArray(n))for(a=0;a0)for(var i=0;i=20.0.0",npm_config_node_gyp:"/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",XPC_SERVICE_NAME:"0",npm_package_version:"2.2.0",VSCODE_INJECTION:"1",HOME:"/Users/alexander",SHLVL:"2",VSCODE_GIT_ASKPASS_MAIN:"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js",GOROOT:"/Users/alexander/.gvm/gos/go1.21.6",DYLD_LIBRARY_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:",gvm_go_name:"go1.21.6",LOGNAME:"alexander",LESS:"-R",VSCODE_PATH_PREFIX:"/Users/alexander/.gvm/gos/go1.21.6/bin:",npm_config_cache:"/Users/alexander/.npm",GVM_OVERLAY_PREFIX:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay",npm_lifecycle_script:"tsc && vite build --config vite.package.config.ts --mode package",LC_CTYPE:"zh_CN.UTF-8",VSCODE_GIT_IPC_HANDLE:"/var/folders/7b/f28gh86d083_xqj9p9hs97k80000gn/T/vscode-git-79a18f10f2.sock",NVM_BIN:"/Users/alexander/.nvm/versions/node/v20.9.0/bin",PKG_CONFIG_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:",GOPATH:"/Users/alexander/mygo",npm_config_user_agent:"npm/10.1.0 node/v20.9.0 darwin x64 workspaces/false",GIT_ASKPASS:"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh",VSCODE_GIT_ASKPASS_NODE:"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)",GVM_PATH_BACKUP:"/Users/alexander/.gvm/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/mygo/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/alexander/.gvm/gos/go1.21.6/bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.nvm/versions/node/v20.9.0/bin:/Users/alexander/.cargo/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin",COLORTERM:"truecolor",npm_config_prefix:"/Users/alexander/.nvm/versions/node/v20.9.0",npm_node_execpath:"/Users/alexander/.nvm/versions/node/v20.9.0/bin/node",NODE_ENV:"production"};const Dme=wnt,Lnt=xnt.NODE_DISABLE_COLORS?{red:"",yellow:"",green:"",normal:""}:{red:"\x1B[31m",yellow:"\x1B[33;1m",green:"\x1B[32m",normal:"\x1B[0m"};function _nt(n,e,t){return t.indexOf(n)===e}function Fnt(n){return new Set(n).size!==n.length}function Int(n){return new Set(n).size<=1}function Dnt(n,e){function t(i,r){return Dme.stringify(i)===Dme.stringify(Object.assign({},i,r))}return t(n,e)&&t(e,n)}function Mnt(n){let e=[];for(let t of n)e.find(function(r,o,s){return Dnt(r,t)})||e.push(t);return e}function knt(n){return n.length===Mnt(n).length}function Nnt(n){return n.find(function(e,t,i){return n.indexOf(e)1,m===!1){if(h.parent[h.pkey]={},o.fatal){let f=new Error("Fragment $ref resolution failed "+c[d]);if(o.promise)o.promise.reject(f);else throw f}}else u++,h.parent[h.pkey]=m,l[c[d]]=h.path.replace("/%24ref","")}else if(!c.$fixed){let m=(s+"/"+l[c[d]]).split("/#/").join("/");h.parent[h.pkey]={$ref:m,"x-miro":c[d],$fixed:!0},o.verbose>1,u++}}else if(a.protocol){let m=Nv.resolve(r,c[d]).toString();o.verbose>1,c["x-miro"]=c[d],o.externalRefs[c[d]]&&(o.externalRefs[m]||(o.externalRefs[m]=o.externalRefs[c[d]]),o.externalRefs[m].failed=o.externalRefs[c[d]].failed),c[d]=m}else if(!c["x-miro"]){let m=Nv.resolve(r,c[d]).toString(),f=!1;o.externalRefs[c[d]]&&(f=o.externalRefs[c[d]].failed),f||(o.verbose>1,c["x-miro"]=c[d],c[d]=m)}}});return Uw(n,{},function(c,d,h){U5(c,d)&&typeof c.$fixed<"u"&&delete c.$fixed}),o.verbose>1,n}function K5(n,e){if(!e.filters||!e.filters.length)return n;for(let t of e.filters)n=t(n,e);return n}function Ont(n,e){return n&&n.length>2?n:e&&e.length>2?e:"file:"}function Bnt(n,e,t,i){var r=Nv.parse(t.source),o=t.source.split("\\").join("/").split("/");o.pop()||o.pop();let a="",l=e.split("#");l.length>1&&(a="#"+l[1],e=l[0]),o=o.join("/");let u=Nv.parse(e),c=Ont(u.protocol,r.protocol),d;if(c==="file:"?d=Nme.resolve(o?o+"/":"",e):d=Nv.resolve(o?o+"/":"",e),t.cache[d]){t.verbose;let h=Db(t.cache[d]),m=t.externalRef=h;if(a&&(m=Yw(m,a),m===!1&&(m={},t.fatal))){let f=new Error("Cached $ref resolution failed "+d+a);if(t.promise)t.promise.reject(f);else throw f}return m=uz(m,h,e,a,d,t),m=K5(m,t),i(Db(m),d,t),Promise.resolve(m)}if(t.verbose,t.handlers&&t.handlers[c])return t.handlers[c](o,e,a,t).then(function(h){return t.externalRef=h,h=K5(h,t),t.cache[d]=h,i(h,d,t),h}).catch(function(h){throw t.verbose,h});if(c&&c.startsWith("http")){const h=Object.assign({},t.fetchOptions,{agent:t.agent});return t.fetch(d,h).then(function(m){if(m.status!==200){if(t.ignoreIOErrors)return t.verbose,t.externalRefs[e].failed=!0,'{"$ref":"'+e+'"}';throw new Error(`Received status code ${m.status}: ${d}`)}return m.text()}).then(function(m){try{let f=Tme.parse(m,{schema:"core",prettyErrors:!0});if(m=t.externalRef=f,t.cache[d]=Db(m),a&&(m=Yw(m,a),m===!1&&(m={},t.fatal))){let g=new Error("Remote $ref resolution failed "+d+a);if(t.promise)t.promise.reject(g);else throw g}m=uz(m,f,e,a,d,t),m=K5(m,t)}catch(f){if(t.verbose,t.promise&&t.fatal)t.promise.reject(f);else throw f}return i(m,d,t),m}).catch(function(m){if(t.verbose,t.cache[d]={},t.promise&&t.fatal)t.promise.reject(m);else throw m})}else{const h='{"$ref":"'+e+'"}';return Pnt(d,t.encoding||"utf8",t,e,h).then(function(m){try{let f=Tme.parse(m,{schema:"core",prettyErrors:!0});if(m=t.externalRef=f,t.cache[d]=Db(m),a&&(m=Yw(m,a),m===!1&&(m={},t.fatal))){let g=new Error("File $ref resolution failed "+d+a);if(t.promise)t.promise.reject(g);else throw g}m=uz(m,f,e,a,d,t),m=K5(m,t)}catch(f){if(t.verbose,t.promise&&t.fatal)t.promise.reject(f);else throw f}return i(m,d,t),m}).catch(function(m){if(t.verbose,t.promise&&t.fatal)t.promise.reject(m);else throw m})}}function znt(n){return new Promise(function(e,t){function i(o,s,a){if(o[s]&&U5(o[s],"$ref")){let l=o[s].$ref;if(!l.startsWith("#")){let u="";if(!r[l]){let c=Object.keys(r).find(function(d,h,m){return l.startsWith(d+"/")});c&&(n.verbose,u="/"+(l.split("#")[1]||"").replace(c.split("#")[1]||""),u=u.split("/undefined").join(""),l=c)}if(r[l]||(r[l]={resolved:!1,paths:[],extras:{},description:o[s].description}),r[l].resolved){if(!r[l].failed)if(n.rewriteRefs){let c=r[l].resolvedAt;n.verbose>1,o[s]["x-miro"]=l,o[s].$ref=c+u}else o[s]=Db(r[l].data)}else r[l].paths.push(a.path),r[l].extras[a.path]=u}}}let r=n.externalRefs;if(n.resolver.depth>0&&n.source===n.resolver.base)return e(r);Uw(n.openapi.definitions,{identityDetection:!0,path:"#/definitions"},i),Uw(n.openapi.components,{identityDetection:!0,path:"#/components"},i),Uw(n.openapi,{identityDetection:!0},i),e(r)})}function Eme(n){return new Promise(function(e,t){znt(n).then(function(r){for(let o in r)if(!r[o].resolved){let s=n.resolver.depth;s>0&&s++,n.resolver.actions[s].push(function(){return Bnt(n.openapi,o,n,function(a,l,u){if(!r[o].resolved){let h={};h.context=r[o],h.$ref=o,h.original=Db(a),h.updated=a,h.source=l,u.externals.push(h),r[o].resolved=!0}let c=Object.assign({},u,{source:"",resolver:{actions:u.resolver.actions,depth:u.resolver.actions.length-1,base:u.resolver.base}});u.patch&&r[o].description&&!a.description&&typeof a=="object"&&(a.description=r[o].description),r[o].data=a;let d=Xnt(r[o].paths);d=d.sort(function(h,m){const f=h.startsWith("#/components/")||h.startsWith("#/definitions/"),g=m.startsWith("#/components/")||m.startsWith("#/definitions/");return f&&!g?-1:g&&!f?1:0});for(let h of d)if(r[o].resolvedAt&&h!==r[o].resolvedAt&&h.indexOf("x-ms-examples/")<0)u.verbose>1,Yw(u.openapi,h,{$ref:r[o].resolvedAt+r[o].extras[h],"x-miro":o+r[o].extras[h]});else{r[o].resolvedAt||(r[o].resolvedAt=h),u.verbose>1;let m=Db(a);Yw(u.openapi,h,m)}u.resolver.actions[c.resolver.depth].length===0&&u.resolver.actions[c.resolver.depth].push(function(){return Eme(c)})})})}}).catch(function(r){n.verbose,t(r)});let i={options:n};i.actions=n.resolver.actions[n.resolver.depth],e(i)})}const Hnt=n=>n.reduce((e,t)=>e.then(i=>t().then(Array.prototype.concat.bind(i))),Promise.resolve([]));function cz(n,e,t){n.resolver.actions.push([]),Eme(n).then(function(i){Hnt(i.actions).then(function(){if(n.resolver.depth>=n.resolver.actions.length)return e(!0);n.resolver.depth++,n.resolver.actions[n.resolver.depth].length?setTimeout(function(){cz(i.options,e,t)},0):(n.verbose>1,n.resolveInternal&&(n.verbose>1,n.openapi=Gnt(n.openapi,n.original,{verbose:n.verbose-1}),n.verbose>1),Uw(n.openapi,{},function(r,o,s){U5(r,o)&&(n.preserveMiro||delete r["x-miro"])}),e(n))}).catch(function(r){n.verbose,t(r)})}).catch(function(i){n.verbose,t(i)})}function Zme(n){if(n.cache||(n.cache={}),n.fetch||(n.fetch=Ant),n.source){let e=Nv.parse(n.source);(!e.protocol||e.protocol.length<=2)&&(n.source=Nme.resolve(n.source))}n.externals=[],n.externalRefs={},n.rewriteRefs=!0,n.resolver={},n.resolver.depth=0,n.resolver.base=n.source,n.resolver.actions=[[]]}function Ynt(n){return Zme(n),new Promise(function(e,t){n.resolve?cz(n,e,t):e(n)})}function Unt(n,e,t){return t||(t={}),t.openapi=n,t.source=e,t.resolve=!0,Zme(t),new Promise(function(i,r){cz(t,i,r)})}var Knt={optionalResolve:Ynt,resolve:Unt};function Wme(){return{depth:0,seen:new WeakMap,top:!0,combine:!1,allowRefSiblings:!1}}function Mm(n,e,t,i){if(typeof t.depth>"u"&&(t=Wme()),n===null||typeof n>"u")return n;if(typeof n.$ref<"u"){let r={$ref:n.$ref};return t.allowRefSiblings&&n.description&&(r.description=n.description),i(r,e,t),r}if(t.combine&&(n.allOf&&Array.isArray(n.allOf)&&n.allOf.length===1&&(n=Object.assign({},n.allOf[0],n),delete n.allOf),n.anyOf&&Array.isArray(n.anyOf)&&n.anyOf.length===1&&(n=Object.assign({},n.anyOf[0],n),delete n.anyOf),n.oneOf&&Array.isArray(n.oneOf)&&n.oneOf.length===1&&(n=Object.assign({},n.oneOf[0],n),delete n.oneOf)),i(n,e,t),t.seen.has(n))return n;if(typeof n=="object"&&n!==null&&t.seen.set(n,!0),t.top=!1,t.depth++,typeof n.items<"u"&&(t.property="items",Mm(n.items,n,t,i)),n.additionalItems&&typeof n.additionalItems=="object"&&(t.property="additionalItems",Mm(n.additionalItems,n,t,i)),n.additionalProperties&&typeof n.additionalProperties=="object"&&(t.property="additionalProperties",Mm(n.additionalProperties,n,t,i)),n.properties)for(let r in n.properties){let o=n.properties[r];t.property="properties/"+r,Mm(o,n,t,i)}if(n.patternProperties)for(let r in n.patternProperties){let o=n.patternProperties[r];t.property="patternProperties/"+r,Mm(o,n,t,i)}if(n.allOf)for(let r in n.allOf){let o=n.allOf[r];t.property="allOf/"+r,Mm(o,n,t,i)}if(n.anyOf)for(let r in n.anyOf){let o=n.anyOf[r];t.property="anyOf/"+r,Mm(o,n,t,i)}if(n.oneOf)for(let r in n.oneOf){let o=n.oneOf[r];t.property="oneOf/"+r,Mm(o,n,t,i)}return n.not&&(t.property="not",Mm(n.not,n,t,i)),t.depth--,n}var Jnt={getDefaultState:Wme,walkSchema:Mm},jnt={statusCodes:Object.assign({},{default:"Default response","1XX":"Informational",103:"Early hints","2XX":"Successful","3XX":"Redirection","4XX":"Client Error","5XX":"Server Error","7XX":"Developer Error"},Gw.STATUS_CODES)};const Qnt={name:"swagger2openapi",version:"7.0.8",description:"Convert Swagger 2.0 definitions to OpenApi 3.0 and validate",main:"index.js",bin:{swagger2openapi:"./swagger2openapi.js","oas-validate":"./oas-validate.js",boast:"./boast.js"},funding:"https://github.com/Mermade/oas-kit?sponsor=1",scripts:{test:"mocha"},browserify:{transform:[["babelify",{presets:["es2015"]}]]},repository:{url:"https://github.com/Mermade/oas-kit.git",type:"git"},bugs:{url:"https://github.com/mermade/oas-kit/issues"},author:"Mike Ralphson ",license:"BSD-3-Clause",dependencies:{"call-me-maybe":"^1.0.1","node-fetch":"^2.6.1","node-fetch-h2":"^2.3.0","node-readfiles":"^0.2.0","oas-kit-common":"^1.0.8","oas-resolver":"^2.5.6","oas-schema-walker":"^1.1.5","oas-validator":"^5.0.8",reftools:"^1.1.9",yaml:"^1.10.0",yargs:"^17.0.1"},keywords:["swagger","openapi","openapi2","openapi3","converter","conversion","validator","validation","resolver","lint","linter"],gitHead:"b1bba3fc5007e96a991bf2a015cf0534ac36b88b"},$nt=Gw,qnt=Gw,mF=jet,eit=yhe,Rme=bme,bg=z5,fF=bg.jptr,tit=oz.isRef,km=H5.clone,Vme=H5.circularClone,J5=sz.recurse,Ame=Knt,nit=Jnt,Ar=kme,iit=jnt.statusCodes,rit=Qnt.version,Gme="3.0.0";let j5;class Tu extends Error{constructor(e){super(e),this.name="S2OError"}}function Il(n,e){let t=new Tu(n);if(t.options=e,e.promise)e.promise.reject(t);else throw t}function Ya(n,e,t){t.warnOnly?e[t.warnProperty||"x-s2o-warning"]=n:Il(n,t)}function oit(n,e,t){if(n.nullable&&t.patches++,n.discriminator&&typeof n.discriminator=="string"&&(n.discriminator={propertyName:n.discriminator}),n.items&&Array.isArray(n.items)&&(n.items.length===0?n.items={}:n.items.length===1?n.items=n.items[0]:n.items={anyOf:n.items}),n.type&&Array.isArray(n.type))if(t.patch){if(t.patches++,n.type.length===0)delete n.type;else{n.oneOf||(n.oneOf=[]);for(let i of n.type){let r={};if(i==="null")n.nullable=!0;else{r.type=i;for(let o of Ar.arrayProperties)typeof n.prop<"u"&&(r[o]=n[o],delete n[o])}r.type&&n.oneOf.push(r)}delete n.type,n.oneOf.length===0?delete n.oneOf:n.oneOf.length<2&&(n.type=n.oneOf[0].type,Object.keys(n.oneOf[0]).length>1&&Ya("Lost properties from oneOf",n,t),delete n.oneOf)}n.type&&Array.isArray(n.type)&&n.type.length===1&&(n.type=n.type[0])}else Il("(Patchable) schema type must not be an array",t);n.type&&n.type==="null"&&(delete n.type,n.nullable=!0),n.type==="array"&&!n.items&&(n.items={}),n.type==="file"&&(n.type="string",n.format="binary"),typeof n.required=="boolean"&&(n.required&&n.name&&(typeof e.required>"u"&&(e.required=[]),Array.isArray(e.required)&&e.required.push(n.name)),delete n.required),n.xml&&typeof n.xml.namespace=="string"&&(n.xml.namespace||delete n.xml.namespace),typeof n.allowEmptyValue<"u"&&(t.patches++,delete n.allowEmptyValue)}function sit(n,e){if(n["x-required"]&&Array.isArray(n["x-required"])&&(n.required||(n.required=[]),n.required=n.required.concat(n["x-required"]),delete n["x-required"]),n["x-anyOf"]&&(n.anyOf=n["x-anyOf"],delete n["x-anyOf"]),n["x-oneOf"]&&(n.oneOf=n["x-oneOf"],delete n["x-oneOf"]),n["x-not"]&&(n.not=n["x-not"],delete n["x-not"]),typeof n["x-nullable"]=="boolean"&&(n.nullable=n["x-nullable"],delete n["x-nullable"]),typeof n["x-discriminator"]=="object"&&typeof n["x-discriminator"].propertyName=="string"){n.discriminator=n["x-discriminator"],delete n["x-discriminator"];for(let t in n.discriminator.mapping){let i=n.discriminator.mapping[t];i.startsWith("#/definitions/")&&(n.discriminator.mapping[t]=i.replace("#/definitions/","#/components/schemas/"))}}}function gF(n,e){nit.walkSchema(n,{},{},function(t,i,r){sit(t),oit(t,i,e)})}function ait(n){return n.indexOf("#")>=0?n=n.split("#")[1].split("/").pop():n=n.split("/").pop().split(".")[0],encodeURIComponent(Ar.sanitise(n))}function lit(n,e,t){let i=t.payload.options;if(tit(n,e)){if(!n[e].startsWith("#/components/")){if(n[e]==="#/consumes")delete n[e],t.parent[t.pkey]=km(i.openapi.consumes);else if(n[e]==="#/produces")delete n[e],t.parent[t.pkey]=km(i.openapi.produces);else if(n[e].startsWith("#/definitions/")){let r=n[e].replace("#/definitions/","").split("/");const o=bg.jpunescape(r[0]);let s=j5.schemas[decodeURIComponent(o)];s?r[0]=s:Ya("Could not resolve reference "+n[e],n,i),n[e]="#/components/schemas/"+r.join("/")}else if(n[e].startsWith("#/parameters/"))n[e]="#/components/parameters/"+Ar.sanitise(n[e].replace("#/parameters/",""));else if(n[e].startsWith("#/responses/"))n[e]="#/components/responses/"+Ar.sanitise(n[e].replace("#/responses/",""));else if(n[e].startsWith("#")){let r=km(bg.jptr(i.openapi,n[e]));if(r===!1)Ya("direct $ref not found "+n[e],n,i);else if(i.refmap[n[e]])n[e]=i.refmap[n[e]];else{let o=n[e];o=o.replace("/properties/headers/",""),o=o.replace("/properties/responses/",""),o=o.replace("/properties/parameters/",""),o=o.replace("/properties/schemas/","");let s="schemas",a=o.lastIndexOf("/schema");if(s=o.indexOf("/headers/")>a?"headers":o.indexOf("/responses/")>a?"responses":o.indexOf("/example")>a?"examples":o.indexOf("/x-")>a?"extensions":o.indexOf("/parameters/")>a?"parameters":"schemas",s==="schemas"&&gF(r,i),s!=="responses"&&s!=="extensions"){let l=s.substr(0,s.length-1);l==="parameter"&&r.name&&r.name===Ar.sanitise(r.name)&&(l=encodeURIComponent(r.name));let u=1;for(n["x-miro"]&&(l=ait(n["x-miro"]),u="");bg.jptr(i.openapi,"#/components/"+s+"/"+l+u);)u=u===""?2:++u;let c="#/components/"+s+"/"+l+u,d="";s==="examples"&&(r={value:r},d="/value"),bg.jptr(i.openapi,c,r),i.refmap[n[e]]=c+d,n[e]=c+d}}}}if(delete n["x-miro"],Object.keys(n).length>1){const r=n[e],o=t.path.indexOf("/schema")>=0;i.refSiblings==="preserve"||(o&&i.refSiblings==="allOf"?(delete n.$ref,t.parent[t.pkey]={allOf:[{$ref:r},n]}):t.parent[t.pkey]={$ref:r})}}if(e==="x-ms-odata"&&typeof n[e]=="string"&&n[e].startsWith("#/")){let r=n[e].replace("#/definitions/","").replace("#/components/schemas/","").split("/"),o=j5.schemas[decodeURIComponent(r[0])];o?r[0]=o:Ya("Could not resolve reference "+n[e],n,i),n[e]="#/components/schemas/"+r.join("/")}}function uit(n,e){for(let t in e.refmap)bg.jptr(n,t,{$ref:e.refmap[t]})}function Xme(n){for(let e in n)for(let t in n[e]){let i=Ar.sanitise(t);t!==i&&(n[e][i]=n[e][t],delete n[e][t])}}function cit(n,e){if(n.type==="basic"&&(n.type="http",n.scheme="basic"),n.type==="oauth2"){let t={},i=n.flow;n.flow==="application"&&(i="clientCredentials"),n.flow==="accessCode"&&(i="authorizationCode"),typeof n.authorizationUrl<"u"&&(t.authorizationUrl=n.authorizationUrl.split("?")[0].trim()||"/"),typeof n.tokenUrl=="string"&&(t.tokenUrl=n.tokenUrl.split("?")[0].trim()||"/"),t.scopes=n.scopes||{},n.flows={},n.flows[i]=t,delete n.flow,delete n.authorizationUrl,delete n.tokenUrl,delete n.scopes,typeof n.name<"u"&&(e.patch?(e.patches++,delete n.name):Il("(Patchable) oauth2 securitySchemes should not have name property",e))}}function Pme(n){return n&&!n["x-s2o-delete"]}function Ome(n,e){if(n.$ref)n.$ref=n.$ref.replace("#/responses/","#/components/responses/");else{n.type&&!n.schema&&(n.schema={}),n.type&&(n.schema.type=n.type),n.items&&n.items.type!=="array"&&(n.items.collectionFormat!==n.collectionFormat&&Ya("Nested collectionFormats are not supported",n,e),delete n.items.collectionFormat),n.type==="array"?(n.collectionFormat==="ssv"?Ya("collectionFormat:ssv is no longer supported for headers",n,e):n.collectionFormat==="pipes"?Ya("collectionFormat:pipes is no longer supported for headers",n,e):n.collectionFormat==="multi"?n.explode=!0:n.collectionFormat==="tsv"?(Ya("collectionFormat:tsv is no longer supported",n,e),n["x-collectionFormat"]="tsv"):n.style="simple",delete n.collectionFormat):n.collectionFormat&&(e.patch?(e.patches++,delete n.collectionFormat):Il("(Patchable) collectionFormat is only applicable to header.type array",e)),delete n.type;for(let t of Ar.parameterTypeProperties)typeof n[t]<"u"&&(n.schema[t]=n[t],delete n[t]);for(let t of Ar.arrayProperties)typeof n[t]<"u"&&(n.schema[t]=n[t],delete n[t])}}function Bme(n,e){if(n.$ref.indexOf("#/parameters/")>=0){let t=n.$ref.split("#/parameters/");n.$ref=t[0]+"#/components/parameters/"+Ar.sanitise(t[1])}n.$ref.indexOf("#/definitions/")>=0&&Ya("Definition used as parameter",n,e)}function dit(n,e){let t={};for(let i of Object.keys(n))t[i]=n[i],i==="parameters"&&(t.requestBody={},e.rbname&&(t[e.rbname]=""));return t.requestBody={},t}function Q5(n,e,t,i,r,o,s){let a={},l=!0,u;if(e&&e.consumes&&typeof e.consumes=="string")if(s.patch)s.patches++,e.consumes=[e.consumes];else return Il("(Patchable) operation.consumes must be an array",s);Array.isArray(o.consumes)||delete o.consumes;let c=((e?e.consumes:null)||o.consumes||[]).filter(Ar.uniqueOnly);if(n&&n.$ref&&typeof n.$ref=="string"){Bme(n,s);let d=decodeURIComponent(n.$ref.replace("#/components/parameters/","")),h=!1,m=o.components.parameters[d];if((!m||m["x-s2o-delete"])&&n.$ref.startsWith("#/")&&(n["x-s2o-delete"]=!0,h=!0),h){let f=n.$ref,g=fF(o,n.$ref);!g&&f.startsWith("#/")?Ya("Could not resolve reference "+f,n,s):g&&(n=g)}}if(n&&(n.name||n.in)){typeof n["x-deprecated"]=="boolean"&&(n.deprecated=n["x-deprecated"],delete n["x-deprecated"]),typeof n["x-example"]<"u"&&(n.example=n["x-example"],delete n["x-example"]),n.in!=="body"&&!n.type&&(s.patch?(s.patches++,n.type="string"):Il("(Patchable) parameter.type is mandatory for non-body parameters",s)),n.type&&typeof n.type=="object"&&n.type.$ref&&(n.type=fF(o,n.type.$ref)),n.type==="file"&&(n["x-s2o-originalType"]=n.type,u=n.type),n.description&&typeof n.description=="object"&&n.description.$ref&&(n.description=fF(o,n.description.$ref)),n.description===null&&delete n.description;let d=n.collectionFormat;if(n.type==="array"&&!d&&(d="csv"),d&&(n.type!=="array"&&(s.patch?(s.patches++,delete n.collectionFormat):Il("(Patchable) collectionFormat is only applicable to param.type array",s)),d==="csv"&&(n.in==="query"||n.in==="cookie")&&(n.style="form",n.explode=!1),d==="csv"&&(n.in==="path"||n.in==="header")&&(n.style="simple"),d==="ssv"&&(n.in==="query"?n.style="spaceDelimited":Ya("collectionFormat:ssv is no longer supported except for in:query parameters",n,s)),d==="pipes"&&(n.in==="query"?n.style="pipeDelimited":Ya("collectionFormat:pipes is no longer supported except for in:query parameters",n,s)),d==="multi"&&(n.explode=!0),d==="tsv"&&(Ya("collectionFormat:tsv is no longer supported",n,s),n["x-collectionFormat"]="tsv"),delete n.collectionFormat),n.type&&n.type!=="body"&&n.in!=="formData")if(n.items&&n.schema)Ya("parameter has array,items and schema",n,s);else{n.schema&&s.patches++,(!n.schema||typeof n.schema!="object")&&(n.schema={}),n.schema.type=n.type,n.items&&(n.schema.items=n.items,delete n.items,J5(n.schema.items,null,function(h,m,f){m==="collectionFormat"&&typeof h[m]=="string"&&(d&&h[m]!==d&&Ya("Nested collectionFormats are not supported",n,s),delete h[m])}));for(let h of Ar.parameterTypeProperties)typeof n[h]<"u"&&(n.schema[h]=n[h]),delete n[h]}n.schema&&gF(n.schema,s),n["x-ms-skip-url-encoding"]&&n.in==="query"&&(n.allowReserved=!0,delete n["x-ms-skip-url-encoding"])}if(n&&n.in==="formData"){l=!1,a.content={};let d="application/x-www-form-urlencoded";if(c.length&&c.indexOf("multipart/form-data")>=0&&(d="multipart/form-data"),a.content[d]={},n.schema)a.content[d].schema=n.schema,n.schema.$ref&&(a["x-s2o-name"]=decodeURIComponent(n.schema.$ref.replace("#/components/schemas/","")));else{a.content[d].schema={},a.content[d].schema.type="object",a.content[d].schema.properties={},a.content[d].schema.properties[n.name]={};let h=a.content[d].schema,m=a.content[d].schema.properties[n.name];n.description&&(m.description=n.description),n.example&&(m.example=n.example),n.type&&(m.type=n.type);for(let f of Ar.parameterTypeProperties)typeof n[f]<"u"&&(m[f]=n[f]);n.required===!0&&(h.required||(h.required=[]),h.required.push(n.name),a.required=!0),typeof n.default<"u"&&(m.default=n.default),m.properties&&(m.properties=n.properties),n.allOf&&(m.allOf=n.allOf),n.type==="array"&&n.items&&(m.items=n.items,m.items.collectionFormat&&delete m.items.collectionFormat),(u==="file"||n["x-s2o-originalType"]==="file")&&(m.type="string",m.format="binary"),dz(n,m)}}else n&&n.type==="file"&&(n.required&&(a.required=n.required),a.content={},a.content["application/octet-stream"]={},a.content["application/octet-stream"].schema={},a.content["application/octet-stream"].schema.type="string",a.content["application/octet-stream"].schema.format="binary",dz(n,a));if(n&&n.in==="body"){a.content={},n.name&&(a["x-s2o-name"]=(e&&e.operationId?Ar.sanitiseAll(e.operationId):"")+("_"+n.name).toCamelCase()),n.description&&(a.description=n.description),n.required&&(a.required=n.required),e&&s.rbname&&n.name&&(e[s.rbname]=n.name),n.schema&&n.schema.$ref?a["x-s2o-name"]=decodeURIComponent(n.schema.$ref.replace("#/components/schemas/","")):n.schema&&n.schema.type==="array"&&n.schema.items&&n.schema.items.$ref&&(a["x-s2o-name"]=decodeURIComponent(n.schema.items.$ref.replace("#/components/schemas/",""))+"Array"),c.length||c.push("application/json");for(let d of c)a.content[d]={},a.content[d].schema=km(n.schema||{}),gF(a.content[d].schema,s);dz(n,a)}if(Object.keys(a).length>0&&(n["x-s2o-delete"]=!0,e))if(e.requestBody&&l){e.requestBody["x-s2o-overloaded"]=!0;let d=e.operationId||r;Ya("Operation "+d+" has multiple requestBodies",e,s)}else e.requestBody||(e=t[i]=dit(e,s)),e.requestBody.content&&e.requestBody.content["multipart/form-data"]&&e.requestBody.content["multipart/form-data"].schema&&e.requestBody.content["multipart/form-data"].schema.properties&&a.content["multipart/form-data"]&&a.content["multipart/form-data"].schema&&a.content["multipart/form-data"].schema.properties?(e.requestBody.content["multipart/form-data"].schema.properties=Object.assign(e.requestBody.content["multipart/form-data"].schema.properties,a.content["multipart/form-data"].schema.properties),e.requestBody.content["multipart/form-data"].schema.required=(e.requestBody.content["multipart/form-data"].schema.required||[]).concat(a.content["multipart/form-data"].schema.required||[]),e.requestBody.content["multipart/form-data"].schema.required.length||delete e.requestBody.content["multipart/form-data"].schema.required):e.requestBody.content&&e.requestBody.content["application/x-www-form-urlencoded"]&&e.requestBody.content["application/x-www-form-urlencoded"].schema&&e.requestBody.content["application/x-www-form-urlencoded"].schema.properties&&a.content["application/x-www-form-urlencoded"]&&a.content["application/x-www-form-urlencoded"].schema&&a.content["application/x-www-form-urlencoded"].schema.properties?(e.requestBody.content["application/x-www-form-urlencoded"].schema.properties=Object.assign(e.requestBody.content["application/x-www-form-urlencoded"].schema.properties,a.content["application/x-www-form-urlencoded"].schema.properties),e.requestBody.content["application/x-www-form-urlencoded"].schema.required=(e.requestBody.content["application/x-www-form-urlencoded"].schema.required||[]).concat(a.content["application/x-www-form-urlencoded"].schema.required||[]),e.requestBody.content["application/x-www-form-urlencoded"].schema.required.length||delete e.requestBody.content["application/x-www-form-urlencoded"].schema.required):(e.requestBody=Object.assign(e.requestBody,a),e.requestBody["x-s2o-name"]||(e.requestBody.schema&&e.requestBody.schema.$ref?e.requestBody["x-s2o-name"]=decodeURIComponent(e.requestBody.schema.$ref.replace("#/components/schemas/","")).split("/").join(""):e.operationId&&(e.requestBody["x-s2o-name"]=Ar.sanitiseAll(e.operationId))));if(n&&!n["x-s2o-delete"]){delete n.type;for(let d of Ar.parameterTypeProperties)delete n[d];n.in==="path"&&(typeof n.required>"u"||n.required!==!0)&&(s.patch?(s.patches++,n.required=!0):Il("(Patchable) path parameters must be required:true ["+n.name+" in "+r+"]",s))}return e}function dz(n,e){for(let t in n)t.startsWith("x-")&&!t.startsWith("x-s2o")&&(e[t]=n[t])}function zme(n,e,t,i,r){if(!n)return!1;if(n.$ref&&typeof n.$ref=="string")n.$ref.indexOf("#/definitions/")>=0?Ya("definition used as response: "+n.$ref,n,r):n.$ref.startsWith("#/responses/")&&(n.$ref="#/components/responses/"+Ar.sanitise(decodeURIComponent(n.$ref.replace("#/responses/",""))));else{if((typeof n.description>"u"||n.description===null||n.description===""&&r.patch)&&(r.patch?typeof n=="object"&&!Array.isArray(n)&&(r.patches++,n.description=iit[n]||""):Il("(Patchable) response.description is mandatory",r)),typeof n.schema<"u"){if(gF(n.schema,r),n.schema.$ref&&typeof n.schema.$ref=="string"&&n.schema.$ref.startsWith("#/responses/")&&(n.schema.$ref="#/components/responses/"+Ar.sanitise(decodeURIComponent(n.schema.$ref.replace("#/responses/","")))),t&&t.produces&&typeof t.produces=="string")if(r.patch)r.patches++,t.produces=[t.produces];else return Il("(Patchable) operation.produces must be an array",r);i.produces&&!Array.isArray(i.produces)&&delete i.produces;let o=((t?t.produces:null)||i.produces||[]).filter(Ar.uniqueOnly);o.length||o.push("*/*"),n.content={};for(let s of o){if(n.content[s]={},n.content[s].schema=km(n.schema),n.examples&&n.examples[s]){let a={};a.value=n.examples[s],n.content[s].examples={},n.content[s].examples.response=a,delete n.examples[s]}n.content[s].schema.type==="file"&&(n.content[s].schema={type:"string",format:"binary"})}delete n.schema}for(let o in n.examples)n.content||(n.content={}),n.content[o]||(n.content[o]={}),n.content[o].examples={},n.content[o].examples.response={},n.content[o].examples.response.value=n.examples[o];if(delete n.examples,n.headers)for(let o in n.headers)o.toLowerCase()==="status code"?r.patch?(r.patches++,delete n.headers[o]):Il('(Patchable) "Status Code" is not a valid header',r):Ome(n.headers[o],r)}}function Hme(n,e,t,i,r){for(let o in n){let s=n[o];s&&s["x-trace"]&&typeof s["x-trace"]=="object"&&(s.trace=s["x-trace"],delete s["x-trace"]),s&&s["x-summary"]&&typeof s["x-summary"]=="string"&&(s.summary=s["x-summary"],delete s["x-summary"]),s&&s["x-description"]&&typeof s["x-description"]=="string"&&(s.description=s["x-description"],delete s["x-description"]),s&&s["x-servers"]&&Array.isArray(s["x-servers"])&&(s.servers=s["x-servers"],delete s["x-servers"]);for(let a in s)if(Ar.httpMethods.indexOf(a)>=0||a==="x-amazon-apigateway-any-method"){let l=s[a];if(l&&l.parameters&&Array.isArray(l.parameters)){if(s.parameters)for(let u of s.parameters)typeof u.$ref=="string"&&(Bme(u,t),u=fF(r,u.$ref)),!l.parameters.find(function(d,h,m){return d.name===u.name&&d.in===u.in})&&(u.in==="formData"||u.in==="body"||u.type==="file")&&(l=Q5(u,l,s,a,o,r,t),t.rbname&&l[t.rbname]===""&&delete l[t.rbname]);for(let u of l.parameters)l=Q5(u,l,s,a,a+":"+o,r,t);t.rbname&&l[t.rbname]===""&&delete l[t.rbname],t.debug||l.parameters&&(l.parameters=l.parameters.filter(Pme))}if(l&&l.security&&Xme(l.security),typeof l=="object"){if(!l.responses){let u={};u.description="Default response",l.responses={default:u}}for(let u in l.responses){let c=l.responses[u];zme(c,u,l,r,t)}}if(l&&l["x-servers"]&&Array.isArray(l["x-servers"]))l.servers=l["x-servers"],delete l["x-servers"];else if(l&&l.schemes&&l.schemes.length){for(let u of l.schemes)if((!r.schemes||r.schemes.indexOf(u)<0)&&(l.servers||(l.servers=[]),Array.isArray(r.servers)))for(let c of r.servers){let d=km(c),h=qnt.parse(d.url);h.protocol=u,d.url=h.format(),l.servers.push(d)}}if(t.debug&&(l["x-s2o-consumes"]=l.consumes||[],l["x-s2o-produces"]=l.produces||[]),l){if(delete l.consumes,delete l.produces,delete l.schemes,l["x-ms-examples"]){for(let u in l["x-ms-examples"]){let c=l["x-ms-examples"][u],d=Ar.sanitiseAll(u);if(c.parameters)for(let h in c.parameters){let m=c.parameters[h];for(let f of(l.parameters||[]).concat(s.parameters||[]))f.$ref&&(f=bg.jptr(r,f.$ref)),f.name===h&&!f.example&&(f.examples||(f.examples={}),f.examples[u]={value:m})}if(c.responses)for(let h in c.responses){if(c.responses[h].headers)for(let m in c.responses[h].headers){let f=c.responses[h].headers[m];for(let g in l.responses[h].headers)if(g===m){let b=l.responses[h].headers[g];b.example=f}}if(c.responses[h].body&&(r.components.examples[d]={value:km(c.responses[h].body)},l.responses[h]&&l.responses[h].content))for(let m in l.responses[h].content){let f=l.responses[h].content[m];f.examples||(f.examples={}),f.examples[u]={$ref:"#/components/examples/"+d}}}}delete l["x-ms-examples"]}if(l.parameters&&l.parameters.length===0&&delete l.parameters,l.requestBody){let u=l.operationId?Ar.sanitiseAll(l.operationId):Ar.sanitiseAll(a+o).toCamelCase(),c=Ar.sanitise(l.requestBody["x-s2o-name"]||u||"");delete l.requestBody["x-s2o-name"];let d=JSON.stringify(l.requestBody),h=Ar.hash(d);if(!i[h]){let f={};f.name=c,f.body=l.requestBody,f.refs=[],i[h]=f}let m="#/"+e+"/"+encodeURIComponent(bg.jpescape(o))+"/"+a+"/requestBody";i[h].refs.push(m)}}}if(s&&s.parameters){for(let a in s.parameters){let l=s.parameters[a];Q5(l,null,s,null,o,r,t)}!t.debug&&Array.isArray(s.parameters)&&(s.parameters=s.parameters.filter(Pme))}}}function hit(n,e){let t={};j5={schemas:{}},n.security&&Xme(n.security);for(let r in n.components.securitySchemes){let o=Ar.sanitise(r);r!==o&&(n.components.securitySchemes[o]&&Il("Duplicate sanitised securityScheme name "+o,e),n.components.securitySchemes[o]=n.components.securitySchemes[r],delete n.components.securitySchemes[r]),cit(n.components.securitySchemes[o],e)}for(let r in n.components.schemas){let o=Ar.sanitiseAll(r),s="";if(r!==o){for(;n.components.schemas[o+s];)s=s?++s:2;n.components.schemas[o+s]=n.components.schemas[r],delete n.components.schemas[r]}j5.schemas[r]=o+s,gF(n.components.schemas[o+s],e)}e.refmap={},J5(n,{payload:{options:e}},lit),uit(n,e);for(let r in n.components.parameters){let o=Ar.sanitise(r);r!==o&&(n.components.parameters[o]&&Il("Duplicate sanitised parameter name "+o,e),n.components.parameters[o]=n.components.parameters[r],delete n.components.parameters[r]);let s=n.components.parameters[o];Q5(s,null,null,null,o,n,e)}for(let r in n.components.responses){let o=Ar.sanitise(r);r!==o&&(n.components.responses[o]&&Il("Duplicate sanitised response name "+o,e),n.components.responses[o]=n.components.responses[r],delete n.components.responses[r]);let s=n.components.responses[o];if(zme(s,o,null,n,e),s.headers)for(let a in s.headers)a.toLowerCase()==="status code"?e.patch?(e.patches++,delete s.headers[a]):Il('(Patchable) "Status Code" is not a valid header',e):Ome(s.headers[a],e)}for(let r in n.components.requestBodies){let o=n.components.requestBodies[r],s=JSON.stringify(o),a=Ar.hash(s),l={};l.name=r,l.body=o,l.refs=[],t[a]=l}if(Hme(n.paths,"paths",e,t,n),n["x-ms-paths"]&&Hme(n["x-ms-paths"],"x-ms-paths",e,t,n),!e.debug)for(let r in n.components.parameters)n.components.parameters[r]["x-s2o-delete"]&&delete n.components.parameters[r];e.debug&&(n["x-s2o-consumes"]=n.consumes||[],n["x-s2o-produces"]=n.produces||[]),delete n.consumes,delete n.produces,delete n.schemes;let i=[];if(n.components.requestBodies={},!e.resolveInternal){let r=1;for(let o in t){let s=t[o];if(s.refs.length>1){let a="";for(s.name||(s.name="requestBody",a=r++);i.indexOf(s.name+a)>=0;)a=a?++a:2;s.name=s.name+a,i.push(s.name),n.components.requestBodies[s.name]=km(s.body);for(let l in s.refs){let u={};u.$ref="#/components/requestBodies/"+s.name,bg.jptr(n,s.refs[l],u)}}}}return n.components.responses&&Object.keys(n.components.responses).length===0&&delete n.components.responses,n.components.parameters&&Object.keys(n.components.parameters).length===0&&delete n.components.parameters,n.components.examples&&Object.keys(n.components.examples).length===0&&delete n.components.examples,n.components.requestBodies&&Object.keys(n.components.requestBodies).length===0&&delete n.components.requestBodies,n.components.securitySchemes&&Object.keys(n.components.securitySchemes).length===0&&delete n.components.securitySchemes,n.components.headers&&Object.keys(n.components.headers).length===0&&delete n.components.headers,n.components.schemas&&Object.keys(n.components.schemas).length===0&&delete n.components.schemas,n.components&&Object.keys(n.components).length===0&&delete n.components,n}function Yme(n){return!n||!n.url||typeof n.url!="string"||(n.url=n.url.split("{{").join("{"),n.url=n.url.split("}}").join("}"),n.url.replace(/\{(.+?)\}/g,function(e,t){n.variables||(n.variables={}),n.variables[t]={default:"unknown"}})),n}function Ume(n,e,t){if(typeof n.info>"u"||n.info===null)if(e.patch)e.patches++,n.info={version:"",title:""};else return t(new Tu("(Patchable) info object is mandatory"));if(typeof n.info!="object"||Array.isArray(n.info))return t(new Tu("info must be an object"));if(typeof n.info.title>"u"||n.info.title===null)if(e.patch)e.patches++,n.info.title="";else return t(new Tu("(Patchable) info.title cannot be null"));if(typeof n.info.version>"u"||n.info.version===null)if(e.patch)e.patches++,n.info.version="";else return t(new Tu("(Patchable) info.version cannot be null"));if(typeof n.info.version!="string")if(e.patch)e.patches++,n.info.version=n.info.version.toString();else return t(new Tu("(Patchable) info.version must be a string"));if(typeof n.info.logo<"u")if(e.patch)e.patches++,n.info["x-logo"]=n.info.logo,delete n.info.logo;else return t(new Tu("(Patchable) info should not have logo property"));if(typeof n.info.termsOfService<"u"){if(n.info.termsOfService===null)if(e.patch)e.patches++,n.info.termsOfService="";else return t(new Tu("(Patchable) info.termsOfService cannot be null"));try{let i=new URL(n.info.termsOfService)}catch{if(e.patch)e.patches++,delete n.info.termsOfService;else return t(new Tu("(Patchable) info.termsOfService must be a URL"))}}}function Kme(n,e,t){if(typeof n.paths>"u")if(e.patch)e.patches++,n.paths={};else return t(new Tu("(Patchable) paths object is mandatory"))}function mit(n,e){const t=new WeakSet;J5(n,{identityDetection:!0},function(i,r,o){typeof i[r]=="object"&&i[r]!==null&&(t.has(i[r])?e.anchors?i[r]=km(i[r]):Il("YAML anchor or merge key at "+o.path,e):t.add(i[r]))})}function hz(n,e,t){return mF(t,new Promise(function(i,r){if(n||(n={}),e.original=n,e.text||(e.text=Rme.stringify(n)),e.externals=[],e.externalRefs={},e.rewriteRefs=!0,e.preserveMiro=!0,e.promise={},e.promise.resolve=i,e.promise.reject=r,e.patches=0,e.cache||(e.cache={}),e.source&&(e.cache[e.source]=e.original),mit(n,e),n.openapi&&typeof n.openapi=="string"&&n.openapi.startsWith("3.")){e.openapi=Vme(n),Ume(e.openapi,e,r),Kme(e.openapi,e,r),Ame.optionalResolve(e).then(function(){return e.direct?i(e.openapi):i(e)}).catch(function(s){r(s)});return}if(!n.swagger||n.swagger!="2.0")return r(new Tu("Unsupported swagger/OpenAPI version: "+(n.openapi?n.openapi:n.swagger)));let o=e.openapi={};if(o.openapi=typeof e.targetVersion=="string"&&e.targetVersion.startsWith("3.")?e.targetVersion:Gme,e.origin){o["x-origin"]||(o["x-origin"]=[]);let s={};s.url=e.source||e.origin,s.format="swagger",s.version=n.swagger,s.converter={},s.converter.url="https://github.com/mermade/oas-kit",s.converter.version=rit,o["x-origin"].push(s)}if(o=Object.assign(o,Vme(n)),delete o.swagger,J5(o,{},function(s,a,l){s[a]===null&&!a.startsWith("x-")&&a!=="default"&&l.path.indexOf("/example")<0&&delete s[a]}),n.host)for(let s of Array.isArray(n.schemes)?n.schemes:[""]){let a={},l=(n.basePath||"").replace(/\/$/,"");a.url=(s?s+":":"")+"//"+n.host+l,Yme(a),o.servers||(o.servers=[]),o.servers.push(a)}else if(n.basePath){let s={};s.url=n.basePath,Yme(s),o.servers||(o.servers=[]),o.servers.push(s)}if(delete o.host,delete o.basePath,o["x-servers"]&&Array.isArray(o["x-servers"])&&(o.servers=o["x-servers"],delete o["x-servers"]),n["x-ms-parameterized-host"]){let s=n["x-ms-parameterized-host"],a={};a.url=s.hostTemplate+(n.basePath?n.basePath:""),a.variables={};const l=a.url.match(/\{\w+\}/g);for(let u in s.parameters){let c=s.parameters[u];c.$ref&&(c=km(fF(o,c.$ref))),u.startsWith("x-")||(delete c.required,delete c.type,delete c.in,typeof c.default>"u"&&(c.enum?c.default=c.enum[0]:c.default="none"),c.name||(c.name=l[u].replace("{","").replace("}","")),a.variables[c.name]=c,delete c.name)}o.servers||(o.servers=[]),s.useSchemePrefix===!1?o.servers.push(a):n.schemes.forEach(u=>{o.servers.push(Object.assign({},a,{url:u+"://"+a.url}))}),delete o["x-ms-parameterized-host"]}Ume(o,e,r),Kme(o,e,r),typeof o.consumes=="string"&&(o.consumes=[o.consumes]),typeof o.produces=="string"&&(o.produces=[o.produces]),o.components={},o["x-callbacks"]&&(o.components.callbacks=o["x-callbacks"],delete o["x-callbacks"]),o.components.examples={},o.components.headers={},o["x-links"]&&(o.components.links=o["x-links"],delete o["x-links"]),o.components.parameters=o.parameters||{},o.components.responses=o.responses||{},o.components.requestBodies={},o.components.securitySchemes=o.securityDefinitions||{},o.components.schemas=o.definitions||{},delete o.definitions,delete o.responses,delete o.parameters,delete o.securityDefinitions,Ame.optionalResolve(e).then(function(){hit(e.openapi,e),e.direct?i(e.openapi):i(e)}).catch(function(s){r(s)})}))}function $5(n,e,t){return mF(t,new Promise(function(i,r){let o=null,s=null;try{o=JSON.parse(n),e.text=JSON.stringify(o,null,2)}catch(a){s=a;try{o=Rme.parse(n,{schema:"core",prettyErrors:!0}),e.sourceYaml=!0,e.text=n}catch(l){s=l}}o?hz(o,e).then(a=>i(a)).catch(a=>r(a)):r(new Tu(s?s.message:"Could not parse string"))}))}function fit(n,e,t){return mF(t,new Promise(function(i,r){e.origin=!0,e.source||(e.source=n),e.verbose,e.fetch||(e.fetch=eit);const o=Object.assign({},e.fetchOptions,{agent:e.agent});e.fetch(n,o).then(function(s){if(s.status!==200)throw new Tu(`Received status code ${s.status}: ${n}`);return s.text()}).then(function(s){$5(s,e).then(a=>i(a)).catch(a=>r(a))}).catch(function(s){r(s)})}))}function git(n,e,t){return mF(t,new Promise(function(i,r){$nt.readFile(n,e.encoding||"utf8",function(o,s){o?r(o):(e.sourceFile=n,$5(s,e).then(a=>i(a)).catch(a=>r(a)))})}))}function pit(n,e,t){return mF(t,new Promise(function(i,r){let o="";n.on("data",function(s){o+=s}).on("end",function(){$5(o,e).then(s=>i(s)).catch(s=>r(s))})}))}var bit={S2OError:Tu,targetVersion:Gme,convert:hz,convertObj:hz,convertUrl:fit,convertStr:$5,convertFile:git,convertStream:pit};function vit(n){return new Promise((e,t)=>{const i=new FileReader;i.onload=function(r){var s;const o=(s=r.target)==null?void 0:s.result;o?e(o):t("error")},i.readAsText(n,"utf-8")})}function Jme(n){try{return JSON.parse(n),!0}catch{return!1}}function mz(n){return n.swagger?new Promise((e,t)=>{const i={patch:!0,warnOnly:!0,resolveInternal:!0};bit.convertObj(n,i,function(r,o){if(r){t(r);return}o.openapi["x-original-swagger-version"]=o.original.swagger,e({openapi:o.openapi})})}):n}async function pF(n){let e={};if(fs(n)){if(e=n,!e.openapi){const t=await mz(e)||{};Is(t.openapi)||(e=t.openapi)}}else if(Jme(n)){if(e=JSON.parse(n),!e.openapi){const t=await mz(e)||{};Is(t.openapi)||(e=t.openapi)}}else if(e=Uet(n),!e.openapi){const t=await mz(e)||{};Is(t.openapi)||(e=t.openapi)}return e}const yit=(n,e,t)=>(i,r)=>{const o=t.operationId||encodeURIComponent(`${n}#${e}`);return pde(i,{[o]:{...t,group:r,method:Sc(e),path:n}})};function bF(n){return bh(n,(e,t,i)=>bh(t,(r,o,s)=>bh(o.tags||[""],yit(i,s,{...o}),r),e),{})}function Cit(){const{updateOpenapiWithServiceInfo:n}=Sm(),{updateConfigInfo:e}=gh();w.useEffect(()=>{const i=document.getElementById("openapi-ui-container"),r=i==null?void 0:i.getAttribute("spec-url"),o=i==null?void 0:i.getAttribute("theme");r&&t(r),o&&e({theme:o})},[]);async function t(i){const r=await Q_({url:i});if((r==null?void 0:r.status)>=200&&(r==null?void 0:r.status)<300){const o=await pF(r.data),s={serviceURL:i,importModeType:vd.url,openapi:o,operations:bF(o.paths||{})};n(s)}}return null}/** +`}}]),n}();Ll(rz,"defaults",fme);function int(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,t=arguments.length>2?arguments[2]:void 0;t===void 0&&typeof e=="string"&&(t=e,e=!0);var i=Object.assign({},rz.defaults[P5.version],P5),r=new cI(i);return r.createNode(n,e,t)}var B5=function(n){co(t,n);var e=ho(t);function t(i){return hr(this,t),e.call(this,Object.assign({},P5,i))}return t}(rz);function rnt(n,e){var t=[],i,r=mo(JB(n)),o;try{for(r.s();!(o=r.n()).done;){var s=o.value,a=new B5(e);a.parse(s,i),t.push(a),i=a}}catch(l){r.e(l)}finally{r.f()}return t}function pme(n,e){var t=JB(n),i=new B5(e).parse(t[0]);if(t.length>1){var r="Source contains multiple documents; please use YAML.parseAllDocuments()";i.errors.unshift(new Ii(t[1],r))}return i}function ont(n,e){var t=pme(n,e);if(t.warnings.forEach(function(i){return eme(i)}),t.errors.length>0)throw t.errors[0];return t.toJSON()}function snt(n,e){var t=new B5(e);return t.contents=n,String(t)}var ant={createNode:int,defaultOptions:P5,Document:B5,parse:ont,parseAllDocuments:rnt,parseCST:JB,parseDocument:pme,scalarOptions:Utt,stringify:snt},bme=Uee(Object.freeze(Object.defineProperty({__proto__:null,YAML:ant},Symbol.toStringTag,{value:"Module"}))).YAML;function lnt(n){return n.replace(/\~/g,"~0").replace(/\//g,"~1")}function yme(n){return n.replace(/\~1/g,"/").replace(/~0/g,"~")}function unt(n,e,t){if(typeof n>"u")return!1;if(!e||typeof e!="string"||e==="#")return typeof t<"u"?t:n;if(e.indexOf("#")>=0){let r=e.split("#");if(r[0])return!1;e=r[1],e=decodeURIComponent(e.slice(1).split("+").join(" "))}e.startsWith("/")&&(e=e.slice(1));let i=e.split("/");for(let r=0;r0?i[r-1]:"",s!=-1||n&&n.hasOwnProperty(i[r]))if(s>=0)o&&(n[s]=t),n=n[s];else{if(s===-2)return o?(Array.isArray(n)&&n.push(t),t):void 0;o&&(n[i[r]]=t),n=n[i[r]]}else if(typeof t<"u"&&typeof n=="object"&&!Array.isArray(n))n[i[r]]=o?t:i[r+1]==="0"||i[r+1]==="-"?[]:{},n=n[i[r]];else return!1}return n}var z5={jptr:unt,jpescape:lnt,jpunescape:yme};function cnt(n,e){return e==="$ref"&&!!n&&typeof n[e]=="string"}var oz={isRef:cnt};function dnt(n){return n}function hnt(n){return JSON.parse(JSON.stringify(n))}function mnt(n){let e={};for(let t in n)n.hasOwnProperty(t)&&(e[t]=n[t]);return e}function vme(n){let e=Array.isArray(n)?[]:{};for(let t in n)(n.hasOwnProperty(t)||Array.isArray(n))&&(e[t]=typeof n[t]=="object"?vme(n[t]):n[t]);return e}function fnt(n){return Object.assign({},n)}function Cme(n,e){if(e||(e=new WeakMap),Object(n)!==n||n instanceof Function)return n;if(e.has(n))return e.get(n);try{var t=new n.constructor}catch{t=Object.create(Object.getPrototypeOf(n))}return e.set(n,t),Object.assign(t,...Object.keys(n).map(i=>({[i]:Cme(n[i],e)})))}var H5={nop:dnt,clone:hnt,shallowClone:mnt,deepClone:vme,fastClone:fnt,circularClone:Cme};const gnt=z5.jpescape;function pnt(){return{path:"#",depth:0,pkey:"",parent:{},payload:{},seen:new WeakMap,identity:!1,identityDetection:!1}}function Sme(n,e,t){if(e||(e={depth:0}),e.depth||(e=Object.assign({},pnt(),e)),typeof n!="object")return;let i=e.path;for(let r in n){if(e.key=r,e.path=e.path+"/"+encodeURIComponent(gnt(r)),e.identityPath=e.seen.get(n[r]),e.identity=typeof e.identityPath<"u",n.hasOwnProperty(r)&&t(n,r,e),typeof n[r]=="object"&&!e.identity){e.identityDetection&&!Array.isArray(n[r])&&n[r]!==null&&e.seen.set(n[r],e.path);let o={};o.parent=n,o.path=e.path,o.depth=e.depth?e.depth+1:1,o.pkey=r,o.payload=e.payload,o.seen=e.seen,o.identity=!1,o.identityDetection=e.identityDetection,Sme(n[r],o,t)}e.path=i}}var sz={recurse:Sme};const bnt=sz.recurse,wme=H5.shallowClone,dI=z5.jptr,ynt=oz.isRef;var vnt=function(n){return n&&n.verbose?{warn:function(){var e=Array.prototype.slice.call(arguments)}}:{warn:function(){}}};function xme(n,e,t){t||(t={}),t.cache||(t.cache={}),t.state||(t.state={}),t.state.identityDetection=!0,t.depth=t.depth?t.depth+1:1;let i=t.depth>1?n:wme(n),r={data:i},o=t.depth>1?e:wme(e);t.master||(t.master=i);let s=vnt(t),a=1;for(;a>0;)a=0,bnt(r,t.state,function(l,u,c){if(ynt(l,u)){let d=l[u];if(a++,t.cache[d]){let h=t.cache[d];if(h.resolved)s.warn("Patching %s for %s",d,h.path),c.parent[c.pkey]=h.data,t.$ref&&typeof c.parent[c.pkey]=="object"&&c.parent[c.pkey]!==null&&(c.parent[c.pkey][t.$ref]=d);else{if(d===h.path)throw new Error(`Tight circle at ${h.path}`);s.warn("Unresolved ref"),c.parent[c.pkey]=dI(h.source,h.path),c.parent[c.pkey]===!1&&(c.parent[c.pkey]=dI(h.source,h.key)),t.$ref&&typeof c.parent[c.pkey]=="object"&&c.parent[c.pkey]!==null&&(c.parent[t.$ref]=d)}}else{let h={};h.path=c.path.split("/$ref")[0],h.key=d,s.warn("Dereffing %s at %s",d,h.path),h.source=o,h.data=dI(h.source,h.key),h.data===!1&&(h.data=dI(t.master,h.key),h.source=t.master),h.data===!1&&s.warn("Missing $ref target",h.key),t.cache[d]=h,h.data=c.parent[c.pkey]=xme(dI(h.source,h.key),h.source,t),t.$ref&&typeof c.parent[c.pkey]=="object"&&c.parent[c.pkey]!==null&&(c.parent[c.pkey][t.$ref]=d),h.resolved=!0}}});return r.data}var Cnt={dereference:xme},Snt=hI;hI.default=hI,hI.stable=Ime,hI.stableStringify=Ime;var Y5="[...]",_me="[Circular]",Ny=[],My=[];function Lme(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function hI(n,e,t,i){typeof i>"u"&&(i=Lme()),az(n,"",0,[],void 0,0,i);var r;try{My.length===0?r=JSON.stringify(n,e,t):r=JSON.stringify(n,Fme(e),t)}catch{return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;Ny.length!==0;){var o=Ny.pop();o.length===4?Object.defineProperty(o[0],o[1],o[3]):o[0][o[1]]=o[2]}}return r}function HS(n,e,t,i){var r=Object.getOwnPropertyDescriptor(i,t);r.get!==void 0?r.configurable?(Object.defineProperty(i,t,{value:n}),Ny.push([i,t,e,r])):My.push([e,t,n]):(i[t]=n,Ny.push([i,t,e]))}function az(n,e,t,i,r,o,s){o+=1;var a;if(typeof n=="object"&&n!==null){for(a=0;as.depthLimit){HS(Y5,n,e,r);return}if(typeof s.edgesLimit<"u"&&t+1>s.edgesLimit){HS(Y5,n,e,r);return}if(i.push(n),Array.isArray(n))for(a=0;ae?1:0}function Ime(n,e,t,i){typeof i>"u"&&(i=Lme());var r=lz(n,"",0,[],void 0,0,i)||n,o;try{My.length===0?o=JSON.stringify(r,e,t):o=JSON.stringify(r,Fme(e),t)}catch{return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;Ny.length!==0;){var s=Ny.pop();s.length===4?Object.defineProperty(s[0],s[1],s[3]):s[0][s[1]]=s[2]}}return o}function lz(n,e,t,i,r,o,s){o+=1;var a;if(typeof n=="object"&&n!==null){for(a=0;as.depthLimit){HS(Y5,n,e,r);return}if(typeof s.edgesLimit<"u"&&t+1>s.edgesLimit){HS(Y5,n,e,r);return}if(i.push(n),Array.isArray(n))for(a=0;a0)for(var i=0;i=20.0.0",GRADLE_HOME:"/usr/share/gradle-8.7",ANDROID_NDK_LATEST_HOME:"/usr/local/lib/android/sdk/ndk/26.3.11579264",JAVA_HOME_21_X64:"/usr/lib/jvm/temurin-21-jdk-amd64",STATS_RDCL:"true",GITHUB_RETENTION_DAYS:"90",GITHUB_REPOSITORY_OWNER_ID:"22948077",POWERSHELL_DISTRIBUTION_CHANNEL:"GitHub-Actions-ubuntu22",AZURE_EXTENSION_DIR:"/opt/az/azcliextensions",GITHUB_HEAD_REF:"",npm_config_local_prefix:"/home/runner/work/openapi-ui/openapi-ui",SYSTEMD_EXEC_PID:"591",GITHUB_GRAPHQL_URL:"https://api.github.com/graphql",COLOR:"0",GOROOT_1_20_X64:"/opt/hostedtoolcache/go/1.20.14/x64",NVM_DIR:"/home/runner/.nvm",DOTNET_SKIP_FIRST_TIME_EXPERIENCE:"1",GOROOT_1_21_X64:"/opt/hostedtoolcache/go/1.21.9/x64",JAVA_HOME_17_X64:"/usr/lib/jvm/temurin-17-jdk-amd64",ImageVersion:"20240422.1.0",RUNNER_OS:"Linux",GITHUB_API_URL:"https://api.github.com",GOROOT_1_22_X64:"/opt/hostedtoolcache/go/1.22.2/x64",SWIFT_PATH:"/usr/share/swift/usr/bin",RUNNER_USER:"runner",STATS_V3PS:"true",CHROMEWEBDRIVER:"/usr/local/share/chromedriver-linux64",JOURNAL_STREAM:"8:17399",GITHUB_WORKFLOW:"Publish Package CI",_:"/opt/hostedtoolcache/node/18.20.2/x64/bin/npm",npm_config_prefix:"/opt/hostedtoolcache/node/18.20.2/x64",npm_config_npm_version:"10.5.0",ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE:"/opt/actionarchivecache",STATS_D:"true",GITHUB_RUN_ID:"9034363565",STATS_VMFE:"true",npm_config_cache:"/home/runner/.npm",GITHUB_REF_TYPE:"tag",BOOTSTRAP_HASKELL_NONINTERACTIVE:"1",GITHUB_WORKFLOW_SHA:"7d06aa5962e2854267496af964903729ea3712ea",GITHUB_BASE_REF:"",ImageOS:"ubuntu22",GITHUB_WORKFLOW_REF:"rookie-luochao/openapi-ui/.github/workflows/publish-package-ci.yml@refs/tags/v2.2.1",PERFLOG_LOCATION_SETTING:"RUNNER_PERFLOG",GITHUB_ACTION_REPOSITORY:"",npm_config_node_gyp:"/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",PATH:"/home/runner/work/openapi-ui/openapi-ui/node_modules/.bin:/home/runner/work/openapi-ui/node_modules/.bin:/home/runner/work/node_modules/.bin:/home/runner/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin",ANT_HOME:"/usr/share/ant",DOTNET_MULTILEVEL_LOOKUP:"0",RUNNER_TRACKING_ID:"github_8e3f06e2-01ee-4dd3-8ff0-4ad90f0f5f28",INVOCATION_ID:"d0057c0943174c4e95e299688b270680",NPM_CONFIG_USERCONFIG:"/home/runner/work/_temp/.npmrc",RUNNER_TOOL_CACHE:"/opt/hostedtoolcache",NODE:"/opt/hostedtoolcache/node/18.20.2/x64/bin/node",npm_package_name:"openapi-ui-dist",GITHUB_ACTION:"__run_3",GITHUB_RUN_NUMBER:"5",GITHUB_TRIGGERING_ACTOR:"rookie-luochao",RUNNER_ARCH:"X64",XDG_RUNTIME_DIR:"/run/user/1001",AGENT_TOOLSDIRECTORY:"/opt/hostedtoolcache",LANG:"C.UTF-8",VCPKG_INSTALLATION_ROOT:"/usr/local/share/vcpkg",CONDA:"/usr/share/miniconda",RUNNER_NAME:"GitHub Actions 19",XDG_CONFIG_HOME:"/home/runner/.config",STATS_VMD:"true",GITHUB_REF_NAME:"v2.2.1",GITHUB_REPOSITORY:"rookie-luochao/openapi-ui",STATS_D_D:"true",npm_lifecycle_script:"tsc && vite build --config vite.package.config.ts --mode package",STATS_UE:"true",ANDROID_NDK_ROOT:"/usr/local/lib/android/sdk/ndk/25.2.9519653",GITHUB_ACTION_REF:"",DEBIAN_FRONTEND:"noninteractive",GITHUB_REPOSITORY_ID:"733969338",GITHUB_ACTIONS:"true",npm_package_version:"2.2.1",npm_lifecycle_event:"build:package",NODE_PATH:"/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules/vite/bin/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules/vite/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/node_modules",GITHUB_REF_PROTECTED:"false",GITHUB_WORKSPACE:"/home/runner/work/openapi-ui/openapi-ui",ACCEPT_EULA:"Y",GITHUB_JOB:"build",RUNNER_PERFLOG:"/home/runner/perflog",GITHUB_SHA:"7d06aa5962e2854267496af964903729ea3712ea",GITHUB_RUN_ATTEMPT:"1",GITHUB_REF:"refs/tags/v2.2.1",GITHUB_ACTOR:"rookie-luochao",ANDROID_SDK_ROOT:"/usr/local/lib/android/sdk",LEIN_HOME:"/usr/local/lib/lein",npm_config_globalconfig:"/opt/hostedtoolcache/node/18.20.2/x64/etc/npmrc",npm_config_init_module:"/home/runner/.npm-init.js",GITHUB_PATH:"/home/runner/work/_temp/_runner_file_commands/add_path_1db24d99-745b-44e6-9118-92da7729c914",JAVA_HOME:"/usr/lib/jvm/temurin-11-jdk-amd64",PWD:"/home/runner/work/openapi-ui/openapi-ui",GITHUB_ACTOR_ID:"22948077",RUNNER_WORKSPACE:"/home/runner/work/openapi-ui",npm_execpath:"/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/bin/npm-cli.js",HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS:"3650",GITHUB_EVENT_NAME:"push",HOMEBREW_NO_AUTO_UPDATE:"1",ANDROID_HOME:"/usr/local/lib/android/sdk",GITHUB_SERVER_URL:"https://github.com",GECKOWEBDRIVER:"/usr/local/share/gecko_driver",LEIN_JAR:"/usr/local/lib/lein/self-installs/leiningen-2.11.2-standalone.jar",GHCUP_INSTALL_BASE_PREFIX:"/usr/local",GITHUB_OUTPUT:"/home/runner/work/_temp/_runner_file_commands/set_output_1db24d99-745b-44e6-9118-92da7729c914",npm_config_global_prefix:"/opt/hostedtoolcache/node/18.20.2/x64",EDGEWEBDRIVER:"/usr/local/share/edge_driver",STATS_EXT:"true",npm_command:"run-script",ANDROID_NDK:"/usr/local/lib/android/sdk/ndk/25.2.9519653",SGX_AESM_ADDR:"1",CHROME_BIN:"/usr/bin/google-chrome",SELENIUM_JAR_PATH:"/usr/share/java/selenium-server.jar",STATS_EXTP:"https://provjobdsettingscdn.blob.core.windows.net/settings/provjobdsettings-0.5.172+1/provjobd.data",ANDROID_NDK_HOME:"/usr/local/lib/android/sdk/ndk/25.2.9519653",GITHUB_STEP_SUMMARY:"/home/runner/work/_temp/_runner_file_commands/step_summary_1db24d99-745b-44e6-9118-92da7729c914",INIT_CWD:"/home/runner/work/openapi-ui/openapi-ui",EDITOR:"vi",NODE_ENV:"production"};const Dme=Snt,_nt=xnt.NODE_DISABLE_COLORS?{red:"",yellow:"",green:"",normal:""}:{red:"\x1B[31m",yellow:"\x1B[33;1m",green:"\x1B[32m",normal:"\x1B[0m"};function Lnt(n,e,t){return t.indexOf(n)===e}function Int(n){return new Set(n).size!==n.length}function Fnt(n){return new Set(n).size<=1}function Dnt(n,e){function t(i,r){return Dme.stringify(i)===Dme.stringify(Object.assign({},i,r))}return t(n,e)&&t(e,n)}function Nnt(n){let e=[];for(let t of n)e.find(function(r,o,s){return Dnt(r,t)})||e.push(t);return e}function Mnt(n){return n.length===Nnt(n).length}function knt(n){return n.find(function(e,t,i){return n.indexOf(e)1,m===!1){if(h.parent[h.pkey]={},o.fatal){let f=new Error("Fragment $ref resolution failed "+c[d]);if(o.promise)o.promise.reject(f);else throw f}}else u++,h.parent[h.pkey]=m,l[c[d]]=h.path.replace("/%24ref","")}else if(!c.$fixed){let m=(s+"/"+l[c[d]]).split("/#/").join("/");h.parent[h.pkey]={$ref:m,"x-miro":c[d],$fixed:!0},o.verbose>1,u++}}else if(a.protocol){let m=ky.resolve(r,c[d]).toString();o.verbose>1,c["x-miro"]=c[d],o.externalRefs[c[d]]&&(o.externalRefs[m]||(o.externalRefs[m]=o.externalRefs[c[d]]),o.externalRefs[m].failed=o.externalRefs[c[d]].failed),c[d]=m}else if(!c["x-miro"]){let m=ky.resolve(r,c[d]).toString(),f=!1;o.externalRefs[c[d]]&&(f=o.externalRefs[c[d]].failed),f||(o.verbose>1,c["x-miro"]=c[d],c[d]=m)}}});return US(n,{},function(c,d,h){U5(c,d)&&typeof c.$fixed<"u"&&delete c.$fixed}),o.verbose>1,n}function K5(n,e){if(!e.filters||!e.filters.length)return n;for(let t of e.filters)n=t(n,e);return n}function Ont(n,e){return n&&n.length>2?n:e&&e.length>2?e:"file:"}function Bnt(n,e,t,i){var r=ky.parse(t.source),o=t.source.split("\\").join("/").split("/");o.pop()||o.pop();let a="",l=e.split("#");l.length>1&&(a="#"+l[1],e=l[0]),o=o.join("/");let u=ky.parse(e),c=Ont(u.protocol,r.protocol),d;if(c==="file:"?d=kme.resolve(o?o+"/":"",e):d=ky.resolve(o?o+"/":"",e),t.cache[d]){t.verbose;let h=Db(t.cache[d]),m=t.externalRef=h;if(a&&(m=YS(m,a),m===!1&&(m={},t.fatal))){let f=new Error("Cached $ref resolution failed "+d+a);if(t.promise)t.promise.reject(f);else throw f}return m=uz(m,h,e,a,d,t),m=K5(m,t),i(Db(m),d,t),Promise.resolve(m)}if(t.verbose,t.handlers&&t.handlers[c])return t.handlers[c](o,e,a,t).then(function(h){return t.externalRef=h,h=K5(h,t),t.cache[d]=h,i(h,d,t),h}).catch(function(h){throw t.verbose,h});if(c&&c.startsWith("http")){const h=Object.assign({},t.fetchOptions,{agent:t.agent});return t.fetch(d,h).then(function(m){if(m.status!==200){if(t.ignoreIOErrors)return t.verbose,t.externalRefs[e].failed=!0,'{"$ref":"'+e+'"}';throw new Error(`Received status code ${m.status}: ${d}`)}return m.text()}).then(function(m){try{let f=Tme.parse(m,{schema:"core",prettyErrors:!0});if(m=t.externalRef=f,t.cache[d]=Db(m),a&&(m=YS(m,a),m===!1&&(m={},t.fatal))){let g=new Error("Remote $ref resolution failed "+d+a);if(t.promise)t.promise.reject(g);else throw g}m=uz(m,f,e,a,d,t),m=K5(m,t)}catch(f){if(t.verbose,t.promise&&t.fatal)t.promise.reject(f);else throw f}return i(m,d,t),m}).catch(function(m){if(t.verbose,t.cache[d]={},t.promise&&t.fatal)t.promise.reject(m);else throw m})}else{const h='{"$ref":"'+e+'"}';return Pnt(d,t.encoding||"utf8",t,e,h).then(function(m){try{let f=Tme.parse(m,{schema:"core",prettyErrors:!0});if(m=t.externalRef=f,t.cache[d]=Db(m),a&&(m=YS(m,a),m===!1&&(m={},t.fatal))){let g=new Error("File $ref resolution failed "+d+a);if(t.promise)t.promise.reject(g);else throw g}m=uz(m,f,e,a,d,t),m=K5(m,t)}catch(f){if(t.verbose,t.promise&&t.fatal)t.promise.reject(f);else throw f}return i(m,d,t),m}).catch(function(m){if(t.verbose,t.promise&&t.fatal)t.promise.reject(m);else throw m})}}function znt(n){return new Promise(function(e,t){function i(o,s,a){if(o[s]&&U5(o[s],"$ref")){let l=o[s].$ref;if(!l.startsWith("#")){let u="";if(!r[l]){let c=Object.keys(r).find(function(d,h,m){return l.startsWith(d+"/")});c&&(n.verbose,u="/"+(l.split("#")[1]||"").replace(c.split("#")[1]||""),u=u.split("/undefined").join(""),l=c)}if(r[l]||(r[l]={resolved:!1,paths:[],extras:{},description:o[s].description}),r[l].resolved){if(!r[l].failed)if(n.rewriteRefs){let c=r[l].resolvedAt;n.verbose>1,o[s]["x-miro"]=l,o[s].$ref=c+u}else o[s]=Db(r[l].data)}else r[l].paths.push(a.path),r[l].extras[a.path]=u}}}let r=n.externalRefs;if(n.resolver.depth>0&&n.source===n.resolver.base)return e(r);US(n.openapi.definitions,{identityDetection:!0,path:"#/definitions"},i),US(n.openapi.components,{identityDetection:!0,path:"#/components"},i),US(n.openapi,{identityDetection:!0},i),e(r)})}function Eme(n){return new Promise(function(e,t){znt(n).then(function(r){for(let o in r)if(!r[o].resolved){let s=n.resolver.depth;s>0&&s++,n.resolver.actions[s].push(function(){return Bnt(n.openapi,o,n,function(a,l,u){if(!r[o].resolved){let h={};h.context=r[o],h.$ref=o,h.original=Db(a),h.updated=a,h.source=l,u.externals.push(h),r[o].resolved=!0}let c=Object.assign({},u,{source:"",resolver:{actions:u.resolver.actions,depth:u.resolver.actions.length-1,base:u.resolver.base}});u.patch&&r[o].description&&!a.description&&typeof a=="object"&&(a.description=r[o].description),r[o].data=a;let d=Xnt(r[o].paths);d=d.sort(function(h,m){const f=h.startsWith("#/components/")||h.startsWith("#/definitions/"),g=m.startsWith("#/components/")||m.startsWith("#/definitions/");return f&&!g?-1:g&&!f?1:0});for(let h of d)if(r[o].resolvedAt&&h!==r[o].resolvedAt&&h.indexOf("x-ms-examples/")<0)u.verbose>1,YS(u.openapi,h,{$ref:r[o].resolvedAt+r[o].extras[h],"x-miro":o+r[o].extras[h]});else{r[o].resolvedAt||(r[o].resolvedAt=h),u.verbose>1;let m=Db(a);YS(u.openapi,h,m)}u.resolver.actions[c.resolver.depth].length===0&&u.resolver.actions[c.resolver.depth].push(function(){return Eme(c)})})})}}).catch(function(r){n.verbose,t(r)});let i={options:n};i.actions=n.resolver.actions[n.resolver.depth],e(i)})}const Hnt=n=>n.reduce((e,t)=>e.then(i=>t().then(Array.prototype.concat.bind(i))),Promise.resolve([]));function cz(n,e,t){n.resolver.actions.push([]),Eme(n).then(function(i){Hnt(i.actions).then(function(){if(n.resolver.depth>=n.resolver.actions.length)return e(!0);n.resolver.depth++,n.resolver.actions[n.resolver.depth].length?setTimeout(function(){cz(i.options,e,t)},0):(n.verbose>1,n.resolveInternal&&(n.verbose>1,n.openapi=Gnt(n.openapi,n.original,{verbose:n.verbose-1}),n.verbose>1),US(n.openapi,{},function(r,o,s){U5(r,o)&&(n.preserveMiro||delete r["x-miro"])}),e(n))}).catch(function(r){n.verbose,t(r)})}).catch(function(i){n.verbose,t(i)})}function Rme(n){if(n.cache||(n.cache={}),n.fetch||(n.fetch=Vnt),n.source){let e=ky.parse(n.source);(!e.protocol||e.protocol.length<=2)&&(n.source=kme.resolve(n.source))}n.externals=[],n.externalRefs={},n.rewriteRefs=!0,n.resolver={},n.resolver.depth=0,n.resolver.base=n.source,n.resolver.actions=[[]]}function Ynt(n){return Rme(n),new Promise(function(e,t){n.resolve?cz(n,e,t):e(n)})}function Unt(n,e,t){return t||(t={}),t.openapi=n,t.source=e,t.resolve=!0,Rme(t),new Promise(function(i,r){cz(t,i,r)})}var Knt={optionalResolve:Ynt,resolve:Unt};function Zme(){return{depth:0,seen:new WeakMap,top:!0,combine:!1,allowRefSiblings:!1}}function Nm(n,e,t,i){if(typeof t.depth>"u"&&(t=Zme()),n===null||typeof n>"u")return n;if(typeof n.$ref<"u"){let r={$ref:n.$ref};return t.allowRefSiblings&&n.description&&(r.description=n.description),i(r,e,t),r}if(t.combine&&(n.allOf&&Array.isArray(n.allOf)&&n.allOf.length===1&&(n=Object.assign({},n.allOf[0],n),delete n.allOf),n.anyOf&&Array.isArray(n.anyOf)&&n.anyOf.length===1&&(n=Object.assign({},n.anyOf[0],n),delete n.anyOf),n.oneOf&&Array.isArray(n.oneOf)&&n.oneOf.length===1&&(n=Object.assign({},n.oneOf[0],n),delete n.oneOf)),i(n,e,t),t.seen.has(n))return n;if(typeof n=="object"&&n!==null&&t.seen.set(n,!0),t.top=!1,t.depth++,typeof n.items<"u"&&(t.property="items",Nm(n.items,n,t,i)),n.additionalItems&&typeof n.additionalItems=="object"&&(t.property="additionalItems",Nm(n.additionalItems,n,t,i)),n.additionalProperties&&typeof n.additionalProperties=="object"&&(t.property="additionalProperties",Nm(n.additionalProperties,n,t,i)),n.properties)for(let r in n.properties){let o=n.properties[r];t.property="properties/"+r,Nm(o,n,t,i)}if(n.patternProperties)for(let r in n.patternProperties){let o=n.patternProperties[r];t.property="patternProperties/"+r,Nm(o,n,t,i)}if(n.allOf)for(let r in n.allOf){let o=n.allOf[r];t.property="allOf/"+r,Nm(o,n,t,i)}if(n.anyOf)for(let r in n.anyOf){let o=n.anyOf[r];t.property="anyOf/"+r,Nm(o,n,t,i)}if(n.oneOf)for(let r in n.oneOf){let o=n.oneOf[r];t.property="oneOf/"+r,Nm(o,n,t,i)}return n.not&&(t.property="not",Nm(n.not,n,t,i)),t.depth--,n}var Jnt={getDefaultState:Zme,walkSchema:Nm},jnt={statusCodes:Object.assign({},{default:"Default response","1XX":"Informational",103:"Early hints","2XX":"Successful","3XX":"Redirection","4XX":"Client Error","5XX":"Server Error","7XX":"Developer Error"},GS.STATUS_CODES)};const Qnt={name:"swagger2openapi",version:"7.0.8",description:"Convert Swagger 2.0 definitions to OpenApi 3.0 and validate",main:"index.js",bin:{swagger2openapi:"./swagger2openapi.js","oas-validate":"./oas-validate.js",boast:"./boast.js"},funding:"https://github.com/Mermade/oas-kit?sponsor=1",scripts:{test:"mocha"},browserify:{transform:[["babelify",{presets:["es2015"]}]]},repository:{url:"https://github.com/Mermade/oas-kit.git",type:"git"},bugs:{url:"https://github.com/mermade/oas-kit/issues"},author:"Mike Ralphson ",license:"BSD-3-Clause",dependencies:{"call-me-maybe":"^1.0.1","node-fetch":"^2.6.1","node-fetch-h2":"^2.3.0","node-readfiles":"^0.2.0","oas-kit-common":"^1.0.8","oas-resolver":"^2.5.6","oas-schema-walker":"^1.1.5","oas-validator":"^5.0.8",reftools:"^1.1.9",yaml:"^1.10.0",yargs:"^17.0.1"},keywords:["swagger","openapi","openapi2","openapi3","converter","conversion","validator","validation","resolver","lint","linter"],gitHead:"b1bba3fc5007e96a991bf2a015cf0534ac36b88b"},$nt=GS,qnt=GS,mI=jet,eit=vhe,Wme=bme,bg=z5,fI=bg.jptr,tit=oz.isRef,Mm=H5.clone,Ame=H5.circularClone,J5=sz.recurse,Vme=Knt,nit=Jnt,Vr=Mme,iit=jnt.statusCodes,rit=Qnt.version,Gme="3.0.0";let j5;class Tu extends Error{constructor(e){super(e),this.name="S2OError"}}function Fl(n,e){let t=new Tu(n);if(t.options=e,e.promise)e.promise.reject(t);else throw t}function Ya(n,e,t){t.warnOnly?e[t.warnProperty||"x-s2o-warning"]=n:Fl(n,t)}function oit(n,e,t){if(n.nullable&&t.patches++,n.discriminator&&typeof n.discriminator=="string"&&(n.discriminator={propertyName:n.discriminator}),n.items&&Array.isArray(n.items)&&(n.items.length===0?n.items={}:n.items.length===1?n.items=n.items[0]:n.items={anyOf:n.items}),n.type&&Array.isArray(n.type))if(t.patch){if(t.patches++,n.type.length===0)delete n.type;else{n.oneOf||(n.oneOf=[]);for(let i of n.type){let r={};if(i==="null")n.nullable=!0;else{r.type=i;for(let o of Vr.arrayProperties)typeof n.prop<"u"&&(r[o]=n[o],delete n[o])}r.type&&n.oneOf.push(r)}delete n.type,n.oneOf.length===0?delete n.oneOf:n.oneOf.length<2&&(n.type=n.oneOf[0].type,Object.keys(n.oneOf[0]).length>1&&Ya("Lost properties from oneOf",n,t),delete n.oneOf)}n.type&&Array.isArray(n.type)&&n.type.length===1&&(n.type=n.type[0])}else Fl("(Patchable) schema type must not be an array",t);n.type&&n.type==="null"&&(delete n.type,n.nullable=!0),n.type==="array"&&!n.items&&(n.items={}),n.type==="file"&&(n.type="string",n.format="binary"),typeof n.required=="boolean"&&(n.required&&n.name&&(typeof e.required>"u"&&(e.required=[]),Array.isArray(e.required)&&e.required.push(n.name)),delete n.required),n.xml&&typeof n.xml.namespace=="string"&&(n.xml.namespace||delete n.xml.namespace),typeof n.allowEmptyValue<"u"&&(t.patches++,delete n.allowEmptyValue)}function sit(n,e){if(n["x-required"]&&Array.isArray(n["x-required"])&&(n.required||(n.required=[]),n.required=n.required.concat(n["x-required"]),delete n["x-required"]),n["x-anyOf"]&&(n.anyOf=n["x-anyOf"],delete n["x-anyOf"]),n["x-oneOf"]&&(n.oneOf=n["x-oneOf"],delete n["x-oneOf"]),n["x-not"]&&(n.not=n["x-not"],delete n["x-not"]),typeof n["x-nullable"]=="boolean"&&(n.nullable=n["x-nullable"],delete n["x-nullable"]),typeof n["x-discriminator"]=="object"&&typeof n["x-discriminator"].propertyName=="string"){n.discriminator=n["x-discriminator"],delete n["x-discriminator"];for(let t in n.discriminator.mapping){let i=n.discriminator.mapping[t];i.startsWith("#/definitions/")&&(n.discriminator.mapping[t]=i.replace("#/definitions/","#/components/schemas/"))}}}function gI(n,e){nit.walkSchema(n,{},{},function(t,i,r){sit(t),oit(t,i,e)})}function ait(n){return n.indexOf("#")>=0?n=n.split("#")[1].split("/").pop():n=n.split("/").pop().split(".")[0],encodeURIComponent(Vr.sanitise(n))}function lit(n,e,t){let i=t.payload.options;if(tit(n,e)){if(!n[e].startsWith("#/components/")){if(n[e]==="#/consumes")delete n[e],t.parent[t.pkey]=Mm(i.openapi.consumes);else if(n[e]==="#/produces")delete n[e],t.parent[t.pkey]=Mm(i.openapi.produces);else if(n[e].startsWith("#/definitions/")){let r=n[e].replace("#/definitions/","").split("/");const o=bg.jpunescape(r[0]);let s=j5.schemas[decodeURIComponent(o)];s?r[0]=s:Ya("Could not resolve reference "+n[e],n,i),n[e]="#/components/schemas/"+r.join("/")}else if(n[e].startsWith("#/parameters/"))n[e]="#/components/parameters/"+Vr.sanitise(n[e].replace("#/parameters/",""));else if(n[e].startsWith("#/responses/"))n[e]="#/components/responses/"+Vr.sanitise(n[e].replace("#/responses/",""));else if(n[e].startsWith("#")){let r=Mm(bg.jptr(i.openapi,n[e]));if(r===!1)Ya("direct $ref not found "+n[e],n,i);else if(i.refmap[n[e]])n[e]=i.refmap[n[e]];else{let o=n[e];o=o.replace("/properties/headers/",""),o=o.replace("/properties/responses/",""),o=o.replace("/properties/parameters/",""),o=o.replace("/properties/schemas/","");let s="schemas",a=o.lastIndexOf("/schema");if(s=o.indexOf("/headers/")>a?"headers":o.indexOf("/responses/")>a?"responses":o.indexOf("/example")>a?"examples":o.indexOf("/x-")>a?"extensions":o.indexOf("/parameters/")>a?"parameters":"schemas",s==="schemas"&&gI(r,i),s!=="responses"&&s!=="extensions"){let l=s.substr(0,s.length-1);l==="parameter"&&r.name&&r.name===Vr.sanitise(r.name)&&(l=encodeURIComponent(r.name));let u=1;for(n["x-miro"]&&(l=ait(n["x-miro"]),u="");bg.jptr(i.openapi,"#/components/"+s+"/"+l+u);)u=u===""?2:++u;let c="#/components/"+s+"/"+l+u,d="";s==="examples"&&(r={value:r},d="/value"),bg.jptr(i.openapi,c,r),i.refmap[n[e]]=c+d,n[e]=c+d}}}}if(delete n["x-miro"],Object.keys(n).length>1){const r=n[e],o=t.path.indexOf("/schema")>=0;i.refSiblings==="preserve"||(o&&i.refSiblings==="allOf"?(delete n.$ref,t.parent[t.pkey]={allOf:[{$ref:r},n]}):t.parent[t.pkey]={$ref:r})}}if(e==="x-ms-odata"&&typeof n[e]=="string"&&n[e].startsWith("#/")){let r=n[e].replace("#/definitions/","").replace("#/components/schemas/","").split("/"),o=j5.schemas[decodeURIComponent(r[0])];o?r[0]=o:Ya("Could not resolve reference "+n[e],n,i),n[e]="#/components/schemas/"+r.join("/")}}function uit(n,e){for(let t in e.refmap)bg.jptr(n,t,{$ref:e.refmap[t]})}function Xme(n){for(let e in n)for(let t in n[e]){let i=Vr.sanitise(t);t!==i&&(n[e][i]=n[e][t],delete n[e][t])}}function cit(n,e){if(n.type==="basic"&&(n.type="http",n.scheme="basic"),n.type==="oauth2"){let t={},i=n.flow;n.flow==="application"&&(i="clientCredentials"),n.flow==="accessCode"&&(i="authorizationCode"),typeof n.authorizationUrl<"u"&&(t.authorizationUrl=n.authorizationUrl.split("?")[0].trim()||"/"),typeof n.tokenUrl=="string"&&(t.tokenUrl=n.tokenUrl.split("?")[0].trim()||"/"),t.scopes=n.scopes||{},n.flows={},n.flows[i]=t,delete n.flow,delete n.authorizationUrl,delete n.tokenUrl,delete n.scopes,typeof n.name<"u"&&(e.patch?(e.patches++,delete n.name):Fl("(Patchable) oauth2 securitySchemes should not have name property",e))}}function Pme(n){return n&&!n["x-s2o-delete"]}function Ome(n,e){if(n.$ref)n.$ref=n.$ref.replace("#/responses/","#/components/responses/");else{n.type&&!n.schema&&(n.schema={}),n.type&&(n.schema.type=n.type),n.items&&n.items.type!=="array"&&(n.items.collectionFormat!==n.collectionFormat&&Ya("Nested collectionFormats are not supported",n,e),delete n.items.collectionFormat),n.type==="array"?(n.collectionFormat==="ssv"?Ya("collectionFormat:ssv is no longer supported for headers",n,e):n.collectionFormat==="pipes"?Ya("collectionFormat:pipes is no longer supported for headers",n,e):n.collectionFormat==="multi"?n.explode=!0:n.collectionFormat==="tsv"?(Ya("collectionFormat:tsv is no longer supported",n,e),n["x-collectionFormat"]="tsv"):n.style="simple",delete n.collectionFormat):n.collectionFormat&&(e.patch?(e.patches++,delete n.collectionFormat):Fl("(Patchable) collectionFormat is only applicable to header.type array",e)),delete n.type;for(let t of Vr.parameterTypeProperties)typeof n[t]<"u"&&(n.schema[t]=n[t],delete n[t]);for(let t of Vr.arrayProperties)typeof n[t]<"u"&&(n.schema[t]=n[t],delete n[t])}}function Bme(n,e){if(n.$ref.indexOf("#/parameters/")>=0){let t=n.$ref.split("#/parameters/");n.$ref=t[0]+"#/components/parameters/"+Vr.sanitise(t[1])}n.$ref.indexOf("#/definitions/")>=0&&Ya("Definition used as parameter",n,e)}function dit(n,e){let t={};for(let i of Object.keys(n))t[i]=n[i],i==="parameters"&&(t.requestBody={},e.rbname&&(t[e.rbname]=""));return t.requestBody={},t}function Q5(n,e,t,i,r,o,s){let a={},l=!0,u;if(e&&e.consumes&&typeof e.consumes=="string")if(s.patch)s.patches++,e.consumes=[e.consumes];else return Fl("(Patchable) operation.consumes must be an array",s);Array.isArray(o.consumes)||delete o.consumes;let c=((e?e.consumes:null)||o.consumes||[]).filter(Vr.uniqueOnly);if(n&&n.$ref&&typeof n.$ref=="string"){Bme(n,s);let d=decodeURIComponent(n.$ref.replace("#/components/parameters/","")),h=!1,m=o.components.parameters[d];if((!m||m["x-s2o-delete"])&&n.$ref.startsWith("#/")&&(n["x-s2o-delete"]=!0,h=!0),h){let f=n.$ref,g=fI(o,n.$ref);!g&&f.startsWith("#/")?Ya("Could not resolve reference "+f,n,s):g&&(n=g)}}if(n&&(n.name||n.in)){typeof n["x-deprecated"]=="boolean"&&(n.deprecated=n["x-deprecated"],delete n["x-deprecated"]),typeof n["x-example"]<"u"&&(n.example=n["x-example"],delete n["x-example"]),n.in!=="body"&&!n.type&&(s.patch?(s.patches++,n.type="string"):Fl("(Patchable) parameter.type is mandatory for non-body parameters",s)),n.type&&typeof n.type=="object"&&n.type.$ref&&(n.type=fI(o,n.type.$ref)),n.type==="file"&&(n["x-s2o-originalType"]=n.type,u=n.type),n.description&&typeof n.description=="object"&&n.description.$ref&&(n.description=fI(o,n.description.$ref)),n.description===null&&delete n.description;let d=n.collectionFormat;if(n.type==="array"&&!d&&(d="csv"),d&&(n.type!=="array"&&(s.patch?(s.patches++,delete n.collectionFormat):Fl("(Patchable) collectionFormat is only applicable to param.type array",s)),d==="csv"&&(n.in==="query"||n.in==="cookie")&&(n.style="form",n.explode=!1),d==="csv"&&(n.in==="path"||n.in==="header")&&(n.style="simple"),d==="ssv"&&(n.in==="query"?n.style="spaceDelimited":Ya("collectionFormat:ssv is no longer supported except for in:query parameters",n,s)),d==="pipes"&&(n.in==="query"?n.style="pipeDelimited":Ya("collectionFormat:pipes is no longer supported except for in:query parameters",n,s)),d==="multi"&&(n.explode=!0),d==="tsv"&&(Ya("collectionFormat:tsv is no longer supported",n,s),n["x-collectionFormat"]="tsv"),delete n.collectionFormat),n.type&&n.type!=="body"&&n.in!=="formData")if(n.items&&n.schema)Ya("parameter has array,items and schema",n,s);else{n.schema&&s.patches++,(!n.schema||typeof n.schema!="object")&&(n.schema={}),n.schema.type=n.type,n.items&&(n.schema.items=n.items,delete n.items,J5(n.schema.items,null,function(h,m,f){m==="collectionFormat"&&typeof h[m]=="string"&&(d&&h[m]!==d&&Ya("Nested collectionFormats are not supported",n,s),delete h[m])}));for(let h of Vr.parameterTypeProperties)typeof n[h]<"u"&&(n.schema[h]=n[h]),delete n[h]}n.schema&&gI(n.schema,s),n["x-ms-skip-url-encoding"]&&n.in==="query"&&(n.allowReserved=!0,delete n["x-ms-skip-url-encoding"])}if(n&&n.in==="formData"){l=!1,a.content={};let d="application/x-www-form-urlencoded";if(c.length&&c.indexOf("multipart/form-data")>=0&&(d="multipart/form-data"),a.content[d]={},n.schema)a.content[d].schema=n.schema,n.schema.$ref&&(a["x-s2o-name"]=decodeURIComponent(n.schema.$ref.replace("#/components/schemas/","")));else{a.content[d].schema={},a.content[d].schema.type="object",a.content[d].schema.properties={},a.content[d].schema.properties[n.name]={};let h=a.content[d].schema,m=a.content[d].schema.properties[n.name];n.description&&(m.description=n.description),n.example&&(m.example=n.example),n.type&&(m.type=n.type);for(let f of Vr.parameterTypeProperties)typeof n[f]<"u"&&(m[f]=n[f]);n.required===!0&&(h.required||(h.required=[]),h.required.push(n.name),a.required=!0),typeof n.default<"u"&&(m.default=n.default),m.properties&&(m.properties=n.properties),n.allOf&&(m.allOf=n.allOf),n.type==="array"&&n.items&&(m.items=n.items,m.items.collectionFormat&&delete m.items.collectionFormat),(u==="file"||n["x-s2o-originalType"]==="file")&&(m.type="string",m.format="binary"),dz(n,m)}}else n&&n.type==="file"&&(n.required&&(a.required=n.required),a.content={},a.content["application/octet-stream"]={},a.content["application/octet-stream"].schema={},a.content["application/octet-stream"].schema.type="string",a.content["application/octet-stream"].schema.format="binary",dz(n,a));if(n&&n.in==="body"){a.content={},n.name&&(a["x-s2o-name"]=(e&&e.operationId?Vr.sanitiseAll(e.operationId):"")+("_"+n.name).toCamelCase()),n.description&&(a.description=n.description),n.required&&(a.required=n.required),e&&s.rbname&&n.name&&(e[s.rbname]=n.name),n.schema&&n.schema.$ref?a["x-s2o-name"]=decodeURIComponent(n.schema.$ref.replace("#/components/schemas/","")):n.schema&&n.schema.type==="array"&&n.schema.items&&n.schema.items.$ref&&(a["x-s2o-name"]=decodeURIComponent(n.schema.items.$ref.replace("#/components/schemas/",""))+"Array"),c.length||c.push("application/json");for(let d of c)a.content[d]={},a.content[d].schema=Mm(n.schema||{}),gI(a.content[d].schema,s);dz(n,a)}if(Object.keys(a).length>0&&(n["x-s2o-delete"]=!0,e))if(e.requestBody&&l){e.requestBody["x-s2o-overloaded"]=!0;let d=e.operationId||r;Ya("Operation "+d+" has multiple requestBodies",e,s)}else e.requestBody||(e=t[i]=dit(e,s)),e.requestBody.content&&e.requestBody.content["multipart/form-data"]&&e.requestBody.content["multipart/form-data"].schema&&e.requestBody.content["multipart/form-data"].schema.properties&&a.content["multipart/form-data"]&&a.content["multipart/form-data"].schema&&a.content["multipart/form-data"].schema.properties?(e.requestBody.content["multipart/form-data"].schema.properties=Object.assign(e.requestBody.content["multipart/form-data"].schema.properties,a.content["multipart/form-data"].schema.properties),e.requestBody.content["multipart/form-data"].schema.required=(e.requestBody.content["multipart/form-data"].schema.required||[]).concat(a.content["multipart/form-data"].schema.required||[]),e.requestBody.content["multipart/form-data"].schema.required.length||delete e.requestBody.content["multipart/form-data"].schema.required):e.requestBody.content&&e.requestBody.content["application/x-www-form-urlencoded"]&&e.requestBody.content["application/x-www-form-urlencoded"].schema&&e.requestBody.content["application/x-www-form-urlencoded"].schema.properties&&a.content["application/x-www-form-urlencoded"]&&a.content["application/x-www-form-urlencoded"].schema&&a.content["application/x-www-form-urlencoded"].schema.properties?(e.requestBody.content["application/x-www-form-urlencoded"].schema.properties=Object.assign(e.requestBody.content["application/x-www-form-urlencoded"].schema.properties,a.content["application/x-www-form-urlencoded"].schema.properties),e.requestBody.content["application/x-www-form-urlencoded"].schema.required=(e.requestBody.content["application/x-www-form-urlencoded"].schema.required||[]).concat(a.content["application/x-www-form-urlencoded"].schema.required||[]),e.requestBody.content["application/x-www-form-urlencoded"].schema.required.length||delete e.requestBody.content["application/x-www-form-urlencoded"].schema.required):(e.requestBody=Object.assign(e.requestBody,a),e.requestBody["x-s2o-name"]||(e.requestBody.schema&&e.requestBody.schema.$ref?e.requestBody["x-s2o-name"]=decodeURIComponent(e.requestBody.schema.$ref.replace("#/components/schemas/","")).split("/").join(""):e.operationId&&(e.requestBody["x-s2o-name"]=Vr.sanitiseAll(e.operationId))));if(n&&!n["x-s2o-delete"]){delete n.type;for(let d of Vr.parameterTypeProperties)delete n[d];n.in==="path"&&(typeof n.required>"u"||n.required!==!0)&&(s.patch?(s.patches++,n.required=!0):Fl("(Patchable) path parameters must be required:true ["+n.name+" in "+r+"]",s))}return e}function dz(n,e){for(let t in n)t.startsWith("x-")&&!t.startsWith("x-s2o")&&(e[t]=n[t])}function zme(n,e,t,i,r){if(!n)return!1;if(n.$ref&&typeof n.$ref=="string")n.$ref.indexOf("#/definitions/")>=0?Ya("definition used as response: "+n.$ref,n,r):n.$ref.startsWith("#/responses/")&&(n.$ref="#/components/responses/"+Vr.sanitise(decodeURIComponent(n.$ref.replace("#/responses/",""))));else{if((typeof n.description>"u"||n.description===null||n.description===""&&r.patch)&&(r.patch?typeof n=="object"&&!Array.isArray(n)&&(r.patches++,n.description=iit[n]||""):Fl("(Patchable) response.description is mandatory",r)),typeof n.schema<"u"){if(gI(n.schema,r),n.schema.$ref&&typeof n.schema.$ref=="string"&&n.schema.$ref.startsWith("#/responses/")&&(n.schema.$ref="#/components/responses/"+Vr.sanitise(decodeURIComponent(n.schema.$ref.replace("#/responses/","")))),t&&t.produces&&typeof t.produces=="string")if(r.patch)r.patches++,t.produces=[t.produces];else return Fl("(Patchable) operation.produces must be an array",r);i.produces&&!Array.isArray(i.produces)&&delete i.produces;let o=((t?t.produces:null)||i.produces||[]).filter(Vr.uniqueOnly);o.length||o.push("*/*"),n.content={};for(let s of o){if(n.content[s]={},n.content[s].schema=Mm(n.schema),n.examples&&n.examples[s]){let a={};a.value=n.examples[s],n.content[s].examples={},n.content[s].examples.response=a,delete n.examples[s]}n.content[s].schema.type==="file"&&(n.content[s].schema={type:"string",format:"binary"})}delete n.schema}for(let o in n.examples)n.content||(n.content={}),n.content[o]||(n.content[o]={}),n.content[o].examples={},n.content[o].examples.response={},n.content[o].examples.response.value=n.examples[o];if(delete n.examples,n.headers)for(let o in n.headers)o.toLowerCase()==="status code"?r.patch?(r.patches++,delete n.headers[o]):Fl('(Patchable) "Status Code" is not a valid header',r):Ome(n.headers[o],r)}}function Hme(n,e,t,i,r){for(let o in n){let s=n[o];s&&s["x-trace"]&&typeof s["x-trace"]=="object"&&(s.trace=s["x-trace"],delete s["x-trace"]),s&&s["x-summary"]&&typeof s["x-summary"]=="string"&&(s.summary=s["x-summary"],delete s["x-summary"]),s&&s["x-description"]&&typeof s["x-description"]=="string"&&(s.description=s["x-description"],delete s["x-description"]),s&&s["x-servers"]&&Array.isArray(s["x-servers"])&&(s.servers=s["x-servers"],delete s["x-servers"]);for(let a in s)if(Vr.httpMethods.indexOf(a)>=0||a==="x-amazon-apigateway-any-method"){let l=s[a];if(l&&l.parameters&&Array.isArray(l.parameters)){if(s.parameters)for(let u of s.parameters)typeof u.$ref=="string"&&(Bme(u,t),u=fI(r,u.$ref)),!l.parameters.find(function(d,h,m){return d.name===u.name&&d.in===u.in})&&(u.in==="formData"||u.in==="body"||u.type==="file")&&(l=Q5(u,l,s,a,o,r,t),t.rbname&&l[t.rbname]===""&&delete l[t.rbname]);for(let u of l.parameters)l=Q5(u,l,s,a,a+":"+o,r,t);t.rbname&&l[t.rbname]===""&&delete l[t.rbname],t.debug||l.parameters&&(l.parameters=l.parameters.filter(Pme))}if(l&&l.security&&Xme(l.security),typeof l=="object"){if(!l.responses){let u={};u.description="Default response",l.responses={default:u}}for(let u in l.responses){let c=l.responses[u];zme(c,u,l,r,t)}}if(l&&l["x-servers"]&&Array.isArray(l["x-servers"]))l.servers=l["x-servers"],delete l["x-servers"];else if(l&&l.schemes&&l.schemes.length){for(let u of l.schemes)if((!r.schemes||r.schemes.indexOf(u)<0)&&(l.servers||(l.servers=[]),Array.isArray(r.servers)))for(let c of r.servers){let d=Mm(c),h=qnt.parse(d.url);h.protocol=u,d.url=h.format(),l.servers.push(d)}}if(t.debug&&(l["x-s2o-consumes"]=l.consumes||[],l["x-s2o-produces"]=l.produces||[]),l){if(delete l.consumes,delete l.produces,delete l.schemes,l["x-ms-examples"]){for(let u in l["x-ms-examples"]){let c=l["x-ms-examples"][u],d=Vr.sanitiseAll(u);if(c.parameters)for(let h in c.parameters){let m=c.parameters[h];for(let f of(l.parameters||[]).concat(s.parameters||[]))f.$ref&&(f=bg.jptr(r,f.$ref)),f.name===h&&!f.example&&(f.examples||(f.examples={}),f.examples[u]={value:m})}if(c.responses)for(let h in c.responses){if(c.responses[h].headers)for(let m in c.responses[h].headers){let f=c.responses[h].headers[m];for(let g in l.responses[h].headers)if(g===m){let b=l.responses[h].headers[g];b.example=f}}if(c.responses[h].body&&(r.components.examples[d]={value:Mm(c.responses[h].body)},l.responses[h]&&l.responses[h].content))for(let m in l.responses[h].content){let f=l.responses[h].content[m];f.examples||(f.examples={}),f.examples[u]={$ref:"#/components/examples/"+d}}}}delete l["x-ms-examples"]}if(l.parameters&&l.parameters.length===0&&delete l.parameters,l.requestBody){let u=l.operationId?Vr.sanitiseAll(l.operationId):Vr.sanitiseAll(a+o).toCamelCase(),c=Vr.sanitise(l.requestBody["x-s2o-name"]||u||"");delete l.requestBody["x-s2o-name"];let d=JSON.stringify(l.requestBody),h=Vr.hash(d);if(!i[h]){let f={};f.name=c,f.body=l.requestBody,f.refs=[],i[h]=f}let m="#/"+e+"/"+encodeURIComponent(bg.jpescape(o))+"/"+a+"/requestBody";i[h].refs.push(m)}}}if(s&&s.parameters){for(let a in s.parameters){let l=s.parameters[a];Q5(l,null,s,null,o,r,t)}!t.debug&&Array.isArray(s.parameters)&&(s.parameters=s.parameters.filter(Pme))}}}function hit(n,e){let t={};j5={schemas:{}},n.security&&Xme(n.security);for(let r in n.components.securitySchemes){let o=Vr.sanitise(r);r!==o&&(n.components.securitySchemes[o]&&Fl("Duplicate sanitised securityScheme name "+o,e),n.components.securitySchemes[o]=n.components.securitySchemes[r],delete n.components.securitySchemes[r]),cit(n.components.securitySchemes[o],e)}for(let r in n.components.schemas){let o=Vr.sanitiseAll(r),s="";if(r!==o){for(;n.components.schemas[o+s];)s=s?++s:2;n.components.schemas[o+s]=n.components.schemas[r],delete n.components.schemas[r]}j5.schemas[r]=o+s,gI(n.components.schemas[o+s],e)}e.refmap={},J5(n,{payload:{options:e}},lit),uit(n,e);for(let r in n.components.parameters){let o=Vr.sanitise(r);r!==o&&(n.components.parameters[o]&&Fl("Duplicate sanitised parameter name "+o,e),n.components.parameters[o]=n.components.parameters[r],delete n.components.parameters[r]);let s=n.components.parameters[o];Q5(s,null,null,null,o,n,e)}for(let r in n.components.responses){let o=Vr.sanitise(r);r!==o&&(n.components.responses[o]&&Fl("Duplicate sanitised response name "+o,e),n.components.responses[o]=n.components.responses[r],delete n.components.responses[r]);let s=n.components.responses[o];if(zme(s,o,null,n,e),s.headers)for(let a in s.headers)a.toLowerCase()==="status code"?e.patch?(e.patches++,delete s.headers[a]):Fl('(Patchable) "Status Code" is not a valid header',e):Ome(s.headers[a],e)}for(let r in n.components.requestBodies){let o=n.components.requestBodies[r],s=JSON.stringify(o),a=Vr.hash(s),l={};l.name=r,l.body=o,l.refs=[],t[a]=l}if(Hme(n.paths,"paths",e,t,n),n["x-ms-paths"]&&Hme(n["x-ms-paths"],"x-ms-paths",e,t,n),!e.debug)for(let r in n.components.parameters)n.components.parameters[r]["x-s2o-delete"]&&delete n.components.parameters[r];e.debug&&(n["x-s2o-consumes"]=n.consumes||[],n["x-s2o-produces"]=n.produces||[]),delete n.consumes,delete n.produces,delete n.schemes;let i=[];if(n.components.requestBodies={},!e.resolveInternal){let r=1;for(let o in t){let s=t[o];if(s.refs.length>1){let a="";for(s.name||(s.name="requestBody",a=r++);i.indexOf(s.name+a)>=0;)a=a?++a:2;s.name=s.name+a,i.push(s.name),n.components.requestBodies[s.name]=Mm(s.body);for(let l in s.refs){let u={};u.$ref="#/components/requestBodies/"+s.name,bg.jptr(n,s.refs[l],u)}}}}return n.components.responses&&Object.keys(n.components.responses).length===0&&delete n.components.responses,n.components.parameters&&Object.keys(n.components.parameters).length===0&&delete n.components.parameters,n.components.examples&&Object.keys(n.components.examples).length===0&&delete n.components.examples,n.components.requestBodies&&Object.keys(n.components.requestBodies).length===0&&delete n.components.requestBodies,n.components.securitySchemes&&Object.keys(n.components.securitySchemes).length===0&&delete n.components.securitySchemes,n.components.headers&&Object.keys(n.components.headers).length===0&&delete n.components.headers,n.components.schemas&&Object.keys(n.components.schemas).length===0&&delete n.components.schemas,n.components&&Object.keys(n.components).length===0&&delete n.components,n}function Yme(n){return!n||!n.url||typeof n.url!="string"||(n.url=n.url.split("{{").join("{"),n.url=n.url.split("}}").join("}"),n.url.replace(/\{(.+?)\}/g,function(e,t){n.variables||(n.variables={}),n.variables[t]={default:"unknown"}})),n}function Ume(n,e,t){if(typeof n.info>"u"||n.info===null)if(e.patch)e.patches++,n.info={version:"",title:""};else return t(new Tu("(Patchable) info object is mandatory"));if(typeof n.info!="object"||Array.isArray(n.info))return t(new Tu("info must be an object"));if(typeof n.info.title>"u"||n.info.title===null)if(e.patch)e.patches++,n.info.title="";else return t(new Tu("(Patchable) info.title cannot be null"));if(typeof n.info.version>"u"||n.info.version===null)if(e.patch)e.patches++,n.info.version="";else return t(new Tu("(Patchable) info.version cannot be null"));if(typeof n.info.version!="string")if(e.patch)e.patches++,n.info.version=n.info.version.toString();else return t(new Tu("(Patchable) info.version must be a string"));if(typeof n.info.logo<"u")if(e.patch)e.patches++,n.info["x-logo"]=n.info.logo,delete n.info.logo;else return t(new Tu("(Patchable) info should not have logo property"));if(typeof n.info.termsOfService<"u"){if(n.info.termsOfService===null)if(e.patch)e.patches++,n.info.termsOfService="";else return t(new Tu("(Patchable) info.termsOfService cannot be null"));try{let i=new URL(n.info.termsOfService)}catch{if(e.patch)e.patches++,delete n.info.termsOfService;else return t(new Tu("(Patchable) info.termsOfService must be a URL"))}}}function Kme(n,e,t){if(typeof n.paths>"u")if(e.patch)e.patches++,n.paths={};else return t(new Tu("(Patchable) paths object is mandatory"))}function mit(n,e){const t=new WeakSet;J5(n,{identityDetection:!0},function(i,r,o){typeof i[r]=="object"&&i[r]!==null&&(t.has(i[r])?e.anchors?i[r]=Mm(i[r]):Fl("YAML anchor or merge key at "+o.path,e):t.add(i[r]))})}function hz(n,e,t){return mI(t,new Promise(function(i,r){if(n||(n={}),e.original=n,e.text||(e.text=Wme.stringify(n)),e.externals=[],e.externalRefs={},e.rewriteRefs=!0,e.preserveMiro=!0,e.promise={},e.promise.resolve=i,e.promise.reject=r,e.patches=0,e.cache||(e.cache={}),e.source&&(e.cache[e.source]=e.original),mit(n,e),n.openapi&&typeof n.openapi=="string"&&n.openapi.startsWith("3.")){e.openapi=Ame(n),Ume(e.openapi,e,r),Kme(e.openapi,e,r),Vme.optionalResolve(e).then(function(){return e.direct?i(e.openapi):i(e)}).catch(function(s){r(s)});return}if(!n.swagger||n.swagger!="2.0")return r(new Tu("Unsupported swagger/OpenAPI version: "+(n.openapi?n.openapi:n.swagger)));let o=e.openapi={};if(o.openapi=typeof e.targetVersion=="string"&&e.targetVersion.startsWith("3.")?e.targetVersion:Gme,e.origin){o["x-origin"]||(o["x-origin"]=[]);let s={};s.url=e.source||e.origin,s.format="swagger",s.version=n.swagger,s.converter={},s.converter.url="https://github.com/mermade/oas-kit",s.converter.version=rit,o["x-origin"].push(s)}if(o=Object.assign(o,Ame(n)),delete o.swagger,J5(o,{},function(s,a,l){s[a]===null&&!a.startsWith("x-")&&a!=="default"&&l.path.indexOf("/example")<0&&delete s[a]}),n.host)for(let s of Array.isArray(n.schemes)?n.schemes:[""]){let a={},l=(n.basePath||"").replace(/\/$/,"");a.url=(s?s+":":"")+"//"+n.host+l,Yme(a),o.servers||(o.servers=[]),o.servers.push(a)}else if(n.basePath){let s={};s.url=n.basePath,Yme(s),o.servers||(o.servers=[]),o.servers.push(s)}if(delete o.host,delete o.basePath,o["x-servers"]&&Array.isArray(o["x-servers"])&&(o.servers=o["x-servers"],delete o["x-servers"]),n["x-ms-parameterized-host"]){let s=n["x-ms-parameterized-host"],a={};a.url=s.hostTemplate+(n.basePath?n.basePath:""),a.variables={};const l=a.url.match(/\{\w+\}/g);for(let u in s.parameters){let c=s.parameters[u];c.$ref&&(c=Mm(fI(o,c.$ref))),u.startsWith("x-")||(delete c.required,delete c.type,delete c.in,typeof c.default>"u"&&(c.enum?c.default=c.enum[0]:c.default="none"),c.name||(c.name=l[u].replace("{","").replace("}","")),a.variables[c.name]=c,delete c.name)}o.servers||(o.servers=[]),s.useSchemePrefix===!1?o.servers.push(a):n.schemes.forEach(u=>{o.servers.push(Object.assign({},a,{url:u+"://"+a.url}))}),delete o["x-ms-parameterized-host"]}Ume(o,e,r),Kme(o,e,r),typeof o.consumes=="string"&&(o.consumes=[o.consumes]),typeof o.produces=="string"&&(o.produces=[o.produces]),o.components={},o["x-callbacks"]&&(o.components.callbacks=o["x-callbacks"],delete o["x-callbacks"]),o.components.examples={},o.components.headers={},o["x-links"]&&(o.components.links=o["x-links"],delete o["x-links"]),o.components.parameters=o.parameters||{},o.components.responses=o.responses||{},o.components.requestBodies={},o.components.securitySchemes=o.securityDefinitions||{},o.components.schemas=o.definitions||{},delete o.definitions,delete o.responses,delete o.parameters,delete o.securityDefinitions,Vme.optionalResolve(e).then(function(){hit(e.openapi,e),e.direct?i(e.openapi):i(e)}).catch(function(s){r(s)})}))}function $5(n,e,t){return mI(t,new Promise(function(i,r){let o=null,s=null;try{o=JSON.parse(n),e.text=JSON.stringify(o,null,2)}catch(a){s=a;try{o=Wme.parse(n,{schema:"core",prettyErrors:!0}),e.sourceYaml=!0,e.text=n}catch(l){s=l}}o?hz(o,e).then(a=>i(a)).catch(a=>r(a)):r(new Tu(s?s.message:"Could not parse string"))}))}function fit(n,e,t){return mI(t,new Promise(function(i,r){e.origin=!0,e.source||(e.source=n),e.verbose,e.fetch||(e.fetch=eit);const o=Object.assign({},e.fetchOptions,{agent:e.agent});e.fetch(n,o).then(function(s){if(s.status!==200)throw new Tu(`Received status code ${s.status}: ${n}`);return s.text()}).then(function(s){$5(s,e).then(a=>i(a)).catch(a=>r(a))}).catch(function(s){r(s)})}))}function git(n,e,t){return mI(t,new Promise(function(i,r){$nt.readFile(n,e.encoding||"utf8",function(o,s){o?r(o):(e.sourceFile=n,$5(s,e).then(a=>i(a)).catch(a=>r(a)))})}))}function pit(n,e,t){return mI(t,new Promise(function(i,r){let o="";n.on("data",function(s){o+=s}).on("end",function(){$5(o,e).then(s=>i(s)).catch(s=>r(s))})}))}var bit={S2OError:Tu,targetVersion:Gme,convert:hz,convertObj:hz,convertUrl:fit,convertStr:$5,convertFile:git,convertStream:pit};function yit(n){return new Promise((e,t)=>{const i=new FileReader;i.onload=function(r){var s;const o=(s=r.target)==null?void 0:s.result;o?e(o):t("error")},i.readAsText(n,"utf-8")})}function Jme(n){try{return JSON.parse(n),!0}catch{return!1}}function mz(n){return n.swagger?new Promise((e,t)=>{const i={patch:!0,warnOnly:!0,resolveInternal:!0};bit.convertObj(n,i,function(r,o){if(r){t(r);return}o.openapi["x-original-swagger-version"]=o.original.swagger,e({openapi:o.openapi})})}):n}async function pI(n){let e={};if(fs(n)){if(e=n,!e.openapi){const t=await mz(e)||{};Fs(t.openapi)||(e=t.openapi)}}else if(Jme(n)){if(e=JSON.parse(n),!e.openapi){const t=await mz(e)||{};Fs(t.openapi)||(e=t.openapi)}}else if(e=Uet(n),!e.openapi){const t=await mz(e)||{};Fs(t.openapi)||(e=t.openapi)}return e}const vit=(n,e,t)=>(i,r)=>{const o=t.operationId||encodeURIComponent(`${n}#${e}`);return pde(i,{[decodeURIComponent(o)]:{operationName:t.operationId||n,operationId:o,...t,group:r,method:bh(e),path:n}})};function bI(n){return ph(n,(e,t,i)=>ph(t,(r,o,s)=>ph(o.tags||["default"],vit(i,s,{...o}),r),e),{})}function Cit(){const{updateOpenapiWithServiceInfo:n}=wm(),{updateConfigInfo:e}=fh();S.useEffect(()=>{const i=document.getElementById("openapi-ui-container"),r=i==null?void 0:i.getAttribute("spec-url"),o=i==null?void 0:i.getAttribute("theme");r&&t(r),o&&e({theme:o})},[]);async function t(i){const r=await QL({url:i});if((r==null?void 0:r.status)>=200&&(r==null?void 0:r.status)<300){const o=await pI(r.data),s={serviceURL:i,importModeType:bd.url,openapi:o,operations:bI(o.paths||{})};n(s)}}return null}/** * @remix-run/router v1.16.0 * * Copyright (c) Remix Software Inc. @@ -553,34 +553,34 @@ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\ * LICENSE.md file in the root directory of this source tree. * * @license MIT - */function ns(){return ns=Object.assign?Object.assign.bind():function(n){for(var e=1;e"u")throw new Error(e)}function Tv(n,e){if(!n)try{throw new Error(e)}catch{}}function xit(){return Math.random().toString(36).substr(2,8)}function Qme(n,e){return{usr:n.state,key:n.key,idx:e}}function Kw(n,e,t,i){return t===void 0&&(t=null),ns({pathname:typeof n=="string"?n:n.pathname,search:"",hash:""},typeof e=="string"?Nm(e):e,{state:t,key:e&&e.key||i||xit()})}function Jw(n){let{pathname:e="/",search:t="",hash:i=""}=n;return t&&t!=="?"&&(e+=t.charAt(0)==="?"?t:"?"+t),i&&i!=="#"&&(e+=i.charAt(0)==="#"?i:"#"+i),e}function Nm(n){let e={};if(n){let t=n.indexOf("#");t>=0&&(e.hash=n.substr(t),n=n.substr(0,t));let i=n.indexOf("?");i>=0&&(e.search=n.substr(i),n=n.substr(0,i)),n&&(e.pathname=n)}return e}function $me(n,e,t,i){i===void 0&&(i={});let{window:r=document.defaultView,v5Compat:o=!1}=i,s=r.history,a=Ds.Pop,l=null,u=c();u==null&&(u=0,s.replaceState(ns({},s.state,{idx:u}),""));function c(){return(s.state||{idx:null}).idx}function d(){a=Ds.Pop;let b=c(),v=b==null?null:b-u;u=b,l&&l({action:a,location:g.location,delta:v})}function h(b,v){a=Ds.Push;let C=Kw(g.location,b,v);t&&t(C,b),u=c()+1;let S=Qme(C,u),x=g.createHref(C);try{s.pushState(S,"",x)}catch(_){if(_ instanceof DOMException&&_.name==="DataCloneError")throw _;r.location.assign(x)}o&&l&&l({action:a,location:g.location,delta:1})}function m(b,v){a=Ds.Replace;let C=Kw(g.location,b,v);t&&t(C,b),u=c();let S=Qme(C,u),x=g.createHref(C);s.replaceState(S,"",x),o&&l&&l({action:a,location:g.location,delta:0})}function f(b){let v=r.location.origin!=="null"?r.location.origin:r.location.href,C=typeof b=="string"?b:Jw(b);return C=C.replace(/ $/,"%20"),Oi(v,"No window.location.(origin|href) available to create URL for href: "+C),new URL(C,v)}let g={get action(){return a},get location(){return n(r,s)},listen(b){if(l)throw new Error("A history only accepts one active listener");return r.addEventListener(jme,d),l=b,()=>{r.removeEventListener(jme,d),l=null}},createHref(b){return e(r,b)},createURL:f,encodeLocation(b){let v=f(b);return{pathname:v.pathname,search:v.search,hash:v.hash}},push:h,replace:m,go(b){return s.go(b)}};return g}var Uo;(function(n){n.data="data",n.deferred="deferred",n.redirect="redirect",n.error="error"})(Uo||(Uo={}));const Lit=new Set(["lazy","caseSensitive","path","id","index","children"]);function _it(n){return n.index===!0}function fz(n,e,t,i){return t===void 0&&(t=[]),i===void 0&&(i={}),n.map((r,o)=>{let s=[...t,o],a=typeof r.id=="string"?r.id:s.join("-");if(Oi(r.index!==!0||!r.children,"Cannot specify children on an index route"),Oi(!i[a],'Found a route id collision on id "'+a+`". Route id's must be globally unique within Data Router usages`),_it(r)){let l=ns({},r,e(r),{id:a});return i[a]=l,l}else{let l=ns({},r,e(r),{id:a,children:void 0});return i[a]=l,r.children&&(l.children=fz(r.children,e,s,i)),l}})}function jw(n,e,t){t===void 0&&(t="/");let i=typeof e=="string"?Nm(e):e,r=vF(i.pathname||"/",t);if(r==null)return null;let o=qme(n);Iit(o);let s=null;for(let a=0;s==null&&a{let l={relativePath:a===void 0?o.path||"":a,caseSensitive:o.caseSensitive===!0,childrenIndex:s,route:o};l.relativePath.startsWith("/")&&(Oi(l.relativePath.startsWith(i),'Absolute route path "'+l.relativePath+'" nested under path '+('"'+i+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),l.relativePath=l.relativePath.slice(i.length));let u=Mb([i,l.relativePath]),c=t.concat(l);o.children&&o.children.length>0&&(Oi(o.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+u+'".')),qme(o.children,e,c,u)),!(o.path==null&&!o.index)&&e.push({path:u,score:Zit(u,o.index),routesMeta:c})};return n.forEach((o,s)=>{var a;if(o.path===""||!((a=o.path)!=null&&a.includes("?")))r(o,s);else for(let l of efe(o.path))r(o,s,l)}),e}function efe(n){let e=n.split("/");if(e.length===0)return[];let[t,...i]=e,r=t.endsWith("?"),o=t.replace(/\?$/,"");if(i.length===0)return r?[o,""]:[o];let s=efe(i.join("/")),a=[];return a.push(...s.map(l=>l===""?o:[o,l].join("/"))),r&&a.push(...s),a.map(l=>n.startsWith("/")&&l===""?"/":l)}function Iit(n){n.sort((e,t)=>e.score!==t.score?t.score-e.score:Wit(e.routesMeta.map(i=>i.childrenIndex),t.routesMeta.map(i=>i.childrenIndex)))}const Dit=/^:[\w-]+$/,Mit=3,kit=2,Nit=1,Tit=10,Eit=-2,tfe=n=>n==="*";function Zit(n,e){let t=n.split("/"),i=t.length;return t.some(tfe)&&(i+=Eit),e&&(i+=kit),t.filter(r=>!tfe(r)).reduce((r,o)=>r+(Dit.test(o)?Mit:o===""?Nit:Tit),i)}function Wit(n,e){return n.length===e.length&&n.slice(0,-1).every((i,r)=>i===e[r])?n[n.length-1]-e[e.length-1]:0}function Rit(n,e){let{routesMeta:t}=n,i={},r="/",o=[];for(let s=0;s{let{paramName:h,isOptional:m}=c;if(h==="*"){let g=a[d]||"";s=o.slice(0,o.length-g.length).replace(/(.)\/+$/,"$1")}const f=a[d];return m&&!f?u[h]=void 0:u[h]=(f||"").replace(/%2F/g,"/"),u},{}),pathname:o,pathnameBase:s,pattern:n}}function Ait(n,e,t){e===void 0&&(e=!1),t===void 0&&(t=!0),Tv(n==="*"||!n.endsWith("*")||n.endsWith("/*"),'Route path "'+n+'" will be treated as if it were '+('"'+n.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+n.replace(/\*$/,"/*")+'".'));let i=[],r="^"+n.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(s,a,l)=>(i.push({paramName:a,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)"));return n.endsWith("*")?(i.push({paramName:"*"}),r+=n==="*"||n==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):t?r+="\\/*$":n!==""&&n!=="/"&&(r+="(?:(?=\\/|$))"),[new RegExp(r,e?void 0:"i"),i]}function Git(n){try{return n.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(e){return Tv(!1,'The URL path "'+n+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+e+").")),n}}function vF(n,e){if(e==="/")return n;if(!n.toLowerCase().startsWith(e.toLowerCase()))return null;let t=e.endsWith("/")?e.length-1:e.length,i=n.charAt(t);return i&&i!=="/"?null:n.slice(t)||"/"}function Xit(n,e){e===void 0&&(e="/");let{pathname:t,search:i="",hash:r=""}=typeof n=="string"?Nm(n):n;return{pathname:t?t.startsWith("/")?t:Pit(t,e):e,search:Bit(i),hash:zit(r)}}function Pit(n,e){let t=e.replace(/\/+$/,"").split("/");return n.split("/").forEach(r=>{r===".."?t.length>1&&t.pop():r!=="."&&t.push(r)}),t.length>1?t.join("/"):"/"}function gz(n,e,t,i){return"Cannot include a '"+n+"' character in a manually specified "+("`to."+e+"` field ["+JSON.stringify(i)+"]. Please separate it out to the ")+("`to."+t+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function nfe(n){return n.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function pz(n,e){let t=nfe(n);return e?t.map((i,r)=>r===n.length-1?i.pathname:i.pathnameBase):t.map(i=>i.pathnameBase)}function bz(n,e,t,i){i===void 0&&(i=!1);let r;typeof n=="string"?r=Nm(n):(r=ns({},n),Oi(!r.pathname||!r.pathname.includes("?"),gz("?","pathname","search",r)),Oi(!r.pathname||!r.pathname.includes("#"),gz("#","pathname","hash",r)),Oi(!r.search||!r.search.includes("#"),gz("#","search","hash",r)));let o=n===""||r.pathname==="",s=o?"/":r.pathname,a;if(s==null)a=t;else{let d=e.length-1;if(!i&&s.startsWith("..")){let h=s.split("/");for(;h[0]==="..";)h.shift(),d-=1;r.pathname=h.join("/")}a=d>=0?e[d]:"/"}let l=Xit(r,a),u=s&&s!=="/"&&s.endsWith("/"),c=(o||s===".")&&t.endsWith("/");return!l.pathname.endsWith("/")&&(u||c)&&(l.pathname+="/"),l}const Mb=n=>n.join("/").replace(/\/\/+/g,"/"),Oit=n=>n.replace(/\/+$/,"").replace(/^\/*/,"/"),Bit=n=>!n||n==="?"?"":n.startsWith("?")?n:"?"+n,zit=n=>!n||n==="#"?"":n.startsWith("#")?n:"#"+n;class vz{constructor(e,t,i,r){r===void 0&&(r=!1),this.status=e,this.statusText=t||"",this.internal=r,i instanceof Error?(this.data=i.toString(),this.error=i):this.data=i}}function yz(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.internal=="boolean"&&"data"in n}const ife=["post","put","patch","delete"],Hit=new Set(ife),Yit=["get",...ife],Uit=new Set(Yit),Kit=new Set([301,302,303,307,308]),Jit=new Set([307,308]),Cz={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},jit={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},yF={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},wz=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Qit=n=>({hasErrorBoundary:!!n.hasErrorBoundary}),rfe="remix-router-transitions";function ofe(n){const e=n.window?n.window:typeof window<"u"?window:void 0,t=typeof e<"u"&&typeof e.document<"u"&&typeof e.document.createElement<"u",i=!t;Oi(n.routes.length>0,"You must provide a non-empty routes array to createRouter");let r;if(n.mapRouteProperties)r=n.mapRouteProperties;else if(n.detectErrorBoundary){let fe=n.detectErrorBoundary;r=_e=>({hasErrorBoundary:fe(_e)})}else r=Qit;let o={},s=fz(n.routes,r,void 0,o),a,l=n.basename||"/",u=n.unstable_dataStrategy||trt,c=ns({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1,unstable_skipActionErrorRevalidation:!1},n.future),d=null,h=new Set,m=null,f=null,g=null,b=n.hydrationData!=null,v=jw(s,n.history.location,l),C=null;if(v==null){let fe=Cd(404,{pathname:n.history.location.pathname}),{matches:_e,route:We}=pfe(s);v=_e,C={[We.id]:fe}}let S,x=v.some(fe=>fe.route.lazy),_=v.some(fe=>fe.route.loader);if(x)S=!1;else if(!_)S=!0;else if(c.v7_partialHydration){let fe=n.hydrationData?n.hydrationData.loaderData:null,_e=n.hydrationData?n.hydrationData.errors:null,We=Xe=>Xe.route.loader?typeof Xe.route.loader=="function"&&Xe.route.loader.hydrate===!0?!1:fe&&fe[Xe.route.id]!==void 0||_e&&_e[Xe.route.id]!==void 0:!0;if(_e){let Xe=v.findIndex(ft=>_e[ft.route.id]!==void 0);S=v.slice(0,Xe+1).every(We)}else S=v.every(We)}else S=n.hydrationData!=null;let F,D={historyAction:n.history.action,location:n.history.location,matches:v,initialized:S,navigation:Cz,restoreScrollPosition:n.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:n.hydrationData&&n.hydrationData.loaderData||{},actionData:n.hydrationData&&n.hydrationData.actionData||null,errors:n.hydrationData&&n.hydrationData.errors||C,fetchers:new Map,blockers:new Map},M=Ds.Pop,T=!1,Z,E=!1,R=new Map,W=null,A=!1,z=!1,O=[],B=[],P=new Map,H=0,k=-1,X=new Map,Y=new Set,V=new Map,te=new Map,oe=new Set,ae=new Map,le=new Map,ue=!1;function Ce(){if(d=n.history.listen(fe=>{let{action:_e,location:We,delta:Xe}=fe;if(ue){ue=!1;return}Tv(le.size===0||Xe!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let ft=Kt({currentLocation:D.location,nextLocation:We,historyAction:_e});if(ft&&Xe!=null){ue=!0,n.history.go(Xe*-1),St(ft,{state:"blocked",location:We,proceed(){St(ft,{state:"proceeding",proceed:void 0,reset:void 0,location:We}),n.history.go(Xe)},reset(){let Nt=new Map(D.blockers);Nt.set(ft,yF),De({blockers:Nt})}});return}return He(_e,We)}),t){mrt(e,R);let fe=()=>frt(e,R);e.addEventListener("pagehide",fe),W=()=>e.removeEventListener("pagehide",fe)}return D.initialized||He(Ds.Pop,D.location,{initialHydration:!0}),F}function pe(){d&&d(),W&&W(),h.clear(),Z&&Z.abort(),D.fetchers.forEach((fe,_e)=>Me(_e)),D.blockers.forEach((fe,_e)=>mt(_e))}function ce(fe){return h.add(fe),()=>h.delete(fe)}function De(fe,_e){_e===void 0&&(_e={}),D=ns({},D,fe);let We=[],Xe=[];c.v7_fetcherPersist&&D.fetchers.forEach((ft,Nt)=>{ft.state==="idle"&&(oe.has(Nt)?Xe.push(Nt):We.push(Nt))}),[...h].forEach(ft=>ft(D,{deletedFetchers:Xe,unstable_viewTransitionOpts:_e.viewTransitionOpts,unstable_flushSync:_e.flushSync===!0})),c.v7_fetcherPersist&&(We.forEach(ft=>D.fetchers.delete(ft)),Xe.forEach(ft=>Me(ft)))}function ke(fe,_e,We){var Xe,ft;let{flushSync:Nt}=We===void 0?{}:We,et=D.actionData!=null&&D.navigation.formMethod!=null&&Ch(D.navigation.formMethod)&&D.navigation.state==="loading"&&((Xe=fe.state)==null?void 0:Xe._isRedirect)!==!0,rt;_e.actionData?Object.keys(_e.actionData).length>0?rt=_e.actionData:rt=null:et?rt=D.actionData:rt=null;let yt=_e.loaderData?ffe(D.loaderData,_e.loaderData,_e.matches||[],_e.errors):D.loaderData,Ft=D.blockers;Ft.size>0&&(Ft=new Map(Ft),Ft.forEach((qt,Mn)=>Ft.set(Mn,yF)));let tn=T===!0||D.navigation.formMethod!=null&&Ch(D.navigation.formMethod)&&((ft=fe.state)==null?void 0:ft._isRedirect)!==!0;a&&(s=a,a=void 0),A||M===Ds.Pop||(M===Ds.Push?n.history.push(fe,fe.state):M===Ds.Replace&&n.history.replace(fe,fe.state));let Jt;if(M===Ds.Pop){let qt=R.get(D.location.pathname);qt&&qt.has(fe.pathname)?Jt={currentLocation:D.location,nextLocation:fe}:R.has(fe.pathname)&&(Jt={currentLocation:fe,nextLocation:D.location})}else if(E){let qt=R.get(D.location.pathname);qt?qt.add(fe.pathname):(qt=new Set([fe.pathname]),R.set(D.location.pathname,qt)),Jt={currentLocation:D.location,nextLocation:fe}}De(ns({},_e,{actionData:rt,loaderData:yt,historyAction:M,location:fe,initialized:!0,navigation:Cz,revalidation:"idle",restoreScrollPosition:Et(fe,_e.matches||D.matches),preventScrollReset:tn,blockers:Ft}),{viewTransitionOpts:Jt,flushSync:Nt===!0}),M=Ds.Pop,T=!1,E=!1,A=!1,z=!1,O=[],B=[]}async function Ne(fe,_e){if(typeof fe=="number"){n.history.go(fe);return}let We=Sz(D.location,D.matches,l,c.v7_prependBasename,fe,c.v7_relativeSplatPath,_e==null?void 0:_e.fromRouteId,_e==null?void 0:_e.relative),{path:Xe,submission:ft,error:Nt}=sfe(c.v7_normalizeFormMethod,!1,We,_e),et=D.location,rt=Kw(D.location,Xe,_e&&_e.state);rt=ns({},rt,n.history.encodeLocation(rt));let yt=_e&&_e.replace!=null?_e.replace:void 0,Ft=Ds.Push;yt===!0?Ft=Ds.Replace:yt===!1||ft!=null&&Ch(ft.formMethod)&&ft.formAction===D.location.pathname+D.location.search&&(Ft=Ds.Replace);let tn=_e&&"preventScrollReset"in _e?_e.preventScrollReset===!0:void 0,Jt=(_e&&_e.unstable_flushSync)===!0,qt=Kt({currentLocation:et,nextLocation:rt,historyAction:Ft});if(qt){St(qt,{state:"blocked",location:rt,proceed(){St(qt,{state:"proceeding",proceed:void 0,reset:void 0,location:rt}),Ne(fe,_e)},reset(){let Mn=new Map(D.blockers);Mn.set(qt,yF),De({blockers:Mn})}});return}return await He(Ft,rt,{submission:ft,pendingError:Nt,preventScrollReset:tn,replace:_e&&_e.replace,enableViewTransition:_e&&_e.unstable_viewTransition,flushSync:Jt})}function Ue(){if(q(),De({revalidation:"loading"}),D.navigation.state!=="submitting"){if(D.navigation.state==="idle"){He(D.historyAction,D.location,{startUninterruptedRevalidation:!0});return}He(M||D.historyAction,D.navigation.location,{overrideNavigation:D.navigation})}}async function He(fe,_e,We){Z&&Z.abort(),Z=null,M=fe,A=(We&&We.startUninterruptedRevalidation)===!0,li(D.location,D.matches),T=(We&&We.preventScrollReset)===!0,E=(We&&We.enableViewTransition)===!0;let Xe=a||s,ft=We&&We.overrideNavigation,Nt=jw(Xe,_e,l),et=(We&&We.flushSync)===!0;if(!Nt){let qt=Cd(404,{pathname:_e.pathname}),{matches:Mn,route:mn}=pfe(Xe);Rt(),ke(_e,{matches:Mn,loaderData:{},errors:{[mn.id]:qt}},{flushSync:et});return}if(D.initialized&&!z&&art(D.location,_e)&&!(We&&We.submission&&Ch(We.submission.formMethod))){ke(_e,{matches:Nt},{flushSync:et});return}Z=new AbortController;let rt=Qw(n.history,_e,Z.signal,We&&We.submission),yt;if(We&&We.pendingError)yt=[CF(Nt).route.id,{type:Uo.error,error:We.pendingError}];else if(We&&We.submission&&Ch(We.submission.formMethod)){let qt=await ct(rt,_e,We.submission,Nt,{replace:We.replace,flushSync:et});if(qt.shortCircuited)return;yt=qt.pendingActionResult,ft=Fz(_e,We.submission),et=!1,rt=Qw(n.history,rt.url,rt.signal)}let{shortCircuited:Ft,loaderData:tn,errors:Jt}=await vt(rt,_e,Nt,ft,We&&We.submission,We&&We.fetcherSubmission,We&&We.replace,We&&We.initialHydration===!0,et,yt);Ft||(Z=null,ke(_e,ns({matches:Nt},gfe(yt),{loaderData:tn,errors:Jt})))}async function ct(fe,_e,We,Xe,ft){ft===void 0&&(ft={}),q();let Nt=drt(_e,We);De({navigation:Nt},{flushSync:ft.flushSync===!0});let et,rt=_z(Xe,_e);if(!rt.route.action&&!rt.route.lazy)et={type:Uo.error,error:Cd(405,{method:fe.method,pathname:_e.pathname,routeId:rt.route.id})};else if(et=(await j("action",fe,[rt],Xe))[0],fe.signal.aborted)return{shortCircuited:!0};if(Zv(et)){let yt;return ft&&ft.replace!=null?yt=ft.replace:yt=dfe(et.response.headers.get("Location"),new URL(fe.url),l)===D.location.pathname+D.location.search,await me(fe,et,{submission:We,replace:yt}),{shortCircuited:!0}}if(Ev(et))throw Cd(400,{type:"defer-action"});if(wd(et)){let yt=CF(Xe,rt.route.id);return(ft&&ft.replace)!==!0&&(M=Ds.Push),{pendingActionResult:[yt.route.id,et]}}return{pendingActionResult:[rt.route.id,et]}}async function vt(fe,_e,We,Xe,ft,Nt,et,rt,yt,Ft){let tn=Xe||Fz(_e,ft),Jt=ft||Nt||Sfe(tn),qt=a||s,[Mn,mn]=afe(n.history,D,We,Jt,_e,c.v7_partialHydration&&rt===!0,c.unstable_skipActionErrorRevalidation,z,O,B,oe,V,Y,qt,l,Ft);if(Rt(rn=>!(We&&We.some(fi=>fi.route.id===rn))||Mn&&Mn.some(fi=>fi.route.id===rn)),k=++H,Mn.length===0&&mn.length===0){let rn=ht();return ke(_e,ns({matches:We,loaderData:{},errors:Ft&&wd(Ft[1])?{[Ft[0]]:Ft[1].error}:null},gfe(Ft),rn?{fetchers:new Map(D.fetchers)}:{}),{flushSync:yt}),{shortCircuited:!0}}if(!A&&(!c.v7_partialHydration||!rt)){mn.forEach(fi=>{let _n=D.fetchers.get(fi.key),gi=wF(void 0,_n?_n.data:void 0);D.fetchers.set(fi.key,gi)});let rn;Ft&&!wd(Ft[1])?rn={[Ft[0]]:Ft[1].data}:D.actionData&&(Object.keys(D.actionData).length===0?rn=null:rn=D.actionData),De(ns({navigation:tn},rn!==void 0?{actionData:rn}:{},mn.length>0?{fetchers:new Map(D.fetchers)}:{}),{flushSync:yt})}mn.forEach(rn=>{P.has(rn.key)&&$e(rn.key),rn.controller&&P.set(rn.key,rn.controller)});let Ot=()=>mn.forEach(rn=>$e(rn.key));Z&&Z.signal.addEventListener("abort",Ot);let{loaderResults:gn,fetcherResults:Tt}=await $(D.matches,We,Mn,mn,fe);if(fe.signal.aborted)return{shortCircuited:!0};Z&&Z.signal.removeEventListener("abort",Ot),mn.forEach(rn=>P.delete(rn.key));let we=bfe([...gn,...Tt]);if(we){if(we.idx>=Mn.length){let rn=mn[we.idx-Mn.length].key;Y.add(rn)}return await me(fe,we.result,{replace:et}),{shortCircuited:!0}}let{loaderData:Ke,errors:dt}=mfe(D,We,Mn,gn,Ft,mn,Tt,ae);ae.forEach((rn,fi)=>{rn.subscribe(_n=>{(_n||rn.done)&&ae.delete(fi)})}),c.v7_partialHydration&&rt&&D.errors&&Object.entries(D.errors).filter(rn=>{let[fi]=rn;return!Mn.some(_n=>_n.route.id===fi)}).forEach(rn=>{let[fi,_n]=rn;dt=Object.assign(dt||{},{[fi]:_n})});let nn=ht(),jn=Ye(k),Wn=nn||jn||mn.length>0;return ns({loaderData:Ke,errors:dt},Wn?{fetchers:new Map(D.fetchers)}:{})}function it(fe,_e,We,Xe){if(i)throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");P.has(fe)&&$e(fe);let ft=(Xe&&Xe.unstable_flushSync)===!0,Nt=a||s,et=Sz(D.location,D.matches,l,c.v7_prependBasename,We,c.v7_relativeSplatPath,_e,Xe==null?void 0:Xe.relative),rt=jw(Nt,et,l);if(!rt){ve(fe,_e,Cd(404,{pathname:et}),{flushSync:ft});return}let{path:yt,submission:Ft,error:tn}=sfe(c.v7_normalizeFormMethod,!0,et,Xe);if(tn){ve(fe,_e,tn,{flushSync:ft});return}let Jt=_z(rt,yt);if(T=(Xe&&Xe.preventScrollReset)===!0,Ft&&Ch(Ft.formMethod)){he(fe,_e,yt,Jt,rt,ft,Ft);return}V.set(fe,{routeId:_e,path:yt}),de(fe,_e,yt,Jt,rt,ft,Ft)}async function he(fe,_e,We,Xe,ft,Nt,et){if(q(),V.delete(fe),!Xe.route.action&&!Xe.route.lazy){let gi=Cd(405,{method:et.formMethod,pathname:We,routeId:_e});ve(fe,_e,gi,{flushSync:Nt});return}let rt=D.fetchers.get(fe);ee(fe,hrt(et,rt),{flushSync:Nt});let yt=new AbortController,Ft=Qw(n.history,We,yt.signal,et);P.set(fe,yt);let tn=H,qt=(await j("action",Ft,[Xe],ft))[0];if(Ft.signal.aborted){P.get(fe)===yt&&P.delete(fe);return}if(c.v7_fetcherPersist&&oe.has(fe)){if(Zv(qt)||wd(qt)){ee(fe,kb(void 0));return}}else{if(Zv(qt))if(P.delete(fe),k>tn){ee(fe,kb(void 0));return}else return Y.add(fe),ee(fe,wF(et)),me(Ft,qt,{fetcherSubmission:et});if(wd(qt)){ve(fe,_e,qt.error);return}}if(Ev(qt))throw Cd(400,{type:"defer-action"});let Mn=D.navigation.location||D.location,mn=Qw(n.history,Mn,yt.signal),Ot=a||s,gn=D.navigation.state!=="idle"?jw(Ot,D.navigation.location,l):D.matches;Oi(gn,"Didn't find any matches after fetcher action");let Tt=++H;X.set(fe,Tt);let we=wF(et,qt.data);D.fetchers.set(fe,we);let[Ke,dt]=afe(n.history,D,gn,et,Mn,!1,c.unstable_skipActionErrorRevalidation,z,O,B,oe,V,Y,Ot,l,[Xe.route.id,qt]);dt.filter(gi=>gi.key!==fe).forEach(gi=>{let Hr=gi.key,As=D.fetchers.get(Hr),cs=wF(void 0,As?As.data:void 0);D.fetchers.set(Hr,cs),P.has(Hr)&&$e(Hr),gi.controller&&P.set(Hr,gi.controller)}),De({fetchers:new Map(D.fetchers)});let nn=()=>dt.forEach(gi=>$e(gi.key));yt.signal.addEventListener("abort",nn);let{loaderResults:jn,fetcherResults:Wn}=await $(D.matches,gn,Ke,dt,mn);if(yt.signal.aborted)return;yt.signal.removeEventListener("abort",nn),X.delete(fe),P.delete(fe),dt.forEach(gi=>P.delete(gi.key));let rn=bfe([...jn,...Wn]);if(rn){if(rn.idx>=Ke.length){let gi=dt[rn.idx-Ke.length].key;Y.add(gi)}return me(mn,rn.result)}let{loaderData:fi,errors:_n}=mfe(D,D.matches,Ke,jn,void 0,dt,Wn,ae);if(D.fetchers.has(fe)){let gi=kb(qt.data);D.fetchers.set(fe,gi)}Ye(Tt),D.navigation.state==="loading"&&Tt>k?(Oi(M,"Expected pending action"),Z&&Z.abort(),ke(D.navigation.location,{matches:gn,loaderData:fi,errors:_n,fetchers:new Map(D.fetchers)})):(De({errors:_n,loaderData:ffe(D.loaderData,fi,gn,_n),fetchers:new Map(D.fetchers)}),z=!1)}async function de(fe,_e,We,Xe,ft,Nt,et){let rt=D.fetchers.get(fe);ee(fe,wF(et,rt?rt.data:void 0),{flushSync:Nt});let yt=new AbortController,Ft=Qw(n.history,We,yt.signal);P.set(fe,yt);let tn=H,qt=(await j("loader",Ft,[Xe],ft))[0];if(Ev(qt)&&(qt=await wfe(qt,Ft.signal,!0)||qt),P.get(fe)===yt&&P.delete(fe),!Ft.signal.aborted){if(oe.has(fe)){ee(fe,kb(void 0));return}if(Zv(qt))if(k>tn){ee(fe,kb(void 0));return}else{Y.add(fe),await me(Ft,qt);return}if(wd(qt)){ve(fe,_e,qt.error);return}Oi(!Ev(qt),"Unhandled fetcher deferred data"),ee(fe,kb(qt.data))}}async function me(fe,_e,We){let{submission:Xe,fetcherSubmission:ft,replace:Nt}=We===void 0?{}:We;_e.response.headers.has("X-Remix-Revalidate")&&(z=!0);let et=_e.response.headers.get("Location");Oi(et,"Expected a Location header on the redirect Response"),et=dfe(et,new URL(fe.url),l);let rt=Kw(D.location,et,{_isRedirect:!0});if(t){let Mn=!1;if(_e.response.headers.has("X-Remix-Reload-Document"))Mn=!0;else if(wz.test(et)){const mn=n.history.createURL(et);Mn=mn.origin!==e.location.origin||vF(mn.pathname,l)==null}if(Mn){Nt?e.location.replace(et):e.location.assign(et);return}}Z=null;let yt=Nt===!0?Ds.Replace:Ds.Push,{formMethod:Ft,formAction:tn,formEncType:Jt}=D.navigation;!Xe&&!ft&&Ft&&tn&&Jt&&(Xe=Sfe(D.navigation));let qt=Xe||ft;if(Jit.has(_e.response.status)&&qt&&Ch(qt.formMethod))await He(yt,rt,{submission:ns({},qt,{formAction:et}),preventScrollReset:T});else{let Mn=Fz(rt,Xe);await He(yt,rt,{overrideNavigation:Mn,fetcherSubmission:ft,preventScrollReset:T})}}async function j(fe,_e,We,Xe){try{let ft=await nrt(u,fe,_e,We,Xe,o,r);return await Promise.all(ft.map((Nt,et)=>{if(lrt(Nt)){let rt=Nt.result;return{type:Uo.redirect,response:ort(rt,_e,We[et].route.id,Xe,l,c.v7_relativeSplatPath)}}return rrt(Nt)}))}catch(ft){return We.map(()=>({type:Uo.error,error:ft}))}}async function $(fe,_e,We,Xe,ft){let[Nt,...et]=await Promise.all([We.length?j("loader",ft,We,_e):[],...Xe.map(rt=>{if(rt.matches&&rt.match&&rt.controller){let yt=Qw(n.history,rt.path,rt.controller.signal);return j("loader",yt,[rt.match],rt.matches).then(Ft=>Ft[0])}else return Promise.resolve({type:Uo.error,error:Cd(404,{pathname:rt.path})})})]);return await Promise.all([Cfe(fe,We,Nt,Nt.map(()=>ft.signal),!1,D.loaderData),Cfe(fe,Xe.map(rt=>rt.match),et,Xe.map(rt=>rt.controller?rt.controller.signal:null),!0)]),{loaderResults:Nt,fetcherResults:et}}function q(){z=!0,O.push(...Rt()),V.forEach((fe,_e)=>{P.has(_e)&&(B.push(_e),$e(_e))})}function ee(fe,_e,We){We===void 0&&(We={}),D.fetchers.set(fe,_e),De({fetchers:new Map(D.fetchers)},{flushSync:(We&&We.flushSync)===!0})}function ve(fe,_e,We,Xe){Xe===void 0&&(Xe={});let ft=CF(D.matches,_e);Me(fe),De({errors:{[ft.route.id]:We},fetchers:new Map(D.fetchers)},{flushSync:(Xe&&Xe.flushSync)===!0})}function Le(fe){return c.v7_fetcherPersist&&(te.set(fe,(te.get(fe)||0)+1),oe.has(fe)&&oe.delete(fe)),D.fetchers.get(fe)||jit}function Me(fe){let _e=D.fetchers.get(fe);P.has(fe)&&!(_e&&_e.state==="loading"&&X.has(fe))&&$e(fe),V.delete(fe),X.delete(fe),Y.delete(fe),oe.delete(fe),D.fetchers.delete(fe)}function Be(fe){if(c.v7_fetcherPersist){let _e=(te.get(fe)||0)-1;_e<=0?(te.delete(fe),oe.add(fe)):te.set(fe,_e)}else Me(fe);De({fetchers:new Map(D.fetchers)})}function $e(fe){let _e=P.get(fe);Oi(_e,"Expected fetch controller: "+fe),_e.abort(),P.delete(fe)}function Re(fe){for(let _e of fe){let We=Le(_e),Xe=kb(We.data);D.fetchers.set(_e,Xe)}}function ht(){let fe=[],_e=!1;for(let We of Y){let Xe=D.fetchers.get(We);Oi(Xe,"Expected fetcher: "+We),Xe.state==="loading"&&(Y.delete(We),fe.push(We),_e=!0)}return Re(fe),_e}function Ye(fe){let _e=[];for(let[We,Xe]of X)if(Xe0}function Ge(fe,_e){let We=D.blockers.get(fe)||yF;return le.get(fe)!==_e&&le.set(fe,_e),We}function mt(fe){D.blockers.delete(fe),le.delete(fe)}function St(fe,_e){let We=D.blockers.get(fe)||yF;Oi(We.state==="unblocked"&&_e.state==="blocked"||We.state==="blocked"&&_e.state==="blocked"||We.state==="blocked"&&_e.state==="proceeding"||We.state==="blocked"&&_e.state==="unblocked"||We.state==="proceeding"&&_e.state==="unblocked","Invalid blocker state transition: "+We.state+" -> "+_e.state);let Xe=new Map(D.blockers);Xe.set(fe,_e),De({blockers:Xe})}function Kt(fe){let{currentLocation:_e,nextLocation:We,historyAction:Xe}=fe;if(le.size===0)return;le.size>1&&Tv(!1,"A router only supports one blocker at a time");let ft=Array.from(le.entries()),[Nt,et]=ft[ft.length-1],rt=D.blockers.get(Nt);if(!(rt&&rt.state==="proceeding")&&et({currentLocation:_e,nextLocation:We,historyAction:Xe}))return Nt}function Rt(fe){let _e=[];return ae.forEach((We,Xe)=>{(!fe||fe(Xe))&&(We.cancel(),_e.push(Xe),ae.delete(Xe))}),_e}function Yt(fe,_e,We){if(m=fe,g=_e,f=We||null,!b&&D.navigation===Cz){b=!0;let Xe=Et(D.location,D.matches);Xe!=null&&De({restoreScrollPosition:Xe})}return()=>{m=null,g=null,f=null}}function Tn(fe,_e){return f&&f(fe,_e.map(Xe=>Fit(Xe,D.loaderData)))||fe.key}function li(fe,_e){if(m&&g){let We=Tn(fe,_e);m[We]=g()}}function Et(fe,_e){if(m){let We=Tn(fe,_e),Xe=m[We];if(typeof Xe=="number")return Xe}return null}function kt(fe){o={},a=fz(fe,r,void 0,o)}return F={get basename(){return l},get future(){return c},get state(){return D},get routes(){return s},get window(){return e},initialize:Ce,subscribe:ce,enableScrollRestoration:Yt,navigate:Ne,fetch:it,revalidate:Ue,createHref:fe=>n.history.createHref(fe),encodeLocation:fe=>n.history.encodeLocation(fe),getFetcher:Le,deleteFetcher:Be,dispose:pe,getBlocker:Ge,deleteBlocker:mt,_internalFetchControllers:P,_internalActiveDeferreds:ae,_internalSetRoutes:kt},F}function $it(n){return n!=null&&("formData"in n&&n.formData!=null||"body"in n&&n.body!==void 0)}function Sz(n,e,t,i,r,o,s,a){let l,u;if(s){l=[];for(let d of e)if(l.push(d),d.route.id===s){u=d;break}}else l=e,u=e[e.length-1];let c=bz(r||".",pz(l,o),vF(n.pathname,t)||n.pathname,a==="path");return r==null&&(c.search=n.search,c.hash=n.hash),(r==null||r===""||r===".")&&u&&u.route.index&&!Lz(c.search)&&(c.search=c.search?c.search.replace(/^\?/,"?index&"):"?index"),i&&t!=="/"&&(c.pathname=c.pathname==="/"?t:Mb([t,c.pathname])),Jw(c)}function sfe(n,e,t,i){if(!i||!$it(i))return{path:t};if(i.formMethod&&!crt(i.formMethod))return{path:t,error:Cd(405,{method:i.formMethod})};let r=()=>({path:t,error:Cd(400,{type:"invalid-body"})}),o=i.formMethod||"get",s=n?o.toUpperCase():o.toLowerCase(),a=vfe(t);if(i.body!==void 0){if(i.formEncType==="text/plain"){if(!Ch(s))return r();let h=typeof i.body=="string"?i.body:i.body instanceof FormData||i.body instanceof URLSearchParams?Array.from(i.body.entries()).reduce((m,f)=>{let[g,b]=f;return""+m+g+"="+b+` -`},""):String(i.body);return{path:t,submission:{formMethod:s,formAction:a,formEncType:i.formEncType,formData:void 0,json:void 0,text:h}}}else if(i.formEncType==="application/json"){if(!Ch(s))return r();try{let h=typeof i.body=="string"?JSON.parse(i.body):i.body;return{path:t,submission:{formMethod:s,formAction:a,formEncType:i.formEncType,formData:void 0,json:h,text:void 0}}}catch{return r()}}}Oi(typeof FormData=="function","FormData is not available in this environment");let l,u;if(i.formData)l=xz(i.formData),u=i.formData;else if(i.body instanceof FormData)l=xz(i.body),u=i.body;else if(i.body instanceof URLSearchParams)l=i.body,u=hfe(l);else if(i.body==null)l=new URLSearchParams,u=new FormData;else try{l=new URLSearchParams(i.body),u=hfe(l)}catch{return r()}let c={formMethod:s,formAction:a,formEncType:i&&i.formEncType||"application/x-www-form-urlencoded",formData:u,json:void 0,text:void 0};if(Ch(c.formMethod))return{path:t,submission:c};let d=Nm(t);return e&&d.search&&Lz(d.search)&&l.append("index",""),d.search="?"+l,{path:Jw(d),submission:c}}function qit(n,e){let t=n;if(e){let i=n.findIndex(r=>r.route.id===e);i>=0&&(t=n.slice(0,i))}return t}function afe(n,e,t,i,r,o,s,a,l,u,c,d,h,m,f,g){let b=g?wd(g[1])?g[1].error:g[1].data:void 0,v=n.createURL(e.location),C=n.createURL(r),S=g&&wd(g[1])?g[0]:void 0,x=S?qit(t,S):t,_=g?g[1].statusCode:void 0,F=s&&_&&_>=400,D=x.filter((T,Z)=>{let{route:E}=T;if(E.lazy)return!0;if(E.loader==null)return!1;if(o)return typeof E.loader!="function"||E.loader.hydrate?!0:e.loaderData[E.id]===void 0&&(!e.errors||e.errors[E.id]===void 0);if(ert(e.loaderData,e.matches[Z],T)||l.some(A=>A===T.route.id))return!0;let R=e.matches[Z],W=T;return ufe(T,ns({currentUrl:v,currentParams:R.params,nextUrl:C,nextParams:W.params},i,{actionResult:b,unstable_actionStatus:_,defaultShouldRevalidate:F?!1:a||v.pathname+v.search===C.pathname+C.search||v.search!==C.search||lfe(R,W)}))}),M=[];return d.forEach((T,Z)=>{if(o||!t.some(z=>z.route.id===T.routeId)||c.has(Z))return;let E=jw(m,T.path,f);if(!E){M.push({key:Z,routeId:T.routeId,path:T.path,matches:null,match:null,controller:null});return}let R=e.fetchers.get(Z),W=_z(E,T.path),A=!1;h.has(Z)?A=!1:u.includes(Z)?A=!0:R&&R.state!=="idle"&&R.data===void 0?A=a:A=ufe(W,ns({currentUrl:v,currentParams:e.matches[e.matches.length-1].params,nextUrl:C,nextParams:t[t.length-1].params},i,{actionResult:b,unstable_actionStatus:_,defaultShouldRevalidate:F?!1:a})),A&&M.push({key:Z,routeId:T.routeId,path:T.path,matches:E,match:W,controller:new AbortController})}),[D,M]}function ert(n,e,t){let i=!e||t.route.id!==e.route.id,r=n[t.route.id]===void 0;return i||r}function lfe(n,e){let t=n.route.path;return n.pathname!==e.pathname||t!=null&&t.endsWith("*")&&n.params["*"]!==e.params["*"]}function ufe(n,e){if(n.route.shouldRevalidate){let t=n.route.shouldRevalidate(e);if(typeof t=="boolean")return t}return e.defaultShouldRevalidate}async function cfe(n,e,t){if(!n.lazy)return;let i=await n.lazy();if(!n.lazy)return;let r=t[n.id];Oi(r,"No route found in manifest");let o={};for(let s in i){let l=r[s]!==void 0&&s!=="hasErrorBoundary";Tv(!l,'Route "'+r.id+'" has a static property "'+s+'" defined but its lazy function is also returning a value for this property. '+('The lazy route property "'+s+'" will be ignored.')),!l&&!Lit.has(s)&&(o[s]=i[s])}Object.assign(r,o),Object.assign(r,ns({},e(r),{lazy:void 0}))}function trt(n){return Promise.all(n.matches.map(e=>e.resolve()))}async function nrt(n,e,t,i,r,o,s,a){let l=i.reduce((d,h)=>d.add(h.route.id),new Set),u=new Set,c=await n({matches:r.map(d=>{let h=l.has(d.route.id);return ns({},d,{shouldLoad:h,resolve:f=>(u.add(d.route.id),h?irt(e,t,d,o,s,f,a):Promise.resolve({type:Uo.data,result:void 0}))})}),request:t,params:r[0].params,context:a});return r.forEach(d=>Oi(u.has(d.route.id),'`match.resolve()` was not called for route id "'+d.route.id+'". You must call `match.resolve()` on every match passed to `dataStrategy` to ensure all routes are properly loaded.')),c.filter((d,h)=>l.has(r[h].route.id))}async function irt(n,e,t,i,r,o,s){let a,l,u=c=>{let d,h=new Promise((g,b)=>d=b);l=()=>d(),e.signal.addEventListener("abort",l);let m=g=>typeof c!="function"?Promise.reject(new Error("You cannot call the handler for a route which defines a boolean "+('"'+n+'" [routeId: '+t.route.id+"]"))):c({request:e,params:t.params,context:s},...g!==void 0?[g]:[]),f;return o?f=o(g=>m(g)):f=(async()=>{try{return{type:"data",result:await m()}}catch(g){return{type:"error",result:g}}})(),Promise.race([f,h])};try{let c=t.route[n];if(t.route.lazy)if(c){let d,[h]=await Promise.all([u(c).catch(m=>{d=m}),cfe(t.route,r,i)]);if(d!==void 0)throw d;a=h}else if(await cfe(t.route,r,i),c=t.route[n],c)a=await u(c);else if(n==="action"){let d=new URL(e.url),h=d.pathname+d.search;throw Cd(405,{method:e.method,pathname:h,routeId:t.route.id})}else return{type:Uo.data,result:void 0};else if(c)a=await u(c);else{let d=new URL(e.url),h=d.pathname+d.search;throw Cd(404,{pathname:h})}Oi(a.result!==void 0,"You defined "+(n==="action"?"an action":"a loader")+" for route "+('"'+t.route.id+"\" but didn't return anything from your `"+n+"` ")+"function. Please return a value or `null`.")}catch(c){return{type:Uo.error,result:c}}finally{l&&e.signal.removeEventListener("abort",l)}return a}async function rrt(n){let{result:e,type:t,status:i}=n;if(yfe(e)){let s;try{let a=e.headers.get("Content-Type");a&&/\bapplication\/json\b/.test(a)?e.body==null?s=null:s=await e.json():s=await e.text()}catch(a){return{type:Uo.error,error:a}}return t===Uo.error?{type:Uo.error,error:new vz(e.status,e.statusText,s),statusCode:e.status,headers:e.headers}:{type:Uo.data,data:s,statusCode:e.status,headers:e.headers}}if(t===Uo.error)return{type:Uo.error,error:e,statusCode:yz(e)?e.status:i};if(urt(e)){var r,o;return{type:Uo.deferred,deferredData:e,statusCode:(r=e.init)==null?void 0:r.status,headers:((o=e.init)==null?void 0:o.headers)&&new Headers(e.init.headers)}}return{type:Uo.data,data:e,statusCode:i}}function ort(n,e,t,i,r,o){let s=n.headers.get("Location");if(Oi(s,"Redirects returned/thrown from loaders/actions must have a Location header"),!wz.test(s)){let a=i.slice(0,i.findIndex(l=>l.route.id===t)+1);s=Sz(new URL(e.url),a,r,!0,s,o),n.headers.set("Location",s)}return n}function dfe(n,e,t){if(wz.test(n)){let i=n,r=i.startsWith("//")?new URL(e.protocol+i):new URL(i),o=vF(r.pathname,t)!=null;if(r.origin===e.origin&&o)return r.pathname+r.search+r.hash}return n}function Qw(n,e,t,i){let r=n.createURL(vfe(e)).toString(),o={signal:t};if(i&&Ch(i.formMethod)){let{formMethod:s,formEncType:a}=i;o.method=s.toUpperCase(),a==="application/json"?(o.headers=new Headers({"Content-Type":a}),o.body=JSON.stringify(i.json)):a==="text/plain"?o.body=i.text:a==="application/x-www-form-urlencoded"&&i.formData?o.body=xz(i.formData):o.body=i.formData}return new Request(r,o)}function xz(n){let e=new URLSearchParams;for(let[t,i]of n.entries())e.append(t,typeof i=="string"?i:i.name);return e}function hfe(n){let e=new FormData;for(let[t,i]of n.entries())e.append(t,i);return e}function srt(n,e,t,i,r,o){let s={},a=null,l,u=!1,c={},d=i&&wd(i[1])?i[1].error:void 0;return t.forEach((h,m)=>{let f=e[m].route.id;if(Oi(!Zv(h),"Cannot handle redirect results in processLoaderData"),wd(h)){let g=h.error;if(d!==void 0&&(g=d,d=void 0),a=a||{},o)a[f]=g;else{let b=CF(n,f);a[b.route.id]==null&&(a[b.route.id]=g)}s[f]=void 0,u||(u=!0,l=yz(h.error)?h.error.status:500),h.headers&&(c[f]=h.headers)}else Ev(h)?(r.set(f,h.deferredData),s[f]=h.deferredData.data,h.statusCode!=null&&h.statusCode!==200&&!u&&(l=h.statusCode),h.headers&&(c[f]=h.headers)):(s[f]=h.data,h.statusCode&&h.statusCode!==200&&!u&&(l=h.statusCode),h.headers&&(c[f]=h.headers))}),d!==void 0&&i&&(a={[i[0]]:d},s[i[0]]=void 0),{loaderData:s,errors:a,statusCode:l||200,loaderHeaders:c}}function mfe(n,e,t,i,r,o,s,a){let{loaderData:l,errors:u}=srt(e,t,i,r,a,!1);for(let c=0;ci.route.id===e)+1):[...n]).reverse().find(i=>i.route.hasErrorBoundary===!0)||n[0]}function pfe(n){let e=n.length===1?n[0]:n.find(t=>t.index||!t.path||t.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:e}],route:e}}function Cd(n,e){let{pathname:t,routeId:i,method:r,type:o}=e===void 0?{}:e,s="Unknown Server Error",a="Unknown @remix-run/router error";return n===400?(s="Bad Request",r&&t&&i?a="You made a "+r+' request to "'+t+'" but '+('did not provide a `loader` for route "'+i+'", ')+"so there is no way to handle the request.":o==="defer-action"?a="defer() is not supported in actions":o==="invalid-body"&&(a="Unable to encode submission body")):n===403?(s="Forbidden",a='Route "'+i+'" does not match URL "'+t+'"'):n===404?(s="Not Found",a='No route matches URL "'+t+'"'):n===405&&(s="Method Not Allowed",r&&t&&i?a="You made a "+r.toUpperCase()+' request to "'+t+'" but '+('did not provide an `action` for route "'+i+'", ')+"so there is no way to handle the request.":r&&(a='Invalid request method "'+r.toUpperCase()+'"')),new vz(n||500,s,new Error(a),!0)}function bfe(n){for(let e=n.length-1;e>=0;e--){let t=n[e];if(Zv(t))return{result:t,idx:e}}}function vfe(n){let e=typeof n=="string"?Nm(n):n;return Jw(ns({},e,{hash:""}))}function art(n,e){return n.pathname!==e.pathname||n.search!==e.search?!1:n.hash===""?e.hash!=="":n.hash===e.hash?!0:e.hash!==""}function lrt(n){return yfe(n.result)&&Kit.has(n.result.status)}function Ev(n){return n.type===Uo.deferred}function wd(n){return n.type===Uo.error}function Zv(n){return(n&&n.type)===Uo.redirect}function urt(n){let e=n;return e&&typeof e=="object"&&typeof e.data=="object"&&typeof e.subscribe=="function"&&typeof e.cancel=="function"&&typeof e.resolveData=="function"}function yfe(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.headers=="object"&&typeof n.body<"u"}function crt(n){return Uit.has(n.toLowerCase())}function Ch(n){return Hit.has(n.toLowerCase())}async function Cfe(n,e,t,i,r,o){for(let s=0;sd.route.id===l.route.id),c=u!=null&&!lfe(u,l)&&(o&&o[l.route.id])!==void 0;if(Ev(a)&&(r||c)){let d=i[s];Oi(d,"Expected an AbortSignal for revalidating fetcher deferred result"),await wfe(a,d,r).then(h=>{h&&(t[s]=h||t[s])})}}}async function wfe(n,e,t){if(t===void 0&&(t=!1),!await n.deferredData.resolveData(e)){if(t)try{return{type:Uo.data,data:n.deferredData.unwrappedData}}catch(r){return{type:Uo.error,error:r}}return{type:Uo.data,data:n.deferredData.data}}}function Lz(n){return new URLSearchParams(n).getAll("index").some(e=>e==="")}function _z(n,e){let t=typeof e=="string"?Nm(e).search:e.search;if(n[n.length-1].route.index&&Lz(t||""))return n[n.length-1];let i=nfe(n);return i[i.length-1]}function Sfe(n){let{formMethod:e,formAction:t,formEncType:i,text:r,formData:o,json:s}=n;if(!(!e||!t||!i)){if(r!=null)return{formMethod:e,formAction:t,formEncType:i,formData:void 0,json:void 0,text:r};if(o!=null)return{formMethod:e,formAction:t,formEncType:i,formData:o,json:void 0,text:void 0};if(s!==void 0)return{formMethod:e,formAction:t,formEncType:i,formData:void 0,json:s,text:void 0}}}function Fz(n,e){return e?{state:"loading",location:n,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text}:{state:"loading",location:n,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function drt(n,e){return{state:"submitting",location:n,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text}}function wF(n,e){return n?{state:"loading",formMethod:n.formMethod,formAction:n.formAction,formEncType:n.formEncType,formData:n.formData,json:n.json,text:n.text,data:e}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function hrt(n,e){return{state:"submitting",formMethod:n.formMethod,formAction:n.formAction,formEncType:n.formEncType,formData:n.formData,json:n.json,text:n.text,data:e?e.data:void 0}}function kb(n){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:n}}function mrt(n,e){try{let t=n.sessionStorage.getItem(rfe);if(t){let i=JSON.parse(t);for(let[r,o]of Object.entries(i||{}))o&&Array.isArray(o)&&e.set(r,new Set(o||[]))}}catch{}}function frt(n,e){if(e.size>0){let t={};for(let[i,r]of e)t[i]=[...r];try{n.sessionStorage.setItem(rfe,JSON.stringify(t))}catch(i){Tv(!1,"Failed to save applied view transitions in sessionStorage ("+i+").")}}}function SF(){return SF=Object.assign?Object.assign.bind():function(n){for(var e=1;e{a.current=!0}),w.useCallback(function(u,c){if(c===void 0&&(c={}),!a.current)return;if(typeof u=="number"){i.go(u);return}let d=bz(u,JSON.parse(s),o,c.relative==="path");n==null&&e!=="/"&&(d.pathname=d.pathname==="/"?e:Mb([e,d.pathname])),(c.replace?i.replace:i.push)(d,c.state,c)},[e,i,s,o,n])}const prt=w.createContext(null);function brt(n){let e=w.useContext(vg).outlet;return e&&w.createElement(prt.Provider,{value:n},e)}function Ffe(){let{matches:n}=w.useContext(vg),e=n[n.length-1];return e?e.params:{}}function vrt(n,e,t,i){LF()||Oi(!1);let{navigator:r}=w.useContext(xF),{matches:o}=w.useContext(vg),s=o[o.length-1],a=s?s.params:{};s&&s.pathname;let l=s?s.pathnameBase:"/";s&&s.route;let u=Wv(),c;if(e){var d;let b=typeof e=="string"?Nm(e):e;l==="/"||(d=b.pathname)!=null&&d.startsWith(l)||Oi(!1),c=b}else c=u;let h=c.pathname||"/",m=h;if(l!=="/"){let b=l.replace(/^\//,"").split("/");m="/"+h.replace(/^\//,"").split("/").slice(b.length).join("/")}let f=jw(n,{pathname:m}),g=xrt(f&&f.map(b=>Object.assign({},b,{params:Object.assign({},a,b.params),pathname:Mb([l,r.encodeLocation?r.encodeLocation(b.pathname).pathname:b.pathname]),pathnameBase:b.pathnameBase==="/"?l:Mb([l,r.encodeLocation?r.encodeLocation(b.pathnameBase).pathname:b.pathnameBase])})),o,t,i);return e&&g?w.createElement(eZ.Provider,{value:{location:SF({pathname:"/",search:"",hash:"",state:null,key:"default"},c),navigationType:Ds.Pop}},g):g}function yrt(){let n=Irt(),e=yz(n)?n.status+" "+n.statusText:n instanceof Error?n.message:JSON.stringify(n),t=n instanceof Error?n.stack:null,r={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return w.createElement(w.Fragment,null,w.createElement("h2",null,"Unexpected Application Error!"),w.createElement("h3",{style:{fontStyle:"italic"}},e),t?w.createElement("pre",{style:r},t):null,null)}const Crt=w.createElement(yrt,null);class wrt extends w.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){}render(){return this.state.error!==void 0?w.createElement(vg.Provider,{value:this.props.routeContext},w.createElement(Lfe.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function Srt(n){let{routeContext:e,match:t,children:i}=n,r=w.useContext(q5);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),w.createElement(vg.Provider,{value:e},i)}function xrt(n,e,t,i){var r;if(e===void 0&&(e=[]),t===void 0&&(t=null),i===void 0&&(i=null),n==null){var o;if((o=t)!=null&&o.errors)n=t.matches;else return null}let s=n,a=(r=t)==null?void 0:r.errors;if(a!=null){let c=s.findIndex(d=>d.route.id&&(a==null?void 0:a[d.route.id])!==void 0);c>=0||Oi(!1),s=s.slice(0,Math.min(s.length,c+1))}let l=!1,u=-1;if(t&&i&&i.v7_partialHydration)for(let c=0;c=0?s=s.slice(0,u+1):s=[s[0]];break}}}return s.reduceRight((c,d,h)=>{let m,f=!1,g=null,b=null;t&&(m=a&&d.route.id?a[d.route.id]:void 0,g=d.route.errorElement||Crt,l&&(u<0&&h===0?(Mrt("route-fallback",!1),f=!0,b=null):u===h&&(f=!0,b=d.route.hydrateFallbackElement||null)));let v=e.concat(s.slice(0,h+1)),C=()=>{let S;return m?S=g:f?S=b:d.route.Component?S=w.createElement(d.route.Component,null):d.route.element?S=d.route.element:S=c,w.createElement(Srt,{match:d,routeContext:{outlet:c,matches:v,isDataRoute:t!=null},children:S})};return t&&(d.route.ErrorBoundary||d.route.errorElement||h===0)?w.createElement(wrt,{location:t.location,revalidation:t.revalidation,component:g,error:m,children:C(),routeContext:{outlet:null,matches:v,isDataRoute:!0}}):C()},null)}var Ife=function(n){return n.UseBlocker="useBlocker",n.UseRevalidator="useRevalidator",n.UseNavigateStable="useNavigate",n}(Ife||{}),tZ=function(n){return n.UseBlocker="useBlocker",n.UseLoaderData="useLoaderData",n.UseActionData="useActionData",n.UseRouteError="useRouteError",n.UseNavigation="useNavigation",n.UseRouteLoaderData="useRouteLoaderData",n.UseMatches="useMatches",n.UseRevalidator="useRevalidator",n.UseNavigateStable="useNavigate",n.UseRouteId="useRouteId",n}(tZ||{});function Lrt(n){let e=w.useContext(q5);return e||Oi(!1),e}function _rt(n){let e=w.useContext(xfe);return e||Oi(!1),e}function Frt(n){let e=w.useContext(vg);return e||Oi(!1),e}function Dfe(n){let e=Frt(),t=e.matches[e.matches.length-1];return t.route.id||Oi(!1),t.route.id}function Irt(){var n;let e=w.useContext(Lfe),t=_rt(tZ.UseRouteError),i=Dfe(tZ.UseRouteError);return e!==void 0?e:(n=t.errors)==null?void 0:n[i]}function Drt(){let{router:n}=Lrt(Ife.UseNavigateStable),e=Dfe(tZ.UseNavigateStable),t=w.useRef(!1);return _fe(()=>{t.current=!0}),w.useCallback(function(r,o){o===void 0&&(o={}),t.current&&(typeof r=="number"?n.navigate(r):n.navigate(r,SF({fromRouteId:e},o)))},[n,e])}const Mfe={};function Mrt(n,e,t){!e&&!Mfe[n]&&(Mfe[n]=!0)}function krt(n){let{to:e,replace:t,state:i,relative:r}=n;LF()||Oi(!1);let{future:o,static:s}=w.useContext(xF),{matches:a}=w.useContext(vg),{pathname:l}=Wv(),u=yg(),c=bz(e,pz(a,o.v7_relativeSplatPath),l,r==="path"),d=JSON.stringify(c);return w.useEffect(()=>u(JSON.parse(d),{replace:t,state:i,relative:r}),[u,d,r,t,i]),null}function kfe(n){return brt(n.context)}function Nrt(n){let{basename:e="/",children:t=null,location:i,navigationType:r=Ds.Pop,navigator:o,static:s=!1,future:a}=n;LF()&&Oi(!1);let l=e.replace(/^\/*/,"/"),u=w.useMemo(()=>({basename:l,navigator:o,static:s,future:SF({v7_relativeSplatPath:!1},a)}),[l,a,o,s]);typeof i=="string"&&(i=Nm(i));let{pathname:c="/",search:d="",hash:h="",state:m=null,key:f="default"}=i,g=w.useMemo(()=>{let b=vF(c,l);return b==null?null:{location:{pathname:b,search:d,hash:h,state:m,key:f},navigationType:r}},[l,c,d,h,m,f,r]);return g==null?null:w.createElement(xF.Provider,{value:u},w.createElement(eZ.Provider,{children:t,value:g}))}new Promise(()=>{});function Nfe(n){let e={hasErrorBoundary:n.ErrorBoundary!=null||n.errorElement!=null};return n.Component&&Object.assign(e,{element:w.createElement(n.Component),Component:void 0}),n.HydrateFallback&&Object.assign(e,{hydrateFallbackElement:w.createElement(n.HydrateFallback),HydrateFallback:void 0}),n.ErrorBoundary&&Object.assign(e,{errorElement:w.createElement(n.ErrorBoundary),ErrorBoundary:void 0}),e}function _F(){return _F=Object.assign?Object.assign.bind():function(n){for(var e=1;e{this.resolve=i=>{this.status==="pending"&&(this.status="resolved",e(i))},this.reject=i=>{this.status==="pending"&&(this.status="rejected",t(i))}})}}function Xrt(n){let{fallbackElement:e,router:t,future:i}=n,[r,o]=w.useState(t.state),[s,a]=w.useState(),[l,u]=w.useState({isTransitioning:!1}),[c,d]=w.useState(),[h,m]=w.useState(),[f,g]=w.useState(),b=w.useRef(new Map),{v7_startTransition:v}=i||{},C=w.useCallback(D=>{v?Art(D):D()},[v]),S=w.useCallback((D,M)=>{let{deletedFetchers:T,unstable_flushSync:Z,unstable_viewTransitionOpts:E}=M;T.forEach(W=>b.current.delete(W)),D.fetchers.forEach((W,A)=>{W.data!==void 0&&b.current.set(A,W.data)});let R=t.window==null||typeof t.window.document.startViewTransition!="function";if(!E||R){Z?FF(()=>o(D)):C(()=>o(D));return}if(Z){FF(()=>{h&&(c&&c.resolve(),h.skipTransition()),u({isTransitioning:!0,flushSync:!0,currentLocation:E.currentLocation,nextLocation:E.nextLocation})});let W=t.window.document.startViewTransition(()=>{FF(()=>o(D))});W.finished.finally(()=>{FF(()=>{d(void 0),m(void 0),a(void 0),u({isTransitioning:!1})})}),FF(()=>m(W));return}h?(c&&c.resolve(),h.skipTransition(),g({state:D,currentLocation:E.currentLocation,nextLocation:E.nextLocation})):(a(D),u({isTransitioning:!0,flushSync:!1,currentLocation:E.currentLocation,nextLocation:E.nextLocation}))},[t.window,h,c,b,C]);w.useLayoutEffect(()=>t.subscribe(S),[t,S]),w.useEffect(()=>{l.isTransitioning&&!l.flushSync&&d(new Grt)},[l]),w.useEffect(()=>{if(c&&s&&t.window){let D=s,M=c.promise,T=t.window.document.startViewTransition(async()=>{C(()=>o(D)),await M});T.finished.finally(()=>{d(void 0),m(void 0),a(void 0),u({isTransitioning:!1})}),m(T)}},[C,s,c,t.window]),w.useEffect(()=>{c&&s&&r.location.key===s.location.key&&c.resolve()},[c,h,r.location,s]),w.useEffect(()=>{!l.isTransitioning&&f&&(a(f.state),u({isTransitioning:!0,flushSync:!1,currentLocation:f.currentLocation,nextLocation:f.nextLocation}),g(void 0))},[l.isTransitioning,f]),w.useEffect(()=>{},[]);let x=w.useMemo(()=>({createHref:t.createHref,encodeLocation:t.encodeLocation,go:D=>t.navigate(D),push:(D,M,T)=>t.navigate(D,{state:M,preventScrollReset:T==null?void 0:T.preventScrollReset}),replace:(D,M,T)=>t.navigate(D,{replace:!0,state:M,preventScrollReset:T==null?void 0:T.preventScrollReset})}),[t]),_=t.basename||"/",F=w.useMemo(()=>({router:t,navigator:x,static:!1,basename:_}),[t,x,_]);return w.createElement(w.Fragment,null,w.createElement(q5.Provider,{value:F},w.createElement(xfe.Provider,{value:r},w.createElement(Vrt.Provider,{value:b.current},w.createElement(Rrt.Provider,{value:l},w.createElement(Nrt,{basename:_,location:r.location,navigationType:r.historyAction,navigator:x,future:{v7_relativeSplatPath:t.future.v7_relativeSplatPath}},r.initialized||t.future.v7_partialHydration?w.createElement(Prt,{routes:t.routes,future:t.future,state:r}):e))))),null)}function Prt(n){let{routes:e,future:t,state:i}=n;return vrt(e,void 0,i,t)}var Wfe;(function(n){n.UseScrollRestoration="useScrollRestoration",n.UseSubmit="useSubmit",n.UseSubmitFetcher="useSubmitFetcher",n.UseFetcher="useFetcher",n.useViewTransitionState="useViewTransitionState"})(Wfe||(Wfe={}));var Rfe;(function(n){n.UseFetcher="useFetcher",n.UseFetchers="useFetchers",n.UseScrollRestoration="useScrollRestoration"})(Rfe||(Rfe={}));function Ort({routes:n,isHashRouter:e}){const t=e?Zrt(n):Ert(n,{future:{v7_normalizeFormMethod:!0}});return se(Xrt,{router:t,fallbackElement:se(xue,{spinning:!0})})}const Brt=({children:n})=>se(w.Suspense,{fallback:se(xue,{spinning:!0,style:{position:"fixed",top:"50%",left:"50%"}}),children:n});var Iz=(n=>(n.light="light",n.dark="dark",n))(Iz||{});function zrt({children:n}){const{configInfo:e}=gh(),t=e==null?void 0:e.theme;return se(sEe,{theme:t==="dark"?Pi:fd,children:n})}var Hrt={name:"qzuz4p",styles:"cursor:pointer;opacity:0.6;&:hover{opacity:1;}"};function Dz(){const n=lo(),{configInfo:e,updateConfigInfo:t}=gh(),{theme:i}=e||{theme:"light"};return se("a",{css:Hrt,onClick:()=>t({...e,theme:i==="light"?"dark":"light"}),children:se(eqe,{fill:n.color.text})})}const Yrt={type:"logger",log(n){this.output("log",n)},warn(n){this.output("warn",n)},error(n){this.output("error",n)},output(n,e){console&&console[n]}};class nZ{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(e,t)}init(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||Yrt,this.options=t,this.debug=t.debug}log(){for(var e=arguments.length,t=new Array(e),i=0;i{this.observers[i]||(this.observers[i]=new Map);const r=this.observers[i].get(t)||0;this.observers[i].set(t,r+1)}),this}off(e,t){if(this.observers[e]){if(!t){delete this.observers[e];return}this.observers[e].delete(t)}}emit(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r{let[a,l]=s;for(let u=0;u{let[a,l]=s;for(let u=0;u{n=i,e=r});return t.resolve=n,t.reject=e,t}function Vfe(n){return n==null?"":""+n}function Urt(n,e,t){n.forEach(i=>{e[i]&&(t[i]=e[i])})}const Krt=/###/g;function DF(n,e,t){function i(a){return a&&a.indexOf("###")>-1?a.replace(Krt,"."):a}function r(){return!n||typeof n=="string"}const o=typeof e!="string"?e:e.split(".");let s=0;for(;s":">",'"':""","'":"'","/":"/"};function $rt(n){return typeof n=="string"?n.replace(/[&<>"'\/]/g,e=>Qrt[e]):n}class qrt{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(t!==void 0)return t;const i=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,i),this.regExpQueue.push(e),i}}const eot=[" ",",","?","!",";"],tot=new qrt(20);function not(n,e,t){e=e||"",t=t||"";const i=eot.filter(s=>e.indexOf(s)<0&&t.indexOf(s)<0);if(i.length===0)return!0;const r=tot.getRegExp(`(${i.map(s=>s==="?"?"\\?":s).join("|")})`);let o=!r.test(n);if(!o){const s=n.indexOf(t);s>0&&!r.test(n.substring(0,s))&&(o=!0)}return o}function Mz(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!n)return;if(n[e])return n[e];const i=e.split(t);let r=n;for(let o=0;o-1&&l0?n.replace("_","-"):n}class Xfe extends iZ{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const o=r.keySeparator!==void 0?r.keySeparator:this.options.keySeparator,s=r.ignoreJSONStructure!==void 0?r.ignoreJSONStructure:this.options.ignoreJSONStructure;let a;e.indexOf(".")>-1?a=e.split("."):(a=[e,t],i&&(Array.isArray(i)?a.push(...i):typeof i=="string"&&o?a.push(...i.split(o)):a.push(i)));const l=rZ(this.data,a);return!l&&!t&&!i&&e.indexOf(".")>-1&&(e=a[0],t=a[1],i=a.slice(2).join(".")),l||!s||typeof i!="string"?l:Mz(this.data&&this.data[e]&&this.data[e][t],i,o)}addResource(e,t,i,r){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator;let a=[e,t];i&&(a=a.concat(s?i.split(s):i)),e.indexOf(".")>-1&&(a=e.split("."),r=t,t=a[1]),this.addNamespaces(t),Afe(this.data,a,r),o.silent||this.emit("added",e,t,i,r)}addResources(e,t,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const o in i)(typeof i[o]=="string"||Object.prototype.toString.apply(i[o])==="[object Array]")&&this.addResource(e,t,o,i[o],{silent:!0});r.silent||this.emit("added",e,t,i)}addResourceBundle(e,t,i,r,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},a=[e,t];e.indexOf(".")>-1&&(a=e.split("."),r=i,i=t,t=a[1]),this.addNamespaces(t);let l=rZ(this.data,a)||{};s.skipCopy||(i=JSON.parse(JSON.stringify(i))),r?Gfe(l,i,o):l={...l,...i},Afe(this.data,a,l),s.silent||this.emit("added",e,t,i)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return this.getResource(e,t)!==void 0}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(e,t)}:this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(r=>t[r]&&Object.keys(t[r]).length>0)}toJSON(){return this.data}}var Pfe={processors:{},addPostProcessor(n){this.processors[n.name]=n},handle(n,e,t,i,r){return n.forEach(o=>{this.processors[o]&&(e=this.processors[o].process(e,t,i,r))}),e}};const Ofe={};class sZ extends iZ{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Urt(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=Tm.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(e==null)return!1;const i=this.resolve(e,t);return i&&i.res!==void 0}extractFromKey(e,t){let i=t.nsSeparator!==void 0?t.nsSeparator:this.options.nsSeparator;i===void 0&&(i=":");const r=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator;let o=t.ns||this.options.defaultNS||[];const s=i&&e.indexOf(i)>-1,a=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!not(e,i,r);if(s&&!a){const l=e.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:e,namespaces:o};const u=e.split(i);(i!==r||i===r&&this.options.ns.indexOf(u[0])>-1)&&(o=u.shift()),e=u.join(r)}return typeof o=="string"&&(o=[o]),{key:e,namespaces:o}}translate(e,t,i){if(typeof t!="object"&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),typeof t=="object"&&(t={...t}),t||(t={}),e==null)return"";Array.isArray(e)||(e=[String(e)]);const r=t.returnDetails!==void 0?t.returnDetails:this.options.returnDetails,o=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator,{key:s,namespaces:a}=this.extractFromKey(e[e.length-1],t),l=a[a.length-1],u=t.lng||this.language,c=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&u.toLowerCase()==="cimode"){if(c){const x=t.nsSeparator||this.options.nsSeparator;return r?{res:`${l}${x}${s}`,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(t)}:`${l}${x}${s}`}return r?{res:s,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(t)}:s}const d=this.resolve(e,t);let h=d&&d.res;const m=d&&d.usedKey||s,f=d&&d.exactUsedKey||s,g=Object.prototype.toString.apply(h),b=["[object Number]","[object Function]","[object RegExp]"],v=t.joinArrays!==void 0?t.joinArrays:this.options.joinArrays,C=!this.i18nFormat||this.i18nFormat.handleAsObject;if(C&&h&&(typeof h!="string"&&typeof h!="boolean"&&typeof h!="number")&&b.indexOf(g)<0&&!(typeof v=="string"&&g==="[object Array]")){if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const x=this.options.returnedObjectHandler?this.options.returnedObjectHandler(m,h,{...t,ns:a}):`key '${s} (${this.language})' returned an object instead of string.`;return r?(d.res=x,d.usedParams=this.getUsedParamsDetails(t),d):x}if(o){const x=g==="[object Array]",_=x?[]:{},F=x?f:m;for(const D in h)if(Object.prototype.hasOwnProperty.call(h,D)){const M=`${F}${o}${D}`;_[D]=this.translate(M,{...t,joinArrays:!1,ns:a}),_[D]===M&&(_[D]=h[D])}h=_}}else if(C&&typeof v=="string"&&g==="[object Array]")h=h.join(v),h&&(h=this.extendTranslation(h,e,t,i));else{let x=!1,_=!1;const F=t.count!==void 0&&typeof t.count!="string",D=sZ.hasDefaultValue(t),M=F?this.pluralResolver.getSuffix(u,t.count,t):"",T=t.ordinal&&F?this.pluralResolver.getSuffix(u,t.count,{ordinal:!1}):"",Z=F&&!t.ordinal&&t.count===0&&this.pluralResolver.shouldUseIntlApi(),E=Z&&t[`defaultValue${this.options.pluralSeparator}zero`]||t[`defaultValue${M}`]||t[`defaultValue${T}`]||t.defaultValue;!this.isValidLookup(h)&&D&&(x=!0,h=E),this.isValidLookup(h)||(_=!0,h=s);const W=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&_?void 0:h,A=D&&E!==h&&this.options.updateMissing;if(_||x||A){if(this.logger.log(A?"updateKey":"missingKey",u,l,s,A?E:h),o){const P=this.resolve(s,{...t,keySeparator:!1});P&&P.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let z=[];const O=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if(this.options.saveMissingTo==="fallback"&&O&&O[0])for(let P=0;P{const X=D&&k!==h?k:W;this.options.missingKeyHandler?this.options.missingKeyHandler(P,l,H,X,A,t):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(P,l,H,X,A,t),this.emit("missingKey",P,l,H,h)};this.options.saveMissing&&(this.options.saveMissingPlurals&&F?z.forEach(P=>{const H=this.pluralResolver.getSuffixes(P,t);Z&&t[`defaultValue${this.options.pluralSeparator}zero`]&&H.indexOf(`${this.options.pluralSeparator}zero`)<0&&H.push(`${this.options.pluralSeparator}zero`),H.forEach(k=>{B([P],s+k,t[`defaultValue${k}`]||E)})}):B(z,s,E))}h=this.extendTranslation(h,e,t,d,i),_&&h===s&&this.options.appendNamespaceToMissingKey&&(h=`${l}:${s}`),(_||x)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?h=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${s}`:s,x?h:void 0):h=this.options.parseMissingKeyHandler(h))}return r?(d.res=h,d.usedParams=this.getUsedParamsDetails(t),d):h}extendTranslation(e,t,i,r,o){var s=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...i},i.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!i.skipInterpolation){i.interpolation&&this.interpolator.init({...i,interpolation:{...this.options.interpolation,...i.interpolation}});const u=typeof e=="string"&&(i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let c;if(u){const h=e.match(this.interpolator.nestingRegexp);c=h&&h.length}let d=i.replace&&typeof i.replace!="string"?i.replace:i;if(this.options.interpolation.defaultVariables&&(d={...this.options.interpolation.defaultVariables,...d}),e=this.interpolator.interpolate(e,d,i.lng||this.language,i),u){const h=e.match(this.interpolator.nestingRegexp),m=h&&h.length;c1&&arguments[1]!==void 0?arguments[1]:{},i,r,o,s,a;return typeof e=="string"&&(e=[e]),e.forEach(l=>{if(this.isValidLookup(i))return;const u=this.extractFromKey(l,t),c=u.key;r=c;let d=u.namespaces;this.options.fallbackNS&&(d=d.concat(this.options.fallbackNS));const h=t.count!==void 0&&typeof t.count!="string",m=h&&!t.ordinal&&t.count===0&&this.pluralResolver.shouldUseIntlApi(),f=t.context!==void 0&&(typeof t.context=="string"||typeof t.context=="number")&&t.context!=="",g=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);d.forEach(b=>{this.isValidLookup(i)||(a=b,!Ofe[`${g[0]}-${b}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(Ofe[`${g[0]}-${b}`]=!0,this.logger.warn(`key "${r}" for languages "${g.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),g.forEach(v=>{if(this.isValidLookup(i))return;s=v;const C=[c];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(C,c,v,b,t);else{let x;h&&(x=this.pluralResolver.getSuffix(v,t.count,t));const _=`${this.options.pluralSeparator}zero`,F=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(h&&(C.push(c+x),t.ordinal&&x.indexOf(F)===0&&C.push(c+x.replace(F,this.options.pluralSeparator)),m&&C.push(c+_)),f){const D=`${c}${this.options.contextSeparator}${t.context}`;C.push(D),h&&(C.push(D+x),t.ordinal&&x.indexOf(F)===0&&C.push(D+x.replace(F,this.options.pluralSeparator)),m&&C.push(D+_))}}let S;for(;S=C.pop();)this.isValidLookup(i)||(o=S,i=this.getResource(v,b,S,t))}))})}),{res:i,usedKey:r,exactUsedKey:o,usedLng:s,usedNS:a}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,t,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,i,r):this.resourceStore.getResource(e,t,i,r)}getUsedParamsDetails(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],i=e.replace&&typeof e.replace!="string";let r=i?e.replace:e;if(i&&typeof e.count<"u"&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!i){r={...r};for(const o of t)delete r[o]}return r}static hasDefaultValue(e){const t="defaultValue";for(const i in e)if(Object.prototype.hasOwnProperty.call(e,i)&&t===i.substring(0,t.length)&&e[i]!==void 0)return!0;return!1}}function kz(n){return n.charAt(0).toUpperCase()+n.slice(1)}class Bfe{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Tm.create("languageUtils")}getScriptPartFromCode(e){if(e=oZ(e),!e||e.indexOf("-")<0)return null;const t=e.split("-");return t.length===2||(t.pop(),t[t.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(t.join("-"))}getLanguagePartFromCode(e){if(e=oZ(e),!e||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(typeof e=="string"&&e.indexOf("-")>-1){const t=["hans","hant","latn","cyrl","cans","mong","arab"];let i=e.split("-");return this.options.lowerCaseLng?i=i.map(r=>r.toLowerCase()):i.length===2?(i[0]=i[0].toLowerCase(),i[1]=i[1].toUpperCase(),t.indexOf(i[1].toLowerCase())>-1&&(i[1]=kz(i[1].toLowerCase()))):i.length===3&&(i[0]=i[0].toLowerCase(),i[1].length===2&&(i[1]=i[1].toUpperCase()),i[0]!=="sgn"&&i[2].length===2&&(i[2]=i[2].toUpperCase()),t.indexOf(i[1].toLowerCase())>-1&&(i[1]=kz(i[1].toLowerCase())),t.indexOf(i[2].toLowerCase())>-1&&(i[2]=kz(i[2].toLowerCase()))),i.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach(i=>{if(t)return;const r=this.formatLanguageCode(i);(!this.options.supportedLngs||this.isSupportedCode(r))&&(t=r)}),!t&&this.options.supportedLngs&&e.forEach(i=>{if(t)return;const r=this.getLanguagePartFromCode(i);if(this.isSupportedCode(r))return t=r;t=this.options.supportedLngs.find(o=>{if(o===r)return o;if(!(o.indexOf("-")<0&&r.indexOf("-")<0)&&(o.indexOf("-")>0&&r.indexOf("-")<0&&o.substring(0,o.indexOf("-"))===r||o.indexOf(r)===0&&r.length>1))return o})}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if(typeof e=="function"&&(e=e(t)),typeof e=="string"&&(e=[e]),Object.prototype.toString.apply(e)==="[object Array]")return e;if(!t)return e.default||[];let i=e[t];return i||(i=e[this.getScriptPartFromCode(t)]),i||(i=e[this.formatLanguageCode(t)]),i||(i=e[this.getLanguagePartFromCode(t)]),i||(i=e.default),i||[]}toResolveHierarchy(e,t){const i=this.getFallbackCodes(t||this.options.fallbackLng||[],e),r=[],o=s=>{s&&(this.isSupportedCode(s)?r.push(s):this.logger.warn(`rejecting language code not found in supportedLngs: ${s}`))};return typeof e=="string"&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&o(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&o(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&o(this.getLanguagePartFromCode(e))):typeof e=="string"&&o(this.formatLanguageCode(e)),i.forEach(s=>{r.indexOf(s)<0&&o(this.formatLanguageCode(s))}),r}}let iot=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],rot={1:function(n){return+(n>1)},2:function(n){return+(n!=1)},3:function(n){return 0},4:function(n){return n%10==1&&n%100!=11?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2},5:function(n){return n==0?0:n==1?1:n==2?2:n%100>=3&&n%100<=10?3:n%100>=11?4:5},6:function(n){return n==1?0:n>=2&&n<=4?1:2},7:function(n){return n==1?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2},8:function(n){return n==1?0:n==2?1:n!=8&&n!=11?2:3},9:function(n){return+(n>=2)},10:function(n){return n==1?0:n==2?1:n<7?2:n<11?3:4},11:function(n){return n==1||n==11?0:n==2||n==12?1:n>2&&n<20?2:3},12:function(n){return+(n%10!=1||n%100==11)},13:function(n){return+(n!==0)},14:function(n){return n==1?0:n==2?1:n==3?2:3},15:function(n){return n%10==1&&n%100!=11?0:n%10>=2&&(n%100<10||n%100>=20)?1:2},16:function(n){return n%10==1&&n%100!=11?0:n!==0?1:2},17:function(n){return n==1||n%10==1&&n%100!=11?0:1},18:function(n){return n==0?0:n==1?1:2},19:function(n){return n==1?0:n==0||n%100>1&&n%100<11?1:n%100>10&&n%100<20?2:3},20:function(n){return n==1?0:n==0||n%100>0&&n%100<20?1:2},21:function(n){return n%100==1?1:n%100==2?2:n%100==3||n%100==4?3:0},22:function(n){return n==1?0:n==2?1:(n<0||n>10)&&n%10==0?2:3}};const oot=["v1","v2","v3"],sot=["v4"],zfe={zero:0,one:1,two:2,few:3,many:4,other:5};function aot(){const n={};return iot.forEach(e=>{e.lngs.forEach(t=>{n[t]={numbers:e.nr,plurals:rot[e.fc]}})}),n}class lot{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=Tm.create("pluralResolver"),(!this.options.compatibilityJSON||sot.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=aot()}addRule(e,t){this.rules[e]=t}getRule(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(oZ(e==="dev"?"en":e),{type:t.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}needsPlural(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const i=this.getRule(e,t);return this.shouldUseIntlApi()?i&&i.resolvedOptions().pluralCategories.length>1:i&&i.numbers.length>1}getPluralFormsOfKey(e,t){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(e,i).map(r=>`${t}${r}`)}getSuffixes(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const i=this.getRule(e,t);return i?this.shouldUseIntlApi()?i.resolvedOptions().pluralCategories.sort((r,o)=>zfe[r]-zfe[o]).map(r=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${r}`):i.numbers.map(r=>this.getSuffix(e,r,t)):[]}getSuffix(e,t){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const r=this.getRule(e,i);return r?this.shouldUseIntlApi()?`${this.options.prepend}${i.ordinal?`ordinal${this.options.prepend}`:""}${r.select(t)}`:this.getSuffixRetroCompatible(r,t):(this.logger.warn(`no plural rule found for: ${e}`),"")}getSuffixRetroCompatible(e,t){const i=e.noAbs?e.plurals(t):e.plurals(Math.abs(t));let r=e.numbers[i];this.options.simplifyPluralSuffix&&e.numbers.length===2&&e.numbers[0]===1&&(r===2?r="plural":r===1&&(r=""));const o=()=>this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString();return this.options.compatibilityJSON==="v1"?r===1?"":typeof r=="number"?`_plural_${r.toString()}`:o():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&e.numbers.length===2&&e.numbers[0]===1?o():this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString()}shouldUseIntlApi(){return!oot.includes(this.options.compatibilityJSON)}}function Hfe(n,e,t){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=jrt(n,e,t);return!o&&r&&typeof t=="string"&&(o=Mz(n,t,i),o===void 0&&(o=Mz(e,t,i))),o}class uot{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Tm.create("interpolator"),this.options=e,this.format=e.interpolation&&e.interpolation.format||(t=>t),this.init(e)}init(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const t=e.interpolation;this.escape=t.escape!==void 0?t.escape:$rt,this.escapeValue=t.escapeValue!==void 0?t.escapeValue:!0,this.useRawValueToEscape=t.useRawValueToEscape!==void 0?t.useRawValueToEscape:!1,this.prefix=t.prefix?$w(t.prefix):t.prefixEscaped||"{{",this.suffix=t.suffix?$w(t.suffix):t.suffixEscaped||"}}",this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||",",this.unescapePrefix=t.unescapeSuffix?"":t.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":t.unescapeSuffix||"",this.nestingPrefix=t.nestingPrefix?$w(t.nestingPrefix):t.nestingPrefixEscaped||$w("$t("),this.nestingSuffix=t.nestingSuffix?$w(t.nestingSuffix):t.nestingSuffixEscaped||$w(")"),this.nestingOptionsSeparator=t.nestingOptionsSeparator?t.nestingOptionsSeparator:t.nestingOptionsSeparator||",",this.maxReplaces=t.maxReplaces?t.maxReplaces:1e3,this.alwaysFormat=t.alwaysFormat!==void 0?t.alwaysFormat:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(t,i)=>t&&t.source===i?(t.lastIndex=0,t):new RegExp(i,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,t,i,r){let o,s,a;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(f){return f.replace(/\$/g,"$$$$")}const c=f=>{if(f.indexOf(this.formatSeparator)<0){const C=Hfe(t,l,f,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(C,void 0,i,{...r,...t,interpolationkey:f}):C}const g=f.split(this.formatSeparator),b=g.shift().trim(),v=g.join(this.formatSeparator).trim();return this.format(Hfe(t,l,b,this.options.keySeparator,this.options.ignoreJSONStructure),v,i,{...r,...t,interpolationkey:b})};this.resetRegExp();const d=r&&r.missingInterpolationHandler||this.options.missingInterpolationHandler,h=r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:f=>u(f)},{regex:this.regexp,safeValue:f=>this.escapeValue?u(this.escape(f)):u(f)}].forEach(f=>{for(a=0;o=f.regex.exec(e);){const g=o[1].trim();if(s=c(g),s===void 0)if(typeof d=="function"){const v=d(e,o,r);s=typeof v=="string"?v:""}else if(r&&Object.prototype.hasOwnProperty.call(r,g))s="";else if(h){s=o[0];continue}else this.logger.warn(`missed to pass in variable ${g} for interpolating ${e}`),s="";else typeof s!="string"&&!this.useRawValueToEscape&&(s=Vfe(s));const b=f.safeValue(s);if(e=e.replace(o[0],b),h?(f.regex.lastIndex+=s.length,f.regex.lastIndex-=o[0].length):f.regex.lastIndex=0,a++,a>=this.maxReplaces)break}}),e}nest(e,t){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r,o,s;function a(l,u){const c=this.nestingOptionsSeparator;if(l.indexOf(c)<0)return l;const d=l.split(new RegExp(`${c}[ ]*{`));let h=`{${d[1]}`;l=d[0],h=this.interpolate(h,s);const m=h.match(/'/g),f=h.match(/"/g);(m&&m.length%2===0&&!f||f.length%2!==0)&&(h=h.replace(/'/g,'"'));try{s=JSON.parse(h),u&&(s={...u,...s})}catch(g){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,g),`${l}${c}${h}`}return s.defaultValue&&s.defaultValue.indexOf(this.prefix)>-1&&delete s.defaultValue,l}for(;r=this.nestingRegexp.exec(e);){let l=[];s={...i},s=s.replace&&typeof s.replace!="string"?s.replace:s,s.applyPostProcessor=!1,delete s.defaultValue;let u=!1;if(r[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(r[1])){const c=r[1].split(this.formatSeparator).map(d=>d.trim());r[1]=c.shift(),l=c,u=!0}if(o=t(a.call(this,r[1].trim(),s),s),o&&r[0]===e&&typeof o!="string")return o;typeof o!="string"&&(o=Vfe(o)),o||(this.logger.warn(`missed to resolve ${r[1]} for nesting ${e}`),o=""),u&&(o=l.reduce((c,d)=>this.format(c,d,i.lng,{...i,interpolationkey:r[1].trim()}),o.trim())),e=e.replace(r[0],o),this.regexp.lastIndex=0}return e}}function cot(n){let e=n.toLowerCase().trim();const t={};if(n.indexOf("(")>-1){const i=n.split("(");e=i[0].toLowerCase().trim();const r=i[1].substring(0,i[1].length-1);e==="currency"&&r.indexOf(":")<0?t.currency||(t.currency=r.trim()):e==="relativetime"&&r.indexOf(":")<0?t.range||(t.range=r.trim()):r.split(";").forEach(s=>{if(!s)return;const[a,...l]=s.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,"");t[a.trim()]||(t[a.trim()]=u),u==="false"&&(t[a.trim()]=!1),u==="true"&&(t[a.trim()]=!0),isNaN(u)||(t[a.trim()]=parseInt(u,10))})}return{formatName:e,formatOptions:t}}function qw(n){const e={};return function(i,r,o){const s=r+JSON.stringify(o);let a=e[s];return a||(a=n(oZ(r),o),e[s]=a),a(i)}}class dot{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Tm.create("formatter"),this.options=e,this.formats={number:qw((t,i)=>{const r=new Intl.NumberFormat(t,{...i});return o=>r.format(o)}),currency:qw((t,i)=>{const r=new Intl.NumberFormat(t,{...i,style:"currency"});return o=>r.format(o)}),datetime:qw((t,i)=>{const r=new Intl.DateTimeFormat(t,{...i});return o=>r.format(o)}),relativetime:qw((t,i)=>{const r=new Intl.RelativeTimeFormat(t,{...i});return o=>r.format(o,i.range||"day")}),list:qw((t,i)=>{const r=new Intl.ListFormat(t,{...i});return o=>r.format(o)})},this.init(e)}init(e){const i=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=i.formatSeparator?i.formatSeparator:i.formatSeparator||","}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=qw(t)}format(e,t,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return t.split(this.formatSeparator).reduce((a,l)=>{const{formatName:u,formatOptions:c}=cot(l);if(this.formats[u]){let d=a;try{const h=r&&r.formatParams&&r.formatParams[r.interpolationkey]||{},m=h.locale||h.lng||r.locale||r.lng||i;d=this.formats[u](a,m,{...c,...r,...h})}catch(h){this.logger.warn(h)}return d}else this.logger.warn(`there was no format function for ${u}`);return a},e)}}function hot(n,e){n.pending[e]!==void 0&&(delete n.pending[e],n.pendingCount--)}class mot extends iZ{constructor(e,t,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=e,this.store=t,this.services=i,this.languageUtils=i.languageUtils,this.options=r,this.logger=Tm.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(i,r.backend,r)}queueLoad(e,t,i,r){const o={},s={},a={},l={};return e.forEach(u=>{let c=!0;t.forEach(d=>{const h=`${u}|${d}`;!i.reload&&this.store.hasResourceBundle(u,d)?this.state[h]=2:this.state[h]<0||(this.state[h]===1?s[h]===void 0&&(s[h]=!0):(this.state[h]=1,c=!1,s[h]===void 0&&(s[h]=!0),o[h]===void 0&&(o[h]=!0),l[d]===void 0&&(l[d]=!0)))}),c||(a[u]=!0)}),(Object.keys(o).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(o),pending:Object.keys(s),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(l)}}loaded(e,t,i){const r=e.split("|"),o=r[0],s=r[1];t&&this.emit("failedLoading",o,s,t),i&&this.store.addResourceBundle(o,s,i,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2;const a={};this.queue.forEach(l=>{Jrt(l.loaded,[o],s),hot(l,e),t&&l.errors.push(t),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{a[u]||(a[u]={});const c=l.loaded[u];c.length&&c.forEach(d=>{a[u][d]===void 0&&(a[u][d]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(l=>!l.done)}read(e,t,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,s=arguments.length>5?arguments[5]:void 0;if(!e.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:t,fcName:i,tried:r,wait:o,callback:s});return}this.readingCalls++;const a=(u,c)=>{if(this.readingCalls--,this.waitingReads.length>0){const d=this.waitingReads.shift();this.read(d.lng,d.ns,d.fcName,d.tried,d.wait,d.callback)}if(u&&c&&r{this.read.call(this,e,t,i,r+1,o*2,s)},o);return}s(u,c)},l=this.backend[i].bind(this.backend);if(l.length===2){try{const u=l(e,t);u&&typeof u.then=="function"?u.then(c=>a(null,c)).catch(a):a(null,u)}catch(u){a(u)}return}return l(e,t,a)}prepareLoading(e,t){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),r&&r();typeof e=="string"&&(e=this.languageUtils.toResolveHierarchy(e)),typeof t=="string"&&(t=[t]);const o=this.queueLoad(e,t,i,r);if(!o.toLoad.length)return o.pending.length||r(),null;o.toLoad.forEach(s=>{this.loadOne(s)})}load(e,t,i){this.prepareLoading(e,t,{},i)}reload(e,t,i){this.prepareLoading(e,t,{reload:!0},i)}loadOne(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const i=e.split("|"),r=i[0],o=i[1];this.read(r,o,"read",void 0,void 0,(s,a)=>{s&&this.logger.warn(`${t}loading namespace ${o} for language ${r} failed`,s),!s&&a&&this.logger.log(`${t}loaded namespace ${o} for language ${r}`,a),this.loaded(e,s,a)})}saveMissing(e,t,i,r,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t)){this.logger.warn(`did not save key "${i}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(i==null||i==="")){if(this.backend&&this.backend.create){const l={...s,isUpdate:o},u=this.backend.create.bind(this.backend);if(u.length<6)try{let c;u.length===5?c=u(e,t,i,r,l):c=u(e,t,i,r),c&&typeof c.then=="function"?c.then(d=>a(null,d)).catch(a):a(null,c)}catch(c){a(c)}else u(e,t,i,r,a,l)}!e||!e[0]||this.store.addResource(e[0],t,i,r)}}}function Yfe(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){let t={};if(typeof e[1]=="object"&&(t=e[1]),typeof e[1]=="string"&&(t.defaultValue=e[1]),typeof e[2]=="string"&&(t.tDescription=e[2]),typeof e[2]=="object"||typeof e[3]=="object"){const i=e[3]||e[2];Object.keys(i).forEach(r=>{t[r]=i[r]})}return t},interpolation:{escapeValue:!0,format:n=>n,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function Ufe(n){return typeof n.ns=="string"&&(n.ns=[n.ns]),typeof n.fallbackLng=="string"&&(n.fallbackLng=[n.fallbackLng]),typeof n.fallbackNS=="string"&&(n.fallbackNS=[n.fallbackNS]),n.supportedLngs&&n.supportedLngs.indexOf("cimode")<0&&(n.supportedLngs=n.supportedLngs.concat(["cimode"])),n}function aZ(){}function fot(n){Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach(t=>{typeof n[t]=="function"&&(n[t]=n[t].bind(n))})}class MF extends iZ{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;if(super(),this.options=Ufe(e),this.services={},this.logger=Tm,this.modules={external:[]},fot(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initImmediate)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(){var e=this;let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof t=="function"&&(i=t,t={}),!t.defaultNS&&t.defaultNS!==!1&&t.ns&&(typeof t.ns=="string"?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));const r=Yfe();this.options={...r,...this.options,...Ufe(t)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...r.interpolation,...this.options.interpolation}),t.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=t.keySeparator),t.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=t.nsSeparator);function o(c){return c?typeof c=="function"?new c:c:null}if(!this.options.isClone){this.modules.logger?Tm.init(o(this.modules.logger),this.options):Tm.init(null,this.options);let c;this.modules.formatter?c=this.modules.formatter:typeof Intl<"u"&&(c=dot);const d=new Bfe(this.options);this.store=new Xfe(this.options.resources,this.options);const h=this.services;h.logger=Tm,h.resourceStore=this.store,h.languageUtils=d,h.pluralResolver=new lot(d,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),c&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(h.formatter=o(c),h.formatter.init(h,this.options),this.options.interpolation.format=h.formatter.format.bind(h.formatter)),h.interpolator=new uot(this.options),h.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},h.backendConnector=new mot(o(this.modules.backend),h.resourceStore,h,this.options),h.backendConnector.on("*",function(m){for(var f=arguments.length,g=new Array(f>1?f-1:0),b=1;b1?f-1:0),b=1;b{m.init&&m.init(this)})}if(this.format=this.options.interpolation.format,i||(i=aZ),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const c=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);c.length>0&&c[0]!=="dev"&&(this.options.lng=c[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(c=>{this[c]=function(){return e.store[c](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(c=>{this[c]=function(){return e.store[c](...arguments),e}});const l=IF(),u=()=>{const c=(d,h)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(h),i(d,h)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return c(null,this.t.bind(this));this.changeLanguage(this.options.lng,c)};return this.options.resources||!this.options.initImmediate?u():setTimeout(u,0),l}loadResources(e){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:aZ;const r=typeof e=="string"?e:this.language;if(typeof e=="function"&&(i=e),!this.options.resources||this.options.partialBundledLanguages){if(r&&r.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return i();const o=[],s=a=>{if(!a||a==="cimode")return;this.services.languageUtils.toResolveHierarchy(a).forEach(u=>{u!=="cimode"&&o.indexOf(u)<0&&o.push(u)})};r?s(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>s(l)),this.options.preload&&this.options.preload.forEach(a=>s(a)),this.services.backendConnector.load(o,this.options.ns,a=>{!a&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),i(a)})}else i(null)}reloadResources(e,t,i){const r=IF();return e||(e=this.languages),t||(t=this.options.ns),i||(i=aZ),this.services.backendConnector.reload(e,t,o=>{r.resolve(),i(o)}),r}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return e.type==="backend"&&(this.modules.backend=e),(e.type==="logger"||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type==="languageDetector"&&(this.modules.languageDetector=e),e.type==="i18nFormat"&&(this.modules.i18nFormat=e),e.type==="postProcessor"&&Pfe.addPostProcessor(e),e.type==="formatter"&&(this.modules.formatter=e),e.type==="3rdParty"&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&!(["cimode","dev"].indexOf(e)>-1))for(let t=0;t-1)&&this.store.hasLanguageSomeTranslations(i)){this.resolvedLanguage=i;break}}}changeLanguage(e,t){var i=this;this.isLanguageChangingTo=e;const r=IF();this.emit("languageChanging",e);const o=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},s=(l,u)=>{u?(o(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,r.resolve(function(){return i.t(...arguments)}),t&&t(l,function(){return i.t(...arguments)})},a=l=>{!e&&!l&&this.services.languageDetector&&(l=[]);const u=typeof l=="string"?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||o(u),this.translator.language||this.translator.changeLanguage(u),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(u)),this.loadResources(u,c=>{s(c,u)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e),r}getFixedT(e,t,i){var r=this;const o=function(s,a){let l;if(typeof a!="object"){for(var u=arguments.length,c=new Array(u>2?u-2:0),d=2;d`${l.keyPrefix}${h}${f}`):m=l.keyPrefix?`${l.keyPrefix}${h}${s}`:s,r.t(m,l)};return typeof e=="string"?o.lng=e:o.lngs=e,o.ns=t,o.keyPrefix=i,o}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const i=t.lng||this.resolvedLanguage||this.languages[0],r=this.options?this.options.fallbackLng:!1,o=this.languages[this.languages.length-1];if(i.toLowerCase()==="cimode")return!0;const s=(a,l)=>{const u=this.services.backendConnector.state[`${a}|${l}`];return u===-1||u===2};if(t.precheck){const a=t.precheck(this,s);if(a!==void 0)return a}return!!(this.hasResourceBundle(i,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||s(i,e)&&(!r||s(o,e)))}loadNamespaces(e,t){const i=IF();return this.options.ns?(typeof e=="string"&&(e=[e]),e.forEach(r=>{this.options.ns.indexOf(r)<0&&this.options.ns.push(r)}),this.loadResources(r=>{i.resolve(),t&&t(r)}),i):(t&&t(),Promise.resolve())}loadLanguages(e,t){const i=IF();typeof e=="string"&&(e=[e]);const r=this.options.preload||[],o=e.filter(s=>r.indexOf(s)<0);return o.length?(this.options.preload=r.concat(o),this.loadResources(s=>{i.resolve(),t&&t(s)}),i):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!e)return"rtl";const t=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],i=this.services&&this.services.languageUtils||new Bfe(Yfe());return t.indexOf(i.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return new MF(e,t)}cloneInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:aZ;const i=e.forkResourceStore;i&&delete e.forkResourceStore;const r={...this.options,...e,isClone:!0},o=new MF(r);return(e.debug!==void 0||e.prefix!==void 0)&&(o.logger=o.logger.clone(e)),["store","services","language"].forEach(a=>{o[a]=this[a]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},i&&(o.store=new Xfe(this.store.data,r),o.services.resourceStore=o.store),o.translator=new sZ(o.services,r),o.translator.on("*",function(a){for(var l=arguments.length,u=new Array(l>1?l-1:0),c=1;c0){var a=r.maxAge-0;if(Number.isNaN(a))throw new Error("maxAge should be a Number");s+="; Max-Age=".concat(Math.floor(a))}if(r.domain){if(!Jfe.test(r.domain))throw new TypeError("option domain is invalid");s+="; Domain=".concat(r.domain)}if(r.path){if(!Jfe.test(r.path))throw new TypeError("option path is invalid");s+="; Path=".concat(r.path)}if(r.expires){if(typeof r.expires.toUTCString!="function")throw new TypeError("option expires is invalid");s+="; Expires=".concat(r.expires.toUTCString())}if(r.httpOnly&&(s+="; HttpOnly"),r.secure&&(s+="; Secure"),r.sameSite){var l=typeof r.sameSite=="string"?r.sameSite.toLowerCase():r.sameSite;switch(l){case!0:s+="; SameSite=Strict";break;case"lax":s+="; SameSite=Lax";break;case"strict":s+="; SameSite=Strict";break;case"none":s+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return s},jfe={create:function(e,t,i,r){var o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};i&&(o.expires=new Date,o.expires.setTime(o.expires.getTime()+i*60*1e3)),r&&(o.domain=r),document.cookie=vot(e,encodeURIComponent(t),o)},read:function(e){for(var t="".concat(e,"="),i=document.cookie.split(";"),r=0;r-1&&(i=window.location.hash.substring(window.location.hash.indexOf("?")));for(var r=i.substring(1),o=r.split("&"),s=0;s0){var l=o[s].substring(0,a);l===e.lookupQuerystring&&(t=o[s].substring(a+1))}}}return t}},kF=null,Qfe=function(){if(kF!==null)return kF;try{kF=window!=="undefined"&&window.localStorage!==null;var e="i18next.translate.boo";window.localStorage.setItem(e,"foo"),window.localStorage.removeItem(e)}catch{kF=!1}return kF},wot={name:"localStorage",lookup:function(e){var t;if(e.lookupLocalStorage&&Qfe()){var i=window.localStorage.getItem(e.lookupLocalStorage);i&&(t=i)}return t},cacheUserLanguage:function(e,t){t.lookupLocalStorage&&Qfe()&&window.localStorage.setItem(t.lookupLocalStorage,e)}},NF=null,$fe=function(){if(NF!==null)return NF;try{NF=window!=="undefined"&&window.sessionStorage!==null;var e="i18next.translate.boo";window.sessionStorage.setItem(e,"foo"),window.sessionStorage.removeItem(e)}catch{NF=!1}return NF},Sot={name:"sessionStorage",lookup:function(e){var t;if(e.lookupSessionStorage&&$fe()){var i=window.sessionStorage.getItem(e.lookupSessionStorage);i&&(t=i)}return t},cacheUserLanguage:function(e,t){t.lookupSessionStorage&&$fe()&&window.sessionStorage.setItem(t.lookupSessionStorage,e)}},xot={name:"navigator",lookup:function(e){var t=[];if(typeof navigator<"u"){if(navigator.languages)for(var i=0;i0?t:void 0}},Lot={name:"htmlTag",lookup:function(e){var t,i=e.htmlTag||(typeof document<"u"?document.documentElement:null);return i&&typeof i.getAttribute=="function"&&(t=i.getAttribute("lang")),t}},_ot={name:"path",lookup:function(e){var t;if(typeof window<"u"){var i=window.location.pathname.match(/\/([a-zA-Z-]*)/g);if(i instanceof Array)if(typeof e.lookupFromPathIndex=="number"){if(typeof i[e.lookupFromPathIndex]!="string")return;t=i[e.lookupFromPathIndex].replace("/","")}else t=i[0].replace("/","")}return t}},Fot={name:"subdomain",lookup:function(e){var t=typeof e.lookupFromSubdomainIndex=="number"?e.lookupFromSubdomainIndex+1:1,i=typeof window<"u"&&window.location&&window.location.hostname&&window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(i)return i[t]}};function Iot(){return{order:["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"],lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:function(e){return e}}}var qfe=function(){function n(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};xs(this,n),this.type="languageDetector",this.detectors={},this.init(e,t)}return Ls(n,[{key:"init",value:function(t){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=t||{languageUtils:{}},this.options=bot(i,this.options||{},Iot()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=function(o){return o.replace("-","_")}),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=r,this.addDetector(yot),this.addDetector(Cot),this.addDetector(wot),this.addDetector(Sot),this.addDetector(xot),this.addDetector(Lot),this.addDetector(_ot),this.addDetector(Fot)}},{key:"addDetector",value:function(t){return this.detectors[t.name]=t,this}},{key:"detect",value:function(t){var i=this;t||(t=this.options.order);var r=[];return t.forEach(function(o){if(i.detectors[o]){var s=i.detectors[o].lookup(i.options);s&&typeof s=="string"&&(s=[s]),s&&(r=r.concat(s))}}),r=r.map(function(o){return i.options.convertDetectedLanguage(o)}),this.services.languageUtils.getBestMatchFromCodes?r:r.length>0?r[0]:null}},{key:"cacheUserLanguage",value:function(t,i){var r=this;i||(i=this.options.caches),i&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(t)>-1||i.forEach(function(o){r.detectors[o]&&r.detectors[o].cacheUserLanguage(t,r.options)}))}}]),n}();qfe.type="languageDetector",is.use(LUe).use(qfe).init({fallbackLng:bv.en,interpolation:{escapeValue:!1},resources:$Ue});const Dot=w.createContext(null),Nz={didCatch:!1,error:null};class Mot extends w.Component{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=Nz}static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(){const{error:e}=this.state;if(e!==null){for(var t,i,r=arguments.length,o=new Array(r),s=0;s0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return n.length!==e.length||n.some((t,i)=>!Object.is(t,e[i]))}function Not({error:n,resetErrorBoundary:e}){return Gt("div",{role:"alert",children:[se("p",{children:"Something went wrong:"}),se("pre",{style:{color:"red"},children:Yde(n)?n:n.message}),se("button",{onClick:e,children:"Try again"})]})}function Tot(n,e){Iue.error({title:n.message,content:e.componentStack,width:756})}function Eot({children:n}){return se(Mot,{fallbackRender:Not,onError:Tot,onReset:e=>{},children:n})}function Zot(){return se(Eot,{children:se(kfe,{})})}const Wot=w.lazy(()=>Promise.resolve().then(()=>Cst)),lZ="/login";se(Wot,{});const Rot=w.lazy(()=>Promise.resolve().then(()=>fst)),Vot=w.lazy(()=>Promise.resolve().then(()=>YHt)),Rv="service",Aot={path:`${Rv}`,element:se(Rot,{}),children:[{path:":operationId",element:se(Vot,{})}]},Got=w.lazy(()=>Promise.resolve().then(()=>rYt)),ege="/postman";se(Got,{});function Xot(){return[{path:"/",element:se(Zot,{}),children:[{index:!0,element:se(krt,{to:Rv})},Aot]}]}const Pot=Xot();FX.createRoot(document.getElementById("openapi-ui-container")).render(Gt(w.StrictMode,{children:[se(Cit,{}),se(rKe,{}),se(cEe,{styles:{name:"n4z5sn",styles:"body{margin:0;padding:0;}"}}),se(zrt,{children:se(eKe,{children:se(Brt,{children:se(Ort,{routes:Pot,isHashRouter:!0})})})})]}));function tge(n,e){if(!n||!n.trim())return{};Jde(n,"?")&&(n=n.slice(1));var t={},i=n.split("&");return i.forEach(function(r){var o=r.split("="),s=o[0],a=o[1],l=a===void 0?"":a;t[s]?Array.isArray(t[s])?t[s].push(e?l:decodeURIComponent(l)):t[s]=[t[s],e?l:decodeURIComponent(l)]:t[s]=e?l:decodeURIComponent(l)}),t}function Nb(n,e){if(!n)return"";var t=bh(n,function(i,r,o){var s="";return Array.isArray(r)?s=bh(r,function(a,l){return l=l||String(l)==="0"?"".concat(o,"=").concat(e?l:encodeURIComponent(l)):"",a?"".concat(a).concat(l?"&".concat(l):""):l},""):s=r||String(r)==="0"?"".concat(o,"=").concat(e?r:encodeURIComponent(r)):"",i?"".concat(i).concat(s?"&".concat(s):""):s},"");return t?"?".concat(t):""}function Oot(){var n=Wv().search,e=yg(),t=w.useRef(tge(n)),i=function(r){var o=r(t.current);t.current=o,e(Nb(o),{replace:!0})};return[t.current,i]}const Bot="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3csvg%20width='1361px'%20height='609px'%20viewBox='0%200%201361%20609'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3eOpenAPI%20UI%3c/title%3e%3cdesc%3eOpenAPI%20UI%3c/desc%3e%3cdefs%3e%3c/defs%3e%3cg%20id='OpenAPI-UI'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3cg%20id='背景'%20transform='translate(-79.000000,%20-82.000000)'%3e%3cg%20id='Group-21'%20transform='translate(77.000000,%2073.000000)'%3e%3cg%20id='Group-18'%20opacity='0.8'%20transform='translate(74.901416,%20569.699158)%20rotate(-7.000000)%20translate(-74.901416,%20-569.699158)%20translate(4.901416,%20525.199158)'%3e%3cellipse%20id='Oval-11'%20fill='%23CFDAE6'%20opacity='0.25'%20cx='63.5748792'%20cy='32.468367'%20rx='21.7830479'%20ry='21.766008'%3e%3c/ellipse%3e%3cellipse%20id='Oval-3'%20fill='%23CFDAE6'%20opacity='0.599999964'%20cx='5.98746479'%20cy='13.8668601'%20rx='5.2173913'%20ry='5.21330997'%3e%3c/ellipse%3e%3cpath%20d='M38.1354514,88.3520215%20C43.8984227,88.3520215%2048.570234,83.6838647%2048.570234,77.9254015%20C48.570234,72.1669383%2043.8984227,67.4987816%2038.1354514,67.4987816%20C32.3724801,67.4987816%2027.7006688,72.1669383%2027.7006688,77.9254015%20C27.7006688,83.6838647%2032.3724801,88.3520215%2038.1354514,88.3520215%20Z'%20id='Oval-3-Copy'%20fill='%23CFDAE6'%20opacity='0.45'%3e%3c/path%3e%3cpath%20d='M64.2775582,33.1704963%20L119.185836,16.5654915'%20id='Path-12'%20stroke='%23CFDAE6'%20stroke-width='1.73913043'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3c/path%3e%3cpath%20d='M42.1431708,26.5002681%20L7.71190162,14.5640702'%20id='Path-16'%20stroke='%23E0B4B7'%20stroke-width='0.702678964'%20opacity='0.7'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-dasharray='1.405357899873153,2.108036953469981'%3e%3c/path%3e%3cpath%20d='M63.9262187,33.521561%20L43.6721326,69.3250951'%20id='Path-15'%20stroke='%23BACAD9'%20stroke-width='0.702678964'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-dasharray='1.405357899873153,2.108036953469981'%3e%3c/path%3e%3cg%20id='Group-17'%20transform='translate(126.850922,%2013.543654)%20rotate(30.000000)%20translate(-126.850922,%20-13.543654)%20translate(117.285705,%204.381889)'%20fill='%23CFDAE6'%3e%3cellipse%20id='Oval-4'%20opacity='0.45'%20cx='9.13482653'%20cy='9.12768076'%20rx='9.13482653'%20ry='9.12768076'%3e%3c/ellipse%3e%3cpath%20d='M18.2696531,18.2553615%20C18.2696531,13.2142826%2014.1798519,9.12768076%209.13482653,9.12768076%20C4.08980114,9.12768076%200,13.2142826%200,18.2553615%20L18.2696531,18.2553615%20Z'%20id='Oval-4'%20transform='translate(9.134827,%2013.691521)%20scale(-1,%20-1)%20translate(-9.134827,%20-13.691521)%20'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3cg%20id='Group-14'%20transform='translate(216.294700,%20123.725600)%20rotate(-5.000000)%20translate(-216.294700,%20-123.725600)%20translate(106.294700,%2035.225600)'%3e%3cellipse%20id='Oval-2'%20fill='%23CFDAE6'%20opacity='0.25'%20cx='29.1176471'%20cy='29.1402439'%20rx='29.1176471'%20ry='29.1402439'%3e%3c/ellipse%3e%3cellipse%20id='Oval-2'%20fill='%23CFDAE6'%20opacity='0.3'%20cx='29.1176471'%20cy='29.1402439'%20rx='21.5686275'%20ry='21.5853659'%3e%3c/ellipse%3e%3cellipse%20id='Oval-2-Copy'%20stroke='%23CFDAE6'%20opacity='0.4'%20cx='179.019608'%20cy='138.146341'%20rx='23.7254902'%20ry='23.7439024'%3e%3c/ellipse%3e%3cellipse%20id='Oval-2'%20fill='%23BACAD9'%20opacity='0.5'%20cx='29.1176471'%20cy='29.1402439'%20rx='10.7843137'%20ry='10.7926829'%3e%3c/ellipse%3e%3cpath%20d='M29.1176471,39.9329268%20L29.1176471,18.347561%20C23.1616351,18.347561%2018.3333333,23.1796097%2018.3333333,29.1402439%20C18.3333333,35.1008781%2023.1616351,39.9329268%2029.1176471,39.9329268%20Z'%20id='Oval-2'%20fill='%23BACAD9'%3e%3c/path%3e%3cg%20id='Group-9'%20opacity='0.45'%20transform='translate(172.000000,%20131.000000)'%20fill='%23E6A1A6'%3e%3cellipse%20id='Oval-2-Copy-2'%20cx='7.01960784'%20cy='7.14634146'%20rx='6.47058824'%20ry='6.47560976'%3e%3c/ellipse%3e%3cpath%20d='M0.549019608,13.6219512%20C4.12262681,13.6219512%207.01960784,10.722722%207.01960784,7.14634146%20C7.01960784,3.56996095%204.12262681,0.670731707%200.549019608,0.670731707%20L0.549019608,13.6219512%20Z'%20id='Oval-2-Copy-2'%20transform='translate(3.784314,%207.146341)%20scale(-1,%201)%20translate(-3.784314,%20-7.146341)%20'%3e%3c/path%3e%3c/g%3e%3cellipse%20id='Oval-10'%20fill='%23CFDAE6'%20cx='218.382353'%20cy='138.685976'%20rx='1.61764706'%20ry='1.61890244'%3e%3c/ellipse%3e%3cellipse%20id='Oval-10-Copy-2'%20fill='%23E0B4B7'%20opacity='0.35'%20cx='179.558824'%20cy='175.381098'%20rx='1.61764706'%20ry='1.61890244'%3e%3c/ellipse%3e%3cellipse%20id='Oval-10-Copy'%20fill='%23E0B4B7'%20opacity='0.35'%20cx='180.098039'%20cy='102.530488'%20rx='2.15686275'%20ry='2.15853659'%3e%3c/ellipse%3e%3cpath%20d='M28.9985381,29.9671598%20L171.151018,132.876024'%20id='Path-11'%20stroke='%23CFDAE6'%20opacity='0.8'%3e%3c/path%3e%3c/g%3e%3cg%20id='Group-10'%20opacity='0.799999952'%20transform='translate(1054.100635,%2036.659317)%20rotate(-11.000000)%20translate(-1054.100635,%20-36.659317)%20translate(1026.600635,%204.659317)'%3e%3cellipse%20id='Oval-7'%20stroke='%23CFDAE6'%20stroke-width='0.941176471'%20cx='43.8135593'%20cy='32'%20rx='11.1864407'%20ry='11.2941176'%3e%3c/ellipse%3e%3cg%20id='Group-12'%20transform='translate(34.596774,%2023.111111)'%20fill='%23BACAD9'%3e%3cellipse%20id='Oval-7'%20opacity='0.45'%20cx='9.18534718'%20cy='8.88888889'%20rx='8.47457627'%20ry='8.55614973'%3e%3c/ellipse%3e%3cpath%20d='M9.18534718,17.4450386%20C13.8657264,17.4450386%2017.6599235,13.6143199%2017.6599235,8.88888889%20C17.6599235,4.16345787%2013.8657264,0.332739156%209.18534718,0.332739156%20L9.18534718,17.4450386%20Z'%20id='Oval-7'%3e%3c/path%3e%3c/g%3e%3cpath%20d='M34.6597385,24.809694%20L5.71666084,4.76878945'%20id='Path-2'%20stroke='%23CFDAE6'%20stroke-width='0.941176471'%3e%3c/path%3e%3cellipse%20id='Oval'%20stroke='%23CFDAE6'%20stroke-width='0.941176471'%20cx='3.26271186'%20cy='3.29411765'%20rx='3.26271186'%20ry='3.29411765'%3e%3c/ellipse%3e%3cellipse%20id='Oval-Copy'%20fill='%23F7E1AD'%20cx='2.79661017'%20cy='61.1764706'%20rx='2.79661017'%20ry='2.82352941'%3e%3c/ellipse%3e%3cpath%20d='M34.6312443,39.2922712%20L5.06366663,59.785082'%20id='Path-10'%20stroke='%23CFDAE6'%20stroke-width='0.941176471'%3e%3c/path%3e%3c/g%3e%3cg%20id='Group-19'%20opacity='0.33'%20transform='translate(1282.537219,%20446.502867)%20rotate(-10.000000)%20translate(-1282.537219,%20-446.502867)%20translate(1142.537219,%20327.502867)'%3e%3cg%20id='Group-17'%20transform='translate(141.333539,%20104.502742)%20rotate(275.000000)%20translate(-141.333539,%20-104.502742)%20translate(129.333539,%2092.502742)'%20fill='%23BACAD9'%3e%3ccircle%20id='Oval-4'%20opacity='0.45'%20cx='11.6666667'%20cy='11.6666667'%20r='11.6666667'%3e%3c/circle%3e%3cpath%20d='M23.3333333,23.3333333%20C23.3333333,16.8900113%2018.1099887,11.6666667%2011.6666667,11.6666667%20C5.22334459,11.6666667%200,16.8900113%200,23.3333333%20L23.3333333,23.3333333%20Z'%20id='Oval-4'%20transform='translate(11.666667,%2017.500000)%20scale(-1,%20-1)%20translate(-11.666667,%20-17.500000)%20'%3e%3c/path%3e%3c/g%3e%3ccircle%20id='Oval-5-Copy-6'%20fill='%23CFDAE6'%20cx='201.833333'%20cy='87.5'%20r='5.83333333'%3e%3c/circle%3e%3cpath%20d='M143.5,88.8126685%20L155.070501,17.6038544'%20id='Path-17'%20stroke='%23BACAD9'%20stroke-width='1.16666667'%3e%3c/path%3e%3cpath%20d='M17.5,37.3333333%20L127.466252,97.6449735'%20id='Path-18'%20stroke='%23BACAD9'%20stroke-width='1.16666667'%3e%3c/path%3e%3cpolyline%20id='Path-19'%20stroke='%23CFDAE6'%20stroke-width='1.16666667'%20points='143.902597%20120.302281%20174.935455%20231.571342%2038.5%20147.510847%20126.366941%20110.833333'%3e%3c/polyline%3e%3cpath%20d='M159.833333,99.7453842%20L195.416667,89.25'%20id='Path-20'%20stroke='%23E0B4B7'%20stroke-width='1.16666667'%20opacity='0.6'%3e%3c/path%3e%3cpath%20d='M205.333333,82.1372105%20L238.719406,36.1666667'%20id='Path-24'%20stroke='%23BACAD9'%20stroke-width='1.16666667'%3e%3c/path%3e%3cpath%20d='M266.723424,132.231988%20L207.083333,90.4166667'%20id='Path-25'%20stroke='%23CFDAE6'%20stroke-width='1.16666667'%3e%3c/path%3e%3ccircle%20id='Oval-5'%20fill='%23C1D1E0'%20cx='156.916667'%20cy='8.75'%20r='8.75'%3e%3c/circle%3e%3ccircle%20id='Oval-5-Copy-3'%20fill='%23C1D1E0'%20cx='39.0833333'%20cy='148.75'%20r='5.25'%3e%3c/circle%3e%3ccircle%20id='Oval-5-Copy-2'%20fill-opacity='0.6'%20fill='%23D1DEED'%20cx='8.75'%20cy='33.25'%20r='8.75'%3e%3c/circle%3e%3ccircle%20id='Oval-5-Copy-4'%20fill-opacity='0.6'%20fill='%23D1DEED'%20cx='243.833333'%20cy='30.3333333'%20r='5.83333333'%3e%3c/circle%3e%3ccircle%20id='Oval-5-Copy-5'%20fill='%23E0B4B7'%20cx='175.583333'%20cy='232.75'%20r='5.25'%3e%3c/circle%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e",nge="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABwYAAAIfCAYAAAB6sbixAAAACXBIWXMAAC4jAAAuIwF4pT92AAAgAElEQVR4nOzdvW4cWbY26HXO18bnNfsKTtaxxivSa4eo/HHGIFCUN0AaSnkDqAGJV0DpCqgCSJssgxhTKkBu/hTaoUfWFVSeKzg85lgzRgRb1B+ZGcyMHTvieQChqtVZzEUmIzMi3r3WjgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADq9W+pCwCATRoORjsRsRsRvfJPRMRfy7/7lpuI+J97/34bETez+fR2e1UCAAAAANRPMAhAtoaDUS8i+hHxYxTBX3+DX/42iqDwJiL+iIjFbD5dbvDrAwAAAADUSjAIQDbKbsDDiPgpihCwV3MJy4hYRMRvUQSFugoBAAAAgGwIBgFotHth4M/lP5vkQ0T8NptPL1IXAgAAAADwGMEgAI00HIz6EfE8ijBwJ201j7qNIiR8a9woAAAAANBUgkEAGmU4GE2iCAT7SQupbhFFQLhIXAcAAAAAwGcEgwA0QhkIHkf9+wZuyyIEhAAAAABAgwgGAUiqHBl6EhG7iUvZlkUICAEAAACABhAMApDEcDDqRREIHiYupS4XEXE0m09vUxcCAAAAAHTT/0pdAADdMxyMXkfE/xPt7RL8lt2I+L9/+OE//98/l39epS4GAAAAAOgeHYMA1KbsEjyPiH7aSpJbRMQz3YMAAAAAQJ3+PXUBAHTDcDCaRMR1CAUjip/Bn8PBqCtjVAEAAACABjBKFICtGw5G5xHxJiL+d+JSmuR/R8T/9cMP//lvfy7/XKQuBgAAAABoP6NEAdia4WC0ExHz6NZeglV8iIgXRosCAAAAANskGARgK4aD0W5EvI+IXuJScnETEQPhIAAAAACwLYJBADauDAXnEbGTupbM3EYRDt6kLgQAAAAAaB/BIAAbJRR8MuEgAAAAALAVgkEANkYouDHCQQAAAABg4wSDAGyEUHDjhIMAAAAAwEYJBgF4MqHg1txGxA+z+fQ2dSEAAAAAQP7+PXUBAORtOBjtRMT7EApuw05EzMufMQAAAADAkwgGAXiqeUT0UhfRYrsRcZ66CAAAAAAgf/8rdQEA5Gs4GJ1HxP+Zuo4O+D9++OE//+3P5Z+L1IUAAAAAAPmyxyAAlQwHo0noZKvbYDafLlIXAQAAAADkSTAIwNqGg1EvIq7DvoJ1u42IH2bz6W3qQgAAAACA/NhjEIAq3odQMIWd0KUJAAAAAFQkGARgLcPB6E1E7Kauo8MOh4PRYeoiAAAAAID8GCUKwMqMEG0MI0UBAAAAgLXpGARgHechFGyCnYg4SV0EAAAAAJAXHYMArGQ4GPUjYp66Dj6zN5tPb1IXAQAAAADkQccgAKs6T10AX9E1CAAAAACsTDAIwKOGg9EkInppq+Ab+mUnJwAAAADAowSDAKziOHUBfJfXBgAAAABYiWAQgAfpFmw8XYMAAAAAwEoEgwA85lXqAniU1wgAAAAAeNS/pS4AgOYqO9HmqetgJT/M5tNl6iIAAAAAgObSMQjAQ56nLoCV6RoEAAAAAB4kGATgm4aD0U5ETFLXwcomqQsAAAAAAJpNMAjA9xymLoC17AwHI68ZAAAAAPBdgkEAvufn1AWwNq8ZAAAAAPBdgkEAvlKOEdV9lh+vGQAAAADwXYJBAL5FwJQn40QBAAAAgO8SDALwLT+lLoDKvHYAAAAAwDcJBgH4Fl1n+eqnLgAAAAAAaCbBIACfGQ5GuxGxk7oOKtst94gEAAAAAPiMYBCAL+2mLoAn66cuAAAAAABoHsEgAF/6MXUBPJlwFwAAAAD4imAQgC8JlfL3U+oCAAAAAIDmEQwC8KV+6gJ4sl7qAgAAAACA5hEMAvAvw8Gol7oGNqKXugAAAAAAoHkEgwDc10tdAJsxHIyMhAUAAAAAPiMYBOC+XuoC2Jid1AUAAAAAAM0iGATgvl7qAtiYXuoCAAAAAIBm+UvqAoDHvbwc7UTEKmMBl2fj6fJ7/+fBeO/u69x8vLy+3VB5QDP1UhcAAAAAADSLYBBq9kXItxufxv39dO9h9/9+HW8j4s0D//9uRMwjIg7Ge/f/fln+ufN7+c/biLiJiPh4eb2oUA/5+WvqAgAAAAAA2A7BIGzBy8tRP4pgbzci/iOKzp27P03Ui89r63/5gHtB4k18Cgz/JyIWEXH78fL6Zov1UZ9VOlMBAAAAAMiQYBAqutf5dxf+3f17lU6/nNwFR/3yn8cR/woOl+Wf3+/+XachAAAAAAA0g2AQVnAvBOxHxI/lv/cSltRUvfJP/+4vysDwJoqg8I8oOgztcQjb99PjDwEAAAAAukQwCN9QjgLdjeLGuhDw6e66KQ/jU4fhTRSB4R8RsTCKFAAAAAAAtkswCPGvILAfRRDYT1lLh9yFhRERcTDeu9u38PcogsJForqgLX5PXQAAAAAA0CyCQTpJENhIO1G8Fv2IOC5HkC4i4rfQUQgAAAAAAE8mGKQTXl6OelEETj+X/9xJWA6r65d/7joKP0TRBfXBHoVb83sIywEAAAAAWkkwSGu9vBzd7Wn3c9wbWUm2diJiUv45L/co/DV0EwIAAAAAwEoEg7RKOSL05ygCwV7SYti2f+1ReDDeW0bRTfirkBD+ZZm6AAAAAACgWQSDZK/sDHwVRRhoRGg39SLidUS8FhI+mZ9ZeyxTFwAAAAAANItgkCyVYeDz0BnI13ohJHwKeze2h9cSAAAAAPiMYJBsvLwc9aIIAl+FMJDV9OJTSHi3J+HFx8trgcn3CVBbYjafei0BAAAAgM8IBmm8l5ejw/jUHQhV3e1JeHIw3rvrIvyQuKbGmc2nt8PB6DaM5c3dMnUBAAAAAEDzCAZppLI78FVETEJAweYdRsRhOWr0rotwmbSiZrmJiH7qIngS3YIAAAAAwFcEgzSK7kBq1ouI44g41kX4GcFg/v5IXQAAAAAA0DyCQZJ7eTnaiaIz0N6BpHS/i/CX6PZehEKl/C1SFwAAAAAANI9gkGTKcaHHUQQyxoXSFL2IOIlPXYRvOzhmdJG6AJ7MKFEAAAAA4Cv/nroAuufl5aj/8nJ0HhF/hj0Eaa67TtY/D8Z75wfjvX7acuozm0+XEbFMXAbV3czm0652uwIAAAAAD9AxSG1eXo76UXQI9tNWAmubRMTkYLy3iKKDcJG0mnosovi+yc8idQEAAAAAQDMJBtm6l5ejwyj2D+wnLgWeqh8R/TIg/PXj5fVF0mq267cQDObqt9QFAAAAAADNJBhka15ejiZRdAj2khYCm9ePIiA8jqKD8CJtOVuxSF0AldzO5tNF6iIAAAAAgGayxyAbV+4heB0R5yEUpN16EXF+MN77s217EJZ71H1IXQdr85oBAAAAAN+lY5CNsYcgHdaLiHkL9yD8LSIOUxfBWowRBQAAAAC+S8cgT/byctR7eTl6HxHzEArSbf0oAsL5wXhvN3UxTzWbTy8i4jZ1HaxsOZtPdQwCAAAAAN+lY5DKXl6OdiLidRRdgsAn/Yi4PhjvXUTRQbhMWs3TfIiISeoiWMmvqQsAAAAAAJpNxyCVvLwcvY6IP0MoCA+ZRBEQvjkY7+2kLqait6kLYGUXqQsAAAAAAJpNMMhaXl6O+i8vR39GxElE5Bp0QJ12ogjQ/zwY700S17K22Xy6jIhF4jJ43EX5WgEAAAAAfJdRoqzk5eVoN4owsJ+4FMjVTkScH4z3nkfE0cfL65vUBa3hbTj2m84YUQAAAADgUToGedTLy1EvIq5DMACb0I9ivOhJRuNFbyLiNnURfNdiNp8uUhcBAAAAADSfYJBHnY2NEoQteB0ZjBcdDkY7ETEPo4ObzD6QAAAAAMBKBIOs6kXqAqCF7saLzg/Ge73UxXzpXii4m7oWvku3IAAAAACwMsEgKym7BnWlwHb0oxgv+jp1IXeEgtmwaAMAAAAAWJlgkIiIOL3a763wsHcRsdxuJdBZOxFxcjDeuz4Y7yUN44SC2Xg3m0+XqYsAAAAAAPIhGCROr/bfRMSfp1f7k4cedzae3kbEUR01QYftRsLuQaFgNm5DFzcAAAAAsCbBYIedXu3vnl7tX0fEcflXJ6dX+zsP/Tdn4+mHiFhsuzYgTuree1AomJUXs/n0NnURAAAAAEBeBIMdVXYJXsfnAcBOfAoJH2JPK6hHP4ruwd62n0gomJUPs/n0Q+oiAAAAAID8CAY75vRqv3d6tT+P7weAr0+v9h8MBs7G02UYYQd1Ofp4eb3c5hMIBbOyDIszAAAAAICKBIMdUu4heB1FF9JDTlb4cu+iuEENbM+Lj5fXF9t8AqFgdowQBQAAAAAqEwx2wOnV/s7p1f55RJxHMS70Mf0yRPyus/H0NnStwDYJBfnS0Ww+XaQuAgAAAADIl2Cw5cqxoNcRMVnzPz05vdp/MEQ8G08XEWGfK9g8oSBfupjNp+9SFwEAAAAA5E0w2GKnV/uvowgFexX+8534/j6E9x1FhLF2sDlCQb50E8V7LQAAAADAkwgGW+je6NBV9gp8yOuy4/C7zsbTZUT88sTnAQpCQb50ExED+woCAAAAAJsgGGyZMsibx/qjQ7/n0XDxbDx9ExHLDT0fdJVQkC/dRsQLoSAAAAAAsCmCwRY5vdo/jM3f9O+fXu1PVnjciw0+J3SNUJAv3UbRKXiTuhAAAAAAoD0Egy1xerX/JiLeR7E34KadnF7tP/h1z8bTRUR82MJzQ9sJBfmSUBAAAAAA2Iq/pC6ApykDu5PY3OjQb9mJiOOIOHrkcUcR0Y/thJPQRkJBvnQTxfhQoSAAAAAAsHE6BjNWhoKb3E/wIa/L/Qu/62w8XUbELzXUAm0gFORLN6FTEAAAAADYIsFgpsqQ7s+o94b/yWMPOBtP30TEcuuVQN6EgnzpIopQ8DZ1IQAAAABAewkGM3R6tT+J4oZ/3SM7++VzP+bFtguBjAkF+dLRbD59IRQEAAAAALZNMJiZMpg7j3T7+J2UI0y/62w8XUTEh3rKgawIBbnvNoouwXepCwEAAAAAukEwmJHTq/3zKELBlHZihZGiEXEUxU1voCAU5L4PEfHDbD5dpC4EAAAAAOgOwWAmylBwkrqO0uT0ar//0APOxtNlRPxSSzXQfEJB7txGxLPZfPrM6FAAAAAAoG6CwYY7vdrfOb3av47mhIJ3Hu0aPBtP30TEcuuVQLMJBbnzLoouQaOWAQAAAIAkBIPNdxLNvNm/e3q1/3qFx73YeiXQXEJBIiIWUQSCR7oEAQAAAICUBIPNdxQRN6mL+I7j06v9nYcecDaeLqLYSwu6RihYzTJ1ARu0iIjBbD4dzObTZeJaAAAAAADiL6kL4GH/+Ps/b0+v9gfRzJv/O1F0ND7WFXgUEf3y8dAFQsFqLmbz6YvhYNSPiFcRcZi4nqo+RMQvs/l0kboQmmk4GO1G8Zm4E5+O4b/Gt4/nnW/8/W18e9HQbUT8ce9/L8p/3uhWBQAAACAi4t9SF8Bqys68poYAg3/8/Z+Lhx7w8nL0JiKOa6mm296Wezt+08F4rx/F7xHbIxSs5mI2n362yGA4GPXiU0DYS1DTOpbxKRBcpi2FJijDv14Ux+mP8SngS7lIZln+uYmI/yr/KTQEAAAA6BDBYEYaHA7e/OPv/9x77EEvL0d/RvNv7udOMJiWULCar0LBLw0Ho8OI+DmKkLAp3ce3UYSBv83mUyOTO6zscr0LAHcjv+PzrgPx9/gUFi6TVgQAAADAVggGM9PgcPDoH3//57uHHvDyctQPodS2CQbTEQpW82go+KUyhPk5ihHFdf8sbqIYz/ibUaHdVf4O9iPip/KfbbSM4nf994hYCAqboeykniQug68t7v27LtyK/H6zAYs6zs8y/V29nc2nD16vsx3DwehN6hrWsJzNpxepi6CQ2e/OWmbz79+3YjMy/azqgsW9f3fdUNG9ezK5uGjiPRXBYAMcjPd2oxiz+eLj5fWjbwgNDQdvI+KHf/z9nw/W//JydB4+mLZJMJiGULCatUPBL5U/l90oTgjuurV6T66ssIwiCPwjipM3J20dVY4F7cenQLqLllGG4lHceHUsJFBeAPkcz8NdJ+4yPh/du0xYU6P5/WYD3tZxsznj39UXQp/6DQej/y91DWtYzObTQeoi+NfEnPep69iiZ6bubFfGn1VdtLz357+iuO5eum74vnLhRE5blg2a2Fzwl9QFdF0ZCs6jGI3XOxjvDR4LB//x93/enl7tD6JZIcFORJxExGM3+Y+iWaMA4amEgtU8ORSMiCjDiUV8vurqLsjZiSIk7H3xn/1U/vP3L/5+Wf65nc2nN0+tjbyVv0PPI489LuvQi2JhzyQiYjgYfYgiJPwgJIRv2olvLCQYDkZfju4VtAN1ORkORjfOcyELz1MXsGXPo9iWA/j6vtVxxFfXDbVMRaBbBIMJHYz3evEpFIwobvrPMw4HJ6dX+7/+4+//XHzvAWfj6e3Ly9HbKEJEyJ1QsJqNhIIPccODKoSBazks/5wLCWEtd4Fh/+4vhoPRTXw6hnx+AduyE8Xn9sDnNTRXeQ/gMHUdW3Y4HIx2vBfBg+5fNxwPB6OIT9t9uG7gyf49dQFddTDe24liLMCXnXN34eCjHXXl2M5BFKsHmuLRwO9sPH0XzaoZqhAKVrP1UBDWMRyMesPB6PVwMPozIq4j4nUIBdd1GBHnEfHfw8HovBxbA6zubluB6+Fg5DgCtunu/QZorknqAmoySV0AZKgfn64b/hwORiflAmdYm2AwgTL0e+hmf87h4O7p1f7rFR53tPVKYHuEgtUIBWmM4WDUHw5G7yPizygWtfTSVtQak4iYlxcpr8v3MmB1O/H5cfRmOBj10pYEtMzrcv8yoJlepS6gJl35PmFbelEsbL523UAVgsGarRAK3sk5HDw+vdp/sO6z8XQRERe1VAObJRSsRihIcsPBaGc4GE3K7sB5tH9ET0q9KALXu+6nXtpyIEu9KFYE/zkcjN7rIgQ2yGczNFDZ+dNLXUdNejqdYGN68em6wfQRViIYrNEaoeCdXMPBnVhtD8GjiDBPnJwIBasRCpJUGQi+iaI78Dy6c7HdFJMoLlDmLlCgssP41EU4SVwLkL+7rU2AZulaF13Xvl+owySK64a5CQE8RDBYr/ex/s3+XMPByenVfv+hB5yNp7cR8baecuDJhILVCAVJ5otA8Di+3teXevXj0wVKP3EtkKteFJ0+AkLgqXaHg9EqC3qBGpT3A7p2E//Q1gOwNf2IeF9eN/QT10IDCQZrcjDeO4/igKwi13Dw0YuMs/H0XTSjVniIULAaoSBJCAQbrx8CQniqXhQB4bXjCHgC+w1CcxxG965buhiGQt168en6u033HHkiwWANylBw8sQvk2M4uHt6tf96hccdbb0SqE4oWI1QkNoJBLPTj08XKL3EtUCudqM4jt5bcQ9UdO79AxrheeoCEunq9w1160fEdbkHoc99BIPbdjDem8TTQ8E7OYaDx6dX+w/WezaeLiLiopZqYD1CwWqEgtSuHKl3HQLBHPXj0ybpXjuo5jCK42iVRXkA99lvEBIrF8n1E5eRSt8iQajVJIrrBt26HScY3KKD8d5hRJxv+MvmFg7uxAojRaPoGrzdci2wDqFgNUJBajUcjHaHg9E8is/bXuJyeJpJCDbgKXYi4qTswhWyA+vol1MXgDRepS4gsa5//1C3nSj2HzR1pMMEg1tyMN7bjc2HgndyCwcnp1f7/YcecDae3kbE23rKgUcJBasRClKbe2NDr6O7q2vb6C7YuLb/AVTWD6uAgfUd27MUkpmkLiAx5yyQxt3UkX7qQqifYHALysBuHtsdZZZbOPhoSHo2nr6L9KNPQShYjVCQ2pQnrXdjQ2mn3Sj2P3iTuhDI1N0q4FUmdwDc0TkANSsX8nT9uOtZ0ATJ7ESxZ/mb1IVQL8HghtUUCt7JKRzsnV7tv1nhcUfbLgQeIBSsRihILcouwZMojqFe4nKox7HuQXiS10aLAmvYie1NPgK+7XnqAhrCzwHSOh4ORueuG7pDMLh5J1HvDf+cwsFXp1f7vYcecDaeLiLioo5i4AtCwWqEgtSiDIauI8L+c92jexCeph/FKuA2nX8A23Nov1+ox3Aw6oUxmncOBRKQ3CSK6wbHYgcIBjfoYLz3JtLMBc8lHNyJIjh9zFFE3G65FrhPKFiNUJBa3NtLsJe2EhI7LjufeqkLgQzthnAQWN2J9wuohVDwc5PUBQD/WpjrPKDlBIMbcjDeO4y0ex3lEg4enl7t9x96wNl4ehsRb+spB4SCFQkF2bpydOg87CXIJ/0oLlLcRIH13e0f0qbzEWB77DcI2/cqdQEN4+cBzdAL1w2tJxjcgIPxXi+aMYc/l3Dw0Z/V2Xj6LtKNPKU7hILVCAXZuvIE9M8ogiC4byeKm5VvUhcCGRIOAqvqRTPuc0ArDQejfpiI8qWecxRoDNcNLScYfKIyhHsfxcHSBDmEg73Tq/03KzzuaNuF0GlCwWqEgmzdcDCaRDE6tCmfrTTT8XAw0s0A63ORD6zqsDwvAzbveeoCGkrXIDSH64YWEww+3Uk076Z/DuHgq9Or/d5DDzgbTxcRcVFHMXSOULAaoSBbNxyMzsPqdFZ3GMWFSi91IZAZF/nAquw3CBtW3i8wGv/bDi38g0a5u25wXLaMYPAJDsZ7k2juxrhNDwd3oghVH3MUEbdbroVuEQpWIxRkq8r9BN9Hcz9XaS6bo0M1d2N5XeQDD9mJiHPvFbBRh2E6yvcITaF5hIMtJBis6GC8txvN72hoejh4eHq133/oAWfj6W0YKcrmCAWrEQqyVfeOGxeAVHV3oTJJXAfkphfF+y/AQ3ZjtYW9wGqMy3yYMavQPDlkIaxBMFjBvX0Fc9D0cPDRN5Sz8fQiIhZbr4S2EwpWIxRkq8our7YdN6Rx19EwSVwH5Ga3HOMM8JDJcDCyiAueqByB79rnYX1bBUAjHQ4Hozepi2AzBIPVnESxujYXTQ4He6dX+29WeJyuQZ5CKFiNUJCtEgqyJcJBWN/EcQOs4NzNengy3YKr8XOCZjq2UKgdBINravi+gg9pcjj46vRqv/fQA87G05uIeFdPObSMULAaoSBbdS8UNKOebRAOwvpO7NUJPCKn6UnQVJPUBWRikroA4LvsPdwCgsE1HIz3epH3XP2mhoM7sdrP9W1E3G65FtpFKFiNUJCtEgpSk3NjTmAtO2HfEOBxu8PBKOf7IpBM2WXjGmg1O7qSoLEsFGoBweB63kf+H+BNDQcPT6/2+w894Gw8vQ0jRVmdULAaoSBbJRSkZsc6B2EtuwJ1YAWv3bCHSp6nLiAzfl7QXP3hYPQ6dRFUJxhc0cF470205+Z/U8PBR1con42nFxGx2Hol5E4oWE0toeDBeK9NPzPWIBQkEWNFYT3HRooCKzBGDNZQ7s8pUF/PoX1NodGOHaP5EgyuoLyJfZy6jg1rYjjYO73af7PC43QN8hChYDV1hYLnUbz3tOlnxwrK46YNnffkSTgI6zEmEHiMMWKwHqFgNX5u0Fyrbg9GAwkGV9PWvTaaGA6+Or3a7z30gLPx9CYi3m25DvIkFKymzlBwEvYw6px7x00vcSl02/lwMOqnLgIy0RemAyvoGz8MK3uVuoBM+blBsx26zs6TYPARLRsh+i1NCwdXXWnwNiJut1gH+REKVlN3KHhnt3x/pRvadtyQr/dGJMLKjo0JBFZw7IYgPKw8RnqJy8hVz3sMNJ7F/xkSDD6gpSNEv6Vp4eDh6dV+/6EHnI2nt2GkKJ8IBatJFQreOTZStP2Gg9F5tOu4IW87ETEXdsBKehHxOnURQBbe+2yFBz1PXUDm/Pyg2XqmjeRHMPiwLqXdTQsHz0+v9h+s5Ww8vYiIxRZrIA9CwWpSh4J3uvQ+2znDweh1PPz6Qwp37+nA41652Q+swH6D8B3l56h98p7m0PkINF4XmqtaRTD4HR0YIfotTQoHe7HaCmVdg90mFKymKaFgRDFSVDdCC5XjXmxCTVPtlt2swMN2QtcgsJp+uSgM+NxhFJ+nVCdchebTNZgZweA3dGiE6Lc0KRw8Pr3a7z30gLPx9CYi3m3p+Wk2oWA1TQoF7xwfjPd626uGug0Ho15YNb6qRUR8iGLv3KMoPlcHEbE3m0//7bE/9x7/rPwa78qvuaz/W8nOxIULrETXILCqE3v5wldepS6gJfwcofm6mqdk6S+pC2iornc43IWDg4+X17cPPfAff//n7enV/iC2F56cR3HD8yFvowgg3LDoDqFgNU0MBSOKY3eVY518vA/vyd9yE0Vo90dE3Mzm0ycvrJnNp4t7//PDl/9/2bm5GxE/RUQ/vC5fOh8ORht5LaDF7lbpXySuA8jD++FgtDebTx+8lwBdUC6YbNM9hZR2h4NRbzafLlMXAnxXbzgYTWbz6UXqQnicjsEvlCPt+qnraICmdA72T6/2HxwXcDae3oaRol0iFKymqaHgnf7BeM9okBYYDkYn0a5j5ymWUdxIfxYRf5vNp3uz+fRoNp9e1BVEzebTxWw+fTebT5/N5tO/RcReFJ+ZizqePxPvdUPBo6z+BVbVC/uIwx1dbpvl5wnN9zx1AaxGx+A9ZQjmoveTpnQOnpxe7S/KAPKbzsbTi5eXo+ch1G07oWA1TQ8F75wfjPcWj73f0FzDwegw7EV1G0UY+GsTu/QdJgYAACAASURBVNDKmm4i4l35fncYxYl7P2VdifWiuIH5LHEdbfR2Np++SV3EU5RdtxHF70kvIn6M4hyhl6SgdHrDwaj/RZdy12X/+w1bdDgcjF7P5lPbftB1k9QFtMwkNAa0VfbnVd+4bvgpiuuGri1C7Q8Ho90m3g/hc4LBz51E9w7WxzQhHOxFcaP5zSOPO4qI6w0+L80iFKwml1Awonj/PQ4n+lkqj58urw5fRMQvs/n0q3GeTVWO+LqIiItyzNGr6O5o7sPhYHSY0+tHPb4XhJXHTD8ifo4iYO+C56HbGFjd8XAwWrgxSFeVe1l38bx6m3acs9NUrhs+8yoitn4vkqcxSrR0MN7rh5U839OEsaLHp1f7vYcecDae3kSEFYntJBSsJqdQ8M7rg/Fem16DLjmPbl74XkTED7P5dJDzBepsPl2WY07/FsUJ/DJxSSmclxdt8KjymLmYzafPIuLuuGn7ze+JsbvAGnai+Gz1vkFX/Zy6gJYyppCsdPS6oSsBaNYEg5+cpC6g4ZoQDq7SifI2ijFutIdQsJocQ8E73o8zU44Q7dqJ30UUgeCL2Xy6TFzLRpUXLT9E9wLCrne9UtFsPr0tj5u9KM6BF4lL2qauvdcDT7Mbzu3poHKxmc/M7Ti0mI9cdei6Yae8T0SDCQYj4mC89zraFQhsS+pwsH96tf/gm8rZeHobWpXbRChYTc6hYERE/2C8t42vyxZ0cIToRbQ0EPzSFwFhVxbd9MuxT1DJbD5dzObTQRTnwcvE5WyD7gdgXROfrXTQJHUBLSdwIHv3rhuehesGEuh8MFiGXMep68hI6nDw5PRq/8HnPhtPP0R7V1x0iVCwmtxDwTvHq7zP0AhdGSF6ExGDLgSCX5rNpxcR8UMUXfldcGLsGU9VXui38bg5dHwAFZzo8KFjjLvcrlepC4BNKbck2Yv2bY8lwG+4zgeDUYSCLm7XkzIc7EXE6xUep2swb0LBatoSCkasfqyT0HAw6kf7T/ZuI+JoNp/ufW8z8S4oR568ieKCpe37IeyEsWdsSHncDKJdXbdtf98HNm8nIt6nLgLqUF4j9RKXsa5nqQtYU6/8OUMrlNfbR1Eci225bjBOtOE6HQwejPd64cZzVSnDwePTq/3eQw84G0+X0b4V2l0hFKymTaHgnVfl+zTN1fYRojcRsTebT9u2cq+y2Xx6U+6H0PbP2ImbDWxKuaigTaH6T6kLALK0OxyMLLyhC3LrFrwpO5ZyO0/J7ecMjyqPxTYtKnTd0GCdDgbDavCnShkOrnIz+l20c0ZzmwkFq2ljKBhRrCw26rmhhoPRm8hvJew63pZdgsvUhTTRve7BZdpKtsp5IhtTvpdsesR+Klb+AlW91j1Am5X3Gyap61jTr1/8MxfGm9NKs/n0Jtpzrd1PXQDf19lg8GC81w8XtZuQKhzsn17tP/j6nY2ntxFxtIHnoh5CwWraGgremRyM99r0erVCeSy1dV+H2yj2EnyTupCmu3fBskhcyrbsDgejSeoiaI/ZfHp3LrxMXMpT7QwHI5/NQFXn9hukxXK8z3hR/vNDyiIq2Ik8f97wqHJRYRvGiu76zG+uzgaDoQtlk1KFgyenV/sPPufZePoh2nvDsk2EgtW0PRS8o2uneU6infvz3o0OXaQuJBflXgiD+HRDoW1OrERmk8pwsA0X+f3UBQDZ2on2j6Onu3JbPPmhPDe5CyJyCwdz+3nDysqFuIPUdWxAm+7Dtkong8GyW7CfuIy2SREO9mK1PSK3HpzwJELBaroSCkZE9Mv3bRqgXO01SVzGNtxE0Sm4TF1Ijsr3ozZ+3u6E/ajZsPIiP/fj5cfUBQBZ65dj6aE1ym763O45/PbI/2463Ui0WnndkPs0PPsMNlQng8GwOm1bUoSDx6dX+72HHnA2ni4j4u0Tn4ftEApW06VQ8I4u7+Zo42txUe4nmHsHT1Kz+fQi8g87vuWVrkE2bTaffoj8VuXf109dAJC94+Fg1E9dBGzQ89QFrOm2PH+/70PkN9VA1yCtNptP30Xe0/DadD+2VToXDB6M9yZRdJqxHSnCwVWC3neR/34ubSMUrKaLoWCErsFGaGm3YC3HVFe0NBzUNci2vIj8br7d6aUuAGiF9xbf0CKT1AWs6asFSuVCydwWLk1SFwA1yPkau5+6AL6tc8FgtLPToWnqDgf7p1f7D244fDae3kb+rddtIhSspquh4B3v3+m17TUQCm5BS8NBXYNsXHnz7ZfUdVSl0wfYgJ2IeJ+6CHiq4WA0ifz2YP/e2NDcxonulD9/aK1yy5Nsp+EZ+dtMnQoGdQvWqu5w8OT0av/B5zobTz9E3q3XbSEUrKbroWCErsGkWtgtKBTcohaGg7oG2ZZ3kW/XYJvOs4B07DdIG/ycuoA1Lcux5l8p/35ZbzlPltvPH6rI+bqhl7oAvtapYDDa1+nQdHWGg71Y7fVt003KHAkFqxEKfuJ9PJ02/exvhILb18JwUNcgG5d516DjAdiU4+Fg1KbrNzqkXED54BSrBnpsXGhu40QPdSTRdpmO+r3TT10AX+tMMKhbMJk6w8HXp1f7D15MnI3zbr3OnFCwGqHg53QNJtCybsGbKD5rqEEZDr5LXceG7ER7jgOa5SJ1ARX9lLoAoFXsN0iuJqkLqODXJ/7/TTRJXQDUINcFhX9NXQBf60wwGO3qdMhNneHgyQqPeRf5jUXInVCwGqHgt3k/r9+r1AVsyG1EvChX2lGT2Xx6FPmubPxSW44FGqTcM+QpI/UB2qAXEeepi4AKnqcuYE03s/n0wfOO8v/P7dwkt9cB1lYem8vUdVTQpnu1rdGJYFC3YCPUFQ72T6/2Jw894Gw8vY2Iowpfm2qEgtUIBb9P12CNyuNrkrqODXnx2EUwW/Mi8ryA+VJvOBhNUhdBK+W4Mr9N511AMxwOByN7+pKN4WDUj/zuN656zpHbuUmvfD2g7dqy6JbEOhEMhlUjTVFXOHhyerX/4HOcjacfImJR4WuzHqFgNULBx+karM9htGMfqXez+dQJdCJll+az1HVsiPNKtmGRuoAK2vDZADTPif0GyUiO54WrXhPleO2U4+sB6/o9dQEV9FMXwNdaHwyWXSX9xGXwSR3h4E6sFhpsPXjpOKFgNULB1egarE8bRifelOMsSajs1mzD69Av992EjdHNDPCZc/sN0nSZTlb5UI4wf1T5uMU2i9mCifcOOmCRugDaofXBYOgqaaI6wsHXp1f7D4ZFZ+PpMiLervl1WY1QsBqh4HqsBtyycrV27sfYbVgI0hiz+fRdtONCpg2BOc2zSF3AuozsArZkNyJOUhcBjzhMXUAFv635+NzGiUbk+brAysppPMvUdZC/VgeDB+O9XugWbKo6wsFVLiTehTfTTRMKViMUXN+kfJ9ne9oQfrzVidM4L6IIbHM2SV0ArbRMXQBAg0zs60vD5XatdBvrjwfNcZxobq8LVLFMXcC6TN1pnlYHg6FbsOm2HQ72T6/2Jw894Gw8vY38x5ot7v1ZJqwjQihYlVCwOif925X7asubskONBinHEv2Suo4n2hkORrkfHzTPf6UuAKBh7DdII2U6WeVD2Wm0svLxF9spZ2t2vW/QATkufu6lLoDP/SV1AdtShk2T1HXwqLtwcPDx8vrBE5R//P2ft6dX+4NYLxQ6Ob3a/1AGi990Np5+eHk5+hDNuwF+E8WKrrtNZRd3f18GmlW/5iCKTtq/RvFz7MVm3pyFgtUIBZ9mcjDee/vY+wfrK1do574/Q+4LP1prNp++GQ5GzyPvi4PnkecqagDIxU5EnEfEXupC4As5bmux7hjR+//dZIN11OF55BmcwKr+J3UB5K+1wWBEvE5dACvbZji4E0Xn6GM3h4+iCMtS3QS/iSL4+yMilmfj6WIbT1L+fBfxjT1sDsZ7/Sh+pj+W/1wnfBMKViMUfLq7RSC6wjbv59QFPNHFbL6d91I25kUU7+u5OhwORjvrrrwGANayOxyMTmbzqQVfNMkkdQFrWs7m00oL2mbz6YfhYHQbeS0anYRFogAPavMo0RxX73TZNseKvj692n8wTDob1z7W7CaKIONZRPztbDzdOxtPj87G04tthYKP+Xh5vfh4ef3u4+X1i4+X13sR8beyvnfx8M9aKFiNUHBzjBPdsPKYa1oX9TraMCa69crgdpG4jKfK+TgBgFy8NsKbpsh0sspTp1xcbKKIGu3YoxTgYa0MBg/Ge5PIezRVV20zHDx57AFn4+mb2O4efR+i6I744V4Q+OEJY0G36uPl9e3Hy+sPHy+vj8qg8Ico6r9/QikUrEYouFm9g/GeGwWblfvP8xddXNnY+nvhluXeWQsAuTgfDka91EVA5NmI8Gvi/z4F5+kAD2hlMBh5fkhT2FY42D+92p+s8LhN36C8CwP/djaePis7Apcbfo5afLy8Xn68vL74eHn9LIpuwj2hYCVCwe3wvr9ZOV9E3YbRstmYzafLyG8F8n2H5WcVALBdOxHxPnURdFsZTvcTl7Gum9l8+qT99sr/frmZcmpzaDEBwPe1Lhg8GO/1Ir8PaT63rXDw5PRq/8GvWY7xfOqIhWUUI+x+uBcGtqpzpewm3OpGzkLB6joYCkZEHJbv/2xGP3UBT6BbMD9vUxfwRP3UBQBAR+wOB6M3qYug0yapC6hgU91+dW6/symT1AXAlvxH6gLIX+uCwbDXVFtsIxzciYjjFZ77KIqOk3V9iIjB2Xj6w9l4+i7XzsAmEApW19FQ8M4kdQFtUO7fkmsHlG7BDJVdg09dlJNSzh22NMuPqQsAyMDxcDDqpy6CzspxUs2mzrNzPF/P8fWCVfRSF1DBMnUBfK6NweAkdQFszDbCwdenV/sPhk1loLfOSqiL+NQduFjjv+MbhILVdTwUjHDSvyk/pS7gCT7oFsxWjiuQ7/RTF0Br9FIXAJCJ90Z5U7dyAWUvdR1rWpSL8J6s/DqLTXytGvUsJKCleqkLWNem3ovYnFYFgwfjvUnk2+XAt20jHDx57Gudjadv4uGVDLdRjD7729l4+kJ34GYIBasTCkZERO9gvHeYuogW6Kcu4AlyH0nZWbP5dBGrjQVvot5wMGrT5xbpZPd7VB67QLPl+vn6EPsNkkKOUyI2NUZ0W1+vDhYQ0yrlvdNe6jrIX6uCwfBm31abDgf7p1f7kxWe93thzrsoOgTftG3vwJSEgtUJBT/jc+AJys3Zcz0GN7YalmR0DdJZVrMDW/RbFFNu2qZvv0HqUt6vmKSuo4JNj//McZzoRIcxLdNPXQDt0Jpg8GC81wsHRpttOhw8Ob3af/BrlWNB75/0XEQRCB4JBDdLKFidUPArh6u8T/Bd/dQFPEGOq1f53IeotsdvE+Q8gpdm6KcuoIJcj1fooqNoZ+eg/QapyyR1ARVcbHqbhfLrXWzya9bEZCHaJMfu5UXqAvhaa4LByPNDmvVsMhzciYjjFZ7zKIoblQMjQ7dDKFidUPC7JqkLyFiu4cbtbD69SF0ET1PeaMhxFXJEnqEOzZLjBX4bQwZopfIzduvXJ4mc6waiBjlOpvkts6+7Ta9SFwAb1E9dAO3QpmAwxw9p1rfJcPD16dV+/6GvcTaeLs/G02dl9yAbJhSsTij4IJ8H1eV6LOYaJvG1XDs/d+wzSFXl706Ovz86BiEjs/n0JoqFr23Ti4jz1EXQXpl+Tt/O5tOtXCOVXze3c4Bd5+q0wXAwOow89xf8PXUBfK0VweDBeG838jwoqGaT4eDJJgtjdULB6oSCj9otPxdYQ3lM5vpzy3lvOu6ZzaeLiFgmLqOqXI8f0st1FfsfqQsA1jObT99FOxdUHQ4Ho9epi6C1cvycvsj862+DBcS0gd9jNqYVwWA4KLpoU+Hg7unVvguImgkFqxMKrsznwvpyPR5vyxXwtEeuNyxzHcVLQuU50SR1HRUtUxcAVPIi2nn8nugIYkty3J9u21M4cpzyMUldADzFcDDqRZ7vRxH2GGyktgSDk9QFkMSmwsHj06t9exLURChYnVBwLbmeLKXUT11ARbmGSHxfrmNG2vS5Rn1ynl6xTF0AsL6W7zf43n6DbNJwMJpERG6/U8ttL5wsv/5ym8+xBTvl6wm5ct3ARmUfDB6M9w4jvw9pNmcT4eBO5HtDPCtCweqEgmvrGSe6th9TF1DRb6kLYLMy3bckol2fbdSg7GyZpK6jqnL0L5Ch8vh9m7qOLehF3jdOaZ4cJ9HUtc1Cjl2DP6cuAKoYDkb9yHcB/O1sPl2mLoKv/SV1ARvgTZ27cHDw8fL6wRuJ//j7P29Pr/YH8Smcuo2IZ//4+z8X2y+z24SC1QkFK3se399flK/lemwuUhfAViwiwwuf4WDUF5awhvPUBTyBz9eI/yhv0pDe0g2n9c3m0zfDweinaN8i2clwMPp9Np9epC6EvJVj+/qJy6iirokqFxFxXNNzbcrhcDDq+cwgJ+X9VNcNbFwbgsHsbhqxFVXCwZOIOCo7CdkioWB1QsEnOYyIo9RFZKSXuoAKFuU4LNrn98jzHK+XugDyMByM3kTe50WL1AU0wCScozXF24h4k7qITL2IiOto3xSmk+FgdGMfap5okrqAChZ1hV6z+XQ5HIxuIr/zmUn4zCAvJ5H3dWauW4W0XtajRI0R5QtrjRX9x9//+UIouH1CweqEgk9mnOiKMu54cILZXovUBVTUS10AzVfub5PbCvsv/ZG6AODpygChjfsN7kTEuf0GeaIcx4jWPd6zrrGlm5Tj60pHldcNk7RVPNkidQF8W9bBYBgjytdWDgfZPqFgdULBjXHSv5pe6gIqWqQugO0oV/jnuHjnp9QF0GzlvoJt2P9qkboAYDPKvX3fpa5jC3Yj/0UYJDIcjA4jz2ukusaIpnq+TeiVry80WhkK5jxC9I7u/YbKPRjspy6ARhIONoBQsDqh4EY54V9NL3UBFTnBbLccX1/nHnxXGQrOI//fE/u5QcvM5tOjyPNz9zGvBQBUlGMjwkXd2yyUz5djOJjj60uHtCgUtP1Lg2UbDJbj4Xqp66CxhIMJCQWrEwpunHGiq/kxdQEV3DjBbL0cR8V6v+Gbyov7tuzjleMNQOBxLyLPbv3HnA8Ho17qIshHeT9jkrqOCn5L9Lx1jy/dhIlRwzRVi0LBiDyv6Tsj22AwjIfjccLBBISC1QkFt6afuoAM5Pg+uUxdAFuXZeeCm498aTgYnUR7Lu4jXOBDK5VjvI9S17EFOxHxPnURZGWSuoAKbsuxwLUrnzfHRQWT1AXAfcPBaGc4GJ1Hu64bLChssJyDwX7qAshCL/K84Z0loWB1QsGtspDkcTkes3+kLoCtyzIYDBMtKA0Ho93hYHQdEa9T17JByW48Ats3m08vop038XbLRRqwihyvH1Mft6mfv4ocX2daajgY9aOYLjJJW8lGLctFRzTUX1IXUMXBeK8Xed7EpH6Dj5fXy9RFbFO5X823ws9a938RClYnFNy63YPx3s7Hy+scVzHWJccFFIvUBbBds/l0ORyMUpdRRS91AaRVnhOdRDs/23O88Qes50UU13S9xHVs2uvhYPTbbD5dpC6E5irvr+R4T+OXBjz/JHEN69odDka7ggtSKqfNHEd+x88qXDc0XJbBYOgWZDUvPl5eZ/8Bf+/EtBfFPmA75f9+9Eb+vRuqt1F0XtxG0WVzExtcuSEUrE4oWJvDiLhIXUQTZTz2UNDbDYvI77yvl7oA0ijfT19F8bme44KLVaTavwioyWw+vR0ORs+i6Fxom/fDwegH+1TzgFepC6ggeVfObD69GQ5Gy8jvPPhVFIshoFYtDwTv5Lj/aKfkGgz+nLoAGu/Fx8vri9RFVFG2j/cj4qfY3M3QnXtf6/Dec90Fhr9HxKLK6kmhYHVCwVr9FILB7+mlLqCK1Be/1MaNOxqtPA86jOL65PCRh+fOGFHoiPIm/1EU3c9tcrff4CB1ITRWjp/lTbn5/msUQUdODkMwSE3uXTc8j/wWv64r+YIFHpdrMNhPXQCN9i6nUDDxDaW7wLAfEcdlUPghiqDww2MrKYWC1QkFa+eEv12WqQugNn9EfjdofkpdANtVLuLajeK1zu338ykuUhcA1Gc2n74bDkY/R/vuv/SHg9Gb2Xz6JnUhNMtwMJpEnh3/F6kLKF1EfsHgznAwmpT7q8LGban5IwepxxuzguyCwYPxXj/y/KCmHhcfL6+PUhexivKks2mry3eiCKsmEXEyHIw+RMSv3+okFApWJxRMYudgvLfbhvHCW5DjMbxMXQCwkv8oL4Zz9OXY9p/i0zj3rnKBD93zLCL+jPbdgzkeDkaVJubQas9TF1DBzWw+XaYuIuJf+4PfRH7nSs+jOeFql7XluuGv8Wk7qF6ieprgInUBPC67YDC6la6znsXHy+tGdwSVYdrrKOaYN/3i6l8hYTkr/pcogrNboWB1QsGk+lGMzuVzTX8v+hbjJbtjEfmtPOaTSfjMa4sPTbnxCNTn3n6D89S1bMH5cDDas98gEf/a76ufuIwqmrZo55eIOE9dxJr6w8Go5zwnuUm4bmiLC5+tefj31AVUYDwT37KMYjVjIw0Ho95wMDqPiP+O4gZnbjfie1HsL/HncDB6E0LBSoSCyfn8aI8/UhcAD+ilLgC2oGk3HoGalF1171LXsQW9yC/AYHtepS6goqbt/du0elY1SV0AtMjb1AWwmhyDwX7qAmic24h49vHyunGrEe4Fgn9GO040dqIINoWCaxIKNkI/dQHA2hr32b6CXuoCYMOM24OOm82nR9HOyRuHw8HodeoiaIQmbfGyqg9N68op68kxHMxxjCw00UL3bT6yCgbL/QXhS0dN2zdsOBjtlJ111yEMajKhYLfs+Bz5ph9TFwDfM5tPG/X5Dh31a+oCgEZ4Fnku2HnMyXAwatPCV9Y0HIwOI8+FXU39fG5qXQ/plb8HwNPoFsxIVsFg6Pbgax8+Xl5fpC7ivnKz3OvIc2RolwgFu8lF/9dyfJ8SFgHUYzGbTy9SFwGkV3YAbP36KZH3w8Eox3NiNiPHbrHb2XzayM68sq4cFxH8nLoAyJwpI5nJLRi0PxT3LaNBFyZll+D7KPbf6yUuh4cJBbvL50g75HihCZAjq36Bfylv+F+krmMLemG/wU4qA+EcO8UaGQre0/T6vmVigQA8yVHqAlhPbsFgP3UBNMqLpuwreK9LMMcTyq4RCnZbP3UBAJAJq36Bb2nzfoOT1EVQu0nqAir6JXUBj8hxnGhEvr8PkNqFbUDyk00weDDeM/6N+959vLxepC4iIqLcS1CXYB6Eguz4PAGAlTRmMgfQHLP59Dba+/5gv8HueZW6gAqWTb8BXy4sWiYuo4ocx8pCarehWzBL2QSDocuDT5bRgLFG90aHHqeuhZUIBbnjYh8AHva23E8M4CtlKNHGm4A7EXFunGA3lCFwL3UdFeTSjZfjONFdiwNgbW/LRUNkJqdg8MfUBdAYyUeIDgejXhRdgkaH5kEoyH32GQSA71tGxLvURQDNNptP30WeN/4fsxsRJ6mLoBY5dgtG5LPPZ9PHnX5Prr8XkMJNeT5AhnIKBvupC6ARPqQeIVquHroOXUe5EAryJccuAHzfC6t+gRW9iDzHBT5mMhyMLAJusbIrNMfX+CaXjv6yzkaPPP2OHH8vIJW2jhbvhCyCwYPx3k7k2d7P5iUdV1KGgvMoRozQfEJBvkUwCADf9q7cFwjgUS3fb/C8nBREOx1Gnvd1chkjeie3eiMidoaD0SR1EZCBo6bvd8rDsggGw01cCm8/Xl4vUz25UDA7QkG+62C8109dAwA0zM1sPm3jnmHAFpWLCd6mrmMLdiLifeoi2JrnqQuo6CJ1AWu6SF1ARbn+fkBdFkaI5i+XYLCfugCSu42Ee50IBbMjFOQxFpzkzXsxwGbdRsSz1EUAeZrNp28iYpG4jG3YHQ5G9htsmbITtJ+4jCo+5Dbqu6w3x71I+zqG4btcN7RELsHgj6kLILm3Hy+vk5wACQWzIxRkFT5XPsnq4rIk2AXYrBe57FkENNazyPO88jGv7TfYOq9SF1DRb6kLqCjXuiepC4CGGuS2SIFvyyUYdAOw25YfL6+TdAuWK4SEgvkQCrIqnyuf/JG6APie4WDUT10DdMDRbD7NcTU/0CAd2G/QPYH2yDHovZ3Npxepi6iirDvHEME4UfjaC/sKtkcuwWAvdQEklWS/gvLE/30IBXMhFGQdgkFgW5apC4A1XNgfBNiUcpFBG99T7DfYEmX3Zy91HRXkvoAnx/p7uoXhM29zXaDAtzU+GDwY7/VT10BSy4+X1xeJnvs8hAe5EAqytoPxnuM7Xz+lLgAesExdAKyolvMnoFtm8+lRRLSxm6A/HIzepC6CJ8u1C+zX1AU8Ua71/5y6AGiIi3I/YVqk8cFg5LmSh81JcvJQnvBbGZQHoSBV9VIX0BA5jnWhO/qpC4CWuhEKAlv0Itp5jnlszHm+yqlQOd7nWc7m00XqIp6irH+ZuIwqJsYIg8WEbSUYpMluI8EYkvJE/7ju56USoSBPoWOwkOOKbq8dTdbGG6G0y01EDFIXAbRXuf/QUeo6tuS9oCBbk9QFVJTjGM5vyfX7mKQuABISCrZYDsGgcWHddfHx8rrWm2vlCf55nc9JZUJBnurH1AVQmZsx3ZHjeeAfqQuAB1xExGA2nwqwga0q9yG6SFzGNrhnkK9XqQuo6JfUBWxIrt9Hrr838FRCwZbLIRjspS6AZFKcNJyE37kcCAXZhF7qAhpimbqAKoaDka7BbhACw+ZczObTF0JBoEZHkem55iMOh4PR69RFsLry2qGXuo4Kbmbz6TJ1EZtQfh85Tqvpufakg4SCHSAYpKkWHy+vl3U+YTlCdFLnc1KJUJBNcXIf/7pAy1EvdQHUIsfjNMcbHrTfWxf3QN3KhQjPUtexJSfCgqzk2vX1a+oCNizX7yfX3x+o4oXrhm5oTs9rDAAAIABJREFUdDB4MN5zktVdKU4WjANpPqEgG3Uw3uulrqEhcuwecY7QchnfbMvxeKK9bqO4uH+TuhCgm+w3SGrla3SYuo6KLlIXsGEXqQuo6NCxTgfcRrHlwEXqQqhHo4PBMD6qq24/Xl5f1PmEw8HoTeg+aTqhINvQS11AQ+TY4WSPyPbrpS6gomXqAqB0Ey7ugQaYzafvImKRuo4t6IUFxjk4jDzvL35o2/jv8vv5kLqOCnIOl2EVNxGxN5tPF6kLoT5NDwb7qQsgiVpPEoaDUS+MBWg6oSDbkmtH0qbleMHptWu/LF/jjMfz0i4XUYSCOS78ANrpWeR5zvkY+w023/PUBVT0W+oCtiTX7yvX3yN4zLvZfLrnOrZ7/pK6gEf8NXUBJFH3ScJx5Ll6rCvqCgUPQyjYRY79wh+R3wrI3nAw2mnbKlo+81PqAioQwpDa3ejQHFfj5+Yi8t0rqW2WqQvgcbP59HY4GD2LiHnqWrbgeDgYLSzGaJ5yIXg/cRlV3La44/9DRJxEftfi/eFg1BOe0CLLKK4bFonrIJGmB4NZrhTnSW4/Xl7XdiOjPEmc1PV8rK2WULC0qOl5aBbjKAu53sToR56jaFhNP3UBFQiqSekiIo4smKjNf7mRAuuZzaeL4WD0NorFuW2yExHnw8Fo4D24cXKdDtXaa5xykcCHyPNe3Kto756pdMu7iHjrM6vbmj5KNLfVIzxd3Sc/bbsgaZv/quuJPl5e34ZwsIt8zhRyPRnMsaOMFQwHo37qGir6PXUBdNIyirGhL1zcA003m0/fRL6L0h6yG0UXFM0ySV1ARbmO21xVrt9fblN24EuLKK4bLCak8cGgjsHuqe3kYDgY7US+J4ld8ap8neqS68kp1fmciWL1duoaKuqnLoCt6acuoKJl6gLolLuxoT9k/D4OdFNb9xucDAejSeoiKAwHo8PIcyHosu0jwcvvb5m6jgp65e8V5GYZxXXDwHUDd5oeDNIxdY4RjQgbhDffTtS7IqvVJ998U44XituS48rt3ZoXD1CfXLtBczyOyM9tRLyNiB9avP8Q0GLlHl11bRlRt5NyyxLSe566gIq6cl8i1+8z198rumkZnxYSXiSuhYZpbDB4MN7rp66B2i1qfr5cZ813TW2v08fL62XkuWqNJzgY7/VS19AQy9QFVGTFZsuUYW8/dR1VzOZTwSDbtIxiX5sfZvPpG+N/gJyVHUMXqevYgp2IeJ+6iK4rw9lcrxN+TV1ATXL9Pg8tTiUDyxAI8ojGBoN0Up1jRCehUygXu8PBqM5xj4san4tm6KUuoCH+SF1ART+nLoCN66cuoCKhINuyiE8X9u8EgkCLHEU7Pz93h4OR/QbTyjUUvOnKQrPy+8z1e52kLgC+40NEPBMIsoomB4O91AVQuzpPCNxIzkud3Z2/1/hc0CSL1AVU1E9dABuX62f0InUBtMoyIt5F0R04cGEPtFG50OFFtHO/wdf2Iksq1wlRuXbRVZXr95vr7xfttIxP2ww8a/sepWyOYJDG+Hh5vajjecqWfyfoeanz9VrU+Fw0Qz91AU2Q8QbUO266tE6ur2euXbc0xzKKMHCvXOV7VO7DBdBaZdfQ29R1bMl56gK6aDgY9SPfe4pdu6Gf6/fbq3myFXzpJj6/bnjjuoF1NTkYpFsWNT5Xrjccu6y2G//2GaTjch3lkmuHGV8o3+tzHfW9SF0A2bmN4obY3b6Bd2Fgru/FAJXM5tN3kW9A8JBcz2ly9zx1ARV96NqN/fL7zfXY1zVIne6uG15Ecd2w57qBp/pL6gIe8GPqAqhVneMb3UDO089R3wnjTeS7wpD1/TV1AQ2yiIgcVz5OhoPRkX23WiHXGzm3XbuRQyWLKM4x/ogO7SEEsKIXUZyH9hLXQcYynxD1W+oCEvkt8nzNDl2DskWLcN3AljU5GLSyqlvqfIPL8YSDesc9/hF+T7okxyBsW36PiNepi6joMCIuUhdBdZnfyFmkLoBGuIlP+2TdLXpbRMRScAzwsNl8ejscjF5ExDx1LWQt1+kTd91AXfQhIk4iv9ft7trlInEd5OnuuuE2inuQt+XfuW6gNk0OBumWZR1PYh+qrPWGg9FuTatkFhFxXMPzQNMsUhfwBK/CRVnucg2lI+qdfJCTi4j4NXURW3RjlTjA5szm08VwMHobrsWoLtfxjjsR8d/DwSh1HaznebgG3ZSLcN0AtWpyMJjbShGe4OPldV0dgz/V9DxsRz/q6S5d1vAc0DjlSu2byLOLcnc4GPVn8+kidSFUlusY0YjurvB+zH85JgFYx2w+fTMcjH6KeifG0ALDwagXeV7HkK/+cDDq6fDaCNcNULN/T13AA3yYd8eixufye5W3WoLdj5fXyzqeh8bopS6gYRapC3iCnIOlThsORpPI91g07gUANutZfBrNDKvKtVuQvPm9A7LU5GCQ7qjzhL9f43OxeXUGu4san4u0eqkLaJicN72flCuFyU/Ooa5uQQDYoHLc2ovUdZCdSeoC6CRbFgFZEgzSBH/U8STDwUi3YP56w8GorjHDVqjSSeX4jpx//+1Jk5nhYNSPvBfu2F8QADZsNp9+iIh3qesgD8PB6DBsSUQavfL3DyArgkGaoK4b0ILBdqjrdawlsIaGyrkDStdgfnIOc2/LG5cAwIbN5tOjqGePefKX8/QJ8uf3D8hOI4PBg/GeAKdb6jrR79X0PGxXv6bn+f/bu4PkxLGs7eNPd9T85V3BR66g7ZknRII1zYiyxwwKj3FEpleQ9grsjICxyYHGSUUwlVGFJ8ygVpDqFbz0Dr6BLp2uLBskIeleXf1/ERVV3SnMSQMC9NxzbpM7poBjNXmcqNTsoKlVPOgWJBQEAKBaV+K7GfYwiwLp2IJNFzVOtwKAUvxiu4A3cDJFFd7bLgCl+J+a7mcmVqeipZ6W0fx8EGzV3Pfj0fkg+PK0jHgNu+/edgFHYowoAAAVelpGm/NBcCPp0XYtcBahIFwwEuOPATSIq8Eg2oULt8ijlo7iRbjeSorruC/AUXOlX26a6l7SwHYReNv5IBip2WO+t6JjEACAyj0to9n5IHivZn82RXU+2i4AUPo8JBgE0BhOjhJFu5gApg79mu4HAHzQ9HGifTaBd5cZtdP0bsH50zJitBkAAPW4kZTYLgJuMWPpu5bLACSpa56PANAIBIMAmqZvuwCgDZ6W0VzN38/lkb0enPVZzR1Vu9P08BwAgMYwi3EubdcB5/xmuwDgBZ6PABqDYBAAALxlZruAI3WUBlBwiFlJ+8l2HUdKTHgOAABqYvaPvrFdB9xgFgAyIQQuuWBhKoCmIBhEK5wPgibvYQQAtny1XUAJPjHSxR3mi/Kj7TpK4MNrAwCAxnlaRg9iL3ikLtT8CRTwC2E1gMYgGIRtcU33w4dFAMjJrMre2K6jBN9YuemMe/mxD8zMdgEAALTYpZo/8h7H+2i7AOAVPC8BNALBIIDG4QI/UKsvtgsogS9dao12PgguJI1s11GC+dMySmwXAQBAW7HfIM4HQVcSk6HgohPz/AQAp/1iu4A3JJLubBeBWiS2C0AjnaiGbtNxGNyLLxttcTMdRj50xpXuaRnNzgfBvZrfeX1xPgg+mfFTqJkZ6e1LOMsYUQAALHtaRvH5ILgT+0m3FV1ZcNlHsR8qAMc5GQwuwnUi6dZyGQDcVVeA0xfBYFs0PfSq2hf5cdHl/nwQbJ6WUWy7kDZ5sa+gD6+z5GkZzW0XAQAApKdldHs+CH4V39naaGS7AGCPkQgGATiOUaIAGseMjqkDXzCBlE9ddt9M9xrq8yh/zqdMtAAAwC3sN9gy54NgJD8WnMFfHbONAgA4i2AQbcEXBQAoyITxM9t1lKSjNBzkYkINzgfBoyRfvhRvn5bRzHYRAADgB7Pv75XtOlCrX20XAGTwm+0CAGAfgkG0wtOSvcMA4Eg+dUp1JS0JB6t1Pghu5deYpy+2CwAAAH9nxnz7NOECbzgfBF35s+gMfrswz1cAcBLBIAAAOMisxp5ZLqNMJyIcrIwZ8eTDvpQ7W3HBEQAAl92pvr3oYc/IdgFADoTYAJxFMIg2YZyoH+I67mQcEhYAr/Cpa1AiHKyECQUfLZdRti817m8LAAByMu/TV+J7v+8Yz4gm+Wi7AAB4C8Eg2oTVg8jjxHYBgGs87BqUCAdLdT4I7uVfKEi3IAAADWC2EPFtIRuM80HQV7olANAUXfO8BQDn/GK7gNdMVr2OuCjfJpvrs+c6VvWxctAPBLwo3XQYxbZraJA7+TfC50TS+nwQXLInbXHng+BR/j03JOmObkEAAJrhaRk9nA+C92KEn4/oFkQT/aaaJl8BQB5OBoNKVwAtbReB2lxKmtdwP3+KLwc++E9N90P3EPCKp2WUnA+CO/m1f5xkPnuYcDC2XEujmG7Lb5L6lkupQvK0jOgWBACgWa6ULvzqWq4DJTGfN0e26wAKuDgfBDcsNATgGidHiV6fPbNav13q6g5NarofVCuu6X7oWgbe9iA/u7A7SsPBT7YLaYrzQXCidDFX33IpVbmxXQAAAMjHXIC/tF0HSsUibzRVRzx/ATjIyWAQrfM/Nd0PgbMf6noc63peAo1jLrb4vH/L/fkg+Ma+g/udD4KR0lDQ14UU8dMyqmOiAQAAKBn7DXrno+0CgCPw/AXgHIJBuKCWC4rsG+WFpMbxC75e6AZKYcYr+nxevVC672DfdiGuOR8EnfNB8E3So/weu0y3IAAADfa0jG7F3l6NZyZU8P0cTXZyPgi6tosAgJcIBuGCbo33Fdd4XyhfnSFEt8b7gl0+h1tV8z046SodLXpP92DqfBBcSPou/8fhPLCgCAAAL1zKzxH4bfKb7QKAEtA1CMApLgeDXIxpj26N9/VHjfeF8tX5+HVrvC/YxYWCgp6WUax0v0HffZL03YzObKXzQdA9HwRLSd/kd5eglO5JzOgxAAA8YCbOXNmuA0cZ2S4AKMHIdgEA8JLLwSAXaltksur1a7qruKb7QTXiOu5kHDI6EMjhTu14z+5IejwfBMs2jRc1Y0NvlXYJ9u1WU5ubGsdWAwCAipk9g9uwmM07ZmGe74vS0A4dM30FAJzgcjCIdqlrn8FY7biA7aNtjWPd2L+gXTgnHKGFq7D7SseLeh0Q/hQIfrZcTp3m5uIhAADwyNMyuhGTqZroV9sFACViLC4AZ7gcDHKhtl3+VeN9xTXeF8pT54XaOp+PsO9P2wU0nQlSZrbrqFlfHgaEZmTorX4Egm1aod22kBsAgLZhv8EGOR8EXfm/rzXa5cI8rwHAOpeDQS7UtkudHVq/13hfKE+djxsdg0B+N0r3ZmubvtKA8Pv5IPh0PggaGaSdD4L++SB4VDsDwZ0rRogCAOCvp2WUKP3MimYY2S4AqABhNwAn/GK7AMA4max6neuz5zouyM0lPdZwPyjPtq7RbuMw6IhgsG0IAkrwtIy254PgStLSdi2WdCXdS7o/HwRzpYsZ5i4HTeeD4ETpOJsLpfW32QMjRAHk9N50WMMdsdk6AnjT0zKanQ+C9yJ0agLGLsJHH8WepwAc4HIwmNguALXrq4Zxkebi9Vys0mmSOi/W9mu8L7iBvUZK8rSM4vNBcKd27Un3mgvzz6N5v/lD6cVK6881s+H9exEGvrSRdGe7CACN0xefG10U2y4AjXCj9PXbtVsG3mJG9XctlwFUoXs+CPosZAFgG8EgXPJe9QVAX0Uw2CRfaryv9zXeF+Cdp2V0a1Zh923X4ohdSKjzQbBVesHyT/PvTZUdhaYjsKv0vHYiHpPXbMUIUQAAWsUsFr6UtLZdC95EtyB89ptYyALAMpeDQbTPhWqa9/+0jObngyARK9CaIKm5y6Zf433BDda7uDx0qXSvujbuU7dPRz+Cws/Sf8PCjdIFUf9WGlS9fE6+Gh6a0O/l77dv/v3e/P+MRM7mxoVOTgAAUK+nZbQ5HwQ3SkfBwyFmz+6R7TqACl2cD4IbFicCsMnZYPD67DmerHq2y0C9upNVr3t99pzUdH9fxbi7JqhtvNs4DLriYnrrTId8GC+bWYU9EKuws+jowIKE80FQTyXt8/C0jGa2iwAAAHY8LaMHM+mCaUJu8eHxSJRec0I1flOzF/rvFozOLNcBoMWcDQbRWheqbxPeB6Wb/tLR4q6t2F8Q1UpsF+Arswr7StKj7VqAV8RPy6iWKQUAAMBpV0q/B3JdwB0fbRdQgi9Py6iua1utY6auNL3b96MIBgFY9E/bBRzAaKf2qW1/N9OyP6vr/lDIl5pHK/xa433BDYntAnxmurH4QgzXbJSOuwUAAC1nvm/yucARZly+D1N8ZrYL8NzMdgElODHPdwCwwvVgkPFu7XMxWfXqXKn3pcb7Qj5b1RgojMNgN8oB7ZLYLsB3pitrZrsOwNhKumI/DwAAsPO0jGLVuIUF9vrNdgElmPNZs1rm91vndKmq+PB8B9BQrgeDdAy2U23hzNMySsQXAFfV3S1IKNhO/7ZdQEvciPd02LeVNHhaRjwXAQDAXzwto1vxedUFI9sFlIC9Bevhw+95ZLsAAO3lejD4H9sFwIq6V8w8iO5U19TaLWgwRrSdEtsFtIEJ+QfiYgvsuiIUBAAAe1yKawPWnA+CkZq/1+P2aRn50MnmPPN7bvrrtWOe9wBQO9eDwdh2AbCiP1n1unXdmblgTdegW27q7BZkjGirJbYLaAvCQVh2xUUaAACwj5kodGW7jhbzYazizHYBLePD53sWqQOwwvVgsOkrP1DcqM47e1pGD+JitSvip2U0q/k+RzXfH9zB675GJhy8Eu/vqNeVhfcVAADQQGYhUd3Ta1rvfBB0JfUtl1EGH8ZbNskX2wWU4MI8/wGgVk4Hg9dnz1ywbS8bK8VuLNwn/s7G4/DRwn3CAdMhm8LXzYxyHIhwEPUgFAQAAHndiQWEdRvZLqAEG8bW18v8vhPbdZRgZLsAAO3jdDBoJLYLgBXdyapX62jHp2UUi5WBtt3V/UF6HAZ9Sd067xPOiG0X0FaEg6gJoSAAAMiNKRdW+DBGlG5BO3zoGvTh+Q+gYQgG4TIbXVysDLRn87SMbi3cLx/A2iuxXUCbmXDwnTjnohqEggAAoDDzWfXOdh1tcD4ILuTHYl0f9rtrIh9+793zQdC3XQSAdmlCMPiH7QJgTX+y6nXrvMMXKwNRLyu/93EYdMXIhjb7t+0C2s6ccwciHES5CAUBAMDRnpbRg/wIHVz3q+0CSjB/WkaJ7SLayPzefXidsmgdQK2aEAwmtguAVZ/rvkOzMpD9But1Y2kWP3sLtltsuwD8JRyMLZeC5ttKOiUUBAAAJboS16Uqcz4IOvJjse7vtgtoOR9+/yPzegCAWhAMwnVW3hTNysCZjftuoZmNi7jj0JsvICgusV0AUk/LaPu0jAbivIviEkkDS4tMAACAp8witkvbdXhsZLuAEmxZmGaX+f37sCfohe0CALSH88Hg9dlzbLsGWJFIGlyfPdv8AH4jxttVLX5aRrZGt36SpeAZbpgOGfXiGnM+oGMbeW2Udgryng0AAErHfoOV8mF8og9jLH3gw+PAVCsAtXE+GDS40NMeW0l312fP72yHwi/G2yU26/DYRpZWXppuQT5wtVtsuwC8znRsX8qPFZ+o3uxpGZ2a92wAAIBKPC2jW/EdolTng+BE0ontOkrwxXYBkOTH43BiXhcAULmmBIOJ7QJQi1jS6fXZ863lOv7rxdgQLjiWa6t05Jut3yvdgmDBicOeltFc6cIMHifsc2Wx6xwAALQP1wbK5cNi3YSpFW4wj0Niu44S+NBFC6ABmhIM/mm7AFQqkXR5ffY8uD57TizX8jfmw8VAfAEoi9VQcBwGXfnxBQTH4X3FcS/OvTPLpcA9idLRoTPLdQAAgBZhv8HS+bCfmg9daj75aruAEoxsFwCgHZoSDMa2C0Bl7pR2CTo9C5xwsDS7UNDmirrPolsQdKI1wtMy2pqOsCtx/kVqLvYTBAAAljwto1jSg+06mu58EIzkx/dyp69ltdDMdgEl6JjXBwBUqinBIBd//BNLend99nx7ffbciIu9hINHsx4KjsOgL1ZfQdJ0SKjQJKYzjNGi7baVdPO0jC7ZTxAAANj0tIxuxOfSY/kwLjF+WkaJ7SLwg3k8YstllOFX2wUA8F8jgkETHCW260ApEh0xNnQcBqOS68nlRTjIl4B8NpLeOdDh8dny/cMNse0CkN/TMto8LaNTpZ3maJdYaZcgq/MBAIAr2G+woPNB0JXUt1xGGXwYW+kjHx6XC/M6AYDKNCIYNGLbBeBohceGjsPgZBwGS0mP4zD4VH5p2REO5hbL4p6CO+Z507dZA5zBa7fBnpbRraRT8Ti2wa5LcMBqbAAA4BLz2eTGdh0NNbJdQAm2Yoyoq+byI7Qf2S4AgN+aFAz+absAFBar4NjQcRh0xmFwL2mtH6HO53Fod+WM2ffqVH7ML6/Sg7mgazsU7IhuQfzwh+0CcJwX3YM38uNLH/4uFl2CAADAYWbc/cxyGU3kwxjRue3rHHideVx8CG19eJ0AcFiTgsHYdgHILdHxY0O/S/q5Q7Aj6fHI2krxtIyuJF2JC9M/20q6MnsvuOBRfmxsjnLQaeYJExqdyo8vfkglki7pEgQAAA3BfoM5nA+CC0ld23WUwIdxlT7z4fHpng+Cvu0iAPirMcHg9dkzH7SapZSxoXo7zOnbHim6Y1YJMlr0h43S0aEz24VI0jgMLiRd2K4DzkimQ8IGnzwto+RpGV2K83DTbWU+OzwtI4JeAADQCKY76cp2HQ3yq+0CSpA8LaPYdhF4m3l8EstllIGuQQCVaUwwaMS2C8BBscodG7qP9ZGiOy/G2t3ZrsWyu6dldGr2YbTOPD+c6C6FM5x4bqJ8T8soNufhK/nxJbBNZkoDwVtGMgEAgKYx339dmZbjrPNB0JEf+6b50I3WBj4sNhyZ1w0AlK5pwSD7QrkrUTVjQ/fpSPqW976q9LSMbpWOtWtb+BDLXNS1XMfPGCGKn/E+4rmnZTR7WkbvlC7UIGRy20zSu6dldMXYUAAA0GRmxL0PQUSVRrYLKMnMdgHI5IvtAkrCBCwAlWhaMBjbLgCvqnps6D4npsvQGS+6B9uw92CidC/BgStdgjvjMLhVts5TtEtsuwDUwyxUICB000zpYhICQQAA4JM2XAM4hg9jEWM+vzaDeZycuk5V0EfbBQDwU6OCweuz59h2DfiLWPWNDd3nk9lHzilmjz1fL0q/3AtqZrmWvxmHQV/SZ9t1wDnb6dCtABvVelpG2xcBISNG7ZvpR4cgr0UAAOAVMxL90nYdLjofBCeSTmzXUQLGiDaLD12DJ+b1AwClalQwaMS2C4C2kq5qHht6yOM4dO+N8qeL0j4EhLtA8J2re0GZfQWdGjELZ8S2C4Ad5ly8GzF6JZ4LdXr5vkGHIAAA8NrTMoqVfvbBX/nS9cS42Gbx5fHyodsWgGOaGAyyP5RdD0q7BGd5bzgOg+6RY0P36SgNB53cT86DrpVEad3OBoJS2omqNBR08nkA6363XQDsMwHhQOl+sDM1f8GGqzZKR03/r3nfSGwXBAAAUAfz3T+2XIZrnJvyVMDM1WsheJ15vGa26yjByHYBAPzzi+0CCpiLEYE2xJJurs+ec4/+MmHNJ1X/uJ0oDR2dHd3x4kPJ7HwQ9JWu+rmQm0HWVunr7UuDRr49yo/xJKhGbLsAuMOc167OB8GN0vPwb2Jf0mPt3uO+Nuh9AwAAoApXSrdOcfG7fq3OB8FIfvweWGjaTL+r+cFa53wQjFzcygdAczUuGLw+e95MVr2t/PhQ0QRbpYHgrMiNzd5/95K6Jda0z8U4DO6nw+impvsrzIwYiZVemL6Q9Kvsh4SJqen3p2XUqJEL4zB4lB+rEFGNZDqkYwl/99OCja5+hIQsMshmt4ikce8bAAAAVXlaRsn5ILgS21xIfoxBTPis20xPy2h+PggS1Xddsiq/yY/uRwCOaFwwaMQiAKjDg6S767Pn3KMSzD5vj7LTffFpHAZ/TofNWUljPmDOlYaEJ0p/b+/Nv6sMChOl497+kBQ3tcPDhIIj23XAabHtAuA+M+7yQdIDIeFehIEAAAAHmEDiQekEpVYyn6n7lssoA595m22u5r8O++eDoMsWDQDK0tRg8HcRDFYplvtjQw95HIeBmhQO7phwbqP04vTug3RX6Yfp/1F6gbqjfBeqY/PvjaT/mP+d+PCBYhwGn0QoiMMY+4JcfgoJO0o/d7yX/c5uWzZKX0fzpi4iAQAAsOBO6Xf5ti40+2i7gJJ8sV0AjvJFzQ8GpfTa163lGgB44h+2Cyhisup1JX23XYeHmjY2NIvL6bAd3Qxmz0JJ2rblou04DEZKO1OBQ/53OmSjeJTjp87uE7n1vleWjdJFJLuOcl4/AAAAAAAAHmhkMChJk1VvrfauuKpCU8eGHrKVdMreYv4Zh0Ff0tJ2HWiE+XQYXdouAv4ynd0n5p9dWNikrsJdp/qfkjZmD1wAAAAAAAB4qKmjRKV0nBXB4PFiNX9s6D5zQkE/TYdRPA6DmRgjisP+sF0A/GbGjiZ6sfeIGT+6Cws7SgPDvGOgy7RVGv4lkv69+++2dJgDAAAAAAAg1eSOwRNJa9t1NJiPY0N/NpsOoyvbRaBa4zB4FOEg9nvHAgG45sX455/Dwn+pWLfhbg/Zndj824v9ZAEAAAAAAFCOxgaDkjRZ9b7L7WDKVb6ODX2JULBFCAexx2Y6jE5tFwEAAAAAAAAALmjyKFEpHdn1yXYRDRLL77GhO4SCLTMdRlfjMJAIB/F3v9suAAAAAAAAAABc0bhgcLLqdfWjW+0/bx+JF7ZKOwQfity4IWNDdwgFW4pwEG+YHz4EAAAAAAAAANqhUaNETSh4cn32PH/x//2fiu3F0xYzpV2CPo8N3ckcCn4Ynp4o7X68WoTr3L8b1KOPQfhBAAAgAElEQVTI48RYUbyQTIfRO9tFAAAAAAAAAIAr/mm7gDyuz56Tl6GgQTfI6zaSBtdnz1cFQ8FbSWv5GwouJV1I+v5heNqvsjAU82F4OtKPx2n5YXiaaQGAeR7MqqsMDcL7AwAAAAAAAAC80Khg8A1fbRfgmK3SDsHT67PnOO+Nx2HQH4fBd6VdWk3pxCwSCu7+bh2loRN7VTrEPB6P+vE4nYhwEPnx/gAAAAAAAAAALzRqlOhbJqvedzVj/7uqzXTc2NB7pd1ZTXJMKPizWNIlo0XtMwHgd/39sdpIGjBWFBkwRhQAAAAAAAAAfuJDx6DEuLiyxoa2ORSU0rGp3z8MT5v2e/COCf7uXvkjOgeR1RfbBQAAAAAAAACAa3zpGDxRGmy1zVbS3fXZ80ORG4/DoK90XGO3xJrqUnYo+LO5pCu6B+36MDxdKw0Df0bnIA55Nx1Gie0iAAAAAAAAAMAlXgSDUivHic7UvrGhO1WHgjtbSTeLcD0rcFuU4MPwtK/08XsN4SDespkOo1PbRQAAAAAAAACAa3wZJSq1Z2xcW8eG7tQVCsrc7vHD8HRpfhZKMln1Liar3nqy6nX3HbcI17GktzpiGSuKt7Tl/QAAAAAAAAAAcvGpY7Ar6bvtOirU5rGhO3WGgq/ev6S7RbhOSvyZrTJZ9fqSPivdz1GS5tdnz5f7bmOCv+96+7GkcxA/+9/pMGIMMAAAAAAAAAD8xJtgUJImq943NbcTbp+Z2js2dMd2KLizlfSOvQfzMcH9W8/DwfXZc7zv9h+GpyOlwfZbCAexk/lcAQAAAAAAAABt49MoUUn6aruAkrV9bOiOK6GgJG0IBbObrHrdyar3qLTj763n4b7AT5Jk9nmM9xzCWFHs+PY+AAAAAAAAAACl8apjUJImq97/qbpQqC6MDf3BpVBQki4X4Xpe4c/3wisjQw+5uz57vt13gHl81wd+Dp2D7ZZMh9E720UAAAAAAAAAgKt86xiUmt8FNJd0WiQUHIdBdxwG35SGY92yC7PAtVAwORQKTla9pofShU1Wvc5k1RtNVr210sein+PmH8240TctwvVG0qHXBZ2D7fbFdgEAAAAAAAAA4DIfg8GmXhhOlI4Nvbw+e07y3ngcBp/kx9jQHddCQSnbiML1ZNX7Pln1Ph0KunwxWfVOXowLfVQazuXVUboH4SF3Sjtq9yEcbK+Z7QIAAAAAAAAAwGXejRKVpMmql7dbyaatpC+Hxii+xYwNvVexMMZVLoaCkvRuEa6Tt/7QjM9c/vR/b5QGirMi+0S6yoSeF5I+qtzu1MH12XO874APw9ORMuxLKMaKtk3m8wYAAAAAAAAAtJWvweCFpG+268hgLummYIfgrsNqVHJNtrkaCs4W4XpvXaZrbrTnkLmk3yXFRR5z2yar3onSMPBXVRdEJ9dnzwf3iPswPM0a/hMOtsdgOoxi20UAAAAAAAAAgMu8DAYlabLqfZe7++wlkq4OdUa9xYwN/ax6ArE6uRoKSmm4FL/1h6aD7nuOn7eRFEv6Q2lQ6Fw3oQkCTyS9VxoI1vW7vjvUQWse/3XGn0c46L9kOowOBsoAAAAAAAAA0HY+B4OflG3PsjoxNvRtLoeCySJc7w0dJqverdKwtqiN+efP3X/XGRaaYPNlEHgie8HzVtLpoa7KD8PTe0mfMv5MwkG/XU2H0cx2EQAAAAAAAADgul9sF1ChmdzqqmNs6NtcDgUl6UuGY3478j52odx/TVa9rdJAK5H0b/PvxPxxruDQBH/dF/fVkfQv8+9+wZqr0lG6h+DgwHF3Sl8TWZ4LJ5KWH4anmcLB6TC6GoeB5O9rzidbpedXAAAAAAAAAMAB3nYMSpn2fKtDIsaG7uN6KLiV9G5fmNSgPS2b5vL67Hlv4PNheDpSGiJmReegf+6mw+jWdhEAAAAAAAAA0AT/tF1Axe4s3vdW6V5p74qEguMw6I/DYK20U5BQ0E4oKEnzDCHSx1oqaZ/7yaq39/FehOuZ0r0as9p1DmZ6Hpnn5yzHz0f9ZrYLAAAAAAAAAICm8DoYNGM7Zxbueq50j7TbvDcch0HHdCkt5edegjtNCAWlA2NEzYjOfi2VtE9X2fYQvMn5cwkH/TGbDqPEdhEAAAAAAAAA0BReB4PG1xrvK5E0uD57viy4l+AnSd/l/+jCpoSCm0W43hw4hm7Ban024eubzGP0kPPnEg76wWZXOAAAAAAAAAA0jvfBoBnjGVd8N4wNza4poaB0oFvQGFVdBDLtIXin9HWYB+Fgs83pFgQAAAAAAACAfLwPBo0qu0piMTY0qyaFgluzf92bJqveSP4HuS7oT1a9i30HmH0g844UlQgHmyxLcA8AAAAAAAAAeKEVwWBFXYOJpMvrs+cBY0MzaVIoKGULfxgjWp/7yaq39/lggty4wM8mHGyeeDqMYttFAAAAAAAAAEDTtCIYNMrsLrlT2iU4z3vDcRicjMNgqXaMDd1pWigoHXi+TFa9E7Wjy9MVXUmfMhxXpGtQIhxsGvYWBAAAAAAAAIAC/mG7gDpNVr3vSgOGomJJVwU7BDuSPitbuOGTJoaC8SJcD/YdMFn1HtWebk+XvDv0+vswPL1X8dfZRtLAjCY9yIwCHhW8LxQTT4fR3tcnAAAAAAAAAOB1beoYlIp3mSQ6bmzoSOnYUELBNzgUCkqHuwU7kvbueYfKPGY45k7pa7YIOgfdR7cgAAAAAAAAABTUqmDw+ux5prQjKI8yxoY+yo3Aq05NDQWTRbg+9FiP5EatbdSfrHp7Q1nT7Vd0pKhEOOgy9hYEAAAAAAAAgCO0Khg0sgYGsdKxhbfXZ8+ZxgrujMOgMw6De0lrSf185XmhqaGgJH3NcMzHyqvAPvema/NNJtyNj7gPwkE30S0IAAAAAAAAAEdoXTB4ffYca39gkIixocdocigoHQh3JqteX8ftU4njdZXt9ZXpebgH4aBb6BYEAAAAAAAAgCO1Lhg03uo6YWzocRofCi7CdXLgmN/qKAQHfZ6set19B5jH8tgOM8JBd9AtCAAAAAAAAABHamUw+ErXYCzGhh6r6aGgdGCMqAmiRrVUgiweMxzzoLQL+BiEg/bN6BYEAAAAAAAAgOO1Mhg0bsTY0LL4EAomi3AdHzhmVEMdyK4/WfUu9h2wCNdbZd9XdB/CQbvoFgQAAAAAAACAEvzDdgFNNA6DE0n3aneH4I4PoaAk3SzC9cO+Ayar3nexv6BrEqXjf/d2+n4Yni5Vzut1I2lgAseDxmHwKALlYz1Mh1EZ4S4AAAAAAAAAtF6bOwZzY2zo3/gSCm51oLvLdKZ16ygGuXSVrWM30/M0AzoH67UV3YIAAAAAAAAAUBqCwYwYG/o3voSCkjTP0AH2sZZKUMRns//jmxbhOlF5ARPhYH2+TIdRrn1fAQAAAAAAAABvIxg8YBwG3XEYLCU9yt1gq24+hYKS9GXfH5rQqV9LJSjqMcMxD0pHj5aBcLB6yXQY3douAgAAAAAAAAB8QjD4BjM29FZpl2DfbjVO8S0U3CzC9ebAMXQLuq8/WfVG+w4wXaFl7lVHOFitssa/AgAAAAAAAAAMgsFXjMPgQuk+gp9t1+IY30JB6UC3oDGqugiU4n6y6u19vi3C9VxSXOJ9Eg5WI54Oo9h2EQAAAAAAAADgG4LBF16MDf0mqWu5HNf4GApuF+F6tu8A04Xm+t8DqY6yhflld6IRDpaPbkEAAAAAAAAAqADB4F+NxNjQ1/gYCkrZwhnGiDbLp8mqd7LvgEW4TiTdlXy/hIPluZsOo8R2EQAAAAAAAADgI4LBv3qQlNguwjG+hoLSgTGiJmDaGzLBSfcZjqnitU44eLxE6WMDAAAAAAAAAKgAweAL02G0lXRjuw6H+BwKxqZzbB+6BZupb0bAvmkRrqt6rRMOHufKnIcBAAAAAAAAABUgGPzJdBjNJc1t1+EAn0NB6XC3YEfSRU21oHz35jF80yJczyXFFdw34WAx8+kwim0XAQAAAAAAAAA+Ixh83ZWkNnet+B4KJiYU2mekZv2d8FcdSZ8zHJfpeV4A4WA+W1X3WAAAAAAAAAAADILBV5hRdne267DE91BQkr5mOIYxos33yewT+SYzTraq1zrhYHZ3jBAFAAAAAAAAgOoRDL5hOoweVM2YQZe1IRSUDoQvk1WvL6lbRyGo3H2GYx4kJRXdP+HgYbE53wIAAAAAAAAAKkYwuF+bRoq2JhQ0XWL7/FZHIahFf7LqjfYdsAjXVY+xJBx8GyNEAQAAAAAAAKBGBIN7TIdRonaMFG1LKCgdGCM6WfW6SvcXhD/uJ6ve3ufrIlzHkg7tO3kMwsHX3ZnzLAAAAAAAAACgBgSDB7RgpGibQsHEBED7jGqoA/XqSPqc4bgbVdshTDj4V4wQBQAAAAAAAICaEQxm4+tI0TaFgpL0JcMxjBH106fJqney7wAzYjbLc+QYhIMpRogCAAAAAAAAgAUEgxl4OlK0baHgVgcClsmqdyGpW0cxsOL+0AGLcH0rKam4DsJB6YYRogAAAAAAAABQP4LBjMzIuyr3IKtT20JBSZovwvWhrs+PtVQCW/qTVW+U4bg6OtnaHA7Op8NoZrsIAAAAAAAAAGgjgsF8fBgp2sZQUDowInKy6nUl9WupBDbdT1a9vc9nsw9lHYsA2hgOMkIUAAAAAAAAACz6h+0CmmYcBn2lYVkTtTUU3CzC9em+Ayar3r2kTzXVA7sers+eb/Yd8GF42pW0Vj3P/42kQYaOVknSOAweJY0qrag6g+kwim0XAQAA0EbjMLhXujgtq69NmvQwDoO839M302G093tBXQrUfjMdRptKiinZOAxGkn7LcRNnHpefjcPgRBm2qGggZ59Pvp+3yjQOg1tJ7wve3NnXXREFzjuNMB1GA9s1vKXp72PjMLhQsUlyzp9zCpxHd65c2gao4a9rp57vO7/YLqBppsMoHofBg5oXIrU1FJQOdAsao6qLgDM+TVa9r9dnz2+ekBfhOvkwPP0i6XMN9ew6BzOFg9NhdDUOA6l5z9k7QkEAAACrTpRvSsofFdVRlX7e48dh8KcjF/T6OY9v0nf1rvyZztORP3+Xl1x+Pvl+3irFOAw6Ou76RX8cBl9cCgGO1JWfr1WX9XMe79p5Z6Niz5mOHJ7uNQ6DroplGBsHzwddNfd17drzXRKjRAsxq2icS3n3aHMouF2E69m+A8y+c778fZHNwVWei3B9KympvJKU72NFN9NhdGu7CAAAAOAn96YLDACabOTIzwAayYRgRbYVOnH8c8RFwdtlabJBwxEMFnepZuw32OZQUMoWnhRpFUez9SerXpYVM3Xuh+drOLhVer4EAAAAXNOR9Gi7CAA4Uhnj9Zo6og8oy9eCt3P5tVPkmvdWxUJSNAzBYEFmJUGdoUERbQ8FpQMrHCar3omKzVlG832erHp7n++LcB2r3jdDH8NBp2aSAwAAAD85MfvvAEDjmG6lMq5rdc0+a0ArTYfRXMUmh43KraQc5tzQLXDT+XQYNaEZCkciGDyCOWE82K7jDYSCUrwI18mBY+gWbK+Osm0cf6N6u4N9CgfvzHkSAAAAcNknLogDaKgyr2u53PkE1KFI12DH0c8QRc8NRTsn0TAEg0dydL9BQsHUoW7BjorPWoYfRpNVr7/vABMu1z1b24dwMGZfQQAAADTI4zgMuraLAICsxmFQ9nWtC86DaLlZwdu5GKoXOTck02EUl10I3EQwWI6B3NlvkFAwlSzC9aFOpZH8/Lsjn4Ndg4twfati4wSO0eRwMBH7CgIAAKBZOpK+2S4CAHK4UPnXtVhAj9YyW+HEBW56YYJ6J4zDYKRi54a6GyNgEcFgCczc3YHtOkQo+FKWtmfGiEKSTiar3qcMx9nYU7SJ4eBW0iXzyAEAANBAJ+MwuLVdBABkVMV1La6Voe2KjtIclVnEkX4teLtZmUXAbQSDJZkOo43sBAc7hIJ/Ndv3h2Z8ZLeOQtAIn81o2TctwnUsycZ+eU0LB2/M+RAAAABoos/jMOjbLgIA9hmHwYnS6wVl63IORJtNh9FMxSYDOjFO1IwDLtL5O2ORf7sQDJbInDhmFu6aUPCvZmZfuH2cOFnDGR1lGCkq6UZ2xgY3JRx8MOdBAAAAoMm+uTQSDABeUeV1La6Zoe1mBW5zYgJ724qOAy7aKYmG+sV2Ab6ZDqMrk8z3a7pLQsG/23sim6x6XbnV3g03jCar3tfrs+f4rQMW4Tr5MDz9IulzfWX91y4cHCzC9cFw0pyLpPqe6/PpMLqp6b4AAACAKu32G3RhyxA4YjqMYkn/KPNnmtG1eb5f3k2H0W2ZNaCxRlX+7HEY3DS1e8i8Rm7L/JnjMFgq37VeXqvN9kVSlm2HfvabJNtTtIqMA07Me5xPeA0eQMdgNS5Vz0mAUPDvEjPycZ9RDXWgmQ52DS7C9a2kpPJKXudq56DtUcoAAABA2frsNwjAReMwGKn663ujin8+4KzpMEokxQVuOiq1kJxMx2K3wE3pFmwhgsEKmBU1V6p25CCh4Ou+ZDiGkQh4y8lk1cuyIshmCOZaOLiVdNnUlYQAAADAHuw3CMBFea9rbSTNc96mSNcR4JMiYVlnHAZFR3mWoejrdlZmEWgGgsGKTIfRRtWNHSEUfN1WB05kk1XvQsVWTqA9Pk9Wvb2vF9OVOqulmte5Eg5uJQ3MSioAAADAR4/sNwjAFQW3L/qi/CFH15H90gBb5irW9GOzIaVIKDnnul47EQxWyISDZXcWEQq+bZ5h7zVWPOGQjjKMFJV0o2q7gg9xIRy8Muc5AAAAwFddSY+2iwAAI+91ra3SC/9FQg6uoaG1zGSsvJ22knRhY0HRESOGGSPaUgSDFZsOo5nSAKEMhIL77R0jOln1usq/qgrtNJqsev19B5gQ+q6ect5kMxy8Ml8sAAAAAN9djMMgy5YDAFC1Uc7j5y+2/pjlvK2VgANwSJYtq14zKrOIjH4tcJuEa3vtRTBYg+kwetDxF+MJBffbLML1oc4lVjohj4Ndg4tw/aB0Vr9NNsLBB7PoAQAAAGiLe8bqAbDJ7F2W91rfy26gvCFHR8VGEwJeMFOyilz3q3WcqBkxXOS1SrdgixEM1uTIi/GEgodl+XAzqroIeOVksuplWRVcVkfwMeoMB2fTYeTC3xkAAACo2ze6ZwBYlDdsSKbDKN79D7OPWN6Qg0X2aLsiXYMnNS8mKhrgz8osAs1CMFgjczE+7xswoeBh20W4nu07YLLqjdS+3wuO93my6u193izCdSw33kjrCAczn48AAAAAD3WVbT9yAChVwY6g17qB8oYcdQccgGuK7M8p1ds1WCTAj81iAbQUwWD9BsoeDhIKZjPLcAwrnFBER9m++N+o2IeEslUZDm4IBQEAAOCRpODtRuMwGJVXBgBkMipwm9kr/1+R/cS4pobWMnt0FnndjEou5VUmuO8WuCljRFuOYLBm5mSSJRwkFMxu72qnyap3ojQwAYoYTVa9/r4DFuF6K+munnIOqiIc3Cg9bwEAAAC+uFHxcJD9BgHULW/30avdQOa65Cznz2KfQbRdkRCtY/YFrVqR4H47HUazsgtBsxAMWpAhHCQUzC5ehOvkwDGsbMKxDnYNLsL1g4ptSFyFMsPBjaSBOW8BAAAAvthKKjoRoyPpkf0GAdTBhAvdnDfbF2T8nvNndeiURpuZvTqTAjetY5xokfBxVnYRaB6CQUv2hIOEgvkc6hbsiJVNON7JZNX7lOG4m8orya6McJBQEAAAAN4yF/qKTv44EfsNAqhH3nBh7+jD6TCaK3/IUed+aYCL8u7PKUkXVS4iMoF9kZ9f5O8CzxAMWmQutl/px95khIL5JItwfWjG80jt/h2hPJ9N0PymRbiO5daqm2PCQUJBAAAAeG86jG4lxQVvPqppTBiAljKhQt7zzDzDd/m8e6b1x2HQzXkbwCezgrcblVjDz34tcJtXxwyjfQgGLZsOo93eXQ+Egrllme/MGFGUpSPpMcNxN/oR9rugSDh4J0JBAAAAtMelin+Gf+RiOYAKjQrcJsv1siIdQ1xjQ2sV3J9Tqqjb1nz2KLI4qch+ifAQwaADpsNoMx1GmUYQEgr+xWzfH05Wvb7yz2AH9rkwz6s3LcL1VsXHEVUlbzh4SygIAACAtngxzaeIjqRvJZYDAC/lDeMSMyZ5L9Mx9PP2RoeMch4P+KZIqHYyDoOT0ispFgruHTOMdiEYbBBCwb+YLcJ1cuAY5p+jCge7Bhfh+kH5P2BXLVc4CAAAALSJ2XProeDNT8ZhwH6DAEo1DoO+8i94zxNc5O0a7Jg9zYBWMqF7UuCmVVyjLtLBm2XMMFriF9sFIBtCwb/Z+0Fnsup1xUomVKM7WfVur8+ebw8cd6P0NeuSXTg4MJ2NAAAAAIzpMLoxF+KLrOz/NA6DP0zACABlKBImzHIcO1e2LVNe+jXnfQC++Srpc87bjJReJyyF6UDsFrhpkRHCTfXbOAze2y5CUuZJkXWjY7ABCAX/JlmE6/jAMaMa6kB7fTTh85vMc3RWRzE50TkIAAAAvO1K7DcIwLJxGHSU/9rW3IwIzaTgnmkXnOfQcrMCt+mMw6DI6M+3FOkW3EyHkWvTzarUldR34J8qxsiWgmDQcYSCr8qyuoExoqhSR1KWUUE3Kn5RoUqEgwAAAMArzEWzoiu7O8rffQMArxkVuM3vNd1mVOA2gBdM+F5kOkCZ16qLhIxt6hZEBgSD7vsoQsGXDq5mmqx6FyrWTg3kcTFZ9fr7DjDjOu/qKSe3E0mfbBcBAAAAuGY6jGYqdtFPkvrjMLgtrxoALZU3RNiac1cuZvxxkvNmLMZH2+XZy3PnwnQCH8Xs85n352xV/HMNPEUw6LhFuL6Sm+MIbZln2ButSDs1UMTB1cCLcP0gycVW/dkiXN/aLgIAAABw1JXyXyzf+Wz2KgSA3Mz+YXnHzx1z0T9vyNEteSwi0CgFA3WpnG7bXwvcZm5GBwP/RTDYAISDf7G37dns+9avpRJA6k5WvdsMx7m2yeyDOa8AAAAAeIW5gHZ5xI/4VkZnAIBWKrLg/ZgxgbMCt6FrEG1XpGvwqNeN2d+zSChfpFZ4jmCwIcxFfNfChbptFuH6UOcV3YKo20cTSL9pEa5jSQ+1VHPY1SJct/1cAgAAABxk9hssujVAR9K3EssB0AJmQUHeC/+JOV8VYvZMi3Pe7MKEFEBbzQrc5sR0BBdVJBRMpsMoPuI+4SmCwQYxIwnb3OWTZfXTqOoigJ90JN1nOO5O6UxvW7ZKQ8GZxRoAAACARpkOo1vlv2C+0x+HAft6A8jjQvn3DzumW3Cn0J5pJdwv0EgFA3XpuK7BuruJ4TGCwYYxF/VPZTdgsGF7KNCYrHoj5f/wBJThYrLq9fcdYPbGtNWpt5U0IBQEAAAACrlU8e/g90d2BwBolyIX/o/ZX/Dlz8h7nmNqF9quSKA+KnJH5rNEt8BNZ0XuD/4jGGwgM05zIKnwmIAGmmU4hg8ksOnx0AEmmIsrr+SvNpJOM4zhBQAAAPAK9hsEUAdz4T/vQoK56Vw6ijnP5Q0Yu+Mw6B9730BTTYfRTPkD9c44DIp02xa57j0zr23gbwgGG+pFOBhbLqUue9ueJ6tekQ9PQJm6k1XvNsNxdXYNzpV2CiY13icAAADgHbM/T9F9w7vKsJAQQOsVGTH4e4n3X6T76ZixiIAPZgVuU+R1UyRMLPP8AM/8YrsAFGdGEw4+DE8f5ffeenGGYINuQbjg42TVm12fPSdvHbAI15sPw9MHSVXvNfKwCNe2RpcCAAAA3pkOoxvTHVNkUerFOAw+TYdR0XARgP9GOY/fmo6lUkyHUTwOg0T5xhWOxmFwQ1cSWuyL8l/juxiHQSfr62YcBiPl3z4rmQ6jMsYMN9Wd2Scab6Bj0AOLcH0l6cp2HRU61C3YERseww0dSfcZjrtTdfuEbiVdEQoCAAAAlWC/QQClK3jhf1Z6ITXumQb4wIzyjQvcdJTj2F8L/Pwir2W0CMGgJ8zeZaeqLmywJVmE60OrG0bK/+EJqMrFZNXr7zvAdPtWEdwlSkeHzir42QAAAEDrmQuAx3yWf2S/QQCvKDJasIoL/7MCt2GKF9qusjG84zDoqlhDzKzAbdAiBIMeMfsOvpNf+w5mObHyAQSuObh/iAnv4hLvM5Z0as4DAAAAACpiRvfNCt78RNmmjABoCXPhv5/zZpvpMCr9+3/B7qcu3dBoubnyN+ucZHzdFAkF5+a1DLyJYNAzi3C9XYTrgYpviu6a2b4/NJ1Z3ToKAXLoTla92wzHldU1eLcI1wPTiQgAAACgejdKJ3YUMTJjAwFAKrbgvcoxgUV+Nov20Vpmr8Ai+/ll6Rp07fwAT/xiuwBUYxGubz4MT/9Q2rnU1DEls0W4Tg4cU2TUAlCHj5NVb3Z99py8dcAiXG8+DE8flH+T4p3dfoJt3kwYAAAAqN10GG3HYXApaV3wR9yPw6CSjh8AjTMqcJtkHAb9kuvYKbLo+GIcBjcmIAHa6Ivyv5ZH2tM0YDoKuzl/ZjIdRlwnxEF0DHrMhAWnkpr6RWPv6obJqtcVGxzDXR1lGxF0p2IfujdKR4fyZg8AAABYYEK9olNAOsqwBQEAv43D4ELFFvR/k7Ss6J9vBerpqNjIQ8AL5jNB3mvwHXMOeEuRbkGuEyITgkHPLcJ1sgjXp2reaNFkEa7jA8eMaqgDOMbFZNXb+8HYjP/MezHhbhGuTzN01AIAAACo0HQYPaj4RbiTcRiw3yDQbj5NwmKcKNruS4Hb7DsHFAnbi9SAFiIYbIlFuL6RNFCxziQbspzEfPrwBH/dT1a9vav/FuF6pmybeyeSBotwfXt0VQAAAADKcqXi37WLbisAoOHGYdCVX112J2b0IdBWc+X/PHAxDoO/XTc0exHn7SaOp8MoyXkbtBTBYIuYDrx3cr+leCtptvoTkrAAAAqDSURBVO8A04XVraMY4EhdZfuyf6hrcK50dGh8bEEAAAAAymP21Lq0XQeAxhnZLqACdA2itczngSLX3Uev/H+/Fvg5e7flAl4iGGyZRbjeLsL1pdIQwtXuwbkZr7gPHzTQJJ/NnphvWoTrjV4f+buVdLkI15cZXhcAAAAALJgOo1jp/uEAkJWPk7B86oAEiigSzv3lXFCwm3g7HUazAveNliIYbKlFuH6QdKps4wvrtneMqAlY+rVUApTnMcMxd/prYD+X9G4Rrl3v8gUAAABabzqMbiVtbNcBwH3jMPB1ElbHjEAEWsksFEpy3uznMbxFAvZZgdugxQgGW2wRrpNFuB7Ire7Bjemc2oduQTRR34zAfZPpCNy9HukSBAAAAJrnUu58vwbgLh+7BXd8/rsBWextennDy9dNkWvfRe4TLUYwCNe6B7OcxEZVFwFU5H6y6u3dOHgRrmeiSxAAAABopOkwSiRd2a4DgLvGYdCR3yM3+2YUItBWswK3GUmS6Rzs5rztxnz+ADIjGIQkZ7oHtyYUedNk1RtJ2husAA7rSvp06CC6BAEAAIDmmg6juRjpBeBtI9sF1IBpX2it6TDaKv/ngI4ZMUy3IGpBMIi/eNE9aKNbaZbhGD5YoOk+m30yAQAAAPjrRuw3COB1bbi2NbJdAGDZ1wK3+U35u4m3snMdHw33i+0C4J5FuE4kXX4Ynl5Iuld9myHvXd0wWfVOJJ3sOwZoiEdJA9tFAAAAAKjGdBhtx2FwJWkppt4AMMZh0Fex62xzSX+WWkx2/1L+sKIzDoPRdBjNKqgHcN50GMXjMEiU7/VeZMTw3HQoArkQDOJNi3A9/zA8jZWOPvxc8d3FJpDcpw0rqtAOJ5NVr3t99pzYLgQAAABANabDaDMOgzulC24BQEo7goq4sbWH2BF7Iv4qxiqj3b6q+mvqjBFFIQSD2MvsdXb7YXg6U9rl1K/org51C/q+MTPaYybp5vrsmdU8AAAAgOemw+hhHAbvxfdZoPVMwDYqcNPYVigo/bcDeq7857GLcRh0bdYOWDZTtcHgZjqMGFv+uv9nOrRdsHGxq5NgEJmYbr5BReNFk0W4PjQLeSTGr6DZYqWBIG/YAAAAQLtcKd0Wo2u5DgB2jQrersheZWX7qmILHEaSbkutBGiI6TBKCobqWdEt+LaR3NnrdKD0urBT/mm7ADTLIlzPF+H6naQ7pZubliHLBxzGiKKpEkmX12fPA0JBAAAAoH3MKvEr23UAsK7IGNGt0v0FrZoOo7nS6xt5FR2dCviiymDf+rkBzUUwiEIW4fpW0jtJDyX8uNm+P5ysen2xshLNs1XaIfju+uyZN2oAAACgxabDKFa6wBZAC43D4ERp53Bec4dG0BW5ttEdhwGjlNFaR4Tqh8wcOjeggQgGUdgiXG8X4fpGaUA4K/hjZmZM6T6sLkLTPEh6d332XEZwDgAAAMAD02F0KwdHSQGoRdFJWC6MEd0pOraQ63pouypexy6dG9BABIM42iJcJ4twfaVi83L3nsQmq15X7swDBg6ZKQ0Eb67Pnlm1AwAAAOBnVypvWw4ADTAOg46K7TGWmG5jJ0yHUSKpyBYpF+Mw6JZbDdAos5J/nlPnBjQTwSBKswjX8SJcD5Q9IEwW4frQcaMjywLqECsNBK+uz54Ty7UAAAAAcJS5sM5+g0C7XEjqFLhd0Q69KhWtiXGiaC3z3h+X+CNdPDegYQgGUbocAWGWkxjjBuCyWNLg+ux5QCAIAAAAIAuz3xDbDgDtUXSMaJE9/ao2V7Gu56K/A8AXZY7+nJX4s9BSBIOozIGAcKsDJ7HJqnchqVtFbcCRZvoRCMaWawEAAADQPHcqNpIPQIOMw+BE0kmBm85Nl5FTpsNoq2KBZXccBv2SywEaYzqMZipnlPjMvA6BoxAMonIvAsJT/QgD54twfegkxmoiuGamHyNDY8u1AAAAAGgoc1GP/QYB/xWdhPV7qVWUq2jnE1PB0HazEn6Gy+cGNAjBIGqzCNebRbi+kvRO0s2+YyerXldSv4aygEO2Ssf8sIcgAAAAgNJMh9FGB74bA2i8UYHbbE13kZOmwyiWlBS46WgcBkX2WgR8cezegIkZRw4c7RfbBaB9FuE6yXAY3YKwLVH6hj27PntmFS8AAACa7qukP3IcH1dUR1Xuch6fVFFEXtNhNDMXyvNcLE8qKqcKcc7jkwpqcFlc8fFN1+jz1jgMuioWBDRhzPCNio1I7aoZf7+fNfq5WINGvgfXbTqMknEY3Cjfe/5LTXztlCW2XcAREtsFvOYftgsAXjNZ9f5PxU+SwDFiSV+vz55nlusAAAAAAAAAAKBUdAzCOZNV70SEgqjXbvPsL9dnz21efQMAAAAAAAAA8Bgdg3DSZNXrSLpQOlK0yGgCIIuN0rEec8aFAgAAAAAAAAB8RzAI501Wva7SgHAkOglxPLoDAQAAAAAAAACtRDCIRpmseiNJvyrtJgTymEv6nb0DAQAAAAAAAABtRTCIRjJdhBeSfhOjRvG2jaSvkmaMCgUAAAAAAAAAtB3BIBqPkBA/2YWB8+uz58RyLQAAAAAAAAAAOINgEF4hJGwtwkAAAAAAAAAAAA4gGIS3TEjYF3sS+mou6XdJMWEgAAAAAAAAAACHEQyiNSar3oWk90pDwq7dalBAojQM/OP67HluuRYAAAAAAAAAABqHYBCt9KKbcBcUdmzWg1clkmJJf4iuQAAAAAAAAAAAjkYwCEiarHonSvckfK80MOzarKelEv0IAjfXZ88bq9UAAAAAAAAAAOAZgkHgFaajcBcUnigNC1GuWNJGP4LAxGo1AAAAAAAAAAB4jmAQyOhFV+G/RFiYV6w0BPxTdAMCAAAAAAAAAGAFwSBwBNNZ2FUaEv6/F//dVrHSkaD/3v03nYAAAAAAAAAAALiBYBCowGTV6yjtKuyaf/4lqfPifzdVYv7ZKu3+2/3vzfXZ89ZWUQAAAAAAAAAA4DCCQcCCF8GhzL875r/fvzjs5TFV2igN+nb+MP/emj+TCP4AAAAAAAAAAGg8gkGgYSarXv+ImxPwAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADggv8PKtC8+6b7s94AAAAASUVORK5CYII=",zot=({size:n="16",fill:e="#333",...t})=>Gt("svg",{width:n,height:n,viewBox:"0 0 24 24",...t,children:[se("path",{d:"M0 0h24v24H0z",fill:"none"}),se("path",{d:"m12.87 15.07-2.54-2.51.03-.03A17.52 17.52 0 0 0 14.07 6H17V4h-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 7 1.62-4.33L19.12 17h-3.24z",fill:e})]});var Hot={name:"qzuz4p",styles:"cursor:pointer;opacity:0.6;&:hover{opacity:1;}"};function Tz(){const{t:n,i18n:e}=zs(),t=lo();return se(IO,{menu:{items:[{key:"0",label:n("head.en"),onClick(){(e==null?void 0:e.resolvedLanguage)!==bv.en&&e.changeLanguage(bv.en)}},{key:"1",label:n("head.zh"),onClick(){(e==null?void 0:e.resolvedLanguage)!==bv.zh&&e.changeLanguage(bv.zh)}}]},children:se("a",{css:Hot,onClick:i=>i.preventDefault(),children:se(zot,{fill:t.color.text})})})}var Yot={TERM_PROGRAM:"vscode",NODE:"/Users/alexander/.nvm/versions/node/v20.9.0/bin/node",NVM_CD_FLAGS:"-q",INIT_CWD:"/Users/alexander/my-code/github/openapi-ui",SHELL:"/bin/zsh",TERM:"xterm-256color",TMPDIR:"/var/folders/7b/f28gh86d083_xqj9p9hs97k80000gn/T/",npm_config_global_prefix:"/Users/alexander/.nvm/versions/node/v20.9.0",TERM_PROGRAM_VERSION:"1.88.1",GVM_ROOT:"/Users/alexander/.gvm",MallocNanoZone:"0",ORIGINAL_XDG_CURRENT_DESKTOP:"undefined",ZDOTDIR:"/Users/alexander",COLOR:"1",npm_config_noproxy:"",ZSH:"/Users/alexander/.oh-my-zsh",PNPM_HOME:"/Users/alexander/Library/pnpm",npm_config_local_prefix:"/Users/alexander/my-code/github/openapi-ui",USER:"alexander",NVM_DIR:"/Users/alexander/.nvm",LD_LIBRARY_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:",COMMAND_MODE:"unix2003",npm_config_globalconfig:"/Users/alexander/.nvm/versions/node/v20.9.0/etc/npmrc",SSH_AUTH_SOCK:"/private/tmp/com.apple.launchd.LekgFF0iuk/Listeners",__CF_USER_TEXT_ENCODING:"0x1F5:0x19:0x34",npm_execpath:"/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/bin/npm-cli.js",PAGER:"less",LSCOLORS:"Gxfxcxdxbxegedabagacad",PATH:"/Users/alexander/my-code/github/openapi-ui/node_modules/.bin:/Users/alexander/my-code/github/node_modules/.bin:/Users/alexander/my-code/node_modules/.bin:/Users/alexander/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/mygo/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/alexander/.gvm/gos/go1.21.6/bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.nvm/versions/node/v20.9.0/bin:/Users/alexander/.cargo/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin",npm_package_json:"/Users/alexander/my-code/github/openapi-ui/package.json",__CFBundleIdentifier:"com.microsoft.VSCode",USER_ZDOTDIR:"/Users/alexander",npm_config_auto_install_peers:"true",npm_config_init_module:"/Users/alexander/.npm-init.js",npm_config_userconfig:"/Users/alexander/.npmrc",PWD:"/Users/alexander/my-code/github/openapi-ui",GVM_VERSION:"1.0.22",npm_command:"run-script",EDITOR:"vi",npm_lifecycle_event:"build:package",LANG:"zh_CN.UTF-8",npm_package_name:"openapi-ui-dist",gvm_pkgset_name:"global",NODE_PATH:"/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/vite@5.2.10_@types+node@20.12.7/node_modules/vite/bin/node_modules:/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/vite@5.2.10_@types+node@20.12.7/node_modules/vite/node_modules:/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/vite@5.2.10_@types+node@20.12.7/node_modules:/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/node_modules",XPC_FLAGS:"0x0",VSCODE_GIT_ASKPASS_EXTRA_ARGS:"",npm_config_npm_version:"10.1.0",npm_package_engines_node:"^18.0.0 || >=20.0.0",npm_config_node_gyp:"/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",XPC_SERVICE_NAME:"0",npm_package_version:"2.2.0",VSCODE_INJECTION:"1",HOME:"/Users/alexander",SHLVL:"2",VSCODE_GIT_ASKPASS_MAIN:"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js",GOROOT:"/Users/alexander/.gvm/gos/go1.21.6",DYLD_LIBRARY_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:",gvm_go_name:"go1.21.6",LOGNAME:"alexander",LESS:"-R",VSCODE_PATH_PREFIX:"/Users/alexander/.gvm/gos/go1.21.6/bin:",npm_config_cache:"/Users/alexander/.npm",GVM_OVERLAY_PREFIX:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay",npm_lifecycle_script:"tsc && vite build --config vite.package.config.ts --mode package",LC_CTYPE:"zh_CN.UTF-8",VSCODE_GIT_IPC_HANDLE:"/var/folders/7b/f28gh86d083_xqj9p9hs97k80000gn/T/vscode-git-79a18f10f2.sock",NVM_BIN:"/Users/alexander/.nvm/versions/node/v20.9.0/bin",PKG_CONFIG_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:",GOPATH:"/Users/alexander/mygo",npm_config_user_agent:"npm/10.1.0 node/v20.9.0 darwin x64 workspaces/false",GIT_ASKPASS:"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh",VSCODE_GIT_ASKPASS_NODE:"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)",GVM_PATH_BACKUP:"/Users/alexander/.gvm/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/mygo/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/alexander/.gvm/gos/go1.21.6/bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.nvm/versions/node/v20.9.0/bin:/Users/alexander/.cargo/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin",COLORTERM:"truecolor",npm_config_prefix:"/Users/alexander/.nvm/versions/node/v20.9.0",npm_node_execpath:"/Users/alexander/.nvm/versions/node/v20.9.0/bin/node",NODE_ENV:"production"};function Uot(){return"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."}const Kot=({size:n="16",fill:e="#333",...t})=>se("svg",{width:n,height:n,viewBox:"0 0 24 24",...t,children:se("path",{d:"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12",fill:e})});var Jot=Yot.NODE_ENV==="production"?{name:"1lxa9lm",styles:"cursor:pointer;opacity:0.8;&:hover{opacity:1;}"}:{name:"1jyoe7c-githubLink",styles:"cursor:pointer;opacity:0.8;&:hover{opacity:1;};label:githubLink;",map:"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9hbGV4YW5kZXIvbXktY29kZS9naXRodWIvb3BlbmFwaS11aS9zcmMvY29tcG9uZW50cy9naXRodWItc3Rhci9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMERNIiwiZmlsZSI6Ii9Vc2Vycy9hbGV4YW5kZXIvbXktY29kZS9naXRodWIvb3BlbmFwaS11aS9zcmMvY29tcG9uZW50cy9naXRodWItc3Rhci9pbmRleC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUb29sdGlwIH0gZnJvbSBcImFudGRcIjtcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUNvbmZpZ0luZm9TdG9yZSB9IGZyb20gXCIuLi8uLi9jb3JlL3N0b3JlXCI7XG5pbXBvcnQgeyBkYXJrVGhlbWUgfSBmcm9tIFwiLi4vLi4vY29yZS9zdHlsZS9kZWZhdWx0U3R5bGVDb25maWdcIjtcblxuY29uc3QgR2l0aHViSWNvbiA9ICh7IHNpemUgPSBcIjE2XCIsIGZpbGwgPSBcIiMzMzNcIiwgLi4ub3RoZXIgfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxzdmcgd2lkdGg9e3NpemV9IGhlaWdodD17c2l6ZX0gdmlld0JveD1cIjAgMCAyNCAyNFwiIHsuLi5vdGhlcn0+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTEyIC4yOTdjLTYuNjMgMC0xMiA1LjM3My0xMiAxMiAwIDUuMzAzIDMuNDM4IDkuOCA4LjIwNSAxMS4zODUuNi4xMTMuODItLjI1OC44Mi0uNTc3IDAtLjI4NS0uMDEtMS4wNC0uMDE1LTIuMDQtMy4zMzguNzI0LTQuMDQyLTEuNjEtNC4wNDItMS42MUM0LjQyMiAxOC4wNyAzLjYzMyAxNy43IDMuNjMzIDE3LjdjLTEuMDg3LS43NDQuMDg0LS43MjkuMDg0LS43MjkgMS4yMDUuMDg0IDEuODM4IDEuMjM2IDEuODM4IDEuMjM2IDEuMDcgMS44MzUgMi44MDkgMS4zMDUgMy40OTUuOTk4LjEwOC0uNzc2LjQxNy0xLjMwNS43Ni0xLjYwNS0yLjY2NS0uMy01LjQ2Ni0xLjMzMi01LjQ2Ni01LjkzIDAtMS4zMS40NjUtMi4zOCAxLjIzNS0zLjIyLS4xMzUtLjMwMy0uNTQtMS41MjMuMTA1LTMuMTc2IDAgMCAxLjAwNS0uMzIyIDMuMyAxLjIzLjk2LS4yNjcgMS45OC0uMzk5IDMtLjQwNSAxLjAyLjAwNiAyLjA0LjEzOCAzIC40MDUgMi4yOC0xLjU1MiAzLjI4NS0xLjIzIDMuMjg1LTEuMjMuNjQ1IDEuNjUzLjI0IDIuODczLjEyIDMuMTc2Ljc2NS44NCAxLjIzIDEuOTEgMS4yMyAzLjIyIDAgNC42MS0yLjgwNSA1LjYyNS01LjQ3NSA1LjkyLjQyLjM2LjgxIDEuMDk2LjgxIDIuMjIgMCAxLjYwNi0uMDE1IDIuODk2LS4wMTUgMy4yODYgMCAuMzE1LjIxLjY5LjgyNS41N0MyMC41NjUgMjIuMDkyIDI0IDE3LjU5MiAyNCAxMi4yOTdjMC02LjYyNy01LjM3My0xMi0xMi0xMlwiXG4gICAgICAgIGZpbGw9e2ZpbGx9XG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICApO1xufTtcblxubGV0IGlzRmV0Y2hlZEdpdGh1YlN0YXIgPSBmYWxzZTtcbmxldCBzdGFyID0gMDtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gR2l0aHViU3RhcigpIHtcbiAgY29uc3QgeyBjb25maWdJbmZvIH0gPSB1c2VDb25maWdJbmZvU3RvcmUoKTtcbiAgY29uc3QgaXNEYXJrVGhlbWUgPSBjb25maWdJbmZvPy50aGVtZSA9PT0gXCJkYXJrXCI7XG4gIGNvbnN0IFssIHNldENvdW50XSA9IHVzZVN0YXRlKDApO1xuICBjb25zdCBpc1BhY2thZ2UgPSBpbXBvcnQubWV0YS5lbnYuTU9ERSA9PT0gXCJwYWNrYWdlXCI7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWlzUGFja2FnZSAmJiAhaXNGZXRjaGVkR2l0aHViU3Rhcikge1xuICAgICAgKGFzeW5jICgpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBnZXRTdGFyKCk7XG4gICAgICAgICAgc3RhciA9IHJlcy5zdGFyZ2F6ZXJzX2NvdW50O1xuICAgICAgICAgIGlzRmV0Y2hlZEdpdGh1YlN0YXIgPSB0cnVlO1xuICAgICAgICAgIHNldENvdW50KChwcmVDb3VudCkgPT4gcHJlQ291bnQgKyAxKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKFwiZmV0Y2ggZ2l0aHViIGluZm8gZXJyb3I6XCIsIGUpO1xuICAgICAgICB9XG4gICAgICB9KSgpO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIGdldFN0YXIoKSB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goXCJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Jvb2tpZS1sdW9jaGFvL29wZW5hcGktdWlcIik7XG5cbiAgICBpZiAoIXJlcy5vaykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRmFpbGVkIHRvIGZldGNoIGRhdGFcIik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcy5qc29uKCk7XG4gIH1cblxuICBpZiAoIWlzUGFja2FnZSAmJiAhaXNGZXRjaGVkR2l0aHViU3Rhcikge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgZ2l0aHViTGluayA9IChcbiAgICA8YVxuICAgICAgaHJlZj1cImh0dHBzOi8vZ2l0aHViLmNvbS9yb29raWUtbHVvY2hhby9vcGVuYXBpLXVpXCJcbiAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICBjc3M9e3sgY3Vyc29yOiBcInBvaW50ZXJcIiwgb3BhY2l0eTogMC44LCBcIiY6aG92ZXJcIjogeyBvcGFjaXR5OiAxIH0gfX1cbiAgICA+XG4gICAgICA8R2l0aHViSWNvbiBmaWxsPXtpc0RhcmtUaGVtZSA/IGRhcmtUaGVtZS5jb2xvci50ZXh0IDogdW5kZWZpbmVkfSAvPlxuICAgIDwvYT5cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7aXNQYWNrYWdlID8gKFxuICAgICAgICBnaXRodWJMaW5rXG4gICAgICApIDogKFxuICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgIHRpdGxlPXtcbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICB7YCR7c3Rhcn1gLnJlcGxhY2UoL1xcQig/PShcXGR7M30pKyg/IVxcZCkpL2csIFwiLFwiKX1cbiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3sgY29sb3I6IFwiZ29sZFwiIH19PiYjOTczMzs8L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICA+XG4gICAgICAgICAge2dpdGh1Ykxpbmt9XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICl9XG4gICAgPC8+XG4gICk7XG59XG4iXX0= */",toString:Uot};function Ez(){const{configInfo:n}=gh(),e=(n==null?void 0:n.theme)==="dark";w.useState(0),w.useEffect(()=>{},[]);const t=se("a",{href:"https://github.com/rookie-luochao/openapi-ui",target:"_blank",css:Jot,children:se(Kot,{fill:e?Pi.color.text:void 0})});return se(wc,{children:t})}function ige(){return Gt("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",version:"1.1",width:"18",height:"18",viewBox:"0 0 18 18",children:[se("defs",{children:Gt("filter",{id:"master_svg0_182_24814",filterUnits:"objectBoundingBox",colorInterpolationFilters:"sRGB",x:"0",y:"0",width:"18",height:"18",children:[se("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),se("feBlend",{mode:"normal",in:"SourceGraphic",in2:"BackgroundImageFix",result:"shape"}),se("feGaussianBlur",{in:"BackgroundImage",stdDeviation:"2"}),se("feComposite",{in2:"SourceAlpha",operator:"in",result:"effect1_foregroundBlur"}),se("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_foregroundBlur",result:"shape"})]})}),Gt("g",{children:[se("g",{filter:"url(#master_svg0_182_24814)",children:se("rect",{x:"0",y:"0",width:"18",height:"18",rx:"4",fill:"#EEF2F9",fillOpacity:"0.8500000238418579"})}),se("g",{transform:"matrix(-1,0,0,-1,26,24)",children:se("path",{d:"M13.649878,16.187649999999998C13.387973,16.51503,13.621059,17,14.04031,17L19.959690000000002,17C20.37894,17,20.61203,16.51503,20.35012,16.187649999999998L17.390430000000002,12.488043C17.190269999999998,12.23784,16.809730000000002,12.23784,16.60957,12.488043L13.649878,16.187649999999998Z",fill:"#8B8EA2",fillOpacity:"1"})})]})]})}const Zz=Ei.Item;function rge({onSuccess:n}){const[e]=Ei.useForm(),{configInfo:t,updateConfigInfo:i}=gh(),{t:r}=zs();function o(s){i(s),tu.success(r("head.updateConfigSuccess")),n()}return se(Iue,{title:r("head.updateConfig"),open:!0,footer:null,onCancel:n,children:Gt(Ei,{name:"config",form:e,layout:"vertical",initialValues:{timeout:(t==null?void 0:t.timeout)||Qde,authorization:t==null?void 0:t.authorization},onFinish:o,children:[se(Zz,{name:"timeout",label:r("head.requestTimeoutLabel"),rules:[{required:!0,message:r("head.requestTimeoutPlaceholder")}],children:se(zle,{style:{width:"100%"},min:1,max:3600,placeholder:r("head.requestTimeoutPlaceholder")})}),se(Zz,{name:"authorization",label:r("head.authorizationLabel"),children:se(hh,{style:{width:"100%"},placeholder:r("head.authorizationPlaceholder")})}),se(Zz,{children:se(jr,{type:"primary",htmlType:"submit",style:{width:"100%"},children:r("head.submit")})})]})})}var jot={name:"1lxa9lm",styles:"cursor:pointer;opacity:0.8;&:hover{opacity:1;}"};function Qot(){const{t:n}=zs();return se(sg,{title:n("postman.goToPostman"),children:se("a",{css:jot,onClick:()=>{globalThis.open(`${globalThis.location.origin}${ege}`)},children:se($de,{})})})}const $ot=(n={})=>({display:"flex",...n}),Tb=(n={})=>({display:"flex",justifyContent:"center",alignItems:"center",...n}),uZ=(n={})=>({display:"flex",alignItems:"center",...n}),oge=(n={})=>({display:"flex",justifyContent:"space-between",alignItems:"center",...n});function Wz({...n}){return se("div",{css:[Tb(),{width:"100%",minWidth:1200,height:32,fontSize:Xi.fontSize.xs,opacity:.6},"",""],...n,children:"湘ICP备2024041043号"})}const qot="data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1702091156489'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='6551'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='32'%20height='32'%3e%3cpath%20d='M465.92%20661.333333a106.666667%20106.666667%200%201%200%200-213.333333%20106.666667%20106.666667%200%200%200%200%20213.333333z'%20fill='%23FFFFFF'%20p-id='6552'%3e%3c/path%3e%3cpath%20d='M469.333333%20554.666667m-85.333333%200a85.333333%2085.333333%200%201%200%20170.666667%200%2085.333333%2085.333333%200%201%200-170.666667%200Z'%20fill='%23424144'%20p-id='6553'%3e%3c/path%3e%3cpath%20d='M853.333333%20170.666667m-85.333333%200a85.333333%2085.333333%200%201%200%20170.666667%200%2085.333333%2085.333333%200%201%200-170.666667%200Z'%20fill='%23424144'%20p-id='6554'%3e%3c/path%3e%3cpath%20d='M775.68%20205.824L503.466667%20476.885333l44.373333%2044.458667%20272.384-272.768z'%20fill='%23424144'%20p-id='6555'%3e%3c/path%3e%3cpath%20d='M469.333333%20170.666667v277.333333a147.541333%20147.541333%200%200%200-26.112%202.218667c-5.589333%201.237333-12.8%204.010667-21.589333%208.32L279.765333%20221.056c37.418667-17.92%2066.816-29.738667%2088.064-35.413333C389.12%20180.053333%20422.954667%20175.018667%20469.333333%20170.666667z'%20fill='%236CA338'%20p-id='6556'%3e%3c/path%3e%3cpath%20d='M488.32%20170.666667v279.552c3.242667%200.597333%205.930667%201.28%208.106667%201.92a13.568%2013.568%200%200%200%207.253333%200l196.608-202.922667c-31.616-24.362667-63.146667-42.24-94.634667-53.589333-31.488-11.392-70.613333-19.712-117.333333-24.96z'%20fill='%234E5A2F'%20p-id='6557'%3e%3c/path%3e%3cpath%20d='M262.229333%20231.082667l145.194667%20233.813333-2.816%202.389333-185.984-203.050666z'%20fill='%2394D608'%20p-id='6558'%3e%3c/path%3e%3cpath%20d='M671.274667%20881.066667l-142.336-239.786667%202.730666-2.688%20188.373334%20206.378667a384.853333%20384.853333%200%200%201-22.016%2018.005333c-5.76%204.266667-14.677333%2010.24-26.752%2018.048zM359.253333%20554.666667H85.333333c3.2-67.84%2015.957333-123.306667%2038.144-166.4%2022.229333-43.093333%2048.682667-80.042667%2079.36-110.933334l184.490667%20204.074667c-11.349333%2013.482667-18.773333%2024.746667-22.272%2033.92-3.498667%209.130667-5.461333%2022.229333-5.802667%2039.338667zM572.586667%20554.666667H853.333333c-2.773333-50.688-9.258667-92.373333-19.541333-125.056-10.24-32.682667-30.208-69.077333-59.861333-109.098667l-205.781334%20203.221333c1.792%206.058667%202.944%2010.965333%203.456%2014.72%200.554667%203.754667%200.853333%209.130667%200.981334%2016.213334z'%20fill='%234E5A2F'%20p-id='6559'%3e%3c/path%3e%3cpath%20d='M547.84%20623.616l189.184%20208.853333c36.778667-44.458667%2063.317333-82.944%2079.658667-115.498666%2016.298667-32.512%2028.544-79.232%2036.650666-140.074667h-280.746666a144.170667%20144.170667%200%200%201-9.301334%2024.533333c-2.986667%205.546667-8.106667%2012.970667-15.402666%2022.186667z'%20fill='%236BA238'%20p-id='6560'%3e%3c/path%3e%3cpath%20d='M428.117333%20654.549333l-126.762666%20244.650667c-24.874667-12.629333-42.453333-22.528-52.821334-29.653333-10.325333-7.168-23.466667-18.474667-39.296-33.962667l201.6-189.269333c3.797333%202.304%206.656%203.925333%208.618667%204.864%201.962667%200.896%204.864%202.048%208.661333%203.413333z'%20fill='%234E5A2F'%20p-id='6561'%3e%3c/path%3e%3cpath%20d='M509.866667%20651.562667l144.853333%20240.298666c-47.488%2025.856-102.144%2041.429333-164.053333%2046.805334-61.866667%205.376-119.210667-4.949333-171.989334-30.933334L448%20661.333333c13.184%201.152%2023.338667%201.152%2030.549333%200%207.253333-1.152%2017.664-4.394667%2031.36-9.770666zM361.088%20577.365333c4.352%2013.482667%208.832%2024.021333%2013.482667%2031.573334%204.608%207.594667%2011.221333%2016.213333%2019.84%2025.898666L192%20820.693333c-37.546667-44.8-62.378667-80.981333-74.453333-108.544-12.074667-27.562667-22.826667-72.490667-32.213334-134.784h275.754667z'%20fill='%2394D608'%20p-id='6562'%3e%3c/path%3e%3c/svg%3e";function est({onChange:n}){const{openapiWithServiceInfo:e}=Sm(),{t}=zs(),i=lo(),r=o=>{if(!(o!=null&&o.trim()))return tu.warning(t("head.inputUrl"));n(o)};return se(wc,{children:(e==null?void 0:e.importModeType)==="url"?se(hh.Search,{allowClear:!0,enterButton:!0,size:"small",placeholder:t("head.inputUrl"),style:{minWidth:476},defaultValue:e==null?void 0:e.serviceURL,onSearch:r}):se("div",{style:{color:i.color.textLight,fontWeight:500,fontSize:Xi.fontSize.xs},children:e==null?void 0:e.serviceURL})})}function tst(){const{pathname:n,search:e}=Wv(),t=yg(),{t:i}=zs(),{updateOpenapiWithServiceInfo:r}=Sm(),o=lo(),s=tge(e),{serviceURL:a,importModeType:l,logon:u}=s,[c,d]=w.useState(!1),h=w.useRef(!0);w.useEffect(()=>{h.current&&(l===vd.url&&a&&!u?m(a):t(`${n}${Nb({...s||{},logon:""})}`,{replace:!0}),h.current=!1)},[]);async function m(f,g){const b=await Q_({url:f});if((b==null?void 0:b.status)>=200&&(b==null?void 0:b.status)<300){const v=await pF(b.data),C={serviceURL:f,importModeType:vd.url,openapi:v,operations:bF(v.paths||{})};r(C),g&&t(`/${Rv}${Nb({...s,serviceURL:f})}`,{replace:!0})}}return Gt(wc,{children:[c&&se(rge,{onSuccess:()=>d(!1)}),se("div",{css:[Tb({justifyContent:"flex-end"}),{height:Vv,backgroundColor:o.color.bg,padding:12},"",""],children:Gt("div",{css:["display:flex;",{"& > *":{marginLeft:4,...Tb()}},"",""],children:[se(est,{onChange:f=>m(f,!0)}),se(IO,{menu:{items:[{key:"0",label:i("head.updateConfig"),onClick(){d(!0)}},{key:"1",label:i("head.reselectService"),onClick(){t(lZ)}}]},children:se("a",{style:{cursor:"pointer"},onClick:f=>f.preventDefault(),children:se(ige,{})})}),se(Dz,{}),se(Tz,{}),!1,se(Ez,{})]})})]})}const eS=/^(https?:\/\/)/;function sge(n){const e="#00EEEE",t="#68228B";switch(n){case vh.get:return fd.color.primary;case vh.post:return fd.color.success;case vh.put:return fd.color.warning;case vh.patch:return t;case vh.delete:return fd.color.danger;default:return e}}const age=/@StatusErr\[(.+)\]\[(.+)\]\[(.+)\](!)?/;function nst(n=[]){return xo(n,e=>{const t=age.exec(e);return t!=null?{code:parseInt(t[2],10),name:t[1],msg:t[3],canBeTalkError:!!t[4]}:{}})}function ist(n=""){return Zw(n,new RegExp(age,"g"),"")}const rst=n=>n>=400?fd.color.danger:n>=300?fd.color.warning:fd.color.success;function ost(n){if(!n)return"//serviceURL";let e="";if(eS.test(n)){const t=n.split("//");e=`${t[0]}//${t[1].split("/")[0]}`}return e}function lge(n){const e=pd(n.content);let t=n.content;return e.length>1&&(e.includes("application/json")?t={"application/json":t["application/json"]}:e.includes("multipart/form-data")?t={"multipart/form-data":t["multipart/form-data"]}:e.includes("application/x-www-form-urlencoded")?t={"application/x-www-form-urlencoded":t["application/x-www-form-urlencoded"]}:t={[e[0]]:t[e[0]]}),t||{}}function sst({method:n,children:e}){return se("div",{style:{position:"absolute",top:0,right:0,fontSize:Xi.fontSize.l,fontFamily:Xi.fontFamily.mono,color:sge(n),opacity:.8,textTransform:"uppercase",padding:8},children:e})}function ast({deprecated:n,children:e}){return se("div",{css:ON({padding:"0 8px",textDecoration:n?"line-through":"none","& > *":{width:240,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},"",""),children:e})}function lst({group:n,operationList:e,activeOperationId:t,isCollapsed:i}){const r=yg(),o=Wv(),s=lo();return Gt("div",{style:{position:"relative"},children:[se("div",{style:{fontSize:Xi.fontSize.s,color:s.color.menuGroup,backgroundColor:s.color.menuGroupBg,padding:"0.5em 0.8em",borderBottom:`1px solid ${s.color.border}`,borderRadius:4,fontWeight:400},children:n}),se("div",{children:xo(e,(a,l)=>Gt("div",{id:a.operationId,onClick:()=>{r(`/${Rv}/${a.operationId}${o.search}`)},css:[{height:46,borderBottom:`1px solid ${s.color.border}`,position:"relative",display:"flex",alignItems:"center",padding:"0.8em 0.4em",textDecoration:"none",color:s.color.menuItem,backgroundColor:s.color.bg,borderRadius:4,cursor:"pointer",":hover":{backgroundColor:s.color.bgGray}},Sc(t)===Sc(a.operationId)?{backgroundColor:s.color.bgGray,color:s.color.primary}:{},"",""],children:[i?se("div",{style:{height:46}}):Gt(ast,{deprecated:a.deprecated,children:[se("div",{style:{fontSize:Xi.fontSize.xs,fontWeight:600,marginBottom:4},children:a.operationId||""}),Gt("div",{style:{fontSize:Xi.fontSize.xxs},children:[a.summary||""," "]})]}),se(sst,{method:a.method,children:a.method===vh.delete?a.method.slice(0,3):a.method})]},a.operationId||l))})]})}function ust(n){const{operationId:e}=Ffe(),{t}=zs(),{openapiWithServiceInfo:i}=Sm(),r=(i==null?void 0:i.operations)||{},[o,s]=w.useState(""),[a,l]=w.useState({}),u=w.useRef(null);w.useEffect(()=>{if(!Is(r)){const d=o?wb(r,m=>{const f=Sc(o);return Iu(Sc(m.operationId),f)||Iu(Sc(m.group),f)||Iu(Sc(m.path),f)||Iu(Sc(m.summary),o)}):S5(r),h=y$e(d,m=>m.group);l(h)}},[r,o]),w.useEffect(()=>(e&&c(),()=>{u.current&&clearTimeout(u.current)}),[]);function c(){const d=document.getElementById(`${e}`);d?(d.scrollIntoView({behavior:"smooth"}),u.current&&clearTimeout(u.current)):u.current=setTimeout(c,100)}return Gt("div",{style:{position:"relative"},children:[se("div",{style:{fontSize:Xi.fontSize.xs,padding:"0.5em 0.8em"},children:se(hh,{allowClear:!0,placeholder:t("openapi.searchPlaceholder"),onChange:Ode(d=>{s(d.target.value)},250)})}),se("div",{children:!Is(a)&&se(wc,{children:xo(a,(d,h)=>uEe(lst,{...n,key:h,group:h,operationList:d,activeOperationId:e}))})})]})}var cst={TERM_PROGRAM:"vscode",NODE:"/Users/alexander/.nvm/versions/node/v20.9.0/bin/node",NVM_CD_FLAGS:"-q",INIT_CWD:"/Users/alexander/my-code/github/openapi-ui",SHELL:"/bin/zsh",TERM:"xterm-256color",TMPDIR:"/var/folders/7b/f28gh86d083_xqj9p9hs97k80000gn/T/",npm_config_global_prefix:"/Users/alexander/.nvm/versions/node/v20.9.0",TERM_PROGRAM_VERSION:"1.88.1",GVM_ROOT:"/Users/alexander/.gvm",MallocNanoZone:"0",ORIGINAL_XDG_CURRENT_DESKTOP:"undefined",ZDOTDIR:"/Users/alexander",COLOR:"1",npm_config_noproxy:"",ZSH:"/Users/alexander/.oh-my-zsh",PNPM_HOME:"/Users/alexander/Library/pnpm",npm_config_local_prefix:"/Users/alexander/my-code/github/openapi-ui",USER:"alexander",NVM_DIR:"/Users/alexander/.nvm",LD_LIBRARY_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:",COMMAND_MODE:"unix2003",npm_config_globalconfig:"/Users/alexander/.nvm/versions/node/v20.9.0/etc/npmrc",SSH_AUTH_SOCK:"/private/tmp/com.apple.launchd.LekgFF0iuk/Listeners",__CF_USER_TEXT_ENCODING:"0x1F5:0x19:0x34",npm_execpath:"/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/bin/npm-cli.js",PAGER:"less",LSCOLORS:"Gxfxcxdxbxegedabagacad",PATH:"/Users/alexander/my-code/github/openapi-ui/node_modules/.bin:/Users/alexander/my-code/github/node_modules/.bin:/Users/alexander/my-code/node_modules/.bin:/Users/alexander/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/mygo/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/alexander/.gvm/gos/go1.21.6/bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.nvm/versions/node/v20.9.0/bin:/Users/alexander/.cargo/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin",npm_package_json:"/Users/alexander/my-code/github/openapi-ui/package.json",__CFBundleIdentifier:"com.microsoft.VSCode",USER_ZDOTDIR:"/Users/alexander",npm_config_auto_install_peers:"true",npm_config_init_module:"/Users/alexander/.npm-init.js",npm_config_userconfig:"/Users/alexander/.npmrc",PWD:"/Users/alexander/my-code/github/openapi-ui",GVM_VERSION:"1.0.22",npm_command:"run-script",EDITOR:"vi",npm_lifecycle_event:"build:package",LANG:"zh_CN.UTF-8",npm_package_name:"openapi-ui-dist",gvm_pkgset_name:"global",NODE_PATH:"/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/vite@5.2.10_@types+node@20.12.7/node_modules/vite/bin/node_modules:/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/vite@5.2.10_@types+node@20.12.7/node_modules/vite/node_modules:/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/vite@5.2.10_@types+node@20.12.7/node_modules:/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/node_modules",XPC_FLAGS:"0x0",VSCODE_GIT_ASKPASS_EXTRA_ARGS:"",npm_config_npm_version:"10.1.0",npm_package_engines_node:"^18.0.0 || >=20.0.0",npm_config_node_gyp:"/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",XPC_SERVICE_NAME:"0",npm_package_version:"2.2.0",VSCODE_INJECTION:"1",HOME:"/Users/alexander",SHLVL:"2",VSCODE_GIT_ASKPASS_MAIN:"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js",GOROOT:"/Users/alexander/.gvm/gos/go1.21.6",DYLD_LIBRARY_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:",gvm_go_name:"go1.21.6",LOGNAME:"alexander",LESS:"-R",VSCODE_PATH_PREFIX:"/Users/alexander/.gvm/gos/go1.21.6/bin:",npm_config_cache:"/Users/alexander/.npm",GVM_OVERLAY_PREFIX:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay",npm_lifecycle_script:"tsc && vite build --config vite.package.config.ts --mode package",LC_CTYPE:"zh_CN.UTF-8",VSCODE_GIT_IPC_HANDLE:"/var/folders/7b/f28gh86d083_xqj9p9hs97k80000gn/T/vscode-git-79a18f10f2.sock",NVM_BIN:"/Users/alexander/.nvm/versions/node/v20.9.0/bin",PKG_CONFIG_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:",GOPATH:"/Users/alexander/mygo",npm_config_user_agent:"npm/10.1.0 node/v20.9.0 darwin x64 workspaces/false",GIT_ASKPASS:"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh",VSCODE_GIT_ASKPASS_NODE:"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)",GVM_PATH_BACKUP:"/Users/alexander/.gvm/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/mygo/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/alexander/.gvm/gos/go1.21.6/bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.nvm/versions/node/v20.9.0/bin:/Users/alexander/.cargo/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin",COLORTERM:"truecolor",npm_config_prefix:"/Users/alexander/.nvm/versions/node/v20.9.0",npm_node_execpath:"/Users/alexander/.nvm/versions/node/v20.9.0/bin/node",NODE_ENV:"production"};function dst(){return"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."}const Vv=54,uge=({isCollapsed:n})=>(yg(),se("a",{className:"logo",style:{height:Vv,display:"flex",alignItems:"center",marginLeft:24,cursor:"default"},onClick:()=>{},children:se("img",{style:{width:n?32:128},src:n?qot:nge,alt:"logo"})}));var hst=cst.NODE_ENV==="production"?{name:"102swt",styles:"min-width:880px"}:{name:"ta50cz-MainLayout",styles:"min-width:880px;label:MainLayout;",map:"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9hbGV4YW5kZXIvbXktY29kZS9naXRodWIvb3BlbmFwaS11aS9zcmMvbWFpbi9NYWluLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1R29DIiwiZmlsZSI6Ii9Vc2Vycy9hbGV4YW5kZXIvbXktY29kZS9naXRodWIvb3BlbmFwaS11aS9zcmMvbWFpbi9NYWluLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBMYXlvdXQgfSBmcm9tIFwiYW50ZFwiO1xuaW1wb3J0IFNpZGVyIGZyb20gXCJhbnRkL2VzL2xheW91dC9TaWRlclwiO1xuaW1wb3J0IHRocm90dGxlIGZyb20gXCJsb2Rhc2gtZXMvdGhyb3R0bGVcIjtcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IE91dGxldCwgdXNlTmF2aWdhdGUgfSBmcm9tIFwicmVhY3Qtcm91dGVyLWRvbVwiO1xuaW1wb3J0IExvZ29JY29uIGZyb20gXCIuLi9hc3NldHMvaW1hZ2VzL2xvZ28ucG5nXCI7XG5pbXBvcnQgTG9nb01pbmlJY29uIGZyb20gXCIuLi9hc3NldHMvaW1hZ2VzL2xvZ29fbWluaS5zdmdcIjtcbmltcG9ydCB7IEhlYWQgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9oZWFkXCI7XG5pbXBvcnQgeyBJQ1BSZWdpc3RyYXRpb24gfSBmcm9tIFwiLi4vY29tcG9uZW50cy9pY3AtcmVnaXN0cmF0aW9uXCI7XG5pbXBvcnQgeyBFbnYgfSBmcm9tIFwiLi4vY29uZmlnXCI7XG5pbXBvcnQgeyBnZXRDb25maWcgfSBmcm9tIFwiLi4vY29yZS9odHRwL2NvbmZpZ1wiO1xuaW1wb3J0IHsgdXNlQ29uZmlnSW5mb1N0b3JlIH0gZnJvbSBcIi4uL2NvcmUvc3RvcmVcIjtcbmltcG9ydCB7IElUaGVtZSB9IGZyb20gXCIuLi9jb3JlL3N0eWxlL2RlZmF1bHRTdHlsZUNvbmZpZ1wiO1xuaW1wb3J0IHsgVGhlbWVUeXBlIH0gZnJvbSBcIi4uL2NvcmUvc3R5bGUvdGhlbWVcIjtcbmltcG9ydCB7IGxvZ2luTW9kdWxlTmFtZSB9IGZyb20gXCIuLi9sb2dpbi9yb3V0ZXNcIjtcbmltcG9ydCB7IE9wZXJhdGlvbkxpc3QgfSBmcm9tIFwiLi4vb3BlbmFwaS9PcGVyYXRpb25MaXN0XCI7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0SGVhZFRpdGxlSGVpZ2h0ID0gNTQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbGxhcHNlZCB7XG4gIGlzQ29sbGFwc2VkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IExvZ28gPSAoeyBpc0NvbGxhcHNlZCB9OiBJQ29sbGFwc2VkKSA9PiB7XG4gIGNvbnN0IG5hdmlnYXRlID0gdXNlTmF2aWdhdGUoKTtcbiAgY29uc3QgaXNQYWNrYWdlID0gaW1wb3J0Lm1ldGEuZW52Lk1PREUgPT09IFwicGFja2FnZVwiO1xuXG4gIHJldHVybiAoXG4gICAgPGFcbiAgICAgIGNsYXNzTmFtZT1cImxvZ29cIlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgaGVpZ2h0OiBkZWZhdWx0SGVhZFRpdGxlSGVpZ2h0LFxuICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAgbWFyZ2luTGVmdDogMjQsXG4gICAgICAgIGN1cnNvcjogaXNQYWNrYWdlID8gXCJkZWZhdWx0XCIgOiBcInBvaW50ZXJcIixcbiAgICAgIH19XG4gICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgIGlmICghaXNQYWNrYWdlKSB7XG4gICAgICAgICAgbmF2aWdhdGUobG9naW5Nb2R1bGVOYW1lKTtcbiAgICAgICAgfVxuICAgICAgfX1cbiAgICA+XG4gICAgICA8aW1nIHN0eWxlPXt7IHdpZHRoOiBpc0NvbGxhcHNlZCA/IDMyIDogMTI4IH19IHNyYz17aXNDb2xsYXBzZWQgPyBMb2dvTWluaUljb24gOiBMb2dvSWNvbn0gYWx0PVwibG9nb1wiIC8+XG4gICAgPC9hPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTWFpbkxheW91dCgpIHtcbiAgY29uc3QgeyBjb25maWdJbmZvIH0gPSB1c2VDb25maWdJbmZvU3RvcmUoKTtcbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpIGFzIElUaGVtZTtcbiAgY29uc3QgW2NvbGxhcHNlZCwgc2V0Q29sbGFwc2VkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW21lbnVIZWlnaHQsIHNldE1lbnVIZWlnaHRdID0gdXNlU3RhdGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCk7XG4gIGNvbnN0IGRlZmF1bHRDb250ZW50SGVpZ2h0ID0gbWVudUhlaWdodCAtIGRlZmF1bHRIZWFkVGl0bGVIZWlnaHQ7XG4gIGNvbnN0IGRlZmF1bHRNZW51SGVpZ2h0ID0gZGVmYXVsdENvbnRlbnRIZWlnaHQgLSA0ODsgLy8gNDhweOS4uuWxleW8gOaUtue8qeWbvuagh+mrmOW6plxuICBjb25zdCBpc1poID0gZ2V0Q29uZmlnKCkuZW52ID09PSBFbnYuemg7XG5cbiAgY29uc3QgdGhyb3R0bGVkUmVzaXplSGFuZGxlciA9IHRocm90dGxlKFxuICAgICgpID0+IHtcbiAgICAgIHNldE1lbnVIZWlnaHQoZ2xvYmFsVGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KTtcbiAgICB9LFxuICAgIDEyMDAsXG4gICAgeyBsZWFkaW5nOiB0cnVlLCB0cmFpbGluZzogdHJ1ZSB9LFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZ2xvYmFsVGhpcy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRocm90dGxlZFJlc2l6ZUhhbmRsZXIpO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGdsb2JhbFRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aHJvdHRsZWRSZXNpemVIYW5kbGVyKTtcbiAgICB9O1xuICB9LCBbdGhyb3R0bGVkUmVzaXplSGFuZGxlcl0pO1xuXG4gIHJldHVybiAoXG4gICAgPExheW91dD5cbiAgICAgIDxTaWRlclxuICAgICAgICB0aGVtZT17Y29uZmlnSW5mbz8udGhlbWUgPT09IFwiZGFya1wiID8gVGhlbWVUeXBlLmRhcmsgOiBUaGVtZVR5cGUubGlnaHR9XG4gICAgICAgIHdpZHRoPXszMjB9XG4gICAgICAgIGNvbGxhcHNpYmxlXG4gICAgICAgIGNvbGxhcHNlZD17Y29sbGFwc2VkfVxuICAgICAgICBvbkNvbGxhcHNlPXtzZXRDb2xsYXBzZWR9XG4gICAgICA+XG4gICAgICAgIDxMb2dvIGlzQ29sbGFwc2VkPXtjb2xsYXBzZWR9IC8+XG4gICAgICAgIDxkaXYgc3R5bGU9e3sgaGVpZ2h0OiBkZWZhdWx0TWVudUhlaWdodCwgb3ZlcmZsb3c6IFwiYXV0b1wiIH19PlxuICAgICAgICAgIDxPcGVyYXRpb25MaXN0IGlzQ29sbGFwc2VkPXtjb2xsYXBzZWR9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9TaWRlcj5cbiAgICAgIDxMYXlvdXQgY2xhc3NOYW1lPVwic2l0ZS1sYXlvdXRcIiBzdHlsZT17eyBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmNvbG9yLmJnIH19PlxuICAgICAgICA8SGVhZCAvPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGhlaWdodDogZGVmYXVsdENvbnRlbnRIZWlnaHQsXG4gICAgICAgICAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgICAgICAgICBwYWRkaW5nOiAxMixcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUuY29sb3IuYmdHcmF5LFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiBcIjEwcHggMCAwXCIsXG4gICAgICAgICAgICBwYWRkaW5nQm90dG9tOiBpc1poID8gMCA6IDEyLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXtpc1poID8geyBtaW5IZWlnaHQ6IGRlZmF1bHRDb250ZW50SGVpZ2h0IC0gMzIgLSAxMiB9IDoge319PlxuICAgICAgICAgICAgPE91dGxldCAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIHtpc1poICYmIDxJQ1BSZWdpc3RyYXRpb24gY3NzPXt7IG1pbldpZHRoOiA4ODAgfX0gLz59XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9MYXlvdXQ+XG4gICAgPC9MYXlvdXQ+XG4gICk7XG59XG4iXX0= */",toString:dst};function mst(){const{configInfo:n}=gh(),e=lo(),[t,i]=w.useState(!1),[r,o]=w.useState(document.documentElement.clientHeight),s=r-Vv,a=s-48,l=qE().env===A_.zh,u=TB(()=>{o(globalThis.document.documentElement.clientHeight)},1200,{leading:!0,trailing:!0});return w.useEffect(()=>(globalThis.addEventListener("resize",u),()=>{globalThis.removeEventListener("resize",u)}),[u]),Gt(wue,{children:[Gt(HP,{theme:(n==null?void 0:n.theme)==="dark"?Iz.dark:Iz.light,width:320,collapsible:!0,collapsed:t,onCollapse:i,children:[se(uge,{isCollapsed:t}),se("div",{style:{height:a,overflow:"auto"},children:se(ust,{isCollapsed:t})})]}),Gt(wue,{className:"site-layout",style:{backgroundColor:e.color.bg},children:[se(tst,{}),Gt("div",{style:{height:s,overflow:"auto",padding:12,backgroundColor:e.color.bgGray,borderRadius:"10px 0 0",paddingBottom:l?0:12},children:[se("div",{style:l?{minHeight:s-32-12}:{},children:se(kfe,{})}),l&&se(Wz,{css:hst})]})]})]})}const fst=Object.freeze(Object.defineProperty({__proto__:null,Logo:uge,default:mst,defaultHeadTitleHeight:Vv},Symbol.toStringTag,{value:"Module"})),cge=Ei.Item;function gst(){const{updateOpenapiWithServiceInfo:n}=Sm(),[e]=Ei.useForm(),t=yg(),{t:i}=zs(),r=lo();async function o(s){var u;let a=s.serviceURL;if(!(a!=null&&a.trim())||!((u=s.file[0])!=null&&u.originFileObj))return tu.warning(i("login.requiredFieldPlaceholder"));eS.test(a)||(a=`http://${a}`);const l=await vit(s.file[0].originFileObj);try{const c=await pF(l);if(!fs(c)||Is(c.paths))return tu.warning(i("login.parseTextWarn"));const d={serviceURL:a,importModeType:vd.file},h={...d,openapi:c,operations:bF(c.paths)};n(h),t(`/${Rv}${Nb(d)}`)}catch{tu.warning(i("login.parseWarn"))}}return Gt(Ei,{name:"fileImportForm",form:e,layout:"vertical",initialValues:{serviceURL:"",file:[]},onFinish:o,children:[se(cge,{name:"serviceURL",label:i("login.serviceURLLabel2"),rules:[{required:!0,message:i("login.serviceURLPlaceholder2")}],children:se(hh,{placeholder:i("login.serviceURLPlaceholder2")})}),se(cge,{name:"file",label:i("login.uploadLabel"),valuePropName:"fileList",rules:[{required:!0,message:i("login.uploadPlaceholder")}],getValueFromEvent:s=>s.fileList||[],children:se(GO,{maxCount:1,beforeUpload:()=>!1,accept:".json,.yml",children:se(jr,{css:[uZ(),{"&:hover path":{fill:r.color.primary}},"",""],icon:se(EB,{fill:r.color.menuItem}),children:i("login.uploadBtn")})})}),se(Ei.Item,{children:se(jr,{type:"primary",htmlType:"submit",style:{width:"100%",fontSize:Xi.fontSize.xs},children:i("login.importBtn")})})]})}const dge=Ei.Item;function pst(){const{updateOpenapiWithServiceInfo:n}=Sm(),[e]=Ei.useForm(),t=yg(),{t:i}=zs();async function r(o){let s=o.serviceURL;const a=o.openapiTextContent;if(!(s!=null&&s.trim())||!a)return tu.warning(i("login.requiredFieldPlaceholder"));eS.test(s)||(s=`http://${s}`);try{const l=await pF(a);if(!fs(l)||Is(l.paths))return tu.warning(i("login.parseTextWarn"));const u={serviceURL:s,importModeType:vd.text},c={...u,openapi:l,operations:bF(l.paths)};n(c),t(`/${Rv}${Nb(u)}`)}catch{tu.warning(i("login.parseTextWarn"))}}return Gt(Ei,{name:"textImportForm",form:e,layout:"vertical",initialValues:{serviceURL:"",file:[]},onFinish:r,children:[se(dge,{name:"serviceURL",label:i("login.serviceURLLabel2"),rules:[{required:!0,message:i("login.serviceURLPlaceholder2")}],children:se(hh,{placeholder:i("login.serviceURLPlaceholder2")})}),se(dge,{name:"openapiTextContent",label:i("login.openapiTextContentLabel"),rules:[{required:!0,message:i("login.openapiTextContentPlaceholder")}],children:se(hh.TextArea,{placeholder:i("login.openapiTextContentPlaceholder"),autoSize:{minRows:12,maxRows:36}})}),se(Ei.Item,{children:se(jr,{type:"primary",htmlType:"submit",style:{width:"100%",fontSize:Xi.fontSize.xs},children:i("login.importBtn")})})]})}const bst=Ei.Item;function vst(){const{updateOpenapiWithServiceInfo:n}=Sm(),[e]=Ei.useForm(),t=yg(),{t:i}=zs(),[r,o]=w.useState(!1);async function s(a){o(!0);let l=a.serviceURL;if(!l.trim())return tu.warning(i("login.requiredFieldPlaceholder"));eS.test(l)||(l=`http://${l}`);const u=await Q_({url:l});if((u==null?void 0:u.status)>=200&&(u==null?void 0:u.status)<300)try{const c=await pF(u.data);if(!fs(c)||Is(c.paths))return tu.warning(i("login.parseTextWarn"));const d={serviceURL:l,importModeType:vd.url},h={...d,openapi:c,operations:bF(c.paths||{})};n(h),t(`/${Rv}${Nb(Object.assign(d,{logon:"yes"}))}`)}catch{tu.warning(i("login.parseTextWarn"))}o(!1)}return Gt(Ei,{name:"urlImportForm",form:e,layout:"vertical",initialValues:{serviceURL:""},onFinish:s,children:[se(bst,{name:"serviceURL",label:i("login.serviceURLLabel"),rules:[{required:!0,message:i("login.serviceURLPlaceholder")}],children:se(hh,{placeholder:i("login.serviceURLPlaceholder")})}),se(Ei.Item,{children:se(jr,{type:"primary",htmlType:"submit",style:{width:"100%",fontSize:Xi.fontSize.xs},loading:r,children:i("login.importBtn")})})]})}var tS={TERM_PROGRAM:"vscode",NODE:"/Users/alexander/.nvm/versions/node/v20.9.0/bin/node",NVM_CD_FLAGS:"-q",INIT_CWD:"/Users/alexander/my-code/github/openapi-ui",SHELL:"/bin/zsh",TERM:"xterm-256color",TMPDIR:"/var/folders/7b/f28gh86d083_xqj9p9hs97k80000gn/T/",npm_config_global_prefix:"/Users/alexander/.nvm/versions/node/v20.9.0",TERM_PROGRAM_VERSION:"1.88.1",GVM_ROOT:"/Users/alexander/.gvm",MallocNanoZone:"0",ORIGINAL_XDG_CURRENT_DESKTOP:"undefined",ZDOTDIR:"/Users/alexander",COLOR:"1",npm_config_noproxy:"",ZSH:"/Users/alexander/.oh-my-zsh",PNPM_HOME:"/Users/alexander/Library/pnpm",npm_config_local_prefix:"/Users/alexander/my-code/github/openapi-ui",USER:"alexander",NVM_DIR:"/Users/alexander/.nvm",LD_LIBRARY_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:",COMMAND_MODE:"unix2003",npm_config_globalconfig:"/Users/alexander/.nvm/versions/node/v20.9.0/etc/npmrc",SSH_AUTH_SOCK:"/private/tmp/com.apple.launchd.LekgFF0iuk/Listeners",__CF_USER_TEXT_ENCODING:"0x1F5:0x19:0x34",npm_execpath:"/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/bin/npm-cli.js",PAGER:"less",LSCOLORS:"Gxfxcxdxbxegedabagacad",PATH:"/Users/alexander/my-code/github/openapi-ui/node_modules/.bin:/Users/alexander/my-code/github/node_modules/.bin:/Users/alexander/my-code/node_modules/.bin:/Users/alexander/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/mygo/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/alexander/.gvm/gos/go1.21.6/bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.nvm/versions/node/v20.9.0/bin:/Users/alexander/.cargo/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin",npm_package_json:"/Users/alexander/my-code/github/openapi-ui/package.json",__CFBundleIdentifier:"com.microsoft.VSCode",USER_ZDOTDIR:"/Users/alexander",npm_config_auto_install_peers:"true",npm_config_init_module:"/Users/alexander/.npm-init.js",npm_config_userconfig:"/Users/alexander/.npmrc",PWD:"/Users/alexander/my-code/github/openapi-ui",GVM_VERSION:"1.0.22",npm_command:"run-script",EDITOR:"vi",npm_lifecycle_event:"build:package",LANG:"zh_CN.UTF-8",npm_package_name:"openapi-ui-dist",gvm_pkgset_name:"global",NODE_PATH:"/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/vite@5.2.10_@types+node@20.12.7/node_modules/vite/bin/node_modules:/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/vite@5.2.10_@types+node@20.12.7/node_modules/vite/node_modules:/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/vite@5.2.10_@types+node@20.12.7/node_modules:/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/node_modules",XPC_FLAGS:"0x0",VSCODE_GIT_ASKPASS_EXTRA_ARGS:"",npm_config_npm_version:"10.1.0",npm_package_engines_node:"^18.0.0 || >=20.0.0",npm_config_node_gyp:"/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",XPC_SERVICE_NAME:"0",npm_package_version:"2.2.0",VSCODE_INJECTION:"1",HOME:"/Users/alexander",SHLVL:"2",VSCODE_GIT_ASKPASS_MAIN:"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js",GOROOT:"/Users/alexander/.gvm/gos/go1.21.6",DYLD_LIBRARY_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:",gvm_go_name:"go1.21.6",LOGNAME:"alexander",LESS:"-R",VSCODE_PATH_PREFIX:"/Users/alexander/.gvm/gos/go1.21.6/bin:",npm_config_cache:"/Users/alexander/.npm",GVM_OVERLAY_PREFIX:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay",npm_lifecycle_script:"tsc && vite build --config vite.package.config.ts --mode package",LC_CTYPE:"zh_CN.UTF-8",VSCODE_GIT_IPC_HANDLE:"/var/folders/7b/f28gh86d083_xqj9p9hs97k80000gn/T/vscode-git-79a18f10f2.sock",NVM_BIN:"/Users/alexander/.nvm/versions/node/v20.9.0/bin",PKG_CONFIG_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:",GOPATH:"/Users/alexander/mygo",npm_config_user_agent:"npm/10.1.0 node/v20.9.0 darwin x64 workspaces/false",GIT_ASKPASS:"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh",VSCODE_GIT_ASKPASS_NODE:"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)",GVM_PATH_BACKUP:"/Users/alexander/.gvm/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/mygo/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/alexander/.gvm/gos/go1.21.6/bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.nvm/versions/node/v20.9.0/bin:/Users/alexander/.cargo/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin",COLORTERM:"truecolor",npm_config_prefix:"/Users/alexander/.nvm/versions/node/v20.9.0",npm_node_execpath:"/Users/alexander/.nvm/versions/node/v20.9.0/bin/node",NODE_ENV:"production"};function yst(){const[{activeImportModeType:n=vd.url},e]=Oot(),{t}=zs(),i=lo(),[r,o]=w.useState(document.documentElement.clientHeight),s=qE().env===A_.zh,a=TB(()=>{o(globalThis.document.documentElement.clientHeight)},1200,{leading:!0,trailing:!0});return w.useEffect(()=>(globalThis.addEventListener("resize",a),()=>{globalThis.removeEventListener("resize",a)}),[a]),Gt("div",{style:{minHeight:r,backgroundImage:`url(${Bot})`,backgroundSize:"100% 100%",backgroundRepeat:"no-repeat",backgroundColor:i.color.bg,color:i.color.menuItem},children:[Gt("div",{style:{minHeight:document.documentElement.clientHeight-32},children:[Gt("div",{css:[oge(),{minWidth:1200,height:Vv,padding:"0px 30px"},tS.NODE_ENV==="production"?"":";label:Login;",tS.NODE_ENV==="production"?"":"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9hbGV4YW5kZXIvbXktY29kZS9naXRodWIvb3BlbmFwaS11aS9zcmMvbG9naW4vTG9naW4udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZEYSIsImZpbGUiOiIvVXNlcnMvYWxleGFuZGVyL215LWNvZGUvZ2l0aHViL29wZW5hcGktdWkvc3JjL2xvZ2luL0xvZ2luLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBtYXAsIHRocm90dGxlIH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IHsgUGFyc2VkVXJsUXVlcnksIHVzZVJvdXRlclF1ZXJ5IH0gZnJvbSBcInJlYWN0LXJvdXRlci10b29sa2l0XCI7XG5pbXBvcnQgYmFja2dyb3VuZEltYWdlIGZyb20gXCIuLi9hc3NldHMvaW1hZ2VzL2xvZ2luLWJnLnN2Z1wiO1xuaW1wb3J0IExvZ29JY29uIGZyb20gXCIuLi9hc3NldHMvaW1hZ2VzL2xvZ28ucG5nXCI7XG5pbXBvcnQgeyBDaGFuZ2VMYW5nQ29tcCB9IGZyb20gXCIuLi9jb21wb25lbnRzL2NoYW5nZS1sYW5nXCI7XG5pbXBvcnQgR2l0aHViU3RhciBmcm9tIFwiLi4vY29tcG9uZW50cy9naXRodWItc3RhclwiO1xuaW1wb3J0IHsgR29Ub1Bvc3RtYW4gfSBmcm9tIFwiLi4vY29tcG9uZW50cy9oZWFkL2NvbW1vblwiO1xuaW1wb3J0IHsgSUNQUmVnaXN0cmF0aW9uIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvaWNwLXJlZ2lzdHJhdGlvblwiO1xuaW1wb3J0IHsgRW52IH0gZnJvbSBcIi4uL2NvbmZpZ1wiO1xuaW1wb3J0IHsgZ2V0Q29uZmlnIH0gZnJvbSBcIi4uL2NvcmUvaHR0cC9jb25maWdcIjtcbmltcG9ydCB7IElUaGVtZSwgZHNjLCBsaWdodFRoZW1lIH0gZnJvbSBcIi4uL2NvcmUvc3R5bGUvZGVmYXVsdFN0eWxlQ29uZmlnXCI7XG5pbXBvcnQgeyBTd2l0Y2hUaGVtZSB9IGZyb20gXCIuLi9jb3JlL3N0eWxlL3RoZW1lXCI7XG5pbXBvcnQgeyBmbGV4QmV0d2VlbkNlbnRlck9wdHMsIGZsZXhDZW50ZXJPcHRzLCBmbGV4T3B0cyB9IGZyb20gXCIuLi9jb3JlL3N0eWxlL3V0aWxzXCI7XG5pbXBvcnQgeyBkZWZhdWx0SGVhZFRpdGxlSGVpZ2h0IH0gZnJvbSBcIi4uL21haW4vTWFpblwiO1xuaW1wb3J0IHsgRmlsZUltcG9ydFZpZXcgfSBmcm9tIFwiLi9JbXBvcnRCeUZpbGVWaWV3XCI7XG5pbXBvcnQgeyBUZXh0SW1wb3J0VmlldyB9IGZyb20gXCIuL0ltcG9ydEJ5VGV4dFZpZXdcIjtcbmltcG9ydCB7IFVSTEltcG9ydFZpZXcgfSBmcm9tIFwiLi9JbXBvcnRCeVVSTFZpZXdcIjtcbmltcG9ydCB7IElJbXBvcnRNb2RlVHlwZSwgSW1wb3J0TW9kZVR5cGUsIGRpc3BsYXlJbXBvcnRNb2RlVHlwZSwgZGlzcGxheUltcG9ydE1vZGVUeXBlSWNvbiB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuXG5pbnRlcmZhY2UgSUxvZ2luUXVlcnkgZXh0ZW5kcyBQYXJzZWRVcmxRdWVyeSB7XG4gIGFjdGl2ZUltcG9ydE1vZGVUeXBlOiBJSW1wb3J0TW9kZVR5cGU7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIExvZ2luKCkge1xuICBjb25zdCBbeyBhY3RpdmVJbXBvcnRNb2RlVHlwZSA9IEltcG9ydE1vZGVUeXBlLnVybCB9LCBzZXRRdWVyeV0gPSB1c2VSb3V0ZXJRdWVyeTxJTG9naW5RdWVyeT4oKTtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKCkgYXMgSVRoZW1lO1xuICBjb25zdCBbY29udGVudEhlaWdodCwgc2V0Q29udGVudEhlaWdodF0gPSB1c2VTdGF0ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KTtcbiAgY29uc3QgaXNaaCA9IGdldENvbmZpZygpLmVudiA9PT0gRW52LnpoO1xuXG4gIGNvbnN0IHRocm90dGxlZFJlc2l6ZUhhbmRsZXIgPSB0aHJvdHRsZShcbiAgICAoKSA9PiB7XG4gICAgICBzZXRDb250ZW50SGVpZ2h0KGdsb2JhbFRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCk7XG4gICAgfSxcbiAgICAxMjAwLFxuICAgIHsgbGVhZGluZzogdHJ1ZSwgdHJhaWxpbmc6IHRydWUgfSxcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGdsb2JhbFRoaXMuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aHJvdHRsZWRSZXNpemVIYW5kbGVyKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBnbG9iYWxUaGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhyb3R0bGVkUmVzaXplSGFuZGxlcik7XG4gICAgfTtcbiAgfSwgW3Rocm90dGxlZFJlc2l6ZUhhbmRsZXJdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIG1pbkhlaWdodDogY29udGVudEhlaWdodCxcbiAgICAgICAgYmFja2dyb3VuZEltYWdlOiBgdXJsKCR7YmFja2dyb3VuZEltYWdlfSlgLFxuICAgICAgICBiYWNrZ3JvdW5kU2l6ZTogXCIxMDAlIDEwMCVcIixcbiAgICAgICAgYmFja2dyb3VuZFJlcGVhdDogXCJuby1yZXBlYXRcIixcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvci5iZyxcbiAgICAgICAgY29sb3I6IHRoZW1lLmNvbG9yLm1lbnVJdGVtLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2IHN0eWxlPXt7IG1pbkhlaWdodDogZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCAtIDMyIH19PlxuICAgICAgICA8ZGl2IGNzcz17W2ZsZXhCZXR3ZWVuQ2VudGVyT3B0cygpLCB7IG1pbldpZHRoOiAxMjAwLCBoZWlnaHQ6IGRlZmF1bHRIZWFkVGl0bGVIZWlnaHQsIHBhZGRpbmc6IFwiMHB4IDMwcHhcIiB9XX0+XG4gICAgICAgICAgPGltZyBzdHlsZT17eyB3aWR0aDogMTI4IH19IHNyYz17TG9nb0ljb259IGFsdD1cIm9wZW5hcGktdWlcIiAvPlxuICAgICAgICAgIDxkaXYgY3NzPXt7IGRpc3BsYXk6IFwiZmxleFwiLCBcIiYgPiAqXCI6IHsgbWFyZ2luTGVmdDogNCwgLi4uZmxleENlbnRlck9wdHMoKSB9IH19PlxuICAgICAgICAgICAgPFN3aXRjaFRoZW1lIC8+XG4gICAgICAgICAgICA8Q2hhbmdlTGFuZ0NvbXAgLz5cbiAgICAgICAgICAgIDxHb1RvUG9zdG1hbiAvPlxuICAgICAgICAgICAgPEdpdGh1YlN0YXIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgc3R5bGU9e3sgd2lkdGg6IDEyMDAsIG1hcmdpbjogXCIwcHggYXV0b1wiLCBwYWRkaW5nVG9wOiAxMjggfX0+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgIGZsZXhDZW50ZXJPcHRzKCksXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmb250U2l6ZTogZHNjLmZvbnRTaXplLnMsXG4gICAgICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAzNixcbiAgICAgICAgICAgICAgICBcIiYgPiAqICsgKlwiOiB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiA2LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHttYXAoSW1wb3J0TW9kZVR5cGUsIChpdGVtKSA9PiAoXG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAga2V5PXtpdGVtfVxuICAgICAgICAgICAgICAgIGNzcz17W1xuICAgICAgICAgICAgICAgICAgZmxleE9wdHMoeyBhbGlnbkl0ZW1zOiBcImNlbnRlclwiIH0pLFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTUwLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMyLFxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IGAxcHggc29saWQgJHt0aGVtZS5jb2xvci5ib3JkZXJ9YCxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiA2LFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBcIjBweCA2cHhcIixcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBcInBvaW50ZXJcIixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBhY3RpdmVJbXBvcnRNb2RlVHlwZSA9PT0gaXRlbVxuICAgICAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogbGlnaHRUaGVtZS5jb2xvci5wcmltYXJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0VGhlbWUuY29sb3IuYmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCImIHBhdGhcIjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiB0aGVtZS5jb2xvci5tZW51R3JvdXAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgOiB7fSxcbiAgICAgICAgICAgICAgICBdfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgIHNldFF1ZXJ5KCgpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUltcG9ydE1vZGVUeXBlOiBpdGVtLFxuICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7ZGlzcGxheUltcG9ydE1vZGVUeXBlSWNvbihpdGVtLCB0aGVtZS5jb2xvci50ZXh0TGlnaHQpfVxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDEwIH19Pnt0KGRpc3BsYXlJbXBvcnRNb2RlVHlwZShpdGVtKSl9PC9zcGFuPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNzcz17ZmxleENlbnRlck9wdHMoKX0+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IHdpZHRoOiA2MDAgfX0+XG4gICAgICAgICAgICAgIHthY3RpdmVJbXBvcnRNb2RlVHlwZSA9PT0gSW1wb3J0TW9kZVR5cGUudXJsICYmIDxVUkxJbXBvcnRWaWV3IC8+fVxuICAgICAgICAgICAgICB7YWN0aXZlSW1wb3J0TW9kZVR5cGUgPT09IEltcG9ydE1vZGVUeXBlLmZpbGUgJiYgPEZpbGVJbXBvcnRWaWV3IC8+fVxuICAgICAgICAgICAgICB7YWN0aXZlSW1wb3J0TW9kZVR5cGUgPT09IEltcG9ydE1vZGVUeXBlLnRleHQgJiYgPFRleHRJbXBvcnRWaWV3IC8+fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICB7aXNaaCAmJiA8SUNQUmVnaXN0cmF0aW9uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufVxuIl19 */"],children:[se("img",{style:{width:128},src:nge,alt:"openapi-ui"}),Gt("div",{css:ON({display:"flex","& > *":{marginLeft:4,...Tb()}},tS.NODE_ENV==="production"?"":";label:Login;",tS.NODE_ENV==="production"?"":"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9hbGV4YW5kZXIvbXktY29kZS9naXRodWIvb3BlbmFwaS11aS9zcmMvbG9naW4vTG9naW4udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStEZSIsImZpbGUiOiIvVXNlcnMvYWxleGFuZGVyL215LWNvZGUvZ2l0aHViL29wZW5hcGktdWkvc3JjL2xvZ2luL0xvZ2luLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBtYXAsIHRocm90dGxlIH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IHsgUGFyc2VkVXJsUXVlcnksIHVzZVJvdXRlclF1ZXJ5IH0gZnJvbSBcInJlYWN0LXJvdXRlci10b29sa2l0XCI7XG5pbXBvcnQgYmFja2dyb3VuZEltYWdlIGZyb20gXCIuLi9hc3NldHMvaW1hZ2VzL2xvZ2luLWJnLnN2Z1wiO1xuaW1wb3J0IExvZ29JY29uIGZyb20gXCIuLi9hc3NldHMvaW1hZ2VzL2xvZ28ucG5nXCI7XG5pbXBvcnQgeyBDaGFuZ2VMYW5nQ29tcCB9IGZyb20gXCIuLi9jb21wb25lbnRzL2NoYW5nZS1sYW5nXCI7XG5pbXBvcnQgR2l0aHViU3RhciBmcm9tIFwiLi4vY29tcG9uZW50cy9naXRodWItc3RhclwiO1xuaW1wb3J0IHsgR29Ub1Bvc3RtYW4gfSBmcm9tIFwiLi4vY29tcG9uZW50cy9oZWFkL2NvbW1vblwiO1xuaW1wb3J0IHsgSUNQUmVnaXN0cmF0aW9uIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvaWNwLXJlZ2lzdHJhdGlvblwiO1xuaW1wb3J0IHsgRW52IH0gZnJvbSBcIi4uL2NvbmZpZ1wiO1xuaW1wb3J0IHsgZ2V0Q29uZmlnIH0gZnJvbSBcIi4uL2NvcmUvaHR0cC9jb25maWdcIjtcbmltcG9ydCB7IElUaGVtZSwgZHNjLCBsaWdodFRoZW1lIH0gZnJvbSBcIi4uL2NvcmUvc3R5bGUvZGVmYXVsdFN0eWxlQ29uZmlnXCI7XG5pbXBvcnQgeyBTd2l0Y2hUaGVtZSB9IGZyb20gXCIuLi9jb3JlL3N0eWxlL3RoZW1lXCI7XG5pbXBvcnQgeyBmbGV4QmV0d2VlbkNlbnRlck9wdHMsIGZsZXhDZW50ZXJPcHRzLCBmbGV4T3B0cyB9IGZyb20gXCIuLi9jb3JlL3N0eWxlL3V0aWxzXCI7XG5pbXBvcnQgeyBkZWZhdWx0SGVhZFRpdGxlSGVpZ2h0IH0gZnJvbSBcIi4uL21haW4vTWFpblwiO1xuaW1wb3J0IHsgRmlsZUltcG9ydFZpZXcgfSBmcm9tIFwiLi9JbXBvcnRCeUZpbGVWaWV3XCI7XG5pbXBvcnQgeyBUZXh0SW1wb3J0VmlldyB9IGZyb20gXCIuL0ltcG9ydEJ5VGV4dFZpZXdcIjtcbmltcG9ydCB7IFVSTEltcG9ydFZpZXcgfSBmcm9tIFwiLi9JbXBvcnRCeVVSTFZpZXdcIjtcbmltcG9ydCB7IElJbXBvcnRNb2RlVHlwZSwgSW1wb3J0TW9kZVR5cGUsIGRpc3BsYXlJbXBvcnRNb2RlVHlwZSwgZGlzcGxheUltcG9ydE1vZGVUeXBlSWNvbiB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuXG5pbnRlcmZhY2UgSUxvZ2luUXVlcnkgZXh0ZW5kcyBQYXJzZWRVcmxRdWVyeSB7XG4gIGFjdGl2ZUltcG9ydE1vZGVUeXBlOiBJSW1wb3J0TW9kZVR5cGU7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIExvZ2luKCkge1xuICBjb25zdCBbeyBhY3RpdmVJbXBvcnRNb2RlVHlwZSA9IEltcG9ydE1vZGVUeXBlLnVybCB9LCBzZXRRdWVyeV0gPSB1c2VSb3V0ZXJRdWVyeTxJTG9naW5RdWVyeT4oKTtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKCkgYXMgSVRoZW1lO1xuICBjb25zdCBbY29udGVudEhlaWdodCwgc2V0Q29udGVudEhlaWdodF0gPSB1c2VTdGF0ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KTtcbiAgY29uc3QgaXNaaCA9IGdldENvbmZpZygpLmVudiA9PT0gRW52LnpoO1xuXG4gIGNvbnN0IHRocm90dGxlZFJlc2l6ZUhhbmRsZXIgPSB0aHJvdHRsZShcbiAgICAoKSA9PiB7XG4gICAgICBzZXRDb250ZW50SGVpZ2h0KGdsb2JhbFRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCk7XG4gICAgfSxcbiAgICAxMjAwLFxuICAgIHsgbGVhZGluZzogdHJ1ZSwgdHJhaWxpbmc6IHRydWUgfSxcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGdsb2JhbFRoaXMuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aHJvdHRsZWRSZXNpemVIYW5kbGVyKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBnbG9iYWxUaGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhyb3R0bGVkUmVzaXplSGFuZGxlcik7XG4gICAgfTtcbiAgfSwgW3Rocm90dGxlZFJlc2l6ZUhhbmRsZXJdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIG1pbkhlaWdodDogY29udGVudEhlaWdodCxcbiAgICAgICAgYmFja2dyb3VuZEltYWdlOiBgdXJsKCR7YmFja2dyb3VuZEltYWdlfSlgLFxuICAgICAgICBiYWNrZ3JvdW5kU2l6ZTogXCIxMDAlIDEwMCVcIixcbiAgICAgICAgYmFja2dyb3VuZFJlcGVhdDogXCJuby1yZXBlYXRcIixcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvci5iZyxcbiAgICAgICAgY29sb3I6IHRoZW1lLmNvbG9yLm1lbnVJdGVtLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2IHN0eWxlPXt7IG1pbkhlaWdodDogZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCAtIDMyIH19PlxuICAgICAgICA8ZGl2IGNzcz17W2ZsZXhCZXR3ZWVuQ2VudGVyT3B0cygpLCB7IG1pbldpZHRoOiAxMjAwLCBoZWlnaHQ6IGRlZmF1bHRIZWFkVGl0bGVIZWlnaHQsIHBhZGRpbmc6IFwiMHB4IDMwcHhcIiB9XX0+XG4gICAgICAgICAgPGltZyBzdHlsZT17eyB3aWR0aDogMTI4IH19IHNyYz17TG9nb0ljb259IGFsdD1cIm9wZW5hcGktdWlcIiAvPlxuICAgICAgICAgIDxkaXYgY3NzPXt7IGRpc3BsYXk6IFwiZmxleFwiLCBcIiYgPiAqXCI6IHsgbWFyZ2luTGVmdDogNCwgLi4uZmxleENlbnRlck9wdHMoKSB9IH19PlxuICAgICAgICAgICAgPFN3aXRjaFRoZW1lIC8+XG4gICAgICAgICAgICA8Q2hhbmdlTGFuZ0NvbXAgLz5cbiAgICAgICAgICAgIDxHb1RvUG9zdG1hbiAvPlxuICAgICAgICAgICAgPEdpdGh1YlN0YXIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgc3R5bGU9e3sgd2lkdGg6IDEyMDAsIG1hcmdpbjogXCIwcHggYXV0b1wiLCBwYWRkaW5nVG9wOiAxMjggfX0+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgIGZsZXhDZW50ZXJPcHRzKCksXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmb250U2l6ZTogZHNjLmZvbnRTaXplLnMsXG4gICAgICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAzNixcbiAgICAgICAgICAgICAgICBcIiYgPiAqICsgKlwiOiB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiA2LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHttYXAoSW1wb3J0TW9kZVR5cGUsIChpdGVtKSA9PiAoXG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAga2V5PXtpdGVtfVxuICAgICAgICAgICAgICAgIGNzcz17W1xuICAgICAgICAgICAgICAgICAgZmxleE9wdHMoeyBhbGlnbkl0ZW1zOiBcImNlbnRlclwiIH0pLFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTUwLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMyLFxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IGAxcHggc29saWQgJHt0aGVtZS5jb2xvci5ib3JkZXJ9YCxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiA2LFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBcIjBweCA2cHhcIixcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBcInBvaW50ZXJcIixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBhY3RpdmVJbXBvcnRNb2RlVHlwZSA9PT0gaXRlbVxuICAgICAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogbGlnaHRUaGVtZS5jb2xvci5wcmltYXJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0VGhlbWUuY29sb3IuYmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCImIHBhdGhcIjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiB0aGVtZS5jb2xvci5tZW51R3JvdXAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgOiB7fSxcbiAgICAgICAgICAgICAgICBdfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgIHNldFF1ZXJ5KCgpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUltcG9ydE1vZGVUeXBlOiBpdGVtLFxuICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7ZGlzcGxheUltcG9ydE1vZGVUeXBlSWNvbihpdGVtLCB0aGVtZS5jb2xvci50ZXh0TGlnaHQpfVxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDEwIH19Pnt0KGRpc3BsYXlJbXBvcnRNb2RlVHlwZShpdGVtKSl9PC9zcGFuPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNzcz17ZmxleENlbnRlck9wdHMoKX0+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IHdpZHRoOiA2MDAgfX0+XG4gICAgICAgICAgICAgIHthY3RpdmVJbXBvcnRNb2RlVHlwZSA9PT0gSW1wb3J0TW9kZVR5cGUudXJsICYmIDxVUkxJbXBvcnRWaWV3IC8+fVxuICAgICAgICAgICAgICB7YWN0aXZlSW1wb3J0TW9kZVR5cGUgPT09IEltcG9ydE1vZGVUeXBlLmZpbGUgJiYgPEZpbGVJbXBvcnRWaWV3IC8+fVxuICAgICAgICAgICAgICB7YWN0aXZlSW1wb3J0TW9kZVR5cGUgPT09IEltcG9ydE1vZGVUeXBlLnRleHQgJiYgPFRleHRJbXBvcnRWaWV3IC8+fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICB7aXNaaCAmJiA8SUNQUmVnaXN0cmF0aW9uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufVxuIl19 */"),children:[se(Dz,{}),se(Tz,{}),se(Qot,{}),se(Ez,{})]})]}),Gt("div",{style:{width:1200,margin:"0px auto",paddingTop:128},children:[se("div",{css:[Tb(),{fontSize:Xi.fontSize.s,marginBottom:36,"& > * + *":{marginLeft:6}},tS.NODE_ENV==="production"?"":";label:Login;",tS.NODE_ENV==="production"?"":"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9hbGV4YW5kZXIvbXktY29kZS9naXRodWIvb3BlbmFwaS11aS9zcmMvbG9naW4vTG9naW4udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdFWSIsImZpbGUiOiIvVXNlcnMvYWxleGFuZGVyL215LWNvZGUvZ2l0aHViL29wZW5hcGktdWkvc3JjL2xvZ2luL0xvZ2luLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBtYXAsIHRocm90dGxlIH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IHsgUGFyc2VkVXJsUXVlcnksIHVzZVJvdXRlclF1ZXJ5IH0gZnJvbSBcInJlYWN0LXJvdXRlci10b29sa2l0XCI7XG5pbXBvcnQgYmFja2dyb3VuZEltYWdlIGZyb20gXCIuLi9hc3NldHMvaW1hZ2VzL2xvZ2luLWJnLnN2Z1wiO1xuaW1wb3J0IExvZ29JY29uIGZyb20gXCIuLi9hc3NldHMvaW1hZ2VzL2xvZ28ucG5nXCI7XG5pbXBvcnQgeyBDaGFuZ2VMYW5nQ29tcCB9IGZyb20gXCIuLi9jb21wb25lbnRzL2NoYW5nZS1sYW5nXCI7XG5pbXBvcnQgR2l0aHViU3RhciBmcm9tIFwiLi4vY29tcG9uZW50cy9naXRodWItc3RhclwiO1xuaW1wb3J0IHsgR29Ub1Bvc3RtYW4gfSBmcm9tIFwiLi4vY29tcG9uZW50cy9oZWFkL2NvbW1vblwiO1xuaW1wb3J0IHsgSUNQUmVnaXN0cmF0aW9uIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvaWNwLXJlZ2lzdHJhdGlvblwiO1xuaW1wb3J0IHsgRW52IH0gZnJvbSBcIi4uL2NvbmZpZ1wiO1xuaW1wb3J0IHsgZ2V0Q29uZmlnIH0gZnJvbSBcIi4uL2NvcmUvaHR0cC9jb25maWdcIjtcbmltcG9ydCB7IElUaGVtZSwgZHNjLCBsaWdodFRoZW1lIH0gZnJvbSBcIi4uL2NvcmUvc3R5bGUvZGVmYXVsdFN0eWxlQ29uZmlnXCI7XG5pbXBvcnQgeyBTd2l0Y2hUaGVtZSB9IGZyb20gXCIuLi9jb3JlL3N0eWxlL3RoZW1lXCI7XG5pbXBvcnQgeyBmbGV4QmV0d2VlbkNlbnRlck9wdHMsIGZsZXhDZW50ZXJPcHRzLCBmbGV4T3B0cyB9IGZyb20gXCIuLi9jb3JlL3N0eWxlL3V0aWxzXCI7XG5pbXBvcnQgeyBkZWZhdWx0SGVhZFRpdGxlSGVpZ2h0IH0gZnJvbSBcIi4uL21haW4vTWFpblwiO1xuaW1wb3J0IHsgRmlsZUltcG9ydFZpZXcgfSBmcm9tIFwiLi9JbXBvcnRCeUZpbGVWaWV3XCI7XG5pbXBvcnQgeyBUZXh0SW1wb3J0VmlldyB9IGZyb20gXCIuL0ltcG9ydEJ5VGV4dFZpZXdcIjtcbmltcG9ydCB7IFVSTEltcG9ydFZpZXcgfSBmcm9tIFwiLi9JbXBvcnRCeVVSTFZpZXdcIjtcbmltcG9ydCB7IElJbXBvcnRNb2RlVHlwZSwgSW1wb3J0TW9kZVR5cGUsIGRpc3BsYXlJbXBvcnRNb2RlVHlwZSwgZGlzcGxheUltcG9ydE1vZGVUeXBlSWNvbiB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuXG5pbnRlcmZhY2UgSUxvZ2luUXVlcnkgZXh0ZW5kcyBQYXJzZWRVcmxRdWVyeSB7XG4gIGFjdGl2ZUltcG9ydE1vZGVUeXBlOiBJSW1wb3J0TW9kZVR5cGU7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIExvZ2luKCkge1xuICBjb25zdCBbeyBhY3RpdmVJbXBvcnRNb2RlVHlwZSA9IEltcG9ydE1vZGVUeXBlLnVybCB9LCBzZXRRdWVyeV0gPSB1c2VSb3V0ZXJRdWVyeTxJTG9naW5RdWVyeT4oKTtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKCkgYXMgSVRoZW1lO1xuICBjb25zdCBbY29udGVudEhlaWdodCwgc2V0Q29udGVudEhlaWdodF0gPSB1c2VTdGF0ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KTtcbiAgY29uc3QgaXNaaCA9IGdldENvbmZpZygpLmVudiA9PT0gRW52LnpoO1xuXG4gIGNvbnN0IHRocm90dGxlZFJlc2l6ZUhhbmRsZXIgPSB0aHJvdHRsZShcbiAgICAoKSA9PiB7XG4gICAgICBzZXRDb250ZW50SGVpZ2h0KGdsb2JhbFRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCk7XG4gICAgfSxcbiAgICAxMjAwLFxuICAgIHsgbGVhZGluZzogdHJ1ZSwgdHJhaWxpbmc6IHRydWUgfSxcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGdsb2JhbFRoaXMuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aHJvdHRsZWRSZXNpemVIYW5kbGVyKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBnbG9iYWxUaGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhyb3R0bGVkUmVzaXplSGFuZGxlcik7XG4gICAgfTtcbiAgfSwgW3Rocm90dGxlZFJlc2l6ZUhhbmRsZXJdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIG1pbkhlaWdodDogY29udGVudEhlaWdodCxcbiAgICAgICAgYmFja2dyb3VuZEltYWdlOiBgdXJsKCR7YmFja2dyb3VuZEltYWdlfSlgLFxuICAgICAgICBiYWNrZ3JvdW5kU2l6ZTogXCIxMDAlIDEwMCVcIixcbiAgICAgICAgYmFja2dyb3VuZFJlcGVhdDogXCJuby1yZXBlYXRcIixcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvci5iZyxcbiAgICAgICAgY29sb3I6IHRoZW1lLmNvbG9yLm1lbnVJdGVtLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2IHN0eWxlPXt7IG1pbkhlaWdodDogZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCAtIDMyIH19PlxuICAgICAgICA8ZGl2IGNzcz17W2ZsZXhCZXR3ZWVuQ2VudGVyT3B0cygpLCB7IG1pbldpZHRoOiAxMjAwLCBoZWlnaHQ6IGRlZmF1bHRIZWFkVGl0bGVIZWlnaHQsIHBhZGRpbmc6IFwiMHB4IDMwcHhcIiB9XX0+XG4gICAgICAgICAgPGltZyBzdHlsZT17eyB3aWR0aDogMTI4IH19IHNyYz17TG9nb0ljb259IGFsdD1cIm9wZW5hcGktdWlcIiAvPlxuICAgICAgICAgIDxkaXYgY3NzPXt7IGRpc3BsYXk6IFwiZmxleFwiLCBcIiYgPiAqXCI6IHsgbWFyZ2luTGVmdDogNCwgLi4uZmxleENlbnRlck9wdHMoKSB9IH19PlxuICAgICAgICAgICAgPFN3aXRjaFRoZW1lIC8+XG4gICAgICAgICAgICA8Q2hhbmdlTGFuZ0NvbXAgLz5cbiAgICAgICAgICAgIDxHb1RvUG9zdG1hbiAvPlxuICAgICAgICAgICAgPEdpdGh1YlN0YXIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgc3R5bGU9e3sgd2lkdGg6IDEyMDAsIG1hcmdpbjogXCIwcHggYXV0b1wiLCBwYWRkaW5nVG9wOiAxMjggfX0+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgIGZsZXhDZW50ZXJPcHRzKCksXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmb250U2l6ZTogZHNjLmZvbnRTaXplLnMsXG4gICAgICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAzNixcbiAgICAgICAgICAgICAgICBcIiYgPiAqICsgKlwiOiB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiA2LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHttYXAoSW1wb3J0TW9kZVR5cGUsIChpdGVtKSA9PiAoXG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAga2V5PXtpdGVtfVxuICAgICAgICAgICAgICAgIGNzcz17W1xuICAgICAgICAgICAgICAgICAgZmxleE9wdHMoeyBhbGlnbkl0ZW1zOiBcImNlbnRlclwiIH0pLFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTUwLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMyLFxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IGAxcHggc29saWQgJHt0aGVtZS5jb2xvci5ib3JkZXJ9YCxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiA2LFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBcIjBweCA2cHhcIixcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBcInBvaW50ZXJcIixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBhY3RpdmVJbXBvcnRNb2RlVHlwZSA9PT0gaXRlbVxuICAgICAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogbGlnaHRUaGVtZS5jb2xvci5wcmltYXJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0VGhlbWUuY29sb3IuYmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCImIHBhdGhcIjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiB0aGVtZS5jb2xvci5tZW51R3JvdXAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgOiB7fSxcbiAgICAgICAgICAgICAgICBdfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgIHNldFF1ZXJ5KCgpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUltcG9ydE1vZGVUeXBlOiBpdGVtLFxuICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7ZGlzcGxheUltcG9ydE1vZGVUeXBlSWNvbihpdGVtLCB0aGVtZS5jb2xvci50ZXh0TGlnaHQpfVxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDEwIH19Pnt0KGRpc3BsYXlJbXBvcnRNb2RlVHlwZShpdGVtKSl9PC9zcGFuPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNzcz17ZmxleENlbnRlck9wdHMoKX0+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IHdpZHRoOiA2MDAgfX0+XG4gICAgICAgICAgICAgIHthY3RpdmVJbXBvcnRNb2RlVHlwZSA9PT0gSW1wb3J0TW9kZVR5cGUudXJsICYmIDxVUkxJbXBvcnRWaWV3IC8+fVxuICAgICAgICAgICAgICB7YWN0aXZlSW1wb3J0TW9kZVR5cGUgPT09IEltcG9ydE1vZGVUeXBlLmZpbGUgJiYgPEZpbGVJbXBvcnRWaWV3IC8+fVxuICAgICAgICAgICAgICB7YWN0aXZlSW1wb3J0TW9kZVR5cGUgPT09IEltcG9ydE1vZGVUeXBlLnRleHQgJiYgPFRleHRJbXBvcnRWaWV3IC8+fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICB7aXNaaCAmJiA8SUNQUmVnaXN0cmF0aW9uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufVxuIl19 */"],children:xo(vd,l=>Gt("a",{css:[$ot({alignItems:"center"}),{width:150,height:32,border:`1px solid ${i.color.border}`,borderRadius:6,padding:"0px 6px",cursor:"pointer"},n===l?{backgroundColor:fd.color.primary,color:fd.color.bg,border:"none","& path":{fill:i.color.menuGroup}}:{},"",""],onClick:()=>{e(()=>({activeImportModeType:l}))},children:[nqe(l,i.color.textLight),se("span",{style:{marginLeft:10},children:t(tqe(l))})]},l))}),se("div",{css:Tb(),children:Gt("div",{style:{width:600},children:[n===vd.url&&se(vst,{}),n===vd.file&&se(gst,{}),n===vd.text&&se(pst,{})]})})]})]}),s&&se(Wz,{})]})}const Cst=Object.freeze(Object.defineProperty({__proto__:null,default:yst},Symbol.toStringTag,{value:"Module"}));function RKt(){}function VKt(){}function wst(n,e){const t=e||{};return(n[n.length-1]===""?[...n,""]:n).join((t.padRight?" ":"")+","+(t.padLeft===!1?"":" ")).trim()}const Sst=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,xst=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Lst={};function hge(n,e){return((e||Lst).jsx?xst:Sst).test(n)}const _st=/[ \t\n\f\r]/g;function Fst(n){return typeof n=="object"?n.type==="text"?mge(n.value):!1:mge(n)}function mge(n){return n.replace(_st,"")===""}class TF{constructor(e,t,i){this.property=e,this.normal=t,i&&(this.space=i)}}TF.prototype.property={},TF.prototype.normal={},TF.prototype.space=null;function fge(n,e){const t={},i={};let r=-1;for(;++r4&&t.slice(0,4)==="data"&&Nst.test(e)){if(e.charAt(4)==="-"){const o=e.slice(5).replace(xge,Wst);i="data"+o.charAt(0).toUpperCase()+o.slice(1)}else{const o=e.slice(4);if(!xge.test(o)){let s=o.replace(Tst,Zst);s.charAt(0)!=="-"&&(s="-"+s),e="data"+s}}r=Gz}return new r(i,e)}function Zst(n){return"-"+n.toLowerCase()}function Wst(n){return n.charAt(1).toUpperCase()}const Rst={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},Vst=fge([vge,bge,wge,Sge,Mst],"html"),Xz=fge([vge,bge,wge,Sge,kst],"svg");function Ast(n){return n.join(" ").trim()}var Lge={},_ge=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,Gst=/\n/g,Xst=/^\s*/,Pst=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,Ost=/^:\s*/,Bst=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,zst=/^[;\s]*/,Hst=/^\s+|\s+$/g,Yst=` -`,Fge="/",Ige="*",Gv="",Ust="comment",Kst="declaration",Jst=function(n,e){if(typeof n!="string")throw new TypeError("First argument must be a string");if(!n)return[];e=e||{};var t=1,i=1;function r(f){var g=f.match(Gst);g&&(t+=g.length);var b=f.lastIndexOf(Yst);i=~b?f.length-b:i+f.length}function o(){var f={line:t,column:i};return function(g){return g.position=new s(f),u(),g}}function s(f){this.start=f,this.end={line:t,column:i},this.source=e.source}s.prototype.content=n;function a(f){var g=new Error(e.source+":"+t+":"+i+": "+f);if(g.reason=f,g.filename=e.source,g.line=t,g.column=i,g.source=n,!e.silent)throw g}function l(f){var g=f.exec(n);if(g){var b=g[0];return r(b),n=n.slice(b.length),g}}function u(){l(Xst)}function c(f){var g;for(f=f||[];g=d();)g!==!1&&f.push(g);return f}function d(){var f=o();if(!(Fge!=n.charAt(0)||Ige!=n.charAt(1))){for(var g=2;Gv!=n.charAt(g)&&(Ige!=n.charAt(g)||Fge!=n.charAt(g+1));)++g;if(g+=2,Gv===n.charAt(g-1))return a("End of comment missing");var b=n.slice(2,g-2);return i+=2,r(b),n=n.slice(g),i+=2,f({type:Ust,comment:b})}}function h(){var f=o(),g=l(Pst);if(g){if(d(),!l(Ost))return a("property missing ':'");var b=l(Bst),v=f({type:Kst,property:Dge(g[0].replace(_ge,Gv)),value:b?Dge(b[0].replace(_ge,Gv)):Gv});return l(zst),v}}function m(){var f=[];c(f);for(var g;g=h();)g!==!1&&(f.push(g),c(f));return f}return u(),m()};function Dge(n){return n?n.replace(Hst,Gv):Gv}var jst=Jf&&Jf.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Lge,"__esModule",{value:!0});var Qst=jst(Jst);function $st(n,e){var t=null;if(!n||typeof n!="string")return t;var i=(0,Qst.default)(n),r=typeof e=="function";return i.forEach(function(o){if(o.type==="declaration"){var s=o.property,a=o.value;r?e(s,a,o):a&&(t=t||{},t[s]=a)}}),t}var Mge=Lge.default=$st;const qst=Mge.default||Mge,kge=Nge("end"),Pz=Nge("start");function Nge(n){return e;function e(t){const i=t&&t.position&&t.position[n]||{};if(typeof i.line=="number"&&i.line>0&&typeof i.column=="number"&&i.column>0)return{line:i.line,column:i.column,offset:typeof i.offset=="number"&&i.offset>-1?i.offset:void 0}}}function eat(n){const e=Pz(n),t=kge(n);if(e&&t)return{start:e,end:t}}function EF(n){return!n||typeof n!="object"?"":"position"in n||"type"in n?Tge(n.position):"start"in n||"end"in n?Tge(n):"line"in n||"column"in n?Oz(n):""}function Oz(n){return Ege(n&&n.line)+":"+Ege(n&&n.column)}function Tge(n){return Oz(n&&n.start)+"-"+Oz(n&&n.end)}function Ege(n){return n&&typeof n=="number"?n:1}class Dl extends Error{constructor(e,t,i){super(),typeof t=="string"&&(i=t,t=void 0);let r="",o={},s=!1;if(t&&("line"in t&&"column"in t?o={place:t}:"start"in t&&"end"in t?o={place:t}:"type"in t?o={ancestors:[t],place:t.position}:o={...t}),typeof e=="string"?r=e:!o.cause&&e&&(s=!0,r=e.message,o.cause=e),!o.ruleId&&!o.source&&typeof i=="string"){const l=i.indexOf(":");l===-1?o.ruleId=i:(o.source=i.slice(0,l),o.ruleId=i.slice(l+1))}if(!o.place&&o.ancestors&&o.ancestors){const l=o.ancestors[o.ancestors.length-1];l&&(o.place=l.position)}const a=o.place&&"start"in o.place?o.place.start:o.place;this.ancestors=o.ancestors||void 0,this.cause=o.cause||void 0,this.column=a?a.column:void 0,this.fatal=void 0,this.file,this.message=r,this.line=a?a.line:void 0,this.name=EF(o.place)||"1:1",this.place=o.place||void 0,this.reason=this.message,this.ruleId=o.ruleId||void 0,this.source=o.source||void 0,this.stack=s&&o.cause&&typeof o.cause.stack=="string"?o.cause.stack:"",this.actual,this.expected,this.note,this.url}}Dl.prototype.file="",Dl.prototype.name="",Dl.prototype.reason="",Dl.prototype.message="",Dl.prototype.stack="",Dl.prototype.column=void 0,Dl.prototype.line=void 0,Dl.prototype.ancestors=void 0,Dl.prototype.cause=void 0,Dl.prototype.fatal=void 0,Dl.prototype.place=void 0,Dl.prototype.ruleId=void 0,Dl.prototype.source=void 0;const Bz={}.hasOwnProperty,tat=new Map,nat=/[A-Z]/g,iat=/-([a-z])/g,rat=new Set(["table","tbody","thead","tfoot","tr"]),oat=new Set(["td","th"]),Zge="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function sat(n,e){if(!e||e.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const t=e.filePath||void 0;let i;if(e.development){if(typeof e.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");i=fat(t,e.jsxDEV)}else{if(typeof e.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof e.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");i=mat(t,e.jsx,e.jsxs)}const r={Fragment:e.Fragment,ancestors:[],components:e.components||{},create:i,elementAttributeNameCase:e.elementAttributeNameCase||"react",evaluater:e.createEvaluater?e.createEvaluater():void 0,filePath:t,ignoreInvalidStyle:e.ignoreInvalidStyle||!1,passKeys:e.passKeys!==!1,passNode:e.passNode||!1,schema:e.space==="svg"?Xz:Vst,stylePropertyNameCase:e.stylePropertyNameCase||"dom",tableCellAlignToStyle:e.tableCellAlignToStyle!==!1},o=Wge(r,n,void 0);return o&&typeof o!="string"?o:r.create(n,r.Fragment,{children:o||void 0},void 0)}function Wge(n,e,t){if(e.type==="element")return aat(n,e,t);if(e.type==="mdxFlowExpression"||e.type==="mdxTextExpression")return lat(n,e);if(e.type==="mdxJsxFlowElement"||e.type==="mdxJsxTextElement")return cat(n,e,t);if(e.type==="mdxjsEsm")return uat(n,e);if(e.type==="root")return dat(n,e,t);if(e.type==="text")return hat(n,e)}function aat(n,e,t){const i=n.schema;let r=i;e.tagName.toLowerCase()==="svg"&&i.space==="html"&&(r=Xz,n.schema=r),n.ancestors.push(e);const o=Vge(n,e.tagName,!1),s=gat(n,e);let a=Hz(n,e);return rat.has(e.tagName)&&(a=a.filter(function(l){return typeof l=="string"?!Fst(l):!0})),Rge(n,s,o,e),zz(s,a),n.ancestors.pop(),n.schema=i,n.create(e,o,s,t)}function lat(n,e){if(e.data&&e.data.estree&&n.evaluater){const i=e.data.estree.body[0];return i.type,n.evaluater.evaluateExpression(i.expression)}ZF(n,e.position)}function uat(n,e){if(e.data&&e.data.estree&&n.evaluater)return n.evaluater.evaluateProgram(e.data.estree);ZF(n,e.position)}function cat(n,e,t){const i=n.schema;let r=i;e.name==="svg"&&i.space==="html"&&(r=Xz,n.schema=r),n.ancestors.push(e);const o=e.name===null?n.Fragment:Vge(n,e.name,!0),s=pat(n,e),a=Hz(n,e);return Rge(n,s,o,e),zz(s,a),n.ancestors.pop(),n.schema=i,n.create(e,o,s,t)}function dat(n,e,t){const i={};return zz(i,Hz(n,e)),n.create(e,n.Fragment,i,t)}function hat(n,e){return e.value}function Rge(n,e,t,i){typeof t!="string"&&t!==n.Fragment&&n.passNode&&(e.node=i)}function zz(n,e){if(e.length>0){const t=e.length>1?e:e[0];t&&(n.children=t)}}function mat(n,e,t){return i;function i(r,o,s,a){const u=Array.isArray(s.children)?t:e;return a?u(o,s,a):u(o,s)}}function fat(n,e){return t;function t(i,r,o,s){const a=Array.isArray(o.children),l=Pz(i);return e(r,o,s,a,{columnNumber:l?l.column-1:void 0,fileName:n,lineNumber:l?l.line:void 0},void 0)}}function gat(n,e){const t={};let i,r;for(r in e.properties)if(r!=="children"&&Bz.call(e.properties,r)){const o=bat(n,r,e.properties[r]);if(o){const[s,a]=o;n.tableCellAlignToStyle&&s==="align"&&typeof a=="string"&&oat.has(e.tagName)?i=a:t[s]=a}}if(i){const o=t.style||(t.style={});o[n.stylePropertyNameCase==="css"?"text-align":"textAlign"]=i}return t}function pat(n,e){const t={};for(const i of e.attributes)if(i.type==="mdxJsxExpressionAttribute")if(i.data&&i.data.estree&&n.evaluater){const o=i.data.estree.body[0];o.type;const s=o.expression;s.type;const a=s.properties[0];a.type,Object.assign(t,n.evaluater.evaluateExpression(a.argument))}else ZF(n,e.position);else{const r=i.name;let o;if(i.value&&typeof i.value=="object")if(i.value.data&&i.value.data.estree&&n.evaluater){const a=i.value.data.estree.body[0];a.type,o=n.evaluater.evaluateExpression(a.expression)}else ZF(n,e.position);else o=i.value===null?!0:i.value;t[r]=o}return t}function Hz(n,e){const t=[];let i=-1;const r=n.passKeys?new Map:tat;for(;++ir?0:r+e:e=e>r?r:e,t=t>0?t:0,i.length<1e4)s=Array.from(i),s.unshift(e,t),n.splice(...s);else for(t&&n.splice(e,t);o0?(Cg(n,n.length,0,e),n):e}const Pge={}.hasOwnProperty;function Fat(n){const e={};let t=-1;for(;++t13&&t<32||t>126&&t<160||t>55295&&t<57344||t>64975&&t<65008||(t&65535)===65535||(t&65535)===65534||t>1114111?"�":String.fromCodePoint(t)}function rS(n){return n.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Em=Eb(/[A-Za-z]/),_c=Eb(/[\dA-Za-z]/),Mat=Eb(/[#-'*+\--9=?A-Z^-~]/);function Kz(n){return n!==null&&(n<32||n===127)}const Jz=Eb(/\d/),kat=Eb(/[\dA-Fa-f]/),Nat=Eb(/[!-/:-@[-`{-~]/);function di(n){return n!==null&&n<-2}function Eu(n){return n!==null&&(n<0||n===32)}function Mr(n){return n===-2||n===-1||n===32}const Tat=Eb(new RegExp("\\p{P}|\\p{S}","u")),Eat=Eb(/\s/);function Eb(n){return e;function e(t){return t!==null&&t>-1&&n.test(String.fromCharCode(t))}}function oS(n){const e=[];let t=-1,i=0,r=0;for(;++t55295&&o<57344){const a=n.charCodeAt(t+1);o<56320&&a>56319&&a<57344?(s=String.fromCharCode(o,a),r=1):s="�"}else s=String.fromCharCode(o);s&&(e.push(n.slice(i,t),encodeURIComponent(s)),i=t+r+1,s=""),r&&(t+=r,r=0)}return e.join("")+n.slice(i)}function _o(n,e,t,i){const r=i?i-1:Number.POSITIVE_INFINITY;let o=0;return s;function s(l){return Mr(l)?(n.enter(t),a(l)):e(l)}function a(l){return Mr(l)&&o++s))return;const D=e.events.length;let M=D,T,Z;for(;M--;)if(e.events[M][0]==="exit"&&e.events[M][1].type==="chunkFlow"){if(T){Z=e.events[M][1].end;break}T=!0}for(v(i),F=D;FS;){const _=t[x];e.containerState=_[1],_[0].exit.call(e,n)}t.length=S}function C(){r.write([null]),o=void 0,r=void 0,e.containerState._closeFlow=void 0}}function Aat(n,e,t){return _o(n,n.attempt(this.parser.constructs.document,e,t),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function zge(n){if(n===null||Eu(n)||Eat(n))return 1;if(Tat(n))return 2}function jz(n,e,t){const i=[];let r=-1;for(;++r1&&n[t][1].end.offset-n[t][1].start.offset>1?2:1;const d=Object.assign({},n[i][1].end),h=Object.assign({},n[t][1].start);Hge(d,-l),Hge(h,l),s={type:l>1?"strongSequence":"emphasisSequence",start:d,end:Object.assign({},n[i][1].end)},a={type:l>1?"strongSequence":"emphasisSequence",start:Object.assign({},n[t][1].start),end:h},o={type:l>1?"strongText":"emphasisText",start:Object.assign({},n[i][1].end),end:Object.assign({},n[t][1].start)},r={type:l>1?"strong":"emphasis",start:Object.assign({},s.start),end:Object.assign({},a.end)},n[i][1].end=Object.assign({},s.start),n[t][1].start=Object.assign({},a.end),u=[],n[i][1].end.offset-n[i][1].start.offset&&(u=xd(u,[["enter",n[i][1],e],["exit",n[i][1],e]])),u=xd(u,[["enter",r,e],["enter",s,e],["exit",s,e],["enter",o,e]]),u=xd(u,jz(e.parser.constructs.insideSpan.null,n.slice(i+1,t),e)),u=xd(u,[["exit",o,e],["enter",a,e],["exit",a,e],["exit",r,e]]),n[t][1].end.offset-n[t][1].start.offset?(c=2,u=xd(u,[["enter",n[t][1],e],["exit",n[t][1],e]])):c=0,Cg(n,i-1,t-i+3,u),t=i+u.length-c-2;break}}for(t=-1;++t0&&Mr(F)?_o(n,C,"linePrefix",o+1)(F):C(F)}function C(F){return F===null||di(F)?n.check(Jge,g,x)(F):(n.enter("codeFlowValue"),S(F))}function S(F){return F===null||di(F)?(n.exit("codeFlowValue"),C(F)):(n.consume(F),S)}function x(F){return n.exit("codeFenced"),e(F)}function _(F,D,M){let T=0;return Z;function Z(z){return F.enter("lineEnding"),F.consume(z),F.exit("lineEnding"),E}function E(z){return F.enter("codeFencedFence"),Mr(z)?_o(F,R,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(z):R(z)}function R(z){return z===a?(F.enter("codeFencedFenceSequence"),W(z)):M(z)}function W(z){return z===a?(T++,F.consume(z),W):T>=s?(F.exit("codeFencedFenceSequence"),Mr(z)?_o(F,A,"whitespace")(z):A(z)):M(z)}function A(z){return z===null||di(z)?(F.exit("codeFencedFence"),D(z)):M(z)}}}function jat(n,e,t){const i=this;return r;function r(s){return s===null?t(s):(n.enter("lineEnding"),n.consume(s),n.exit("lineEnding"),o)}function o(s){return i.parser.lazy[i.now().line]?t(s):e(s)}}const $z={name:"codeIndented",tokenize:$at},Qat={tokenize:qat,partial:!0};function $at(n,e,t){const i=this;return r;function r(u){return n.enter("codeIndented"),_o(n,o,"linePrefix",5)(u)}function o(u){const c=i.events[i.events.length-1];return c&&c[1].type==="linePrefix"&&c[2].sliceSerialize(c[1],!0).length>=4?s(u):t(u)}function s(u){return u===null?l(u):di(u)?n.attempt(Qat,s,l)(u):(n.enter("codeFlowValue"),a(u))}function a(u){return u===null||di(u)?(n.exit("codeFlowValue"),s(u)):(n.consume(u),a)}function l(u){return n.exit("codeIndented"),e(u)}}function qat(n,e,t){const i=this;return r;function r(s){return i.parser.lazy[i.now().line]?t(s):di(s)?(n.enter("lineEnding"),n.consume(s),n.exit("lineEnding"),r):_o(n,o,"linePrefix",5)(s)}function o(s){const a=i.events[i.events.length-1];return a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?e(s):di(s)?r(s):t(s)}}const elt={name:"codeText",tokenize:ilt,resolve:tlt,previous:nlt};function tlt(n){let e=n.length-4,t=3,i,r;if((n[t][1].type==="lineEnding"||n[t][1].type==="space")&&(n[e][1].type==="lineEnding"||n[e][1].type==="space")){for(i=t;++i=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return ethis.left.length?this.right.slice(this.right.length-i+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-i+this.left.length).reverse())}splice(e,t,i){const r=t||0;this.setCursor(Math.trunc(e));const o=this.right.splice(this.right.length-r,Number.POSITIVE_INFINITY);return i&&WF(this.left,i),o.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(e){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(e)}pushMany(e){this.setCursor(Number.POSITIVE_INFINITY),WF(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),WF(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&this.right.length===0||e<0&&this.left.length===0))if(e=4?e(s):n.interrupt(i.parser.constructs.flow,t,e)(s)}}function $ge(n,e,t,i,r,o,s,a,l){const u=l||Number.POSITIVE_INFINITY;let c=0;return d;function d(v){return v===60?(n.enter(i),n.enter(r),n.enter(o),n.consume(v),n.exit(o),h):v===null||v===32||v===41||Kz(v)?t(v):(n.enter(i),n.enter(s),n.enter(a),n.enter("chunkString",{contentType:"string"}),g(v))}function h(v){return v===62?(n.enter(o),n.consume(v),n.exit(o),n.exit(r),n.exit(i),e):(n.enter(a),n.enter("chunkString",{contentType:"string"}),m(v))}function m(v){return v===62?(n.exit("chunkString"),n.exit(a),h(v)):v===null||v===60||di(v)?t(v):(n.consume(v),v===92?f:m)}function f(v){return v===60||v===62||v===92?(n.consume(v),m):m(v)}function g(v){return!c&&(v===null||v===41||Eu(v))?(n.exit("chunkString"),n.exit(a),n.exit(s),n.exit(i),e(v)):c999||m===null||m===91||m===93&&!l||m===94&&!a&&"_hiddenFootnoteSupport"in s.parser.constructs?t(m):m===93?(n.exit(o),n.enter(r),n.consume(m),n.exit(r),n.exit(i),e):di(m)?(n.enter("lineEnding"),n.consume(m),n.exit("lineEnding"),c):(n.enter("chunkString",{contentType:"string"}),d(m))}function d(m){return m===null||m===91||m===93||di(m)||a++>999?(n.exit("chunkString"),c(m)):(n.consume(m),l||(l=!Mr(m)),m===92?h:d)}function h(m){return m===91||m===92||m===93?(n.consume(m),a++,d):d(m)}}function epe(n,e,t,i,r,o){let s;return a;function a(h){return h===34||h===39||h===40?(n.enter(i),n.enter(r),n.consume(h),n.exit(r),s=h===40?41:h,l):t(h)}function l(h){return h===s?(n.enter(r),n.consume(h),n.exit(r),n.exit(i),e):(n.enter(o),u(h))}function u(h){return h===s?(n.exit(o),l(s)):h===null?t(h):di(h)?(n.enter("lineEnding"),n.consume(h),n.exit("lineEnding"),_o(n,u,"linePrefix")):(n.enter("chunkString",{contentType:"string"}),c(h))}function c(h){return h===s||h===null||di(h)?(n.exit("chunkString"),u(h)):(n.consume(h),h===92?d:c)}function d(h){return h===s||h===92?(n.consume(h),c):c(h)}}function RF(n,e){let t;return i;function i(r){return di(r)?(n.enter("lineEnding"),n.consume(r),n.exit("lineEnding"),t=!0,i):Mr(r)?_o(n,i,t?"linePrefix":"lineSuffix")(r):e(r)}}const dlt={name:"definition",tokenize:mlt},hlt={tokenize:flt,partial:!0};function mlt(n,e,t){const i=this;let r;return o;function o(m){return n.enter("definition"),s(m)}function s(m){return qge.call(i,n,a,t,"definitionLabel","definitionLabelMarker","definitionLabelString")(m)}function a(m){return r=rS(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)),m===58?(n.enter("definitionMarker"),n.consume(m),n.exit("definitionMarker"),l):t(m)}function l(m){return Eu(m)?RF(n,u)(m):u(m)}function u(m){return $ge(n,c,t,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(m)}function c(m){return n.attempt(hlt,d,d)(m)}function d(m){return Mr(m)?_o(n,h,"whitespace")(m):h(m)}function h(m){return m===null||di(m)?(n.exit("definition"),i.parser.defined.push(r),e(m)):t(m)}}function flt(n,e,t){return i;function i(a){return Eu(a)?RF(n,r)(a):t(a)}function r(a){return epe(n,o,t,"definitionTitle","definitionTitleMarker","definitionTitleString")(a)}function o(a){return Mr(a)?_o(n,s,"whitespace")(a):s(a)}function s(a){return a===null||di(a)?e(a):t(a)}}const glt={name:"hardBreakEscape",tokenize:plt};function plt(n,e,t){return i;function i(o){return n.enter("hardBreakEscape"),n.consume(o),r}function r(o){return di(o)?(n.exit("hardBreakEscape"),e(o)):t(o)}}const blt={name:"headingAtx",tokenize:ylt,resolve:vlt};function vlt(n,e){let t=n.length-2,i=3,r,o;return n[i][1].type==="whitespace"&&(i+=2),t-2>i&&n[t][1].type==="whitespace"&&(t-=2),n[t][1].type==="atxHeadingSequence"&&(i===t-1||t-4>i&&n[t-2][1].type==="whitespace")&&(t-=i+1===t?2:4),t>i&&(r={type:"atxHeadingText",start:n[i][1].start,end:n[t][1].end},o={type:"chunkText",start:n[i][1].start,end:n[t][1].end,contentType:"text"},Cg(n,i,t-i+1,[["enter",r,e],["enter",o,e],["exit",o,e],["exit",r,e]])),n}function ylt(n,e,t){let i=0;return r;function r(c){return n.enter("atxHeading"),o(c)}function o(c){return n.enter("atxHeadingSequence"),s(c)}function s(c){return c===35&&i++<6?(n.consume(c),s):c===null||Eu(c)?(n.exit("atxHeadingSequence"),a(c)):t(c)}function a(c){return c===35?(n.enter("atxHeadingSequence"),l(c)):c===null||di(c)?(n.exit("atxHeading"),e(c)):Mr(c)?_o(n,a,"whitespace")(c):(n.enter("atxHeadingText"),u(c))}function l(c){return c===35?(n.consume(c),l):(n.exit("atxHeadingSequence"),a(c))}function u(c){return c===null||c===35||Eu(c)?(n.exit("atxHeadingText"),a(c)):(n.consume(c),u)}}const Clt=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],tpe=["pre","script","style","textarea"],wlt={name:"htmlFlow",tokenize:_lt,resolveTo:Llt,concrete:!0},Slt={tokenize:Ilt,partial:!0},xlt={tokenize:Flt,partial:!0};function Llt(n){let e=n.length;for(;e--&&!(n[e][0]==="enter"&&n[e][1].type==="htmlFlow"););return e>1&&n[e-2][1].type==="linePrefix"&&(n[e][1].start=n[e-2][1].start,n[e+1][1].start=n[e-2][1].start,n.splice(e-2,2)),n}function _lt(n,e,t){const i=this;let r,o,s,a,l;return u;function u(V){return c(V)}function c(V){return n.enter("htmlFlow"),n.enter("htmlFlowData"),n.consume(V),d}function d(V){return V===33?(n.consume(V),h):V===47?(n.consume(V),o=!0,g):V===63?(n.consume(V),r=3,i.interrupt?e:k):Em(V)?(n.consume(V),s=String.fromCharCode(V),b):t(V)}function h(V){return V===45?(n.consume(V),r=2,m):V===91?(n.consume(V),r=5,a=0,f):Em(V)?(n.consume(V),r=4,i.interrupt?e:k):t(V)}function m(V){return V===45?(n.consume(V),i.interrupt?e:k):t(V)}function f(V){const te="CDATA[";return V===te.charCodeAt(a++)?(n.consume(V),a===te.length?i.interrupt?e:R:f):t(V)}function g(V){return Em(V)?(n.consume(V),s=String.fromCharCode(V),b):t(V)}function b(V){if(V===null||V===47||V===62||Eu(V)){const te=V===47,oe=s.toLowerCase();return!te&&!o&&tpe.includes(oe)?(r=1,i.interrupt?e(V):R(V)):Clt.includes(s.toLowerCase())?(r=6,te?(n.consume(V),v):i.interrupt?e(V):R(V)):(r=7,i.interrupt&&!i.parser.lazy[i.now().line]?t(V):o?C(V):S(V))}return V===45||_c(V)?(n.consume(V),s+=String.fromCharCode(V),b):t(V)}function v(V){return V===62?(n.consume(V),i.interrupt?e:R):t(V)}function C(V){return Mr(V)?(n.consume(V),C):Z(V)}function S(V){return V===47?(n.consume(V),Z):V===58||V===95||Em(V)?(n.consume(V),x):Mr(V)?(n.consume(V),S):Z(V)}function x(V){return V===45||V===46||V===58||V===95||_c(V)?(n.consume(V),x):_(V)}function _(V){return V===61?(n.consume(V),F):Mr(V)?(n.consume(V),_):S(V)}function F(V){return V===null||V===60||V===61||V===62||V===96?t(V):V===34||V===39?(n.consume(V),l=V,D):Mr(V)?(n.consume(V),F):M(V)}function D(V){return V===l?(n.consume(V),l=null,T):V===null||di(V)?t(V):(n.consume(V),D)}function M(V){return V===null||V===34||V===39||V===47||V===60||V===61||V===62||V===96||Eu(V)?_(V):(n.consume(V),M)}function T(V){return V===47||V===62||Mr(V)?S(V):t(V)}function Z(V){return V===62?(n.consume(V),E):t(V)}function E(V){return V===null||di(V)?R(V):Mr(V)?(n.consume(V),E):t(V)}function R(V){return V===45&&r===2?(n.consume(V),O):V===60&&r===1?(n.consume(V),B):V===62&&r===4?(n.consume(V),X):V===63&&r===3?(n.consume(V),k):V===93&&r===5?(n.consume(V),H):di(V)&&(r===6||r===7)?(n.exit("htmlFlowData"),n.check(Slt,Y,W)(V)):V===null||di(V)?(n.exit("htmlFlowData"),W(V)):(n.consume(V),R)}function W(V){return n.check(xlt,A,Y)(V)}function A(V){return n.enter("lineEnding"),n.consume(V),n.exit("lineEnding"),z}function z(V){return V===null||di(V)?W(V):(n.enter("htmlFlowData"),R(V))}function O(V){return V===45?(n.consume(V),k):R(V)}function B(V){return V===47?(n.consume(V),s="",P):R(V)}function P(V){if(V===62){const te=s.toLowerCase();return tpe.includes(te)?(n.consume(V),X):R(V)}return Em(V)&&s.length<8?(n.consume(V),s+=String.fromCharCode(V),P):R(V)}function H(V){return V===93?(n.consume(V),k):R(V)}function k(V){return V===62?(n.consume(V),X):V===45&&r===2?(n.consume(V),k):R(V)}function X(V){return V===null||di(V)?(n.exit("htmlFlowData"),Y(V)):(n.consume(V),X)}function Y(V){return n.exit("htmlFlow"),e(V)}}function Flt(n,e,t){const i=this;return r;function r(s){return di(s)?(n.enter("lineEnding"),n.consume(s),n.exit("lineEnding"),o):t(s)}function o(s){return i.parser.lazy[i.now().line]?t(s):e(s)}}function Ilt(n,e,t){return i;function i(r){return n.enter("lineEnding"),n.consume(r),n.exit("lineEnding"),n.attempt(cZ,e,t)}}const Dlt={name:"htmlText",tokenize:Mlt};function Mlt(n,e,t){const i=this;let r,o,s;return a;function a(k){return n.enter("htmlText"),n.enter("htmlTextData"),n.consume(k),l}function l(k){return k===33?(n.consume(k),u):k===47?(n.consume(k),_):k===63?(n.consume(k),S):Em(k)?(n.consume(k),M):t(k)}function u(k){return k===45?(n.consume(k),c):k===91?(n.consume(k),o=0,f):Em(k)?(n.consume(k),C):t(k)}function c(k){return k===45?(n.consume(k),m):t(k)}function d(k){return k===null?t(k):k===45?(n.consume(k),h):di(k)?(s=d,B(k)):(n.consume(k),d)}function h(k){return k===45?(n.consume(k),m):d(k)}function m(k){return k===62?O(k):k===45?h(k):d(k)}function f(k){const X="CDATA[";return k===X.charCodeAt(o++)?(n.consume(k),o===X.length?g:f):t(k)}function g(k){return k===null?t(k):k===93?(n.consume(k),b):di(k)?(s=g,B(k)):(n.consume(k),g)}function b(k){return k===93?(n.consume(k),v):g(k)}function v(k){return k===62?O(k):k===93?(n.consume(k),v):g(k)}function C(k){return k===null||k===62?O(k):di(k)?(s=C,B(k)):(n.consume(k),C)}function S(k){return k===null?t(k):k===63?(n.consume(k),x):di(k)?(s=S,B(k)):(n.consume(k),S)}function x(k){return k===62?O(k):S(k)}function _(k){return Em(k)?(n.consume(k),F):t(k)}function F(k){return k===45||_c(k)?(n.consume(k),F):D(k)}function D(k){return di(k)?(s=D,B(k)):Mr(k)?(n.consume(k),D):O(k)}function M(k){return k===45||_c(k)?(n.consume(k),M):k===47||k===62||Eu(k)?T(k):t(k)}function T(k){return k===47?(n.consume(k),O):k===58||k===95||Em(k)?(n.consume(k),Z):di(k)?(s=T,B(k)):Mr(k)?(n.consume(k),T):O(k)}function Z(k){return k===45||k===46||k===58||k===95||_c(k)?(n.consume(k),Z):E(k)}function E(k){return k===61?(n.consume(k),R):di(k)?(s=E,B(k)):Mr(k)?(n.consume(k),E):T(k)}function R(k){return k===null||k===60||k===61||k===62||k===96?t(k):k===34||k===39?(n.consume(k),r=k,W):di(k)?(s=R,B(k)):Mr(k)?(n.consume(k),R):(n.consume(k),A)}function W(k){return k===r?(n.consume(k),r=void 0,z):k===null?t(k):di(k)?(s=W,B(k)):(n.consume(k),W)}function A(k){return k===null||k===34||k===39||k===60||k===61||k===96?t(k):k===47||k===62||Eu(k)?T(k):(n.consume(k),A)}function z(k){return k===47||k===62||Eu(k)?T(k):t(k)}function O(k){return k===62?(n.consume(k),n.exit("htmlTextData"),n.exit("htmlText"),e):t(k)}function B(k){return n.exit("htmlTextData"),n.enter("lineEnding"),n.consume(k),n.exit("lineEnding"),P}function P(k){return Mr(k)?_o(n,H,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(k):H(k)}function H(k){return n.enter("htmlTextData"),s(k)}}const qz={name:"labelEnd",tokenize:Wlt,resolveTo:Zlt,resolveAll:Elt},klt={tokenize:Rlt},Nlt={tokenize:Vlt},Tlt={tokenize:Alt};function Elt(n){let e=-1;for(;++e=3&&(u===null||di(u))?(n.exit("thematicBreak"),e(u)):t(u)}function l(u){return u===r?(n.consume(u),i++,l):(n.exit("thematicBreakSequence"),Mr(u)?_o(n,a,"whitespace")(u):a(u))}}const Zu={name:"list",tokenize:Ult,continuation:{tokenize:Klt},exit:jlt},Hlt={tokenize:Qlt,partial:!0},Ylt={tokenize:Jlt,partial:!0};function Ult(n,e,t){const i=this,r=i.events[i.events.length-1];let o=r&&r[1].type==="linePrefix"?r[2].sliceSerialize(r[1],!0).length:0,s=0;return a;function a(m){const f=i.containerState.type||(m===42||m===43||m===45?"listUnordered":"listOrdered");if(f==="listUnordered"?!i.containerState.marker||m===i.containerState.marker:Jz(m)){if(i.containerState.type||(i.containerState.type=f,n.enter(f,{_container:!0})),f==="listUnordered")return n.enter("listItemPrefix"),m===42||m===45?n.check(dZ,t,u)(m):u(m);if(!i.interrupt||m===49)return n.enter("listItemPrefix"),n.enter("listItemValue"),l(m)}return t(m)}function l(m){return Jz(m)&&++s<10?(n.consume(m),l):(!i.interrupt||s<2)&&(i.containerState.marker?m===i.containerState.marker:m===41||m===46)?(n.exit("listItemValue"),u(m)):t(m)}function u(m){return n.enter("listItemMarker"),n.consume(m),n.exit("listItemMarker"),i.containerState.marker=i.containerState.marker||m,n.check(cZ,i.interrupt?t:c,n.attempt(Hlt,h,d))}function c(m){return i.containerState.initialBlankLine=!0,o++,h(m)}function d(m){return Mr(m)?(n.enter("listItemPrefixWhitespace"),n.consume(m),n.exit("listItemPrefixWhitespace"),h):t(m)}function h(m){return i.containerState.size=o+i.sliceSerialize(n.exit("listItemPrefix"),!0).length,e(m)}}function Klt(n,e,t){const i=this;return i.containerState._closeFlow=void 0,n.check(cZ,r,o);function r(a){return i.containerState.furtherBlankLines=i.containerState.furtherBlankLines||i.containerState.initialBlankLine,_o(n,e,"listItemIndent",i.containerState.size+1)(a)}function o(a){return i.containerState.furtherBlankLines||!Mr(a)?(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,s(a)):(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,n.attempt(Ylt,e,s)(a))}function s(a){return i.containerState._closeFlow=!0,i.interrupt=void 0,_o(n,n.attempt(Zu,e,t),"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a)}}function Jlt(n,e,t){const i=this;return _o(n,r,"listItemIndent",i.containerState.size+1);function r(o){const s=i.events[i.events.length-1];return s&&s[1].type==="listItemIndent"&&s[2].sliceSerialize(s[1],!0).length===i.containerState.size?e(o):t(o)}}function jlt(n){n.exit(this.containerState.type)}function Qlt(n,e,t){const i=this;return _o(n,r,"listItemPrefixWhitespace",i.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function r(o){const s=i.events[i.events.length-1];return!Mr(o)&&s&&s[1].type==="listItemPrefixWhitespace"?e(o):t(o)}}const npe={name:"setextUnderline",tokenize:qlt,resolveTo:$lt};function $lt(n,e){let t=n.length,i,r,o;for(;t--;)if(n[t][0]==="enter"){if(n[t][1].type==="content"){i=t;break}n[t][1].type==="paragraph"&&(r=t)}else n[t][1].type==="content"&&n.splice(t,1),!o&&n[t][1].type==="definition"&&(o=t);const s={type:"setextHeading",start:Object.assign({},n[r][1].start),end:Object.assign({},n[n.length-1][1].end)};return n[r][1].type="setextHeadingText",o?(n.splice(r,0,["enter",s,e]),n.splice(o+1,0,["exit",n[i][1],e]),n[i][1].end=Object.assign({},n[o][1].end)):n[i][1]=s,n.push(["exit",s,e]),n}function qlt(n,e,t){const i=this;let r;return o;function o(u){let c=i.events.length,d;for(;c--;)if(i.events[c][1].type!=="lineEnding"&&i.events[c][1].type!=="linePrefix"&&i.events[c][1].type!=="content"){d=i.events[c][1].type==="paragraph";break}return!i.parser.lazy[i.now().line]&&(i.interrupt||d)?(n.enter("setextHeadingLine"),r=u,s(u)):t(u)}function s(u){return n.enter("setextHeadingLineSequence"),a(u)}function a(u){return u===r?(n.consume(u),a):(n.exit("setextHeadingLineSequence"),Mr(u)?_o(n,l,"lineSuffix")(u):l(u))}function l(u){return u===null||di(u)?(n.exit("setextHeadingLine"),e(u)):t(u)}}const eut={tokenize:tut};function tut(n){const e=this,t=n.attempt(cZ,i,n.attempt(this.parser.constructs.flowInitial,r,_o(n,n.attempt(this.parser.constructs.flow,r,n.attempt(slt,r)),"linePrefix")));return t;function i(o){if(o===null){n.consume(o);return}return n.enter("lineEndingBlank"),n.consume(o),n.exit("lineEndingBlank"),e.currentConstruct=void 0,t}function r(o){if(o===null){n.consume(o);return}return n.enter("lineEnding"),n.consume(o),n.exit("lineEnding"),e.currentConstruct=void 0,t}}const nut={resolveAll:rpe()},iut=ipe("string"),rut=ipe("text");function ipe(n){return{tokenize:e,resolveAll:rpe(n==="text"?out:void 0)};function e(t){const i=this,r=this.parser.constructs[n],o=t.attempt(r,s,a);return s;function s(c){return u(c)?o(c):a(c)}function a(c){if(c===null){t.consume(c);return}return t.enter("data"),t.consume(c),l}function l(c){return u(c)?(t.exit("data"),o(c)):(t.consume(c),l)}function u(c){if(c===null)return!0;const d=r[c];let h=-1;if(d)for(;++h-1){const a=s[0];typeof a=="string"?s[0]=a.slice(i):s.shift()}o>0&&s.push(n[r].slice(0,o))}return s}function lut(n,e){let t=-1;const i=[];let r;for(;++t"u")throw new Error(e)}function Ty(n,e){if(!n)try{throw new Error(e)}catch{}}function xit(){return Math.random().toString(36).substr(2,8)}function Qme(n,e){return{usr:n.state,key:n.key,idx:e}}function KS(n,e,t,i){return t===void 0&&(t=null),ns({pathname:typeof n=="string"?n:n.pathname,search:"",hash:""},typeof e=="string"?km(e):e,{state:t,key:e&&e.key||i||xit()})}function JS(n){let{pathname:e="/",search:t="",hash:i=""}=n;return t&&t!=="?"&&(e+=t.charAt(0)==="?"?t:"?"+t),i&&i!=="#"&&(e+=i.charAt(0)==="#"?i:"#"+i),e}function km(n){let e={};if(n){let t=n.indexOf("#");t>=0&&(e.hash=n.substr(t),n=n.substr(0,t));let i=n.indexOf("?");i>=0&&(e.search=n.substr(i),n=n.substr(0,i)),n&&(e.pathname=n)}return e}function $me(n,e,t,i){i===void 0&&(i={});let{window:r=document.defaultView,v5Compat:o=!1}=i,s=r.history,a=Ds.Pop,l=null,u=c();u==null&&(u=0,s.replaceState(ns({},s.state,{idx:u}),""));function c(){return(s.state||{idx:null}).idx}function d(){a=Ds.Pop;let b=c(),y=b==null?null:b-u;u=b,l&&l({action:a,location:g.location,delta:y})}function h(b,y){a=Ds.Push;let C=KS(g.location,b,y);t&&t(C,b),u=c()+1;let w=Qme(C,u),x=g.createHref(C);try{s.pushState(w,"",x)}catch(L){if(L instanceof DOMException&&L.name==="DataCloneError")throw L;r.location.assign(x)}o&&l&&l({action:a,location:g.location,delta:1})}function m(b,y){a=Ds.Replace;let C=KS(g.location,b,y);t&&t(C,b),u=c();let w=Qme(C,u),x=g.createHref(C);s.replaceState(w,"",x),o&&l&&l({action:a,location:g.location,delta:0})}function f(b){let y=r.location.origin!=="null"?r.location.origin:r.location.href,C=typeof b=="string"?b:JS(b);return C=C.replace(/ $/,"%20"),Pi(y,"No window.location.(origin|href) available to create URL for href: "+C),new URL(C,y)}let g={get action(){return a},get location(){return n(r,s)},listen(b){if(l)throw new Error("A history only accepts one active listener");return r.addEventListener(jme,d),l=b,()=>{r.removeEventListener(jme,d),l=null}},createHref(b){return e(r,b)},createURL:f,encodeLocation(b){let y=f(b);return{pathname:y.pathname,search:y.search,hash:y.hash}},push:h,replace:m,go(b){return s.go(b)}};return g}var Uo;(function(n){n.data="data",n.deferred="deferred",n.redirect="redirect",n.error="error"})(Uo||(Uo={}));const _it=new Set(["lazy","caseSensitive","path","id","index","children"]);function Lit(n){return n.index===!0}function fz(n,e,t,i){return t===void 0&&(t=[]),i===void 0&&(i={}),n.map((r,o)=>{let s=[...t,o],a=typeof r.id=="string"?r.id:s.join("-");if(Pi(r.index!==!0||!r.children,"Cannot specify children on an index route"),Pi(!i[a],'Found a route id collision on id "'+a+`". Route id's must be globally unique within Data Router usages`),Lit(r)){let l=ns({},r,e(r),{id:a});return i[a]=l,l}else{let l=ns({},r,e(r),{id:a,children:void 0});return i[a]=l,r.children&&(l.children=fz(r.children,e,s,i)),l}})}function jS(n,e,t){t===void 0&&(t="/");let i=typeof e=="string"?km(e):e,r=yI(i.pathname||"/",t);if(r==null)return null;let o=qme(n);Fit(o);let s=null;for(let a=0;s==null&&a{let l={relativePath:a===void 0?o.path||"":a,caseSensitive:o.caseSensitive===!0,childrenIndex:s,route:o};l.relativePath.startsWith("/")&&(Pi(l.relativePath.startsWith(i),'Absolute route path "'+l.relativePath+'" nested under path '+('"'+i+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),l.relativePath=l.relativePath.slice(i.length));let u=Nb([i,l.relativePath]),c=t.concat(l);o.children&&o.children.length>0&&(Pi(o.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+u+'".')),qme(o.children,e,c,u)),!(o.path==null&&!o.index)&&e.push({path:u,score:Rit(u,o.index),routesMeta:c})};return n.forEach((o,s)=>{var a;if(o.path===""||!((a=o.path)!=null&&a.includes("?")))r(o,s);else for(let l of efe(o.path))r(o,s,l)}),e}function efe(n){let e=n.split("/");if(e.length===0)return[];let[t,...i]=e,r=t.endsWith("?"),o=t.replace(/\?$/,"");if(i.length===0)return r?[o,""]:[o];let s=efe(i.join("/")),a=[];return a.push(...s.map(l=>l===""?o:[o,l].join("/"))),r&&a.push(...s),a.map(l=>n.startsWith("/")&&l===""?"/":l)}function Fit(n){n.sort((e,t)=>e.score!==t.score?t.score-e.score:Zit(e.routesMeta.map(i=>i.childrenIndex),t.routesMeta.map(i=>i.childrenIndex)))}const Dit=/^:[\w-]+$/,Nit=3,Mit=2,kit=1,Tit=10,Eit=-2,tfe=n=>n==="*";function Rit(n,e){let t=n.split("/"),i=t.length;return t.some(tfe)&&(i+=Eit),e&&(i+=Mit),t.filter(r=>!tfe(r)).reduce((r,o)=>r+(Dit.test(o)?Nit:o===""?kit:Tit),i)}function Zit(n,e){return n.length===e.length&&n.slice(0,-1).every((i,r)=>i===e[r])?n[n.length-1]-e[e.length-1]:0}function Wit(n,e){let{routesMeta:t}=n,i={},r="/",o=[];for(let s=0;s{let{paramName:h,isOptional:m}=c;if(h==="*"){let g=a[d]||"";s=o.slice(0,o.length-g.length).replace(/(.)\/+$/,"$1")}const f=a[d];return m&&!f?u[h]=void 0:u[h]=(f||"").replace(/%2F/g,"/"),u},{}),pathname:o,pathnameBase:s,pattern:n}}function Vit(n,e,t){e===void 0&&(e=!1),t===void 0&&(t=!0),Ty(n==="*"||!n.endsWith("*")||n.endsWith("/*"),'Route path "'+n+'" will be treated as if it were '+('"'+n.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+n.replace(/\*$/,"/*")+'".'));let i=[],r="^"+n.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(s,a,l)=>(i.push({paramName:a,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)"));return n.endsWith("*")?(i.push({paramName:"*"}),r+=n==="*"||n==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):t?r+="\\/*$":n!==""&&n!=="/"&&(r+="(?:(?=\\/|$))"),[new RegExp(r,e?void 0:"i"),i]}function Git(n){try{return n.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(e){return Ty(!1,'The URL path "'+n+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+e+").")),n}}function yI(n,e){if(e==="/")return n;if(!n.toLowerCase().startsWith(e.toLowerCase()))return null;let t=e.endsWith("/")?e.length-1:e.length,i=n.charAt(t);return i&&i!=="/"?null:n.slice(t)||"/"}function Xit(n,e){e===void 0&&(e="/");let{pathname:t,search:i="",hash:r=""}=typeof n=="string"?km(n):n;return{pathname:t?t.startsWith("/")?t:Pit(t,e):e,search:Bit(i),hash:zit(r)}}function Pit(n,e){let t=e.replace(/\/+$/,"").split("/");return n.split("/").forEach(r=>{r===".."?t.length>1&&t.pop():r!=="."&&t.push(r)}),t.length>1?t.join("/"):"/"}function gz(n,e,t,i){return"Cannot include a '"+n+"' character in a manually specified "+("`to."+e+"` field ["+JSON.stringify(i)+"]. Please separate it out to the ")+("`to."+t+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function nfe(n){return n.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function pz(n,e){let t=nfe(n);return e?t.map((i,r)=>r===n.length-1?i.pathname:i.pathnameBase):t.map(i=>i.pathnameBase)}function bz(n,e,t,i){i===void 0&&(i=!1);let r;typeof n=="string"?r=km(n):(r=ns({},n),Pi(!r.pathname||!r.pathname.includes("?"),gz("?","pathname","search",r)),Pi(!r.pathname||!r.pathname.includes("#"),gz("#","pathname","hash",r)),Pi(!r.search||!r.search.includes("#"),gz("#","search","hash",r)));let o=n===""||r.pathname==="",s=o?"/":r.pathname,a;if(s==null)a=t;else{let d=e.length-1;if(!i&&s.startsWith("..")){let h=s.split("/");for(;h[0]==="..";)h.shift(),d-=1;r.pathname=h.join("/")}a=d>=0?e[d]:"/"}let l=Xit(r,a),u=s&&s!=="/"&&s.endsWith("/"),c=(o||s===".")&&t.endsWith("/");return!l.pathname.endsWith("/")&&(u||c)&&(l.pathname+="/"),l}const Nb=n=>n.join("/").replace(/\/\/+/g,"/"),Oit=n=>n.replace(/\/+$/,"").replace(/^\/*/,"/"),Bit=n=>!n||n==="?"?"":n.startsWith("?")?n:"?"+n,zit=n=>!n||n==="#"?"":n.startsWith("#")?n:"#"+n;class yz{constructor(e,t,i,r){r===void 0&&(r=!1),this.status=e,this.statusText=t||"",this.internal=r,i instanceof Error?(this.data=i.toString(),this.error=i):this.data=i}}function vz(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.internal=="boolean"&&"data"in n}const ife=["post","put","patch","delete"],Hit=new Set(ife),Yit=["get",...ife],Uit=new Set(Yit),Kit=new Set([301,302,303,307,308]),Jit=new Set([307,308]),Cz={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},jit={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},vI={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},Sz=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Qit=n=>({hasErrorBoundary:!!n.hasErrorBoundary}),rfe="remix-router-transitions";function ofe(n){const e=n.window?n.window:typeof window<"u"?window:void 0,t=typeof e<"u"&&typeof e.document<"u"&&typeof e.document.createElement<"u",i=!t;Pi(n.routes.length>0,"You must provide a non-empty routes array to createRouter");let r;if(n.mapRouteProperties)r=n.mapRouteProperties;else if(n.detectErrorBoundary){let fe=n.detectErrorBoundary;r=Le=>({hasErrorBoundary:fe(Le)})}else r=Qit;let o={},s=fz(n.routes,r,void 0,o),a,l=n.basename||"/",u=n.unstable_dataStrategy||trt,c=ns({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1,unstable_skipActionErrorRevalidation:!1},n.future),d=null,h=new Set,m=null,f=null,g=null,b=n.hydrationData!=null,y=jS(s,n.history.location,l),C=null;if(y==null){let fe=vd(404,{pathname:n.history.location.pathname}),{matches:Le,route:Ze}=pfe(s);y=Le,C={[Ze.id]:fe}}let w,x=y.some(fe=>fe.route.lazy),L=y.some(fe=>fe.route.loader);if(x)w=!1;else if(!L)w=!0;else if(c.v7_partialHydration){let fe=n.hydrationData?n.hydrationData.loaderData:null,Le=n.hydrationData?n.hydrationData.errors:null,Ze=Xe=>Xe.route.loader?typeof Xe.route.loader=="function"&&Xe.route.loader.hydrate===!0?!1:fe&&fe[Xe.route.id]!==void 0||Le&&Le[Xe.route.id]!==void 0:!0;if(Le){let Xe=y.findIndex(ft=>Le[ft.route.id]!==void 0);w=y.slice(0,Xe+1).every(Ze)}else w=y.every(Ze)}else w=n.hydrationData!=null;let I,D={historyAction:n.history.action,location:n.history.location,matches:y,initialized:w,navigation:Cz,restoreScrollPosition:n.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:n.hydrationData&&n.hydrationData.loaderData||{},actionData:n.hydrationData&&n.hydrationData.actionData||null,errors:n.hydrationData&&n.hydrationData.errors||C,fetchers:new Map,blockers:new Map},N=Ds.Pop,T=!1,R,E=!1,W=new Map,Z=null,V=!1,z=!1,O=[],B=[],P=new Map,H=0,M=-1,X=new Map,Y=new Set,A=new Map,te=new Map,oe=new Set,ae=new Map,le=new Map,ue=!1;function Ce(){if(d=n.history.listen(fe=>{let{action:Le,location:Ze,delta:Xe}=fe;if(ue){ue=!1;return}Ty(le.size===0||Xe!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let ft=Kt({currentLocation:D.location,nextLocation:Ze,historyAction:Le});if(ft&&Xe!=null){ue=!0,n.history.go(Xe*-1),wt(ft,{state:"blocked",location:Ze,proceed(){wt(ft,{state:"proceeding",proceed:void 0,reset:void 0,location:Ze}),n.history.go(Xe)},reset(){let kt=new Map(D.blockers);kt.set(ft,vI),De({blockers:kt})}});return}return He(Le,Ze)}),t){mrt(e,W);let fe=()=>frt(e,W);e.addEventListener("pagehide",fe),Z=()=>e.removeEventListener("pagehide",fe)}return D.initialized||He(Ds.Pop,D.location,{initialHydration:!0}),I}function pe(){d&&d(),Z&&Z(),h.clear(),R&&R.abort(),D.fetchers.forEach((fe,Le)=>Ne(Le)),D.blockers.forEach((fe,Le)=>mt(Le))}function ce(fe){return h.add(fe),()=>h.delete(fe)}function De(fe,Le){Le===void 0&&(Le={}),D=ns({},D,fe);let Ze=[],Xe=[];c.v7_fetcherPersist&&D.fetchers.forEach((ft,kt)=>{ft.state==="idle"&&(oe.has(kt)?Xe.push(kt):Ze.push(kt))}),[...h].forEach(ft=>ft(D,{deletedFetchers:Xe,unstable_viewTransitionOpts:Le.viewTransitionOpts,unstable_flushSync:Le.flushSync===!0})),c.v7_fetcherPersist&&(Ze.forEach(ft=>D.fetchers.delete(ft)),Xe.forEach(ft=>Ne(ft)))}function Me(fe,Le,Ze){var Xe,ft;let{flushSync:kt}=Ze===void 0?{}:Ze,et=D.actionData!=null&&D.navigation.formMethod!=null&&Ch(D.navigation.formMethod)&&D.navigation.state==="loading"&&((Xe=fe.state)==null?void 0:Xe._isRedirect)!==!0,rt;Le.actionData?Object.keys(Le.actionData).length>0?rt=Le.actionData:rt=null:et?rt=D.actionData:rt=null;let vt=Le.loaderData?ffe(D.loaderData,Le.loaderData,Le.matches||[],Le.errors):D.loaderData,It=D.blockers;It.size>0&&(It=new Map(It),It.forEach((qt,Nn)=>It.set(Nn,vI)));let tn=T===!0||D.navigation.formMethod!=null&&Ch(D.navigation.formMethod)&&((ft=fe.state)==null?void 0:ft._isRedirect)!==!0;a&&(s=a,a=void 0),V||N===Ds.Pop||(N===Ds.Push?n.history.push(fe,fe.state):N===Ds.Replace&&n.history.replace(fe,fe.state));let Jt;if(N===Ds.Pop){let qt=W.get(D.location.pathname);qt&&qt.has(fe.pathname)?Jt={currentLocation:D.location,nextLocation:fe}:W.has(fe.pathname)&&(Jt={currentLocation:fe,nextLocation:D.location})}else if(E){let qt=W.get(D.location.pathname);qt?qt.add(fe.pathname):(qt=new Set([fe.pathname]),W.set(D.location.pathname,qt)),Jt={currentLocation:D.location,nextLocation:fe}}De(ns({},Le,{actionData:rt,loaderData:vt,historyAction:N,location:fe,initialized:!0,navigation:Cz,revalidation:"idle",restoreScrollPosition:Et(fe,Le.matches||D.matches),preventScrollReset:tn,blockers:It}),{viewTransitionOpts:Jt,flushSync:kt===!0}),N=Ds.Pop,T=!1,E=!1,V=!1,z=!1,O=[],B=[]}async function ke(fe,Le){if(typeof fe=="number"){n.history.go(fe);return}let Ze=wz(D.location,D.matches,l,c.v7_prependBasename,fe,c.v7_relativeSplatPath,Le==null?void 0:Le.fromRouteId,Le==null?void 0:Le.relative),{path:Xe,submission:ft,error:kt}=sfe(c.v7_normalizeFormMethod,!1,Ze,Le),et=D.location,rt=KS(D.location,Xe,Le&&Le.state);rt=ns({},rt,n.history.encodeLocation(rt));let vt=Le&&Le.replace!=null?Le.replace:void 0,It=Ds.Push;vt===!0?It=Ds.Replace:vt===!1||ft!=null&&Ch(ft.formMethod)&&ft.formAction===D.location.pathname+D.location.search&&(It=Ds.Replace);let tn=Le&&"preventScrollReset"in Le?Le.preventScrollReset===!0:void 0,Jt=(Le&&Le.unstable_flushSync)===!0,qt=Kt({currentLocation:et,nextLocation:rt,historyAction:It});if(qt){wt(qt,{state:"blocked",location:rt,proceed(){wt(qt,{state:"proceeding",proceed:void 0,reset:void 0,location:rt}),ke(fe,Le)},reset(){let Nn=new Map(D.blockers);Nn.set(qt,vI),De({blockers:Nn})}});return}return await He(It,rt,{submission:ft,pendingError:kt,preventScrollReset:tn,replace:Le&&Le.replace,enableViewTransition:Le&&Le.unstable_viewTransition,flushSync:Jt})}function Ue(){if(q(),De({revalidation:"loading"}),D.navigation.state!=="submitting"){if(D.navigation.state==="idle"){He(D.historyAction,D.location,{startUninterruptedRevalidation:!0});return}He(N||D.historyAction,D.navigation.location,{overrideNavigation:D.navigation})}}async function He(fe,Le,Ze){R&&R.abort(),R=null,N=fe,V=(Ze&&Ze.startUninterruptedRevalidation)===!0,li(D.location,D.matches),T=(Ze&&Ze.preventScrollReset)===!0,E=(Ze&&Ze.enableViewTransition)===!0;let Xe=a||s,ft=Ze&&Ze.overrideNavigation,kt=jS(Xe,Le,l),et=(Ze&&Ze.flushSync)===!0;if(!kt){let qt=vd(404,{pathname:Le.pathname}),{matches:Nn,route:mn}=pfe(Xe);Wt(),Me(Le,{matches:Nn,loaderData:{},errors:{[mn.id]:qt}},{flushSync:et});return}if(D.initialized&&!z&&art(D.location,Le)&&!(Ze&&Ze.submission&&Ch(Ze.submission.formMethod))){Me(Le,{matches:kt},{flushSync:et});return}R=new AbortController;let rt=QS(n.history,Le,R.signal,Ze&&Ze.submission),vt;if(Ze&&Ze.pendingError)vt=[CI(kt).route.id,{type:Uo.error,error:Ze.pendingError}];else if(Ze&&Ze.submission&&Ch(Ze.submission.formMethod)){let qt=await ct(rt,Le,Ze.submission,kt,{replace:Ze.replace,flushSync:et});if(qt.shortCircuited)return;vt=qt.pendingActionResult,ft=Iz(Le,Ze.submission),et=!1,rt=QS(n.history,rt.url,rt.signal)}let{shortCircuited:It,loaderData:tn,errors:Jt}=await yt(rt,Le,kt,ft,Ze&&Ze.submission,Ze&&Ze.fetcherSubmission,Ze&&Ze.replace,Ze&&Ze.initialHydration===!0,et,vt);It||(R=null,Me(Le,ns({matches:kt},gfe(vt),{loaderData:tn,errors:Jt})))}async function ct(fe,Le,Ze,Xe,ft){ft===void 0&&(ft={}),q();let kt=drt(Le,Ze);De({navigation:kt},{flushSync:ft.flushSync===!0});let et,rt=Lz(Xe,Le);if(!rt.route.action&&!rt.route.lazy)et={type:Uo.error,error:vd(405,{method:fe.method,pathname:Le.pathname,routeId:rt.route.id})};else if(et=(await j("action",fe,[rt],Xe))[0],fe.signal.aborted)return{shortCircuited:!0};if(Ry(et)){let vt;return ft&&ft.replace!=null?vt=ft.replace:vt=dfe(et.response.headers.get("Location"),new URL(fe.url),l)===D.location.pathname+D.location.search,await me(fe,et,{submission:Ze,replace:vt}),{shortCircuited:!0}}if(Ey(et))throw vd(400,{type:"defer-action"});if(Cd(et)){let vt=CI(Xe,rt.route.id);return(ft&&ft.replace)!==!0&&(N=Ds.Push),{pendingActionResult:[vt.route.id,et]}}return{pendingActionResult:[rt.route.id,et]}}async function yt(fe,Le,Ze,Xe,ft,kt,et,rt,vt,It){let tn=Xe||Iz(Le,ft),Jt=ft||kt||wfe(tn),qt=a||s,[Nn,mn]=afe(n.history,D,Ze,Jt,Le,c.v7_partialHydration&&rt===!0,c.unstable_skipActionErrorRevalidation,z,O,B,oe,A,Y,qt,l,It);if(Wt(rn=>!(Ze&&Ze.some(fi=>fi.route.id===rn))||Nn&&Nn.some(fi=>fi.route.id===rn)),M=++H,Nn.length===0&&mn.length===0){let rn=ht();return Me(Le,ns({matches:Ze,loaderData:{},errors:It&&Cd(It[1])?{[It[0]]:It[1].error}:null},gfe(It),rn?{fetchers:new Map(D.fetchers)}:{}),{flushSync:vt}),{shortCircuited:!0}}if(!V&&(!c.v7_partialHydration||!rt)){mn.forEach(fi=>{let Ln=D.fetchers.get(fi.key),gi=SI(void 0,Ln?Ln.data:void 0);D.fetchers.set(fi.key,gi)});let rn;It&&!Cd(It[1])?rn={[It[0]]:It[1].data}:D.actionData&&(Object.keys(D.actionData).length===0?rn=null:rn=D.actionData),De(ns({navigation:tn},rn!==void 0?{actionData:rn}:{},mn.length>0?{fetchers:new Map(D.fetchers)}:{}),{flushSync:vt})}mn.forEach(rn=>{P.has(rn.key)&&$e(rn.key),rn.controller&&P.set(rn.key,rn.controller)});let Ot=()=>mn.forEach(rn=>$e(rn.key));R&&R.signal.addEventListener("abort",Ot);let{loaderResults:gn,fetcherResults:Tt}=await $(D.matches,Ze,Nn,mn,fe);if(fe.signal.aborted)return{shortCircuited:!0};R&&R.signal.removeEventListener("abort",Ot),mn.forEach(rn=>P.delete(rn.key));let Se=bfe([...gn,...Tt]);if(Se){if(Se.idx>=Nn.length){let rn=mn[Se.idx-Nn.length].key;Y.add(rn)}return await me(fe,Se.result,{replace:et}),{shortCircuited:!0}}let{loaderData:Ke,errors:dt}=mfe(D,Ze,Nn,gn,It,mn,Tt,ae);ae.forEach((rn,fi)=>{rn.subscribe(Ln=>{(Ln||rn.done)&&ae.delete(fi)})}),c.v7_partialHydration&&rt&&D.errors&&Object.entries(D.errors).filter(rn=>{let[fi]=rn;return!Nn.some(Ln=>Ln.route.id===fi)}).forEach(rn=>{let[fi,Ln]=rn;dt=Object.assign(dt||{},{[fi]:Ln})});let nn=ht(),jn=Ye(M),Zn=nn||jn||mn.length>0;return ns({loaderData:Ke,errors:dt},Zn?{fetchers:new Map(D.fetchers)}:{})}function it(fe,Le,Ze,Xe){if(i)throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");P.has(fe)&&$e(fe);let ft=(Xe&&Xe.unstable_flushSync)===!0,kt=a||s,et=wz(D.location,D.matches,l,c.v7_prependBasename,Ze,c.v7_relativeSplatPath,Le,Xe==null?void 0:Xe.relative),rt=jS(kt,et,l);if(!rt){ye(fe,Le,vd(404,{pathname:et}),{flushSync:ft});return}let{path:vt,submission:It,error:tn}=sfe(c.v7_normalizeFormMethod,!0,et,Xe);if(tn){ye(fe,Le,tn,{flushSync:ft});return}let Jt=Lz(rt,vt);if(T=(Xe&&Xe.preventScrollReset)===!0,It&&Ch(It.formMethod)){he(fe,Le,vt,Jt,rt,ft,It);return}A.set(fe,{routeId:Le,path:vt}),de(fe,Le,vt,Jt,rt,ft,It)}async function he(fe,Le,Ze,Xe,ft,kt,et){if(q(),A.delete(fe),!Xe.route.action&&!Xe.route.lazy){let gi=vd(405,{method:et.formMethod,pathname:Ze,routeId:Le});ye(fe,Le,gi,{flushSync:kt});return}let rt=D.fetchers.get(fe);ee(fe,hrt(et,rt),{flushSync:kt});let vt=new AbortController,It=QS(n.history,Ze,vt.signal,et);P.set(fe,vt);let tn=H,qt=(await j("action",It,[Xe],ft))[0];if(It.signal.aborted){P.get(fe)===vt&&P.delete(fe);return}if(c.v7_fetcherPersist&&oe.has(fe)){if(Ry(qt)||Cd(qt)){ee(fe,Mb(void 0));return}}else{if(Ry(qt))if(P.delete(fe),M>tn){ee(fe,Mb(void 0));return}else return Y.add(fe),ee(fe,SI(et)),me(It,qt,{fetcherSubmission:et});if(Cd(qt)){ye(fe,Le,qt.error);return}}if(Ey(qt))throw vd(400,{type:"defer-action"});let Nn=D.navigation.location||D.location,mn=QS(n.history,Nn,vt.signal),Ot=a||s,gn=D.navigation.state!=="idle"?jS(Ot,D.navigation.location,l):D.matches;Pi(gn,"Didn't find any matches after fetcher action");let Tt=++H;X.set(fe,Tt);let Se=SI(et,qt.data);D.fetchers.set(fe,Se);let[Ke,dt]=afe(n.history,D,gn,et,Nn,!1,c.unstable_skipActionErrorRevalidation,z,O,B,oe,A,Y,Ot,l,[Xe.route.id,qt]);dt.filter(gi=>gi.key!==fe).forEach(gi=>{let Hr=gi.key,Vs=D.fetchers.get(Hr),cs=SI(void 0,Vs?Vs.data:void 0);D.fetchers.set(Hr,cs),P.has(Hr)&&$e(Hr),gi.controller&&P.set(Hr,gi.controller)}),De({fetchers:new Map(D.fetchers)});let nn=()=>dt.forEach(gi=>$e(gi.key));vt.signal.addEventListener("abort",nn);let{loaderResults:jn,fetcherResults:Zn}=await $(D.matches,gn,Ke,dt,mn);if(vt.signal.aborted)return;vt.signal.removeEventListener("abort",nn),X.delete(fe),P.delete(fe),dt.forEach(gi=>P.delete(gi.key));let rn=bfe([...jn,...Zn]);if(rn){if(rn.idx>=Ke.length){let gi=dt[rn.idx-Ke.length].key;Y.add(gi)}return me(mn,rn.result)}let{loaderData:fi,errors:Ln}=mfe(D,D.matches,Ke,jn,void 0,dt,Zn,ae);if(D.fetchers.has(fe)){let gi=Mb(qt.data);D.fetchers.set(fe,gi)}Ye(Tt),D.navigation.state==="loading"&&Tt>M?(Pi(N,"Expected pending action"),R&&R.abort(),Me(D.navigation.location,{matches:gn,loaderData:fi,errors:Ln,fetchers:new Map(D.fetchers)})):(De({errors:Ln,loaderData:ffe(D.loaderData,fi,gn,Ln),fetchers:new Map(D.fetchers)}),z=!1)}async function de(fe,Le,Ze,Xe,ft,kt,et){let rt=D.fetchers.get(fe);ee(fe,SI(et,rt?rt.data:void 0),{flushSync:kt});let vt=new AbortController,It=QS(n.history,Ze,vt.signal);P.set(fe,vt);let tn=H,qt=(await j("loader",It,[Xe],ft))[0];if(Ey(qt)&&(qt=await Sfe(qt,It.signal,!0)||qt),P.get(fe)===vt&&P.delete(fe),!It.signal.aborted){if(oe.has(fe)){ee(fe,Mb(void 0));return}if(Ry(qt))if(M>tn){ee(fe,Mb(void 0));return}else{Y.add(fe),await me(It,qt);return}if(Cd(qt)){ye(fe,Le,qt.error);return}Pi(!Ey(qt),"Unhandled fetcher deferred data"),ee(fe,Mb(qt.data))}}async function me(fe,Le,Ze){let{submission:Xe,fetcherSubmission:ft,replace:kt}=Ze===void 0?{}:Ze;Le.response.headers.has("X-Remix-Revalidate")&&(z=!0);let et=Le.response.headers.get("Location");Pi(et,"Expected a Location header on the redirect Response"),et=dfe(et,new URL(fe.url),l);let rt=KS(D.location,et,{_isRedirect:!0});if(t){let Nn=!1;if(Le.response.headers.has("X-Remix-Reload-Document"))Nn=!0;else if(Sz.test(et)){const mn=n.history.createURL(et);Nn=mn.origin!==e.location.origin||yI(mn.pathname,l)==null}if(Nn){kt?e.location.replace(et):e.location.assign(et);return}}R=null;let vt=kt===!0?Ds.Replace:Ds.Push,{formMethod:It,formAction:tn,formEncType:Jt}=D.navigation;!Xe&&!ft&&It&&tn&&Jt&&(Xe=wfe(D.navigation));let qt=Xe||ft;if(Jit.has(Le.response.status)&&qt&&Ch(qt.formMethod))await He(vt,rt,{submission:ns({},qt,{formAction:et}),preventScrollReset:T});else{let Nn=Iz(rt,Xe);await He(vt,rt,{overrideNavigation:Nn,fetcherSubmission:ft,preventScrollReset:T})}}async function j(fe,Le,Ze,Xe){try{let ft=await nrt(u,fe,Le,Ze,Xe,o,r);return await Promise.all(ft.map((kt,et)=>{if(lrt(kt)){let rt=kt.result;return{type:Uo.redirect,response:ort(rt,Le,Ze[et].route.id,Xe,l,c.v7_relativeSplatPath)}}return rrt(kt)}))}catch(ft){return Ze.map(()=>({type:Uo.error,error:ft}))}}async function $(fe,Le,Ze,Xe,ft){let[kt,...et]=await Promise.all([Ze.length?j("loader",ft,Ze,Le):[],...Xe.map(rt=>{if(rt.matches&&rt.match&&rt.controller){let vt=QS(n.history,rt.path,rt.controller.signal);return j("loader",vt,[rt.match],rt.matches).then(It=>It[0])}else return Promise.resolve({type:Uo.error,error:vd(404,{pathname:rt.path})})})]);return await Promise.all([Cfe(fe,Ze,kt,kt.map(()=>ft.signal),!1,D.loaderData),Cfe(fe,Xe.map(rt=>rt.match),et,Xe.map(rt=>rt.controller?rt.controller.signal:null),!0)]),{loaderResults:kt,fetcherResults:et}}function q(){z=!0,O.push(...Wt()),A.forEach((fe,Le)=>{P.has(Le)&&(B.push(Le),$e(Le))})}function ee(fe,Le,Ze){Ze===void 0&&(Ze={}),D.fetchers.set(fe,Le),De({fetchers:new Map(D.fetchers)},{flushSync:(Ze&&Ze.flushSync)===!0})}function ye(fe,Le,Ze,Xe){Xe===void 0&&(Xe={});let ft=CI(D.matches,Le);Ne(fe),De({errors:{[ft.route.id]:Ze},fetchers:new Map(D.fetchers)},{flushSync:(Xe&&Xe.flushSync)===!0})}function _e(fe){return c.v7_fetcherPersist&&(te.set(fe,(te.get(fe)||0)+1),oe.has(fe)&&oe.delete(fe)),D.fetchers.get(fe)||jit}function Ne(fe){let Le=D.fetchers.get(fe);P.has(fe)&&!(Le&&Le.state==="loading"&&X.has(fe))&&$e(fe),A.delete(fe),X.delete(fe),Y.delete(fe),oe.delete(fe),D.fetchers.delete(fe)}function Be(fe){if(c.v7_fetcherPersist){let Le=(te.get(fe)||0)-1;Le<=0?(te.delete(fe),oe.add(fe)):te.set(fe,Le)}else Ne(fe);De({fetchers:new Map(D.fetchers)})}function $e(fe){let Le=P.get(fe);Pi(Le,"Expected fetch controller: "+fe),Le.abort(),P.delete(fe)}function We(fe){for(let Le of fe){let Ze=_e(Le),Xe=Mb(Ze.data);D.fetchers.set(Le,Xe)}}function ht(){let fe=[],Le=!1;for(let Ze of Y){let Xe=D.fetchers.get(Ze);Pi(Xe,"Expected fetcher: "+Ze),Xe.state==="loading"&&(Y.delete(Ze),fe.push(Ze),Le=!0)}return We(fe),Le}function Ye(fe){let Le=[];for(let[Ze,Xe]of X)if(Xe0}function Ge(fe,Le){let Ze=D.blockers.get(fe)||vI;return le.get(fe)!==Le&&le.set(fe,Le),Ze}function mt(fe){D.blockers.delete(fe),le.delete(fe)}function wt(fe,Le){let Ze=D.blockers.get(fe)||vI;Pi(Ze.state==="unblocked"&&Le.state==="blocked"||Ze.state==="blocked"&&Le.state==="blocked"||Ze.state==="blocked"&&Le.state==="proceeding"||Ze.state==="blocked"&&Le.state==="unblocked"||Ze.state==="proceeding"&&Le.state==="unblocked","Invalid blocker state transition: "+Ze.state+" -> "+Le.state);let Xe=new Map(D.blockers);Xe.set(fe,Le),De({blockers:Xe})}function Kt(fe){let{currentLocation:Le,nextLocation:Ze,historyAction:Xe}=fe;if(le.size===0)return;le.size>1&&Ty(!1,"A router only supports one blocker at a time");let ft=Array.from(le.entries()),[kt,et]=ft[ft.length-1],rt=D.blockers.get(kt);if(!(rt&&rt.state==="proceeding")&&et({currentLocation:Le,nextLocation:Ze,historyAction:Xe}))return kt}function Wt(fe){let Le=[];return ae.forEach((Ze,Xe)=>{(!fe||fe(Xe))&&(Ze.cancel(),Le.push(Xe),ae.delete(Xe))}),Le}function Yt(fe,Le,Ze){if(m=fe,g=Le,f=Ze||null,!b&&D.navigation===Cz){b=!0;let Xe=Et(D.location,D.matches);Xe!=null&&De({restoreScrollPosition:Xe})}return()=>{m=null,g=null,f=null}}function Tn(fe,Le){return f&&f(fe,Le.map(Xe=>Iit(Xe,D.loaderData)))||fe.key}function li(fe,Le){if(m&&g){let Ze=Tn(fe,Le);m[Ze]=g()}}function Et(fe,Le){if(m){let Ze=Tn(fe,Le),Xe=m[Ze];if(typeof Xe=="number")return Xe}return null}function Mt(fe){o={},a=fz(fe,r,void 0,o)}return I={get basename(){return l},get future(){return c},get state(){return D},get routes(){return s},get window(){return e},initialize:Ce,subscribe:ce,enableScrollRestoration:Yt,navigate:ke,fetch:it,revalidate:Ue,createHref:fe=>n.history.createHref(fe),encodeLocation:fe=>n.history.encodeLocation(fe),getFetcher:_e,deleteFetcher:Be,dispose:pe,getBlocker:Ge,deleteBlocker:mt,_internalFetchControllers:P,_internalActiveDeferreds:ae,_internalSetRoutes:Mt},I}function $it(n){return n!=null&&("formData"in n&&n.formData!=null||"body"in n&&n.body!==void 0)}function wz(n,e,t,i,r,o,s,a){let l,u;if(s){l=[];for(let d of e)if(l.push(d),d.route.id===s){u=d;break}}else l=e,u=e[e.length-1];let c=bz(r||".",pz(l,o),yI(n.pathname,t)||n.pathname,a==="path");return r==null&&(c.search=n.search,c.hash=n.hash),(r==null||r===""||r===".")&&u&&u.route.index&&!_z(c.search)&&(c.search=c.search?c.search.replace(/^\?/,"?index&"):"?index"),i&&t!=="/"&&(c.pathname=c.pathname==="/"?t:Nb([t,c.pathname])),JS(c)}function sfe(n,e,t,i){if(!i||!$it(i))return{path:t};if(i.formMethod&&!crt(i.formMethod))return{path:t,error:vd(405,{method:i.formMethod})};let r=()=>({path:t,error:vd(400,{type:"invalid-body"})}),o=i.formMethod||"get",s=n?o.toUpperCase():o.toLowerCase(),a=yfe(t);if(i.body!==void 0){if(i.formEncType==="text/plain"){if(!Ch(s))return r();let h=typeof i.body=="string"?i.body:i.body instanceof FormData||i.body instanceof URLSearchParams?Array.from(i.body.entries()).reduce((m,f)=>{let[g,b]=f;return""+m+g+"="+b+` +`},""):String(i.body);return{path:t,submission:{formMethod:s,formAction:a,formEncType:i.formEncType,formData:void 0,json:void 0,text:h}}}else if(i.formEncType==="application/json"){if(!Ch(s))return r();try{let h=typeof i.body=="string"?JSON.parse(i.body):i.body;return{path:t,submission:{formMethod:s,formAction:a,formEncType:i.formEncType,formData:void 0,json:h,text:void 0}}}catch{return r()}}}Pi(typeof FormData=="function","FormData is not available in this environment");let l,u;if(i.formData)l=xz(i.formData),u=i.formData;else if(i.body instanceof FormData)l=xz(i.body),u=i.body;else if(i.body instanceof URLSearchParams)l=i.body,u=hfe(l);else if(i.body==null)l=new URLSearchParams,u=new FormData;else try{l=new URLSearchParams(i.body),u=hfe(l)}catch{return r()}let c={formMethod:s,formAction:a,formEncType:i&&i.formEncType||"application/x-www-form-urlencoded",formData:u,json:void 0,text:void 0};if(Ch(c.formMethod))return{path:t,submission:c};let d=km(t);return e&&d.search&&_z(d.search)&&l.append("index",""),d.search="?"+l,{path:JS(d),submission:c}}function qit(n,e){let t=n;if(e){let i=n.findIndex(r=>r.route.id===e);i>=0&&(t=n.slice(0,i))}return t}function afe(n,e,t,i,r,o,s,a,l,u,c,d,h,m,f,g){let b=g?Cd(g[1])?g[1].error:g[1].data:void 0,y=n.createURL(e.location),C=n.createURL(r),w=g&&Cd(g[1])?g[0]:void 0,x=w?qit(t,w):t,L=g?g[1].statusCode:void 0,I=s&&L&&L>=400,D=x.filter((T,R)=>{let{route:E}=T;if(E.lazy)return!0;if(E.loader==null)return!1;if(o)return typeof E.loader!="function"||E.loader.hydrate?!0:e.loaderData[E.id]===void 0&&(!e.errors||e.errors[E.id]===void 0);if(ert(e.loaderData,e.matches[R],T)||l.some(V=>V===T.route.id))return!0;let W=e.matches[R],Z=T;return ufe(T,ns({currentUrl:y,currentParams:W.params,nextUrl:C,nextParams:Z.params},i,{actionResult:b,unstable_actionStatus:L,defaultShouldRevalidate:I?!1:a||y.pathname+y.search===C.pathname+C.search||y.search!==C.search||lfe(W,Z)}))}),N=[];return d.forEach((T,R)=>{if(o||!t.some(z=>z.route.id===T.routeId)||c.has(R))return;let E=jS(m,T.path,f);if(!E){N.push({key:R,routeId:T.routeId,path:T.path,matches:null,match:null,controller:null});return}let W=e.fetchers.get(R),Z=Lz(E,T.path),V=!1;h.has(R)?V=!1:u.includes(R)?V=!0:W&&W.state!=="idle"&&W.data===void 0?V=a:V=ufe(Z,ns({currentUrl:y,currentParams:e.matches[e.matches.length-1].params,nextUrl:C,nextParams:t[t.length-1].params},i,{actionResult:b,unstable_actionStatus:L,defaultShouldRevalidate:I?!1:a})),V&&N.push({key:R,routeId:T.routeId,path:T.path,matches:E,match:Z,controller:new AbortController})}),[D,N]}function ert(n,e,t){let i=!e||t.route.id!==e.route.id,r=n[t.route.id]===void 0;return i||r}function lfe(n,e){let t=n.route.path;return n.pathname!==e.pathname||t!=null&&t.endsWith("*")&&n.params["*"]!==e.params["*"]}function ufe(n,e){if(n.route.shouldRevalidate){let t=n.route.shouldRevalidate(e);if(typeof t=="boolean")return t}return e.defaultShouldRevalidate}async function cfe(n,e,t){if(!n.lazy)return;let i=await n.lazy();if(!n.lazy)return;let r=t[n.id];Pi(r,"No route found in manifest");let o={};for(let s in i){let l=r[s]!==void 0&&s!=="hasErrorBoundary";Ty(!l,'Route "'+r.id+'" has a static property "'+s+'" defined but its lazy function is also returning a value for this property. '+('The lazy route property "'+s+'" will be ignored.')),!l&&!_it.has(s)&&(o[s]=i[s])}Object.assign(r,o),Object.assign(r,ns({},e(r),{lazy:void 0}))}function trt(n){return Promise.all(n.matches.map(e=>e.resolve()))}async function nrt(n,e,t,i,r,o,s,a){let l=i.reduce((d,h)=>d.add(h.route.id),new Set),u=new Set,c=await n({matches:r.map(d=>{let h=l.has(d.route.id);return ns({},d,{shouldLoad:h,resolve:f=>(u.add(d.route.id),h?irt(e,t,d,o,s,f,a):Promise.resolve({type:Uo.data,result:void 0}))})}),request:t,params:r[0].params,context:a});return r.forEach(d=>Pi(u.has(d.route.id),'`match.resolve()` was not called for route id "'+d.route.id+'". You must call `match.resolve()` on every match passed to `dataStrategy` to ensure all routes are properly loaded.')),c.filter((d,h)=>l.has(r[h].route.id))}async function irt(n,e,t,i,r,o,s){let a,l,u=c=>{let d,h=new Promise((g,b)=>d=b);l=()=>d(),e.signal.addEventListener("abort",l);let m=g=>typeof c!="function"?Promise.reject(new Error("You cannot call the handler for a route which defines a boolean "+('"'+n+'" [routeId: '+t.route.id+"]"))):c({request:e,params:t.params,context:s},...g!==void 0?[g]:[]),f;return o?f=o(g=>m(g)):f=(async()=>{try{return{type:"data",result:await m()}}catch(g){return{type:"error",result:g}}})(),Promise.race([f,h])};try{let c=t.route[n];if(t.route.lazy)if(c){let d,[h]=await Promise.all([u(c).catch(m=>{d=m}),cfe(t.route,r,i)]);if(d!==void 0)throw d;a=h}else if(await cfe(t.route,r,i),c=t.route[n],c)a=await u(c);else if(n==="action"){let d=new URL(e.url),h=d.pathname+d.search;throw vd(405,{method:e.method,pathname:h,routeId:t.route.id})}else return{type:Uo.data,result:void 0};else if(c)a=await u(c);else{let d=new URL(e.url),h=d.pathname+d.search;throw vd(404,{pathname:h})}Pi(a.result!==void 0,"You defined "+(n==="action"?"an action":"a loader")+" for route "+('"'+t.route.id+"\" but didn't return anything from your `"+n+"` ")+"function. Please return a value or `null`.")}catch(c){return{type:Uo.error,result:c}}finally{l&&e.signal.removeEventListener("abort",l)}return a}async function rrt(n){let{result:e,type:t,status:i}=n;if(vfe(e)){let s;try{let a=e.headers.get("Content-Type");a&&/\bapplication\/json\b/.test(a)?e.body==null?s=null:s=await e.json():s=await e.text()}catch(a){return{type:Uo.error,error:a}}return t===Uo.error?{type:Uo.error,error:new yz(e.status,e.statusText,s),statusCode:e.status,headers:e.headers}:{type:Uo.data,data:s,statusCode:e.status,headers:e.headers}}if(t===Uo.error)return{type:Uo.error,error:e,statusCode:vz(e)?e.status:i};if(urt(e)){var r,o;return{type:Uo.deferred,deferredData:e,statusCode:(r=e.init)==null?void 0:r.status,headers:((o=e.init)==null?void 0:o.headers)&&new Headers(e.init.headers)}}return{type:Uo.data,data:e,statusCode:i}}function ort(n,e,t,i,r,o){let s=n.headers.get("Location");if(Pi(s,"Redirects returned/thrown from loaders/actions must have a Location header"),!Sz.test(s)){let a=i.slice(0,i.findIndex(l=>l.route.id===t)+1);s=wz(new URL(e.url),a,r,!0,s,o),n.headers.set("Location",s)}return n}function dfe(n,e,t){if(Sz.test(n)){let i=n,r=i.startsWith("//")?new URL(e.protocol+i):new URL(i),o=yI(r.pathname,t)!=null;if(r.origin===e.origin&&o)return r.pathname+r.search+r.hash}return n}function QS(n,e,t,i){let r=n.createURL(yfe(e)).toString(),o={signal:t};if(i&&Ch(i.formMethod)){let{formMethod:s,formEncType:a}=i;o.method=s.toUpperCase(),a==="application/json"?(o.headers=new Headers({"Content-Type":a}),o.body=JSON.stringify(i.json)):a==="text/plain"?o.body=i.text:a==="application/x-www-form-urlencoded"&&i.formData?o.body=xz(i.formData):o.body=i.formData}return new Request(r,o)}function xz(n){let e=new URLSearchParams;for(let[t,i]of n.entries())e.append(t,typeof i=="string"?i:i.name);return e}function hfe(n){let e=new FormData;for(let[t,i]of n.entries())e.append(t,i);return e}function srt(n,e,t,i,r,o){let s={},a=null,l,u=!1,c={},d=i&&Cd(i[1])?i[1].error:void 0;return t.forEach((h,m)=>{let f=e[m].route.id;if(Pi(!Ry(h),"Cannot handle redirect results in processLoaderData"),Cd(h)){let g=h.error;if(d!==void 0&&(g=d,d=void 0),a=a||{},o)a[f]=g;else{let b=CI(n,f);a[b.route.id]==null&&(a[b.route.id]=g)}s[f]=void 0,u||(u=!0,l=vz(h.error)?h.error.status:500),h.headers&&(c[f]=h.headers)}else Ey(h)?(r.set(f,h.deferredData),s[f]=h.deferredData.data,h.statusCode!=null&&h.statusCode!==200&&!u&&(l=h.statusCode),h.headers&&(c[f]=h.headers)):(s[f]=h.data,h.statusCode&&h.statusCode!==200&&!u&&(l=h.statusCode),h.headers&&(c[f]=h.headers))}),d!==void 0&&i&&(a={[i[0]]:d},s[i[0]]=void 0),{loaderData:s,errors:a,statusCode:l||200,loaderHeaders:c}}function mfe(n,e,t,i,r,o,s,a){let{loaderData:l,errors:u}=srt(e,t,i,r,a,!1);for(let c=0;ci.route.id===e)+1):[...n]).reverse().find(i=>i.route.hasErrorBoundary===!0)||n[0]}function pfe(n){let e=n.length===1?n[0]:n.find(t=>t.index||!t.path||t.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:e}],route:e}}function vd(n,e){let{pathname:t,routeId:i,method:r,type:o}=e===void 0?{}:e,s="Unknown Server Error",a="Unknown @remix-run/router error";return n===400?(s="Bad Request",r&&t&&i?a="You made a "+r+' request to "'+t+'" but '+('did not provide a `loader` for route "'+i+'", ')+"so there is no way to handle the request.":o==="defer-action"?a="defer() is not supported in actions":o==="invalid-body"&&(a="Unable to encode submission body")):n===403?(s="Forbidden",a='Route "'+i+'" does not match URL "'+t+'"'):n===404?(s="Not Found",a='No route matches URL "'+t+'"'):n===405&&(s="Method Not Allowed",r&&t&&i?a="You made a "+r.toUpperCase()+' request to "'+t+'" but '+('did not provide an `action` for route "'+i+'", ')+"so there is no way to handle the request.":r&&(a='Invalid request method "'+r.toUpperCase()+'"')),new yz(n||500,s,new Error(a),!0)}function bfe(n){for(let e=n.length-1;e>=0;e--){let t=n[e];if(Ry(t))return{result:t,idx:e}}}function yfe(n){let e=typeof n=="string"?km(n):n;return JS(ns({},e,{hash:""}))}function art(n,e){return n.pathname!==e.pathname||n.search!==e.search?!1:n.hash===""?e.hash!=="":n.hash===e.hash?!0:e.hash!==""}function lrt(n){return vfe(n.result)&&Kit.has(n.result.status)}function Ey(n){return n.type===Uo.deferred}function Cd(n){return n.type===Uo.error}function Ry(n){return(n&&n.type)===Uo.redirect}function urt(n){let e=n;return e&&typeof e=="object"&&typeof e.data=="object"&&typeof e.subscribe=="function"&&typeof e.cancel=="function"&&typeof e.resolveData=="function"}function vfe(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.headers=="object"&&typeof n.body<"u"}function crt(n){return Uit.has(n.toLowerCase())}function Ch(n){return Hit.has(n.toLowerCase())}async function Cfe(n,e,t,i,r,o){for(let s=0;sd.route.id===l.route.id),c=u!=null&&!lfe(u,l)&&(o&&o[l.route.id])!==void 0;if(Ey(a)&&(r||c)){let d=i[s];Pi(d,"Expected an AbortSignal for revalidating fetcher deferred result"),await Sfe(a,d,r).then(h=>{h&&(t[s]=h||t[s])})}}}async function Sfe(n,e,t){if(t===void 0&&(t=!1),!await n.deferredData.resolveData(e)){if(t)try{return{type:Uo.data,data:n.deferredData.unwrappedData}}catch(r){return{type:Uo.error,error:r}}return{type:Uo.data,data:n.deferredData.data}}}function _z(n){return new URLSearchParams(n).getAll("index").some(e=>e==="")}function Lz(n,e){let t=typeof e=="string"?km(e).search:e.search;if(n[n.length-1].route.index&&_z(t||""))return n[n.length-1];let i=nfe(n);return i[i.length-1]}function wfe(n){let{formMethod:e,formAction:t,formEncType:i,text:r,formData:o,json:s}=n;if(!(!e||!t||!i)){if(r!=null)return{formMethod:e,formAction:t,formEncType:i,formData:void 0,json:void 0,text:r};if(o!=null)return{formMethod:e,formAction:t,formEncType:i,formData:o,json:void 0,text:void 0};if(s!==void 0)return{formMethod:e,formAction:t,formEncType:i,formData:void 0,json:s,text:void 0}}}function Iz(n,e){return e?{state:"loading",location:n,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text}:{state:"loading",location:n,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function drt(n,e){return{state:"submitting",location:n,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text}}function SI(n,e){return n?{state:"loading",formMethod:n.formMethod,formAction:n.formAction,formEncType:n.formEncType,formData:n.formData,json:n.json,text:n.text,data:e}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function hrt(n,e){return{state:"submitting",formMethod:n.formMethod,formAction:n.formAction,formEncType:n.formEncType,formData:n.formData,json:n.json,text:n.text,data:e?e.data:void 0}}function Mb(n){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:n}}function mrt(n,e){try{let t=n.sessionStorage.getItem(rfe);if(t){let i=JSON.parse(t);for(let[r,o]of Object.entries(i||{}))o&&Array.isArray(o)&&e.set(r,new Set(o||[]))}}catch{}}function frt(n,e){if(e.size>0){let t={};for(let[i,r]of e)t[i]=[...r];try{n.sessionStorage.setItem(rfe,JSON.stringify(t))}catch(i){Ty(!1,"Failed to save applied view transitions in sessionStorage ("+i+").")}}}function wI(){return wI=Object.assign?Object.assign.bind():function(n){for(var e=1;e{a.current=!0}),S.useCallback(function(u,c){if(c===void 0&&(c={}),!a.current)return;if(typeof u=="number"){i.go(u);return}let d=bz(u,JSON.parse(s),o,c.relative==="path");n==null&&e!=="/"&&(d.pathname=d.pathname==="/"?e:Nb([e,d.pathname])),(c.replace?i.replace:i.push)(d,c.state,c)},[e,i,s,o,n])}const prt=S.createContext(null);function brt(n){let e=S.useContext(yg).outlet;return e&&S.createElement(prt.Provider,{value:n},e)}function Ife(){let{matches:n}=S.useContext(yg),e=n[n.length-1];return e?e.params:{}}function yrt(n,e,t,i){_I()||Pi(!1);let{navigator:r}=S.useContext(xI),{matches:o}=S.useContext(yg),s=o[o.length-1],a=s?s.params:{};s&&s.pathname;let l=s?s.pathnameBase:"/";s&&s.route;let u=Zy(),c;if(e){var d;let b=typeof e=="string"?km(e):e;l==="/"||(d=b.pathname)!=null&&d.startsWith(l)||Pi(!1),c=b}else c=u;let h=c.pathname||"/",m=h;if(l!=="/"){let b=l.replace(/^\//,"").split("/");m="/"+h.replace(/^\//,"").split("/").slice(b.length).join("/")}let f=jS(n,{pathname:m}),g=xrt(f&&f.map(b=>Object.assign({},b,{params:Object.assign({},a,b.params),pathname:Nb([l,r.encodeLocation?r.encodeLocation(b.pathname).pathname:b.pathname]),pathnameBase:b.pathnameBase==="/"?l:Nb([l,r.encodeLocation?r.encodeLocation(b.pathnameBase).pathname:b.pathnameBase])})),o,t,i);return e&&g?S.createElement(eR.Provider,{value:{location:wI({pathname:"/",search:"",hash:"",state:null,key:"default"},c),navigationType:Ds.Pop}},g):g}function vrt(){let n=Frt(),e=vz(n)?n.status+" "+n.statusText:n instanceof Error?n.message:JSON.stringify(n),t=n instanceof Error?n.stack:null,r={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return S.createElement(S.Fragment,null,S.createElement("h2",null,"Unexpected Application Error!"),S.createElement("h3",{style:{fontStyle:"italic"}},e),t?S.createElement("pre",{style:r},t):null,null)}const Crt=S.createElement(vrt,null);class Srt extends S.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){}render(){return this.state.error!==void 0?S.createElement(yg.Provider,{value:this.props.routeContext},S.createElement(_fe.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function wrt(n){let{routeContext:e,match:t,children:i}=n,r=S.useContext(q5);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),S.createElement(yg.Provider,{value:e},i)}function xrt(n,e,t,i){var r;if(e===void 0&&(e=[]),t===void 0&&(t=null),i===void 0&&(i=null),n==null){var o;if((o=t)!=null&&o.errors)n=t.matches;else return null}let s=n,a=(r=t)==null?void 0:r.errors;if(a!=null){let c=s.findIndex(d=>d.route.id&&(a==null?void 0:a[d.route.id])!==void 0);c>=0||Pi(!1),s=s.slice(0,Math.min(s.length,c+1))}let l=!1,u=-1;if(t&&i&&i.v7_partialHydration)for(let c=0;c=0?s=s.slice(0,u+1):s=[s[0]];break}}}return s.reduceRight((c,d,h)=>{let m,f=!1,g=null,b=null;t&&(m=a&&d.route.id?a[d.route.id]:void 0,g=d.route.errorElement||Crt,l&&(u<0&&h===0?(Nrt("route-fallback",!1),f=!0,b=null):u===h&&(f=!0,b=d.route.hydrateFallbackElement||null)));let y=e.concat(s.slice(0,h+1)),C=()=>{let w;return m?w=g:f?w=b:d.route.Component?w=S.createElement(d.route.Component,null):d.route.element?w=d.route.element:w=c,S.createElement(wrt,{match:d,routeContext:{outlet:c,matches:y,isDataRoute:t!=null},children:w})};return t&&(d.route.ErrorBoundary||d.route.errorElement||h===0)?S.createElement(Srt,{location:t.location,revalidation:t.revalidation,component:g,error:m,children:C(),routeContext:{outlet:null,matches:y,isDataRoute:!0}}):C()},null)}var Ffe=function(n){return n.UseBlocker="useBlocker",n.UseRevalidator="useRevalidator",n.UseNavigateStable="useNavigate",n}(Ffe||{}),tR=function(n){return n.UseBlocker="useBlocker",n.UseLoaderData="useLoaderData",n.UseActionData="useActionData",n.UseRouteError="useRouteError",n.UseNavigation="useNavigation",n.UseRouteLoaderData="useRouteLoaderData",n.UseMatches="useMatches",n.UseRevalidator="useRevalidator",n.UseNavigateStable="useNavigate",n.UseRouteId="useRouteId",n}(tR||{});function _rt(n){let e=S.useContext(q5);return e||Pi(!1),e}function Lrt(n){let e=S.useContext(xfe);return e||Pi(!1),e}function Irt(n){let e=S.useContext(yg);return e||Pi(!1),e}function Dfe(n){let e=Irt(),t=e.matches[e.matches.length-1];return t.route.id||Pi(!1),t.route.id}function Frt(){var n;let e=S.useContext(_fe),t=Lrt(tR.UseRouteError),i=Dfe(tR.UseRouteError);return e!==void 0?e:(n=t.errors)==null?void 0:n[i]}function Drt(){let{router:n}=_rt(Ffe.UseNavigateStable),e=Dfe(tR.UseNavigateStable),t=S.useRef(!1);return Lfe(()=>{t.current=!0}),S.useCallback(function(r,o){o===void 0&&(o={}),t.current&&(typeof r=="number"?n.navigate(r):n.navigate(r,wI({fromRouteId:e},o)))},[n,e])}const Nfe={};function Nrt(n,e,t){!e&&!Nfe[n]&&(Nfe[n]=!0)}function Mrt(n){let{to:e,replace:t,state:i,relative:r}=n;_I()||Pi(!1);let{future:o,static:s}=S.useContext(xI),{matches:a}=S.useContext(yg),{pathname:l}=Zy(),u=vg(),c=bz(e,pz(a,o.v7_relativeSplatPath),l,r==="path"),d=JSON.stringify(c);return S.useEffect(()=>u(JSON.parse(d),{replace:t,state:i,relative:r}),[u,d,r,t,i]),null}function Mfe(n){return brt(n.context)}function krt(n){let{basename:e="/",children:t=null,location:i,navigationType:r=Ds.Pop,navigator:o,static:s=!1,future:a}=n;_I()&&Pi(!1);let l=e.replace(/^\/*/,"/"),u=S.useMemo(()=>({basename:l,navigator:o,static:s,future:wI({v7_relativeSplatPath:!1},a)}),[l,a,o,s]);typeof i=="string"&&(i=km(i));let{pathname:c="/",search:d="",hash:h="",state:m=null,key:f="default"}=i,g=S.useMemo(()=>{let b=yI(c,l);return b==null?null:{location:{pathname:b,search:d,hash:h,state:m,key:f},navigationType:r}},[l,c,d,h,m,f,r]);return g==null?null:S.createElement(xI.Provider,{value:u},S.createElement(eR.Provider,{children:t,value:g}))}new Promise(()=>{});function kfe(n){let e={hasErrorBoundary:n.ErrorBoundary!=null||n.errorElement!=null};return n.Component&&Object.assign(e,{element:S.createElement(n.Component),Component:void 0}),n.HydrateFallback&&Object.assign(e,{hydrateFallbackElement:S.createElement(n.HydrateFallback),HydrateFallback:void 0}),n.ErrorBoundary&&Object.assign(e,{errorElement:S.createElement(n.ErrorBoundary),ErrorBoundary:void 0}),e}function LI(){return LI=Object.assign?Object.assign.bind():function(n){for(var e=1;e{this.resolve=i=>{this.status==="pending"&&(this.status="resolved",e(i))},this.reject=i=>{this.status==="pending"&&(this.status="rejected",t(i))}})}}function Xrt(n){let{fallbackElement:e,router:t,future:i}=n,[r,o]=S.useState(t.state),[s,a]=S.useState(),[l,u]=S.useState({isTransitioning:!1}),[c,d]=S.useState(),[h,m]=S.useState(),[f,g]=S.useState(),b=S.useRef(new Map),{v7_startTransition:y}=i||{},C=S.useCallback(D=>{y?Vrt(D):D()},[y]),w=S.useCallback((D,N)=>{let{deletedFetchers:T,unstable_flushSync:R,unstable_viewTransitionOpts:E}=N;T.forEach(Z=>b.current.delete(Z)),D.fetchers.forEach((Z,V)=>{Z.data!==void 0&&b.current.set(V,Z.data)});let W=t.window==null||typeof t.window.document.startViewTransition!="function";if(!E||W){R?II(()=>o(D)):C(()=>o(D));return}if(R){II(()=>{h&&(c&&c.resolve(),h.skipTransition()),u({isTransitioning:!0,flushSync:!0,currentLocation:E.currentLocation,nextLocation:E.nextLocation})});let Z=t.window.document.startViewTransition(()=>{II(()=>o(D))});Z.finished.finally(()=>{II(()=>{d(void 0),m(void 0),a(void 0),u({isTransitioning:!1})})}),II(()=>m(Z));return}h?(c&&c.resolve(),h.skipTransition(),g({state:D,currentLocation:E.currentLocation,nextLocation:E.nextLocation})):(a(D),u({isTransitioning:!0,flushSync:!1,currentLocation:E.currentLocation,nextLocation:E.nextLocation}))},[t.window,h,c,b,C]);S.useLayoutEffect(()=>t.subscribe(w),[t,w]),S.useEffect(()=>{l.isTransitioning&&!l.flushSync&&d(new Grt)},[l]),S.useEffect(()=>{if(c&&s&&t.window){let D=s,N=c.promise,T=t.window.document.startViewTransition(async()=>{C(()=>o(D)),await N});T.finished.finally(()=>{d(void 0),m(void 0),a(void 0),u({isTransitioning:!1})}),m(T)}},[C,s,c,t.window]),S.useEffect(()=>{c&&s&&r.location.key===s.location.key&&c.resolve()},[c,h,r.location,s]),S.useEffect(()=>{!l.isTransitioning&&f&&(a(f.state),u({isTransitioning:!0,flushSync:!1,currentLocation:f.currentLocation,nextLocation:f.nextLocation}),g(void 0))},[l.isTransitioning,f]),S.useEffect(()=>{},[]);let x=S.useMemo(()=>({createHref:t.createHref,encodeLocation:t.encodeLocation,go:D=>t.navigate(D),push:(D,N,T)=>t.navigate(D,{state:N,preventScrollReset:T==null?void 0:T.preventScrollReset}),replace:(D,N,T)=>t.navigate(D,{replace:!0,state:N,preventScrollReset:T==null?void 0:T.preventScrollReset})}),[t]),L=t.basename||"/",I=S.useMemo(()=>({router:t,navigator:x,static:!1,basename:L}),[t,x,L]);return S.createElement(S.Fragment,null,S.createElement(q5.Provider,{value:I},S.createElement(xfe.Provider,{value:r},S.createElement(Art.Provider,{value:b.current},S.createElement(Wrt.Provider,{value:l},S.createElement(krt,{basename:L,location:r.location,navigationType:r.historyAction,navigator:x,future:{v7_relativeSplatPath:t.future.v7_relativeSplatPath}},r.initialized||t.future.v7_partialHydration?S.createElement(Prt,{routes:t.routes,future:t.future,state:r}):e))))),null)}function Prt(n){let{routes:e,future:t,state:i}=n;return yrt(e,void 0,i,t)}var Zfe;(function(n){n.UseScrollRestoration="useScrollRestoration",n.UseSubmit="useSubmit",n.UseSubmitFetcher="useSubmitFetcher",n.UseFetcher="useFetcher",n.useViewTransitionState="useViewTransitionState"})(Zfe||(Zfe={}));var Wfe;(function(n){n.UseFetcher="useFetcher",n.UseFetchers="useFetchers",n.UseScrollRestoration="useScrollRestoration"})(Wfe||(Wfe={}));function Ort({routes:n,isHashRouter:e}){const t=e?Rrt(n):Ert(n,{future:{v7_normalizeFormMethod:!0}});return se(Xrt,{router:t,fallbackElement:se(xue,{spinning:!0})})}const Brt=({children:n})=>se(S.Suspense,{fallback:se(xue,{spinning:!0,style:{position:"fixed",top:"50%",left:"50%"}}),children:n});var Fz=(n=>(n.light="light",n.dark="dark",n))(Fz||{});function zrt({children:n}){const{configInfo:e}=fh(),t=e==null?void 0:e.theme;return se(sEe,{theme:t==="dark"?Xi:md,children:n})}var Hrt={name:"qzuz4p",styles:"cursor:pointer;opacity:0.6;&:hover{opacity:1;}"};function Dz(){const n=lo(),{configInfo:e,updateConfigInfo:t}=fh(),{theme:i}=e||{theme:"light"};return se("a",{css:Hrt,onClick:()=>t({...e,theme:i==="light"?"dark":"light"}),children:se(eqe,{fill:n.color.text})})}const Yrt={type:"logger",log(n){this.output("log",n)},warn(n){this.output("warn",n)},error(n){this.output("error",n)},output(n,e){console&&console[n]}};class nR{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(e,t)}init(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||Yrt,this.options=t,this.debug=t.debug}log(){for(var e=arguments.length,t=new Array(e),i=0;i{this.observers[i]||(this.observers[i]=new Map);const r=this.observers[i].get(t)||0;this.observers[i].set(t,r+1)}),this}off(e,t){if(this.observers[e]){if(!t){delete this.observers[e];return}this.observers[e].delete(t)}}emit(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r{let[a,l]=s;for(let u=0;u{let[a,l]=s;for(let u=0;u{n=i,e=r});return t.resolve=n,t.reject=e,t}function Afe(n){return n==null?"":""+n}function Urt(n,e,t){n.forEach(i=>{e[i]&&(t[i]=e[i])})}const Krt=/###/g;function DI(n,e,t){function i(a){return a&&a.indexOf("###")>-1?a.replace(Krt,"."):a}function r(){return!n||typeof n=="string"}const o=typeof e!="string"?e:e.split(".");let s=0;for(;s":">",'"':""","'":"'","/":"/"};function $rt(n){return typeof n=="string"?n.replace(/[&<>"'\/]/g,e=>Qrt[e]):n}class qrt{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(t!==void 0)return t;const i=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,i),this.regExpQueue.push(e),i}}const eot=[" ",",","?","!",";"],tot=new qrt(20);function not(n,e,t){e=e||"",t=t||"";const i=eot.filter(s=>e.indexOf(s)<0&&t.indexOf(s)<0);if(i.length===0)return!0;const r=tot.getRegExp(`(${i.map(s=>s==="?"?"\\?":s).join("|")})`);let o=!r.test(n);if(!o){const s=n.indexOf(t);s>0&&!r.test(n.substring(0,s))&&(o=!0)}return o}function Nz(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!n)return;if(n[e])return n[e];const i=e.split(t);let r=n;for(let o=0;o-1&&l0?n.replace("_","-"):n}class Xfe extends iR{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const o=r.keySeparator!==void 0?r.keySeparator:this.options.keySeparator,s=r.ignoreJSONStructure!==void 0?r.ignoreJSONStructure:this.options.ignoreJSONStructure;let a;e.indexOf(".")>-1?a=e.split("."):(a=[e,t],i&&(Array.isArray(i)?a.push(...i):typeof i=="string"&&o?a.push(...i.split(o)):a.push(i)));const l=rR(this.data,a);return!l&&!t&&!i&&e.indexOf(".")>-1&&(e=a[0],t=a[1],i=a.slice(2).join(".")),l||!s||typeof i!="string"?l:Nz(this.data&&this.data[e]&&this.data[e][t],i,o)}addResource(e,t,i,r){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator;let a=[e,t];i&&(a=a.concat(s?i.split(s):i)),e.indexOf(".")>-1&&(a=e.split("."),r=t,t=a[1]),this.addNamespaces(t),Vfe(this.data,a,r),o.silent||this.emit("added",e,t,i,r)}addResources(e,t,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const o in i)(typeof i[o]=="string"||Object.prototype.toString.apply(i[o])==="[object Array]")&&this.addResource(e,t,o,i[o],{silent:!0});r.silent||this.emit("added",e,t,i)}addResourceBundle(e,t,i,r,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},a=[e,t];e.indexOf(".")>-1&&(a=e.split("."),r=i,i=t,t=a[1]),this.addNamespaces(t);let l=rR(this.data,a)||{};s.skipCopy||(i=JSON.parse(JSON.stringify(i))),r?Gfe(l,i,o):l={...l,...i},Vfe(this.data,a,l),s.silent||this.emit("added",e,t,i)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return this.getResource(e,t)!==void 0}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(e,t)}:this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(r=>t[r]&&Object.keys(t[r]).length>0)}toJSON(){return this.data}}var Pfe={processors:{},addPostProcessor(n){this.processors[n.name]=n},handle(n,e,t,i,r){return n.forEach(o=>{this.processors[o]&&(e=this.processors[o].process(e,t,i,r))}),e}};const Ofe={};class sR extends iR{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Urt(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=Tm.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(e==null)return!1;const i=this.resolve(e,t);return i&&i.res!==void 0}extractFromKey(e,t){let i=t.nsSeparator!==void 0?t.nsSeparator:this.options.nsSeparator;i===void 0&&(i=":");const r=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator;let o=t.ns||this.options.defaultNS||[];const s=i&&e.indexOf(i)>-1,a=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!not(e,i,r);if(s&&!a){const l=e.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:e,namespaces:o};const u=e.split(i);(i!==r||i===r&&this.options.ns.indexOf(u[0])>-1)&&(o=u.shift()),e=u.join(r)}return typeof o=="string"&&(o=[o]),{key:e,namespaces:o}}translate(e,t,i){if(typeof t!="object"&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),typeof t=="object"&&(t={...t}),t||(t={}),e==null)return"";Array.isArray(e)||(e=[String(e)]);const r=t.returnDetails!==void 0?t.returnDetails:this.options.returnDetails,o=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator,{key:s,namespaces:a}=this.extractFromKey(e[e.length-1],t),l=a[a.length-1],u=t.lng||this.language,c=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&u.toLowerCase()==="cimode"){if(c){const x=t.nsSeparator||this.options.nsSeparator;return r?{res:`${l}${x}${s}`,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(t)}:`${l}${x}${s}`}return r?{res:s,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(t)}:s}const d=this.resolve(e,t);let h=d&&d.res;const m=d&&d.usedKey||s,f=d&&d.exactUsedKey||s,g=Object.prototype.toString.apply(h),b=["[object Number]","[object Function]","[object RegExp]"],y=t.joinArrays!==void 0?t.joinArrays:this.options.joinArrays,C=!this.i18nFormat||this.i18nFormat.handleAsObject;if(C&&h&&(typeof h!="string"&&typeof h!="boolean"&&typeof h!="number")&&b.indexOf(g)<0&&!(typeof y=="string"&&g==="[object Array]")){if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const x=this.options.returnedObjectHandler?this.options.returnedObjectHandler(m,h,{...t,ns:a}):`key '${s} (${this.language})' returned an object instead of string.`;return r?(d.res=x,d.usedParams=this.getUsedParamsDetails(t),d):x}if(o){const x=g==="[object Array]",L=x?[]:{},I=x?f:m;for(const D in h)if(Object.prototype.hasOwnProperty.call(h,D)){const N=`${I}${o}${D}`;L[D]=this.translate(N,{...t,joinArrays:!1,ns:a}),L[D]===N&&(L[D]=h[D])}h=L}}else if(C&&typeof y=="string"&&g==="[object Array]")h=h.join(y),h&&(h=this.extendTranslation(h,e,t,i));else{let x=!1,L=!1;const I=t.count!==void 0&&typeof t.count!="string",D=sR.hasDefaultValue(t),N=I?this.pluralResolver.getSuffix(u,t.count,t):"",T=t.ordinal&&I?this.pluralResolver.getSuffix(u,t.count,{ordinal:!1}):"",R=I&&!t.ordinal&&t.count===0&&this.pluralResolver.shouldUseIntlApi(),E=R&&t[`defaultValue${this.options.pluralSeparator}zero`]||t[`defaultValue${N}`]||t[`defaultValue${T}`]||t.defaultValue;!this.isValidLookup(h)&&D&&(x=!0,h=E),this.isValidLookup(h)||(L=!0,h=s);const Z=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&L?void 0:h,V=D&&E!==h&&this.options.updateMissing;if(L||x||V){if(this.logger.log(V?"updateKey":"missingKey",u,l,s,V?E:h),o){const P=this.resolve(s,{...t,keySeparator:!1});P&&P.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let z=[];const O=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if(this.options.saveMissingTo==="fallback"&&O&&O[0])for(let P=0;P{const X=D&&M!==h?M:Z;this.options.missingKeyHandler?this.options.missingKeyHandler(P,l,H,X,V,t):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(P,l,H,X,V,t),this.emit("missingKey",P,l,H,h)};this.options.saveMissing&&(this.options.saveMissingPlurals&&I?z.forEach(P=>{const H=this.pluralResolver.getSuffixes(P,t);R&&t[`defaultValue${this.options.pluralSeparator}zero`]&&H.indexOf(`${this.options.pluralSeparator}zero`)<0&&H.push(`${this.options.pluralSeparator}zero`),H.forEach(M=>{B([P],s+M,t[`defaultValue${M}`]||E)})}):B(z,s,E))}h=this.extendTranslation(h,e,t,d,i),L&&h===s&&this.options.appendNamespaceToMissingKey&&(h=`${l}:${s}`),(L||x)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?h=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${s}`:s,x?h:void 0):h=this.options.parseMissingKeyHandler(h))}return r?(d.res=h,d.usedParams=this.getUsedParamsDetails(t),d):h}extendTranslation(e,t,i,r,o){var s=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...i},i.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!i.skipInterpolation){i.interpolation&&this.interpolator.init({...i,interpolation:{...this.options.interpolation,...i.interpolation}});const u=typeof e=="string"&&(i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let c;if(u){const h=e.match(this.interpolator.nestingRegexp);c=h&&h.length}let d=i.replace&&typeof i.replace!="string"?i.replace:i;if(this.options.interpolation.defaultVariables&&(d={...this.options.interpolation.defaultVariables,...d}),e=this.interpolator.interpolate(e,d,i.lng||this.language,i),u){const h=e.match(this.interpolator.nestingRegexp),m=h&&h.length;c1&&arguments[1]!==void 0?arguments[1]:{},i,r,o,s,a;return typeof e=="string"&&(e=[e]),e.forEach(l=>{if(this.isValidLookup(i))return;const u=this.extractFromKey(l,t),c=u.key;r=c;let d=u.namespaces;this.options.fallbackNS&&(d=d.concat(this.options.fallbackNS));const h=t.count!==void 0&&typeof t.count!="string",m=h&&!t.ordinal&&t.count===0&&this.pluralResolver.shouldUseIntlApi(),f=t.context!==void 0&&(typeof t.context=="string"||typeof t.context=="number")&&t.context!=="",g=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);d.forEach(b=>{this.isValidLookup(i)||(a=b,!Ofe[`${g[0]}-${b}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(Ofe[`${g[0]}-${b}`]=!0,this.logger.warn(`key "${r}" for languages "${g.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),g.forEach(y=>{if(this.isValidLookup(i))return;s=y;const C=[c];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(C,c,y,b,t);else{let x;h&&(x=this.pluralResolver.getSuffix(y,t.count,t));const L=`${this.options.pluralSeparator}zero`,I=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(h&&(C.push(c+x),t.ordinal&&x.indexOf(I)===0&&C.push(c+x.replace(I,this.options.pluralSeparator)),m&&C.push(c+L)),f){const D=`${c}${this.options.contextSeparator}${t.context}`;C.push(D),h&&(C.push(D+x),t.ordinal&&x.indexOf(I)===0&&C.push(D+x.replace(I,this.options.pluralSeparator)),m&&C.push(D+L))}}let w;for(;w=C.pop();)this.isValidLookup(i)||(o=w,i=this.getResource(y,b,w,t))}))})}),{res:i,usedKey:r,exactUsedKey:o,usedLng:s,usedNS:a}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,t,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,i,r):this.resourceStore.getResource(e,t,i,r)}getUsedParamsDetails(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],i=e.replace&&typeof e.replace!="string";let r=i?e.replace:e;if(i&&typeof e.count<"u"&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!i){r={...r};for(const o of t)delete r[o]}return r}static hasDefaultValue(e){const t="defaultValue";for(const i in e)if(Object.prototype.hasOwnProperty.call(e,i)&&t===i.substring(0,t.length)&&e[i]!==void 0)return!0;return!1}}function Mz(n){return n.charAt(0).toUpperCase()+n.slice(1)}class Bfe{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Tm.create("languageUtils")}getScriptPartFromCode(e){if(e=oR(e),!e||e.indexOf("-")<0)return null;const t=e.split("-");return t.length===2||(t.pop(),t[t.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(t.join("-"))}getLanguagePartFromCode(e){if(e=oR(e),!e||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(typeof e=="string"&&e.indexOf("-")>-1){const t=["hans","hant","latn","cyrl","cans","mong","arab"];let i=e.split("-");return this.options.lowerCaseLng?i=i.map(r=>r.toLowerCase()):i.length===2?(i[0]=i[0].toLowerCase(),i[1]=i[1].toUpperCase(),t.indexOf(i[1].toLowerCase())>-1&&(i[1]=Mz(i[1].toLowerCase()))):i.length===3&&(i[0]=i[0].toLowerCase(),i[1].length===2&&(i[1]=i[1].toUpperCase()),i[0]!=="sgn"&&i[2].length===2&&(i[2]=i[2].toUpperCase()),t.indexOf(i[1].toLowerCase())>-1&&(i[1]=Mz(i[1].toLowerCase())),t.indexOf(i[2].toLowerCase())>-1&&(i[2]=Mz(i[2].toLowerCase()))),i.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach(i=>{if(t)return;const r=this.formatLanguageCode(i);(!this.options.supportedLngs||this.isSupportedCode(r))&&(t=r)}),!t&&this.options.supportedLngs&&e.forEach(i=>{if(t)return;const r=this.getLanguagePartFromCode(i);if(this.isSupportedCode(r))return t=r;t=this.options.supportedLngs.find(o=>{if(o===r)return o;if(!(o.indexOf("-")<0&&r.indexOf("-")<0)&&(o.indexOf("-")>0&&r.indexOf("-")<0&&o.substring(0,o.indexOf("-"))===r||o.indexOf(r)===0&&r.length>1))return o})}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if(typeof e=="function"&&(e=e(t)),typeof e=="string"&&(e=[e]),Object.prototype.toString.apply(e)==="[object Array]")return e;if(!t)return e.default||[];let i=e[t];return i||(i=e[this.getScriptPartFromCode(t)]),i||(i=e[this.formatLanguageCode(t)]),i||(i=e[this.getLanguagePartFromCode(t)]),i||(i=e.default),i||[]}toResolveHierarchy(e,t){const i=this.getFallbackCodes(t||this.options.fallbackLng||[],e),r=[],o=s=>{s&&(this.isSupportedCode(s)?r.push(s):this.logger.warn(`rejecting language code not found in supportedLngs: ${s}`))};return typeof e=="string"&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&o(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&o(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&o(this.getLanguagePartFromCode(e))):typeof e=="string"&&o(this.formatLanguageCode(e)),i.forEach(s=>{r.indexOf(s)<0&&o(this.formatLanguageCode(s))}),r}}let iot=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],rot={1:function(n){return+(n>1)},2:function(n){return+(n!=1)},3:function(n){return 0},4:function(n){return n%10==1&&n%100!=11?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2},5:function(n){return n==0?0:n==1?1:n==2?2:n%100>=3&&n%100<=10?3:n%100>=11?4:5},6:function(n){return n==1?0:n>=2&&n<=4?1:2},7:function(n){return n==1?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2},8:function(n){return n==1?0:n==2?1:n!=8&&n!=11?2:3},9:function(n){return+(n>=2)},10:function(n){return n==1?0:n==2?1:n<7?2:n<11?3:4},11:function(n){return n==1||n==11?0:n==2||n==12?1:n>2&&n<20?2:3},12:function(n){return+(n%10!=1||n%100==11)},13:function(n){return+(n!==0)},14:function(n){return n==1?0:n==2?1:n==3?2:3},15:function(n){return n%10==1&&n%100!=11?0:n%10>=2&&(n%100<10||n%100>=20)?1:2},16:function(n){return n%10==1&&n%100!=11?0:n!==0?1:2},17:function(n){return n==1||n%10==1&&n%100!=11?0:1},18:function(n){return n==0?0:n==1?1:2},19:function(n){return n==1?0:n==0||n%100>1&&n%100<11?1:n%100>10&&n%100<20?2:3},20:function(n){return n==1?0:n==0||n%100>0&&n%100<20?1:2},21:function(n){return n%100==1?1:n%100==2?2:n%100==3||n%100==4?3:0},22:function(n){return n==1?0:n==2?1:(n<0||n>10)&&n%10==0?2:3}};const oot=["v1","v2","v3"],sot=["v4"],zfe={zero:0,one:1,two:2,few:3,many:4,other:5};function aot(){const n={};return iot.forEach(e=>{e.lngs.forEach(t=>{n[t]={numbers:e.nr,plurals:rot[e.fc]}})}),n}class lot{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=Tm.create("pluralResolver"),(!this.options.compatibilityJSON||sot.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=aot()}addRule(e,t){this.rules[e]=t}getRule(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(oR(e==="dev"?"en":e),{type:t.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}needsPlural(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const i=this.getRule(e,t);return this.shouldUseIntlApi()?i&&i.resolvedOptions().pluralCategories.length>1:i&&i.numbers.length>1}getPluralFormsOfKey(e,t){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(e,i).map(r=>`${t}${r}`)}getSuffixes(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const i=this.getRule(e,t);return i?this.shouldUseIntlApi()?i.resolvedOptions().pluralCategories.sort((r,o)=>zfe[r]-zfe[o]).map(r=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${r}`):i.numbers.map(r=>this.getSuffix(e,r,t)):[]}getSuffix(e,t){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const r=this.getRule(e,i);return r?this.shouldUseIntlApi()?`${this.options.prepend}${i.ordinal?`ordinal${this.options.prepend}`:""}${r.select(t)}`:this.getSuffixRetroCompatible(r,t):(this.logger.warn(`no plural rule found for: ${e}`),"")}getSuffixRetroCompatible(e,t){const i=e.noAbs?e.plurals(t):e.plurals(Math.abs(t));let r=e.numbers[i];this.options.simplifyPluralSuffix&&e.numbers.length===2&&e.numbers[0]===1&&(r===2?r="plural":r===1&&(r=""));const o=()=>this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString();return this.options.compatibilityJSON==="v1"?r===1?"":typeof r=="number"?`_plural_${r.toString()}`:o():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&e.numbers.length===2&&e.numbers[0]===1?o():this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString()}shouldUseIntlApi(){return!oot.includes(this.options.compatibilityJSON)}}function Hfe(n,e,t){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=jrt(n,e,t);return!o&&r&&typeof t=="string"&&(o=Nz(n,t,i),o===void 0&&(o=Nz(e,t,i))),o}class uot{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Tm.create("interpolator"),this.options=e,this.format=e.interpolation&&e.interpolation.format||(t=>t),this.init(e)}init(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const t=e.interpolation;this.escape=t.escape!==void 0?t.escape:$rt,this.escapeValue=t.escapeValue!==void 0?t.escapeValue:!0,this.useRawValueToEscape=t.useRawValueToEscape!==void 0?t.useRawValueToEscape:!1,this.prefix=t.prefix?$S(t.prefix):t.prefixEscaped||"{{",this.suffix=t.suffix?$S(t.suffix):t.suffixEscaped||"}}",this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||",",this.unescapePrefix=t.unescapeSuffix?"":t.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":t.unescapeSuffix||"",this.nestingPrefix=t.nestingPrefix?$S(t.nestingPrefix):t.nestingPrefixEscaped||$S("$t("),this.nestingSuffix=t.nestingSuffix?$S(t.nestingSuffix):t.nestingSuffixEscaped||$S(")"),this.nestingOptionsSeparator=t.nestingOptionsSeparator?t.nestingOptionsSeparator:t.nestingOptionsSeparator||",",this.maxReplaces=t.maxReplaces?t.maxReplaces:1e3,this.alwaysFormat=t.alwaysFormat!==void 0?t.alwaysFormat:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(t,i)=>t&&t.source===i?(t.lastIndex=0,t):new RegExp(i,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,t,i,r){let o,s,a;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(f){return f.replace(/\$/g,"$$$$")}const c=f=>{if(f.indexOf(this.formatSeparator)<0){const C=Hfe(t,l,f,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(C,void 0,i,{...r,...t,interpolationkey:f}):C}const g=f.split(this.formatSeparator),b=g.shift().trim(),y=g.join(this.formatSeparator).trim();return this.format(Hfe(t,l,b,this.options.keySeparator,this.options.ignoreJSONStructure),y,i,{...r,...t,interpolationkey:b})};this.resetRegExp();const d=r&&r.missingInterpolationHandler||this.options.missingInterpolationHandler,h=r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:f=>u(f)},{regex:this.regexp,safeValue:f=>this.escapeValue?u(this.escape(f)):u(f)}].forEach(f=>{for(a=0;o=f.regex.exec(e);){const g=o[1].trim();if(s=c(g),s===void 0)if(typeof d=="function"){const y=d(e,o,r);s=typeof y=="string"?y:""}else if(r&&Object.prototype.hasOwnProperty.call(r,g))s="";else if(h){s=o[0];continue}else this.logger.warn(`missed to pass in variable ${g} for interpolating ${e}`),s="";else typeof s!="string"&&!this.useRawValueToEscape&&(s=Afe(s));const b=f.safeValue(s);if(e=e.replace(o[0],b),h?(f.regex.lastIndex+=s.length,f.regex.lastIndex-=o[0].length):f.regex.lastIndex=0,a++,a>=this.maxReplaces)break}}),e}nest(e,t){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r,o,s;function a(l,u){const c=this.nestingOptionsSeparator;if(l.indexOf(c)<0)return l;const d=l.split(new RegExp(`${c}[ ]*{`));let h=`{${d[1]}`;l=d[0],h=this.interpolate(h,s);const m=h.match(/'/g),f=h.match(/"/g);(m&&m.length%2===0&&!f||f.length%2!==0)&&(h=h.replace(/'/g,'"'));try{s=JSON.parse(h),u&&(s={...u,...s})}catch(g){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,g),`${l}${c}${h}`}return s.defaultValue&&s.defaultValue.indexOf(this.prefix)>-1&&delete s.defaultValue,l}for(;r=this.nestingRegexp.exec(e);){let l=[];s={...i},s=s.replace&&typeof s.replace!="string"?s.replace:s,s.applyPostProcessor=!1,delete s.defaultValue;let u=!1;if(r[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(r[1])){const c=r[1].split(this.formatSeparator).map(d=>d.trim());r[1]=c.shift(),l=c,u=!0}if(o=t(a.call(this,r[1].trim(),s),s),o&&r[0]===e&&typeof o!="string")return o;typeof o!="string"&&(o=Afe(o)),o||(this.logger.warn(`missed to resolve ${r[1]} for nesting ${e}`),o=""),u&&(o=l.reduce((c,d)=>this.format(c,d,i.lng,{...i,interpolationkey:r[1].trim()}),o.trim())),e=e.replace(r[0],o),this.regexp.lastIndex=0}return e}}function cot(n){let e=n.toLowerCase().trim();const t={};if(n.indexOf("(")>-1){const i=n.split("(");e=i[0].toLowerCase().trim();const r=i[1].substring(0,i[1].length-1);e==="currency"&&r.indexOf(":")<0?t.currency||(t.currency=r.trim()):e==="relativetime"&&r.indexOf(":")<0?t.range||(t.range=r.trim()):r.split(";").forEach(s=>{if(!s)return;const[a,...l]=s.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,"");t[a.trim()]||(t[a.trim()]=u),u==="false"&&(t[a.trim()]=!1),u==="true"&&(t[a.trim()]=!0),isNaN(u)||(t[a.trim()]=parseInt(u,10))})}return{formatName:e,formatOptions:t}}function qS(n){const e={};return function(i,r,o){const s=r+JSON.stringify(o);let a=e[s];return a||(a=n(oR(r),o),e[s]=a),a(i)}}class dot{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Tm.create("formatter"),this.options=e,this.formats={number:qS((t,i)=>{const r=new Intl.NumberFormat(t,{...i});return o=>r.format(o)}),currency:qS((t,i)=>{const r=new Intl.NumberFormat(t,{...i,style:"currency"});return o=>r.format(o)}),datetime:qS((t,i)=>{const r=new Intl.DateTimeFormat(t,{...i});return o=>r.format(o)}),relativetime:qS((t,i)=>{const r=new Intl.RelativeTimeFormat(t,{...i});return o=>r.format(o,i.range||"day")}),list:qS((t,i)=>{const r=new Intl.ListFormat(t,{...i});return o=>r.format(o)})},this.init(e)}init(e){const i=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=i.formatSeparator?i.formatSeparator:i.formatSeparator||","}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=qS(t)}format(e,t,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return t.split(this.formatSeparator).reduce((a,l)=>{const{formatName:u,formatOptions:c}=cot(l);if(this.formats[u]){let d=a;try{const h=r&&r.formatParams&&r.formatParams[r.interpolationkey]||{},m=h.locale||h.lng||r.locale||r.lng||i;d=this.formats[u](a,m,{...c,...r,...h})}catch(h){this.logger.warn(h)}return d}else this.logger.warn(`there was no format function for ${u}`);return a},e)}}function hot(n,e){n.pending[e]!==void 0&&(delete n.pending[e],n.pendingCount--)}class mot extends iR{constructor(e,t,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=e,this.store=t,this.services=i,this.languageUtils=i.languageUtils,this.options=r,this.logger=Tm.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(i,r.backend,r)}queueLoad(e,t,i,r){const o={},s={},a={},l={};return e.forEach(u=>{let c=!0;t.forEach(d=>{const h=`${u}|${d}`;!i.reload&&this.store.hasResourceBundle(u,d)?this.state[h]=2:this.state[h]<0||(this.state[h]===1?s[h]===void 0&&(s[h]=!0):(this.state[h]=1,c=!1,s[h]===void 0&&(s[h]=!0),o[h]===void 0&&(o[h]=!0),l[d]===void 0&&(l[d]=!0)))}),c||(a[u]=!0)}),(Object.keys(o).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(o),pending:Object.keys(s),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(l)}}loaded(e,t,i){const r=e.split("|"),o=r[0],s=r[1];t&&this.emit("failedLoading",o,s,t),i&&this.store.addResourceBundle(o,s,i,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2;const a={};this.queue.forEach(l=>{Jrt(l.loaded,[o],s),hot(l,e),t&&l.errors.push(t),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{a[u]||(a[u]={});const c=l.loaded[u];c.length&&c.forEach(d=>{a[u][d]===void 0&&(a[u][d]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(l=>!l.done)}read(e,t,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,s=arguments.length>5?arguments[5]:void 0;if(!e.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:t,fcName:i,tried:r,wait:o,callback:s});return}this.readingCalls++;const a=(u,c)=>{if(this.readingCalls--,this.waitingReads.length>0){const d=this.waitingReads.shift();this.read(d.lng,d.ns,d.fcName,d.tried,d.wait,d.callback)}if(u&&c&&r{this.read.call(this,e,t,i,r+1,o*2,s)},o);return}s(u,c)},l=this.backend[i].bind(this.backend);if(l.length===2){try{const u=l(e,t);u&&typeof u.then=="function"?u.then(c=>a(null,c)).catch(a):a(null,u)}catch(u){a(u)}return}return l(e,t,a)}prepareLoading(e,t){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),r&&r();typeof e=="string"&&(e=this.languageUtils.toResolveHierarchy(e)),typeof t=="string"&&(t=[t]);const o=this.queueLoad(e,t,i,r);if(!o.toLoad.length)return o.pending.length||r(),null;o.toLoad.forEach(s=>{this.loadOne(s)})}load(e,t,i){this.prepareLoading(e,t,{},i)}reload(e,t,i){this.prepareLoading(e,t,{reload:!0},i)}loadOne(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const i=e.split("|"),r=i[0],o=i[1];this.read(r,o,"read",void 0,void 0,(s,a)=>{s&&this.logger.warn(`${t}loading namespace ${o} for language ${r} failed`,s),!s&&a&&this.logger.log(`${t}loaded namespace ${o} for language ${r}`,a),this.loaded(e,s,a)})}saveMissing(e,t,i,r,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t)){this.logger.warn(`did not save key "${i}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(i==null||i==="")){if(this.backend&&this.backend.create){const l={...s,isUpdate:o},u=this.backend.create.bind(this.backend);if(u.length<6)try{let c;u.length===5?c=u(e,t,i,r,l):c=u(e,t,i,r),c&&typeof c.then=="function"?c.then(d=>a(null,d)).catch(a):a(null,c)}catch(c){a(c)}else u(e,t,i,r,a,l)}!e||!e[0]||this.store.addResource(e[0],t,i,r)}}}function Yfe(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){let t={};if(typeof e[1]=="object"&&(t=e[1]),typeof e[1]=="string"&&(t.defaultValue=e[1]),typeof e[2]=="string"&&(t.tDescription=e[2]),typeof e[2]=="object"||typeof e[3]=="object"){const i=e[3]||e[2];Object.keys(i).forEach(r=>{t[r]=i[r]})}return t},interpolation:{escapeValue:!0,format:n=>n,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function Ufe(n){return typeof n.ns=="string"&&(n.ns=[n.ns]),typeof n.fallbackLng=="string"&&(n.fallbackLng=[n.fallbackLng]),typeof n.fallbackNS=="string"&&(n.fallbackNS=[n.fallbackNS]),n.supportedLngs&&n.supportedLngs.indexOf("cimode")<0&&(n.supportedLngs=n.supportedLngs.concat(["cimode"])),n}function aR(){}function fot(n){Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach(t=>{typeof n[t]=="function"&&(n[t]=n[t].bind(n))})}class NI extends iR{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;if(super(),this.options=Ufe(e),this.services={},this.logger=Tm,this.modules={external:[]},fot(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initImmediate)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(){var e=this;let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof t=="function"&&(i=t,t={}),!t.defaultNS&&t.defaultNS!==!1&&t.ns&&(typeof t.ns=="string"?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));const r=Yfe();this.options={...r,...this.options,...Ufe(t)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...r.interpolation,...this.options.interpolation}),t.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=t.keySeparator),t.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=t.nsSeparator);function o(c){return c?typeof c=="function"?new c:c:null}if(!this.options.isClone){this.modules.logger?Tm.init(o(this.modules.logger),this.options):Tm.init(null,this.options);let c;this.modules.formatter?c=this.modules.formatter:typeof Intl<"u"&&(c=dot);const d=new Bfe(this.options);this.store=new Xfe(this.options.resources,this.options);const h=this.services;h.logger=Tm,h.resourceStore=this.store,h.languageUtils=d,h.pluralResolver=new lot(d,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),c&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(h.formatter=o(c),h.formatter.init(h,this.options),this.options.interpolation.format=h.formatter.format.bind(h.formatter)),h.interpolator=new uot(this.options),h.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},h.backendConnector=new mot(o(this.modules.backend),h.resourceStore,h,this.options),h.backendConnector.on("*",function(m){for(var f=arguments.length,g=new Array(f>1?f-1:0),b=1;b1?f-1:0),b=1;b{m.init&&m.init(this)})}if(this.format=this.options.interpolation.format,i||(i=aR),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const c=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);c.length>0&&c[0]!=="dev"&&(this.options.lng=c[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(c=>{this[c]=function(){return e.store[c](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(c=>{this[c]=function(){return e.store[c](...arguments),e}});const l=FI(),u=()=>{const c=(d,h)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(h),i(d,h)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return c(null,this.t.bind(this));this.changeLanguage(this.options.lng,c)};return this.options.resources||!this.options.initImmediate?u():setTimeout(u,0),l}loadResources(e){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:aR;const r=typeof e=="string"?e:this.language;if(typeof e=="function"&&(i=e),!this.options.resources||this.options.partialBundledLanguages){if(r&&r.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return i();const o=[],s=a=>{if(!a||a==="cimode")return;this.services.languageUtils.toResolveHierarchy(a).forEach(u=>{u!=="cimode"&&o.indexOf(u)<0&&o.push(u)})};r?s(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>s(l)),this.options.preload&&this.options.preload.forEach(a=>s(a)),this.services.backendConnector.load(o,this.options.ns,a=>{!a&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),i(a)})}else i(null)}reloadResources(e,t,i){const r=FI();return e||(e=this.languages),t||(t=this.options.ns),i||(i=aR),this.services.backendConnector.reload(e,t,o=>{r.resolve(),i(o)}),r}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return e.type==="backend"&&(this.modules.backend=e),(e.type==="logger"||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type==="languageDetector"&&(this.modules.languageDetector=e),e.type==="i18nFormat"&&(this.modules.i18nFormat=e),e.type==="postProcessor"&&Pfe.addPostProcessor(e),e.type==="formatter"&&(this.modules.formatter=e),e.type==="3rdParty"&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&!(["cimode","dev"].indexOf(e)>-1))for(let t=0;t-1)&&this.store.hasLanguageSomeTranslations(i)){this.resolvedLanguage=i;break}}}changeLanguage(e,t){var i=this;this.isLanguageChangingTo=e;const r=FI();this.emit("languageChanging",e);const o=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},s=(l,u)=>{u?(o(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,r.resolve(function(){return i.t(...arguments)}),t&&t(l,function(){return i.t(...arguments)})},a=l=>{!e&&!l&&this.services.languageDetector&&(l=[]);const u=typeof l=="string"?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||o(u),this.translator.language||this.translator.changeLanguage(u),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(u)),this.loadResources(u,c=>{s(c,u)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e),r}getFixedT(e,t,i){var r=this;const o=function(s,a){let l;if(typeof a!="object"){for(var u=arguments.length,c=new Array(u>2?u-2:0),d=2;d`${l.keyPrefix}${h}${f}`):m=l.keyPrefix?`${l.keyPrefix}${h}${s}`:s,r.t(m,l)};return typeof e=="string"?o.lng=e:o.lngs=e,o.ns=t,o.keyPrefix=i,o}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const i=t.lng||this.resolvedLanguage||this.languages[0],r=this.options?this.options.fallbackLng:!1,o=this.languages[this.languages.length-1];if(i.toLowerCase()==="cimode")return!0;const s=(a,l)=>{const u=this.services.backendConnector.state[`${a}|${l}`];return u===-1||u===2};if(t.precheck){const a=t.precheck(this,s);if(a!==void 0)return a}return!!(this.hasResourceBundle(i,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||s(i,e)&&(!r||s(o,e)))}loadNamespaces(e,t){const i=FI();return this.options.ns?(typeof e=="string"&&(e=[e]),e.forEach(r=>{this.options.ns.indexOf(r)<0&&this.options.ns.push(r)}),this.loadResources(r=>{i.resolve(),t&&t(r)}),i):(t&&t(),Promise.resolve())}loadLanguages(e,t){const i=FI();typeof e=="string"&&(e=[e]);const r=this.options.preload||[],o=e.filter(s=>r.indexOf(s)<0);return o.length?(this.options.preload=r.concat(o),this.loadResources(s=>{i.resolve(),t&&t(s)}),i):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!e)return"rtl";const t=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],i=this.services&&this.services.languageUtils||new Bfe(Yfe());return t.indexOf(i.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return new NI(e,t)}cloneInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:aR;const i=e.forkResourceStore;i&&delete e.forkResourceStore;const r={...this.options,...e,isClone:!0},o=new NI(r);return(e.debug!==void 0||e.prefix!==void 0)&&(o.logger=o.logger.clone(e)),["store","services","language"].forEach(a=>{o[a]=this[a]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},i&&(o.store=new Xfe(this.store.data,r),o.services.resourceStore=o.store),o.translator=new sR(o.services,r),o.translator.on("*",function(a){for(var l=arguments.length,u=new Array(l>1?l-1:0),c=1;c0){var a=r.maxAge-0;if(Number.isNaN(a))throw new Error("maxAge should be a Number");s+="; Max-Age=".concat(Math.floor(a))}if(r.domain){if(!Jfe.test(r.domain))throw new TypeError("option domain is invalid");s+="; Domain=".concat(r.domain)}if(r.path){if(!Jfe.test(r.path))throw new TypeError("option path is invalid");s+="; Path=".concat(r.path)}if(r.expires){if(typeof r.expires.toUTCString!="function")throw new TypeError("option expires is invalid");s+="; Expires=".concat(r.expires.toUTCString())}if(r.httpOnly&&(s+="; HttpOnly"),r.secure&&(s+="; Secure"),r.sameSite){var l=typeof r.sameSite=="string"?r.sameSite.toLowerCase():r.sameSite;switch(l){case!0:s+="; SameSite=Strict";break;case"lax":s+="; SameSite=Lax";break;case"strict":s+="; SameSite=Strict";break;case"none":s+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return s},jfe={create:function(e,t,i,r){var o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};i&&(o.expires=new Date,o.expires.setTime(o.expires.getTime()+i*60*1e3)),r&&(o.domain=r),document.cookie=yot(e,encodeURIComponent(t),o)},read:function(e){for(var t="".concat(e,"="),i=document.cookie.split(";"),r=0;r-1&&(i=window.location.hash.substring(window.location.hash.indexOf("?")));for(var r=i.substring(1),o=r.split("&"),s=0;s0){var l=o[s].substring(0,a);l===e.lookupQuerystring&&(t=o[s].substring(a+1))}}}return t}},MI=null,Qfe=function(){if(MI!==null)return MI;try{MI=window!=="undefined"&&window.localStorage!==null;var e="i18next.translate.boo";window.localStorage.setItem(e,"foo"),window.localStorage.removeItem(e)}catch{MI=!1}return MI},Sot={name:"localStorage",lookup:function(e){var t;if(e.lookupLocalStorage&&Qfe()){var i=window.localStorage.getItem(e.lookupLocalStorage);i&&(t=i)}return t},cacheUserLanguage:function(e,t){t.lookupLocalStorage&&Qfe()&&window.localStorage.setItem(t.lookupLocalStorage,e)}},kI=null,$fe=function(){if(kI!==null)return kI;try{kI=window!=="undefined"&&window.sessionStorage!==null;var e="i18next.translate.boo";window.sessionStorage.setItem(e,"foo"),window.sessionStorage.removeItem(e)}catch{kI=!1}return kI},wot={name:"sessionStorage",lookup:function(e){var t;if(e.lookupSessionStorage&&$fe()){var i=window.sessionStorage.getItem(e.lookupSessionStorage);i&&(t=i)}return t},cacheUserLanguage:function(e,t){t.lookupSessionStorage&&$fe()&&window.sessionStorage.setItem(t.lookupSessionStorage,e)}},xot={name:"navigator",lookup:function(e){var t=[];if(typeof navigator<"u"){if(navigator.languages)for(var i=0;i0?t:void 0}},_ot={name:"htmlTag",lookup:function(e){var t,i=e.htmlTag||(typeof document<"u"?document.documentElement:null);return i&&typeof i.getAttribute=="function"&&(t=i.getAttribute("lang")),t}},Lot={name:"path",lookup:function(e){var t;if(typeof window<"u"){var i=window.location.pathname.match(/\/([a-zA-Z-]*)/g);if(i instanceof Array)if(typeof e.lookupFromPathIndex=="number"){if(typeof i[e.lookupFromPathIndex]!="string")return;t=i[e.lookupFromPathIndex].replace("/","")}else t=i[0].replace("/","")}return t}},Iot={name:"subdomain",lookup:function(e){var t=typeof e.lookupFromSubdomainIndex=="number"?e.lookupFromSubdomainIndex+1:1,i=typeof window<"u"&&window.location&&window.location.hostname&&window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(i)return i[t]}};function Fot(){return{order:["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"],lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:function(e){return e}}}var qfe=function(){function n(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};xs(this,n),this.type="languageDetector",this.detectors={},this.init(e,t)}return _s(n,[{key:"init",value:function(t){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=t||{languageUtils:{}},this.options=bot(i,this.options||{},Fot()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=function(o){return o.replace("-","_")}),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=r,this.addDetector(vot),this.addDetector(Cot),this.addDetector(Sot),this.addDetector(wot),this.addDetector(xot),this.addDetector(_ot),this.addDetector(Lot),this.addDetector(Iot)}},{key:"addDetector",value:function(t){return this.detectors[t.name]=t,this}},{key:"detect",value:function(t){var i=this;t||(t=this.options.order);var r=[];return t.forEach(function(o){if(i.detectors[o]){var s=i.detectors[o].lookup(i.options);s&&typeof s=="string"&&(s=[s]),s&&(r=r.concat(s))}}),r=r.map(function(o){return i.options.convertDetectedLanguage(o)}),this.services.languageUtils.getBestMatchFromCodes?r:r.length>0?r[0]:null}},{key:"cacheUserLanguage",value:function(t,i){var r=this;i||(i=this.options.caches),i&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(t)>-1||i.forEach(function(o){r.detectors[o]&&r.detectors[o].cacheUserLanguage(t,r.options)}))}}]),n}();qfe.type="languageDetector",is.use(_Ue).use(qfe).init({fallbackLng:by.en,interpolation:{escapeValue:!1},resources:$Ue});const Dot=S.createContext(null),kz={didCatch:!1,error:null};class Not extends S.Component{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=kz}static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(){const{error:e}=this.state;if(e!==null){for(var t,i,r=arguments.length,o=new Array(r),s=0;s0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return n.length!==e.length||n.some((t,i)=>!Object.is(t,e[i]))}function kot({error:n,resetErrorBoundary:e}){return Gt("div",{role:"alert",children:[se("p",{children:"Something went wrong:"}),se("pre",{style:{color:"red"},children:Yde(n)?n:n.message}),se("button",{onClick:e,children:"Try again"})]})}function Tot(n,e){Fue.error({title:n.message,content:e.componentStack,width:756})}function Eot({children:n}){return se(Not,{fallbackRender:kot,onError:Tot,onReset:e=>{},children:n})}function Rot(){return se(Eot,{children:se(Mfe,{})})}const Zot=S.lazy(()=>Promise.resolve().then(()=>Cst)),lR="/login";se(Zot,{});const Wot=S.lazy(()=>Promise.resolve().then(()=>fst)),Aot=S.lazy(()=>Promise.resolve().then(()=>YHt)),Wy="service",Vot={path:`${Wy}`,element:se(Wot,{}),children:[{path:":operationId",element:se(Aot,{})}]},Got=S.lazy(()=>Promise.resolve().then(()=>rYt)),ege="/postman";se(Got,{});function Xot(){return[{path:"/",element:se(Rot,{}),children:[{index:!0,element:se(Mrt,{to:Wy})},Vot]}]}const Pot=Xot();IX.createRoot(document.getElementById("openapi-ui-container")).render(Gt(S.StrictMode,{children:[se(Cit,{}),se(rKe,{}),se(cEe,{styles:{name:"n4z5sn",styles:"body{margin:0;padding:0;}"}}),se(zrt,{children:se(eKe,{children:se(Brt,{children:se(Ort,{routes:Pot,isHashRouter:!0})})})})]}));function tge(n,e){if(!n||!n.trim())return{};Jde(n,"?")&&(n=n.slice(1));var t={},i=n.split("&");return i.forEach(function(r){var o=r.split("="),s=o[0],a=o[1],l=a===void 0?"":a;t[s]?Array.isArray(t[s])?t[s].push(e?l:decodeURIComponent(l)):t[s]=[t[s],e?l:decodeURIComponent(l)]:t[s]=e?l:decodeURIComponent(l)}),t}function kb(n,e){if(!n)return"";var t=ph(n,function(i,r,o){var s="";return Array.isArray(r)?s=ph(r,function(a,l){return l=l||String(l)==="0"?"".concat(o,"=").concat(e?l:encodeURIComponent(l)):"",a?"".concat(a).concat(l?"&".concat(l):""):l},""):s=r||String(r)==="0"?"".concat(o,"=").concat(e?r:encodeURIComponent(r)):"",i?"".concat(i).concat(s?"&".concat(s):""):s},"");return t?"?".concat(t):""}function Oot(){var n=Zy().search,e=vg(),t=S.useRef(tge(n)),i=function(r){var o=r(t.current);t.current=o,e(kb(o),{replace:!0})};return[t.current,i]}const Bot="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3csvg%20width='1361px'%20height='609px'%20viewBox='0%200%201361%20609'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3eOpenAPI%20UI%3c/title%3e%3cdesc%3eOpenAPI%20UI%3c/desc%3e%3cdefs%3e%3c/defs%3e%3cg%20id='OpenAPI-UI'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3cg%20id='背景'%20transform='translate(-79.000000,%20-82.000000)'%3e%3cg%20id='Group-21'%20transform='translate(77.000000,%2073.000000)'%3e%3cg%20id='Group-18'%20opacity='0.8'%20transform='translate(74.901416,%20569.699158)%20rotate(-7.000000)%20translate(-74.901416,%20-569.699158)%20translate(4.901416,%20525.199158)'%3e%3cellipse%20id='Oval-11'%20fill='%23CFDAE6'%20opacity='0.25'%20cx='63.5748792'%20cy='32.468367'%20rx='21.7830479'%20ry='21.766008'%3e%3c/ellipse%3e%3cellipse%20id='Oval-3'%20fill='%23CFDAE6'%20opacity='0.599999964'%20cx='5.98746479'%20cy='13.8668601'%20rx='5.2173913'%20ry='5.21330997'%3e%3c/ellipse%3e%3cpath%20d='M38.1354514,88.3520215%20C43.8984227,88.3520215%2048.570234,83.6838647%2048.570234,77.9254015%20C48.570234,72.1669383%2043.8984227,67.4987816%2038.1354514,67.4987816%20C32.3724801,67.4987816%2027.7006688,72.1669383%2027.7006688,77.9254015%20C27.7006688,83.6838647%2032.3724801,88.3520215%2038.1354514,88.3520215%20Z'%20id='Oval-3-Copy'%20fill='%23CFDAE6'%20opacity='0.45'%3e%3c/path%3e%3cpath%20d='M64.2775582,33.1704963%20L119.185836,16.5654915'%20id='Path-12'%20stroke='%23CFDAE6'%20stroke-width='1.73913043'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3c/path%3e%3cpath%20d='M42.1431708,26.5002681%20L7.71190162,14.5640702'%20id='Path-16'%20stroke='%23E0B4B7'%20stroke-width='0.702678964'%20opacity='0.7'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-dasharray='1.405357899873153,2.108036953469981'%3e%3c/path%3e%3cpath%20d='M63.9262187,33.521561%20L43.6721326,69.3250951'%20id='Path-15'%20stroke='%23BACAD9'%20stroke-width='0.702678964'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-dasharray='1.405357899873153,2.108036953469981'%3e%3c/path%3e%3cg%20id='Group-17'%20transform='translate(126.850922,%2013.543654)%20rotate(30.000000)%20translate(-126.850922,%20-13.543654)%20translate(117.285705,%204.381889)'%20fill='%23CFDAE6'%3e%3cellipse%20id='Oval-4'%20opacity='0.45'%20cx='9.13482653'%20cy='9.12768076'%20rx='9.13482653'%20ry='9.12768076'%3e%3c/ellipse%3e%3cpath%20d='M18.2696531,18.2553615%20C18.2696531,13.2142826%2014.1798519,9.12768076%209.13482653,9.12768076%20C4.08980114,9.12768076%200,13.2142826%200,18.2553615%20L18.2696531,18.2553615%20Z'%20id='Oval-4'%20transform='translate(9.134827,%2013.691521)%20scale(-1,%20-1)%20translate(-9.134827,%20-13.691521)%20'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3cg%20id='Group-14'%20transform='translate(216.294700,%20123.725600)%20rotate(-5.000000)%20translate(-216.294700,%20-123.725600)%20translate(106.294700,%2035.225600)'%3e%3cellipse%20id='Oval-2'%20fill='%23CFDAE6'%20opacity='0.25'%20cx='29.1176471'%20cy='29.1402439'%20rx='29.1176471'%20ry='29.1402439'%3e%3c/ellipse%3e%3cellipse%20id='Oval-2'%20fill='%23CFDAE6'%20opacity='0.3'%20cx='29.1176471'%20cy='29.1402439'%20rx='21.5686275'%20ry='21.5853659'%3e%3c/ellipse%3e%3cellipse%20id='Oval-2-Copy'%20stroke='%23CFDAE6'%20opacity='0.4'%20cx='179.019608'%20cy='138.146341'%20rx='23.7254902'%20ry='23.7439024'%3e%3c/ellipse%3e%3cellipse%20id='Oval-2'%20fill='%23BACAD9'%20opacity='0.5'%20cx='29.1176471'%20cy='29.1402439'%20rx='10.7843137'%20ry='10.7926829'%3e%3c/ellipse%3e%3cpath%20d='M29.1176471,39.9329268%20L29.1176471,18.347561%20C23.1616351,18.347561%2018.3333333,23.1796097%2018.3333333,29.1402439%20C18.3333333,35.1008781%2023.1616351,39.9329268%2029.1176471,39.9329268%20Z'%20id='Oval-2'%20fill='%23BACAD9'%3e%3c/path%3e%3cg%20id='Group-9'%20opacity='0.45'%20transform='translate(172.000000,%20131.000000)'%20fill='%23E6A1A6'%3e%3cellipse%20id='Oval-2-Copy-2'%20cx='7.01960784'%20cy='7.14634146'%20rx='6.47058824'%20ry='6.47560976'%3e%3c/ellipse%3e%3cpath%20d='M0.549019608,13.6219512%20C4.12262681,13.6219512%207.01960784,10.722722%207.01960784,7.14634146%20C7.01960784,3.56996095%204.12262681,0.670731707%200.549019608,0.670731707%20L0.549019608,13.6219512%20Z'%20id='Oval-2-Copy-2'%20transform='translate(3.784314,%207.146341)%20scale(-1,%201)%20translate(-3.784314,%20-7.146341)%20'%3e%3c/path%3e%3c/g%3e%3cellipse%20id='Oval-10'%20fill='%23CFDAE6'%20cx='218.382353'%20cy='138.685976'%20rx='1.61764706'%20ry='1.61890244'%3e%3c/ellipse%3e%3cellipse%20id='Oval-10-Copy-2'%20fill='%23E0B4B7'%20opacity='0.35'%20cx='179.558824'%20cy='175.381098'%20rx='1.61764706'%20ry='1.61890244'%3e%3c/ellipse%3e%3cellipse%20id='Oval-10-Copy'%20fill='%23E0B4B7'%20opacity='0.35'%20cx='180.098039'%20cy='102.530488'%20rx='2.15686275'%20ry='2.15853659'%3e%3c/ellipse%3e%3cpath%20d='M28.9985381,29.9671598%20L171.151018,132.876024'%20id='Path-11'%20stroke='%23CFDAE6'%20opacity='0.8'%3e%3c/path%3e%3c/g%3e%3cg%20id='Group-10'%20opacity='0.799999952'%20transform='translate(1054.100635,%2036.659317)%20rotate(-11.000000)%20translate(-1054.100635,%20-36.659317)%20translate(1026.600635,%204.659317)'%3e%3cellipse%20id='Oval-7'%20stroke='%23CFDAE6'%20stroke-width='0.941176471'%20cx='43.8135593'%20cy='32'%20rx='11.1864407'%20ry='11.2941176'%3e%3c/ellipse%3e%3cg%20id='Group-12'%20transform='translate(34.596774,%2023.111111)'%20fill='%23BACAD9'%3e%3cellipse%20id='Oval-7'%20opacity='0.45'%20cx='9.18534718'%20cy='8.88888889'%20rx='8.47457627'%20ry='8.55614973'%3e%3c/ellipse%3e%3cpath%20d='M9.18534718,17.4450386%20C13.8657264,17.4450386%2017.6599235,13.6143199%2017.6599235,8.88888889%20C17.6599235,4.16345787%2013.8657264,0.332739156%209.18534718,0.332739156%20L9.18534718,17.4450386%20Z'%20id='Oval-7'%3e%3c/path%3e%3c/g%3e%3cpath%20d='M34.6597385,24.809694%20L5.71666084,4.76878945'%20id='Path-2'%20stroke='%23CFDAE6'%20stroke-width='0.941176471'%3e%3c/path%3e%3cellipse%20id='Oval'%20stroke='%23CFDAE6'%20stroke-width='0.941176471'%20cx='3.26271186'%20cy='3.29411765'%20rx='3.26271186'%20ry='3.29411765'%3e%3c/ellipse%3e%3cellipse%20id='Oval-Copy'%20fill='%23F7E1AD'%20cx='2.79661017'%20cy='61.1764706'%20rx='2.79661017'%20ry='2.82352941'%3e%3c/ellipse%3e%3cpath%20d='M34.6312443,39.2922712%20L5.06366663,59.785082'%20id='Path-10'%20stroke='%23CFDAE6'%20stroke-width='0.941176471'%3e%3c/path%3e%3c/g%3e%3cg%20id='Group-19'%20opacity='0.33'%20transform='translate(1282.537219,%20446.502867)%20rotate(-10.000000)%20translate(-1282.537219,%20-446.502867)%20translate(1142.537219,%20327.502867)'%3e%3cg%20id='Group-17'%20transform='translate(141.333539,%20104.502742)%20rotate(275.000000)%20translate(-141.333539,%20-104.502742)%20translate(129.333539,%2092.502742)'%20fill='%23BACAD9'%3e%3ccircle%20id='Oval-4'%20opacity='0.45'%20cx='11.6666667'%20cy='11.6666667'%20r='11.6666667'%3e%3c/circle%3e%3cpath%20d='M23.3333333,23.3333333%20C23.3333333,16.8900113%2018.1099887,11.6666667%2011.6666667,11.6666667%20C5.22334459,11.6666667%200,16.8900113%200,23.3333333%20L23.3333333,23.3333333%20Z'%20id='Oval-4'%20transform='translate(11.666667,%2017.500000)%20scale(-1,%20-1)%20translate(-11.666667,%20-17.500000)%20'%3e%3c/path%3e%3c/g%3e%3ccircle%20id='Oval-5-Copy-6'%20fill='%23CFDAE6'%20cx='201.833333'%20cy='87.5'%20r='5.83333333'%3e%3c/circle%3e%3cpath%20d='M143.5,88.8126685%20L155.070501,17.6038544'%20id='Path-17'%20stroke='%23BACAD9'%20stroke-width='1.16666667'%3e%3c/path%3e%3cpath%20d='M17.5,37.3333333%20L127.466252,97.6449735'%20id='Path-18'%20stroke='%23BACAD9'%20stroke-width='1.16666667'%3e%3c/path%3e%3cpolyline%20id='Path-19'%20stroke='%23CFDAE6'%20stroke-width='1.16666667'%20points='143.902597%20120.302281%20174.935455%20231.571342%2038.5%20147.510847%20126.366941%20110.833333'%3e%3c/polyline%3e%3cpath%20d='M159.833333,99.7453842%20L195.416667,89.25'%20id='Path-20'%20stroke='%23E0B4B7'%20stroke-width='1.16666667'%20opacity='0.6'%3e%3c/path%3e%3cpath%20d='M205.333333,82.1372105%20L238.719406,36.1666667'%20id='Path-24'%20stroke='%23BACAD9'%20stroke-width='1.16666667'%3e%3c/path%3e%3cpath%20d='M266.723424,132.231988%20L207.083333,90.4166667'%20id='Path-25'%20stroke='%23CFDAE6'%20stroke-width='1.16666667'%3e%3c/path%3e%3ccircle%20id='Oval-5'%20fill='%23C1D1E0'%20cx='156.916667'%20cy='8.75'%20r='8.75'%3e%3c/circle%3e%3ccircle%20id='Oval-5-Copy-3'%20fill='%23C1D1E0'%20cx='39.0833333'%20cy='148.75'%20r='5.25'%3e%3c/circle%3e%3ccircle%20id='Oval-5-Copy-2'%20fill-opacity='0.6'%20fill='%23D1DEED'%20cx='8.75'%20cy='33.25'%20r='8.75'%3e%3c/circle%3e%3ccircle%20id='Oval-5-Copy-4'%20fill-opacity='0.6'%20fill='%23D1DEED'%20cx='243.833333'%20cy='30.3333333'%20r='5.83333333'%3e%3c/circle%3e%3ccircle%20id='Oval-5-Copy-5'%20fill='%23E0B4B7'%20cx='175.583333'%20cy='232.75'%20r='5.25'%3e%3c/circle%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e",nge="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABwYAAAIfCAYAAAB6sbixAAAACXBIWXMAAC4jAAAuIwF4pT92AAAgAElEQVR4nOzdvW4cWbY26HXO18bnNfsKTtaxxivSa4eo/HHGIFCUN0AaSnkDqAGJV0DpCqgCSJssgxhTKkBu/hTaoUfWFVSeKzg85lgzRgRb1B+ZGcyMHTvieQChqtVZzEUmIzMi3r3WjgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADq9W+pCwCATRoORjsRsRsRvfJPRMRfy7/7lpuI+J97/34bETez+fR2e1UCAAAAANRPMAhAtoaDUS8i+hHxYxTBX3+DX/42iqDwJiL+iIjFbD5dbvDrAwAAAADUSjAIQDbKbsDDiPgpihCwV3MJy4hYRMRvUQSFugoBAAAAgGwIBgFotHth4M/lP5vkQ0T8NptPL1IXAgAAAADwGMEgAI00HIz6EfE8ijBwJ201j7qNIiR8a9woAAAAANBUgkEAGmU4GE2iCAT7SQupbhFFQLhIXAcAAAAAwGcEgwA0QhkIHkf9+wZuyyIEhAAAAABAgwgGAUiqHBl6EhG7iUvZlkUICAEAAACABhAMApDEcDDqRREIHiYupS4XEXE0m09vUxcCAAAAAHTT/0pdAADdMxyMXkfE/xPt7RL8lt2I+L9/+OE//98/l39epS4GAAAAAOgeHYMA1KbsEjyPiH7aSpJbRMQz3YMAAAAAQJ3+PXUBAHTDcDCaRMR1CAUjip/Bn8PBqCtjVAEAAACABjBKFICtGw5G5xHxJiL+d+JSmuR/R8T/9cMP//lvfy7/XKQuBgAAAABoP6NEAdia4WC0ExHz6NZeglV8iIgXRosCAAAAANskGARgK4aD0W5EvI+IXuJScnETEQPhIAAAAACwLYJBADauDAXnEbGTupbM3EYRDt6kLgQAAAAAaB/BIAAbJRR8MuEgAAAAALAVgkEANkYouDHCQQAAAABg4wSDAGyEUHDjhIMAAAAAwEYJBgF4MqHg1txGxA+z+fQ2dSEAAAAAQP7+PXUBAORtOBjtRMT7EApuw05EzMufMQAAAADAkwgGAXiqeUT0UhfRYrsRcZ66CAAAAAAgf/8rdQEA5Gs4GJ1HxP+Zuo4O+D9++OE//+3P5Z+L1IUAAAAAAPmyxyAAlQwHo0noZKvbYDafLlIXAQAAAADkSTAIwNqGg1EvIq7DvoJ1u42IH2bz6W3qQgAAAACA/NhjEIAq3odQMIWd0KUJAAAAAFQkGARgLcPB6E1E7Kauo8MOh4PRYeoiAAAAAID8GCUKwMqMEG0MI0UBAAAAgLXpGARgHechFGyCnYg4SV0EAAAAAJAXHYMArGQ4GPUjYp66Dj6zN5tPb1IXAQAAAADkQccgAKs6T10AX9E1CAAAAACsTDAIwKOGg9EkInppq+Ab+mUnJwAAAADAowSDAKziOHUBfJfXBgAAAABYiWAQgAfpFmw8XYMAAAAAwEoEgwA85lXqAniU1wgAAAAAeNS/pS4AgOYqO9HmqetgJT/M5tNl6iIAAAAAgObSMQjAQ56nLoCV6RoEAAAAAB4kGATgm4aD0U5ETFLXwcomqQsAAAAAAJpNMAjA9xymLoC17AwHI68ZAAAAAPBdgkEAvufn1AWwNq8ZAAAAAPBdgkEAvlKOEdV9lh+vGQAAAADwXYJBAL5FwJQn40QBAAAAgO8SDALwLT+lLoDKvHYAAAAAwDcJBgH4Fl1n+eqnLgAAAAAAaCbBIACfGQ5GuxGxk7oOKtst94gEAAAAAPiMYBCAL+2mLoAn66cuAAAAAABoHsEgAF/6MXUBPJlwFwAAAAD4imAQgC8JlfL3U+oCAAAAAIDmEQwC8KV+6gJ4sl7qAgAAAACA5hEMAvAvw8Gol7oGNqKXugAAAAAAoHkEgwDc10tdAJsxHIyMhAUAAAAAPiMYBOC+XuoC2Jid1AUAAAAAAM0iGATgvl7qAtiYXuoCAAAAAIBm+UvqAoDHvbwc7UTEKmMBl2fj6fJ7/+fBeO/u69x8vLy+3VB5QDP1UhcAAAAAADSLYBBq9kXItxufxv39dO9h9/9+HW8j4s0D//9uRMwjIg7Ge/f/fln+ufN7+c/biLiJiPh4eb2oUA/5+WvqAgAAAAAA2A7BIGzBy8tRP4pgbzci/iOKzp27P03Ui89r63/5gHtB4k18Cgz/JyIWEXH78fL6Zov1UZ9VOlMBAAAAAMiQYBAqutf5dxf+3f17lU6/nNwFR/3yn8cR/woOl+Wf3+/+XachAAAAAAA0g2AQVnAvBOxHxI/lv/cSltRUvfJP/+4vysDwJoqg8I8oOgztcQjb99PjDwEAAAAAukQwCN9QjgLdjeLGuhDw6e66KQ/jU4fhTRSB4R8RsTCKFAAAAAAAtkswCPGvILAfRRDYT1lLh9yFhRERcTDeu9u38PcogsJForqgLX5PXQAAAAAA0CyCQTpJENhIO1G8Fv2IOC5HkC4i4rfQUQgAAAAAAE8mGKQTXl6OelEETj+X/9xJWA6r65d/7joKP0TRBfXBHoVb83sIywEAAAAAWkkwSGu9vBzd7Wn3c9wbWUm2diJiUv45L/co/DV0EwIAAAAAwEoEg7RKOSL05ygCwV7SYti2f+1ReDDeW0bRTfirkBD+ZZm6AAAAAACgWQSDZK/sDHwVRRhoRGg39SLidUS8FhI+mZ9ZeyxTFwAAAAAANItgkCyVYeDz0BnI13ohJHwKeze2h9cSAAAAAPiMYJBsvLwc9aIIAl+FMJDV9OJTSHi3J+HFx8trgcn3CVBbYjafei0BAAAAgM8IBmm8l5ejw/jUHQhV3e1JeHIw3rvrIvyQuKbGmc2nt8PB6DaM5c3dMnUBAAAAAEDzCAZppLI78FVETEJAweYdRsRhOWr0rotwmbSiZrmJiH7qIngS3YIAAAAAwFcEgzSK7kBq1ouI44g41kX4GcFg/v5IXQAAAAAA0DyCQZJ7eTnaiaIz0N6BpHS/i/CX6PZehEKl/C1SFwAAAAAANI9gkGTKcaHHUQQyxoXSFL2IOIlPXYRvOzhmdJG6AJ7MKFEAAAAA4Cv/nroAuufl5aj/8nJ0HhF/hj0Eaa67TtY/D8Z75wfjvX7acuozm0+XEbFMXAbV3czm0652uwIAAAAAD9AxSG1eXo76UXQI9tNWAmubRMTkYLy3iKKDcJG0mnosovi+yc8idQEAAAAAQDMJBtm6l5ejwyj2D+wnLgWeqh8R/TIg/PXj5fVF0mq267cQDObqt9QFAAAAAADNJBhka15ejiZRdAj2khYCm9ePIiA8jqKD8CJtOVuxSF0AldzO5tNF6iIAAAAAgGayxyAbV+4heB0R5yEUpN16EXF+MN77s217EJZ71H1IXQdr85oBAAAAAN+lY5CNsYcgHdaLiHkL9yD8LSIOUxfBWowRBQAAAAC+S8cgT/byctR7eTl6HxHzEArSbf0oAsL5wXhvN3UxTzWbTy8i4jZ1HaxsOZtPdQwCAAAAAN+lY5DKXl6OdiLidRRdgsAn/Yi4PhjvXUTRQbhMWs3TfIiISeoiWMmvqQsAAAAAAJpNxyCVvLwcvY6IP0MoCA+ZRBEQvjkY7+2kLqait6kLYGUXqQsAAAAAAJpNMMhaXl6O+i8vR39GxElE5Bp0QJ12ogjQ/zwY700S17K22Xy6jIhF4jJ43EX5WgEAAAAAfJdRoqzk5eVoN4owsJ+4FMjVTkScH4z3nkfE0cfL65vUBa3hbTj2m84YUQAAAADgUToGedTLy1EvIq5DMACb0I9ivOhJRuNFbyLiNnURfNdiNp8uUhcBAAAAADSfYJBHnY2NEoQteB0ZjBcdDkY7ETEPo4ObzD6QAAAAAMBKBIOs6kXqAqCF7saLzg/Ge73UxXzpXii4m7oWvku3IAAAAACwMsEgKym7BnWlwHb0oxgv+jp1IXeEgtmwaAMAAAAAWJlgkIiIOL3a763wsHcRsdxuJdBZOxFxcjDeuz4Y7yUN44SC2Xg3m0+XqYsAAAAAAPIhGCROr/bfRMSfp1f7k4cedzae3kbEUR01QYftRsLuQaFgNm5DFzcAAAAAsCbBYIedXu3vnl7tX0fEcflXJ6dX+zsP/Tdn4+mHiFhsuzYgTuree1AomJUXs/n0NnURAAAAAEBeBIMdVXYJXsfnAcBOfAoJH2JPK6hHP4ruwd62n0gomJUPs/n0Q+oiAAAAAID8CAY75vRqv3d6tT+P7weAr0+v9h8MBs7G02UYYQd1Ofp4eb3c5hMIBbOyDIszAAAAAICKBIMdUu4heB1FF9JDTlb4cu+iuEENbM+Lj5fXF9t8AqFgdowQBQAAAAAqEwx2wOnV/s7p1f55RJxHMS70Mf0yRPyus/H0NnStwDYJBfnS0Ww+XaQuAgAAAADIl2Cw5cqxoNcRMVnzPz05vdp/MEQ8G08XEWGfK9g8oSBfupjNp+9SFwEAAAAA5E0w2GKnV/uvowgFexX+8534/j6E9x1FhLF2sDlCQb50E8V7LQAAAADAkwgGW+je6NBV9gp8yOuy4/C7zsbTZUT88sTnAQpCQb50ExED+woCAAAAAJsgGGyZMsibx/qjQ7/n0XDxbDx9ExHLDT0fdJVQkC/dRsQLoSAAAAAAsCmCwRY5vdo/jM3f9O+fXu1PVnjciw0+J3SNUJAv3UbRKXiTuhAAAAAAoD0Egy1xerX/JiLeR7E34KadnF7tP/h1z8bTRUR82MJzQ9sJBfmSUBAAAAAA2Iq/pC6ApykDu5PY3OjQb9mJiOOIOHrkcUcR0Y/thJPQRkJBvnQTxfhQoSAAAAAAsHE6BjNWhoKb3E/wIa/L/Qu/62w8XUbELzXUAm0gFORLN6FTEAAAAADYIsFgpsqQ7s+o94b/yWMPOBtP30TEcuuVQN6EgnzpIopQ8DZ1IQAAAABAewkGM3R6tT+J4oZ/3SM7++VzP+bFtguBjAkF+dLRbD59IRQEAAAAALZNMJiZMpg7j3T7+J2UI0y/62w8XUTEh3rKgawIBbnvNoouwXepCwEAAAAAukEwmJHTq/3zKELBlHZihZGiEXEUxU1voCAU5L4PEfHDbD5dpC4EAAAAAOgOwWAmylBwkrqO0uT0ar//0APOxtNlRPxSSzXQfEJB7txGxLPZfPrM6FAAAAAAoG6CwYY7vdrfOb3av47mhIJ3Hu0aPBtP30TEcuuVQLMJBbnzLoouQaOWAQAAAIAkBIPNdxLNvNm/e3q1/3qFx73YeiXQXEJBIiIWUQSCR7oEAQAAAICUBIPNdxQRN6mL+I7j06v9nYcecDaeLqLYSwu6RihYzTJ1ARu0iIjBbD4dzObTZeJaAAAAAADiL6kL4GH/+Ps/b0+v9gfRzJv/O1F0ND7WFXgUEf3y8dAFQsFqLmbz6YvhYNSPiFcRcZi4nqo+RMQvs/l0kboQmmk4GO1G8Zm4E5+O4b/Gt4/nnW/8/W18e9HQbUT8ce9/L8p/3uhWBQAAACAi4t9SF8Bqys68poYAg3/8/Z+Lhx7w8nL0JiKOa6mm296Wezt+08F4rx/F7xHbIxSs5mI2n362yGA4GPXiU0DYS1DTOpbxKRBcpi2FJijDv14Ux+mP8SngS7lIZln+uYmI/yr/KTQEAAAA6BDBYEYaHA7e/OPv/9x77EEvL0d/RvNv7udOMJiWULCar0LBLw0Ho8OI+DmKkLAp3ce3UYSBv83mUyOTO6zscr0LAHcjv+PzrgPx9/gUFi6TVgQAAADAVggGM9PgcPDoH3//57uHHvDyctQPodS2CQbTEQpW82go+KUyhPk5ihHFdf8sbqIYz/ibUaHdVf4O9iPip/KfbbSM4nf994hYCAqboeykniQug68t7v27LtyK/H6zAYs6zs8y/V29nc2nD16vsx3DwehN6hrWsJzNpxepi6CQ2e/OWmbz79+3YjMy/azqgsW9f3fdUNG9ezK5uGjiPRXBYAMcjPd2oxiz+eLj5fWjbwgNDQdvI+KHf/z9nw/W//JydB4+mLZJMJiGULCatUPBL5U/l90oTgjuurV6T66ssIwiCPwjipM3J20dVY4F7cenQLqLllGG4lHceHUsJFBeAPkcz8NdJ+4yPh/du0xYU6P5/WYD3tZxsznj39UXQp/6DQej/y91DWtYzObTQeoi+NfEnPep69iiZ6bubFfGn1VdtLz357+iuO5eum74vnLhRE5blg2a2Fzwl9QFdF0ZCs6jGI3XOxjvDR4LB//x93/enl7tD6JZIcFORJxExGM3+Y+iWaMA4amEgtU8ORSMiCjDiUV8vurqLsjZiSIk7H3xn/1U/vP3L/5+Wf65nc2nN0+tjbyVv0PPI489LuvQi2JhzyQiYjgYfYgiJPwgJIRv2olvLCQYDkZfju4VtAN1ORkORjfOcyELz1MXsGXPo9iWA/j6vtVxxFfXDbVMRaBbBIMJHYz3evEpFIwobvrPMw4HJ6dX+7/+4+//XHzvAWfj6e3Ly9HbKEJEyJ1QsJqNhIIPccODKoSBazks/5wLCWEtd4Fh/+4vhoPRTXw6hnx+AduyE8Xn9sDnNTRXeQ/gMHUdW3Y4HIx2vBfBg+5fNxwPB6OIT9t9uG7gyf49dQFddTDe24liLMCXnXN34eCjHXXl2M5BFKsHmuLRwO9sPH0XzaoZqhAKVrP1UBDWMRyMesPB6PVwMPozIq4j4nUIBdd1GBHnEfHfw8HovBxbA6zubluB6+Fg5DgCtunu/QZorknqAmoySV0AZKgfn64b/hwORiflAmdYm2AwgTL0e+hmf87h4O7p1f7rFR53tPVKYHuEgtUIBWmM4WDUHw5G7yPizygWtfTSVtQak4iYlxcpr8v3MmB1O/H5cfRmOBj10pYEtMzrcv8yoJlepS6gJl35PmFbelEsbL523UAVgsGarRAK3sk5HDw+vdp/sO6z8XQRERe1VAObJRSsRihIcsPBaGc4GE3K7sB5tH9ET0q9KALXu+6nXtpyIEu9KFYE/zkcjN7rIgQ2yGczNFDZ+dNLXUdNejqdYGN68em6wfQRViIYrNEaoeCdXMPBnVhtD8GjiDBPnJwIBasRCpJUGQi+iaI78Dy6c7HdFJMoLlDmLlCgssP41EU4SVwLkL+7rU2AZulaF13Xvl+owySK64a5CQE8RDBYr/ex/s3+XMPByenVfv+hB5yNp7cR8baecuDJhILVCAVJ5otA8Di+3teXevXj0wVKP3EtkKteFJ0+AkLgqXaHg9EqC3qBGpT3A7p2E//Q1gOwNf2IeF9eN/QT10IDCQZrcjDeO4/igKwi13Dw0YuMs/H0XTSjVniIULAaoSBJCAQbrx8CQniqXhQB4bXjCHgC+w1CcxxG965buhiGQt168en6u033HHkiwWANylBw8sQvk2M4uHt6tf96hccdbb0SqE4oWI1QkNoJBLPTj08XKL3EtUCudqM4jt5bcQ9UdO79AxrheeoCEunq9w1160fEdbkHoc99BIPbdjDem8TTQ8E7OYaDx6dX+w/WezaeLiLiopZqYD1CwWqEgtSuHKl3HQLBHPXj0ybpXjuo5jCK42iVRXkA99lvEBIrF8n1E5eRSt8iQajVJIrrBt26HScY3KKD8d5hRJxv+MvmFg7uxAojRaPoGrzdci2wDqFgNUJBajUcjHaHg9E8is/bXuJyeJpJCDbgKXYi4qTswhWyA+vol1MXgDRepS4gsa5//1C3nSj2HzR1pMMEg1tyMN7bjc2HgndyCwcnp1f7/YcecDae3kbE23rKgUcJBasRClKbe2NDr6O7q2vb6C7YuLb/AVTWD6uAgfUd27MUkpmkLiAx5yyQxt3UkX7qQqifYHALysBuHtsdZZZbOPhoSHo2nr6L9KNPQShYjVCQ2pQnrXdjQ2mn3Sj2P3iTuhDI1N0q4FUmdwDc0TkANSsX8nT9uOtZ0ATJ7ESxZ/mb1IVQL8HghtUUCt7JKRzsnV7tv1nhcUfbLgQeIBSsRihILcouwZMojqFe4nKox7HuQXiS10aLAmvYie1NPgK+7XnqAhrCzwHSOh4ORueuG7pDMLh5J1HvDf+cwsFXp1f7vYcecDaeLiLioo5i4AtCwWqEgtSiDIauI8L+c92jexCeph/FKuA2nX8A23Nov1+ox3Aw6oUxmncOBRKQ3CSK6wbHYgcIBjfoYLz3JtLMBc8lHNyJIjh9zFFE3G65FrhPKFiNUJBa3NtLsJe2EhI7LjufeqkLgQzthnAQWN2J9wuohVDwc5PUBQD/WpjrPKDlBIMbcjDeO4y0ex3lEg4enl7t9x96wNl4ehsRb+spB4SCFQkF2bpydOg87CXIJ/0oLlLcRIH13e0f0qbzEWB77DcI2/cqdQEN4+cBzdAL1w2tJxjcgIPxXi+aMYc/l3Dw0Z/V2Xj6LtKNPKU7hILVCAXZuvIE9M8ogiC4byeKm5VvUhcCGRIOAqvqRTPuc0ArDQejfpiI8qWecxRoDNcNLScYfKIyhHsfxcHSBDmEg73Tq/03KzzuaNuF0GlCwWqEgmzdcDCaRDE6tCmfrTTT8XAw0s0A63ORD6zqsDwvAzbveeoCGkrXIDSH64YWEww+3Uk076Z/DuHgq9Or/d5DDzgbTxcRcVFHMXSOULAaoSBbNxyMzsPqdFZ3GMWFSi91IZAZF/nAquw3CBtW3i8wGv/bDi38g0a5u25wXLaMYPAJDsZ7k2juxrhNDwd3oghVH3MUEbdbroVuEQpWIxRkq8r9BN9Hcz9XaS6bo0M1d2N5XeQDD9mJiHPvFbBRh2E6yvcITaF5hIMtJBis6GC8txvN72hoejh4eHq133/oAWfj6W0YKcrmCAWrEQqyVfeOGxeAVHV3oTJJXAfkphfF+y/AQ3ZjtYW9wGqMy3yYMavQPDlkIaxBMFjBvX0Fc9D0cPDRN5Sz8fQiIhZbr4S2EwpWIxRkq8our7YdN6Rx19EwSVwH5Ga3HOMM8JDJcDCyiAueqByB79rnYX1bBUAjHQ4Hozepi2AzBIPVnESxujYXTQ4He6dX+29WeJyuQZ5CKFiNUJCtEgqyJcJBWN/EcQOs4NzNengy3YKr8XOCZjq2UKgdBINravi+gg9pcjj46vRqv/fQA87G05uIeFdPObSMULAaoSBbdS8UNKOebRAOwvpO7NUJPCKn6UnQVJPUBWRikroA4LvsPdwCgsE1HIz3epH3XP2mhoM7sdrP9W1E3G65FtpFKFiNUJCtEgpSk3NjTmAtO2HfEOBxu8PBKOf7IpBM2WXjGmg1O7qSoLEsFGoBweB63kf+H+BNDQcPT6/2+w894Gw8vQ0jRVmdULAaoSBbJRSkZsc6B2EtuwJ1YAWv3bCHSp6nLiAzfl7QXP3hYPQ6dRFUJxhc0cF470205+Z/U8PBR1con42nFxGx2Hol5E4oWE0toeDBeK9NPzPWIBQkEWNFYT3HRooCKzBGDNZQ7s8pUF/PoX1NodGOHaP5EgyuoLyJfZy6jg1rYjjYO73af7PC43QN8hChYDV1hYLnUbz3tOlnxwrK46YNnffkSTgI6zEmEHiMMWKwHqFgNX5u0Fyrbg9GAwkGV9PWvTaaGA6+Or3a7z30gLPx9CYi3m25DvIkFKymzlBwEvYw6px7x00vcSl02/lwMOqnLgIy0RemAyvoGz8MK3uVuoBM+blBsx26zs6TYPARLRsh+i1NCwdXXWnwNiJut1gH+REKVlN3KHhnt3x/pRvadtyQr/dGJMLKjo0JBFZw7IYgPKw8RnqJy8hVz3sMNJ7F/xkSDD6gpSNEv6Vp4eDh6dV+/6EHnI2nt2GkKJ8IBatJFQreOTZStP2Gg9F5tOu4IW87ETEXdsBKehHxOnURQBbe+2yFBz1PXUDm/Pyg2XqmjeRHMPiwLqXdTQsHz0+v9h+s5Ww8vYiIxRZrIA9CwWpSh4J3uvQ+2znDweh1PPz6Qwp37+nA41652Q+swH6D8B3l56h98p7m0PkINF4XmqtaRTD4HR0YIfotTQoHe7HaCmVdg90mFKymKaFgRDFSVDdCC5XjXmxCTVPtlt2swMN2QtcgsJp+uSgM+NxhFJ+nVCdchebTNZgZweA3dGiE6Lc0KRw8Pr3a7z30gLPx9CYi3m3p+Wk2oWA1TQoF7xwfjPd626uGug0Ho15YNb6qRUR8iGLv3KMoPlcHEbE3m0//7bE/9x7/rPwa78qvuaz/W8nOxIULrETXILCqE3v5wldepS6gJfwcofm6mqdk6S+pC2iornc43IWDg4+X17cPPfAff//n7enV/iC2F56cR3HD8yFvowgg3LDoDqFgNU0MBSOKY3eVY518vA/vyd9yE0Vo90dE3Mzm0ycvrJnNp4t7//PDl/9/2bm5GxE/RUQ/vC5fOh8ORht5LaDF7lbpXySuA8jD++FgtDebTx+8lwBdUC6YbNM9hZR2h4NRbzafLlMXAnxXbzgYTWbz6UXqQnicjsEvlCPt+qnraICmdA72T6/2HxwXcDae3oaRol0iFKymqaHgnf7BeM9okBYYDkYn0a5j5ymWUdxIfxYRf5vNp3uz+fRoNp9e1BVEzebTxWw+fTebT5/N5tO/RcReFJ+ZizqePxPvdUPBo6z+BVbVC/uIwx1dbpvl5wnN9zx1AaxGx+A9ZQjmoveTpnQOnpxe7S/KAPKbzsbTi5eXo+ch1G07oWA1TQ8F75wfjPcWj73f0FzDwegw7EV1G0UY+GsTu/QdJgYAACAASURBVNDKmm4i4l35fncYxYl7P2VdifWiuIH5LHEdbfR2Np++SV3EU5RdtxHF70kvIn6M4hyhl6SgdHrDwaj/RZdy12X/+w1bdDgcjF7P5lPbftB1k9QFtMwkNAa0VfbnVd+4bvgpiuuGri1C7Q8Ho90m3g/hc4LBz51E9w7WxzQhHOxFcaP5zSOPO4qI6w0+L80iFKwml1Awonj/PQ4n+lkqj58urw5fRMQvs/n0q3GeTVWO+LqIiItyzNGr6O5o7sPhYHSY0+tHPb4XhJXHTD8ifo4iYO+C56HbGFjd8XAwWrgxSFeVe1l38bx6m3acs9NUrhs+8yoitn4vkqcxSrR0MN7rh5U839OEsaLHp1f7vYcecDae3kSEFYntJBSsJqdQ8M7rg/Fem16DLjmPbl74XkTED7P5dJDzBepsPl2WY07/FsUJ/DJxSSmclxdt8KjymLmYzafPIuLuuGn7ze+JsbvAGnai+Gz1vkFX/Zy6gJYyppCsdPS6oSsBaNYEg5+cpC6g4ZoQDq7SifI2ijFutIdQsJocQ8E73o8zU44Q7dqJ30UUgeCL2Xy6TFzLRpUXLT9E9wLCrne9UtFsPr0tj5u9KM6BF4lL2qauvdcDT7Mbzu3poHKxmc/M7Ti0mI9cdei6Yae8T0SDCQYj4mC89zraFQhsS+pwsH96tf/gm8rZeHobWpXbRChYTc6hYERE/2C8t42vyxZ0cIToRbQ0EPzSFwFhVxbd9MuxT1DJbD5dzObTQRTnwcvE5WyD7gdgXROfrXTQJHUBLSdwIHv3rhuehesGEuh8MFiGXMep68hI6nDw5PRq/8HnPhtPP0R7V1x0iVCwmtxDwTvHq7zP0AhdGSF6ExGDLgSCX5rNpxcR8UMUXfldcGLsGU9VXui38bg5dHwAFZzo8KFjjLvcrlepC4BNKbck2Yv2bY8lwG+4zgeDUYSCLm7XkzIc7EXE6xUep2swb0LBatoSCkasfqyT0HAw6kf7T/ZuI+JoNp/ufW8z8S4oR568ieKCpe37IeyEsWdsSHncDKJdXbdtf98HNm8nIt6nLgLqUF4j9RKXsa5nqQtYU6/8OUMrlNfbR1Eci225bjBOtOE6HQwejPd64cZzVSnDwePTq/3eQw84G0+X0b4V2l0hFKymTaHgnVfl+zTN1fYRojcRsTebT9u2cq+y2Xx6U+6H0PbP2ImbDWxKuaigTaH6T6kLALK0OxyMLLyhC3LrFrwpO5ZyO0/J7ecMjyqPxTYtKnTd0GCdDgbDavCnShkOrnIz+l20c0ZzmwkFq2ljKBhRrCw26rmhhoPRm8hvJew63pZdgsvUhTTRve7BZdpKtsp5IhtTvpdsesR+Klb+AlW91j1Am5X3Gyap61jTr1/8MxfGm9NKs/n0Jtpzrd1PXQDf19lg8GC81w8XtZuQKhzsn17tP/j6nY2ntxFxtIHnoh5CwWraGgremRyM99r0erVCeSy1dV+H2yj2EnyTupCmu3fBskhcyrbsDgejSeoiaI/ZfHp3LrxMXMpT7QwHI5/NQFXn9hukxXK8z3hR/vNDyiIq2Ik8f97wqHJRYRvGiu76zG+uzgaDoQtlk1KFgyenV/sPPufZePoh2nvDsk2EgtW0PRS8o2uneU6infvz3o0OXaQuJBflXgiD+HRDoW1OrERmk8pwsA0X+f3UBQDZ2on2j6Onu3JbPPmhPDe5CyJyCwdz+3nDysqFuIPUdWxAm+7Dtkong8GyW7CfuIy2SREO9mK1PSK3HpzwJELBaroSCkZE9Mv3bRqgXO01SVzGNtxE0Sm4TF1Ijsr3ozZ+3u6E/ajZsPIiP/fj5cfUBQBZ65dj6aE1ym763O45/PbI/2463Ui0WnndkPs0PPsMNlQng8GwOm1bUoSDx6dX+72HHnA2ni4j4u0Tn4ftEApW06VQ8I4u7+Zo42txUe4nmHsHT1Kz+fQi8g87vuWVrkE2bTaffoj8VuXf109dAJC94+Fg1E9dBGzQ89QFrOm2PH+/70PkN9VA1yCtNptP30Xe0/DadD+2VToXDB6M9yZRdJqxHSnCwVWC3neR/34ubSMUrKaLoWCErsFGaGm3YC3HVFe0NBzUNci2vIj8br7d6aUuAGiF9xbf0CKT1AWs6asFSuVCydwWLk1SFwA1yPkau5+6AL6tc8FgtLPToWnqDgf7p1f7D244fDae3kb+rddtIhSspquh4B3v3+m17TUQCm5BS8NBXYNsXHnz7ZfUdVSl0wfYgJ2IeJ+6CHiq4WA0ifz2YP/e2NDcxonulD9/aK1yy5Nsp+EZ+dtMnQoGdQvWqu5w8OT0av/B5zobTz9E3q3XbSEUrKbroWCErsGkWtgtKBTcohaGg7oG2ZZ3kW/XYJvOs4B07DdIG/ycuoA1Lcux5l8p/35ZbzlPltvPH6rI+bqhl7oAvtapYDDa1+nQdHWGg71Y7fVt003KHAkFqxEKfuJ9PJ02/exvhILb18JwUNcgG5d516DjAdiU4+Fg1KbrNzqkXED54BSrBnpsXGhu40QPdSTRdpmO+r3TT10AX+tMMKhbMJk6w8HXp1f7D15MnI3zbr3OnFCwGqHg53QNJtCybsGbKD5rqEEZDr5LXceG7ER7jgOa5SJ1ARX9lLoAoFXsN0iuJqkLqODXJ/7/TTRJXQDUINcFhX9NXQBf60wwGO3qdMhNneHgyQqPeRf5jUXInVCwGqHgt3k/r9+r1AVsyG1EvChX2lGT2Xx6FPmubPxSW44FGqTcM+QpI/UB2qAXEeepi4AKnqcuYE03s/n0wfOO8v/P7dwkt9cB1lYem8vUdVTQpnu1rdGJYFC3YCPUFQ72T6/2Jw894Gw8vY2Iowpfm2qEgtUIBb9P12CNyuNrkrqODXnx2EUwW/Mi8ryA+VJvOBhNUhdBK+W4Mr9N511AMxwOByN7+pKN4WDUj/zuN656zpHbuUmvfD2g7dqy6JbEOhEMhlUjTVFXOHhyerX/4HOcjacfImJR4WuzHqFgNULBx+karM9htGMfqXez+dQJdCJll+az1HVsiPNKtmGRuoAK2vDZADTPif0GyUiO54WrXhPleO2U4+sB6/o9dQEV9FMXwNdaHwyWXSX9xGXwSR3h4E6sFhpsPXjpOKFgNULB1egarE8bRifelOMsSajs1mzD69Av992EjdHNDPCZc/sN0nSZTlb5UI4wf1T5uMU2i9mCifcOOmCRugDaofXBYOgqaaI6wsHXp1f7D4ZFZ+PpMiLervl1WY1QsBqh4HqsBtyycrV27sfYbVgI0hiz+fRdtONCpg2BOc2zSF3AuozsArZkNyJOUhcBjzhMXUAFv635+NzGiUbk+brAysppPMvUdZC/VgeDB+O9XugWbKo6wsFVLiTehTfTTRMKViMUXN+kfJ9ne9oQfrzVidM4L6IIbHM2SV0ArbRMXQBAg0zs60vD5XatdBvrjwfNcZxobq8LVLFMXcC6TN1pnlYHg6FbsOm2HQ72T6/2Jw894Gw8vY38x5ot7v1ZJqwjQihYlVCwOif925X7asubskONBinHEv2Suo4n2hkORrkfHzTPf6UuAKBh7DdII2U6WeVD2Wm0svLxF9spZ2t2vW/QATkufu6lLoDP/SV1AdtShk2T1HXwqLtwcPDx8vrBE5R//P2ft6dX+4NYLxQ6Ob3a/1AGi990Np5+eHk5+hDNuwF+E8WKrrtNZRd3f18GmlW/5iCKTtq/RvFz7MVm3pyFgtUIBZ9mcjDee/vY+wfrK1do574/Q+4LP1prNp++GQ5GzyPvi4PnkecqagDIxU5EnEfEXupC4As5bmux7hjR+//dZIN11OF55BmcwKr+J3UB5K+1wWBEvE5dACvbZji4E0Xn6GM3h4+iCMtS3QS/iSL4+yMilmfj6WIbT1L+fBfxjT1sDsZ7/Sh+pj+W/1wnfBMKViMUfLq7RSC6wjbv59QFPNHFbL6d91I25kUU7+u5OhwORjvrrrwGANayOxyMTmbzqQVfNMkkdQFrWs7m00oL2mbz6YfhYHQbeS0anYRFogAPavMo0RxX73TZNseKvj692n8wTDob1z7W7CaKIONZRPztbDzdOxtPj87G04tthYKP+Xh5vfh4ef3u4+X1i4+X13sR8beyvnfx8M9aKFiNUHBzjBPdsPKYa1oX9TraMCa69crgdpG4jKfK+TgBgFy8NsKbpsh0sspTp1xcbKKIGu3YoxTgYa0MBg/Ge5PIezRVV20zHDx57AFn4+mb2O4efR+i6I744V4Q+OEJY0G36uPl9e3Hy+sPHy+vj8qg8Ico6r9/QikUrEYouFm9g/GeGwWblfvP8xddXNnY+nvhluXeWQsAuTgfDka91EVA5NmI8Gvi/z4F5+kAD2hlMBh5fkhT2FY42D+92p+s8LhN36C8CwP/djaePis7Apcbfo5afLy8Xn68vL74eHn9LIpuwj2hYCVCwe3wvr9ZOV9E3YbRstmYzafLyG8F8n2H5WcVALBdOxHxPnURdFsZTvcTl7Gum9l8+qT99sr/frmZcmpzaDEBwPe1Lhg8GO/1Ir8PaT63rXDw5PRq/8GvWY7xfOqIhWUUI+x+uBcGtqpzpewm3OpGzkLB6joYCkZEHJbv/2xGP3UBT6BbMD9vUxfwRP3UBQBAR+wOB6M3qYug0yapC6hgU91+dW6/symT1AXAlvxH6gLIX+uCwbDXVFtsIxzciYjjFZ77KIqOk3V9iIjB2Xj6w9l4+i7XzsAmEApW19FQ8M4kdQFtUO7fkmsHlG7BDJVdg09dlJNSzh22NMuPqQsAyMDxcDDqpy6CzspxUs2mzrNzPF/P8fWCVfRSF1DBMnUBfK6NweAkdQFszDbCwdenV/sPhk1loLfOSqiL+NQduFjjv+MbhILVdTwUjHDSvyk/pS7gCT7oFsxWjiuQ7/RTF0Br9FIXAJCJ90Z5U7dyAWUvdR1rWpSL8J6s/DqLTXytGvUsJKCleqkLWNem3ovYnFYFgwfjvUnk2+XAt20jHDx57Gudjadv4uGVDLdRjD7729l4+kJ34GYIBasTCkZERO9gvHeYuogW6Kcu4AlyH0nZWbP5dBGrjQVvot5wMGrT5xbpZPd7VB67QLPl+vn6EPsNkkKOUyI2NUZ0W1+vDhYQ0yrlvdNe6jrIX6uCwfBm31abDgf7p1f7kxWe93thzrsoOgTftG3vwJSEgtUJBT/jc+AJys3Zcz0GN7YalmR0DdJZVrMDW/RbFFNu2qZvv0HqUt6vmKSuo4JNj//McZzoRIcxLdNPXQDt0Jpg8GC81wsHRpttOhw8Ob3af/BrlWNB75/0XEQRCB4JBDdLKFidUPArh6u8T/Bd/dQFPEGOq1f53IeotsdvE+Q8gpdm6KcuoIJcj1fooqNoZ+eg/QapyyR1ARVcbHqbhfLrXWzya9bEZCHaJMfu5UXqAvhaa4LByPNDmvVsMhzciYjjFZ7zKIoblQMjQ7dDKFidUPC7JqkLyFiu4cbtbD69SF0ET1PeaMhxFXJEnqEOzZLjBX4bQwZopfIzduvXJ4mc6waiBjlOpvkts6+7Ta9SFwAb1E9dAO3QpmAwxw9p1rfJcPD16dV+/6GvcTaeLs/G02dl9yAbJhSsTij4IJ8H1eV6LOYaJvG1XDs/d+wzSFXl706Ovz86BiEjs/n0JoqFr23Ti4jz1EXQXpl+Tt/O5tOtXCOVXze3c4Bd5+q0wXAwOow89xf8PXUBfK0VweDBeG838jwoqGaT4eDJJgtjdULB6oSCj9otPxdYQ3lM5vpzy3lvOu6ZzaeLiFgmLqOqXI8f0st1FfsfqQsA1jObT99FOxdUHQ4Ho9epi6C1cvycvsj862+DBcS0gd9jNqYVwWA4KLpoU+Hg7unVvguImgkFqxMKrsznwvpyPR5vyxXwtEeuNyxzHcVLQuU50SR1HRUtUxcAVPIi2nn8nugIYkty3J9u21M4cpzyMUldADzFcDDqRZ7vRxH2GGyktgSDk9QFkMSmwsHj06t9exLURChYnVBwLbmeLKXUT11ARbmGSHxfrmNG2vS5Rn1ynl6xTF0AsL6W7zf43n6DbNJwMJpERG6/U8ttL5wsv/5ym8+xBTvl6wm5ct3ARmUfDB6M9w4jvw9pNmcT4eBO5HtDPCtCweqEgmvrGSe6th9TF1DRb6kLYLMy3bckol2fbdSg7GyZpK6jqnL0L5Ch8vh9m7qOLehF3jdOaZ4cJ9HUtc1Cjl2DP6cuAKoYDkb9yHcB/O1sPl2mLoKv/SV1ARvgTZ27cHDw8fL6wRuJ//j7P29Pr/YH8Smcuo2IZ//4+z8X2y+z24SC1QkFK3se399flK/lemwuUhfAViwiwwuf4WDUF5awhvPUBTyBz9eI/yhv0pDe0g2n9c3m0zfDweinaN8i2clwMPp9Np9epC6EvJVj+/qJy6iirokqFxFxXNNzbcrhcDDq+cwgJ+X9VNcNbFwbgsHsbhqxFVXCwZOIOCo7CdkioWB1QsEnOYyIo9RFZKSXuoAKFuU4LNrn98jzHK+XugDyMByM3kTe50WL1AU0wCScozXF24h4k7qITL2IiOto3xSmk+FgdGMfap5okrqAChZ1hV6z+XQ5HIxuIr/zmUn4zCAvJ5H3dWauW4W0XtajRI0R5QtrjRX9x9//+UIouH1CweqEgk9mnOiKMu54cILZXovUBVTUS10AzVfub5PbCvsv/ZG6AODpygChjfsN7kTEuf0GeaIcx4jWPd6zrrGlm5Tj60pHldcNk7RVPNkidQF8W9bBYBgjytdWDgfZPqFgdULBjXHSv5pe6gIqWqQugO0oV/jnuHjnp9QF0GzlvoJt2P9qkboAYDPKvX3fpa5jC3Yj/0UYJDIcjA4jz2ukusaIpnq+TeiVry80WhkK5jxC9I7u/YbKPRjspy6ARhIONoBQsDqh4EY54V9NL3UBFTnBbLccX1/nHnxXGQrOI//fE/u5QcvM5tOjyPNz9zGvBQBUlGMjwkXd2yyUz5djOJjj60uHtCgUtP1Lg2UbDJbj4Xqp66CxhIMJCQWrEwpunHGiq/kxdQEV3DjBbL0cR8V6v+Gbyov7tuzjleMNQOBxLyLPbv3HnA8Ho17qIshHeT9jkrqOCn5L9Lx1jy/dhIlRwzRVi0LBiDyv6Tsj22AwjIfjccLBBISC1QkFt6afuoAM5Pg+uUxdAFuXZeeCm498aTgYnUR7Lu4jXOBDK5VjvI9S17EFOxHxPnURZGWSuoAKbsuxwLUrnzfHRQWT1AXAfcPBaGc4GJ1Hu64bLChssJyDwX7qAshCL/K84Z0loWB1QsGtspDkcTkes3+kLoCtyzIYDBMtKA0Ho93hYHQdEa9T17JByW48Ats3m08vop038XbLRRqwihyvH1Mft6mfv4ocX2daajgY9aOYLjJJW8lGLctFRzTUX1IXUMXBeK8Xed7EpH6Dj5fXy9RFbFO5X823ws9a938RClYnFNy63YPx3s7Hy+scVzHWJccFFIvUBbBds/l0ORyMUpdRRS91AaRVnhOdRDs/23O88Qes50UU13S9xHVs2uvhYPTbbD5dpC6E5irvr+R4T+OXBjz/JHEN69odDka7ggtSKqfNHEd+x88qXDc0XJbBYOgWZDUvPl5eZ/8Bf+/EtBfFPmA75f9+9Eb+vRuqt1F0XtxG0WVzExtcuSEUrE4oWJvDiLhIXUQTZTz2UNDbDYvI77yvl7oA0ijfT19F8bme44KLVaTavwioyWw+vR0ORs+i6Fxom/fDwegH+1TzgFepC6ggeVfObD69GQ5Gy8jvPPhVFIshoFYtDwTv5Lj/aKfkGgz+nLoAGu/Fx8vri9RFVFG2j/cj4qfY3M3QnXtf6/Dec90Fhr9HxKLK6kmhYHVCwVr9FILB7+mlLqCK1Be/1MaNOxqtPA86jOL65PCRh+fOGFHoiPIm/1EU3c9tcrff4CB1ITRWjp/lTbn5/msUQUdODkMwSE3uXTc8j/wWv64r+YIFHpdrMNhPXQCN9i6nUDDxDaW7wLAfEcdlUPghiqDww2MrKYWC1QkFa+eEv12WqQugNn9EfjdofkpdANtVLuLajeK1zu338ykuUhcA1Gc2n74bDkY/R/vuv/SHg9Gb2Xz6JnUhNMtwMJpEnh3/F6kLKF1EfsHgznAwmpT7q8LGban5IwepxxuzguyCwYPxXj/y/KCmHhcfL6+PUhexivKks2mry3eiCKsmEXEyHIw+RMSv3+okFApWJxRMYudgvLfbhvHCW5DjMbxMXQCwkv8oL4Zz9OXY9p/i0zj3rnKBD93zLCL+jPbdgzkeDkaVJubQas9TF1DBzWw+XaYuIuJf+4PfRH7nSs+jOeFql7XluuGv8Wk7qF6ieprgInUBPC67YDC6la6znsXHy+tGdwSVYdrrKOaYN/3i6l8hYTkr/pcogrNboWB1QsGk+lGMzuVzTX8v+hbjJbtjEfmtPOaTSfjMa4sPTbnxCNTn3n6D89S1bMH5cDDas98gEf/a76ufuIwqmrZo55eIOE9dxJr6w8Go5zwnuUm4bmiLC5+tefj31AVUYDwT37KMYjVjIw0Ho95wMDqPiP+O4gZnbjfie1HsL/HncDB6E0LBSoSCyfn8aI8/UhcAD+ilLgC2oGk3HoGalF1171LXsQW9yC/AYHtepS6goqbt/du0elY1SV0AtMjb1AWwmhyDwX7qAmic24h49vHyunGrEe4Fgn9GO040dqIINoWCaxIKNkI/dQHA2hr32b6CXuoCYMOM24OOm82nR9HOyRuHw8HodeoiaIQmbfGyqg9N68op68kxHMxxjCw00UL3bT6yCgbL/QXhS0dN2zdsOBjtlJ111yEMajKhYLfs+Bz5ph9TFwDfM5tPG/X5Dh31a+oCgEZ4Fnku2HnMyXAwatPCV9Y0HIwOI8+FXU39fG5qXQ/plb8HwNPoFsxIVsFg6Pbgax8+Xl5fpC7ivnKz3OvIc2RolwgFu8lF/9dyfJ8SFgHUYzGbTy9SFwGkV3YAbP36KZH3w8Eox3NiNiPHbrHb2XzayM68sq4cFxH8nLoAyJwpI5nJLRi0PxT3LaNBFyZll+D7KPbf6yUuh4cJBbvL50g75HihCZAjq36Bfylv+F+krmMLemG/wU4qA+EcO8UaGQre0/T6vmVigQA8yVHqAlhPbsFgP3UBNMqLpuwreK9LMMcTyq4RCnZbP3UBAJAJq36Bb2nzfoOT1EVQu0nqAir6JXUBj8hxnGhEvr8PkNqFbUDyk00weDDeM/6N+959vLxepC4iIqLcS1CXYB6Eguz4PAGAlTRmMgfQHLP59Dba+/5gv8HueZW6gAqWTb8BXy4sWiYuo4ocx8pCarehWzBL2QSDocuDT5bRgLFG90aHHqeuhZUIBbnjYh8AHva23E8M4CtlKNHGm4A7EXFunGA3lCFwL3UdFeTSjZfjONFdiwNgbW/LRUNkJqdg8MfUBdAYyUeIDgejXhRdgkaH5kEoyH32GQSA71tGxLvURQDNNptP30WeN/4fsxsRJ6mLoBY5dgtG5LPPZ9PHnX5Prr8XkMJNeT5AhnIKBvupC6ARPqQeIVquHroOXUe5EAryJccuAHzfC6t+gRW9iDzHBT5mMhyMLAJusbIrNMfX+CaXjv6yzkaPPP2OHH8vIJW2jhbvhCyCwYPx3k7k2d7P5iUdV1KGgvMoRozQfEJBvkUwCADf9q7cFwjgUS3fb/C8nBREOx1Gnvd1chkjeie3eiMidoaD0SR1EZCBo6bvd8rDsggGw01cCm8/Xl4vUz25UDA7QkG+62C8109dAwA0zM1sPm3jnmHAFpWLCd6mrmMLdiLifeoi2JrnqQuo6CJ1AWu6SF1ARbn+fkBdFkaI5i+XYLCfugCSu42Ee50IBbMjFOQxFpzkzXsxwGbdRsSz1EUAeZrNp28iYpG4jG3YHQ5G9htsmbITtJ+4jCo+5Dbqu6w3x71I+zqG4btcN7RELsHgj6kLILm3Hy+vk5wACQWzIxRkFT5XPsnq4rIk2AXYrBe57FkENNazyPO88jGv7TfYOq9SF1DRb6kLqCjXuiepC4CGGuS2SIFvyyUYdAOw25YfL6+TdAuWK4SEgvkQCrIqnyuf/JG6APie4WDUT10DdMDRbD7NcTU/0CAd2G/QPYH2yDHovZ3Npxepi6iirDvHEME4UfjaC/sKtkcuwWAvdQEklWS/gvLE/30IBXMhFGQdgkFgW5apC4A1XNgfBNiUcpFBG99T7DfYEmX3Zy91HRXkvoAnx/p7uoXhM29zXaDAtzU+GDwY7/VT10BSy4+X1xeJnvs8hAe5EAqytoPxnuM7Xz+lLgAesExdAKyolvMnoFtm8+lRRLSxm6A/HIzepC6CJ8u1C+zX1AU8Ua71/5y6AGiIi3I/YVqk8cFg5LmSh81JcvJQnvBbGZQHoSBV9VIX0BA5jnWhO/qpC4CWuhEKAlv0Itp5jnlszHm+yqlQOd7nWc7m00XqIp6irH+ZuIwqJsYIg8WEbSUYpMluI8EYkvJE/7ju56USoSBPoWOwkOOKbq8dTdbGG6G0y01EDFIXAbRXuf/QUeo6tuS9oCBbk9QFVJTjGM5vyfX7mKQuABISCrZYDsGgcWHddfHx8rrWm2vlCf55nc9JZUJBnurH1AVQmZsx3ZHjeeAfqQuAB1xExGA2nwqwga0q9yG6SFzGNrhnkK9XqQuo6JfUBWxIrt9Hrr838FRCwZbLIRjspS6AZFKcNJyE37kcCAXZhF7qAhpimbqAKoaDka7BbhACw+ZczObTF0JBoEZHkem55iMOh4PR69RFsLry2qGXuo4Kbmbz6TJ1EZtQfh85Tqvpufakg4SCHSAYpKkWHy+vl3U+YTlCdFLnc1KJUJBNcXIf/7pAy1EvdQHUIsfjNMcbHrTfWxf3QN3KhQjPUtexJSfCgqzk2vX1a+oCNizX7yfX3x+o4oXrhm5oTs9rDAAAIABJREFUdDB4MN5zktVdKU4WjANpPqEgG3Uw3uulrqEhcuwecY7QchnfbMvxeKK9bqO4uH+TuhCgm+w3SGrla3SYuo6KLlIXsGEXqQuo6NCxTgfcRrHlwEXqQqhHo4PBMD6qq24/Xl5f1PmEw8HoTeg+aTqhINvQS11AQ+TY4WSPyPbrpS6gomXqAqB0Ey7ugQaYzafvImKRuo4t6IUFxjk4jDzvL35o2/jv8vv5kLqOCnIOl2EVNxGxN5tPF6kLoT5NDwb7qQsgiVpPEoaDUS+MBWg6oSDbkmtH0qbleMHptWu/LF/jjMfz0i4XUYSCOS78ANrpWeR5zvkY+w023/PUBVT0W+oCtiTX7yvX3yN4zLvZfLrnOrZ7/pK6gEf8NXUBJFH3ScJx5Ll6rCvqCgUPQyjYRY79wh+R3wrI3nAw2mnbKlo+81PqAioQwpDa3ejQHFfj5+Yi8t0rqW2WqQvgcbP59HY4GD2LiHnqWrbgeDgYLSzGaJ5yIXg/cRlV3La44/9DRJxEftfi/eFg1BOe0CLLKK4bFonrIJGmB4NZrhTnSW4/Xl7XdiOjPEmc1PV8rK2WULC0qOl5aBbjKAu53sToR56jaFhNP3UBFQiqSekiIo4smKjNf7mRAuuZzaeL4WD0NorFuW2yExHnw8Fo4D24cXKdDtXaa5xykcCHyPNe3Kto756pdMu7iHjrM6vbmj5KNLfVIzxd3Sc/bbsgaZv/quuJPl5e34ZwsIt8zhRyPRnMsaOMFQwHo37qGir6PXUBdNIyirGhL1zcA003m0/fRL6L0h6yG0UXFM0ySV1ARbmO21xVrt9fblN24EuLKK4bLCak8cGgjsHuqe3kYDgY7US+J4ld8ap8neqS68kp1fmciWL1duoaKuqnLoCt6acuoKJl6gLolLuxoT9k/D4OdFNb9xucDAejSeoiKAwHo8PIcyHosu0jwcvvb5m6jgp65e8V5GYZxXXDwHUDd5oeDNIxdY4RjQgbhDffTtS7IqvVJ998U44XituS48rt3ZoXD1CfXLtBczyOyM9tRLyNiB9avP8Q0GLlHl11bRlRt5NyyxLSe566gIq6cl8i1+8z198rumkZnxYSXiSuhYZpbDB4MN7rp66B2i1qfr5cZ813TW2v08fL62XkuWqNJzgY7/VS19AQy9QFVGTFZsuUYW8/dR1VzOZTwSDbtIxiX5sfZvPpG+N/gJyVHUMXqevYgp2IeJ+6iK4rw9lcrxN+TV1ATXL9Pg8tTiUDyxAI8ojGBoN0Up1jRCehUygXu8PBqM5xj4san4tm6KUuoCH+SF1ART+nLoCN66cuoCKhINuyiE8X9u8EgkCLHEU7Pz93h4OR/QbTyjUUvOnKQrPy+8z1e52kLgC+40NEPBMIsoomB4O91AVQuzpPCNxIzkud3Z2/1/hc0CSL1AVU1E9dABuX62f0InUBtMoyIt5F0R04cGEPtFG50OFFtHO/wdf2Iksq1wlRuXbRVZXr95vr7xfttIxP2ww8a/sepWyOYJDG+Hh5vajjecqWfyfoeanz9VrU+Fw0Qz91AU2Q8QbUO266tE6ur2euXbc0xzKKMHCvXOV7VO7DBdBaZdfQ29R1bMl56gK6aDgY9SPfe4pdu6Gf6/fbq3myFXzpJj6/bnjjuoF1NTkYpFsWNT5Xrjccu6y2G//2GaTjch3lkmuHGV8o3+tzHfW9SF0A2bmN4obY3b6Bd2Fgru/FAJXM5tN3kW9A8JBcz2ly9zx1ARV96NqN/fL7zfXY1zVIne6uG15Ecd2w57qBp/pL6gIe8GPqAqhVneMb3UDO089R3wnjTeS7wpD1/TV1AQ2yiIgcVz5OhoPRkX23WiHXGzm3XbuRQyWLKM4x/ogO7SEEsKIXUZyH9hLXQcYynxD1W+oCEvkt8nzNDl2DskWLcN3AljU5GLSyqlvqfIPL8YSDesc9/hF+T7okxyBsW36PiNepi6joMCIuUhdBdZnfyFmkLoBGuIlP+2TdLXpbRMRScAzwsNl8ejscjF5ExDx1LWQt1+kTd91AXfQhIk4iv9ft7trlInEd5OnuuuE2inuQt+XfuW6gNk0OBumWZR1PYh+qrPWGg9FuTatkFhFxXMPzQNMsUhfwBK/CRVnucg2lI+qdfJCTi4j4NXURW3RjlTjA5szm08VwMHobrsWoLtfxjjsR8d/DwSh1HaznebgG3ZSLcN0AtWpyMJjbShGe4OPldV0dgz/V9DxsRz/q6S5d1vAc0DjlSu2byLOLcnc4GPVn8+kidSFUlusY0YjurvB+zH85JgFYx2w+fTMcjH6KeifG0ALDwagXeV7HkK/+cDDq6fDaCNcNULN/T13AA3yYd8eixufye5W3WoLdj5fXyzqeh8bopS6gYRapC3iCnIOlThsORpPI91g07gUANutZfBrNDKvKtVuQvPm9A7LU5GCQ7qjzhL9f43OxeXUGu4san4u0eqkLaJicN72flCuFyU/Ooa5uQQDYoHLc2ovUdZCdSeoC6CRbFgFZEgzSBH/U8STDwUi3YP56w8GorjHDVqjSSeX4jpx//+1Jk5nhYNSPvBfu2F8QADZsNp9+iIh3qesgD8PB6DBsSUQavfL3DyArgkGaoK4b0ILBdqjrdawlsIaGyrkDStdgfnIOc2/LG5cAwIbN5tOjqGePefKX8/QJ8uf3D8hOI4PBg/GeAKdb6jrR79X0PGxXv6bn+f/bu4PkxLGs7eNPd9T85V3BR66g7ZknRII1zYiyxwwKj3FEpleQ9grsjICxyYHGSUUwlVGFJ8ygVpDqFbz0Dr6BLp2uLBskIeleXf1/ERVV3SnMSQMC9NxzbpM7poBjNXmcqNTsoKlVPOgWJBQEAKBaV+K7GfYwiwLp2IJNFzVOtwKAUvxiu4A3cDJFFd7bLgCl+J+a7mcmVqeipZ6W0fx8EGzV3Pfj0fkg+PK0jHgNu+/edgFHYowoAAAVelpGm/NBcCPp0XYtcBahIFwwEuOPATSIq8Eg2oULt8ijlo7iRbjeSorruC/AUXOlX26a6l7SwHYReNv5IBip2WO+t6JjEACAyj0to9n5IHivZn82RXU+2i4AUPo8JBgE0BhOjhJFu5gApg79mu4HAHzQ9HGifTaBd5cZtdP0bsH50zJitBkAAPW4kZTYLgJuMWPpu5bLACSpa56PANAIBIMAmqZvuwCgDZ6W0VzN38/lkb0enPVZzR1Vu9P08BwAgMYwi3EubdcB5/xmuwDgBZ6PABqDYBAAALxlZruAI3WUBlBwiFlJ+8l2HUdKTHgOAABqYvaPvrFdB9xgFgAyIQQuuWBhKoCmIBhEK5wPgibvYQQAtny1XUAJPjHSxR3mi/Kj7TpK4MNrAwCAxnlaRg9iL3ikLtT8CRTwC2E1gMYgGIRtcU33w4dFAMjJrMre2K6jBN9YuemMe/mxD8zMdgEAALTYpZo/8h7H+2i7AOAVPC8BNALBIIDG4QI/UKsvtgsogS9dao12PgguJI1s11GC+dMySmwXAQBAW7HfIM4HQVcSk6HgohPz/AQAp/1iu4A3JJLubBeBWiS2C0AjnaiGbtNxGNyLLxttcTMdRj50xpXuaRnNzgfBvZrfeX1xPgg+mfFTqJkZ6e1LOMsYUQAALHtaRvH5ILgT+0m3FV1ZcNlHsR8qAMc5GQwuwnUi6dZyGQDcVVeA0xfBYFs0PfSq2hf5cdHl/nwQbJ6WUWy7kDZ5sa+gD6+z5GkZzW0XAQAApKdldHs+CH4V39naaGS7AGCPkQgGATiOUaIAGseMjqkDXzCBlE9ddt9M9xrq8yh/zqdMtAAAwC3sN9gy54NgJD8WnMFfHbONAgA4i2AQbcEXBQAoyITxM9t1lKSjNBzkYkINzgfBoyRfvhRvn5bRzHYRAADgB7Pv75XtOlCrX20XAGTwm+0CAGAfgkG0wtOSvcMA4Eg+dUp1JS0JB6t1Pghu5deYpy+2CwAAAH9nxnz7NOECbzgfBF35s+gMfrswz1cAcBLBIAAAOMisxp5ZLqNMJyIcrIwZ8eTDvpQ7W3HBEQAAl92pvr3oYc/IdgFADoTYAJxFMIg2YZyoH+I67mQcEhYAr/Cpa1AiHKyECQUfLZdRti817m8LAAByMu/TV+J7v+8Yz4gm+Wi7AAB4C8Eg2oTVg8jjxHYBgGs87BqUCAdLdT4I7uVfKEi3IAAADWC2EPFtIRuM80HQV7olANAUXfO8BQDn/GK7gNdMVr2OuCjfJpvrs+c6VvWxctAPBLwo3XQYxbZraJA7+TfC50TS+nwQXLInbXHng+BR/j03JOmObkEAAJrhaRk9nA+C92KEn4/oFkQT/aaaJl8BQB5OBoNKVwAtbReB2lxKmtdwP3+KLwc++E9N90P3EPCKp2WUnA+CO/m1f5xkPnuYcDC2XEujmG7Lb5L6lkupQvK0jOgWBACgWa6ULvzqWq4DJTGfN0e26wAKuDgfBDcsNATgGidHiV6fPbNav13q6g5NarofVCuu6X7oWgbe9iA/u7A7SsPBT7YLaYrzQXCidDFX33IpVbmxXQAAAMjHXIC/tF0HSsUibzRVRzx/ATjIyWAQrfM/Nd0PgbMf6noc63peAo1jLrb4vH/L/fkg+Ma+g/udD4KR0lDQ14UU8dMyqmOiAQAAKBn7DXrno+0CgCPw/AXgHIJBuKCWC4rsG+WFpMbxC75e6AZKYcYr+nxevVC672DfdiGuOR8EnfNB8E3So/weu0y3IAAADfa0jG7F3l6NZyZU8P0cTXZyPgi6tosAgJcIBuGCbo33Fdd4XyhfnSFEt8b7gl0+h1tV8z046SodLXpP92DqfBBcSPou/8fhPLCgCAAAL1zKzxH4bfKb7QKAEtA1CMApLgeDXIxpj26N9/VHjfeF8tX5+HVrvC/YxYWCgp6WUax0v0HffZL03YzObKXzQdA9HwRLSd/kd5eglO5JzOgxAAA8YCbOXNmuA0cZ2S4AKMHIdgEA8JLLwSAXaltksur1a7qruKb7QTXiOu5kHDI6EMjhTu14z+5IejwfBMs2jRc1Y0NvlXYJ9u1WU5ubGsdWAwCAipk9g9uwmM07ZmGe74vS0A4dM30FAJzgcjCIdqlrn8FY7biA7aNtjWPd2L+gXTgnHKGFq7D7SseLeh0Q/hQIfrZcTp3m5uIhAADwyNMyuhGTqZroV9sFACViLC4AZ7gcDHKhtl3+VeN9xTXeF8pT54XaOp+PsO9P2wU0nQlSZrbrqFlfHgaEZmTorX4Egm1aod22kBsAgLZhv8EGOR8EXfm/rzXa5cI8rwHAOpeDQS7UtkudHVq/13hfKE+djxsdg0B+N0r3ZmubvtKA8Pv5IPh0PggaGaSdD4L++SB4VDsDwZ0rRogCAOCvp2WUKP3MimYY2S4AqABhNwAn/GK7AMA4max6neuz5zouyM0lPdZwPyjPtq7RbuMw6IhgsG0IAkrwtIy254PgStLSdi2WdCXdS7o/HwRzpYsZ5i4HTeeD4ETpOJsLpfW32QMjRAHk9N50WMMdsdk6AnjT0zKanQ+C9yJ0agLGLsJHH8WepwAc4HIwmNguALXrq4Zxkebi9Vys0mmSOi/W9mu8L7iBvUZK8rSM4vNBcKd27Un3mgvzz6N5v/lD6cVK6881s+H9exEGvrSRdGe7CACN0xefG10U2y4AjXCj9PXbtVsG3mJG9XctlwFUoXs+CPosZAFgG8EgXPJe9QVAX0Uw2CRfaryv9zXeF+Cdp2V0a1Zh923X4ohdSKjzQbBVesHyT/PvTZUdhaYjsKv0vHYiHpPXbMUIUQAAWsUsFr6UtLZdC95EtyB89ptYyALAMpeDQbTPhWqa9/+0jObngyARK9CaIKm5y6Zf433BDda7uDx0qXSvujbuU7dPRz+Cws/Sf8PCjdIFUf9WGlS9fE6+Gh6a0O/l77dv/v3e/P+MRM7mxoVOTgAAUK+nZbQ5HwQ3SkfBwyFmz+6R7TqACl2cD4IbFicCsMnZYPD67DmerHq2y0C9upNVr3t99pzUdH9fxbi7JqhtvNs4DLriYnrrTId8GC+bWYU9EKuws+jowIKE80FQTyXt8/C0jGa2iwAAAHY8LaMHM+mCaUJu8eHxSJRec0I1flOzF/rvFozOLNcBoMWcDQbRWheqbxPeB6Wb/tLR4q6t2F8Q1UpsF+Arswr7StKj7VqAV8RPy6iWKQUAAMBpV0q/B3JdwB0fbRdQgi9Py6iua1utY6auNL3b96MIBgFY9E/bBRzAaKf2qW1/N9OyP6vr/lDIl5pHK/xa433BDYntAnxmurH4QgzXbJSOuwUAAC1nvm/yucARZly+D1N8ZrYL8NzMdgElODHPdwCwwvVgkPFu7XMxWfXqXKn3pcb7Qj5b1RgojMNgN8oB7ZLYLsB3pitrZrsOwNhKumI/DwAAsPO0jGLVuIUF9vrNdgElmPNZs1rm91vndKmq+PB8B9BQrgeDdAy2U23hzNMySsQXAFfV3S1IKNhO/7ZdQEvciPd02LeVNHhaRjwXAQDAXzwto1vxedUFI9sFlIC9Bevhw+95ZLsAAO3lejD4H9sFwIq6V8w8iO5U19TaLWgwRrSdEtsFtIEJ+QfiYgvsuiIUBAAAe1yKawPWnA+CkZq/1+P2aRn50MnmPPN7bvrrtWOe9wBQO9eDwdh2AbCiP1n1unXdmblgTdegW27q7BZkjGirJbYLaAvCQVh2xUUaAACwj5kodGW7jhbzYazizHYBLePD53sWqQOwwvVgsOkrP1DcqM47e1pGD+JitSvip2U0q/k+RzXfH9zB675GJhy8Eu/vqNeVhfcVAADQQGYhUd3Ta1rvfBB0JfUtl1EGH8ZbNskX2wWU4MI8/wGgVk4Hg9dnz1ywbS8bK8VuLNwn/s7G4/DRwn3CAdMhm8LXzYxyHIhwEPUgFAQAAHndiQWEdRvZLqAEG8bW18v8vhPbdZRgZLsAAO3jdDBoJLYLgBXdyapX62jHp2UUi5WBtt3V/UF6HAZ9Sd067xPOiG0X0FaEg6gJoSAAAMiNKRdW+DBGlG5BO3zoGvTh+Q+gYQgG4TIbXVysDLRn87SMbi3cLx/A2iuxXUCbmXDwnTjnohqEggAAoDDzWfXOdh1tcD4ILuTHYl0f9rtrIh9+793zQdC3XQSAdmlCMPiH7QJgTX+y6nXrvMMXKwNRLyu/93EYdMXIhjb7t+0C2s6ccwciHES5CAUBAMDRnpbRg/wIHVz3q+0CSjB/WkaJ7SLayPzefXidsmgdQK2aEAwmtguAVZ/rvkOzMpD9But1Y2kWP3sLtltsuwD8JRyMLZeC5ttKOiUUBAAAJboS16Uqcz4IOvJjse7vtgtoOR9+/yPzegCAWhAMwnVW3hTNysCZjftuoZmNi7jj0JsvICgusV0AUk/LaPu0jAbivIviEkkDS4tMAACAp8witkvbdXhsZLuAEmxZmGaX+f37sCfohe0CALSH88Hg9dlzbLsGWJFIGlyfPdv8AH4jxttVLX5aRrZGt36SpeAZbpgOGfXiGnM+oGMbeW2Udgryng0AAErHfoOV8mF8og9jLH3gw+PAVCsAtXE+GDS40NMeW0l312fP72yHwi/G2yU26/DYRpZWXppuQT5wtVtsuwC8znRsX8qPFZ+o3uxpGZ2a92wAAIBKPC2jW/EdolTng+BE0ontOkrwxXYBkOTH43BiXhcAULmmBIOJ7QJQi1jS6fXZ863lOv7rxdgQLjiWa6t05Jut3yvdgmDBicOeltFc6cIMHifsc2Wx6xwAALQP1wbK5cNi3YSpFW4wj0Niu44S+NBFC6ABmhIM/mm7AFQqkXR5ffY8uD57TizX8jfmw8VAfAEoi9VQcBwGXfnxBQTH4X3FcS/OvTPLpcA9idLRoTPLdQAAgBZhv8HS+bCfmg9daj75aruAEoxsFwCgHZoSDMa2C0Bl7pR2CTo9C5xwsDS7UNDmirrPolsQdKI1wtMy2pqOsCtx/kVqLvYTBAAAljwto1jSg+06mu58EIzkx/dyp69ltdDMdgEl6JjXBwBUqinBIBd//BNLend99nx7ffbciIu9hINHsx4KjsOgL1ZfQdJ0SKjQJKYzjNGi7baVdPO0jC7ZTxAAANj0tIxuxOfSY/kwLjF+WkaJ7SLwg3k8YstllOFX2wUA8F8jgkETHCW260ApEh0xNnQcBqOS68nlRTjIl4B8NpLeOdDh8dny/cMNse0CkN/TMto8LaNTpZ3maJdYaZcgq/MBAIAr2G+woPNB0JXUt1xGGXwYW+kjHx6XC/M6AYDKNCIYNGLbBeBohceGjsPgZBwGS0mP4zD4VH5p2REO5hbL4p6CO+Z507dZA5zBa7fBnpbRraRT8Ti2wa5LcMBqbAAA4BLz2eTGdh0NNbJdQAm2Yoyoq+byI7Qf2S4AgN+aFAz+absAFBar4NjQcRh0xmFwL2mtH6HO53Fod+WM2ffqVH7ML6/Sg7mgazsU7IhuQfzwh+0CcJwX3YM38uNLH/4uFl2CAADAYWbc/cxyGU3kwxjRue3rHHideVx8CG19eJ0AcFiTgsHYdgHILdHxY0O/S/q5Q7Aj6fHI2krxtIyuJF2JC9M/20q6MnsvuOBRfmxsjnLQaeYJExqdyo8vfkglki7pEgQAAA3BfoM5nA+CC0ld23WUwIdxlT7z4fHpng+Cvu0iAPirMcHg9dkzH7SapZSxoXo7zOnbHim6Y1YJMlr0h43S0aEz24VI0jgMLiRd2K4DzkimQ8IGnzwto+RpGV2K83DTbWU+OzwtI4JeAADQCKY76cp2HQ3yq+0CSpA8LaPYdhF4m3l8EstllIGuQQCVaUwwaMS2C8BBscodG7qP9ZGiOy/G2t3ZrsWyu6dldGr2YbTOPD+c6C6FM5x4bqJ8T8soNufhK/nxJbBNZkoDwVtGMgEAgKYx339dmZbjrPNB0JEf+6b50I3WBj4sNhyZ1w0AlK5pwSD7QrkrUTVjQ/fpSPqW976q9LSMbpWOtWtb+BDLXNS1XMfPGCGKn/E+4rmnZTR7WkbvlC7UIGRy20zSu6dldMXYUAAA0GRmxL0PQUSVRrYLKMnMdgHI5IvtAkrCBCwAlWhaMBjbLgCvqnps6D4npsvQGS+6B9uw92CidC/BgStdgjvjMLhVts5TtEtsuwDUwyxUICB000zpYhICQQAA4JM2XAM4hg9jEWM+vzaDeZycuk5V0EfbBQDwU6OCweuz59h2DfiLWPWNDd3nk9lHzilmjz1fL0q/3AtqZrmWvxmHQV/SZ9t1wDnb6dCtABvVelpG2xcBISNG7ZvpR4cgr0UAAOAVMxL90nYdLjofBCeSTmzXUQLGiDaLD12DJ+b1AwClalQwaMS2C4C2kq5qHht6yOM4dO+N8qeL0j4EhLtA8J2re0GZfQWdGjELZ8S2C4Ad5ly8GzF6JZ4LdXr5vkGHIAAA8NrTMoqVfvbBX/nS9cS42Gbx5fHyodsWgGOaGAyyP5RdD0q7BGd5bzgOg+6RY0P36SgNB53cT86DrpVEad3OBoJS2omqNBR08nkA6363XQDsMwHhQOl+sDM1f8GGqzZKR03/r3nfSGwXBAAAUAfz3T+2XIZrnJvyVMDM1WsheJ15vGa26yjByHYBAPzzi+0CCpiLEYE2xJJurs+ec4/+MmHNJ1X/uJ0oDR2dHd3x4kPJ7HwQ9JWu+rmQm0HWVunr7UuDRr49yo/xJKhGbLsAuMOc167OB8GN0vPwb2Jf0mPt3uO+Nuh9AwAAoApXSrdOcfG7fq3OB8FIfvweWGjaTL+r+cFa53wQjFzcygdAczUuGLw+e95MVr2t/PhQ0QRbpYHgrMiNzd5/95K6Jda0z8U4DO6nw+impvsrzIwYiZVemL6Q9Kvsh4SJqen3p2XUqJEL4zB4lB+rEFGNZDqkYwl/99OCja5+hIQsMshmt4ikce8bAAAAVXlaRsn5ILgS21xIfoxBTPis20xPy2h+PggS1Xddsiq/yY/uRwCOaFwwaMQiAKjDg6S767Pn3KMSzD5vj7LTffFpHAZ/TofNWUljPmDOlYaEJ0p/b+/Nv6sMChOl497+kBQ3tcPDhIIj23XAabHtAuA+M+7yQdIDIeFehIEAAAAHmEDiQekEpVYyn6n7lssoA595m22u5r8O++eDoMsWDQDK0tRg8HcRDFYplvtjQw95HIeBmhQO7phwbqP04vTug3RX6Yfp/1F6gbqjfBeqY/PvjaT/mP+d+PCBYhwGn0QoiMMY+4JcfgoJO0o/d7yX/c5uWzZKX0fzpi4iAQAAsOBO6Xf5ti40+2i7gJJ8sV0AjvJFzQ8GpfTa163lGgB44h+2Cyhisup1JX23XYeHmjY2NIvL6bAd3Qxmz0JJ2rblou04DEZKO1OBQ/53OmSjeJTjp87uE7n1vleWjdJFJLuOcl4/AAAAAAAAHmhkMChJk1VvrfauuKpCU8eGHrKVdMreYv4Zh0Ff0tJ2HWiE+XQYXdouAv4ynd0n5p9dWNikrsJdp/qfkjZmD1wAAAAAAAB4qKmjRKV0nBXB4PFiNX9s6D5zQkE/TYdRPA6DmRgjisP+sF0A/GbGjiZ6sfeIGT+6Cws7SgPDvGOgy7RVGv4lkv69+++2dJgDAAAAAAAg1eSOwRNJa9t1NJiPY0N/NpsOoyvbRaBa4zB4FOEg9nvHAgG45sX455/Dwn+pWLfhbg/Zndj824v9ZAEAAAAAAFCOxgaDkjRZ9b7L7WDKVb6ODX2JULBFCAexx2Y6jE5tFwEAAAAAAAAALmjyKFEpHdn1yXYRDRLL77GhO4SCLTMdRlfjMJAIB/F3v9suAAAAAAAAAABc0bhgcLLqdfWjW+0/bx+JF7ZKOwQfity4IWNDdwgFW4pwEG+YHz4EAAAAAAAAANqhUaNETSh4cn32PH/x//2fiu3F0xYzpV2CPo8N3ckcCn4Ynp4o7X68WoTr3L8b1KOPQfhBAAAgAElEQVTI48RYUbyQTIfRO9tFAAAAAAAAAIAr/mm7gDyuz56Tl6GgQTfI6zaSBtdnz1cFQ8FbSWv5GwouJV1I+v5heNqvsjAU82F4OtKPx2n5YXiaaQGAeR7MqqsMDcL7AwAAAAAAAAC80Khg8A1fbRfgmK3SDsHT67PnOO+Nx2HQH4fBd6VdWk3pxCwSCu7+bh2loRN7VTrEPB6P+vE4nYhwEPnx/gAAAAAAAAAALzRqlOhbJqvedzVj/7uqzXTc2NB7pd1ZTXJMKPizWNIlo0XtMwHgd/39sdpIGjBWFBkwRhQAAAAAAAAAfuJDx6DEuLiyxoa2ORSU0rGp3z8MT5v2e/COCf7uXvkjOgeR1RfbBQAAAAAAAACAa3zpGDxRGmy1zVbS3fXZ80ORG4/DoK90XGO3xJrqUnYo+LO5pCu6B+36MDxdKw0Df0bnIA55Nx1Gie0iAAAAAAAAAMAlXgSDUivHic7UvrGhO1WHgjtbSTeLcD0rcFuU4MPwtK/08XsN4SDespkOo1PbRQAAAAAAAACAa3wZJSq1Z2xcW8eG7tQVCsrc7vHD8HRpfhZKMln1Liar3nqy6nX3HbcI17GktzpiGSuKt7Tl/QAAAAAAAAAAcvGpY7Ar6bvtOirU5rGhO3WGgq/ev6S7RbhOSvyZrTJZ9fqSPivdz1GS5tdnz5f7bmOCv+96+7GkcxA/+9/pMGIMMAAAAAAAAAD8xJtgUJImq943NbcTbp+Z2js2dMd2KLizlfSOvQfzMcH9W8/DwfXZc7zv9h+GpyOlwfZbCAexk/lcAQAAAAAAAABt49MoUUn6aruAkrV9bOiOK6GgJG0IBbObrHrdyar3qLTj763n4b7AT5Jk9nmM9xzCWFHs+PY+AAAAAAAAAACl8apjUJImq97/qbpQqC6MDf3BpVBQki4X4Xpe4c/3wisjQw+5uz57vt13gHl81wd+Dp2D7ZZMh9E720UAAAAAAAAAgKt86xiUmt8FNJd0WiQUHIdBdxwG35SGY92yC7PAtVAwORQKTla9pofShU1Wvc5k1RtNVr210sein+PmH8240TctwvVG0qHXBZ2D7fbFdgEAAAAAAAAA4DIfg8GmXhhOlI4Nvbw+e07y3ngcBp/kx9jQHddCQSnbiML1ZNX7Pln1Ph0KunwxWfVOXowLfVQazuXVUboH4SF3Sjtq9yEcbK+Z7QIAAAAAAAAAwGXejRKVpMmql7dbyaatpC+Hxii+xYwNvVexMMZVLoaCkvRuEa6Tt/7QjM9c/vR/b5QGirMi+0S6yoSeF5I+qtzu1MH12XO874APw9ORMuxLKMaKtk3m8wYAAAAAAAAAtJWvweCFpG+268hgLummYIfgrsNqVHJNtrkaCs4W4XpvXaZrbrTnkLmk3yXFRR5z2yar3onSMPBXVRdEJ9dnzwf3iPswPM0a/hMOtsdgOoxi20UAAAAAAAAAgMu8DAYlabLqfZe7++wlkq4OdUa9xYwN/ax6ArE6uRoKSmm4FL/1h6aD7nuOn7eRFEv6Q2lQ6Fw3oQkCTyS9VxoI1vW7vjvUQWse/3XGn0c46L9kOowOBsoAAAAAAAAA0HY+B4OflG3PsjoxNvRtLoeCySJc7w0dJqverdKwtqiN+efP3X/XGRaaYPNlEHgie8HzVtLpoa7KD8PTe0mfMv5MwkG/XU2H0cx2EQAAAAAAAADgul9sF1ChmdzqqmNs6NtcDgUl6UuGY3478j52odx/TVa9rdJAK5H0b/PvxPxxruDQBH/dF/fVkfQv8+9+wZqr0lG6h+DgwHF3Sl8TWZ4LJ5KWH4anmcLB6TC6GoeB5O9rzidbpedXAAAAAAAAAMAB3nYMSpn2fKtDIsaG7uN6KLiV9G5fmNSgPS2b5vL67Hlv4PNheDpSGiJmReegf+6mw+jWdhEAAAAAAAAA0AT/tF1Axe4s3vdW6V5p74qEguMw6I/DYK20U5BQ0E4oKEnzDCHSx1oqaZ/7yaq39/FehOuZ0r0as9p1DmZ6Hpnn5yzHz0f9ZrYLAAAAAAAAAICm8DoYNGM7Zxbueq50j7TbvDcch0HHdCkt5edegjtNCAWlA2NEzYjOfi2VtE9X2fYQvMn5cwkH/TGbDqPEdhEAAAAAAAAA0BReB4PG1xrvK5E0uD57viy4l+AnSd/l/+jCpoSCm0W43hw4hm7Ban024eubzGP0kPPnEg76wWZXOAAAAAAAAAA0jvfBoBnjGVd8N4wNza4poaB0oFvQGFVdBDLtIXin9HWYB+Fgs83pFgQAAAAAAACAfLwPBo0qu0piMTY0qyaFgluzf92bJqveSP4HuS7oT1a9i30HmH0g844UlQgHmyxLcA8AAAAAAAAAeKEVwWBFXYOJpMvrs+cBY0MzaVIoKGULfxgjWp/7yaq39/lggty4wM8mHGyeeDqMYttFAAAAAAAAAEDTtCIYNMrsLrlT2iU4z3vDcRicjMNgqXaMDd1pWigoHXi+TFa9E7Wjy9MVXUmfMhxXpGtQIhxsGvYWBAAAAAAAAIAC/mG7gDpNVr3vSgOGomJJVwU7BDuSPitbuOGTJoaC8SJcD/YdMFn1HtWebk+XvDv0+vswPL1X8dfZRtLAjCY9yIwCHhW8LxQTT4fR3tcnAAAAAAAAAOB1beoYlIp3mSQ6bmzoSOnYUELBNzgUCkqHuwU7kvbueYfKPGY45k7pa7YIOgfdR7cgAAAAAAAAABTUqmDw+ux5prQjKI8yxoY+yo3Aq05NDQWTRbg+9FiP5EatbdSfrHp7Q1nT7Vd0pKhEOOgy9hYEAAAAAAAAgCO0Khg0sgYGsdKxhbfXZ8+ZxgrujMOgMw6De0lrSf185XmhqaGgJH3NcMzHyqvAPvema/NNJtyNj7gPwkE30S0IAAAAAAAAAEdoXTB4ffYca39gkIixocdocigoHQh3JqteX8ftU4njdZXt9ZXpebgH4aBb6BYEAAAAAAAAgCO1Lhg03uo6YWzocRofCi7CdXLgmN/qKAQHfZ6set19B5jH8tgOM8JBd9AtCAAAAAAAAABHamUw+ErXYCzGhh6r6aGgdGCMqAmiRrVUgiweMxzzoLQL+BiEg/bN6BYEAAAAAAAAgOO1Mhg0bsTY0LL4EAomi3AdHzhmVEMdyK4/WfUu9h2wCNdbZd9XdB/CQbvoFgQAAAAAAACAEvzDdgFNNA6DE0n3aneH4I4PoaAk3SzC9cO+Ayar3nexv6BrEqXjf/d2+n4Yni5Vzut1I2lgAseDxmHwKALlYz1Mh1EZ4S4AAAAAAAAAtF6bOwZzY2zo3/gSCm51oLvLdKZ16ygGuXSVrWM30/M0AzoH67UV3YIAAAAAAAAAUBqCwYwYG/o3voSCkjTP0AH2sZZKUMRns//jmxbhOlF5ARPhYH2+TIdRrn1fAQAAAAAAAABvIxg8YBwG3XEYLCU9yt1gq24+hYKS9GXfH5rQqV9LJSjqMcMxD0pHj5aBcLB6yXQY3douAgAAAAAAAAB8QjD4BjM29FZpl2DfbjVO8S0U3CzC9ebAMXQLuq8/WfVG+w4wXaFl7lVHOFitssa/AgAAAAAAAAAMgsFXjMPgQuk+gp9t1+IY30JB6UC3oDGqugiU4n6y6u19vi3C9VxSXOJ9Eg5WI54Oo9h2EQAAAAAAAADgG4LBF16MDf0mqWu5HNf4GApuF+F6tu8A04Xm+t8DqY6yhflld6IRDpaPbkEAAAAAAAAAqADB4F+NxNjQ1/gYCkrZwhnGiDbLp8mqd7LvgEW4TiTdlXy/hIPluZsOo8R2EQAAAAAAAADgI4LBv3qQlNguwjG+hoLSgTGiJmDaGzLBSfcZjqnitU44eLxE6WMDAAAAAAAAAKgAweAL02G0lXRjuw6H+BwKxqZzbB+6BZupb0bAvmkRrqt6rRMOHufKnIcBAAAAAAAAABUgGPzJdBjNJc1t1+EAn0NB6XC3YEfSRU21oHz35jF80yJczyXFFdw34WAx8+kwim0XAQAAAAAAAAA+Ixh83ZWkNnet+B4KJiYU2mekZv2d8FcdSZ8zHJfpeV4A4WA+W1X3WAAAAAAAAAAADILBV5hRdne267DE91BQkr5mOIYxos33yewT+SYzTraq1zrhYHZ3jBAFAAAAAAAAgOoRDL5hOoweVM2YQZe1IRSUDoQvk1WvL6lbRyGo3H2GYx4kJRXdP+HgYbE53wIAAAAAAAAAKkYwuF+bRoq2JhQ0XWL7/FZHIahFf7LqjfYdsAjXVY+xJBx8GyNEAQAAAAAAAKBGBIN7TIdRonaMFG1LKCgdGCM6WfW6SvcXhD/uJ6ve3ufrIlzHkg7tO3kMwsHX3ZnzLAAAAAAAAACgBgSDB7RgpGibQsHEBED7jGqoA/XqSPqc4bgbVdshTDj4V4wQBQAAAAAAAICaEQxm4+tI0TaFgpL0JcMxjBH106fJqney7wAzYjbLc+QYhIMpRogCAAAAAAAAgAUEgxl4OlK0baHgVgcClsmqdyGpW0cxsOL+0AGLcH0rKam4DsJB6YYRogAAAAAAAABQP4LBjMzIuyr3IKtT20JBSZovwvWhrs+PtVQCW/qTVW+U4bg6OtnaHA7Op8NoZrsIAAAAAAAAAGgjgsF8fBgp2sZQUDowInKy6nUl9WupBDbdT1a9vc9nsw9lHYsA2hgOMkIUAAAAAAAAACz6h+0CmmYcBn2lYVkTtTUU3CzC9em+Ayar3r2kTzXVA7sers+eb/Yd8GF42pW0Vj3P/42kQYaOVknSOAweJY0qrag6g+kwim0XAQAA0EbjMLhXujgtq69NmvQwDoO839M302G093tBXQrUfjMdRptKiinZOAxGkn7LcRNnHpefjcPgRBm2qGggZ59Pvp+3yjQOg1tJ7wve3NnXXREFzjuNMB1GA9s1vKXp72PjMLhQsUlyzp9zCpxHd65c2gao4a9rp57vO7/YLqBppsMoHofBg5oXIrU1FJQOdAsao6qLgDM+TVa9r9dnz2+ekBfhOvkwPP0i6XMN9ew6BzOFg9NhdDUOA6l5z9k7QkEAAACrTpRvSsofFdVRlX7e48dh8KcjF/T6OY9v0nf1rvyZztORP3+Xl1x+Pvl+3irFOAw6Ou76RX8cBl9cCgGO1JWfr1WX9XMe79p5Z6Niz5mOHJ7uNQ6DroplGBsHzwddNfd17drzXRKjRAsxq2icS3n3aHMouF2E69m+A8y+c778fZHNwVWei3B9KympvJKU72NFN9NhdGu7CAAAAOAn96YLDACabOTIzwAayYRgRbYVOnH8c8RFwdtlabJBwxEMFnepZuw32OZQUMoWnhRpFUez9SerXpYVM3Xuh+drOLhVer4EAAAAXNOR9Gi7CAA4Uhnj9Zo6og8oy9eCt3P5tVPkmvdWxUJSNAzBYEFmJUGdoUERbQ8FpQMrHCar3omKzVlG832erHp7n++LcB2r3jdDH8NBp2aSAwAAAD85MfvvAEDjmG6lMq5rdc0+a0ArTYfRXMUmh43KraQc5tzQLXDT+XQYNaEZCkciGDyCOWE82K7jDYSCUrwI18mBY+gWbK+Osm0cf6N6u4N9CgfvzHkSAAAAcNknLogDaKgyr2u53PkE1KFI12DH0c8QRc8NRTsn0TAEg0dydL9BQsHUoW7BjorPWoYfRpNVr7/vABMu1z1b24dwMGZfQQAAADTI4zgMuraLAICsxmFQ9nWtC86DaLlZwdu5GKoXOTck02EUl10I3EQwWI6B3NlvkFAwlSzC9aFOpZH8/Lsjn4Ndg4twfati4wSO0eRwMBH7CgIAAKBZOpK+2S4CAHK4UPnXtVhAj9YyW+HEBW56YYJ6J4zDYKRi54a6GyNgEcFgCczc3YHtOkQo+FKWtmfGiEKSTiar3qcMx9nYU7SJ4eBW0iXzyAEAANBAJ+MwuLVdBABkVMV1La6Voe2KjtIclVnEkX4teLtZmUXAbQSDJZkOo43sBAc7hIJ/Ndv3h2Z8ZLeOQtAIn81o2TctwnUsycZ+eU0LB2/M+RAAAABoos/jMOjbLgIA9hmHwYnS6wVl63IORJtNh9FMxSYDOjFO1IwDLtL5O2ORf7sQDJbInDhmFu6aUPCvZmZfuH2cOFnDGR1lGCkq6UZ2xgY3JRx8MOdBAAAAoMm+uTQSDABeUeV1La6Zoe1mBW5zYgJ724qOAy7aKYmG+sV2Ab6ZDqMrk8z3a7pLQsG/23sim6x6XbnV3g03jCar3tfrs+f4rQMW4Tr5MDz9IulzfWX91y4cHCzC9cFw0pyLpPqe6/PpMLqp6b4AAACAKu32G3RhyxA4YjqMYkn/KPNnmtG1eb5f3k2H0W2ZNaCxRlX+7HEY3DS1e8i8Rm7L/JnjMFgq37VeXqvN9kVSlm2HfvabJNtTtIqMA07Me5xPeA0eQMdgNS5Vz0mAUPDvEjPycZ9RDXWgmQ52DS7C9a2kpPJKXudq56DtUcoAAABA2frsNwjAReMwGKn663ujin8+4KzpMEokxQVuOiq1kJxMx2K3wE3pFmwhgsEKmBU1V6p25CCh4Ou+ZDiGkQh4y8lk1cuyIshmCOZaOLiVdNnUlYQAAADAHuw3CMBFea9rbSTNc96mSNcR4JMiYVlnHAZFR3mWoejrdlZmEWgGgsGKTIfRRtWNHSEUfN1WB05kk1XvQsVWTqA9Pk9Wvb2vF9OVOqulmte5Eg5uJQ3MSioAAADAR4/sNwjAFQW3L/qi/CFH15H90gBb5irW9GOzIaVIKDnnul47EQxWyISDZXcWEQq+bZ5h7zVWPOGQjjKMFJV0o2q7gg9xIRy8Muc5AAAAwFddSY+2iwAAI+91ra3SC/9FQg6uoaG1zGSsvJ22knRhY0HRESOGGSPaUgSDFZsOo5nSAKEMhIL77R0jOln1usq/qgrtNJqsev19B5gQ+q6ect5kMxy8Ml8sAAAAAN9djMMgy5YDAFC1Uc7j5y+2/pjlvK2VgANwSJYtq14zKrOIjH4tcJuEa3vtRTBYg+kwetDxF+MJBffbLML1oc4lVjohj4Ndg4tw/aB0Vr9NNsLBB7PoAQAAAGiLe8bqAbDJ7F2W91rfy26gvCFHR8VGEwJeMFOyilz3q3WcqBkxXOS1SrdgixEM1uTIi/GEgodl+XAzqroIeOVksuplWRVcVkfwMeoMB2fTYeTC3xkAAACo2ze6ZwBYlDdsSKbDKN79D7OPWN6Qg0X2aLsiXYMnNS8mKhrgz8osAs1CMFgjczE+7xswoeBh20W4nu07YLLqjdS+3wuO93my6u193izCdSw33kjrCAczn48AAAAAD3WVbT9yAChVwY6g17qB8oYcdQccgGuK7M8p1ds1WCTAj81iAbQUwWD9BsoeDhIKZjPLcAwrnFBER9m++N+o2IeEslUZDm4IBQEAAOCRpODtRuMwGJVXBgBkMipwm9kr/1+R/cS4pobWMnt0FnndjEou5VUmuO8WuCljRFuOYLBm5mSSJRwkFMxu72qnyap3ojQwAYoYTVa9/r4DFuF6K+munnIOqiIc3Cg9bwEAAAC+uFHxcJD9BgHULW/30avdQOa65Cznz2KfQbRdkRCtY/YFrVqR4H47HUazsgtBsxAMWpAhHCQUzC5ehOvkwDGsbMKxDnYNLsL1g4ptSFyFMsPBjaSBOW8BAAAAvthKKjoRoyPpkf0GAdTBhAvdnDfbF2T8nvNndeiURpuZvTqTAjetY5xokfBxVnYRaB6CQUv2hIOEgvkc6hbsiJVNON7JZNX7lOG4m8orya6McJBQEAAAAN4yF/qKTv44EfsNAqhH3nBh7+jD6TCaK3/IUed+aYCL8u7PKUkXVS4iMoF9kZ9f5O8CzxAMWmQutl/px95khIL5JItwfWjG80jt/h2hPJ9N0PymRbiO5daqm2PCQUJBAAAAeG86jG4lxQVvPqppTBiAljKhQt7zzDzDd/m8e6b1x2HQzXkbwCezgrcblVjDz34tcJtXxwyjfQgGLZsOo93eXQ+Egrllme/MGFGUpSPpMcNxN/oR9rugSDh4J0JBAAAAtMelin+Gf+RiOYAKjQrcJsv1siIdQ1xjQ2sV3J9Tqqjb1nz2KLI4qch+ifAQwaADpsNoMx1GmUYQEgr+xWzfH05Wvb7yz2AH9rkwz6s3LcL1VsXHEVUlbzh4SygIAACAtngxzaeIjqRvJZYDAC/lDeMSMyZ5L9Mx9PP2RoeMch4P+KZIqHYyDoOT0ispFgruHTOMdiEYbBBCwb+YLcJ1cuAY5p+jCge7Bhfh+kH5P2BXLVc4CAAAALSJ2XProeDNT8ZhwH6DAEo1DoO+8i94zxNc5O0a7Jg9zYBWMqF7UuCmVVyjLtLBm2XMMFriF9sFIBtCwb/Z+0Fnsup1xUomVKM7WfVur8+ebw8cd6P0NeuSXTg4MJ2NAAAAAIzpMLoxF+KLrOz/NA6DP0zACABlKBImzHIcO1e2LVNe+jXnfQC++Srpc87bjJReJyyF6UDsFrhpkRHCTfXbOAze2y5CUuZJkXWjY7ABCAX/JlmE6/jAMaMa6kB7fTTh85vMc3RWRzE50TkIAAAAvO1K7DcIwLJxGHSU/9rW3IwIzaTgnmkXnOfQcrMCt+mMw6DI6M+3FOkW3EyHkWvTzarUldR34J8qxsiWgmDQcYSCr8qyuoExoqhSR1KWUUE3Kn5RoUqEgwAAAMArzEWzoiu7O8rffQMArxkVuM3vNd1mVOA2gBdM+F5kOkCZ16qLhIxt6hZEBgSD7vsoQsGXDq5mmqx6FyrWTg3kcTFZ9fr7DjDjOu/qKSe3E0mfbBcBAAAAuGY6jGYqdtFPkvrjMLgtrxoALZU3RNiac1cuZvxxkvNmLMZH2+XZy3PnwnQCH8Xs85n352xV/HMNPEUw6LhFuL6Sm+MIbZln2ButSDs1UMTB1cCLcP0gycVW/dkiXN/aLgIAAABw1JXyXyzf+Wz2KgSA3Mz+YXnHzx1z0T9vyNEteSwi0CgFA3WpnG7bXwvcZm5GBwP/RTDYAISDf7G37dns+9avpRJA6k5WvdsMx7m2yeyDOa8AAAAAeIW5gHZ5xI/4VkZnAIBWKrLg/ZgxgbMCt6FrEG1XpGvwqNeN2d+zSChfpFZ4jmCwIcxFfNfChbptFuH6UOcV3YKo20cTSL9pEa5jSQ+1VHPY1SJct/1cAgAAABxk9hssujVAR9K3EssB0AJmQUHeC/+JOV8VYvZMi3Pe7MKEFEBbzQrc5sR0BBdVJBRMpsMoPuI+4SmCwQYxIwnb3OWTZfXTqOoigJ90JN1nOO5O6UxvW7ZKQ8GZxRoAAACARpkOo1vlv2C+0x+HAft6A8jjQvn3DzumW3Cn0J5pJdwv0EgFA3XpuK7BuruJ4TGCwYYxF/VPZTdgsGF7KNCYrHoj5f/wBJThYrLq9fcdYPbGtNWpt5U0IBQEAAAACrlU8e/g90d2BwBolyIX/o/ZX/Dlz8h7nmNqF9quSKA+KnJH5rNEt8BNZ0XuD/4jGGwgM05zIKnwmIAGmmU4hg8ksOnx0AEmmIsrr+SvNpJOM4zhBQAAAPAK9hsEUAdz4T/vQoK56Vw6ijnP5Q0Yu+Mw6B9730BTTYfRTPkD9c44DIp02xa57j0zr23gbwgGG+pFOBhbLqUue9ueJ6tekQ9PQJm6k1XvNsNxdXYNzpV2CiY13icAAADgHbM/T9F9w7vKsJAQQOsVGTH4e4n3X6T76ZixiIAPZgVuU+R1UyRMLPP8AM/8YrsAFGdGEw4+DE8f5ffeenGGYINuQbjg42TVm12fPSdvHbAI15sPw9MHSVXvNfKwCNe2RpcCAAAA3pkOoxvTHVNkUerFOAw+TYdR0XARgP9GOY/fmo6lUkyHUTwOg0T5xhWOxmFwQ1cSWuyL8l/juxiHQSfr62YcBiPl3z4rmQ6jMsYMN9Wd2Scab6Bj0AOLcH0l6cp2HRU61C3YERseww0dSfcZjrtTdfuEbiVdEQoCAAAAlWC/QQClK3jhf1Z6ITXumQb4wIzyjQvcdJTj2F8L/Pwir2W0CMGgJ8zeZaeqLmywJVmE60OrG0bK/+EJqMrFZNXr7zvAdPtWEdwlSkeHzir42QAAAEDrmQuAx3yWf2S/QQCvKDJasIoL/7MCt2GKF9qusjG84zDoqlhDzKzAbdAiBIMeMfsOvpNf+w5mObHyAQSuObh/iAnv4hLvM5Z0as4DAAAAACpiRvfNCt78RNmmjABoCXPhv5/zZpvpMCr9+3/B7qcu3dBoubnyN+ucZHzdFAkF5+a1DLyJYNAzi3C9XYTrgYpviu6a2b4/NJ1Z3ToKAXLoTla92wzHldU1eLcI1wPTiQgAAACgejdKJ3YUMTJjAwFAKrbgvcoxgUV+Nov20Vpmr8Ai+/ll6Rp07fwAT/xiuwBUYxGubz4MT/9Q2rnU1DEls0W4Tg4cU2TUAlCHj5NVb3Z99py8dcAiXG8+DE8flH+T4p3dfoJt3kwYAAAAqN10GG3HYXApaV3wR9yPw6CSjh8AjTMqcJtkHAb9kuvYKbLo+GIcBjcmIAHa6Ivyv5ZH2tM0YDoKuzl/ZjIdRlwnxEF0DHrMhAWnkpr6RWPv6obJqtcVGxzDXR1lGxF0p2IfujdKR4fyZg8AAABYYEK9olNAOsqwBQEAv43D4ELFFvR/k7Ss6J9vBerpqNjIQ8AL5jNB3mvwHXMOeEuRbkGuEyITgkHPLcJ1sgjXp2reaNFkEa7jA8eMaqgDOMbFZNXb+8HYjP/MezHhbhGuTzN01AIAAACo0HQYPaj4RbiTcRiw3yDQbj5NwmKcKNruS4Hb7DsHFAnbi9SAFiIYbIlFuL6RNFCxziQbspzEfPrwBH/dT1a9vav/FuF6pmybeyeSBotwfXt0VQAAAADKcqXi37WLbisAoOHGYdCVX112J2b0IdBWc+X/PHAxDoO/XTc0exHn7SaOp8MoyXkbtBTBYIuYDrx3cr+leCtptvoTkrAAAAqDSURBVO8A04XVraMY4EhdZfuyf6hrcK50dGh8bEEAAAAAymP21Lq0XQeAxhnZLqACdA2itczngSLX3Uev/H+/Fvg5e7flAl4iGGyZRbjeLsL1pdIQwtXuwbkZr7gPHzTQJJ/NnphvWoTrjV4f+buVdLkI15cZXhcAAAAALJgOo1jp/uEAkJWPk7B86oAEiigSzv3lXFCwm3g7HUazAveNliIYbKlFuH6QdKps4wvrtneMqAlY+rVUApTnMcMxd/prYD+X9G4Rrl3v8gUAAABabzqMbiVtbNcBwH3jMPB1ElbHjEAEWsksFEpy3uznMbxFAvZZgdugxQgGW2wRrpNFuB7Ire7Bjemc2oduQTRR34zAfZPpCNy9HukSBAAAAJrnUu58vwbgLh+7BXd8/rsBWextennDy9dNkWvfRe4TLUYwCNe6B7OcxEZVFwFU5H6y6u3dOHgRrmeiSxAAAABopOkwSiRd2a4DgLvGYdCR3yM3+2YUItBWswK3GUmS6Rzs5rztxnz+ADIjGIQkZ7oHtyYUedNk1RtJ2husAA7rSvp06CC6BAEAAIDmmg6juRjpBeBtI9sF1IBpX2it6TDaKv/ngI4ZMUy3IGpBMIi/eNE9aKNbaZbhGD5YoOk+m30yAQAAAPjrRuw3COB1bbi2NbJdAGDZ1wK3+U35u4m3snMdHw33i+0C4J5FuE4kXX4Ynl5Iuld9myHvXd0wWfVOJJ3sOwZoiEdJA9tFAAAAAKjGdBhtx2FwJWkppt4AMMZh0Fex62xzSX+WWkx2/1L+sKIzDoPRdBjNKqgHcN50GMXjMEiU7/VeZMTw3HQoArkQDOJNi3A9/zA8jZWOPvxc8d3FJpDcpw0rqtAOJ5NVr3t99pzYLgQAAABANabDaDMOgzulC24BQEo7goq4sbWH2BF7Iv4qxiqj3b6q+mvqjBFFIQSD2MvsdXb7YXg6U9rl1K/org51C/q+MTPaYybp5vrsmdU8AAAAgOemw+hhHAbvxfdZoPVMwDYqcNPYVigo/bcDeq7857GLcRh0bdYOWDZTtcHgZjqMGFv+uv9nOrRdsHGxq5NgEJmYbr5BReNFk0W4PjQLeSTGr6DZYqWBIG/YAAAAQLtcKd0Wo2u5DgB2jQrersheZWX7qmILHEaSbkutBGiI6TBKCobqWdEt+LaR3NnrdKD0urBT/mm7ADTLIlzPF+H6naQ7pZubliHLBxzGiKKpEkmX12fPA0JBAAAAoH3MKvEr23UAsK7IGNGt0v0FrZoOo7nS6xt5FR2dCviiymDf+rkBzUUwiEIW4fpW0jtJDyX8uNm+P5ysen2xshLNs1XaIfju+uyZN2oAAACgxabDKFa6wBZAC43D4ERp53Bec4dG0BW5ttEdhwGjlNFaR4Tqh8wcOjeggQgGUdgiXG8X4fpGaUA4K/hjZmZM6T6sLkLTPEh6d332XEZwDgAAAMAD02F0KwdHSQGoRdFJWC6MEd0pOraQ63pouypexy6dG9BABIM42iJcJ4twfaVi83L3nsQmq15X7swDBg6ZKQ0Eb67Pnlm1AwAAAOBnVypvWw4ADTAOg46K7TGWmG5jJ0yHUSKpyBYpF+Mw6JZbDdAos5J/nlPnBjQTwSBKswjX8SJcD5Q9IEwW4frQcaMjywLqECsNBK+uz54Ty7UAAAAAcJS5sM5+g0C7XEjqFLhd0Q69KhWtiXGiaC3z3h+X+CNdPDegYQgGUbocAWGWkxjjBuCyWNLg+ux5QCAIAAAAIAuz3xDbDgDtUXSMaJE9/ao2V7Gu56K/A8AXZY7+nJX4s9BSBIOozIGAcKsDJ7HJqnchqVtFbcCRZvoRCMaWawEAAADQPHcqNpIPQIOMw+BE0kmBm85Nl5FTpsNoq2KBZXccBv2SywEaYzqMZipnlPjMvA6BoxAMonIvAsJT/QgD54twfegkxmoiuGamHyNDY8u1AAAAAGgoc1GP/QYB/xWdhPV7qVWUq2jnE1PB0HazEn6Gy+cGNAjBIGqzCNebRbi+kvRO0s2+YyerXldSv4aygEO2Ssf8sIcgAAAAgNJMh9FGB74bA2i8UYHbbE13kZOmwyiWlBS46WgcBkX2WgR8cezegIkZRw4c7RfbBaB9FuE6yXAY3YKwLVH6hj27PntmFS8AAACa7qukP3IcH1dUR1Xuch6fVFFEXtNhNDMXyvNcLE8qKqcKcc7jkwpqcFlc8fFN1+jz1jgMuioWBDRhzPCNio1I7aoZf7+fNfq5WINGvgfXbTqMknEY3Cjfe/5LTXztlCW2XcAREtsFvOYftgsAXjNZ9f5PxU+SwDFiSV+vz55nlusAAAAAAAAAAKBUdAzCOZNV70SEgqjXbvPsL9dnz21efQMAAAAAAAAA8Bgdg3DSZNXrSLpQOlK0yGgCIIuN0rEec8aFAgAAAAAAAAB8RzAI501Wva7SgHAkOglxPLoDAQAAAAAAAACtRDCIRpmseiNJvyrtJgTymEv6nb0DAQAAAAAAAABtRTCIRjJdhBeSfhOjRvG2jaSvkmaMCgUAAAAAAAAAtB3BIBqPkBA/2YWB8+uz58RyLQAAAAAAAAAAOINgEF4hJGwtwkAAAAAAAAAAAA4gGIS3TEjYF3sS+mou6XdJMWEgAAAAAAAAAACHEQyiNSar3oWk90pDwq7dalBAojQM/OP67HluuRYAAAAAAAAAABqHYBCt9KKbcBcUdmzWg1clkmJJf4iuQAAAAAAAAAAAjkYwCEiarHonSvckfK80MOzarKelEv0IAjfXZ88bq9UAAAAAAAAAAOAZgkHgFaajcBcUnigNC1GuWNJGP4LAxGo1AAAAAAAAAAB4jmAQyOhFV+G/RFiYV6w0BPxTdAMCAAAAAAAAAGAFwSBwBNNZ2FUaEv6/F//dVrHSkaD/3v03nYAAAAAAAAAAALiBYBCowGTV6yjtKuyaf/4lqfPifzdVYv7ZKu3+2/3vzfXZ89ZWUQAAAAAAAAAA4DCCQcCCF8GhzL875r/fvzjs5TFV2igN+nb+MP/emj+TCP4AAAAAAAAAAGg8gkGgYSarXv+ImxPwAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADggv8PKtC8+6b7s94AAAAASUVORK5CYII=",zot=({size:n="16",fill:e="#333",...t})=>Gt("svg",{width:n,height:n,viewBox:"0 0 24 24",...t,children:[se("path",{d:"M0 0h24v24H0z",fill:"none"}),se("path",{d:"m12.87 15.07-2.54-2.51.03-.03A17.52 17.52 0 0 0 14.07 6H17V4h-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 7 1.62-4.33L19.12 17h-3.24z",fill:e})]});var Hot={name:"qzuz4p",styles:"cursor:pointer;opacity:0.6;&:hover{opacity:1;}"};function Tz(){const{t:n,i18n:e}=zs(),t=lo();return se(FO,{menu:{items:[{key:"0",label:n("head.en"),onClick(){(e==null?void 0:e.resolvedLanguage)!==by.en&&e.changeLanguage(by.en)}},{key:"1",label:n("head.zh"),onClick(){(e==null?void 0:e.resolvedLanguage)!==by.zh&&e.changeLanguage(by.zh)}}]},children:se("a",{css:Hot,onClick:i=>i.preventDefault(),children:se(zot,{fill:t.color.text})})})}var Yot={GITHUB_STATE:"/home/runner/work/_temp/_runner_file_commands/save_state_1db24d99-745b-44e6-9118-92da7729c914",STATS_TRP:"true",DEPLOYMENT_BASEPATH:"/opt/runner",DOTNET_NOLOGO:"1",USER:"runner",npm_config_always_auth:"",npm_config_user_agent:"npm/10.5.0 node/v18.20.2 linux x64 workspaces/false ci/github-actions",CI:"true",RUNNER_ENVIRONMENT:"github-hosted",GITHUB_ENV:"/home/runner/work/_temp/_runner_file_commands/set_env_1db24d99-745b-44e6-9118-92da7729c914",PIPX_HOME:"/opt/pipx",npm_node_execpath:"/opt/hostedtoolcache/node/18.20.2/x64/bin/node",JAVA_HOME_8_X64:"/usr/lib/jvm/temurin-8-jdk-amd64",NODE_AUTH_TOKEN:"XXXXX-XXXXX-XXXXX-XXXXX",SHLVL:"1",npm_config_noproxy:"",HOME:"/home/runner",RUNNER_TEMP:"/home/runner/work/_temp",GITHUB_EVENT_PATH:"/home/runner/work/_temp/_github_workflow/event.json",npm_package_json:"/home/runner/work/openapi-ui/openapi-ui/package.json",JAVA_HOME_11_X64:"/usr/lib/jvm/temurin-11-jdk-amd64",PIPX_BIN_DIR:"/opt/pipx_bin",GITHUB_REPOSITORY_OWNER:"rookie-luochao",npm_config_auto_install_peers:"true",npm_package_engines_node:"^18.0.0 || >=20.0.0",GRADLE_HOME:"/usr/share/gradle-8.7",ANDROID_NDK_LATEST_HOME:"/usr/local/lib/android/sdk/ndk/26.3.11579264",JAVA_HOME_21_X64:"/usr/lib/jvm/temurin-21-jdk-amd64",STATS_RDCL:"true",GITHUB_RETENTION_DAYS:"90",GITHUB_REPOSITORY_OWNER_ID:"22948077",POWERSHELL_DISTRIBUTION_CHANNEL:"GitHub-Actions-ubuntu22",AZURE_EXTENSION_DIR:"/opt/az/azcliextensions",GITHUB_HEAD_REF:"",npm_config_local_prefix:"/home/runner/work/openapi-ui/openapi-ui",SYSTEMD_EXEC_PID:"591",GITHUB_GRAPHQL_URL:"https://api.github.com/graphql",COLOR:"0",GOROOT_1_20_X64:"/opt/hostedtoolcache/go/1.20.14/x64",NVM_DIR:"/home/runner/.nvm",DOTNET_SKIP_FIRST_TIME_EXPERIENCE:"1",GOROOT_1_21_X64:"/opt/hostedtoolcache/go/1.21.9/x64",JAVA_HOME_17_X64:"/usr/lib/jvm/temurin-17-jdk-amd64",ImageVersion:"20240422.1.0",RUNNER_OS:"Linux",GITHUB_API_URL:"https://api.github.com",GOROOT_1_22_X64:"/opt/hostedtoolcache/go/1.22.2/x64",SWIFT_PATH:"/usr/share/swift/usr/bin",RUNNER_USER:"runner",STATS_V3PS:"true",CHROMEWEBDRIVER:"/usr/local/share/chromedriver-linux64",JOURNAL_STREAM:"8:17399",GITHUB_WORKFLOW:"Publish Package CI",_:"/opt/hostedtoolcache/node/18.20.2/x64/bin/npm",npm_config_prefix:"/opt/hostedtoolcache/node/18.20.2/x64",npm_config_npm_version:"10.5.0",ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE:"/opt/actionarchivecache",STATS_D:"true",GITHUB_RUN_ID:"9034363565",STATS_VMFE:"true",npm_config_cache:"/home/runner/.npm",GITHUB_REF_TYPE:"tag",BOOTSTRAP_HASKELL_NONINTERACTIVE:"1",GITHUB_WORKFLOW_SHA:"7d06aa5962e2854267496af964903729ea3712ea",GITHUB_BASE_REF:"",ImageOS:"ubuntu22",GITHUB_WORKFLOW_REF:"rookie-luochao/openapi-ui/.github/workflows/publish-package-ci.yml@refs/tags/v2.2.1",PERFLOG_LOCATION_SETTING:"RUNNER_PERFLOG",GITHUB_ACTION_REPOSITORY:"",npm_config_node_gyp:"/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",PATH:"/home/runner/work/openapi-ui/openapi-ui/node_modules/.bin:/home/runner/work/openapi-ui/node_modules/.bin:/home/runner/work/node_modules/.bin:/home/runner/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin",ANT_HOME:"/usr/share/ant",DOTNET_MULTILEVEL_LOOKUP:"0",RUNNER_TRACKING_ID:"github_8e3f06e2-01ee-4dd3-8ff0-4ad90f0f5f28",INVOCATION_ID:"d0057c0943174c4e95e299688b270680",NPM_CONFIG_USERCONFIG:"/home/runner/work/_temp/.npmrc",RUNNER_TOOL_CACHE:"/opt/hostedtoolcache",NODE:"/opt/hostedtoolcache/node/18.20.2/x64/bin/node",npm_package_name:"openapi-ui-dist",GITHUB_ACTION:"__run_3",GITHUB_RUN_NUMBER:"5",GITHUB_TRIGGERING_ACTOR:"rookie-luochao",RUNNER_ARCH:"X64",XDG_RUNTIME_DIR:"/run/user/1001",AGENT_TOOLSDIRECTORY:"/opt/hostedtoolcache",LANG:"C.UTF-8",VCPKG_INSTALLATION_ROOT:"/usr/local/share/vcpkg",CONDA:"/usr/share/miniconda",RUNNER_NAME:"GitHub Actions 19",XDG_CONFIG_HOME:"/home/runner/.config",STATS_VMD:"true",GITHUB_REF_NAME:"v2.2.1",GITHUB_REPOSITORY:"rookie-luochao/openapi-ui",STATS_D_D:"true",npm_lifecycle_script:"tsc && vite build --config vite.package.config.ts --mode package",STATS_UE:"true",ANDROID_NDK_ROOT:"/usr/local/lib/android/sdk/ndk/25.2.9519653",GITHUB_ACTION_REF:"",DEBIAN_FRONTEND:"noninteractive",GITHUB_REPOSITORY_ID:"733969338",GITHUB_ACTIONS:"true",npm_package_version:"2.2.1",npm_lifecycle_event:"build:package",NODE_PATH:"/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules/vite/bin/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules/vite/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/node_modules",GITHUB_REF_PROTECTED:"false",GITHUB_WORKSPACE:"/home/runner/work/openapi-ui/openapi-ui",ACCEPT_EULA:"Y",GITHUB_JOB:"build",RUNNER_PERFLOG:"/home/runner/perflog",GITHUB_SHA:"7d06aa5962e2854267496af964903729ea3712ea",GITHUB_RUN_ATTEMPT:"1",GITHUB_REF:"refs/tags/v2.2.1",GITHUB_ACTOR:"rookie-luochao",ANDROID_SDK_ROOT:"/usr/local/lib/android/sdk",LEIN_HOME:"/usr/local/lib/lein",npm_config_globalconfig:"/opt/hostedtoolcache/node/18.20.2/x64/etc/npmrc",npm_config_init_module:"/home/runner/.npm-init.js",GITHUB_PATH:"/home/runner/work/_temp/_runner_file_commands/add_path_1db24d99-745b-44e6-9118-92da7729c914",JAVA_HOME:"/usr/lib/jvm/temurin-11-jdk-amd64",PWD:"/home/runner/work/openapi-ui/openapi-ui",GITHUB_ACTOR_ID:"22948077",RUNNER_WORKSPACE:"/home/runner/work/openapi-ui",npm_execpath:"/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/bin/npm-cli.js",HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS:"3650",GITHUB_EVENT_NAME:"push",HOMEBREW_NO_AUTO_UPDATE:"1",ANDROID_HOME:"/usr/local/lib/android/sdk",GITHUB_SERVER_URL:"https://github.com",GECKOWEBDRIVER:"/usr/local/share/gecko_driver",LEIN_JAR:"/usr/local/lib/lein/self-installs/leiningen-2.11.2-standalone.jar",GHCUP_INSTALL_BASE_PREFIX:"/usr/local",GITHUB_OUTPUT:"/home/runner/work/_temp/_runner_file_commands/set_output_1db24d99-745b-44e6-9118-92da7729c914",npm_config_global_prefix:"/opt/hostedtoolcache/node/18.20.2/x64",EDGEWEBDRIVER:"/usr/local/share/edge_driver",STATS_EXT:"true",npm_command:"run-script",ANDROID_NDK:"/usr/local/lib/android/sdk/ndk/25.2.9519653",SGX_AESM_ADDR:"1",CHROME_BIN:"/usr/bin/google-chrome",SELENIUM_JAR_PATH:"/usr/share/java/selenium-server.jar",STATS_EXTP:"https://provjobdsettingscdn.blob.core.windows.net/settings/provjobdsettings-0.5.172+1/provjobd.data",ANDROID_NDK_HOME:"/usr/local/lib/android/sdk/ndk/25.2.9519653",GITHUB_STEP_SUMMARY:"/home/runner/work/_temp/_runner_file_commands/step_summary_1db24d99-745b-44e6-9118-92da7729c914",INIT_CWD:"/home/runner/work/openapi-ui/openapi-ui",EDITOR:"vi",NODE_ENV:"production"};function Uot(){return"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."}const Kot=({size:n="16",fill:e="#333",...t})=>se("svg",{width:n,height:n,viewBox:"0 0 24 24",...t,children:se("path",{d:"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12",fill:e})});var Jot=Yot.NODE_ENV==="production"?{name:"1lxa9lm",styles:"cursor:pointer;opacity:0.8;&:hover{opacity:1;}"}:{name:"1jyoe7c-githubLink",styles:"cursor:pointer;opacity:0.8;&:hover{opacity:1;};label:githubLink;",map:"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL29wZW5hcGktdWkvb3BlbmFwaS11aS9zcmMvY29tcG9uZW50cy9naXRodWItc3Rhci9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMERNIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL29wZW5hcGktdWkvb3BlbmFwaS11aS9zcmMvY29tcG9uZW50cy9naXRodWItc3Rhci9pbmRleC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUb29sdGlwIH0gZnJvbSBcImFudGRcIjtcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUNvbmZpZ0luZm9TdG9yZSB9IGZyb20gXCIuLi8uLi9jb3JlL3N0b3JlXCI7XG5pbXBvcnQgeyBkYXJrVGhlbWUgfSBmcm9tIFwiLi4vLi4vY29yZS9zdHlsZS9kZWZhdWx0U3R5bGVDb25maWdcIjtcblxuY29uc3QgR2l0aHViSWNvbiA9ICh7IHNpemUgPSBcIjE2XCIsIGZpbGwgPSBcIiMzMzNcIiwgLi4ub3RoZXIgfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxzdmcgd2lkdGg9e3NpemV9IGhlaWdodD17c2l6ZX0gdmlld0JveD1cIjAgMCAyNCAyNFwiIHsuLi5vdGhlcn0+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTEyIC4yOTdjLTYuNjMgMC0xMiA1LjM3My0xMiAxMiAwIDUuMzAzIDMuNDM4IDkuOCA4LjIwNSAxMS4zODUuNi4xMTMuODItLjI1OC44Mi0uNTc3IDAtLjI4NS0uMDEtMS4wNC0uMDE1LTIuMDQtMy4zMzguNzI0LTQuMDQyLTEuNjEtNC4wNDItMS42MUM0LjQyMiAxOC4wNyAzLjYzMyAxNy43IDMuNjMzIDE3LjdjLTEuMDg3LS43NDQuMDg0LS43MjkuMDg0LS43MjkgMS4yMDUuMDg0IDEuODM4IDEuMjM2IDEuODM4IDEuMjM2IDEuMDcgMS44MzUgMi44MDkgMS4zMDUgMy40OTUuOTk4LjEwOC0uNzc2LjQxNy0xLjMwNS43Ni0xLjYwNS0yLjY2NS0uMy01LjQ2Ni0xLjMzMi01LjQ2Ni01LjkzIDAtMS4zMS40NjUtMi4zOCAxLjIzNS0zLjIyLS4xMzUtLjMwMy0uNTQtMS41MjMuMTA1LTMuMTc2IDAgMCAxLjAwNS0uMzIyIDMuMyAxLjIzLjk2LS4yNjcgMS45OC0uMzk5IDMtLjQwNSAxLjAyLjAwNiAyLjA0LjEzOCAzIC40MDUgMi4yOC0xLjU1MiAzLjI4NS0xLjIzIDMuMjg1LTEuMjMuNjQ1IDEuNjUzLjI0IDIuODczLjEyIDMuMTc2Ljc2NS44NCAxLjIzIDEuOTEgMS4yMyAzLjIyIDAgNC42MS0yLjgwNSA1LjYyNS01LjQ3NSA1LjkyLjQyLjM2LjgxIDEuMDk2LjgxIDIuMjIgMCAxLjYwNi0uMDE1IDIuODk2LS4wMTUgMy4yODYgMCAuMzE1LjIxLjY5LjgyNS41N0MyMC41NjUgMjIuMDkyIDI0IDE3LjU5MiAyNCAxMi4yOTdjMC02LjYyNy01LjM3My0xMi0xMi0xMlwiXG4gICAgICAgIGZpbGw9e2ZpbGx9XG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICApO1xufTtcblxubGV0IGlzRmV0Y2hlZEdpdGh1YlN0YXIgPSBmYWxzZTtcbmxldCBzdGFyID0gMDtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gR2l0aHViU3RhcigpIHtcbiAgY29uc3QgeyBjb25maWdJbmZvIH0gPSB1c2VDb25maWdJbmZvU3RvcmUoKTtcbiAgY29uc3QgaXNEYXJrVGhlbWUgPSBjb25maWdJbmZvPy50aGVtZSA9PT0gXCJkYXJrXCI7XG4gIGNvbnN0IFssIHNldENvdW50XSA9IHVzZVN0YXRlKDApO1xuICBjb25zdCBpc1BhY2thZ2UgPSBpbXBvcnQubWV0YS5lbnYuTU9ERSA9PT0gXCJwYWNrYWdlXCI7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWlzUGFja2FnZSAmJiAhaXNGZXRjaGVkR2l0aHViU3Rhcikge1xuICAgICAgKGFzeW5jICgpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBnZXRTdGFyKCk7XG4gICAgICAgICAgc3RhciA9IHJlcy5zdGFyZ2F6ZXJzX2NvdW50O1xuICAgICAgICAgIGlzRmV0Y2hlZEdpdGh1YlN0YXIgPSB0cnVlO1xuICAgICAgICAgIHNldENvdW50KChwcmVDb3VudCkgPT4gcHJlQ291bnQgKyAxKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKFwiZmV0Y2ggZ2l0aHViIGluZm8gZXJyb3I6XCIsIGUpO1xuICAgICAgICB9XG4gICAgICB9KSgpO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIGdldFN0YXIoKSB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goXCJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Jvb2tpZS1sdW9jaGFvL29wZW5hcGktdWlcIik7XG5cbiAgICBpZiAoIXJlcy5vaykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRmFpbGVkIHRvIGZldGNoIGRhdGFcIik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcy5qc29uKCk7XG4gIH1cblxuICBpZiAoIWlzUGFja2FnZSAmJiAhaXNGZXRjaGVkR2l0aHViU3Rhcikge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgZ2l0aHViTGluayA9IChcbiAgICA8YVxuICAgICAgaHJlZj1cImh0dHBzOi8vZ2l0aHViLmNvbS9yb29raWUtbHVvY2hhby9vcGVuYXBpLXVpXCJcbiAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICBjc3M9e3sgY3Vyc29yOiBcInBvaW50ZXJcIiwgb3BhY2l0eTogMC44LCBcIiY6aG92ZXJcIjogeyBvcGFjaXR5OiAxIH0gfX1cbiAgICA+XG4gICAgICA8R2l0aHViSWNvbiBmaWxsPXtpc0RhcmtUaGVtZSA/IGRhcmtUaGVtZS5jb2xvci50ZXh0IDogdW5kZWZpbmVkfSAvPlxuICAgIDwvYT5cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7aXNQYWNrYWdlID8gKFxuICAgICAgICBnaXRodWJMaW5rXG4gICAgICApIDogKFxuICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgIHRpdGxlPXtcbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICB7YCR7c3Rhcn1gLnJlcGxhY2UoL1xcQig/PShcXGR7M30pKyg/IVxcZCkpL2csIFwiLFwiKX1cbiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3sgY29sb3I6IFwiZ29sZFwiIH19PiYjOTczMzs8L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICA+XG4gICAgICAgICAge2dpdGh1Ykxpbmt9XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICl9XG4gICAgPC8+XG4gICk7XG59XG4iXX0= */",toString:Uot};function Ez(){const{configInfo:n}=fh(),e=(n==null?void 0:n.theme)==="dark";S.useState(0),S.useEffect(()=>{},[]);const t=se("a",{href:"https://github.com/rookie-luochao/openapi-ui",target:"_blank",css:Jot,children:se(Kot,{fill:e?Xi.color.text:void 0})});return se(Sc,{children:t})}function ige(){return Gt("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",version:"1.1",width:"18",height:"18",viewBox:"0 0 18 18",children:[se("defs",{children:Gt("filter",{id:"master_svg0_182_24814",filterUnits:"objectBoundingBox",colorInterpolationFilters:"sRGB",x:"0",y:"0",width:"18",height:"18",children:[se("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),se("feBlend",{mode:"normal",in:"SourceGraphic",in2:"BackgroundImageFix",result:"shape"}),se("feGaussianBlur",{in:"BackgroundImage",stdDeviation:"2"}),se("feComposite",{in2:"SourceAlpha",operator:"in",result:"effect1_foregroundBlur"}),se("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_foregroundBlur",result:"shape"})]})}),Gt("g",{children:[se("g",{filter:"url(#master_svg0_182_24814)",children:se("rect",{x:"0",y:"0",width:"18",height:"18",rx:"4",fill:"#EEF2F9",fillOpacity:"0.8500000238418579"})}),se("g",{transform:"matrix(-1,0,0,-1,26,24)",children:se("path",{d:"M13.649878,16.187649999999998C13.387973,16.51503,13.621059,17,14.04031,17L19.959690000000002,17C20.37894,17,20.61203,16.51503,20.35012,16.187649999999998L17.390430000000002,12.488043C17.190269999999998,12.23784,16.809730000000002,12.23784,16.60957,12.488043L13.649878,16.187649999999998Z",fill:"#8B8EA2",fillOpacity:"1"})})]})]})}const Rz=Ei.Item;function rge({onSuccess:n}){const[e]=Ei.useForm(),{configInfo:t,updateConfigInfo:i}=fh(),{t:r}=zs();function o(s){i(s),tu.success(r("head.updateConfigSuccess")),n()}return se(Fue,{title:r("head.updateConfig"),open:!0,footer:null,onCancel:n,children:Gt(Ei,{name:"config",form:e,layout:"vertical",initialValues:{timeout:(t==null?void 0:t.timeout)||Qde,authorization:t==null?void 0:t.authorization},onFinish:o,children:[se(Rz,{name:"timeout",label:r("head.requestTimeoutLabel"),rules:[{required:!0,message:r("head.requestTimeoutPlaceholder")}],children:se(zle,{style:{width:"100%"},min:1,max:3600,placeholder:r("head.requestTimeoutPlaceholder")})}),se(Rz,{name:"authorization",label:r("head.authorizationLabel"),children:se(dh,{style:{width:"100%"},placeholder:r("head.authorizationPlaceholder")})}),se(Rz,{children:se(jr,{type:"primary",htmlType:"submit",style:{width:"100%"},children:r("head.submit")})})]})})}var jot={name:"1lxa9lm",styles:"cursor:pointer;opacity:0.8;&:hover{opacity:1;}"};function Qot(){const{t:n}=zs();return se(sg,{title:n("postman.goToPostman"),children:se("a",{css:jot,onClick:()=>{globalThis.open(`${globalThis.location.origin}${ege}`)},children:se($de,{})})})}const $ot=(n={})=>({display:"flex",...n}),Tb=(n={})=>({display:"flex",justifyContent:"center",alignItems:"center",...n}),uR=(n={})=>({display:"flex",alignItems:"center",...n}),oge=(n={})=>({display:"flex",justifyContent:"space-between",alignItems:"center",...n});function Zz({...n}){return se("div",{css:[Tb(),{width:"100%",minWidth:1200,height:32,fontSize:Er.fontSize.xs,opacity:.6},"",""],...n,children:"湘ICP备2024041043号"})}const qot="data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1702091156489'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='6551'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='32'%20height='32'%3e%3cpath%20d='M465.92%20661.333333a106.666667%20106.666667%200%201%200%200-213.333333%20106.666667%20106.666667%200%200%200%200%20213.333333z'%20fill='%23FFFFFF'%20p-id='6552'%3e%3c/path%3e%3cpath%20d='M469.333333%20554.666667m-85.333333%200a85.333333%2085.333333%200%201%200%20170.666667%200%2085.333333%2085.333333%200%201%200-170.666667%200Z'%20fill='%23424144'%20p-id='6553'%3e%3c/path%3e%3cpath%20d='M853.333333%20170.666667m-85.333333%200a85.333333%2085.333333%200%201%200%20170.666667%200%2085.333333%2085.333333%200%201%200-170.666667%200Z'%20fill='%23424144'%20p-id='6554'%3e%3c/path%3e%3cpath%20d='M775.68%20205.824L503.466667%20476.885333l44.373333%2044.458667%20272.384-272.768z'%20fill='%23424144'%20p-id='6555'%3e%3c/path%3e%3cpath%20d='M469.333333%20170.666667v277.333333a147.541333%20147.541333%200%200%200-26.112%202.218667c-5.589333%201.237333-12.8%204.010667-21.589333%208.32L279.765333%20221.056c37.418667-17.92%2066.816-29.738667%2088.064-35.413333C389.12%20180.053333%20422.954667%20175.018667%20469.333333%20170.666667z'%20fill='%236CA338'%20p-id='6556'%3e%3c/path%3e%3cpath%20d='M488.32%20170.666667v279.552c3.242667%200.597333%205.930667%201.28%208.106667%201.92a13.568%2013.568%200%200%200%207.253333%200l196.608-202.922667c-31.616-24.362667-63.146667-42.24-94.634667-53.589333-31.488-11.392-70.613333-19.712-117.333333-24.96z'%20fill='%234E5A2F'%20p-id='6557'%3e%3c/path%3e%3cpath%20d='M262.229333%20231.082667l145.194667%20233.813333-2.816%202.389333-185.984-203.050666z'%20fill='%2394D608'%20p-id='6558'%3e%3c/path%3e%3cpath%20d='M671.274667%20881.066667l-142.336-239.786667%202.730666-2.688%20188.373334%20206.378667a384.853333%20384.853333%200%200%201-22.016%2018.005333c-5.76%204.266667-14.677333%2010.24-26.752%2018.048zM359.253333%20554.666667H85.333333c3.2-67.84%2015.957333-123.306667%2038.144-166.4%2022.229333-43.093333%2048.682667-80.042667%2079.36-110.933334l184.490667%20204.074667c-11.349333%2013.482667-18.773333%2024.746667-22.272%2033.92-3.498667%209.130667-5.461333%2022.229333-5.802667%2039.338667zM572.586667%20554.666667H853.333333c-2.773333-50.688-9.258667-92.373333-19.541333-125.056-10.24-32.682667-30.208-69.077333-59.861333-109.098667l-205.781334%20203.221333c1.792%206.058667%202.944%2010.965333%203.456%2014.72%200.554667%203.754667%200.853333%209.130667%200.981334%2016.213334z'%20fill='%234E5A2F'%20p-id='6559'%3e%3c/path%3e%3cpath%20d='M547.84%20623.616l189.184%20208.853333c36.778667-44.458667%2063.317333-82.944%2079.658667-115.498666%2016.298667-32.512%2028.544-79.232%2036.650666-140.074667h-280.746666a144.170667%20144.170667%200%200%201-9.301334%2024.533333c-2.986667%205.546667-8.106667%2012.970667-15.402666%2022.186667z'%20fill='%236BA238'%20p-id='6560'%3e%3c/path%3e%3cpath%20d='M428.117333%20654.549333l-126.762666%20244.650667c-24.874667-12.629333-42.453333-22.528-52.821334-29.653333-10.325333-7.168-23.466667-18.474667-39.296-33.962667l201.6-189.269333c3.797333%202.304%206.656%203.925333%208.618667%204.864%201.962667%200.896%204.864%202.048%208.661333%203.413333z'%20fill='%234E5A2F'%20p-id='6561'%3e%3c/path%3e%3cpath%20d='M509.866667%20651.562667l144.853333%20240.298666c-47.488%2025.856-102.144%2041.429333-164.053333%2046.805334-61.866667%205.376-119.210667-4.949333-171.989334-30.933334L448%20661.333333c13.184%201.152%2023.338667%201.152%2030.549333%200%207.253333-1.152%2017.664-4.394667%2031.36-9.770666zM361.088%20577.365333c4.352%2013.482667%208.832%2024.021333%2013.482667%2031.573334%204.608%207.594667%2011.221333%2016.213333%2019.84%2025.898666L192%20820.693333c-37.546667-44.8-62.378667-80.981333-74.453333-108.544-12.074667-27.562667-22.826667-72.490667-32.213334-134.784h275.754667z'%20fill='%2394D608'%20p-id='6562'%3e%3c/path%3e%3c/svg%3e";function est({onChange:n}){const{openapiWithServiceInfo:e}=wm(),{t}=zs(),i=lo(),r=o=>{if(!(o!=null&&o.trim()))return tu.warning(t("head.inputUrl"));n(o)};return se(Sc,{children:(e==null?void 0:e.importModeType)==="url"?se(dh.Search,{allowClear:!0,enterButton:!0,size:"small",placeholder:t("head.inputUrl"),style:{minWidth:476},defaultValue:e==null?void 0:e.serviceURL,onSearch:r}):se("div",{style:{color:i.color.textLight,fontWeight:500,fontSize:Er.fontSize.xs},children:e==null?void 0:e.serviceURL})})}function tst(){const{pathname:n,search:e}=Zy(),t=vg(),{t:i}=zs(),{updateOpenapiWithServiceInfo:r}=wm(),o=lo(),s=tge(e),{serviceURL:a,importModeType:l,logon:u}=s,[c,d]=S.useState(!1),h=S.useRef(!0);S.useEffect(()=>{h.current&&(l===bd.url&&a&&!u?m(a):t(`${n}${kb({...s||{},logon:""})}`,{replace:!0}),h.current=!1)},[]);async function m(f,g){const b=await QL({url:f});if((b==null?void 0:b.status)>=200&&(b==null?void 0:b.status)<300){const y=await pI(b.data),C={serviceURL:f,importModeType:bd.url,openapi:y,operations:bI(y.paths||{})};r(C),g&&t(`/${Wy}${kb({...s,serviceURL:f})}`,{replace:!0})}}return Gt(Sc,{children:[c&&se(rge,{onSuccess:()=>d(!1)}),se("div",{css:[Tb({justifyContent:"flex-end"}),{height:Ay,backgroundColor:o.color.bg,padding:12},"",""],children:Gt("div",{css:["display:flex;",{"& > *":{marginLeft:4,...Tb()}},"",""],children:[se(est,{onChange:f=>m(f,!0)}),se(FO,{menu:{items:[{key:"0",label:i("head.updateConfig"),onClick(){d(!0)}},{key:"1",label:i("head.reselectService"),onClick(){t(lR)}}]},children:se("a",{style:{cursor:"pointer"},onClick:f=>f.preventDefault(),children:se(ige,{})})}),se(Dz,{}),se(Tz,{}),!1,se(Ez,{})]})})]})}const ew=/^(https?:\/\/)/;function sge(n){const e="#00EEEE",t="#68228B";switch(n){case yh.get:return md.color.primary;case yh.post:return md.color.success;case yh.put:return md.color.warning;case yh.patch:return t;case yh.delete:return md.color.danger;default:return e}}const age=/@StatusErr\[(.+)\]\[(.+)\]\[(.+)\](!)?/;function nst(n=[]){return xo(n,e=>{const t=age.exec(e);return t!=null?{code:parseInt(t[2],10),name:t[1],msg:t[3],canBeTalkError:!!t[4]}:{}})}function ist(n=""){return RS(n,new RegExp(age,"g"),"")}const rst=n=>n>=400?md.color.danger:n>=300?md.color.warning:md.color.success;function ost(n){if(!n)return"//serviceURL";let e="";if(ew.test(n)){const t=n.split("//");e=`${t[0]}//${t[1].split("/")[0]}`}return e}function lge(n){const e=gd(n.content);let t=n.content;return e.length>1&&(e.includes("application/json")?t={"application/json":t["application/json"]}:e.includes("multipart/form-data")?t={"multipart/form-data":t["multipart/form-data"]}:e.includes("application/x-www-form-urlencoded")?t={"application/x-www-form-urlencoded":t["application/x-www-form-urlencoded"]}:t={[e[0]]:t[e[0]]}),t||{}}function sst({method:n,children:e}){return se("div",{style:{position:"absolute",top:0,right:0,fontSize:Er.fontSize.l,fontFamily:Er.fontFamily.mono,color:sge(n),opacity:.8,textTransform:"uppercase",padding:8},children:e})}function ast({deprecated:n,children:e}){return se("div",{css:Ok({padding:"0 8px",textDecoration:n?"line-through":"none","& > *":{width:240,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},"",""),children:e})}function lst({group:n,operationList:e,activeOperationId:t,isCollapsed:i}){const r=vg(),o=Zy(),s=lo(),a=54;return Gt("div",{style:{position:"relative"},children:[se("div",{style:{color:s.color.menuGroup,backgroundColor:s.color.menuGroupBg,padding:"0.5em 0.8em",borderBottom:`1px solid ${s.color.border}`,borderRadius:4,fontWeight:400},children:n}),se("div",{children:xo(e,(l,u)=>{const c=decodeURIComponent(l.operationId);return Gt("div",{id:c,onClick:()=>{r(`/${Wy}/${l.operationId}${o.search}`)},css:[{height:a,borderBottom:`1px solid ${s.color.border}`,position:"relative",display:"flex",alignItems:"center",padding:"0.8em 0.4em",textDecoration:"none",color:s.color.menuItem,backgroundColor:s.color.bg,borderRadius:4,cursor:"pointer",":hover":{backgroundColor:s.color.bgGray}},t===c?{backgroundColor:s.color.bgGray,color:s.color.primary}:{},"",""],children:[i?se("div",{style:{height:a}}):Gt(ast,{deprecated:l.deprecated,children:[se("div",{style:{fontWeight:600,marginBottom:4},children:l.operationName}),Gt("div",{style:{fontSize:Er.fontSize.xs},children:[l.summary||""," "]})]}),se(sst,{method:l.method,children:l.method===yh.delete?l.method.slice(0,3):l.method})]},c||u)})})]})}function ust(n){const{operationId:e}=Ife(),{t}=zs(),{openapiWithServiceInfo:i}=wm(),r=(i==null?void 0:i.operations)||{},[o,s]=S.useState(""),[a,l]=S.useState({}),u=S.useRef(null);S.useEffect(()=>{if(!Fs(r)){const d=o?Sb(r,m=>{const f=bh(o);return Fu(bh(m.operationId),f)||Fu(bh(m.group),f)||Fu(bh(m.path),f)||Fu(bh(m.summary),o)}):w5(r),h=v$e(d,m=>m.group);l(h)}},[r,o]),S.useEffect(()=>(e&&c(),()=>{u.current&&clearTimeout(u.current)}),[]);function c(){const d=document.getElementById(`${e}`);d?(d.scrollIntoView({behavior:"smooth"}),u.current&&clearTimeout(u.current)):u.current=setTimeout(c,100)}return Gt("div",{style:{position:"relative"},children:[se("div",{style:{fontSize:Er.fontSize.xs,padding:"0.5em 0.8em"},children:se(dh,{allowClear:!0,placeholder:t("openapi.searchPlaceholder"),onChange:Ode(d=>{s(d.target.value)},250)})}),se("div",{children:!Fs(a)&&se(Sc,{children:xo(a,(d,h)=>uEe(lst,{...n,key:h,group:h,operationList:d,activeOperationId:e}))})})]})}var cst={GITHUB_STATE:"/home/runner/work/_temp/_runner_file_commands/save_state_1db24d99-745b-44e6-9118-92da7729c914",STATS_TRP:"true",DEPLOYMENT_BASEPATH:"/opt/runner",DOTNET_NOLOGO:"1",USER:"runner",npm_config_always_auth:"",npm_config_user_agent:"npm/10.5.0 node/v18.20.2 linux x64 workspaces/false ci/github-actions",CI:"true",RUNNER_ENVIRONMENT:"github-hosted",GITHUB_ENV:"/home/runner/work/_temp/_runner_file_commands/set_env_1db24d99-745b-44e6-9118-92da7729c914",PIPX_HOME:"/opt/pipx",npm_node_execpath:"/opt/hostedtoolcache/node/18.20.2/x64/bin/node",JAVA_HOME_8_X64:"/usr/lib/jvm/temurin-8-jdk-amd64",NODE_AUTH_TOKEN:"XXXXX-XXXXX-XXXXX-XXXXX",SHLVL:"1",npm_config_noproxy:"",HOME:"/home/runner",RUNNER_TEMP:"/home/runner/work/_temp",GITHUB_EVENT_PATH:"/home/runner/work/_temp/_github_workflow/event.json",npm_package_json:"/home/runner/work/openapi-ui/openapi-ui/package.json",JAVA_HOME_11_X64:"/usr/lib/jvm/temurin-11-jdk-amd64",PIPX_BIN_DIR:"/opt/pipx_bin",GITHUB_REPOSITORY_OWNER:"rookie-luochao",npm_config_auto_install_peers:"true",npm_package_engines_node:"^18.0.0 || >=20.0.0",GRADLE_HOME:"/usr/share/gradle-8.7",ANDROID_NDK_LATEST_HOME:"/usr/local/lib/android/sdk/ndk/26.3.11579264",JAVA_HOME_21_X64:"/usr/lib/jvm/temurin-21-jdk-amd64",STATS_RDCL:"true",GITHUB_RETENTION_DAYS:"90",GITHUB_REPOSITORY_OWNER_ID:"22948077",POWERSHELL_DISTRIBUTION_CHANNEL:"GitHub-Actions-ubuntu22",AZURE_EXTENSION_DIR:"/opt/az/azcliextensions",GITHUB_HEAD_REF:"",npm_config_local_prefix:"/home/runner/work/openapi-ui/openapi-ui",SYSTEMD_EXEC_PID:"591",GITHUB_GRAPHQL_URL:"https://api.github.com/graphql",COLOR:"0",GOROOT_1_20_X64:"/opt/hostedtoolcache/go/1.20.14/x64",NVM_DIR:"/home/runner/.nvm",DOTNET_SKIP_FIRST_TIME_EXPERIENCE:"1",GOROOT_1_21_X64:"/opt/hostedtoolcache/go/1.21.9/x64",JAVA_HOME_17_X64:"/usr/lib/jvm/temurin-17-jdk-amd64",ImageVersion:"20240422.1.0",RUNNER_OS:"Linux",GITHUB_API_URL:"https://api.github.com",GOROOT_1_22_X64:"/opt/hostedtoolcache/go/1.22.2/x64",SWIFT_PATH:"/usr/share/swift/usr/bin",RUNNER_USER:"runner",STATS_V3PS:"true",CHROMEWEBDRIVER:"/usr/local/share/chromedriver-linux64",JOURNAL_STREAM:"8:17399",GITHUB_WORKFLOW:"Publish Package CI",_:"/opt/hostedtoolcache/node/18.20.2/x64/bin/npm",npm_config_prefix:"/opt/hostedtoolcache/node/18.20.2/x64",npm_config_npm_version:"10.5.0",ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE:"/opt/actionarchivecache",STATS_D:"true",GITHUB_RUN_ID:"9034363565",STATS_VMFE:"true",npm_config_cache:"/home/runner/.npm",GITHUB_REF_TYPE:"tag",BOOTSTRAP_HASKELL_NONINTERACTIVE:"1",GITHUB_WORKFLOW_SHA:"7d06aa5962e2854267496af964903729ea3712ea",GITHUB_BASE_REF:"",ImageOS:"ubuntu22",GITHUB_WORKFLOW_REF:"rookie-luochao/openapi-ui/.github/workflows/publish-package-ci.yml@refs/tags/v2.2.1",PERFLOG_LOCATION_SETTING:"RUNNER_PERFLOG",GITHUB_ACTION_REPOSITORY:"",npm_config_node_gyp:"/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",PATH:"/home/runner/work/openapi-ui/openapi-ui/node_modules/.bin:/home/runner/work/openapi-ui/node_modules/.bin:/home/runner/work/node_modules/.bin:/home/runner/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin",ANT_HOME:"/usr/share/ant",DOTNET_MULTILEVEL_LOOKUP:"0",RUNNER_TRACKING_ID:"github_8e3f06e2-01ee-4dd3-8ff0-4ad90f0f5f28",INVOCATION_ID:"d0057c0943174c4e95e299688b270680",NPM_CONFIG_USERCONFIG:"/home/runner/work/_temp/.npmrc",RUNNER_TOOL_CACHE:"/opt/hostedtoolcache",NODE:"/opt/hostedtoolcache/node/18.20.2/x64/bin/node",npm_package_name:"openapi-ui-dist",GITHUB_ACTION:"__run_3",GITHUB_RUN_NUMBER:"5",GITHUB_TRIGGERING_ACTOR:"rookie-luochao",RUNNER_ARCH:"X64",XDG_RUNTIME_DIR:"/run/user/1001",AGENT_TOOLSDIRECTORY:"/opt/hostedtoolcache",LANG:"C.UTF-8",VCPKG_INSTALLATION_ROOT:"/usr/local/share/vcpkg",CONDA:"/usr/share/miniconda",RUNNER_NAME:"GitHub Actions 19",XDG_CONFIG_HOME:"/home/runner/.config",STATS_VMD:"true",GITHUB_REF_NAME:"v2.2.1",GITHUB_REPOSITORY:"rookie-luochao/openapi-ui",STATS_D_D:"true",npm_lifecycle_script:"tsc && vite build --config vite.package.config.ts --mode package",STATS_UE:"true",ANDROID_NDK_ROOT:"/usr/local/lib/android/sdk/ndk/25.2.9519653",GITHUB_ACTION_REF:"",DEBIAN_FRONTEND:"noninteractive",GITHUB_REPOSITORY_ID:"733969338",GITHUB_ACTIONS:"true",npm_package_version:"2.2.1",npm_lifecycle_event:"build:package",NODE_PATH:"/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules/vite/bin/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules/vite/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/node_modules",GITHUB_REF_PROTECTED:"false",GITHUB_WORKSPACE:"/home/runner/work/openapi-ui/openapi-ui",ACCEPT_EULA:"Y",GITHUB_JOB:"build",RUNNER_PERFLOG:"/home/runner/perflog",GITHUB_SHA:"7d06aa5962e2854267496af964903729ea3712ea",GITHUB_RUN_ATTEMPT:"1",GITHUB_REF:"refs/tags/v2.2.1",GITHUB_ACTOR:"rookie-luochao",ANDROID_SDK_ROOT:"/usr/local/lib/android/sdk",LEIN_HOME:"/usr/local/lib/lein",npm_config_globalconfig:"/opt/hostedtoolcache/node/18.20.2/x64/etc/npmrc",npm_config_init_module:"/home/runner/.npm-init.js",GITHUB_PATH:"/home/runner/work/_temp/_runner_file_commands/add_path_1db24d99-745b-44e6-9118-92da7729c914",JAVA_HOME:"/usr/lib/jvm/temurin-11-jdk-amd64",PWD:"/home/runner/work/openapi-ui/openapi-ui",GITHUB_ACTOR_ID:"22948077",RUNNER_WORKSPACE:"/home/runner/work/openapi-ui",npm_execpath:"/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/bin/npm-cli.js",HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS:"3650",GITHUB_EVENT_NAME:"push",HOMEBREW_NO_AUTO_UPDATE:"1",ANDROID_HOME:"/usr/local/lib/android/sdk",GITHUB_SERVER_URL:"https://github.com",GECKOWEBDRIVER:"/usr/local/share/gecko_driver",LEIN_JAR:"/usr/local/lib/lein/self-installs/leiningen-2.11.2-standalone.jar",GHCUP_INSTALL_BASE_PREFIX:"/usr/local",GITHUB_OUTPUT:"/home/runner/work/_temp/_runner_file_commands/set_output_1db24d99-745b-44e6-9118-92da7729c914",npm_config_global_prefix:"/opt/hostedtoolcache/node/18.20.2/x64",EDGEWEBDRIVER:"/usr/local/share/edge_driver",STATS_EXT:"true",npm_command:"run-script",ANDROID_NDK:"/usr/local/lib/android/sdk/ndk/25.2.9519653",SGX_AESM_ADDR:"1",CHROME_BIN:"/usr/bin/google-chrome",SELENIUM_JAR_PATH:"/usr/share/java/selenium-server.jar",STATS_EXTP:"https://provjobdsettingscdn.blob.core.windows.net/settings/provjobdsettings-0.5.172+1/provjobd.data",ANDROID_NDK_HOME:"/usr/local/lib/android/sdk/ndk/25.2.9519653",GITHUB_STEP_SUMMARY:"/home/runner/work/_temp/_runner_file_commands/step_summary_1db24d99-745b-44e6-9118-92da7729c914",INIT_CWD:"/home/runner/work/openapi-ui/openapi-ui",EDITOR:"vi",NODE_ENV:"production"};function dst(){return"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."}const Ay=54,uge=({isCollapsed:n})=>(vg(),se("a",{className:"logo",style:{height:Ay,display:"flex",alignItems:"center",marginLeft:24,cursor:"default"},onClick:()=>{},children:se("img",{style:{width:n?32:128},src:n?qot:nge,alt:"logo"})}));var hst=cst.NODE_ENV==="production"?{name:"102swt",styles:"min-width:880px"}:{name:"ta50cz-MainLayout",styles:"min-width:880px;label:MainLayout;",map:"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL29wZW5hcGktdWkvb3BlbmFwaS11aS9zcmMvbWFpbi9NYWluLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1R29DIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL29wZW5hcGktdWkvb3BlbmFwaS11aS9zcmMvbWFpbi9NYWluLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBMYXlvdXQgfSBmcm9tIFwiYW50ZFwiO1xuaW1wb3J0IFNpZGVyIGZyb20gXCJhbnRkL2VzL2xheW91dC9TaWRlclwiO1xuaW1wb3J0IHRocm90dGxlIGZyb20gXCJsb2Rhc2gtZXMvdGhyb3R0bGVcIjtcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IE91dGxldCwgdXNlTmF2aWdhdGUgfSBmcm9tIFwicmVhY3Qtcm91dGVyLWRvbVwiO1xuaW1wb3J0IExvZ29JY29uIGZyb20gXCIuLi9hc3NldHMvaW1hZ2VzL2xvZ28ucG5nXCI7XG5pbXBvcnQgTG9nb01pbmlJY29uIGZyb20gXCIuLi9hc3NldHMvaW1hZ2VzL2xvZ29fbWluaS5zdmdcIjtcbmltcG9ydCB7IEhlYWQgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9oZWFkXCI7XG5pbXBvcnQgeyBJQ1BSZWdpc3RyYXRpb24gfSBmcm9tIFwiLi4vY29tcG9uZW50cy9pY3AtcmVnaXN0cmF0aW9uXCI7XG5pbXBvcnQgeyBFbnYgfSBmcm9tIFwiLi4vY29uZmlnXCI7XG5pbXBvcnQgeyBnZXRDb25maWcgfSBmcm9tIFwiLi4vY29yZS9odHRwL2NvbmZpZ1wiO1xuaW1wb3J0IHsgdXNlQ29uZmlnSW5mb1N0b3JlIH0gZnJvbSBcIi4uL2NvcmUvc3RvcmVcIjtcbmltcG9ydCB7IElUaGVtZSB9IGZyb20gXCIuLi9jb3JlL3N0eWxlL2RlZmF1bHRTdHlsZUNvbmZpZ1wiO1xuaW1wb3J0IHsgVGhlbWVUeXBlIH0gZnJvbSBcIi4uL2NvcmUvc3R5bGUvdGhlbWVcIjtcbmltcG9ydCB7IGxvZ2luTW9kdWxlTmFtZSB9IGZyb20gXCIuLi9sb2dpbi9yb3V0ZXNcIjtcbmltcG9ydCB7IE9wZXJhdGlvbkxpc3QgfSBmcm9tIFwiLi4vb3BlbmFwaS9PcGVyYXRpb25MaXN0XCI7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0SGVhZFRpdGxlSGVpZ2h0ID0gNTQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbGxhcHNlZCB7XG4gIGlzQ29sbGFwc2VkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IExvZ28gPSAoeyBpc0NvbGxhcHNlZCB9OiBJQ29sbGFwc2VkKSA9PiB7XG4gIGNvbnN0IG5hdmlnYXRlID0gdXNlTmF2aWdhdGUoKTtcbiAgY29uc3QgaXNQYWNrYWdlID0gaW1wb3J0Lm1ldGEuZW52Lk1PREUgPT09IFwicGFja2FnZVwiO1xuXG4gIHJldHVybiAoXG4gICAgPGFcbiAgICAgIGNsYXNzTmFtZT1cImxvZ29cIlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgaGVpZ2h0OiBkZWZhdWx0SGVhZFRpdGxlSGVpZ2h0LFxuICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAgbWFyZ2luTGVmdDogMjQsXG4gICAgICAgIGN1cnNvcjogaXNQYWNrYWdlID8gXCJkZWZhdWx0XCIgOiBcInBvaW50ZXJcIixcbiAgICAgIH19XG4gICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgIGlmICghaXNQYWNrYWdlKSB7XG4gICAgICAgICAgbmF2aWdhdGUobG9naW5Nb2R1bGVOYW1lKTtcbiAgICAgICAgfVxuICAgICAgfX1cbiAgICA+XG4gICAgICA8aW1nIHN0eWxlPXt7IHdpZHRoOiBpc0NvbGxhcHNlZCA/IDMyIDogMTI4IH19IHNyYz17aXNDb2xsYXBzZWQgPyBMb2dvTWluaUljb24gOiBMb2dvSWNvbn0gYWx0PVwibG9nb1wiIC8+XG4gICAgPC9hPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTWFpbkxheW91dCgpIHtcbiAgY29uc3QgeyBjb25maWdJbmZvIH0gPSB1c2VDb25maWdJbmZvU3RvcmUoKTtcbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpIGFzIElUaGVtZTtcbiAgY29uc3QgW2NvbGxhcHNlZCwgc2V0Q29sbGFwc2VkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW21lbnVIZWlnaHQsIHNldE1lbnVIZWlnaHRdID0gdXNlU3RhdGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCk7XG4gIGNvbnN0IGRlZmF1bHRDb250ZW50SGVpZ2h0ID0gbWVudUhlaWdodCAtIGRlZmF1bHRIZWFkVGl0bGVIZWlnaHQ7XG4gIGNvbnN0IGRlZmF1bHRNZW51SGVpZ2h0ID0gZGVmYXVsdENvbnRlbnRIZWlnaHQgLSA0ODsgLy8gNDhweOS4uuWxleW8gOaUtue8qeWbvuagh+mrmOW6plxuICBjb25zdCBpc1poID0gZ2V0Q29uZmlnKCkuZW52ID09PSBFbnYuemg7XG5cbiAgY29uc3QgdGhyb3R0bGVkUmVzaXplSGFuZGxlciA9IHRocm90dGxlKFxuICAgICgpID0+IHtcbiAgICAgIHNldE1lbnVIZWlnaHQoZ2xvYmFsVGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KTtcbiAgICB9LFxuICAgIDEyMDAsXG4gICAgeyBsZWFkaW5nOiB0cnVlLCB0cmFpbGluZzogdHJ1ZSB9LFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZ2xvYmFsVGhpcy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRocm90dGxlZFJlc2l6ZUhhbmRsZXIpO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGdsb2JhbFRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aHJvdHRsZWRSZXNpemVIYW5kbGVyKTtcbiAgICB9O1xuICB9LCBbdGhyb3R0bGVkUmVzaXplSGFuZGxlcl0pO1xuXG4gIHJldHVybiAoXG4gICAgPExheW91dD5cbiAgICAgIDxTaWRlclxuICAgICAgICB0aGVtZT17Y29uZmlnSW5mbz8udGhlbWUgPT09IFwiZGFya1wiID8gVGhlbWVUeXBlLmRhcmsgOiBUaGVtZVR5cGUubGlnaHR9XG4gICAgICAgIHdpZHRoPXszMjB9XG4gICAgICAgIGNvbGxhcHNpYmxlXG4gICAgICAgIGNvbGxhcHNlZD17Y29sbGFwc2VkfVxuICAgICAgICBvbkNvbGxhcHNlPXtzZXRDb2xsYXBzZWR9XG4gICAgICA+XG4gICAgICAgIDxMb2dvIGlzQ29sbGFwc2VkPXtjb2xsYXBzZWR9IC8+XG4gICAgICAgIDxkaXYgc3R5bGU9e3sgaGVpZ2h0OiBkZWZhdWx0TWVudUhlaWdodCwgb3ZlcmZsb3c6IFwiYXV0b1wiIH19PlxuICAgICAgICAgIDxPcGVyYXRpb25MaXN0IGlzQ29sbGFwc2VkPXtjb2xsYXBzZWR9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9TaWRlcj5cbiAgICAgIDxMYXlvdXQgY2xhc3NOYW1lPVwic2l0ZS1sYXlvdXRcIiBzdHlsZT17eyBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmNvbG9yLmJnIH19PlxuICAgICAgICA8SGVhZCAvPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGhlaWdodDogZGVmYXVsdENvbnRlbnRIZWlnaHQsXG4gICAgICAgICAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgICAgICAgICBwYWRkaW5nOiAxMixcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUuY29sb3IuYmdHcmF5LFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiBcIjEwcHggMCAwXCIsXG4gICAgICAgICAgICBwYWRkaW5nQm90dG9tOiBpc1poID8gMCA6IDEyLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXtpc1poID8geyBtaW5IZWlnaHQ6IGRlZmF1bHRDb250ZW50SGVpZ2h0IC0gMzIgLSAxMiB9IDoge319PlxuICAgICAgICAgICAgPE91dGxldCAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIHtpc1poICYmIDxJQ1BSZWdpc3RyYXRpb24gY3NzPXt7IG1pbldpZHRoOiA4ODAgfX0gLz59XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9MYXlvdXQ+XG4gICAgPC9MYXlvdXQ+XG4gICk7XG59XG4iXX0= */",toString:dst};function mst(){const{configInfo:n}=fh(),e=lo(),[t,i]=S.useState(!1),[r,o]=S.useState(document.documentElement.clientHeight),s=r-Ay,a=s-48,l=qE().env===VL.zh,u=TB(()=>{o(globalThis.document.documentElement.clientHeight)},1200,{leading:!0,trailing:!0});return S.useEffect(()=>(globalThis.addEventListener("resize",u),()=>{globalThis.removeEventListener("resize",u)}),[u]),Gt(Sue,{children:[Gt(HP,{theme:(n==null?void 0:n.theme)==="dark"?Fz.dark:Fz.light,width:320,collapsible:!0,collapsed:t,onCollapse:i,children:[se(uge,{isCollapsed:t}),se("div",{style:{height:a,overflow:"auto"},children:se(ust,{isCollapsed:t})})]}),Gt(Sue,{className:"site-layout",style:{backgroundColor:e.color.bg},children:[se(tst,{}),Gt("div",{style:{height:s,overflow:"auto",padding:12,backgroundColor:e.color.bgGray,borderRadius:"10px 0 0",paddingBottom:l?0:12},children:[se("div",{style:l?{minHeight:s-32-12}:{},children:se(Mfe,{})}),l&&se(Zz,{css:hst})]})]})]})}const fst=Object.freeze(Object.defineProperty({__proto__:null,Logo:uge,default:mst,defaultHeadTitleHeight:Ay},Symbol.toStringTag,{value:"Module"})),cge=Ei.Item;function gst(){const{updateOpenapiWithServiceInfo:n}=wm(),[e]=Ei.useForm(),t=vg(),{t:i}=zs(),r=lo();async function o(s){var u;let a=s.serviceURL;if(!(a!=null&&a.trim())||!((u=s.file[0])!=null&&u.originFileObj))return tu.warning(i("login.requiredFieldPlaceholder"));ew.test(a)||(a=`http://${a}`);const l=await yit(s.file[0].originFileObj);try{const c=await pI(l);if(!fs(c)||Fs(c.paths))return tu.warning(i("login.parseTextWarn"));const d={serviceURL:a,importModeType:bd.file},h={...d,openapi:c,operations:bI(c.paths)};n(h),t(`/${Wy}${kb(d)}`)}catch{tu.warning(i("login.parseWarn"))}}return Gt(Ei,{name:"fileImportForm",form:e,layout:"vertical",initialValues:{serviceURL:"",file:[]},onFinish:o,children:[se(cge,{name:"serviceURL",label:i("login.serviceURLLabel2"),rules:[{required:!0,message:i("login.serviceURLPlaceholder2")}],children:se(dh,{placeholder:i("login.serviceURLPlaceholder2")})}),se(cge,{name:"file",label:i("login.uploadLabel"),valuePropName:"fileList",rules:[{required:!0,message:i("login.uploadPlaceholder")}],getValueFromEvent:s=>s.fileList||[],children:se(GO,{maxCount:1,beforeUpload:()=>!1,accept:".json,.yml",children:se(jr,{css:[uR(),{"&:hover path":{fill:r.color.primary}},"",""],icon:se(EB,{fill:r.color.menuItem}),children:i("login.uploadBtn")})})}),se(Ei.Item,{children:se(jr,{type:"primary",htmlType:"submit",style:{width:"100%",fontSize:Er.fontSize.xs},children:i("login.importBtn")})})]})}const dge=Ei.Item;function pst(){const{updateOpenapiWithServiceInfo:n}=wm(),[e]=Ei.useForm(),t=vg(),{t:i}=zs();async function r(o){let s=o.serviceURL;const a=o.openapiTextContent;if(!(s!=null&&s.trim())||!a)return tu.warning(i("login.requiredFieldPlaceholder"));ew.test(s)||(s=`http://${s}`);try{const l=await pI(a);if(!fs(l)||Fs(l.paths))return tu.warning(i("login.parseTextWarn"));const u={serviceURL:s,importModeType:bd.text},c={...u,openapi:l,operations:bI(l.paths)};n(c),t(`/${Wy}${kb(u)}`)}catch{tu.warning(i("login.parseTextWarn"))}}return Gt(Ei,{name:"textImportForm",form:e,layout:"vertical",initialValues:{serviceURL:"",file:[]},onFinish:r,children:[se(dge,{name:"serviceURL",label:i("login.serviceURLLabel2"),rules:[{required:!0,message:i("login.serviceURLPlaceholder2")}],children:se(dh,{placeholder:i("login.serviceURLPlaceholder2")})}),se(dge,{name:"openapiTextContent",label:i("login.openapiTextContentLabel"),rules:[{required:!0,message:i("login.openapiTextContentPlaceholder")}],children:se(dh.TextArea,{placeholder:i("login.openapiTextContentPlaceholder"),autoSize:{minRows:12,maxRows:36}})}),se(Ei.Item,{children:se(jr,{type:"primary",htmlType:"submit",style:{width:"100%",fontSize:Er.fontSize.xs},children:i("login.importBtn")})})]})}const bst=Ei.Item;function yst(){const{updateOpenapiWithServiceInfo:n}=wm(),[e]=Ei.useForm(),t=vg(),{t:i}=zs(),[r,o]=S.useState(!1);async function s(a){o(!0);let l=a.serviceURL;if(!l.trim())return tu.warning(i("login.requiredFieldPlaceholder"));ew.test(l)||(l=`http://${l}`);const u=await QL({url:l});if((u==null?void 0:u.status)>=200&&(u==null?void 0:u.status)<300)try{const c=await pI(u.data);if(!fs(c)||Fs(c.paths))return tu.warning(i("login.parseTextWarn"));const d={serviceURL:l,importModeType:bd.url},h={...d,openapi:c,operations:bI(c.paths||{})};n(h),t(`/${Wy}${kb(Object.assign(d,{logon:"yes"}))}`)}catch{tu.warning(i("login.parseTextWarn"))}o(!1)}return Gt(Ei,{name:"urlImportForm",form:e,layout:"vertical",initialValues:{serviceURL:""},onFinish:s,children:[se(bst,{name:"serviceURL",label:i("login.serviceURLLabel"),rules:[{required:!0,message:i("login.serviceURLPlaceholder")}],children:se(dh,{placeholder:i("login.serviceURLPlaceholder")})}),se(Ei.Item,{children:se(jr,{type:"primary",htmlType:"submit",style:{width:"100%",fontSize:Er.fontSize.xs},loading:r,children:i("login.importBtn")})})]})}var tw={GITHUB_STATE:"/home/runner/work/_temp/_runner_file_commands/save_state_1db24d99-745b-44e6-9118-92da7729c914",STATS_TRP:"true",DEPLOYMENT_BASEPATH:"/opt/runner",DOTNET_NOLOGO:"1",USER:"runner",npm_config_always_auth:"",npm_config_user_agent:"npm/10.5.0 node/v18.20.2 linux x64 workspaces/false ci/github-actions",CI:"true",RUNNER_ENVIRONMENT:"github-hosted",GITHUB_ENV:"/home/runner/work/_temp/_runner_file_commands/set_env_1db24d99-745b-44e6-9118-92da7729c914",PIPX_HOME:"/opt/pipx",npm_node_execpath:"/opt/hostedtoolcache/node/18.20.2/x64/bin/node",JAVA_HOME_8_X64:"/usr/lib/jvm/temurin-8-jdk-amd64",NODE_AUTH_TOKEN:"XXXXX-XXXXX-XXXXX-XXXXX",SHLVL:"1",npm_config_noproxy:"",HOME:"/home/runner",RUNNER_TEMP:"/home/runner/work/_temp",GITHUB_EVENT_PATH:"/home/runner/work/_temp/_github_workflow/event.json",npm_package_json:"/home/runner/work/openapi-ui/openapi-ui/package.json",JAVA_HOME_11_X64:"/usr/lib/jvm/temurin-11-jdk-amd64",PIPX_BIN_DIR:"/opt/pipx_bin",GITHUB_REPOSITORY_OWNER:"rookie-luochao",npm_config_auto_install_peers:"true",npm_package_engines_node:"^18.0.0 || >=20.0.0",GRADLE_HOME:"/usr/share/gradle-8.7",ANDROID_NDK_LATEST_HOME:"/usr/local/lib/android/sdk/ndk/26.3.11579264",JAVA_HOME_21_X64:"/usr/lib/jvm/temurin-21-jdk-amd64",STATS_RDCL:"true",GITHUB_RETENTION_DAYS:"90",GITHUB_REPOSITORY_OWNER_ID:"22948077",POWERSHELL_DISTRIBUTION_CHANNEL:"GitHub-Actions-ubuntu22",AZURE_EXTENSION_DIR:"/opt/az/azcliextensions",GITHUB_HEAD_REF:"",npm_config_local_prefix:"/home/runner/work/openapi-ui/openapi-ui",SYSTEMD_EXEC_PID:"591",GITHUB_GRAPHQL_URL:"https://api.github.com/graphql",COLOR:"0",GOROOT_1_20_X64:"/opt/hostedtoolcache/go/1.20.14/x64",NVM_DIR:"/home/runner/.nvm",DOTNET_SKIP_FIRST_TIME_EXPERIENCE:"1",GOROOT_1_21_X64:"/opt/hostedtoolcache/go/1.21.9/x64",JAVA_HOME_17_X64:"/usr/lib/jvm/temurin-17-jdk-amd64",ImageVersion:"20240422.1.0",RUNNER_OS:"Linux",GITHUB_API_URL:"https://api.github.com",GOROOT_1_22_X64:"/opt/hostedtoolcache/go/1.22.2/x64",SWIFT_PATH:"/usr/share/swift/usr/bin",RUNNER_USER:"runner",STATS_V3PS:"true",CHROMEWEBDRIVER:"/usr/local/share/chromedriver-linux64",JOURNAL_STREAM:"8:17399",GITHUB_WORKFLOW:"Publish Package CI",_:"/opt/hostedtoolcache/node/18.20.2/x64/bin/npm",npm_config_prefix:"/opt/hostedtoolcache/node/18.20.2/x64",npm_config_npm_version:"10.5.0",ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE:"/opt/actionarchivecache",STATS_D:"true",GITHUB_RUN_ID:"9034363565",STATS_VMFE:"true",npm_config_cache:"/home/runner/.npm",GITHUB_REF_TYPE:"tag",BOOTSTRAP_HASKELL_NONINTERACTIVE:"1",GITHUB_WORKFLOW_SHA:"7d06aa5962e2854267496af964903729ea3712ea",GITHUB_BASE_REF:"",ImageOS:"ubuntu22",GITHUB_WORKFLOW_REF:"rookie-luochao/openapi-ui/.github/workflows/publish-package-ci.yml@refs/tags/v2.2.1",PERFLOG_LOCATION_SETTING:"RUNNER_PERFLOG",GITHUB_ACTION_REPOSITORY:"",npm_config_node_gyp:"/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",PATH:"/home/runner/work/openapi-ui/openapi-ui/node_modules/.bin:/home/runner/work/openapi-ui/node_modules/.bin:/home/runner/work/node_modules/.bin:/home/runner/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin",ANT_HOME:"/usr/share/ant",DOTNET_MULTILEVEL_LOOKUP:"0",RUNNER_TRACKING_ID:"github_8e3f06e2-01ee-4dd3-8ff0-4ad90f0f5f28",INVOCATION_ID:"d0057c0943174c4e95e299688b270680",NPM_CONFIG_USERCONFIG:"/home/runner/work/_temp/.npmrc",RUNNER_TOOL_CACHE:"/opt/hostedtoolcache",NODE:"/opt/hostedtoolcache/node/18.20.2/x64/bin/node",npm_package_name:"openapi-ui-dist",GITHUB_ACTION:"__run_3",GITHUB_RUN_NUMBER:"5",GITHUB_TRIGGERING_ACTOR:"rookie-luochao",RUNNER_ARCH:"X64",XDG_RUNTIME_DIR:"/run/user/1001",AGENT_TOOLSDIRECTORY:"/opt/hostedtoolcache",LANG:"C.UTF-8",VCPKG_INSTALLATION_ROOT:"/usr/local/share/vcpkg",CONDA:"/usr/share/miniconda",RUNNER_NAME:"GitHub Actions 19",XDG_CONFIG_HOME:"/home/runner/.config",STATS_VMD:"true",GITHUB_REF_NAME:"v2.2.1",GITHUB_REPOSITORY:"rookie-luochao/openapi-ui",STATS_D_D:"true",npm_lifecycle_script:"tsc && vite build --config vite.package.config.ts --mode package",STATS_UE:"true",ANDROID_NDK_ROOT:"/usr/local/lib/android/sdk/ndk/25.2.9519653",GITHUB_ACTION_REF:"",DEBIAN_FRONTEND:"noninteractive",GITHUB_REPOSITORY_ID:"733969338",GITHUB_ACTIONS:"true",npm_package_version:"2.2.1",npm_lifecycle_event:"build:package",NODE_PATH:"/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules/vite/bin/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules/vite/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/node_modules",GITHUB_REF_PROTECTED:"false",GITHUB_WORKSPACE:"/home/runner/work/openapi-ui/openapi-ui",ACCEPT_EULA:"Y",GITHUB_JOB:"build",RUNNER_PERFLOG:"/home/runner/perflog",GITHUB_SHA:"7d06aa5962e2854267496af964903729ea3712ea",GITHUB_RUN_ATTEMPT:"1",GITHUB_REF:"refs/tags/v2.2.1",GITHUB_ACTOR:"rookie-luochao",ANDROID_SDK_ROOT:"/usr/local/lib/android/sdk",LEIN_HOME:"/usr/local/lib/lein",npm_config_globalconfig:"/opt/hostedtoolcache/node/18.20.2/x64/etc/npmrc",npm_config_init_module:"/home/runner/.npm-init.js",GITHUB_PATH:"/home/runner/work/_temp/_runner_file_commands/add_path_1db24d99-745b-44e6-9118-92da7729c914",JAVA_HOME:"/usr/lib/jvm/temurin-11-jdk-amd64",PWD:"/home/runner/work/openapi-ui/openapi-ui",GITHUB_ACTOR_ID:"22948077",RUNNER_WORKSPACE:"/home/runner/work/openapi-ui",npm_execpath:"/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/bin/npm-cli.js",HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS:"3650",GITHUB_EVENT_NAME:"push",HOMEBREW_NO_AUTO_UPDATE:"1",ANDROID_HOME:"/usr/local/lib/android/sdk",GITHUB_SERVER_URL:"https://github.com",GECKOWEBDRIVER:"/usr/local/share/gecko_driver",LEIN_JAR:"/usr/local/lib/lein/self-installs/leiningen-2.11.2-standalone.jar",GHCUP_INSTALL_BASE_PREFIX:"/usr/local",GITHUB_OUTPUT:"/home/runner/work/_temp/_runner_file_commands/set_output_1db24d99-745b-44e6-9118-92da7729c914",npm_config_global_prefix:"/opt/hostedtoolcache/node/18.20.2/x64",EDGEWEBDRIVER:"/usr/local/share/edge_driver",STATS_EXT:"true",npm_command:"run-script",ANDROID_NDK:"/usr/local/lib/android/sdk/ndk/25.2.9519653",SGX_AESM_ADDR:"1",CHROME_BIN:"/usr/bin/google-chrome",SELENIUM_JAR_PATH:"/usr/share/java/selenium-server.jar",STATS_EXTP:"https://provjobdsettingscdn.blob.core.windows.net/settings/provjobdsettings-0.5.172+1/provjobd.data",ANDROID_NDK_HOME:"/usr/local/lib/android/sdk/ndk/25.2.9519653",GITHUB_STEP_SUMMARY:"/home/runner/work/_temp/_runner_file_commands/step_summary_1db24d99-745b-44e6-9118-92da7729c914",INIT_CWD:"/home/runner/work/openapi-ui/openapi-ui",EDITOR:"vi",NODE_ENV:"production"};function vst(){const[{activeImportModeType:n=bd.url},e]=Oot(),{t}=zs(),i=lo(),[r,o]=S.useState(document.documentElement.clientHeight),s=qE().env===VL.zh,a=TB(()=>{o(globalThis.document.documentElement.clientHeight)},1200,{leading:!0,trailing:!0});return S.useEffect(()=>(globalThis.addEventListener("resize",a),()=>{globalThis.removeEventListener("resize",a)}),[a]),Gt("div",{style:{minHeight:r,backgroundImage:`url(${Bot})`,backgroundSize:"100% 100%",backgroundRepeat:"no-repeat",backgroundColor:i.color.bg,color:i.color.menuItem},children:[Gt("div",{style:{minHeight:document.documentElement.clientHeight-32},children:[Gt("div",{css:[oge(),{minWidth:1200,height:Ay,padding:"0px 30px"},tw.NODE_ENV==="production"?"":";label:Login;",tw.NODE_ENV==="production"?"":"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL29wZW5hcGktdWkvb3BlbmFwaS11aS9zcmMvbG9naW4vTG9naW4udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZEYSIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay9vcGVuYXBpLXVpL29wZW5hcGktdWkvc3JjL2xvZ2luL0xvZ2luLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBtYXAsIHRocm90dGxlIH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IHsgUGFyc2VkVXJsUXVlcnksIHVzZVJvdXRlclF1ZXJ5IH0gZnJvbSBcInJlYWN0LXJvdXRlci10b29sa2l0XCI7XG5pbXBvcnQgYmFja2dyb3VuZEltYWdlIGZyb20gXCIuLi9hc3NldHMvaW1hZ2VzL2xvZ2luLWJnLnN2Z1wiO1xuaW1wb3J0IExvZ29JY29uIGZyb20gXCIuLi9hc3NldHMvaW1hZ2VzL2xvZ28ucG5nXCI7XG5pbXBvcnQgeyBDaGFuZ2VMYW5nQ29tcCB9IGZyb20gXCIuLi9jb21wb25lbnRzL2NoYW5nZS1sYW5nXCI7XG5pbXBvcnQgR2l0aHViU3RhciBmcm9tIFwiLi4vY29tcG9uZW50cy9naXRodWItc3RhclwiO1xuaW1wb3J0IHsgR29Ub1Bvc3RtYW4gfSBmcm9tIFwiLi4vY29tcG9uZW50cy9oZWFkL2NvbW1vblwiO1xuaW1wb3J0IHsgSUNQUmVnaXN0cmF0aW9uIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvaWNwLXJlZ2lzdHJhdGlvblwiO1xuaW1wb3J0IHsgRW52IH0gZnJvbSBcIi4uL2NvbmZpZ1wiO1xuaW1wb3J0IHsgZ2V0Q29uZmlnIH0gZnJvbSBcIi4uL2NvcmUvaHR0cC9jb25maWdcIjtcbmltcG9ydCB7IElUaGVtZSwgZHNjLCBsaWdodFRoZW1lIH0gZnJvbSBcIi4uL2NvcmUvc3R5bGUvZGVmYXVsdFN0eWxlQ29uZmlnXCI7XG5pbXBvcnQgeyBTd2l0Y2hUaGVtZSB9IGZyb20gXCIuLi9jb3JlL3N0eWxlL3RoZW1lXCI7XG5pbXBvcnQgeyBmbGV4QmV0d2VlbkNlbnRlck9wdHMsIGZsZXhDZW50ZXJPcHRzLCBmbGV4T3B0cyB9IGZyb20gXCIuLi9jb3JlL3N0eWxlL3V0aWxzXCI7XG5pbXBvcnQgeyBkZWZhdWx0SGVhZFRpdGxlSGVpZ2h0IH0gZnJvbSBcIi4uL21haW4vTWFpblwiO1xuaW1wb3J0IHsgRmlsZUltcG9ydFZpZXcgfSBmcm9tIFwiLi9JbXBvcnRCeUZpbGVWaWV3XCI7XG5pbXBvcnQgeyBUZXh0SW1wb3J0VmlldyB9IGZyb20gXCIuL0ltcG9ydEJ5VGV4dFZpZXdcIjtcbmltcG9ydCB7IFVSTEltcG9ydFZpZXcgfSBmcm9tIFwiLi9JbXBvcnRCeVVSTFZpZXdcIjtcbmltcG9ydCB7IElJbXBvcnRNb2RlVHlwZSwgSW1wb3J0TW9kZVR5cGUsIGRpc3BsYXlJbXBvcnRNb2RlVHlwZSwgZGlzcGxheUltcG9ydE1vZGVUeXBlSWNvbiB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuXG5pbnRlcmZhY2UgSUxvZ2luUXVlcnkgZXh0ZW5kcyBQYXJzZWRVcmxRdWVyeSB7XG4gIGFjdGl2ZUltcG9ydE1vZGVUeXBlOiBJSW1wb3J0TW9kZVR5cGU7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIExvZ2luKCkge1xuICBjb25zdCBbeyBhY3RpdmVJbXBvcnRNb2RlVHlwZSA9IEltcG9ydE1vZGVUeXBlLnVybCB9LCBzZXRRdWVyeV0gPSB1c2VSb3V0ZXJRdWVyeTxJTG9naW5RdWVyeT4oKTtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKCkgYXMgSVRoZW1lO1xuICBjb25zdCBbY29udGVudEhlaWdodCwgc2V0Q29udGVudEhlaWdodF0gPSB1c2VTdGF0ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KTtcbiAgY29uc3QgaXNaaCA9IGdldENvbmZpZygpLmVudiA9PT0gRW52LnpoO1xuXG4gIGNvbnN0IHRocm90dGxlZFJlc2l6ZUhhbmRsZXIgPSB0aHJvdHRsZShcbiAgICAoKSA9PiB7XG4gICAgICBzZXRDb250ZW50SGVpZ2h0KGdsb2JhbFRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCk7XG4gICAgfSxcbiAgICAxMjAwLFxuICAgIHsgbGVhZGluZzogdHJ1ZSwgdHJhaWxpbmc6IHRydWUgfSxcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGdsb2JhbFRoaXMuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aHJvdHRsZWRSZXNpemVIYW5kbGVyKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBnbG9iYWxUaGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhyb3R0bGVkUmVzaXplSGFuZGxlcik7XG4gICAgfTtcbiAgfSwgW3Rocm90dGxlZFJlc2l6ZUhhbmRsZXJdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIG1pbkhlaWdodDogY29udGVudEhlaWdodCxcbiAgICAgICAgYmFja2dyb3VuZEltYWdlOiBgdXJsKCR7YmFja2dyb3VuZEltYWdlfSlgLFxuICAgICAgICBiYWNrZ3JvdW5kU2l6ZTogXCIxMDAlIDEwMCVcIixcbiAgICAgICAgYmFja2dyb3VuZFJlcGVhdDogXCJuby1yZXBlYXRcIixcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvci5iZyxcbiAgICAgICAgY29sb3I6IHRoZW1lLmNvbG9yLm1lbnVJdGVtLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2IHN0eWxlPXt7IG1pbkhlaWdodDogZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCAtIDMyIH19PlxuICAgICAgICA8ZGl2IGNzcz17W2ZsZXhCZXR3ZWVuQ2VudGVyT3B0cygpLCB7IG1pbldpZHRoOiAxMjAwLCBoZWlnaHQ6IGRlZmF1bHRIZWFkVGl0bGVIZWlnaHQsIHBhZGRpbmc6IFwiMHB4IDMwcHhcIiB9XX0+XG4gICAgICAgICAgPGltZyBzdHlsZT17eyB3aWR0aDogMTI4IH19IHNyYz17TG9nb0ljb259IGFsdD1cIm9wZW5hcGktdWlcIiAvPlxuICAgICAgICAgIDxkaXYgY3NzPXt7IGRpc3BsYXk6IFwiZmxleFwiLCBcIiYgPiAqXCI6IHsgbWFyZ2luTGVmdDogNCwgLi4uZmxleENlbnRlck9wdHMoKSB9IH19PlxuICAgICAgICAgICAgPFN3aXRjaFRoZW1lIC8+XG4gICAgICAgICAgICA8Q2hhbmdlTGFuZ0NvbXAgLz5cbiAgICAgICAgICAgIDxHb1RvUG9zdG1hbiAvPlxuICAgICAgICAgICAgPEdpdGh1YlN0YXIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgc3R5bGU9e3sgd2lkdGg6IDEyMDAsIG1hcmdpbjogXCIwcHggYXV0b1wiLCBwYWRkaW5nVG9wOiAxMjggfX0+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgIGZsZXhDZW50ZXJPcHRzKCksXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmb250U2l6ZTogZHNjLmZvbnRTaXplLnMsXG4gICAgICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAzNixcbiAgICAgICAgICAgICAgICBcIiYgPiAqICsgKlwiOiB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiA2LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHttYXAoSW1wb3J0TW9kZVR5cGUsIChpdGVtKSA9PiAoXG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAga2V5PXtpdGVtfVxuICAgICAgICAgICAgICAgIGNzcz17W1xuICAgICAgICAgICAgICAgICAgZmxleE9wdHMoeyBhbGlnbkl0ZW1zOiBcImNlbnRlclwiIH0pLFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTUwLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMyLFxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IGAxcHggc29saWQgJHt0aGVtZS5jb2xvci5ib3JkZXJ9YCxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiA2LFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBcIjBweCA2cHhcIixcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBcInBvaW50ZXJcIixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBhY3RpdmVJbXBvcnRNb2RlVHlwZSA9PT0gaXRlbVxuICAgICAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogbGlnaHRUaGVtZS5jb2xvci5wcmltYXJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0VGhlbWUuY29sb3IuYmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCImIHBhdGhcIjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiB0aGVtZS5jb2xvci5tZW51R3JvdXAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgOiB7fSxcbiAgICAgICAgICAgICAgICBdfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgIHNldFF1ZXJ5KCgpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUltcG9ydE1vZGVUeXBlOiBpdGVtLFxuICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7ZGlzcGxheUltcG9ydE1vZGVUeXBlSWNvbihpdGVtLCB0aGVtZS5jb2xvci50ZXh0TGlnaHQpfVxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDEwIH19Pnt0KGRpc3BsYXlJbXBvcnRNb2RlVHlwZShpdGVtKSl9PC9zcGFuPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNzcz17ZmxleENlbnRlck9wdHMoKX0+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IHdpZHRoOiA2MDAgfX0+XG4gICAgICAgICAgICAgIHthY3RpdmVJbXBvcnRNb2RlVHlwZSA9PT0gSW1wb3J0TW9kZVR5cGUudXJsICYmIDxVUkxJbXBvcnRWaWV3IC8+fVxuICAgICAgICAgICAgICB7YWN0aXZlSW1wb3J0TW9kZVR5cGUgPT09IEltcG9ydE1vZGVUeXBlLmZpbGUgJiYgPEZpbGVJbXBvcnRWaWV3IC8+fVxuICAgICAgICAgICAgICB7YWN0aXZlSW1wb3J0TW9kZVR5cGUgPT09IEltcG9ydE1vZGVUeXBlLnRleHQgJiYgPFRleHRJbXBvcnRWaWV3IC8+fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICB7aXNaaCAmJiA8SUNQUmVnaXN0cmF0aW9uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufVxuIl19 */"],children:[se("img",{style:{width:128},src:nge,alt:"openapi-ui"}),Gt("div",{css:Ok({display:"flex","& > *":{marginLeft:4,...Tb()}},tw.NODE_ENV==="production"?"":";label:Login;",tw.NODE_ENV==="production"?"":"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL29wZW5hcGktdWkvb3BlbmFwaS11aS9zcmMvbG9naW4vTG9naW4udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStEZSIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay9vcGVuYXBpLXVpL29wZW5hcGktdWkvc3JjL2xvZ2luL0xvZ2luLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBtYXAsIHRocm90dGxlIH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IHsgUGFyc2VkVXJsUXVlcnksIHVzZVJvdXRlclF1ZXJ5IH0gZnJvbSBcInJlYWN0LXJvdXRlci10b29sa2l0XCI7XG5pbXBvcnQgYmFja2dyb3VuZEltYWdlIGZyb20gXCIuLi9hc3NldHMvaW1hZ2VzL2xvZ2luLWJnLnN2Z1wiO1xuaW1wb3J0IExvZ29JY29uIGZyb20gXCIuLi9hc3NldHMvaW1hZ2VzL2xvZ28ucG5nXCI7XG5pbXBvcnQgeyBDaGFuZ2VMYW5nQ29tcCB9IGZyb20gXCIuLi9jb21wb25lbnRzL2NoYW5nZS1sYW5nXCI7XG5pbXBvcnQgR2l0aHViU3RhciBmcm9tIFwiLi4vY29tcG9uZW50cy9naXRodWItc3RhclwiO1xuaW1wb3J0IHsgR29Ub1Bvc3RtYW4gfSBmcm9tIFwiLi4vY29tcG9uZW50cy9oZWFkL2NvbW1vblwiO1xuaW1wb3J0IHsgSUNQUmVnaXN0cmF0aW9uIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvaWNwLXJlZ2lzdHJhdGlvblwiO1xuaW1wb3J0IHsgRW52IH0gZnJvbSBcIi4uL2NvbmZpZ1wiO1xuaW1wb3J0IHsgZ2V0Q29uZmlnIH0gZnJvbSBcIi4uL2NvcmUvaHR0cC9jb25maWdcIjtcbmltcG9ydCB7IElUaGVtZSwgZHNjLCBsaWdodFRoZW1lIH0gZnJvbSBcIi4uL2NvcmUvc3R5bGUvZGVmYXVsdFN0eWxlQ29uZmlnXCI7XG5pbXBvcnQgeyBTd2l0Y2hUaGVtZSB9IGZyb20gXCIuLi9jb3JlL3N0eWxlL3RoZW1lXCI7XG5pbXBvcnQgeyBmbGV4QmV0d2VlbkNlbnRlck9wdHMsIGZsZXhDZW50ZXJPcHRzLCBmbGV4T3B0cyB9IGZyb20gXCIuLi9jb3JlL3N0eWxlL3V0aWxzXCI7XG5pbXBvcnQgeyBkZWZhdWx0SGVhZFRpdGxlSGVpZ2h0IH0gZnJvbSBcIi4uL21haW4vTWFpblwiO1xuaW1wb3J0IHsgRmlsZUltcG9ydFZpZXcgfSBmcm9tIFwiLi9JbXBvcnRCeUZpbGVWaWV3XCI7XG5pbXBvcnQgeyBUZXh0SW1wb3J0VmlldyB9IGZyb20gXCIuL0ltcG9ydEJ5VGV4dFZpZXdcIjtcbmltcG9ydCB7IFVSTEltcG9ydFZpZXcgfSBmcm9tIFwiLi9JbXBvcnRCeVVSTFZpZXdcIjtcbmltcG9ydCB7IElJbXBvcnRNb2RlVHlwZSwgSW1wb3J0TW9kZVR5cGUsIGRpc3BsYXlJbXBvcnRNb2RlVHlwZSwgZGlzcGxheUltcG9ydE1vZGVUeXBlSWNvbiB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuXG5pbnRlcmZhY2UgSUxvZ2luUXVlcnkgZXh0ZW5kcyBQYXJzZWRVcmxRdWVyeSB7XG4gIGFjdGl2ZUltcG9ydE1vZGVUeXBlOiBJSW1wb3J0TW9kZVR5cGU7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIExvZ2luKCkge1xuICBjb25zdCBbeyBhY3RpdmVJbXBvcnRNb2RlVHlwZSA9IEltcG9ydE1vZGVUeXBlLnVybCB9LCBzZXRRdWVyeV0gPSB1c2VSb3V0ZXJRdWVyeTxJTG9naW5RdWVyeT4oKTtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKCkgYXMgSVRoZW1lO1xuICBjb25zdCBbY29udGVudEhlaWdodCwgc2V0Q29udGVudEhlaWdodF0gPSB1c2VTdGF0ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KTtcbiAgY29uc3QgaXNaaCA9IGdldENvbmZpZygpLmVudiA9PT0gRW52LnpoO1xuXG4gIGNvbnN0IHRocm90dGxlZFJlc2l6ZUhhbmRsZXIgPSB0aHJvdHRsZShcbiAgICAoKSA9PiB7XG4gICAgICBzZXRDb250ZW50SGVpZ2h0KGdsb2JhbFRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCk7XG4gICAgfSxcbiAgICAxMjAwLFxuICAgIHsgbGVhZGluZzogdHJ1ZSwgdHJhaWxpbmc6IHRydWUgfSxcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGdsb2JhbFRoaXMuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aHJvdHRsZWRSZXNpemVIYW5kbGVyKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBnbG9iYWxUaGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhyb3R0bGVkUmVzaXplSGFuZGxlcik7XG4gICAgfTtcbiAgfSwgW3Rocm90dGxlZFJlc2l6ZUhhbmRsZXJdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIG1pbkhlaWdodDogY29udGVudEhlaWdodCxcbiAgICAgICAgYmFja2dyb3VuZEltYWdlOiBgdXJsKCR7YmFja2dyb3VuZEltYWdlfSlgLFxuICAgICAgICBiYWNrZ3JvdW5kU2l6ZTogXCIxMDAlIDEwMCVcIixcbiAgICAgICAgYmFja2dyb3VuZFJlcGVhdDogXCJuby1yZXBlYXRcIixcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvci5iZyxcbiAgICAgICAgY29sb3I6IHRoZW1lLmNvbG9yLm1lbnVJdGVtLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2IHN0eWxlPXt7IG1pbkhlaWdodDogZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCAtIDMyIH19PlxuICAgICAgICA8ZGl2IGNzcz17W2ZsZXhCZXR3ZWVuQ2VudGVyT3B0cygpLCB7IG1pbldpZHRoOiAxMjAwLCBoZWlnaHQ6IGRlZmF1bHRIZWFkVGl0bGVIZWlnaHQsIHBhZGRpbmc6IFwiMHB4IDMwcHhcIiB9XX0+XG4gICAgICAgICAgPGltZyBzdHlsZT17eyB3aWR0aDogMTI4IH19IHNyYz17TG9nb0ljb259IGFsdD1cIm9wZW5hcGktdWlcIiAvPlxuICAgICAgICAgIDxkaXYgY3NzPXt7IGRpc3BsYXk6IFwiZmxleFwiLCBcIiYgPiAqXCI6IHsgbWFyZ2luTGVmdDogNCwgLi4uZmxleENlbnRlck9wdHMoKSB9IH19PlxuICAgICAgICAgICAgPFN3aXRjaFRoZW1lIC8+XG4gICAgICAgICAgICA8Q2hhbmdlTGFuZ0NvbXAgLz5cbiAgICAgICAgICAgIDxHb1RvUG9zdG1hbiAvPlxuICAgICAgICAgICAgPEdpdGh1YlN0YXIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgc3R5bGU9e3sgd2lkdGg6IDEyMDAsIG1hcmdpbjogXCIwcHggYXV0b1wiLCBwYWRkaW5nVG9wOiAxMjggfX0+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgIGZsZXhDZW50ZXJPcHRzKCksXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmb250U2l6ZTogZHNjLmZvbnRTaXplLnMsXG4gICAgICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAzNixcbiAgICAgICAgICAgICAgICBcIiYgPiAqICsgKlwiOiB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiA2LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHttYXAoSW1wb3J0TW9kZVR5cGUsIChpdGVtKSA9PiAoXG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAga2V5PXtpdGVtfVxuICAgICAgICAgICAgICAgIGNzcz17W1xuICAgICAgICAgICAgICAgICAgZmxleE9wdHMoeyBhbGlnbkl0ZW1zOiBcImNlbnRlclwiIH0pLFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTUwLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMyLFxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IGAxcHggc29saWQgJHt0aGVtZS5jb2xvci5ib3JkZXJ9YCxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiA2LFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBcIjBweCA2cHhcIixcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBcInBvaW50ZXJcIixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBhY3RpdmVJbXBvcnRNb2RlVHlwZSA9PT0gaXRlbVxuICAgICAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogbGlnaHRUaGVtZS5jb2xvci5wcmltYXJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0VGhlbWUuY29sb3IuYmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCImIHBhdGhcIjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiB0aGVtZS5jb2xvci5tZW51R3JvdXAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgOiB7fSxcbiAgICAgICAgICAgICAgICBdfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgIHNldFF1ZXJ5KCgpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUltcG9ydE1vZGVUeXBlOiBpdGVtLFxuICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7ZGlzcGxheUltcG9ydE1vZGVUeXBlSWNvbihpdGVtLCB0aGVtZS5jb2xvci50ZXh0TGlnaHQpfVxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDEwIH19Pnt0KGRpc3BsYXlJbXBvcnRNb2RlVHlwZShpdGVtKSl9PC9zcGFuPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNzcz17ZmxleENlbnRlck9wdHMoKX0+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IHdpZHRoOiA2MDAgfX0+XG4gICAgICAgICAgICAgIHthY3RpdmVJbXBvcnRNb2RlVHlwZSA9PT0gSW1wb3J0TW9kZVR5cGUudXJsICYmIDxVUkxJbXBvcnRWaWV3IC8+fVxuICAgICAgICAgICAgICB7YWN0aXZlSW1wb3J0TW9kZVR5cGUgPT09IEltcG9ydE1vZGVUeXBlLmZpbGUgJiYgPEZpbGVJbXBvcnRWaWV3IC8+fVxuICAgICAgICAgICAgICB7YWN0aXZlSW1wb3J0TW9kZVR5cGUgPT09IEltcG9ydE1vZGVUeXBlLnRleHQgJiYgPFRleHRJbXBvcnRWaWV3IC8+fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICB7aXNaaCAmJiA8SUNQUmVnaXN0cmF0aW9uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufVxuIl19 */"),children:[se(Dz,{}),se(Tz,{}),se(Qot,{}),se(Ez,{})]})]}),Gt("div",{style:{width:1200,margin:"0px auto",paddingTop:128},children:[se("div",{css:[Tb(),{fontSize:Er.fontSize.s,marginBottom:36,"& > * + *":{marginLeft:6}},tw.NODE_ENV==="production"?"":";label:Login;",tw.NODE_ENV==="production"?"":"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL29wZW5hcGktdWkvb3BlbmFwaS11aS9zcmMvbG9naW4vTG9naW4udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdFWSIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay9vcGVuYXBpLXVpL29wZW5hcGktdWkvc3JjL2xvZ2luL0xvZ2luLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBtYXAsIHRocm90dGxlIH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IHsgUGFyc2VkVXJsUXVlcnksIHVzZVJvdXRlclF1ZXJ5IH0gZnJvbSBcInJlYWN0LXJvdXRlci10b29sa2l0XCI7XG5pbXBvcnQgYmFja2dyb3VuZEltYWdlIGZyb20gXCIuLi9hc3NldHMvaW1hZ2VzL2xvZ2luLWJnLnN2Z1wiO1xuaW1wb3J0IExvZ29JY29uIGZyb20gXCIuLi9hc3NldHMvaW1hZ2VzL2xvZ28ucG5nXCI7XG5pbXBvcnQgeyBDaGFuZ2VMYW5nQ29tcCB9IGZyb20gXCIuLi9jb21wb25lbnRzL2NoYW5nZS1sYW5nXCI7XG5pbXBvcnQgR2l0aHViU3RhciBmcm9tIFwiLi4vY29tcG9uZW50cy9naXRodWItc3RhclwiO1xuaW1wb3J0IHsgR29Ub1Bvc3RtYW4gfSBmcm9tIFwiLi4vY29tcG9uZW50cy9oZWFkL2NvbW1vblwiO1xuaW1wb3J0IHsgSUNQUmVnaXN0cmF0aW9uIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvaWNwLXJlZ2lzdHJhdGlvblwiO1xuaW1wb3J0IHsgRW52IH0gZnJvbSBcIi4uL2NvbmZpZ1wiO1xuaW1wb3J0IHsgZ2V0Q29uZmlnIH0gZnJvbSBcIi4uL2NvcmUvaHR0cC9jb25maWdcIjtcbmltcG9ydCB7IElUaGVtZSwgZHNjLCBsaWdodFRoZW1lIH0gZnJvbSBcIi4uL2NvcmUvc3R5bGUvZGVmYXVsdFN0eWxlQ29uZmlnXCI7XG5pbXBvcnQgeyBTd2l0Y2hUaGVtZSB9IGZyb20gXCIuLi9jb3JlL3N0eWxlL3RoZW1lXCI7XG5pbXBvcnQgeyBmbGV4QmV0d2VlbkNlbnRlck9wdHMsIGZsZXhDZW50ZXJPcHRzLCBmbGV4T3B0cyB9IGZyb20gXCIuLi9jb3JlL3N0eWxlL3V0aWxzXCI7XG5pbXBvcnQgeyBkZWZhdWx0SGVhZFRpdGxlSGVpZ2h0IH0gZnJvbSBcIi4uL21haW4vTWFpblwiO1xuaW1wb3J0IHsgRmlsZUltcG9ydFZpZXcgfSBmcm9tIFwiLi9JbXBvcnRCeUZpbGVWaWV3XCI7XG5pbXBvcnQgeyBUZXh0SW1wb3J0VmlldyB9IGZyb20gXCIuL0ltcG9ydEJ5VGV4dFZpZXdcIjtcbmltcG9ydCB7IFVSTEltcG9ydFZpZXcgfSBmcm9tIFwiLi9JbXBvcnRCeVVSTFZpZXdcIjtcbmltcG9ydCB7IElJbXBvcnRNb2RlVHlwZSwgSW1wb3J0TW9kZVR5cGUsIGRpc3BsYXlJbXBvcnRNb2RlVHlwZSwgZGlzcGxheUltcG9ydE1vZGVUeXBlSWNvbiB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuXG5pbnRlcmZhY2UgSUxvZ2luUXVlcnkgZXh0ZW5kcyBQYXJzZWRVcmxRdWVyeSB7XG4gIGFjdGl2ZUltcG9ydE1vZGVUeXBlOiBJSW1wb3J0TW9kZVR5cGU7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIExvZ2luKCkge1xuICBjb25zdCBbeyBhY3RpdmVJbXBvcnRNb2RlVHlwZSA9IEltcG9ydE1vZGVUeXBlLnVybCB9LCBzZXRRdWVyeV0gPSB1c2VSb3V0ZXJRdWVyeTxJTG9naW5RdWVyeT4oKTtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKCkgYXMgSVRoZW1lO1xuICBjb25zdCBbY29udGVudEhlaWdodCwgc2V0Q29udGVudEhlaWdodF0gPSB1c2VTdGF0ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KTtcbiAgY29uc3QgaXNaaCA9IGdldENvbmZpZygpLmVudiA9PT0gRW52LnpoO1xuXG4gIGNvbnN0IHRocm90dGxlZFJlc2l6ZUhhbmRsZXIgPSB0aHJvdHRsZShcbiAgICAoKSA9PiB7XG4gICAgICBzZXRDb250ZW50SGVpZ2h0KGdsb2JhbFRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCk7XG4gICAgfSxcbiAgICAxMjAwLFxuICAgIHsgbGVhZGluZzogdHJ1ZSwgdHJhaWxpbmc6IHRydWUgfSxcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGdsb2JhbFRoaXMuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aHJvdHRsZWRSZXNpemVIYW5kbGVyKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBnbG9iYWxUaGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhyb3R0bGVkUmVzaXplSGFuZGxlcik7XG4gICAgfTtcbiAgfSwgW3Rocm90dGxlZFJlc2l6ZUhhbmRsZXJdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIG1pbkhlaWdodDogY29udGVudEhlaWdodCxcbiAgICAgICAgYmFja2dyb3VuZEltYWdlOiBgdXJsKCR7YmFja2dyb3VuZEltYWdlfSlgLFxuICAgICAgICBiYWNrZ3JvdW5kU2l6ZTogXCIxMDAlIDEwMCVcIixcbiAgICAgICAgYmFja2dyb3VuZFJlcGVhdDogXCJuby1yZXBlYXRcIixcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvci5iZyxcbiAgICAgICAgY29sb3I6IHRoZW1lLmNvbG9yLm1lbnVJdGVtLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2IHN0eWxlPXt7IG1pbkhlaWdodDogZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCAtIDMyIH19PlxuICAgICAgICA8ZGl2IGNzcz17W2ZsZXhCZXR3ZWVuQ2VudGVyT3B0cygpLCB7IG1pbldpZHRoOiAxMjAwLCBoZWlnaHQ6IGRlZmF1bHRIZWFkVGl0bGVIZWlnaHQsIHBhZGRpbmc6IFwiMHB4IDMwcHhcIiB9XX0+XG4gICAgICAgICAgPGltZyBzdHlsZT17eyB3aWR0aDogMTI4IH19IHNyYz17TG9nb0ljb259IGFsdD1cIm9wZW5hcGktdWlcIiAvPlxuICAgICAgICAgIDxkaXYgY3NzPXt7IGRpc3BsYXk6IFwiZmxleFwiLCBcIiYgPiAqXCI6IHsgbWFyZ2luTGVmdDogNCwgLi4uZmxleENlbnRlck9wdHMoKSB9IH19PlxuICAgICAgICAgICAgPFN3aXRjaFRoZW1lIC8+XG4gICAgICAgICAgICA8Q2hhbmdlTGFuZ0NvbXAgLz5cbiAgICAgICAgICAgIDxHb1RvUG9zdG1hbiAvPlxuICAgICAgICAgICAgPEdpdGh1YlN0YXIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgc3R5bGU9e3sgd2lkdGg6IDEyMDAsIG1hcmdpbjogXCIwcHggYXV0b1wiLCBwYWRkaW5nVG9wOiAxMjggfX0+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgIGZsZXhDZW50ZXJPcHRzKCksXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmb250U2l6ZTogZHNjLmZvbnRTaXplLnMsXG4gICAgICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAzNixcbiAgICAgICAgICAgICAgICBcIiYgPiAqICsgKlwiOiB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiA2LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHttYXAoSW1wb3J0TW9kZVR5cGUsIChpdGVtKSA9PiAoXG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAga2V5PXtpdGVtfVxuICAgICAgICAgICAgICAgIGNzcz17W1xuICAgICAgICAgICAgICAgICAgZmxleE9wdHMoeyBhbGlnbkl0ZW1zOiBcImNlbnRlclwiIH0pLFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTUwLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMyLFxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IGAxcHggc29saWQgJHt0aGVtZS5jb2xvci5ib3JkZXJ9YCxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiA2LFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBcIjBweCA2cHhcIixcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBcInBvaW50ZXJcIixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBhY3RpdmVJbXBvcnRNb2RlVHlwZSA9PT0gaXRlbVxuICAgICAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogbGlnaHRUaGVtZS5jb2xvci5wcmltYXJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0VGhlbWUuY29sb3IuYmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCImIHBhdGhcIjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiB0aGVtZS5jb2xvci5tZW51R3JvdXAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgOiB7fSxcbiAgICAgICAgICAgICAgICBdfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgIHNldFF1ZXJ5KCgpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUltcG9ydE1vZGVUeXBlOiBpdGVtLFxuICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7ZGlzcGxheUltcG9ydE1vZGVUeXBlSWNvbihpdGVtLCB0aGVtZS5jb2xvci50ZXh0TGlnaHQpfVxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDEwIH19Pnt0KGRpc3BsYXlJbXBvcnRNb2RlVHlwZShpdGVtKSl9PC9zcGFuPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNzcz17ZmxleENlbnRlck9wdHMoKX0+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IHdpZHRoOiA2MDAgfX0+XG4gICAgICAgICAgICAgIHthY3RpdmVJbXBvcnRNb2RlVHlwZSA9PT0gSW1wb3J0TW9kZVR5cGUudXJsICYmIDxVUkxJbXBvcnRWaWV3IC8+fVxuICAgICAgICAgICAgICB7YWN0aXZlSW1wb3J0TW9kZVR5cGUgPT09IEltcG9ydE1vZGVUeXBlLmZpbGUgJiYgPEZpbGVJbXBvcnRWaWV3IC8+fVxuICAgICAgICAgICAgICB7YWN0aXZlSW1wb3J0TW9kZVR5cGUgPT09IEltcG9ydE1vZGVUeXBlLnRleHQgJiYgPFRleHRJbXBvcnRWaWV3IC8+fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICB7aXNaaCAmJiA8SUNQUmVnaXN0cmF0aW9uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufVxuIl19 */"],children:xo(bd,l=>Gt("a",{css:[$ot({alignItems:"center"}),{width:150,height:32,border:`1px solid ${i.color.border}`,borderRadius:6,padding:"0px 6px",cursor:"pointer"},n===l?{backgroundColor:md.color.primary,color:md.color.bg,border:"none","& path":{fill:i.color.menuGroup}}:{},"",""],onClick:()=>{e(()=>({activeImportModeType:l}))},children:[nqe(l,i.color.textLight),se("span",{style:{marginLeft:10},children:t(tqe(l))})]},l))}),se("div",{css:Tb(),children:Gt("div",{style:{width:600},children:[n===bd.url&&se(yst,{}),n===bd.file&&se(gst,{}),n===bd.text&&se(pst,{})]})})]})]}),s&&se(Zz,{})]})}const Cst=Object.freeze(Object.defineProperty({__proto__:null,default:vst},Symbol.toStringTag,{value:"Module"}));function WKt(){}function AKt(){}function Sst(n,e){const t=e||{};return(n[n.length-1]===""?[...n,""]:n).join((t.padRight?" ":"")+","+(t.padLeft===!1?"":" ")).trim()}const wst=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,xst=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,_st={};function hge(n,e){return((e||_st).jsx?xst:wst).test(n)}const Lst=/[ \t\n\f\r]/g;function Ist(n){return typeof n=="object"?n.type==="text"?mge(n.value):!1:mge(n)}function mge(n){return n.replace(Lst,"")===""}class TI{constructor(e,t,i){this.property=e,this.normal=t,i&&(this.space=i)}}TI.prototype.property={},TI.prototype.normal={},TI.prototype.space=null;function fge(n,e){const t={},i={};let r=-1;for(;++r4&&t.slice(0,4)==="data"&&kst.test(e)){if(e.charAt(4)==="-"){const o=e.slice(5).replace(xge,Zst);i="data"+o.charAt(0).toUpperCase()+o.slice(1)}else{const o=e.slice(4);if(!xge.test(o)){let s=o.replace(Tst,Rst);s.charAt(0)!=="-"&&(s="-"+s),e="data"+s}}r=Gz}return new r(i,e)}function Rst(n){return"-"+n.toLowerCase()}function Zst(n){return n.charAt(1).toUpperCase()}const Wst={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},Ast=fge([yge,bge,Sge,wge,Nst],"html"),Xz=fge([yge,bge,Sge,wge,Mst],"svg");function Vst(n){return n.join(" ").trim()}var _ge={},Lge=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,Gst=/\n/g,Xst=/^\s*/,Pst=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,Ost=/^:\s*/,Bst=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,zst=/^[;\s]*/,Hst=/^\s+|\s+$/g,Yst=` +`,Ige="/",Fge="*",Gy="",Ust="comment",Kst="declaration",Jst=function(n,e){if(typeof n!="string")throw new TypeError("First argument must be a string");if(!n)return[];e=e||{};var t=1,i=1;function r(f){var g=f.match(Gst);g&&(t+=g.length);var b=f.lastIndexOf(Yst);i=~b?f.length-b:i+f.length}function o(){var f={line:t,column:i};return function(g){return g.position=new s(f),u(),g}}function s(f){this.start=f,this.end={line:t,column:i},this.source=e.source}s.prototype.content=n;function a(f){var g=new Error(e.source+":"+t+":"+i+": "+f);if(g.reason=f,g.filename=e.source,g.line=t,g.column=i,g.source=n,!e.silent)throw g}function l(f){var g=f.exec(n);if(g){var b=g[0];return r(b),n=n.slice(b.length),g}}function u(){l(Xst)}function c(f){var g;for(f=f||[];g=d();)g!==!1&&f.push(g);return f}function d(){var f=o();if(!(Ige!=n.charAt(0)||Fge!=n.charAt(1))){for(var g=2;Gy!=n.charAt(g)&&(Fge!=n.charAt(g)||Ige!=n.charAt(g+1));)++g;if(g+=2,Gy===n.charAt(g-1))return a("End of comment missing");var b=n.slice(2,g-2);return i+=2,r(b),n=n.slice(g),i+=2,f({type:Ust,comment:b})}}function h(){var f=o(),g=l(Pst);if(g){if(d(),!l(Ost))return a("property missing ':'");var b=l(Bst),y=f({type:Kst,property:Dge(g[0].replace(Lge,Gy)),value:b?Dge(b[0].replace(Lge,Gy)):Gy});return l(zst),y}}function m(){var f=[];c(f);for(var g;g=h();)g!==!1&&(f.push(g),c(f));return f}return u(),m()};function Dge(n){return n?n.replace(Hst,Gy):Gy}var jst=Jf&&Jf.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(_ge,"__esModule",{value:!0});var Qst=jst(Jst);function $st(n,e){var t=null;if(!n||typeof n!="string")return t;var i=(0,Qst.default)(n),r=typeof e=="function";return i.forEach(function(o){if(o.type==="declaration"){var s=o.property,a=o.value;r?e(s,a,o):a&&(t=t||{},t[s]=a)}}),t}var Nge=_ge.default=$st;const qst=Nge.default||Nge,Mge=kge("end"),Pz=kge("start");function kge(n){return e;function e(t){const i=t&&t.position&&t.position[n]||{};if(typeof i.line=="number"&&i.line>0&&typeof i.column=="number"&&i.column>0)return{line:i.line,column:i.column,offset:typeof i.offset=="number"&&i.offset>-1?i.offset:void 0}}}function eat(n){const e=Pz(n),t=Mge(n);if(e&&t)return{start:e,end:t}}function EI(n){return!n||typeof n!="object"?"":"position"in n||"type"in n?Tge(n.position):"start"in n||"end"in n?Tge(n):"line"in n||"column"in n?Oz(n):""}function Oz(n){return Ege(n&&n.line)+":"+Ege(n&&n.column)}function Tge(n){return Oz(n&&n.start)+"-"+Oz(n&&n.end)}function Ege(n){return n&&typeof n=="number"?n:1}class Dl extends Error{constructor(e,t,i){super(),typeof t=="string"&&(i=t,t=void 0);let r="",o={},s=!1;if(t&&("line"in t&&"column"in t?o={place:t}:"start"in t&&"end"in t?o={place:t}:"type"in t?o={ancestors:[t],place:t.position}:o={...t}),typeof e=="string"?r=e:!o.cause&&e&&(s=!0,r=e.message,o.cause=e),!o.ruleId&&!o.source&&typeof i=="string"){const l=i.indexOf(":");l===-1?o.ruleId=i:(o.source=i.slice(0,l),o.ruleId=i.slice(l+1))}if(!o.place&&o.ancestors&&o.ancestors){const l=o.ancestors[o.ancestors.length-1];l&&(o.place=l.position)}const a=o.place&&"start"in o.place?o.place.start:o.place;this.ancestors=o.ancestors||void 0,this.cause=o.cause||void 0,this.column=a?a.column:void 0,this.fatal=void 0,this.file,this.message=r,this.line=a?a.line:void 0,this.name=EI(o.place)||"1:1",this.place=o.place||void 0,this.reason=this.message,this.ruleId=o.ruleId||void 0,this.source=o.source||void 0,this.stack=s&&o.cause&&typeof o.cause.stack=="string"?o.cause.stack:"",this.actual,this.expected,this.note,this.url}}Dl.prototype.file="",Dl.prototype.name="",Dl.prototype.reason="",Dl.prototype.message="",Dl.prototype.stack="",Dl.prototype.column=void 0,Dl.prototype.line=void 0,Dl.prototype.ancestors=void 0,Dl.prototype.cause=void 0,Dl.prototype.fatal=void 0,Dl.prototype.place=void 0,Dl.prototype.ruleId=void 0,Dl.prototype.source=void 0;const Bz={}.hasOwnProperty,tat=new Map,nat=/[A-Z]/g,iat=/-([a-z])/g,rat=new Set(["table","tbody","thead","tfoot","tr"]),oat=new Set(["td","th"]),Rge="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function sat(n,e){if(!e||e.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const t=e.filePath||void 0;let i;if(e.development){if(typeof e.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");i=fat(t,e.jsxDEV)}else{if(typeof e.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof e.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");i=mat(t,e.jsx,e.jsxs)}const r={Fragment:e.Fragment,ancestors:[],components:e.components||{},create:i,elementAttributeNameCase:e.elementAttributeNameCase||"react",evaluater:e.createEvaluater?e.createEvaluater():void 0,filePath:t,ignoreInvalidStyle:e.ignoreInvalidStyle||!1,passKeys:e.passKeys!==!1,passNode:e.passNode||!1,schema:e.space==="svg"?Xz:Ast,stylePropertyNameCase:e.stylePropertyNameCase||"dom",tableCellAlignToStyle:e.tableCellAlignToStyle!==!1},o=Zge(r,n,void 0);return o&&typeof o!="string"?o:r.create(n,r.Fragment,{children:o||void 0},void 0)}function Zge(n,e,t){if(e.type==="element")return aat(n,e,t);if(e.type==="mdxFlowExpression"||e.type==="mdxTextExpression")return lat(n,e);if(e.type==="mdxJsxFlowElement"||e.type==="mdxJsxTextElement")return cat(n,e,t);if(e.type==="mdxjsEsm")return uat(n,e);if(e.type==="root")return dat(n,e,t);if(e.type==="text")return hat(n,e)}function aat(n,e,t){const i=n.schema;let r=i;e.tagName.toLowerCase()==="svg"&&i.space==="html"&&(r=Xz,n.schema=r),n.ancestors.push(e);const o=Age(n,e.tagName,!1),s=gat(n,e);let a=Hz(n,e);return rat.has(e.tagName)&&(a=a.filter(function(l){return typeof l=="string"?!Ist(l):!0})),Wge(n,s,o,e),zz(s,a),n.ancestors.pop(),n.schema=i,n.create(e,o,s,t)}function lat(n,e){if(e.data&&e.data.estree&&n.evaluater){const i=e.data.estree.body[0];return i.type,n.evaluater.evaluateExpression(i.expression)}RI(n,e.position)}function uat(n,e){if(e.data&&e.data.estree&&n.evaluater)return n.evaluater.evaluateProgram(e.data.estree);RI(n,e.position)}function cat(n,e,t){const i=n.schema;let r=i;e.name==="svg"&&i.space==="html"&&(r=Xz,n.schema=r),n.ancestors.push(e);const o=e.name===null?n.Fragment:Age(n,e.name,!0),s=pat(n,e),a=Hz(n,e);return Wge(n,s,o,e),zz(s,a),n.ancestors.pop(),n.schema=i,n.create(e,o,s,t)}function dat(n,e,t){const i={};return zz(i,Hz(n,e)),n.create(e,n.Fragment,i,t)}function hat(n,e){return e.value}function Wge(n,e,t,i){typeof t!="string"&&t!==n.Fragment&&n.passNode&&(e.node=i)}function zz(n,e){if(e.length>0){const t=e.length>1?e:e[0];t&&(n.children=t)}}function mat(n,e,t){return i;function i(r,o,s,a){const u=Array.isArray(s.children)?t:e;return a?u(o,s,a):u(o,s)}}function fat(n,e){return t;function t(i,r,o,s){const a=Array.isArray(o.children),l=Pz(i);return e(r,o,s,a,{columnNumber:l?l.column-1:void 0,fileName:n,lineNumber:l?l.line:void 0},void 0)}}function gat(n,e){const t={};let i,r;for(r in e.properties)if(r!=="children"&&Bz.call(e.properties,r)){const o=bat(n,r,e.properties[r]);if(o){const[s,a]=o;n.tableCellAlignToStyle&&s==="align"&&typeof a=="string"&&oat.has(e.tagName)?i=a:t[s]=a}}if(i){const o=t.style||(t.style={});o[n.stylePropertyNameCase==="css"?"text-align":"textAlign"]=i}return t}function pat(n,e){const t={};for(const i of e.attributes)if(i.type==="mdxJsxExpressionAttribute")if(i.data&&i.data.estree&&n.evaluater){const o=i.data.estree.body[0];o.type;const s=o.expression;s.type;const a=s.properties[0];a.type,Object.assign(t,n.evaluater.evaluateExpression(a.argument))}else RI(n,e.position);else{const r=i.name;let o;if(i.value&&typeof i.value=="object")if(i.value.data&&i.value.data.estree&&n.evaluater){const a=i.value.data.estree.body[0];a.type,o=n.evaluater.evaluateExpression(a.expression)}else RI(n,e.position);else o=i.value===null?!0:i.value;t[r]=o}return t}function Hz(n,e){const t=[];let i=-1;const r=n.passKeys?new Map:tat;for(;++ir?0:r+e:e=e>r?r:e,t=t>0?t:0,i.length<1e4)s=Array.from(i),s.unshift(e,t),n.splice(...s);else for(t&&n.splice(e,t);o0?(Cg(n,n.length,0,e),n):e}const Pge={}.hasOwnProperty;function Iat(n){const e={};let t=-1;for(;++t13&&t<32||t>126&&t<160||t>55295&&t<57344||t>64975&&t<65008||(t&65535)===65535||(t&65535)===65534||t>1114111?"�":String.fromCodePoint(t)}function rw(n){return n.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Em=Eb(/[A-Za-z]/),_c=Eb(/[\dA-Za-z]/),Nat=Eb(/[#-'*+\--9=?A-Z^-~]/);function Kz(n){return n!==null&&(n<32||n===127)}const Jz=Eb(/\d/),Mat=Eb(/[\dA-Fa-f]/),kat=Eb(/[!-/:-@[-`{-~]/);function di(n){return n!==null&&n<-2}function Eu(n){return n!==null&&(n<0||n===32)}function Dr(n){return n===-2||n===-1||n===32}const Tat=Eb(new RegExp("\\p{P}|\\p{S}","u")),Eat=Eb(/\s/);function Eb(n){return e;function e(t){return t!==null&&t>-1&&n.test(String.fromCharCode(t))}}function ow(n){const e=[];let t=-1,i=0,r=0;for(;++t55295&&o<57344){const a=n.charCodeAt(t+1);o<56320&&a>56319&&a<57344?(s=String.fromCharCode(o,a),r=1):s="�"}else s=String.fromCharCode(o);s&&(e.push(n.slice(i,t),encodeURIComponent(s)),i=t+r+1,s=""),r&&(t+=r,r=0)}return e.join("")+n.slice(i)}function Lo(n,e,t,i){const r=i?i-1:Number.POSITIVE_INFINITY;let o=0;return s;function s(l){return Dr(l)?(n.enter(t),a(l)):e(l)}function a(l){return Dr(l)&&o++s))return;const D=e.events.length;let N=D,T,R;for(;N--;)if(e.events[N][0]==="exit"&&e.events[N][1].type==="chunkFlow"){if(T){R=e.events[N][1].end;break}T=!0}for(y(i),I=D;Iw;){const L=t[x];e.containerState=L[1],L[0].exit.call(e,n)}t.length=w}function C(){r.write([null]),o=void 0,r=void 0,e.containerState._closeFlow=void 0}}function Vat(n,e,t){return Lo(n,n.attempt(this.parser.constructs.document,e,t),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function zge(n){if(n===null||Eu(n)||Eat(n))return 1;if(Tat(n))return 2}function jz(n,e,t){const i=[];let r=-1;for(;++r1&&n[t][1].end.offset-n[t][1].start.offset>1?2:1;const d=Object.assign({},n[i][1].end),h=Object.assign({},n[t][1].start);Hge(d,-l),Hge(h,l),s={type:l>1?"strongSequence":"emphasisSequence",start:d,end:Object.assign({},n[i][1].end)},a={type:l>1?"strongSequence":"emphasisSequence",start:Object.assign({},n[t][1].start),end:h},o={type:l>1?"strongText":"emphasisText",start:Object.assign({},n[i][1].end),end:Object.assign({},n[t][1].start)},r={type:l>1?"strong":"emphasis",start:Object.assign({},s.start),end:Object.assign({},a.end)},n[i][1].end=Object.assign({},s.start),n[t][1].start=Object.assign({},a.end),u=[],n[i][1].end.offset-n[i][1].start.offset&&(u=wd(u,[["enter",n[i][1],e],["exit",n[i][1],e]])),u=wd(u,[["enter",r,e],["enter",s,e],["exit",s,e],["enter",o,e]]),u=wd(u,jz(e.parser.constructs.insideSpan.null,n.slice(i+1,t),e)),u=wd(u,[["exit",o,e],["enter",a,e],["exit",a,e],["exit",r,e]]),n[t][1].end.offset-n[t][1].start.offset?(c=2,u=wd(u,[["enter",n[t][1],e],["exit",n[t][1],e]])):c=0,Cg(n,i-1,t-i+3,u),t=i+u.length-c-2;break}}for(t=-1;++t0&&Dr(I)?Lo(n,C,"linePrefix",o+1)(I):C(I)}function C(I){return I===null||di(I)?n.check(Jge,g,x)(I):(n.enter("codeFlowValue"),w(I))}function w(I){return I===null||di(I)?(n.exit("codeFlowValue"),C(I)):(n.consume(I),w)}function x(I){return n.exit("codeFenced"),e(I)}function L(I,D,N){let T=0;return R;function R(z){return I.enter("lineEnding"),I.consume(z),I.exit("lineEnding"),E}function E(z){return I.enter("codeFencedFence"),Dr(z)?Lo(I,W,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(z):W(z)}function W(z){return z===a?(I.enter("codeFencedFenceSequence"),Z(z)):N(z)}function Z(z){return z===a?(T++,I.consume(z),Z):T>=s?(I.exit("codeFencedFenceSequence"),Dr(z)?Lo(I,V,"whitespace")(z):V(z)):N(z)}function V(z){return z===null||di(z)?(I.exit("codeFencedFence"),D(z)):N(z)}}}function jat(n,e,t){const i=this;return r;function r(s){return s===null?t(s):(n.enter("lineEnding"),n.consume(s),n.exit("lineEnding"),o)}function o(s){return i.parser.lazy[i.now().line]?t(s):e(s)}}const $z={name:"codeIndented",tokenize:$at},Qat={tokenize:qat,partial:!0};function $at(n,e,t){const i=this;return r;function r(u){return n.enter("codeIndented"),Lo(n,o,"linePrefix",5)(u)}function o(u){const c=i.events[i.events.length-1];return c&&c[1].type==="linePrefix"&&c[2].sliceSerialize(c[1],!0).length>=4?s(u):t(u)}function s(u){return u===null?l(u):di(u)?n.attempt(Qat,s,l)(u):(n.enter("codeFlowValue"),a(u))}function a(u){return u===null||di(u)?(n.exit("codeFlowValue"),s(u)):(n.consume(u),a)}function l(u){return n.exit("codeIndented"),e(u)}}function qat(n,e,t){const i=this;return r;function r(s){return i.parser.lazy[i.now().line]?t(s):di(s)?(n.enter("lineEnding"),n.consume(s),n.exit("lineEnding"),r):Lo(n,o,"linePrefix",5)(s)}function o(s){const a=i.events[i.events.length-1];return a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?e(s):di(s)?r(s):t(s)}}const elt={name:"codeText",tokenize:ilt,resolve:tlt,previous:nlt};function tlt(n){let e=n.length-4,t=3,i,r;if((n[t][1].type==="lineEnding"||n[t][1].type==="space")&&(n[e][1].type==="lineEnding"||n[e][1].type==="space")){for(i=t;++i=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return ethis.left.length?this.right.slice(this.right.length-i+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-i+this.left.length).reverse())}splice(e,t,i){const r=t||0;this.setCursor(Math.trunc(e));const o=this.right.splice(this.right.length-r,Number.POSITIVE_INFINITY);return i&&ZI(this.left,i),o.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(e){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(e)}pushMany(e){this.setCursor(Number.POSITIVE_INFINITY),ZI(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),ZI(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&this.right.length===0||e<0&&this.left.length===0))if(e=4?e(s):n.interrupt(i.parser.constructs.flow,t,e)(s)}}function $ge(n,e,t,i,r,o,s,a,l){const u=l||Number.POSITIVE_INFINITY;let c=0;return d;function d(y){return y===60?(n.enter(i),n.enter(r),n.enter(o),n.consume(y),n.exit(o),h):y===null||y===32||y===41||Kz(y)?t(y):(n.enter(i),n.enter(s),n.enter(a),n.enter("chunkString",{contentType:"string"}),g(y))}function h(y){return y===62?(n.enter(o),n.consume(y),n.exit(o),n.exit(r),n.exit(i),e):(n.enter(a),n.enter("chunkString",{contentType:"string"}),m(y))}function m(y){return y===62?(n.exit("chunkString"),n.exit(a),h(y)):y===null||y===60||di(y)?t(y):(n.consume(y),y===92?f:m)}function f(y){return y===60||y===62||y===92?(n.consume(y),m):m(y)}function g(y){return!c&&(y===null||y===41||Eu(y))?(n.exit("chunkString"),n.exit(a),n.exit(s),n.exit(i),e(y)):c999||m===null||m===91||m===93&&!l||m===94&&!a&&"_hiddenFootnoteSupport"in s.parser.constructs?t(m):m===93?(n.exit(o),n.enter(r),n.consume(m),n.exit(r),n.exit(i),e):di(m)?(n.enter("lineEnding"),n.consume(m),n.exit("lineEnding"),c):(n.enter("chunkString",{contentType:"string"}),d(m))}function d(m){return m===null||m===91||m===93||di(m)||a++>999?(n.exit("chunkString"),c(m)):(n.consume(m),l||(l=!Dr(m)),m===92?h:d)}function h(m){return m===91||m===92||m===93?(n.consume(m),a++,d):d(m)}}function epe(n,e,t,i,r,o){let s;return a;function a(h){return h===34||h===39||h===40?(n.enter(i),n.enter(r),n.consume(h),n.exit(r),s=h===40?41:h,l):t(h)}function l(h){return h===s?(n.enter(r),n.consume(h),n.exit(r),n.exit(i),e):(n.enter(o),u(h))}function u(h){return h===s?(n.exit(o),l(s)):h===null?t(h):di(h)?(n.enter("lineEnding"),n.consume(h),n.exit("lineEnding"),Lo(n,u,"linePrefix")):(n.enter("chunkString",{contentType:"string"}),c(h))}function c(h){return h===s||h===null||di(h)?(n.exit("chunkString"),u(h)):(n.consume(h),h===92?d:c)}function d(h){return h===s||h===92?(n.consume(h),c):c(h)}}function WI(n,e){let t;return i;function i(r){return di(r)?(n.enter("lineEnding"),n.consume(r),n.exit("lineEnding"),t=!0,i):Dr(r)?Lo(n,i,t?"linePrefix":"lineSuffix")(r):e(r)}}const dlt={name:"definition",tokenize:mlt},hlt={tokenize:flt,partial:!0};function mlt(n,e,t){const i=this;let r;return o;function o(m){return n.enter("definition"),s(m)}function s(m){return qge.call(i,n,a,t,"definitionLabel","definitionLabelMarker","definitionLabelString")(m)}function a(m){return r=rw(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)),m===58?(n.enter("definitionMarker"),n.consume(m),n.exit("definitionMarker"),l):t(m)}function l(m){return Eu(m)?WI(n,u)(m):u(m)}function u(m){return $ge(n,c,t,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(m)}function c(m){return n.attempt(hlt,d,d)(m)}function d(m){return Dr(m)?Lo(n,h,"whitespace")(m):h(m)}function h(m){return m===null||di(m)?(n.exit("definition"),i.parser.defined.push(r),e(m)):t(m)}}function flt(n,e,t){return i;function i(a){return Eu(a)?WI(n,r)(a):t(a)}function r(a){return epe(n,o,t,"definitionTitle","definitionTitleMarker","definitionTitleString")(a)}function o(a){return Dr(a)?Lo(n,s,"whitespace")(a):s(a)}function s(a){return a===null||di(a)?e(a):t(a)}}const glt={name:"hardBreakEscape",tokenize:plt};function plt(n,e,t){return i;function i(o){return n.enter("hardBreakEscape"),n.consume(o),r}function r(o){return di(o)?(n.exit("hardBreakEscape"),e(o)):t(o)}}const blt={name:"headingAtx",tokenize:vlt,resolve:ylt};function ylt(n,e){let t=n.length-2,i=3,r,o;return n[i][1].type==="whitespace"&&(i+=2),t-2>i&&n[t][1].type==="whitespace"&&(t-=2),n[t][1].type==="atxHeadingSequence"&&(i===t-1||t-4>i&&n[t-2][1].type==="whitespace")&&(t-=i+1===t?2:4),t>i&&(r={type:"atxHeadingText",start:n[i][1].start,end:n[t][1].end},o={type:"chunkText",start:n[i][1].start,end:n[t][1].end,contentType:"text"},Cg(n,i,t-i+1,[["enter",r,e],["enter",o,e],["exit",o,e],["exit",r,e]])),n}function vlt(n,e,t){let i=0;return r;function r(c){return n.enter("atxHeading"),o(c)}function o(c){return n.enter("atxHeadingSequence"),s(c)}function s(c){return c===35&&i++<6?(n.consume(c),s):c===null||Eu(c)?(n.exit("atxHeadingSequence"),a(c)):t(c)}function a(c){return c===35?(n.enter("atxHeadingSequence"),l(c)):c===null||di(c)?(n.exit("atxHeading"),e(c)):Dr(c)?Lo(n,a,"whitespace")(c):(n.enter("atxHeadingText"),u(c))}function l(c){return c===35?(n.consume(c),l):(n.exit("atxHeadingSequence"),a(c))}function u(c){return c===null||c===35||Eu(c)?(n.exit("atxHeadingText"),a(c)):(n.consume(c),u)}}const Clt=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],tpe=["pre","script","style","textarea"],Slt={name:"htmlFlow",tokenize:Llt,resolveTo:_lt,concrete:!0},wlt={tokenize:Flt,partial:!0},xlt={tokenize:Ilt,partial:!0};function _lt(n){let e=n.length;for(;e--&&!(n[e][0]==="enter"&&n[e][1].type==="htmlFlow"););return e>1&&n[e-2][1].type==="linePrefix"&&(n[e][1].start=n[e-2][1].start,n[e+1][1].start=n[e-2][1].start,n.splice(e-2,2)),n}function Llt(n,e,t){const i=this;let r,o,s,a,l;return u;function u(A){return c(A)}function c(A){return n.enter("htmlFlow"),n.enter("htmlFlowData"),n.consume(A),d}function d(A){return A===33?(n.consume(A),h):A===47?(n.consume(A),o=!0,g):A===63?(n.consume(A),r=3,i.interrupt?e:M):Em(A)?(n.consume(A),s=String.fromCharCode(A),b):t(A)}function h(A){return A===45?(n.consume(A),r=2,m):A===91?(n.consume(A),r=5,a=0,f):Em(A)?(n.consume(A),r=4,i.interrupt?e:M):t(A)}function m(A){return A===45?(n.consume(A),i.interrupt?e:M):t(A)}function f(A){const te="CDATA[";return A===te.charCodeAt(a++)?(n.consume(A),a===te.length?i.interrupt?e:W:f):t(A)}function g(A){return Em(A)?(n.consume(A),s=String.fromCharCode(A),b):t(A)}function b(A){if(A===null||A===47||A===62||Eu(A)){const te=A===47,oe=s.toLowerCase();return!te&&!o&&tpe.includes(oe)?(r=1,i.interrupt?e(A):W(A)):Clt.includes(s.toLowerCase())?(r=6,te?(n.consume(A),y):i.interrupt?e(A):W(A)):(r=7,i.interrupt&&!i.parser.lazy[i.now().line]?t(A):o?C(A):w(A))}return A===45||_c(A)?(n.consume(A),s+=String.fromCharCode(A),b):t(A)}function y(A){return A===62?(n.consume(A),i.interrupt?e:W):t(A)}function C(A){return Dr(A)?(n.consume(A),C):R(A)}function w(A){return A===47?(n.consume(A),R):A===58||A===95||Em(A)?(n.consume(A),x):Dr(A)?(n.consume(A),w):R(A)}function x(A){return A===45||A===46||A===58||A===95||_c(A)?(n.consume(A),x):L(A)}function L(A){return A===61?(n.consume(A),I):Dr(A)?(n.consume(A),L):w(A)}function I(A){return A===null||A===60||A===61||A===62||A===96?t(A):A===34||A===39?(n.consume(A),l=A,D):Dr(A)?(n.consume(A),I):N(A)}function D(A){return A===l?(n.consume(A),l=null,T):A===null||di(A)?t(A):(n.consume(A),D)}function N(A){return A===null||A===34||A===39||A===47||A===60||A===61||A===62||A===96||Eu(A)?L(A):(n.consume(A),N)}function T(A){return A===47||A===62||Dr(A)?w(A):t(A)}function R(A){return A===62?(n.consume(A),E):t(A)}function E(A){return A===null||di(A)?W(A):Dr(A)?(n.consume(A),E):t(A)}function W(A){return A===45&&r===2?(n.consume(A),O):A===60&&r===1?(n.consume(A),B):A===62&&r===4?(n.consume(A),X):A===63&&r===3?(n.consume(A),M):A===93&&r===5?(n.consume(A),H):di(A)&&(r===6||r===7)?(n.exit("htmlFlowData"),n.check(wlt,Y,Z)(A)):A===null||di(A)?(n.exit("htmlFlowData"),Z(A)):(n.consume(A),W)}function Z(A){return n.check(xlt,V,Y)(A)}function V(A){return n.enter("lineEnding"),n.consume(A),n.exit("lineEnding"),z}function z(A){return A===null||di(A)?Z(A):(n.enter("htmlFlowData"),W(A))}function O(A){return A===45?(n.consume(A),M):W(A)}function B(A){return A===47?(n.consume(A),s="",P):W(A)}function P(A){if(A===62){const te=s.toLowerCase();return tpe.includes(te)?(n.consume(A),X):W(A)}return Em(A)&&s.length<8?(n.consume(A),s+=String.fromCharCode(A),P):W(A)}function H(A){return A===93?(n.consume(A),M):W(A)}function M(A){return A===62?(n.consume(A),X):A===45&&r===2?(n.consume(A),M):W(A)}function X(A){return A===null||di(A)?(n.exit("htmlFlowData"),Y(A)):(n.consume(A),X)}function Y(A){return n.exit("htmlFlow"),e(A)}}function Ilt(n,e,t){const i=this;return r;function r(s){return di(s)?(n.enter("lineEnding"),n.consume(s),n.exit("lineEnding"),o):t(s)}function o(s){return i.parser.lazy[i.now().line]?t(s):e(s)}}function Flt(n,e,t){return i;function i(r){return n.enter("lineEnding"),n.consume(r),n.exit("lineEnding"),n.attempt(cR,e,t)}}const Dlt={name:"htmlText",tokenize:Nlt};function Nlt(n,e,t){const i=this;let r,o,s;return a;function a(M){return n.enter("htmlText"),n.enter("htmlTextData"),n.consume(M),l}function l(M){return M===33?(n.consume(M),u):M===47?(n.consume(M),L):M===63?(n.consume(M),w):Em(M)?(n.consume(M),N):t(M)}function u(M){return M===45?(n.consume(M),c):M===91?(n.consume(M),o=0,f):Em(M)?(n.consume(M),C):t(M)}function c(M){return M===45?(n.consume(M),m):t(M)}function d(M){return M===null?t(M):M===45?(n.consume(M),h):di(M)?(s=d,B(M)):(n.consume(M),d)}function h(M){return M===45?(n.consume(M),m):d(M)}function m(M){return M===62?O(M):M===45?h(M):d(M)}function f(M){const X="CDATA[";return M===X.charCodeAt(o++)?(n.consume(M),o===X.length?g:f):t(M)}function g(M){return M===null?t(M):M===93?(n.consume(M),b):di(M)?(s=g,B(M)):(n.consume(M),g)}function b(M){return M===93?(n.consume(M),y):g(M)}function y(M){return M===62?O(M):M===93?(n.consume(M),y):g(M)}function C(M){return M===null||M===62?O(M):di(M)?(s=C,B(M)):(n.consume(M),C)}function w(M){return M===null?t(M):M===63?(n.consume(M),x):di(M)?(s=w,B(M)):(n.consume(M),w)}function x(M){return M===62?O(M):w(M)}function L(M){return Em(M)?(n.consume(M),I):t(M)}function I(M){return M===45||_c(M)?(n.consume(M),I):D(M)}function D(M){return di(M)?(s=D,B(M)):Dr(M)?(n.consume(M),D):O(M)}function N(M){return M===45||_c(M)?(n.consume(M),N):M===47||M===62||Eu(M)?T(M):t(M)}function T(M){return M===47?(n.consume(M),O):M===58||M===95||Em(M)?(n.consume(M),R):di(M)?(s=T,B(M)):Dr(M)?(n.consume(M),T):O(M)}function R(M){return M===45||M===46||M===58||M===95||_c(M)?(n.consume(M),R):E(M)}function E(M){return M===61?(n.consume(M),W):di(M)?(s=E,B(M)):Dr(M)?(n.consume(M),E):T(M)}function W(M){return M===null||M===60||M===61||M===62||M===96?t(M):M===34||M===39?(n.consume(M),r=M,Z):di(M)?(s=W,B(M)):Dr(M)?(n.consume(M),W):(n.consume(M),V)}function Z(M){return M===r?(n.consume(M),r=void 0,z):M===null?t(M):di(M)?(s=Z,B(M)):(n.consume(M),Z)}function V(M){return M===null||M===34||M===39||M===60||M===61||M===96?t(M):M===47||M===62||Eu(M)?T(M):(n.consume(M),V)}function z(M){return M===47||M===62||Eu(M)?T(M):t(M)}function O(M){return M===62?(n.consume(M),n.exit("htmlTextData"),n.exit("htmlText"),e):t(M)}function B(M){return n.exit("htmlTextData"),n.enter("lineEnding"),n.consume(M),n.exit("lineEnding"),P}function P(M){return Dr(M)?Lo(n,H,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(M):H(M)}function H(M){return n.enter("htmlTextData"),s(M)}}const qz={name:"labelEnd",tokenize:Zlt,resolveTo:Rlt,resolveAll:Elt},Mlt={tokenize:Wlt},klt={tokenize:Alt},Tlt={tokenize:Vlt};function Elt(n){let e=-1;for(;++e=3&&(u===null||di(u))?(n.exit("thematicBreak"),e(u)):t(u)}function l(u){return u===r?(n.consume(u),i++,l):(n.exit("thematicBreakSequence"),Dr(u)?Lo(n,a,"whitespace")(u):a(u))}}const Ru={name:"list",tokenize:Ult,continuation:{tokenize:Klt},exit:jlt},Hlt={tokenize:Qlt,partial:!0},Ylt={tokenize:Jlt,partial:!0};function Ult(n,e,t){const i=this,r=i.events[i.events.length-1];let o=r&&r[1].type==="linePrefix"?r[2].sliceSerialize(r[1],!0).length:0,s=0;return a;function a(m){const f=i.containerState.type||(m===42||m===43||m===45?"listUnordered":"listOrdered");if(f==="listUnordered"?!i.containerState.marker||m===i.containerState.marker:Jz(m)){if(i.containerState.type||(i.containerState.type=f,n.enter(f,{_container:!0})),f==="listUnordered")return n.enter("listItemPrefix"),m===42||m===45?n.check(dR,t,u)(m):u(m);if(!i.interrupt||m===49)return n.enter("listItemPrefix"),n.enter("listItemValue"),l(m)}return t(m)}function l(m){return Jz(m)&&++s<10?(n.consume(m),l):(!i.interrupt||s<2)&&(i.containerState.marker?m===i.containerState.marker:m===41||m===46)?(n.exit("listItemValue"),u(m)):t(m)}function u(m){return n.enter("listItemMarker"),n.consume(m),n.exit("listItemMarker"),i.containerState.marker=i.containerState.marker||m,n.check(cR,i.interrupt?t:c,n.attempt(Hlt,h,d))}function c(m){return i.containerState.initialBlankLine=!0,o++,h(m)}function d(m){return Dr(m)?(n.enter("listItemPrefixWhitespace"),n.consume(m),n.exit("listItemPrefixWhitespace"),h):t(m)}function h(m){return i.containerState.size=o+i.sliceSerialize(n.exit("listItemPrefix"),!0).length,e(m)}}function Klt(n,e,t){const i=this;return i.containerState._closeFlow=void 0,n.check(cR,r,o);function r(a){return i.containerState.furtherBlankLines=i.containerState.furtherBlankLines||i.containerState.initialBlankLine,Lo(n,e,"listItemIndent",i.containerState.size+1)(a)}function o(a){return i.containerState.furtherBlankLines||!Dr(a)?(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,s(a)):(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,n.attempt(Ylt,e,s)(a))}function s(a){return i.containerState._closeFlow=!0,i.interrupt=void 0,Lo(n,n.attempt(Ru,e,t),"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a)}}function Jlt(n,e,t){const i=this;return Lo(n,r,"listItemIndent",i.containerState.size+1);function r(o){const s=i.events[i.events.length-1];return s&&s[1].type==="listItemIndent"&&s[2].sliceSerialize(s[1],!0).length===i.containerState.size?e(o):t(o)}}function jlt(n){n.exit(this.containerState.type)}function Qlt(n,e,t){const i=this;return Lo(n,r,"listItemPrefixWhitespace",i.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function r(o){const s=i.events[i.events.length-1];return!Dr(o)&&s&&s[1].type==="listItemPrefixWhitespace"?e(o):t(o)}}const npe={name:"setextUnderline",tokenize:qlt,resolveTo:$lt};function $lt(n,e){let t=n.length,i,r,o;for(;t--;)if(n[t][0]==="enter"){if(n[t][1].type==="content"){i=t;break}n[t][1].type==="paragraph"&&(r=t)}else n[t][1].type==="content"&&n.splice(t,1),!o&&n[t][1].type==="definition"&&(o=t);const s={type:"setextHeading",start:Object.assign({},n[r][1].start),end:Object.assign({},n[n.length-1][1].end)};return n[r][1].type="setextHeadingText",o?(n.splice(r,0,["enter",s,e]),n.splice(o+1,0,["exit",n[i][1],e]),n[i][1].end=Object.assign({},n[o][1].end)):n[i][1]=s,n.push(["exit",s,e]),n}function qlt(n,e,t){const i=this;let r;return o;function o(u){let c=i.events.length,d;for(;c--;)if(i.events[c][1].type!=="lineEnding"&&i.events[c][1].type!=="linePrefix"&&i.events[c][1].type!=="content"){d=i.events[c][1].type==="paragraph";break}return!i.parser.lazy[i.now().line]&&(i.interrupt||d)?(n.enter("setextHeadingLine"),r=u,s(u)):t(u)}function s(u){return n.enter("setextHeadingLineSequence"),a(u)}function a(u){return u===r?(n.consume(u),a):(n.exit("setextHeadingLineSequence"),Dr(u)?Lo(n,l,"lineSuffix")(u):l(u))}function l(u){return u===null||di(u)?(n.exit("setextHeadingLine"),e(u)):t(u)}}const eut={tokenize:tut};function tut(n){const e=this,t=n.attempt(cR,i,n.attempt(this.parser.constructs.flowInitial,r,Lo(n,n.attempt(this.parser.constructs.flow,r,n.attempt(slt,r)),"linePrefix")));return t;function i(o){if(o===null){n.consume(o);return}return n.enter("lineEndingBlank"),n.consume(o),n.exit("lineEndingBlank"),e.currentConstruct=void 0,t}function r(o){if(o===null){n.consume(o);return}return n.enter("lineEnding"),n.consume(o),n.exit("lineEnding"),e.currentConstruct=void 0,t}}const nut={resolveAll:rpe()},iut=ipe("string"),rut=ipe("text");function ipe(n){return{tokenize:e,resolveAll:rpe(n==="text"?out:void 0)};function e(t){const i=this,r=this.parser.constructs[n],o=t.attempt(r,s,a);return s;function s(c){return u(c)?o(c):a(c)}function a(c){if(c===null){t.consume(c);return}return t.enter("data"),t.consume(c),l}function l(c){return u(c)?(t.exit("data"),o(c)):(t.consume(c),l)}function u(c){if(c===null)return!0;const d=r[c];let h=-1;if(d)for(;++h-1){const a=s[0];typeof a=="string"?s[0]=a.slice(i):s.shift()}o>0&&s.push(n[r].slice(0,o))}return s}function lut(n,e){let t=-1;const i=[];let r;for(;++t0){const Be=ve.tokenStack[ve.tokenStack.length-1];(Be[1]||lpe).call(ve,void 0,Be[0])}for(ee.position={start:Zb(q.length>0?q[0][1].start:{line:1,column:1,offset:0}),end:Zb(q.length>0?q[q.length-2][1].end:{line:1,column:1,offset:0})},Me=-1;++Me1?"-"+a:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(s)}]};n.patch(e,l);const u={type:"element",tagName:"sup",properties:{},children:[l]};return n.patch(e,u),n.applyData(e,u)}function Fut(n,e){const t={type:"element",tagName:"h"+e.depth,properties:{},children:n.all(e)};return n.patch(e,t),n.applyData(e,t)}function Iut(n,e){if(n.options.allowDangerousHtml){const t={type:"raw",value:e.value};return n.patch(e,t),n.applyData(e,t)}}function upe(n,e){const t=e.referenceType;let i="]";if(t==="collapsed"?i+="[]":t==="full"&&(i+="["+(e.label||e.identifier)+"]"),e.type==="imageReference")return[{type:"text",value:"!["+e.alt+i}];const r=n.all(e),o=r[0];o&&o.type==="text"?o.value="["+o.value:r.unshift({type:"text",value:"["});const s=r[r.length-1];return s&&s.type==="text"?s.value+=i:r.push({type:"text",value:i}),r}function Dut(n,e){const t=String(e.identifier).toUpperCase(),i=n.definitionById.get(t);if(!i)return upe(n,e);const r={src:oS(i.url||""),alt:e.alt};i.title!==null&&i.title!==void 0&&(r.title=i.title);const o={type:"element",tagName:"img",properties:r,children:[]};return n.patch(e,o),n.applyData(e,o)}function Mut(n,e){const t={src:oS(e.url)};e.alt!==null&&e.alt!==void 0&&(t.alt=e.alt),e.title!==null&&e.title!==void 0&&(t.title=e.title);const i={type:"element",tagName:"img",properties:t,children:[]};return n.patch(e,i),n.applyData(e,i)}function kut(n,e){const t={type:"text",value:e.value.replace(/\r?\n|\r/g," ")};n.patch(e,t);const i={type:"element",tagName:"code",properties:{},children:[t]};return n.patch(e,i),n.applyData(e,i)}function Nut(n,e){const t=String(e.identifier).toUpperCase(),i=n.definitionById.get(t);if(!i)return upe(n,e);const r={href:oS(i.url||"")};i.title!==null&&i.title!==void 0&&(r.title=i.title);const o={type:"element",tagName:"a",properties:r,children:n.all(e)};return n.patch(e,o),n.applyData(e,o)}function Tut(n,e){const t={href:oS(e.url)};e.title!==null&&e.title!==void 0&&(t.title=e.title);const i={type:"element",tagName:"a",properties:t,children:n.all(e)};return n.patch(e,i),n.applyData(e,i)}function Eut(n,e,t){const i=n.all(e),r=t?Zut(t):cpe(e),o={},s=[];if(typeof e.checked=="boolean"){const c=i[0];let d;c&&c.type==="element"&&c.tagName==="p"?d=c:(d={type:"element",tagName:"p",properties:{},children:[]},i.unshift(d)),d.children.length>0&&d.children.unshift({type:"text",value:" "}),d.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:e.checked,disabled:!0},children:[]}),o.className=["task-list-item"]}let a=-1;for(;++a0){const Be=ye.tokenStack[ye.tokenStack.length-1];(Be[1]||lpe).call(ye,void 0,Be[0])}for(ee.position={start:Rb(q.length>0?q[0][1].start:{line:1,column:1,offset:0}),end:Rb(q.length>0?q[q.length-2][1].end:{line:1,column:1,offset:0})},Ne=-1;++Ne1?"-"+a:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(s)}]};n.patch(e,l);const u={type:"element",tagName:"sup",properties:{},children:[l]};return n.patch(e,u),n.applyData(e,u)}function Iut(n,e){const t={type:"element",tagName:"h"+e.depth,properties:{},children:n.all(e)};return n.patch(e,t),n.applyData(e,t)}function Fut(n,e){if(n.options.allowDangerousHtml){const t={type:"raw",value:e.value};return n.patch(e,t),n.applyData(e,t)}}function upe(n,e){const t=e.referenceType;let i="]";if(t==="collapsed"?i+="[]":t==="full"&&(i+="["+(e.label||e.identifier)+"]"),e.type==="imageReference")return[{type:"text",value:"!["+e.alt+i}];const r=n.all(e),o=r[0];o&&o.type==="text"?o.value="["+o.value:r.unshift({type:"text",value:"["});const s=r[r.length-1];return s&&s.type==="text"?s.value+=i:r.push({type:"text",value:i}),r}function Dut(n,e){const t=String(e.identifier).toUpperCase(),i=n.definitionById.get(t);if(!i)return upe(n,e);const r={src:ow(i.url||""),alt:e.alt};i.title!==null&&i.title!==void 0&&(r.title=i.title);const o={type:"element",tagName:"img",properties:r,children:[]};return n.patch(e,o),n.applyData(e,o)}function Nut(n,e){const t={src:ow(e.url)};e.alt!==null&&e.alt!==void 0&&(t.alt=e.alt),e.title!==null&&e.title!==void 0&&(t.title=e.title);const i={type:"element",tagName:"img",properties:t,children:[]};return n.patch(e,i),n.applyData(e,i)}function Mut(n,e){const t={type:"text",value:e.value.replace(/\r?\n|\r/g," ")};n.patch(e,t);const i={type:"element",tagName:"code",properties:{},children:[t]};return n.patch(e,i),n.applyData(e,i)}function kut(n,e){const t=String(e.identifier).toUpperCase(),i=n.definitionById.get(t);if(!i)return upe(n,e);const r={href:ow(i.url||"")};i.title!==null&&i.title!==void 0&&(r.title=i.title);const o={type:"element",tagName:"a",properties:r,children:n.all(e)};return n.patch(e,o),n.applyData(e,o)}function Tut(n,e){const t={href:ow(e.url)};e.title!==null&&e.title!==void 0&&(t.title=e.title);const i={type:"element",tagName:"a",properties:t,children:n.all(e)};return n.patch(e,i),n.applyData(e,i)}function Eut(n,e,t){const i=n.all(e),r=t?Rut(t):cpe(e),o={},s=[];if(typeof e.checked=="boolean"){const c=i[0];let d;c&&c.type==="element"&&c.tagName==="p"?d=c:(d={type:"element",tagName:"p",properties:{},children:[]},i.unshift(d)),d.children.length>0&&d.children.unshift({type:"text",value:" "}),d.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:e.checked,disabled:!0},children:[]}),o.className=["task-list-item"]}let a=-1;for(;++a1}function Wut(n,e){const t={},i=n.all(e);let r=-1;for(typeof e.start=="number"&&e.start!==1&&(t.start=e.start);++r0){const s={type:"element",tagName:"tbody",properties:{},children:n.wrap(t,!0)},a=Pz(e.children[1]),l=kge(e.children[e.children.length-1]);a&&l&&(s.position={start:a,end:l}),r.push(s)}const o={type:"element",tagName:"table",properties:{},children:n.wrap(r,!0)};return n.patch(e,o),n.applyData(e,o)}function Xut(n,e,t){const i=t?t.children:void 0,o=(i?i.indexOf(e):1)===0?"th":"td",s=t&&t.type==="table"?t.align:void 0,a=s?s.length:e.children.length;let l=-1;const u=[];for(;++l0,!0),i[0]),r=i.index+i[0].length,i=t.exec(e);return o.push(mpe(e.slice(r),r>0,!1)),o.join("")}function mpe(n,e,t){let i=0,r=n.length;if(e){let o=n.codePointAt(i);for(;o===dpe||o===hpe;)i++,o=n.codePointAt(i)}if(t){let o=n.codePointAt(r-1);for(;o===dpe||o===hpe;)r--,o=n.codePointAt(r-1)}return r>i?n.slice(i,r):""}function But(n,e){const t={type:"text",value:Out(String(e.value))};return n.patch(e,t),n.applyData(e,t)}function zut(n,e){const t={type:"element",tagName:"hr",properties:{},children:[]};return n.patch(e,t),n.applyData(e,t)}const Hut={blockquote:Cut,break:wut,code:Sut,delete:xut,emphasis:Lut,footnoteReference:_ut,heading:Fut,html:Iut,imageReference:Dut,image:Mut,inlineCode:kut,linkReference:Nut,link:Tut,listItem:Eut,list:Wut,paragraph:Rut,root:Vut,strong:Aut,table:Gut,tableCell:Put,tableRow:Xut,text:But,thematicBreak:zut,toml:hZ,yaml:hZ,definition:hZ,footnoteDefinition:hZ};function hZ(){}const fpe=-1,mZ=0,fZ=1,gZ=2,tH=3,nH=4,iH=5,rH=6,gpe=7,ppe=8,bpe=typeof self=="object"?self:globalThis,Yut=(n,e)=>{const t=(r,o)=>(n.set(o,r),r),i=r=>{if(n.has(r))return n.get(r);const[o,s]=e[r];switch(o){case mZ:case fpe:return t(s,r);case fZ:{const a=t([],r);for(const l of s)a.push(i(l));return a}case gZ:{const a=t({},r);for(const[l,u]of s)a[i(l)]=i(u);return a}case tH:return t(new Date(s),r);case nH:{const{source:a,flags:l}=s;return t(new RegExp(a,l),r)}case iH:{const a=t(new Map,r);for(const[l,u]of s)a.set(i(l),i(u));return a}case rH:{const a=t(new Set,r);for(const l of s)a.add(i(l));return a}case gpe:{const{name:a,message:l}=s;return t(new bpe[a](l),r)}case ppe:return t(BigInt(s),r);case"BigInt":return t(Object(BigInt(s)),r)}return t(new bpe[o](s),r)};return i},vpe=n=>Yut(new Map,n)(0),sS="",{toString:Uut}={},{keys:Kut}=Object,VF=n=>{const e=typeof n;if(e!=="object"||!n)return[mZ,e];const t=Uut.call(n).slice(8,-1);switch(t){case"Array":return[fZ,sS];case"Object":return[gZ,sS];case"Date":return[tH,sS];case"RegExp":return[nH,sS];case"Map":return[iH,sS];case"Set":return[rH,sS]}return t.includes("Array")?[fZ,t]:t.includes("Error")?[gpe,t]:[gZ,t]},pZ=([n,e])=>n===mZ&&(e==="function"||e==="symbol"),Jut=(n,e,t,i)=>{const r=(s,a)=>{const l=i.push(s)-1;return t.set(a,l),l},o=s=>{if(t.has(s))return t.get(s);let[a,l]=VF(s);switch(a){case mZ:{let c=s;switch(l){case"bigint":a=ppe,c=s.toString();break;case"function":case"symbol":if(n)throw new TypeError("unable to serialize "+l);c=null;break;case"undefined":return r([fpe],s)}return r([a,c],s)}case fZ:{if(l)return r([l,[...s]],s);const c=[],d=r([a,c],s);for(const h of s)c.push(o(h));return d}case gZ:{if(l)switch(l){case"BigInt":return r([l,s.toString()],s);case"Boolean":case"Number":case"String":return r([l,s.valueOf()],s)}if(e&&"toJSON"in s)return o(s.toJSON());const c=[],d=r([a,c],s);for(const h of Kut(s))(n||!pZ(VF(s[h])))&&c.push([o(h),o(s[h])]);return d}case tH:return r([a,s.toISOString()],s);case nH:{const{source:c,flags:d}=s;return r([a,{source:c,flags:d}],s)}case iH:{const c=[],d=r([a,c],s);for(const[h,m]of s)(n||!(pZ(VF(h))||pZ(VF(m))))&&c.push([o(h),o(m)]);return d}case rH:{const c=[],d=r([a,c],s);for(const h of s)(n||!pZ(VF(h)))&&c.push(o(h));return d}}const{message:u}=s;return r([a,{name:l,message:u}],s)};return o},ype=(n,{json:e,lossy:t}={})=>{const i=[];return Jut(!(e||t),!!e,new Map,i)(n),i},bZ=typeof structuredClone=="function"?(n,e)=>e&&("json"in e||"lossy"in e)?vpe(ype(n,e)):structuredClone(n):(n,e)=>vpe(ype(n,e));function jut(n,e){const t=[{type:"text",value:"↩"}];return e>1&&t.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(e)}]}),t}function Qut(n,e){return"Back to reference "+(n+1)+(e>1?"-"+e:"")}function $ut(n){const e=typeof n.options.clobberPrefix=="string"?n.options.clobberPrefix:"user-content-",t=n.options.footnoteBackContent||jut,i=n.options.footnoteBackLabel||Qut,r=n.options.footnoteLabel||"Footnotes",o=n.options.footnoteLabelTagName||"h2",s=n.options.footnoteLabelProperties||{className:["sr-only"]},a=[];let l=-1;for(;++l0&&f.push({type:"text",value:" "});let C=typeof t=="string"?t:t(l,m);typeof C=="string"&&(C={type:"text",value:C}),f.push({type:"element",tagName:"a",properties:{href:"#"+e+"fnref-"+h+(m>1?"-"+m:""),dataFootnoteBackref:"",ariaLabel:typeof i=="string"?i:i(l,m),className:["data-footnote-backref"]},children:Array.isArray(C)?C:[C]})}const b=c[c.length-1];if(b&&b.type==="element"&&b.tagName==="p"){const C=b.children[b.children.length-1];C&&C.type==="text"?C.value+=" ":b.children.push({type:"text",value:" "}),b.children.push(...f)}else c.push(...f);const v={type:"element",tagName:"li",properties:{id:e+"fn-"+h},children:n.wrap(c,!0)};n.patch(u,v),a.push(v)}if(a.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:o,properties:{...bZ(s),id:"footnote-label"},children:[{type:"text",value:r}]},{type:"text",value:` +`});const u={type:"element",tagName:"li",properties:o,children:s};return n.patch(e,u),n.applyData(e,u)}function Rut(n){let e=!1;if(n.type==="list"){e=n.spread||!1;const t=n.children;let i=-1;for(;!e&&++i1}function Zut(n,e){const t={},i=n.all(e);let r=-1;for(typeof e.start=="number"&&e.start!==1&&(t.start=e.start);++r0){const s={type:"element",tagName:"tbody",properties:{},children:n.wrap(t,!0)},a=Pz(e.children[1]),l=Mge(e.children[e.children.length-1]);a&&l&&(s.position={start:a,end:l}),r.push(s)}const o={type:"element",tagName:"table",properties:{},children:n.wrap(r,!0)};return n.patch(e,o),n.applyData(e,o)}function Xut(n,e,t){const i=t?t.children:void 0,o=(i?i.indexOf(e):1)===0?"th":"td",s=t&&t.type==="table"?t.align:void 0,a=s?s.length:e.children.length;let l=-1;const u=[];for(;++l0,!0),i[0]),r=i.index+i[0].length,i=t.exec(e);return o.push(mpe(e.slice(r),r>0,!1)),o.join("")}function mpe(n,e,t){let i=0,r=n.length;if(e){let o=n.codePointAt(i);for(;o===dpe||o===hpe;)i++,o=n.codePointAt(i)}if(t){let o=n.codePointAt(r-1);for(;o===dpe||o===hpe;)r--,o=n.codePointAt(r-1)}return r>i?n.slice(i,r):""}function But(n,e){const t={type:"text",value:Out(String(e.value))};return n.patch(e,t),n.applyData(e,t)}function zut(n,e){const t={type:"element",tagName:"hr",properties:{},children:[]};return n.patch(e,t),n.applyData(e,t)}const Hut={blockquote:Cut,break:Sut,code:wut,delete:xut,emphasis:_ut,footnoteReference:Lut,heading:Iut,html:Fut,imageReference:Dut,image:Nut,inlineCode:Mut,linkReference:kut,link:Tut,listItem:Eut,list:Zut,paragraph:Wut,root:Aut,strong:Vut,table:Gut,tableCell:Put,tableRow:Xut,text:But,thematicBreak:zut,toml:hR,yaml:hR,definition:hR,footnoteDefinition:hR};function hR(){}const fpe=-1,mR=0,fR=1,gR=2,tH=3,nH=4,iH=5,rH=6,gpe=7,ppe=8,bpe=typeof self=="object"?self:globalThis,Yut=(n,e)=>{const t=(r,o)=>(n.set(o,r),r),i=r=>{if(n.has(r))return n.get(r);const[o,s]=e[r];switch(o){case mR:case fpe:return t(s,r);case fR:{const a=t([],r);for(const l of s)a.push(i(l));return a}case gR:{const a=t({},r);for(const[l,u]of s)a[i(l)]=i(u);return a}case tH:return t(new Date(s),r);case nH:{const{source:a,flags:l}=s;return t(new RegExp(a,l),r)}case iH:{const a=t(new Map,r);for(const[l,u]of s)a.set(i(l),i(u));return a}case rH:{const a=t(new Set,r);for(const l of s)a.add(i(l));return a}case gpe:{const{name:a,message:l}=s;return t(new bpe[a](l),r)}case ppe:return t(BigInt(s),r);case"BigInt":return t(Object(BigInt(s)),r)}return t(new bpe[o](s),r)};return i},ype=n=>Yut(new Map,n)(0),sw="",{toString:Uut}={},{keys:Kut}=Object,AI=n=>{const e=typeof n;if(e!=="object"||!n)return[mR,e];const t=Uut.call(n).slice(8,-1);switch(t){case"Array":return[fR,sw];case"Object":return[gR,sw];case"Date":return[tH,sw];case"RegExp":return[nH,sw];case"Map":return[iH,sw];case"Set":return[rH,sw]}return t.includes("Array")?[fR,t]:t.includes("Error")?[gpe,t]:[gR,t]},pR=([n,e])=>n===mR&&(e==="function"||e==="symbol"),Jut=(n,e,t,i)=>{const r=(s,a)=>{const l=i.push(s)-1;return t.set(a,l),l},o=s=>{if(t.has(s))return t.get(s);let[a,l]=AI(s);switch(a){case mR:{let c=s;switch(l){case"bigint":a=ppe,c=s.toString();break;case"function":case"symbol":if(n)throw new TypeError("unable to serialize "+l);c=null;break;case"undefined":return r([fpe],s)}return r([a,c],s)}case fR:{if(l)return r([l,[...s]],s);const c=[],d=r([a,c],s);for(const h of s)c.push(o(h));return d}case gR:{if(l)switch(l){case"BigInt":return r([l,s.toString()],s);case"Boolean":case"Number":case"String":return r([l,s.valueOf()],s)}if(e&&"toJSON"in s)return o(s.toJSON());const c=[],d=r([a,c],s);for(const h of Kut(s))(n||!pR(AI(s[h])))&&c.push([o(h),o(s[h])]);return d}case tH:return r([a,s.toISOString()],s);case nH:{const{source:c,flags:d}=s;return r([a,{source:c,flags:d}],s)}case iH:{const c=[],d=r([a,c],s);for(const[h,m]of s)(n||!(pR(AI(h))||pR(AI(m))))&&c.push([o(h),o(m)]);return d}case rH:{const c=[],d=r([a,c],s);for(const h of s)(n||!pR(AI(h)))&&c.push(o(h));return d}}const{message:u}=s;return r([a,{name:l,message:u}],s)};return o},vpe=(n,{json:e,lossy:t}={})=>{const i=[];return Jut(!(e||t),!!e,new Map,i)(n),i},bR=typeof structuredClone=="function"?(n,e)=>e&&("json"in e||"lossy"in e)?ype(vpe(n,e)):structuredClone(n):(n,e)=>ype(vpe(n,e));function jut(n,e){const t=[{type:"text",value:"↩"}];return e>1&&t.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(e)}]}),t}function Qut(n,e){return"Back to reference "+(n+1)+(e>1?"-"+e:"")}function $ut(n){const e=typeof n.options.clobberPrefix=="string"?n.options.clobberPrefix:"user-content-",t=n.options.footnoteBackContent||jut,i=n.options.footnoteBackLabel||Qut,r=n.options.footnoteLabel||"Footnotes",o=n.options.footnoteLabelTagName||"h2",s=n.options.footnoteLabelProperties||{className:["sr-only"]},a=[];let l=-1;for(;++l0&&f.push({type:"text",value:" "});let C=typeof t=="string"?t:t(l,m);typeof C=="string"&&(C={type:"text",value:C}),f.push({type:"element",tagName:"a",properties:{href:"#"+e+"fnref-"+h+(m>1?"-"+m:""),dataFootnoteBackref:"",ariaLabel:typeof i=="string"?i:i(l,m),className:["data-footnote-backref"]},children:Array.isArray(C)?C:[C]})}const b=c[c.length-1];if(b&&b.type==="element"&&b.tagName==="p"){const C=b.children[b.children.length-1];C&&C.type==="text"?C.value+=" ":b.children.push({type:"text",value:" "}),b.children.push(...f)}else c.push(...f);const y={type:"element",tagName:"li",properties:{id:e+"fn-"+h},children:n.wrap(c,!0)};n.patch(u,y),a.push(y)}if(a.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:o,properties:{...bR(s),id:"footnote-label"},children:[{type:"text",value:r}]},{type:"text",value:` `},{type:"element",tagName:"ol",properties:{},children:n.wrap(a,!0)},{type:"text",value:` -`}]}}const Cpe=function(n){if(n==null)return nct;if(typeof n=="function")return vZ(n);if(typeof n=="object")return Array.isArray(n)?qut(n):ect(n);if(typeof n=="string")return tct(n);throw new Error("Expected function, string, or object as test")};function qut(n){const e=[];let t=-1;for(;++t":""))+")"})}return h;function h(){let m=wpe,f,g,b;if((!e||o(l,u,c[c.length-1]||void 0))&&(m=act(t(l,c)),m[0]===Spe))return m;if("children"in l&&l.children){const v=l;if(v.children&&m[0]!==oct)for(g=(i?v.children.length:-1)+s,b=c.concat(v);g>-1&&g":""))+")"})}return h;function h(){let m=Spe,f,g,b;if((!e||o(l,u,c[c.length-1]||void 0))&&(m=act(t(l,c)),m[0]===wpe))return m;if("children"in l&&l.children){const y=l;if(y.children&&m[0]!==oct)for(g=(i?y.children.length:-1)+s,b=c.concat(y);g>-1&&g0&&t.push({type:"text",value:` -`}),t}function Lpe(n){let e=0,t=n.charCodeAt(e);for(;t===9||t===32;)e++,t=n.charCodeAt(e);return n.slice(e)}function _pe(n,e){const t=uct(n,e),i=t.one(n,void 0),r=$ut(t),o=Array.isArray(i)?{type:"root",children:i}:i||{type:"root",children:[]};return r&&o.children.push({type:"text",value:` -`},r),o}function fct(n,e){return n&&"run"in n?async function(t,i){const r=_pe(t,{file:i,...e});await n.run(r,i)}:function(t,i){return _pe(t,{file:i,...e||n})}}function Fpe(n){if(n)throw n}var yZ=Object.prototype.hasOwnProperty,Ipe=Object.prototype.toString,Dpe=Object.defineProperty,Mpe=Object.getOwnPropertyDescriptor,kpe=function(e){return typeof Array.isArray=="function"?Array.isArray(e):Ipe.call(e)==="[object Array]"},Npe=function(e){if(!e||Ipe.call(e)!=="[object Object]")return!1;var t=yZ.call(e,"constructor"),i=e.constructor&&e.constructor.prototype&&yZ.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!t&&!i)return!1;var r;for(r in e);return typeof r>"u"||yZ.call(e,r)},Tpe=function(e,t){Dpe&&t.name==="__proto__"?Dpe(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},Epe=function(e,t){if(t==="__proto__")if(yZ.call(e,t)){if(Mpe)return Mpe(e,t).value}else return;return e[t]},gct=function n(){var e,t,i,r,o,s,a=arguments[0],l=1,u=arguments.length,c=!1;for(typeof a=="boolean"&&(c=a,a=arguments[1]||{},l=2),(a==null||typeof a!="object"&&typeof a!="function")&&(a={});ls.length;let l;a&&s.push(r);try{l=n.apply(this,s)}catch(u){const c=u;if(a&&t)throw c;return r(c)}a||(l&&l.then&&typeof l.then=="function"?l.then(o,r):l instanceof Error?r(l):o(l))}function r(s,...a){t||(t=!0,e(s,...a))}function o(s){r(null,s)}}const Zm={basename:vct,dirname:yct,extname:Cct,join:wct,sep:"/"};function vct(n,e){if(e!==void 0&&typeof e!="string")throw new TypeError('"ext" argument must be a string');AF(n);let t=0,i=-1,r=n.length,o;if(e===void 0||e.length===0||e.length>n.length){for(;r--;)if(n.codePointAt(r)===47){if(o){t=r+1;break}}else i<0&&(o=!0,i=r+1);return i<0?"":n.slice(t,i)}if(e===n)return"";let s=-1,a=e.length-1;for(;r--;)if(n.codePointAt(r)===47){if(o){t=r+1;break}}else s<0&&(o=!0,s=r+1),a>-1&&(n.codePointAt(r)===e.codePointAt(a--)?a<0&&(i=r):(a=-1,i=s));return t===i?i=s:i<0&&(i=n.length),n.slice(t,i)}function yct(n){if(AF(n),n.length===0)return".";let e=-1,t=n.length,i;for(;--t;)if(n.codePointAt(t)===47){if(i){e=t;break}}else i||(i=!0);return e<0?n.codePointAt(0)===47?"/":".":e===1&&n.codePointAt(0)===47?"//":n.slice(0,e)}function Cct(n){AF(n);let e=n.length,t=-1,i=0,r=-1,o=0,s;for(;e--;){const a=n.codePointAt(e);if(a===47){if(s){i=e+1;break}continue}t<0&&(s=!0,t=e+1),a===46?r<0?r=e:o!==1&&(o=1):r>-1&&(o=-1)}return r<0||t<0||o===0||o===1&&r===t-1&&r===i+1?"":n.slice(r,t)}function wct(...n){let e=-1,t;for(;++e0&&n.codePointAt(n.length-1)===47&&(t+="/"),e?"/"+t:t}function xct(n,e){let t="",i=0,r=-1,o=0,s=-1,a,l;for(;++s<=n.length;){if(s2){if(l=t.lastIndexOf("/"),l!==t.length-1){l<0?(t="",i=0):(t=t.slice(0,l),i=t.length-1-t.lastIndexOf("/")),r=s,o=0;continue}}else if(t.length>0){t="",i=0,r=s,o=0;continue}}e&&(t=t.length>0?t+"/..":"..",i=2)}else t.length>0?t+="/"+n.slice(r+1,s):t=n.slice(r+1,s),i=s-r-1;r=s,o=0}else a===46&&o>-1?o++:o=-1}return t}function AF(n){if(typeof n!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(n))}const Lct={cwd:_ct};function _ct(){return"/"}function lH(n){return!!(n!==null&&typeof n=="object"&&"href"in n&&n.href&&"protocol"in n&&n.protocol&&n.auth===void 0)}function Fct(n){if(typeof n=="string")n=new URL(n);else if(!lH(n)){const e=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+n+"`");throw e.code="ERR_INVALID_ARG_TYPE",e}if(n.protocol!=="file:"){const e=new TypeError("The URL must be of scheme file");throw e.code="ERR_INVALID_URL_SCHEME",e}return Ict(n)}function Ict(n){if(n.hostname!==""){const i=new TypeError('File URL host must be "localhost" or empty on darwin');throw i.code="ERR_INVALID_FILE_URL_HOST",i}const e=n.pathname;let t=-1;for(;++t0){let[m,...f]=c;const g=i[h][1];aH(g)&&aH(m)&&(m=sH(!0,g,m)),i[h]=[u,m,...f]}}}}const Nct=new hH().freeze();function mH(n,e){if(typeof e!="function")throw new TypeError("Cannot `"+n+"` without `parser`")}function fH(n,e){if(typeof e!="function")throw new TypeError("Cannot `"+n+"` without `compiler`")}function gH(n,e){if(e)throw new Error("Cannot call `"+n+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function Rpe(n){if(!aH(n)||typeof n.type!="string")throw new TypeError("Expected node, got `"+n+"`")}function Vpe(n,e,t){if(!t)throw new Error("`"+n+"` finished async. Use `"+e+"` instead")}function CZ(n){return Tct(n)?n:new Zpe(n)}function Tct(n){return!!(n&&typeof n=="object"&&"message"in n&&"messages"in n)}function Ect(n){return typeof n=="string"||Zct(n)}function Zct(n){return!!(n&&typeof n=="object"&&"byteLength"in n&&"byteOffset"in n)}const Wct="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",Ape=[],Gpe={allowDangerousHtml:!0},Rct=/^(https?|ircs?|mailto|xmpp)$/i,Vct=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function Xpe(n){const e=n.allowedElements,t=n.allowElement,i=n.children||"",r=n.className,o=n.components,s=n.disallowedElements,a=n.rehypePlugins||Ape,l=n.remarkPlugins||Ape,u=n.remarkRehypeOptions?{...n.remarkRehypeOptions,...Gpe}:Gpe,c=n.skipHtml,d=n.unwrapDisallowed,h=n.urlTransform||Act,m=Nct().use(yut).use(l).use(fct,u).use(a),f=new Zpe;typeof i=="string"&&(f.value=i);for(const C of Vct)Object.hasOwn(n,C.from)&&(""+C.from+(C.to?"use `"+C.to+"` instead":"remove it")+Wct+C.id,void 0);const g=m.parse(f);let b=m.runSync(g,f);return r&&(b={type:"element",tagName:"div",properties:{className:r},children:b.type==="root"?b.children:[b]}),xpe(b,v),sat(b,{Fragment:yb.Fragment,components:o,ignoreInvalidStyle:!0,jsx:yb.jsx,jsxs:yb.jsxs,passKeys:!0,passNode:!0});function v(C,S,x){if(C.type==="raw"&&x&&typeof S=="number")return c?x.children.splice(S,1):x.children[S]={type:"text",value:C.value},S;if(C.type==="element"){let _;for(_ in Yz)if(Object.hasOwn(Yz,_)&&Object.hasOwn(C.properties,_)){const F=C.properties[_],D=Yz[_];(D===null||D.includes(C.tagName))&&(C.properties[_]=h(String(F||""),_,C))}}if(C.type==="element"){let _=e?!e.includes(C.tagName):s?s.includes(C.tagName):!1;if(!_&&t&&typeof S=="number"&&(_=!t(C,S,x)),_&&x&&typeof S=="number")return d&&C.children?x.children.splice(S,1,...C.children):x.children.splice(S,1),S}}}function Act(n){const e=n.indexOf(":"),t=n.indexOf("?"),i=n.indexOf("#"),r=n.indexOf("/");return e<0||r>-1&&e>r||t>-1&&e>t||i>-1&&e>i||Rct.test(n.slice(0,e))?n:""}const GF=({title:n,children:e})=>{const t=lo();return Gt("div",{css:ON({position:"relative",fontSize:Xi.fontSize.xs,"& + &":{marginTop:"1em"}},"",""),children:[n&&se("h3",{style:{position:"relative",fontSize:Xi.fontSize.s,margin:"0 0 1em",color:t.color.primary,padding:"0.5em 0",borderBottom:`1px solid ${t.color.border}`},children:n}),se("div",{children:e})]})};function Ppe(n){const e=/^([^<>]+)(<(.+)>)?$/.exec(n);return e?Gt("span",{children:[e[1],se("small",{style:{opacity:bH,fontWeight:"normal"},children:e[2]})]}):null}function Gct(n,e,t){return e||t?`${n}<${[t,e].filter(i=>i).join(",")}>`:n||"any"}function aS(n,e){return n.type==="array"&&n.items?`[${n.minItems&&n.minItems===n.maxItems?n.minItems:""}]${aS(n.items,e||n["x-id"])}`:Gct(n.type,n.format||"",n["x-id"]||e)}function pH(n){let e={};if(n["x-enum-options"]){const t=n["x-enum-options"]||[];MB(t,i=>{e[i.value]=i.label})}else n["x-enum-varnames"]&&(e=bh(n["x-enum-varnames"],(t,i,r)=>{var o;return{...t,[n.enum[r]]:((o=n["x-enum-comments"])==null?void 0:o[i])||i}},{}));return e}function Xct(n){return O$e(["maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","maxItems","minItems","maxProperties","minProperties"],e=>bd(n,e))}function Pct(n){return bd(n,"minProperties")?n.minProperties:bd(n,"minItems")?n.minItems:bd(n,"minimum")?n.minimum:bd(n,"minLength")?n.minLength:n.type==="string"?"0":(n.type==="number"||n.type==="integer")&&n.format?Math.pow(2,Number(Zw(n.format,/[^0-9]/g,""))-1)-1:"-∞"}function Oct(n){return bd(n,"maxProperties")?n.maxProperties:bd(n,"maxItems")?n.maxItems:bd(n,"maximum")?n.maximum:bd(n,"maxLength")?n.maxLength:n.type==="string"&&n.format==="uint64"?"19":(n.type==="number"||n.type==="integer")&&n.format?Math.pow(2,Number(Zw(n.format,/[^0-9]/g,""))-1)-1:"+∞"}function wZ(n){return n["x-tag-validate"]?n["x-tag-validate"]:Xct(n)?n.pattern?`@r/${n.pattern}/`:`@${n.exclusiveMinimum?"(":"["}${Pct(n)},${Oct(n)}${n.exclusiveMaximum?")":"]"}`:""}function SZ(n){return n.default?` = ${n.type==="string"?JSON.stringify(n.default):n.default}`:""}function Ope(n){return n.enum?Gt("div",{children:[Ppe(aS(n)),se("div",{style:{fontSize:"0.8em",paddingLeft:"1em",paddingBottom:"0.6em"},children:xo(pH(n),(e,t)=>Gt("div",{style:{display:"flex",lineHeight:1.4,opacity:bH},children:[se("span",{children:t}),se("span",{style:{fontWeight:"normal",marginLeft:"1em"},children:`// ${e}`})]},t))})]}):Gt("span",{children:[Ppe(aS(n)),Gt("span",{children:[wZ(n),SZ(n)]})]})}const XF=n=>n.type==="object"||bd(n,"properties"),PF=n=>n.type==="array"||bd(n,"items");function Wm(n,e){if(Is(n))return{};if(bd(n,"allOf"))return bh(n.allOf,(t,i)=>{const r={...t||{}},o=Wm(i,e);return MB(o,(s,a)=>{switch(a){case"properties":r[a]={...r[a],...s||{}};break;case"required":r[a]=K$e((r[a]||[]).concat(s));break;default:r[a]=s}}),r},{});if(Jde(n.$ref,"#/components/schemas/")){const t=Zw(n.$ref,"#/components/schemas/","")||n["x-id"];if(e[t])return{...n,...Wm(e[t],e),"x-id":t,$ref:void 0}}if(XF(n)){const t=k$e(n.properties,i=>Wm(i,e));if(fs(n.additionalProperties)){const i=Wm(n.additionalProperties,e);if(fs(n.propertyNames)){const r=Wm(n.propertyNames,e);return{...n,additionalProperties:i,propertyNames:r}}return{...n,additionalProperties:i}}return{...n,properties:t}}return PF(n)?{...n,items:Wm(n.items,e)}:n}const bH=.6;function Bct({deprecated:n,required:e,children:t}){const i=lo();return Gt(wc,{children:[se("span",{css:[{color:i.color.textLight,fontWeight:500},n&&{textDecoration:"line-through"},"",""],children:t}),!e&&se("span",{style:{fontWeight:700,fontSize:Xi.fontSize.xs,color:i.color.text},children:"?"})]})}function zct(n,e,t={}){if(n)return se(Bct,{required:e,deprecated:t.deprecated,children:n})}const vH=n=>{const e=lo();return se("span",{...n,style:{display:"block",fontWeight:"bold",marginBottom:14,color:e.color.title}})},Hct=n=>se(vH,{children:n});var Yct={name:"1ww443i",styles:"max-width:200px"};function Bpe({desc:n,prefix:e,ishighLightDesc:t,isBreakWord:i}){const r=lo(),o=(n||"").split(` +`}),t}function _pe(n){let e=0,t=n.charCodeAt(e);for(;t===9||t===32;)e++,t=n.charCodeAt(e);return n.slice(e)}function Lpe(n,e){const t=uct(n,e),i=t.one(n,void 0),r=$ut(t),o=Array.isArray(i)?{type:"root",children:i}:i||{type:"root",children:[]};return r&&o.children.push({type:"text",value:` +`},r),o}function fct(n,e){return n&&"run"in n?async function(t,i){const r=Lpe(t,{file:i,...e});await n.run(r,i)}:function(t,i){return Lpe(t,{file:i,...e||n})}}function Ipe(n){if(n)throw n}var vR=Object.prototype.hasOwnProperty,Fpe=Object.prototype.toString,Dpe=Object.defineProperty,Npe=Object.getOwnPropertyDescriptor,Mpe=function(e){return typeof Array.isArray=="function"?Array.isArray(e):Fpe.call(e)==="[object Array]"},kpe=function(e){if(!e||Fpe.call(e)!=="[object Object]")return!1;var t=vR.call(e,"constructor"),i=e.constructor&&e.constructor.prototype&&vR.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!t&&!i)return!1;var r;for(r in e);return typeof r>"u"||vR.call(e,r)},Tpe=function(e,t){Dpe&&t.name==="__proto__"?Dpe(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},Epe=function(e,t){if(t==="__proto__")if(vR.call(e,t)){if(Npe)return Npe(e,t).value}else return;return e[t]},gct=function n(){var e,t,i,r,o,s,a=arguments[0],l=1,u=arguments.length,c=!1;for(typeof a=="boolean"&&(c=a,a=arguments[1]||{},l=2),(a==null||typeof a!="object"&&typeof a!="function")&&(a={});ls.length;let l;a&&s.push(r);try{l=n.apply(this,s)}catch(u){const c=u;if(a&&t)throw c;return r(c)}a||(l&&l.then&&typeof l.then=="function"?l.then(o,r):l instanceof Error?r(l):o(l))}function r(s,...a){t||(t=!0,e(s,...a))}function o(s){r(null,s)}}const Rm={basename:yct,dirname:vct,extname:Cct,join:Sct,sep:"/"};function yct(n,e){if(e!==void 0&&typeof e!="string")throw new TypeError('"ext" argument must be a string');VI(n);let t=0,i=-1,r=n.length,o;if(e===void 0||e.length===0||e.length>n.length){for(;r--;)if(n.codePointAt(r)===47){if(o){t=r+1;break}}else i<0&&(o=!0,i=r+1);return i<0?"":n.slice(t,i)}if(e===n)return"";let s=-1,a=e.length-1;for(;r--;)if(n.codePointAt(r)===47){if(o){t=r+1;break}}else s<0&&(o=!0,s=r+1),a>-1&&(n.codePointAt(r)===e.codePointAt(a--)?a<0&&(i=r):(a=-1,i=s));return t===i?i=s:i<0&&(i=n.length),n.slice(t,i)}function vct(n){if(VI(n),n.length===0)return".";let e=-1,t=n.length,i;for(;--t;)if(n.codePointAt(t)===47){if(i){e=t;break}}else i||(i=!0);return e<0?n.codePointAt(0)===47?"/":".":e===1&&n.codePointAt(0)===47?"//":n.slice(0,e)}function Cct(n){VI(n);let e=n.length,t=-1,i=0,r=-1,o=0,s;for(;e--;){const a=n.codePointAt(e);if(a===47){if(s){i=e+1;break}continue}t<0&&(s=!0,t=e+1),a===46?r<0?r=e:o!==1&&(o=1):r>-1&&(o=-1)}return r<0||t<0||o===0||o===1&&r===t-1&&r===i+1?"":n.slice(r,t)}function Sct(...n){let e=-1,t;for(;++e0&&n.codePointAt(n.length-1)===47&&(t+="/"),e?"/"+t:t}function xct(n,e){let t="",i=0,r=-1,o=0,s=-1,a,l;for(;++s<=n.length;){if(s2){if(l=t.lastIndexOf("/"),l!==t.length-1){l<0?(t="",i=0):(t=t.slice(0,l),i=t.length-1-t.lastIndexOf("/")),r=s,o=0;continue}}else if(t.length>0){t="",i=0,r=s,o=0;continue}}e&&(t=t.length>0?t+"/..":"..",i=2)}else t.length>0?t+="/"+n.slice(r+1,s):t=n.slice(r+1,s),i=s-r-1;r=s,o=0}else a===46&&o>-1?o++:o=-1}return t}function VI(n){if(typeof n!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(n))}const _ct={cwd:Lct};function Lct(){return"/"}function lH(n){return!!(n!==null&&typeof n=="object"&&"href"in n&&n.href&&"protocol"in n&&n.protocol&&n.auth===void 0)}function Ict(n){if(typeof n=="string")n=new URL(n);else if(!lH(n)){const e=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+n+"`");throw e.code="ERR_INVALID_ARG_TYPE",e}if(n.protocol!=="file:"){const e=new TypeError("The URL must be of scheme file");throw e.code="ERR_INVALID_URL_SCHEME",e}return Fct(n)}function Fct(n){if(n.hostname!==""){const i=new TypeError('File URL host must be "localhost" or empty on darwin');throw i.code="ERR_INVALID_FILE_URL_HOST",i}const e=n.pathname;let t=-1;for(;++t0){let[m,...f]=c;const g=i[h][1];aH(g)&&aH(m)&&(m=sH(!0,g,m)),i[h]=[u,m,...f]}}}}const kct=new hH().freeze();function mH(n,e){if(typeof e!="function")throw new TypeError("Cannot `"+n+"` without `parser`")}function fH(n,e){if(typeof e!="function")throw new TypeError("Cannot `"+n+"` without `compiler`")}function gH(n,e){if(e)throw new Error("Cannot call `"+n+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function Wpe(n){if(!aH(n)||typeof n.type!="string")throw new TypeError("Expected node, got `"+n+"`")}function Ape(n,e,t){if(!t)throw new Error("`"+n+"` finished async. Use `"+e+"` instead")}function CR(n){return Tct(n)?n:new Rpe(n)}function Tct(n){return!!(n&&typeof n=="object"&&"message"in n&&"messages"in n)}function Ect(n){return typeof n=="string"||Rct(n)}function Rct(n){return!!(n&&typeof n=="object"&&"byteLength"in n&&"byteOffset"in n)}const Zct="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",Vpe=[],Gpe={allowDangerousHtml:!0},Wct=/^(https?|ircs?|mailto|xmpp)$/i,Act=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function Xpe(n){const e=n.allowedElements,t=n.allowElement,i=n.children||"",r=n.className,o=n.components,s=n.disallowedElements,a=n.rehypePlugins||Vpe,l=n.remarkPlugins||Vpe,u=n.remarkRehypeOptions?{...n.remarkRehypeOptions,...Gpe}:Gpe,c=n.skipHtml,d=n.unwrapDisallowed,h=n.urlTransform||Vct,m=kct().use(vut).use(l).use(fct,u).use(a),f=new Rpe;typeof i=="string"&&(f.value=i);for(const C of Act)Object.hasOwn(n,C.from)&&(""+C.from+(C.to?"use `"+C.to+"` instead":"remove it")+Zct+C.id,void 0);const g=m.parse(f);let b=m.runSync(g,f);return r&&(b={type:"element",tagName:"div",properties:{className:r},children:b.type==="root"?b.children:[b]}),xpe(b,y),sat(b,{Fragment:vb.Fragment,components:o,ignoreInvalidStyle:!0,jsx:vb.jsx,jsxs:vb.jsxs,passKeys:!0,passNode:!0});function y(C,w,x){if(C.type==="raw"&&x&&typeof w=="number")return c?x.children.splice(w,1):x.children[w]={type:"text",value:C.value},w;if(C.type==="element"){let L;for(L in Yz)if(Object.hasOwn(Yz,L)&&Object.hasOwn(C.properties,L)){const I=C.properties[L],D=Yz[L];(D===null||D.includes(C.tagName))&&(C.properties[L]=h(String(I||""),L,C))}}if(C.type==="element"){let L=e?!e.includes(C.tagName):s?s.includes(C.tagName):!1;if(!L&&t&&typeof w=="number"&&(L=!t(C,w,x)),L&&x&&typeof w=="number")return d&&C.children?x.children.splice(w,1,...C.children):x.children.splice(w,1),w}}}function Vct(n){const e=n.indexOf(":"),t=n.indexOf("?"),i=n.indexOf("#"),r=n.indexOf("/");return e<0||r>-1&&e>r||t>-1&&e>t||i>-1&&e>i||Wct.test(n.slice(0,e))?n:""}const GI=({title:n,children:e})=>{const t=lo();return Gt("div",{css:Ok({position:"relative",fontSize:Er.fontSize.xs,"& + &":{marginTop:"1em"}},"",""),children:[n&&se("h3",{style:{position:"relative",margin:"0 0 1em",color:t.color.primary,padding:"0.5em 0",borderBottom:`1px solid ${t.color.border}`},children:n}),se("div",{children:e})]})};function Ppe(n){const e=/^([^<>]+)(<(.+)>)?$/.exec(n);return e?Gt("span",{children:[e[1],se("small",{style:{opacity:bH,fontWeight:"normal"},children:e[2]})]}):null}function Gct(n,e,t){return e||t?`${n}<${[t,e].filter(i=>i).join(",")}>`:n||"any"}function aw(n,e){return n.type==="array"&&n.items?`[${n.minItems&&n.minItems===n.maxItems?n.minItems:""}]${aw(n.items,e||n["x-id"])}`:Gct(n.type,n.format||"",n["x-id"]||e)}function pH(n){let e={};if(n["x-enum-options"]){const t=n["x-enum-options"]||[];NB(t,i=>{e[i.value]=i.label})}else n["x-enum-varnames"]&&(e=ph(n["x-enum-varnames"],(t,i,r)=>{var o;return{...t,[n.enum[r]]:((o=n["x-enum-comments"])==null?void 0:o[i])||i}},{}));return e}function Xct(n){return O$e(["maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","maxItems","minItems","maxProperties","minProperties"],e=>pd(n,e))}function Pct(n){return pd(n,"minProperties")?n.minProperties:pd(n,"minItems")?n.minItems:pd(n,"minimum")?n.minimum:pd(n,"minLength")?n.minLength:n.type==="string"?"0":(n.type==="number"||n.type==="integer")&&n.format?Math.pow(2,Number(RS(n.format,/[^0-9]/g,""))-1)-1:"-∞"}function Oct(n){return pd(n,"maxProperties")?n.maxProperties:pd(n,"maxItems")?n.maxItems:pd(n,"maximum")?n.maximum:pd(n,"maxLength")?n.maxLength:n.type==="string"&&n.format==="uint64"?"19":(n.type==="number"||n.type==="integer")&&n.format?Math.pow(2,Number(RS(n.format,/[^0-9]/g,""))-1)-1:"+∞"}function SR(n){return n["x-tag-validate"]?n["x-tag-validate"]:Xct(n)?n.pattern?`@r/${n.pattern}/`:`@${n.exclusiveMinimum?"(":"["}${Pct(n)},${Oct(n)}${n.exclusiveMaximum?")":"]"}`:""}function wR(n){return n.default?` = ${n.type==="string"?JSON.stringify(n.default):n.default}`:""}function Ope(n){return n.enum?Gt("div",{children:[Ppe(aw(n)),se("div",{style:{fontSize:Er.fontSize.xs,paddingLeft:"1em",paddingBottom:"0.6em"},children:xo(pH(n),(e,t)=>Gt("div",{style:{display:"flex",lineHeight:1.4,opacity:bH},children:[se("span",{children:t}),se("span",{style:{fontWeight:"normal",marginLeft:"1em"},children:`// ${e}`})]},t))})]}):Gt("span",{children:[Ppe(aw(n)),Gt("span",{children:[SR(n),wR(n)]})]})}const XI=n=>n.type==="object"||pd(n,"properties"),PI=n=>n.type==="array"||pd(n,"items");function Zm(n,e){if(Fs(n))return{};if(pd(n,"allOf"))return ph(n.allOf,(t,i)=>{const r={...t||{}},o=Zm(i,e);return NB(o,(s,a)=>{switch(a){case"properties":r[a]={...r[a],...s||{}};break;case"required":r[a]=K$e((r[a]||[]).concat(s));break;default:r[a]=s}}),r},{});if(Jde(n.$ref,"#/components/schemas/")){const t=RS(n.$ref,"#/components/schemas/","")||n["x-id"];if(e[t])return{...n,...Zm(e[t],e),"x-id":t,$ref:void 0}}if(XI(n)){const t=M$e(n.properties,i=>Zm(i,e));if(fs(n.additionalProperties)){const i=Zm(n.additionalProperties,e);if(fs(n.propertyNames)){const r=Zm(n.propertyNames,e);return{...n,additionalProperties:i,propertyNames:r}}return{...n,additionalProperties:i}}return{...n,properties:t}}return PI(n)?{...n,items:Zm(n.items,e)}:n}const bH=.6;function Bct({deprecated:n,required:e,children:t}){const i=lo();return Gt(Sc,{children:[se("span",{css:[{color:i.color.textLight,fontWeight:500},n&&{textDecoration:"line-through"},"",""],children:t}),!e&&se("span",{style:{fontWeight:700,color:i.color.text},children:"?"})]})}function zct(n,e,t={}){if(n)return se(Bct,{required:e,deprecated:t.deprecated,children:n})}const yH=n=>{const e=lo();return se("span",{...n,style:{display:"block",fontWeight:"bold",marginBottom:16,color:e.color.title}})},Hct=n=>se(yH,{children:n});var Yct={name:"1ww443i",styles:"max-width:200px"};function Bpe({desc:n,prefix:e,ishighLightDesc:t,isBreakWord:i}){const r=lo(),o=(n||"").split(` `),s={position:"relative",whiteSpace:"nowrap",color:t?r.color.title:r.color.textLight};if(o.length>1){const a=o[0];return o.shift(),se(sg,{style:{userSelect:"auto"},title:se(Xpe,{css:Yct,children:o.join(` -`)}),children:Gt("span",{style:s,children:[Gt("span",{children:[e,a]}),se("span",{style:{display:"inline-block",marginLeft:"0.5em",width:"1em",height:"1em",textAlign:"center",lineHeight:"1em",borderRadius:"100%",backgroundColor:r.color.primary,color:r.color.bg},children:"?"})]})})}return Gt("span",{style:{...s,whiteSpace:i?"break-spaces":"nowrap",textAlign:"right"},children:[e,n]})}function yH(n){const{schema:e,name:t,required:i,nameRenderer:r=zct,typeRenderer:o=Hct}=n;return Gt("span",{style:{fontSize:Xi.fontSize.xs,position:"relative",display:"flex",whiteSpace:"nowrap",lineHeight:1.4},children:[t&&se("span",{style:{display:"block",position:"relative",paddingRight:"0.5em"},children:r(t,!!i,e)}),e.description&&se("span",{style:{display:"block",position:"absolute",top:"-10px",left:0,lineHeight:1,fontSize:Xi.fontSize.xxs},children:se(Bpe,{desc:e.description,prefix:"// "})}),se("span",{style:{display:"block"},children:o(Ope(e),e)})]})}function Uct({title:n,isStruct:e,children:t}){const{t:i}=zs(),r=lo(),[o,s]=w.useState(!0);return Gt(wc,{children:[Gt(vH,{children:[n,e&&se("a",{style:{fontSize:Xi.fontSize.xxs,marginLeft:4,color:r.color.primary},onClick:()=>s(!o),children:i(o?"openapi.collapse":"openapi.expand")})]}),se("div",{style:o?{}:{height:0,overflow:"hidden",opacity:0},children:t})]})}function xZ(n,e,t){return PF(n)?se(yH,{name:e,required:t,schema:n,typeRenderer:()=>se("span",{children:Gt("span",{style:{display:"flex"},children:[Gt(vH,{children:["[",n.maxItems&&n.maxItems===n.minItems?n.minItems:"","]"]}),xZ(n.items||{},void 0,void 0)]})})},e):XF(n)?se(yH,{name:e,required:t,schema:n,typeRenderer:i=>{const r=fs(n.additionalProperties);return se("div",{style:r?{display:"flex"}:{},children:se(Uct,{isStruct:!Is(n.properties),title:se(wc,{children:r?Gt("span",{children:[se("span",{children:"map["}),Ope(n.propertyNames||{type:"string"}),se("span",{children:"]"})]}):Gt("span",{children:[i,se("small",{style:{opacity:bH,fontWeight:"normal"},children:"{}"})]})}),children:se("div",{children:r?se(wc,{children:xZ(n.additionalProperties)}):se(wc,{children:xo(NB(pd(n.properties||{})),o=>{const s=(n.properties||{})[o];return se("span",{style:{display:"block",position:"relative",padding:"0 1em"},children:xZ(s,o,Iu(n.required||[],o))},o)})})})})})}},e):se(yH,{name:e,required:t,schema:n},e)}function zpe({schema:n,schemas:e}){if(Is(n))return null;const t=Wm(n,e);return se("div",{style:{padding:"1.4em 1em",overflowX:"auto"},children:xZ(t)})}function Kct({operation:n}){const{openapiWithServiceInfo:e}=Sm();return e?se("div",{children:xo(n.responses,(t,i)=>{var o;const r=((o=e.openapi.components)==null?void 0:o.schemas)||{};if(Is(r))return null;if(t.$ref){const s=Zw(t.$ref,"#/responses/","");return se(Hpe,{code:i,response:e.openapi.responses[s]||{},schemas:r},i)}return se(Hpe,{code:i,response:t,schemas:r},i)})}):null}function Hpe({code:n,response:e,schemas:t}){const i=lo(),r=nst(e["x-status-errors"]);return Gt("div",{style:{padding:"0.5em 0",borderBottom:`1px solid ${i.color.border}`,display:"flex",alignItems:"flex-start",lineHeight:2},children:[Gt("div",{style:{flex:1,display:"flex",alignItems:"flex-start"},children:[se("div",{children:se(Ype,{code:n})}),Gt("div",{style:{flex:1,marginLeft:"0.5em"},children:[se("div",{style:{color:i.color.title},children:ist(e.description)}),se(Jct,{httpErrorList:r})]})]}),se("div",{style:{width:"70%"},children:!!e.content&&xo(e.content,(o,s)=>Gt("div",{style:{position:"relative",padding:"0.4em 0.6em",width:"100%",overflow:"auto"},children:[se("div",{style:{color:i.color.textLight,fontSize:Xi.fontSize.xs,textAlign:"right"},children:s}),se(zpe,{schema:o.schema,schemas:t})]},s))})]})}function Ype({code:n}){return se("div",{style:{fontWeight:"bold",color:rst(n)},children:n})}function Jct({httpErrorList:n}){const e=lo();return se("div",{children:xo(NB(n,"name"),(t,i)=>Gt("div",{children:[Gt("div",{style:{color:e.color.title,fontWeight:"bold",marginRight:"0.5em",textDecoration:t.canBeTalkError?"underline":"none"},children:[t.name,se("small",{style:{opacity:.6,marginLeft:"0.5em",fontWeight:"bold"},children:t.code})]}),se("small",{style:{lineHeight:1,display:"block",color:e.color.title},children:t.msg})]},`${t.code}${i}`))})}function jct(n,e={}){return Zw(n,/{([\s\S]+?)}/g,(t,i)=>[].concat(e[i]??t).join(","))}function Upe(n){return e=>wb(e,t=>t.in===n)}function Qct(n){return e=>xo(Upe(n)(e),t=>t.name)}function $ct(n,e){return bh(Upe(n)(e),(t,i)=>{var r;return{...t,[String(i.name)]:(r=i.schema)==null?void 0:r.default}},{})}function Kpe(n,e,t){return{...$ct(n,e),...kB(t,Qct(n)(e))}}const Jpe=(n="")=>n.includes("multipart/form-data"),jpe=(n="")=>n.includes("application/x-www-form-urlencoded"),qct=n=>n.requestBody?zde(pd(lge(n.requestBody)))||"":zde(n.produces||[])||"",edt=(n,e)=>(t={})=>{var o,s,a,l,u;const i={method:n.method,url:n.basePath+jct(n.path||"",t),params:Kpe("query",n.parameters||[],t),headers:x5(Kpe("header",n.parameters||[],t),c=>!Ude(c))};(o=i.headers)!=null&&o.Referer&&delete i.headers.Referer,t.body&&(i.data=t.body);let r=qct(n)||"application/json";if(jpe(r)||Jpe(r)){const c=Wm((l=(a=(s=n.requestBody)==null?void 0:s.content)==null?void 0:a[r])==null?void 0:l.schema,(u=e==null?void 0:e.components)==null?void 0:u.schemas);i.data=kB(t,pd(c==null?void 0:c.properties)),e!=null&&e["x-original-swagger-version"]&&(r="multipart/form-data")}return i.data&&(i.headers={...i.headers,"Content-Type":r+";charset=UTF-8"}),i};function tdt(){return{"User-Agent":globalThis.navigator.userAgent,Referer:`${globalThis.location.origin}${globalThis.location.pathname}`}}function ndt(n){return kB(n,NB(pd(n)))}function Qpe({field:n,value:e}){return Gt("span",{style:{display:"block"},children:[Gt("span",{style:{fontWeight:"bold",marginRight:"0.5em"},children:[n,":"]}),Gt("span",{children:[e,"   "]})]})}function idt(n){const e=Z$e(n,Ude);return Is(e)?"":Nb(e)}function rdt(n,e){const t=x5(e,i=>!!i);return`${n}${idt(t)}`}function odt({method:n,url:e,baseURL:t,params:i}){return Gt("span",{style:{fontWeight:"bold"},children:[jde(n),"  ",se("span",{style:{fontWeight:"normal"},children:rdt((t||"")+e,i)}),"  HTTP/1.1   "]})}const LZ={borderRadius:6,padding:"6px 8px",overflowX:"auto"};function $pe({request:n={}}){const e=lo();return Gt("div",{style:{...LZ,color:e.color.menuItem,backgroundColor:e.color.primaryLight,whiteSpace:"nowrap"},children:[se("div",{children:se(odt,{params:n.params,method:n.method,baseURL:n.baseURL,url:n.url})}),se("div",{style:{marginTop:12},children:xo(ndt(pde(tdt(),n.headers)),(t,i)=>se(Qpe,{field:i,value:t},i))})]})}function sdt(n){const{url:e="",method:t=vh.post,headers:i,data:r,params:o}=n;let s="",a="",l="",u="",c="";if(e.startsWith("http")?s=e:s=new URL(e,globalThis.location.href).href,Is(o)||(s=`${s}${Nb(o)}`),a=`curl -X ${t.toUpperCase()} '${s}' \\ +`)}),children:Gt("span",{style:s,children:[Gt("span",{children:[e,a]}),se("span",{style:{display:"inline-block",marginLeft:"0.5em",width:"1em",height:"1em",textAlign:"center",lineHeight:"1em",borderRadius:"100%",backgroundColor:r.color.primary,color:r.color.bg},children:"?"})]})})}return Gt("span",{style:{...s,whiteSpace:i?"break-spaces":"nowrap",textAlign:"right"},children:[e,n]})}function vH(n){const{schema:e,name:t,required:i,nameRenderer:r=zct,typeRenderer:o=Hct}=n;return Gt("span",{style:{fontSize:Er.fontSize.s,position:"relative",display:"flex",whiteSpace:"nowrap",lineHeight:1.4},children:[t&&se("span",{style:{display:"block",position:"relative",paddingRight:"0.5em"},children:r(t,!!i,e)}),e.description&&se("span",{style:{display:"block",position:"absolute",top:"-10px",left:0,lineHeight:1,fontSize:Er.fontSize.xs},children:se(Bpe,{desc:e.description,prefix:"// "})}),se("span",{style:{display:"block"},children:o(Ope(e),e)})]})}function Uct({title:n,isStruct:e,children:t}){const{t:i}=zs(),r=lo(),[o,s]=S.useState(!0);return Gt(Sc,{children:[Gt(yH,{children:[n,e&&se("a",{style:{fontSize:Er.fontSize.xxs,marginLeft:4,color:r.color.primary},onClick:()=>s(!o),children:i(o?"openapi.collapse":"openapi.expand")})]}),se("div",{style:o?{}:{height:0,overflow:"hidden",opacity:0},children:t})]})}function xR(n,e,t){return PI(n)?se(vH,{name:e,required:t,schema:n,typeRenderer:()=>se("span",{children:Gt("span",{style:{display:"flex"},children:[Gt(yH,{children:["[",n.maxItems&&n.maxItems===n.minItems?n.minItems:"","]"]}),xR(n.items||{},void 0,void 0)]})})},e):XI(n)?se(vH,{name:e,required:t,schema:n,typeRenderer:i=>{const r=fs(n.additionalProperties);return se("div",{style:r?{display:"flex"}:{},children:se(Uct,{isStruct:!Fs(n.properties),title:se(Sc,{children:r?Gt("span",{children:[se("span",{children:"map["}),Ope(n.propertyNames||{type:"string"}),se("span",{children:"]"})]}):Gt("span",{children:[i,se("small",{style:{opacity:bH,fontWeight:"normal"},children:"{}"})]})}),children:se("div",{children:r?se(Sc,{children:xR(n.additionalProperties)}):se(Sc,{children:xo(kB(gd(n.properties||{})),o=>{const s=(n.properties||{})[o];return se("span",{style:{display:"block",position:"relative",padding:"0 1em"},children:xR(s,o,Fu(n.required||[],o))},o)})})})})})}},e):se(vH,{name:e,required:t,schema:n},e)}function zpe({schema:n,schemas:e}){if(Fs(n))return null;const t=Zm(n,e);return se("div",{style:{padding:"1.4em 1em",overflowX:"auto"},children:xR(t)})}function Kct({operation:n}){const{openapiWithServiceInfo:e}=wm();return e?se("div",{children:xo(n.responses,(t,i)=>{var o;const r=((o=e.openapi.components)==null?void 0:o.schemas)||{};if(Fs(r))return null;if(t.$ref){const s=RS(t.$ref,"#/responses/","");return se(Hpe,{code:i,response:e.openapi.responses[s]||{},schemas:r},i)}return se(Hpe,{code:i,response:t,schemas:r},i)})}):null}function Hpe({code:n,response:e,schemas:t}){const i=lo(),r=nst(e["x-status-errors"]);return Gt("div",{style:{padding:"0.5em 0",borderBottom:`1px solid ${i.color.border}`,display:"flex",alignItems:"flex-start",lineHeight:2},children:[Gt("div",{style:{flex:1,display:"flex",alignItems:"flex-start"},children:[se("div",{children:se(Ype,{code:n})}),Gt("div",{style:{flex:1,marginLeft:"0.5em"},children:[se("div",{style:{color:i.color.title},children:ist(e.description)}),se(Jct,{httpErrorList:r})]})]}),se("div",{style:{width:"70%"},children:!!e.content&&xo(e.content,(o,s)=>Gt("div",{style:{position:"relative",padding:"0.4em 0.6em",width:"100%",overflow:"auto"},children:[se("div",{style:{color:i.color.textLight,fontSize:Er.fontSize.xs,textAlign:"right"},children:s}),se(zpe,{schema:o.schema,schemas:t})]},s))})]})}function Ype({code:n}){return se("div",{style:{fontWeight:"bold",color:rst(n)},children:n})}function Jct({httpErrorList:n}){const e=lo();return se("div",{children:xo(kB(n,"name"),(t,i)=>Gt("div",{children:[Gt("div",{style:{color:e.color.title,fontWeight:"bold",marginRight:"0.5em",textDecoration:t.canBeTalkError?"underline":"none"},children:[t.name,se("small",{style:{opacity:.6,marginLeft:"0.5em",fontWeight:"bold"},children:t.code})]}),se("small",{style:{lineHeight:1,display:"block",color:e.color.title},children:t.msg})]},`${t.code}${i}`))})}function jct(n,e={}){return RS(n,/{([\s\S]+?)}/g,(t,i)=>[].concat(e[i]??t).join(","))}function Upe(n){return e=>Sb(e,t=>t.in===n)}function Qct(n){return e=>xo(Upe(n)(e),t=>t.name)}function $ct(n,e){return ph(Upe(n)(e),(t,i)=>{var r;return{...t,[String(i.name)]:(r=i.schema)==null?void 0:r.default}},{})}function Kpe(n,e,t){return{...$ct(n,e),...MB(t,Qct(n)(e))}}const Jpe=(n="")=>n.includes("multipart/form-data"),jpe=(n="")=>n.includes("application/x-www-form-urlencoded"),qct=n=>n.requestBody?zde(gd(lge(n.requestBody)))||"":zde(n.produces||[])||"",edt=(n,e)=>(t={})=>{var o,s,a,l,u;const i={method:n.method,url:n.basePath+jct(n.path||"",t),params:Kpe("query",n.parameters||[],t),headers:x5(Kpe("header",n.parameters||[],t),c=>!Ude(c))};(o=i.headers)!=null&&o.Referer&&delete i.headers.Referer,t.body&&(i.data=t.body);let r=qct(n)||"application/json";if(jpe(r)||Jpe(r)){const c=Zm((l=(a=(s=n.requestBody)==null?void 0:s.content)==null?void 0:a[r])==null?void 0:l.schema,(u=e==null?void 0:e.components)==null?void 0:u.schemas);i.data=MB(t,gd(c==null?void 0:c.properties)),e!=null&&e["x-original-swagger-version"]&&(r="multipart/form-data")}return i.data&&(i.headers={...i.headers,"Content-Type":r+";charset=UTF-8"}),i};function tdt(){return{"User-Agent":globalThis.navigator.userAgent,Referer:`${globalThis.location.origin}${globalThis.location.pathname}`}}function ndt(n){return MB(n,kB(gd(n)))}function Qpe({field:n,value:e}){return Gt("span",{style:{display:"block"},children:[Gt("span",{style:{fontWeight:"bold",marginRight:"0.5em"},children:[n,":"]}),Gt("span",{children:[e,"   "]})]})}function idt(n){const e=R$e(n,Ude);return Fs(e)?"":kb(e)}function rdt(n,e){const t=x5(e,i=>!!i);return`${n}${idt(t)}`}function odt({method:n,url:e,baseURL:t,params:i}){return Gt("span",{style:{fontWeight:"bold"},children:[jde(n),"  ",se("span",{style:{fontWeight:"normal"},children:rdt((t||"")+e,i)}),"  HTTP/1.1   "]})}const _R={borderRadius:6,padding:"6px 8px",overflowX:"auto"};function $pe({request:n={}}){const e=lo();return Gt("div",{style:{..._R,color:e.color.menuItem,backgroundColor:e.color.primaryLight,whiteSpace:"nowrap"},children:[se("div",{children:se(odt,{params:n.params,method:n.method,baseURL:n.baseURL,url:n.url})}),se("div",{style:{marginTop:12},children:xo(ndt(pde(tdt(),n.headers)),(t,i)=>se(Qpe,{field:i,value:t},i))})]})}function sdt(n){const{url:e="",method:t=yh.post,headers:i,data:r,params:o}=n;let s="",a="",l="",u="",c="";if(e.startsWith("http")?s=e:s=new URL(e,globalThis.location.href).href,Fs(o)||(s=`${s}${kb(o)}`),a=`curl -X ${t.toUpperCase()} '${s}' \\ `,l=xo(i,(d,h)=>` -H '${h}: ${d}'`).join(` \\ `),l&&(l=`${l} \\ `),r instanceof URLSearchParams)u=` -d ${r.toString()} \\ `;else if(r instanceof File)u=` --data-binary @${r.name} \\ -`;else if(r instanceof FormData)c=bh(Array.from(r),(d,[h,m])=>{if(m instanceof File)return[...d,` -F '${h}=@${m.name}' \\ +`;else if(r instanceof FormData)c=ph(Array.from(r),(d,[h,m])=>{if(m instanceof File)return[...d,` -F '${h}=@${m.name}' \\ `];const f=m.match(/([^,],)/gm);if(f){const g=xo(f,b=>` -F '${h}[]=${b}' \\ `);return[...d,...g]}return[...d,` -F '${h}=${m}' \\ `]},[]).join(` \\ `);else if(r instanceof Object)try{u=` -d '${JSON.stringify(r)}' \\ -`}catch{}return`${a}${l}${u}${c} --compressed`}function qpe({request:n}){const{t:e}=zs(),t=lo(),i=sdt(n);return Gt("div",{children:[se("div",{children:se(jr,{type:"primary",size:"small",style:{fontSize:Xi.fontSize.xxs},onClick:()=>{EO(i),tu.success(e("openapi.copySuccess"))},children:e("openapi.copy")})}),se("pre",{style:{width:672,fontSize:Xi.fontSize.xs,backgroundColor:t.color.primaryLight,color:t.color.menuItem,...LZ},children:i})]})}function adt({request:n}){const{t:e}=zs(),t=lo(),{method:i,url:r,headers:o,params:s,data:a}=n,l=` import axios from "axios"; +`}catch{}return`${a}${l}${u}${c} --compressed`}function qpe({request:n}){const{t:e}=zs(),t=lo(),i=sdt(n);return Gt("div",{children:[se("div",{children:se(jr,{type:"primary",onClick:()=>{EO(i),tu.success(e("openapi.copySuccess"))},children:e("openapi.copy")})}),se("pre",{style:{width:672,fontSize:Er.fontSize.xs,backgroundColor:t.color.primaryLight,color:t.color.menuItem,..._R},children:i})]})}function adt({request:n}){const{t:e}=zs(),t=lo(),{method:i,url:r,headers:o,params:s,data:a}=n,l=` import axios from "axios"; const config = { method: "${i}", @@ -594,8 +594,8 @@ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\ console.log(JSON.stringify(response.data)); }).catch((error)=>{ console.log(error); - });`;return Gt("div",{children:[Gt("div",{style:{display:"flex",justifyContent:"space-between"},children:[se(mv.Group,{defaultValue:"axios",size:"small",buttonStyle:"solid",children:se(mv.Button,{value:"axios",children:"JavaScript"})}),se(jr,{type:"primary",size:"small",style:{fontSize:Xi.fontSize.xxs},onClick:()=>{EO(l),tu.success(e("openapi.copySuccess"))},children:e("openapi.copy")})]}),se("pre",{style:{width:672,fontSize:Xi.fontSize.xs,backgroundColor:t.color.primaryLight,color:t.color.menuItem,...LZ},children:l})]})}function ldt(n={}){return fs(n)&&Iu(n["content-type"],"json")}function ebe(n){return new TextDecoder("utf-8").decode(new TextEncoder().encode(n))}function udt(n,e){const t=new Uint8Array(n);let i="";for(let r=t.byteLength,o=0;o{if(s){const a=s.contentWindow.document;a.open(),a.write(ebe(n))}}}):fs(t)&&Iu(t["content-type"],"image/")?se("div",{children:se("img",{src:udt(n,t["content-type"])})}):Gt("div",{style:{fontSize:Xi.fontSize.xs,position:"relative"},children:[se("div",{children:se(Ype,{code:e})}),t&&se(tbe,{children:xo(t,(o,s)=>se(Qpe,{field:s,value:o},s))}),n&&se(tbe,{children:se("code",{children:ldt(t)||fs(n)||Jme(n)?JSON.stringify(n,null,2):ebe(n)})})]})}function cdt(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function ibe(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);e&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable})),t.push.apply(t,i)}return t}function rbe(n){for(var e=1;e=0)&&(t[r]=n[r]);return t}function hdt(n,e){if(n==null)return{};var t=ddt(n,e),i,r;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(n);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(n,i)&&(t[i]=n[i])}return t}function mdt(n,e){return fdt(n)||gdt(n,e)||pdt(n,e)||bdt()}function fdt(n){if(Array.isArray(n))return n}function gdt(n,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(n)))){var t=[],i=!0,r=!1,o=void 0;try{for(var s=n[Symbol.iterator](),a;!(i=(a=s.next()).done)&&(t.push(a.value),!(e&&t.length===e));i=!0);}catch(l){r=!0,o=l}finally{try{!i&&s.return!=null&&s.return()}finally{if(r)throw o}}return t}}function pdt(n,e){if(n){if(typeof n=="string")return obe(n,e);var t=Object.prototype.toString.call(n).slice(8,-1);if(t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set")return Array.from(n);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return obe(n,e)}}function obe(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,i=new Array(e);t=n.length?n.apply(this,r):function(){for(var s=arguments.length,a=new Array(s),l=0;l1&&arguments[1]!==void 0?arguments[1]:{};FZ.initial(n),FZ.handler(e);var t={current:n},i=OF(Ndt)(t,e),r=OF(kdt)(t),o=OF(FZ.changes)(n),s=OF(Mdt)(t);function a(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(c){return c};return FZ.selector(u),u(t.current)}function l(u){ydt(i,r,o,s)(u)}return[a,l]}function Mdt(n,e){return BF(e)?e(n.current):e}function kdt(n,e){return n.current=abe(abe({},n.current),e),e}function Ndt(n,e,t){return BF(e)?e(n.current):Object.keys(t).forEach(function(i){var r;return(r=e[i])===null||r===void 0?void 0:r.call(e,n.current[i])}),t}var Tdt={create:Ddt},Edt={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.43.0/min/vs"}};function Zdt(n){return function e(){for(var t=this,i=arguments.length,r=new Array(i),o=0;o=n.length?n.apply(this,r):function(){for(var s=arguments.length,a=new Array(s),l=0;l{EO(l),tu.success(e("openapi.copySuccess"))},children:e("openapi.copy")})]}),se("pre",{style:{width:672,fontSize:Er.fontSize.xs,backgroundColor:t.color.primaryLight,color:t.color.menuItem,..._R},children:l})]})}function ldt(n={}){return fs(n)&&Fu(n["content-type"],"json")}function ebe(n){return new TextDecoder("utf-8").decode(new TextEncoder().encode(n))}function udt(n,e){const t=new Uint8Array(n);let i="";for(let r=t.byteLength,o=0;o{if(s){const a=s.contentWindow.document;a.open(),a.write(ebe(n))}}}):fs(t)&&Fu(t["content-type"],"image/")?se("div",{children:se("img",{src:udt(n,t["content-type"])})}):Gt("div",{style:{fontSize:Er.fontSize.xs,position:"relative"},children:[se("div",{children:se(Ype,{code:e})}),t&&se(tbe,{children:xo(t,(o,s)=>se(Qpe,{field:s,value:o},s))}),n&&se(tbe,{children:se("code",{children:ldt(t)||fs(n)||Jme(n)?JSON.stringify(n,null,2):ebe(n)})})]})}function cdt(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function ibe(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);e&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable})),t.push.apply(t,i)}return t}function rbe(n){for(var e=1;e=0)&&(t[r]=n[r]);return t}function hdt(n,e){if(n==null)return{};var t=ddt(n,e),i,r;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(n);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(n,i)&&(t[i]=n[i])}return t}function mdt(n,e){return fdt(n)||gdt(n,e)||pdt(n,e)||bdt()}function fdt(n){if(Array.isArray(n))return n}function gdt(n,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(n)))){var t=[],i=!0,r=!1,o=void 0;try{for(var s=n[Symbol.iterator](),a;!(i=(a=s.next()).done)&&(t.push(a.value),!(e&&t.length===e));i=!0);}catch(l){r=!0,o=l}finally{try{!i&&s.return!=null&&s.return()}finally{if(r)throw o}}return t}}function pdt(n,e){if(n){if(typeof n=="string")return obe(n,e);var t=Object.prototype.toString.call(n).slice(8,-1);if(t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set")return Array.from(n);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return obe(n,e)}}function obe(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,i=new Array(e);t=n.length?n.apply(this,r):function(){for(var s=arguments.length,a=new Array(s),l=0;l1&&arguments[1]!==void 0?arguments[1]:{};IR.initial(n),IR.handler(e);var t={current:n},i=OI(kdt)(t,e),r=OI(Mdt)(t),o=OI(IR.changes)(n),s=OI(Ndt)(t);function a(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(c){return c};return IR.selector(u),u(t.current)}function l(u){vdt(i,r,o,s)(u)}return[a,l]}function Ndt(n,e){return BI(e)?e(n.current):e}function Mdt(n,e){return n.current=abe(abe({},n.current),e),e}function kdt(n,e,t){return BI(e)?e(n.current):Object.keys(t).forEach(function(i){var r;return(r=e[i])===null||r===void 0?void 0:r.call(e,n.current[i])}),t}var Tdt={create:Ddt},Edt={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.43.0/min/vs"}};function Rdt(n){return function e(){for(var t=this,i=arguments.length,r=new Array(i),o=0;o=n.length?n.apply(this,r):function(){for(var s=arguments.length,a=new Array(s),l=0;l{i.current=!1}:n,e)}var Fc=oht;function HF(){}function lS(n,e,t,i){return sht(n,i)||aht(n,e,t,i)}function sht(n,e){return n.editor.getModel(fbe(n,e))}function aht(n,e,t,i){return n.editor.createModel(e,t,i?fbe(n,i):void 0)}function fbe(n,e){return n.Uri.parse(e)}function lht({original:n,modified:e,language:t,originalLanguage:i,modifiedLanguage:r,originalModelPath:o,modifiedModelPath:s,keepCurrentOriginalModel:a=!1,keepCurrentModifiedModel:l=!1,theme:u="light",loading:c="Loading...",options:d={},height:h="100%",width:m="100%",className:f,wrapperProps:g={},beforeMount:b=HF,onMount:v=HF}){let[C,S]=w.useState(!1),[x,_]=w.useState(!0),F=w.useRef(null),D=w.useRef(null),M=w.useRef(null),T=w.useRef(v),Z=w.useRef(b),E=w.useRef(!1);mbe(()=>{let z=SH.init();return z.then(O=>(D.current=O)&&_(!1)).catch(O=>(O==null?void 0:O.type)!=="cancelation"&&void 0),()=>F.current?A():z.cancel()}),Fc(()=>{if(F.current&&D.current){let z=F.current.getOriginalEditor(),O=lS(D.current,n||"",i||t||"text",o||"");O!==z.getModel()&&z.setModel(O)}},[o],C),Fc(()=>{if(F.current&&D.current){let z=F.current.getModifiedEditor(),O=lS(D.current,e||"",r||t||"text",s||"");O!==z.getModel()&&z.setModel(O)}},[s],C),Fc(()=>{let z=F.current.getModifiedEditor();z.getOption(D.current.editor.EditorOption.readOnly)?z.setValue(e||""):e!==z.getValue()&&(z.executeEdits("",[{range:z.getModel().getFullModelRange(),text:e||"",forceMoveMarkers:!0}]),z.pushUndoStop())},[e],C),Fc(()=>{var z,O;(O=(z=F.current)==null?void 0:z.getModel())==null||O.original.setValue(n||"")},[n],C),Fc(()=>{let{original:z,modified:O}=F.current.getModel();D.current.editor.setModelLanguage(z,i||t||"text"),D.current.editor.setModelLanguage(O,r||t||"text")},[t,i,r],C),Fc(()=>{var z;(z=D.current)==null||z.editor.setTheme(u)},[u],C),Fc(()=>{var z;(z=F.current)==null||z.updateOptions(d)},[d],C);let R=w.useCallback(()=>{var B;if(!D.current)return;Z.current(D.current);let z=lS(D.current,n||"",i||t||"text",o||""),O=lS(D.current,e||"",r||t||"text",s||"");(B=F.current)==null||B.setModel({original:z,modified:O})},[t,e,r,n,i,o,s]),W=w.useCallback(()=>{var z;!E.current&&M.current&&(F.current=D.current.editor.createDiffEditor(M.current,{automaticLayout:!0,...d}),R(),(z=D.current)==null||z.editor.setTheme(u),S(!0),E.current=!0)},[d,u,R]);w.useEffect(()=>{C&&T.current(F.current,D.current)},[C]),w.useEffect(()=>{!x&&!C&&W()},[x,C,W]);function A(){var O,B,P,H;let z=(O=F.current)==null?void 0:O.getModel();a||((B=z==null?void 0:z.original)==null||B.dispose()),l||((P=z==null?void 0:z.modified)==null||P.dispose()),(H=F.current)==null||H.dispose()}return ze.createElement(hbe,{width:m,height:h,isEditorReady:C,loading:c,_ref:M,className:f,wrapperProps:g})}var uht=lht;w.memo(uht);function cht(n){let e=w.useRef();return w.useEffect(()=>{e.current=n},[n]),e.current}var dht=cht,DZ=new Map;function hht({defaultValue:n,defaultLanguage:e,defaultPath:t,value:i,language:r,path:o,theme:s="light",line:a,loading:l="Loading...",options:u={},overrideServices:c={},saveViewState:d=!0,keepCurrentModel:h=!1,width:m="100%",height:f="100%",className:g,wrapperProps:b={},beforeMount:v=HF,onMount:C=HF,onChange:S,onValidate:x=HF}){let[_,F]=w.useState(!1),[D,M]=w.useState(!0),T=w.useRef(null),Z=w.useRef(null),E=w.useRef(null),R=w.useRef(C),W=w.useRef(v),A=w.useRef(),z=w.useRef(i),O=dht(o),B=w.useRef(!1),P=w.useRef(!1);mbe(()=>{let X=SH.init();return X.then(Y=>(T.current=Y)&&M(!1)).catch(Y=>(Y==null?void 0:Y.type)!=="cancelation"&&void 0),()=>Z.current?k():X.cancel()}),Fc(()=>{var Y,V,te,oe;let X=lS(T.current,n||i||"",e||r||"",o||t||"");X!==((Y=Z.current)==null?void 0:Y.getModel())&&(d&&DZ.set(O,(V=Z.current)==null?void 0:V.saveViewState()),(te=Z.current)==null||te.setModel(X),d&&((oe=Z.current)==null||oe.restoreViewState(DZ.get(o))))},[o],_),Fc(()=>{var X;(X=Z.current)==null||X.updateOptions(u)},[u],_),Fc(()=>{!Z.current||i===void 0||(Z.current.getOption(T.current.editor.EditorOption.readOnly)?Z.current.setValue(i):i!==Z.current.getValue()&&(P.current=!0,Z.current.executeEdits("",[{range:Z.current.getModel().getFullModelRange(),text:i,forceMoveMarkers:!0}]),Z.current.pushUndoStop(),P.current=!1))},[i],_),Fc(()=>{var Y,V;let X=(Y=Z.current)==null?void 0:Y.getModel();X&&r&&((V=T.current)==null||V.editor.setModelLanguage(X,r))},[r],_),Fc(()=>{var X;a!==void 0&&((X=Z.current)==null||X.revealLine(a))},[a],_),Fc(()=>{var X;(X=T.current)==null||X.editor.setTheme(s)},[s],_);let H=w.useCallback(()=>{var X;if(!(!E.current||!T.current)&&!B.current){W.current(T.current);let Y=o||t,V=lS(T.current,i||n||"",e||r||"",Y||"");Z.current=(X=T.current)==null?void 0:X.editor.create(E.current,{model:V,automaticLayout:!0,...u},c),d&&Z.current.restoreViewState(DZ.get(Y)),T.current.editor.setTheme(s),a!==void 0&&Z.current.revealLine(a),F(!0),B.current=!0}},[n,e,t,i,r,o,u,c,d,s,a]);w.useEffect(()=>{_&&R.current(Z.current,T.current)},[_]),w.useEffect(()=>{!D&&!_&&H()},[D,_,H]),z.current=i,w.useEffect(()=>{var X,Y;_&&S&&((X=A.current)==null||X.dispose(),A.current=(Y=Z.current)==null?void 0:Y.onDidChangeModelContent(V=>{P.current||S(Z.current.getValue(),V)}))},[_,S]),w.useEffect(()=>{if(_){let X=T.current.editor.onDidChangeMarkers(Y=>{var te;let V=(te=Z.current.getModel())==null?void 0:te.uri;if(V&&Y.find(oe=>oe.path===V.path)){let oe=T.current.editor.getModelMarkers({resource:V});x==null||x(oe)}});return()=>{X==null||X.dispose()}}return()=>{}},[_,x]);function k(){var X,Y;(X=A.current)==null||X.dispose(),h?d&&DZ.set(o,Z.current.saveViewState()):(Y=Z.current.getModel())==null||Y.dispose(),Z.current.dispose()}return ze.createElement(hbe,{width:m,height:f,isEditorReady:_,loading:l,_ref:E,className:g,wrapperProps:b})}var mht=hht,gbe=w.memo(mht);let fht=typeof document<"u"&&document.location&&document.location.hash.indexOf("pseudo=true")>=0;function pbe(n,e){let t;return e.length===0?t=n:t=n.replace(/\{(\d+)\}/g,(i,r)=>{const o=r[0],s=e[o];let a=i;return typeof s=="string"?a=s:(typeof s=="number"||typeof s=="boolean"||s===void 0||s===null)&&(a=String(s)),a}),fht&&(t="["+t.replace(/[aouei]/g,"$&$&")+"]"),t}function L(n,e,...t){return pbe(e,t)}function oi(n,e,...t){const i=pbe(e,t);return{value:i,original:i}}function JKt(n){}function ght(n,e){const t=n;typeof t.vscodeWindowId!="number"&&Object.defineProperty(t,"vscodeWindowId",{get:()=>e})}const Wi=window;class LH{constructor(){this.mapWindowIdToZoomFactor=new Map}getZoomFactor(e){var t;return(t=this.mapWindowIdToZoomFactor.get(this.getWindowId(e)))!==null&&t!==void 0?t:1}getWindowId(e){return e.vscodeWindowId}}LH.INSTANCE=new LH;function bbe(n,e,t){typeof e=="string"&&(e=n.matchMedia(e)),e.addEventListener("change",t)}function pht(n){return LH.INSTANCE.getZoomFactor(n)}const uS=navigator.userAgent,Ic=uS.indexOf("Firefox")>=0,Xv=uS.indexOf("AppleWebKit")>=0,YF=uS.indexOf("Chrome")>=0,wg=!YF&&uS.indexOf("Safari")>=0,vbe=!YF&&!wg&&Xv;uS.indexOf("Electron/")>=0;const ybe=uS.indexOf("Android")>=0;let MZ=!1;if(typeof Wi.matchMedia=="function"){const n=Wi.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),e=Wi.matchMedia("(display-mode: fullscreen)");MZ=n.matches,bbe(Wi,n,({matches:t})=>{MZ&&e.matches||(MZ=t)})}function bht(){return MZ}function Ml(n){return typeof n=="string"}function Ua(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)&&!(n instanceof RegExp)&&!(n instanceof Date)}function vht(n){const e=Object.getPrototypeOf(Uint8Array);return typeof n=="object"&&n instanceof e}function Rb(n){return typeof n=="number"&&!isNaN(n)}function Cbe(n){return!!n&&typeof n[Symbol.iterator]=="function"}function wbe(n){return n===!0||n===!1}function iu(n){return typeof n>"u"}function Rm(n){return!Wu(n)}function Wu(n){return iu(n)||n===null}function hi(n,e){if(!n)throw new Error(e?`Unexpected type, expected '${e}'`:"Unexpected type")}function Vb(n){if(Wu(n))throw new Error("Assertion Failed: argument is undefined or null");return n}function kZ(n){return typeof n=="function"}function yht(n,e){const t=Math.min(n.length,e.length);for(let i=0;i=0,TZ=wh.indexOf("Macintosh")>=0,DH=(wh.indexOf("Macintosh")>=0||wh.indexOf("iPad")>=0||wh.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,EZ=wh.indexOf("Linux")>=0,xbe=(wh==null?void 0:wh.indexOf("Mobi"))>=0,IH=!0,L({key:"ensureLoaderPluginIsLoaded",comment:["{Locked}"]},"_"),ZZ=cS,WZ=ZZ,Lbe=navigator.language);const ha=NZ,On=TZ,Ja=EZ,Sh=Sbe,Ab=IH,xht=IH&&typeof Sg.importScripts=="function"?Sg.origin:void 0,Vm=DH,_be=xbe,Am=wh,Lht=WZ,_ht=typeof Sg.postMessage=="function"&&!Sg.importScripts,Fbe=(()=>{if(_ht){const n=[];Sg.addEventListener("message",t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let i=0,r=n.length;i{const i=++e;n.push({id:i,callback:t}),Sg.postMessage({vscodeScheduleAsyncWork:i},"*")}}return n=>setTimeout(n)})(),ru=TZ||DH?2:NZ?1:3;let Ibe=!0,Dbe=!1;function Mbe(){if(!Dbe){Dbe=!0;const n=new Uint8Array(2);n[0]=1,n[1]=2,Ibe=new Uint16Array(n.buffer)[0]===513}return Ibe}const kbe=!!(Am&&Am.indexOf("Chrome")>=0),Fht=!!(Am&&Am.indexOf("Firefox")>=0),Iht=!!(!kbe&&Am&&Am.indexOf("Safari")>=0),Dht=!!(Am&&Am.indexOf("Edg/")>=0),Mht=!!(Am&&Am.indexOf("Android")>=0),MH={clipboard:{writeText:Sh||document.queryCommandSupported&&document.queryCommandSupported("copy")||!!(navigator&&navigator.clipboard&&navigator.clipboard.writeText),readText:Sh||!!(navigator&&navigator.clipboard&&navigator.clipboard.readText)},keyboard:Sh||bht()?0:navigator.keyboard||wg?1:2,touch:"ontouchstart"in Wi||navigator.maxTouchPoints>0,pointerEvents:Wi.PointerEvent&&("ontouchstart"in Wi||navigator.maxTouchPoints>0)};class kH{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}}const RZ=new kH,NH=new kH,TH=new kH,Nbe=new Array(230),kht=Object.create(null),Nht=Object.create(null),EH=[];for(let n=0;n<=193;n++)EH[n]=-1;(function(){const n="",e=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN",n,n],[1,1,"Hyper",0,n,0,n,n,n],[1,2,"Super",0,n,0,n,n,n],[1,3,"Fn",0,n,0,n,n,n],[1,4,"FnLock",0,n,0,n,n,n],[1,5,"Suspend",0,n,0,n,n,n],[1,6,"Resume",0,n,0,n,n,n],[1,7,"Turbo",0,n,0,n,n,n],[1,8,"Sleep",0,n,0,"VK_SLEEP",n,n],[1,9,"WakeUp",0,n,0,n,n,n],[0,10,"KeyA",31,"A",65,"VK_A",n,n],[0,11,"KeyB",32,"B",66,"VK_B",n,n],[0,12,"KeyC",33,"C",67,"VK_C",n,n],[0,13,"KeyD",34,"D",68,"VK_D",n,n],[0,14,"KeyE",35,"E",69,"VK_E",n,n],[0,15,"KeyF",36,"F",70,"VK_F",n,n],[0,16,"KeyG",37,"G",71,"VK_G",n,n],[0,17,"KeyH",38,"H",72,"VK_H",n,n],[0,18,"KeyI",39,"I",73,"VK_I",n,n],[0,19,"KeyJ",40,"J",74,"VK_J",n,n],[0,20,"KeyK",41,"K",75,"VK_K",n,n],[0,21,"KeyL",42,"L",76,"VK_L",n,n],[0,22,"KeyM",43,"M",77,"VK_M",n,n],[0,23,"KeyN",44,"N",78,"VK_N",n,n],[0,24,"KeyO",45,"O",79,"VK_O",n,n],[0,25,"KeyP",46,"P",80,"VK_P",n,n],[0,26,"KeyQ",47,"Q",81,"VK_Q",n,n],[0,27,"KeyR",48,"R",82,"VK_R",n,n],[0,28,"KeyS",49,"S",83,"VK_S",n,n],[0,29,"KeyT",50,"T",84,"VK_T",n,n],[0,30,"KeyU",51,"U",85,"VK_U",n,n],[0,31,"KeyV",52,"V",86,"VK_V",n,n],[0,32,"KeyW",53,"W",87,"VK_W",n,n],[0,33,"KeyX",54,"X",88,"VK_X",n,n],[0,34,"KeyY",55,"Y",89,"VK_Y",n,n],[0,35,"KeyZ",56,"Z",90,"VK_Z",n,n],[0,36,"Digit1",22,"1",49,"VK_1",n,n],[0,37,"Digit2",23,"2",50,"VK_2",n,n],[0,38,"Digit3",24,"3",51,"VK_3",n,n],[0,39,"Digit4",25,"4",52,"VK_4",n,n],[0,40,"Digit5",26,"5",53,"VK_5",n,n],[0,41,"Digit6",27,"6",54,"VK_6",n,n],[0,42,"Digit7",28,"7",55,"VK_7",n,n],[0,43,"Digit8",29,"8",56,"VK_8",n,n],[0,44,"Digit9",30,"9",57,"VK_9",n,n],[0,45,"Digit0",21,"0",48,"VK_0",n,n],[1,46,"Enter",3,"Enter",13,"VK_RETURN",n,n],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE",n,n],[1,48,"Backspace",1,"Backspace",8,"VK_BACK",n,n],[1,49,"Tab",2,"Tab",9,"VK_TAB",n,n],[1,50,"Space",10,"Space",32,"VK_SPACE",n,n],[0,51,"Minus",88,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[0,52,"Equal",86,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[0,53,"BracketLeft",92,"[",219,"VK_OEM_4","[","OEM_4"],[0,54,"BracketRight",94,"]",221,"VK_OEM_6","]","OEM_6"],[0,55,"Backslash",93,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,56,"IntlHash",0,n,0,n,n,n],[0,57,"Semicolon",85,";",186,"VK_OEM_1",";","OEM_1"],[0,58,"Quote",95,"'",222,"VK_OEM_7","'","OEM_7"],[0,59,"Backquote",91,"`",192,"VK_OEM_3","`","OEM_3"],[0,60,"Comma",87,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[0,61,"Period",89,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[0,62,"Slash",90,"/",191,"VK_OEM_2","/","OEM_2"],[1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",n,n],[1,64,"F1",59,"F1",112,"VK_F1",n,n],[1,65,"F2",60,"F2",113,"VK_F2",n,n],[1,66,"F3",61,"F3",114,"VK_F3",n,n],[1,67,"F4",62,"F4",115,"VK_F4",n,n],[1,68,"F5",63,"F5",116,"VK_F5",n,n],[1,69,"F6",64,"F6",117,"VK_F6",n,n],[1,70,"F7",65,"F7",118,"VK_F7",n,n],[1,71,"F8",66,"F8",119,"VK_F8",n,n],[1,72,"F9",67,"F9",120,"VK_F9",n,n],[1,73,"F10",68,"F10",121,"VK_F10",n,n],[1,74,"F11",69,"F11",122,"VK_F11",n,n],[1,75,"F12",70,"F12",123,"VK_F12",n,n],[1,76,"PrintScreen",0,n,0,n,n,n],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL",n,n],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",n,n],[1,79,"Insert",19,"Insert",45,"VK_INSERT",n,n],[1,80,"Home",14,"Home",36,"VK_HOME",n,n],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",n,n],[1,82,"Delete",20,"Delete",46,"VK_DELETE",n,n],[1,83,"End",13,"End",35,"VK_END",n,n],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT",n,n],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",n],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",n],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",n],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",n],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK",n,n],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE",n,n],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY",n,n],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT",n,n],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD",n,n],[1,94,"NumpadEnter",3,n,0,n,n,n],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1",n,n],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2",n,n],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3",n,n],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4",n,n],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5",n,n],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6",n,n],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7",n,n],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8",n,n],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9",n,n],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0",n,n],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL",n,n],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102",n,n],[1,107,"ContextMenu",58,"ContextMenu",93,n,n,n],[1,108,"Power",0,n,0,n,n,n],[1,109,"NumpadEqual",0,n,0,n,n,n],[1,110,"F13",71,"F13",124,"VK_F13",n,n],[1,111,"F14",72,"F14",125,"VK_F14",n,n],[1,112,"F15",73,"F15",126,"VK_F15",n,n],[1,113,"F16",74,"F16",127,"VK_F16",n,n],[1,114,"F17",75,"F17",128,"VK_F17",n,n],[1,115,"F18",76,"F18",129,"VK_F18",n,n],[1,116,"F19",77,"F19",130,"VK_F19",n,n],[1,117,"F20",78,"F20",131,"VK_F20",n,n],[1,118,"F21",79,"F21",132,"VK_F21",n,n],[1,119,"F22",80,"F22",133,"VK_F22",n,n],[1,120,"F23",81,"F23",134,"VK_F23",n,n],[1,121,"F24",82,"F24",135,"VK_F24",n,n],[1,122,"Open",0,n,0,n,n,n],[1,123,"Help",0,n,0,n,n,n],[1,124,"Select",0,n,0,n,n,n],[1,125,"Again",0,n,0,n,n,n],[1,126,"Undo",0,n,0,n,n,n],[1,127,"Cut",0,n,0,n,n,n],[1,128,"Copy",0,n,0,n,n,n],[1,129,"Paste",0,n,0,n,n,n],[1,130,"Find",0,n,0,n,n,n],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE",n,n],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP",n,n],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN",n,n],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR",n,n],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1",n,n],[1,136,"KanaMode",0,n,0,n,n,n],[0,137,"IntlYen",0,n,0,n,n,n],[1,138,"Convert",0,n,0,n,n,n],[1,139,"NonConvert",0,n,0,n,n,n],[1,140,"Lang1",0,n,0,n,n,n],[1,141,"Lang2",0,n,0,n,n,n],[1,142,"Lang3",0,n,0,n,n,n],[1,143,"Lang4",0,n,0,n,n,n],[1,144,"Lang5",0,n,0,n,n,n],[1,145,"Abort",0,n,0,n,n,n],[1,146,"Props",0,n,0,n,n,n],[1,147,"NumpadParenLeft",0,n,0,n,n,n],[1,148,"NumpadParenRight",0,n,0,n,n,n],[1,149,"NumpadBackspace",0,n,0,n,n,n],[1,150,"NumpadMemoryStore",0,n,0,n,n,n],[1,151,"NumpadMemoryRecall",0,n,0,n,n,n],[1,152,"NumpadMemoryClear",0,n,0,n,n,n],[1,153,"NumpadMemoryAdd",0,n,0,n,n,n],[1,154,"NumpadMemorySubtract",0,n,0,n,n,n],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR",n,n],[1,156,"NumpadClearEntry",0,n,0,n,n,n],[1,0,n,5,"Ctrl",17,"VK_CONTROL",n,n],[1,0,n,4,"Shift",16,"VK_SHIFT",n,n],[1,0,n,6,"Alt",18,"VK_MENU",n,n],[1,0,n,57,"Meta",91,"VK_COMMAND",n,n],[1,157,"ControlLeft",5,n,0,"VK_LCONTROL",n,n],[1,158,"ShiftLeft",4,n,0,"VK_LSHIFT",n,n],[1,159,"AltLeft",6,n,0,"VK_LMENU",n,n],[1,160,"MetaLeft",57,n,0,"VK_LWIN",n,n],[1,161,"ControlRight",5,n,0,"VK_RCONTROL",n,n],[1,162,"ShiftRight",4,n,0,"VK_RSHIFT",n,n],[1,163,"AltRight",6,n,0,"VK_RMENU",n,n],[1,164,"MetaRight",57,n,0,"VK_RWIN",n,n],[1,165,"BrightnessUp",0,n,0,n,n,n],[1,166,"BrightnessDown",0,n,0,n,n,n],[1,167,"MediaPlay",0,n,0,n,n,n],[1,168,"MediaRecord",0,n,0,n,n,n],[1,169,"MediaFastForward",0,n,0,n,n,n],[1,170,"MediaRewind",0,n,0,n,n,n],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",n,n],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",n,n],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP",n,n],[1,174,"Eject",0,n,0,n,n,n],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",n,n],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",n,n],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",n,n],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",n,n],[1,179,"LaunchApp1",0,n,0,"VK_MEDIA_LAUNCH_APP1",n,n],[1,180,"SelectTask",0,n,0,n,n,n],[1,181,"LaunchScreenSaver",0,n,0,n,n,n],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH",n,n],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME",n,n],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK",n,n],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD",n,n],[1,186,"BrowserStop",0,n,0,"VK_BROWSER_STOP",n,n],[1,187,"BrowserRefresh",0,n,0,"VK_BROWSER_REFRESH",n,n],[1,188,"BrowserFavorites",0,n,0,"VK_BROWSER_FAVORITES",n,n],[1,189,"ZoomToggle",0,n,0,n,n,n],[1,190,"MailReply",0,n,0,n,n,n],[1,191,"MailForward",0,n,0,n,n,n],[1,192,"MailSend",0,n,0,n,n,n],[1,0,n,114,"KeyInComposition",229,n,n,n],[1,0,n,116,"ABNT_C2",194,"VK_ABNT_C2",n,n],[1,0,n,96,"OEM_8",223,"VK_OEM_8",n,n],[1,0,n,0,n,0,"VK_KANA",n,n],[1,0,n,0,n,0,"VK_HANGUL",n,n],[1,0,n,0,n,0,"VK_JUNJA",n,n],[1,0,n,0,n,0,"VK_FINAL",n,n],[1,0,n,0,n,0,"VK_HANJA",n,n],[1,0,n,0,n,0,"VK_KANJI",n,n],[1,0,n,0,n,0,"VK_CONVERT",n,n],[1,0,n,0,n,0,"VK_NONCONVERT",n,n],[1,0,n,0,n,0,"VK_ACCEPT",n,n],[1,0,n,0,n,0,"VK_MODECHANGE",n,n],[1,0,n,0,n,0,"VK_SELECT",n,n],[1,0,n,0,n,0,"VK_PRINT",n,n],[1,0,n,0,n,0,"VK_EXECUTE",n,n],[1,0,n,0,n,0,"VK_SNAPSHOT",n,n],[1,0,n,0,n,0,"VK_HELP",n,n],[1,0,n,0,n,0,"VK_APPS",n,n],[1,0,n,0,n,0,"VK_PROCESSKEY",n,n],[1,0,n,0,n,0,"VK_PACKET",n,n],[1,0,n,0,n,0,"VK_DBE_SBCSCHAR",n,n],[1,0,n,0,n,0,"VK_DBE_DBCSCHAR",n,n],[1,0,n,0,n,0,"VK_ATTN",n,n],[1,0,n,0,n,0,"VK_CRSEL",n,n],[1,0,n,0,n,0,"VK_EXSEL",n,n],[1,0,n,0,n,0,"VK_EREOF",n,n],[1,0,n,0,n,0,"VK_PLAY",n,n],[1,0,n,0,n,0,"VK_ZOOM",n,n],[1,0,n,0,n,0,"VK_NONAME",n,n],[1,0,n,0,n,0,"VK_PA1",n,n],[1,0,n,0,n,0,"VK_OEM_CLEAR",n,n]],t=[],i=[];for(const r of e){const[o,s,a,l,u,c,d,h,m]=r;if(i[s]||(i[s]=!0,kht[a]=s,Nht[a.toLowerCase()]=s,o&&(EH[s]=l)),!t[l]){if(t[l]=!0,!u)throw new Error(`String representation missing for key code ${l} around scan code ${a}`);RZ.define(l,u),NH.define(l,h||u),TH.define(l,m||h||u)}c&&(Nbe[c]=l)}})();var xg;(function(n){function e(a){return RZ.keyCodeToStr(a)}n.toString=e;function t(a){return RZ.strToKeyCode(a)}n.fromString=t;function i(a){return NH.keyCodeToStr(a)}n.toUserSettingsUS=i;function r(a){return TH.keyCodeToStr(a)}n.toUserSettingsGeneral=r;function o(a){return NH.strToKeyCode(a)||TH.strToKeyCode(a)}n.fromUserSettings=o;function s(a){if(a>=98&&a<=113)return null;switch(a){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return RZ.keyCodeToStr(a)}n.toElectronAccelerator=s})(xg||(xg={}));function Wo(n,e){const t=(e&65535)<<16>>>0;return(n|t)>>>0}class Tht{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?dS.isErrorNoTelemetry(e)?new dS(e.message+` + `},lbe=Rdt(Adt)(Vdt),Gdt={config:Wdt},Xdt=function(){for(var e=arguments.length,t=new Array(e),i=0;i{i.current=!1}:n,e)}var Lc=oht;function HI(){}function lw(n,e,t,i){return sht(n,i)||aht(n,e,t,i)}function sht(n,e){return n.editor.getModel(fbe(n,e))}function aht(n,e,t,i){return n.editor.createModel(e,t,i?fbe(n,i):void 0)}function fbe(n,e){return n.Uri.parse(e)}function lht({original:n,modified:e,language:t,originalLanguage:i,modifiedLanguage:r,originalModelPath:o,modifiedModelPath:s,keepCurrentOriginalModel:a=!1,keepCurrentModifiedModel:l=!1,theme:u="light",loading:c="Loading...",options:d={},height:h="100%",width:m="100%",className:f,wrapperProps:g={},beforeMount:b=HI,onMount:y=HI}){let[C,w]=S.useState(!1),[x,L]=S.useState(!0),I=S.useRef(null),D=S.useRef(null),N=S.useRef(null),T=S.useRef(y),R=S.useRef(b),E=S.useRef(!1);mbe(()=>{let z=wH.init();return z.then(O=>(D.current=O)&&L(!1)).catch(O=>(O==null?void 0:O.type)!=="cancelation"&&void 0),()=>I.current?V():z.cancel()}),Lc(()=>{if(I.current&&D.current){let z=I.current.getOriginalEditor(),O=lw(D.current,n||"",i||t||"text",o||"");O!==z.getModel()&&z.setModel(O)}},[o],C),Lc(()=>{if(I.current&&D.current){let z=I.current.getModifiedEditor(),O=lw(D.current,e||"",r||t||"text",s||"");O!==z.getModel()&&z.setModel(O)}},[s],C),Lc(()=>{let z=I.current.getModifiedEditor();z.getOption(D.current.editor.EditorOption.readOnly)?z.setValue(e||""):e!==z.getValue()&&(z.executeEdits("",[{range:z.getModel().getFullModelRange(),text:e||"",forceMoveMarkers:!0}]),z.pushUndoStop())},[e],C),Lc(()=>{var z,O;(O=(z=I.current)==null?void 0:z.getModel())==null||O.original.setValue(n||"")},[n],C),Lc(()=>{let{original:z,modified:O}=I.current.getModel();D.current.editor.setModelLanguage(z,i||t||"text"),D.current.editor.setModelLanguage(O,r||t||"text")},[t,i,r],C),Lc(()=>{var z;(z=D.current)==null||z.editor.setTheme(u)},[u],C),Lc(()=>{var z;(z=I.current)==null||z.updateOptions(d)},[d],C);let W=S.useCallback(()=>{var B;if(!D.current)return;R.current(D.current);let z=lw(D.current,n||"",i||t||"text",o||""),O=lw(D.current,e||"",r||t||"text",s||"");(B=I.current)==null||B.setModel({original:z,modified:O})},[t,e,r,n,i,o,s]),Z=S.useCallback(()=>{var z;!E.current&&N.current&&(I.current=D.current.editor.createDiffEditor(N.current,{automaticLayout:!0,...d}),W(),(z=D.current)==null||z.editor.setTheme(u),w(!0),E.current=!0)},[d,u,W]);S.useEffect(()=>{C&&T.current(I.current,D.current)},[C]),S.useEffect(()=>{!x&&!C&&Z()},[x,C,Z]);function V(){var O,B,P,H;let z=(O=I.current)==null?void 0:O.getModel();a||((B=z==null?void 0:z.original)==null||B.dispose()),l||((P=z==null?void 0:z.modified)==null||P.dispose()),(H=I.current)==null||H.dispose()}return ze.createElement(hbe,{width:m,height:h,isEditorReady:C,loading:c,_ref:N,className:f,wrapperProps:g})}var uht=lht;S.memo(uht);function cht(n){let e=S.useRef();return S.useEffect(()=>{e.current=n},[n]),e.current}var dht=cht,DR=new Map;function hht({defaultValue:n,defaultLanguage:e,defaultPath:t,value:i,language:r,path:o,theme:s="light",line:a,loading:l="Loading...",options:u={},overrideServices:c={},saveViewState:d=!0,keepCurrentModel:h=!1,width:m="100%",height:f="100%",className:g,wrapperProps:b={},beforeMount:y=HI,onMount:C=HI,onChange:w,onValidate:x=HI}){let[L,I]=S.useState(!1),[D,N]=S.useState(!0),T=S.useRef(null),R=S.useRef(null),E=S.useRef(null),W=S.useRef(C),Z=S.useRef(y),V=S.useRef(),z=S.useRef(i),O=dht(o),B=S.useRef(!1),P=S.useRef(!1);mbe(()=>{let X=wH.init();return X.then(Y=>(T.current=Y)&&N(!1)).catch(Y=>(Y==null?void 0:Y.type)!=="cancelation"&&void 0),()=>R.current?M():X.cancel()}),Lc(()=>{var Y,A,te,oe;let X=lw(T.current,n||i||"",e||r||"",o||t||"");X!==((Y=R.current)==null?void 0:Y.getModel())&&(d&&DR.set(O,(A=R.current)==null?void 0:A.saveViewState()),(te=R.current)==null||te.setModel(X),d&&((oe=R.current)==null||oe.restoreViewState(DR.get(o))))},[o],L),Lc(()=>{var X;(X=R.current)==null||X.updateOptions(u)},[u],L),Lc(()=>{!R.current||i===void 0||(R.current.getOption(T.current.editor.EditorOption.readOnly)?R.current.setValue(i):i!==R.current.getValue()&&(P.current=!0,R.current.executeEdits("",[{range:R.current.getModel().getFullModelRange(),text:i,forceMoveMarkers:!0}]),R.current.pushUndoStop(),P.current=!1))},[i],L),Lc(()=>{var Y,A;let X=(Y=R.current)==null?void 0:Y.getModel();X&&r&&((A=T.current)==null||A.editor.setModelLanguage(X,r))},[r],L),Lc(()=>{var X;a!==void 0&&((X=R.current)==null||X.revealLine(a))},[a],L),Lc(()=>{var X;(X=T.current)==null||X.editor.setTheme(s)},[s],L);let H=S.useCallback(()=>{var X;if(!(!E.current||!T.current)&&!B.current){Z.current(T.current);let Y=o||t,A=lw(T.current,i||n||"",e||r||"",Y||"");R.current=(X=T.current)==null?void 0:X.editor.create(E.current,{model:A,automaticLayout:!0,...u},c),d&&R.current.restoreViewState(DR.get(Y)),T.current.editor.setTheme(s),a!==void 0&&R.current.revealLine(a),I(!0),B.current=!0}},[n,e,t,i,r,o,u,c,d,s,a]);S.useEffect(()=>{L&&W.current(R.current,T.current)},[L]),S.useEffect(()=>{!D&&!L&&H()},[D,L,H]),z.current=i,S.useEffect(()=>{var X,Y;L&&w&&((X=V.current)==null||X.dispose(),V.current=(Y=R.current)==null?void 0:Y.onDidChangeModelContent(A=>{P.current||w(R.current.getValue(),A)}))},[L,w]),S.useEffect(()=>{if(L){let X=T.current.editor.onDidChangeMarkers(Y=>{var te;let A=(te=R.current.getModel())==null?void 0:te.uri;if(A&&Y.find(oe=>oe.path===A.path)){let oe=T.current.editor.getModelMarkers({resource:A});x==null||x(oe)}});return()=>{X==null||X.dispose()}}return()=>{}},[L,x]);function M(){var X,Y;(X=V.current)==null||X.dispose(),h?d&&DR.set(o,R.current.saveViewState()):(Y=R.current.getModel())==null||Y.dispose(),R.current.dispose()}return ze.createElement(hbe,{width:m,height:f,isEditorReady:L,loading:l,_ref:E,className:g,wrapperProps:b})}var mht=hht,gbe=S.memo(mht);let fht=typeof document<"u"&&document.location&&document.location.hash.indexOf("pseudo=true")>=0;function pbe(n,e){let t;return e.length===0?t=n:t=n.replace(/\{(\d+)\}/g,(i,r)=>{const o=r[0],s=e[o];let a=i;return typeof s=="string"?a=s:(typeof s=="number"||typeof s=="boolean"||s===void 0||s===null)&&(a=String(s)),a}),fht&&(t="["+t.replace(/[aouei]/g,"$&$&")+"]"),t}function _(n,e,...t){return pbe(e,t)}function oi(n,e,...t){const i=pbe(e,t);return{value:i,original:i}}function JKt(n){}function ght(n,e){const t=n;typeof t.vscodeWindowId!="number"&&Object.defineProperty(t,"vscodeWindowId",{get:()=>e})}const Zi=window;class _H{constructor(){this.mapWindowIdToZoomFactor=new Map}getZoomFactor(e){var t;return(t=this.mapWindowIdToZoomFactor.get(this.getWindowId(e)))!==null&&t!==void 0?t:1}getWindowId(e){return e.vscodeWindowId}}_H.INSTANCE=new _H;function bbe(n,e,t){typeof e=="string"&&(e=n.matchMedia(e)),e.addEventListener("change",t)}function pht(n){return _H.INSTANCE.getZoomFactor(n)}const uw=navigator.userAgent,Ic=uw.indexOf("Firefox")>=0,Xy=uw.indexOf("AppleWebKit")>=0,YI=uw.indexOf("Chrome")>=0,Sg=!YI&&uw.indexOf("Safari")>=0,ybe=!YI&&!Sg&&Xy;uw.indexOf("Electron/")>=0;const vbe=uw.indexOf("Android")>=0;let NR=!1;if(typeof Zi.matchMedia=="function"){const n=Zi.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),e=Zi.matchMedia("(display-mode: fullscreen)");NR=n.matches,bbe(Zi,n,({matches:t})=>{NR&&e.matches||(NR=t)})}function bht(){return NR}function Nl(n){return typeof n=="string"}function Ua(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)&&!(n instanceof RegExp)&&!(n instanceof Date)}function yht(n){const e=Object.getPrototypeOf(Uint8Array);return typeof n=="object"&&n instanceof e}function Wb(n){return typeof n=="number"&&!isNaN(n)}function Cbe(n){return!!n&&typeof n[Symbol.iterator]=="function"}function Sbe(n){return n===!0||n===!1}function iu(n){return typeof n>"u"}function Wm(n){return!Zu(n)}function Zu(n){return iu(n)||n===null}function hi(n,e){if(!n)throw new Error(e?`Unexpected type, expected '${e}'`:"Unexpected type")}function Ab(n){if(Zu(n))throw new Error("Assertion Failed: argument is undefined or null");return n}function MR(n){return typeof n=="function"}function vht(n,e){const t=Math.min(n.length,e.length);for(let i=0;i=0,TR=Sh.indexOf("Macintosh")>=0,DH=(Sh.indexOf("Macintosh")>=0||Sh.indexOf("iPad")>=0||Sh.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,ER=Sh.indexOf("Linux")>=0,xbe=(Sh==null?void 0:Sh.indexOf("Mobi"))>=0,FH=!0,_({key:"ensureLoaderPluginIsLoaded",comment:["{Locked}"]},"_"),RR=cw,ZR=RR,_be=navigator.language);const ha=kR,On=TR,Ja=ER,wh=wbe,Vb=FH,xht=FH&&typeof wg.importScripts=="function"?wg.origin:void 0,Am=DH,Lbe=xbe,Vm=Sh,_ht=ZR,Lht=typeof wg.postMessage=="function"&&!wg.importScripts,Ibe=(()=>{if(Lht){const n=[];wg.addEventListener("message",t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let i=0,r=n.length;i{const i=++e;n.push({id:i,callback:t}),wg.postMessage({vscodeScheduleAsyncWork:i},"*")}}return n=>setTimeout(n)})(),ru=TR||DH?2:kR?1:3;let Fbe=!0,Dbe=!1;function Nbe(){if(!Dbe){Dbe=!0;const n=new Uint8Array(2);n[0]=1,n[1]=2,Fbe=new Uint16Array(n.buffer)[0]===513}return Fbe}const Mbe=!!(Vm&&Vm.indexOf("Chrome")>=0),Iht=!!(Vm&&Vm.indexOf("Firefox")>=0),Fht=!!(!Mbe&&Vm&&Vm.indexOf("Safari")>=0),Dht=!!(Vm&&Vm.indexOf("Edg/")>=0),Nht=!!(Vm&&Vm.indexOf("Android")>=0),NH={clipboard:{writeText:wh||document.queryCommandSupported&&document.queryCommandSupported("copy")||!!(navigator&&navigator.clipboard&&navigator.clipboard.writeText),readText:wh||!!(navigator&&navigator.clipboard&&navigator.clipboard.readText)},keyboard:wh||bht()?0:navigator.keyboard||Sg?1:2,touch:"ontouchstart"in Zi||navigator.maxTouchPoints>0,pointerEvents:Zi.PointerEvent&&("ontouchstart"in Zi||navigator.maxTouchPoints>0)};class MH{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}}const WR=new MH,kH=new MH,TH=new MH,kbe=new Array(230),Mht=Object.create(null),kht=Object.create(null),EH=[];for(let n=0;n<=193;n++)EH[n]=-1;(function(){const n="",e=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN",n,n],[1,1,"Hyper",0,n,0,n,n,n],[1,2,"Super",0,n,0,n,n,n],[1,3,"Fn",0,n,0,n,n,n],[1,4,"FnLock",0,n,0,n,n,n],[1,5,"Suspend",0,n,0,n,n,n],[1,6,"Resume",0,n,0,n,n,n],[1,7,"Turbo",0,n,0,n,n,n],[1,8,"Sleep",0,n,0,"VK_SLEEP",n,n],[1,9,"WakeUp",0,n,0,n,n,n],[0,10,"KeyA",31,"A",65,"VK_A",n,n],[0,11,"KeyB",32,"B",66,"VK_B",n,n],[0,12,"KeyC",33,"C",67,"VK_C",n,n],[0,13,"KeyD",34,"D",68,"VK_D",n,n],[0,14,"KeyE",35,"E",69,"VK_E",n,n],[0,15,"KeyF",36,"F",70,"VK_F",n,n],[0,16,"KeyG",37,"G",71,"VK_G",n,n],[0,17,"KeyH",38,"H",72,"VK_H",n,n],[0,18,"KeyI",39,"I",73,"VK_I",n,n],[0,19,"KeyJ",40,"J",74,"VK_J",n,n],[0,20,"KeyK",41,"K",75,"VK_K",n,n],[0,21,"KeyL",42,"L",76,"VK_L",n,n],[0,22,"KeyM",43,"M",77,"VK_M",n,n],[0,23,"KeyN",44,"N",78,"VK_N",n,n],[0,24,"KeyO",45,"O",79,"VK_O",n,n],[0,25,"KeyP",46,"P",80,"VK_P",n,n],[0,26,"KeyQ",47,"Q",81,"VK_Q",n,n],[0,27,"KeyR",48,"R",82,"VK_R",n,n],[0,28,"KeyS",49,"S",83,"VK_S",n,n],[0,29,"KeyT",50,"T",84,"VK_T",n,n],[0,30,"KeyU",51,"U",85,"VK_U",n,n],[0,31,"KeyV",52,"V",86,"VK_V",n,n],[0,32,"KeyW",53,"W",87,"VK_W",n,n],[0,33,"KeyX",54,"X",88,"VK_X",n,n],[0,34,"KeyY",55,"Y",89,"VK_Y",n,n],[0,35,"KeyZ",56,"Z",90,"VK_Z",n,n],[0,36,"Digit1",22,"1",49,"VK_1",n,n],[0,37,"Digit2",23,"2",50,"VK_2",n,n],[0,38,"Digit3",24,"3",51,"VK_3",n,n],[0,39,"Digit4",25,"4",52,"VK_4",n,n],[0,40,"Digit5",26,"5",53,"VK_5",n,n],[0,41,"Digit6",27,"6",54,"VK_6",n,n],[0,42,"Digit7",28,"7",55,"VK_7",n,n],[0,43,"Digit8",29,"8",56,"VK_8",n,n],[0,44,"Digit9",30,"9",57,"VK_9",n,n],[0,45,"Digit0",21,"0",48,"VK_0",n,n],[1,46,"Enter",3,"Enter",13,"VK_RETURN",n,n],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE",n,n],[1,48,"Backspace",1,"Backspace",8,"VK_BACK",n,n],[1,49,"Tab",2,"Tab",9,"VK_TAB",n,n],[1,50,"Space",10,"Space",32,"VK_SPACE",n,n],[0,51,"Minus",88,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[0,52,"Equal",86,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[0,53,"BracketLeft",92,"[",219,"VK_OEM_4","[","OEM_4"],[0,54,"BracketRight",94,"]",221,"VK_OEM_6","]","OEM_6"],[0,55,"Backslash",93,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,56,"IntlHash",0,n,0,n,n,n],[0,57,"Semicolon",85,";",186,"VK_OEM_1",";","OEM_1"],[0,58,"Quote",95,"'",222,"VK_OEM_7","'","OEM_7"],[0,59,"Backquote",91,"`",192,"VK_OEM_3","`","OEM_3"],[0,60,"Comma",87,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[0,61,"Period",89,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[0,62,"Slash",90,"/",191,"VK_OEM_2","/","OEM_2"],[1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",n,n],[1,64,"F1",59,"F1",112,"VK_F1",n,n],[1,65,"F2",60,"F2",113,"VK_F2",n,n],[1,66,"F3",61,"F3",114,"VK_F3",n,n],[1,67,"F4",62,"F4",115,"VK_F4",n,n],[1,68,"F5",63,"F5",116,"VK_F5",n,n],[1,69,"F6",64,"F6",117,"VK_F6",n,n],[1,70,"F7",65,"F7",118,"VK_F7",n,n],[1,71,"F8",66,"F8",119,"VK_F8",n,n],[1,72,"F9",67,"F9",120,"VK_F9",n,n],[1,73,"F10",68,"F10",121,"VK_F10",n,n],[1,74,"F11",69,"F11",122,"VK_F11",n,n],[1,75,"F12",70,"F12",123,"VK_F12",n,n],[1,76,"PrintScreen",0,n,0,n,n,n],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL",n,n],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",n,n],[1,79,"Insert",19,"Insert",45,"VK_INSERT",n,n],[1,80,"Home",14,"Home",36,"VK_HOME",n,n],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",n,n],[1,82,"Delete",20,"Delete",46,"VK_DELETE",n,n],[1,83,"End",13,"End",35,"VK_END",n,n],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT",n,n],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",n],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",n],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",n],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",n],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK",n,n],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE",n,n],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY",n,n],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT",n,n],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD",n,n],[1,94,"NumpadEnter",3,n,0,n,n,n],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1",n,n],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2",n,n],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3",n,n],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4",n,n],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5",n,n],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6",n,n],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7",n,n],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8",n,n],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9",n,n],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0",n,n],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL",n,n],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102",n,n],[1,107,"ContextMenu",58,"ContextMenu",93,n,n,n],[1,108,"Power",0,n,0,n,n,n],[1,109,"NumpadEqual",0,n,0,n,n,n],[1,110,"F13",71,"F13",124,"VK_F13",n,n],[1,111,"F14",72,"F14",125,"VK_F14",n,n],[1,112,"F15",73,"F15",126,"VK_F15",n,n],[1,113,"F16",74,"F16",127,"VK_F16",n,n],[1,114,"F17",75,"F17",128,"VK_F17",n,n],[1,115,"F18",76,"F18",129,"VK_F18",n,n],[1,116,"F19",77,"F19",130,"VK_F19",n,n],[1,117,"F20",78,"F20",131,"VK_F20",n,n],[1,118,"F21",79,"F21",132,"VK_F21",n,n],[1,119,"F22",80,"F22",133,"VK_F22",n,n],[1,120,"F23",81,"F23",134,"VK_F23",n,n],[1,121,"F24",82,"F24",135,"VK_F24",n,n],[1,122,"Open",0,n,0,n,n,n],[1,123,"Help",0,n,0,n,n,n],[1,124,"Select",0,n,0,n,n,n],[1,125,"Again",0,n,0,n,n,n],[1,126,"Undo",0,n,0,n,n,n],[1,127,"Cut",0,n,0,n,n,n],[1,128,"Copy",0,n,0,n,n,n],[1,129,"Paste",0,n,0,n,n,n],[1,130,"Find",0,n,0,n,n,n],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE",n,n],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP",n,n],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN",n,n],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR",n,n],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1",n,n],[1,136,"KanaMode",0,n,0,n,n,n],[0,137,"IntlYen",0,n,0,n,n,n],[1,138,"Convert",0,n,0,n,n,n],[1,139,"NonConvert",0,n,0,n,n,n],[1,140,"Lang1",0,n,0,n,n,n],[1,141,"Lang2",0,n,0,n,n,n],[1,142,"Lang3",0,n,0,n,n,n],[1,143,"Lang4",0,n,0,n,n,n],[1,144,"Lang5",0,n,0,n,n,n],[1,145,"Abort",0,n,0,n,n,n],[1,146,"Props",0,n,0,n,n,n],[1,147,"NumpadParenLeft",0,n,0,n,n,n],[1,148,"NumpadParenRight",0,n,0,n,n,n],[1,149,"NumpadBackspace",0,n,0,n,n,n],[1,150,"NumpadMemoryStore",0,n,0,n,n,n],[1,151,"NumpadMemoryRecall",0,n,0,n,n,n],[1,152,"NumpadMemoryClear",0,n,0,n,n,n],[1,153,"NumpadMemoryAdd",0,n,0,n,n,n],[1,154,"NumpadMemorySubtract",0,n,0,n,n,n],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR",n,n],[1,156,"NumpadClearEntry",0,n,0,n,n,n],[1,0,n,5,"Ctrl",17,"VK_CONTROL",n,n],[1,0,n,4,"Shift",16,"VK_SHIFT",n,n],[1,0,n,6,"Alt",18,"VK_MENU",n,n],[1,0,n,57,"Meta",91,"VK_COMMAND",n,n],[1,157,"ControlLeft",5,n,0,"VK_LCONTROL",n,n],[1,158,"ShiftLeft",4,n,0,"VK_LSHIFT",n,n],[1,159,"AltLeft",6,n,0,"VK_LMENU",n,n],[1,160,"MetaLeft",57,n,0,"VK_LWIN",n,n],[1,161,"ControlRight",5,n,0,"VK_RCONTROL",n,n],[1,162,"ShiftRight",4,n,0,"VK_RSHIFT",n,n],[1,163,"AltRight",6,n,0,"VK_RMENU",n,n],[1,164,"MetaRight",57,n,0,"VK_RWIN",n,n],[1,165,"BrightnessUp",0,n,0,n,n,n],[1,166,"BrightnessDown",0,n,0,n,n,n],[1,167,"MediaPlay",0,n,0,n,n,n],[1,168,"MediaRecord",0,n,0,n,n,n],[1,169,"MediaFastForward",0,n,0,n,n,n],[1,170,"MediaRewind",0,n,0,n,n,n],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",n,n],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",n,n],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP",n,n],[1,174,"Eject",0,n,0,n,n,n],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",n,n],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",n,n],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",n,n],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",n,n],[1,179,"LaunchApp1",0,n,0,"VK_MEDIA_LAUNCH_APP1",n,n],[1,180,"SelectTask",0,n,0,n,n,n],[1,181,"LaunchScreenSaver",0,n,0,n,n,n],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH",n,n],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME",n,n],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK",n,n],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD",n,n],[1,186,"BrowserStop",0,n,0,"VK_BROWSER_STOP",n,n],[1,187,"BrowserRefresh",0,n,0,"VK_BROWSER_REFRESH",n,n],[1,188,"BrowserFavorites",0,n,0,"VK_BROWSER_FAVORITES",n,n],[1,189,"ZoomToggle",0,n,0,n,n,n],[1,190,"MailReply",0,n,0,n,n,n],[1,191,"MailForward",0,n,0,n,n,n],[1,192,"MailSend",0,n,0,n,n,n],[1,0,n,114,"KeyInComposition",229,n,n,n],[1,0,n,116,"ABNT_C2",194,"VK_ABNT_C2",n,n],[1,0,n,96,"OEM_8",223,"VK_OEM_8",n,n],[1,0,n,0,n,0,"VK_KANA",n,n],[1,0,n,0,n,0,"VK_HANGUL",n,n],[1,0,n,0,n,0,"VK_JUNJA",n,n],[1,0,n,0,n,0,"VK_FINAL",n,n],[1,0,n,0,n,0,"VK_HANJA",n,n],[1,0,n,0,n,0,"VK_KANJI",n,n],[1,0,n,0,n,0,"VK_CONVERT",n,n],[1,0,n,0,n,0,"VK_NONCONVERT",n,n],[1,0,n,0,n,0,"VK_ACCEPT",n,n],[1,0,n,0,n,0,"VK_MODECHANGE",n,n],[1,0,n,0,n,0,"VK_SELECT",n,n],[1,0,n,0,n,0,"VK_PRINT",n,n],[1,0,n,0,n,0,"VK_EXECUTE",n,n],[1,0,n,0,n,0,"VK_SNAPSHOT",n,n],[1,0,n,0,n,0,"VK_HELP",n,n],[1,0,n,0,n,0,"VK_APPS",n,n],[1,0,n,0,n,0,"VK_PROCESSKEY",n,n],[1,0,n,0,n,0,"VK_PACKET",n,n],[1,0,n,0,n,0,"VK_DBE_SBCSCHAR",n,n],[1,0,n,0,n,0,"VK_DBE_DBCSCHAR",n,n],[1,0,n,0,n,0,"VK_ATTN",n,n],[1,0,n,0,n,0,"VK_CRSEL",n,n],[1,0,n,0,n,0,"VK_EXSEL",n,n],[1,0,n,0,n,0,"VK_EREOF",n,n],[1,0,n,0,n,0,"VK_PLAY",n,n],[1,0,n,0,n,0,"VK_ZOOM",n,n],[1,0,n,0,n,0,"VK_NONAME",n,n],[1,0,n,0,n,0,"VK_PA1",n,n],[1,0,n,0,n,0,"VK_OEM_CLEAR",n,n]],t=[],i=[];for(const r of e){const[o,s,a,l,u,c,d,h,m]=r;if(i[s]||(i[s]=!0,Mht[a]=s,kht[a.toLowerCase()]=s,o&&(EH[s]=l)),!t[l]){if(t[l]=!0,!u)throw new Error(`String representation missing for key code ${l} around scan code ${a}`);WR.define(l,u),kH.define(l,h||u),TH.define(l,m||h||u)}c&&(kbe[c]=l)}})();var xg;(function(n){function e(a){return WR.keyCodeToStr(a)}n.toString=e;function t(a){return WR.strToKeyCode(a)}n.fromString=t;function i(a){return kH.keyCodeToStr(a)}n.toUserSettingsUS=i;function r(a){return TH.keyCodeToStr(a)}n.toUserSettingsGeneral=r;function o(a){return kH.strToKeyCode(a)||TH.strToKeyCode(a)}n.fromUserSettings=o;function s(a){if(a>=98&&a<=113)return null;switch(a){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return WR.keyCodeToStr(a)}n.toElectronAccelerator=s})(xg||(xg={}));function Zo(n,e){const t=(e&65535)<<16>>>0;return(n|t)>>>0}class Tht{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?dw.isErrorNoTelemetry(e)?new dw(e.message+` `+e.stack):new Error(e.message+` -`+e.stack):e},0)}}emit(e){this.listeners.forEach(t=>{t(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}const Tbe=new Tht;function vn(n){Gm(n)||Tbe.onUnexpectedError(n)}function qr(n){Gm(n)||Tbe.onUnexpectedExternalError(n)}function Ebe(n){if(n instanceof Error){const{name:e,message:t}=n,i=n.stacktrace||n.stack;return{$isError:!0,name:e,message:t,stack:i,noTelemetry:dS.isErrorNoTelemetry(n)}}return n}const VZ="Canceled";function Gm(n){return n instanceof Lg?!0:n instanceof Error&&n.name===VZ&&n.message===VZ}class Lg extends Error{constructor(){super(VZ),this.name=this.message}}function Eht(){const n=new Error(VZ);return n.name=n.message,n}function Dc(n){return n?new Error(`Illegal argument: ${n}`):new Error("Illegal argument")}function ZH(n){return n?new Error(`Illegal state: ${n}`):new Error("Illegal state")}class Zht extends Error{constructor(e){super("NotSupported"),e&&(this.message=e)}}class dS extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof dS)return e;const t=new dS;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}}class or extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,or.prototype)}}function WH(n,e){if(typeof n=="number"){if(n===0)return null;const t=(n&65535)>>>0,i=(n&4294901760)>>>16;return i!==0?new RH([AZ(t,e),AZ(i,e)]):new RH([AZ(t,e)])}else{const t=[];for(let i=0;i=0;x--)yield S[x]}n.reverse=a;function l(S){return!S||S[Symbol.iterator]().next().done===!0}n.isEmpty=l;function u(S){return S[Symbol.iterator]().next().value}n.first=u;function c(S,x){for(const _ of S)if(x(_))return!0;return!1}n.some=c;function d(S,x){for(const _ of S)if(x(_))return _}n.find=d;function*h(S,x){for(const _ of S)x(_)&&(yield _)}n.filter=h;function*m(S,x){let _=0;for(const F of S)yield x(F,_++)}n.map=m;function*f(...S){for(const x of S)yield*x}n.concat=f;function g(S,x,_){let F=_;for(const D of S)F=x(F,D);return F}n.reduce=g;function*b(S,x,_=S.length){for(x<0&&(x+=S.length),_<0?_+=S.length:_>S.length&&(_=S.length);x<_;x++)yield S[x]}n.slice=b;function v(S,x=Number.POSITIVE_INFINITY){const _=[];if(x===0)return[_,S];const F=S[Symbol.iterator]();for(let D=0;D1)throw new AggregateError(e,"Encountered errors while disposing of store");return Array.isArray(n)?[]:n}else if(n)return n.dispose(),n}function _d(...n){return jt(()=>er(n))}function jt(n){return{dispose:hS(()=>{n()})}}class Je{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{er(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?Je.DISABLE_DISPOSED_WARNING:this._toDispose.add(e),e}deleteAndLeak(e){e&&this._toDispose.has(e)&&this._toDispose.delete(e)}}Je.DISABLE_DISPOSED_WARNING=!1;class Ie{constructor(){this._store=new Je,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}}Ie.None=Object.freeze({dispose(){}});class Ms{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(e){var t;this._isDisposed||e===this._value||((t=this._value)===null||t===void 0||t.dispose(),this._value=e)}clear(){this.value=void 0}dispose(){var e;this._isDisposed=!0,(e=this._value)===null||e===void 0||e.dispose(),this._value=void 0}}class zht{constructor(e){this._disposable=e,this._counter=1}acquire(){return this._counter++,this}release(){return--this._counter===0&&this._disposable.dispose(),this}}class Hht{constructor(e){this.object=e}dispose(){}}class AH{constructor(){this._store=new Map,this._isDisposed=!1}dispose(){this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{er(this._store.values())}finally{this._store.clear()}}get(e){return this._store.get(e)}set(e,t,i=!1){var r;this._isDisposed,i||(r=this._store.get(e))===null||r===void 0||r.dispose(),this._store.set(e,t)}deleteAndDispose(e){var t;(t=this._store.get(e))===null||t===void 0||t.dispose(),this._store.delete(e)}[Symbol.iterator](){return this._store[Symbol.iterator]()}}let Ro=class Oee{constructor(e){this.element=e,this.next=Oee.Undefined,this.prev=Oee.Undefined}};Ro.Undefined=new Ro(void 0);class ja{constructor(){this._first=Ro.Undefined,this._last=Ro.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===Ro.Undefined}clear(){let e=this._first;for(;e!==Ro.Undefined;){const t=e.next;e.prev=Ro.Undefined,e.next=Ro.Undefined,e=t}this._first=Ro.Undefined,this._last=Ro.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const i=new Ro(e);if(this._first===Ro.Undefined)this._first=i,this._last=i;else if(t){const o=this._last;this._last=i,i.prev=o,o.next=i}else{const o=this._first;this._first=i,i.next=o,o.prev=i}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(i))}}shift(){if(this._first!==Ro.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==Ro.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==Ro.Undefined&&e.next!==Ro.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===Ro.Undefined&&e.next===Ro.Undefined?(this._first=Ro.Undefined,this._last=Ro.Undefined):e.next===Ro.Undefined?(this._last=this._last.prev,this._last.next=Ro.Undefined):e.prev===Ro.Undefined&&(this._first=this._first.next,this._first.prev=Ro.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==Ro.Undefined;)yield e.element,e=e.next}}const Yht=globalThis.performance&&typeof globalThis.performance.now=="function";class Js{static create(e){return new Js(e)}constructor(e){this._now=Yht&&e===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}}var lt;(function(n){n.None=()=>Ie.None;function e(E,R){return d(E,()=>{},0,void 0,!0,void 0,R)}n.defer=e;function t(E){return(R,W=null,A)=>{let z=!1,O;return O=E(B=>{if(!z)return O?O.dispose():z=!0,R.call(W,B)},null,A),z&&O.dispose(),O}}n.once=t;function i(E,R,W){return u((A,z=null,O)=>E(B=>A.call(z,R(B)),null,O),W)}n.map=i;function r(E,R,W){return u((A,z=null,O)=>E(B=>{R(B),A.call(z,B)},null,O),W)}n.forEach=r;function o(E,R,W){return u((A,z=null,O)=>E(B=>R(B)&&A.call(z,B),null,O),W)}n.filter=o;function s(E){return E}n.signal=s;function a(...E){return(R,W=null,A)=>{const z=_d(...E.map(O=>O(B=>R.call(W,B))));return c(z,A)}}n.any=a;function l(E,R,W,A){let z=W;return i(E,O=>(z=R(z,O),z),A)}n.reduce=l;function u(E,R){let W;const A={onWillAddFirstListener(){W=E(z.fire,z)},onDidRemoveLastListener(){W==null||W.dispose()}},z=new be(A);return R==null||R.add(z),z.event}function c(E,R){return R instanceof Array?R.push(E):R&&R.add(E),E}function d(E,R,W=100,A=!1,z=!1,O,B){let P,H,k,X=0,Y;const V={leakWarningThreshold:O,onWillAddFirstListener(){P=E(oe=>{X++,H=R(H,oe),A&&!k&&(te.fire(H),H=void 0),Y=()=>{const ae=H;H=void 0,k=void 0,(!A||X>1)&&te.fire(ae),X=0},typeof W=="number"?(clearTimeout(k),k=setTimeout(Y,W)):k===void 0&&(k=0,queueMicrotask(Y))})},onWillRemoveListener(){z&&X>0&&(Y==null||Y())},onDidRemoveLastListener(){Y=void 0,P.dispose()}},te=new be(V);return B==null||B.add(te),te.event}n.debounce=d;function h(E,R=0,W){return n.debounce(E,(A,z)=>A?(A.push(z),A):[z],R,void 0,!0,void 0,W)}n.accumulate=h;function m(E,R=(A,z)=>A===z,W){let A=!0,z;return o(E,O=>{const B=A||!R(O,z);return A=!1,z=O,B},W)}n.latch=m;function f(E,R,W){return[n.filter(E,R,W),n.filter(E,A=>!R(A),W)]}n.split=f;function g(E,R=!1,W=[],A){let z=W.slice(),O=E(H=>{z?z.push(H):P.fire(H)});A&&A.add(O);const B=()=>{z==null||z.forEach(H=>P.fire(H)),z=null},P=new be({onWillAddFirstListener(){O||(O=E(H=>P.fire(H)),A&&A.add(O))},onDidAddFirstListener(){z&&(R?setTimeout(B):B())},onDidRemoveLastListener(){O&&O.dispose(),O=null}});return A&&A.add(P),P.event}n.buffer=g;function b(E,R){return(A,z,O)=>{const B=R(new C);return E(function(P){const H=B.evaluate(P);H!==v&&A.call(z,H)},void 0,O)}}n.chain=b;const v=Symbol("HaltChainable");class C{constructor(){this.steps=[]}map(R){return this.steps.push(R),this}forEach(R){return this.steps.push(W=>(R(W),W)),this}filter(R){return this.steps.push(W=>R(W)?W:v),this}reduce(R,W){let A=W;return this.steps.push(z=>(A=R(A,z),A)),this}latch(R=(W,A)=>W===A){let W=!0,A;return this.steps.push(z=>{const O=W||!R(z,A);return W=!1,A=z,O?z:v}),this}evaluate(R){for(const W of this.steps)if(R=W(R),R===v)break;return R}}function S(E,R,W=A=>A){const A=(...P)=>B.fire(W(...P)),z=()=>E.on(R,A),O=()=>E.removeListener(R,A),B=new be({onWillAddFirstListener:z,onDidRemoveLastListener:O});return B.event}n.fromNodeEventEmitter=S;function x(E,R,W=A=>A){const A=(...P)=>B.fire(W(...P)),z=()=>E.addEventListener(R,A),O=()=>E.removeEventListener(R,A),B=new be({onWillAddFirstListener:z,onDidRemoveLastListener:O});return B.event}n.fromDOMEventEmitter=x;function _(E){return new Promise(R=>t(E)(R))}n.toPromise=_;function F(E){const R=new be;return E.then(W=>{R.fire(W)},()=>{R.fire(void 0)}).finally(()=>{R.dispose()}),R.event}n.fromPromise=F;function D(E,R,W){return R(W),E(A=>R(A))}n.runAndSubscribe=D;class M{constructor(R,W){this._observable=R,this._counter=0,this._hasChanged=!1;const A={onWillAddFirstListener:()=>{R.addObserver(this)},onDidRemoveLastListener:()=>{R.removeObserver(this)}};this.emitter=new be(A),W&&W.add(this.emitter)}beginUpdate(R){this._counter++}handlePossibleChange(R){}handleChange(R,W){this._hasChanged=!0}endUpdate(R){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function T(E,R){return new M(E,R).emitter.event}n.fromObservable=T;function Z(E){return(R,W,A)=>{let z=0,O=!1;const B={beginUpdate(){z++},endUpdate(){z--,z===0&&(E.reportChanges(),O&&(O=!1,R.call(W)))},handlePossibleChange(){},handleChange(){O=!0}};E.addObserver(B),E.reportChanges();const P={dispose(){E.removeObserver(B)}};return A instanceof Je?A.add(P):Array.isArray(A)&&A.push(P),P}}n.fromObservableLight=Z})(lt||(lt={}));class mS{constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${e}_${mS._idPool++}`,mS.all.add(this)}start(e){this._stopWatch=new Js,this.listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}}mS.all=new Set,mS._idPool=0;let Uht=-1;class Kht{constructor(e,t=Math.random().toString(18).slice(2,5)){this.threshold=e,this.name=t,this._warnCountdown=0}dispose(){var e;(e=this._stacks)===null||e===void 0||e.clear()}check(e,t){const i=this.threshold;if(i<=0||t{const o=this._stacks.get(e.value)||0;this._stacks.set(e.value,o-1)}}}class GH{static create(){var e;return new GH((e=new Error().stack)!==null&&e!==void 0?e:"")}constructor(e){this.value=e}print(){}}class XH{constructor(e){this.value=e}}const Jht=2;let be=class{constructor(e){var t,i,r,o,s;this._size=0,this._options=e,this._leakageMon=!((t=this._options)===null||t===void 0)&&t.leakWarningThreshold?new Kht((r=(i=this._options)===null||i===void 0?void 0:i.leakWarningThreshold)!==null&&r!==void 0?r:Uht):void 0,this._perfMon=!((o=this._options)===null||o===void 0)&&o._profName?new mS(this._options._profName):void 0,this._deliveryQueue=(s=this._options)===null||s===void 0?void 0:s.deliveryQueue}dispose(){var e,t,i,r;this._disposed||(this._disposed=!0,((e=this._deliveryQueue)===null||e===void 0?void 0:e.current)===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),(i=(t=this._options)===null||t===void 0?void 0:t.onDidRemoveLastListener)===null||i===void 0||i.call(t),(r=this._leakageMon)===null||r===void 0||r.dispose())}get event(){var e;return(e=this._event)!==null&&e!==void 0||(this._event=(t,i,r)=>{var o,s,a,l,u;if(this._leakageMon&&this._size>this._leakageMon.threshold*3||this._disposed)return Ie.None;i&&(t=t.bind(i));const c=new XH(t);let d;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(c.stack=GH.create(),d=this._leakageMon.check(c.stack,this._size+1)),this._listeners?this._listeners instanceof XH?((u=this._deliveryQueue)!==null&&u!==void 0||(this._deliveryQueue=new Wbe),this._listeners=[this._listeners,c]):this._listeners.push(c):((s=(o=this._options)===null||o===void 0?void 0:o.onWillAddFirstListener)===null||s===void 0||s.call(o,this),this._listeners=c,(l=(a=this._options)===null||a===void 0?void 0:a.onDidAddFirstListener)===null||l===void 0||l.call(a,this)),this._size++;const h=jt(()=>{d==null||d(),this._removeListener(c)});return r instanceof Je?r.add(h):Array.isArray(r)&&r.push(h),h}),this._event}_removeListener(e){var t,i,r,o;if((i=(t=this._options)===null||t===void 0?void 0:t.onWillRemoveListener)===null||i===void 0||i.call(t,this),!this._listeners)return;if(this._size===1){this._listeners=void 0,(o=(r=this._options)===null||r===void 0?void 0:r.onDidRemoveLastListener)===null||o===void 0||o.call(r,this),this._size=0;return}const s=this._listeners,a=s.indexOf(e);if(a===-1)throw new Error("Attempted to dispose unknown listener");this._size--,s[a]=void 0;const l=this._deliveryQueue.current===this;if(this._size*Jht<=s.length){let u=0;for(let c=0;c0}};const jht=()=>new Wbe;class Wbe{constructor(){this.i=-1,this.end=0}enqueue(e,t,i){this.i=0,this.end=i,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}class Ov extends be{constructor(e){super(e),this._isPaused=0,this._eventQueue=new ja,this._mergeFn=e==null?void 0:e.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused===0)if(this._mergeFn){if(this._eventQueue.size>0){const e=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(e))}}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(e){this._size&&(this._isPaused!==0?this._eventQueue.push(e):super.fire(e))}}class Rbe extends Ov{constructor(e){var t;super(e),this._delay=(t=e.delay)!==null&&t!==void 0?t:100}fire(e){this._handle||(this.pause(),this._handle=setTimeout(()=>{this._handle=void 0,this.resume()},this._delay)),super.fire(e)}}class Qht extends be{constructor(e){super(e),this._queuedEvents=[],this._mergeFn=e==null?void 0:e.merge}fire(e){this.hasListeners()&&(this._queuedEvents.push(e),this._queuedEvents.length===1&&queueMicrotask(()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach(t=>super.fire(t)),this._queuedEvents=[]}))}}class $ht{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new be({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(e){const t={event:e,listener:null};return this.events.push(t),this.hasListeners&&this.hook(t),jt(hS(()=>{this.hasListeners&&this.unhook(t);const r=this.events.indexOf(t);this.events.splice(r,1)}))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach(e=>this.hook(e))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach(e=>this.unhook(e))}hook(e){e.listener=e.event(t=>this.emitter.fire(t))}unhook(e){var t;(t=e.listener)===null||t===void 0||t.dispose(),e.listener=null}dispose(){var e;this.emitter.dispose();for(const t of this.events)(e=t.listener)===null||e===void 0||e.dispose();this.events=[]}}class PH{constructor(){this.buffers=[]}wrapEvent(e){return(t,i,r)=>e(o=>{const s=this.buffers[this.buffers.length-1];s?s.push(()=>t.call(i,o)):t.call(i,o)},void 0,r)}bufferEvents(e){const t=[];this.buffers.push(t);const i=e();return this.buffers.pop(),t.forEach(r=>r()),i}}class Vbe{constructor(){this.listening=!1,this.inputEvent=lt.None,this.inputEventListener=Ie.None,this.emitter=new be({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}const Abe=Object.freeze(function(n,e){const t=setTimeout(n.bind(e),0);return{dispose(){clearTimeout(t)}}});var Yn;(function(n){function e(t){return t===n.None||t===n.Cancelled||t instanceof GZ?!0:!t||typeof t!="object"?!1:typeof t.isCancellationRequested=="boolean"&&typeof t.onCancellationRequested=="function"}n.isCancellationToken=e,n.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:lt.None}),n.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Abe})})(Yn||(Yn={}));class GZ{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?Abe:(this._emitter||(this._emitter=new be),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}let fo=class{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new GZ),this._token}cancel(){this._token?this._token instanceof GZ&&this._token.cancel():this._token=Yn.Cancelled}dispose(e=!1){var t;e&&this.cancel(),(t=this._parentListener)===null||t===void 0||t.dispose(),this._token?this._token instanceof GZ&&this._token.dispose():this._token=Yn.None}};const Gbe=Symbol("MicrotaskDelay");function OH(n){return!!n&&typeof n.then=="function"}function rs(n){const e=new fo,t=n(e.token),i=new Promise((r,o)=>{const s=e.token.onCancellationRequested(()=>{s.dispose(),o(new Lg)});Promise.resolve(t).then(a=>{s.dispose(),e.dispose(),r(a)},a=>{s.dispose(),e.dispose(),o(a)})});return new class{cancel(){e.cancel(),e.dispose()}then(r,o){return i.then(r,o)}catch(r){return this.then(void 0,r)}finally(r){return i.finally(r)}}}function UF(n,e,t){return new Promise((i,r)=>{const o=e.onCancellationRequested(()=>{o.dispose(),i(t)});n.then(i,r).finally(()=>o.dispose())})}class qht{constructor(){this.isDisposed=!1,this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(e){if(this.isDisposed)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){const t=()=>{if(this.queuedPromise=null,this.isDisposed)return;const i=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,i};this.queuedPromise=new Promise(i=>{this.activePromise.then(t,t).then(i)})}return new Promise((t,i)=>{this.queuedPromise.then(t,i)})}return this.activePromise=e(),new Promise((t,i)=>{this.activePromise.then(r=>{this.activePromise=null,t(r)},r=>{this.activePromise=null,i(r)})})}dispose(){this.isDisposed=!0}}const emt=(n,e)=>{let t=!0;const i=setTimeout(()=>{t=!1,e()},n);return{isTriggered:()=>t,dispose:()=>{clearTimeout(i),t=!1}}},tmt=n=>{let e=!0;return queueMicrotask(()=>{e&&(e=!1,n())}),{isTriggered:()=>e,dispose:()=>{e=!1}}};class Fd{constructor(e){this.defaultDelay=e,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(e,t=this.defaultDelay){this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((r,o)=>{this.doResolve=r,this.doReject=o}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const r=this.task;return this.task=null,r()}}));const i=()=>{var r;this.deferred=null,(r=this.doResolve)===null||r===void 0||r.call(this,null)};return this.deferred=t===Gbe?tmt(i):emt(t,i),this.completionPromise}isTriggered(){var e;return!!(!((e=this.deferred)===null||e===void 0)&&e.isTriggered())}cancel(){var e;this.cancelTimeout(),this.completionPromise&&((e=this.doReject)===null||e===void 0||e.call(this,new Lg),this.completionPromise=null)}cancelTimeout(){var e;(e=this.deferred)===null||e===void 0||e.dispose(),this.deferred=null}dispose(){this.cancel()}}class Xbe{constructor(e){this.delayer=new Fd(e),this.throttler=new qht}trigger(e,t){return this.delayer.trigger(()=>this.throttler.queue(e),t)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}}function Bv(n,e){return e?new Promise((t,i)=>{const r=setTimeout(()=>{o.dispose(),t()},n),o=e.onCancellationRequested(()=>{clearTimeout(r),o.dispose(),i(new Lg)})}):rs(t=>Bv(n,t))}function Gb(n,e=0,t){const i=setTimeout(()=>{n(),t&&r.dispose()},e),r=jt(()=>{clearTimeout(i),t==null||t.deleteAndLeak(r)});return t==null||t.add(r),r}function BH(n,e=i=>!!i,t=null){let i=0;const r=n.length,o=()=>{if(i>=r)return Promise.resolve(t);const s=n[i++];return Promise.resolve(s()).then(l=>e(l)?Promise.resolve(l):o())};return o()}class Id{constructor(e,t){this._token=-1,typeof e=="function"&&typeof t=="number"&&this.setIfNotSet(e,t)}dispose(){this.cancel()}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){this.cancel(),this._token=setTimeout(()=>{this._token=-1,e()},t)}setIfNotSet(e,t){this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,e()},t))}}class zH{constructor(){this.disposable=void 0}cancel(){var e;(e=this.disposable)===null||e===void 0||e.dispose(),this.disposable=void 0}cancelAndSet(e,t,i=globalThis){this.cancel();const r=i.setInterval(()=>{e()},t);this.disposable=jt(()=>{i.clearInterval(r),this.disposable=void 0})}dispose(){this.cancel()}}class Ri{constructor(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)}get delay(){return this.timeout}set delay(e){this.timeout=e}isScheduled(){return this.timeoutToken!==-1}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){var e;(e=this.runner)===null||e===void 0||e.call(this)}}let Pbe,KF;(function(){typeof globalThis.requestIdleCallback!="function"||typeof globalThis.cancelIdleCallback!="function"?KF=(n,e)=>{Fbe(()=>{if(t)return;const i=Date.now()+15;e(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,i-Date.now())}}))});let t=!1;return{dispose(){t||(t=!0)}}}:KF=(n,e,t)=>{const i=n.requestIdleCallback(e,typeof t=="number"?{timeout:t}:void 0);let r=!1;return{dispose(){r||(r=!0,n.cancelIdleCallback(i))}}},Pbe=n=>KF(globalThis,n)})();class Obe{constructor(e,t){this._didRun=!1,this._executor=()=>{try{this._value=t()}catch(i){this._error=i}finally{this._didRun=!0}},this._handle=KF(e,()=>this._executor())}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}class nmt extends Obe{constructor(e){super(globalThis,e)}}class XZ{get isRejected(){var e;return((e=this.outcome)===null||e===void 0?void 0:e.outcome)===1}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise((e,t)=>{this.completeCallback=e,this.errorCallback=t})}complete(e){return new Promise(t=>{this.completeCallback(e),this.outcome={outcome:0,value:e},t()})}error(e){return new Promise(t=>{this.errorCallback(e),this.outcome={outcome:1,value:e},t()})}cancel(){return this.error(new Lg)}}var HH;(function(n){async function e(i){let r;const o=await Promise.all(i.map(s=>s.then(a=>a,a=>{r||(r=a)})));if(typeof r<"u")throw r;return o}n.settled=e;function t(i){return new Promise(async(r,o)=>{try{await i(r,o)}catch(s){o(s)}})}n.withAsyncBody=t})(HH||(HH={}));class Fo{static fromArray(e){return new Fo(t=>{t.emitMany(e)})}static fromPromise(e){return new Fo(async t=>{t.emitMany(await e)})}static fromPromises(e){return new Fo(async t=>{await Promise.all(e.map(async i=>t.emitOne(await i)))})}static merge(e){return new Fo(async t=>{await Promise.all(e.map(async i=>{for await(const r of i)t.emitOne(r)}))})}constructor(e){this._state=0,this._results=[],this._error=null,this._onStateChanged=new be,queueMicrotask(async()=>{const t={emitOne:i=>this.emitOne(i),emitMany:i=>this.emitMany(i),reject:i=>this.reject(i)};try{await Promise.resolve(e(t)),this.resolve()}catch(i){this.reject(i)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(e{for await(const r of e)i.emitOne(t(r))})}map(e){return Fo.map(this,e)}static filter(e,t){return new Fo(async i=>{for await(const r of e)t(r)&&i.emitOne(r)})}filter(e){return Fo.filter(this,e)}static coalesce(e){return Fo.filter(e,t=>!!t)}coalesce(){return Fo.coalesce(this)}static async toPromise(e){const t=[];for await(const i of e)t.push(i);return t}toPromise(){return Fo.toPromise(this)}emitOne(e){this._state===0&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===0&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(e){this._state===0&&(this._state=2,this._error=e,this._onStateChanged.fire())}}Fo.EMPTY=Fo.fromArray([]);class imt extends Fo{constructor(e,t){super(t),this._source=e}cancel(){this._source.cancel()}}function rmt(n){const e=new fo,t=n(e.token);return new imt(e,async i=>{const r=e.token.onCancellationRequested(()=>{r.dispose(),e.dispose(),i.reject(new Lg)});try{for await(const o of t){if(e.token.isCancellationRequested)return;i.emitOne(o)}r.dispose(),e.dispose()}catch(o){r.dispose(),e.dispose(),i.reject(o)}})}/*! @license DOMPurify 3.0.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.5/LICENSE */const{entries:Bbe,setPrototypeOf:zbe,isFrozen:omt,getPrototypeOf:smt,getOwnPropertyDescriptor:amt}=Object;let{freeze:ou,seal:xh,create:lmt}=Object,{apply:YH,construct:UH}=typeof Reflect<"u"&&Reflect;YH||(YH=function(e,t,i){return e.apply(t,i)}),ou||(ou=function(e){return e}),xh||(xh=function(e){return e}),UH||(UH=function(e,t){return new e(...t)});const umt=Dd(Array.prototype.forEach),Hbe=Dd(Array.prototype.pop),JF=Dd(Array.prototype.push),PZ=Dd(String.prototype.toLowerCase),KH=Dd(String.prototype.toString),cmt=Dd(String.prototype.match),Lh=Dd(String.prototype.replace),dmt=Dd(String.prototype.indexOf),hmt=Dd(String.prototype.trim),Mc=Dd(RegExp.prototype.test),jF=mmt(TypeError);function Dd(n){return function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r/gm),vmt=xh(/\${[\w\W]*}/gm),ymt=xh(/^data-[\-\w.\u00B7-\uFFFF]/),Cmt=xh(/^aria-[\-\w]+$/),jbe=xh(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),wmt=xh(/^(?:\w+script|data):/i),Smt=xh(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Qbe=xh(/^html$/i);var $be=Object.freeze({__proto__:null,MUSTACHE_EXPR:pmt,ERB_EXPR:bmt,TMPLIT_EXPR:vmt,DATA_ATTR:ymt,ARIA_ATTR:Cmt,IS_ALLOWED_URI:jbe,IS_SCRIPT_OR_DATA:wmt,ATTR_WHITESPACE:Smt,DOCTYPE_NAME:Qbe});const xmt=()=>typeof window>"u"?null:window,Lmt=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let i=null;const r="data-tt-policy-suffix";t&&t.hasAttribute(r)&&(i=t.getAttribute(r));const o="dompurify"+(i?"#"+i:"");try{return e.createPolicy(o,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return null}};function qbe(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:xmt();const e=Tt=>qbe(Tt);if(e.version="3.0.5",e.removed=[],!n||!n.document||n.document.nodeType!==9)return e.isSupported=!1,e;const t=n.document,i=t.currentScript;let{document:r}=n;const{DocumentFragment:o,HTMLTemplateElement:s,Node:a,Element:l,NodeFilter:u,NamedNodeMap:c=n.NamedNodeMap||n.MozNamedAttrMap,HTMLFormElement:d,DOMParser:h,trustedTypes:m}=n,f=l.prototype,g=OZ(f,"cloneNode"),b=OZ(f,"nextSibling"),v=OZ(f,"childNodes"),C=OZ(f,"parentNode");if(typeof s=="function"){const Tt=r.createElement("template");Tt.content&&Tt.content.ownerDocument&&(r=Tt.content.ownerDocument)}let S,x="";const{implementation:_,createNodeIterator:F,createDocumentFragment:D,getElementsByTagName:M}=r,{importNode:T}=t;let Z={};e.isSupported=typeof Bbe=="function"&&typeof C=="function"&&_&&_.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:E,ERB_EXPR:R,TMPLIT_EXPR:W,DATA_ATTR:A,ARIA_ATTR:z,IS_SCRIPT_OR_DATA:O,ATTR_WHITESPACE:B}=$be;let{IS_ALLOWED_URI:P}=$be,H=null;const k=Vi({},[...Ybe,...JH,...jH,...QH,...Ube]);let X=null;const Y=Vi({},[...Kbe,...$H,...Jbe,...BZ]);let V=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),te=null,oe=null,ae=!0,le=!0,ue=!1,Ce=!0,pe=!1,ce=!1,De=!1,ke=!1,Ne=!1,Ue=!1,He=!1,ct=!0,vt=!1;const it="user-content-";let he=!0,de=!1,me={},j=null;const $=Vi({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let q=null;const ee=Vi({},["audio","video","img","source","image","track"]);let ve=null;const Le=Vi({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Me="http://www.w3.org/1998/Math/MathML",Be="http://www.w3.org/2000/svg",$e="http://www.w3.org/1999/xhtml";let Re=$e,ht=!1,Ye=null;const Ge=Vi({},[Me,Be,$e],KH);let mt;const St=["application/xhtml+xml","text/html"],Kt="text/html";let Rt,Yt=null;const Tn=r.createElement("form"),li=function(we){return we instanceof RegExp||we instanceof Function},Et=function(we){if(!(Yt&&Yt===we)){if((!we||typeof we!="object")&&(we={}),we=fS(we),mt=St.indexOf(we.PARSER_MEDIA_TYPE)===-1?mt=Kt:mt=we.PARSER_MEDIA_TYPE,Rt=mt==="application/xhtml+xml"?KH:PZ,H="ALLOWED_TAGS"in we?Vi({},we.ALLOWED_TAGS,Rt):k,X="ALLOWED_ATTR"in we?Vi({},we.ALLOWED_ATTR,Rt):Y,Ye="ALLOWED_NAMESPACES"in we?Vi({},we.ALLOWED_NAMESPACES,KH):Ge,ve="ADD_URI_SAFE_ATTR"in we?Vi(fS(Le),we.ADD_URI_SAFE_ATTR,Rt):Le,q="ADD_DATA_URI_TAGS"in we?Vi(fS(ee),we.ADD_DATA_URI_TAGS,Rt):ee,j="FORBID_CONTENTS"in we?Vi({},we.FORBID_CONTENTS,Rt):$,te="FORBID_TAGS"in we?Vi({},we.FORBID_TAGS,Rt):{},oe="FORBID_ATTR"in we?Vi({},we.FORBID_ATTR,Rt):{},me="USE_PROFILES"in we?we.USE_PROFILES:!1,ae=we.ALLOW_ARIA_ATTR!==!1,le=we.ALLOW_DATA_ATTR!==!1,ue=we.ALLOW_UNKNOWN_PROTOCOLS||!1,Ce=we.ALLOW_SELF_CLOSE_IN_ATTR!==!1,pe=we.SAFE_FOR_TEMPLATES||!1,ce=we.WHOLE_DOCUMENT||!1,Ne=we.RETURN_DOM||!1,Ue=we.RETURN_DOM_FRAGMENT||!1,He=we.RETURN_TRUSTED_TYPE||!1,ke=we.FORCE_BODY||!1,ct=we.SANITIZE_DOM!==!1,vt=we.SANITIZE_NAMED_PROPS||!1,he=we.KEEP_CONTENT!==!1,de=we.IN_PLACE||!1,P=we.ALLOWED_URI_REGEXP||jbe,Re=we.NAMESPACE||$e,V=we.CUSTOM_ELEMENT_HANDLING||{},we.CUSTOM_ELEMENT_HANDLING&&li(we.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(V.tagNameCheck=we.CUSTOM_ELEMENT_HANDLING.tagNameCheck),we.CUSTOM_ELEMENT_HANDLING&&li(we.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(V.attributeNameCheck=we.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),we.CUSTOM_ELEMENT_HANDLING&&typeof we.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(V.allowCustomizedBuiltInElements=we.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),pe&&(le=!1),Ue&&(Ne=!0),me&&(H=Vi({},[...Ube]),X=[],me.html===!0&&(Vi(H,Ybe),Vi(X,Kbe)),me.svg===!0&&(Vi(H,JH),Vi(X,$H),Vi(X,BZ)),me.svgFilters===!0&&(Vi(H,jH),Vi(X,$H),Vi(X,BZ)),me.mathMl===!0&&(Vi(H,QH),Vi(X,Jbe),Vi(X,BZ))),we.ADD_TAGS&&(H===k&&(H=fS(H)),Vi(H,we.ADD_TAGS,Rt)),we.ADD_ATTR&&(X===Y&&(X=fS(X)),Vi(X,we.ADD_ATTR,Rt)),we.ADD_URI_SAFE_ATTR&&Vi(ve,we.ADD_URI_SAFE_ATTR,Rt),we.FORBID_CONTENTS&&(j===$&&(j=fS(j)),Vi(j,we.FORBID_CONTENTS,Rt)),he&&(H["#text"]=!0),ce&&Vi(H,["html","head","body"]),H.table&&(Vi(H,["tbody"]),delete te.tbody),we.TRUSTED_TYPES_POLICY){if(typeof we.TRUSTED_TYPES_POLICY.createHTML!="function")throw jF('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof we.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw jF('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');S=we.TRUSTED_TYPES_POLICY,x=S.createHTML("")}else S===void 0&&(S=Lmt(m,i)),S!==null&&typeof x=="string"&&(x=S.createHTML(""));ou&&ou(we),Yt=we}},kt=Vi({},["mi","mo","mn","ms","mtext"]),fe=Vi({},["foreignobject","desc","title","annotation-xml"]),_e=Vi({},["title","style","font","a","script"]),We=Vi({},JH);Vi(We,jH),Vi(We,fmt);const Xe=Vi({},QH);Vi(Xe,gmt);const ft=function(we){let Ke=C(we);(!Ke||!Ke.tagName)&&(Ke={namespaceURI:Re,tagName:"template"});const dt=PZ(we.tagName),nn=PZ(Ke.tagName);return Ye[we.namespaceURI]?we.namespaceURI===Be?Ke.namespaceURI===$e?dt==="svg":Ke.namespaceURI===Me?dt==="svg"&&(nn==="annotation-xml"||kt[nn]):!!We[dt]:we.namespaceURI===Me?Ke.namespaceURI===$e?dt==="math":Ke.namespaceURI===Be?dt==="math"&&fe[nn]:!!Xe[dt]:we.namespaceURI===$e?Ke.namespaceURI===Be&&!fe[nn]||Ke.namespaceURI===Me&&!kt[nn]?!1:!Xe[dt]&&(_e[dt]||!We[dt]):!!(mt==="application/xhtml+xml"&&Ye[we.namespaceURI]):!1},Nt=function(we){JF(e.removed,{element:we});try{we.parentNode.removeChild(we)}catch{we.remove()}},et=function(we,Ke){try{JF(e.removed,{attribute:Ke.getAttributeNode(we),from:Ke})}catch{JF(e.removed,{attribute:null,from:Ke})}if(Ke.removeAttribute(we),we==="is"&&!X[we])if(Ne||Ue)try{Nt(Ke)}catch{}else try{Ke.setAttribute(we,"")}catch{}},rt=function(we){let Ke,dt;if(ke)we=""+we;else{const Wn=cmt(we,/^[\r\n\t ]+/);dt=Wn&&Wn[0]}mt==="application/xhtml+xml"&&Re===$e&&(we=''+we+"");const nn=S?S.createHTML(we):we;if(Re===$e)try{Ke=new h().parseFromString(nn,mt)}catch{}if(!Ke||!Ke.documentElement){Ke=_.createDocument(Re,"template",null);try{Ke.documentElement.innerHTML=ht?x:nn}catch{}}const jn=Ke.body||Ke.documentElement;return we&&dt&&jn.insertBefore(r.createTextNode(dt),jn.childNodes[0]||null),Re===$e?M.call(Ke,ce?"html":"body")[0]:ce?Ke.documentElement:jn},yt=function(we){return F.call(we.ownerDocument||we,we,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT,null,!1)},Ft=function(we){return we instanceof d&&(typeof we.nodeName!="string"||typeof we.textContent!="string"||typeof we.removeChild!="function"||!(we.attributes instanceof c)||typeof we.removeAttribute!="function"||typeof we.setAttribute!="function"||typeof we.namespaceURI!="string"||typeof we.insertBefore!="function"||typeof we.hasChildNodes!="function")},tn=function(we){return typeof a=="object"?we instanceof a:we&&typeof we=="object"&&typeof we.nodeType=="number"&&typeof we.nodeName=="string"},Jt=function(we,Ke,dt){Z[we]&&umt(Z[we],nn=>{nn.call(e,Ke,dt,Yt)})},qt=function(we){let Ke;if(Jt("beforeSanitizeElements",we,null),Ft(we))return Nt(we),!0;const dt=Rt(we.nodeName);if(Jt("uponSanitizeElement",we,{tagName:dt,allowedTags:H}),we.hasChildNodes()&&!tn(we.firstElementChild)&&(!tn(we.content)||!tn(we.content.firstElementChild))&&Mc(/<[/\w]/g,we.innerHTML)&&Mc(/<[/\w]/g,we.textContent))return Nt(we),!0;if(!H[dt]||te[dt]){if(!te[dt]&&mn(dt)&&(V.tagNameCheck instanceof RegExp&&Mc(V.tagNameCheck,dt)||V.tagNameCheck instanceof Function&&V.tagNameCheck(dt)))return!1;if(he&&!j[dt]){const nn=C(we)||we.parentNode,jn=v(we)||we.childNodes;if(jn&&nn){const Wn=jn.length;for(let rn=Wn-1;rn>=0;--rn)nn.insertBefore(g(jn[rn],!0),b(we))}}return Nt(we),!0}return we instanceof l&&!ft(we)||(dt==="noscript"||dt==="noembed"||dt==="noframes")&&Mc(/<\/no(script|embed|frames)/i,we.innerHTML)?(Nt(we),!0):(pe&&we.nodeType===3&&(Ke=we.textContent,Ke=Lh(Ke,E," "),Ke=Lh(Ke,R," "),Ke=Lh(Ke,W," "),we.textContent!==Ke&&(JF(e.removed,{element:we.cloneNode()}),we.textContent=Ke)),Jt("afterSanitizeElements",we,null),!1)},Mn=function(we,Ke,dt){if(ct&&(Ke==="id"||Ke==="name")&&(dt in r||dt in Tn))return!1;if(!(le&&!oe[Ke]&&Mc(A,Ke))){if(!(ae&&Mc(z,Ke))){if(!X[Ke]||oe[Ke]){if(!(mn(we)&&(V.tagNameCheck instanceof RegExp&&Mc(V.tagNameCheck,we)||V.tagNameCheck instanceof Function&&V.tagNameCheck(we))&&(V.attributeNameCheck instanceof RegExp&&Mc(V.attributeNameCheck,Ke)||V.attributeNameCheck instanceof Function&&V.attributeNameCheck(Ke))||Ke==="is"&&V.allowCustomizedBuiltInElements&&(V.tagNameCheck instanceof RegExp&&Mc(V.tagNameCheck,dt)||V.tagNameCheck instanceof Function&&V.tagNameCheck(dt))))return!1}else if(!ve[Ke]){if(!Mc(P,Lh(dt,B,""))){if(!((Ke==="src"||Ke==="xlink:href"||Ke==="href")&&we!=="script"&&dmt(dt,"data:")===0&&q[we])){if(!(ue&&!Mc(O,Lh(dt,B,"")))){if(dt)return!1}}}}}}return!0},mn=function(we){return we.indexOf("-")>0},Ot=function(we){let Ke,dt,nn,jn;Jt("beforeSanitizeAttributes",we,null);const{attributes:Wn}=we;if(!Wn)return;const rn={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:X};for(jn=Wn.length;jn--;){Ke=Wn[jn];const{name:fi,namespaceURI:_n}=Ke;if(dt=fi==="value"?Ke.value:hmt(Ke.value),nn=Rt(fi),rn.attrName=nn,rn.attrValue=dt,rn.keepAttr=!0,rn.forceKeepAttr=void 0,Jt("uponSanitizeAttribute",we,rn),dt=rn.attrValue,rn.forceKeepAttr||(et(fi,we),!rn.keepAttr))continue;if(!Ce&&Mc(/\/>/i,dt)){et(fi,we);continue}pe&&(dt=Lh(dt,E," "),dt=Lh(dt,R," "),dt=Lh(dt,W," "));const gi=Rt(we.nodeName);if(Mn(gi,nn,dt)){if(vt&&(nn==="id"||nn==="name")&&(et(fi,we),dt=it+dt),S&&typeof m=="object"&&typeof m.getAttributeType=="function"&&!_n)switch(m.getAttributeType(gi,nn)){case"TrustedHTML":{dt=S.createHTML(dt);break}case"TrustedScriptURL":{dt=S.createScriptURL(dt);break}}try{_n?we.setAttributeNS(_n,fi,dt):we.setAttribute(fi,dt),Hbe(e.removed)}catch{}}}Jt("afterSanitizeAttributes",we,null)},gn=function Tt(we){let Ke;const dt=yt(we);for(Jt("beforeSanitizeShadowDOM",we,null);Ke=dt.nextNode();)Jt("uponSanitizeShadowNode",Ke,null),!qt(Ke)&&(Ke.content instanceof o&&Tt(Ke.content),Ot(Ke));Jt("afterSanitizeShadowDOM",we,null)};return e.sanitize=function(Tt){let we=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Ke,dt,nn,jn;if(ht=!Tt,ht&&(Tt=""),typeof Tt!="string"&&!tn(Tt))if(typeof Tt.toString=="function"){if(Tt=Tt.toString(),typeof Tt!="string")throw jF("dirty is not a string, aborting")}else throw jF("toString is not a function");if(!e.isSupported)return Tt;if(De||Et(we),e.removed=[],typeof Tt=="string"&&(de=!1),de){if(Tt.nodeName){const fi=Rt(Tt.nodeName);if(!H[fi]||te[fi])throw jF("root node is forbidden and cannot be sanitized in-place")}}else if(Tt instanceof a)Ke=rt(""),dt=Ke.ownerDocument.importNode(Tt,!0),dt.nodeType===1&&dt.nodeName==="BODY"||dt.nodeName==="HTML"?Ke=dt:Ke.appendChild(dt);else{if(!Ne&&!pe&&!ce&&Tt.indexOf("<")===-1)return S&&He?S.createHTML(Tt):Tt;if(Ke=rt(Tt),!Ke)return Ne?null:He?x:""}Ke&&ke&&Nt(Ke.firstChild);const Wn=yt(de?Tt:Ke);for(;nn=Wn.nextNode();)qt(nn)||(nn.content instanceof o&&gn(nn.content),Ot(nn));if(de)return Tt;if(Ne){if(Ue)for(jn=D.call(Ke.ownerDocument);Ke.firstChild;)jn.appendChild(Ke.firstChild);else jn=Ke;return(X.shadowroot||X.shadowrootmode)&&(jn=T.call(t,jn,!0)),jn}let rn=ce?Ke.outerHTML:Ke.innerHTML;return ce&&H["!doctype"]&&Ke.ownerDocument&&Ke.ownerDocument.doctype&&Ke.ownerDocument.doctype.name&&Mc(Qbe,Ke.ownerDocument.doctype.name)&&(rn=" -`+rn),pe&&(rn=Lh(rn,E," "),rn=Lh(rn,R," "),rn=Lh(rn,W," ")),S&&He?S.createHTML(rn):rn},e.setConfig=function(Tt){Et(Tt),De=!0},e.clearConfig=function(){Yt=null,De=!1},e.isValidAttribute=function(Tt,we,Ke){Yt||Et({});const dt=Rt(Tt),nn=Rt(we);return Mn(dt,nn,Ke)},e.addHook=function(Tt,we){typeof we=="function"&&(Z[Tt]=Z[Tt]||[],JF(Z[Tt],we))},e.removeHook=function(Tt){if(Z[Tt])return Hbe(Z[Tt])},e.removeHooks=function(Tt){Z[Tt]&&(Z[Tt]=[])},e.removeAllHooks=function(){Z={}},e}var Xm=qbe();Xm.version,Xm.isSupported;const e0e=Xm.sanitize;Xm.setConfig,Xm.clearConfig,Xm.isValidAttribute;const qH=Xm.addHook,t0e=Xm.removeHook;Xm.removeHooks,Xm.removeAllHooks;class _mt{constructor(e,t=JSON.stringify){this.fn=e,this._computeKey=t,this.lastCache=void 0,this.lastArgKey=void 0}get(e){const t=this._computeKey(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this.fn(e)),this.lastCache}}class n0e{get cachedValues(){return this._map}constructor(e){this.fn=e,this._map=new Map}get(e){if(this._map.has(e))return this._map.get(e);const t=this.fn(e);return this._map.set(e,t),t}}class _h{constructor(e){this.executor=e,this._didRun=!1}get value(){if(!this._didRun)try{this._value=this.executor()}catch(e){this._error=e}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}var gS;function i0e(n){return!n||typeof n!="string"?!0:n.trim().length===0}const Fmt=/{(\d+)}/g;function pS(n,...e){return e.length===0?n:n.replace(Fmt,function(t,i){const r=parseInt(i,10);return isNaN(r)||r<0||r>=e.length?t:e[r]})}function Imt(n){return n.replace(/[<>"'&]/g,e=>{switch(e){case"<":return"<";case">":return">";case'"':return""";case"'":return"'";case"&":return"&"}return e})}function zZ(n){return n.replace(/[<>&]/g,function(e){switch(e){case"<":return"<";case">":return">";case"&":return"&";default:return e}})}function Ru(n){return n.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function HZ(n,e){if(!n||!e)return n;const t=e.length;if(t===0||n.length===0)return n;let i=0;for(;n.indexOf(e,i)===i;)i=i+t;return n.substring(i)}function Dmt(n,e){if(!n||!e)return n;const t=e.length,i=n.length;if(t===0||i===0)return n;let r=i,o=-1;for(;o=n.lastIndexOf(e,r-1),!(o===-1||o+t!==r);){if(o===0)return"";r=o}return n.substring(0,r)}function Mmt(n){return n.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")}function r0e(n,e,t={}){if(!n)throw new Error("Cannot create regex from empty string");e||(n=Ru(n)),t.wholeWord&&(/\B/.test(n.charAt(0))||(n="\\b"+n),/\B/.test(n.charAt(n.length-1))||(n=n+"\\b"));let i="";return t.global&&(i+="g"),t.matchCase||(i+="i"),t.multiline&&(i+="m"),t.unicode&&(i+="u"),new RegExp(n,i)}function kmt(n){return n.source==="^"||n.source==="^$"||n.source==="$"||n.source==="^\\s*$"?!1:!!(n.exec("")&&n.lastIndex===0)}function Pm(n){return n.split(/\r\n|\r|\n/)}function Nmt(n){var e;const t=[],i=n.split(/(\r\n|\r|\n)/);for(let r=0;r=0;t--){const i=n.charCodeAt(t);if(i!==32&&i!==9)return t}return-1}function QF(n,e){return ne?1:0}function eY(n,e,t=0,i=n.length,r=0,o=e.length){for(;tu)return 1}const s=i-t,a=o-r;return sa?1:0}function tY(n,e){return $F(n,e,0,n.length,0,e.length)}function $F(n,e,t=0,i=n.length,r=0,o=e.length){for(;t=128||u>=128)return eY(n.toLowerCase(),e.toLowerCase(),t,i,r,o);Xb(l)&&(l-=32),Xb(u)&&(u-=32);const c=l-u;if(c!==0)return c}const s=i-t,a=o-r;return sa?1:0}function YZ(n){return n>=48&&n<=57}function Xb(n){return n>=97&&n<=122}function Om(n){return n>=65&&n<=90}function bS(n,e){return n.length===e.length&&$F(n,e)===0}function nY(n,e){const t=e.length;return e.length>n.length?!1:$F(n,e,0,t)===0}function Pb(n,e){const t=Math.min(n.length,e.length);let i;for(i=0;i1){const i=n.charCodeAt(e-2);if(os(i))return iY(i,t)}return t}class rY{get offset(){return this._offset}constructor(e,t=0){this._str=e,this._len=e.length,this._offset=t}setOffset(e){this._offset=e}prevCodePoint(){const e=Tmt(this._str,this._offset);return this._offset-=e>=65536?2:1,e}nextCodePoint(){const e=KZ(this._str,this._len,this._offset);return this._offset+=e>=65536?2:1,e}eol(){return this._offset>=this._len}}class JZ{get offset(){return this._iterator.offset}constructor(e,t=0){this._iterator=new rY(e,t)}nextGraphemeLength(){const e=Bb.getInstance(),t=this._iterator,i=t.offset;let r=e.getGraphemeBreakType(t.nextCodePoint());for(;!t.eol();){const o=t.offset,s=e.getGraphemeBreakType(t.nextCodePoint());if(u0e(r,s)){t.setOffset(o);break}r=s}return t.offset-i}prevGraphemeLength(){const e=Bb.getInstance(),t=this._iterator,i=t.offset;let r=e.getGraphemeBreakType(t.prevCodePoint());for(;t.offset>0;){const o=t.offset,s=e.getGraphemeBreakType(t.prevCodePoint());if(u0e(s,r)){t.setOffset(o);break}r=s}return i-t.offset}eol(){return this._iterator.eol()}}function oY(n,e){return new JZ(n,e).nextGraphemeLength()}function o0e(n,e){return new JZ(n,e).prevGraphemeLength()}function Emt(n,e){e>0&&zv(n.charCodeAt(e))&&e--;const t=e+oY(n,e);return[t-o0e(n,t),t]}let sY;function Zmt(){return/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/}function vS(n){return sY||(sY=Zmt()),sY.test(n)}const Wmt=/^[\t\n\r\x20-\x7E]*$/;function qF(n){return Wmt.test(n)}const s0e=/[\u2028\u2029]/;function a0e(n){return s0e.test(n)}function Ob(n){return n>=11904&&n<=55215||n>=63744&&n<=64255||n>=65281&&n<=65374}function aY(n){return n>=127462&&n<=127487||n===8986||n===8987||n===9200||n===9203||n>=9728&&n<=10175||n===11088||n===11093||n>=127744&&n<=128591||n>=128640&&n<=128764||n>=128992&&n<=129008||n>=129280&&n<=129535||n>=129648&&n<=129782}const Rmt="\uFEFF";function lY(n){return!!(n&&n.length>0&&n.charCodeAt(0)===65279)}function Vmt(n,e=!1){return n?(e&&(n=n.replace(/\\./g,"")),n.toLowerCase()!==n):!1}function l0e(n){return n=n%(2*26),n<26?String.fromCharCode(97+n):String.fromCharCode(65+n-26)}function u0e(n,e){return n===0?e!==5&&e!==7:n===2&&e===3?!1:n===4||n===2||n===3||e===4||e===2||e===3?!0:!(n===8&&(e===8||e===9||e===11||e===12)||(n===11||n===9)&&(e===9||e===10)||(n===12||n===10)&&e===10||e===5||e===13||e===7||n===1||n===13&&e===14||n===6&&e===6)}class Bb{static getInstance(){return Bb._INSTANCE||(Bb._INSTANCE=new Bb),Bb._INSTANCE}constructor(){this._data=Amt()}getGraphemeBreakType(e){if(e<32)return e===10?3:e===13?2:4;if(e<127)return 0;const t=this._data,i=t.length/3;let r=1;for(;r<=i;)if(et[3*r+1])r=2*r+1;else return t[3*r+2];return 0}}Bb._INSTANCE=null;function Amt(){return JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]")}function Gmt(n,e){if(n===0)return 0;const t=Xmt(n,e);if(t!==void 0)return t;const i=new rY(e,n);return i.prevCodePoint(),i.offset}function Xmt(n,e){const t=new rY(e,n);let i=t.prevCodePoint();for(;Pmt(i)||i===65039||i===8419;){if(t.offset===0)return;i=t.prevCodePoint()}if(!aY(i))return;let r=t.offset;return r>0&&t.prevCodePoint()===8205&&(r=t.offset),r}function Pmt(n){return 127995<=n&&n<=127999}const c0e=" ";class Hv{static getInstance(e){return gS.cache.get(Array.from(e))}static getLocales(){return gS._locales.value}constructor(e){this.confusableDictionary=e}isAmbiguous(e){return this.confusableDictionary.has(e)}getPrimaryConfusable(e){return this.confusableDictionary.get(e)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}gS=Hv,Hv.ambiguousCharacterData=new _h(()=>JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,8218,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,8242,96,1370,96,1523,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71922,67,71913,67,65315,67,8557,67,8450,67,8493,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71919,87,71910,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,66293,90,71909,90,65338,90,8484,90,8488,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],"_default":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"cs":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"es":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"fr":[65374,126,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"it":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ja":[8211,45,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65292,44,65307,59],"ko":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pt-BR":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ru":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"zh-hans":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],"zh-hant":[8211,45,65374,126,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65307,59]}')),Hv.cache=new _mt(n=>{function e(u){const c=new Map;for(let d=0;d!u.startsWith("_")&&u in r);o.length===0&&(o=["_default"]);let s;for(const u of o){const c=e(r[u]);s=i(s,c)}const a=e(r._common),l=t(a,s);return new gS(l)}),Hv._locales=new _h(()=>Object.keys(gS.ambiguousCharacterData.value).filter(n=>!n.startsWith("_")));class Bm{static getRawData(){return JSON.parse("[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]")}static getData(){return this._data||(this._data=new Set(Bm.getRawData())),this._data}static isInvisibleCharacter(e){return Bm.getData().has(e)}static get codePoints(){return Bm.getData()}}Bm._data=void 0;var d0e={TERM_PROGRAM:"vscode",NODE:"/Users/alexander/.nvm/versions/node/v20.9.0/bin/node",NVM_CD_FLAGS:"-q",INIT_CWD:"/Users/alexander/my-code/github/openapi-ui",SHELL:"/bin/zsh",TERM:"xterm-256color",TMPDIR:"/var/folders/7b/f28gh86d083_xqj9p9hs97k80000gn/T/",npm_config_global_prefix:"/Users/alexander/.nvm/versions/node/v20.9.0",TERM_PROGRAM_VERSION:"1.88.1",GVM_ROOT:"/Users/alexander/.gvm",MallocNanoZone:"0",ORIGINAL_XDG_CURRENT_DESKTOP:"undefined",ZDOTDIR:"/Users/alexander",COLOR:"1",npm_config_noproxy:"",ZSH:"/Users/alexander/.oh-my-zsh",PNPM_HOME:"/Users/alexander/Library/pnpm",npm_config_local_prefix:"/Users/alexander/my-code/github/openapi-ui",USER:"alexander",NVM_DIR:"/Users/alexander/.nvm",LD_LIBRARY_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:",COMMAND_MODE:"unix2003",npm_config_globalconfig:"/Users/alexander/.nvm/versions/node/v20.9.0/etc/npmrc",SSH_AUTH_SOCK:"/private/tmp/com.apple.launchd.LekgFF0iuk/Listeners",__CF_USER_TEXT_ENCODING:"0x1F5:0x19:0x34",npm_execpath:"/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/bin/npm-cli.js",PAGER:"less",LSCOLORS:"Gxfxcxdxbxegedabagacad",PATH:"/Users/alexander/my-code/github/openapi-ui/node_modules/.bin:/Users/alexander/my-code/github/node_modules/.bin:/Users/alexander/my-code/node_modules/.bin:/Users/alexander/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/mygo/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/alexander/.gvm/gos/go1.21.6/bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.nvm/versions/node/v20.9.0/bin:/Users/alexander/.cargo/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin",npm_package_json:"/Users/alexander/my-code/github/openapi-ui/package.json",__CFBundleIdentifier:"com.microsoft.VSCode",USER_ZDOTDIR:"/Users/alexander",npm_config_auto_install_peers:"true",npm_config_init_module:"/Users/alexander/.npm-init.js",npm_config_userconfig:"/Users/alexander/.npmrc",PWD:"/Users/alexander/my-code/github/openapi-ui",GVM_VERSION:"1.0.22",npm_command:"run-script",EDITOR:"vi",npm_lifecycle_event:"build:package",LANG:"zh_CN.UTF-8",npm_package_name:"openapi-ui-dist",gvm_pkgset_name:"global",NODE_PATH:"/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/vite@5.2.10_@types+node@20.12.7/node_modules/vite/bin/node_modules:/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/vite@5.2.10_@types+node@20.12.7/node_modules/vite/node_modules:/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/vite@5.2.10_@types+node@20.12.7/node_modules:/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/node_modules",XPC_FLAGS:"0x0",VSCODE_GIT_ASKPASS_EXTRA_ARGS:"",npm_config_npm_version:"10.1.0",npm_package_engines_node:"^18.0.0 || >=20.0.0",npm_config_node_gyp:"/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",XPC_SERVICE_NAME:"0",npm_package_version:"2.2.0",VSCODE_INJECTION:"1",HOME:"/Users/alexander",SHLVL:"2",VSCODE_GIT_ASKPASS_MAIN:"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js",GOROOT:"/Users/alexander/.gvm/gos/go1.21.6",DYLD_LIBRARY_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:",gvm_go_name:"go1.21.6",LOGNAME:"alexander",LESS:"-R",VSCODE_PATH_PREFIX:"/Users/alexander/.gvm/gos/go1.21.6/bin:",npm_config_cache:"/Users/alexander/.npm",GVM_OVERLAY_PREFIX:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay",npm_lifecycle_script:"tsc && vite build --config vite.package.config.ts --mode package",LC_CTYPE:"zh_CN.UTF-8",VSCODE_GIT_IPC_HANDLE:"/var/folders/7b/f28gh86d083_xqj9p9hs97k80000gn/T/vscode-git-79a18f10f2.sock",NVM_BIN:"/Users/alexander/.nvm/versions/node/v20.9.0/bin",PKG_CONFIG_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:",GOPATH:"/Users/alexander/mygo",npm_config_user_agent:"npm/10.1.0 node/v20.9.0 darwin x64 workspaces/false",GIT_ASKPASS:"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh",VSCODE_GIT_ASKPASS_NODE:"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)",GVM_PATH_BACKUP:"/Users/alexander/.gvm/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/mygo/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/alexander/.gvm/gos/go1.21.6/bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.nvm/versions/node/v20.9.0/bin:/Users/alexander/.cargo/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin",COLORTERM:"truecolor",npm_config_prefix:"/Users/alexander/.nvm/versions/node/v20.9.0",npm_node_execpath:"/Users/alexander/.nvm/versions/node/v20.9.0/bin/node",NODE_ENV:"production"};let yS;const uY=globalThis.vscode;if(typeof uY<"u"&&typeof uY.process<"u"){const n=uY.process;yS={get platform(){return n.platform},get arch(){return n.arch},get env(){return n.env},cwd(){return n.cwd()}}}else typeof process<"u"?yS={get platform(){return process.platform},get arch(){return process.arch},get env(){return d0e},cwd(){return d0e.VSCODE_CWD||process.cwd()}}:yS={get platform(){return ha?"win32":On?"darwin":"linux"},get arch(){},get env(){return{}},cwd(){return"/"}};const jZ=yS.cwd,cY=yS.env,Omt=yS.platform,Bmt=65,zmt=97,Hmt=90,Ymt=122,zb=46,Fa=47,Vu=92,Hb=58,Umt=63;class h0e extends Error{constructor(e,t,i){let r;typeof t=="string"&&t.indexOf("not ")===0?(r="must not be",t=t.replace(/^not /,"")):r="must be";const o=e.indexOf(".")!==-1?"property":"argument";let s=`The "${e}" ${o} ${r} of type ${t}`;s+=`. Received type ${typeof i}`,super(s),this.code="ERR_INVALID_ARG_TYPE"}}function Kmt(n,e){if(n===null||typeof n!="object")throw new h0e(e,"Object",n)}function gs(n,e){if(typeof n!="string")throw new h0e(e,"string",n)}const Yb=Omt==="win32";function Zi(n){return n===Fa||n===Vu}function dY(n){return n===Fa}function Ub(n){return n>=Bmt&&n<=Hmt||n>=zmt&&n<=Ymt}function QZ(n,e,t,i){let r="",o=0,s=-1,a=0,l=0;for(let u=0;u<=n.length;++u){if(u2){const c=r.lastIndexOf(t);c===-1?(r="",o=0):(r=r.slice(0,c),o=r.length-1-r.lastIndexOf(t)),s=u,a=0;continue}else if(r.length!==0){r="",o=0,s=u,a=0;continue}}e&&(r+=r.length>0?`${t}..`:"..",o=2)}else r.length>0?r+=`${t}${n.slice(s+1,u)}`:r=n.slice(s+1,u),o=u-s-1;s=u,a=0}else l===zb&&a!==-1?++a:a=-1}return r}function m0e(n,e){Kmt(e,"pathObject");const t=e.dir||e.root,i=e.base||`${e.name||""}${e.ext||""}`;return t?t===e.root?`${t}${i}`:`${t}${n}${i}`:i}const su={resolve(...n){let e="",t="",i=!1;for(let r=n.length-1;r>=-1;r--){let o;if(r>=0){if(o=n[r],gs(o,"path"),o.length===0)continue}else e.length===0?o=jZ():(o=cY[`=${e}`]||jZ(),(o===void 0||o.slice(0,2).toLowerCase()!==e.toLowerCase()&&o.charCodeAt(2)===Vu)&&(o=`${e}\\`));const s=o.length;let a=0,l="",u=!1;const c=o.charCodeAt(0);if(s===1)Zi(c)&&(a=1,u=!0);else if(Zi(c))if(u=!0,Zi(o.charCodeAt(1))){let d=2,h=d;for(;d2&&Zi(o.charCodeAt(2))&&(u=!0,a=3));if(l.length>0)if(e.length>0){if(l.toLowerCase()!==e.toLowerCase())continue}else e=l;if(i){if(e.length>0)break}else if(t=`${o.slice(a)}\\${t}`,i=u,u&&e.length>0)break}return t=QZ(t,!i,"\\",Zi),i?`${e}\\${t}`:`${e}${t}`||"."},normalize(n){gs(n,"path");const e=n.length;if(e===0)return".";let t=0,i,r=!1;const o=n.charCodeAt(0);if(e===1)return dY(o)?"\\":n;if(Zi(o))if(r=!0,Zi(n.charCodeAt(1))){let a=2,l=a;for(;a2&&Zi(n.charCodeAt(2))&&(r=!0,t=3));let s=t0&&Zi(n.charCodeAt(e-1))&&(s+="\\"),i===void 0?r?`\\${s}`:s:r?`${i}\\${s}`:`${i}${s}`},isAbsolute(n){gs(n,"path");const e=n.length;if(e===0)return!1;const t=n.charCodeAt(0);return Zi(t)||e>2&&Ub(t)&&n.charCodeAt(1)===Hb&&Zi(n.charCodeAt(2))},join(...n){if(n.length===0)return".";let e,t;for(let o=0;o0&&(e===void 0?e=t=s:e+=`\\${s}`)}if(e===void 0)return".";let i=!0,r=0;if(typeof t=="string"&&Zi(t.charCodeAt(0))){++r;const o=t.length;o>1&&Zi(t.charCodeAt(1))&&(++r,o>2&&(Zi(t.charCodeAt(2))?++r:i=!1))}if(i){for(;r=2&&(e=`\\${e.slice(r)}`)}return su.normalize(e)},relative(n,e){if(gs(n,"from"),gs(e,"to"),n===e)return"";const t=su.resolve(n),i=su.resolve(e);if(t===i||(n=t.toLowerCase(),e=i.toLowerCase(),n===e))return"";let r=0;for(;rr&&n.charCodeAt(o-1)===Vu;)o--;const s=o-r;let a=0;for(;aa&&e.charCodeAt(l-1)===Vu;)l--;const u=l-a,c=sc){if(e.charCodeAt(a+h)===Vu)return i.slice(a+h+1);if(h===2)return i.slice(a+h)}s>c&&(n.charCodeAt(r+h)===Vu?d=h:h===2&&(d=3)),d===-1&&(d=0)}let m="";for(h=r+d+1;h<=o;++h)(h===o||n.charCodeAt(h)===Vu)&&(m+=m.length===0?"..":"\\..");return a+=d,m.length>0?`${m}${i.slice(a,l)}`:(i.charCodeAt(a)===Vu&&++a,i.slice(a,l))},toNamespacedPath(n){if(typeof n!="string"||n.length===0)return n;const e=su.resolve(n);if(e.length<=2)return n;if(e.charCodeAt(0)===Vu){if(e.charCodeAt(1)===Vu){const t=e.charCodeAt(2);if(t!==Umt&&t!==zb)return`\\\\?\\UNC\\${e.slice(2)}`}}else if(Ub(e.charCodeAt(0))&&e.charCodeAt(1)===Hb&&e.charCodeAt(2)===Vu)return`\\\\?\\${e}`;return n},dirname(n){gs(n,"path");const e=n.length;if(e===0)return".";let t=-1,i=0;const r=n.charCodeAt(0);if(e===1)return Zi(r)?n:".";if(Zi(r)){if(t=i=1,Zi(n.charCodeAt(1))){let a=2,l=a;for(;a2&&Zi(n.charCodeAt(2))?3:2,i=t);let o=-1,s=!0;for(let a=e-1;a>=i;--a)if(Zi(n.charCodeAt(a))){if(!s){o=a;break}}else s=!1;if(o===-1){if(t===-1)return".";o=t}return n.slice(0,o)},basename(n,e){e!==void 0&&gs(e,"ext"),gs(n,"path");let t=0,i=-1,r=!0,o;if(n.length>=2&&Ub(n.charCodeAt(0))&&n.charCodeAt(1)===Hb&&(t=2),e!==void 0&&e.length>0&&e.length<=n.length){if(e===n)return"";let s=e.length-1,a=-1;for(o=n.length-1;o>=t;--o){const l=n.charCodeAt(o);if(Zi(l)){if(!r){t=o+1;break}}else a===-1&&(r=!1,a=o+1),s>=0&&(l===e.charCodeAt(s)?--s===-1&&(i=o):(s=-1,i=a))}return t===i?i=a:i===-1&&(i=n.length),n.slice(t,i)}for(o=n.length-1;o>=t;--o)if(Zi(n.charCodeAt(o))){if(!r){t=o+1;break}}else i===-1&&(r=!1,i=o+1);return i===-1?"":n.slice(t,i)},extname(n){gs(n,"path");let e=0,t=-1,i=0,r=-1,o=!0,s=0;n.length>=2&&n.charCodeAt(1)===Hb&&Ub(n.charCodeAt(0))&&(e=i=2);for(let a=n.length-1;a>=e;--a){const l=n.charCodeAt(a);if(Zi(l)){if(!o){i=a+1;break}continue}r===-1&&(o=!1,r=a+1),l===zb?t===-1?t=a:s!==1&&(s=1):t!==-1&&(s=-1)}return t===-1||r===-1||s===0||s===1&&t===r-1&&t===i+1?"":n.slice(t,r)},format:m0e.bind(null,"\\"),parse(n){gs(n,"path");const e={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return e;const t=n.length;let i=0,r=n.charCodeAt(0);if(t===1)return Zi(r)?(e.root=e.dir=n,e):(e.base=e.name=n,e);if(Zi(r)){if(i=1,Zi(n.charCodeAt(1))){let d=2,h=d;for(;d0&&(e.root=n.slice(0,i));let o=-1,s=i,a=-1,l=!0,u=n.length-1,c=0;for(;u>=i;--u){if(r=n.charCodeAt(u),Zi(r)){if(!l){s=u+1;break}continue}a===-1&&(l=!1,a=u+1),r===zb?o===-1?o=u:c!==1&&(c=1):o!==-1&&(c=-1)}return a!==-1&&(o===-1||c===0||c===1&&o===a-1&&o===s+1?e.base=e.name=n.slice(s,a):(e.name=n.slice(s,o),e.base=n.slice(s,a),e.ext=n.slice(o,a))),s>0&&s!==i?e.dir=n.slice(0,s-1):e.dir=e.root,e},sep:"\\",delimiter:";",win32:null,posix:null},Jmt=(()=>{if(Yb){const n=/\\/g;return()=>{const e=jZ().replace(n,"/");return e.slice(e.indexOf("/"))}}return()=>jZ()})(),Io={resolve(...n){let e="",t=!1;for(let i=n.length-1;i>=-1&&!t;i--){const r=i>=0?n[i]:Jmt();gs(r,"path"),r.length!==0&&(e=`${r}/${e}`,t=r.charCodeAt(0)===Fa)}return e=QZ(e,!t,"/",dY),t?`/${e}`:e.length>0?e:"."},normalize(n){if(gs(n,"path"),n.length===0)return".";const e=n.charCodeAt(0)===Fa,t=n.charCodeAt(n.length-1)===Fa;return n=QZ(n,!e,"/",dY),n.length===0?e?"/":t?"./":".":(t&&(n+="/"),e?`/${n}`:n)},isAbsolute(n){return gs(n,"path"),n.length>0&&n.charCodeAt(0)===Fa},join(...n){if(n.length===0)return".";let e;for(let t=0;t0&&(e===void 0?e=i:e+=`/${i}`)}return e===void 0?".":Io.normalize(e)},relative(n,e){if(gs(n,"from"),gs(e,"to"),n===e||(n=Io.resolve(n),e=Io.resolve(e),n===e))return"";const t=1,i=n.length,r=i-t,o=1,s=e.length-o,a=ra){if(e.charCodeAt(o+u)===Fa)return e.slice(o+u+1);if(u===0)return e.slice(o+u)}else r>a&&(n.charCodeAt(t+u)===Fa?l=u:u===0&&(l=0));let c="";for(u=t+l+1;u<=i;++u)(u===i||n.charCodeAt(u)===Fa)&&(c+=c.length===0?"..":"/..");return`${c}${e.slice(o+l)}`},toNamespacedPath(n){return n},dirname(n){if(gs(n,"path"),n.length===0)return".";const e=n.charCodeAt(0)===Fa;let t=-1,i=!0;for(let r=n.length-1;r>=1;--r)if(n.charCodeAt(r)===Fa){if(!i){t=r;break}}else i=!1;return t===-1?e?"/":".":e&&t===1?"//":n.slice(0,t)},basename(n,e){e!==void 0&&gs(e,"ext"),gs(n,"path");let t=0,i=-1,r=!0,o;if(e!==void 0&&e.length>0&&e.length<=n.length){if(e===n)return"";let s=e.length-1,a=-1;for(o=n.length-1;o>=0;--o){const l=n.charCodeAt(o);if(l===Fa){if(!r){t=o+1;break}}else a===-1&&(r=!1,a=o+1),s>=0&&(l===e.charCodeAt(s)?--s===-1&&(i=o):(s=-1,i=a))}return t===i?i=a:i===-1&&(i=n.length),n.slice(t,i)}for(o=n.length-1;o>=0;--o)if(n.charCodeAt(o)===Fa){if(!r){t=o+1;break}}else i===-1&&(r=!1,i=o+1);return i===-1?"":n.slice(t,i)},extname(n){gs(n,"path");let e=-1,t=0,i=-1,r=!0,o=0;for(let s=n.length-1;s>=0;--s){const a=n.charCodeAt(s);if(a===Fa){if(!r){t=s+1;break}continue}i===-1&&(r=!1,i=s+1),a===zb?e===-1?e=s:o!==1&&(o=1):e!==-1&&(o=-1)}return e===-1||i===-1||o===0||o===1&&e===i-1&&e===t+1?"":n.slice(e,i)},format:m0e.bind(null,"/"),parse(n){gs(n,"path");const e={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return e;const t=n.charCodeAt(0)===Fa;let i;t?(e.root="/",i=1):i=0;let r=-1,o=0,s=-1,a=!0,l=n.length-1,u=0;for(;l>=i;--l){const c=n.charCodeAt(l);if(c===Fa){if(!a){o=l+1;break}continue}s===-1&&(a=!1,s=l+1),c===zb?r===-1?r=l:u!==1&&(u=1):r!==-1&&(u=-1)}if(s!==-1){const c=o===0&&t?1:o;r===-1||u===0||u===1&&r===s-1&&r===o+1?e.base=e.name=n.slice(c,s):(e.name=n.slice(c,r),e.base=n.slice(c,s),e.ext=n.slice(r,s))}return o>0?e.dir=n.slice(0,o-1):t&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null};Io.win32=su.win32=su,Io.posix=su.posix=Io;const f0e=Yb?su.normalize:Io.normalize,jmt=Yb?su.resolve:Io.resolve,Qmt=Yb?su.relative:Io.relative,g0e=Yb?su.dirname:Io.dirname,Kb=Yb?su.basename:Io.basename,$mt=Yb?su.extname:Io.extname,Jb=Yb?su.sep:Io.sep,qmt=/^\w[\w\d+.-]*$/,eft=/^\//,tft=/^\/\//;function nft(n,e){if(!n.scheme&&e)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${n.authority}", path: "${n.path}", query: "${n.query}", fragment: "${n.fragment}"}`);if(n.scheme&&!qmt.test(n.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(n.path){if(n.authority){if(!eft.test(n.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(tft.test(n.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function ift(n,e){return!n&&!e?"file":n}function rft(n,e){switch(n){case"https":case"http":case"file":e?e[0]!==Ih&&(e=Ih+e):e=Ih;break}return e}const go="",Ih="/",oft=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class en{static isUri(e){return e instanceof en?!0:e?typeof e.authority=="string"&&typeof e.fragment=="string"&&typeof e.path=="string"&&typeof e.query=="string"&&typeof e.scheme=="string"&&typeof e.fsPath=="string"&&typeof e.with=="function"&&typeof e.toString=="function":!1}constructor(e,t,i,r,o,s=!1){typeof e=="object"?(this.scheme=e.scheme||go,this.authority=e.authority||go,this.path=e.path||go,this.query=e.query||go,this.fragment=e.fragment||go):(this.scheme=ift(e,s),this.authority=t||go,this.path=rft(this.scheme,i||go),this.query=r||go,this.fragment=o||go,nft(this,s))}get fsPath(){return $Z(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:i,path:r,query:o,fragment:s}=e;return t===void 0?t=this.scheme:t===null&&(t=go),i===void 0?i=this.authority:i===null&&(i=go),r===void 0?r=this.path:r===null&&(r=go),o===void 0?o=this.query:o===null&&(o=go),s===void 0?s=this.fragment:s===null&&(s=go),t===this.scheme&&i===this.authority&&r===this.path&&o===this.query&&s===this.fragment?this:new CS(t,i,r,o,s)}static parse(e,t=!1){const i=oft.exec(e);return i?new CS(i[2]||go,qZ(i[4]||go),qZ(i[5]||go),qZ(i[7]||go),qZ(i[9]||go),t):new CS(go,go,go,go,go)}static file(e){let t=go;if(ha&&(e=e.replace(/\\/g,Ih)),e[0]===Ih&&e[1]===Ih){const i=e.indexOf(Ih,2);i===-1?(t=e.substring(2),e=Ih):(t=e.substring(2,i),e=e.substring(i)||Ih)}return new CS("file",t,e,go,go)}static from(e,t){return new CS(e.scheme,e.authority,e.path,e.query,e.fragment,t)}static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let i;return ha&&e.scheme==="file"?i=en.file(su.join($Z(e,!0),...t)).path:i=Io.join(e.path,...t),e.with({path:i})}toString(e=!1){return hY(this,e)}toJSON(){return this}static revive(e){var t,i;if(e){if(e instanceof en)return e;{const r=new CS(e);return r._formatted=(t=e.external)!==null&&t!==void 0?t:null,r._fsPath=e._sep===p0e&&(i=e.fsPath)!==null&&i!==void 0?i:null,r}}else return e}}const p0e=ha?1:void 0;let CS=class extends en{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=$Z(this,!1)),this._fsPath}toString(e=!1){return e?hY(this,!0):(this._formatted||(this._formatted=hY(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=p0e),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}};const b0e={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function v0e(n,e,t){let i,r=-1;for(let o=0;o=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||s===45||s===46||s===95||s===126||e&&s===47||t&&s===91||t&&s===93||t&&s===58)r!==-1&&(i+=encodeURIComponent(n.substring(r,o)),r=-1),i!==void 0&&(i+=n.charAt(o));else{i===void 0&&(i=n.substr(0,o));const a=b0e[s];a!==void 0?(r!==-1&&(i+=encodeURIComponent(n.substring(r,o)),r=-1),i+=a):r===-1&&(r=o)}}return r!==-1&&(i+=encodeURIComponent(n.substring(r))),i!==void 0?i:n}function sft(n){let e;for(let t=0;t1&&n.scheme==="file"?t=`//${n.authority}${n.path}`:n.path.charCodeAt(0)===47&&(n.path.charCodeAt(1)>=65&&n.path.charCodeAt(1)<=90||n.path.charCodeAt(1)>=97&&n.path.charCodeAt(1)<=122)&&n.path.charCodeAt(2)===58?e?t=n.path.substr(1):t=n.path[1].toLowerCase()+n.path.substr(2):t=n.path,ha&&(t=t.replace(/\//g,"\\")),t}function hY(n,e){const t=e?sft:v0e;let i="",{scheme:r,authority:o,path:s,query:a,fragment:l}=n;if(r&&(i+=r,i+=":"),(o||r==="file")&&(i+=Ih,i+=Ih),o){let u=o.indexOf("@");if(u!==-1){const c=o.substr(0,u);o=o.substr(u+1),u=c.lastIndexOf(":"),u===-1?i+=t(c,!1,!1):(i+=t(c.substr(0,u),!1,!1),i+=":",i+=t(c.substr(u+1),!1,!0)),i+="@"}o=o.toLowerCase(),u=o.lastIndexOf(":"),u===-1?i+=t(o,!1,!0):(i+=t(o.substr(0,u),!1,!0),i+=o.substr(u))}if(s){if(s.length>=3&&s.charCodeAt(0)===47&&s.charCodeAt(2)===58){const u=s.charCodeAt(1);u>=65&&u<=90&&(s=`/${String.fromCharCode(u+32)}:${s.substr(3)}`)}else if(s.length>=2&&s.charCodeAt(1)===58){const u=s.charCodeAt(0);u>=65&&u<=90&&(s=`${String.fromCharCode(u+32)}:${s.substr(2)}`)}i+=t(s,!0,!1)}return a&&(i+="?",i+=t(a,!1,!1)),l&&(i+="#",i+=e?l:v0e(l,!1,!1)),i}function y0e(n){try{return decodeURIComponent(n)}catch{return n.length>3?n.substr(0,3)+y0e(n.substr(3)):n}}const C0e=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function qZ(n){return n.match(C0e)?n.replace(C0e,e=>y0e(e)):n}var wn;(function(n){n.inMemory="inmemory",n.vscode="vscode",n.internal="private",n.walkThrough="walkThrough",n.walkThroughSnippet="walkThroughSnippet",n.http="http",n.https="https",n.file="file",n.mailto="mailto",n.untitled="untitled",n.data="data",n.command="command",n.vscodeRemote="vscode-remote",n.vscodeRemoteResource="vscode-remote-resource",n.vscodeManagedRemoteResource="vscode-managed-remote-resource",n.vscodeUserData="vscode-userdata",n.vscodeCustomEditor="vscode-custom-editor",n.vscodeNotebookCell="vscode-notebook-cell",n.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",n.vscodeNotebookCellOutput="vscode-notebook-cell-output",n.vscodeInteractiveInput="vscode-interactive-input",n.vscodeSettings="vscode-settings",n.vscodeWorkspaceTrust="vscode-workspace-trust",n.vscodeTerminal="vscode-terminal",n.vscodeChatCodeBlock="vscode-chat-code-block",n.vscodeChatSesssion="vscode-chat-editor",n.webviewPanel="webview-panel",n.vscodeWebview="vscode-webview",n.extension="extension",n.vscodeFileResource="vscode-file",n.tmp="tmp",n.vsls="vsls",n.vscodeSourceControl="vscode-scm",n.codeSetting="code-setting"})(wn||(wn={}));function mY(n,e){return en.isUri(n)?bS(n.scheme,e):nY(n,e+":")}function w0e(n,...e){return e.some(t=>mY(n,t))}const aft="tkn";class lft{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema="http",this._delegate=null,this._serverRootPath="/"}setPreferredWebSchema(e){this._preferredWebSchema=e}get _remoteResourcesPath(){return Io.join(this._serverRootPath,wn.vscodeRemoteResource)}rewrite(e){if(this._delegate)try{return this._delegate(e)}catch(a){return vn(a),e}const t=e.authority;let i=this._hosts[t];i&&i.indexOf(":")!==-1&&i.indexOf("[")===-1&&(i=`[${i}]`);const r=this._ports[t],o=this._connectionTokens[t];let s=`path=${encodeURIComponent(e.path)}`;return typeof o=="string"&&(s+=`&${aft}=${encodeURIComponent(o)}`),en.from({scheme:Ab?this._preferredWebSchema:wn.vscodeRemoteResource,authority:`${i}:${r}`,path:this._remoteResourcesPath,query:s})}}const S0e=new lft,uft="vscode-app";class eI{uriToBrowserUri(e){return e.scheme===wn.vscodeRemote?S0e.rewrite(e):e.scheme===wn.file&&(Sh||xht===`${wn.vscodeFileResource}://${eI.FALLBACK_AUTHORITY}`)?e.with({scheme:wn.vscodeFileResource,authority:e.authority||eI.FALLBACK_AUTHORITY,query:null,fragment:null}):e}}eI.FALLBACK_AUTHORITY=uft;const x0e=new eI;var L0e;(function(n){const e=new Map([["1",{"Cross-Origin-Opener-Policy":"same-origin"}],["2",{"Cross-Origin-Embedder-Policy":"require-corp"}],["3",{"Cross-Origin-Opener-Policy":"same-origin","Cross-Origin-Embedder-Policy":"require-corp"}]]);n.CoopAndCoep=Object.freeze(e.get("3"));const t="vscode-coi";function i(o){let s;typeof o=="string"?s=new URL(o).searchParams:o instanceof URL?s=o.searchParams:en.isUri(o)&&(s=new URL(o.toString(!0)).searchParams);const a=s==null?void 0:s.get(t);if(a)return e.get(a)}n.getHeadersFromQuery=i;function r(o,s,a){if(!globalThis.crossOriginIsolated)return;const l=s&&a?"3":a?"2":"1";o instanceof URLSearchParams?o.set(t,l):o[t]=l}n.addSearchParam=r})(L0e||(L0e={}));function e9(n){return t9(n,0)}function t9(n,e){switch(typeof n){case"object":return n===null?Fg(349,e):Array.isArray(n)?dft(n,e):hft(n,e);case"string":return fY(n,e);case"boolean":return cft(n,e);case"number":return Fg(n,e);case"undefined":return Fg(937,e);default:return Fg(617,e)}}function Fg(n,e){return(e<<5)-e+n|0}function cft(n,e){return Fg(n?433:863,e)}function fY(n,e){e=Fg(149417,e);for(let t=0,i=n.length;tt9(i,t),e)}function hft(n,e){return e=Fg(181387,e),Object.keys(n).sort().reduce((t,i)=>(t=fY(i,t),t9(n[i],t)),e)}function gY(n,e,t=32){const i=t-e,r=~((1<>>i)>>>0}function _0e(n,e=0,t=n.byteLength,i=0){for(let r=0;rt.toString(16).padStart(2,"0")).join(""):mft((n>>>0).toString(16),e/4)}class n9{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){const t=e.length;if(t===0)return;const i=this._buff;let r=this._buffLen,o=this._leftoverHighSurrogate,s,a;for(o!==0?(s=o,a=-1,o=0):(s=e.charCodeAt(0),a=0);;){let l=s;if(os(s))if(a+1>>6,e[t++]=128|(i&63)>>>0):i<65536?(e[t++]=224|(i&61440)>>>12,e[t++]=128|(i&4032)>>>6,e[t++]=128|(i&63)>>>0):(e[t++]=240|(i&1835008)>>>18,e[t++]=128|(i&258048)>>>12,e[t++]=128|(i&4032)>>>6,e[t++]=128|(i&63)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),tI(this._h0)+tI(this._h1)+tI(this._h2)+tI(this._h3)+tI(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,_0e(this._buff,this._buffLen),this._buffLen>56&&(this._step(),_0e(this._buff));const e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){const e=n9._bigBlock32,t=this._buffDV;for(let d=0;d<64;d+=4)e.setUint32(d,t.getUint32(d,!1),!1);for(let d=64;d<320;d+=4)e.setUint32(d,gY(e.getUint32(d-12,!1)^e.getUint32(d-32,!1)^e.getUint32(d-56,!1)^e.getUint32(d-64,!1),1),!1);let i=this._h0,r=this._h1,o=this._h2,s=this._h3,a=this._h4,l,u,c;for(let d=0;d<80;d++)d<20?(l=r&o|~r&s,u=1518500249):d<40?(l=r^o^s,u=1859775393):d<60?(l=r&o|r&s|o&s,u=2400959708):(l=r^o^s,u=3395469782),c=gY(i,5)+l+a+u+e.getUint32(d*4,!1)&4294967295,a=s,s=o,o=gY(r,30),r=i,i=c;this._h0=this._h0+i&4294967295,this._h1=this._h1+r&4294967295,this._h2=this._h2+o&4294967295,this._h3=this._h3+s&4294967295,this._h4=this._h4+a&4294967295}}n9._bigBlock32=new DataView(new ArrayBuffer(320));const{registerWindow:tJt,getWindow:Qt,getDocument:nJt,getWindows:F0e,getWindowsCount:fft,getWindowId:i9,getWindowById:I0e,hasWindow:iJt,onDidRegisterWindow:r9,onWillUnregisterWindow:gft,onDidUnregisterWindow:pft}=function(){const n=new Map;ght(Wi,1);const e={window:Wi,disposables:new Je};n.set(Wi.vscodeWindowId,e);const t=new be,i=new be,r=new be;function o(s,a){const l=typeof s=="number"?n.get(s):void 0;return l??(a?e:void 0)}return{onDidRegisterWindow:t.event,onWillUnregisterWindow:r.event,onDidUnregisterWindow:i.event,registerWindow(s){if(n.has(s.vscodeWindowId))return Ie.None;const a=new Je,l={window:s,disposables:a.add(new Je)};return n.set(s.vscodeWindowId,l),a.add(jt(()=>{n.delete(s.vscodeWindowId),i.fire(s)})),a.add(Ae(s,ot.BEFORE_UNLOAD,()=>{r.fire(s)})),t.fire(l),a},getWindows(){return n.values()},getWindowsCount(){return n.size},getWindowId(s){return s.vscodeWindowId},hasWindow(s){return n.has(s)},getWindowById:o,getWindow(s){var a;const l=s;if(!((a=l==null?void 0:l.ownerDocument)===null||a===void 0)&&a.defaultView)return l.ownerDocument.defaultView.window;const u=s;return u!=null&&u.view?u.view.window:Wi},getDocument(s){return Qt(s).document}}}();function ma(n){for(;n.firstChild;)n.firstChild.remove()}class bft{constructor(e,t,i,r){this._node=e,this._type=t,this._handler=i,this._options=r||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}}function Ae(n,e,t,i){return new bft(n,e,t,i)}function D0e(n,e){return function(t){return e(new Ld(n,t))}}function vft(n){return function(e){return n(new sr(e))}}const Gr=function(e,t,i,r){let o=i;return t==="click"||t==="mousedown"?o=D0e(Qt(e),i):(t==="keydown"||t==="keypress"||t==="keyup")&&(o=vft(i)),Ae(e,t,o,r)},yft=function(e,t,i){const r=D0e(Qt(e),t);return Cft(e,r,i)};function Cft(n,e,t){return Ae(n,Vm&&MH.pointerEvents?ot.POINTER_DOWN:ot.MOUSE_DOWN,e,t)}function nI(n,e,t){return KF(n,e,t)}class pY extends Obe{constructor(e,t){super(e,t)}}let o9,au;class bY extends zH{constructor(e){super(),this.defaultTarget=e&&Qt(e)}cancelAndSet(e,t,i){return super.cancelAndSet(e,t,i??this.defaultTarget)}}class vY{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){vn(e)}}static sort(e,t){return t.priority-e.priority}}(function(){const n=new Map,e=new Map,t=new Map,i=new Map,r=o=>{var s;t.set(o,!1);const a=(s=n.get(o))!==null&&s!==void 0?s:[];for(e.set(o,a),n.set(o,[]),i.set(o,!0);a.length>0;)a.sort(vY.sort),a.shift().execute();i.set(o,!1)};au=(o,s,a=0)=>{const l=i9(o),u=new vY(s,a);let c=n.get(l);return c||(c=[],n.set(l,c)),c.push(u),t.get(l)||(t.set(l,!0),o.requestAnimationFrame(()=>r(l))),u},o9=(o,s,a)=>{const l=i9(o);if(i.get(l)){const u=new vY(s,a);let c=e.get(l);return c||(c=[],e.set(l,c)),c.push(u),u}else return au(o,s,a)}})();function s9(n){return Qt(n).getComputedStyle(n,null)}function Ig(n,e){const t=Qt(n),i=t.document;if(n!==i.body)return new mi(n.clientWidth,n.clientHeight);if(Vm&&(t!=null&&t.visualViewport))return new mi(t.visualViewport.width,t.visualViewport.height);if(t!=null&&t.innerWidth&&t.innerHeight)return new mi(t.innerWidth,t.innerHeight);if(i.body&&i.body.clientWidth&&i.body.clientHeight)return new mi(i.body.clientWidth,i.body.clientHeight);if(i.documentElement&&i.documentElement.clientWidth&&i.documentElement.clientHeight)return new mi(i.documentElement.clientWidth,i.documentElement.clientHeight);if(e)return Ig(e);throw new Error("Unable to figure out browser width and height")}class eo{static convertToPixels(e,t){return parseFloat(t)||0}static getDimension(e,t,i){const r=s9(e),o=r?r.getPropertyValue(t):"0";return eo.convertToPixels(e,o)}static getBorderLeftWidth(e){return eo.getDimension(e,"border-left-width","borderLeftWidth")}static getBorderRightWidth(e){return eo.getDimension(e,"border-right-width","borderRightWidth")}static getBorderTopWidth(e){return eo.getDimension(e,"border-top-width","borderTopWidth")}static getBorderBottomWidth(e){return eo.getDimension(e,"border-bottom-width","borderBottomWidth")}static getPaddingLeft(e){return eo.getDimension(e,"padding-left","paddingLeft")}static getPaddingRight(e){return eo.getDimension(e,"padding-right","paddingRight")}static getPaddingTop(e){return eo.getDimension(e,"padding-top","paddingTop")}static getPaddingBottom(e){return eo.getDimension(e,"padding-bottom","paddingBottom")}static getMarginLeft(e){return eo.getDimension(e,"margin-left","marginLeft")}static getMarginTop(e){return eo.getDimension(e,"margin-top","marginTop")}static getMarginRight(e){return eo.getDimension(e,"margin-right","marginRight")}static getMarginBottom(e){return eo.getDimension(e,"margin-bottom","marginBottom")}}class mi{constructor(e,t){this.width=e,this.height=t}with(e=this.width,t=this.height){return e!==this.width||t!==this.height?new mi(e,t):this}static is(e){return typeof e=="object"&&typeof e.height=="number"&&typeof e.width=="number"}static lift(e){return e instanceof mi?e:new mi(e.width,e.height)}static equals(e,t){return e===t?!0:!e||!t?!1:e.width===t.width&&e.height===t.height}}mi.None=new mi(0,0);function M0e(n){let e=n.offsetParent,t=n.offsetTop,i=n.offsetLeft;for(;(n=n.parentNode)!==null&&n!==n.ownerDocument.body&&n!==n.ownerDocument.documentElement;){t-=n.scrollTop;const r=N0e(n)?null:s9(n);r&&(i-=r.direction!=="rtl"?n.scrollLeft:-n.scrollLeft),n===e&&(i+=eo.getBorderLeftWidth(n),t+=eo.getBorderTopWidth(n),t+=n.offsetTop,i+=n.offsetLeft,e=n.offsetParent)}return{left:i,top:t}}function wft(n,e,t){typeof e=="number"&&(n.style.width=`${e}px`),typeof t=="number"&&(n.style.height=`${t}px`)}function po(n){const e=n.getBoundingClientRect(),t=Qt(n);return{left:e.left+t.scrollX,top:e.top+t.scrollY,width:e.width,height:e.height}}function k0e(n){let e=n,t=1;do{const i=s9(e).zoom;i!=null&&i!=="1"&&(t*=i),e=e.parentElement}while(e!==null&&e!==e.ownerDocument.documentElement);return t}function Qa(n){const e=eo.getMarginLeft(n)+eo.getMarginRight(n);return n.offsetWidth+e}function yY(n){const e=eo.getBorderLeftWidth(n)+eo.getBorderRightWidth(n),t=eo.getPaddingLeft(n)+eo.getPaddingRight(n);return n.offsetWidth-e-t}function Sft(n){const e=eo.getBorderTopWidth(n)+eo.getBorderBottomWidth(n),t=eo.getPaddingTop(n)+eo.getPaddingBottom(n);return n.offsetHeight-e-t}function Dg(n){const e=eo.getMarginTop(n)+eo.getMarginBottom(n);return n.offsetHeight+e}function ps(n,e){return!!(e!=null&&e.contains(n))}function xft(n,e,t){for(;n&&n.nodeType===n.ELEMENT_NODE;){if(n.classList.contains(e))return n;if(t){if(typeof t=="string"){if(n.classList.contains(t))return null}else if(n===t)return null}n=n.parentNode}return null}function CY(n,e,t){return!!xft(n,e,t)}function N0e(n){return n&&!!n.host&&!!n.mode}function a9(n){return!!Yv(n)}function Yv(n){for(var e;n.parentNode;){if(n===((e=n.ownerDocument)===null||e===void 0?void 0:e.body))return null;n=n.parentNode}return N0e(n)?n:null}function js(){let n=wS().activeElement;for(;n!=null&&n.shadowRoot;)n=n.shadowRoot.activeElement;return n}function l9(n){return js()===n}function T0e(n){return ps(js(),n)}function wS(){var n;return fft()<=1?Wi.document:(n=Array.from(F0e()).map(({window:t})=>t.document).find(t=>t.hasFocus()))!==null&&n!==void 0?n:Wi.document}function Lft(){var n,e;return(e=(n=wS().defaultView)===null||n===void 0?void 0:n.window)!==null&&e!==void 0?e:Wi}const wY=new Map;function E0e(){return new _ft}class _ft{constructor(){this._currentCssStyle="",this._styleSheet=void 0}setStyle(e){e!==this._currentCssStyle&&(this._currentCssStyle=e,this._styleSheet?this._styleSheet.innerText=e:this._styleSheet=Au(Wi.document.head,t=>t.innerText=e))}dispose(){this._styleSheet&&(this._styleSheet.remove(),this._styleSheet=void 0)}}function Au(n=Wi.document.head,e,t){const i=document.createElement("style");if(i.type="text/css",i.media="screen",e==null||e(i),n.appendChild(i),t&&t.add(jt(()=>n.removeChild(i))),n===Wi.document.head){const r=new Set;wY.set(i,r);for(const{window:o,disposables:s}of F0e()){if(o===Wi)continue;const a=s.add(Fft(i,r,o));t==null||t.add(a)}}return i}function Fft(n,e,t){var i,r;const o=new Je,s=n.cloneNode(!0);t.document.head.appendChild(s),o.add(jt(()=>t.document.head.removeChild(s)));for(const a of W0e(n))(i=s.sheet)===null||i===void 0||i.insertRule(a.cssText,(r=s.sheet)===null||r===void 0?void 0:r.cssRules.length);return o.add(Ift.observe(n,o,{childList:!0})(()=>{s.textContent=n.textContent})),e.add(s),o.add(jt(()=>e.delete(s))),o}const Ift=new class{constructor(){this.mutationObservers=new Map}observe(n,e,t){let i=this.mutationObservers.get(n);i||(i=new Map,this.mutationObservers.set(n,i));const r=e9(t);let o=i.get(r);if(o)o.users+=1;else{const s=new be,a=new MutationObserver(u=>s.fire(u));a.observe(n,t);const l=o={users:1,observer:a,onDidMutate:s.event};e.add(jt(()=>{l.users-=1,l.users===0&&(s.dispose(),a.disconnect(),i==null||i.delete(r),(i==null?void 0:i.size)===0&&this.mutationObservers.delete(n))})),i.set(r,o)}return o.onDidMutate}};let SY=null;function Z0e(){return SY||(SY=Au()),SY}function W0e(n){var e,t;return!((e=n==null?void 0:n.sheet)===null||e===void 0)&&e.rules?n.sheet.rules:!((t=n==null?void 0:n.sheet)===null||t===void 0)&&t.cssRules?n.sheet.cssRules:[]}function u9(n,e,t=Z0e()){var i,r;if(!(!t||!e)){(i=t.sheet)===null||i===void 0||i.insertRule(`${n} {${e}}`,0);for(const o of(r=wY.get(t))!==null&&r!==void 0?r:[])u9(n,e,o)}}function xY(n,e=Z0e()){var t,i;if(!e)return;const r=W0e(e),o=[];for(let s=0;s=0;s--)(t=e.sheet)===null||t===void 0||t.deleteRule(o[s]);for(const s of(i=wY.get(e))!==null&&i!==void 0?i:[])xY(n,s)}function Dft(n){return typeof n.selectorText=="string"}function LY(n){return n instanceof MouseEvent||n instanceof Qt(n).MouseEvent}function jb(n){return n instanceof KeyboardEvent||n instanceof Qt(n).KeyboardEvent}const ot={CLICK:"click",AUXCLICK:"auxclick",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",POINTER_LEAVE:"pointerleave",CONTEXT_MENU:"contextmenu",WHEEL:"wheel",KEY_DOWN:"keydown",KEY_PRESS:"keypress",KEY_UP:"keyup",LOAD:"load",BEFORE_UNLOAD:"beforeunload",UNLOAD:"unload",PAGE_SHOW:"pageshow",PAGE_HIDE:"pagehide",PASTE:"paste",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_CHANGE:"fullscreenchange",WK_FULLSCREEN_CHANGE:"webkitfullscreenchange",SELECT:"select",CHANGE:"change",SUBMIT:"submit",RESET:"reset",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",STORAGE:"storage",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend",ANIMATION_START:Xv?"webkitAnimationStart":"animationstart",ANIMATION_END:Xv?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:Xv?"webkitAnimationIteration":"animationiteration"};function Mft(n){const e=n;return!!(e&&typeof e.preventDefault=="function"&&typeof e.stopPropagation=="function")}const Vn={stop:(n,e)=>(n.preventDefault(),e&&n.stopPropagation(),n)};function kft(n){const e=[];for(let t=0;n&&n.nodeType===n.ELEMENT_NODE;t++)e[t]=n.scrollTop,n=n.parentNode;return e}function Nft(n,e){for(let t=0;n&&n.nodeType===n.ELEMENT_NODE;t++)n.scrollTop!==e[t]&&(n.scrollTop=e[t]),n=n.parentNode}class c9 extends Ie{static hasFocusWithin(e){if(e instanceof HTMLElement){const t=Yv(e),i=t?t.activeElement:e.ownerDocument.activeElement;return ps(i,e)}else{const t=e;return ps(t.document.activeElement,t.document)}}constructor(e){super(),this._onDidFocus=this._register(new be),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new be),this.onDidBlur=this._onDidBlur.event;let t=c9.hasFocusWithin(e),i=!1;const r=()=>{i=!1,t||(t=!0,this._onDidFocus.fire())},o=()=>{t&&(i=!0,(e instanceof HTMLElement?Qt(e):e).setTimeout(()=>{i&&(i=!1,t=!1,this._onDidBlur.fire())},0))};this._refreshStateHandler=()=>{c9.hasFocusWithin(e)!==t&&(t?o():r())},this._register(Ae(e,ot.FOCUS,r,!0)),this._register(Ae(e,ot.BLUR,o,!0)),e instanceof HTMLElement&&(this._register(Ae(e,ot.FOCUS_IN,()=>this._refreshStateHandler())),this._register(Ae(e,ot.FOCUS_OUT,()=>this._refreshStateHandler())))}}function Dh(n){return new c9(n)}function Tft(n,e){return n.after(e),e}function je(n,...e){if(n.append(...e),e.length===1&&typeof e[0]!="string")return e[0]}function _Y(n,e){return n.insertBefore(e,n.firstChild),e}function Qs(n,...e){n.innerText="",je(n,...e)}const Eft=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;var iI;(function(n){n.HTML="http://www.w3.org/1999/xhtml",n.SVG="http://www.w3.org/2000/svg"})(iI||(iI={}));function R0e(n,e,t,...i){const r=Eft.exec(e);if(!r)throw new Error("Bad use of emmet");const o=r[1]||"div";let s;return n!==iI.HTML?s=document.createElementNS(n,o):s=document.createElement(o),r[3]&&(s.id=r[3]),r[4]&&(s.className=r[4].replace(/\./g," ").trim()),t&&Object.entries(t).forEach(([a,l])=>{typeof l>"u"||(/^on\w+$/.test(a)?s[a]=l:a==="selected"?l&&s.setAttribute(a,"true"):s.setAttribute(a,l))}),s.append(...i),s}function Ct(n,e,...t){return R0e(iI.HTML,n,e,...t)}Ct.SVG=function(n,e,...t){return R0e(iI.SVG,n,e,...t)};function Zft(n,...e){n?lu(...e):$a(...e)}function lu(...n){for(const e of n)e.style.display="",e.removeAttribute("aria-hidden")}function $a(...n){for(const e of n)e.style.display="none",e.setAttribute("aria-hidden","true")}function V0e(n,e){const t=n.devicePixelRatio*e;return Math.max(1,Math.floor(t))/n.devicePixelRatio}function A0e(n){Wi.open(n,"_blank","noopener")}function Wft(n,e){const t=()=>{e(),i=au(n,t)};let i=au(n,t);return jt(()=>i.dispose())}S0e.setPreferredWebSchema(/^https:/.test(Wi.location.href)?"https":"http");function Qb(n){return n?`url('${x0e.uriToBrowserUri(n).toString(!0).replace(/'/g,"%27")}')`:"url('')"}function G0e(n){return`'${n.replace(/'/g,"%27")}'`}function Mg(n,e){if(n!==void 0){const t=n.match(/^\s*var\((.+)\)$/);if(t){const i=t[1].split(",",2);return i.length===2&&(e=Mg(i[1].trim(),e)),`var(${i[0]}, ${e})`}return n}return e}function Rft(n,e=!1){const t=document.createElement("a");return qH("afterSanitizeAttributes",i=>{for(const r of["href","src"])if(i.hasAttribute(r)){const o=i.getAttribute(r);if(r==="href"&&o.startsWith("#"))continue;if(t.href=o,!n.includes(t.protocol.replace(/:$/,""))){if(e&&r==="src"&&t.href.startsWith("data:"))continue;i.removeAttribute(r)}}}),jt(()=>{t0e("afterSanitizeAttributes")})}const Vft=Object.freeze(["a","abbr","b","bdo","blockquote","br","caption","cite","code","col","colgroup","dd","del","details","dfn","div","dl","dt","em","figcaption","figure","h1","h2","h3","h4","h5","h6","hr","i","img","input","ins","kbd","label","li","mark","ol","p","pre","q","rp","rt","ruby","samp","small","small","source","span","strike","strong","sub","summary","sup","table","tbody","td","tfoot","th","thead","time","tr","tt","u","ul","var","video","wbr"]);class kg extends be{constructor(){super(),this._subscriptions=new Je,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(lt.runAndSubscribe(r9,({window:e,disposables:t})=>this.registerListeners(e,t),{window:Wi,disposables:this._subscriptions}))}registerListeners(e,t){t.add(Ae(e,"keydown",i=>{if(i.defaultPrevented)return;const r=new sr(i);if(!(r.keyCode===6&&i.repeat)){if(i.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed="alt";else if(i.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed="ctrl";else if(i.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed="meta";else if(i.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed="shift";else if(r.keyCode!==6)this._keyStatus.lastKeyPressed=void 0;else return;this._keyStatus.altKey=i.altKey,this._keyStatus.ctrlKey=i.ctrlKey,this._keyStatus.metaKey=i.metaKey,this._keyStatus.shiftKey=i.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=i,this.fire(this._keyStatus))}},!0)),t.add(Ae(e,"keyup",i=>{i.defaultPrevented||(!i.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased="alt":!i.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased="ctrl":!i.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased="meta":!i.shiftKey&&this._keyStatus.shiftKey?this._keyStatus.lastKeyReleased="shift":this._keyStatus.lastKeyReleased=void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=i.altKey,this._keyStatus.ctrlKey=i.ctrlKey,this._keyStatus.metaKey=i.metaKey,this._keyStatus.shiftKey=i.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=i,this.fire(this._keyStatus)))},!0)),t.add(Ae(e.document.body,"mousedown",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),t.add(Ae(e.document.body,"mouseup",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),t.add(Ae(e.document.body,"mousemove",i=>{i.buttons&&(this._keyStatus.lastKeyPressed=void 0)},!0)),t.add(Ae(e,"blur",()=>{this.resetKeyStatus()}))}get keyStatus(){return this._keyStatus}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){return kg.instance||(kg.instance=new kg),kg.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}class Aft extends Ie{constructor(e,t){super(),this.element=e,this.callbacks=t,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){this.callbacks.onDragStart&&this._register(Ae(this.element,ot.DRAG_START,e=>{var t,i;(i=(t=this.callbacks).onDragStart)===null||i===void 0||i.call(t,e)})),this.callbacks.onDrag&&this._register(Ae(this.element,ot.DRAG,e=>{var t,i;(i=(t=this.callbacks).onDrag)===null||i===void 0||i.call(t,e)})),this._register(Ae(this.element,ot.DRAG_ENTER,e=>{var t,i;this.counter++,this.dragStartTime=e.timeStamp,(i=(t=this.callbacks).onDragEnter)===null||i===void 0||i.call(t,e)})),this._register(Ae(this.element,ot.DRAG_OVER,e=>{var t,i;e.preventDefault(),(i=(t=this.callbacks).onDragOver)===null||i===void 0||i.call(t,e,e.timeStamp-this.dragStartTime)})),this._register(Ae(this.element,ot.DRAG_LEAVE,e=>{var t,i;this.counter--,this.counter===0&&(this.dragStartTime=0,(i=(t=this.callbacks).onDragLeave)===null||i===void 0||i.call(t,e))})),this._register(Ae(this.element,ot.DRAG_END,e=>{var t,i;this.counter=0,this.dragStartTime=0,(i=(t=this.callbacks).onDragEnd)===null||i===void 0||i.call(t,e)})),this._register(Ae(this.element,ot.DROP,e=>{var t,i;this.counter=0,this.dragStartTime=0,(i=(t=this.callbacks).onDrop)===null||i===void 0||i.call(t,e)}))}}const Gft=/(?[\w\-]+)?(?:#(?[\w\-]+))?(?(?:\.(?:[\w\-]+))*)(?:@(?(?:[\w\_])+))?/;function Li(n,...e){let t,i;Array.isArray(e[0])?(t={},i=e[0]):(t=e[0]||{},i=e[1]);const r=Gft.exec(n);if(!r||!r.groups)throw new Error("Bad use of h");const o=r.groups.tag||"div",s=document.createElement(o);r.groups.id&&(s.id=r.groups.id);const a=[];if(r.groups.class)for(const u of r.groups.class.split("."))u!==""&&a.push(u);if(t.className!==void 0)for(const u of t.className.split("."))u!==""&&a.push(u);a.length>0&&(s.className=a.join(" "));const l={};if(r.groups.name&&(l[r.groups.name]=s),i)for(const u of i)u instanceof HTMLElement?s.appendChild(u):typeof u=="string"?s.append(u):"root"in u&&(Object.assign(l,u),s.appendChild(u.root));for(const[u,c]of Object.entries(t))if(u!=="className")if(u==="style")for(const[d,h]of Object.entries(c))s.style.setProperty(X0e(d),typeof h=="number"?h+"px":""+h);else u==="tabIndex"?s.tabIndex=c:s.setAttribute(X0e(u),c.toString());return l.root=s,l}function X0e(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}const P0e=2e4;let Uv,d9,FY,h9,IY;function Xft(n){Uv=document.createElement("div"),Uv.className="monaco-aria-container";const e=()=>{const i=document.createElement("div");return i.className="monaco-alert",i.setAttribute("role","alert"),i.setAttribute("aria-atomic","true"),Uv.appendChild(i),i};d9=e(),FY=e();const t=()=>{const i=document.createElement("div");return i.className="monaco-status",i.setAttribute("aria-live","polite"),i.setAttribute("aria-atomic","true"),Uv.appendChild(i),i};h9=t(),IY=t(),n.appendChild(Uv)}function kl(n){Uv&&(d9.textContent!==n?(ma(FY),m9(d9,n)):(ma(d9),m9(FY,n)))}function Ng(n){Uv&&(h9.textContent!==n?(ma(IY),m9(h9,n)):(ma(h9),m9(IY,n)))}function m9(n,e){ma(n),e.length>P0e&&(e=e.substr(0,P0e)),n.textContent=e,n.style.visibility="hidden",n.style.visibility="visible"}var Mh;(function(n){n.serviceIds=new Map,n.DI_TARGET="$di$target",n.DI_DEPENDENCIES="$di$dependencies";function e(t){return t[n.DI_DEPENDENCIES]||[]}n.getServiceDependencies=e})(Mh||(Mh={}));const $t=Un("instantiationService");function Pft(n,e,t){e[Mh.DI_TARGET]===e?e[Mh.DI_DEPENDENCIES].push({id:n,index:t}):(e[Mh.DI_DEPENDENCIES]=[{id:n,index:t}],e[Mh.DI_TARGET]=e)}function Un(n){if(Mh.serviceIds.has(n))return Mh.serviceIds.get(n);const e=function(t,i,r){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");Pft(e,t,r)};return e.toString=()=>n,Mh.serviceIds.set(n,e),e}const vi=Un("codeEditorService");let ye=class GC{constructor(e,t){this.lineNumber=e,this.column=t}with(e=this.lineNumber,t=this.column){return e===this.lineNumber&&t===this.column?this:new GC(e,t)}delta(e=0,t=0){return this.with(this.lineNumber+e,this.column+t)}equals(e){return GC.equals(this,e)}static equals(e,t){return!e&&!t?!0:!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(e){return GC.isBefore(this,e)}static isBefore(e,t){return e.lineNumbern.run(...t),tooltip:n.label}}const DY=Object.create(null);function K(n,e){if(Ml(e)){const t=DY[e];if(t===void 0)throw new Error(`${n} references an unknown codicon: ${e}`);e=t}return DY[n]=e,{id:n}}function O0e(){return DY}const Oft={add:K("add",6e4),plus:K("plus",6e4),gistNew:K("gist-new",6e4),repoCreate:K("repo-create",6e4),lightbulb:K("lightbulb",60001),lightBulb:K("light-bulb",60001),repo:K("repo",60002),repoDelete:K("repo-delete",60002),gistFork:K("gist-fork",60003),repoForked:K("repo-forked",60003),gitPullRequest:K("git-pull-request",60004),gitPullRequestAbandoned:K("git-pull-request-abandoned",60004),recordKeys:K("record-keys",60005),keyboard:K("keyboard",60005),tag:K("tag",60006),gitPullRequestLabel:K("git-pull-request-label",60006),tagAdd:K("tag-add",60006),tagRemove:K("tag-remove",60006),person:K("person",60007),personFollow:K("person-follow",60007),personOutline:K("person-outline",60007),personFilled:K("person-filled",60007),gitBranch:K("git-branch",60008),gitBranchCreate:K("git-branch-create",60008),gitBranchDelete:K("git-branch-delete",60008),sourceControl:K("source-control",60008),mirror:K("mirror",60009),mirrorPublic:K("mirror-public",60009),star:K("star",60010),starAdd:K("star-add",60010),starDelete:K("star-delete",60010),starEmpty:K("star-empty",60010),comment:K("comment",60011),commentAdd:K("comment-add",60011),alert:K("alert",60012),warning:K("warning",60012),search:K("search",60013),searchSave:K("search-save",60013),logOut:K("log-out",60014),signOut:K("sign-out",60014),logIn:K("log-in",60015),signIn:K("sign-in",60015),eye:K("eye",60016),eyeUnwatch:K("eye-unwatch",60016),eyeWatch:K("eye-watch",60016),circleFilled:K("circle-filled",60017),primitiveDot:K("primitive-dot",60017),closeDirty:K("close-dirty",60017),debugBreakpoint:K("debug-breakpoint",60017),debugBreakpointDisabled:K("debug-breakpoint-disabled",60017),debugHint:K("debug-hint",60017),terminalDecorationSuccess:K("terminal-decoration-success",60017),primitiveSquare:K("primitive-square",60018),edit:K("edit",60019),pencil:K("pencil",60019),info:K("info",60020),issueOpened:K("issue-opened",60020),gistPrivate:K("gist-private",60021),gitForkPrivate:K("git-fork-private",60021),lock:K("lock",60021),mirrorPrivate:K("mirror-private",60021),close:K("close",60022),removeClose:K("remove-close",60022),x:K("x",60022),repoSync:K("repo-sync",60023),sync:K("sync",60023),clone:K("clone",60024),desktopDownload:K("desktop-download",60024),beaker:K("beaker",60025),microscope:K("microscope",60025),vm:K("vm",60026),deviceDesktop:K("device-desktop",60026),file:K("file",60027),fileText:K("file-text",60027),more:K("more",60028),ellipsis:K("ellipsis",60028),kebabHorizontal:K("kebab-horizontal",60028),mailReply:K("mail-reply",60029),reply:K("reply",60029),organization:K("organization",60030),organizationFilled:K("organization-filled",60030),organizationOutline:K("organization-outline",60030),newFile:K("new-file",60031),fileAdd:K("file-add",60031),newFolder:K("new-folder",60032),fileDirectoryCreate:K("file-directory-create",60032),trash:K("trash",60033),trashcan:K("trashcan",60033),history:K("history",60034),clock:K("clock",60034),folder:K("folder",60035),fileDirectory:K("file-directory",60035),symbolFolder:K("symbol-folder",60035),logoGithub:K("logo-github",60036),markGithub:K("mark-github",60036),github:K("github",60036),terminal:K("terminal",60037),console:K("console",60037),repl:K("repl",60037),zap:K("zap",60038),symbolEvent:K("symbol-event",60038),error:K("error",60039),stop:K("stop",60039),variable:K("variable",60040),symbolVariable:K("symbol-variable",60040),array:K("array",60042),symbolArray:K("symbol-array",60042),symbolModule:K("symbol-module",60043),symbolPackage:K("symbol-package",60043),symbolNamespace:K("symbol-namespace",60043),symbolObject:K("symbol-object",60043),symbolMethod:K("symbol-method",60044),symbolFunction:K("symbol-function",60044),symbolConstructor:K("symbol-constructor",60044),symbolBoolean:K("symbol-boolean",60047),symbolNull:K("symbol-null",60047),symbolNumeric:K("symbol-numeric",60048),symbolNumber:K("symbol-number",60048),symbolStructure:K("symbol-structure",60049),symbolStruct:K("symbol-struct",60049),symbolParameter:K("symbol-parameter",60050),symbolTypeParameter:K("symbol-type-parameter",60050),symbolKey:K("symbol-key",60051),symbolText:K("symbol-text",60051),symbolReference:K("symbol-reference",60052),goToFile:K("go-to-file",60052),symbolEnum:K("symbol-enum",60053),symbolValue:K("symbol-value",60053),symbolRuler:K("symbol-ruler",60054),symbolUnit:K("symbol-unit",60054),activateBreakpoints:K("activate-breakpoints",60055),archive:K("archive",60056),arrowBoth:K("arrow-both",60057),arrowDown:K("arrow-down",60058),arrowLeft:K("arrow-left",60059),arrowRight:K("arrow-right",60060),arrowSmallDown:K("arrow-small-down",60061),arrowSmallLeft:K("arrow-small-left",60062),arrowSmallRight:K("arrow-small-right",60063),arrowSmallUp:K("arrow-small-up",60064),arrowUp:K("arrow-up",60065),bell:K("bell",60066),bold:K("bold",60067),book:K("book",60068),bookmark:K("bookmark",60069),debugBreakpointConditionalUnverified:K("debug-breakpoint-conditional-unverified",60070),debugBreakpointConditional:K("debug-breakpoint-conditional",60071),debugBreakpointConditionalDisabled:K("debug-breakpoint-conditional-disabled",60071),debugBreakpointDataUnverified:K("debug-breakpoint-data-unverified",60072),debugBreakpointData:K("debug-breakpoint-data",60073),debugBreakpointDataDisabled:K("debug-breakpoint-data-disabled",60073),debugBreakpointLogUnverified:K("debug-breakpoint-log-unverified",60074),debugBreakpointLog:K("debug-breakpoint-log",60075),debugBreakpointLogDisabled:K("debug-breakpoint-log-disabled",60075),briefcase:K("briefcase",60076),broadcast:K("broadcast",60077),browser:K("browser",60078),bug:K("bug",60079),calendar:K("calendar",60080),caseSensitive:K("case-sensitive",60081),check:K("check",60082),checklist:K("checklist",60083),chevronDown:K("chevron-down",60084),chevronLeft:K("chevron-left",60085),chevronRight:K("chevron-right",60086),chevronUp:K("chevron-up",60087),chromeClose:K("chrome-close",60088),chromeMaximize:K("chrome-maximize",60089),chromeMinimize:K("chrome-minimize",60090),chromeRestore:K("chrome-restore",60091),circleOutline:K("circle-outline",60092),circle:K("circle",60092),debugBreakpointUnverified:K("debug-breakpoint-unverified",60092),terminalDecorationIncomplete:K("terminal-decoration-incomplete",60092),circleSlash:K("circle-slash",60093),circuitBoard:K("circuit-board",60094),clearAll:K("clear-all",60095),clippy:K("clippy",60096),closeAll:K("close-all",60097),cloudDownload:K("cloud-download",60098),cloudUpload:K("cloud-upload",60099),code:K("code",60100),collapseAll:K("collapse-all",60101),colorMode:K("color-mode",60102),commentDiscussion:K("comment-discussion",60103),creditCard:K("credit-card",60105),dash:K("dash",60108),dashboard:K("dashboard",60109),database:K("database",60110),debugContinue:K("debug-continue",60111),debugDisconnect:K("debug-disconnect",60112),debugPause:K("debug-pause",60113),debugRestart:K("debug-restart",60114),debugStart:K("debug-start",60115),debugStepInto:K("debug-step-into",60116),debugStepOut:K("debug-step-out",60117),debugStepOver:K("debug-step-over",60118),debugStop:K("debug-stop",60119),debug:K("debug",60120),deviceCameraVideo:K("device-camera-video",60121),deviceCamera:K("device-camera",60122),deviceMobile:K("device-mobile",60123),diffAdded:K("diff-added",60124),diffIgnored:K("diff-ignored",60125),diffModified:K("diff-modified",60126),diffRemoved:K("diff-removed",60127),diffRenamed:K("diff-renamed",60128),diff:K("diff",60129),diffSidebyside:K("diff-sidebyside",60129),discard:K("discard",60130),editorLayout:K("editor-layout",60131),emptyWindow:K("empty-window",60132),exclude:K("exclude",60133),extensions:K("extensions",60134),eyeClosed:K("eye-closed",60135),fileBinary:K("file-binary",60136),fileCode:K("file-code",60137),fileMedia:K("file-media",60138),filePdf:K("file-pdf",60139),fileSubmodule:K("file-submodule",60140),fileSymlinkDirectory:K("file-symlink-directory",60141),fileSymlinkFile:K("file-symlink-file",60142),fileZip:K("file-zip",60143),files:K("files",60144),filter:K("filter",60145),flame:K("flame",60146),foldDown:K("fold-down",60147),foldUp:K("fold-up",60148),fold:K("fold",60149),folderActive:K("folder-active",60150),folderOpened:K("folder-opened",60151),gear:K("gear",60152),gift:K("gift",60153),gistSecret:K("gist-secret",60154),gist:K("gist",60155),gitCommit:K("git-commit",60156),gitCompare:K("git-compare",60157),compareChanges:K("compare-changes",60157),gitMerge:K("git-merge",60158),githubAction:K("github-action",60159),githubAlt:K("github-alt",60160),globe:K("globe",60161),grabber:K("grabber",60162),graph:K("graph",60163),gripper:K("gripper",60164),heart:K("heart",60165),home:K("home",60166),horizontalRule:K("horizontal-rule",60167),hubot:K("hubot",60168),inbox:K("inbox",60169),issueReopened:K("issue-reopened",60171),issues:K("issues",60172),italic:K("italic",60173),jersey:K("jersey",60174),json:K("json",60175),kebabVertical:K("kebab-vertical",60176),key:K("key",60177),law:K("law",60178),lightbulbAutofix:K("lightbulb-autofix",60179),linkExternal:K("link-external",60180),link:K("link",60181),listOrdered:K("list-ordered",60182),listUnordered:K("list-unordered",60183),liveShare:K("live-share",60184),loading:K("loading",60185),location:K("location",60186),mailRead:K("mail-read",60187),mail:K("mail",60188),markdown:K("markdown",60189),megaphone:K("megaphone",60190),mention:K("mention",60191),milestone:K("milestone",60192),gitPullRequestMilestone:K("git-pull-request-milestone",60192),mortarBoard:K("mortar-board",60193),move:K("move",60194),multipleWindows:K("multiple-windows",60195),mute:K("mute",60196),noNewline:K("no-newline",60197),note:K("note",60198),octoface:K("octoface",60199),openPreview:K("open-preview",60200),package:K("package",60201),paintcan:K("paintcan",60202),pin:K("pin",60203),play:K("play",60204),run:K("run",60204),plug:K("plug",60205),preserveCase:K("preserve-case",60206),preview:K("preview",60207),project:K("project",60208),pulse:K("pulse",60209),question:K("question",60210),quote:K("quote",60211),radioTower:K("radio-tower",60212),reactions:K("reactions",60213),references:K("references",60214),refresh:K("refresh",60215),regex:K("regex",60216),remoteExplorer:K("remote-explorer",60217),remote:K("remote",60218),remove:K("remove",60219),replaceAll:K("replace-all",60220),replace:K("replace",60221),repoClone:K("repo-clone",60222),repoForcePush:K("repo-force-push",60223),repoPull:K("repo-pull",60224),repoPush:K("repo-push",60225),report:K("report",60226),requestChanges:K("request-changes",60227),rocket:K("rocket",60228),rootFolderOpened:K("root-folder-opened",60229),rootFolder:K("root-folder",60230),rss:K("rss",60231),ruby:K("ruby",60232),saveAll:K("save-all",60233),saveAs:K("save-as",60234),save:K("save",60235),screenFull:K("screen-full",60236),screenNormal:K("screen-normal",60237),searchStop:K("search-stop",60238),server:K("server",60240),settingsGear:K("settings-gear",60241),settings:K("settings",60242),shield:K("shield",60243),smiley:K("smiley",60244),sortPrecedence:K("sort-precedence",60245),splitHorizontal:K("split-horizontal",60246),splitVertical:K("split-vertical",60247),squirrel:K("squirrel",60248),starFull:K("star-full",60249),starHalf:K("star-half",60250),symbolClass:K("symbol-class",60251),symbolColor:K("symbol-color",60252),symbolConstant:K("symbol-constant",60253),symbolEnumMember:K("symbol-enum-member",60254),symbolField:K("symbol-field",60255),symbolFile:K("symbol-file",60256),symbolInterface:K("symbol-interface",60257),symbolKeyword:K("symbol-keyword",60258),symbolMisc:K("symbol-misc",60259),symbolOperator:K("symbol-operator",60260),symbolProperty:K("symbol-property",60261),wrench:K("wrench",60261),wrenchSubaction:K("wrench-subaction",60261),symbolSnippet:K("symbol-snippet",60262),tasklist:K("tasklist",60263),telescope:K("telescope",60264),textSize:K("text-size",60265),threeBars:K("three-bars",60266),thumbsdown:K("thumbsdown",60267),thumbsup:K("thumbsup",60268),tools:K("tools",60269),triangleDown:K("triangle-down",60270),triangleLeft:K("triangle-left",60271),triangleRight:K("triangle-right",60272),triangleUp:K("triangle-up",60273),twitter:K("twitter",60274),unfold:K("unfold",60275),unlock:K("unlock",60276),unmute:K("unmute",60277),unverified:K("unverified",60278),verified:K("verified",60279),versions:K("versions",60280),vmActive:K("vm-active",60281),vmOutline:K("vm-outline",60282),vmRunning:K("vm-running",60283),watch:K("watch",60284),whitespace:K("whitespace",60285),wholeWord:K("whole-word",60286),window:K("window",60287),wordWrap:K("word-wrap",60288),zoomIn:K("zoom-in",60289),zoomOut:K("zoom-out",60290),listFilter:K("list-filter",60291),listFlat:K("list-flat",60292),listSelection:K("list-selection",60293),selection:K("selection",60293),listTree:K("list-tree",60294),debugBreakpointFunctionUnverified:K("debug-breakpoint-function-unverified",60295),debugBreakpointFunction:K("debug-breakpoint-function",60296),debugBreakpointFunctionDisabled:K("debug-breakpoint-function-disabled",60296),debugStackframeActive:K("debug-stackframe-active",60297),circleSmallFilled:K("circle-small-filled",60298),debugStackframeDot:K("debug-stackframe-dot",60298),terminalDecorationMark:K("terminal-decoration-mark",60298),debugStackframe:K("debug-stackframe",60299),debugStackframeFocused:K("debug-stackframe-focused",60299),debugBreakpointUnsupported:K("debug-breakpoint-unsupported",60300),symbolString:K("symbol-string",60301),debugReverseContinue:K("debug-reverse-continue",60302),debugStepBack:K("debug-step-back",60303),debugRestartFrame:K("debug-restart-frame",60304),debugAlt:K("debug-alt",60305),callIncoming:K("call-incoming",60306),callOutgoing:K("call-outgoing",60307),menu:K("menu",60308),expandAll:K("expand-all",60309),feedback:K("feedback",60310),gitPullRequestReviewer:K("git-pull-request-reviewer",60310),groupByRefType:K("group-by-ref-type",60311),ungroupByRefType:K("ungroup-by-ref-type",60312),account:K("account",60313),gitPullRequestAssignee:K("git-pull-request-assignee",60313),bellDot:K("bell-dot",60314),debugConsole:K("debug-console",60315),library:K("library",60316),output:K("output",60317),runAll:K("run-all",60318),syncIgnored:K("sync-ignored",60319),pinned:K("pinned",60320),githubInverted:K("github-inverted",60321),serverProcess:K("server-process",60322),serverEnvironment:K("server-environment",60323),pass:K("pass",60324),issueClosed:K("issue-closed",60324),stopCircle:K("stop-circle",60325),playCircle:K("play-circle",60326),record:K("record",60327),debugAltSmall:K("debug-alt-small",60328),vmConnect:K("vm-connect",60329),cloud:K("cloud",60330),merge:K("merge",60331),export:K("export",60332),graphLeft:K("graph-left",60333),magnet:K("magnet",60334),notebook:K("notebook",60335),redo:K("redo",60336),checkAll:K("check-all",60337),pinnedDirty:K("pinned-dirty",60338),passFilled:K("pass-filled",60339),circleLargeFilled:K("circle-large-filled",60340),circleLarge:K("circle-large",60341),circleLargeOutline:K("circle-large-outline",60341),combine:K("combine",60342),gather:K("gather",60342),table:K("table",60343),variableGroup:K("variable-group",60344),typeHierarchy:K("type-hierarchy",60345),typeHierarchySub:K("type-hierarchy-sub",60346),typeHierarchySuper:K("type-hierarchy-super",60347),gitPullRequestCreate:K("git-pull-request-create",60348),runAbove:K("run-above",60349),runBelow:K("run-below",60350),notebookTemplate:K("notebook-template",60351),debugRerun:K("debug-rerun",60352),workspaceTrusted:K("workspace-trusted",60353),workspaceUntrusted:K("workspace-untrusted",60354),workspaceUnknown:K("workspace-unknown",60355),terminalCmd:K("terminal-cmd",60356),terminalDebian:K("terminal-debian",60357),terminalLinux:K("terminal-linux",60358),terminalPowershell:K("terminal-powershell",60359),terminalTmux:K("terminal-tmux",60360),terminalUbuntu:K("terminal-ubuntu",60361),terminalBash:K("terminal-bash",60362),arrowSwap:K("arrow-swap",60363),copy:K("copy",60364),personAdd:K("person-add",60365),filterFilled:K("filter-filled",60366),wand:K("wand",60367),debugLineByLine:K("debug-line-by-line",60368),inspect:K("inspect",60369),layers:K("layers",60370),layersDot:K("layers-dot",60371),layersActive:K("layers-active",60372),compass:K("compass",60373),compassDot:K("compass-dot",60374),compassActive:K("compass-active",60375),azure:K("azure",60376),issueDraft:K("issue-draft",60377),gitPullRequestClosed:K("git-pull-request-closed",60378),gitPullRequestDraft:K("git-pull-request-draft",60379),debugAll:K("debug-all",60380),debugCoverage:K("debug-coverage",60381),runErrors:K("run-errors",60382),folderLibrary:K("folder-library",60383),debugContinueSmall:K("debug-continue-small",60384),beakerStop:K("beaker-stop",60385),graphLine:K("graph-line",60386),graphScatter:K("graph-scatter",60387),pieChart:K("pie-chart",60388),bracket:K("bracket",60175),bracketDot:K("bracket-dot",60389),bracketError:K("bracket-error",60390),lockSmall:K("lock-small",60391),azureDevops:K("azure-devops",60392),verifiedFilled:K("verified-filled",60393),newline:K("newline",60394),layout:K("layout",60395),layoutActivitybarLeft:K("layout-activitybar-left",60396),layoutActivitybarRight:K("layout-activitybar-right",60397),layoutPanelLeft:K("layout-panel-left",60398),layoutPanelCenter:K("layout-panel-center",60399),layoutPanelJustify:K("layout-panel-justify",60400),layoutPanelRight:K("layout-panel-right",60401),layoutPanel:K("layout-panel",60402),layoutSidebarLeft:K("layout-sidebar-left",60403),layoutSidebarRight:K("layout-sidebar-right",60404),layoutStatusbar:K("layout-statusbar",60405),layoutMenubar:K("layout-menubar",60406),layoutCentered:K("layout-centered",60407),target:K("target",60408),indent:K("indent",60409),recordSmall:K("record-small",60410),errorSmall:K("error-small",60411),terminalDecorationError:K("terminal-decoration-error",60411),arrowCircleDown:K("arrow-circle-down",60412),arrowCircleLeft:K("arrow-circle-left",60413),arrowCircleRight:K("arrow-circle-right",60414),arrowCircleUp:K("arrow-circle-up",60415),layoutSidebarRightOff:K("layout-sidebar-right-off",60416),layoutPanelOff:K("layout-panel-off",60417),layoutSidebarLeftOff:K("layout-sidebar-left-off",60418),blank:K("blank",60419),heartFilled:K("heart-filled",60420),map:K("map",60421),mapHorizontal:K("map-horizontal",60421),foldHorizontal:K("fold-horizontal",60421),mapFilled:K("map-filled",60422),mapHorizontalFilled:K("map-horizontal-filled",60422),foldHorizontalFilled:K("fold-horizontal-filled",60422),circleSmall:K("circle-small",60423),bellSlash:K("bell-slash",60424),bellSlashDot:K("bell-slash-dot",60425),commentUnresolved:K("comment-unresolved",60426),gitPullRequestGoToChanges:K("git-pull-request-go-to-changes",60427),gitPullRequestNewChanges:K("git-pull-request-new-changes",60428),searchFuzzy:K("search-fuzzy",60429),commentDraft:K("comment-draft",60430),send:K("send",60431),sparkle:K("sparkle",60432),insert:K("insert",60433),mic:K("mic",60434),thumbsdownFilled:K("thumbsdown-filled",60435),thumbsupFilled:K("thumbsup-filled",60436),coffee:K("coffee",60437),snake:K("snake",60438),game:K("game",60439),vr:K("vr",60440),chip:K("chip",60441),piano:K("piano",60442),music:K("music",60443),micFilled:K("mic-filled",60444),repoFetch:K("repo-fetch",60445),copilot:K("copilot",60446),lightbulbSparkle:K("lightbulb-sparkle",60447),robot:K("robot",60448),sparkleFilled:K("sparkle-filled",60449),diffSingle:K("diff-single",60450),diffMultiple:K("diff-multiple",60451),surroundWith:K("surround-with",60452),share:K("share",60453),gitStash:K("git-stash",60454),gitStashApply:K("git-stash-apply",60455),gitStashPop:K("git-stash-pop",60456),vscode:K("vscode",60457),vscodeInsiders:K("vscode-insiders",60458),codeOss:K("code-oss",60459),runCoverage:K("run-coverage",60460),runAllCoverage:K("run-all-coverage",60461),coverage:K("coverage",60462),githubProject:K("github-project",60463),mapVertical:K("map-vertical",60464),foldVertical:K("fold-vertical",60464),mapVerticalFilled:K("map-vertical-filled",60465),foldVerticalFilled:K("fold-vertical-filled",60465)},Bft={dialogError:K("dialog-error","error"),dialogWarning:K("dialog-warning","warning"),dialogInfo:K("dialog-info","info"),dialogClose:K("dialog-close","close"),treeItemExpanded:K("tree-item-expanded","chevron-down"),treeFilterOnTypeOn:K("tree-filter-on-type-on","list-filter"),treeFilterOnTypeOff:K("tree-filter-on-type-off","list-selection"),treeFilterClear:K("tree-filter-clear","close"),treeItemLoading:K("tree-item-loading","loading"),menuSelection:K("menu-selection","check"),menuSubmenu:K("menu-submenu","chevron-right"),menuBarMore:K("menubar-more","more"),scrollbarButtonLeft:K("scrollbar-button-left","triangle-left"),scrollbarButtonRight:K("scrollbar-button-right","triangle-right"),scrollbarButtonUp:K("scrollbar-button-up","triangle-up"),scrollbarButtonDown:K("scrollbar-button-down","triangle-down"),toolBarMore:K("toolbar-more","more"),quickInputBack:K("quick-input-back","arrow-left"),dropDownButton:K("drop-down-button",60084),symbolCustomColor:K("symbol-customcolor",60252),exportIcon:K("export",60332),workspaceUnspecified:K("workspace-unspecified",60355),newLine:K("newline",60394),thumbsDownFilled:K("thumbsdown-filled",60435),thumbsUpFilled:K("thumbsup-filled",60436),gitFetch:K("git-fetch",60445),lightbulbSparkleAutofix:K("lightbulb-sparkle-autofix",60447),debugBreakpointPending:K("debug-breakpoint-pending",60377)},ut={...Oft,...Bft};var MY;(function(n){function e(t){return t&&typeof t=="object"&&typeof t.id=="string"}n.isThemeColor=e})(MY||(MY={}));var sn;(function(n){n.iconNameSegment="[A-Za-z0-9]+",n.iconNameExpression="[A-Za-z0-9-]+",n.iconModifierExpression="~[A-Za-z]+",n.iconNameCharacter="[A-Za-z0-9~-]";const e=new RegExp(`^(${n.iconNameExpression})(${n.iconModifierExpression})?$`);function t(h){const m=e.exec(h.id);if(!m)return t(ut.error);const[,f,g]=m,b=["codicon","codicon-"+f];return g&&b.push("codicon-modifier-"+g.substring(1)),b}n.asClassNameArray=t;function i(h){return t(h).join(" ")}n.asClassName=i;function r(h){return"."+t(h).join(".")}n.asCSSSelector=r;function o(h){return h&&typeof h=="object"&&typeof h.id=="string"&&(typeof h.color>"u"||MY.isThemeColor(h.color))}n.isThemeIcon=o;const s=new RegExp(`^\\$\\((${n.iconNameExpression}(?:${n.iconModifierExpression})?)\\)$`);function a(h){const m=s.exec(h);if(!m)return;const[,f]=m;return{id:f}}n.fromString=a;function l(h){return{id:h}}n.fromId=l;function u(h,m){let f=h.id;const g=f.lastIndexOf("~");return g!==-1&&(f=f.substring(0,g)),m&&(f=`${f}~${m}`),{id:f}}n.modify=u;function c(h){const m=h.id.lastIndexOf("~");if(m!==-1)return h.id.substring(m+1)}n.getModifier=c;function d(h,m){var f,g;return h.id===m.id&&((f=h.color)===null||f===void 0?void 0:f.id)===((g=m.color)===null||g===void 0?void 0:g.id)}n.isEqual=d})(sn||(sn={}));const Xr=Un("commandService"),$n=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new be,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(n,e){if(!n)throw new Error("invalid command");if(typeof n=="string"){if(!e)throw new Error("invalid command");return this.registerCommand({id:n,handler:e})}if(n.metadata&&Array.isArray(n.metadata.args)){const s=[];for(const l of n.metadata.args)s.push(l.constraint);const a=n.handler;n.handler=function(l,...u){return yht(u,s),a(l,...u)}}const{id:t}=n;let i=this._commands.get(t);i||(i=new ja,this._commands.set(t,i));const r=i.unshift(n),o=jt(()=>{r();const s=this._commands.get(t);s!=null&&s.isEmpty()&&this._commands.delete(t)});return this._onDidRegisterCommand.fire(t),o}registerCommandAlias(n,e){return $n.registerCommand(n,(t,...i)=>t.get(Xr).executeCommand(e,...i))}getCommand(n){const e=this._commands.get(n);if(!(!e||e.isEmpty()))return Qn.first(e)}getCommands(){const n=new Map;for(const e of this._commands.keys()){const t=this.getCommand(e);t&&n.set(e,t)}return n}};$n.registerCommand("noop",()=>{});function kY(...n){switch(n.length){case 1:return L("contextkey.scanner.hint.didYouMean1","Did you mean {0}?",n[0]);case 2:return L("contextkey.scanner.hint.didYouMean2","Did you mean {0} or {1}?",n[0],n[1]);case 3:return L("contextkey.scanner.hint.didYouMean3","Did you mean {0}, {1} or {2}?",n[0],n[1],n[2]);default:return}}const zft=L("contextkey.scanner.hint.didYouForgetToOpenOrCloseQuote","Did you forget to open or close the quote?"),Hft=L("contextkey.scanner.hint.didYouForgetToEscapeSlash","Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.");let Jv=class Bee{constructor(){this._input="",this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(e){switch(e.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return e.isTripleEq?"===":"==";case 4:return e.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:return">=";case 8:return">=";case 9:return"=~";case 10:return e.lexeme;case 11:return"true";case 12:return"false";case 13:return"in";case 14:return"not";case 15:return"&&";case 16:return"||";case 17:return e.lexeme;case 18:return e.lexeme;case 19:return e.lexeme;case 20:return"EOF";default:throw ZH(`unhandled token type: ${JSON.stringify(e)}; have you forgotten to add a case?`)}}reset(e){return this._input=e,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();)switch(this._start=this._current,this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){const t=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:t})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){const t=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:t})}else this._match(126)?this._addToken(9):this._error(kY("==","=~"));break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:this._match(38)?this._addToken(15):this._error(kY("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(kY("||"));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(e){return this._isAtEnd()||this._input.charCodeAt(this._current)!==e?!1:(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(e){this._tokens.push({type:e,offset:this._start})}_error(e){const t=this._start,i=this._input.substring(this._start,this._current),r={type:19,offset:this._start,lexeme:i};this._errors.push({offset:t,lexeme:i,additionalInfo:e}),this._tokens.push(r)}_string(){this.stringRe.lastIndex=this._start;const e=this.stringRe.exec(this._input);if(e){this._current=this._start+e[0].length;const t=this._input.substring(this._start,this._current),i=Bee._keywords.get(t);i?this._addToken(i):this._tokens.push({type:17,lexeme:t,offset:this._start})}}_quotedString(){for(;this._peek()!==39&&!this._isAtEnd();)this._advance();if(this._isAtEnd()){this._error(zft);return}this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1})}_regex(){let e=this._current,t=!1,i=!1;for(;;){if(e>=this._input.length){this._current=e,this._error(Hft);return}const o=this._input.charCodeAt(e);if(t)t=!1;else if(o===47&&!i){e++;break}else o===91?i=!0:o===92?t=!0:o===93&&(i=!1);e++}for(;e=this._input.length}};Jv._regexFlags=new Set(["i","g","s","m","y","u"].map(n=>n.charCodeAt(0))),Jv._keywords=new Map([["not",14],["in",13],["false",12],["true",11]]);const fa=new Map;fa.set("false",!1),fa.set("true",!0),fa.set("isMac",On),fa.set("isLinux",Ja),fa.set("isWindows",ha),fa.set("isWeb",Ab),fa.set("isMacNative",On&&!Ab),fa.set("isEdge",Dht),fa.set("isFirefox",Fht),fa.set("isChrome",kbe),fa.set("isSafari",Iht);const Yft=Object.prototype.hasOwnProperty,Uft={regexParsingWithErrorRecovery:!0},Kft=L("contextkey.parser.error.emptyString","Empty context key expression"),Jft=L("contextkey.parser.error.emptyString.hint","Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively."),jft=L("contextkey.parser.error.noInAfterNot","'in' after 'not'."),B0e=L("contextkey.parser.error.closingParenthesis","closing parenthesis ')'"),Qft=L("contextkey.parser.error.unexpectedToken","Unexpected token"),$ft=L("contextkey.parser.error.unexpectedToken.hint","Did you forget to put && or || before the token?"),qft=L("contextkey.parser.error.unexpectedEOF","Unexpected end of expression"),egt=L("contextkey.parser.error.unexpectedEOF.hint","Did you forget to put a context key?");let z0e=class TN{constructor(e=Uft){this._config=e,this._scanner=new Jv,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(e){if(e===""){this._parsingErrors.push({message:Kft,offset:0,lexeme:"",additionalInfo:Jft});return}this._tokens=this._scanner.reset(e).scan(),this._current=0,this._parsingErrors=[];try{const t=this._expr();if(!this._isAtEnd()){const i=this._peek(),r=i.type===17?$ft:void 0;throw this._parsingErrors.push({message:Qft,offset:i.offset,lexeme:Jv.getLexeme(i),additionalInfo:r}),TN._parseError}return t}catch(t){if(t!==TN._parseError)throw t;return}}_expr(){return this._or()}_or(){const e=[this._and()];for(;this._matchOne(16);){const t=this._and();e.push(t)}return e.length===1?e[0]:Oe.or(...e)}_and(){const e=[this._term()];for(;this._matchOne(15);){const t=this._term();e.push(t)}return e.length===1?e[0]:Oe.and(...e)}_term(){if(this._matchOne(2)){const e=this._peek();switch(e.type){case 11:return this._advance(),qa.INSTANCE;case 12:return this._advance(),Tl.INSTANCE;case 0:{this._advance();const t=this._expr();return this._consume(1,B0e),t==null?void 0:t.negate()}case 17:return this._advance(),Qv.create(e.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",e)}}return this._primary()}_primary(){const e=this._peek();switch(e.type){case 11:return this._advance(),Oe.true();case 12:return this._advance(),Oe.false();case 0:{this._advance();const t=this._expr();return this._consume(1,B0e),t}case 17:{const t=e.lexeme;if(this._advance(),this._matchOne(9)){const r=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),r.type!==10)throw this._errExpectedButGot("REGEX",r);const o=r.lexeme,s=o.lastIndexOf("/"),a=s===o.length-1?void 0:this._removeFlagsGY(o.substring(s+1));let l;try{l=new RegExp(o.substring(1,s),a)}catch{throw this._errExpectedButGot("REGEX",r)}return oI.create(t,l)}switch(r.type){case 10:case 19:{const o=[r.lexeme];this._advance();let s=this._peek(),a=0;for(let h=0;h=0){const u=o.slice(a+1,l),c=o[l+1]==="i"?"i":"";try{s=new RegExp(u,c)}catch{throw this._errExpectedButGot("REGEX",r)}}}if(s===null)throw this._errExpectedButGot("REGEX",r);return oI.create(t,s)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,jft);const r=this._value();return Oe.notIn(t,r)}switch(this._peek().type){case 3:{this._advance();const r=this._value();if(this._previous().type===18)return Oe.equals(t,r);switch(r){case"true":return Oe.has(t);case"false":return Oe.not(t);default:return Oe.equals(t,r)}}case 4:{this._advance();const r=this._value();if(this._previous().type===18)return Oe.notEquals(t,r);switch(r){case"true":return Oe.not(t);case"false":return Oe.has(t);default:return Oe.notEquals(t,r)}}case 5:return this._advance(),w9.create(t,this._value());case 6:return this._advance(),S9.create(t,this._value());case 7:return this._advance(),y9.create(t,this._value());case 8:return this._advance(),C9.create(t,this._value());case 13:return this._advance(),Oe.in(t,this._value());default:return Oe.has(t)}}case 20:throw this._parsingErrors.push({message:qft,offset:e.offset,lexeme:"",additionalInfo:egt}),TN._parseError;default:throw this._errExpectedButGot(`true | false | KEY +`+e.stack):e},0)}}emit(e){this.listeners.forEach(t=>{t(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}const Tbe=new Tht;function yn(n){Gm(n)||Tbe.onUnexpectedError(n)}function qr(n){Gm(n)||Tbe.onUnexpectedExternalError(n)}function Ebe(n){if(n instanceof Error){const{name:e,message:t}=n,i=n.stacktrace||n.stack;return{$isError:!0,name:e,message:t,stack:i,noTelemetry:dw.isErrorNoTelemetry(n)}}return n}const AR="Canceled";function Gm(n){return n instanceof _g?!0:n instanceof Error&&n.name===AR&&n.message===AR}class _g extends Error{constructor(){super(AR),this.name=this.message}}function Eht(){const n=new Error(AR);return n.name=n.message,n}function Fc(n){return n?new Error(`Illegal argument: ${n}`):new Error("Illegal argument")}function RH(n){return n?new Error(`Illegal state: ${n}`):new Error("Illegal state")}class Rht extends Error{constructor(e){super("NotSupported"),e&&(this.message=e)}}class dw extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof dw)return e;const t=new dw;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}}class rr extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,rr.prototype)}}function ZH(n,e){if(typeof n=="number"){if(n===0)return null;const t=(n&65535)>>>0,i=(n&4294901760)>>>16;return i!==0?new WH([VR(t,e),VR(i,e)]):new WH([VR(t,e)])}else{const t=[];for(let i=0;i=0;x--)yield w[x]}n.reverse=a;function l(w){return!w||w[Symbol.iterator]().next().done===!0}n.isEmpty=l;function u(w){return w[Symbol.iterator]().next().value}n.first=u;function c(w,x){for(const L of w)if(x(L))return!0;return!1}n.some=c;function d(w,x){for(const L of w)if(x(L))return L}n.find=d;function*h(w,x){for(const L of w)x(L)&&(yield L)}n.filter=h;function*m(w,x){let L=0;for(const I of w)yield x(I,L++)}n.map=m;function*f(...w){for(const x of w)yield*x}n.concat=f;function g(w,x,L){let I=L;for(const D of w)I=x(I,D);return I}n.reduce=g;function*b(w,x,L=w.length){for(x<0&&(x+=w.length),L<0?L+=w.length:L>w.length&&(L=w.length);x1)throw new AggregateError(e,"Encountered errors while disposing of store");return Array.isArray(n)?[]:n}else if(n)return n.dispose(),n}function _d(...n){return jt(()=>qi(n))}function jt(n){return{dispose:hw(()=>{n()})}}class Je{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{qi(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?Je.DISABLE_DISPOSED_WARNING:this._toDispose.add(e),e}deleteAndLeak(e){e&&this._toDispose.has(e)&&this._toDispose.delete(e)}}Je.DISABLE_DISPOSED_WARNING=!1;class Fe{constructor(){this._store=new Je,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}}Fe.None=Object.freeze({dispose(){}});class Ns{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(e){var t;this._isDisposed||e===this._value||((t=this._value)===null||t===void 0||t.dispose(),this._value=e)}clear(){this.value=void 0}dispose(){var e;this._isDisposed=!0,(e=this._value)===null||e===void 0||e.dispose(),this._value=void 0}}class zht{constructor(e){this._disposable=e,this._counter=1}acquire(){return this._counter++,this}release(){return--this._counter===0&&this._disposable.dispose(),this}}class Hht{constructor(e){this.object=e}dispose(){}}class VH{constructor(){this._store=new Map,this._isDisposed=!1}dispose(){this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{qi(this._store.values())}finally{this._store.clear()}}get(e){return this._store.get(e)}set(e,t,i=!1){var r;this._isDisposed,i||(r=this._store.get(e))===null||r===void 0||r.dispose(),this._store.set(e,t)}deleteAndDispose(e){var t;(t=this._store.get(e))===null||t===void 0||t.dispose(),this._store.delete(e)}[Symbol.iterator](){return this._store[Symbol.iterator]()}}let Wo=class Oee{constructor(e){this.element=e,this.next=Oee.Undefined,this.prev=Oee.Undefined}};Wo.Undefined=new Wo(void 0);class ja{constructor(){this._first=Wo.Undefined,this._last=Wo.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===Wo.Undefined}clear(){let e=this._first;for(;e!==Wo.Undefined;){const t=e.next;e.prev=Wo.Undefined,e.next=Wo.Undefined,e=t}this._first=Wo.Undefined,this._last=Wo.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const i=new Wo(e);if(this._first===Wo.Undefined)this._first=i,this._last=i;else if(t){const o=this._last;this._last=i,i.prev=o,o.next=i}else{const o=this._first;this._first=i,i.next=o,o.prev=i}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(i))}}shift(){if(this._first!==Wo.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==Wo.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==Wo.Undefined&&e.next!==Wo.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===Wo.Undefined&&e.next===Wo.Undefined?(this._first=Wo.Undefined,this._last=Wo.Undefined):e.next===Wo.Undefined?(this._last=this._last.prev,this._last.next=Wo.Undefined):e.prev===Wo.Undefined&&(this._first=this._first.next,this._first.prev=Wo.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==Wo.Undefined;)yield e.element,e=e.next}}const Yht=globalThis.performance&&typeof globalThis.performance.now=="function";class Js{static create(e){return new Js(e)}constructor(e){this._now=Yht&&e===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}}var lt;(function(n){n.None=()=>Fe.None;function e(E,W){return d(E,()=>{},0,void 0,!0,void 0,W)}n.defer=e;function t(E){return(W,Z=null,V)=>{let z=!1,O;return O=E(B=>{if(!z)return O?O.dispose():z=!0,W.call(Z,B)},null,V),z&&O.dispose(),O}}n.once=t;function i(E,W,Z){return u((V,z=null,O)=>E(B=>V.call(z,W(B)),null,O),Z)}n.map=i;function r(E,W,Z){return u((V,z=null,O)=>E(B=>{W(B),V.call(z,B)},null,O),Z)}n.forEach=r;function o(E,W,Z){return u((V,z=null,O)=>E(B=>W(B)&&V.call(z,B),null,O),Z)}n.filter=o;function s(E){return E}n.signal=s;function a(...E){return(W,Z=null,V)=>{const z=_d(...E.map(O=>O(B=>W.call(Z,B))));return c(z,V)}}n.any=a;function l(E,W,Z,V){let z=Z;return i(E,O=>(z=W(z,O),z),V)}n.reduce=l;function u(E,W){let Z;const V={onWillAddFirstListener(){Z=E(z.fire,z)},onDidRemoveLastListener(){Z==null||Z.dispose()}},z=new be(V);return W==null||W.add(z),z.event}function c(E,W){return W instanceof Array?W.push(E):W&&W.add(E),E}function d(E,W,Z=100,V=!1,z=!1,O,B){let P,H,M,X=0,Y;const A={leakWarningThreshold:O,onWillAddFirstListener(){P=E(oe=>{X++,H=W(H,oe),V&&!M&&(te.fire(H),H=void 0),Y=()=>{const ae=H;H=void 0,M=void 0,(!V||X>1)&&te.fire(ae),X=0},typeof Z=="number"?(clearTimeout(M),M=setTimeout(Y,Z)):M===void 0&&(M=0,queueMicrotask(Y))})},onWillRemoveListener(){z&&X>0&&(Y==null||Y())},onDidRemoveLastListener(){Y=void 0,P.dispose()}},te=new be(A);return B==null||B.add(te),te.event}n.debounce=d;function h(E,W=0,Z){return n.debounce(E,(V,z)=>V?(V.push(z),V):[z],W,void 0,!0,void 0,Z)}n.accumulate=h;function m(E,W=(V,z)=>V===z,Z){let V=!0,z;return o(E,O=>{const B=V||!W(O,z);return V=!1,z=O,B},Z)}n.latch=m;function f(E,W,Z){return[n.filter(E,W,Z),n.filter(E,V=>!W(V),Z)]}n.split=f;function g(E,W=!1,Z=[],V){let z=Z.slice(),O=E(H=>{z?z.push(H):P.fire(H)});V&&V.add(O);const B=()=>{z==null||z.forEach(H=>P.fire(H)),z=null},P=new be({onWillAddFirstListener(){O||(O=E(H=>P.fire(H)),V&&V.add(O))},onDidAddFirstListener(){z&&(W?setTimeout(B):B())},onDidRemoveLastListener(){O&&O.dispose(),O=null}});return V&&V.add(P),P.event}n.buffer=g;function b(E,W){return(V,z,O)=>{const B=W(new C);return E(function(P){const H=B.evaluate(P);H!==y&&V.call(z,H)},void 0,O)}}n.chain=b;const y=Symbol("HaltChainable");class C{constructor(){this.steps=[]}map(W){return this.steps.push(W),this}forEach(W){return this.steps.push(Z=>(W(Z),Z)),this}filter(W){return this.steps.push(Z=>W(Z)?Z:y),this}reduce(W,Z){let V=Z;return this.steps.push(z=>(V=W(V,z),V)),this}latch(W=(Z,V)=>Z===V){let Z=!0,V;return this.steps.push(z=>{const O=Z||!W(z,V);return Z=!1,V=z,O?z:y}),this}evaluate(W){for(const Z of this.steps)if(W=Z(W),W===y)break;return W}}function w(E,W,Z=V=>V){const V=(...P)=>B.fire(Z(...P)),z=()=>E.on(W,V),O=()=>E.removeListener(W,V),B=new be({onWillAddFirstListener:z,onDidRemoveLastListener:O});return B.event}n.fromNodeEventEmitter=w;function x(E,W,Z=V=>V){const V=(...P)=>B.fire(Z(...P)),z=()=>E.addEventListener(W,V),O=()=>E.removeEventListener(W,V),B=new be({onWillAddFirstListener:z,onDidRemoveLastListener:O});return B.event}n.fromDOMEventEmitter=x;function L(E){return new Promise(W=>t(E)(W))}n.toPromise=L;function I(E){const W=new be;return E.then(Z=>{W.fire(Z)},()=>{W.fire(void 0)}).finally(()=>{W.dispose()}),W.event}n.fromPromise=I;function D(E,W,Z){return W(Z),E(V=>W(V))}n.runAndSubscribe=D;class N{constructor(W,Z){this._observable=W,this._counter=0,this._hasChanged=!1;const V={onWillAddFirstListener:()=>{W.addObserver(this)},onDidRemoveLastListener:()=>{W.removeObserver(this)}};this.emitter=new be(V),Z&&Z.add(this.emitter)}beginUpdate(W){this._counter++}handlePossibleChange(W){}handleChange(W,Z){this._hasChanged=!0}endUpdate(W){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function T(E,W){return new N(E,W).emitter.event}n.fromObservable=T;function R(E){return(W,Z,V)=>{let z=0,O=!1;const B={beginUpdate(){z++},endUpdate(){z--,z===0&&(E.reportChanges(),O&&(O=!1,W.call(Z)))},handlePossibleChange(){},handleChange(){O=!0}};E.addObserver(B),E.reportChanges();const P={dispose(){E.removeObserver(B)}};return V instanceof Je?V.add(P):Array.isArray(V)&&V.push(P),P}}n.fromObservableLight=R})(lt||(lt={}));class mw{constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${e}_${mw._idPool++}`,mw.all.add(this)}start(e){this._stopWatch=new Js,this.listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}}mw.all=new Set,mw._idPool=0;let Uht=-1;class Kht{constructor(e,t=Math.random().toString(18).slice(2,5)){this.threshold=e,this.name=t,this._warnCountdown=0}dispose(){var e;(e=this._stacks)===null||e===void 0||e.clear()}check(e,t){const i=this.threshold;if(i<=0||t{const o=this._stacks.get(e.value)||0;this._stacks.set(e.value,o-1)}}}class GH{static create(){var e;return new GH((e=new Error().stack)!==null&&e!==void 0?e:"")}constructor(e){this.value=e}print(){}}class XH{constructor(e){this.value=e}}const Jht=2;let be=class{constructor(e){var t,i,r,o,s;this._size=0,this._options=e,this._leakageMon=!((t=this._options)===null||t===void 0)&&t.leakWarningThreshold?new Kht((r=(i=this._options)===null||i===void 0?void 0:i.leakWarningThreshold)!==null&&r!==void 0?r:Uht):void 0,this._perfMon=!((o=this._options)===null||o===void 0)&&o._profName?new mw(this._options._profName):void 0,this._deliveryQueue=(s=this._options)===null||s===void 0?void 0:s.deliveryQueue}dispose(){var e,t,i,r;this._disposed||(this._disposed=!0,((e=this._deliveryQueue)===null||e===void 0?void 0:e.current)===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),(i=(t=this._options)===null||t===void 0?void 0:t.onDidRemoveLastListener)===null||i===void 0||i.call(t),(r=this._leakageMon)===null||r===void 0||r.dispose())}get event(){var e;return(e=this._event)!==null&&e!==void 0||(this._event=(t,i,r)=>{var o,s,a,l,u;if(this._leakageMon&&this._size>this._leakageMon.threshold*3||this._disposed)return Fe.None;i&&(t=t.bind(i));const c=new XH(t);let d;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(c.stack=GH.create(),d=this._leakageMon.check(c.stack,this._size+1)),this._listeners?this._listeners instanceof XH?((u=this._deliveryQueue)!==null&&u!==void 0||(this._deliveryQueue=new Zbe),this._listeners=[this._listeners,c]):this._listeners.push(c):((s=(o=this._options)===null||o===void 0?void 0:o.onWillAddFirstListener)===null||s===void 0||s.call(o,this),this._listeners=c,(l=(a=this._options)===null||a===void 0?void 0:a.onDidAddFirstListener)===null||l===void 0||l.call(a,this)),this._size++;const h=jt(()=>{d==null||d(),this._removeListener(c)});return r instanceof Je?r.add(h):Array.isArray(r)&&r.push(h),h}),this._event}_removeListener(e){var t,i,r,o;if((i=(t=this._options)===null||t===void 0?void 0:t.onWillRemoveListener)===null||i===void 0||i.call(t,this),!this._listeners)return;if(this._size===1){this._listeners=void 0,(o=(r=this._options)===null||r===void 0?void 0:r.onDidRemoveLastListener)===null||o===void 0||o.call(r,this),this._size=0;return}const s=this._listeners,a=s.indexOf(e);if(a===-1)throw new Error("Attempted to dispose unknown listener");this._size--,s[a]=void 0;const l=this._deliveryQueue.current===this;if(this._size*Jht<=s.length){let u=0;for(let c=0;c0}};const jht=()=>new Zbe;class Zbe{constructor(){this.i=-1,this.end=0}enqueue(e,t,i){this.i=0,this.end=i,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}class Oy extends be{constructor(e){super(e),this._isPaused=0,this._eventQueue=new ja,this._mergeFn=e==null?void 0:e.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused===0)if(this._mergeFn){if(this._eventQueue.size>0){const e=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(e))}}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(e){this._size&&(this._isPaused!==0?this._eventQueue.push(e):super.fire(e))}}class Wbe extends Oy{constructor(e){var t;super(e),this._delay=(t=e.delay)!==null&&t!==void 0?t:100}fire(e){this._handle||(this.pause(),this._handle=setTimeout(()=>{this._handle=void 0,this.resume()},this._delay)),super.fire(e)}}class Qht extends be{constructor(e){super(e),this._queuedEvents=[],this._mergeFn=e==null?void 0:e.merge}fire(e){this.hasListeners()&&(this._queuedEvents.push(e),this._queuedEvents.length===1&&queueMicrotask(()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach(t=>super.fire(t)),this._queuedEvents=[]}))}}class $ht{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new be({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(e){const t={event:e,listener:null};return this.events.push(t),this.hasListeners&&this.hook(t),jt(hw(()=>{this.hasListeners&&this.unhook(t);const r=this.events.indexOf(t);this.events.splice(r,1)}))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach(e=>this.hook(e))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach(e=>this.unhook(e))}hook(e){e.listener=e.event(t=>this.emitter.fire(t))}unhook(e){var t;(t=e.listener)===null||t===void 0||t.dispose(),e.listener=null}dispose(){var e;this.emitter.dispose();for(const t of this.events)(e=t.listener)===null||e===void 0||e.dispose();this.events=[]}}class PH{constructor(){this.buffers=[]}wrapEvent(e){return(t,i,r)=>e(o=>{const s=this.buffers[this.buffers.length-1];s?s.push(()=>t.call(i,o)):t.call(i,o)},void 0,r)}bufferEvents(e){const t=[];this.buffers.push(t);const i=e();return this.buffers.pop(),t.forEach(r=>r()),i}}class Abe{constructor(){this.listening=!1,this.inputEvent=lt.None,this.inputEventListener=Fe.None,this.emitter=new be({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}const Vbe=Object.freeze(function(n,e){const t=setTimeout(n.bind(e),0);return{dispose(){clearTimeout(t)}}});var Yn;(function(n){function e(t){return t===n.None||t===n.Cancelled||t instanceof GR?!0:!t||typeof t!="object"?!1:typeof t.isCancellationRequested=="boolean"&&typeof t.onCancellationRequested=="function"}n.isCancellationToken=e,n.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:lt.None}),n.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Vbe})})(Yn||(Yn={}));class GR{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?Vbe:(this._emitter||(this._emitter=new be),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}let fo=class{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new GR),this._token}cancel(){this._token?this._token instanceof GR&&this._token.cancel():this._token=Yn.Cancelled}dispose(e=!1){var t;e&&this.cancel(),(t=this._parentListener)===null||t===void 0||t.dispose(),this._token?this._token instanceof GR&&this._token.dispose():this._token=Yn.None}};const Gbe=Symbol("MicrotaskDelay");function OH(n){return!!n&&typeof n.then=="function"}function rs(n){const e=new fo,t=n(e.token),i=new Promise((r,o)=>{const s=e.token.onCancellationRequested(()=>{s.dispose(),o(new _g)});Promise.resolve(t).then(a=>{s.dispose(),e.dispose(),r(a)},a=>{s.dispose(),e.dispose(),o(a)})});return new class{cancel(){e.cancel(),e.dispose()}then(r,o){return i.then(r,o)}catch(r){return this.then(void 0,r)}finally(r){return i.finally(r)}}}function UI(n,e,t){return new Promise((i,r)=>{const o=e.onCancellationRequested(()=>{o.dispose(),i(t)});n.then(i,r).finally(()=>o.dispose())})}class qht{constructor(){this.isDisposed=!1,this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(e){if(this.isDisposed)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){const t=()=>{if(this.queuedPromise=null,this.isDisposed)return;const i=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,i};this.queuedPromise=new Promise(i=>{this.activePromise.then(t,t).then(i)})}return new Promise((t,i)=>{this.queuedPromise.then(t,i)})}return this.activePromise=e(),new Promise((t,i)=>{this.activePromise.then(r=>{this.activePromise=null,t(r)},r=>{this.activePromise=null,i(r)})})}dispose(){this.isDisposed=!0}}const emt=(n,e)=>{let t=!0;const i=setTimeout(()=>{t=!1,e()},n);return{isTriggered:()=>t,dispose:()=>{clearTimeout(i),t=!1}}},tmt=n=>{let e=!0;return queueMicrotask(()=>{e&&(e=!1,n())}),{isTriggered:()=>e,dispose:()=>{e=!1}}};class Ld{constructor(e){this.defaultDelay=e,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(e,t=this.defaultDelay){this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((r,o)=>{this.doResolve=r,this.doReject=o}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const r=this.task;return this.task=null,r()}}));const i=()=>{var r;this.deferred=null,(r=this.doResolve)===null||r===void 0||r.call(this,null)};return this.deferred=t===Gbe?tmt(i):emt(t,i),this.completionPromise}isTriggered(){var e;return!!(!((e=this.deferred)===null||e===void 0)&&e.isTriggered())}cancel(){var e;this.cancelTimeout(),this.completionPromise&&((e=this.doReject)===null||e===void 0||e.call(this,new _g),this.completionPromise=null)}cancelTimeout(){var e;(e=this.deferred)===null||e===void 0||e.dispose(),this.deferred=null}dispose(){this.cancel()}}class Xbe{constructor(e){this.delayer=new Ld(e),this.throttler=new qht}trigger(e,t){return this.delayer.trigger(()=>this.throttler.queue(e),t)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}}function By(n,e){return e?new Promise((t,i)=>{const r=setTimeout(()=>{o.dispose(),t()},n),o=e.onCancellationRequested(()=>{clearTimeout(r),o.dispose(),i(new _g)})}):rs(t=>By(n,t))}function Gb(n,e=0,t){const i=setTimeout(()=>{n(),t&&r.dispose()},e),r=jt(()=>{clearTimeout(i),t==null||t.deleteAndLeak(r)});return t==null||t.add(r),r}function BH(n,e=i=>!!i,t=null){let i=0;const r=n.length,o=()=>{if(i>=r)return Promise.resolve(t);const s=n[i++];return Promise.resolve(s()).then(l=>e(l)?Promise.resolve(l):o())};return o()}class Id{constructor(e,t){this._token=-1,typeof e=="function"&&typeof t=="number"&&this.setIfNotSet(e,t)}dispose(){this.cancel()}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){this.cancel(),this._token=setTimeout(()=>{this._token=-1,e()},t)}setIfNotSet(e,t){this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,e()},t))}}class zH{constructor(){this.disposable=void 0}cancel(){var e;(e=this.disposable)===null||e===void 0||e.dispose(),this.disposable=void 0}cancelAndSet(e,t,i=globalThis){this.cancel();const r=i.setInterval(()=>{e()},t);this.disposable=jt(()=>{i.clearInterval(r),this.disposable=void 0})}dispose(){this.cancel()}}class Wi{constructor(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)}get delay(){return this.timeout}set delay(e){this.timeout=e}isScheduled(){return this.timeoutToken!==-1}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){var e;(e=this.runner)===null||e===void 0||e.call(this)}}let Pbe,KI;(function(){typeof globalThis.requestIdleCallback!="function"||typeof globalThis.cancelIdleCallback!="function"?KI=(n,e)=>{Ibe(()=>{if(t)return;const i=Date.now()+15;e(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,i-Date.now())}}))});let t=!1;return{dispose(){t||(t=!0)}}}:KI=(n,e,t)=>{const i=n.requestIdleCallback(e,typeof t=="number"?{timeout:t}:void 0);let r=!1;return{dispose(){r||(r=!0,n.cancelIdleCallback(i))}}},Pbe=n=>KI(globalThis,n)})();class Obe{constructor(e,t){this._didRun=!1,this._executor=()=>{try{this._value=t()}catch(i){this._error=i}finally{this._didRun=!0}},this._handle=KI(e,()=>this._executor())}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}class nmt extends Obe{constructor(e){super(globalThis,e)}}class XR{get isRejected(){var e;return((e=this.outcome)===null||e===void 0?void 0:e.outcome)===1}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise((e,t)=>{this.completeCallback=e,this.errorCallback=t})}complete(e){return new Promise(t=>{this.completeCallback(e),this.outcome={outcome:0,value:e},t()})}error(e){return new Promise(t=>{this.errorCallback(e),this.outcome={outcome:1,value:e},t()})}cancel(){return this.error(new _g)}}var HH;(function(n){async function e(i){let r;const o=await Promise.all(i.map(s=>s.then(a=>a,a=>{r||(r=a)})));if(typeof r<"u")throw r;return o}n.settled=e;function t(i){return new Promise(async(r,o)=>{try{await i(r,o)}catch(s){o(s)}})}n.withAsyncBody=t})(HH||(HH={}));class Io{static fromArray(e){return new Io(t=>{t.emitMany(e)})}static fromPromise(e){return new Io(async t=>{t.emitMany(await e)})}static fromPromises(e){return new Io(async t=>{await Promise.all(e.map(async i=>t.emitOne(await i)))})}static merge(e){return new Io(async t=>{await Promise.all(e.map(async i=>{for await(const r of i)t.emitOne(r)}))})}constructor(e){this._state=0,this._results=[],this._error=null,this._onStateChanged=new be,queueMicrotask(async()=>{const t={emitOne:i=>this.emitOne(i),emitMany:i=>this.emitMany(i),reject:i=>this.reject(i)};try{await Promise.resolve(e(t)),this.resolve()}catch(i){this.reject(i)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(e{for await(const r of e)i.emitOne(t(r))})}map(e){return Io.map(this,e)}static filter(e,t){return new Io(async i=>{for await(const r of e)t(r)&&i.emitOne(r)})}filter(e){return Io.filter(this,e)}static coalesce(e){return Io.filter(e,t=>!!t)}coalesce(){return Io.coalesce(this)}static async toPromise(e){const t=[];for await(const i of e)t.push(i);return t}toPromise(){return Io.toPromise(this)}emitOne(e){this._state===0&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===0&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(e){this._state===0&&(this._state=2,this._error=e,this._onStateChanged.fire())}}Io.EMPTY=Io.fromArray([]);class imt extends Io{constructor(e,t){super(t),this._source=e}cancel(){this._source.cancel()}}function rmt(n){const e=new fo,t=n(e.token);return new imt(e,async i=>{const r=e.token.onCancellationRequested(()=>{r.dispose(),e.dispose(),i.reject(new _g)});try{for await(const o of t){if(e.token.isCancellationRequested)return;i.emitOne(o)}r.dispose(),e.dispose()}catch(o){r.dispose(),e.dispose(),i.reject(o)}})}/*! @license DOMPurify 3.0.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.5/LICENSE */const{entries:Bbe,setPrototypeOf:zbe,isFrozen:omt,getPrototypeOf:smt,getOwnPropertyDescriptor:amt}=Object;let{freeze:ou,seal:xh,create:lmt}=Object,{apply:YH,construct:UH}=typeof Reflect<"u"&&Reflect;YH||(YH=function(e,t,i){return e.apply(t,i)}),ou||(ou=function(e){return e}),xh||(xh=function(e){return e}),UH||(UH=function(e,t){return new e(...t)});const umt=Fd(Array.prototype.forEach),Hbe=Fd(Array.prototype.pop),JI=Fd(Array.prototype.push),PR=Fd(String.prototype.toLowerCase),KH=Fd(String.prototype.toString),cmt=Fd(String.prototype.match),_h=Fd(String.prototype.replace),dmt=Fd(String.prototype.indexOf),hmt=Fd(String.prototype.trim),Dc=Fd(RegExp.prototype.test),jI=mmt(TypeError);function Fd(n){return function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r/gm),ymt=xh(/\${[\w\W]*}/gm),vmt=xh(/^data-[\-\w.\u00B7-\uFFFF]/),Cmt=xh(/^aria-[\-\w]+$/),jbe=xh(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Smt=xh(/^(?:\w+script|data):/i),wmt=xh(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Qbe=xh(/^html$/i);var $be=Object.freeze({__proto__:null,MUSTACHE_EXPR:pmt,ERB_EXPR:bmt,TMPLIT_EXPR:ymt,DATA_ATTR:vmt,ARIA_ATTR:Cmt,IS_ALLOWED_URI:jbe,IS_SCRIPT_OR_DATA:Smt,ATTR_WHITESPACE:wmt,DOCTYPE_NAME:Qbe});const xmt=()=>typeof window>"u"?null:window,_mt=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let i=null;const r="data-tt-policy-suffix";t&&t.hasAttribute(r)&&(i=t.getAttribute(r));const o="dompurify"+(i?"#"+i:"");try{return e.createPolicy(o,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return null}};function qbe(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:xmt();const e=Tt=>qbe(Tt);if(e.version="3.0.5",e.removed=[],!n||!n.document||n.document.nodeType!==9)return e.isSupported=!1,e;const t=n.document,i=t.currentScript;let{document:r}=n;const{DocumentFragment:o,HTMLTemplateElement:s,Node:a,Element:l,NodeFilter:u,NamedNodeMap:c=n.NamedNodeMap||n.MozNamedAttrMap,HTMLFormElement:d,DOMParser:h,trustedTypes:m}=n,f=l.prototype,g=OR(f,"cloneNode"),b=OR(f,"nextSibling"),y=OR(f,"childNodes"),C=OR(f,"parentNode");if(typeof s=="function"){const Tt=r.createElement("template");Tt.content&&Tt.content.ownerDocument&&(r=Tt.content.ownerDocument)}let w,x="";const{implementation:L,createNodeIterator:I,createDocumentFragment:D,getElementsByTagName:N}=r,{importNode:T}=t;let R={};e.isSupported=typeof Bbe=="function"&&typeof C=="function"&&L&&L.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:E,ERB_EXPR:W,TMPLIT_EXPR:Z,DATA_ATTR:V,ARIA_ATTR:z,IS_SCRIPT_OR_DATA:O,ATTR_WHITESPACE:B}=$be;let{IS_ALLOWED_URI:P}=$be,H=null;const M=Ai({},[...Ybe,...JH,...jH,...QH,...Ube]);let X=null;const Y=Ai({},[...Kbe,...$H,...Jbe,...BR]);let A=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),te=null,oe=null,ae=!0,le=!0,ue=!1,Ce=!0,pe=!1,ce=!1,De=!1,Me=!1,ke=!1,Ue=!1,He=!1,ct=!0,yt=!1;const it="user-content-";let he=!0,de=!1,me={},j=null;const $=Ai({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let q=null;const ee=Ai({},["audio","video","img","source","image","track"]);let ye=null;const _e=Ai({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ne="http://www.w3.org/1998/Math/MathML",Be="http://www.w3.org/2000/svg",$e="http://www.w3.org/1999/xhtml";let We=$e,ht=!1,Ye=null;const Ge=Ai({},[Ne,Be,$e],KH);let mt;const wt=["application/xhtml+xml","text/html"],Kt="text/html";let Wt,Yt=null;const Tn=r.createElement("form"),li=function(Se){return Se instanceof RegExp||Se instanceof Function},Et=function(Se){if(!(Yt&&Yt===Se)){if((!Se||typeof Se!="object")&&(Se={}),Se=fw(Se),mt=wt.indexOf(Se.PARSER_MEDIA_TYPE)===-1?mt=Kt:mt=Se.PARSER_MEDIA_TYPE,Wt=mt==="application/xhtml+xml"?KH:PR,H="ALLOWED_TAGS"in Se?Ai({},Se.ALLOWED_TAGS,Wt):M,X="ALLOWED_ATTR"in Se?Ai({},Se.ALLOWED_ATTR,Wt):Y,Ye="ALLOWED_NAMESPACES"in Se?Ai({},Se.ALLOWED_NAMESPACES,KH):Ge,ye="ADD_URI_SAFE_ATTR"in Se?Ai(fw(_e),Se.ADD_URI_SAFE_ATTR,Wt):_e,q="ADD_DATA_URI_TAGS"in Se?Ai(fw(ee),Se.ADD_DATA_URI_TAGS,Wt):ee,j="FORBID_CONTENTS"in Se?Ai({},Se.FORBID_CONTENTS,Wt):$,te="FORBID_TAGS"in Se?Ai({},Se.FORBID_TAGS,Wt):{},oe="FORBID_ATTR"in Se?Ai({},Se.FORBID_ATTR,Wt):{},me="USE_PROFILES"in Se?Se.USE_PROFILES:!1,ae=Se.ALLOW_ARIA_ATTR!==!1,le=Se.ALLOW_DATA_ATTR!==!1,ue=Se.ALLOW_UNKNOWN_PROTOCOLS||!1,Ce=Se.ALLOW_SELF_CLOSE_IN_ATTR!==!1,pe=Se.SAFE_FOR_TEMPLATES||!1,ce=Se.WHOLE_DOCUMENT||!1,ke=Se.RETURN_DOM||!1,Ue=Se.RETURN_DOM_FRAGMENT||!1,He=Se.RETURN_TRUSTED_TYPE||!1,Me=Se.FORCE_BODY||!1,ct=Se.SANITIZE_DOM!==!1,yt=Se.SANITIZE_NAMED_PROPS||!1,he=Se.KEEP_CONTENT!==!1,de=Se.IN_PLACE||!1,P=Se.ALLOWED_URI_REGEXP||jbe,We=Se.NAMESPACE||$e,A=Se.CUSTOM_ELEMENT_HANDLING||{},Se.CUSTOM_ELEMENT_HANDLING&&li(Se.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(A.tagNameCheck=Se.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Se.CUSTOM_ELEMENT_HANDLING&&li(Se.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(A.attributeNameCheck=Se.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Se.CUSTOM_ELEMENT_HANDLING&&typeof Se.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(A.allowCustomizedBuiltInElements=Se.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),pe&&(le=!1),Ue&&(ke=!0),me&&(H=Ai({},[...Ube]),X=[],me.html===!0&&(Ai(H,Ybe),Ai(X,Kbe)),me.svg===!0&&(Ai(H,JH),Ai(X,$H),Ai(X,BR)),me.svgFilters===!0&&(Ai(H,jH),Ai(X,$H),Ai(X,BR)),me.mathMl===!0&&(Ai(H,QH),Ai(X,Jbe),Ai(X,BR))),Se.ADD_TAGS&&(H===M&&(H=fw(H)),Ai(H,Se.ADD_TAGS,Wt)),Se.ADD_ATTR&&(X===Y&&(X=fw(X)),Ai(X,Se.ADD_ATTR,Wt)),Se.ADD_URI_SAFE_ATTR&&Ai(ye,Se.ADD_URI_SAFE_ATTR,Wt),Se.FORBID_CONTENTS&&(j===$&&(j=fw(j)),Ai(j,Se.FORBID_CONTENTS,Wt)),he&&(H["#text"]=!0),ce&&Ai(H,["html","head","body"]),H.table&&(Ai(H,["tbody"]),delete te.tbody),Se.TRUSTED_TYPES_POLICY){if(typeof Se.TRUSTED_TYPES_POLICY.createHTML!="function")throw jI('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Se.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw jI('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');w=Se.TRUSTED_TYPES_POLICY,x=w.createHTML("")}else w===void 0&&(w=_mt(m,i)),w!==null&&typeof x=="string"&&(x=w.createHTML(""));ou&&ou(Se),Yt=Se}},Mt=Ai({},["mi","mo","mn","ms","mtext"]),fe=Ai({},["foreignobject","desc","title","annotation-xml"]),Le=Ai({},["title","style","font","a","script"]),Ze=Ai({},JH);Ai(Ze,jH),Ai(Ze,fmt);const Xe=Ai({},QH);Ai(Xe,gmt);const ft=function(Se){let Ke=C(Se);(!Ke||!Ke.tagName)&&(Ke={namespaceURI:We,tagName:"template"});const dt=PR(Se.tagName),nn=PR(Ke.tagName);return Ye[Se.namespaceURI]?Se.namespaceURI===Be?Ke.namespaceURI===$e?dt==="svg":Ke.namespaceURI===Ne?dt==="svg"&&(nn==="annotation-xml"||Mt[nn]):!!Ze[dt]:Se.namespaceURI===Ne?Ke.namespaceURI===$e?dt==="math":Ke.namespaceURI===Be?dt==="math"&&fe[nn]:!!Xe[dt]:Se.namespaceURI===$e?Ke.namespaceURI===Be&&!fe[nn]||Ke.namespaceURI===Ne&&!Mt[nn]?!1:!Xe[dt]&&(Le[dt]||!Ze[dt]):!!(mt==="application/xhtml+xml"&&Ye[Se.namespaceURI]):!1},kt=function(Se){JI(e.removed,{element:Se});try{Se.parentNode.removeChild(Se)}catch{Se.remove()}},et=function(Se,Ke){try{JI(e.removed,{attribute:Ke.getAttributeNode(Se),from:Ke})}catch{JI(e.removed,{attribute:null,from:Ke})}if(Ke.removeAttribute(Se),Se==="is"&&!X[Se])if(ke||Ue)try{kt(Ke)}catch{}else try{Ke.setAttribute(Se,"")}catch{}},rt=function(Se){let Ke,dt;if(Me)Se=""+Se;else{const Zn=cmt(Se,/^[\r\n\t ]+/);dt=Zn&&Zn[0]}mt==="application/xhtml+xml"&&We===$e&&(Se=''+Se+"");const nn=w?w.createHTML(Se):Se;if(We===$e)try{Ke=new h().parseFromString(nn,mt)}catch{}if(!Ke||!Ke.documentElement){Ke=L.createDocument(We,"template",null);try{Ke.documentElement.innerHTML=ht?x:nn}catch{}}const jn=Ke.body||Ke.documentElement;return Se&&dt&&jn.insertBefore(r.createTextNode(dt),jn.childNodes[0]||null),We===$e?N.call(Ke,ce?"html":"body")[0]:ce?Ke.documentElement:jn},vt=function(Se){return I.call(Se.ownerDocument||Se,Se,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT,null,!1)},It=function(Se){return Se instanceof d&&(typeof Se.nodeName!="string"||typeof Se.textContent!="string"||typeof Se.removeChild!="function"||!(Se.attributes instanceof c)||typeof Se.removeAttribute!="function"||typeof Se.setAttribute!="function"||typeof Se.namespaceURI!="string"||typeof Se.insertBefore!="function"||typeof Se.hasChildNodes!="function")},tn=function(Se){return typeof a=="object"?Se instanceof a:Se&&typeof Se=="object"&&typeof Se.nodeType=="number"&&typeof Se.nodeName=="string"},Jt=function(Se,Ke,dt){R[Se]&&umt(R[Se],nn=>{nn.call(e,Ke,dt,Yt)})},qt=function(Se){let Ke;if(Jt("beforeSanitizeElements",Se,null),It(Se))return kt(Se),!0;const dt=Wt(Se.nodeName);if(Jt("uponSanitizeElement",Se,{tagName:dt,allowedTags:H}),Se.hasChildNodes()&&!tn(Se.firstElementChild)&&(!tn(Se.content)||!tn(Se.content.firstElementChild))&&Dc(/<[/\w]/g,Se.innerHTML)&&Dc(/<[/\w]/g,Se.textContent))return kt(Se),!0;if(!H[dt]||te[dt]){if(!te[dt]&&mn(dt)&&(A.tagNameCheck instanceof RegExp&&Dc(A.tagNameCheck,dt)||A.tagNameCheck instanceof Function&&A.tagNameCheck(dt)))return!1;if(he&&!j[dt]){const nn=C(Se)||Se.parentNode,jn=y(Se)||Se.childNodes;if(jn&&nn){const Zn=jn.length;for(let rn=Zn-1;rn>=0;--rn)nn.insertBefore(g(jn[rn],!0),b(Se))}}return kt(Se),!0}return Se instanceof l&&!ft(Se)||(dt==="noscript"||dt==="noembed"||dt==="noframes")&&Dc(/<\/no(script|embed|frames)/i,Se.innerHTML)?(kt(Se),!0):(pe&&Se.nodeType===3&&(Ke=Se.textContent,Ke=_h(Ke,E," "),Ke=_h(Ke,W," "),Ke=_h(Ke,Z," "),Se.textContent!==Ke&&(JI(e.removed,{element:Se.cloneNode()}),Se.textContent=Ke)),Jt("afterSanitizeElements",Se,null),!1)},Nn=function(Se,Ke,dt){if(ct&&(Ke==="id"||Ke==="name")&&(dt in r||dt in Tn))return!1;if(!(le&&!oe[Ke]&&Dc(V,Ke))){if(!(ae&&Dc(z,Ke))){if(!X[Ke]||oe[Ke]){if(!(mn(Se)&&(A.tagNameCheck instanceof RegExp&&Dc(A.tagNameCheck,Se)||A.tagNameCheck instanceof Function&&A.tagNameCheck(Se))&&(A.attributeNameCheck instanceof RegExp&&Dc(A.attributeNameCheck,Ke)||A.attributeNameCheck instanceof Function&&A.attributeNameCheck(Ke))||Ke==="is"&&A.allowCustomizedBuiltInElements&&(A.tagNameCheck instanceof RegExp&&Dc(A.tagNameCheck,dt)||A.tagNameCheck instanceof Function&&A.tagNameCheck(dt))))return!1}else if(!ye[Ke]){if(!Dc(P,_h(dt,B,""))){if(!((Ke==="src"||Ke==="xlink:href"||Ke==="href")&&Se!=="script"&&dmt(dt,"data:")===0&&q[Se])){if(!(ue&&!Dc(O,_h(dt,B,"")))){if(dt)return!1}}}}}}return!0},mn=function(Se){return Se.indexOf("-")>0},Ot=function(Se){let Ke,dt,nn,jn;Jt("beforeSanitizeAttributes",Se,null);const{attributes:Zn}=Se;if(!Zn)return;const rn={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:X};for(jn=Zn.length;jn--;){Ke=Zn[jn];const{name:fi,namespaceURI:Ln}=Ke;if(dt=fi==="value"?Ke.value:hmt(Ke.value),nn=Wt(fi),rn.attrName=nn,rn.attrValue=dt,rn.keepAttr=!0,rn.forceKeepAttr=void 0,Jt("uponSanitizeAttribute",Se,rn),dt=rn.attrValue,rn.forceKeepAttr||(et(fi,Se),!rn.keepAttr))continue;if(!Ce&&Dc(/\/>/i,dt)){et(fi,Se);continue}pe&&(dt=_h(dt,E," "),dt=_h(dt,W," "),dt=_h(dt,Z," "));const gi=Wt(Se.nodeName);if(Nn(gi,nn,dt)){if(yt&&(nn==="id"||nn==="name")&&(et(fi,Se),dt=it+dt),w&&typeof m=="object"&&typeof m.getAttributeType=="function"&&!Ln)switch(m.getAttributeType(gi,nn)){case"TrustedHTML":{dt=w.createHTML(dt);break}case"TrustedScriptURL":{dt=w.createScriptURL(dt);break}}try{Ln?Se.setAttributeNS(Ln,fi,dt):Se.setAttribute(fi,dt),Hbe(e.removed)}catch{}}}Jt("afterSanitizeAttributes",Se,null)},gn=function Tt(Se){let Ke;const dt=vt(Se);for(Jt("beforeSanitizeShadowDOM",Se,null);Ke=dt.nextNode();)Jt("uponSanitizeShadowNode",Ke,null),!qt(Ke)&&(Ke.content instanceof o&&Tt(Ke.content),Ot(Ke));Jt("afterSanitizeShadowDOM",Se,null)};return e.sanitize=function(Tt){let Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Ke,dt,nn,jn;if(ht=!Tt,ht&&(Tt=""),typeof Tt!="string"&&!tn(Tt))if(typeof Tt.toString=="function"){if(Tt=Tt.toString(),typeof Tt!="string")throw jI("dirty is not a string, aborting")}else throw jI("toString is not a function");if(!e.isSupported)return Tt;if(De||Et(Se),e.removed=[],typeof Tt=="string"&&(de=!1),de){if(Tt.nodeName){const fi=Wt(Tt.nodeName);if(!H[fi]||te[fi])throw jI("root node is forbidden and cannot be sanitized in-place")}}else if(Tt instanceof a)Ke=rt(""),dt=Ke.ownerDocument.importNode(Tt,!0),dt.nodeType===1&&dt.nodeName==="BODY"||dt.nodeName==="HTML"?Ke=dt:Ke.appendChild(dt);else{if(!ke&&!pe&&!ce&&Tt.indexOf("<")===-1)return w&&He?w.createHTML(Tt):Tt;if(Ke=rt(Tt),!Ke)return ke?null:He?x:""}Ke&&Me&&kt(Ke.firstChild);const Zn=vt(de?Tt:Ke);for(;nn=Zn.nextNode();)qt(nn)||(nn.content instanceof o&&gn(nn.content),Ot(nn));if(de)return Tt;if(ke){if(Ue)for(jn=D.call(Ke.ownerDocument);Ke.firstChild;)jn.appendChild(Ke.firstChild);else jn=Ke;return(X.shadowroot||X.shadowrootmode)&&(jn=T.call(t,jn,!0)),jn}let rn=ce?Ke.outerHTML:Ke.innerHTML;return ce&&H["!doctype"]&&Ke.ownerDocument&&Ke.ownerDocument.doctype&&Ke.ownerDocument.doctype.name&&Dc(Qbe,Ke.ownerDocument.doctype.name)&&(rn=" +`+rn),pe&&(rn=_h(rn,E," "),rn=_h(rn,W," "),rn=_h(rn,Z," ")),w&&He?w.createHTML(rn):rn},e.setConfig=function(Tt){Et(Tt),De=!0},e.clearConfig=function(){Yt=null,De=!1},e.isValidAttribute=function(Tt,Se,Ke){Yt||Et({});const dt=Wt(Tt),nn=Wt(Se);return Nn(dt,nn,Ke)},e.addHook=function(Tt,Se){typeof Se=="function"&&(R[Tt]=R[Tt]||[],JI(R[Tt],Se))},e.removeHook=function(Tt){if(R[Tt])return Hbe(R[Tt])},e.removeHooks=function(Tt){R[Tt]&&(R[Tt]=[])},e.removeAllHooks=function(){R={}},e}var Xm=qbe();Xm.version,Xm.isSupported;const e0e=Xm.sanitize;Xm.setConfig,Xm.clearConfig,Xm.isValidAttribute;const qH=Xm.addHook,t0e=Xm.removeHook;Xm.removeHooks,Xm.removeAllHooks;class Lmt{constructor(e,t=JSON.stringify){this.fn=e,this._computeKey=t,this.lastCache=void 0,this.lastArgKey=void 0}get(e){const t=this._computeKey(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this.fn(e)),this.lastCache}}class n0e{get cachedValues(){return this._map}constructor(e){this.fn=e,this._map=new Map}get(e){if(this._map.has(e))return this._map.get(e);const t=this.fn(e);return this._map.set(e,t),t}}class Lh{constructor(e){this.executor=e,this._didRun=!1}get value(){if(!this._didRun)try{this._value=this.executor()}catch(e){this._error=e}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}var gw;function i0e(n){return!n||typeof n!="string"?!0:n.trim().length===0}const Imt=/{(\d+)}/g;function pw(n,...e){return e.length===0?n:n.replace(Imt,function(t,i){const r=parseInt(i,10);return isNaN(r)||r<0||r>=e.length?t:e[r]})}function Fmt(n){return n.replace(/[<>"'&]/g,e=>{switch(e){case"<":return"<";case">":return">";case'"':return""";case"'":return"'";case"&":return"&"}return e})}function zR(n){return n.replace(/[<>&]/g,function(e){switch(e){case"<":return"<";case">":return">";case"&":return"&";default:return e}})}function Wu(n){return n.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function HR(n,e){if(!n||!e)return n;const t=e.length;if(t===0||n.length===0)return n;let i=0;for(;n.indexOf(e,i)===i;)i=i+t;return n.substring(i)}function Dmt(n,e){if(!n||!e)return n;const t=e.length,i=n.length;if(t===0||i===0)return n;let r=i,o=-1;for(;o=n.lastIndexOf(e,r-1),!(o===-1||o+t!==r);){if(o===0)return"";r=o}return n.substring(0,r)}function Nmt(n){return n.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")}function r0e(n,e,t={}){if(!n)throw new Error("Cannot create regex from empty string");e||(n=Wu(n)),t.wholeWord&&(/\B/.test(n.charAt(0))||(n="\\b"+n),/\B/.test(n.charAt(n.length-1))||(n=n+"\\b"));let i="";return t.global&&(i+="g"),t.matchCase||(i+="i"),t.multiline&&(i+="m"),t.unicode&&(i+="u"),new RegExp(n,i)}function Mmt(n){return n.source==="^"||n.source==="^$"||n.source==="$"||n.source==="^\\s*$"?!1:!!(n.exec("")&&n.lastIndex===0)}function Pm(n){return n.split(/\r\n|\r|\n/)}function kmt(n){var e;const t=[],i=n.split(/(\r\n|\r|\n)/);for(let r=0;r=0;t--){const i=n.charCodeAt(t);if(i!==32&&i!==9)return t}return-1}function QI(n,e){return ne?1:0}function eY(n,e,t=0,i=n.length,r=0,o=e.length){for(;tu)return 1}const s=i-t,a=o-r;return sa?1:0}function tY(n,e){return $I(n,e,0,n.length,0,e.length)}function $I(n,e,t=0,i=n.length,r=0,o=e.length){for(;t=128||u>=128)return eY(n.toLowerCase(),e.toLowerCase(),t,i,r,o);Xb(l)&&(l-=32),Xb(u)&&(u-=32);const c=l-u;if(c!==0)return c}const s=i-t,a=o-r;return sa?1:0}function YR(n){return n>=48&&n<=57}function Xb(n){return n>=97&&n<=122}function Om(n){return n>=65&&n<=90}function bw(n,e){return n.length===e.length&&$I(n,e)===0}function nY(n,e){const t=e.length;return e.length>n.length?!1:$I(n,e,0,t)===0}function Pb(n,e){const t=Math.min(n.length,e.length);let i;for(i=0;i1){const i=n.charCodeAt(e-2);if(os(i))return iY(i,t)}return t}class rY{get offset(){return this._offset}constructor(e,t=0){this._str=e,this._len=e.length,this._offset=t}setOffset(e){this._offset=e}prevCodePoint(){const e=Tmt(this._str,this._offset);return this._offset-=e>=65536?2:1,e}nextCodePoint(){const e=KR(this._str,this._len,this._offset);return this._offset+=e>=65536?2:1,e}eol(){return this._offset>=this._len}}class JR{get offset(){return this._iterator.offset}constructor(e,t=0){this._iterator=new rY(e,t)}nextGraphemeLength(){const e=Bb.getInstance(),t=this._iterator,i=t.offset;let r=e.getGraphemeBreakType(t.nextCodePoint());for(;!t.eol();){const o=t.offset,s=e.getGraphemeBreakType(t.nextCodePoint());if(u0e(r,s)){t.setOffset(o);break}r=s}return t.offset-i}prevGraphemeLength(){const e=Bb.getInstance(),t=this._iterator,i=t.offset;let r=e.getGraphemeBreakType(t.prevCodePoint());for(;t.offset>0;){const o=t.offset,s=e.getGraphemeBreakType(t.prevCodePoint());if(u0e(s,r)){t.setOffset(o);break}r=s}return i-t.offset}eol(){return this._iterator.eol()}}function oY(n,e){return new JR(n,e).nextGraphemeLength()}function o0e(n,e){return new JR(n,e).prevGraphemeLength()}function Emt(n,e){e>0&&zy(n.charCodeAt(e))&&e--;const t=e+oY(n,e);return[t-o0e(n,t),t]}let sY;function Rmt(){return/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/}function yw(n){return sY||(sY=Rmt()),sY.test(n)}const Zmt=/^[\t\n\r\x20-\x7E]*$/;function qI(n){return Zmt.test(n)}const s0e=/[\u2028\u2029]/;function a0e(n){return s0e.test(n)}function Ob(n){return n>=11904&&n<=55215||n>=63744&&n<=64255||n>=65281&&n<=65374}function aY(n){return n>=127462&&n<=127487||n===8986||n===8987||n===9200||n===9203||n>=9728&&n<=10175||n===11088||n===11093||n>=127744&&n<=128591||n>=128640&&n<=128764||n>=128992&&n<=129008||n>=129280&&n<=129535||n>=129648&&n<=129782}const Wmt="\uFEFF";function lY(n){return!!(n&&n.length>0&&n.charCodeAt(0)===65279)}function Amt(n,e=!1){return n?(e&&(n=n.replace(/\\./g,"")),n.toLowerCase()!==n):!1}function l0e(n){return n=n%(2*26),n<26?String.fromCharCode(97+n):String.fromCharCode(65+n-26)}function u0e(n,e){return n===0?e!==5&&e!==7:n===2&&e===3?!1:n===4||n===2||n===3||e===4||e===2||e===3?!0:!(n===8&&(e===8||e===9||e===11||e===12)||(n===11||n===9)&&(e===9||e===10)||(n===12||n===10)&&e===10||e===5||e===13||e===7||n===1||n===13&&e===14||n===6&&e===6)}class Bb{static getInstance(){return Bb._INSTANCE||(Bb._INSTANCE=new Bb),Bb._INSTANCE}constructor(){this._data=Vmt()}getGraphemeBreakType(e){if(e<32)return e===10?3:e===13?2:4;if(e<127)return 0;const t=this._data,i=t.length/3;let r=1;for(;r<=i;)if(et[3*r+1])r=2*r+1;else return t[3*r+2];return 0}}Bb._INSTANCE=null;function Vmt(){return JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]")}function Gmt(n,e){if(n===0)return 0;const t=Xmt(n,e);if(t!==void 0)return t;const i=new rY(e,n);return i.prevCodePoint(),i.offset}function Xmt(n,e){const t=new rY(e,n);let i=t.prevCodePoint();for(;Pmt(i)||i===65039||i===8419;){if(t.offset===0)return;i=t.prevCodePoint()}if(!aY(i))return;let r=t.offset;return r>0&&t.prevCodePoint()===8205&&(r=t.offset),r}function Pmt(n){return 127995<=n&&n<=127999}const c0e=" ";class Hy{static getInstance(e){return gw.cache.get(Array.from(e))}static getLocales(){return gw._locales.value}constructor(e){this.confusableDictionary=e}isAmbiguous(e){return this.confusableDictionary.has(e)}getPrimaryConfusable(e){return this.confusableDictionary.get(e)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}gw=Hy,Hy.ambiguousCharacterData=new Lh(()=>JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,8218,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,8242,96,1370,96,1523,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71922,67,71913,67,65315,67,8557,67,8450,67,8493,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71919,87,71910,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,66293,90,71909,90,65338,90,8484,90,8488,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],"_default":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"cs":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"es":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"fr":[65374,126,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"it":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ja":[8211,45,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65292,44,65307,59],"ko":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pt-BR":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ru":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"zh-hans":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],"zh-hant":[8211,45,65374,126,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65307,59]}')),Hy.cache=new Lmt(n=>{function e(u){const c=new Map;for(let d=0;d!u.startsWith("_")&&u in r);o.length===0&&(o=["_default"]);let s;for(const u of o){const c=e(r[u]);s=i(s,c)}const a=e(r._common),l=t(a,s);return new gw(l)}),Hy._locales=new Lh(()=>Object.keys(gw.ambiguousCharacterData.value).filter(n=>!n.startsWith("_")));class Bm{static getRawData(){return JSON.parse("[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]")}static getData(){return this._data||(this._data=new Set(Bm.getRawData())),this._data}static isInvisibleCharacter(e){return Bm.getData().has(e)}static get codePoints(){return Bm.getData()}}Bm._data=void 0;var d0e={GITHUB_STATE:"/home/runner/work/_temp/_runner_file_commands/save_state_1db24d99-745b-44e6-9118-92da7729c914",STATS_TRP:"true",DEPLOYMENT_BASEPATH:"/opt/runner",DOTNET_NOLOGO:"1",USER:"runner",npm_config_always_auth:"",npm_config_user_agent:"npm/10.5.0 node/v18.20.2 linux x64 workspaces/false ci/github-actions",CI:"true",RUNNER_ENVIRONMENT:"github-hosted",GITHUB_ENV:"/home/runner/work/_temp/_runner_file_commands/set_env_1db24d99-745b-44e6-9118-92da7729c914",PIPX_HOME:"/opt/pipx",npm_node_execpath:"/opt/hostedtoolcache/node/18.20.2/x64/bin/node",JAVA_HOME_8_X64:"/usr/lib/jvm/temurin-8-jdk-amd64",NODE_AUTH_TOKEN:"XXXXX-XXXXX-XXXXX-XXXXX",SHLVL:"1",npm_config_noproxy:"",HOME:"/home/runner",RUNNER_TEMP:"/home/runner/work/_temp",GITHUB_EVENT_PATH:"/home/runner/work/_temp/_github_workflow/event.json",npm_package_json:"/home/runner/work/openapi-ui/openapi-ui/package.json",JAVA_HOME_11_X64:"/usr/lib/jvm/temurin-11-jdk-amd64",PIPX_BIN_DIR:"/opt/pipx_bin",GITHUB_REPOSITORY_OWNER:"rookie-luochao",npm_config_auto_install_peers:"true",npm_package_engines_node:"^18.0.0 || >=20.0.0",GRADLE_HOME:"/usr/share/gradle-8.7",ANDROID_NDK_LATEST_HOME:"/usr/local/lib/android/sdk/ndk/26.3.11579264",JAVA_HOME_21_X64:"/usr/lib/jvm/temurin-21-jdk-amd64",STATS_RDCL:"true",GITHUB_RETENTION_DAYS:"90",GITHUB_REPOSITORY_OWNER_ID:"22948077",POWERSHELL_DISTRIBUTION_CHANNEL:"GitHub-Actions-ubuntu22",AZURE_EXTENSION_DIR:"/opt/az/azcliextensions",GITHUB_HEAD_REF:"",npm_config_local_prefix:"/home/runner/work/openapi-ui/openapi-ui",SYSTEMD_EXEC_PID:"591",GITHUB_GRAPHQL_URL:"https://api.github.com/graphql",COLOR:"0",GOROOT_1_20_X64:"/opt/hostedtoolcache/go/1.20.14/x64",NVM_DIR:"/home/runner/.nvm",DOTNET_SKIP_FIRST_TIME_EXPERIENCE:"1",GOROOT_1_21_X64:"/opt/hostedtoolcache/go/1.21.9/x64",JAVA_HOME_17_X64:"/usr/lib/jvm/temurin-17-jdk-amd64",ImageVersion:"20240422.1.0",RUNNER_OS:"Linux",GITHUB_API_URL:"https://api.github.com",GOROOT_1_22_X64:"/opt/hostedtoolcache/go/1.22.2/x64",SWIFT_PATH:"/usr/share/swift/usr/bin",RUNNER_USER:"runner",STATS_V3PS:"true",CHROMEWEBDRIVER:"/usr/local/share/chromedriver-linux64",JOURNAL_STREAM:"8:17399",GITHUB_WORKFLOW:"Publish Package CI",_:"/opt/hostedtoolcache/node/18.20.2/x64/bin/npm",npm_config_prefix:"/opt/hostedtoolcache/node/18.20.2/x64",npm_config_npm_version:"10.5.0",ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE:"/opt/actionarchivecache",STATS_D:"true",GITHUB_RUN_ID:"9034363565",STATS_VMFE:"true",npm_config_cache:"/home/runner/.npm",GITHUB_REF_TYPE:"tag",BOOTSTRAP_HASKELL_NONINTERACTIVE:"1",GITHUB_WORKFLOW_SHA:"7d06aa5962e2854267496af964903729ea3712ea",GITHUB_BASE_REF:"",ImageOS:"ubuntu22",GITHUB_WORKFLOW_REF:"rookie-luochao/openapi-ui/.github/workflows/publish-package-ci.yml@refs/tags/v2.2.1",PERFLOG_LOCATION_SETTING:"RUNNER_PERFLOG",GITHUB_ACTION_REPOSITORY:"",npm_config_node_gyp:"/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",PATH:"/home/runner/work/openapi-ui/openapi-ui/node_modules/.bin:/home/runner/work/openapi-ui/node_modules/.bin:/home/runner/work/node_modules/.bin:/home/runner/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin",ANT_HOME:"/usr/share/ant",DOTNET_MULTILEVEL_LOOKUP:"0",RUNNER_TRACKING_ID:"github_8e3f06e2-01ee-4dd3-8ff0-4ad90f0f5f28",INVOCATION_ID:"d0057c0943174c4e95e299688b270680",NPM_CONFIG_USERCONFIG:"/home/runner/work/_temp/.npmrc",RUNNER_TOOL_CACHE:"/opt/hostedtoolcache",NODE:"/opt/hostedtoolcache/node/18.20.2/x64/bin/node",npm_package_name:"openapi-ui-dist",GITHUB_ACTION:"__run_3",GITHUB_RUN_NUMBER:"5",GITHUB_TRIGGERING_ACTOR:"rookie-luochao",RUNNER_ARCH:"X64",XDG_RUNTIME_DIR:"/run/user/1001",AGENT_TOOLSDIRECTORY:"/opt/hostedtoolcache",LANG:"C.UTF-8",VCPKG_INSTALLATION_ROOT:"/usr/local/share/vcpkg",CONDA:"/usr/share/miniconda",RUNNER_NAME:"GitHub Actions 19",XDG_CONFIG_HOME:"/home/runner/.config",STATS_VMD:"true",GITHUB_REF_NAME:"v2.2.1",GITHUB_REPOSITORY:"rookie-luochao/openapi-ui",STATS_D_D:"true",npm_lifecycle_script:"tsc && vite build --config vite.package.config.ts --mode package",STATS_UE:"true",ANDROID_NDK_ROOT:"/usr/local/lib/android/sdk/ndk/25.2.9519653",GITHUB_ACTION_REF:"",DEBIAN_FRONTEND:"noninteractive",GITHUB_REPOSITORY_ID:"733969338",GITHUB_ACTIONS:"true",npm_package_version:"2.2.1",npm_lifecycle_event:"build:package",NODE_PATH:"/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules/vite/bin/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules/vite/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/node_modules",GITHUB_REF_PROTECTED:"false",GITHUB_WORKSPACE:"/home/runner/work/openapi-ui/openapi-ui",ACCEPT_EULA:"Y",GITHUB_JOB:"build",RUNNER_PERFLOG:"/home/runner/perflog",GITHUB_SHA:"7d06aa5962e2854267496af964903729ea3712ea",GITHUB_RUN_ATTEMPT:"1",GITHUB_REF:"refs/tags/v2.2.1",GITHUB_ACTOR:"rookie-luochao",ANDROID_SDK_ROOT:"/usr/local/lib/android/sdk",LEIN_HOME:"/usr/local/lib/lein",npm_config_globalconfig:"/opt/hostedtoolcache/node/18.20.2/x64/etc/npmrc",npm_config_init_module:"/home/runner/.npm-init.js",GITHUB_PATH:"/home/runner/work/_temp/_runner_file_commands/add_path_1db24d99-745b-44e6-9118-92da7729c914",JAVA_HOME:"/usr/lib/jvm/temurin-11-jdk-amd64",PWD:"/home/runner/work/openapi-ui/openapi-ui",GITHUB_ACTOR_ID:"22948077",RUNNER_WORKSPACE:"/home/runner/work/openapi-ui",npm_execpath:"/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/bin/npm-cli.js",HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS:"3650",GITHUB_EVENT_NAME:"push",HOMEBREW_NO_AUTO_UPDATE:"1",ANDROID_HOME:"/usr/local/lib/android/sdk",GITHUB_SERVER_URL:"https://github.com",GECKOWEBDRIVER:"/usr/local/share/gecko_driver",LEIN_JAR:"/usr/local/lib/lein/self-installs/leiningen-2.11.2-standalone.jar",GHCUP_INSTALL_BASE_PREFIX:"/usr/local",GITHUB_OUTPUT:"/home/runner/work/_temp/_runner_file_commands/set_output_1db24d99-745b-44e6-9118-92da7729c914",npm_config_global_prefix:"/opt/hostedtoolcache/node/18.20.2/x64",EDGEWEBDRIVER:"/usr/local/share/edge_driver",STATS_EXT:"true",npm_command:"run-script",ANDROID_NDK:"/usr/local/lib/android/sdk/ndk/25.2.9519653",SGX_AESM_ADDR:"1",CHROME_BIN:"/usr/bin/google-chrome",SELENIUM_JAR_PATH:"/usr/share/java/selenium-server.jar",STATS_EXTP:"https://provjobdsettingscdn.blob.core.windows.net/settings/provjobdsettings-0.5.172+1/provjobd.data",ANDROID_NDK_HOME:"/usr/local/lib/android/sdk/ndk/25.2.9519653",GITHUB_STEP_SUMMARY:"/home/runner/work/_temp/_runner_file_commands/step_summary_1db24d99-745b-44e6-9118-92da7729c914",INIT_CWD:"/home/runner/work/openapi-ui/openapi-ui",EDITOR:"vi",NODE_ENV:"production"};let vw;const uY=globalThis.vscode;if(typeof uY<"u"&&typeof uY.process<"u"){const n=uY.process;vw={get platform(){return n.platform},get arch(){return n.arch},get env(){return n.env},cwd(){return n.cwd()}}}else typeof process<"u"?vw={get platform(){return process.platform},get arch(){return process.arch},get env(){return d0e},cwd(){return d0e.VSCODE_CWD||process.cwd()}}:vw={get platform(){return ha?"win32":On?"darwin":"linux"},get arch(){},get env(){return{}},cwd(){return"/"}};const jR=vw.cwd,cY=vw.env,Omt=vw.platform,Bmt=65,zmt=97,Hmt=90,Ymt=122,zb=46,Ia=47,Au=92,Hb=58,Umt=63;class h0e extends Error{constructor(e,t,i){let r;typeof t=="string"&&t.indexOf("not ")===0?(r="must not be",t=t.replace(/^not /,"")):r="must be";const o=e.indexOf(".")!==-1?"property":"argument";let s=`The "${e}" ${o} ${r} of type ${t}`;s+=`. Received type ${typeof i}`,super(s),this.code="ERR_INVALID_ARG_TYPE"}}function Kmt(n,e){if(n===null||typeof n!="object")throw new h0e(e,"Object",n)}function gs(n,e){if(typeof n!="string")throw new h0e(e,"string",n)}const Yb=Omt==="win32";function Ri(n){return n===Ia||n===Au}function dY(n){return n===Ia}function Ub(n){return n>=Bmt&&n<=Hmt||n>=zmt&&n<=Ymt}function QR(n,e,t,i){let r="",o=0,s=-1,a=0,l=0;for(let u=0;u<=n.length;++u){if(u2){const c=r.lastIndexOf(t);c===-1?(r="",o=0):(r=r.slice(0,c),o=r.length-1-r.lastIndexOf(t)),s=u,a=0;continue}else if(r.length!==0){r="",o=0,s=u,a=0;continue}}e&&(r+=r.length>0?`${t}..`:"..",o=2)}else r.length>0?r+=`${t}${n.slice(s+1,u)}`:r=n.slice(s+1,u),o=u-s-1;s=u,a=0}else l===zb&&a!==-1?++a:a=-1}return r}function m0e(n,e){Kmt(e,"pathObject");const t=e.dir||e.root,i=e.base||`${e.name||""}${e.ext||""}`;return t?t===e.root?`${t}${i}`:`${t}${n}${i}`:i}const su={resolve(...n){let e="",t="",i=!1;for(let r=n.length-1;r>=-1;r--){let o;if(r>=0){if(o=n[r],gs(o,"path"),o.length===0)continue}else e.length===0?o=jR():(o=cY[`=${e}`]||jR(),(o===void 0||o.slice(0,2).toLowerCase()!==e.toLowerCase()&&o.charCodeAt(2)===Au)&&(o=`${e}\\`));const s=o.length;let a=0,l="",u=!1;const c=o.charCodeAt(0);if(s===1)Ri(c)&&(a=1,u=!0);else if(Ri(c))if(u=!0,Ri(o.charCodeAt(1))){let d=2,h=d;for(;d2&&Ri(o.charCodeAt(2))&&(u=!0,a=3));if(l.length>0)if(e.length>0){if(l.toLowerCase()!==e.toLowerCase())continue}else e=l;if(i){if(e.length>0)break}else if(t=`${o.slice(a)}\\${t}`,i=u,u&&e.length>0)break}return t=QR(t,!i,"\\",Ri),i?`${e}\\${t}`:`${e}${t}`||"."},normalize(n){gs(n,"path");const e=n.length;if(e===0)return".";let t=0,i,r=!1;const o=n.charCodeAt(0);if(e===1)return dY(o)?"\\":n;if(Ri(o))if(r=!0,Ri(n.charCodeAt(1))){let a=2,l=a;for(;a2&&Ri(n.charCodeAt(2))&&(r=!0,t=3));let s=t0&&Ri(n.charCodeAt(e-1))&&(s+="\\"),i===void 0?r?`\\${s}`:s:r?`${i}\\${s}`:`${i}${s}`},isAbsolute(n){gs(n,"path");const e=n.length;if(e===0)return!1;const t=n.charCodeAt(0);return Ri(t)||e>2&&Ub(t)&&n.charCodeAt(1)===Hb&&Ri(n.charCodeAt(2))},join(...n){if(n.length===0)return".";let e,t;for(let o=0;o0&&(e===void 0?e=t=s:e+=`\\${s}`)}if(e===void 0)return".";let i=!0,r=0;if(typeof t=="string"&&Ri(t.charCodeAt(0))){++r;const o=t.length;o>1&&Ri(t.charCodeAt(1))&&(++r,o>2&&(Ri(t.charCodeAt(2))?++r:i=!1))}if(i){for(;r=2&&(e=`\\${e.slice(r)}`)}return su.normalize(e)},relative(n,e){if(gs(n,"from"),gs(e,"to"),n===e)return"";const t=su.resolve(n),i=su.resolve(e);if(t===i||(n=t.toLowerCase(),e=i.toLowerCase(),n===e))return"";let r=0;for(;rr&&n.charCodeAt(o-1)===Au;)o--;const s=o-r;let a=0;for(;aa&&e.charCodeAt(l-1)===Au;)l--;const u=l-a,c=sc){if(e.charCodeAt(a+h)===Au)return i.slice(a+h+1);if(h===2)return i.slice(a+h)}s>c&&(n.charCodeAt(r+h)===Au?d=h:h===2&&(d=3)),d===-1&&(d=0)}let m="";for(h=r+d+1;h<=o;++h)(h===o||n.charCodeAt(h)===Au)&&(m+=m.length===0?"..":"\\..");return a+=d,m.length>0?`${m}${i.slice(a,l)}`:(i.charCodeAt(a)===Au&&++a,i.slice(a,l))},toNamespacedPath(n){if(typeof n!="string"||n.length===0)return n;const e=su.resolve(n);if(e.length<=2)return n;if(e.charCodeAt(0)===Au){if(e.charCodeAt(1)===Au){const t=e.charCodeAt(2);if(t!==Umt&&t!==zb)return`\\\\?\\UNC\\${e.slice(2)}`}}else if(Ub(e.charCodeAt(0))&&e.charCodeAt(1)===Hb&&e.charCodeAt(2)===Au)return`\\\\?\\${e}`;return n},dirname(n){gs(n,"path");const e=n.length;if(e===0)return".";let t=-1,i=0;const r=n.charCodeAt(0);if(e===1)return Ri(r)?n:".";if(Ri(r)){if(t=i=1,Ri(n.charCodeAt(1))){let a=2,l=a;for(;a2&&Ri(n.charCodeAt(2))?3:2,i=t);let o=-1,s=!0;for(let a=e-1;a>=i;--a)if(Ri(n.charCodeAt(a))){if(!s){o=a;break}}else s=!1;if(o===-1){if(t===-1)return".";o=t}return n.slice(0,o)},basename(n,e){e!==void 0&&gs(e,"ext"),gs(n,"path");let t=0,i=-1,r=!0,o;if(n.length>=2&&Ub(n.charCodeAt(0))&&n.charCodeAt(1)===Hb&&(t=2),e!==void 0&&e.length>0&&e.length<=n.length){if(e===n)return"";let s=e.length-1,a=-1;for(o=n.length-1;o>=t;--o){const l=n.charCodeAt(o);if(Ri(l)){if(!r){t=o+1;break}}else a===-1&&(r=!1,a=o+1),s>=0&&(l===e.charCodeAt(s)?--s===-1&&(i=o):(s=-1,i=a))}return t===i?i=a:i===-1&&(i=n.length),n.slice(t,i)}for(o=n.length-1;o>=t;--o)if(Ri(n.charCodeAt(o))){if(!r){t=o+1;break}}else i===-1&&(r=!1,i=o+1);return i===-1?"":n.slice(t,i)},extname(n){gs(n,"path");let e=0,t=-1,i=0,r=-1,o=!0,s=0;n.length>=2&&n.charCodeAt(1)===Hb&&Ub(n.charCodeAt(0))&&(e=i=2);for(let a=n.length-1;a>=e;--a){const l=n.charCodeAt(a);if(Ri(l)){if(!o){i=a+1;break}continue}r===-1&&(o=!1,r=a+1),l===zb?t===-1?t=a:s!==1&&(s=1):t!==-1&&(s=-1)}return t===-1||r===-1||s===0||s===1&&t===r-1&&t===i+1?"":n.slice(t,r)},format:m0e.bind(null,"\\"),parse(n){gs(n,"path");const e={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return e;const t=n.length;let i=0,r=n.charCodeAt(0);if(t===1)return Ri(r)?(e.root=e.dir=n,e):(e.base=e.name=n,e);if(Ri(r)){if(i=1,Ri(n.charCodeAt(1))){let d=2,h=d;for(;d0&&(e.root=n.slice(0,i));let o=-1,s=i,a=-1,l=!0,u=n.length-1,c=0;for(;u>=i;--u){if(r=n.charCodeAt(u),Ri(r)){if(!l){s=u+1;break}continue}a===-1&&(l=!1,a=u+1),r===zb?o===-1?o=u:c!==1&&(c=1):o!==-1&&(c=-1)}return a!==-1&&(o===-1||c===0||c===1&&o===a-1&&o===s+1?e.base=e.name=n.slice(s,a):(e.name=n.slice(s,o),e.base=n.slice(s,a),e.ext=n.slice(o,a))),s>0&&s!==i?e.dir=n.slice(0,s-1):e.dir=e.root,e},sep:"\\",delimiter:";",win32:null,posix:null},Jmt=(()=>{if(Yb){const n=/\\/g;return()=>{const e=jR().replace(n,"/");return e.slice(e.indexOf("/"))}}return()=>jR()})(),Fo={resolve(...n){let e="",t=!1;for(let i=n.length-1;i>=-1&&!t;i--){const r=i>=0?n[i]:Jmt();gs(r,"path"),r.length!==0&&(e=`${r}/${e}`,t=r.charCodeAt(0)===Ia)}return e=QR(e,!t,"/",dY),t?`/${e}`:e.length>0?e:"."},normalize(n){if(gs(n,"path"),n.length===0)return".";const e=n.charCodeAt(0)===Ia,t=n.charCodeAt(n.length-1)===Ia;return n=QR(n,!e,"/",dY),n.length===0?e?"/":t?"./":".":(t&&(n+="/"),e?`/${n}`:n)},isAbsolute(n){return gs(n,"path"),n.length>0&&n.charCodeAt(0)===Ia},join(...n){if(n.length===0)return".";let e;for(let t=0;t0&&(e===void 0?e=i:e+=`/${i}`)}return e===void 0?".":Fo.normalize(e)},relative(n,e){if(gs(n,"from"),gs(e,"to"),n===e||(n=Fo.resolve(n),e=Fo.resolve(e),n===e))return"";const t=1,i=n.length,r=i-t,o=1,s=e.length-o,a=ra){if(e.charCodeAt(o+u)===Ia)return e.slice(o+u+1);if(u===0)return e.slice(o+u)}else r>a&&(n.charCodeAt(t+u)===Ia?l=u:u===0&&(l=0));let c="";for(u=t+l+1;u<=i;++u)(u===i||n.charCodeAt(u)===Ia)&&(c+=c.length===0?"..":"/..");return`${c}${e.slice(o+l)}`},toNamespacedPath(n){return n},dirname(n){if(gs(n,"path"),n.length===0)return".";const e=n.charCodeAt(0)===Ia;let t=-1,i=!0;for(let r=n.length-1;r>=1;--r)if(n.charCodeAt(r)===Ia){if(!i){t=r;break}}else i=!1;return t===-1?e?"/":".":e&&t===1?"//":n.slice(0,t)},basename(n,e){e!==void 0&&gs(e,"ext"),gs(n,"path");let t=0,i=-1,r=!0,o;if(e!==void 0&&e.length>0&&e.length<=n.length){if(e===n)return"";let s=e.length-1,a=-1;for(o=n.length-1;o>=0;--o){const l=n.charCodeAt(o);if(l===Ia){if(!r){t=o+1;break}}else a===-1&&(r=!1,a=o+1),s>=0&&(l===e.charCodeAt(s)?--s===-1&&(i=o):(s=-1,i=a))}return t===i?i=a:i===-1&&(i=n.length),n.slice(t,i)}for(o=n.length-1;o>=0;--o)if(n.charCodeAt(o)===Ia){if(!r){t=o+1;break}}else i===-1&&(r=!1,i=o+1);return i===-1?"":n.slice(t,i)},extname(n){gs(n,"path");let e=-1,t=0,i=-1,r=!0,o=0;for(let s=n.length-1;s>=0;--s){const a=n.charCodeAt(s);if(a===Ia){if(!r){t=s+1;break}continue}i===-1&&(r=!1,i=s+1),a===zb?e===-1?e=s:o!==1&&(o=1):e!==-1&&(o=-1)}return e===-1||i===-1||o===0||o===1&&e===i-1&&e===t+1?"":n.slice(e,i)},format:m0e.bind(null,"/"),parse(n){gs(n,"path");const e={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return e;const t=n.charCodeAt(0)===Ia;let i;t?(e.root="/",i=1):i=0;let r=-1,o=0,s=-1,a=!0,l=n.length-1,u=0;for(;l>=i;--l){const c=n.charCodeAt(l);if(c===Ia){if(!a){o=l+1;break}continue}s===-1&&(a=!1,s=l+1),c===zb?r===-1?r=l:u!==1&&(u=1):r!==-1&&(u=-1)}if(s!==-1){const c=o===0&&t?1:o;r===-1||u===0||u===1&&r===s-1&&r===o+1?e.base=e.name=n.slice(c,s):(e.name=n.slice(c,r),e.base=n.slice(c,s),e.ext=n.slice(r,s))}return o>0?e.dir=n.slice(0,o-1):t&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null};Fo.win32=su.win32=su,Fo.posix=su.posix=Fo;const f0e=Yb?su.normalize:Fo.normalize,jmt=Yb?su.resolve:Fo.resolve,Qmt=Yb?su.relative:Fo.relative,g0e=Yb?su.dirname:Fo.dirname,Kb=Yb?su.basename:Fo.basename,$mt=Yb?su.extname:Fo.extname,Jb=Yb?su.sep:Fo.sep,qmt=/^\w[\w\d+.-]*$/,eft=/^\//,tft=/^\/\//;function nft(n,e){if(!n.scheme&&e)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${n.authority}", path: "${n.path}", query: "${n.query}", fragment: "${n.fragment}"}`);if(n.scheme&&!qmt.test(n.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(n.path){if(n.authority){if(!eft.test(n.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(tft.test(n.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function ift(n,e){return!n&&!e?"file":n}function rft(n,e){switch(n){case"https":case"http":case"file":e?e[0]!==Fh&&(e=Fh+e):e=Fh;break}return e}const go="",Fh="/",oft=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class en{static isUri(e){return e instanceof en?!0:e?typeof e.authority=="string"&&typeof e.fragment=="string"&&typeof e.path=="string"&&typeof e.query=="string"&&typeof e.scheme=="string"&&typeof e.fsPath=="string"&&typeof e.with=="function"&&typeof e.toString=="function":!1}constructor(e,t,i,r,o,s=!1){typeof e=="object"?(this.scheme=e.scheme||go,this.authority=e.authority||go,this.path=e.path||go,this.query=e.query||go,this.fragment=e.fragment||go):(this.scheme=ift(e,s),this.authority=t||go,this.path=rft(this.scheme,i||go),this.query=r||go,this.fragment=o||go,nft(this,s))}get fsPath(){return $R(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:i,path:r,query:o,fragment:s}=e;return t===void 0?t=this.scheme:t===null&&(t=go),i===void 0?i=this.authority:i===null&&(i=go),r===void 0?r=this.path:r===null&&(r=go),o===void 0?o=this.query:o===null&&(o=go),s===void 0?s=this.fragment:s===null&&(s=go),t===this.scheme&&i===this.authority&&r===this.path&&o===this.query&&s===this.fragment?this:new Cw(t,i,r,o,s)}static parse(e,t=!1){const i=oft.exec(e);return i?new Cw(i[2]||go,qR(i[4]||go),qR(i[5]||go),qR(i[7]||go),qR(i[9]||go),t):new Cw(go,go,go,go,go)}static file(e){let t=go;if(ha&&(e=e.replace(/\\/g,Fh)),e[0]===Fh&&e[1]===Fh){const i=e.indexOf(Fh,2);i===-1?(t=e.substring(2),e=Fh):(t=e.substring(2,i),e=e.substring(i)||Fh)}return new Cw("file",t,e,go,go)}static from(e,t){return new Cw(e.scheme,e.authority,e.path,e.query,e.fragment,t)}static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let i;return ha&&e.scheme==="file"?i=en.file(su.join($R(e,!0),...t)).path:i=Fo.join(e.path,...t),e.with({path:i})}toString(e=!1){return hY(this,e)}toJSON(){return this}static revive(e){var t,i;if(e){if(e instanceof en)return e;{const r=new Cw(e);return r._formatted=(t=e.external)!==null&&t!==void 0?t:null,r._fsPath=e._sep===p0e&&(i=e.fsPath)!==null&&i!==void 0?i:null,r}}else return e}}const p0e=ha?1:void 0;let Cw=class extends en{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=$R(this,!1)),this._fsPath}toString(e=!1){return e?hY(this,!0):(this._formatted||(this._formatted=hY(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=p0e),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}};const b0e={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function y0e(n,e,t){let i,r=-1;for(let o=0;o=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||s===45||s===46||s===95||s===126||e&&s===47||t&&s===91||t&&s===93||t&&s===58)r!==-1&&(i+=encodeURIComponent(n.substring(r,o)),r=-1),i!==void 0&&(i+=n.charAt(o));else{i===void 0&&(i=n.substr(0,o));const a=b0e[s];a!==void 0?(r!==-1&&(i+=encodeURIComponent(n.substring(r,o)),r=-1),i+=a):r===-1&&(r=o)}}return r!==-1&&(i+=encodeURIComponent(n.substring(r))),i!==void 0?i:n}function sft(n){let e;for(let t=0;t1&&n.scheme==="file"?t=`//${n.authority}${n.path}`:n.path.charCodeAt(0)===47&&(n.path.charCodeAt(1)>=65&&n.path.charCodeAt(1)<=90||n.path.charCodeAt(1)>=97&&n.path.charCodeAt(1)<=122)&&n.path.charCodeAt(2)===58?e?t=n.path.substr(1):t=n.path[1].toLowerCase()+n.path.substr(2):t=n.path,ha&&(t=t.replace(/\//g,"\\")),t}function hY(n,e){const t=e?sft:y0e;let i="",{scheme:r,authority:o,path:s,query:a,fragment:l}=n;if(r&&(i+=r,i+=":"),(o||r==="file")&&(i+=Fh,i+=Fh),o){let u=o.indexOf("@");if(u!==-1){const c=o.substr(0,u);o=o.substr(u+1),u=c.lastIndexOf(":"),u===-1?i+=t(c,!1,!1):(i+=t(c.substr(0,u),!1,!1),i+=":",i+=t(c.substr(u+1),!1,!0)),i+="@"}o=o.toLowerCase(),u=o.lastIndexOf(":"),u===-1?i+=t(o,!1,!0):(i+=t(o.substr(0,u),!1,!0),i+=o.substr(u))}if(s){if(s.length>=3&&s.charCodeAt(0)===47&&s.charCodeAt(2)===58){const u=s.charCodeAt(1);u>=65&&u<=90&&(s=`/${String.fromCharCode(u+32)}:${s.substr(3)}`)}else if(s.length>=2&&s.charCodeAt(1)===58){const u=s.charCodeAt(0);u>=65&&u<=90&&(s=`${String.fromCharCode(u+32)}:${s.substr(2)}`)}i+=t(s,!0,!1)}return a&&(i+="?",i+=t(a,!1,!1)),l&&(i+="#",i+=e?l:y0e(l,!1,!1)),i}function v0e(n){try{return decodeURIComponent(n)}catch{return n.length>3?n.substr(0,3)+v0e(n.substr(3)):n}}const C0e=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function qR(n){return n.match(C0e)?n.replace(C0e,e=>v0e(e)):n}var Sn;(function(n){n.inMemory="inmemory",n.vscode="vscode",n.internal="private",n.walkThrough="walkThrough",n.walkThroughSnippet="walkThroughSnippet",n.http="http",n.https="https",n.file="file",n.mailto="mailto",n.untitled="untitled",n.data="data",n.command="command",n.vscodeRemote="vscode-remote",n.vscodeRemoteResource="vscode-remote-resource",n.vscodeManagedRemoteResource="vscode-managed-remote-resource",n.vscodeUserData="vscode-userdata",n.vscodeCustomEditor="vscode-custom-editor",n.vscodeNotebookCell="vscode-notebook-cell",n.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",n.vscodeNotebookCellOutput="vscode-notebook-cell-output",n.vscodeInteractiveInput="vscode-interactive-input",n.vscodeSettings="vscode-settings",n.vscodeWorkspaceTrust="vscode-workspace-trust",n.vscodeTerminal="vscode-terminal",n.vscodeChatCodeBlock="vscode-chat-code-block",n.vscodeChatSesssion="vscode-chat-editor",n.webviewPanel="webview-panel",n.vscodeWebview="vscode-webview",n.extension="extension",n.vscodeFileResource="vscode-file",n.tmp="tmp",n.vsls="vsls",n.vscodeSourceControl="vscode-scm",n.codeSetting="code-setting"})(Sn||(Sn={}));function mY(n,e){return en.isUri(n)?bw(n.scheme,e):nY(n,e+":")}function S0e(n,...e){return e.some(t=>mY(n,t))}const aft="tkn";class lft{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema="http",this._delegate=null,this._serverRootPath="/"}setPreferredWebSchema(e){this._preferredWebSchema=e}get _remoteResourcesPath(){return Fo.join(this._serverRootPath,Sn.vscodeRemoteResource)}rewrite(e){if(this._delegate)try{return this._delegate(e)}catch(a){return yn(a),e}const t=e.authority;let i=this._hosts[t];i&&i.indexOf(":")!==-1&&i.indexOf("[")===-1&&(i=`[${i}]`);const r=this._ports[t],o=this._connectionTokens[t];let s=`path=${encodeURIComponent(e.path)}`;return typeof o=="string"&&(s+=`&${aft}=${encodeURIComponent(o)}`),en.from({scheme:Vb?this._preferredWebSchema:Sn.vscodeRemoteResource,authority:`${i}:${r}`,path:this._remoteResourcesPath,query:s})}}const w0e=new lft,uft="vscode-app";class eF{uriToBrowserUri(e){return e.scheme===Sn.vscodeRemote?w0e.rewrite(e):e.scheme===Sn.file&&(wh||xht===`${Sn.vscodeFileResource}://${eF.FALLBACK_AUTHORITY}`)?e.with({scheme:Sn.vscodeFileResource,authority:e.authority||eF.FALLBACK_AUTHORITY,query:null,fragment:null}):e}}eF.FALLBACK_AUTHORITY=uft;const x0e=new eF;var _0e;(function(n){const e=new Map([["1",{"Cross-Origin-Opener-Policy":"same-origin"}],["2",{"Cross-Origin-Embedder-Policy":"require-corp"}],["3",{"Cross-Origin-Opener-Policy":"same-origin","Cross-Origin-Embedder-Policy":"require-corp"}]]);n.CoopAndCoep=Object.freeze(e.get("3"));const t="vscode-coi";function i(o){let s;typeof o=="string"?s=new URL(o).searchParams:o instanceof URL?s=o.searchParams:en.isUri(o)&&(s=new URL(o.toString(!0)).searchParams);const a=s==null?void 0:s.get(t);if(a)return e.get(a)}n.getHeadersFromQuery=i;function r(o,s,a){if(!globalThis.crossOriginIsolated)return;const l=s&&a?"3":a?"2":"1";o instanceof URLSearchParams?o.set(t,l):o[t]=l}n.addSearchParam=r})(_0e||(_0e={}));function e9(n){return t9(n,0)}function t9(n,e){switch(typeof n){case"object":return n===null?Ig(349,e):Array.isArray(n)?dft(n,e):hft(n,e);case"string":return fY(n,e);case"boolean":return cft(n,e);case"number":return Ig(n,e);case"undefined":return Ig(937,e);default:return Ig(617,e)}}function Ig(n,e){return(e<<5)-e+n|0}function cft(n,e){return Ig(n?433:863,e)}function fY(n,e){e=Ig(149417,e);for(let t=0,i=n.length;tt9(i,t),e)}function hft(n,e){return e=Ig(181387,e),Object.keys(n).sort().reduce((t,i)=>(t=fY(i,t),t9(n[i],t)),e)}function gY(n,e,t=32){const i=t-e,r=~((1<>>i)>>>0}function L0e(n,e=0,t=n.byteLength,i=0){for(let r=0;rt.toString(16).padStart(2,"0")).join(""):mft((n>>>0).toString(16),e/4)}class n9{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){const t=e.length;if(t===0)return;const i=this._buff;let r=this._buffLen,o=this._leftoverHighSurrogate,s,a;for(o!==0?(s=o,a=-1,o=0):(s=e.charCodeAt(0),a=0);;){let l=s;if(os(s))if(a+1>>6,e[t++]=128|(i&63)>>>0):i<65536?(e[t++]=224|(i&61440)>>>12,e[t++]=128|(i&4032)>>>6,e[t++]=128|(i&63)>>>0):(e[t++]=240|(i&1835008)>>>18,e[t++]=128|(i&258048)>>>12,e[t++]=128|(i&4032)>>>6,e[t++]=128|(i&63)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),tF(this._h0)+tF(this._h1)+tF(this._h2)+tF(this._h3)+tF(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,L0e(this._buff,this._buffLen),this._buffLen>56&&(this._step(),L0e(this._buff));const e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){const e=n9._bigBlock32,t=this._buffDV;for(let d=0;d<64;d+=4)e.setUint32(d,t.getUint32(d,!1),!1);for(let d=64;d<320;d+=4)e.setUint32(d,gY(e.getUint32(d-12,!1)^e.getUint32(d-32,!1)^e.getUint32(d-56,!1)^e.getUint32(d-64,!1),1),!1);let i=this._h0,r=this._h1,o=this._h2,s=this._h3,a=this._h4,l,u,c;for(let d=0;d<80;d++)d<20?(l=r&o|~r&s,u=1518500249):d<40?(l=r^o^s,u=1859775393):d<60?(l=r&o|r&s|o&s,u=2400959708):(l=r^o^s,u=3395469782),c=gY(i,5)+l+a+u+e.getUint32(d*4,!1)&4294967295,a=s,s=o,o=gY(r,30),r=i,i=c;this._h0=this._h0+i&4294967295,this._h1=this._h1+r&4294967295,this._h2=this._h2+o&4294967295,this._h3=this._h3+s&4294967295,this._h4=this._h4+a&4294967295}}n9._bigBlock32=new DataView(new ArrayBuffer(320));const{registerWindow:tJt,getWindow:Qt,getDocument:nJt,getWindows:I0e,getWindowsCount:fft,getWindowId:i9,getWindowById:F0e,hasWindow:iJt,onDidRegisterWindow:r9,onWillUnregisterWindow:gft,onDidUnregisterWindow:pft}=function(){const n=new Map;ght(Zi,1);const e={window:Zi,disposables:new Je};n.set(Zi.vscodeWindowId,e);const t=new be,i=new be,r=new be;function o(s,a){const l=typeof s=="number"?n.get(s):void 0;return l??(a?e:void 0)}return{onDidRegisterWindow:t.event,onWillUnregisterWindow:r.event,onDidUnregisterWindow:i.event,registerWindow(s){if(n.has(s.vscodeWindowId))return Fe.None;const a=new Je,l={window:s,disposables:a.add(new Je)};return n.set(s.vscodeWindowId,l),a.add(jt(()=>{n.delete(s.vscodeWindowId),i.fire(s)})),a.add(Ve(s,ot.BEFORE_UNLOAD,()=>{r.fire(s)})),t.fire(l),a},getWindows(){return n.values()},getWindowsCount(){return n.size},getWindowId(s){return s.vscodeWindowId},hasWindow(s){return n.has(s)},getWindowById:o,getWindow(s){var a;const l=s;if(!((a=l==null?void 0:l.ownerDocument)===null||a===void 0)&&a.defaultView)return l.ownerDocument.defaultView.window;const u=s;return u!=null&&u.view?u.view.window:Zi},getDocument(s){return Qt(s).document}}}();function ma(n){for(;n.firstChild;)n.firstChild.remove()}class bft{constructor(e,t,i,r){this._node=e,this._type=t,this._handler=i,this._options=r||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}}function Ve(n,e,t,i){return new bft(n,e,t,i)}function D0e(n,e){return function(t){return e(new xd(n,t))}}function yft(n){return function(e){return n(new or(e))}}const Gr=function(e,t,i,r){let o=i;return t==="click"||t==="mousedown"?o=D0e(Qt(e),i):(t==="keydown"||t==="keypress"||t==="keyup")&&(o=yft(i)),Ve(e,t,o,r)},vft=function(e,t,i){const r=D0e(Qt(e),t);return Cft(e,r,i)};function Cft(n,e,t){return Ve(n,Am&&NH.pointerEvents?ot.POINTER_DOWN:ot.MOUSE_DOWN,e,t)}function nF(n,e,t){return KI(n,e,t)}class pY extends Obe{constructor(e,t){super(e,t)}}let o9,au;class bY extends zH{constructor(e){super(),this.defaultTarget=e&&Qt(e)}cancelAndSet(e,t,i){return super.cancelAndSet(e,t,i??this.defaultTarget)}}class yY{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){yn(e)}}static sort(e,t){return t.priority-e.priority}}(function(){const n=new Map,e=new Map,t=new Map,i=new Map,r=o=>{var s;t.set(o,!1);const a=(s=n.get(o))!==null&&s!==void 0?s:[];for(e.set(o,a),n.set(o,[]),i.set(o,!0);a.length>0;)a.sort(yY.sort),a.shift().execute();i.set(o,!1)};au=(o,s,a=0)=>{const l=i9(o),u=new yY(s,a);let c=n.get(l);return c||(c=[],n.set(l,c)),c.push(u),t.get(l)||(t.set(l,!0),o.requestAnimationFrame(()=>r(l))),u},o9=(o,s,a)=>{const l=i9(o);if(i.get(l)){const u=new yY(s,a);let c=e.get(l);return c||(c=[],e.set(l,c)),c.push(u),u}else return au(o,s,a)}})();function s9(n){return Qt(n).getComputedStyle(n,null)}function Fg(n,e){const t=Qt(n),i=t.document;if(n!==i.body)return new mi(n.clientWidth,n.clientHeight);if(Am&&(t!=null&&t.visualViewport))return new mi(t.visualViewport.width,t.visualViewport.height);if(t!=null&&t.innerWidth&&t.innerHeight)return new mi(t.innerWidth,t.innerHeight);if(i.body&&i.body.clientWidth&&i.body.clientHeight)return new mi(i.body.clientWidth,i.body.clientHeight);if(i.documentElement&&i.documentElement.clientWidth&&i.documentElement.clientHeight)return new mi(i.documentElement.clientWidth,i.documentElement.clientHeight);if(e)return Fg(e);throw new Error("Unable to figure out browser width and height")}class eo{static convertToPixels(e,t){return parseFloat(t)||0}static getDimension(e,t,i){const r=s9(e),o=r?r.getPropertyValue(t):"0";return eo.convertToPixels(e,o)}static getBorderLeftWidth(e){return eo.getDimension(e,"border-left-width","borderLeftWidth")}static getBorderRightWidth(e){return eo.getDimension(e,"border-right-width","borderRightWidth")}static getBorderTopWidth(e){return eo.getDimension(e,"border-top-width","borderTopWidth")}static getBorderBottomWidth(e){return eo.getDimension(e,"border-bottom-width","borderBottomWidth")}static getPaddingLeft(e){return eo.getDimension(e,"padding-left","paddingLeft")}static getPaddingRight(e){return eo.getDimension(e,"padding-right","paddingRight")}static getPaddingTop(e){return eo.getDimension(e,"padding-top","paddingTop")}static getPaddingBottom(e){return eo.getDimension(e,"padding-bottom","paddingBottom")}static getMarginLeft(e){return eo.getDimension(e,"margin-left","marginLeft")}static getMarginTop(e){return eo.getDimension(e,"margin-top","marginTop")}static getMarginRight(e){return eo.getDimension(e,"margin-right","marginRight")}static getMarginBottom(e){return eo.getDimension(e,"margin-bottom","marginBottom")}}class mi{constructor(e,t){this.width=e,this.height=t}with(e=this.width,t=this.height){return e!==this.width||t!==this.height?new mi(e,t):this}static is(e){return typeof e=="object"&&typeof e.height=="number"&&typeof e.width=="number"}static lift(e){return e instanceof mi?e:new mi(e.width,e.height)}static equals(e,t){return e===t?!0:!e||!t?!1:e.width===t.width&&e.height===t.height}}mi.None=new mi(0,0);function N0e(n){let e=n.offsetParent,t=n.offsetTop,i=n.offsetLeft;for(;(n=n.parentNode)!==null&&n!==n.ownerDocument.body&&n!==n.ownerDocument.documentElement;){t-=n.scrollTop;const r=k0e(n)?null:s9(n);r&&(i-=r.direction!=="rtl"?n.scrollLeft:-n.scrollLeft),n===e&&(i+=eo.getBorderLeftWidth(n),t+=eo.getBorderTopWidth(n),t+=n.offsetTop,i+=n.offsetLeft,e=n.offsetParent)}return{left:i,top:t}}function Sft(n,e,t){typeof e=="number"&&(n.style.width=`${e}px`),typeof t=="number"&&(n.style.height=`${t}px`)}function po(n){const e=n.getBoundingClientRect(),t=Qt(n);return{left:e.left+t.scrollX,top:e.top+t.scrollY,width:e.width,height:e.height}}function M0e(n){let e=n,t=1;do{const i=s9(e).zoom;i!=null&&i!=="1"&&(t*=i),e=e.parentElement}while(e!==null&&e!==e.ownerDocument.documentElement);return t}function Qa(n){const e=eo.getMarginLeft(n)+eo.getMarginRight(n);return n.offsetWidth+e}function vY(n){const e=eo.getBorderLeftWidth(n)+eo.getBorderRightWidth(n),t=eo.getPaddingLeft(n)+eo.getPaddingRight(n);return n.offsetWidth-e-t}function wft(n){const e=eo.getBorderTopWidth(n)+eo.getBorderBottomWidth(n),t=eo.getPaddingTop(n)+eo.getPaddingBottom(n);return n.offsetHeight-e-t}function Dg(n){const e=eo.getMarginTop(n)+eo.getMarginBottom(n);return n.offsetHeight+e}function ps(n,e){return!!(e!=null&&e.contains(n))}function xft(n,e,t){for(;n&&n.nodeType===n.ELEMENT_NODE;){if(n.classList.contains(e))return n;if(t){if(typeof t=="string"){if(n.classList.contains(t))return null}else if(n===t)return null}n=n.parentNode}return null}function CY(n,e,t){return!!xft(n,e,t)}function k0e(n){return n&&!!n.host&&!!n.mode}function a9(n){return!!Yy(n)}function Yy(n){for(var e;n.parentNode;){if(n===((e=n.ownerDocument)===null||e===void 0?void 0:e.body))return null;n=n.parentNode}return k0e(n)?n:null}function js(){let n=Sw().activeElement;for(;n!=null&&n.shadowRoot;)n=n.shadowRoot.activeElement;return n}function l9(n){return js()===n}function T0e(n){return ps(js(),n)}function Sw(){var n;return fft()<=1?Zi.document:(n=Array.from(I0e()).map(({window:t})=>t.document).find(t=>t.hasFocus()))!==null&&n!==void 0?n:Zi.document}function _ft(){var n,e;return(e=(n=Sw().defaultView)===null||n===void 0?void 0:n.window)!==null&&e!==void 0?e:Zi}const SY=new Map;function E0e(){return new Lft}class Lft{constructor(){this._currentCssStyle="",this._styleSheet=void 0}setStyle(e){e!==this._currentCssStyle&&(this._currentCssStyle=e,this._styleSheet?this._styleSheet.innerText=e:this._styleSheet=Vu(Zi.document.head,t=>t.innerText=e))}dispose(){this._styleSheet&&(this._styleSheet.remove(),this._styleSheet=void 0)}}function Vu(n=Zi.document.head,e,t){const i=document.createElement("style");if(i.type="text/css",i.media="screen",e==null||e(i),n.appendChild(i),t&&t.add(jt(()=>n.removeChild(i))),n===Zi.document.head){const r=new Set;SY.set(i,r);for(const{window:o,disposables:s}of I0e()){if(o===Zi)continue;const a=s.add(Ift(i,r,o));t==null||t.add(a)}}return i}function Ift(n,e,t){var i,r;const o=new Je,s=n.cloneNode(!0);t.document.head.appendChild(s),o.add(jt(()=>t.document.head.removeChild(s)));for(const a of Z0e(n))(i=s.sheet)===null||i===void 0||i.insertRule(a.cssText,(r=s.sheet)===null||r===void 0?void 0:r.cssRules.length);return o.add(Fft.observe(n,o,{childList:!0})(()=>{s.textContent=n.textContent})),e.add(s),o.add(jt(()=>e.delete(s))),o}const Fft=new class{constructor(){this.mutationObservers=new Map}observe(n,e,t){let i=this.mutationObservers.get(n);i||(i=new Map,this.mutationObservers.set(n,i));const r=e9(t);let o=i.get(r);if(o)o.users+=1;else{const s=new be,a=new MutationObserver(u=>s.fire(u));a.observe(n,t);const l=o={users:1,observer:a,onDidMutate:s.event};e.add(jt(()=>{l.users-=1,l.users===0&&(s.dispose(),a.disconnect(),i==null||i.delete(r),(i==null?void 0:i.size)===0&&this.mutationObservers.delete(n))})),i.set(r,o)}return o.onDidMutate}};let wY=null;function R0e(){return wY||(wY=Vu()),wY}function Z0e(n){var e,t;return!((e=n==null?void 0:n.sheet)===null||e===void 0)&&e.rules?n.sheet.rules:!((t=n==null?void 0:n.sheet)===null||t===void 0)&&t.cssRules?n.sheet.cssRules:[]}function u9(n,e,t=R0e()){var i,r;if(!(!t||!e)){(i=t.sheet)===null||i===void 0||i.insertRule(`${n} {${e}}`,0);for(const o of(r=SY.get(t))!==null&&r!==void 0?r:[])u9(n,e,o)}}function xY(n,e=R0e()){var t,i;if(!e)return;const r=Z0e(e),o=[];for(let s=0;s=0;s--)(t=e.sheet)===null||t===void 0||t.deleteRule(o[s]);for(const s of(i=SY.get(e))!==null&&i!==void 0?i:[])xY(n,s)}function Dft(n){return typeof n.selectorText=="string"}function _Y(n){return n instanceof MouseEvent||n instanceof Qt(n).MouseEvent}function jb(n){return n instanceof KeyboardEvent||n instanceof Qt(n).KeyboardEvent}const ot={CLICK:"click",AUXCLICK:"auxclick",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",POINTER_LEAVE:"pointerleave",CONTEXT_MENU:"contextmenu",WHEEL:"wheel",KEY_DOWN:"keydown",KEY_PRESS:"keypress",KEY_UP:"keyup",LOAD:"load",BEFORE_UNLOAD:"beforeunload",UNLOAD:"unload",PAGE_SHOW:"pageshow",PAGE_HIDE:"pagehide",PASTE:"paste",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_CHANGE:"fullscreenchange",WK_FULLSCREEN_CHANGE:"webkitfullscreenchange",SELECT:"select",CHANGE:"change",SUBMIT:"submit",RESET:"reset",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",STORAGE:"storage",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend",ANIMATION_START:Xy?"webkitAnimationStart":"animationstart",ANIMATION_END:Xy?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:Xy?"webkitAnimationIteration":"animationiteration"};function Nft(n){const e=n;return!!(e&&typeof e.preventDefault=="function"&&typeof e.stopPropagation=="function")}const An={stop:(n,e)=>(n.preventDefault(),e&&n.stopPropagation(),n)};function Mft(n){const e=[];for(let t=0;n&&n.nodeType===n.ELEMENT_NODE;t++)e[t]=n.scrollTop,n=n.parentNode;return e}function kft(n,e){for(let t=0;n&&n.nodeType===n.ELEMENT_NODE;t++)n.scrollTop!==e[t]&&(n.scrollTop=e[t]),n=n.parentNode}class c9 extends Fe{static hasFocusWithin(e){if(e instanceof HTMLElement){const t=Yy(e),i=t?t.activeElement:e.ownerDocument.activeElement;return ps(i,e)}else{const t=e;return ps(t.document.activeElement,t.document)}}constructor(e){super(),this._onDidFocus=this._register(new be),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new be),this.onDidBlur=this._onDidBlur.event;let t=c9.hasFocusWithin(e),i=!1;const r=()=>{i=!1,t||(t=!0,this._onDidFocus.fire())},o=()=>{t&&(i=!0,(e instanceof HTMLElement?Qt(e):e).setTimeout(()=>{i&&(i=!1,t=!1,this._onDidBlur.fire())},0))};this._refreshStateHandler=()=>{c9.hasFocusWithin(e)!==t&&(t?o():r())},this._register(Ve(e,ot.FOCUS,r,!0)),this._register(Ve(e,ot.BLUR,o,!0)),e instanceof HTMLElement&&(this._register(Ve(e,ot.FOCUS_IN,()=>this._refreshStateHandler())),this._register(Ve(e,ot.FOCUS_OUT,()=>this._refreshStateHandler())))}}function Dh(n){return new c9(n)}function Tft(n,e){return n.after(e),e}function je(n,...e){if(n.append(...e),e.length===1&&typeof e[0]!="string")return e[0]}function LY(n,e){return n.insertBefore(e,n.firstChild),e}function Qs(n,...e){n.innerText="",je(n,...e)}const Eft=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;var iF;(function(n){n.HTML="http://www.w3.org/1999/xhtml",n.SVG="http://www.w3.org/2000/svg"})(iF||(iF={}));function W0e(n,e,t,...i){const r=Eft.exec(e);if(!r)throw new Error("Bad use of emmet");const o=r[1]||"div";let s;return n!==iF.HTML?s=document.createElementNS(n,o):s=document.createElement(o),r[3]&&(s.id=r[3]),r[4]&&(s.className=r[4].replace(/\./g," ").trim()),t&&Object.entries(t).forEach(([a,l])=>{typeof l>"u"||(/^on\w+$/.test(a)?s[a]=l:a==="selected"?l&&s.setAttribute(a,"true"):s.setAttribute(a,l))}),s.append(...i),s}function Ct(n,e,...t){return W0e(iF.HTML,n,e,...t)}Ct.SVG=function(n,e,...t){return W0e(iF.SVG,n,e,...t)};function Rft(n,...e){n?lu(...e):$a(...e)}function lu(...n){for(const e of n)e.style.display="",e.removeAttribute("aria-hidden")}function $a(...n){for(const e of n)e.style.display="none",e.setAttribute("aria-hidden","true")}function A0e(n,e){const t=n.devicePixelRatio*e;return Math.max(1,Math.floor(t))/n.devicePixelRatio}function V0e(n){Zi.open(n,"_blank","noopener")}function Zft(n,e){const t=()=>{e(),i=au(n,t)};let i=au(n,t);return jt(()=>i.dispose())}w0e.setPreferredWebSchema(/^https:/.test(Zi.location.href)?"https":"http");function Qb(n){return n?`url('${x0e.uriToBrowserUri(n).toString(!0).replace(/'/g,"%27")}')`:"url('')"}function G0e(n){return`'${n.replace(/'/g,"%27")}'`}function Ng(n,e){if(n!==void 0){const t=n.match(/^\s*var\((.+)\)$/);if(t){const i=t[1].split(",",2);return i.length===2&&(e=Ng(i[1].trim(),e)),`var(${i[0]}, ${e})`}return n}return e}function Wft(n,e=!1){const t=document.createElement("a");return qH("afterSanitizeAttributes",i=>{for(const r of["href","src"])if(i.hasAttribute(r)){const o=i.getAttribute(r);if(r==="href"&&o.startsWith("#"))continue;if(t.href=o,!n.includes(t.protocol.replace(/:$/,""))){if(e&&r==="src"&&t.href.startsWith("data:"))continue;i.removeAttribute(r)}}}),jt(()=>{t0e("afterSanitizeAttributes")})}const Aft=Object.freeze(["a","abbr","b","bdo","blockquote","br","caption","cite","code","col","colgroup","dd","del","details","dfn","div","dl","dt","em","figcaption","figure","h1","h2","h3","h4","h5","h6","hr","i","img","input","ins","kbd","label","li","mark","ol","p","pre","q","rp","rt","ruby","samp","small","small","source","span","strike","strong","sub","summary","sup","table","tbody","td","tfoot","th","thead","time","tr","tt","u","ul","var","video","wbr"]);class Mg extends be{constructor(){super(),this._subscriptions=new Je,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(lt.runAndSubscribe(r9,({window:e,disposables:t})=>this.registerListeners(e,t),{window:Zi,disposables:this._subscriptions}))}registerListeners(e,t){t.add(Ve(e,"keydown",i=>{if(i.defaultPrevented)return;const r=new or(i);if(!(r.keyCode===6&&i.repeat)){if(i.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed="alt";else if(i.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed="ctrl";else if(i.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed="meta";else if(i.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed="shift";else if(r.keyCode!==6)this._keyStatus.lastKeyPressed=void 0;else return;this._keyStatus.altKey=i.altKey,this._keyStatus.ctrlKey=i.ctrlKey,this._keyStatus.metaKey=i.metaKey,this._keyStatus.shiftKey=i.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=i,this.fire(this._keyStatus))}},!0)),t.add(Ve(e,"keyup",i=>{i.defaultPrevented||(!i.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased="alt":!i.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased="ctrl":!i.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased="meta":!i.shiftKey&&this._keyStatus.shiftKey?this._keyStatus.lastKeyReleased="shift":this._keyStatus.lastKeyReleased=void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=i.altKey,this._keyStatus.ctrlKey=i.ctrlKey,this._keyStatus.metaKey=i.metaKey,this._keyStatus.shiftKey=i.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=i,this.fire(this._keyStatus)))},!0)),t.add(Ve(e.document.body,"mousedown",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),t.add(Ve(e.document.body,"mouseup",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),t.add(Ve(e.document.body,"mousemove",i=>{i.buttons&&(this._keyStatus.lastKeyPressed=void 0)},!0)),t.add(Ve(e,"blur",()=>{this.resetKeyStatus()}))}get keyStatus(){return this._keyStatus}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){return Mg.instance||(Mg.instance=new Mg),Mg.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}class Vft extends Fe{constructor(e,t){super(),this.element=e,this.callbacks=t,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){this.callbacks.onDragStart&&this._register(Ve(this.element,ot.DRAG_START,e=>{var t,i;(i=(t=this.callbacks).onDragStart)===null||i===void 0||i.call(t,e)})),this.callbacks.onDrag&&this._register(Ve(this.element,ot.DRAG,e=>{var t,i;(i=(t=this.callbacks).onDrag)===null||i===void 0||i.call(t,e)})),this._register(Ve(this.element,ot.DRAG_ENTER,e=>{var t,i;this.counter++,this.dragStartTime=e.timeStamp,(i=(t=this.callbacks).onDragEnter)===null||i===void 0||i.call(t,e)})),this._register(Ve(this.element,ot.DRAG_OVER,e=>{var t,i;e.preventDefault(),(i=(t=this.callbacks).onDragOver)===null||i===void 0||i.call(t,e,e.timeStamp-this.dragStartTime)})),this._register(Ve(this.element,ot.DRAG_LEAVE,e=>{var t,i;this.counter--,this.counter===0&&(this.dragStartTime=0,(i=(t=this.callbacks).onDragLeave)===null||i===void 0||i.call(t,e))})),this._register(Ve(this.element,ot.DRAG_END,e=>{var t,i;this.counter=0,this.dragStartTime=0,(i=(t=this.callbacks).onDragEnd)===null||i===void 0||i.call(t,e)})),this._register(Ve(this.element,ot.DROP,e=>{var t,i;this.counter=0,this.dragStartTime=0,(i=(t=this.callbacks).onDrop)===null||i===void 0||i.call(t,e)}))}}const Gft=/(?[\w\-]+)?(?:#(?[\w\-]+))?(?(?:\.(?:[\w\-]+))*)(?:@(?(?:[\w\_])+))?/;function _i(n,...e){let t,i;Array.isArray(e[0])?(t={},i=e[0]):(t=e[0]||{},i=e[1]);const r=Gft.exec(n);if(!r||!r.groups)throw new Error("Bad use of h");const o=r.groups.tag||"div",s=document.createElement(o);r.groups.id&&(s.id=r.groups.id);const a=[];if(r.groups.class)for(const u of r.groups.class.split("."))u!==""&&a.push(u);if(t.className!==void 0)for(const u of t.className.split("."))u!==""&&a.push(u);a.length>0&&(s.className=a.join(" "));const l={};if(r.groups.name&&(l[r.groups.name]=s),i)for(const u of i)u instanceof HTMLElement?s.appendChild(u):typeof u=="string"?s.append(u):"root"in u&&(Object.assign(l,u),s.appendChild(u.root));for(const[u,c]of Object.entries(t))if(u!=="className")if(u==="style")for(const[d,h]of Object.entries(c))s.style.setProperty(X0e(d),typeof h=="number"?h+"px":""+h);else u==="tabIndex"?s.tabIndex=c:s.setAttribute(X0e(u),c.toString());return l.root=s,l}function X0e(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}const P0e=2e4;let Uy,d9,IY,h9,FY;function Xft(n){Uy=document.createElement("div"),Uy.className="monaco-aria-container";const e=()=>{const i=document.createElement("div");return i.className="monaco-alert",i.setAttribute("role","alert"),i.setAttribute("aria-atomic","true"),Uy.appendChild(i),i};d9=e(),IY=e();const t=()=>{const i=document.createElement("div");return i.className="monaco-status",i.setAttribute("aria-live","polite"),i.setAttribute("aria-atomic","true"),Uy.appendChild(i),i};h9=t(),FY=t(),n.appendChild(Uy)}function Ml(n){Uy&&(d9.textContent!==n?(ma(IY),m9(d9,n)):(ma(d9),m9(IY,n)))}function kg(n){Uy&&(h9.textContent!==n?(ma(FY),m9(h9,n)):(ma(h9),m9(FY,n)))}function m9(n,e){ma(n),e.length>P0e&&(e=e.substr(0,P0e)),n.textContent=e,n.style.visibility="hidden",n.style.visibility="visible"}var Nh;(function(n){n.serviceIds=new Map,n.DI_TARGET="$di$target",n.DI_DEPENDENCIES="$di$dependencies";function e(t){return t[n.DI_DEPENDENCIES]||[]}n.getServiceDependencies=e})(Nh||(Nh={}));const $t=Un("instantiationService");function Pft(n,e,t){e[Nh.DI_TARGET]===e?e[Nh.DI_DEPENDENCIES].push({id:n,index:t}):(e[Nh.DI_DEPENDENCIES]=[{id:n,index:t}],e[Nh.DI_TARGET]=e)}function Un(n){if(Nh.serviceIds.has(n))return Nh.serviceIds.get(n);const e=function(t,i,r){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");Pft(e,t,r)};return e.toString=()=>n,Nh.serviceIds.set(n,e),e}const yi=Un("codeEditorService");let ve=class GC{constructor(e,t){this.lineNumber=e,this.column=t}with(e=this.lineNumber,t=this.column){return e===this.lineNumber&&t===this.column?this:new GC(e,t)}delta(e=0,t=0){return this.with(this.lineNumber+e,this.column+t)}equals(e){return GC.equals(this,e)}static equals(e,t){return!e&&!t?!0:!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(e){return GC.isBefore(this,e)}static isBefore(e,t){return e.lineNumbern.run(...t),tooltip:n.label}}const DY=Object.create(null);function K(n,e){if(Nl(e)){const t=DY[e];if(t===void 0)throw new Error(`${n} references an unknown codicon: ${e}`);e=t}return DY[n]=e,{id:n}}function O0e(){return DY}const Oft={add:K("add",6e4),plus:K("plus",6e4),gistNew:K("gist-new",6e4),repoCreate:K("repo-create",6e4),lightbulb:K("lightbulb",60001),lightBulb:K("light-bulb",60001),repo:K("repo",60002),repoDelete:K("repo-delete",60002),gistFork:K("gist-fork",60003),repoForked:K("repo-forked",60003),gitPullRequest:K("git-pull-request",60004),gitPullRequestAbandoned:K("git-pull-request-abandoned",60004),recordKeys:K("record-keys",60005),keyboard:K("keyboard",60005),tag:K("tag",60006),gitPullRequestLabel:K("git-pull-request-label",60006),tagAdd:K("tag-add",60006),tagRemove:K("tag-remove",60006),person:K("person",60007),personFollow:K("person-follow",60007),personOutline:K("person-outline",60007),personFilled:K("person-filled",60007),gitBranch:K("git-branch",60008),gitBranchCreate:K("git-branch-create",60008),gitBranchDelete:K("git-branch-delete",60008),sourceControl:K("source-control",60008),mirror:K("mirror",60009),mirrorPublic:K("mirror-public",60009),star:K("star",60010),starAdd:K("star-add",60010),starDelete:K("star-delete",60010),starEmpty:K("star-empty",60010),comment:K("comment",60011),commentAdd:K("comment-add",60011),alert:K("alert",60012),warning:K("warning",60012),search:K("search",60013),searchSave:K("search-save",60013),logOut:K("log-out",60014),signOut:K("sign-out",60014),logIn:K("log-in",60015),signIn:K("sign-in",60015),eye:K("eye",60016),eyeUnwatch:K("eye-unwatch",60016),eyeWatch:K("eye-watch",60016),circleFilled:K("circle-filled",60017),primitiveDot:K("primitive-dot",60017),closeDirty:K("close-dirty",60017),debugBreakpoint:K("debug-breakpoint",60017),debugBreakpointDisabled:K("debug-breakpoint-disabled",60017),debugHint:K("debug-hint",60017),terminalDecorationSuccess:K("terminal-decoration-success",60017),primitiveSquare:K("primitive-square",60018),edit:K("edit",60019),pencil:K("pencil",60019),info:K("info",60020),issueOpened:K("issue-opened",60020),gistPrivate:K("gist-private",60021),gitForkPrivate:K("git-fork-private",60021),lock:K("lock",60021),mirrorPrivate:K("mirror-private",60021),close:K("close",60022),removeClose:K("remove-close",60022),x:K("x",60022),repoSync:K("repo-sync",60023),sync:K("sync",60023),clone:K("clone",60024),desktopDownload:K("desktop-download",60024),beaker:K("beaker",60025),microscope:K("microscope",60025),vm:K("vm",60026),deviceDesktop:K("device-desktop",60026),file:K("file",60027),fileText:K("file-text",60027),more:K("more",60028),ellipsis:K("ellipsis",60028),kebabHorizontal:K("kebab-horizontal",60028),mailReply:K("mail-reply",60029),reply:K("reply",60029),organization:K("organization",60030),organizationFilled:K("organization-filled",60030),organizationOutline:K("organization-outline",60030),newFile:K("new-file",60031),fileAdd:K("file-add",60031),newFolder:K("new-folder",60032),fileDirectoryCreate:K("file-directory-create",60032),trash:K("trash",60033),trashcan:K("trashcan",60033),history:K("history",60034),clock:K("clock",60034),folder:K("folder",60035),fileDirectory:K("file-directory",60035),symbolFolder:K("symbol-folder",60035),logoGithub:K("logo-github",60036),markGithub:K("mark-github",60036),github:K("github",60036),terminal:K("terminal",60037),console:K("console",60037),repl:K("repl",60037),zap:K("zap",60038),symbolEvent:K("symbol-event",60038),error:K("error",60039),stop:K("stop",60039),variable:K("variable",60040),symbolVariable:K("symbol-variable",60040),array:K("array",60042),symbolArray:K("symbol-array",60042),symbolModule:K("symbol-module",60043),symbolPackage:K("symbol-package",60043),symbolNamespace:K("symbol-namespace",60043),symbolObject:K("symbol-object",60043),symbolMethod:K("symbol-method",60044),symbolFunction:K("symbol-function",60044),symbolConstructor:K("symbol-constructor",60044),symbolBoolean:K("symbol-boolean",60047),symbolNull:K("symbol-null",60047),symbolNumeric:K("symbol-numeric",60048),symbolNumber:K("symbol-number",60048),symbolStructure:K("symbol-structure",60049),symbolStruct:K("symbol-struct",60049),symbolParameter:K("symbol-parameter",60050),symbolTypeParameter:K("symbol-type-parameter",60050),symbolKey:K("symbol-key",60051),symbolText:K("symbol-text",60051),symbolReference:K("symbol-reference",60052),goToFile:K("go-to-file",60052),symbolEnum:K("symbol-enum",60053),symbolValue:K("symbol-value",60053),symbolRuler:K("symbol-ruler",60054),symbolUnit:K("symbol-unit",60054),activateBreakpoints:K("activate-breakpoints",60055),archive:K("archive",60056),arrowBoth:K("arrow-both",60057),arrowDown:K("arrow-down",60058),arrowLeft:K("arrow-left",60059),arrowRight:K("arrow-right",60060),arrowSmallDown:K("arrow-small-down",60061),arrowSmallLeft:K("arrow-small-left",60062),arrowSmallRight:K("arrow-small-right",60063),arrowSmallUp:K("arrow-small-up",60064),arrowUp:K("arrow-up",60065),bell:K("bell",60066),bold:K("bold",60067),book:K("book",60068),bookmark:K("bookmark",60069),debugBreakpointConditionalUnverified:K("debug-breakpoint-conditional-unverified",60070),debugBreakpointConditional:K("debug-breakpoint-conditional",60071),debugBreakpointConditionalDisabled:K("debug-breakpoint-conditional-disabled",60071),debugBreakpointDataUnverified:K("debug-breakpoint-data-unverified",60072),debugBreakpointData:K("debug-breakpoint-data",60073),debugBreakpointDataDisabled:K("debug-breakpoint-data-disabled",60073),debugBreakpointLogUnverified:K("debug-breakpoint-log-unverified",60074),debugBreakpointLog:K("debug-breakpoint-log",60075),debugBreakpointLogDisabled:K("debug-breakpoint-log-disabled",60075),briefcase:K("briefcase",60076),broadcast:K("broadcast",60077),browser:K("browser",60078),bug:K("bug",60079),calendar:K("calendar",60080),caseSensitive:K("case-sensitive",60081),check:K("check",60082),checklist:K("checklist",60083),chevronDown:K("chevron-down",60084),chevronLeft:K("chevron-left",60085),chevronRight:K("chevron-right",60086),chevronUp:K("chevron-up",60087),chromeClose:K("chrome-close",60088),chromeMaximize:K("chrome-maximize",60089),chromeMinimize:K("chrome-minimize",60090),chromeRestore:K("chrome-restore",60091),circleOutline:K("circle-outline",60092),circle:K("circle",60092),debugBreakpointUnverified:K("debug-breakpoint-unverified",60092),terminalDecorationIncomplete:K("terminal-decoration-incomplete",60092),circleSlash:K("circle-slash",60093),circuitBoard:K("circuit-board",60094),clearAll:K("clear-all",60095),clippy:K("clippy",60096),closeAll:K("close-all",60097),cloudDownload:K("cloud-download",60098),cloudUpload:K("cloud-upload",60099),code:K("code",60100),collapseAll:K("collapse-all",60101),colorMode:K("color-mode",60102),commentDiscussion:K("comment-discussion",60103),creditCard:K("credit-card",60105),dash:K("dash",60108),dashboard:K("dashboard",60109),database:K("database",60110),debugContinue:K("debug-continue",60111),debugDisconnect:K("debug-disconnect",60112),debugPause:K("debug-pause",60113),debugRestart:K("debug-restart",60114),debugStart:K("debug-start",60115),debugStepInto:K("debug-step-into",60116),debugStepOut:K("debug-step-out",60117),debugStepOver:K("debug-step-over",60118),debugStop:K("debug-stop",60119),debug:K("debug",60120),deviceCameraVideo:K("device-camera-video",60121),deviceCamera:K("device-camera",60122),deviceMobile:K("device-mobile",60123),diffAdded:K("diff-added",60124),diffIgnored:K("diff-ignored",60125),diffModified:K("diff-modified",60126),diffRemoved:K("diff-removed",60127),diffRenamed:K("diff-renamed",60128),diff:K("diff",60129),diffSidebyside:K("diff-sidebyside",60129),discard:K("discard",60130),editorLayout:K("editor-layout",60131),emptyWindow:K("empty-window",60132),exclude:K("exclude",60133),extensions:K("extensions",60134),eyeClosed:K("eye-closed",60135),fileBinary:K("file-binary",60136),fileCode:K("file-code",60137),fileMedia:K("file-media",60138),filePdf:K("file-pdf",60139),fileSubmodule:K("file-submodule",60140),fileSymlinkDirectory:K("file-symlink-directory",60141),fileSymlinkFile:K("file-symlink-file",60142),fileZip:K("file-zip",60143),files:K("files",60144),filter:K("filter",60145),flame:K("flame",60146),foldDown:K("fold-down",60147),foldUp:K("fold-up",60148),fold:K("fold",60149),folderActive:K("folder-active",60150),folderOpened:K("folder-opened",60151),gear:K("gear",60152),gift:K("gift",60153),gistSecret:K("gist-secret",60154),gist:K("gist",60155),gitCommit:K("git-commit",60156),gitCompare:K("git-compare",60157),compareChanges:K("compare-changes",60157),gitMerge:K("git-merge",60158),githubAction:K("github-action",60159),githubAlt:K("github-alt",60160),globe:K("globe",60161),grabber:K("grabber",60162),graph:K("graph",60163),gripper:K("gripper",60164),heart:K("heart",60165),home:K("home",60166),horizontalRule:K("horizontal-rule",60167),hubot:K("hubot",60168),inbox:K("inbox",60169),issueReopened:K("issue-reopened",60171),issues:K("issues",60172),italic:K("italic",60173),jersey:K("jersey",60174),json:K("json",60175),kebabVertical:K("kebab-vertical",60176),key:K("key",60177),law:K("law",60178),lightbulbAutofix:K("lightbulb-autofix",60179),linkExternal:K("link-external",60180),link:K("link",60181),listOrdered:K("list-ordered",60182),listUnordered:K("list-unordered",60183),liveShare:K("live-share",60184),loading:K("loading",60185),location:K("location",60186),mailRead:K("mail-read",60187),mail:K("mail",60188),markdown:K("markdown",60189),megaphone:K("megaphone",60190),mention:K("mention",60191),milestone:K("milestone",60192),gitPullRequestMilestone:K("git-pull-request-milestone",60192),mortarBoard:K("mortar-board",60193),move:K("move",60194),multipleWindows:K("multiple-windows",60195),mute:K("mute",60196),noNewline:K("no-newline",60197),note:K("note",60198),octoface:K("octoface",60199),openPreview:K("open-preview",60200),package:K("package",60201),paintcan:K("paintcan",60202),pin:K("pin",60203),play:K("play",60204),run:K("run",60204),plug:K("plug",60205),preserveCase:K("preserve-case",60206),preview:K("preview",60207),project:K("project",60208),pulse:K("pulse",60209),question:K("question",60210),quote:K("quote",60211),radioTower:K("radio-tower",60212),reactions:K("reactions",60213),references:K("references",60214),refresh:K("refresh",60215),regex:K("regex",60216),remoteExplorer:K("remote-explorer",60217),remote:K("remote",60218),remove:K("remove",60219),replaceAll:K("replace-all",60220),replace:K("replace",60221),repoClone:K("repo-clone",60222),repoForcePush:K("repo-force-push",60223),repoPull:K("repo-pull",60224),repoPush:K("repo-push",60225),report:K("report",60226),requestChanges:K("request-changes",60227),rocket:K("rocket",60228),rootFolderOpened:K("root-folder-opened",60229),rootFolder:K("root-folder",60230),rss:K("rss",60231),ruby:K("ruby",60232),saveAll:K("save-all",60233),saveAs:K("save-as",60234),save:K("save",60235),screenFull:K("screen-full",60236),screenNormal:K("screen-normal",60237),searchStop:K("search-stop",60238),server:K("server",60240),settingsGear:K("settings-gear",60241),settings:K("settings",60242),shield:K("shield",60243),smiley:K("smiley",60244),sortPrecedence:K("sort-precedence",60245),splitHorizontal:K("split-horizontal",60246),splitVertical:K("split-vertical",60247),squirrel:K("squirrel",60248),starFull:K("star-full",60249),starHalf:K("star-half",60250),symbolClass:K("symbol-class",60251),symbolColor:K("symbol-color",60252),symbolConstant:K("symbol-constant",60253),symbolEnumMember:K("symbol-enum-member",60254),symbolField:K("symbol-field",60255),symbolFile:K("symbol-file",60256),symbolInterface:K("symbol-interface",60257),symbolKeyword:K("symbol-keyword",60258),symbolMisc:K("symbol-misc",60259),symbolOperator:K("symbol-operator",60260),symbolProperty:K("symbol-property",60261),wrench:K("wrench",60261),wrenchSubaction:K("wrench-subaction",60261),symbolSnippet:K("symbol-snippet",60262),tasklist:K("tasklist",60263),telescope:K("telescope",60264),textSize:K("text-size",60265),threeBars:K("three-bars",60266),thumbsdown:K("thumbsdown",60267),thumbsup:K("thumbsup",60268),tools:K("tools",60269),triangleDown:K("triangle-down",60270),triangleLeft:K("triangle-left",60271),triangleRight:K("triangle-right",60272),triangleUp:K("triangle-up",60273),twitter:K("twitter",60274),unfold:K("unfold",60275),unlock:K("unlock",60276),unmute:K("unmute",60277),unverified:K("unverified",60278),verified:K("verified",60279),versions:K("versions",60280),vmActive:K("vm-active",60281),vmOutline:K("vm-outline",60282),vmRunning:K("vm-running",60283),watch:K("watch",60284),whitespace:K("whitespace",60285),wholeWord:K("whole-word",60286),window:K("window",60287),wordWrap:K("word-wrap",60288),zoomIn:K("zoom-in",60289),zoomOut:K("zoom-out",60290),listFilter:K("list-filter",60291),listFlat:K("list-flat",60292),listSelection:K("list-selection",60293),selection:K("selection",60293),listTree:K("list-tree",60294),debugBreakpointFunctionUnverified:K("debug-breakpoint-function-unverified",60295),debugBreakpointFunction:K("debug-breakpoint-function",60296),debugBreakpointFunctionDisabled:K("debug-breakpoint-function-disabled",60296),debugStackframeActive:K("debug-stackframe-active",60297),circleSmallFilled:K("circle-small-filled",60298),debugStackframeDot:K("debug-stackframe-dot",60298),terminalDecorationMark:K("terminal-decoration-mark",60298),debugStackframe:K("debug-stackframe",60299),debugStackframeFocused:K("debug-stackframe-focused",60299),debugBreakpointUnsupported:K("debug-breakpoint-unsupported",60300),symbolString:K("symbol-string",60301),debugReverseContinue:K("debug-reverse-continue",60302),debugStepBack:K("debug-step-back",60303),debugRestartFrame:K("debug-restart-frame",60304),debugAlt:K("debug-alt",60305),callIncoming:K("call-incoming",60306),callOutgoing:K("call-outgoing",60307),menu:K("menu",60308),expandAll:K("expand-all",60309),feedback:K("feedback",60310),gitPullRequestReviewer:K("git-pull-request-reviewer",60310),groupByRefType:K("group-by-ref-type",60311),ungroupByRefType:K("ungroup-by-ref-type",60312),account:K("account",60313),gitPullRequestAssignee:K("git-pull-request-assignee",60313),bellDot:K("bell-dot",60314),debugConsole:K("debug-console",60315),library:K("library",60316),output:K("output",60317),runAll:K("run-all",60318),syncIgnored:K("sync-ignored",60319),pinned:K("pinned",60320),githubInverted:K("github-inverted",60321),serverProcess:K("server-process",60322),serverEnvironment:K("server-environment",60323),pass:K("pass",60324),issueClosed:K("issue-closed",60324),stopCircle:K("stop-circle",60325),playCircle:K("play-circle",60326),record:K("record",60327),debugAltSmall:K("debug-alt-small",60328),vmConnect:K("vm-connect",60329),cloud:K("cloud",60330),merge:K("merge",60331),export:K("export",60332),graphLeft:K("graph-left",60333),magnet:K("magnet",60334),notebook:K("notebook",60335),redo:K("redo",60336),checkAll:K("check-all",60337),pinnedDirty:K("pinned-dirty",60338),passFilled:K("pass-filled",60339),circleLargeFilled:K("circle-large-filled",60340),circleLarge:K("circle-large",60341),circleLargeOutline:K("circle-large-outline",60341),combine:K("combine",60342),gather:K("gather",60342),table:K("table",60343),variableGroup:K("variable-group",60344),typeHierarchy:K("type-hierarchy",60345),typeHierarchySub:K("type-hierarchy-sub",60346),typeHierarchySuper:K("type-hierarchy-super",60347),gitPullRequestCreate:K("git-pull-request-create",60348),runAbove:K("run-above",60349),runBelow:K("run-below",60350),notebookTemplate:K("notebook-template",60351),debugRerun:K("debug-rerun",60352),workspaceTrusted:K("workspace-trusted",60353),workspaceUntrusted:K("workspace-untrusted",60354),workspaceUnknown:K("workspace-unknown",60355),terminalCmd:K("terminal-cmd",60356),terminalDebian:K("terminal-debian",60357),terminalLinux:K("terminal-linux",60358),terminalPowershell:K("terminal-powershell",60359),terminalTmux:K("terminal-tmux",60360),terminalUbuntu:K("terminal-ubuntu",60361),terminalBash:K("terminal-bash",60362),arrowSwap:K("arrow-swap",60363),copy:K("copy",60364),personAdd:K("person-add",60365),filterFilled:K("filter-filled",60366),wand:K("wand",60367),debugLineByLine:K("debug-line-by-line",60368),inspect:K("inspect",60369),layers:K("layers",60370),layersDot:K("layers-dot",60371),layersActive:K("layers-active",60372),compass:K("compass",60373),compassDot:K("compass-dot",60374),compassActive:K("compass-active",60375),azure:K("azure",60376),issueDraft:K("issue-draft",60377),gitPullRequestClosed:K("git-pull-request-closed",60378),gitPullRequestDraft:K("git-pull-request-draft",60379),debugAll:K("debug-all",60380),debugCoverage:K("debug-coverage",60381),runErrors:K("run-errors",60382),folderLibrary:K("folder-library",60383),debugContinueSmall:K("debug-continue-small",60384),beakerStop:K("beaker-stop",60385),graphLine:K("graph-line",60386),graphScatter:K("graph-scatter",60387),pieChart:K("pie-chart",60388),bracket:K("bracket",60175),bracketDot:K("bracket-dot",60389),bracketError:K("bracket-error",60390),lockSmall:K("lock-small",60391),azureDevops:K("azure-devops",60392),verifiedFilled:K("verified-filled",60393),newline:K("newline",60394),layout:K("layout",60395),layoutActivitybarLeft:K("layout-activitybar-left",60396),layoutActivitybarRight:K("layout-activitybar-right",60397),layoutPanelLeft:K("layout-panel-left",60398),layoutPanelCenter:K("layout-panel-center",60399),layoutPanelJustify:K("layout-panel-justify",60400),layoutPanelRight:K("layout-panel-right",60401),layoutPanel:K("layout-panel",60402),layoutSidebarLeft:K("layout-sidebar-left",60403),layoutSidebarRight:K("layout-sidebar-right",60404),layoutStatusbar:K("layout-statusbar",60405),layoutMenubar:K("layout-menubar",60406),layoutCentered:K("layout-centered",60407),target:K("target",60408),indent:K("indent",60409),recordSmall:K("record-small",60410),errorSmall:K("error-small",60411),terminalDecorationError:K("terminal-decoration-error",60411),arrowCircleDown:K("arrow-circle-down",60412),arrowCircleLeft:K("arrow-circle-left",60413),arrowCircleRight:K("arrow-circle-right",60414),arrowCircleUp:K("arrow-circle-up",60415),layoutSidebarRightOff:K("layout-sidebar-right-off",60416),layoutPanelOff:K("layout-panel-off",60417),layoutSidebarLeftOff:K("layout-sidebar-left-off",60418),blank:K("blank",60419),heartFilled:K("heart-filled",60420),map:K("map",60421),mapHorizontal:K("map-horizontal",60421),foldHorizontal:K("fold-horizontal",60421),mapFilled:K("map-filled",60422),mapHorizontalFilled:K("map-horizontal-filled",60422),foldHorizontalFilled:K("fold-horizontal-filled",60422),circleSmall:K("circle-small",60423),bellSlash:K("bell-slash",60424),bellSlashDot:K("bell-slash-dot",60425),commentUnresolved:K("comment-unresolved",60426),gitPullRequestGoToChanges:K("git-pull-request-go-to-changes",60427),gitPullRequestNewChanges:K("git-pull-request-new-changes",60428),searchFuzzy:K("search-fuzzy",60429),commentDraft:K("comment-draft",60430),send:K("send",60431),sparkle:K("sparkle",60432),insert:K("insert",60433),mic:K("mic",60434),thumbsdownFilled:K("thumbsdown-filled",60435),thumbsupFilled:K("thumbsup-filled",60436),coffee:K("coffee",60437),snake:K("snake",60438),game:K("game",60439),vr:K("vr",60440),chip:K("chip",60441),piano:K("piano",60442),music:K("music",60443),micFilled:K("mic-filled",60444),repoFetch:K("repo-fetch",60445),copilot:K("copilot",60446),lightbulbSparkle:K("lightbulb-sparkle",60447),robot:K("robot",60448),sparkleFilled:K("sparkle-filled",60449),diffSingle:K("diff-single",60450),diffMultiple:K("diff-multiple",60451),surroundWith:K("surround-with",60452),share:K("share",60453),gitStash:K("git-stash",60454),gitStashApply:K("git-stash-apply",60455),gitStashPop:K("git-stash-pop",60456),vscode:K("vscode",60457),vscodeInsiders:K("vscode-insiders",60458),codeOss:K("code-oss",60459),runCoverage:K("run-coverage",60460),runAllCoverage:K("run-all-coverage",60461),coverage:K("coverage",60462),githubProject:K("github-project",60463),mapVertical:K("map-vertical",60464),foldVertical:K("fold-vertical",60464),mapVerticalFilled:K("map-vertical-filled",60465),foldVerticalFilled:K("fold-vertical-filled",60465)},Bft={dialogError:K("dialog-error","error"),dialogWarning:K("dialog-warning","warning"),dialogInfo:K("dialog-info","info"),dialogClose:K("dialog-close","close"),treeItemExpanded:K("tree-item-expanded","chevron-down"),treeFilterOnTypeOn:K("tree-filter-on-type-on","list-filter"),treeFilterOnTypeOff:K("tree-filter-on-type-off","list-selection"),treeFilterClear:K("tree-filter-clear","close"),treeItemLoading:K("tree-item-loading","loading"),menuSelection:K("menu-selection","check"),menuSubmenu:K("menu-submenu","chevron-right"),menuBarMore:K("menubar-more","more"),scrollbarButtonLeft:K("scrollbar-button-left","triangle-left"),scrollbarButtonRight:K("scrollbar-button-right","triangle-right"),scrollbarButtonUp:K("scrollbar-button-up","triangle-up"),scrollbarButtonDown:K("scrollbar-button-down","triangle-down"),toolBarMore:K("toolbar-more","more"),quickInputBack:K("quick-input-back","arrow-left"),dropDownButton:K("drop-down-button",60084),symbolCustomColor:K("symbol-customcolor",60252),exportIcon:K("export",60332),workspaceUnspecified:K("workspace-unspecified",60355),newLine:K("newline",60394),thumbsDownFilled:K("thumbsdown-filled",60435),thumbsUpFilled:K("thumbsup-filled",60436),gitFetch:K("git-fetch",60445),lightbulbSparkleAutofix:K("lightbulb-sparkle-autofix",60447),debugBreakpointPending:K("debug-breakpoint-pending",60377)},ut={...Oft,...Bft};var NY;(function(n){function e(t){return t&&typeof t=="object"&&typeof t.id=="string"}n.isThemeColor=e})(NY||(NY={}));var sn;(function(n){n.iconNameSegment="[A-Za-z0-9]+",n.iconNameExpression="[A-Za-z0-9-]+",n.iconModifierExpression="~[A-Za-z]+",n.iconNameCharacter="[A-Za-z0-9~-]";const e=new RegExp(`^(${n.iconNameExpression})(${n.iconModifierExpression})?$`);function t(h){const m=e.exec(h.id);if(!m)return t(ut.error);const[,f,g]=m,b=["codicon","codicon-"+f];return g&&b.push("codicon-modifier-"+g.substring(1)),b}n.asClassNameArray=t;function i(h){return t(h).join(" ")}n.asClassName=i;function r(h){return"."+t(h).join(".")}n.asCSSSelector=r;function o(h){return h&&typeof h=="object"&&typeof h.id=="string"&&(typeof h.color>"u"||NY.isThemeColor(h.color))}n.isThemeIcon=o;const s=new RegExp(`^\\$\\((${n.iconNameExpression}(?:${n.iconModifierExpression})?)\\)$`);function a(h){const m=s.exec(h);if(!m)return;const[,f]=m;return{id:f}}n.fromString=a;function l(h){return{id:h}}n.fromId=l;function u(h,m){let f=h.id;const g=f.lastIndexOf("~");return g!==-1&&(f=f.substring(0,g)),m&&(f=`${f}~${m}`),{id:f}}n.modify=u;function c(h){const m=h.id.lastIndexOf("~");if(m!==-1)return h.id.substring(m+1)}n.getModifier=c;function d(h,m){var f,g;return h.id===m.id&&((f=h.color)===null||f===void 0?void 0:f.id)===((g=m.color)===null||g===void 0?void 0:g.id)}n.isEqual=d})(sn||(sn={}));const Xr=Un("commandService"),$n=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new be,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(n,e){if(!n)throw new Error("invalid command");if(typeof n=="string"){if(!e)throw new Error("invalid command");return this.registerCommand({id:n,handler:e})}if(n.metadata&&Array.isArray(n.metadata.args)){const s=[];for(const l of n.metadata.args)s.push(l.constraint);const a=n.handler;n.handler=function(l,...u){return vht(u,s),a(l,...u)}}const{id:t}=n;let i=this._commands.get(t);i||(i=new ja,this._commands.set(t,i));const r=i.unshift(n),o=jt(()=>{r();const s=this._commands.get(t);s!=null&&s.isEmpty()&&this._commands.delete(t)});return this._onDidRegisterCommand.fire(t),o}registerCommandAlias(n,e){return $n.registerCommand(n,(t,...i)=>t.get(Xr).executeCommand(e,...i))}getCommand(n){const e=this._commands.get(n);if(!(!e||e.isEmpty()))return Qn.first(e)}getCommands(){const n=new Map;for(const e of this._commands.keys()){const t=this.getCommand(e);t&&n.set(e,t)}return n}};$n.registerCommand("noop",()=>{});function MY(...n){switch(n.length){case 1:return _("contextkey.scanner.hint.didYouMean1","Did you mean {0}?",n[0]);case 2:return _("contextkey.scanner.hint.didYouMean2","Did you mean {0} or {1}?",n[0],n[1]);case 3:return _("contextkey.scanner.hint.didYouMean3","Did you mean {0}, {1} or {2}?",n[0],n[1],n[2]);default:return}}const zft=_("contextkey.scanner.hint.didYouForgetToOpenOrCloseQuote","Did you forget to open or close the quote?"),Hft=_("contextkey.scanner.hint.didYouForgetToEscapeSlash","Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.");let Jy=class Bee{constructor(){this._input="",this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(e){switch(e.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return e.isTripleEq?"===":"==";case 4:return e.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:return">=";case 8:return">=";case 9:return"=~";case 10:return e.lexeme;case 11:return"true";case 12:return"false";case 13:return"in";case 14:return"not";case 15:return"&&";case 16:return"||";case 17:return e.lexeme;case 18:return e.lexeme;case 19:return e.lexeme;case 20:return"EOF";default:throw RH(`unhandled token type: ${JSON.stringify(e)}; have you forgotten to add a case?`)}}reset(e){return this._input=e,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();)switch(this._start=this._current,this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){const t=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:t})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){const t=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:t})}else this._match(126)?this._addToken(9):this._error(MY("==","=~"));break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:this._match(38)?this._addToken(15):this._error(MY("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(MY("||"));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(e){return this._isAtEnd()||this._input.charCodeAt(this._current)!==e?!1:(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(e){this._tokens.push({type:e,offset:this._start})}_error(e){const t=this._start,i=this._input.substring(this._start,this._current),r={type:19,offset:this._start,lexeme:i};this._errors.push({offset:t,lexeme:i,additionalInfo:e}),this._tokens.push(r)}_string(){this.stringRe.lastIndex=this._start;const e=this.stringRe.exec(this._input);if(e){this._current=this._start+e[0].length;const t=this._input.substring(this._start,this._current),i=Bee._keywords.get(t);i?this._addToken(i):this._tokens.push({type:17,lexeme:t,offset:this._start})}}_quotedString(){for(;this._peek()!==39&&!this._isAtEnd();)this._advance();if(this._isAtEnd()){this._error(zft);return}this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1})}_regex(){let e=this._current,t=!1,i=!1;for(;;){if(e>=this._input.length){this._current=e,this._error(Hft);return}const o=this._input.charCodeAt(e);if(t)t=!1;else if(o===47&&!i){e++;break}else o===91?i=!0:o===92?t=!0:o===93&&(i=!1);e++}for(;e=this._input.length}};Jy._regexFlags=new Set(["i","g","s","m","y","u"].map(n=>n.charCodeAt(0))),Jy._keywords=new Map([["not",14],["in",13],["false",12],["true",11]]);const fa=new Map;fa.set("false",!1),fa.set("true",!0),fa.set("isMac",On),fa.set("isLinux",Ja),fa.set("isWindows",ha),fa.set("isWeb",Vb),fa.set("isMacNative",On&&!Vb),fa.set("isEdge",Dht),fa.set("isFirefox",Iht),fa.set("isChrome",Mbe),fa.set("isSafari",Fht);const Yft=Object.prototype.hasOwnProperty,Uft={regexParsingWithErrorRecovery:!0},Kft=_("contextkey.parser.error.emptyString","Empty context key expression"),Jft=_("contextkey.parser.error.emptyString.hint","Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively."),jft=_("contextkey.parser.error.noInAfterNot","'in' after 'not'."),B0e=_("contextkey.parser.error.closingParenthesis","closing parenthesis ')'"),Qft=_("contextkey.parser.error.unexpectedToken","Unexpected token"),$ft=_("contextkey.parser.error.unexpectedToken.hint","Did you forget to put && or || before the token?"),qft=_("contextkey.parser.error.unexpectedEOF","Unexpected end of expression"),egt=_("contextkey.parser.error.unexpectedEOF.hint","Did you forget to put a context key?");let z0e=class Tk{constructor(e=Uft){this._config=e,this._scanner=new Jy,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(e){if(e===""){this._parsingErrors.push({message:Kft,offset:0,lexeme:"",additionalInfo:Jft});return}this._tokens=this._scanner.reset(e).scan(),this._current=0,this._parsingErrors=[];try{const t=this._expr();if(!this._isAtEnd()){const i=this._peek(),r=i.type===17?$ft:void 0;throw this._parsingErrors.push({message:Qft,offset:i.offset,lexeme:Jy.getLexeme(i),additionalInfo:r}),Tk._parseError}return t}catch(t){if(t!==Tk._parseError)throw t;return}}_expr(){return this._or()}_or(){const e=[this._and()];for(;this._matchOne(16);){const t=this._and();e.push(t)}return e.length===1?e[0]:Oe.or(...e)}_and(){const e=[this._term()];for(;this._matchOne(15);){const t=this._term();e.push(t)}return e.length===1?e[0]:Oe.and(...e)}_term(){if(this._matchOne(2)){const e=this._peek();switch(e.type){case 11:return this._advance(),qa.INSTANCE;case 12:return this._advance(),Tl.INSTANCE;case 0:{this._advance();const t=this._expr();return this._consume(1,B0e),t==null?void 0:t.negate()}case 17:return this._advance(),Qy.create(e.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",e)}}return this._primary()}_primary(){const e=this._peek();switch(e.type){case 11:return this._advance(),Oe.true();case 12:return this._advance(),Oe.false();case 0:{this._advance();const t=this._expr();return this._consume(1,B0e),t}case 17:{const t=e.lexeme;if(this._advance(),this._matchOne(9)){const r=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),r.type!==10)throw this._errExpectedButGot("REGEX",r);const o=r.lexeme,s=o.lastIndexOf("/"),a=s===o.length-1?void 0:this._removeFlagsGY(o.substring(s+1));let l;try{l=new RegExp(o.substring(1,s),a)}catch{throw this._errExpectedButGot("REGEX",r)}return oF.create(t,l)}switch(r.type){case 10:case 19:{const o=[r.lexeme];this._advance();let s=this._peek(),a=0;for(let h=0;h=0){const u=o.slice(a+1,l),c=o[l+1]==="i"?"i":"";try{s=new RegExp(u,c)}catch{throw this._errExpectedButGot("REGEX",r)}}}if(s===null)throw this._errExpectedButGot("REGEX",r);return oF.create(t,s)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,jft);const r=this._value();return Oe.notIn(t,r)}switch(this._peek().type){case 3:{this._advance();const r=this._value();if(this._previous().type===18)return Oe.equals(t,r);switch(r){case"true":return Oe.has(t);case"false":return Oe.not(t);default:return Oe.equals(t,r)}}case 4:{this._advance();const r=this._value();if(this._previous().type===18)return Oe.notEquals(t,r);switch(r){case"true":return Oe.not(t);case"false":return Oe.has(t);default:return Oe.notEquals(t,r)}}case 5:return this._advance(),S9.create(t,this._value());case 6:return this._advance(),w9.create(t,this._value());case 7:return this._advance(),v9.create(t,this._value());case 8:return this._advance(),C9.create(t,this._value());case 13:return this._advance(),Oe.in(t,this._value());default:return Oe.has(t)}}case 20:throw this._parsingErrors.push({message:qft,offset:e.offset,lexeme:"",additionalInfo:egt}),Tk._parseError;default:throw this._errExpectedButGot(`true | false | KEY | KEY '=~' REGEX - | KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value`,this._peek())}}_value(){const e=this._peek();switch(e.type){case 17:case 18:return this._advance(),e.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(e){return e.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(e){return this._check(e)?(this._advance(),!0):!1}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(e,t){if(this._check(e))return this._advance();throw this._errExpectedButGot(t,this._peek())}_errExpectedButGot(e,t,i){const r=L("contextkey.parser.error.expectedButGot",`Expected: {0} -Received: '{1}'.`,e,Jv.getLexeme(t)),o=t.offset,s=Jv.getLexeme(t);return this._parsingErrors.push({message:r,offset:o,lexeme:s,additionalInfo:i}),TN._parseError}_check(e){return this._peek().type===e}_peek(){return this._tokens[this._current]}_isAtEnd(){return this._peek().type===20}};z0e._parseError=new Error;class Oe{static false(){return qa.INSTANCE}static true(){return Tl.INSTANCE}static has(e){return jv.create(e)}static equals(e,t){return LS.create(e,t)}static notEquals(e,t){return b9.create(e,t)}static regex(e,t){return oI.create(e,t)}static in(e,t){return g9.create(e,t)}static notIn(e,t){return p9.create(e,t)}static not(e){return Qv.create(e)}static and(...e){return $v.create(e,null,!0)}static or(...e){return Tg.create(e,null,!0)}static deserialize(e){return e==null?void 0:this._parser.parse(e)}}Oe._parser=new z0e({regexParsingWithErrorRecovery:!1});function tgt(n,e){const t=n?n.substituteConstants():void 0,i=e?e.substituteConstants():void 0;return!t&&!i?!0:!t||!i?!1:t.equals(i)}function rI(n,e){return n.cmp(e)}class qa{constructor(){this.type=0}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!1}serialize(){return"false"}keys(){return[]}negate(){return Tl.INSTANCE}}qa.INSTANCE=new qa;class Tl{constructor(){this.type=1}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!0}serialize(){return"true"}keys(){return[]}negate(){return qa.INSTANCE}}Tl.INSTANCE=new Tl;class jv{static create(e,t=null){const i=fa.get(e);return typeof i=="boolean"?i?Tl.INSTANCE:qa.INSTANCE:new jv(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=2}cmp(e){return e.type!==this.type?this.type-e.type:Y0e(this.key,e.key)}equals(e){return e.type===this.type?this.key===e.key:!1}substituteConstants(){const e=fa.get(this.key);return typeof e=="boolean"?e?Tl.INSTANCE:qa.INSTANCE:this}evaluate(e){return!!e.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=Qv.create(this.key,this)),this.negated}}class LS{static create(e,t,i=null){if(typeof t=="boolean")return t?jv.create(e,i):Qv.create(e,i);const r=fa.get(e);return typeof r=="boolean"?t===(r?"true":"false")?Tl.INSTANCE:qa.INSTANCE:new LS(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=4}cmp(e){return e.type!==this.type?this.type-e.type:qv(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){const e=fa.get(this.key);if(typeof e=="boolean"){const t=e?"true":"false";return this.value===t?Tl.INSTANCE:qa.INSTANCE}return this}evaluate(e){return e.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=b9.create(this.key,this.value,this)),this.negated}}class g9{static create(e,t){return new g9(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=10,this.negated=null}cmp(e){return e.type!==this.type?this.type-e.type:qv(this.key,this.valueKey,e.key,e.valueKey)}equals(e){return e.type===this.type?this.key===e.key&&this.valueKey===e.valueKey:!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.valueKey),i=e.getValue(this.key);return Array.isArray(t)?t.includes(i):typeof i=="string"&&typeof t=="object"&&t!==null?Yft.call(t,i):!1}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=p9.create(this.key,this.valueKey)),this.negated}}class p9{static create(e,t){return new p9(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=11,this._negated=g9.create(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:this._negated.cmp(e._negated)}equals(e){return e.type===this.type?this._negated.equals(e._negated):!1}substituteConstants(){return this}evaluate(e){return!this._negated.evaluate(e)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}class b9{static create(e,t,i=null){if(typeof t=="boolean")return t?Qv.create(e,i):jv.create(e,i);const r=fa.get(e);return typeof r=="boolean"?t===(r?"true":"false")?qa.INSTANCE:Tl.INSTANCE:new b9(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=5}cmp(e){return e.type!==this.type?this.type-e.type:qv(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){const e=fa.get(this.key);if(typeof e=="boolean"){const t=e?"true":"false";return this.value===t?qa.INSTANCE:Tl.INSTANCE}return this}evaluate(e){return e.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=LS.create(this.key,this.value,this)),this.negated}}class Qv{static create(e,t=null){const i=fa.get(e);return typeof i=="boolean"?i?qa.INSTANCE:Tl.INSTANCE:new Qv(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=3}cmp(e){return e.type!==this.type?this.type-e.type:Y0e(this.key,e.key)}equals(e){return e.type===this.type?this.key===e.key:!1}substituteConstants(){const e=fa.get(this.key);return typeof e=="boolean"?e?qa.INSTANCE:Tl.INSTANCE:this}evaluate(e){return!e.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=jv.create(this.key,this)),this.negated}}function v9(n,e){if(typeof n=="string"){const t=parseFloat(n);isNaN(t)||(n=t)}return typeof n=="string"||typeof n=="number"?e(n):qa.INSTANCE}class y9{static create(e,t,i=null){return v9(t,r=>new y9(e,r,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=12}cmp(e){return e.type!==this.type?this.type-e.type:qv(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=S9.create(this.key,this.value,this)),this.negated}}class C9{static create(e,t,i=null){return v9(t,r=>new C9(e,r,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=13}cmp(e){return e.type!==this.type?this.type-e.type:qv(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=w9.create(this.key,this.value,this)),this.negated}}class w9{static create(e,t,i=null){return v9(t,r=>new w9(e,r,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=14}cmp(e){return e.type!==this.type?this.type-e.type:qv(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))new S9(e,r,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=15}cmp(e){return e.type!==this.type?this.type-e.type:qv(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=y9.create(this.key,this.value,this)),this.negated}}class oI{static create(e,t){return new oI(e,t)}constructor(e,t){this.key=e,this.regexp=t,this.type=7,this.negated=null}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.keye.key)return 1;const t=this.regexp?this.regexp.source:"",i=e.regexp?e.regexp.source:"";return ti?1:0}equals(e){if(e.type===this.type){const t=this.regexp?this.regexp.source:"",i=e.regexp?e.regexp.source:"";return this.key===e.key&&t===i}return!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.key);return this.regexp?this.regexp.test(t):!1}serialize(){const e=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/";return`${this.key} =~ ${e}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=NY.create(this)),this.negated}}class NY{static create(e){return new NY(e)}constructor(e){this._actual=e,this.type=8}cmp(e){return e.type!==this.type?this.type-e.type:this._actual.cmp(e._actual)}equals(e){return e.type===this.type?this._actual.equals(e._actual):!1}substituteConstants(){return this}evaluate(e){return!this._actual.evaluate(e)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}}function H0e(n){let e=null;for(let t=0,i=n.length;te.expr.length)return 1;for(let t=0,i=this.expr.length;t1;){const s=r[r.length-1];if(s.type!==9)break;r.pop();const a=r.pop(),l=r.length===0,u=Tg.create(s.expr.map(c=>$v.create([c,a],null,i)),null,l);u&&(r.push(u),r.sort(rI))}if(r.length===1)return r[0];if(i){for(let s=0;se.serialize()).join(" && ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());this.negated=Tg.create(e,this,!0)}return this.negated}}class Tg{static create(e,t,i){return Tg._normalizeArr(e,t,i)}constructor(e,t){this.expr=e,this.negated=t,this.type=9}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.lengthe.expr.length)return 1;for(let t=0,i=this.expr.length;te.serialize()).join(" || ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());for(;e.length>1;){const t=e.shift(),i=e.shift(),r=[];for(const o of K0e(t))for(const s of K0e(i))r.push($v.create([o,s],null,!1));e.unshift(Tg.create(r,null,!1))}this.negated=Tg.create(e,this,!0)}return this.negated}}class wt extends jv{static all(){return wt._info.values()}constructor(e,t,i){super(e,null),this._defaultValue=t,typeof i=="object"?wt._info.push({...i,key:e}):i!==!0&&wt._info.push({key:e,description:i,type:t!=null?typeof t:void 0})}bindTo(e){return e.createKey(this.key,this._defaultValue)}getValue(e){return e.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(e){return LS.create(this.key,e)}}wt._info=[];const ln=Un("contextKeyService");function Y0e(n,e){return ne?1:0}function qv(n,e,t,i){return nt?1:ei?1:0}function TY(n,e){if(n.type===0||e.type===1)return!0;if(n.type===9)return e.type===9?U0e(n.expr,e.expr):!1;if(e.type===9){for(const t of e.expr)if(TY(n,t))return!0;return!1}if(n.type===6){if(e.type===6)return U0e(e.expr,n.expr);for(const t of n.expr)if(TY(t,e))return!0;return!1}return n.equals(e)}function U0e(n,e){let t=0,i=0;for(;t{a(),this._cachedMergedKeybindings=null})}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(rgt)),this._cachedMergedKeybindings.slice(0)}}const El=new WY,igt={EditorModes:"platform.keybindingsRegistry"};Do.add(igt.EditorModes,El);function rgt(n,e){if(n.weight1!==e.weight1)return n.weight1-e.weight1;if(n.command&&e.command){if(n.commande.command)return 1}return n.weight2-e.weight2}var ogt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},j0e=function(n,e){return function(t,i){e(t,i,n)}},L9;function _S(n){return n.command!==void 0}function sgt(n){return n.submenu!==void 0}class Q{constructor(e){if(Q._instances.has(e))throw new TypeError(`MenuId with identifier '${e}' already exists. Use MenuId.for(ident) or a unique identifier`);Q._instances.set(e,this),this.id=e}}Q._instances=new Map,Q.CommandPalette=new Q("CommandPalette"),Q.DebugBreakpointsContext=new Q("DebugBreakpointsContext"),Q.DebugCallStackContext=new Q("DebugCallStackContext"),Q.DebugConsoleContext=new Q("DebugConsoleContext"),Q.DebugVariablesContext=new Q("DebugVariablesContext"),Q.NotebookVariablesContext=new Q("NotebookVariablesContext"),Q.DebugHoverContext=new Q("DebugHoverContext"),Q.DebugWatchContext=new Q("DebugWatchContext"),Q.DebugToolBar=new Q("DebugToolBar"),Q.DebugToolBarStop=new Q("DebugToolBarStop"),Q.EditorContext=new Q("EditorContext"),Q.SimpleEditorContext=new Q("SimpleEditorContext"),Q.EditorContent=new Q("EditorContent"),Q.EditorLineNumberContext=new Q("EditorLineNumberContext"),Q.EditorContextCopy=new Q("EditorContextCopy"),Q.EditorContextPeek=new Q("EditorContextPeek"),Q.EditorContextShare=new Q("EditorContextShare"),Q.EditorTitle=new Q("EditorTitle"),Q.EditorTitleRun=new Q("EditorTitleRun"),Q.EditorTitleContext=new Q("EditorTitleContext"),Q.EditorTitleContextShare=new Q("EditorTitleContextShare"),Q.EmptyEditorGroup=new Q("EmptyEditorGroup"),Q.EmptyEditorGroupContext=new Q("EmptyEditorGroupContext"),Q.EditorTabsBarContext=new Q("EditorTabsBarContext"),Q.EditorTabsBarShowTabsSubmenu=new Q("EditorTabsBarShowTabsSubmenu"),Q.EditorTabsBarShowTabsZenModeSubmenu=new Q("EditorTabsBarShowTabsZenModeSubmenu"),Q.EditorActionsPositionSubmenu=new Q("EditorActionsPositionSubmenu"),Q.ExplorerContext=new Q("ExplorerContext"),Q.ExplorerContextShare=new Q("ExplorerContextShare"),Q.ExtensionContext=new Q("ExtensionContext"),Q.GlobalActivity=new Q("GlobalActivity"),Q.CommandCenter=new Q("CommandCenter"),Q.CommandCenterCenter=new Q("CommandCenterCenter"),Q.LayoutControlMenuSubmenu=new Q("LayoutControlMenuSubmenu"),Q.LayoutControlMenu=new Q("LayoutControlMenu"),Q.MenubarMainMenu=new Q("MenubarMainMenu"),Q.MenubarAppearanceMenu=new Q("MenubarAppearanceMenu"),Q.MenubarDebugMenu=new Q("MenubarDebugMenu"),Q.MenubarEditMenu=new Q("MenubarEditMenu"),Q.MenubarCopy=new Q("MenubarCopy"),Q.MenubarFileMenu=new Q("MenubarFileMenu"),Q.MenubarGoMenu=new Q("MenubarGoMenu"),Q.MenubarHelpMenu=new Q("MenubarHelpMenu"),Q.MenubarLayoutMenu=new Q("MenubarLayoutMenu"),Q.MenubarNewBreakpointMenu=new Q("MenubarNewBreakpointMenu"),Q.PanelAlignmentMenu=new Q("PanelAlignmentMenu"),Q.PanelPositionMenu=new Q("PanelPositionMenu"),Q.ActivityBarPositionMenu=new Q("ActivityBarPositionMenu"),Q.MenubarPreferencesMenu=new Q("MenubarPreferencesMenu"),Q.MenubarRecentMenu=new Q("MenubarRecentMenu"),Q.MenubarSelectionMenu=new Q("MenubarSelectionMenu"),Q.MenubarShare=new Q("MenubarShare"),Q.MenubarSwitchEditorMenu=new Q("MenubarSwitchEditorMenu"),Q.MenubarSwitchGroupMenu=new Q("MenubarSwitchGroupMenu"),Q.MenubarTerminalMenu=new Q("MenubarTerminalMenu"),Q.MenubarViewMenu=new Q("MenubarViewMenu"),Q.MenubarHomeMenu=new Q("MenubarHomeMenu"),Q.OpenEditorsContext=new Q("OpenEditorsContext"),Q.OpenEditorsContextShare=new Q("OpenEditorsContextShare"),Q.ProblemsPanelContext=new Q("ProblemsPanelContext"),Q.SCMInputBox=new Q("SCMInputBox"),Q.SCMChangesSeparator=new Q("SCMChangesSeparator"),Q.SCMIncomingChanges=new Q("SCMIncomingChanges"),Q.SCMIncomingChangesContext=new Q("SCMIncomingChangesContext"),Q.SCMIncomingChangesSetting=new Q("SCMIncomingChangesSetting"),Q.SCMOutgoingChanges=new Q("SCMOutgoingChanges"),Q.SCMOutgoingChangesContext=new Q("SCMOutgoingChangesContext"),Q.SCMOutgoingChangesSetting=new Q("SCMOutgoingChangesSetting"),Q.SCMIncomingChangesAllChangesContext=new Q("SCMIncomingChangesAllChangesContext"),Q.SCMIncomingChangesHistoryItemContext=new Q("SCMIncomingChangesHistoryItemContext"),Q.SCMOutgoingChangesAllChangesContext=new Q("SCMOutgoingChangesAllChangesContext"),Q.SCMOutgoingChangesHistoryItemContext=new Q("SCMOutgoingChangesHistoryItemContext"),Q.SCMChangeContext=new Q("SCMChangeContext"),Q.SCMResourceContext=new Q("SCMResourceContext"),Q.SCMResourceContextShare=new Q("SCMResourceContextShare"),Q.SCMResourceFolderContext=new Q("SCMResourceFolderContext"),Q.SCMResourceGroupContext=new Q("SCMResourceGroupContext"),Q.SCMSourceControl=new Q("SCMSourceControl"),Q.SCMSourceControlInline=new Q("SCMSourceControlInline"),Q.SCMSourceControlTitle=new Q("SCMSourceControlTitle"),Q.SCMTitle=new Q("SCMTitle"),Q.SearchContext=new Q("SearchContext"),Q.SearchActionMenu=new Q("SearchActionContext"),Q.StatusBarWindowIndicatorMenu=new Q("StatusBarWindowIndicatorMenu"),Q.StatusBarRemoteIndicatorMenu=new Q("StatusBarRemoteIndicatorMenu"),Q.StickyScrollContext=new Q("StickyScrollContext"),Q.TestItem=new Q("TestItem"),Q.TestItemGutter=new Q("TestItemGutter"),Q.TestMessageContext=new Q("TestMessageContext"),Q.TestMessageContent=new Q("TestMessageContent"),Q.TestPeekElement=new Q("TestPeekElement"),Q.TestPeekTitle=new Q("TestPeekTitle"),Q.TouchBarContext=new Q("TouchBarContext"),Q.TitleBarContext=new Q("TitleBarContext"),Q.TitleBarTitleContext=new Q("TitleBarTitleContext"),Q.TunnelContext=new Q("TunnelContext"),Q.TunnelPrivacy=new Q("TunnelPrivacy"),Q.TunnelProtocol=new Q("TunnelProtocol"),Q.TunnelPortInline=new Q("TunnelInline"),Q.TunnelTitle=new Q("TunnelTitle"),Q.TunnelLocalAddressInline=new Q("TunnelLocalAddressInline"),Q.TunnelOriginInline=new Q("TunnelOriginInline"),Q.ViewItemContext=new Q("ViewItemContext"),Q.ViewContainerTitle=new Q("ViewContainerTitle"),Q.ViewContainerTitleContext=new Q("ViewContainerTitleContext"),Q.ViewTitle=new Q("ViewTitle"),Q.ViewTitleContext=new Q("ViewTitleContext"),Q.CommentEditorActions=new Q("CommentEditorActions"),Q.CommentThreadTitle=new Q("CommentThreadTitle"),Q.CommentThreadActions=new Q("CommentThreadActions"),Q.CommentThreadAdditionalActions=new Q("CommentThreadAdditionalActions"),Q.CommentThreadTitleContext=new Q("CommentThreadTitleContext"),Q.CommentThreadCommentContext=new Q("CommentThreadCommentContext"),Q.CommentTitle=new Q("CommentTitle"),Q.CommentActions=new Q("CommentActions"),Q.CommentsViewThreadActions=new Q("CommentsViewThreadActions"),Q.InteractiveToolbar=new Q("InteractiveToolbar"),Q.InteractiveCellTitle=new Q("InteractiveCellTitle"),Q.InteractiveCellDelete=new Q("InteractiveCellDelete"),Q.InteractiveCellExecute=new Q("InteractiveCellExecute"),Q.InteractiveInputExecute=new Q("InteractiveInputExecute"),Q.IssueReporter=new Q("IssueReporter"),Q.NotebookToolbar=new Q("NotebookToolbar"),Q.NotebookStickyScrollContext=new Q("NotebookStickyScrollContext"),Q.NotebookCellTitle=new Q("NotebookCellTitle"),Q.NotebookCellDelete=new Q("NotebookCellDelete"),Q.NotebookCellInsert=new Q("NotebookCellInsert"),Q.NotebookCellBetween=new Q("NotebookCellBetween"),Q.NotebookCellListTop=new Q("NotebookCellTop"),Q.NotebookCellExecute=new Q("NotebookCellExecute"),Q.NotebookCellExecuteGoTo=new Q("NotebookCellExecuteGoTo"),Q.NotebookCellExecutePrimary=new Q("NotebookCellExecutePrimary"),Q.NotebookDiffCellInputTitle=new Q("NotebookDiffCellInputTitle"),Q.NotebookDiffCellMetadataTitle=new Q("NotebookDiffCellMetadataTitle"),Q.NotebookDiffCellOutputsTitle=new Q("NotebookDiffCellOutputsTitle"),Q.NotebookOutputToolbar=new Q("NotebookOutputToolbar"),Q.NotebookOutlineFilter=new Q("NotebookOutlineFilter"),Q.NotebookOutlineActionMenu=new Q("NotebookOutlineActionMenu"),Q.NotebookEditorLayoutConfigure=new Q("NotebookEditorLayoutConfigure"),Q.NotebookKernelSource=new Q("NotebookKernelSource"),Q.BulkEditTitle=new Q("BulkEditTitle"),Q.BulkEditContext=new Q("BulkEditContext"),Q.TimelineItemContext=new Q("TimelineItemContext"),Q.TimelineTitle=new Q("TimelineTitle"),Q.TimelineTitleContext=new Q("TimelineTitleContext"),Q.TimelineFilterSubMenu=new Q("TimelineFilterSubMenu"),Q.AccountsContext=new Q("AccountsContext"),Q.SidebarTitle=new Q("SidebarTitle"),Q.PanelTitle=new Q("PanelTitle"),Q.AuxiliaryBarTitle=new Q("AuxiliaryBarTitle"),Q.AuxiliaryBarHeader=new Q("AuxiliaryBarHeader"),Q.TerminalInstanceContext=new Q("TerminalInstanceContext"),Q.TerminalEditorInstanceContext=new Q("TerminalEditorInstanceContext"),Q.TerminalNewDropdownContext=new Q("TerminalNewDropdownContext"),Q.TerminalTabContext=new Q("TerminalTabContext"),Q.TerminalTabEmptyAreaContext=new Q("TerminalTabEmptyAreaContext"),Q.TerminalStickyScrollContext=new Q("TerminalStickyScrollContext"),Q.WebviewContext=new Q("WebviewContext"),Q.InlineCompletionsActions=new Q("InlineCompletionsActions"),Q.InlineEditActions=new Q("InlineEditActions"),Q.NewFile=new Q("NewFile"),Q.MergeInput1Toolbar=new Q("MergeToolbar1Toolbar"),Q.MergeInput2Toolbar=new Q("MergeToolbar2Toolbar"),Q.MergeBaseToolbar=new Q("MergeBaseToolbar"),Q.MergeInputResultToolbar=new Q("MergeToolbarResultToolbar"),Q.InlineSuggestionToolbar=new Q("InlineSuggestionToolbar"),Q.InlineEditToolbar=new Q("InlineEditToolbar"),Q.ChatContext=new Q("ChatContext"),Q.ChatCodeBlock=new Q("ChatCodeblock"),Q.ChatMessageTitle=new Q("ChatMessageTitle"),Q.ChatExecute=new Q("ChatExecute"),Q.ChatExecuteSecondary=new Q("ChatExecuteSecondary"),Q.ChatInputSide=new Q("ChatInputSide"),Q.AccessibleView=new Q("AccessibleView"),Q.MultiDiffEditorFileToolbar=new Q("MultiDiffEditorFileToolbar"),Q.DiffEditorHunkToolbar=new Q("DiffEditorHunkToolbar"),Q.DiffEditorSelectionToolbar=new Q("DiffEditorSelectionToolbar");const Gu=Un("menuService");class Eg{static for(e){let t=this._all.get(e);return t||(t=new Eg(e),this._all.set(e,t)),t}static merge(e){const t=new Set;for(const i of e)i instanceof Eg&&t.add(i.id);return t}constructor(e){this.id=e,this.has=t=>t===e}}Eg._all=new Map;const ss=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new Qht({merge:Eg.merge}),this.onDidChangeMenu=this._onDidChangeMenu.event}addCommand(n){return this._commands.set(n.id,n),this._onDidChangeMenu.fire(Eg.for(Q.CommandPalette)),jt(()=>{this._commands.delete(n.id)&&this._onDidChangeMenu.fire(Eg.for(Q.CommandPalette))})}getCommand(n){return this._commands.get(n)}getCommands(){const n=new Map;return this._commands.forEach((e,t)=>n.set(t,e)),n}appendMenuItem(n,e){let t=this._menuItems.get(n);t||(t=new ja,this._menuItems.set(n,t));const i=t.push(e);return this._onDidChangeMenu.fire(Eg.for(n)),jt(()=>{i(),this._onDidChangeMenu.fire(Eg.for(n))})}appendMenuItems(n){const e=new Je;for(const{id:t,item:i}of n)e.add(this.appendMenuItem(t,i));return e}getMenuItems(n){let e;return this._menuItems.has(n)?e=[...this._menuItems.get(n)]:e=[],n===Q.CommandPalette&&this._appendImplicitItems(e),e}_appendImplicitItems(n){const e=new Set;for(const t of n)_S(t)&&(e.add(t.command.id),t.alt&&e.add(t.alt.id));this._commands.forEach((t,i)=>{e.has(i)||n.push({command:t})})}};class sI extends SS{constructor(e,t,i){super(`submenuitem.${e.submenu.id}`,typeof e.title=="string"?e.title:e.title.value,i,"submenu"),this.item=e,this.hideActions=t}}let Xu=L9=class{static label(e,t){return t!=null&&t.renderShortTitle&&e.shortTitle?typeof e.shortTitle=="string"?e.shortTitle:e.shortTitle.value:typeof e.title=="string"?e.title:e.title.value}constructor(e,t,i,r,o,s){var a,l;this.hideActions=r,this._commandService=s,this.id=e.id,this.label=L9.label(e,i),this.tooltip=(l=typeof e.tooltip=="string"?e.tooltip:(a=e.tooltip)===null||a===void 0?void 0:a.value)!==null&&l!==void 0?l:"",this.enabled=!e.precondition||o.contextMatchesRules(e.precondition),this.checked=void 0;let u;if(e.toggled){const c=e.toggled.condition?e.toggled:{condition:e.toggled};this.checked=o.contextMatchesRules(c.condition),this.checked&&c.tooltip&&(this.tooltip=typeof c.tooltip=="string"?c.tooltip:c.tooltip.value),this.checked&&sn.isThemeIcon(c.icon)&&(u=c.icon),this.checked&&c.title&&(this.label=typeof c.title=="string"?c.title:c.title.value)}u||(u=sn.isThemeIcon(e.icon)?e.icon:void 0),this.item=e,this.alt=t?new L9(t,void 0,i,r,o,s):void 0,this._options=i,this.class=u&&sn.asClassName(u)}run(...e){var t,i;let r=[];return!((t=this._options)===null||t===void 0)&&t.arg&&(r=[...r,this._options.arg]),!((i=this._options)===null||i===void 0)&&i.shouldForwardArgs&&(r=[...r,...e]),this._commandService.executeCommand(this.id,...r)}};Xu=L9=ogt([j0e(4,ln),j0e(5,Xr)],Xu);class el{constructor(e){this.desc=e}}function Ji(n){const e=new Je,t=new n,{f1:i,menu:r,keybinding:o,...s}=t.desc;if($n.getCommand(s.id))throw new Error(`Cannot register two commands with the same id: ${s.id}`);if(e.add($n.registerCommand({id:s.id,handler:(a,...l)=>t.run(a,...l),metadata:s.metadata})),Array.isArray(r))for(const a of r)e.add(ss.appendMenuItem(a.id,{command:{...s,precondition:a.precondition===null?void 0:s.precondition},...a}));else r&&e.add(ss.appendMenuItem(r.id,{command:{...s,precondition:r.precondition===null?void 0:s.precondition},...r}));if(i&&(e.add(ss.appendMenuItem(Q.CommandPalette,{command:s,when:s.precondition})),e.add(ss.addCommand(s))),Array.isArray(o))for(const a of o)e.add(El.registerKeybindingRule({...a,id:s.id,when:s.precondition?Oe.and(s.precondition,a.when):a.when}));else o&&e.add(El.registerKeybindingRule({...o,id:s.id,when:s.precondition?Oe.and(s.precondition,o.when):o.when}));return e}const Zl=Un("telemetryService"),tl=Un("logService");var $s;(function(n){n[n.Off=0]="Off",n[n.Trace=1]="Trace",n[n.Debug=2]="Debug",n[n.Info=3]="Info",n[n.Warning=4]="Warning",n[n.Error=5]="Error"})($s||($s={}));const Q0e=$s.Info;class $0e extends Ie{constructor(){super(...arguments),this.level=Q0e,this._onDidChangeLogLevel=this._register(new be),this.onDidChangeLogLevel=this._onDidChangeLogLevel.event}setLevel(e){this.level!==e&&(this.level=e,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(e){return this.level!==$s.Off&&this.level<=e}}class agt extends $0e{constructor(e=Q0e,t=!0){super(),this.useColors=t,this.setLevel(e)}trace(e,...t){this.checkLogLevel($s.Trace)&&this.useColors}debug(e,...t){this.checkLogLevel($s.Debug)&&this.useColors}info(e,...t){this.checkLogLevel($s.Info)&&this.useColors}warn(e,...t){this.checkLogLevel($s.Warning)&&this.useColors}error(e,...t){this.checkLogLevel($s.Error)&&this.useColors}}class lgt extends $0e{constructor(e){super(),this.loggers=e,e.length&&this.setLevel(e[0].getLevel())}setLevel(e){for(const t of this.loggers)t.setLevel(e);super.setLevel(e)}trace(e,...t){for(const i of this.loggers)i.trace(e,...t)}debug(e,...t){for(const i of this.loggers)i.debug(e,...t)}info(e,...t){for(const i of this.loggers)i.info(e,...t)}warn(e,...t){for(const i of this.loggers)i.warn(e,...t)}error(e,...t){for(const i of this.loggers)i.error(e,...t)}dispose(){for(const e of this.loggers)e.dispose();super.dispose()}}function ugt(n){switch(n){case $s.Trace:return"trace";case $s.Debug:return"debug";case $s.Info:return"info";case $s.Warning:return"warn";case $s.Error:return"error";case $s.Off:return"off"}}new wt("logLevel",ugt($s.Info));let _9=class{constructor(e){this.id=e.id,this.precondition=e.precondition,this._kbOpts=e.kbOpts,this._menuOpts=e.menuOpts,this.metadata=e.metadata}register(){if(Array.isArray(this._menuOpts)?this._menuOpts.forEach(this._registerMenuItem,this):this._menuOpts&&this._registerMenuItem(this._menuOpts),this._kbOpts){const e=Array.isArray(this._kbOpts)?this._kbOpts:[this._kbOpts];for(const t of e){let i=t.kbExpr;this.precondition&&(i?i=Oe.and(i,this.precondition):i=this.precondition);const r={id:this.id,weight:t.weight,args:t.args,when:i,primary:t.primary,secondary:t.secondary,win:t.win,linux:t.linux,mac:t.mac};El.registerKeybindingRule(r)}}$n.registerCommand({id:this.id,handler:(e,t)=>this.runCommand(e,t),metadata:this.metadata})}_registerMenuItem(e){ss.appendMenuItem(e.menuId,{group:e.group,command:{id:this.id,title:e.title,icon:e.icon,precondition:this.precondition},when:e.when,order:e.order})}};class FS extends _9{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t,i,r){return this._implementations.push({priority:e,name:t,implementation:i,when:r}),this._implementations.sort((o,s)=>s.priority-o.priority),{dispose:()=>{for(let o=0;o{if(a.get(ln).contextMatchesRules(i??void 0))return r(a,s,t)})}runCommand(e,t){return Ko.runEditorCommand(e,t,this.precondition,(i,r,o)=>this.runEditorCommand(i,r,o))}}class Mt extends Ko{static convertOptions(e){let t;Array.isArray(e.menuOpts)?t=e.menuOpts:e.menuOpts?t=[e.menuOpts]:t=[];function i(r){return r.menuId||(r.menuId=Q.EditorContext),r.title||(r.title=e.label),r.when=Oe.and(e.precondition,r.when),r}return Array.isArray(e.contextMenuOpts)?t.push(...e.contextMenuOpts.map(i)):e.contextMenuOpts&&t.push(i(e.contextMenuOpts)),e.menuOpts=t,e}constructor(e){super(Mt.convertOptions(e)),this.label=e.label,this.alias=e.alias}runEditorCommand(e,t,i){return this.reportTelemetry(e,t),this.run(e,t,i||{})}reportTelemetry(e,t){e.get(Zl).publicLog2("editorActionInvoked",{name:this.label,id:this.id})}}class e1e extends Mt{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t){return this._implementations.push([e,t]),this._implementations.sort((i,r)=>r[0]-i[0]),{dispose:()=>{for(let i=0;i{var s,a;const l=o.get(ln),u=o.get(tl);if(!l.contextMatchesRules((s=this.desc.precondition)!==null&&s!==void 0?s:void 0)){u.debug("[EditorAction2] NOT running command because its precondition is FALSE",this.desc.id,(a=this.desc.precondition)===null||a===void 0?void 0:a.serialize());return}return this.runEditorCommand(o,r,...t)})}}function zm(n,e){$n.registerCommand(n,function(t,...i){const r=t.get($t),[o,s]=i;hi(en.isUri(o)),hi(ye.isIPosition(s));const a=t.get(xr).getModel(o);if(a){const l=ye.lift(s);return r.invokeFunction(e,a,l,...i.slice(2))}return t.get(Nl).createModelReference(o).then(l=>new Promise((u,c)=>{try{const d=r.invokeFunction(e,l.object.textEditorModel,ye.lift(s),i.slice(2));u(d)}catch(d){c(d)}}).finally(()=>{l.dispose()}))})}function gt(n){return kc.INSTANCE.registerEditorCommand(n),n}function tt(n){const e=new n;return kc.INSTANCE.registerEditorAction(e),e}function t1e(n){return kc.INSTANCE.registerEditorAction(n),n}function cgt(n){kc.INSTANCE.registerEditorAction(n)}function yi(n,e,t){kc.INSTANCE.registerEditorContribution(n,e,t)}var IS;(function(n){function e(s){return kc.INSTANCE.getEditorCommand(s)}n.getEditorCommand=e;function t(){return kc.INSTANCE.getEditorActions()}n.getEditorActions=t;function i(){return kc.INSTANCE.getEditorContributions()}n.getEditorContributions=i;function r(s){return kc.INSTANCE.getEditorContributions().filter(a=>s.indexOf(a.id)>=0)}n.getSomeEditorContributions=r;function o(){return kc.INSTANCE.getDiffEditorContributions()}n.getDiffEditorContributions=o})(IS||(IS={}));const dgt={EditorCommonContributions:"editor.contributions"};class kc{constructor(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}registerEditorContribution(e,t,i){this.editorContributions.push({id:e,ctor:t,instantiation:i})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(e){e.register(),this.editorActions.push(e)}getEditorActions(){return this.editorActions}registerEditorCommand(e){e.register(),this.editorCommands[e.id]=e}getEditorCommand(e){return this.editorCommands[e]||null}}kc.INSTANCE=new kc,Do.add(dgt.EditorCommonContributions,kc.INSTANCE);function aI(n){return n.register(),n}const n1e=aI(new FS({id:"undo",precondition:void 0,kbOpts:{weight:0,primary:2104},menuOpts:[{menuId:Q.MenubarEditMenu,group:"1_do",title:L({key:"miUndo",comment:["&& denotes a mnemonic"]},"&&Undo"),order:1},{menuId:Q.CommandPalette,group:"",title:L("undo","Undo"),order:1}]}));aI(new q0e(n1e,{id:"default:undo",precondition:void 0}));const i1e=aI(new FS({id:"redo",precondition:void 0,kbOpts:{weight:0,primary:2103,secondary:[3128],mac:{primary:3128}},menuOpts:[{menuId:Q.MenubarEditMenu,group:"1_do",title:L({key:"miRedo",comment:["&& denotes a mnemonic"]},"&&Redo"),order:2},{menuId:Q.CommandPalette,group:"",title:L("redo","Redo"),order:1}]}));aI(new q0e(i1e,{id:"default:redo",precondition:void 0}));const hgt=aI(new FS({id:"editor.action.selectAll",precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2079},menuOpts:[{menuId:Q.MenubarSelectionMenu,group:"1_basic",title:L({key:"miSelectAll",comment:["&& denotes a mnemonic"]},"&&Select All"),order:1},{menuId:Q.CommandPalette,group:"",title:L("selectAll","Select All"),order:1}]}));let J=class Ps{constructor(e,t,i,r){e>i||e===i&&t>r?(this.startLineNumber=i,this.startColumn=r,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=i,this.endColumn=r)}isEmpty(){return Ps.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return Ps.containsPosition(this,e)}static containsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.columne.endColumn)}static strictContainsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.column<=e.startColumn||t.lineNumber===e.endLineNumber&&t.column>=e.endColumn)}containsRange(e){return Ps.containsRange(this,e)}static containsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)}strictContainsRange(e){return Ps.strictContainsRange(this,e)}static strictContainsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn||t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)}plusRange(e){return Ps.plusRange(this,e)}static plusRange(e,t){let i,r,o,s;return t.startLineNumbere.endLineNumber?(o=t.endLineNumber,s=t.endColumn):t.endLineNumber===e.endLineNumber?(o=t.endLineNumber,s=Math.max(t.endColumn,e.endColumn)):(o=e.endLineNumber,s=e.endColumn),new Ps(i,r,o,s)}intersectRanges(e){return Ps.intersectRanges(this,e)}static intersectRanges(e,t){let i=e.startLineNumber,r=e.startColumn,o=e.endLineNumber,s=e.endColumn;const a=t.startLineNumber,l=t.startColumn,u=t.endLineNumber,c=t.endColumn;return iu?(o=u,s=c):o===u&&(s=Math.min(s,c)),i>o||i===o&&r>s?null:new Ps(i,r,o,s)}equalsRange(e){return Ps.equalsRange(this,e)}static equalsRange(e,t){return!e&&!t?!0:!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return Ps.getEndPosition(this)}static getEndPosition(e){return new ye(e.endLineNumber,e.endColumn)}getStartPosition(){return Ps.getStartPosition(this)}static getStartPosition(e){return new ye(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,t){return new Ps(this.startLineNumber,this.startColumn,e,t)}setStartPosition(e,t){return new Ps(e,t,this.endLineNumber,this.endColumn)}collapseToStart(){return Ps.collapseToStart(this)}static collapseToStart(e){return new Ps(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}collapseToEnd(){return Ps.collapseToEnd(this)}static collapseToEnd(e){return new Ps(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn)}delta(e){return new Ps(this.startLineNumber+e,this.startColumn,this.endLineNumber+e,this.endColumn)}static fromPositions(e,t=e){return new Ps(e.lineNumber,e.column,t.lineNumber,t.column)}static lift(e){return e?new Ps(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):null}static isIRange(e){return e&&typeof e.startLineNumber=="number"&&typeof e.startColumn=="number"&&typeof e.endLineNumber=="number"&&typeof e.endColumn=="number"}static areIntersectingOrTouching(e,t){return!(e.endLineNumbere.startLineNumber}toJSON(){return this}},Wt=class qd extends J{constructor(e,t,i,r){super(e,t,i,r),this.selectionStartLineNumber=e,this.selectionStartColumn=t,this.positionLineNumber=i,this.positionColumn=r}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(e){return qd.selectionsEqual(this,e)}static selectionsEqual(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(e,t){return this.getDirection()===0?new qd(this.startLineNumber,this.startColumn,e,t):new qd(e,t,this.startLineNumber,this.startColumn)}getPosition(){return new ye(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new ye(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(e,t){return this.getDirection()===0?new qd(e,t,this.endLineNumber,this.endColumn):new qd(this.endLineNumber,this.endColumn,e,t)}static fromPositions(e,t=e){return new qd(e.lineNumber,e.column,t.lineNumber,t.column)}static fromRange(e,t){return t===0?new qd(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):new qd(e.endLineNumber,e.endColumn,e.startLineNumber,e.startColumn)}static liftSelection(e){return new qd(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)}static selectionsArrEqual(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(let i=0,r=e.length;i0&&n.getLanguageId(s-1)===r;)s--;return new mgt(n,r,s,o+1,n.getStartOffset(s),n.getEndOffset(o))}class mgt{constructor(e,t,i,r,o,s){this._scopedLineTokensBrand=void 0,this._actual=e,this.languageId=t,this._firstTokenIndex=i,this._lastTokenIndex=r,this.firstCharOffset=o,this._lastCharOffset=s}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getActualLineContentBefore(e){return this._actual.getLineContent().substring(0,this.firstCharOffset+e)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(e){return this._actual.findTokenIndexAtOffset(e+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(e){return this._actual.getStandardTokenType(e+this._firstTokenIndex)}}function Hm(n){return(n&3)!==0}class Jo{static _nextVisibleColumn(e,t,i){return e===9?Jo.nextRenderTabStop(t,i):Ob(e)||aY(e)?t+2:t+1}static visibleColumnFromColumn(e,t,i){const r=Math.min(t-1,e.length),o=e.substring(0,r),s=new JZ(o);let a=0;for(;!s.eol();){const l=KZ(o,r,s.offset);s.nextGraphemeLength(),a=this._nextVisibleColumn(l,a,i)}return a}static columnFromVisibleColumn(e,t,i){if(t<=0)return 1;const r=e.length,o=new JZ(e);let s=0,a=1;for(;!o.eol();){const l=KZ(e,r,o.offset);o.nextGraphemeLength();const u=this._nextVisibleColumn(l,s,i),c=o.offset+1;if(u>=t){const d=t-s;return u-t!0,pgt=()=>!1,bgt=n=>n===" "||n===" ";class DS{static shouldRecreate(e){return e.hasChanged(145)||e.hasChanged(131)||e.hasChanged(37)||e.hasChanged(77)||e.hasChanged(79)||e.hasChanged(80)||e.hasChanged(6)||e.hasChanged(7)||e.hasChanged(11)||e.hasChanged(9)||e.hasChanged(10)||e.hasChanged(14)||e.hasChanged(128)||e.hasChanged(50)||e.hasChanged(91)||e.hasChanged(130)}constructor(e,t,i,r){var o;this.languageConfigurationService=r,this._cursorMoveConfigurationBrand=void 0,this._languageId=e;const s=i.options,a=s.get(145),l=s.get(50);this.readOnly=s.get(91),this.tabSize=t.tabSize,this.indentSize=t.indentSize,this.insertSpaces=t.insertSpaces,this.stickyTabStops=s.get(116),this.lineHeight=l.lineHeight,this.typicalHalfwidthCharacterWidth=l.typicalHalfwidthCharacterWidth,this.pageSize=Math.max(1,Math.floor(a.height/this.lineHeight)-2),this.useTabStops=s.get(128),this.wordSeparators=s.get(131),this.emptySelectionClipboard=s.get(37),this.copyWithSyntaxHighlighting=s.get(25),this.multiCursorMergeOverlapping=s.get(77),this.multiCursorPaste=s.get(79),this.multiCursorLimit=s.get(80),this.autoClosingBrackets=s.get(6),this.autoClosingComments=s.get(7),this.autoClosingQuotes=s.get(11),this.autoClosingDelete=s.get(9),this.autoClosingOvertype=s.get(10),this.autoSurround=s.get(14),this.autoIndent=s.get(12),this.wordSegmenterLocales=s.get(130),this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:this._getShouldAutoClose(e,this.autoClosingQuotes,!0),comment:this._getShouldAutoClose(e,this.autoClosingComments,!1),bracket:this._getShouldAutoClose(e,this.autoClosingBrackets,!1)},this.autoClosingPairs=this.languageConfigurationService.getLanguageConfiguration(e).getAutoClosingPairs();const u=this.languageConfigurationService.getLanguageConfiguration(e).getSurroundingPairs();if(u)for(const d of u)this.surroundingPairs[d.open]=d.close;const c=this.languageConfigurationService.getLanguageConfiguration(e).comments;this.blockCommentStartToken=(o=c==null?void 0:c.blockCommentStartToken)!==null&&o!==void 0?o:null}get electricChars(){var e;if(!this._electricChars){this._electricChars={};const t=(e=this.languageConfigurationService.getLanguageConfiguration(this._languageId).electricCharacter)===null||e===void 0?void 0:e.getElectricCharacters();if(t)for(const i of t)this._electricChars[i]=!0}return this._electricChars}onElectricCharacter(e,t,i){const r=F9(t,i-1),o=this.languageConfigurationService.getLanguageConfiguration(r.languageId).electricCharacter;return o?o.onElectricCharacter(e,r,i-r.firstCharOffset):null}normalizeIndentation(e){return I9(e,this.indentSize,this.insertSpaces)}_getShouldAutoClose(e,t,i){switch(t){case"beforeWhitespace":return bgt;case"languageDefined":return this._getLanguageDefinedShouldAutoClose(e,i);case"always":return ggt;case"never":return pgt}}_getLanguageDefinedShouldAutoClose(e,t){const i=this.languageConfigurationService.getLanguageConfiguration(e).getAutoCloseBeforeSet(t);return r=>i.indexOf(r)!==-1}visibleColumnFromColumn(e,t){return Jo.visibleColumnFromColumn(e.getLineContent(t.lineNumber),t.column,this.tabSize)}columnFromVisibleColumn(e,t,i){const r=Jo.columnFromVisibleColumn(e.getLineContent(t),i,this.tabSize),o=e.getLineMinColumn(t);if(rs?s:r}}let si=class sTe{static fromModelState(e){return new vgt(e)}static fromViewState(e){return new ygt(e)}static fromModelSelection(e){const t=Wt.liftSelection(e),i=new ks(J.fromPositions(t.getSelectionStart()),0,0,t.getPosition(),0);return sTe.fromModelState(i)}static fromModelSelections(e){const t=[];for(let i=0,r=e.length;io,u=r>s,c=rs||vr||b0&&r--,ty.columnSelect(e,t,i.fromViewLineNumber,i.fromViewVisualColumn,i.toViewLineNumber,r)}static columnSelectRight(e,t,i){let r=0;const o=Math.min(i.fromViewLineNumber,i.toViewLineNumber),s=Math.max(i.fromViewLineNumber,i.toViewLineNumber);for(let l=o;l<=s;l++){const u=t.getLineMaxColumn(l),c=e.visibleColumnFromColumn(t,new ye(l,u));r=Math.max(r,c)}let a=i.toViewVisualColumn;return ae.getLineMinColumn(t.lineNumber))return t.delta(void 0,-o0e(e.getLineContent(t.lineNumber),t.column-1));if(t.lineNumber>1){const i=t.lineNumber-1;return new ye(i,e.getLineMaxColumn(i))}else return t}static leftPositionAtomicSoftTabs(e,t,i){if(t.column<=e.getLineIndentColumn(t.lineNumber)){const r=e.getLineMinColumn(t.lineNumber),o=e.getLineContent(t.lineNumber),s=lI.atomicPosition(o,t.column-1,i,0);if(s!==-1&&s+1>=r)return new ye(t.lineNumber,s+1)}return this.leftPosition(e,t)}static left(e,t,i){const r=e.stickyTabStops?Ii.leftPositionAtomicSoftTabs(t,i,e.tabSize):Ii.leftPosition(t,i);return new VY(r.lineNumber,r.column,0)}static moveLeft(e,t,i,r,o){let s,a;if(i.hasSelection()&&!r)s=i.selection.startLineNumber,a=i.selection.startColumn;else{const l=i.position.delta(void 0,-(o-1)),u=t.normalizePosition(Ii.clipPositionColumn(l,t),0),c=Ii.left(e,t,u);s=c.lineNumber,a=c.column}return i.move(r,s,a,0)}static clipPositionColumn(e,t){return new ye(e.lineNumber,Ii.clipRange(e.column,t.getLineMinColumn(e.lineNumber),t.getLineMaxColumn(e.lineNumber)))}static clipRange(e,t,i){return ei?i:e}static rightPosition(e,t,i){return ic?(i=c,a?r=t.getLineMaxColumn(i):r=Math.min(t.getLineMaxColumn(i),r)):r=e.columnFromVisibleColumn(t,i,u),m?o=0:o=u-Jo.visibleColumnFromColumn(t.getLineContent(i),r,e.tabSize),l!==void 0){const f=new ye(i,r),g=t.normalizePosition(f,l);o=o+(r-g.column),i=g.lineNumber,r=g.column}return new VY(i,r,o)}static down(e,t,i,r,o,s,a){return this.vertical(e,t,i,r,o,i+s,a,4)}static moveDown(e,t,i,r,o){let s,a;i.hasSelection()&&!r?(s=i.selection.endLineNumber,a=i.selection.endColumn):(s=i.position.lineNumber,a=i.position.column);let l=0,u;do if(u=Ii.down(e,t,s+l,a,i.leftoverVisibleColumns,o,!0),t.normalizePosition(new ye(u.lineNumber,u.column),2).lineNumber>s)break;while(l++<10&&s+l1&&this._isBlankLine(t,o);)o--;for(;o>1&&!this._isBlankLine(t,o);)o--;return i.move(r,o,t.getLineMinColumn(o),0)}static moveToNextBlankLine(e,t,i,r){const o=t.getLineCount();let s=i.position.lineNumber;for(;s=h.length+1)return!1;const m=h.charAt(d.column-2),f=r.get(m);if(!f)return!1;if($b(m)){if(i==="never")return!1}else if(t==="never")return!1;const g=h.charAt(d.column-1);let b=!1;for(const v of f)v.open===m&&v.close===g&&(b=!0);if(!b)return!1;if(e==="auto"){let v=!1;for(let C=0,S=a.length;C1){const o=t.getLineContent(r.lineNumber),s=_a(o),a=s===-1?o.length+1:s+1;if(r.column<=a){const l=i.visibleColumnFromColumn(t,r),u=Jo.prevIndentTabStop(l,i.indentSize),c=i.columnFromVisibleColumn(t,r.lineNumber,u);return new J(r.lineNumber,c,r.lineNumber,r.column)}}return J.fromPositions(ny.getPositionAfterDeleteLeft(r,t),r)}static getPositionAfterDeleteLeft(e,t){if(e.column>1){const i=Gmt(e.column-1,t.getLineContent(e.lineNumber));return e.with(void 0,i+1)}else if(e.lineNumber>1){const i=e.lineNumber-1;return new ye(i,t.getLineMaxColumn(i))}else return e}static cut(e,t,i){const r=[];let o=null;i.sort((s,a)=>ye.compare(s.getStartPosition(),a.getEndPosition()));for(let s=0,a=i.length;s1&&(o==null?void 0:o.endLineNumber)!==u.lineNumber?(c=u.lineNumber-1,d=t.getLineMaxColumn(u.lineNumber-1),h=u.lineNumber,m=t.getLineMaxColumn(u.lineNumber)):(c=u.lineNumber,d=1,h=u.lineNumber,m=t.getLineMaxColumn(u.lineNumber));const f=new J(c,d,h,m);o=f,f.isEmpty()?r[s]=null:r[s]=new qs(f,"")}else r[s]=null;else r[s]=new qs(l,"")}return new Wl(0,r,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}var r1e,o1e;class wgt{constructor(e,t){this.uri=e,this.value=t}}function Sgt(n){return Array.isArray(n)}class to{constructor(e,t){if(this[r1e]="ResourceMap",e instanceof to)this.map=new Map(e.map),this.toKey=t??to.defaultToKey;else if(Sgt(e)){this.map=new Map,this.toKey=t??to.defaultToKey;for(const[i,r]of e)this.set(i,r)}else this.map=new Map,this.toKey=e??to.defaultToKey}set(e,t){return this.map.set(this.toKey(e),new wgt(e,t)),this}get(e){var t;return(t=this.map.get(this.toKey(e)))===null||t===void 0?void 0:t.value}has(e){return this.map.has(this.toKey(e))}get size(){return this.map.size}clear(){this.map.clear()}delete(e){return this.map.delete(this.toKey(e))}forEach(e,t){typeof t<"u"&&(e=e.bind(t));for(const[i,r]of this.map)e(r.value,r.uri,this)}*values(){for(const e of this.map.values())yield e.value}*keys(){for(const e of this.map.values())yield e.uri}*entries(){for(const e of this.map.values())yield[e.uri,e.value]}*[(r1e=Symbol.toStringTag,Symbol.iterator)](){for(const[,e]of this.map)yield[e.uri,e.value]}}to.defaultToKey=n=>n.toString();class xgt{constructor(){this[o1e]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return(e=this._head)===null||e===void 0?void 0:e.value}get last(){var e;return(e=this._tail)===null||e===void 0?void 0:e.value}has(e){return this._map.has(e)}get(e,t=0){const i=this._map.get(e);if(i)return t!==0&&this.touch(i,t),i.value}set(e,t,i=0){let r=this._map.get(e);if(r)r.value=t,i!==0&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case 0:this.addItemLast(r);break;case 1:this.addItemFirst(r);break;case 2:this.addItemLast(r);break;default:this.addItemLast(r);break}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const i=this._state;let r=this._head;for(;r;){if(t?e.bind(t)(r.value,r.key,this):e(r.value,r.key,this),this._state!==i)throw new Error("LinkedMap got modified during iteration.");r=r.next}}keys(){const e=this,t=this._state;let i=this._head;const r={[Symbol.iterator](){return r},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const o={value:i.key,done:!1};return i=i.next,o}else return{value:void 0,done:!0}}};return r}values(){const e=this,t=this._state;let i=this._head;const r={[Symbol.iterator](){return r},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const o={value:i.value,done:!1};return i=i.next,o}else return{value:void 0,done:!0}}};return r}entries(){const e=this,t=this._state;let i=this._head;const r={[Symbol.iterator](){return r},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const o={value:[i.key,i.value],done:!1};return i=i.next,o}else return{value:void 0,done:!0}}};return r}[(o1e=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._head,i=this.size;for(;t&&i>e;)this._map.delete(t.key),t=t.next,i--;this._head=t,this._size=i,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,i=e.previous;if(!t||!i)throw new Error("Invalid list");t.previous=i,i.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(t!==1&&t!==2)){if(t===1){if(e===this._head)return;const i=e.next,r=e.previous;e===this._tail?(r.next=void 0,this._tail=r):(i.previous=r,r.next=i),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===2){if(e===this._tail)return;const i=e.next,r=e.previous;e===this._head?(i.previous=void 0,this._head=i):(i.previous=r,r.next=i),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){const e=[];return this.forEach((t,i)=>{e.push([i,t])}),e}fromJSON(e){this.clear();for(const[t,i]of e)this.set(t,i)}}class Zg extends xgt{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get(e,t=2){return super.get(e,t)}peek(e){return super.get(e,0)}set(e,t){return super.set(e,t,2),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}class Lgt{constructor(e){if(this._m1=new Map,this._m2=new Map,e)for(const[t,i]of e)this.set(t,i)}clear(){this._m1.clear(),this._m2.clear()}set(e,t){this._m1.set(e,t),this._m2.set(t,e)}get(e){return this._m1.get(e)}getKey(e){return this._m2.get(e)}delete(e){const t=this._m1.get(e);return t===void 0?!1:(this._m1.delete(e),this._m2.delete(t),!0)}keys(){return this._m1.keys()}values(){return this._m1.values()}}class AY{constructor(){this.map=new Map}add(e,t){let i=this.map.get(e);i||(i=new Set,this.map.set(e,i)),i.add(t)}delete(e,t){const i=this.map.get(e);i&&(i.delete(t),i.size===0&&this.map.delete(e))}forEach(e,t){const i=this.map.get(e);i&&i.forEach(t)}get(e){const t=this.map.get(e);return t||new Set}}function k9(n){return n<0?0:n>255?255:n|0}function MS(n){return n<0?0:n>4294967295?4294967295:n|0}class kS{constructor(e){const t=k9(e);this._defaultValue=t,this._asciiMap=kS._createAsciiMap(t),this._map=new Map}static _createAsciiMap(e){const t=new Uint8Array(256);return t.fill(e),t}set(e,t){const i=k9(t);e>=0&&e<256?this._asciiMap[e]=i:this._map.set(e,i)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}class N9{constructor(){this._actual=new kS(0)}add(e){this._actual.set(e,1)}has(e){return this._actual.get(e)===1}clear(){return this._actual.clear()}}class _gt extends kS{constructor(e,t){super(0),this._segmenter=null,this._cachedLine=null,this._cachedSegments=[],this.intlSegmenterLocales=t,this.intlSegmenterLocales.length>0?this._segmenter=new Intl.Segmenter(this.intlSegmenterLocales,{granularity:"word"}):this._segmenter=null;for(let i=0,r=e.length;it)break;i=r}return i}findNextIntlWordAtOrAfterOffset(e,t){for(const i of this._getIntlSegmenterWordsOnLine(e))if(!(i.index=0;s--){const a=e.charCodeAt(s),l=t.get(a);if(o&&s===o.index)return this._createIntlWord(o,l);if(l===0){if(r===2)return this._createWord(e,r,l,s+1,this._findEndOfWord(e,t,r,s+1));r=1}else if(l===2){if(r===1)return this._createWord(e,r,l,s+1,this._findEndOfWord(e,t,r,s+1));r=2}else if(l===1&&r!==0)return this._createWord(e,r,l,s+1,this._findEndOfWord(e,t,r,s+1))}return r!==0?this._createWord(e,r,1,0,this._findEndOfWord(e,t,r,0)):null}static _findEndOfWord(e,t,i,r){const o=t.findNextIntlWordAtOrAfterOffset(e,r),s=e.length;for(let a=r;a=0;s--){const a=e.charCodeAt(s),l=t.get(a);if(o&&s===o.index)return s;if(l===1||i===1&&l===2||i===2&&l===0)return s+1}return 0}static moveWordLeft(e,t,i,r){let o=i.lineNumber,s=i.column;s===1&&o>1&&(o=o-1,s=t.getLineMaxColumn(o));let a=wi._findPreviousWordOnLine(e,t,new ye(o,s));if(r===0)return new ye(o,a?a.start+1:1);if(r===1)return a&&a.wordType===2&&a.end-a.start===1&&a.nextCharClass===0&&(a=wi._findPreviousWordOnLine(e,t,new ye(o,a.start+1))),new ye(o,a?a.start+1:1);if(r===3){for(;a&&a.wordType===2;)a=wi._findPreviousWordOnLine(e,t,new ye(o,a.start+1));return new ye(o,a?a.start+1:1)}return a&&s<=a.end+1&&(a=wi._findPreviousWordOnLine(e,t,new ye(o,a.start+1))),new ye(o,a?a.end+1:1)}static _moveWordPartLeft(e,t){const i=t.lineNumber,r=e.getLineMaxColumn(i);if(t.column===1)return i>1?new ye(i-1,e.getLineMaxColumn(i-1)):t;const o=e.getLineContent(i);for(let s=t.column-1;s>1;s--){const a=o.charCodeAt(s-2),l=o.charCodeAt(s-1);if(a===95&&l!==95)return new ye(i,s);if(a===45&&l!==45)return new ye(i,s);if((Xb(a)||YZ(a))&&Om(l))return new ye(i,s);if(Om(a)&&Om(l)&&s+1=l.start+1&&(l=wi._findNextWordOnLine(e,t,new ye(o,l.end+1))),l?s=l.start+1:s=t.getLineMaxColumn(o);return new ye(o,s)}static _moveWordPartRight(e,t){const i=t.lineNumber,r=e.getLineMaxColumn(i);if(t.column===r)return i1?u=1:(l--,u=r.getLineMaxColumn(l)):(c&&u<=c.end+1&&(c=wi._findPreviousWordOnLine(i,r,new ye(l,c.start+1))),c?u=c.end+1:u>1?u=1:(l--,u=r.getLineMaxColumn(l))),new J(l,u,a.lineNumber,a.column)}static deleteInsideWord(e,t,i){if(!i.isEmpty())return i;const r=new ye(i.positionLineNumber,i.positionColumn),o=this._deleteInsideWordWhitespace(t,r);return o||this._deleteInsideWordDetermineDeleteRange(e,t,r)}static _charAtIsWhitespace(e,t){const i=e.charCodeAt(t);return i===32||i===9}static _deleteInsideWordWhitespace(e,t){const i=e.getLineContent(t.lineNumber),r=i.length;if(r===0)return null;let o=Math.max(t.column-2,0);if(!this._charAtIsWhitespace(i,o))return null;let s=Math.min(t.column-1,r-1);if(!this._charAtIsWhitespace(i,s))return null;for(;o>0&&this._charAtIsWhitespace(i,o-1);)o--;for(;s+11?new J(i.lineNumber-1,t.getLineMaxColumn(i.lineNumber-1),i.lineNumber,1):i.lineNumberd.start+1<=i.column&&i.column<=d.end+1,a=(d,h)=>(d=Math.min(d,i.column),h=Math.max(h,i.column),new J(i.lineNumber,d,i.lineNumber,h)),l=d=>{let h=d.start+1,m=d.end+1,f=!1;for(;m-11&&this._charAtIsWhitespace(r,h-2);)h--;return a(h,m)},u=wi._findPreviousWordOnLine(e,t,i);if(u&&s(u))return l(u);const c=wi._findNextWordOnLine(e,t,i);return c&&s(c)?l(c):u&&c?a(u.end+1,c.start+1):u?a(u.start+1,u.end+1):c?a(c.start+1,c.end+1):a(1,o+1)}static _deleteWordPartLeft(e,t){if(!t.isEmpty())return t;const i=t.getPosition(),r=wi._moveWordPartLeft(e,i);return new J(i.lineNumber,i.column,r.lineNumber,r.column)}static _findFirstNonWhitespaceChar(e,t){const i=e.length;for(let r=t;r=h.start+1&&(h=wi._findNextWordOnLine(i,r,new ye(l,h.end+1))),h?u=h.start+1:u!!e)}class Ns{static addCursorDown(e,t,i){const r=[];let o=0;for(let s=0,a=t.length;su&&(c=u,d=e.model.getLineMaxColumn(c)),si.fromModelState(new ks(new J(s.lineNumber,1,c,d),2,0,new ye(c,d),0))}const l=t.modelState.selectionStart.getStartPosition().lineNumber;if(s.lineNumberl){const u=e.getLineCount();let c=a.lineNumber+1,d=1;return c>u&&(c=u,d=e.getLineMaxColumn(c)),si.fromViewState(t.viewState.move(!0,c,d,0))}else{const u=t.modelState.selectionStart.getEndPosition();return si.fromModelState(t.modelState.move(!0,u.lineNumber,u.column,0))}}static word(e,t,i,r){const o=e.model.validatePosition(r);return si.fromModelState(wi.word(e.cursorConfig,e.model,t.modelState,i,o))}static cancelSelection(e,t){if(!t.modelState.hasSelection())return new si(t.modelState,t.viewState);const i=t.viewState.position.lineNumber,r=t.viewState.position.column;return si.fromViewState(new ks(new J(i,r,i,r),0,0,new ye(i,r),0))}static moveTo(e,t,i,r,o){if(i){if(t.modelState.selectionStartKind===1)return this.word(e,t,i,r);if(t.modelState.selectionStartKind===2)return this.line(e,t,i,r,o)}const s=e.model.validatePosition(r),a=o?e.coordinatesConverter.validateViewPosition(new ye(o.lineNumber,o.column),s):e.coordinatesConverter.convertModelPositionToViewPosition(s);return si.fromViewState(t.viewState.move(i,a.lineNumber,a.column,0))}static simpleMove(e,t,i,r,o,s){switch(i){case 0:return s===4?this._moveHalfLineLeft(e,t,r):this._moveLeft(e,t,r,o);case 1:return s===4?this._moveHalfLineRight(e,t,r):this._moveRight(e,t,r,o);case 2:return s===2?this._moveUpByViewLines(e,t,r,o):this._moveUpByModelLines(e,t,r,o);case 3:return s===2?this._moveDownByViewLines(e,t,r,o):this._moveDownByModelLines(e,t,r,o);case 4:return s===2?t.map(a=>si.fromViewState(Ii.moveToPrevBlankLine(e.cursorConfig,e,a.viewState,r))):t.map(a=>si.fromModelState(Ii.moveToPrevBlankLine(e.cursorConfig,e.model,a.modelState,r)));case 5:return s===2?t.map(a=>si.fromViewState(Ii.moveToNextBlankLine(e.cursorConfig,e,a.viewState,r))):t.map(a=>si.fromModelState(Ii.moveToNextBlankLine(e.cursorConfig,e.model,a.modelState,r)));case 6:return this._moveToViewMinColumn(e,t,r);case 7:return this._moveToViewFirstNonWhitespaceColumn(e,t,r);case 8:return this._moveToViewCenterColumn(e,t,r);case 9:return this._moveToViewMaxColumn(e,t,r);case 10:return this._moveToViewLastNonWhitespaceColumn(e,t,r);default:return null}}static viewportMove(e,t,i,r,o){const s=e.getCompletelyVisibleViewRange(),a=e.coordinatesConverter.convertViewRangeToModelRange(s);switch(i){case 11:{const l=this._firstLineNumberInRange(e.model,a,o),u=e.model.getLineFirstNonWhitespaceColumn(l);return[this._moveToModelPosition(e,t[0],r,l,u)]}case 13:{const l=this._lastLineNumberInRange(e.model,a,o),u=e.model.getLineFirstNonWhitespaceColumn(l);return[this._moveToModelPosition(e,t[0],r,l,u)]}case 12:{const l=Math.round((a.startLineNumber+a.endLineNumber)/2),u=e.model.getLineFirstNonWhitespaceColumn(l);return[this._moveToModelPosition(e,t[0],r,l,u)]}case 14:{const l=[];for(let u=0,c=t.length;ui.endLineNumber-1?s=i.endLineNumber-1:osi.fromViewState(Ii.moveLeft(e.cursorConfig,e,o.viewState,i,r)))}static _moveHalfLineLeft(e,t,i){const r=[];for(let o=0,s=t.length;osi.fromViewState(Ii.moveRight(e.cursorConfig,e,o.viewState,i,r)))}static _moveHalfLineRight(e,t,i){const r=[];for(let o=0,s=t.length;o' | '>=' | 'in' | 'not' 'in') value`,this._peek())}}_value(){const e=this._peek();switch(e.type){case 17:case 18:return this._advance(),e.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(e){return e.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(e){return this._check(e)?(this._advance(),!0):!1}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(e,t){if(this._check(e))return this._advance();throw this._errExpectedButGot(t,this._peek())}_errExpectedButGot(e,t,i){const r=_("contextkey.parser.error.expectedButGot",`Expected: {0} +Received: '{1}'.`,e,Jy.getLexeme(t)),o=t.offset,s=Jy.getLexeme(t);return this._parsingErrors.push({message:r,offset:o,lexeme:s,additionalInfo:i}),Tk._parseError}_check(e){return this._peek().type===e}_peek(){return this._tokens[this._current]}_isAtEnd(){return this._peek().type===20}};z0e._parseError=new Error;class Oe{static false(){return qa.INSTANCE}static true(){return Tl.INSTANCE}static has(e){return jy.create(e)}static equals(e,t){return _w.create(e,t)}static notEquals(e,t){return b9.create(e,t)}static regex(e,t){return oF.create(e,t)}static in(e,t){return g9.create(e,t)}static notIn(e,t){return p9.create(e,t)}static not(e){return Qy.create(e)}static and(...e){return $y.create(e,null,!0)}static or(...e){return Tg.create(e,null,!0)}static deserialize(e){return e==null?void 0:this._parser.parse(e)}}Oe._parser=new z0e({regexParsingWithErrorRecovery:!1});function tgt(n,e){const t=n?n.substituteConstants():void 0,i=e?e.substituteConstants():void 0;return!t&&!i?!0:!t||!i?!1:t.equals(i)}function rF(n,e){return n.cmp(e)}class qa{constructor(){this.type=0}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!1}serialize(){return"false"}keys(){return[]}negate(){return Tl.INSTANCE}}qa.INSTANCE=new qa;class Tl{constructor(){this.type=1}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!0}serialize(){return"true"}keys(){return[]}negate(){return qa.INSTANCE}}Tl.INSTANCE=new Tl;class jy{static create(e,t=null){const i=fa.get(e);return typeof i=="boolean"?i?Tl.INSTANCE:qa.INSTANCE:new jy(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=2}cmp(e){return e.type!==this.type?this.type-e.type:Y0e(this.key,e.key)}equals(e){return e.type===this.type?this.key===e.key:!1}substituteConstants(){const e=fa.get(this.key);return typeof e=="boolean"?e?Tl.INSTANCE:qa.INSTANCE:this}evaluate(e){return!!e.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=Qy.create(this.key,this)),this.negated}}class _w{static create(e,t,i=null){if(typeof t=="boolean")return t?jy.create(e,i):Qy.create(e,i);const r=fa.get(e);return typeof r=="boolean"?t===(r?"true":"false")?Tl.INSTANCE:qa.INSTANCE:new _w(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=4}cmp(e){return e.type!==this.type?this.type-e.type:qy(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){const e=fa.get(this.key);if(typeof e=="boolean"){const t=e?"true":"false";return this.value===t?Tl.INSTANCE:qa.INSTANCE}return this}evaluate(e){return e.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=b9.create(this.key,this.value,this)),this.negated}}class g9{static create(e,t){return new g9(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=10,this.negated=null}cmp(e){return e.type!==this.type?this.type-e.type:qy(this.key,this.valueKey,e.key,e.valueKey)}equals(e){return e.type===this.type?this.key===e.key&&this.valueKey===e.valueKey:!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.valueKey),i=e.getValue(this.key);return Array.isArray(t)?t.includes(i):typeof i=="string"&&typeof t=="object"&&t!==null?Yft.call(t,i):!1}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=p9.create(this.key,this.valueKey)),this.negated}}class p9{static create(e,t){return new p9(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=11,this._negated=g9.create(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:this._negated.cmp(e._negated)}equals(e){return e.type===this.type?this._negated.equals(e._negated):!1}substituteConstants(){return this}evaluate(e){return!this._negated.evaluate(e)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}class b9{static create(e,t,i=null){if(typeof t=="boolean")return t?Qy.create(e,i):jy.create(e,i);const r=fa.get(e);return typeof r=="boolean"?t===(r?"true":"false")?qa.INSTANCE:Tl.INSTANCE:new b9(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=5}cmp(e){return e.type!==this.type?this.type-e.type:qy(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){const e=fa.get(this.key);if(typeof e=="boolean"){const t=e?"true":"false";return this.value===t?qa.INSTANCE:Tl.INSTANCE}return this}evaluate(e){return e.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=_w.create(this.key,this.value,this)),this.negated}}class Qy{static create(e,t=null){const i=fa.get(e);return typeof i=="boolean"?i?qa.INSTANCE:Tl.INSTANCE:new Qy(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=3}cmp(e){return e.type!==this.type?this.type-e.type:Y0e(this.key,e.key)}equals(e){return e.type===this.type?this.key===e.key:!1}substituteConstants(){const e=fa.get(this.key);return typeof e=="boolean"?e?qa.INSTANCE:Tl.INSTANCE:this}evaluate(e){return!e.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=jy.create(this.key,this)),this.negated}}function y9(n,e){if(typeof n=="string"){const t=parseFloat(n);isNaN(t)||(n=t)}return typeof n=="string"||typeof n=="number"?e(n):qa.INSTANCE}class v9{static create(e,t,i=null){return y9(t,r=>new v9(e,r,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=12}cmp(e){return e.type!==this.type?this.type-e.type:qy(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=w9.create(this.key,this.value,this)),this.negated}}class C9{static create(e,t,i=null){return y9(t,r=>new C9(e,r,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=13}cmp(e){return e.type!==this.type?this.type-e.type:qy(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=S9.create(this.key,this.value,this)),this.negated}}class S9{static create(e,t,i=null){return y9(t,r=>new S9(e,r,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=14}cmp(e){return e.type!==this.type?this.type-e.type:qy(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))new w9(e,r,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=15}cmp(e){return e.type!==this.type?this.type-e.type:qy(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=v9.create(this.key,this.value,this)),this.negated}}class oF{static create(e,t){return new oF(e,t)}constructor(e,t){this.key=e,this.regexp=t,this.type=7,this.negated=null}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.keye.key)return 1;const t=this.regexp?this.regexp.source:"",i=e.regexp?e.regexp.source:"";return ti?1:0}equals(e){if(e.type===this.type){const t=this.regexp?this.regexp.source:"",i=e.regexp?e.regexp.source:"";return this.key===e.key&&t===i}return!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.key);return this.regexp?this.regexp.test(t):!1}serialize(){const e=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/";return`${this.key} =~ ${e}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=kY.create(this)),this.negated}}class kY{static create(e){return new kY(e)}constructor(e){this._actual=e,this.type=8}cmp(e){return e.type!==this.type?this.type-e.type:this._actual.cmp(e._actual)}equals(e){return e.type===this.type?this._actual.equals(e._actual):!1}substituteConstants(){return this}evaluate(e){return!this._actual.evaluate(e)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}}function H0e(n){let e=null;for(let t=0,i=n.length;te.expr.length)return 1;for(let t=0,i=this.expr.length;t1;){const s=r[r.length-1];if(s.type!==9)break;r.pop();const a=r.pop(),l=r.length===0,u=Tg.create(s.expr.map(c=>$y.create([c,a],null,i)),null,l);u&&(r.push(u),r.sort(rF))}if(r.length===1)return r[0];if(i){for(let s=0;se.serialize()).join(" && ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());this.negated=Tg.create(e,this,!0)}return this.negated}}class Tg{static create(e,t,i){return Tg._normalizeArr(e,t,i)}constructor(e,t){this.expr=e,this.negated=t,this.type=9}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.lengthe.expr.length)return 1;for(let t=0,i=this.expr.length;te.serialize()).join(" || ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());for(;e.length>1;){const t=e.shift(),i=e.shift(),r=[];for(const o of K0e(t))for(const s of K0e(i))r.push($y.create([o,s],null,!1));e.unshift(Tg.create(r,null,!1))}this.negated=Tg.create(e,this,!0)}return this.negated}}class St extends jy{static all(){return St._info.values()}constructor(e,t,i){super(e,null),this._defaultValue=t,typeof i=="object"?St._info.push({...i,key:e}):i!==!0&&St._info.push({key:e,description:i,type:t!=null?typeof t:void 0})}bindTo(e){return e.createKey(this.key,this._defaultValue)}getValue(e){return e.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(e){return _w.create(this.key,e)}}St._info=[];const ln=Un("contextKeyService");function Y0e(n,e){return ne?1:0}function qy(n,e,t,i){return nt?1:ei?1:0}function TY(n,e){if(n.type===0||e.type===1)return!0;if(n.type===9)return e.type===9?U0e(n.expr,e.expr):!1;if(e.type===9){for(const t of e.expr)if(TY(n,t))return!0;return!1}if(n.type===6){if(e.type===6)return U0e(e.expr,n.expr);for(const t of n.expr)if(TY(t,e))return!0;return!1}return n.equals(e)}function U0e(n,e){let t=0,i=0;for(;t{a(),this._cachedMergedKeybindings=null})}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(rgt)),this._cachedMergedKeybindings.slice(0)}}const El=new ZY,igt={EditorModes:"platform.keybindingsRegistry"};Do.add(igt.EditorModes,El);function rgt(n,e){if(n.weight1!==e.weight1)return n.weight1-e.weight1;if(n.command&&e.command){if(n.commande.command)return 1}return n.weight2-e.weight2}var ogt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},j0e=function(n,e){return function(t,i){e(t,i,n)}},_9;function Lw(n){return n.command!==void 0}function sgt(n){return n.submenu!==void 0}class Q{constructor(e){if(Q._instances.has(e))throw new TypeError(`MenuId with identifier '${e}' already exists. Use MenuId.for(ident) or a unique identifier`);Q._instances.set(e,this),this.id=e}}Q._instances=new Map,Q.CommandPalette=new Q("CommandPalette"),Q.DebugBreakpointsContext=new Q("DebugBreakpointsContext"),Q.DebugCallStackContext=new Q("DebugCallStackContext"),Q.DebugConsoleContext=new Q("DebugConsoleContext"),Q.DebugVariablesContext=new Q("DebugVariablesContext"),Q.NotebookVariablesContext=new Q("NotebookVariablesContext"),Q.DebugHoverContext=new Q("DebugHoverContext"),Q.DebugWatchContext=new Q("DebugWatchContext"),Q.DebugToolBar=new Q("DebugToolBar"),Q.DebugToolBarStop=new Q("DebugToolBarStop"),Q.EditorContext=new Q("EditorContext"),Q.SimpleEditorContext=new Q("SimpleEditorContext"),Q.EditorContent=new Q("EditorContent"),Q.EditorLineNumberContext=new Q("EditorLineNumberContext"),Q.EditorContextCopy=new Q("EditorContextCopy"),Q.EditorContextPeek=new Q("EditorContextPeek"),Q.EditorContextShare=new Q("EditorContextShare"),Q.EditorTitle=new Q("EditorTitle"),Q.EditorTitleRun=new Q("EditorTitleRun"),Q.EditorTitleContext=new Q("EditorTitleContext"),Q.EditorTitleContextShare=new Q("EditorTitleContextShare"),Q.EmptyEditorGroup=new Q("EmptyEditorGroup"),Q.EmptyEditorGroupContext=new Q("EmptyEditorGroupContext"),Q.EditorTabsBarContext=new Q("EditorTabsBarContext"),Q.EditorTabsBarShowTabsSubmenu=new Q("EditorTabsBarShowTabsSubmenu"),Q.EditorTabsBarShowTabsZenModeSubmenu=new Q("EditorTabsBarShowTabsZenModeSubmenu"),Q.EditorActionsPositionSubmenu=new Q("EditorActionsPositionSubmenu"),Q.ExplorerContext=new Q("ExplorerContext"),Q.ExplorerContextShare=new Q("ExplorerContextShare"),Q.ExtensionContext=new Q("ExtensionContext"),Q.GlobalActivity=new Q("GlobalActivity"),Q.CommandCenter=new Q("CommandCenter"),Q.CommandCenterCenter=new Q("CommandCenterCenter"),Q.LayoutControlMenuSubmenu=new Q("LayoutControlMenuSubmenu"),Q.LayoutControlMenu=new Q("LayoutControlMenu"),Q.MenubarMainMenu=new Q("MenubarMainMenu"),Q.MenubarAppearanceMenu=new Q("MenubarAppearanceMenu"),Q.MenubarDebugMenu=new Q("MenubarDebugMenu"),Q.MenubarEditMenu=new Q("MenubarEditMenu"),Q.MenubarCopy=new Q("MenubarCopy"),Q.MenubarFileMenu=new Q("MenubarFileMenu"),Q.MenubarGoMenu=new Q("MenubarGoMenu"),Q.MenubarHelpMenu=new Q("MenubarHelpMenu"),Q.MenubarLayoutMenu=new Q("MenubarLayoutMenu"),Q.MenubarNewBreakpointMenu=new Q("MenubarNewBreakpointMenu"),Q.PanelAlignmentMenu=new Q("PanelAlignmentMenu"),Q.PanelPositionMenu=new Q("PanelPositionMenu"),Q.ActivityBarPositionMenu=new Q("ActivityBarPositionMenu"),Q.MenubarPreferencesMenu=new Q("MenubarPreferencesMenu"),Q.MenubarRecentMenu=new Q("MenubarRecentMenu"),Q.MenubarSelectionMenu=new Q("MenubarSelectionMenu"),Q.MenubarShare=new Q("MenubarShare"),Q.MenubarSwitchEditorMenu=new Q("MenubarSwitchEditorMenu"),Q.MenubarSwitchGroupMenu=new Q("MenubarSwitchGroupMenu"),Q.MenubarTerminalMenu=new Q("MenubarTerminalMenu"),Q.MenubarViewMenu=new Q("MenubarViewMenu"),Q.MenubarHomeMenu=new Q("MenubarHomeMenu"),Q.OpenEditorsContext=new Q("OpenEditorsContext"),Q.OpenEditorsContextShare=new Q("OpenEditorsContextShare"),Q.ProblemsPanelContext=new Q("ProblemsPanelContext"),Q.SCMInputBox=new Q("SCMInputBox"),Q.SCMChangesSeparator=new Q("SCMChangesSeparator"),Q.SCMIncomingChanges=new Q("SCMIncomingChanges"),Q.SCMIncomingChangesContext=new Q("SCMIncomingChangesContext"),Q.SCMIncomingChangesSetting=new Q("SCMIncomingChangesSetting"),Q.SCMOutgoingChanges=new Q("SCMOutgoingChanges"),Q.SCMOutgoingChangesContext=new Q("SCMOutgoingChangesContext"),Q.SCMOutgoingChangesSetting=new Q("SCMOutgoingChangesSetting"),Q.SCMIncomingChangesAllChangesContext=new Q("SCMIncomingChangesAllChangesContext"),Q.SCMIncomingChangesHistoryItemContext=new Q("SCMIncomingChangesHistoryItemContext"),Q.SCMOutgoingChangesAllChangesContext=new Q("SCMOutgoingChangesAllChangesContext"),Q.SCMOutgoingChangesHistoryItemContext=new Q("SCMOutgoingChangesHistoryItemContext"),Q.SCMChangeContext=new Q("SCMChangeContext"),Q.SCMResourceContext=new Q("SCMResourceContext"),Q.SCMResourceContextShare=new Q("SCMResourceContextShare"),Q.SCMResourceFolderContext=new Q("SCMResourceFolderContext"),Q.SCMResourceGroupContext=new Q("SCMResourceGroupContext"),Q.SCMSourceControl=new Q("SCMSourceControl"),Q.SCMSourceControlInline=new Q("SCMSourceControlInline"),Q.SCMSourceControlTitle=new Q("SCMSourceControlTitle"),Q.SCMTitle=new Q("SCMTitle"),Q.SearchContext=new Q("SearchContext"),Q.SearchActionMenu=new Q("SearchActionContext"),Q.StatusBarWindowIndicatorMenu=new Q("StatusBarWindowIndicatorMenu"),Q.StatusBarRemoteIndicatorMenu=new Q("StatusBarRemoteIndicatorMenu"),Q.StickyScrollContext=new Q("StickyScrollContext"),Q.TestItem=new Q("TestItem"),Q.TestItemGutter=new Q("TestItemGutter"),Q.TestMessageContext=new Q("TestMessageContext"),Q.TestMessageContent=new Q("TestMessageContent"),Q.TestPeekElement=new Q("TestPeekElement"),Q.TestPeekTitle=new Q("TestPeekTitle"),Q.TouchBarContext=new Q("TouchBarContext"),Q.TitleBarContext=new Q("TitleBarContext"),Q.TitleBarTitleContext=new Q("TitleBarTitleContext"),Q.TunnelContext=new Q("TunnelContext"),Q.TunnelPrivacy=new Q("TunnelPrivacy"),Q.TunnelProtocol=new Q("TunnelProtocol"),Q.TunnelPortInline=new Q("TunnelInline"),Q.TunnelTitle=new Q("TunnelTitle"),Q.TunnelLocalAddressInline=new Q("TunnelLocalAddressInline"),Q.TunnelOriginInline=new Q("TunnelOriginInline"),Q.ViewItemContext=new Q("ViewItemContext"),Q.ViewContainerTitle=new Q("ViewContainerTitle"),Q.ViewContainerTitleContext=new Q("ViewContainerTitleContext"),Q.ViewTitle=new Q("ViewTitle"),Q.ViewTitleContext=new Q("ViewTitleContext"),Q.CommentEditorActions=new Q("CommentEditorActions"),Q.CommentThreadTitle=new Q("CommentThreadTitle"),Q.CommentThreadActions=new Q("CommentThreadActions"),Q.CommentThreadAdditionalActions=new Q("CommentThreadAdditionalActions"),Q.CommentThreadTitleContext=new Q("CommentThreadTitleContext"),Q.CommentThreadCommentContext=new Q("CommentThreadCommentContext"),Q.CommentTitle=new Q("CommentTitle"),Q.CommentActions=new Q("CommentActions"),Q.CommentsViewThreadActions=new Q("CommentsViewThreadActions"),Q.InteractiveToolbar=new Q("InteractiveToolbar"),Q.InteractiveCellTitle=new Q("InteractiveCellTitle"),Q.InteractiveCellDelete=new Q("InteractiveCellDelete"),Q.InteractiveCellExecute=new Q("InteractiveCellExecute"),Q.InteractiveInputExecute=new Q("InteractiveInputExecute"),Q.IssueReporter=new Q("IssueReporter"),Q.NotebookToolbar=new Q("NotebookToolbar"),Q.NotebookStickyScrollContext=new Q("NotebookStickyScrollContext"),Q.NotebookCellTitle=new Q("NotebookCellTitle"),Q.NotebookCellDelete=new Q("NotebookCellDelete"),Q.NotebookCellInsert=new Q("NotebookCellInsert"),Q.NotebookCellBetween=new Q("NotebookCellBetween"),Q.NotebookCellListTop=new Q("NotebookCellTop"),Q.NotebookCellExecute=new Q("NotebookCellExecute"),Q.NotebookCellExecuteGoTo=new Q("NotebookCellExecuteGoTo"),Q.NotebookCellExecutePrimary=new Q("NotebookCellExecutePrimary"),Q.NotebookDiffCellInputTitle=new Q("NotebookDiffCellInputTitle"),Q.NotebookDiffCellMetadataTitle=new Q("NotebookDiffCellMetadataTitle"),Q.NotebookDiffCellOutputsTitle=new Q("NotebookDiffCellOutputsTitle"),Q.NotebookOutputToolbar=new Q("NotebookOutputToolbar"),Q.NotebookOutlineFilter=new Q("NotebookOutlineFilter"),Q.NotebookOutlineActionMenu=new Q("NotebookOutlineActionMenu"),Q.NotebookEditorLayoutConfigure=new Q("NotebookEditorLayoutConfigure"),Q.NotebookKernelSource=new Q("NotebookKernelSource"),Q.BulkEditTitle=new Q("BulkEditTitle"),Q.BulkEditContext=new Q("BulkEditContext"),Q.TimelineItemContext=new Q("TimelineItemContext"),Q.TimelineTitle=new Q("TimelineTitle"),Q.TimelineTitleContext=new Q("TimelineTitleContext"),Q.TimelineFilterSubMenu=new Q("TimelineFilterSubMenu"),Q.AccountsContext=new Q("AccountsContext"),Q.SidebarTitle=new Q("SidebarTitle"),Q.PanelTitle=new Q("PanelTitle"),Q.AuxiliaryBarTitle=new Q("AuxiliaryBarTitle"),Q.AuxiliaryBarHeader=new Q("AuxiliaryBarHeader"),Q.TerminalInstanceContext=new Q("TerminalInstanceContext"),Q.TerminalEditorInstanceContext=new Q("TerminalEditorInstanceContext"),Q.TerminalNewDropdownContext=new Q("TerminalNewDropdownContext"),Q.TerminalTabContext=new Q("TerminalTabContext"),Q.TerminalTabEmptyAreaContext=new Q("TerminalTabEmptyAreaContext"),Q.TerminalStickyScrollContext=new Q("TerminalStickyScrollContext"),Q.WebviewContext=new Q("WebviewContext"),Q.InlineCompletionsActions=new Q("InlineCompletionsActions"),Q.InlineEditActions=new Q("InlineEditActions"),Q.NewFile=new Q("NewFile"),Q.MergeInput1Toolbar=new Q("MergeToolbar1Toolbar"),Q.MergeInput2Toolbar=new Q("MergeToolbar2Toolbar"),Q.MergeBaseToolbar=new Q("MergeBaseToolbar"),Q.MergeInputResultToolbar=new Q("MergeToolbarResultToolbar"),Q.InlineSuggestionToolbar=new Q("InlineSuggestionToolbar"),Q.InlineEditToolbar=new Q("InlineEditToolbar"),Q.ChatContext=new Q("ChatContext"),Q.ChatCodeBlock=new Q("ChatCodeblock"),Q.ChatMessageTitle=new Q("ChatMessageTitle"),Q.ChatExecute=new Q("ChatExecute"),Q.ChatExecuteSecondary=new Q("ChatExecuteSecondary"),Q.ChatInputSide=new Q("ChatInputSide"),Q.AccessibleView=new Q("AccessibleView"),Q.MultiDiffEditorFileToolbar=new Q("MultiDiffEditorFileToolbar"),Q.DiffEditorHunkToolbar=new Q("DiffEditorHunkToolbar"),Q.DiffEditorSelectionToolbar=new Q("DiffEditorSelectionToolbar");const Gu=Un("menuService");class Eg{static for(e){let t=this._all.get(e);return t||(t=new Eg(e),this._all.set(e,t)),t}static merge(e){const t=new Set;for(const i of e)i instanceof Eg&&t.add(i.id);return t}constructor(e){this.id=e,this.has=t=>t===e}}Eg._all=new Map;const ss=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new Qht({merge:Eg.merge}),this.onDidChangeMenu=this._onDidChangeMenu.event}addCommand(n){return this._commands.set(n.id,n),this._onDidChangeMenu.fire(Eg.for(Q.CommandPalette)),jt(()=>{this._commands.delete(n.id)&&this._onDidChangeMenu.fire(Eg.for(Q.CommandPalette))})}getCommand(n){return this._commands.get(n)}getCommands(){const n=new Map;return this._commands.forEach((e,t)=>n.set(t,e)),n}appendMenuItem(n,e){let t=this._menuItems.get(n);t||(t=new ja,this._menuItems.set(n,t));const i=t.push(e);return this._onDidChangeMenu.fire(Eg.for(n)),jt(()=>{i(),this._onDidChangeMenu.fire(Eg.for(n))})}appendMenuItems(n){const e=new Je;for(const{id:t,item:i}of n)e.add(this.appendMenuItem(t,i));return e}getMenuItems(n){let e;return this._menuItems.has(n)?e=[...this._menuItems.get(n)]:e=[],n===Q.CommandPalette&&this._appendImplicitItems(e),e}_appendImplicitItems(n){const e=new Set;for(const t of n)Lw(t)&&(e.add(t.command.id),t.alt&&e.add(t.alt.id));this._commands.forEach((t,i)=>{e.has(i)||n.push({command:t})})}};class sF extends ww{constructor(e,t,i){super(`submenuitem.${e.submenu.id}`,typeof e.title=="string"?e.title:e.title.value,i,"submenu"),this.item=e,this.hideActions=t}}let Xu=_9=class{static label(e,t){return t!=null&&t.renderShortTitle&&e.shortTitle?typeof e.shortTitle=="string"?e.shortTitle:e.shortTitle.value:typeof e.title=="string"?e.title:e.title.value}constructor(e,t,i,r,o,s){var a,l;this.hideActions=r,this._commandService=s,this.id=e.id,this.label=_9.label(e,i),this.tooltip=(l=typeof e.tooltip=="string"?e.tooltip:(a=e.tooltip)===null||a===void 0?void 0:a.value)!==null&&l!==void 0?l:"",this.enabled=!e.precondition||o.contextMatchesRules(e.precondition),this.checked=void 0;let u;if(e.toggled){const c=e.toggled.condition?e.toggled:{condition:e.toggled};this.checked=o.contextMatchesRules(c.condition),this.checked&&c.tooltip&&(this.tooltip=typeof c.tooltip=="string"?c.tooltip:c.tooltip.value),this.checked&&sn.isThemeIcon(c.icon)&&(u=c.icon),this.checked&&c.title&&(this.label=typeof c.title=="string"?c.title:c.title.value)}u||(u=sn.isThemeIcon(e.icon)?e.icon:void 0),this.item=e,this.alt=t?new _9(t,void 0,i,r,o,s):void 0,this._options=i,this.class=u&&sn.asClassName(u)}run(...e){var t,i;let r=[];return!((t=this._options)===null||t===void 0)&&t.arg&&(r=[...r,this._options.arg]),!((i=this._options)===null||i===void 0)&&i.shouldForwardArgs&&(r=[...r,...e]),this._commandService.executeCommand(this.id,...r)}};Xu=_9=ogt([j0e(4,ln),j0e(5,Xr)],Xu);class el{constructor(e){this.desc=e}}function Ki(n){const e=new Je,t=new n,{f1:i,menu:r,keybinding:o,...s}=t.desc;if($n.getCommand(s.id))throw new Error(`Cannot register two commands with the same id: ${s.id}`);if(e.add($n.registerCommand({id:s.id,handler:(a,...l)=>t.run(a,...l),metadata:s.metadata})),Array.isArray(r))for(const a of r)e.add(ss.appendMenuItem(a.id,{command:{...s,precondition:a.precondition===null?void 0:s.precondition},...a}));else r&&e.add(ss.appendMenuItem(r.id,{command:{...s,precondition:r.precondition===null?void 0:s.precondition},...r}));if(i&&(e.add(ss.appendMenuItem(Q.CommandPalette,{command:s,when:s.precondition})),e.add(ss.addCommand(s))),Array.isArray(o))for(const a of o)e.add(El.registerKeybindingRule({...a,id:s.id,when:s.precondition?Oe.and(s.precondition,a.when):a.when}));else o&&e.add(El.registerKeybindingRule({...o,id:s.id,when:s.precondition?Oe.and(s.precondition,o.when):o.when}));return e}const Rl=Un("telemetryService"),tl=Un("logService");var $s;(function(n){n[n.Off=0]="Off",n[n.Trace=1]="Trace",n[n.Debug=2]="Debug",n[n.Info=3]="Info",n[n.Warning=4]="Warning",n[n.Error=5]="Error"})($s||($s={}));const Q0e=$s.Info;class $0e extends Fe{constructor(){super(...arguments),this.level=Q0e,this._onDidChangeLogLevel=this._register(new be),this.onDidChangeLogLevel=this._onDidChangeLogLevel.event}setLevel(e){this.level!==e&&(this.level=e,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(e){return this.level!==$s.Off&&this.level<=e}}class agt extends $0e{constructor(e=Q0e,t=!0){super(),this.useColors=t,this.setLevel(e)}trace(e,...t){this.checkLogLevel($s.Trace)&&this.useColors}debug(e,...t){this.checkLogLevel($s.Debug)&&this.useColors}info(e,...t){this.checkLogLevel($s.Info)&&this.useColors}warn(e,...t){this.checkLogLevel($s.Warning)&&this.useColors}error(e,...t){this.checkLogLevel($s.Error)&&this.useColors}}class lgt extends $0e{constructor(e){super(),this.loggers=e,e.length&&this.setLevel(e[0].getLevel())}setLevel(e){for(const t of this.loggers)t.setLevel(e);super.setLevel(e)}trace(e,...t){for(const i of this.loggers)i.trace(e,...t)}debug(e,...t){for(const i of this.loggers)i.debug(e,...t)}info(e,...t){for(const i of this.loggers)i.info(e,...t)}warn(e,...t){for(const i of this.loggers)i.warn(e,...t)}error(e,...t){for(const i of this.loggers)i.error(e,...t)}dispose(){for(const e of this.loggers)e.dispose();super.dispose()}}function ugt(n){switch(n){case $s.Trace:return"trace";case $s.Debug:return"debug";case $s.Info:return"info";case $s.Warning:return"warn";case $s.Error:return"error";case $s.Off:return"off"}}new St("logLevel",ugt($s.Info));let L9=class{constructor(e){this.id=e.id,this.precondition=e.precondition,this._kbOpts=e.kbOpts,this._menuOpts=e.menuOpts,this.metadata=e.metadata}register(){if(Array.isArray(this._menuOpts)?this._menuOpts.forEach(this._registerMenuItem,this):this._menuOpts&&this._registerMenuItem(this._menuOpts),this._kbOpts){const e=Array.isArray(this._kbOpts)?this._kbOpts:[this._kbOpts];for(const t of e){let i=t.kbExpr;this.precondition&&(i?i=Oe.and(i,this.precondition):i=this.precondition);const r={id:this.id,weight:t.weight,args:t.args,when:i,primary:t.primary,secondary:t.secondary,win:t.win,linux:t.linux,mac:t.mac};El.registerKeybindingRule(r)}}$n.registerCommand({id:this.id,handler:(e,t)=>this.runCommand(e,t),metadata:this.metadata})}_registerMenuItem(e){ss.appendMenuItem(e.menuId,{group:e.group,command:{id:this.id,title:e.title,icon:e.icon,precondition:this.precondition},when:e.when,order:e.order})}};class Iw extends L9{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t,i,r){return this._implementations.push({priority:e,name:t,implementation:i,when:r}),this._implementations.sort((o,s)=>s.priority-o.priority),{dispose:()=>{for(let o=0;o{if(a.get(ln).contextMatchesRules(i??void 0))return r(a,s,t)})}runCommand(e,t){return Ko.runEditorCommand(e,t,this.precondition,(i,r,o)=>this.runEditorCommand(i,r,o))}}class Nt extends Ko{static convertOptions(e){let t;Array.isArray(e.menuOpts)?t=e.menuOpts:e.menuOpts?t=[e.menuOpts]:t=[];function i(r){return r.menuId||(r.menuId=Q.EditorContext),r.title||(r.title=e.label),r.when=Oe.and(e.precondition,r.when),r}return Array.isArray(e.contextMenuOpts)?t.push(...e.contextMenuOpts.map(i)):e.contextMenuOpts&&t.push(i(e.contextMenuOpts)),e.menuOpts=t,e}constructor(e){super(Nt.convertOptions(e)),this.label=e.label,this.alias=e.alias}runEditorCommand(e,t,i){return this.reportTelemetry(e,t),this.run(e,t,i||{})}reportTelemetry(e,t){e.get(Rl).publicLog2("editorActionInvoked",{name:this.label,id:this.id})}}class e1e extends Nt{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t){return this._implementations.push([e,t]),this._implementations.sort((i,r)=>r[0]-i[0]),{dispose:()=>{for(let i=0;i{var s,a;const l=o.get(ln),u=o.get(tl);if(!l.contextMatchesRules((s=this.desc.precondition)!==null&&s!==void 0?s:void 0)){u.debug("[EditorAction2] NOT running command because its precondition is FALSE",this.desc.id,(a=this.desc.precondition)===null||a===void 0?void 0:a.serialize());return}return this.runEditorCommand(o,r,...t)})}}function zm(n,e){$n.registerCommand(n,function(t,...i){const r=t.get($t),[o,s]=i;hi(en.isUri(o)),hi(ve.isIPosition(s));const a=t.get(wr).getModel(o);if(a){const l=ve.lift(s);return r.invokeFunction(e,a,l,...i.slice(2))}return t.get(kl).createModelReference(o).then(l=>new Promise((u,c)=>{try{const d=r.invokeFunction(e,l.object.textEditorModel,ve.lift(s),i.slice(2));u(d)}catch(d){c(d)}}).finally(()=>{l.dispose()}))})}function gt(n){return Nc.INSTANCE.registerEditorCommand(n),n}function tt(n){const e=new n;return Nc.INSTANCE.registerEditorAction(e),e}function t1e(n){return Nc.INSTANCE.registerEditorAction(n),n}function cgt(n){Nc.INSTANCE.registerEditorAction(n)}function vi(n,e,t){Nc.INSTANCE.registerEditorContribution(n,e,t)}var Fw;(function(n){function e(s){return Nc.INSTANCE.getEditorCommand(s)}n.getEditorCommand=e;function t(){return Nc.INSTANCE.getEditorActions()}n.getEditorActions=t;function i(){return Nc.INSTANCE.getEditorContributions()}n.getEditorContributions=i;function r(s){return Nc.INSTANCE.getEditorContributions().filter(a=>s.indexOf(a.id)>=0)}n.getSomeEditorContributions=r;function o(){return Nc.INSTANCE.getDiffEditorContributions()}n.getDiffEditorContributions=o})(Fw||(Fw={}));const dgt={EditorCommonContributions:"editor.contributions"};class Nc{constructor(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}registerEditorContribution(e,t,i){this.editorContributions.push({id:e,ctor:t,instantiation:i})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(e){e.register(),this.editorActions.push(e)}getEditorActions(){return this.editorActions}registerEditorCommand(e){e.register(),this.editorCommands[e.id]=e}getEditorCommand(e){return this.editorCommands[e]||null}}Nc.INSTANCE=new Nc,Do.add(dgt.EditorCommonContributions,Nc.INSTANCE);function aF(n){return n.register(),n}const n1e=aF(new Iw({id:"undo",precondition:void 0,kbOpts:{weight:0,primary:2104},menuOpts:[{menuId:Q.MenubarEditMenu,group:"1_do",title:_({key:"miUndo",comment:["&& denotes a mnemonic"]},"&&Undo"),order:1},{menuId:Q.CommandPalette,group:"",title:_("undo","Undo"),order:1}]}));aF(new q0e(n1e,{id:"default:undo",precondition:void 0}));const i1e=aF(new Iw({id:"redo",precondition:void 0,kbOpts:{weight:0,primary:2103,secondary:[3128],mac:{primary:3128}},menuOpts:[{menuId:Q.MenubarEditMenu,group:"1_do",title:_({key:"miRedo",comment:["&& denotes a mnemonic"]},"&&Redo"),order:2},{menuId:Q.CommandPalette,group:"",title:_("redo","Redo"),order:1}]}));aF(new q0e(i1e,{id:"default:redo",precondition:void 0}));const hgt=aF(new Iw({id:"editor.action.selectAll",precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2079},menuOpts:[{menuId:Q.MenubarSelectionMenu,group:"1_basic",title:_({key:"miSelectAll",comment:["&& denotes a mnemonic"]},"&&Select All"),order:1},{menuId:Q.CommandPalette,group:"",title:_("selectAll","Select All"),order:1}]}));let J=class Ps{constructor(e,t,i,r){e>i||e===i&&t>r?(this.startLineNumber=i,this.startColumn=r,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=i,this.endColumn=r)}isEmpty(){return Ps.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return Ps.containsPosition(this,e)}static containsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.columne.endColumn)}static strictContainsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.column<=e.startColumn||t.lineNumber===e.endLineNumber&&t.column>=e.endColumn)}containsRange(e){return Ps.containsRange(this,e)}static containsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)}strictContainsRange(e){return Ps.strictContainsRange(this,e)}static strictContainsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn||t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)}plusRange(e){return Ps.plusRange(this,e)}static plusRange(e,t){let i,r,o,s;return t.startLineNumbere.endLineNumber?(o=t.endLineNumber,s=t.endColumn):t.endLineNumber===e.endLineNumber?(o=t.endLineNumber,s=Math.max(t.endColumn,e.endColumn)):(o=e.endLineNumber,s=e.endColumn),new Ps(i,r,o,s)}intersectRanges(e){return Ps.intersectRanges(this,e)}static intersectRanges(e,t){let i=e.startLineNumber,r=e.startColumn,o=e.endLineNumber,s=e.endColumn;const a=t.startLineNumber,l=t.startColumn,u=t.endLineNumber,c=t.endColumn;return iu?(o=u,s=c):o===u&&(s=Math.min(s,c)),i>o||i===o&&r>s?null:new Ps(i,r,o,s)}equalsRange(e){return Ps.equalsRange(this,e)}static equalsRange(e,t){return!e&&!t?!0:!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return Ps.getEndPosition(this)}static getEndPosition(e){return new ve(e.endLineNumber,e.endColumn)}getStartPosition(){return Ps.getStartPosition(this)}static getStartPosition(e){return new ve(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,t){return new Ps(this.startLineNumber,this.startColumn,e,t)}setStartPosition(e,t){return new Ps(e,t,this.endLineNumber,this.endColumn)}collapseToStart(){return Ps.collapseToStart(this)}static collapseToStart(e){return new Ps(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}collapseToEnd(){return Ps.collapseToEnd(this)}static collapseToEnd(e){return new Ps(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn)}delta(e){return new Ps(this.startLineNumber+e,this.startColumn,this.endLineNumber+e,this.endColumn)}static fromPositions(e,t=e){return new Ps(e.lineNumber,e.column,t.lineNumber,t.column)}static lift(e){return e?new Ps(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):null}static isIRange(e){return e&&typeof e.startLineNumber=="number"&&typeof e.startColumn=="number"&&typeof e.endLineNumber=="number"&&typeof e.endColumn=="number"}static areIntersectingOrTouching(e,t){return!(e.endLineNumbere.startLineNumber}toJSON(){return this}},Zt=class $d extends J{constructor(e,t,i,r){super(e,t,i,r),this.selectionStartLineNumber=e,this.selectionStartColumn=t,this.positionLineNumber=i,this.positionColumn=r}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(e){return $d.selectionsEqual(this,e)}static selectionsEqual(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(e,t){return this.getDirection()===0?new $d(this.startLineNumber,this.startColumn,e,t):new $d(e,t,this.startLineNumber,this.startColumn)}getPosition(){return new ve(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new ve(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(e,t){return this.getDirection()===0?new $d(e,t,this.endLineNumber,this.endColumn):new $d(this.endLineNumber,this.endColumn,e,t)}static fromPositions(e,t=e){return new $d(e.lineNumber,e.column,t.lineNumber,t.column)}static fromRange(e,t){return t===0?new $d(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):new $d(e.endLineNumber,e.endColumn,e.startLineNumber,e.startColumn)}static liftSelection(e){return new $d(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)}static selectionsArrEqual(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(let i=0,r=e.length;i0&&n.getLanguageId(s-1)===r;)s--;return new mgt(n,r,s,o+1,n.getStartOffset(s),n.getEndOffset(o))}class mgt{constructor(e,t,i,r,o,s){this._scopedLineTokensBrand=void 0,this._actual=e,this.languageId=t,this._firstTokenIndex=i,this._lastTokenIndex=r,this.firstCharOffset=o,this._lastCharOffset=s}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getActualLineContentBefore(e){return this._actual.getLineContent().substring(0,this.firstCharOffset+e)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(e){return this._actual.findTokenIndexAtOffset(e+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(e){return this._actual.getStandardTokenType(e+this._firstTokenIndex)}}function Hm(n){return(n&3)!==0}class Jo{static _nextVisibleColumn(e,t,i){return e===9?Jo.nextRenderTabStop(t,i):Ob(e)||aY(e)?t+2:t+1}static visibleColumnFromColumn(e,t,i){const r=Math.min(t-1,e.length),o=e.substring(0,r),s=new JR(o);let a=0;for(;!s.eol();){const l=KR(o,r,s.offset);s.nextGraphemeLength(),a=this._nextVisibleColumn(l,a,i)}return a}static columnFromVisibleColumn(e,t,i){if(t<=0)return 1;const r=e.length,o=new JR(e);let s=0,a=1;for(;!o.eol();){const l=KR(e,r,o.offset);o.nextGraphemeLength();const u=this._nextVisibleColumn(l,s,i),c=o.offset+1;if(u>=t){const d=t-s;return u-t!0,pgt=()=>!1,bgt=n=>n===" "||n===" ";class Dw{static shouldRecreate(e){return e.hasChanged(145)||e.hasChanged(131)||e.hasChanged(37)||e.hasChanged(77)||e.hasChanged(79)||e.hasChanged(80)||e.hasChanged(6)||e.hasChanged(7)||e.hasChanged(11)||e.hasChanged(9)||e.hasChanged(10)||e.hasChanged(14)||e.hasChanged(128)||e.hasChanged(50)||e.hasChanged(91)||e.hasChanged(130)}constructor(e,t,i,r){var o;this.languageConfigurationService=r,this._cursorMoveConfigurationBrand=void 0,this._languageId=e;const s=i.options,a=s.get(145),l=s.get(50);this.readOnly=s.get(91),this.tabSize=t.tabSize,this.indentSize=t.indentSize,this.insertSpaces=t.insertSpaces,this.stickyTabStops=s.get(116),this.lineHeight=l.lineHeight,this.typicalHalfwidthCharacterWidth=l.typicalHalfwidthCharacterWidth,this.pageSize=Math.max(1,Math.floor(a.height/this.lineHeight)-2),this.useTabStops=s.get(128),this.wordSeparators=s.get(131),this.emptySelectionClipboard=s.get(37),this.copyWithSyntaxHighlighting=s.get(25),this.multiCursorMergeOverlapping=s.get(77),this.multiCursorPaste=s.get(79),this.multiCursorLimit=s.get(80),this.autoClosingBrackets=s.get(6),this.autoClosingComments=s.get(7),this.autoClosingQuotes=s.get(11),this.autoClosingDelete=s.get(9),this.autoClosingOvertype=s.get(10),this.autoSurround=s.get(14),this.autoIndent=s.get(12),this.wordSegmenterLocales=s.get(130),this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:this._getShouldAutoClose(e,this.autoClosingQuotes,!0),comment:this._getShouldAutoClose(e,this.autoClosingComments,!1),bracket:this._getShouldAutoClose(e,this.autoClosingBrackets,!1)},this.autoClosingPairs=this.languageConfigurationService.getLanguageConfiguration(e).getAutoClosingPairs();const u=this.languageConfigurationService.getLanguageConfiguration(e).getSurroundingPairs();if(u)for(const d of u)this.surroundingPairs[d.open]=d.close;const c=this.languageConfigurationService.getLanguageConfiguration(e).comments;this.blockCommentStartToken=(o=c==null?void 0:c.blockCommentStartToken)!==null&&o!==void 0?o:null}get electricChars(){var e;if(!this._electricChars){this._electricChars={};const t=(e=this.languageConfigurationService.getLanguageConfiguration(this._languageId).electricCharacter)===null||e===void 0?void 0:e.getElectricCharacters();if(t)for(const i of t)this._electricChars[i]=!0}return this._electricChars}onElectricCharacter(e,t,i){const r=I9(t,i-1),o=this.languageConfigurationService.getLanguageConfiguration(r.languageId).electricCharacter;return o?o.onElectricCharacter(e,r,i-r.firstCharOffset):null}normalizeIndentation(e){return F9(e,this.indentSize,this.insertSpaces)}_getShouldAutoClose(e,t,i){switch(t){case"beforeWhitespace":return bgt;case"languageDefined":return this._getLanguageDefinedShouldAutoClose(e,i);case"always":return ggt;case"never":return pgt}}_getLanguageDefinedShouldAutoClose(e,t){const i=this.languageConfigurationService.getLanguageConfiguration(e).getAutoCloseBeforeSet(t);return r=>i.indexOf(r)!==-1}visibleColumnFromColumn(e,t){return Jo.visibleColumnFromColumn(e.getLineContent(t.lineNumber),t.column,this.tabSize)}columnFromVisibleColumn(e,t,i){const r=Jo.columnFromVisibleColumn(e.getLineContent(t),i,this.tabSize),o=e.getLineMinColumn(t);if(rs?s:r}}let si=class sTe{static fromModelState(e){return new ygt(e)}static fromViewState(e){return new vgt(e)}static fromModelSelection(e){const t=Zt.liftSelection(e),i=new Ms(J.fromPositions(t.getSelectionStart()),0,0,t.getPosition(),0);return sTe.fromModelState(i)}static fromModelSelections(e){const t=[];for(let i=0,r=e.length;io,u=r>s,c=rs||yr||b0&&r--,tv.columnSelect(e,t,i.fromViewLineNumber,i.fromViewVisualColumn,i.toViewLineNumber,r)}static columnSelectRight(e,t,i){let r=0;const o=Math.min(i.fromViewLineNumber,i.toViewLineNumber),s=Math.max(i.fromViewLineNumber,i.toViewLineNumber);for(let l=o;l<=s;l++){const u=t.getLineMaxColumn(l),c=e.visibleColumnFromColumn(t,new ve(l,u));r=Math.max(r,c)}let a=i.toViewVisualColumn;return ae.getLineMinColumn(t.lineNumber))return t.delta(void 0,-o0e(e.getLineContent(t.lineNumber),t.column-1));if(t.lineNumber>1){const i=t.lineNumber-1;return new ve(i,e.getLineMaxColumn(i))}else return t}static leftPositionAtomicSoftTabs(e,t,i){if(t.column<=e.getLineIndentColumn(t.lineNumber)){const r=e.getLineMinColumn(t.lineNumber),o=e.getLineContent(t.lineNumber),s=lF.atomicPosition(o,t.column-1,i,0);if(s!==-1&&s+1>=r)return new ve(t.lineNumber,s+1)}return this.leftPosition(e,t)}static left(e,t,i){const r=e.stickyTabStops?Fi.leftPositionAtomicSoftTabs(t,i,e.tabSize):Fi.leftPosition(t,i);return new AY(r.lineNumber,r.column,0)}static moveLeft(e,t,i,r,o){let s,a;if(i.hasSelection()&&!r)s=i.selection.startLineNumber,a=i.selection.startColumn;else{const l=i.position.delta(void 0,-(o-1)),u=t.normalizePosition(Fi.clipPositionColumn(l,t),0),c=Fi.left(e,t,u);s=c.lineNumber,a=c.column}return i.move(r,s,a,0)}static clipPositionColumn(e,t){return new ve(e.lineNumber,Fi.clipRange(e.column,t.getLineMinColumn(e.lineNumber),t.getLineMaxColumn(e.lineNumber)))}static clipRange(e,t,i){return ei?i:e}static rightPosition(e,t,i){return ic?(i=c,a?r=t.getLineMaxColumn(i):r=Math.min(t.getLineMaxColumn(i),r)):r=e.columnFromVisibleColumn(t,i,u),m?o=0:o=u-Jo.visibleColumnFromColumn(t.getLineContent(i),r,e.tabSize),l!==void 0){const f=new ve(i,r),g=t.normalizePosition(f,l);o=o+(r-g.column),i=g.lineNumber,r=g.column}return new AY(i,r,o)}static down(e,t,i,r,o,s,a){return this.vertical(e,t,i,r,o,i+s,a,4)}static moveDown(e,t,i,r,o){let s,a;i.hasSelection()&&!r?(s=i.selection.endLineNumber,a=i.selection.endColumn):(s=i.position.lineNumber,a=i.position.column);let l=0,u;do if(u=Fi.down(e,t,s+l,a,i.leftoverVisibleColumns,o,!0),t.normalizePosition(new ve(u.lineNumber,u.column),2).lineNumber>s)break;while(l++<10&&s+l1&&this._isBlankLine(t,o);)o--;for(;o>1&&!this._isBlankLine(t,o);)o--;return i.move(r,o,t.getLineMinColumn(o),0)}static moveToNextBlankLine(e,t,i,r){const o=t.getLineCount();let s=i.position.lineNumber;for(;s=h.length+1)return!1;const m=h.charAt(d.column-2),f=r.get(m);if(!f)return!1;if($b(m)){if(i==="never")return!1}else if(t==="never")return!1;const g=h.charAt(d.column-1);let b=!1;for(const y of f)y.open===m&&y.close===g&&(b=!0);if(!b)return!1;if(e==="auto"){let y=!1;for(let C=0,w=a.length;C1){const o=t.getLineContent(r.lineNumber),s=La(o),a=s===-1?o.length+1:s+1;if(r.column<=a){const l=i.visibleColumnFromColumn(t,r),u=Jo.prevIndentTabStop(l,i.indentSize),c=i.columnFromVisibleColumn(t,r.lineNumber,u);return new J(r.lineNumber,c,r.lineNumber,r.column)}}return J.fromPositions(nv.getPositionAfterDeleteLeft(r,t),r)}static getPositionAfterDeleteLeft(e,t){if(e.column>1){const i=Gmt(e.column-1,t.getLineContent(e.lineNumber));return e.with(void 0,i+1)}else if(e.lineNumber>1){const i=e.lineNumber-1;return new ve(i,t.getLineMaxColumn(i))}else return e}static cut(e,t,i){const r=[];let o=null;i.sort((s,a)=>ve.compare(s.getStartPosition(),a.getEndPosition()));for(let s=0,a=i.length;s1&&(o==null?void 0:o.endLineNumber)!==u.lineNumber?(c=u.lineNumber-1,d=t.getLineMaxColumn(u.lineNumber-1),h=u.lineNumber,m=t.getLineMaxColumn(u.lineNumber)):(c=u.lineNumber,d=1,h=u.lineNumber,m=t.getLineMaxColumn(u.lineNumber));const f=new J(c,d,h,m);o=f,f.isEmpty()?r[s]=null:r[s]=new qs(f,"")}else r[s]=null;else r[s]=new qs(l,"")}return new Zl(0,r,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}var r1e,o1e;class Sgt{constructor(e,t){this.uri=e,this.value=t}}function wgt(n){return Array.isArray(n)}class to{constructor(e,t){if(this[r1e]="ResourceMap",e instanceof to)this.map=new Map(e.map),this.toKey=t??to.defaultToKey;else if(wgt(e)){this.map=new Map,this.toKey=t??to.defaultToKey;for(const[i,r]of e)this.set(i,r)}else this.map=new Map,this.toKey=e??to.defaultToKey}set(e,t){return this.map.set(this.toKey(e),new Sgt(e,t)),this}get(e){var t;return(t=this.map.get(this.toKey(e)))===null||t===void 0?void 0:t.value}has(e){return this.map.has(this.toKey(e))}get size(){return this.map.size}clear(){this.map.clear()}delete(e){return this.map.delete(this.toKey(e))}forEach(e,t){typeof t<"u"&&(e=e.bind(t));for(const[i,r]of this.map)e(r.value,r.uri,this)}*values(){for(const e of this.map.values())yield e.value}*keys(){for(const e of this.map.values())yield e.uri}*entries(){for(const e of this.map.values())yield[e.uri,e.value]}*[(r1e=Symbol.toStringTag,Symbol.iterator)](){for(const[,e]of this.map)yield[e.uri,e.value]}}to.defaultToKey=n=>n.toString();class xgt{constructor(){this[o1e]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return(e=this._head)===null||e===void 0?void 0:e.value}get last(){var e;return(e=this._tail)===null||e===void 0?void 0:e.value}has(e){return this._map.has(e)}get(e,t=0){const i=this._map.get(e);if(i)return t!==0&&this.touch(i,t),i.value}set(e,t,i=0){let r=this._map.get(e);if(r)r.value=t,i!==0&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case 0:this.addItemLast(r);break;case 1:this.addItemFirst(r);break;case 2:this.addItemLast(r);break;default:this.addItemLast(r);break}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const i=this._state;let r=this._head;for(;r;){if(t?e.bind(t)(r.value,r.key,this):e(r.value,r.key,this),this._state!==i)throw new Error("LinkedMap got modified during iteration.");r=r.next}}keys(){const e=this,t=this._state;let i=this._head;const r={[Symbol.iterator](){return r},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const o={value:i.key,done:!1};return i=i.next,o}else return{value:void 0,done:!0}}};return r}values(){const e=this,t=this._state;let i=this._head;const r={[Symbol.iterator](){return r},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const o={value:i.value,done:!1};return i=i.next,o}else return{value:void 0,done:!0}}};return r}entries(){const e=this,t=this._state;let i=this._head;const r={[Symbol.iterator](){return r},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const o={value:[i.key,i.value],done:!1};return i=i.next,o}else return{value:void 0,done:!0}}};return r}[(o1e=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._head,i=this.size;for(;t&&i>e;)this._map.delete(t.key),t=t.next,i--;this._head=t,this._size=i,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,i=e.previous;if(!t||!i)throw new Error("Invalid list");t.previous=i,i.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(t!==1&&t!==2)){if(t===1){if(e===this._head)return;const i=e.next,r=e.previous;e===this._tail?(r.next=void 0,this._tail=r):(i.previous=r,r.next=i),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===2){if(e===this._tail)return;const i=e.next,r=e.previous;e===this._head?(i.previous=void 0,this._head=i):(i.previous=r,r.next=i),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){const e=[];return this.forEach((t,i)=>{e.push([i,t])}),e}fromJSON(e){this.clear();for(const[t,i]of e)this.set(t,i)}}class Rg extends xgt{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get(e,t=2){return super.get(e,t)}peek(e){return super.get(e,0)}set(e,t){return super.set(e,t,2),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}class _gt{constructor(e){if(this._m1=new Map,this._m2=new Map,e)for(const[t,i]of e)this.set(t,i)}clear(){this._m1.clear(),this._m2.clear()}set(e,t){this._m1.set(e,t),this._m2.set(t,e)}get(e){return this._m1.get(e)}getKey(e){return this._m2.get(e)}delete(e){const t=this._m1.get(e);return t===void 0?!1:(this._m1.delete(e),this._m2.delete(t),!0)}keys(){return this._m1.keys()}values(){return this._m1.values()}}class VY{constructor(){this.map=new Map}add(e,t){let i=this.map.get(e);i||(i=new Set,this.map.set(e,i)),i.add(t)}delete(e,t){const i=this.map.get(e);i&&(i.delete(t),i.size===0&&this.map.delete(e))}forEach(e,t){const i=this.map.get(e);i&&i.forEach(t)}get(e){const t=this.map.get(e);return t||new Set}}function M9(n){return n<0?0:n>255?255:n|0}function Nw(n){return n<0?0:n>4294967295?4294967295:n|0}class Mw{constructor(e){const t=M9(e);this._defaultValue=t,this._asciiMap=Mw._createAsciiMap(t),this._map=new Map}static _createAsciiMap(e){const t=new Uint8Array(256);return t.fill(e),t}set(e,t){const i=M9(t);e>=0&&e<256?this._asciiMap[e]=i:this._map.set(e,i)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}class k9{constructor(){this._actual=new Mw(0)}add(e){this._actual.set(e,1)}has(e){return this._actual.get(e)===1}clear(){return this._actual.clear()}}class Lgt extends Mw{constructor(e,t){super(0),this._segmenter=null,this._cachedLine=null,this._cachedSegments=[],this.intlSegmenterLocales=t,this.intlSegmenterLocales.length>0?this._segmenter=new Intl.Segmenter(this.intlSegmenterLocales,{granularity:"word"}):this._segmenter=null;for(let i=0,r=e.length;it)break;i=r}return i}findNextIntlWordAtOrAfterOffset(e,t){for(const i of this._getIntlSegmenterWordsOnLine(e))if(!(i.index=0;s--){const a=e.charCodeAt(s),l=t.get(a);if(o&&s===o.index)return this._createIntlWord(o,l);if(l===0){if(r===2)return this._createWord(e,r,l,s+1,this._findEndOfWord(e,t,r,s+1));r=1}else if(l===2){if(r===1)return this._createWord(e,r,l,s+1,this._findEndOfWord(e,t,r,s+1));r=2}else if(l===1&&r!==0)return this._createWord(e,r,l,s+1,this._findEndOfWord(e,t,r,s+1))}return r!==0?this._createWord(e,r,1,0,this._findEndOfWord(e,t,r,0)):null}static _findEndOfWord(e,t,i,r){const o=t.findNextIntlWordAtOrAfterOffset(e,r),s=e.length;for(let a=r;a=0;s--){const a=e.charCodeAt(s),l=t.get(a);if(o&&s===o.index)return s;if(l===1||i===1&&l===2||i===2&&l===0)return s+1}return 0}static moveWordLeft(e,t,i,r){let o=i.lineNumber,s=i.column;s===1&&o>1&&(o=o-1,s=t.getLineMaxColumn(o));let a=Si._findPreviousWordOnLine(e,t,new ve(o,s));if(r===0)return new ve(o,a?a.start+1:1);if(r===1)return a&&a.wordType===2&&a.end-a.start===1&&a.nextCharClass===0&&(a=Si._findPreviousWordOnLine(e,t,new ve(o,a.start+1))),new ve(o,a?a.start+1:1);if(r===3){for(;a&&a.wordType===2;)a=Si._findPreviousWordOnLine(e,t,new ve(o,a.start+1));return new ve(o,a?a.start+1:1)}return a&&s<=a.end+1&&(a=Si._findPreviousWordOnLine(e,t,new ve(o,a.start+1))),new ve(o,a?a.end+1:1)}static _moveWordPartLeft(e,t){const i=t.lineNumber,r=e.getLineMaxColumn(i);if(t.column===1)return i>1?new ve(i-1,e.getLineMaxColumn(i-1)):t;const o=e.getLineContent(i);for(let s=t.column-1;s>1;s--){const a=o.charCodeAt(s-2),l=o.charCodeAt(s-1);if(a===95&&l!==95)return new ve(i,s);if(a===45&&l!==45)return new ve(i,s);if((Xb(a)||YR(a))&&Om(l))return new ve(i,s);if(Om(a)&&Om(l)&&s+1=l.start+1&&(l=Si._findNextWordOnLine(e,t,new ve(o,l.end+1))),l?s=l.start+1:s=t.getLineMaxColumn(o);return new ve(o,s)}static _moveWordPartRight(e,t){const i=t.lineNumber,r=e.getLineMaxColumn(i);if(t.column===r)return i1?u=1:(l--,u=r.getLineMaxColumn(l)):(c&&u<=c.end+1&&(c=Si._findPreviousWordOnLine(i,r,new ve(l,c.start+1))),c?u=c.end+1:u>1?u=1:(l--,u=r.getLineMaxColumn(l))),new J(l,u,a.lineNumber,a.column)}static deleteInsideWord(e,t,i){if(!i.isEmpty())return i;const r=new ve(i.positionLineNumber,i.positionColumn),o=this._deleteInsideWordWhitespace(t,r);return o||this._deleteInsideWordDetermineDeleteRange(e,t,r)}static _charAtIsWhitespace(e,t){const i=e.charCodeAt(t);return i===32||i===9}static _deleteInsideWordWhitespace(e,t){const i=e.getLineContent(t.lineNumber),r=i.length;if(r===0)return null;let o=Math.max(t.column-2,0);if(!this._charAtIsWhitespace(i,o))return null;let s=Math.min(t.column-1,r-1);if(!this._charAtIsWhitespace(i,s))return null;for(;o>0&&this._charAtIsWhitespace(i,o-1);)o--;for(;s+11?new J(i.lineNumber-1,t.getLineMaxColumn(i.lineNumber-1),i.lineNumber,1):i.lineNumberd.start+1<=i.column&&i.column<=d.end+1,a=(d,h)=>(d=Math.min(d,i.column),h=Math.max(h,i.column),new J(i.lineNumber,d,i.lineNumber,h)),l=d=>{let h=d.start+1,m=d.end+1,f=!1;for(;m-11&&this._charAtIsWhitespace(r,h-2);)h--;return a(h,m)},u=Si._findPreviousWordOnLine(e,t,i);if(u&&s(u))return l(u);const c=Si._findNextWordOnLine(e,t,i);return c&&s(c)?l(c):u&&c?a(u.end+1,c.start+1):u?a(u.start+1,u.end+1):c?a(c.start+1,c.end+1):a(1,o+1)}static _deleteWordPartLeft(e,t){if(!t.isEmpty())return t;const i=t.getPosition(),r=Si._moveWordPartLeft(e,i);return new J(i.lineNumber,i.column,r.lineNumber,r.column)}static _findFirstNonWhitespaceChar(e,t){const i=e.length;for(let r=t;r=h.start+1&&(h=Si._findNextWordOnLine(i,r,new ve(l,h.end+1))),h?u=h.start+1:u!!e)}class ks{static addCursorDown(e,t,i){const r=[];let o=0;for(let s=0,a=t.length;su&&(c=u,d=e.model.getLineMaxColumn(c)),si.fromModelState(new Ms(new J(s.lineNumber,1,c,d),2,0,new ve(c,d),0))}const l=t.modelState.selectionStart.getStartPosition().lineNumber;if(s.lineNumberl){const u=e.getLineCount();let c=a.lineNumber+1,d=1;return c>u&&(c=u,d=e.getLineMaxColumn(c)),si.fromViewState(t.viewState.move(!0,c,d,0))}else{const u=t.modelState.selectionStart.getEndPosition();return si.fromModelState(t.modelState.move(!0,u.lineNumber,u.column,0))}}static word(e,t,i,r){const o=e.model.validatePosition(r);return si.fromModelState(Si.word(e.cursorConfig,e.model,t.modelState,i,o))}static cancelSelection(e,t){if(!t.modelState.hasSelection())return new si(t.modelState,t.viewState);const i=t.viewState.position.lineNumber,r=t.viewState.position.column;return si.fromViewState(new Ms(new J(i,r,i,r),0,0,new ve(i,r),0))}static moveTo(e,t,i,r,o){if(i){if(t.modelState.selectionStartKind===1)return this.word(e,t,i,r);if(t.modelState.selectionStartKind===2)return this.line(e,t,i,r,o)}const s=e.model.validatePosition(r),a=o?e.coordinatesConverter.validateViewPosition(new ve(o.lineNumber,o.column),s):e.coordinatesConverter.convertModelPositionToViewPosition(s);return si.fromViewState(t.viewState.move(i,a.lineNumber,a.column,0))}static simpleMove(e,t,i,r,o,s){switch(i){case 0:return s===4?this._moveHalfLineLeft(e,t,r):this._moveLeft(e,t,r,o);case 1:return s===4?this._moveHalfLineRight(e,t,r):this._moveRight(e,t,r,o);case 2:return s===2?this._moveUpByViewLines(e,t,r,o):this._moveUpByModelLines(e,t,r,o);case 3:return s===2?this._moveDownByViewLines(e,t,r,o):this._moveDownByModelLines(e,t,r,o);case 4:return s===2?t.map(a=>si.fromViewState(Fi.moveToPrevBlankLine(e.cursorConfig,e,a.viewState,r))):t.map(a=>si.fromModelState(Fi.moveToPrevBlankLine(e.cursorConfig,e.model,a.modelState,r)));case 5:return s===2?t.map(a=>si.fromViewState(Fi.moveToNextBlankLine(e.cursorConfig,e,a.viewState,r))):t.map(a=>si.fromModelState(Fi.moveToNextBlankLine(e.cursorConfig,e.model,a.modelState,r)));case 6:return this._moveToViewMinColumn(e,t,r);case 7:return this._moveToViewFirstNonWhitespaceColumn(e,t,r);case 8:return this._moveToViewCenterColumn(e,t,r);case 9:return this._moveToViewMaxColumn(e,t,r);case 10:return this._moveToViewLastNonWhitespaceColumn(e,t,r);default:return null}}static viewportMove(e,t,i,r,o){const s=e.getCompletelyVisibleViewRange(),a=e.coordinatesConverter.convertViewRangeToModelRange(s);switch(i){case 11:{const l=this._firstLineNumberInRange(e.model,a,o),u=e.model.getLineFirstNonWhitespaceColumn(l);return[this._moveToModelPosition(e,t[0],r,l,u)]}case 13:{const l=this._lastLineNumberInRange(e.model,a,o),u=e.model.getLineFirstNonWhitespaceColumn(l);return[this._moveToModelPosition(e,t[0],r,l,u)]}case 12:{const l=Math.round((a.startLineNumber+a.endLineNumber)/2),u=e.model.getLineFirstNonWhitespaceColumn(l);return[this._moveToModelPosition(e,t[0],r,l,u)]}case 14:{const l=[];for(let u=0,c=t.length;ui.endLineNumber-1?s=i.endLineNumber-1:osi.fromViewState(Fi.moveLeft(e.cursorConfig,e,o.viewState,i,r)))}static _moveHalfLineLeft(e,t,i){const r=[];for(let o=0,s=t.length;osi.fromViewState(Fi.moveRight(e.cursorConfig,e,o.viewState,i,r)))}static _moveHalfLineRight(e,t,i){const r=[];for(let o=0,s=t.length;o/?";function Igt(n=""){let e="(-?\\d*\\.\\d\\w*)|([^";for(const t of a1e)n.indexOf(t)>=0||(e+="\\"+t);return e+="\\s]+)",new RegExp(e,"g")}const XY=Igt();function PY(n){let e=XY;if(n&&n instanceof RegExp)if(n.global)e=n;else{let t="g";n.ignoreCase&&(t+="i"),n.multiline&&(t+="m"),n.unicode&&(t+="u"),e=new RegExp(n.source,t)}return e.lastIndex=0,e}const l1e=new ja;l1e.unshift({maxLen:1e3,windowSize:15,timeBudget:150});function cI(n,e,t,i,r){if(e=PY(e),r||(r=Qn.first(l1e)),t.length>r.maxLen){let u=n-r.maxLen/2;return u<0?u=0:i+=u,t=t.substring(u,n+r.maxLen/2),cI(n,e,t,i,r)}const o=Date.now(),s=n-1-i;let a=-1,l=null;for(let u=1;!(Date.now()-o>=r.timeBudget);u++){const c=s-r.windowSize*u;e.lastIndex=Math.max(0,c);const d=Dgt(e,t,s,a);if(!d&&l||(l=d,c<=0))break;a=c}if(l){const u={word:l[0],startColumn:i+1+l.index,endColumn:i+1+l.index+l[0].length};return e.lastIndex=0,u}return null}function Dgt(n,e,t,i){let r;for(;r=n.exec(e);){const o=r.index||0;if(o<=t&&n.lastIndex>=t)return r;if(i>0&&o>i)return null}return null}class NS{constructor(e){if(e.autoClosingPairs?this._autoClosingPairs=e.autoClosingPairs.map(t=>new GY(t)):e.brackets?this._autoClosingPairs=e.brackets.map(t=>new GY({open:t[0],close:t[1]})):this._autoClosingPairs=[],e.__electricCharacterSupport&&e.__electricCharacterSupport.docComment){const t=e.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new GY({open:t.open,close:t.close||""}))}this._autoCloseBeforeForQuotes=typeof e.autoCloseBefore=="string"?e.autoCloseBefore:NS.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets=typeof e.autoCloseBefore=="string"?e.autoCloseBefore:NS.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=e.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(e){return e?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}}NS.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=`;:.,=}])> - `,NS.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS=`'"\`;:.,=}])> - `;function Tc(n,e=0){return n[n.length-(1+e)]}function Mgt(n){if(n.length===0)throw new Error("Invalid tail call");return[n.slice(0,n.length-1),n[n.length-1]]}function kr(n,e,t=(i,r)=>i===r){if(n===e)return!0;if(!n||!e||n.length!==e.length)return!1;for(let i=0,r=n.length;it(n[i],e))}function Ngt(n,e){let t=0,i=n-1;for(;t<=i;){const r=(t+i)/2|0,o=e(r);if(o<0)t=r+1;else if(o>0)i=r-1;else return r}return-(t+1)}function OY(n,e,t){if(n=n|0,n>=e.length)throw new TypeError("invalid index");const i=e[Math.floor(e.length*Math.random())],r=[],o=[],s=[];for(const a of e){const l=t(a,i);l<0?r.push(a):l>0?o.push(a):s.push(a)}return n!!e)}function d1e(n){let e=0;for(let t=0;t0}function Wg(n,e=t=>t){const t=new Set;return n.filter(i=>{const r=e(i);return t.has(r)?!1:(t.add(r),!0)})}function zY(n,e){return n.length>0?n[0]:e}function Rl(n,e){let t=typeof e=="number"?n:0;typeof e=="number"?t=n:(t=0,e=n);const i=[];if(t<=e)for(let r=t;re;r--)i.push(r);return i}function W9(n,e,t){const i=n.slice(0,e),r=n.slice(e);return i.concat(t,r)}function HY(n,e){const t=n.indexOf(e);t>-1&&(n.splice(t,1),n.unshift(e))}function R9(n,e){const t=n.indexOf(e);t>-1&&(n.splice(t,1),n.push(e))}function YY(n,e){for(const t of e)n.push(t)}function UY(n){return Array.isArray(n)?n:[n]}function Egt(n,e,t){const i=f1e(n,e),r=n.length,o=t.length;n.length=r+o;for(let s=r-1;s>=i;s--)n[s+o]=n[s];for(let s=0;s0}n.isGreaterThan=i;function r(o){return o===0}n.isNeitherLessOrGreaterThan=r,n.greaterThan=1,n.lessThan=-1,n.neitherLessOrGreaterThan=0})(hI||(hI={}));function Ec(n,e){return(t,i)=>e(n(t),n(i))}function Zgt(...n){return(e,t)=>{for(const i of n){const r=i(e,t);if(!hI.isNeitherLessOrGreaterThan(r))return r}return hI.neitherLessOrGreaterThan}}const Rg=(n,e)=>n-e,Wgt=(n,e)=>Rg(n?1:0,e?1:0);function g1e(n){return(e,t)=>-n(e,t)}class Vg{constructor(e){this.items=e,this.firstIdx=0,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(e){let t=this.firstIdx;for(;t=0&&e(this.items[t]);)t--;const i=t===this.lastIdx?null:this.items.slice(t+1,this.lastIdx+1);return this.lastIdx=t,i}peek(){if(this.length!==0)return this.items[this.firstIdx]}dequeue(){const e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){const t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}}class Um{constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(e){return new Um(t=>this.iterate(i=>e(i)?t(i):!0))}map(e){return new Um(t=>this.iterate(i=>t(e(i))))}findLast(e){let t;return this.iterate(i=>(e(i)&&(t=i),!0)),t}findLastMaxBy(e){let t,i=!0;return this.iterate(r=>((i||hI.isGreaterThan(e(r,t)))&&(i=!1,t=r),!0)),t}}Um.empty=new Um(n=>{});class V9{constructor(e){this._indexMap=e}static createSortPermutation(e,t){const i=Array.from(e.keys()).sort((r,o)=>t(e[r],e[o]));return new V9(i)}apply(e){return e.map((t,i)=>e[this._indexMap[i]])}inverse(){const e=this._indexMap.slice();for(let t=0;t>>0|n[e+1]<<8>>>0}function Vgt(n,e,t){n[t+0]=e&255,e=e>>>8,n[t+1]=e&255}function Nh(n,e){return n[e]*2**24+n[e+1]*2**16+n[e+2]*2**8+n[e+3]}function Th(n,e,t){n[t+3]=e,e=e>>>8,n[t+2]=e,e=e>>>8,n[t+1]=e,e=e>>>8,n[t]=e}function b1e(n,e){return n[e]}function v1e(n,e,t){n[t]=e}let JY;function y1e(){return JY||(JY=new TextDecoder("UTF-16LE")),JY}let jY;function Agt(){return jY||(jY=new TextDecoder("UTF-16BE")),jY}let QY;function C1e(){return QY||(QY=Mbe()?y1e():Agt()),QY}function Ggt(n,e,t){const i=new Uint16Array(n.buffer,e,t);return t>0&&(i[0]===65279||i[0]===65534)?Xgt(n,e,t):y1e().decode(i)}function Xgt(n,e,t){const i=[];let r=0;for(let o=0;o=this._capacity){this._flushBuffer(),this._completedStrings[this._completedStrings.length]=e;return}for(let i=0;i[s[0].toLowerCase(),s[1].toLowerCase()]);const t=[];for(let s=0;s{const[l,u]=s,[c,d]=a;return l===c||l===d||u===c||u===d},r=(s,a)=>{const l=Math.min(s,a),u=Math.max(s,a);for(let c=0;c0&&o.push({open:a,close:l})}return o}class Ogt{constructor(e,t){this._richEditBracketsBrand=void 0;const i=Pgt(t);this.brackets=i.map((r,o)=>new G9(e,o,r.open,r.close,Bgt(r.open,r.close,i,o),zgt(r.open,r.close,i,o))),this.forwardRegex=Hgt(this.brackets),this.reversedRegex=Ygt(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0;for(const r of this.brackets){for(const o of r.open)this.textIsBracket[o]=r,this.textIsOpenBracket[o]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,o.length);for(const o of r.close)this.textIsBracket[o]=r,this.textIsOpenBracket[o]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,o.length)}}}function w1e(n,e,t,i){for(let r=0,o=e.length;r=0&&i.push(a);for(const a of s.close)a.indexOf(n)>=0&&i.push(a)}}function S1e(n,e){return n.length-e.length}function X9(n){if(n.length<=1)return n;const e=[],t=new Set;for(const i of n)t.has(i)||(e.push(i),t.add(i));return e}function Bgt(n,e,t,i){let r=[];r=r.concat(n),r=r.concat(e);for(let o=0,s=r.length;o=0;s--)r[o++]=i.charCodeAt(s);return C1e().decode(r)}let e=null,t=null;return function(r){return e!==r&&(e=r,t=n(e)),t}}();class Md{static _findPrevBracketInText(e,t,i,r){const o=i.match(e);if(!o)return null;const s=i.length-(o.index||0),a=o[0].length,l=r+s;return new J(t,l-a+1,t,l+1)}static findPrevBracketInRange(e,t,i,r,o){const a=$Y(i).substring(i.length-o,i.length-r);return this._findPrevBracketInText(e,t,a,r)}static findNextBracketInText(e,t,i,r){const o=i.match(e);if(!o)return null;const s=o.index||0,a=o[0].length;if(a===0)return null;const l=r+s;return new J(t,l+1,t,l+1+a)}static findNextBracketInRange(e,t,i,r,o){const s=i.substring(r,o);return this.findNextBracketInText(e,t,s,r)}}class Kgt{constructor(e){this._richEditBrackets=e}getElectricCharacters(){const e=[];if(this._richEditBrackets)for(const t of this._richEditBrackets.brackets)for(const i of t.close){const r=i.charAt(i.length-1);e.push(r)}return Wg(e)}onElectricCharacter(e,t,i){if(!this._richEditBrackets||this._richEditBrackets.brackets.length===0)return null;const r=t.findTokenIndexAtOffset(i-1);if(Hm(t.getStandardTokenType(r)))return null;const o=this._richEditBrackets.reversedRegex,s=t.getLineContent().substring(0,i-1)+e,a=Md.findPrevBracketInRange(o,1,s,0,s.length);if(!a)return null;const l=s.substring(a.startColumn-1,a.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[l])return null;const c=t.getActualLineContentBefore(a.startColumn-1);return/^\s*$/.test(c)?{matchOpenBracket:l}:null}}function O9(n){return n.global&&(n.lastIndex=0),!0}class Jgt{constructor(e){this._indentationRules=e}shouldIncrease(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&O9(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(e))}shouldDecrease(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&O9(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(e))}shouldIndentNextLine(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&O9(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(e))}shouldIgnore(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&O9(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(e))}getIndentMetadata(e){let t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t}}class ES{constructor(e){e=e||{},e.brackets=e.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],e.brackets.forEach(t=>{const i=ES._createOpenBracketRegExp(t[0]),r=ES._createCloseBracketRegExp(t[1]);i&&r&&this._brackets.push({open:t[0],openRegExp:i,close:t[1],closeRegExp:r})}),this._regExpRules=e.onEnterRules||[]}onEnter(e,t,i,r){if(e>=3)for(let o=0,s=this._regExpRules.length;ou.reg?(u.reg.lastIndex=0,u.reg.test(u.text)):!0))return a.action}if(e>=2&&i.length>0&&r.length>0)for(let o=0,s=this._brackets.length;o=2&&i.length>0){for(let o=0,s=this._brackets.length;o"u"?t:o}function Qgt(n){return n.replace(/[\[\]]/g,"")}const vr=Un("languageService");class Km{constructor(e,t=[],i=!1){this.ctor=e,this.staticArguments=t,this.supportsDelayedInstantiation=i}}const F1e=[];function qn(n,e,t){e instanceof Km||(e=new Km(e,[],!!t)),F1e.push([n,e])}function I1e(){return F1e}const Pr=Object.freeze({text:"text/plain",binary:"application/octet-stream",unknown:"application/unknown",markdown:"text/markdown",latex:"text/latex",uriList:"text/uri-list"}),B9={JSONContribution:"base.contributions.json"};function $gt(n){return n.length>0&&n.charAt(n.length-1)==="#"?n.substring(0,n.length-1):n}class qgt{constructor(){this._onDidChangeSchema=new be,this.schemasById={}}registerSchema(e,t){this.schemasById[$gt(e)]=t,this._onDidChangeSchema.fire(e)}notifySchemaChanged(e){this._onDidChangeSchema.fire(e)}}const ept=new qgt;Do.add(B9.JSONContribution,ept);const Eh={Configuration:"base.contributions.configuration"},mI="vscode://schemas/settings/resourceLanguage",D1e=Do.as(B9.JSONContribution);class tpt{constructor(){this.overrideIdentifiers=new Set,this._onDidSchemaChange=new be,this._onDidUpdateConfiguration=new be,this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:L("defaultLanguageConfigurationOverrides.title","Default Language Configuration Overrides"),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.excludedConfigurationProperties={},D1e.registerSchema(mI,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(e,t=!0){this.registerConfigurations([e],t)}registerConfigurations(e,t=!0){const i=new Set;this.doRegisterConfigurations(e,t,i),D1e.registerSchema(mI,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:i})}registerDefaultConfigurations(e){const t=new Set;this.doRegisterDefaultConfigurations(e,t),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:t,defaultsOverrides:!0})}doRegisterDefaultConfigurations(e,t){var i;const r=[];for(const{overrides:o,source:s}of e)for(const a in o)if(t.add(a),qb.test(a)){const l=this.configurationDefaultsOverrides.get(a),u=(i=l==null?void 0:l.valuesSources)!==null&&i!==void 0?i:new Map;if(s)for(const m of Object.keys(o[a]))u.set(m,s);const c={...(l==null?void 0:l.value)||{},...o[a]};this.configurationDefaultsOverrides.set(a,{source:s,value:c,valuesSources:u});const d=Qgt(a),h={type:"object",default:c,description:L("defaultLanguageConfiguration.description","Configure settings to be overridden for the {0} language.",d),$ref:mI,defaultDefaultValue:c,source:Ml(s)?void 0:s,defaultValueSource:s};r.push(...z9(a)),this.configurationProperties[a]=h,this.defaultLanguageConfigurationOverridesNode.properties[a]=h}else{this.configurationDefaultsOverrides.set(a,{value:o[a],source:s});const l=this.configurationProperties[a];l&&(this.updatePropertyDefaultValue(a,l),this.updateSchema(a,l))}this.doRegisterOverrideIdentifiers(r)}registerOverrideIdentifiers(e){this.doRegisterOverrideIdentifiers(e),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(e){for(const t of e)this.overrideIdentifiers.add(t);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(e,t,i){e.forEach(r=>{this.validateAndRegisterProperties(r,t,r.extensionInfo,r.restrictedProperties,void 0,i),this.configurationContributors.push(r),this.registerJSONConfiguration(r)})}validateAndRegisterProperties(e,t=!0,i,r,o=3,s){var a;o=Wu(e.scope)?o:e.scope;const l=e.properties;if(l)for(const c in l){const d=l[c];if(t&&rpt(c,d)){delete l[c];continue}if(d.source=i,d.defaultDefaultValue=l[c].default,this.updatePropertyDefaultValue(c,d),qb.test(c)?d.scope=void 0:(d.scope=Wu(d.scope)?o:d.scope,d.restricted=Wu(d.restricted)?!!(r!=null&&r.includes(c)):d.restricted),l[c].hasOwnProperty("included")&&!l[c].included){this.excludedConfigurationProperties[c]=l[c],delete l[c];continue}else this.configurationProperties[c]=l[c],!((a=l[c].policy)===null||a===void 0)&&a.name&&this.policyConfigurations.set(l[c].policy.name,c);!l[c].deprecationMessage&&l[c].markdownDeprecationMessage&&(l[c].deprecationMessage=l[c].markdownDeprecationMessage),s.add(c)}const u=e.allOf;if(u)for(const c of u)this.validateAndRegisterProperties(c,t,i,r,o,s)}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}registerJSONConfiguration(e){const t=i=>{const r=i.properties;if(r)for(const s in r)this.updateSchema(s,r[s]);const o=i.allOf;o==null||o.forEach(t)};t(e)}updateSchema(e,t){switch(t.scope){case 1:break;case 2:break;case 6:break;case 3:break;case 4:break;case 5:this.resourceLanguageSettingsSchema.properties[e]=t;break}}updateOverridePropertyPatternKey(){for(const e of this.overrideIdentifiers.values()){const t=`[${e}]`,i={type:"object",description:L("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:L("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:mI};this.updatePropertyDefaultValue(t,i)}}registerOverridePropertyPatternKey(){L("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),L("overrideSettings.errorMessage","This setting does not support per-language configuration."),this._onDidSchemaChange.fire()}updatePropertyDefaultValue(e,t){const i=this.configurationDefaultsOverrides.get(e);let r=i==null?void 0:i.value,o=i==null?void 0:i.source;iu(r)&&(r=t.defaultDefaultValue,o=void 0),iu(r)&&(r=ipt(t.type)),t.default=r,t.defaultValueSource=o}}const M1e="\\[([^\\]]+)\\]",k1e=new RegExp(M1e,"g"),npt=`^(${M1e})+$`,qb=new RegExp(npt);function z9(n){const e=[];if(qb.test(n)){let t=k1e.exec(n);for(;t!=null&&t.length;){const i=t[1].trim();i&&e.push(i),t=k1e.exec(n)}}return Wg(e)}function ipt(n){switch(Array.isArray(n)?n[0]:n){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}const H9=new tpt;Do.add(Eh.Configuration,H9);function rpt(n,e){var t,i,r,o;return n.trim()?qb.test(n)?L("config.property.languageDefault","Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",n):H9.getConfigurationProperties()[n]!==void 0?L("config.property.duplicate","Cannot register '{0}'. This property is already registered.",n):!((t=e.policy)===null||t===void 0)&&t.name&&H9.getPolicyConfigurations().get((i=e.policy)===null||i===void 0?void 0:i.name)!==void 0?L("config.policy.duplicate","Cannot register '{0}'. The associated policy {1} is already registered with {2}.",n,(r=e.policy)===null||r===void 0?void 0:r.name,H9.getPolicyConfigurations().get((o=e.policy)===null||o===void 0?void 0:o.name)):null:L("config.property.empty","Cannot register an empty property")}const opt={ModesRegistry:"editor.modesRegistry"};class spt{constructor(){this._onDidChangeLanguages=new be,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(e){return this._languages.push(e),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let t=0,i=this._languages.length;t{const l=new Set;return{info:new lpt(this,a,l),closing:l}}),o=new n0e(a=>{const l=new Set,u=new Set;return{info:new upt(this,a,l,u),opening:l,openingColorized:u}});for(const[a,l]of i){const u=r.get(a),c=o.get(l);u.closing.add(c.info),c.opening.add(u.info)}const s=t.colorizedBracketPairs?N1e(t.colorizedBracketPairs):i.filter(a=>!(a[0]==="<"&&a[1]===">"));for(const[a,l]of s){const u=r.get(a),c=o.get(l);u.closing.add(c.info),c.openingColorized.add(u.info),c.opening.add(u.info)}this._openingBrackets=new Map([...r.cachedValues].map(([a,l])=>[a,l.info])),this._closingBrackets=new Map([...o.cachedValues].map(([a,l])=>[a,l.info]))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(e){return this._openingBrackets.get(e)}getClosingBracketInfo(e){return this._closingBrackets.get(e)}getBracketInfo(e){return this.getOpeningBracketInfo(e)||this.getClosingBracketInfo(e)}}function N1e(n){return n.filter(([e,t])=>e!==""&&t!=="")}class T1e{constructor(e,t){this.config=e,this.bracketText=t}get languageId(){return this.config.languageId}}class lpt extends T1e{constructor(e,t,i){super(e,t),this.openedBrackets=i,this.isOpeningBracket=!0}}class upt extends T1e{constructor(e,t,i,r){super(e,t),this.openingBrackets=i,this.openingColorizedBrackets=r,this.isOpeningBracket=!1}closes(e){return e.config!==this.config?!1:this.openingBrackets.has(e)}closesColorized(e){return e.config!==this.config?!1:this.openingColorizedBrackets.has(e)}getOpeningBrackets(){return[...this.openingBrackets]}}var cpt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},E1e=function(n,e){return function(t,i){e(t,i,n)}};class e6{constructor(e){this.languageId=e}affects(e){return this.languageId?this.languageId===e:!0}}const tr=Un("languageConfigurationService");let t6=class extends Ie{constructor(e,t){super(),this.configurationService=e,this.languageService=t,this._registry=this._register(new fpt),this.onDidChangeEmitter=this._register(new be),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const i=new Set(Object.values(n6));this._register(this.configurationService.onDidChangeConfiguration(r=>{const o=r.change.keys.some(a=>i.has(a)),s=r.change.overrides.filter(([a,l])=>l.some(u=>i.has(u))).map(([a])=>a);if(o)this.configurations.clear(),this.onDidChangeEmitter.fire(new e6(void 0));else for(const a of s)this.languageService.isRegisteredLanguageId(a)&&(this.configurations.delete(a),this.onDidChangeEmitter.fire(new e6(a)))})),this._register(this._registry.onDidChange(r=>{this.configurations.delete(r.languageId),this.onDidChangeEmitter.fire(new e6(r.languageId))}))}register(e,t,i){return this._registry.register(e,t,i)}getLanguageConfiguration(e){let t=this.configurations.get(e);return t||(t=dpt(e,this._registry,this.configurationService,this.languageService),this.configurations.set(e,t)),t}};t6=cpt([E1e(0,Pn),E1e(1,vr)],t6);function dpt(n,e,t,i){let r=e.getLanguageConfiguration(n);if(!r){if(!i.isRegisteredLanguageId(n))return new RS(n,{});r=new RS(n,{})}const o=hpt(r.languageId,t),s=R1e([r.underlyingConfig,o]);return new RS(r.languageId,s)}const n6={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function hpt(n,e){const t=e.getValue(n6.brackets,{overrideIdentifier:n}),i=e.getValue(n6.colorizedBracketPairs,{overrideIdentifier:n});return{brackets:Z1e(t),colorizedBracketPairs:Z1e(i)}}function Z1e(n){if(Array.isArray(n))return n.map(e=>{if(!(!Array.isArray(e)||e.length!==2))return[e[0],e[1]]}).filter(e=>!!e)}function W1e(n,e,t){const i=n.getLineContent(e);let r=Ki(i);return r.length>t-1&&(r=r.substring(0,t-1)),r}function WS(n,e,t){n.tokenization.forceTokenization(e);const i=n.tokenization.getLineTokens(e),r=typeof t>"u"?n.getLineMaxColumn(e)-1:t-1;return F9(i,r)}class mpt{constructor(e){this.languageId=e,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(e,t){const i=new V1e(e,t,++this._order);return this._entries.push(i),this._resolved=null,jt(()=>{for(let r=0;re.configuration)))}}function R1e(n){let e={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void 0,onEnterRules:void 0,autoClosingPairs:void 0,surroundingPairs:void 0,autoCloseBefore:void 0,folding:void 0,colorizedBracketPairs:void 0,__electricCharacterSupport:void 0};for(const t of n)e={comments:t.comments||e.comments,brackets:t.brackets||e.brackets,wordPattern:t.wordPattern||e.wordPattern,indentationRules:t.indentationRules||e.indentationRules,onEnterRules:t.onEnterRules||e.onEnterRules,autoClosingPairs:t.autoClosingPairs||e.autoClosingPairs,surroundingPairs:t.surroundingPairs||e.surroundingPairs,autoCloseBefore:t.autoCloseBefore||e.autoCloseBefore,folding:t.folding||e.folding,colorizedBracketPairs:t.colorizedBracketPairs||e.colorizedBracketPairs,__electricCharacterSupport:t.__electricCharacterSupport||e.__electricCharacterSupport};return e}class V1e{constructor(e,t,i){this.configuration=e,this.priority=t,this.order=i}static cmp(e,t){return e.priority===t.priority?e.order-t.order:e.priority-t.priority}}class A1e{constructor(e){this.languageId=e}}class fpt extends Ie{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new be),this.onDidChange=this._onDidChange.event,this._register(this.register(Pu,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(e,t,i=0){let r=this._entries.get(e);r||(r=new mpt(e),this._entries.set(e,r));const o=r.register(t,i);return this._onDidChange.fire(new A1e(e)),jt(()=>{o.dispose(),this._onDidChange.fire(new A1e(e))})}getLanguageConfiguration(e){const t=this._entries.get(e);return(t==null?void 0:t.getResolvedConfiguration())||null}}class RS{constructor(e,t){this.languageId=e,this.underlyingConfig=t,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new ES(this.underlyingConfig):null,this.comments=RS._handleComments(this.underlyingConfig),this.characterPair=new NS(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||XY,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new Jgt(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new apt(e,this.underlyingConfig)}getWordDefinition(){return PY(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new Ogt(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new Kgt(this.brackets)),this._electricCharacter}onEnter(e,t,i,r){return this._onEnterSupport?this._onEnterSupport.onEnter(e,t,i,r):null}getAutoClosingPairs(){return new Fgt(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(e){return this.characterPair.getAutoCloseBeforeSet(e)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(e){const t=e.comments;if(!t)return null;const i={};if(t.lineComment&&(i.lineCommentToken=t.lineComment),t.blockComment){const[r,o]=t.blockComment;i.blockCommentStartToken=r,i.blockCommentEndToken=o}return i}}qn(tr,t6,1);function VS(n,e,t,i){const r=WS(e,t.startLineNumber,t.startColumn),o=i.getLanguageConfiguration(r.languageId);if(!o)return null;const s=r.getLineContent(),a=s.substr(0,t.startColumn-1-r.firstCharOffset);let l;t.isEmpty()?l=s.substr(t.startColumn-1-r.firstCharOffset):l=WS(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-r.firstCharOffset);let u="";if(t.startLineNumber>1&&r.firstCharOffset===0){const g=WS(e,t.startLineNumber-1);g.languageId===r.languageId&&(u=g.getLineContent())}const c=o.onEnter(n,u,a,l);if(!c)return null;const d=c.indentAction;let h=c.appendText;const m=c.removeText||0;h?d===Mo.Indent&&(h=" "+h):d===Mo.Indent||d===Mo.IndentOutdent?h=" ":h="";let f=W1e(e,t.startLineNumber,t.startColumn);return m&&(f=f.substring(0,f.length-m)),{indentAction:d,appendText:h,removeText:m,indentation:f}}var gpt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},ppt=function(n,e){return function(t,i){e(t,i,n)}},Y9;const i6=Object.create(null);function iy(n,e){if(e<=0)return"";i6[n]||(i6[n]=["",n]);const t=i6[n];for(let i=t.length;i<=e;i++)t[i]=t[i-1]+n;return t[e]}let Zc=Y9=class{static unshiftIndent(e,t,i,r,o){const s=Jo.visibleColumnFromColumn(e,t,i);if(o){const a=iy(" ",r),u=Jo.prevIndentTabStop(s,r)/r;return iy(a,u)}else{const a=" ",u=Jo.prevRenderTabStop(s,i)/i;return iy(a,u)}}static shiftIndent(e,t,i,r,o){const s=Jo.visibleColumnFromColumn(e,t,i);if(o){const a=iy(" ",r),u=Jo.nextIndentTabStop(s,r)/r;return iy(a,u)}else{const a=" ",u=Jo.nextRenderTabStop(s,i)/i;return iy(a,u)}}constructor(e,t,i){this._languageConfigurationService=i,this._opts=t,this._selection=e,this._selectionId=null,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}_addEditOperation(e,t,i){this._useLastEditRangeForCursorEndPosition?e.addTrackedEditOperation(t,i):e.addEditOperation(t,i)}getEditOperations(e,t){const i=this._selection.startLineNumber;let r=this._selection.endLineNumber;this._selection.endColumn===1&&i!==r&&(r=r-1);const{tabSize:o,indentSize:s,insertSpaces:a}=this._opts,l=i===r;if(this._opts.useTabStops){this._selection.isEmpty()&&/^\s*$/.test(e.getLineContent(i))&&(this._useLastEditRangeForCursorEndPosition=!0);let u=0,c=0;for(let d=i;d<=r;d++,u=c){c=0;const h=e.getLineContent(d);let m=_a(h);if(this._opts.isUnshift&&(h.length===0||m===0)||!l&&!this._opts.isUnshift&&h.length===0)continue;if(m===-1&&(m=h.length),d>1&&Jo.visibleColumnFromColumn(h,m+1,o)%s!==0&&e.tokenization.isCheapToTokenize(d-1)){const b=VS(this._opts.autoIndent,e,new J(d-1,e.getLineMaxColumn(d-1),d-1,e.getLineMaxColumn(d-1)),this._languageConfigurationService);if(b){if(c=u,b.appendText)for(let v=0,C=b.appendText.length;v1){let r,o=-1;for(r=e-1;r>=1;r--){if(n.tokenization.getLanguageIdAtPosition(r,0)!==i)return o;const s=n.getLineContent(r);if(t.shouldIgnore(s)||/^\s+$/.test(s)||s===""){o=r;continue}return r}}return-1}function U9(n,e,t,i=!0,r){if(n<4)return null;const o=r.getLanguageConfiguration(e.tokenization.getLanguageId()).indentRulesSupport;if(!o)return null;if(t<=1)return{indentation:"",action:null};for(let l=t-1;l>0&&e.getLineContent(l)==="";l--)if(l===1)return{indentation:"",action:null};const s=ypt(e,t,o);if(s<0)return null;if(s<1)return{indentation:"",action:null};const a=e.getLineContent(s);if(o.shouldIncrease(a)||o.shouldIndentNextLine(a))return{indentation:Ki(a),action:Mo.Indent,line:s};if(o.shouldDecrease(a))return{indentation:Ki(a),action:null,line:s};{if(s===1)return{indentation:Ki(e.getLineContent(s)),action:null,line:s};const l=s-1,u=o.getIndentMetadata(e.getLineContent(l));if(!(u&3)&&u&4){let c=0;for(let d=l-1;d>0;d--)if(!o.shouldIndentNextLine(e.getLineContent(d))){c=d;break}return{indentation:Ki(e.getLineContent(c+1)),action:null,line:c+1}}if(i)return{indentation:Ki(e.getLineContent(s)),action:null,line:s};for(let c=s;c>0;c--){const d=e.getLineContent(c);if(o.shouldIncrease(d))return{indentation:Ki(d),action:Mo.Indent,line:c};if(o.shouldIndentNextLine(d)){let h=0;for(let m=c-1;m>0;m--)if(!o.shouldIndentNextLine(e.getLineContent(c))){h=m;break}return{indentation:Ki(e.getLineContent(h+1)),action:null,line:h+1}}else if(o.shouldDecrease(d))return{indentation:Ki(d),action:null,line:c}}return{indentation:Ki(e.getLineContent(1)),action:null,line:1}}}function fI(n,e,t,i,r,o){if(n<4)return null;const s=o.getLanguageConfiguration(t);if(!s)return null;const a=o.getLanguageConfiguration(t).indentRulesSupport;if(!a)return null;const l=U9(n,e,i,void 0,o),u=e.getLineContent(i);if(l){const c=l.line;if(c!==void 0){let d=!0;for(let h=c;h0&&o.getLanguageId(0)!==s.languageId?(l=!0,u=a.substr(0,t.startColumn-1-s.firstCharOffset)):u=o.getLineContent().substring(0,t.startColumn-1);let c;t.isEmpty()?c=a.substr(t.startColumn-1-s.firstCharOffset):c=WS(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-s.firstCharOffset);const d=r.getLanguageConfiguration(s.languageId).indentRulesSupport;if(!d)return null;const h=u,m=Ki(u),f={tokenization:{getLineTokens:C=>e.tokenization.getLineTokens(C),getLanguageId:()=>e.getLanguageId(),getLanguageIdAtPosition:(C,S)=>e.getLanguageIdAtPosition(C,S)},getLineContent:C=>C===t.startLineNumber?h:e.getLineContent(C)},g=Ki(o.getLineContent()),b=U9(n,f,t.startLineNumber+1,void 0,r);if(!b){const C=l?g:m;return{beforeEnter:C,afterEnter:C}}let v=l?g:b.indentation;return b.action===Mo.Indent&&(v=i.shiftIndent(v)),d.shouldDecrease(c)&&(v=i.unshiftIndent(v)),{beforeEnter:l?g:m,afterEnter:v}}function wpt(n,e,t,i,r,o){if(n<4)return null;const s=WS(e,t.startLineNumber,t.startColumn);if(s.firstCharOffset)return null;const a=o.getLanguageConfiguration(s.languageId).indentRulesSupport;if(!a)return null;const l=s.getLineContent(),u=l.substr(0,t.startColumn-1-s.firstCharOffset);let c;if(t.isEmpty()?c=l.substr(t.startColumn-1-s.firstCharOffset):c=WS(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-s.firstCharOffset),!a.shouldDecrease(u+c)&&a.shouldDecrease(u+i+c)){const d=U9(n,e,t.startLineNumber,!1,o);if(!d)return null;let h=d.indentation;return d.action!==Mo.Indent&&(h=r.unshiftIndent(h)),h}return null}function G1e(n,e,t){const i=t.getLanguageConfiguration(n.getLanguageId()).indentRulesSupport;return!i||e<1||e>n.getLineCount()?null:i.getIndentMetadata(n.getLineContent(e))}class Nr{static indent(e,t,i){if(t===null||i===null)return[];const r=[];for(let o=0,s=i.length;o1){let a;for(a=i-1;a>=1;a--){const c=t.getLineContent(a);if(Fh(c)>=0)break}if(a<1)return null;const l=t.getLineMaxColumn(a),u=VS(e.autoIndent,t,new J(a,l,a,l),e.languageConfigurationService);u&&(o=u.indentation+u.appendText)}return r&&(r===Mo.Indent&&(o=Nr.shiftIndent(e,o)),r===Mo.Outdent&&(o=Nr.unshiftIndent(e,o)),o=e.normalizeIndentation(o)),o||null}static _replaceJumpToNextIndent(e,t,i,r){let o="";const s=i.getStartPosition();if(e.insertSpaces){const a=e.visibleColumnFromColumn(t,s),l=e.indentSize,u=l-a%l;for(let c=0;cthis._compositionType(i,c,o,s,a,l));return new Wl(4,u,{shouldPushStackElementBefore:K9(e,4),shouldPushStackElementAfter:!1})}static _compositionType(e,t,i,r,o,s){if(!t.isEmpty())return null;const a=t.getPosition(),l=Math.max(1,a.column-r),u=Math.min(e.getLineMaxColumn(a.lineNumber),a.column+o),c=new J(a.lineNumber,l,a.lineNumber,u);return e.getValueInRange(c)===i&&s===0?null:new M9(c,i,0,s)}static _typeCommand(e,t,i){return i?new D9(e,t,!0):new qs(e,t,!0)}static _enter(e,t,i,r){if(e.autoIndent===0)return Nr._typeCommand(r,` -`,i);if(!t.tokenization.isCheapToTokenize(r.getStartPosition().lineNumber)||e.autoIndent===1){const l=t.getLineContent(r.startLineNumber),u=Ki(l).substring(0,r.startColumn-1);return Nr._typeCommand(r,` -`+e.normalizeIndentation(u),i)}const o=VS(e.autoIndent,t,r,e.languageConfigurationService);if(o){if(o.indentAction===Mo.None)return Nr._typeCommand(r,` -`+e.normalizeIndentation(o.indentation+o.appendText),i);if(o.indentAction===Mo.Indent)return Nr._typeCommand(r,` -`+e.normalizeIndentation(o.indentation+o.appendText),i);if(o.indentAction===Mo.IndentOutdent){const l=e.normalizeIndentation(o.indentation),u=e.normalizeIndentation(o.indentation+o.appendText),c=` + `,constraint:e,schema:{type:"object",required:["to"],properties:{to:{type:"string",enum:["left","right","up","down","prevBlankLine","nextBlankLine","wrappedLineStart","wrappedLineEnd","wrappedLineColumnCenter","wrappedLineFirstNonWhitespaceCharacter","wrappedLineLastNonWhitespaceCharacter","viewPortTop","viewPortCenter","viewPortBottom","viewPortIfOutside"]},by:{type:"string",enum:["line","wrappedLine","character","halfLine"]},value:{type:"number",default:1},select:{type:"boolean",default:!1}}}}]},n.RawDirection={Left:"left",Right:"right",Up:"up",Down:"down",PrevBlankLine:"prevBlankLine",NextBlankLine:"nextBlankLine",WrappedLineStart:"wrappedLineStart",WrappedLineFirstNonWhitespaceCharacter:"wrappedLineFirstNonWhitespaceCharacter",WrappedLineColumnCenter:"wrappedLineColumnCenter",WrappedLineEnd:"wrappedLineEnd",WrappedLineLastNonWhitespaceCharacter:"wrappedLineLastNonWhitespaceCharacter",ViewPortTop:"viewPortTop",ViewPortCenter:"viewPortCenter",ViewPortBottom:"viewPortBottom",ViewPortIfOutside:"viewPortIfOutside"},n.RawUnit={Line:"line",WrappedLine:"wrappedLine",Character:"character",HalfLine:"halfLine"};function t(i){if(!i.to)return null;let r;switch(i.to){case n.RawDirection.Left:r=0;break;case n.RawDirection.Right:r=1;break;case n.RawDirection.Up:r=2;break;case n.RawDirection.Down:r=3;break;case n.RawDirection.PrevBlankLine:r=4;break;case n.RawDirection.NextBlankLine:r=5;break;case n.RawDirection.WrappedLineStart:r=6;break;case n.RawDirection.WrappedLineFirstNonWhitespaceCharacter:r=7;break;case n.RawDirection.WrappedLineColumnCenter:r=8;break;case n.RawDirection.WrappedLineEnd:r=9;break;case n.RawDirection.WrappedLineLastNonWhitespaceCharacter:r=10;break;case n.RawDirection.ViewPortTop:r=11;break;case n.RawDirection.ViewPortBottom:r=13;break;case n.RawDirection.ViewPortCenter:r=12;break;case n.RawDirection.ViewPortIfOutside:r=14;break;default:return null}let o=0;switch(i.by){case n.RawUnit.Line:o=1;break;case n.RawUnit.WrappedLine:o=2;break;case n.RawUnit.Character:o=3;break;case n.RawUnit.HalfLine:o=4;break}return{direction:r,unit:o,select:!!i.select,value:i.value||1}}n.parse=t})(R9||(R9={}));var No;(function(n){n[n.None=0]="None",n[n.Indent=1]="Indent",n[n.IndentOutdent=2]="IndentOutdent",n[n.Outdent=3]="Outdent"})(No||(No={}));class GY{constructor(e){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=e.open,this.close=e.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(e.notIn))for(let t=0,i=e.notIn.length;t/?";function Fgt(n=""){let e="(-?\\d*\\.\\d\\w*)|([^";for(const t of a1e)n.indexOf(t)>=0||(e+="\\"+t);return e+="\\s]+)",new RegExp(e,"g")}const XY=Fgt();function PY(n){let e=XY;if(n&&n instanceof RegExp)if(n.global)e=n;else{let t="g";n.ignoreCase&&(t+="i"),n.multiline&&(t+="m"),n.unicode&&(t+="u"),e=new RegExp(n.source,t)}return e.lastIndex=0,e}const l1e=new ja;l1e.unshift({maxLen:1e3,windowSize:15,timeBudget:150});function cF(n,e,t,i,r){if(e=PY(e),r||(r=Qn.first(l1e)),t.length>r.maxLen){let u=n-r.maxLen/2;return u<0?u=0:i+=u,t=t.substring(u,n+r.maxLen/2),cF(n,e,t,i,r)}const o=Date.now(),s=n-1-i;let a=-1,l=null;for(let u=1;!(Date.now()-o>=r.timeBudget);u++){const c=s-r.windowSize*u;e.lastIndex=Math.max(0,c);const d=Dgt(e,t,s,a);if(!d&&l||(l=d,c<=0))break;a=c}if(l){const u={word:l[0],startColumn:i+1+l.index,endColumn:i+1+l.index+l[0].length};return e.lastIndex=0,u}return null}function Dgt(n,e,t,i){let r;for(;r=n.exec(e);){const o=r.index||0;if(o<=t&&n.lastIndex>=t)return r;if(i>0&&o>i)return null}return null}class kw{constructor(e){if(e.autoClosingPairs?this._autoClosingPairs=e.autoClosingPairs.map(t=>new GY(t)):e.brackets?this._autoClosingPairs=e.brackets.map(t=>new GY({open:t[0],close:t[1]})):this._autoClosingPairs=[],e.__electricCharacterSupport&&e.__electricCharacterSupport.docComment){const t=e.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new GY({open:t.open,close:t.close||""}))}this._autoCloseBeforeForQuotes=typeof e.autoCloseBefore=="string"?e.autoCloseBefore:kw.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets=typeof e.autoCloseBefore=="string"?e.autoCloseBefore:kw.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=e.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(e){return e?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}}kw.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=`;:.,=}])> + `,kw.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS=`'"\`;:.,=}])> + `;function kc(n,e=0){return n[n.length-(1+e)]}function Ngt(n){if(n.length===0)throw new Error("Invalid tail call");return[n.slice(0,n.length-1),n[n.length-1]]}function Nr(n,e,t=(i,r)=>i===r){if(n===e)return!0;if(!n||!e||n.length!==e.length)return!1;for(let i=0,r=n.length;it(n[i],e))}function kgt(n,e){let t=0,i=n-1;for(;t<=i;){const r=(t+i)/2|0,o=e(r);if(o<0)t=r+1;else if(o>0)i=r-1;else return r}return-(t+1)}function OY(n,e,t){if(n=n|0,n>=e.length)throw new TypeError("invalid index");const i=e[Math.floor(e.length*Math.random())],r=[],o=[],s=[];for(const a of e){const l=t(a,i);l<0?r.push(a):l>0?o.push(a):s.push(a)}return n!!e)}function d1e(n){let e=0;for(let t=0;t0}function Zg(n,e=t=>t){const t=new Set;return n.filter(i=>{const r=e(i);return t.has(r)?!1:(t.add(r),!0)})}function zY(n,e){return n.length>0?n[0]:e}function Wl(n,e){let t=typeof e=="number"?n:0;typeof e=="number"?t=n:(t=0,e=n);const i=[];if(t<=e)for(let r=t;re;r--)i.push(r);return i}function Z9(n,e,t){const i=n.slice(0,e),r=n.slice(e);return i.concat(t,r)}function HY(n,e){const t=n.indexOf(e);t>-1&&(n.splice(t,1),n.unshift(e))}function W9(n,e){const t=n.indexOf(e);t>-1&&(n.splice(t,1),n.push(e))}function YY(n,e){for(const t of e)n.push(t)}function UY(n){return Array.isArray(n)?n:[n]}function Egt(n,e,t){const i=f1e(n,e),r=n.length,o=t.length;n.length=r+o;for(let s=r-1;s>=i;s--)n[s+o]=n[s];for(let s=0;s0}n.isGreaterThan=i;function r(o){return o===0}n.isNeitherLessOrGreaterThan=r,n.greaterThan=1,n.lessThan=-1,n.neitherLessOrGreaterThan=0})(hF||(hF={}));function Tc(n,e){return(t,i)=>e(n(t),n(i))}function Rgt(...n){return(e,t)=>{for(const i of n){const r=i(e,t);if(!hF.isNeitherLessOrGreaterThan(r))return r}return hF.neitherLessOrGreaterThan}}const Wg=(n,e)=>n-e,Zgt=(n,e)=>Wg(n?1:0,e?1:0);function g1e(n){return(e,t)=>-n(e,t)}class Ag{constructor(e){this.items=e,this.firstIdx=0,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(e){let t=this.firstIdx;for(;t=0&&e(this.items[t]);)t--;const i=t===this.lastIdx?null:this.items.slice(t+1,this.lastIdx+1);return this.lastIdx=t,i}peek(){if(this.length!==0)return this.items[this.firstIdx]}dequeue(){const e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){const t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}}class Um{constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(e){return new Um(t=>this.iterate(i=>e(i)?t(i):!0))}map(e){return new Um(t=>this.iterate(i=>t(e(i))))}findLast(e){let t;return this.iterate(i=>(e(i)&&(t=i),!0)),t}findLastMaxBy(e){let t,i=!0;return this.iterate(r=>((i||hF.isGreaterThan(e(r,t)))&&(i=!1,t=r),!0)),t}}Um.empty=new Um(n=>{});class A9{constructor(e){this._indexMap=e}static createSortPermutation(e,t){const i=Array.from(e.keys()).sort((r,o)=>t(e[r],e[o]));return new A9(i)}apply(e){return e.map((t,i)=>e[this._indexMap[i]])}inverse(){const e=this._indexMap.slice();for(let t=0;t>>0|n[e+1]<<8>>>0}function Agt(n,e,t){n[t+0]=e&255,e=e>>>8,n[t+1]=e&255}function kh(n,e){return n[e]*2**24+n[e+1]*2**16+n[e+2]*2**8+n[e+3]}function Th(n,e,t){n[t+3]=e,e=e>>>8,n[t+2]=e,e=e>>>8,n[t+1]=e,e=e>>>8,n[t]=e}function b1e(n,e){return n[e]}function y1e(n,e,t){n[t]=e}let JY;function v1e(){return JY||(JY=new TextDecoder("UTF-16LE")),JY}let jY;function Vgt(){return jY||(jY=new TextDecoder("UTF-16BE")),jY}let QY;function C1e(){return QY||(QY=Nbe()?v1e():Vgt()),QY}function Ggt(n,e,t){const i=new Uint16Array(n.buffer,e,t);return t>0&&(i[0]===65279||i[0]===65534)?Xgt(n,e,t):v1e().decode(i)}function Xgt(n,e,t){const i=[];let r=0;for(let o=0;o=this._capacity){this._flushBuffer(),this._completedStrings[this._completedStrings.length]=e;return}for(let i=0;i[s[0].toLowerCase(),s[1].toLowerCase()]);const t=[];for(let s=0;s{const[l,u]=s,[c,d]=a;return l===c||l===d||u===c||u===d},r=(s,a)=>{const l=Math.min(s,a),u=Math.max(s,a);for(let c=0;c0&&o.push({open:a,close:l})}return o}class Ogt{constructor(e,t){this._richEditBracketsBrand=void 0;const i=Pgt(t);this.brackets=i.map((r,o)=>new G9(e,o,r.open,r.close,Bgt(r.open,r.close,i,o),zgt(r.open,r.close,i,o))),this.forwardRegex=Hgt(this.brackets),this.reversedRegex=Ygt(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0;for(const r of this.brackets){for(const o of r.open)this.textIsBracket[o]=r,this.textIsOpenBracket[o]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,o.length);for(const o of r.close)this.textIsBracket[o]=r,this.textIsOpenBracket[o]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,o.length)}}}function S1e(n,e,t,i){for(let r=0,o=e.length;r=0&&i.push(a);for(const a of s.close)a.indexOf(n)>=0&&i.push(a)}}function w1e(n,e){return n.length-e.length}function X9(n){if(n.length<=1)return n;const e=[],t=new Set;for(const i of n)t.has(i)||(e.push(i),t.add(i));return e}function Bgt(n,e,t,i){let r=[];r=r.concat(n),r=r.concat(e);for(let o=0,s=r.length;o=0;s--)r[o++]=i.charCodeAt(s);return C1e().decode(r)}let e=null,t=null;return function(r){return e!==r&&(e=r,t=n(e)),t}}();class Dd{static _findPrevBracketInText(e,t,i,r){const o=i.match(e);if(!o)return null;const s=i.length-(o.index||0),a=o[0].length,l=r+s;return new J(t,l-a+1,t,l+1)}static findPrevBracketInRange(e,t,i,r,o){const a=$Y(i).substring(i.length-o,i.length-r);return this._findPrevBracketInText(e,t,a,r)}static findNextBracketInText(e,t,i,r){const o=i.match(e);if(!o)return null;const s=o.index||0,a=o[0].length;if(a===0)return null;const l=r+s;return new J(t,l+1,t,l+1+a)}static findNextBracketInRange(e,t,i,r,o){const s=i.substring(r,o);return this.findNextBracketInText(e,t,s,r)}}class Kgt{constructor(e){this._richEditBrackets=e}getElectricCharacters(){const e=[];if(this._richEditBrackets)for(const t of this._richEditBrackets.brackets)for(const i of t.close){const r=i.charAt(i.length-1);e.push(r)}return Zg(e)}onElectricCharacter(e,t,i){if(!this._richEditBrackets||this._richEditBrackets.brackets.length===0)return null;const r=t.findTokenIndexAtOffset(i-1);if(Hm(t.getStandardTokenType(r)))return null;const o=this._richEditBrackets.reversedRegex,s=t.getLineContent().substring(0,i-1)+e,a=Dd.findPrevBracketInRange(o,1,s,0,s.length);if(!a)return null;const l=s.substring(a.startColumn-1,a.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[l])return null;const c=t.getActualLineContentBefore(a.startColumn-1);return/^\s*$/.test(c)?{matchOpenBracket:l}:null}}function O9(n){return n.global&&(n.lastIndex=0),!0}class Jgt{constructor(e){this._indentationRules=e}shouldIncrease(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&O9(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(e))}shouldDecrease(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&O9(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(e))}shouldIndentNextLine(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&O9(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(e))}shouldIgnore(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&O9(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(e))}getIndentMetadata(e){let t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t}}class Ew{constructor(e){e=e||{},e.brackets=e.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],e.brackets.forEach(t=>{const i=Ew._createOpenBracketRegExp(t[0]),r=Ew._createCloseBracketRegExp(t[1]);i&&r&&this._brackets.push({open:t[0],openRegExp:i,close:t[1],closeRegExp:r})}),this._regExpRules=e.onEnterRules||[]}onEnter(e,t,i,r){if(e>=3)for(let o=0,s=this._regExpRules.length;ou.reg?(u.reg.lastIndex=0,u.reg.test(u.text)):!0))return a.action}if(e>=2&&i.length>0&&r.length>0)for(let o=0,s=this._brackets.length;o=2&&i.length>0){for(let o=0,s=this._brackets.length;o"u"?t:o}function Qgt(n){return n.replace(/[\[\]]/g,"")}const br=Un("languageService");class Km{constructor(e,t=[],i=!1){this.ctor=e,this.staticArguments=t,this.supportsDelayedInstantiation=i}}const I1e=[];function qn(n,e,t){e instanceof Km||(e=new Km(e,[],!!t)),I1e.push([n,e])}function F1e(){return I1e}const Pr=Object.freeze({text:"text/plain",binary:"application/octet-stream",unknown:"application/unknown",markdown:"text/markdown",latex:"text/latex",uriList:"text/uri-list"}),B9={JSONContribution:"base.contributions.json"};function $gt(n){return n.length>0&&n.charAt(n.length-1)==="#"?n.substring(0,n.length-1):n}class qgt{constructor(){this._onDidChangeSchema=new be,this.schemasById={}}registerSchema(e,t){this.schemasById[$gt(e)]=t,this._onDidChangeSchema.fire(e)}notifySchemaChanged(e){this._onDidChangeSchema.fire(e)}}const ept=new qgt;Do.add(B9.JSONContribution,ept);const Eh={Configuration:"base.contributions.configuration"},mF="vscode://schemas/settings/resourceLanguage",D1e=Do.as(B9.JSONContribution);class tpt{constructor(){this.overrideIdentifiers=new Set,this._onDidSchemaChange=new be,this._onDidUpdateConfiguration=new be,this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:_("defaultLanguageConfigurationOverrides.title","Default Language Configuration Overrides"),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.excludedConfigurationProperties={},D1e.registerSchema(mF,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(e,t=!0){this.registerConfigurations([e],t)}registerConfigurations(e,t=!0){const i=new Set;this.doRegisterConfigurations(e,t,i),D1e.registerSchema(mF,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:i})}registerDefaultConfigurations(e){const t=new Set;this.doRegisterDefaultConfigurations(e,t),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:t,defaultsOverrides:!0})}doRegisterDefaultConfigurations(e,t){var i;const r=[];for(const{overrides:o,source:s}of e)for(const a in o)if(t.add(a),qb.test(a)){const l=this.configurationDefaultsOverrides.get(a),u=(i=l==null?void 0:l.valuesSources)!==null&&i!==void 0?i:new Map;if(s)for(const m of Object.keys(o[a]))u.set(m,s);const c={...(l==null?void 0:l.value)||{},...o[a]};this.configurationDefaultsOverrides.set(a,{source:s,value:c,valuesSources:u});const d=Qgt(a),h={type:"object",default:c,description:_("defaultLanguageConfiguration.description","Configure settings to be overridden for the {0} language.",d),$ref:mF,defaultDefaultValue:c,source:Nl(s)?void 0:s,defaultValueSource:s};r.push(...z9(a)),this.configurationProperties[a]=h,this.defaultLanguageConfigurationOverridesNode.properties[a]=h}else{this.configurationDefaultsOverrides.set(a,{value:o[a],source:s});const l=this.configurationProperties[a];l&&(this.updatePropertyDefaultValue(a,l),this.updateSchema(a,l))}this.doRegisterOverrideIdentifiers(r)}registerOverrideIdentifiers(e){this.doRegisterOverrideIdentifiers(e),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(e){for(const t of e)this.overrideIdentifiers.add(t);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(e,t,i){e.forEach(r=>{this.validateAndRegisterProperties(r,t,r.extensionInfo,r.restrictedProperties,void 0,i),this.configurationContributors.push(r),this.registerJSONConfiguration(r)})}validateAndRegisterProperties(e,t=!0,i,r,o=3,s){var a;o=Zu(e.scope)?o:e.scope;const l=e.properties;if(l)for(const c in l){const d=l[c];if(t&&rpt(c,d)){delete l[c];continue}if(d.source=i,d.defaultDefaultValue=l[c].default,this.updatePropertyDefaultValue(c,d),qb.test(c)?d.scope=void 0:(d.scope=Zu(d.scope)?o:d.scope,d.restricted=Zu(d.restricted)?!!(r!=null&&r.includes(c)):d.restricted),l[c].hasOwnProperty("included")&&!l[c].included){this.excludedConfigurationProperties[c]=l[c],delete l[c];continue}else this.configurationProperties[c]=l[c],!((a=l[c].policy)===null||a===void 0)&&a.name&&this.policyConfigurations.set(l[c].policy.name,c);!l[c].deprecationMessage&&l[c].markdownDeprecationMessage&&(l[c].deprecationMessage=l[c].markdownDeprecationMessage),s.add(c)}const u=e.allOf;if(u)for(const c of u)this.validateAndRegisterProperties(c,t,i,r,o,s)}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}registerJSONConfiguration(e){const t=i=>{const r=i.properties;if(r)for(const s in r)this.updateSchema(s,r[s]);const o=i.allOf;o==null||o.forEach(t)};t(e)}updateSchema(e,t){switch(t.scope){case 1:break;case 2:break;case 6:break;case 3:break;case 4:break;case 5:this.resourceLanguageSettingsSchema.properties[e]=t;break}}updateOverridePropertyPatternKey(){for(const e of this.overrideIdentifiers.values()){const t=`[${e}]`,i={type:"object",description:_("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:_("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:mF};this.updatePropertyDefaultValue(t,i)}}registerOverridePropertyPatternKey(){_("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),_("overrideSettings.errorMessage","This setting does not support per-language configuration."),this._onDidSchemaChange.fire()}updatePropertyDefaultValue(e,t){const i=this.configurationDefaultsOverrides.get(e);let r=i==null?void 0:i.value,o=i==null?void 0:i.source;iu(r)&&(r=t.defaultDefaultValue,o=void 0),iu(r)&&(r=ipt(t.type)),t.default=r,t.defaultValueSource=o}}const N1e="\\[([^\\]]+)\\]",M1e=new RegExp(N1e,"g"),npt=`^(${N1e})+$`,qb=new RegExp(npt);function z9(n){const e=[];if(qb.test(n)){let t=M1e.exec(n);for(;t!=null&&t.length;){const i=t[1].trim();i&&e.push(i),t=M1e.exec(n)}}return Zg(e)}function ipt(n){switch(Array.isArray(n)?n[0]:n){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}const H9=new tpt;Do.add(Eh.Configuration,H9);function rpt(n,e){var t,i,r,o;return n.trim()?qb.test(n)?_("config.property.languageDefault","Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",n):H9.getConfigurationProperties()[n]!==void 0?_("config.property.duplicate","Cannot register '{0}'. This property is already registered.",n):!((t=e.policy)===null||t===void 0)&&t.name&&H9.getPolicyConfigurations().get((i=e.policy)===null||i===void 0?void 0:i.name)!==void 0?_("config.policy.duplicate","Cannot register '{0}'. The associated policy {1} is already registered with {2}.",n,(r=e.policy)===null||r===void 0?void 0:r.name,H9.getPolicyConfigurations().get((o=e.policy)===null||o===void 0?void 0:o.name)):null:_("config.property.empty","Cannot register an empty property")}const opt={ModesRegistry:"editor.modesRegistry"};class spt{constructor(){this._onDidChangeLanguages=new be,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(e){return this._languages.push(e),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let t=0,i=this._languages.length;t{const l=new Set;return{info:new lpt(this,a,l),closing:l}}),o=new n0e(a=>{const l=new Set,u=new Set;return{info:new upt(this,a,l,u),opening:l,openingColorized:u}});for(const[a,l]of i){const u=r.get(a),c=o.get(l);u.closing.add(c.info),c.opening.add(u.info)}const s=t.colorizedBracketPairs?k1e(t.colorizedBracketPairs):i.filter(a=>!(a[0]==="<"&&a[1]===">"));for(const[a,l]of s){const u=r.get(a),c=o.get(l);u.closing.add(c.info),c.openingColorized.add(u.info),c.opening.add(u.info)}this._openingBrackets=new Map([...r.cachedValues].map(([a,l])=>[a,l.info])),this._closingBrackets=new Map([...o.cachedValues].map(([a,l])=>[a,l.info]))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(e){return this._openingBrackets.get(e)}getClosingBracketInfo(e){return this._closingBrackets.get(e)}getBracketInfo(e){return this.getOpeningBracketInfo(e)||this.getClosingBracketInfo(e)}}function k1e(n){return n.filter(([e,t])=>e!==""&&t!=="")}class T1e{constructor(e,t){this.config=e,this.bracketText=t}get languageId(){return this.config.languageId}}class lpt extends T1e{constructor(e,t,i){super(e,t),this.openedBrackets=i,this.isOpeningBracket=!0}}class upt extends T1e{constructor(e,t,i,r){super(e,t),this.openingBrackets=i,this.openingColorizedBrackets=r,this.isOpeningBracket=!1}closes(e){return e.config!==this.config?!1:this.openingBrackets.has(e)}closesColorized(e){return e.config!==this.config?!1:this.openingColorizedBrackets.has(e)}getOpeningBrackets(){return[...this.openingBrackets]}}var cpt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},E1e=function(n,e){return function(t,i){e(t,i,n)}};class e6{constructor(e){this.languageId=e}affects(e){return this.languageId?this.languageId===e:!0}}const er=Un("languageConfigurationService");let t6=class extends Fe{constructor(e,t){super(),this.configurationService=e,this.languageService=t,this._registry=this._register(new fpt),this.onDidChangeEmitter=this._register(new be),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const i=new Set(Object.values(n6));this._register(this.configurationService.onDidChangeConfiguration(r=>{const o=r.change.keys.some(a=>i.has(a)),s=r.change.overrides.filter(([a,l])=>l.some(u=>i.has(u))).map(([a])=>a);if(o)this.configurations.clear(),this.onDidChangeEmitter.fire(new e6(void 0));else for(const a of s)this.languageService.isRegisteredLanguageId(a)&&(this.configurations.delete(a),this.onDidChangeEmitter.fire(new e6(a)))})),this._register(this._registry.onDidChange(r=>{this.configurations.delete(r.languageId),this.onDidChangeEmitter.fire(new e6(r.languageId))}))}register(e,t,i){return this._registry.register(e,t,i)}getLanguageConfiguration(e){let t=this.configurations.get(e);return t||(t=dpt(e,this._registry,this.configurationService,this.languageService),this.configurations.set(e,t)),t}};t6=cpt([E1e(0,Pn),E1e(1,br)],t6);function dpt(n,e,t,i){let r=e.getLanguageConfiguration(n);if(!r){if(!i.isRegisteredLanguageId(n))return new Ww(n,{});r=new Ww(n,{})}const o=hpt(r.languageId,t),s=W1e([r.underlyingConfig,o]);return new Ww(r.languageId,s)}const n6={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function hpt(n,e){const t=e.getValue(n6.brackets,{overrideIdentifier:n}),i=e.getValue(n6.colorizedBracketPairs,{overrideIdentifier:n});return{brackets:R1e(t),colorizedBracketPairs:R1e(i)}}function R1e(n){if(Array.isArray(n))return n.map(e=>{if(!(!Array.isArray(e)||e.length!==2))return[e[0],e[1]]}).filter(e=>!!e)}function Z1e(n,e,t){const i=n.getLineContent(e);let r=Ui(i);return r.length>t-1&&(r=r.substring(0,t-1)),r}function Zw(n,e,t){n.tokenization.forceTokenization(e);const i=n.tokenization.getLineTokens(e),r=typeof t>"u"?n.getLineMaxColumn(e)-1:t-1;return I9(i,r)}class mpt{constructor(e){this.languageId=e,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(e,t){const i=new A1e(e,t,++this._order);return this._entries.push(i),this._resolved=null,jt(()=>{for(let r=0;re.configuration)))}}function W1e(n){let e={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void 0,onEnterRules:void 0,autoClosingPairs:void 0,surroundingPairs:void 0,autoCloseBefore:void 0,folding:void 0,colorizedBracketPairs:void 0,__electricCharacterSupport:void 0};for(const t of n)e={comments:t.comments||e.comments,brackets:t.brackets||e.brackets,wordPattern:t.wordPattern||e.wordPattern,indentationRules:t.indentationRules||e.indentationRules,onEnterRules:t.onEnterRules||e.onEnterRules,autoClosingPairs:t.autoClosingPairs||e.autoClosingPairs,surroundingPairs:t.surroundingPairs||e.surroundingPairs,autoCloseBefore:t.autoCloseBefore||e.autoCloseBefore,folding:t.folding||e.folding,colorizedBracketPairs:t.colorizedBracketPairs||e.colorizedBracketPairs,__electricCharacterSupport:t.__electricCharacterSupport||e.__electricCharacterSupport};return e}class A1e{constructor(e,t,i){this.configuration=e,this.priority=t,this.order=i}static cmp(e,t){return e.priority===t.priority?e.order-t.order:e.priority-t.priority}}class V1e{constructor(e){this.languageId=e}}class fpt extends Fe{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new be),this.onDidChange=this._onDidChange.event,this._register(this.register(Pu,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(e,t,i=0){let r=this._entries.get(e);r||(r=new mpt(e),this._entries.set(e,r));const o=r.register(t,i);return this._onDidChange.fire(new V1e(e)),jt(()=>{o.dispose(),this._onDidChange.fire(new V1e(e))})}getLanguageConfiguration(e){const t=this._entries.get(e);return(t==null?void 0:t.getResolvedConfiguration())||null}}class Ww{constructor(e,t){this.languageId=e,this.underlyingConfig=t,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new Ew(this.underlyingConfig):null,this.comments=Ww._handleComments(this.underlyingConfig),this.characterPair=new kw(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||XY,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new Jgt(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new apt(e,this.underlyingConfig)}getWordDefinition(){return PY(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new Ogt(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new Kgt(this.brackets)),this._electricCharacter}onEnter(e,t,i,r){return this._onEnterSupport?this._onEnterSupport.onEnter(e,t,i,r):null}getAutoClosingPairs(){return new Igt(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(e){return this.characterPair.getAutoCloseBeforeSet(e)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(e){const t=e.comments;if(!t)return null;const i={};if(t.lineComment&&(i.lineCommentToken=t.lineComment),t.blockComment){const[r,o]=t.blockComment;i.blockCommentStartToken=r,i.blockCommentEndToken=o}return i}}qn(er,t6,1);function Aw(n,e,t,i){const r=Zw(e,t.startLineNumber,t.startColumn),o=i.getLanguageConfiguration(r.languageId);if(!o)return null;const s=r.getLineContent(),a=s.substr(0,t.startColumn-1-r.firstCharOffset);let l;t.isEmpty()?l=s.substr(t.startColumn-1-r.firstCharOffset):l=Zw(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-r.firstCharOffset);let u="";if(t.startLineNumber>1&&r.firstCharOffset===0){const g=Zw(e,t.startLineNumber-1);g.languageId===r.languageId&&(u=g.getLineContent())}const c=o.onEnter(n,u,a,l);if(!c)return null;const d=c.indentAction;let h=c.appendText;const m=c.removeText||0;h?d===No.Indent&&(h=" "+h):d===No.Indent||d===No.IndentOutdent?h=" ":h="";let f=Z1e(e,t.startLineNumber,t.startColumn);return m&&(f=f.substring(0,f.length-m)),{indentAction:d,appendText:h,removeText:m,indentation:f}}var gpt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},ppt=function(n,e){return function(t,i){e(t,i,n)}},Y9;const i6=Object.create(null);function iv(n,e){if(e<=0)return"";i6[n]||(i6[n]=["",n]);const t=i6[n];for(let i=t.length;i<=e;i++)t[i]=t[i-1]+n;return t[e]}let Ec=Y9=class{static unshiftIndent(e,t,i,r,o){const s=Jo.visibleColumnFromColumn(e,t,i);if(o){const a=iv(" ",r),u=Jo.prevIndentTabStop(s,r)/r;return iv(a,u)}else{const a=" ",u=Jo.prevRenderTabStop(s,i)/i;return iv(a,u)}}static shiftIndent(e,t,i,r,o){const s=Jo.visibleColumnFromColumn(e,t,i);if(o){const a=iv(" ",r),u=Jo.nextIndentTabStop(s,r)/r;return iv(a,u)}else{const a=" ",u=Jo.nextRenderTabStop(s,i)/i;return iv(a,u)}}constructor(e,t,i){this._languageConfigurationService=i,this._opts=t,this._selection=e,this._selectionId=null,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}_addEditOperation(e,t,i){this._useLastEditRangeForCursorEndPosition?e.addTrackedEditOperation(t,i):e.addEditOperation(t,i)}getEditOperations(e,t){const i=this._selection.startLineNumber;let r=this._selection.endLineNumber;this._selection.endColumn===1&&i!==r&&(r=r-1);const{tabSize:o,indentSize:s,insertSpaces:a}=this._opts,l=i===r;if(this._opts.useTabStops){this._selection.isEmpty()&&/^\s*$/.test(e.getLineContent(i))&&(this._useLastEditRangeForCursorEndPosition=!0);let u=0,c=0;for(let d=i;d<=r;d++,u=c){c=0;const h=e.getLineContent(d);let m=La(h);if(this._opts.isUnshift&&(h.length===0||m===0)||!l&&!this._opts.isUnshift&&h.length===0)continue;if(m===-1&&(m=h.length),d>1&&Jo.visibleColumnFromColumn(h,m+1,o)%s!==0&&e.tokenization.isCheapToTokenize(d-1)){const b=Aw(this._opts.autoIndent,e,new J(d-1,e.getLineMaxColumn(d-1),d-1,e.getLineMaxColumn(d-1)),this._languageConfigurationService);if(b){if(c=u,b.appendText)for(let y=0,C=b.appendText.length;y1){let r,o=-1;for(r=e-1;r>=1;r--){if(n.tokenization.getLanguageIdAtPosition(r,0)!==i)return o;const s=n.getLineContent(r);if(t.shouldIgnore(s)||/^\s+$/.test(s)||s===""){o=r;continue}return r}}return-1}function U9(n,e,t,i=!0,r){if(n<4)return null;const o=r.getLanguageConfiguration(e.tokenization.getLanguageId()).indentRulesSupport;if(!o)return null;if(t<=1)return{indentation:"",action:null};for(let l=t-1;l>0&&e.getLineContent(l)==="";l--)if(l===1)return{indentation:"",action:null};const s=vpt(e,t,o);if(s<0)return null;if(s<1)return{indentation:"",action:null};const a=e.getLineContent(s);if(o.shouldIncrease(a)||o.shouldIndentNextLine(a))return{indentation:Ui(a),action:No.Indent,line:s};if(o.shouldDecrease(a))return{indentation:Ui(a),action:null,line:s};{if(s===1)return{indentation:Ui(e.getLineContent(s)),action:null,line:s};const l=s-1,u=o.getIndentMetadata(e.getLineContent(l));if(!(u&3)&&u&4){let c=0;for(let d=l-1;d>0;d--)if(!o.shouldIndentNextLine(e.getLineContent(d))){c=d;break}return{indentation:Ui(e.getLineContent(c+1)),action:null,line:c+1}}if(i)return{indentation:Ui(e.getLineContent(s)),action:null,line:s};for(let c=s;c>0;c--){const d=e.getLineContent(c);if(o.shouldIncrease(d))return{indentation:Ui(d),action:No.Indent,line:c};if(o.shouldIndentNextLine(d)){let h=0;for(let m=c-1;m>0;m--)if(!o.shouldIndentNextLine(e.getLineContent(c))){h=m;break}return{indentation:Ui(e.getLineContent(h+1)),action:null,line:h+1}}else if(o.shouldDecrease(d))return{indentation:Ui(d),action:null,line:c}}return{indentation:Ui(e.getLineContent(1)),action:null,line:1}}}function fF(n,e,t,i,r,o){if(n<4)return null;const s=o.getLanguageConfiguration(t);if(!s)return null;const a=o.getLanguageConfiguration(t).indentRulesSupport;if(!a)return null;const l=U9(n,e,i,void 0,o),u=e.getLineContent(i);if(l){const c=l.line;if(c!==void 0){let d=!0;for(let h=c;h0&&o.getLanguageId(0)!==s.languageId?(l=!0,u=a.substr(0,t.startColumn-1-s.firstCharOffset)):u=o.getLineContent().substring(0,t.startColumn-1);let c;t.isEmpty()?c=a.substr(t.startColumn-1-s.firstCharOffset):c=Zw(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-s.firstCharOffset);const d=r.getLanguageConfiguration(s.languageId).indentRulesSupport;if(!d)return null;const h=u,m=Ui(u),f={tokenization:{getLineTokens:C=>e.tokenization.getLineTokens(C),getLanguageId:()=>e.getLanguageId(),getLanguageIdAtPosition:(C,w)=>e.getLanguageIdAtPosition(C,w)},getLineContent:C=>C===t.startLineNumber?h:e.getLineContent(C)},g=Ui(o.getLineContent()),b=U9(n,f,t.startLineNumber+1,void 0,r);if(!b){const C=l?g:m;return{beforeEnter:C,afterEnter:C}}let y=l?g:b.indentation;return b.action===No.Indent&&(y=i.shiftIndent(y)),d.shouldDecrease(c)&&(y=i.unshiftIndent(y)),{beforeEnter:l?g:m,afterEnter:y}}function Spt(n,e,t,i,r,o){if(n<4)return null;const s=Zw(e,t.startLineNumber,t.startColumn);if(s.firstCharOffset)return null;const a=o.getLanguageConfiguration(s.languageId).indentRulesSupport;if(!a)return null;const l=s.getLineContent(),u=l.substr(0,t.startColumn-1-s.firstCharOffset);let c;if(t.isEmpty()?c=l.substr(t.startColumn-1-s.firstCharOffset):c=Zw(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-s.firstCharOffset),!a.shouldDecrease(u+c)&&a.shouldDecrease(u+i+c)){const d=U9(n,e,t.startLineNumber,!1,o);if(!d)return null;let h=d.indentation;return d.action!==No.Indent&&(h=r.unshiftIndent(h)),h}return null}function G1e(n,e,t){const i=t.getLanguageConfiguration(n.getLanguageId()).indentRulesSupport;return!i||e<1||e>n.getLineCount()?null:i.getIndentMetadata(n.getLineContent(e))}class Mr{static indent(e,t,i){if(t===null||i===null)return[];const r=[];for(let o=0,s=i.length;o1){let a;for(a=i-1;a>=1;a--){const c=t.getLineContent(a);if(Ih(c)>=0)break}if(a<1)return null;const l=t.getLineMaxColumn(a),u=Aw(e.autoIndent,t,new J(a,l,a,l),e.languageConfigurationService);u&&(o=u.indentation+u.appendText)}return r&&(r===No.Indent&&(o=Mr.shiftIndent(e,o)),r===No.Outdent&&(o=Mr.unshiftIndent(e,o)),o=e.normalizeIndentation(o)),o||null}static _replaceJumpToNextIndent(e,t,i,r){let o="";const s=i.getStartPosition();if(e.insertSpaces){const a=e.visibleColumnFromColumn(t,s),l=e.indentSize,u=l-a%l;for(let c=0;cthis._compositionType(i,c,o,s,a,l));return new Zl(4,u,{shouldPushStackElementBefore:K9(e,4),shouldPushStackElementAfter:!1})}static _compositionType(e,t,i,r,o,s){if(!t.isEmpty())return null;const a=t.getPosition(),l=Math.max(1,a.column-r),u=Math.min(e.getLineMaxColumn(a.lineNumber),a.column+o),c=new J(a.lineNumber,l,a.lineNumber,u);return e.getValueInRange(c)===i&&s===0?null:new N9(c,i,0,s)}static _typeCommand(e,t,i){return i?new D9(e,t,!0):new qs(e,t,!0)}static _enter(e,t,i,r){if(e.autoIndent===0)return Mr._typeCommand(r,` +`,i);if(!t.tokenization.isCheapToTokenize(r.getStartPosition().lineNumber)||e.autoIndent===1){const l=t.getLineContent(r.startLineNumber),u=Ui(l).substring(0,r.startColumn-1);return Mr._typeCommand(r,` +`+e.normalizeIndentation(u),i)}const o=Aw(e.autoIndent,t,r,e.languageConfigurationService);if(o){if(o.indentAction===No.None)return Mr._typeCommand(r,` +`+e.normalizeIndentation(o.indentation+o.appendText),i);if(o.indentAction===No.Indent)return Mr._typeCommand(r,` +`+e.normalizeIndentation(o.indentation+o.appendText),i);if(o.indentAction===No.IndentOutdent){const l=e.normalizeIndentation(o.indentation),u=e.normalizeIndentation(o.indentation+o.appendText),c=` `+u+` -`+l;return i?new D9(r,c,!0):new M9(r,c,-1,u.length-l.length,!0)}else if(o.indentAction===Mo.Outdent){const l=Nr.unshiftIndent(e,o.indentation);return Nr._typeCommand(r,` -`+e.normalizeIndentation(l+o.appendText),i)}}const s=t.getLineContent(r.startLineNumber),a=Ki(s).substring(0,r.startColumn-1);if(e.autoIndent>=4){const l=Cpt(e.autoIndent,t,r,{unshiftIndent:u=>Nr.unshiftIndent(e,u),shiftIndent:u=>Nr.shiftIndent(e,u),normalizeIndentation:u=>e.normalizeIndentation(u)},e.languageConfigurationService);if(l){let u=e.visibleColumnFromColumn(t,r.getEndPosition());const c=r.endColumn,d=t.getLineContent(r.endLineNumber),h=_a(d);if(h>=0?r=r.setEndPosition(r.endLineNumber,Math.max(r.endColumn,h+1)):r=r.setEndPosition(r.endLineNumber,t.getLineMaxColumn(r.endLineNumber)),i)return new D9(r,` -`+e.normalizeIndentation(l.afterEnter),!0);{let m=0;return c<=h+1&&(e.insertSpaces||(u=Math.ceil(u/e.indentSize)),m=Math.min(u+1-e.normalizeIndentation(l.afterEnter).length-1,0)),new M9(r,` -`+e.normalizeIndentation(l.afterEnter),0,m,!0)}}}return Nr._typeCommand(r,` -`+e.normalizeIndentation(a),i)}static _isAutoIndentType(e,t,i){if(e.autoIndent<4)return!1;for(let r=0,o=i.length;rNr.shiftIndent(e,a),unshiftIndent:a=>Nr.unshiftIndent(e,a)},e.languageConfigurationService);if(s===null)return null;if(s!==e.normalizeIndentation(o)){const a=t.getLineFirstNonWhitespaceColumn(i.startLineNumber);return a===0?Nr._typeCommand(new J(i.startLineNumber,1,i.endLineNumber,i.endColumn),e.normalizeIndentation(s)+r,!1):Nr._typeCommand(new J(i.startLineNumber,1,i.endLineNumber,i.endColumn),e.normalizeIndentation(s)+t.getLineContent(i.startLineNumber).substring(a-1,i.startColumn-1)+r,!1)}return null}static _isAutoClosingOvertype(e,t,i,r,o){if(e.autoClosingOvertype==="never"||!e.autoClosingPairs.autoClosingPairsCloseSingleChar.has(o))return!1;for(let s=0,a=i.length;s2?c.charCodeAt(u.column-2):0)===92&&h)return!1;if(e.autoClosingOvertype==="auto"){let f=!1;for(let g=0,b=r.length;gt.startsWith(l.open)),a=o.some(l=>t.startsWith(l.close));return!s&&a}static _findAutoClosingPairOpen(e,t,i,r){const o=e.autoClosingPairs.autoClosingPairsOpenByEnd.get(r);if(!o)return null;let s=null;for(const a of o)if(s===null||a.open.length>s.open.length){let l=!0;for(const u of i)if(t.getValueInRange(new J(u.lineNumber,u.column-a.open.length+1,u.lineNumber,u.column))+r!==a.open){l=!1;break}l&&(s=a)}return s}static _findContainedAutoClosingPair(e,t){if(t.open.length<=1)return null;const i=t.close.charAt(t.close.length-1),r=e.autoClosingPairs.autoClosingPairsCloseByEnd.get(i)||[];let o=null;for(const s of r)s.open!==t.open&&t.open.includes(s.open)&&t.close.endsWith(s.close)&&(!o||s.open.length>o.open.length)&&(o=s);return o}static _getAutoClosingPairClose(e,t,i,r,o){for(const f of i)if(!f.isEmpty())return null;const s=i.map(f=>{const g=f.getPosition();return o?{lineNumber:g.lineNumber,beforeColumn:g.column-r.length,afterColumn:g.column}:{lineNumber:g.lineNumber,beforeColumn:g.column,afterColumn:g.column}}),a=this._findAutoClosingPairOpen(e,t,s.map(f=>new ye(f.lineNumber,f.beforeColumn)),r);if(!a)return null;let l,u;if($b(r)?(l=e.autoClosingQuotes,u=e.shouldAutoCloseBefore.quote):(e.blockCommentStartToken?a.open.includes(e.blockCommentStartToken):!1)?(l=e.autoClosingComments,u=e.shouldAutoCloseBefore.comment):(l=e.autoClosingBrackets,u=e.shouldAutoCloseBefore.bracket),l==="never")return null;const d=this._findContainedAutoClosingPair(e,a),h=d?d.close:"";let m=!0;for(const f of s){const{lineNumber:g,beforeColumn:b,afterColumn:v}=f,C=t.getLineContent(g),S=C.substring(0,b-1),x=C.substring(v-1);if(x.startsWith(h)||(m=!1),x.length>0){const M=x.charAt(0);if(!Nr._isBeforeClosingBrace(e,x)&&!u(M))return null}if(a.open.length===1&&(r==="'"||r==='"')&&l!=="always"){const M=Nc(e.wordSeparators,[]);if(S.length>0){const T=S.charCodeAt(S.length-1);if(M.get(T)===0)return null}}if(!t.tokenization.isCheapToTokenize(g))return null;t.tokenization.forceTokenization(g);const _=t.tokenization.getLineTokens(g),F=F9(_,b-1);if(!a.shouldAutoClose(F,b-F.firstCharOffset))return null;const D=a.findNeutralCharacter();if(D){const M=t.tokenization.getTokenTypeIfInsertingCharacter(g,b,D);if(!a.isOK(M))return null}}return m?a.close.substring(0,a.close.length-h.length):a.close}static _runAutoClosingOpenCharType(e,t,i,r,o,s,a){const l=[];for(let u=0,c=r.length;unew qs(new J(h.positionLineNumber,h.positionColumn,h.positionLineNumber,h.positionColumn+1),"",!1));return new Wl(4,d,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}const c=this._getAutoClosingPairClose(t,i,o,l,!0);return c!==null?this._runAutoClosingOpenCharType(e,t,i,o,l,!0,c):null}static typeWithInterceptors(e,t,i,r,o,s,a){if(!e&&a===` -`){const c=[];for(let d=0,h=o.length;d{const r=t.get(vi).getFocusedCodeEditor();return r&&r.hasTextFocus()?this._runEditorCommand(t,r,i):!1}),e.addImplementation(1e3,"generic-dom-input-textarea",(t,i)=>{const r=js();return r&&["input","textarea"].indexOf(r.tagName.toLowerCase())>=0?(this.runDOMCommand(r),!0):!1}),e.addImplementation(0,"generic-dom",(t,i)=>{const r=t.get(vi).getActiveCodeEditor();return r?(r.focus(),this._runEditorCommand(t,r,i)):!1})}_runEditorCommand(e,t,i){const r=this.runEditorCommand(e,t,i);return r||!0}}var bs;(function(n){class e extends Or{constructor(C){super(C),this._inSelectionMode=C.inSelectionMode}runCoreEditorCommand(C,S){if(!S.position)return;C.model.pushStackElement(),C.setCursorStates(S.source,3,[Ns.moveTo(C,C.getPrimaryCursorState(),this._inSelectionMode,S.position,S.viewPosition)])&&S.revealType!==2&&C.revealAllCursors(S.source,!0,!0)}}n.MoveTo=gt(new e({id:"_moveTo",inSelectionMode:!1,precondition:void 0})),n.MoveToSelect=gt(new e({id:"_moveToSelect",inSelectionMode:!0,precondition:void 0}));class t extends Or{runCoreEditorCommand(C,S){C.model.pushStackElement();const x=this._getColumnSelectResult(C,C.getPrimaryCursorState(),C.getCursorColumnSelectData(),S);x!==null&&(C.setCursorStates(S.source,3,x.viewStates.map(_=>si.fromViewState(_))),C.setCursorColumnSelectData({isReal:!0,fromViewLineNumber:x.fromLineNumber,fromViewVisualColumn:x.fromVisualColumn,toViewLineNumber:x.toLineNumber,toViewVisualColumn:x.toVisualColumn}),x.reversed?C.revealTopMostCursor(S.source):C.revealBottomMostCursor(S.source))}}n.ColumnSelect=gt(new class extends t{constructor(){super({id:"columnSelect",precondition:void 0})}_getColumnSelectResult(v,C,S,x){if(typeof x.position>"u"||typeof x.viewPosition>"u"||typeof x.mouseColumn>"u")return null;const _=v.model.validatePosition(x.position),F=v.coordinatesConverter.validateViewPosition(new ye(x.viewPosition.lineNumber,x.viewPosition.column),_),D=x.doColumnSelect?S.fromViewLineNumber:F.lineNumber,M=x.doColumnSelect?S.fromViewVisualColumn:x.mouseColumn-1;return ty.columnSelect(v.cursorConfig,v,D,M,F.lineNumber,x.mouseColumn-1)}}),n.CursorColumnSelectLeft=gt(new class extends t{constructor(){super({id:"cursorColumnSelectLeft",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:3599,linux:{primary:0}}})}_getColumnSelectResult(v,C,S,x){return ty.columnSelectLeft(v.cursorConfig,v,S)}}),n.CursorColumnSelectRight=gt(new class extends t{constructor(){super({id:"cursorColumnSelectRight",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:3601,linux:{primary:0}}})}_getColumnSelectResult(v,C,S,x){return ty.columnSelectRight(v.cursorConfig,v,S)}});class i extends t{constructor(C){super(C),this._isPaged=C.isPaged}_getColumnSelectResult(C,S,x,_){return ty.columnSelectUp(C.cursorConfig,C,x,this._isPaged)}}n.CursorColumnSelectUp=gt(new i({isPaged:!1,id:"cursorColumnSelectUp",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:3600,linux:{primary:0}}})),n.CursorColumnSelectPageUp=gt(new i({isPaged:!0,id:"cursorColumnSelectPageUp",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:3595,linux:{primary:0}}}));class r extends t{constructor(C){super(C),this._isPaged=C.isPaged}_getColumnSelectResult(C,S,x,_){return ty.columnSelectDown(C.cursorConfig,C,x,this._isPaged)}}n.CursorColumnSelectDown=gt(new r({isPaged:!1,id:"cursorColumnSelectDown",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:3602,linux:{primary:0}}})),n.CursorColumnSelectPageDown=gt(new r({isPaged:!0,id:"cursorColumnSelectPageDown",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:3596,linux:{primary:0}}}));class o extends Or{constructor(){super({id:"cursorMove",precondition:void 0,metadata:Z9.metadata})}runCoreEditorCommand(C,S){const x=Z9.parse(S);x&&this._runCursorMove(C,S.source,x)}_runCursorMove(C,S,x){C.model.pushStackElement(),C.setCursorStates(S,3,o._move(C,C.getCursorStates(),x)),C.revealAllCursors(S,!0)}static _move(C,S,x){const _=x.select,F=x.value;switch(x.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return Ns.simpleMove(C,S,x.direction,_,F,x.unit);case 11:case 13:case 12:case 14:return Ns.viewportMove(C,S,x.direction,_,F);default:return null}}}n.CursorMoveImpl=o,n.CursorMove=gt(new o);class s extends Or{constructor(C){super(C),this._staticArgs=C.args}runCoreEditorCommand(C,S){let x=this._staticArgs;this._staticArgs.value===-1&&(x={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:S.pageSize||C.cursorConfig.pageSize}),C.model.pushStackElement(),C.setCursorStates(S.source,3,Ns.simpleMove(C,C.getCursorStates(),x.direction,x.select,x.value,x.unit)),C.revealAllCursors(S.source,!0)}}n.CursorLeft=gt(new s({args:{direction:0,unit:0,select:!1,value:1},id:"cursorLeft",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),n.CursorLeftSelect=gt(new s({args:{direction:0,unit:0,select:!0,value:1},id:"cursorLeftSelect",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:1039}})),n.CursorRight=gt(new s({args:{direction:1,unit:0,select:!1,value:1},id:"cursorRight",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),n.CursorRightSelect=gt(new s({args:{direction:1,unit:0,select:!0,value:1},id:"cursorRightSelect",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:1041}})),n.CursorUp=gt(new s({args:{direction:2,unit:2,select:!1,value:1},id:"cursorUp",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),n.CursorUpSelect=gt(new s({args:{direction:2,unit:2,select:!0,value:1},id:"cursorUpSelect",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),n.CursorPageUp=gt(new s({args:{direction:2,unit:2,select:!1,value:-1},id:"cursorPageUp",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:11}})),n.CursorPageUpSelect=gt(new s({args:{direction:2,unit:2,select:!0,value:-1},id:"cursorPageUpSelect",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:1035}})),n.CursorDown=gt(new s({args:{direction:3,unit:2,select:!1,value:1},id:"cursorDown",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),n.CursorDownSelect=gt(new s({args:{direction:3,unit:2,select:!0,value:1},id:"cursorDownSelect",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),n.CursorPageDown=gt(new s({args:{direction:3,unit:2,select:!1,value:-1},id:"cursorPageDown",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:12}})),n.CursorPageDownSelect=gt(new s({args:{direction:3,unit:2,select:!0,value:-1},id:"cursorPageDownSelect",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:1036}})),n.CreateCursor=gt(new class extends Or{constructor(){super({id:"createCursor",precondition:void 0})}runCoreEditorCommand(v,C){if(!C.position)return;let S;C.wholeLine?S=Ns.line(v,v.getPrimaryCursorState(),!1,C.position,C.viewPosition):S=Ns.moveTo(v,v.getPrimaryCursorState(),!1,C.position,C.viewPosition);const x=v.getCursorStates();if(x.length>1){const _=S.modelState?S.modelState.position:null,F=S.viewState?S.viewState.position:null;for(let D=0,M=x.length;DF&&(_=F);const D=new J(_,1,_,v.model.getLineMaxColumn(_));let M=0;if(S.at)switch(S.at){case AS.RawAtArgument.Top:M=3;break;case AS.RawAtArgument.Center:M=1;break;case AS.RawAtArgument.Bottom:M=4;break}const T=v.coordinatesConverter.convertModelRangeToViewRange(D);v.revealRange(C.source,!1,T,M,0)}}),n.SelectAll=new class extends o6{constructor(){super(hgt)}runDOMCommand(v){Ic&&(v.focus(),v.select()),v.ownerDocument.execCommand("selectAll")}runEditorCommand(v,C,S){const x=C._getViewModel();x&&this.runCoreEditorCommand(x,S)}runCoreEditorCommand(v,C){v.model.pushStackElement(),v.setCursorStates("keyboard",3,[Ns.selectAll(v,v.getPrimaryCursorState())])}},n.SetSelection=gt(new class extends Or{constructor(){super({id:"setSelection",precondition:void 0})}runCoreEditorCommand(v,C){C.selection&&(v.model.pushStackElement(),v.setCursorStates(C.source,3,[si.fromModelSelection(C.selection)]))}})})(bs||(bs={}));const xpt=Oe.and(ne.textInputFocus,ne.columnSelection);function GS(n,e){El.registerKeybindingRule({id:n,primary:e,when:xpt,weight:Ci+1})}GS(bs.CursorColumnSelectLeft.id,1039),GS(bs.CursorColumnSelectRight.id,1041),GS(bs.CursorColumnSelectUp.id,1040),GS(bs.CursorColumnSelectPageUp.id,1035),GS(bs.CursorColumnSelectDown.id,1042),GS(bs.CursorColumnSelectPageDown.id,1036);function B1e(n){return n.register(),n}var XS;(function(n){class e extends Ko{runEditorCommand(i,r,o){const s=r._getViewModel();s&&this.runCoreEditingCommand(r,s,o||{})}}n.CoreEditingCommand=e,n.LineBreakInsert=gt(new class extends e{constructor(){super({id:"lineBreakInsert",precondition:ne.writable,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:0,mac:{primary:301}}})}runCoreEditingCommand(t,i,r){t.pushUndoStop(),t.executeCommands(this.id,Nr.lineBreakInsert(i.cursorConfig,i.model,i.getCursorStates().map(o=>o.modelState.selection)))}}),n.Outdent=gt(new class extends e{constructor(){super({id:"outdent",precondition:ne.writable,kbOpts:{weight:Ci,kbExpr:Oe.and(ne.editorTextFocus,ne.tabDoesNotMoveFocus),primary:1026}})}runCoreEditingCommand(t,i,r){t.pushUndoStop(),t.executeCommands(this.id,Nr.outdent(i.cursorConfig,i.model,i.getCursorStates().map(o=>o.modelState.selection))),t.pushUndoStop()}}),n.Tab=gt(new class extends e{constructor(){super({id:"tab",precondition:ne.writable,kbOpts:{weight:Ci,kbExpr:Oe.and(ne.editorTextFocus,ne.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(t,i,r){t.pushUndoStop(),t.executeCommands(this.id,Nr.tab(i.cursorConfig,i.model,i.getCursorStates().map(o=>o.modelState.selection))),t.pushUndoStop()}}),n.DeleteLeft=gt(new class extends e{constructor(){super({id:"deleteLeft",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})}runCoreEditingCommand(t,i,r){const[o,s]=ny.deleteLeft(i.getPrevEditOperationType(),i.cursorConfig,i.model,i.getCursorStates().map(a=>a.modelState.selection),i.getCursorAutoClosedCharacters());o&&t.pushUndoStop(),t.executeCommands(this.id,s),i.setPrevEditOperationType(2)}}),n.DeleteRight=gt(new class extends e{constructor(){super({id:"deleteRight",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})}runCoreEditingCommand(t,i,r){const[o,s]=ny.deleteRight(i.getPrevEditOperationType(),i.cursorConfig,i.model,i.getCursorStates().map(a=>a.modelState.selection));o&&t.pushUndoStop(),t.executeCommands(this.id,s),i.setPrevEditOperationType(3)}}),n.Undo=new class extends o6{constructor(){super(n1e)}runDOMCommand(t){t.ownerDocument.execCommand("undo")}runEditorCommand(t,i,r){if(!(!i.hasModel()||i.getOption(91)===!0))return i.getModel().undo()}},n.Redo=new class extends o6{constructor(){super(i1e)}runDOMCommand(t){t.ownerDocument.execCommand("redo")}runEditorCommand(t,i,r){if(!(!i.hasModel()||i.getOption(91)===!0))return i.getModel().redo()}}})(XS||(XS={}));class z1e extends _9{constructor(e,t,i){super({id:e,precondition:void 0,metadata:i}),this._handlerId=t}runCommand(e,t){const i=e.get(vi).getFocusedCodeEditor();i&&i.trigger("keyboard",this._handlerId,t)}}function ry(n,e){B1e(new z1e("default:"+n,n)),B1e(new z1e(n,n,e))}ry("type",{description:"Type",args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]}),ry("replacePreviousChar"),ry("compositionType"),ry("compositionStart"),ry("compositionEnd"),ry("paste"),ry("cut");const s6=Un("markerDecorationsService");var Lpt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},_pt=function(n,e){return function(t,i){e(t,i,n)}};let gI=class{constructor(e,t){}dispose(){}};gI.ID="editor.contrib.markerDecorations",gI=Lpt([_pt(1,s6)],gI),yi(gI.ID,gI,0);class H1e{constructor(e){this.domNode=e,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingLeft="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(e){const t=Zh(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){const t=Zh(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){const t=Zh(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){const t=Zh(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){const t=Zh(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){const t=Zh(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){const t=Zh(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingLeft(e){const t=Zh(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){const t=Zh(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){const t=Zh(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){const t=Zh(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}}function Zh(n){return typeof n=="number"?`${n}px`:n}function Si(n){return new H1e(n)}function Ts(n,e){n instanceof H1e?(n.setFontFamily(e.getMassagedFontFamily()),n.setFontWeight(e.fontWeight),n.setFontSize(e.fontSize),n.setFontFeatureSettings(e.fontFeatureSettings),n.setFontVariationSettings(e.fontVariationSettings),n.setLineHeight(e.lineHeight),n.setLetterSpacing(e.letterSpacing)):(n.style.fontFamily=e.getMassagedFontFamily(),n.style.fontWeight=e.fontWeight,n.style.fontSize=e.fontSize+"px",n.style.fontFeatureSettings=e.fontFeatureSettings,n.style.fontVariationSettings=e.fontVariationSettings,n.style.lineHeight=e.lineHeight+"px",n.style.letterSpacing=e.letterSpacing+"px")}function Ag(n){if(!n||typeof n!="object"||n instanceof RegExp)return n;const e=Array.isArray(n)?[]:{};return Object.entries(n).forEach(([t,i])=>{e[t]=i&&typeof i=="object"?Ag(i):i}),e}function Fpt(n){if(!n||typeof n!="object")return n;const e=[n];for(;e.length>0;){const t=e.shift();Object.freeze(t);for(const i in t)if(Y1e.call(t,i)){const r=t[i];typeof r=="object"&&!Object.isFrozen(r)&&!vht(r)&&e.push(r)}}return n}const Y1e=Object.prototype.hasOwnProperty;function U1e(n,e){return a6(n,e,new Set)}function a6(n,e,t){if(Wu(n))return n;const i=e(n);if(typeof i<"u")return i;if(Array.isArray(n)){const r=[];for(const o of n)r.push(a6(o,e,t));return r}if(Ua(n)){if(t.has(n))throw new Error("Cannot clone recursive data-structure");t.add(n);const r={};for(const o in n)Y1e.call(n,o)&&(r[o]=a6(n[o],e,t));return t.delete(n),r}return n}function J9(n,e,t=!0){return Ua(n)?(Ua(e)&&Object.keys(e).forEach(i=>{i in n?t&&(Ua(n[i])&&Ua(e[i])?J9(n[i],e[i],t):n[i]=e[i]):n[i]=e[i]}),n):e}function Ou(n,e){if(n===e)return!0;if(n==null||e===null||e===void 0||typeof n!=typeof e||typeof n!="object"||Array.isArray(n)!==Array.isArray(e))return!1;let t,i;if(Array.isArray(n)){if(n.length!==e.length)return!1;for(t=0;tfunction(){const o=Array.prototype.slice.call(arguments,0);return e(r,o)},i={};for(const r of n)i[r]=t(r);return i}class K1e extends Ie{constructor(e,t){super(),this._onDidChange=this._register(new be),this.onDidChange=this._onDidChange.event,this._referenceDomElement=e,this._width=-1,this._height=-1,this._resizeObserver=null,this.measureReferenceDomElement(!1,t)}dispose(){this.stopObserving(),super.dispose()}getWidth(){return this._width}getHeight(){return this._height}startObserving(){if(!this._resizeObserver&&this._referenceDomElement){let e=null;const t=()=>{e?this.observe({width:e.width,height:e.height}):this.observe()};let i=!1,r=!1;const o=()=>{if(i&&!r)try{i=!1,r=!0,t()}finally{au(Qt(this._referenceDomElement),()=>{r=!1,o()})}};this._resizeObserver=new ResizeObserver(s=>{s&&s[0]&&s[0].contentRect?e={width:s[0].contentRect.width,height:s[0].contentRect.height}:e=null,i=!0,o()}),this._resizeObserver.observe(this._referenceDomElement)}}stopObserving(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null)}observe(e){this.measureReferenceDomElement(!0,e)}measureReferenceDomElement(e,t){let i=0,r=0;t?(i=t.width,r=t.height):this._referenceDomElement&&(i=this._referenceDomElement.clientWidth,r=this._referenceDomElement.clientHeight),i=Math.max(5,i),r=Math.max(5,r),(this._width!==i||this._height!==r)&&(this._width=i,this._height=r,e&&this._onDidChange.fire())}}class Mpt extends Ie{constructor(e){super(),this._onDidChange=this._register(new be),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(e,!0),this._mediaQueryList=null,this._handleChange(e,!1)}_handleChange(e,t){var i;(i=this._mediaQueryList)===null||i===void 0||i.removeEventListener("change",this._listener),this._mediaQueryList=e.matchMedia(`(resolution: ${e.devicePixelRatio}dppx)`),this._mediaQueryList.addEventListener("change",this._listener),t&&this._onDidChange.fire()}}class kpt extends Ie{get value(){return this._value}constructor(e){super(),this._onDidChange=this._register(new be),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio(e);const t=this._register(new Mpt(e));this._register(t.onDidChange(()=>{this._value=this._getPixelRatio(e),this._onDidChange.fire(this._value)}))}_getPixelRatio(e){const t=document.createElement("canvas").getContext("2d"),i=e.devicePixelRatio||1,r=t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return i/r}}class Npt{constructor(){this.mapWindowIdToPixelRatioMonitor=new Map}_getOrCreatePixelRatioMonitor(e){const t=i9(e);let i=this.mapWindowIdToPixelRatioMonitor.get(t);return i||(i=new kpt(e),this.mapWindowIdToPixelRatioMonitor.set(t,i),lt.once(pft)(({vscodeWindowId:r})=>{r===t&&(i==null||i.dispose(),this.mapWindowIdToPixelRatioMonitor.delete(t))})),i}getInstance(e){return this._getOrCreatePixelRatioMonitor(e)}}const pI=new Npt;class Tpt{constructor(e,t){this.chr=e,this.type=t,this.width=0}fulfill(e){this.width=e}}class u6{constructor(e,t){this._bareFontInfo=e,this._requests=t,this._container=null,this._testElements=null}read(e){this._createDomElements(),e.document.body.appendChild(this._container),this._readFromDomElements(),e.document.body.removeChild(this._container),this._container=null,this._testElements=null}_createDomElements(){const e=document.createElement("div");e.style.position="absolute",e.style.top="-50000px",e.style.width="50000px";const t=document.createElement("div");Ts(t,this._bareFontInfo),e.appendChild(t);const i=document.createElement("div");Ts(i,this._bareFontInfo),i.style.fontWeight="bold",e.appendChild(i);const r=document.createElement("div");Ts(r,this._bareFontInfo),r.style.fontStyle="italic",e.appendChild(r);const o=[];for(const s of this._requests){let a;s.type===0&&(a=t),s.type===2&&(a=i),s.type===1&&(a=r),a.appendChild(document.createElement("br"));const l=document.createElement("span");u6._render(l,s),a.appendChild(l),o.push(l)}this._container=e,this._testElements=o}static _render(e,t){if(t.chr===" "){let i=" ";for(let r=0;r<8;r++)i+=i;e.innerText=i}else{let i=t.chr;for(let r=0;r<8;r++)i+=i;e.textContent=i}}_readFromDomElements(){for(let e=0,t=this._requests.length;e"u"?this.defaultValue:e}compute(e,t,i){return i}}function Xt(n,e){return typeof n>"u"?e:n==="false"?!1:!!n}class ai extends PS{constructor(e,t,i,r=void 0){typeof r<"u"&&(r.type="boolean",r.default=i),super(e,t,i,r)}validate(e){return Xt(e,this.defaultValue)}}function oy(n,e,t,i){if(typeof n>"u")return e;let r=parseInt(n,10);return isNaN(r)?e:(r=Math.max(t,r),r=Math.min(i,r),r|0)}class ji extends PS{static clampedInt(e,t,i,r){return oy(e,t,i,r)}constructor(e,t,i,r,o,s=void 0){typeof s<"u"&&(s.type="integer",s.default=i,s.minimum=r,s.maximum=o),super(e,t,i,s),this.minimum=r,this.maximum=o}validate(e){return ji.clampedInt(e,this.defaultValue,this.minimum,this.maximum)}}function Zpt(n,e,t,i){if(typeof n>"u")return e;const r=Wc.float(n,e);return Wc.clamp(r,t,i)}class Wc extends PS{static clamp(e,t,i){return ei?i:e}static float(e,t){if(typeof e=="number")return e;if(typeof e>"u")return t;const i=parseFloat(e);return isNaN(i)?t:i}constructor(e,t,i,r,o){typeof o<"u"&&(o.type="number",o.default=i),super(e,t,i,o),this.validationFn=r}validate(e){return this.validationFn(Wc.float(e,this.defaultValue))}}class nl extends PS{static string(e,t){return typeof e!="string"?t:e}constructor(e,t,i,r=void 0){typeof r<"u"&&(r.type="string",r.default=i),super(e,t,i,r)}validate(e){return nl.string(e,this.defaultValue)}}function Br(n,e,t,i){return typeof n!="string"?e:i&&n in i?i[n]:t.indexOf(n)===-1?e:n}class Zr extends PS{constructor(e,t,i,r,o=void 0){typeof o<"u"&&(o.type="string",o.enum=r,o.default=i),super(e,t,i,o),this._allowedValues=r}validate(e){return Br(e,this.defaultValue,this._allowedValues)}}class Q9 extends yr{constructor(e,t,i,r,o,s,a=void 0){typeof a<"u"&&(a.type="string",a.enum=o,a.default=r),super(e,t,i,a),this._allowedValues=o,this._convert=s}validate(e){return typeof e!="string"?this.defaultValue:this._allowedValues.indexOf(e)===-1?this.defaultValue:this._convert(e)}}function Wpt(n){switch(n){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}class Rpt extends yr{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[L("accessibilitySupport.auto","Use platform APIs to detect when a Screen Reader is attached."),L("accessibilitySupport.on","Optimize for usage with a Screen Reader."),L("accessibilitySupport.off","Assume a screen reader is not attached.")],default:"auto",tags:["accessibility"],description:L("accessibilitySupport","Controls if the UI should run in a mode where it is optimized for screen readers.")})}validate(e){switch(e){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(e,t,i){return i===0?e.accessibilitySupport:i}}class Vpt extends yr{constructor(){const e={insertSpace:!0,ignoreEmptyLines:!0};super(23,"comments",e,{"editor.comments.insertSpace":{type:"boolean",default:e.insertSpace,description:L("comments.insertSpace","Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:e.ignoreEmptyLines,description:L("comments.ignoreEmptyLines","Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{insertSpace:Xt(t.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:Xt(t.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}function Apt(n){switch(n){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}var Es;(function(n){n[n.Line=1]="Line",n[n.Block=2]="Block",n[n.Underline=3]="Underline",n[n.LineThin=4]="LineThin",n[n.BlockOutline=5]="BlockOutline",n[n.UnderlineThin=6]="UnderlineThin"})(Es||(Es={}));function Gpt(n){switch(n){case"line":return Es.Line;case"block":return Es.Block;case"underline":return Es.Underline;case"line-thin":return Es.LineThin;case"block-outline":return Es.BlockOutline;case"underline-thin":return Es.UnderlineThin}}class Xpt extends vI{constructor(){super(142)}compute(e,t,i){const r=["monaco-editor"];return t.get(39)&&r.push(t.get(39)),e.extraEditorClassName&&r.push(e.extraEditorClassName),t.get(74)==="default"?r.push("mouse-default"):t.get(74)==="copy"&&r.push("mouse-copy"),t.get(111)&&r.push("showUnused"),t.get(140)&&r.push("showDeprecated"),r.join(" ")}}class Ppt extends ai{constructor(){super(37,"emptySelectionClipboard",!0,{description:L("emptySelectionClipboard","Controls whether copying without a selection copies the current line.")})}compute(e,t,i){return i&&e.emptySelectionClipboard}}class Opt extends yr{constructor(){const e={cursorMoveOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(41,"find",e,{"editor.find.cursorMoveOnType":{type:"boolean",default:e.cursorMoveOnType,description:L("find.cursorMoveOnType","Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:e.seedSearchStringFromSelection,enumDescriptions:[L("editor.find.seedSearchStringFromSelection.never","Never seed search string from the editor selection."),L("editor.find.seedSearchStringFromSelection.always","Always seed search string from the editor selection, including word at cursor position."),L("editor.find.seedSearchStringFromSelection.selection","Only seed search string from the editor selection.")],description:L("find.seedSearchStringFromSelection","Controls whether the search string in the Find Widget is seeded from the editor selection.")},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:e.autoFindInSelection,enumDescriptions:[L("editor.find.autoFindInSelection.never","Never turn on Find in Selection automatically (default)."),L("editor.find.autoFindInSelection.always","Always turn on Find in Selection automatically."),L("editor.find.autoFindInSelection.multiline","Turn on Find in Selection automatically when multiple lines of content are selected.")],description:L("find.autoFindInSelection","Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:e.globalFindClipboard,description:L("find.globalFindClipboard","Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:On},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:e.addExtraSpaceOnTop,description:L("find.addExtraSpaceOnTop","Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.")},"editor.find.loop":{type:"boolean",default:e.loop,description:L("find.loop","Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{cursorMoveOnType:Xt(t.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:typeof e.seedSearchStringFromSelection=="boolean"?e.seedSearchStringFromSelection?"always":"never":Br(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:typeof e.autoFindInSelection=="boolean"?e.autoFindInSelection?"always":"never":Br(t.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:Xt(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:Xt(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:Xt(t.loop,this.defaultValue.loop)}}}class Bu extends yr{constructor(){super(51,"fontLigatures",Bu.OFF,{anyOf:[{type:"boolean",description:L("fontLigatures","Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.")},{type:"string",description:L("fontFeatureSettings","Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:L("fontLigaturesGeneral","Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property."),default:!1})}validate(e){return typeof e>"u"?this.defaultValue:typeof e=="string"?e==="false"||e.length===0?Bu.OFF:e==="true"?Bu.ON:e:e?Bu.ON:Bu.OFF}}Bu.OFF='"liga" off, "calt" off',Bu.ON='"liga" on, "calt" on';class Wh extends yr{constructor(){super(54,"fontVariations",Wh.OFF,{anyOf:[{type:"boolean",description:L("fontVariations","Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.")},{type:"string",description:L("fontVariationSettings","Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.")}],description:L("fontVariationsGeneral","Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property."),default:!1})}validate(e){return typeof e>"u"?this.defaultValue:typeof e=="string"?e==="false"?Wh.OFF:e==="true"?Wh.TRANSLATE:e:e?Wh.TRANSLATE:Wh.OFF}compute(e,t,i){return e.fontInfo.fontVariationSettings}}Wh.OFF="normal",Wh.TRANSLATE="translate";class Bpt extends vI{constructor(){super(50)}compute(e,t,i){return e.fontInfo}}class zpt extends PS{constructor(){super(52,"fontSize",Al.fontSize,{type:"number",minimum:6,maximum:100,default:Al.fontSize,description:L("fontSize","Controls the font size in pixels.")})}validate(e){const t=Wc.float(e,this.defaultValue);return t===0?Al.fontSize:Wc.clamp(t,6,100)}compute(e,t,i){return e.fontInfo.fontSize}}class jm extends yr{constructor(){super(53,"fontWeight",Al.fontWeight,{anyOf:[{type:"number",minimum:jm.MINIMUM_VALUE,maximum:jm.MAXIMUM_VALUE,errorMessage:L("fontWeightErrorMessage",'Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.')},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:jm.SUGGESTION_VALUES}],default:Al.fontWeight,description:L("fontWeight",'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(e){return e==="normal"||e==="bold"?e:String(ji.clampedInt(e,Al.fontWeight,jm.MINIMUM_VALUE,jm.MAXIMUM_VALUE))}}jm.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"],jm.MINIMUM_VALUE=1,jm.MAXIMUM_VALUE=1e3;class Hpt extends yr{constructor(){const e={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:""},t={type:"string",enum:["peek","gotoAndPeek","goto"],default:e.multiple,enumDescriptions:[L("editor.gotoLocation.multiple.peek","Show Peek view of the results (default)"),L("editor.gotoLocation.multiple.gotoAndPeek","Go to the primary result and show a Peek view"),L("editor.gotoLocation.multiple.goto","Go to the primary result and enable Peek-less navigation to others")]},i=["","editor.action.referenceSearch.trigger","editor.action.goToReferences","editor.action.peekImplementation","editor.action.goToImplementation","editor.action.peekTypeDefinition","editor.action.goToTypeDefinition","editor.action.peekDeclaration","editor.action.revealDeclaration","editor.action.peekDefinition","editor.action.revealDefinitionAside","editor.action.revealDefinition"];super(58,"gotoLocation",e,{"editor.gotoLocation.multiple":{deprecationMessage:L("editor.gotoLocation.multiple.deprecated","This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":{description:L("editor.editor.gotoLocation.multipleDefinitions","Controls the behavior the 'Go to Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleTypeDefinitions":{description:L("editor.editor.gotoLocation.multipleTypeDefinitions","Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleDeclarations":{description:L("editor.editor.gotoLocation.multipleDeclarations","Controls the behavior the 'Go to Declaration'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleImplementations":{description:L("editor.editor.gotoLocation.multipleImplemenattions","Controls the behavior the 'Go to Implementations'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleReferences":{description:L("editor.editor.gotoLocation.multipleReferences","Controls the behavior the 'Go to References'-command when multiple target locations exist."),...t},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:e.alternativeDefinitionCommand,enum:i,description:L("alternativeDefinitionCommand","Alternative command id that is being executed when the result of 'Go to Definition' is the current location.")},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:e.alternativeTypeDefinitionCommand,enum:i,description:L("alternativeTypeDefinitionCommand","Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.")},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:e.alternativeDeclarationCommand,enum:i,description:L("alternativeDeclarationCommand","Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.")},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:e.alternativeImplementationCommand,enum:i,description:L("alternativeImplementationCommand","Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.")},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:e.alternativeReferenceCommand,enum:i,description:L("alternativeReferenceCommand","Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(e){var t,i,r,o,s;if(!e||typeof e!="object")return this.defaultValue;const a=e;return{multiple:Br(a.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:(t=a.multipleDefinitions)!==null&&t!==void 0?t:Br(a.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:(i=a.multipleTypeDefinitions)!==null&&i!==void 0?i:Br(a.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:(r=a.multipleDeclarations)!==null&&r!==void 0?r:Br(a.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:(o=a.multipleImplementations)!==null&&o!==void 0?o:Br(a.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:(s=a.multipleReferences)!==null&&s!==void 0?s:Br(a.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:nl.string(a.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:nl.string(a.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:nl.string(a.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:nl.string(a.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:nl.string(a.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand)}}}class Ypt extends yr{constructor(){const e={enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0};super(60,"hover",e,{"editor.hover.enabled":{type:"boolean",default:e.enabled,description:L("hover.enabled","Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:e.delay,minimum:0,maximum:1e4,description:L("hover.delay","Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:e.sticky,description:L("hover.sticky","Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:e.hidingDelay,description:L("hover.hidingDelay","Controls the delay in milliseconds after which the hover is hidden. Requires `editor.hover.sticky` to be enabled.")},"editor.hover.above":{type:"boolean",default:e.above,description:L("hover.above","Prefer showing hovers above the line, if there's space.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:Xt(t.enabled,this.defaultValue.enabled),delay:ji.clampedInt(t.delay,this.defaultValue.delay,0,1e4),sticky:Xt(t.sticky,this.defaultValue.sticky),hidingDelay:ji.clampedInt(t.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:Xt(t.above,this.defaultValue.above)}}}class OS extends vI{constructor(){super(145)}compute(e,t,i){return OS.computeLayout(t,{memory:e.memory,outerWidth:e.outerWidth,outerHeight:e.outerHeight,isDominatedByLongLines:e.isDominatedByLongLines,lineHeight:e.fontInfo.lineHeight,viewLineCount:e.viewLineCount,lineNumbersDigitCount:e.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:e.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:e.fontInfo.maxDigitWidth,pixelRatio:e.pixelRatio,glyphMarginDecorationLaneCount:e.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(e){const t=e.height/e.lineHeight,i=Math.floor(e.paddingTop/e.lineHeight);let r=Math.floor(e.paddingBottom/e.lineHeight);e.scrollBeyondLastLine&&(r=Math.max(r,t-1));const o=(i+e.viewLineCount+r)/(e.pixelRatio*e.height),s=Math.floor(e.viewLineCount/o);return{typicalViewportLineCount:t,extraLinesBeforeFirstLine:i,extraLinesBeyondLastLine:r,desiredRatio:o,minimapLineCount:s}}static _computeMinimapLayout(e,t){const i=e.outerWidth,r=e.outerHeight,o=e.pixelRatio;if(!e.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(o*r),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:r};const s=t.stableMinimapLayoutInput,a=s&&e.outerHeight===s.outerHeight&&e.lineHeight===s.lineHeight&&e.typicalHalfwidthCharacterWidth===s.typicalHalfwidthCharacterWidth&&e.pixelRatio===s.pixelRatio&&e.scrollBeyondLastLine===s.scrollBeyondLastLine&&e.paddingTop===s.paddingTop&&e.paddingBottom===s.paddingBottom&&e.minimap.enabled===s.minimap.enabled&&e.minimap.side===s.minimap.side&&e.minimap.size===s.minimap.size&&e.minimap.showSlider===s.minimap.showSlider&&e.minimap.renderCharacters===s.minimap.renderCharacters&&e.minimap.maxColumn===s.minimap.maxColumn&&e.minimap.scale===s.minimap.scale&&e.verticalScrollbarWidth===s.verticalScrollbarWidth&&e.isViewportWrapping===s.isViewportWrapping,l=e.lineHeight,u=e.typicalHalfwidthCharacterWidth,c=e.scrollBeyondLastLine,d=e.minimap.renderCharacters;let h=o>=2?Math.round(e.minimap.scale*2):e.minimap.scale;const m=e.minimap.maxColumn,f=e.minimap.size,g=e.minimap.side,b=e.verticalScrollbarWidth,v=e.viewLineCount,C=e.remainingWidth,S=e.isViewportWrapping,x=d?2:3;let _=Math.floor(o*r);const F=_/o;let D=!1,M=!1,T=x*h,Z=h/o,E=1;if(f==="fill"||f==="fit"){const{typicalViewportLineCount:P,extraLinesBeforeFirstLine:H,extraLinesBeyondLastLine:k,desiredRatio:X,minimapLineCount:Y}=OS.computeContainedMinimapLineCount({viewLineCount:v,scrollBeyondLastLine:c,paddingTop:e.paddingTop,paddingBottom:e.paddingBottom,height:r,lineHeight:l,pixelRatio:o});if(v/Y>1)D=!0,M=!0,h=1,T=1,Z=h/o;else{let te=!1,oe=h+1;if(f==="fit"){const ae=Math.ceil((H+v+k)*T);S&&a&&C<=t.stableFitRemainingWidth?(te=!0,oe=t.stableFitMaxMinimapScale):te=ae>_}if(f==="fill"||te){D=!0;const ae=h;T=Math.min(l*o,Math.max(1,Math.floor(1/X))),S&&a&&C<=t.stableFitRemainingWidth&&(oe=t.stableFitMaxMinimapScale),h=Math.min(oe,Math.max(1,Math.floor(T/x))),h>ae&&(E=Math.min(2,h/ae)),Z=h/o/E,_=Math.ceil(Math.max(P,H+v+k)*T),S?(t.stableMinimapLayoutInput=e,t.stableFitRemainingWidth=C,t.stableFitMaxMinimapScale=h):(t.stableMinimapLayoutInput=null,t.stableFitRemainingWidth=0)}}}const R=Math.floor(m*Z),W=Math.min(R,Math.max(0,Math.floor((C-b-2)*Z/(u+Z)))+Jm);let A=Math.floor(o*W);const z=A/o;A=Math.floor(A*E);const O=d?1:2,B=g==="left"?0:i-W-b;return{renderMinimap:O,minimapLeft:B,minimapWidth:W,minimapHeightIsEditorHeight:D,minimapIsSampling:M,minimapScale:h,minimapLineHeight:T,minimapCanvasInnerWidth:A,minimapCanvasInnerHeight:_,minimapCanvasOuterWidth:z,minimapCanvasOuterHeight:F}}static computeLayout(e,t){const i=t.outerWidth|0,r=t.outerHeight|0,o=t.lineHeight|0,s=t.lineNumbersDigitCount|0,a=t.typicalHalfwidthCharacterWidth,l=t.maxDigitWidth,u=t.pixelRatio,c=t.viewLineCount,d=e.get(137),h=d==="inherit"?e.get(136):d,m=h==="inherit"?e.get(132):h,f=e.get(135),g=t.isDominatedByLongLines,b=e.get(57),v=e.get(68).renderType!==0,C=e.get(69),S=e.get(105),x=e.get(84),_=e.get(73),F=e.get(103),D=F.verticalScrollbarSize,M=F.verticalHasArrows,T=F.arrowSize,Z=F.horizontalScrollbarSize,E=e.get(43),R=e.get(110)!=="never";let W=e.get(66);E&&R&&(W+=16);let A=0;if(v){const ue=Math.max(s,C);A=Math.round(ue*l)}let z=0;b&&(z=o*t.glyphMarginDecorationLaneCount);let O=0,B=O+z,P=B+A,H=P+W;const k=i-z-A-W;let X=!1,Y=!1,V=-1;h==="inherit"&&g?(X=!0,Y=!0):m==="on"||m==="bounded"?Y=!0:m==="wordWrapColumn"&&(V=f);const te=OS._computeMinimapLayout({outerWidth:i,outerHeight:r,lineHeight:o,typicalHalfwidthCharacterWidth:a,pixelRatio:u,scrollBeyondLastLine:S,paddingTop:x.top,paddingBottom:x.bottom,minimap:_,verticalScrollbarWidth:D,viewLineCount:c,remainingWidth:k,isViewportWrapping:Y},t.memory||new j1e);te.renderMinimap!==0&&te.minimapLeft===0&&(O+=te.minimapWidth,B+=te.minimapWidth,P+=te.minimapWidth,H+=te.minimapWidth);const oe=k-te.minimapWidth,ae=Math.max(1,Math.floor((oe-D-2)/a)),le=M?T:0;return Y&&(V=Math.max(1,ae),m==="bounded"&&(V=Math.min(V,f))),{width:i,height:r,glyphMarginLeft:O,glyphMarginWidth:z,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount,lineNumbersLeft:B,lineNumbersWidth:A,decorationsLeft:P,decorationsWidth:W,contentLeft:H,contentWidth:oe,minimap:te,viewportColumn:ae,isWordWrapMinified:X,isViewportWrapping:Y,wrappingColumn:V,verticalScrollbarWidth:D,horizontalScrollbarHeight:Z,overviewRuler:{top:le,width:D,height:r-2*le,right:0}}}}class Upt extends yr{constructor(){super(139,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[L("wrappingStrategy.simple","Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width."),L("wrappingStrategy.advanced","Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.")],type:"string",enum:["simple","advanced"],default:"simple",description:L("wrappingStrategy","Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")}})}validate(e){return Br(e,"simple",["simple","advanced"])}compute(e,t,i){return t.get(2)===2?"advanced":i}}var kd;(function(n){n.Off="off",n.OnCode="onCode",n.On="on"})(kd||(kd={}));class Kpt extends yr{constructor(){const e={enabled:kd.On};super(65,"lightbulb",e,{"editor.lightbulb.enabled":{type:"string",tags:["experimental"],enum:[kd.Off,kd.OnCode,kd.On],default:e.enabled,enumDescriptions:[L("editor.lightbulb.enabled.off","Disable the code action menu."),L("editor.lightbulb.enabled.onCode","Show the code action menu when the cursor is on lines with code."),L("editor.lightbulb.enabled.on","Show the code action menu when the cursor is on lines with code or on empty lines.")],description:L("enabled","Enables the Code Action lightbulb in the editor.")}})}validate(e){return!e||typeof e!="object"?this.defaultValue:{enabled:Br(e.enabled,this.defaultValue.enabled,[kd.Off,kd.OnCode,kd.On])}}}class Jpt extends yr{constructor(){const e={enabled:!0,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(115,"stickyScroll",e,{"editor.stickyScroll.enabled":{type:"boolean",default:e.enabled,description:L("editor.stickyScroll.enabled","Shows the nested current scopes during the scroll at the top of the editor."),tags:["experimental"]},"editor.stickyScroll.maxLineCount":{type:"number",default:e.maxLineCount,minimum:1,maximum:20,description:L("editor.stickyScroll.maxLineCount","Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:e.defaultModel,description:L("editor.stickyScroll.defaultModel","Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.")},"editor.stickyScroll.scrollWithEditor":{type:"boolean",default:e.scrollWithEditor,description:L("editor.stickyScroll.scrollWithEditor","Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:Xt(t.enabled,this.defaultValue.enabled),maxLineCount:ji.clampedInt(t.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:Br(t.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:Xt(t.scrollWithEditor,this.defaultValue.scrollWithEditor)}}}class jpt extends yr{constructor(){const e={enabled:"on",fontSize:0,fontFamily:"",padding:!1};super(141,"inlayHints",e,{"editor.inlayHints.enabled":{type:"string",default:e.enabled,description:L("inlayHints.enable","Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[L("editor.inlayHints.on","Inlay hints are enabled"),L("editor.inlayHints.onUnlessPressed","Inlay hints are showing by default and hide when holding {0}",On?"Ctrl+Option":"Ctrl+Alt"),L("editor.inlayHints.offUnlessPressed","Inlay hints are hidden by default and show when holding {0}",On?"Ctrl+Option":"Ctrl+Alt"),L("editor.inlayHints.off","Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:e.fontSize,markdownDescription:L("inlayHints.fontSize","Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.","`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:"string",default:e.fontFamily,markdownDescription:L("inlayHints.fontFamily","Controls font family of inlay hints in the editor. When set to empty, the {0} is used.","`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:"boolean",default:e.padding,description:L("inlayHints.padding","Enables the padding around the inlay hints in the editor.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return typeof t.enabled=="boolean"&&(t.enabled=t.enabled?"on":"off"),{enabled:Br(t.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:ji.clampedInt(t.fontSize,this.defaultValue.fontSize,0,100),fontFamily:nl.string(t.fontFamily,this.defaultValue.fontFamily),padding:Xt(t.padding,this.defaultValue.padding)}}}class Qpt extends yr{constructor(){super(66,"lineDecorationsWidth",10)}validate(e){return typeof e=="string"&&/^\d+(\.\d+)?ch$/.test(e)?-parseFloat(e.substring(0,e.length-2)):ji.clampedInt(e,this.defaultValue,0,1e3)}compute(e,t,i){return i<0?ji.clampedInt(-i*e.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):i}}class $pt extends Wc{constructor(){super(67,"lineHeight",Al.lineHeight,e=>Wc.clamp(e,0,150),{markdownDescription:L("lineHeight",`Controls the line height. +`+l;return i?new D9(r,c,!0):new N9(r,c,-1,u.length-l.length,!0)}else if(o.indentAction===No.Outdent){const l=Mr.unshiftIndent(e,o.indentation);return Mr._typeCommand(r,` +`+e.normalizeIndentation(l+o.appendText),i)}}const s=t.getLineContent(r.startLineNumber),a=Ui(s).substring(0,r.startColumn-1);if(e.autoIndent>=4){const l=Cpt(e.autoIndent,t,r,{unshiftIndent:u=>Mr.unshiftIndent(e,u),shiftIndent:u=>Mr.shiftIndent(e,u),normalizeIndentation:u=>e.normalizeIndentation(u)},e.languageConfigurationService);if(l){let u=e.visibleColumnFromColumn(t,r.getEndPosition());const c=r.endColumn,d=t.getLineContent(r.endLineNumber),h=La(d);if(h>=0?r=r.setEndPosition(r.endLineNumber,Math.max(r.endColumn,h+1)):r=r.setEndPosition(r.endLineNumber,t.getLineMaxColumn(r.endLineNumber)),i)return new D9(r,` +`+e.normalizeIndentation(l.afterEnter),!0);{let m=0;return c<=h+1&&(e.insertSpaces||(u=Math.ceil(u/e.indentSize)),m=Math.min(u+1-e.normalizeIndentation(l.afterEnter).length-1,0)),new N9(r,` +`+e.normalizeIndentation(l.afterEnter),0,m,!0)}}}return Mr._typeCommand(r,` +`+e.normalizeIndentation(a),i)}static _isAutoIndentType(e,t,i){if(e.autoIndent<4)return!1;for(let r=0,o=i.length;rMr.shiftIndent(e,a),unshiftIndent:a=>Mr.unshiftIndent(e,a)},e.languageConfigurationService);if(s===null)return null;if(s!==e.normalizeIndentation(o)){const a=t.getLineFirstNonWhitespaceColumn(i.startLineNumber);return a===0?Mr._typeCommand(new J(i.startLineNumber,1,i.endLineNumber,i.endColumn),e.normalizeIndentation(s)+r,!1):Mr._typeCommand(new J(i.startLineNumber,1,i.endLineNumber,i.endColumn),e.normalizeIndentation(s)+t.getLineContent(i.startLineNumber).substring(a-1,i.startColumn-1)+r,!1)}return null}static _isAutoClosingOvertype(e,t,i,r,o){if(e.autoClosingOvertype==="never"||!e.autoClosingPairs.autoClosingPairsCloseSingleChar.has(o))return!1;for(let s=0,a=i.length;s2?c.charCodeAt(u.column-2):0)===92&&h)return!1;if(e.autoClosingOvertype==="auto"){let f=!1;for(let g=0,b=r.length;gt.startsWith(l.open)),a=o.some(l=>t.startsWith(l.close));return!s&&a}static _findAutoClosingPairOpen(e,t,i,r){const o=e.autoClosingPairs.autoClosingPairsOpenByEnd.get(r);if(!o)return null;let s=null;for(const a of o)if(s===null||a.open.length>s.open.length){let l=!0;for(const u of i)if(t.getValueInRange(new J(u.lineNumber,u.column-a.open.length+1,u.lineNumber,u.column))+r!==a.open){l=!1;break}l&&(s=a)}return s}static _findContainedAutoClosingPair(e,t){if(t.open.length<=1)return null;const i=t.close.charAt(t.close.length-1),r=e.autoClosingPairs.autoClosingPairsCloseByEnd.get(i)||[];let o=null;for(const s of r)s.open!==t.open&&t.open.includes(s.open)&&t.close.endsWith(s.close)&&(!o||s.open.length>o.open.length)&&(o=s);return o}static _getAutoClosingPairClose(e,t,i,r,o){for(const f of i)if(!f.isEmpty())return null;const s=i.map(f=>{const g=f.getPosition();return o?{lineNumber:g.lineNumber,beforeColumn:g.column-r.length,afterColumn:g.column}:{lineNumber:g.lineNumber,beforeColumn:g.column,afterColumn:g.column}}),a=this._findAutoClosingPairOpen(e,t,s.map(f=>new ve(f.lineNumber,f.beforeColumn)),r);if(!a)return null;let l,u;if($b(r)?(l=e.autoClosingQuotes,u=e.shouldAutoCloseBefore.quote):(e.blockCommentStartToken?a.open.includes(e.blockCommentStartToken):!1)?(l=e.autoClosingComments,u=e.shouldAutoCloseBefore.comment):(l=e.autoClosingBrackets,u=e.shouldAutoCloseBefore.bracket),l==="never")return null;const d=this._findContainedAutoClosingPair(e,a),h=d?d.close:"";let m=!0;for(const f of s){const{lineNumber:g,beforeColumn:b,afterColumn:y}=f,C=t.getLineContent(g),w=C.substring(0,b-1),x=C.substring(y-1);if(x.startsWith(h)||(m=!1),x.length>0){const N=x.charAt(0);if(!Mr._isBeforeClosingBrace(e,x)&&!u(N))return null}if(a.open.length===1&&(r==="'"||r==='"')&&l!=="always"){const N=Mc(e.wordSeparators,[]);if(w.length>0){const T=w.charCodeAt(w.length-1);if(N.get(T)===0)return null}}if(!t.tokenization.isCheapToTokenize(g))return null;t.tokenization.forceTokenization(g);const L=t.tokenization.getLineTokens(g),I=I9(L,b-1);if(!a.shouldAutoClose(I,b-I.firstCharOffset))return null;const D=a.findNeutralCharacter();if(D){const N=t.tokenization.getTokenTypeIfInsertingCharacter(g,b,D);if(!a.isOK(N))return null}}return m?a.close.substring(0,a.close.length-h.length):a.close}static _runAutoClosingOpenCharType(e,t,i,r,o,s,a){const l=[];for(let u=0,c=r.length;unew qs(new J(h.positionLineNumber,h.positionColumn,h.positionLineNumber,h.positionColumn+1),"",!1));return new Zl(4,d,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}const c=this._getAutoClosingPairClose(t,i,o,l,!0);return c!==null?this._runAutoClosingOpenCharType(e,t,i,o,l,!0,c):null}static typeWithInterceptors(e,t,i,r,o,s,a){if(!e&&a===` +`){const c=[];for(let d=0,h=o.length;d{const r=t.get(yi).getFocusedCodeEditor();return r&&r.hasTextFocus()?this._runEditorCommand(t,r,i):!1}),e.addImplementation(1e3,"generic-dom-input-textarea",(t,i)=>{const r=js();return r&&["input","textarea"].indexOf(r.tagName.toLowerCase())>=0?(this.runDOMCommand(r),!0):!1}),e.addImplementation(0,"generic-dom",(t,i)=>{const r=t.get(yi).getActiveCodeEditor();return r?(r.focus(),this._runEditorCommand(t,r,i)):!1})}_runEditorCommand(e,t,i){const r=this.runEditorCommand(e,t,i);return r||!0}}var bs;(function(n){class e extends Or{constructor(C){super(C),this._inSelectionMode=C.inSelectionMode}runCoreEditorCommand(C,w){if(!w.position)return;C.model.pushStackElement(),C.setCursorStates(w.source,3,[ks.moveTo(C,C.getPrimaryCursorState(),this._inSelectionMode,w.position,w.viewPosition)])&&w.revealType!==2&&C.revealAllCursors(w.source,!0,!0)}}n.MoveTo=gt(new e({id:"_moveTo",inSelectionMode:!1,precondition:void 0})),n.MoveToSelect=gt(new e({id:"_moveToSelect",inSelectionMode:!0,precondition:void 0}));class t extends Or{runCoreEditorCommand(C,w){C.model.pushStackElement();const x=this._getColumnSelectResult(C,C.getPrimaryCursorState(),C.getCursorColumnSelectData(),w);x!==null&&(C.setCursorStates(w.source,3,x.viewStates.map(L=>si.fromViewState(L))),C.setCursorColumnSelectData({isReal:!0,fromViewLineNumber:x.fromLineNumber,fromViewVisualColumn:x.fromVisualColumn,toViewLineNumber:x.toLineNumber,toViewVisualColumn:x.toVisualColumn}),x.reversed?C.revealTopMostCursor(w.source):C.revealBottomMostCursor(w.source))}}n.ColumnSelect=gt(new class extends t{constructor(){super({id:"columnSelect",precondition:void 0})}_getColumnSelectResult(y,C,w,x){if(typeof x.position>"u"||typeof x.viewPosition>"u"||typeof x.mouseColumn>"u")return null;const L=y.model.validatePosition(x.position),I=y.coordinatesConverter.validateViewPosition(new ve(x.viewPosition.lineNumber,x.viewPosition.column),L),D=x.doColumnSelect?w.fromViewLineNumber:I.lineNumber,N=x.doColumnSelect?w.fromViewVisualColumn:x.mouseColumn-1;return tv.columnSelect(y.cursorConfig,y,D,N,I.lineNumber,x.mouseColumn-1)}}),n.CursorColumnSelectLeft=gt(new class extends t{constructor(){super({id:"cursorColumnSelectLeft",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:3599,linux:{primary:0}}})}_getColumnSelectResult(y,C,w,x){return tv.columnSelectLeft(y.cursorConfig,y,w)}}),n.CursorColumnSelectRight=gt(new class extends t{constructor(){super({id:"cursorColumnSelectRight",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:3601,linux:{primary:0}}})}_getColumnSelectResult(y,C,w,x){return tv.columnSelectRight(y.cursorConfig,y,w)}});class i extends t{constructor(C){super(C),this._isPaged=C.isPaged}_getColumnSelectResult(C,w,x,L){return tv.columnSelectUp(C.cursorConfig,C,x,this._isPaged)}}n.CursorColumnSelectUp=gt(new i({isPaged:!1,id:"cursorColumnSelectUp",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:3600,linux:{primary:0}}})),n.CursorColumnSelectPageUp=gt(new i({isPaged:!0,id:"cursorColumnSelectPageUp",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:3595,linux:{primary:0}}}));class r extends t{constructor(C){super(C),this._isPaged=C.isPaged}_getColumnSelectResult(C,w,x,L){return tv.columnSelectDown(C.cursorConfig,C,x,this._isPaged)}}n.CursorColumnSelectDown=gt(new r({isPaged:!1,id:"cursorColumnSelectDown",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:3602,linux:{primary:0}}})),n.CursorColumnSelectPageDown=gt(new r({isPaged:!0,id:"cursorColumnSelectPageDown",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:3596,linux:{primary:0}}}));class o extends Or{constructor(){super({id:"cursorMove",precondition:void 0,metadata:R9.metadata})}runCoreEditorCommand(C,w){const x=R9.parse(w);x&&this._runCursorMove(C,w.source,x)}_runCursorMove(C,w,x){C.model.pushStackElement(),C.setCursorStates(w,3,o._move(C,C.getCursorStates(),x)),C.revealAllCursors(w,!0)}static _move(C,w,x){const L=x.select,I=x.value;switch(x.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return ks.simpleMove(C,w,x.direction,L,I,x.unit);case 11:case 13:case 12:case 14:return ks.viewportMove(C,w,x.direction,L,I);default:return null}}}n.CursorMoveImpl=o,n.CursorMove=gt(new o);class s extends Or{constructor(C){super(C),this._staticArgs=C.args}runCoreEditorCommand(C,w){let x=this._staticArgs;this._staticArgs.value===-1&&(x={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:w.pageSize||C.cursorConfig.pageSize}),C.model.pushStackElement(),C.setCursorStates(w.source,3,ks.simpleMove(C,C.getCursorStates(),x.direction,x.select,x.value,x.unit)),C.revealAllCursors(w.source,!0)}}n.CursorLeft=gt(new s({args:{direction:0,unit:0,select:!1,value:1},id:"cursorLeft",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),n.CursorLeftSelect=gt(new s({args:{direction:0,unit:0,select:!0,value:1},id:"cursorLeftSelect",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:1039}})),n.CursorRight=gt(new s({args:{direction:1,unit:0,select:!1,value:1},id:"cursorRight",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),n.CursorRightSelect=gt(new s({args:{direction:1,unit:0,select:!0,value:1},id:"cursorRightSelect",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:1041}})),n.CursorUp=gt(new s({args:{direction:2,unit:2,select:!1,value:1},id:"cursorUp",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),n.CursorUpSelect=gt(new s({args:{direction:2,unit:2,select:!0,value:1},id:"cursorUpSelect",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),n.CursorPageUp=gt(new s({args:{direction:2,unit:2,select:!1,value:-1},id:"cursorPageUp",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:11}})),n.CursorPageUpSelect=gt(new s({args:{direction:2,unit:2,select:!0,value:-1},id:"cursorPageUpSelect",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:1035}})),n.CursorDown=gt(new s({args:{direction:3,unit:2,select:!1,value:1},id:"cursorDown",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),n.CursorDownSelect=gt(new s({args:{direction:3,unit:2,select:!0,value:1},id:"cursorDownSelect",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),n.CursorPageDown=gt(new s({args:{direction:3,unit:2,select:!1,value:-1},id:"cursorPageDown",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:12}})),n.CursorPageDownSelect=gt(new s({args:{direction:3,unit:2,select:!0,value:-1},id:"cursorPageDownSelect",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:1036}})),n.CreateCursor=gt(new class extends Or{constructor(){super({id:"createCursor",precondition:void 0})}runCoreEditorCommand(y,C){if(!C.position)return;let w;C.wholeLine?w=ks.line(y,y.getPrimaryCursorState(),!1,C.position,C.viewPosition):w=ks.moveTo(y,y.getPrimaryCursorState(),!1,C.position,C.viewPosition);const x=y.getCursorStates();if(x.length>1){const L=w.modelState?w.modelState.position:null,I=w.viewState?w.viewState.position:null;for(let D=0,N=x.length;DI&&(L=I);const D=new J(L,1,L,y.model.getLineMaxColumn(L));let N=0;if(w.at)switch(w.at){case Vw.RawAtArgument.Top:N=3;break;case Vw.RawAtArgument.Center:N=1;break;case Vw.RawAtArgument.Bottom:N=4;break}const T=y.coordinatesConverter.convertModelRangeToViewRange(D);y.revealRange(C.source,!1,T,N,0)}}),n.SelectAll=new class extends o6{constructor(){super(hgt)}runDOMCommand(y){Ic&&(y.focus(),y.select()),y.ownerDocument.execCommand("selectAll")}runEditorCommand(y,C,w){const x=C._getViewModel();x&&this.runCoreEditorCommand(x,w)}runCoreEditorCommand(y,C){y.model.pushStackElement(),y.setCursorStates("keyboard",3,[ks.selectAll(y,y.getPrimaryCursorState())])}},n.SetSelection=gt(new class extends Or{constructor(){super({id:"setSelection",precondition:void 0})}runCoreEditorCommand(y,C){C.selection&&(y.model.pushStackElement(),y.setCursorStates(C.source,3,[si.fromModelSelection(C.selection)]))}})})(bs||(bs={}));const xpt=Oe.and(ne.textInputFocus,ne.columnSelection);function Gw(n,e){El.registerKeybindingRule({id:n,primary:e,when:xpt,weight:Ci+1})}Gw(bs.CursorColumnSelectLeft.id,1039),Gw(bs.CursorColumnSelectRight.id,1041),Gw(bs.CursorColumnSelectUp.id,1040),Gw(bs.CursorColumnSelectPageUp.id,1035),Gw(bs.CursorColumnSelectDown.id,1042),Gw(bs.CursorColumnSelectPageDown.id,1036);function B1e(n){return n.register(),n}var Xw;(function(n){class e extends Ko{runEditorCommand(i,r,o){const s=r._getViewModel();s&&this.runCoreEditingCommand(r,s,o||{})}}n.CoreEditingCommand=e,n.LineBreakInsert=gt(new class extends e{constructor(){super({id:"lineBreakInsert",precondition:ne.writable,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:0,mac:{primary:301}}})}runCoreEditingCommand(t,i,r){t.pushUndoStop(),t.executeCommands(this.id,Mr.lineBreakInsert(i.cursorConfig,i.model,i.getCursorStates().map(o=>o.modelState.selection)))}}),n.Outdent=gt(new class extends e{constructor(){super({id:"outdent",precondition:ne.writable,kbOpts:{weight:Ci,kbExpr:Oe.and(ne.editorTextFocus,ne.tabDoesNotMoveFocus),primary:1026}})}runCoreEditingCommand(t,i,r){t.pushUndoStop(),t.executeCommands(this.id,Mr.outdent(i.cursorConfig,i.model,i.getCursorStates().map(o=>o.modelState.selection))),t.pushUndoStop()}}),n.Tab=gt(new class extends e{constructor(){super({id:"tab",precondition:ne.writable,kbOpts:{weight:Ci,kbExpr:Oe.and(ne.editorTextFocus,ne.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(t,i,r){t.pushUndoStop(),t.executeCommands(this.id,Mr.tab(i.cursorConfig,i.model,i.getCursorStates().map(o=>o.modelState.selection))),t.pushUndoStop()}}),n.DeleteLeft=gt(new class extends e{constructor(){super({id:"deleteLeft",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})}runCoreEditingCommand(t,i,r){const[o,s]=nv.deleteLeft(i.getPrevEditOperationType(),i.cursorConfig,i.model,i.getCursorStates().map(a=>a.modelState.selection),i.getCursorAutoClosedCharacters());o&&t.pushUndoStop(),t.executeCommands(this.id,s),i.setPrevEditOperationType(2)}}),n.DeleteRight=gt(new class extends e{constructor(){super({id:"deleteRight",precondition:void 0,kbOpts:{weight:Ci,kbExpr:ne.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})}runCoreEditingCommand(t,i,r){const[o,s]=nv.deleteRight(i.getPrevEditOperationType(),i.cursorConfig,i.model,i.getCursorStates().map(a=>a.modelState.selection));o&&t.pushUndoStop(),t.executeCommands(this.id,s),i.setPrevEditOperationType(3)}}),n.Undo=new class extends o6{constructor(){super(n1e)}runDOMCommand(t){t.ownerDocument.execCommand("undo")}runEditorCommand(t,i,r){if(!(!i.hasModel()||i.getOption(91)===!0))return i.getModel().undo()}},n.Redo=new class extends o6{constructor(){super(i1e)}runDOMCommand(t){t.ownerDocument.execCommand("redo")}runEditorCommand(t,i,r){if(!(!i.hasModel()||i.getOption(91)===!0))return i.getModel().redo()}}})(Xw||(Xw={}));class z1e extends L9{constructor(e,t,i){super({id:e,precondition:void 0,metadata:i}),this._handlerId=t}runCommand(e,t){const i=e.get(yi).getFocusedCodeEditor();i&&i.trigger("keyboard",this._handlerId,t)}}function rv(n,e){B1e(new z1e("default:"+n,n)),B1e(new z1e(n,n,e))}rv("type",{description:"Type",args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]}),rv("replacePreviousChar"),rv("compositionType"),rv("compositionStart"),rv("compositionEnd"),rv("paste"),rv("cut");const s6=Un("markerDecorationsService");var _pt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Lpt=function(n,e){return function(t,i){e(t,i,n)}};let gF=class{constructor(e,t){}dispose(){}};gF.ID="editor.contrib.markerDecorations",gF=_pt([Lpt(1,s6)],gF),vi(gF.ID,gF,0);class H1e{constructor(e){this.domNode=e,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingLeft="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(e){const t=Rh(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){const t=Rh(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){const t=Rh(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){const t=Rh(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){const t=Rh(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){const t=Rh(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){const t=Rh(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingLeft(e){const t=Rh(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){const t=Rh(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){const t=Rh(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){const t=Rh(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}}function Rh(n){return typeof n=="number"?`${n}px`:n}function wi(n){return new H1e(n)}function Ts(n,e){n instanceof H1e?(n.setFontFamily(e.getMassagedFontFamily()),n.setFontWeight(e.fontWeight),n.setFontSize(e.fontSize),n.setFontFeatureSettings(e.fontFeatureSettings),n.setFontVariationSettings(e.fontVariationSettings),n.setLineHeight(e.lineHeight),n.setLetterSpacing(e.letterSpacing)):(n.style.fontFamily=e.getMassagedFontFamily(),n.style.fontWeight=e.fontWeight,n.style.fontSize=e.fontSize+"px",n.style.fontFeatureSettings=e.fontFeatureSettings,n.style.fontVariationSettings=e.fontVariationSettings,n.style.lineHeight=e.lineHeight+"px",n.style.letterSpacing=e.letterSpacing+"px")}function Vg(n){if(!n||typeof n!="object"||n instanceof RegExp)return n;const e=Array.isArray(n)?[]:{};return Object.entries(n).forEach(([t,i])=>{e[t]=i&&typeof i=="object"?Vg(i):i}),e}function Ipt(n){if(!n||typeof n!="object")return n;const e=[n];for(;e.length>0;){const t=e.shift();Object.freeze(t);for(const i in t)if(Y1e.call(t,i)){const r=t[i];typeof r=="object"&&!Object.isFrozen(r)&&!yht(r)&&e.push(r)}}return n}const Y1e=Object.prototype.hasOwnProperty;function U1e(n,e){return a6(n,e,new Set)}function a6(n,e,t){if(Zu(n))return n;const i=e(n);if(typeof i<"u")return i;if(Array.isArray(n)){const r=[];for(const o of n)r.push(a6(o,e,t));return r}if(Ua(n)){if(t.has(n))throw new Error("Cannot clone recursive data-structure");t.add(n);const r={};for(const o in n)Y1e.call(n,o)&&(r[o]=a6(n[o],e,t));return t.delete(n),r}return n}function J9(n,e,t=!0){return Ua(n)?(Ua(e)&&Object.keys(e).forEach(i=>{i in n?t&&(Ua(n[i])&&Ua(e[i])?J9(n[i],e[i],t):n[i]=e[i]):n[i]=e[i]}),n):e}function Ou(n,e){if(n===e)return!0;if(n==null||e===null||e===void 0||typeof n!=typeof e||typeof n!="object"||Array.isArray(n)!==Array.isArray(e))return!1;let t,i;if(Array.isArray(n)){if(n.length!==e.length)return!1;for(t=0;tfunction(){const o=Array.prototype.slice.call(arguments,0);return e(r,o)},i={};for(const r of n)i[r]=t(r);return i}class K1e extends Fe{constructor(e,t){super(),this._onDidChange=this._register(new be),this.onDidChange=this._onDidChange.event,this._referenceDomElement=e,this._width=-1,this._height=-1,this._resizeObserver=null,this.measureReferenceDomElement(!1,t)}dispose(){this.stopObserving(),super.dispose()}getWidth(){return this._width}getHeight(){return this._height}startObserving(){if(!this._resizeObserver&&this._referenceDomElement){let e=null;const t=()=>{e?this.observe({width:e.width,height:e.height}):this.observe()};let i=!1,r=!1;const o=()=>{if(i&&!r)try{i=!1,r=!0,t()}finally{au(Qt(this._referenceDomElement),()=>{r=!1,o()})}};this._resizeObserver=new ResizeObserver(s=>{s&&s[0]&&s[0].contentRect?e={width:s[0].contentRect.width,height:s[0].contentRect.height}:e=null,i=!0,o()}),this._resizeObserver.observe(this._referenceDomElement)}}stopObserving(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null)}observe(e){this.measureReferenceDomElement(!0,e)}measureReferenceDomElement(e,t){let i=0,r=0;t?(i=t.width,r=t.height):this._referenceDomElement&&(i=this._referenceDomElement.clientWidth,r=this._referenceDomElement.clientHeight),i=Math.max(5,i),r=Math.max(5,r),(this._width!==i||this._height!==r)&&(this._width=i,this._height=r,e&&this._onDidChange.fire())}}class Npt extends Fe{constructor(e){super(),this._onDidChange=this._register(new be),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(e,!0),this._mediaQueryList=null,this._handleChange(e,!1)}_handleChange(e,t){var i;(i=this._mediaQueryList)===null||i===void 0||i.removeEventListener("change",this._listener),this._mediaQueryList=e.matchMedia(`(resolution: ${e.devicePixelRatio}dppx)`),this._mediaQueryList.addEventListener("change",this._listener),t&&this._onDidChange.fire()}}class Mpt extends Fe{get value(){return this._value}constructor(e){super(),this._onDidChange=this._register(new be),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio(e);const t=this._register(new Npt(e));this._register(t.onDidChange(()=>{this._value=this._getPixelRatio(e),this._onDidChange.fire(this._value)}))}_getPixelRatio(e){const t=document.createElement("canvas").getContext("2d"),i=e.devicePixelRatio||1,r=t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return i/r}}class kpt{constructor(){this.mapWindowIdToPixelRatioMonitor=new Map}_getOrCreatePixelRatioMonitor(e){const t=i9(e);let i=this.mapWindowIdToPixelRatioMonitor.get(t);return i||(i=new Mpt(e),this.mapWindowIdToPixelRatioMonitor.set(t,i),lt.once(pft)(({vscodeWindowId:r})=>{r===t&&(i==null||i.dispose(),this.mapWindowIdToPixelRatioMonitor.delete(t))})),i}getInstance(e){return this._getOrCreatePixelRatioMonitor(e)}}const pF=new kpt;class Tpt{constructor(e,t){this.chr=e,this.type=t,this.width=0}fulfill(e){this.width=e}}class u6{constructor(e,t){this._bareFontInfo=e,this._requests=t,this._container=null,this._testElements=null}read(e){this._createDomElements(),e.document.body.appendChild(this._container),this._readFromDomElements(),e.document.body.removeChild(this._container),this._container=null,this._testElements=null}_createDomElements(){const e=document.createElement("div");e.style.position="absolute",e.style.top="-50000px",e.style.width="50000px";const t=document.createElement("div");Ts(t,this._bareFontInfo),e.appendChild(t);const i=document.createElement("div");Ts(i,this._bareFontInfo),i.style.fontWeight="bold",e.appendChild(i);const r=document.createElement("div");Ts(r,this._bareFontInfo),r.style.fontStyle="italic",e.appendChild(r);const o=[];for(const s of this._requests){let a;s.type===0&&(a=t),s.type===2&&(a=i),s.type===1&&(a=r),a.appendChild(document.createElement("br"));const l=document.createElement("span");u6._render(l,s),a.appendChild(l),o.push(l)}this._container=e,this._testElements=o}static _render(e,t){if(t.chr===" "){let i=" ";for(let r=0;r<8;r++)i+=i;e.innerText=i}else{let i=t.chr;for(let r=0;r<8;r++)i+=i;e.textContent=i}}_readFromDomElements(){for(let e=0,t=this._requests.length;e"u"?this.defaultValue:e}compute(e,t,i){return i}}function Xt(n,e){return typeof n>"u"?e:n==="false"?!1:!!n}class ai extends Pw{constructor(e,t,i,r=void 0){typeof r<"u"&&(r.type="boolean",r.default=i),super(e,t,i,r)}validate(e){return Xt(e,this.defaultValue)}}function ov(n,e,t,i){if(typeof n>"u")return e;let r=parseInt(n,10);return isNaN(r)?e:(r=Math.max(t,r),r=Math.min(i,r),r|0)}class Ji extends Pw{static clampedInt(e,t,i,r){return ov(e,t,i,r)}constructor(e,t,i,r,o,s=void 0){typeof s<"u"&&(s.type="integer",s.default=i,s.minimum=r,s.maximum=o),super(e,t,i,s),this.minimum=r,this.maximum=o}validate(e){return Ji.clampedInt(e,this.defaultValue,this.minimum,this.maximum)}}function Rpt(n,e,t,i){if(typeof n>"u")return e;const r=Rc.float(n,e);return Rc.clamp(r,t,i)}class Rc extends Pw{static clamp(e,t,i){return ei?i:e}static float(e,t){if(typeof e=="number")return e;if(typeof e>"u")return t;const i=parseFloat(e);return isNaN(i)?t:i}constructor(e,t,i,r,o){typeof o<"u"&&(o.type="number",o.default=i),super(e,t,i,o),this.validationFn=r}validate(e){return this.validationFn(Rc.float(e,this.defaultValue))}}class nl extends Pw{static string(e,t){return typeof e!="string"?t:e}constructor(e,t,i,r=void 0){typeof r<"u"&&(r.type="string",r.default=i),super(e,t,i,r)}validate(e){return nl.string(e,this.defaultValue)}}function Br(n,e,t,i){return typeof n!="string"?e:i&&n in i?i[n]:t.indexOf(n)===-1?e:n}class Rr extends Pw{constructor(e,t,i,r,o=void 0){typeof o<"u"&&(o.type="string",o.enum=r,o.default=i),super(e,t,i,o),this._allowedValues=r}validate(e){return Br(e,this.defaultValue,this._allowedValues)}}class Q9 extends yr{constructor(e,t,i,r,o,s,a=void 0){typeof a<"u"&&(a.type="string",a.enum=o,a.default=r),super(e,t,i,a),this._allowedValues=o,this._convert=s}validate(e){return typeof e!="string"?this.defaultValue:this._allowedValues.indexOf(e)===-1?this.defaultValue:this._convert(e)}}function Zpt(n){switch(n){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}class Wpt extends yr{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[_("accessibilitySupport.auto","Use platform APIs to detect when a Screen Reader is attached."),_("accessibilitySupport.on","Optimize for usage with a Screen Reader."),_("accessibilitySupport.off","Assume a screen reader is not attached.")],default:"auto",tags:["accessibility"],description:_("accessibilitySupport","Controls if the UI should run in a mode where it is optimized for screen readers.")})}validate(e){switch(e){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(e,t,i){return i===0?e.accessibilitySupport:i}}class Apt extends yr{constructor(){const e={insertSpace:!0,ignoreEmptyLines:!0};super(23,"comments",e,{"editor.comments.insertSpace":{type:"boolean",default:e.insertSpace,description:_("comments.insertSpace","Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:e.ignoreEmptyLines,description:_("comments.ignoreEmptyLines","Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{insertSpace:Xt(t.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:Xt(t.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}function Vpt(n){switch(n){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}var Es;(function(n){n[n.Line=1]="Line",n[n.Block=2]="Block",n[n.Underline=3]="Underline",n[n.LineThin=4]="LineThin",n[n.BlockOutline=5]="BlockOutline",n[n.UnderlineThin=6]="UnderlineThin"})(Es||(Es={}));function Gpt(n){switch(n){case"line":return Es.Line;case"block":return Es.Block;case"underline":return Es.Underline;case"line-thin":return Es.LineThin;case"block-outline":return Es.BlockOutline;case"underline-thin":return Es.UnderlineThin}}class Xpt extends yF{constructor(){super(142)}compute(e,t,i){const r=["monaco-editor"];return t.get(39)&&r.push(t.get(39)),e.extraEditorClassName&&r.push(e.extraEditorClassName),t.get(74)==="default"?r.push("mouse-default"):t.get(74)==="copy"&&r.push("mouse-copy"),t.get(111)&&r.push("showUnused"),t.get(140)&&r.push("showDeprecated"),r.join(" ")}}class Ppt extends ai{constructor(){super(37,"emptySelectionClipboard",!0,{description:_("emptySelectionClipboard","Controls whether copying without a selection copies the current line.")})}compute(e,t,i){return i&&e.emptySelectionClipboard}}class Opt extends yr{constructor(){const e={cursorMoveOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(41,"find",e,{"editor.find.cursorMoveOnType":{type:"boolean",default:e.cursorMoveOnType,description:_("find.cursorMoveOnType","Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:e.seedSearchStringFromSelection,enumDescriptions:[_("editor.find.seedSearchStringFromSelection.never","Never seed search string from the editor selection."),_("editor.find.seedSearchStringFromSelection.always","Always seed search string from the editor selection, including word at cursor position."),_("editor.find.seedSearchStringFromSelection.selection","Only seed search string from the editor selection.")],description:_("find.seedSearchStringFromSelection","Controls whether the search string in the Find Widget is seeded from the editor selection.")},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:e.autoFindInSelection,enumDescriptions:[_("editor.find.autoFindInSelection.never","Never turn on Find in Selection automatically (default)."),_("editor.find.autoFindInSelection.always","Always turn on Find in Selection automatically."),_("editor.find.autoFindInSelection.multiline","Turn on Find in Selection automatically when multiple lines of content are selected.")],description:_("find.autoFindInSelection","Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:e.globalFindClipboard,description:_("find.globalFindClipboard","Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:On},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:e.addExtraSpaceOnTop,description:_("find.addExtraSpaceOnTop","Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.")},"editor.find.loop":{type:"boolean",default:e.loop,description:_("find.loop","Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{cursorMoveOnType:Xt(t.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:typeof e.seedSearchStringFromSelection=="boolean"?e.seedSearchStringFromSelection?"always":"never":Br(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:typeof e.autoFindInSelection=="boolean"?e.autoFindInSelection?"always":"never":Br(t.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:Xt(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:Xt(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:Xt(t.loop,this.defaultValue.loop)}}}class Bu extends yr{constructor(){super(51,"fontLigatures",Bu.OFF,{anyOf:[{type:"boolean",description:_("fontLigatures","Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.")},{type:"string",description:_("fontFeatureSettings","Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:_("fontLigaturesGeneral","Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property."),default:!1})}validate(e){return typeof e>"u"?this.defaultValue:typeof e=="string"?e==="false"||e.length===0?Bu.OFF:e==="true"?Bu.ON:e:e?Bu.ON:Bu.OFF}}Bu.OFF='"liga" off, "calt" off',Bu.ON='"liga" on, "calt" on';class Zh extends yr{constructor(){super(54,"fontVariations",Zh.OFF,{anyOf:[{type:"boolean",description:_("fontVariations","Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.")},{type:"string",description:_("fontVariationSettings","Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.")}],description:_("fontVariationsGeneral","Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property."),default:!1})}validate(e){return typeof e>"u"?this.defaultValue:typeof e=="string"?e==="false"?Zh.OFF:e==="true"?Zh.TRANSLATE:e:e?Zh.TRANSLATE:Zh.OFF}compute(e,t,i){return e.fontInfo.fontVariationSettings}}Zh.OFF="normal",Zh.TRANSLATE="translate";class Bpt extends yF{constructor(){super(50)}compute(e,t,i){return e.fontInfo}}class zpt extends Pw{constructor(){super(52,"fontSize",Vl.fontSize,{type:"number",minimum:6,maximum:100,default:Vl.fontSize,description:_("fontSize","Controls the font size in pixels.")})}validate(e){const t=Rc.float(e,this.defaultValue);return t===0?Vl.fontSize:Rc.clamp(t,6,100)}compute(e,t,i){return e.fontInfo.fontSize}}class jm extends yr{constructor(){super(53,"fontWeight",Vl.fontWeight,{anyOf:[{type:"number",minimum:jm.MINIMUM_VALUE,maximum:jm.MAXIMUM_VALUE,errorMessage:_("fontWeightErrorMessage",'Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.')},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:jm.SUGGESTION_VALUES}],default:Vl.fontWeight,description:_("fontWeight",'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(e){return e==="normal"||e==="bold"?e:String(Ji.clampedInt(e,Vl.fontWeight,jm.MINIMUM_VALUE,jm.MAXIMUM_VALUE))}}jm.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"],jm.MINIMUM_VALUE=1,jm.MAXIMUM_VALUE=1e3;class Hpt extends yr{constructor(){const e={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:""},t={type:"string",enum:["peek","gotoAndPeek","goto"],default:e.multiple,enumDescriptions:[_("editor.gotoLocation.multiple.peek","Show Peek view of the results (default)"),_("editor.gotoLocation.multiple.gotoAndPeek","Go to the primary result and show a Peek view"),_("editor.gotoLocation.multiple.goto","Go to the primary result and enable Peek-less navigation to others")]},i=["","editor.action.referenceSearch.trigger","editor.action.goToReferences","editor.action.peekImplementation","editor.action.goToImplementation","editor.action.peekTypeDefinition","editor.action.goToTypeDefinition","editor.action.peekDeclaration","editor.action.revealDeclaration","editor.action.peekDefinition","editor.action.revealDefinitionAside","editor.action.revealDefinition"];super(58,"gotoLocation",e,{"editor.gotoLocation.multiple":{deprecationMessage:_("editor.gotoLocation.multiple.deprecated","This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":{description:_("editor.editor.gotoLocation.multipleDefinitions","Controls the behavior the 'Go to Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleTypeDefinitions":{description:_("editor.editor.gotoLocation.multipleTypeDefinitions","Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleDeclarations":{description:_("editor.editor.gotoLocation.multipleDeclarations","Controls the behavior the 'Go to Declaration'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleImplementations":{description:_("editor.editor.gotoLocation.multipleImplemenattions","Controls the behavior the 'Go to Implementations'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleReferences":{description:_("editor.editor.gotoLocation.multipleReferences","Controls the behavior the 'Go to References'-command when multiple target locations exist."),...t},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:e.alternativeDefinitionCommand,enum:i,description:_("alternativeDefinitionCommand","Alternative command id that is being executed when the result of 'Go to Definition' is the current location.")},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:e.alternativeTypeDefinitionCommand,enum:i,description:_("alternativeTypeDefinitionCommand","Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.")},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:e.alternativeDeclarationCommand,enum:i,description:_("alternativeDeclarationCommand","Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.")},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:e.alternativeImplementationCommand,enum:i,description:_("alternativeImplementationCommand","Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.")},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:e.alternativeReferenceCommand,enum:i,description:_("alternativeReferenceCommand","Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(e){var t,i,r,o,s;if(!e||typeof e!="object")return this.defaultValue;const a=e;return{multiple:Br(a.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:(t=a.multipleDefinitions)!==null&&t!==void 0?t:Br(a.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:(i=a.multipleTypeDefinitions)!==null&&i!==void 0?i:Br(a.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:(r=a.multipleDeclarations)!==null&&r!==void 0?r:Br(a.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:(o=a.multipleImplementations)!==null&&o!==void 0?o:Br(a.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:(s=a.multipleReferences)!==null&&s!==void 0?s:Br(a.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:nl.string(a.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:nl.string(a.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:nl.string(a.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:nl.string(a.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:nl.string(a.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand)}}}class Ypt extends yr{constructor(){const e={enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0};super(60,"hover",e,{"editor.hover.enabled":{type:"boolean",default:e.enabled,description:_("hover.enabled","Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:e.delay,minimum:0,maximum:1e4,description:_("hover.delay","Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:e.sticky,description:_("hover.sticky","Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:e.hidingDelay,description:_("hover.hidingDelay","Controls the delay in milliseconds after which the hover is hidden. Requires `editor.hover.sticky` to be enabled.")},"editor.hover.above":{type:"boolean",default:e.above,description:_("hover.above","Prefer showing hovers above the line, if there's space.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:Xt(t.enabled,this.defaultValue.enabled),delay:Ji.clampedInt(t.delay,this.defaultValue.delay,0,1e4),sticky:Xt(t.sticky,this.defaultValue.sticky),hidingDelay:Ji.clampedInt(t.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:Xt(t.above,this.defaultValue.above)}}}class Ow extends yF{constructor(){super(145)}compute(e,t,i){return Ow.computeLayout(t,{memory:e.memory,outerWidth:e.outerWidth,outerHeight:e.outerHeight,isDominatedByLongLines:e.isDominatedByLongLines,lineHeight:e.fontInfo.lineHeight,viewLineCount:e.viewLineCount,lineNumbersDigitCount:e.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:e.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:e.fontInfo.maxDigitWidth,pixelRatio:e.pixelRatio,glyphMarginDecorationLaneCount:e.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(e){const t=e.height/e.lineHeight,i=Math.floor(e.paddingTop/e.lineHeight);let r=Math.floor(e.paddingBottom/e.lineHeight);e.scrollBeyondLastLine&&(r=Math.max(r,t-1));const o=(i+e.viewLineCount+r)/(e.pixelRatio*e.height),s=Math.floor(e.viewLineCount/o);return{typicalViewportLineCount:t,extraLinesBeforeFirstLine:i,extraLinesBeyondLastLine:r,desiredRatio:o,minimapLineCount:s}}static _computeMinimapLayout(e,t){const i=e.outerWidth,r=e.outerHeight,o=e.pixelRatio;if(!e.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(o*r),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:r};const s=t.stableMinimapLayoutInput,a=s&&e.outerHeight===s.outerHeight&&e.lineHeight===s.lineHeight&&e.typicalHalfwidthCharacterWidth===s.typicalHalfwidthCharacterWidth&&e.pixelRatio===s.pixelRatio&&e.scrollBeyondLastLine===s.scrollBeyondLastLine&&e.paddingTop===s.paddingTop&&e.paddingBottom===s.paddingBottom&&e.minimap.enabled===s.minimap.enabled&&e.minimap.side===s.minimap.side&&e.minimap.size===s.minimap.size&&e.minimap.showSlider===s.minimap.showSlider&&e.minimap.renderCharacters===s.minimap.renderCharacters&&e.minimap.maxColumn===s.minimap.maxColumn&&e.minimap.scale===s.minimap.scale&&e.verticalScrollbarWidth===s.verticalScrollbarWidth&&e.isViewportWrapping===s.isViewportWrapping,l=e.lineHeight,u=e.typicalHalfwidthCharacterWidth,c=e.scrollBeyondLastLine,d=e.minimap.renderCharacters;let h=o>=2?Math.round(e.minimap.scale*2):e.minimap.scale;const m=e.minimap.maxColumn,f=e.minimap.size,g=e.minimap.side,b=e.verticalScrollbarWidth,y=e.viewLineCount,C=e.remainingWidth,w=e.isViewportWrapping,x=d?2:3;let L=Math.floor(o*r);const I=L/o;let D=!1,N=!1,T=x*h,R=h/o,E=1;if(f==="fill"||f==="fit"){const{typicalViewportLineCount:P,extraLinesBeforeFirstLine:H,extraLinesBeyondLastLine:M,desiredRatio:X,minimapLineCount:Y}=Ow.computeContainedMinimapLineCount({viewLineCount:y,scrollBeyondLastLine:c,paddingTop:e.paddingTop,paddingBottom:e.paddingBottom,height:r,lineHeight:l,pixelRatio:o});if(y/Y>1)D=!0,N=!0,h=1,T=1,R=h/o;else{let te=!1,oe=h+1;if(f==="fit"){const ae=Math.ceil((H+y+M)*T);w&&a&&C<=t.stableFitRemainingWidth?(te=!0,oe=t.stableFitMaxMinimapScale):te=ae>L}if(f==="fill"||te){D=!0;const ae=h;T=Math.min(l*o,Math.max(1,Math.floor(1/X))),w&&a&&C<=t.stableFitRemainingWidth&&(oe=t.stableFitMaxMinimapScale),h=Math.min(oe,Math.max(1,Math.floor(T/x))),h>ae&&(E=Math.min(2,h/ae)),R=h/o/E,L=Math.ceil(Math.max(P,H+y+M)*T),w?(t.stableMinimapLayoutInput=e,t.stableFitRemainingWidth=C,t.stableFitMaxMinimapScale=h):(t.stableMinimapLayoutInput=null,t.stableFitRemainingWidth=0)}}}const W=Math.floor(m*R),Z=Math.min(W,Math.max(0,Math.floor((C-b-2)*R/(u+R)))+Jm);let V=Math.floor(o*Z);const z=V/o;V=Math.floor(V*E);const O=d?1:2,B=g==="left"?0:i-Z-b;return{renderMinimap:O,minimapLeft:B,minimapWidth:Z,minimapHeightIsEditorHeight:D,minimapIsSampling:N,minimapScale:h,minimapLineHeight:T,minimapCanvasInnerWidth:V,minimapCanvasInnerHeight:L,minimapCanvasOuterWidth:z,minimapCanvasOuterHeight:I}}static computeLayout(e,t){const i=t.outerWidth|0,r=t.outerHeight|0,o=t.lineHeight|0,s=t.lineNumbersDigitCount|0,a=t.typicalHalfwidthCharacterWidth,l=t.maxDigitWidth,u=t.pixelRatio,c=t.viewLineCount,d=e.get(137),h=d==="inherit"?e.get(136):d,m=h==="inherit"?e.get(132):h,f=e.get(135),g=t.isDominatedByLongLines,b=e.get(57),y=e.get(68).renderType!==0,C=e.get(69),w=e.get(105),x=e.get(84),L=e.get(73),I=e.get(103),D=I.verticalScrollbarSize,N=I.verticalHasArrows,T=I.arrowSize,R=I.horizontalScrollbarSize,E=e.get(43),W=e.get(110)!=="never";let Z=e.get(66);E&&W&&(Z+=16);let V=0;if(y){const ue=Math.max(s,C);V=Math.round(ue*l)}let z=0;b&&(z=o*t.glyphMarginDecorationLaneCount);let O=0,B=O+z,P=B+V,H=P+Z;const M=i-z-V-Z;let X=!1,Y=!1,A=-1;h==="inherit"&&g?(X=!0,Y=!0):m==="on"||m==="bounded"?Y=!0:m==="wordWrapColumn"&&(A=f);const te=Ow._computeMinimapLayout({outerWidth:i,outerHeight:r,lineHeight:o,typicalHalfwidthCharacterWidth:a,pixelRatio:u,scrollBeyondLastLine:w,paddingTop:x.top,paddingBottom:x.bottom,minimap:L,verticalScrollbarWidth:D,viewLineCount:c,remainingWidth:M,isViewportWrapping:Y},t.memory||new j1e);te.renderMinimap!==0&&te.minimapLeft===0&&(O+=te.minimapWidth,B+=te.minimapWidth,P+=te.minimapWidth,H+=te.minimapWidth);const oe=M-te.minimapWidth,ae=Math.max(1,Math.floor((oe-D-2)/a)),le=N?T:0;return Y&&(A=Math.max(1,ae),m==="bounded"&&(A=Math.min(A,f))),{width:i,height:r,glyphMarginLeft:O,glyphMarginWidth:z,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount,lineNumbersLeft:B,lineNumbersWidth:V,decorationsLeft:P,decorationsWidth:Z,contentLeft:H,contentWidth:oe,minimap:te,viewportColumn:ae,isWordWrapMinified:X,isViewportWrapping:Y,wrappingColumn:A,verticalScrollbarWidth:D,horizontalScrollbarHeight:R,overviewRuler:{top:le,width:D,height:r-2*le,right:0}}}}class Upt extends yr{constructor(){super(139,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[_("wrappingStrategy.simple","Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width."),_("wrappingStrategy.advanced","Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.")],type:"string",enum:["simple","advanced"],default:"simple",description:_("wrappingStrategy","Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")}})}validate(e){return Br(e,"simple",["simple","advanced"])}compute(e,t,i){return t.get(2)===2?"advanced":i}}var Nd;(function(n){n.Off="off",n.OnCode="onCode",n.On="on"})(Nd||(Nd={}));class Kpt extends yr{constructor(){const e={enabled:Nd.On};super(65,"lightbulb",e,{"editor.lightbulb.enabled":{type:"string",tags:["experimental"],enum:[Nd.Off,Nd.OnCode,Nd.On],default:e.enabled,enumDescriptions:[_("editor.lightbulb.enabled.off","Disable the code action menu."),_("editor.lightbulb.enabled.onCode","Show the code action menu when the cursor is on lines with code."),_("editor.lightbulb.enabled.on","Show the code action menu when the cursor is on lines with code or on empty lines.")],description:_("enabled","Enables the Code Action lightbulb in the editor.")}})}validate(e){return!e||typeof e!="object"?this.defaultValue:{enabled:Br(e.enabled,this.defaultValue.enabled,[Nd.Off,Nd.OnCode,Nd.On])}}}class Jpt extends yr{constructor(){const e={enabled:!0,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(115,"stickyScroll",e,{"editor.stickyScroll.enabled":{type:"boolean",default:e.enabled,description:_("editor.stickyScroll.enabled","Shows the nested current scopes during the scroll at the top of the editor."),tags:["experimental"]},"editor.stickyScroll.maxLineCount":{type:"number",default:e.maxLineCount,minimum:1,maximum:20,description:_("editor.stickyScroll.maxLineCount","Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:e.defaultModel,description:_("editor.stickyScroll.defaultModel","Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.")},"editor.stickyScroll.scrollWithEditor":{type:"boolean",default:e.scrollWithEditor,description:_("editor.stickyScroll.scrollWithEditor","Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:Xt(t.enabled,this.defaultValue.enabled),maxLineCount:Ji.clampedInt(t.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:Br(t.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:Xt(t.scrollWithEditor,this.defaultValue.scrollWithEditor)}}}class jpt extends yr{constructor(){const e={enabled:"on",fontSize:0,fontFamily:"",padding:!1};super(141,"inlayHints",e,{"editor.inlayHints.enabled":{type:"string",default:e.enabled,description:_("inlayHints.enable","Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[_("editor.inlayHints.on","Inlay hints are enabled"),_("editor.inlayHints.onUnlessPressed","Inlay hints are showing by default and hide when holding {0}",On?"Ctrl+Option":"Ctrl+Alt"),_("editor.inlayHints.offUnlessPressed","Inlay hints are hidden by default and show when holding {0}",On?"Ctrl+Option":"Ctrl+Alt"),_("editor.inlayHints.off","Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:e.fontSize,markdownDescription:_("inlayHints.fontSize","Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.","`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:"string",default:e.fontFamily,markdownDescription:_("inlayHints.fontFamily","Controls font family of inlay hints in the editor. When set to empty, the {0} is used.","`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:"boolean",default:e.padding,description:_("inlayHints.padding","Enables the padding around the inlay hints in the editor.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return typeof t.enabled=="boolean"&&(t.enabled=t.enabled?"on":"off"),{enabled:Br(t.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:Ji.clampedInt(t.fontSize,this.defaultValue.fontSize,0,100),fontFamily:nl.string(t.fontFamily,this.defaultValue.fontFamily),padding:Xt(t.padding,this.defaultValue.padding)}}}class Qpt extends yr{constructor(){super(66,"lineDecorationsWidth",10)}validate(e){return typeof e=="string"&&/^\d+(\.\d+)?ch$/.test(e)?-parseFloat(e.substring(0,e.length-2)):Ji.clampedInt(e,this.defaultValue,0,1e3)}compute(e,t,i){return i<0?Ji.clampedInt(-i*e.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):i}}class $pt extends Rc{constructor(){super(67,"lineHeight",Vl.lineHeight,e=>Rc.clamp(e,0,150),{markdownDescription:_("lineHeight",`Controls the line height. - Use 0 to automatically compute the line height from the font size. - Values between 0 and 8 will be used as a multiplier with the font size. - - Values greater than or equal to 8 will be used as effective values.`)})}compute(e,t,i){return e.fontInfo.lineHeight}}class qpt extends yr{constructor(){const e={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:!1,renderCharacters:!0,maxColumn:120,scale:1,showRegionSectionHeaders:!0,showMarkSectionHeaders:!0,sectionHeaderFontSize:9};super(73,"minimap",e,{"editor.minimap.enabled":{type:"boolean",default:e.enabled,description:L("minimap.enabled","Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"boolean",default:e.autohide,description:L("minimap.autohide","Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[L("minimap.size.proportional","The minimap has the same size as the editor contents (and might scroll)."),L("minimap.size.fill","The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),L("minimap.size.fit","The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:e.size,description:L("minimap.size","Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:e.side,description:L("minimap.side","Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:e.showSlider,description:L("minimap.showSlider","Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:e.scale,minimum:1,maximum:3,enum:[1,2,3],description:L("minimap.scale","Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:e.renderCharacters,description:L("minimap.renderCharacters","Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:e.maxColumn,description:L("minimap.maxColumn","Limit the width of the minimap to render at most a certain number of columns.")},"editor.minimap.showRegionSectionHeaders":{type:"boolean",default:e.showRegionSectionHeaders,description:L("minimap.showRegionSectionHeaders","Controls whether named regions are shown as section headers in the minimap.")},"editor.minimap.showMarkSectionHeaders":{type:"boolean",default:e.showMarkSectionHeaders,description:L("minimap.showMarkSectionHeaders","Controls whether MARK: comments are shown as section headers in the minimap.")},"editor.minimap.sectionHeaderFontSize":{type:"number",default:e.sectionHeaderFontSize,description:L("minimap.sectionHeaderFontSize","Controls the font size of section headers in the minimap.")}})}validate(e){var t;if(!e||typeof e!="object")return this.defaultValue;const i=e;return{enabled:Xt(i.enabled,this.defaultValue.enabled),autohide:Xt(i.autohide,this.defaultValue.autohide),size:Br(i.size,this.defaultValue.size,["proportional","fill","fit"]),side:Br(i.side,this.defaultValue.side,["right","left"]),showSlider:Br(i.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:Xt(i.renderCharacters,this.defaultValue.renderCharacters),scale:ji.clampedInt(i.scale,1,1,3),maxColumn:ji.clampedInt(i.maxColumn,this.defaultValue.maxColumn,1,1e4),showRegionSectionHeaders:Xt(i.showRegionSectionHeaders,this.defaultValue.showRegionSectionHeaders),showMarkSectionHeaders:Xt(i.showMarkSectionHeaders,this.defaultValue.showMarkSectionHeaders),sectionHeaderFontSize:Wc.clamp((t=i.sectionHeaderFontSize)!==null&&t!==void 0?t:this.defaultValue.sectionHeaderFontSize,4,32)}}}function ebt(n){return n==="ctrlCmd"?On?"metaKey":"ctrlKey":"altKey"}class tbt extends yr{constructor(){super(84,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:L("padding.top","Controls the amount of space between the top edge of the editor and the first line.")},"editor.padding.bottom":{type:"number",default:0,minimum:0,maximum:1e3,description:L("padding.bottom","Controls the amount of space between the bottom edge of the editor and the last line.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{top:ji.clampedInt(t.top,0,0,1e3),bottom:ji.clampedInt(t.bottom,0,0,1e3)}}}class nbt extends yr{constructor(){const e={enabled:!0,cycle:!0};super(86,"parameterHints",e,{"editor.parameterHints.enabled":{type:"boolean",default:e.enabled,description:L("parameterHints.enabled","Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:e.cycle,description:L("parameterHints.cycle","Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:Xt(t.enabled,this.defaultValue.enabled),cycle:Xt(t.cycle,this.defaultValue.cycle)}}}class ibt extends vI{constructor(){super(143)}compute(e,t,i){return e.pixelRatio}}class rbt extends yr{constructor(){const e={other:"on",comments:"off",strings:"off"},t=[{type:"boolean"},{type:"string",enum:["on","inline","off"],enumDescriptions:[L("on","Quick suggestions show inside the suggest widget"),L("inline","Quick suggestions show as ghost text"),L("off","Quick suggestions are disabled")]}];super(89,"quickSuggestions",e,{type:"object",additionalProperties:!1,properties:{strings:{anyOf:t,default:e.strings,description:L("quickSuggestions.strings","Enable quick suggestions inside strings.")},comments:{anyOf:t,default:e.comments,description:L("quickSuggestions.comments","Enable quick suggestions inside comments.")},other:{anyOf:t,default:e.other,description:L("quickSuggestions.other","Enable quick suggestions outside of strings and comments.")}},default:e,markdownDescription:L("quickSuggestions","Controls whether suggestions should automatically show up while typing. This can be controlled for typing in comments, strings, and other code. Quick suggestion can be configured to show as ghost text or with the suggest widget. Also be aware of the '{0}'-setting which controls if suggestions are triggered by special characters.","#editor.suggestOnTriggerCharacters#")}),this.defaultValue=e}validate(e){if(typeof e=="boolean"){const u=e?"on":"off";return{comments:u,strings:u,other:u}}if(!e||typeof e!="object")return this.defaultValue;const{other:t,comments:i,strings:r}=e,o=["on","inline","off"];let s,a,l;return typeof t=="boolean"?s=t?"on":"off":s=Br(t,this.defaultValue.other,o),typeof i=="boolean"?a=i?"on":"off":a=Br(i,this.defaultValue.comments,o),typeof r=="boolean"?l=r?"on":"off":l=Br(r,this.defaultValue.strings,o),{other:s,comments:a,strings:l}}}class obt extends yr{constructor(){super(68,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[L("lineNumbers.off","Line numbers are not rendered."),L("lineNumbers.on","Line numbers are rendered as absolute number."),L("lineNumbers.relative","Line numbers are rendered as distance in lines to cursor position."),L("lineNumbers.interval","Line numbers are rendered every 10 lines.")],default:"on",description:L("lineNumbers","Controls the display of line numbers.")})}validate(e){let t=this.defaultValue.renderType,i=this.defaultValue.renderFn;return typeof e<"u"&&(typeof e=="function"?(t=4,i=e):e==="interval"?t=3:e==="relative"?t=2:e==="on"?t=1:t=0),{renderType:t,renderFn:i}}}function $9(n){const e=n.get(98);return e==="editable"?n.get(91):e!=="on"}class sbt extends yr{constructor(){const e=[],t={type:"number",description:L("rulers.size","Number of monospace characters at which this editor ruler will render.")};super(102,"rulers",e,{type:"array",items:{anyOf:[t,{type:["object"],properties:{column:t,color:{type:"string",description:L("rulers.color","Color of this editor ruler."),format:"color-hex"}}}]},default:e,description:L("rulers","Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.")})}validate(e){if(Array.isArray(e)){const t=[];for(const i of e)if(typeof i=="number")t.push({column:ji.clampedInt(i,0,0,1e4),color:null});else if(i&&typeof i=="object"){const r=i;t.push({column:ji.clampedInt(r.column,0,0,1e4),color:r.color})}return t.sort((i,r)=>i.column-r.column),t}return this.defaultValue}}class abt extends yr{constructor(){super(92,"readOnlyMessage",void 0)}validate(e){return!e||typeof e!="object"?this.defaultValue:e}}function Q1e(n,e){if(typeof n!="string")return e;switch(n){case"hidden":return 2;case"visible":return 3;default:return 1}}let lbt=class extends yr{constructor(){const e={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1,ignoreHorizontalScrollbarInContentHeight:!1};super(103,"scrollbar",e,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[L("scrollbar.vertical.auto","The vertical scrollbar will be visible only when necessary."),L("scrollbar.vertical.visible","The vertical scrollbar will always be visible."),L("scrollbar.vertical.fit","The vertical scrollbar will always be hidden.")],default:"auto",description:L("scrollbar.vertical","Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[L("scrollbar.horizontal.auto","The horizontal scrollbar will be visible only when necessary."),L("scrollbar.horizontal.visible","The horizontal scrollbar will always be visible."),L("scrollbar.horizontal.fit","The horizontal scrollbar will always be hidden.")],default:"auto",description:L("scrollbar.horizontal","Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:e.verticalScrollbarSize,description:L("scrollbar.verticalScrollbarSize","The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:e.horizontalScrollbarSize,description:L("scrollbar.horizontalScrollbarSize","The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:e.scrollByPage,description:L("scrollbar.scrollByPage","Controls whether clicks scroll by page or jump to click position.")},"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight":{type:"boolean",default:e.ignoreHorizontalScrollbarInContentHeight,description:L("scrollbar.ignoreHorizontalScrollbarInContentHeight","When set, the horizontal scrollbar will not increase the size of the editor's content.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e,i=ji.clampedInt(t.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),r=ji.clampedInt(t.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:ji.clampedInt(t.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:Q1e(t.vertical,this.defaultValue.vertical),horizontal:Q1e(t.horizontal,this.defaultValue.horizontal),useShadows:Xt(t.useShadows,this.defaultValue.useShadows),verticalHasArrows:Xt(t.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:Xt(t.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:Xt(t.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:Xt(t.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:i,horizontalSliderSize:ji.clampedInt(t.horizontalSliderSize,i,0,1e3),verticalScrollbarSize:r,verticalSliderSize:ji.clampedInt(t.verticalSliderSize,r,0,1e3),scrollByPage:Xt(t.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:Xt(t.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}};const zu="inUntrustedWorkspace",Vl={allowedCharacters:"editor.unicodeHighlight.allowedCharacters",invisibleCharacters:"editor.unicodeHighlight.invisibleCharacters",nonBasicASCII:"editor.unicodeHighlight.nonBasicASCII",ambiguousCharacters:"editor.unicodeHighlight.ambiguousCharacters",includeComments:"editor.unicodeHighlight.includeComments",includeStrings:"editor.unicodeHighlight.includeStrings",allowedLocales:"editor.unicodeHighlight.allowedLocales"};class ubt extends yr{constructor(){const e={nonBasicASCII:zu,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:zu,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(125,"unicodeHighlight",e,{[Vl.nonBasicASCII]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,zu],default:e.nonBasicASCII,description:L("unicodeHighlight.nonBasicASCII","Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.")},[Vl.invisibleCharacters]:{restricted:!0,type:"boolean",default:e.invisibleCharacters,description:L("unicodeHighlight.invisibleCharacters","Controls whether characters that just reserve space or have no width at all are highlighted.")},[Vl.ambiguousCharacters]:{restricted:!0,type:"boolean",default:e.ambiguousCharacters,description:L("unicodeHighlight.ambiguousCharacters","Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.")},[Vl.includeComments]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,zu],default:e.includeComments,description:L("unicodeHighlight.includeComments","Controls whether characters in comments should also be subject to Unicode highlighting.")},[Vl.includeStrings]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,zu],default:e.includeStrings,description:L("unicodeHighlight.includeStrings","Controls whether characters in strings should also be subject to Unicode highlighting.")},[Vl.allowedCharacters]:{restricted:!0,type:"object",default:e.allowedCharacters,description:L("unicodeHighlight.allowedCharacters","Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},[Vl.allowedLocales]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:e.allowedLocales,description:L("unicodeHighlight.allowedLocales","Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(e,t){let i=!1;t.allowedCharacters&&e&&(Ou(e.allowedCharacters,t.allowedCharacters)||(e={...e,allowedCharacters:t.allowedCharacters},i=!0)),t.allowedLocales&&e&&(Ou(e.allowedLocales,t.allowedLocales)||(e={...e,allowedLocales:t.allowedLocales},i=!0));const r=super.applyUpdate(e,t);return i?new bI(r.newValue,!0):r}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{nonBasicASCII:BS(t.nonBasicASCII,zu,[!0,!1,zu]),invisibleCharacters:Xt(t.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:Xt(t.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:BS(t.includeComments,zu,[!0,!1,zu]),includeStrings:BS(t.includeStrings,zu,[!0,!1,zu]),allowedCharacters:this.validateBooleanMap(e.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(e.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(e,t){if(typeof e!="object"||!e)return t;const i={};for(const[r,o]of Object.entries(e))o===!0&&(i[r]=!0);return i}}class cbt extends yr{constructor(){const e={enabled:!0,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:!1,keepOnBlur:!1,fontFamily:"default"};super(62,"inlineSuggest",e,{"editor.inlineSuggest.enabled":{type:"boolean",default:e.enabled,description:L("inlineSuggest.enabled","Controls whether to automatically show inline suggestions in the editor.")},"editor.inlineSuggest.showToolbar":{type:"string",default:e.showToolbar,enum:["always","onHover","never"],enumDescriptions:[L("inlineSuggest.showToolbar.always","Show the inline suggestion toolbar whenever an inline suggestion is shown."),L("inlineSuggest.showToolbar.onHover","Show the inline suggestion toolbar when hovering over an inline suggestion."),L("inlineSuggest.showToolbar.never","Never show the inline suggestion toolbar.")],description:L("inlineSuggest.showToolbar","Controls when to show the inline suggestion toolbar.")},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:e.suppressSuggestions,description:L("inlineSuggest.suppressSuggestions","Controls how inline suggestions interact with the suggest widget. If enabled, the suggest widget is not shown automatically when inline suggestions are available.")},"editor.inlineSuggest.fontFamily":{type:"string",default:e.fontFamily,description:L("inlineSuggest.fontFamily","Controls the font family of the inline suggestions.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:Xt(t.enabled,this.defaultValue.enabled),mode:Br(t.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:Br(t.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),suppressSuggestions:Xt(t.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:Xt(t.keepOnBlur,this.defaultValue.keepOnBlur),fontFamily:nl.string(t.fontFamily,this.defaultValue.fontFamily)}}}class dbt extends yr{constructor(){const e={enabled:!1,showToolbar:"onHover",fontFamily:"default",keepOnBlur:!1,backgroundColoring:!1};super(63,"experimentalInlineEdit",e,{"editor.experimentalInlineEdit.enabled":{type:"boolean",default:e.enabled,description:L("inlineEdit.enabled","Controls whether to show inline edits in the editor.")},"editor.experimentalInlineEdit.showToolbar":{type:"string",default:e.showToolbar,enum:["always","onHover","never"],enumDescriptions:[L("inlineEdit.showToolbar.always","Show the inline edit toolbar whenever an inline suggestion is shown."),L("inlineEdit.showToolbar.onHover","Show the inline edit toolbar when hovering over an inline suggestion."),L("inlineEdit.showToolbar.never","Never show the inline edit toolbar.")],description:L("inlineEdit.showToolbar","Controls when to show the inline edit toolbar.")},"editor.experimentalInlineEdit.fontFamily":{type:"string",default:e.fontFamily,description:L("inlineEdit.fontFamily","Controls the font family of the inline edit.")},"editor.experimentalInlineEdit.backgroundColoring":{type:"boolean",default:e.backgroundColoring,description:L("inlineEdit.backgroundColoring","Controls whether to color the background of inline edits.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:Xt(t.enabled,this.defaultValue.enabled),showToolbar:Br(t.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),fontFamily:nl.string(t.fontFamily,this.defaultValue.fontFamily),keepOnBlur:Xt(t.keepOnBlur,this.defaultValue.keepOnBlur),backgroundColoring:Xt(t.backgroundColoring,this.defaultValue.backgroundColoring)}}}class hbt extends yr{constructor(){const e={enabled:pa.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:pa.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(15,"bracketPairColorization",e,{"editor.bracketPairColorization.enabled":{type:"boolean",default:e.enabled,markdownDescription:L("bracketPairColorization.enabled","Controls whether bracket pair colorization is enabled or not. Use {0} to override the bracket highlight colors.","`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:"boolean",default:e.independentColorPoolPerBracketType,description:L("bracketPairColorization.independentColorPoolPerBracketType","Controls whether each bracket type has its own independent color pool.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:Xt(t.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:Xt(t.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}}class mbt extends yr{constructor(){const e={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(16,"guides",e,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[L("editor.guides.bracketPairs.true","Enables bracket pair guides."),L("editor.guides.bracketPairs.active","Enables bracket pair guides only for the active bracket pair."),L("editor.guides.bracketPairs.false","Disables bracket pair guides.")],default:e.bracketPairs,description:L("editor.guides.bracketPairs","Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[L("editor.guides.bracketPairsHorizontal.true","Enables horizontal guides as addition to vertical bracket pair guides."),L("editor.guides.bracketPairsHorizontal.active","Enables horizontal guides only for the active bracket pair."),L("editor.guides.bracketPairsHorizontal.false","Disables horizontal bracket pair guides.")],default:e.bracketPairsHorizontal,description:L("editor.guides.bracketPairsHorizontal","Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:e.highlightActiveBracketPair,description:L("editor.guides.highlightActiveBracketPair","Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:e.indentation,description:L("editor.guides.indentation","Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[L("editor.guides.highlightActiveIndentation.true","Highlights the active indent guide."),L("editor.guides.highlightActiveIndentation.always","Highlights the active indent guide even if bracket guides are highlighted."),L("editor.guides.highlightActiveIndentation.false","Do not highlight the active indent guide.")],default:e.highlightActiveIndentation,description:L("editor.guides.highlightActiveIndentation","Controls whether the editor should highlight the active indent guide.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{bracketPairs:BS(t.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:BS(t.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:Xt(t.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:Xt(t.indentation,this.defaultValue.indentation),highlightActiveIndentation:BS(t.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}}function BS(n,e,t){const i=t.indexOf(n);return i===-1?e:t[i]}class fbt extends yr{constructor(){const e={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!1,localityBonus:!1,shareSuggestSelections:!1,selectionMode:"always",showIcons:!0,showStatusBar:!1,preview:!1,previewMode:"subwordSmart",showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,matchOnWordStartOnly:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(118,"suggest",e,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[L("suggest.insertMode.insert","Insert suggestion without overwriting text right of the cursor."),L("suggest.insertMode.replace","Insert suggestion and overwrite text right of the cursor.")],default:e.insertMode,description:L("suggest.insertMode","Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.")},"editor.suggest.filterGraceful":{type:"boolean",default:e.filterGraceful,description:L("suggest.filterGraceful","Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:e.localityBonus,description:L("suggest.localityBonus","Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:e.shareSuggestSelections,markdownDescription:L("suggest.shareSuggestSelections","Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.selectionMode":{type:"string",enum:["always","never","whenTriggerCharacter","whenQuickSuggestion"],enumDescriptions:[L("suggest.insertMode.always","Always select a suggestion when automatically triggering IntelliSense."),L("suggest.insertMode.never","Never select a suggestion when automatically triggering IntelliSense."),L("suggest.insertMode.whenTriggerCharacter","Select a suggestion only when triggering IntelliSense from a trigger character."),L("suggest.insertMode.whenQuickSuggestion","Select a suggestion only when triggering IntelliSense as you type.")],default:e.selectionMode,markdownDescription:L("suggest.selectionMode","Controls whether a suggestion is selected when the widget shows. Note that this only applies to automatically triggered suggestions (`#editor.quickSuggestions#` and `#editor.suggestOnTriggerCharacters#`) and that a suggestion is always selected when explicitly invoked, e.g via `Ctrl+Space`.")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:e.snippetsPreventQuickSuggestions,description:L("suggest.snippetsPreventQuickSuggestions","Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:e.showIcons,description:L("suggest.showIcons","Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:e.showStatusBar,description:L("suggest.showStatusBar","Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:e.preview,description:L("suggest.preview","Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:e.showInlineDetails,description:L("suggest.showInlineDetails","Controls whether suggest details show inline with the label or only in the details widget.")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:L("suggest.maxVisibleSuggestions.dep","This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:L("deprecated","This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.")},"editor.suggest.showMethods":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showMethods","When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showFunctions","When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showConstructors","When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showDeprecated","When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.matchOnWordStartOnly","When enabled IntelliSense filtering requires that the first character matches on a word start. For example, `c` on `Console` or `WebContext` but _not_ on `description`. When disabled IntelliSense will show more results but still sorts them by match quality.")},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showFields","When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showVariables","When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showClasss","When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showStructs","When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showInterfaces","When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showModules","When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showPropertys","When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showEvents","When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showOperators","When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showUnits","When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showValues","When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showConstants","When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showEnums","When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showEnumMembers","When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showKeywords","When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showTexts","When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showColors","When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showFiles","When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showReferences","When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showCustomcolors","When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showFolders","When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showTypeParameters","When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showSnippets","When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showUsers","When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:L("editor.suggest.showIssues","When enabled IntelliSense shows `issues`-suggestions.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{insertMode:Br(t.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:Xt(t.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:Xt(t.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:Xt(t.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:Xt(t.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:Br(t.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:Xt(t.showIcons,this.defaultValue.showIcons),showStatusBar:Xt(t.showStatusBar,this.defaultValue.showStatusBar),preview:Xt(t.preview,this.defaultValue.preview),previewMode:Br(t.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:Xt(t.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:Xt(t.showMethods,this.defaultValue.showMethods),showFunctions:Xt(t.showFunctions,this.defaultValue.showFunctions),showConstructors:Xt(t.showConstructors,this.defaultValue.showConstructors),showDeprecated:Xt(t.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:Xt(t.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:Xt(t.showFields,this.defaultValue.showFields),showVariables:Xt(t.showVariables,this.defaultValue.showVariables),showClasses:Xt(t.showClasses,this.defaultValue.showClasses),showStructs:Xt(t.showStructs,this.defaultValue.showStructs),showInterfaces:Xt(t.showInterfaces,this.defaultValue.showInterfaces),showModules:Xt(t.showModules,this.defaultValue.showModules),showProperties:Xt(t.showProperties,this.defaultValue.showProperties),showEvents:Xt(t.showEvents,this.defaultValue.showEvents),showOperators:Xt(t.showOperators,this.defaultValue.showOperators),showUnits:Xt(t.showUnits,this.defaultValue.showUnits),showValues:Xt(t.showValues,this.defaultValue.showValues),showConstants:Xt(t.showConstants,this.defaultValue.showConstants),showEnums:Xt(t.showEnums,this.defaultValue.showEnums),showEnumMembers:Xt(t.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:Xt(t.showKeywords,this.defaultValue.showKeywords),showWords:Xt(t.showWords,this.defaultValue.showWords),showColors:Xt(t.showColors,this.defaultValue.showColors),showFiles:Xt(t.showFiles,this.defaultValue.showFiles),showReferences:Xt(t.showReferences,this.defaultValue.showReferences),showFolders:Xt(t.showFolders,this.defaultValue.showFolders),showTypeParameters:Xt(t.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:Xt(t.showSnippets,this.defaultValue.showSnippets),showUsers:Xt(t.showUsers,this.defaultValue.showUsers),showIssues:Xt(t.showIssues,this.defaultValue.showIssues)}}}class gbt extends yr{constructor(){super(113,"smartSelect",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:L("selectLeadingAndTrailingWhitespace","Whether leading and trailing whitespace should always be selected."),default:!0,type:"boolean"},"editor.smartSelect.selectSubwords":{description:L("selectSubwords","Whether subwords (like 'foo' in 'fooBar' or 'foo_bar') should be selected."),default:!0,type:"boolean"}})}validate(e){return!e||typeof e!="object"?this.defaultValue:{selectLeadingAndTrailingWhitespace:Xt(e.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:Xt(e.selectSubwords,this.defaultValue.selectSubwords)}}}class pbt extends yr{constructor(){const e=[];super(130,"wordSegmenterLocales",e,{anyOf:[{description:L("wordSegmenterLocales","Locales to be used for word segmentation when doing word related navigations or operations. Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.)."),type:"string"},{description:L("wordSegmenterLocales","Locales to be used for word segmentation when doing word related navigations or operations. Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.)."),type:"array",items:{type:"string"}}]})}validate(e){if(typeof e=="string"&&(e=[e]),Array.isArray(e)){const t=[];for(const i of e)if(typeof i=="string")try{Intl.Segmenter.supportedLocalesOf(i).length>0&&t.push(i)}catch{}return t}return this.defaultValue}}class bbt extends yr{constructor(){super(138,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[L("wrappingIndent.none","No indentation. Wrapped lines begin at column 1."),L("wrappingIndent.same","Wrapped lines get the same indentation as the parent."),L("wrappingIndent.indent","Wrapped lines get +1 indentation toward the parent."),L("wrappingIndent.deepIndent","Wrapped lines get +2 indentation toward the parent.")],description:L("wrappingIndent","Controls the indentation of wrapped lines."),default:"same"}})}validate(e){switch(e){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}return 1}compute(e,t,i){return t.get(2)===2?0:i}}class vbt extends vI{constructor(){super(146)}compute(e,t,i){const r=t.get(145);return{isDominatedByLongLines:e.isDominatedByLongLines,isWordWrapMinified:r.isWordWrapMinified,isViewportWrapping:r.isViewportWrapping,wrappingColumn:r.wrappingColumn}}}class ybt extends yr{constructor(){const e={enabled:!0,showDropSelector:"afterDrop"};super(36,"dropIntoEditor",e,{"editor.dropIntoEditor.enabled":{type:"boolean",default:e.enabled,markdownDescription:L("dropIntoEditor.enabled","Controls whether you can drag and drop a file into a text editor by holding down the `Shift` key (instead of opening the file in an editor).")},"editor.dropIntoEditor.showDropSelector":{type:"string",markdownDescription:L("dropIntoEditor.showDropSelector","Controls if a widget is shown when dropping files into the editor. This widget lets you control how the file is dropped."),enum:["afterDrop","never"],enumDescriptions:[L("dropIntoEditor.showDropSelector.afterDrop","Show the drop selector widget after a file is dropped into the editor."),L("dropIntoEditor.showDropSelector.never","Never show the drop selector widget. Instead the default drop provider is always used.")],default:"afterDrop"}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:Xt(t.enabled,this.defaultValue.enabled),showDropSelector:Br(t.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}}}class Cbt extends yr{constructor(){const e={enabled:!0,showPasteSelector:"afterPaste"};super(85,"pasteAs",e,{"editor.pasteAs.enabled":{type:"boolean",default:e.enabled,markdownDescription:L("pasteAs.enabled","Controls whether you can paste content in different ways.")},"editor.pasteAs.showPasteSelector":{type:"string",markdownDescription:L("pasteAs.showPasteSelector","Controls if a widget is shown when pasting content in to the editor. This widget lets you control how the file is pasted."),enum:["afterPaste","never"],enumDescriptions:[L("pasteAs.showPasteSelector.afterPaste","Show the paste selector widget after content is pasted into the editor."),L("pasteAs.showPasteSelector.never","Never show the paste selector widget. Instead the default pasting behavior is always used.")],default:"afterPaste"}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:Xt(t.enabled,this.defaultValue.enabled),showPasteSelector:Br(t.showPasteSelector,this.defaultValue.showPasteSelector,["afterPaste","never"])}}}const Al={fontFamily:On?"Menlo, Monaco, 'Courier New', monospace":Ja?"'Droid Sans Mono', 'monospace', monospace":"Consolas, 'Courier New', monospace",fontWeight:"normal",fontSize:On?12:14,lineHeight:0,letterSpacing:0},zS=[];function nt(n){return zS[n.id]=n,n}const Rh={acceptSuggestionOnCommitCharacter:nt(new ai(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:L("acceptSuggestionOnCommitCharacter","Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.")})),acceptSuggestionOnEnter:nt(new Zr(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",L("acceptSuggestionOnEnterSmart","Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:L("acceptSuggestionOnEnter","Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:nt(new Rpt),accessibilityPageSize:nt(new ji(3,"accessibilityPageSize",10,1,1073741824,{description:L("accessibilityPageSize","Controls the number of lines in the editor that can be read out by a screen reader at once. When we detect a screen reader we automatically set the default to be 500. Warning: this has a performance implication for numbers larger than the default."),tags:["accessibility"]})),ariaLabel:nt(new nl(4,"ariaLabel",L("editorViewAccessibleLabel","Editor content"))),ariaRequired:nt(new ai(5,"ariaRequired",!1,void 0)),screenReaderAnnounceInlineSuggestion:nt(new ai(8,"screenReaderAnnounceInlineSuggestion",!0,{description:L("screenReaderAnnounceInlineSuggestion","Control whether inline suggestions are announced by a screen reader."),tags:["accessibility"]})),autoClosingBrackets:nt(new Zr(6,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",L("editor.autoClosingBrackets.languageDefined","Use language configurations to determine when to autoclose brackets."),L("editor.autoClosingBrackets.beforeWhitespace","Autoclose brackets only when the cursor is to the left of whitespace."),""],description:L("autoClosingBrackets","Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingComments:nt(new Zr(7,"autoClosingComments","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",L("editor.autoClosingComments.languageDefined","Use language configurations to determine when to autoclose comments."),L("editor.autoClosingComments.beforeWhitespace","Autoclose comments only when the cursor is to the left of whitespace."),""],description:L("autoClosingComments","Controls whether the editor should automatically close comments after the user adds an opening comment.")})),autoClosingDelete:nt(new Zr(9,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",L("editor.autoClosingDelete.auto","Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:L("autoClosingDelete","Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:nt(new Zr(10,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",L("editor.autoClosingOvertype.auto","Type over closing quotes or brackets only if they were automatically inserted."),""],description:L("autoClosingOvertype","Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:nt(new Zr(11,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",L("editor.autoClosingQuotes.languageDefined","Use language configurations to determine when to autoclose quotes."),L("editor.autoClosingQuotes.beforeWhitespace","Autoclose quotes only when the cursor is to the left of whitespace."),""],description:L("autoClosingQuotes","Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:nt(new Q9(12,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],Wpt,{enumDescriptions:[L("editor.autoIndent.none","The editor will not insert indentation automatically."),L("editor.autoIndent.keep","The editor will keep the current line's indentation."),L("editor.autoIndent.brackets","The editor will keep the current line's indentation and honor language defined brackets."),L("editor.autoIndent.advanced","The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),L("editor.autoIndent.full","The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.")],description:L("autoIndent","Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),automaticLayout:nt(new ai(13,"automaticLayout",!1)),autoSurround:nt(new Zr(14,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[L("editor.autoSurround.languageDefined","Use language configurations to determine when to automatically surround selections."),L("editor.autoSurround.quotes","Surround with quotes but not brackets."),L("editor.autoSurround.brackets","Surround with brackets but not quotes."),""],description:L("autoSurround","Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:nt(new hbt),bracketPairGuides:nt(new mbt),stickyTabStops:nt(new ai(116,"stickyTabStops",!1,{description:L("stickyTabStops","Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:nt(new ai(17,"codeLens",!0,{description:L("codeLens","Controls whether the editor shows CodeLens.")})),codeLensFontFamily:nt(new nl(18,"codeLensFontFamily","",{description:L("codeLensFontFamily","Controls the font family for CodeLens.")})),codeLensFontSize:nt(new ji(19,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:L("codeLensFontSize","Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.")})),colorDecorators:nt(new ai(20,"colorDecorators",!0,{description:L("colorDecorators","Controls whether the editor should render the inline color decorators and color picker.")})),colorDecoratorActivatedOn:nt(new Zr(148,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[L("editor.colorDecoratorActivatedOn.clickAndHover","Make the color picker appear both on click and hover of the color decorator"),L("editor.colorDecoratorActivatedOn.hover","Make the color picker appear on hover of the color decorator"),L("editor.colorDecoratorActivatedOn.click","Make the color picker appear on click of the color decorator")],description:L("colorDecoratorActivatedOn","Controls the condition to make a color picker appear from a color decorator")})),colorDecoratorsLimit:nt(new ji(21,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:L("colorDecoratorsLimit","Controls the max number of color decorators that can be rendered in an editor at once.")})),columnSelection:nt(new ai(22,"columnSelection",!1,{description:L("columnSelection","Enable that the selection with the mouse and keys is doing column selection.")})),comments:nt(new Vpt),contextmenu:nt(new ai(24,"contextmenu",!0)),copyWithSyntaxHighlighting:nt(new ai(25,"copyWithSyntaxHighlighting",!0,{description:L("copyWithSyntaxHighlighting","Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:nt(new Q9(26,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],Apt,{description:L("cursorBlinking","Control the cursor animation style.")})),cursorSmoothCaretAnimation:nt(new Zr(27,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[L("cursorSmoothCaretAnimation.off","Smooth caret animation is disabled."),L("cursorSmoothCaretAnimation.explicit","Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture."),L("cursorSmoothCaretAnimation.on","Smooth caret animation is always enabled.")],description:L("cursorSmoothCaretAnimation","Controls whether the smooth caret animation should be enabled.")})),cursorStyle:nt(new Q9(28,"cursorStyle",Es.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],Gpt,{description:L("cursorStyle","Controls the cursor style.")})),cursorSurroundingLines:nt(new ji(29,"cursorSurroundingLines",0,0,1073741824,{description:L("cursorSurroundingLines","Controls the minimal number of visible leading lines (minimum 0) and trailing lines (minimum 1) surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.")})),cursorSurroundingLinesStyle:nt(new Zr(30,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[L("cursorSurroundingLinesStyle.default","`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),L("cursorSurroundingLinesStyle.all","`cursorSurroundingLines` is enforced always.")],markdownDescription:L("cursorSurroundingLinesStyle","Controls when `#editor.cursorSurroundingLines#` should be enforced.")})),cursorWidth:nt(new ji(31,"cursorWidth",0,0,1073741824,{markdownDescription:L("cursorWidth","Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:nt(new ai(32,"disableLayerHinting",!1)),disableMonospaceOptimizations:nt(new ai(33,"disableMonospaceOptimizations",!1)),domReadOnly:nt(new ai(34,"domReadOnly",!1)),dragAndDrop:nt(new ai(35,"dragAndDrop",!0,{description:L("dragAndDrop","Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:nt(new Ppt),dropIntoEditor:nt(new ybt),stickyScroll:nt(new Jpt),experimentalWhitespaceRendering:nt(new Zr(38,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[L("experimentalWhitespaceRendering.svg","Use a new rendering method with svgs."),L("experimentalWhitespaceRendering.font","Use a new rendering method with font characters."),L("experimentalWhitespaceRendering.off","Use the stable rendering method.")],description:L("experimentalWhitespaceRendering","Controls whether whitespace is rendered with a new, experimental method.")})),extraEditorClassName:nt(new nl(39,"extraEditorClassName","")),fastScrollSensitivity:nt(new Wc(40,"fastScrollSensitivity",5,n=>n<=0?5:n,{markdownDescription:L("fastScrollSensitivity","Scrolling speed multiplier when pressing `Alt`.")})),find:nt(new Opt),fixedOverflowWidgets:nt(new ai(42,"fixedOverflowWidgets",!1)),folding:nt(new ai(43,"folding",!0,{description:L("folding","Controls whether the editor has code folding enabled.")})),foldingStrategy:nt(new Zr(44,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[L("foldingStrategy.auto","Use a language-specific folding strategy if available, else the indentation-based one."),L("foldingStrategy.indentation","Use the indentation-based folding strategy.")],description:L("foldingStrategy","Controls the strategy for computing folding ranges.")})),foldingHighlight:nt(new ai(45,"foldingHighlight",!0,{description:L("foldingHighlight","Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:nt(new ai(46,"foldingImportsByDefault",!1,{description:L("foldingImportsByDefault","Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:nt(new ji(47,"foldingMaximumRegions",5e3,10,65e3,{description:L("foldingMaximumRegions","The maximum number of foldable regions. Increasing this value may result in the editor becoming less responsive when the current source has a large number of foldable regions.")})),unfoldOnClickAfterEndOfLine:nt(new ai(48,"unfoldOnClickAfterEndOfLine",!1,{description:L("unfoldOnClickAfterEndOfLine","Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:nt(new nl(49,"fontFamily",Al.fontFamily,{description:L("fontFamily","Controls the font family.")})),fontInfo:nt(new Bpt),fontLigatures2:nt(new Bu),fontSize:nt(new zpt),fontWeight:nt(new jm),fontVariations:nt(new Wh),formatOnPaste:nt(new ai(55,"formatOnPaste",!1,{description:L("formatOnPaste","Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.")})),formatOnType:nt(new ai(56,"formatOnType",!1,{description:L("formatOnType","Controls whether the editor should automatically format the line after typing.")})),glyphMargin:nt(new ai(57,"glyphMargin",!0,{description:L("glyphMargin","Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:nt(new Hpt),hideCursorInOverviewRuler:nt(new ai(59,"hideCursorInOverviewRuler",!1,{description:L("hideCursorInOverviewRuler","Controls whether the cursor should be hidden in the overview ruler.")})),hover:nt(new Ypt),inDiffEditor:nt(new ai(61,"inDiffEditor",!1)),letterSpacing:nt(new Wc(64,"letterSpacing",Al.letterSpacing,n=>Wc.clamp(n,-5,20),{description:L("letterSpacing","Controls the letter spacing in pixels.")})),lightbulb:nt(new Kpt),lineDecorationsWidth:nt(new Qpt),lineHeight:nt(new $pt),lineNumbers:nt(new obt),lineNumbersMinChars:nt(new ji(69,"lineNumbersMinChars",5,1,300)),linkedEditing:nt(new ai(70,"linkedEditing",!1,{description:L("linkedEditing","Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.")})),links:nt(new ai(71,"links",!0,{description:L("links","Controls whether the editor should detect links and make them clickable.")})),matchBrackets:nt(new Zr(72,"matchBrackets","always",["always","near","never"],{description:L("matchBrackets","Highlight matching brackets.")})),minimap:nt(new qpt),mouseStyle:nt(new Zr(74,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:nt(new Wc(75,"mouseWheelScrollSensitivity",1,n=>n===0?1:n,{markdownDescription:L("mouseWheelScrollSensitivity","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:nt(new ai(76,"mouseWheelZoom",!1,{markdownDescription:On?L("mouseWheelZoom.mac","Zoom the font of the editor when using mouse wheel and holding `Cmd`."):L("mouseWheelZoom","Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:nt(new ai(77,"multiCursorMergeOverlapping",!0,{description:L("multiCursorMergeOverlapping","Merge multiple cursors when they are overlapping.")})),multiCursorModifier:nt(new Q9(78,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],ebt,{markdownEnumDescriptions:[L("multiCursorModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),L("multiCursorModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:L({key:"multiCursorModifier",comment:["- `ctrlCmd` refers to a value the setting can take and should not be localized.","- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized."]},"The modifier to be used to add multiple cursors with the mouse. The Go to Definition and Open Link mouse gestures will adapt such that they do not conflict with the [multicursor modifier](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).")})),multiCursorPaste:nt(new Zr(79,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[L("multiCursorPaste.spread","Each cursor pastes a single line of the text."),L("multiCursorPaste.full","Each cursor pastes the full text.")],markdownDescription:L("multiCursorPaste","Controls pasting when the line count of the pasted text matches the cursor count.")})),multiCursorLimit:nt(new ji(80,"multiCursorLimit",1e4,1,1e5,{markdownDescription:L("multiCursorLimit","Controls the max number of cursors that can be in an active editor at once.")})),occurrencesHighlight:nt(new Zr(81,"occurrencesHighlight","singleFile",["off","singleFile","multiFile"],{markdownEnumDescriptions:[L("occurrencesHighlight.off","Does not highlight occurrences."),L("occurrencesHighlight.singleFile","Highlights occurrences only in the current file."),L("occurrencesHighlight.multiFile","Experimental: Highlights occurrences across all valid open files.")],markdownDescription:L("occurrencesHighlight","Controls whether occurrences should be highlighted across open files.")})),overviewRulerBorder:nt(new ai(82,"overviewRulerBorder",!0,{description:L("overviewRulerBorder","Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:nt(new ji(83,"overviewRulerLanes",3,0,3)),padding:nt(new tbt),pasteAs:nt(new Cbt),parameterHints:nt(new nbt),peekWidgetDefaultFocus:nt(new Zr(87,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[L("peekWidgetDefaultFocus.tree","Focus the tree when opening peek"),L("peekWidgetDefaultFocus.editor","Focus the editor when opening peek")],description:L("peekWidgetDefaultFocus","Controls whether to focus the inline editor or the tree in the peek widget.")})),definitionLinkOpensInPeek:nt(new ai(88,"definitionLinkOpensInPeek",!1,{description:L("definitionLinkOpensInPeek","Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:nt(new rbt),quickSuggestionsDelay:nt(new ji(90,"quickSuggestionsDelay",10,0,1073741824,{description:L("quickSuggestionsDelay","Controls the delay in milliseconds after which quick suggestions will show up.")})),readOnly:nt(new ai(91,"readOnly",!1)),readOnlyMessage:nt(new abt),renameOnType:nt(new ai(93,"renameOnType",!1,{description:L("renameOnType","Controls whether the editor auto renames on type."),markdownDeprecationMessage:L("renameOnTypeDeprecate","Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:nt(new ai(94,"renderControlCharacters",!0,{description:L("renderControlCharacters","Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:nt(new Zr(95,"renderFinalNewline",Ja?"dimmed":"on",["off","on","dimmed"],{description:L("renderFinalNewline","Render last line number when the file ends with a newline.")})),renderLineHighlight:nt(new Zr(96,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",L("renderLineHighlight.all","Highlights both the gutter and the current line.")],description:L("renderLineHighlight","Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:nt(new ai(97,"renderLineHighlightOnlyWhenFocus",!1,{description:L("renderLineHighlightOnlyWhenFocus","Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:nt(new Zr(98,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:nt(new Zr(99,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",L("renderWhitespace.boundary","Render whitespace characters except for single spaces between words."),L("renderWhitespace.selection","Render whitespace characters only on selected text."),L("renderWhitespace.trailing","Render only trailing whitespace characters."),""],description:L("renderWhitespace","Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:nt(new ji(100,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:nt(new ai(101,"roundedSelection",!0,{description:L("roundedSelection","Controls whether selections should have rounded corners.")})),rulers:nt(new sbt),scrollbar:nt(new lbt),scrollBeyondLastColumn:nt(new ji(104,"scrollBeyondLastColumn",4,0,1073741824,{description:L("scrollBeyondLastColumn","Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:nt(new ai(105,"scrollBeyondLastLine",!0,{description:L("scrollBeyondLastLine","Controls whether the editor will scroll beyond the last line.")})),scrollPredominantAxis:nt(new ai(106,"scrollPredominantAxis",!0,{description:L("scrollPredominantAxis","Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.")})),selectionClipboard:nt(new ai(107,"selectionClipboard",!0,{description:L("selectionClipboard","Controls whether the Linux primary clipboard should be supported."),included:Ja})),selectionHighlight:nt(new ai(108,"selectionHighlight",!0,{description:L("selectionHighlight","Controls whether the editor should highlight matches similar to the selection.")})),selectOnLineNumbers:nt(new ai(109,"selectOnLineNumbers",!0)),showFoldingControls:nt(new Zr(110,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[L("showFoldingControls.always","Always show the folding controls."),L("showFoldingControls.never","Never show the folding controls and reduce the gutter size."),L("showFoldingControls.mouseover","Only show the folding controls when the mouse is over the gutter.")],description:L("showFoldingControls","Controls when the folding controls on the gutter are shown.")})),showUnused:nt(new ai(111,"showUnused",!0,{description:L("showUnused","Controls fading out of unused code.")})),showDeprecated:nt(new ai(140,"showDeprecated",!0,{description:L("showDeprecated","Controls strikethrough deprecated variables.")})),inlayHints:nt(new jpt),snippetSuggestions:nt(new Zr(112,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[L("snippetSuggestions.top","Show snippet suggestions on top of other suggestions."),L("snippetSuggestions.bottom","Show snippet suggestions below other suggestions."),L("snippetSuggestions.inline","Show snippets suggestions with other suggestions."),L("snippetSuggestions.none","Do not show snippet suggestions.")],description:L("snippetSuggestions","Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:nt(new gbt),smoothScrolling:nt(new ai(114,"smoothScrolling",!1,{description:L("smoothScrolling","Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:nt(new ji(117,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:nt(new fbt),inlineSuggest:nt(new cbt),inlineEdit:nt(new dbt),inlineCompletionsAccessibilityVerbose:nt(new ai(149,"inlineCompletionsAccessibilityVerbose",!1,{description:L("inlineCompletionsAccessibilityVerbose","Controls whether the accessibility hint should be provided to screen reader users when an inline completion is shown.")})),suggestFontSize:nt(new ji(119,"suggestFontSize",0,0,1e3,{markdownDescription:L("suggestFontSize","Font size for the suggest widget. When set to {0}, the value of {1} is used.","`0`","`#editor.fontSize#`")})),suggestLineHeight:nt(new ji(120,"suggestLineHeight",0,0,1e3,{markdownDescription:L("suggestLineHeight","Line height for the suggest widget. When set to {0}, the value of {1} is used. The minimum value is 8.","`0`","`#editor.lineHeight#`")})),suggestOnTriggerCharacters:nt(new ai(121,"suggestOnTriggerCharacters",!0,{description:L("suggestOnTriggerCharacters","Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:nt(new Zr(122,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[L("suggestSelection.first","Always select the first suggestion."),L("suggestSelection.recentlyUsed","Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),L("suggestSelection.recentlyUsedByPrefix","Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:L("suggestSelection","Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:nt(new Zr(123,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[L("tabCompletion.on","Tab complete will insert the best matching suggestion when pressing tab."),L("tabCompletion.off","Disable tab completions."),L("tabCompletion.onlySnippets","Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:L("tabCompletion","Enables tab completions.")})),tabIndex:nt(new ji(124,"tabIndex",0,-1,1073741824)),unicodeHighlight:nt(new ubt),unusualLineTerminators:nt(new Zr(126,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[L("unusualLineTerminators.auto","Unusual line terminators are automatically removed."),L("unusualLineTerminators.off","Unusual line terminators are ignored."),L("unusualLineTerminators.prompt","Unusual line terminators prompt to be removed.")],description:L("unusualLineTerminators","Remove unusual line terminators that might cause problems.")})),useShadowDOM:nt(new ai(127,"useShadowDOM",!0)),useTabStops:nt(new ai(128,"useTabStops",!0,{description:L("useTabStops","Spaces and tabs are inserted and deleted in alignment with tab stops.")})),wordBreak:nt(new Zr(129,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[L("wordBreak.normal","Use the default line break rule."),L("wordBreak.keepAll","Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.")],description:L("wordBreak","Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.")})),wordSegmenterLocales:nt(new pbt),wordSeparators:nt(new nl(131,"wordSeparators",a1e,{description:L("wordSeparators","Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:nt(new Zr(132,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[L("wordWrap.off","Lines will never wrap."),L("wordWrap.on","Lines will wrap at the viewport width."),L({key:"wordWrap.wordWrapColumn",comment:["- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at `#editor.wordWrapColumn#`."),L({key:"wordWrap.bounded",comment:["- viewport means the edge of the visible window size.","- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:L({key:"wordWrap",comment:["- 'off', 'on', 'wordWrapColumn' and 'bounded' refer to values the setting can take and should not be localized.","- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Controls how lines should wrap.")})),wordWrapBreakAfterCharacters:nt(new nl(133,"wordWrapBreakAfterCharacters"," })]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」")),wordWrapBreakBeforeCharacters:nt(new nl(134,"wordWrapBreakBeforeCharacters","([{‘“〈《「『【〔([{「£¥$£¥++")),wordWrapColumn:nt(new ji(135,"wordWrapColumn",80,1,1073741824,{markdownDescription:L({key:"wordWrapColumn",comment:["- `editor.wordWrap` refers to a different setting and should not be localized.","- 'wordWrapColumn' and 'bounded' refer to values the different setting can take and should not be localized."]},"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:nt(new Zr(136,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:nt(new Zr(137,"wordWrapOverride2","inherit",["off","on","inherit"])),editorClassName:nt(new Xpt),defaultColorDecorators:nt(new ai(147,"defaultColorDecorators",!1,{markdownDescription:L("defaultColorDecorators","Controls whether inline color decorations should be shown using the default document color provider")})),pixelRatio:nt(new ibt),tabFocusMode:nt(new ai(144,"tabFocusMode",!1,{markdownDescription:L("tabFocusMode","Controls whether the editor receives tabs or defers them to the workbench for navigation.")})),layoutInfo:nt(new OS),wrappingInfo:nt(new vbt),wrappingIndent:nt(new bbt),wrappingStrategy:nt(new Upt)},Rc=new class{constructor(){this._zoomLevel=0,this._onDidChangeZoomLevel=new be,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event}getZoomLevel(){return this._zoomLevel}setZoomLevel(n){n=Math.min(Math.max(-5,n),20),this._zoomLevel!==n&&(this._zoomLevel=n,this._onDidChangeZoomLevel.fire(this._zoomLevel))}},wbt=On?1.5:1.35,c6=8;class sy{static createFromValidatedSettings(e,t,i){const r=e.get(49),o=e.get(53),s=e.get(52),a=e.get(51),l=e.get(54),u=e.get(67),c=e.get(64);return sy._create(r,o,s,a,l,u,c,t,i)}static _create(e,t,i,r,o,s,a,l,u){s===0?s=wbt*i:s{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings(e)},5e3))}_evictUntrustedReadings(e){const t=this._ensureCache(e),i=t.getValues();let r=!1;for(const o of i)o.isTrusted||(r=!0,t.remove(o));r&&this._onDidChange.fire()}readFontInfo(e,t){const i=this._ensureCache(e);if(!i.has(t)){let r=this._actualReadFontInfo(e,t);(r.typicalHalfwidthCharacterWidth<=2||r.typicalFullwidthCharacterWidth<=2||r.spaceWidth<=2||r.maxDigitWidth<=2)&&(r=new d6({pixelRatio:pI.getInstance(e).value,fontFamily:r.fontFamily,fontWeight:r.fontWeight,fontSize:r.fontSize,fontFeatureSettings:r.fontFeatureSettings,fontVariationSettings:r.fontVariationSettings,lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,isMonospace:r.isMonospace,typicalHalfwidthCharacterWidth:Math.max(r.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(r.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:r.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(r.spaceWidth,5),middotWidth:Math.max(r.middotWidth,5),wsmiddotWidth:Math.max(r.wsmiddotWidth,5),maxDigitWidth:Math.max(r.maxDigitWidth,5)},!1)),this._writeToCache(e,t,r)}return i.get(t)}_createRequest(e,t,i,r){const o=new Tpt(e,t);return i.push(o),r==null||r.push(o),o}_actualReadFontInfo(e,t){const i=[],r=[],o=this._createRequest("n",0,i,r),s=this._createRequest("m",0,i,null),a=this._createRequest(" ",0,i,r),l=this._createRequest("0",0,i,r),u=this._createRequest("1",0,i,r),c=this._createRequest("2",0,i,r),d=this._createRequest("3",0,i,r),h=this._createRequest("4",0,i,r),m=this._createRequest("5",0,i,r),f=this._createRequest("6",0,i,r),g=this._createRequest("7",0,i,r),b=this._createRequest("8",0,i,r),v=this._createRequest("9",0,i,r),C=this._createRequest("→",0,i,r),S=this._createRequest("→",0,i,null),x=this._createRequest("·",0,i,r),_=this._createRequest("⸱",0,i,null),F="|/-_ilm%";for(let E=0,R=F.length;E.001){M=!1;break}}let Z=!0;return M&&S.width!==T&&(Z=!1),S.width>C.width&&(Z=!1),new d6({pixelRatio:pI.getInstance(e).value,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFeatureSettings:t.fontFeatureSettings,fontVariationSettings:t.fontVariationSettings,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,isMonospace:M,typicalHalfwidthCharacterWidth:o.width,typicalFullwidthCharacterWidth:s.width,canUseHalfwidthRightwardsArrow:Z,spaceWidth:a.width,middotWidth:x.width,wsmiddotWidth:_.width,maxDigitWidth:D},!0)}}class Lbt{constructor(){this._keys=Object.create(null),this._values=Object.create(null)}has(e){const t=e.getId();return!!this._values[t]}get(e){const t=e.getId();return this._values[t]}put(e,t){const i=e.getId();this._keys[i]=e,this._values[i]=t}remove(e){const t=e.getId();delete this._keys[t],delete this._values[t]}getValues(){return Object.keys(this._keys).map(e=>this._values[e])}}const h6=new xbt;class e0{constructor(e,t){this.key=e,this.migrate=t}apply(e){const t=e0._read(e,this.key),i=o=>e0._read(e,o),r=(o,s)=>e0._write(e,o,s);this.migrate(t,i,r)}static _read(e,t){if(typeof e>"u")return;const i=t.indexOf(".");if(i>=0){const r=t.substring(0,i);return this._read(e[r],t.substring(i+1))}return e[t]}static _write(e,t,i){const r=t.indexOf(".");if(r>=0){const o=t.substring(0,r);e[o]=e[o]||{},this._write(e[o],t.substring(r+1),i);return}e[t]=i}}e0.items=[];function Vh(n,e){e0.items.push(new e0(n,e))}function cu(n,e){Vh(n,(t,i,r)=>{if(typeof t<"u"){for(const[o,s]of e)if(t===o){r(n,s);return}}})}function _bt(n){e0.items.forEach(e=>e.apply(n))}cu("wordWrap",[[!0,"on"],[!1,"off"]]),cu("lineNumbers",[[!0,"on"],[!1,"off"]]),cu("cursorBlinking",[["visible","solid"]]),cu("renderWhitespace",[[!0,"boundary"],[!1,"none"]]),cu("renderLineHighlight",[[!0,"line"],[!1,"none"]]),cu("acceptSuggestionOnEnter",[[!0,"on"],[!1,"off"]]),cu("tabCompletion",[[!1,"off"],[!0,"onlySnippets"]]),cu("hover",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),cu("parameterHints",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),cu("autoIndent",[[!1,"advanced"],[!0,"full"]]),cu("matchBrackets",[[!0,"always"],[!1,"never"]]),cu("renderFinalNewline",[[!0,"on"],[!1,"off"]]),cu("cursorSmoothCaretAnimation",[[!0,"on"],[!1,"off"]]),cu("occurrencesHighlight",[[!0,"singleFile"],[!1,"off"]]),cu("wordBasedSuggestions",[[!0,"matchingDocuments"],[!1,"off"]]),Vh("autoClosingBrackets",(n,e,t)=>{n===!1&&(t("autoClosingBrackets","never"),typeof e("autoClosingQuotes")>"u"&&t("autoClosingQuotes","never"),typeof e("autoSurround")>"u"&&t("autoSurround","never"))}),Vh("renderIndentGuides",(n,e,t)=>{typeof n<"u"&&(t("renderIndentGuides",void 0),typeof e("guides.indentation")>"u"&&t("guides.indentation",!!n))}),Vh("highlightActiveIndentGuide",(n,e,t)=>{typeof n<"u"&&(t("highlightActiveIndentGuide",void 0),typeof e("guides.highlightActiveIndentation")>"u"&&t("guides.highlightActiveIndentation",!!n))});const Fbt={method:"showMethods",function:"showFunctions",constructor:"showConstructors",deprecated:"showDeprecated",field:"showFields",variable:"showVariables",class:"showClasses",struct:"showStructs",interface:"showInterfaces",module:"showModules",property:"showProperties",event:"showEvents",operator:"showOperators",unit:"showUnits",value:"showValues",constant:"showConstants",enum:"showEnums",enumMember:"showEnumMembers",keyword:"showKeywords",text:"showWords",color:"showColors",file:"showFiles",reference:"showReferences",folder:"showFolders",typeParameter:"showTypeParameters",snippet:"showSnippets"};Vh("suggest.filteredTypes",(n,e,t)=>{if(n&&typeof n=="object"){for(const i of Object.entries(Fbt))n[i[0]]===!1&&typeof e(`suggest.${i[1]}`)>"u"&&t(`suggest.${i[1]}`,!1);t("suggest.filteredTypes",void 0)}}),Vh("quickSuggestions",(n,e,t)=>{if(typeof n=="boolean"){const i=n?"on":"off";t("quickSuggestions",{comments:i,strings:i,other:i})}}),Vh("experimental.stickyScroll.enabled",(n,e,t)=>{typeof n=="boolean"&&(t("experimental.stickyScroll.enabled",void 0),typeof e("stickyScroll.enabled")>"u"&&t("stickyScroll.enabled",n))}),Vh("experimental.stickyScroll.maxLineCount",(n,e,t)=>{typeof n=="number"&&(t("experimental.stickyScroll.maxLineCount",void 0),typeof e("stickyScroll.maxLineCount")>"u"&&t("stickyScroll.maxLineCount",n))}),Vh("codeActionsOnSave",(n,e,t)=>{if(n&&typeof n=="object"){let i=!1;const r={};for(const o of Object.entries(n))typeof o[1]=="boolean"?(i=!0,r[o[0]]=o[1]?"explicit":"never"):r[o[0]]=o[1];i&&t("codeActionsOnSave",r)}}),Vh("codeActionWidget.includeNearbyQuickfixes",(n,e,t)=>{typeof n=="boolean"&&(t("codeActionWidget.includeNearbyQuickfixes",void 0),typeof e("codeActionWidget.includeNearbyQuickFixes")>"u"&&t("codeActionWidget.includeNearbyQuickFixes",n))}),Vh("lightbulb.enabled",(n,e,t)=>{typeof n=="boolean"&&t("lightbulb.enabled",n?void 0:"off")});class Ibt{constructor(){this._tabFocus=!1,this._onDidChangeTabFocus=new be,this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(e){this._tabFocus=e,this._onDidChangeTabFocus.fire(this._tabFocus)}}const HS=new Ibt,Vc=Un("accessibilityService"),yI=new wt("accessibilityModeEnabled",!1);var Dbt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Mbt=function(n,e){return function(t,i){e(t,i,n)}};let m6=class extends Ie{constructor(e,t,i,r){super(),this._accessibilityService=r,this._onDidChange=this._register(new be),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new be),this.onDidChangeFast=this._onDidChangeFast.event,this._isDominatedByLongLines=!1,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._reservedHeight=0,this._glyphMarginDecorationLaneCount=1,this._computeOptionsMemory=new j1e,this.isSimpleWidget=e,this._containerObserver=this._register(new K1e(i,t.dimension)),this._targetWindowId=Qt(i).vscodeWindowId,this._rawOptions=$1e(t),this._validatedOptions=t0.validateOptions(this._rawOptions),this.options=this._computeOptions(),this.options.get(13)&&this._containerObserver.startObserving(),this._register(Rc.onDidChangeZoomLevel(()=>this._recomputeOptions())),this._register(HS.onDidChangeTabFocus(()=>this._recomputeOptions())),this._register(this._containerObserver.onDidChange(()=>this._recomputeOptions())),this._register(h6.onDidChange(()=>this._recomputeOptions())),this._register(pI.getInstance(Qt(i)).onDidChange(()=>this._recomputeOptions())),this._register(this._accessibilityService.onDidChangeScreenReaderOptimized(()=>this._recomputeOptions()))}_recomputeOptions(){const e=this._computeOptions(),t=t0.checkEquals(this.options,e);t!==null&&(this.options=e,this._onDidChangeFast.fire(t),this._onDidChange.fire(t))}_computeOptions(){const e=this._readEnvConfiguration(),t=sy.createFromValidatedSettings(this._validatedOptions,e.pixelRatio,this.isSimpleWidget),i=this._readFontInfo(t),r={memory:this._computeOptionsMemory,outerWidth:e.outerWidth,outerHeight:e.outerHeight-this._reservedHeight,fontInfo:i,extraEditorClassName:e.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:e.emptySelectionClipboard,pixelRatio:e.pixelRatio,tabFocusMode:HS.getTabFocusMode(),accessibilitySupport:e.accessibilitySupport,glyphMarginDecorationLaneCount:this._glyphMarginDecorationLaneCount};return t0.computeOptions(this._validatedOptions,r)}_readEnvConfiguration(){return{extraEditorClassName:Nbt(),outerWidth:this._containerObserver.getWidth(),outerHeight:this._containerObserver.getHeight(),emptySelectionClipboard:Xv||Ic,pixelRatio:pI.getInstance(I0e(this._targetWindowId,!0).window).value,accessibilitySupport:this._accessibilityService.isScreenReaderOptimized()?2:this._accessibilityService.getAccessibilitySupport()}}_readFontInfo(e){return h6.readFontInfo(I0e(this._targetWindowId,!0).window,e)}getRawOptions(){return this._rawOptions}updateOptions(e){const t=$1e(e);t0.applyUpdate(this._rawOptions,t)&&(this._validatedOptions=t0.validateOptions(this._rawOptions),this._recomputeOptions())}observeContainer(e){this._containerObserver.observe(e)}setIsDominatedByLongLines(e){this._isDominatedByLongLines!==e&&(this._isDominatedByLongLines=e,this._recomputeOptions())}setModelLineCount(e){const t=kbt(e);this._lineNumbersDigitCount!==t&&(this._lineNumbersDigitCount=t,this._recomputeOptions())}setViewLineCount(e){this._viewLineCount!==e&&(this._viewLineCount=e,this._recomputeOptions())}setReservedHeight(e){this._reservedHeight!==e&&(this._reservedHeight=e,this._recomputeOptions())}setGlyphMarginDecorationLaneCount(e){this._glyphMarginDecorationLaneCount!==e&&(this._glyphMarginDecorationLaneCount=e,this._recomputeOptions())}};m6=Dbt([Mbt(3,Vc)],m6);function kbt(n){let e=0;for(;n;)n=Math.floor(n/10),e++;return e||1}function Nbt(){let n="";return!wg&&!vbe&&(n+="no-user-select "),wg&&(n+="no-minimap-shadow ",n+="enable-user-select "),On&&(n+="mac "),n}class Tbt{constructor(){this._values=[]}_read(e){return this._values[e]}get(e){return this._values[e]}_write(e,t){this._values[e]=t}}class Ebt{constructor(){this._values=[]}_read(e){if(e>=this._values.length)throw new Error("Cannot read uninitialized value");return this._values[e]}get(e){return this._read(e)}_write(e,t){this._values[e]=t}}class t0{static validateOptions(e){const t=new Tbt;for(const i of zS){const r=i.name==="_never_"?void 0:e[i.name];t._write(i.id,i.validate(r))}return t}static computeOptions(e,t){const i=new Ebt;for(const r of zS)i._write(r.id,r.compute(t,i,e._read(r.id)));return i}static _deepEquals(e,t){if(typeof e!="object"||typeof t!="object"||!e||!t)return e===t;if(Array.isArray(e)||Array.isArray(t))return Array.isArray(e)&&Array.isArray(t)?kr(e,t):!1;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const i in e)if(!t0._deepEquals(e[i],t[i]))return!1;return!0}static checkEquals(e,t){const i=[];let r=!1;for(const o of zS){const s=!t0._deepEquals(e._read(o.id),t._read(o.id));i[o.id]=s,s&&(r=!0)}return r?new J1e(i):null}static applyUpdate(e,t){let i=!1;for(const r of zS)if(t.hasOwnProperty(r.name)){const o=r.applyUpdate(e[r.name],t[r.name]);e[r.name]=o.newValue,i=i||o.didChange}return i}}function $1e(n){const e=Ag(n);return _bt(e),e}var n0;(function(n){const e={total:0,min:Number.MAX_VALUE,max:0},t={...e},i={...e},r={...e};let o=0;const s={keydown:0,input:0,render:0};function a(){v(),performance.mark("inputlatency/start"),performance.mark("keydown/start"),s.keydown=1,queueMicrotask(l)}n.onKeyDown=a;function l(){s.keydown===1&&(performance.mark("keydown/end"),s.keydown=2)}function u(){performance.mark("input/start"),s.input=1,b()}n.onBeforeInput=u;function c(){s.input===0&&u(),queueMicrotask(d)}n.onInput=c;function d(){s.input===1&&(performance.mark("input/end"),s.input=2)}function h(){v()}n.onKeyUp=h;function m(){v()}n.onSelectionChange=m;function f(){s.keydown===2&&s.input===2&&s.render===0&&(performance.mark("render/start"),s.render=1,queueMicrotask(g),b())}n.onRenderStart=f;function g(){s.render===1&&(performance.mark("render/end"),s.render=2)}function b(){setTimeout(v)}function v(){s.keydown===2&&s.input===2&&s.render===2&&(performance.mark("inputlatency/end"),performance.measure("keydown","keydown/start","keydown/end"),performance.measure("input","input/start","input/end"),performance.measure("render","render/start","render/end"),performance.measure("inputlatency","inputlatency/start","inputlatency/end"),C("keydown",e),C("input",t),C("render",i),C("inputlatency",r),o++,S())}function C(D,M){const T=performance.getEntriesByName(D)[0].duration;M.total+=T,M.min=Math.min(M.min,T),M.max=Math.max(M.max,T)}function S(){performance.clearMarks("keydown/start"),performance.clearMarks("keydown/end"),performance.clearMarks("input/start"),performance.clearMarks("input/end"),performance.clearMarks("render/start"),performance.clearMarks("render/end"),performance.clearMarks("inputlatency/start"),performance.clearMarks("inputlatency/end"),performance.clearMeasures("keydown"),performance.clearMeasures("input"),performance.clearMeasures("render"),performance.clearMeasures("inputlatency"),s.keydown=0,s.input=0,s.render=0}function x(){if(o===0)return;const D={keydown:_(e),input:_(t),render:_(i),total:_(r),sampleCount:o};return F(e),F(t),F(i),F(r),o=0,D}n.getAndClearMeasurements=x;function _(D){return{average:D.total/o,max:D.max,min:D.min}}function F(D){D.total=0,D.min=Number.MAX_VALUE,D.max=0}})(n0||(n0={}));class YS{constructor(){this._hooks=new Je,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(e,t){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;const i=this._onStopCallback;this._onStopCallback=null,e&&i&&i(t)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(e,t,i,r,o){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=r,this._onStopCallback=o;let s=e;try{e.setPointerCapture(t),this._hooks.add(jt(()=>{try{e.releasePointerCapture(t)}catch{}}))}catch{s=Qt(e)}this._hooks.add(Ae(s,ot.POINTER_MOVE,a=>{if(a.buttons!==i){this.stopMonitoring(!0);return}a.preventDefault(),this._pointerMoveCallback(a)})),this._hooks.add(Ae(s,ot.POINTER_UP,a=>this.stopMonitoring(!0)))}}function i0(n,e){const t=Math.pow(10,e);return Math.round(n*t)/t}class ni{constructor(e,t,i,r=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,e))|0,this.g=Math.min(255,Math.max(0,t))|0,this.b=Math.min(255,Math.max(0,i))|0,this.a=i0(Math.max(Math.min(1,r),0),3)}static equals(e,t){return e.r===t.r&&e.g===t.g&&e.b===t.b&&e.a===t.a}}class Nd{constructor(e,t,i,r){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=i0(Math.max(Math.min(1,t),0),3),this.l=i0(Math.max(Math.min(1,i),0),3),this.a=i0(Math.max(Math.min(1,r),0),3)}static equals(e,t){return e.h===t.h&&e.s===t.s&&e.l===t.l&&e.a===t.a}static fromRGBA(e){const t=e.r/255,i=e.g/255,r=e.b/255,o=e.a,s=Math.max(t,i,r),a=Math.min(t,i,r);let l=0,u=0;const c=(a+s)/2,d=s-a;if(d>0){switch(u=Math.min(c<=.5?d/(2*c):d/(2-2*c),1),s){case t:l=(i-r)/d+(i1&&(i-=1),i<1/6?e+(t-e)*6*i:i<1/2?t:i<2/3?e+(t-e)*(2/3-i)*6:e}static toRGBA(e){const t=e.h/360,{s:i,l:r,a:o}=e;let s,a,l;if(i===0)s=a=l=r;else{const u=r<.5?r*(1+i):r+i-r*i,c=2*r-u;s=Nd._hue2rgb(c,u,t+1/3),a=Nd._hue2rgb(c,u,t),l=Nd._hue2rgb(c,u,t-1/3)}return new ni(Math.round(s*255),Math.round(a*255),Math.round(l*255),o)}}class Qm{constructor(e,t,i,r){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=i0(Math.max(Math.min(1,t),0),3),this.v=i0(Math.max(Math.min(1,i),0),3),this.a=i0(Math.max(Math.min(1,r),0),3)}static equals(e,t){return e.h===t.h&&e.s===t.s&&e.v===t.v&&e.a===t.a}static fromRGBA(e){const t=e.r/255,i=e.g/255,r=e.b/255,o=Math.max(t,i,r),s=Math.min(t,i,r),a=o-s,l=o===0?0:a/o;let u;return a===0?u=0:o===t?u=((i-r)/a%6+6)%6:o===i?u=(r-t)/a+2:u=(t-i)/a+4,new Qm(Math.round(u*60),l,o,e.a)}static toRGBA(e){const{h:t,s:i,v:r,a:o}=e,s=r*i,a=s*(1-Math.abs(t/60%2-1)),l=r-s;let[u,c,d]=[0,0,0];return t<60?(u=s,c=a):t<120?(u=a,c=s):t<180?(c=s,d=a):t<240?(c=a,d=s):t<300?(u=a,d=s):t<=360&&(u=s,d=a),u=Math.round((u+l)*255),c=Math.round((c+l)*255),d=Math.round((d+l)*255),new ni(u,c,d,o)}}let Ze=class eh{static fromHex(e){return eh.Format.CSS.parseHex(e)||eh.red}static equals(e,t){return!e&&!t?!0:!e||!t?!1:e.equals(t)}get hsla(){return this._hsla?this._hsla:Nd.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:Qm.fromRGBA(this.rgba)}constructor(e){if(e)if(e instanceof ni)this.rgba=e;else if(e instanceof Nd)this._hsla=e,this.rgba=Nd.toRGBA(e);else if(e instanceof Qm)this._hsva=e,this.rgba=Qm.toRGBA(e);else throw new Error("Invalid color ctor argument");else throw new Error("Color needs a value")}equals(e){return!!e&&ni.equals(this.rgba,e.rgba)&&Nd.equals(this.hsla,e.hsla)&&Qm.equals(this.hsva,e.hsva)}getRelativeLuminance(){const e=eh._relativeLuminanceForComponent(this.rgba.r),t=eh._relativeLuminanceForComponent(this.rgba.g),i=eh._relativeLuminanceForComponent(this.rgba.b),r=.2126*e+.7152*t+.0722*i;return i0(r,4)}static _relativeLuminanceForComponent(e){const t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3>=128}isLighterThan(e){const t=this.getRelativeLuminance(),i=e.getRelativeLuminance();return t>i}isDarkerThan(e){const t=this.getRelativeLuminance(),i=e.getRelativeLuminance();return t[0-9a-fA-f]{3}[0-9a-eA-E])|(?:[0-9a-fA-F]{6}(?:(?![fF]{2})(?:[0-9a-fA-F]{2}))))?$",a.patternErrorMessage="This color must be transparent or it will obscure content"),this.colorSchema.properties[e]=a,this.colorReferenceSchema.enum.push(e),this.colorReferenceSchema.enumDescriptions.push(i),this._onDidChangeSchema.fire(),e}getColors(){return Object.keys(this.colorsById).map(e=>this.colorsById[e])}resolveDefaultColor(e,t){const i=this.colorsById[e];if(i&&i.defaults){const r=i.defaults[t.type];return Gh(r,t)}}getColorSchema(){return this.colorSchema}toString(){const e=(t,i)=>{const r=t.indexOf(".")===-1?0:1,o=i.indexOf(".")===-1?0:1;return r!==o?r-o:t.localeCompare(i)};return Object.keys(this.colorsById).sort(e).map(t=>`- \`${t}\`: ${this.colorsById[t].description}`).join(` -`)}}const q9=new Wbt;Do.add(q1e.ColorContribution,q9);function re(n,e,t,i,r){return q9.registerColor(n,e,t,i,r)}function Rbt(n,e){var t,i,r,o;switch(n.op){case 0:return(t=Gh(n.value,e))===null||t===void 0?void 0:t.darken(n.factor);case 1:return(i=Gh(n.value,e))===null||i===void 0?void 0:i.lighten(n.factor);case 2:return(r=Gh(n.value,e))===null||r===void 0?void 0:r.transparent(n.factor);case 3:{const s=Gh(n.background,e);return s?(o=Gh(n.value,e))===null||o===void 0?void 0:o.makeOpaque(s):Gh(n.value,e)}case 4:for(const s of n.values){const a=Gh(s,e);if(a)return a}return;case 6:return Gh(e.defines(n.if)?n.then:n.else,e);case 5:{const s=Gh(n.value,e);if(!s)return;const a=Gh(n.background,e);return a?s.isDarkerThan(a)?Ze.getLighterColor(s,a,n.factor).transparent(n.transparency):Ze.getDarkerColor(s,a,n.factor).transparent(n.transparency):s.transparent(n.factor*n.transparency)}default:throw x9()}}function ay(n,e){return{op:0,value:n,factor:e}}function Ah(n,e){return{op:1,value:n,factor:e}}function zt(n,e){return{op:2,value:n,factor:e}}function CI(...n){return{op:4,values:n}}function Vbt(n,e,t){return{op:6,if:n,then:e,else:t}}function eve(n,e,t,i){return{op:5,value:n,background:e,factor:t,transparency:i}}function Gh(n,e){if(n!==null){if(typeof n=="string")return n[0]==="#"?Ze.fromHex(n):e.getColor(n);if(n instanceof Ze)return n;if(typeof n=="object")return Rbt(n,e)}}const tve="vscode://schemas/workbench-colors",nve=Do.as(B9.JSONContribution);nve.registerSchema(tve,q9.getColorSchema());const ive=new Ri(()=>nve.notifySchemaChanged(tve),200);q9.onDidChangeSchema(()=>{ive.isScheduled()||ive.schedule()});const at=re("foreground",{dark:"#CCCCCC",light:"#616161",hcDark:"#FFFFFF",hcLight:"#292929"},L("foreground","Overall foreground color. This color is only used if not overridden by a component."));re("disabledForeground",{dark:"#CCCCCC80",light:"#61616180",hcDark:"#A5A5A5",hcLight:"#7F7F7F"},L("disabledForeground","Overall foreground for disabled elements. This color is only used if not overridden by a component.")),re("errorForeground",{dark:"#F48771",light:"#A1260D",hcDark:"#F48771",hcLight:"#B5200D"},L("errorForeground","Overall foreground color for error messages. This color is only used if not overridden by a component.")),re("descriptionForeground",{light:"#717171",dark:zt(at,.7),hcDark:zt(at,.7),hcLight:zt(at,.7)},L("descriptionForeground","Foreground color for description text providing additional information, for example for a label."));const $m=re("icon.foreground",{dark:"#C5C5C5",light:"#424242",hcDark:"#FFFFFF",hcLight:"#292929"},L("iconForeground","The default color for icons in the workbench.")),Ac=re("focusBorder",{dark:"#007FD4",light:"#0090F1",hcDark:"#F38518",hcLight:"#006BBD"},L("focusBorder","Overall border color for focused elements. This color is only used if not overridden by a component.")),Kn=re("contrastBorder",{light:null,dark:null,hcDark:"#6FC3DF",hcLight:"#0F4A85"},L("contrastBorder","An extra border around elements to separate them from others for greater contrast.")),fr=re("contrastActiveBorder",{light:null,dark:null,hcDark:Ac,hcLight:Ac},L("activeContrastBorder","An extra border around active elements to separate them from others for greater contrast."));re("selection.background",{light:null,dark:null,hcDark:null,hcLight:null},L("selectionBackground","The background color of text selections in the workbench (e.g. for input fields or text areas). Note that this does not apply to selections within the editor."));const Abt=re("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},L("textLinkForeground","Foreground color for links in text."));re("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},L("textLinkActiveForeground","Foreground color for links in text when clicked on and on mouse hover.")),re("textSeparator.foreground",{light:"#0000002e",dark:"#ffffff2e",hcDark:Ze.black,hcLight:"#292929"},L("textSeparatorForeground","Color for text separators.")),re("textPreformat.foreground",{light:"#A31515",dark:"#D7BA7D",hcDark:"#000000",hcLight:"#FFFFFF"},L("textPreformatForeground","Foreground color for preformatted text segments.")),re("textPreformat.background",{light:"#0000001A",dark:"#FFFFFF1A",hcDark:"#FFFFFF",hcLight:"#09345f"},L("textPreformatBackground","Background color for preformatted text segments.")),re("textBlockQuote.background",{light:"#f2f2f2",dark:"#222222",hcDark:null,hcLight:"#F2F2F2"},L("textBlockQuoteBackground","Background color for block quotes in text.")),re("textBlockQuote.border",{light:"#007acc80",dark:"#007acc80",hcDark:Ze.white,hcLight:"#292929"},L("textBlockQuoteBorder","Border color for block quotes in text.")),re("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hcDark:Ze.black,hcLight:"#F2F2F2"},L("textCodeBlockBackground","Background color for code blocks in text.")),re("sash.hoverBorder",{dark:Ac,light:Ac,hcDark:Ac,hcLight:Ac},L("sashActiveBorder","Border color of active sashes."));const eW=re("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hcDark:Ze.black,hcLight:"#0F4A85"},L("badgeBackground","Badge background color. Badges are small information labels, e.g. for search results count.")),Gbt=re("badge.foreground",{dark:Ze.white,light:"#333",hcDark:Ze.white,hcLight:Ze.white},L("badgeForeground","Badge foreground color. Badges are small information labels, e.g. for search results count.")),wI=re("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hcDark:null,hcLight:null},L("scrollbarShadow","Scrollbar shadow to indicate that the view is scrolled.")),SI=re("scrollbarSlider.background",{dark:Ze.fromHex("#797979").transparent(.4),light:Ze.fromHex("#646464").transparent(.4),hcDark:zt(Kn,.6),hcLight:zt(Kn,.4)},L("scrollbarSliderBackground","Scrollbar slider background color.")),xI=re("scrollbarSlider.hoverBackground",{dark:Ze.fromHex("#646464").transparent(.7),light:Ze.fromHex("#646464").transparent(.7),hcDark:zt(Kn,.8),hcLight:zt(Kn,.8)},L("scrollbarSliderHoverBackground","Scrollbar slider background color when hovering.")),LI=re("scrollbarSlider.activeBackground",{dark:Ze.fromHex("#BFBFBF").transparent(.4),light:Ze.fromHex("#000000").transparent(.6),hcDark:Kn,hcLight:Kn},L("scrollbarSliderActiveBackground","Scrollbar slider background color when clicked on.")),Xbt=re("progressBar.background",{dark:Ze.fromHex("#0E70C0"),light:Ze.fromHex("#0E70C0"),hcDark:Kn,hcLight:Kn},L("progressBarBackground","Background color of the progress bar that can show for long running operations.")),as=re("editor.background",{light:"#ffffff",dark:"#1E1E1E",hcDark:Ze.black,hcLight:Ze.white},L("editorBackground","Editor background color.")),Gc=re("editor.foreground",{light:"#333333",dark:"#BBBBBB",hcDark:Ze.white,hcLight:at},L("editorForeground","Editor default foreground color."));re("editorStickyScroll.background",{light:as,dark:as,hcDark:as,hcLight:as},L("editorStickyScrollBackground","Background color of sticky scroll in the editor")),re("editorStickyScrollHover.background",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:null,hcLight:Ze.fromHex("#0F4A85").transparent(.1)},L("editorStickyScrollHoverBackground","Background color of sticky scroll on hover in the editor")),re("editorStickyScroll.border",{dark:null,light:null,hcDark:Kn,hcLight:Kn},L("editorStickyScrollBorder","Border color of sticky scroll in the editor")),re("editorStickyScroll.shadow",{dark:wI,light:wI,hcDark:wI,hcLight:wI},L("editorStickyScrollShadow"," Shadow color of sticky scroll in the editor"));const no=re("editorWidget.background",{dark:"#252526",light:"#F3F3F3",hcDark:"#0C141F",hcLight:Ze.white},L("editorWidgetBackground","Background color of editor widgets, such as find/replace.")),Gg=re("editorWidget.foreground",{dark:at,light:at,hcDark:at,hcLight:at},L("editorWidgetForeground","Foreground color of editor widgets, such as find/replace.")),Xg=re("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hcDark:Kn,hcLight:Kn},L("editorWidgetBorder","Border color of editor widgets. The color is only used if the widget chooses to have a border and if the color is not overridden by a widget."));re("editorWidget.resizeBorder",{light:null,dark:null,hcDark:null,hcLight:null},L("editorWidgetResizeBorder","Border color of the resize bar of editor widgets. The color is only used if the widget chooses to have a resize border and if the color is not overridden by a widget.")),re("editorError.background",{dark:null,light:null,hcDark:null,hcLight:null},L("editorError.background","Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0);const qm=re("editorError.foreground",{dark:"#F14C4C",light:"#E51400",hcDark:"#F48771",hcLight:"#B5200D"},L("editorError.foreground","Foreground color of error squigglies in the editor.")),Pbt=re("editorError.border",{dark:null,light:null,hcDark:Ze.fromHex("#E47777").transparent(.8),hcLight:"#B5200D"},L("errorBorder","If set, color of double underlines for errors in the editor.")),tW=re("editorWarning.background",{dark:null,light:null,hcDark:null,hcLight:null},L("editorWarning.background","Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),Ia=re("editorWarning.foreground",{dark:"#CCA700",light:"#BF8803",hcDark:"#FFD370",hcLight:"#895503"},L("editorWarning.foreground","Foreground color of warning squigglies in the editor.")),_I=re("editorWarning.border",{dark:null,light:null,hcDark:Ze.fromHex("#FFCC00").transparent(.8),hcLight:Ze.fromHex("#FFCC00").transparent(.8)},L("warningBorder","If set, color of double underlines for warnings in the editor."));re("editorInfo.background",{dark:null,light:null,hcDark:null,hcLight:null},L("editorInfo.background","Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0);const Gl=re("editorInfo.foreground",{dark:"#3794FF",light:"#1a85ff",hcDark:"#3794FF",hcLight:"#1a85ff"},L("editorInfo.foreground","Foreground color of info squigglies in the editor.")),FI=re("editorInfo.border",{dark:null,light:null,hcDark:Ze.fromHex("#3794FF").transparent(.8),hcLight:"#292929"},L("infoBorder","If set, color of double underlines for infos in the editor.")),Obt=re("editorHint.foreground",{dark:Ze.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hcDark:null,hcLight:null},L("editorHint.foreground","Foreground color of hint squigglies in the editor."));re("editorHint.border",{dark:null,light:null,hcDark:Ze.fromHex("#eeeeee").transparent(.8),hcLight:"#292929"},L("hintBorder","If set, color of double underlines for hints in the editor."));const Bbt=re("editorLink.activeForeground",{dark:"#4E94CE",light:Ze.blue,hcDark:Ze.cyan,hcLight:"#292929"},L("activeLinkForeground","Color of active links.")),r0=re("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hcDark:"#f3f518",hcLight:"#0F4A85"},L("editorSelectionBackground","Color of the editor selection.")),zbt=re("editor.selectionForeground",{light:null,dark:null,hcDark:"#000000",hcLight:Ze.white},L("editorSelectionForeground","Color of the selected text for high contrast.")),rve=re("editor.inactiveSelectionBackground",{light:zt(r0,.5),dark:zt(r0,.5),hcDark:zt(r0,.7),hcLight:zt(r0,.5)},L("editorInactiveSelection","Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations."),!0),g6=re("editor.selectionHighlightBackground",{light:eve(r0,as,.3,.6),dark:eve(r0,as,.3,.6),hcDark:null,hcLight:null},L("editorSelectionHighlight","Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations."),!0);re("editor.selectionHighlightBorder",{light:null,dark:null,hcDark:fr,hcLight:fr},L("editorSelectionHighlightBorder","Border color for regions with the same content as the selection.")),re("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hcDark:null,hcLight:null},L("editorFindMatch","Color of the current search match."));const Pg=re("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hcDark:null,hcLight:null},L("findMatchHighlight","Color of the other search matches. The color must not be opaque so as not to hide underlying decorations."),!0);re("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hcDark:null,hcLight:null},L("findRangeHighlight","Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),re("editor.findMatchBorder",{light:null,dark:null,hcDark:fr,hcLight:fr},L("editorFindMatchBorder","Border color of the current search match."));const o0=re("editor.findMatchHighlightBorder",{light:null,dark:null,hcDark:fr,hcLight:fr},L("findMatchHighlightBorder","Border color of the other search matches.")),Hbt=re("editor.findRangeHighlightBorder",{dark:null,light:null,hcDark:zt(fr,.4),hcLight:zt(fr,.4)},L("findRangeHighlightBorder","Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0);re("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hcDark:"#ADD6FF26",hcLight:null},L("hoverHighlight","Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations."),!0);const nW=re("editorHoverWidget.background",{light:no,dark:no,hcDark:no,hcLight:no},L("hoverBackground","Background color of the editor hover."));re("editorHoverWidget.foreground",{light:Gg,dark:Gg,hcDark:Gg,hcLight:Gg},L("hoverForeground","Foreground color of the editor hover."));const ove=re("editorHoverWidget.border",{light:Xg,dark:Xg,hcDark:Xg,hcLight:Xg},L("hoverBorder","Border color of the editor hover."));re("editorHoverWidget.statusBarBackground",{dark:Ah(nW,.2),light:ay(nW,.05),hcDark:no,hcLight:no},L("statusBarBackground","Background color of the editor hover status bar."));const Og=re("editorInlayHint.foreground",{dark:"#969696",light:"#969696",hcDark:Ze.white,hcLight:Ze.black},L("editorInlayHintForeground","Foreground color of inline hints")),Bg=re("editorInlayHint.background",{dark:zt(eW,.1),light:zt(eW,.1),hcDark:zt(Ze.white,.1),hcLight:zt(eW,.1)},L("editorInlayHintBackground","Background color of inline hints")),Ybt=re("editorInlayHint.typeForeground",{dark:Og,light:Og,hcDark:Og,hcLight:Og},L("editorInlayHintForegroundTypes","Foreground color of inline hints for types")),Ubt=re("editorInlayHint.typeBackground",{dark:Bg,light:Bg,hcDark:Bg,hcLight:Bg},L("editorInlayHintBackgroundTypes","Background color of inline hints for types")),Kbt=re("editorInlayHint.parameterForeground",{dark:Og,light:Og,hcDark:Og,hcLight:Og},L("editorInlayHintForegroundParameter","Foreground color of inline hints for parameters")),Jbt=re("editorInlayHint.parameterBackground",{dark:Bg,light:Bg,hcDark:Bg,hcLight:Bg},L("editorInlayHintBackgroundParameter","Background color of inline hints for parameters")),iW=re("editorLightBulb.foreground",{dark:"#FFCC00",light:"#DDB100",hcDark:"#FFCC00",hcLight:"#007ACC"},L("editorLightBulbForeground","The color used for the lightbulb actions icon."));re("editorLightBulbAutoFix.foreground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},L("editorLightBulbAutoFixForeground","The color used for the lightbulb auto fix actions icon.")),re("editorLightBulbAi.foreground",{dark:iW,light:iW,hcDark:iW,hcLight:iW},L("editorLightBulbAiForeground","The color used for the lightbulb AI icon.")),re("editor.snippetTabstopHighlightBackground",{dark:new Ze(new ni(124,124,124,.3)),light:new Ze(new ni(10,50,100,.2)),hcDark:new Ze(new ni(124,124,124,.3)),hcLight:new Ze(new ni(10,50,100,.2))},L("snippetTabstopHighlightBackground","Highlight background color of a snippet tabstop.")),re("editor.snippetTabstopHighlightBorder",{dark:null,light:null,hcDark:null,hcLight:null},L("snippetTabstopHighlightBorder","Highlight border color of a snippet tabstop.")),re("editor.snippetFinalTabstopHighlightBackground",{dark:null,light:null,hcDark:null,hcLight:null},L("snippetFinalTabstopHighlightBackground","Highlight background color of the final tabstop of a snippet.")),re("editor.snippetFinalTabstopHighlightBorder",{dark:"#525252",light:new Ze(new ni(10,50,100,.5)),hcDark:"#525252",hcLight:"#292929"},L("snippetFinalTabstopHighlightBorder","Highlight border color of the final tabstop of a snippet."));const p6=new Ze(new ni(155,185,85,.2)),b6=new Ze(new ni(255,0,0,.2)),jbt=re("diffEditor.insertedTextBackground",{dark:"#9ccc2c33",light:"#9ccc2c40",hcDark:null,hcLight:null},L("diffEditorInserted","Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),Qbt=re("diffEditor.removedTextBackground",{dark:"#ff000033",light:"#ff000033",hcDark:null,hcLight:null},L("diffEditorRemoved","Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations."),!0);re("diffEditor.insertedLineBackground",{dark:p6,light:p6,hcDark:null,hcLight:null},L("diffEditorInsertedLines","Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),re("diffEditor.removedLineBackground",{dark:b6,light:b6,hcDark:null,hcLight:null},L("diffEditorRemovedLines","Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),re("diffEditorGutter.insertedLineBackground",{dark:null,light:null,hcDark:null,hcLight:null},L("diffEditorInsertedLineGutter","Background color for the margin where lines got inserted.")),re("diffEditorGutter.removedLineBackground",{dark:null,light:null,hcDark:null,hcLight:null},L("diffEditorRemovedLineGutter","Background color for the margin where lines got removed."));const $bt=re("diffEditorOverview.insertedForeground",{dark:null,light:null,hcDark:null,hcLight:null},L("diffEditorOverviewInserted","Diff overview ruler foreground for inserted content.")),qbt=re("diffEditorOverview.removedForeground",{dark:null,light:null,hcDark:null,hcLight:null},L("diffEditorOverviewRemoved","Diff overview ruler foreground for removed content."));re("diffEditor.insertedTextBorder",{dark:null,light:null,hcDark:"#33ff2eff",hcLight:"#374E06"},L("diffEditorInsertedOutline","Outline color for the text that got inserted.")),re("diffEditor.removedTextBorder",{dark:null,light:null,hcDark:"#FF008F",hcLight:"#AD0707"},L("diffEditorRemovedOutline","Outline color for text that got removed.")),re("diffEditor.border",{dark:null,light:null,hcDark:Kn,hcLight:Kn},L("diffEditorBorder","Border color between the two text editors.")),re("diffEditor.diagonalFill",{dark:"#cccccc33",light:"#22222233",hcDark:null,hcLight:null},L("diffDiagonalFill","Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views.")),re("diffEditor.unchangedRegionBackground",{dark:"sideBar.background",light:"sideBar.background",hcDark:"sideBar.background",hcLight:"sideBar.background"},L("diffEditor.unchangedRegionBackground","The background color of unchanged blocks in the diff editor.")),re("diffEditor.unchangedRegionForeground",{dark:"foreground",light:"foreground",hcDark:"foreground",hcLight:"foreground"},L("diffEditor.unchangedRegionForeground","The foreground color of unchanged blocks in the diff editor.")),re("diffEditor.unchangedCodeBackground",{dark:"#74747429",light:"#b8b8b829",hcDark:null,hcLight:null},L("diffEditor.unchangedCodeBackground","The background color of unchanged code in the diff editor."));const zg=re("widget.shadow",{dark:zt(Ze.black,.36),light:zt(Ze.black,.16),hcDark:null,hcLight:null},L("widgetShadow","Shadow color of widgets such as find/replace inside the editor.")),sve=re("widget.border",{dark:null,light:null,hcDark:Kn,hcLight:Kn},L("widgetBorder","Border color of widgets such as find/replace inside the editor.")),ave=re("toolbar.hoverBackground",{dark:"#5a5d5e50",light:"#b8b8b850",hcDark:null,hcLight:null},L("toolbarHoverBackground","Toolbar background when hovering over actions using the mouse"));re("toolbar.hoverOutline",{dark:null,light:null,hcDark:fr,hcLight:fr},L("toolbarHoverOutline","Toolbar outline when hovering over actions using the mouse")),re("toolbar.activeBackground",{dark:Ah(ave,.1),light:ay(ave,.1),hcDark:null,hcLight:null},L("toolbarActiveBackground","Toolbar background when holding the mouse over actions"));const e0t=re("breadcrumb.foreground",{light:zt(at,.8),dark:zt(at,.8),hcDark:zt(at,.8),hcLight:zt(at,.8)},L("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),t0t=re("breadcrumb.background",{light:as,dark:as,hcDark:as,hcLight:as},L("breadcrumbsBackground","Background color of breadcrumb items.")),lve=re("breadcrumb.focusForeground",{light:ay(at,.2),dark:Ah(at,.1),hcDark:Ah(at,.1),hcLight:Ah(at,.1)},L("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),n0t=re("breadcrumb.activeSelectionForeground",{light:ay(at,.2),dark:Ah(at,.1),hcDark:Ah(at,.1),hcLight:Ah(at,.1)},L("breadcrumbsSelectedForeground","Color of selected breadcrumb items."));re("breadcrumbPicker.background",{light:no,dark:no,hcDark:no,hcLight:no},L("breadcrumbsSelectedBackground","Background color of breadcrumb item picker."));const uve=.5,cve=Ze.fromHex("#40C8AE").transparent(uve),dve=Ze.fromHex("#40A6FF").transparent(uve),hve=Ze.fromHex("#606060").transparent(.4),Td=.4,US=1,KS=re("merge.currentHeaderBackground",{dark:cve,light:cve,hcDark:null,hcLight:null},L("mergeCurrentHeaderBackground","Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);re("merge.currentContentBackground",{dark:zt(KS,Td),light:zt(KS,Td),hcDark:zt(KS,Td),hcLight:zt(KS,Td)},L("mergeCurrentContentBackground","Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const JS=re("merge.incomingHeaderBackground",{dark:dve,light:dve,hcDark:null,hcLight:null},L("mergeIncomingHeaderBackground","Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);re("merge.incomingContentBackground",{dark:zt(JS,Td),light:zt(JS,Td),hcDark:zt(JS,Td),hcLight:zt(JS,Td)},L("mergeIncomingContentBackground","Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const jS=re("merge.commonHeaderBackground",{dark:hve,light:hve,hcDark:null,hcLight:null},L("mergeCommonHeaderBackground","Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);re("merge.commonContentBackground",{dark:zt(jS,Td),light:zt(jS,Td),hcDark:zt(jS,Td),hcLight:zt(jS,Td)},L("mergeCommonContentBackground","Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const QS=re("merge.border",{dark:null,light:null,hcDark:"#C3DF6F",hcLight:"#007ACC"},L("mergeBorder","Border color on headers and the splitter in inline merge-conflicts."));re("editorOverviewRuler.currentContentForeground",{dark:zt(KS,US),light:zt(KS,US),hcDark:QS,hcLight:QS},L("overviewRulerCurrentContentForeground","Current overview ruler foreground for inline merge-conflicts.")),re("editorOverviewRuler.incomingContentForeground",{dark:zt(JS,US),light:zt(JS,US),hcDark:QS,hcLight:QS},L("overviewRulerIncomingContentForeground","Incoming overview ruler foreground for inline merge-conflicts.")),re("editorOverviewRuler.commonContentForeground",{dark:zt(jS,US),light:zt(jS,US),hcDark:QS,hcLight:QS},L("overviewRulerCommonContentForeground","Common ancestor overview ruler foreground for inline merge-conflicts."));const v6=re("editorOverviewRuler.findMatchForeground",{dark:"#d186167e",light:"#d186167e",hcDark:"#AB5A00",hcLight:""},L("overviewRulerFindMatchForeground","Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations."),!0),II=re("editorOverviewRuler.selectionHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hcDark:"#A0A0A0CC",hcLight:"#A0A0A0CC"},L("overviewRulerSelectionHighlightForeground","Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations."),!0),i0t=re("problemsErrorIcon.foreground",{dark:qm,light:qm,hcDark:qm,hcLight:qm},L("problemsErrorIconForeground","The color used for the problems error icon.")),r0t=re("problemsWarningIcon.foreground",{dark:Ia,light:Ia,hcDark:Ia,hcLight:Ia},L("problemsWarningIconForeground","The color used for the problems warning icon.")),o0t=re("problemsInfoIcon.foreground",{dark:Gl,light:Gl,hcDark:Gl,hcLight:Gl},L("problemsInfoIconForeground","The color used for the problems info icon.")),$S=re("minimap.findMatchHighlight",{light:"#d18616",dark:"#d18616",hcDark:"#AB5A00",hcLight:"#0F4A85"},L("minimapFindMatchHighlight","Minimap marker color for find matches."),!0),rW=re("minimap.selectionOccurrenceHighlight",{light:"#c9c9c9",dark:"#676767",hcDark:"#ffffff",hcLight:"#0F4A85"},L("minimapSelectionOccurrenceHighlight","Minimap marker color for repeating editor selections."),!0),mve=re("minimap.selectionHighlight",{light:"#ADD6FF",dark:"#264F78",hcDark:"#ffffff",hcLight:"#0F4A85"},L("minimapSelectionHighlight","Minimap marker color for the editor selection."),!0),s0t=re("minimap.infoHighlight",{dark:Gl,light:Gl,hcDark:FI,hcLight:FI},L("minimapInfo","Minimap marker color for infos.")),a0t=re("minimap.warningHighlight",{dark:Ia,light:Ia,hcDark:_I,hcLight:_I},L("overviewRuleWarning","Minimap marker color for warnings.")),l0t=re("minimap.errorHighlight",{dark:new Ze(new ni(255,18,18,.7)),light:new Ze(new ni(255,18,18,.7)),hcDark:new Ze(new ni(255,50,50,1)),hcLight:"#B5200D"},L("minimapError","Minimap marker color for errors.")),u0t=re("minimap.background",{dark:null,light:null,hcDark:null,hcLight:null},L("minimapBackground","Minimap background color.")),c0t=re("minimap.foregroundOpacity",{dark:Ze.fromHex("#000f"),light:Ze.fromHex("#000f"),hcDark:Ze.fromHex("#000f"),hcLight:Ze.fromHex("#000f")},L("minimapForegroundOpacity",'Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.'));re("minimapSlider.background",{light:zt(SI,.5),dark:zt(SI,.5),hcDark:zt(SI,.5),hcLight:zt(SI,.5)},L("minimapSliderBackground","Minimap slider background color.")),re("minimapSlider.hoverBackground",{light:zt(xI,.5),dark:zt(xI,.5),hcDark:zt(xI,.5),hcLight:zt(xI,.5)},L("minimapSliderHoverBackground","Minimap slider background color when hovering.")),re("minimapSlider.activeBackground",{light:zt(LI,.5),dark:zt(LI,.5),hcDark:zt(LI,.5),hcLight:zt(LI,.5)},L("minimapSliderActiveBackground","Minimap slider background color when clicked on.")),re("charts.foreground",{dark:at,light:at,hcDark:at,hcLight:at},L("chartsForeground","The foreground color used in charts.")),re("charts.lines",{dark:zt(at,.5),light:zt(at,.5),hcDark:zt(at,.5),hcLight:zt(at,.5)},L("chartsLines","The color used for horizontal lines in charts.")),re("charts.red",{dark:qm,light:qm,hcDark:qm,hcLight:qm},L("chartsRed","The red color used in chart visualizations.")),re("charts.blue",{dark:Gl,light:Gl,hcDark:Gl,hcLight:Gl},L("chartsBlue","The blue color used in chart visualizations.")),re("charts.yellow",{dark:Ia,light:Ia,hcDark:Ia,hcLight:Ia},L("chartsYellow","The yellow color used in chart visualizations.")),re("charts.orange",{dark:$S,light:$S,hcDark:$S,hcLight:$S},L("chartsOrange","The orange color used in chart visualizations.")),re("charts.green",{dark:"#89D185",light:"#388A34",hcDark:"#89D185",hcLight:"#374e06"},L("chartsGreen","The green color used in chart visualizations.")),re("charts.purple",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},L("chartsPurple","The purple color used in chart visualizations."));const fve=re("input.background",{dark:"#3C3C3C",light:Ze.white,hcDark:Ze.black,hcLight:Ze.white},L("inputBoxBackground","Input box background.")),gve=re("input.foreground",{dark:at,light:at,hcDark:at,hcLight:at},L("inputBoxForeground","Input box foreground.")),pve=re("input.border",{dark:null,light:null,hcDark:Kn,hcLight:Kn},L("inputBoxBorder","Input box border.")),y6=re("inputOption.activeBorder",{dark:"#007ACC",light:"#007ACC",hcDark:Kn,hcLight:Kn},L("inputBoxActiveOptionBorder","Border color of activated options in input fields."));re("inputOption.hoverBackground",{dark:"#5a5d5e80",light:"#b8b8b850",hcDark:null,hcLight:null},L("inputOption.hoverBackground","Background color of activated options in input fields."));const ly=re("inputOption.activeBackground",{dark:zt(Ac,.4),light:zt(Ac,.2),hcDark:Ze.transparent,hcLight:Ze.transparent},L("inputOption.activeBackground","Background hover color of options in input fields.")),C6=re("inputOption.activeForeground",{dark:Ze.white,light:Ze.black,hcDark:at,hcLight:at},L("inputOption.activeForeground","Foreground color of activated options in input fields."));re("input.placeholderForeground",{light:zt(at,.5),dark:zt(at,.5),hcDark:zt(at,.7),hcLight:zt(at,.7)},L("inputPlaceholderForeground","Input box foreground color for placeholder text."));const d0t=re("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hcDark:Ze.black,hcLight:Ze.white},L("inputValidationInfoBackground","Input validation background color for information severity.")),h0t=re("inputValidation.infoForeground",{dark:null,light:null,hcDark:null,hcLight:at},L("inputValidationInfoForeground","Input validation foreground color for information severity.")),m0t=re("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hcDark:Kn,hcLight:Kn},L("inputValidationInfoBorder","Input validation border color for information severity.")),f0t=re("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hcDark:Ze.black,hcLight:Ze.white},L("inputValidationWarningBackground","Input validation background color for warning severity.")),g0t=re("inputValidation.warningForeground",{dark:null,light:null,hcDark:null,hcLight:at},L("inputValidationWarningForeground","Input validation foreground color for warning severity.")),p0t=re("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hcDark:Kn,hcLight:Kn},L("inputValidationWarningBorder","Input validation border color for warning severity.")),b0t=re("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hcDark:Ze.black,hcLight:Ze.white},L("inputValidationErrorBackground","Input validation background color for error severity.")),v0t=re("inputValidation.errorForeground",{dark:null,light:null,hcDark:null,hcLight:at},L("inputValidationErrorForeground","Input validation foreground color for error severity.")),y0t=re("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hcDark:Kn,hcLight:Kn},L("inputValidationErrorBorder","Input validation border color for error severity.")),ef=re("dropdown.background",{dark:"#3C3C3C",light:Ze.white,hcDark:Ze.black,hcLight:Ze.white},L("dropdownBackground","Dropdown background.")),C0t=re("dropdown.listBackground",{dark:null,light:null,hcDark:Ze.black,hcLight:Ze.white},L("dropdownListBackground","Dropdown list background.")),Hg=re("dropdown.foreground",{dark:"#F0F0F0",light:at,hcDark:Ze.white,hcLight:at},L("dropdownForeground","Dropdown foreground.")),qS=re("dropdown.border",{dark:ef,light:"#CECECE",hcDark:Kn,hcLight:Kn},L("dropdownBorder","Dropdown border.")),DI=re("button.foreground",{dark:Ze.white,light:Ze.white,hcDark:Ze.white,hcLight:Ze.white},L("buttonForeground","Button foreground color.")),w0t=re("button.separator",{dark:zt(DI,.4),light:zt(DI,.4),hcDark:zt(DI,.4),hcLight:zt(DI,.4)},L("buttonSeparator","Button separator color.")),MI=re("button.background",{dark:"#0E639C",light:"#007ACC",hcDark:null,hcLight:"#0F4A85"},L("buttonBackground","Button background color.")),S0t=re("button.hoverBackground",{dark:Ah(MI,.2),light:ay(MI,.2),hcDark:MI,hcLight:MI},L("buttonHoverBackground","Button background color when hovering.")),x0t=re("button.border",{dark:Kn,light:Kn,hcDark:Kn,hcLight:Kn},L("buttonBorder","Button border color.")),L0t=re("button.secondaryForeground",{dark:Ze.white,light:Ze.white,hcDark:Ze.white,hcLight:at},L("buttonSecondaryForeground","Secondary button foreground color.")),w6=re("button.secondaryBackground",{dark:"#3A3D41",light:"#5F6A79",hcDark:null,hcLight:Ze.white},L("buttonSecondaryBackground","Secondary button background color.")),_0t=re("button.secondaryHoverBackground",{dark:Ah(w6,.2),light:ay(w6,.2),hcDark:null,hcLight:null},L("buttonSecondaryHoverBackground","Secondary button background color when hovering.")),F0t=re("checkbox.background",{dark:ef,light:ef,hcDark:ef,hcLight:ef},L("checkbox.background","Background color of checkbox widget."));re("checkbox.selectBackground",{dark:no,light:no,hcDark:no,hcLight:no},L("checkbox.select.background","Background color of checkbox widget when the element it's in is selected."));const I0t=re("checkbox.foreground",{dark:Hg,light:Hg,hcDark:Hg,hcLight:Hg},L("checkbox.foreground","Foreground color of checkbox widget.")),D0t=re("checkbox.border",{dark:qS,light:qS,hcDark:qS,hcLight:qS},L("checkbox.border","Border color of checkbox widget."));re("checkbox.selectBorder",{dark:$m,light:$m,hcDark:$m,hcLight:$m},L("checkbox.select.border","Border color of checkbox widget when the element it's in is selected."));const M0t=re("keybindingLabel.background",{dark:new Ze(new ni(128,128,128,.17)),light:new Ze(new ni(221,221,221,.4)),hcDark:Ze.transparent,hcLight:Ze.transparent},L("keybindingLabelBackground","Keybinding label background color. The keybinding label is used to represent a keyboard shortcut.")),k0t=re("keybindingLabel.foreground",{dark:Ze.fromHex("#CCCCCC"),light:Ze.fromHex("#555555"),hcDark:Ze.white,hcLight:at},L("keybindingLabelForeground","Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.")),N0t=re("keybindingLabel.border",{dark:new Ze(new ni(51,51,51,.6)),light:new Ze(new ni(204,204,204,.4)),hcDark:new Ze(new ni(111,195,223)),hcLight:Kn},L("keybindingLabelBorder","Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.")),T0t=re("keybindingLabel.bottomBorder",{dark:new Ze(new ni(68,68,68,.6)),light:new Ze(new ni(187,187,187,.4)),hcDark:new Ze(new ni(111,195,223)),hcLight:at},L("keybindingLabelBottomBorder","Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.")),E0t=re("list.focusBackground",{dark:null,light:null,hcDark:null,hcLight:null},L("listFocusBackground","List/Tree background color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),Z0t=re("list.focusForeground",{dark:null,light:null,hcDark:null,hcLight:null},L("listFocusForeground","List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),W0t=re("list.focusOutline",{dark:Ac,light:Ac,hcDark:fr,hcLight:fr},L("listFocusOutline","List/Tree outline color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),R0t=re("list.focusAndSelectionOutline",{dark:null,light:null,hcDark:null,hcLight:null},L("listFocusAndSelectionOutline","List/Tree outline color for the focused item when the list/tree is active and selected. An active list/tree has keyboard focus, an inactive does not.")),Yg=re("list.activeSelectionBackground",{dark:"#04395E",light:"#0060C0",hcDark:null,hcLight:Ze.fromHex("#0F4A85").transparent(.1)},L("listActiveSelectionBackground","List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),tf=re("list.activeSelectionForeground",{dark:Ze.white,light:Ze.white,hcDark:null,hcLight:null},L("listActiveSelectionForeground","List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),kI=re("list.activeSelectionIconForeground",{dark:null,light:null,hcDark:null,hcLight:null},L("listActiveSelectionIconForeground","List/Tree icon foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),V0t=re("list.inactiveSelectionBackground",{dark:"#37373D",light:"#E4E6F1",hcDark:null,hcLight:Ze.fromHex("#0F4A85").transparent(.1)},L("listInactiveSelectionBackground","List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),A0t=re("list.inactiveSelectionForeground",{dark:null,light:null,hcDark:null,hcLight:null},L("listInactiveSelectionForeground","List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),G0t=re("list.inactiveSelectionIconForeground",{dark:null,light:null,hcDark:null,hcLight:null},L("listInactiveSelectionIconForeground","List/Tree icon foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),X0t=re("list.inactiveFocusBackground",{dark:null,light:null,hcDark:null,hcLight:null},L("listInactiveFocusBackground","List/Tree background color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),P0t=re("list.inactiveFocusOutline",{dark:null,light:null,hcDark:null,hcLight:null},L("listInactiveFocusOutline","List/Tree outline color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),bve=re("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:Ze.white.transparent(.1),hcLight:Ze.fromHex("#0F4A85").transparent(.1)},L("listHoverBackground","List/Tree background when hovering over items using the mouse.")),vve=re("list.hoverForeground",{dark:null,light:null,hcDark:null,hcLight:null},L("listHoverForeground","List/Tree foreground when hovering over items using the mouse.")),O0t=re("list.dropBackground",{dark:"#062F4A",light:"#D6EBFF",hcDark:null,hcLight:null},L("listDropBackground","List/Tree drag and drop background when moving items over other items when using the mouse.")),B0t=re("list.dropBetweenBackground",{dark:$m,light:$m,hcDark:null,hcLight:null},L("listDropBetweenBackground","List/Tree drag and drop border color when moving items between items when using the mouse.")),Ed=re("list.highlightForeground",{dark:"#2AAAFF",light:"#0066BF",hcDark:Ac,hcLight:Ac},L("highlight","List/Tree foreground color of the match highlights when searching inside the list/tree.")),oW=re("list.focusHighlightForeground",{dark:Ed,light:Vbt(Yg,Ed,"#BBE7FF"),hcDark:Ed,hcLight:Ed},L("listFocusHighlightForeground","List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree."));re("list.invalidItemForeground",{dark:"#B89500",light:"#B89500",hcDark:"#B89500",hcLight:"#B5200D"},L("invalidItemForeground","List/Tree foreground color for invalid items, for example an unresolved root in explorer.")),re("list.errorForeground",{dark:"#F88070",light:"#B01011",hcDark:null,hcLight:null},L("listErrorForeground","Foreground color of list items containing errors.")),re("list.warningForeground",{dark:"#CCA700",light:"#855F00",hcDark:null,hcLight:null},L("listWarningForeground","Foreground color of list items containing warnings."));const z0t=re("listFilterWidget.background",{light:ay(no,0),dark:Ah(no,0),hcDark:no,hcLight:no},L("listFilterWidgetBackground","Background color of the type filter widget in lists and trees.")),H0t=re("listFilterWidget.outline",{dark:Ze.transparent,light:Ze.transparent,hcDark:"#f38518",hcLight:"#007ACC"},L("listFilterWidgetOutline","Outline color of the type filter widget in lists and trees.")),Y0t=re("listFilterWidget.noMatchesOutline",{dark:"#BE1100",light:"#BE1100",hcDark:Kn,hcLight:Kn},L("listFilterWidgetNoMatchesOutline","Outline color of the type filter widget in lists and trees, when there are no matches.")),U0t=re("listFilterWidget.shadow",{dark:zg,light:zg,hcDark:zg,hcLight:zg},L("listFilterWidgetShadow","Shadow color of the type filter widget in lists and trees."));re("list.filterMatchBackground",{dark:Pg,light:Pg,hcDark:null,hcLight:null},L("listFilterMatchHighlight","Background color of the filtered match.")),re("list.filterMatchBorder",{dark:o0,light:o0,hcDark:Kn,hcLight:fr},L("listFilterMatchHighlightBorder","Border color of the filtered match.")),re("list.deemphasizedForeground",{dark:"#8C8C8C",light:"#8E8E90",hcDark:"#A7A8A9",hcLight:"#666666"},L("listDeemphasizedForeground","List/Tree foreground color for items that are deemphasized."));const NI=re("tree.indentGuidesStroke",{dark:"#585858",light:"#a9a9a9",hcDark:"#a9a9a9",hcLight:"#a5a5a5"},L("treeIndentGuidesStroke","Tree stroke color for the indentation guides.")),K0t=re("tree.inactiveIndentGuidesStroke",{dark:zt(NI,.4),light:zt(NI,.4),hcDark:zt(NI,.4),hcLight:zt(NI,.4)},L("treeInactiveIndentGuidesStroke","Tree stroke color for the indentation guides that are not active.")),J0t=re("tree.tableColumnsBorder",{dark:"#CCCCCC20",light:"#61616120",hcDark:null,hcLight:null},L("tableColumnsBorder","Table border color between columns.")),j0t=re("tree.tableOddRowsBackground",{dark:zt(at,.04),light:zt(at,.04),hcDark:null,hcLight:null},L("tableOddRowsBackgroundColor","Background color for odd table rows.")),Q0t=re("menu.border",{dark:null,light:null,hcDark:Kn,hcLight:Kn},L("menuBorder","Border color of menus.")),$0t=re("menu.foreground",{dark:Hg,light:Hg,hcDark:Hg,hcLight:Hg},L("menuForeground","Foreground color of menu items.")),q0t=re("menu.background",{dark:ef,light:ef,hcDark:ef,hcLight:ef},L("menuBackground","Background color of menu items.")),e1t=re("menu.selectionForeground",{dark:tf,light:tf,hcDark:tf,hcLight:tf},L("menuSelectionForeground","Foreground color of the selected menu item in menus.")),t1t=re("menu.selectionBackground",{dark:Yg,light:Yg,hcDark:Yg,hcLight:Yg},L("menuSelectionBackground","Background color of the selected menu item in menus.")),n1t=re("menu.selectionBorder",{dark:null,light:null,hcDark:fr,hcLight:fr},L("menuSelectionBorder","Border color of the selected menu item in menus.")),i1t=re("menu.separatorBackground",{dark:"#606060",light:"#D4D4D4",hcDark:Kn,hcLight:Kn},L("menuSeparatorBackground","Color of a separator menu item in menus.")),yve=re("quickInput.background",{dark:no,light:no,hcDark:no,hcLight:no},L("pickerBackground","Quick picker background color. The quick picker widget is the container for pickers like the command palette.")),r1t=re("quickInput.foreground",{dark:Gg,light:Gg,hcDark:Gg,hcLight:Gg},L("pickerForeground","Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.")),o1t=re("quickInputTitle.background",{dark:new Ze(new ni(255,255,255,.105)),light:new Ze(new ni(0,0,0,.06)),hcDark:"#000000",hcLight:Ze.white},L("pickerTitleBackground","Quick picker title background color. The quick picker widget is the container for pickers like the command palette.")),Cve=re("pickerGroup.foreground",{dark:"#3794FF",light:"#0066BF",hcDark:Ze.white,hcLight:"#0F4A85"},L("pickerGroupForeground","Quick picker color for grouping labels.")),s1t=re("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hcDark:Ze.white,hcLight:"#0F4A85"},L("pickerGroupBorder","Quick picker color for grouping borders.")),wve=re("quickInput.list.focusBackground",{dark:null,light:null,hcDark:null,hcLight:null},"",void 0,L("quickInput.list.focusBackground deprecation","Please use quickInputList.focusBackground instead")),s0=re("quickInputList.focusForeground",{dark:tf,light:tf,hcDark:tf,hcLight:tf},L("quickInput.listFocusForeground","Quick picker foreground color for the focused item.")),e2=re("quickInputList.focusIconForeground",{dark:kI,light:kI,hcDark:kI,hcLight:kI},L("quickInput.listFocusIconForeground","Quick picker icon foreground color for the focused item.")),a0=re("quickInputList.focusBackground",{dark:CI(wve,Yg),light:CI(wve,Yg),hcDark:null,hcLight:null},L("quickInput.listFocusBackground","Quick picker background color for the focused item."));re("search.resultsInfoForeground",{light:at,dark:zt(at,.65),hcDark:at,hcLight:at},L("search.resultsInfoForeground","Color of the text in the search viewlet's completion message.")),re("searchEditor.findMatchBackground",{light:zt(Pg,.66),dark:zt(Pg,.66),hcDark:Pg,hcLight:Pg},L("searchEditor.queryMatch","Color of the Search Editor query matches.")),re("searchEditor.findMatchBorder",{light:zt(o0,.66),dark:zt(o0,.66),hcDark:o0,hcLight:o0},L("searchEditor.editorFindMatchBorder","Border color of the Search Editor query matches."));class sW{constructor(e,t){this.x=e,this.y=t,this._pageCoordinatesBrand=void 0}toClientCoordinates(e){return new Sve(this.x-e.scrollX,this.y-e.scrollY)}}class Sve{constructor(e,t){this.clientX=e,this.clientY=t,this._clientCoordinatesBrand=void 0}toPageCoordinates(e){return new sW(this.clientX+e.scrollX,this.clientY+e.scrollY)}}class a1t{constructor(e,t,i,r){this.x=e,this.y=t,this.width=i,this.height=r,this._editorPagePositionBrand=void 0}}class l1t{constructor(e,t){this.x=e,this.y=t,this._positionRelativeToEditorBrand=void 0}}function S6(n){const e=po(n);return new a1t(e.left,e.top,e.width,e.height)}function x6(n,e,t){const i=e.width/n.offsetWidth,r=e.height/n.offsetHeight,o=(t.x-e.x)/i,s=(t.y-e.y)/r;return new l1t(o,s)}class l0 extends Ld{constructor(e,t,i){super(Qt(i),e),this._editorMouseEventBrand=void 0,this.isFromPointerCapture=t,this.pos=new sW(this.posx,this.posy),this.editorPos=S6(i),this.relativePos=x6(i,this.editorPos,this.pos)}}class u1t{constructor(e){this._editorViewDomNode=e}_create(e){return new l0(e,!1,this._editorViewDomNode)}onContextMenu(e,t){return Ae(e,"contextmenu",i=>{t(this._create(i))})}onMouseUp(e,t){return Ae(e,"mouseup",i=>{t(this._create(i))})}onMouseDown(e,t){return Ae(e,ot.MOUSE_DOWN,i=>{t(this._create(i))})}onPointerDown(e,t){return Ae(e,ot.POINTER_DOWN,i=>{t(this._create(i),i.pointerId)})}onMouseLeave(e,t){return Ae(e,ot.MOUSE_LEAVE,i=>{t(this._create(i))})}onMouseMove(e,t){return Ae(e,"mousemove",i=>t(this._create(i)))}}class c1t{constructor(e){this._editorViewDomNode=e}_create(e){return new l0(e,!1,this._editorViewDomNode)}onPointerUp(e,t){return Ae(e,"pointerup",i=>{t(this._create(i))})}onPointerDown(e,t){return Ae(e,ot.POINTER_DOWN,i=>{t(this._create(i),i.pointerId)})}onPointerLeave(e,t){return Ae(e,ot.POINTER_LEAVE,i=>{t(this._create(i))})}onPointerMove(e,t){return Ae(e,"pointermove",i=>t(this._create(i)))}}class d1t extends Ie{constructor(e){super(),this._editorViewDomNode=e,this._globalPointerMoveMonitor=this._register(new YS),this._keydownListener=null}startMonitoring(e,t,i,r,o){this._keydownListener=Gr(e.ownerDocument,"keydown",s=>{s.toKeyCodeChord().isModifierKey()||this._globalPointerMoveMonitor.stopMonitoring(!0,s.browserEvent)},!0),this._globalPointerMoveMonitor.startMonitoring(e,t,i,s=>{r(new l0(s,!0,this._editorViewDomNode))},s=>{this._keydownListener.dispose(),o(s)})}stopMonitoring(){this._globalPointerMoveMonitor.stopMonitoring(!0)}}class TI{constructor(e){this._editor=e,this._instanceId=++TI._idPool,this._counter=0,this._rules=new Map,this._garbageCollectionScheduler=new Ri(()=>this.garbageCollect(),1e3)}createClassNameRef(e){const t=this.getOrCreateRule(e);return t.increaseRefCount(),{className:t.className,dispose:()=>{t.decreaseRefCount(),this._garbageCollectionScheduler.schedule()}}}getOrCreateRule(e){const t=this.computeUniqueKey(e);let i=this._rules.get(t);if(!i){const r=this._counter++;i=new h1t(t,`dyn-rule-${this._instanceId}-${r}`,a9(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0,e),this._rules.set(t,i)}return i}computeUniqueKey(e){return JSON.stringify(e)}garbageCollect(){for(const e of this._rules.values())e.hasReferences()||(this._rules.delete(e.key),e.dispose())}}TI._idPool=0;class h1t{constructor(e,t,i,r){this.key=e,this.className=t,this.properties=r,this._referenceCount=0,this._styleElementDisposables=new Je,this._styleElement=Au(i,void 0,this._styleElementDisposables),this._styleElement.textContent=this.getCssText(this.className,this.properties)}getCssText(e,t){let i=`.${e} {`;for(const r in t){const o=t[r];let s;typeof o=="object"?s=xt(o.id):s=o;const a=m1t(r);i+=` + - Values greater than or equal to 8 will be used as effective values.`)})}compute(e,t,i){return e.fontInfo.lineHeight}}class qpt extends yr{constructor(){const e={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:!1,renderCharacters:!0,maxColumn:120,scale:1,showRegionSectionHeaders:!0,showMarkSectionHeaders:!0,sectionHeaderFontSize:9};super(73,"minimap",e,{"editor.minimap.enabled":{type:"boolean",default:e.enabled,description:_("minimap.enabled","Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"boolean",default:e.autohide,description:_("minimap.autohide","Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[_("minimap.size.proportional","The minimap has the same size as the editor contents (and might scroll)."),_("minimap.size.fill","The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),_("minimap.size.fit","The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:e.size,description:_("minimap.size","Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:e.side,description:_("minimap.side","Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:e.showSlider,description:_("minimap.showSlider","Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:e.scale,minimum:1,maximum:3,enum:[1,2,3],description:_("minimap.scale","Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:e.renderCharacters,description:_("minimap.renderCharacters","Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:e.maxColumn,description:_("minimap.maxColumn","Limit the width of the minimap to render at most a certain number of columns.")},"editor.minimap.showRegionSectionHeaders":{type:"boolean",default:e.showRegionSectionHeaders,description:_("minimap.showRegionSectionHeaders","Controls whether named regions are shown as section headers in the minimap.")},"editor.minimap.showMarkSectionHeaders":{type:"boolean",default:e.showMarkSectionHeaders,description:_("minimap.showMarkSectionHeaders","Controls whether MARK: comments are shown as section headers in the minimap.")},"editor.minimap.sectionHeaderFontSize":{type:"number",default:e.sectionHeaderFontSize,description:_("minimap.sectionHeaderFontSize","Controls the font size of section headers in the minimap.")}})}validate(e){var t;if(!e||typeof e!="object")return this.defaultValue;const i=e;return{enabled:Xt(i.enabled,this.defaultValue.enabled),autohide:Xt(i.autohide,this.defaultValue.autohide),size:Br(i.size,this.defaultValue.size,["proportional","fill","fit"]),side:Br(i.side,this.defaultValue.side,["right","left"]),showSlider:Br(i.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:Xt(i.renderCharacters,this.defaultValue.renderCharacters),scale:Ji.clampedInt(i.scale,1,1,3),maxColumn:Ji.clampedInt(i.maxColumn,this.defaultValue.maxColumn,1,1e4),showRegionSectionHeaders:Xt(i.showRegionSectionHeaders,this.defaultValue.showRegionSectionHeaders),showMarkSectionHeaders:Xt(i.showMarkSectionHeaders,this.defaultValue.showMarkSectionHeaders),sectionHeaderFontSize:Rc.clamp((t=i.sectionHeaderFontSize)!==null&&t!==void 0?t:this.defaultValue.sectionHeaderFontSize,4,32)}}}function ebt(n){return n==="ctrlCmd"?On?"metaKey":"ctrlKey":"altKey"}class tbt extends yr{constructor(){super(84,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:_("padding.top","Controls the amount of space between the top edge of the editor and the first line.")},"editor.padding.bottom":{type:"number",default:0,minimum:0,maximum:1e3,description:_("padding.bottom","Controls the amount of space between the bottom edge of the editor and the last line.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{top:Ji.clampedInt(t.top,0,0,1e3),bottom:Ji.clampedInt(t.bottom,0,0,1e3)}}}class nbt extends yr{constructor(){const e={enabled:!0,cycle:!0};super(86,"parameterHints",e,{"editor.parameterHints.enabled":{type:"boolean",default:e.enabled,description:_("parameterHints.enabled","Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:e.cycle,description:_("parameterHints.cycle","Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:Xt(t.enabled,this.defaultValue.enabled),cycle:Xt(t.cycle,this.defaultValue.cycle)}}}class ibt extends yF{constructor(){super(143)}compute(e,t,i){return e.pixelRatio}}class rbt extends yr{constructor(){const e={other:"on",comments:"off",strings:"off"},t=[{type:"boolean"},{type:"string",enum:["on","inline","off"],enumDescriptions:[_("on","Quick suggestions show inside the suggest widget"),_("inline","Quick suggestions show as ghost text"),_("off","Quick suggestions are disabled")]}];super(89,"quickSuggestions",e,{type:"object",additionalProperties:!1,properties:{strings:{anyOf:t,default:e.strings,description:_("quickSuggestions.strings","Enable quick suggestions inside strings.")},comments:{anyOf:t,default:e.comments,description:_("quickSuggestions.comments","Enable quick suggestions inside comments.")},other:{anyOf:t,default:e.other,description:_("quickSuggestions.other","Enable quick suggestions outside of strings and comments.")}},default:e,markdownDescription:_("quickSuggestions","Controls whether suggestions should automatically show up while typing. This can be controlled for typing in comments, strings, and other code. Quick suggestion can be configured to show as ghost text or with the suggest widget. Also be aware of the '{0}'-setting which controls if suggestions are triggered by special characters.","#editor.suggestOnTriggerCharacters#")}),this.defaultValue=e}validate(e){if(typeof e=="boolean"){const u=e?"on":"off";return{comments:u,strings:u,other:u}}if(!e||typeof e!="object")return this.defaultValue;const{other:t,comments:i,strings:r}=e,o=["on","inline","off"];let s,a,l;return typeof t=="boolean"?s=t?"on":"off":s=Br(t,this.defaultValue.other,o),typeof i=="boolean"?a=i?"on":"off":a=Br(i,this.defaultValue.comments,o),typeof r=="boolean"?l=r?"on":"off":l=Br(r,this.defaultValue.strings,o),{other:s,comments:a,strings:l}}}class obt extends yr{constructor(){super(68,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[_("lineNumbers.off","Line numbers are not rendered."),_("lineNumbers.on","Line numbers are rendered as absolute number."),_("lineNumbers.relative","Line numbers are rendered as distance in lines to cursor position."),_("lineNumbers.interval","Line numbers are rendered every 10 lines.")],default:"on",description:_("lineNumbers","Controls the display of line numbers.")})}validate(e){let t=this.defaultValue.renderType,i=this.defaultValue.renderFn;return typeof e<"u"&&(typeof e=="function"?(t=4,i=e):e==="interval"?t=3:e==="relative"?t=2:e==="on"?t=1:t=0),{renderType:t,renderFn:i}}}function $9(n){const e=n.get(98);return e==="editable"?n.get(91):e!=="on"}class sbt extends yr{constructor(){const e=[],t={type:"number",description:_("rulers.size","Number of monospace characters at which this editor ruler will render.")};super(102,"rulers",e,{type:"array",items:{anyOf:[t,{type:["object"],properties:{column:t,color:{type:"string",description:_("rulers.color","Color of this editor ruler."),format:"color-hex"}}}]},default:e,description:_("rulers","Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.")})}validate(e){if(Array.isArray(e)){const t=[];for(const i of e)if(typeof i=="number")t.push({column:Ji.clampedInt(i,0,0,1e4),color:null});else if(i&&typeof i=="object"){const r=i;t.push({column:Ji.clampedInt(r.column,0,0,1e4),color:r.color})}return t.sort((i,r)=>i.column-r.column),t}return this.defaultValue}}class abt extends yr{constructor(){super(92,"readOnlyMessage",void 0)}validate(e){return!e||typeof e!="object"?this.defaultValue:e}}function Q1e(n,e){if(typeof n!="string")return e;switch(n){case"hidden":return 2;case"visible":return 3;default:return 1}}let lbt=class extends yr{constructor(){const e={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1,ignoreHorizontalScrollbarInContentHeight:!1};super(103,"scrollbar",e,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[_("scrollbar.vertical.auto","The vertical scrollbar will be visible only when necessary."),_("scrollbar.vertical.visible","The vertical scrollbar will always be visible."),_("scrollbar.vertical.fit","The vertical scrollbar will always be hidden.")],default:"auto",description:_("scrollbar.vertical","Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[_("scrollbar.horizontal.auto","The horizontal scrollbar will be visible only when necessary."),_("scrollbar.horizontal.visible","The horizontal scrollbar will always be visible."),_("scrollbar.horizontal.fit","The horizontal scrollbar will always be hidden.")],default:"auto",description:_("scrollbar.horizontal","Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:e.verticalScrollbarSize,description:_("scrollbar.verticalScrollbarSize","The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:e.horizontalScrollbarSize,description:_("scrollbar.horizontalScrollbarSize","The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:e.scrollByPage,description:_("scrollbar.scrollByPage","Controls whether clicks scroll by page or jump to click position.")},"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight":{type:"boolean",default:e.ignoreHorizontalScrollbarInContentHeight,description:_("scrollbar.ignoreHorizontalScrollbarInContentHeight","When set, the horizontal scrollbar will not increase the size of the editor's content.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e,i=Ji.clampedInt(t.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),r=Ji.clampedInt(t.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:Ji.clampedInt(t.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:Q1e(t.vertical,this.defaultValue.vertical),horizontal:Q1e(t.horizontal,this.defaultValue.horizontal),useShadows:Xt(t.useShadows,this.defaultValue.useShadows),verticalHasArrows:Xt(t.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:Xt(t.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:Xt(t.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:Xt(t.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:i,horizontalSliderSize:Ji.clampedInt(t.horizontalSliderSize,i,0,1e3),verticalScrollbarSize:r,verticalSliderSize:Ji.clampedInt(t.verticalSliderSize,r,0,1e3),scrollByPage:Xt(t.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:Xt(t.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}};const zu="inUntrustedWorkspace",Al={allowedCharacters:"editor.unicodeHighlight.allowedCharacters",invisibleCharacters:"editor.unicodeHighlight.invisibleCharacters",nonBasicASCII:"editor.unicodeHighlight.nonBasicASCII",ambiguousCharacters:"editor.unicodeHighlight.ambiguousCharacters",includeComments:"editor.unicodeHighlight.includeComments",includeStrings:"editor.unicodeHighlight.includeStrings",allowedLocales:"editor.unicodeHighlight.allowedLocales"};class ubt extends yr{constructor(){const e={nonBasicASCII:zu,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:zu,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(125,"unicodeHighlight",e,{[Al.nonBasicASCII]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,zu],default:e.nonBasicASCII,description:_("unicodeHighlight.nonBasicASCII","Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.")},[Al.invisibleCharacters]:{restricted:!0,type:"boolean",default:e.invisibleCharacters,description:_("unicodeHighlight.invisibleCharacters","Controls whether characters that just reserve space or have no width at all are highlighted.")},[Al.ambiguousCharacters]:{restricted:!0,type:"boolean",default:e.ambiguousCharacters,description:_("unicodeHighlight.ambiguousCharacters","Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.")},[Al.includeComments]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,zu],default:e.includeComments,description:_("unicodeHighlight.includeComments","Controls whether characters in comments should also be subject to Unicode highlighting.")},[Al.includeStrings]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,zu],default:e.includeStrings,description:_("unicodeHighlight.includeStrings","Controls whether characters in strings should also be subject to Unicode highlighting.")},[Al.allowedCharacters]:{restricted:!0,type:"object",default:e.allowedCharacters,description:_("unicodeHighlight.allowedCharacters","Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},[Al.allowedLocales]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:e.allowedLocales,description:_("unicodeHighlight.allowedLocales","Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(e,t){let i=!1;t.allowedCharacters&&e&&(Ou(e.allowedCharacters,t.allowedCharacters)||(e={...e,allowedCharacters:t.allowedCharacters},i=!0)),t.allowedLocales&&e&&(Ou(e.allowedLocales,t.allowedLocales)||(e={...e,allowedLocales:t.allowedLocales},i=!0));const r=super.applyUpdate(e,t);return i?new bF(r.newValue,!0):r}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{nonBasicASCII:Bw(t.nonBasicASCII,zu,[!0,!1,zu]),invisibleCharacters:Xt(t.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:Xt(t.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:Bw(t.includeComments,zu,[!0,!1,zu]),includeStrings:Bw(t.includeStrings,zu,[!0,!1,zu]),allowedCharacters:this.validateBooleanMap(e.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(e.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(e,t){if(typeof e!="object"||!e)return t;const i={};for(const[r,o]of Object.entries(e))o===!0&&(i[r]=!0);return i}}class cbt extends yr{constructor(){const e={enabled:!0,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:!1,keepOnBlur:!1,fontFamily:"default"};super(62,"inlineSuggest",e,{"editor.inlineSuggest.enabled":{type:"boolean",default:e.enabled,description:_("inlineSuggest.enabled","Controls whether to automatically show inline suggestions in the editor.")},"editor.inlineSuggest.showToolbar":{type:"string",default:e.showToolbar,enum:["always","onHover","never"],enumDescriptions:[_("inlineSuggest.showToolbar.always","Show the inline suggestion toolbar whenever an inline suggestion is shown."),_("inlineSuggest.showToolbar.onHover","Show the inline suggestion toolbar when hovering over an inline suggestion."),_("inlineSuggest.showToolbar.never","Never show the inline suggestion toolbar.")],description:_("inlineSuggest.showToolbar","Controls when to show the inline suggestion toolbar.")},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:e.suppressSuggestions,description:_("inlineSuggest.suppressSuggestions","Controls how inline suggestions interact with the suggest widget. If enabled, the suggest widget is not shown automatically when inline suggestions are available.")},"editor.inlineSuggest.fontFamily":{type:"string",default:e.fontFamily,description:_("inlineSuggest.fontFamily","Controls the font family of the inline suggestions.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:Xt(t.enabled,this.defaultValue.enabled),mode:Br(t.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:Br(t.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),suppressSuggestions:Xt(t.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:Xt(t.keepOnBlur,this.defaultValue.keepOnBlur),fontFamily:nl.string(t.fontFamily,this.defaultValue.fontFamily)}}}class dbt extends yr{constructor(){const e={enabled:!1,showToolbar:"onHover",fontFamily:"default",keepOnBlur:!1,backgroundColoring:!1};super(63,"experimentalInlineEdit",e,{"editor.experimentalInlineEdit.enabled":{type:"boolean",default:e.enabled,description:_("inlineEdit.enabled","Controls whether to show inline edits in the editor.")},"editor.experimentalInlineEdit.showToolbar":{type:"string",default:e.showToolbar,enum:["always","onHover","never"],enumDescriptions:[_("inlineEdit.showToolbar.always","Show the inline edit toolbar whenever an inline suggestion is shown."),_("inlineEdit.showToolbar.onHover","Show the inline edit toolbar when hovering over an inline suggestion."),_("inlineEdit.showToolbar.never","Never show the inline edit toolbar.")],description:_("inlineEdit.showToolbar","Controls when to show the inline edit toolbar.")},"editor.experimentalInlineEdit.fontFamily":{type:"string",default:e.fontFamily,description:_("inlineEdit.fontFamily","Controls the font family of the inline edit.")},"editor.experimentalInlineEdit.backgroundColoring":{type:"boolean",default:e.backgroundColoring,description:_("inlineEdit.backgroundColoring","Controls whether to color the background of inline edits.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:Xt(t.enabled,this.defaultValue.enabled),showToolbar:Br(t.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),fontFamily:nl.string(t.fontFamily,this.defaultValue.fontFamily),keepOnBlur:Xt(t.keepOnBlur,this.defaultValue.keepOnBlur),backgroundColoring:Xt(t.backgroundColoring,this.defaultValue.backgroundColoring)}}}class hbt extends yr{constructor(){const e={enabled:pa.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:pa.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(15,"bracketPairColorization",e,{"editor.bracketPairColorization.enabled":{type:"boolean",default:e.enabled,markdownDescription:_("bracketPairColorization.enabled","Controls whether bracket pair colorization is enabled or not. Use {0} to override the bracket highlight colors.","`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:"boolean",default:e.independentColorPoolPerBracketType,description:_("bracketPairColorization.independentColorPoolPerBracketType","Controls whether each bracket type has its own independent color pool.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:Xt(t.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:Xt(t.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}}class mbt extends yr{constructor(){const e={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(16,"guides",e,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[_("editor.guides.bracketPairs.true","Enables bracket pair guides."),_("editor.guides.bracketPairs.active","Enables bracket pair guides only for the active bracket pair."),_("editor.guides.bracketPairs.false","Disables bracket pair guides.")],default:e.bracketPairs,description:_("editor.guides.bracketPairs","Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[_("editor.guides.bracketPairsHorizontal.true","Enables horizontal guides as addition to vertical bracket pair guides."),_("editor.guides.bracketPairsHorizontal.active","Enables horizontal guides only for the active bracket pair."),_("editor.guides.bracketPairsHorizontal.false","Disables horizontal bracket pair guides.")],default:e.bracketPairsHorizontal,description:_("editor.guides.bracketPairsHorizontal","Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:e.highlightActiveBracketPair,description:_("editor.guides.highlightActiveBracketPair","Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:e.indentation,description:_("editor.guides.indentation","Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[_("editor.guides.highlightActiveIndentation.true","Highlights the active indent guide."),_("editor.guides.highlightActiveIndentation.always","Highlights the active indent guide even if bracket guides are highlighted."),_("editor.guides.highlightActiveIndentation.false","Do not highlight the active indent guide.")],default:e.highlightActiveIndentation,description:_("editor.guides.highlightActiveIndentation","Controls whether the editor should highlight the active indent guide.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{bracketPairs:Bw(t.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:Bw(t.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:Xt(t.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:Xt(t.indentation,this.defaultValue.indentation),highlightActiveIndentation:Bw(t.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}}function Bw(n,e,t){const i=t.indexOf(n);return i===-1?e:t[i]}class fbt extends yr{constructor(){const e={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!1,localityBonus:!1,shareSuggestSelections:!1,selectionMode:"always",showIcons:!0,showStatusBar:!1,preview:!1,previewMode:"subwordSmart",showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,matchOnWordStartOnly:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(118,"suggest",e,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[_("suggest.insertMode.insert","Insert suggestion without overwriting text right of the cursor."),_("suggest.insertMode.replace","Insert suggestion and overwrite text right of the cursor.")],default:e.insertMode,description:_("suggest.insertMode","Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.")},"editor.suggest.filterGraceful":{type:"boolean",default:e.filterGraceful,description:_("suggest.filterGraceful","Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:e.localityBonus,description:_("suggest.localityBonus","Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:e.shareSuggestSelections,markdownDescription:_("suggest.shareSuggestSelections","Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.selectionMode":{type:"string",enum:["always","never","whenTriggerCharacter","whenQuickSuggestion"],enumDescriptions:[_("suggest.insertMode.always","Always select a suggestion when automatically triggering IntelliSense."),_("suggest.insertMode.never","Never select a suggestion when automatically triggering IntelliSense."),_("suggest.insertMode.whenTriggerCharacter","Select a suggestion only when triggering IntelliSense from a trigger character."),_("suggest.insertMode.whenQuickSuggestion","Select a suggestion only when triggering IntelliSense as you type.")],default:e.selectionMode,markdownDescription:_("suggest.selectionMode","Controls whether a suggestion is selected when the widget shows. Note that this only applies to automatically triggered suggestions (`#editor.quickSuggestions#` and `#editor.suggestOnTriggerCharacters#`) and that a suggestion is always selected when explicitly invoked, e.g via `Ctrl+Space`.")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:e.snippetsPreventQuickSuggestions,description:_("suggest.snippetsPreventQuickSuggestions","Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:e.showIcons,description:_("suggest.showIcons","Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:e.showStatusBar,description:_("suggest.showStatusBar","Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:e.preview,description:_("suggest.preview","Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:e.showInlineDetails,description:_("suggest.showInlineDetails","Controls whether suggest details show inline with the label or only in the details widget.")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:_("suggest.maxVisibleSuggestions.dep","This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:_("deprecated","This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.")},"editor.suggest.showMethods":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showMethods","When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showFunctions","When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showConstructors","When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showDeprecated","When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.matchOnWordStartOnly","When enabled IntelliSense filtering requires that the first character matches on a word start. For example, `c` on `Console` or `WebContext` but _not_ on `description`. When disabled IntelliSense will show more results but still sorts them by match quality.")},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showFields","When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showVariables","When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showClasss","When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showStructs","When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showInterfaces","When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showModules","When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showPropertys","When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showEvents","When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showOperators","When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showUnits","When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showValues","When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showConstants","When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showEnums","When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showEnumMembers","When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showKeywords","When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showTexts","When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showColors","When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showFiles","When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showReferences","When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showCustomcolors","When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showFolders","When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showTypeParameters","When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showSnippets","When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showUsers","When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:_("editor.suggest.showIssues","When enabled IntelliSense shows `issues`-suggestions.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{insertMode:Br(t.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:Xt(t.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:Xt(t.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:Xt(t.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:Xt(t.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:Br(t.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:Xt(t.showIcons,this.defaultValue.showIcons),showStatusBar:Xt(t.showStatusBar,this.defaultValue.showStatusBar),preview:Xt(t.preview,this.defaultValue.preview),previewMode:Br(t.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:Xt(t.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:Xt(t.showMethods,this.defaultValue.showMethods),showFunctions:Xt(t.showFunctions,this.defaultValue.showFunctions),showConstructors:Xt(t.showConstructors,this.defaultValue.showConstructors),showDeprecated:Xt(t.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:Xt(t.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:Xt(t.showFields,this.defaultValue.showFields),showVariables:Xt(t.showVariables,this.defaultValue.showVariables),showClasses:Xt(t.showClasses,this.defaultValue.showClasses),showStructs:Xt(t.showStructs,this.defaultValue.showStructs),showInterfaces:Xt(t.showInterfaces,this.defaultValue.showInterfaces),showModules:Xt(t.showModules,this.defaultValue.showModules),showProperties:Xt(t.showProperties,this.defaultValue.showProperties),showEvents:Xt(t.showEvents,this.defaultValue.showEvents),showOperators:Xt(t.showOperators,this.defaultValue.showOperators),showUnits:Xt(t.showUnits,this.defaultValue.showUnits),showValues:Xt(t.showValues,this.defaultValue.showValues),showConstants:Xt(t.showConstants,this.defaultValue.showConstants),showEnums:Xt(t.showEnums,this.defaultValue.showEnums),showEnumMembers:Xt(t.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:Xt(t.showKeywords,this.defaultValue.showKeywords),showWords:Xt(t.showWords,this.defaultValue.showWords),showColors:Xt(t.showColors,this.defaultValue.showColors),showFiles:Xt(t.showFiles,this.defaultValue.showFiles),showReferences:Xt(t.showReferences,this.defaultValue.showReferences),showFolders:Xt(t.showFolders,this.defaultValue.showFolders),showTypeParameters:Xt(t.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:Xt(t.showSnippets,this.defaultValue.showSnippets),showUsers:Xt(t.showUsers,this.defaultValue.showUsers),showIssues:Xt(t.showIssues,this.defaultValue.showIssues)}}}class gbt extends yr{constructor(){super(113,"smartSelect",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:_("selectLeadingAndTrailingWhitespace","Whether leading and trailing whitespace should always be selected."),default:!0,type:"boolean"},"editor.smartSelect.selectSubwords":{description:_("selectSubwords","Whether subwords (like 'foo' in 'fooBar' or 'foo_bar') should be selected."),default:!0,type:"boolean"}})}validate(e){return!e||typeof e!="object"?this.defaultValue:{selectLeadingAndTrailingWhitespace:Xt(e.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:Xt(e.selectSubwords,this.defaultValue.selectSubwords)}}}class pbt extends yr{constructor(){const e=[];super(130,"wordSegmenterLocales",e,{anyOf:[{description:_("wordSegmenterLocales","Locales to be used for word segmentation when doing word related navigations or operations. Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.)."),type:"string"},{description:_("wordSegmenterLocales","Locales to be used for word segmentation when doing word related navigations or operations. Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.)."),type:"array",items:{type:"string"}}]})}validate(e){if(typeof e=="string"&&(e=[e]),Array.isArray(e)){const t=[];for(const i of e)if(typeof i=="string")try{Intl.Segmenter.supportedLocalesOf(i).length>0&&t.push(i)}catch{}return t}return this.defaultValue}}class bbt extends yr{constructor(){super(138,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[_("wrappingIndent.none","No indentation. Wrapped lines begin at column 1."),_("wrappingIndent.same","Wrapped lines get the same indentation as the parent."),_("wrappingIndent.indent","Wrapped lines get +1 indentation toward the parent."),_("wrappingIndent.deepIndent","Wrapped lines get +2 indentation toward the parent.")],description:_("wrappingIndent","Controls the indentation of wrapped lines."),default:"same"}})}validate(e){switch(e){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}return 1}compute(e,t,i){return t.get(2)===2?0:i}}class ybt extends yF{constructor(){super(146)}compute(e,t,i){const r=t.get(145);return{isDominatedByLongLines:e.isDominatedByLongLines,isWordWrapMinified:r.isWordWrapMinified,isViewportWrapping:r.isViewportWrapping,wrappingColumn:r.wrappingColumn}}}class vbt extends yr{constructor(){const e={enabled:!0,showDropSelector:"afterDrop"};super(36,"dropIntoEditor",e,{"editor.dropIntoEditor.enabled":{type:"boolean",default:e.enabled,markdownDescription:_("dropIntoEditor.enabled","Controls whether you can drag and drop a file into a text editor by holding down the `Shift` key (instead of opening the file in an editor).")},"editor.dropIntoEditor.showDropSelector":{type:"string",markdownDescription:_("dropIntoEditor.showDropSelector","Controls if a widget is shown when dropping files into the editor. This widget lets you control how the file is dropped."),enum:["afterDrop","never"],enumDescriptions:[_("dropIntoEditor.showDropSelector.afterDrop","Show the drop selector widget after a file is dropped into the editor."),_("dropIntoEditor.showDropSelector.never","Never show the drop selector widget. Instead the default drop provider is always used.")],default:"afterDrop"}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:Xt(t.enabled,this.defaultValue.enabled),showDropSelector:Br(t.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}}}class Cbt extends yr{constructor(){const e={enabled:!0,showPasteSelector:"afterPaste"};super(85,"pasteAs",e,{"editor.pasteAs.enabled":{type:"boolean",default:e.enabled,markdownDescription:_("pasteAs.enabled","Controls whether you can paste content in different ways.")},"editor.pasteAs.showPasteSelector":{type:"string",markdownDescription:_("pasteAs.showPasteSelector","Controls if a widget is shown when pasting content in to the editor. This widget lets you control how the file is pasted."),enum:["afterPaste","never"],enumDescriptions:[_("pasteAs.showPasteSelector.afterPaste","Show the paste selector widget after content is pasted into the editor."),_("pasteAs.showPasteSelector.never","Never show the paste selector widget. Instead the default pasting behavior is always used.")],default:"afterPaste"}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:Xt(t.enabled,this.defaultValue.enabled),showPasteSelector:Br(t.showPasteSelector,this.defaultValue.showPasteSelector,["afterPaste","never"])}}}const Vl={fontFamily:On?"Menlo, Monaco, 'Courier New', monospace":Ja?"'Droid Sans Mono', 'monospace', monospace":"Consolas, 'Courier New', monospace",fontWeight:"normal",fontSize:On?12:14,lineHeight:0,letterSpacing:0},zw=[];function nt(n){return zw[n.id]=n,n}const Wh={acceptSuggestionOnCommitCharacter:nt(new ai(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:_("acceptSuggestionOnCommitCharacter","Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.")})),acceptSuggestionOnEnter:nt(new Rr(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",_("acceptSuggestionOnEnterSmart","Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:_("acceptSuggestionOnEnter","Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:nt(new Wpt),accessibilityPageSize:nt(new Ji(3,"accessibilityPageSize",10,1,1073741824,{description:_("accessibilityPageSize","Controls the number of lines in the editor that can be read out by a screen reader at once. When we detect a screen reader we automatically set the default to be 500. Warning: this has a performance implication for numbers larger than the default."),tags:["accessibility"]})),ariaLabel:nt(new nl(4,"ariaLabel",_("editorViewAccessibleLabel","Editor content"))),ariaRequired:nt(new ai(5,"ariaRequired",!1,void 0)),screenReaderAnnounceInlineSuggestion:nt(new ai(8,"screenReaderAnnounceInlineSuggestion",!0,{description:_("screenReaderAnnounceInlineSuggestion","Control whether inline suggestions are announced by a screen reader."),tags:["accessibility"]})),autoClosingBrackets:nt(new Rr(6,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",_("editor.autoClosingBrackets.languageDefined","Use language configurations to determine when to autoclose brackets."),_("editor.autoClosingBrackets.beforeWhitespace","Autoclose brackets only when the cursor is to the left of whitespace."),""],description:_("autoClosingBrackets","Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingComments:nt(new Rr(7,"autoClosingComments","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",_("editor.autoClosingComments.languageDefined","Use language configurations to determine when to autoclose comments."),_("editor.autoClosingComments.beforeWhitespace","Autoclose comments only when the cursor is to the left of whitespace."),""],description:_("autoClosingComments","Controls whether the editor should automatically close comments after the user adds an opening comment.")})),autoClosingDelete:nt(new Rr(9,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",_("editor.autoClosingDelete.auto","Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:_("autoClosingDelete","Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:nt(new Rr(10,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",_("editor.autoClosingOvertype.auto","Type over closing quotes or brackets only if they were automatically inserted."),""],description:_("autoClosingOvertype","Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:nt(new Rr(11,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",_("editor.autoClosingQuotes.languageDefined","Use language configurations to determine when to autoclose quotes."),_("editor.autoClosingQuotes.beforeWhitespace","Autoclose quotes only when the cursor is to the left of whitespace."),""],description:_("autoClosingQuotes","Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:nt(new Q9(12,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],Zpt,{enumDescriptions:[_("editor.autoIndent.none","The editor will not insert indentation automatically."),_("editor.autoIndent.keep","The editor will keep the current line's indentation."),_("editor.autoIndent.brackets","The editor will keep the current line's indentation and honor language defined brackets."),_("editor.autoIndent.advanced","The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),_("editor.autoIndent.full","The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.")],description:_("autoIndent","Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),automaticLayout:nt(new ai(13,"automaticLayout",!1)),autoSurround:nt(new Rr(14,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[_("editor.autoSurround.languageDefined","Use language configurations to determine when to automatically surround selections."),_("editor.autoSurround.quotes","Surround with quotes but not brackets."),_("editor.autoSurround.brackets","Surround with brackets but not quotes."),""],description:_("autoSurround","Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:nt(new hbt),bracketPairGuides:nt(new mbt),stickyTabStops:nt(new ai(116,"stickyTabStops",!1,{description:_("stickyTabStops","Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:nt(new ai(17,"codeLens",!0,{description:_("codeLens","Controls whether the editor shows CodeLens.")})),codeLensFontFamily:nt(new nl(18,"codeLensFontFamily","",{description:_("codeLensFontFamily","Controls the font family for CodeLens.")})),codeLensFontSize:nt(new Ji(19,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:_("codeLensFontSize","Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.")})),colorDecorators:nt(new ai(20,"colorDecorators",!0,{description:_("colorDecorators","Controls whether the editor should render the inline color decorators and color picker.")})),colorDecoratorActivatedOn:nt(new Rr(148,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[_("editor.colorDecoratorActivatedOn.clickAndHover","Make the color picker appear both on click and hover of the color decorator"),_("editor.colorDecoratorActivatedOn.hover","Make the color picker appear on hover of the color decorator"),_("editor.colorDecoratorActivatedOn.click","Make the color picker appear on click of the color decorator")],description:_("colorDecoratorActivatedOn","Controls the condition to make a color picker appear from a color decorator")})),colorDecoratorsLimit:nt(new Ji(21,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:_("colorDecoratorsLimit","Controls the max number of color decorators that can be rendered in an editor at once.")})),columnSelection:nt(new ai(22,"columnSelection",!1,{description:_("columnSelection","Enable that the selection with the mouse and keys is doing column selection.")})),comments:nt(new Apt),contextmenu:nt(new ai(24,"contextmenu",!0)),copyWithSyntaxHighlighting:nt(new ai(25,"copyWithSyntaxHighlighting",!0,{description:_("copyWithSyntaxHighlighting","Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:nt(new Q9(26,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],Vpt,{description:_("cursorBlinking","Control the cursor animation style.")})),cursorSmoothCaretAnimation:nt(new Rr(27,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[_("cursorSmoothCaretAnimation.off","Smooth caret animation is disabled."),_("cursorSmoothCaretAnimation.explicit","Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture."),_("cursorSmoothCaretAnimation.on","Smooth caret animation is always enabled.")],description:_("cursorSmoothCaretAnimation","Controls whether the smooth caret animation should be enabled.")})),cursorStyle:nt(new Q9(28,"cursorStyle",Es.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],Gpt,{description:_("cursorStyle","Controls the cursor style.")})),cursorSurroundingLines:nt(new Ji(29,"cursorSurroundingLines",0,0,1073741824,{description:_("cursorSurroundingLines","Controls the minimal number of visible leading lines (minimum 0) and trailing lines (minimum 1) surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.")})),cursorSurroundingLinesStyle:nt(new Rr(30,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[_("cursorSurroundingLinesStyle.default","`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),_("cursorSurroundingLinesStyle.all","`cursorSurroundingLines` is enforced always.")],markdownDescription:_("cursorSurroundingLinesStyle","Controls when `#editor.cursorSurroundingLines#` should be enforced.")})),cursorWidth:nt(new Ji(31,"cursorWidth",0,0,1073741824,{markdownDescription:_("cursorWidth","Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:nt(new ai(32,"disableLayerHinting",!1)),disableMonospaceOptimizations:nt(new ai(33,"disableMonospaceOptimizations",!1)),domReadOnly:nt(new ai(34,"domReadOnly",!1)),dragAndDrop:nt(new ai(35,"dragAndDrop",!0,{description:_("dragAndDrop","Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:nt(new Ppt),dropIntoEditor:nt(new vbt),stickyScroll:nt(new Jpt),experimentalWhitespaceRendering:nt(new Rr(38,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[_("experimentalWhitespaceRendering.svg","Use a new rendering method with svgs."),_("experimentalWhitespaceRendering.font","Use a new rendering method with font characters."),_("experimentalWhitespaceRendering.off","Use the stable rendering method.")],description:_("experimentalWhitespaceRendering","Controls whether whitespace is rendered with a new, experimental method.")})),extraEditorClassName:nt(new nl(39,"extraEditorClassName","")),fastScrollSensitivity:nt(new Rc(40,"fastScrollSensitivity",5,n=>n<=0?5:n,{markdownDescription:_("fastScrollSensitivity","Scrolling speed multiplier when pressing `Alt`.")})),find:nt(new Opt),fixedOverflowWidgets:nt(new ai(42,"fixedOverflowWidgets",!1)),folding:nt(new ai(43,"folding",!0,{description:_("folding","Controls whether the editor has code folding enabled.")})),foldingStrategy:nt(new Rr(44,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[_("foldingStrategy.auto","Use a language-specific folding strategy if available, else the indentation-based one."),_("foldingStrategy.indentation","Use the indentation-based folding strategy.")],description:_("foldingStrategy","Controls the strategy for computing folding ranges.")})),foldingHighlight:nt(new ai(45,"foldingHighlight",!0,{description:_("foldingHighlight","Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:nt(new ai(46,"foldingImportsByDefault",!1,{description:_("foldingImportsByDefault","Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:nt(new Ji(47,"foldingMaximumRegions",5e3,10,65e3,{description:_("foldingMaximumRegions","The maximum number of foldable regions. Increasing this value may result in the editor becoming less responsive when the current source has a large number of foldable regions.")})),unfoldOnClickAfterEndOfLine:nt(new ai(48,"unfoldOnClickAfterEndOfLine",!1,{description:_("unfoldOnClickAfterEndOfLine","Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:nt(new nl(49,"fontFamily",Vl.fontFamily,{description:_("fontFamily","Controls the font family.")})),fontInfo:nt(new Bpt),fontLigatures2:nt(new Bu),fontSize:nt(new zpt),fontWeight:nt(new jm),fontVariations:nt(new Zh),formatOnPaste:nt(new ai(55,"formatOnPaste",!1,{description:_("formatOnPaste","Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.")})),formatOnType:nt(new ai(56,"formatOnType",!1,{description:_("formatOnType","Controls whether the editor should automatically format the line after typing.")})),glyphMargin:nt(new ai(57,"glyphMargin",!0,{description:_("glyphMargin","Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:nt(new Hpt),hideCursorInOverviewRuler:nt(new ai(59,"hideCursorInOverviewRuler",!1,{description:_("hideCursorInOverviewRuler","Controls whether the cursor should be hidden in the overview ruler.")})),hover:nt(new Ypt),inDiffEditor:nt(new ai(61,"inDiffEditor",!1)),letterSpacing:nt(new Rc(64,"letterSpacing",Vl.letterSpacing,n=>Rc.clamp(n,-5,20),{description:_("letterSpacing","Controls the letter spacing in pixels.")})),lightbulb:nt(new Kpt),lineDecorationsWidth:nt(new Qpt),lineHeight:nt(new $pt),lineNumbers:nt(new obt),lineNumbersMinChars:nt(new Ji(69,"lineNumbersMinChars",5,1,300)),linkedEditing:nt(new ai(70,"linkedEditing",!1,{description:_("linkedEditing","Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.")})),links:nt(new ai(71,"links",!0,{description:_("links","Controls whether the editor should detect links and make them clickable.")})),matchBrackets:nt(new Rr(72,"matchBrackets","always",["always","near","never"],{description:_("matchBrackets","Highlight matching brackets.")})),minimap:nt(new qpt),mouseStyle:nt(new Rr(74,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:nt(new Rc(75,"mouseWheelScrollSensitivity",1,n=>n===0?1:n,{markdownDescription:_("mouseWheelScrollSensitivity","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:nt(new ai(76,"mouseWheelZoom",!1,{markdownDescription:On?_("mouseWheelZoom.mac","Zoom the font of the editor when using mouse wheel and holding `Cmd`."):_("mouseWheelZoom","Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:nt(new ai(77,"multiCursorMergeOverlapping",!0,{description:_("multiCursorMergeOverlapping","Merge multiple cursors when they are overlapping.")})),multiCursorModifier:nt(new Q9(78,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],ebt,{markdownEnumDescriptions:[_("multiCursorModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),_("multiCursorModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:_({key:"multiCursorModifier",comment:["- `ctrlCmd` refers to a value the setting can take and should not be localized.","- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized."]},"The modifier to be used to add multiple cursors with the mouse. The Go to Definition and Open Link mouse gestures will adapt such that they do not conflict with the [multicursor modifier](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).")})),multiCursorPaste:nt(new Rr(79,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[_("multiCursorPaste.spread","Each cursor pastes a single line of the text."),_("multiCursorPaste.full","Each cursor pastes the full text.")],markdownDescription:_("multiCursorPaste","Controls pasting when the line count of the pasted text matches the cursor count.")})),multiCursorLimit:nt(new Ji(80,"multiCursorLimit",1e4,1,1e5,{markdownDescription:_("multiCursorLimit","Controls the max number of cursors that can be in an active editor at once.")})),occurrencesHighlight:nt(new Rr(81,"occurrencesHighlight","singleFile",["off","singleFile","multiFile"],{markdownEnumDescriptions:[_("occurrencesHighlight.off","Does not highlight occurrences."),_("occurrencesHighlight.singleFile","Highlights occurrences only in the current file."),_("occurrencesHighlight.multiFile","Experimental: Highlights occurrences across all valid open files.")],markdownDescription:_("occurrencesHighlight","Controls whether occurrences should be highlighted across open files.")})),overviewRulerBorder:nt(new ai(82,"overviewRulerBorder",!0,{description:_("overviewRulerBorder","Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:nt(new Ji(83,"overviewRulerLanes",3,0,3)),padding:nt(new tbt),pasteAs:nt(new Cbt),parameterHints:nt(new nbt),peekWidgetDefaultFocus:nt(new Rr(87,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[_("peekWidgetDefaultFocus.tree","Focus the tree when opening peek"),_("peekWidgetDefaultFocus.editor","Focus the editor when opening peek")],description:_("peekWidgetDefaultFocus","Controls whether to focus the inline editor or the tree in the peek widget.")})),definitionLinkOpensInPeek:nt(new ai(88,"definitionLinkOpensInPeek",!1,{description:_("definitionLinkOpensInPeek","Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:nt(new rbt),quickSuggestionsDelay:nt(new Ji(90,"quickSuggestionsDelay",10,0,1073741824,{description:_("quickSuggestionsDelay","Controls the delay in milliseconds after which quick suggestions will show up.")})),readOnly:nt(new ai(91,"readOnly",!1)),readOnlyMessage:nt(new abt),renameOnType:nt(new ai(93,"renameOnType",!1,{description:_("renameOnType","Controls whether the editor auto renames on type."),markdownDeprecationMessage:_("renameOnTypeDeprecate","Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:nt(new ai(94,"renderControlCharacters",!0,{description:_("renderControlCharacters","Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:nt(new Rr(95,"renderFinalNewline",Ja?"dimmed":"on",["off","on","dimmed"],{description:_("renderFinalNewline","Render last line number when the file ends with a newline.")})),renderLineHighlight:nt(new Rr(96,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",_("renderLineHighlight.all","Highlights both the gutter and the current line.")],description:_("renderLineHighlight","Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:nt(new ai(97,"renderLineHighlightOnlyWhenFocus",!1,{description:_("renderLineHighlightOnlyWhenFocus","Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:nt(new Rr(98,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:nt(new Rr(99,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",_("renderWhitespace.boundary","Render whitespace characters except for single spaces between words."),_("renderWhitespace.selection","Render whitespace characters only on selected text."),_("renderWhitespace.trailing","Render only trailing whitespace characters."),""],description:_("renderWhitespace","Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:nt(new Ji(100,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:nt(new ai(101,"roundedSelection",!0,{description:_("roundedSelection","Controls whether selections should have rounded corners.")})),rulers:nt(new sbt),scrollbar:nt(new lbt),scrollBeyondLastColumn:nt(new Ji(104,"scrollBeyondLastColumn",4,0,1073741824,{description:_("scrollBeyondLastColumn","Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:nt(new ai(105,"scrollBeyondLastLine",!0,{description:_("scrollBeyondLastLine","Controls whether the editor will scroll beyond the last line.")})),scrollPredominantAxis:nt(new ai(106,"scrollPredominantAxis",!0,{description:_("scrollPredominantAxis","Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.")})),selectionClipboard:nt(new ai(107,"selectionClipboard",!0,{description:_("selectionClipboard","Controls whether the Linux primary clipboard should be supported."),included:Ja})),selectionHighlight:nt(new ai(108,"selectionHighlight",!0,{description:_("selectionHighlight","Controls whether the editor should highlight matches similar to the selection.")})),selectOnLineNumbers:nt(new ai(109,"selectOnLineNumbers",!0)),showFoldingControls:nt(new Rr(110,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[_("showFoldingControls.always","Always show the folding controls."),_("showFoldingControls.never","Never show the folding controls and reduce the gutter size."),_("showFoldingControls.mouseover","Only show the folding controls when the mouse is over the gutter.")],description:_("showFoldingControls","Controls when the folding controls on the gutter are shown.")})),showUnused:nt(new ai(111,"showUnused",!0,{description:_("showUnused","Controls fading out of unused code.")})),showDeprecated:nt(new ai(140,"showDeprecated",!0,{description:_("showDeprecated","Controls strikethrough deprecated variables.")})),inlayHints:nt(new jpt),snippetSuggestions:nt(new Rr(112,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[_("snippetSuggestions.top","Show snippet suggestions on top of other suggestions."),_("snippetSuggestions.bottom","Show snippet suggestions below other suggestions."),_("snippetSuggestions.inline","Show snippets suggestions with other suggestions."),_("snippetSuggestions.none","Do not show snippet suggestions.")],description:_("snippetSuggestions","Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:nt(new gbt),smoothScrolling:nt(new ai(114,"smoothScrolling",!1,{description:_("smoothScrolling","Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:nt(new Ji(117,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:nt(new fbt),inlineSuggest:nt(new cbt),inlineEdit:nt(new dbt),inlineCompletionsAccessibilityVerbose:nt(new ai(149,"inlineCompletionsAccessibilityVerbose",!1,{description:_("inlineCompletionsAccessibilityVerbose","Controls whether the accessibility hint should be provided to screen reader users when an inline completion is shown.")})),suggestFontSize:nt(new Ji(119,"suggestFontSize",0,0,1e3,{markdownDescription:_("suggestFontSize","Font size for the suggest widget. When set to {0}, the value of {1} is used.","`0`","`#editor.fontSize#`")})),suggestLineHeight:nt(new Ji(120,"suggestLineHeight",0,0,1e3,{markdownDescription:_("suggestLineHeight","Line height for the suggest widget. When set to {0}, the value of {1} is used. The minimum value is 8.","`0`","`#editor.lineHeight#`")})),suggestOnTriggerCharacters:nt(new ai(121,"suggestOnTriggerCharacters",!0,{description:_("suggestOnTriggerCharacters","Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:nt(new Rr(122,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[_("suggestSelection.first","Always select the first suggestion."),_("suggestSelection.recentlyUsed","Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),_("suggestSelection.recentlyUsedByPrefix","Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:_("suggestSelection","Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:nt(new Rr(123,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[_("tabCompletion.on","Tab complete will insert the best matching suggestion when pressing tab."),_("tabCompletion.off","Disable tab completions."),_("tabCompletion.onlySnippets","Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:_("tabCompletion","Enables tab completions.")})),tabIndex:nt(new Ji(124,"tabIndex",0,-1,1073741824)),unicodeHighlight:nt(new ubt),unusualLineTerminators:nt(new Rr(126,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[_("unusualLineTerminators.auto","Unusual line terminators are automatically removed."),_("unusualLineTerminators.off","Unusual line terminators are ignored."),_("unusualLineTerminators.prompt","Unusual line terminators prompt to be removed.")],description:_("unusualLineTerminators","Remove unusual line terminators that might cause problems.")})),useShadowDOM:nt(new ai(127,"useShadowDOM",!0)),useTabStops:nt(new ai(128,"useTabStops",!0,{description:_("useTabStops","Spaces and tabs are inserted and deleted in alignment with tab stops.")})),wordBreak:nt(new Rr(129,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[_("wordBreak.normal","Use the default line break rule."),_("wordBreak.keepAll","Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.")],description:_("wordBreak","Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.")})),wordSegmenterLocales:nt(new pbt),wordSeparators:nt(new nl(131,"wordSeparators",a1e,{description:_("wordSeparators","Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:nt(new Rr(132,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[_("wordWrap.off","Lines will never wrap."),_("wordWrap.on","Lines will wrap at the viewport width."),_({key:"wordWrap.wordWrapColumn",comment:["- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at `#editor.wordWrapColumn#`."),_({key:"wordWrap.bounded",comment:["- viewport means the edge of the visible window size.","- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:_({key:"wordWrap",comment:["- 'off', 'on', 'wordWrapColumn' and 'bounded' refer to values the setting can take and should not be localized.","- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Controls how lines should wrap.")})),wordWrapBreakAfterCharacters:nt(new nl(133,"wordWrapBreakAfterCharacters"," })]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」")),wordWrapBreakBeforeCharacters:nt(new nl(134,"wordWrapBreakBeforeCharacters","([{‘“〈《「『【〔([{「£¥$£¥++")),wordWrapColumn:nt(new Ji(135,"wordWrapColumn",80,1,1073741824,{markdownDescription:_({key:"wordWrapColumn",comment:["- `editor.wordWrap` refers to a different setting and should not be localized.","- 'wordWrapColumn' and 'bounded' refer to values the different setting can take and should not be localized."]},"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:nt(new Rr(136,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:nt(new Rr(137,"wordWrapOverride2","inherit",["off","on","inherit"])),editorClassName:nt(new Xpt),defaultColorDecorators:nt(new ai(147,"defaultColorDecorators",!1,{markdownDescription:_("defaultColorDecorators","Controls whether inline color decorations should be shown using the default document color provider")})),pixelRatio:nt(new ibt),tabFocusMode:nt(new ai(144,"tabFocusMode",!1,{markdownDescription:_("tabFocusMode","Controls whether the editor receives tabs or defers them to the workbench for navigation.")})),layoutInfo:nt(new Ow),wrappingInfo:nt(new ybt),wrappingIndent:nt(new bbt),wrappingStrategy:nt(new Upt)},Zc=new class{constructor(){this._zoomLevel=0,this._onDidChangeZoomLevel=new be,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event}getZoomLevel(){return this._zoomLevel}setZoomLevel(n){n=Math.min(Math.max(-5,n),20),this._zoomLevel!==n&&(this._zoomLevel=n,this._onDidChangeZoomLevel.fire(this._zoomLevel))}},Sbt=On?1.5:1.35,c6=8;class sv{static createFromValidatedSettings(e,t,i){const r=e.get(49),o=e.get(53),s=e.get(52),a=e.get(51),l=e.get(54),u=e.get(67),c=e.get(64);return sv._create(r,o,s,a,l,u,c,t,i)}static _create(e,t,i,r,o,s,a,l,u){s===0?s=Sbt*i:s{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings(e)},5e3))}_evictUntrustedReadings(e){const t=this._ensureCache(e),i=t.getValues();let r=!1;for(const o of i)o.isTrusted||(r=!0,t.remove(o));r&&this._onDidChange.fire()}readFontInfo(e,t){const i=this._ensureCache(e);if(!i.has(t)){let r=this._actualReadFontInfo(e,t);(r.typicalHalfwidthCharacterWidth<=2||r.typicalFullwidthCharacterWidth<=2||r.spaceWidth<=2||r.maxDigitWidth<=2)&&(r=new d6({pixelRatio:pF.getInstance(e).value,fontFamily:r.fontFamily,fontWeight:r.fontWeight,fontSize:r.fontSize,fontFeatureSettings:r.fontFeatureSettings,fontVariationSettings:r.fontVariationSettings,lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,isMonospace:r.isMonospace,typicalHalfwidthCharacterWidth:Math.max(r.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(r.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:r.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(r.spaceWidth,5),middotWidth:Math.max(r.middotWidth,5),wsmiddotWidth:Math.max(r.wsmiddotWidth,5),maxDigitWidth:Math.max(r.maxDigitWidth,5)},!1)),this._writeToCache(e,t,r)}return i.get(t)}_createRequest(e,t,i,r){const o=new Tpt(e,t);return i.push(o),r==null||r.push(o),o}_actualReadFontInfo(e,t){const i=[],r=[],o=this._createRequest("n",0,i,r),s=this._createRequest("m",0,i,null),a=this._createRequest(" ",0,i,r),l=this._createRequest("0",0,i,r),u=this._createRequest("1",0,i,r),c=this._createRequest("2",0,i,r),d=this._createRequest("3",0,i,r),h=this._createRequest("4",0,i,r),m=this._createRequest("5",0,i,r),f=this._createRequest("6",0,i,r),g=this._createRequest("7",0,i,r),b=this._createRequest("8",0,i,r),y=this._createRequest("9",0,i,r),C=this._createRequest("→",0,i,r),w=this._createRequest("→",0,i,null),x=this._createRequest("·",0,i,r),L=this._createRequest("⸱",0,i,null),I="|/-_ilm%";for(let E=0,W=I.length;E.001){N=!1;break}}let R=!0;return N&&w.width!==T&&(R=!1),w.width>C.width&&(R=!1),new d6({pixelRatio:pF.getInstance(e).value,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFeatureSettings:t.fontFeatureSettings,fontVariationSettings:t.fontVariationSettings,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,isMonospace:N,typicalHalfwidthCharacterWidth:o.width,typicalFullwidthCharacterWidth:s.width,canUseHalfwidthRightwardsArrow:R,spaceWidth:a.width,middotWidth:x.width,wsmiddotWidth:L.width,maxDigitWidth:D},!0)}}class _bt{constructor(){this._keys=Object.create(null),this._values=Object.create(null)}has(e){const t=e.getId();return!!this._values[t]}get(e){const t=e.getId();return this._values[t]}put(e,t){const i=e.getId();this._keys[i]=e,this._values[i]=t}remove(e){const t=e.getId();delete this._keys[t],delete this._values[t]}getValues(){return Object.keys(this._keys).map(e=>this._values[e])}}const h6=new xbt;class e0{constructor(e,t){this.key=e,this.migrate=t}apply(e){const t=e0._read(e,this.key),i=o=>e0._read(e,o),r=(o,s)=>e0._write(e,o,s);this.migrate(t,i,r)}static _read(e,t){if(typeof e>"u")return;const i=t.indexOf(".");if(i>=0){const r=t.substring(0,i);return this._read(e[r],t.substring(i+1))}return e[t]}static _write(e,t,i){const r=t.indexOf(".");if(r>=0){const o=t.substring(0,r);e[o]=e[o]||{},this._write(e[o],t.substring(r+1),i);return}e[t]=i}}e0.items=[];function Ah(n,e){e0.items.push(new e0(n,e))}function cu(n,e){Ah(n,(t,i,r)=>{if(typeof t<"u"){for(const[o,s]of e)if(t===o){r(n,s);return}}})}function Lbt(n){e0.items.forEach(e=>e.apply(n))}cu("wordWrap",[[!0,"on"],[!1,"off"]]),cu("lineNumbers",[[!0,"on"],[!1,"off"]]),cu("cursorBlinking",[["visible","solid"]]),cu("renderWhitespace",[[!0,"boundary"],[!1,"none"]]),cu("renderLineHighlight",[[!0,"line"],[!1,"none"]]),cu("acceptSuggestionOnEnter",[[!0,"on"],[!1,"off"]]),cu("tabCompletion",[[!1,"off"],[!0,"onlySnippets"]]),cu("hover",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),cu("parameterHints",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),cu("autoIndent",[[!1,"advanced"],[!0,"full"]]),cu("matchBrackets",[[!0,"always"],[!1,"never"]]),cu("renderFinalNewline",[[!0,"on"],[!1,"off"]]),cu("cursorSmoothCaretAnimation",[[!0,"on"],[!1,"off"]]),cu("occurrencesHighlight",[[!0,"singleFile"],[!1,"off"]]),cu("wordBasedSuggestions",[[!0,"matchingDocuments"],[!1,"off"]]),Ah("autoClosingBrackets",(n,e,t)=>{n===!1&&(t("autoClosingBrackets","never"),typeof e("autoClosingQuotes")>"u"&&t("autoClosingQuotes","never"),typeof e("autoSurround")>"u"&&t("autoSurround","never"))}),Ah("renderIndentGuides",(n,e,t)=>{typeof n<"u"&&(t("renderIndentGuides",void 0),typeof e("guides.indentation")>"u"&&t("guides.indentation",!!n))}),Ah("highlightActiveIndentGuide",(n,e,t)=>{typeof n<"u"&&(t("highlightActiveIndentGuide",void 0),typeof e("guides.highlightActiveIndentation")>"u"&&t("guides.highlightActiveIndentation",!!n))});const Ibt={method:"showMethods",function:"showFunctions",constructor:"showConstructors",deprecated:"showDeprecated",field:"showFields",variable:"showVariables",class:"showClasses",struct:"showStructs",interface:"showInterfaces",module:"showModules",property:"showProperties",event:"showEvents",operator:"showOperators",unit:"showUnits",value:"showValues",constant:"showConstants",enum:"showEnums",enumMember:"showEnumMembers",keyword:"showKeywords",text:"showWords",color:"showColors",file:"showFiles",reference:"showReferences",folder:"showFolders",typeParameter:"showTypeParameters",snippet:"showSnippets"};Ah("suggest.filteredTypes",(n,e,t)=>{if(n&&typeof n=="object"){for(const i of Object.entries(Ibt))n[i[0]]===!1&&typeof e(`suggest.${i[1]}`)>"u"&&t(`suggest.${i[1]}`,!1);t("suggest.filteredTypes",void 0)}}),Ah("quickSuggestions",(n,e,t)=>{if(typeof n=="boolean"){const i=n?"on":"off";t("quickSuggestions",{comments:i,strings:i,other:i})}}),Ah("experimental.stickyScroll.enabled",(n,e,t)=>{typeof n=="boolean"&&(t("experimental.stickyScroll.enabled",void 0),typeof e("stickyScroll.enabled")>"u"&&t("stickyScroll.enabled",n))}),Ah("experimental.stickyScroll.maxLineCount",(n,e,t)=>{typeof n=="number"&&(t("experimental.stickyScroll.maxLineCount",void 0),typeof e("stickyScroll.maxLineCount")>"u"&&t("stickyScroll.maxLineCount",n))}),Ah("codeActionsOnSave",(n,e,t)=>{if(n&&typeof n=="object"){let i=!1;const r={};for(const o of Object.entries(n))typeof o[1]=="boolean"?(i=!0,r[o[0]]=o[1]?"explicit":"never"):r[o[0]]=o[1];i&&t("codeActionsOnSave",r)}}),Ah("codeActionWidget.includeNearbyQuickfixes",(n,e,t)=>{typeof n=="boolean"&&(t("codeActionWidget.includeNearbyQuickfixes",void 0),typeof e("codeActionWidget.includeNearbyQuickFixes")>"u"&&t("codeActionWidget.includeNearbyQuickFixes",n))}),Ah("lightbulb.enabled",(n,e,t)=>{typeof n=="boolean"&&t("lightbulb.enabled",n?void 0:"off")});class Fbt{constructor(){this._tabFocus=!1,this._onDidChangeTabFocus=new be,this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(e){this._tabFocus=e,this._onDidChangeTabFocus.fire(this._tabFocus)}}const Hw=new Fbt,Wc=Un("accessibilityService"),vF=new St("accessibilityModeEnabled",!1);var Dbt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Nbt=function(n,e){return function(t,i){e(t,i,n)}};let m6=class extends Fe{constructor(e,t,i,r){super(),this._accessibilityService=r,this._onDidChange=this._register(new be),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new be),this.onDidChangeFast=this._onDidChangeFast.event,this._isDominatedByLongLines=!1,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._reservedHeight=0,this._glyphMarginDecorationLaneCount=1,this._computeOptionsMemory=new j1e,this.isSimpleWidget=e,this._containerObserver=this._register(new K1e(i,t.dimension)),this._targetWindowId=Qt(i).vscodeWindowId,this._rawOptions=$1e(t),this._validatedOptions=t0.validateOptions(this._rawOptions),this.options=this._computeOptions(),this.options.get(13)&&this._containerObserver.startObserving(),this._register(Zc.onDidChangeZoomLevel(()=>this._recomputeOptions())),this._register(Hw.onDidChangeTabFocus(()=>this._recomputeOptions())),this._register(this._containerObserver.onDidChange(()=>this._recomputeOptions())),this._register(h6.onDidChange(()=>this._recomputeOptions())),this._register(pF.getInstance(Qt(i)).onDidChange(()=>this._recomputeOptions())),this._register(this._accessibilityService.onDidChangeScreenReaderOptimized(()=>this._recomputeOptions()))}_recomputeOptions(){const e=this._computeOptions(),t=t0.checkEquals(this.options,e);t!==null&&(this.options=e,this._onDidChangeFast.fire(t),this._onDidChange.fire(t))}_computeOptions(){const e=this._readEnvConfiguration(),t=sv.createFromValidatedSettings(this._validatedOptions,e.pixelRatio,this.isSimpleWidget),i=this._readFontInfo(t),r={memory:this._computeOptionsMemory,outerWidth:e.outerWidth,outerHeight:e.outerHeight-this._reservedHeight,fontInfo:i,extraEditorClassName:e.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:e.emptySelectionClipboard,pixelRatio:e.pixelRatio,tabFocusMode:Hw.getTabFocusMode(),accessibilitySupport:e.accessibilitySupport,glyphMarginDecorationLaneCount:this._glyphMarginDecorationLaneCount};return t0.computeOptions(this._validatedOptions,r)}_readEnvConfiguration(){return{extraEditorClassName:kbt(),outerWidth:this._containerObserver.getWidth(),outerHeight:this._containerObserver.getHeight(),emptySelectionClipboard:Xy||Ic,pixelRatio:pF.getInstance(F0e(this._targetWindowId,!0).window).value,accessibilitySupport:this._accessibilityService.isScreenReaderOptimized()?2:this._accessibilityService.getAccessibilitySupport()}}_readFontInfo(e){return h6.readFontInfo(F0e(this._targetWindowId,!0).window,e)}getRawOptions(){return this._rawOptions}updateOptions(e){const t=$1e(e);t0.applyUpdate(this._rawOptions,t)&&(this._validatedOptions=t0.validateOptions(this._rawOptions),this._recomputeOptions())}observeContainer(e){this._containerObserver.observe(e)}setIsDominatedByLongLines(e){this._isDominatedByLongLines!==e&&(this._isDominatedByLongLines=e,this._recomputeOptions())}setModelLineCount(e){const t=Mbt(e);this._lineNumbersDigitCount!==t&&(this._lineNumbersDigitCount=t,this._recomputeOptions())}setViewLineCount(e){this._viewLineCount!==e&&(this._viewLineCount=e,this._recomputeOptions())}setReservedHeight(e){this._reservedHeight!==e&&(this._reservedHeight=e,this._recomputeOptions())}setGlyphMarginDecorationLaneCount(e){this._glyphMarginDecorationLaneCount!==e&&(this._glyphMarginDecorationLaneCount=e,this._recomputeOptions())}};m6=Dbt([Nbt(3,Wc)],m6);function Mbt(n){let e=0;for(;n;)n=Math.floor(n/10),e++;return e||1}function kbt(){let n="";return!Sg&&!ybe&&(n+="no-user-select "),Sg&&(n+="no-minimap-shadow ",n+="enable-user-select "),On&&(n+="mac "),n}class Tbt{constructor(){this._values=[]}_read(e){return this._values[e]}get(e){return this._values[e]}_write(e,t){this._values[e]=t}}class Ebt{constructor(){this._values=[]}_read(e){if(e>=this._values.length)throw new Error("Cannot read uninitialized value");return this._values[e]}get(e){return this._read(e)}_write(e,t){this._values[e]=t}}class t0{static validateOptions(e){const t=new Tbt;for(const i of zw){const r=i.name==="_never_"?void 0:e[i.name];t._write(i.id,i.validate(r))}return t}static computeOptions(e,t){const i=new Ebt;for(const r of zw)i._write(r.id,r.compute(t,i,e._read(r.id)));return i}static _deepEquals(e,t){if(typeof e!="object"||typeof t!="object"||!e||!t)return e===t;if(Array.isArray(e)||Array.isArray(t))return Array.isArray(e)&&Array.isArray(t)?Nr(e,t):!1;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const i in e)if(!t0._deepEquals(e[i],t[i]))return!1;return!0}static checkEquals(e,t){const i=[];let r=!1;for(const o of zw){const s=!t0._deepEquals(e._read(o.id),t._read(o.id));i[o.id]=s,s&&(r=!0)}return r?new J1e(i):null}static applyUpdate(e,t){let i=!1;for(const r of zw)if(t.hasOwnProperty(r.name)){const o=r.applyUpdate(e[r.name],t[r.name]);e[r.name]=o.newValue,i=i||o.didChange}return i}}function $1e(n){const e=Vg(n);return Lbt(e),e}var n0;(function(n){const e={total:0,min:Number.MAX_VALUE,max:0},t={...e},i={...e},r={...e};let o=0;const s={keydown:0,input:0,render:0};function a(){y(),performance.mark("inputlatency/start"),performance.mark("keydown/start"),s.keydown=1,queueMicrotask(l)}n.onKeyDown=a;function l(){s.keydown===1&&(performance.mark("keydown/end"),s.keydown=2)}function u(){performance.mark("input/start"),s.input=1,b()}n.onBeforeInput=u;function c(){s.input===0&&u(),queueMicrotask(d)}n.onInput=c;function d(){s.input===1&&(performance.mark("input/end"),s.input=2)}function h(){y()}n.onKeyUp=h;function m(){y()}n.onSelectionChange=m;function f(){s.keydown===2&&s.input===2&&s.render===0&&(performance.mark("render/start"),s.render=1,queueMicrotask(g),b())}n.onRenderStart=f;function g(){s.render===1&&(performance.mark("render/end"),s.render=2)}function b(){setTimeout(y)}function y(){s.keydown===2&&s.input===2&&s.render===2&&(performance.mark("inputlatency/end"),performance.measure("keydown","keydown/start","keydown/end"),performance.measure("input","input/start","input/end"),performance.measure("render","render/start","render/end"),performance.measure("inputlatency","inputlatency/start","inputlatency/end"),C("keydown",e),C("input",t),C("render",i),C("inputlatency",r),o++,w())}function C(D,N){const T=performance.getEntriesByName(D)[0].duration;N.total+=T,N.min=Math.min(N.min,T),N.max=Math.max(N.max,T)}function w(){performance.clearMarks("keydown/start"),performance.clearMarks("keydown/end"),performance.clearMarks("input/start"),performance.clearMarks("input/end"),performance.clearMarks("render/start"),performance.clearMarks("render/end"),performance.clearMarks("inputlatency/start"),performance.clearMarks("inputlatency/end"),performance.clearMeasures("keydown"),performance.clearMeasures("input"),performance.clearMeasures("render"),performance.clearMeasures("inputlatency"),s.keydown=0,s.input=0,s.render=0}function x(){if(o===0)return;const D={keydown:L(e),input:L(t),render:L(i),total:L(r),sampleCount:o};return I(e),I(t),I(i),I(r),o=0,D}n.getAndClearMeasurements=x;function L(D){return{average:D.total/o,max:D.max,min:D.min}}function I(D){D.total=0,D.min=Number.MAX_VALUE,D.max=0}})(n0||(n0={}));class Yw{constructor(){this._hooks=new Je,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(e,t){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;const i=this._onStopCallback;this._onStopCallback=null,e&&i&&i(t)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(e,t,i,r,o){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=r,this._onStopCallback=o;let s=e;try{e.setPointerCapture(t),this._hooks.add(jt(()=>{try{e.releasePointerCapture(t)}catch{}}))}catch{s=Qt(e)}this._hooks.add(Ve(s,ot.POINTER_MOVE,a=>{if(a.buttons!==i){this.stopMonitoring(!0);return}a.preventDefault(),this._pointerMoveCallback(a)})),this._hooks.add(Ve(s,ot.POINTER_UP,a=>this.stopMonitoring(!0)))}}function i0(n,e){const t=Math.pow(10,e);return Math.round(n*t)/t}class ni{constructor(e,t,i,r=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,e))|0,this.g=Math.min(255,Math.max(0,t))|0,this.b=Math.min(255,Math.max(0,i))|0,this.a=i0(Math.max(Math.min(1,r),0),3)}static equals(e,t){return e.r===t.r&&e.g===t.g&&e.b===t.b&&e.a===t.a}}class Md{constructor(e,t,i,r){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=i0(Math.max(Math.min(1,t),0),3),this.l=i0(Math.max(Math.min(1,i),0),3),this.a=i0(Math.max(Math.min(1,r),0),3)}static equals(e,t){return e.h===t.h&&e.s===t.s&&e.l===t.l&&e.a===t.a}static fromRGBA(e){const t=e.r/255,i=e.g/255,r=e.b/255,o=e.a,s=Math.max(t,i,r),a=Math.min(t,i,r);let l=0,u=0;const c=(a+s)/2,d=s-a;if(d>0){switch(u=Math.min(c<=.5?d/(2*c):d/(2-2*c),1),s){case t:l=(i-r)/d+(i1&&(i-=1),i<1/6?e+(t-e)*6*i:i<1/2?t:i<2/3?e+(t-e)*(2/3-i)*6:e}static toRGBA(e){const t=e.h/360,{s:i,l:r,a:o}=e;let s,a,l;if(i===0)s=a=l=r;else{const u=r<.5?r*(1+i):r+i-r*i,c=2*r-u;s=Md._hue2rgb(c,u,t+1/3),a=Md._hue2rgb(c,u,t),l=Md._hue2rgb(c,u,t-1/3)}return new ni(Math.round(s*255),Math.round(a*255),Math.round(l*255),o)}}class Qm{constructor(e,t,i,r){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=i0(Math.max(Math.min(1,t),0),3),this.v=i0(Math.max(Math.min(1,i),0),3),this.a=i0(Math.max(Math.min(1,r),0),3)}static equals(e,t){return e.h===t.h&&e.s===t.s&&e.v===t.v&&e.a===t.a}static fromRGBA(e){const t=e.r/255,i=e.g/255,r=e.b/255,o=Math.max(t,i,r),s=Math.min(t,i,r),a=o-s,l=o===0?0:a/o;let u;return a===0?u=0:o===t?u=((i-r)/a%6+6)%6:o===i?u=(r-t)/a+2:u=(t-i)/a+4,new Qm(Math.round(u*60),l,o,e.a)}static toRGBA(e){const{h:t,s:i,v:r,a:o}=e,s=r*i,a=s*(1-Math.abs(t/60%2-1)),l=r-s;let[u,c,d]=[0,0,0];return t<60?(u=s,c=a):t<120?(u=a,c=s):t<180?(c=s,d=a):t<240?(c=a,d=s):t<300?(u=a,d=s):t<=360&&(u=s,d=a),u=Math.round((u+l)*255),c=Math.round((c+l)*255),d=Math.round((d+l)*255),new ni(u,c,d,o)}}let Re=class qd{static fromHex(e){return qd.Format.CSS.parseHex(e)||qd.red}static equals(e,t){return!e&&!t?!0:!e||!t?!1:e.equals(t)}get hsla(){return this._hsla?this._hsla:Md.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:Qm.fromRGBA(this.rgba)}constructor(e){if(e)if(e instanceof ni)this.rgba=e;else if(e instanceof Md)this._hsla=e,this.rgba=Md.toRGBA(e);else if(e instanceof Qm)this._hsva=e,this.rgba=Qm.toRGBA(e);else throw new Error("Invalid color ctor argument");else throw new Error("Color needs a value")}equals(e){return!!e&&ni.equals(this.rgba,e.rgba)&&Md.equals(this.hsla,e.hsla)&&Qm.equals(this.hsva,e.hsva)}getRelativeLuminance(){const e=qd._relativeLuminanceForComponent(this.rgba.r),t=qd._relativeLuminanceForComponent(this.rgba.g),i=qd._relativeLuminanceForComponent(this.rgba.b),r=.2126*e+.7152*t+.0722*i;return i0(r,4)}static _relativeLuminanceForComponent(e){const t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3>=128}isLighterThan(e){const t=this.getRelativeLuminance(),i=e.getRelativeLuminance();return t>i}isDarkerThan(e){const t=this.getRelativeLuminance(),i=e.getRelativeLuminance();return t[0-9a-fA-f]{3}[0-9a-eA-E])|(?:[0-9a-fA-F]{6}(?:(?![fF]{2})(?:[0-9a-fA-F]{2}))))?$",a.patternErrorMessage="This color must be transparent or it will obscure content"),this.colorSchema.properties[e]=a,this.colorReferenceSchema.enum.push(e),this.colorReferenceSchema.enumDescriptions.push(i),this._onDidChangeSchema.fire(),e}getColors(){return Object.keys(this.colorsById).map(e=>this.colorsById[e])}resolveDefaultColor(e,t){const i=this.colorsById[e];if(i&&i.defaults){const r=i.defaults[t.type];return Gh(r,t)}}getColorSchema(){return this.colorSchema}toString(){const e=(t,i)=>{const r=t.indexOf(".")===-1?0:1,o=i.indexOf(".")===-1?0:1;return r!==o?r-o:t.localeCompare(i)};return Object.keys(this.colorsById).sort(e).map(t=>`- \`${t}\`: ${this.colorsById[t].description}`).join(` +`)}}const q9=new Zbt;Do.add(q1e.ColorContribution,q9);function re(n,e,t,i,r){return q9.registerColor(n,e,t,i,r)}function Wbt(n,e){var t,i,r,o;switch(n.op){case 0:return(t=Gh(n.value,e))===null||t===void 0?void 0:t.darken(n.factor);case 1:return(i=Gh(n.value,e))===null||i===void 0?void 0:i.lighten(n.factor);case 2:return(r=Gh(n.value,e))===null||r===void 0?void 0:r.transparent(n.factor);case 3:{const s=Gh(n.background,e);return s?(o=Gh(n.value,e))===null||o===void 0?void 0:o.makeOpaque(s):Gh(n.value,e)}case 4:for(const s of n.values){const a=Gh(s,e);if(a)return a}return;case 6:return Gh(e.defines(n.if)?n.then:n.else,e);case 5:{const s=Gh(n.value,e);if(!s)return;const a=Gh(n.background,e);return a?s.isDarkerThan(a)?Re.getLighterColor(s,a,n.factor).transparent(n.transparency):Re.getDarkerColor(s,a,n.factor).transparent(n.transparency):s.transparent(n.factor*n.transparency)}default:throw x9()}}function av(n,e){return{op:0,value:n,factor:e}}function Vh(n,e){return{op:1,value:n,factor:e}}function zt(n,e){return{op:2,value:n,factor:e}}function CF(...n){return{op:4,values:n}}function Abt(n,e,t){return{op:6,if:n,then:e,else:t}}function eye(n,e,t,i){return{op:5,value:n,background:e,factor:t,transparency:i}}function Gh(n,e){if(n!==null){if(typeof n=="string")return n[0]==="#"?Re.fromHex(n):e.getColor(n);if(n instanceof Re)return n;if(typeof n=="object")return Wbt(n,e)}}const tye="vscode://schemas/workbench-colors",nye=Do.as(B9.JSONContribution);nye.registerSchema(tye,q9.getColorSchema());const iye=new Wi(()=>nye.notifySchemaChanged(tye),200);q9.onDidChangeSchema(()=>{iye.isScheduled()||iye.schedule()});const at=re("foreground",{dark:"#CCCCCC",light:"#616161",hcDark:"#FFFFFF",hcLight:"#292929"},_("foreground","Overall foreground color. This color is only used if not overridden by a component."));re("disabledForeground",{dark:"#CCCCCC80",light:"#61616180",hcDark:"#A5A5A5",hcLight:"#7F7F7F"},_("disabledForeground","Overall foreground for disabled elements. This color is only used if not overridden by a component.")),re("errorForeground",{dark:"#F48771",light:"#A1260D",hcDark:"#F48771",hcLight:"#B5200D"},_("errorForeground","Overall foreground color for error messages. This color is only used if not overridden by a component.")),re("descriptionForeground",{light:"#717171",dark:zt(at,.7),hcDark:zt(at,.7),hcLight:zt(at,.7)},_("descriptionForeground","Foreground color for description text providing additional information, for example for a label."));const $m=re("icon.foreground",{dark:"#C5C5C5",light:"#424242",hcDark:"#FFFFFF",hcLight:"#292929"},_("iconForeground","The default color for icons in the workbench.")),Ac=re("focusBorder",{dark:"#007FD4",light:"#0090F1",hcDark:"#F38518",hcLight:"#006BBD"},_("focusBorder","Overall border color for focused elements. This color is only used if not overridden by a component.")),Kn=re("contrastBorder",{light:null,dark:null,hcDark:"#6FC3DF",hcLight:"#0F4A85"},_("contrastBorder","An extra border around elements to separate them from others for greater contrast.")),mr=re("contrastActiveBorder",{light:null,dark:null,hcDark:Ac,hcLight:Ac},_("activeContrastBorder","An extra border around active elements to separate them from others for greater contrast."));re("selection.background",{light:null,dark:null,hcDark:null,hcLight:null},_("selectionBackground","The background color of text selections in the workbench (e.g. for input fields or text areas). Note that this does not apply to selections within the editor."));const Vbt=re("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},_("textLinkForeground","Foreground color for links in text."));re("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},_("textLinkActiveForeground","Foreground color for links in text when clicked on and on mouse hover.")),re("textSeparator.foreground",{light:"#0000002e",dark:"#ffffff2e",hcDark:Re.black,hcLight:"#292929"},_("textSeparatorForeground","Color for text separators.")),re("textPreformat.foreground",{light:"#A31515",dark:"#D7BA7D",hcDark:"#000000",hcLight:"#FFFFFF"},_("textPreformatForeground","Foreground color for preformatted text segments.")),re("textPreformat.background",{light:"#0000001A",dark:"#FFFFFF1A",hcDark:"#FFFFFF",hcLight:"#09345f"},_("textPreformatBackground","Background color for preformatted text segments.")),re("textBlockQuote.background",{light:"#f2f2f2",dark:"#222222",hcDark:null,hcLight:"#F2F2F2"},_("textBlockQuoteBackground","Background color for block quotes in text.")),re("textBlockQuote.border",{light:"#007acc80",dark:"#007acc80",hcDark:Re.white,hcLight:"#292929"},_("textBlockQuoteBorder","Border color for block quotes in text.")),re("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hcDark:Re.black,hcLight:"#F2F2F2"},_("textCodeBlockBackground","Background color for code blocks in text.")),re("sash.hoverBorder",{dark:Ac,light:Ac,hcDark:Ac,hcLight:Ac},_("sashActiveBorder","Border color of active sashes."));const eZ=re("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hcDark:Re.black,hcLight:"#0F4A85"},_("badgeBackground","Badge background color. Badges are small information labels, e.g. for search results count.")),Gbt=re("badge.foreground",{dark:Re.white,light:"#333",hcDark:Re.white,hcLight:Re.white},_("badgeForeground","Badge foreground color. Badges are small information labels, e.g. for search results count.")),SF=re("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hcDark:null,hcLight:null},_("scrollbarShadow","Scrollbar shadow to indicate that the view is scrolled.")),wF=re("scrollbarSlider.background",{dark:Re.fromHex("#797979").transparent(.4),light:Re.fromHex("#646464").transparent(.4),hcDark:zt(Kn,.6),hcLight:zt(Kn,.4)},_("scrollbarSliderBackground","Scrollbar slider background color.")),xF=re("scrollbarSlider.hoverBackground",{dark:Re.fromHex("#646464").transparent(.7),light:Re.fromHex("#646464").transparent(.7),hcDark:zt(Kn,.8),hcLight:zt(Kn,.8)},_("scrollbarSliderHoverBackground","Scrollbar slider background color when hovering.")),_F=re("scrollbarSlider.activeBackground",{dark:Re.fromHex("#BFBFBF").transparent(.4),light:Re.fromHex("#000000").transparent(.6),hcDark:Kn,hcLight:Kn},_("scrollbarSliderActiveBackground","Scrollbar slider background color when clicked on.")),Xbt=re("progressBar.background",{dark:Re.fromHex("#0E70C0"),light:Re.fromHex("#0E70C0"),hcDark:Kn,hcLight:Kn},_("progressBarBackground","Background color of the progress bar that can show for long running operations.")),as=re("editor.background",{light:"#ffffff",dark:"#1E1E1E",hcDark:Re.black,hcLight:Re.white},_("editorBackground","Editor background color.")),Vc=re("editor.foreground",{light:"#333333",dark:"#BBBBBB",hcDark:Re.white,hcLight:at},_("editorForeground","Editor default foreground color."));re("editorStickyScroll.background",{light:as,dark:as,hcDark:as,hcLight:as},_("editorStickyScrollBackground","Background color of sticky scroll in the editor")),re("editorStickyScrollHover.background",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:null,hcLight:Re.fromHex("#0F4A85").transparent(.1)},_("editorStickyScrollHoverBackground","Background color of sticky scroll on hover in the editor")),re("editorStickyScroll.border",{dark:null,light:null,hcDark:Kn,hcLight:Kn},_("editorStickyScrollBorder","Border color of sticky scroll in the editor")),re("editorStickyScroll.shadow",{dark:SF,light:SF,hcDark:SF,hcLight:SF},_("editorStickyScrollShadow"," Shadow color of sticky scroll in the editor"));const no=re("editorWidget.background",{dark:"#252526",light:"#F3F3F3",hcDark:"#0C141F",hcLight:Re.white},_("editorWidgetBackground","Background color of editor widgets, such as find/replace.")),Gg=re("editorWidget.foreground",{dark:at,light:at,hcDark:at,hcLight:at},_("editorWidgetForeground","Foreground color of editor widgets, such as find/replace.")),Xg=re("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hcDark:Kn,hcLight:Kn},_("editorWidgetBorder","Border color of editor widgets. The color is only used if the widget chooses to have a border and if the color is not overridden by a widget."));re("editorWidget.resizeBorder",{light:null,dark:null,hcDark:null,hcLight:null},_("editorWidgetResizeBorder","Border color of the resize bar of editor widgets. The color is only used if the widget chooses to have a resize border and if the color is not overridden by a widget.")),re("editorError.background",{dark:null,light:null,hcDark:null,hcLight:null},_("editorError.background","Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0);const qm=re("editorError.foreground",{dark:"#F14C4C",light:"#E51400",hcDark:"#F48771",hcLight:"#B5200D"},_("editorError.foreground","Foreground color of error squigglies in the editor.")),Pbt=re("editorError.border",{dark:null,light:null,hcDark:Re.fromHex("#E47777").transparent(.8),hcLight:"#B5200D"},_("errorBorder","If set, color of double underlines for errors in the editor.")),tZ=re("editorWarning.background",{dark:null,light:null,hcDark:null,hcLight:null},_("editorWarning.background","Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),Fa=re("editorWarning.foreground",{dark:"#CCA700",light:"#BF8803",hcDark:"#FFD370",hcLight:"#895503"},_("editorWarning.foreground","Foreground color of warning squigglies in the editor.")),LF=re("editorWarning.border",{dark:null,light:null,hcDark:Re.fromHex("#FFCC00").transparent(.8),hcLight:Re.fromHex("#FFCC00").transparent(.8)},_("warningBorder","If set, color of double underlines for warnings in the editor."));re("editorInfo.background",{dark:null,light:null,hcDark:null,hcLight:null},_("editorInfo.background","Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0);const Gl=re("editorInfo.foreground",{dark:"#3794FF",light:"#1a85ff",hcDark:"#3794FF",hcLight:"#1a85ff"},_("editorInfo.foreground","Foreground color of info squigglies in the editor.")),IF=re("editorInfo.border",{dark:null,light:null,hcDark:Re.fromHex("#3794FF").transparent(.8),hcLight:"#292929"},_("infoBorder","If set, color of double underlines for infos in the editor.")),Obt=re("editorHint.foreground",{dark:Re.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hcDark:null,hcLight:null},_("editorHint.foreground","Foreground color of hint squigglies in the editor."));re("editorHint.border",{dark:null,light:null,hcDark:Re.fromHex("#eeeeee").transparent(.8),hcLight:"#292929"},_("hintBorder","If set, color of double underlines for hints in the editor."));const Bbt=re("editorLink.activeForeground",{dark:"#4E94CE",light:Re.blue,hcDark:Re.cyan,hcLight:"#292929"},_("activeLinkForeground","Color of active links.")),r0=re("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hcDark:"#f3f518",hcLight:"#0F4A85"},_("editorSelectionBackground","Color of the editor selection.")),zbt=re("editor.selectionForeground",{light:null,dark:null,hcDark:"#000000",hcLight:Re.white},_("editorSelectionForeground","Color of the selected text for high contrast.")),rye=re("editor.inactiveSelectionBackground",{light:zt(r0,.5),dark:zt(r0,.5),hcDark:zt(r0,.7),hcLight:zt(r0,.5)},_("editorInactiveSelection","Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations."),!0),g6=re("editor.selectionHighlightBackground",{light:eye(r0,as,.3,.6),dark:eye(r0,as,.3,.6),hcDark:null,hcLight:null},_("editorSelectionHighlight","Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations."),!0);re("editor.selectionHighlightBorder",{light:null,dark:null,hcDark:mr,hcLight:mr},_("editorSelectionHighlightBorder","Border color for regions with the same content as the selection.")),re("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hcDark:null,hcLight:null},_("editorFindMatch","Color of the current search match."));const Pg=re("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hcDark:null,hcLight:null},_("findMatchHighlight","Color of the other search matches. The color must not be opaque so as not to hide underlying decorations."),!0);re("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hcDark:null,hcLight:null},_("findRangeHighlight","Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),re("editor.findMatchBorder",{light:null,dark:null,hcDark:mr,hcLight:mr},_("editorFindMatchBorder","Border color of the current search match."));const o0=re("editor.findMatchHighlightBorder",{light:null,dark:null,hcDark:mr,hcLight:mr},_("findMatchHighlightBorder","Border color of the other search matches.")),Hbt=re("editor.findRangeHighlightBorder",{dark:null,light:null,hcDark:zt(mr,.4),hcLight:zt(mr,.4)},_("findRangeHighlightBorder","Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0);re("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hcDark:"#ADD6FF26",hcLight:null},_("hoverHighlight","Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations."),!0);const nZ=re("editorHoverWidget.background",{light:no,dark:no,hcDark:no,hcLight:no},_("hoverBackground","Background color of the editor hover."));re("editorHoverWidget.foreground",{light:Gg,dark:Gg,hcDark:Gg,hcLight:Gg},_("hoverForeground","Foreground color of the editor hover."));const oye=re("editorHoverWidget.border",{light:Xg,dark:Xg,hcDark:Xg,hcLight:Xg},_("hoverBorder","Border color of the editor hover."));re("editorHoverWidget.statusBarBackground",{dark:Vh(nZ,.2),light:av(nZ,.05),hcDark:no,hcLight:no},_("statusBarBackground","Background color of the editor hover status bar."));const Og=re("editorInlayHint.foreground",{dark:"#969696",light:"#969696",hcDark:Re.white,hcLight:Re.black},_("editorInlayHintForeground","Foreground color of inline hints")),Bg=re("editorInlayHint.background",{dark:zt(eZ,.1),light:zt(eZ,.1),hcDark:zt(Re.white,.1),hcLight:zt(eZ,.1)},_("editorInlayHintBackground","Background color of inline hints")),Ybt=re("editorInlayHint.typeForeground",{dark:Og,light:Og,hcDark:Og,hcLight:Og},_("editorInlayHintForegroundTypes","Foreground color of inline hints for types")),Ubt=re("editorInlayHint.typeBackground",{dark:Bg,light:Bg,hcDark:Bg,hcLight:Bg},_("editorInlayHintBackgroundTypes","Background color of inline hints for types")),Kbt=re("editorInlayHint.parameterForeground",{dark:Og,light:Og,hcDark:Og,hcLight:Og},_("editorInlayHintForegroundParameter","Foreground color of inline hints for parameters")),Jbt=re("editorInlayHint.parameterBackground",{dark:Bg,light:Bg,hcDark:Bg,hcLight:Bg},_("editorInlayHintBackgroundParameter","Background color of inline hints for parameters")),iZ=re("editorLightBulb.foreground",{dark:"#FFCC00",light:"#DDB100",hcDark:"#FFCC00",hcLight:"#007ACC"},_("editorLightBulbForeground","The color used for the lightbulb actions icon."));re("editorLightBulbAutoFix.foreground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},_("editorLightBulbAutoFixForeground","The color used for the lightbulb auto fix actions icon.")),re("editorLightBulbAi.foreground",{dark:iZ,light:iZ,hcDark:iZ,hcLight:iZ},_("editorLightBulbAiForeground","The color used for the lightbulb AI icon.")),re("editor.snippetTabstopHighlightBackground",{dark:new Re(new ni(124,124,124,.3)),light:new Re(new ni(10,50,100,.2)),hcDark:new Re(new ni(124,124,124,.3)),hcLight:new Re(new ni(10,50,100,.2))},_("snippetTabstopHighlightBackground","Highlight background color of a snippet tabstop.")),re("editor.snippetTabstopHighlightBorder",{dark:null,light:null,hcDark:null,hcLight:null},_("snippetTabstopHighlightBorder","Highlight border color of a snippet tabstop.")),re("editor.snippetFinalTabstopHighlightBackground",{dark:null,light:null,hcDark:null,hcLight:null},_("snippetFinalTabstopHighlightBackground","Highlight background color of the final tabstop of a snippet.")),re("editor.snippetFinalTabstopHighlightBorder",{dark:"#525252",light:new Re(new ni(10,50,100,.5)),hcDark:"#525252",hcLight:"#292929"},_("snippetFinalTabstopHighlightBorder","Highlight border color of the final tabstop of a snippet."));const p6=new Re(new ni(155,185,85,.2)),b6=new Re(new ni(255,0,0,.2)),jbt=re("diffEditor.insertedTextBackground",{dark:"#9ccc2c33",light:"#9ccc2c40",hcDark:null,hcLight:null},_("diffEditorInserted","Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),Qbt=re("diffEditor.removedTextBackground",{dark:"#ff000033",light:"#ff000033",hcDark:null,hcLight:null},_("diffEditorRemoved","Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations."),!0);re("diffEditor.insertedLineBackground",{dark:p6,light:p6,hcDark:null,hcLight:null},_("diffEditorInsertedLines","Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),re("diffEditor.removedLineBackground",{dark:b6,light:b6,hcDark:null,hcLight:null},_("diffEditorRemovedLines","Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),re("diffEditorGutter.insertedLineBackground",{dark:null,light:null,hcDark:null,hcLight:null},_("diffEditorInsertedLineGutter","Background color for the margin where lines got inserted.")),re("diffEditorGutter.removedLineBackground",{dark:null,light:null,hcDark:null,hcLight:null},_("diffEditorRemovedLineGutter","Background color for the margin where lines got removed."));const $bt=re("diffEditorOverview.insertedForeground",{dark:null,light:null,hcDark:null,hcLight:null},_("diffEditorOverviewInserted","Diff overview ruler foreground for inserted content.")),qbt=re("diffEditorOverview.removedForeground",{dark:null,light:null,hcDark:null,hcLight:null},_("diffEditorOverviewRemoved","Diff overview ruler foreground for removed content."));re("diffEditor.insertedTextBorder",{dark:null,light:null,hcDark:"#33ff2eff",hcLight:"#374E06"},_("diffEditorInsertedOutline","Outline color for the text that got inserted.")),re("diffEditor.removedTextBorder",{dark:null,light:null,hcDark:"#FF008F",hcLight:"#AD0707"},_("diffEditorRemovedOutline","Outline color for text that got removed.")),re("diffEditor.border",{dark:null,light:null,hcDark:Kn,hcLight:Kn},_("diffEditorBorder","Border color between the two text editors.")),re("diffEditor.diagonalFill",{dark:"#cccccc33",light:"#22222233",hcDark:null,hcLight:null},_("diffDiagonalFill","Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views.")),re("diffEditor.unchangedRegionBackground",{dark:"sideBar.background",light:"sideBar.background",hcDark:"sideBar.background",hcLight:"sideBar.background"},_("diffEditor.unchangedRegionBackground","The background color of unchanged blocks in the diff editor.")),re("diffEditor.unchangedRegionForeground",{dark:"foreground",light:"foreground",hcDark:"foreground",hcLight:"foreground"},_("diffEditor.unchangedRegionForeground","The foreground color of unchanged blocks in the diff editor.")),re("diffEditor.unchangedCodeBackground",{dark:"#74747429",light:"#b8b8b829",hcDark:null,hcLight:null},_("diffEditor.unchangedCodeBackground","The background color of unchanged code in the diff editor."));const zg=re("widget.shadow",{dark:zt(Re.black,.36),light:zt(Re.black,.16),hcDark:null,hcLight:null},_("widgetShadow","Shadow color of widgets such as find/replace inside the editor.")),sye=re("widget.border",{dark:null,light:null,hcDark:Kn,hcLight:Kn},_("widgetBorder","Border color of widgets such as find/replace inside the editor.")),aye=re("toolbar.hoverBackground",{dark:"#5a5d5e50",light:"#b8b8b850",hcDark:null,hcLight:null},_("toolbarHoverBackground","Toolbar background when hovering over actions using the mouse"));re("toolbar.hoverOutline",{dark:null,light:null,hcDark:mr,hcLight:mr},_("toolbarHoverOutline","Toolbar outline when hovering over actions using the mouse")),re("toolbar.activeBackground",{dark:Vh(aye,.1),light:av(aye,.1),hcDark:null,hcLight:null},_("toolbarActiveBackground","Toolbar background when holding the mouse over actions"));const e0t=re("breadcrumb.foreground",{light:zt(at,.8),dark:zt(at,.8),hcDark:zt(at,.8),hcLight:zt(at,.8)},_("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),t0t=re("breadcrumb.background",{light:as,dark:as,hcDark:as,hcLight:as},_("breadcrumbsBackground","Background color of breadcrumb items.")),lye=re("breadcrumb.focusForeground",{light:av(at,.2),dark:Vh(at,.1),hcDark:Vh(at,.1),hcLight:Vh(at,.1)},_("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),n0t=re("breadcrumb.activeSelectionForeground",{light:av(at,.2),dark:Vh(at,.1),hcDark:Vh(at,.1),hcLight:Vh(at,.1)},_("breadcrumbsSelectedForeground","Color of selected breadcrumb items."));re("breadcrumbPicker.background",{light:no,dark:no,hcDark:no,hcLight:no},_("breadcrumbsSelectedBackground","Background color of breadcrumb item picker."));const uye=.5,cye=Re.fromHex("#40C8AE").transparent(uye),dye=Re.fromHex("#40A6FF").transparent(uye),hye=Re.fromHex("#606060").transparent(.4),kd=.4,Uw=1,Kw=re("merge.currentHeaderBackground",{dark:cye,light:cye,hcDark:null,hcLight:null},_("mergeCurrentHeaderBackground","Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);re("merge.currentContentBackground",{dark:zt(Kw,kd),light:zt(Kw,kd),hcDark:zt(Kw,kd),hcLight:zt(Kw,kd)},_("mergeCurrentContentBackground","Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const Jw=re("merge.incomingHeaderBackground",{dark:dye,light:dye,hcDark:null,hcLight:null},_("mergeIncomingHeaderBackground","Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);re("merge.incomingContentBackground",{dark:zt(Jw,kd),light:zt(Jw,kd),hcDark:zt(Jw,kd),hcLight:zt(Jw,kd)},_("mergeIncomingContentBackground","Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const jw=re("merge.commonHeaderBackground",{dark:hye,light:hye,hcDark:null,hcLight:null},_("mergeCommonHeaderBackground","Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);re("merge.commonContentBackground",{dark:zt(jw,kd),light:zt(jw,kd),hcDark:zt(jw,kd),hcLight:zt(jw,kd)},_("mergeCommonContentBackground","Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const Qw=re("merge.border",{dark:null,light:null,hcDark:"#C3DF6F",hcLight:"#007ACC"},_("mergeBorder","Border color on headers and the splitter in inline merge-conflicts."));re("editorOverviewRuler.currentContentForeground",{dark:zt(Kw,Uw),light:zt(Kw,Uw),hcDark:Qw,hcLight:Qw},_("overviewRulerCurrentContentForeground","Current overview ruler foreground for inline merge-conflicts.")),re("editorOverviewRuler.incomingContentForeground",{dark:zt(Jw,Uw),light:zt(Jw,Uw),hcDark:Qw,hcLight:Qw},_("overviewRulerIncomingContentForeground","Incoming overview ruler foreground for inline merge-conflicts.")),re("editorOverviewRuler.commonContentForeground",{dark:zt(jw,Uw),light:zt(jw,Uw),hcDark:Qw,hcLight:Qw},_("overviewRulerCommonContentForeground","Common ancestor overview ruler foreground for inline merge-conflicts."));const y6=re("editorOverviewRuler.findMatchForeground",{dark:"#d186167e",light:"#d186167e",hcDark:"#AB5A00",hcLight:""},_("overviewRulerFindMatchForeground","Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations."),!0),FF=re("editorOverviewRuler.selectionHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hcDark:"#A0A0A0CC",hcLight:"#A0A0A0CC"},_("overviewRulerSelectionHighlightForeground","Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations."),!0),i0t=re("problemsErrorIcon.foreground",{dark:qm,light:qm,hcDark:qm,hcLight:qm},_("problemsErrorIconForeground","The color used for the problems error icon.")),r0t=re("problemsWarningIcon.foreground",{dark:Fa,light:Fa,hcDark:Fa,hcLight:Fa},_("problemsWarningIconForeground","The color used for the problems warning icon.")),o0t=re("problemsInfoIcon.foreground",{dark:Gl,light:Gl,hcDark:Gl,hcLight:Gl},_("problemsInfoIconForeground","The color used for the problems info icon.")),$w=re("minimap.findMatchHighlight",{light:"#d18616",dark:"#d18616",hcDark:"#AB5A00",hcLight:"#0F4A85"},_("minimapFindMatchHighlight","Minimap marker color for find matches."),!0),rZ=re("minimap.selectionOccurrenceHighlight",{light:"#c9c9c9",dark:"#676767",hcDark:"#ffffff",hcLight:"#0F4A85"},_("minimapSelectionOccurrenceHighlight","Minimap marker color for repeating editor selections."),!0),mye=re("minimap.selectionHighlight",{light:"#ADD6FF",dark:"#264F78",hcDark:"#ffffff",hcLight:"#0F4A85"},_("minimapSelectionHighlight","Minimap marker color for the editor selection."),!0),s0t=re("minimap.infoHighlight",{dark:Gl,light:Gl,hcDark:IF,hcLight:IF},_("minimapInfo","Minimap marker color for infos.")),a0t=re("minimap.warningHighlight",{dark:Fa,light:Fa,hcDark:LF,hcLight:LF},_("overviewRuleWarning","Minimap marker color for warnings.")),l0t=re("minimap.errorHighlight",{dark:new Re(new ni(255,18,18,.7)),light:new Re(new ni(255,18,18,.7)),hcDark:new Re(new ni(255,50,50,1)),hcLight:"#B5200D"},_("minimapError","Minimap marker color for errors.")),u0t=re("minimap.background",{dark:null,light:null,hcDark:null,hcLight:null},_("minimapBackground","Minimap background color.")),c0t=re("minimap.foregroundOpacity",{dark:Re.fromHex("#000f"),light:Re.fromHex("#000f"),hcDark:Re.fromHex("#000f"),hcLight:Re.fromHex("#000f")},_("minimapForegroundOpacity",'Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.'));re("minimapSlider.background",{light:zt(wF,.5),dark:zt(wF,.5),hcDark:zt(wF,.5),hcLight:zt(wF,.5)},_("minimapSliderBackground","Minimap slider background color.")),re("minimapSlider.hoverBackground",{light:zt(xF,.5),dark:zt(xF,.5),hcDark:zt(xF,.5),hcLight:zt(xF,.5)},_("minimapSliderHoverBackground","Minimap slider background color when hovering.")),re("minimapSlider.activeBackground",{light:zt(_F,.5),dark:zt(_F,.5),hcDark:zt(_F,.5),hcLight:zt(_F,.5)},_("minimapSliderActiveBackground","Minimap slider background color when clicked on.")),re("charts.foreground",{dark:at,light:at,hcDark:at,hcLight:at},_("chartsForeground","The foreground color used in charts.")),re("charts.lines",{dark:zt(at,.5),light:zt(at,.5),hcDark:zt(at,.5),hcLight:zt(at,.5)},_("chartsLines","The color used for horizontal lines in charts.")),re("charts.red",{dark:qm,light:qm,hcDark:qm,hcLight:qm},_("chartsRed","The red color used in chart visualizations.")),re("charts.blue",{dark:Gl,light:Gl,hcDark:Gl,hcLight:Gl},_("chartsBlue","The blue color used in chart visualizations.")),re("charts.yellow",{dark:Fa,light:Fa,hcDark:Fa,hcLight:Fa},_("chartsYellow","The yellow color used in chart visualizations.")),re("charts.orange",{dark:$w,light:$w,hcDark:$w,hcLight:$w},_("chartsOrange","The orange color used in chart visualizations.")),re("charts.green",{dark:"#89D185",light:"#388A34",hcDark:"#89D185",hcLight:"#374e06"},_("chartsGreen","The green color used in chart visualizations.")),re("charts.purple",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},_("chartsPurple","The purple color used in chart visualizations."));const fye=re("input.background",{dark:"#3C3C3C",light:Re.white,hcDark:Re.black,hcLight:Re.white},_("inputBoxBackground","Input box background.")),gye=re("input.foreground",{dark:at,light:at,hcDark:at,hcLight:at},_("inputBoxForeground","Input box foreground.")),pye=re("input.border",{dark:null,light:null,hcDark:Kn,hcLight:Kn},_("inputBoxBorder","Input box border.")),v6=re("inputOption.activeBorder",{dark:"#007ACC",light:"#007ACC",hcDark:Kn,hcLight:Kn},_("inputBoxActiveOptionBorder","Border color of activated options in input fields."));re("inputOption.hoverBackground",{dark:"#5a5d5e80",light:"#b8b8b850",hcDark:null,hcLight:null},_("inputOption.hoverBackground","Background color of activated options in input fields."));const lv=re("inputOption.activeBackground",{dark:zt(Ac,.4),light:zt(Ac,.2),hcDark:Re.transparent,hcLight:Re.transparent},_("inputOption.activeBackground","Background hover color of options in input fields.")),C6=re("inputOption.activeForeground",{dark:Re.white,light:Re.black,hcDark:at,hcLight:at},_("inputOption.activeForeground","Foreground color of activated options in input fields."));re("input.placeholderForeground",{light:zt(at,.5),dark:zt(at,.5),hcDark:zt(at,.7),hcLight:zt(at,.7)},_("inputPlaceholderForeground","Input box foreground color for placeholder text."));const d0t=re("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hcDark:Re.black,hcLight:Re.white},_("inputValidationInfoBackground","Input validation background color for information severity.")),h0t=re("inputValidation.infoForeground",{dark:null,light:null,hcDark:null,hcLight:at},_("inputValidationInfoForeground","Input validation foreground color for information severity.")),m0t=re("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hcDark:Kn,hcLight:Kn},_("inputValidationInfoBorder","Input validation border color for information severity.")),f0t=re("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hcDark:Re.black,hcLight:Re.white},_("inputValidationWarningBackground","Input validation background color for warning severity.")),g0t=re("inputValidation.warningForeground",{dark:null,light:null,hcDark:null,hcLight:at},_("inputValidationWarningForeground","Input validation foreground color for warning severity.")),p0t=re("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hcDark:Kn,hcLight:Kn},_("inputValidationWarningBorder","Input validation border color for warning severity.")),b0t=re("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hcDark:Re.black,hcLight:Re.white},_("inputValidationErrorBackground","Input validation background color for error severity.")),y0t=re("inputValidation.errorForeground",{dark:null,light:null,hcDark:null,hcLight:at},_("inputValidationErrorForeground","Input validation foreground color for error severity.")),v0t=re("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hcDark:Kn,hcLight:Kn},_("inputValidationErrorBorder","Input validation border color for error severity.")),ef=re("dropdown.background",{dark:"#3C3C3C",light:Re.white,hcDark:Re.black,hcLight:Re.white},_("dropdownBackground","Dropdown background.")),C0t=re("dropdown.listBackground",{dark:null,light:null,hcDark:Re.black,hcLight:Re.white},_("dropdownListBackground","Dropdown list background.")),Hg=re("dropdown.foreground",{dark:"#F0F0F0",light:at,hcDark:Re.white,hcLight:at},_("dropdownForeground","Dropdown foreground.")),qw=re("dropdown.border",{dark:ef,light:"#CECECE",hcDark:Kn,hcLight:Kn},_("dropdownBorder","Dropdown border.")),DF=re("button.foreground",{dark:Re.white,light:Re.white,hcDark:Re.white,hcLight:Re.white},_("buttonForeground","Button foreground color.")),S0t=re("button.separator",{dark:zt(DF,.4),light:zt(DF,.4),hcDark:zt(DF,.4),hcLight:zt(DF,.4)},_("buttonSeparator","Button separator color.")),NF=re("button.background",{dark:"#0E639C",light:"#007ACC",hcDark:null,hcLight:"#0F4A85"},_("buttonBackground","Button background color.")),w0t=re("button.hoverBackground",{dark:Vh(NF,.2),light:av(NF,.2),hcDark:NF,hcLight:NF},_("buttonHoverBackground","Button background color when hovering.")),x0t=re("button.border",{dark:Kn,light:Kn,hcDark:Kn,hcLight:Kn},_("buttonBorder","Button border color.")),_0t=re("button.secondaryForeground",{dark:Re.white,light:Re.white,hcDark:Re.white,hcLight:at},_("buttonSecondaryForeground","Secondary button foreground color.")),S6=re("button.secondaryBackground",{dark:"#3A3D41",light:"#5F6A79",hcDark:null,hcLight:Re.white},_("buttonSecondaryBackground","Secondary button background color.")),L0t=re("button.secondaryHoverBackground",{dark:Vh(S6,.2),light:av(S6,.2),hcDark:null,hcLight:null},_("buttonSecondaryHoverBackground","Secondary button background color when hovering.")),I0t=re("checkbox.background",{dark:ef,light:ef,hcDark:ef,hcLight:ef},_("checkbox.background","Background color of checkbox widget."));re("checkbox.selectBackground",{dark:no,light:no,hcDark:no,hcLight:no},_("checkbox.select.background","Background color of checkbox widget when the element it's in is selected."));const F0t=re("checkbox.foreground",{dark:Hg,light:Hg,hcDark:Hg,hcLight:Hg},_("checkbox.foreground","Foreground color of checkbox widget.")),D0t=re("checkbox.border",{dark:qw,light:qw,hcDark:qw,hcLight:qw},_("checkbox.border","Border color of checkbox widget."));re("checkbox.selectBorder",{dark:$m,light:$m,hcDark:$m,hcLight:$m},_("checkbox.select.border","Border color of checkbox widget when the element it's in is selected."));const N0t=re("keybindingLabel.background",{dark:new Re(new ni(128,128,128,.17)),light:new Re(new ni(221,221,221,.4)),hcDark:Re.transparent,hcLight:Re.transparent},_("keybindingLabelBackground","Keybinding label background color. The keybinding label is used to represent a keyboard shortcut.")),M0t=re("keybindingLabel.foreground",{dark:Re.fromHex("#CCCCCC"),light:Re.fromHex("#555555"),hcDark:Re.white,hcLight:at},_("keybindingLabelForeground","Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.")),k0t=re("keybindingLabel.border",{dark:new Re(new ni(51,51,51,.6)),light:new Re(new ni(204,204,204,.4)),hcDark:new Re(new ni(111,195,223)),hcLight:Kn},_("keybindingLabelBorder","Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.")),T0t=re("keybindingLabel.bottomBorder",{dark:new Re(new ni(68,68,68,.6)),light:new Re(new ni(187,187,187,.4)),hcDark:new Re(new ni(111,195,223)),hcLight:at},_("keybindingLabelBottomBorder","Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.")),E0t=re("list.focusBackground",{dark:null,light:null,hcDark:null,hcLight:null},_("listFocusBackground","List/Tree background color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),R0t=re("list.focusForeground",{dark:null,light:null,hcDark:null,hcLight:null},_("listFocusForeground","List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),Z0t=re("list.focusOutline",{dark:Ac,light:Ac,hcDark:mr,hcLight:mr},_("listFocusOutline","List/Tree outline color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),W0t=re("list.focusAndSelectionOutline",{dark:null,light:null,hcDark:null,hcLight:null},_("listFocusAndSelectionOutline","List/Tree outline color for the focused item when the list/tree is active and selected. An active list/tree has keyboard focus, an inactive does not.")),Yg=re("list.activeSelectionBackground",{dark:"#04395E",light:"#0060C0",hcDark:null,hcLight:Re.fromHex("#0F4A85").transparent(.1)},_("listActiveSelectionBackground","List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),tf=re("list.activeSelectionForeground",{dark:Re.white,light:Re.white,hcDark:null,hcLight:null},_("listActiveSelectionForeground","List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),MF=re("list.activeSelectionIconForeground",{dark:null,light:null,hcDark:null,hcLight:null},_("listActiveSelectionIconForeground","List/Tree icon foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),A0t=re("list.inactiveSelectionBackground",{dark:"#37373D",light:"#E4E6F1",hcDark:null,hcLight:Re.fromHex("#0F4A85").transparent(.1)},_("listInactiveSelectionBackground","List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),V0t=re("list.inactiveSelectionForeground",{dark:null,light:null,hcDark:null,hcLight:null},_("listInactiveSelectionForeground","List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),G0t=re("list.inactiveSelectionIconForeground",{dark:null,light:null,hcDark:null,hcLight:null},_("listInactiveSelectionIconForeground","List/Tree icon foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),X0t=re("list.inactiveFocusBackground",{dark:null,light:null,hcDark:null,hcLight:null},_("listInactiveFocusBackground","List/Tree background color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),P0t=re("list.inactiveFocusOutline",{dark:null,light:null,hcDark:null,hcLight:null},_("listInactiveFocusOutline","List/Tree outline color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),bye=re("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:Re.white.transparent(.1),hcLight:Re.fromHex("#0F4A85").transparent(.1)},_("listHoverBackground","List/Tree background when hovering over items using the mouse.")),yye=re("list.hoverForeground",{dark:null,light:null,hcDark:null,hcLight:null},_("listHoverForeground","List/Tree foreground when hovering over items using the mouse.")),O0t=re("list.dropBackground",{dark:"#062F4A",light:"#D6EBFF",hcDark:null,hcLight:null},_("listDropBackground","List/Tree drag and drop background when moving items over other items when using the mouse.")),B0t=re("list.dropBetweenBackground",{dark:$m,light:$m,hcDark:null,hcLight:null},_("listDropBetweenBackground","List/Tree drag and drop border color when moving items between items when using the mouse.")),Td=re("list.highlightForeground",{dark:"#2AAAFF",light:"#0066BF",hcDark:Ac,hcLight:Ac},_("highlight","List/Tree foreground color of the match highlights when searching inside the list/tree.")),oZ=re("list.focusHighlightForeground",{dark:Td,light:Abt(Yg,Td,"#BBE7FF"),hcDark:Td,hcLight:Td},_("listFocusHighlightForeground","List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree."));re("list.invalidItemForeground",{dark:"#B89500",light:"#B89500",hcDark:"#B89500",hcLight:"#B5200D"},_("invalidItemForeground","List/Tree foreground color for invalid items, for example an unresolved root in explorer.")),re("list.errorForeground",{dark:"#F88070",light:"#B01011",hcDark:null,hcLight:null},_("listErrorForeground","Foreground color of list items containing errors.")),re("list.warningForeground",{dark:"#CCA700",light:"#855F00",hcDark:null,hcLight:null},_("listWarningForeground","Foreground color of list items containing warnings."));const z0t=re("listFilterWidget.background",{light:av(no,0),dark:Vh(no,0),hcDark:no,hcLight:no},_("listFilterWidgetBackground","Background color of the type filter widget in lists and trees.")),H0t=re("listFilterWidget.outline",{dark:Re.transparent,light:Re.transparent,hcDark:"#f38518",hcLight:"#007ACC"},_("listFilterWidgetOutline","Outline color of the type filter widget in lists and trees.")),Y0t=re("listFilterWidget.noMatchesOutline",{dark:"#BE1100",light:"#BE1100",hcDark:Kn,hcLight:Kn},_("listFilterWidgetNoMatchesOutline","Outline color of the type filter widget in lists and trees, when there are no matches.")),U0t=re("listFilterWidget.shadow",{dark:zg,light:zg,hcDark:zg,hcLight:zg},_("listFilterWidgetShadow","Shadow color of the type filter widget in lists and trees."));re("list.filterMatchBackground",{dark:Pg,light:Pg,hcDark:null,hcLight:null},_("listFilterMatchHighlight","Background color of the filtered match.")),re("list.filterMatchBorder",{dark:o0,light:o0,hcDark:Kn,hcLight:mr},_("listFilterMatchHighlightBorder","Border color of the filtered match.")),re("list.deemphasizedForeground",{dark:"#8C8C8C",light:"#8E8E90",hcDark:"#A7A8A9",hcLight:"#666666"},_("listDeemphasizedForeground","List/Tree foreground color for items that are deemphasized."));const kF=re("tree.indentGuidesStroke",{dark:"#585858",light:"#a9a9a9",hcDark:"#a9a9a9",hcLight:"#a5a5a5"},_("treeIndentGuidesStroke","Tree stroke color for the indentation guides.")),K0t=re("tree.inactiveIndentGuidesStroke",{dark:zt(kF,.4),light:zt(kF,.4),hcDark:zt(kF,.4),hcLight:zt(kF,.4)},_("treeInactiveIndentGuidesStroke","Tree stroke color for the indentation guides that are not active.")),J0t=re("tree.tableColumnsBorder",{dark:"#CCCCCC20",light:"#61616120",hcDark:null,hcLight:null},_("tableColumnsBorder","Table border color between columns.")),j0t=re("tree.tableOddRowsBackground",{dark:zt(at,.04),light:zt(at,.04),hcDark:null,hcLight:null},_("tableOddRowsBackgroundColor","Background color for odd table rows.")),Q0t=re("menu.border",{dark:null,light:null,hcDark:Kn,hcLight:Kn},_("menuBorder","Border color of menus.")),$0t=re("menu.foreground",{dark:Hg,light:Hg,hcDark:Hg,hcLight:Hg},_("menuForeground","Foreground color of menu items.")),q0t=re("menu.background",{dark:ef,light:ef,hcDark:ef,hcLight:ef},_("menuBackground","Background color of menu items.")),e1t=re("menu.selectionForeground",{dark:tf,light:tf,hcDark:tf,hcLight:tf},_("menuSelectionForeground","Foreground color of the selected menu item in menus.")),t1t=re("menu.selectionBackground",{dark:Yg,light:Yg,hcDark:Yg,hcLight:Yg},_("menuSelectionBackground","Background color of the selected menu item in menus.")),n1t=re("menu.selectionBorder",{dark:null,light:null,hcDark:mr,hcLight:mr},_("menuSelectionBorder","Border color of the selected menu item in menus.")),i1t=re("menu.separatorBackground",{dark:"#606060",light:"#D4D4D4",hcDark:Kn,hcLight:Kn},_("menuSeparatorBackground","Color of a separator menu item in menus.")),vye=re("quickInput.background",{dark:no,light:no,hcDark:no,hcLight:no},_("pickerBackground","Quick picker background color. The quick picker widget is the container for pickers like the command palette.")),r1t=re("quickInput.foreground",{dark:Gg,light:Gg,hcDark:Gg,hcLight:Gg},_("pickerForeground","Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.")),o1t=re("quickInputTitle.background",{dark:new Re(new ni(255,255,255,.105)),light:new Re(new ni(0,0,0,.06)),hcDark:"#000000",hcLight:Re.white},_("pickerTitleBackground","Quick picker title background color. The quick picker widget is the container for pickers like the command palette.")),Cye=re("pickerGroup.foreground",{dark:"#3794FF",light:"#0066BF",hcDark:Re.white,hcLight:"#0F4A85"},_("pickerGroupForeground","Quick picker color for grouping labels.")),s1t=re("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hcDark:Re.white,hcLight:"#0F4A85"},_("pickerGroupBorder","Quick picker color for grouping borders.")),Sye=re("quickInput.list.focusBackground",{dark:null,light:null,hcDark:null,hcLight:null},"",void 0,_("quickInput.list.focusBackground deprecation","Please use quickInputList.focusBackground instead")),s0=re("quickInputList.focusForeground",{dark:tf,light:tf,hcDark:tf,hcLight:tf},_("quickInput.listFocusForeground","Quick picker foreground color for the focused item.")),e2=re("quickInputList.focusIconForeground",{dark:MF,light:MF,hcDark:MF,hcLight:MF},_("quickInput.listFocusIconForeground","Quick picker icon foreground color for the focused item.")),a0=re("quickInputList.focusBackground",{dark:CF(Sye,Yg),light:CF(Sye,Yg),hcDark:null,hcLight:null},_("quickInput.listFocusBackground","Quick picker background color for the focused item."));re("search.resultsInfoForeground",{light:at,dark:zt(at,.65),hcDark:at,hcLight:at},_("search.resultsInfoForeground","Color of the text in the search viewlet's completion message.")),re("searchEditor.findMatchBackground",{light:zt(Pg,.66),dark:zt(Pg,.66),hcDark:Pg,hcLight:Pg},_("searchEditor.queryMatch","Color of the Search Editor query matches.")),re("searchEditor.findMatchBorder",{light:zt(o0,.66),dark:zt(o0,.66),hcDark:o0,hcLight:o0},_("searchEditor.editorFindMatchBorder","Border color of the Search Editor query matches."));class sZ{constructor(e,t){this.x=e,this.y=t,this._pageCoordinatesBrand=void 0}toClientCoordinates(e){return new wye(this.x-e.scrollX,this.y-e.scrollY)}}class wye{constructor(e,t){this.clientX=e,this.clientY=t,this._clientCoordinatesBrand=void 0}toPageCoordinates(e){return new sZ(this.clientX+e.scrollX,this.clientY+e.scrollY)}}class a1t{constructor(e,t,i,r){this.x=e,this.y=t,this.width=i,this.height=r,this._editorPagePositionBrand=void 0}}class l1t{constructor(e,t){this.x=e,this.y=t,this._positionRelativeToEditorBrand=void 0}}function w6(n){const e=po(n);return new a1t(e.left,e.top,e.width,e.height)}function x6(n,e,t){const i=e.width/n.offsetWidth,r=e.height/n.offsetHeight,o=(t.x-e.x)/i,s=(t.y-e.y)/r;return new l1t(o,s)}class l0 extends xd{constructor(e,t,i){super(Qt(i),e),this._editorMouseEventBrand=void 0,this.isFromPointerCapture=t,this.pos=new sZ(this.posx,this.posy),this.editorPos=w6(i),this.relativePos=x6(i,this.editorPos,this.pos)}}class u1t{constructor(e){this._editorViewDomNode=e}_create(e){return new l0(e,!1,this._editorViewDomNode)}onContextMenu(e,t){return Ve(e,"contextmenu",i=>{t(this._create(i))})}onMouseUp(e,t){return Ve(e,"mouseup",i=>{t(this._create(i))})}onMouseDown(e,t){return Ve(e,ot.MOUSE_DOWN,i=>{t(this._create(i))})}onPointerDown(e,t){return Ve(e,ot.POINTER_DOWN,i=>{t(this._create(i),i.pointerId)})}onMouseLeave(e,t){return Ve(e,ot.MOUSE_LEAVE,i=>{t(this._create(i))})}onMouseMove(e,t){return Ve(e,"mousemove",i=>t(this._create(i)))}}class c1t{constructor(e){this._editorViewDomNode=e}_create(e){return new l0(e,!1,this._editorViewDomNode)}onPointerUp(e,t){return Ve(e,"pointerup",i=>{t(this._create(i))})}onPointerDown(e,t){return Ve(e,ot.POINTER_DOWN,i=>{t(this._create(i),i.pointerId)})}onPointerLeave(e,t){return Ve(e,ot.POINTER_LEAVE,i=>{t(this._create(i))})}onPointerMove(e,t){return Ve(e,"pointermove",i=>t(this._create(i)))}}class d1t extends Fe{constructor(e){super(),this._editorViewDomNode=e,this._globalPointerMoveMonitor=this._register(new Yw),this._keydownListener=null}startMonitoring(e,t,i,r,o){this._keydownListener=Gr(e.ownerDocument,"keydown",s=>{s.toKeyCodeChord().isModifierKey()||this._globalPointerMoveMonitor.stopMonitoring(!0,s.browserEvent)},!0),this._globalPointerMoveMonitor.startMonitoring(e,t,i,s=>{r(new l0(s,!0,this._editorViewDomNode))},s=>{this._keydownListener.dispose(),o(s)})}stopMonitoring(){this._globalPointerMoveMonitor.stopMonitoring(!0)}}class TF{constructor(e){this._editor=e,this._instanceId=++TF._idPool,this._counter=0,this._rules=new Map,this._garbageCollectionScheduler=new Wi(()=>this.garbageCollect(),1e3)}createClassNameRef(e){const t=this.getOrCreateRule(e);return t.increaseRefCount(),{className:t.className,dispose:()=>{t.decreaseRefCount(),this._garbageCollectionScheduler.schedule()}}}getOrCreateRule(e){const t=this.computeUniqueKey(e);let i=this._rules.get(t);if(!i){const r=this._counter++;i=new h1t(t,`dyn-rule-${this._instanceId}-${r}`,a9(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0,e),this._rules.set(t,i)}return i}computeUniqueKey(e){return JSON.stringify(e)}garbageCollect(){for(const e of this._rules.values())e.hasReferences()||(this._rules.delete(e.key),e.dispose())}}TF._idPool=0;class h1t{constructor(e,t,i,r){this.key=e,this.className=t,this.properties=r,this._referenceCount=0,this._styleElementDisposables=new Je,this._styleElement=Vu(i,void 0,this._styleElementDisposables),this._styleElement.textContent=this.getCssText(this.className,this.properties)}getCssText(e,t){let i=`.${e} {`;for(const r in t){const o=t[r];let s;typeof o=="object"?s=xt(o.id):s=o;const a=m1t(r);i+=` ${a}: ${s};`}return i+=` -}`,i}dispose(){this._styleElementDisposables.dispose(),this._styleElement=void 0}increaseRefCount(){this._referenceCount++}decreaseRefCount(){this._referenceCount--}hasReferences(){return this._referenceCount>0}}function m1t(n){return n.replace(/(^[A-Z])/,([e])=>e.toLowerCase()).replace(/([A-Z])/g,([e])=>`-${e.toLowerCase()}`)}class EI extends Ie{constructor(){super(),this._shouldRender=!0}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=!0}setShouldRender(){this._shouldRender=!0}onDidRender(){this._shouldRender=!1}onCompositionStart(e){return!1}onCompositionEnd(e){return!1}onConfigurationChanged(e){return!1}onCursorStateChanged(e){return!1}onDecorationsChanged(e){return!1}onFlushed(e){return!1}onFocusChanged(e){return!1}onLanguageConfigurationChanged(e){return!1}onLineMappingChanged(e){return!1}onLinesChanged(e){return!1}onLinesDeleted(e){return!1}onLinesInserted(e){return!1}onRevealRangeRequest(e){return!1}onScrollChanged(e){return!1}onThemeChanged(e){return!1}onTokensChanged(e){return!1}onTokensColorsChanged(e){return!1}onZonesChanged(e){return!1}handleEvents(e){let t=!1;for(let i=0,r=e.length;i=a.left?r.width=Math.max(r.width,a.left+a.width-r.left):(t[i++]=r,r=a)}return t[i++]=r,t}static _createHorizontalRangesFromClientRects(e,t,i){if(!e||e.length===0)return null;const r=[];for(let o=0,s=e.length;ol)return null;if(t=Math.min(l,Math.max(0,t)),r=Math.min(l,Math.max(0,r)),t===r&&i===o&&i===0&&!e.children[t].firstChild){const h=e.children[t].getClientRects();return s.markDidDomLayout(),this._createHorizontalRangesFromClientRects(h,s.clientRectDeltaLeft,s.clientRectScale)}t!==r&&r>0&&o===0&&(r--,o=1073741824);let u=e.children[t].firstChild,c=e.children[r].firstChild;if((!u||!c)&&(!u&&i===0&&t>0&&(u=e.children[t-1].firstChild,i=1073741824),!c&&o===0&&r>0&&(c=e.children[r-1].firstChild,o=1073741824)),!u||!c)return null;i=Math.min(u.textContent.length,Math.max(0,i)),o=Math.min(c.textContent.length,Math.max(0,o));const d=this._readClientRects(u,i,c,o,s.endNode);return s.markDidDomLayout(),this._createHorizontalRangesFromClientRects(d,s.clientRectDeltaLeft,s.clientRectScale)}}class il{constructor(e,t,i,r){this.startColumn=e,this.endColumn=t,this.className=i,this.type=r,this._lineDecorationBrand=void 0}static _equals(e,t){return e.startColumn===t.startColumn&&e.endColumn===t.endColumn&&e.className===t.className&&e.type===t.type}static equalsArr(e,t){const i=e.length,r=t.length;if(i!==r)return!1;for(let o=0;o=o||(a[l++]=new il(Math.max(1,u.startColumn-r+1),Math.min(s+1,u.endColumn-r+1),u.className,u.type));return a}static filter(e,t,i,r){if(e.length===0)return[];const o=[];let s=0;for(let a=0,l=e.length;at||c.isEmpty()&&(u.type===0||u.type===3))continue;const d=c.startLineNumber===t?c.startColumn:i,h=c.endLineNumber===t?c.endColumn:r;o[s++]=new il(d,h,u.inlineClassName,u.type)}return o}static _typeCompare(e,t){const i=[2,0,1,3];return i[e]-i[t]}static compare(e,t){if(e.startColumn!==t.startColumn)return e.startColumn-t.startColumn;if(e.endColumn!==t.endColumn)return e.endColumn-t.endColumn;const i=il._typeCompare(e.type,t.type);return i!==0?i:e.className!==t.className?e.className0&&this.stopOffsets[0]0&&t=e){this.stopOffsets.splice(r,0,e),this.classNames.splice(r,0,t),this.metadata.splice(r,0,i);break}this.count++}}class v1t{static normalize(e,t){if(t.length===0)return[];const i=[],r=new uW;let o=0;for(let s=0,a=t.length;s1){const g=e.charCodeAt(u-2);os(g)&&u--}if(c>1){const g=e.charCodeAt(c-2);os(g)&&c--}const m=u-1,f=c-2;o=r.consumeLowerThan(m,o,i),r.count===0&&(o=m),r.insert(f,d,h)}return r.consumeLowerThan(1073741824,o,i),i}}class vs{constructor(e,t,i,r){this.endIndex=e,this.type=t,this.metadata=i,this.containsRTL=r,this._linePartBrand=void 0}isWhitespace(){return!!(this.metadata&1)}isPseudoAfter(){return!!(this.metadata&4)}}let _ve=class{constructor(e,t){this.startOffset=e,this.endOffset=t}equals(e){return this.startOffset===e.startOffset&&this.endOffset===e.endOffset}};class u0{constructor(e,t,i,r,o,s,a,l,u,c,d,h,m,f,g,b,v,C,S){this.useMonospaceOptimizations=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=i,this.continuesWithWrappedLine=r,this.isBasicASCII=o,this.containsRTL=s,this.fauxIndentLength=a,this.lineTokens=l,this.lineDecorations=u.sort(il.compare),this.tabSize=c,this.startVisibleColumn=d,this.spaceWidth=h,this.stopRenderingLineAfter=g,this.renderWhitespace=b==="all"?4:b==="boundary"?1:b==="selection"?2:b==="trailing"?3:0,this.renderControlCharacters=v,this.fontLigatures=C,this.selectionsOnLine=S&&S.sort((F,D)=>F.startOffset>>16}static getCharIndex(e){return(e&65535)>>>0}constructor(e,t){this.length=e,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}setColumnInfo(e,t,i,r){const o=(t<<16|i<<0)>>>0;this._data[e-1]=o,this._horizontalOffset[e-1]=r}getHorizontalOffset(e){return this._horizontalOffset.length===0?0:this._horizontalOffset[e-1]}charOffsetToPartData(e){return this.length===0?0:e<0?this._data[0]:e>=this.length?this._data[this.length-1]:this._data[e]}getDomPosition(e){const t=this.charOffsetToPartData(e-1),i=nf.getPartIndex(t),r=nf.getCharIndex(t);return new Fve(i,r)}getColumn(e,t){return this.partDataToCharOffset(e.partIndex,t,e.charIndex)+1}partDataToCharOffset(e,t,i){if(this.length===0)return 0;const r=(e<<16|i<<0)>>>0;let o=0,s=this.length-1;for(;o+1>>1,b=this._data[g];if(b===r)return g;b>r?s=g:o=g}if(o===s)return o;const a=this._data[o],l=this._data[s];if(a===r)return o;if(l===r)return s;const u=nf.getPartIndex(a),c=nf.getCharIndex(a),d=nf.getPartIndex(l);let h;u!==d?h=t:h=nf.getCharIndex(l);const m=i-c,f=h-i;return m<=f?o:s}}class L6{constructor(e,t,i){this._renderLineOutputBrand=void 0,this.characterMapping=e,this.containsRTL=t,this.containsForeignElements=i}}function ZI(n,e){if(n.lineContent.length===0){if(n.lineDecorations.length>0){e.appendString("");let t=0,i=0,r=0;for(const s of n.lineDecorations)(s.type===1||s.type===2)&&(e.appendString(''),s.type===1&&(r|=1,t++),s.type===2&&(r|=2,i++));e.appendString("");const o=new nf(1,t+i);return o.setColumnInfo(1,t,0,0),new L6(o,!1,r)}return e.appendString(""),new L6(new nf(0,0),!1,0)}return I1t(w1t(n),e)}class y1t{constructor(e,t,i,r){this.characterMapping=e,this.html=t,this.containsRTL=i,this.containsForeignElements=r}}function cW(n){const e=new TS(1e4),t=ZI(n,e);return new y1t(t.characterMapping,e.build(),t.containsRTL,t.containsForeignElements)}class C1t{constructor(e,t,i,r,o,s,a,l,u,c,d,h,m,f,g,b){this.fontIsMonospace=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=i,this.len=r,this.isOverflowing=o,this.overflowingCharCount=s,this.parts=a,this.containsForeignElements=l,this.fauxIndentLength=u,this.tabSize=c,this.startVisibleColumn=d,this.containsRTL=h,this.spaceWidth=m,this.renderSpaceCharCode=f,this.renderWhitespace=g,this.renderControlCharacters=b}}function w1t(n){const e=n.lineContent;let t,i,r;n.stopRenderingLineAfter!==-1&&n.stopRenderingLineAfter0){for(let a=0,l=n.lineDecorations.length;a0&&(o[s++]=new vs(i,"",0,!1));let a=i;for(let l=0,u=t.getCount();l=r){const m=e?vS(n.substring(a,r)):!1;o[s++]=new vs(r,d,0,m);break}const h=e?vS(n.substring(a,c)):!1;o[s++]=new vs(c,d,0,h),a=c}return o}function x1t(n,e,t){let i=0;const r=[];let o=0;if(t)for(let s=0,a=e.length;s=50&&(r[o++]=new vs(m+1,c,d,h),f=m+1,m=-1);f!==u&&(r[o++]=new vs(u,c,d,h))}else r[o++]=l;i=u}else for(let s=0,a=e.length;s50){const d=l.type,h=l.metadata,m=l.containsRTL,f=Math.ceil(c/50);for(let g=1;g=8234&&n<=8238||n>=8294&&n<=8297||n>=8206&&n<=8207||n===1564}function L1t(n,e){const t=[];let i=new vs(0,"",0,!1),r=0;for(const o of e){const s=o.endIndex;for(;ri.endIndex&&(i=new vs(r,o.type,o.metadata,o.containsRTL),t.push(i)),i=new vs(r+1,"mtkcontrol",o.metadata,!1),t.push(i))}r>i.endIndex&&(i=new vs(s,o.type,o.metadata,o.containsRTL),t.push(i))}return t}function _1t(n,e,t,i){const r=n.continuesWithWrappedLine,o=n.fauxIndentLength,s=n.tabSize,a=n.startVisibleColumn,l=n.useMonospaceOptimizations,u=n.selectionsOnLine,c=n.renderWhitespace===1,d=n.renderWhitespace===3,h=n.renderSpaceWidth!==n.spaceWidth,m=[];let f=0,g=0,b=i[g].type,v=i[g].containsRTL,C=i[g].endIndex;const S=i.length;let x=!1,_=_a(e),F;_===-1?(x=!0,_=t,F=t):F=Fh(e);let D=!1,M=0,T=u&&u[M],Z=a%s;for(let R=o;R=T.endOffset&&(M++,T=u&&u[M]);let A;if(R<_||R>F)A=!0;else if(W===9)A=!0;else if(W===32)if(c)if(D)A=!0;else{const z=R+1R),A&&d&&(A=x||R>F),A&&v&&R>=_&&R<=F&&(A=!1),D){if(!A||!l&&Z>=s){if(h){const z=f>0?m[f-1].endIndex:o;for(let O=z+1;O<=R;O++)m[f++]=new vs(O,"mtkw",1,!1)}else m[f++]=new vs(R,"mtkw",1,!1);Z=Z%s}}else(R===C||A&&R>o)&&(m[f++]=new vs(R,b,0,v),Z=Z%s);for(W===9?Z=s:Ob(W)?Z+=2:Z++,D=A;R===C&&(g++,g0?e.charCodeAt(t-1):0,W=t>1?e.charCodeAt(t-2):0;R===32&&W!==32&&W!==9||(E=!0)}else E=!0;if(E)if(h){const R=f>0?m[f-1].endIndex:o;for(let W=R+1;W<=t;W++)m[f++]=new vs(W,"mtkw",1,!1)}else m[f++]=new vs(t,"mtkw",1,!1);else m[f++]=new vs(t,b,0,v);return m}function F1t(n,e,t,i){i.sort(il.compare);const r=v1t.normalize(n,i),o=r.length;let s=0;const a=[];let l=0,u=0;for(let d=0,h=t.length;du&&(u=C.startOffset,a[l++]=new vs(u,g,b,v)),C.endOffset+1<=f)u=C.endOffset+1,a[l++]=new vs(u,g+" "+C.className,b|C.metadata,v),s++;else{u=f,a[l++]=new vs(u,g+" "+C.className,b|C.metadata,v);break}}f>u&&(u=f,a[l++]=new vs(u,g,b,v))}const c=t[t.length-1].endIndex;if(s'):e.appendString("");for(let T=0,Z=u.length;T=c&&(k+=Y)}}for(O&&(e.appendString(' style="width:'),e.appendString(String(f*P)),e.appendString('px"')),e.appendASCIICharCode(62);x1?e.appendCharCode(8594):e.appendCharCode(65515);for(let Y=2;Y<=X;Y++)e.appendCharCode(160)}else k=2,X=1,e.appendCharCode(g),e.appendCharCode(8204);F+=k,D+=X,x>=c&&(_+=X)}}else for(e.appendASCIICharCode(62);x=c&&(_+=k)}B?M++:M=0,x>=s&&!S&&E.isPseudoAfter()&&(S=!0,C.setColumnInfo(x+1,T,F,D)),e.appendString("")}return S||C.setColumnInfo(s+1,u.length-1,F,D),a&&(e.appendString(''),e.appendString(L("showMore","Show more ({0})",M1t(l))),e.appendString("")),e.appendString(""),new L6(C,m,r)}function D1t(n){return n.toString(16).toUpperCase().padStart(4,"0")}function M1t(n){return n<1024?L("overflow.chars","{0} chars",n):n<1024*1024?`${(n/1024).toFixed(1)} KB`:`${(n/1024/1024).toFixed(1)} MB`}var Xc;(function(n){n.DARK="dark",n.LIGHT="light",n.HIGH_CONTRAST_DARK="hcDark",n.HIGH_CONTRAST_LIGHT="hcLight"})(Xc||(Xc={}));function rf(n){return n===Xc.HIGH_CONTRAST_DARK||n===Xc.HIGH_CONTRAST_LIGHT}function dW(n){return n===Xc.DARK||n===Xc.HIGH_CONTRAST_DARK}const k1t=function(){return Sh?!0:!(Ja||Ic||wg)}();let t2=!0;class Dve{constructor(e,t){this.themeType=t;const i=e.options,r=i.get(50);i.get(38)==="off"?this.renderWhitespace=i.get(99):this.renderWhitespace="none",this.renderControlCharacters=i.get(94),this.spaceWidth=r.spaceWidth,this.middotWidth=r.middotWidth,this.wsmiddotWidth=r.wsmiddotWidth,this.useMonospaceOptimizations=r.isMonospace&&!i.get(33),this.canUseHalfwidthRightwardsArrow=r.canUseHalfwidthRightwardsArrow,this.lineHeight=i.get(67),this.stopRenderingLineAfter=i.get(117),this.fontLigatures=i.get(51)}equals(e){return this.themeType===e.themeType&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.fontLigatures===e.fontLigatures}}class of{constructor(e){this._options=e,this._isMaybeInvalid=!0,this._renderedViewLine=null}getDomNode(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null}setDomNode(e){if(this._renderedViewLine)this._renderedViewLine.domNode=Si(e);else throw new Error("I have no rendered view line to set the dom node to...")}onContentChanged(){this._isMaybeInvalid=!0}onTokensChanged(){this._isMaybeInvalid=!0}onDecorationsChanged(){this._isMaybeInvalid=!0}onOptionsChanged(e){this._isMaybeInvalid=!0,this._options=e}onSelectionChanged(){return rf(this._options.themeType)||this._options.renderWhitespace==="selection"?(this._isMaybeInvalid=!0,!0):!1}renderLine(e,t,i,r,o){if(this._isMaybeInvalid===!1)return!1;this._isMaybeInvalid=!1;const s=r.getViewLineRenderingData(e),a=this._options,l=il.filter(s.inlineDecorations,e,s.minColumn,s.maxColumn);let u=null;if(rf(a.themeType)||this._options.renderWhitespace==="selection"){const m=r.selections;for(const f of m){if(f.endLineNumbere)continue;const g=f.startLineNumber===e?f.startColumn:s.minColumn,b=f.endLineNumber===e?f.endColumn:s.maxColumn;g');const d=ZI(c,o);o.appendString("");let h=null;return t2&&k1t&&s.isBasicASCII&&a.useMonospaceOptimizations&&d.containsForeignElements===0&&(h=new hW(this._renderedViewLine?this._renderedViewLine.domNode:null,c,d.characterMapping)),h||(h=kve(this._renderedViewLine?this._renderedViewLine.domNode:null,c,d.characterMapping,d.containsRTL,d.containsForeignElements)),this._renderedViewLine=h,!0}layoutLine(e,t,i){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(t),this._renderedViewLine.domNode.setHeight(i))}getWidth(e){return this._renderedViewLine?this._renderedViewLine.getWidth(e):0}getWidthIsFast(){return this._renderedViewLine?this._renderedViewLine.getWidthIsFast():!0}needsMonospaceFontCheck(){return this._renderedViewLine?this._renderedViewLine instanceof hW:!1}monospaceAssumptionsAreValid(){return this._renderedViewLine&&this._renderedViewLine instanceof hW?this._renderedViewLine.monospaceAssumptionsAreValid():t2}onMonospaceAssumptionsInvalidated(){this._renderedViewLine&&this._renderedViewLine instanceof hW&&(this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine())}getVisibleRangesForRange(e,t,i,r){if(!this._renderedViewLine)return null;t=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,t)),i=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,i));const o=this._renderedViewLine.input.stopRenderingLineAfter;if(o!==-1&&t>o+1&&i>o+1)return new xve(!0,[new uy(this.getWidth(r),0)]);o!==-1&&t>o+1&&(t=o+1),o!==-1&&i>o+1&&(i=o+1);const s=this._renderedViewLine.getVisibleRangesForRange(e,t,i,r);return s&&s.length>0?new xve(!1,s):null}getColumnOfNodeOffset(e,t){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(e,t):1}}of.CLASS_NAME="view-line";class hW{constructor(e,t,i){this._cachedWidth=-1,this.domNode=e,this.input=t;const r=Math.floor(t.lineContent.length/300);if(r>0){this._keyColumnPixelOffsetCache=new Float32Array(r);for(let o=0;o=2&&(t2=!1)}return t2}toSlowRenderedLine(){return kve(this.domNode,this.input,this._characterMapping,!1,0)}getVisibleRangesForRange(e,t,i,r){const o=this._getColumnPixelOffset(e,t,r),s=this._getColumnPixelOffset(e,i,r);return[new uy(o,s-o)]}_getColumnPixelOffset(e,t,i){if(t<=300){const u=this._characterMapping.getHorizontalOffset(t);return this._charWidth*u}const r=Math.floor((t-1)/300)-1,o=(r+1)*300+1;let s=-1;if(this._keyColumnPixelOffsetCache&&(s=this._keyColumnPixelOffsetCache[r],s===-1&&(s=this._actualReadPixelOffset(e,o,i),this._keyColumnPixelOffsetCache[r]=s)),s===-1){const u=this._characterMapping.getHorizontalOffset(t);return this._charWidth*u}const a=this._characterMapping.getHorizontalOffset(o),l=this._characterMapping.getHorizontalOffset(t);return s+this._charWidth*(l-a)}_getReadingTarget(e){return e.domNode.firstChild}_actualReadPixelOffset(e,t,i){if(!this.domNode)return-1;const r=this._characterMapping.getDomPosition(t),o=lW.readHorizontalRanges(this._getReadingTarget(this.domNode),r.partIndex,r.charIndex,r.partIndex,r.charIndex,i);return!o||o.length===0?-1:o[0].left}getColumnOfNodeOffset(e,t){return _6(this._characterMapping,e,t)}}class Mve{constructor(e,t,i,r,o){if(this.domNode=e,this.input=t,this._characterMapping=i,this._isWhitespaceOnly=/^\s*$/.test(t.lineContent),this._containsForeignElements=o,this._cachedWidth=-1,this._pixelOffsetCache=null,!r||this._characterMapping.length===0){this._pixelOffsetCache=new Float32Array(Math.max(2,this._characterMapping.length+1));for(let s=0,a=this._characterMapping.length;s<=a;s++)this._pixelOffsetCache[s]=-1}}_getReadingTarget(e){return e.domNode.firstChild}getWidth(e){return this.domNode?(this._cachedWidth===-1&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth,e==null||e.markDidDomLayout()),this._cachedWidth):0}getWidthIsFast(){return this._cachedWidth!==-1}getVisibleRangesForRange(e,t,i,r){if(!this.domNode)return null;if(this._pixelOffsetCache!==null){const o=this._readPixelOffset(this.domNode,e,t,r);if(o===-1)return null;const s=this._readPixelOffset(this.domNode,e,i,r);return s===-1?null:[new uy(o,s-o)]}return this._readVisibleRangesForRange(this.domNode,e,t,i,r)}_readVisibleRangesForRange(e,t,i,r,o){if(i===r){const s=this._readPixelOffset(e,t,i,o);return s===-1?null:[new uy(s,0)]}else return this._readRawVisibleRangesForRange(e,i,r,o)}_readPixelOffset(e,t,i,r){if(this._characterMapping.length===0){if(this._containsForeignElements===0||this._containsForeignElements===2)return 0;if(this._containsForeignElements===1)return this.getWidth(r);const o=this._getReadingTarget(e);return o.firstChild?(r.markDidDomLayout(),o.firstChild.offsetWidth):0}if(this._pixelOffsetCache!==null){const o=this._pixelOffsetCache[i];if(o!==-1)return o;const s=this._actualReadPixelOffset(e,t,i,r);return this._pixelOffsetCache[i]=s,s}return this._actualReadPixelOffset(e,t,i,r)}_actualReadPixelOffset(e,t,i,r){if(this._characterMapping.length===0){const l=lW.readHorizontalRanges(this._getReadingTarget(e),0,0,0,0,r);return!l||l.length===0?-1:l[0].left}if(i===this._characterMapping.length&&this._isWhitespaceOnly&&this._containsForeignElements===0)return this.getWidth(r);const o=this._characterMapping.getDomPosition(i),s=lW.readHorizontalRanges(this._getReadingTarget(e),o.partIndex,o.charIndex,o.partIndex,o.charIndex,r);if(!s||s.length===0)return-1;const a=s[0].left;if(this.input.isBasicASCII){const l=this._characterMapping.getHorizontalOffset(i),u=Math.round(this.input.spaceWidth*l);if(Math.abs(u-a)<=1)return u}return a}_readRawVisibleRangesForRange(e,t,i,r){if(t===1&&i===this._characterMapping.length)return[new uy(0,this.getWidth(r))];const o=this._characterMapping.getDomPosition(t),s=this._characterMapping.getDomPosition(i);return lW.readHorizontalRanges(this._getReadingTarget(e),o.partIndex,o.charIndex,s.partIndex,s.charIndex,r)}getColumnOfNodeOffset(e,t){return _6(this._characterMapping,e,t)}}class N1t extends Mve{_readVisibleRangesForRange(e,t,i,r,o){const s=super._readVisibleRangesForRange(e,t,i,r,o);if(!s||s.length===0||i===r||i===1&&r===this._characterMapping.length)return s;if(!this.input.containsRTL){const a=this._readPixelOffset(e,t,r,o);if(a!==-1){const l=s[s.length-1];l.left=4&&e[0]===3&&e[3]===8}static isStrictChildOfViewLines(e){return e.length>4&&e[0]===3&&e[3]===8}static isChildOfScrollableElement(e){return e.length>=2&&e[0]===3&&e[1]===6}static isChildOfMinimap(e){return e.length>=2&&e[0]===3&&e[1]===9}static isChildOfContentWidgets(e){return e.length>=4&&e[0]===3&&e[3]===1}static isChildOfOverflowGuard(e){return e.length>=1&&e[0]===3}static isChildOfOverflowingContentWidgets(e){return e.length>=1&&e[0]===2}static isChildOfOverlayWidgets(e){return e.length>=2&&e[0]===3&&e[1]===4}static isChildOfOverflowingOverlayWidgets(e){return e.length>=1&&e[0]===5}}class n2{constructor(e,t,i){this.viewModel=e.viewModel;const r=e.configuration.options;this.layoutInfo=r.get(145),this.viewDomNode=t.viewDomNode,this.lineHeight=r.get(67),this.stickyTabStops=r.get(116),this.typicalHalfwidthCharacterWidth=r.get(50).typicalHalfwidthCharacterWidth,this.lastRenderData=i,this._context=e,this._viewHelper=t}getZoneAtCoord(e){return n2.getZoneAtCoord(this._context,e)}static getZoneAtCoord(e,t){const i=e.viewLayout.getWhitespaceAtVerticalOffset(t);if(i){const r=i.verticalOffset+i.height/2,o=e.viewModel.getLineCount();let s=null,a,l=null;return i.afterLineNumber!==o&&(l=new ye(i.afterLineNumber+1,1)),i.afterLineNumber>0&&(s=new ye(i.afterLineNumber,e.viewModel.getLineMaxColumn(i.afterLineNumber))),l===null?a=s:s===null?a=l:t=e.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,Ma._getMouseColumn(this.mouseContentHorizontalOffset,e.typicalHalfwidthCharacterWidth))}}class R1t extends W1t{get target(){return this._useHitTestTarget?this.hitTestResult.value.hitTarget:this._eventTarget}get targetPath(){return this._targetPathCacheElement!==this.target&&(this._targetPathCacheElement=this.target,this._targetPathCacheValue=Xh.collect(this.target,this._ctx.viewDomNode)),this._targetPathCacheValue}constructor(e,t,i,r,o){super(e,t,i,r),this.hitTestResult=new _h(()=>Ma.doHitTest(this._ctx,this)),this._targetPathCacheElement=null,this._targetPathCacheValue=new Uint8Array(0),this._ctx=e,this._eventTarget=o;const s=!!this._eventTarget;this._useHitTestTarget=!s}toString(){return`pos(${this.pos.x},${this.pos.y}), editorPos(${this.editorPos.x},${this.editorPos.y}), relativePos(${this.relativePos.x},${this.relativePos.y}), mouseVerticalOffset: ${this.mouseVerticalOffset}, mouseContentHorizontalOffset: ${this.mouseContentHorizontalOffset} - target: ${this.target?this.target.outerHTML:null}`}get wouldBenefitFromHitTestTargetSwitch(){return!this._useHitTestTarget&&this.hitTestResult.value.hitTarget!==null&&this.target!==this.hitTestResult.value.hitTarget}switchToHitTestTarget(){this._useHitTestTarget=!0}_getMouseColumn(e=null){return e&&e.columns.contentLeft+s.width)continue;const a=e.getVerticalOffsetForLineNumber(s.position.lineNumber);if(a<=o&&o<=a+s.height)return t.fulfillContentText(s.position,null,{mightBeForeignElement:!1,injectedText:null})}}return null}static _hitTestViewZone(e,t){const i=e.getZoneAtCoord(t.mouseVerticalOffset);if(i){const r=t.isInContentArea?8:5;return t.fulfillViewZone(r,i.position,i)}return null}static _hitTestTextArea(e,t){return rl.isTextArea(t.targetPath)?e.lastRenderData.lastTextareaPosition?t.fulfillContentText(e.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:!1,injectedText:null}):t.fulfillTextarea():null}static _hitTestMargin(e,t){if(t.isInMarginArea){const i=e.getFullLineRangeAtCoord(t.mouseVerticalOffset),r=i.range.getStartPosition();let o=Math.abs(t.relativePos.x);const s={isAfterLines:i.isAfterLines,glyphMarginLeft:e.layoutInfo.glyphMarginLeft,glyphMarginWidth:e.layoutInfo.glyphMarginWidth,lineNumbersWidth:e.layoutInfo.lineNumbersWidth,offsetX:o};if(o-=e.layoutInfo.glyphMarginLeft,o<=e.layoutInfo.glyphMarginWidth){const a=e.viewModel.coordinatesConverter.convertViewPositionToModelPosition(i.range.getStartPosition()),l=e.viewModel.glyphLanes.getLanesAtLine(a.lineNumber);return s.glyphMarginLane=l[Math.floor(o/e.lineHeight)],t.fulfillMargin(2,r,i.range,s)}return o-=e.layoutInfo.glyphMarginWidth,o<=e.layoutInfo.lineNumbersWidth?t.fulfillMargin(3,r,i.range,s):(o-=e.layoutInfo.lineNumbersWidth,t.fulfillMargin(4,r,i.range,s))}return null}static _hitTestViewLines(e,t){if(!rl.isChildOfViewLines(t.targetPath))return null;if(e.isInTopPadding(t.mouseVerticalOffset))return t.fulfillContentEmpty(new ye(1,1),Tve);if(e.isAfterLines(t.mouseVerticalOffset)||e.isInBottomPadding(t.mouseVerticalOffset)){const r=e.viewModel.getLineCount(),o=e.viewModel.getLineMaxColumn(r);return t.fulfillContentEmpty(new ye(r,o),Tve)}if(rl.isStrictChildOfViewLines(t.targetPath)){const r=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset);if(e.viewModel.getLineLength(r)===0){const s=e.getLineWidth(r),a=F6(t.mouseContentHorizontalOffset-s);return t.fulfillContentEmpty(new ye(r,1),a)}const o=e.getLineWidth(r);if(t.mouseContentHorizontalOffset>=o){const s=F6(t.mouseContentHorizontalOffset-o),a=new ye(r,e.viewModel.getLineMaxColumn(r));return t.fulfillContentEmpty(a,s)}}const i=t.hitTestResult.value;return i.type===1?Ma.createMouseTargetFromHitTestPosition(e,t,i.spanNode,i.position,i.injectedText):t.wouldBenefitFromHitTestTargetSwitch?(t.switchToHitTestTarget(),this._createMouseTarget(e,t)):t.fulfillUnknown()}static _hitTestMinimap(e,t){if(rl.isChildOfMinimap(t.targetPath)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),r=e.viewModel.getLineMaxColumn(i);return t.fulfillScrollbar(new ye(i,r))}return null}static _hitTestScrollbarSlider(e,t){if(rl.isChildOfScrollableElement(t.targetPath)&&t.target&&t.target.nodeType===1){const i=t.target.className;if(i&&/\b(slider|scrollbar)\b/.test(i)){const r=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),o=e.viewModel.getLineMaxColumn(r);return t.fulfillScrollbar(new ye(r,o))}}return null}static _hitTestScrollbar(e,t){if(rl.isChildOfScrollableElement(t.targetPath)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),r=e.viewModel.getLineMaxColumn(i);return t.fulfillScrollbar(new ye(i,r))}return null}getMouseColumn(e){const t=this._context.configuration.options,i=t.get(145),r=this._context.viewLayout.getCurrentScrollLeft()+e.x-i.contentLeft;return Ma._getMouseColumn(r,t.get(50).typicalHalfwidthCharacterWidth)}static _getMouseColumn(e,t){return e<0?1:Math.round(e/t)+1}static createMouseTargetFromHitTestPosition(e,t,i,r,o){const s=r.lineNumber,a=r.column,l=e.getLineWidth(s);if(t.mouseContentHorizontalOffset>l){const v=F6(t.mouseContentHorizontalOffset-l);return t.fulfillContentEmpty(r,v)}const u=e.visibleRangeForPosition(s,a);if(!u)return t.fulfillUnknown(r);const c=u.left;if(Math.abs(t.mouseContentHorizontalOffset-c)<1)return t.fulfillContentText(r,null,{mightBeForeignElement:!!o,injectedText:o});const d=[];if(d.push({offset:u.left,column:a}),a>1){const v=e.visibleRangeForPosition(s,a-1);v&&d.push({offset:v.left,column:a-1})}const h=e.viewModel.getLineMaxColumn(s);if(av.offset-C.offset);const m=t.pos.toClientCoordinates(Qt(e.viewDomNode)),f=i.getBoundingClientRect(),g=f.left<=m.clientX&&m.clientX<=f.right;let b=null;for(let v=1;vo)){const a=Math.floor((r+o)/2);let l=t.pos.y+(a-t.mouseVerticalOffset);l<=t.editorPos.y&&(l=t.editorPos.y+1),l>=t.editorPos.y+t.editorPos.height&&(l=t.editorPos.y+t.editorPos.height-1);const u=new sW(t.pos.x,l),c=this._actualDoHitTestWithCaretRangeFromPoint(e,u.toClientCoordinates(Qt(e.viewDomNode)));if(c.type===1)return c}return this._actualDoHitTestWithCaretRangeFromPoint(e,t.pos.toClientCoordinates(Qt(e.viewDomNode)))}static _actualDoHitTestWithCaretRangeFromPoint(e,t){const i=Yv(e.viewDomNode);let r;if(i?typeof i.caretRangeFromPoint>"u"?r=V1t(i,t.clientX,t.clientY):r=i.caretRangeFromPoint(t.clientX,t.clientY):r=e.viewDomNode.ownerDocument.caretRangeFromPoint(t.clientX,t.clientY),!r||!r.startContainer)return new c0;const o=r.startContainer;if(o.nodeType===o.TEXT_NODE){const s=o.parentNode,a=s?s.parentNode:null,l=a?a.parentNode:null;return(l&&l.nodeType===l.ELEMENT_NODE?l.className:null)===of.CLASS_NAME?cy.createFromDOMInfo(e,s,r.startOffset):new c0(o.parentNode)}else if(o.nodeType===o.ELEMENT_NODE){const s=o.parentNode,a=s?s.parentNode:null;return(a&&a.nodeType===a.ELEMENT_NODE?a.className:null)===of.CLASS_NAME?cy.createFromDOMInfo(e,o,o.textContent.length):new c0(o)}return new c0}static _doHitTestWithCaretPositionFromPoint(e,t){const i=e.viewDomNode.ownerDocument.caretPositionFromPoint(t.clientX,t.clientY);if(i.offsetNode.nodeType===i.offsetNode.TEXT_NODE){const r=i.offsetNode.parentNode,o=r?r.parentNode:null,s=o?o.parentNode:null;return(s&&s.nodeType===s.ELEMENT_NODE?s.className:null)===of.CLASS_NAME?cy.createFromDOMInfo(e,i.offsetNode.parentNode,i.offset):new c0(i.offsetNode.parentNode)}if(i.offsetNode.nodeType===i.offsetNode.ELEMENT_NODE){const r=i.offsetNode.parentNode,o=r&&r.nodeType===r.ELEMENT_NODE?r.className:null,s=r?r.parentNode:null,a=s&&s.nodeType===s.ELEMENT_NODE?s.className:null;if(o===of.CLASS_NAME){const l=i.offsetNode.childNodes[Math.min(i.offset,i.offsetNode.childNodes.length-1)];if(l)return cy.createFromDOMInfo(e,l,0)}else if(a===of.CLASS_NAME)return cy.createFromDOMInfo(e,i.offsetNode,0)}return new c0(i.offsetNode)}static _snapToSoftTabBoundary(e,t){const i=t.getLineContent(e.lineNumber),{tabSize:r}=t.model.getOptions(),o=lI.atomicPosition(i,e.column-1,r,2);return o!==-1?new ye(e.lineNumber,o+1):e}static doHitTest(e,t){let i=new c0;if(typeof e.viewDomNode.ownerDocument.caretRangeFromPoint=="function"?i=this._doHitTestWithCaretRangeFromPoint(e,t):e.viewDomNode.ownerDocument.caretPositionFromPoint&&(i=this._doHitTestWithCaretPositionFromPoint(e,t.pos.toClientCoordinates(Qt(e.viewDomNode)))),i.type===1){const r=e.viewModel.getInjectedTextAt(i.position),o=e.viewModel.normalizePosition(i.position,2);(r||!o.equals(i.position))&&(i=new Nve(o,i.spanNode,r))}return i}}function V1t(n,e,t){const i=document.createRange();let r=n.elementFromPoint(e,t);if(r!==null){for(;r&&r.firstChild&&r.firstChild.nodeType!==r.firstChild.TEXT_NODE&&r.lastChild&&r.lastChild.firstChild;)r=r.lastChild;const o=r.getBoundingClientRect(),s=Qt(r),a=s.getComputedStyle(r,null).getPropertyValue("font-style"),l=s.getComputedStyle(r,null).getPropertyValue("font-variant"),u=s.getComputedStyle(r,null).getPropertyValue("font-weight"),c=s.getComputedStyle(r,null).getPropertyValue("font-size"),d=s.getComputedStyle(r,null).getPropertyValue("line-height"),h=s.getComputedStyle(r,null).getPropertyValue("font-family"),m=`${a} ${l} ${u} ${c}/${d} ${h}`,f=r.innerText;let g=o.left,b=0,v;if(e>o.left+o.width)b=f.length;else{const C=dy.getInstance();for(let S=0;S=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},nr;(function(n){n.Tap="-monaco-gesturetap",n.Change="-monaco-gesturechange",n.Start="-monaco-gesturestart",n.End="-monaco-gesturesend",n.Contextmenu="-monaco-gesturecontextmenu"})(nr||(nr={}));class ir extends Ie{constructor(){super(),this.dispatched=!1,this.targets=new ja,this.ignoreTargets=new ja,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(lt.runAndSubscribe(r9,({window:e,disposables:t})=>{t.add(Ae(e.document,"touchstart",i=>this.onTouchStart(i),{passive:!1})),t.add(Ae(e.document,"touchend",i=>this.onTouchEnd(e,i))),t.add(Ae(e.document,"touchmove",i=>this.onTouchMove(i),{passive:!1}))},{window:Wi,disposables:this._store}))}static addTarget(e){if(!ir.isTouchDevice())return Ie.None;ir.INSTANCE||(ir.INSTANCE=new ir);const t=ir.INSTANCE.targets.push(e);return jt(t)}static ignoreTarget(e){if(!ir.isTouchDevice())return Ie.None;ir.INSTANCE||(ir.INSTANCE=new ir);const t=ir.INSTANCE.ignoreTargets.push(e);return jt(t)}static isTouchDevice(){return"ontouchstart"in Wi||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(e){const t=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let i=0,r=e.targetTouches.length;i=ir.HOLD_DELAY&&Math.abs(l.initialPageX-Tc(l.rollingPageX))<30&&Math.abs(l.initialPageY-Tc(l.rollingPageY))<30){const c=this.newGestureEvent(nr.Contextmenu,l.initialTarget);c.pageX=Tc(l.rollingPageX),c.pageY=Tc(l.rollingPageY),this.dispatchEvent(c)}else if(r===1){const c=Tc(l.rollingPageX),d=Tc(l.rollingPageY),h=Tc(l.rollingTimestamps)-l.rollingTimestamps[0],m=c-l.rollingPageX[0],f=d-l.rollingPageY[0],g=[...this.targets].filter(b=>l.initialTarget instanceof Node&&b.contains(l.initialTarget));this.inertia(e,g,i,Math.abs(m)/h,m>0?1:-1,c,Math.abs(f)/h,f>0?1:-1,d)}this.dispatchEvent(this.newGestureEvent(nr.End,l.initialTarget)),delete this.activeTouches[a.identifier]}this.dispatched&&(t.preventDefault(),t.stopPropagation(),this.dispatched=!1)}newGestureEvent(e,t){const i=document.createEvent("CustomEvent");return i.initEvent(e,!1,!0),i.initialTarget=t,i.tapCount=0,i}dispatchEvent(e){if(e.type===nr.Tap){const t=new Date().getTime();let i=0;t-this._lastSetTapCountTime>ir.CLEAR_TAP_COUNT_TIME?i=1:i=2,this._lastSetTapCountTime=t,e.tapCount=i}else(e.type===nr.Change||e.type===nr.Contextmenu)&&(this._lastSetTapCountTime=0);if(e.initialTarget instanceof Node){for(const i of this.ignoreTargets)if(i.contains(e.initialTarget))return;const t=[];for(const i of this.targets)if(i.contains(e.initialTarget)){let r=0,o=e.initialTarget;for(;o&&o!==i;)r++,o=o.parentElement;t.push([r,i])}t.sort((i,r)=>i[0]-r[0]);for(const[i,r]of t)r.dispatchEvent(e),this.dispatched=!0}}inertia(e,t,i,r,o,s,a,l,u){this.handle=au(e,()=>{const c=Date.now(),d=c-i;let h=0,m=0,f=!0;r+=ir.SCROLL_FRICTION*d,a+=ir.SCROLL_FRICTION*d,r>0&&(f=!1,h=o*r*d),a>0&&(f=!1,m=l*a*d);const g=this.newGestureEvent(nr.Change);g.translationX=h,g.translationY=m,t.forEach(b=>b.dispatchEvent(g)),f||this.inertia(e,t,c,r,o,s+h,a,l,u+m)})}onTouchMove(e){const t=Date.now();for(let i=0,r=e.changedTouches.length;i3&&(s.rollingPageX.shift(),s.rollingPageY.shift(),s.rollingTimestamps.shift()),s.rollingPageX.push(o.pageX),s.rollingPageY.push(o.pageY),s.rollingTimestamps.push(t)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}}ir.SCROLL_FRICTION=-.005,ir.HOLD_DELAY=700,ir.CLEAR_TAP_COUNT_TIME=400,A1t([io],ir,"isTouchDevice",null);let Hu=class extends Ie{onclick(e,t){this._register(Ae(e,ot.CLICK,i=>t(new Ld(Qt(e),i))))}onmousedown(e,t){this._register(Ae(e,ot.MOUSE_DOWN,i=>t(new Ld(Qt(e),i))))}onmouseover(e,t){this._register(Ae(e,ot.MOUSE_OVER,i=>t(new Ld(Qt(e),i))))}onmouseleave(e,t){this._register(Ae(e,ot.MOUSE_LEAVE,i=>t(new Ld(Qt(e),i))))}onkeydown(e,t){this._register(Ae(e,ot.KEY_DOWN,i=>t(new sr(i))))}onkeyup(e,t){this._register(Ae(e,ot.KEY_UP,i=>t(new sr(i))))}oninput(e,t){this._register(Ae(e,ot.INPUT,t))}onblur(e,t){this._register(Ae(e,ot.BLUR,t))}onfocus(e,t){this._register(Ae(e,ot.FOCUS,t))}ignoreGesture(e){return ir.ignoreTarget(e)}};const i2=11;class G1t extends Hu{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=e.bgWidth+"px",this.bgDomNode.style.height=e.bgHeight+"px",typeof e.top<"u"&&(this.bgDomNode.style.top="0px"),typeof e.left<"u"&&(this.bgDomNode.style.left="0px"),typeof e.bottom<"u"&&(this.bgDomNode.style.bottom="0px"),typeof e.right<"u"&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=e.className,this.domNode.classList.add(...sn.asClassNameArray(e.icon)),this.domNode.style.position="absolute",this.domNode.style.width=i2+"px",this.domNode.style.height=i2+"px",typeof e.top<"u"&&(this.domNode.style.top=e.top+"px"),typeof e.left<"u"&&(this.domNode.style.left=e.left+"px"),typeof e.bottom<"u"&&(this.domNode.style.bottom=e.bottom+"px"),typeof e.right<"u"&&(this.domNode.style.right=e.right+"px"),this._pointerMoveMonitor=this._register(new YS),this._register(Gr(this.bgDomNode,ot.POINTER_DOWN,t=>this._arrowPointerDown(t))),this._register(Gr(this.domNode,ot.POINTER_DOWN,t=>this._arrowPointerDown(t))),this._pointerdownRepeatTimer=this._register(new bY),this._pointerdownScheduleRepeatTimer=this._register(new Id)}_arrowPointerDown(e){if(!e.target||!(e.target instanceof Element))return;const t=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,Qt(e))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(t,200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,i=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),e.preventDefault()}}class X1t extends Ie{constructor(e,t,i){super(),this._visibility=e,this._visibleClassName=t,this._invisibleClassName=i,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new Id)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this._updateShouldBeVisible())}setShouldBeVisible(e){this._rawShouldBeVisible=e,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3?!0:this._rawShouldBeVisible}_updateShouldBeVisible(){const e=this._applyVisibilitySetting();this._shouldBeVisible!==e&&(this._shouldBeVisible=e,this.ensureVisibility())}setIsNeeded(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())}setDomNode(e){this._domNode=e,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){if(!this._isNeeded){this._hide(!1);return}this._shouldBeVisible?this._reveal():this._hide(!0)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{var e;(e=this._domNode)===null||e===void 0||e.setClassName(this._visibleClassName)},0))}_hide(e){var t;this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,(t=this._domNode)===null||t===void 0||t.setClassName(this._invisibleClassName+(e?" fade":"")))}}const P1t=140;class Eve extends Hu{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new X1t(e.visibility,"visible scrollbar "+e.extraScrollbarClassName,"invisible scrollbar "+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new YS),this._shouldRender=!0,this.domNode=Si(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this._register(Ae(this.domNode.domNode,ot.POINTER_DOWN,t=>this._domNodePointerDown(t)))}_createArrow(e){const t=this._register(new G1t(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,i,r){this.slider=Si(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(e),this.slider.setLeft(t),typeof i=="number"&&this.slider.setWidth(i),typeof r=="number"&&this.slider.setHeight(r),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(Ae(this.slider.domNode,ot.POINTER_DOWN,o=>{o.button===0&&(o.preventDefault(),this._sliderPointerDown(o))})),this.onclick(this.slider.domNode,o=>{o.leftButton&&o.stopPropagation()})}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(e){e.target===this.domNode.domNode&&this._onPointerDown(e)}delegatePointerDown(e){const t=this.domNode.domNode.getClientRects()[0].top,i=t+this._scrollbarState.getSliderPosition(),r=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),o=this._sliderPointerPosition(e);i<=o&&o<=r?e.button===0&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let t,i;if(e.target===this.domNode.domNode&&typeof e.offsetX=="number"&&typeof e.offsetY=="number")t=e.offsetX,i=e.offsetY;else{const o=po(this.domNode.domNode);t=e.pageX-o.left,i=e.pageY-o.top}const r=this._pointerDownRelativePosition(t,i);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(r):this._scrollbarState.getDesiredScrollPositionFromOffset(r)),e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!e.target||!(e.target instanceof Element))return;const t=this._sliderPointerPosition(e),i=this._sliderOrthogonalPointerPosition(e),r=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,o=>{const s=this._sliderOrthogonalPointerPosition(o),a=Math.abs(s-i);if(ha&&a>P1t){this._setDesiredScrollPositionNow(r.getScrollPosition());return}const u=this._sliderPointerPosition(o)-t;this._setDesiredScrollPositionNow(r.getDesiredScrollPositionFromDelta(u))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(e){const t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}}const O1t=20;class r2{constructor(e,t,i,r,o,s){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(i),this._arrowSize=Math.round(e),this._visibleSize=r,this._scrollSize=o,this._scrollPosition=s,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new r2(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){const t=Math.round(e);return this._visibleSize!==t?(this._visibleSize=t,this._refreshComputedValues(),!0):!1}setScrollSize(e){const t=Math.round(e);return this._scrollSize!==t?(this._scrollSize=t,this._refreshComputedValues(),!0):!1}setScrollPosition(e){const t=Math.round(e);return this._scrollPosition!==t?(this._scrollPosition=t,this._refreshComputedValues(),!0):!1}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,t,i,r,o){const s=Math.max(0,i-e),a=Math.max(0,s-2*t),l=r>0&&r>i;if(!l)return{computedAvailableSize:Math.round(s),computedIsNeeded:l,computedSliderSize:Math.round(a),computedSliderRatio:0,computedSliderPosition:0};const u=Math.round(Math.max(O1t,Math.floor(i*a/r))),c=(a-u)/(r-i),d=o*c;return{computedAvailableSize:Math.round(s),computedIsNeeded:l,computedSliderSize:Math.round(u),computedSliderRatio:c,computedSliderPosition:Math.round(d)}}_refreshComputedValues(){const e=r2._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=e.computedAvailableSize,this._computedIsNeeded=e.computedIsNeeded,this._computedSliderSize=e.computedSliderSize,this._computedSliderRatio=e.computedSliderRatio,this._computedSliderPosition=e.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(e){if(!this._computedIsNeeded)return 0;const t=e-this._arrowSize-this._computedSliderSize/2;return Math.round(t/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;const t=e-this._arrowSize;let i=this._scrollPosition;return tthis._host.onMouseWheel(new Pv(null,1,0))}),this._createArrow({className:"scra",icon:ut.scrollbarButtonRight,top:a,left:void 0,bottom:void 0,right:s,bgWidth:t.arrowSize,bgHeight:t.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new Pv(null,-1,0))})}this._createSlider(Math.floor((t.horizontalScrollbarSize-t.horizontalSliderSize)/2),0,void 0,t.horizontalSliderSize)}_updateSlider(e,t){this.slider.setWidth(e),this.slider.setLeft(t)}_renderDomNode(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return e}_sliderPointerPosition(e){return e.pageX}_sliderOrthogonalPointerPosition(e){return e.pageY}_updateScrollbarSize(e){this.slider.setHeight(e)}writeScrollPosition(e,t){e.scrollLeft=t}updateOptions(e){this.updateScrollbarSize(e.horizontal===2?0:e.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._visibilityController.setVisibility(e.horizontal),this._scrollByPage=e.scrollByPage}}class z1t extends Eve{constructor(e,t,i){const r=e.getScrollDimensions(),o=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:i,scrollbarState:new r2(t.verticalHasArrows?t.arrowSize:0,t.vertical===2?0:t.verticalScrollbarSize,0,r.height,r.scrollHeight,o.scrollTop),visibility:t.vertical,extraScrollbarClassName:"vertical",scrollable:e,scrollByPage:t.scrollByPage}),t.verticalHasArrows){const s=(t.arrowSize-i2)/2,a=(t.verticalScrollbarSize-i2)/2;this._createArrow({className:"scra",icon:ut.scrollbarButtonUp,top:s,left:a,bottom:void 0,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new Pv(null,0,1))}),this._createArrow({className:"scra",icon:ut.scrollbarButtonDown,top:void 0,left:a,bottom:s,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new Pv(null,0,-1))})}this._createSlider(0,Math.floor((t.verticalScrollbarSize-t.verticalSliderSize)/2),t.verticalSliderSize,void 0)}_updateSlider(e,t){this.slider.setHeight(e),this.slider.setTop(t)}_renderDomNode(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return t}_sliderPointerPosition(e){return e.pageY}_sliderOrthogonalPointerPosition(e){return e.pageX}_updateScrollbarSize(e){this.slider.setWidth(e)}writeScrollPosition(e,t){e.scrollTop=t}updateOptions(e){this.updateScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(e.vertical),this._scrollByPage=e.scrollByPage}}class mW{constructor(e,t,i,r,o,s,a){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(t=t|0,i=i|0,r=r|0,o=o|0,s=s|0,a=a|0),this.rawScrollLeft=r,this.rawScrollTop=a,t<0&&(t=0),r+t>i&&(r=i-t),r<0&&(r=0),o<0&&(o=0),a+o>s&&(a=s-o),a<0&&(a=0),this.width=t,this.scrollWidth=i,this.scrollLeft=r,this.height=o,this.scrollHeight=s,this.scrollTop=a}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(e,t){return new mW(this._forceIntegerValues,typeof e.width<"u"?e.width:this.width,typeof e.scrollWidth<"u"?e.scrollWidth:this.scrollWidth,t?this.rawScrollLeft:this.scrollLeft,typeof e.height<"u"?e.height:this.height,typeof e.scrollHeight<"u"?e.scrollHeight:this.scrollHeight,t?this.rawScrollTop:this.scrollTop)}withScrollPosition(e){return new mW(this._forceIntegerValues,this.width,this.scrollWidth,typeof e.scrollLeft<"u"?e.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof e.scrollTop<"u"?e.scrollTop:this.rawScrollTop)}createScrollEvent(e,t){const i=this.width!==e.width,r=this.scrollWidth!==e.scrollWidth,o=this.scrollLeft!==e.scrollLeft,s=this.height!==e.height,a=this.scrollHeight!==e.scrollHeight,l=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:t,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:i,scrollWidthChanged:r,scrollLeftChanged:o,heightChanged:s,scrollHeightChanged:a,scrollTopChanged:l}}}class o2 extends Ie{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new be),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new mW(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,t){var i;const r=this._state.withScrollDimensions(e,t);this._setState(r,!!this._smoothScrolling),(i=this._smoothScrolling)===null||i===void 0||i.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){const t=this._state.withScrollPosition(e);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(t,!1)}setScrollPositionSmooth(e,t){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:typeof e.scrollLeft>"u"?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:typeof e.scrollTop>"u"?this._smoothScrolling.to.scrollTop:e.scrollTop};const i=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===i.scrollLeft&&this._smoothScrolling.to.scrollTop===i.scrollTop)return;let r;t?r=new WI(this._smoothScrolling.from,i,this._smoothScrolling.startTime,this._smoothScrolling.duration):r=this._smoothScrolling.combine(this._state,i,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=r}else{const i=this._state.withScrollPosition(e);this._smoothScrolling=WI.start(this._state,i,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;const e=this._smoothScrolling.tick(),t=this._state.withScrollPosition(e);if(this._setState(t,!0),!!this._smoothScrolling){if(e.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(e,t){const i=this._state;i.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(i,t)))}}class Zve{constructor(e,t,i){this.scrollLeft=e,this.scrollTop=t,this.isDone=i}}function I6(n,e){const t=e-n;return function(i){return n+t*U1t(i)}}function H1t(n,e,t){return function(i){return i2.5*i){let o,s;return e0&&Math.abs(e.deltaY)>0)return 1;let i=.5;if((!this._isAlmostInt(e.deltaX)||!this._isAlmostInt(e.deltaY))&&(i+=.25),t){const r=Math.abs(e.deltaX),o=Math.abs(e.deltaY),s=Math.abs(t.deltaX),a=Math.abs(t.deltaY),l=Math.max(Math.min(r,s),1),u=Math.max(Math.min(o,a),1),c=Math.max(r,s),d=Math.max(o,a);c%l===0&&d%u===0&&(i-=.5)}return Math.min(Math.max(i,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01}}fW.INSTANCE=new fW;class D6 extends Hu{get options(){return this._options}constructor(e,t,i){super(),this._onScroll=this._register(new be),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new be),e.style.overflow="hidden",this._options=j1t(t),this._scrollable=i,this._register(this._scrollable.onScroll(o=>{this._onWillScroll.fire(o),this._onDidScroll(o),this._onScroll.fire(o)}));const r={onMouseWheel:o=>this._onMouseWheel(o),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new z1t(this._scrollable,this._options,r)),this._horizontalScrollbar=this._register(new B1t(this._scrollable,this._options,r)),this._domNode=document.createElement("div"),this._domNode.className="monaco-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.style.overflow="hidden",this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=Si(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=Si(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=Si(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,o=>this._onMouseOver(o)),this.onmouseleave(this._listenOnDomNode,o=>this._onMouseLeave(o)),this._hideTimeout=this._register(new Id),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}dispose(){this._mouseWheelToDispose=er(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,On&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className}updateOptions(e){typeof e.handleMouseWheel<"u"&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof e.mouseWheelScrollSensitivity<"u"&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),typeof e.fastScrollSensitivity<"u"&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),typeof e.scrollPredominantAxis<"u"&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),typeof e.horizontal<"u"&&(this._options.horizontal=e.horizontal),typeof e.vertical<"u"&&(this._options.vertical=e.vertical),typeof e.horizontalScrollbarSize<"u"&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),typeof e.verticalScrollbarSize<"u"&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),typeof e.scrollByPage<"u"&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new Pv(e))}_setListeningToMouseWheel(e){if(this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=er(this._mouseWheelToDispose),e)){const i=r=>{this._onMouseWheel(new Pv(r))};this._mouseWheelToDispose.push(Ae(this._listenOnDomNode,ot.MOUSE_WHEEL,i,{passive:!1}))}}_onMouseWheel(e){var t;if(!((t=e.browserEvent)===null||t===void 0)&&t.defaultPrevented)return;const i=fW.INSTANCE;i.acceptStandardWheelEvent(e);let r=!1;if(e.deltaY||e.deltaX){let s=e.deltaY*this._options.mouseWheelScrollSensitivity,a=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&a+s===0?a=s=0:Math.abs(s)>=Math.abs(a)?a=0:s=0),this._options.flipAxes&&([s,a]=[a,s]);const l=!On&&e.browserEvent&&e.browserEvent.shiftKey;(this._options.scrollYToX||l)&&!a&&(a=s,s=0),e.browserEvent&&e.browserEvent.altKey&&(a=a*this._options.fastScrollSensitivity,s=s*this._options.fastScrollSensitivity);const u=this._scrollable.getFutureScrollPosition();let c={};if(s){const d=Wve*s,h=u.scrollTop-(d<0?Math.floor(d):Math.ceil(d));this._verticalScrollbar.writeScrollPosition(c,h)}if(a){const d=Wve*a,h=u.scrollLeft-(d<0?Math.floor(d):Math.ceil(d));this._horizontalScrollbar.writeScrollPosition(c,h)}c=this._scrollable.validateScrollPosition(c),(u.scrollLeft!==c.scrollLeft||u.scrollTop!==c.scrollTop)&&(this._options.mouseWheelSmoothScroll&&i.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(c):this._scrollable.setScrollPositionNow(c),r=!0)}let o=r;!o&&this._options.alwaysConsumeMouseWheel&&(o=!0),!o&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(o=!0),o&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){const e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,i=e.scrollLeft>0,r=i?" left":"",o=t?" top":"",s=i||t?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${r}`),this._topShadowDomNode.setClassName(`shadow${o}`),this._topLeftShadowDomNode.setClassName(`shadow${s}${o}${r}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),K1t)}}class Rve extends D6{constructor(e,t){t=t||{},t.mouseWheelSmoothScroll=!1;const i=new o2({forceIntegerValues:!0,smoothScrollDuration:0,scheduleAtNextAnimationFrame:r=>au(Qt(e),r)});super(e,t,i),this._register(i)}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}}class gW extends D6{constructor(e,t,i){super(e,t,i)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}}class RI extends D6{constructor(e,t){t=t||{},t.mouseWheelSmoothScroll=!1;const i=new o2({forceIntegerValues:!1,smoothScrollDuration:0,scheduleAtNextAnimationFrame:r=>au(Qt(e),r)});super(e,t,i),this._register(i),this._element=e,this._register(this.onScroll(r=>{r.scrollTopChanged&&(this._element.scrollTop=r.scrollTop),r.scrollLeftChanged&&(this._element.scrollLeft=r.scrollLeft)})),this.scanDomNode()}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}scanDomNode(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight}),this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})}}function j1t(n){const e={lazyRender:typeof n.lazyRender<"u"?n.lazyRender:!1,className:typeof n.className<"u"?n.className:"",useShadows:typeof n.useShadows<"u"?n.useShadows:!0,handleMouseWheel:typeof n.handleMouseWheel<"u"?n.handleMouseWheel:!0,flipAxes:typeof n.flipAxes<"u"?n.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof n.consumeMouseWheelIfScrollbarIsNeeded<"u"?n.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof n.alwaysConsumeMouseWheel<"u"?n.alwaysConsumeMouseWheel:!1,scrollYToX:typeof n.scrollYToX<"u"?n.scrollYToX:!1,mouseWheelScrollSensitivity:typeof n.mouseWheelScrollSensitivity<"u"?n.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof n.fastScrollSensitivity<"u"?n.fastScrollSensitivity:5,scrollPredominantAxis:typeof n.scrollPredominantAxis<"u"?n.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof n.mouseWheelSmoothScroll<"u"?n.mouseWheelSmoothScroll:!0,arrowSize:typeof n.arrowSize<"u"?n.arrowSize:11,listenOnDomNode:typeof n.listenOnDomNode<"u"?n.listenOnDomNode:null,horizontal:typeof n.horizontal<"u"?n.horizontal:1,horizontalScrollbarSize:typeof n.horizontalScrollbarSize<"u"?n.horizontalScrollbarSize:10,horizontalSliderSize:typeof n.horizontalSliderSize<"u"?n.horizontalSliderSize:0,horizontalHasArrows:typeof n.horizontalHasArrows<"u"?n.horizontalHasArrows:!1,vertical:typeof n.vertical<"u"?n.vertical:1,verticalScrollbarSize:typeof n.verticalScrollbarSize<"u"?n.verticalScrollbarSize:10,verticalHasArrows:typeof n.verticalHasArrows<"u"?n.verticalHasArrows:!1,verticalSliderSize:typeof n.verticalSliderSize<"u"?n.verticalSliderSize:0,scrollByPage:typeof n.scrollByPage<"u"?n.scrollByPage:!1};return e.horizontalSliderSize=typeof n.horizontalSliderSize<"u"?n.horizontalSliderSize:e.horizontalScrollbarSize,e.verticalSliderSize=typeof n.verticalSliderSize<"u"?n.verticalSliderSize:e.verticalScrollbarSize,On&&(e.className+=" mac"),e}class M6 extends EI{constructor(e,t,i){super(),this._mouseLeaveMonitor=null,this._context=e,this.viewController=t,this.viewHelper=i,this.mouseTargetFactory=new Ma(this._context,i),this._mouseDownOperation=this._register(new Q1t(this._context,this.viewController,this.viewHelper,this.mouseTargetFactory,(s,a)=>this._createMouseTarget(s,a),s=>this._getMouseColumn(s))),this.lastMouseLeaveTime=-1,this._height=this._context.configuration.options.get(145).height;const r=new u1t(this.viewHelper.viewDomNode);this._register(r.onContextMenu(this.viewHelper.viewDomNode,s=>this._onContextMenu(s,!0))),this._register(r.onMouseMove(this.viewHelper.viewDomNode,s=>{this._onMouseMove(s),this._mouseLeaveMonitor||(this._mouseLeaveMonitor=Ae(this.viewHelper.viewDomNode.ownerDocument,"mousemove",a=>{this.viewHelper.viewDomNode.contains(a.target)||this._onMouseLeave(new l0(a,!1,this.viewHelper.viewDomNode))}))})),this._register(r.onMouseUp(this.viewHelper.viewDomNode,s=>this._onMouseUp(s))),this._register(r.onMouseLeave(this.viewHelper.viewDomNode,s=>this._onMouseLeave(s)));let o=0;this._register(r.onPointerDown(this.viewHelper.viewDomNode,(s,a)=>{o=a})),this._register(Ae(this.viewHelper.viewDomNode,ot.POINTER_UP,s=>{this._mouseDownOperation.onPointerUp()})),this._register(r.onMouseDown(this.viewHelper.viewDomNode,s=>this._onMouseDown(s,o))),this._setupMouseWheelZoomListener(),this._context.addEventHandler(this)}_setupMouseWheelZoomListener(){const e=fW.INSTANCE;let t=0,i=Rc.getZoomLevel(),r=!1,o=0;const s=l=>{if(this.viewController.emitMouseWheel(l),!this._context.configuration.options.get(76))return;const u=new Pv(l);if(e.acceptStandardWheelEvent(u),e.isPhysicalMouseWheel()){if(a(l)){const c=Rc.getZoomLevel(),d=u.deltaY>0?1:-1;Rc.setZoomLevel(c+d),u.preventDefault(),u.stopPropagation()}}else Date.now()-t>50&&(i=Rc.getZoomLevel(),r=a(l),o=0),t=Date.now(),o+=u.deltaY,r&&(Rc.setZoomLevel(i+o/5),u.preventDefault(),u.stopPropagation())};this._register(Ae(this.viewHelper.viewDomNode,ot.MOUSE_WHEEL,s,{capture:!0,passive:!1}));function a(l){return On?(l.metaKey||l.ctrlKey)&&!l.shiftKey&&!l.altKey:l.ctrlKey&&!l.metaKey&&!l.shiftKey&&!l.altKey}}dispose(){this._context.removeEventHandler(this),this._mouseLeaveMonitor&&(this._mouseLeaveMonitor.dispose(),this._mouseLeaveMonitor=null),super.dispose()}onConfigurationChanged(e){if(e.hasChanged(145)){const t=this._context.configuration.options.get(145).height;this._height!==t&&(this._height=t,this._mouseDownOperation.onHeightChanged())}return!1}onCursorStateChanged(e){return this._mouseDownOperation.onCursorStateChanged(e),!1}onFocusChanged(e){return!1}getTargetAtClientPoint(e,t){const r=new Sve(e,t).toPageCoordinates(Qt(this.viewHelper.viewDomNode)),o=S6(this.viewHelper.viewDomNode);if(r.yo.y+o.height||r.xo.x+o.width)return null;const s=x6(this.viewHelper.viewDomNode,o,r);return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),o,r,s,null)}_createMouseTarget(e,t){let i=e.target;if(!this.viewHelper.viewDomNode.contains(i)){const r=Yv(this.viewHelper.viewDomNode);r&&(i=r.elementsFromPoint(e.posx,e.posy).find(o=>this.viewHelper.viewDomNode.contains(o)))}return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),e.editorPos,e.pos,e.relativePos,t?i:null)}_getMouseColumn(e){return this.mouseTargetFactory.getMouseColumn(e.relativePos)}_onContextMenu(e,t){this.viewController.emitContextMenu({event:e,target:this._createMouseTarget(e,t)})}_onMouseMove(e){this.mouseTargetFactory.mouseTargetIsWidget(e)||e.preventDefault(),!(this._mouseDownOperation.isActive()||e.timestamp{e.preventDefault(),this.viewHelper.focusTextArea()};if(c&&(r||s&&a))d(),this._mouseDownOperation.start(i.type,e,t);else if(o)e.preventDefault();else if(l){const h=i.detail;c&&this.viewHelper.shouldSuppressMouseDownOnViewZone(h.viewZoneId)&&(d(),this._mouseDownOperation.start(i.type,e,t),e.preventDefault())}else u&&this.viewHelper.shouldSuppressMouseDownOnWidget(i.detail)&&(d(),e.preventDefault());this.viewController.emitMouseDown({event:e,target:i})}}class Q1t extends Ie{constructor(e,t,i,r,o,s){super(),this._context=e,this._viewController=t,this._viewHelper=i,this._mouseTargetFactory=r,this._createMouseTarget=o,this._getMouseColumn=s,this._mouseMoveMonitor=this._register(new d1t(this._viewHelper.viewDomNode)),this._topBottomDragScrolling=this._register(new $1t(this._context,this._viewHelper,this._mouseTargetFactory,(a,l,u)=>this._dispatchMouse(a,l,u))),this._mouseState=new pW,this._currentSelection=new Wt(1,1,1,1),this._isActive=!1,this._lastMouseEvent=null}dispose(){super.dispose()}isActive(){return this._isActive}_onMouseDownThenMove(e){this._lastMouseEvent=e,this._mouseState.setModifiers(e);const t=this._findMousePosition(e,!1);t&&(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:e,target:t}):t.type===13&&(t.outsidePosition==="above"||t.outsidePosition==="below")?this._topBottomDragScrolling.start(t,e):(this._topBottomDragScrolling.stop(),this._dispatchMouse(t,!0,1)))}start(e,t,i){this._lastMouseEvent=t,this._mouseState.setStartedOnLineNumbers(e===3),this._mouseState.setStartButtons(t),this._mouseState.setModifiers(t);const r=this._findMousePosition(t,!0);if(!r||!r.position)return;this._mouseState.trySetCount(t.detail,r.position),t.detail=this._mouseState.count;const o=this._context.configuration.options;if(!o.get(91)&&o.get(35)&&!o.get(22)&&!this._mouseState.altKey&&t.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&r.type===6&&r.position&&this._currentSelection.containsPosition(r.position)){this._mouseState.isDragAndDrop=!0,this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,i,t.buttons,s=>this._onMouseDownThenMove(s),s=>{const a=this._findMousePosition(this._lastMouseEvent,!1);jb(s)?this._viewController.emitMouseDropCanceled():this._viewController.emitMouseDrop({event:this._lastMouseEvent,target:a?this._createMouseTarget(this._lastMouseEvent,!0):null}),this._stop()});return}this._mouseState.isDragAndDrop=!1,this._dispatchMouse(r,t.shiftKey,1),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,i,t.buttons,s=>this._onMouseDownThenMove(s),()=>this._stop()))}_stop(){this._isActive=!1,this._topBottomDragScrolling.stop()}onHeightChanged(){this._mouseMoveMonitor.stopMonitoring()}onPointerUp(){this._mouseMoveMonitor.stopMonitoring()}onCursorStateChanged(e){this._currentSelection=e.selections[0]}_getPositionOutsideEditor(e){const t=e.editorPos,i=this._context.viewModel,r=this._context.viewLayout,o=this._getMouseColumn(e);if(e.posyt.y+t.height){const a=e.posy-t.y-t.height,l=r.getCurrentScrollTop()+e.relativePos.y,u=n2.getZoneAtCoord(this._context,l);if(u){const d=this._helpPositionJumpOverViewZone(u);if(d)return Da.createOutsideEditor(o,d,"below",a)}const c=r.getLineNumberAtVerticalOffset(l);return Da.createOutsideEditor(o,new ye(c,i.getLineMaxColumn(c)),"below",a)}const s=r.getLineNumberAtVerticalOffset(r.getCurrentScrollTop()+e.relativePos.y);if(e.posxt.x+t.width){const a=e.posx-t.x-t.width;return Da.createOutsideEditor(o,new ye(s,i.getLineMaxColumn(s)),"right",a)}return null}_findMousePosition(e,t){const i=this._getPositionOutsideEditor(e);if(i)return i;const r=this._createMouseTarget(e,t);if(!r.position)return null;if(r.type===8||r.type===5){const s=this._helpPositionJumpOverViewZone(r.detail);if(s)return Da.createViewZone(r.type,r.element,r.mouseColumn,s,r.detail)}return r}_helpPositionJumpOverViewZone(e){const t=new ye(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),i=e.positionBefore,r=e.positionAfter;return i&&r?i.isBefore(t)?i:r:null}_dispatchMouse(e,t,i){e.position&&this._viewController.dispatchMouse({position:e.position,mouseColumn:e.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,revealType:i,inSelectionMode:t,mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton,onInjectedText:e.type===6&&e.detail.injectedText!==null})}}class $1t extends Ie{constructor(e,t,i,r){super(),this._context=e,this._viewHelper=t,this._mouseTargetFactory=i,this._dispatchMouse=r,this._operation=null}dispose(){super.dispose(),this.stop()}start(e,t){this._operation?this._operation.setPosition(e,t):this._operation=new q1t(this._context,this._viewHelper,this._mouseTargetFactory,this._dispatchMouse,e,t)}stop(){this._operation&&(this._operation.dispose(),this._operation=null)}}class q1t extends Ie{constructor(e,t,i,r,o,s){super(),this._context=e,this._viewHelper=t,this._mouseTargetFactory=i,this._dispatchMouse=r,this._position=o,this._mouseEvent=s,this._lastTime=Date.now(),this._animationFrameDisposable=au(Qt(s.browserEvent),()=>this._execute())}dispose(){this._animationFrameDisposable.dispose(),super.dispose()}setPosition(e,t){this._position=e,this._mouseEvent=t}_tick(){const e=Date.now(),t=e-this._lastTime;return this._lastTime=e,t}_getScrollSpeed(){const e=this._context.configuration.options.get(67),t=this._context.configuration.options.get(145).height/e,i=this._position.outsideDistance/e;return i<=1.5?Math.max(30,t*(1+i)):i<=3?Math.max(60,t*(2+i)):Math.max(200,t*(7+i))}_execute(){const e=this._context.configuration.options.get(67),t=this._getScrollSpeed(),i=this._tick(),r=t*(i/1e3)*e,o=this._position.outsidePosition==="above"?-r:r;this._context.viewModel.viewLayout.deltaScrollNow(0,o),this._viewHelper.renderNow();const s=this._context.viewLayout.getLinesViewportData(),a=this._position.outsidePosition==="above"?s.startLineNumber:s.endLineNumber;let l;{const u=S6(this._viewHelper.viewDomNode),c=this._context.configuration.options.get(145).horizontalScrollbarHeight,d=new sW(this._mouseEvent.pos.x,u.y+u.height-c-.1),h=x6(this._viewHelper.viewDomNode,u,d);l=this._mouseTargetFactory.createMouseTarget(this._viewHelper.getLastRenderData(),u,d,h,null)}(!l.position||l.position.lineNumber!==a)&&(this._position.outsidePosition==="above"?l=Da.createOutsideEditor(this._position.mouseColumn,new ye(a,1),"above",this._position.outsideDistance):l=Da.createOutsideEditor(this._position.mouseColumn,new ye(a,this._context.viewModel.getLineMaxColumn(a)),"below",this._position.outsideDistance)),this._dispatchMouse(l,!0,2),this._animationFrameDisposable=au(Qt(l.element),()=>this._execute())}}class pW{get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get metaKey(){return this._metaKey}get shiftKey(){return this._shiftKey}get leftButton(){return this._leftButton}get middleButton(){return this._middleButton}get startedOnLineNumbers(){return this._startedOnLineNumbers}constructor(){this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._leftButton=!1,this._middleButton=!1,this._startedOnLineNumbers=!1,this._lastMouseDownPosition=null,this._lastMouseDownPositionEqualCount=0,this._lastMouseDownCount=0,this._lastSetMouseDownCountTime=0,this.isDragAndDrop=!1}get count(){return this._lastMouseDownCount}setModifiers(e){this._altKey=e.altKey,this._ctrlKey=e.ctrlKey,this._metaKey=e.metaKey,this._shiftKey=e.shiftKey}setStartButtons(e){this._leftButton=e.leftButton,this._middleButton=e.middleButton}setStartedOnLineNumbers(e){this._startedOnLineNumbers=e}trySetCount(e,t){const i=new Date().getTime();i-this._lastSetMouseDownCountTime>pW.CLEAR_MOUSE_DOWN_COUNT_TIME&&(e=1),this._lastSetMouseDownCountTime=i,e>this._lastMouseDownCount+1&&(e=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(t)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=t,this._lastMouseDownCount=Math.min(e,this._lastMouseDownPositionEqualCount)}}pW.CLEAR_MOUSE_DOWN_COUNT_TIME=400;class Jn{get event(){return this.emitter.event}constructor(e,t,i){const r=o=>this.emitter.fire(o);this.emitter=new be({onWillAddFirstListener:()=>e.addEventListener(t,r,i),onDidRemoveLastListener:()=>e.removeEventListener(t,r,i)})}dispose(){this.emitter.dispose()}}class Zs{constructor(e,t,i,r,o){this.value=e,this.selectionStart=t,this.selectionEnd=i,this.selection=r,this.newlineCountBeforeSelection=o}toString(){return`[ <${this.value}>, selectionStart: ${this.selectionStart}, selectionEnd: ${this.selectionEnd}]`}static readFromTextArea(e,t){const i=e.getValue(),r=e.getSelectionStart(),o=e.getSelectionEnd();let s;if(t){const a=i.substring(0,r),l=t.value.substring(0,t.selectionStart);a===l&&(s=t.newlineCountBeforeSelection)}return new Zs(i,r,o,null,s)}collapseSelection(){return this.selectionStart===this.value.length?this:new Zs(this.value,this.value.length,this.value.length,null,void 0)}writeToTextArea(e,t,i){t.setValue(e,this.value),i&&t.setSelectionRange(e,this.selectionStart,this.selectionEnd)}deduceEditorPosition(e){var t,i,r,o,s,a,l,u;if(e<=this.selectionStart){const h=this.value.substring(e,this.selectionStart);return this._finishDeduceEditorPosition((i=(t=this.selection)===null||t===void 0?void 0:t.getStartPosition())!==null&&i!==void 0?i:null,h,-1)}if(e>=this.selectionEnd){const h=this.value.substring(this.selectionEnd,e);return this._finishDeduceEditorPosition((o=(r=this.selection)===null||r===void 0?void 0:r.getEndPosition())!==null&&o!==void 0?o:null,h,1)}const c=this.value.substring(this.selectionStart,e);if(c.indexOf("…")===-1)return this._finishDeduceEditorPosition((a=(s=this.selection)===null||s===void 0?void 0:s.getStartPosition())!==null&&a!==void 0?a:null,c,1);const d=this.value.substring(e,this.selectionEnd);return this._finishDeduceEditorPosition((u=(l=this.selection)===null||l===void 0?void 0:l.getEndPosition())!==null&&u!==void 0?u:null,d,-1)}_finishDeduceEditorPosition(e,t,i){let r=0,o=-1;for(;(o=t.indexOf(` -`,o+1))!==-1;)r++;return[e,i*t.length,r]}static deduceInput(e,t,i){if(!e)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};const r=Math.min(Pb(e.value,t.value),e.selectionStart,t.selectionStart),o=Math.min(UZ(e.value,t.value),e.value.length-e.selectionEnd,t.value.length-t.selectionEnd);e.value.substring(r,e.value.length-o);const s=t.value.substring(r,t.value.length-o),a=e.selectionStart-r,l=e.selectionEnd-r,u=t.selectionStart-r,c=t.selectionEnd-r;if(u===c){const h=e.selectionStart-r;return{text:s,replacePrevCharCnt:h,replaceNextCharCnt:0,positionDelta:0}}const d=l-a;return{text:s,replacePrevCharCnt:d,replaceNextCharCnt:0,positionDelta:0}}static deduceAndroidCompositionInput(e,t){if(!e)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};if(e.value===t.value)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:t.selectionEnd-e.selectionEnd};const i=Math.min(Pb(e.value,t.value),e.selectionEnd),r=Math.min(UZ(e.value,t.value),e.value.length-e.selectionEnd),o=e.value.substring(i,e.value.length-r),s=t.value.substring(i,t.value.length-r);e.selectionStart-i;const a=e.selectionEnd-i;t.selectionStart-i;const l=t.selectionEnd-i;return{text:s,replacePrevCharCnt:a,replaceNextCharCnt:o.length-a,positionDelta:l-s.length}}}Zs.EMPTY=new Zs("",0,0,null,void 0);class s2{static _getPageOfLine(e,t){return Math.floor((e-1)/t)}static _getRangeForPage(e,t){const i=e*t,r=i+1,o=i+t;return new J(r,1,o+1,1)}static fromEditorSelection(e,t,i,r){const s=s2._getPageOfLine(t.startLineNumber,i),a=s2._getRangeForPage(s,i),l=s2._getPageOfLine(t.endLineNumber,i),u=s2._getRangeForPage(l,i);let c=a.intersectRanges(new J(1,1,t.startLineNumber,t.startColumn));if(r&&e.getValueLengthInRange(c,1)>500){const v=e.modifyPosition(c.getEndPosition(),-500);c=J.fromPositions(v,c.getEndPosition())}const d=e.getValueInRange(c,1),h=e.getLineCount(),m=e.getLineMaxColumn(h);let f=u.intersectRanges(new J(t.endLineNumber,t.endColumn,h,m));if(r&&e.getValueLengthInRange(f,1)>500){const v=e.modifyPosition(f.getStartPosition(),500);f=J.fromPositions(f.getStartPosition(),v)}const g=e.getValueInRange(f,1);let b;if(s===l||s+1===l)b=e.getValueInRange(t,1);else{const v=a.intersectRanges(t),C=u.intersectRanges(t);b=e.getValueInRange(v,1)+"…"+e.getValueInRange(C,1)}return r&&b.length>2*500&&(b=b.substring(0,500)+"…"+b.substring(b.length-500,b.length)),new Zs(d+b+g,d.length,d.length+b.length,t,c.endLineNumber-c.startLineNumber)}}var evt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Vve=function(n,e){return function(t,i){e(t,i,n)}},bW;(function(n){n.Tap="-monaco-textarea-synthetic-tap"})(bW||(bW={}));const k6={forceCopyWithSyntaxHighlighting:!1};class VI{constructor(){this._lastState=null}set(e,t){this._lastState={lastCopiedValue:e,data:t}}get(e){return this._lastState&&this._lastState.lastCopiedValue===e?this._lastState.data:(this._lastState=null,null)}}VI.INSTANCE=new VI;class tvt{constructor(){this._lastTypeTextLength=0}handleCompositionUpdate(e){e=e||"";const t={text:e,replacePrevCharCnt:this._lastTypeTextLength,replaceNextCharCnt:0,positionDelta:0};return this._lastTypeTextLength=e.length,t}}let N6=class extends Ie{get textAreaState(){return this._textAreaState}constructor(e,t,i,r,o,s){super(),this._host=e,this._textArea=t,this._OS=i,this._browser=r,this._accessibilityService=o,this._logService=s,this._onFocus=this._register(new be),this.onFocus=this._onFocus.event,this._onBlur=this._register(new be),this.onBlur=this._onBlur.event,this._onKeyDown=this._register(new be),this.onKeyDown=this._onKeyDown.event,this._onKeyUp=this._register(new be),this.onKeyUp=this._onKeyUp.event,this._onCut=this._register(new be),this.onCut=this._onCut.event,this._onPaste=this._register(new be),this.onPaste=this._onPaste.event,this._onType=this._register(new be),this.onType=this._onType.event,this._onCompositionStart=this._register(new be),this.onCompositionStart=this._onCompositionStart.event,this._onCompositionUpdate=this._register(new be),this.onCompositionUpdate=this._onCompositionUpdate.event,this._onCompositionEnd=this._register(new be),this.onCompositionEnd=this._onCompositionEnd.event,this._onSelectionChangeRequest=this._register(new be),this.onSelectionChangeRequest=this._onSelectionChangeRequest.event,this._asyncFocusGainWriteScreenReaderContent=this._register(new Ms),this._asyncTriggerCut=this._register(new Ri(()=>this._onCut.fire(),0)),this._textAreaState=Zs.EMPTY,this._selectionChangeListener=null,this._accessibilityService.isScreenReaderOptimized()&&this.writeNativeTextAreaContent("ctor"),this._register(lt.runAndSubscribe(this._accessibilityService.onDidChangeScreenReaderOptimized,()=>{this._accessibilityService.isScreenReaderOptimized()&&!this._asyncFocusGainWriteScreenReaderContent.value?this._asyncFocusGainWriteScreenReaderContent.value=this._register(new Ri(()=>this.writeNativeTextAreaContent("asyncFocusGain"),0)):this._asyncFocusGainWriteScreenReaderContent.clear()})),this._hasFocus=!1,this._currentComposition=null;let a=null;this._register(this._textArea.onKeyDown(l=>{const u=new sr(l);(u.keyCode===114||this._currentComposition&&u.keyCode===1)&&u.stopPropagation(),u.equals(9)&&u.preventDefault(),a=u,this._onKeyDown.fire(u)})),this._register(this._textArea.onKeyUp(l=>{const u=new sr(l);this._onKeyUp.fire(u)})),this._register(this._textArea.onCompositionStart(l=>{const u=new tvt;if(this._currentComposition){this._currentComposition=u;return}if(this._currentComposition=u,this._OS===2&&a&&a.equals(114)&&this._textAreaState.selectionStart===this._textAreaState.selectionEnd&&this._textAreaState.selectionStart>0&&this._textAreaState.value.substr(this._textAreaState.selectionStart-1,1)===l.data&&(a.code==="ArrowRight"||a.code==="ArrowLeft")){u.handleCompositionUpdate("x"),this._onCompositionStart.fire({data:l.data});return}if(this._browser.isAndroid){this._onCompositionStart.fire({data:l.data});return}this._onCompositionStart.fire({data:l.data})})),this._register(this._textArea.onCompositionUpdate(l=>{const u=this._currentComposition;if(!u)return;if(this._browser.isAndroid){const d=Zs.readFromTextArea(this._textArea,this._textAreaState),h=Zs.deduceAndroidCompositionInput(this._textAreaState,d);this._textAreaState=d,this._onType.fire(h),this._onCompositionUpdate.fire(l);return}const c=u.handleCompositionUpdate(l.data);this._textAreaState=Zs.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(c),this._onCompositionUpdate.fire(l)})),this._register(this._textArea.onCompositionEnd(l=>{const u=this._currentComposition;if(!u)return;if(this._currentComposition=null,this._browser.isAndroid){const d=Zs.readFromTextArea(this._textArea,this._textAreaState),h=Zs.deduceAndroidCompositionInput(this._textAreaState,d);this._textAreaState=d,this._onType.fire(h),this._onCompositionEnd.fire();return}const c=u.handleCompositionUpdate(l.data);this._textAreaState=Zs.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(c),this._onCompositionEnd.fire()})),this._register(this._textArea.onInput(l=>{if(this._textArea.setIgnoreSelectionChangeTime("received input event"),this._currentComposition)return;const u=Zs.readFromTextArea(this._textArea,this._textAreaState),c=Zs.deduceInput(this._textAreaState,u,this._OS===2);c.replacePrevCharCnt===0&&c.text.length===1&&(os(c.text.charCodeAt(0))||c.text.charCodeAt(0)===127)||(this._textAreaState=u,(c.text!==""||c.replacePrevCharCnt!==0||c.replaceNextCharCnt!==0||c.positionDelta!==0)&&this._onType.fire(c))})),this._register(this._textArea.onCut(l=>{this._textArea.setIgnoreSelectionChangeTime("received cut event"),this._ensureClipboardGetsEditorSelection(l),this._asyncTriggerCut.schedule()})),this._register(this._textArea.onCopy(l=>{this._ensureClipboardGetsEditorSelection(l)})),this._register(this._textArea.onPaste(l=>{if(this._textArea.setIgnoreSelectionChangeTime("received paste event"),l.preventDefault(),!l.clipboardData)return;let[u,c]=T6.getTextData(l.clipboardData);u&&(c=c||VI.INSTANCE.get(u),this._onPaste.fire({text:u,metadata:c}))})),this._register(this._textArea.onFocus(()=>{const l=this._hasFocus;this._setHasFocus(!0),this._accessibilityService.isScreenReaderOptimized()&&this._browser.isSafari&&!l&&this._hasFocus&&(this._asyncFocusGainWriteScreenReaderContent.value||(this._asyncFocusGainWriteScreenReaderContent.value=new Ri(()=>this.writeNativeTextAreaContent("asyncFocusGain"),0)),this._asyncFocusGainWriteScreenReaderContent.value.schedule())})),this._register(this._textArea.onBlur(()=>{this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent("blurWithoutCompositionEnd"),this._onCompositionEnd.fire()),this._setHasFocus(!1)})),this._register(this._textArea.onSyntheticTap(()=>{this._browser.isAndroid&&this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent("tapWithoutCompositionEnd"),this._onCompositionEnd.fire())}))}_installSelectionChangeListener(){let e=0;return Ae(this._textArea.ownerDocument,"selectionchange",t=>{if(n0.onSelectionChange(),!this._hasFocus||this._currentComposition||!this._browser.isChrome)return;const i=Date.now(),r=i-e;if(e=i,r<5)return;const o=i-this._textArea.getIgnoreSelectionChangeTime();if(this._textArea.resetSelectionChangeTime(),o<100||!this._textAreaState.selection)return;const s=this._textArea.getValue();if(this._textAreaState.value!==s)return;const a=this._textArea.getSelectionStart(),l=this._textArea.getSelectionEnd();if(this._textAreaState.selectionStart===a&&this._textAreaState.selectionEnd===l)return;const u=this._textAreaState.deduceEditorPosition(a),c=this._host.deduceModelPosition(u[0],u[1],u[2]),d=this._textAreaState.deduceEditorPosition(l),h=this._host.deduceModelPosition(d[0],d[1],d[2]),m=new Wt(c.lineNumber,c.column,h.lineNumber,h.column);this._onSelectionChangeRequest.fire(m)})}dispose(){super.dispose(),this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null)}focusTextArea(){this._setHasFocus(!0),this.refreshFocusState()}isFocused(){return this._hasFocus}refreshFocusState(){this._setHasFocus(this._textArea.hasFocus())}_setHasFocus(e){this._hasFocus!==e&&(this._hasFocus=e,this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null),this._hasFocus&&(this._selectionChangeListener=this._installSelectionChangeListener()),this._hasFocus&&this.writeNativeTextAreaContent("focusgain"),this._hasFocus?this._onFocus.fire():this._onBlur.fire())}_setAndWriteTextAreaState(e,t){this._hasFocus||(t=t.collapseSelection()),t.writeToTextArea(e,this._textArea,this._hasFocus),this._textAreaState=t}writeNativeTextAreaContent(e){!this._accessibilityService.isScreenReaderOptimized()&&e==="render"||this._currentComposition||(this._logService.trace(`writeTextAreaState(reason: ${e})`),this._setAndWriteTextAreaState(e,this._host.getScreenReaderContent()))}_ensureClipboardGetsEditorSelection(e){const t=this._host.getDataToCopy(),i={version:1,isFromEmptySelection:t.isFromEmptySelection,multicursorText:t.multicursorText,mode:t.mode};VI.INSTANCE.set(this._browser.isFirefox?t.text.replace(/\r\n/g,` -`):t.text,i),e.preventDefault(),e.clipboardData&&T6.setTextData(e.clipboardData,t.text,t.html,i)}};N6=evt([Vve(4,Vc),Vve(5,tl)],N6);const T6={getTextData(n){const e=n.getData(Pr.text);let t=null;const i=n.getData("vscode-editor-data");if(typeof i=="string")try{t=JSON.parse(i),t.version!==1&&(t=null)}catch{}return e.length===0&&t===null&&n.files.length>0?[Array.prototype.slice.call(n.files,0).map(o=>o.name).join(` -`),null]:[e,t]},setTextData(n,e,t,i){n.setData(Pr.text,e),typeof t=="string"&&n.setData("text/html",t),n.setData("vscode-editor-data",JSON.stringify(i))}};class nvt extends Ie{get ownerDocument(){return this._actual.ownerDocument}constructor(e){super(),this._actual=e,this.onKeyDown=this._register(new Jn(this._actual,"keydown")).event,this.onKeyUp=this._register(new Jn(this._actual,"keyup")).event,this.onCompositionStart=this._register(new Jn(this._actual,"compositionstart")).event,this.onCompositionUpdate=this._register(new Jn(this._actual,"compositionupdate")).event,this.onCompositionEnd=this._register(new Jn(this._actual,"compositionend")).event,this.onBeforeInput=this._register(new Jn(this._actual,"beforeinput")).event,this.onInput=this._register(new Jn(this._actual,"input")).event,this.onCut=this._register(new Jn(this._actual,"cut")).event,this.onCopy=this._register(new Jn(this._actual,"copy")).event,this.onPaste=this._register(new Jn(this._actual,"paste")).event,this.onFocus=this._register(new Jn(this._actual,"focus")).event,this.onBlur=this._register(new Jn(this._actual,"blur")).event,this._onSyntheticTap=this._register(new be),this.onSyntheticTap=this._onSyntheticTap.event,this._ignoreSelectionChangeTime=0,this._register(this.onKeyDown(()=>n0.onKeyDown())),this._register(this.onBeforeInput(()=>n0.onBeforeInput())),this._register(this.onInput(()=>n0.onInput())),this._register(this.onKeyUp(()=>n0.onKeyUp())),this._register(Ae(this._actual,bW.Tap,()=>this._onSyntheticTap.fire()))}hasFocus(){const e=Yv(this._actual);return e?e.activeElement===this._actual:this._actual.isConnected?js()===this._actual:!1}setIgnoreSelectionChangeTime(e){this._ignoreSelectionChangeTime=Date.now()}getIgnoreSelectionChangeTime(){return this._ignoreSelectionChangeTime}resetSelectionChangeTime(){this._ignoreSelectionChangeTime=0}getValue(){return this._actual.value}setValue(e,t){const i=this._actual;i.value!==t&&(this.setIgnoreSelectionChangeTime("setValue"),i.value=t)}getSelectionStart(){return this._actual.selectionDirection==="backward"?this._actual.selectionEnd:this._actual.selectionStart}getSelectionEnd(){return this._actual.selectionDirection==="backward"?this._actual.selectionStart:this._actual.selectionEnd}setSelectionRange(e,t,i){const r=this._actual;let o=null;const s=Yv(r);s?o=s.activeElement:o=js();const a=Qt(o),l=o===r,u=r.selectionStart,c=r.selectionEnd;if(l&&u===t&&c===i){Ic&&a.parent!==a&&r.focus();return}if(l){this.setIgnoreSelectionChangeTime("setSelectionRange"),r.setSelectionRange(t,i),Ic&&a.parent!==a&&r.focus();return}try{const d=kft(r);this.setIgnoreSelectionChangeTime("setSelectionRange"),r.focus(),r.setSelectionRange(t,i),Nft(r,d)}catch{}}}class ivt extends M6{constructor(e,t,i){super(e,t,i),this._register(ir.addTarget(this.viewHelper.linesContentDomNode)),this._register(Ae(this.viewHelper.linesContentDomNode,nr.Tap,o=>this.onTap(o))),this._register(Ae(this.viewHelper.linesContentDomNode,nr.Change,o=>this.onChange(o))),this._register(Ae(this.viewHelper.linesContentDomNode,nr.Contextmenu,o=>this._onContextMenu(new l0(o,!1,this.viewHelper.viewDomNode),!1))),this._lastPointerType="mouse",this._register(Ae(this.viewHelper.linesContentDomNode,"pointerdown",o=>{const s=o.pointerType;if(s==="mouse"){this._lastPointerType="mouse";return}else s==="touch"?this._lastPointerType="touch":this._lastPointerType="pen"}));const r=new c1t(this.viewHelper.viewDomNode);this._register(r.onPointerMove(this.viewHelper.viewDomNode,o=>this._onMouseMove(o))),this._register(r.onPointerUp(this.viewHelper.viewDomNode,o=>this._onMouseUp(o))),this._register(r.onPointerLeave(this.viewHelper.viewDomNode,o=>this._onMouseLeave(o))),this._register(r.onPointerDown(this.viewHelper.viewDomNode,(o,s)=>this._onMouseDown(o,s)))}onTap(e){!e.initialTarget||!this.viewHelper.linesContentDomNode.contains(e.initialTarget)||(e.preventDefault(),this.viewHelper.focusTextArea(),this._dispatchGesture(e,!1))}onChange(e){this._lastPointerType==="touch"&&this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX,-e.translationY),this._lastPointerType==="pen"&&this._dispatchGesture(e,!0)}_dispatchGesture(e,t){const i=this._createMouseTarget(new l0(e,!1,this.viewHelper.viewDomNode),!1);i.position&&this.viewController.dispatchMouse({position:i.position,mouseColumn:i.position.column,startedOnLineNumbers:!1,revealType:1,mouseDownCount:e.tapCount,inSelectionMode:t,altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1,leftButton:!1,middleButton:!1,onInjectedText:i.type===6&&i.detail.injectedText!==null})}_onMouseDown(e,t){e.browserEvent.pointerType!=="touch"&&super._onMouseDown(e,t)}}class rvt extends M6{constructor(e,t,i){super(e,t,i),this._register(ir.addTarget(this.viewHelper.linesContentDomNode)),this._register(Ae(this.viewHelper.linesContentDomNode,nr.Tap,r=>this.onTap(r))),this._register(Ae(this.viewHelper.linesContentDomNode,nr.Change,r=>this.onChange(r))),this._register(Ae(this.viewHelper.linesContentDomNode,nr.Contextmenu,r=>this._onContextMenu(new l0(r,!1,this.viewHelper.viewDomNode),!1)))}onTap(e){e.preventDefault(),this.viewHelper.focusTextArea();const t=this._createMouseTarget(new l0(e,!1,this.viewHelper.viewDomNode),!1);if(t.position){const i=document.createEvent("CustomEvent");i.initEvent(bW.Tap,!1,!0),this.viewHelper.dispatchTextAreaEvent(i),this.viewController.moveTo(t.position,1)}}onChange(e){this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)}}class ovt extends Ie{constructor(e,t,i){super(),(Vm||Mht&&_be)&&MH.pointerEvents?this.handler=this._register(new ivt(e,t,i)):Wi.TouchEvent?this.handler=this._register(new rvt(e,t,i)):this.handler=this._register(new M6(e,t,i))}getTargetAtClientPoint(e,t){return this.handler.getTargetAtClientPoint(e,t)}}class hy extends EI{}const jo=Un("themeService");function zr(n){return{id:n}}function E6(n){switch(n){case Xc.DARK:return"vs-dark";case Xc.HIGH_CONTRAST_DARK:return"hc-black";case Xc.HIGH_CONTRAST_LIGHT:return"hc-light";default:return"vs"}}const Ave={ThemingContribution:"base.contributions.theming"};class svt{constructor(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new be}onColorThemeChange(e){return this.themingParticipants.push(e),this.onThemingParticipantAddedEmitter.fire(e),jt(()=>{const t=this.themingParticipants.indexOf(e);this.themingParticipants.splice(t,1)})}getThemingParticipants(){return this.themingParticipants}}const Gve=new svt;Do.add(Ave.ThemingContribution,Gve);function Pc(n){return Gve.onColorThemeChange(n)}class avt extends Ie{constructor(e){super(),this.themeService=e,this.theme=e.getColorTheme(),this._register(this.themeService.onDidColorThemeChange(t=>this.onThemeChange(t)))}onThemeChange(e){this.theme=e,this.updateStyles()}updateStyles(){}}const Xve=re("editor.lineHighlightBackground",{dark:null,light:null,hcDark:null,hcLight:null},L("lineHighlight","Background color for the highlight of line at the cursor position.")),Pve=re("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hcDark:"#f38518",hcLight:Kn},L("lineHighlightBorderBox","Background color for the border around the line at the cursor position."));re("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hcDark:null,hcLight:null},L("rangeHighlight","Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations."),!0),re("editor.rangeHighlightBorder",{dark:null,light:null,hcDark:fr,hcLight:fr},L("rangeHighlightBorder","Background color of the border around highlighted ranges."),!0),re("editor.symbolHighlightBackground",{dark:Pg,light:Pg,hcDark:null,hcLight:null},L("symbolHighlight","Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations."),!0),re("editor.symbolHighlightBorder",{dark:null,light:null,hcDark:fr,hcLight:fr},L("symbolHighlightBorder","Background color of the border around highlighted symbols."),!0);const sf=re("editorCursor.foreground",{dark:"#AEAFAD",light:Ze.black,hcDark:Ze.white,hcLight:"#0F4A85"},L("caret","Color of the editor cursor.")),Ug=re("editorCursor.background",null,L("editorCursorBackground","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),Ove=re("editorMultiCursor.primary.foreground",{dark:sf,light:sf,hcDark:sf,hcLight:sf},L("editorMultiCursorPrimaryForeground","Color of the primary editor cursor when multiple cursors are present.")),lvt=re("editorMultiCursor.primary.background",{dark:Ug,light:Ug,hcDark:Ug,hcLight:Ug},L("editorMultiCursorPrimaryBackground","The background color of the primary editor cursor when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),Bve=re("editorMultiCursor.secondary.foreground",{dark:sf,light:sf,hcDark:sf,hcLight:sf},L("editorMultiCursorSecondaryForeground","Color of secondary editor cursors when multiple cursors are present.")),uvt=re("editorMultiCursor.secondary.background",{dark:Ug,light:Ug,hcDark:Ug,hcLight:Ug},L("editorMultiCursorSecondaryBackground","The background color of secondary editor cursors when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),Kg=re("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hcDark:"#e3e4e229",hcLight:"#CCCCCC"},L("editorWhitespaces","Color of whitespace characters in the editor.")),cvt=re("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hcDark:Ze.white,hcLight:"#292929"},L("editorLineNumbers","Color of editor line numbers.")),vW=re("editorIndentGuide.background",{dark:Kg,light:Kg,hcDark:Kg,hcLight:Kg},L("editorIndentGuides","Color of the editor indentation guides."),!1,L("deprecatedEditorIndentGuides","'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead.")),yW=re("editorIndentGuide.activeBackground",{dark:Kg,light:Kg,hcDark:Kg,hcLight:Kg},L("editorActiveIndentGuide","Color of the active editor indentation guides."),!1,L("deprecatedEditorActiveIndentGuide","'editorIndentGuide.activeBackground' is deprecated. Use 'editorIndentGuide.activeBackground1' instead.")),AI=re("editorIndentGuide.background1",{dark:vW,light:vW,hcDark:vW,hcLight:vW},L("editorIndentGuides1","Color of the editor indentation guides (1).")),dvt=re("editorIndentGuide.background2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},L("editorIndentGuides2","Color of the editor indentation guides (2).")),hvt=re("editorIndentGuide.background3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},L("editorIndentGuides3","Color of the editor indentation guides (3).")),mvt=re("editorIndentGuide.background4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},L("editorIndentGuides4","Color of the editor indentation guides (4).")),fvt=re("editorIndentGuide.background5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},L("editorIndentGuides5","Color of the editor indentation guides (5).")),gvt=re("editorIndentGuide.background6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},L("editorIndentGuides6","Color of the editor indentation guides (6).")),GI=re("editorIndentGuide.activeBackground1",{dark:yW,light:yW,hcDark:yW,hcLight:yW},L("editorActiveIndentGuide1","Color of the active editor indentation guides (1).")),pvt=re("editorIndentGuide.activeBackground2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},L("editorActiveIndentGuide2","Color of the active editor indentation guides (2).")),bvt=re("editorIndentGuide.activeBackground3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},L("editorActiveIndentGuide3","Color of the active editor indentation guides (3).")),vvt=re("editorIndentGuide.activeBackground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},L("editorActiveIndentGuide4","Color of the active editor indentation guides (4).")),yvt=re("editorIndentGuide.activeBackground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},L("editorActiveIndentGuide5","Color of the active editor indentation guides (5).")),Cvt=re("editorIndentGuide.activeBackground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},L("editorActiveIndentGuide6","Color of the active editor indentation guides (6).")),CW=re("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hcDark:fr,hcLight:fr},L("editorActiveLineNumber","Color of editor active line number"),!1,L("deprecatedEditorActiveLineNumber","Id is deprecated. Use 'editorLineNumber.activeForeground' instead."));re("editorLineNumber.activeForeground",{dark:CW,light:CW,hcDark:CW,hcLight:CW},L("editorActiveLineNumber","Color of editor active line number"));const wvt=re("editorLineNumber.dimmedForeground",{dark:null,light:null,hcDark:null,hcLight:null},L("editorDimmedLineNumber","Color of the final editor line when editor.renderFinalNewline is set to dimmed."));re("editorRuler.foreground",{dark:"#5A5A5A",light:Ze.lightgrey,hcDark:Ze.white,hcLight:"#292929"},L("editorRuler","Color of the editor rulers.")),re("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hcDark:"#999999",hcLight:"#292929"},L("editorCodeLensForeground","Foreground color of editor CodeLens")),re("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hcDark:"#0064001a",hcLight:"#0000"},L("editorBracketMatchBackground","Background color behind matching brackets")),re("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hcDark:Kn,hcLight:Kn},L("editorBracketMatchBorder","Color for matching brackets boxes"));const Svt=re("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hcDark:"#7f7f7f4d",hcLight:"#666666"},L("editorOverviewRulerBorder","Color of the overview ruler border.")),xvt=re("editorOverviewRuler.background",null,L("editorOverviewRulerBackground","Background color of the editor overview ruler."));re("editorGutter.background",{dark:as,light:as,hcDark:as,hcLight:as},L("editorGutter","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),re("editorUnnecessaryCode.border",{dark:null,light:null,hcDark:Ze.fromHex("#fff").transparent(.8),hcLight:Kn},L("unnecessaryCodeBorder","Border color of unnecessary (unused) source code in the editor."));const Lvt=re("editorUnnecessaryCode.opacity",{dark:Ze.fromHex("#000a"),light:Ze.fromHex("#0007"),hcDark:null,hcLight:null},L("unnecessaryCodeOpacity",`Opacity of unnecessary (unused) source code in the editor. For example, "#000000c0" will render the code with 75% opacity. For high contrast themes, use the 'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out.`));re("editorGhostText.border",{dark:null,light:null,hcDark:Ze.fromHex("#fff").transparent(.8),hcLight:Ze.fromHex("#292929").transparent(.8)},L("editorGhostTextBorder","Border color of ghost text in the editor.")),re("editorGhostText.foreground",{dark:Ze.fromHex("#ffffff56"),light:Ze.fromHex("#0007"),hcDark:null,hcLight:null},L("editorGhostTextForeground","Foreground color of the ghost text in the editor.")),re("editorGhostText.background",{dark:null,light:null,hcDark:null,hcLight:null},L("editorGhostTextBackground","Background color of the ghost text in the editor."));const wW=new Ze(new ni(0,122,204,.6)),_vt=re("editorOverviewRuler.rangeHighlightForeground",{dark:wW,light:wW,hcDark:wW,hcLight:wW},L("overviewRulerRangeHighlight","Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),Fvt=re("editorOverviewRuler.errorForeground",{dark:new Ze(new ni(255,18,18,.7)),light:new Ze(new ni(255,18,18,.7)),hcDark:new Ze(new ni(255,50,50,1)),hcLight:"#B5200D"},L("overviewRuleError","Overview ruler marker color for errors.")),Ivt=re("editorOverviewRuler.warningForeground",{dark:Ia,light:Ia,hcDark:_I,hcLight:_I},L("overviewRuleWarning","Overview ruler marker color for warnings.")),Dvt=re("editorOverviewRuler.infoForeground",{dark:Gl,light:Gl,hcDark:FI,hcLight:FI},L("overviewRuleInfo","Overview ruler marker color for infos.")),zve=re("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hcDark:"#FFD700",hcLight:"#0431FAFF"},L("editorBracketHighlightForeground1","Foreground color of brackets (1). Requires enabling bracket pair colorization.")),Hve=re("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hcDark:"#DA70D6",hcLight:"#319331FF"},L("editorBracketHighlightForeground2","Foreground color of brackets (2). Requires enabling bracket pair colorization.")),Yve=re("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hcDark:"#87CEFA",hcLight:"#7B3814FF"},L("editorBracketHighlightForeground3","Foreground color of brackets (3). Requires enabling bracket pair colorization.")),Uve=re("editorBracketHighlight.foreground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},L("editorBracketHighlightForeground4","Foreground color of brackets (4). Requires enabling bracket pair colorization.")),Kve=re("editorBracketHighlight.foreground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},L("editorBracketHighlightForeground5","Foreground color of brackets (5). Requires enabling bracket pair colorization.")),Jve=re("editorBracketHighlight.foreground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},L("editorBracketHighlightForeground6","Foreground color of brackets (6). Requires enabling bracket pair colorization.")),Mvt=re("editorBracketHighlight.unexpectedBracket.foreground",{dark:new Ze(new ni(255,18,18,.8)),light:new Ze(new ni(255,18,18,.8)),hcDark:new Ze(new ni(255,50,50,1)),hcLight:""},L("editorBracketHighlightUnexpectedBracketForeground","Foreground color of unexpected brackets.")),kvt=re("editorBracketPairGuide.background1",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},L("editorBracketPairGuide.background1","Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),Nvt=re("editorBracketPairGuide.background2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},L("editorBracketPairGuide.background2","Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),Tvt=re("editorBracketPairGuide.background3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},L("editorBracketPairGuide.background3","Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),Evt=re("editorBracketPairGuide.background4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},L("editorBracketPairGuide.background4","Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),Zvt=re("editorBracketPairGuide.background5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},L("editorBracketPairGuide.background5","Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),Wvt=re("editorBracketPairGuide.background6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},L("editorBracketPairGuide.background6","Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),Rvt=re("editorBracketPairGuide.activeBackground1",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},L("editorBracketPairGuide.activeBackground1","Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),Vvt=re("editorBracketPairGuide.activeBackground2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},L("editorBracketPairGuide.activeBackground2","Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),Avt=re("editorBracketPairGuide.activeBackground3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},L("editorBracketPairGuide.activeBackground3","Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),Gvt=re("editorBracketPairGuide.activeBackground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},L("editorBracketPairGuide.activeBackground4","Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),Xvt=re("editorBracketPairGuide.activeBackground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},L("editorBracketPairGuide.activeBackground5","Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),Pvt=re("editorBracketPairGuide.activeBackground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},L("editorBracketPairGuide.activeBackground6","Background color of active bracket pair guides (6). Requires enabling bracket pair guides."));re("editorUnicodeHighlight.border",{dark:Ia,light:Ia,hcDark:Ia,hcLight:Ia},L("editorUnicodeHighlight.border","Border color used to highlight unicode characters.")),re("editorUnicodeHighlight.background",{dark:tW,light:tW,hcDark:tW,hcLight:tW},L("editorUnicodeHighlight.background","Background color used to highlight unicode characters.")),Pc((n,e)=>{const t=n.getColor(as),i=n.getColor(Xve),r=i&&!i.isTransparent()?i:t;r&&e.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${r}; }`)});class XI extends hy{constructor(e){super(),this._context=e,this._readConfig(),this._lastCursorModelPosition=new ye(1,1),this._renderResult=null,this._activeLineNumber=1,this._context.addEventHandler(this)}_readConfig(){const e=this._context.configuration.options;this._lineHeight=e.get(67);const t=e.get(68);this._renderLineNumbers=t.renderType,this._renderCustomLineNumbers=t.renderFn,this._renderFinalNewline=e.get(95);const i=e.get(145);this._lineNumbersLeft=i.lineNumbersLeft,this._lineNumbersWidth=i.lineNumbersWidth}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){return this._readConfig(),!0}onCursorStateChanged(e){const t=e.selections[0].getPosition();this._lastCursorModelPosition=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(t);let i=!1;return this._activeLineNumber!==t.lineNumber&&(this._activeLineNumber=t.lineNumber,i=!0),(this._renderLineNumbers===2||this._renderLineNumbers===3)&&(i=!0),i}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}onDecorationsChanged(e){return e.affectsLineNumber}_getLineRenderLineNumber(e){const t=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new ye(e,1));if(t.column!==1)return"";const i=t.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(i);if(this._renderLineNumbers===2){const r=Math.abs(this._lastCursorModelPosition.lineNumber-i);return r===0?''+i+"":String(r)}if(this._renderLineNumbers===3){if(this._lastCursorModelPosition.lineNumber===i||i%10===0)return String(i);const r=this._context.viewModel.getLineCount();return i===r?String(i):""}return String(i)}prepareRender(e){if(this._renderLineNumbers===0){this._renderResult=null;return}const t=Ja?this._lineHeight%2===0?" lh-even":" lh-odd":"",i=e.visibleRange.startLineNumber,r=e.visibleRange.endLineNumber,o=this._context.viewModel.getDecorationsInViewport(e.visibleRange).filter(u=>!!u.options.lineNumberClassName);o.sort((u,c)=>J.compareRangesUsingEnds(u.range,c.range));let s=0;const a=this._context.viewModel.getLineCount(),l=[];for(let u=i;u<=r;u++){const c=u-i;let d=this._getLineRenderLineNumber(u),h="";for(;s${d}`}this._renderResult=l}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}XI.CLASS_NAME="line-numbers",Pc((n,e)=>{const t=n.getColor(cvt),i=n.getColor(wvt);i?e.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${i}; }`):t&&e.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${t.transparent(.4)}; }`)});class my extends du{constructor(e){super(e);const t=this._context.configuration.options,i=t.get(145);this._canUseLayerHinting=!t.get(32),this._contentLeft=i.contentLeft,this._glyphMarginLeft=i.glyphMarginLeft,this._glyphMarginWidth=i.glyphMarginWidth,this._domNode=Si(document.createElement("div")),this._domNode.setClassName(my.OUTER_CLASS_NAME),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._glyphMarginBackgroundDomNode=Si(document.createElement("div")),this._glyphMarginBackgroundDomNode.setClassName(my.CLASS_NAME),this._domNode.appendChild(this._glyphMarginBackgroundDomNode)}dispose(){super.dispose()}getDomNode(){return this._domNode}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(145);return this._canUseLayerHinting=!t.get(32),this._contentLeft=i.contentLeft,this._glyphMarginLeft=i.glyphMarginLeft,this._glyphMarginWidth=i.glyphMarginWidth,!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollTopChanged}prepareRender(e){}render(e){this._domNode.setLayerHinting(this._canUseLayerHinting),this._domNode.setContain("strict");const t=e.scrollTop-e.bigNumbersDelta;this._domNode.setTop(-t);const i=Math.min(e.scrollHeight,1e6);this._domNode.setHeight(i),this._domNode.setWidth(this._contentLeft),this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft),this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth),this._glyphMarginBackgroundDomNode.setHeight(i)}}my.CLASS_NAME="glyph-margin",my.OUTER_CLASS_NAME="margin";const a2="monaco-mouse-cursor-text";let Ovt=class{constructor(){this._tokenizationSupports=new Map,this._factories=new Map,this._onDidChange=new be,this.onDidChange=this._onDidChange.event,this._colorMap=null}handleChange(e){this._onDidChange.fire({changedLanguages:e,changedColorMap:!1})}register(e,t){return this._tokenizationSupports.set(e,t),this.handleChange([e]),jt(()=>{this._tokenizationSupports.get(e)===t&&(this._tokenizationSupports.delete(e),this.handleChange([e]))})}get(e){return this._tokenizationSupports.get(e)||null}registerFactory(e,t){var i;(i=this._factories.get(e))===null||i===void 0||i.dispose();const r=new Bvt(this,e,t);return this._factories.set(e,r),jt(()=>{const o=this._factories.get(e);!o||o!==r||(this._factories.delete(e),o.dispose())})}async getOrCreate(e){const t=this.get(e);if(t)return t;const i=this._factories.get(e);return!i||i.isResolved?null:(await i.resolve(),this.get(e))}isResolved(e){if(this.get(e))return!0;const i=this._factories.get(e);return!!(!i||i.isResolved)}setColorMap(e){this._colorMap=e,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}};class Bvt extends Ie{get isResolved(){return this._isResolved}constructor(e,t,i){super(),this._registry=e,this._languageId=t,this._factory=i,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}dispose(){this._isDisposed=!0,super.dispose()}async resolve(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise}async _create(){const e=await this._factory.tokenizationSupport;this._isResolved=!0,e&&!this._isDisposed&&this._register(this._registry.register(this._languageId,e))}}let PI=class{constructor(e,t,i){this.offset=e,this.type=t,this.language=i,this._tokenBrand=void 0}toString(){return"("+this.offset+", "+this.type+")"}};class Z6{constructor(e,t){this.tokens=e,this.endState=t,this._tokenizationResultBrand=void 0}}class SW{constructor(e,t){this.tokens=e,this.endState=t,this._encodedTokenizationResultBrand=void 0}}var OI;(function(n){const e=new Map;e.set(0,ut.symbolMethod),e.set(1,ut.symbolFunction),e.set(2,ut.symbolConstructor),e.set(3,ut.symbolField),e.set(4,ut.symbolVariable),e.set(5,ut.symbolClass),e.set(6,ut.symbolStruct),e.set(7,ut.symbolInterface),e.set(8,ut.symbolModule),e.set(9,ut.symbolProperty),e.set(10,ut.symbolEvent),e.set(11,ut.symbolOperator),e.set(12,ut.symbolUnit),e.set(13,ut.symbolValue),e.set(15,ut.symbolEnum),e.set(14,ut.symbolConstant),e.set(15,ut.symbolEnum),e.set(16,ut.symbolEnumMember),e.set(17,ut.symbolKeyword),e.set(27,ut.symbolSnippet),e.set(18,ut.symbolText),e.set(19,ut.symbolColor),e.set(20,ut.symbolFile),e.set(21,ut.symbolReference),e.set(22,ut.symbolCustomColor),e.set(23,ut.symbolFolder),e.set(24,ut.symbolTypeParameter),e.set(25,ut.account),e.set(26,ut.issues);function t(o){let s=e.get(o);return s||(s=ut.symbolProperty),s}n.toIcon=t;const i=new Map;i.set("method",0),i.set("function",1),i.set("constructor",2),i.set("field",3),i.set("variable",4),i.set("class",5),i.set("struct",6),i.set("interface",7),i.set("module",8),i.set("property",9),i.set("event",10),i.set("operator",11),i.set("unit",12),i.set("value",13),i.set("constant",14),i.set("enum",15),i.set("enum-member",16),i.set("enumMember",16),i.set("keyword",17),i.set("snippet",27),i.set("text",18),i.set("color",19),i.set("file",20),i.set("reference",21),i.set("customcolor",22),i.set("folder",23),i.set("type-parameter",24),i.set("typeParameter",24),i.set("account",25),i.set("issue",26);function r(o,s){let a=i.get(o);return typeof a>"u"&&!s&&(a=9),a}n.fromString=r})(OI||(OI={}));var Jg;(function(n){n[n.Automatic=0]="Automatic",n[n.Explicit=1]="Explicit"})(Jg||(Jg={}));class jve{constructor(e,t,i,r){this.range=e,this.text=t,this.completionKind=i,this.isSnippetText=r}equals(e){return J.lift(this.range).equalsRange(e.range)&&this.text===e.text&&this.completionKind===e.completionKind&&this.isSnippetText===e.isSnippetText}}var BI;(function(n){n[n.Automatic=0]="Automatic",n[n.PasteAs=1]="PasteAs"})(BI||(BI={}));var af;(function(n){n[n.Invoke=1]="Invoke",n[n.TriggerCharacter=2]="TriggerCharacter",n[n.ContentChange=3]="ContentChange"})(af||(af={}));var zI;(function(n){n[n.Text=0]="Text",n[n.Read=1]="Read",n[n.Write=2]="Write"})(zI||(zI={}));function zvt(n){return n&&en.isUri(n.uri)&&J.isIRange(n.range)&&(J.isIRange(n.originSelectionRange)||J.isIRange(n.targetSelectionRange))}L("Array","array"),L("Boolean","boolean"),L("Class","class"),L("Constant","constant"),L("Constructor","constructor"),L("Enum","enumeration"),L("EnumMember","enumeration member"),L("Event","event"),L("Field","field"),L("File","file"),L("Function","function"),L("Interface","interface"),L("Key","key"),L("Method","method"),L("Module","module"),L("Namespace","namespace"),L("Null","null"),L("Number","number"),L("Object","object"),L("Operator","operator"),L("Package","package"),L("Property","property"),L("String","string"),L("Struct","struct"),L("TypeParameter","type parameter"),L("Variable","variable");var W6;(function(n){const e=new Map;e.set(0,ut.symbolFile),e.set(1,ut.symbolModule),e.set(2,ut.symbolNamespace),e.set(3,ut.symbolPackage),e.set(4,ut.symbolClass),e.set(5,ut.symbolMethod),e.set(6,ut.symbolProperty),e.set(7,ut.symbolField),e.set(8,ut.symbolConstructor),e.set(9,ut.symbolEnum),e.set(10,ut.symbolInterface),e.set(11,ut.symbolFunction),e.set(12,ut.symbolVariable),e.set(13,ut.symbolConstant),e.set(14,ut.symbolString),e.set(15,ut.symbolNumber),e.set(16,ut.symbolBoolean),e.set(17,ut.symbolArray),e.set(18,ut.symbolObject),e.set(19,ut.symbolKey),e.set(20,ut.symbolNull),e.set(21,ut.symbolEnumMember),e.set(22,ut.symbolStruct),e.set(23,ut.symbolEvent),e.set(24,ut.symbolOperator),e.set(25,ut.symbolTypeParameter);function t(i){let r=e.get(i);return r||(r=ut.symbolProperty),r}n.toIcon=t})(W6||(W6={}));let Zd=class EN{static fromValue(e){switch(e){case"comment":return EN.Comment;case"imports":return EN.Imports;case"region":return EN.Region}return new EN(e)}constructor(e){this.value=e}};Zd.Comment=new Zd("comment"),Zd.Imports=new Zd("imports"),Zd.Region=new Zd("region");var R6;(function(n){n[n.AIGenerated=1]="AIGenerated"})(R6||(R6={}));var V6;(function(n){function e(t){return!t||typeof t!="object"?!1:typeof t.id=="string"&&typeof t.title=="string"}n.is=e})(V6||(V6={}));var xW;(function(n){n[n.Type=1]="Type",n[n.Parameter=2]="Parameter"})(xW||(xW={}));class Hvt{constructor(e){this.createSupport=e,this._tokenizationSupport=null}dispose(){this._tokenizationSupport&&this._tokenizationSupport.then(e=>{e&&e.dispose()})}get tokenizationSupport(){return this._tokenizationSupport||(this._tokenizationSupport=this.createSupport()),this._tokenizationSupport}}const bo=new Ovt;var LW;(function(n){n[n.Invoke=0]="Invoke",n[n.Automatic=1]="Automatic"})(LW||(LW={}));class Yvt{constructor(){this._onDidChange=new be,this.onDidChange=this._onDidChange.event,this._enabled=!0}get enabled(){return this._enabled}enable(){this._enabled=!0,this._onDidChange.fire()}disable(){this._enabled=!1,this._onDidChange.fire()}}const HI=new Yvt,Bi=Un("keybindingService");var Uvt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Qve=function(n,e){return function(t,i){e(t,i,n)}};class Kvt{constructor(e,t,i,r,o){this._context=e,this.modelLineNumber=t,this.distanceToModelLineStart=i,this.widthOfHiddenLineTextBefore=r,this.distanceToModelLineEnd=o,this._visibleTextAreaBrand=void 0,this.startPosition=null,this.endPosition=null,this.visibleTextareaStart=null,this.visibleTextareaEnd=null,this._previousPresentation=null}prepareRender(e){const t=new ye(this.modelLineNumber,this.distanceToModelLineStart+1),i=new ye(this.modelLineNumber,this._context.viewModel.model.getLineMaxColumn(this.modelLineNumber)-this.distanceToModelLineEnd);this.startPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(t),this.endPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i),this.startPosition.lineNumber===this.endPosition.lineNumber?(this.visibleTextareaStart=e.visibleRangeForPosition(this.startPosition),this.visibleTextareaEnd=e.visibleRangeForPosition(this.endPosition)):(this.visibleTextareaStart=null,this.visibleTextareaEnd=null)}definePresentation(e){return this._previousPresentation||(e?this._previousPresentation=e:this._previousPresentation={foreground:1,italic:!1,bold:!1,underline:!1,strikethrough:!1}),this._previousPresentation}}const A6=Ic;let G6=class extends du{constructor(e,t,i,r,o){super(e),this._keybindingService=r,this._instantiationService=o,this._primaryCursorPosition=new ye(1,1),this._primaryCursorVisibleRange=null,this._viewController=t,this._visibleRangeProvider=i,this._scrollLeft=0,this._scrollTop=0;const s=this._context.configuration.options,a=s.get(145);this._setAccessibilityOptions(s),this._contentLeft=a.contentLeft,this._contentWidth=a.contentWidth,this._contentHeight=a.height,this._fontInfo=s.get(50),this._lineHeight=s.get(67),this._emptySelectionClipboard=s.get(37),this._copyWithSyntaxHighlighting=s.get(25),this._visibleTextArea=null,this._selections=[new Wt(1,1,1,1)],this._modelSelections=[new Wt(1,1,1,1)],this._lastRenderPosition=null,this.textArea=Si(document.createElement("textarea")),Xh.write(this.textArea,7),this.textArea.setClassName(`inputarea ${a2}`),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:l}=this._context.viewModel.model.getOptions();this.textArea.domNode.style.tabSize=`${l*this._fontInfo.spaceWidth}px`,this.textArea.setAttribute("autocorrect","off"),this.textArea.setAttribute("autocapitalize","off"),this.textArea.setAttribute("autocomplete","off"),this.textArea.setAttribute("spellcheck","false"),this.textArea.setAttribute("aria-label",this._getAriaLabel(s)),this.textArea.setAttribute("aria-required",s.get(5)?"true":"false"),this.textArea.setAttribute("tabindex",String(s.get(124))),this.textArea.setAttribute("role","textbox"),this.textArea.setAttribute("aria-roledescription",L("editor","editor")),this.textArea.setAttribute("aria-multiline","true"),this.textArea.setAttribute("aria-autocomplete",s.get(91)?"none":"both"),this._ensureReadOnlyAttribute(),this.textAreaCover=Si(document.createElement("div")),this.textAreaCover.setPosition("absolute");const u={getLineCount:()=>this._context.viewModel.getLineCount(),getLineMaxColumn:h=>this._context.viewModel.getLineMaxColumn(h),getValueInRange:(h,m)=>this._context.viewModel.getValueInRange(h,m),getValueLengthInRange:(h,m)=>this._context.viewModel.getValueLengthInRange(h,m),modifyPosition:(h,m)=>this._context.viewModel.modifyPosition(h,m)},c={getDataToCopy:()=>{const h=this._context.viewModel.getPlainTextToCopy(this._modelSelections,this._emptySelectionClipboard,ha),m=this._context.viewModel.model.getEOL(),f=this._emptySelectionClipboard&&this._modelSelections.length===1&&this._modelSelections[0].isEmpty(),g=Array.isArray(h)?h:null,b=Array.isArray(h)?h.join(m):h;let v,C=null;if(k6.forceCopyWithSyntaxHighlighting||this._copyWithSyntaxHighlighting&&b.length<65536){const S=this._context.viewModel.getRichTextToCopy(this._modelSelections,this._emptySelectionClipboard);S&&(v=S.html,C=S.mode)}return{isFromEmptySelection:f,multicursorText:g,text:b,html:v,mode:C}},getScreenReaderContent:()=>{if(this._accessibilitySupport===1){const h=this._selections[0];if(On&&h.isEmpty()){const f=h.getStartPosition();let g=this._getWordBeforePosition(f);if(g.length===0&&(g=this._getCharacterBeforePosition(f)),g.length>0)return new Zs(g,g.length,g.length,J.fromPositions(f),0)}if(On&&!h.isEmpty()&&u.getValueLengthInRange(h,0)<500){const f=u.getValueInRange(h,0);return new Zs(f,0,f.length,h,0)}if(wg&&!h.isEmpty()){const f="vscode-placeholder";return new Zs(f,0,f.length,null,void 0)}return Zs.EMPTY}if(ybe){const h=this._selections[0];if(h.isEmpty()){const m=h.getStartPosition(),[f,g]=this._getAndroidWordAtPosition(m);if(f.length>0)return new Zs(f,g,g,J.fromPositions(m),0)}return Zs.EMPTY}return s2.fromEditorSelection(u,this._selections[0],this._accessibilityPageSize,this._accessibilitySupport===0)},deduceModelPosition:(h,m,f)=>this._context.viewModel.deduceModelPositionRelativeToViewPosition(h,m,f)},d=this._register(new nvt(this.textArea.domNode));this._textAreaInput=this._register(this._instantiationService.createInstance(N6,c,d,ru,{isAndroid:ybe,isChrome:YF,isFirefox:Ic,isSafari:wg})),this._register(this._textAreaInput.onKeyDown(h=>{this._viewController.emitKeyDown(h)})),this._register(this._textAreaInput.onKeyUp(h=>{this._viewController.emitKeyUp(h)})),this._register(this._textAreaInput.onPaste(h=>{let m=!1,f=null,g=null;h.metadata&&(m=this._emptySelectionClipboard&&!!h.metadata.isFromEmptySelection,f=typeof h.metadata.multicursorText<"u"?h.metadata.multicursorText:null,g=h.metadata.mode),this._viewController.paste(h.text,m,f,g)})),this._register(this._textAreaInput.onCut(()=>{this._viewController.cut()})),this._register(this._textAreaInput.onType(h=>{h.replacePrevCharCnt||h.replaceNextCharCnt||h.positionDelta?this._viewController.compositionType(h.text,h.replacePrevCharCnt,h.replaceNextCharCnt,h.positionDelta):this._viewController.type(h.text)})),this._register(this._textAreaInput.onSelectionChangeRequest(h=>{this._viewController.setSelection(h)})),this._register(this._textAreaInput.onCompositionStart(h=>{const m=this.textArea.domNode,f=this._modelSelections[0],{distanceToModelLineStart:g,widthOfHiddenTextBefore:b}=(()=>{const C=m.value.substring(0,Math.min(m.selectionStart,m.selectionEnd)),S=C.lastIndexOf(` -`),x=C.substring(S+1),_=x.lastIndexOf(" "),F=x.length-_-1,D=f.getStartPosition(),M=Math.min(D.column-1,F),T=D.column-1-M,Z=x.substring(0,x.length-M),{tabSize:E}=this._context.viewModel.model.getOptions(),R=Jvt(this.textArea.domNode.ownerDocument,Z,this._fontInfo,E);return{distanceToModelLineStart:T,widthOfHiddenTextBefore:R}})(),{distanceToModelLineEnd:v}=(()=>{const C=m.value.substring(Math.max(m.selectionStart,m.selectionEnd)),S=C.indexOf(` -`),x=S===-1?C:C.substring(0,S),_=x.indexOf(" "),F=_===-1?x.length:x.length-_-1,D=f.getEndPosition(),M=Math.min(this._context.viewModel.model.getLineMaxColumn(D.lineNumber)-D.column,F);return{distanceToModelLineEnd:this._context.viewModel.model.getLineMaxColumn(D.lineNumber)-D.column-M}})();this._context.viewModel.revealRange("keyboard",!0,J.fromPositions(this._selections[0].getStartPosition()),0,1),this._visibleTextArea=new Kvt(this._context,f.startLineNumber,g,b,v),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render(),this.textArea.setClassName(`inputarea ${a2} ime-input`),this._viewController.compositionStart(),this._context.viewModel.onCompositionStart()})),this._register(this._textAreaInput.onCompositionUpdate(h=>{this._visibleTextArea&&(this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render())})),this._register(this._textAreaInput.onCompositionEnd(()=>{this._visibleTextArea=null,this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._render(),this.textArea.setClassName(`inputarea ${a2}`),this._viewController.compositionEnd(),this._context.viewModel.onCompositionEnd()})),this._register(this._textAreaInput.onFocus(()=>{this._context.viewModel.setHasFocus(!0)})),this._register(this._textAreaInput.onBlur(()=>{this._context.viewModel.setHasFocus(!1)})),this._register(HI.onDidChange(()=>{this._ensureReadOnlyAttribute()}))}writeScreenReaderContent(e){this._textAreaInput.writeNativeTextAreaContent(e)}dispose(){super.dispose()}_getAndroidWordAtPosition(e){const t='`~!@#$%^&*()-=+[{]}\\|;:",.<>/?',i=this._context.viewModel.getLineContent(e.lineNumber),r=Nc(t,[]);let o=!0,s=e.column,a=!0,l=e.column,u=0;for(;u<50&&(o||a);){if(o&&s<=1&&(o=!1),o){const c=i.charCodeAt(s-2);r.get(c)!==0?o=!1:s--}if(a&&l>i.length&&(a=!1),a){const c=i.charCodeAt(l-1);r.get(c)!==0?a=!1:l++}u++}return[i.substring(s-1,l-1),e.column-s]}_getWordBeforePosition(e){const t=this._context.viewModel.getLineContent(e.lineNumber),i=Nc(this._context.configuration.options.get(131),[]);let r=e.column,o=0;for(;r>1;){const s=t.charCodeAt(r-2);if(i.get(s)!==0||o>50)return t.substring(r-1,e.column-1);o++,r--}return t.substring(0,e.column-1)}_getCharacterBeforePosition(e){if(e.column>1){const i=this._context.viewModel.getLineContent(e.lineNumber).charAt(e.column-2);if(!os(i.charCodeAt(0)))return i}return""}_getAriaLabel(e){var t,i,r;if(e.get(2)===1){const s=(t=this._keybindingService.lookupKeybinding("editor.action.toggleScreenReaderAccessibilityMode"))===null||t===void 0?void 0:t.getAriaLabel(),a=(i=this._keybindingService.lookupKeybinding("workbench.action.showCommands"))===null||i===void 0?void 0:i.getAriaLabel(),l=(r=this._keybindingService.lookupKeybinding("workbench.action.openGlobalKeybindings"))===null||r===void 0?void 0:r.getAriaLabel(),u=L("accessibilityModeOff","The editor is not accessible at this time.");return s?L("accessibilityOffAriaLabel","{0} To enable screen reader optimized mode, use {1}",u,s):a?L("accessibilityOffAriaLabelNoKb","{0} To enable screen reader optimized mode, open the quick pick with {1} and run the command Toggle Screen Reader Accessibility Mode, which is currently not triggerable via keyboard.",u,a):l?L("accessibilityOffAriaLabelNoKbs","{0} Please assign a keybinding for the command Toggle Screen Reader Accessibility Mode by accessing the keybindings editor with {1} and run it.",u,l):u}return e.get(4)}_setAccessibilityOptions(e){this._accessibilitySupport=e.get(2);const t=e.get(3);this._accessibilitySupport===2&&t===Rh.accessibilityPageSize.defaultValue?this._accessibilityPageSize=500:this._accessibilityPageSize=t;const r=e.get(145).wrappingColumn;if(r!==-1&&this._accessibilitySupport!==1){const o=e.get(50);this._textAreaWrapping=!0,this._textAreaWidth=Math.round(r*o.typicalHalfwidthCharacterWidth)}else this._textAreaWrapping=!1,this._textAreaWidth=A6?0:1}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(145);this._setAccessibilityOptions(t),this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,this._contentHeight=i.height,this._fontInfo=t.get(50),this._lineHeight=t.get(67),this._emptySelectionClipboard=t.get(37),this._copyWithSyntaxHighlighting=t.get(25),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:r}=this._context.viewModel.model.getOptions();return this.textArea.domNode.style.tabSize=`${r*this._fontInfo.spaceWidth}px`,this.textArea.setAttribute("aria-label",this._getAriaLabel(t)),this.textArea.setAttribute("aria-required",t.get(5)?"true":"false"),this.textArea.setAttribute("tabindex",String(t.get(124))),(e.hasChanged(34)||e.hasChanged(91))&&this._ensureReadOnlyAttribute(),e.hasChanged(2)&&this._textAreaInput.writeNativeTextAreaContent("strategy changed"),!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),this._modelSelections=e.modelSelections.slice(0),this._textAreaInput.writeNativeTextAreaContent("selection changed"),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return this._scrollLeft=e.scrollLeft,this._scrollTop=e.scrollTop,!0}onZonesChanged(e){return!0}isFocused(){return this._textAreaInput.isFocused()}focusTextArea(){this._textAreaInput.focusTextArea()}getLastRenderData(){return this._lastRenderPosition}setAriaOptions(e){e.activeDescendant?(this.textArea.setAttribute("aria-haspopup","true"),this.textArea.setAttribute("aria-autocomplete","list"),this.textArea.setAttribute("aria-activedescendant",e.activeDescendant)):(this.textArea.setAttribute("aria-haspopup","false"),this.textArea.setAttribute("aria-autocomplete","both"),this.textArea.removeAttribute("aria-activedescendant")),e.role&&this.textArea.setAttribute("role",e.role)}_ensureReadOnlyAttribute(){const e=this._context.configuration.options;!HI.enabled||e.get(34)&&e.get(91)?this.textArea.setAttribute("readonly","true"):this.textArea.removeAttribute("readonly")}prepareRender(e){var t;this._primaryCursorPosition=new ye(this._selections[0].positionLineNumber,this._selections[0].positionColumn),this._primaryCursorVisibleRange=e.visibleRangeForPosition(this._primaryCursorPosition),(t=this._visibleTextArea)===null||t===void 0||t.prepareRender(e)}render(e){this._textAreaInput.writeNativeTextAreaContent("render"),this._render()}_render(){var e;if(this._visibleTextArea){const r=this._visibleTextArea.visibleTextareaStart,o=this._visibleTextArea.visibleTextareaEnd,s=this._visibleTextArea.startPosition,a=this._visibleTextArea.endPosition;if(s&&a&&r&&o&&o.left>=this._scrollLeft&&r.left<=this._scrollLeft+this._contentWidth){const l=this._context.viewLayout.getVerticalOffsetForLineNumber(this._primaryCursorPosition.lineNumber)-this._scrollTop,u=this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));let c=this._visibleTextArea.widthOfHiddenLineTextBefore,d=this._contentLeft+r.left-this._scrollLeft,h=o.left-r.left+1;if(dthis._contentWidth&&(h=this._contentWidth);const m=this._context.viewModel.getViewLineData(s.lineNumber),f=m.tokens.findTokenIndexAtOffset(s.column-1),g=m.tokens.findTokenIndexAtOffset(a.column-1),b=f===g,v=this._visibleTextArea.definePresentation(b?m.tokens.getPresentation(f):null);this.textArea.domNode.scrollTop=u*this._lineHeight,this.textArea.domNode.scrollLeft=c,this._doRender({lastRenderPosition:null,top:l,left:d,width:h,height:this._lineHeight,useCover:!1,color:(bo.getColorMap()||[])[v.foreground],italic:v.italic,bold:v.bold,underline:v.underline,strikethrough:v.strikethrough})}return}if(!this._primaryCursorVisibleRange){this._renderAtTopLeft();return}const t=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(tthis._contentLeft+this._contentWidth){this._renderAtTopLeft();return}const i=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;if(i<0||i>this._contentHeight){this._renderAtTopLeft();return}if(On||this._accessibilitySupport===2){this._doRender({lastRenderPosition:this._primaryCursorPosition,top:i,left:this._textAreaWrapping?this._contentLeft:t,width:this._textAreaWidth,height:this._lineHeight,useCover:!1}),this.textArea.domNode.scrollLeft=this._primaryCursorVisibleRange.left;const r=(e=this._textAreaInput.textAreaState.newlineCountBeforeSelection)!==null&&e!==void 0?e:this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));this.textArea.domNode.scrollTop=r*this._lineHeight;return}this._doRender({lastRenderPosition:this._primaryCursorPosition,top:i,left:this._textAreaWrapping?this._contentLeft:t,width:this._textAreaWidth,height:A6?0:1,useCover:!1})}_newlinecount(e){let t=0,i=-1;do{if(i=e.indexOf(` -`,i+1),i===-1)break;t++}while(!0);return t}_renderAtTopLeft(){this._doRender({lastRenderPosition:null,top:0,left:0,width:this._textAreaWidth,height:A6?0:1,useCover:!0})}_doRender(e){this._lastRenderPosition=e.lastRenderPosition;const t=this.textArea,i=this.textAreaCover;Ts(t,this._fontInfo),t.setTop(e.top),t.setLeft(e.left),t.setWidth(e.width),t.setHeight(e.height),t.setColor(e.color?Ze.Format.CSS.formatHex(e.color):""),t.setFontStyle(e.italic?"italic":""),e.bold&&t.setFontWeight("bold"),t.setTextDecoration(`${e.underline?" underline":""}${e.strikethrough?" line-through":""}`),i.setTop(e.useCover?e.top:0),i.setLeft(e.useCover?e.left:0),i.setWidth(e.useCover?e.width:0),i.setHeight(e.useCover?e.height:0);const r=this._context.configuration.options;r.get(57)?i.setClassName("monaco-editor-background textAreaCover "+my.OUTER_CLASS_NAME):r.get(68).renderType!==0?i.setClassName("monaco-editor-background textAreaCover "+XI.CLASS_NAME):i.setClassName("monaco-editor-background textAreaCover")}};G6=Uvt([Qve(3,Bi),Qve(4,$t)],G6);function Jvt(n,e,t,i){if(e.length===0)return 0;const r=n.createElement("div");r.style.position="absolute",r.style.top="-50000px",r.style.width="50000px";const o=n.createElement("span");Ts(o,t),o.style.whiteSpace="pre",o.style.tabSize=`${i*t.spaceWidth}px`,o.append(e),r.appendChild(o),n.body.appendChild(r);const s=o.offsetWidth;return n.body.removeChild(r),s}class jvt{constructor(e,t,i,r){this.configuration=e,this.viewModel=t,this.userInputEvents=i,this.commandDelegate=r}paste(e,t,i,r){this.commandDelegate.paste(e,t,i,r)}type(e){this.commandDelegate.type(e)}compositionType(e,t,i,r){this.commandDelegate.compositionType(e,t,i,r)}compositionStart(){this.commandDelegate.startComposition()}compositionEnd(){this.commandDelegate.endComposition()}cut(){this.commandDelegate.cut()}setSelection(e){bs.SetSelection.runCoreEditorCommand(this.viewModel,{source:"keyboard",selection:e})}_validateViewColumn(e){const t=this.viewModel.getLineMinColumn(e.lineNumber);return e.column=4?this._selectAll():e.mouseDownCount===3?this._hasMulticursorModifier(e)?e.inSelectionMode?this._lastCursorLineSelectDrag(e.position,e.revealType):this._lastCursorLineSelect(e.position,e.revealType):e.inSelectionMode?this._lineSelectDrag(e.position,e.revealType):this._lineSelect(e.position,e.revealType):e.mouseDownCount===2?e.onInjectedText||(this._hasMulticursorModifier(e)?this._lastCursorWordSelect(e.position,e.revealType):e.inSelectionMode?this._wordSelectDrag(e.position,e.revealType):this._wordSelect(e.position,e.revealType)):this._hasMulticursorModifier(e)?this._hasNonMulticursorModifier(e)||(e.shiftKey?this._columnSelect(e.position,e.mouseColumn,!0):e.inSelectionMode?this._lastCursorMoveToSelect(e.position,e.revealType):this._createCursor(e.position,!1)):e.inSelectionMode?e.altKey?this._columnSelect(e.position,e.mouseColumn,!0):r?this._columnSelect(e.position,e.mouseColumn,!0):this._moveToSelect(e.position,e.revealType):this.moveTo(e.position,e.revealType)}_usualArgs(e,t){return e=this._validateViewColumn(e),{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,revealType:t}}moveTo(e,t){bs.MoveTo.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_moveToSelect(e,t){bs.MoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_columnSelect(e,t,i){e=this._validateViewColumn(e),bs.ColumnSelect.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,mouseColumn:t,doColumnSelect:i})}_createCursor(e,t){e=this._validateViewColumn(e),bs.CreateCursor.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,wholeLine:t})}_lastCursorMoveToSelect(e,t){bs.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_wordSelect(e,t){bs.WordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_wordSelectDrag(e,t){bs.WordSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorWordSelect(e,t){bs.LastCursorWordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lineSelect(e,t){bs.LineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lineSelectDrag(e,t){bs.LineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorLineSelect(e,t){bs.LastCursorLineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorLineSelectDrag(e,t){bs.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_selectAll(){bs.SelectAll.runCoreEditorCommand(this.viewModel,{source:"mouse"})}_convertViewToModelPosition(e){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(e)}emitKeyDown(e){this.userInputEvents.emitKeyDown(e)}emitKeyUp(e){this.userInputEvents.emitKeyUp(e)}emitContextMenu(e){this.userInputEvents.emitContextMenu(e)}emitMouseMove(e){this.userInputEvents.emitMouseMove(e)}emitMouseLeave(e){this.userInputEvents.emitMouseLeave(e)}emitMouseUp(e){this.userInputEvents.emitMouseUp(e)}emitMouseDown(e){this.userInputEvents.emitMouseDown(e)}emitMouseDrag(e){this.userInputEvents.emitMouseDrag(e)}emitMouseDrop(e){this.userInputEvents.emitMouseDrop(e)}emitMouseDropCanceled(){this.userInputEvents.emitMouseDropCanceled()}emitMouseWheel(e){this.userInputEvents.emitMouseWheel(e)}}function jg(n,e){var t;const i=globalThis.MonacoEnvironment;if(i!=null&&i.createTrustedTypesPolicy)try{return i.createTrustedTypesPolicy(n,e)}catch(r){vn(r);return}try{return(t=Wi.trustedTypes)===null||t===void 0?void 0:t.createPolicy(n,e)}catch(r){vn(r);return}}class $ve{constructor(e){this._createLine=e,this._set(1,[])}flush(){this._set(1,[])}_set(e,t){this._lines=t,this._rendLineNumberStart=e}_get(){return{rendLineNumberStart:this._rendLineNumberStart,lines:this._lines}}getStartLineNumber(){return this._rendLineNumberStart}getEndLineNumber(){return this._rendLineNumberStart+this._lines.length-1}getCount(){return this._lines.length}getLine(e){const t=e-this._rendLineNumberStart;if(t<0||t>=this._lines.length)throw new or("Illegal value for lineNumber");return this._lines[t]}onLinesDeleted(e,t){if(this.getCount()===0)return null;const i=this.getStartLineNumber(),r=this.getEndLineNumber();if(tr)return null;let o=0,s=0;for(let l=i;l<=r;l++){const u=l-this._rendLineNumberStart;e<=l&&l<=t&&(s===0?(o=u,s=1):s++)}if(e=r&&a<=o&&(this._lines[a-this._rendLineNumberStart].onContentChanged(),s=!0);return s}onLinesInserted(e,t){if(this.getCount()===0)return null;const i=t-e+1,r=this.getStartLineNumber(),o=this.getEndLineNumber();if(e<=r)return this._rendLineNumberStart+=i,null;if(e>o)return null;if(i+e>o)return this._lines.splice(e-this._rendLineNumberStart,o-e+1);const s=[];for(let d=0;di)continue;const l=Math.max(t,a.fromLineNumber),u=Math.min(i,a.toLineNumber);for(let c=l;c<=u;c++){const d=c-this._rendLineNumberStart;this._lines[d].onTokensChanged(),r=!0}}return r}}class qve{constructor(e){this._host=e,this.domNode=this._createDomNode(),this._linesCollection=new $ve(()=>this._host.createVisibleLine())}_createDomNode(){const e=Si(document.createElement("div"));return e.setClassName("view-layer"),e.setPosition("absolute"),e.domNode.setAttribute("role","presentation"),e.domNode.setAttribute("aria-hidden","true"),e}onConfigurationChanged(e){return!!e.hasChanged(145)}onFlushed(e){return this._linesCollection.flush(),!0}onLinesChanged(e){return this._linesCollection.onLinesChanged(e.fromLineNumber,e.count)}onLinesDeleted(e){const t=this._linesCollection.onLinesDeleted(e.fromLineNumber,e.toLineNumber);if(t)for(let i=0,r=t.length;it){const s=t,a=Math.min(i,o.rendLineNumberStart-1);s<=a&&(this._insertLinesBefore(o,s,a,r,t),o.linesLength+=a-s+1)}else if(o.rendLineNumberStart0&&(this._removeLinesBefore(o,s),o.linesLength-=s)}if(o.rendLineNumberStart=t,o.rendLineNumberStart+o.linesLength-1i){const s=Math.max(0,i-o.rendLineNumberStart+1),l=o.linesLength-1-s+1;l>0&&(this._removeLinesAfter(o,l),o.linesLength-=l)}return this._finishRendering(o,!1,r),o}_renderUntouchedLines(e,t,i,r,o){const s=e.rendLineNumberStart,a=e.lines;for(let l=t;l<=i;l++){const u=s+l;a[l].layoutLine(u,r[u-o],this.viewportData.lineHeight)}}_insertLinesBefore(e,t,i,r,o){const s=[];let a=0;for(let l=t;l<=i;l++)s[a++]=this.host.createVisibleLine();e.lines=s.concat(e.lines)}_removeLinesBefore(e,t){for(let i=0;i=0;a--){const l=e.lines[a];r[a]&&(l.setDomNode(s),s=s.previousSibling)}}_finishRenderingInvalidLines(e,t,i){const r=document.createElement("div");Qg._ttPolicy&&(t=Qg._ttPolicy.createHTML(t)),r.innerHTML=t;for(let o=0;on}),Qg._sb=new TS(1e5);class eye extends du{constructor(e){super(e),this._visibleLines=new qve(this),this.domNode=this._visibleLines.domNode;const i=this._context.configuration.options.get(50);Ts(this.domNode,i),this._dynamicOverlays=[],this._isFocused=!1,this.domNode.setClassName("view-overlays")}shouldRender(){if(super.shouldRender())return!0;for(let e=0,t=this._dynamicOverlays.length;ei.shouldRender());for(let i=0,r=t.length;i'),o.appendString(s),o.appendString(""),!0)}layoutLine(e,t,i){this._domNode&&(this._domNode.setTop(t),this._domNode.setHeight(i))}}class $vt extends eye{constructor(e){super(e);const i=this._context.configuration.options.get(145);this._contentWidth=i.contentWidth,this.domNode.setHeight(0)}onConfigurationChanged(e){const i=this._context.configuration.options.get(145);return this._contentWidth=i.contentWidth,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollWidthChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e),this.domNode.setWidth(Math.max(e.scrollWidth,this._contentWidth))}}class qvt extends eye{constructor(e){super(e);const t=this._context.configuration.options,i=t.get(145);this._contentLeft=i.contentLeft,this.domNode.setClassName("margin-view-overlays"),this.domNode.setWidth(1),Ts(this.domNode,t.get(50))}onConfigurationChanged(e){const t=this._context.configuration.options;Ts(this.domNode,t.get(50));const i=t.get(145);return this._contentLeft=i.contentLeft,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollHeightChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e);const t=Math.min(e.scrollHeight,1e6);this.domNode.setHeight(t),this.domNode.setWidth(this._contentLeft)}}class _W{constructor(e){this.onKeyDown=null,this.onKeyUp=null,this.onContextMenu=null,this.onMouseMove=null,this.onMouseLeave=null,this.onMouseDown=null,this.onMouseUp=null,this.onMouseDrag=null,this.onMouseDrop=null,this.onMouseDropCanceled=null,this.onMouseWheel=null,this._coordinatesConverter=e}emitKeyDown(e){var t;(t=this.onKeyDown)===null||t===void 0||t.call(this,e)}emitKeyUp(e){var t;(t=this.onKeyUp)===null||t===void 0||t.call(this,e)}emitContextMenu(e){var t;(t=this.onContextMenu)===null||t===void 0||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseMove(e){var t;(t=this.onMouseMove)===null||t===void 0||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseLeave(e){var t;(t=this.onMouseLeave)===null||t===void 0||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDown(e){var t;(t=this.onMouseDown)===null||t===void 0||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseUp(e){var t;(t=this.onMouseUp)===null||t===void 0||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDrag(e){var t;(t=this.onMouseDrag)===null||t===void 0||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDrop(e){var t;(t=this.onMouseDrop)===null||t===void 0||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDropCanceled(){var e;(e=this.onMouseDropCanceled)===null||e===void 0||e.call(this)}emitMouseWheel(e){var t;(t=this.onMouseWheel)===null||t===void 0||t.call(this,e)}_convertViewToModelMouseEvent(e){return e.target?{event:e.event,target:this._convertViewToModelMouseTarget(e.target)}:e}_convertViewToModelMouseTarget(e){return _W.convertViewToModelMouseTarget(e,this._coordinatesConverter)}static convertViewToModelMouseTarget(e,t){const i={...e};return i.position&&(i.position=t.convertViewPositionToModelPosition(i.position)),i.range&&(i.range=t.convertViewRangeToModelRange(i.range)),(i.type===5||i.type===8)&&(i.detail=this.convertViewToModelViewZoneData(i.detail,t)),i}static convertViewToModelViewZoneData(e,t){return{viewZoneId:e.viewZoneId,positionBefore:e.positionBefore?t.convertViewPositionToModelPosition(e.positionBefore):e.positionBefore,positionAfter:e.positionAfter?t.convertViewPositionToModelPosition(e.positionAfter):e.positionAfter,position:t.convertViewPositionToModelPosition(e.position),afterLineNumber:t.convertViewPositionToModelPosition(new ye(e.afterLineNumber,1)).lineNumber}}}class eyt extends du{constructor(e){super(e),this.blocks=[],this.contentWidth=-1,this.contentLeft=0,this.domNode=Si(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("blockDecorations-container"),this.update()}update(){let e=!1;const i=this._context.configuration.options.get(145),r=i.contentWidth-i.verticalScrollbarWidth;this.contentWidth!==r&&(this.contentWidth=r,e=!0);const o=i.contentLeft;return this.contentLeft!==o&&(this.contentLeft=o,e=!0),e}dispose(){super.dispose()}onConfigurationChanged(e){return this.update()}onScrollChanged(e){return e.scrollTopChanged||e.scrollLeftChanged}onDecorationsChanged(e){return!0}onZonesChanged(e){return!0}prepareRender(e){}render(e){var t;let i=0;const r=e.getDecorationsInViewport();for(const o of r){if(!o.options.blockClassName)continue;let s=this.blocks[i];s||(s=this.blocks[i]=Si(document.createElement("div")),this.domNode.appendChild(s));let a,l;o.options.blockIsAfterEnd?(a=e.getVerticalOffsetAfterLineNumber(o.range.endLineNumber,!1),l=e.getVerticalOffsetAfterLineNumber(o.range.endLineNumber,!0)):(a=e.getVerticalOffsetForLineNumber(o.range.startLineNumber,!0),l=o.range.isEmpty()&&!o.options.blockDoesNotCollapse?e.getVerticalOffsetForLineNumber(o.range.startLineNumber,!1):e.getVerticalOffsetAfterLineNumber(o.range.endLineNumber,!0));const[u,c,d,h]=(t=o.options.blockPadding)!==null&&t!==void 0?t:[0,0,0,0];s.setClassName("blockDecorations-block "+o.options.blockClassName),s.setLeft(this.contentLeft-h),s.setWidth(this.contentWidth+h+c),s.setTop(a-e.scrollTop-u),s.setHeight(l-a+u+d),i++}for(let o=i;o0?this.domNode.setDisplay("block"):this.domNode.setDisplay("none"),this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1}_layoutBoxInViewport(e,t,i,r){const o=e.top,s=o,a=e.top+e.height,l=r.viewportHeight-a,u=o-i,c=s>=i,d=a,h=l>=i;let m=e.left;return m+t>r.scrollLeft+r.viewportWidth&&(m=r.scrollLeft+r.viewportWidth-t),mu){const m=h-(u-r);h-=m,i-=m}if(h=v,x=m+i<=f.height-C;return this._fixedOverflowWidgets?{fitsAbove:S,aboveTop:Math.max(h,v),fitsBelow:x,belowTop:m,left:b}:{fitsAbove:S,aboveTop:a,fitsBelow:x,belowTop:l,left:g}}_prepareRenderWidgetAtExactPositionOverflowing(e){return new UI(e.top,e.left+this._contentLeft)}_getAnchorsCoordinates(e){var t,i;const r=a(this._primaryAnchor.viewPosition,this._affinity,this._lineHeight),o=((t=this._secondaryAnchor.viewPosition)===null||t===void 0?void 0:t.lineNumber)===((i=this._primaryAnchor.viewPosition)===null||i===void 0?void 0:i.lineNumber)?this._secondaryAnchor.viewPosition:null,s=a(o,this._affinity,this._lineHeight);return{primary:r,secondary:s};function a(l,u,c){if(!l)return null;const d=e.visibleRangeForPosition(l);if(!d)return null;const h=l.column===1&&u===3?0:d.left,m=e.getVerticalOffsetForLineNumber(l.lineNumber)-e.scrollTop;return new tye(m,h,c)}}_reduceAnchorCoordinates(e,t,i){if(!t)return e;const r=this._context.configuration.options.get(50);let o=t.left;return oe.endLineNumber||this.domNode.setMaxWidth(this._maxWidth)}prepareRender(e){this._renderData=this._prepareRenderWidget(e)}render(e){if(!this._renderData){this._isVisible&&(this.domNode.removeAttribute("monaco-visible-content-widget"),this._isVisible=!1,this.domNode.setVisibility("hidden")),typeof this._actual.afterRender=="function"&&X6(this._actual.afterRender,this._actual,null);return}this.allowEditorOverflow?(this.domNode.setTop(this._renderData.coordinate.top),this.domNode.setLeft(this._renderData.coordinate.left)):(this.domNode.setTop(this._renderData.coordinate.top+e.scrollTop-e.bigNumbersDelta),this.domNode.setLeft(this._renderData.coordinate.left)),this._isVisible||(this.domNode.setVisibility("inherit"),this.domNode.setAttribute("monaco-visible-content-widget","true"),this._isVisible=!0),typeof this._actual.afterRender=="function"&&X6(this._actual.afterRender,this._actual,this._renderData.position)}}class YI{constructor(e,t){this.modelPosition=e,this.viewPosition=t}}class UI{constructor(e,t){this.top=e,this.left=t,this._coordinateBrand=void 0}}class tye{constructor(e,t,i){this.top=e,this.left=t,this.height=i,this._anchorCoordinateBrand=void 0}}function X6(n,e,...t){try{return n.call(e,...t)}catch{return null}}class nye extends hy{constructor(e){super(),this._context=e;const t=this._context.configuration.options,i=t.get(145);this._renderLineHighlight=t.get(96),this._renderLineHighlightOnlyWhenFocus=t.get(97),this._wordWrap=i.isViewportWrapping,this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,this._selectionIsEmpty=!0,this._focused=!1,this._cursorLineNumbers=[1],this._selections=[new Wt(1,1,1,1)],this._renderData=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}_readFromSelections(){let e=!1;const t=new Set;for(const o of this._selections)t.add(o.positionLineNumber);const i=Array.from(t);i.sort((o,s)=>o-s),kr(this._cursorLineNumbers,i)||(this._cursorLineNumbers=i,e=!0);const r=this._selections.every(o=>o.isEmpty());return this._selectionIsEmpty!==r&&(this._selectionIsEmpty=r,e=!0),e}onThemeChanged(e){return this._readFromSelections()}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(145);return this._renderLineHighlight=t.get(96),this._renderLineHighlightOnlyWhenFocus=t.get(97),this._wordWrap=i.isViewportWrapping,this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,!0}onCursorStateChanged(e){return this._selections=e.selections,this._readFromSelections()}onFlushed(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollWidthChanged||e.scrollTopChanged}onZonesChanged(e){return!0}onFocusChanged(e){return this._renderLineHighlightOnlyWhenFocus?(this._focused=e.isFocused,!0):!1}prepareRender(e){if(!this._shouldRenderThis()){this._renderData=null;return}const t=e.visibleRange.startLineNumber,i=e.visibleRange.endLineNumber,r=[];for(let s=t;s<=i;s++){const a=s-t;r[a]=""}if(this._wordWrap){const s=this._renderOne(e,!1);for(const a of this._cursorLineNumbers){const l=this._context.viewModel.coordinatesConverter,u=l.convertViewPositionToModelPosition(new ye(a,1)).lineNumber,c=l.convertModelPositionToViewPosition(new ye(u,1)).lineNumber,d=l.convertModelPositionToViewPosition(new ye(u,this._context.viewModel.model.getLineMaxColumn(u))).lineNumber,h=Math.max(c,t),m=Math.min(d,i);for(let f=h;f<=m;f++){const g=f-t;r[g]=s}}}const o=this._renderOne(e,!0);for(const s of this._cursorLineNumbers){if(si)continue;const a=s-t;r[a]=o}this._renderData=r}render(e,t){if(!this._renderData)return"";const i=t-e;return i>=this._renderData.length?"":this._renderData[i]}_shouldRenderInMargin(){return(this._renderLineHighlight==="gutter"||this._renderLineHighlight==="all")&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}_shouldRenderInContent(){return(this._renderLineHighlight==="line"||this._renderLineHighlight==="all")&&this._selectionIsEmpty&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}}class iyt extends nye{_renderOne(e,t){return`
`}_shouldRenderThis(){return this._shouldRenderInContent()}_shouldRenderOther(){return this._shouldRenderInMargin()}}class ryt extends nye{_renderOne(e,t){return`
`}_shouldRenderThis(){return!0}_shouldRenderOther(){return this._shouldRenderInContent()}}Pc((n,e)=>{const t=n.getColor(Xve);if(t&&(e.addRule(`.monaco-editor .view-overlays .current-line { background-color: ${t}; }`),e.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { background-color: ${t}; border: none; }`)),!t||t.isTransparent()||n.defines(Pve)){const i=n.getColor(Pve);i&&(e.addRule(`.monaco-editor .view-overlays .current-line-exact { border: 2px solid ${i}; }`),e.addRule(`.monaco-editor .margin-view-overlays .current-line-exact-margin { border: 2px solid ${i}; }`),rf(n.type)&&(e.addRule(".monaco-editor .view-overlays .current-line-exact { border-width: 1px; }"),e.addRule(".monaco-editor .margin-view-overlays .current-line-exact-margin { border-width: 1px; }")))}});class oyt extends hy{constructor(e){super(),this._context=e;const t=this._context.configuration.options;this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged||e.scrollWidthChanged}onZonesChanged(e){return!0}prepareRender(e){const t=e.getDecorationsInViewport();let i=[],r=0;for(let l=0,u=t.length;l{if(l.options.zIndexu.options.zIndex)return 1;const c=l.options.className,d=u.options.className;return cd?1:J.compareRangesUsingStarts(l.range,u.range)});const o=e.visibleRange.startLineNumber,s=e.visibleRange.endLineNumber,a=[];for(let l=o;l<=s;l++){const u=l-o;a[u]=""}this._renderWholeLineDecorations(e,i,a),this._renderNormalDecorations(e,i,a),this._renderResult=a}_renderWholeLineDecorations(e,t,i){const r=e.visibleRange.startLineNumber,o=e.visibleRange.endLineNumber;for(let s=0,a=t.length;s',c=Math.max(l.range.startLineNumber,r),d=Math.min(l.range.endLineNumber,o);for(let h=c;h<=d;h++){const m=h-r;i[m]+=u}}}_renderNormalDecorations(e,t,i){var r;const o=e.visibleRange.startLineNumber;let s=null,a=!1,l=null,u=!1;for(let c=0,d=t.length;c';a[h]+=v}}}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}class syt extends du{constructor(e,t,i,r){super(e);const o=this._context.configuration.options,s=o.get(103),a=o.get(75),l=o.get(40),u=o.get(106),c={listenOnDomNode:i.domNode,className:"editor-scrollable "+E6(e.theme.type),useShadows:!1,lazyRender:!0,vertical:s.vertical,horizontal:s.horizontal,verticalHasArrows:s.verticalHasArrows,horizontalHasArrows:s.horizontalHasArrows,verticalScrollbarSize:s.verticalScrollbarSize,verticalSliderSize:s.verticalSliderSize,horizontalScrollbarSize:s.horizontalScrollbarSize,horizontalSliderSize:s.horizontalSliderSize,handleMouseWheel:s.handleMouseWheel,alwaysConsumeMouseWheel:s.alwaysConsumeMouseWheel,arrowSize:s.arrowSize,mouseWheelScrollSensitivity:a,fastScrollSensitivity:l,scrollPredominantAxis:u,scrollByPage:s.scrollByPage};this.scrollbar=this._register(new gW(t.domNode,c,this._context.viewLayout.getScrollable())),Xh.write(this.scrollbar.getDomNode(),6),this.scrollbarDomNode=Si(this.scrollbar.getDomNode()),this.scrollbarDomNode.setPosition("absolute"),this._setLayout();const d=(h,m,f)=>{const g={};if(m){const b=h.scrollTop;b&&(g.scrollTop=this._context.viewLayout.getCurrentScrollTop()+b,h.scrollTop=0)}if(f){const b=h.scrollLeft;b&&(g.scrollLeft=this._context.viewLayout.getCurrentScrollLeft()+b,h.scrollLeft=0)}this._context.viewModel.viewLayout.setScrollPosition(g,1)};this._register(Ae(i.domNode,"scroll",h=>d(i.domNode,!0,!0))),this._register(Ae(t.domNode,"scroll",h=>d(t.domNode,!0,!1))),this._register(Ae(r.domNode,"scroll",h=>d(r.domNode,!0,!1))),this._register(Ae(this.scrollbarDomNode.domNode,"scroll",h=>d(this.scrollbarDomNode.domNode,!0,!1)))}dispose(){super.dispose()}_setLayout(){const e=this._context.configuration.options,t=e.get(145);this.scrollbarDomNode.setLeft(t.contentLeft),e.get(73).side==="right"?this.scrollbarDomNode.setWidth(t.contentWidth+t.minimap.minimapWidth):this.scrollbarDomNode.setWidth(t.contentWidth),this.scrollbarDomNode.setHeight(t.height)}getOverviewRulerLayoutInfo(){return this.scrollbar.getOverviewRulerLayoutInfo()}getDomNode(){return this.scrollbarDomNode}delegateVerticalScrollbarPointerDown(e){this.scrollbar.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this.scrollbar.delegateScrollFromMouseWheelEvent(e)}onConfigurationChanged(e){if(e.hasChanged(103)||e.hasChanged(75)||e.hasChanged(40)){const t=this._context.configuration.options,i=t.get(103),r=t.get(75),o=t.get(40),s=t.get(106),a={vertical:i.vertical,horizontal:i.horizontal,verticalScrollbarSize:i.verticalScrollbarSize,horizontalScrollbarSize:i.horizontalScrollbarSize,scrollByPage:i.scrollByPage,handleMouseWheel:i.handleMouseWheel,mouseWheelScrollSensitivity:r,fastScrollSensitivity:o,scrollPredominantAxis:s};this.scrollbar.updateOptions(a)}return e.hasChanged(145)&&this._setLayout(),!0}onScrollChanged(e){return!0}onThemeChanged(e){return this.scrollbar.updateClassName("editor-scrollable "+E6(this._context.theme.type)),!0}prepareRender(e){}render(e){this.scrollbar.renderNow()}}var Oc;(function(n){n[n.Left=1]="Left",n[n.Center=2]="Center",n[n.Right=4]="Right",n[n.Full=7]="Full"})(Oc||(Oc={}));var lf;(function(n){n[n.Left=1]="Left",n[n.Center=2]="Center",n[n.Right=3]="Right"})(lf||(lf={}));var Wd;(function(n){n[n.Both=0]="Both",n[n.Right=1]="Right",n[n.Left=2]="Left",n[n.None=3]="None"})(Wd||(Wd={}));class FW{get originalIndentSize(){return this._indentSizeIsTabSize?"tabSize":this.indentSize}constructor(e){this._textModelResolvedOptionsBrand=void 0,this.tabSize=Math.max(1,e.tabSize|0),e.indentSize==="tabSize"?(this.indentSize=this.tabSize,this._indentSizeIsTabSize=!0):(this.indentSize=Math.max(1,e.indentSize|0),this._indentSizeIsTabSize=!1),this.insertSpaces=!!e.insertSpaces,this.defaultEOL=e.defaultEOL|0,this.trimAutoWhitespace=!!e.trimAutoWhitespace,this.bracketPairColorizationOptions=e.bracketPairColorizationOptions}equals(e){return this.tabSize===e.tabSize&&this._indentSizeIsTabSize===e._indentSizeIsTabSize&&this.indentSize===e.indentSize&&this.insertSpaces===e.insertSpaces&&this.defaultEOL===e.defaultEOL&&this.trimAutoWhitespace===e.trimAutoWhitespace&&Ou(this.bracketPairColorizationOptions,e.bracketPairColorizationOptions)}createChangeEvent(e){return{tabSize:this.tabSize!==e.tabSize,indentSize:this.indentSize!==e.indentSize,insertSpaces:this.insertSpaces!==e.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==e.trimAutoWhitespace}}}class KI{constructor(e,t){this._findMatchBrand=void 0,this.range=e,this.matches=t}}function ayt(n){return n&&typeof n.read=="function"}class P6{constructor(e,t,i,r,o,s){this.identifier=e,this.range=t,this.text=i,this.forceMoveMarkers=r,this.isAutoWhitespaceEdit=o,this._isTracked=s}}class lyt{constructor(e,t,i){this.regex=e,this.wordSeparators=t,this.simpleSearch=i}}class uyt{constructor(e,t,i){this.reverseEdits=e,this.changes=t,this.trimAutoWhitespaceLineNumbers=i}}function iye(n){return!n.isTooLargeForSyncing()&&!n.isForSimpleWidget}class O6{constructor(e,t,i,r,o){this.startLineNumber=e,this.endLineNumber=t,this.className=i,this.tooltip=r,this._decorationToRenderBrand=void 0,this.zIndex=o??0}}class cyt{constructor(e,t,i){this.className=e,this.zIndex=t,this.tooltip=i}}class dyt{constructor(){this.decorations=[]}add(e){this.decorations.push(e)}getDecorations(){return this.decorations}}class rye extends hy{_render(e,t,i){const r=[];for(let a=e;a<=t;a++){const l=a-e;r[l]=new dyt}if(i.length===0)return r;i.sort((a,l)=>a.className===l.className?a.startLineNumber===l.startLineNumber?a.endLineNumber-l.endLineNumber:a.startLineNumber-l.startLineNumber:a.classNamer)continue;const u=Math.max(a,i),c=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new ye(u,0)),d=this._context.viewModel.glyphLanes.getLanesAtLine(c.lineNumber).indexOf(o.preference.lane);t.push(new fyt(u,d,o.preference.zIndex,o))}}_collectSortedGlyphRenderRequests(e){const t=[];return this._collectDecorationBasedGlyphRenderRequest(e,t),this._collectWidgetBasedGlyphRenderRequest(e,t),t.sort((i,r)=>i.lineNumber===r.lineNumber?i.laneIndex===r.laneIndex?i.zIndex===r.zIndex?r.type===i.type?i.type===0&&r.type===0?i.className0;){const r=t.peek();if(!r)break;const o=t.takeWhile(a=>a.lineNumber===r.lineNumber&&a.laneIndex===r.laneIndex);if(!o||o.length===0)break;const s=o[0];if(s.type===0){const a=[];for(const l of o){if(l.zIndex!==s.zIndex||l.type!==s.type)break;(a.length===0||a[a.length-1]!==l.className)&&a.push(l.className)}i.push(s.accept(a.join(" ")))}else s.widget.renderInfo={lineNumber:s.lineNumber,laneIndex:s.laneIndex}}this._decorationGlyphsToRender=i}render(e){if(!this._glyphMargin){for(const i of Object.values(this._widgets))i.domNode.setDisplay("none");for(;this._managedDomNodes.length>0;){const i=this._managedDomNodes.pop();i==null||i.domNode.remove()}return}const t=Math.round(this._glyphMarginWidth/this._glyphMarginDecorationLaneCount);for(const i of Object.values(this._widgets))if(!i.renderInfo)i.domNode.setDisplay("none");else{const r=e.viewportData.relativeVerticalOffset[i.renderInfo.lineNumber-e.viewportData.startLineNumber],o=this._glyphMarginLeft+i.renderInfo.laneIndex*this._lineHeight;i.domNode.setDisplay("block"),i.domNode.setTop(r),i.domNode.setLeft(o),i.domNode.setWidth(t),i.domNode.setHeight(this._lineHeight)}for(let i=0;ithis._decorationGlyphsToRender.length;){const i=this._managedDomNodes.pop();i==null||i.domNode.remove()}}}class myt{constructor(e,t,i,r){this.lineNumber=e,this.laneIndex=t,this.zIndex=i,this.className=r,this.type=0}accept(e){return new gyt(this.lineNumber,this.laneIndex,e)}}class fyt{constructor(e,t,i,r){this.lineNumber=e,this.laneIndex=t,this.zIndex=i,this.widget=r,this.type=1}}class gyt{constructor(e,t,i){this.lineNumber=e,this.laneIndex=t,this.combinedClassName=i}}function IW(n,e,t){const i=pyt(n,e);if(i!==-1)return n[i]}function pyt(n,e,t=n.length-1){for(let i=t;i>=0;i--){const r=n[i];if(e(r))return i}return-1}function l2(n,e){const t=JI(n,e);return t===-1?void 0:n[t]}function JI(n,e,t=0,i=n.length){let r=t,o=i;for(;r0&&(t=r)}return t}function vyt(n,e){if(n.length===0)return;let t=n[0];for(let i=1;i=0&&(t=r)}return t}function yyt(n,e){return B6(n,(t,i)=>-e(t,i))}function Cyt(n,e){if(n.length===0)return-1;let t=0;for(let i=1;i0&&(t=i)}return t}function wyt(n,e){for(const t of n){const i=e(t);if(i!==void 0)return i}}class oye extends Ie{constructor(){super(...arguments),this._isDisposed=!1}dispose(){super.dispose(),this._isDisposed=!0}assertNotDisposed(){if(this._isDisposed)throw new Error("TextModelPart is disposed!")}}function DW(n,e){let t=0,i=0;const r=n.length;for(;ir)throw new or("Illegal value for lineNumber");const o=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,s=!!(o&&o.offSide);let a=-2,l=-1,u=-2,c=-1;const d=D=>{if(a!==-1&&(a===-2||a>D-1)){a=-1,l=-1;for(let M=D-2;M>=0;M--){const T=this._computeIndentLevel(M);if(T>=0){a=M,l=T;break}}}if(u===-2){u=-1,c=-1;for(let M=D;M=0){u=M,c=T;break}}}};let h=-2,m=-1,f=-2,g=-1;const b=D=>{if(h===-2){h=-1,m=-1;for(let M=D-2;M>=0;M--){const T=this._computeIndentLevel(M);if(T>=0){h=M,m=T;break}}}if(f!==-1&&(f===-2||f=0){f=M,g=T;break}}}};let v=0,C=!0,S=0,x=!0,_=0,F=0;for(let D=0;C||x;D++){const M=e-D,T=e+D;D>1&&(M<1||M1&&(T>r||T>i)&&(x=!1),D>5e4&&(C=!1,x=!1);let Z=-1;if(C&&M>=1){const R=this._computeIndentLevel(M-1);R>=0?(u=M-1,c=R,Z=Math.ceil(R/this.textModel.getOptions().indentSize)):(d(M),Z=this._getIndentLevelForWhitespaceLine(s,l,c))}let E=-1;if(x&&T<=r){const R=this._computeIndentLevel(T-1);R>=0?(h=T-1,m=R,E=Math.ceil(R/this.textModel.getOptions().indentSize)):(b(T),E=this._getIndentLevelForWhitespaceLine(s,m,g))}if(D===0){F=Z;continue}if(D===1){if(T<=r&&E>=0&&F+1===E){C=!1,v=T,S=T,_=E;continue}if(M>=1&&Z>=0&&Z-1===F){x=!1,v=M,S=M,_=Z;continue}if(v=e,S=e,_=F,_===0)return{startLineNumber:v,endLineNumber:S,indent:_}}C&&(Z>=_?v=M:C=!1),x&&(E>=_?S=T:x=!1)}return{startLineNumber:v,endLineNumber:S,indent:_}}getLinesBracketGuides(e,t,i,r){var o;const s=[];for(let h=e;h<=t;h++)s.push([]);const a=!0,l=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new J(e,1,t,this.textModel.getLineMaxColumn(t))).toArray();let u;if(i&&l.length>0){const h=(e<=i.lineNumber&&i.lineNumber<=t?l:this.textModel.bracketPairs.getBracketPairsInRange(J.fromPositions(i)).toArray()).filter(m=>J.strictContainsPosition(m.range,i));u=(o=IW(h,m=>a))===null||o===void 0?void 0:o.range}const c=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,d=new sye;for(const h of l){if(!h.closingBracketRange)continue;const m=u&&h.range.equalsRange(u);if(!m&&!r.includeInactive)continue;const f=d.getInlineClassName(h.nestingLevel,h.nestingLevelOfEqualBracketType,c)+(r.highlightActive&&m?" "+d.activeClassName:""),g=h.openingBracketRange.getStartPosition(),b=h.closingBracketRange.getStartPosition(),v=r.horizontalGuides===fy.Enabled||r.horizontalGuides===fy.EnabledForActive&&m;if(h.range.startLineNumber===h.range.endLineNumber){v&&s[h.range.startLineNumber-e].push(new gy(-1,h.openingBracketRange.getEndPosition().column,f,new $I(!1,b.column),-1,-1));continue}const C=this.getVisibleColumnFromPosition(b),S=this.getVisibleColumnFromPosition(h.openingBracketRange.getStartPosition()),x=Math.min(S,C,h.minVisibleColumnIndentation+1);let _=!1;_a(this.textModel.getLineContent(h.closingBracketRange.startLineNumber))=e&&S>x&&s[g.lineNumber-e].push(new gy(x,-1,f,new $I(!1,g.column),-1,-1)),b.lineNumber<=t&&C>x&&s[b.lineNumber-e].push(new gy(x,-1,f,new $I(!_,b.column),-1,-1)))}for(const h of s)h.sort((m,f)=>m.visibleColumn-f.visibleColumn);return s}getVisibleColumnFromPosition(e){return Jo.visibleColumnFromColumn(this.textModel.getLineContent(e.lineNumber),e.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(e,t){this.assertNotDisposed();const i=this.textModel.getLineCount();if(e<1||e>i)throw new Error("Illegal value for startLineNumber");if(t<1||t>i)throw new Error("Illegal value for endLineNumber");const r=this.textModel.getOptions(),o=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,s=!!(o&&o.offSide),a=new Array(t-e+1);let l=-2,u=-1,c=-2,d=-1;for(let h=e;h<=t;h++){const m=h-e,f=this._computeIndentLevel(h-1);if(f>=0){l=h-1,u=f,a[m]=Math.ceil(f/r.indentSize);continue}if(l===-2){l=-1,u=-1;for(let g=h-2;g>=0;g--){const b=this._computeIndentLevel(g);if(b>=0){l=g,u=b;break}}}if(c!==-1&&(c===-2||c=0){c=g,d=b;break}}}a[m]=this._getIndentLevelForWhitespaceLine(s,u,d)}return a}_getIndentLevelForWhitespaceLine(e,t,i){const r=this.textModel.getOptions();return t===-1||i===-1?0:tl||this._maxIndentLeft>0&&C>this._maxIndentLeft)break;const S=v.horizontalLine?v.horizontalLine.top?"horizontal-top":"horizontal-bottom":"vertical",x=v.horizontalLine?((o=(r=e.visibleRangeForPosition(new ye(h,v.horizontalLine.endColumn)))===null||r===void 0?void 0:r.left)!==null&&o!==void 0?o:C+this._spaceWidth)-C:this._spaceWidth;g+=`
`}d[m]=g}this._renderResult=d}getGuidesByLine(e,t,i){const r=this._bracketPairGuideOptions.bracketPairs!==!1?this._context.viewModel.getBracketGuidesInRangeByLine(e,t,i,{highlightActive:this._bracketPairGuideOptions.highlightActiveBracketPair,horizontalGuides:this._bracketPairGuideOptions.bracketPairsHorizontal===!0?fy.Enabled:this._bracketPairGuideOptions.bracketPairsHorizontal==="active"?fy.EnabledForActive:fy.Disabled,includeInactive:this._bracketPairGuideOptions.bracketPairs===!0}):null,o=this._bracketPairGuideOptions.indentation?this._context.viewModel.getLinesIndentGuides(e,t):null;let s=0,a=0,l=0;if(this._bracketPairGuideOptions.highlightActiveIndentation!==!1&&i){const d=this._context.viewModel.getActiveIndentGuide(i.lineNumber,e,t);s=d.startLineNumber,a=d.endLineNumber,l=d.indent}const{indentSize:u}=this._context.viewModel.model.getOptions(),c=[];for(let d=e;d<=t;d++){const h=new Array;c.push(h);const m=r?r[d-e]:[],f=new Vg(m),g=o?o[d-e]:0;for(let b=1;b<=g;b++){const v=(b-1)*u+1,C=(this._bracketPairGuideOptions.highlightActiveIndentation==="always"||m.length===0)&&s<=d&&d<=a&&b===l;h.push(...f.takeWhile(x=>x.visibleColumn!0)||[])}return c}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}function u2(n){if(!(n&&n.isTransparent()))return n}Pc((n,e)=>{const t=[{bracketColor:zve,guideColor:kvt,guideColorActive:Rvt},{bracketColor:Hve,guideColor:Nvt,guideColorActive:Vvt},{bracketColor:Yve,guideColor:Tvt,guideColorActive:Avt},{bracketColor:Uve,guideColor:Evt,guideColorActive:Gvt},{bracketColor:Kve,guideColor:Zvt,guideColorActive:Xvt},{bracketColor:Jve,guideColor:Wvt,guideColorActive:Pvt}],i=new sye,r=[{indentColor:AI,indentColorActive:GI},{indentColor:dvt,indentColorActive:pvt},{indentColor:hvt,indentColorActive:bvt},{indentColor:mvt,indentColorActive:vvt},{indentColor:fvt,indentColorActive:yvt},{indentColor:gvt,indentColorActive:Cvt}],o=t.map(a=>{var l,u;const c=n.getColor(a.bracketColor),d=n.getColor(a.guideColor),h=n.getColor(a.guideColorActive),m=u2((l=u2(d))!==null&&l!==void 0?l:c==null?void 0:c.transparent(.3)),f=u2((u=u2(h))!==null&&u!==void 0?u:c);if(!(!m||!f))return{guideColor:m,guideColorActive:f}}).filter(Rm),s=r.map(a=>{const l=n.getColor(a.indentColor),u=n.getColor(a.indentColorActive),c=u2(l),d=u2(u);if(!(!c||!d))return{indentColor:c,indentColorActive:d}}).filter(Rm);if(o.length>0){for(let a=0;a<30;a++){const l=o[a%o.length];e.addRule(`.monaco-editor .${i.getInlineClassNameOfLevel(a).replace(/ /g,".")} { --guide-color: ${l.guideColor}; --guide-color-active: ${l.guideColorActive}; }`)}e.addRule(".monaco-editor .vertical { box-shadow: 1px 0 0 0 var(--guide-color) inset; }"),e.addRule(".monaco-editor .horizontal-top { border-top: 1px solid var(--guide-color); }"),e.addRule(".monaco-editor .horizontal-bottom { border-bottom: 1px solid var(--guide-color); }"),e.addRule(`.monaco-editor .vertical.${i.activeClassName} { box-shadow: 1px 0 0 0 var(--guide-color-active) inset; }`),e.addRule(`.monaco-editor .horizontal-top.${i.activeClassName} { border-top: 1px solid var(--guide-color-active); }`),e.addRule(`.monaco-editor .horizontal-bottom.${i.activeClassName} { border-bottom: 1px solid var(--guide-color-active); }`)}if(s.length>0){for(let a=0;a<30;a++){const l=s[a%s.length];e.addRule(`.monaco-editor .lines-content .core-guide-indent.lvl-${a} { --indent-color: ${l.indentColor}; --indent-color-active: ${l.indentColorActive}; }`)}e.addRule(".monaco-editor .lines-content .core-guide-indent { box-shadow: 1px 0 0 0 var(--indent-color) inset; }"),e.addRule(".monaco-editor .lines-content .core-guide-indent.indent-active { box-shadow: 1px 0 0 0 var(--indent-color-active) inset; }")}});class z6{get didDomLayout(){return this._didDomLayout}readClientRect(){if(!this._clientRectRead){this._clientRectRead=!0;const e=this._domNode.getBoundingClientRect();this.markDidDomLayout(),this._clientRectDeltaLeft=e.left,this._clientRectScale=e.width/this._domNode.offsetWidth}}get clientRectDeltaLeft(){return this._clientRectRead||this.readClientRect(),this._clientRectDeltaLeft}get clientRectScale(){return this._clientRectRead||this.readClientRect(),this._clientRectScale}constructor(e,t){this._domNode=e,this.endNode=t,this._didDomLayout=!1,this._clientRectDeltaLeft=0,this._clientRectScale=1,this._clientRectRead=!1}markDidDomLayout(){this._didDomLayout=!0}}class Lyt{constructor(){this._currentVisibleRange=new J(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(e){this._currentVisibleRange=e}}class _yt{constructor(e,t,i,r,o,s,a){this.minimalReveal=e,this.lineNumber=t,this.startColumn=i,this.endColumn=r,this.startScrollTop=o,this.stopScrollTop=s,this.scrollType=a,this.type="range",this.minLineNumber=t,this.maxLineNumber=t}}class Fyt{constructor(e,t,i,r,o){this.minimalReveal=e,this.selections=t,this.startScrollTop=i,this.stopScrollTop=r,this.scrollType=o,this.type="selections";let s=t[0].startLineNumber,a=t[0].endLineNumber;for(let l=1,u=t.length;l{this._updateLineWidthsSlow()},200),this._asyncCheckMonospaceFontAssumptions=new Ri(()=>{this._checkMonospaceFontAssumptions()},2e3),this._lastRenderedData=new Lyt,this._horizontalRevealRequest=null,this._stickyScrollEnabled=r.get(115).enabled,this._maxNumberStickyLines=r.get(115).maxLineCount}dispose(){this._asyncUpdateLineWidths.dispose(),this._asyncCheckMonospaceFontAssumptions.dispose(),super.dispose()}getDomNode(){return this.domNode}createVisibleLine(){return new of(this._viewLineOptions)}onConfigurationChanged(e){this._visibleLines.onConfigurationChanged(e),e.hasChanged(146)&&(this._maxLineWidth=0);const t=this._context.configuration.options,i=t.get(50),r=t.get(146);return this._lineHeight=t.get(67),this._typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this._isViewportWrapping=r.isViewportWrapping,this._revealHorizontalRightPadding=t.get(100),this._cursorSurroundingLines=t.get(29),this._cursorSurroundingLinesStyle=t.get(30),this._canUseLayerHinting=!t.get(32),this._stickyScrollEnabled=t.get(115).enabled,this._maxNumberStickyLines=t.get(115).maxLineCount,Ts(this.domNode,i),this._onOptionsMaybeChanged(),e.hasChanged(145)&&(this._maxLineWidth=0),!0}_onOptionsMaybeChanged(){const e=this._context.configuration,t=new Dve(e,this._context.theme.type);if(!this._viewLineOptions.equals(t)){this._viewLineOptions=t;const i=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();for(let o=i;o<=r;o++)this._visibleLines.getVisibleLine(o).onOptionsChanged(this._viewLineOptions);return!0}return!1}onCursorStateChanged(e){const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();let r=!1;for(let o=t;o<=i;o++)r=this._visibleLines.getVisibleLine(o).onSelectionChanged()||r;return r}onDecorationsChanged(e){{const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();for(let r=t;r<=i;r++)this._visibleLines.getVisibleLine(r).onDecorationsChanged()}return!0}onFlushed(e){const t=this._visibleLines.onFlushed(e);return this._maxLineWidth=0,t}onLinesChanged(e){return this._visibleLines.onLinesChanged(e)}onLinesDeleted(e){return this._visibleLines.onLinesDeleted(e)}onLinesInserted(e){return this._visibleLines.onLinesInserted(e)}onRevealRangeRequest(e){const t=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),e.source,e.minimalReveal,e.range,e.selections,e.verticalType);if(t===-1)return!1;let i=this._context.viewLayout.validateScrollPosition({scrollTop:t});e.revealHorizontal?e.range&&e.range.startLineNumber!==e.range.endLineNumber?i={scrollTop:i.scrollTop,scrollLeft:0}:e.range?this._horizontalRevealRequest=new _yt(e.minimalReveal,e.range.startLineNumber,e.range.startColumn,e.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),i.scrollTop,e.scrollType):e.selections&&e.selections.length>0&&(this._horizontalRevealRequest=new Fyt(e.minimalReveal,e.selections,this._context.viewLayout.getCurrentScrollTop(),i.scrollTop,e.scrollType)):this._horizontalRevealRequest=null;const o=Math.abs(this._context.viewLayout.getCurrentScrollTop()-i.scrollTop)<=this._lineHeight?1:e.scrollType;return this._context.viewModel.viewLayout.setScrollPosition(i,o),!0}onScrollChanged(e){if(this._horizontalRevealRequest&&e.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&e.scrollTopChanged){const t=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),i=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(e.scrollTopi)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(e.scrollWidth),this._visibleLines.onScrollChanged(e)||!0}onTokensChanged(e){return this._visibleLines.onTokensChanged(e)}onZonesChanged(e){return this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth),this._visibleLines.onZonesChanged(e)}onThemeChanged(e){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(e,t){const i=this._getViewLineDomNode(e);if(i===null)return null;const r=this._getLineNumberFor(i);if(r===-1||r<1||r>this._context.viewModel.getLineCount())return null;if(this._context.viewModel.getLineMaxColumn(r)===1)return new ye(r,1);const o=this._visibleLines.getStartLineNumber(),s=this._visibleLines.getEndLineNumber();if(rs)return null;let a=this._visibleLines.getVisibleLine(r).getColumnOfNodeOffset(e,t);const l=this._context.viewModel.getLineMinColumn(r);return ai)return-1;const r=new z6(this.domNode.domNode,this._textRangeRestingSpot),o=this._visibleLines.getVisibleLine(e).getWidth(r);return this._updateLineWidthsSlowIfDomDidLayout(r),o}linesVisibleRangesForRange(e,t){if(this.shouldRender())return null;const i=e.endLineNumber,r=J.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange());if(!r)return null;const o=[];let s=0;const a=new z6(this.domNode.domNode,this._textRangeRestingSpot);let l=0;t&&(l=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new ye(r.startLineNumber,1)).lineNumber);const u=this._visibleLines.getStartLineNumber(),c=this._visibleLines.getEndLineNumber();for(let d=r.startLineNumber;d<=r.endLineNumber;d++){if(dc)continue;const h=d===r.startLineNumber?r.startColumn:1,m=d!==r.endLineNumber,f=m?this._context.viewModel.getLineMaxColumn(d):r.endColumn,g=this._visibleLines.getVisibleLine(d).getVisibleRangesForRange(d,h,f,a);if(g){if(t&&dthis._visibleLines.getEndLineNumber())return null;const r=new z6(this.domNode.domNode,this._textRangeRestingSpot),o=this._visibleLines.getVisibleLine(e).getVisibleRangesForRange(e,t,i,r);return this._updateLineWidthsSlowIfDomDidLayout(r),o}visibleRangeForPosition(e){const t=this._visibleRangesForLineRange(e.lineNumber,e.column,e.column);return t?new b1t(t.outsideRenderedLine,t.ranges[0].left):null}_updateLineWidthsFast(){return this._updateLineWidths(!0)}_updateLineWidthsSlow(){this._updateLineWidths(!1)}_updateLineWidthsSlowIfDomDidLayout(e){e.didDomLayout&&(this._asyncUpdateLineWidths.isScheduled()||(this._asyncUpdateLineWidths.cancel(),this._updateLineWidthsSlow()))}_updateLineWidths(e){const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();let r=1,o=!0;for(let s=t;s<=i;s++){const a=this._visibleLines.getVisibleLine(s);if(e&&!a.getWidthIsFast()){o=!1;continue}r=Math.max(r,a.getWidth(null))}return o&&t===1&&i===this._context.viewModel.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(r),o}_checkMonospaceFontAssumptions(){let e=-1,t=-1;const i=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();for(let o=i;o<=r;o++){const s=this._visibleLines.getVisibleLine(o);if(s.needsMonospaceFontCheck()){const a=s.getWidth(null);a>t&&(t=a,e=o)}}if(e!==-1&&!this._visibleLines.getVisibleLine(e).monospaceAssumptionsAreValid())for(let o=i;o<=r;o++)this._visibleLines.getVisibleLine(o).onMonospaceAssumptionsInvalidated()}prepareRender(){throw new Error("Not supported")}render(){throw new Error("Not supported")}renderText(e){if(this._visibleLines.renderLines(e),this._lastRenderedData.setCurrentVisibleRange(e.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){const i=this._horizontalRevealRequest;if(e.startLineNumber<=i.minLineNumber&&i.maxLineNumber<=e.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();const r=this._computeScrollLeftToReveal(i);r&&(this._isViewportWrapping||this._ensureMaxLineWidth(r.maxHorizontalOffset),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:r.scrollLeft},i.scrollType))}}if(this._updateLineWidthsFast()?this._asyncUpdateLineWidths.cancel():this._asyncUpdateLineWidths.schedule(),Ja&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){const i=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();for(let o=i;o<=r;o++)if(this._visibleLines.getVisibleLine(o).needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain("strict");const t=this._context.viewLayout.getCurrentScrollTop()-e.bigNumbersDelta;this._linesContent.setTop(-t),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(e){const t=Math.ceil(e);this._maxLineWidth0){let v=o[0].startLineNumber,C=o[0].endLineNumber;for(let S=1,x=o.length;Sl){if(!c)return-1;b=d}else if(s===5||s===6)if(s===6&&a<=d&&h<=u)b=a;else{const v=Math.max(5*this._lineHeight,l*.2),C=d-v,S=h-l;b=Math.max(S,C)}else if(s===1||s===2)if(s===2&&a<=d&&h<=u)b=a;else{const v=(d+h)/2;b=Math.max(0,v-l/2)}else b=this._computeMinimumScrolling(a,u,d,h,s===3,s===4);return b}_computeScrollLeftToReveal(e){const t=this._context.viewLayout.getCurrentViewport(),i=this._context.configuration.options.get(145),r=t.left,o=r+t.width-i.verticalScrollbarWidth;let s=1073741824,a=0;if(e.type==="range"){const u=this._visibleRangesForLineRange(e.lineNumber,e.startColumn,e.endColumn);if(!u)return null;for(const c of u.ranges)s=Math.min(s,Math.round(c.left)),a=Math.max(a,Math.round(c.left+c.width))}else for(const u of e.selections){if(u.startLineNumber!==u.endLineNumber)return null;const c=this._visibleRangesForLineRange(u.startLineNumber,u.startColumn,u.endColumn);if(!c)return null;for(const d of c.ranges)s=Math.min(s,Math.round(d.left)),a=Math.max(a,Math.round(d.left+d.width))}return e.minimalReveal||(s=Math.max(0,s-MW.HORIZONTAL_EXTRA_PX),a+=this._revealHorizontalRightPadding),e.type==="selections"&&a-s>t.width?null:{scrollLeft:this._computeMinimumScrolling(r,o,s,a),maxHorizontalOffset:a}}_computeMinimumScrolling(e,t,i,r,o,s){e=e|0,t=t|0,i=i|0,r=r|0,o=!!o,s=!!s;const a=t-e;if(r-it)return Math.max(0,r-a)}else return i;return e}}MW.HORIZONTAL_EXTRA_PX=30;class Iyt extends rye{constructor(e){super(),this._context=e;const i=this._context.configuration.options.get(145);this._decorationsLeft=i.decorationsLeft,this._decorationsWidth=i.decorationsWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const i=this._context.configuration.options.get(145);return this._decorationsLeft=i.decorationsLeft,this._decorationsWidth=i.decorationsWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getDecorations(e){var t,i;const r=e.getDecorationsInViewport(),o=[];let s=0;for(let a=0,l=r.length;a',l=[];for(let u=t;u<=i;u++){const c=u-t,d=r[c].getDecorations();let h="";for(const m of d){let f='
';o[a]=u}this._renderResult=o}render(e,t){return this._renderResult?this._renderResult[t-e]:""}}class Yu{constructor(e,t,i,r){this._rgba8Brand=void 0,this.r=Yu._clamp(e),this.g=Yu._clamp(t),this.b=Yu._clamp(i),this.a=Yu._clamp(r)}equals(e){return this.r===e.r&&this.g===e.g&&this.b===e.b&&this.a===e.a}static _clamp(e){return e<0?0:e>255?255:e|0}}Yu.Empty=new Yu(0,0,0,0);class qI extends Ie{static getInstance(){return this._INSTANCE||(this._INSTANCE=new qI),this._INSTANCE}constructor(){super(),this._onDidChange=new be,this.onDidChange=this._onDidChange.event,this._updateColorMap(),this._register(bo.onDidChange(e=>{e.changedColorMap&&this._updateColorMap()}))}_updateColorMap(){const e=bo.getColorMap();if(!e){this._colors=[Yu.Empty],this._backgroundIsLight=!0;return}this._colors=[Yu.Empty];for(let i=1;i=.5,this._onDidChange.fire(void 0)}getColor(e){return(e<1||e>=this._colors.length)&&(e=2),this._colors[e]}backgroundIsLight(){return this._backgroundIsLight}}qI._INSTANCE=null;class aye{constructor(e,t,i,r){this._viewportBrand=void 0,this.top=e|0,this.left=t|0,this.width=i|0,this.height=r|0}}class Myt{constructor(e,t){this.tabSize=e,this.data=t}}class H6{constructor(e,t,i,r,o,s,a){this._viewLineDataBrand=void 0,this.content=e,this.continuesWithWrappedLine=t,this.minColumn=i,this.maxColumn=r,this.startVisibleColumn=o,this.tokens=s,this.inlineDecorations=a}}class Uu{constructor(e,t,i,r,o,s,a,l,u,c){this.minColumn=e,this.maxColumn=t,this.content=i,this.continuesWithWrappedLine=r,this.isBasicASCII=Uu.isBasicASCII(i,s),this.containsRTL=Uu.containsRTL(i,this.isBasicASCII,o),this.tokens=a,this.inlineDecorations=l,this.tabSize=u,this.startVisibleColumn=c}static isBasicASCII(e,t){return t?qF(e):!0}static containsRTL(e,t,i){return!t&&i?vS(e):!1}}class eD{constructor(e,t,i){this.range=e,this.inlineClassName=t,this.type=i}}class kyt{constructor(e,t,i,r){this.startOffset=e,this.endOffset=t,this.inlineClassName=i,this.inlineClassNameAffectsLetterSpacing=r}toInlineDecoration(e){return new eD(new J(e,this.startOffset+1,e,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}}class lye{constructor(e,t){this._viewModelDecorationBrand=void 0,this.range=e,this.options=t}}class tD{constructor(e,t,i){this.color=e,this.zIndex=t,this.data=i}static compareByRenderingProps(e,t){return e.zIndex===t.zIndex?e.colort.color?1:0:e.zIndex-t.zIndex}static equals(e,t){return e.color===t.color&&e.zIndex===t.zIndex&&kr(e.data,t.data)}static equalsArr(e,t){return kr(e,t,tD.equals)}}const Nyt=(()=>{const n=[];for(let e=32;e<=126;e++)n.push(e);return n.push(65533),n})(),Tyt=(n,e)=>(n-=32,n<0||n>96?e<=2?(n+96)%96:95:n);class nD{constructor(e,t){this.scale=t,this._minimapCharRendererBrand=void 0,this.charDataNormal=nD.soften(e,12/15),this.charDataLight=nD.soften(e,50/60)}static soften(e,t){const i=new Uint8ClampedArray(e.length);for(let r=0,o=e.length;re.width||i+f>e.height)return;const g=c?this.charDataLight:this.charDataNormal,b=Tyt(r,u),v=e.width*4,C=a.r,S=a.g,x=a.b,_=o.r-C,F=o.g-S,D=o.b-x,M=Math.max(s,l),T=e.data;let Z=b*h*m,E=i*v+t*4;for(let R=0;Re.width||i+d>e.height)return;const h=e.width*4,m=.5*(o/255),f=s.r,g=s.g,b=s.b,v=r.r-f,C=r.g-g,S=r.b-b,x=f+v*m,_=g+C*m,F=b+S*m,D=Math.max(o,a),M=e.data;let T=i*h+t*4;for(let Z=0;Z{const e=new Uint8ClampedArray(n.length/2);for(let t=0;t>1]=uye[n[t]]<<4|uye[n[t+1]]&15;return e},dye={1:hS(()=>cye("0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792")),2:hS(()=>cye("000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126"))};class iD{static create(e,t){if(this.lastCreated&&e===this.lastCreated.scale&&t===this.lastFontFamily)return this.lastCreated;let i;return dye[e]?i=new nD(dye[e](),e):i=iD.createFromSampleData(iD.createSampleData(t).data,e),this.lastFontFamily=t,this.lastCreated=i,i}static createSampleData(e){const t=document.createElement("canvas"),i=t.getContext("2d");t.style.height="16px",t.height=16,t.width=96*10,t.style.width=96*10+"px",i.fillStyle="#ffffff",i.font=`bold 16px ${e}`,i.textBaseline="middle";let r=0;for(const o of Nyt)i.fillText(String.fromCharCode(o),r,16/2),r+=10;return i.getImageData(0,0,96*10,16)}static createFromSampleData(e,t){if(e.length!==61440)throw new Error("Unexpected source in MinimapCharRenderer");const r=iD._downsample(e,t);return new nD(r,t)}static _downsampleChar(e,t,i,r,o){const s=1*o,a=2*o;let l=r,u=0;for(let c=0;c0){const u=255/l;for(let c=0;ciD.create(this.fontScale,l.fontFamily)),this.defaultBackgroundColor=i.getColor(2),this.backgroundColor=c2._getMinimapBackground(t,this.defaultBackgroundColor),this.foregroundAlpha=c2._getMinimapForegroundOpacity(t)}static _getMinimapBackground(e,t){const i=e.getColor(u0t);return i?new Yu(i.rgba.r,i.rgba.g,i.rgba.b,Math.round(255*i.rgba.a)):t}static _getMinimapForegroundOpacity(e){const t=e.getColor(c0t);return t?Yu._clamp(Math.round(255*t.rgba.a)):255}static _getSectionHeaderColor(e,t){const i=e.getColor(Gc);return i?new Yu(i.rgba.r,i.rgba.g,i.rgba.b,Math.round(255*i.rgba.a)):t}equals(e){return this.renderMinimap===e.renderMinimap&&this.size===e.size&&this.minimapHeightIsEditorHeight===e.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===e.scrollBeyondLastLine&&this.paddingTop===e.paddingTop&&this.paddingBottom===e.paddingBottom&&this.showSlider===e.showSlider&&this.autohide===e.autohide&&this.pixelRatio===e.pixelRatio&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.lineHeight===e.lineHeight&&this.minimapLeft===e.minimapLeft&&this.minimapWidth===e.minimapWidth&&this.minimapHeight===e.minimapHeight&&this.canvasInnerWidth===e.canvasInnerWidth&&this.canvasInnerHeight===e.canvasInnerHeight&&this.canvasOuterWidth===e.canvasOuterWidth&&this.canvasOuterHeight===e.canvasOuterHeight&&this.isSampling===e.isSampling&&this.editorHeight===e.editorHeight&&this.fontScale===e.fontScale&&this.minimapLineHeight===e.minimapLineHeight&&this.minimapCharWidth===e.minimapCharWidth&&this.sectionHeaderFontSize===e.sectionHeaderFontSize&&this.defaultBackgroundColor&&this.defaultBackgroundColor.equals(e.defaultBackgroundColor)&&this.backgroundColor&&this.backgroundColor.equals(e.backgroundColor)&&this.foregroundAlpha===e.foregroundAlpha}}class rD{constructor(e,t,i,r,o,s,a,l,u){this.scrollTop=e,this.scrollHeight=t,this.sliderNeeded=i,this._computedSliderRatio=r,this.sliderTop=o,this.sliderHeight=s,this.topPaddingLineCount=a,this.startLineNumber=l,this.endLineNumber=u}getDesiredScrollTopFromDelta(e){return Math.round(this.scrollTop+e/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(e){return Math.round((e-this.sliderHeight/2)/this._computedSliderRatio)}intersectWithViewport(e){const t=Math.max(this.startLineNumber,e.startLineNumber),i=Math.min(this.endLineNumber,e.endLineNumber);return t>i?null:[t,i]}getYForLineNumber(e,t){return+(e-this.startLineNumber+this.topPaddingLineCount)*t}static create(e,t,i,r,o,s,a,l,u,c,d){const h=e.pixelRatio,m=e.minimapLineHeight,f=Math.floor(e.canvasInnerHeight/m),g=e.lineHeight;if(e.minimapHeightIsEditorHeight){let F=l*e.lineHeight+e.paddingTop+e.paddingBottom;e.scrollBeyondLastLine&&(F+=Math.max(0,o-e.lineHeight-e.paddingBottom));const D=Math.max(1,Math.floor(o*o/F)),M=Math.max(0,e.minimapHeight-D),T=M/(c-o),Z=u*T,E=M>0,R=Math.floor(e.canvasInnerHeight/e.minimapLineHeight),W=Math.floor(e.paddingTop/e.lineHeight);return new rD(u,c,E,T,Z,D,W,1,Math.min(a,R))}let b;if(s&&i!==a){const F=i-t+1;b=Math.floor(F*m/h)}else{const F=o/g;b=Math.floor(F*m/h)}const v=Math.floor(e.paddingTop/g);let C=Math.floor(e.paddingBottom/g);if(e.scrollBeyondLastLine){const F=o/g;C=Math.max(C,F-1)}let S;if(C>0){const F=o/g;S=(v+a+C-F-1)*m/h}else S=Math.max(0,(v+a)*m/h-b);S=Math.min(e.minimapHeight-b,S);const x=S/(c-o),_=u*x;if(f>=v+a+C){const F=S>0;return new rD(u,c,F,x,_,b,v,1,a)}else{let F;t>1?F=t+v:F=Math.max(1,u/g);let D,M=Math.max(1,Math.floor(F-_*h/m));Mu&&(M=Math.min(M,d.startLineNumber),D=Math.max(D,d.topPaddingLineCount)),d.scrollTop=e.paddingTop?E=(t-M+D+Z)*m/h:E=u/e.paddingTop*(D+Z)*m/h,new rD(u,c,!0,x,E,b,D,M,T)}}}class kW{constructor(e){this.dy=e}onContentChanged(){this.dy=-1}onTokensChanged(){this.dy=-1}}kW.INVALID=new kW(-1);class hye{constructor(e,t,i){this.renderedLayout=e,this._imageData=t,this._renderedLines=new $ve(()=>kW.INVALID),this._renderedLines._set(e.startLineNumber,i)}linesEquals(e){if(!this.scrollEquals(e))return!1;const i=this._renderedLines._get().lines;for(let r=0,o=i.length;r1){for(let v=0,C=r-1;v0&&this.minimapLines[i-1]>=e;)i--;let r=this.modelLineToMinimapLine(t)-1;for(;r+1t)return null}return[i+1,r+1]}decorationLineRangeToMinimapLineRange(e,t){let i=this.modelLineToMinimapLine(e),r=this.modelLineToMinimapLine(t);return e!==t&&r===i&&(r===this.minimapLines.length?i>1&&i--:r++),[i,r]}onLinesDeleted(e){const t=e.toLineNumber-e.fromLineNumber+1;let i=this.minimapLines.length,r=0;for(let o=this.minimapLines.length-1;o>=0&&!(this.minimapLines[o]=0&&!(this.minimapLines[i]0,scrollWidth:e.scrollWidth,scrollHeight:e.scrollHeight,viewportStartLineNumber:t,viewportEndLineNumber:i,viewportStartLineNumberVerticalOffset:e.getVerticalOffsetForLineNumber(t),scrollTop:e.scrollTop,scrollLeft:e.scrollLeft,viewportWidth:e.viewportWidth,viewportHeight:e.viewportHeight};this._actual.render(r)}_recreateLineSampling(){this._minimapSelections=null;const e=!!this._samplingState,[t,i]=oD.compute(this.options,this._context.viewModel.getLineCount(),this._samplingState);if(this._samplingState=t,e&&this._samplingState)for(const r of i)switch(r.type){case"deleted":this._actual.onLinesDeleted(r.deleteFromLineNumber,r.deleteToLineNumber);break;case"inserted":this._actual.onLinesInserted(r.insertFromLineNumber,r.insertToLineNumber);break;case"flush":this._actual.onFlushed();break}}getLineCount(){return this._samplingState?this._samplingState.minimapLines.length:this._context.viewModel.getLineCount()}getRealLineCount(){return this._context.viewModel.getLineCount()}getLineContent(e){return this._samplingState?this._context.viewModel.getLineContent(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineContent(e)}getLineMaxColumn(e){return this._samplingState?this._context.viewModel.getLineMaxColumn(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineMaxColumn(e)}getMinimapLinesRenderingData(e,t,i){if(this._samplingState){const r=[];for(let o=0,s=t-e+1;o{var o;return!(!((o=r.options.minimap)===null||o===void 0)&&o.sectionHeaderStyle)});if(this._samplingState){const r=[];for(const o of i){if(!o.options.minimap)continue;const s=o.range,a=this._samplingState.modelLineToMinimapLine(s.startLineNumber),l=this._samplingState.modelLineToMinimapLine(s.endLineNumber);r.push(new lye(new J(a,s.startColumn,l,s.endColumn),o.options))}return r}return i}getSectionHeaderDecorationsInViewport(e,t){const i=this.options.minimapLineHeight,o=this.options.sectionHeaderFontSize/i;return e=Math.floor(Math.max(1,e-o)),this._getMinimapDecorationsInViewport(e,t).filter(s=>{var a;return!!(!((a=s.options.minimap)===null||a===void 0)&&a.sectionHeaderStyle)})}_getMinimapDecorationsInViewport(e,t){let i;if(this._samplingState){const r=this._samplingState.minimapLines[e-1],o=this._samplingState.minimapLines[t-1];i=new J(r,1,o,this._context.viewModel.getLineMaxColumn(o))}else i=new J(e,1,t,this._context.viewModel.getLineMaxColumn(t));return this._context.viewModel.getMinimapDecorationsInRange(i)}getSectionHeaderText(e,t){var i;const r=(i=e.options.minimap)===null||i===void 0?void 0:i.sectionHeaderText;if(!r)return null;const o=this._sectionHeaderCache.get(r);if(o)return o;const s=t(r);return this._sectionHeaderCache.set(r,s),s}getOptions(){return this._context.viewModel.model.getOptions()}revealLineNumber(e){this._samplingState&&(e=this._samplingState.minimapLines[e-1]),this._context.viewModel.revealRange("mouse",!1,new J(e,1,e,1),1,0)}setScrollTop(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e},1)}}class d2 extends Ie{constructor(e,t){super(),this._renderDecorations=!1,this._gestureInProgress=!1,this._theme=e,this._model=t,this._lastRenderData=null,this._buffers=null,this._selectionColor=this._theme.getColor(mve),this._domNode=Si(document.createElement("div")),Xh.write(this._domNode,9),this._domNode.setClassName(this._getMinimapDomNodeClassName()),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._shadow=Si(document.createElement("div")),this._shadow.setClassName("minimap-shadow-hidden"),this._domNode.appendChild(this._shadow),this._canvas=Si(document.createElement("canvas")),this._canvas.setPosition("absolute"),this._canvas.setLeft(0),this._domNode.appendChild(this._canvas),this._decorationsCanvas=Si(document.createElement("canvas")),this._decorationsCanvas.setPosition("absolute"),this._decorationsCanvas.setClassName("minimap-decorations-layer"),this._decorationsCanvas.setLeft(0),this._domNode.appendChild(this._decorationsCanvas),this._slider=Si(document.createElement("div")),this._slider.setPosition("absolute"),this._slider.setClassName("minimap-slider"),this._slider.setLayerHinting(!0),this._slider.setContain("strict"),this._domNode.appendChild(this._slider),this._sliderHorizontal=Si(document.createElement("div")),this._sliderHorizontal.setPosition("absolute"),this._sliderHorizontal.setClassName("minimap-slider-horizontal"),this._slider.appendChild(this._sliderHorizontal),this._applyLayout(),this._pointerDownListener=Gr(this._domNode.domNode,ot.POINTER_DOWN,i=>{if(i.preventDefault(),this._model.options.renderMinimap===0||!this._lastRenderData)return;if(this._model.options.size!=="proportional"){if(i.button===0&&this._lastRenderData){const u=po(this._slider.domNode),c=u.top+u.height/2;this._startSliderDragging(i,c,this._lastRenderData.renderedLayout)}return}const o=this._model.options.minimapLineHeight,s=this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*i.offsetY;let l=Math.floor(s/o)+this._lastRenderData.renderedLayout.startLineNumber-this._lastRenderData.renderedLayout.topPaddingLineCount;l=Math.min(l,this._model.getLineCount()),this._model.revealLineNumber(l)}),this._sliderPointerMoveMonitor=new YS,this._sliderPointerDownListener=Gr(this._slider.domNode,ot.POINTER_DOWN,i=>{i.preventDefault(),i.stopPropagation(),i.button===0&&this._lastRenderData&&this._startSliderDragging(i,i.pageY,this._lastRenderData.renderedLayout)}),this._gestureDisposable=ir.addTarget(this._domNode.domNode),this._sliderTouchStartListener=Ae(this._domNode.domNode,nr.Start,i=>{i.preventDefault(),i.stopPropagation(),this._lastRenderData&&(this._slider.toggleClassName("active",!0),this._gestureInProgress=!0,this.scrollDueToTouchEvent(i))},{passive:!1}),this._sliderTouchMoveListener=Ae(this._domNode.domNode,nr.Change,i=>{i.preventDefault(),i.stopPropagation(),this._lastRenderData&&this._gestureInProgress&&this.scrollDueToTouchEvent(i)},{passive:!1}),this._sliderTouchEndListener=Gr(this._domNode.domNode,nr.End,i=>{i.preventDefault(),i.stopPropagation(),this._gestureInProgress=!1,this._slider.toggleClassName("active",!1)})}_startSliderDragging(e,t,i){if(!e.target||!(e.target instanceof Element))return;const r=e.pageX;this._slider.toggleClassName("active",!0);const o=(s,a)=>{const l=po(this._domNode.domNode),u=Math.min(Math.abs(a-r),Math.abs(a-l.left),Math.abs(a-l.left-l.width));if(ha&&u>Zyt){this._model.setScrollTop(i.scrollTop);return}const c=s-t;this._model.setScrollTop(i.getDesiredScrollTopFromDelta(c))};e.pageY!==t&&o(e.pageY,r),this._sliderPointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,s=>o(s.pageY,s.pageX),()=>{this._slider.toggleClassName("active",!1)})}scrollDueToTouchEvent(e){const t=this._domNode.domNode.getBoundingClientRect().top,i=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(e.pageY-t);this._model.setScrollTop(i)}dispose(){this._pointerDownListener.dispose(),this._sliderPointerMoveMonitor.dispose(),this._sliderPointerDownListener.dispose(),this._gestureDisposable.dispose(),this._sliderTouchStartListener.dispose(),this._sliderTouchMoveListener.dispose(),this._sliderTouchEndListener.dispose(),super.dispose()}_getMinimapDomNodeClassName(){const e=["minimap"];return this._model.options.showSlider==="always"?e.push("slider-always"):e.push("slider-mouseover"),this._model.options.autohide&&e.push("autohide"),e.join(" ")}getDomNode(){return this._domNode}_applyLayout(){this._domNode.setLeft(this._model.options.minimapLeft),this._domNode.setWidth(this._model.options.minimapWidth),this._domNode.setHeight(this._model.options.minimapHeight),this._shadow.setHeight(this._model.options.minimapHeight),this._canvas.setWidth(this._model.options.canvasOuterWidth),this._canvas.setHeight(this._model.options.canvasOuterHeight),this._canvas.domNode.width=this._model.options.canvasInnerWidth,this._canvas.domNode.height=this._model.options.canvasInnerHeight,this._decorationsCanvas.setWidth(this._model.options.canvasOuterWidth),this._decorationsCanvas.setHeight(this._model.options.canvasOuterHeight),this._decorationsCanvas.domNode.width=this._model.options.canvasInnerWidth,this._decorationsCanvas.domNode.height=this._model.options.canvasInnerHeight,this._slider.setWidth(this._model.options.minimapWidth)}_getBuffer(){return this._buffers||this._model.options.canvasInnerWidth>0&&this._model.options.canvasInnerHeight>0&&(this._buffers=new Y6(this._canvas.domNode.getContext("2d"),this._model.options.canvasInnerWidth,this._model.options.canvasInnerHeight,this._model.options.backgroundColor)),this._buffers?this._buffers.getBuffer():null}onDidChangeOptions(){this._lastRenderData=null,this._buffers=null,this._applyLayout(),this._domNode.setClassName(this._getMinimapDomNodeClassName())}onSelectionChanged(){return this._renderDecorations=!0,!0}onDecorationsChanged(){return this._renderDecorations=!0,!0}onFlushed(){return this._lastRenderData=null,!0}onLinesChanged(e,t){return this._lastRenderData?this._lastRenderData.onLinesChanged(e,t):!1}onLinesDeleted(e,t){var i;return(i=this._lastRenderData)===null||i===void 0||i.onLinesDeleted(e,t),!0}onLinesInserted(e,t){var i;return(i=this._lastRenderData)===null||i===void 0||i.onLinesInserted(e,t),!0}onScrollChanged(){return this._renderDecorations=!0,!0}onThemeChanged(){return this._selectionColor=this._theme.getColor(mve),this._renderDecorations=!0,!0}onTokensChanged(e){return this._lastRenderData?this._lastRenderData.onTokensChanged(e):!1}onTokensColorsChanged(){return this._lastRenderData=null,this._buffers=null,!0}onZonesChanged(){return this._lastRenderData=null,!0}render(e){if(this._model.options.renderMinimap===0){this._shadow.setClassName("minimap-shadow-hidden"),this._sliderHorizontal.setWidth(0),this._sliderHorizontal.setHeight(0);return}e.scrollLeft+e.viewportWidth>=e.scrollWidth?this._shadow.setClassName("minimap-shadow-hidden"):this._shadow.setClassName("minimap-shadow-visible");const i=rD.create(this._model.options,e.viewportStartLineNumber,e.viewportEndLineNumber,e.viewportStartLineNumberVerticalOffset,e.viewportHeight,e.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),e.scrollTop,e.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setDisplay(i.sliderNeeded?"block":"none"),this._slider.setTop(i.sliderTop),this._slider.setHeight(i.sliderHeight),this._sliderHorizontal.setLeft(0),this._sliderHorizontal.setWidth(this._model.options.minimapWidth),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(i.sliderHeight),this.renderDecorations(i),this._lastRenderData=this.renderLines(i)}renderDecorations(e){if(this._renderDecorations){this._renderDecorations=!1;const t=this._model.getSelections();t.sort(J.compareRangesUsingStarts);const i=this._model.getMinimapDecorationsInViewport(e.startLineNumber,e.endLineNumber);i.sort((h,m)=>(h.options.zIndex||0)-(m.options.zIndex||0));const{canvasInnerWidth:r,canvasInnerHeight:o}=this._model.options,s=this._model.options.minimapLineHeight,a=this._model.options.minimapCharWidth,l=this._model.getOptions().tabSize,u=this._decorationsCanvas.domNode.getContext("2d");u.clearRect(0,0,r,o);const c=new mye(e.startLineNumber,e.endLineNumber,!1);this._renderSelectionLineHighlights(u,t,c,e,s),this._renderDecorationsLineHighlights(u,i,c,e,s);const d=new mye(e.startLineNumber,e.endLineNumber,null);this._renderSelectionsHighlights(u,t,d,e,s,l,a,r),this._renderDecorationsHighlights(u,i,d,e,s,l,a,r),this._renderSectionHeaders(e)}}_renderSelectionLineHighlights(e,t,i,r,o){if(!this._selectionColor||this._selectionColor.isTransparent())return;e.fillStyle=this._selectionColor.transparent(.5).toString();let s=0,a=0;for(const l of t){const u=r.intersectWithViewport(l);if(!u)continue;const[c,d]=u;for(let f=c;f<=d;f++)i.set(f,!0);const h=r.getYForLineNumber(c,o),m=r.getYForLineNumber(d,o);a>=h||(a>s&&e.fillRect(Jm,s,e.canvas.width,a-s),s=h),a=m}a>s&&e.fillRect(Jm,s,e.canvas.width,a-s)}_renderDecorationsLineHighlights(e,t,i,r,o){const s=new Map;for(let a=t.length-1;a>=0;a--){const l=t[a],u=l.options.minimap;if(!u||u.position!==1)continue;const c=r.intersectWithViewport(l.range);if(!c)continue;const[d,h]=c,m=u.getColor(this._theme.value);if(!m||m.isTransparent())continue;let f=s.get(m.toString());f||(f=m.transparent(.5).toString(),s.set(m.toString(),f)),e.fillStyle=f;for(let g=d;g<=h;g++){if(i.has(g))continue;i.set(g,!0);const b=r.getYForLineNumber(d,o);e.fillRect(Jm,b,e.canvas.width,o)}}}_renderSelectionsHighlights(e,t,i,r,o,s,a,l){if(!(!this._selectionColor||this._selectionColor.isTransparent()))for(const u of t){const c=r.intersectWithViewport(u);if(!c)continue;const[d,h]=c;for(let m=d;m<=h;m++)this.renderDecorationOnLine(e,i,u,this._selectionColor,r,m,o,o,s,a,l)}}_renderDecorationsHighlights(e,t,i,r,o,s,a,l){for(const u of t){const c=u.options.minimap;if(!c)continue;const d=r.intersectWithViewport(u.range);if(!d)continue;const[h,m]=d,f=c.getColor(this._theme.value);if(!(!f||f.isTransparent()))for(let g=h;g<=m;g++)switch(c.position){case 1:this.renderDecorationOnLine(e,i,u.range,f,r,g,o,o,s,a,l);continue;case 2:{const b=r.getYForLineNumber(g,o);this.renderDecoration(e,f,2,b,Wyt,o);continue}}}}renderDecorationOnLine(e,t,i,r,o,s,a,l,u,c,d){const h=o.getYForLineNumber(s,l);if(h+a<0||h>this._model.options.canvasInnerHeight)return;const{startLineNumber:m,endLineNumber:f}=i,g=m===s?i.startColumn:1,b=f===s?i.endColumn:this._model.getLineMaxColumn(s),v=this.getXOffsetForPosition(t,s,g,u,c,d),C=this.getXOffsetForPosition(t,s,b,u,c,d);this.renderDecoration(e,r,v,h,C-v,a)}getXOffsetForPosition(e,t,i,r,o,s){if(i===1)return Jm;if((i-1)*o>=s)return s;let l=e.get(t);if(!l){const u=this._model.getLineContent(t);l=[Jm];let c=Jm;for(let d=1;d=s){l[d]=s;break}l[d]=f,c=f}e.set(t,l)}return i-1g.range.startLineNumber-b.range.startLineNumber);const f=d2._fitSectionHeader.bind(null,h,s-Jm);for(const g of m){const b=e.getYForLineNumber(g.range.startLineNumber,i)+r,v=b-r,C=v+2,S=this._model.getSectionHeaderText(g,f);d2._renderSectionLabel(h,S,((t=g.options.minimap)===null||t===void 0?void 0:t.sectionHeaderStyle)===2,l,c,s,v,o,b,C)}}static _fitSectionHeader(e,t,i){if(!i)return i;const r="…",o=e.measureText(i).width,s=e.measureText(r).width;if(o<=t||o<=s)return i;const a=i.length,l=o/i.length,u=Math.floor((t-s)/l)-1;let c=Math.ceil(u/2);for(;c>0&&/\s/.test(i[c-1]);)--c;return i.substring(0,c)+r+i.substring(a-(u-c))}static _renderSectionLabel(e,t,i,r,o,s,a,l,u,c){t&&(e.fillStyle=r,e.fillRect(0,a,s,l),e.fillStyle=o,e.fillText(t,Jm,u)),i&&(e.beginPath(),e.moveTo(0,c),e.lineTo(s,c),e.closePath(),e.stroke())}renderLines(e){const t=e.startLineNumber,i=e.endLineNumber,r=this._model.options.minimapLineHeight;if(this._lastRenderData&&this._lastRenderData.linesEquals(e)){const z=this._lastRenderData._get();return new hye(e,z.imageData,z.lines)}const o=this._getBuffer();if(!o)return null;const[s,a,l]=d2._renderUntouchedLines(o,e.topPaddingLineCount,t,i,r,this._lastRenderData),u=this._model.getMinimapLinesRenderingData(t,i,l),c=this._model.getOptions().tabSize,d=this._model.options.defaultBackgroundColor,h=this._model.options.backgroundColor,m=this._model.options.foregroundAlpha,f=this._model.tokensColorTracker,g=f.backgroundIsLight(),b=this._model.options.renderMinimap,v=this._model.options.charRenderer(),C=this._model.options.fontScale,S=this._model.options.minimapCharWidth,_=(b===1?2:3)*C,F=r>_?Math.floor((r-_)/2):0,D=h.a/255,M=new Yu(Math.round((h.r-d.r)*D+d.r),Math.round((h.g-d.g)*D+d.g),Math.round((h.b-d.b)*D+d.b),255);let T=e.topPaddingLineCount*r;const Z=[];for(let z=0,O=i-t+1;z=0&&EC)return;const R=b.charCodeAt(_);if(R===9){const W=h-(_+F)%h;F+=W-1,x+=W*s}else if(R===32)x+=s;else{const W=Ob(R)?2:1;for(let A=0;AC)return}}}}}class mye{constructor(e,t,i){this._startLineNumber=e,this._endLineNumber=t,this._defaultValue=i,this._values=[];for(let r=0,o=this._endLineNumber-this._startLineNumber+1;rthis._endLineNumber||(this._values[e-this._startLineNumber]=t)}get(e){return ethis._endLineNumber?this._defaultValue:this._values[e-this._startLineNumber]}}class Vyt extends du{constructor(e,t){super(e),this._viewDomNode=t;const r=this._context.configuration.options.get(145);this._widgets={},this._verticalScrollbarWidth=r.verticalScrollbarWidth,this._minimapWidth=r.minimap.minimapWidth,this._horizontalScrollbarHeight=r.horizontalScrollbarHeight,this._editorHeight=r.height,this._editorWidth=r.width,this._viewDomNodeRect={top:0,left:0,width:0,height:0},this._domNode=Si(document.createElement("div")),Xh.write(this._domNode,4),this._domNode.setClassName("overlayWidgets"),this.overflowingOverlayWidgetsDomNode=Si(document.createElement("div")),Xh.write(this.overflowingOverlayWidgetsDomNode,5),this.overflowingOverlayWidgetsDomNode.setClassName("overflowingOverlayWidgets")}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(e){const i=this._context.configuration.options.get(145);return this._verticalScrollbarWidth=i.verticalScrollbarWidth,this._minimapWidth=i.minimap.minimapWidth,this._horizontalScrollbarHeight=i.horizontalScrollbarHeight,this._editorHeight=i.height,this._editorWidth=i.width,!0}addWidget(e){const t=Si(e.getDomNode());this._widgets[e.getId()]={widget:e,preference:null,domNode:t},t.setPosition("absolute"),t.setAttribute("widgetId",e.getId()),e.allowEditorOverflow?this.overflowingOverlayWidgetsDomNode.appendChild(t):this._domNode.appendChild(t),this.setShouldRender(),this._updateMaxMinWidth()}setWidgetPosition(e,t){const i=this._widgets[e.getId()];return i.preference===t?(this._updateMaxMinWidth(),!1):(i.preference=t,this.setShouldRender(),this._updateMaxMinWidth(),!0)}removeWidget(e){const t=e.getId();if(this._widgets.hasOwnProperty(t)){const r=this._widgets[t].domNode.domNode;delete this._widgets[t],r.remove(),this.setShouldRender(),this._updateMaxMinWidth()}}_updateMaxMinWidth(){var e,t;let i=0;const r=Object.keys(this._widgets);for(let o=0,s=r.length;o=3){const o=Math.floor(r/3),s=Math.floor(r/3),a=r-o-s,l=e,u=l+o,c=l+o+a;return[[0,l,u,l,c,l,u,l],[0,o,a,o+a,s,o+a+s,a+s,o+a+s]]}else if(i===2){const o=Math.floor(r/2),s=r-o,a=e,l=a+o;return[[0,a,a,a,l,a,a,a],[0,o,o,o,s,o+s,o+s,o+s]]}else{const o=e,s=r;return[[0,o,o,o,o,o,o,o],[0,s,s,s,s,s,s,s]]}}equals(e){return this.lineHeight===e.lineHeight&&this.pixelRatio===e.pixelRatio&&this.overviewRulerLanes===e.overviewRulerLanes&&this.renderBorder===e.renderBorder&&this.borderColor===e.borderColor&&this.hideCursor===e.hideCursor&&this.cursorColorSingle===e.cursorColorSingle&&this.cursorColorPrimary===e.cursorColorPrimary&&this.cursorColorSecondary===e.cursorColorSecondary&&this.themeType===e.themeType&&Ze.equals(this.backgroundColor,e.backgroundColor)&&this.top===e.top&&this.right===e.right&&this.domWidth===e.domWidth&&this.domHeight===e.domHeight&&this.canvasWidth===e.canvasWidth&&this.canvasHeight===e.canvasHeight}}class Gyt extends du{constructor(e){super(e),this._actualShouldRender=0,this._renderedDecorations=[],this._renderedCursorPositions=[],this._domNode=Si(document.createElement("canvas")),this._domNode.setClassName("decorationsOverviewRuler"),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._domNode.setAttribute("aria-hidden","true"),this._updateSettings(!1),this._tokensColorTrackerListener=bo.onDidChange(t=>{t.changedColorMap&&this._updateSettings(!0)}),this._cursorPositions=[{position:new ye(1,1),color:this._settings.cursorColorSingle}]}dispose(){super.dispose(),this._tokensColorTrackerListener.dispose()}_updateSettings(e){const t=new Ayt(this._context.configuration,this._context.theme);return this._settings&&this._settings.equals(t)?!1:(this._settings=t,this._domNode.setTop(this._settings.top),this._domNode.setRight(this._settings.right),this._domNode.setWidth(this._settings.domWidth),this._domNode.setHeight(this._settings.domHeight),this._domNode.domNode.width=this._settings.canvasWidth,this._domNode.domNode.height=this._settings.canvasHeight,e&&this._render(),!0)}_markRenderingIsNeeded(){return this._actualShouldRender=2,!0}_markRenderingIsMaybeNeeded(){return this._actualShouldRender=1,!0}onConfigurationChanged(e){return this._updateSettings(!1)?this._markRenderingIsNeeded():!1}onCursorStateChanged(e){this._cursorPositions=[];for(let t=0,i=e.selections.length;t1&&(r=t===0?this._settings.cursorColorPrimary:this._settings.cursorColorSecondary),this._cursorPositions.push({position:e.selections[t].getPosition(),color:r})}return this._cursorPositions.sort((t,i)=>ye.compare(t.position,i.position)),this._markRenderingIsMaybeNeeded()}onDecorationsChanged(e){return e.affectsOverviewRuler?this._markRenderingIsMaybeNeeded():!1}onFlushed(e){return this._markRenderingIsNeeded()}onScrollChanged(e){return e.scrollHeightChanged?this._markRenderingIsNeeded():!1}onZonesChanged(e){return this._markRenderingIsNeeded()}onThemeChanged(e){return this._updateSettings(!1)?this._markRenderingIsNeeded():!1}getDomNode(){return this._domNode.domNode}prepareRender(e){}render(e){this._render(),this._actualShouldRender=0}_render(){const e=this._settings.backgroundColor;if(this._settings.overviewRulerLanes===0){this._domNode.setBackgroundColor(e?Ze.Format.CSS.formatHexA(e):""),this._domNode.setDisplay("none");return}const t=this._context.viewModel.getAllOverviewRulerDecorations(this._context.theme);if(t.sort(tD.compareByRenderingProps),this._actualShouldRender===1&&!tD.equalsArr(this._renderedDecorations,t)&&(this._actualShouldRender=2),this._actualShouldRender===1&&!kr(this._renderedCursorPositions,this._cursorPositions,(f,g)=>f.position.lineNumber===g.position.lineNumber&&f.color===g.color)&&(this._actualShouldRender=2),this._actualShouldRender===1)return;this._renderedDecorations=t,this._renderedCursorPositions=this._cursorPositions,this._domNode.setDisplay("block");const i=this._settings.canvasWidth,r=this._settings.canvasHeight,o=this._settings.lineHeight,s=this._context.viewLayout,a=this._context.viewLayout.getScrollHeight(),l=r/a,u=6*this._settings.pixelRatio|0,c=u/2|0,d=this._domNode.domNode.getContext("2d");e?e.isOpaque()?(d.fillStyle=Ze.Format.CSS.formatHexA(e),d.fillRect(0,0,i,r)):(d.clearRect(0,0,i,r),d.fillStyle=Ze.Format.CSS.formatHexA(e),d.fillRect(0,0,i,r)):d.clearRect(0,0,i,r);const h=this._settings.x,m=this._settings.w;for(const f of t){const g=f.color,b=f.data;d.fillStyle=g;let v=0,C=0,S=0;for(let x=0,_=b.length/3;x<_;x++){const F=b[3*x],D=b[3*x+1],M=b[3*x+2];let T=s.getVerticalOffsetForLineNumber(D)*l|0,Z=(s.getVerticalOffsetForLineNumber(M)+o)*l|0;if(Z-Tr&&(R=r-c),T=R-c,Z=R+c}T>S+1||F!==v?(x!==0&&d.fillRect(h[v],C,m[v],S-C),v=F,C=T,S=Z):Z>S&&(S=Z)}d.fillRect(h[v],C,m[v],S-C)}if(!this._settings.hideCursor){const f=2*this._settings.pixelRatio|0,g=f/2|0,b=this._settings.x[7],v=this._settings.w[7];let C=-100,S=-100,x=null;for(let _=0,F=this._cursorPositions.length;_r&&(T=r-g);const Z=T-g,E=Z+f;Z>S+1||D!==x?(_!==0&&x&&d.fillRect(b,C,v,S-C),C=Z,S=E):E>S&&(S=E),x=D,d.fillStyle=D}x&&d.fillRect(b,C,v,S-C)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(d.beginPath(),d.lineWidth=1,d.strokeStyle=this._settings.borderColor,d.moveTo(0,0),d.lineTo(0,r),d.stroke(),d.moveTo(0,0),d.lineTo(i,0),d.stroke())}}class fye{constructor(e,t,i){this._colorZoneBrand=void 0,this.from=e|0,this.to=t|0,this.colorId=i|0}static compare(e,t){return e.colorId===t.colorId?e.from===t.from?e.to-t.to:e.from-t.from:e.colorId-t.colorId}}class gye{constructor(e,t,i,r){this._overviewRulerZoneBrand=void 0,this.startLineNumber=e,this.endLineNumber=t,this.heightInLines=i,this.color=r,this._colorZone=null}static compare(e,t){return e.color===t.color?e.startLineNumber===t.startLineNumber?e.heightInLines===t.heightInLines?e.endLineNumber-t.endLineNumber:e.heightInLines-t.heightInLines:e.startLineNumber-t.startLineNumber:e.colori&&(g=i-b);const v=c.color;let C=this._color2Id[v];C||(C=++this._lastAssignedId,this._color2Id[v]=C,this._id2Color[C]=v);const S=new fye(g-b,g+b,C);c.setColorZone(S),a.push(S)}return this._colorZonesInvalid=!1,a.sort(fye.compare),a}}class Pyt extends EI{constructor(e,t){super(),this._context=e;const i=this._context.configuration.options;this._domNode=Si(document.createElement("canvas")),this._domNode.setClassName(t),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._zoneManager=new Xyt(r=>this._context.viewLayout.getVerticalOffsetForLineNumber(r)),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight()),this._zoneManager.setLineHeight(i.get(67)),this._zoneManager.setPixelRatio(i.get(143)),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return e.hasChanged(67)&&(this._zoneManager.setLineHeight(t.get(67)),this._render()),e.hasChanged(143)&&(this._zoneManager.setPixelRatio(t.get(143)),this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render()),!0}onFlushed(e){return this._render(),!0}onScrollChanged(e){return e.scrollHeightChanged&&(this._zoneManager.setOuterHeight(e.scrollHeight),this._render()),!0}onZonesChanged(e){return this._render(),!0}getDomNode(){return this._domNode.domNode}setLayout(e){this._domNode.setTop(e.top),this._domNode.setRight(e.right);let t=!1;t=this._zoneManager.setDOMWidth(e.width)||t,t=this._zoneManager.setDOMHeight(e.height)||t,t&&(this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render())}setZones(e){this._zoneManager.setZones(e),this._render()}_render(){if(this._zoneManager.getOuterHeight()===0)return!1;const e=this._zoneManager.getCanvasWidth(),t=this._zoneManager.getCanvasHeight(),i=this._zoneManager.resolveColorZones(),r=this._zoneManager.getId2Color(),o=this._domNode.domNode.getContext("2d");return o.clearRect(0,0,e,t),i.length>0&&this._renderOneLane(o,i,r,e),!0}_renderOneLane(e,t,i,r){let o=0,s=0,a=0;for(const l of t){const u=l.colorId,c=l.from,d=l.to;u!==o?(e.fillRect(0,s,r,a-s),o=u,e.fillStyle=i[o],s=c,a=d):a>=c?a=Math.max(a,d):(e.fillRect(0,s,r,a-s),s=c,a=d)}e.fillRect(0,s,r,a-s)}}class Oyt extends du{constructor(e){super(e),this.domNode=Si(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("view-rulers"),this._renderedRulers=[];const t=this._context.configuration.options;this._rulers=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth}dispose(){super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._rulers=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onScrollChanged(e){return e.scrollHeightChanged}prepareRender(e){}_ensureRulersCount(){const e=this._renderedRulers.length,t=this._rulers.length;if(e===t)return;if(e0;){const a=Si(document.createElement("div"));a.setClassName("view-ruler"),a.setWidth(o),this.domNode.appendChild(a),this._renderedRulers.push(a),s--}return}let i=e-t;for(;i>0;){const r=this._renderedRulers.pop();this.domNode.removeChild(r),i--}}render(e){this._ensureRulersCount();for(let t=0,i=this._rulers.length;t0;return this._shouldShow!==e?(this._shouldShow=e,!0):!1}getDomNode(){return this._domNode}_updateWidth(){const t=this._context.configuration.options.get(145);t.minimap.renderMinimap===0||t.minimap.minimapWidth>0&&t.minimap.minimapLeft===0?this._width=t.width:this._width=t.width-t.verticalScrollbarWidth}onConfigurationChanged(e){const i=this._context.configuration.options.get(103);return this._useShadows=i.useShadows,this._updateWidth(),this._updateShouldShow(),!0}onScrollChanged(e){return this._scrollTop=e.scrollTop,this._updateShouldShow()}prepareRender(e){}render(e){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")}}class zyt{constructor(e){this.left=e.left,this.width=e.width,this.startStyle=null,this.endStyle=null}}class Hyt{constructor(e,t){this.lineNumber=e,this.ranges=t}}function Yyt(n){return new zyt(n)}function Uyt(n){return new Hyt(n.lineNumber,n.ranges.map(Yyt))}class ro extends hy{constructor(e){super(),this._previousFrameVisibleRangesWithStyle=[],this._context=e;const t=this._context.configuration.options;this._roundedSelection=t.get(101),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,this._selections=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._roundedSelection=t.get(101),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_visibleRangesHaveGaps(e){for(let t=0,i=e.length;t1)return!0;return!1}_enrichVisibleRangesWithStyle(e,t,i){const r=this._typicalHalfwidthCharacterWidth/4;let o=null,s=null;if(i&&i.length>0&&t.length>0){const a=t[0].lineNumber;if(a===e.startLineNumber)for(let u=0;!o&&u=0;u--)i[u].lineNumber===l&&(s=i[u].ranges[0]);o&&!o.startStyle&&(o=null),s&&!s.startStyle&&(s=null)}for(let a=0,l=t.length;a0){const f=t[a-1].ranges[0].left,g=t[a-1].ranges[0].left+t[a-1].ranges[0].width;NW(c-f)f&&(h.top=1),NW(d-g)'}_actualRenderOneSelection(e,t,i,r){if(r.length===0)return;const o=!!r[0].ranges[0].startStyle,s=r[0].lineNumber,a=r[r.length-1].lineNumber;for(let l=0,u=r.length;l1,u)}this._previousFrameVisibleRangesWithStyle=o,this._renderResult=t.map(([s,a])=>s+a)}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}ro.SELECTION_CLASS_NAME="selected-text",ro.SELECTION_TOP_LEFT="top-left-radius",ro.SELECTION_BOTTOM_LEFT="bottom-left-radius",ro.SELECTION_TOP_RIGHT="top-right-radius",ro.SELECTION_BOTTOM_RIGHT="bottom-right-radius",ro.EDITOR_BACKGROUND_CLASS_NAME="monaco-editor-background",ro.ROUNDED_PIECE_WIDTH=10,Pc((n,e)=>{const t=n.getColor(zbt);t&&!t.isTransparent()&&e.addRule(`.monaco-editor .view-line span.inline-selected-text { color: ${t}; }`)});function NW(n){return n<0?-n:n}class pye{constructor(e,t,i,r,o,s,a){this.top=e,this.left=t,this.paddingLeft=i,this.width=r,this.height=o,this.textContent=s,this.textContentClassName=a}}var $g;(function(n){n[n.Single=0]="Single",n[n.MultiPrimary=1]="MultiPrimary",n[n.MultiSecondary=2]="MultiSecondary"})($g||($g={}));class bye{constructor(e,t){this._context=e;const i=this._context.configuration.options,r=i.get(50);this._cursorStyle=i.get(28),this._lineHeight=i.get(67),this._typicalHalfwidthCharacterWidth=r.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(i.get(31),this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=Si(document.createElement("div")),this._domNode.setClassName(`cursor ${a2}`),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),Ts(this._domNode,r),this._domNode.setDisplay("none"),this._position=new ye(1,1),this._pluralityClass="",this.setPlurality(t),this._lastRenderedContent="",this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}setPlurality(e){switch(e){default:case $g.Single:this._pluralityClass="";break;case $g.MultiPrimary:this._pluralityClass="cursor-primary";break;case $g.MultiSecondary:this._pluralityClass="cursor-secondary";break}}show(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)}hide(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(50);return this._cursorStyle=t.get(28),this._lineHeight=t.get(67),this._typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(t.get(31),this._typicalHalfwidthCharacterWidth),Ts(this._domNode,i),!0}onCursorPositionChanged(e,t){return t?this._domNode.domNode.style.transitionProperty="none":this._domNode.domNode.style.transitionProperty="",this._position=e,!0}_getGraphemeAwarePosition(){const{lineNumber:e,column:t}=this._position,i=this._context.viewModel.getLineContent(e),[r,o]=Emt(i,t-1);return[new ye(e,r+1),i.substring(r,o)]}_prepareRender(e){let t="",i="";const[r,o]=this._getGraphemeAwarePosition();if(this._cursorStyle===Es.Line||this._cursorStyle===Es.LineThin){const h=e.visibleRangeForPosition(r);if(!h||h.outsideRenderedLine)return null;const m=Qt(this._domNode.domNode);let f;this._cursorStyle===Es.Line?(f=V0e(m,this._lineCursorWidth>0?this._lineCursorWidth:2),f>2&&(t=o,i=this._getTokenClassName(r))):f=V0e(m,1);let g=h.left,b=0;f>=2&&g>=1&&(b=1,g-=b);const v=e.getVerticalOffsetForLineNumber(r.lineNumber)-e.bigNumbersDelta;return new pye(v,g,b,f,this._lineHeight,t,i)}const s=e.linesVisibleRangesForRange(new J(r.lineNumber,r.column,r.lineNumber,r.column+o.length),!1);if(!s||s.length===0)return null;const a=s[0];if(a.outsideRenderedLine||a.ranges.length===0)return null;const l=a.ranges[0],u=o===" "?this._typicalHalfwidthCharacterWidth:l.width<1?this._typicalHalfwidthCharacterWidth:l.width;this._cursorStyle===Es.Block&&(t=o,i=this._getTokenClassName(r));let c=e.getVerticalOffsetForLineNumber(r.lineNumber)-e.bigNumbersDelta,d=this._lineHeight;return(this._cursorStyle===Es.Underline||this._cursorStyle===Es.UnderlineThin)&&(c+=this._lineHeight-2,d=2),new pye(c,l.left,0,u,d,t,i)}_getTokenClassName(e){const t=this._context.viewModel.getViewLineData(e.lineNumber),i=t.tokens.findTokenIndexAtOffset(e.column-1);return t.tokens.getClassName(i)}prepareRender(e){this._renderData=this._prepareRender(e)}render(e){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName(`cursor ${this._pluralityClass} ${a2} ${this._renderData.textContentClassName}`),this._domNode.setDisplay("block"),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),this._domNode.setPaddingLeft(this._renderData.paddingLeft),this._domNode.setWidth(this._renderData.width),this._domNode.setLineHeight(this._renderData.height),this._domNode.setHeight(this._renderData.height),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}):(this._domNode.setDisplay("none"),null)}}class sD extends du{constructor(e){super(e);const t=this._context.configuration.options;this._readOnly=t.get(91),this._cursorBlinking=t.get(26),this._cursorStyle=t.get(28),this._cursorSmoothCaretAnimation=t.get(27),this._selectionIsEmpty=!0,this._isComposingInput=!1,this._isVisible=!1,this._primaryCursor=new bye(this._context,$g.Single),this._secondaryCursors=[],this._renderData=[],this._domNode=Si(document.createElement("div")),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._updateDomClassName(),this._domNode.appendChild(this._primaryCursor.getDomNode()),this._startCursorBlinkAnimation=new Id,this._cursorFlatBlinkInterval=new bY,this._blinkingEnabled=!1,this._editorHasFocus=!1,this._updateBlinking()}dispose(){super.dispose(),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(e){return this._isComposingInput=!0,this._updateBlinking(),!0}onCompositionEnd(e){return this._isComposingInput=!1,this._updateBlinking(),!0}onConfigurationChanged(e){const t=this._context.configuration.options;this._readOnly=t.get(91),this._cursorBlinking=t.get(26),this._cursorStyle=t.get(28),this._cursorSmoothCaretAnimation=t.get(27),this._updateBlinking(),this._updateDomClassName(),this._primaryCursor.onConfigurationChanged(e);for(let i=0,r=this._secondaryCursors.length;it.length){const o=this._secondaryCursors.length-t.length;for(let s=0;s{for(let r=0,o=e.ranges.length;r{this._isVisible?this._hide():this._show()},sD.BLINK_INTERVAL,Qt(this._domNode.domNode)):this._startCursorBlinkAnimation.setIfNotSet(()=>{this._blinkingEnabled=!0,this._updateDomClassName()},sD.BLINK_INTERVAL))}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let e="cursors-layer";switch(this._selectionIsEmpty||(e+=" has-selection"),this._cursorStyle){case Es.Line:e+=" cursor-line-style";break;case Es.Block:e+=" cursor-block-style";break;case Es.Underline:e+=" cursor-underline-style";break;case Es.LineThin:e+=" cursor-line-thin-style";break;case Es.BlockOutline:e+=" cursor-block-outline-style";break;case Es.UnderlineThin:e+=" cursor-underline-thin-style";break;default:e+=" cursor-line-style"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case 1:e+=" cursor-blink";break;case 2:e+=" cursor-smooth";break;case 3:e+=" cursor-phase";break;case 4:e+=" cursor-expand";break;case 5:e+=" cursor-solid";break;default:e+=" cursor-solid"}else e+=" cursor-solid";return(this._cursorSmoothCaretAnimation==="on"||this._cursorSmoothCaretAnimation==="explicit")&&(e+=" cursor-smooth-caret-animation"),e}_show(){this._primaryCursor.show();for(let e=0,t=this._secondaryCursors.length;e{const t=[{class:".cursor",foreground:sf,background:Ug},{class:".cursor-primary",foreground:Ove,background:lvt},{class:".cursor-secondary",foreground:Bve,background:uvt}];for(const i of t){const r=n.getColor(i.foreground);if(r){let o=n.getColor(i.background);o||(o=r.opposite()),e.addRule(`.monaco-editor .cursors-layer ${i.class} { background-color: ${r}; border-color: ${r}; color: ${o}; }`),rf(n.type)&&e.addRule(`.monaco-editor .cursors-layer.has-selection ${i.class} { border-left: 1px solid ${o}; border-right: 1px solid ${o}; }`)}}});const U6=()=>{throw new Error("Invalid change accessor")};class Kyt extends du{constructor(e){super(e);const t=this._context.configuration.options,i=t.get(145);this._lineHeight=t.get(67),this._contentWidth=i.contentWidth,this._contentLeft=i.contentLeft,this.domNode=Si(document.createElement("div")),this.domNode.setClassName("view-zones"),this.domNode.setPosition("absolute"),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.marginDomNode=Si(document.createElement("div")),this.marginDomNode.setClassName("margin-view-zones"),this.marginDomNode.setPosition("absolute"),this.marginDomNode.setAttribute("role","presentation"),this.marginDomNode.setAttribute("aria-hidden","true"),this._zones={}}dispose(){super.dispose(),this._zones={}}_recomputeWhitespacesProps(){const e=this._context.viewLayout.getWhitespaces(),t=new Map;for(const r of e)t.set(r.id,r);let i=!1;return this._context.viewModel.changeWhitespace(r=>{const o=Object.keys(this._zones);for(let s=0,a=o.length;s{const r={addZone:o=>(t=!0,this._addZone(i,o)),removeZone:o=>{o&&(t=this._removeZone(i,o)||t)},layoutZone:o=>{o&&(t=this._layoutZone(i,o)||t)}};Jyt(e,r),r.addZone=U6,r.removeZone=U6,r.layoutZone=U6}),t}_addZone(e,t){const i=this._computeWhitespaceProps(t),o={whitespaceId:e.insertWhitespace(i.afterViewLineNumber,this._getZoneOrdinal(t),i.heightInPx,i.minWidthInPx),delegate:t,isInHiddenArea:i.isInHiddenArea,isVisible:!1,domNode:Si(t.domNode),marginDomNode:t.marginDomNode?Si(t.marginDomNode):null};return this._safeCallOnComputedHeight(o.delegate,i.heightInPx),o.domNode.setPosition("absolute"),o.domNode.domNode.style.width="100%",o.domNode.setDisplay("none"),o.domNode.setAttribute("monaco-view-zone",o.whitespaceId),this.domNode.appendChild(o.domNode),o.marginDomNode&&(o.marginDomNode.setPosition("absolute"),o.marginDomNode.domNode.style.width="100%",o.marginDomNode.setDisplay("none"),o.marginDomNode.setAttribute("monaco-view-zone",o.whitespaceId),this.marginDomNode.appendChild(o.marginDomNode)),this._zones[o.whitespaceId]=o,this.setShouldRender(),o.whitespaceId}_removeZone(e,t){if(this._zones.hasOwnProperty(t)){const i=this._zones[t];return delete this._zones[t],e.removeWhitespace(i.whitespaceId),i.domNode.removeAttribute("monaco-visible-view-zone"),i.domNode.removeAttribute("monaco-view-zone"),i.domNode.domNode.parentNode.removeChild(i.domNode.domNode),i.marginDomNode&&(i.marginDomNode.removeAttribute("monaco-visible-view-zone"),i.marginDomNode.removeAttribute("monaco-view-zone"),i.marginDomNode.domNode.parentNode.removeChild(i.marginDomNode.domNode)),this.setShouldRender(),!0}return!1}_layoutZone(e,t){if(this._zones.hasOwnProperty(t)){const i=this._zones[t],r=this._computeWhitespaceProps(i.delegate);return i.isInHiddenArea=r.isInHiddenArea,e.changeOneWhitespace(i.whitespaceId,r.afterViewLineNumber,r.heightInPx),this._safeCallOnComputedHeight(i.delegate,r.heightInPx),this.setShouldRender(),!0}return!1}shouldSuppressMouseDownOnViewZone(e){return this._zones.hasOwnProperty(e)?!!this._zones[e].delegate.suppressMouseDown:!1}_heightInPixels(e){return typeof e.heightInPx=="number"?e.heightInPx:typeof e.heightInLines=="number"?this._lineHeight*e.heightInLines:this._lineHeight}_minWidthInPixels(e){return typeof e.minWidthInPx=="number"?e.minWidthInPx:0}_safeCallOnComputedHeight(e,t){if(typeof e.onComputedHeight=="function")try{e.onComputedHeight(t)}catch(i){vn(i)}}_safeCallOnDomNodeTop(e,t){if(typeof e.onDomNodeTop=="function")try{e.onDomNodeTop(t)}catch(i){vn(i)}}prepareRender(e){}render(e){const t=e.viewportData.whitespaceViewportData,i={};let r=!1;for(const s of t)this._zones[s.id].isInHiddenArea||(i[s.id]=s,r=!0);const o=Object.keys(this._zones);for(let s=0,a=o.length;sa)continue;const m=h.startLineNumber===a?h.startColumn:u.minColumn,f=h.endLineNumber===a?h.endColumn:u.maxColumn;m=Z.endOffset&&(T++,Z=i&&i[T]),W!==9&&W!==32||h&&!F&&R<=M)continue;if(d&&R>=D&&R<=M&&W===32){const z=R-1>=0?a.charCodeAt(R-1):0,O=R+1=0?a.charCodeAt(R-1):0;if(W===32&&z!==32&&z!==9)continue}if(i&&(!Z||Z.startOffset>R||Z.endOffset<=R))continue;const A=e.visibleRangeForPosition(new ye(t,R+1));A&&(s?(E=Math.max(E,A.left),W===9?_+=this._renderArrow(m,b,A.left):_+=``):W===9?_+=`
${x?"→":"→"}
`:_+=`
${String.fromCharCode(S)}
`)}return s?(E=Math.round(E+b),``+_+""):_}_renderArrow(e,t,i){const r=t/7,o=t,s=e/2,a=i,l={x:0,y:r/2},u={x:100/125*o,y:l.y},c={x:u.x-.2*u.x,y:u.y+.2*u.x},d={x:c.x+.1*u.x,y:c.y+.1*u.x},h={x:d.x+.35*u.x,y:d.y-.35*u.x},m={x:h.x,y:-h.y},f={x:d.x,y:-d.y},g={x:c.x,y:-c.y},b={x:u.x,y:-u.y},v={x:l.x,y:-l.y};return``}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}class vye{constructor(e){const t=e.options,i=t.get(50),r=t.get(38);r==="off"?(this.renderWhitespace="none",this.renderWithSVG=!1):r==="svg"?(this.renderWhitespace=t.get(99),this.renderWithSVG=!0):(this.renderWhitespace=t.get(99),this.renderWithSVG=!1),this.spaceWidth=i.spaceWidth,this.middotWidth=i.middotWidth,this.wsmiddotWidth=i.wsmiddotWidth,this.canUseHalfwidthRightwardsArrow=i.canUseHalfwidthRightwardsArrow,this.lineHeight=t.get(67),this.stopRenderingLineAfter=t.get(117)}equals(e){return this.renderWhitespace===e.renderWhitespace&&this.renderWithSVG===e.renderWithSVG&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter}}class Qyt{constructor(e,t,i,r){this.selections=e,this.startLineNumber=t.startLineNumber|0,this.endLineNumber=t.endLineNumber|0,this.relativeVerticalOffset=t.relativeVerticalOffset,this.bigNumbersDelta=t.bigNumbersDelta|0,this.lineHeight=t.lineHeight|0,this.whitespaceViewportData=i,this._model=r,this.visibleRange=new J(t.startLineNumber,this._model.getLineMinColumn(t.startLineNumber),t.endLineNumber,this._model.getLineMaxColumn(t.endLineNumber))}getViewLineRenderingData(e){return this._model.getViewportViewLineRenderingData(this.visibleRange,e)}getDecorationsInViewport(){return this._model.getDecorationsInViewport(this.visibleRange)}}class $yt{get type(){return this._theme.type}get value(){return this._theme}constructor(e){this._theme=e}update(e){this._theme=e}getColor(e){return this._theme.getColor(e)}}class qyt{constructor(e,t,i){this.configuration=e,this.theme=new $yt(t),this.viewModel=i,this.viewLayout=i.viewLayout}addEventHandler(e){this.viewModel.addViewEventHandler(e)}removeEventHandler(e){this.viewModel.removeViewEventHandler(e)}}var eCt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},tCt=function(n,e){return function(t,i){e(t,i,n)}};let K6=class extends EI{constructor(e,t,i,r,o,s,a){super(),this._instantiationService=a,this._shouldRecomputeGlyphMarginLanes=!1,this._selections=[new Wt(1,1,1,1)],this._renderAnimationFrame=null;const l=new jvt(t,r,o,e);this._context=new qyt(t,i,r),this._context.addEventHandler(this),this._viewParts=[],this._textAreaHandler=this._instantiationService.createInstance(G6,this._context,l,this._createTextAreaHandlerHelper()),this._viewParts.push(this._textAreaHandler),this._linesContent=Si(document.createElement("div")),this._linesContent.setClassName("lines-content monaco-editor-background"),this._linesContent.setPosition("absolute"),this.domNode=Si(document.createElement("div")),this.domNode.setClassName(this._getEditorClassName()),this.domNode.setAttribute("role","code"),this._overflowGuardContainer=Si(document.createElement("div")),Xh.write(this._overflowGuardContainer,3),this._overflowGuardContainer.setClassName("overflow-guard"),this._scrollbar=new syt(this._context,this._linesContent,this.domNode,this._overflowGuardContainer),this._viewParts.push(this._scrollbar),this._viewLines=new MW(this._context,this._linesContent),this._viewZones=new Kyt(this._context),this._viewParts.push(this._viewZones);const u=new Gyt(this._context);this._viewParts.push(u);const c=new Byt(this._context);this._viewParts.push(c);const d=new $vt(this._context);this._viewParts.push(d),d.addDynamicOverlay(new iyt(this._context)),d.addDynamicOverlay(new ro(this._context)),d.addDynamicOverlay(new xyt(this._context)),d.addDynamicOverlay(new oyt(this._context)),d.addDynamicOverlay(new jyt(this._context));const h=new qvt(this._context);this._viewParts.push(h),h.addDynamicOverlay(new ryt(this._context)),h.addDynamicOverlay(new Dyt(this._context)),h.addDynamicOverlay(new Iyt(this._context)),h.addDynamicOverlay(new XI(this._context)),this._glyphMarginWidgets=new hyt(this._context),this._viewParts.push(this._glyphMarginWidgets);const m=new my(this._context);m.getDomNode().appendChild(this._viewZones.marginDomNode),m.getDomNode().appendChild(h.getDomNode()),m.getDomNode().appendChild(this._glyphMarginWidgets.domNode),this._viewParts.push(m),this._contentWidgets=new tyt(this._context,this.domNode),this._viewParts.push(this._contentWidgets),this._viewCursors=new sD(this._context),this._viewParts.push(this._viewCursors),this._overlayWidgets=new Vyt(this._context,this.domNode),this._viewParts.push(this._overlayWidgets);const f=new Oyt(this._context);this._viewParts.push(f);const g=new eyt(this._context);this._viewParts.push(g);const b=new Ryt(this._context);if(this._viewParts.push(b),u){const v=this._scrollbar.getOverviewRulerLayoutInfo();v.parent.insertBefore(u.getDomNode(),v.insertBefore)}this._linesContent.appendChild(d.getDomNode()),this._linesContent.appendChild(f.domNode),this._linesContent.appendChild(this._viewZones.domNode),this._linesContent.appendChild(this._viewLines.getDomNode()),this._linesContent.appendChild(this._contentWidgets.domNode),this._linesContent.appendChild(this._viewCursors.getDomNode()),this._overflowGuardContainer.appendChild(m.getDomNode()),this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this._overflowGuardContainer.appendChild(c.getDomNode()),this._overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this._overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode()),this._overflowGuardContainer.appendChild(b.getDomNode()),this._overflowGuardContainer.appendChild(g.domNode),this.domNode.appendChild(this._overflowGuardContainer),s?(s.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode),s.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode.domNode)):(this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode),this.domNode.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode)),this._applyLayout(),this._pointerHandler=this._register(new ovt(this._context,l,this._createPointerHandlerHelper()))}_computeGlyphMarginLanes(){const e=this._context.viewModel.model,t=this._context.viewModel.glyphLanes;let i=[],r=0;i=i.concat(e.getAllMarginDecorations().map(o=>{var s,a,l;const u=(a=(s=o.options.glyphMargin)===null||s===void 0?void 0:s.position)!==null&&a!==void 0?a:lf.Center;return r=Math.max(r,o.range.endLineNumber),{range:o.range,lane:u,persist:(l=o.options.glyphMargin)===null||l===void 0?void 0:l.persistLane}})),i=i.concat(this._glyphMarginWidgets.getWidgets().map(o=>{const s=e.validateRange(o.preference.range);return r=Math.max(r,s.endLineNumber),{range:s,lane:o.preference.lane}})),i.sort((o,s)=>J.compareRangesUsingStarts(o.range,s.range)),t.reset(r);for(const o of i)t.push(o.lane,o.range,o.persist);return t}_createPointerHandlerHelper(){return{viewDomNode:this.domNode.domNode,linesContentDomNode:this._linesContent.domNode,viewLinesDomNode:this._viewLines.getDomNode().domNode,focusTextArea:()=>{this.focus()},dispatchTextAreaEvent:e=>{this._textAreaHandler.textArea.domNode.dispatchEvent(e)},getLastRenderData:()=>{const e=this._viewCursors.getLastRenderData()||[],t=this._textAreaHandler.getLastRenderData();return new Z1t(e,t)},renderNow:()=>{this.render(!0,!1)},shouldSuppressMouseDownOnViewZone:e=>this._viewZones.shouldSuppressMouseDownOnViewZone(e),shouldSuppressMouseDownOnWidget:e=>this._contentWidgets.shouldSuppressMouseDownOnWidget(e),getPositionFromDOMInfo:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getPositionFromDOMInfo(e,t)),visibleRangeForPosition:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(new ye(e,t))),getLineWidth:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getLineWidth(e))}}_createTextAreaHandlerHelper(){return{visibleRangeForPosition:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(e))}}_applyLayout(){const t=this._context.configuration.options.get(145);this.domNode.setWidth(t.width),this.domNode.setHeight(t.height),this._overflowGuardContainer.setWidth(t.width),this._overflowGuardContainer.setHeight(t.height),this._linesContent.setWidth(16777216),this._linesContent.setHeight(16777216)}_getEditorClassName(){const e=this._textAreaHandler.isFocused()?" focused":"";return this._context.configuration.options.get(142)+" "+E6(this._context.theme.type)+e}handleEvents(e){super.handleEvents(e),this._scheduleRender()}onConfigurationChanged(e){return this.domNode.setClassName(this._getEditorClassName()),this._applyLayout(),!1}onCursorStateChanged(e){return this._selections=e.selections,!1}onDecorationsChanged(e){return e.affectsGlyphMargin&&(this._shouldRecomputeGlyphMarginLanes=!0),!1}onFocusChanged(e){return this.domNode.setClassName(this._getEditorClassName()),!1}onThemeChanged(e){return this._context.theme.update(e.theme),this.domNode.setClassName(this._getEditorClassName()),!1}dispose(){this._renderAnimationFrame!==null&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(),this._context.removeEventHandler(this),this._viewLines.dispose();for(const e of this._viewParts)e.dispose();super.dispose()}_scheduleRender(){if(this._store.isDisposed)throw new or;if(this._renderAnimationFrame===null){const e=this._createCoordinatedRendering();this._renderAnimationFrame=J6.INSTANCE.scheduleCoordinatedRendering({window:Qt(this.domNode.domNode),prepareRenderText:()=>{if(this._store.isDisposed)throw new or;try{return e.prepareRenderText()}finally{this._renderAnimationFrame=null}},renderText:()=>{if(this._store.isDisposed)throw new or;return e.renderText()},prepareRender:(t,i)=>{if(this._store.isDisposed)throw new or;return e.prepareRender(t,i)},render:(t,i)=>{if(this._store.isDisposed)throw new or;return e.render(t,i)}})}}_flushAccumulatedAndRenderNow(){const e=this._createCoordinatedRendering();d0(()=>e.prepareRenderText());const t=d0(()=>e.renderText());if(t){const[i,r]=t;d0(()=>e.prepareRender(i,r)),d0(()=>e.render(i,r))}}_getViewPartsToRender(){const e=[];let t=0;for(const i of this._viewParts)i.shouldRender()&&(e[t++]=i);return e}_createCoordinatedRendering(){return{prepareRenderText:()=>{if(this._shouldRecomputeGlyphMarginLanes){this._shouldRecomputeGlyphMarginLanes=!1;const e=this._computeGlyphMarginLanes();this._context.configuration.setGlyphMarginDecorationLaneCount(e.requiredLanes)}n0.onRenderStart()},renderText:()=>{if(!this.domNode.domNode.isConnected)return null;let e=this._getViewPartsToRender();if(!this._viewLines.shouldRender()&&e.length===0)return null;const t=this._context.viewLayout.getLinesViewportData();this._context.viewModel.setViewport(t.startLineNumber,t.endLineNumber,t.centeredLineNumber);const i=new Qyt(this._selections,t,this._context.viewLayout.getWhitespaceViewportData(),this._context.viewModel);return this._contentWidgets.shouldRender()&&this._contentWidgets.onBeforeRender(i),this._viewLines.shouldRender()&&(this._viewLines.renderText(i),this._viewLines.onDidRender(),e=this._getViewPartsToRender()),[e,new g1t(this._context.viewLayout,i,this._viewLines)]},prepareRender:(e,t)=>{for(const i of e)i.prepareRender(t)},render:(e,t)=>{for(const i of e)i.render(t),i.onDidRender()}}}delegateVerticalScrollbarPointerDown(e){this._scrollbar.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this._scrollbar.delegateScrollFromMouseWheelEvent(e)}restoreState(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft},1),this._context.viewModel.visibleLinesStabilized()}getOffsetForColumn(e,t){const i=this._context.viewModel.model.validatePosition({lineNumber:e,column:t}),r=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i);this._flushAccumulatedAndRenderNow();const o=this._viewLines.visibleRangeForPosition(new ye(r.lineNumber,r.column));return o?o.left:-1}getTargetAtClientPoint(e,t){const i=this._pointerHandler.getTargetAtClientPoint(e,t);return i?_W.convertViewToModelMouseTarget(i,this._context.viewModel.coordinatesConverter):null}createOverviewRuler(e){return new Pyt(this._context,e)}change(e){this._viewZones.changeViewZones(e),this._scheduleRender()}render(e,t){if(t){this._viewLines.forceShouldRender();for(const i of this._viewParts)i.forceShouldRender()}e?this._flushAccumulatedAndRenderNow():this._scheduleRender()}writeScreenReaderContent(e){this._textAreaHandler.writeScreenReaderContent(e)}focus(){this._textAreaHandler.focusTextArea()}isFocused(){return this._textAreaHandler.isFocused()}setAriaOptions(e){this._textAreaHandler.setAriaOptions(e)}addContentWidget(e){this._contentWidgets.addWidget(e.widget),this.layoutContentWidget(e),this._scheduleRender()}layoutContentWidget(e){var t,i,r,o,s,a,l,u;this._contentWidgets.setWidgetPosition(e.widget,(i=(t=e.position)===null||t===void 0?void 0:t.position)!==null&&i!==void 0?i:null,(o=(r=e.position)===null||r===void 0?void 0:r.secondaryPosition)!==null&&o!==void 0?o:null,(a=(s=e.position)===null||s===void 0?void 0:s.preference)!==null&&a!==void 0?a:null,(u=(l=e.position)===null||l===void 0?void 0:l.positionAffinity)!==null&&u!==void 0?u:null),this._scheduleRender()}removeContentWidget(e){this._contentWidgets.removeWidget(e.widget),this._scheduleRender()}addOverlayWidget(e){this._overlayWidgets.addWidget(e.widget),this.layoutOverlayWidget(e),this._scheduleRender()}layoutOverlayWidget(e){const t=e.position?e.position.preference:null;this._overlayWidgets.setWidgetPosition(e.widget,t)&&this._scheduleRender()}removeOverlayWidget(e){this._overlayWidgets.removeWidget(e.widget),this._scheduleRender()}addGlyphMarginWidget(e){this._glyphMarginWidgets.addWidget(e.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}layoutGlyphMarginWidget(e){const t=e.position;this._glyphMarginWidgets.setWidgetPosition(e.widget,t)&&(this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender())}removeGlyphMarginWidget(e){this._glyphMarginWidgets.removeWidget(e.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}};K6=eCt([tCt(6,$t)],K6);function d0(n){try{return n()}catch(e){return vn(e),null}}class J6{constructor(){this._coordinatedRenderings=[],this._animationFrameRunners=new Map}scheduleCoordinatedRendering(e){return this._coordinatedRenderings.push(e),this._scheduleRender(e.window),{dispose:()=>{const t=this._coordinatedRenderings.indexOf(e);if(t!==-1&&(this._coordinatedRenderings.splice(t,1),this._coordinatedRenderings.length===0)){for(const[i,r]of this._animationFrameRunners)r.dispose();this._animationFrameRunners.clear()}}}}_scheduleRender(e){if(!this._animationFrameRunners.has(e)){const t=()=>{this._animationFrameRunners.delete(e),this._onRenderScheduled()};this._animationFrameRunners.set(e,o9(e,t,100))}}_onRenderScheduled(){const e=this._coordinatedRenderings.slice(0);this._coordinatedRenderings=[];for(const i of e)d0(()=>i.prepareRenderText());const t=[];for(let i=0,r=e.length;io.renderText())}for(let i=0,r=e.length;io.prepareRender(a,l))}for(let i=0,r=e.length;io.render(a,l))}}}J6.INSTANCE=new J6;class aD{constructor(e,t,i,r,o){this.injectionOffsets=e,this.injectionOptions=t,this.breakOffsets=i,this.breakOffsetsVisibleColumn=r,this.wrappedTextIndentLength=o}getOutputLineCount(){return this.breakOffsets.length}getMinOutputOffset(e){return e>0?this.wrappedTextIndentLength:0}getLineLength(e){const t=e>0?this.breakOffsets[e-1]:0;let r=this.breakOffsets[e]-t;return e>0&&(r+=this.wrappedTextIndentLength),r}getMaxOutputOffset(e){return this.getLineLength(e)}translateToInputOffset(e,t){e>0&&(t=Math.max(0,t-this.wrappedTextIndentLength));let r=e===0?t:this.breakOffsets[e-1]+t;if(this.injectionOffsets!==null)for(let o=0;othis.injectionOffsets[o];o++)r0?this.breakOffsets[o-1]:0,t===0)if(e<=s)r=o-1;else if(e>l)i=o+1;else break;else if(e=l)i=o+1;else break}let a=e-s;return o>0&&(a+=this.wrappedTextIndentLength),new TW(o,a)}normalizeOutputPosition(e,t,i){if(this.injectionOffsets!==null){const r=this.outputPositionToOffsetInInputWithInjections(e,t),o=this.normalizeOffsetInInputWithInjectionsAroundInjections(r,i);if(o!==r)return this.offsetInInputWithInjectionsToOutputPosition(o,i)}if(i===0){if(e>0&&t===this.getMinOutputOffset(e))return new TW(e-1,this.getMaxOutputOffset(e-1))}else if(i===1){const r=this.getOutputLineCount()-1;if(e0&&(t=Math.max(0,t-this.wrappedTextIndentLength)),(e>0?this.breakOffsets[e-1]:0)+t}normalizeOffsetInInputWithInjectionsAroundInjections(e,t){const i=this.getInjectedTextAtOffset(e);if(!i)return e;if(t===2){if(e===i.offsetInInputWithInjections+i.length&&yye(this.injectionOptions[i.injectedTextIndex].cursorStops))return i.offsetInInputWithInjections+i.length;{let r=i.offsetInInputWithInjections;if(Cye(this.injectionOptions[i.injectedTextIndex].cursorStops))return r;let o=i.injectedTextIndex-1;for(;o>=0&&this.injectionOffsets[o]===this.injectionOffsets[i.injectedTextIndex]&&!(yye(this.injectionOptions[o].cursorStops)||(r-=this.injectionOptions[o].content.length,Cye(this.injectionOptions[o].cursorStops)));)o--;return r}}else if(t===1||t===4){let r=i.offsetInInputWithInjections+i.length,o=i.injectedTextIndex;for(;o+1=0&&this.injectionOffsets[o-1]===this.injectionOffsets[o];)r-=this.injectionOptions[o-1].content.length,o--;return r}x9()}getInjectedText(e,t){const i=this.outputPositionToOffsetInInputWithInjections(e,t),r=this.getInjectedTextAtOffset(i);return r?{options:this.injectionOptions[r.injectedTextIndex]}:null}getInjectedTextAtOffset(e){const t=this.injectionOffsets,i=this.injectionOptions;if(t!==null){let r=0;for(let o=0;oe)break;if(e<=l)return{injectedTextIndex:o,offsetInInputWithInjections:a,length:s};r+=s}}}}function yye(n){return n==null?!0:n===Wd.Right||n===Wd.Both}function Cye(n){return n==null?!0:n===Wd.Left||n===Wd.Both}class TW{constructor(e,t){this.outputLineIndex=e,this.outputOffset=t}toString(){return`${this.outputLineIndex}:${this.outputOffset}`}toPosition(e){return new ye(e+this.outputLineIndex,this.outputOffset+1)}}class nCt{constructor(){this.changeType=1}}class Ph{static applyInjectedText(e,t){if(!t||t.length===0)return e;let i="",r=0;for(const o of t)i+=e.substring(r,o.column-1),r=o.column-1,i+=o.options.content;return i+=e.substring(r),i}static fromDecorations(e){const t=[];for(const i of e)i.options.before&&i.options.before.content.length>0&&t.push(new Ph(i.ownerId,i.range.startLineNumber,i.range.startColumn,i.options.before,0)),i.options.after&&i.options.after.content.length>0&&t.push(new Ph(i.ownerId,i.range.endLineNumber,i.range.endColumn,i.options.after,1));return t.sort((i,r)=>i.lineNumber===r.lineNumber?i.column===r.column?i.order-r.order:i.column-r.column:i.lineNumber-r.lineNumber),t}constructor(e,t,i,r,o){this.ownerId=e,this.lineNumber=t,this.column=i,this.options=r,this.order=o}}class wye{constructor(e,t,i){this.changeType=2,this.lineNumber=e,this.detail=t,this.injectedText=i}}class iCt{constructor(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t}}class rCt{constructor(e,t,i,r){this.changeType=4,this.injectedTexts=r,this.fromLineNumber=e,this.toLineNumber=t,this.detail=i}}class oCt{constructor(){this.changeType=5}}class h2{constructor(e,t,i,r){this.changes=e,this.versionId=t,this.isUndoing=i,this.isRedoing=r,this.resultingSelection=null}containsEvent(e){for(let t=0,i=this.changes.length;tn});class Q6{static create(e){return new Q6(new WeakRef(e))}constructor(e){this.targetWindow=e}createLineBreaksComputer(e,t,i,r,o){const s=[],a=[];return{addRequest:(l,u,c)=>{s.push(l),a.push(u)},finalize:()=>sCt(Vb(this.targetWindow.deref()),s,e,t,i,r,o,a)}}}function sCt(n,e,t,i,r,o,s,a){var l;function u(Z){const E=a[Z];if(E){const R=Ph.applyInjectedText(e[Z],E),W=E.map(z=>z.options),A=E.map(z=>z.column-1);return new aD(A,W,[R.length],[],0)}else return null}if(r===-1){const Z=[];for(let E=0,R=e.length;Ec?(R=0,W=0):A=c-B}const z=E.substr(R),O=aCt(z,W,i,A,g,m);b[Z]=R,v[Z]=W,C[Z]=z,S[Z]=O[0],x[Z]=O[1]}const _=g.build(),F=(l=j6==null?void 0:j6.createHTML(_))!==null&&l!==void 0?l:_;f.innerHTML=F,f.style.position="absolute",f.style.top="10000",s==="keepAll"?(f.style.wordBreak="keep-all",f.style.overflowWrap="anywhere"):(f.style.wordBreak="inherit",f.style.overflowWrap="break-word"),n.document.body.appendChild(f);const D=document.createRange(),M=Array.prototype.slice.call(f.children,0),T=[];for(let Z=0;Zk.options),P=H.map(k=>k.column-1)):(B=null,P=null),T[Z]=new aD(P,B,R,O,A)}return n.document.body.removeChild(f),T}function aCt(n,e,t,i,r,o){if(o!==0){const h=String(o);r.appendString('
');const s=n.length;let a=e,l=0;const u=[],c=[];let d=0");for(let h=0;h"),u[h]=l,c[h]=a;const m=d;d=h+1"),u[n.length]=l,c[n.length]=a,r.appendString("
"),[u,c]}function lCt(n,e,t,i){if(t.length<=1)return null;const r=Array.prototype.slice.call(e.children,0),o=[];try{$6(n,r,i,0,null,t.length-1,null,o)}catch{return null}return o.length===0?null:(o.push(t.length),o)}function $6(n,e,t,i,r,o,s,a){if(i===o||(r=r||q6(n,e,t[i],t[i+1]),s=s||q6(n,e,t[o],t[o+1]),Math.abs(r[0].top-s[0].top)<=.1))return;if(i+1===o){a.push(o);return}const l=i+(o-i)/2|0,u=q6(n,e,t[l],t[l+1]);$6(n,e,t,i,r,l,u,a),$6(n,e,t,l,u,o,s,a)}function q6(n,e,t,i){return n.setStart(e[t/16384|0].firstChild,t%16384),n.setEnd(e[i/16384|0].firstChild,i%16384),n.getClientRects()}class uCt extends Ie{constructor(){super(),this._editor=null,this._instantiationService=null,this._instances=this._register(new AH),this._pending=new Map,this._finishedInstantiation=[],this._finishedInstantiation[0]=!1,this._finishedInstantiation[1]=!1,this._finishedInstantiation[2]=!1,this._finishedInstantiation[3]=!1}initialize(e,t,i){this._editor=e,this._instantiationService=i;for(const r of t){if(this._pending.has(r.id)){vn(new Error(`Cannot have two contributions with the same id ${r.id}`));continue}this._pending.set(r.id,r)}this._instantiateSome(0),this._register(nI(Qt(this._editor.getDomNode()),()=>{this._instantiateSome(1)})),this._register(nI(Qt(this._editor.getDomNode()),()=>{this._instantiateSome(2)})),this._register(nI(Qt(this._editor.getDomNode()),()=>{this._instantiateSome(3)},5e3))}saveViewState(){const e={};for(const[t,i]of this._instances)typeof i.saveViewState=="function"&&(e[t]=i.saveViewState());return e}restoreViewState(e){for(const[t,i]of this._instances)typeof i.restoreViewState=="function"&&i.restoreViewState(e[t])}get(e){return this._instantiateById(e),this._instances.get(e)||null}onBeforeInteractionEvent(){this._instantiateSome(2)}onAfterModelAttached(){var e;return nI(Qt((e=this._editor)===null||e===void 0?void 0:e.getDomNode()),()=>{this._instantiateSome(1)},50)}_instantiateSome(e){if(this._finishedInstantiation[e])return;this._finishedInstantiation[e]=!0;const t=this._findPendingContributionsByInstantiation(e);for(const i of t)this._instantiateById(i.id)}_findPendingContributionsByInstantiation(e){const t=[];for(const[,i]of this._pending)i.instantiation===e&&t.push(i);return t}_instantiateById(e){const t=this._pending.get(e);if(t){if(this._pending.delete(e),!this._instantiationService||!this._editor)throw new Error("Cannot instantiate contributions before being initialized!");try{const i=this._instantiationService.createInstance(t.ctor,this._editor);this._instances.set(t.id,i),typeof i.restoreViewState=="function"&&t.instantiation}catch(i){vn(i)}}}}class xye{constructor(e,t,i,r,o,s,a){this.id=e,this.label=t,this.alias=i,this.metadata=r,this._precondition=o,this._run=s,this._contextKeyService=a}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(e){return this.isSupported()?this._run(e):Promise.resolve(void 0)}}const lD={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"};function h0(n){let e=0,t=0,i=0,r=0;for(let o=0,s=n.length;ot))return new Dn(e,t)}static ofLength(e){return new Dn(0,e)}static ofStartAndLength(e,t){return new Dn(e,e+t)}constructor(e,t){if(this.start=e,this.endExclusive=t,e>t)throw new or(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new Dn(this.start+e,this.endExclusive+e)}deltaStart(e){return new Dn(this.start+e,this.endExclusive)}deltaEnd(e){return new Dn(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}contains(e){return this.start<=e&&e=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new or(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new or(`Invalid clipping range: ${this.toString()}`);return e=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let t=this.start;te.toString()).join(", ")}intersectsStrict(e){let t=0;for(;te+t.length,0)}}class dn{static fromRangeInclusive(e){return new dn(e.startLineNumber,e.endLineNumber+1)}static joinMany(e){if(e.length===0)return[];let t=new Bc(e[0].slice());for(let i=1;it)throw new or(`startLineNumber ${e} cannot be after endLineNumberExclusive ${t}`);this.startLineNumber=e,this.endLineNumberExclusive=t}contains(e){return this.startLineNumber<=e&&er.endLineNumberExclusive>=e.startLineNumber),i=JI(this._normalizedRanges,r=>r.startLineNumber<=e.endLineNumberExclusive)+1;if(t===i)this._normalizedRanges.splice(t,0,e);else if(t===i-1){const r=this._normalizedRanges[t];this._normalizedRanges[t]=r.join(e)}else{const r=this._normalizedRanges[t].join(this._normalizedRanges[i-1]).join(e);this._normalizedRanges.splice(t,i-t,r)}}contains(e){const t=l2(this._normalizedRanges,i=>i.startLineNumber<=e);return!!t&&t.endLineNumberExclusive>e}intersects(e){const t=l2(this._normalizedRanges,i=>i.startLineNumbere.startLineNumber}getUnion(e){if(this._normalizedRanges.length===0)return e;if(e._normalizedRanges.length===0)return this;const t=[];let i=0,r=0,o=null;for(;i=s.startLineNumber?o=new dn(o.startLineNumber,Math.max(o.endLineNumberExclusive,s.endLineNumberExclusive)):(t.push(o),o=s)}return o!==null&&t.push(o),new Bc(t)}subtractFrom(e){const t=jI(this._normalizedRanges,s=>s.endLineNumberExclusive>=e.startLineNumber),i=JI(this._normalizedRanges,s=>s.startLineNumber<=e.endLineNumberExclusive)+1;if(t===i)return new Bc([e]);const r=[];let o=e.startLineNumber;for(let s=t;so&&r.push(new dn(o,a.startLineNumber)),o=a.endLineNumberExclusive}return oe.toString()).join(", ")}getIntersection(e){const t=[];let i=0,r=0;for(;it.delta(e)))}}class Lye{constructor(e,t,i,r){this.range=e,this.nestingLevel=t,this.nestingLevelOfEqualBracketType=i,this.isInvalid=r}}class cCt{constructor(e,t,i,r,o,s){this.range=e,this.openingBracketRange=t,this.closingBracketRange=i,this.nestingLevel=r,this.nestingLevelOfEqualBracketType=o,this.bracketPairNode=s}get openingBracketInfo(){return this.bracketPairNode.openingBracket.bracketInfo}}class dCt extends cCt{constructor(e,t,i,r,o,s,a){super(e,t,i,r,o,s),this.minVisibleColumnIndentation=a}}class Rd{static ofText(e){let t=0,i=0;for(const r of e)r===` -`?(t++,i=0):i++;return new Rd(t,i)}constructor(e,t){this.lineCount=e,this.columnCount=t}createRange(e){return this.lineCount===0?new J(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new J(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}addToPosition(e){return this.lineCount===0?new ye(e.lineNumber,e.column+this.columnCount):new ye(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}}Rd.zero=new Rd(0,0);function hCt(n,e,t,i){return n!==t?vo(t-n,i):vo(0,i-e)}const ol=0;function EW(n){return n===0}const Ku=2**26;function vo(n,e){return n*Ku+e}function zc(n){const e=n,t=Math.floor(e/Ku),i=e-t*Ku;return new Rd(t,i)}function mCt(n){return Math.floor(n/Ku)}function lJt(n){return n}function Wr(n,e){let t=n+e;return e>=Ku&&(t=t-n%Ku),t}function fCt(n,e){return n.reduce((t,i)=>Wr(t,e(i)),ol)}function _ye(n,e){return n===e}function uD(n,e){const t=n,i=e;if(i-t<=0)return ol;const o=Math.floor(t/Ku),s=Math.floor(i/Ku),a=i-s*Ku;if(o===s){const l=t-o*Ku;return vo(0,a-l)}else return vo(s-o,a)}function m2(n,e){return n=e}function g2(n){return vo(n.lineNumber-1,n.column-1)}function by(n,e){const t=n,i=Math.floor(t/Ku),r=t-i*Ku,o=e,s=Math.floor(o/Ku),a=o-s*Ku;return new J(i+1,r+1,s+1,a+1)}function gCt(n){const e=Pm(n);return vo(e.length-1,e[e.length-1].length)}class qg{static fromModelContentChanges(e){return e.map(i=>{const r=J.lift(i.range);return new qg(g2(r.getStartPosition()),g2(r.getEndPosition()),gCt(i.text))}).reverse()}constructor(e,t,i){this.startOffset=e,this.endOffset=t,this.newLength=i}toString(){return`[${zc(this.startOffset)}...${zc(this.endOffset)}) -> ${zc(this.newLength)}`}}class pCt{constructor(e){this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=e.map(t=>t7.from(t))}getOffsetBeforeChange(e){return this.adjustNextEdit(e),this.translateCurToOld(e)}getDistanceToNextChange(e){this.adjustNextEdit(e);const t=this.edits[this.nextEditIdx],i=t?this.translateOldToCur(t.offsetObj):null;return i===null?null:uD(e,i)}translateOldToCur(e){return e.lineCount===this.deltaLineIdxInOld?vo(e.lineCount+this.deltaOldToNewLineCount,e.columnCount+this.deltaOldToNewColumnCount):vo(e.lineCount+this.deltaOldToNewLineCount,e.columnCount)}translateCurToOld(e){const t=zc(e);return t.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?vo(t.lineCount-this.deltaOldToNewLineCount,t.columnCount-this.deltaOldToNewColumnCount):vo(t.lineCount-this.deltaOldToNewLineCount,t.columnCount)}adjustNextEdit(e){for(;this.nextEditIdx>5;if(r===0){const s=1<>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return(e&1024)!==0}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static getClassNameFromMetadata(e){let i="mtk"+this.getForeground(e);const r=this.getFontStyle(e);return r&1&&(i+=" mtki"),r&2&&(i+=" mtkb"),r&4&&(i+=" mtku"),r&8&&(i+=" mtks"),i}static getInlineStyleFromMetadata(e,t){const i=this.getForeground(e),r=this.getFontStyle(e);let o=`color: ${t[i]};`;r&1&&(o+="font-style: italic;"),r&2&&(o+="font-weight: bold;");let s="";return r&4&&(s+=" underline"),r&8&&(s+=" line-through"),s&&(o+=`text-decoration:${s};`),o}static getPresentationFromMetadata(e){const t=this.getForeground(e),i=this.getFontStyle(e);return{foreground:t,italic:!!(i&1),bold:!!(i&2),underline:!!(i&4),strikethrough:!!(i&8)}}}let m0=class{constructor(e,t,i,r,o){this.length=e,this.kind=t,this.bracketId=i,this.bracketIds=r,this.astNode=o}};class Dye{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.reader=new wCt(this.textModel,this.bracketTokens),this._offset=ol,this.didPeek=!1,this.peeked=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}get offset(){return this._offset}get length(){return vo(this.textBufferLineCount-1,this.textBufferLastLineLength)}skip(e){this.didPeek=!1,this._offset=Wr(this._offset,e);const t=zc(this._offset);this.reader.setPosition(t.lineCount,t.columnCount)}read(){let e;return this.peeked?(this.didPeek=!1,e=this.peeked):e=this.reader.read(),e&&(this._offset=Wr(this._offset,e.length)),e}peek(){return this.didPeek||(this.peeked=this.reader.read(),this.didPeek=!0),this.peeked}}class wCt{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.lineIdx=0,this.line=null,this.lineCharOffset=0,this.lineTokens=null,this.lineTokenOffset=0,this.peekedToken=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}setPosition(e,t){e===this.lineIdx?(this.lineCharOffset=t,this.line!==null&&(this.lineTokenOffset=this.lineCharOffset===0?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset))):(this.lineIdx=e,this.lineCharOffset=t,this.line=null),this.peekedToken=null}read(){if(this.peekedToken){const o=this.peekedToken;return this.peekedToken=null,this.lineCharOffset+=o.length,o}if(this.lineIdx>this.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;this.line===null&&(this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=this.lineCharOffset===0?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset));const e=this.lineIdx,t=this.lineCharOffset;let i=0;for(;;){const o=this.lineTokens,s=o.getCount();let a=null;if(this.lineTokenOffset1e3))break;if(i>1500)break}const r=hCt(e,t,this.lineIdx,this.lineCharOffset);return new m0(r,0,-1,Ao.getEmpty(),new vy(r))}}class SCt{constructor(e,t){this.text=e,this._offset=ol,this.idx=0;const i=t.getRegExpStr(),r=i?new RegExp(i+`| -`,"gi"):null,o=[];let s,a=0,l=0,u=0,c=0;const d=[];for(let f=0;f<60;f++)d.push(new m0(vo(0,f),0,-1,Ao.getEmpty(),new vy(vo(0,f))));const h=[];for(let f=0;f<60;f++)h.push(new m0(vo(1,f),0,-1,Ao.getEmpty(),new vy(vo(1,f))));if(r)for(r.lastIndex=0;(s=r.exec(e))!==null;){const f=s.index,g=s[0];if(g===` -`)a++,l=f+1;else{if(u!==f){let b;if(c===a){const v=f-u;if(vxCt(t)).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const e=this.getRegExpStr();this._regExpGlobal=e?new RegExp(e,"gi"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(e){return this.map.get(e.toLowerCase())}findClosingTokenText(e){for(const[t,i]of this.map)if(i.kind===2&&i.bracketIds.intersects(e))return t}get isEmpty(){return this.map.size===0}}function xCt(n){let e=Ru(n);return/^[\w ]+/.test(n)&&(e=`\\b${e}`),/[\w ]+$/.test(n)&&(e=`${e}\\b`),e}class Mye{constructor(e,t){this.denseKeyProvider=e,this.getLanguageConfiguration=t,this.languageIdToBracketTokens=new Map}didLanguageChange(e){return this.languageIdToBracketTokens.has(e)}getSingleLanguageBracketTokens(e){let t=this.languageIdToBracketTokens.get(e);return t||(t=r7.createFromLanguage(this.getLanguageConfiguration(e),this.denseKeyProvider),this.languageIdToBracketTokens.set(e,t)),t}}function LCt(n){if(n.length===0)return null;if(n.length===1)return n[0];let e=0;function t(){if(e>=n.length)return null;const s=e,a=n[s].listHeight;for(e++;e=2?kye(s===0&&e===n.length?n:n.slice(s,e),!1):n[s]}let i=t(),r=t();if(!r)return i;for(let s=t();s;s=t())Nye(i,r)<=Nye(r,s)?(i=o7(i,r),r=s):r=o7(r,s);return o7(i,r)}function kye(n,e=!1){if(n.length===0)return null;if(n.length===1)return n[0];let t=n.length;for(;t>3;){const i=t>>1;for(let r=0;r=3?n[2]:null,e)}function Nye(n,e){return Math.abs(n.listHeight-e.listHeight)}function o7(n,e){return n.listHeight===e.listHeight?uf.create23(n,e,null,!1):n.listHeight>e.listHeight?_Ct(n,e):FCt(e,n)}function _Ct(n,e){n=n.toMutable();let t=n;const i=[];let r;for(;;){if(e.listHeight===t.listHeight){r=e;break}if(t.kind!==4)throw new Error("unexpected");i.push(t),t=t.makeLastElementMutable()}for(let o=i.length-1;o>=0;o--){const s=i[o];r?s.childrenLength>=3?r=uf.create23(s.unappendChild(),r,null,!1):(s.appendChildOfSameHeight(r),r=void 0):s.handleChildrenChanged()}return r?uf.create23(n,r,null,!1):n}function FCt(n,e){n=n.toMutable();let t=n;const i=[];for(;e.listHeight!==t.listHeight;){if(t.kind!==4)throw new Error("unexpected");i.push(t),t=t.makeFirstElementMutable()}let r=e;for(let o=i.length-1;o>=0;o--){const s=i[o];r?s.childrenLength>=3?r=uf.create23(r,s.unprependChild(),null,!1):(s.prependChildOfSameHeight(r),r=void 0):s.handleChildrenChanged()}return r?uf.create23(r,n,null,!1):n}class ICt{constructor(e){this.lastOffset=ol,this.nextNodes=[e],this.offsets=[ol],this.idxs=[]}readLongestNodeAt(e,t){if(m2(e,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=e;;){const i=mD(this.nextNodes);if(!i)return;const r=mD(this.offsets);if(m2(e,r))return;if(m2(r,e))if(Wr(r,i.length)<=e)this.nextNodeAfterCurrent();else{const o=s7(i);o!==-1?(this.nextNodes.push(i.getChild(o)),this.offsets.push(r),this.idxs.push(o)):this.nextNodeAfterCurrent()}else{if(t(i))return this.nextNodeAfterCurrent(),i;{const o=s7(i);if(o===-1){this.nextNodeAfterCurrent();return}else this.nextNodes.push(i.getChild(o)),this.offsets.push(r),this.idxs.push(o)}}}}nextNodeAfterCurrent(){for(;;){const e=mD(this.offsets),t=mD(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),this.idxs.length===0)break;const i=mD(this.nextNodes),r=s7(i,this.idxs[this.idxs.length-1]);if(r!==-1){this.nextNodes.push(i.getChild(r)),this.offsets.push(Wr(e,t.length)),this.idxs[this.idxs.length-1]=r;break}else this.idxs.pop()}}}function s7(n,e=-1){for(;;){if(e++,e>=n.childrenLength)return-1;if(n.getChild(e))return e}}function mD(n){return n.length>0?n[n.length-1]:void 0}function a7(n,e,t,i){return new DCt(n,e,t,i).parseDocument()}class DCt{constructor(e,t,i,r){if(this.tokenizer=e,this.createImmutableLists=r,this._itemsConstructed=0,this._itemsFromCache=0,i&&r)throw new Error("Not supported");this.oldNodeReader=i?new ICt(i):void 0,this.positionMapper=new pCt(t)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let e=this.parseList(Ao.getEmpty(),0);return e||(e=uf.getEmpty()),e}parseList(e,t){const i=[];for(;;){let o=this.tryReadChildFromCache(e);if(!o){const s=this.tokenizer.peek();if(!s||s.kind===2&&s.bracketIds.intersects(e))break;o=this.parseChild(e,t+1)}o.kind===4&&o.childrenLength===0||i.push(o)}return this.oldNodeReader?LCt(i):kye(i,this.createImmutableLists)}tryReadChildFromCache(e){if(this.oldNodeReader){const t=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(t===null||!EW(t)){const i=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),r=>t!==null&&!m2(r.length,t)?!1:r.canBeReused(e));if(i)return this._itemsFromCache++,this.tokenizer.skip(i.length),i}}}parseChild(e,t){this._itemsConstructed++;const i=this.tokenizer.read();switch(i.kind){case 2:return new CCt(i.bracketIds,i.length);case 0:return i.astNode;case 1:{if(t>300)return new vy(i.length);const r=e.merge(i.bracketIds),o=this.parseList(r,t+1),s=this.tokenizer.peek();return s&&s.kind===2&&(s.bracketId===i.bracketId||s.bracketIds.intersects(i.bracketIds))?(this.tokenizer.read(),dD.create(i.astNode,o,s.astNode)):dD.create(i.astNode,o,null)}default:throw new Error("unexpected")}}}function VW(n,e){if(n.length===0)return e;if(e.length===0)return n;const t=new Vg(Tye(n)),i=Tye(e);i.push({modified:!1,lengthBefore:void 0,lengthAfter:void 0});let r=t.dequeue();function o(u){if(u===void 0){const d=t.takeWhile(h=>!0)||[];return r&&d.unshift(r),d}const c=[];for(;r&&!EW(u);){const[d,h]=r.splitAt(u);c.push(d),u=uD(d.lengthAfter,u),r=h??t.dequeue()}return EW(u)||c.push(new f0(!1,u,u)),c}const s=[];function a(u,c,d){if(s.length>0&&_ye(s[s.length-1].endOffset,u)){const h=s[s.length-1];s[s.length-1]=new qg(h.startOffset,c,Wr(h.newLength,d))}else s.push({startOffset:u,endOffset:c,newLength:d})}let l=ol;for(const u of i){const c=o(u.lengthBefore);if(u.modified){const d=fCt(c,m=>m.lengthBefore),h=Wr(l,d);a(l,h,u.lengthAfter),l=h}else for(const d of c){const h=l;l=Wr(l,d.lengthBefore),d.modified&&a(h,l,d.lengthAfter)}}return s}class f0{constructor(e,t,i){this.modified=e,this.lengthBefore=t,this.lengthAfter=i}splitAt(e){const t=uD(e,this.lengthAfter);return _ye(t,ol)?[this,void 0]:this.modified?[new f0(this.modified,this.lengthBefore,e),new f0(this.modified,ol,t)]:[new f0(this.modified,e,e),new f0(this.modified,t,t)]}toString(){return`${this.modified?"M":"U"}:${zc(this.lengthBefore)} -> ${zc(this.lengthAfter)}`}}function Tye(n){const e=[];let t=ol;for(const i of n){const r=uD(t,i.startOffset);EW(r)||e.push(new f0(!1,r,r));const o=uD(i.startOffset,i.endOffset);e.push(new f0(!0,o,i.newLength)),t=i.endOffset}return e}class MCt extends Ie{didLanguageChange(e){return this.brackets.didLanguageChange(e)}constructor(e,t){if(super(),this.textModel=e,this.getLanguageConfiguration=t,this.didChangeEmitter=new be,this.denseKeyProvider=new Iye,this.brackets=new Mye(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],e.tokenization.hasTokens)e.tokenization.backgroundTokenizationState===2?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens);else{const i=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),r=new SCt(this.textModel.getValue(),i);this.initialAstWithoutTokens=a7(r,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(this.textModel.tokenization.backgroundTokenizationState===2){const e=this.initialAstWithoutTokens===void 0;this.initialAstWithoutTokens=void 0,e||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:e}){const t=e.map(i=>new qg(vo(i.fromLineNumber-1,0),vo(i.toLineNumber,0),vo(i.toLineNumber-i.fromLineNumber+1,0)));this.handleEdits(t,!0),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(e){const t=qg.fromModelContentChanges(e.changes);this.handleEdits(t,!1)}handleEdits(e,t){const i=VW(this.queuedTextEdits,e);this.queuedTextEdits=i,this.initialAstWithoutTokens&&!t&&(this.queuedTextEditsForInitialAstWithoutTokens=VW(this.queuedTextEditsForInitialAstWithoutTokens,e))}flushQueue(){this.queuedTextEdits.length>0&&(this.astWithTokens=this.parseDocumentFromTextBuffer(this.queuedTextEdits,this.astWithTokens,!1),this.queuedTextEdits=[]),this.queuedTextEditsForInitialAstWithoutTokens.length>0&&(this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(this.queuedTextEditsForInitialAstWithoutTokens,this.initialAstWithoutTokens,!1)),this.queuedTextEditsForInitialAstWithoutTokens=[])}parseDocumentFromTextBuffer(e,t,i){const r=t,o=new Dye(this.textModel,this.brackets);return a7(o,e,r,i)}getBracketsInRange(e,t){this.flushQueue();const i=vo(e.startLineNumber-1,e.startColumn-1),r=vo(e.endLineNumber-1,e.endColumn-1);return new Um(o=>{const s=this.initialAstWithoutTokens||this.astWithTokens;l7(s,ol,s.length,i,r,o,0,0,new Map,t)})}getBracketPairsInRange(e,t){this.flushQueue();const i=g2(e.getStartPosition()),r=g2(e.getEndPosition());return new Um(o=>{const s=this.initialAstWithoutTokens||this.astWithTokens,a=new kCt(o,t,this.textModel);u7(s,ol,s.length,i,r,a,0,new Map)})}getFirstBracketAfter(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return Zye(t,ol,t.length,g2(e))}getFirstBracketBefore(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return Eye(t,ol,t.length,g2(e))}}function Eye(n,e,t,i){if(n.kind===4||n.kind===2){const r=[];for(const o of n.children)t=Wr(e,o.length),r.push({nodeOffsetStart:e,nodeOffsetEnd:t}),e=t;for(let o=r.length-1;o>=0;o--){const{nodeOffsetStart:s,nodeOffsetEnd:a}=r[o];if(m2(s,i)){const l=Eye(n.children[o],s,a,i);if(l)return l}}return null}else{if(n.kind===3)return null;if(n.kind===1){const r=by(e,t);return{bracketInfo:n.bracketInfo,range:r}}}return null}function Zye(n,e,t,i){if(n.kind===4||n.kind===2){for(const r of n.children){if(t=Wr(e,r.length),m2(i,t)){const o=Zye(r,e,t,i);if(o)return o}e=t}return null}else{if(n.kind===3)return null;if(n.kind===1){const r=by(e,t);return{bracketInfo:n.bracketInfo,range:r}}}return null}function l7(n,e,t,i,r,o,s,a,l,u,c=!1){if(s>200)return!0;e:for(;;)switch(n.kind){case 4:{const d=n.childrenLength;for(let h=0;h200)return!0;let u=!0;if(n.kind===2){let c=0;if(a){let m=a.get(n.openingBracket.text);m===void 0&&(m=0),c=m,m++,a.set(n.openingBracket.text,m)}const d=Wr(e,n.openingBracket.length);let h=-1;if(o.includeMinIndentation&&(h=n.computeMinIndentation(e,o.textModel)),u=o.push(new dCt(by(e,t),by(e,d),n.closingBracket?by(Wr(d,((l=n.child)===null||l===void 0?void 0:l.length)||ol),t):void 0,s,c,n,h)),e=d,u&&n.child){const m=n.child;if(t=Wr(e,m.length),f2(e,r)&&cD(t,i)&&(u=u7(m,e,t,i,r,o,s+1,a),!u))return!1}a==null||a.set(n.openingBracket.text,c)}else{let c=e;for(const d of n.children){const h=c;if(c=Wr(c,d.length),f2(h,r)&&f2(i,c)&&(u=u7(d,h,c,i,r,o,s,a),!u))return!1}}return u}class NCt extends Ie{get canBuildAST(){return this.textModel.getValueLength()<=5e6}constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t,this.bracketPairsTree=this._register(new Ms),this.onDidChangeEmitter=new be,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1,this._register(this.languageConfigurationService.onDidChange(i=>{var r;(!i.languageId||!((r=this.bracketPairsTree.value)===null||r===void 0)&&r.object.didLanguageChange(i.languageId))&&(this.bracketPairsTree.clear(),this.updateBracketPairsTree())}))}handleDidChangeOptions(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(e){var t;(t=this.bracketPairsTree.value)===null||t===void 0||t.object.handleContentChanged(e)}handleDidChangeBackgroundTokenizationState(){var e;(e=this.bracketPairsTree.value)===null||e===void 0||e.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(e){var t;(t=this.bracketPairsTree.value)===null||t===void 0||t.object.handleDidChangeTokens(e)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){const e=new Je;this.bracketPairsTree.value=TCt(e.add(new MCt(this.textModel,t=>this.languageConfigurationService.getLanguageConfiguration(t))),e),e.add(this.bracketPairsTree.value.object.onDidChange(t=>this.onDidChangeEmitter.fire(t))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire())}getBracketPairsInRange(e){var t;return this.bracketsRequested=!0,this.updateBracketPairsTree(),((t=this.bracketPairsTree.value)===null||t===void 0?void 0:t.object.getBracketPairsInRange(e,!1))||Um.empty}getBracketPairsInRangeWithMinIndentation(e){var t;return this.bracketsRequested=!0,this.updateBracketPairsTree(),((t=this.bracketPairsTree.value)===null||t===void 0?void 0:t.object.getBracketPairsInRange(e,!0))||Um.empty}getBracketsInRange(e,t=!1){var i;return this.bracketsRequested=!0,this.updateBracketPairsTree(),((i=this.bracketPairsTree.value)===null||i===void 0?void 0:i.object.getBracketsInRange(e,t))||Um.empty}findMatchingBracketUp(e,t,i){const r=this.textModel.validatePosition(t),o=this.textModel.getLanguageIdAtPosition(r.lineNumber,r.column);if(this.canBuildAST){const s=this.languageConfigurationService.getLanguageConfiguration(o).bracketsNew.getClosingBracketInfo(e);if(!s)return null;const a=this.getBracketPairsInRange(J.fromPositions(t,t)).findLast(l=>s.closes(l.openingBracketInfo));return a?a.openingBracketRange:null}else{const s=e.toLowerCase(),a=this.languageConfigurationService.getLanguageConfiguration(o).brackets;if(!a)return null;const l=a.textIsBracket[s];return l?AW(this._findMatchingBracketUp(l,r,c7(i))):null}}matchBracket(e,t){if(this.canBuildAST){const i=this.getBracketPairsInRange(J.fromPositions(e,e)).filter(r=>r.closingBracketRange!==void 0&&(r.openingBracketRange.containsPosition(e)||r.closingBracketRange.containsPosition(e))).findLastMaxBy(Ec(r=>r.openingBracketRange.containsPosition(e)?r.openingBracketRange:r.closingBracketRange,J.compareRangesUsingStarts));return i?[i.openingBracketRange,i.closingBracketRange]:null}else{const i=c7(t);return this._matchBracket(this.textModel.validatePosition(e),i)}}_establishBracketSearchOffsets(e,t,i,r){const o=t.getCount(),s=t.getLanguageId(r);let a=Math.max(0,e.column-1-i.maxBracketLength);for(let u=r-1;u>=0;u--){const c=t.getEndOffset(u);if(c<=a)break;if(Hm(t.getStandardTokenType(u))||t.getLanguageId(u)!==s){a=c;break}}let l=Math.min(t.getLineContent().length,e.column-1+i.maxBracketLength);for(let u=r+1;u=l)break;if(Hm(t.getStandardTokenType(u))||t.getLanguageId(u)!==s){l=c;break}}return{searchStartOffset:a,searchEndOffset:l}}_matchBracket(e,t){const i=e.lineNumber,r=this.textModel.tokenization.getLineTokens(i),o=this.textModel.getLineContent(i),s=r.findTokenIndexAtOffset(e.column-1);if(s<0)return null;const a=this.languageConfigurationService.getLanguageConfiguration(r.getLanguageId(s)).brackets;if(a&&!Hm(r.getStandardTokenType(s))){let{searchStartOffset:l,searchEndOffset:u}=this._establishBracketSearchOffsets(e,r,a,s),c=null;for(;;){const d=Md.findNextBracketInRange(a.forwardRegex,i,o,l,u);if(!d)break;if(d.startColumn<=e.column&&e.column<=d.endColumn){const h=o.substring(d.startColumn-1,d.endColumn-1).toLowerCase(),m=this._matchFoundBracket(d,a.textIsBracket[h],a.textIsOpenBracket[h],t);if(m){if(m instanceof ep)return null;c=m}}l=d.endColumn-1}if(c)return c}if(s>0&&r.getStartOffset(s)===e.column-1){const l=s-1,u=this.languageConfigurationService.getLanguageConfiguration(r.getLanguageId(l)).brackets;if(u&&!Hm(r.getStandardTokenType(l))){const{searchStartOffset:c,searchEndOffset:d}=this._establishBracketSearchOffsets(e,r,u,l),h=Md.findPrevBracketInRange(u.reversedRegex,i,o,c,d);if(h&&h.startColumn<=e.column&&e.column<=h.endColumn){const m=o.substring(h.startColumn-1,h.endColumn-1).toLowerCase(),f=this._matchFoundBracket(h,u.textIsBracket[m],u.textIsOpenBracket[m],t);if(f)return f instanceof ep?null:f}}}return null}_matchFoundBracket(e,t,i,r){if(!t)return null;const o=i?this._findMatchingBracketDown(t,e.getEndPosition(),r):this._findMatchingBracketUp(t,e.getStartPosition(),r);return o?o instanceof ep?o:[e,o]:null}_findMatchingBracketUp(e,t,i){const r=e.languageId,o=e.reversedRegex;let s=-1,a=0;const l=(u,c,d,h)=>{for(;;){if(i&&++a%100===0&&!i())return ep.INSTANCE;const m=Md.findPrevBracketInRange(o,u,c,d,h);if(!m)break;const f=c.substring(m.startColumn-1,m.endColumn-1).toLowerCase();if(e.isOpen(f)?s++:e.isClose(f)&&s--,s===0)return m;h=m.startColumn-1}return null};for(let u=t.lineNumber;u>=1;u--){const c=this.textModel.tokenization.getLineTokens(u),d=c.getCount(),h=this.textModel.getLineContent(u);let m=d-1,f=h.length,g=h.length;u===t.lineNumber&&(m=c.findTokenIndexAtOffset(t.column-1),f=t.column-1,g=t.column-1);let b=!0;for(;m>=0;m--){const v=c.getLanguageId(m)===r&&!Hm(c.getStandardTokenType(m));if(v)b?f=c.getStartOffset(m):(f=c.getStartOffset(m),g=c.getEndOffset(m));else if(b&&f!==g){const C=l(u,h,f,g);if(C)return C}b=v}if(b&&f!==g){const v=l(u,h,f,g);if(v)return v}}return null}_findMatchingBracketDown(e,t,i){const r=e.languageId,o=e.forwardRegex;let s=1,a=0;const l=(c,d,h,m)=>{for(;;){if(i&&++a%100===0&&!i())return ep.INSTANCE;const f=Md.findNextBracketInRange(o,c,d,h,m);if(!f)break;const g=d.substring(f.startColumn-1,f.endColumn-1).toLowerCase();if(e.isOpen(g)?s++:e.isClose(g)&&s--,s===0)return f;h=f.endColumn-1}return null},u=this.textModel.getLineCount();for(let c=t.lineNumber;c<=u;c++){const d=this.textModel.tokenization.getLineTokens(c),h=d.getCount(),m=this.textModel.getLineContent(c);let f=0,g=0,b=0;c===t.lineNumber&&(f=d.findTokenIndexAtOffset(t.column-1),g=t.column-1,b=t.column-1);let v=!0;for(;f=1;a--){const l=this.textModel.tokenization.getLineTokens(a),u=l.getCount(),c=this.textModel.getLineContent(a);let d=u-1,h=c.length,m=c.length;if(a===i.lineNumber){d=l.findTokenIndexAtOffset(i.column-1),h=i.column-1,m=i.column-1;const g=l.getLanguageId(d);r!==g&&(r=g,o=this.languageConfigurationService.getLanguageConfiguration(r).brackets,s=this.languageConfigurationService.getLanguageConfiguration(r).bracketsNew)}let f=!0;for(;d>=0;d--){const g=l.getLanguageId(d);if(r!==g){if(o&&s&&f&&h!==m){const v=Md.findPrevBracketInRange(o.reversedRegex,a,c,h,m);if(v)return this._toFoundBracket(s,v);f=!1}r=g,o=this.languageConfigurationService.getLanguageConfiguration(r).brackets,s=this.languageConfigurationService.getLanguageConfiguration(r).bracketsNew}const b=!!o&&!Hm(l.getStandardTokenType(d));if(b)f?h=l.getStartOffset(d):(h=l.getStartOffset(d),m=l.getEndOffset(d));else if(s&&o&&f&&h!==m){const v=Md.findPrevBracketInRange(o.reversedRegex,a,c,h,m);if(v)return this._toFoundBracket(s,v)}f=b}if(s&&o&&f&&h!==m){const g=Md.findPrevBracketInRange(o.reversedRegex,a,c,h,m);if(g)return this._toFoundBracket(s,g)}}return null}findNextBracket(e){var t;const i=this.textModel.validatePosition(e);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),((t=this.bracketPairsTree.value)===null||t===void 0?void 0:t.object.getFirstBracketAfter(i))||null;const r=this.textModel.getLineCount();let o=null,s=null,a=null;for(let l=i.lineNumber;l<=r;l++){const u=this.textModel.tokenization.getLineTokens(l),c=u.getCount(),d=this.textModel.getLineContent(l);let h=0,m=0,f=0;if(l===i.lineNumber){h=u.findTokenIndexAtOffset(i.column-1),m=i.column-1,f=i.column-1;const b=u.getLanguageId(h);o!==b&&(o=b,s=this.languageConfigurationService.getLanguageConfiguration(o).brackets,a=this.languageConfigurationService.getLanguageConfiguration(o).bracketsNew)}let g=!0;for(;hg.closingBracketRange!==void 0&&g.range.strictContainsRange(m));return f?[f.openingBracketRange,f.closingBracketRange]:null}const r=c7(t),o=this.textModel.getLineCount(),s=new Map;let a=[];const l=(m,f)=>{if(!s.has(m)){const g=[];for(let b=0,v=f?f.brackets.length:0;b{for(;;){if(r&&++u%100===0&&!r())return ep.INSTANCE;const C=Md.findNextBracketInRange(m.forwardRegex,f,g,b,v);if(!C)break;const S=g.substring(C.startColumn-1,C.endColumn-1).toLowerCase(),x=m.textIsBracket[S];if(x&&(x.isOpen(S)?a[x.index]++:x.isClose(S)&&a[x.index]--,a[x.index]===-1))return this._matchFoundBracket(C,x,!1,r);b=C.endColumn-1}return null};let d=null,h=null;for(let m=i.lineNumber;m<=o;m++){const f=this.textModel.tokenization.getLineTokens(m),g=f.getCount(),b=this.textModel.getLineContent(m);let v=0,C=0,S=0;if(m===i.lineNumber){v=f.findTokenIndexAtOffset(i.column-1),C=i.column-1,S=i.column-1;const _=f.getLanguageId(v);d!==_&&(d=_,h=this.languageConfigurationService.getLanguageConfiguration(d).brackets,l(d,h))}let x=!0;for(;ve==null?void 0:e.dispose()}}function c7(n){if(typeof n>"u")return()=>!0;{const e=Date.now();return()=>Date.now()-e<=n}}class ep{constructor(){this._searchCanceledBrand=void 0}}ep.INSTANCE=new ep;function AW(n){return n instanceof ep?null:n}class ECt extends Ie{constructor(e){super(),this.textModel=e,this.colorProvider=new Wye,this.onDidChangeEmitter=new be,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=e.getOptions().bracketPairColorizationOptions,this._register(e.bracketPairs.onDidChange(t=>{this.onDidChangeEmitter.fire()}))}handleDidChangeOptions(e){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(e,t,i,r){return r?[]:t===void 0?[]:this.colorizationOptions.enabled?this.textModel.bracketPairs.getBracketsInRange(e,!0).map(s=>({id:`bracket${s.range.toString()}-${s.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(s,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:s.range})).toArray():[]}getAllDecorations(e,t){return e===void 0?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new J(1,1,this.textModel.getLineCount(),1),e,t):[]}}class Wye{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(e,t){return e.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(t?e.nestingLevelOfEqualBracketType:e.nestingLevel)}getInlineClassNameOfLevel(e){return`bracket-highlighting-${e%30}`}}Pc((n,e)=>{const t=[zve,Hve,Yve,Uve,Kve,Jve],i=new Wye;e.addRule(`.monaco-editor .${i.unexpectedClosingBracketClassName} { color: ${n.getColor(Mvt)}; }`);const r=t.map(o=>n.getColor(o)).filter(o=>!!o).filter(o=>!o.isTransparent());for(let o=0;o<30;o++){const s=r[o%r.length];e.addRule(`.monaco-editor .${i.getInlineClassNameOfLevel(o)} { color: ${s}; }`)}});function GW(n){return n.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}class ta{get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(e,t,i,r){this.oldPosition=e,this.oldText=t,this.newPosition=i,this.newText=r}toString(){return this.oldText.length===0?`(insert@${this.oldPosition} "${GW(this.newText)}")`:this.newText.length===0?`(delete@${this.oldPosition} "${GW(this.oldText)}")`:`(replace@${this.oldPosition} "${GW(this.oldText)}" with "${GW(this.newText)}")`}static _writeStringSize(e){return 4+2*e.length}static _writeString(e,t,i){const r=t.length;Th(e,r,i),i+=4;for(let o=0;on.length)return!1;if(t){if(!nY(n,e))return!1;if(e.length===n.length)return!0;let o=e.length;return e.charAt(e.length-1)===i&&o--,n.charAt(o)===i}return e.charAt(e.length-1)!==i&&(e+=i),n.indexOf(e)===0}function Aye(n){return n>=65&&n<=90||n>=97&&n<=122}function RCt(n,e=ha){return e?Aye(n.charCodeAt(0))&&n.charCodeAt(1)===58:!1}function df(n){return $Z(n,!0)}class VCt{constructor(e){this._ignorePathCasing=e}compare(e,t,i=!1){return e===t?0:QF(this.getComparisonKey(e,i),this.getComparisonKey(t,i))}isEqual(e,t,i=!1){return e===t?!0:!e||!t?!1:this.getComparisonKey(e,i)===this.getComparisonKey(t,i)}getComparisonKey(e,t=!1){return e.with({path:this._ignorePathCasing(e)?e.path.toLowerCase():void 0,fragment:t?null:void 0}).toString()}isEqualOrParent(e,t,i=!1){if(e.scheme===t.scheme){if(e.scheme===wn.file)return d7(df(e),df(t),this._ignorePathCasing(e))&&e.query===t.query&&(i||e.fragment===t.fragment);if(Xye(e.authority,t.authority))return d7(e.path,t.path,this._ignorePathCasing(e),"/")&&e.query===t.query&&(i||e.fragment===t.fragment)}return!1}joinPath(e,...t){return en.joinPath(e,...t)}basenameOrAuthority(e){return Hc(e)||e.authority}basename(e){return Io.basename(e.path)}extname(e){return Io.extname(e.path)}dirname(e){if(e.path.length===0)return e;let t;return e.scheme===wn.file?t=en.file(g0e(df(e))).path:(t=Io.dirname(e.path),e.authority&&t.length&&t.charCodeAt(0)!==47&&(t="/")),e.with({path:t})}normalizePath(e){if(!e.path.length)return e;let t;return e.scheme===wn.file?t=en.file(f0e(df(e))).path:t=Io.normalize(e.path),e.with({path:t})}relativePath(e,t){if(e.scheme!==t.scheme||!Xye(e.authority,t.authority))return;if(e.scheme===wn.file){const o=Qmt(df(e),df(t));return ha?Rye(o):o}let i=e.path||"/";const r=t.path||"/";if(this._ignorePathCasing(e)){let o=0;for(const s=Math.min(i.length,r.length);oVye(i).length&&i[i.length-1]===t}else{const i=e.path;return i.length>1&&i.charCodeAt(i.length-1)===47&&!/^[a-zA-Z]:(\/$|\\$)/.test(e.fsPath)}}removeTrailingPathSeparator(e,t=Jb){return Pye(e,t)?e.with({path:e.path.substr(0,e.path.length-1)}):e}addTrailingPathSeparator(e,t=Jb){let i=!1;if(e.scheme===wn.file){const r=df(e);i=r!==void 0&&r.length===Vye(r).length&&r[r.length-1]===t}else{t="/";const r=e.path;i=r.length===1&&r.charCodeAt(r.length-1)===47}return!i&&!Pye(e,t)?e.with({path:e.path+"/"}):e}}const gr=new VCt(()=>!1),h7=gr.isEqual.bind(gr);gr.isEqualOrParent.bind(gr),gr.getComparisonKey.bind(gr);const ACt=gr.basenameOrAuthority.bind(gr),Hc=gr.basename.bind(gr),GCt=gr.extname.bind(gr),XW=gr.dirname.bind(gr),XCt=gr.joinPath.bind(gr),PCt=gr.normalizePath.bind(gr),OCt=gr.relativePath.bind(gr),Gye=gr.resolvePath.bind(gr);gr.isAbsolutePath.bind(gr);const Xye=gr.isEqualAuthority.bind(gr),Pye=gr.hasTrailingPathSeparator.bind(gr);gr.removeTrailingPathSeparator.bind(gr),gr.addTrailingPathSeparator.bind(gr);var p0;(function(n){n.META_DATA_LABEL="label",n.META_DATA_DESCRIPTION="description",n.META_DATA_SIZE="size",n.META_DATA_MIME="mime";function e(t){const i=new Map;t.path.substring(t.path.indexOf(";")+1,t.path.lastIndexOf(";")).split(";").forEach(s=>{const[a,l]=s.split(":");a&&l&&i.set(a,l)});const o=t.path.substring(0,t.path.indexOf(";"));return o&&i.set(n.META_DATA_MIME,o),i}n.parseMetaData=e})(p0||(p0={}));function p2(n){return n.toString()}class ys{static create(e,t){const i=e.getAlternativeVersionId(),r=m7(e);return new ys(i,i,r,r,t,t,[])}constructor(e,t,i,r,o,s,a){this.beforeVersionId=e,this.afterVersionId=t,this.beforeEOL=i,this.afterEOL=r,this.beforeCursorState=o,this.afterCursorState=s,this.changes=a}append(e,t,i,r,o){t.length>0&&(this.changes=ZCt(this.changes,t)),this.afterEOL=i,this.afterVersionId=r,this.afterCursorState=o}static _writeSelectionsSize(e){return 4+4*4*(e?e.length:0)}static _writeSelections(e,t,i){if(Th(e,t?t.length:0,i),i+=4,t)for(const r of t)Th(e,r.selectionStartLineNumber,i),i+=4,Th(e,r.selectionStartColumn,i),i+=4,Th(e,r.positionLineNumber,i),i+=4,Th(e,r.positionColumn,i),i+=4;return i}static _readSelections(e,t,i){const r=Nh(e,t);t+=4;for(let o=0;ot.toString()).join(", ")}matchesResource(e){return(en.isUri(this.model)?this.model:this.model.uri).toString()===e.toString()}setModel(e){this.model=e}canAppend(e){return this.model===e&&this._data instanceof ys}append(e,t,i,r,o){this._data instanceof ys&&this._data.append(e,t,i,r,o)}close(){this._data instanceof ys&&(this._data=this._data.serialize())}open(){this._data instanceof ys||(this._data=ys.deserialize(this._data))}undo(){if(en.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof ys&&(this._data=this._data.serialize());const e=ys.deserialize(this._data);this.model._applyUndo(e.changes,e.beforeEOL,e.beforeVersionId,e.beforeCursorState)}redo(){if(en.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof ys&&(this._data=this._data.serialize());const e=ys.deserialize(this._data);this.model._applyRedo(e.changes,e.afterEOL,e.afterVersionId,e.afterCursorState)}heapSize(){return this._data instanceof ys&&(this._data=this._data.serialize()),this._data.byteLength+168}}class BCt{get resources(){return this._editStackElementsArr.map(e=>e.resource)}constructor(e,t,i){this.label=e,this.code=t,this.type=1,this._isOpen=!0,this._editStackElementsArr=i.slice(0),this._editStackElementsMap=new Map;for(const r of this._editStackElementsArr){const o=p2(r.resource);this._editStackElementsMap.set(o,r)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(e){const t=p2(e);return this._editStackElementsMap.has(t)}setModel(e){const t=p2(en.isUri(e)?e:e.uri);this._editStackElementsMap.has(t)&&this._editStackElementsMap.get(t).setModel(e)}canAppend(e){if(!this._isOpen)return!1;const t=p2(e.uri);return this._editStackElementsMap.has(t)?this._editStackElementsMap.get(t).canAppend(e):!1}append(e,t,i,r,o){const s=p2(e.uri);this._editStackElementsMap.get(s).append(e,t,i,r,o)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const e of this._editStackElementsArr)e.undo()}redo(){for(const e of this._editStackElementsArr)e.redo()}heapSize(e){const t=p2(e);return this._editStackElementsMap.has(t)?this._editStackElementsMap.get(t).heapSize():0}split(){return this._editStackElementsArr}toString(){const e=[];for(const t of this._editStackElementsArr)e.push(`${Hc(t.resource)}: ${t}`);return`{${e.join(", ")}}`}}function m7(n){return n.getEOL()===` -`?0:1}function tp(n){return n?n instanceof Oye||n instanceof BCt:!1}class f7{constructor(e,t){this._model=e,this._undoRedoService=t}pushStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);tp(e)&&e.close()}popStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);tp(e)&&e.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(e,t){const i=this._undoRedoService.getLastElement(this._model.uri);if(tp(i)&&i.canAppend(this._model))return i;const r=new Oye(L("edit","Typing"),"undoredo.textBufferEdit",this._model,e);return this._undoRedoService.pushElement(r,t),r}pushEOL(e){const t=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(e),t.append(this._model,[],m7(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(e,t,i,r){const o=this._getOrCreateEditStackElement(e,r),s=this._model.applyEdits(t,!0),a=f7._computeCursorState(i,s),l=s.map((u,c)=>({index:c,textChange:u.textChange}));return l.sort((u,c)=>u.textChange.oldPosition===c.textChange.oldPosition?u.index-c.index:u.textChange.oldPosition-c.textChange.oldPosition),o.append(this._model,l.map(u=>u.textChange),m7(this._model),this._model.getAlternativeVersionId(),a),a}static _computeCursorState(e,t){try{return e?e(t):null}catch(i){return vn(i),null}}}class zCt{constructor(){this.spacesDiff=0,this.looksLikeAlignment=!1}}function HCt(n,e,t,i,r){r.spacesDiff=0,r.looksLikeAlignment=!1;let o;for(o=0;o0&&a>0||l>0&&u>0)return;const c=Math.abs(a-u),d=Math.abs(s-l);if(c===0){r.spacesDiff=d,d>0&&0<=l-1&&l-10?r++:x>1&&o++,HCt(s,a,b,S,d),d.looksLikeAlignment&&!(t&&e===d.spacesDiff)))continue;const F=d.spacesDiff;F<=u&&c[F]++,s=b,a=S}let h=t;r!==o&&(h=r{const b=c[g];b>f&&(f=b,m=g)}),m===4&&c[4]>0&&c[2]>0&&c[2]>=c[4]/2&&(m=2)}return{insertSpaces:h,tabSize:m}}function Xl(n){return(n.metadata&1)>>>0}function pr(n,e){n.metadata=n.metadata&254|e<<0}function na(n){return(n.metadata&2)>>>1===1}function ar(n,e){n.metadata=n.metadata&253|(e?1:0)<<1}function zye(n){return(n.metadata&4)>>>2===1}function Hye(n,e){n.metadata=n.metadata&251|(e?1:0)<<2}function Yye(n){return(n.metadata&64)>>>6===1}function Uye(n,e){n.metadata=n.metadata&191|(e?1:0)<<6}function YCt(n){return(n.metadata&24)>>>3}function Kye(n,e){n.metadata=n.metadata&231|e<<3}function UCt(n){return(n.metadata&32)>>>5===1}function Jye(n,e){n.metadata=n.metadata&223|(e?1:0)<<5}class jye{constructor(e,t,i){this.metadata=0,this.parent=this,this.left=this,this.right=this,pr(this,1),this.start=t,this.end=i,this.delta=0,this.maxEnd=i,this.id=e,this.ownerId=0,this.options=null,Hye(this,!1),Uye(this,!1),Kye(this,1),Jye(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i,this.range=null,ar(this,!1)}reset(e,t,i,r){this.start=t,this.end=i,this.maxEnd=i,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i,this.range=r}setOptions(e){this.options=e;const t=this.options.className;Hye(this,t==="squiggly-error"||t==="squiggly-warning"||t==="squiggly-info"),Uye(this,this.options.glyphMarginClassName!==null),Kye(this,this.options.stickiness),Jye(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(e,t,i){this.cachedVersionId!==i&&(this.range=null),this.cachedVersionId=i,this.cachedAbsoluteStart=e,this.cachedAbsoluteEnd=t}detach(){this.parent=null,this.left=null,this.right=null}}const Bn=new jye(null,0,0);Bn.parent=Bn,Bn.left=Bn,Bn.right=Bn,pr(Bn,0);class g7{constructor(){this.root=Bn,this.requestNormalizeDelta=!1}intervalSearch(e,t,i,r,o,s){return this.root===Bn?[]:twt(this,e,t,i,r,o,s)}search(e,t,i,r){return this.root===Bn?[]:ewt(this,e,t,i,r)}collectNodesFromOwner(e){return $Ct(this,e)}collectNodesPostOrder(){return qCt(this)}insert(e){Qye(this,e),this._normalizeDeltaIfNecessary()}delete(e){$ye(this,e),this._normalizeDeltaIfNecessary()}resolveNode(e,t){const i=e;let r=0;for(;e!==this.root;)e===e.parent.right&&(r+=e.parent.delta),e=e.parent;const o=i.start+r,s=i.end+r;i.setCachedOffsets(o,s,t)}acceptReplace(e,t,i,r){const o=jCt(this,e,e+t);for(let s=0,a=o.length;st||i===1?!1:i===2?!0:e}function JCt(n,e,t,i,r){const o=YCt(n),s=o===0||o===2,a=o===1||o===2,l=t-e,u=i,c=Math.min(l,u),d=n.start;let h=!1;const m=n.end;let f=!1;e<=d&&m<=t&&UCt(n)&&(n.start=e,h=!0,n.end=e,f=!0);{const b=r?1:l>0?2:0;!h&&b2(d,s,e,b)&&(h=!0),!f&&b2(m,a,e,b)&&(f=!0)}if(c>0&&!r){const b=l>u?2:0;!h&&b2(d,s,e+c,b)&&(h=!0),!f&&b2(m,a,e+c,b)&&(f=!0)}{const b=r?1:0;!h&&b2(d,s,t,b)&&(n.start=e+u,h=!0),!f&&b2(m,a,t,b)&&(n.end=e+u,f=!0)}const g=u-l;h||(n.start=Math.max(0,d+g)),f||(n.end=Math.max(0,m+g)),n.start>n.end&&(n.end=n.start)}function jCt(n,e,t){let i=n.root,r=0,o=0,s=0,a=0;const l=[];let u=0;for(;i!==Bn;){if(na(i)){ar(i.left,!1),ar(i.right,!1),i===i.parent.right&&(r-=i.parent.delta),i=i.parent;continue}if(!na(i.left)){if(o=r+i.maxEnd,ot){ar(i,!0);continue}if(a=r+i.end,a>=e&&(i.setCachedOffsets(s,a,0),l[u++]=i),ar(i,!0),i.right!==Bn&&!na(i.right)){r+=i.delta,i=i.right;continue}}return ar(n.root,!1),l}function QCt(n,e,t,i){let r=n.root,o=0,s=0,a=0;const l=i-(t-e);for(;r!==Bn;){if(na(r)){ar(r.left,!1),ar(r.right,!1),r===r.parent.right&&(o-=r.parent.delta),b0(r),r=r.parent;continue}if(!na(r.left)){if(s=o+r.maxEnd,st){r.start+=l,r.end+=l,r.delta+=l,(r.delta<-1073741824||r.delta>1073741824)&&(n.requestNormalizeDelta=!0),ar(r,!0);continue}if(ar(r,!0),r.right!==Bn&&!na(r.right)){o+=r.delta,r=r.right;continue}}ar(n.root,!1)}function $Ct(n,e){let t=n.root;const i=[];let r=0;for(;t!==Bn;){if(na(t)){ar(t.left,!1),ar(t.right,!1),t=t.parent;continue}if(t.left!==Bn&&!na(t.left)){t=t.left;continue}if(t.ownerId===e&&(i[r++]=t),ar(t,!0),t.right!==Bn&&!na(t.right)){t=t.right;continue}}return ar(n.root,!1),i}function qCt(n){let e=n.root;const t=[];let i=0;for(;e!==Bn;){if(na(e)){ar(e.left,!1),ar(e.right,!1),e=e.parent;continue}if(e.left!==Bn&&!na(e.left)){e=e.left;continue}if(e.right!==Bn&&!na(e.right)){e=e.right;continue}t[i++]=e,ar(e,!0)}return ar(n.root,!1),t}function ewt(n,e,t,i,r){let o=n.root,s=0,a=0,l=0;const u=[];let c=0;for(;o!==Bn;){if(na(o)){ar(o.left,!1),ar(o.right,!1),o===o.parent.right&&(s-=o.parent.delta),o=o.parent;continue}if(o.left!==Bn&&!na(o.left)){o=o.left;continue}a=s+o.start,l=s+o.end,o.setCachedOffsets(a,l,i);let d=!0;if(e&&o.ownerId&&o.ownerId!==e&&(d=!1),t&&zye(o)&&(d=!1),r&&!Yye(o)&&(d=!1),d&&(u[c++]=o),ar(o,!0),o.right!==Bn&&!na(o.right)){s+=o.delta,o=o.right;continue}}return ar(n.root,!1),u}function twt(n,e,t,i,r,o,s){let a=n.root,l=0,u=0,c=0,d=0;const h=[];let m=0;for(;a!==Bn;){if(na(a)){ar(a.left,!1),ar(a.right,!1),a===a.parent.right&&(l-=a.parent.delta),a=a.parent;continue}if(!na(a.left)){if(u=l+a.maxEnd,ut){ar(a,!0);continue}if(d=l+a.end,d>=e){a.setCachedOffsets(c,d,o);let f=!0;i&&a.ownerId&&a.ownerId!==i&&(f=!1),r&&zye(a)&&(f=!1),s&&!Yye(a)&&(f=!1),f&&(h[m++]=a)}if(ar(a,!0),a.right!==Bn&&!na(a.right)){l+=a.delta,a=a.right;continue}}return ar(n.root,!1),h}function Qye(n,e){if(n.root===Bn)return e.parent=Bn,e.left=Bn,e.right=Bn,pr(e,0),n.root=e,n.root;nwt(n,e),v0(e.parent);let t=e;for(;t!==n.root&&Xl(t.parent)===1;)if(t.parent===t.parent.parent.left){const i=t.parent.parent.right;Xl(i)===1?(pr(t.parent,0),pr(i,0),pr(t.parent.parent,1),t=t.parent.parent):(t===t.parent.right&&(t=t.parent,fD(n,t)),pr(t.parent,0),pr(t.parent.parent,1),gD(n,t.parent.parent))}else{const i=t.parent.parent.left;Xl(i)===1?(pr(t.parent,0),pr(i,0),pr(t.parent.parent,1),t=t.parent.parent):(t===t.parent.left&&(t=t.parent,gD(n,t)),pr(t.parent,0),pr(t.parent.parent,1),fD(n,t.parent.parent))}return pr(n.root,0),e}function nwt(n,e){let t=0,i=n.root;const r=e.start,o=e.end;for(;;)if(rwt(r,o,i.start+t,i.end+t)<0)if(i.left===Bn){e.start-=t,e.end-=t,e.maxEnd-=t,i.left=e;break}else i=i.left;else if(i.right===Bn){e.start-=t+i.delta,e.end-=t+i.delta,e.maxEnd-=t+i.delta,i.right=e;break}else t+=i.delta,i=i.right;e.parent=i,e.left=Bn,e.right=Bn,pr(e,1)}function $ye(n,e){let t,i;if(e.left===Bn?(t=e.right,i=e,t.delta+=e.delta,(t.delta<-1073741824||t.delta>1073741824)&&(n.requestNormalizeDelta=!0),t.start+=e.delta,t.end+=e.delta):e.right===Bn?(t=e.left,i=e):(i=iwt(e.right),t=i.right,t.start+=i.delta,t.end+=i.delta,t.delta+=i.delta,(t.delta<-1073741824||t.delta>1073741824)&&(n.requestNormalizeDelta=!0),i.start+=e.delta,i.end+=e.delta,i.delta=e.delta,(i.delta<-1073741824||i.delta>1073741824)&&(n.requestNormalizeDelta=!0)),i===n.root){n.root=t,pr(t,0),e.detach(),p7(),b0(t),n.root.parent=Bn;return}const r=Xl(i)===1;if(i===i.parent.left?i.parent.left=t:i.parent.right=t,i===e?t.parent=i.parent:(i.parent===e?t.parent=i:t.parent=i.parent,i.left=e.left,i.right=e.right,i.parent=e.parent,pr(i,Xl(e)),e===n.root?n.root=i:e===e.parent.left?e.parent.left=i:e.parent.right=i,i.left!==Bn&&(i.left.parent=i),i.right!==Bn&&(i.right.parent=i)),e.detach(),r){v0(t.parent),i!==e&&(v0(i),v0(i.parent)),p7();return}v0(t),v0(t.parent),i!==e&&(v0(i),v0(i.parent));let o;for(;t!==n.root&&Xl(t)===0;)t===t.parent.left?(o=t.parent.right,Xl(o)===1&&(pr(o,0),pr(t.parent,1),fD(n,t.parent),o=t.parent.right),Xl(o.left)===0&&Xl(o.right)===0?(pr(o,1),t=t.parent):(Xl(o.right)===0&&(pr(o.left,0),pr(o,1),gD(n,o),o=t.parent.right),pr(o,Xl(t.parent)),pr(t.parent,0),pr(o.right,0),fD(n,t.parent),t=n.root)):(o=t.parent.left,Xl(o)===1&&(pr(o,0),pr(t.parent,1),gD(n,t.parent),o=t.parent.left),Xl(o.left)===0&&Xl(o.right)===0?(pr(o,1),t=t.parent):(Xl(o.left)===0&&(pr(o.right,0),pr(o,1),fD(n,o),o=t.parent.left),pr(o,Xl(t.parent)),pr(t.parent,0),pr(o.left,0),gD(n,t.parent),t=n.root));pr(t,0),p7()}function iwt(n){for(;n.left!==Bn;)n=n.left;return n}function p7(){Bn.parent=Bn,Bn.delta=0,Bn.start=0,Bn.end=0}function fD(n,e){const t=e.right;t.delta+=e.delta,(t.delta<-1073741824||t.delta>1073741824)&&(n.requestNormalizeDelta=!0),t.start+=e.delta,t.end+=e.delta,e.right=t.left,t.left!==Bn&&(t.left.parent=e),t.parent=e.parent,e.parent===Bn?n.root=t:e===e.parent.left?e.parent.left=t:e.parent.right=t,t.left=e,e.parent=t,b0(e),b0(t)}function gD(n,e){const t=e.left;e.delta-=t.delta,(e.delta<-1073741824||e.delta>1073741824)&&(n.requestNormalizeDelta=!0),e.start-=t.delta,e.end-=t.delta,e.left=t.right,t.right!==Bn&&(t.right.parent=e),t.parent=e.parent,e.parent===Bn?n.root=t:e===e.parent.right?e.parent.right=t:e.parent.left=t,t.right=e,e.parent=t,b0(e),b0(t)}function qye(n){let e=n.end;if(n.left!==Bn){const t=n.left.maxEnd;t>e&&(e=t)}if(n.right!==Bn){const t=n.right.maxEnd+n.delta;t>e&&(e=t)}return e}function b0(n){n.maxEnd=qye(n)}function v0(n){for(;n!==Bn;){const e=qye(n);if(n.maxEnd===e)return;n.maxEnd=e,n=n.parent}}function rwt(n,e,t,i){return n===t?e-i:n-t}class b7{constructor(e,t){this.piece=e,this.color=t,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==Sn)return v7(this.right);let e=this;for(;e.parent!==Sn&&e.parent.left!==e;)e=e.parent;return e.parent===Sn?Sn:e.parent}prev(){if(this.left!==Sn)return eCe(this.left);let e=this;for(;e.parent!==Sn&&e.parent.right!==e;)e=e.parent;return e.parent===Sn?Sn:e.parent}detach(){this.parent=null,this.left=null,this.right=null}}const Sn=new b7(null,0);Sn.parent=Sn,Sn.left=Sn,Sn.right=Sn,Sn.color=0;function v7(n){for(;n.left!==Sn;)n=n.left;return n}function eCe(n){for(;n.right!==Sn;)n=n.right;return n}function y7(n){return n===Sn?0:n.size_left+n.piece.length+y7(n.right)}function C7(n){return n===Sn?0:n.lf_left+n.piece.lineFeedCnt+C7(n.right)}function w7(){Sn.parent=Sn}function pD(n,e){const t=e.right;t.size_left+=e.size_left+(e.piece?e.piece.length:0),t.lf_left+=e.lf_left+(e.piece?e.piece.lineFeedCnt:0),e.right=t.left,t.left!==Sn&&(t.left.parent=e),t.parent=e.parent,e.parent===Sn?n.root=t:e.parent.left===e?e.parent.left=t:e.parent.right=t,t.left=e,e.parent=t}function bD(n,e){const t=e.left;e.left=t.right,t.right!==Sn&&(t.right.parent=e),t.parent=e.parent,e.size_left-=t.size_left+(t.piece?t.piece.length:0),e.lf_left-=t.lf_left+(t.piece?t.piece.lineFeedCnt:0),e.parent===Sn?n.root=t:e===e.parent.right?e.parent.right=t:e.parent.left=t,t.right=e,e.parent=t}function PW(n,e){let t,i;if(e.left===Sn?(i=e,t=i.right):e.right===Sn?(i=e,t=i.left):(i=v7(e.right),t=i.right),i===n.root){n.root=t,t.color=0,e.detach(),w7(),n.root.parent=Sn;return}const r=i.color===1;if(i===i.parent.left?i.parent.left=t:i.parent.right=t,i===e?(t.parent=i.parent,vD(n,t)):(i.parent===e?t.parent=i:t.parent=i.parent,vD(n,t),i.left=e.left,i.right=e.right,i.parent=e.parent,i.color=e.color,e===n.root?n.root=i:e===e.parent.left?e.parent.left=i:e.parent.right=i,i.left!==Sn&&(i.left.parent=i),i.right!==Sn&&(i.right.parent=i),i.size_left=e.size_left,i.lf_left=e.lf_left,vD(n,i)),e.detach(),t.parent.left===t){const s=y7(t),a=C7(t);if(s!==t.parent.size_left||a!==t.parent.lf_left){const l=s-t.parent.size_left,u=a-t.parent.lf_left;t.parent.size_left=s,t.parent.lf_left=a,np(n,t.parent,l,u)}}if(vD(n,t.parent),r){w7();return}let o;for(;t!==n.root&&t.color===0;)t===t.parent.left?(o=t.parent.right,o.color===1&&(o.color=0,t.parent.color=1,pD(n,t.parent),o=t.parent.right),o.left.color===0&&o.right.color===0?(o.color=1,t=t.parent):(o.right.color===0&&(o.left.color=0,o.color=1,bD(n,o),o=t.parent.right),o.color=t.parent.color,t.parent.color=0,o.right.color=0,pD(n,t.parent),t=n.root)):(o=t.parent.left,o.color===1&&(o.color=0,t.parent.color=1,bD(n,t.parent),o=t.parent.left),o.left.color===0&&o.right.color===0?(o.color=1,t=t.parent):(o.left.color===0&&(o.right.color=0,o.color=1,pD(n,o),o=t.parent.left),o.color=t.parent.color,t.parent.color=0,o.left.color=0,bD(n,t.parent),t=n.root));t.color=0,w7()}function tCe(n,e){for(vD(n,e);e!==n.root&&e.parent.color===1;)if(e.parent===e.parent.parent.left){const t=e.parent.parent.right;t.color===1?(e.parent.color=0,t.color=0,e.parent.parent.color=1,e=e.parent.parent):(e===e.parent.right&&(e=e.parent,pD(n,e)),e.parent.color=0,e.parent.parent.color=1,bD(n,e.parent.parent))}else{const t=e.parent.parent.left;t.color===1?(e.parent.color=0,t.color=0,e.parent.parent.color=1,e=e.parent.parent):(e===e.parent.left&&(e=e.parent,bD(n,e)),e.parent.color=0,e.parent.parent.color=1,pD(n,e.parent.parent))}n.root.color=0}function np(n,e,t,i){for(;e!==n.root&&e!==Sn;)e.parent.left===e&&(e.parent.size_left+=t,e.parent.lf_left+=i),e=e.parent}function vD(n,e){let t=0,i=0;if(e!==n.root){for(;e!==n.root&&e===e.parent.right;)e=e.parent;if(e!==n.root)for(e=e.parent,t=y7(e.left)-e.size_left,i=C7(e.left)-e.lf_left,e.size_left+=t,e.lf_left+=i;e!==n.root&&(t!==0||i!==0);)e.parent.left===e&&(e.parent.size_left+=t,e.parent.lf_left+=i),e=e.parent}}const owt=999;class yy{constructor(e,t,i,r){this.searchString=e,this.isRegex=t,this.matchCase=i,this.wordSeparators=r}parseSearchRequest(){if(this.searchString==="")return null;let e;this.isRegex?e=swt(this.searchString):e=this.searchString.indexOf(` -`)>=0;let t=null;try{t=r0e(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:e,global:!0,unicode:!0})}catch{return null}if(!t)return null;let i=!this.isRegex&&!e;return i&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(i=this.matchCase),new lyt(t,this.wordSeparators?Nc(this.wordSeparators,[]):null,i?this.searchString:null)}}function swt(n){if(!n||n.length===0)return!1;for(let e=0,t=n.length;e=t)break;const r=n.charCodeAt(e);if(r===110||r===114||r===87)return!0}}return!1}function Cy(n,e,t){if(!t)return new KI(n,null);const i=[];for(let r=0,o=e.length;r>0);t[o]>=e?r=o-1:t[o+1]>=e?(i=o,r=o):i=o+1}return i+1}}class OW{static findMatches(e,t,i,r,o){const s=t.parseSearchRequest();return s?s.regex.multiline?this._doFindMatchesMultiline(e,i,new v2(s.wordSeparators,s.regex),r,o):this._doFindMatchesLineByLine(e,i,s,r,o):[]}static _getMultilineMatchRange(e,t,i,r,o,s){let a,l=0;r?(l=r.findLineFeedCountBeforeOffset(o),a=t+o+l):a=t+o;let u;if(r){const m=r.findLineFeedCountBeforeOffset(o+s.length)-l;u=a+s.length+m}else u=a+s.length;const c=e.getPositionAt(a),d=e.getPositionAt(u);return new J(c.lineNumber,c.column,d.lineNumber,d.column)}static _doFindMatchesMultiline(e,t,i,r,o){const s=e.getOffsetAt(t.getStartPosition()),a=e.getValueInRange(t,1),l=e.getEOL()===`\r -`?new nCe(a):null,u=[];let c=0,d;for(i.reset(0);d=i.next(a);)if(u[c++]=Cy(this._getMultilineMatchRange(e,s,a,l,d.index,d[0]),d,r),c>=o)return u;return u}static _doFindMatchesLineByLine(e,t,i,r,o){const s=[];let a=0;if(t.startLineNumber===t.endLineNumber){const u=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return a=this._findMatchesInLine(i,u,t.startLineNumber,t.startColumn-1,a,s,r,o),s}const l=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);a=this._findMatchesInLine(i,l,t.startLineNumber,t.startColumn-1,a,s,r,o);for(let u=t.startLineNumber+1;u=l))return o;return o}const c=new v2(e.wordSeparators,e.regex);let d;c.reset(0);do if(d=c.next(t),d&&(s[o++]=Cy(new J(i,d.index+1+r,i,d.index+1+d[0].length+r),d,a),o>=l))return o;while(d);return o}static findNextMatch(e,t,i,r){const o=t.parseSearchRequest();if(!o)return null;const s=new v2(o.wordSeparators,o.regex);return o.regex.multiline?this._doFindNextMatchMultiline(e,i,s,r):this._doFindNextMatchLineByLine(e,i,s,r)}static _doFindNextMatchMultiline(e,t,i,r){const o=new ye(t.lineNumber,1),s=e.getOffsetAt(o),a=e.getLineCount(),l=e.getValueInRange(new J(o.lineNumber,o.column,a,e.getLineMaxColumn(a)),1),u=e.getEOL()===`\r -`?new nCe(l):null;i.reset(t.column-1);const c=i.next(l);return c?Cy(this._getMultilineMatchRange(e,s,l,u,c.index,c[0]),c,r):t.lineNumber!==1||t.column!==1?this._doFindNextMatchMultiline(e,new ye(1,1),i,r):null}static _doFindNextMatchLineByLine(e,t,i,r){const o=e.getLineCount(),s=t.lineNumber,a=e.getLineContent(s),l=this._findFirstMatchInLine(i,a,s,t.column,r);if(l)return l;for(let u=1;u<=o;u++){const c=(s+u-1)%o,d=e.getLineContent(c+1),h=this._findFirstMatchInLine(i,d,c+1,1,r);if(h)return h}return null}static _findFirstMatchInLine(e,t,i,r,o){e.reset(r-1);const s=e.next(t);return s?Cy(new J(i,s.index+1,i,s.index+1+s[0].length),s,o):null}static findPreviousMatch(e,t,i,r){const o=t.parseSearchRequest();if(!o)return null;const s=new v2(o.wordSeparators,o.regex);return o.regex.multiline?this._doFindPreviousMatchMultiline(e,i,s,r):this._doFindPreviousMatchLineByLine(e,i,s,r)}static _doFindPreviousMatchMultiline(e,t,i,r){const o=this._doFindMatchesMultiline(e,new J(1,1,t.lineNumber,t.column),i,r,10*owt);if(o.length>0)return o[o.length-1];const s=e.getLineCount();return t.lineNumber!==s||t.column!==e.getLineMaxColumn(s)?this._doFindPreviousMatchMultiline(e,new ye(s,e.getLineMaxColumn(s)),i,r):null}static _doFindPreviousMatchLineByLine(e,t,i,r){const o=e.getLineCount(),s=t.lineNumber,a=e.getLineContent(s).substring(0,t.column-1),l=this._findLastMatchInLine(i,a,s,r);if(l)return l;for(let u=1;u<=o;u++){const c=(o+s-u-1)%o,d=e.getLineContent(c+1),h=this._findLastMatchInLine(i,d,c+1,r);if(h)return h}return null}static _findLastMatchInLine(e,t,i,r){let o=null,s;for(e.reset(0);s=e.next(t);)o=Cy(new J(i,s.index+1,i,s.index+1+s[0].length),s,r);return o}}function awt(n,e,t,i,r){if(i===0)return!0;const o=e.charCodeAt(i-1);if(n.get(o)!==0||o===13||o===10)return!0;if(r>0){const s=e.charCodeAt(i);if(n.get(s)!==0)return!0}return!1}function lwt(n,e,t,i,r){if(i+r===t)return!0;const o=e.charCodeAt(i+r);if(n.get(o)!==0||o===13||o===10)return!0;if(r>0){const s=e.charCodeAt(i+r-1);if(n.get(s)!==0)return!0}return!1}function S7(n,e,t,i,r){return awt(n,e,t,i,r)&&lwt(n,e,t,i,r)}class v2{constructor(e,t){this._wordSeparators=e,this._searchRegex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(e){const t=e.length;let i;do{if(this._prevMatchStartIndex+this._prevMatchLength===t||(i=this._searchRegex.exec(e),!i))return null;const r=i.index,o=i[0].length;if(r===this._prevMatchStartIndex&&o===this._prevMatchLength){if(o===0){KZ(e,t,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=r,this._prevMatchLength=o,!this._wordSeparators||S7(this._wordSeparators,e,t,r,o))return i}while(i);return null}}const ip=65535;function iCe(n){let e;return n[n.length-1]<65536?e=new Uint16Array(n.length):e=new Uint32Array(n.length),e.set(n,0),e}class uwt{constructor(e,t,i,r,o){this.lineStarts=e,this.cr=t,this.lf=i,this.crlf=r,this.isBasicASCII=o}}function rp(n,e=!0){const t=[0];let i=1;for(let r=0,o=n.length;r126)&&(s=!1)}const a=new uwt(iCe(n),i,r,o,s);return n.length=0,a}class mu{constructor(e,t,i,r,o){this.bufferIndex=e,this.start=t,this.end=i,this.lineFeedCnt=r,this.length=o}}class wy{constructor(e,t){this.buffer=e,this.lineStarts=t}}class dwt{constructor(e,t){this._pieces=[],this._tree=e,this._BOM=t,this._index=0,e.root!==Sn&&e.iterate(e.root,i=>(i!==Sn&&this._pieces.push(i.piece),!0))}read(){return this._pieces.length===0?this._index===0?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:this._index===0?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class hwt{constructor(e){this._limit=e,this._cache=[]}get(e){for(let t=this._cache.length-1;t>=0;t--){const i=this._cache[t];if(i.nodeStartOffset<=e&&i.nodeStartOffset+i.node.piece.length>=e)return i}return null}get2(e){for(let t=this._cache.length-1;t>=0;t--){const i=this._cache[t];if(i.nodeStartLineNumber&&i.nodeStartLineNumber=e)return i}return null}set(e){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(e)}validate(e){let t=!1;const i=this._cache;for(let r=0;r=e){i[r]=null,t=!0;continue}}if(t){const r=[];for(const o of i)o!==null&&r.push(o);this._cache=r}}}class mwt{constructor(e,t,i){this.create(e,t,i)}create(e,t,i){this._buffers=[new wy("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=Sn,this._lineCnt=1,this._length=0,this._EOL=t,this._EOLLength=t.length,this._EOLNormalized=i;let r=null;for(let o=0,s=e.length;o0){e[o].lineStarts||(e[o].lineStarts=rp(e[o].buffer));const a=new mu(o+1,{line:0,column:0},{line:e[o].lineStarts.length-1,column:e[o].buffer.length-e[o].lineStarts[e[o].lineStarts.length-1]},e[o].lineStarts.length-1,e[o].buffer.length);this._buffers.push(e[o]),r=this.rbInsertRight(r,a)}this._searchCache=new hwt(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(e){const t=ip,i=t-Math.floor(t/3),r=i*2;let o="",s=0;const a=[];if(this.iterate(this.root,l=>{const u=this.getNodeContent(l),c=u.length;if(s<=i||s+c0){const l=o.replace(/\r\n|\r|\n/g,e);a.push(new wy(l,rp(l)))}this.create(a,e,!0)}getEOL(){return this._EOL}setEOL(e){this._EOL=e,this._EOLLength=this._EOL.length,this.normalizeEOL(e)}createSnapshot(e){return new dwt(this,e)}getOffsetAt(e,t){let i=0,r=this.root;for(;r!==Sn;)if(r.left!==Sn&&r.lf_left+1>=e)r=r.left;else if(r.lf_left+r.piece.lineFeedCnt+1>=e){i+=r.size_left;const o=this.getAccumulatedValue(r,e-r.lf_left-2);return i+=o+t-1}else e-=r.lf_left+r.piece.lineFeedCnt,i+=r.size_left+r.piece.length,r=r.right;return i}getPositionAt(e){e=Math.floor(e),e=Math.max(0,e);let t=this.root,i=0;const r=e;for(;t!==Sn;)if(t.size_left!==0&&t.size_left>=e)t=t.left;else if(t.size_left+t.piece.length>=e){const o=this.getIndexOf(t,e-t.size_left);if(i+=t.lf_left+o.index,o.index===0){const s=this.getOffsetAt(i+1,1),a=r-s;return new ye(i+1,a+1)}return new ye(i+1,o.remainder+1)}else if(e-=t.size_left+t.piece.length,i+=t.lf_left+t.piece.lineFeedCnt,t.right===Sn){const o=this.getOffsetAt(i+1,1),s=r-e-o;return new ye(i+1,s+1)}else t=t.right;return new ye(1,1)}getValueInRange(e,t){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return"";const i=this.nodeAt2(e.startLineNumber,e.startColumn),r=this.nodeAt2(e.endLineNumber,e.endColumn),o=this.getValueInRange2(i,r);return t?t!==this._EOL||!this._EOLNormalized?o.replace(/\r\n|\r|\n/g,t):t===this.getEOL()&&this._EOLNormalized?o:o.replace(/\r\n|\r|\n/g,t):o}getValueInRange2(e,t){if(e.node===t.node){const a=e.node,l=this._buffers[a.piece.bufferIndex].buffer,u=this.offsetInBuffer(a.piece.bufferIndex,a.piece.start);return l.substring(u+e.remainder,u+t.remainder)}let i=e.node;const r=this._buffers[i.piece.bufferIndex].buffer,o=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);let s=r.substring(o+e.remainder,o+i.piece.length);for(i=i.next();i!==Sn;){const a=this._buffers[i.piece.bufferIndex].buffer,l=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);if(i===t.node){s+=a.substring(l,l+t.remainder);break}else s+=a.substr(l,i.piece.length);i=i.next()}return s}getLinesContent(){const e=[];let t=0,i="",r=!1;return this.iterate(this.root,o=>{if(o===Sn)return!0;const s=o.piece;let a=s.length;if(a===0)return!0;const l=this._buffers[s.bufferIndex].buffer,u=this._buffers[s.bufferIndex].lineStarts,c=s.start.line,d=s.end.line;let h=u[c]+s.start.column;if(r&&(l.charCodeAt(h)===10&&(h++,a--),e[t++]=i,i="",r=!1,a===0))return!0;if(c===d)return!this._EOLNormalized&&l.charCodeAt(h+a-1)===13?(r=!0,i+=l.substr(h,a-1)):i+=l.substr(h,a),!0;i+=this._EOLNormalized?l.substring(h,Math.max(h,u[c+1]-this._EOLLength)):l.substring(h,u[c+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=i;for(let m=c+1;mx+f,t.reset(0)):(C=h.buffer,S=x=>x,t.reset(f));do if(b=t.next(C),b){if(S(b.index)>=g)return c;this.positionInBuffer(e,S(b.index)-m,v);const x=this.getLineFeedCnt(e.piece.bufferIndex,o,v),_=v.line===o.line?v.column-o.column+r:v.column+1,F=_+b[0].length;if(d[c++]=Cy(new J(i+x,_,i+x,F),b,l),S(b.index)+b[0].length>=g||c>=u)return c}while(b);return c}findMatchesLineByLine(e,t,i,r){const o=[];let s=0;const a=new v2(t.wordSeparators,t.regex);let l=this.nodeAt2(e.startLineNumber,e.startColumn);if(l===null)return[];const u=this.nodeAt2(e.endLineNumber,e.endColumn);if(u===null)return[];let c=this.positionInBuffer(l.node,l.remainder);const d=this.positionInBuffer(u.node,u.remainder);if(l.node===u.node)return this.findMatchesInNode(l.node,a,e.startLineNumber,e.startColumn,c,d,t,i,r,s,o),o;let h=e.startLineNumber,m=l.node;for(;m!==u.node;){const g=this.getLineFeedCnt(m.piece.bufferIndex,c,m.piece.end);if(g>=1){const v=this._buffers[m.piece.bufferIndex].lineStarts,C=this.offsetInBuffer(m.piece.bufferIndex,m.piece.start),S=v[c.line+g],x=h===e.startLineNumber?e.startColumn:1;if(s=this.findMatchesInNode(m,a,h,x,c,this.positionInBuffer(m,S-C),t,i,r,s,o),s>=r)return o;h+=g}const b=h===e.startLineNumber?e.startColumn-1:0;if(h===e.endLineNumber){const v=this.getLineContent(h).substring(b,e.endColumn-1);return s=this._findMatchesInLine(t,a,v,e.endLineNumber,b,s,o,i,r),o}if(s=this._findMatchesInLine(t,a,this.getLineContent(h).substr(b),h,b,s,o,i,r),s>=r)return o;h++,l=this.nodeAt2(h,1),m=l.node,c=this.positionInBuffer(l.node,l.remainder)}if(h===e.endLineNumber){const g=h===e.startLineNumber?e.startColumn-1:0,b=this.getLineContent(h).substring(g,e.endColumn-1);return s=this._findMatchesInLine(t,a,b,e.endLineNumber,g,s,o,i,r),o}const f=h===e.startLineNumber?e.startColumn:1;return s=this.findMatchesInNode(u.node,a,h,f,c,d,t,i,r,s,o),o}_findMatchesInLine(e,t,i,r,o,s,a,l,u){const c=e.wordSeparators;if(!l&&e.simpleSearch){const h=e.simpleSearch,m=h.length,f=i.length;let g=-m;for(;(g=i.indexOf(h,g+m))!==-1;)if((!c||S7(c,i,f,g,m))&&(a[s++]=new KI(new J(r,g+1+o,r,g+1+m+o),null),s>=u))return s;return s}let d;t.reset(0);do if(d=t.next(i),d&&(a[s++]=Cy(new J(r,d.index+1+o,r,d.index+1+d[0].length+o),d,l),s>=u))return s;while(d);return s}insert(e,t,i=!1){if(this._EOLNormalized=this._EOLNormalized&&i,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==Sn){const{node:r,remainder:o,nodeStartOffset:s}=this.nodeAt(e),a=r.piece,l=a.bufferIndex,u=this.positionInBuffer(r,o);if(r.piece.bufferIndex===0&&a.end.line===this._lastChangeBufferPos.line&&a.end.column===this._lastChangeBufferPos.column&&s+a.length===e&&t.lengthe){const c=[];let d=new mu(a.bufferIndex,u,a.end,this.getLineFeedCnt(a.bufferIndex,u,a.end),this.offsetInBuffer(l,a.end)-this.offsetInBuffer(l,u));if(this.shouldCheckCRLF()&&this.endWithCR(t)&&this.nodeCharCodeAt(r,o)===10){const g={line:d.start.line+1,column:0};d=new mu(d.bufferIndex,g,d.end,this.getLineFeedCnt(d.bufferIndex,g,d.end),d.length-1),t+=` -`}if(this.shouldCheckCRLF()&&this.startWithLF(t))if(this.nodeCharCodeAt(r,o-1)===13){const g=this.positionInBuffer(r,o-1);this.deleteNodeTail(r,g),t="\r"+t,r.piece.length===0&&c.push(r)}else this.deleteNodeTail(r,u);else this.deleteNodeTail(r,u);const h=this.createNewPieces(t);d.length>0&&this.rbInsertRight(r,d);let m=r;for(let f=0;f0}}function m1t(n){return n.replace(/(^[A-Z])/,([e])=>e.toLowerCase()).replace(/([A-Z])/g,([e])=>`-${e.toLowerCase()}`)}class EF extends Fe{constructor(){super(),this._shouldRender=!0}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=!0}setShouldRender(){this._shouldRender=!0}onDidRender(){this._shouldRender=!1}onCompositionStart(e){return!1}onCompositionEnd(e){return!1}onConfigurationChanged(e){return!1}onCursorStateChanged(e){return!1}onDecorationsChanged(e){return!1}onFlushed(e){return!1}onFocusChanged(e){return!1}onLanguageConfigurationChanged(e){return!1}onLineMappingChanged(e){return!1}onLinesChanged(e){return!1}onLinesDeleted(e){return!1}onLinesInserted(e){return!1}onRevealRangeRequest(e){return!1}onScrollChanged(e){return!1}onThemeChanged(e){return!1}onTokensChanged(e){return!1}onTokensColorsChanged(e){return!1}onZonesChanged(e){return!1}handleEvents(e){let t=!1;for(let i=0,r=e.length;i=a.left?r.width=Math.max(r.width,a.left+a.width-r.left):(t[i++]=r,r=a)}return t[i++]=r,t}static _createHorizontalRangesFromClientRects(e,t,i){if(!e||e.length===0)return null;const r=[];for(let o=0,s=e.length;ol)return null;if(t=Math.min(l,Math.max(0,t)),r=Math.min(l,Math.max(0,r)),t===r&&i===o&&i===0&&!e.children[t].firstChild){const h=e.children[t].getClientRects();return s.markDidDomLayout(),this._createHorizontalRangesFromClientRects(h,s.clientRectDeltaLeft,s.clientRectScale)}t!==r&&r>0&&o===0&&(r--,o=1073741824);let u=e.children[t].firstChild,c=e.children[r].firstChild;if((!u||!c)&&(!u&&i===0&&t>0&&(u=e.children[t-1].firstChild,i=1073741824),!c&&o===0&&r>0&&(c=e.children[r-1].firstChild,o=1073741824)),!u||!c)return null;i=Math.min(u.textContent.length,Math.max(0,i)),o=Math.min(c.textContent.length,Math.max(0,o));const d=this._readClientRects(u,i,c,o,s.endNode);return s.markDidDomLayout(),this._createHorizontalRangesFromClientRects(d,s.clientRectDeltaLeft,s.clientRectScale)}}class il{constructor(e,t,i,r){this.startColumn=e,this.endColumn=t,this.className=i,this.type=r,this._lineDecorationBrand=void 0}static _equals(e,t){return e.startColumn===t.startColumn&&e.endColumn===t.endColumn&&e.className===t.className&&e.type===t.type}static equalsArr(e,t){const i=e.length,r=t.length;if(i!==r)return!1;for(let o=0;o=o||(a[l++]=new il(Math.max(1,u.startColumn-r+1),Math.min(s+1,u.endColumn-r+1),u.className,u.type));return a}static filter(e,t,i,r){if(e.length===0)return[];const o=[];let s=0;for(let a=0,l=e.length;at||c.isEmpty()&&(u.type===0||u.type===3))continue;const d=c.startLineNumber===t?c.startColumn:i,h=c.endLineNumber===t?c.endColumn:r;o[s++]=new il(d,h,u.inlineClassName,u.type)}return o}static _typeCompare(e,t){const i=[2,0,1,3];return i[e]-i[t]}static compare(e,t){if(e.startColumn!==t.startColumn)return e.startColumn-t.startColumn;if(e.endColumn!==t.endColumn)return e.endColumn-t.endColumn;const i=il._typeCompare(e.type,t.type);return i!==0?i:e.className!==t.className?e.className0&&this.stopOffsets[0]0&&t=e){this.stopOffsets.splice(r,0,e),this.classNames.splice(r,0,t),this.metadata.splice(r,0,i);break}this.count++}}class y1t{static normalize(e,t){if(t.length===0)return[];const i=[],r=new uZ;let o=0;for(let s=0,a=t.length;s1){const g=e.charCodeAt(u-2);os(g)&&u--}if(c>1){const g=e.charCodeAt(c-2);os(g)&&c--}const m=u-1,f=c-2;o=r.consumeLowerThan(m,o,i),r.count===0&&(o=m),r.insert(f,d,h)}return r.consumeLowerThan(1073741824,o,i),i}}class ys{constructor(e,t,i,r){this.endIndex=e,this.type=t,this.metadata=i,this.containsRTL=r,this._linePartBrand=void 0}isWhitespace(){return!!(this.metadata&1)}isPseudoAfter(){return!!(this.metadata&4)}}let Lye=class{constructor(e,t){this.startOffset=e,this.endOffset=t}equals(e){return this.startOffset===e.startOffset&&this.endOffset===e.endOffset}};class u0{constructor(e,t,i,r,o,s,a,l,u,c,d,h,m,f,g,b,y,C,w){this.useMonospaceOptimizations=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=i,this.continuesWithWrappedLine=r,this.isBasicASCII=o,this.containsRTL=s,this.fauxIndentLength=a,this.lineTokens=l,this.lineDecorations=u.sort(il.compare),this.tabSize=c,this.startVisibleColumn=d,this.spaceWidth=h,this.stopRenderingLineAfter=g,this.renderWhitespace=b==="all"?4:b==="boundary"?1:b==="selection"?2:b==="trailing"?3:0,this.renderControlCharacters=y,this.fontLigatures=C,this.selectionsOnLine=w&&w.sort((I,D)=>I.startOffset>>16}static getCharIndex(e){return(e&65535)>>>0}constructor(e,t){this.length=e,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}setColumnInfo(e,t,i,r){const o=(t<<16|i<<0)>>>0;this._data[e-1]=o,this._horizontalOffset[e-1]=r}getHorizontalOffset(e){return this._horizontalOffset.length===0?0:this._horizontalOffset[e-1]}charOffsetToPartData(e){return this.length===0?0:e<0?this._data[0]:e>=this.length?this._data[this.length-1]:this._data[e]}getDomPosition(e){const t=this.charOffsetToPartData(e-1),i=nf.getPartIndex(t),r=nf.getCharIndex(t);return new Iye(i,r)}getColumn(e,t){return this.partDataToCharOffset(e.partIndex,t,e.charIndex)+1}partDataToCharOffset(e,t,i){if(this.length===0)return 0;const r=(e<<16|i<<0)>>>0;let o=0,s=this.length-1;for(;o+1>>1,b=this._data[g];if(b===r)return g;b>r?s=g:o=g}if(o===s)return o;const a=this._data[o],l=this._data[s];if(a===r)return o;if(l===r)return s;const u=nf.getPartIndex(a),c=nf.getCharIndex(a),d=nf.getPartIndex(l);let h;u!==d?h=t:h=nf.getCharIndex(l);const m=i-c,f=h-i;return m<=f?o:s}}class _6{constructor(e,t,i){this._renderLineOutputBrand=void 0,this.characterMapping=e,this.containsRTL=t,this.containsForeignElements=i}}function RF(n,e){if(n.lineContent.length===0){if(n.lineDecorations.length>0){e.appendString("");let t=0,i=0,r=0;for(const s of n.lineDecorations)(s.type===1||s.type===2)&&(e.appendString(''),s.type===1&&(r|=1,t++),s.type===2&&(r|=2,i++));e.appendString("");const o=new nf(1,t+i);return o.setColumnInfo(1,t,0,0),new _6(o,!1,r)}return e.appendString(""),new _6(new nf(0,0),!1,0)}return F1t(S1t(n),e)}class v1t{constructor(e,t,i,r){this.characterMapping=e,this.html=t,this.containsRTL=i,this.containsForeignElements=r}}function cZ(n){const e=new Tw(1e4),t=RF(n,e);return new v1t(t.characterMapping,e.build(),t.containsRTL,t.containsForeignElements)}class C1t{constructor(e,t,i,r,o,s,a,l,u,c,d,h,m,f,g,b){this.fontIsMonospace=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=i,this.len=r,this.isOverflowing=o,this.overflowingCharCount=s,this.parts=a,this.containsForeignElements=l,this.fauxIndentLength=u,this.tabSize=c,this.startVisibleColumn=d,this.containsRTL=h,this.spaceWidth=m,this.renderSpaceCharCode=f,this.renderWhitespace=g,this.renderControlCharacters=b}}function S1t(n){const e=n.lineContent;let t,i,r;n.stopRenderingLineAfter!==-1&&n.stopRenderingLineAfter0){for(let a=0,l=n.lineDecorations.length;a0&&(o[s++]=new ys(i,"",0,!1));let a=i;for(let l=0,u=t.getCount();l=r){const m=e?yw(n.substring(a,r)):!1;o[s++]=new ys(r,d,0,m);break}const h=e?yw(n.substring(a,c)):!1;o[s++]=new ys(c,d,0,h),a=c}return o}function x1t(n,e,t){let i=0;const r=[];let o=0;if(t)for(let s=0,a=e.length;s=50&&(r[o++]=new ys(m+1,c,d,h),f=m+1,m=-1);f!==u&&(r[o++]=new ys(u,c,d,h))}else r[o++]=l;i=u}else for(let s=0,a=e.length;s50){const d=l.type,h=l.metadata,m=l.containsRTL,f=Math.ceil(c/50);for(let g=1;g=8234&&n<=8238||n>=8294&&n<=8297||n>=8206&&n<=8207||n===1564}function _1t(n,e){const t=[];let i=new ys(0,"",0,!1),r=0;for(const o of e){const s=o.endIndex;for(;ri.endIndex&&(i=new ys(r,o.type,o.metadata,o.containsRTL),t.push(i)),i=new ys(r+1,"mtkcontrol",o.metadata,!1),t.push(i))}r>i.endIndex&&(i=new ys(s,o.type,o.metadata,o.containsRTL),t.push(i))}return t}function L1t(n,e,t,i){const r=n.continuesWithWrappedLine,o=n.fauxIndentLength,s=n.tabSize,a=n.startVisibleColumn,l=n.useMonospaceOptimizations,u=n.selectionsOnLine,c=n.renderWhitespace===1,d=n.renderWhitespace===3,h=n.renderSpaceWidth!==n.spaceWidth,m=[];let f=0,g=0,b=i[g].type,y=i[g].containsRTL,C=i[g].endIndex;const w=i.length;let x=!1,L=La(e),I;L===-1?(x=!0,L=t,I=t):I=Ih(e);let D=!1,N=0,T=u&&u[N],R=a%s;for(let W=o;W=T.endOffset&&(N++,T=u&&u[N]);let V;if(WI)V=!0;else if(Z===9)V=!0;else if(Z===32)if(c)if(D)V=!0;else{const z=W+1W),V&&d&&(V=x||W>I),V&&y&&W>=L&&W<=I&&(V=!1),D){if(!V||!l&&R>=s){if(h){const z=f>0?m[f-1].endIndex:o;for(let O=z+1;O<=W;O++)m[f++]=new ys(O,"mtkw",1,!1)}else m[f++]=new ys(W,"mtkw",1,!1);R=R%s}}else(W===C||V&&W>o)&&(m[f++]=new ys(W,b,0,y),R=R%s);for(Z===9?R=s:Ob(Z)?R+=2:R++,D=V;W===C&&(g++,g0?e.charCodeAt(t-1):0,Z=t>1?e.charCodeAt(t-2):0;W===32&&Z!==32&&Z!==9||(E=!0)}else E=!0;if(E)if(h){const W=f>0?m[f-1].endIndex:o;for(let Z=W+1;Z<=t;Z++)m[f++]=new ys(Z,"mtkw",1,!1)}else m[f++]=new ys(t,"mtkw",1,!1);else m[f++]=new ys(t,b,0,y);return m}function I1t(n,e,t,i){i.sort(il.compare);const r=y1t.normalize(n,i),o=r.length;let s=0;const a=[];let l=0,u=0;for(let d=0,h=t.length;du&&(u=C.startOffset,a[l++]=new ys(u,g,b,y)),C.endOffset+1<=f)u=C.endOffset+1,a[l++]=new ys(u,g+" "+C.className,b|C.metadata,y),s++;else{u=f,a[l++]=new ys(u,g+" "+C.className,b|C.metadata,y);break}}f>u&&(u=f,a[l++]=new ys(u,g,b,y))}const c=t[t.length-1].endIndex;if(s'):e.appendString("");for(let T=0,R=u.length;T=c&&(M+=Y)}}for(O&&(e.appendString(' style="width:'),e.appendString(String(f*P)),e.appendString('px"')),e.appendASCIICharCode(62);x1?e.appendCharCode(8594):e.appendCharCode(65515);for(let Y=2;Y<=X;Y++)e.appendCharCode(160)}else M=2,X=1,e.appendCharCode(g),e.appendCharCode(8204);I+=M,D+=X,x>=c&&(L+=X)}}else for(e.appendASCIICharCode(62);x=c&&(L+=M)}B?N++:N=0,x>=s&&!w&&E.isPseudoAfter()&&(w=!0,C.setColumnInfo(x+1,T,I,D)),e.appendString("")}return w||C.setColumnInfo(s+1,u.length-1,I,D),a&&(e.appendString(''),e.appendString(_("showMore","Show more ({0})",N1t(l))),e.appendString("")),e.appendString(""),new _6(C,m,r)}function D1t(n){return n.toString(16).toUpperCase().padStart(4,"0")}function N1t(n){return n<1024?_("overflow.chars","{0} chars",n):n<1024*1024?`${(n/1024).toFixed(1)} KB`:`${(n/1024/1024).toFixed(1)} MB`}var Gc;(function(n){n.DARK="dark",n.LIGHT="light",n.HIGH_CONTRAST_DARK="hcDark",n.HIGH_CONTRAST_LIGHT="hcLight"})(Gc||(Gc={}));function rf(n){return n===Gc.HIGH_CONTRAST_DARK||n===Gc.HIGH_CONTRAST_LIGHT}function dZ(n){return n===Gc.DARK||n===Gc.HIGH_CONTRAST_DARK}const M1t=function(){return wh?!0:!(Ja||Ic||Sg)}();let t2=!0;class Dye{constructor(e,t){this.themeType=t;const i=e.options,r=i.get(50);i.get(38)==="off"?this.renderWhitespace=i.get(99):this.renderWhitespace="none",this.renderControlCharacters=i.get(94),this.spaceWidth=r.spaceWidth,this.middotWidth=r.middotWidth,this.wsmiddotWidth=r.wsmiddotWidth,this.useMonospaceOptimizations=r.isMonospace&&!i.get(33),this.canUseHalfwidthRightwardsArrow=r.canUseHalfwidthRightwardsArrow,this.lineHeight=i.get(67),this.stopRenderingLineAfter=i.get(117),this.fontLigatures=i.get(51)}equals(e){return this.themeType===e.themeType&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.fontLigatures===e.fontLigatures}}class of{constructor(e){this._options=e,this._isMaybeInvalid=!0,this._renderedViewLine=null}getDomNode(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null}setDomNode(e){if(this._renderedViewLine)this._renderedViewLine.domNode=wi(e);else throw new Error("I have no rendered view line to set the dom node to...")}onContentChanged(){this._isMaybeInvalid=!0}onTokensChanged(){this._isMaybeInvalid=!0}onDecorationsChanged(){this._isMaybeInvalid=!0}onOptionsChanged(e){this._isMaybeInvalid=!0,this._options=e}onSelectionChanged(){return rf(this._options.themeType)||this._options.renderWhitespace==="selection"?(this._isMaybeInvalid=!0,!0):!1}renderLine(e,t,i,r,o){if(this._isMaybeInvalid===!1)return!1;this._isMaybeInvalid=!1;const s=r.getViewLineRenderingData(e),a=this._options,l=il.filter(s.inlineDecorations,e,s.minColumn,s.maxColumn);let u=null;if(rf(a.themeType)||this._options.renderWhitespace==="selection"){const m=r.selections;for(const f of m){if(f.endLineNumbere)continue;const g=f.startLineNumber===e?f.startColumn:s.minColumn,b=f.endLineNumber===e?f.endColumn:s.maxColumn;g');const d=RF(c,o);o.appendString("");let h=null;return t2&&M1t&&s.isBasicASCII&&a.useMonospaceOptimizations&&d.containsForeignElements===0&&(h=new hZ(this._renderedViewLine?this._renderedViewLine.domNode:null,c,d.characterMapping)),h||(h=Mye(this._renderedViewLine?this._renderedViewLine.domNode:null,c,d.characterMapping,d.containsRTL,d.containsForeignElements)),this._renderedViewLine=h,!0}layoutLine(e,t,i){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(t),this._renderedViewLine.domNode.setHeight(i))}getWidth(e){return this._renderedViewLine?this._renderedViewLine.getWidth(e):0}getWidthIsFast(){return this._renderedViewLine?this._renderedViewLine.getWidthIsFast():!0}needsMonospaceFontCheck(){return this._renderedViewLine?this._renderedViewLine instanceof hZ:!1}monospaceAssumptionsAreValid(){return this._renderedViewLine&&this._renderedViewLine instanceof hZ?this._renderedViewLine.monospaceAssumptionsAreValid():t2}onMonospaceAssumptionsInvalidated(){this._renderedViewLine&&this._renderedViewLine instanceof hZ&&(this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine())}getVisibleRangesForRange(e,t,i,r){if(!this._renderedViewLine)return null;t=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,t)),i=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,i));const o=this._renderedViewLine.input.stopRenderingLineAfter;if(o!==-1&&t>o+1&&i>o+1)return new xye(!0,[new uv(this.getWidth(r),0)]);o!==-1&&t>o+1&&(t=o+1),o!==-1&&i>o+1&&(i=o+1);const s=this._renderedViewLine.getVisibleRangesForRange(e,t,i,r);return s&&s.length>0?new xye(!1,s):null}getColumnOfNodeOffset(e,t){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(e,t):1}}of.CLASS_NAME="view-line";class hZ{constructor(e,t,i){this._cachedWidth=-1,this.domNode=e,this.input=t;const r=Math.floor(t.lineContent.length/300);if(r>0){this._keyColumnPixelOffsetCache=new Float32Array(r);for(let o=0;o=2&&(t2=!1)}return t2}toSlowRenderedLine(){return Mye(this.domNode,this.input,this._characterMapping,!1,0)}getVisibleRangesForRange(e,t,i,r){const o=this._getColumnPixelOffset(e,t,r),s=this._getColumnPixelOffset(e,i,r);return[new uv(o,s-o)]}_getColumnPixelOffset(e,t,i){if(t<=300){const u=this._characterMapping.getHorizontalOffset(t);return this._charWidth*u}const r=Math.floor((t-1)/300)-1,o=(r+1)*300+1;let s=-1;if(this._keyColumnPixelOffsetCache&&(s=this._keyColumnPixelOffsetCache[r],s===-1&&(s=this._actualReadPixelOffset(e,o,i),this._keyColumnPixelOffsetCache[r]=s)),s===-1){const u=this._characterMapping.getHorizontalOffset(t);return this._charWidth*u}const a=this._characterMapping.getHorizontalOffset(o),l=this._characterMapping.getHorizontalOffset(t);return s+this._charWidth*(l-a)}_getReadingTarget(e){return e.domNode.firstChild}_actualReadPixelOffset(e,t,i){if(!this.domNode)return-1;const r=this._characterMapping.getDomPosition(t),o=lZ.readHorizontalRanges(this._getReadingTarget(this.domNode),r.partIndex,r.charIndex,r.partIndex,r.charIndex,i);return!o||o.length===0?-1:o[0].left}getColumnOfNodeOffset(e,t){return L6(this._characterMapping,e,t)}}class Nye{constructor(e,t,i,r,o){if(this.domNode=e,this.input=t,this._characterMapping=i,this._isWhitespaceOnly=/^\s*$/.test(t.lineContent),this._containsForeignElements=o,this._cachedWidth=-1,this._pixelOffsetCache=null,!r||this._characterMapping.length===0){this._pixelOffsetCache=new Float32Array(Math.max(2,this._characterMapping.length+1));for(let s=0,a=this._characterMapping.length;s<=a;s++)this._pixelOffsetCache[s]=-1}}_getReadingTarget(e){return e.domNode.firstChild}getWidth(e){return this.domNode?(this._cachedWidth===-1&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth,e==null||e.markDidDomLayout()),this._cachedWidth):0}getWidthIsFast(){return this._cachedWidth!==-1}getVisibleRangesForRange(e,t,i,r){if(!this.domNode)return null;if(this._pixelOffsetCache!==null){const o=this._readPixelOffset(this.domNode,e,t,r);if(o===-1)return null;const s=this._readPixelOffset(this.domNode,e,i,r);return s===-1?null:[new uv(o,s-o)]}return this._readVisibleRangesForRange(this.domNode,e,t,i,r)}_readVisibleRangesForRange(e,t,i,r,o){if(i===r){const s=this._readPixelOffset(e,t,i,o);return s===-1?null:[new uv(s,0)]}else return this._readRawVisibleRangesForRange(e,i,r,o)}_readPixelOffset(e,t,i,r){if(this._characterMapping.length===0){if(this._containsForeignElements===0||this._containsForeignElements===2)return 0;if(this._containsForeignElements===1)return this.getWidth(r);const o=this._getReadingTarget(e);return o.firstChild?(r.markDidDomLayout(),o.firstChild.offsetWidth):0}if(this._pixelOffsetCache!==null){const o=this._pixelOffsetCache[i];if(o!==-1)return o;const s=this._actualReadPixelOffset(e,t,i,r);return this._pixelOffsetCache[i]=s,s}return this._actualReadPixelOffset(e,t,i,r)}_actualReadPixelOffset(e,t,i,r){if(this._characterMapping.length===0){const l=lZ.readHorizontalRanges(this._getReadingTarget(e),0,0,0,0,r);return!l||l.length===0?-1:l[0].left}if(i===this._characterMapping.length&&this._isWhitespaceOnly&&this._containsForeignElements===0)return this.getWidth(r);const o=this._characterMapping.getDomPosition(i),s=lZ.readHorizontalRanges(this._getReadingTarget(e),o.partIndex,o.charIndex,o.partIndex,o.charIndex,r);if(!s||s.length===0)return-1;const a=s[0].left;if(this.input.isBasicASCII){const l=this._characterMapping.getHorizontalOffset(i),u=Math.round(this.input.spaceWidth*l);if(Math.abs(u-a)<=1)return u}return a}_readRawVisibleRangesForRange(e,t,i,r){if(t===1&&i===this._characterMapping.length)return[new uv(0,this.getWidth(r))];const o=this._characterMapping.getDomPosition(t),s=this._characterMapping.getDomPosition(i);return lZ.readHorizontalRanges(this._getReadingTarget(e),o.partIndex,o.charIndex,s.partIndex,s.charIndex,r)}getColumnOfNodeOffset(e,t){return L6(this._characterMapping,e,t)}}class k1t extends Nye{_readVisibleRangesForRange(e,t,i,r,o){const s=super._readVisibleRangesForRange(e,t,i,r,o);if(!s||s.length===0||i===r||i===1&&r===this._characterMapping.length)return s;if(!this.input.containsRTL){const a=this._readPixelOffset(e,t,r,o);if(a!==-1){const l=s[s.length-1];l.left=4&&e[0]===3&&e[3]===8}static isStrictChildOfViewLines(e){return e.length>4&&e[0]===3&&e[3]===8}static isChildOfScrollableElement(e){return e.length>=2&&e[0]===3&&e[1]===6}static isChildOfMinimap(e){return e.length>=2&&e[0]===3&&e[1]===9}static isChildOfContentWidgets(e){return e.length>=4&&e[0]===3&&e[3]===1}static isChildOfOverflowGuard(e){return e.length>=1&&e[0]===3}static isChildOfOverflowingContentWidgets(e){return e.length>=1&&e[0]===2}static isChildOfOverlayWidgets(e){return e.length>=2&&e[0]===3&&e[1]===4}static isChildOfOverflowingOverlayWidgets(e){return e.length>=1&&e[0]===5}}class n2{constructor(e,t,i){this.viewModel=e.viewModel;const r=e.configuration.options;this.layoutInfo=r.get(145),this.viewDomNode=t.viewDomNode,this.lineHeight=r.get(67),this.stickyTabStops=r.get(116),this.typicalHalfwidthCharacterWidth=r.get(50).typicalHalfwidthCharacterWidth,this.lastRenderData=i,this._context=e,this._viewHelper=t}getZoneAtCoord(e){return n2.getZoneAtCoord(this._context,e)}static getZoneAtCoord(e,t){const i=e.viewLayout.getWhitespaceAtVerticalOffset(t);if(i){const r=i.verticalOffset+i.height/2,o=e.viewModel.getLineCount();let s=null,a,l=null;return i.afterLineNumber!==o&&(l=new ve(i.afterLineNumber+1,1)),i.afterLineNumber>0&&(s=new ve(i.afterLineNumber,e.viewModel.getLineMaxColumn(i.afterLineNumber))),l===null?a=s:s===null?a=l:t=e.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,Na._getMouseColumn(this.mouseContentHorizontalOffset,e.typicalHalfwidthCharacterWidth))}}class W1t extends Z1t{get target(){return this._useHitTestTarget?this.hitTestResult.value.hitTarget:this._eventTarget}get targetPath(){return this._targetPathCacheElement!==this.target&&(this._targetPathCacheElement=this.target,this._targetPathCacheValue=Xh.collect(this.target,this._ctx.viewDomNode)),this._targetPathCacheValue}constructor(e,t,i,r,o){super(e,t,i,r),this.hitTestResult=new Lh(()=>Na.doHitTest(this._ctx,this)),this._targetPathCacheElement=null,this._targetPathCacheValue=new Uint8Array(0),this._ctx=e,this._eventTarget=o;const s=!!this._eventTarget;this._useHitTestTarget=!s}toString(){return`pos(${this.pos.x},${this.pos.y}), editorPos(${this.editorPos.x},${this.editorPos.y}), relativePos(${this.relativePos.x},${this.relativePos.y}), mouseVerticalOffset: ${this.mouseVerticalOffset}, mouseContentHorizontalOffset: ${this.mouseContentHorizontalOffset} + target: ${this.target?this.target.outerHTML:null}`}get wouldBenefitFromHitTestTargetSwitch(){return!this._useHitTestTarget&&this.hitTestResult.value.hitTarget!==null&&this.target!==this.hitTestResult.value.hitTarget}switchToHitTestTarget(){this._useHitTestTarget=!0}_getMouseColumn(e=null){return e&&e.columns.contentLeft+s.width)continue;const a=e.getVerticalOffsetForLineNumber(s.position.lineNumber);if(a<=o&&o<=a+s.height)return t.fulfillContentText(s.position,null,{mightBeForeignElement:!1,injectedText:null})}}return null}static _hitTestViewZone(e,t){const i=e.getZoneAtCoord(t.mouseVerticalOffset);if(i){const r=t.isInContentArea?8:5;return t.fulfillViewZone(r,i.position,i)}return null}static _hitTestTextArea(e,t){return rl.isTextArea(t.targetPath)?e.lastRenderData.lastTextareaPosition?t.fulfillContentText(e.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:!1,injectedText:null}):t.fulfillTextarea():null}static _hitTestMargin(e,t){if(t.isInMarginArea){const i=e.getFullLineRangeAtCoord(t.mouseVerticalOffset),r=i.range.getStartPosition();let o=Math.abs(t.relativePos.x);const s={isAfterLines:i.isAfterLines,glyphMarginLeft:e.layoutInfo.glyphMarginLeft,glyphMarginWidth:e.layoutInfo.glyphMarginWidth,lineNumbersWidth:e.layoutInfo.lineNumbersWidth,offsetX:o};if(o-=e.layoutInfo.glyphMarginLeft,o<=e.layoutInfo.glyphMarginWidth){const a=e.viewModel.coordinatesConverter.convertViewPositionToModelPosition(i.range.getStartPosition()),l=e.viewModel.glyphLanes.getLanesAtLine(a.lineNumber);return s.glyphMarginLane=l[Math.floor(o/e.lineHeight)],t.fulfillMargin(2,r,i.range,s)}return o-=e.layoutInfo.glyphMarginWidth,o<=e.layoutInfo.lineNumbersWidth?t.fulfillMargin(3,r,i.range,s):(o-=e.layoutInfo.lineNumbersWidth,t.fulfillMargin(4,r,i.range,s))}return null}static _hitTestViewLines(e,t){if(!rl.isChildOfViewLines(t.targetPath))return null;if(e.isInTopPadding(t.mouseVerticalOffset))return t.fulfillContentEmpty(new ve(1,1),Tye);if(e.isAfterLines(t.mouseVerticalOffset)||e.isInBottomPadding(t.mouseVerticalOffset)){const r=e.viewModel.getLineCount(),o=e.viewModel.getLineMaxColumn(r);return t.fulfillContentEmpty(new ve(r,o),Tye)}if(rl.isStrictChildOfViewLines(t.targetPath)){const r=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset);if(e.viewModel.getLineLength(r)===0){const s=e.getLineWidth(r),a=I6(t.mouseContentHorizontalOffset-s);return t.fulfillContentEmpty(new ve(r,1),a)}const o=e.getLineWidth(r);if(t.mouseContentHorizontalOffset>=o){const s=I6(t.mouseContentHorizontalOffset-o),a=new ve(r,e.viewModel.getLineMaxColumn(r));return t.fulfillContentEmpty(a,s)}}const i=t.hitTestResult.value;return i.type===1?Na.createMouseTargetFromHitTestPosition(e,t,i.spanNode,i.position,i.injectedText):t.wouldBenefitFromHitTestTargetSwitch?(t.switchToHitTestTarget(),this._createMouseTarget(e,t)):t.fulfillUnknown()}static _hitTestMinimap(e,t){if(rl.isChildOfMinimap(t.targetPath)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),r=e.viewModel.getLineMaxColumn(i);return t.fulfillScrollbar(new ve(i,r))}return null}static _hitTestScrollbarSlider(e,t){if(rl.isChildOfScrollableElement(t.targetPath)&&t.target&&t.target.nodeType===1){const i=t.target.className;if(i&&/\b(slider|scrollbar)\b/.test(i)){const r=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),o=e.viewModel.getLineMaxColumn(r);return t.fulfillScrollbar(new ve(r,o))}}return null}static _hitTestScrollbar(e,t){if(rl.isChildOfScrollableElement(t.targetPath)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),r=e.viewModel.getLineMaxColumn(i);return t.fulfillScrollbar(new ve(i,r))}return null}getMouseColumn(e){const t=this._context.configuration.options,i=t.get(145),r=this._context.viewLayout.getCurrentScrollLeft()+e.x-i.contentLeft;return Na._getMouseColumn(r,t.get(50).typicalHalfwidthCharacterWidth)}static _getMouseColumn(e,t){return e<0?1:Math.round(e/t)+1}static createMouseTargetFromHitTestPosition(e,t,i,r,o){const s=r.lineNumber,a=r.column,l=e.getLineWidth(s);if(t.mouseContentHorizontalOffset>l){const y=I6(t.mouseContentHorizontalOffset-l);return t.fulfillContentEmpty(r,y)}const u=e.visibleRangeForPosition(s,a);if(!u)return t.fulfillUnknown(r);const c=u.left;if(Math.abs(t.mouseContentHorizontalOffset-c)<1)return t.fulfillContentText(r,null,{mightBeForeignElement:!!o,injectedText:o});const d=[];if(d.push({offset:u.left,column:a}),a>1){const y=e.visibleRangeForPosition(s,a-1);y&&d.push({offset:y.left,column:a-1})}const h=e.viewModel.getLineMaxColumn(s);if(ay.offset-C.offset);const m=t.pos.toClientCoordinates(Qt(e.viewDomNode)),f=i.getBoundingClientRect(),g=f.left<=m.clientX&&m.clientX<=f.right;let b=null;for(let y=1;yo)){const a=Math.floor((r+o)/2);let l=t.pos.y+(a-t.mouseVerticalOffset);l<=t.editorPos.y&&(l=t.editorPos.y+1),l>=t.editorPos.y+t.editorPos.height&&(l=t.editorPos.y+t.editorPos.height-1);const u=new sZ(t.pos.x,l),c=this._actualDoHitTestWithCaretRangeFromPoint(e,u.toClientCoordinates(Qt(e.viewDomNode)));if(c.type===1)return c}return this._actualDoHitTestWithCaretRangeFromPoint(e,t.pos.toClientCoordinates(Qt(e.viewDomNode)))}static _actualDoHitTestWithCaretRangeFromPoint(e,t){const i=Yy(e.viewDomNode);let r;if(i?typeof i.caretRangeFromPoint>"u"?r=A1t(i,t.clientX,t.clientY):r=i.caretRangeFromPoint(t.clientX,t.clientY):r=e.viewDomNode.ownerDocument.caretRangeFromPoint(t.clientX,t.clientY),!r||!r.startContainer)return new c0;const o=r.startContainer;if(o.nodeType===o.TEXT_NODE){const s=o.parentNode,a=s?s.parentNode:null,l=a?a.parentNode:null;return(l&&l.nodeType===l.ELEMENT_NODE?l.className:null)===of.CLASS_NAME?cv.createFromDOMInfo(e,s,r.startOffset):new c0(o.parentNode)}else if(o.nodeType===o.ELEMENT_NODE){const s=o.parentNode,a=s?s.parentNode:null;return(a&&a.nodeType===a.ELEMENT_NODE?a.className:null)===of.CLASS_NAME?cv.createFromDOMInfo(e,o,o.textContent.length):new c0(o)}return new c0}static _doHitTestWithCaretPositionFromPoint(e,t){const i=e.viewDomNode.ownerDocument.caretPositionFromPoint(t.clientX,t.clientY);if(i.offsetNode.nodeType===i.offsetNode.TEXT_NODE){const r=i.offsetNode.parentNode,o=r?r.parentNode:null,s=o?o.parentNode:null;return(s&&s.nodeType===s.ELEMENT_NODE?s.className:null)===of.CLASS_NAME?cv.createFromDOMInfo(e,i.offsetNode.parentNode,i.offset):new c0(i.offsetNode.parentNode)}if(i.offsetNode.nodeType===i.offsetNode.ELEMENT_NODE){const r=i.offsetNode.parentNode,o=r&&r.nodeType===r.ELEMENT_NODE?r.className:null,s=r?r.parentNode:null,a=s&&s.nodeType===s.ELEMENT_NODE?s.className:null;if(o===of.CLASS_NAME){const l=i.offsetNode.childNodes[Math.min(i.offset,i.offsetNode.childNodes.length-1)];if(l)return cv.createFromDOMInfo(e,l,0)}else if(a===of.CLASS_NAME)return cv.createFromDOMInfo(e,i.offsetNode,0)}return new c0(i.offsetNode)}static _snapToSoftTabBoundary(e,t){const i=t.getLineContent(e.lineNumber),{tabSize:r}=t.model.getOptions(),o=lF.atomicPosition(i,e.column-1,r,2);return o!==-1?new ve(e.lineNumber,o+1):e}static doHitTest(e,t){let i=new c0;if(typeof e.viewDomNode.ownerDocument.caretRangeFromPoint=="function"?i=this._doHitTestWithCaretRangeFromPoint(e,t):e.viewDomNode.ownerDocument.caretPositionFromPoint&&(i=this._doHitTestWithCaretPositionFromPoint(e,t.pos.toClientCoordinates(Qt(e.viewDomNode)))),i.type===1){const r=e.viewModel.getInjectedTextAt(i.position),o=e.viewModel.normalizePosition(i.position,2);(r||!o.equals(i.position))&&(i=new kye(o,i.spanNode,r))}return i}}function A1t(n,e,t){const i=document.createRange();let r=n.elementFromPoint(e,t);if(r!==null){for(;r&&r.firstChild&&r.firstChild.nodeType!==r.firstChild.TEXT_NODE&&r.lastChild&&r.lastChild.firstChild;)r=r.lastChild;const o=r.getBoundingClientRect(),s=Qt(r),a=s.getComputedStyle(r,null).getPropertyValue("font-style"),l=s.getComputedStyle(r,null).getPropertyValue("font-variant"),u=s.getComputedStyle(r,null).getPropertyValue("font-weight"),c=s.getComputedStyle(r,null).getPropertyValue("font-size"),d=s.getComputedStyle(r,null).getPropertyValue("line-height"),h=s.getComputedStyle(r,null).getPropertyValue("font-family"),m=`${a} ${l} ${u} ${c}/${d} ${h}`,f=r.innerText;let g=o.left,b=0,y;if(e>o.left+o.width)b=f.length;else{const C=dv.getInstance();for(let w=0;w=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},tr;(function(n){n.Tap="-monaco-gesturetap",n.Change="-monaco-gesturechange",n.Start="-monaco-gesturestart",n.End="-monaco-gesturesend",n.Contextmenu="-monaco-gesturecontextmenu"})(tr||(tr={}));class nr extends Fe{constructor(){super(),this.dispatched=!1,this.targets=new ja,this.ignoreTargets=new ja,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(lt.runAndSubscribe(r9,({window:e,disposables:t})=>{t.add(Ve(e.document,"touchstart",i=>this.onTouchStart(i),{passive:!1})),t.add(Ve(e.document,"touchend",i=>this.onTouchEnd(e,i))),t.add(Ve(e.document,"touchmove",i=>this.onTouchMove(i),{passive:!1}))},{window:Zi,disposables:this._store}))}static addTarget(e){if(!nr.isTouchDevice())return Fe.None;nr.INSTANCE||(nr.INSTANCE=new nr);const t=nr.INSTANCE.targets.push(e);return jt(t)}static ignoreTarget(e){if(!nr.isTouchDevice())return Fe.None;nr.INSTANCE||(nr.INSTANCE=new nr);const t=nr.INSTANCE.ignoreTargets.push(e);return jt(t)}static isTouchDevice(){return"ontouchstart"in Zi||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(e){const t=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let i=0,r=e.targetTouches.length;i=nr.HOLD_DELAY&&Math.abs(l.initialPageX-kc(l.rollingPageX))<30&&Math.abs(l.initialPageY-kc(l.rollingPageY))<30){const c=this.newGestureEvent(tr.Contextmenu,l.initialTarget);c.pageX=kc(l.rollingPageX),c.pageY=kc(l.rollingPageY),this.dispatchEvent(c)}else if(r===1){const c=kc(l.rollingPageX),d=kc(l.rollingPageY),h=kc(l.rollingTimestamps)-l.rollingTimestamps[0],m=c-l.rollingPageX[0],f=d-l.rollingPageY[0],g=[...this.targets].filter(b=>l.initialTarget instanceof Node&&b.contains(l.initialTarget));this.inertia(e,g,i,Math.abs(m)/h,m>0?1:-1,c,Math.abs(f)/h,f>0?1:-1,d)}this.dispatchEvent(this.newGestureEvent(tr.End,l.initialTarget)),delete this.activeTouches[a.identifier]}this.dispatched&&(t.preventDefault(),t.stopPropagation(),this.dispatched=!1)}newGestureEvent(e,t){const i=document.createEvent("CustomEvent");return i.initEvent(e,!1,!0),i.initialTarget=t,i.tapCount=0,i}dispatchEvent(e){if(e.type===tr.Tap){const t=new Date().getTime();let i=0;t-this._lastSetTapCountTime>nr.CLEAR_TAP_COUNT_TIME?i=1:i=2,this._lastSetTapCountTime=t,e.tapCount=i}else(e.type===tr.Change||e.type===tr.Contextmenu)&&(this._lastSetTapCountTime=0);if(e.initialTarget instanceof Node){for(const i of this.ignoreTargets)if(i.contains(e.initialTarget))return;const t=[];for(const i of this.targets)if(i.contains(e.initialTarget)){let r=0,o=e.initialTarget;for(;o&&o!==i;)r++,o=o.parentElement;t.push([r,i])}t.sort((i,r)=>i[0]-r[0]);for(const[i,r]of t)r.dispatchEvent(e),this.dispatched=!0}}inertia(e,t,i,r,o,s,a,l,u){this.handle=au(e,()=>{const c=Date.now(),d=c-i;let h=0,m=0,f=!0;r+=nr.SCROLL_FRICTION*d,a+=nr.SCROLL_FRICTION*d,r>0&&(f=!1,h=o*r*d),a>0&&(f=!1,m=l*a*d);const g=this.newGestureEvent(tr.Change);g.translationX=h,g.translationY=m,t.forEach(b=>b.dispatchEvent(g)),f||this.inertia(e,t,c,r,o,s+h,a,l,u+m)})}onTouchMove(e){const t=Date.now();for(let i=0,r=e.changedTouches.length;i3&&(s.rollingPageX.shift(),s.rollingPageY.shift(),s.rollingTimestamps.shift()),s.rollingPageX.push(o.pageX),s.rollingPageY.push(o.pageY),s.rollingTimestamps.push(t)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}}nr.SCROLL_FRICTION=-.005,nr.HOLD_DELAY=700,nr.CLEAR_TAP_COUNT_TIME=400,V1t([io],nr,"isTouchDevice",null);let Hu=class extends Fe{onclick(e,t){this._register(Ve(e,ot.CLICK,i=>t(new xd(Qt(e),i))))}onmousedown(e,t){this._register(Ve(e,ot.MOUSE_DOWN,i=>t(new xd(Qt(e),i))))}onmouseover(e,t){this._register(Ve(e,ot.MOUSE_OVER,i=>t(new xd(Qt(e),i))))}onmouseleave(e,t){this._register(Ve(e,ot.MOUSE_LEAVE,i=>t(new xd(Qt(e),i))))}onkeydown(e,t){this._register(Ve(e,ot.KEY_DOWN,i=>t(new or(i))))}onkeyup(e,t){this._register(Ve(e,ot.KEY_UP,i=>t(new or(i))))}oninput(e,t){this._register(Ve(e,ot.INPUT,t))}onblur(e,t){this._register(Ve(e,ot.BLUR,t))}onfocus(e,t){this._register(Ve(e,ot.FOCUS,t))}ignoreGesture(e){return nr.ignoreTarget(e)}};const i2=11;class G1t extends Hu{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=e.bgWidth+"px",this.bgDomNode.style.height=e.bgHeight+"px",typeof e.top<"u"&&(this.bgDomNode.style.top="0px"),typeof e.left<"u"&&(this.bgDomNode.style.left="0px"),typeof e.bottom<"u"&&(this.bgDomNode.style.bottom="0px"),typeof e.right<"u"&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=e.className,this.domNode.classList.add(...sn.asClassNameArray(e.icon)),this.domNode.style.position="absolute",this.domNode.style.width=i2+"px",this.domNode.style.height=i2+"px",typeof e.top<"u"&&(this.domNode.style.top=e.top+"px"),typeof e.left<"u"&&(this.domNode.style.left=e.left+"px"),typeof e.bottom<"u"&&(this.domNode.style.bottom=e.bottom+"px"),typeof e.right<"u"&&(this.domNode.style.right=e.right+"px"),this._pointerMoveMonitor=this._register(new Yw),this._register(Gr(this.bgDomNode,ot.POINTER_DOWN,t=>this._arrowPointerDown(t))),this._register(Gr(this.domNode,ot.POINTER_DOWN,t=>this._arrowPointerDown(t))),this._pointerdownRepeatTimer=this._register(new bY),this._pointerdownScheduleRepeatTimer=this._register(new Id)}_arrowPointerDown(e){if(!e.target||!(e.target instanceof Element))return;const t=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,Qt(e))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(t,200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,i=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),e.preventDefault()}}class X1t extends Fe{constructor(e,t,i){super(),this._visibility=e,this._visibleClassName=t,this._invisibleClassName=i,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new Id)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this._updateShouldBeVisible())}setShouldBeVisible(e){this._rawShouldBeVisible=e,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3?!0:this._rawShouldBeVisible}_updateShouldBeVisible(){const e=this._applyVisibilitySetting();this._shouldBeVisible!==e&&(this._shouldBeVisible=e,this.ensureVisibility())}setIsNeeded(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())}setDomNode(e){this._domNode=e,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){if(!this._isNeeded){this._hide(!1);return}this._shouldBeVisible?this._reveal():this._hide(!0)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{var e;(e=this._domNode)===null||e===void 0||e.setClassName(this._visibleClassName)},0))}_hide(e){var t;this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,(t=this._domNode)===null||t===void 0||t.setClassName(this._invisibleClassName+(e?" fade":"")))}}const P1t=140;class Eye extends Hu{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new X1t(e.visibility,"visible scrollbar "+e.extraScrollbarClassName,"invisible scrollbar "+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new Yw),this._shouldRender=!0,this.domNode=wi(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this._register(Ve(this.domNode.domNode,ot.POINTER_DOWN,t=>this._domNodePointerDown(t)))}_createArrow(e){const t=this._register(new G1t(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,i,r){this.slider=wi(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(e),this.slider.setLeft(t),typeof i=="number"&&this.slider.setWidth(i),typeof r=="number"&&this.slider.setHeight(r),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(Ve(this.slider.domNode,ot.POINTER_DOWN,o=>{o.button===0&&(o.preventDefault(),this._sliderPointerDown(o))})),this.onclick(this.slider.domNode,o=>{o.leftButton&&o.stopPropagation()})}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(e){e.target===this.domNode.domNode&&this._onPointerDown(e)}delegatePointerDown(e){const t=this.domNode.domNode.getClientRects()[0].top,i=t+this._scrollbarState.getSliderPosition(),r=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),o=this._sliderPointerPosition(e);i<=o&&o<=r?e.button===0&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let t,i;if(e.target===this.domNode.domNode&&typeof e.offsetX=="number"&&typeof e.offsetY=="number")t=e.offsetX,i=e.offsetY;else{const o=po(this.domNode.domNode);t=e.pageX-o.left,i=e.pageY-o.top}const r=this._pointerDownRelativePosition(t,i);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(r):this._scrollbarState.getDesiredScrollPositionFromOffset(r)),e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!e.target||!(e.target instanceof Element))return;const t=this._sliderPointerPosition(e),i=this._sliderOrthogonalPointerPosition(e),r=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,o=>{const s=this._sliderOrthogonalPointerPosition(o),a=Math.abs(s-i);if(ha&&a>P1t){this._setDesiredScrollPositionNow(r.getScrollPosition());return}const u=this._sliderPointerPosition(o)-t;this._setDesiredScrollPositionNow(r.getDesiredScrollPositionFromDelta(u))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(e){const t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}}const O1t=20;class r2{constructor(e,t,i,r,o,s){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(i),this._arrowSize=Math.round(e),this._visibleSize=r,this._scrollSize=o,this._scrollPosition=s,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new r2(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){const t=Math.round(e);return this._visibleSize!==t?(this._visibleSize=t,this._refreshComputedValues(),!0):!1}setScrollSize(e){const t=Math.round(e);return this._scrollSize!==t?(this._scrollSize=t,this._refreshComputedValues(),!0):!1}setScrollPosition(e){const t=Math.round(e);return this._scrollPosition!==t?(this._scrollPosition=t,this._refreshComputedValues(),!0):!1}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,t,i,r,o){const s=Math.max(0,i-e),a=Math.max(0,s-2*t),l=r>0&&r>i;if(!l)return{computedAvailableSize:Math.round(s),computedIsNeeded:l,computedSliderSize:Math.round(a),computedSliderRatio:0,computedSliderPosition:0};const u=Math.round(Math.max(O1t,Math.floor(i*a/r))),c=(a-u)/(r-i),d=o*c;return{computedAvailableSize:Math.round(s),computedIsNeeded:l,computedSliderSize:Math.round(u),computedSliderRatio:c,computedSliderPosition:Math.round(d)}}_refreshComputedValues(){const e=r2._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=e.computedAvailableSize,this._computedIsNeeded=e.computedIsNeeded,this._computedSliderSize=e.computedSliderSize,this._computedSliderRatio=e.computedSliderRatio,this._computedSliderPosition=e.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(e){if(!this._computedIsNeeded)return 0;const t=e-this._arrowSize-this._computedSliderSize/2;return Math.round(t/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;const t=e-this._arrowSize;let i=this._scrollPosition;return tthis._host.onMouseWheel(new Py(null,1,0))}),this._createArrow({className:"scra",icon:ut.scrollbarButtonRight,top:a,left:void 0,bottom:void 0,right:s,bgWidth:t.arrowSize,bgHeight:t.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new Py(null,-1,0))})}this._createSlider(Math.floor((t.horizontalScrollbarSize-t.horizontalSliderSize)/2),0,void 0,t.horizontalSliderSize)}_updateSlider(e,t){this.slider.setWidth(e),this.slider.setLeft(t)}_renderDomNode(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return e}_sliderPointerPosition(e){return e.pageX}_sliderOrthogonalPointerPosition(e){return e.pageY}_updateScrollbarSize(e){this.slider.setHeight(e)}writeScrollPosition(e,t){e.scrollLeft=t}updateOptions(e){this.updateScrollbarSize(e.horizontal===2?0:e.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._visibilityController.setVisibility(e.horizontal),this._scrollByPage=e.scrollByPage}}class z1t extends Eye{constructor(e,t,i){const r=e.getScrollDimensions(),o=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:i,scrollbarState:new r2(t.verticalHasArrows?t.arrowSize:0,t.vertical===2?0:t.verticalScrollbarSize,0,r.height,r.scrollHeight,o.scrollTop),visibility:t.vertical,extraScrollbarClassName:"vertical",scrollable:e,scrollByPage:t.scrollByPage}),t.verticalHasArrows){const s=(t.arrowSize-i2)/2,a=(t.verticalScrollbarSize-i2)/2;this._createArrow({className:"scra",icon:ut.scrollbarButtonUp,top:s,left:a,bottom:void 0,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new Py(null,0,1))}),this._createArrow({className:"scra",icon:ut.scrollbarButtonDown,top:void 0,left:a,bottom:s,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new Py(null,0,-1))})}this._createSlider(0,Math.floor((t.verticalScrollbarSize-t.verticalSliderSize)/2),t.verticalSliderSize,void 0)}_updateSlider(e,t){this.slider.setHeight(e),this.slider.setTop(t)}_renderDomNode(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return t}_sliderPointerPosition(e){return e.pageY}_sliderOrthogonalPointerPosition(e){return e.pageX}_updateScrollbarSize(e){this.slider.setWidth(e)}writeScrollPosition(e,t){e.scrollTop=t}updateOptions(e){this.updateScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(e.vertical),this._scrollByPage=e.scrollByPage}}class mZ{constructor(e,t,i,r,o,s,a){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(t=t|0,i=i|0,r=r|0,o=o|0,s=s|0,a=a|0),this.rawScrollLeft=r,this.rawScrollTop=a,t<0&&(t=0),r+t>i&&(r=i-t),r<0&&(r=0),o<0&&(o=0),a+o>s&&(a=s-o),a<0&&(a=0),this.width=t,this.scrollWidth=i,this.scrollLeft=r,this.height=o,this.scrollHeight=s,this.scrollTop=a}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(e,t){return new mZ(this._forceIntegerValues,typeof e.width<"u"?e.width:this.width,typeof e.scrollWidth<"u"?e.scrollWidth:this.scrollWidth,t?this.rawScrollLeft:this.scrollLeft,typeof e.height<"u"?e.height:this.height,typeof e.scrollHeight<"u"?e.scrollHeight:this.scrollHeight,t?this.rawScrollTop:this.scrollTop)}withScrollPosition(e){return new mZ(this._forceIntegerValues,this.width,this.scrollWidth,typeof e.scrollLeft<"u"?e.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof e.scrollTop<"u"?e.scrollTop:this.rawScrollTop)}createScrollEvent(e,t){const i=this.width!==e.width,r=this.scrollWidth!==e.scrollWidth,o=this.scrollLeft!==e.scrollLeft,s=this.height!==e.height,a=this.scrollHeight!==e.scrollHeight,l=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:t,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:i,scrollWidthChanged:r,scrollLeftChanged:o,heightChanged:s,scrollHeightChanged:a,scrollTopChanged:l}}}class o2 extends Fe{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new be),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new mZ(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,t){var i;const r=this._state.withScrollDimensions(e,t);this._setState(r,!!this._smoothScrolling),(i=this._smoothScrolling)===null||i===void 0||i.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){const t=this._state.withScrollPosition(e);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(t,!1)}setScrollPositionSmooth(e,t){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:typeof e.scrollLeft>"u"?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:typeof e.scrollTop>"u"?this._smoothScrolling.to.scrollTop:e.scrollTop};const i=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===i.scrollLeft&&this._smoothScrolling.to.scrollTop===i.scrollTop)return;let r;t?r=new ZF(this._smoothScrolling.from,i,this._smoothScrolling.startTime,this._smoothScrolling.duration):r=this._smoothScrolling.combine(this._state,i,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=r}else{const i=this._state.withScrollPosition(e);this._smoothScrolling=ZF.start(this._state,i,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;const e=this._smoothScrolling.tick(),t=this._state.withScrollPosition(e);if(this._setState(t,!0),!!this._smoothScrolling){if(e.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(e,t){const i=this._state;i.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(i,t)))}}class Rye{constructor(e,t,i){this.scrollLeft=e,this.scrollTop=t,this.isDone=i}}function F6(n,e){const t=e-n;return function(i){return n+t*U1t(i)}}function H1t(n,e,t){return function(i){return i2.5*i){let o,s;return e0&&Math.abs(e.deltaY)>0)return 1;let i=.5;if((!this._isAlmostInt(e.deltaX)||!this._isAlmostInt(e.deltaY))&&(i+=.25),t){const r=Math.abs(e.deltaX),o=Math.abs(e.deltaY),s=Math.abs(t.deltaX),a=Math.abs(t.deltaY),l=Math.max(Math.min(r,s),1),u=Math.max(Math.min(o,a),1),c=Math.max(r,s),d=Math.max(o,a);c%l===0&&d%u===0&&(i-=.5)}return Math.min(Math.max(i,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01}}fZ.INSTANCE=new fZ;class D6 extends Hu{get options(){return this._options}constructor(e,t,i){super(),this._onScroll=this._register(new be),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new be),e.style.overflow="hidden",this._options=j1t(t),this._scrollable=i,this._register(this._scrollable.onScroll(o=>{this._onWillScroll.fire(o),this._onDidScroll(o),this._onScroll.fire(o)}));const r={onMouseWheel:o=>this._onMouseWheel(o),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new z1t(this._scrollable,this._options,r)),this._horizontalScrollbar=this._register(new B1t(this._scrollable,this._options,r)),this._domNode=document.createElement("div"),this._domNode.className="monaco-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.style.overflow="hidden",this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=wi(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=wi(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=wi(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,o=>this._onMouseOver(o)),this.onmouseleave(this._listenOnDomNode,o=>this._onMouseLeave(o)),this._hideTimeout=this._register(new Id),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}dispose(){this._mouseWheelToDispose=qi(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,On&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className}updateOptions(e){typeof e.handleMouseWheel<"u"&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof e.mouseWheelScrollSensitivity<"u"&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),typeof e.fastScrollSensitivity<"u"&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),typeof e.scrollPredominantAxis<"u"&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),typeof e.horizontal<"u"&&(this._options.horizontal=e.horizontal),typeof e.vertical<"u"&&(this._options.vertical=e.vertical),typeof e.horizontalScrollbarSize<"u"&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),typeof e.verticalScrollbarSize<"u"&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),typeof e.scrollByPage<"u"&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new Py(e))}_setListeningToMouseWheel(e){if(this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=qi(this._mouseWheelToDispose),e)){const i=r=>{this._onMouseWheel(new Py(r))};this._mouseWheelToDispose.push(Ve(this._listenOnDomNode,ot.MOUSE_WHEEL,i,{passive:!1}))}}_onMouseWheel(e){var t;if(!((t=e.browserEvent)===null||t===void 0)&&t.defaultPrevented)return;const i=fZ.INSTANCE;i.acceptStandardWheelEvent(e);let r=!1;if(e.deltaY||e.deltaX){let s=e.deltaY*this._options.mouseWheelScrollSensitivity,a=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&a+s===0?a=s=0:Math.abs(s)>=Math.abs(a)?a=0:s=0),this._options.flipAxes&&([s,a]=[a,s]);const l=!On&&e.browserEvent&&e.browserEvent.shiftKey;(this._options.scrollYToX||l)&&!a&&(a=s,s=0),e.browserEvent&&e.browserEvent.altKey&&(a=a*this._options.fastScrollSensitivity,s=s*this._options.fastScrollSensitivity);const u=this._scrollable.getFutureScrollPosition();let c={};if(s){const d=Zye*s,h=u.scrollTop-(d<0?Math.floor(d):Math.ceil(d));this._verticalScrollbar.writeScrollPosition(c,h)}if(a){const d=Zye*a,h=u.scrollLeft-(d<0?Math.floor(d):Math.ceil(d));this._horizontalScrollbar.writeScrollPosition(c,h)}c=this._scrollable.validateScrollPosition(c),(u.scrollLeft!==c.scrollLeft||u.scrollTop!==c.scrollTop)&&(this._options.mouseWheelSmoothScroll&&i.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(c):this._scrollable.setScrollPositionNow(c),r=!0)}let o=r;!o&&this._options.alwaysConsumeMouseWheel&&(o=!0),!o&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(o=!0),o&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){const e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,i=e.scrollLeft>0,r=i?" left":"",o=t?" top":"",s=i||t?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${r}`),this._topShadowDomNode.setClassName(`shadow${o}`),this._topLeftShadowDomNode.setClassName(`shadow${s}${o}${r}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),K1t)}}class Wye extends D6{constructor(e,t){t=t||{},t.mouseWheelSmoothScroll=!1;const i=new o2({forceIntegerValues:!0,smoothScrollDuration:0,scheduleAtNextAnimationFrame:r=>au(Qt(e),r)});super(e,t,i),this._register(i)}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}}class gZ extends D6{constructor(e,t,i){super(e,t,i)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}}class WF extends D6{constructor(e,t){t=t||{},t.mouseWheelSmoothScroll=!1;const i=new o2({forceIntegerValues:!1,smoothScrollDuration:0,scheduleAtNextAnimationFrame:r=>au(Qt(e),r)});super(e,t,i),this._register(i),this._element=e,this._register(this.onScroll(r=>{r.scrollTopChanged&&(this._element.scrollTop=r.scrollTop),r.scrollLeftChanged&&(this._element.scrollLeft=r.scrollLeft)})),this.scanDomNode()}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}scanDomNode(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight}),this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})}}function j1t(n){const e={lazyRender:typeof n.lazyRender<"u"?n.lazyRender:!1,className:typeof n.className<"u"?n.className:"",useShadows:typeof n.useShadows<"u"?n.useShadows:!0,handleMouseWheel:typeof n.handleMouseWheel<"u"?n.handleMouseWheel:!0,flipAxes:typeof n.flipAxes<"u"?n.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof n.consumeMouseWheelIfScrollbarIsNeeded<"u"?n.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof n.alwaysConsumeMouseWheel<"u"?n.alwaysConsumeMouseWheel:!1,scrollYToX:typeof n.scrollYToX<"u"?n.scrollYToX:!1,mouseWheelScrollSensitivity:typeof n.mouseWheelScrollSensitivity<"u"?n.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof n.fastScrollSensitivity<"u"?n.fastScrollSensitivity:5,scrollPredominantAxis:typeof n.scrollPredominantAxis<"u"?n.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof n.mouseWheelSmoothScroll<"u"?n.mouseWheelSmoothScroll:!0,arrowSize:typeof n.arrowSize<"u"?n.arrowSize:11,listenOnDomNode:typeof n.listenOnDomNode<"u"?n.listenOnDomNode:null,horizontal:typeof n.horizontal<"u"?n.horizontal:1,horizontalScrollbarSize:typeof n.horizontalScrollbarSize<"u"?n.horizontalScrollbarSize:10,horizontalSliderSize:typeof n.horizontalSliderSize<"u"?n.horizontalSliderSize:0,horizontalHasArrows:typeof n.horizontalHasArrows<"u"?n.horizontalHasArrows:!1,vertical:typeof n.vertical<"u"?n.vertical:1,verticalScrollbarSize:typeof n.verticalScrollbarSize<"u"?n.verticalScrollbarSize:10,verticalHasArrows:typeof n.verticalHasArrows<"u"?n.verticalHasArrows:!1,verticalSliderSize:typeof n.verticalSliderSize<"u"?n.verticalSliderSize:0,scrollByPage:typeof n.scrollByPage<"u"?n.scrollByPage:!1};return e.horizontalSliderSize=typeof n.horizontalSliderSize<"u"?n.horizontalSliderSize:e.horizontalScrollbarSize,e.verticalSliderSize=typeof n.verticalSliderSize<"u"?n.verticalSliderSize:e.verticalScrollbarSize,On&&(e.className+=" mac"),e}class N6 extends EF{constructor(e,t,i){super(),this._mouseLeaveMonitor=null,this._context=e,this.viewController=t,this.viewHelper=i,this.mouseTargetFactory=new Na(this._context,i),this._mouseDownOperation=this._register(new Q1t(this._context,this.viewController,this.viewHelper,this.mouseTargetFactory,(s,a)=>this._createMouseTarget(s,a),s=>this._getMouseColumn(s))),this.lastMouseLeaveTime=-1,this._height=this._context.configuration.options.get(145).height;const r=new u1t(this.viewHelper.viewDomNode);this._register(r.onContextMenu(this.viewHelper.viewDomNode,s=>this._onContextMenu(s,!0))),this._register(r.onMouseMove(this.viewHelper.viewDomNode,s=>{this._onMouseMove(s),this._mouseLeaveMonitor||(this._mouseLeaveMonitor=Ve(this.viewHelper.viewDomNode.ownerDocument,"mousemove",a=>{this.viewHelper.viewDomNode.contains(a.target)||this._onMouseLeave(new l0(a,!1,this.viewHelper.viewDomNode))}))})),this._register(r.onMouseUp(this.viewHelper.viewDomNode,s=>this._onMouseUp(s))),this._register(r.onMouseLeave(this.viewHelper.viewDomNode,s=>this._onMouseLeave(s)));let o=0;this._register(r.onPointerDown(this.viewHelper.viewDomNode,(s,a)=>{o=a})),this._register(Ve(this.viewHelper.viewDomNode,ot.POINTER_UP,s=>{this._mouseDownOperation.onPointerUp()})),this._register(r.onMouseDown(this.viewHelper.viewDomNode,s=>this._onMouseDown(s,o))),this._setupMouseWheelZoomListener(),this._context.addEventHandler(this)}_setupMouseWheelZoomListener(){const e=fZ.INSTANCE;let t=0,i=Zc.getZoomLevel(),r=!1,o=0;const s=l=>{if(this.viewController.emitMouseWheel(l),!this._context.configuration.options.get(76))return;const u=new Py(l);if(e.acceptStandardWheelEvent(u),e.isPhysicalMouseWheel()){if(a(l)){const c=Zc.getZoomLevel(),d=u.deltaY>0?1:-1;Zc.setZoomLevel(c+d),u.preventDefault(),u.stopPropagation()}}else Date.now()-t>50&&(i=Zc.getZoomLevel(),r=a(l),o=0),t=Date.now(),o+=u.deltaY,r&&(Zc.setZoomLevel(i+o/5),u.preventDefault(),u.stopPropagation())};this._register(Ve(this.viewHelper.viewDomNode,ot.MOUSE_WHEEL,s,{capture:!0,passive:!1}));function a(l){return On?(l.metaKey||l.ctrlKey)&&!l.shiftKey&&!l.altKey:l.ctrlKey&&!l.metaKey&&!l.shiftKey&&!l.altKey}}dispose(){this._context.removeEventHandler(this),this._mouseLeaveMonitor&&(this._mouseLeaveMonitor.dispose(),this._mouseLeaveMonitor=null),super.dispose()}onConfigurationChanged(e){if(e.hasChanged(145)){const t=this._context.configuration.options.get(145).height;this._height!==t&&(this._height=t,this._mouseDownOperation.onHeightChanged())}return!1}onCursorStateChanged(e){return this._mouseDownOperation.onCursorStateChanged(e),!1}onFocusChanged(e){return!1}getTargetAtClientPoint(e,t){const r=new wye(e,t).toPageCoordinates(Qt(this.viewHelper.viewDomNode)),o=w6(this.viewHelper.viewDomNode);if(r.yo.y+o.height||r.xo.x+o.width)return null;const s=x6(this.viewHelper.viewDomNode,o,r);return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),o,r,s,null)}_createMouseTarget(e,t){let i=e.target;if(!this.viewHelper.viewDomNode.contains(i)){const r=Yy(this.viewHelper.viewDomNode);r&&(i=r.elementsFromPoint(e.posx,e.posy).find(o=>this.viewHelper.viewDomNode.contains(o)))}return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),e.editorPos,e.pos,e.relativePos,t?i:null)}_getMouseColumn(e){return this.mouseTargetFactory.getMouseColumn(e.relativePos)}_onContextMenu(e,t){this.viewController.emitContextMenu({event:e,target:this._createMouseTarget(e,t)})}_onMouseMove(e){this.mouseTargetFactory.mouseTargetIsWidget(e)||e.preventDefault(),!(this._mouseDownOperation.isActive()||e.timestamp{e.preventDefault(),this.viewHelper.focusTextArea()};if(c&&(r||s&&a))d(),this._mouseDownOperation.start(i.type,e,t);else if(o)e.preventDefault();else if(l){const h=i.detail;c&&this.viewHelper.shouldSuppressMouseDownOnViewZone(h.viewZoneId)&&(d(),this._mouseDownOperation.start(i.type,e,t),e.preventDefault())}else u&&this.viewHelper.shouldSuppressMouseDownOnWidget(i.detail)&&(d(),e.preventDefault());this.viewController.emitMouseDown({event:e,target:i})}}class Q1t extends Fe{constructor(e,t,i,r,o,s){super(),this._context=e,this._viewController=t,this._viewHelper=i,this._mouseTargetFactory=r,this._createMouseTarget=o,this._getMouseColumn=s,this._mouseMoveMonitor=this._register(new d1t(this._viewHelper.viewDomNode)),this._topBottomDragScrolling=this._register(new $1t(this._context,this._viewHelper,this._mouseTargetFactory,(a,l,u)=>this._dispatchMouse(a,l,u))),this._mouseState=new pZ,this._currentSelection=new Zt(1,1,1,1),this._isActive=!1,this._lastMouseEvent=null}dispose(){super.dispose()}isActive(){return this._isActive}_onMouseDownThenMove(e){this._lastMouseEvent=e,this._mouseState.setModifiers(e);const t=this._findMousePosition(e,!1);t&&(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:e,target:t}):t.type===13&&(t.outsidePosition==="above"||t.outsidePosition==="below")?this._topBottomDragScrolling.start(t,e):(this._topBottomDragScrolling.stop(),this._dispatchMouse(t,!0,1)))}start(e,t,i){this._lastMouseEvent=t,this._mouseState.setStartedOnLineNumbers(e===3),this._mouseState.setStartButtons(t),this._mouseState.setModifiers(t);const r=this._findMousePosition(t,!0);if(!r||!r.position)return;this._mouseState.trySetCount(t.detail,r.position),t.detail=this._mouseState.count;const o=this._context.configuration.options;if(!o.get(91)&&o.get(35)&&!o.get(22)&&!this._mouseState.altKey&&t.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&r.type===6&&r.position&&this._currentSelection.containsPosition(r.position)){this._mouseState.isDragAndDrop=!0,this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,i,t.buttons,s=>this._onMouseDownThenMove(s),s=>{const a=this._findMousePosition(this._lastMouseEvent,!1);jb(s)?this._viewController.emitMouseDropCanceled():this._viewController.emitMouseDrop({event:this._lastMouseEvent,target:a?this._createMouseTarget(this._lastMouseEvent,!0):null}),this._stop()});return}this._mouseState.isDragAndDrop=!1,this._dispatchMouse(r,t.shiftKey,1),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,i,t.buttons,s=>this._onMouseDownThenMove(s),()=>this._stop()))}_stop(){this._isActive=!1,this._topBottomDragScrolling.stop()}onHeightChanged(){this._mouseMoveMonitor.stopMonitoring()}onPointerUp(){this._mouseMoveMonitor.stopMonitoring()}onCursorStateChanged(e){this._currentSelection=e.selections[0]}_getPositionOutsideEditor(e){const t=e.editorPos,i=this._context.viewModel,r=this._context.viewLayout,o=this._getMouseColumn(e);if(e.posyt.y+t.height){const a=e.posy-t.y-t.height,l=r.getCurrentScrollTop()+e.relativePos.y,u=n2.getZoneAtCoord(this._context,l);if(u){const d=this._helpPositionJumpOverViewZone(u);if(d)return Da.createOutsideEditor(o,d,"below",a)}const c=r.getLineNumberAtVerticalOffset(l);return Da.createOutsideEditor(o,new ve(c,i.getLineMaxColumn(c)),"below",a)}const s=r.getLineNumberAtVerticalOffset(r.getCurrentScrollTop()+e.relativePos.y);if(e.posxt.x+t.width){const a=e.posx-t.x-t.width;return Da.createOutsideEditor(o,new ve(s,i.getLineMaxColumn(s)),"right",a)}return null}_findMousePosition(e,t){const i=this._getPositionOutsideEditor(e);if(i)return i;const r=this._createMouseTarget(e,t);if(!r.position)return null;if(r.type===8||r.type===5){const s=this._helpPositionJumpOverViewZone(r.detail);if(s)return Da.createViewZone(r.type,r.element,r.mouseColumn,s,r.detail)}return r}_helpPositionJumpOverViewZone(e){const t=new ve(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),i=e.positionBefore,r=e.positionAfter;return i&&r?i.isBefore(t)?i:r:null}_dispatchMouse(e,t,i){e.position&&this._viewController.dispatchMouse({position:e.position,mouseColumn:e.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,revealType:i,inSelectionMode:t,mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton,onInjectedText:e.type===6&&e.detail.injectedText!==null})}}class $1t extends Fe{constructor(e,t,i,r){super(),this._context=e,this._viewHelper=t,this._mouseTargetFactory=i,this._dispatchMouse=r,this._operation=null}dispose(){super.dispose(),this.stop()}start(e,t){this._operation?this._operation.setPosition(e,t):this._operation=new q1t(this._context,this._viewHelper,this._mouseTargetFactory,this._dispatchMouse,e,t)}stop(){this._operation&&(this._operation.dispose(),this._operation=null)}}class q1t extends Fe{constructor(e,t,i,r,o,s){super(),this._context=e,this._viewHelper=t,this._mouseTargetFactory=i,this._dispatchMouse=r,this._position=o,this._mouseEvent=s,this._lastTime=Date.now(),this._animationFrameDisposable=au(Qt(s.browserEvent),()=>this._execute())}dispose(){this._animationFrameDisposable.dispose(),super.dispose()}setPosition(e,t){this._position=e,this._mouseEvent=t}_tick(){const e=Date.now(),t=e-this._lastTime;return this._lastTime=e,t}_getScrollSpeed(){const e=this._context.configuration.options.get(67),t=this._context.configuration.options.get(145).height/e,i=this._position.outsideDistance/e;return i<=1.5?Math.max(30,t*(1+i)):i<=3?Math.max(60,t*(2+i)):Math.max(200,t*(7+i))}_execute(){const e=this._context.configuration.options.get(67),t=this._getScrollSpeed(),i=this._tick(),r=t*(i/1e3)*e,o=this._position.outsidePosition==="above"?-r:r;this._context.viewModel.viewLayout.deltaScrollNow(0,o),this._viewHelper.renderNow();const s=this._context.viewLayout.getLinesViewportData(),a=this._position.outsidePosition==="above"?s.startLineNumber:s.endLineNumber;let l;{const u=w6(this._viewHelper.viewDomNode),c=this._context.configuration.options.get(145).horizontalScrollbarHeight,d=new sZ(this._mouseEvent.pos.x,u.y+u.height-c-.1),h=x6(this._viewHelper.viewDomNode,u,d);l=this._mouseTargetFactory.createMouseTarget(this._viewHelper.getLastRenderData(),u,d,h,null)}(!l.position||l.position.lineNumber!==a)&&(this._position.outsidePosition==="above"?l=Da.createOutsideEditor(this._position.mouseColumn,new ve(a,1),"above",this._position.outsideDistance):l=Da.createOutsideEditor(this._position.mouseColumn,new ve(a,this._context.viewModel.getLineMaxColumn(a)),"below",this._position.outsideDistance)),this._dispatchMouse(l,!0,2),this._animationFrameDisposable=au(Qt(l.element),()=>this._execute())}}class pZ{get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get metaKey(){return this._metaKey}get shiftKey(){return this._shiftKey}get leftButton(){return this._leftButton}get middleButton(){return this._middleButton}get startedOnLineNumbers(){return this._startedOnLineNumbers}constructor(){this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._leftButton=!1,this._middleButton=!1,this._startedOnLineNumbers=!1,this._lastMouseDownPosition=null,this._lastMouseDownPositionEqualCount=0,this._lastMouseDownCount=0,this._lastSetMouseDownCountTime=0,this.isDragAndDrop=!1}get count(){return this._lastMouseDownCount}setModifiers(e){this._altKey=e.altKey,this._ctrlKey=e.ctrlKey,this._metaKey=e.metaKey,this._shiftKey=e.shiftKey}setStartButtons(e){this._leftButton=e.leftButton,this._middleButton=e.middleButton}setStartedOnLineNumbers(e){this._startedOnLineNumbers=e}trySetCount(e,t){const i=new Date().getTime();i-this._lastSetMouseDownCountTime>pZ.CLEAR_MOUSE_DOWN_COUNT_TIME&&(e=1),this._lastSetMouseDownCountTime=i,e>this._lastMouseDownCount+1&&(e=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(t)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=t,this._lastMouseDownCount=Math.min(e,this._lastMouseDownPositionEqualCount)}}pZ.CLEAR_MOUSE_DOWN_COUNT_TIME=400;class Jn{get event(){return this.emitter.event}constructor(e,t,i){const r=o=>this.emitter.fire(o);this.emitter=new be({onWillAddFirstListener:()=>e.addEventListener(t,r,i),onDidRemoveLastListener:()=>e.removeEventListener(t,r,i)})}dispose(){this.emitter.dispose()}}class Rs{constructor(e,t,i,r,o){this.value=e,this.selectionStart=t,this.selectionEnd=i,this.selection=r,this.newlineCountBeforeSelection=o}toString(){return`[ <${this.value}>, selectionStart: ${this.selectionStart}, selectionEnd: ${this.selectionEnd}]`}static readFromTextArea(e,t){const i=e.getValue(),r=e.getSelectionStart(),o=e.getSelectionEnd();let s;if(t){const a=i.substring(0,r),l=t.value.substring(0,t.selectionStart);a===l&&(s=t.newlineCountBeforeSelection)}return new Rs(i,r,o,null,s)}collapseSelection(){return this.selectionStart===this.value.length?this:new Rs(this.value,this.value.length,this.value.length,null,void 0)}writeToTextArea(e,t,i){t.setValue(e,this.value),i&&t.setSelectionRange(e,this.selectionStart,this.selectionEnd)}deduceEditorPosition(e){var t,i,r,o,s,a,l,u;if(e<=this.selectionStart){const h=this.value.substring(e,this.selectionStart);return this._finishDeduceEditorPosition((i=(t=this.selection)===null||t===void 0?void 0:t.getStartPosition())!==null&&i!==void 0?i:null,h,-1)}if(e>=this.selectionEnd){const h=this.value.substring(this.selectionEnd,e);return this._finishDeduceEditorPosition((o=(r=this.selection)===null||r===void 0?void 0:r.getEndPosition())!==null&&o!==void 0?o:null,h,1)}const c=this.value.substring(this.selectionStart,e);if(c.indexOf("…")===-1)return this._finishDeduceEditorPosition((a=(s=this.selection)===null||s===void 0?void 0:s.getStartPosition())!==null&&a!==void 0?a:null,c,1);const d=this.value.substring(e,this.selectionEnd);return this._finishDeduceEditorPosition((u=(l=this.selection)===null||l===void 0?void 0:l.getEndPosition())!==null&&u!==void 0?u:null,d,-1)}_finishDeduceEditorPosition(e,t,i){let r=0,o=-1;for(;(o=t.indexOf(` +`,o+1))!==-1;)r++;return[e,i*t.length,r]}static deduceInput(e,t,i){if(!e)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};const r=Math.min(Pb(e.value,t.value),e.selectionStart,t.selectionStart),o=Math.min(UR(e.value,t.value),e.value.length-e.selectionEnd,t.value.length-t.selectionEnd);e.value.substring(r,e.value.length-o);const s=t.value.substring(r,t.value.length-o),a=e.selectionStart-r,l=e.selectionEnd-r,u=t.selectionStart-r,c=t.selectionEnd-r;if(u===c){const h=e.selectionStart-r;return{text:s,replacePrevCharCnt:h,replaceNextCharCnt:0,positionDelta:0}}const d=l-a;return{text:s,replacePrevCharCnt:d,replaceNextCharCnt:0,positionDelta:0}}static deduceAndroidCompositionInput(e,t){if(!e)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};if(e.value===t.value)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:t.selectionEnd-e.selectionEnd};const i=Math.min(Pb(e.value,t.value),e.selectionEnd),r=Math.min(UR(e.value,t.value),e.value.length-e.selectionEnd),o=e.value.substring(i,e.value.length-r),s=t.value.substring(i,t.value.length-r);e.selectionStart-i;const a=e.selectionEnd-i;t.selectionStart-i;const l=t.selectionEnd-i;return{text:s,replacePrevCharCnt:a,replaceNextCharCnt:o.length-a,positionDelta:l-s.length}}}Rs.EMPTY=new Rs("",0,0,null,void 0);class s2{static _getPageOfLine(e,t){return Math.floor((e-1)/t)}static _getRangeForPage(e,t){const i=e*t,r=i+1,o=i+t;return new J(r,1,o+1,1)}static fromEditorSelection(e,t,i,r){const s=s2._getPageOfLine(t.startLineNumber,i),a=s2._getRangeForPage(s,i),l=s2._getPageOfLine(t.endLineNumber,i),u=s2._getRangeForPage(l,i);let c=a.intersectRanges(new J(1,1,t.startLineNumber,t.startColumn));if(r&&e.getValueLengthInRange(c,1)>500){const y=e.modifyPosition(c.getEndPosition(),-500);c=J.fromPositions(y,c.getEndPosition())}const d=e.getValueInRange(c,1),h=e.getLineCount(),m=e.getLineMaxColumn(h);let f=u.intersectRanges(new J(t.endLineNumber,t.endColumn,h,m));if(r&&e.getValueLengthInRange(f,1)>500){const y=e.modifyPosition(f.getStartPosition(),500);f=J.fromPositions(f.getStartPosition(),y)}const g=e.getValueInRange(f,1);let b;if(s===l||s+1===l)b=e.getValueInRange(t,1);else{const y=a.intersectRanges(t),C=u.intersectRanges(t);b=e.getValueInRange(y,1)+"…"+e.getValueInRange(C,1)}return r&&b.length>2*500&&(b=b.substring(0,500)+"…"+b.substring(b.length-500,b.length)),new Rs(d+b+g,d.length,d.length+b.length,t,c.endLineNumber-c.startLineNumber)}}var eyt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Aye=function(n,e){return function(t,i){e(t,i,n)}},bZ;(function(n){n.Tap="-monaco-textarea-synthetic-tap"})(bZ||(bZ={}));const M6={forceCopyWithSyntaxHighlighting:!1};class AF{constructor(){this._lastState=null}set(e,t){this._lastState={lastCopiedValue:e,data:t}}get(e){return this._lastState&&this._lastState.lastCopiedValue===e?this._lastState.data:(this._lastState=null,null)}}AF.INSTANCE=new AF;class tyt{constructor(){this._lastTypeTextLength=0}handleCompositionUpdate(e){e=e||"";const t={text:e,replacePrevCharCnt:this._lastTypeTextLength,replaceNextCharCnt:0,positionDelta:0};return this._lastTypeTextLength=e.length,t}}let k6=class extends Fe{get textAreaState(){return this._textAreaState}constructor(e,t,i,r,o,s){super(),this._host=e,this._textArea=t,this._OS=i,this._browser=r,this._accessibilityService=o,this._logService=s,this._onFocus=this._register(new be),this.onFocus=this._onFocus.event,this._onBlur=this._register(new be),this.onBlur=this._onBlur.event,this._onKeyDown=this._register(new be),this.onKeyDown=this._onKeyDown.event,this._onKeyUp=this._register(new be),this.onKeyUp=this._onKeyUp.event,this._onCut=this._register(new be),this.onCut=this._onCut.event,this._onPaste=this._register(new be),this.onPaste=this._onPaste.event,this._onType=this._register(new be),this.onType=this._onType.event,this._onCompositionStart=this._register(new be),this.onCompositionStart=this._onCompositionStart.event,this._onCompositionUpdate=this._register(new be),this.onCompositionUpdate=this._onCompositionUpdate.event,this._onCompositionEnd=this._register(new be),this.onCompositionEnd=this._onCompositionEnd.event,this._onSelectionChangeRequest=this._register(new be),this.onSelectionChangeRequest=this._onSelectionChangeRequest.event,this._asyncFocusGainWriteScreenReaderContent=this._register(new Ns),this._asyncTriggerCut=this._register(new Wi(()=>this._onCut.fire(),0)),this._textAreaState=Rs.EMPTY,this._selectionChangeListener=null,this._accessibilityService.isScreenReaderOptimized()&&this.writeNativeTextAreaContent("ctor"),this._register(lt.runAndSubscribe(this._accessibilityService.onDidChangeScreenReaderOptimized,()=>{this._accessibilityService.isScreenReaderOptimized()&&!this._asyncFocusGainWriteScreenReaderContent.value?this._asyncFocusGainWriteScreenReaderContent.value=this._register(new Wi(()=>this.writeNativeTextAreaContent("asyncFocusGain"),0)):this._asyncFocusGainWriteScreenReaderContent.clear()})),this._hasFocus=!1,this._currentComposition=null;let a=null;this._register(this._textArea.onKeyDown(l=>{const u=new or(l);(u.keyCode===114||this._currentComposition&&u.keyCode===1)&&u.stopPropagation(),u.equals(9)&&u.preventDefault(),a=u,this._onKeyDown.fire(u)})),this._register(this._textArea.onKeyUp(l=>{const u=new or(l);this._onKeyUp.fire(u)})),this._register(this._textArea.onCompositionStart(l=>{const u=new tyt;if(this._currentComposition){this._currentComposition=u;return}if(this._currentComposition=u,this._OS===2&&a&&a.equals(114)&&this._textAreaState.selectionStart===this._textAreaState.selectionEnd&&this._textAreaState.selectionStart>0&&this._textAreaState.value.substr(this._textAreaState.selectionStart-1,1)===l.data&&(a.code==="ArrowRight"||a.code==="ArrowLeft")){u.handleCompositionUpdate("x"),this._onCompositionStart.fire({data:l.data});return}if(this._browser.isAndroid){this._onCompositionStart.fire({data:l.data});return}this._onCompositionStart.fire({data:l.data})})),this._register(this._textArea.onCompositionUpdate(l=>{const u=this._currentComposition;if(!u)return;if(this._browser.isAndroid){const d=Rs.readFromTextArea(this._textArea,this._textAreaState),h=Rs.deduceAndroidCompositionInput(this._textAreaState,d);this._textAreaState=d,this._onType.fire(h),this._onCompositionUpdate.fire(l);return}const c=u.handleCompositionUpdate(l.data);this._textAreaState=Rs.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(c),this._onCompositionUpdate.fire(l)})),this._register(this._textArea.onCompositionEnd(l=>{const u=this._currentComposition;if(!u)return;if(this._currentComposition=null,this._browser.isAndroid){const d=Rs.readFromTextArea(this._textArea,this._textAreaState),h=Rs.deduceAndroidCompositionInput(this._textAreaState,d);this._textAreaState=d,this._onType.fire(h),this._onCompositionEnd.fire();return}const c=u.handleCompositionUpdate(l.data);this._textAreaState=Rs.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(c),this._onCompositionEnd.fire()})),this._register(this._textArea.onInput(l=>{if(this._textArea.setIgnoreSelectionChangeTime("received input event"),this._currentComposition)return;const u=Rs.readFromTextArea(this._textArea,this._textAreaState),c=Rs.deduceInput(this._textAreaState,u,this._OS===2);c.replacePrevCharCnt===0&&c.text.length===1&&(os(c.text.charCodeAt(0))||c.text.charCodeAt(0)===127)||(this._textAreaState=u,(c.text!==""||c.replacePrevCharCnt!==0||c.replaceNextCharCnt!==0||c.positionDelta!==0)&&this._onType.fire(c))})),this._register(this._textArea.onCut(l=>{this._textArea.setIgnoreSelectionChangeTime("received cut event"),this._ensureClipboardGetsEditorSelection(l),this._asyncTriggerCut.schedule()})),this._register(this._textArea.onCopy(l=>{this._ensureClipboardGetsEditorSelection(l)})),this._register(this._textArea.onPaste(l=>{if(this._textArea.setIgnoreSelectionChangeTime("received paste event"),l.preventDefault(),!l.clipboardData)return;let[u,c]=T6.getTextData(l.clipboardData);u&&(c=c||AF.INSTANCE.get(u),this._onPaste.fire({text:u,metadata:c}))})),this._register(this._textArea.onFocus(()=>{const l=this._hasFocus;this._setHasFocus(!0),this._accessibilityService.isScreenReaderOptimized()&&this._browser.isSafari&&!l&&this._hasFocus&&(this._asyncFocusGainWriteScreenReaderContent.value||(this._asyncFocusGainWriteScreenReaderContent.value=new Wi(()=>this.writeNativeTextAreaContent("asyncFocusGain"),0)),this._asyncFocusGainWriteScreenReaderContent.value.schedule())})),this._register(this._textArea.onBlur(()=>{this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent("blurWithoutCompositionEnd"),this._onCompositionEnd.fire()),this._setHasFocus(!1)})),this._register(this._textArea.onSyntheticTap(()=>{this._browser.isAndroid&&this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent("tapWithoutCompositionEnd"),this._onCompositionEnd.fire())}))}_installSelectionChangeListener(){let e=0;return Ve(this._textArea.ownerDocument,"selectionchange",t=>{if(n0.onSelectionChange(),!this._hasFocus||this._currentComposition||!this._browser.isChrome)return;const i=Date.now(),r=i-e;if(e=i,r<5)return;const o=i-this._textArea.getIgnoreSelectionChangeTime();if(this._textArea.resetSelectionChangeTime(),o<100||!this._textAreaState.selection)return;const s=this._textArea.getValue();if(this._textAreaState.value!==s)return;const a=this._textArea.getSelectionStart(),l=this._textArea.getSelectionEnd();if(this._textAreaState.selectionStart===a&&this._textAreaState.selectionEnd===l)return;const u=this._textAreaState.deduceEditorPosition(a),c=this._host.deduceModelPosition(u[0],u[1],u[2]),d=this._textAreaState.deduceEditorPosition(l),h=this._host.deduceModelPosition(d[0],d[1],d[2]),m=new Zt(c.lineNumber,c.column,h.lineNumber,h.column);this._onSelectionChangeRequest.fire(m)})}dispose(){super.dispose(),this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null)}focusTextArea(){this._setHasFocus(!0),this.refreshFocusState()}isFocused(){return this._hasFocus}refreshFocusState(){this._setHasFocus(this._textArea.hasFocus())}_setHasFocus(e){this._hasFocus!==e&&(this._hasFocus=e,this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null),this._hasFocus&&(this._selectionChangeListener=this._installSelectionChangeListener()),this._hasFocus&&this.writeNativeTextAreaContent("focusgain"),this._hasFocus?this._onFocus.fire():this._onBlur.fire())}_setAndWriteTextAreaState(e,t){this._hasFocus||(t=t.collapseSelection()),t.writeToTextArea(e,this._textArea,this._hasFocus),this._textAreaState=t}writeNativeTextAreaContent(e){!this._accessibilityService.isScreenReaderOptimized()&&e==="render"||this._currentComposition||(this._logService.trace(`writeTextAreaState(reason: ${e})`),this._setAndWriteTextAreaState(e,this._host.getScreenReaderContent()))}_ensureClipboardGetsEditorSelection(e){const t=this._host.getDataToCopy(),i={version:1,isFromEmptySelection:t.isFromEmptySelection,multicursorText:t.multicursorText,mode:t.mode};AF.INSTANCE.set(this._browser.isFirefox?t.text.replace(/\r\n/g,` +`):t.text,i),e.preventDefault(),e.clipboardData&&T6.setTextData(e.clipboardData,t.text,t.html,i)}};k6=eyt([Aye(4,Wc),Aye(5,tl)],k6);const T6={getTextData(n){const e=n.getData(Pr.text);let t=null;const i=n.getData("vscode-editor-data");if(typeof i=="string")try{t=JSON.parse(i),t.version!==1&&(t=null)}catch{}return e.length===0&&t===null&&n.files.length>0?[Array.prototype.slice.call(n.files,0).map(o=>o.name).join(` +`),null]:[e,t]},setTextData(n,e,t,i){n.setData(Pr.text,e),typeof t=="string"&&n.setData("text/html",t),n.setData("vscode-editor-data",JSON.stringify(i))}};class nyt extends Fe{get ownerDocument(){return this._actual.ownerDocument}constructor(e){super(),this._actual=e,this.onKeyDown=this._register(new Jn(this._actual,"keydown")).event,this.onKeyUp=this._register(new Jn(this._actual,"keyup")).event,this.onCompositionStart=this._register(new Jn(this._actual,"compositionstart")).event,this.onCompositionUpdate=this._register(new Jn(this._actual,"compositionupdate")).event,this.onCompositionEnd=this._register(new Jn(this._actual,"compositionend")).event,this.onBeforeInput=this._register(new Jn(this._actual,"beforeinput")).event,this.onInput=this._register(new Jn(this._actual,"input")).event,this.onCut=this._register(new Jn(this._actual,"cut")).event,this.onCopy=this._register(new Jn(this._actual,"copy")).event,this.onPaste=this._register(new Jn(this._actual,"paste")).event,this.onFocus=this._register(new Jn(this._actual,"focus")).event,this.onBlur=this._register(new Jn(this._actual,"blur")).event,this._onSyntheticTap=this._register(new be),this.onSyntheticTap=this._onSyntheticTap.event,this._ignoreSelectionChangeTime=0,this._register(this.onKeyDown(()=>n0.onKeyDown())),this._register(this.onBeforeInput(()=>n0.onBeforeInput())),this._register(this.onInput(()=>n0.onInput())),this._register(this.onKeyUp(()=>n0.onKeyUp())),this._register(Ve(this._actual,bZ.Tap,()=>this._onSyntheticTap.fire()))}hasFocus(){const e=Yy(this._actual);return e?e.activeElement===this._actual:this._actual.isConnected?js()===this._actual:!1}setIgnoreSelectionChangeTime(e){this._ignoreSelectionChangeTime=Date.now()}getIgnoreSelectionChangeTime(){return this._ignoreSelectionChangeTime}resetSelectionChangeTime(){this._ignoreSelectionChangeTime=0}getValue(){return this._actual.value}setValue(e,t){const i=this._actual;i.value!==t&&(this.setIgnoreSelectionChangeTime("setValue"),i.value=t)}getSelectionStart(){return this._actual.selectionDirection==="backward"?this._actual.selectionEnd:this._actual.selectionStart}getSelectionEnd(){return this._actual.selectionDirection==="backward"?this._actual.selectionStart:this._actual.selectionEnd}setSelectionRange(e,t,i){const r=this._actual;let o=null;const s=Yy(r);s?o=s.activeElement:o=js();const a=Qt(o),l=o===r,u=r.selectionStart,c=r.selectionEnd;if(l&&u===t&&c===i){Ic&&a.parent!==a&&r.focus();return}if(l){this.setIgnoreSelectionChangeTime("setSelectionRange"),r.setSelectionRange(t,i),Ic&&a.parent!==a&&r.focus();return}try{const d=Mft(r);this.setIgnoreSelectionChangeTime("setSelectionRange"),r.focus(),r.setSelectionRange(t,i),kft(r,d)}catch{}}}class iyt extends N6{constructor(e,t,i){super(e,t,i),this._register(nr.addTarget(this.viewHelper.linesContentDomNode)),this._register(Ve(this.viewHelper.linesContentDomNode,tr.Tap,o=>this.onTap(o))),this._register(Ve(this.viewHelper.linesContentDomNode,tr.Change,o=>this.onChange(o))),this._register(Ve(this.viewHelper.linesContentDomNode,tr.Contextmenu,o=>this._onContextMenu(new l0(o,!1,this.viewHelper.viewDomNode),!1))),this._lastPointerType="mouse",this._register(Ve(this.viewHelper.linesContentDomNode,"pointerdown",o=>{const s=o.pointerType;if(s==="mouse"){this._lastPointerType="mouse";return}else s==="touch"?this._lastPointerType="touch":this._lastPointerType="pen"}));const r=new c1t(this.viewHelper.viewDomNode);this._register(r.onPointerMove(this.viewHelper.viewDomNode,o=>this._onMouseMove(o))),this._register(r.onPointerUp(this.viewHelper.viewDomNode,o=>this._onMouseUp(o))),this._register(r.onPointerLeave(this.viewHelper.viewDomNode,o=>this._onMouseLeave(o))),this._register(r.onPointerDown(this.viewHelper.viewDomNode,(o,s)=>this._onMouseDown(o,s)))}onTap(e){!e.initialTarget||!this.viewHelper.linesContentDomNode.contains(e.initialTarget)||(e.preventDefault(),this.viewHelper.focusTextArea(),this._dispatchGesture(e,!1))}onChange(e){this._lastPointerType==="touch"&&this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX,-e.translationY),this._lastPointerType==="pen"&&this._dispatchGesture(e,!0)}_dispatchGesture(e,t){const i=this._createMouseTarget(new l0(e,!1,this.viewHelper.viewDomNode),!1);i.position&&this.viewController.dispatchMouse({position:i.position,mouseColumn:i.position.column,startedOnLineNumbers:!1,revealType:1,mouseDownCount:e.tapCount,inSelectionMode:t,altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1,leftButton:!1,middleButton:!1,onInjectedText:i.type===6&&i.detail.injectedText!==null})}_onMouseDown(e,t){e.browserEvent.pointerType!=="touch"&&super._onMouseDown(e,t)}}class ryt extends N6{constructor(e,t,i){super(e,t,i),this._register(nr.addTarget(this.viewHelper.linesContentDomNode)),this._register(Ve(this.viewHelper.linesContentDomNode,tr.Tap,r=>this.onTap(r))),this._register(Ve(this.viewHelper.linesContentDomNode,tr.Change,r=>this.onChange(r))),this._register(Ve(this.viewHelper.linesContentDomNode,tr.Contextmenu,r=>this._onContextMenu(new l0(r,!1,this.viewHelper.viewDomNode),!1)))}onTap(e){e.preventDefault(),this.viewHelper.focusTextArea();const t=this._createMouseTarget(new l0(e,!1,this.viewHelper.viewDomNode),!1);if(t.position){const i=document.createEvent("CustomEvent");i.initEvent(bZ.Tap,!1,!0),this.viewHelper.dispatchTextAreaEvent(i),this.viewController.moveTo(t.position,1)}}onChange(e){this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)}}class oyt extends Fe{constructor(e,t,i){super(),(Am||Nht&&Lbe)&&NH.pointerEvents?this.handler=this._register(new iyt(e,t,i)):Zi.TouchEvent?this.handler=this._register(new ryt(e,t,i)):this.handler=this._register(new N6(e,t,i))}getTargetAtClientPoint(e,t){return this.handler.getTargetAtClientPoint(e,t)}}class hv extends EF{}const jo=Un("themeService");function zr(n){return{id:n}}function E6(n){switch(n){case Gc.DARK:return"vs-dark";case Gc.HIGH_CONTRAST_DARK:return"hc-black";case Gc.HIGH_CONTRAST_LIGHT:return"hc-light";default:return"vs"}}const Vye={ThemingContribution:"base.contributions.theming"};class syt{constructor(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new be}onColorThemeChange(e){return this.themingParticipants.push(e),this.onThemingParticipantAddedEmitter.fire(e),jt(()=>{const t=this.themingParticipants.indexOf(e);this.themingParticipants.splice(t,1)})}getThemingParticipants(){return this.themingParticipants}}const Gye=new syt;Do.add(Vye.ThemingContribution,Gye);function Xc(n){return Gye.onColorThemeChange(n)}class ayt extends Fe{constructor(e){super(),this.themeService=e,this.theme=e.getColorTheme(),this._register(this.themeService.onDidColorThemeChange(t=>this.onThemeChange(t)))}onThemeChange(e){this.theme=e,this.updateStyles()}updateStyles(){}}const Xye=re("editor.lineHighlightBackground",{dark:null,light:null,hcDark:null,hcLight:null},_("lineHighlight","Background color for the highlight of line at the cursor position.")),Pye=re("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hcDark:"#f38518",hcLight:Kn},_("lineHighlightBorderBox","Background color for the border around the line at the cursor position."));re("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hcDark:null,hcLight:null},_("rangeHighlight","Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations."),!0),re("editor.rangeHighlightBorder",{dark:null,light:null,hcDark:mr,hcLight:mr},_("rangeHighlightBorder","Background color of the border around highlighted ranges."),!0),re("editor.symbolHighlightBackground",{dark:Pg,light:Pg,hcDark:null,hcLight:null},_("symbolHighlight","Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations."),!0),re("editor.symbolHighlightBorder",{dark:null,light:null,hcDark:mr,hcLight:mr},_("symbolHighlightBorder","Background color of the border around highlighted symbols."),!0);const sf=re("editorCursor.foreground",{dark:"#AEAFAD",light:Re.black,hcDark:Re.white,hcLight:"#0F4A85"},_("caret","Color of the editor cursor.")),Ug=re("editorCursor.background",null,_("editorCursorBackground","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),Oye=re("editorMultiCursor.primary.foreground",{dark:sf,light:sf,hcDark:sf,hcLight:sf},_("editorMultiCursorPrimaryForeground","Color of the primary editor cursor when multiple cursors are present.")),lyt=re("editorMultiCursor.primary.background",{dark:Ug,light:Ug,hcDark:Ug,hcLight:Ug},_("editorMultiCursorPrimaryBackground","The background color of the primary editor cursor when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),Bye=re("editorMultiCursor.secondary.foreground",{dark:sf,light:sf,hcDark:sf,hcLight:sf},_("editorMultiCursorSecondaryForeground","Color of secondary editor cursors when multiple cursors are present.")),uyt=re("editorMultiCursor.secondary.background",{dark:Ug,light:Ug,hcDark:Ug,hcLight:Ug},_("editorMultiCursorSecondaryBackground","The background color of secondary editor cursors when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),Kg=re("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hcDark:"#e3e4e229",hcLight:"#CCCCCC"},_("editorWhitespaces","Color of whitespace characters in the editor.")),cyt=re("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hcDark:Re.white,hcLight:"#292929"},_("editorLineNumbers","Color of editor line numbers.")),yZ=re("editorIndentGuide.background",{dark:Kg,light:Kg,hcDark:Kg,hcLight:Kg},_("editorIndentGuides","Color of the editor indentation guides."),!1,_("deprecatedEditorIndentGuides","'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead.")),vZ=re("editorIndentGuide.activeBackground",{dark:Kg,light:Kg,hcDark:Kg,hcLight:Kg},_("editorActiveIndentGuide","Color of the active editor indentation guides."),!1,_("deprecatedEditorActiveIndentGuide","'editorIndentGuide.activeBackground' is deprecated. Use 'editorIndentGuide.activeBackground1' instead.")),VF=re("editorIndentGuide.background1",{dark:yZ,light:yZ,hcDark:yZ,hcLight:yZ},_("editorIndentGuides1","Color of the editor indentation guides (1).")),dyt=re("editorIndentGuide.background2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_("editorIndentGuides2","Color of the editor indentation guides (2).")),hyt=re("editorIndentGuide.background3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_("editorIndentGuides3","Color of the editor indentation guides (3).")),myt=re("editorIndentGuide.background4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_("editorIndentGuides4","Color of the editor indentation guides (4).")),fyt=re("editorIndentGuide.background5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_("editorIndentGuides5","Color of the editor indentation guides (5).")),gyt=re("editorIndentGuide.background6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_("editorIndentGuides6","Color of the editor indentation guides (6).")),GF=re("editorIndentGuide.activeBackground1",{dark:vZ,light:vZ,hcDark:vZ,hcLight:vZ},_("editorActiveIndentGuide1","Color of the active editor indentation guides (1).")),pyt=re("editorIndentGuide.activeBackground2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_("editorActiveIndentGuide2","Color of the active editor indentation guides (2).")),byt=re("editorIndentGuide.activeBackground3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_("editorActiveIndentGuide3","Color of the active editor indentation guides (3).")),yyt=re("editorIndentGuide.activeBackground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_("editorActiveIndentGuide4","Color of the active editor indentation guides (4).")),vyt=re("editorIndentGuide.activeBackground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_("editorActiveIndentGuide5","Color of the active editor indentation guides (5).")),Cyt=re("editorIndentGuide.activeBackground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_("editorActiveIndentGuide6","Color of the active editor indentation guides (6).")),CZ=re("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hcDark:mr,hcLight:mr},_("editorActiveLineNumber","Color of editor active line number"),!1,_("deprecatedEditorActiveLineNumber","Id is deprecated. Use 'editorLineNumber.activeForeground' instead."));re("editorLineNumber.activeForeground",{dark:CZ,light:CZ,hcDark:CZ,hcLight:CZ},_("editorActiveLineNumber","Color of editor active line number"));const Syt=re("editorLineNumber.dimmedForeground",{dark:null,light:null,hcDark:null,hcLight:null},_("editorDimmedLineNumber","Color of the final editor line when editor.renderFinalNewline is set to dimmed."));re("editorRuler.foreground",{dark:"#5A5A5A",light:Re.lightgrey,hcDark:Re.white,hcLight:"#292929"},_("editorRuler","Color of the editor rulers.")),re("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hcDark:"#999999",hcLight:"#292929"},_("editorCodeLensForeground","Foreground color of editor CodeLens")),re("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hcDark:"#0064001a",hcLight:"#0000"},_("editorBracketMatchBackground","Background color behind matching brackets")),re("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hcDark:Kn,hcLight:Kn},_("editorBracketMatchBorder","Color for matching brackets boxes"));const wyt=re("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hcDark:"#7f7f7f4d",hcLight:"#666666"},_("editorOverviewRulerBorder","Color of the overview ruler border.")),xyt=re("editorOverviewRuler.background",null,_("editorOverviewRulerBackground","Background color of the editor overview ruler."));re("editorGutter.background",{dark:as,light:as,hcDark:as,hcLight:as},_("editorGutter","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),re("editorUnnecessaryCode.border",{dark:null,light:null,hcDark:Re.fromHex("#fff").transparent(.8),hcLight:Kn},_("unnecessaryCodeBorder","Border color of unnecessary (unused) source code in the editor."));const _yt=re("editorUnnecessaryCode.opacity",{dark:Re.fromHex("#000a"),light:Re.fromHex("#0007"),hcDark:null,hcLight:null},_("unnecessaryCodeOpacity",`Opacity of unnecessary (unused) source code in the editor. For example, "#000000c0" will render the code with 75% opacity. For high contrast themes, use the 'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out.`));re("editorGhostText.border",{dark:null,light:null,hcDark:Re.fromHex("#fff").transparent(.8),hcLight:Re.fromHex("#292929").transparent(.8)},_("editorGhostTextBorder","Border color of ghost text in the editor.")),re("editorGhostText.foreground",{dark:Re.fromHex("#ffffff56"),light:Re.fromHex("#0007"),hcDark:null,hcLight:null},_("editorGhostTextForeground","Foreground color of the ghost text in the editor.")),re("editorGhostText.background",{dark:null,light:null,hcDark:null,hcLight:null},_("editorGhostTextBackground","Background color of the ghost text in the editor."));const SZ=new Re(new ni(0,122,204,.6)),Lyt=re("editorOverviewRuler.rangeHighlightForeground",{dark:SZ,light:SZ,hcDark:SZ,hcLight:SZ},_("overviewRulerRangeHighlight","Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),Iyt=re("editorOverviewRuler.errorForeground",{dark:new Re(new ni(255,18,18,.7)),light:new Re(new ni(255,18,18,.7)),hcDark:new Re(new ni(255,50,50,1)),hcLight:"#B5200D"},_("overviewRuleError","Overview ruler marker color for errors.")),Fyt=re("editorOverviewRuler.warningForeground",{dark:Fa,light:Fa,hcDark:LF,hcLight:LF},_("overviewRuleWarning","Overview ruler marker color for warnings.")),Dyt=re("editorOverviewRuler.infoForeground",{dark:Gl,light:Gl,hcDark:IF,hcLight:IF},_("overviewRuleInfo","Overview ruler marker color for infos.")),zye=re("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hcDark:"#FFD700",hcLight:"#0431FAFF"},_("editorBracketHighlightForeground1","Foreground color of brackets (1). Requires enabling bracket pair colorization.")),Hye=re("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hcDark:"#DA70D6",hcLight:"#319331FF"},_("editorBracketHighlightForeground2","Foreground color of brackets (2). Requires enabling bracket pair colorization.")),Yye=re("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hcDark:"#87CEFA",hcLight:"#7B3814FF"},_("editorBracketHighlightForeground3","Foreground color of brackets (3). Requires enabling bracket pair colorization.")),Uye=re("editorBracketHighlight.foreground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_("editorBracketHighlightForeground4","Foreground color of brackets (4). Requires enabling bracket pair colorization.")),Kye=re("editorBracketHighlight.foreground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_("editorBracketHighlightForeground5","Foreground color of brackets (5). Requires enabling bracket pair colorization.")),Jye=re("editorBracketHighlight.foreground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_("editorBracketHighlightForeground6","Foreground color of brackets (6). Requires enabling bracket pair colorization.")),Nyt=re("editorBracketHighlight.unexpectedBracket.foreground",{dark:new Re(new ni(255,18,18,.8)),light:new Re(new ni(255,18,18,.8)),hcDark:new Re(new ni(255,50,50,1)),hcLight:""},_("editorBracketHighlightUnexpectedBracketForeground","Foreground color of unexpected brackets.")),Myt=re("editorBracketPairGuide.background1",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_("editorBracketPairGuide.background1","Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),kyt=re("editorBracketPairGuide.background2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_("editorBracketPairGuide.background2","Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),Tyt=re("editorBracketPairGuide.background3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_("editorBracketPairGuide.background3","Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),Eyt=re("editorBracketPairGuide.background4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_("editorBracketPairGuide.background4","Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),Ryt=re("editorBracketPairGuide.background5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_("editorBracketPairGuide.background5","Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),Zyt=re("editorBracketPairGuide.background6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_("editorBracketPairGuide.background6","Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),Wyt=re("editorBracketPairGuide.activeBackground1",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_("editorBracketPairGuide.activeBackground1","Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),Ayt=re("editorBracketPairGuide.activeBackground2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_("editorBracketPairGuide.activeBackground2","Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),Vyt=re("editorBracketPairGuide.activeBackground3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_("editorBracketPairGuide.activeBackground3","Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),Gyt=re("editorBracketPairGuide.activeBackground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_("editorBracketPairGuide.activeBackground4","Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),Xyt=re("editorBracketPairGuide.activeBackground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_("editorBracketPairGuide.activeBackground5","Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),Pyt=re("editorBracketPairGuide.activeBackground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_("editorBracketPairGuide.activeBackground6","Background color of active bracket pair guides (6). Requires enabling bracket pair guides."));re("editorUnicodeHighlight.border",{dark:Fa,light:Fa,hcDark:Fa,hcLight:Fa},_("editorUnicodeHighlight.border","Border color used to highlight unicode characters.")),re("editorUnicodeHighlight.background",{dark:tZ,light:tZ,hcDark:tZ,hcLight:tZ},_("editorUnicodeHighlight.background","Background color used to highlight unicode characters.")),Xc((n,e)=>{const t=n.getColor(as),i=n.getColor(Xye),r=i&&!i.isTransparent()?i:t;r&&e.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${r}; }`)});class XF extends hv{constructor(e){super(),this._context=e,this._readConfig(),this._lastCursorModelPosition=new ve(1,1),this._renderResult=null,this._activeLineNumber=1,this._context.addEventHandler(this)}_readConfig(){const e=this._context.configuration.options;this._lineHeight=e.get(67);const t=e.get(68);this._renderLineNumbers=t.renderType,this._renderCustomLineNumbers=t.renderFn,this._renderFinalNewline=e.get(95);const i=e.get(145);this._lineNumbersLeft=i.lineNumbersLeft,this._lineNumbersWidth=i.lineNumbersWidth}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){return this._readConfig(),!0}onCursorStateChanged(e){const t=e.selections[0].getPosition();this._lastCursorModelPosition=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(t);let i=!1;return this._activeLineNumber!==t.lineNumber&&(this._activeLineNumber=t.lineNumber,i=!0),(this._renderLineNumbers===2||this._renderLineNumbers===3)&&(i=!0),i}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}onDecorationsChanged(e){return e.affectsLineNumber}_getLineRenderLineNumber(e){const t=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new ve(e,1));if(t.column!==1)return"";const i=t.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(i);if(this._renderLineNumbers===2){const r=Math.abs(this._lastCursorModelPosition.lineNumber-i);return r===0?''+i+"":String(r)}if(this._renderLineNumbers===3){if(this._lastCursorModelPosition.lineNumber===i||i%10===0)return String(i);const r=this._context.viewModel.getLineCount();return i===r?String(i):""}return String(i)}prepareRender(e){if(this._renderLineNumbers===0){this._renderResult=null;return}const t=Ja?this._lineHeight%2===0?" lh-even":" lh-odd":"",i=e.visibleRange.startLineNumber,r=e.visibleRange.endLineNumber,o=this._context.viewModel.getDecorationsInViewport(e.visibleRange).filter(u=>!!u.options.lineNumberClassName);o.sort((u,c)=>J.compareRangesUsingEnds(u.range,c.range));let s=0;const a=this._context.viewModel.getLineCount(),l=[];for(let u=i;u<=r;u++){const c=u-i;let d=this._getLineRenderLineNumber(u),h="";for(;s${d}`}this._renderResult=l}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}XF.CLASS_NAME="line-numbers",Xc((n,e)=>{const t=n.getColor(cyt),i=n.getColor(Syt);i?e.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${i}; }`):t&&e.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${t.transparent(.4)}; }`)});class mv extends du{constructor(e){super(e);const t=this._context.configuration.options,i=t.get(145);this._canUseLayerHinting=!t.get(32),this._contentLeft=i.contentLeft,this._glyphMarginLeft=i.glyphMarginLeft,this._glyphMarginWidth=i.glyphMarginWidth,this._domNode=wi(document.createElement("div")),this._domNode.setClassName(mv.OUTER_CLASS_NAME),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._glyphMarginBackgroundDomNode=wi(document.createElement("div")),this._glyphMarginBackgroundDomNode.setClassName(mv.CLASS_NAME),this._domNode.appendChild(this._glyphMarginBackgroundDomNode)}dispose(){super.dispose()}getDomNode(){return this._domNode}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(145);return this._canUseLayerHinting=!t.get(32),this._contentLeft=i.contentLeft,this._glyphMarginLeft=i.glyphMarginLeft,this._glyphMarginWidth=i.glyphMarginWidth,!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollTopChanged}prepareRender(e){}render(e){this._domNode.setLayerHinting(this._canUseLayerHinting),this._domNode.setContain("strict");const t=e.scrollTop-e.bigNumbersDelta;this._domNode.setTop(-t);const i=Math.min(e.scrollHeight,1e6);this._domNode.setHeight(i),this._domNode.setWidth(this._contentLeft),this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft),this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth),this._glyphMarginBackgroundDomNode.setHeight(i)}}mv.CLASS_NAME="glyph-margin",mv.OUTER_CLASS_NAME="margin";const a2="monaco-mouse-cursor-text";let Oyt=class{constructor(){this._tokenizationSupports=new Map,this._factories=new Map,this._onDidChange=new be,this.onDidChange=this._onDidChange.event,this._colorMap=null}handleChange(e){this._onDidChange.fire({changedLanguages:e,changedColorMap:!1})}register(e,t){return this._tokenizationSupports.set(e,t),this.handleChange([e]),jt(()=>{this._tokenizationSupports.get(e)===t&&(this._tokenizationSupports.delete(e),this.handleChange([e]))})}get(e){return this._tokenizationSupports.get(e)||null}registerFactory(e,t){var i;(i=this._factories.get(e))===null||i===void 0||i.dispose();const r=new Byt(this,e,t);return this._factories.set(e,r),jt(()=>{const o=this._factories.get(e);!o||o!==r||(this._factories.delete(e),o.dispose())})}async getOrCreate(e){const t=this.get(e);if(t)return t;const i=this._factories.get(e);return!i||i.isResolved?null:(await i.resolve(),this.get(e))}isResolved(e){if(this.get(e))return!0;const i=this._factories.get(e);return!!(!i||i.isResolved)}setColorMap(e){this._colorMap=e,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}};class Byt extends Fe{get isResolved(){return this._isResolved}constructor(e,t,i){super(),this._registry=e,this._languageId=t,this._factory=i,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}dispose(){this._isDisposed=!0,super.dispose()}async resolve(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise}async _create(){const e=await this._factory.tokenizationSupport;this._isResolved=!0,e&&!this._isDisposed&&this._register(this._registry.register(this._languageId,e))}}let PF=class{constructor(e,t,i){this.offset=e,this.type=t,this.language=i,this._tokenBrand=void 0}toString(){return"("+this.offset+", "+this.type+")"}};class R6{constructor(e,t){this.tokens=e,this.endState=t,this._tokenizationResultBrand=void 0}}class wZ{constructor(e,t){this.tokens=e,this.endState=t,this._encodedTokenizationResultBrand=void 0}}var OF;(function(n){const e=new Map;e.set(0,ut.symbolMethod),e.set(1,ut.symbolFunction),e.set(2,ut.symbolConstructor),e.set(3,ut.symbolField),e.set(4,ut.symbolVariable),e.set(5,ut.symbolClass),e.set(6,ut.symbolStruct),e.set(7,ut.symbolInterface),e.set(8,ut.symbolModule),e.set(9,ut.symbolProperty),e.set(10,ut.symbolEvent),e.set(11,ut.symbolOperator),e.set(12,ut.symbolUnit),e.set(13,ut.symbolValue),e.set(15,ut.symbolEnum),e.set(14,ut.symbolConstant),e.set(15,ut.symbolEnum),e.set(16,ut.symbolEnumMember),e.set(17,ut.symbolKeyword),e.set(27,ut.symbolSnippet),e.set(18,ut.symbolText),e.set(19,ut.symbolColor),e.set(20,ut.symbolFile),e.set(21,ut.symbolReference),e.set(22,ut.symbolCustomColor),e.set(23,ut.symbolFolder),e.set(24,ut.symbolTypeParameter),e.set(25,ut.account),e.set(26,ut.issues);function t(o){let s=e.get(o);return s||(s=ut.symbolProperty),s}n.toIcon=t;const i=new Map;i.set("method",0),i.set("function",1),i.set("constructor",2),i.set("field",3),i.set("variable",4),i.set("class",5),i.set("struct",6),i.set("interface",7),i.set("module",8),i.set("property",9),i.set("event",10),i.set("operator",11),i.set("unit",12),i.set("value",13),i.set("constant",14),i.set("enum",15),i.set("enum-member",16),i.set("enumMember",16),i.set("keyword",17),i.set("snippet",27),i.set("text",18),i.set("color",19),i.set("file",20),i.set("reference",21),i.set("customcolor",22),i.set("folder",23),i.set("type-parameter",24),i.set("typeParameter",24),i.set("account",25),i.set("issue",26);function r(o,s){let a=i.get(o);return typeof a>"u"&&!s&&(a=9),a}n.fromString=r})(OF||(OF={}));var Jg;(function(n){n[n.Automatic=0]="Automatic",n[n.Explicit=1]="Explicit"})(Jg||(Jg={}));class jye{constructor(e,t,i,r){this.range=e,this.text=t,this.completionKind=i,this.isSnippetText=r}equals(e){return J.lift(this.range).equalsRange(e.range)&&this.text===e.text&&this.completionKind===e.completionKind&&this.isSnippetText===e.isSnippetText}}var BF;(function(n){n[n.Automatic=0]="Automatic",n[n.PasteAs=1]="PasteAs"})(BF||(BF={}));var af;(function(n){n[n.Invoke=1]="Invoke",n[n.TriggerCharacter=2]="TriggerCharacter",n[n.ContentChange=3]="ContentChange"})(af||(af={}));var zF;(function(n){n[n.Text=0]="Text",n[n.Read=1]="Read",n[n.Write=2]="Write"})(zF||(zF={}));function zyt(n){return n&&en.isUri(n.uri)&&J.isIRange(n.range)&&(J.isIRange(n.originSelectionRange)||J.isIRange(n.targetSelectionRange))}_("Array","array"),_("Boolean","boolean"),_("Class","class"),_("Constant","constant"),_("Constructor","constructor"),_("Enum","enumeration"),_("EnumMember","enumeration member"),_("Event","event"),_("Field","field"),_("File","file"),_("Function","function"),_("Interface","interface"),_("Key","key"),_("Method","method"),_("Module","module"),_("Namespace","namespace"),_("Null","null"),_("Number","number"),_("Object","object"),_("Operator","operator"),_("Package","package"),_("Property","property"),_("String","string"),_("Struct","struct"),_("TypeParameter","type parameter"),_("Variable","variable");var Z6;(function(n){const e=new Map;e.set(0,ut.symbolFile),e.set(1,ut.symbolModule),e.set(2,ut.symbolNamespace),e.set(3,ut.symbolPackage),e.set(4,ut.symbolClass),e.set(5,ut.symbolMethod),e.set(6,ut.symbolProperty),e.set(7,ut.symbolField),e.set(8,ut.symbolConstructor),e.set(9,ut.symbolEnum),e.set(10,ut.symbolInterface),e.set(11,ut.symbolFunction),e.set(12,ut.symbolVariable),e.set(13,ut.symbolConstant),e.set(14,ut.symbolString),e.set(15,ut.symbolNumber),e.set(16,ut.symbolBoolean),e.set(17,ut.symbolArray),e.set(18,ut.symbolObject),e.set(19,ut.symbolKey),e.set(20,ut.symbolNull),e.set(21,ut.symbolEnumMember),e.set(22,ut.symbolStruct),e.set(23,ut.symbolEvent),e.set(24,ut.symbolOperator),e.set(25,ut.symbolTypeParameter);function t(i){let r=e.get(i);return r||(r=ut.symbolProperty),r}n.toIcon=t})(Z6||(Z6={}));let Ed=class Ek{static fromValue(e){switch(e){case"comment":return Ek.Comment;case"imports":return Ek.Imports;case"region":return Ek.Region}return new Ek(e)}constructor(e){this.value=e}};Ed.Comment=new Ed("comment"),Ed.Imports=new Ed("imports"),Ed.Region=new Ed("region");var W6;(function(n){n[n.AIGenerated=1]="AIGenerated"})(W6||(W6={}));var A6;(function(n){function e(t){return!t||typeof t!="object"?!1:typeof t.id=="string"&&typeof t.title=="string"}n.is=e})(A6||(A6={}));var xZ;(function(n){n[n.Type=1]="Type",n[n.Parameter=2]="Parameter"})(xZ||(xZ={}));class Hyt{constructor(e){this.createSupport=e,this._tokenizationSupport=null}dispose(){this._tokenizationSupport&&this._tokenizationSupport.then(e=>{e&&e.dispose()})}get tokenizationSupport(){return this._tokenizationSupport||(this._tokenizationSupport=this.createSupport()),this._tokenizationSupport}}const bo=new Oyt;var _Z;(function(n){n[n.Invoke=0]="Invoke",n[n.Automatic=1]="Automatic"})(_Z||(_Z={}));class Yyt{constructor(){this._onDidChange=new be,this.onDidChange=this._onDidChange.event,this._enabled=!0}get enabled(){return this._enabled}enable(){this._enabled=!0,this._onDidChange.fire()}disable(){this._enabled=!1,this._onDidChange.fire()}}const HF=new Yyt,Oi=Un("keybindingService");var Uyt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Qye=function(n,e){return function(t,i){e(t,i,n)}};class Kyt{constructor(e,t,i,r,o){this._context=e,this.modelLineNumber=t,this.distanceToModelLineStart=i,this.widthOfHiddenLineTextBefore=r,this.distanceToModelLineEnd=o,this._visibleTextAreaBrand=void 0,this.startPosition=null,this.endPosition=null,this.visibleTextareaStart=null,this.visibleTextareaEnd=null,this._previousPresentation=null}prepareRender(e){const t=new ve(this.modelLineNumber,this.distanceToModelLineStart+1),i=new ve(this.modelLineNumber,this._context.viewModel.model.getLineMaxColumn(this.modelLineNumber)-this.distanceToModelLineEnd);this.startPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(t),this.endPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i),this.startPosition.lineNumber===this.endPosition.lineNumber?(this.visibleTextareaStart=e.visibleRangeForPosition(this.startPosition),this.visibleTextareaEnd=e.visibleRangeForPosition(this.endPosition)):(this.visibleTextareaStart=null,this.visibleTextareaEnd=null)}definePresentation(e){return this._previousPresentation||(e?this._previousPresentation=e:this._previousPresentation={foreground:1,italic:!1,bold:!1,underline:!1,strikethrough:!1}),this._previousPresentation}}const V6=Ic;let G6=class extends du{constructor(e,t,i,r,o){super(e),this._keybindingService=r,this._instantiationService=o,this._primaryCursorPosition=new ve(1,1),this._primaryCursorVisibleRange=null,this._viewController=t,this._visibleRangeProvider=i,this._scrollLeft=0,this._scrollTop=0;const s=this._context.configuration.options,a=s.get(145);this._setAccessibilityOptions(s),this._contentLeft=a.contentLeft,this._contentWidth=a.contentWidth,this._contentHeight=a.height,this._fontInfo=s.get(50),this._lineHeight=s.get(67),this._emptySelectionClipboard=s.get(37),this._copyWithSyntaxHighlighting=s.get(25),this._visibleTextArea=null,this._selections=[new Zt(1,1,1,1)],this._modelSelections=[new Zt(1,1,1,1)],this._lastRenderPosition=null,this.textArea=wi(document.createElement("textarea")),Xh.write(this.textArea,7),this.textArea.setClassName(`inputarea ${a2}`),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:l}=this._context.viewModel.model.getOptions();this.textArea.domNode.style.tabSize=`${l*this._fontInfo.spaceWidth}px`,this.textArea.setAttribute("autocorrect","off"),this.textArea.setAttribute("autocapitalize","off"),this.textArea.setAttribute("autocomplete","off"),this.textArea.setAttribute("spellcheck","false"),this.textArea.setAttribute("aria-label",this._getAriaLabel(s)),this.textArea.setAttribute("aria-required",s.get(5)?"true":"false"),this.textArea.setAttribute("tabindex",String(s.get(124))),this.textArea.setAttribute("role","textbox"),this.textArea.setAttribute("aria-roledescription",_("editor","editor")),this.textArea.setAttribute("aria-multiline","true"),this.textArea.setAttribute("aria-autocomplete",s.get(91)?"none":"both"),this._ensureReadOnlyAttribute(),this.textAreaCover=wi(document.createElement("div")),this.textAreaCover.setPosition("absolute");const u={getLineCount:()=>this._context.viewModel.getLineCount(),getLineMaxColumn:h=>this._context.viewModel.getLineMaxColumn(h),getValueInRange:(h,m)=>this._context.viewModel.getValueInRange(h,m),getValueLengthInRange:(h,m)=>this._context.viewModel.getValueLengthInRange(h,m),modifyPosition:(h,m)=>this._context.viewModel.modifyPosition(h,m)},c={getDataToCopy:()=>{const h=this._context.viewModel.getPlainTextToCopy(this._modelSelections,this._emptySelectionClipboard,ha),m=this._context.viewModel.model.getEOL(),f=this._emptySelectionClipboard&&this._modelSelections.length===1&&this._modelSelections[0].isEmpty(),g=Array.isArray(h)?h:null,b=Array.isArray(h)?h.join(m):h;let y,C=null;if(M6.forceCopyWithSyntaxHighlighting||this._copyWithSyntaxHighlighting&&b.length<65536){const w=this._context.viewModel.getRichTextToCopy(this._modelSelections,this._emptySelectionClipboard);w&&(y=w.html,C=w.mode)}return{isFromEmptySelection:f,multicursorText:g,text:b,html:y,mode:C}},getScreenReaderContent:()=>{if(this._accessibilitySupport===1){const h=this._selections[0];if(On&&h.isEmpty()){const f=h.getStartPosition();let g=this._getWordBeforePosition(f);if(g.length===0&&(g=this._getCharacterBeforePosition(f)),g.length>0)return new Rs(g,g.length,g.length,J.fromPositions(f),0)}if(On&&!h.isEmpty()&&u.getValueLengthInRange(h,0)<500){const f=u.getValueInRange(h,0);return new Rs(f,0,f.length,h,0)}if(Sg&&!h.isEmpty()){const f="vscode-placeholder";return new Rs(f,0,f.length,null,void 0)}return Rs.EMPTY}if(vbe){const h=this._selections[0];if(h.isEmpty()){const m=h.getStartPosition(),[f,g]=this._getAndroidWordAtPosition(m);if(f.length>0)return new Rs(f,g,g,J.fromPositions(m),0)}return Rs.EMPTY}return s2.fromEditorSelection(u,this._selections[0],this._accessibilityPageSize,this._accessibilitySupport===0)},deduceModelPosition:(h,m,f)=>this._context.viewModel.deduceModelPositionRelativeToViewPosition(h,m,f)},d=this._register(new nyt(this.textArea.domNode));this._textAreaInput=this._register(this._instantiationService.createInstance(k6,c,d,ru,{isAndroid:vbe,isChrome:YI,isFirefox:Ic,isSafari:Sg})),this._register(this._textAreaInput.onKeyDown(h=>{this._viewController.emitKeyDown(h)})),this._register(this._textAreaInput.onKeyUp(h=>{this._viewController.emitKeyUp(h)})),this._register(this._textAreaInput.onPaste(h=>{let m=!1,f=null,g=null;h.metadata&&(m=this._emptySelectionClipboard&&!!h.metadata.isFromEmptySelection,f=typeof h.metadata.multicursorText<"u"?h.metadata.multicursorText:null,g=h.metadata.mode),this._viewController.paste(h.text,m,f,g)})),this._register(this._textAreaInput.onCut(()=>{this._viewController.cut()})),this._register(this._textAreaInput.onType(h=>{h.replacePrevCharCnt||h.replaceNextCharCnt||h.positionDelta?this._viewController.compositionType(h.text,h.replacePrevCharCnt,h.replaceNextCharCnt,h.positionDelta):this._viewController.type(h.text)})),this._register(this._textAreaInput.onSelectionChangeRequest(h=>{this._viewController.setSelection(h)})),this._register(this._textAreaInput.onCompositionStart(h=>{const m=this.textArea.domNode,f=this._modelSelections[0],{distanceToModelLineStart:g,widthOfHiddenTextBefore:b}=(()=>{const C=m.value.substring(0,Math.min(m.selectionStart,m.selectionEnd)),w=C.lastIndexOf(` +`),x=C.substring(w+1),L=x.lastIndexOf(" "),I=x.length-L-1,D=f.getStartPosition(),N=Math.min(D.column-1,I),T=D.column-1-N,R=x.substring(0,x.length-N),{tabSize:E}=this._context.viewModel.model.getOptions(),W=Jyt(this.textArea.domNode.ownerDocument,R,this._fontInfo,E);return{distanceToModelLineStart:T,widthOfHiddenTextBefore:W}})(),{distanceToModelLineEnd:y}=(()=>{const C=m.value.substring(Math.max(m.selectionStart,m.selectionEnd)),w=C.indexOf(` +`),x=w===-1?C:C.substring(0,w),L=x.indexOf(" "),I=L===-1?x.length:x.length-L-1,D=f.getEndPosition(),N=Math.min(this._context.viewModel.model.getLineMaxColumn(D.lineNumber)-D.column,I);return{distanceToModelLineEnd:this._context.viewModel.model.getLineMaxColumn(D.lineNumber)-D.column-N}})();this._context.viewModel.revealRange("keyboard",!0,J.fromPositions(this._selections[0].getStartPosition()),0,1),this._visibleTextArea=new Kyt(this._context,f.startLineNumber,g,b,y),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render(),this.textArea.setClassName(`inputarea ${a2} ime-input`),this._viewController.compositionStart(),this._context.viewModel.onCompositionStart()})),this._register(this._textAreaInput.onCompositionUpdate(h=>{this._visibleTextArea&&(this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render())})),this._register(this._textAreaInput.onCompositionEnd(()=>{this._visibleTextArea=null,this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._render(),this.textArea.setClassName(`inputarea ${a2}`),this._viewController.compositionEnd(),this._context.viewModel.onCompositionEnd()})),this._register(this._textAreaInput.onFocus(()=>{this._context.viewModel.setHasFocus(!0)})),this._register(this._textAreaInput.onBlur(()=>{this._context.viewModel.setHasFocus(!1)})),this._register(HF.onDidChange(()=>{this._ensureReadOnlyAttribute()}))}writeScreenReaderContent(e){this._textAreaInput.writeNativeTextAreaContent(e)}dispose(){super.dispose()}_getAndroidWordAtPosition(e){const t='`~!@#$%^&*()-=+[{]}\\|;:",.<>/?',i=this._context.viewModel.getLineContent(e.lineNumber),r=Mc(t,[]);let o=!0,s=e.column,a=!0,l=e.column,u=0;for(;u<50&&(o||a);){if(o&&s<=1&&(o=!1),o){const c=i.charCodeAt(s-2);r.get(c)!==0?o=!1:s--}if(a&&l>i.length&&(a=!1),a){const c=i.charCodeAt(l-1);r.get(c)!==0?a=!1:l++}u++}return[i.substring(s-1,l-1),e.column-s]}_getWordBeforePosition(e){const t=this._context.viewModel.getLineContent(e.lineNumber),i=Mc(this._context.configuration.options.get(131),[]);let r=e.column,o=0;for(;r>1;){const s=t.charCodeAt(r-2);if(i.get(s)!==0||o>50)return t.substring(r-1,e.column-1);o++,r--}return t.substring(0,e.column-1)}_getCharacterBeforePosition(e){if(e.column>1){const i=this._context.viewModel.getLineContent(e.lineNumber).charAt(e.column-2);if(!os(i.charCodeAt(0)))return i}return""}_getAriaLabel(e){var t,i,r;if(e.get(2)===1){const s=(t=this._keybindingService.lookupKeybinding("editor.action.toggleScreenReaderAccessibilityMode"))===null||t===void 0?void 0:t.getAriaLabel(),a=(i=this._keybindingService.lookupKeybinding("workbench.action.showCommands"))===null||i===void 0?void 0:i.getAriaLabel(),l=(r=this._keybindingService.lookupKeybinding("workbench.action.openGlobalKeybindings"))===null||r===void 0?void 0:r.getAriaLabel(),u=_("accessibilityModeOff","The editor is not accessible at this time.");return s?_("accessibilityOffAriaLabel","{0} To enable screen reader optimized mode, use {1}",u,s):a?_("accessibilityOffAriaLabelNoKb","{0} To enable screen reader optimized mode, open the quick pick with {1} and run the command Toggle Screen Reader Accessibility Mode, which is currently not triggerable via keyboard.",u,a):l?_("accessibilityOffAriaLabelNoKbs","{0} Please assign a keybinding for the command Toggle Screen Reader Accessibility Mode by accessing the keybindings editor with {1} and run it.",u,l):u}return e.get(4)}_setAccessibilityOptions(e){this._accessibilitySupport=e.get(2);const t=e.get(3);this._accessibilitySupport===2&&t===Wh.accessibilityPageSize.defaultValue?this._accessibilityPageSize=500:this._accessibilityPageSize=t;const r=e.get(145).wrappingColumn;if(r!==-1&&this._accessibilitySupport!==1){const o=e.get(50);this._textAreaWrapping=!0,this._textAreaWidth=Math.round(r*o.typicalHalfwidthCharacterWidth)}else this._textAreaWrapping=!1,this._textAreaWidth=V6?0:1}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(145);this._setAccessibilityOptions(t),this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,this._contentHeight=i.height,this._fontInfo=t.get(50),this._lineHeight=t.get(67),this._emptySelectionClipboard=t.get(37),this._copyWithSyntaxHighlighting=t.get(25),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:r}=this._context.viewModel.model.getOptions();return this.textArea.domNode.style.tabSize=`${r*this._fontInfo.spaceWidth}px`,this.textArea.setAttribute("aria-label",this._getAriaLabel(t)),this.textArea.setAttribute("aria-required",t.get(5)?"true":"false"),this.textArea.setAttribute("tabindex",String(t.get(124))),(e.hasChanged(34)||e.hasChanged(91))&&this._ensureReadOnlyAttribute(),e.hasChanged(2)&&this._textAreaInput.writeNativeTextAreaContent("strategy changed"),!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),this._modelSelections=e.modelSelections.slice(0),this._textAreaInput.writeNativeTextAreaContent("selection changed"),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return this._scrollLeft=e.scrollLeft,this._scrollTop=e.scrollTop,!0}onZonesChanged(e){return!0}isFocused(){return this._textAreaInput.isFocused()}focusTextArea(){this._textAreaInput.focusTextArea()}getLastRenderData(){return this._lastRenderPosition}setAriaOptions(e){e.activeDescendant?(this.textArea.setAttribute("aria-haspopup","true"),this.textArea.setAttribute("aria-autocomplete","list"),this.textArea.setAttribute("aria-activedescendant",e.activeDescendant)):(this.textArea.setAttribute("aria-haspopup","false"),this.textArea.setAttribute("aria-autocomplete","both"),this.textArea.removeAttribute("aria-activedescendant")),e.role&&this.textArea.setAttribute("role",e.role)}_ensureReadOnlyAttribute(){const e=this._context.configuration.options;!HF.enabled||e.get(34)&&e.get(91)?this.textArea.setAttribute("readonly","true"):this.textArea.removeAttribute("readonly")}prepareRender(e){var t;this._primaryCursorPosition=new ve(this._selections[0].positionLineNumber,this._selections[0].positionColumn),this._primaryCursorVisibleRange=e.visibleRangeForPosition(this._primaryCursorPosition),(t=this._visibleTextArea)===null||t===void 0||t.prepareRender(e)}render(e){this._textAreaInput.writeNativeTextAreaContent("render"),this._render()}_render(){var e;if(this._visibleTextArea){const r=this._visibleTextArea.visibleTextareaStart,o=this._visibleTextArea.visibleTextareaEnd,s=this._visibleTextArea.startPosition,a=this._visibleTextArea.endPosition;if(s&&a&&r&&o&&o.left>=this._scrollLeft&&r.left<=this._scrollLeft+this._contentWidth){const l=this._context.viewLayout.getVerticalOffsetForLineNumber(this._primaryCursorPosition.lineNumber)-this._scrollTop,u=this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));let c=this._visibleTextArea.widthOfHiddenLineTextBefore,d=this._contentLeft+r.left-this._scrollLeft,h=o.left-r.left+1;if(dthis._contentWidth&&(h=this._contentWidth);const m=this._context.viewModel.getViewLineData(s.lineNumber),f=m.tokens.findTokenIndexAtOffset(s.column-1),g=m.tokens.findTokenIndexAtOffset(a.column-1),b=f===g,y=this._visibleTextArea.definePresentation(b?m.tokens.getPresentation(f):null);this.textArea.domNode.scrollTop=u*this._lineHeight,this.textArea.domNode.scrollLeft=c,this._doRender({lastRenderPosition:null,top:l,left:d,width:h,height:this._lineHeight,useCover:!1,color:(bo.getColorMap()||[])[y.foreground],italic:y.italic,bold:y.bold,underline:y.underline,strikethrough:y.strikethrough})}return}if(!this._primaryCursorVisibleRange){this._renderAtTopLeft();return}const t=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(tthis._contentLeft+this._contentWidth){this._renderAtTopLeft();return}const i=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;if(i<0||i>this._contentHeight){this._renderAtTopLeft();return}if(On||this._accessibilitySupport===2){this._doRender({lastRenderPosition:this._primaryCursorPosition,top:i,left:this._textAreaWrapping?this._contentLeft:t,width:this._textAreaWidth,height:this._lineHeight,useCover:!1}),this.textArea.domNode.scrollLeft=this._primaryCursorVisibleRange.left;const r=(e=this._textAreaInput.textAreaState.newlineCountBeforeSelection)!==null&&e!==void 0?e:this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));this.textArea.domNode.scrollTop=r*this._lineHeight;return}this._doRender({lastRenderPosition:this._primaryCursorPosition,top:i,left:this._textAreaWrapping?this._contentLeft:t,width:this._textAreaWidth,height:V6?0:1,useCover:!1})}_newlinecount(e){let t=0,i=-1;do{if(i=e.indexOf(` +`,i+1),i===-1)break;t++}while(!0);return t}_renderAtTopLeft(){this._doRender({lastRenderPosition:null,top:0,left:0,width:this._textAreaWidth,height:V6?0:1,useCover:!0})}_doRender(e){this._lastRenderPosition=e.lastRenderPosition;const t=this.textArea,i=this.textAreaCover;Ts(t,this._fontInfo),t.setTop(e.top),t.setLeft(e.left),t.setWidth(e.width),t.setHeight(e.height),t.setColor(e.color?Re.Format.CSS.formatHex(e.color):""),t.setFontStyle(e.italic?"italic":""),e.bold&&t.setFontWeight("bold"),t.setTextDecoration(`${e.underline?" underline":""}${e.strikethrough?" line-through":""}`),i.setTop(e.useCover?e.top:0),i.setLeft(e.useCover?e.left:0),i.setWidth(e.useCover?e.width:0),i.setHeight(e.useCover?e.height:0);const r=this._context.configuration.options;r.get(57)?i.setClassName("monaco-editor-background textAreaCover "+mv.OUTER_CLASS_NAME):r.get(68).renderType!==0?i.setClassName("monaco-editor-background textAreaCover "+XF.CLASS_NAME):i.setClassName("monaco-editor-background textAreaCover")}};G6=Uyt([Qye(3,Oi),Qye(4,$t)],G6);function Jyt(n,e,t,i){if(e.length===0)return 0;const r=n.createElement("div");r.style.position="absolute",r.style.top="-50000px",r.style.width="50000px";const o=n.createElement("span");Ts(o,t),o.style.whiteSpace="pre",o.style.tabSize=`${i*t.spaceWidth}px`,o.append(e),r.appendChild(o),n.body.appendChild(r);const s=o.offsetWidth;return n.body.removeChild(r),s}class jyt{constructor(e,t,i,r){this.configuration=e,this.viewModel=t,this.userInputEvents=i,this.commandDelegate=r}paste(e,t,i,r){this.commandDelegate.paste(e,t,i,r)}type(e){this.commandDelegate.type(e)}compositionType(e,t,i,r){this.commandDelegate.compositionType(e,t,i,r)}compositionStart(){this.commandDelegate.startComposition()}compositionEnd(){this.commandDelegate.endComposition()}cut(){this.commandDelegate.cut()}setSelection(e){bs.SetSelection.runCoreEditorCommand(this.viewModel,{source:"keyboard",selection:e})}_validateViewColumn(e){const t=this.viewModel.getLineMinColumn(e.lineNumber);return e.column=4?this._selectAll():e.mouseDownCount===3?this._hasMulticursorModifier(e)?e.inSelectionMode?this._lastCursorLineSelectDrag(e.position,e.revealType):this._lastCursorLineSelect(e.position,e.revealType):e.inSelectionMode?this._lineSelectDrag(e.position,e.revealType):this._lineSelect(e.position,e.revealType):e.mouseDownCount===2?e.onInjectedText||(this._hasMulticursorModifier(e)?this._lastCursorWordSelect(e.position,e.revealType):e.inSelectionMode?this._wordSelectDrag(e.position,e.revealType):this._wordSelect(e.position,e.revealType)):this._hasMulticursorModifier(e)?this._hasNonMulticursorModifier(e)||(e.shiftKey?this._columnSelect(e.position,e.mouseColumn,!0):e.inSelectionMode?this._lastCursorMoveToSelect(e.position,e.revealType):this._createCursor(e.position,!1)):e.inSelectionMode?e.altKey?this._columnSelect(e.position,e.mouseColumn,!0):r?this._columnSelect(e.position,e.mouseColumn,!0):this._moveToSelect(e.position,e.revealType):this.moveTo(e.position,e.revealType)}_usualArgs(e,t){return e=this._validateViewColumn(e),{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,revealType:t}}moveTo(e,t){bs.MoveTo.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_moveToSelect(e,t){bs.MoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_columnSelect(e,t,i){e=this._validateViewColumn(e),bs.ColumnSelect.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,mouseColumn:t,doColumnSelect:i})}_createCursor(e,t){e=this._validateViewColumn(e),bs.CreateCursor.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,wholeLine:t})}_lastCursorMoveToSelect(e,t){bs.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_wordSelect(e,t){bs.WordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_wordSelectDrag(e,t){bs.WordSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorWordSelect(e,t){bs.LastCursorWordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lineSelect(e,t){bs.LineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lineSelectDrag(e,t){bs.LineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorLineSelect(e,t){bs.LastCursorLineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorLineSelectDrag(e,t){bs.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_selectAll(){bs.SelectAll.runCoreEditorCommand(this.viewModel,{source:"mouse"})}_convertViewToModelPosition(e){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(e)}emitKeyDown(e){this.userInputEvents.emitKeyDown(e)}emitKeyUp(e){this.userInputEvents.emitKeyUp(e)}emitContextMenu(e){this.userInputEvents.emitContextMenu(e)}emitMouseMove(e){this.userInputEvents.emitMouseMove(e)}emitMouseLeave(e){this.userInputEvents.emitMouseLeave(e)}emitMouseUp(e){this.userInputEvents.emitMouseUp(e)}emitMouseDown(e){this.userInputEvents.emitMouseDown(e)}emitMouseDrag(e){this.userInputEvents.emitMouseDrag(e)}emitMouseDrop(e){this.userInputEvents.emitMouseDrop(e)}emitMouseDropCanceled(){this.userInputEvents.emitMouseDropCanceled()}emitMouseWheel(e){this.userInputEvents.emitMouseWheel(e)}}function jg(n,e){var t;const i=globalThis.MonacoEnvironment;if(i!=null&&i.createTrustedTypesPolicy)try{return i.createTrustedTypesPolicy(n,e)}catch(r){yn(r);return}try{return(t=Zi.trustedTypes)===null||t===void 0?void 0:t.createPolicy(n,e)}catch(r){yn(r);return}}class $ye{constructor(e){this._createLine=e,this._set(1,[])}flush(){this._set(1,[])}_set(e,t){this._lines=t,this._rendLineNumberStart=e}_get(){return{rendLineNumberStart:this._rendLineNumberStart,lines:this._lines}}getStartLineNumber(){return this._rendLineNumberStart}getEndLineNumber(){return this._rendLineNumberStart+this._lines.length-1}getCount(){return this._lines.length}getLine(e){const t=e-this._rendLineNumberStart;if(t<0||t>=this._lines.length)throw new rr("Illegal value for lineNumber");return this._lines[t]}onLinesDeleted(e,t){if(this.getCount()===0)return null;const i=this.getStartLineNumber(),r=this.getEndLineNumber();if(tr)return null;let o=0,s=0;for(let l=i;l<=r;l++){const u=l-this._rendLineNumberStart;e<=l&&l<=t&&(s===0?(o=u,s=1):s++)}if(e=r&&a<=o&&(this._lines[a-this._rendLineNumberStart].onContentChanged(),s=!0);return s}onLinesInserted(e,t){if(this.getCount()===0)return null;const i=t-e+1,r=this.getStartLineNumber(),o=this.getEndLineNumber();if(e<=r)return this._rendLineNumberStart+=i,null;if(e>o)return null;if(i+e>o)return this._lines.splice(e-this._rendLineNumberStart,o-e+1);const s=[];for(let d=0;di)continue;const l=Math.max(t,a.fromLineNumber),u=Math.min(i,a.toLineNumber);for(let c=l;c<=u;c++){const d=c-this._rendLineNumberStart;this._lines[d].onTokensChanged(),r=!0}}return r}}class qye{constructor(e){this._host=e,this.domNode=this._createDomNode(),this._linesCollection=new $ye(()=>this._host.createVisibleLine())}_createDomNode(){const e=wi(document.createElement("div"));return e.setClassName("view-layer"),e.setPosition("absolute"),e.domNode.setAttribute("role","presentation"),e.domNode.setAttribute("aria-hidden","true"),e}onConfigurationChanged(e){return!!e.hasChanged(145)}onFlushed(e){return this._linesCollection.flush(),!0}onLinesChanged(e){return this._linesCollection.onLinesChanged(e.fromLineNumber,e.count)}onLinesDeleted(e){const t=this._linesCollection.onLinesDeleted(e.fromLineNumber,e.toLineNumber);if(t)for(let i=0,r=t.length;it){const s=t,a=Math.min(i,o.rendLineNumberStart-1);s<=a&&(this._insertLinesBefore(o,s,a,r,t),o.linesLength+=a-s+1)}else if(o.rendLineNumberStart0&&(this._removeLinesBefore(o,s),o.linesLength-=s)}if(o.rendLineNumberStart=t,o.rendLineNumberStart+o.linesLength-1i){const s=Math.max(0,i-o.rendLineNumberStart+1),l=o.linesLength-1-s+1;l>0&&(this._removeLinesAfter(o,l),o.linesLength-=l)}return this._finishRendering(o,!1,r),o}_renderUntouchedLines(e,t,i,r,o){const s=e.rendLineNumberStart,a=e.lines;for(let l=t;l<=i;l++){const u=s+l;a[l].layoutLine(u,r[u-o],this.viewportData.lineHeight)}}_insertLinesBefore(e,t,i,r,o){const s=[];let a=0;for(let l=t;l<=i;l++)s[a++]=this.host.createVisibleLine();e.lines=s.concat(e.lines)}_removeLinesBefore(e,t){for(let i=0;i=0;a--){const l=e.lines[a];r[a]&&(l.setDomNode(s),s=s.previousSibling)}}_finishRenderingInvalidLines(e,t,i){const r=document.createElement("div");Qg._ttPolicy&&(t=Qg._ttPolicy.createHTML(t)),r.innerHTML=t;for(let o=0;on}),Qg._sb=new Tw(1e5);class eve extends du{constructor(e){super(e),this._visibleLines=new qye(this),this.domNode=this._visibleLines.domNode;const i=this._context.configuration.options.get(50);Ts(this.domNode,i),this._dynamicOverlays=[],this._isFocused=!1,this.domNode.setClassName("view-overlays")}shouldRender(){if(super.shouldRender())return!0;for(let e=0,t=this._dynamicOverlays.length;ei.shouldRender());for(let i=0,r=t.length;i'),o.appendString(s),o.appendString(""),!0)}layoutLine(e,t,i){this._domNode&&(this._domNode.setTop(t),this._domNode.setHeight(i))}}class $yt extends eve{constructor(e){super(e);const i=this._context.configuration.options.get(145);this._contentWidth=i.contentWidth,this.domNode.setHeight(0)}onConfigurationChanged(e){const i=this._context.configuration.options.get(145);return this._contentWidth=i.contentWidth,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollWidthChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e),this.domNode.setWidth(Math.max(e.scrollWidth,this._contentWidth))}}class qyt extends eve{constructor(e){super(e);const t=this._context.configuration.options,i=t.get(145);this._contentLeft=i.contentLeft,this.domNode.setClassName("margin-view-overlays"),this.domNode.setWidth(1),Ts(this.domNode,t.get(50))}onConfigurationChanged(e){const t=this._context.configuration.options;Ts(this.domNode,t.get(50));const i=t.get(145);return this._contentLeft=i.contentLeft,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollHeightChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e);const t=Math.min(e.scrollHeight,1e6);this.domNode.setHeight(t),this.domNode.setWidth(this._contentLeft)}}class LZ{constructor(e){this.onKeyDown=null,this.onKeyUp=null,this.onContextMenu=null,this.onMouseMove=null,this.onMouseLeave=null,this.onMouseDown=null,this.onMouseUp=null,this.onMouseDrag=null,this.onMouseDrop=null,this.onMouseDropCanceled=null,this.onMouseWheel=null,this._coordinatesConverter=e}emitKeyDown(e){var t;(t=this.onKeyDown)===null||t===void 0||t.call(this,e)}emitKeyUp(e){var t;(t=this.onKeyUp)===null||t===void 0||t.call(this,e)}emitContextMenu(e){var t;(t=this.onContextMenu)===null||t===void 0||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseMove(e){var t;(t=this.onMouseMove)===null||t===void 0||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseLeave(e){var t;(t=this.onMouseLeave)===null||t===void 0||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDown(e){var t;(t=this.onMouseDown)===null||t===void 0||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseUp(e){var t;(t=this.onMouseUp)===null||t===void 0||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDrag(e){var t;(t=this.onMouseDrag)===null||t===void 0||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDrop(e){var t;(t=this.onMouseDrop)===null||t===void 0||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDropCanceled(){var e;(e=this.onMouseDropCanceled)===null||e===void 0||e.call(this)}emitMouseWheel(e){var t;(t=this.onMouseWheel)===null||t===void 0||t.call(this,e)}_convertViewToModelMouseEvent(e){return e.target?{event:e.event,target:this._convertViewToModelMouseTarget(e.target)}:e}_convertViewToModelMouseTarget(e){return LZ.convertViewToModelMouseTarget(e,this._coordinatesConverter)}static convertViewToModelMouseTarget(e,t){const i={...e};return i.position&&(i.position=t.convertViewPositionToModelPosition(i.position)),i.range&&(i.range=t.convertViewRangeToModelRange(i.range)),(i.type===5||i.type===8)&&(i.detail=this.convertViewToModelViewZoneData(i.detail,t)),i}static convertViewToModelViewZoneData(e,t){return{viewZoneId:e.viewZoneId,positionBefore:e.positionBefore?t.convertViewPositionToModelPosition(e.positionBefore):e.positionBefore,positionAfter:e.positionAfter?t.convertViewPositionToModelPosition(e.positionAfter):e.positionAfter,position:t.convertViewPositionToModelPosition(e.position),afterLineNumber:t.convertViewPositionToModelPosition(new ve(e.afterLineNumber,1)).lineNumber}}}class evt extends du{constructor(e){super(e),this.blocks=[],this.contentWidth=-1,this.contentLeft=0,this.domNode=wi(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("blockDecorations-container"),this.update()}update(){let e=!1;const i=this._context.configuration.options.get(145),r=i.contentWidth-i.verticalScrollbarWidth;this.contentWidth!==r&&(this.contentWidth=r,e=!0);const o=i.contentLeft;return this.contentLeft!==o&&(this.contentLeft=o,e=!0),e}dispose(){super.dispose()}onConfigurationChanged(e){return this.update()}onScrollChanged(e){return e.scrollTopChanged||e.scrollLeftChanged}onDecorationsChanged(e){return!0}onZonesChanged(e){return!0}prepareRender(e){}render(e){var t;let i=0;const r=e.getDecorationsInViewport();for(const o of r){if(!o.options.blockClassName)continue;let s=this.blocks[i];s||(s=this.blocks[i]=wi(document.createElement("div")),this.domNode.appendChild(s));let a,l;o.options.blockIsAfterEnd?(a=e.getVerticalOffsetAfterLineNumber(o.range.endLineNumber,!1),l=e.getVerticalOffsetAfterLineNumber(o.range.endLineNumber,!0)):(a=e.getVerticalOffsetForLineNumber(o.range.startLineNumber,!0),l=o.range.isEmpty()&&!o.options.blockDoesNotCollapse?e.getVerticalOffsetForLineNumber(o.range.startLineNumber,!1):e.getVerticalOffsetAfterLineNumber(o.range.endLineNumber,!0));const[u,c,d,h]=(t=o.options.blockPadding)!==null&&t!==void 0?t:[0,0,0,0];s.setClassName("blockDecorations-block "+o.options.blockClassName),s.setLeft(this.contentLeft-h),s.setWidth(this.contentWidth+h+c),s.setTop(a-e.scrollTop-u),s.setHeight(l-a+u+d),i++}for(let o=i;o0?this.domNode.setDisplay("block"):this.domNode.setDisplay("none"),this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1}_layoutBoxInViewport(e,t,i,r){const o=e.top,s=o,a=e.top+e.height,l=r.viewportHeight-a,u=o-i,c=s>=i,d=a,h=l>=i;let m=e.left;return m+t>r.scrollLeft+r.viewportWidth&&(m=r.scrollLeft+r.viewportWidth-t),mu){const m=h-(u-r);h-=m,i-=m}if(h=y,x=m+i<=f.height-C;return this._fixedOverflowWidgets?{fitsAbove:w,aboveTop:Math.max(h,y),fitsBelow:x,belowTop:m,left:b}:{fitsAbove:w,aboveTop:a,fitsBelow:x,belowTop:l,left:g}}_prepareRenderWidgetAtExactPositionOverflowing(e){return new UF(e.top,e.left+this._contentLeft)}_getAnchorsCoordinates(e){var t,i;const r=a(this._primaryAnchor.viewPosition,this._affinity,this._lineHeight),o=((t=this._secondaryAnchor.viewPosition)===null||t===void 0?void 0:t.lineNumber)===((i=this._primaryAnchor.viewPosition)===null||i===void 0?void 0:i.lineNumber)?this._secondaryAnchor.viewPosition:null,s=a(o,this._affinity,this._lineHeight);return{primary:r,secondary:s};function a(l,u,c){if(!l)return null;const d=e.visibleRangeForPosition(l);if(!d)return null;const h=l.column===1&&u===3?0:d.left,m=e.getVerticalOffsetForLineNumber(l.lineNumber)-e.scrollTop;return new tve(m,h,c)}}_reduceAnchorCoordinates(e,t,i){if(!t)return e;const r=this._context.configuration.options.get(50);let o=t.left;return oe.endLineNumber||this.domNode.setMaxWidth(this._maxWidth)}prepareRender(e){this._renderData=this._prepareRenderWidget(e)}render(e){if(!this._renderData){this._isVisible&&(this.domNode.removeAttribute("monaco-visible-content-widget"),this._isVisible=!1,this.domNode.setVisibility("hidden")),typeof this._actual.afterRender=="function"&&X6(this._actual.afterRender,this._actual,null);return}this.allowEditorOverflow?(this.domNode.setTop(this._renderData.coordinate.top),this.domNode.setLeft(this._renderData.coordinate.left)):(this.domNode.setTop(this._renderData.coordinate.top+e.scrollTop-e.bigNumbersDelta),this.domNode.setLeft(this._renderData.coordinate.left)),this._isVisible||(this.domNode.setVisibility("inherit"),this.domNode.setAttribute("monaco-visible-content-widget","true"),this._isVisible=!0),typeof this._actual.afterRender=="function"&&X6(this._actual.afterRender,this._actual,this._renderData.position)}}class YF{constructor(e,t){this.modelPosition=e,this.viewPosition=t}}class UF{constructor(e,t){this.top=e,this.left=t,this._coordinateBrand=void 0}}class tve{constructor(e,t,i){this.top=e,this.left=t,this.height=i,this._anchorCoordinateBrand=void 0}}function X6(n,e,...t){try{return n.call(e,...t)}catch{return null}}class nve extends hv{constructor(e){super(),this._context=e;const t=this._context.configuration.options,i=t.get(145);this._renderLineHighlight=t.get(96),this._renderLineHighlightOnlyWhenFocus=t.get(97),this._wordWrap=i.isViewportWrapping,this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,this._selectionIsEmpty=!0,this._focused=!1,this._cursorLineNumbers=[1],this._selections=[new Zt(1,1,1,1)],this._renderData=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}_readFromSelections(){let e=!1;const t=new Set;for(const o of this._selections)t.add(o.positionLineNumber);const i=Array.from(t);i.sort((o,s)=>o-s),Nr(this._cursorLineNumbers,i)||(this._cursorLineNumbers=i,e=!0);const r=this._selections.every(o=>o.isEmpty());return this._selectionIsEmpty!==r&&(this._selectionIsEmpty=r,e=!0),e}onThemeChanged(e){return this._readFromSelections()}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(145);return this._renderLineHighlight=t.get(96),this._renderLineHighlightOnlyWhenFocus=t.get(97),this._wordWrap=i.isViewportWrapping,this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,!0}onCursorStateChanged(e){return this._selections=e.selections,this._readFromSelections()}onFlushed(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollWidthChanged||e.scrollTopChanged}onZonesChanged(e){return!0}onFocusChanged(e){return this._renderLineHighlightOnlyWhenFocus?(this._focused=e.isFocused,!0):!1}prepareRender(e){if(!this._shouldRenderThis()){this._renderData=null;return}const t=e.visibleRange.startLineNumber,i=e.visibleRange.endLineNumber,r=[];for(let s=t;s<=i;s++){const a=s-t;r[a]=""}if(this._wordWrap){const s=this._renderOne(e,!1);for(const a of this._cursorLineNumbers){const l=this._context.viewModel.coordinatesConverter,u=l.convertViewPositionToModelPosition(new ve(a,1)).lineNumber,c=l.convertModelPositionToViewPosition(new ve(u,1)).lineNumber,d=l.convertModelPositionToViewPosition(new ve(u,this._context.viewModel.model.getLineMaxColumn(u))).lineNumber,h=Math.max(c,t),m=Math.min(d,i);for(let f=h;f<=m;f++){const g=f-t;r[g]=s}}}const o=this._renderOne(e,!0);for(const s of this._cursorLineNumbers){if(si)continue;const a=s-t;r[a]=o}this._renderData=r}render(e,t){if(!this._renderData)return"";const i=t-e;return i>=this._renderData.length?"":this._renderData[i]}_shouldRenderInMargin(){return(this._renderLineHighlight==="gutter"||this._renderLineHighlight==="all")&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}_shouldRenderInContent(){return(this._renderLineHighlight==="line"||this._renderLineHighlight==="all")&&this._selectionIsEmpty&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}}class ivt extends nve{_renderOne(e,t){return`
`}_shouldRenderThis(){return this._shouldRenderInContent()}_shouldRenderOther(){return this._shouldRenderInMargin()}}class rvt extends nve{_renderOne(e,t){return`
`}_shouldRenderThis(){return!0}_shouldRenderOther(){return this._shouldRenderInContent()}}Xc((n,e)=>{const t=n.getColor(Xye);if(t&&(e.addRule(`.monaco-editor .view-overlays .current-line { background-color: ${t}; }`),e.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { background-color: ${t}; border: none; }`)),!t||t.isTransparent()||n.defines(Pye)){const i=n.getColor(Pye);i&&(e.addRule(`.monaco-editor .view-overlays .current-line-exact { border: 2px solid ${i}; }`),e.addRule(`.monaco-editor .margin-view-overlays .current-line-exact-margin { border: 2px solid ${i}; }`),rf(n.type)&&(e.addRule(".monaco-editor .view-overlays .current-line-exact { border-width: 1px; }"),e.addRule(".monaco-editor .margin-view-overlays .current-line-exact-margin { border-width: 1px; }")))}});class ovt extends hv{constructor(e){super(),this._context=e;const t=this._context.configuration.options;this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged||e.scrollWidthChanged}onZonesChanged(e){return!0}prepareRender(e){const t=e.getDecorationsInViewport();let i=[],r=0;for(let l=0,u=t.length;l{if(l.options.zIndexu.options.zIndex)return 1;const c=l.options.className,d=u.options.className;return cd?1:J.compareRangesUsingStarts(l.range,u.range)});const o=e.visibleRange.startLineNumber,s=e.visibleRange.endLineNumber,a=[];for(let l=o;l<=s;l++){const u=l-o;a[u]=""}this._renderWholeLineDecorations(e,i,a),this._renderNormalDecorations(e,i,a),this._renderResult=a}_renderWholeLineDecorations(e,t,i){const r=e.visibleRange.startLineNumber,o=e.visibleRange.endLineNumber;for(let s=0,a=t.length;s',c=Math.max(l.range.startLineNumber,r),d=Math.min(l.range.endLineNumber,o);for(let h=c;h<=d;h++){const m=h-r;i[m]+=u}}}_renderNormalDecorations(e,t,i){var r;const o=e.visibleRange.startLineNumber;let s=null,a=!1,l=null,u=!1;for(let c=0,d=t.length;c';a[h]+=y}}}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}class svt extends du{constructor(e,t,i,r){super(e);const o=this._context.configuration.options,s=o.get(103),a=o.get(75),l=o.get(40),u=o.get(106),c={listenOnDomNode:i.domNode,className:"editor-scrollable "+E6(e.theme.type),useShadows:!1,lazyRender:!0,vertical:s.vertical,horizontal:s.horizontal,verticalHasArrows:s.verticalHasArrows,horizontalHasArrows:s.horizontalHasArrows,verticalScrollbarSize:s.verticalScrollbarSize,verticalSliderSize:s.verticalSliderSize,horizontalScrollbarSize:s.horizontalScrollbarSize,horizontalSliderSize:s.horizontalSliderSize,handleMouseWheel:s.handleMouseWheel,alwaysConsumeMouseWheel:s.alwaysConsumeMouseWheel,arrowSize:s.arrowSize,mouseWheelScrollSensitivity:a,fastScrollSensitivity:l,scrollPredominantAxis:u,scrollByPage:s.scrollByPage};this.scrollbar=this._register(new gZ(t.domNode,c,this._context.viewLayout.getScrollable())),Xh.write(this.scrollbar.getDomNode(),6),this.scrollbarDomNode=wi(this.scrollbar.getDomNode()),this.scrollbarDomNode.setPosition("absolute"),this._setLayout();const d=(h,m,f)=>{const g={};if(m){const b=h.scrollTop;b&&(g.scrollTop=this._context.viewLayout.getCurrentScrollTop()+b,h.scrollTop=0)}if(f){const b=h.scrollLeft;b&&(g.scrollLeft=this._context.viewLayout.getCurrentScrollLeft()+b,h.scrollLeft=0)}this._context.viewModel.viewLayout.setScrollPosition(g,1)};this._register(Ve(i.domNode,"scroll",h=>d(i.domNode,!0,!0))),this._register(Ve(t.domNode,"scroll",h=>d(t.domNode,!0,!1))),this._register(Ve(r.domNode,"scroll",h=>d(r.domNode,!0,!1))),this._register(Ve(this.scrollbarDomNode.domNode,"scroll",h=>d(this.scrollbarDomNode.domNode,!0,!1)))}dispose(){super.dispose()}_setLayout(){const e=this._context.configuration.options,t=e.get(145);this.scrollbarDomNode.setLeft(t.contentLeft),e.get(73).side==="right"?this.scrollbarDomNode.setWidth(t.contentWidth+t.minimap.minimapWidth):this.scrollbarDomNode.setWidth(t.contentWidth),this.scrollbarDomNode.setHeight(t.height)}getOverviewRulerLayoutInfo(){return this.scrollbar.getOverviewRulerLayoutInfo()}getDomNode(){return this.scrollbarDomNode}delegateVerticalScrollbarPointerDown(e){this.scrollbar.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this.scrollbar.delegateScrollFromMouseWheelEvent(e)}onConfigurationChanged(e){if(e.hasChanged(103)||e.hasChanged(75)||e.hasChanged(40)){const t=this._context.configuration.options,i=t.get(103),r=t.get(75),o=t.get(40),s=t.get(106),a={vertical:i.vertical,horizontal:i.horizontal,verticalScrollbarSize:i.verticalScrollbarSize,horizontalScrollbarSize:i.horizontalScrollbarSize,scrollByPage:i.scrollByPage,handleMouseWheel:i.handleMouseWheel,mouseWheelScrollSensitivity:r,fastScrollSensitivity:o,scrollPredominantAxis:s};this.scrollbar.updateOptions(a)}return e.hasChanged(145)&&this._setLayout(),!0}onScrollChanged(e){return!0}onThemeChanged(e){return this.scrollbar.updateClassName("editor-scrollable "+E6(this._context.theme.type)),!0}prepareRender(e){}render(e){this.scrollbar.renderNow()}}var Pc;(function(n){n[n.Left=1]="Left",n[n.Center=2]="Center",n[n.Right=4]="Right",n[n.Full=7]="Full"})(Pc||(Pc={}));var lf;(function(n){n[n.Left=1]="Left",n[n.Center=2]="Center",n[n.Right=3]="Right"})(lf||(lf={}));var Rd;(function(n){n[n.Both=0]="Both",n[n.Right=1]="Right",n[n.Left=2]="Left",n[n.None=3]="None"})(Rd||(Rd={}));class IZ{get originalIndentSize(){return this._indentSizeIsTabSize?"tabSize":this.indentSize}constructor(e){this._textModelResolvedOptionsBrand=void 0,this.tabSize=Math.max(1,e.tabSize|0),e.indentSize==="tabSize"?(this.indentSize=this.tabSize,this._indentSizeIsTabSize=!0):(this.indentSize=Math.max(1,e.indentSize|0),this._indentSizeIsTabSize=!1),this.insertSpaces=!!e.insertSpaces,this.defaultEOL=e.defaultEOL|0,this.trimAutoWhitespace=!!e.trimAutoWhitespace,this.bracketPairColorizationOptions=e.bracketPairColorizationOptions}equals(e){return this.tabSize===e.tabSize&&this._indentSizeIsTabSize===e._indentSizeIsTabSize&&this.indentSize===e.indentSize&&this.insertSpaces===e.insertSpaces&&this.defaultEOL===e.defaultEOL&&this.trimAutoWhitespace===e.trimAutoWhitespace&&Ou(this.bracketPairColorizationOptions,e.bracketPairColorizationOptions)}createChangeEvent(e){return{tabSize:this.tabSize!==e.tabSize,indentSize:this.indentSize!==e.indentSize,insertSpaces:this.insertSpaces!==e.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==e.trimAutoWhitespace}}}class KF{constructor(e,t){this._findMatchBrand=void 0,this.range=e,this.matches=t}}function avt(n){return n&&typeof n.read=="function"}class P6{constructor(e,t,i,r,o,s){this.identifier=e,this.range=t,this.text=i,this.forceMoveMarkers=r,this.isAutoWhitespaceEdit=o,this._isTracked=s}}class lvt{constructor(e,t,i){this.regex=e,this.wordSeparators=t,this.simpleSearch=i}}class uvt{constructor(e,t,i){this.reverseEdits=e,this.changes=t,this.trimAutoWhitespaceLineNumbers=i}}function ive(n){return!n.isTooLargeForSyncing()&&!n.isForSimpleWidget}class O6{constructor(e,t,i,r,o){this.startLineNumber=e,this.endLineNumber=t,this.className=i,this.tooltip=r,this._decorationToRenderBrand=void 0,this.zIndex=o??0}}class cvt{constructor(e,t,i){this.className=e,this.zIndex=t,this.tooltip=i}}class dvt{constructor(){this.decorations=[]}add(e){this.decorations.push(e)}getDecorations(){return this.decorations}}class rve extends hv{_render(e,t,i){const r=[];for(let a=e;a<=t;a++){const l=a-e;r[l]=new dvt}if(i.length===0)return r;i.sort((a,l)=>a.className===l.className?a.startLineNumber===l.startLineNumber?a.endLineNumber-l.endLineNumber:a.startLineNumber-l.startLineNumber:a.classNamer)continue;const u=Math.max(a,i),c=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new ve(u,0)),d=this._context.viewModel.glyphLanes.getLanesAtLine(c.lineNumber).indexOf(o.preference.lane);t.push(new fvt(u,d,o.preference.zIndex,o))}}_collectSortedGlyphRenderRequests(e){const t=[];return this._collectDecorationBasedGlyphRenderRequest(e,t),this._collectWidgetBasedGlyphRenderRequest(e,t),t.sort((i,r)=>i.lineNumber===r.lineNumber?i.laneIndex===r.laneIndex?i.zIndex===r.zIndex?r.type===i.type?i.type===0&&r.type===0?i.className0;){const r=t.peek();if(!r)break;const o=t.takeWhile(a=>a.lineNumber===r.lineNumber&&a.laneIndex===r.laneIndex);if(!o||o.length===0)break;const s=o[0];if(s.type===0){const a=[];for(const l of o){if(l.zIndex!==s.zIndex||l.type!==s.type)break;(a.length===0||a[a.length-1]!==l.className)&&a.push(l.className)}i.push(s.accept(a.join(" ")))}else s.widget.renderInfo={lineNumber:s.lineNumber,laneIndex:s.laneIndex}}this._decorationGlyphsToRender=i}render(e){if(!this._glyphMargin){for(const i of Object.values(this._widgets))i.domNode.setDisplay("none");for(;this._managedDomNodes.length>0;){const i=this._managedDomNodes.pop();i==null||i.domNode.remove()}return}const t=Math.round(this._glyphMarginWidth/this._glyphMarginDecorationLaneCount);for(const i of Object.values(this._widgets))if(!i.renderInfo)i.domNode.setDisplay("none");else{const r=e.viewportData.relativeVerticalOffset[i.renderInfo.lineNumber-e.viewportData.startLineNumber],o=this._glyphMarginLeft+i.renderInfo.laneIndex*this._lineHeight;i.domNode.setDisplay("block"),i.domNode.setTop(r),i.domNode.setLeft(o),i.domNode.setWidth(t),i.domNode.setHeight(this._lineHeight)}for(let i=0;ithis._decorationGlyphsToRender.length;){const i=this._managedDomNodes.pop();i==null||i.domNode.remove()}}}class mvt{constructor(e,t,i,r){this.lineNumber=e,this.laneIndex=t,this.zIndex=i,this.className=r,this.type=0}accept(e){return new gvt(this.lineNumber,this.laneIndex,e)}}class fvt{constructor(e,t,i,r){this.lineNumber=e,this.laneIndex=t,this.zIndex=i,this.widget=r,this.type=1}}class gvt{constructor(e,t,i){this.lineNumber=e,this.laneIndex=t,this.combinedClassName=i}}function FZ(n,e,t){const i=pvt(n,e);if(i!==-1)return n[i]}function pvt(n,e,t=n.length-1){for(let i=t;i>=0;i--){const r=n[i];if(e(r))return i}return-1}function l2(n,e){const t=JF(n,e);return t===-1?void 0:n[t]}function JF(n,e,t=0,i=n.length){let r=t,o=i;for(;r0&&(t=r)}return t}function yvt(n,e){if(n.length===0)return;let t=n[0];for(let i=1;i=0&&(t=r)}return t}function vvt(n,e){return B6(n,(t,i)=>-e(t,i))}function Cvt(n,e){if(n.length===0)return-1;let t=0;for(let i=1;i0&&(t=i)}return t}function Svt(n,e){for(const t of n){const i=e(t);if(i!==void 0)return i}}class ove extends Fe{constructor(){super(...arguments),this._isDisposed=!1}dispose(){super.dispose(),this._isDisposed=!0}assertNotDisposed(){if(this._isDisposed)throw new Error("TextModelPart is disposed!")}}function DZ(n,e){let t=0,i=0;const r=n.length;for(;ir)throw new rr("Illegal value for lineNumber");const o=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,s=!!(o&&o.offSide);let a=-2,l=-1,u=-2,c=-1;const d=D=>{if(a!==-1&&(a===-2||a>D-1)){a=-1,l=-1;for(let N=D-2;N>=0;N--){const T=this._computeIndentLevel(N);if(T>=0){a=N,l=T;break}}}if(u===-2){u=-1,c=-1;for(let N=D;N=0){u=N,c=T;break}}}};let h=-2,m=-1,f=-2,g=-1;const b=D=>{if(h===-2){h=-1,m=-1;for(let N=D-2;N>=0;N--){const T=this._computeIndentLevel(N);if(T>=0){h=N,m=T;break}}}if(f!==-1&&(f===-2||f=0){f=N,g=T;break}}}};let y=0,C=!0,w=0,x=!0,L=0,I=0;for(let D=0;C||x;D++){const N=e-D,T=e+D;D>1&&(N<1||N1&&(T>r||T>i)&&(x=!1),D>5e4&&(C=!1,x=!1);let R=-1;if(C&&N>=1){const W=this._computeIndentLevel(N-1);W>=0?(u=N-1,c=W,R=Math.ceil(W/this.textModel.getOptions().indentSize)):(d(N),R=this._getIndentLevelForWhitespaceLine(s,l,c))}let E=-1;if(x&&T<=r){const W=this._computeIndentLevel(T-1);W>=0?(h=T-1,m=W,E=Math.ceil(W/this.textModel.getOptions().indentSize)):(b(T),E=this._getIndentLevelForWhitespaceLine(s,m,g))}if(D===0){I=R;continue}if(D===1){if(T<=r&&E>=0&&I+1===E){C=!1,y=T,w=T,L=E;continue}if(N>=1&&R>=0&&R-1===I){x=!1,y=N,w=N,L=R;continue}if(y=e,w=e,L=I,L===0)return{startLineNumber:y,endLineNumber:w,indent:L}}C&&(R>=L?y=N:C=!1),x&&(E>=L?w=T:x=!1)}return{startLineNumber:y,endLineNumber:w,indent:L}}getLinesBracketGuides(e,t,i,r){var o;const s=[];for(let h=e;h<=t;h++)s.push([]);const a=!0,l=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new J(e,1,t,this.textModel.getLineMaxColumn(t))).toArray();let u;if(i&&l.length>0){const h=(e<=i.lineNumber&&i.lineNumber<=t?l:this.textModel.bracketPairs.getBracketPairsInRange(J.fromPositions(i)).toArray()).filter(m=>J.strictContainsPosition(m.range,i));u=(o=FZ(h,m=>a))===null||o===void 0?void 0:o.range}const c=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,d=new sve;for(const h of l){if(!h.closingBracketRange)continue;const m=u&&h.range.equalsRange(u);if(!m&&!r.includeInactive)continue;const f=d.getInlineClassName(h.nestingLevel,h.nestingLevelOfEqualBracketType,c)+(r.highlightActive&&m?" "+d.activeClassName:""),g=h.openingBracketRange.getStartPosition(),b=h.closingBracketRange.getStartPosition(),y=r.horizontalGuides===fv.Enabled||r.horizontalGuides===fv.EnabledForActive&&m;if(h.range.startLineNumber===h.range.endLineNumber){y&&s[h.range.startLineNumber-e].push(new gv(-1,h.openingBracketRange.getEndPosition().column,f,new $F(!1,b.column),-1,-1));continue}const C=this.getVisibleColumnFromPosition(b),w=this.getVisibleColumnFromPosition(h.openingBracketRange.getStartPosition()),x=Math.min(w,C,h.minVisibleColumnIndentation+1);let L=!1;La(this.textModel.getLineContent(h.closingBracketRange.startLineNumber))=e&&w>x&&s[g.lineNumber-e].push(new gv(x,-1,f,new $F(!1,g.column),-1,-1)),b.lineNumber<=t&&C>x&&s[b.lineNumber-e].push(new gv(x,-1,f,new $F(!L,b.column),-1,-1)))}for(const h of s)h.sort((m,f)=>m.visibleColumn-f.visibleColumn);return s}getVisibleColumnFromPosition(e){return Jo.visibleColumnFromColumn(this.textModel.getLineContent(e.lineNumber),e.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(e,t){this.assertNotDisposed();const i=this.textModel.getLineCount();if(e<1||e>i)throw new Error("Illegal value for startLineNumber");if(t<1||t>i)throw new Error("Illegal value for endLineNumber");const r=this.textModel.getOptions(),o=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,s=!!(o&&o.offSide),a=new Array(t-e+1);let l=-2,u=-1,c=-2,d=-1;for(let h=e;h<=t;h++){const m=h-e,f=this._computeIndentLevel(h-1);if(f>=0){l=h-1,u=f,a[m]=Math.ceil(f/r.indentSize);continue}if(l===-2){l=-1,u=-1;for(let g=h-2;g>=0;g--){const b=this._computeIndentLevel(g);if(b>=0){l=g,u=b;break}}}if(c!==-1&&(c===-2||c=0){c=g,d=b;break}}}a[m]=this._getIndentLevelForWhitespaceLine(s,u,d)}return a}_getIndentLevelForWhitespaceLine(e,t,i){const r=this.textModel.getOptions();return t===-1||i===-1?0:tl||this._maxIndentLeft>0&&C>this._maxIndentLeft)break;const w=y.horizontalLine?y.horizontalLine.top?"horizontal-top":"horizontal-bottom":"vertical",x=y.horizontalLine?((o=(r=e.visibleRangeForPosition(new ve(h,y.horizontalLine.endColumn)))===null||r===void 0?void 0:r.left)!==null&&o!==void 0?o:C+this._spaceWidth)-C:this._spaceWidth;g+=`
`}d[m]=g}this._renderResult=d}getGuidesByLine(e,t,i){const r=this._bracketPairGuideOptions.bracketPairs!==!1?this._context.viewModel.getBracketGuidesInRangeByLine(e,t,i,{highlightActive:this._bracketPairGuideOptions.highlightActiveBracketPair,horizontalGuides:this._bracketPairGuideOptions.bracketPairsHorizontal===!0?fv.Enabled:this._bracketPairGuideOptions.bracketPairsHorizontal==="active"?fv.EnabledForActive:fv.Disabled,includeInactive:this._bracketPairGuideOptions.bracketPairs===!0}):null,o=this._bracketPairGuideOptions.indentation?this._context.viewModel.getLinesIndentGuides(e,t):null;let s=0,a=0,l=0;if(this._bracketPairGuideOptions.highlightActiveIndentation!==!1&&i){const d=this._context.viewModel.getActiveIndentGuide(i.lineNumber,e,t);s=d.startLineNumber,a=d.endLineNumber,l=d.indent}const{indentSize:u}=this._context.viewModel.model.getOptions(),c=[];for(let d=e;d<=t;d++){const h=new Array;c.push(h);const m=r?r[d-e]:[],f=new Ag(m),g=o?o[d-e]:0;for(let b=1;b<=g;b++){const y=(b-1)*u+1,C=(this._bracketPairGuideOptions.highlightActiveIndentation==="always"||m.length===0)&&s<=d&&d<=a&&b===l;h.push(...f.takeWhile(x=>x.visibleColumn!0)||[])}return c}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}function u2(n){if(!(n&&n.isTransparent()))return n}Xc((n,e)=>{const t=[{bracketColor:zye,guideColor:Myt,guideColorActive:Wyt},{bracketColor:Hye,guideColor:kyt,guideColorActive:Ayt},{bracketColor:Yye,guideColor:Tyt,guideColorActive:Vyt},{bracketColor:Uye,guideColor:Eyt,guideColorActive:Gyt},{bracketColor:Kye,guideColor:Ryt,guideColorActive:Xyt},{bracketColor:Jye,guideColor:Zyt,guideColorActive:Pyt}],i=new sve,r=[{indentColor:VF,indentColorActive:GF},{indentColor:dyt,indentColorActive:pyt},{indentColor:hyt,indentColorActive:byt},{indentColor:myt,indentColorActive:yyt},{indentColor:fyt,indentColorActive:vyt},{indentColor:gyt,indentColorActive:Cyt}],o=t.map(a=>{var l,u;const c=n.getColor(a.bracketColor),d=n.getColor(a.guideColor),h=n.getColor(a.guideColorActive),m=u2((l=u2(d))!==null&&l!==void 0?l:c==null?void 0:c.transparent(.3)),f=u2((u=u2(h))!==null&&u!==void 0?u:c);if(!(!m||!f))return{guideColor:m,guideColorActive:f}}).filter(Wm),s=r.map(a=>{const l=n.getColor(a.indentColor),u=n.getColor(a.indentColorActive),c=u2(l),d=u2(u);if(!(!c||!d))return{indentColor:c,indentColorActive:d}}).filter(Wm);if(o.length>0){for(let a=0;a<30;a++){const l=o[a%o.length];e.addRule(`.monaco-editor .${i.getInlineClassNameOfLevel(a).replace(/ /g,".")} { --guide-color: ${l.guideColor}; --guide-color-active: ${l.guideColorActive}; }`)}e.addRule(".monaco-editor .vertical { box-shadow: 1px 0 0 0 var(--guide-color) inset; }"),e.addRule(".monaco-editor .horizontal-top { border-top: 1px solid var(--guide-color); }"),e.addRule(".monaco-editor .horizontal-bottom { border-bottom: 1px solid var(--guide-color); }"),e.addRule(`.monaco-editor .vertical.${i.activeClassName} { box-shadow: 1px 0 0 0 var(--guide-color-active) inset; }`),e.addRule(`.monaco-editor .horizontal-top.${i.activeClassName} { border-top: 1px solid var(--guide-color-active); }`),e.addRule(`.monaco-editor .horizontal-bottom.${i.activeClassName} { border-bottom: 1px solid var(--guide-color-active); }`)}if(s.length>0){for(let a=0;a<30;a++){const l=s[a%s.length];e.addRule(`.monaco-editor .lines-content .core-guide-indent.lvl-${a} { --indent-color: ${l.indentColor}; --indent-color-active: ${l.indentColorActive}; }`)}e.addRule(".monaco-editor .lines-content .core-guide-indent { box-shadow: 1px 0 0 0 var(--indent-color) inset; }"),e.addRule(".monaco-editor .lines-content .core-guide-indent.indent-active { box-shadow: 1px 0 0 0 var(--indent-color-active) inset; }")}});class z6{get didDomLayout(){return this._didDomLayout}readClientRect(){if(!this._clientRectRead){this._clientRectRead=!0;const e=this._domNode.getBoundingClientRect();this.markDidDomLayout(),this._clientRectDeltaLeft=e.left,this._clientRectScale=e.width/this._domNode.offsetWidth}}get clientRectDeltaLeft(){return this._clientRectRead||this.readClientRect(),this._clientRectDeltaLeft}get clientRectScale(){return this._clientRectRead||this.readClientRect(),this._clientRectScale}constructor(e,t){this._domNode=e,this.endNode=t,this._didDomLayout=!1,this._clientRectDeltaLeft=0,this._clientRectScale=1,this._clientRectRead=!1}markDidDomLayout(){this._didDomLayout=!0}}class _vt{constructor(){this._currentVisibleRange=new J(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(e){this._currentVisibleRange=e}}class Lvt{constructor(e,t,i,r,o,s,a){this.minimalReveal=e,this.lineNumber=t,this.startColumn=i,this.endColumn=r,this.startScrollTop=o,this.stopScrollTop=s,this.scrollType=a,this.type="range",this.minLineNumber=t,this.maxLineNumber=t}}class Ivt{constructor(e,t,i,r,o){this.minimalReveal=e,this.selections=t,this.startScrollTop=i,this.stopScrollTop=r,this.scrollType=o,this.type="selections";let s=t[0].startLineNumber,a=t[0].endLineNumber;for(let l=1,u=t.length;l{this._updateLineWidthsSlow()},200),this._asyncCheckMonospaceFontAssumptions=new Wi(()=>{this._checkMonospaceFontAssumptions()},2e3),this._lastRenderedData=new _vt,this._horizontalRevealRequest=null,this._stickyScrollEnabled=r.get(115).enabled,this._maxNumberStickyLines=r.get(115).maxLineCount}dispose(){this._asyncUpdateLineWidths.dispose(),this._asyncCheckMonospaceFontAssumptions.dispose(),super.dispose()}getDomNode(){return this.domNode}createVisibleLine(){return new of(this._viewLineOptions)}onConfigurationChanged(e){this._visibleLines.onConfigurationChanged(e),e.hasChanged(146)&&(this._maxLineWidth=0);const t=this._context.configuration.options,i=t.get(50),r=t.get(146);return this._lineHeight=t.get(67),this._typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this._isViewportWrapping=r.isViewportWrapping,this._revealHorizontalRightPadding=t.get(100),this._cursorSurroundingLines=t.get(29),this._cursorSurroundingLinesStyle=t.get(30),this._canUseLayerHinting=!t.get(32),this._stickyScrollEnabled=t.get(115).enabled,this._maxNumberStickyLines=t.get(115).maxLineCount,Ts(this.domNode,i),this._onOptionsMaybeChanged(),e.hasChanged(145)&&(this._maxLineWidth=0),!0}_onOptionsMaybeChanged(){const e=this._context.configuration,t=new Dye(e,this._context.theme.type);if(!this._viewLineOptions.equals(t)){this._viewLineOptions=t;const i=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();for(let o=i;o<=r;o++)this._visibleLines.getVisibleLine(o).onOptionsChanged(this._viewLineOptions);return!0}return!1}onCursorStateChanged(e){const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();let r=!1;for(let o=t;o<=i;o++)r=this._visibleLines.getVisibleLine(o).onSelectionChanged()||r;return r}onDecorationsChanged(e){{const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();for(let r=t;r<=i;r++)this._visibleLines.getVisibleLine(r).onDecorationsChanged()}return!0}onFlushed(e){const t=this._visibleLines.onFlushed(e);return this._maxLineWidth=0,t}onLinesChanged(e){return this._visibleLines.onLinesChanged(e)}onLinesDeleted(e){return this._visibleLines.onLinesDeleted(e)}onLinesInserted(e){return this._visibleLines.onLinesInserted(e)}onRevealRangeRequest(e){const t=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),e.source,e.minimalReveal,e.range,e.selections,e.verticalType);if(t===-1)return!1;let i=this._context.viewLayout.validateScrollPosition({scrollTop:t});e.revealHorizontal?e.range&&e.range.startLineNumber!==e.range.endLineNumber?i={scrollTop:i.scrollTop,scrollLeft:0}:e.range?this._horizontalRevealRequest=new Lvt(e.minimalReveal,e.range.startLineNumber,e.range.startColumn,e.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),i.scrollTop,e.scrollType):e.selections&&e.selections.length>0&&(this._horizontalRevealRequest=new Ivt(e.minimalReveal,e.selections,this._context.viewLayout.getCurrentScrollTop(),i.scrollTop,e.scrollType)):this._horizontalRevealRequest=null;const o=Math.abs(this._context.viewLayout.getCurrentScrollTop()-i.scrollTop)<=this._lineHeight?1:e.scrollType;return this._context.viewModel.viewLayout.setScrollPosition(i,o),!0}onScrollChanged(e){if(this._horizontalRevealRequest&&e.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&e.scrollTopChanged){const t=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),i=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(e.scrollTopi)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(e.scrollWidth),this._visibleLines.onScrollChanged(e)||!0}onTokensChanged(e){return this._visibleLines.onTokensChanged(e)}onZonesChanged(e){return this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth),this._visibleLines.onZonesChanged(e)}onThemeChanged(e){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(e,t){const i=this._getViewLineDomNode(e);if(i===null)return null;const r=this._getLineNumberFor(i);if(r===-1||r<1||r>this._context.viewModel.getLineCount())return null;if(this._context.viewModel.getLineMaxColumn(r)===1)return new ve(r,1);const o=this._visibleLines.getStartLineNumber(),s=this._visibleLines.getEndLineNumber();if(rs)return null;let a=this._visibleLines.getVisibleLine(r).getColumnOfNodeOffset(e,t);const l=this._context.viewModel.getLineMinColumn(r);return ai)return-1;const r=new z6(this.domNode.domNode,this._textRangeRestingSpot),o=this._visibleLines.getVisibleLine(e).getWidth(r);return this._updateLineWidthsSlowIfDomDidLayout(r),o}linesVisibleRangesForRange(e,t){if(this.shouldRender())return null;const i=e.endLineNumber,r=J.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange());if(!r)return null;const o=[];let s=0;const a=new z6(this.domNode.domNode,this._textRangeRestingSpot);let l=0;t&&(l=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new ve(r.startLineNumber,1)).lineNumber);const u=this._visibleLines.getStartLineNumber(),c=this._visibleLines.getEndLineNumber();for(let d=r.startLineNumber;d<=r.endLineNumber;d++){if(dc)continue;const h=d===r.startLineNumber?r.startColumn:1,m=d!==r.endLineNumber,f=m?this._context.viewModel.getLineMaxColumn(d):r.endColumn,g=this._visibleLines.getVisibleLine(d).getVisibleRangesForRange(d,h,f,a);if(g){if(t&&dthis._visibleLines.getEndLineNumber())return null;const r=new z6(this.domNode.domNode,this._textRangeRestingSpot),o=this._visibleLines.getVisibleLine(e).getVisibleRangesForRange(e,t,i,r);return this._updateLineWidthsSlowIfDomDidLayout(r),o}visibleRangeForPosition(e){const t=this._visibleRangesForLineRange(e.lineNumber,e.column,e.column);return t?new b1t(t.outsideRenderedLine,t.ranges[0].left):null}_updateLineWidthsFast(){return this._updateLineWidths(!0)}_updateLineWidthsSlow(){this._updateLineWidths(!1)}_updateLineWidthsSlowIfDomDidLayout(e){e.didDomLayout&&(this._asyncUpdateLineWidths.isScheduled()||(this._asyncUpdateLineWidths.cancel(),this._updateLineWidthsSlow()))}_updateLineWidths(e){const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();let r=1,o=!0;for(let s=t;s<=i;s++){const a=this._visibleLines.getVisibleLine(s);if(e&&!a.getWidthIsFast()){o=!1;continue}r=Math.max(r,a.getWidth(null))}return o&&t===1&&i===this._context.viewModel.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(r),o}_checkMonospaceFontAssumptions(){let e=-1,t=-1;const i=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();for(let o=i;o<=r;o++){const s=this._visibleLines.getVisibleLine(o);if(s.needsMonospaceFontCheck()){const a=s.getWidth(null);a>t&&(t=a,e=o)}}if(e!==-1&&!this._visibleLines.getVisibleLine(e).monospaceAssumptionsAreValid())for(let o=i;o<=r;o++)this._visibleLines.getVisibleLine(o).onMonospaceAssumptionsInvalidated()}prepareRender(){throw new Error("Not supported")}render(){throw new Error("Not supported")}renderText(e){if(this._visibleLines.renderLines(e),this._lastRenderedData.setCurrentVisibleRange(e.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){const i=this._horizontalRevealRequest;if(e.startLineNumber<=i.minLineNumber&&i.maxLineNumber<=e.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();const r=this._computeScrollLeftToReveal(i);r&&(this._isViewportWrapping||this._ensureMaxLineWidth(r.maxHorizontalOffset),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:r.scrollLeft},i.scrollType))}}if(this._updateLineWidthsFast()?this._asyncUpdateLineWidths.cancel():this._asyncUpdateLineWidths.schedule(),Ja&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){const i=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();for(let o=i;o<=r;o++)if(this._visibleLines.getVisibleLine(o).needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain("strict");const t=this._context.viewLayout.getCurrentScrollTop()-e.bigNumbersDelta;this._linesContent.setTop(-t),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(e){const t=Math.ceil(e);this._maxLineWidth0){let y=o[0].startLineNumber,C=o[0].endLineNumber;for(let w=1,x=o.length;wl){if(!c)return-1;b=d}else if(s===5||s===6)if(s===6&&a<=d&&h<=u)b=a;else{const y=Math.max(5*this._lineHeight,l*.2),C=d-y,w=h-l;b=Math.max(w,C)}else if(s===1||s===2)if(s===2&&a<=d&&h<=u)b=a;else{const y=(d+h)/2;b=Math.max(0,y-l/2)}else b=this._computeMinimumScrolling(a,u,d,h,s===3,s===4);return b}_computeScrollLeftToReveal(e){const t=this._context.viewLayout.getCurrentViewport(),i=this._context.configuration.options.get(145),r=t.left,o=r+t.width-i.verticalScrollbarWidth;let s=1073741824,a=0;if(e.type==="range"){const u=this._visibleRangesForLineRange(e.lineNumber,e.startColumn,e.endColumn);if(!u)return null;for(const c of u.ranges)s=Math.min(s,Math.round(c.left)),a=Math.max(a,Math.round(c.left+c.width))}else for(const u of e.selections){if(u.startLineNumber!==u.endLineNumber)return null;const c=this._visibleRangesForLineRange(u.startLineNumber,u.startColumn,u.endColumn);if(!c)return null;for(const d of c.ranges)s=Math.min(s,Math.round(d.left)),a=Math.max(a,Math.round(d.left+d.width))}return e.minimalReveal||(s=Math.max(0,s-NZ.HORIZONTAL_EXTRA_PX),a+=this._revealHorizontalRightPadding),e.type==="selections"&&a-s>t.width?null:{scrollLeft:this._computeMinimumScrolling(r,o,s,a),maxHorizontalOffset:a}}_computeMinimumScrolling(e,t,i,r,o,s){e=e|0,t=t|0,i=i|0,r=r|0,o=!!o,s=!!s;const a=t-e;if(r-it)return Math.max(0,r-a)}else return i;return e}}NZ.HORIZONTAL_EXTRA_PX=30;class Fvt extends rve{constructor(e){super(),this._context=e;const i=this._context.configuration.options.get(145);this._decorationsLeft=i.decorationsLeft,this._decorationsWidth=i.decorationsWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const i=this._context.configuration.options.get(145);return this._decorationsLeft=i.decorationsLeft,this._decorationsWidth=i.decorationsWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getDecorations(e){var t,i;const r=e.getDecorationsInViewport(),o=[];let s=0;for(let a=0,l=r.length;a',l=[];for(let u=t;u<=i;u++){const c=u-t,d=r[c].getDecorations();let h="";for(const m of d){let f='
';o[a]=u}this._renderResult=o}render(e,t){return this._renderResult?this._renderResult[t-e]:""}}class Yu{constructor(e,t,i,r){this._rgba8Brand=void 0,this.r=Yu._clamp(e),this.g=Yu._clamp(t),this.b=Yu._clamp(i),this.a=Yu._clamp(r)}equals(e){return this.r===e.r&&this.g===e.g&&this.b===e.b&&this.a===e.a}static _clamp(e){return e<0?0:e>255?255:e|0}}Yu.Empty=new Yu(0,0,0,0);class qF extends Fe{static getInstance(){return this._INSTANCE||(this._INSTANCE=new qF),this._INSTANCE}constructor(){super(),this._onDidChange=new be,this.onDidChange=this._onDidChange.event,this._updateColorMap(),this._register(bo.onDidChange(e=>{e.changedColorMap&&this._updateColorMap()}))}_updateColorMap(){const e=bo.getColorMap();if(!e){this._colors=[Yu.Empty],this._backgroundIsLight=!0;return}this._colors=[Yu.Empty];for(let i=1;i=.5,this._onDidChange.fire(void 0)}getColor(e){return(e<1||e>=this._colors.length)&&(e=2),this._colors[e]}backgroundIsLight(){return this._backgroundIsLight}}qF._INSTANCE=null;class ave{constructor(e,t,i,r){this._viewportBrand=void 0,this.top=e|0,this.left=t|0,this.width=i|0,this.height=r|0}}class Nvt{constructor(e,t){this.tabSize=e,this.data=t}}class H6{constructor(e,t,i,r,o,s,a){this._viewLineDataBrand=void 0,this.content=e,this.continuesWithWrappedLine=t,this.minColumn=i,this.maxColumn=r,this.startVisibleColumn=o,this.tokens=s,this.inlineDecorations=a}}class Uu{constructor(e,t,i,r,o,s,a,l,u,c){this.minColumn=e,this.maxColumn=t,this.content=i,this.continuesWithWrappedLine=r,this.isBasicASCII=Uu.isBasicASCII(i,s),this.containsRTL=Uu.containsRTL(i,this.isBasicASCII,o),this.tokens=a,this.inlineDecorations=l,this.tabSize=u,this.startVisibleColumn=c}static isBasicASCII(e,t){return t?qI(e):!0}static containsRTL(e,t,i){return!t&&i?yw(e):!1}}class eD{constructor(e,t,i){this.range=e,this.inlineClassName=t,this.type=i}}class Mvt{constructor(e,t,i,r){this.startOffset=e,this.endOffset=t,this.inlineClassName=i,this.inlineClassNameAffectsLetterSpacing=r}toInlineDecoration(e){return new eD(new J(e,this.startOffset+1,e,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}}class lve{constructor(e,t){this._viewModelDecorationBrand=void 0,this.range=e,this.options=t}}class tD{constructor(e,t,i){this.color=e,this.zIndex=t,this.data=i}static compareByRenderingProps(e,t){return e.zIndex===t.zIndex?e.colort.color?1:0:e.zIndex-t.zIndex}static equals(e,t){return e.color===t.color&&e.zIndex===t.zIndex&&Nr(e.data,t.data)}static equalsArr(e,t){return Nr(e,t,tD.equals)}}const kvt=(()=>{const n=[];for(let e=32;e<=126;e++)n.push(e);return n.push(65533),n})(),Tvt=(n,e)=>(n-=32,n<0||n>96?e<=2?(n+96)%96:95:n);class nD{constructor(e,t){this.scale=t,this._minimapCharRendererBrand=void 0,this.charDataNormal=nD.soften(e,12/15),this.charDataLight=nD.soften(e,50/60)}static soften(e,t){const i=new Uint8ClampedArray(e.length);for(let r=0,o=e.length;re.width||i+f>e.height)return;const g=c?this.charDataLight:this.charDataNormal,b=Tvt(r,u),y=e.width*4,C=a.r,w=a.g,x=a.b,L=o.r-C,I=o.g-w,D=o.b-x,N=Math.max(s,l),T=e.data;let R=b*h*m,E=i*y+t*4;for(let W=0;We.width||i+d>e.height)return;const h=e.width*4,m=.5*(o/255),f=s.r,g=s.g,b=s.b,y=r.r-f,C=r.g-g,w=r.b-b,x=f+y*m,L=g+C*m,I=b+w*m,D=Math.max(o,a),N=e.data;let T=i*h+t*4;for(let R=0;R{const e=new Uint8ClampedArray(n.length/2);for(let t=0;t>1]=uve[n[t]]<<4|uve[n[t+1]]&15;return e},dve={1:hw(()=>cve("0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792")),2:hw(()=>cve("000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126"))};class iD{static create(e,t){if(this.lastCreated&&e===this.lastCreated.scale&&t===this.lastFontFamily)return this.lastCreated;let i;return dve[e]?i=new nD(dve[e](),e):i=iD.createFromSampleData(iD.createSampleData(t).data,e),this.lastFontFamily=t,this.lastCreated=i,i}static createSampleData(e){const t=document.createElement("canvas"),i=t.getContext("2d");t.style.height="16px",t.height=16,t.width=96*10,t.style.width=96*10+"px",i.fillStyle="#ffffff",i.font=`bold 16px ${e}`,i.textBaseline="middle";let r=0;for(const o of kvt)i.fillText(String.fromCharCode(o),r,16/2),r+=10;return i.getImageData(0,0,96*10,16)}static createFromSampleData(e,t){if(e.length!==61440)throw new Error("Unexpected source in MinimapCharRenderer");const r=iD._downsample(e,t);return new nD(r,t)}static _downsampleChar(e,t,i,r,o){const s=1*o,a=2*o;let l=r,u=0;for(let c=0;c0){const u=255/l;for(let c=0;ciD.create(this.fontScale,l.fontFamily)),this.defaultBackgroundColor=i.getColor(2),this.backgroundColor=c2._getMinimapBackground(t,this.defaultBackgroundColor),this.foregroundAlpha=c2._getMinimapForegroundOpacity(t)}static _getMinimapBackground(e,t){const i=e.getColor(u0t);return i?new Yu(i.rgba.r,i.rgba.g,i.rgba.b,Math.round(255*i.rgba.a)):t}static _getMinimapForegroundOpacity(e){const t=e.getColor(c0t);return t?Yu._clamp(Math.round(255*t.rgba.a)):255}static _getSectionHeaderColor(e,t){const i=e.getColor(Vc);return i?new Yu(i.rgba.r,i.rgba.g,i.rgba.b,Math.round(255*i.rgba.a)):t}equals(e){return this.renderMinimap===e.renderMinimap&&this.size===e.size&&this.minimapHeightIsEditorHeight===e.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===e.scrollBeyondLastLine&&this.paddingTop===e.paddingTop&&this.paddingBottom===e.paddingBottom&&this.showSlider===e.showSlider&&this.autohide===e.autohide&&this.pixelRatio===e.pixelRatio&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.lineHeight===e.lineHeight&&this.minimapLeft===e.minimapLeft&&this.minimapWidth===e.minimapWidth&&this.minimapHeight===e.minimapHeight&&this.canvasInnerWidth===e.canvasInnerWidth&&this.canvasInnerHeight===e.canvasInnerHeight&&this.canvasOuterWidth===e.canvasOuterWidth&&this.canvasOuterHeight===e.canvasOuterHeight&&this.isSampling===e.isSampling&&this.editorHeight===e.editorHeight&&this.fontScale===e.fontScale&&this.minimapLineHeight===e.minimapLineHeight&&this.minimapCharWidth===e.minimapCharWidth&&this.sectionHeaderFontSize===e.sectionHeaderFontSize&&this.defaultBackgroundColor&&this.defaultBackgroundColor.equals(e.defaultBackgroundColor)&&this.backgroundColor&&this.backgroundColor.equals(e.backgroundColor)&&this.foregroundAlpha===e.foregroundAlpha}}class rD{constructor(e,t,i,r,o,s,a,l,u){this.scrollTop=e,this.scrollHeight=t,this.sliderNeeded=i,this._computedSliderRatio=r,this.sliderTop=o,this.sliderHeight=s,this.topPaddingLineCount=a,this.startLineNumber=l,this.endLineNumber=u}getDesiredScrollTopFromDelta(e){return Math.round(this.scrollTop+e/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(e){return Math.round((e-this.sliderHeight/2)/this._computedSliderRatio)}intersectWithViewport(e){const t=Math.max(this.startLineNumber,e.startLineNumber),i=Math.min(this.endLineNumber,e.endLineNumber);return t>i?null:[t,i]}getYForLineNumber(e,t){return+(e-this.startLineNumber+this.topPaddingLineCount)*t}static create(e,t,i,r,o,s,a,l,u,c,d){const h=e.pixelRatio,m=e.minimapLineHeight,f=Math.floor(e.canvasInnerHeight/m),g=e.lineHeight;if(e.minimapHeightIsEditorHeight){let I=l*e.lineHeight+e.paddingTop+e.paddingBottom;e.scrollBeyondLastLine&&(I+=Math.max(0,o-e.lineHeight-e.paddingBottom));const D=Math.max(1,Math.floor(o*o/I)),N=Math.max(0,e.minimapHeight-D),T=N/(c-o),R=u*T,E=N>0,W=Math.floor(e.canvasInnerHeight/e.minimapLineHeight),Z=Math.floor(e.paddingTop/e.lineHeight);return new rD(u,c,E,T,R,D,Z,1,Math.min(a,W))}let b;if(s&&i!==a){const I=i-t+1;b=Math.floor(I*m/h)}else{const I=o/g;b=Math.floor(I*m/h)}const y=Math.floor(e.paddingTop/g);let C=Math.floor(e.paddingBottom/g);if(e.scrollBeyondLastLine){const I=o/g;C=Math.max(C,I-1)}let w;if(C>0){const I=o/g;w=(y+a+C-I-1)*m/h}else w=Math.max(0,(y+a)*m/h-b);w=Math.min(e.minimapHeight-b,w);const x=w/(c-o),L=u*x;if(f>=y+a+C){const I=w>0;return new rD(u,c,I,x,L,b,y,1,a)}else{let I;t>1?I=t+y:I=Math.max(1,u/g);let D,N=Math.max(1,Math.floor(I-L*h/m));Nu&&(N=Math.min(N,d.startLineNumber),D=Math.max(D,d.topPaddingLineCount)),d.scrollTop=e.paddingTop?E=(t-N+D+R)*m/h:E=u/e.paddingTop*(D+R)*m/h,new rD(u,c,!0,x,E,b,D,N,T)}}}class MZ{constructor(e){this.dy=e}onContentChanged(){this.dy=-1}onTokensChanged(){this.dy=-1}}MZ.INVALID=new MZ(-1);class hve{constructor(e,t,i){this.renderedLayout=e,this._imageData=t,this._renderedLines=new $ye(()=>MZ.INVALID),this._renderedLines._set(e.startLineNumber,i)}linesEquals(e){if(!this.scrollEquals(e))return!1;const i=this._renderedLines._get().lines;for(let r=0,o=i.length;r1){for(let y=0,C=r-1;y0&&this.minimapLines[i-1]>=e;)i--;let r=this.modelLineToMinimapLine(t)-1;for(;r+1t)return null}return[i+1,r+1]}decorationLineRangeToMinimapLineRange(e,t){let i=this.modelLineToMinimapLine(e),r=this.modelLineToMinimapLine(t);return e!==t&&r===i&&(r===this.minimapLines.length?i>1&&i--:r++),[i,r]}onLinesDeleted(e){const t=e.toLineNumber-e.fromLineNumber+1;let i=this.minimapLines.length,r=0;for(let o=this.minimapLines.length-1;o>=0&&!(this.minimapLines[o]=0&&!(this.minimapLines[i]0,scrollWidth:e.scrollWidth,scrollHeight:e.scrollHeight,viewportStartLineNumber:t,viewportEndLineNumber:i,viewportStartLineNumberVerticalOffset:e.getVerticalOffsetForLineNumber(t),scrollTop:e.scrollTop,scrollLeft:e.scrollLeft,viewportWidth:e.viewportWidth,viewportHeight:e.viewportHeight};this._actual.render(r)}_recreateLineSampling(){this._minimapSelections=null;const e=!!this._samplingState,[t,i]=oD.compute(this.options,this._context.viewModel.getLineCount(),this._samplingState);if(this._samplingState=t,e&&this._samplingState)for(const r of i)switch(r.type){case"deleted":this._actual.onLinesDeleted(r.deleteFromLineNumber,r.deleteToLineNumber);break;case"inserted":this._actual.onLinesInserted(r.insertFromLineNumber,r.insertToLineNumber);break;case"flush":this._actual.onFlushed();break}}getLineCount(){return this._samplingState?this._samplingState.minimapLines.length:this._context.viewModel.getLineCount()}getRealLineCount(){return this._context.viewModel.getLineCount()}getLineContent(e){return this._samplingState?this._context.viewModel.getLineContent(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineContent(e)}getLineMaxColumn(e){return this._samplingState?this._context.viewModel.getLineMaxColumn(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineMaxColumn(e)}getMinimapLinesRenderingData(e,t,i){if(this._samplingState){const r=[];for(let o=0,s=t-e+1;o{var o;return!(!((o=r.options.minimap)===null||o===void 0)&&o.sectionHeaderStyle)});if(this._samplingState){const r=[];for(const o of i){if(!o.options.minimap)continue;const s=o.range,a=this._samplingState.modelLineToMinimapLine(s.startLineNumber),l=this._samplingState.modelLineToMinimapLine(s.endLineNumber);r.push(new lve(new J(a,s.startColumn,l,s.endColumn),o.options))}return r}return i}getSectionHeaderDecorationsInViewport(e,t){const i=this.options.minimapLineHeight,o=this.options.sectionHeaderFontSize/i;return e=Math.floor(Math.max(1,e-o)),this._getMinimapDecorationsInViewport(e,t).filter(s=>{var a;return!!(!((a=s.options.minimap)===null||a===void 0)&&a.sectionHeaderStyle)})}_getMinimapDecorationsInViewport(e,t){let i;if(this._samplingState){const r=this._samplingState.minimapLines[e-1],o=this._samplingState.minimapLines[t-1];i=new J(r,1,o,this._context.viewModel.getLineMaxColumn(o))}else i=new J(e,1,t,this._context.viewModel.getLineMaxColumn(t));return this._context.viewModel.getMinimapDecorationsInRange(i)}getSectionHeaderText(e,t){var i;const r=(i=e.options.minimap)===null||i===void 0?void 0:i.sectionHeaderText;if(!r)return null;const o=this._sectionHeaderCache.get(r);if(o)return o;const s=t(r);return this._sectionHeaderCache.set(r,s),s}getOptions(){return this._context.viewModel.model.getOptions()}revealLineNumber(e){this._samplingState&&(e=this._samplingState.minimapLines[e-1]),this._context.viewModel.revealRange("mouse",!1,new J(e,1,e,1),1,0)}setScrollTop(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e},1)}}class d2 extends Fe{constructor(e,t){super(),this._renderDecorations=!1,this._gestureInProgress=!1,this._theme=e,this._model=t,this._lastRenderData=null,this._buffers=null,this._selectionColor=this._theme.getColor(mye),this._domNode=wi(document.createElement("div")),Xh.write(this._domNode,9),this._domNode.setClassName(this._getMinimapDomNodeClassName()),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._shadow=wi(document.createElement("div")),this._shadow.setClassName("minimap-shadow-hidden"),this._domNode.appendChild(this._shadow),this._canvas=wi(document.createElement("canvas")),this._canvas.setPosition("absolute"),this._canvas.setLeft(0),this._domNode.appendChild(this._canvas),this._decorationsCanvas=wi(document.createElement("canvas")),this._decorationsCanvas.setPosition("absolute"),this._decorationsCanvas.setClassName("minimap-decorations-layer"),this._decorationsCanvas.setLeft(0),this._domNode.appendChild(this._decorationsCanvas),this._slider=wi(document.createElement("div")),this._slider.setPosition("absolute"),this._slider.setClassName("minimap-slider"),this._slider.setLayerHinting(!0),this._slider.setContain("strict"),this._domNode.appendChild(this._slider),this._sliderHorizontal=wi(document.createElement("div")),this._sliderHorizontal.setPosition("absolute"),this._sliderHorizontal.setClassName("minimap-slider-horizontal"),this._slider.appendChild(this._sliderHorizontal),this._applyLayout(),this._pointerDownListener=Gr(this._domNode.domNode,ot.POINTER_DOWN,i=>{if(i.preventDefault(),this._model.options.renderMinimap===0||!this._lastRenderData)return;if(this._model.options.size!=="proportional"){if(i.button===0&&this._lastRenderData){const u=po(this._slider.domNode),c=u.top+u.height/2;this._startSliderDragging(i,c,this._lastRenderData.renderedLayout)}return}const o=this._model.options.minimapLineHeight,s=this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*i.offsetY;let l=Math.floor(s/o)+this._lastRenderData.renderedLayout.startLineNumber-this._lastRenderData.renderedLayout.topPaddingLineCount;l=Math.min(l,this._model.getLineCount()),this._model.revealLineNumber(l)}),this._sliderPointerMoveMonitor=new Yw,this._sliderPointerDownListener=Gr(this._slider.domNode,ot.POINTER_DOWN,i=>{i.preventDefault(),i.stopPropagation(),i.button===0&&this._lastRenderData&&this._startSliderDragging(i,i.pageY,this._lastRenderData.renderedLayout)}),this._gestureDisposable=nr.addTarget(this._domNode.domNode),this._sliderTouchStartListener=Ve(this._domNode.domNode,tr.Start,i=>{i.preventDefault(),i.stopPropagation(),this._lastRenderData&&(this._slider.toggleClassName("active",!0),this._gestureInProgress=!0,this.scrollDueToTouchEvent(i))},{passive:!1}),this._sliderTouchMoveListener=Ve(this._domNode.domNode,tr.Change,i=>{i.preventDefault(),i.stopPropagation(),this._lastRenderData&&this._gestureInProgress&&this.scrollDueToTouchEvent(i)},{passive:!1}),this._sliderTouchEndListener=Gr(this._domNode.domNode,tr.End,i=>{i.preventDefault(),i.stopPropagation(),this._gestureInProgress=!1,this._slider.toggleClassName("active",!1)})}_startSliderDragging(e,t,i){if(!e.target||!(e.target instanceof Element))return;const r=e.pageX;this._slider.toggleClassName("active",!0);const o=(s,a)=>{const l=po(this._domNode.domNode),u=Math.min(Math.abs(a-r),Math.abs(a-l.left),Math.abs(a-l.left-l.width));if(ha&&u>Rvt){this._model.setScrollTop(i.scrollTop);return}const c=s-t;this._model.setScrollTop(i.getDesiredScrollTopFromDelta(c))};e.pageY!==t&&o(e.pageY,r),this._sliderPointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,s=>o(s.pageY,s.pageX),()=>{this._slider.toggleClassName("active",!1)})}scrollDueToTouchEvent(e){const t=this._domNode.domNode.getBoundingClientRect().top,i=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(e.pageY-t);this._model.setScrollTop(i)}dispose(){this._pointerDownListener.dispose(),this._sliderPointerMoveMonitor.dispose(),this._sliderPointerDownListener.dispose(),this._gestureDisposable.dispose(),this._sliderTouchStartListener.dispose(),this._sliderTouchMoveListener.dispose(),this._sliderTouchEndListener.dispose(),super.dispose()}_getMinimapDomNodeClassName(){const e=["minimap"];return this._model.options.showSlider==="always"?e.push("slider-always"):e.push("slider-mouseover"),this._model.options.autohide&&e.push("autohide"),e.join(" ")}getDomNode(){return this._domNode}_applyLayout(){this._domNode.setLeft(this._model.options.minimapLeft),this._domNode.setWidth(this._model.options.minimapWidth),this._domNode.setHeight(this._model.options.minimapHeight),this._shadow.setHeight(this._model.options.minimapHeight),this._canvas.setWidth(this._model.options.canvasOuterWidth),this._canvas.setHeight(this._model.options.canvasOuterHeight),this._canvas.domNode.width=this._model.options.canvasInnerWidth,this._canvas.domNode.height=this._model.options.canvasInnerHeight,this._decorationsCanvas.setWidth(this._model.options.canvasOuterWidth),this._decorationsCanvas.setHeight(this._model.options.canvasOuterHeight),this._decorationsCanvas.domNode.width=this._model.options.canvasInnerWidth,this._decorationsCanvas.domNode.height=this._model.options.canvasInnerHeight,this._slider.setWidth(this._model.options.minimapWidth)}_getBuffer(){return this._buffers||this._model.options.canvasInnerWidth>0&&this._model.options.canvasInnerHeight>0&&(this._buffers=new Y6(this._canvas.domNode.getContext("2d"),this._model.options.canvasInnerWidth,this._model.options.canvasInnerHeight,this._model.options.backgroundColor)),this._buffers?this._buffers.getBuffer():null}onDidChangeOptions(){this._lastRenderData=null,this._buffers=null,this._applyLayout(),this._domNode.setClassName(this._getMinimapDomNodeClassName())}onSelectionChanged(){return this._renderDecorations=!0,!0}onDecorationsChanged(){return this._renderDecorations=!0,!0}onFlushed(){return this._lastRenderData=null,!0}onLinesChanged(e,t){return this._lastRenderData?this._lastRenderData.onLinesChanged(e,t):!1}onLinesDeleted(e,t){var i;return(i=this._lastRenderData)===null||i===void 0||i.onLinesDeleted(e,t),!0}onLinesInserted(e,t){var i;return(i=this._lastRenderData)===null||i===void 0||i.onLinesInserted(e,t),!0}onScrollChanged(){return this._renderDecorations=!0,!0}onThemeChanged(){return this._selectionColor=this._theme.getColor(mye),this._renderDecorations=!0,!0}onTokensChanged(e){return this._lastRenderData?this._lastRenderData.onTokensChanged(e):!1}onTokensColorsChanged(){return this._lastRenderData=null,this._buffers=null,!0}onZonesChanged(){return this._lastRenderData=null,!0}render(e){if(this._model.options.renderMinimap===0){this._shadow.setClassName("minimap-shadow-hidden"),this._sliderHorizontal.setWidth(0),this._sliderHorizontal.setHeight(0);return}e.scrollLeft+e.viewportWidth>=e.scrollWidth?this._shadow.setClassName("minimap-shadow-hidden"):this._shadow.setClassName("minimap-shadow-visible");const i=rD.create(this._model.options,e.viewportStartLineNumber,e.viewportEndLineNumber,e.viewportStartLineNumberVerticalOffset,e.viewportHeight,e.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),e.scrollTop,e.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setDisplay(i.sliderNeeded?"block":"none"),this._slider.setTop(i.sliderTop),this._slider.setHeight(i.sliderHeight),this._sliderHorizontal.setLeft(0),this._sliderHorizontal.setWidth(this._model.options.minimapWidth),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(i.sliderHeight),this.renderDecorations(i),this._lastRenderData=this.renderLines(i)}renderDecorations(e){if(this._renderDecorations){this._renderDecorations=!1;const t=this._model.getSelections();t.sort(J.compareRangesUsingStarts);const i=this._model.getMinimapDecorationsInViewport(e.startLineNumber,e.endLineNumber);i.sort((h,m)=>(h.options.zIndex||0)-(m.options.zIndex||0));const{canvasInnerWidth:r,canvasInnerHeight:o}=this._model.options,s=this._model.options.minimapLineHeight,a=this._model.options.minimapCharWidth,l=this._model.getOptions().tabSize,u=this._decorationsCanvas.domNode.getContext("2d");u.clearRect(0,0,r,o);const c=new mve(e.startLineNumber,e.endLineNumber,!1);this._renderSelectionLineHighlights(u,t,c,e,s),this._renderDecorationsLineHighlights(u,i,c,e,s);const d=new mve(e.startLineNumber,e.endLineNumber,null);this._renderSelectionsHighlights(u,t,d,e,s,l,a,r),this._renderDecorationsHighlights(u,i,d,e,s,l,a,r),this._renderSectionHeaders(e)}}_renderSelectionLineHighlights(e,t,i,r,o){if(!this._selectionColor||this._selectionColor.isTransparent())return;e.fillStyle=this._selectionColor.transparent(.5).toString();let s=0,a=0;for(const l of t){const u=r.intersectWithViewport(l);if(!u)continue;const[c,d]=u;for(let f=c;f<=d;f++)i.set(f,!0);const h=r.getYForLineNumber(c,o),m=r.getYForLineNumber(d,o);a>=h||(a>s&&e.fillRect(Jm,s,e.canvas.width,a-s),s=h),a=m}a>s&&e.fillRect(Jm,s,e.canvas.width,a-s)}_renderDecorationsLineHighlights(e,t,i,r,o){const s=new Map;for(let a=t.length-1;a>=0;a--){const l=t[a],u=l.options.minimap;if(!u||u.position!==1)continue;const c=r.intersectWithViewport(l.range);if(!c)continue;const[d,h]=c,m=u.getColor(this._theme.value);if(!m||m.isTransparent())continue;let f=s.get(m.toString());f||(f=m.transparent(.5).toString(),s.set(m.toString(),f)),e.fillStyle=f;for(let g=d;g<=h;g++){if(i.has(g))continue;i.set(g,!0);const b=r.getYForLineNumber(d,o);e.fillRect(Jm,b,e.canvas.width,o)}}}_renderSelectionsHighlights(e,t,i,r,o,s,a,l){if(!(!this._selectionColor||this._selectionColor.isTransparent()))for(const u of t){const c=r.intersectWithViewport(u);if(!c)continue;const[d,h]=c;for(let m=d;m<=h;m++)this.renderDecorationOnLine(e,i,u,this._selectionColor,r,m,o,o,s,a,l)}}_renderDecorationsHighlights(e,t,i,r,o,s,a,l){for(const u of t){const c=u.options.minimap;if(!c)continue;const d=r.intersectWithViewport(u.range);if(!d)continue;const[h,m]=d,f=c.getColor(this._theme.value);if(!(!f||f.isTransparent()))for(let g=h;g<=m;g++)switch(c.position){case 1:this.renderDecorationOnLine(e,i,u.range,f,r,g,o,o,s,a,l);continue;case 2:{const b=r.getYForLineNumber(g,o);this.renderDecoration(e,f,2,b,Zvt,o);continue}}}}renderDecorationOnLine(e,t,i,r,o,s,a,l,u,c,d){const h=o.getYForLineNumber(s,l);if(h+a<0||h>this._model.options.canvasInnerHeight)return;const{startLineNumber:m,endLineNumber:f}=i,g=m===s?i.startColumn:1,b=f===s?i.endColumn:this._model.getLineMaxColumn(s),y=this.getXOffsetForPosition(t,s,g,u,c,d),C=this.getXOffsetForPosition(t,s,b,u,c,d);this.renderDecoration(e,r,y,h,C-y,a)}getXOffsetForPosition(e,t,i,r,o,s){if(i===1)return Jm;if((i-1)*o>=s)return s;let l=e.get(t);if(!l){const u=this._model.getLineContent(t);l=[Jm];let c=Jm;for(let d=1;d=s){l[d]=s;break}l[d]=f,c=f}e.set(t,l)}return i-1g.range.startLineNumber-b.range.startLineNumber);const f=d2._fitSectionHeader.bind(null,h,s-Jm);for(const g of m){const b=e.getYForLineNumber(g.range.startLineNumber,i)+r,y=b-r,C=y+2,w=this._model.getSectionHeaderText(g,f);d2._renderSectionLabel(h,w,((t=g.options.minimap)===null||t===void 0?void 0:t.sectionHeaderStyle)===2,l,c,s,y,o,b,C)}}static _fitSectionHeader(e,t,i){if(!i)return i;const r="…",o=e.measureText(i).width,s=e.measureText(r).width;if(o<=t||o<=s)return i;const a=i.length,l=o/i.length,u=Math.floor((t-s)/l)-1;let c=Math.ceil(u/2);for(;c>0&&/\s/.test(i[c-1]);)--c;return i.substring(0,c)+r+i.substring(a-(u-c))}static _renderSectionLabel(e,t,i,r,o,s,a,l,u,c){t&&(e.fillStyle=r,e.fillRect(0,a,s,l),e.fillStyle=o,e.fillText(t,Jm,u)),i&&(e.beginPath(),e.moveTo(0,c),e.lineTo(s,c),e.closePath(),e.stroke())}renderLines(e){const t=e.startLineNumber,i=e.endLineNumber,r=this._model.options.minimapLineHeight;if(this._lastRenderData&&this._lastRenderData.linesEquals(e)){const z=this._lastRenderData._get();return new hve(e,z.imageData,z.lines)}const o=this._getBuffer();if(!o)return null;const[s,a,l]=d2._renderUntouchedLines(o,e.topPaddingLineCount,t,i,r,this._lastRenderData),u=this._model.getMinimapLinesRenderingData(t,i,l),c=this._model.getOptions().tabSize,d=this._model.options.defaultBackgroundColor,h=this._model.options.backgroundColor,m=this._model.options.foregroundAlpha,f=this._model.tokensColorTracker,g=f.backgroundIsLight(),b=this._model.options.renderMinimap,y=this._model.options.charRenderer(),C=this._model.options.fontScale,w=this._model.options.minimapCharWidth,L=(b===1?2:3)*C,I=r>L?Math.floor((r-L)/2):0,D=h.a/255,N=new Yu(Math.round((h.r-d.r)*D+d.r),Math.round((h.g-d.g)*D+d.g),Math.round((h.b-d.b)*D+d.b),255);let T=e.topPaddingLineCount*r;const R=[];for(let z=0,O=i-t+1;z=0&&EC)return;const W=b.charCodeAt(L);if(W===9){const Z=h-(L+I)%h;I+=Z-1,x+=Z*s}else if(W===32)x+=s;else{const Z=Ob(W)?2:1;for(let V=0;VC)return}}}}}class mve{constructor(e,t,i){this._startLineNumber=e,this._endLineNumber=t,this._defaultValue=i,this._values=[];for(let r=0,o=this._endLineNumber-this._startLineNumber+1;rthis._endLineNumber||(this._values[e-this._startLineNumber]=t)}get(e){return ethis._endLineNumber?this._defaultValue:this._values[e-this._startLineNumber]}}class Avt extends du{constructor(e,t){super(e),this._viewDomNode=t;const r=this._context.configuration.options.get(145);this._widgets={},this._verticalScrollbarWidth=r.verticalScrollbarWidth,this._minimapWidth=r.minimap.minimapWidth,this._horizontalScrollbarHeight=r.horizontalScrollbarHeight,this._editorHeight=r.height,this._editorWidth=r.width,this._viewDomNodeRect={top:0,left:0,width:0,height:0},this._domNode=wi(document.createElement("div")),Xh.write(this._domNode,4),this._domNode.setClassName("overlayWidgets"),this.overflowingOverlayWidgetsDomNode=wi(document.createElement("div")),Xh.write(this.overflowingOverlayWidgetsDomNode,5),this.overflowingOverlayWidgetsDomNode.setClassName("overflowingOverlayWidgets")}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(e){const i=this._context.configuration.options.get(145);return this._verticalScrollbarWidth=i.verticalScrollbarWidth,this._minimapWidth=i.minimap.minimapWidth,this._horizontalScrollbarHeight=i.horizontalScrollbarHeight,this._editorHeight=i.height,this._editorWidth=i.width,!0}addWidget(e){const t=wi(e.getDomNode());this._widgets[e.getId()]={widget:e,preference:null,domNode:t},t.setPosition("absolute"),t.setAttribute("widgetId",e.getId()),e.allowEditorOverflow?this.overflowingOverlayWidgetsDomNode.appendChild(t):this._domNode.appendChild(t),this.setShouldRender(),this._updateMaxMinWidth()}setWidgetPosition(e,t){const i=this._widgets[e.getId()];return i.preference===t?(this._updateMaxMinWidth(),!1):(i.preference=t,this.setShouldRender(),this._updateMaxMinWidth(),!0)}removeWidget(e){const t=e.getId();if(this._widgets.hasOwnProperty(t)){const r=this._widgets[t].domNode.domNode;delete this._widgets[t],r.remove(),this.setShouldRender(),this._updateMaxMinWidth()}}_updateMaxMinWidth(){var e,t;let i=0;const r=Object.keys(this._widgets);for(let o=0,s=r.length;o=3){const o=Math.floor(r/3),s=Math.floor(r/3),a=r-o-s,l=e,u=l+o,c=l+o+a;return[[0,l,u,l,c,l,u,l],[0,o,a,o+a,s,o+a+s,a+s,o+a+s]]}else if(i===2){const o=Math.floor(r/2),s=r-o,a=e,l=a+o;return[[0,a,a,a,l,a,a,a],[0,o,o,o,s,o+s,o+s,o+s]]}else{const o=e,s=r;return[[0,o,o,o,o,o,o,o],[0,s,s,s,s,s,s,s]]}}equals(e){return this.lineHeight===e.lineHeight&&this.pixelRatio===e.pixelRatio&&this.overviewRulerLanes===e.overviewRulerLanes&&this.renderBorder===e.renderBorder&&this.borderColor===e.borderColor&&this.hideCursor===e.hideCursor&&this.cursorColorSingle===e.cursorColorSingle&&this.cursorColorPrimary===e.cursorColorPrimary&&this.cursorColorSecondary===e.cursorColorSecondary&&this.themeType===e.themeType&&Re.equals(this.backgroundColor,e.backgroundColor)&&this.top===e.top&&this.right===e.right&&this.domWidth===e.domWidth&&this.domHeight===e.domHeight&&this.canvasWidth===e.canvasWidth&&this.canvasHeight===e.canvasHeight}}class Gvt extends du{constructor(e){super(e),this._actualShouldRender=0,this._renderedDecorations=[],this._renderedCursorPositions=[],this._domNode=wi(document.createElement("canvas")),this._domNode.setClassName("decorationsOverviewRuler"),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._domNode.setAttribute("aria-hidden","true"),this._updateSettings(!1),this._tokensColorTrackerListener=bo.onDidChange(t=>{t.changedColorMap&&this._updateSettings(!0)}),this._cursorPositions=[{position:new ve(1,1),color:this._settings.cursorColorSingle}]}dispose(){super.dispose(),this._tokensColorTrackerListener.dispose()}_updateSettings(e){const t=new Vvt(this._context.configuration,this._context.theme);return this._settings&&this._settings.equals(t)?!1:(this._settings=t,this._domNode.setTop(this._settings.top),this._domNode.setRight(this._settings.right),this._domNode.setWidth(this._settings.domWidth),this._domNode.setHeight(this._settings.domHeight),this._domNode.domNode.width=this._settings.canvasWidth,this._domNode.domNode.height=this._settings.canvasHeight,e&&this._render(),!0)}_markRenderingIsNeeded(){return this._actualShouldRender=2,!0}_markRenderingIsMaybeNeeded(){return this._actualShouldRender=1,!0}onConfigurationChanged(e){return this._updateSettings(!1)?this._markRenderingIsNeeded():!1}onCursorStateChanged(e){this._cursorPositions=[];for(let t=0,i=e.selections.length;t1&&(r=t===0?this._settings.cursorColorPrimary:this._settings.cursorColorSecondary),this._cursorPositions.push({position:e.selections[t].getPosition(),color:r})}return this._cursorPositions.sort((t,i)=>ve.compare(t.position,i.position)),this._markRenderingIsMaybeNeeded()}onDecorationsChanged(e){return e.affectsOverviewRuler?this._markRenderingIsMaybeNeeded():!1}onFlushed(e){return this._markRenderingIsNeeded()}onScrollChanged(e){return e.scrollHeightChanged?this._markRenderingIsNeeded():!1}onZonesChanged(e){return this._markRenderingIsNeeded()}onThemeChanged(e){return this._updateSettings(!1)?this._markRenderingIsNeeded():!1}getDomNode(){return this._domNode.domNode}prepareRender(e){}render(e){this._render(),this._actualShouldRender=0}_render(){const e=this._settings.backgroundColor;if(this._settings.overviewRulerLanes===0){this._domNode.setBackgroundColor(e?Re.Format.CSS.formatHexA(e):""),this._domNode.setDisplay("none");return}const t=this._context.viewModel.getAllOverviewRulerDecorations(this._context.theme);if(t.sort(tD.compareByRenderingProps),this._actualShouldRender===1&&!tD.equalsArr(this._renderedDecorations,t)&&(this._actualShouldRender=2),this._actualShouldRender===1&&!Nr(this._renderedCursorPositions,this._cursorPositions,(f,g)=>f.position.lineNumber===g.position.lineNumber&&f.color===g.color)&&(this._actualShouldRender=2),this._actualShouldRender===1)return;this._renderedDecorations=t,this._renderedCursorPositions=this._cursorPositions,this._domNode.setDisplay("block");const i=this._settings.canvasWidth,r=this._settings.canvasHeight,o=this._settings.lineHeight,s=this._context.viewLayout,a=this._context.viewLayout.getScrollHeight(),l=r/a,u=6*this._settings.pixelRatio|0,c=u/2|0,d=this._domNode.domNode.getContext("2d");e?e.isOpaque()?(d.fillStyle=Re.Format.CSS.formatHexA(e),d.fillRect(0,0,i,r)):(d.clearRect(0,0,i,r),d.fillStyle=Re.Format.CSS.formatHexA(e),d.fillRect(0,0,i,r)):d.clearRect(0,0,i,r);const h=this._settings.x,m=this._settings.w;for(const f of t){const g=f.color,b=f.data;d.fillStyle=g;let y=0,C=0,w=0;for(let x=0,L=b.length/3;xr&&(W=r-c),T=W-c,R=W+c}T>w+1||I!==y?(x!==0&&d.fillRect(h[y],C,m[y],w-C),y=I,C=T,w=R):R>w&&(w=R)}d.fillRect(h[y],C,m[y],w-C)}if(!this._settings.hideCursor){const f=2*this._settings.pixelRatio|0,g=f/2|0,b=this._settings.x[7],y=this._settings.w[7];let C=-100,w=-100,x=null;for(let L=0,I=this._cursorPositions.length;Lr&&(T=r-g);const R=T-g,E=R+f;R>w+1||D!==x?(L!==0&&x&&d.fillRect(b,C,y,w-C),C=R,w=E):E>w&&(w=E),x=D,d.fillStyle=D}x&&d.fillRect(b,C,y,w-C)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(d.beginPath(),d.lineWidth=1,d.strokeStyle=this._settings.borderColor,d.moveTo(0,0),d.lineTo(0,r),d.stroke(),d.moveTo(0,0),d.lineTo(i,0),d.stroke())}}class fve{constructor(e,t,i){this._colorZoneBrand=void 0,this.from=e|0,this.to=t|0,this.colorId=i|0}static compare(e,t){return e.colorId===t.colorId?e.from===t.from?e.to-t.to:e.from-t.from:e.colorId-t.colorId}}class gve{constructor(e,t,i,r){this._overviewRulerZoneBrand=void 0,this.startLineNumber=e,this.endLineNumber=t,this.heightInLines=i,this.color=r,this._colorZone=null}static compare(e,t){return e.color===t.color?e.startLineNumber===t.startLineNumber?e.heightInLines===t.heightInLines?e.endLineNumber-t.endLineNumber:e.heightInLines-t.heightInLines:e.startLineNumber-t.startLineNumber:e.colori&&(g=i-b);const y=c.color;let C=this._color2Id[y];C||(C=++this._lastAssignedId,this._color2Id[y]=C,this._id2Color[C]=y);const w=new fve(g-b,g+b,C);c.setColorZone(w),a.push(w)}return this._colorZonesInvalid=!1,a.sort(fve.compare),a}}class Pvt extends EF{constructor(e,t){super(),this._context=e;const i=this._context.configuration.options;this._domNode=wi(document.createElement("canvas")),this._domNode.setClassName(t),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._zoneManager=new Xvt(r=>this._context.viewLayout.getVerticalOffsetForLineNumber(r)),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight()),this._zoneManager.setLineHeight(i.get(67)),this._zoneManager.setPixelRatio(i.get(143)),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return e.hasChanged(67)&&(this._zoneManager.setLineHeight(t.get(67)),this._render()),e.hasChanged(143)&&(this._zoneManager.setPixelRatio(t.get(143)),this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render()),!0}onFlushed(e){return this._render(),!0}onScrollChanged(e){return e.scrollHeightChanged&&(this._zoneManager.setOuterHeight(e.scrollHeight),this._render()),!0}onZonesChanged(e){return this._render(),!0}getDomNode(){return this._domNode.domNode}setLayout(e){this._domNode.setTop(e.top),this._domNode.setRight(e.right);let t=!1;t=this._zoneManager.setDOMWidth(e.width)||t,t=this._zoneManager.setDOMHeight(e.height)||t,t&&(this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render())}setZones(e){this._zoneManager.setZones(e),this._render()}_render(){if(this._zoneManager.getOuterHeight()===0)return!1;const e=this._zoneManager.getCanvasWidth(),t=this._zoneManager.getCanvasHeight(),i=this._zoneManager.resolveColorZones(),r=this._zoneManager.getId2Color(),o=this._domNode.domNode.getContext("2d");return o.clearRect(0,0,e,t),i.length>0&&this._renderOneLane(o,i,r,e),!0}_renderOneLane(e,t,i,r){let o=0,s=0,a=0;for(const l of t){const u=l.colorId,c=l.from,d=l.to;u!==o?(e.fillRect(0,s,r,a-s),o=u,e.fillStyle=i[o],s=c,a=d):a>=c?a=Math.max(a,d):(e.fillRect(0,s,r,a-s),s=c,a=d)}e.fillRect(0,s,r,a-s)}}class Ovt extends du{constructor(e){super(e),this.domNode=wi(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("view-rulers"),this._renderedRulers=[];const t=this._context.configuration.options;this._rulers=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth}dispose(){super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._rulers=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onScrollChanged(e){return e.scrollHeightChanged}prepareRender(e){}_ensureRulersCount(){const e=this._renderedRulers.length,t=this._rulers.length;if(e===t)return;if(e0;){const a=wi(document.createElement("div"));a.setClassName("view-ruler"),a.setWidth(o),this.domNode.appendChild(a),this._renderedRulers.push(a),s--}return}let i=e-t;for(;i>0;){const r=this._renderedRulers.pop();this.domNode.removeChild(r),i--}}render(e){this._ensureRulersCount();for(let t=0,i=this._rulers.length;t0;return this._shouldShow!==e?(this._shouldShow=e,!0):!1}getDomNode(){return this._domNode}_updateWidth(){const t=this._context.configuration.options.get(145);t.minimap.renderMinimap===0||t.minimap.minimapWidth>0&&t.minimap.minimapLeft===0?this._width=t.width:this._width=t.width-t.verticalScrollbarWidth}onConfigurationChanged(e){const i=this._context.configuration.options.get(103);return this._useShadows=i.useShadows,this._updateWidth(),this._updateShouldShow(),!0}onScrollChanged(e){return this._scrollTop=e.scrollTop,this._updateShouldShow()}prepareRender(e){}render(e){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")}}class zvt{constructor(e){this.left=e.left,this.width=e.width,this.startStyle=null,this.endStyle=null}}class Hvt{constructor(e,t){this.lineNumber=e,this.ranges=t}}function Yvt(n){return new zvt(n)}function Uvt(n){return new Hvt(n.lineNumber,n.ranges.map(Yvt))}class ro extends hv{constructor(e){super(),this._previousFrameVisibleRangesWithStyle=[],this._context=e;const t=this._context.configuration.options;this._roundedSelection=t.get(101),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,this._selections=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._roundedSelection=t.get(101),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_visibleRangesHaveGaps(e){for(let t=0,i=e.length;t1)return!0;return!1}_enrichVisibleRangesWithStyle(e,t,i){const r=this._typicalHalfwidthCharacterWidth/4;let o=null,s=null;if(i&&i.length>0&&t.length>0){const a=t[0].lineNumber;if(a===e.startLineNumber)for(let u=0;!o&&u=0;u--)i[u].lineNumber===l&&(s=i[u].ranges[0]);o&&!o.startStyle&&(o=null),s&&!s.startStyle&&(s=null)}for(let a=0,l=t.length;a0){const f=t[a-1].ranges[0].left,g=t[a-1].ranges[0].left+t[a-1].ranges[0].width;kZ(c-f)f&&(h.top=1),kZ(d-g)'}_actualRenderOneSelection(e,t,i,r){if(r.length===0)return;const o=!!r[0].ranges[0].startStyle,s=r[0].lineNumber,a=r[r.length-1].lineNumber;for(let l=0,u=r.length;l1,u)}this._previousFrameVisibleRangesWithStyle=o,this._renderResult=t.map(([s,a])=>s+a)}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}ro.SELECTION_CLASS_NAME="selected-text",ro.SELECTION_TOP_LEFT="top-left-radius",ro.SELECTION_BOTTOM_LEFT="bottom-left-radius",ro.SELECTION_TOP_RIGHT="top-right-radius",ro.SELECTION_BOTTOM_RIGHT="bottom-right-radius",ro.EDITOR_BACKGROUND_CLASS_NAME="monaco-editor-background",ro.ROUNDED_PIECE_WIDTH=10,Xc((n,e)=>{const t=n.getColor(zbt);t&&!t.isTransparent()&&e.addRule(`.monaco-editor .view-line span.inline-selected-text { color: ${t}; }`)});function kZ(n){return n<0?-n:n}class pve{constructor(e,t,i,r,o,s,a){this.top=e,this.left=t,this.paddingLeft=i,this.width=r,this.height=o,this.textContent=s,this.textContentClassName=a}}var $g;(function(n){n[n.Single=0]="Single",n[n.MultiPrimary=1]="MultiPrimary",n[n.MultiSecondary=2]="MultiSecondary"})($g||($g={}));class bve{constructor(e,t){this._context=e;const i=this._context.configuration.options,r=i.get(50);this._cursorStyle=i.get(28),this._lineHeight=i.get(67),this._typicalHalfwidthCharacterWidth=r.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(i.get(31),this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=wi(document.createElement("div")),this._domNode.setClassName(`cursor ${a2}`),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),Ts(this._domNode,r),this._domNode.setDisplay("none"),this._position=new ve(1,1),this._pluralityClass="",this.setPlurality(t),this._lastRenderedContent="",this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}setPlurality(e){switch(e){default:case $g.Single:this._pluralityClass="";break;case $g.MultiPrimary:this._pluralityClass="cursor-primary";break;case $g.MultiSecondary:this._pluralityClass="cursor-secondary";break}}show(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)}hide(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(50);return this._cursorStyle=t.get(28),this._lineHeight=t.get(67),this._typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(t.get(31),this._typicalHalfwidthCharacterWidth),Ts(this._domNode,i),!0}onCursorPositionChanged(e,t){return t?this._domNode.domNode.style.transitionProperty="none":this._domNode.domNode.style.transitionProperty="",this._position=e,!0}_getGraphemeAwarePosition(){const{lineNumber:e,column:t}=this._position,i=this._context.viewModel.getLineContent(e),[r,o]=Emt(i,t-1);return[new ve(e,r+1),i.substring(r,o)]}_prepareRender(e){let t="",i="";const[r,o]=this._getGraphemeAwarePosition();if(this._cursorStyle===Es.Line||this._cursorStyle===Es.LineThin){const h=e.visibleRangeForPosition(r);if(!h||h.outsideRenderedLine)return null;const m=Qt(this._domNode.domNode);let f;this._cursorStyle===Es.Line?(f=A0e(m,this._lineCursorWidth>0?this._lineCursorWidth:2),f>2&&(t=o,i=this._getTokenClassName(r))):f=A0e(m,1);let g=h.left,b=0;f>=2&&g>=1&&(b=1,g-=b);const y=e.getVerticalOffsetForLineNumber(r.lineNumber)-e.bigNumbersDelta;return new pve(y,g,b,f,this._lineHeight,t,i)}const s=e.linesVisibleRangesForRange(new J(r.lineNumber,r.column,r.lineNumber,r.column+o.length),!1);if(!s||s.length===0)return null;const a=s[0];if(a.outsideRenderedLine||a.ranges.length===0)return null;const l=a.ranges[0],u=o===" "?this._typicalHalfwidthCharacterWidth:l.width<1?this._typicalHalfwidthCharacterWidth:l.width;this._cursorStyle===Es.Block&&(t=o,i=this._getTokenClassName(r));let c=e.getVerticalOffsetForLineNumber(r.lineNumber)-e.bigNumbersDelta,d=this._lineHeight;return(this._cursorStyle===Es.Underline||this._cursorStyle===Es.UnderlineThin)&&(c+=this._lineHeight-2,d=2),new pve(c,l.left,0,u,d,t,i)}_getTokenClassName(e){const t=this._context.viewModel.getViewLineData(e.lineNumber),i=t.tokens.findTokenIndexAtOffset(e.column-1);return t.tokens.getClassName(i)}prepareRender(e){this._renderData=this._prepareRender(e)}render(e){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName(`cursor ${this._pluralityClass} ${a2} ${this._renderData.textContentClassName}`),this._domNode.setDisplay("block"),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),this._domNode.setPaddingLeft(this._renderData.paddingLeft),this._domNode.setWidth(this._renderData.width),this._domNode.setLineHeight(this._renderData.height),this._domNode.setHeight(this._renderData.height),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}):(this._domNode.setDisplay("none"),null)}}class sD extends du{constructor(e){super(e);const t=this._context.configuration.options;this._readOnly=t.get(91),this._cursorBlinking=t.get(26),this._cursorStyle=t.get(28),this._cursorSmoothCaretAnimation=t.get(27),this._selectionIsEmpty=!0,this._isComposingInput=!1,this._isVisible=!1,this._primaryCursor=new bve(this._context,$g.Single),this._secondaryCursors=[],this._renderData=[],this._domNode=wi(document.createElement("div")),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._updateDomClassName(),this._domNode.appendChild(this._primaryCursor.getDomNode()),this._startCursorBlinkAnimation=new Id,this._cursorFlatBlinkInterval=new bY,this._blinkingEnabled=!1,this._editorHasFocus=!1,this._updateBlinking()}dispose(){super.dispose(),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(e){return this._isComposingInput=!0,this._updateBlinking(),!0}onCompositionEnd(e){return this._isComposingInput=!1,this._updateBlinking(),!0}onConfigurationChanged(e){const t=this._context.configuration.options;this._readOnly=t.get(91),this._cursorBlinking=t.get(26),this._cursorStyle=t.get(28),this._cursorSmoothCaretAnimation=t.get(27),this._updateBlinking(),this._updateDomClassName(),this._primaryCursor.onConfigurationChanged(e);for(let i=0,r=this._secondaryCursors.length;it.length){const o=this._secondaryCursors.length-t.length;for(let s=0;s{for(let r=0,o=e.ranges.length;r{this._isVisible?this._hide():this._show()},sD.BLINK_INTERVAL,Qt(this._domNode.domNode)):this._startCursorBlinkAnimation.setIfNotSet(()=>{this._blinkingEnabled=!0,this._updateDomClassName()},sD.BLINK_INTERVAL))}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let e="cursors-layer";switch(this._selectionIsEmpty||(e+=" has-selection"),this._cursorStyle){case Es.Line:e+=" cursor-line-style";break;case Es.Block:e+=" cursor-block-style";break;case Es.Underline:e+=" cursor-underline-style";break;case Es.LineThin:e+=" cursor-line-thin-style";break;case Es.BlockOutline:e+=" cursor-block-outline-style";break;case Es.UnderlineThin:e+=" cursor-underline-thin-style";break;default:e+=" cursor-line-style"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case 1:e+=" cursor-blink";break;case 2:e+=" cursor-smooth";break;case 3:e+=" cursor-phase";break;case 4:e+=" cursor-expand";break;case 5:e+=" cursor-solid";break;default:e+=" cursor-solid"}else e+=" cursor-solid";return(this._cursorSmoothCaretAnimation==="on"||this._cursorSmoothCaretAnimation==="explicit")&&(e+=" cursor-smooth-caret-animation"),e}_show(){this._primaryCursor.show();for(let e=0,t=this._secondaryCursors.length;e{const t=[{class:".cursor",foreground:sf,background:Ug},{class:".cursor-primary",foreground:Oye,background:lyt},{class:".cursor-secondary",foreground:Bye,background:uyt}];for(const i of t){const r=n.getColor(i.foreground);if(r){let o=n.getColor(i.background);o||(o=r.opposite()),e.addRule(`.monaco-editor .cursors-layer ${i.class} { background-color: ${r}; border-color: ${r}; color: ${o}; }`),rf(n.type)&&e.addRule(`.monaco-editor .cursors-layer.has-selection ${i.class} { border-left: 1px solid ${o}; border-right: 1px solid ${o}; }`)}}});const U6=()=>{throw new Error("Invalid change accessor")};class Kvt extends du{constructor(e){super(e);const t=this._context.configuration.options,i=t.get(145);this._lineHeight=t.get(67),this._contentWidth=i.contentWidth,this._contentLeft=i.contentLeft,this.domNode=wi(document.createElement("div")),this.domNode.setClassName("view-zones"),this.domNode.setPosition("absolute"),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.marginDomNode=wi(document.createElement("div")),this.marginDomNode.setClassName("margin-view-zones"),this.marginDomNode.setPosition("absolute"),this.marginDomNode.setAttribute("role","presentation"),this.marginDomNode.setAttribute("aria-hidden","true"),this._zones={}}dispose(){super.dispose(),this._zones={}}_recomputeWhitespacesProps(){const e=this._context.viewLayout.getWhitespaces(),t=new Map;for(const r of e)t.set(r.id,r);let i=!1;return this._context.viewModel.changeWhitespace(r=>{const o=Object.keys(this._zones);for(let s=0,a=o.length;s{const r={addZone:o=>(t=!0,this._addZone(i,o)),removeZone:o=>{o&&(t=this._removeZone(i,o)||t)},layoutZone:o=>{o&&(t=this._layoutZone(i,o)||t)}};Jvt(e,r),r.addZone=U6,r.removeZone=U6,r.layoutZone=U6}),t}_addZone(e,t){const i=this._computeWhitespaceProps(t),o={whitespaceId:e.insertWhitespace(i.afterViewLineNumber,this._getZoneOrdinal(t),i.heightInPx,i.minWidthInPx),delegate:t,isInHiddenArea:i.isInHiddenArea,isVisible:!1,domNode:wi(t.domNode),marginDomNode:t.marginDomNode?wi(t.marginDomNode):null};return this._safeCallOnComputedHeight(o.delegate,i.heightInPx),o.domNode.setPosition("absolute"),o.domNode.domNode.style.width="100%",o.domNode.setDisplay("none"),o.domNode.setAttribute("monaco-view-zone",o.whitespaceId),this.domNode.appendChild(o.domNode),o.marginDomNode&&(o.marginDomNode.setPosition("absolute"),o.marginDomNode.domNode.style.width="100%",o.marginDomNode.setDisplay("none"),o.marginDomNode.setAttribute("monaco-view-zone",o.whitespaceId),this.marginDomNode.appendChild(o.marginDomNode)),this._zones[o.whitespaceId]=o,this.setShouldRender(),o.whitespaceId}_removeZone(e,t){if(this._zones.hasOwnProperty(t)){const i=this._zones[t];return delete this._zones[t],e.removeWhitespace(i.whitespaceId),i.domNode.removeAttribute("monaco-visible-view-zone"),i.domNode.removeAttribute("monaco-view-zone"),i.domNode.domNode.parentNode.removeChild(i.domNode.domNode),i.marginDomNode&&(i.marginDomNode.removeAttribute("monaco-visible-view-zone"),i.marginDomNode.removeAttribute("monaco-view-zone"),i.marginDomNode.domNode.parentNode.removeChild(i.marginDomNode.domNode)),this.setShouldRender(),!0}return!1}_layoutZone(e,t){if(this._zones.hasOwnProperty(t)){const i=this._zones[t],r=this._computeWhitespaceProps(i.delegate);return i.isInHiddenArea=r.isInHiddenArea,e.changeOneWhitespace(i.whitespaceId,r.afterViewLineNumber,r.heightInPx),this._safeCallOnComputedHeight(i.delegate,r.heightInPx),this.setShouldRender(),!0}return!1}shouldSuppressMouseDownOnViewZone(e){return this._zones.hasOwnProperty(e)?!!this._zones[e].delegate.suppressMouseDown:!1}_heightInPixels(e){return typeof e.heightInPx=="number"?e.heightInPx:typeof e.heightInLines=="number"?this._lineHeight*e.heightInLines:this._lineHeight}_minWidthInPixels(e){return typeof e.minWidthInPx=="number"?e.minWidthInPx:0}_safeCallOnComputedHeight(e,t){if(typeof e.onComputedHeight=="function")try{e.onComputedHeight(t)}catch(i){yn(i)}}_safeCallOnDomNodeTop(e,t){if(typeof e.onDomNodeTop=="function")try{e.onDomNodeTop(t)}catch(i){yn(i)}}prepareRender(e){}render(e){const t=e.viewportData.whitespaceViewportData,i={};let r=!1;for(const s of t)this._zones[s.id].isInHiddenArea||(i[s.id]=s,r=!0);const o=Object.keys(this._zones);for(let s=0,a=o.length;sa)continue;const m=h.startLineNumber===a?h.startColumn:u.minColumn,f=h.endLineNumber===a?h.endColumn:u.maxColumn;m=R.endOffset&&(T++,R=i&&i[T]),Z!==9&&Z!==32||h&&!I&&W<=N)continue;if(d&&W>=D&&W<=N&&Z===32){const z=W-1>=0?a.charCodeAt(W-1):0,O=W+1=0?a.charCodeAt(W-1):0;if(Z===32&&z!==32&&z!==9)continue}if(i&&(!R||R.startOffset>W||R.endOffset<=W))continue;const V=e.visibleRangeForPosition(new ve(t,W+1));V&&(s?(E=Math.max(E,V.left),Z===9?L+=this._renderArrow(m,b,V.left):L+=``):Z===9?L+=`
${x?"→":"→"}
`:L+=`
${String.fromCharCode(w)}
`)}return s?(E=Math.round(E+b),``+L+""):L}_renderArrow(e,t,i){const r=t/7,o=t,s=e/2,a=i,l={x:0,y:r/2},u={x:100/125*o,y:l.y},c={x:u.x-.2*u.x,y:u.y+.2*u.x},d={x:c.x+.1*u.x,y:c.y+.1*u.x},h={x:d.x+.35*u.x,y:d.y-.35*u.x},m={x:h.x,y:-h.y},f={x:d.x,y:-d.y},g={x:c.x,y:-c.y},b={x:u.x,y:-u.y},y={x:l.x,y:-l.y};return``}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}class yve{constructor(e){const t=e.options,i=t.get(50),r=t.get(38);r==="off"?(this.renderWhitespace="none",this.renderWithSVG=!1):r==="svg"?(this.renderWhitespace=t.get(99),this.renderWithSVG=!0):(this.renderWhitespace=t.get(99),this.renderWithSVG=!1),this.spaceWidth=i.spaceWidth,this.middotWidth=i.middotWidth,this.wsmiddotWidth=i.wsmiddotWidth,this.canUseHalfwidthRightwardsArrow=i.canUseHalfwidthRightwardsArrow,this.lineHeight=t.get(67),this.stopRenderingLineAfter=t.get(117)}equals(e){return this.renderWhitespace===e.renderWhitespace&&this.renderWithSVG===e.renderWithSVG&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter}}class Qvt{constructor(e,t,i,r){this.selections=e,this.startLineNumber=t.startLineNumber|0,this.endLineNumber=t.endLineNumber|0,this.relativeVerticalOffset=t.relativeVerticalOffset,this.bigNumbersDelta=t.bigNumbersDelta|0,this.lineHeight=t.lineHeight|0,this.whitespaceViewportData=i,this._model=r,this.visibleRange=new J(t.startLineNumber,this._model.getLineMinColumn(t.startLineNumber),t.endLineNumber,this._model.getLineMaxColumn(t.endLineNumber))}getViewLineRenderingData(e){return this._model.getViewportViewLineRenderingData(this.visibleRange,e)}getDecorationsInViewport(){return this._model.getDecorationsInViewport(this.visibleRange)}}class $vt{get type(){return this._theme.type}get value(){return this._theme}constructor(e){this._theme=e}update(e){this._theme=e}getColor(e){return this._theme.getColor(e)}}class qvt{constructor(e,t,i){this.configuration=e,this.theme=new $vt(t),this.viewModel=i,this.viewLayout=i.viewLayout}addEventHandler(e){this.viewModel.addViewEventHandler(e)}removeEventHandler(e){this.viewModel.removeViewEventHandler(e)}}var eCt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},tCt=function(n,e){return function(t,i){e(t,i,n)}};let K6=class extends EF{constructor(e,t,i,r,o,s,a){super(),this._instantiationService=a,this._shouldRecomputeGlyphMarginLanes=!1,this._selections=[new Zt(1,1,1,1)],this._renderAnimationFrame=null;const l=new jyt(t,r,o,e);this._context=new qvt(t,i,r),this._context.addEventHandler(this),this._viewParts=[],this._textAreaHandler=this._instantiationService.createInstance(G6,this._context,l,this._createTextAreaHandlerHelper()),this._viewParts.push(this._textAreaHandler),this._linesContent=wi(document.createElement("div")),this._linesContent.setClassName("lines-content monaco-editor-background"),this._linesContent.setPosition("absolute"),this.domNode=wi(document.createElement("div")),this.domNode.setClassName(this._getEditorClassName()),this.domNode.setAttribute("role","code"),this._overflowGuardContainer=wi(document.createElement("div")),Xh.write(this._overflowGuardContainer,3),this._overflowGuardContainer.setClassName("overflow-guard"),this._scrollbar=new svt(this._context,this._linesContent,this.domNode,this._overflowGuardContainer),this._viewParts.push(this._scrollbar),this._viewLines=new NZ(this._context,this._linesContent),this._viewZones=new Kvt(this._context),this._viewParts.push(this._viewZones);const u=new Gvt(this._context);this._viewParts.push(u);const c=new Bvt(this._context);this._viewParts.push(c);const d=new $yt(this._context);this._viewParts.push(d),d.addDynamicOverlay(new ivt(this._context)),d.addDynamicOverlay(new ro(this._context)),d.addDynamicOverlay(new xvt(this._context)),d.addDynamicOverlay(new ovt(this._context)),d.addDynamicOverlay(new jvt(this._context));const h=new qyt(this._context);this._viewParts.push(h),h.addDynamicOverlay(new rvt(this._context)),h.addDynamicOverlay(new Dvt(this._context)),h.addDynamicOverlay(new Fvt(this._context)),h.addDynamicOverlay(new XF(this._context)),this._glyphMarginWidgets=new hvt(this._context),this._viewParts.push(this._glyphMarginWidgets);const m=new mv(this._context);m.getDomNode().appendChild(this._viewZones.marginDomNode),m.getDomNode().appendChild(h.getDomNode()),m.getDomNode().appendChild(this._glyphMarginWidgets.domNode),this._viewParts.push(m),this._contentWidgets=new tvt(this._context,this.domNode),this._viewParts.push(this._contentWidgets),this._viewCursors=new sD(this._context),this._viewParts.push(this._viewCursors),this._overlayWidgets=new Avt(this._context,this.domNode),this._viewParts.push(this._overlayWidgets);const f=new Ovt(this._context);this._viewParts.push(f);const g=new evt(this._context);this._viewParts.push(g);const b=new Wvt(this._context);if(this._viewParts.push(b),u){const y=this._scrollbar.getOverviewRulerLayoutInfo();y.parent.insertBefore(u.getDomNode(),y.insertBefore)}this._linesContent.appendChild(d.getDomNode()),this._linesContent.appendChild(f.domNode),this._linesContent.appendChild(this._viewZones.domNode),this._linesContent.appendChild(this._viewLines.getDomNode()),this._linesContent.appendChild(this._contentWidgets.domNode),this._linesContent.appendChild(this._viewCursors.getDomNode()),this._overflowGuardContainer.appendChild(m.getDomNode()),this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this._overflowGuardContainer.appendChild(c.getDomNode()),this._overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this._overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode()),this._overflowGuardContainer.appendChild(b.getDomNode()),this._overflowGuardContainer.appendChild(g.domNode),this.domNode.appendChild(this._overflowGuardContainer),s?(s.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode),s.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode.domNode)):(this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode),this.domNode.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode)),this._applyLayout(),this._pointerHandler=this._register(new oyt(this._context,l,this._createPointerHandlerHelper()))}_computeGlyphMarginLanes(){const e=this._context.viewModel.model,t=this._context.viewModel.glyphLanes;let i=[],r=0;i=i.concat(e.getAllMarginDecorations().map(o=>{var s,a,l;const u=(a=(s=o.options.glyphMargin)===null||s===void 0?void 0:s.position)!==null&&a!==void 0?a:lf.Center;return r=Math.max(r,o.range.endLineNumber),{range:o.range,lane:u,persist:(l=o.options.glyphMargin)===null||l===void 0?void 0:l.persistLane}})),i=i.concat(this._glyphMarginWidgets.getWidgets().map(o=>{const s=e.validateRange(o.preference.range);return r=Math.max(r,s.endLineNumber),{range:s,lane:o.preference.lane}})),i.sort((o,s)=>J.compareRangesUsingStarts(o.range,s.range)),t.reset(r);for(const o of i)t.push(o.lane,o.range,o.persist);return t}_createPointerHandlerHelper(){return{viewDomNode:this.domNode.domNode,linesContentDomNode:this._linesContent.domNode,viewLinesDomNode:this._viewLines.getDomNode().domNode,focusTextArea:()=>{this.focus()},dispatchTextAreaEvent:e=>{this._textAreaHandler.textArea.domNode.dispatchEvent(e)},getLastRenderData:()=>{const e=this._viewCursors.getLastRenderData()||[],t=this._textAreaHandler.getLastRenderData();return new R1t(e,t)},renderNow:()=>{this.render(!0,!1)},shouldSuppressMouseDownOnViewZone:e=>this._viewZones.shouldSuppressMouseDownOnViewZone(e),shouldSuppressMouseDownOnWidget:e=>this._contentWidgets.shouldSuppressMouseDownOnWidget(e),getPositionFromDOMInfo:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getPositionFromDOMInfo(e,t)),visibleRangeForPosition:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(new ve(e,t))),getLineWidth:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getLineWidth(e))}}_createTextAreaHandlerHelper(){return{visibleRangeForPosition:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(e))}}_applyLayout(){const t=this._context.configuration.options.get(145);this.domNode.setWidth(t.width),this.domNode.setHeight(t.height),this._overflowGuardContainer.setWidth(t.width),this._overflowGuardContainer.setHeight(t.height),this._linesContent.setWidth(16777216),this._linesContent.setHeight(16777216)}_getEditorClassName(){const e=this._textAreaHandler.isFocused()?" focused":"";return this._context.configuration.options.get(142)+" "+E6(this._context.theme.type)+e}handleEvents(e){super.handleEvents(e),this._scheduleRender()}onConfigurationChanged(e){return this.domNode.setClassName(this._getEditorClassName()),this._applyLayout(),!1}onCursorStateChanged(e){return this._selections=e.selections,!1}onDecorationsChanged(e){return e.affectsGlyphMargin&&(this._shouldRecomputeGlyphMarginLanes=!0),!1}onFocusChanged(e){return this.domNode.setClassName(this._getEditorClassName()),!1}onThemeChanged(e){return this._context.theme.update(e.theme),this.domNode.setClassName(this._getEditorClassName()),!1}dispose(){this._renderAnimationFrame!==null&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(),this._context.removeEventHandler(this),this._viewLines.dispose();for(const e of this._viewParts)e.dispose();super.dispose()}_scheduleRender(){if(this._store.isDisposed)throw new rr;if(this._renderAnimationFrame===null){const e=this._createCoordinatedRendering();this._renderAnimationFrame=J6.INSTANCE.scheduleCoordinatedRendering({window:Qt(this.domNode.domNode),prepareRenderText:()=>{if(this._store.isDisposed)throw new rr;try{return e.prepareRenderText()}finally{this._renderAnimationFrame=null}},renderText:()=>{if(this._store.isDisposed)throw new rr;return e.renderText()},prepareRender:(t,i)=>{if(this._store.isDisposed)throw new rr;return e.prepareRender(t,i)},render:(t,i)=>{if(this._store.isDisposed)throw new rr;return e.render(t,i)}})}}_flushAccumulatedAndRenderNow(){const e=this._createCoordinatedRendering();d0(()=>e.prepareRenderText());const t=d0(()=>e.renderText());if(t){const[i,r]=t;d0(()=>e.prepareRender(i,r)),d0(()=>e.render(i,r))}}_getViewPartsToRender(){const e=[];let t=0;for(const i of this._viewParts)i.shouldRender()&&(e[t++]=i);return e}_createCoordinatedRendering(){return{prepareRenderText:()=>{if(this._shouldRecomputeGlyphMarginLanes){this._shouldRecomputeGlyphMarginLanes=!1;const e=this._computeGlyphMarginLanes();this._context.configuration.setGlyphMarginDecorationLaneCount(e.requiredLanes)}n0.onRenderStart()},renderText:()=>{if(!this.domNode.domNode.isConnected)return null;let e=this._getViewPartsToRender();if(!this._viewLines.shouldRender()&&e.length===0)return null;const t=this._context.viewLayout.getLinesViewportData();this._context.viewModel.setViewport(t.startLineNumber,t.endLineNumber,t.centeredLineNumber);const i=new Qvt(this._selections,t,this._context.viewLayout.getWhitespaceViewportData(),this._context.viewModel);return this._contentWidgets.shouldRender()&&this._contentWidgets.onBeforeRender(i),this._viewLines.shouldRender()&&(this._viewLines.renderText(i),this._viewLines.onDidRender(),e=this._getViewPartsToRender()),[e,new g1t(this._context.viewLayout,i,this._viewLines)]},prepareRender:(e,t)=>{for(const i of e)i.prepareRender(t)},render:(e,t)=>{for(const i of e)i.render(t),i.onDidRender()}}}delegateVerticalScrollbarPointerDown(e){this._scrollbar.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this._scrollbar.delegateScrollFromMouseWheelEvent(e)}restoreState(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft},1),this._context.viewModel.visibleLinesStabilized()}getOffsetForColumn(e,t){const i=this._context.viewModel.model.validatePosition({lineNumber:e,column:t}),r=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i);this._flushAccumulatedAndRenderNow();const o=this._viewLines.visibleRangeForPosition(new ve(r.lineNumber,r.column));return o?o.left:-1}getTargetAtClientPoint(e,t){const i=this._pointerHandler.getTargetAtClientPoint(e,t);return i?LZ.convertViewToModelMouseTarget(i,this._context.viewModel.coordinatesConverter):null}createOverviewRuler(e){return new Pvt(this._context,e)}change(e){this._viewZones.changeViewZones(e),this._scheduleRender()}render(e,t){if(t){this._viewLines.forceShouldRender();for(const i of this._viewParts)i.forceShouldRender()}e?this._flushAccumulatedAndRenderNow():this._scheduleRender()}writeScreenReaderContent(e){this._textAreaHandler.writeScreenReaderContent(e)}focus(){this._textAreaHandler.focusTextArea()}isFocused(){return this._textAreaHandler.isFocused()}setAriaOptions(e){this._textAreaHandler.setAriaOptions(e)}addContentWidget(e){this._contentWidgets.addWidget(e.widget),this.layoutContentWidget(e),this._scheduleRender()}layoutContentWidget(e){var t,i,r,o,s,a,l,u;this._contentWidgets.setWidgetPosition(e.widget,(i=(t=e.position)===null||t===void 0?void 0:t.position)!==null&&i!==void 0?i:null,(o=(r=e.position)===null||r===void 0?void 0:r.secondaryPosition)!==null&&o!==void 0?o:null,(a=(s=e.position)===null||s===void 0?void 0:s.preference)!==null&&a!==void 0?a:null,(u=(l=e.position)===null||l===void 0?void 0:l.positionAffinity)!==null&&u!==void 0?u:null),this._scheduleRender()}removeContentWidget(e){this._contentWidgets.removeWidget(e.widget),this._scheduleRender()}addOverlayWidget(e){this._overlayWidgets.addWidget(e.widget),this.layoutOverlayWidget(e),this._scheduleRender()}layoutOverlayWidget(e){const t=e.position?e.position.preference:null;this._overlayWidgets.setWidgetPosition(e.widget,t)&&this._scheduleRender()}removeOverlayWidget(e){this._overlayWidgets.removeWidget(e.widget),this._scheduleRender()}addGlyphMarginWidget(e){this._glyphMarginWidgets.addWidget(e.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}layoutGlyphMarginWidget(e){const t=e.position;this._glyphMarginWidgets.setWidgetPosition(e.widget,t)&&(this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender())}removeGlyphMarginWidget(e){this._glyphMarginWidgets.removeWidget(e.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}};K6=eCt([tCt(6,$t)],K6);function d0(n){try{return n()}catch(e){return yn(e),null}}class J6{constructor(){this._coordinatedRenderings=[],this._animationFrameRunners=new Map}scheduleCoordinatedRendering(e){return this._coordinatedRenderings.push(e),this._scheduleRender(e.window),{dispose:()=>{const t=this._coordinatedRenderings.indexOf(e);if(t!==-1&&(this._coordinatedRenderings.splice(t,1),this._coordinatedRenderings.length===0)){for(const[i,r]of this._animationFrameRunners)r.dispose();this._animationFrameRunners.clear()}}}}_scheduleRender(e){if(!this._animationFrameRunners.has(e)){const t=()=>{this._animationFrameRunners.delete(e),this._onRenderScheduled()};this._animationFrameRunners.set(e,o9(e,t,100))}}_onRenderScheduled(){const e=this._coordinatedRenderings.slice(0);this._coordinatedRenderings=[];for(const i of e)d0(()=>i.prepareRenderText());const t=[];for(let i=0,r=e.length;io.renderText())}for(let i=0,r=e.length;io.prepareRender(a,l))}for(let i=0,r=e.length;io.render(a,l))}}}J6.INSTANCE=new J6;class aD{constructor(e,t,i,r,o){this.injectionOffsets=e,this.injectionOptions=t,this.breakOffsets=i,this.breakOffsetsVisibleColumn=r,this.wrappedTextIndentLength=o}getOutputLineCount(){return this.breakOffsets.length}getMinOutputOffset(e){return e>0?this.wrappedTextIndentLength:0}getLineLength(e){const t=e>0?this.breakOffsets[e-1]:0;let r=this.breakOffsets[e]-t;return e>0&&(r+=this.wrappedTextIndentLength),r}getMaxOutputOffset(e){return this.getLineLength(e)}translateToInputOffset(e,t){e>0&&(t=Math.max(0,t-this.wrappedTextIndentLength));let r=e===0?t:this.breakOffsets[e-1]+t;if(this.injectionOffsets!==null)for(let o=0;othis.injectionOffsets[o];o++)r0?this.breakOffsets[o-1]:0,t===0)if(e<=s)r=o-1;else if(e>l)i=o+1;else break;else if(e=l)i=o+1;else break}let a=e-s;return o>0&&(a+=this.wrappedTextIndentLength),new TZ(o,a)}normalizeOutputPosition(e,t,i){if(this.injectionOffsets!==null){const r=this.outputPositionToOffsetInInputWithInjections(e,t),o=this.normalizeOffsetInInputWithInjectionsAroundInjections(r,i);if(o!==r)return this.offsetInInputWithInjectionsToOutputPosition(o,i)}if(i===0){if(e>0&&t===this.getMinOutputOffset(e))return new TZ(e-1,this.getMaxOutputOffset(e-1))}else if(i===1){const r=this.getOutputLineCount()-1;if(e0&&(t=Math.max(0,t-this.wrappedTextIndentLength)),(e>0?this.breakOffsets[e-1]:0)+t}normalizeOffsetInInputWithInjectionsAroundInjections(e,t){const i=this.getInjectedTextAtOffset(e);if(!i)return e;if(t===2){if(e===i.offsetInInputWithInjections+i.length&&vve(this.injectionOptions[i.injectedTextIndex].cursorStops))return i.offsetInInputWithInjections+i.length;{let r=i.offsetInInputWithInjections;if(Cve(this.injectionOptions[i.injectedTextIndex].cursorStops))return r;let o=i.injectedTextIndex-1;for(;o>=0&&this.injectionOffsets[o]===this.injectionOffsets[i.injectedTextIndex]&&!(vve(this.injectionOptions[o].cursorStops)||(r-=this.injectionOptions[o].content.length,Cve(this.injectionOptions[o].cursorStops)));)o--;return r}}else if(t===1||t===4){let r=i.offsetInInputWithInjections+i.length,o=i.injectedTextIndex;for(;o+1=0&&this.injectionOffsets[o-1]===this.injectionOffsets[o];)r-=this.injectionOptions[o-1].content.length,o--;return r}x9()}getInjectedText(e,t){const i=this.outputPositionToOffsetInInputWithInjections(e,t),r=this.getInjectedTextAtOffset(i);return r?{options:this.injectionOptions[r.injectedTextIndex]}:null}getInjectedTextAtOffset(e){const t=this.injectionOffsets,i=this.injectionOptions;if(t!==null){let r=0;for(let o=0;oe)break;if(e<=l)return{injectedTextIndex:o,offsetInInputWithInjections:a,length:s};r+=s}}}}function vve(n){return n==null?!0:n===Rd.Right||n===Rd.Both}function Cve(n){return n==null?!0:n===Rd.Left||n===Rd.Both}class TZ{constructor(e,t){this.outputLineIndex=e,this.outputOffset=t}toString(){return`${this.outputLineIndex}:${this.outputOffset}`}toPosition(e){return new ve(e+this.outputLineIndex,this.outputOffset+1)}}class nCt{constructor(){this.changeType=1}}class Ph{static applyInjectedText(e,t){if(!t||t.length===0)return e;let i="",r=0;for(const o of t)i+=e.substring(r,o.column-1),r=o.column-1,i+=o.options.content;return i+=e.substring(r),i}static fromDecorations(e){const t=[];for(const i of e)i.options.before&&i.options.before.content.length>0&&t.push(new Ph(i.ownerId,i.range.startLineNumber,i.range.startColumn,i.options.before,0)),i.options.after&&i.options.after.content.length>0&&t.push(new Ph(i.ownerId,i.range.endLineNumber,i.range.endColumn,i.options.after,1));return t.sort((i,r)=>i.lineNumber===r.lineNumber?i.column===r.column?i.order-r.order:i.column-r.column:i.lineNumber-r.lineNumber),t}constructor(e,t,i,r,o){this.ownerId=e,this.lineNumber=t,this.column=i,this.options=r,this.order=o}}class Sve{constructor(e,t,i){this.changeType=2,this.lineNumber=e,this.detail=t,this.injectedText=i}}class iCt{constructor(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t}}class rCt{constructor(e,t,i,r){this.changeType=4,this.injectedTexts=r,this.fromLineNumber=e,this.toLineNumber=t,this.detail=i}}class oCt{constructor(){this.changeType=5}}class h2{constructor(e,t,i,r){this.changes=e,this.versionId=t,this.isUndoing=i,this.isRedoing=r,this.resultingSelection=null}containsEvent(e){for(let t=0,i=this.changes.length;tn});class Q6{static create(e){return new Q6(new WeakRef(e))}constructor(e){this.targetWindow=e}createLineBreaksComputer(e,t,i,r,o){const s=[],a=[];return{addRequest:(l,u,c)=>{s.push(l),a.push(u)},finalize:()=>sCt(Ab(this.targetWindow.deref()),s,e,t,i,r,o,a)}}}function sCt(n,e,t,i,r,o,s,a){var l;function u(R){const E=a[R];if(E){const W=Ph.applyInjectedText(e[R],E),Z=E.map(z=>z.options),V=E.map(z=>z.column-1);return new aD(V,Z,[W.length],[],0)}else return null}if(r===-1){const R=[];for(let E=0,W=e.length;Ec?(W=0,Z=0):V=c-B}const z=E.substr(W),O=aCt(z,Z,i,V,g,m);b[R]=W,y[R]=Z,C[R]=z,w[R]=O[0],x[R]=O[1]}const L=g.build(),I=(l=j6==null?void 0:j6.createHTML(L))!==null&&l!==void 0?l:L;f.innerHTML=I,f.style.position="absolute",f.style.top="10000",s==="keepAll"?(f.style.wordBreak="keep-all",f.style.overflowWrap="anywhere"):(f.style.wordBreak="inherit",f.style.overflowWrap="break-word"),n.document.body.appendChild(f);const D=document.createRange(),N=Array.prototype.slice.call(f.children,0),T=[];for(let R=0;RM.options),P=H.map(M=>M.column-1)):(B=null,P=null),T[R]=new aD(P,B,W,O,V)}return n.document.body.removeChild(f),T}function aCt(n,e,t,i,r,o){if(o!==0){const h=String(o);r.appendString('
');const s=n.length;let a=e,l=0;const u=[],c=[];let d=0");for(let h=0;h"),u[h]=l,c[h]=a;const m=d;d=h+1"),u[n.length]=l,c[n.length]=a,r.appendString("
"),[u,c]}function lCt(n,e,t,i){if(t.length<=1)return null;const r=Array.prototype.slice.call(e.children,0),o=[];try{$6(n,r,i,0,null,t.length-1,null,o)}catch{return null}return o.length===0?null:(o.push(t.length),o)}function $6(n,e,t,i,r,o,s,a){if(i===o||(r=r||q6(n,e,t[i],t[i+1]),s=s||q6(n,e,t[o],t[o+1]),Math.abs(r[0].top-s[0].top)<=.1))return;if(i+1===o){a.push(o);return}const l=i+(o-i)/2|0,u=q6(n,e,t[l],t[l+1]);$6(n,e,t,i,r,l,u,a),$6(n,e,t,l,u,o,s,a)}function q6(n,e,t,i){return n.setStart(e[t/16384|0].firstChild,t%16384),n.setEnd(e[i/16384|0].firstChild,i%16384),n.getClientRects()}class uCt extends Fe{constructor(){super(),this._editor=null,this._instantiationService=null,this._instances=this._register(new VH),this._pending=new Map,this._finishedInstantiation=[],this._finishedInstantiation[0]=!1,this._finishedInstantiation[1]=!1,this._finishedInstantiation[2]=!1,this._finishedInstantiation[3]=!1}initialize(e,t,i){this._editor=e,this._instantiationService=i;for(const r of t){if(this._pending.has(r.id)){yn(new Error(`Cannot have two contributions with the same id ${r.id}`));continue}this._pending.set(r.id,r)}this._instantiateSome(0),this._register(nF(Qt(this._editor.getDomNode()),()=>{this._instantiateSome(1)})),this._register(nF(Qt(this._editor.getDomNode()),()=>{this._instantiateSome(2)})),this._register(nF(Qt(this._editor.getDomNode()),()=>{this._instantiateSome(3)},5e3))}saveViewState(){const e={};for(const[t,i]of this._instances)typeof i.saveViewState=="function"&&(e[t]=i.saveViewState());return e}restoreViewState(e){for(const[t,i]of this._instances)typeof i.restoreViewState=="function"&&i.restoreViewState(e[t])}get(e){return this._instantiateById(e),this._instances.get(e)||null}onBeforeInteractionEvent(){this._instantiateSome(2)}onAfterModelAttached(){var e;return nF(Qt((e=this._editor)===null||e===void 0?void 0:e.getDomNode()),()=>{this._instantiateSome(1)},50)}_instantiateSome(e){if(this._finishedInstantiation[e])return;this._finishedInstantiation[e]=!0;const t=this._findPendingContributionsByInstantiation(e);for(const i of t)this._instantiateById(i.id)}_findPendingContributionsByInstantiation(e){const t=[];for(const[,i]of this._pending)i.instantiation===e&&t.push(i);return t}_instantiateById(e){const t=this._pending.get(e);if(t){if(this._pending.delete(e),!this._instantiationService||!this._editor)throw new Error("Cannot instantiate contributions before being initialized!");try{const i=this._instantiationService.createInstance(t.ctor,this._editor);this._instances.set(t.id,i),typeof i.restoreViewState=="function"&&t.instantiation}catch(i){yn(i)}}}}class xve{constructor(e,t,i,r,o,s,a){this.id=e,this.label=t,this.alias=i,this.metadata=r,this._precondition=o,this._run=s,this._contextKeyService=a}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(e){return this.isSupported()?this._run(e):Promise.resolve(void 0)}}const lD={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"};function h0(n){let e=0,t=0,i=0,r=0;for(let o=0,s=n.length;ot))return new Dn(e,t)}static ofLength(e){return new Dn(0,e)}static ofStartAndLength(e,t){return new Dn(e,e+t)}constructor(e,t){if(this.start=e,this.endExclusive=t,e>t)throw new rr(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new Dn(this.start+e,this.endExclusive+e)}deltaStart(e){return new Dn(this.start+e,this.endExclusive)}deltaEnd(e){return new Dn(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}contains(e){return this.start<=e&&e=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new rr(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new rr(`Invalid clipping range: ${this.toString()}`);return e=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let t=this.start;te.toString()).join(", ")}intersectsStrict(e){let t=0;for(;te+t.length,0)}}class dn{static fromRangeInclusive(e){return new dn(e.startLineNumber,e.endLineNumber+1)}static joinMany(e){if(e.length===0)return[];let t=new Oc(e[0].slice());for(let i=1;it)throw new rr(`startLineNumber ${e} cannot be after endLineNumberExclusive ${t}`);this.startLineNumber=e,this.endLineNumberExclusive=t}contains(e){return this.startLineNumber<=e&&er.endLineNumberExclusive>=e.startLineNumber),i=JF(this._normalizedRanges,r=>r.startLineNumber<=e.endLineNumberExclusive)+1;if(t===i)this._normalizedRanges.splice(t,0,e);else if(t===i-1){const r=this._normalizedRanges[t];this._normalizedRanges[t]=r.join(e)}else{const r=this._normalizedRanges[t].join(this._normalizedRanges[i-1]).join(e);this._normalizedRanges.splice(t,i-t,r)}}contains(e){const t=l2(this._normalizedRanges,i=>i.startLineNumber<=e);return!!t&&t.endLineNumberExclusive>e}intersects(e){const t=l2(this._normalizedRanges,i=>i.startLineNumbere.startLineNumber}getUnion(e){if(this._normalizedRanges.length===0)return e;if(e._normalizedRanges.length===0)return this;const t=[];let i=0,r=0,o=null;for(;i=s.startLineNumber?o=new dn(o.startLineNumber,Math.max(o.endLineNumberExclusive,s.endLineNumberExclusive)):(t.push(o),o=s)}return o!==null&&t.push(o),new Oc(t)}subtractFrom(e){const t=jF(this._normalizedRanges,s=>s.endLineNumberExclusive>=e.startLineNumber),i=JF(this._normalizedRanges,s=>s.startLineNumber<=e.endLineNumberExclusive)+1;if(t===i)return new Oc([e]);const r=[];let o=e.startLineNumber;for(let s=t;so&&r.push(new dn(o,a.startLineNumber)),o=a.endLineNumberExclusive}return oe.toString()).join(", ")}getIntersection(e){const t=[];let i=0,r=0;for(;it.delta(e)))}}class _ve{constructor(e,t,i,r){this.range=e,this.nestingLevel=t,this.nestingLevelOfEqualBracketType=i,this.isInvalid=r}}class cCt{constructor(e,t,i,r,o,s){this.range=e,this.openingBracketRange=t,this.closingBracketRange=i,this.nestingLevel=r,this.nestingLevelOfEqualBracketType=o,this.bracketPairNode=s}get openingBracketInfo(){return this.bracketPairNode.openingBracket.bracketInfo}}class dCt extends cCt{constructor(e,t,i,r,o,s,a){super(e,t,i,r,o,s),this.minVisibleColumnIndentation=a}}class Zd{static ofText(e){let t=0,i=0;for(const r of e)r===` +`?(t++,i=0):i++;return new Zd(t,i)}constructor(e,t){this.lineCount=e,this.columnCount=t}createRange(e){return this.lineCount===0?new J(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new J(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}addToPosition(e){return this.lineCount===0?new ve(e.lineNumber,e.column+this.columnCount):new ve(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}}Zd.zero=new Zd(0,0);function hCt(n,e,t,i){return n!==t?yo(t-n,i):yo(0,i-e)}const ol=0;function EZ(n){return n===0}const Ku=2**26;function yo(n,e){return n*Ku+e}function Bc(n){const e=n,t=Math.floor(e/Ku),i=e-t*Ku;return new Zd(t,i)}function mCt(n){return Math.floor(n/Ku)}function lJt(n){return n}function Zr(n,e){let t=n+e;return e>=Ku&&(t=t-n%Ku),t}function fCt(n,e){return n.reduce((t,i)=>Zr(t,e(i)),ol)}function Lve(n,e){return n===e}function uD(n,e){const t=n,i=e;if(i-t<=0)return ol;const o=Math.floor(t/Ku),s=Math.floor(i/Ku),a=i-s*Ku;if(o===s){const l=t-o*Ku;return yo(0,a-l)}else return yo(s-o,a)}function m2(n,e){return n=e}function g2(n){return yo(n.lineNumber-1,n.column-1)}function bv(n,e){const t=n,i=Math.floor(t/Ku),r=t-i*Ku,o=e,s=Math.floor(o/Ku),a=o-s*Ku;return new J(i+1,r+1,s+1,a+1)}function gCt(n){const e=Pm(n);return yo(e.length-1,e[e.length-1].length)}class qg{static fromModelContentChanges(e){return e.map(i=>{const r=J.lift(i.range);return new qg(g2(r.getStartPosition()),g2(r.getEndPosition()),gCt(i.text))}).reverse()}constructor(e,t,i){this.startOffset=e,this.endOffset=t,this.newLength=i}toString(){return`[${Bc(this.startOffset)}...${Bc(this.endOffset)}) -> ${Bc(this.newLength)}`}}class pCt{constructor(e){this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=e.map(t=>t7.from(t))}getOffsetBeforeChange(e){return this.adjustNextEdit(e),this.translateCurToOld(e)}getDistanceToNextChange(e){this.adjustNextEdit(e);const t=this.edits[this.nextEditIdx],i=t?this.translateOldToCur(t.offsetObj):null;return i===null?null:uD(e,i)}translateOldToCur(e){return e.lineCount===this.deltaLineIdxInOld?yo(e.lineCount+this.deltaOldToNewLineCount,e.columnCount+this.deltaOldToNewColumnCount):yo(e.lineCount+this.deltaOldToNewLineCount,e.columnCount)}translateCurToOld(e){const t=Bc(e);return t.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?yo(t.lineCount-this.deltaOldToNewLineCount,t.columnCount-this.deltaOldToNewColumnCount):yo(t.lineCount-this.deltaOldToNewLineCount,t.columnCount)}adjustNextEdit(e){for(;this.nextEditIdx>5;if(r===0){const s=1<>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return(e&1024)!==0}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static getClassNameFromMetadata(e){let i="mtk"+this.getForeground(e);const r=this.getFontStyle(e);return r&1&&(i+=" mtki"),r&2&&(i+=" mtkb"),r&4&&(i+=" mtku"),r&8&&(i+=" mtks"),i}static getInlineStyleFromMetadata(e,t){const i=this.getForeground(e),r=this.getFontStyle(e);let o=`color: ${t[i]};`;r&1&&(o+="font-style: italic;"),r&2&&(o+="font-weight: bold;");let s="";return r&4&&(s+=" underline"),r&8&&(s+=" line-through"),s&&(o+=`text-decoration:${s};`),o}static getPresentationFromMetadata(e){const t=this.getForeground(e),i=this.getFontStyle(e);return{foreground:t,italic:!!(i&1),bold:!!(i&2),underline:!!(i&4),strikethrough:!!(i&8)}}}let m0=class{constructor(e,t,i,r,o){this.length=e,this.kind=t,this.bracketId=i,this.bracketIds=r,this.astNode=o}};class Dve{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.reader=new SCt(this.textModel,this.bracketTokens),this._offset=ol,this.didPeek=!1,this.peeked=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}get offset(){return this._offset}get length(){return yo(this.textBufferLineCount-1,this.textBufferLastLineLength)}skip(e){this.didPeek=!1,this._offset=Zr(this._offset,e);const t=Bc(this._offset);this.reader.setPosition(t.lineCount,t.columnCount)}read(){let e;return this.peeked?(this.didPeek=!1,e=this.peeked):e=this.reader.read(),e&&(this._offset=Zr(this._offset,e.length)),e}peek(){return this.didPeek||(this.peeked=this.reader.read(),this.didPeek=!0),this.peeked}}class SCt{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.lineIdx=0,this.line=null,this.lineCharOffset=0,this.lineTokens=null,this.lineTokenOffset=0,this.peekedToken=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}setPosition(e,t){e===this.lineIdx?(this.lineCharOffset=t,this.line!==null&&(this.lineTokenOffset=this.lineCharOffset===0?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset))):(this.lineIdx=e,this.lineCharOffset=t,this.line=null),this.peekedToken=null}read(){if(this.peekedToken){const o=this.peekedToken;return this.peekedToken=null,this.lineCharOffset+=o.length,o}if(this.lineIdx>this.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;this.line===null&&(this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=this.lineCharOffset===0?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset));const e=this.lineIdx,t=this.lineCharOffset;let i=0;for(;;){const o=this.lineTokens,s=o.getCount();let a=null;if(this.lineTokenOffset1e3))break;if(i>1500)break}const r=hCt(e,t,this.lineIdx,this.lineCharOffset);return new m0(r,0,-1,Vo.getEmpty(),new yv(r))}}class wCt{constructor(e,t){this.text=e,this._offset=ol,this.idx=0;const i=t.getRegExpStr(),r=i?new RegExp(i+`| +`,"gi"):null,o=[];let s,a=0,l=0,u=0,c=0;const d=[];for(let f=0;f<60;f++)d.push(new m0(yo(0,f),0,-1,Vo.getEmpty(),new yv(yo(0,f))));const h=[];for(let f=0;f<60;f++)h.push(new m0(yo(1,f),0,-1,Vo.getEmpty(),new yv(yo(1,f))));if(r)for(r.lastIndex=0;(s=r.exec(e))!==null;){const f=s.index,g=s[0];if(g===` +`)a++,l=f+1;else{if(u!==f){let b;if(c===a){const y=f-u;if(yxCt(t)).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const e=this.getRegExpStr();this._regExpGlobal=e?new RegExp(e,"gi"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(e){return this.map.get(e.toLowerCase())}findClosingTokenText(e){for(const[t,i]of this.map)if(i.kind===2&&i.bracketIds.intersects(e))return t}get isEmpty(){return this.map.size===0}}function xCt(n){let e=Wu(n);return/^[\w ]+/.test(n)&&(e=`\\b${e}`),/[\w ]+$/.test(n)&&(e=`${e}\\b`),e}class Nve{constructor(e,t){this.denseKeyProvider=e,this.getLanguageConfiguration=t,this.languageIdToBracketTokens=new Map}didLanguageChange(e){return this.languageIdToBracketTokens.has(e)}getSingleLanguageBracketTokens(e){let t=this.languageIdToBracketTokens.get(e);return t||(t=r7.createFromLanguage(this.getLanguageConfiguration(e),this.denseKeyProvider),this.languageIdToBracketTokens.set(e,t)),t}}function _Ct(n){if(n.length===0)return null;if(n.length===1)return n[0];let e=0;function t(){if(e>=n.length)return null;const s=e,a=n[s].listHeight;for(e++;e=2?Mve(s===0&&e===n.length?n:n.slice(s,e),!1):n[s]}let i=t(),r=t();if(!r)return i;for(let s=t();s;s=t())kve(i,r)<=kve(r,s)?(i=o7(i,r),r=s):r=o7(r,s);return o7(i,r)}function Mve(n,e=!1){if(n.length===0)return null;if(n.length===1)return n[0];let t=n.length;for(;t>3;){const i=t>>1;for(let r=0;r=3?n[2]:null,e)}function kve(n,e){return Math.abs(n.listHeight-e.listHeight)}function o7(n,e){return n.listHeight===e.listHeight?uf.create23(n,e,null,!1):n.listHeight>e.listHeight?LCt(n,e):ICt(e,n)}function LCt(n,e){n=n.toMutable();let t=n;const i=[];let r;for(;;){if(e.listHeight===t.listHeight){r=e;break}if(t.kind!==4)throw new Error("unexpected");i.push(t),t=t.makeLastElementMutable()}for(let o=i.length-1;o>=0;o--){const s=i[o];r?s.childrenLength>=3?r=uf.create23(s.unappendChild(),r,null,!1):(s.appendChildOfSameHeight(r),r=void 0):s.handleChildrenChanged()}return r?uf.create23(n,r,null,!1):n}function ICt(n,e){n=n.toMutable();let t=n;const i=[];for(;e.listHeight!==t.listHeight;){if(t.kind!==4)throw new Error("unexpected");i.push(t),t=t.makeFirstElementMutable()}let r=e;for(let o=i.length-1;o>=0;o--){const s=i[o];r?s.childrenLength>=3?r=uf.create23(r,s.unprependChild(),null,!1):(s.prependChildOfSameHeight(r),r=void 0):s.handleChildrenChanged()}return r?uf.create23(r,n,null,!1):n}class FCt{constructor(e){this.lastOffset=ol,this.nextNodes=[e],this.offsets=[ol],this.idxs=[]}readLongestNodeAt(e,t){if(m2(e,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=e;;){const i=mD(this.nextNodes);if(!i)return;const r=mD(this.offsets);if(m2(e,r))return;if(m2(r,e))if(Zr(r,i.length)<=e)this.nextNodeAfterCurrent();else{const o=s7(i);o!==-1?(this.nextNodes.push(i.getChild(o)),this.offsets.push(r),this.idxs.push(o)):this.nextNodeAfterCurrent()}else{if(t(i))return this.nextNodeAfterCurrent(),i;{const o=s7(i);if(o===-1){this.nextNodeAfterCurrent();return}else this.nextNodes.push(i.getChild(o)),this.offsets.push(r),this.idxs.push(o)}}}}nextNodeAfterCurrent(){for(;;){const e=mD(this.offsets),t=mD(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),this.idxs.length===0)break;const i=mD(this.nextNodes),r=s7(i,this.idxs[this.idxs.length-1]);if(r!==-1){this.nextNodes.push(i.getChild(r)),this.offsets.push(Zr(e,t.length)),this.idxs[this.idxs.length-1]=r;break}else this.idxs.pop()}}}function s7(n,e=-1){for(;;){if(e++,e>=n.childrenLength)return-1;if(n.getChild(e))return e}}function mD(n){return n.length>0?n[n.length-1]:void 0}function a7(n,e,t,i){return new DCt(n,e,t,i).parseDocument()}class DCt{constructor(e,t,i,r){if(this.tokenizer=e,this.createImmutableLists=r,this._itemsConstructed=0,this._itemsFromCache=0,i&&r)throw new Error("Not supported");this.oldNodeReader=i?new FCt(i):void 0,this.positionMapper=new pCt(t)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let e=this.parseList(Vo.getEmpty(),0);return e||(e=uf.getEmpty()),e}parseList(e,t){const i=[];for(;;){let o=this.tryReadChildFromCache(e);if(!o){const s=this.tokenizer.peek();if(!s||s.kind===2&&s.bracketIds.intersects(e))break;o=this.parseChild(e,t+1)}o.kind===4&&o.childrenLength===0||i.push(o)}return this.oldNodeReader?_Ct(i):Mve(i,this.createImmutableLists)}tryReadChildFromCache(e){if(this.oldNodeReader){const t=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(t===null||!EZ(t)){const i=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),r=>t!==null&&!m2(r.length,t)?!1:r.canBeReused(e));if(i)return this._itemsFromCache++,this.tokenizer.skip(i.length),i}}}parseChild(e,t){this._itemsConstructed++;const i=this.tokenizer.read();switch(i.kind){case 2:return new CCt(i.bracketIds,i.length);case 0:return i.astNode;case 1:{if(t>300)return new yv(i.length);const r=e.merge(i.bracketIds),o=this.parseList(r,t+1),s=this.tokenizer.peek();return s&&s.kind===2&&(s.bracketId===i.bracketId||s.bracketIds.intersects(i.bracketIds))?(this.tokenizer.read(),dD.create(i.astNode,o,s.astNode)):dD.create(i.astNode,o,null)}default:throw new Error("unexpected")}}}function AZ(n,e){if(n.length===0)return e;if(e.length===0)return n;const t=new Ag(Tve(n)),i=Tve(e);i.push({modified:!1,lengthBefore:void 0,lengthAfter:void 0});let r=t.dequeue();function o(u){if(u===void 0){const d=t.takeWhile(h=>!0)||[];return r&&d.unshift(r),d}const c=[];for(;r&&!EZ(u);){const[d,h]=r.splitAt(u);c.push(d),u=uD(d.lengthAfter,u),r=h??t.dequeue()}return EZ(u)||c.push(new f0(!1,u,u)),c}const s=[];function a(u,c,d){if(s.length>0&&Lve(s[s.length-1].endOffset,u)){const h=s[s.length-1];s[s.length-1]=new qg(h.startOffset,c,Zr(h.newLength,d))}else s.push({startOffset:u,endOffset:c,newLength:d})}let l=ol;for(const u of i){const c=o(u.lengthBefore);if(u.modified){const d=fCt(c,m=>m.lengthBefore),h=Zr(l,d);a(l,h,u.lengthAfter),l=h}else for(const d of c){const h=l;l=Zr(l,d.lengthBefore),d.modified&&a(h,l,d.lengthAfter)}}return s}class f0{constructor(e,t,i){this.modified=e,this.lengthBefore=t,this.lengthAfter=i}splitAt(e){const t=uD(e,this.lengthAfter);return Lve(t,ol)?[this,void 0]:this.modified?[new f0(this.modified,this.lengthBefore,e),new f0(this.modified,ol,t)]:[new f0(this.modified,e,e),new f0(this.modified,t,t)]}toString(){return`${this.modified?"M":"U"}:${Bc(this.lengthBefore)} -> ${Bc(this.lengthAfter)}`}}function Tve(n){const e=[];let t=ol;for(const i of n){const r=uD(t,i.startOffset);EZ(r)||e.push(new f0(!1,r,r));const o=uD(i.startOffset,i.endOffset);e.push(new f0(!0,o,i.newLength)),t=i.endOffset}return e}class NCt extends Fe{didLanguageChange(e){return this.brackets.didLanguageChange(e)}constructor(e,t){if(super(),this.textModel=e,this.getLanguageConfiguration=t,this.didChangeEmitter=new be,this.denseKeyProvider=new Fve,this.brackets=new Nve(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],e.tokenization.hasTokens)e.tokenization.backgroundTokenizationState===2?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens);else{const i=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),r=new wCt(this.textModel.getValue(),i);this.initialAstWithoutTokens=a7(r,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(this.textModel.tokenization.backgroundTokenizationState===2){const e=this.initialAstWithoutTokens===void 0;this.initialAstWithoutTokens=void 0,e||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:e}){const t=e.map(i=>new qg(yo(i.fromLineNumber-1,0),yo(i.toLineNumber,0),yo(i.toLineNumber-i.fromLineNumber+1,0)));this.handleEdits(t,!0),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(e){const t=qg.fromModelContentChanges(e.changes);this.handleEdits(t,!1)}handleEdits(e,t){const i=AZ(this.queuedTextEdits,e);this.queuedTextEdits=i,this.initialAstWithoutTokens&&!t&&(this.queuedTextEditsForInitialAstWithoutTokens=AZ(this.queuedTextEditsForInitialAstWithoutTokens,e))}flushQueue(){this.queuedTextEdits.length>0&&(this.astWithTokens=this.parseDocumentFromTextBuffer(this.queuedTextEdits,this.astWithTokens,!1),this.queuedTextEdits=[]),this.queuedTextEditsForInitialAstWithoutTokens.length>0&&(this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(this.queuedTextEditsForInitialAstWithoutTokens,this.initialAstWithoutTokens,!1)),this.queuedTextEditsForInitialAstWithoutTokens=[])}parseDocumentFromTextBuffer(e,t,i){const r=t,o=new Dve(this.textModel,this.brackets);return a7(o,e,r,i)}getBracketsInRange(e,t){this.flushQueue();const i=yo(e.startLineNumber-1,e.startColumn-1),r=yo(e.endLineNumber-1,e.endColumn-1);return new Um(o=>{const s=this.initialAstWithoutTokens||this.astWithTokens;l7(s,ol,s.length,i,r,o,0,0,new Map,t)})}getBracketPairsInRange(e,t){this.flushQueue();const i=g2(e.getStartPosition()),r=g2(e.getEndPosition());return new Um(o=>{const s=this.initialAstWithoutTokens||this.astWithTokens,a=new MCt(o,t,this.textModel);u7(s,ol,s.length,i,r,a,0,new Map)})}getFirstBracketAfter(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return Rve(t,ol,t.length,g2(e))}getFirstBracketBefore(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return Eve(t,ol,t.length,g2(e))}}function Eve(n,e,t,i){if(n.kind===4||n.kind===2){const r=[];for(const o of n.children)t=Zr(e,o.length),r.push({nodeOffsetStart:e,nodeOffsetEnd:t}),e=t;for(let o=r.length-1;o>=0;o--){const{nodeOffsetStart:s,nodeOffsetEnd:a}=r[o];if(m2(s,i)){const l=Eve(n.children[o],s,a,i);if(l)return l}}return null}else{if(n.kind===3)return null;if(n.kind===1){const r=bv(e,t);return{bracketInfo:n.bracketInfo,range:r}}}return null}function Rve(n,e,t,i){if(n.kind===4||n.kind===2){for(const r of n.children){if(t=Zr(e,r.length),m2(i,t)){const o=Rve(r,e,t,i);if(o)return o}e=t}return null}else{if(n.kind===3)return null;if(n.kind===1){const r=bv(e,t);return{bracketInfo:n.bracketInfo,range:r}}}return null}function l7(n,e,t,i,r,o,s,a,l,u,c=!1){if(s>200)return!0;e:for(;;)switch(n.kind){case 4:{const d=n.childrenLength;for(let h=0;h200)return!0;let u=!0;if(n.kind===2){let c=0;if(a){let m=a.get(n.openingBracket.text);m===void 0&&(m=0),c=m,m++,a.set(n.openingBracket.text,m)}const d=Zr(e,n.openingBracket.length);let h=-1;if(o.includeMinIndentation&&(h=n.computeMinIndentation(e,o.textModel)),u=o.push(new dCt(bv(e,t),bv(e,d),n.closingBracket?bv(Zr(d,((l=n.child)===null||l===void 0?void 0:l.length)||ol),t):void 0,s,c,n,h)),e=d,u&&n.child){const m=n.child;if(t=Zr(e,m.length),f2(e,r)&&cD(t,i)&&(u=u7(m,e,t,i,r,o,s+1,a),!u))return!1}a==null||a.set(n.openingBracket.text,c)}else{let c=e;for(const d of n.children){const h=c;if(c=Zr(c,d.length),f2(h,r)&&f2(i,c)&&(u=u7(d,h,c,i,r,o,s,a),!u))return!1}}return u}class kCt extends Fe{get canBuildAST(){return this.textModel.getValueLength()<=5e6}constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t,this.bracketPairsTree=this._register(new Ns),this.onDidChangeEmitter=new be,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1,this._register(this.languageConfigurationService.onDidChange(i=>{var r;(!i.languageId||!((r=this.bracketPairsTree.value)===null||r===void 0)&&r.object.didLanguageChange(i.languageId))&&(this.bracketPairsTree.clear(),this.updateBracketPairsTree())}))}handleDidChangeOptions(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(e){var t;(t=this.bracketPairsTree.value)===null||t===void 0||t.object.handleContentChanged(e)}handleDidChangeBackgroundTokenizationState(){var e;(e=this.bracketPairsTree.value)===null||e===void 0||e.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(e){var t;(t=this.bracketPairsTree.value)===null||t===void 0||t.object.handleDidChangeTokens(e)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){const e=new Je;this.bracketPairsTree.value=TCt(e.add(new NCt(this.textModel,t=>this.languageConfigurationService.getLanguageConfiguration(t))),e),e.add(this.bracketPairsTree.value.object.onDidChange(t=>this.onDidChangeEmitter.fire(t))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire())}getBracketPairsInRange(e){var t;return this.bracketsRequested=!0,this.updateBracketPairsTree(),((t=this.bracketPairsTree.value)===null||t===void 0?void 0:t.object.getBracketPairsInRange(e,!1))||Um.empty}getBracketPairsInRangeWithMinIndentation(e){var t;return this.bracketsRequested=!0,this.updateBracketPairsTree(),((t=this.bracketPairsTree.value)===null||t===void 0?void 0:t.object.getBracketPairsInRange(e,!0))||Um.empty}getBracketsInRange(e,t=!1){var i;return this.bracketsRequested=!0,this.updateBracketPairsTree(),((i=this.bracketPairsTree.value)===null||i===void 0?void 0:i.object.getBracketsInRange(e,t))||Um.empty}findMatchingBracketUp(e,t,i){const r=this.textModel.validatePosition(t),o=this.textModel.getLanguageIdAtPosition(r.lineNumber,r.column);if(this.canBuildAST){const s=this.languageConfigurationService.getLanguageConfiguration(o).bracketsNew.getClosingBracketInfo(e);if(!s)return null;const a=this.getBracketPairsInRange(J.fromPositions(t,t)).findLast(l=>s.closes(l.openingBracketInfo));return a?a.openingBracketRange:null}else{const s=e.toLowerCase(),a=this.languageConfigurationService.getLanguageConfiguration(o).brackets;if(!a)return null;const l=a.textIsBracket[s];return l?VZ(this._findMatchingBracketUp(l,r,c7(i))):null}}matchBracket(e,t){if(this.canBuildAST){const i=this.getBracketPairsInRange(J.fromPositions(e,e)).filter(r=>r.closingBracketRange!==void 0&&(r.openingBracketRange.containsPosition(e)||r.closingBracketRange.containsPosition(e))).findLastMaxBy(Tc(r=>r.openingBracketRange.containsPosition(e)?r.openingBracketRange:r.closingBracketRange,J.compareRangesUsingStarts));return i?[i.openingBracketRange,i.closingBracketRange]:null}else{const i=c7(t);return this._matchBracket(this.textModel.validatePosition(e),i)}}_establishBracketSearchOffsets(e,t,i,r){const o=t.getCount(),s=t.getLanguageId(r);let a=Math.max(0,e.column-1-i.maxBracketLength);for(let u=r-1;u>=0;u--){const c=t.getEndOffset(u);if(c<=a)break;if(Hm(t.getStandardTokenType(u))||t.getLanguageId(u)!==s){a=c;break}}let l=Math.min(t.getLineContent().length,e.column-1+i.maxBracketLength);for(let u=r+1;u=l)break;if(Hm(t.getStandardTokenType(u))||t.getLanguageId(u)!==s){l=c;break}}return{searchStartOffset:a,searchEndOffset:l}}_matchBracket(e,t){const i=e.lineNumber,r=this.textModel.tokenization.getLineTokens(i),o=this.textModel.getLineContent(i),s=r.findTokenIndexAtOffset(e.column-1);if(s<0)return null;const a=this.languageConfigurationService.getLanguageConfiguration(r.getLanguageId(s)).brackets;if(a&&!Hm(r.getStandardTokenType(s))){let{searchStartOffset:l,searchEndOffset:u}=this._establishBracketSearchOffsets(e,r,a,s),c=null;for(;;){const d=Dd.findNextBracketInRange(a.forwardRegex,i,o,l,u);if(!d)break;if(d.startColumn<=e.column&&e.column<=d.endColumn){const h=o.substring(d.startColumn-1,d.endColumn-1).toLowerCase(),m=this._matchFoundBracket(d,a.textIsBracket[h],a.textIsOpenBracket[h],t);if(m){if(m instanceof ep)return null;c=m}}l=d.endColumn-1}if(c)return c}if(s>0&&r.getStartOffset(s)===e.column-1){const l=s-1,u=this.languageConfigurationService.getLanguageConfiguration(r.getLanguageId(l)).brackets;if(u&&!Hm(r.getStandardTokenType(l))){const{searchStartOffset:c,searchEndOffset:d}=this._establishBracketSearchOffsets(e,r,u,l),h=Dd.findPrevBracketInRange(u.reversedRegex,i,o,c,d);if(h&&h.startColumn<=e.column&&e.column<=h.endColumn){const m=o.substring(h.startColumn-1,h.endColumn-1).toLowerCase(),f=this._matchFoundBracket(h,u.textIsBracket[m],u.textIsOpenBracket[m],t);if(f)return f instanceof ep?null:f}}}return null}_matchFoundBracket(e,t,i,r){if(!t)return null;const o=i?this._findMatchingBracketDown(t,e.getEndPosition(),r):this._findMatchingBracketUp(t,e.getStartPosition(),r);return o?o instanceof ep?o:[e,o]:null}_findMatchingBracketUp(e,t,i){const r=e.languageId,o=e.reversedRegex;let s=-1,a=0;const l=(u,c,d,h)=>{for(;;){if(i&&++a%100===0&&!i())return ep.INSTANCE;const m=Dd.findPrevBracketInRange(o,u,c,d,h);if(!m)break;const f=c.substring(m.startColumn-1,m.endColumn-1).toLowerCase();if(e.isOpen(f)?s++:e.isClose(f)&&s--,s===0)return m;h=m.startColumn-1}return null};for(let u=t.lineNumber;u>=1;u--){const c=this.textModel.tokenization.getLineTokens(u),d=c.getCount(),h=this.textModel.getLineContent(u);let m=d-1,f=h.length,g=h.length;u===t.lineNumber&&(m=c.findTokenIndexAtOffset(t.column-1),f=t.column-1,g=t.column-1);let b=!0;for(;m>=0;m--){const y=c.getLanguageId(m)===r&&!Hm(c.getStandardTokenType(m));if(y)b?f=c.getStartOffset(m):(f=c.getStartOffset(m),g=c.getEndOffset(m));else if(b&&f!==g){const C=l(u,h,f,g);if(C)return C}b=y}if(b&&f!==g){const y=l(u,h,f,g);if(y)return y}}return null}_findMatchingBracketDown(e,t,i){const r=e.languageId,o=e.forwardRegex;let s=1,a=0;const l=(c,d,h,m)=>{for(;;){if(i&&++a%100===0&&!i())return ep.INSTANCE;const f=Dd.findNextBracketInRange(o,c,d,h,m);if(!f)break;const g=d.substring(f.startColumn-1,f.endColumn-1).toLowerCase();if(e.isOpen(g)?s++:e.isClose(g)&&s--,s===0)return f;h=f.endColumn-1}return null},u=this.textModel.getLineCount();for(let c=t.lineNumber;c<=u;c++){const d=this.textModel.tokenization.getLineTokens(c),h=d.getCount(),m=this.textModel.getLineContent(c);let f=0,g=0,b=0;c===t.lineNumber&&(f=d.findTokenIndexAtOffset(t.column-1),g=t.column-1,b=t.column-1);let y=!0;for(;f=1;a--){const l=this.textModel.tokenization.getLineTokens(a),u=l.getCount(),c=this.textModel.getLineContent(a);let d=u-1,h=c.length,m=c.length;if(a===i.lineNumber){d=l.findTokenIndexAtOffset(i.column-1),h=i.column-1,m=i.column-1;const g=l.getLanguageId(d);r!==g&&(r=g,o=this.languageConfigurationService.getLanguageConfiguration(r).brackets,s=this.languageConfigurationService.getLanguageConfiguration(r).bracketsNew)}let f=!0;for(;d>=0;d--){const g=l.getLanguageId(d);if(r!==g){if(o&&s&&f&&h!==m){const y=Dd.findPrevBracketInRange(o.reversedRegex,a,c,h,m);if(y)return this._toFoundBracket(s,y);f=!1}r=g,o=this.languageConfigurationService.getLanguageConfiguration(r).brackets,s=this.languageConfigurationService.getLanguageConfiguration(r).bracketsNew}const b=!!o&&!Hm(l.getStandardTokenType(d));if(b)f?h=l.getStartOffset(d):(h=l.getStartOffset(d),m=l.getEndOffset(d));else if(s&&o&&f&&h!==m){const y=Dd.findPrevBracketInRange(o.reversedRegex,a,c,h,m);if(y)return this._toFoundBracket(s,y)}f=b}if(s&&o&&f&&h!==m){const g=Dd.findPrevBracketInRange(o.reversedRegex,a,c,h,m);if(g)return this._toFoundBracket(s,g)}}return null}findNextBracket(e){var t;const i=this.textModel.validatePosition(e);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),((t=this.bracketPairsTree.value)===null||t===void 0?void 0:t.object.getFirstBracketAfter(i))||null;const r=this.textModel.getLineCount();let o=null,s=null,a=null;for(let l=i.lineNumber;l<=r;l++){const u=this.textModel.tokenization.getLineTokens(l),c=u.getCount(),d=this.textModel.getLineContent(l);let h=0,m=0,f=0;if(l===i.lineNumber){h=u.findTokenIndexAtOffset(i.column-1),m=i.column-1,f=i.column-1;const b=u.getLanguageId(h);o!==b&&(o=b,s=this.languageConfigurationService.getLanguageConfiguration(o).brackets,a=this.languageConfigurationService.getLanguageConfiguration(o).bracketsNew)}let g=!0;for(;hg.closingBracketRange!==void 0&&g.range.strictContainsRange(m));return f?[f.openingBracketRange,f.closingBracketRange]:null}const r=c7(t),o=this.textModel.getLineCount(),s=new Map;let a=[];const l=(m,f)=>{if(!s.has(m)){const g=[];for(let b=0,y=f?f.brackets.length:0;b{for(;;){if(r&&++u%100===0&&!r())return ep.INSTANCE;const C=Dd.findNextBracketInRange(m.forwardRegex,f,g,b,y);if(!C)break;const w=g.substring(C.startColumn-1,C.endColumn-1).toLowerCase(),x=m.textIsBracket[w];if(x&&(x.isOpen(w)?a[x.index]++:x.isClose(w)&&a[x.index]--,a[x.index]===-1))return this._matchFoundBracket(C,x,!1,r);b=C.endColumn-1}return null};let d=null,h=null;for(let m=i.lineNumber;m<=o;m++){const f=this.textModel.tokenization.getLineTokens(m),g=f.getCount(),b=this.textModel.getLineContent(m);let y=0,C=0,w=0;if(m===i.lineNumber){y=f.findTokenIndexAtOffset(i.column-1),C=i.column-1,w=i.column-1;const L=f.getLanguageId(y);d!==L&&(d=L,h=this.languageConfigurationService.getLanguageConfiguration(d).brackets,l(d,h))}let x=!0;for(;ye==null?void 0:e.dispose()}}function c7(n){if(typeof n>"u")return()=>!0;{const e=Date.now();return()=>Date.now()-e<=n}}class ep{constructor(){this._searchCanceledBrand=void 0}}ep.INSTANCE=new ep;function VZ(n){return n instanceof ep?null:n}class ECt extends Fe{constructor(e){super(),this.textModel=e,this.colorProvider=new Zve,this.onDidChangeEmitter=new be,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=e.getOptions().bracketPairColorizationOptions,this._register(e.bracketPairs.onDidChange(t=>{this.onDidChangeEmitter.fire()}))}handleDidChangeOptions(e){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(e,t,i,r){return r?[]:t===void 0?[]:this.colorizationOptions.enabled?this.textModel.bracketPairs.getBracketsInRange(e,!0).map(s=>({id:`bracket${s.range.toString()}-${s.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(s,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:s.range})).toArray():[]}getAllDecorations(e,t){return e===void 0?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new J(1,1,this.textModel.getLineCount(),1),e,t):[]}}class Zve{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(e,t){return e.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(t?e.nestingLevelOfEqualBracketType:e.nestingLevel)}getInlineClassNameOfLevel(e){return`bracket-highlighting-${e%30}`}}Xc((n,e)=>{const t=[zye,Hye,Yye,Uye,Kye,Jye],i=new Zve;e.addRule(`.monaco-editor .${i.unexpectedClosingBracketClassName} { color: ${n.getColor(Nyt)}; }`);const r=t.map(o=>n.getColor(o)).filter(o=>!!o).filter(o=>!o.isTransparent());for(let o=0;o<30;o++){const s=r[o%r.length];e.addRule(`.monaco-editor .${i.getInlineClassNameOfLevel(o)} { color: ${s}; }`)}});function GZ(n){return n.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}class ta{get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(e,t,i,r){this.oldPosition=e,this.oldText=t,this.newPosition=i,this.newText=r}toString(){return this.oldText.length===0?`(insert@${this.oldPosition} "${GZ(this.newText)}")`:this.newText.length===0?`(delete@${this.oldPosition} "${GZ(this.oldText)}")`:`(replace@${this.oldPosition} "${GZ(this.oldText)}" with "${GZ(this.newText)}")`}static _writeStringSize(e){return 4+2*e.length}static _writeString(e,t,i){const r=t.length;Th(e,r,i),i+=4;for(let o=0;on.length)return!1;if(t){if(!nY(n,e))return!1;if(e.length===n.length)return!0;let o=e.length;return e.charAt(e.length-1)===i&&o--,n.charAt(o)===i}return e.charAt(e.length-1)!==i&&(e+=i),n.indexOf(e)===0}function Vve(n){return n>=65&&n<=90||n>=97&&n<=122}function WCt(n,e=ha){return e?Vve(n.charCodeAt(0))&&n.charCodeAt(1)===58:!1}function df(n){return $R(n,!0)}class ACt{constructor(e){this._ignorePathCasing=e}compare(e,t,i=!1){return e===t?0:QI(this.getComparisonKey(e,i),this.getComparisonKey(t,i))}isEqual(e,t,i=!1){return e===t?!0:!e||!t?!1:this.getComparisonKey(e,i)===this.getComparisonKey(t,i)}getComparisonKey(e,t=!1){return e.with({path:this._ignorePathCasing(e)?e.path.toLowerCase():void 0,fragment:t?null:void 0}).toString()}isEqualOrParent(e,t,i=!1){if(e.scheme===t.scheme){if(e.scheme===Sn.file)return d7(df(e),df(t),this._ignorePathCasing(e))&&e.query===t.query&&(i||e.fragment===t.fragment);if(Xve(e.authority,t.authority))return d7(e.path,t.path,this._ignorePathCasing(e),"/")&&e.query===t.query&&(i||e.fragment===t.fragment)}return!1}joinPath(e,...t){return en.joinPath(e,...t)}basenameOrAuthority(e){return zc(e)||e.authority}basename(e){return Fo.basename(e.path)}extname(e){return Fo.extname(e.path)}dirname(e){if(e.path.length===0)return e;let t;return e.scheme===Sn.file?t=en.file(g0e(df(e))).path:(t=Fo.dirname(e.path),e.authority&&t.length&&t.charCodeAt(0)!==47&&(t="/")),e.with({path:t})}normalizePath(e){if(!e.path.length)return e;let t;return e.scheme===Sn.file?t=en.file(f0e(df(e))).path:t=Fo.normalize(e.path),e.with({path:t})}relativePath(e,t){if(e.scheme!==t.scheme||!Xve(e.authority,t.authority))return;if(e.scheme===Sn.file){const o=Qmt(df(e),df(t));return ha?Wve(o):o}let i=e.path||"/";const r=t.path||"/";if(this._ignorePathCasing(e)){let o=0;for(const s=Math.min(i.length,r.length);oAve(i).length&&i[i.length-1]===t}else{const i=e.path;return i.length>1&&i.charCodeAt(i.length-1)===47&&!/^[a-zA-Z]:(\/$|\\$)/.test(e.fsPath)}}removeTrailingPathSeparator(e,t=Jb){return Pve(e,t)?e.with({path:e.path.substr(0,e.path.length-1)}):e}addTrailingPathSeparator(e,t=Jb){let i=!1;if(e.scheme===Sn.file){const r=df(e);i=r!==void 0&&r.length===Ave(r).length&&r[r.length-1]===t}else{t="/";const r=e.path;i=r.length===1&&r.charCodeAt(r.length-1)===47}return!i&&!Pve(e,t)?e.with({path:e.path+"/"}):e}}const fr=new ACt(()=>!1),h7=fr.isEqual.bind(fr);fr.isEqualOrParent.bind(fr),fr.getComparisonKey.bind(fr);const VCt=fr.basenameOrAuthority.bind(fr),zc=fr.basename.bind(fr),GCt=fr.extname.bind(fr),XZ=fr.dirname.bind(fr),XCt=fr.joinPath.bind(fr),PCt=fr.normalizePath.bind(fr),OCt=fr.relativePath.bind(fr),Gve=fr.resolvePath.bind(fr);fr.isAbsolutePath.bind(fr);const Xve=fr.isEqualAuthority.bind(fr),Pve=fr.hasTrailingPathSeparator.bind(fr);fr.removeTrailingPathSeparator.bind(fr),fr.addTrailingPathSeparator.bind(fr);var p0;(function(n){n.META_DATA_LABEL="label",n.META_DATA_DESCRIPTION="description",n.META_DATA_SIZE="size",n.META_DATA_MIME="mime";function e(t){const i=new Map;t.path.substring(t.path.indexOf(";")+1,t.path.lastIndexOf(";")).split(";").forEach(s=>{const[a,l]=s.split(":");a&&l&&i.set(a,l)});const o=t.path.substring(0,t.path.indexOf(";"));return o&&i.set(n.META_DATA_MIME,o),i}n.parseMetaData=e})(p0||(p0={}));function p2(n){return n.toString()}class vs{static create(e,t){const i=e.getAlternativeVersionId(),r=m7(e);return new vs(i,i,r,r,t,t,[])}constructor(e,t,i,r,o,s,a){this.beforeVersionId=e,this.afterVersionId=t,this.beforeEOL=i,this.afterEOL=r,this.beforeCursorState=o,this.afterCursorState=s,this.changes=a}append(e,t,i,r,o){t.length>0&&(this.changes=RCt(this.changes,t)),this.afterEOL=i,this.afterVersionId=r,this.afterCursorState=o}static _writeSelectionsSize(e){return 4+4*4*(e?e.length:0)}static _writeSelections(e,t,i){if(Th(e,t?t.length:0,i),i+=4,t)for(const r of t)Th(e,r.selectionStartLineNumber,i),i+=4,Th(e,r.selectionStartColumn,i),i+=4,Th(e,r.positionLineNumber,i),i+=4,Th(e,r.positionColumn,i),i+=4;return i}static _readSelections(e,t,i){const r=kh(e,t);t+=4;for(let o=0;ot.toString()).join(", ")}matchesResource(e){return(en.isUri(this.model)?this.model:this.model.uri).toString()===e.toString()}setModel(e){this.model=e}canAppend(e){return this.model===e&&this._data instanceof vs}append(e,t,i,r,o){this._data instanceof vs&&this._data.append(e,t,i,r,o)}close(){this._data instanceof vs&&(this._data=this._data.serialize())}open(){this._data instanceof vs||(this._data=vs.deserialize(this._data))}undo(){if(en.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof vs&&(this._data=this._data.serialize());const e=vs.deserialize(this._data);this.model._applyUndo(e.changes,e.beforeEOL,e.beforeVersionId,e.beforeCursorState)}redo(){if(en.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof vs&&(this._data=this._data.serialize());const e=vs.deserialize(this._data);this.model._applyRedo(e.changes,e.afterEOL,e.afterVersionId,e.afterCursorState)}heapSize(){return this._data instanceof vs&&(this._data=this._data.serialize()),this._data.byteLength+168}}class BCt{get resources(){return this._editStackElementsArr.map(e=>e.resource)}constructor(e,t,i){this.label=e,this.code=t,this.type=1,this._isOpen=!0,this._editStackElementsArr=i.slice(0),this._editStackElementsMap=new Map;for(const r of this._editStackElementsArr){const o=p2(r.resource);this._editStackElementsMap.set(o,r)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(e){const t=p2(e);return this._editStackElementsMap.has(t)}setModel(e){const t=p2(en.isUri(e)?e:e.uri);this._editStackElementsMap.has(t)&&this._editStackElementsMap.get(t).setModel(e)}canAppend(e){if(!this._isOpen)return!1;const t=p2(e.uri);return this._editStackElementsMap.has(t)?this._editStackElementsMap.get(t).canAppend(e):!1}append(e,t,i,r,o){const s=p2(e.uri);this._editStackElementsMap.get(s).append(e,t,i,r,o)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const e of this._editStackElementsArr)e.undo()}redo(){for(const e of this._editStackElementsArr)e.redo()}heapSize(e){const t=p2(e);return this._editStackElementsMap.has(t)?this._editStackElementsMap.get(t).heapSize():0}split(){return this._editStackElementsArr}toString(){const e=[];for(const t of this._editStackElementsArr)e.push(`${zc(t.resource)}: ${t}`);return`{${e.join(", ")}}`}}function m7(n){return n.getEOL()===` +`?0:1}function tp(n){return n?n instanceof Ove||n instanceof BCt:!1}class f7{constructor(e,t){this._model=e,this._undoRedoService=t}pushStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);tp(e)&&e.close()}popStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);tp(e)&&e.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(e,t){const i=this._undoRedoService.getLastElement(this._model.uri);if(tp(i)&&i.canAppend(this._model))return i;const r=new Ove(_("edit","Typing"),"undoredo.textBufferEdit",this._model,e);return this._undoRedoService.pushElement(r,t),r}pushEOL(e){const t=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(e),t.append(this._model,[],m7(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(e,t,i,r){const o=this._getOrCreateEditStackElement(e,r),s=this._model.applyEdits(t,!0),a=f7._computeCursorState(i,s),l=s.map((u,c)=>({index:c,textChange:u.textChange}));return l.sort((u,c)=>u.textChange.oldPosition===c.textChange.oldPosition?u.index-c.index:u.textChange.oldPosition-c.textChange.oldPosition),o.append(this._model,l.map(u=>u.textChange),m7(this._model),this._model.getAlternativeVersionId(),a),a}static _computeCursorState(e,t){try{return e?e(t):null}catch(i){return yn(i),null}}}class zCt{constructor(){this.spacesDiff=0,this.looksLikeAlignment=!1}}function HCt(n,e,t,i,r){r.spacesDiff=0,r.looksLikeAlignment=!1;let o;for(o=0;o0&&a>0||l>0&&u>0)return;const c=Math.abs(a-u),d=Math.abs(s-l);if(c===0){r.spacesDiff=d,d>0&&0<=l-1&&l-10?r++:x>1&&o++,HCt(s,a,b,w,d),d.looksLikeAlignment&&!(t&&e===d.spacesDiff)))continue;const I=d.spacesDiff;I<=u&&c[I]++,s=b,a=w}let h=t;r!==o&&(h=r{const b=c[g];b>f&&(f=b,m=g)}),m===4&&c[4]>0&&c[2]>0&&c[2]>=c[4]/2&&(m=2)}return{insertSpaces:h,tabSize:m}}function Xl(n){return(n.metadata&1)>>>0}function gr(n,e){n.metadata=n.metadata&254|e<<0}function na(n){return(n.metadata&2)>>>1===1}function sr(n,e){n.metadata=n.metadata&253|(e?1:0)<<1}function zve(n){return(n.metadata&4)>>>2===1}function Hve(n,e){n.metadata=n.metadata&251|(e?1:0)<<2}function Yve(n){return(n.metadata&64)>>>6===1}function Uve(n,e){n.metadata=n.metadata&191|(e?1:0)<<6}function YCt(n){return(n.metadata&24)>>>3}function Kve(n,e){n.metadata=n.metadata&231|e<<3}function UCt(n){return(n.metadata&32)>>>5===1}function Jve(n,e){n.metadata=n.metadata&223|(e?1:0)<<5}class jve{constructor(e,t,i){this.metadata=0,this.parent=this,this.left=this,this.right=this,gr(this,1),this.start=t,this.end=i,this.delta=0,this.maxEnd=i,this.id=e,this.ownerId=0,this.options=null,Hve(this,!1),Uve(this,!1),Kve(this,1),Jve(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i,this.range=null,sr(this,!1)}reset(e,t,i,r){this.start=t,this.end=i,this.maxEnd=i,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i,this.range=r}setOptions(e){this.options=e;const t=this.options.className;Hve(this,t==="squiggly-error"||t==="squiggly-warning"||t==="squiggly-info"),Uve(this,this.options.glyphMarginClassName!==null),Kve(this,this.options.stickiness),Jve(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(e,t,i){this.cachedVersionId!==i&&(this.range=null),this.cachedVersionId=i,this.cachedAbsoluteStart=e,this.cachedAbsoluteEnd=t}detach(){this.parent=null,this.left=null,this.right=null}}const Bn=new jve(null,0,0);Bn.parent=Bn,Bn.left=Bn,Bn.right=Bn,gr(Bn,0);class g7{constructor(){this.root=Bn,this.requestNormalizeDelta=!1}intervalSearch(e,t,i,r,o,s){return this.root===Bn?[]:tSt(this,e,t,i,r,o,s)}search(e,t,i,r){return this.root===Bn?[]:eSt(this,e,t,i,r)}collectNodesFromOwner(e){return $Ct(this,e)}collectNodesPostOrder(){return qCt(this)}insert(e){Qve(this,e),this._normalizeDeltaIfNecessary()}delete(e){$ve(this,e),this._normalizeDeltaIfNecessary()}resolveNode(e,t){const i=e;let r=0;for(;e!==this.root;)e===e.parent.right&&(r+=e.parent.delta),e=e.parent;const o=i.start+r,s=i.end+r;i.setCachedOffsets(o,s,t)}acceptReplace(e,t,i,r){const o=jCt(this,e,e+t);for(let s=0,a=o.length;st||i===1?!1:i===2?!0:e}function JCt(n,e,t,i,r){const o=YCt(n),s=o===0||o===2,a=o===1||o===2,l=t-e,u=i,c=Math.min(l,u),d=n.start;let h=!1;const m=n.end;let f=!1;e<=d&&m<=t&&UCt(n)&&(n.start=e,h=!0,n.end=e,f=!0);{const b=r?1:l>0?2:0;!h&&b2(d,s,e,b)&&(h=!0),!f&&b2(m,a,e,b)&&(f=!0)}if(c>0&&!r){const b=l>u?2:0;!h&&b2(d,s,e+c,b)&&(h=!0),!f&&b2(m,a,e+c,b)&&(f=!0)}{const b=r?1:0;!h&&b2(d,s,t,b)&&(n.start=e+u,h=!0),!f&&b2(m,a,t,b)&&(n.end=e+u,f=!0)}const g=u-l;h||(n.start=Math.max(0,d+g)),f||(n.end=Math.max(0,m+g)),n.start>n.end&&(n.end=n.start)}function jCt(n,e,t){let i=n.root,r=0,o=0,s=0,a=0;const l=[];let u=0;for(;i!==Bn;){if(na(i)){sr(i.left,!1),sr(i.right,!1),i===i.parent.right&&(r-=i.parent.delta),i=i.parent;continue}if(!na(i.left)){if(o=r+i.maxEnd,ot){sr(i,!0);continue}if(a=r+i.end,a>=e&&(i.setCachedOffsets(s,a,0),l[u++]=i),sr(i,!0),i.right!==Bn&&!na(i.right)){r+=i.delta,i=i.right;continue}}return sr(n.root,!1),l}function QCt(n,e,t,i){let r=n.root,o=0,s=0,a=0;const l=i-(t-e);for(;r!==Bn;){if(na(r)){sr(r.left,!1),sr(r.right,!1),r===r.parent.right&&(o-=r.parent.delta),b0(r),r=r.parent;continue}if(!na(r.left)){if(s=o+r.maxEnd,st){r.start+=l,r.end+=l,r.delta+=l,(r.delta<-1073741824||r.delta>1073741824)&&(n.requestNormalizeDelta=!0),sr(r,!0);continue}if(sr(r,!0),r.right!==Bn&&!na(r.right)){o+=r.delta,r=r.right;continue}}sr(n.root,!1)}function $Ct(n,e){let t=n.root;const i=[];let r=0;for(;t!==Bn;){if(na(t)){sr(t.left,!1),sr(t.right,!1),t=t.parent;continue}if(t.left!==Bn&&!na(t.left)){t=t.left;continue}if(t.ownerId===e&&(i[r++]=t),sr(t,!0),t.right!==Bn&&!na(t.right)){t=t.right;continue}}return sr(n.root,!1),i}function qCt(n){let e=n.root;const t=[];let i=0;for(;e!==Bn;){if(na(e)){sr(e.left,!1),sr(e.right,!1),e=e.parent;continue}if(e.left!==Bn&&!na(e.left)){e=e.left;continue}if(e.right!==Bn&&!na(e.right)){e=e.right;continue}t[i++]=e,sr(e,!0)}return sr(n.root,!1),t}function eSt(n,e,t,i,r){let o=n.root,s=0,a=0,l=0;const u=[];let c=0;for(;o!==Bn;){if(na(o)){sr(o.left,!1),sr(o.right,!1),o===o.parent.right&&(s-=o.parent.delta),o=o.parent;continue}if(o.left!==Bn&&!na(o.left)){o=o.left;continue}a=s+o.start,l=s+o.end,o.setCachedOffsets(a,l,i);let d=!0;if(e&&o.ownerId&&o.ownerId!==e&&(d=!1),t&&zve(o)&&(d=!1),r&&!Yve(o)&&(d=!1),d&&(u[c++]=o),sr(o,!0),o.right!==Bn&&!na(o.right)){s+=o.delta,o=o.right;continue}}return sr(n.root,!1),u}function tSt(n,e,t,i,r,o,s){let a=n.root,l=0,u=0,c=0,d=0;const h=[];let m=0;for(;a!==Bn;){if(na(a)){sr(a.left,!1),sr(a.right,!1),a===a.parent.right&&(l-=a.parent.delta),a=a.parent;continue}if(!na(a.left)){if(u=l+a.maxEnd,ut){sr(a,!0);continue}if(d=l+a.end,d>=e){a.setCachedOffsets(c,d,o);let f=!0;i&&a.ownerId&&a.ownerId!==i&&(f=!1),r&&zve(a)&&(f=!1),s&&!Yve(a)&&(f=!1),f&&(h[m++]=a)}if(sr(a,!0),a.right!==Bn&&!na(a.right)){l+=a.delta,a=a.right;continue}}return sr(n.root,!1),h}function Qve(n,e){if(n.root===Bn)return e.parent=Bn,e.left=Bn,e.right=Bn,gr(e,0),n.root=e,n.root;nSt(n,e),y0(e.parent);let t=e;for(;t!==n.root&&Xl(t.parent)===1;)if(t.parent===t.parent.parent.left){const i=t.parent.parent.right;Xl(i)===1?(gr(t.parent,0),gr(i,0),gr(t.parent.parent,1),t=t.parent.parent):(t===t.parent.right&&(t=t.parent,fD(n,t)),gr(t.parent,0),gr(t.parent.parent,1),gD(n,t.parent.parent))}else{const i=t.parent.parent.left;Xl(i)===1?(gr(t.parent,0),gr(i,0),gr(t.parent.parent,1),t=t.parent.parent):(t===t.parent.left&&(t=t.parent,gD(n,t)),gr(t.parent,0),gr(t.parent.parent,1),fD(n,t.parent.parent))}return gr(n.root,0),e}function nSt(n,e){let t=0,i=n.root;const r=e.start,o=e.end;for(;;)if(rSt(r,o,i.start+t,i.end+t)<0)if(i.left===Bn){e.start-=t,e.end-=t,e.maxEnd-=t,i.left=e;break}else i=i.left;else if(i.right===Bn){e.start-=t+i.delta,e.end-=t+i.delta,e.maxEnd-=t+i.delta,i.right=e;break}else t+=i.delta,i=i.right;e.parent=i,e.left=Bn,e.right=Bn,gr(e,1)}function $ve(n,e){let t,i;if(e.left===Bn?(t=e.right,i=e,t.delta+=e.delta,(t.delta<-1073741824||t.delta>1073741824)&&(n.requestNormalizeDelta=!0),t.start+=e.delta,t.end+=e.delta):e.right===Bn?(t=e.left,i=e):(i=iSt(e.right),t=i.right,t.start+=i.delta,t.end+=i.delta,t.delta+=i.delta,(t.delta<-1073741824||t.delta>1073741824)&&(n.requestNormalizeDelta=!0),i.start+=e.delta,i.end+=e.delta,i.delta=e.delta,(i.delta<-1073741824||i.delta>1073741824)&&(n.requestNormalizeDelta=!0)),i===n.root){n.root=t,gr(t,0),e.detach(),p7(),b0(t),n.root.parent=Bn;return}const r=Xl(i)===1;if(i===i.parent.left?i.parent.left=t:i.parent.right=t,i===e?t.parent=i.parent:(i.parent===e?t.parent=i:t.parent=i.parent,i.left=e.left,i.right=e.right,i.parent=e.parent,gr(i,Xl(e)),e===n.root?n.root=i:e===e.parent.left?e.parent.left=i:e.parent.right=i,i.left!==Bn&&(i.left.parent=i),i.right!==Bn&&(i.right.parent=i)),e.detach(),r){y0(t.parent),i!==e&&(y0(i),y0(i.parent)),p7();return}y0(t),y0(t.parent),i!==e&&(y0(i),y0(i.parent));let o;for(;t!==n.root&&Xl(t)===0;)t===t.parent.left?(o=t.parent.right,Xl(o)===1&&(gr(o,0),gr(t.parent,1),fD(n,t.parent),o=t.parent.right),Xl(o.left)===0&&Xl(o.right)===0?(gr(o,1),t=t.parent):(Xl(o.right)===0&&(gr(o.left,0),gr(o,1),gD(n,o),o=t.parent.right),gr(o,Xl(t.parent)),gr(t.parent,0),gr(o.right,0),fD(n,t.parent),t=n.root)):(o=t.parent.left,Xl(o)===1&&(gr(o,0),gr(t.parent,1),gD(n,t.parent),o=t.parent.left),Xl(o.left)===0&&Xl(o.right)===0?(gr(o,1),t=t.parent):(Xl(o.left)===0&&(gr(o.right,0),gr(o,1),fD(n,o),o=t.parent.left),gr(o,Xl(t.parent)),gr(t.parent,0),gr(o.left,0),gD(n,t.parent),t=n.root));gr(t,0),p7()}function iSt(n){for(;n.left!==Bn;)n=n.left;return n}function p7(){Bn.parent=Bn,Bn.delta=0,Bn.start=0,Bn.end=0}function fD(n,e){const t=e.right;t.delta+=e.delta,(t.delta<-1073741824||t.delta>1073741824)&&(n.requestNormalizeDelta=!0),t.start+=e.delta,t.end+=e.delta,e.right=t.left,t.left!==Bn&&(t.left.parent=e),t.parent=e.parent,e.parent===Bn?n.root=t:e===e.parent.left?e.parent.left=t:e.parent.right=t,t.left=e,e.parent=t,b0(e),b0(t)}function gD(n,e){const t=e.left;e.delta-=t.delta,(e.delta<-1073741824||e.delta>1073741824)&&(n.requestNormalizeDelta=!0),e.start-=t.delta,e.end-=t.delta,e.left=t.right,t.right!==Bn&&(t.right.parent=e),t.parent=e.parent,e.parent===Bn?n.root=t:e===e.parent.right?e.parent.right=t:e.parent.left=t,t.right=e,e.parent=t,b0(e),b0(t)}function qve(n){let e=n.end;if(n.left!==Bn){const t=n.left.maxEnd;t>e&&(e=t)}if(n.right!==Bn){const t=n.right.maxEnd+n.delta;t>e&&(e=t)}return e}function b0(n){n.maxEnd=qve(n)}function y0(n){for(;n!==Bn;){const e=qve(n);if(n.maxEnd===e)return;n.maxEnd=e,n=n.parent}}function rSt(n,e,t,i){return n===t?e-i:n-t}class b7{constructor(e,t){this.piece=e,this.color=t,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==wn)return y7(this.right);let e=this;for(;e.parent!==wn&&e.parent.left!==e;)e=e.parent;return e.parent===wn?wn:e.parent}prev(){if(this.left!==wn)return eCe(this.left);let e=this;for(;e.parent!==wn&&e.parent.right!==e;)e=e.parent;return e.parent===wn?wn:e.parent}detach(){this.parent=null,this.left=null,this.right=null}}const wn=new b7(null,0);wn.parent=wn,wn.left=wn,wn.right=wn,wn.color=0;function y7(n){for(;n.left!==wn;)n=n.left;return n}function eCe(n){for(;n.right!==wn;)n=n.right;return n}function v7(n){return n===wn?0:n.size_left+n.piece.length+v7(n.right)}function C7(n){return n===wn?0:n.lf_left+n.piece.lineFeedCnt+C7(n.right)}function S7(){wn.parent=wn}function pD(n,e){const t=e.right;t.size_left+=e.size_left+(e.piece?e.piece.length:0),t.lf_left+=e.lf_left+(e.piece?e.piece.lineFeedCnt:0),e.right=t.left,t.left!==wn&&(t.left.parent=e),t.parent=e.parent,e.parent===wn?n.root=t:e.parent.left===e?e.parent.left=t:e.parent.right=t,t.left=e,e.parent=t}function bD(n,e){const t=e.left;e.left=t.right,t.right!==wn&&(t.right.parent=e),t.parent=e.parent,e.size_left-=t.size_left+(t.piece?t.piece.length:0),e.lf_left-=t.lf_left+(t.piece?t.piece.lineFeedCnt:0),e.parent===wn?n.root=t:e===e.parent.right?e.parent.right=t:e.parent.left=t,t.right=e,e.parent=t}function PZ(n,e){let t,i;if(e.left===wn?(i=e,t=i.right):e.right===wn?(i=e,t=i.left):(i=y7(e.right),t=i.right),i===n.root){n.root=t,t.color=0,e.detach(),S7(),n.root.parent=wn;return}const r=i.color===1;if(i===i.parent.left?i.parent.left=t:i.parent.right=t,i===e?(t.parent=i.parent,yD(n,t)):(i.parent===e?t.parent=i:t.parent=i.parent,yD(n,t),i.left=e.left,i.right=e.right,i.parent=e.parent,i.color=e.color,e===n.root?n.root=i:e===e.parent.left?e.parent.left=i:e.parent.right=i,i.left!==wn&&(i.left.parent=i),i.right!==wn&&(i.right.parent=i),i.size_left=e.size_left,i.lf_left=e.lf_left,yD(n,i)),e.detach(),t.parent.left===t){const s=v7(t),a=C7(t);if(s!==t.parent.size_left||a!==t.parent.lf_left){const l=s-t.parent.size_left,u=a-t.parent.lf_left;t.parent.size_left=s,t.parent.lf_left=a,np(n,t.parent,l,u)}}if(yD(n,t.parent),r){S7();return}let o;for(;t!==n.root&&t.color===0;)t===t.parent.left?(o=t.parent.right,o.color===1&&(o.color=0,t.parent.color=1,pD(n,t.parent),o=t.parent.right),o.left.color===0&&o.right.color===0?(o.color=1,t=t.parent):(o.right.color===0&&(o.left.color=0,o.color=1,bD(n,o),o=t.parent.right),o.color=t.parent.color,t.parent.color=0,o.right.color=0,pD(n,t.parent),t=n.root)):(o=t.parent.left,o.color===1&&(o.color=0,t.parent.color=1,bD(n,t.parent),o=t.parent.left),o.left.color===0&&o.right.color===0?(o.color=1,t=t.parent):(o.left.color===0&&(o.right.color=0,o.color=1,pD(n,o),o=t.parent.left),o.color=t.parent.color,t.parent.color=0,o.left.color=0,bD(n,t.parent),t=n.root));t.color=0,S7()}function tCe(n,e){for(yD(n,e);e!==n.root&&e.parent.color===1;)if(e.parent===e.parent.parent.left){const t=e.parent.parent.right;t.color===1?(e.parent.color=0,t.color=0,e.parent.parent.color=1,e=e.parent.parent):(e===e.parent.right&&(e=e.parent,pD(n,e)),e.parent.color=0,e.parent.parent.color=1,bD(n,e.parent.parent))}else{const t=e.parent.parent.left;t.color===1?(e.parent.color=0,t.color=0,e.parent.parent.color=1,e=e.parent.parent):(e===e.parent.left&&(e=e.parent,bD(n,e)),e.parent.color=0,e.parent.parent.color=1,pD(n,e.parent.parent))}n.root.color=0}function np(n,e,t,i){for(;e!==n.root&&e!==wn;)e.parent.left===e&&(e.parent.size_left+=t,e.parent.lf_left+=i),e=e.parent}function yD(n,e){let t=0,i=0;if(e!==n.root){for(;e!==n.root&&e===e.parent.right;)e=e.parent;if(e!==n.root)for(e=e.parent,t=v7(e.left)-e.size_left,i=C7(e.left)-e.lf_left,e.size_left+=t,e.lf_left+=i;e!==n.root&&(t!==0||i!==0);)e.parent.left===e&&(e.parent.size_left+=t,e.parent.lf_left+=i),e=e.parent}}const oSt=999;class vv{constructor(e,t,i,r){this.searchString=e,this.isRegex=t,this.matchCase=i,this.wordSeparators=r}parseSearchRequest(){if(this.searchString==="")return null;let e;this.isRegex?e=sSt(this.searchString):e=this.searchString.indexOf(` +`)>=0;let t=null;try{t=r0e(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:e,global:!0,unicode:!0})}catch{return null}if(!t)return null;let i=!this.isRegex&&!e;return i&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(i=this.matchCase),new lvt(t,this.wordSeparators?Mc(this.wordSeparators,[]):null,i?this.searchString:null)}}function sSt(n){if(!n||n.length===0)return!1;for(let e=0,t=n.length;e=t)break;const r=n.charCodeAt(e);if(r===110||r===114||r===87)return!0}}return!1}function Cv(n,e,t){if(!t)return new KF(n,null);const i=[];for(let r=0,o=e.length;r>0);t[o]>=e?r=o-1:t[o+1]>=e?(i=o,r=o):i=o+1}return i+1}}class OZ{static findMatches(e,t,i,r,o){const s=t.parseSearchRequest();return s?s.regex.multiline?this._doFindMatchesMultiline(e,i,new y2(s.wordSeparators,s.regex),r,o):this._doFindMatchesLineByLine(e,i,s,r,o):[]}static _getMultilineMatchRange(e,t,i,r,o,s){let a,l=0;r?(l=r.findLineFeedCountBeforeOffset(o),a=t+o+l):a=t+o;let u;if(r){const m=r.findLineFeedCountBeforeOffset(o+s.length)-l;u=a+s.length+m}else u=a+s.length;const c=e.getPositionAt(a),d=e.getPositionAt(u);return new J(c.lineNumber,c.column,d.lineNumber,d.column)}static _doFindMatchesMultiline(e,t,i,r,o){const s=e.getOffsetAt(t.getStartPosition()),a=e.getValueInRange(t,1),l=e.getEOL()===`\r +`?new nCe(a):null,u=[];let c=0,d;for(i.reset(0);d=i.next(a);)if(u[c++]=Cv(this._getMultilineMatchRange(e,s,a,l,d.index,d[0]),d,r),c>=o)return u;return u}static _doFindMatchesLineByLine(e,t,i,r,o){const s=[];let a=0;if(t.startLineNumber===t.endLineNumber){const u=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return a=this._findMatchesInLine(i,u,t.startLineNumber,t.startColumn-1,a,s,r,o),s}const l=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);a=this._findMatchesInLine(i,l,t.startLineNumber,t.startColumn-1,a,s,r,o);for(let u=t.startLineNumber+1;u=l))return o;return o}const c=new y2(e.wordSeparators,e.regex);let d;c.reset(0);do if(d=c.next(t),d&&(s[o++]=Cv(new J(i,d.index+1+r,i,d.index+1+d[0].length+r),d,a),o>=l))return o;while(d);return o}static findNextMatch(e,t,i,r){const o=t.parseSearchRequest();if(!o)return null;const s=new y2(o.wordSeparators,o.regex);return o.regex.multiline?this._doFindNextMatchMultiline(e,i,s,r):this._doFindNextMatchLineByLine(e,i,s,r)}static _doFindNextMatchMultiline(e,t,i,r){const o=new ve(t.lineNumber,1),s=e.getOffsetAt(o),a=e.getLineCount(),l=e.getValueInRange(new J(o.lineNumber,o.column,a,e.getLineMaxColumn(a)),1),u=e.getEOL()===`\r +`?new nCe(l):null;i.reset(t.column-1);const c=i.next(l);return c?Cv(this._getMultilineMatchRange(e,s,l,u,c.index,c[0]),c,r):t.lineNumber!==1||t.column!==1?this._doFindNextMatchMultiline(e,new ve(1,1),i,r):null}static _doFindNextMatchLineByLine(e,t,i,r){const o=e.getLineCount(),s=t.lineNumber,a=e.getLineContent(s),l=this._findFirstMatchInLine(i,a,s,t.column,r);if(l)return l;for(let u=1;u<=o;u++){const c=(s+u-1)%o,d=e.getLineContent(c+1),h=this._findFirstMatchInLine(i,d,c+1,1,r);if(h)return h}return null}static _findFirstMatchInLine(e,t,i,r,o){e.reset(r-1);const s=e.next(t);return s?Cv(new J(i,s.index+1,i,s.index+1+s[0].length),s,o):null}static findPreviousMatch(e,t,i,r){const o=t.parseSearchRequest();if(!o)return null;const s=new y2(o.wordSeparators,o.regex);return o.regex.multiline?this._doFindPreviousMatchMultiline(e,i,s,r):this._doFindPreviousMatchLineByLine(e,i,s,r)}static _doFindPreviousMatchMultiline(e,t,i,r){const o=this._doFindMatchesMultiline(e,new J(1,1,t.lineNumber,t.column),i,r,10*oSt);if(o.length>0)return o[o.length-1];const s=e.getLineCount();return t.lineNumber!==s||t.column!==e.getLineMaxColumn(s)?this._doFindPreviousMatchMultiline(e,new ve(s,e.getLineMaxColumn(s)),i,r):null}static _doFindPreviousMatchLineByLine(e,t,i,r){const o=e.getLineCount(),s=t.lineNumber,a=e.getLineContent(s).substring(0,t.column-1),l=this._findLastMatchInLine(i,a,s,r);if(l)return l;for(let u=1;u<=o;u++){const c=(o+s-u-1)%o,d=e.getLineContent(c+1),h=this._findLastMatchInLine(i,d,c+1,r);if(h)return h}return null}static _findLastMatchInLine(e,t,i,r){let o=null,s;for(e.reset(0);s=e.next(t);)o=Cv(new J(i,s.index+1,i,s.index+1+s[0].length),s,r);return o}}function aSt(n,e,t,i,r){if(i===0)return!0;const o=e.charCodeAt(i-1);if(n.get(o)!==0||o===13||o===10)return!0;if(r>0){const s=e.charCodeAt(i);if(n.get(s)!==0)return!0}return!1}function lSt(n,e,t,i,r){if(i+r===t)return!0;const o=e.charCodeAt(i+r);if(n.get(o)!==0||o===13||o===10)return!0;if(r>0){const s=e.charCodeAt(i+r-1);if(n.get(s)!==0)return!0}return!1}function w7(n,e,t,i,r){return aSt(n,e,t,i,r)&&lSt(n,e,t,i,r)}class y2{constructor(e,t){this._wordSeparators=e,this._searchRegex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(e){const t=e.length;let i;do{if(this._prevMatchStartIndex+this._prevMatchLength===t||(i=this._searchRegex.exec(e),!i))return null;const r=i.index,o=i[0].length;if(r===this._prevMatchStartIndex&&o===this._prevMatchLength){if(o===0){KR(e,t,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=r,this._prevMatchLength=o,!this._wordSeparators||w7(this._wordSeparators,e,t,r,o))return i}while(i);return null}}const ip=65535;function iCe(n){let e;return n[n.length-1]<65536?e=new Uint16Array(n.length):e=new Uint32Array(n.length),e.set(n,0),e}class uSt{constructor(e,t,i,r,o){this.lineStarts=e,this.cr=t,this.lf=i,this.crlf=r,this.isBasicASCII=o}}function rp(n,e=!0){const t=[0];let i=1;for(let r=0,o=n.length;r126)&&(s=!1)}const a=new uSt(iCe(n),i,r,o,s);return n.length=0,a}class mu{constructor(e,t,i,r,o){this.bufferIndex=e,this.start=t,this.end=i,this.lineFeedCnt=r,this.length=o}}class Sv{constructor(e,t){this.buffer=e,this.lineStarts=t}}class dSt{constructor(e,t){this._pieces=[],this._tree=e,this._BOM=t,this._index=0,e.root!==wn&&e.iterate(e.root,i=>(i!==wn&&this._pieces.push(i.piece),!0))}read(){return this._pieces.length===0?this._index===0?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:this._index===0?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class hSt{constructor(e){this._limit=e,this._cache=[]}get(e){for(let t=this._cache.length-1;t>=0;t--){const i=this._cache[t];if(i.nodeStartOffset<=e&&i.nodeStartOffset+i.node.piece.length>=e)return i}return null}get2(e){for(let t=this._cache.length-1;t>=0;t--){const i=this._cache[t];if(i.nodeStartLineNumber&&i.nodeStartLineNumber=e)return i}return null}set(e){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(e)}validate(e){let t=!1;const i=this._cache;for(let r=0;r=e){i[r]=null,t=!0;continue}}if(t){const r=[];for(const o of i)o!==null&&r.push(o);this._cache=r}}}class mSt{constructor(e,t,i){this.create(e,t,i)}create(e,t,i){this._buffers=[new Sv("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=wn,this._lineCnt=1,this._length=0,this._EOL=t,this._EOLLength=t.length,this._EOLNormalized=i;let r=null;for(let o=0,s=e.length;o0){e[o].lineStarts||(e[o].lineStarts=rp(e[o].buffer));const a=new mu(o+1,{line:0,column:0},{line:e[o].lineStarts.length-1,column:e[o].buffer.length-e[o].lineStarts[e[o].lineStarts.length-1]},e[o].lineStarts.length-1,e[o].buffer.length);this._buffers.push(e[o]),r=this.rbInsertRight(r,a)}this._searchCache=new hSt(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(e){const t=ip,i=t-Math.floor(t/3),r=i*2;let o="",s=0;const a=[];if(this.iterate(this.root,l=>{const u=this.getNodeContent(l),c=u.length;if(s<=i||s+c0){const l=o.replace(/\r\n|\r|\n/g,e);a.push(new Sv(l,rp(l)))}this.create(a,e,!0)}getEOL(){return this._EOL}setEOL(e){this._EOL=e,this._EOLLength=this._EOL.length,this.normalizeEOL(e)}createSnapshot(e){return new dSt(this,e)}getOffsetAt(e,t){let i=0,r=this.root;for(;r!==wn;)if(r.left!==wn&&r.lf_left+1>=e)r=r.left;else if(r.lf_left+r.piece.lineFeedCnt+1>=e){i+=r.size_left;const o=this.getAccumulatedValue(r,e-r.lf_left-2);return i+=o+t-1}else e-=r.lf_left+r.piece.lineFeedCnt,i+=r.size_left+r.piece.length,r=r.right;return i}getPositionAt(e){e=Math.floor(e),e=Math.max(0,e);let t=this.root,i=0;const r=e;for(;t!==wn;)if(t.size_left!==0&&t.size_left>=e)t=t.left;else if(t.size_left+t.piece.length>=e){const o=this.getIndexOf(t,e-t.size_left);if(i+=t.lf_left+o.index,o.index===0){const s=this.getOffsetAt(i+1,1),a=r-s;return new ve(i+1,a+1)}return new ve(i+1,o.remainder+1)}else if(e-=t.size_left+t.piece.length,i+=t.lf_left+t.piece.lineFeedCnt,t.right===wn){const o=this.getOffsetAt(i+1,1),s=r-e-o;return new ve(i+1,s+1)}else t=t.right;return new ve(1,1)}getValueInRange(e,t){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return"";const i=this.nodeAt2(e.startLineNumber,e.startColumn),r=this.nodeAt2(e.endLineNumber,e.endColumn),o=this.getValueInRange2(i,r);return t?t!==this._EOL||!this._EOLNormalized?o.replace(/\r\n|\r|\n/g,t):t===this.getEOL()&&this._EOLNormalized?o:o.replace(/\r\n|\r|\n/g,t):o}getValueInRange2(e,t){if(e.node===t.node){const a=e.node,l=this._buffers[a.piece.bufferIndex].buffer,u=this.offsetInBuffer(a.piece.bufferIndex,a.piece.start);return l.substring(u+e.remainder,u+t.remainder)}let i=e.node;const r=this._buffers[i.piece.bufferIndex].buffer,o=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);let s=r.substring(o+e.remainder,o+i.piece.length);for(i=i.next();i!==wn;){const a=this._buffers[i.piece.bufferIndex].buffer,l=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);if(i===t.node){s+=a.substring(l,l+t.remainder);break}else s+=a.substr(l,i.piece.length);i=i.next()}return s}getLinesContent(){const e=[];let t=0,i="",r=!1;return this.iterate(this.root,o=>{if(o===wn)return!0;const s=o.piece;let a=s.length;if(a===0)return!0;const l=this._buffers[s.bufferIndex].buffer,u=this._buffers[s.bufferIndex].lineStarts,c=s.start.line,d=s.end.line;let h=u[c]+s.start.column;if(r&&(l.charCodeAt(h)===10&&(h++,a--),e[t++]=i,i="",r=!1,a===0))return!0;if(c===d)return!this._EOLNormalized&&l.charCodeAt(h+a-1)===13?(r=!0,i+=l.substr(h,a-1)):i+=l.substr(h,a),!0;i+=this._EOLNormalized?l.substring(h,Math.max(h,u[c+1]-this._EOLLength)):l.substring(h,u[c+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=i;for(let m=c+1;mx+f,t.reset(0)):(C=h.buffer,w=x=>x,t.reset(f));do if(b=t.next(C),b){if(w(b.index)>=g)return c;this.positionInBuffer(e,w(b.index)-m,y);const x=this.getLineFeedCnt(e.piece.bufferIndex,o,y),L=y.line===o.line?y.column-o.column+r:y.column+1,I=L+b[0].length;if(d[c++]=Cv(new J(i+x,L,i+x,I),b,l),w(b.index)+b[0].length>=g||c>=u)return c}while(b);return c}findMatchesLineByLine(e,t,i,r){const o=[];let s=0;const a=new y2(t.wordSeparators,t.regex);let l=this.nodeAt2(e.startLineNumber,e.startColumn);if(l===null)return[];const u=this.nodeAt2(e.endLineNumber,e.endColumn);if(u===null)return[];let c=this.positionInBuffer(l.node,l.remainder);const d=this.positionInBuffer(u.node,u.remainder);if(l.node===u.node)return this.findMatchesInNode(l.node,a,e.startLineNumber,e.startColumn,c,d,t,i,r,s,o),o;let h=e.startLineNumber,m=l.node;for(;m!==u.node;){const g=this.getLineFeedCnt(m.piece.bufferIndex,c,m.piece.end);if(g>=1){const y=this._buffers[m.piece.bufferIndex].lineStarts,C=this.offsetInBuffer(m.piece.bufferIndex,m.piece.start),w=y[c.line+g],x=h===e.startLineNumber?e.startColumn:1;if(s=this.findMatchesInNode(m,a,h,x,c,this.positionInBuffer(m,w-C),t,i,r,s,o),s>=r)return o;h+=g}const b=h===e.startLineNumber?e.startColumn-1:0;if(h===e.endLineNumber){const y=this.getLineContent(h).substring(b,e.endColumn-1);return s=this._findMatchesInLine(t,a,y,e.endLineNumber,b,s,o,i,r),o}if(s=this._findMatchesInLine(t,a,this.getLineContent(h).substr(b),h,b,s,o,i,r),s>=r)return o;h++,l=this.nodeAt2(h,1),m=l.node,c=this.positionInBuffer(l.node,l.remainder)}if(h===e.endLineNumber){const g=h===e.startLineNumber?e.startColumn-1:0,b=this.getLineContent(h).substring(g,e.endColumn-1);return s=this._findMatchesInLine(t,a,b,e.endLineNumber,g,s,o,i,r),o}const f=h===e.startLineNumber?e.startColumn:1;return s=this.findMatchesInNode(u.node,a,h,f,c,d,t,i,r,s,o),o}_findMatchesInLine(e,t,i,r,o,s,a,l,u){const c=e.wordSeparators;if(!l&&e.simpleSearch){const h=e.simpleSearch,m=h.length,f=i.length;let g=-m;for(;(g=i.indexOf(h,g+m))!==-1;)if((!c||w7(c,i,f,g,m))&&(a[s++]=new KF(new J(r,g+1+o,r,g+1+m+o),null),s>=u))return s;return s}let d;t.reset(0);do if(d=t.next(i),d&&(a[s++]=Cv(new J(r,d.index+1+o,r,d.index+1+d[0].length+o),d,l),s>=u))return s;while(d);return s}insert(e,t,i=!1){if(this._EOLNormalized=this._EOLNormalized&&i,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==wn){const{node:r,remainder:o,nodeStartOffset:s}=this.nodeAt(e),a=r.piece,l=a.bufferIndex,u=this.positionInBuffer(r,o);if(r.piece.bufferIndex===0&&a.end.line===this._lastChangeBufferPos.line&&a.end.column===this._lastChangeBufferPos.column&&s+a.length===e&&t.lengthe){const c=[];let d=new mu(a.bufferIndex,u,a.end,this.getLineFeedCnt(a.bufferIndex,u,a.end),this.offsetInBuffer(l,a.end)-this.offsetInBuffer(l,u));if(this.shouldCheckCRLF()&&this.endWithCR(t)&&this.nodeCharCodeAt(r,o)===10){const g={line:d.start.line+1,column:0};d=new mu(d.bufferIndex,g,d.end,this.getLineFeedCnt(d.bufferIndex,g,d.end),d.length-1),t+=` +`}if(this.shouldCheckCRLF()&&this.startWithLF(t))if(this.nodeCharCodeAt(r,o-1)===13){const g=this.positionInBuffer(r,o-1);this.deleteNodeTail(r,g),t="\r"+t,r.piece.length===0&&c.push(r)}else this.deleteNodeTail(r,u);else this.deleteNodeTail(r,u);const h=this.createNewPieces(t);d.length>0&&this.rbInsertRight(r,d);let m=r;for(let f=0;f=0;s--)o=this.rbInsertLeft(o,r[s]);this.validateCRLFWithPrevNode(o),this.deleteNodes(i)}insertContentToNodeRight(e,t){this.adjustCarriageReturnFromNext(e,t)&&(e+=` -`);const i=this.createNewPieces(e),r=this.rbInsertRight(t,i[0]);let o=r;for(let s=1;s=h)u=d+1;else break;return i?(i.line=d,i.column=l-m,null):{line:d,column:l-m}}getLineFeedCnt(e,t,i){if(i.column===0)return i.line-t.line;const r=this._buffers[e].lineStarts;if(i.line===r.length-1)return i.line-t.line;const o=r[i.line+1],s=r[i.line]+i.column;if(o>s+1)return i.line-t.line;const a=s-1;return this._buffers[e].buffer.charCodeAt(a)===13?i.line-t.line+1:i.line-t.line}offsetInBuffer(e,t){return this._buffers[e].lineStarts[t.line]+t.column}deleteNodes(e){for(let t=0;tip){const c=[];for(;e.length>ip;){const h=e.charCodeAt(ip-1);let m;h===13||h>=55296&&h<=56319?(m=e.substring(0,ip-1),e=e.substring(ip-1)):(m=e.substring(0,ip),e=e.substring(ip));const f=rp(m);c.push(new mu(this._buffers.length,{line:0,column:0},{line:f.length-1,column:m.length-f[f.length-1]},f.length-1,m.length)),this._buffers.push(new wy(m,f))}const d=rp(e);return c.push(new mu(this._buffers.length,{line:0,column:0},{line:d.length-1,column:e.length-d[d.length-1]},d.length-1,e.length)),this._buffers.push(new wy(e,d)),c}let t=this._buffers[0].buffer.length;const i=rp(e,!1);let r=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===t&&t!==0&&this.startWithLF(e)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},r=this._lastChangeBufferPos;for(let c=0;c=e-1)i=i.left;else if(i.lf_left+i.piece.lineFeedCnt>e-1){const l=this.getAccumulatedValue(i,e-i.lf_left-2),u=this.getAccumulatedValue(i,e-i.lf_left-1),c=this._buffers[i.piece.bufferIndex].buffer,d=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return s+=i.size_left,this._searchCache.set({node:i,nodeStartOffset:s,nodeStartLineNumber:a-(e-1-i.lf_left)}),c.substring(d+l,d+u-t)}else if(i.lf_left+i.piece.lineFeedCnt===e-1){const l=this.getAccumulatedValue(i,e-i.lf_left-2),u=this._buffers[i.piece.bufferIndex].buffer,c=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);r=u.substring(c+l,c+i.piece.length);break}else e-=i.lf_left+i.piece.lineFeedCnt,s+=i.size_left+i.piece.length,i=i.right}for(i=i.next();i!==Sn;){const s=this._buffers[i.piece.bufferIndex].buffer;if(i.piece.lineFeedCnt>0){const a=this.getAccumulatedValue(i,0),l=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return r+=s.substring(l,l+a-t),r}else{const a=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);r+=s.substr(a,i.piece.length)}i=i.next()}return r}computeBufferMetadata(){let e=this.root,t=1,i=0;for(;e!==Sn;)t+=e.lf_left+e.piece.lineFeedCnt,i+=e.size_left+e.piece.length,e=e.right;this._lineCnt=t,this._length=i,this._searchCache.validate(this._length)}getIndexOf(e,t){const i=e.piece,r=this.positionInBuffer(e,t),o=r.line-i.start.line;if(this.offsetInBuffer(i.bufferIndex,i.end)-this.offsetInBuffer(i.bufferIndex,i.start)===t){const s=this.getLineFeedCnt(e.piece.bufferIndex,i.start,r);if(s!==o)return{index:s,remainder:0}}return{index:o,remainder:r.column}}getAccumulatedValue(e,t){if(t<0)return 0;const i=e.piece,r=this._buffers[i.bufferIndex].lineStarts,o=i.start.line+t+1;return o>i.end.line?r[i.end.line]+i.end.column-r[i.start.line]-i.start.column:r[o]-r[i.start.line]-i.start.column}deleteNodeTail(e,t){const i=e.piece,r=i.lineFeedCnt,o=this.offsetInBuffer(i.bufferIndex,i.end),s=t,a=this.offsetInBuffer(i.bufferIndex,s),l=this.getLineFeedCnt(i.bufferIndex,i.start,s),u=l-r,c=a-o,d=i.length+c;e.piece=new mu(i.bufferIndex,i.start,s,l,d),np(this,e,c,u)}deleteNodeHead(e,t){const i=e.piece,r=i.lineFeedCnt,o=this.offsetInBuffer(i.bufferIndex,i.start),s=t,a=this.getLineFeedCnt(i.bufferIndex,s,i.end),l=this.offsetInBuffer(i.bufferIndex,s),u=a-r,c=o-l,d=i.length+c;e.piece=new mu(i.bufferIndex,s,i.end,a,d),np(this,e,c,u)}shrinkNode(e,t,i){const r=e.piece,o=r.start,s=r.end,a=r.length,l=r.lineFeedCnt,u=t,c=this.getLineFeedCnt(r.bufferIndex,r.start,u),d=this.offsetInBuffer(r.bufferIndex,t)-this.offsetInBuffer(r.bufferIndex,o);e.piece=new mu(r.bufferIndex,r.start,u,c,d),np(this,e,d-a,c-l);const h=new mu(r.bufferIndex,i,s,this.getLineFeedCnt(r.bufferIndex,i,s),this.offsetInBuffer(r.bufferIndex,s)-this.offsetInBuffer(r.bufferIndex,i)),m=this.rbInsertRight(e,h);this.validateCRLFWithPrevNode(m)}appendToNode(e,t){this.adjustCarriageReturnFromNext(t,e)&&(t+=` -`);const i=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),r=this._buffers[0].buffer.length;this._buffers[0].buffer+=t;const o=rp(t,!1);for(let m=0;me)t=t.left;else if(t.size_left+t.piece.length>=e){r+=t.size_left;const o={node:t,remainder:e-t.size_left,nodeStartOffset:r};return this._searchCache.set(o),o}else e-=t.size_left+t.piece.length,r+=t.size_left+t.piece.length,t=t.right;return null}nodeAt2(e,t){let i=this.root,r=0;for(;i!==Sn;)if(i.left!==Sn&&i.lf_left>=e-1)i=i.left;else if(i.lf_left+i.piece.lineFeedCnt>e-1){const o=this.getAccumulatedValue(i,e-i.lf_left-2),s=this.getAccumulatedValue(i,e-i.lf_left-1);return r+=i.size_left,{node:i,remainder:Math.min(o+t-1,s),nodeStartOffset:r}}else if(i.lf_left+i.piece.lineFeedCnt===e-1){const o=this.getAccumulatedValue(i,e-i.lf_left-2);if(o+t-1<=i.piece.length)return{node:i,remainder:o+t-1,nodeStartOffset:r};t-=i.piece.length-o;break}else e-=i.lf_left+i.piece.lineFeedCnt,r+=i.size_left+i.piece.length,i=i.right;for(i=i.next();i!==Sn;){if(i.piece.lineFeedCnt>0){const o=this.getAccumulatedValue(i,0),s=this.offsetOfNode(i);return{node:i,remainder:Math.min(t-1,o),nodeStartOffset:s}}else if(i.piece.length>=t-1){const o=this.offsetOfNode(i);return{node:i,remainder:t-1,nodeStartOffset:o}}else t-=i.piece.length;i=i.next()}return null}nodeCharCodeAt(e,t){if(e.piece.lineFeedCnt<1)return-1;const i=this._buffers[e.piece.bufferIndex],r=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return i.buffer.charCodeAt(r)}offsetOfNode(e){if(!e)return 0;let t=e.size_left;for(;e!==this.root;)e.parent.right===e&&(t+=e.parent.size_left+e.parent.piece.length),e=e.parent;return t}shouldCheckCRLF(){return!(this._EOLNormalized&&this._EOL===` -`)}startWithLF(e){if(typeof e=="string")return e.charCodeAt(0)===10;if(e===Sn||e.piece.lineFeedCnt===0)return!1;const t=e.piece,i=this._buffers[t.bufferIndex].lineStarts,r=t.start.line,o=i[r]+t.start.column;return r===i.length-1||i[r+1]>o+1?!1:this._buffers[t.bufferIndex].buffer.charCodeAt(o)===10}endWithCR(e){return typeof e=="string"?e.charCodeAt(e.length-1)===13:e===Sn||e.piece.lineFeedCnt===0?!1:this.nodeCharCodeAt(e,e.piece.length-1)===13}validateCRLFWithPrevNode(e){if(this.shouldCheckCRLF()&&this.startWithLF(e)){const t=e.prev();this.endWithCR(t)&&this.fixCRLF(t,e)}}validateCRLFWithNextNode(e){if(this.shouldCheckCRLF()&&this.endWithCR(e)){const t=e.next();this.startWithLF(t)&&this.fixCRLF(e,t)}}fixCRLF(e,t){const i=[],r=this._buffers[e.piece.bufferIndex].lineStarts;let o;e.piece.end.column===0?o={line:e.piece.end.line-1,column:r[e.piece.end.line]-r[e.piece.end.line-1]-1}:o={line:e.piece.end.line,column:e.piece.end.column-1};const s=e.piece.length-1,a=e.piece.lineFeedCnt-1;e.piece=new mu(e.piece.bufferIndex,e.piece.start,o,a,s),np(this,e,-1,-1),e.piece.length===0&&i.push(e);const l={line:t.piece.start.line+1,column:0},u=t.piece.length-1,c=this.getLineFeedCnt(t.piece.bufferIndex,l,t.piece.end);t.piece=new mu(t.piece.bufferIndex,l,t.piece.end,c,u),np(this,t,-1,-1),t.piece.length===0&&i.push(t);const d=this.createNewPieces(`\r -`);this.rbInsertRight(e,d[0]);for(let h=0;h=h)u=d+1;else break;return i?(i.line=d,i.column=l-m,null):{line:d,column:l-m}}getLineFeedCnt(e,t,i){if(i.column===0)return i.line-t.line;const r=this._buffers[e].lineStarts;if(i.line===r.length-1)return i.line-t.line;const o=r[i.line+1],s=r[i.line]+i.column;if(o>s+1)return i.line-t.line;const a=s-1;return this._buffers[e].buffer.charCodeAt(a)===13?i.line-t.line+1:i.line-t.line}offsetInBuffer(e,t){return this._buffers[e].lineStarts[t.line]+t.column}deleteNodes(e){for(let t=0;tip){const c=[];for(;e.length>ip;){const h=e.charCodeAt(ip-1);let m;h===13||h>=55296&&h<=56319?(m=e.substring(0,ip-1),e=e.substring(ip-1)):(m=e.substring(0,ip),e=e.substring(ip));const f=rp(m);c.push(new mu(this._buffers.length,{line:0,column:0},{line:f.length-1,column:m.length-f[f.length-1]},f.length-1,m.length)),this._buffers.push(new Sv(m,f))}const d=rp(e);return c.push(new mu(this._buffers.length,{line:0,column:0},{line:d.length-1,column:e.length-d[d.length-1]},d.length-1,e.length)),this._buffers.push(new Sv(e,d)),c}let t=this._buffers[0].buffer.length;const i=rp(e,!1);let r=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===t&&t!==0&&this.startWithLF(e)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},r=this._lastChangeBufferPos;for(let c=0;c=e-1)i=i.left;else if(i.lf_left+i.piece.lineFeedCnt>e-1){const l=this.getAccumulatedValue(i,e-i.lf_left-2),u=this.getAccumulatedValue(i,e-i.lf_left-1),c=this._buffers[i.piece.bufferIndex].buffer,d=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return s+=i.size_left,this._searchCache.set({node:i,nodeStartOffset:s,nodeStartLineNumber:a-(e-1-i.lf_left)}),c.substring(d+l,d+u-t)}else if(i.lf_left+i.piece.lineFeedCnt===e-1){const l=this.getAccumulatedValue(i,e-i.lf_left-2),u=this._buffers[i.piece.bufferIndex].buffer,c=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);r=u.substring(c+l,c+i.piece.length);break}else e-=i.lf_left+i.piece.lineFeedCnt,s+=i.size_left+i.piece.length,i=i.right}for(i=i.next();i!==wn;){const s=this._buffers[i.piece.bufferIndex].buffer;if(i.piece.lineFeedCnt>0){const a=this.getAccumulatedValue(i,0),l=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return r+=s.substring(l,l+a-t),r}else{const a=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);r+=s.substr(a,i.piece.length)}i=i.next()}return r}computeBufferMetadata(){let e=this.root,t=1,i=0;for(;e!==wn;)t+=e.lf_left+e.piece.lineFeedCnt,i+=e.size_left+e.piece.length,e=e.right;this._lineCnt=t,this._length=i,this._searchCache.validate(this._length)}getIndexOf(e,t){const i=e.piece,r=this.positionInBuffer(e,t),o=r.line-i.start.line;if(this.offsetInBuffer(i.bufferIndex,i.end)-this.offsetInBuffer(i.bufferIndex,i.start)===t){const s=this.getLineFeedCnt(e.piece.bufferIndex,i.start,r);if(s!==o)return{index:s,remainder:0}}return{index:o,remainder:r.column}}getAccumulatedValue(e,t){if(t<0)return 0;const i=e.piece,r=this._buffers[i.bufferIndex].lineStarts,o=i.start.line+t+1;return o>i.end.line?r[i.end.line]+i.end.column-r[i.start.line]-i.start.column:r[o]-r[i.start.line]-i.start.column}deleteNodeTail(e,t){const i=e.piece,r=i.lineFeedCnt,o=this.offsetInBuffer(i.bufferIndex,i.end),s=t,a=this.offsetInBuffer(i.bufferIndex,s),l=this.getLineFeedCnt(i.bufferIndex,i.start,s),u=l-r,c=a-o,d=i.length+c;e.piece=new mu(i.bufferIndex,i.start,s,l,d),np(this,e,c,u)}deleteNodeHead(e,t){const i=e.piece,r=i.lineFeedCnt,o=this.offsetInBuffer(i.bufferIndex,i.start),s=t,a=this.getLineFeedCnt(i.bufferIndex,s,i.end),l=this.offsetInBuffer(i.bufferIndex,s),u=a-r,c=o-l,d=i.length+c;e.piece=new mu(i.bufferIndex,s,i.end,a,d),np(this,e,c,u)}shrinkNode(e,t,i){const r=e.piece,o=r.start,s=r.end,a=r.length,l=r.lineFeedCnt,u=t,c=this.getLineFeedCnt(r.bufferIndex,r.start,u),d=this.offsetInBuffer(r.bufferIndex,t)-this.offsetInBuffer(r.bufferIndex,o);e.piece=new mu(r.bufferIndex,r.start,u,c,d),np(this,e,d-a,c-l);const h=new mu(r.bufferIndex,i,s,this.getLineFeedCnt(r.bufferIndex,i,s),this.offsetInBuffer(r.bufferIndex,s)-this.offsetInBuffer(r.bufferIndex,i)),m=this.rbInsertRight(e,h);this.validateCRLFWithPrevNode(m)}appendToNode(e,t){this.adjustCarriageReturnFromNext(t,e)&&(t+=` +`);const i=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),r=this._buffers[0].buffer.length;this._buffers[0].buffer+=t;const o=rp(t,!1);for(let m=0;me)t=t.left;else if(t.size_left+t.piece.length>=e){r+=t.size_left;const o={node:t,remainder:e-t.size_left,nodeStartOffset:r};return this._searchCache.set(o),o}else e-=t.size_left+t.piece.length,r+=t.size_left+t.piece.length,t=t.right;return null}nodeAt2(e,t){let i=this.root,r=0;for(;i!==wn;)if(i.left!==wn&&i.lf_left>=e-1)i=i.left;else if(i.lf_left+i.piece.lineFeedCnt>e-1){const o=this.getAccumulatedValue(i,e-i.lf_left-2),s=this.getAccumulatedValue(i,e-i.lf_left-1);return r+=i.size_left,{node:i,remainder:Math.min(o+t-1,s),nodeStartOffset:r}}else if(i.lf_left+i.piece.lineFeedCnt===e-1){const o=this.getAccumulatedValue(i,e-i.lf_left-2);if(o+t-1<=i.piece.length)return{node:i,remainder:o+t-1,nodeStartOffset:r};t-=i.piece.length-o;break}else e-=i.lf_left+i.piece.lineFeedCnt,r+=i.size_left+i.piece.length,i=i.right;for(i=i.next();i!==wn;){if(i.piece.lineFeedCnt>0){const o=this.getAccumulatedValue(i,0),s=this.offsetOfNode(i);return{node:i,remainder:Math.min(t-1,o),nodeStartOffset:s}}else if(i.piece.length>=t-1){const o=this.offsetOfNode(i);return{node:i,remainder:t-1,nodeStartOffset:o}}else t-=i.piece.length;i=i.next()}return null}nodeCharCodeAt(e,t){if(e.piece.lineFeedCnt<1)return-1;const i=this._buffers[e.piece.bufferIndex],r=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return i.buffer.charCodeAt(r)}offsetOfNode(e){if(!e)return 0;let t=e.size_left;for(;e!==this.root;)e.parent.right===e&&(t+=e.parent.size_left+e.parent.piece.length),e=e.parent;return t}shouldCheckCRLF(){return!(this._EOLNormalized&&this._EOL===` +`)}startWithLF(e){if(typeof e=="string")return e.charCodeAt(0)===10;if(e===wn||e.piece.lineFeedCnt===0)return!1;const t=e.piece,i=this._buffers[t.bufferIndex].lineStarts,r=t.start.line,o=i[r]+t.start.column;return r===i.length-1||i[r+1]>o+1?!1:this._buffers[t.bufferIndex].buffer.charCodeAt(o)===10}endWithCR(e){return typeof e=="string"?e.charCodeAt(e.length-1)===13:e===wn||e.piece.lineFeedCnt===0?!1:this.nodeCharCodeAt(e,e.piece.length-1)===13}validateCRLFWithPrevNode(e){if(this.shouldCheckCRLF()&&this.startWithLF(e)){const t=e.prev();this.endWithCR(t)&&this.fixCRLF(t,e)}}validateCRLFWithNextNode(e){if(this.shouldCheckCRLF()&&this.endWithCR(e)){const t=e.next();this.startWithLF(t)&&this.fixCRLF(e,t)}}fixCRLF(e,t){const i=[],r=this._buffers[e.piece.bufferIndex].lineStarts;let o;e.piece.end.column===0?o={line:e.piece.end.line-1,column:r[e.piece.end.line]-r[e.piece.end.line-1]-1}:o={line:e.piece.end.line,column:e.piece.end.column-1};const s=e.piece.length-1,a=e.piece.lineFeedCnt-1;e.piece=new mu(e.piece.bufferIndex,e.piece.start,o,a,s),np(this,e,-1,-1),e.piece.length===0&&i.push(e);const l={line:t.piece.start.line+1,column:0},u=t.piece.length-1,c=this.getLineFeedCnt(t.piece.bufferIndex,l,t.piece.end);t.piece=new mu(t.piece.bufferIndex,l,t.piece.end,c,u),np(this,t,-1,-1),t.piece.length===0&&i.push(t);const d=this.createNewPieces(`\r +`);this.rbInsertRight(e,d[0]);for(let h=0;hb.sortIndex-v.sortIndex)}this._mightContainRTL=r,this._mightContainUnusualLineTerminators=o,this._mightContainNonBasicASCII=s;const m=this._doApplyEdits(l);let f=null;if(t&&d.length>0){d.sort((g,b)=>b.lineNumber-g.lineNumber),f=[];for(let g=0,b=d.length;g0&&d[g-1].lineNumber===v)continue;const C=d[g].oldContent,S=this.getLineContent(v);S.length===0||S===C||_a(S)!==-1||f.push(v)}}return this._onDidChangeContent.fire(),new uyt(h,m,f)}_reduceOperations(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]}_toSingleEditOperation(e){let t=!1;const i=e[0].range,r=e[e.length-1].range,o=new J(i.startLineNumber,i.startColumn,r.endLineNumber,r.endColumn);let s=i.startLineNumber,a=i.startColumn;const l=[];for(let m=0,f=e.length;m0&&l.push(g.text),s=b.endLineNumber,a=b.endColumn}const u=l.join(""),[c,d,h]=h0(u);return{sortIndex:0,identifier:e[0].identifier,range:o,rangeOffset:this.getOffsetAt(o.startLineNumber,o.startColumn),rangeLength:this.getValueLengthInRange(o,0),text:u,eolCount:c,firstLineLength:d,lastLineLength:h,forceMoveMarkers:t,isAutoWhitespaceEdit:!1}}_doApplyEdits(e){e.sort(y2._sortOpsDescending);const t=[];for(let i=0;i0){const h=l.eolCount+1;h===1?d=new J(u,c,u,c+l.firstLineLength):d=new J(u,c,u+h-1,l.lastLineLength+1)}else d=new J(u,c,u,c);i=d.endLineNumber,r=d.endColumn,t.push(d),o=l}return t}static _sortOpsAscending(e,t){const i=J.compareRangesUsingEnds(e.range,t.range);return i===0?e.sortIndex-t.sortIndex:i}static _sortOpsDescending(e,t){const i=J.compareRangesUsingEnds(e.range,t.range);return i===0?t.sortIndex-e.sortIndex:-i}}class fwt{constructor(e,t,i,r,o,s,a,l,u){this._chunks=e,this._bom=t,this._cr=i,this._lf=r,this._crlf=o,this._containsRTL=s,this._containsUnusualLineTerminators=a,this._isBasicASCII=l,this._normalizeEOL=u}_getEOL(e){const t=this._cr+this._lf+this._crlf,i=this._cr+this._crlf;return t===0?e===1?` +`;case 0:return this.getEOL();default:throw new Error("Unknown EOL preference")}}setEOL(e){this._pieceTree.setEOL(e)}applyEdits(e,t,i){let r=this._mightContainRTL,o=this._mightContainUnusualLineTerminators,s=this._mightContainNonBasicASCII,a=!0,l=[];for(let g=0;gb.sortIndex-y.sortIndex)}this._mightContainRTL=r,this._mightContainUnusualLineTerminators=o,this._mightContainNonBasicASCII=s;const m=this._doApplyEdits(l);let f=null;if(t&&d.length>0){d.sort((g,b)=>b.lineNumber-g.lineNumber),f=[];for(let g=0,b=d.length;g0&&d[g-1].lineNumber===y)continue;const C=d[g].oldContent,w=this.getLineContent(y);w.length===0||w===C||La(w)!==-1||f.push(y)}}return this._onDidChangeContent.fire(),new uvt(h,m,f)}_reduceOperations(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]}_toSingleEditOperation(e){let t=!1;const i=e[0].range,r=e[e.length-1].range,o=new J(i.startLineNumber,i.startColumn,r.endLineNumber,r.endColumn);let s=i.startLineNumber,a=i.startColumn;const l=[];for(let m=0,f=e.length;m0&&l.push(g.text),s=b.endLineNumber,a=b.endColumn}const u=l.join(""),[c,d,h]=h0(u);return{sortIndex:0,identifier:e[0].identifier,range:o,rangeOffset:this.getOffsetAt(o.startLineNumber,o.startColumn),rangeLength:this.getValueLengthInRange(o,0),text:u,eolCount:c,firstLineLength:d,lastLineLength:h,forceMoveMarkers:t,isAutoWhitespaceEdit:!1}}_doApplyEdits(e){e.sort(v2._sortOpsDescending);const t=[];for(let i=0;i0){const h=l.eolCount+1;h===1?d=new J(u,c,u,c+l.firstLineLength):d=new J(u,c,u+h-1,l.lastLineLength+1)}else d=new J(u,c,u,c);i=d.endLineNumber,r=d.endColumn,t.push(d),o=l}return t}static _sortOpsAscending(e,t){const i=J.compareRangesUsingEnds(e.range,t.range);return i===0?e.sortIndex-t.sortIndex:i}static _sortOpsDescending(e,t){const i=J.compareRangesUsingEnds(e.range,t.range);return i===0?t.sortIndex-e.sortIndex:-i}}class fSt{constructor(e,t,i,r,o,s,a,l,u){this._chunks=e,this._bom=t,this._cr=i,this._lf=r,this._crlf=o,this._containsRTL=s,this._containsUnusualLineTerminators=a,this._isBasicASCII=l,this._normalizeEOL=u}_getEOL(e){const t=this._cr+this._lf+this._crlf,i=this._cr+this._crlf;return t===0?e===1?` `:`\r `:i>t/2?`\r `:` `}create(e){const t=this._getEOL(e),i=this._chunks;if(this._normalizeEOL&&(t===`\r `&&(this._cr>0||this._lf>0)||t===` -`&&(this._cr>0||this._crlf>0)))for(let o=0,s=i.length;o=55296&&t<=56319?(this._acceptChunk1(e.substr(0,e.length-1),!1),this._hasPreviousChar=!0,this._previousChar=t):(this._acceptChunk1(e,!1),this._hasPreviousChar=!1,this._previousChar=t)}_acceptChunk1(e,t){!t&&e.length===0||(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+e):this._acceptChunk2(e))}_acceptChunk2(e){const t=cwt(this._tmpLineStarts,e);this.chunks.push(new wy(e,t.lineStarts)),this.cr+=t.cr,this.lf+=t.lf,this.crlf+=t.crlf,t.isBasicASCII||(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=vS(e)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=a0e(e)))}finish(e=!0){return this._finish(),new fwt(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,e)}_finish(){if(this.chunks.length===0&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;const e=this.chunks[this.chunks.length-1];e.buffer+=String.fromCharCode(this._previousChar);const t=rp(e.buffer);e.lineStarts=t,this._previousChar===13&&this.cr++}}}const yD=new class{clone(){return this}equals(n){return this===n}};function oCe(n,e){return new Z6([new PI(0,"",n)],e)}function x7(n,e){const t=new Uint32Array(2);return t[0]=0,t[1]=(n<<0|0|0|32768|2<<24)>>>0,new SW(t,e===null?yD:e)}class gwt{constructor(e){this._default=e,this._store=[]}get(e){return e=this._store.length;)this._store[this._store.length]=this._default;this._store[e]=t}replace(e,t,i){if(e>=this._store.length)return;if(t===0){this.insert(e,i);return}else if(i===0){this.delete(e,t);return}const r=this._store.slice(0,e),o=this._store.slice(e+t),s=pwt(i,this._default);this._store=r.concat(s,o)}delete(e,t){t===0||e>=this._store.length||this._store.splice(e,t)}insert(e,t){if(t===0||e>=this._store.length)return;const i=[];for(let r=0;r0){const i=this._tokens[this._tokens.length-1];if(i.endLineNumber+1===e){i.appendLineTokens(t);return}}this._tokens.push(new bwt(e,[t]))}finalize(){return this._tokens}}class ls{static createEmpty(e,t){const i=ls.defaultTokenMetadata,r=new Uint32Array(2);return r[0]=e.length,r[1]=i,new ls(r,e,t)}constructor(e,t,i){this._lineTokensBrand=void 0,this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this._languageIdCodec=i}equals(e){return e instanceof ls?this.slicedEquals(e,0,this._tokensCount):!1}slicedEquals(e,t,i){if(this._text!==e._text||this._tokensCount!==e._tokensCount)return!1;const r=t<<1,o=r+(i<<1);for(let s=r;s0?this._tokens[e-1<<1]:0}getMetadata(e){return this._tokens[(e<<1)+1]}getLanguageId(e){const t=this._tokens[(e<<1)+1],i=hu.getLanguageId(t);return this._languageIdCodec.decodeLanguageId(i)}getStandardTokenType(e){const t=this._tokens[(e<<1)+1];return hu.getTokenType(t)}getForeground(e){const t=this._tokens[(e<<1)+1];return hu.getForeground(t)}getClassName(e){const t=this._tokens[(e<<1)+1];return hu.getClassNameFromMetadata(t)}getInlineStyle(e,t){const i=this._tokens[(e<<1)+1];return hu.getInlineStyleFromMetadata(i,t)}getPresentation(e){const t=this._tokens[(e<<1)+1];return hu.getPresentationFromMetadata(t)}getEndOffset(e){return this._tokens[e<<1]}findTokenIndexAtOffset(e){return ls.findIndexInTokensArray(this._tokens,e)}inflate(){return this}sliceAndInflate(e,t,i){return new _7(this,e,t,i)}static convertToEndOffset(e,t){const r=(e.length>>>1)-1;for(let o=0;o>>1)-1;for(;it&&(r=o)}return i}withInserted(e){if(e.length===0)return this;let t=0,i=0,r="";const o=new Array;let s=0;for(;;){const a=ts){r+=this._text.substring(s,l.offset);const u=this._tokens[(t<<1)+1];o.push(r.length,u),s=l.offset}r+=l.text,o.push(r.length,l.tokenMetadata),i++}else break}return new ls(new Uint32Array(o),r,this._languageIdCodec)}}ls.defaultTokenMetadata=(32768|2<<24)>>>0;class _7{constructor(e,t,i,r){this._source=e,this._startOffset=t,this._endOffset=i,this._deltaOffset=r,this._firstTokenIndex=e.findTokenIndexAtOffset(t),this._tokensCount=0;for(let o=this._firstTokenIndex,s=e.getCount();o=i);o++)this._tokensCount++}getMetadata(e){return this._source.getMetadata(this._firstTokenIndex+e)}getLanguageId(e){return this._source.getLanguageId(this._firstTokenIndex+e)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(e){return e instanceof _7?this._startOffset===e._startOffset&&this._endOffset===e._endOffset&&this._deltaOffset===e._deltaOffset&&this._source.slicedEquals(e._source,this._firstTokenIndex,this._tokensCount):!1}getCount(){return this._tokensCount}getForeground(e){return this._source.getForeground(this._firstTokenIndex+e)}getEndOffset(e){const t=this._source.getEndOffset(this._firstTokenIndex+e);return Math.min(this._endOffset,t)-this._startOffset+this._deltaOffset}getClassName(e){return this._source.getClassName(this._firstTokenIndex+e)}getInlineStyle(e,t){return this._source.getInlineStyle(this._firstTokenIndex+e,t)}getPresentation(e){return this._source.getPresentation(this._firstTokenIndex+e)}findTokenIndexAtOffset(e){return this._source.findTokenIndexAtOffset(e+this._startOffset-this._deltaOffset)-this._firstTokenIndex}}class vwt{constructor(e,t){this.tokenizationSupport=t,this.initialState=this.tokenizationSupport.getInitialState(),this.store=new F7(e)}getStartState(e){return this.store.getStartState(e,this.initialState)}getFirstInvalidLine(){return this.store.getFirstInvalidLine(this.initialState)}}class ywt extends vwt{constructor(e,t,i,r){super(e,t),this._textModel=i,this._languageIdCodec=r}updateTokensUntilLine(e,t){const i=this._textModel.getLanguageId();for(;;){const r=this.getFirstInvalidLine();if(!r||r.lineNumber>t)break;const o=this._textModel.getLineContent(r.lineNumber),s=CD(this._languageIdCodec,i,this.tokenizationSupport,o,!0,r.startState);e.add(r.lineNumber,s.tokens),this.store.setEndState(r.lineNumber,s.endState)}}getTokenTypeIfInsertingCharacter(e,t){const i=this.getStartState(e.lineNumber);if(!i)return 0;const r=this._textModel.getLanguageId(),o=this._textModel.getLineContent(e.lineNumber),s=o.substring(0,e.column-1)+t+o.substring(e.column-1),a=CD(this._languageIdCodec,r,this.tokenizationSupport,s,!0,i),l=new ls(a.tokens,s,this._languageIdCodec);if(l.getCount()===0)return 0;const u=l.findTokenIndexAtOffset(e.column-1);return l.getStandardTokenType(u)}tokenizeLineWithEdit(e,t,i){const r=e.lineNumber,o=e.column,s=this.getStartState(r);if(!s)return null;const a=this._textModel.getLineContent(r),l=a.substring(0,o-1)+i+a.substring(o-1+t),u=this._textModel.getLanguageIdAtPosition(r,0),c=CD(this._languageIdCodec,u,this.tokenizationSupport,l,!0,s);return new ls(c.tokens,l,this._languageIdCodec)}hasAccurateTokensForLine(e){const t=this.store.getFirstInvalidEndStateLineNumberOrMax();return e1&&a>=1;a--){const l=this._textModel.getLineFirstNonWhitespaceColumn(a);if(l!==0&&l0&&i>0&&(i--,t--),this._lineEndStates.replace(e.startLineNumber,i,t)}}class wwt{constructor(){this._ranges=[]}get min(){return this._ranges.length===0?null:this._ranges[0].start}delete(e){const t=this._ranges.findIndex(i=>i.contains(e));if(t!==-1){const i=this._ranges[t];i.start===e?i.endExclusive===e+1?this._ranges.splice(t,1):this._ranges[t]=new Dn(e+1,i.endExclusive):i.endExclusive===e+1?this._ranges[t]=new Dn(i.start,e):this._ranges.splice(t,1,new Dn(i.start,e),new Dn(e+1,i.endExclusive))}}addRange(e){Dn.addRange(e,this._ranges)}addRangeAndResize(e,t){let i=0;for(;!(i>=this._ranges.length||e.start<=this._ranges[i].endExclusive);)i++;let r=i;for(;!(r>=this._ranges.length||e.endExclusivee.toString()).join(" + ")}}function CD(n,e,t,i,r,o){let s=null;if(t)try{s=t.tokenizeEncoded(i,r,o.clone())}catch(a){vn(a)}return s||(s=x7(n.encodeLanguageId(e),o)),ls.convertToEndOffset(s.tokens,i.length),s}class Swt{constructor(e,t){this._tokenizerWithStateStore=e,this._backgroundTokenStore=t,this._isDisposed=!1,this._isScheduled=!1}dispose(){this._isDisposed=!0}handleChanges(){this._beginBackgroundTokenization()}_beginBackgroundTokenization(){this._isScheduled||!this._tokenizerWithStateStore._textModel.isAttachedToEditor()||!this._hasLinesToTokenize()||(this._isScheduled=!0,Pbe(e=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(e)}))}_backgroundTokenizeWithDeadline(e){const t=Date.now()+e.timeRemaining(),i=()=>{this._isDisposed||!this._tokenizerWithStateStore._textModel.isAttachedToEditor()||!this._hasLinesToTokenize()||(this._backgroundTokenizeForAtLeast1ms(),Date.now()1||this._tokenizeOneInvalidLine(t)>=e)break;while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(t.finalize()),this.checkFinished()}_hasLinesToTokenize(){return this._tokenizerWithStateStore?!this._tokenizerWithStateStore.store.allStatesValid():!1}_tokenizeOneInvalidLine(e){var t;const i=(t=this._tokenizerWithStateStore)===null||t===void 0?void 0:t.getFirstInvalidLine();return i?(this._tokenizerWithStateStore.updateTokensUntilLine(e,i.lineNumber),i.lineNumber):this._tokenizerWithStateStore._textModel.getLineCount()+1}checkFinished(){this._isDisposed||this._tokenizerWithStateStore.store.allStatesValid()&&this._backgroundTokenStore.backgroundTokenizationFinished()}requestTokens(e,t){this._tokenizerWithStateStore.store.invalidateEndStateRange(new dn(e,t))}}const op=new Uint32Array(0).buffer;class hf{static deleteBeginning(e,t){return e===null||e===op?e:hf.delete(e,0,t)}static deleteEnding(e,t){if(e===null||e===op)return e;const i=sp(e),r=i[i.length-2];return hf.delete(e,t,r)}static delete(e,t,i){if(e===null||e===op||t===i)return e;const r=sp(e),o=r.length>>>1;if(t===0&&r[r.length-2]===i)return op;const s=ls.findIndexInTokensArray(r,t),a=s>0?r[s-1<<1]:0,l=r[s<<1];if(ic&&(r[u++]=f,r[u++]=r[(m<<1)+1],c=f)}if(u===r.length)return e;const h=new Uint32Array(u);return h.set(r.subarray(0,u),0),h.buffer}static append(e,t){if(t===op)return e;if(e===op)return t;if(e===null)return e;if(t===null)return null;const i=sp(e),r=sp(t),o=r.length>>>1,s=new Uint32Array(i.length+r.length);s.set(i,0);let a=i.length;const l=i[i.length-2];for(let u=0;u>>1;let s=ls.findIndexInTokensArray(r,t);s>0&&r[s-1<<1]===t&&s--;for(let a=s;a0}getTokens(e,t,i){let r=null;if(t1&&(o=hu.getLanguageId(r[1])!==e),!o)return op}if(!r||r.length===0){const o=new Uint32Array(2);return o[0]=t,o[1]=sCe(e),o.buffer}return r[r.length-2]=t,r.byteOffset===0&&r.byteLength===r.buffer.byteLength?r.buffer:r}_ensureLine(e){for(;e>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(e,t){t!==0&&(e+t>this._len&&(t=this._len-e),this._lineTokens.splice(e,t),this._len-=t)}_insertLines(e,t){if(t===0)return;const i=[];for(let r=0;r=this._len)return;if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;this._lineTokens[t]=hf.delete(this._lineTokens[t],e.startColumn-1,e.endColumn-1);return}this._lineTokens[t]=hf.deleteEnding(this._lineTokens[t],e.startColumn-1);const i=e.endLineNumber-1;let r=null;i=this._len)){if(t===0){this._lineTokens[r]=hf.insert(this._lineTokens[r],e.column-1,i);return}this._lineTokens[r]=hf.deleteEnding(this._lineTokens[r],e.column-1),this._lineTokens[r]=hf.insert(this._lineTokens[r],e.column-1,i),this._insertLines(e.lineNumber,t)}}setMultilineTokens(e,t){if(e.length===0)return{changes:[]};const i=[];for(let r=0,o=e.length;r>>0}class I7{constructor(e){this._pieces=[],this._isComplete=!1,this._languageIdCodec=e}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return this._pieces.length===0}set(e,t){this._pieces=e||[],this._isComplete=t}setPartial(e,t){let i=e;if(t.length>0){const o=t[0].getRange(),s=t[t.length-1].getRange();if(!o||!s)return e;i=e.plusRange(o).plusRange(s)}let r=null;for(let o=0,s=this._pieces.length;oi.endLineNumber){r=r||{index:o};break}if(a.removeTokens(i),a.isEmpty()){this._pieces.splice(o,1),o--,s--;continue}if(a.endLineNumberi.endLineNumber){r=r||{index:o};continue}const[l,u]=a.split(i);if(l.isEmpty()){r=r||{index:o};continue}u.isEmpty()||(this._pieces.splice(o,1,l,u),o++,s++,r=r||{index:o})}return r=r||{index:this._pieces.length},t.length>0&&(this._pieces=W9(this._pieces,r.index,t)),i}isComplete(){return this._isComplete}addSparseTokens(e,t){if(t.getLineContent().length===0)return t;const i=this._pieces;if(i.length===0)return t;const r=I7._findFirstPieceWithLine(i,e),o=i[r].getLineTokens(e);if(!o)return t;const s=t.getCount(),a=o.getCount();let l=0;const u=[];let c=0,d=0;const h=(m,f)=>{m!==d&&(d=m,u[c++]=m,u[c++]=f)};for(let m=0;m>>0,C=~v>>>0;for(;lt)r=o-1;else{for(;o>i&&e[o-1].startLineNumber<=t&&t<=e[o-1].endLineNumber;)o--;return o}}return i}acceptEdit(e,t,i,r,o){for(const s of this._pieces)s.acceptEdit(e,t,i,r,o)}}class BW extends oye{constructor(e,t,i,r,o,s){super(),this._languageService=e,this._languageConfigurationService=t,this._textModel=i,this._bracketPairsTextModelPart=r,this._languageId=o,this._attachedViews=s,this._semanticTokens=new I7(this._languageService.languageIdCodec),this._onDidChangeLanguage=this._register(new be),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new be),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new be),this.onDidChangeTokens=this._onDidChangeTokens.event,this.grammarTokens=this._register(new xwt(this._languageService.languageIdCodec,this._textModel,()=>this._languageId,this._attachedViews)),this._register(this._languageConfigurationService.onDidChange(a=>{a.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})})),this._register(this.grammarTokens.onDidChangeTokens(a=>{this._emitModelTokensChangedEvent(a)})),this._register(this.grammarTokens.onDidChangeBackgroundTokenizationState(a=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()}))}handleDidChangeContent(e){if(e.isFlush)this._semanticTokens.flush();else if(!e.isEolChange)for(const t of e.changes){const[i,r,o]=h0(t.text);this._semanticTokens.acceptEdit(t.range,i,r,o,t.text.length>0?t.text.charCodeAt(0):0)}this.grammarTokens.handleDidChangeContent(e)}handleDidChangeAttached(){this.grammarTokens.handleDidChangeAttached()}getLineTokens(e){this.validateLineNumber(e);const t=this.grammarTokens.getLineTokens(e);return this._semanticTokens.addSparseTokens(e,t)}_emitModelTokensChangedEvent(e){this._textModel._isDisposing()||(this._bracketPairsTextModelPart.handleDidChangeTokens(e),this._onDidChangeTokens.fire(e))}validateLineNumber(e){if(e<1||e>this._textModel.getLineCount())throw new or("Illegal value for lineNumber")}get hasTokens(){return this.grammarTokens.hasTokens}resetTokenization(){this.grammarTokens.resetTokenization()}get backgroundTokenizationState(){return this.grammarTokens.backgroundTokenizationState}forceTokenization(e){this.validateLineNumber(e),this.grammarTokens.forceTokenization(e)}hasAccurateTokensForLine(e){return this.validateLineNumber(e),this.grammarTokens.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return this.validateLineNumber(e),this.grammarTokens.isCheapToTokenize(e)}tokenizeIfCheap(e){this.validateLineNumber(e),this.grammarTokens.tokenizeIfCheap(e)}getTokenTypeIfInsertingCharacter(e,t,i){return this.grammarTokens.getTokenTypeIfInsertingCharacter(e,t,i)}tokenizeLineWithEdit(e,t,i){return this.grammarTokens.tokenizeLineWithEdit(e,t,i)}setSemanticTokens(e,t){this._semanticTokens.set(e,t),this._emitModelTokensChangedEvent({semanticTokensApplied:e!==null,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(e,t){if(this.hasCompleteSemanticTokens())return;const i=this._textModel.validateRange(this._semanticTokens.setPartial(e,t));this._emitModelTokensChangedEvent({semanticTokensApplied:!0,ranges:[{fromLineNumber:i.startLineNumber,toLineNumber:i.endLineNumber}]})}getWordAtPosition(e){this.assertNotDisposed();const t=this._textModel.validatePosition(e),i=this._textModel.getLineContent(t.lineNumber),r=this.getLineTokens(t.lineNumber),o=r.findTokenIndexAtOffset(t.column-1),[s,a]=BW._findLanguageBoundaries(r,o),l=cI(t.column,this.getLanguageConfiguration(r.getLanguageId(o)).getWordDefinition(),i.substring(s,a),s);if(l&&l.startColumn<=e.column&&e.column<=l.endColumn)return l;if(o>0&&s===t.column-1){const[u,c]=BW._findLanguageBoundaries(r,o-1),d=cI(t.column,this.getLanguageConfiguration(r.getLanguageId(o-1)).getWordDefinition(),i.substring(u,c),u);if(d&&d.startColumn<=e.column&&e.column<=d.endColumn)return d}return null}getLanguageConfiguration(e){return this._languageConfigurationService.getLanguageConfiguration(e)}static _findLanguageBoundaries(e,t){const i=e.getLanguageId(t);let r=0;for(let s=t;s>=0&&e.getLanguageId(s)===i;s--)r=e.getStartOffset(s);let o=e.getLineContent().length;for(let s=t,a=e.getCount();s{const s=this.getLanguageId();o.changedLanguages.indexOf(s)!==-1&&this.resetTokenization()})),this.resetTokenization(),this._register(r.onDidChangeVisibleRanges(({view:o,state:s})=>{if(s){let a=this._attachedViewStates.get(o);a||(a=new Lwt(()=>this.refreshRanges(a.lineRanges)),this._attachedViewStates.set(o,a)),a.handleStateChange(s)}else this._attachedViewStates.deleteAndDispose(o)}))}resetTokenization(e=!0){var t;this._tokens.flush(),(t=this._debugBackgroundTokens)===null||t===void 0||t.flush(),this._debugBackgroundStates&&(this._debugBackgroundStates=new F7(this._textModel.getLineCount())),e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]});const i=()=>{if(this._textModel.isTooLargeForTokenization())return[null,null];const s=bo.get(this.getLanguageId());if(!s)return[null,null];let a;try{a=s.getInitialState()}catch(l){return vn(l),[null,null]}return[s,a]},[r,o]=i();if(r&&o?this._tokenizer=new ywt(this._textModel.getLineCount(),r,this._textModel,this._languageIdCodec):this._tokenizer=null,this._backgroundTokenizer.clear(),this._defaultBackgroundTokenizer=null,this._tokenizer){const s={setTokens:a=>{this.setTokens(a)},backgroundTokenizationFinished:()=>{if(this._backgroundTokenizationState===2)return;const a=2;this._backgroundTokenizationState=a,this._onDidChangeBackgroundTokenizationState.fire()},setEndState:(a,l)=>{var u;if(!this._tokenizer)return;const c=this._tokenizer.store.getFirstInvalidEndStateLineNumber();c!==null&&a>=c&&((u=this._tokenizer)===null||u===void 0||u.store.setEndState(a,l))}};r&&r.createBackgroundTokenizer&&!r.backgroundTokenizerShouldOnlyVerifyTokens&&(this._backgroundTokenizer.value=r.createBackgroundTokenizer(this._textModel,s)),!this._backgroundTokenizer.value&&!this._textModel.isTooLargeForTokenization()&&(this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new Swt(this._tokenizer,s),this._defaultBackgroundTokenizer.handleChanges()),r!=null&&r.backgroundTokenizerShouldOnlyVerifyTokens&&r.createBackgroundTokenizer?(this._debugBackgroundTokens=new wD(this._languageIdCodec),this._debugBackgroundStates=new F7(this._textModel.getLineCount()),this._debugBackgroundTokenizer.clear(),this._debugBackgroundTokenizer.value=r.createBackgroundTokenizer(this._textModel,{setTokens:a=>{var l;(l=this._debugBackgroundTokens)===null||l===void 0||l.setMultilineTokens(a,this._textModel)},backgroundTokenizationFinished(){},setEndState:(a,l)=>{var u;(u=this._debugBackgroundStates)===null||u===void 0||u.setEndState(a,l)}})):(this._debugBackgroundTokens=void 0,this._debugBackgroundStates=void 0,this._debugBackgroundTokenizer.value=void 0)}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){var e;(e=this._defaultBackgroundTokenizer)===null||e===void 0||e.handleChanges()}handleDidChangeContent(e){var t,i,r;if(e.isFlush)this.resetTokenization(!1);else if(!e.isEolChange){for(const o of e.changes){const[s,a]=h0(o.text);this._tokens.acceptEdit(o.range,s,a),(t=this._debugBackgroundTokens)===null||t===void 0||t.acceptEdit(o.range,s,a)}(i=this._debugBackgroundStates)===null||i===void 0||i.acceptChanges(e.changes),this._tokenizer&&this._tokenizer.store.acceptChanges(e.changes),(r=this._defaultBackgroundTokenizer)===null||r===void 0||r.handleChanges()}}setTokens(e){const{changes:t}=this._tokens.setMultilineTokens(e,this._textModel);return t.length>0&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:t}),{changes:t}}refreshAllVisibleLineTokens(){const e=dn.joinMany([...this._attachedViewStates].map(([t,i])=>i.lineRanges));this.refreshRanges(e)}refreshRanges(e){for(const t of e)this.refreshRange(t.startLineNumber,t.endLineNumberExclusive-1)}refreshRange(e,t){var i,r;if(!this._tokenizer)return;e=Math.max(1,Math.min(this._textModel.getLineCount(),e)),t=Math.min(this._textModel.getLineCount(),t);const o=new L7,{heuristicTokens:s}=this._tokenizer.tokenizeHeuristically(o,e,t),a=this.setTokens(o.finalize());if(s)for(const l of a.changes)(i=this._backgroundTokenizer.value)===null||i===void 0||i.requestTokens(l.fromLineNumber,l.toLineNumber+1);(r=this._defaultBackgroundTokenizer)===null||r===void 0||r.checkFinished()}forceTokenization(e){var t,i;const r=new L7;(t=this._tokenizer)===null||t===void 0||t.updateTokensUntilLine(r,e),this.setTokens(r.finalize()),(i=this._defaultBackgroundTokenizer)===null||i===void 0||i.checkFinished()}hasAccurateTokensForLine(e){return this._tokenizer?this._tokenizer.hasAccurateTokensForLine(e):!0}isCheapToTokenize(e){return this._tokenizer?this._tokenizer.isCheapToTokenize(e):!0}tokenizeIfCheap(e){this.isCheapToTokenize(e)&&this.forceTokenization(e)}getLineTokens(e){var t;const i=this._textModel.getLineContent(e),r=this._tokens.getTokens(this._textModel.getLanguageId(),e-1,i);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer&&this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>e&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>e){const o=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),e-1,i);!r.equals(o)&&(!((t=this._debugBackgroundTokenizer.value)===null||t===void 0)&&t.reportMismatchingTokens)&&this._debugBackgroundTokenizer.value.reportMismatchingTokens(e)}return r}getTokenTypeIfInsertingCharacter(e,t,i){if(!this._tokenizer)return 0;const r=this._textModel.validatePosition(new ye(e,t));return this.forceTokenization(r.lineNumber),this._tokenizer.getTokenTypeIfInsertingCharacter(r,i)}tokenizeLineWithEdit(e,t,i){if(!this._tokenizer)return null;const r=this._textModel.validatePosition(e);return this.forceTokenization(r.lineNumber),this._tokenizer.tokenizeLineWithEdit(r,t,i)}get hasTokens(){return this._tokens.hasTokens}}class Lwt extends Ie{get lineRanges(){return this._lineRanges}constructor(e){super(),this._refreshTokens=e,this.runner=this._register(new Ri(()=>this.update(),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){kr(this._computedLineRanges,this._lineRanges,(e,t)=>e.equals(t))||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(e){this._lineRanges=e.visibleLineRanges,e.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}}const zW=Un("undoRedoService");class aCe{constructor(e,t){this.resource=e,this.elements=t}}class C2{constructor(){this.id=C2._ID++,this.order=1}nextOrder(){return this.id===0?0:this.order++}}C2._ID=0,C2.None=new C2;class mf{constructor(){this.id=mf._ID++,this.order=1}nextOrder(){return this.id===0?0:this.order++}}mf._ID=0,mf.None=new mf;var _wt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},D7=function(n,e){return function(t,i){e(t,i,n)}},Sy;function Fwt(n){const e=new rCe;return e.acceptChunk(n),e.finish()}function Iwt(n){const e=new rCe;let t;for(;typeof(t=n.read())=="string";)e.acceptChunk(t);return e.finish()}function lCe(n,e){let t;return typeof n=="string"?t=Fwt(n):ayt(n)?t=Iwt(n):t=n,t.create(e)}let HW=0;const Dwt=999,Mwt=1e4;class kwt{constructor(e){this._source=e,this._eos=!1}read(){if(this._eos)return null;const e=[];let t=0,i=0;do{const r=this._source.read();if(r===null)return this._eos=!0,t===0?null:e.join("");if(r.length>0&&(e[t++]=r,i+=r.length),i>=64*1024)return e.join("")}while(!0)}}const SD=()=>{throw new Error("Invalid change accessor")};let ff=Sy=class extends Ie{static resolveOptions(e,t){if(t.detectIndentation){const i=Bye(e,t.tabSize,t.insertSpaces);return new FW({tabSize:i.tabSize,indentSize:"tabSize",insertSpaces:i.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL,bracketPairColorizationOptions:t.bracketPairColorizationOptions})}return new FW(t)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}onDidChangeContent(e){return this._eventEmitter.slowEvent(t=>e(t.contentChangedEvent))}onDidChangeContentOrInjectedText(e){return _d(this._eventEmitter.fastEvent(t=>e(t)),this._onDidChangeInjectedText.event(t=>e(t)))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(e,t,i,r=null,o,s,a){super(),this._undoRedoService=o,this._languageService=s,this._languageConfigurationService=a,this._onWillDispose=this._register(new be),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new Rwt(m=>this.handleBeforeFireDecorationsChangedEvent(m))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new be),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new be),this.onDidChangeAttached=this._onDidChangeAttached.event,this._onDidChangeInjectedText=this._register(new be),this._eventEmitter=this._register(new Vwt),this._languageSelectionListener=this._register(new Ms),this._deltaDecorationCallCnt=0,this._attachedViews=new Awt,HW++,this.id="$model"+HW,this.isForSimpleWidget=i.isForSimpleWidget,typeof r>"u"||r===null?this._associatedResource=en.parse("inmemory://model/"+HW):this._associatedResource=r,this._attachedEditorCount=0;const{textBuffer:l,disposable:u}=lCe(e,i.defaultEOL);this._buffer=l,this._bufferDisposable=u,this._options=Sy.resolveOptions(this._buffer,i);const c=typeof t=="string"?t:t.languageId;typeof t!="string"&&(this._languageSelectionListener.value=t.onDidChange(()=>this._setLanguage(t.languageId))),this._bracketPairs=this._register(new NCt(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new Syt(this,this._languageConfigurationService)),this._decorationProvider=this._register(new ECt(this)),this._tokenizationTextModelPart=new BW(this._languageService,this._languageConfigurationService,this,this._bracketPairs,c,this._attachedViews);const d=this._buffer.getLineCount(),h=this._buffer.getValueLengthInRange(new J(1,1,d,this._buffer.getLineLength(d)+1),0);i.largeFileOptimizations?(this._isTooLargeForTokenization=h>Sy.LARGE_FILE_SIZE_THRESHOLD||d>Sy.LARGE_FILE_LINE_COUNT_THRESHOLD,this._isTooLargeForHeapOperation=h>Sy.LARGE_FILE_HEAP_OPERATION_THRESHOLD):(this._isTooLargeForTokenization=!1,this._isTooLargeForHeapOperation=!1),this._isTooLargeForSyncing=h>Sy._MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=l0e(HW),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new uCe,this._commandManager=new f7(this,this._undoRedoService),this._isUndoing=!1,this._isRedoing=!1,this._trimAutoWhitespaceLines=null,this._register(this._decorationProvider.onDidChange(()=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._onDidChangeDecorations.endDeferredEmit()})),this._languageService.requestRichLanguageFeatures(c)}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;const e=new y2([],"",` -`,!1,!1,!0,!0);e.dispose(),this._buffer=e,this._bufferDisposable=Ie.None}_assertNotDisposed(){if(this._isDisposed)throw new Error("Model is disposed!")}_emitContentChangedEvent(e,t){this.__isDisposing||(this._tokenizationTextModelPart.handleDidChangeContent(t),this._bracketPairs.handleDidChangeContent(t),this._eventEmitter.fire(new py(e,t)))}setValue(e){if(this._assertNotDisposed(),e==null)throw Dc();const{textBuffer:t,disposable:i}=lCe(e,this._options.defaultEOL);this._setValueFromTextBuffer(t,i)}_createContentChanged2(e,t,i,r,o,s,a,l){return{changes:[{range:e,rangeOffset:t,rangeLength:i,text:r}],eol:this._buffer.getEOL(),isEolChange:l,versionId:this.getVersionId(),isUndoing:o,isRedoing:s,isFlush:a}}_setValueFromTextBuffer(e,t){this._assertNotDisposed();const i=this.getFullModelRange(),r=this.getValueLengthInRange(i),o=this.getLineCount(),s=this.getLineMaxColumn(o);this._buffer=e,this._bufferDisposable.dispose(),this._bufferDisposable=t,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new uCe,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new h2([new nCt],this._versionId,!1,!1),this._createContentChanged2(new J(1,1,o,s),0,r,this.getValue(),!1,!1,!0,!1))}setEOL(e){this._assertNotDisposed();const t=e===1?`\r +`&&(this._cr>0||this._crlf>0)))for(let o=0,s=i.length;o=55296&&t<=56319?(this._acceptChunk1(e.substr(0,e.length-1),!1),this._hasPreviousChar=!0,this._previousChar=t):(this._acceptChunk1(e,!1),this._hasPreviousChar=!1,this._previousChar=t)}_acceptChunk1(e,t){!t&&e.length===0||(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+e):this._acceptChunk2(e))}_acceptChunk2(e){const t=cSt(this._tmpLineStarts,e);this.chunks.push(new Sv(e,t.lineStarts)),this.cr+=t.cr,this.lf+=t.lf,this.crlf+=t.crlf,t.isBasicASCII||(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=yw(e)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=a0e(e)))}finish(e=!0){return this._finish(),new fSt(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,e)}_finish(){if(this.chunks.length===0&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;const e=this.chunks[this.chunks.length-1];e.buffer+=String.fromCharCode(this._previousChar);const t=rp(e.buffer);e.lineStarts=t,this._previousChar===13&&this.cr++}}}const vD=new class{clone(){return this}equals(n){return this===n}};function oCe(n,e){return new R6([new PF(0,"",n)],e)}function x7(n,e){const t=new Uint32Array(2);return t[0]=0,t[1]=(n<<0|0|0|32768|2<<24)>>>0,new wZ(t,e===null?vD:e)}class gSt{constructor(e){this._default=e,this._store=[]}get(e){return e=this._store.length;)this._store[this._store.length]=this._default;this._store[e]=t}replace(e,t,i){if(e>=this._store.length)return;if(t===0){this.insert(e,i);return}else if(i===0){this.delete(e,t);return}const r=this._store.slice(0,e),o=this._store.slice(e+t),s=pSt(i,this._default);this._store=r.concat(s,o)}delete(e,t){t===0||e>=this._store.length||this._store.splice(e,t)}insert(e,t){if(t===0||e>=this._store.length)return;const i=[];for(let r=0;r0){const i=this._tokens[this._tokens.length-1];if(i.endLineNumber+1===e){i.appendLineTokens(t);return}}this._tokens.push(new bSt(e,[t]))}finalize(){return this._tokens}}class ls{static createEmpty(e,t){const i=ls.defaultTokenMetadata,r=new Uint32Array(2);return r[0]=e.length,r[1]=i,new ls(r,e,t)}constructor(e,t,i){this._lineTokensBrand=void 0,this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this._languageIdCodec=i}equals(e){return e instanceof ls?this.slicedEquals(e,0,this._tokensCount):!1}slicedEquals(e,t,i){if(this._text!==e._text||this._tokensCount!==e._tokensCount)return!1;const r=t<<1,o=r+(i<<1);for(let s=r;s0?this._tokens[e-1<<1]:0}getMetadata(e){return this._tokens[(e<<1)+1]}getLanguageId(e){const t=this._tokens[(e<<1)+1],i=hu.getLanguageId(t);return this._languageIdCodec.decodeLanguageId(i)}getStandardTokenType(e){const t=this._tokens[(e<<1)+1];return hu.getTokenType(t)}getForeground(e){const t=this._tokens[(e<<1)+1];return hu.getForeground(t)}getClassName(e){const t=this._tokens[(e<<1)+1];return hu.getClassNameFromMetadata(t)}getInlineStyle(e,t){const i=this._tokens[(e<<1)+1];return hu.getInlineStyleFromMetadata(i,t)}getPresentation(e){const t=this._tokens[(e<<1)+1];return hu.getPresentationFromMetadata(t)}getEndOffset(e){return this._tokens[e<<1]}findTokenIndexAtOffset(e){return ls.findIndexInTokensArray(this._tokens,e)}inflate(){return this}sliceAndInflate(e,t,i){return new L7(this,e,t,i)}static convertToEndOffset(e,t){const r=(e.length>>>1)-1;for(let o=0;o>>1)-1;for(;it&&(r=o)}return i}withInserted(e){if(e.length===0)return this;let t=0,i=0,r="";const o=new Array;let s=0;for(;;){const a=ts){r+=this._text.substring(s,l.offset);const u=this._tokens[(t<<1)+1];o.push(r.length,u),s=l.offset}r+=l.text,o.push(r.length,l.tokenMetadata),i++}else break}return new ls(new Uint32Array(o),r,this._languageIdCodec)}}ls.defaultTokenMetadata=(32768|2<<24)>>>0;class L7{constructor(e,t,i,r){this._source=e,this._startOffset=t,this._endOffset=i,this._deltaOffset=r,this._firstTokenIndex=e.findTokenIndexAtOffset(t),this._tokensCount=0;for(let o=this._firstTokenIndex,s=e.getCount();o=i);o++)this._tokensCount++}getMetadata(e){return this._source.getMetadata(this._firstTokenIndex+e)}getLanguageId(e){return this._source.getLanguageId(this._firstTokenIndex+e)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(e){return e instanceof L7?this._startOffset===e._startOffset&&this._endOffset===e._endOffset&&this._deltaOffset===e._deltaOffset&&this._source.slicedEquals(e._source,this._firstTokenIndex,this._tokensCount):!1}getCount(){return this._tokensCount}getForeground(e){return this._source.getForeground(this._firstTokenIndex+e)}getEndOffset(e){const t=this._source.getEndOffset(this._firstTokenIndex+e);return Math.min(this._endOffset,t)-this._startOffset+this._deltaOffset}getClassName(e){return this._source.getClassName(this._firstTokenIndex+e)}getInlineStyle(e,t){return this._source.getInlineStyle(this._firstTokenIndex+e,t)}getPresentation(e){return this._source.getPresentation(this._firstTokenIndex+e)}findTokenIndexAtOffset(e){return this._source.findTokenIndexAtOffset(e+this._startOffset-this._deltaOffset)-this._firstTokenIndex}}class ySt{constructor(e,t){this.tokenizationSupport=t,this.initialState=this.tokenizationSupport.getInitialState(),this.store=new I7(e)}getStartState(e){return this.store.getStartState(e,this.initialState)}getFirstInvalidLine(){return this.store.getFirstInvalidLine(this.initialState)}}class vSt extends ySt{constructor(e,t,i,r){super(e,t),this._textModel=i,this._languageIdCodec=r}updateTokensUntilLine(e,t){const i=this._textModel.getLanguageId();for(;;){const r=this.getFirstInvalidLine();if(!r||r.lineNumber>t)break;const o=this._textModel.getLineContent(r.lineNumber),s=CD(this._languageIdCodec,i,this.tokenizationSupport,o,!0,r.startState);e.add(r.lineNumber,s.tokens),this.store.setEndState(r.lineNumber,s.endState)}}getTokenTypeIfInsertingCharacter(e,t){const i=this.getStartState(e.lineNumber);if(!i)return 0;const r=this._textModel.getLanguageId(),o=this._textModel.getLineContent(e.lineNumber),s=o.substring(0,e.column-1)+t+o.substring(e.column-1),a=CD(this._languageIdCodec,r,this.tokenizationSupport,s,!0,i),l=new ls(a.tokens,s,this._languageIdCodec);if(l.getCount()===0)return 0;const u=l.findTokenIndexAtOffset(e.column-1);return l.getStandardTokenType(u)}tokenizeLineWithEdit(e,t,i){const r=e.lineNumber,o=e.column,s=this.getStartState(r);if(!s)return null;const a=this._textModel.getLineContent(r),l=a.substring(0,o-1)+i+a.substring(o-1+t),u=this._textModel.getLanguageIdAtPosition(r,0),c=CD(this._languageIdCodec,u,this.tokenizationSupport,l,!0,s);return new ls(c.tokens,l,this._languageIdCodec)}hasAccurateTokensForLine(e){const t=this.store.getFirstInvalidEndStateLineNumberOrMax();return e1&&a>=1;a--){const l=this._textModel.getLineFirstNonWhitespaceColumn(a);if(l!==0&&l0&&i>0&&(i--,t--),this._lineEndStates.replace(e.startLineNumber,i,t)}}class SSt{constructor(){this._ranges=[]}get min(){return this._ranges.length===0?null:this._ranges[0].start}delete(e){const t=this._ranges.findIndex(i=>i.contains(e));if(t!==-1){const i=this._ranges[t];i.start===e?i.endExclusive===e+1?this._ranges.splice(t,1):this._ranges[t]=new Dn(e+1,i.endExclusive):i.endExclusive===e+1?this._ranges[t]=new Dn(i.start,e):this._ranges.splice(t,1,new Dn(i.start,e),new Dn(e+1,i.endExclusive))}}addRange(e){Dn.addRange(e,this._ranges)}addRangeAndResize(e,t){let i=0;for(;!(i>=this._ranges.length||e.start<=this._ranges[i].endExclusive);)i++;let r=i;for(;!(r>=this._ranges.length||e.endExclusivee.toString()).join(" + ")}}function CD(n,e,t,i,r,o){let s=null;if(t)try{s=t.tokenizeEncoded(i,r,o.clone())}catch(a){yn(a)}return s||(s=x7(n.encodeLanguageId(e),o)),ls.convertToEndOffset(s.tokens,i.length),s}class wSt{constructor(e,t){this._tokenizerWithStateStore=e,this._backgroundTokenStore=t,this._isDisposed=!1,this._isScheduled=!1}dispose(){this._isDisposed=!0}handleChanges(){this._beginBackgroundTokenization()}_beginBackgroundTokenization(){this._isScheduled||!this._tokenizerWithStateStore._textModel.isAttachedToEditor()||!this._hasLinesToTokenize()||(this._isScheduled=!0,Pbe(e=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(e)}))}_backgroundTokenizeWithDeadline(e){const t=Date.now()+e.timeRemaining(),i=()=>{this._isDisposed||!this._tokenizerWithStateStore._textModel.isAttachedToEditor()||!this._hasLinesToTokenize()||(this._backgroundTokenizeForAtLeast1ms(),Date.now()1||this._tokenizeOneInvalidLine(t)>=e)break;while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(t.finalize()),this.checkFinished()}_hasLinesToTokenize(){return this._tokenizerWithStateStore?!this._tokenizerWithStateStore.store.allStatesValid():!1}_tokenizeOneInvalidLine(e){var t;const i=(t=this._tokenizerWithStateStore)===null||t===void 0?void 0:t.getFirstInvalidLine();return i?(this._tokenizerWithStateStore.updateTokensUntilLine(e,i.lineNumber),i.lineNumber):this._tokenizerWithStateStore._textModel.getLineCount()+1}checkFinished(){this._isDisposed||this._tokenizerWithStateStore.store.allStatesValid()&&this._backgroundTokenStore.backgroundTokenizationFinished()}requestTokens(e,t){this._tokenizerWithStateStore.store.invalidateEndStateRange(new dn(e,t))}}const op=new Uint32Array(0).buffer;class hf{static deleteBeginning(e,t){return e===null||e===op?e:hf.delete(e,0,t)}static deleteEnding(e,t){if(e===null||e===op)return e;const i=sp(e),r=i[i.length-2];return hf.delete(e,t,r)}static delete(e,t,i){if(e===null||e===op||t===i)return e;const r=sp(e),o=r.length>>>1;if(t===0&&r[r.length-2]===i)return op;const s=ls.findIndexInTokensArray(r,t),a=s>0?r[s-1<<1]:0,l=r[s<<1];if(ic&&(r[u++]=f,r[u++]=r[(m<<1)+1],c=f)}if(u===r.length)return e;const h=new Uint32Array(u);return h.set(r.subarray(0,u),0),h.buffer}static append(e,t){if(t===op)return e;if(e===op)return t;if(e===null)return e;if(t===null)return null;const i=sp(e),r=sp(t),o=r.length>>>1,s=new Uint32Array(i.length+r.length);s.set(i,0);let a=i.length;const l=i[i.length-2];for(let u=0;u>>1;let s=ls.findIndexInTokensArray(r,t);s>0&&r[s-1<<1]===t&&s--;for(let a=s;a0}getTokens(e,t,i){let r=null;if(t1&&(o=hu.getLanguageId(r[1])!==e),!o)return op}if(!r||r.length===0){const o=new Uint32Array(2);return o[0]=t,o[1]=sCe(e),o.buffer}return r[r.length-2]=t,r.byteOffset===0&&r.byteLength===r.buffer.byteLength?r.buffer:r}_ensureLine(e){for(;e>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(e,t){t!==0&&(e+t>this._len&&(t=this._len-e),this._lineTokens.splice(e,t),this._len-=t)}_insertLines(e,t){if(t===0)return;const i=[];for(let r=0;r=this._len)return;if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;this._lineTokens[t]=hf.delete(this._lineTokens[t],e.startColumn-1,e.endColumn-1);return}this._lineTokens[t]=hf.deleteEnding(this._lineTokens[t],e.startColumn-1);const i=e.endLineNumber-1;let r=null;i=this._len)){if(t===0){this._lineTokens[r]=hf.insert(this._lineTokens[r],e.column-1,i);return}this._lineTokens[r]=hf.deleteEnding(this._lineTokens[r],e.column-1),this._lineTokens[r]=hf.insert(this._lineTokens[r],e.column-1,i),this._insertLines(e.lineNumber,t)}}setMultilineTokens(e,t){if(e.length===0)return{changes:[]};const i=[];for(let r=0,o=e.length;r>>0}class F7{constructor(e){this._pieces=[],this._isComplete=!1,this._languageIdCodec=e}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return this._pieces.length===0}set(e,t){this._pieces=e||[],this._isComplete=t}setPartial(e,t){let i=e;if(t.length>0){const o=t[0].getRange(),s=t[t.length-1].getRange();if(!o||!s)return e;i=e.plusRange(o).plusRange(s)}let r=null;for(let o=0,s=this._pieces.length;oi.endLineNumber){r=r||{index:o};break}if(a.removeTokens(i),a.isEmpty()){this._pieces.splice(o,1),o--,s--;continue}if(a.endLineNumberi.endLineNumber){r=r||{index:o};continue}const[l,u]=a.split(i);if(l.isEmpty()){r=r||{index:o};continue}u.isEmpty()||(this._pieces.splice(o,1,l,u),o++,s++,r=r||{index:o})}return r=r||{index:this._pieces.length},t.length>0&&(this._pieces=Z9(this._pieces,r.index,t)),i}isComplete(){return this._isComplete}addSparseTokens(e,t){if(t.getLineContent().length===0)return t;const i=this._pieces;if(i.length===0)return t;const r=F7._findFirstPieceWithLine(i,e),o=i[r].getLineTokens(e);if(!o)return t;const s=t.getCount(),a=o.getCount();let l=0;const u=[];let c=0,d=0;const h=(m,f)=>{m!==d&&(d=m,u[c++]=m,u[c++]=f)};for(let m=0;m>>0,C=~y>>>0;for(;lt)r=o-1;else{for(;o>i&&e[o-1].startLineNumber<=t&&t<=e[o-1].endLineNumber;)o--;return o}}return i}acceptEdit(e,t,i,r,o){for(const s of this._pieces)s.acceptEdit(e,t,i,r,o)}}class BZ extends ove{constructor(e,t,i,r,o,s){super(),this._languageService=e,this._languageConfigurationService=t,this._textModel=i,this._bracketPairsTextModelPart=r,this._languageId=o,this._attachedViews=s,this._semanticTokens=new F7(this._languageService.languageIdCodec),this._onDidChangeLanguage=this._register(new be),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new be),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new be),this.onDidChangeTokens=this._onDidChangeTokens.event,this.grammarTokens=this._register(new xSt(this._languageService.languageIdCodec,this._textModel,()=>this._languageId,this._attachedViews)),this._register(this._languageConfigurationService.onDidChange(a=>{a.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})})),this._register(this.grammarTokens.onDidChangeTokens(a=>{this._emitModelTokensChangedEvent(a)})),this._register(this.grammarTokens.onDidChangeBackgroundTokenizationState(a=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()}))}handleDidChangeContent(e){if(e.isFlush)this._semanticTokens.flush();else if(!e.isEolChange)for(const t of e.changes){const[i,r,o]=h0(t.text);this._semanticTokens.acceptEdit(t.range,i,r,o,t.text.length>0?t.text.charCodeAt(0):0)}this.grammarTokens.handleDidChangeContent(e)}handleDidChangeAttached(){this.grammarTokens.handleDidChangeAttached()}getLineTokens(e){this.validateLineNumber(e);const t=this.grammarTokens.getLineTokens(e);return this._semanticTokens.addSparseTokens(e,t)}_emitModelTokensChangedEvent(e){this._textModel._isDisposing()||(this._bracketPairsTextModelPart.handleDidChangeTokens(e),this._onDidChangeTokens.fire(e))}validateLineNumber(e){if(e<1||e>this._textModel.getLineCount())throw new rr("Illegal value for lineNumber")}get hasTokens(){return this.grammarTokens.hasTokens}resetTokenization(){this.grammarTokens.resetTokenization()}get backgroundTokenizationState(){return this.grammarTokens.backgroundTokenizationState}forceTokenization(e){this.validateLineNumber(e),this.grammarTokens.forceTokenization(e)}hasAccurateTokensForLine(e){return this.validateLineNumber(e),this.grammarTokens.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return this.validateLineNumber(e),this.grammarTokens.isCheapToTokenize(e)}tokenizeIfCheap(e){this.validateLineNumber(e),this.grammarTokens.tokenizeIfCheap(e)}getTokenTypeIfInsertingCharacter(e,t,i){return this.grammarTokens.getTokenTypeIfInsertingCharacter(e,t,i)}tokenizeLineWithEdit(e,t,i){return this.grammarTokens.tokenizeLineWithEdit(e,t,i)}setSemanticTokens(e,t){this._semanticTokens.set(e,t),this._emitModelTokensChangedEvent({semanticTokensApplied:e!==null,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(e,t){if(this.hasCompleteSemanticTokens())return;const i=this._textModel.validateRange(this._semanticTokens.setPartial(e,t));this._emitModelTokensChangedEvent({semanticTokensApplied:!0,ranges:[{fromLineNumber:i.startLineNumber,toLineNumber:i.endLineNumber}]})}getWordAtPosition(e){this.assertNotDisposed();const t=this._textModel.validatePosition(e),i=this._textModel.getLineContent(t.lineNumber),r=this.getLineTokens(t.lineNumber),o=r.findTokenIndexAtOffset(t.column-1),[s,a]=BZ._findLanguageBoundaries(r,o),l=cF(t.column,this.getLanguageConfiguration(r.getLanguageId(o)).getWordDefinition(),i.substring(s,a),s);if(l&&l.startColumn<=e.column&&e.column<=l.endColumn)return l;if(o>0&&s===t.column-1){const[u,c]=BZ._findLanguageBoundaries(r,o-1),d=cF(t.column,this.getLanguageConfiguration(r.getLanguageId(o-1)).getWordDefinition(),i.substring(u,c),u);if(d&&d.startColumn<=e.column&&e.column<=d.endColumn)return d}return null}getLanguageConfiguration(e){return this._languageConfigurationService.getLanguageConfiguration(e)}static _findLanguageBoundaries(e,t){const i=e.getLanguageId(t);let r=0;for(let s=t;s>=0&&e.getLanguageId(s)===i;s--)r=e.getStartOffset(s);let o=e.getLineContent().length;for(let s=t,a=e.getCount();s{const s=this.getLanguageId();o.changedLanguages.indexOf(s)!==-1&&this.resetTokenization()})),this.resetTokenization(),this._register(r.onDidChangeVisibleRanges(({view:o,state:s})=>{if(s){let a=this._attachedViewStates.get(o);a||(a=new _St(()=>this.refreshRanges(a.lineRanges)),this._attachedViewStates.set(o,a)),a.handleStateChange(s)}else this._attachedViewStates.deleteAndDispose(o)}))}resetTokenization(e=!0){var t;this._tokens.flush(),(t=this._debugBackgroundTokens)===null||t===void 0||t.flush(),this._debugBackgroundStates&&(this._debugBackgroundStates=new I7(this._textModel.getLineCount())),e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]});const i=()=>{if(this._textModel.isTooLargeForTokenization())return[null,null];const s=bo.get(this.getLanguageId());if(!s)return[null,null];let a;try{a=s.getInitialState()}catch(l){return yn(l),[null,null]}return[s,a]},[r,o]=i();if(r&&o?this._tokenizer=new vSt(this._textModel.getLineCount(),r,this._textModel,this._languageIdCodec):this._tokenizer=null,this._backgroundTokenizer.clear(),this._defaultBackgroundTokenizer=null,this._tokenizer){const s={setTokens:a=>{this.setTokens(a)},backgroundTokenizationFinished:()=>{if(this._backgroundTokenizationState===2)return;const a=2;this._backgroundTokenizationState=a,this._onDidChangeBackgroundTokenizationState.fire()},setEndState:(a,l)=>{var u;if(!this._tokenizer)return;const c=this._tokenizer.store.getFirstInvalidEndStateLineNumber();c!==null&&a>=c&&((u=this._tokenizer)===null||u===void 0||u.store.setEndState(a,l))}};r&&r.createBackgroundTokenizer&&!r.backgroundTokenizerShouldOnlyVerifyTokens&&(this._backgroundTokenizer.value=r.createBackgroundTokenizer(this._textModel,s)),!this._backgroundTokenizer.value&&!this._textModel.isTooLargeForTokenization()&&(this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new wSt(this._tokenizer,s),this._defaultBackgroundTokenizer.handleChanges()),r!=null&&r.backgroundTokenizerShouldOnlyVerifyTokens&&r.createBackgroundTokenizer?(this._debugBackgroundTokens=new SD(this._languageIdCodec),this._debugBackgroundStates=new I7(this._textModel.getLineCount()),this._debugBackgroundTokenizer.clear(),this._debugBackgroundTokenizer.value=r.createBackgroundTokenizer(this._textModel,{setTokens:a=>{var l;(l=this._debugBackgroundTokens)===null||l===void 0||l.setMultilineTokens(a,this._textModel)},backgroundTokenizationFinished(){},setEndState:(a,l)=>{var u;(u=this._debugBackgroundStates)===null||u===void 0||u.setEndState(a,l)}})):(this._debugBackgroundTokens=void 0,this._debugBackgroundStates=void 0,this._debugBackgroundTokenizer.value=void 0)}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){var e;(e=this._defaultBackgroundTokenizer)===null||e===void 0||e.handleChanges()}handleDidChangeContent(e){var t,i,r;if(e.isFlush)this.resetTokenization(!1);else if(!e.isEolChange){for(const o of e.changes){const[s,a]=h0(o.text);this._tokens.acceptEdit(o.range,s,a),(t=this._debugBackgroundTokens)===null||t===void 0||t.acceptEdit(o.range,s,a)}(i=this._debugBackgroundStates)===null||i===void 0||i.acceptChanges(e.changes),this._tokenizer&&this._tokenizer.store.acceptChanges(e.changes),(r=this._defaultBackgroundTokenizer)===null||r===void 0||r.handleChanges()}}setTokens(e){const{changes:t}=this._tokens.setMultilineTokens(e,this._textModel);return t.length>0&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:t}),{changes:t}}refreshAllVisibleLineTokens(){const e=dn.joinMany([...this._attachedViewStates].map(([t,i])=>i.lineRanges));this.refreshRanges(e)}refreshRanges(e){for(const t of e)this.refreshRange(t.startLineNumber,t.endLineNumberExclusive-1)}refreshRange(e,t){var i,r;if(!this._tokenizer)return;e=Math.max(1,Math.min(this._textModel.getLineCount(),e)),t=Math.min(this._textModel.getLineCount(),t);const o=new _7,{heuristicTokens:s}=this._tokenizer.tokenizeHeuristically(o,e,t),a=this.setTokens(o.finalize());if(s)for(const l of a.changes)(i=this._backgroundTokenizer.value)===null||i===void 0||i.requestTokens(l.fromLineNumber,l.toLineNumber+1);(r=this._defaultBackgroundTokenizer)===null||r===void 0||r.checkFinished()}forceTokenization(e){var t,i;const r=new _7;(t=this._tokenizer)===null||t===void 0||t.updateTokensUntilLine(r,e),this.setTokens(r.finalize()),(i=this._defaultBackgroundTokenizer)===null||i===void 0||i.checkFinished()}hasAccurateTokensForLine(e){return this._tokenizer?this._tokenizer.hasAccurateTokensForLine(e):!0}isCheapToTokenize(e){return this._tokenizer?this._tokenizer.isCheapToTokenize(e):!0}tokenizeIfCheap(e){this.isCheapToTokenize(e)&&this.forceTokenization(e)}getLineTokens(e){var t;const i=this._textModel.getLineContent(e),r=this._tokens.getTokens(this._textModel.getLanguageId(),e-1,i);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer&&this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>e&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>e){const o=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),e-1,i);!r.equals(o)&&(!((t=this._debugBackgroundTokenizer.value)===null||t===void 0)&&t.reportMismatchingTokens)&&this._debugBackgroundTokenizer.value.reportMismatchingTokens(e)}return r}getTokenTypeIfInsertingCharacter(e,t,i){if(!this._tokenizer)return 0;const r=this._textModel.validatePosition(new ve(e,t));return this.forceTokenization(r.lineNumber),this._tokenizer.getTokenTypeIfInsertingCharacter(r,i)}tokenizeLineWithEdit(e,t,i){if(!this._tokenizer)return null;const r=this._textModel.validatePosition(e);return this.forceTokenization(r.lineNumber),this._tokenizer.tokenizeLineWithEdit(r,t,i)}get hasTokens(){return this._tokens.hasTokens}}class _St extends Fe{get lineRanges(){return this._lineRanges}constructor(e){super(),this._refreshTokens=e,this.runner=this._register(new Wi(()=>this.update(),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){Nr(this._computedLineRanges,this._lineRanges,(e,t)=>e.equals(t))||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(e){this._lineRanges=e.visibleLineRanges,e.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}}const zZ=Un("undoRedoService");class aCe{constructor(e,t){this.resource=e,this.elements=t}}class C2{constructor(){this.id=C2._ID++,this.order=1}nextOrder(){return this.id===0?0:this.order++}}C2._ID=0,C2.None=new C2;class mf{constructor(){this.id=mf._ID++,this.order=1}nextOrder(){return this.id===0?0:this.order++}}mf._ID=0,mf.None=new mf;var LSt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},D7=function(n,e){return function(t,i){e(t,i,n)}},wv;function ISt(n){const e=new rCe;return e.acceptChunk(n),e.finish()}function FSt(n){const e=new rCe;let t;for(;typeof(t=n.read())=="string";)e.acceptChunk(t);return e.finish()}function lCe(n,e){let t;return typeof n=="string"?t=ISt(n):avt(n)?t=FSt(n):t=n,t.create(e)}let HZ=0;const DSt=999,NSt=1e4;class MSt{constructor(e){this._source=e,this._eos=!1}read(){if(this._eos)return null;const e=[];let t=0,i=0;do{const r=this._source.read();if(r===null)return this._eos=!0,t===0?null:e.join("");if(r.length>0&&(e[t++]=r,i+=r.length),i>=64*1024)return e.join("")}while(!0)}}const wD=()=>{throw new Error("Invalid change accessor")};let ff=wv=class extends Fe{static resolveOptions(e,t){if(t.detectIndentation){const i=Bve(e,t.tabSize,t.insertSpaces);return new IZ({tabSize:i.tabSize,indentSize:"tabSize",insertSpaces:i.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL,bracketPairColorizationOptions:t.bracketPairColorizationOptions})}return new IZ(t)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}onDidChangeContent(e){return this._eventEmitter.slowEvent(t=>e(t.contentChangedEvent))}onDidChangeContentOrInjectedText(e){return _d(this._eventEmitter.fastEvent(t=>e(t)),this._onDidChangeInjectedText.event(t=>e(t)))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(e,t,i,r=null,o,s,a){super(),this._undoRedoService=o,this._languageService=s,this._languageConfigurationService=a,this._onWillDispose=this._register(new be),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new WSt(m=>this.handleBeforeFireDecorationsChangedEvent(m))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new be),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new be),this.onDidChangeAttached=this._onDidChangeAttached.event,this._onDidChangeInjectedText=this._register(new be),this._eventEmitter=this._register(new ASt),this._languageSelectionListener=this._register(new Ns),this._deltaDecorationCallCnt=0,this._attachedViews=new VSt,HZ++,this.id="$model"+HZ,this.isForSimpleWidget=i.isForSimpleWidget,typeof r>"u"||r===null?this._associatedResource=en.parse("inmemory://model/"+HZ):this._associatedResource=r,this._attachedEditorCount=0;const{textBuffer:l,disposable:u}=lCe(e,i.defaultEOL);this._buffer=l,this._bufferDisposable=u,this._options=wv.resolveOptions(this._buffer,i);const c=typeof t=="string"?t:t.languageId;typeof t!="string"&&(this._languageSelectionListener.value=t.onDidChange(()=>this._setLanguage(t.languageId))),this._bracketPairs=this._register(new kCt(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new wvt(this,this._languageConfigurationService)),this._decorationProvider=this._register(new ECt(this)),this._tokenizationTextModelPart=new BZ(this._languageService,this._languageConfigurationService,this,this._bracketPairs,c,this._attachedViews);const d=this._buffer.getLineCount(),h=this._buffer.getValueLengthInRange(new J(1,1,d,this._buffer.getLineLength(d)+1),0);i.largeFileOptimizations?(this._isTooLargeForTokenization=h>wv.LARGE_FILE_SIZE_THRESHOLD||d>wv.LARGE_FILE_LINE_COUNT_THRESHOLD,this._isTooLargeForHeapOperation=h>wv.LARGE_FILE_HEAP_OPERATION_THRESHOLD):(this._isTooLargeForTokenization=!1,this._isTooLargeForHeapOperation=!1),this._isTooLargeForSyncing=h>wv._MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=l0e(HZ),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new uCe,this._commandManager=new f7(this,this._undoRedoService),this._isUndoing=!1,this._isRedoing=!1,this._trimAutoWhitespaceLines=null,this._register(this._decorationProvider.onDidChange(()=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._onDidChangeDecorations.endDeferredEmit()})),this._languageService.requestRichLanguageFeatures(c)}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;const e=new v2([],"",` +`,!1,!1,!0,!0);e.dispose(),this._buffer=e,this._bufferDisposable=Fe.None}_assertNotDisposed(){if(this._isDisposed)throw new Error("Model is disposed!")}_emitContentChangedEvent(e,t){this.__isDisposing||(this._tokenizationTextModelPart.handleDidChangeContent(t),this._bracketPairs.handleDidChangeContent(t),this._eventEmitter.fire(new pv(e,t)))}setValue(e){if(this._assertNotDisposed(),e==null)throw Fc();const{textBuffer:t,disposable:i}=lCe(e,this._options.defaultEOL);this._setValueFromTextBuffer(t,i)}_createContentChanged2(e,t,i,r,o,s,a,l){return{changes:[{range:e,rangeOffset:t,rangeLength:i,text:r}],eol:this._buffer.getEOL(),isEolChange:l,versionId:this.getVersionId(),isUndoing:o,isRedoing:s,isFlush:a}}_setValueFromTextBuffer(e,t){this._assertNotDisposed();const i=this.getFullModelRange(),r=this.getValueLengthInRange(i),o=this.getLineCount(),s=this.getLineMaxColumn(o);this._buffer=e,this._bufferDisposable.dispose(),this._bufferDisposable=t,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new uCe,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new h2([new nCt],this._versionId,!1,!1),this._createContentChanged2(new J(1,1,o,s),0,r,this.getValue(),!1,!1,!0,!1))}setEOL(e){this._assertNotDisposed();const t=e===1?`\r `:` -`;if(this._buffer.getEOL()===t)return;const i=this.getFullModelRange(),r=this.getValueLengthInRange(i),o=this.getLineCount(),s=this.getLineMaxColumn(o);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new h2([new oCt],this._versionId,!1,!1),this._createContentChanged2(new J(1,1,o,s),0,r,this.getValue(),!1,!1,!1,!0))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const e=this.getVersionId(),t=this._decorationsTree.collectNodesPostOrder();for(let i=0,r=t.length;i0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isTooLargeForHeapOperation(){return this._isTooLargeForHeapOperation}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let e=0,t=0;const i=this._buffer.getLineCount();for(let r=1;r<=i;r++){const o=this._buffer.getLineLength(r);o>=Mwt?t+=o:e+=o}return t>e}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(e){this._assertNotDisposed();const t=typeof e.tabSize<"u"?e.tabSize:this._options.tabSize,i=typeof e.indentSize<"u"?e.indentSize:this._options.originalIndentSize,r=typeof e.insertSpaces<"u"?e.insertSpaces:this._options.insertSpaces,o=typeof e.trimAutoWhitespace<"u"?e.trimAutoWhitespace:this._options.trimAutoWhitespace,s=typeof e.bracketColorizationOptions<"u"?e.bracketColorizationOptions:this._options.bracketPairColorizationOptions,a=new FW({tabSize:t,indentSize:i,insertSpaces:r,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:o,bracketPairColorizationOptions:s});if(this._options.equals(a))return;const l=this._options.createChangeEvent(a);this._options=a,this._bracketPairs.handleDidChangeOptions(l),this._decorationProvider.handleDidChangeOptions(l),this._onDidChangeOptions.fire(l)}detectIndentation(e,t){this._assertNotDisposed();const i=Bye(this._buffer,t,e);this.updateOptions({insertSpaces:i.insertSpaces,tabSize:i.tabSize,indentSize:i.tabSize})}normalizeIndentation(e){return this._assertNotDisposed(),I9(e,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(e=null){const t=this.findMatches(s0e.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(e,t.map(i=>({range:i.range,text:null})),()=>null)}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(e){this._assertNotDisposed();const t=this._validatePosition(e.lineNumber,e.column,0);return this._buffer.getOffsetAt(t.lineNumber,t.column)}getPositionAt(e){this._assertNotDisposed();const t=Math.min(this._buffer.getLength(),Math.max(0,e));return this._buffer.getPositionAt(t)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(e){this._versionId=e}_overwriteAlternativeVersionId(e){this._alternativeVersionId=e}_overwriteInitialUndoRedoSnapshot(e){this._initialUndoRedoSnapshot=e}getValue(e,t=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new or("Operation would exceed heap memory limits");const i=this.getFullModelRange(),r=this.getValueInRange(i,e);return t?this._buffer.getBOM()+r:r}createSnapshot(e=!1){return new kwt(this._buffer.createSnapshot(e))}getValueLength(e,t=!1){this._assertNotDisposed();const i=this.getFullModelRange(),r=this.getValueLengthInRange(i,e);return t?this._buffer.getBOM().length+r:r}getValueInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(e),t)}getValueLengthInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(e),t)}getCharacterCountInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(e),t)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new or("Illegal value for lineNumber");return this._buffer.getLineContent(e)}getLineLength(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new or("Illegal value for lineNumber");return this._buffer.getLineLength(e)}getLinesContent(){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new or("Operation would exceed heap memory limits");return this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),this._buffer.getEOL()===` -`?0:1}getLineMinColumn(e){return this._assertNotDisposed(),1}getLineMaxColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new or("Illegal value for lineNumber");return this._buffer.getLineLength(e)+1}getLineFirstNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new or("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(e)}getLineLastNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new or("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(e)}_validateRangeRelaxedNoAllocations(e){const t=this._buffer.getLineCount(),i=e.startLineNumber,r=e.startColumn;let o=Math.floor(typeof i=="number"&&!isNaN(i)?i:1),s=Math.floor(typeof r=="number"&&!isNaN(r)?r:1);if(o<1)o=1,s=1;else if(o>t)o=t,s=this.getLineMaxColumn(o);else if(s<=1)s=1;else{const d=this.getLineMaxColumn(o);s>=d&&(s=d)}const a=e.endLineNumber,l=e.endColumn;let u=Math.floor(typeof a=="number"&&!isNaN(a)?a:1),c=Math.floor(typeof l=="number"&&!isNaN(l)?l:1);if(u<1)u=1,c=1;else if(u>t)u=t,c=this.getLineMaxColumn(u);else if(c<=1)c=1;else{const d=this.getLineMaxColumn(u);c>=d&&(c=d)}return i===o&&r===s&&a===u&&l===c&&e instanceof J&&!(e instanceof Wt)?e:new J(o,s,u,c)}_isValidPosition(e,t,i){if(typeof e!="number"||typeof t!="number"||isNaN(e)||isNaN(t)||e<1||t<1||(e|0)!==e||(t|0)!==t)return!1;const r=this._buffer.getLineCount();if(e>r)return!1;if(t===1)return!0;const o=this.getLineMaxColumn(e);if(t>o)return!1;if(i===1){const s=this._buffer.getLineCharCode(e,t-2);if(os(s))return!1}return!0}_validatePosition(e,t,i){const r=Math.floor(typeof e=="number"&&!isNaN(e)?e:1),o=Math.floor(typeof t=="number"&&!isNaN(t)?t:1),s=this._buffer.getLineCount();if(r<1)return new ye(1,1);if(r>s)return new ye(s,this.getLineMaxColumn(s));if(o<=1)return new ye(r,1);const a=this.getLineMaxColumn(r);if(o>=a)return new ye(r,a);if(i===1){const l=this._buffer.getLineCharCode(r,o-2);if(os(l))return new ye(r,o-1)}return new ye(r,o)}validatePosition(e){return this._assertNotDisposed(),e instanceof ye&&this._isValidPosition(e.lineNumber,e.column,1)?e:this._validatePosition(e.lineNumber,e.column,1)}_isValidRange(e,t){const i=e.startLineNumber,r=e.startColumn,o=e.endLineNumber,s=e.endColumn;if(!this._isValidPosition(i,r,0)||!this._isValidPosition(o,s,0))return!1;if(t===1){const a=r>1?this._buffer.getLineCharCode(i,r-2):0,l=s>1&&s<=this._buffer.getLineLength(o)?this._buffer.getLineCharCode(o,s-2):0,u=os(a),c=os(l);return!u&&!c}return!0}validateRange(e){if(this._assertNotDisposed(),e instanceof J&&!(e instanceof Wt)&&this._isValidRange(e,1))return e;const i=this._validatePosition(e.startLineNumber,e.startColumn,0),r=this._validatePosition(e.endLineNumber,e.endColumn,0),o=i.lineNumber,s=i.column,a=r.lineNumber,l=r.column;{const u=s>1?this._buffer.getLineCharCode(o,s-2):0,c=l>1&&l<=this._buffer.getLineLength(a)?this._buffer.getLineCharCode(a,l-2):0,d=os(u),h=os(c);return!d&&!h?new J(o,s,a,l):o===a&&s===l?new J(o,s-1,a,l-1):d&&h?new J(o,s-1,a,l+1):d?new J(o,s-1,a,l):new J(o,s,a,l+1)}}modifyPosition(e,t){this._assertNotDisposed();const i=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,i)))}getFullModelRange(){this._assertNotDisposed();const e=this.getLineCount();return new J(1,1,e,this.getLineMaxColumn(e))}findMatchesLineByLine(e,t,i,r){return this._buffer.findMatchesLineByLine(e,t,i,r)}findMatches(e,t,i,r,o,s,a=Dwt){this._assertNotDisposed();let l=null;t!==null&&(Array.isArray(t)||(t=[t]),t.every(d=>J.isIRange(d))&&(l=t.map(d=>this.validateRange(d)))),l===null&&(l=[this.getFullModelRange()]),l=l.sort((d,h)=>d.startLineNumber-h.startLineNumber||d.startColumn-h.startColumn);const u=[];u.push(l.reduce((d,h)=>J.areIntersecting(d,h)?d.plusRange(h):(u.push(d),h)));let c;if(!i&&e.indexOf(` -`)<0){const h=new yy(e,i,r,o).parseSearchRequest();if(!h)return[];c=m=>this.findMatchesLineByLine(m,h,s,a)}else c=d=>OW.findMatches(this,new yy(e,i,r,o),d,s,a);return u.map(c).reduce((d,h)=>d.concat(h),[])}findNextMatch(e,t,i,r,o,s){this._assertNotDisposed();const a=this.validatePosition(t);if(!i&&e.indexOf(` -`)<0){const u=new yy(e,i,r,o).parseSearchRequest();if(!u)return null;const c=this.getLineCount();let d=new J(a.lineNumber,a.column,c,this.getLineMaxColumn(c)),h=this.findMatchesLineByLine(d,u,s,1);return OW.findNextMatch(this,new yy(e,i,r,o),a,s),h.length>0||(d=new J(1,1,a.lineNumber,this.getLineMaxColumn(a.lineNumber)),h=this.findMatchesLineByLine(d,u,s,1),h.length>0)?h[0]:null}return OW.findNextMatch(this,new yy(e,i,r,o),a,s)}findPreviousMatch(e,t,i,r,o,s){this._assertNotDisposed();const a=this.validatePosition(t);return OW.findPreviousMatch(this,new yy(e,i,r,o),a,s)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(e){if((this.getEOL()===` +`;if(this._buffer.getEOL()===t)return;const i=this.getFullModelRange(),r=this.getValueLengthInRange(i),o=this.getLineCount(),s=this.getLineMaxColumn(o);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new h2([new oCt],this._versionId,!1,!1),this._createContentChanged2(new J(1,1,o,s),0,r,this.getValue(),!1,!1,!1,!0))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const e=this.getVersionId(),t=this._decorationsTree.collectNodesPostOrder();for(let i=0,r=t.length;i0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isTooLargeForHeapOperation(){return this._isTooLargeForHeapOperation}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let e=0,t=0;const i=this._buffer.getLineCount();for(let r=1;r<=i;r++){const o=this._buffer.getLineLength(r);o>=NSt?t+=o:e+=o}return t>e}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(e){this._assertNotDisposed();const t=typeof e.tabSize<"u"?e.tabSize:this._options.tabSize,i=typeof e.indentSize<"u"?e.indentSize:this._options.originalIndentSize,r=typeof e.insertSpaces<"u"?e.insertSpaces:this._options.insertSpaces,o=typeof e.trimAutoWhitespace<"u"?e.trimAutoWhitespace:this._options.trimAutoWhitespace,s=typeof e.bracketColorizationOptions<"u"?e.bracketColorizationOptions:this._options.bracketPairColorizationOptions,a=new IZ({tabSize:t,indentSize:i,insertSpaces:r,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:o,bracketPairColorizationOptions:s});if(this._options.equals(a))return;const l=this._options.createChangeEvent(a);this._options=a,this._bracketPairs.handleDidChangeOptions(l),this._decorationProvider.handleDidChangeOptions(l),this._onDidChangeOptions.fire(l)}detectIndentation(e,t){this._assertNotDisposed();const i=Bve(this._buffer,t,e);this.updateOptions({insertSpaces:i.insertSpaces,tabSize:i.tabSize,indentSize:i.tabSize})}normalizeIndentation(e){return this._assertNotDisposed(),F9(e,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(e=null){const t=this.findMatches(s0e.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(e,t.map(i=>({range:i.range,text:null})),()=>null)}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(e){this._assertNotDisposed();const t=this._validatePosition(e.lineNumber,e.column,0);return this._buffer.getOffsetAt(t.lineNumber,t.column)}getPositionAt(e){this._assertNotDisposed();const t=Math.min(this._buffer.getLength(),Math.max(0,e));return this._buffer.getPositionAt(t)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(e){this._versionId=e}_overwriteAlternativeVersionId(e){this._alternativeVersionId=e}_overwriteInitialUndoRedoSnapshot(e){this._initialUndoRedoSnapshot=e}getValue(e,t=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new rr("Operation would exceed heap memory limits");const i=this.getFullModelRange(),r=this.getValueInRange(i,e);return t?this._buffer.getBOM()+r:r}createSnapshot(e=!1){return new MSt(this._buffer.createSnapshot(e))}getValueLength(e,t=!1){this._assertNotDisposed();const i=this.getFullModelRange(),r=this.getValueLengthInRange(i,e);return t?this._buffer.getBOM().length+r:r}getValueInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(e),t)}getValueLengthInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(e),t)}getCharacterCountInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(e),t)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new rr("Illegal value for lineNumber");return this._buffer.getLineContent(e)}getLineLength(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new rr("Illegal value for lineNumber");return this._buffer.getLineLength(e)}getLinesContent(){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new rr("Operation would exceed heap memory limits");return this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),this._buffer.getEOL()===` +`?0:1}getLineMinColumn(e){return this._assertNotDisposed(),1}getLineMaxColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new rr("Illegal value for lineNumber");return this._buffer.getLineLength(e)+1}getLineFirstNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new rr("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(e)}getLineLastNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new rr("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(e)}_validateRangeRelaxedNoAllocations(e){const t=this._buffer.getLineCount(),i=e.startLineNumber,r=e.startColumn;let o=Math.floor(typeof i=="number"&&!isNaN(i)?i:1),s=Math.floor(typeof r=="number"&&!isNaN(r)?r:1);if(o<1)o=1,s=1;else if(o>t)o=t,s=this.getLineMaxColumn(o);else if(s<=1)s=1;else{const d=this.getLineMaxColumn(o);s>=d&&(s=d)}const a=e.endLineNumber,l=e.endColumn;let u=Math.floor(typeof a=="number"&&!isNaN(a)?a:1),c=Math.floor(typeof l=="number"&&!isNaN(l)?l:1);if(u<1)u=1,c=1;else if(u>t)u=t,c=this.getLineMaxColumn(u);else if(c<=1)c=1;else{const d=this.getLineMaxColumn(u);c>=d&&(c=d)}return i===o&&r===s&&a===u&&l===c&&e instanceof J&&!(e instanceof Zt)?e:new J(o,s,u,c)}_isValidPosition(e,t,i){if(typeof e!="number"||typeof t!="number"||isNaN(e)||isNaN(t)||e<1||t<1||(e|0)!==e||(t|0)!==t)return!1;const r=this._buffer.getLineCount();if(e>r)return!1;if(t===1)return!0;const o=this.getLineMaxColumn(e);if(t>o)return!1;if(i===1){const s=this._buffer.getLineCharCode(e,t-2);if(os(s))return!1}return!0}_validatePosition(e,t,i){const r=Math.floor(typeof e=="number"&&!isNaN(e)?e:1),o=Math.floor(typeof t=="number"&&!isNaN(t)?t:1),s=this._buffer.getLineCount();if(r<1)return new ve(1,1);if(r>s)return new ve(s,this.getLineMaxColumn(s));if(o<=1)return new ve(r,1);const a=this.getLineMaxColumn(r);if(o>=a)return new ve(r,a);if(i===1){const l=this._buffer.getLineCharCode(r,o-2);if(os(l))return new ve(r,o-1)}return new ve(r,o)}validatePosition(e){return this._assertNotDisposed(),e instanceof ve&&this._isValidPosition(e.lineNumber,e.column,1)?e:this._validatePosition(e.lineNumber,e.column,1)}_isValidRange(e,t){const i=e.startLineNumber,r=e.startColumn,o=e.endLineNumber,s=e.endColumn;if(!this._isValidPosition(i,r,0)||!this._isValidPosition(o,s,0))return!1;if(t===1){const a=r>1?this._buffer.getLineCharCode(i,r-2):0,l=s>1&&s<=this._buffer.getLineLength(o)?this._buffer.getLineCharCode(o,s-2):0,u=os(a),c=os(l);return!u&&!c}return!0}validateRange(e){if(this._assertNotDisposed(),e instanceof J&&!(e instanceof Zt)&&this._isValidRange(e,1))return e;const i=this._validatePosition(e.startLineNumber,e.startColumn,0),r=this._validatePosition(e.endLineNumber,e.endColumn,0),o=i.lineNumber,s=i.column,a=r.lineNumber,l=r.column;{const u=s>1?this._buffer.getLineCharCode(o,s-2):0,c=l>1&&l<=this._buffer.getLineLength(a)?this._buffer.getLineCharCode(a,l-2):0,d=os(u),h=os(c);return!d&&!h?new J(o,s,a,l):o===a&&s===l?new J(o,s-1,a,l-1):d&&h?new J(o,s-1,a,l+1):d?new J(o,s-1,a,l):new J(o,s,a,l+1)}}modifyPosition(e,t){this._assertNotDisposed();const i=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,i)))}getFullModelRange(){this._assertNotDisposed();const e=this.getLineCount();return new J(1,1,e,this.getLineMaxColumn(e))}findMatchesLineByLine(e,t,i,r){return this._buffer.findMatchesLineByLine(e,t,i,r)}findMatches(e,t,i,r,o,s,a=DSt){this._assertNotDisposed();let l=null;t!==null&&(Array.isArray(t)||(t=[t]),t.every(d=>J.isIRange(d))&&(l=t.map(d=>this.validateRange(d)))),l===null&&(l=[this.getFullModelRange()]),l=l.sort((d,h)=>d.startLineNumber-h.startLineNumber||d.startColumn-h.startColumn);const u=[];u.push(l.reduce((d,h)=>J.areIntersecting(d,h)?d.plusRange(h):(u.push(d),h)));let c;if(!i&&e.indexOf(` +`)<0){const h=new vv(e,i,r,o).parseSearchRequest();if(!h)return[];c=m=>this.findMatchesLineByLine(m,h,s,a)}else c=d=>OZ.findMatches(this,new vv(e,i,r,o),d,s,a);return u.map(c).reduce((d,h)=>d.concat(h),[])}findNextMatch(e,t,i,r,o,s){this._assertNotDisposed();const a=this.validatePosition(t);if(!i&&e.indexOf(` +`)<0){const u=new vv(e,i,r,o).parseSearchRequest();if(!u)return null;const c=this.getLineCount();let d=new J(a.lineNumber,a.column,c,this.getLineMaxColumn(c)),h=this.findMatchesLineByLine(d,u,s,1);return OZ.findNextMatch(this,new vv(e,i,r,o),a,s),h.length>0||(d=new J(1,1,a.lineNumber,this.getLineMaxColumn(a.lineNumber)),h=this.findMatchesLineByLine(d,u,s,1),h.length>0)?h[0]:null}return OZ.findNextMatch(this,new vv(e,i,r,o),a,s)}findPreviousMatch(e,t,i,r,o,s){this._assertNotDisposed();const a=this.validatePosition(t);return OZ.findPreviousMatch(this,new vv(e,i,r,o),a,s)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(e){if((this.getEOL()===` `?0:1)!==e)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(e){return e instanceof P6?e:new P6(e.identifier||null,this.validateRange(e.range),e.text,e.forceMoveMarkers||!1,e.isAutoWhitespaceEdit||!1,e._isTracked||!1)}_validateEditOperations(e){const t=[];for(let i=0,r=e.length;i({range:this.validateRange(a.range),text:a.text}));let s=!0;if(e)for(let a=0,l=e.length;au.endLineNumber,g=u.startLineNumber>m.endLineNumber;if(!f&&!g){c=!0;break}}if(!c){s=!1;break}}if(s)for(let a=0,l=this._trimAutoWhitespaceLines.length;af.endLineNumber)&&!(u===f.startLineNumber&&f.startColumn===c&&f.isEmpty()&&g&&g.length>0&&g.charAt(0)===` `)&&!(u===f.startLineNumber&&f.startColumn===1&&f.isEmpty()&&g&&g.length>0&&g.charAt(g.length-1)===` -`)){d=!1;break}}if(d){const h=new J(u,1,u,c);t.push(new P6(null,h,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(e,t,i,r)}_applyUndo(e,t,i,r){const o=e.map(s=>{const a=this.getPositionAt(s.newPosition),l=this.getPositionAt(s.newEnd);return{range:new J(a.lineNumber,a.column,l.lineNumber,l.column),text:s.oldText}});this._applyUndoRedoEdits(o,t,!0,!1,i,r)}_applyRedo(e,t,i,r){const o=e.map(s=>{const a=this.getPositionAt(s.oldPosition),l=this.getPositionAt(s.oldEnd);return{range:new J(a.lineNumber,a.column,l.lineNumber,l.column),text:s.newText}});this._applyUndoRedoEdits(o,t,!1,!0,i,r)}_applyUndoRedoEdits(e,t,i,r,o,s){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=i,this._isRedoing=r,this.applyEdits(e,!1),this.setEOL(t),this._overwriteAlternativeVersionId(o)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(s),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(e,t=!1){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const i=this._validateEditOperations(e);return this._doApplyEdits(i,t)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(e,t){const i=this._buffer.getLineCount(),r=this._buffer.applyEdits(e,this._options.trimAutoWhitespace,t),o=this._buffer.getLineCount(),s=r.changes;if(this._trimAutoWhitespaceLines=r.trimAutoWhitespaceLineNumbers,s.length!==0){for(let u=0,c=s.length;u=0;T--){const Z=m+T,E=S+T;M.takeFromEndWhile(W=>W.lineNumber>E);const R=M.takeFromEndWhile(W=>W.lineNumber===E);a.push(new wye(Z,this.getLineContent(E),R))}if(vB.lineNumberB.lineNumber===O)}a.push(new rCt(Z+1,m+b,A,W))}l+=C}this._emitContentChangedEvent(new h2(a,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:s,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1})}return r.reverseEdits===null?void 0:r.reverseEdits}undo(){return this._undoRedoService.undo(this.uri)}canUndo(){return this._undoRedoService.canUndo(this.uri)}redo(){return this._undoRedoService.redo(this.uri)}canRedo(){return this._undoRedoService.canRedo(this.uri)}handleBeforeFireDecorationsChangedEvent(e){if(e===null||e.size===0)return;const i=Array.from(e).map(r=>new wye(r,this.getLineContent(r),this._getInjectedTextInLine(r)));this._onDidChangeInjectedText.fire(new Sye(i))}changeDecorations(e,t=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(t,e)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(e,t){const i={addDecoration:(o,s)=>this._deltaDecorationsImpl(e,[],[{range:o,options:s}])[0],changeDecoration:(o,s)=>{this._changeDecorationImpl(o,s)},changeDecorationOptions:(o,s)=>{this._changeDecorationOptionsImpl(o,hCe(s))},removeDecoration:o=>{this._deltaDecorationsImpl(e,[o],[])},deltaDecorations:(o,s)=>o.length===0&&s.length===0?[]:this._deltaDecorationsImpl(e,o,s)};let r=null;try{r=t(i)}catch(o){vn(o)}return i.addDecoration=SD,i.changeDecoration=SD,i.changeDecorationOptions=SD,i.removeDecoration=SD,i.deltaDecorations=SD,r}deltaDecorations(e,t,i=0){if(this._assertNotDisposed(),e||(e=[]),e.length===0&&t.length===0)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&vn(new Error("Invoking deltaDecorations recursively could lead to leaking decorations.")),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(i,e,t)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_getTrackedRange(e){return this.getDecorationRange(e)}_setTrackedRange(e,t,i){const r=e?this._decorations[e]:null;if(!r)return t?this._deltaDecorationsImpl(0,[],[{range:t,options:dCe[i]}],!0)[0]:null;if(!t)return this._decorationsTree.delete(r),delete this._decorations[r.id],null;const o=this._validateRangeRelaxedNoAllocations(t),s=this._buffer.getOffsetAt(o.startLineNumber,o.startColumn),a=this._buffer.getOffsetAt(o.endLineNumber,o.endColumn);return this._decorationsTree.delete(r),r.reset(this.getVersionId(),s,a,o),r.setOptions(dCe[i]),this._decorationsTree.insert(r),r.id}removeAllDecorationsWithOwnerId(e){if(this._isDisposed)return;const t=this._decorationsTree.collectNodesFromOwner(e);for(let i=0,r=t.length;ithis.getLineCount()?[]:this.getLinesDecorations(e,e,t,i)}getLinesDecorations(e,t,i=0,r=!1,o=!1){const s=this.getLineCount(),a=Math.min(s,Math.max(1,e)),l=Math.min(s,Math.max(1,t)),u=this.getLineMaxColumn(l),c=new J(a,1,l,u),d=this._getDecorationsInRange(c,i,r,o);return YY(d,this._decorationProvider.getDecorationsInRange(c,i,r)),d}getDecorationsInRange(e,t=0,i=!1,r=!1,o=!1){const s=this.validateRange(e),a=this._getDecorationsInRange(s,t,i,o);return YY(a,this._decorationProvider.getDecorationsInRange(s,t,i,r)),a}getOverviewRulerDecorations(e=0,t=!1){return this._decorationsTree.getAll(this,e,t,!0,!1)}getInjectedTextDecorations(e=0){return this._decorationsTree.getAllInjectedText(this,e)}_getInjectedTextInLine(e){const t=this._buffer.getOffsetAt(e,1),i=t+this._buffer.getLineLength(e),r=this._decorationsTree.getInjectedTextInInterval(this,t,i,0);return Ph.fromDecorations(r).filter(o=>o.lineNumber===e)}getAllDecorations(e=0,t=!1){let i=this._decorationsTree.getAll(this,e,t,!1,!1);return i=i.concat(this._decorationProvider.getAllDecorations(e,t)),i}getAllMarginDecorations(e=0){return this._decorationsTree.getAll(this,e,!1,!1,!0)}_getDecorationsInRange(e,t,i,r){const o=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),s=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.getAllInInterval(this,o,s,t,i,r)}getRangeAt(e,t){return this._buffer.getRangeAt(e,t-e)}_changeDecorationImpl(e,t){const i=this._decorations[e];if(!i)return;if(i.options.after){const a=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(a.endLineNumber)}if(i.options.before){const a=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(a.startLineNumber)}const r=this._validateRangeRelaxedNoAllocations(t),o=this._buffer.getOffsetAt(r.startLineNumber,r.startColumn),s=this._buffer.getOffsetAt(r.endLineNumber,r.endColumn);this._decorationsTree.delete(i),i.reset(this.getVersionId(),o,s,r),this._decorationsTree.insert(i),this._onDidChangeDecorations.checkAffectedAndFire(i.options),i.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(r.endLineNumber),i.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(r.startLineNumber)}_changeDecorationOptionsImpl(e,t){const i=this._decorations[e];if(!i)return;const r=!!(i.options.overviewRuler&&i.options.overviewRuler.color),o=!!(t.overviewRuler&&t.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(i.options),this._onDidChangeDecorations.checkAffectedAndFire(t),i.options.after||t.after){const l=this._decorationsTree.getNodeRange(this,i);this._onDidChangeDecorations.recordLineAffectedByInjectedText(l.endLineNumber)}if(i.options.before||t.before){const l=this._decorationsTree.getNodeRange(this,i);this._onDidChangeDecorations.recordLineAffectedByInjectedText(l.startLineNumber)}const s=r!==o,a=Twt(t)!==YW(i);s||a?(this._decorationsTree.delete(i),i.setOptions(t),this._decorationsTree.insert(i)):i.setOptions(t)}_deltaDecorationsImpl(e,t,i,r=!1){const o=this.getVersionId(),s=t.length;let a=0;const l=i.length;let u=0;this._onDidChangeDecorations.beginDeferredEmit();try{const c=new Array(l);for(;athis._setLanguage(e.languageId,t)),this._setLanguage(e.languageId,t))}_setLanguage(e,t){this.tokenization.setLanguageId(e,t),this._languageService.requestRichLanguageFeatures(e)}getLanguageIdAtPosition(e,t){return this.tokenization.getLanguageIdAtPosition(e,t)}getWordAtPosition(e){return this._tokenizationTextModelPart.getWordAtPosition(e)}getWordUntilPosition(e){return this._tokenizationTextModelPart.getWordUntilPosition(e)}normalizePosition(e,t){return e}getLineIndentColumn(e){return Nwt(this.getLineContent(e))+1}};ff._MODEL_SYNC_LIMIT=50*1024*1024,ff.LARGE_FILE_SIZE_THRESHOLD=20*1024*1024,ff.LARGE_FILE_LINE_COUNT_THRESHOLD=300*1e3,ff.LARGE_FILE_HEAP_OPERATION_THRESHOLD=256*1024*1024,ff.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:pa.tabSize,indentSize:pa.indentSize,insertSpaces:pa.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:pa.trimAutoWhitespace,largeFileOptimizations:pa.largeFileOptimizations,bracketPairColorizationOptions:pa.bracketPairColorizationOptions},ff=Sy=_wt([D7(4,zW),D7(5,vr),D7(6,tr)],ff);function Nwt(n){let e=0;for(const t of n)if(t===" "||t===" ")e++;else break;return e}function M7(n){return!!(n.options.overviewRuler&&n.options.overviewRuler.color)}function Twt(n){return!!n.after||!!n.before}function YW(n){return!!n.options.after||!!n.options.before}class uCe{constructor(){this._decorationsTree0=new g7,this._decorationsTree1=new g7,this._injectedTextDecorationsTree=new g7}ensureAllNodesHaveRanges(e){this.getAll(e,0,!1,!1,!1)}_ensureNodesHaveRanges(e,t){for(const i of t)i.range===null&&(i.range=e.getRangeAt(i.cachedAbsoluteStart,i.cachedAbsoluteEnd));return t}getAllInInterval(e,t,i,r,o,s){const a=e.getVersionId(),l=this._intervalSearch(t,i,r,o,a,s);return this._ensureNodesHaveRanges(e,l)}_intervalSearch(e,t,i,r,o,s){const a=this._decorationsTree0.intervalSearch(e,t,i,r,o,s),l=this._decorationsTree1.intervalSearch(e,t,i,r,o,s),u=this._injectedTextDecorationsTree.intervalSearch(e,t,i,r,o,s);return a.concat(l).concat(u)}getInjectedTextInInterval(e,t,i,r){const o=e.getVersionId(),s=this._injectedTextDecorationsTree.intervalSearch(t,i,r,!1,o,!1);return this._ensureNodesHaveRanges(e,s).filter(a=>a.options.showIfCollapsed||!a.range.isEmpty())}getAllInjectedText(e,t){const i=e.getVersionId(),r=this._injectedTextDecorationsTree.search(t,!1,i,!1);return this._ensureNodesHaveRanges(e,r).filter(o=>o.options.showIfCollapsed||!o.range.isEmpty())}getAll(e,t,i,r,o){const s=e.getVersionId(),a=this._search(t,i,r,s,o);return this._ensureNodesHaveRanges(e,a)}_search(e,t,i,r,o){if(i)return this._decorationsTree1.search(e,t,r,o);{const s=this._decorationsTree0.search(e,t,r,o),a=this._decorationsTree1.search(e,t,r,o),l=this._injectedTextDecorationsTree.search(e,t,r,o);return s.concat(a).concat(l)}}collectNodesFromOwner(e){const t=this._decorationsTree0.collectNodesFromOwner(e),i=this._decorationsTree1.collectNodesFromOwner(e),r=this._injectedTextDecorationsTree.collectNodesFromOwner(e);return t.concat(i).concat(r)}collectNodesPostOrder(){const e=this._decorationsTree0.collectNodesPostOrder(),t=this._decorationsTree1.collectNodesPostOrder(),i=this._injectedTextDecorationsTree.collectNodesPostOrder();return e.concat(t).concat(i)}insert(e){YW(e)?this._injectedTextDecorationsTree.insert(e):M7(e)?this._decorationsTree1.insert(e):this._decorationsTree0.insert(e)}delete(e){YW(e)?this._injectedTextDecorationsTree.delete(e):M7(e)?this._decorationsTree1.delete(e):this._decorationsTree0.delete(e)}getNodeRange(e,t){const i=e.getVersionId();return t.cachedVersionId!==i&&this._resolveNode(t,i),t.range===null&&(t.range=e.getRangeAt(t.cachedAbsoluteStart,t.cachedAbsoluteEnd)),t.range}_resolveNode(e,t){YW(e)?this._injectedTextDecorationsTree.resolveNode(e,t):M7(e)?this._decorationsTree1.resolveNode(e,t):this._decorationsTree0.resolveNode(e,t)}acceptReplace(e,t,i,r){this._decorationsTree0.acceptReplace(e,t,i,r),this._decorationsTree1.acceptReplace(e,t,i,r),this._injectedTextDecorationsTree.acceptReplace(e,t,i,r)}}function gf(n){return n.replace(/[^a-z0-9\-_]/gi," ")}class cCe{constructor(e){this.color=e.color||"",this.darkColor=e.darkColor||""}}class Ewt extends cCe{constructor(e){super(e),this._resolvedColor=null,this.position=typeof e.position=="number"?e.position:Oc.Center}getColor(e){return this._resolvedColor||(e.type!=="light"&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(e,t){if(typeof e=="string")return e;const i=e?t.getColor(e.id):null;return i?i.toString():""}}class Zwt{constructor(e){var t;this.position=(t=e==null?void 0:e.position)!==null&&t!==void 0?t:lf.Center,this.persistLane=e==null?void 0:e.persistLane}}class Wwt extends cCe{constructor(e){var t,i;super(e),this.position=e.position,this.sectionHeaderStyle=(t=e.sectionHeaderStyle)!==null&&t!==void 0?t:null,this.sectionHeaderText=(i=e.sectionHeaderText)!==null&&i!==void 0?i:null}getColor(e){return this._resolvedColor||(e.type!=="light"&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(e,t){return typeof e=="string"?Ze.fromHex(e):t.getColor(e.id)}}class y0{static from(e){return e instanceof y0?e:new y0(e)}constructor(e){this.content=e.content||"",this.inlineClassName=e.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=e.attachedData||null,this.cursorStops=e.cursorStops||null}}class yn{static register(e){return new yn(e)}static createDynamic(e){return new yn(e)}constructor(e){var t,i,r,o,s,a;this.description=e.description,this.blockClassName=e.blockClassName?gf(e.blockClassName):null,this.blockDoesNotCollapse=(t=e.blockDoesNotCollapse)!==null&&t!==void 0?t:null,this.blockIsAfterEnd=(i=e.blockIsAfterEnd)!==null&&i!==void 0?i:null,this.blockPadding=(r=e.blockPadding)!==null&&r!==void 0?r:null,this.stickiness=e.stickiness||0,this.zIndex=e.zIndex||0,this.className=e.className?gf(e.className):null,this.shouldFillLineOnLineBreak=(o=e.shouldFillLineOnLineBreak)!==null&&o!==void 0?o:null,this.hoverMessage=e.hoverMessage||null,this.glyphMarginHoverMessage=e.glyphMarginHoverMessage||null,this.lineNumberHoverMessage=e.lineNumberHoverMessage||null,this.isWholeLine=e.isWholeLine||!1,this.showIfCollapsed=e.showIfCollapsed||!1,this.collapseOnReplaceEdit=e.collapseOnReplaceEdit||!1,this.overviewRuler=e.overviewRuler?new Ewt(e.overviewRuler):null,this.minimap=e.minimap?new Wwt(e.minimap):null,this.glyphMargin=e.glyphMarginClassName?new Zwt(e.glyphMargin):null,this.glyphMarginClassName=e.glyphMarginClassName?gf(e.glyphMarginClassName):null,this.linesDecorationsClassName=e.linesDecorationsClassName?gf(e.linesDecorationsClassName):null,this.lineNumberClassName=e.lineNumberClassName?gf(e.lineNumberClassName):null,this.linesDecorationsTooltip=e.linesDecorationsTooltip?Imt(e.linesDecorationsTooltip):null,this.firstLineDecorationClassName=e.firstLineDecorationClassName?gf(e.firstLineDecorationClassName):null,this.marginClassName=e.marginClassName?gf(e.marginClassName):null,this.inlineClassName=e.inlineClassName?gf(e.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=e.beforeContentClassName?gf(e.beforeContentClassName):null,this.afterContentClassName=e.afterContentClassName?gf(e.afterContentClassName):null,this.after=e.after?y0.from(e.after):null,this.before=e.before?y0.from(e.before):null,this.hideInCommentTokens=(s=e.hideInCommentTokens)!==null&&s!==void 0?s:!1,this.hideInStringTokens=(a=e.hideInStringTokens)!==null&&a!==void 0?a:!1}}yn.EMPTY=yn.register({description:"empty"});const dCe=[yn.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),yn.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),yn.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),yn.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function hCe(n){return n instanceof yn?n:yn.createDynamic(n)}class Rwt extends Ie{constructor(e){super(),this.handleBeforeFire=e,this._actual=this._register(new be),this.event=this._actual.event,this._affectedInjectedTextLines=null,this._deferredCnt=0,this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._affectsLineNumber=!1}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){var e;this._deferredCnt--,this._deferredCnt===0&&(this._shouldFireDeferred&&this.doFire(),(e=this._affectedInjectedTextLines)===null||e===void 0||e.clear(),this._affectedInjectedTextLines=null)}recordLineAffectedByInjectedText(e){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(e)}checkAffectedAndFire(e){var t,i;this._affectsMinimap||(this._affectsMinimap=!!(!((t=e.minimap)===null||t===void 0)&&t.position)),this._affectsOverviewRuler||(this._affectsOverviewRuler=!!(!((i=e.overviewRuler)===null||i===void 0)&&i.color)),this._affectsGlyphMargin||(this._affectsGlyphMargin=!!e.glyphMarginClassName),this._affectsLineNumber||(this._affectsLineNumber=!!e.lineNumberClassName),this.tryFire()}fire(){this._affectsMinimap=!0,this._affectsOverviewRuler=!0,this._affectsGlyphMargin=!0,this.tryFire()}tryFire(){this._deferredCnt===0?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines);const e={affectsMinimap:this._affectsMinimap,affectsOverviewRuler:this._affectsOverviewRuler,affectsGlyphMargin:this._affectsGlyphMargin,affectsLineNumber:this._affectsLineNumber};this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._actual.fire(e)}}class Vwt extends Ie{constructor(){super(),this._fastEmitter=this._register(new be),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new be),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(e=null){if(this._deferredCnt--,this._deferredCnt===0&&this._deferredEvent!==null){this._deferredEvent.rawContentChangedEvent.resultingSelection=e;const t=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(t),this._slowEmitter.fire(t)}}fire(e){if(this._deferredCnt>0){this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(e):this._deferredEvent=e;return}this._fastEmitter.fire(e),this._slowEmitter.fire(e)}}class Awt{constructor(){this._onDidChangeVisibleRanges=new be,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set}attachView(){const e=new Gwt(t=>{this._onDidChangeVisibleRanges.fire({view:e,state:t})});return this._views.add(e),e}detachView(e){this._views.delete(e),this._onDidChangeVisibleRanges.fire({view:e,state:void 0})}}class Gwt{constructor(e){this.handleStateChange=e}setVisibleLines(e,t){const i=e.map(r=>new dn(r.startLineNumber,r.endLineNumber+1));this.handleStateChange({visibleLineRanges:i,stabilized:t})}}const Zt=Un("ILanguageFeaturesService");class k7{static create(e){return new k7(e.get(134),e.get(133))}constructor(e,t){this.classifier=new Xwt(e,t)}createLineBreaksComputer(e,t,i,r,o){const s=[],a=[],l=[];return{addRequest:(u,c,d)=>{s.push(u),a.push(c),l.push(d)},finalize:()=>{const u=e.typicalFullwidthCharacterWidth/e.typicalHalfwidthCharacterWidth,c=[];for(let d=0,h=s.length;d=0&&e<256?this._asciiMap[e]:e>=12352&&e<=12543||e>=13312&&e<=19903||e>=19968&&e<=40959?3:this._map.get(e)||this._defaultValue}}let N7=[],T7=[];function Pwt(n,e,t,i,r,o,s,a){if(r===-1)return null;const l=t.length;if(l<=1)return null;const u=a==="keepAll",c=e.breakOffsets,d=e.breakOffsetsVisibleColumn,h=fCe(t,i,r,o,s),m=r-h,f=N7,g=T7;let b=0,v=0,C=0,S=r;const x=c.length;let _=0;if(_>=0){let F=Math.abs(d[_]-S);for(;_+1=F)break;F=D,_++}}for(;_F&&(F=v,D=C);let M=0,T=0,Z=0,E=0;if(D<=S){let W=D,A=F===0?0:t.charCodeAt(F-1),z=F===0?0:n.get(A),O=!0;for(let B=F;Bv&&E7(A,z,H,k,u)&&(M=P,T=W),W+=X,W>S){P>v?(Z=P,E=W-X):(Z=B+1,E=W),W-T>m&&(M=0),O=!1;break}A=H,z=k}if(O){b>0&&(f[b]=c[c.length-1],g[b]=d[c.length-1],b++);break}}if(M===0){let W=D,A=t.charCodeAt(F),z=n.get(A),O=!1;for(let B=F-1;B>=v;B--){const P=B+1,H=t.charCodeAt(B);if(H===9){O=!0;break}let k,X;if(zv(H)?(B--,k=0,X=2):(k=n.get(H),X=Ob(H)?o:1),W<=S){if(Z===0&&(Z=P,E=W),W<=S-m)break;if(E7(H,k,A,z,u)){M=P,T=W;break}}W-=X,A=H,z=k}if(M!==0){const B=m-(E-T);if(B<=i){const P=t.charCodeAt(Z);let H;os(P)?H=2:H=xD(P,E,i,o),B-H<0&&(M=0)}}if(O){_--;continue}}if(M===0&&(M=Z,T=E),M<=v){const W=t.charCodeAt(v);os(W)?(M=v+2,T=C+2):(M=v+1,T=C+xD(W,C,i,o))}for(v=M,f[b]=M,C=T,g[b]=T,b++,S=T+m;_<0||_=R)break;R=W,_++}}return b===0?null:(f.length=b,g.length=b,N7=e.breakOffsets,T7=e.breakOffsetsVisibleColumn,e.breakOffsets=f,e.breakOffsetsVisibleColumn=g,e.wrappedTextIndentLength=h,e)}function Owt(n,e,t,i,r,o,s,a){const l=Ph.applyInjectedText(e,t);let u,c;if(t&&t.length>0?(u=t.map(T=>T.options),c=t.map(T=>T.column-1)):(u=null,c=null),r===-1)return u?new aD(c,u,[l.length],[],0):null;const d=l.length;if(d<=1)return u?new aD(c,u,[l.length],[],0):null;const h=a==="keepAll",m=fCe(l,i,r,o,s),f=r-m,g=[],b=[];let v=0,C=0,S=0,x=r,_=l.charCodeAt(0),F=n.get(_),D=xD(_,0,i,o),M=1;os(_)&&(D+=1,_=l.charCodeAt(1),F=n.get(_),M++);for(let T=M;Tx&&((C===0||D-S>f)&&(C=Z,S=D-W),g[v]=C,b[v]=S,v++,x=S+f,C=0),_=E,F=R}return v===0&&(!t||t.length===0)?null:(g[v]=d,b[v]=D,new aD(c,u,g,b,m))}function xD(n,e,t,i){return n===9?t-e%t:Ob(n)||n<32?i:1}function mCe(n,e){return e-n%e}function E7(n,e,t,i,r){return t!==32&&(e===2&&i!==2||e!==1&&i===1||!r&&e===3&&i!==2||!r&&i===3&&e!==1)}function fCe(n,e,t,i,r){let o=0;if(r!==0){const s=_a(n);if(s!==-1){for(let l=0;lt&&(o=0)}}return o}class UW{constructor(e){this._selTrackedRange=null,this._trackSelection=!0,this._setState(e,new ks(new J(1,1,1,1),0,0,new ye(1,1),0),new ks(new J(1,1,1,1),0,0,new ye(1,1),0))}dispose(e){this._removeTrackedRange(e)}startTrackingSelection(e){this._trackSelection=!0,this._updateTrackedRange(e)}stopTrackingSelection(e){this._trackSelection=!1,this._removeTrackedRange(e)}_updateTrackedRange(e){this._trackSelection&&(this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,0))}_removeTrackedRange(e){this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,null,0)}asCursorState(){return new si(this.modelState,this.viewState)}readSelectionFromMarkers(e){const t=e.model._getTrackedRange(this._selTrackedRange);return this.modelState.selection.isEmpty()&&!t.isEmpty()?Wt.fromRange(t.collapseToEnd(),this.modelState.selection.getDirection()):Wt.fromRange(t,this.modelState.selection.getDirection())}ensureValidState(e){this._setState(e,this.modelState,this.viewState)}setState(e,t,i){this._setState(e,t,i)}static _validatePositionWithCache(e,t,i,r){return t.equals(i)?r:e.normalizePosition(t,2)}static _validateViewState(e,t){const i=t.position,r=t.selectionStart.getStartPosition(),o=t.selectionStart.getEndPosition(),s=e.normalizePosition(i,2),a=this._validatePositionWithCache(e,r,i,s),l=this._validatePositionWithCache(e,o,r,a);return i.equals(s)&&r.equals(a)&&o.equals(l)?t:new ks(J.fromPositions(a,l),t.selectionStartKind,t.selectionStartLeftoverVisibleColumns+r.column-a.column,s,t.leftoverVisibleColumns+i.column-s.column)}_setState(e,t,i){if(i&&(i=UW._validateViewState(e.viewModel,i)),t){const r=e.model.validateRange(t.selectionStart),o=t.selectionStart.equalsRange(r)?t.selectionStartLeftoverVisibleColumns:0,s=e.model.validatePosition(t.position),a=t.position.equals(s)?t.leftoverVisibleColumns:0;t=new ks(r,t.selectionStartKind,o,s,a)}else{if(!i)return;const r=e.model.validateRange(e.coordinatesConverter.convertViewRangeToModelRange(i.selectionStart)),o=e.model.validatePosition(e.coordinatesConverter.convertViewPositionToModelPosition(i.position));t=new ks(r,i.selectionStartKind,i.selectionStartLeftoverVisibleColumns,o,i.leftoverVisibleColumns)}if(i){const r=e.coordinatesConverter.validateViewRange(i.selectionStart,t.selectionStart),o=e.coordinatesConverter.validateViewPosition(i.position,t.position);i=new ks(r,t.selectionStartKind,t.selectionStartLeftoverVisibleColumns,o,t.leftoverVisibleColumns)}else{const r=e.coordinatesConverter.convertModelPositionToViewPosition(new ye(t.selectionStart.startLineNumber,t.selectionStart.startColumn)),o=e.coordinatesConverter.convertModelPositionToViewPosition(new ye(t.selectionStart.endLineNumber,t.selectionStart.endColumn)),s=new J(r.lineNumber,r.column,o.lineNumber,o.column),a=e.coordinatesConverter.convertModelPositionToViewPosition(t.position);i=new ks(s,t.selectionStartKind,t.selectionStartLeftoverVisibleColumns,a,t.leftoverVisibleColumns)}this.modelState=t,this.viewState=i,this._updateTrackedRange(e)}}class gCe{constructor(e){this.context=e,this.cursors=[new UW(e)],this.lastAddedCursorIndex=0}dispose(){for(const e of this.cursors)e.dispose(this.context)}startTrackingSelections(){for(const e of this.cursors)e.startTrackingSelection(this.context)}stopTrackingSelections(){for(const e of this.cursors)e.stopTrackingSelection(this.context)}updateContext(e){this.context=e}ensureValidState(){for(const e of this.cursors)e.ensureValidState(this.context)}readSelectionFromMarkers(){return this.cursors.map(e=>e.readSelectionFromMarkers(this.context))}getAll(){return this.cursors.map(e=>e.asCursorState())}getViewPositions(){return this.cursors.map(e=>e.viewState.position)}getTopMostViewPosition(){return yyt(this.cursors,Ec(e=>e.viewState.position,ye.compare)).viewState.position}getBottomMostViewPosition(){return vyt(this.cursors,Ec(e=>e.viewState.position,ye.compare)).viewState.position}getSelections(){return this.cursors.map(e=>e.modelState.selection)}getViewSelections(){return this.cursors.map(e=>e.viewState.selection)}setSelections(e){this.setStates(si.fromModelSelections(e))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(e){e!==null&&(this.cursors[0].setState(this.context,e[0].modelState,e[0].viewState),this._setSecondaryStates(e.slice(1)))}_setSecondaryStates(e){const t=this.cursors.length-1,i=e.length;if(ti){const r=t-i;for(let o=0;o=e+1&&this.lastAddedCursorIndex--,this.cursors[e+1].dispose(this.context),this.cursors.splice(e+1,1)}normalize(){if(this.cursors.length===1)return;const e=this.cursors.slice(0),t=[];for(let i=0,r=e.length;ii.selection,J.compareRangesUsingStarts));for(let i=0;id&&g.index--;e.splice(d,1),t.splice(c,1),this._removeSecondaryCursor(d-1),i--}}}}class pCe{constructor(e,t,i,r){this._cursorContextBrand=void 0,this.model=e,this.viewModel=t,this.coordinatesConverter=i,this.cursorConfig=r}}class Bwt{constructor(){this.type=0}}class zwt{constructor(){this.type=1}}class Hwt{constructor(e){this.type=2,this._source=e}hasChanged(e){return this._source.hasChanged(e)}}class Ywt{constructor(e,t,i){this.selections=e,this.modelSelections=t,this.reason=i,this.type=3}}class xy{constructor(e){this.type=4,e?(this.affectsMinimap=e.affectsMinimap,this.affectsOverviewRuler=e.affectsOverviewRuler,this.affectsGlyphMargin=e.affectsGlyphMargin,this.affectsLineNumber=e.affectsLineNumber):(this.affectsMinimap=!0,this.affectsOverviewRuler=!0,this.affectsGlyphMargin=!0,this.affectsLineNumber=!0)}}class KW{constructor(){this.type=5}}class Uwt{constructor(e){this.type=6,this.isFocused=e}}class Kwt{constructor(){this.type=7}}class JW{constructor(){this.type=8}}class bCe{constructor(e,t){this.fromLineNumber=e,this.count=t,this.type=9}}class Z7{constructor(e,t){this.type=10,this.fromLineNumber=e,this.toLineNumber=t}}class W7{constructor(e,t){this.type=11,this.fromLineNumber=e,this.toLineNumber=t}}class LD{constructor(e,t,i,r,o,s,a){this.source=e,this.minimalReveal=t,this.range=i,this.selections=r,this.verticalType=o,this.revealHorizontal=s,this.scrollType=a,this.type=12}}class Jwt{constructor(e){this.type=13,this.scrollWidth=e.scrollWidth,this.scrollLeft=e.scrollLeft,this.scrollHeight=e.scrollHeight,this.scrollTop=e.scrollTop,this.scrollWidthChanged=e.scrollWidthChanged,this.scrollLeftChanged=e.scrollLeftChanged,this.scrollHeightChanged=e.scrollHeightChanged,this.scrollTopChanged=e.scrollTopChanged}}class jwt{constructor(e){this.theme=e,this.type=14}}class Qwt{constructor(e){this.type=15,this.ranges=e}}class $wt{constructor(){this.type=16}}let qwt=class{constructor(){this.type=17}};class eSt extends Ie{constructor(){super(),this._onEvent=this._register(new be),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(e){this._addOutgoingEvent(e),this._emitOutgoingEvents()}_addOutgoingEvent(e){for(let t=0,i=this._outgoingEvents.length;t0;){if(this._collector||this._isConsumingViewEventQueue)return;const e=this._outgoingEvents.shift();e.isNoOp()||this._onEvent.fire(e)}}addViewEventHandler(e){for(let t=0,i=this._eventHandlers.length;t0&&this._emitMany(t)}this._emitOutgoingEvents()}emitSingleViewEvent(e){try{this.beginEmitViewEvents().emitViewEvent(e)}finally{this.endEmitViewEvents()}}_emitMany(e){this._viewEventQueue?this._viewEventQueue=this._viewEventQueue.concat(e):this._viewEventQueue=e,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){const e=this._viewEventQueue;this._viewEventQueue=null;const t=this._eventHandlers.slice(0);for(const i of t)i.handleEvents(e)}}}class tSt{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(e){this.viewEvents.push(e)}emitOutgoingEvent(e){this.outgoingEvents.push(e)}}class R7{constructor(e,t,i,r){this.kind=0,this._oldContentWidth=e,this._oldContentHeight=t,this.contentWidth=i,this.contentHeight=r,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(e){return e.kind!==this.kind?null:new R7(this._oldContentWidth,this._oldContentHeight,e.contentWidth,e.contentHeight)}}class V7{constructor(e,t){this.kind=1,this.oldHasFocus=e,this.hasFocus=t}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(e){return e.kind!==this.kind?null:new V7(this.oldHasFocus,e.hasFocus)}}class A7{constructor(e,t,i,r,o,s,a,l){this.kind=2,this._oldScrollWidth=e,this._oldScrollLeft=t,this._oldScrollHeight=i,this._oldScrollTop=r,this.scrollWidth=o,this.scrollLeft=s,this.scrollHeight=a,this.scrollTop=l,this.scrollWidthChanged=this._oldScrollWidth!==this.scrollWidth,this.scrollLeftChanged=this._oldScrollLeft!==this.scrollLeft,this.scrollHeightChanged=this._oldScrollHeight!==this.scrollHeight,this.scrollTopChanged=this._oldScrollTop!==this.scrollTop}isNoOp(){return!this.scrollWidthChanged&&!this.scrollLeftChanged&&!this.scrollHeightChanged&&!this.scrollTopChanged}attemptToMerge(e){return e.kind!==this.kind?null:new A7(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop)}}class nSt{constructor(){this.kind=3}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class iSt{constructor(){this.kind=4}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class jW{constructor(e,t,i,r,o,s,a){this.kind=6,this.oldSelections=e,this.selections=t,this.oldModelVersionId=i,this.modelVersionId=r,this.source=o,this.reason=s,this.reachedMaxCursorCount=a}static _selectionsAreEqual(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;const i=e.length,r=t.length;if(i!==r)return!1;for(let o=0;o0){const e=this._cursors.getSelections();for(let t=0;ts&&(r=r.slice(0,s),o=!0);const a=_D.from(this._model,this);return this._cursors.setStates(r),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,t,i,a,o)}setCursorColumnSelectData(e){this._columnSelectData=e}revealAll(e,t,i,r,o,s){const a=this._cursors.getViewPositions();let l=null,u=null;a.length>1?u=this._cursors.getViewSelections():l=J.fromPositions(a[0],a[0]),e.emitViewEvent(new LD(t,i,l,u,r,o,s))}revealPrimary(e,t,i,r,o,s){const l=[this._cursors.getPrimaryCursor().viewState.selection];e.emitViewEvent(new LD(t,i,null,l,r,o,s))}saveState(){const e=[],t=this._cursors.getSelections();for(let i=0,r=t.length;i0){const o=si.fromModelSelections(i.resultingSelection);this.setStates(e,"modelChange",i.isUndoing?5:i.isRedoing?6:2,o)&&this.revealAll(e,"modelChange",!1,0,!0,0)}else{const o=this._cursors.readSelectionFromMarkers();this.setStates(e,"modelChange",2,si.fromModelSelections(o))}}}getSelection(){return this._cursors.getPrimaryCursor().modelState.selection}getTopMostViewPosition(){return this._cursors.getTopMostViewPosition()}getBottomMostViewPosition(){return this._cursors.getBottomMostViewPosition()}getCursorColumnSelectData(){if(this._columnSelectData)return this._columnSelectData;const e=this._cursors.getPrimaryCursor(),t=e.viewState.selectionStart.getStartPosition(),i=e.viewState.position;return{isReal:!1,fromViewLineNumber:t.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,t),toViewLineNumber:i.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,i)}}getSelections(){return this._cursors.getSelections()}setSelections(e,t,i,r){this.setStates(e,t,r,si.fromModelSelections(i))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(e){this._prevEditOperationType=e}_pushAutoClosedAction(e,t){const i=[],r=[];for(let a=0,l=e.length;a0&&this._pushAutoClosedAction(i,r),this._prevEditOperationType=e.type}e.shouldPushStackElementAfter&&this._model.pushStackElement()}_interpretCommandResult(e){(!e||e.length===0)&&(e=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(e),this._cursors.normalize()}_emitStateChangedIfNecessary(e,t,i,r,o){const s=_D.from(this._model,this);if(s.equals(r))return!1;const a=this._cursors.getSelections(),l=this._cursors.getViewSelections();if(e.emitViewEvent(new Ywt(l,a,i)),!r||r.cursorState.length!==s.cursorState.length||s.cursorState.some((u,c)=>!u.modelState.equals(r.cursorState[c].modelState))){const u=r?r.cursorState.map(d=>d.modelState.selection):null,c=r?r.modelVersionId:0;e.emitOutgoingEvent(new jW(u,a,c,s.modelVersionId,t||"keyboard",i,o))}return!0}_findAutoClosingPairs(e){if(!e.length)return null;const t=[];for(let i=0,r=e.length;i=0)return null;const s=o.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!s)return null;const a=s[1],l=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(a);if(!l||l.length!==1)return null;const u=l[0].open,c=o.text.length-s[2].length-1,d=o.text.lastIndexOf(u,c-1);if(d===-1)return null;t.push([d,c])}return t}executeEdits(e,t,i,r){let o=null;t==="snippet"&&(o=this._findAutoClosingPairs(i)),o&&(i[0]._isTracked=!0);const s=[],a=[],l=this._model.pushEditOperations(this.getSelections(),i,u=>{if(o)for(let d=0,h=o.length;d0&&this._pushAutoClosedAction(s,a)}_executeEdit(e,t,i,r=0){if(this.context.cursorConfig.readOnly)return;const o=_D.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),e()}catch(s){vn(s)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,i,r,o,!1)&&this.revealAll(t,i,!1,0,!0,0)}getAutoClosedCharacters(){return vCe.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(e){this._compositionState=new FD(this._model,this.getSelections())}endComposition(e,t){const i=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit(()=>{t==="keyboard"&&this._executeEditOperation(Nr.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,i,this.getSelections(),this.getAutoClosedCharacters()))},e,t)}type(e,t,i){this._executeEdit(()=>{if(i==="keyboard"){const r=t.length;let o=0;for(;o{const u=l.getPosition();return new Wt(u.lineNumber,u.column+o,u.lineNumber,u.column+o)});this.setSelections(e,s,a,0)}return}this._executeEdit(()=>{this._executeEditOperation(Nr.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t,i,r,o))},e,s)}paste(e,t,i,r,o){this._executeEdit(()=>{this._executeEditOperation(Nr.paste(this.context.cursorConfig,this._model,this.getSelections(),t,i,r||[]))},e,o,4)}cut(e,t){this._executeEdit(()=>{this._executeEditOperation(ny.cut(this.context.cursorConfig,this._model,this.getSelections()))},e,t)}executeCommand(e,t,i){this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new Wl(0,[t],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},e,i)}executeCommands(e,t,i){this._executeEdit(()=>{this._executeEditOperation(new Wl(0,t,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},e,i)}}class _D{static from(e,t){return new _D(e.getVersionId(),t.getCursorStates())}constructor(e,t){this.modelVersionId=e,this.cursorState=t}equals(e){if(!e||this.modelVersionId!==e.modelVersionId||this.cursorState.length!==e.cursorState.length)return!1;for(let t=0,i=this.cursorState.length;t=t.length||!t[i].strictContainsRange(e[i]))return!1;return!0}}class hSt{static executeCommands(e,t,i){const r={model:e,selectionsBefore:t,trackedRanges:[],trackedRangesDirection:[]},o=this._innerExecuteCommands(r,i);for(let s=0,a=r.trackedRanges.length;s0&&(s[0]._isTracked=!0);let a=e.model.pushEditOperations(e.selectionsBefore,s,u=>{const c=[];for(let m=0;mm.identifier.minor-f.identifier.minor,h=[];for(let m=0;m0?(c[m].sort(d),h[m]=t[m].computeCursorState(e.model,{getInverseEditOperations:()=>c[m],getTrackedSelection:f=>{const g=parseInt(f,10),b=e.model._getTrackedRange(e.trackedRanges[g]);return e.trackedRangesDirection[g]===0?new Wt(b.startLineNumber,b.startColumn,b.endLineNumber,b.endColumn):new Wt(b.endLineNumber,b.endColumn,b.startLineNumber,b.startColumn)}})):h[m]=e.selectionsBefore[m];return h});a||(a=e.selectionsBefore);const l=[];for(const u in o)o.hasOwnProperty(u)&&l.push(parseInt(u,10));l.sort((u,c)=>c-u);for(const u of l)a.splice(u,1);return a}static _arrayIsEmpty(e){for(let t=0,i=e.length;t{J.isEmpty(d)&&h===""||r.push({identifier:{major:t,minor:o++},range:d,text:h,forceMoveMarkers:m,isAutoWhitespaceEdit:i.insertsAutoWhitespace})};let a=!1;const c={addEditOperation:s,addTrackedEditOperation:(d,h,m)=>{a=!0,s(d,h,m)},trackSelection:(d,h)=>{const m=Wt.liftSelection(d);let f;if(m.isEmpty())if(typeof h=="boolean")h?f=2:f=3;else{const v=e.model.getLineMaxColumn(m.startLineNumber);m.startColumn===v?f=2:f=3}else f=1;const g=e.trackedRanges.length,b=e.model._setTrackedRange(null,m,f);return e.trackedRanges[g]=b,e.trackedRangesDirection[g]=m.getDirection(),g.toString()}};try{i.getEditOperations(e.model,c)}catch(d){return vn(d),{operations:[],hadTrackedEditOperation:!1}}return{operations:r,hadTrackedEditOperation:a}}static _getLoserCursorMap(e){e=e.slice(0),e.sort((i,r)=>-J.compareRangesUsingEnds(i.range,r.range));const t={};for(let i=1;io.identifier.major?s=r.identifier.major:s=o.identifier.major,t[s.toString()]=!0;for(let a=0;a0&&i--}}return t}}class mSt{constructor(e,t,i){this.text=e,this.startSelection=t,this.endSelection=i}}class FD{static _capture(e,t){const i=[];for(const r of t){if(r.startLineNumber!==r.endLineNumber)return null;i.push(new mSt(e.getLineContent(r.startLineNumber),r.startColumn-1,r.endColumn-1))}return i}constructor(e,t){this._original=FD._capture(e,t)}deduceOutcome(e,t){if(!this._original)return null;const i=FD._capture(e,t);if(!i||this._original.length!==i.length)return null;const r=[];for(let o=0,s=this._original.length;oyD,tokenizeEncoded:(n,e,t)=>x7(0,t)};async function fSt(n,e,t){if(!t)return CCe(e,n.languageIdCodec,yCe);const i=await bo.getOrCreate(t);return CCe(e,n.languageIdCodec,i||yCe)}function gSt(n,e,t,i,r,o,s){let a="
",l=i,u=0,c=!0;for(let d=0,h=e.getCount();d0;)s&&c?(f+=" ",c=!1):(f+=" ",c=!0),b--;break}case 60:f+="<",c=!1;break;case 62:f+=">",c=!1;break;case 38:f+="&",c=!1;break;case 0:f+="�",c=!1;break;case 65279:case 8232:case 8233:case 133:f+="�",c=!1;break;case 13:f+="​",c=!1;break;case 32:s&&c?(f+=" ",c=!1):(f+=" ",c=!0);break;default:f+=String.fromCharCode(g),c=!1}}if(a+=`${f}`,m>r||l>=r)break}return a+="
",a}function CCe(n,e,t){let i='
';const r=Pm(n);let o=t.getInitialState();for(let s=0,a=r.length;s0&&(i+="
");const u=t.tokenizeEncoded(l,!0,o);ls.convertToEndOffset(u.tokens,l.length);const d=new ls(u.tokens,l,e).inflate();let h=0;for(let m=0,f=d.getCount();m${zZ(l.substring(h,b))}`,h=b}o=u.endState}return i+="
",i}class pSt{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(e){this._hasPending=!0,this._inserts.push(e)}change(e){this._hasPending=!0,this._changes.push(e)}remove(e){this._hasPending=!0,this._removes.push(e)}mustCommit(){return this._hasPending}commit(e){if(!this._hasPending)return;const t=this._inserts,i=this._changes,r=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],e._commitPendingChanges(t,i,r)}}class bSt{constructor(e,t,i,r,o){this.id=e,this.afterLineNumber=t,this.ordinal=i,this.height=r,this.minWidth=o,this.prefixSum=0}}let wCe=class zee{constructor(e,t,i,r){this._instanceId=l0e(++zee.INSTANCE_COUNT),this._pendingChanges=new pSt,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=e,this._lineHeight=t,this._paddingTop=i,this._paddingBottom=r}static findInsertionIndex(e,t,i){let r=0,o=e.length;for(;r>>1;t===e[s].afterLineNumber?i{t=!0,r=r|0,o=o|0,s=s|0,a=a|0;const l=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new bSt(l,r,o,s,a)),l},changeOneWhitespace:(r,o,s)=>{t=!0,o=o|0,s=s|0,this._pendingChanges.change({id:r,newAfterLineNumber:o,newHeight:s})},removeWhitespace:r=>{t=!0,this._pendingChanges.remove({id:r})}})}finally{this._pendingChanges.commit(this)}return t}_commitPendingChanges(e,t,i){if((e.length>0||i.length>0)&&(this._minWidth=-1),e.length+t.length+i.length<=1){for(const l of e)this._insertWhitespace(l);for(const l of t)this._changeOneWhitespace(l.id,l.newAfterLineNumber,l.newHeight);for(const l of i){const u=this._findWhitespaceIndex(l.id);u!==-1&&this._removeWhitespace(u)}return}const r=new Set;for(const l of i)r.add(l.id);const o=new Map;for(const l of t)o.set(l.id,l);const s=l=>{const u=[];for(const c of l)if(!r.has(c.id)){if(o.has(c.id)){const d=o.get(c.id);c.afterLineNumber=d.newAfterLineNumber,c.height=d.newHeight}u.push(c)}return u},a=s(this._arr).concat(s(e));a.sort((l,u)=>l.afterLineNumber===u.afterLineNumber?l.ordinal-u.ordinal:l.afterLineNumber-u.afterLineNumber),this._arr=a,this._prefixSumValidIndex=-1}_checkPendingChanges(){this._pendingChanges.mustCommit()&&this._pendingChanges.commit(this)}_insertWhitespace(e){const t=zee.findInsertionIndex(this._arr,e.afterLineNumber,e.ordinal);this._arr.splice(t,0,e),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,t-1)}_findWhitespaceIndex(e){const t=this._arr;for(let i=0,r=t.length;it&&(this._arr[i].afterLineNumber-=t-e+1)}}onLinesInserted(e,t){this._checkPendingChanges(),e=e|0,t=t|0,this._lineCount+=t-e+1;for(let i=0,r=this._arr.length;i=t.length||t[a+1].afterLineNumber>=e)return a;i=a+1|0}else r=a-1|0}return-1}_findFirstWhitespaceAfterLineNumber(e){e=e|0;const i=this._findLastWhitespaceBeforeLineNumber(e)+1;return i1?i=this._lineHeight*(e-1):i=0;const r=this.getWhitespaceAccumulatedHeightBeforeLineNumber(e-(t?1:0));return i+r+this._paddingTop}getVerticalOffsetAfterLineNumber(e,t=!1){this._checkPendingChanges(),e=e|0;const i=this._lineHeight*e,r=this.getWhitespaceAccumulatedHeightBeforeLineNumber(e+(t?1:0));return i+r+this._paddingTop}getWhitespaceMinWidth(){if(this._checkPendingChanges(),this._minWidth===-1){let e=0;for(let t=0,i=this._arr.length;tt}isInTopPadding(e){return this._paddingTop===0?!1:(this._checkPendingChanges(),e=t-this._paddingBottom}getLineNumberAtOrAfterVerticalOffset(e){if(this._checkPendingChanges(),e=e|0,e<0)return 1;const t=this._lineCount|0,i=this._lineHeight;let r=1,o=t;for(;r=a+i)r=s+1;else{if(e>=a)return s;o=s}}return r>t?t:r}getLinesViewportData(e,t){this._checkPendingChanges(),e=e|0,t=t|0;const i=this._lineHeight,r=this.getLineNumberAtOrAfterVerticalOffset(e)|0,o=this.getVerticalOffsetForLineNumber(r)|0;let s=this._lineCount|0,a=this.getFirstWhitespaceIndexAfterLineNumber(r)|0;const l=this.getWhitespacesCount()|0;let u,c;a===-1?(a=l,c=s+1,u=0):(c=this.getAfterLineNumberForWhitespaceIndex(a)|0,u=this.getHeightForWhitespaceIndex(a)|0);let d=o,h=d;const m=5e5;let f=0;o>=m&&(f=Math.floor(o/m)*m,f=Math.floor(f/i)*i,h-=f);const g=[],b=e+(t-e)/2;let v=-1;for(let _=r;_<=s;_++){if(v===-1){const F=d,D=d+i;(F<=b&&bb)&&(v=_)}for(d+=i,g[_-r]=h,h+=i;c===_;)h+=u,d+=u,a++,a>=l?c=s+1:(c=this.getAfterLineNumberForWhitespaceIndex(a)|0,u=this.getHeightForWhitespaceIndex(a)|0);if(d>=t){s=_;break}}v===-1&&(v=s);const C=this.getVerticalOffsetForLineNumber(s)|0;let S=r,x=s;return St&&x--,{bigNumbersDelta:f,startLineNumber:r,endLineNumber:s,relativeVerticalOffset:g,centeredLineNumber:v,completelyVisibleStartLineNumber:S,completelyVisibleEndLineNumber:x,lineHeight:this._lineHeight}}getVerticalOffsetForWhitespaceIndex(e){this._checkPendingChanges(),e=e|0;const t=this.getAfterLineNumberForWhitespaceIndex(e);let i;t>=1?i=this._lineHeight*t:i=0;let r;return e>0?r=this.getWhitespacesAccumulatedHeight(e-1):r=0,i+r+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(e){this._checkPendingChanges(),e=e|0;let t=0,i=this.getWhitespacesCount()-1;if(i<0)return-1;const r=this.getVerticalOffsetForWhitespaceIndex(i),o=this.getHeightForWhitespaceIndex(i);if(e>=r+o)return-1;for(;t=a+l)t=s+1;else{if(e>=a)return s;i=s}}return t}getWhitespaceAtVerticalOffset(e){this._checkPendingChanges(),e=e|0;const t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0||t>=this.getWhitespacesCount())return null;const i=this.getVerticalOffsetForWhitespaceIndex(t);if(i>e)return null;const r=this.getHeightForWhitespaceIndex(t),o=this.getIdForWhitespaceIndex(t),s=this.getAfterLineNumberForWhitespaceIndex(t);return{id:o,afterLineNumber:s,verticalOffset:i,height:r}}getWhitespaceViewportData(e,t){this._checkPendingChanges(),e=e|0,t=t|0;const i=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),r=this.getWhitespacesCount()-1;if(i<0)return[];const o=[];for(let s=i;s<=r;s++){const a=this.getVerticalOffsetForWhitespaceIndex(s),l=this.getHeightForWhitespaceIndex(s);if(a>=t)break;o.push({id:this.getIdForWhitespaceIndex(s),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(s),verticalOffset:a,height:l})}return o}getWhitespaces(){return this._checkPendingChanges(),this._arr.slice(0)}getWhitespacesCount(){return this._checkPendingChanges(),this._arr.length}getIdForWhitespaceIndex(e){return this._checkPendingChanges(),e=e|0,this._arr[e].id}getAfterLineNumberForWhitespaceIndex(e){return this._checkPendingChanges(),e=e|0,this._arr[e].afterLineNumber}getHeightForWhitespaceIndex(e){return this._checkPendingChanges(),e=e|0,this._arr[e].height}};wCe.INSTANCE_COUNT=0;const vSt=125;class ID{constructor(e,t,i,r){e=e|0,t=t|0,i=i|0,r=r|0,e<0&&(e=0),t<0&&(t=0),i<0&&(i=0),r<0&&(r=0),this.width=e,this.contentWidth=t,this.scrollWidth=Math.max(e,t),this.height=i,this.contentHeight=r,this.scrollHeight=Math.max(i,r)}equals(e){return this.width===e.width&&this.contentWidth===e.contentWidth&&this.height===e.height&&this.contentHeight===e.contentHeight}}class ySt extends Ie{constructor(e,t){super(),this._onDidContentSizeChange=this._register(new be),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new ID(0,0,0,0),this._scrollable=this._register(new o2({forceIntegerValues:!0,smoothScrollDuration:e,scheduleAtNextAnimationFrame:t})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(e){this._scrollable.setSmoothScrollDuration(e)}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}getScrollDimensions(){return this._dimensions}setScrollDimensions(e){if(this._dimensions.equals(e))return;const t=this._dimensions;this._dimensions=e,this._scrollable.setScrollDimensions({width:e.width,scrollWidth:e.scrollWidth,height:e.height,scrollHeight:e.scrollHeight},!0);const i=t.contentWidth!==e.contentWidth,r=t.contentHeight!==e.contentHeight;(i||r)&&this._onDidContentSizeChange.fire(new R7(t.contentWidth,t.contentHeight,e.contentWidth,e.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(e){this._scrollable.setScrollPositionNow(e)}setScrollPositionSmooth(e){this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}}class CSt extends Ie{constructor(e,t,i){super(),this._configuration=e;const r=this._configuration.options,o=r.get(145),s=r.get(84);this._linesLayout=new wCe(t,r.get(67),s.top,s.bottom),this._maxLineWidth=0,this._overlayWidgetsMinWidth=0,this._scrollable=this._register(new ySt(0,i)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new ID(o.contentWidth,0,o.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}dispose(){super.dispose()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(114)?vSt:0)}onConfigurationChanged(e){const t=this._configuration.options;if(e.hasChanged(67)&&this._linesLayout.setLineHeight(t.get(67)),e.hasChanged(84)){const i=t.get(84);this._linesLayout.setPadding(i.top,i.bottom)}if(e.hasChanged(145)){const i=t.get(145),r=i.contentWidth,o=i.height,s=this._scrollable.getScrollDimensions(),a=s.contentWidth;this._scrollable.setScrollDimensions(new ID(r,s.contentWidth,o,this._getContentHeight(r,o,a)))}else this._updateHeight();e.hasChanged(114)&&this._configureSmoothScrollDuration()}onFlushed(e){this._linesLayout.onFlushed(e)}onLinesDeleted(e,t){this._linesLayout.onLinesDeleted(e,t)}onLinesInserted(e,t){this._linesLayout.onLinesInserted(e,t)}_getHorizontalScrollbarHeight(e,t){const r=this._configuration.options.get(103);return r.horizontal===2||e>=t?0:r.horizontalScrollbarSize}_getContentHeight(e,t,i){const r=this._configuration.options;let o=this._linesLayout.getLinesTotalHeight();return r.get(105)?o+=Math.max(0,t-r.get(67)-r.get(84).bottom):r.get(103).ignoreHorizontalScrollbarInContentHeight||(o+=this._getHorizontalScrollbarHeight(e,i)),o}_updateHeight(){const e=this._scrollable.getScrollDimensions(),t=e.width,i=e.height,r=e.contentWidth;this._scrollable.setScrollDimensions(new ID(t,e.contentWidth,i,this._getContentHeight(t,i,r)))}getCurrentViewport(){const e=this._scrollable.getScrollDimensions(),t=this._scrollable.getCurrentScrollPosition();return new aye(t.scrollTop,t.scrollLeft,e.width,e.height)}getFutureViewport(){const e=this._scrollable.getScrollDimensions(),t=this._scrollable.getFutureScrollPosition();return new aye(t.scrollTop,t.scrollLeft,e.width,e.height)}_computeContentWidth(){const e=this._configuration.options,t=this._maxLineWidth,i=e.get(146),r=e.get(50),o=e.get(145);if(i.isViewportWrapping){const s=e.get(73);return t>o.contentWidth+r.typicalHalfwidthCharacterWidth&&s.enabled&&s.side==="right"?t+o.verticalScrollbarWidth:t}else{const s=e.get(104)*r.typicalHalfwidthCharacterWidth,a=this._linesLayout.getWhitespaceMinWidth();return Math.max(t+s+o.verticalScrollbarWidth,a,this._overlayWidgetsMinWidth)}}setMaxLineWidth(e){this._maxLineWidth=e,this._updateContentWidth()}setOverlayWidgetsMinWidth(e){this._overlayWidgetsMinWidth=e,this._updateContentWidth()}_updateContentWidth(){const e=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new ID(e.width,this._computeContentWidth(),e.height,e.contentHeight)),this._updateHeight()}saveState(){const e=this._scrollable.getFutureScrollPosition(),t=e.scrollTop,i=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t),r=this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(i);return{scrollTop:t,scrollTopWithoutViewZones:t-r,scrollLeft:e.scrollLeft}}changeWhitespace(e){const t=this._linesLayout.changeWhitespace(e);return t&&this.onHeightMaybeChanged(),t}getVerticalOffsetForLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetForLineNumber(e,t)}getVerticalOffsetAfterLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetAfterLineNumber(e,t)}isAfterLines(e){return this._linesLayout.isAfterLines(e)}isInTopPadding(e){return this._linesLayout.isInTopPadding(e)}isInBottomPadding(e){return this._linesLayout.isInBottomPadding(e)}getLineNumberAtVerticalOffset(e){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)}getWhitespaceAtVerticalOffset(e){return this._linesLayout.getWhitespaceAtVerticalOffset(e)}getLinesViewportData(){const e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)}getLinesViewportDataAtScrollTop(e){const t=this._scrollable.getScrollDimensions();return e+t.height>t.scrollHeight&&(e=t.scrollHeight-t.height),e<0&&(e=0),this._linesLayout.getLinesViewportData(e,e+t.height)}getWhitespaceViewportData(){const e=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(e.top,e.top+e.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}setScrollPosition(e,t){t===1?this._scrollable.setScrollPositionNow(e):this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}deltaScrollNow(e,t){const i=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:i.scrollLeft+e,scrollTop:i.scrollTop+t})}}class wSt{constructor(e,t,i,r,o){this.editorId=e,this.model=t,this.configuration=i,this._linesCollection=r,this._coordinatesConverter=o,this._decorationsCache=Object.create(null),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}reset(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}_getOrCreateViewModelDecoration(e){const t=e.id;let i=this._decorationsCache[t];if(!i){const r=e.range,o=e.options;let s;if(o.isWholeLine){const a=this._coordinatesConverter.convertModelPositionToViewPosition(new ye(r.startLineNumber,1),0,!1,!0),l=this._coordinatesConverter.convertModelPositionToViewPosition(new ye(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber)),1);s=new J(a.lineNumber,a.column,l.lineNumber,l.column)}else s=this._coordinatesConverter.convertModelRangeToViewRange(r,1);i=new lye(s,o),this._decorationsCache[t]=i}return i}getMinimapDecorationsInRange(e){return this._getDecorationsInRange(e,!0,!1).decorations}getDecorationsViewportData(e){let t=this._cachedModelDecorationsResolver!==null;return t=t&&e.equalsRange(this._cachedModelDecorationsResolverViewRange),t||(this._cachedModelDecorationsResolver=this._getDecorationsInRange(e,!1,!1),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver}getInlineDecorationsOnLine(e,t=!1,i=!1){const r=new J(e,this._linesCollection.getViewLineMinColumn(e),e,this._linesCollection.getViewLineMaxColumn(e));return this._getDecorationsInRange(r,t,i).inlineDecorations[0]}_getDecorationsInRange(e,t,i){const r=this._linesCollection.getDecorationsInRange(e,this.editorId,$9(this.configuration.options),t,i),o=e.startLineNumber,s=e.endLineNumber,a=[];let l=0;const u=[];for(let c=o;c<=s;c++)u[c-o]=[];for(let c=0,d=r.length;ct===1)}function P7(n,e){return SCe(n,e.range,t=>t===2)}function SCe(n,e,t){for(let i=e.startLineNumber;i<=e.endLineNumber;i++){const r=n.tokenization.getLineTokens(i),o=i===e.startLineNumber,s=i===e.endLineNumber;let a=o?r.findTokenIndexAtOffset(e.startColumn-1):0;for(;ae.endColumn-1);){if(!t(r.getStandardTokenType(a)))return!1;a++}}return!0}function O7(n,e){return n===null?e?QW.INSTANCE:$W.INSTANCE:new SSt(n,e)}class SSt{constructor(e,t){this._projectionData=e,this._isVisible=t}isVisible(){return this._isVisible}setVisible(e){return this._isVisible=e,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(e,t,i){this._assertVisible();const r=i>0?this._projectionData.breakOffsets[i-1]:0,o=this._projectionData.breakOffsets[i];let s;if(this._projectionData.injectionOffsets!==null){const a=this._projectionData.injectionOffsets.map((u,c)=>new Ph(0,0,u+1,this._projectionData.injectionOptions[c],0));s=Ph.applyInjectedText(e.getLineContent(t),a).substring(r,o)}else s=e.getValueInRange({startLineNumber:t,startColumn:r+1,endLineNumber:t,endColumn:o+1});return i>0&&(s=xCe(this._projectionData.wrappedTextIndentLength)+s),s}getViewLineLength(e,t,i){return this._assertVisible(),this._projectionData.getLineLength(i)}getViewLineMinColumn(e,t,i){return this._assertVisible(),this._projectionData.getMinOutputOffset(i)+1}getViewLineMaxColumn(e,t,i){return this._assertVisible(),this._projectionData.getMaxOutputOffset(i)+1}getViewLineData(e,t,i){const r=new Array;return this.getViewLinesData(e,t,i,1,0,[!0],r),r[0]}getViewLinesData(e,t,i,r,o,s,a){this._assertVisible();const l=this._projectionData,u=l.injectionOffsets,c=l.injectionOptions;let d=null;if(u){d=[];let m=0,f=0;for(let g=0;g0?l.breakOffsets[g-1]:0,C=l.breakOffsets[g];for(;fC)break;if(v<_){const F=c[f];if(F.inlineClassName){const D=g>0?l.wrappedTextIndentLength:0,M=D+Math.max(x-v,0),T=D+Math.min(_-v,C-v);M!==T&&b.push(new kyt(M,T,F.inlineClassName,F.inlineClassNameAffectsLetterSpacing))}}if(_<=C)m+=S,f++;else break}}}let h;u?h=e.tokenization.getLineTokens(t).withInserted(u.map((m,f)=>({offset:m,text:c[f].content,tokenMetadata:ls.defaultTokenMetadata}))):h=e.tokenization.getLineTokens(t);for(let m=i;m0?r.wrappedTextIndentLength:0,s=i>0?r.breakOffsets[i-1]:0,a=r.breakOffsets[i],l=e.sliceAndInflate(s,a,o);let u=l.getLineContent();i>0&&(u=xCe(r.wrappedTextIndentLength)+u);const c=this._projectionData.getMinOutputOffset(i)+1,d=u.length+1,h=i+1=B7.length)for(let e=1;e<=n;e++)B7[e]=xSt(e);return B7[n]}function xSt(n){return new Array(n+1).join(" ")}class LSt{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=MS(e);const i=this.values,r=this.prefixSum,o=t.length;return o===0?!1:(this.values=new Uint32Array(i.length+o),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e),e+o),this.values.set(t,e),e-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=MS(e),t=MS(t),this.values[e]===t?!1:(this.values[e]=t,e-1=i.length)return!1;const o=i.length-e;return t>=o&&(t=o),t===0?!1:(this.values=new Uint32Array(i.length-t),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=MS(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;t===0&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let i=t;i<=e;i++)this.prefixSum[i]=this.prefixSum[i-1]+this.values[i];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,i=this.values.length-1,r=0,o=0,s=0;for(;t<=i;)if(r=t+(i-t)/2|0,o=this.prefixSum[r],s=o-this.values[r],e=o)t=r+1;else break;return new LCe(r,e-s)}}class _St{constructor(e){this._values=e,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(e){return this._ensureValid(),e===0?0:this._prefixSum[e-1]}getIndexOf(e){this._ensureValid();const t=this._indexBySum[e],i=t>0?this._prefixSum[t-1]:0;return new LCe(t,e-i)}removeValues(e,t){this._values.splice(e,t),this._invalidate(e)}insertValues(e,t){this._values=W9(this._values,e,t),this._invalidate(e)}_invalidate(e){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,e-1)}_ensureValid(){if(!this._isValid){for(let e=this._validEndIndex+1,t=this._values.length;e0?this._prefixSum[e-1]:0;this._prefixSum[e]=r+i;for(let o=0;ov.lineNumber===g+1);s.addRequest(i[g],b,t?t[g]:null)}const l=s.finalize(),u=[],c=this.hiddenAreasDecorationIds.map(g=>this.model.getDecorationRange(g)).sort(J.compareRangesUsingStarts);let d=1,h=0,m=-1,f=m+1=d&&b<=h,C=O7(l[g],!v);u[g]=C.getViewLineCount(),this.modelLineProjections[g]=C}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new _St(u)}getHiddenAreas(){return this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e))}setHiddenAreas(e){const t=e.map(h=>this.model.validateRange(h)),i=ISt(t),r=this.hiddenAreasDecorationIds.map(h=>this.model.getDecorationRange(h)).sort(J.compareRangesUsingStarts);if(i.length===r.length){let h=!1;for(let m=0;m({range:h,options:yn.EMPTY}));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,o);const s=i;let a=1,l=0,u=-1,c=u+1=a&&m<=l?this.modelLineProjections[h].isVisible()&&(this.modelLineProjections[h]=this.modelLineProjections[h].setVisible(!1),f=!0):(d=!0,this.modelLineProjections[h].isVisible()||(this.modelLineProjections[h]=this.modelLineProjections[h].setVisible(!0),f=!0)),f){const g=this.modelLineProjections[h].getViewLineCount();this.projectedModelLineLineCounts.setValue(h,g)}}return d||this.setHiddenAreas([]),!0}modelPositionIsVisible(e,t){return e<1||e>this.modelLineProjections.length?!1:this.modelLineProjections[e-1].isVisible()}getModelLineViewLineCount(e){return e<1||e>this.modelLineProjections.length?1:this.modelLineProjections[e-1].getViewLineCount()}setTabSize(e){return this.tabSize===e?!1:(this.tabSize=e,this._constructLines(!1,null),!0)}setWrappingSettings(e,t,i,r,o){const s=this.fontInfo.equals(e),a=this.wrappingStrategy===t,l=this.wrappingColumn===i,u=this.wrappingIndent===r,c=this.wordBreak===o;if(s&&a&&l&&u&&c)return!1;const d=s&&a&&!l&&u&&c;this.fontInfo=e,this.wrappingStrategy=t,this.wrappingColumn=i,this.wrappingIndent=r,this.wordBreak=o;let h=null;if(d){h=[];for(let m=0,f=this.modelLineProjections.length;m2&&!this.modelLineProjections[t-2].isVisible(),s=t===1?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1;let a=0;const l=[],u=[];for(let c=0,d=r.length;cl?(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,d=c+l-1,f=d+1,g=f+(o-l)-1,u=!0):ot?t:e|0}getActiveIndentGuide(e,t,i){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),i=this._toValidViewLineNumber(i);const r=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),o=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),s=this.convertViewPositionToModelPosition(i,this.getViewLineMinColumn(i)),a=this.model.guides.getActiveIndentGuide(r.lineNumber,o.lineNumber,s.lineNumber),l=this.convertModelPositionToViewPosition(a.startLineNumber,1),u=this.convertModelPositionToViewPosition(a.endLineNumber,this.model.getLineMaxColumn(a.endLineNumber));return{startLineNumber:l.lineNumber,endLineNumber:u.lineNumber,indent:a.indent}}getViewLineInfo(e){e=this._toValidViewLineNumber(e);const t=this.projectedModelLineLineCounts.getIndexOf(e-1),i=t.index,r=t.remainder;return new _Ce(i+1,r)}getMinColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(e){const t=this.modelLineProjections[e.modelLineNumber-1],i=t.getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,i);return new ye(e.modelLineNumber,r)}getModelEndPositionOfViewLine(e){const t=this.modelLineProjections[e.modelLineNumber-1],i=t.getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,i);return new ye(e.modelLineNumber,r)}getViewLineInfosGroupedByModelRanges(e,t){const i=this.getViewLineInfo(e),r=this.getViewLineInfo(t),o=new Array;let s=this.getModelStartPositionOfViewLine(i),a=new Array;for(let l=i.modelLineNumber;l<=r.modelLineNumber;l++){const u=this.modelLineProjections[l-1];if(u.isVisible()){const c=l===i.modelLineNumber?i.modelLineWrappedLineIdx:0,d=l===r.modelLineNumber?r.modelLineWrappedLineIdx+1:u.getViewLineCount();for(let h=c;h{if(m.forWrappedLinesAfterColumn!==-1&&this.modelLineProjections[c.modelLineNumber-1].getViewPositionOfModelPosition(0,m.forWrappedLinesAfterColumn).lineNumber>=c.modelLineWrappedLineIdx||m.forWrappedLinesBeforeOrAtColumn!==-1&&this.modelLineProjections[c.modelLineNumber-1].getViewPositionOfModelPosition(0,m.forWrappedLinesBeforeOrAtColumn).lineNumberc.modelLineWrappedLineIdx)return}const g=this.convertModelPositionToViewPosition(c.modelLineNumber,m.horizontalLine.endColumn),b=this.modelLineProjections[c.modelLineNumber-1].getViewPositionOfModelPosition(0,m.horizontalLine.endColumn);return b.lineNumber===c.modelLineWrappedLineIdx?new gy(m.visibleColumn,f,m.className,new $I(m.horizontalLine.top,g.column),-1,-1):b.lineNumber!!m))}}return s}getViewLinesIndentGuides(e,t){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);const i=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),r=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t));let o=[];const s=[],a=[],l=i.lineNumber-1,u=r.lineNumber-1;let c=null;for(let f=l;f<=u;f++){const g=this.modelLineProjections[f];if(g.isVisible()){const b=g.getViewLineNumberOfModelPosition(0,f===l?i.column:1),v=g.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(f+1)),C=v-b+1;let S=0;C>1&&g.getViewLineMinColumn(this.model,f+1,v)===1&&(S=b===0?1:2),s.push(C),a.push(S),c===null&&(c=new ye(f+1,0))}else c!==null&&(o=o.concat(this.model.guides.getLinesIndentGuides(c.lineNumber,f)),c=null)}c!==null&&(o=o.concat(this.model.guides.getLinesIndentGuides(c.lineNumber,r.lineNumber)),c=null);const d=t-e+1,h=new Array(d);let m=0;for(let f=0,g=o.length;ft&&(f=!0,m=t-o+1),d.getViewLinesData(this.model,u+1,h,m,o-e,i,l),o+=m,f)break}return l}validateViewPosition(e,t,i){e=this._toValidViewLineNumber(e);const r=this.projectedModelLineLineCounts.getIndexOf(e-1),o=r.index,s=r.remainder,a=this.modelLineProjections[o],l=a.getViewLineMinColumn(this.model,o+1,s),u=a.getViewLineMaxColumn(this.model,o+1,s);tu&&(t=u);const c=a.getModelColumnOfViewPosition(s,t);return this.model.validatePosition(new ye(o+1,c)).equals(i)?new ye(e,t):this.convertModelPositionToViewPosition(i.lineNumber,i.column)}validateViewRange(e,t){const i=this.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),r=this.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new J(i.lineNumber,i.column,r.lineNumber,r.column)}convertViewPositionToModelPosition(e,t){const i=this.getViewLineInfo(e),r=this.modelLineProjections[i.modelLineNumber-1].getModelColumnOfViewPosition(i.modelLineWrappedLineIdx,t);return this.model.validatePosition(new ye(i.modelLineNumber,r))}convertViewRangeToModelRange(e){const t=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),i=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new J(t.lineNumber,t.column,i.lineNumber,i.column)}convertModelPositionToViewPosition(e,t,i=2,r=!1,o=!1){const s=this.model.validatePosition(new ye(e,t)),a=s.lineNumber,l=s.column;let u=a-1,c=!1;if(o)for(;u0&&!this.modelLineProjections[u].isVisible();)u--,c=!0;if(u===0&&!this.modelLineProjections[u].isVisible())return new ye(r?0:1,1);const d=1+this.projectedModelLineLineCounts.getPrefixSum(u);let h;return c?o?h=this.modelLineProjections[u].getViewPositionOfModelPosition(d,1,i):h=this.modelLineProjections[u].getViewPositionOfModelPosition(d,this.model.getLineMaxColumn(u+1),i):h=this.modelLineProjections[a-1].getViewPositionOfModelPosition(d,l,i),h}convertModelRangeToViewRange(e,t=0){if(e.isEmpty()){const i=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,t);return J.fromPositions(i)}else{const i=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,1),r=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn,0);return new J(i.lineNumber,i.column,r.lineNumber,r.column)}}getViewLineNumberOfModelPosition(e,t){let i=e-1;if(this.modelLineProjections[i].isVisible()){const o=1+this.projectedModelLineLineCounts.getPrefixSum(i);return this.modelLineProjections[i].getViewLineNumberOfModelPosition(o,t)}for(;i>0&&!this.modelLineProjections[i].isVisible();)i--;if(i===0&&!this.modelLineProjections[i].isVisible())return 1;const r=1+this.projectedModelLineLineCounts.getPrefixSum(i);return this.modelLineProjections[i].getViewLineNumberOfModelPosition(r,this.model.getLineMaxColumn(i+1))}getDecorationsInRange(e,t,i,r,o){const s=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),a=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(a.lineNumber-s.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new J(s.lineNumber,1,a.lineNumber,a.column),t,i,r,o);let l=[];const u=s.lineNumber-1,c=a.lineNumber-1;let d=null;for(let g=u;g<=c;g++)if(this.modelLineProjections[g].isVisible())d===null&&(d=new ye(g+1,g===u?s.column:1));else if(d!==null){const v=this.model.getLineMaxColumn(g);l=l.concat(this.model.getDecorationsInRange(new J(d.lineNumber,d.column,g,v),t,i,r)),d=null}d!==null&&(l=l.concat(this.model.getDecorationsInRange(new J(d.lineNumber,d.column,a.lineNumber,a.column),t,i,r)),d=null),l.sort((g,b)=>{const v=J.compareRangesUsingStarts(g.range,b.range);return v===0?g.idb.id?1:0:v});const h=[];let m=0,f=null;for(const g of l){const b=g.id;f!==b&&(f=b,h[m++]=g)}return h}getInjectedTextAt(e){const t=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[t.modelLineNumber-1].getInjectedTextAt(t.modelLineWrappedLineIdx,e.column)}normalizePosition(e,t){const i=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[i.modelLineNumber-1].normalizePosition(i.modelLineWrappedLineIdx,e,t)}getLineIndentColumn(e){const t=this.getViewLineInfo(e);return t.modelLineWrappedLineIdx===0?this.model.getLineIndentColumn(t.modelLineNumber):0}}function ISt(n){if(n.length===0)return[];const e=n.slice();e.sort(J.compareRangesUsingStarts);const t=[];let i=e[0].startLineNumber,r=e[0].endLineNumber;for(let o=1,s=e.length;or+1?(t.push(new J(i,1,r,1)),i=a.startLineNumber,r=a.endLineNumber):a.endLineNumber>r&&(r=a.endLineNumber)}return t.push(new J(i,1,r,1)),t}class _Ce{constructor(e,t){this.modelLineNumber=e,this.modelLineWrappedLineIdx=t}}class FCe{constructor(e,t){this.modelRange=e,this.viewLines=t}}class DSt{constructor(e){this._lines=e}convertViewPositionToModelPosition(e){return this._lines.convertViewPositionToModelPosition(e.lineNumber,e.column)}convertViewRangeToModelRange(e){return this._lines.convertViewRangeToModelRange(e)}validateViewPosition(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)}validateViewRange(e,t){return this._lines.validateViewRange(e,t)}convertModelPositionToViewPosition(e,t,i,r){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column,t,i,r)}convertModelRangeToViewRange(e,t){return this._lines.convertModelRangeToViewRange(e,t)}modelPositionIsVisible(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)}getModelLineViewLineCount(e){return this._lines.getModelLineViewLineCount(e)}getViewLineNumberOfModelPosition(e,t){return this._lines.getViewLineNumberOfModelPosition(e,t)}}class MSt{constructor(e){this.model=e}dispose(){}createCoordinatesConverter(){return new kSt(this)}getHiddenAreas(){return[]}setHiddenAreas(e){return!1}setTabSize(e){return!1}setWrappingSettings(e,t,i,r){return!1}createLineBreaksComputer(){const e=[];return{addRequest:(t,i,r)=>{e.push(null)},finalize:()=>e}}onModelFlushed(){}onModelLinesDeleted(e,t,i){return new Z7(t,i)}onModelLinesInserted(e,t,i,r){return new W7(t,i)}onModelLineChanged(e,t,i){return[!1,new bCe(t,1),null,null]}acceptVersionId(e){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(e,t,i){return{startLineNumber:e,endLineNumber:e,indent:0}}getViewLinesBracketGuides(e,t,i){return new Array(t-e+1).fill([])}getViewLinesIndentGuides(e,t){const i=t-e+1,r=new Array(i);for(let o=0;ot)}getModelLineViewLineCount(e){return 1}getViewLineNumberOfModelPosition(e,t){return e}}const Ly=lf.Right;class NSt{constructor(e){this.persist=0,this._requiredLanes=1,this.lanes=new Uint8Array(Math.ceil((e+1)*Ly/8))}reset(e){const t=Math.ceil((e+1)*Ly/8);this.lanes.length>>3]|=1<>>3]&1<>>3]&1<this._updateConfigurationViewLineCountNow(),0)),this._hasFocus=!1,this._viewportStart=z7.create(this.model),this.glyphLanes=new NSt(0),this.model.isTooLargeForTokenization())this._lines=new MSt(this.model);else{const c=this._configuration.options,d=c.get(50),h=c.get(139),m=c.get(146),f=c.get(138),g=c.get(129);this._lines=new FSt(this._editorId,this.model,r,o,d,this.model.getOptions().tabSize,h,m.wrappingColumn,f,g)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new dSt(i,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new CSt(this._configuration,this.getLineCount(),s)),this._register(this.viewLayout.onDidScroll(c=>{c.scrollTopChanged&&this._handleVisibleLinesChanged(),c.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new Jwt(c)),this._eventDispatcher.emitOutgoingEvent(new A7(c.oldScrollWidth,c.oldScrollLeft,c.oldScrollHeight,c.oldScrollTop,c.scrollWidth,c.scrollLeft,c.scrollHeight,c.scrollTop))})),this._register(this.viewLayout.onDidContentSizeChange(c=>{this._eventDispatcher.emitOutgoingEvent(c)})),this._decorations=new wSt(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast(c=>{try{const d=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(d,c)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(qI.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new $wt)})),this._register(this._themeService.onDidColorThemeChange(c=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new jwt(c))})),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(e){this._eventDispatcher.addViewEventHandler(e)}removeViewEventHandler(e){this._eventDispatcher.removeViewEventHandler(e)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){const e=this.viewLayout.getLinesViewportData(),t=new J(e.startLineNumber,this.getLineMinColumn(e.startLineNumber),e.endLineNumber,this.getLineMaxColumn(e.endLineNumber));return this._toModelVisibleRanges(t)}visibleLinesStabilized(){const e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!0)}_handleVisibleLinesChanged(){const e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!1)}setHasFocus(e){this._hasFocus=e,this._cursor.setHasFocus(e),this._eventDispatcher.emitSingleViewEvent(new Uwt(e)),this._eventDispatcher.emitOutgoingEvent(new V7(!e,e))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new Bwt)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new zwt)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){const e=new ye(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber)),t=this.coordinatesConverter.convertViewPositionToModelPosition(e);return new DCe(t,this._viewportStart.startLineDelta)}return new DCe(null,0)}_onConfigurationChanged(e,t){const i=this._captureStableViewport(),r=this._configuration.options,o=r.get(50),s=r.get(139),a=r.get(146),l=r.get(138),u=r.get(129);this._lines.setWrappingSettings(o,s,a.wrappingColumn,l,u)&&(e.emitViewEvent(new KW),e.emitViewEvent(new JW),e.emitViewEvent(new xy(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this._updateConfigurationViewLineCount.schedule()),t.hasChanged(91)&&(this._decorations.reset(),e.emitViewEvent(new xy(null))),t.hasChanged(98)&&(this._decorations.reset(),e.emitViewEvent(new xy(null))),e.emitViewEvent(new Hwt(t)),this.viewLayout.onConfigurationChanged(t),i.recoverViewportStart(this.coordinatesConverter,this.viewLayout),DS.shouldRecreate(t)&&(this.cursorConfig=new DS(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}_registerModelEvents(){this._register(this.model.onDidChangeContentOrInjectedText(e=>{try{const i=this._eventDispatcher.beginEmitViewEvents();let r=!1,o=!1;const s=e instanceof py?e.rawContentChangedEvent.changes:e.changes,a=e instanceof py?e.rawContentChangedEvent.versionId:null,l=this._lines.createLineBreaksComputer();for(const d of s)switch(d.changeType){case 4:{for(let h=0;h!g.ownerId||g.ownerId===this._editorId)),l.addRequest(m,f,null)}break}case 2:{let h=null;d.injectedText&&(h=d.injectedText.filter(m=>!m.ownerId||m.ownerId===this._editorId)),l.addRequest(d.detail,h,null);break}}const u=l.finalize(),c=new Vg(u);for(const d of s)switch(d.changeType){case 1:{this._lines.onModelFlushed(),i.emitViewEvent(new KW),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount()),r=!0;break}case 3:{const h=this._lines.onModelLinesDeleted(a,d.fromLineNumber,d.toLineNumber);h!==null&&(i.emitViewEvent(h),this.viewLayout.onLinesDeleted(h.fromLineNumber,h.toLineNumber)),r=!0;break}case 4:{const h=c.takeCount(d.detail.length),m=this._lines.onModelLinesInserted(a,d.fromLineNumber,d.toLineNumber,h);m!==null&&(i.emitViewEvent(m),this.viewLayout.onLinesInserted(m.fromLineNumber,m.toLineNumber)),r=!0;break}case 2:{const h=c.dequeue(),[m,f,g,b]=this._lines.onModelLineChanged(a,d.lineNumber,h);o=m,f&&i.emitViewEvent(f),g&&(i.emitViewEvent(g),this.viewLayout.onLinesInserted(g.fromLineNumber,g.toLineNumber)),b&&(i.emitViewEvent(b),this.viewLayout.onLinesDeleted(b.fromLineNumber,b.toLineNumber));break}case 5:break}a!==null&&this._lines.acceptVersionId(a),this.viewLayout.onHeightMaybeChanged(),!r&&o&&(i.emitViewEvent(new JW),i.emitViewEvent(new xy(null)),this._cursor.onLineMappingChanged(i),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}const t=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&t){const i=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(i){const r=this.coordinatesConverter.convertModelPositionToViewPosition(i.getStartPosition()),o=this.viewLayout.getVerticalOffsetForLineNumber(r.lineNumber);this.viewLayout.setScrollPosition({scrollTop:o+this._viewportStart.startLineDelta},1)}}try{const i=this._eventDispatcher.beginEmitViewEvents();e instanceof py&&i.emitOutgoingEvent(new lSt(e.contentChangedEvent)),this._cursor.onModelContentChanged(i,e)}finally{this._eventDispatcher.endEmitViewEvents()}this._handleVisibleLinesChanged()})),this._register(this.model.onDidChangeTokens(e=>{const t=[];for(let i=0,r=e.ranges.length;i{this._eventDispatcher.emitSingleViewEvent(new Kwt),this.cursorConfig=new DS(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new aSt(e))})),this._register(this.model.onDidChangeLanguage(e=>{this.cursorConfig=new DS(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new sSt(e))})),this._register(this.model.onDidChangeOptions(e=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{const t=this._eventDispatcher.beginEmitViewEvents();t.emitViewEvent(new KW),t.emitViewEvent(new JW),t.emitViewEvent(new xy(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new DS(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new uSt(e))})),this._register(this.model.onDidChangeDecorations(e=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new xy(e)),this._eventDispatcher.emitOutgoingEvent(new oSt(e))}))}setHiddenAreas(e,t){var i;this.hiddenAreasModel.setHiddenAreas(t,e);const r=this.hiddenAreasModel.getMergedRanges();if(r===this.previousHiddenAreas)return;this.previousHiddenAreas=r;const o=this._captureStableViewport();let s=!1;try{const a=this._eventDispatcher.beginEmitViewEvents();s=this._lines.setHiddenAreas(r),s&&(a.emitViewEvent(new KW),a.emitViewEvent(new JW),a.emitViewEvent(new xy(null)),this._cursor.onLineMappingChanged(a),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged());const l=(i=o.viewportStartModelPosition)===null||i===void 0?void 0:i.lineNumber;l&&r.some(c=>c.startLineNumber<=l&&l<=c.endLineNumber)||o.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),s&&this._eventDispatcher.emitOutgoingEvent(new iSt)}getVisibleRangesPlusViewportAboveBelow(){const e=this._configuration.options.get(145),t=this._configuration.options.get(67),i=Math.max(20,Math.round(e.height/t)),r=this.viewLayout.getLinesViewportData(),o=Math.max(1,r.completelyVisibleStartLineNumber-i),s=Math.min(this.getLineCount(),r.completelyVisibleEndLineNumber+i);return this._toModelVisibleRanges(new J(o,this.getLineMinColumn(o),s,this.getLineMaxColumn(s)))}getVisibleRanges(){const e=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(e)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(e){const t=this.coordinatesConverter.convertViewRangeToModelRange(e),i=this._lines.getHiddenAreas();if(i.length===0)return[t];const r=[];let o=0,s=t.startLineNumber,a=t.startColumn;const l=t.endLineNumber,u=t.endColumn;for(let c=0,d=i.length;cl||(s"u")return this._reduceRestoreStateCompatibility(e);const t=this.model.validatePosition(e.firstPosition),i=this.coordinatesConverter.convertModelPositionToViewPosition(t),r=this.viewLayout.getVerticalOffsetForLineNumber(i.lineNumber)-e.firstPositionDeltaTop;return{scrollLeft:e.scrollLeft,scrollTop:r}}_reduceRestoreStateCompatibility(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTopWithoutViewZones}}getTabSize(){return this.model.getOptions().tabSize}getLineCount(){return this._lines.getViewLineCount()}setViewport(e,t,i){this._viewportStart.update(this,e)}getActiveIndentGuide(e,t,i){return this._lines.getActiveIndentGuide(e,t,i)}getLinesIndentGuides(e,t){return this._lines.getViewLinesIndentGuides(e,t)}getBracketGuidesInRangeByLine(e,t,i,r){return this._lines.getViewLinesBracketGuides(e,t,i,r)}getLineContent(e){return this._lines.getViewLineContent(e)}getLineLength(e){return this._lines.getViewLineLength(e)}getLineMinColumn(e){return this._lines.getViewLineMinColumn(e)}getLineMaxColumn(e){return this._lines.getViewLineMaxColumn(e)}getLineFirstNonWhitespaceColumn(e){const t=_a(this.getLineContent(e));return t===-1?0:t+1}getLineLastNonWhitespaceColumn(e){const t=Fh(this.getLineContent(e));return t===-1?0:t+2}getMinimapDecorationsInRange(e){return this._decorations.getMinimapDecorationsInRange(e)}getDecorationsInViewport(e){return this._decorations.getDecorationsViewportData(e).decorations}getInjectedTextAt(e){return this._lines.getInjectedTextAt(e)}getViewportViewLineRenderingData(e,t){const r=this._decorations.getDecorationsViewportData(e).inlineDecorations[t-e.startLineNumber];return this._getViewLineRenderingData(t,r)}getViewLineRenderingData(e){const t=this._decorations.getInlineDecorationsOnLine(e);return this._getViewLineRenderingData(e,t)}_getViewLineRenderingData(e,t){const i=this.model.mightContainRTL(),r=this.model.mightContainNonBasicASCII(),o=this.getTabSize(),s=this._lines.getViewLineData(e);return s.inlineDecorations&&(t=[...t,...s.inlineDecorations.map(a=>a.toInlineDecoration(e))]),new Uu(s.minColumn,s.maxColumn,s.content,s.continuesWithWrappedLine,i,r,s.tokens,t,o,s.startVisibleColumn)}getViewLineData(e){return this._lines.getViewLineData(e)}getMinimapLinesRenderingData(e,t,i){const r=this._lines.getViewLinesData(e,t,i);return new Myt(this.getTabSize(),r)}getAllOverviewRulerDecorations(e){const t=this.model.getOverviewRulerDecorations(this._editorId,$9(this._configuration.options)),i=new ESt;for(const r of t){const o=r.options,s=o.overviewRuler;if(!s)continue;const a=s.position;if(a===0)continue;const l=s.getColor(e.value),u=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.startLineNumber,r.range.startColumn),c=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.endLineNumber,r.range.endColumn);i.accept(l,o.zIndex,u,c,a)}return i.asArray}_invalidateDecorationsColorCache(){const e=this.model.getOverviewRulerDecorations();for(const t of e){const i=t.options.overviewRuler;i==null||i.invalidateCachedColor();const r=t.options.minimap;r==null||r.invalidateCachedColor()}}getValueInRange(e,t){const i=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(i,t)}getValueLengthInRange(e,t){const i=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueLengthInRange(i,t)}modifyPosition(e,t){const i=this.coordinatesConverter.convertViewPositionToModelPosition(e),r=this.model.modifyPosition(i,t);return this.coordinatesConverter.convertModelPositionToViewPosition(r)}deduceModelPositionRelativeToViewPosition(e,t,i){const r=this.coordinatesConverter.convertViewPositionToModelPosition(e);this.model.getEOL().length===2&&(t<0?t-=i:t+=i);const s=this.model.getOffsetAt(r)+t;return this.model.getPositionAt(s)}getPlainTextToCopy(e,t,i){const r=i?`\r -`:this.model.getEOL();e=e.slice(0),e.sort(J.compareRangesUsingStarts);let o=!1,s=!1;for(const l of e)l.isEmpty()?o=!0:s=!0;if(!s){if(!t)return"";const l=e.map(c=>c.startLineNumber);let u="";for(let c=0;c0&&l[c-1]===l[c]||(u+=this.model.getLineContent(l[c])+r);return u}if(o&&t){const l=[];let u=0;for(const c of e){const d=c.startLineNumber;c.isEmpty()?d!==u&&l.push(this.model.getLineContent(d)):l.push(this.model.getValueInRange(c,i?2:0)),u=d}return l.length===1?l[0]:l}const a=[];for(const l of e)l.isEmpty()||a.push(this.model.getValueInRange(l,i?2:0));return a.length===1?a[0]:a}getRichTextToCopy(e,t){const i=this.model.getLanguageId();if(i===Pu||e.length!==1)return null;let r=e[0];if(r.isEmpty()){if(!t)return null;const c=r.startLineNumber;r=new J(c,this.model.getLineMinColumn(c),c,this.model.getLineMaxColumn(c))}const o=this._configuration.options.get(50),s=this._getColorMap(),l=/[:;\\\/<>]/.test(o.fontFamily)||o.fontFamily===Al.fontFamily;let u;return l?u=Al.fontFamily:(u=o.fontFamily,u=u.replace(/"/g,"'"),/[,']/.test(u)||/[+ ]/.test(u)&&(u=`'${u}'`),u=`${u}, ${Al.fontFamily}`),{mode:i,html:`
`+this._getHTMLToCopy(r,s)+"
"}}_getHTMLToCopy(e,t){const i=e.startLineNumber,r=e.startColumn,o=e.endLineNumber,s=e.endColumn,a=this.getTabSize();let l="";for(let u=i;u<=o;u++){const c=this.model.tokenization.getLineTokens(u),d=c.getLineContent(),h=u===i?r-1:0,m=u===o?s-1:d.length;d===""?l+="
":l+=gSt(d,c.inflate(),t,h,m,a,ha)}return l}_getColorMap(){const e=bo.getColorMap(),t=["#000000"];if(e)for(let i=1,r=e.length;ithis._cursor.setStates(r,e,t,i))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(e){this._cursor.setCursorColumnSelectData(e)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(e){this._cursor.setPrevEditOperationType(e)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(e,t,i=0){this._withViewEventsCollector(r=>this._cursor.setSelections(r,e,t,i))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(e){this._withViewEventsCollector(t=>this._cursor.restoreState(t,e))}_executeCursorEdit(e){if(this._cursor.context.cursorConfig.readOnly){this._eventDispatcher.emitOutgoingEvent(new rSt);return}this._withViewEventsCollector(e)}executeEdits(e,t,i){this._executeCursorEdit(r=>this._cursor.executeEdits(r,e,t,i))}startComposition(){this._executeCursorEdit(e=>this._cursor.startComposition(e))}endComposition(e){this._executeCursorEdit(t=>this._cursor.endComposition(t,e))}type(e,t){this._executeCursorEdit(i=>this._cursor.type(i,e,t))}compositionType(e,t,i,r,o){this._executeCursorEdit(s=>this._cursor.compositionType(s,e,t,i,r,o))}paste(e,t,i,r){this._executeCursorEdit(o=>this._cursor.paste(o,e,t,i,r))}cut(e){this._executeCursorEdit(t=>this._cursor.cut(t,e))}executeCommand(e,t){this._executeCursorEdit(i=>this._cursor.executeCommand(i,e,t))}executeCommands(e,t){this._executeCursorEdit(i=>this._cursor.executeCommands(i,e,t))}revealAllCursors(e,t,i=!1){this._withViewEventsCollector(r=>this._cursor.revealAll(r,e,i,0,t,0))}revealPrimaryCursor(e,t,i=!1){this._withViewEventsCollector(r=>this._cursor.revealPrimary(r,e,i,0,t,0))}revealTopMostCursor(e){const t=this._cursor.getTopMostViewPosition(),i=new J(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(r=>r.emitViewEvent(new LD(e,!1,i,null,0,!0,0)))}revealBottomMostCursor(e){const t=this._cursor.getBottomMostViewPosition(),i=new J(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(r=>r.emitViewEvent(new LD(e,!1,i,null,0,!0,0)))}revealRange(e,t,i,r,o){this._withViewEventsCollector(s=>s.emitViewEvent(new LD(e,!1,i,null,r,t,o)))}changeWhitespace(e){this.viewLayout.changeWhitespace(e)&&(this._eventDispatcher.emitSingleViewEvent(new qwt),this._eventDispatcher.emitOutgoingEvent(new nSt))}_withViewEventsCollector(e){try{const t=this._eventDispatcher.beginEmitViewEvents();return e(t)}finally{this._eventDispatcher.endEmitViewEvents()}}normalizePosition(e,t){return this._lines.normalizePosition(e,t)}getLineIndentColumn(e){return this._lines.getLineIndentColumn(e)}};class z7{static create(e){const t=e._setTrackedRange(null,new J(1,1,1,1),1);return new z7(e,1,!1,t,0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}constructor(e,t,i,r,o){this._model=e,this._viewLineNumber=t,this._isValid=i,this._modelTrackedRange=r,this._startLineDelta=o}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(e,t){const i=e.coordinatesConverter.convertViewPositionToModelPosition(new ye(t,e.getLineMinColumn(t))),r=e.model._setTrackedRange(this._modelTrackedRange,new J(i.lineNumber,i.column,i.lineNumber,i.column),1),o=e.viewLayout.getVerticalOffsetForLineNumber(t),s=e.viewLayout.getCurrentScrollTop();this._viewLineNumber=t,this._isValid=!0,this._modelTrackedRange=r,this._startLineDelta=s-o}invalidate(){this._isValid=!1}}class ESt{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(e,t,i,r,o){const s=this._asMap[e];if(s){const a=s.data,l=a[a.length-3],u=a[a.length-1];if(l===o&&u+1>=i){r>u&&(a[a.length-1]=r);return}a.push(o,i,r)}else{const a=new tD(e,t,[o,i,r]);this._asMap[e]=a,this.asArray.push(a)}}}class ZSt{constructor(){this.hiddenAreas=new Map,this.shouldRecompute=!1,this.ranges=[]}setHiddenAreas(e,t){const i=this.hiddenAreas.get(e);i&&ICe(i,t)||(this.hiddenAreas.set(e,t),this.shouldRecompute=!0)}getMergedRanges(){if(!this.shouldRecompute)return this.ranges;this.shouldRecompute=!1;const e=Array.from(this.hiddenAreas.values()).reduce((t,i)=>WSt(t,i),[]);return ICe(this.ranges,e)?this.ranges:(this.ranges=e,this.ranges)}}function WSt(n,e){const t=[];let i=0,r=0;for(;i=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},ap=function(n,e){return function(t,i){e(t,i,n)}},_y;let w2=_y=class extends Ie{get isSimpleWidget(){return this._configuration.isSimpleWidget}constructor(e,t,i,r,o,s,a,l,u,c,d,h){var m;super(),this.languageConfigurationService=d,this._deliveryQueue=jht(),this._contributions=this._register(new uCt),this._onDidDispose=this._register(new be),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeModelTokens=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelTokens=this._onDidChangeModelTokens.event,this._onDidChangeConfiguration=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onWillChangeModel=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onWillChangeModel=this._onWillChangeModel.event,this._onDidChangeModel=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new ka(this._contributions,this._deliveryQueue)),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new MCe({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new MCe({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new ka(this._contributions,this._deliveryQueue)),this.onWillType=this._onWillType.event,this._onDidType=this._register(new ka(this._contributions,this._deliveryQueue)),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new ka(this._contributions,this._deliveryQueue)),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new ka(this._contributions,this._deliveryQueue)),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new ka(this._contributions,this._deliveryQueue)),this.onDidPaste=this._onDidPaste.event,this._onMouseUp=this._register(new ka(this._contributions,this._deliveryQueue)),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new ka(this._contributions,this._deliveryQueue)),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new ka(this._contributions,this._deliveryQueue)),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new ka(this._contributions,this._deliveryQueue)),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new ka(this._contributions,this._deliveryQueue)),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onDropIntoEditor=this._register(new ka(this._contributions,this._deliveryQueue)),this.onDropIntoEditor=this._onDropIntoEditor.event,this._onContextMenu=this._register(new ka(this._contributions,this._deliveryQueue)),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new ka(this._contributions,this._deliveryQueue)),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new ka(this._contributions,this._deliveryQueue)),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new ka(this._contributions,this._deliveryQueue)),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new ka(this._contributions,this._deliveryQueue)),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new ka(this._contributions,this._deliveryQueue)),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event,this._actions=new Map,this._bannerDomNode=null,this._dropIntoEditorDecorations=this.createDecorationsCollection(),o.willCreateCodeEditor();const f={...t};this._domElement=e,this._overflowWidgetsDomNode=f.overflowWidgetsDomNode,delete f.overflowWidgetsDomNode,this._id=++ASt,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this._telemetryData=i.telemetryData,this._configuration=this._register(this._createConfiguration(i.isSimpleWidget||!1,f,c)),this._register(this._configuration.onDidChange(v=>{this._onDidChangeConfiguration.fire(v);const C=this._configuration.options;if(v.hasChanged(145)){const S=C.get(145);this._onDidLayoutChange.fire(S)}})),this._contextKeyService=this._register(a.createScoped(this._domElement)),this._notificationService=u,this._codeEditorService=o,this._commandService=s,this._themeService=l,this._register(new XSt(this,this._contextKeyService)),this._register(new PSt(this,this._contextKeyService,h)),this._instantiationService=r.createChild(new DD([ln,this._contextKeyService])),this._modelData=null,this._focusTracker=new OSt(e,this._overflowWidgetsDomNode),this._register(this._focusTracker.onChange(()=>{this._editorWidgetFocus.setValue(this._focusTracker.hasFocus())})),this._contentWidgets={},this._overlayWidgets={},this._glyphMarginWidgets={};let g;Array.isArray(i.contributions)?g=i.contributions:g=IS.getEditorContributions(),this._contributions.initialize(this,g,this._instantiationService);for(const v of IS.getEditorActions()){if(this._actions.has(v.id)){vn(new Error(`Cannot have two actions with the same id ${v.id}`));continue}const C=new xye(v.id,v.label,v.alias,v.metadata,(m=v.precondition)!==null&&m!==void 0?m:void 0,S=>this._instantiationService.invokeFunction(x=>Promise.resolve(v.runEditorCommand(x,this,S))),this._contextKeyService);this._actions.set(C.id,C)}const b=()=>!this._configuration.options.get(91)&&this._configuration.options.get(36).enabled;this._register(new Aft(this._domElement,{onDragOver:v=>{if(!b())return;const C=this.getTargetAtClientPoint(v.clientX,v.clientY);C!=null&&C.position&&this.showDropIndicatorAt(C.position)},onDrop:async v=>{if(!b()||(this.removeDropIndicator(),!v.dataTransfer))return;const C=this.getTargetAtClientPoint(v.clientX,v.clientY);C!=null&&C.position&&this._onDropIntoEditor.fire({position:C.position,event:v})},onDragLeave:()=>{this.removeDropIndicator()},onDragEnd:()=>{this.removeDropIndicator()}})),this._codeEditorService.addCodeEditor(this)}writeScreenReaderContent(e){var t;(t=this._modelData)===null||t===void 0||t.view.writeScreenReaderContent(e)}_createConfiguration(e,t,i){return new m6(e,t,this._domElement,i)}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return lD.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this),this._focusTracker.dispose(),this._actions.clear(),this._contentWidgets={},this._overlayWidgets={},this._removeDecorationTypes(),this._postDetachModelCleanup(this._detachModel()),this._onDidDispose.fire(),super.dispose()}invokeWithinContext(e){return this._instantiationService.invokeFunction(e)}updateOptions(e){this._configuration.updateOptions(e||{})}getOptions(){return this._configuration.options}getOption(e){return this._configuration.options.get(e)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(e){return this._modelData?wi.getWordAtPosition(this._modelData.model,this._configuration.options.get(131),this._configuration.options.get(130),e):null}getValue(e=null){if(!this._modelData)return"";const t=!!(e&&e.preserveBOM);let i=0;return e&&e.lineEnding&&e.lineEnding===` +`)){d=!1;break}}if(d){const h=new J(u,1,u,c);t.push(new P6(null,h,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(e,t,i,r)}_applyUndo(e,t,i,r){const o=e.map(s=>{const a=this.getPositionAt(s.newPosition),l=this.getPositionAt(s.newEnd);return{range:new J(a.lineNumber,a.column,l.lineNumber,l.column),text:s.oldText}});this._applyUndoRedoEdits(o,t,!0,!1,i,r)}_applyRedo(e,t,i,r){const o=e.map(s=>{const a=this.getPositionAt(s.oldPosition),l=this.getPositionAt(s.oldEnd);return{range:new J(a.lineNumber,a.column,l.lineNumber,l.column),text:s.newText}});this._applyUndoRedoEdits(o,t,!1,!0,i,r)}_applyUndoRedoEdits(e,t,i,r,o,s){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=i,this._isRedoing=r,this.applyEdits(e,!1),this.setEOL(t),this._overwriteAlternativeVersionId(o)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(s),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(e,t=!1){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const i=this._validateEditOperations(e);return this._doApplyEdits(i,t)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(e,t){const i=this._buffer.getLineCount(),r=this._buffer.applyEdits(e,this._options.trimAutoWhitespace,t),o=this._buffer.getLineCount(),s=r.changes;if(this._trimAutoWhitespaceLines=r.trimAutoWhitespaceLineNumbers,s.length!==0){for(let u=0,c=s.length;u=0;T--){const R=m+T,E=w+T;N.takeFromEndWhile(Z=>Z.lineNumber>E);const W=N.takeFromEndWhile(Z=>Z.lineNumber===E);a.push(new Sve(R,this.getLineContent(E),W))}if(yB.lineNumberB.lineNumber===O)}a.push(new rCt(R+1,m+b,V,Z))}l+=C}this._emitContentChangedEvent(new h2(a,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:s,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1})}return r.reverseEdits===null?void 0:r.reverseEdits}undo(){return this._undoRedoService.undo(this.uri)}canUndo(){return this._undoRedoService.canUndo(this.uri)}redo(){return this._undoRedoService.redo(this.uri)}canRedo(){return this._undoRedoService.canRedo(this.uri)}handleBeforeFireDecorationsChangedEvent(e){if(e===null||e.size===0)return;const i=Array.from(e).map(r=>new Sve(r,this.getLineContent(r),this._getInjectedTextInLine(r)));this._onDidChangeInjectedText.fire(new wve(i))}changeDecorations(e,t=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(t,e)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(e,t){const i={addDecoration:(o,s)=>this._deltaDecorationsImpl(e,[],[{range:o,options:s}])[0],changeDecoration:(o,s)=>{this._changeDecorationImpl(o,s)},changeDecorationOptions:(o,s)=>{this._changeDecorationOptionsImpl(o,hCe(s))},removeDecoration:o=>{this._deltaDecorationsImpl(e,[o],[])},deltaDecorations:(o,s)=>o.length===0&&s.length===0?[]:this._deltaDecorationsImpl(e,o,s)};let r=null;try{r=t(i)}catch(o){yn(o)}return i.addDecoration=wD,i.changeDecoration=wD,i.changeDecorationOptions=wD,i.removeDecoration=wD,i.deltaDecorations=wD,r}deltaDecorations(e,t,i=0){if(this._assertNotDisposed(),e||(e=[]),e.length===0&&t.length===0)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&yn(new Error("Invoking deltaDecorations recursively could lead to leaking decorations.")),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(i,e,t)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_getTrackedRange(e){return this.getDecorationRange(e)}_setTrackedRange(e,t,i){const r=e?this._decorations[e]:null;if(!r)return t?this._deltaDecorationsImpl(0,[],[{range:t,options:dCe[i]}],!0)[0]:null;if(!t)return this._decorationsTree.delete(r),delete this._decorations[r.id],null;const o=this._validateRangeRelaxedNoAllocations(t),s=this._buffer.getOffsetAt(o.startLineNumber,o.startColumn),a=this._buffer.getOffsetAt(o.endLineNumber,o.endColumn);return this._decorationsTree.delete(r),r.reset(this.getVersionId(),s,a,o),r.setOptions(dCe[i]),this._decorationsTree.insert(r),r.id}removeAllDecorationsWithOwnerId(e){if(this._isDisposed)return;const t=this._decorationsTree.collectNodesFromOwner(e);for(let i=0,r=t.length;ithis.getLineCount()?[]:this.getLinesDecorations(e,e,t,i)}getLinesDecorations(e,t,i=0,r=!1,o=!1){const s=this.getLineCount(),a=Math.min(s,Math.max(1,e)),l=Math.min(s,Math.max(1,t)),u=this.getLineMaxColumn(l),c=new J(a,1,l,u),d=this._getDecorationsInRange(c,i,r,o);return YY(d,this._decorationProvider.getDecorationsInRange(c,i,r)),d}getDecorationsInRange(e,t=0,i=!1,r=!1,o=!1){const s=this.validateRange(e),a=this._getDecorationsInRange(s,t,i,o);return YY(a,this._decorationProvider.getDecorationsInRange(s,t,i,r)),a}getOverviewRulerDecorations(e=0,t=!1){return this._decorationsTree.getAll(this,e,t,!0,!1)}getInjectedTextDecorations(e=0){return this._decorationsTree.getAllInjectedText(this,e)}_getInjectedTextInLine(e){const t=this._buffer.getOffsetAt(e,1),i=t+this._buffer.getLineLength(e),r=this._decorationsTree.getInjectedTextInInterval(this,t,i,0);return Ph.fromDecorations(r).filter(o=>o.lineNumber===e)}getAllDecorations(e=0,t=!1){let i=this._decorationsTree.getAll(this,e,t,!1,!1);return i=i.concat(this._decorationProvider.getAllDecorations(e,t)),i}getAllMarginDecorations(e=0){return this._decorationsTree.getAll(this,e,!1,!1,!0)}_getDecorationsInRange(e,t,i,r){const o=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),s=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.getAllInInterval(this,o,s,t,i,r)}getRangeAt(e,t){return this._buffer.getRangeAt(e,t-e)}_changeDecorationImpl(e,t){const i=this._decorations[e];if(!i)return;if(i.options.after){const a=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(a.endLineNumber)}if(i.options.before){const a=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(a.startLineNumber)}const r=this._validateRangeRelaxedNoAllocations(t),o=this._buffer.getOffsetAt(r.startLineNumber,r.startColumn),s=this._buffer.getOffsetAt(r.endLineNumber,r.endColumn);this._decorationsTree.delete(i),i.reset(this.getVersionId(),o,s,r),this._decorationsTree.insert(i),this._onDidChangeDecorations.checkAffectedAndFire(i.options),i.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(r.endLineNumber),i.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(r.startLineNumber)}_changeDecorationOptionsImpl(e,t){const i=this._decorations[e];if(!i)return;const r=!!(i.options.overviewRuler&&i.options.overviewRuler.color),o=!!(t.overviewRuler&&t.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(i.options),this._onDidChangeDecorations.checkAffectedAndFire(t),i.options.after||t.after){const l=this._decorationsTree.getNodeRange(this,i);this._onDidChangeDecorations.recordLineAffectedByInjectedText(l.endLineNumber)}if(i.options.before||t.before){const l=this._decorationsTree.getNodeRange(this,i);this._onDidChangeDecorations.recordLineAffectedByInjectedText(l.startLineNumber)}const s=r!==o,a=TSt(t)!==YZ(i);s||a?(this._decorationsTree.delete(i),i.setOptions(t),this._decorationsTree.insert(i)):i.setOptions(t)}_deltaDecorationsImpl(e,t,i,r=!1){const o=this.getVersionId(),s=t.length;let a=0;const l=i.length;let u=0;this._onDidChangeDecorations.beginDeferredEmit();try{const c=new Array(l);for(;athis._setLanguage(e.languageId,t)),this._setLanguage(e.languageId,t))}_setLanguage(e,t){this.tokenization.setLanguageId(e,t),this._languageService.requestRichLanguageFeatures(e)}getLanguageIdAtPosition(e,t){return this.tokenization.getLanguageIdAtPosition(e,t)}getWordAtPosition(e){return this._tokenizationTextModelPart.getWordAtPosition(e)}getWordUntilPosition(e){return this._tokenizationTextModelPart.getWordUntilPosition(e)}normalizePosition(e,t){return e}getLineIndentColumn(e){return kSt(this.getLineContent(e))+1}};ff._MODEL_SYNC_LIMIT=50*1024*1024,ff.LARGE_FILE_SIZE_THRESHOLD=20*1024*1024,ff.LARGE_FILE_LINE_COUNT_THRESHOLD=300*1e3,ff.LARGE_FILE_HEAP_OPERATION_THRESHOLD=256*1024*1024,ff.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:pa.tabSize,indentSize:pa.indentSize,insertSpaces:pa.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:pa.trimAutoWhitespace,largeFileOptimizations:pa.largeFileOptimizations,bracketPairColorizationOptions:pa.bracketPairColorizationOptions},ff=wv=LSt([D7(4,zZ),D7(5,br),D7(6,er)],ff);function kSt(n){let e=0;for(const t of n)if(t===" "||t===" ")e++;else break;return e}function N7(n){return!!(n.options.overviewRuler&&n.options.overviewRuler.color)}function TSt(n){return!!n.after||!!n.before}function YZ(n){return!!n.options.after||!!n.options.before}class uCe{constructor(){this._decorationsTree0=new g7,this._decorationsTree1=new g7,this._injectedTextDecorationsTree=new g7}ensureAllNodesHaveRanges(e){this.getAll(e,0,!1,!1,!1)}_ensureNodesHaveRanges(e,t){for(const i of t)i.range===null&&(i.range=e.getRangeAt(i.cachedAbsoluteStart,i.cachedAbsoluteEnd));return t}getAllInInterval(e,t,i,r,o,s){const a=e.getVersionId(),l=this._intervalSearch(t,i,r,o,a,s);return this._ensureNodesHaveRanges(e,l)}_intervalSearch(e,t,i,r,o,s){const a=this._decorationsTree0.intervalSearch(e,t,i,r,o,s),l=this._decorationsTree1.intervalSearch(e,t,i,r,o,s),u=this._injectedTextDecorationsTree.intervalSearch(e,t,i,r,o,s);return a.concat(l).concat(u)}getInjectedTextInInterval(e,t,i,r){const o=e.getVersionId(),s=this._injectedTextDecorationsTree.intervalSearch(t,i,r,!1,o,!1);return this._ensureNodesHaveRanges(e,s).filter(a=>a.options.showIfCollapsed||!a.range.isEmpty())}getAllInjectedText(e,t){const i=e.getVersionId(),r=this._injectedTextDecorationsTree.search(t,!1,i,!1);return this._ensureNodesHaveRanges(e,r).filter(o=>o.options.showIfCollapsed||!o.range.isEmpty())}getAll(e,t,i,r,o){const s=e.getVersionId(),a=this._search(t,i,r,s,o);return this._ensureNodesHaveRanges(e,a)}_search(e,t,i,r,o){if(i)return this._decorationsTree1.search(e,t,r,o);{const s=this._decorationsTree0.search(e,t,r,o),a=this._decorationsTree1.search(e,t,r,o),l=this._injectedTextDecorationsTree.search(e,t,r,o);return s.concat(a).concat(l)}}collectNodesFromOwner(e){const t=this._decorationsTree0.collectNodesFromOwner(e),i=this._decorationsTree1.collectNodesFromOwner(e),r=this._injectedTextDecorationsTree.collectNodesFromOwner(e);return t.concat(i).concat(r)}collectNodesPostOrder(){const e=this._decorationsTree0.collectNodesPostOrder(),t=this._decorationsTree1.collectNodesPostOrder(),i=this._injectedTextDecorationsTree.collectNodesPostOrder();return e.concat(t).concat(i)}insert(e){YZ(e)?this._injectedTextDecorationsTree.insert(e):N7(e)?this._decorationsTree1.insert(e):this._decorationsTree0.insert(e)}delete(e){YZ(e)?this._injectedTextDecorationsTree.delete(e):N7(e)?this._decorationsTree1.delete(e):this._decorationsTree0.delete(e)}getNodeRange(e,t){const i=e.getVersionId();return t.cachedVersionId!==i&&this._resolveNode(t,i),t.range===null&&(t.range=e.getRangeAt(t.cachedAbsoluteStart,t.cachedAbsoluteEnd)),t.range}_resolveNode(e,t){YZ(e)?this._injectedTextDecorationsTree.resolveNode(e,t):N7(e)?this._decorationsTree1.resolveNode(e,t):this._decorationsTree0.resolveNode(e,t)}acceptReplace(e,t,i,r){this._decorationsTree0.acceptReplace(e,t,i,r),this._decorationsTree1.acceptReplace(e,t,i,r),this._injectedTextDecorationsTree.acceptReplace(e,t,i,r)}}function gf(n){return n.replace(/[^a-z0-9\-_]/gi," ")}class cCe{constructor(e){this.color=e.color||"",this.darkColor=e.darkColor||""}}class ESt extends cCe{constructor(e){super(e),this._resolvedColor=null,this.position=typeof e.position=="number"?e.position:Pc.Center}getColor(e){return this._resolvedColor||(e.type!=="light"&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(e,t){if(typeof e=="string")return e;const i=e?t.getColor(e.id):null;return i?i.toString():""}}class RSt{constructor(e){var t;this.position=(t=e==null?void 0:e.position)!==null&&t!==void 0?t:lf.Center,this.persistLane=e==null?void 0:e.persistLane}}class ZSt extends cCe{constructor(e){var t,i;super(e),this.position=e.position,this.sectionHeaderStyle=(t=e.sectionHeaderStyle)!==null&&t!==void 0?t:null,this.sectionHeaderText=(i=e.sectionHeaderText)!==null&&i!==void 0?i:null}getColor(e){return this._resolvedColor||(e.type!=="light"&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(e,t){return typeof e=="string"?Re.fromHex(e):t.getColor(e.id)}}class v0{static from(e){return e instanceof v0?e:new v0(e)}constructor(e){this.content=e.content||"",this.inlineClassName=e.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=e.attachedData||null,this.cursorStops=e.cursorStops||null}}class vn{static register(e){return new vn(e)}static createDynamic(e){return new vn(e)}constructor(e){var t,i,r,o,s,a;this.description=e.description,this.blockClassName=e.blockClassName?gf(e.blockClassName):null,this.blockDoesNotCollapse=(t=e.blockDoesNotCollapse)!==null&&t!==void 0?t:null,this.blockIsAfterEnd=(i=e.blockIsAfterEnd)!==null&&i!==void 0?i:null,this.blockPadding=(r=e.blockPadding)!==null&&r!==void 0?r:null,this.stickiness=e.stickiness||0,this.zIndex=e.zIndex||0,this.className=e.className?gf(e.className):null,this.shouldFillLineOnLineBreak=(o=e.shouldFillLineOnLineBreak)!==null&&o!==void 0?o:null,this.hoverMessage=e.hoverMessage||null,this.glyphMarginHoverMessage=e.glyphMarginHoverMessage||null,this.lineNumberHoverMessage=e.lineNumberHoverMessage||null,this.isWholeLine=e.isWholeLine||!1,this.showIfCollapsed=e.showIfCollapsed||!1,this.collapseOnReplaceEdit=e.collapseOnReplaceEdit||!1,this.overviewRuler=e.overviewRuler?new ESt(e.overviewRuler):null,this.minimap=e.minimap?new ZSt(e.minimap):null,this.glyphMargin=e.glyphMarginClassName?new RSt(e.glyphMargin):null,this.glyphMarginClassName=e.glyphMarginClassName?gf(e.glyphMarginClassName):null,this.linesDecorationsClassName=e.linesDecorationsClassName?gf(e.linesDecorationsClassName):null,this.lineNumberClassName=e.lineNumberClassName?gf(e.lineNumberClassName):null,this.linesDecorationsTooltip=e.linesDecorationsTooltip?Fmt(e.linesDecorationsTooltip):null,this.firstLineDecorationClassName=e.firstLineDecorationClassName?gf(e.firstLineDecorationClassName):null,this.marginClassName=e.marginClassName?gf(e.marginClassName):null,this.inlineClassName=e.inlineClassName?gf(e.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=e.beforeContentClassName?gf(e.beforeContentClassName):null,this.afterContentClassName=e.afterContentClassName?gf(e.afterContentClassName):null,this.after=e.after?v0.from(e.after):null,this.before=e.before?v0.from(e.before):null,this.hideInCommentTokens=(s=e.hideInCommentTokens)!==null&&s!==void 0?s:!1,this.hideInStringTokens=(a=e.hideInStringTokens)!==null&&a!==void 0?a:!1}}vn.EMPTY=vn.register({description:"empty"});const dCe=[vn.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),vn.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),vn.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),vn.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function hCe(n){return n instanceof vn?n:vn.createDynamic(n)}class WSt extends Fe{constructor(e){super(),this.handleBeforeFire=e,this._actual=this._register(new be),this.event=this._actual.event,this._affectedInjectedTextLines=null,this._deferredCnt=0,this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._affectsLineNumber=!1}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){var e;this._deferredCnt--,this._deferredCnt===0&&(this._shouldFireDeferred&&this.doFire(),(e=this._affectedInjectedTextLines)===null||e===void 0||e.clear(),this._affectedInjectedTextLines=null)}recordLineAffectedByInjectedText(e){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(e)}checkAffectedAndFire(e){var t,i;this._affectsMinimap||(this._affectsMinimap=!!(!((t=e.minimap)===null||t===void 0)&&t.position)),this._affectsOverviewRuler||(this._affectsOverviewRuler=!!(!((i=e.overviewRuler)===null||i===void 0)&&i.color)),this._affectsGlyphMargin||(this._affectsGlyphMargin=!!e.glyphMarginClassName),this._affectsLineNumber||(this._affectsLineNumber=!!e.lineNumberClassName),this.tryFire()}fire(){this._affectsMinimap=!0,this._affectsOverviewRuler=!0,this._affectsGlyphMargin=!0,this.tryFire()}tryFire(){this._deferredCnt===0?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines);const e={affectsMinimap:this._affectsMinimap,affectsOverviewRuler:this._affectsOverviewRuler,affectsGlyphMargin:this._affectsGlyphMargin,affectsLineNumber:this._affectsLineNumber};this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._actual.fire(e)}}class ASt extends Fe{constructor(){super(),this._fastEmitter=this._register(new be),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new be),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(e=null){if(this._deferredCnt--,this._deferredCnt===0&&this._deferredEvent!==null){this._deferredEvent.rawContentChangedEvent.resultingSelection=e;const t=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(t),this._slowEmitter.fire(t)}}fire(e){if(this._deferredCnt>0){this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(e):this._deferredEvent=e;return}this._fastEmitter.fire(e),this._slowEmitter.fire(e)}}class VSt{constructor(){this._onDidChangeVisibleRanges=new be,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set}attachView(){const e=new GSt(t=>{this._onDidChangeVisibleRanges.fire({view:e,state:t})});return this._views.add(e),e}detachView(e){this._views.delete(e),this._onDidChangeVisibleRanges.fire({view:e,state:void 0})}}class GSt{constructor(e){this.handleStateChange=e}setVisibleLines(e,t){const i=e.map(r=>new dn(r.startLineNumber,r.endLineNumber+1));this.handleStateChange({visibleLineRanges:i,stabilized:t})}}const Rt=Un("ILanguageFeaturesService");class M7{static create(e){return new M7(e.get(134),e.get(133))}constructor(e,t){this.classifier=new XSt(e,t)}createLineBreaksComputer(e,t,i,r,o){const s=[],a=[],l=[];return{addRequest:(u,c,d)=>{s.push(u),a.push(c),l.push(d)},finalize:()=>{const u=e.typicalFullwidthCharacterWidth/e.typicalHalfwidthCharacterWidth,c=[];for(let d=0,h=s.length;d=0&&e<256?this._asciiMap[e]:e>=12352&&e<=12543||e>=13312&&e<=19903||e>=19968&&e<=40959?3:this._map.get(e)||this._defaultValue}}let k7=[],T7=[];function PSt(n,e,t,i,r,o,s,a){if(r===-1)return null;const l=t.length;if(l<=1)return null;const u=a==="keepAll",c=e.breakOffsets,d=e.breakOffsetsVisibleColumn,h=fCe(t,i,r,o,s),m=r-h,f=k7,g=T7;let b=0,y=0,C=0,w=r;const x=c.length;let L=0;if(L>=0){let I=Math.abs(d[L]-w);for(;L+1=I)break;I=D,L++}}for(;LI&&(I=y,D=C);let N=0,T=0,R=0,E=0;if(D<=w){let Z=D,V=I===0?0:t.charCodeAt(I-1),z=I===0?0:n.get(V),O=!0;for(let B=I;By&&E7(V,z,H,M,u)&&(N=P,T=Z),Z+=X,Z>w){P>y?(R=P,E=Z-X):(R=B+1,E=Z),Z-T>m&&(N=0),O=!1;break}V=H,z=M}if(O){b>0&&(f[b]=c[c.length-1],g[b]=d[c.length-1],b++);break}}if(N===0){let Z=D,V=t.charCodeAt(I),z=n.get(V),O=!1;for(let B=I-1;B>=y;B--){const P=B+1,H=t.charCodeAt(B);if(H===9){O=!0;break}let M,X;if(zy(H)?(B--,M=0,X=2):(M=n.get(H),X=Ob(H)?o:1),Z<=w){if(R===0&&(R=P,E=Z),Z<=w-m)break;if(E7(H,M,V,z,u)){N=P,T=Z;break}}Z-=X,V=H,z=M}if(N!==0){const B=m-(E-T);if(B<=i){const P=t.charCodeAt(R);let H;os(P)?H=2:H=xD(P,E,i,o),B-H<0&&(N=0)}}if(O){L--;continue}}if(N===0&&(N=R,T=E),N<=y){const Z=t.charCodeAt(y);os(Z)?(N=y+2,T=C+2):(N=y+1,T=C+xD(Z,C,i,o))}for(y=N,f[b]=N,C=T,g[b]=T,b++,w=T+m;L<0||L=W)break;W=Z,L++}}return b===0?null:(f.length=b,g.length=b,k7=e.breakOffsets,T7=e.breakOffsetsVisibleColumn,e.breakOffsets=f,e.breakOffsetsVisibleColumn=g,e.wrappedTextIndentLength=h,e)}function OSt(n,e,t,i,r,o,s,a){const l=Ph.applyInjectedText(e,t);let u,c;if(t&&t.length>0?(u=t.map(T=>T.options),c=t.map(T=>T.column-1)):(u=null,c=null),r===-1)return u?new aD(c,u,[l.length],[],0):null;const d=l.length;if(d<=1)return u?new aD(c,u,[l.length],[],0):null;const h=a==="keepAll",m=fCe(l,i,r,o,s),f=r-m,g=[],b=[];let y=0,C=0,w=0,x=r,L=l.charCodeAt(0),I=n.get(L),D=xD(L,0,i,o),N=1;os(L)&&(D+=1,L=l.charCodeAt(1),I=n.get(L),N++);for(let T=N;Tx&&((C===0||D-w>f)&&(C=R,w=D-Z),g[y]=C,b[y]=w,y++,x=w+f,C=0),L=E,I=W}return y===0&&(!t||t.length===0)?null:(g[y]=d,b[y]=D,new aD(c,u,g,b,m))}function xD(n,e,t,i){return n===9?t-e%t:Ob(n)||n<32?i:1}function mCe(n,e){return e-n%e}function E7(n,e,t,i,r){return t!==32&&(e===2&&i!==2||e!==1&&i===1||!r&&e===3&&i!==2||!r&&i===3&&e!==1)}function fCe(n,e,t,i,r){let o=0;if(r!==0){const s=La(n);if(s!==-1){for(let l=0;lt&&(o=0)}}return o}class UZ{constructor(e){this._selTrackedRange=null,this._trackSelection=!0,this._setState(e,new Ms(new J(1,1,1,1),0,0,new ve(1,1),0),new Ms(new J(1,1,1,1),0,0,new ve(1,1),0))}dispose(e){this._removeTrackedRange(e)}startTrackingSelection(e){this._trackSelection=!0,this._updateTrackedRange(e)}stopTrackingSelection(e){this._trackSelection=!1,this._removeTrackedRange(e)}_updateTrackedRange(e){this._trackSelection&&(this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,0))}_removeTrackedRange(e){this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,null,0)}asCursorState(){return new si(this.modelState,this.viewState)}readSelectionFromMarkers(e){const t=e.model._getTrackedRange(this._selTrackedRange);return this.modelState.selection.isEmpty()&&!t.isEmpty()?Zt.fromRange(t.collapseToEnd(),this.modelState.selection.getDirection()):Zt.fromRange(t,this.modelState.selection.getDirection())}ensureValidState(e){this._setState(e,this.modelState,this.viewState)}setState(e,t,i){this._setState(e,t,i)}static _validatePositionWithCache(e,t,i,r){return t.equals(i)?r:e.normalizePosition(t,2)}static _validateViewState(e,t){const i=t.position,r=t.selectionStart.getStartPosition(),o=t.selectionStart.getEndPosition(),s=e.normalizePosition(i,2),a=this._validatePositionWithCache(e,r,i,s),l=this._validatePositionWithCache(e,o,r,a);return i.equals(s)&&r.equals(a)&&o.equals(l)?t:new Ms(J.fromPositions(a,l),t.selectionStartKind,t.selectionStartLeftoverVisibleColumns+r.column-a.column,s,t.leftoverVisibleColumns+i.column-s.column)}_setState(e,t,i){if(i&&(i=UZ._validateViewState(e.viewModel,i)),t){const r=e.model.validateRange(t.selectionStart),o=t.selectionStart.equalsRange(r)?t.selectionStartLeftoverVisibleColumns:0,s=e.model.validatePosition(t.position),a=t.position.equals(s)?t.leftoverVisibleColumns:0;t=new Ms(r,t.selectionStartKind,o,s,a)}else{if(!i)return;const r=e.model.validateRange(e.coordinatesConverter.convertViewRangeToModelRange(i.selectionStart)),o=e.model.validatePosition(e.coordinatesConverter.convertViewPositionToModelPosition(i.position));t=new Ms(r,i.selectionStartKind,i.selectionStartLeftoverVisibleColumns,o,i.leftoverVisibleColumns)}if(i){const r=e.coordinatesConverter.validateViewRange(i.selectionStart,t.selectionStart),o=e.coordinatesConverter.validateViewPosition(i.position,t.position);i=new Ms(r,t.selectionStartKind,t.selectionStartLeftoverVisibleColumns,o,t.leftoverVisibleColumns)}else{const r=e.coordinatesConverter.convertModelPositionToViewPosition(new ve(t.selectionStart.startLineNumber,t.selectionStart.startColumn)),o=e.coordinatesConverter.convertModelPositionToViewPosition(new ve(t.selectionStart.endLineNumber,t.selectionStart.endColumn)),s=new J(r.lineNumber,r.column,o.lineNumber,o.column),a=e.coordinatesConverter.convertModelPositionToViewPosition(t.position);i=new Ms(s,t.selectionStartKind,t.selectionStartLeftoverVisibleColumns,a,t.leftoverVisibleColumns)}this.modelState=t,this.viewState=i,this._updateTrackedRange(e)}}class gCe{constructor(e){this.context=e,this.cursors=[new UZ(e)],this.lastAddedCursorIndex=0}dispose(){for(const e of this.cursors)e.dispose(this.context)}startTrackingSelections(){for(const e of this.cursors)e.startTrackingSelection(this.context)}stopTrackingSelections(){for(const e of this.cursors)e.stopTrackingSelection(this.context)}updateContext(e){this.context=e}ensureValidState(){for(const e of this.cursors)e.ensureValidState(this.context)}readSelectionFromMarkers(){return this.cursors.map(e=>e.readSelectionFromMarkers(this.context))}getAll(){return this.cursors.map(e=>e.asCursorState())}getViewPositions(){return this.cursors.map(e=>e.viewState.position)}getTopMostViewPosition(){return vvt(this.cursors,Tc(e=>e.viewState.position,ve.compare)).viewState.position}getBottomMostViewPosition(){return yvt(this.cursors,Tc(e=>e.viewState.position,ve.compare)).viewState.position}getSelections(){return this.cursors.map(e=>e.modelState.selection)}getViewSelections(){return this.cursors.map(e=>e.viewState.selection)}setSelections(e){this.setStates(si.fromModelSelections(e))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(e){e!==null&&(this.cursors[0].setState(this.context,e[0].modelState,e[0].viewState),this._setSecondaryStates(e.slice(1)))}_setSecondaryStates(e){const t=this.cursors.length-1,i=e.length;if(ti){const r=t-i;for(let o=0;o=e+1&&this.lastAddedCursorIndex--,this.cursors[e+1].dispose(this.context),this.cursors.splice(e+1,1)}normalize(){if(this.cursors.length===1)return;const e=this.cursors.slice(0),t=[];for(let i=0,r=e.length;ii.selection,J.compareRangesUsingStarts));for(let i=0;id&&g.index--;e.splice(d,1),t.splice(c,1),this._removeSecondaryCursor(d-1),i--}}}}class pCe{constructor(e,t,i,r){this._cursorContextBrand=void 0,this.model=e,this.viewModel=t,this.coordinatesConverter=i,this.cursorConfig=r}}class BSt{constructor(){this.type=0}}class zSt{constructor(){this.type=1}}class HSt{constructor(e){this.type=2,this._source=e}hasChanged(e){return this._source.hasChanged(e)}}class YSt{constructor(e,t,i){this.selections=e,this.modelSelections=t,this.reason=i,this.type=3}}class xv{constructor(e){this.type=4,e?(this.affectsMinimap=e.affectsMinimap,this.affectsOverviewRuler=e.affectsOverviewRuler,this.affectsGlyphMargin=e.affectsGlyphMargin,this.affectsLineNumber=e.affectsLineNumber):(this.affectsMinimap=!0,this.affectsOverviewRuler=!0,this.affectsGlyphMargin=!0,this.affectsLineNumber=!0)}}class KZ{constructor(){this.type=5}}class USt{constructor(e){this.type=6,this.isFocused=e}}class KSt{constructor(){this.type=7}}class JZ{constructor(){this.type=8}}class bCe{constructor(e,t){this.fromLineNumber=e,this.count=t,this.type=9}}class R7{constructor(e,t){this.type=10,this.fromLineNumber=e,this.toLineNumber=t}}class Z7{constructor(e,t){this.type=11,this.fromLineNumber=e,this.toLineNumber=t}}class _D{constructor(e,t,i,r,o,s,a){this.source=e,this.minimalReveal=t,this.range=i,this.selections=r,this.verticalType=o,this.revealHorizontal=s,this.scrollType=a,this.type=12}}class JSt{constructor(e){this.type=13,this.scrollWidth=e.scrollWidth,this.scrollLeft=e.scrollLeft,this.scrollHeight=e.scrollHeight,this.scrollTop=e.scrollTop,this.scrollWidthChanged=e.scrollWidthChanged,this.scrollLeftChanged=e.scrollLeftChanged,this.scrollHeightChanged=e.scrollHeightChanged,this.scrollTopChanged=e.scrollTopChanged}}class jSt{constructor(e){this.theme=e,this.type=14}}class QSt{constructor(e){this.type=15,this.ranges=e}}class $St{constructor(){this.type=16}}let qSt=class{constructor(){this.type=17}};class ewt extends Fe{constructor(){super(),this._onEvent=this._register(new be),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(e){this._addOutgoingEvent(e),this._emitOutgoingEvents()}_addOutgoingEvent(e){for(let t=0,i=this._outgoingEvents.length;t0;){if(this._collector||this._isConsumingViewEventQueue)return;const e=this._outgoingEvents.shift();e.isNoOp()||this._onEvent.fire(e)}}addViewEventHandler(e){for(let t=0,i=this._eventHandlers.length;t0&&this._emitMany(t)}this._emitOutgoingEvents()}emitSingleViewEvent(e){try{this.beginEmitViewEvents().emitViewEvent(e)}finally{this.endEmitViewEvents()}}_emitMany(e){this._viewEventQueue?this._viewEventQueue=this._viewEventQueue.concat(e):this._viewEventQueue=e,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){const e=this._viewEventQueue;this._viewEventQueue=null;const t=this._eventHandlers.slice(0);for(const i of t)i.handleEvents(e)}}}class twt{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(e){this.viewEvents.push(e)}emitOutgoingEvent(e){this.outgoingEvents.push(e)}}class W7{constructor(e,t,i,r){this.kind=0,this._oldContentWidth=e,this._oldContentHeight=t,this.contentWidth=i,this.contentHeight=r,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(e){return e.kind!==this.kind?null:new W7(this._oldContentWidth,this._oldContentHeight,e.contentWidth,e.contentHeight)}}class A7{constructor(e,t){this.kind=1,this.oldHasFocus=e,this.hasFocus=t}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(e){return e.kind!==this.kind?null:new A7(this.oldHasFocus,e.hasFocus)}}class V7{constructor(e,t,i,r,o,s,a,l){this.kind=2,this._oldScrollWidth=e,this._oldScrollLeft=t,this._oldScrollHeight=i,this._oldScrollTop=r,this.scrollWidth=o,this.scrollLeft=s,this.scrollHeight=a,this.scrollTop=l,this.scrollWidthChanged=this._oldScrollWidth!==this.scrollWidth,this.scrollLeftChanged=this._oldScrollLeft!==this.scrollLeft,this.scrollHeightChanged=this._oldScrollHeight!==this.scrollHeight,this.scrollTopChanged=this._oldScrollTop!==this.scrollTop}isNoOp(){return!this.scrollWidthChanged&&!this.scrollLeftChanged&&!this.scrollHeightChanged&&!this.scrollTopChanged}attemptToMerge(e){return e.kind!==this.kind?null:new V7(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop)}}class nwt{constructor(){this.kind=3}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class iwt{constructor(){this.kind=4}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class jZ{constructor(e,t,i,r,o,s,a){this.kind=6,this.oldSelections=e,this.selections=t,this.oldModelVersionId=i,this.modelVersionId=r,this.source=o,this.reason=s,this.reachedMaxCursorCount=a}static _selectionsAreEqual(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;const i=e.length,r=t.length;if(i!==r)return!1;for(let o=0;o0){const e=this._cursors.getSelections();for(let t=0;ts&&(r=r.slice(0,s),o=!0);const a=LD.from(this._model,this);return this._cursors.setStates(r),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,t,i,a,o)}setCursorColumnSelectData(e){this._columnSelectData=e}revealAll(e,t,i,r,o,s){const a=this._cursors.getViewPositions();let l=null,u=null;a.length>1?u=this._cursors.getViewSelections():l=J.fromPositions(a[0],a[0]),e.emitViewEvent(new _D(t,i,l,u,r,o,s))}revealPrimary(e,t,i,r,o,s){const l=[this._cursors.getPrimaryCursor().viewState.selection];e.emitViewEvent(new _D(t,i,null,l,r,o,s))}saveState(){const e=[],t=this._cursors.getSelections();for(let i=0,r=t.length;i0){const o=si.fromModelSelections(i.resultingSelection);this.setStates(e,"modelChange",i.isUndoing?5:i.isRedoing?6:2,o)&&this.revealAll(e,"modelChange",!1,0,!0,0)}else{const o=this._cursors.readSelectionFromMarkers();this.setStates(e,"modelChange",2,si.fromModelSelections(o))}}}getSelection(){return this._cursors.getPrimaryCursor().modelState.selection}getTopMostViewPosition(){return this._cursors.getTopMostViewPosition()}getBottomMostViewPosition(){return this._cursors.getBottomMostViewPosition()}getCursorColumnSelectData(){if(this._columnSelectData)return this._columnSelectData;const e=this._cursors.getPrimaryCursor(),t=e.viewState.selectionStart.getStartPosition(),i=e.viewState.position;return{isReal:!1,fromViewLineNumber:t.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,t),toViewLineNumber:i.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,i)}}getSelections(){return this._cursors.getSelections()}setSelections(e,t,i,r){this.setStates(e,t,r,si.fromModelSelections(i))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(e){this._prevEditOperationType=e}_pushAutoClosedAction(e,t){const i=[],r=[];for(let a=0,l=e.length;a0&&this._pushAutoClosedAction(i,r),this._prevEditOperationType=e.type}e.shouldPushStackElementAfter&&this._model.pushStackElement()}_interpretCommandResult(e){(!e||e.length===0)&&(e=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(e),this._cursors.normalize()}_emitStateChangedIfNecessary(e,t,i,r,o){const s=LD.from(this._model,this);if(s.equals(r))return!1;const a=this._cursors.getSelections(),l=this._cursors.getViewSelections();if(e.emitViewEvent(new YSt(l,a,i)),!r||r.cursorState.length!==s.cursorState.length||s.cursorState.some((u,c)=>!u.modelState.equals(r.cursorState[c].modelState))){const u=r?r.cursorState.map(d=>d.modelState.selection):null,c=r?r.modelVersionId:0;e.emitOutgoingEvent(new jZ(u,a,c,s.modelVersionId,t||"keyboard",i,o))}return!0}_findAutoClosingPairs(e){if(!e.length)return null;const t=[];for(let i=0,r=e.length;i=0)return null;const s=o.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!s)return null;const a=s[1],l=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(a);if(!l||l.length!==1)return null;const u=l[0].open,c=o.text.length-s[2].length-1,d=o.text.lastIndexOf(u,c-1);if(d===-1)return null;t.push([d,c])}return t}executeEdits(e,t,i,r){let o=null;t==="snippet"&&(o=this._findAutoClosingPairs(i)),o&&(i[0]._isTracked=!0);const s=[],a=[],l=this._model.pushEditOperations(this.getSelections(),i,u=>{if(o)for(let d=0,h=o.length;d0&&this._pushAutoClosedAction(s,a)}_executeEdit(e,t,i,r=0){if(this.context.cursorConfig.readOnly)return;const o=LD.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),e()}catch(s){yn(s)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,i,r,o,!1)&&this.revealAll(t,i,!1,0,!0,0)}getAutoClosedCharacters(){return yCe.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(e){this._compositionState=new ID(this._model,this.getSelections())}endComposition(e,t){const i=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit(()=>{t==="keyboard"&&this._executeEditOperation(Mr.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,i,this.getSelections(),this.getAutoClosedCharacters()))},e,t)}type(e,t,i){this._executeEdit(()=>{if(i==="keyboard"){const r=t.length;let o=0;for(;o{const u=l.getPosition();return new Zt(u.lineNumber,u.column+o,u.lineNumber,u.column+o)});this.setSelections(e,s,a,0)}return}this._executeEdit(()=>{this._executeEditOperation(Mr.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t,i,r,o))},e,s)}paste(e,t,i,r,o){this._executeEdit(()=>{this._executeEditOperation(Mr.paste(this.context.cursorConfig,this._model,this.getSelections(),t,i,r||[]))},e,o,4)}cut(e,t){this._executeEdit(()=>{this._executeEditOperation(nv.cut(this.context.cursorConfig,this._model,this.getSelections()))},e,t)}executeCommand(e,t,i){this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new Zl(0,[t],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},e,i)}executeCommands(e,t,i){this._executeEdit(()=>{this._executeEditOperation(new Zl(0,t,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},e,i)}}class LD{static from(e,t){return new LD(e.getVersionId(),t.getCursorStates())}constructor(e,t){this.modelVersionId=e,this.cursorState=t}equals(e){if(!e||this.modelVersionId!==e.modelVersionId||this.cursorState.length!==e.cursorState.length)return!1;for(let t=0,i=this.cursorState.length;t=t.length||!t[i].strictContainsRange(e[i]))return!1;return!0}}class hwt{static executeCommands(e,t,i){const r={model:e,selectionsBefore:t,trackedRanges:[],trackedRangesDirection:[]},o=this._innerExecuteCommands(r,i);for(let s=0,a=r.trackedRanges.length;s0&&(s[0]._isTracked=!0);let a=e.model.pushEditOperations(e.selectionsBefore,s,u=>{const c=[];for(let m=0;mm.identifier.minor-f.identifier.minor,h=[];for(let m=0;m0?(c[m].sort(d),h[m]=t[m].computeCursorState(e.model,{getInverseEditOperations:()=>c[m],getTrackedSelection:f=>{const g=parseInt(f,10),b=e.model._getTrackedRange(e.trackedRanges[g]);return e.trackedRangesDirection[g]===0?new Zt(b.startLineNumber,b.startColumn,b.endLineNumber,b.endColumn):new Zt(b.endLineNumber,b.endColumn,b.startLineNumber,b.startColumn)}})):h[m]=e.selectionsBefore[m];return h});a||(a=e.selectionsBefore);const l=[];for(const u in o)o.hasOwnProperty(u)&&l.push(parseInt(u,10));l.sort((u,c)=>c-u);for(const u of l)a.splice(u,1);return a}static _arrayIsEmpty(e){for(let t=0,i=e.length;t{J.isEmpty(d)&&h===""||r.push({identifier:{major:t,minor:o++},range:d,text:h,forceMoveMarkers:m,isAutoWhitespaceEdit:i.insertsAutoWhitespace})};let a=!1;const c={addEditOperation:s,addTrackedEditOperation:(d,h,m)=>{a=!0,s(d,h,m)},trackSelection:(d,h)=>{const m=Zt.liftSelection(d);let f;if(m.isEmpty())if(typeof h=="boolean")h?f=2:f=3;else{const y=e.model.getLineMaxColumn(m.startLineNumber);m.startColumn===y?f=2:f=3}else f=1;const g=e.trackedRanges.length,b=e.model._setTrackedRange(null,m,f);return e.trackedRanges[g]=b,e.trackedRangesDirection[g]=m.getDirection(),g.toString()}};try{i.getEditOperations(e.model,c)}catch(d){return yn(d),{operations:[],hadTrackedEditOperation:!1}}return{operations:r,hadTrackedEditOperation:a}}static _getLoserCursorMap(e){e=e.slice(0),e.sort((i,r)=>-J.compareRangesUsingEnds(i.range,r.range));const t={};for(let i=1;io.identifier.major?s=r.identifier.major:s=o.identifier.major,t[s.toString()]=!0;for(let a=0;a0&&i--}}return t}}class mwt{constructor(e,t,i){this.text=e,this.startSelection=t,this.endSelection=i}}class ID{static _capture(e,t){const i=[];for(const r of t){if(r.startLineNumber!==r.endLineNumber)return null;i.push(new mwt(e.getLineContent(r.startLineNumber),r.startColumn-1,r.endColumn-1))}return i}constructor(e,t){this._original=ID._capture(e,t)}deduceOutcome(e,t){if(!this._original)return null;const i=ID._capture(e,t);if(!i||this._original.length!==i.length)return null;const r=[];for(let o=0,s=this._original.length;ovD,tokenizeEncoded:(n,e,t)=>x7(0,t)};async function fwt(n,e,t){if(!t)return CCe(e,n.languageIdCodec,vCe);const i=await bo.getOrCreate(t);return CCe(e,n.languageIdCodec,i||vCe)}function gwt(n,e,t,i,r,o,s){let a="
",l=i,u=0,c=!0;for(let d=0,h=e.getCount();d0;)s&&c?(f+=" ",c=!1):(f+=" ",c=!0),b--;break}case 60:f+="<",c=!1;break;case 62:f+=">",c=!1;break;case 38:f+="&",c=!1;break;case 0:f+="�",c=!1;break;case 65279:case 8232:case 8233:case 133:f+="�",c=!1;break;case 13:f+="​",c=!1;break;case 32:s&&c?(f+=" ",c=!1):(f+=" ",c=!0);break;default:f+=String.fromCharCode(g),c=!1}}if(a+=`${f}`,m>r||l>=r)break}return a+="
",a}function CCe(n,e,t){let i='
';const r=Pm(n);let o=t.getInitialState();for(let s=0,a=r.length;s0&&(i+="
");const u=t.tokenizeEncoded(l,!0,o);ls.convertToEndOffset(u.tokens,l.length);const d=new ls(u.tokens,l,e).inflate();let h=0;for(let m=0,f=d.getCount();m${zR(l.substring(h,b))}`,h=b}o=u.endState}return i+="
",i}class pwt{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(e){this._hasPending=!0,this._inserts.push(e)}change(e){this._hasPending=!0,this._changes.push(e)}remove(e){this._hasPending=!0,this._removes.push(e)}mustCommit(){return this._hasPending}commit(e){if(!this._hasPending)return;const t=this._inserts,i=this._changes,r=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],e._commitPendingChanges(t,i,r)}}class bwt{constructor(e,t,i,r,o){this.id=e,this.afterLineNumber=t,this.ordinal=i,this.height=r,this.minWidth=o,this.prefixSum=0}}let SCe=class zee{constructor(e,t,i,r){this._instanceId=l0e(++zee.INSTANCE_COUNT),this._pendingChanges=new pwt,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=e,this._lineHeight=t,this._paddingTop=i,this._paddingBottom=r}static findInsertionIndex(e,t,i){let r=0,o=e.length;for(;r>>1;t===e[s].afterLineNumber?i{t=!0,r=r|0,o=o|0,s=s|0,a=a|0;const l=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new bwt(l,r,o,s,a)),l},changeOneWhitespace:(r,o,s)=>{t=!0,o=o|0,s=s|0,this._pendingChanges.change({id:r,newAfterLineNumber:o,newHeight:s})},removeWhitespace:r=>{t=!0,this._pendingChanges.remove({id:r})}})}finally{this._pendingChanges.commit(this)}return t}_commitPendingChanges(e,t,i){if((e.length>0||i.length>0)&&(this._minWidth=-1),e.length+t.length+i.length<=1){for(const l of e)this._insertWhitespace(l);for(const l of t)this._changeOneWhitespace(l.id,l.newAfterLineNumber,l.newHeight);for(const l of i){const u=this._findWhitespaceIndex(l.id);u!==-1&&this._removeWhitespace(u)}return}const r=new Set;for(const l of i)r.add(l.id);const o=new Map;for(const l of t)o.set(l.id,l);const s=l=>{const u=[];for(const c of l)if(!r.has(c.id)){if(o.has(c.id)){const d=o.get(c.id);c.afterLineNumber=d.newAfterLineNumber,c.height=d.newHeight}u.push(c)}return u},a=s(this._arr).concat(s(e));a.sort((l,u)=>l.afterLineNumber===u.afterLineNumber?l.ordinal-u.ordinal:l.afterLineNumber-u.afterLineNumber),this._arr=a,this._prefixSumValidIndex=-1}_checkPendingChanges(){this._pendingChanges.mustCommit()&&this._pendingChanges.commit(this)}_insertWhitespace(e){const t=zee.findInsertionIndex(this._arr,e.afterLineNumber,e.ordinal);this._arr.splice(t,0,e),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,t-1)}_findWhitespaceIndex(e){const t=this._arr;for(let i=0,r=t.length;it&&(this._arr[i].afterLineNumber-=t-e+1)}}onLinesInserted(e,t){this._checkPendingChanges(),e=e|0,t=t|0,this._lineCount+=t-e+1;for(let i=0,r=this._arr.length;i=t.length||t[a+1].afterLineNumber>=e)return a;i=a+1|0}else r=a-1|0}return-1}_findFirstWhitespaceAfterLineNumber(e){e=e|0;const i=this._findLastWhitespaceBeforeLineNumber(e)+1;return i1?i=this._lineHeight*(e-1):i=0;const r=this.getWhitespaceAccumulatedHeightBeforeLineNumber(e-(t?1:0));return i+r+this._paddingTop}getVerticalOffsetAfterLineNumber(e,t=!1){this._checkPendingChanges(),e=e|0;const i=this._lineHeight*e,r=this.getWhitespaceAccumulatedHeightBeforeLineNumber(e+(t?1:0));return i+r+this._paddingTop}getWhitespaceMinWidth(){if(this._checkPendingChanges(),this._minWidth===-1){let e=0;for(let t=0,i=this._arr.length;tt}isInTopPadding(e){return this._paddingTop===0?!1:(this._checkPendingChanges(),e=t-this._paddingBottom}getLineNumberAtOrAfterVerticalOffset(e){if(this._checkPendingChanges(),e=e|0,e<0)return 1;const t=this._lineCount|0,i=this._lineHeight;let r=1,o=t;for(;r=a+i)r=s+1;else{if(e>=a)return s;o=s}}return r>t?t:r}getLinesViewportData(e,t){this._checkPendingChanges(),e=e|0,t=t|0;const i=this._lineHeight,r=this.getLineNumberAtOrAfterVerticalOffset(e)|0,o=this.getVerticalOffsetForLineNumber(r)|0;let s=this._lineCount|0,a=this.getFirstWhitespaceIndexAfterLineNumber(r)|0;const l=this.getWhitespacesCount()|0;let u,c;a===-1?(a=l,c=s+1,u=0):(c=this.getAfterLineNumberForWhitespaceIndex(a)|0,u=this.getHeightForWhitespaceIndex(a)|0);let d=o,h=d;const m=5e5;let f=0;o>=m&&(f=Math.floor(o/m)*m,f=Math.floor(f/i)*i,h-=f);const g=[],b=e+(t-e)/2;let y=-1;for(let L=r;L<=s;L++){if(y===-1){const I=d,D=d+i;(I<=b&&bb)&&(y=L)}for(d+=i,g[L-r]=h,h+=i;c===L;)h+=u,d+=u,a++,a>=l?c=s+1:(c=this.getAfterLineNumberForWhitespaceIndex(a)|0,u=this.getHeightForWhitespaceIndex(a)|0);if(d>=t){s=L;break}}y===-1&&(y=s);const C=this.getVerticalOffsetForLineNumber(s)|0;let w=r,x=s;return wt&&x--,{bigNumbersDelta:f,startLineNumber:r,endLineNumber:s,relativeVerticalOffset:g,centeredLineNumber:y,completelyVisibleStartLineNumber:w,completelyVisibleEndLineNumber:x,lineHeight:this._lineHeight}}getVerticalOffsetForWhitespaceIndex(e){this._checkPendingChanges(),e=e|0;const t=this.getAfterLineNumberForWhitespaceIndex(e);let i;t>=1?i=this._lineHeight*t:i=0;let r;return e>0?r=this.getWhitespacesAccumulatedHeight(e-1):r=0,i+r+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(e){this._checkPendingChanges(),e=e|0;let t=0,i=this.getWhitespacesCount()-1;if(i<0)return-1;const r=this.getVerticalOffsetForWhitespaceIndex(i),o=this.getHeightForWhitespaceIndex(i);if(e>=r+o)return-1;for(;t=a+l)t=s+1;else{if(e>=a)return s;i=s}}return t}getWhitespaceAtVerticalOffset(e){this._checkPendingChanges(),e=e|0;const t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0||t>=this.getWhitespacesCount())return null;const i=this.getVerticalOffsetForWhitespaceIndex(t);if(i>e)return null;const r=this.getHeightForWhitespaceIndex(t),o=this.getIdForWhitespaceIndex(t),s=this.getAfterLineNumberForWhitespaceIndex(t);return{id:o,afterLineNumber:s,verticalOffset:i,height:r}}getWhitespaceViewportData(e,t){this._checkPendingChanges(),e=e|0,t=t|0;const i=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),r=this.getWhitespacesCount()-1;if(i<0)return[];const o=[];for(let s=i;s<=r;s++){const a=this.getVerticalOffsetForWhitespaceIndex(s),l=this.getHeightForWhitespaceIndex(s);if(a>=t)break;o.push({id:this.getIdForWhitespaceIndex(s),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(s),verticalOffset:a,height:l})}return o}getWhitespaces(){return this._checkPendingChanges(),this._arr.slice(0)}getWhitespacesCount(){return this._checkPendingChanges(),this._arr.length}getIdForWhitespaceIndex(e){return this._checkPendingChanges(),e=e|0,this._arr[e].id}getAfterLineNumberForWhitespaceIndex(e){return this._checkPendingChanges(),e=e|0,this._arr[e].afterLineNumber}getHeightForWhitespaceIndex(e){return this._checkPendingChanges(),e=e|0,this._arr[e].height}};SCe.INSTANCE_COUNT=0;const ywt=125;class FD{constructor(e,t,i,r){e=e|0,t=t|0,i=i|0,r=r|0,e<0&&(e=0),t<0&&(t=0),i<0&&(i=0),r<0&&(r=0),this.width=e,this.contentWidth=t,this.scrollWidth=Math.max(e,t),this.height=i,this.contentHeight=r,this.scrollHeight=Math.max(i,r)}equals(e){return this.width===e.width&&this.contentWidth===e.contentWidth&&this.height===e.height&&this.contentHeight===e.contentHeight}}class vwt extends Fe{constructor(e,t){super(),this._onDidContentSizeChange=this._register(new be),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new FD(0,0,0,0),this._scrollable=this._register(new o2({forceIntegerValues:!0,smoothScrollDuration:e,scheduleAtNextAnimationFrame:t})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(e){this._scrollable.setSmoothScrollDuration(e)}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}getScrollDimensions(){return this._dimensions}setScrollDimensions(e){if(this._dimensions.equals(e))return;const t=this._dimensions;this._dimensions=e,this._scrollable.setScrollDimensions({width:e.width,scrollWidth:e.scrollWidth,height:e.height,scrollHeight:e.scrollHeight},!0);const i=t.contentWidth!==e.contentWidth,r=t.contentHeight!==e.contentHeight;(i||r)&&this._onDidContentSizeChange.fire(new W7(t.contentWidth,t.contentHeight,e.contentWidth,e.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(e){this._scrollable.setScrollPositionNow(e)}setScrollPositionSmooth(e){this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}}class Cwt extends Fe{constructor(e,t,i){super(),this._configuration=e;const r=this._configuration.options,o=r.get(145),s=r.get(84);this._linesLayout=new SCe(t,r.get(67),s.top,s.bottom),this._maxLineWidth=0,this._overlayWidgetsMinWidth=0,this._scrollable=this._register(new vwt(0,i)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new FD(o.contentWidth,0,o.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}dispose(){super.dispose()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(114)?ywt:0)}onConfigurationChanged(e){const t=this._configuration.options;if(e.hasChanged(67)&&this._linesLayout.setLineHeight(t.get(67)),e.hasChanged(84)){const i=t.get(84);this._linesLayout.setPadding(i.top,i.bottom)}if(e.hasChanged(145)){const i=t.get(145),r=i.contentWidth,o=i.height,s=this._scrollable.getScrollDimensions(),a=s.contentWidth;this._scrollable.setScrollDimensions(new FD(r,s.contentWidth,o,this._getContentHeight(r,o,a)))}else this._updateHeight();e.hasChanged(114)&&this._configureSmoothScrollDuration()}onFlushed(e){this._linesLayout.onFlushed(e)}onLinesDeleted(e,t){this._linesLayout.onLinesDeleted(e,t)}onLinesInserted(e,t){this._linesLayout.onLinesInserted(e,t)}_getHorizontalScrollbarHeight(e,t){const r=this._configuration.options.get(103);return r.horizontal===2||e>=t?0:r.horizontalScrollbarSize}_getContentHeight(e,t,i){const r=this._configuration.options;let o=this._linesLayout.getLinesTotalHeight();return r.get(105)?o+=Math.max(0,t-r.get(67)-r.get(84).bottom):r.get(103).ignoreHorizontalScrollbarInContentHeight||(o+=this._getHorizontalScrollbarHeight(e,i)),o}_updateHeight(){const e=this._scrollable.getScrollDimensions(),t=e.width,i=e.height,r=e.contentWidth;this._scrollable.setScrollDimensions(new FD(t,e.contentWidth,i,this._getContentHeight(t,i,r)))}getCurrentViewport(){const e=this._scrollable.getScrollDimensions(),t=this._scrollable.getCurrentScrollPosition();return new ave(t.scrollTop,t.scrollLeft,e.width,e.height)}getFutureViewport(){const e=this._scrollable.getScrollDimensions(),t=this._scrollable.getFutureScrollPosition();return new ave(t.scrollTop,t.scrollLeft,e.width,e.height)}_computeContentWidth(){const e=this._configuration.options,t=this._maxLineWidth,i=e.get(146),r=e.get(50),o=e.get(145);if(i.isViewportWrapping){const s=e.get(73);return t>o.contentWidth+r.typicalHalfwidthCharacterWidth&&s.enabled&&s.side==="right"?t+o.verticalScrollbarWidth:t}else{const s=e.get(104)*r.typicalHalfwidthCharacterWidth,a=this._linesLayout.getWhitespaceMinWidth();return Math.max(t+s+o.verticalScrollbarWidth,a,this._overlayWidgetsMinWidth)}}setMaxLineWidth(e){this._maxLineWidth=e,this._updateContentWidth()}setOverlayWidgetsMinWidth(e){this._overlayWidgetsMinWidth=e,this._updateContentWidth()}_updateContentWidth(){const e=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new FD(e.width,this._computeContentWidth(),e.height,e.contentHeight)),this._updateHeight()}saveState(){const e=this._scrollable.getFutureScrollPosition(),t=e.scrollTop,i=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t),r=this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(i);return{scrollTop:t,scrollTopWithoutViewZones:t-r,scrollLeft:e.scrollLeft}}changeWhitespace(e){const t=this._linesLayout.changeWhitespace(e);return t&&this.onHeightMaybeChanged(),t}getVerticalOffsetForLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetForLineNumber(e,t)}getVerticalOffsetAfterLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetAfterLineNumber(e,t)}isAfterLines(e){return this._linesLayout.isAfterLines(e)}isInTopPadding(e){return this._linesLayout.isInTopPadding(e)}isInBottomPadding(e){return this._linesLayout.isInBottomPadding(e)}getLineNumberAtVerticalOffset(e){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)}getWhitespaceAtVerticalOffset(e){return this._linesLayout.getWhitespaceAtVerticalOffset(e)}getLinesViewportData(){const e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)}getLinesViewportDataAtScrollTop(e){const t=this._scrollable.getScrollDimensions();return e+t.height>t.scrollHeight&&(e=t.scrollHeight-t.height),e<0&&(e=0),this._linesLayout.getLinesViewportData(e,e+t.height)}getWhitespaceViewportData(){const e=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(e.top,e.top+e.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}setScrollPosition(e,t){t===1?this._scrollable.setScrollPositionNow(e):this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}deltaScrollNow(e,t){const i=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:i.scrollLeft+e,scrollTop:i.scrollTop+t})}}class Swt{constructor(e,t,i,r,o){this.editorId=e,this.model=t,this.configuration=i,this._linesCollection=r,this._coordinatesConverter=o,this._decorationsCache=Object.create(null),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}reset(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}_getOrCreateViewModelDecoration(e){const t=e.id;let i=this._decorationsCache[t];if(!i){const r=e.range,o=e.options;let s;if(o.isWholeLine){const a=this._coordinatesConverter.convertModelPositionToViewPosition(new ve(r.startLineNumber,1),0,!1,!0),l=this._coordinatesConverter.convertModelPositionToViewPosition(new ve(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber)),1);s=new J(a.lineNumber,a.column,l.lineNumber,l.column)}else s=this._coordinatesConverter.convertModelRangeToViewRange(r,1);i=new lve(s,o),this._decorationsCache[t]=i}return i}getMinimapDecorationsInRange(e){return this._getDecorationsInRange(e,!0,!1).decorations}getDecorationsViewportData(e){let t=this._cachedModelDecorationsResolver!==null;return t=t&&e.equalsRange(this._cachedModelDecorationsResolverViewRange),t||(this._cachedModelDecorationsResolver=this._getDecorationsInRange(e,!1,!1),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver}getInlineDecorationsOnLine(e,t=!1,i=!1){const r=new J(e,this._linesCollection.getViewLineMinColumn(e),e,this._linesCollection.getViewLineMaxColumn(e));return this._getDecorationsInRange(r,t,i).inlineDecorations[0]}_getDecorationsInRange(e,t,i){const r=this._linesCollection.getDecorationsInRange(e,this.editorId,$9(this.configuration.options),t,i),o=e.startLineNumber,s=e.endLineNumber,a=[];let l=0;const u=[];for(let c=o;c<=s;c++)u[c-o]=[];for(let c=0,d=r.length;ct===1)}function P7(n,e){return wCe(n,e.range,t=>t===2)}function wCe(n,e,t){for(let i=e.startLineNumber;i<=e.endLineNumber;i++){const r=n.tokenization.getLineTokens(i),o=i===e.startLineNumber,s=i===e.endLineNumber;let a=o?r.findTokenIndexAtOffset(e.startColumn-1):0;for(;ae.endColumn-1);){if(!t(r.getStandardTokenType(a)))return!1;a++}}return!0}function O7(n,e){return n===null?e?QZ.INSTANCE:$Z.INSTANCE:new wwt(n,e)}class wwt{constructor(e,t){this._projectionData=e,this._isVisible=t}isVisible(){return this._isVisible}setVisible(e){return this._isVisible=e,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(e,t,i){this._assertVisible();const r=i>0?this._projectionData.breakOffsets[i-1]:0,o=this._projectionData.breakOffsets[i];let s;if(this._projectionData.injectionOffsets!==null){const a=this._projectionData.injectionOffsets.map((u,c)=>new Ph(0,0,u+1,this._projectionData.injectionOptions[c],0));s=Ph.applyInjectedText(e.getLineContent(t),a).substring(r,o)}else s=e.getValueInRange({startLineNumber:t,startColumn:r+1,endLineNumber:t,endColumn:o+1});return i>0&&(s=xCe(this._projectionData.wrappedTextIndentLength)+s),s}getViewLineLength(e,t,i){return this._assertVisible(),this._projectionData.getLineLength(i)}getViewLineMinColumn(e,t,i){return this._assertVisible(),this._projectionData.getMinOutputOffset(i)+1}getViewLineMaxColumn(e,t,i){return this._assertVisible(),this._projectionData.getMaxOutputOffset(i)+1}getViewLineData(e,t,i){const r=new Array;return this.getViewLinesData(e,t,i,1,0,[!0],r),r[0]}getViewLinesData(e,t,i,r,o,s,a){this._assertVisible();const l=this._projectionData,u=l.injectionOffsets,c=l.injectionOptions;let d=null;if(u){d=[];let m=0,f=0;for(let g=0;g0?l.breakOffsets[g-1]:0,C=l.breakOffsets[g];for(;fC)break;if(y0?l.wrappedTextIndentLength:0,N=D+Math.max(x-y,0),T=D+Math.min(L-y,C-y);N!==T&&b.push(new Mvt(N,T,I.inlineClassName,I.inlineClassNameAffectsLetterSpacing))}}if(L<=C)m+=w,f++;else break}}}let h;u?h=e.tokenization.getLineTokens(t).withInserted(u.map((m,f)=>({offset:m,text:c[f].content,tokenMetadata:ls.defaultTokenMetadata}))):h=e.tokenization.getLineTokens(t);for(let m=i;m0?r.wrappedTextIndentLength:0,s=i>0?r.breakOffsets[i-1]:0,a=r.breakOffsets[i],l=e.sliceAndInflate(s,a,o);let u=l.getLineContent();i>0&&(u=xCe(r.wrappedTextIndentLength)+u);const c=this._projectionData.getMinOutputOffset(i)+1,d=u.length+1,h=i+1=B7.length)for(let e=1;e<=n;e++)B7[e]=xwt(e);return B7[n]}function xwt(n){return new Array(n+1).join(" ")}class _wt{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=Nw(e);const i=this.values,r=this.prefixSum,o=t.length;return o===0?!1:(this.values=new Uint32Array(i.length+o),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e),e+o),this.values.set(t,e),e-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=Nw(e),t=Nw(t),this.values[e]===t?!1:(this.values[e]=t,e-1=i.length)return!1;const o=i.length-e;return t>=o&&(t=o),t===0?!1:(this.values=new Uint32Array(i.length-t),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=Nw(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;t===0&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let i=t;i<=e;i++)this.prefixSum[i]=this.prefixSum[i-1]+this.values[i];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,i=this.values.length-1,r=0,o=0,s=0;for(;t<=i;)if(r=t+(i-t)/2|0,o=this.prefixSum[r],s=o-this.values[r],e=o)t=r+1;else break;return new _Ce(r,e-s)}}class Lwt{constructor(e){this._values=e,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(e){return this._ensureValid(),e===0?0:this._prefixSum[e-1]}getIndexOf(e){this._ensureValid();const t=this._indexBySum[e],i=t>0?this._prefixSum[t-1]:0;return new _Ce(t,e-i)}removeValues(e,t){this._values.splice(e,t),this._invalidate(e)}insertValues(e,t){this._values=Z9(this._values,e,t),this._invalidate(e)}_invalidate(e){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,e-1)}_ensureValid(){if(!this._isValid){for(let e=this._validEndIndex+1,t=this._values.length;e0?this._prefixSum[e-1]:0;this._prefixSum[e]=r+i;for(let o=0;oy.lineNumber===g+1);s.addRequest(i[g],b,t?t[g]:null)}const l=s.finalize(),u=[],c=this.hiddenAreasDecorationIds.map(g=>this.model.getDecorationRange(g)).sort(J.compareRangesUsingStarts);let d=1,h=0,m=-1,f=m+1=d&&b<=h,C=O7(l[g],!y);u[g]=C.getViewLineCount(),this.modelLineProjections[g]=C}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new Lwt(u)}getHiddenAreas(){return this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e))}setHiddenAreas(e){const t=e.map(h=>this.model.validateRange(h)),i=Fwt(t),r=this.hiddenAreasDecorationIds.map(h=>this.model.getDecorationRange(h)).sort(J.compareRangesUsingStarts);if(i.length===r.length){let h=!1;for(let m=0;m({range:h,options:vn.EMPTY}));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,o);const s=i;let a=1,l=0,u=-1,c=u+1=a&&m<=l?this.modelLineProjections[h].isVisible()&&(this.modelLineProjections[h]=this.modelLineProjections[h].setVisible(!1),f=!0):(d=!0,this.modelLineProjections[h].isVisible()||(this.modelLineProjections[h]=this.modelLineProjections[h].setVisible(!0),f=!0)),f){const g=this.modelLineProjections[h].getViewLineCount();this.projectedModelLineLineCounts.setValue(h,g)}}return d||this.setHiddenAreas([]),!0}modelPositionIsVisible(e,t){return e<1||e>this.modelLineProjections.length?!1:this.modelLineProjections[e-1].isVisible()}getModelLineViewLineCount(e){return e<1||e>this.modelLineProjections.length?1:this.modelLineProjections[e-1].getViewLineCount()}setTabSize(e){return this.tabSize===e?!1:(this.tabSize=e,this._constructLines(!1,null),!0)}setWrappingSettings(e,t,i,r,o){const s=this.fontInfo.equals(e),a=this.wrappingStrategy===t,l=this.wrappingColumn===i,u=this.wrappingIndent===r,c=this.wordBreak===o;if(s&&a&&l&&u&&c)return!1;const d=s&&a&&!l&&u&&c;this.fontInfo=e,this.wrappingStrategy=t,this.wrappingColumn=i,this.wrappingIndent=r,this.wordBreak=o;let h=null;if(d){h=[];for(let m=0,f=this.modelLineProjections.length;m2&&!this.modelLineProjections[t-2].isVisible(),s=t===1?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1;let a=0;const l=[],u=[];for(let c=0,d=r.length;cl?(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,d=c+l-1,f=d+1,g=f+(o-l)-1,u=!0):ot?t:e|0}getActiveIndentGuide(e,t,i){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),i=this._toValidViewLineNumber(i);const r=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),o=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),s=this.convertViewPositionToModelPosition(i,this.getViewLineMinColumn(i)),a=this.model.guides.getActiveIndentGuide(r.lineNumber,o.lineNumber,s.lineNumber),l=this.convertModelPositionToViewPosition(a.startLineNumber,1),u=this.convertModelPositionToViewPosition(a.endLineNumber,this.model.getLineMaxColumn(a.endLineNumber));return{startLineNumber:l.lineNumber,endLineNumber:u.lineNumber,indent:a.indent}}getViewLineInfo(e){e=this._toValidViewLineNumber(e);const t=this.projectedModelLineLineCounts.getIndexOf(e-1),i=t.index,r=t.remainder;return new LCe(i+1,r)}getMinColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(e){const t=this.modelLineProjections[e.modelLineNumber-1],i=t.getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,i);return new ve(e.modelLineNumber,r)}getModelEndPositionOfViewLine(e){const t=this.modelLineProjections[e.modelLineNumber-1],i=t.getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,i);return new ve(e.modelLineNumber,r)}getViewLineInfosGroupedByModelRanges(e,t){const i=this.getViewLineInfo(e),r=this.getViewLineInfo(t),o=new Array;let s=this.getModelStartPositionOfViewLine(i),a=new Array;for(let l=i.modelLineNumber;l<=r.modelLineNumber;l++){const u=this.modelLineProjections[l-1];if(u.isVisible()){const c=l===i.modelLineNumber?i.modelLineWrappedLineIdx:0,d=l===r.modelLineNumber?r.modelLineWrappedLineIdx+1:u.getViewLineCount();for(let h=c;h{if(m.forWrappedLinesAfterColumn!==-1&&this.modelLineProjections[c.modelLineNumber-1].getViewPositionOfModelPosition(0,m.forWrappedLinesAfterColumn).lineNumber>=c.modelLineWrappedLineIdx||m.forWrappedLinesBeforeOrAtColumn!==-1&&this.modelLineProjections[c.modelLineNumber-1].getViewPositionOfModelPosition(0,m.forWrappedLinesBeforeOrAtColumn).lineNumberc.modelLineWrappedLineIdx)return}const g=this.convertModelPositionToViewPosition(c.modelLineNumber,m.horizontalLine.endColumn),b=this.modelLineProjections[c.modelLineNumber-1].getViewPositionOfModelPosition(0,m.horizontalLine.endColumn);return b.lineNumber===c.modelLineWrappedLineIdx?new gv(m.visibleColumn,f,m.className,new $F(m.horizontalLine.top,g.column),-1,-1):b.lineNumber!!m))}}return s}getViewLinesIndentGuides(e,t){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);const i=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),r=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t));let o=[];const s=[],a=[],l=i.lineNumber-1,u=r.lineNumber-1;let c=null;for(let f=l;f<=u;f++){const g=this.modelLineProjections[f];if(g.isVisible()){const b=g.getViewLineNumberOfModelPosition(0,f===l?i.column:1),y=g.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(f+1)),C=y-b+1;let w=0;C>1&&g.getViewLineMinColumn(this.model,f+1,y)===1&&(w=b===0?1:2),s.push(C),a.push(w),c===null&&(c=new ve(f+1,0))}else c!==null&&(o=o.concat(this.model.guides.getLinesIndentGuides(c.lineNumber,f)),c=null)}c!==null&&(o=o.concat(this.model.guides.getLinesIndentGuides(c.lineNumber,r.lineNumber)),c=null);const d=t-e+1,h=new Array(d);let m=0;for(let f=0,g=o.length;ft&&(f=!0,m=t-o+1),d.getViewLinesData(this.model,u+1,h,m,o-e,i,l),o+=m,f)break}return l}validateViewPosition(e,t,i){e=this._toValidViewLineNumber(e);const r=this.projectedModelLineLineCounts.getIndexOf(e-1),o=r.index,s=r.remainder,a=this.modelLineProjections[o],l=a.getViewLineMinColumn(this.model,o+1,s),u=a.getViewLineMaxColumn(this.model,o+1,s);tu&&(t=u);const c=a.getModelColumnOfViewPosition(s,t);return this.model.validatePosition(new ve(o+1,c)).equals(i)?new ve(e,t):this.convertModelPositionToViewPosition(i.lineNumber,i.column)}validateViewRange(e,t){const i=this.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),r=this.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new J(i.lineNumber,i.column,r.lineNumber,r.column)}convertViewPositionToModelPosition(e,t){const i=this.getViewLineInfo(e),r=this.modelLineProjections[i.modelLineNumber-1].getModelColumnOfViewPosition(i.modelLineWrappedLineIdx,t);return this.model.validatePosition(new ve(i.modelLineNumber,r))}convertViewRangeToModelRange(e){const t=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),i=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new J(t.lineNumber,t.column,i.lineNumber,i.column)}convertModelPositionToViewPosition(e,t,i=2,r=!1,o=!1){const s=this.model.validatePosition(new ve(e,t)),a=s.lineNumber,l=s.column;let u=a-1,c=!1;if(o)for(;u0&&!this.modelLineProjections[u].isVisible();)u--,c=!0;if(u===0&&!this.modelLineProjections[u].isVisible())return new ve(r?0:1,1);const d=1+this.projectedModelLineLineCounts.getPrefixSum(u);let h;return c?o?h=this.modelLineProjections[u].getViewPositionOfModelPosition(d,1,i):h=this.modelLineProjections[u].getViewPositionOfModelPosition(d,this.model.getLineMaxColumn(u+1),i):h=this.modelLineProjections[a-1].getViewPositionOfModelPosition(d,l,i),h}convertModelRangeToViewRange(e,t=0){if(e.isEmpty()){const i=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,t);return J.fromPositions(i)}else{const i=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,1),r=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn,0);return new J(i.lineNumber,i.column,r.lineNumber,r.column)}}getViewLineNumberOfModelPosition(e,t){let i=e-1;if(this.modelLineProjections[i].isVisible()){const o=1+this.projectedModelLineLineCounts.getPrefixSum(i);return this.modelLineProjections[i].getViewLineNumberOfModelPosition(o,t)}for(;i>0&&!this.modelLineProjections[i].isVisible();)i--;if(i===0&&!this.modelLineProjections[i].isVisible())return 1;const r=1+this.projectedModelLineLineCounts.getPrefixSum(i);return this.modelLineProjections[i].getViewLineNumberOfModelPosition(r,this.model.getLineMaxColumn(i+1))}getDecorationsInRange(e,t,i,r,o){const s=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),a=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(a.lineNumber-s.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new J(s.lineNumber,1,a.lineNumber,a.column),t,i,r,o);let l=[];const u=s.lineNumber-1,c=a.lineNumber-1;let d=null;for(let g=u;g<=c;g++)if(this.modelLineProjections[g].isVisible())d===null&&(d=new ve(g+1,g===u?s.column:1));else if(d!==null){const y=this.model.getLineMaxColumn(g);l=l.concat(this.model.getDecorationsInRange(new J(d.lineNumber,d.column,g,y),t,i,r)),d=null}d!==null&&(l=l.concat(this.model.getDecorationsInRange(new J(d.lineNumber,d.column,a.lineNumber,a.column),t,i,r)),d=null),l.sort((g,b)=>{const y=J.compareRangesUsingStarts(g.range,b.range);return y===0?g.idb.id?1:0:y});const h=[];let m=0,f=null;for(const g of l){const b=g.id;f!==b&&(f=b,h[m++]=g)}return h}getInjectedTextAt(e){const t=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[t.modelLineNumber-1].getInjectedTextAt(t.modelLineWrappedLineIdx,e.column)}normalizePosition(e,t){const i=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[i.modelLineNumber-1].normalizePosition(i.modelLineWrappedLineIdx,e,t)}getLineIndentColumn(e){const t=this.getViewLineInfo(e);return t.modelLineWrappedLineIdx===0?this.model.getLineIndentColumn(t.modelLineNumber):0}}function Fwt(n){if(n.length===0)return[];const e=n.slice();e.sort(J.compareRangesUsingStarts);const t=[];let i=e[0].startLineNumber,r=e[0].endLineNumber;for(let o=1,s=e.length;or+1?(t.push(new J(i,1,r,1)),i=a.startLineNumber,r=a.endLineNumber):a.endLineNumber>r&&(r=a.endLineNumber)}return t.push(new J(i,1,r,1)),t}class LCe{constructor(e,t){this.modelLineNumber=e,this.modelLineWrappedLineIdx=t}}class ICe{constructor(e,t){this.modelRange=e,this.viewLines=t}}class Dwt{constructor(e){this._lines=e}convertViewPositionToModelPosition(e){return this._lines.convertViewPositionToModelPosition(e.lineNumber,e.column)}convertViewRangeToModelRange(e){return this._lines.convertViewRangeToModelRange(e)}validateViewPosition(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)}validateViewRange(e,t){return this._lines.validateViewRange(e,t)}convertModelPositionToViewPosition(e,t,i,r){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column,t,i,r)}convertModelRangeToViewRange(e,t){return this._lines.convertModelRangeToViewRange(e,t)}modelPositionIsVisible(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)}getModelLineViewLineCount(e){return this._lines.getModelLineViewLineCount(e)}getViewLineNumberOfModelPosition(e,t){return this._lines.getViewLineNumberOfModelPosition(e,t)}}class Nwt{constructor(e){this.model=e}dispose(){}createCoordinatesConverter(){return new Mwt(this)}getHiddenAreas(){return[]}setHiddenAreas(e){return!1}setTabSize(e){return!1}setWrappingSettings(e,t,i,r){return!1}createLineBreaksComputer(){const e=[];return{addRequest:(t,i,r)=>{e.push(null)},finalize:()=>e}}onModelFlushed(){}onModelLinesDeleted(e,t,i){return new R7(t,i)}onModelLinesInserted(e,t,i,r){return new Z7(t,i)}onModelLineChanged(e,t,i){return[!1,new bCe(t,1),null,null]}acceptVersionId(e){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(e,t,i){return{startLineNumber:e,endLineNumber:e,indent:0}}getViewLinesBracketGuides(e,t,i){return new Array(t-e+1).fill([])}getViewLinesIndentGuides(e,t){const i=t-e+1,r=new Array(i);for(let o=0;ot)}getModelLineViewLineCount(e){return 1}getViewLineNumberOfModelPosition(e,t){return e}}const _v=lf.Right;class kwt{constructor(e){this.persist=0,this._requiredLanes=1,this.lanes=new Uint8Array(Math.ceil((e+1)*_v/8))}reset(e){const t=Math.ceil((e+1)*_v/8);this.lanes.length>>3]|=1<>>3]&1<>>3]&1<this._updateConfigurationViewLineCountNow(),0)),this._hasFocus=!1,this._viewportStart=z7.create(this.model),this.glyphLanes=new kwt(0),this.model.isTooLargeForTokenization())this._lines=new Nwt(this.model);else{const c=this._configuration.options,d=c.get(50),h=c.get(139),m=c.get(146),f=c.get(138),g=c.get(129);this._lines=new Iwt(this._editorId,this.model,r,o,d,this.model.getOptions().tabSize,h,m.wrappingColumn,f,g)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new dwt(i,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new Cwt(this._configuration,this.getLineCount(),s)),this._register(this.viewLayout.onDidScroll(c=>{c.scrollTopChanged&&this._handleVisibleLinesChanged(),c.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new JSt(c)),this._eventDispatcher.emitOutgoingEvent(new V7(c.oldScrollWidth,c.oldScrollLeft,c.oldScrollHeight,c.oldScrollTop,c.scrollWidth,c.scrollLeft,c.scrollHeight,c.scrollTop))})),this._register(this.viewLayout.onDidContentSizeChange(c=>{this._eventDispatcher.emitOutgoingEvent(c)})),this._decorations=new Swt(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast(c=>{try{const d=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(d,c)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(qF.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new $St)})),this._register(this._themeService.onDidColorThemeChange(c=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new jSt(c))})),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(e){this._eventDispatcher.addViewEventHandler(e)}removeViewEventHandler(e){this._eventDispatcher.removeViewEventHandler(e)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){const e=this.viewLayout.getLinesViewportData(),t=new J(e.startLineNumber,this.getLineMinColumn(e.startLineNumber),e.endLineNumber,this.getLineMaxColumn(e.endLineNumber));return this._toModelVisibleRanges(t)}visibleLinesStabilized(){const e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!0)}_handleVisibleLinesChanged(){const e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!1)}setHasFocus(e){this._hasFocus=e,this._cursor.setHasFocus(e),this._eventDispatcher.emitSingleViewEvent(new USt(e)),this._eventDispatcher.emitOutgoingEvent(new A7(!e,e))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new BSt)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new zSt)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){const e=new ve(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber)),t=this.coordinatesConverter.convertViewPositionToModelPosition(e);return new DCe(t,this._viewportStart.startLineDelta)}return new DCe(null,0)}_onConfigurationChanged(e,t){const i=this._captureStableViewport(),r=this._configuration.options,o=r.get(50),s=r.get(139),a=r.get(146),l=r.get(138),u=r.get(129);this._lines.setWrappingSettings(o,s,a.wrappingColumn,l,u)&&(e.emitViewEvent(new KZ),e.emitViewEvent(new JZ),e.emitViewEvent(new xv(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this._updateConfigurationViewLineCount.schedule()),t.hasChanged(91)&&(this._decorations.reset(),e.emitViewEvent(new xv(null))),t.hasChanged(98)&&(this._decorations.reset(),e.emitViewEvent(new xv(null))),e.emitViewEvent(new HSt(t)),this.viewLayout.onConfigurationChanged(t),i.recoverViewportStart(this.coordinatesConverter,this.viewLayout),Dw.shouldRecreate(t)&&(this.cursorConfig=new Dw(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}_registerModelEvents(){this._register(this.model.onDidChangeContentOrInjectedText(e=>{try{const i=this._eventDispatcher.beginEmitViewEvents();let r=!1,o=!1;const s=e instanceof pv?e.rawContentChangedEvent.changes:e.changes,a=e instanceof pv?e.rawContentChangedEvent.versionId:null,l=this._lines.createLineBreaksComputer();for(const d of s)switch(d.changeType){case 4:{for(let h=0;h!g.ownerId||g.ownerId===this._editorId)),l.addRequest(m,f,null)}break}case 2:{let h=null;d.injectedText&&(h=d.injectedText.filter(m=>!m.ownerId||m.ownerId===this._editorId)),l.addRequest(d.detail,h,null);break}}const u=l.finalize(),c=new Ag(u);for(const d of s)switch(d.changeType){case 1:{this._lines.onModelFlushed(),i.emitViewEvent(new KZ),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount()),r=!0;break}case 3:{const h=this._lines.onModelLinesDeleted(a,d.fromLineNumber,d.toLineNumber);h!==null&&(i.emitViewEvent(h),this.viewLayout.onLinesDeleted(h.fromLineNumber,h.toLineNumber)),r=!0;break}case 4:{const h=c.takeCount(d.detail.length),m=this._lines.onModelLinesInserted(a,d.fromLineNumber,d.toLineNumber,h);m!==null&&(i.emitViewEvent(m),this.viewLayout.onLinesInserted(m.fromLineNumber,m.toLineNumber)),r=!0;break}case 2:{const h=c.dequeue(),[m,f,g,b]=this._lines.onModelLineChanged(a,d.lineNumber,h);o=m,f&&i.emitViewEvent(f),g&&(i.emitViewEvent(g),this.viewLayout.onLinesInserted(g.fromLineNumber,g.toLineNumber)),b&&(i.emitViewEvent(b),this.viewLayout.onLinesDeleted(b.fromLineNumber,b.toLineNumber));break}case 5:break}a!==null&&this._lines.acceptVersionId(a),this.viewLayout.onHeightMaybeChanged(),!r&&o&&(i.emitViewEvent(new JZ),i.emitViewEvent(new xv(null)),this._cursor.onLineMappingChanged(i),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}const t=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&t){const i=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(i){const r=this.coordinatesConverter.convertModelPositionToViewPosition(i.getStartPosition()),o=this.viewLayout.getVerticalOffsetForLineNumber(r.lineNumber);this.viewLayout.setScrollPosition({scrollTop:o+this._viewportStart.startLineDelta},1)}}try{const i=this._eventDispatcher.beginEmitViewEvents();e instanceof pv&&i.emitOutgoingEvent(new lwt(e.contentChangedEvent)),this._cursor.onModelContentChanged(i,e)}finally{this._eventDispatcher.endEmitViewEvents()}this._handleVisibleLinesChanged()})),this._register(this.model.onDidChangeTokens(e=>{const t=[];for(let i=0,r=e.ranges.length;i{this._eventDispatcher.emitSingleViewEvent(new KSt),this.cursorConfig=new Dw(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new awt(e))})),this._register(this.model.onDidChangeLanguage(e=>{this.cursorConfig=new Dw(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new swt(e))})),this._register(this.model.onDidChangeOptions(e=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{const t=this._eventDispatcher.beginEmitViewEvents();t.emitViewEvent(new KZ),t.emitViewEvent(new JZ),t.emitViewEvent(new xv(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new Dw(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new uwt(e))})),this._register(this.model.onDidChangeDecorations(e=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new xv(e)),this._eventDispatcher.emitOutgoingEvent(new owt(e))}))}setHiddenAreas(e,t){var i;this.hiddenAreasModel.setHiddenAreas(t,e);const r=this.hiddenAreasModel.getMergedRanges();if(r===this.previousHiddenAreas)return;this.previousHiddenAreas=r;const o=this._captureStableViewport();let s=!1;try{const a=this._eventDispatcher.beginEmitViewEvents();s=this._lines.setHiddenAreas(r),s&&(a.emitViewEvent(new KZ),a.emitViewEvent(new JZ),a.emitViewEvent(new xv(null)),this._cursor.onLineMappingChanged(a),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged());const l=(i=o.viewportStartModelPosition)===null||i===void 0?void 0:i.lineNumber;l&&r.some(c=>c.startLineNumber<=l&&l<=c.endLineNumber)||o.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),s&&this._eventDispatcher.emitOutgoingEvent(new iwt)}getVisibleRangesPlusViewportAboveBelow(){const e=this._configuration.options.get(145),t=this._configuration.options.get(67),i=Math.max(20,Math.round(e.height/t)),r=this.viewLayout.getLinesViewportData(),o=Math.max(1,r.completelyVisibleStartLineNumber-i),s=Math.min(this.getLineCount(),r.completelyVisibleEndLineNumber+i);return this._toModelVisibleRanges(new J(o,this.getLineMinColumn(o),s,this.getLineMaxColumn(s)))}getVisibleRanges(){const e=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(e)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(e){const t=this.coordinatesConverter.convertViewRangeToModelRange(e),i=this._lines.getHiddenAreas();if(i.length===0)return[t];const r=[];let o=0,s=t.startLineNumber,a=t.startColumn;const l=t.endLineNumber,u=t.endColumn;for(let c=0,d=i.length;cl||(s"u")return this._reduceRestoreStateCompatibility(e);const t=this.model.validatePosition(e.firstPosition),i=this.coordinatesConverter.convertModelPositionToViewPosition(t),r=this.viewLayout.getVerticalOffsetForLineNumber(i.lineNumber)-e.firstPositionDeltaTop;return{scrollLeft:e.scrollLeft,scrollTop:r}}_reduceRestoreStateCompatibility(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTopWithoutViewZones}}getTabSize(){return this.model.getOptions().tabSize}getLineCount(){return this._lines.getViewLineCount()}setViewport(e,t,i){this._viewportStart.update(this,e)}getActiveIndentGuide(e,t,i){return this._lines.getActiveIndentGuide(e,t,i)}getLinesIndentGuides(e,t){return this._lines.getViewLinesIndentGuides(e,t)}getBracketGuidesInRangeByLine(e,t,i,r){return this._lines.getViewLinesBracketGuides(e,t,i,r)}getLineContent(e){return this._lines.getViewLineContent(e)}getLineLength(e){return this._lines.getViewLineLength(e)}getLineMinColumn(e){return this._lines.getViewLineMinColumn(e)}getLineMaxColumn(e){return this._lines.getViewLineMaxColumn(e)}getLineFirstNonWhitespaceColumn(e){const t=La(this.getLineContent(e));return t===-1?0:t+1}getLineLastNonWhitespaceColumn(e){const t=Ih(this.getLineContent(e));return t===-1?0:t+2}getMinimapDecorationsInRange(e){return this._decorations.getMinimapDecorationsInRange(e)}getDecorationsInViewport(e){return this._decorations.getDecorationsViewportData(e).decorations}getInjectedTextAt(e){return this._lines.getInjectedTextAt(e)}getViewportViewLineRenderingData(e,t){const r=this._decorations.getDecorationsViewportData(e).inlineDecorations[t-e.startLineNumber];return this._getViewLineRenderingData(t,r)}getViewLineRenderingData(e){const t=this._decorations.getInlineDecorationsOnLine(e);return this._getViewLineRenderingData(e,t)}_getViewLineRenderingData(e,t){const i=this.model.mightContainRTL(),r=this.model.mightContainNonBasicASCII(),o=this.getTabSize(),s=this._lines.getViewLineData(e);return s.inlineDecorations&&(t=[...t,...s.inlineDecorations.map(a=>a.toInlineDecoration(e))]),new Uu(s.minColumn,s.maxColumn,s.content,s.continuesWithWrappedLine,i,r,s.tokens,t,o,s.startVisibleColumn)}getViewLineData(e){return this._lines.getViewLineData(e)}getMinimapLinesRenderingData(e,t,i){const r=this._lines.getViewLinesData(e,t,i);return new Nvt(this.getTabSize(),r)}getAllOverviewRulerDecorations(e){const t=this.model.getOverviewRulerDecorations(this._editorId,$9(this._configuration.options)),i=new Ewt;for(const r of t){const o=r.options,s=o.overviewRuler;if(!s)continue;const a=s.position;if(a===0)continue;const l=s.getColor(e.value),u=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.startLineNumber,r.range.startColumn),c=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.endLineNumber,r.range.endColumn);i.accept(l,o.zIndex,u,c,a)}return i.asArray}_invalidateDecorationsColorCache(){const e=this.model.getOverviewRulerDecorations();for(const t of e){const i=t.options.overviewRuler;i==null||i.invalidateCachedColor();const r=t.options.minimap;r==null||r.invalidateCachedColor()}}getValueInRange(e,t){const i=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(i,t)}getValueLengthInRange(e,t){const i=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueLengthInRange(i,t)}modifyPosition(e,t){const i=this.coordinatesConverter.convertViewPositionToModelPosition(e),r=this.model.modifyPosition(i,t);return this.coordinatesConverter.convertModelPositionToViewPosition(r)}deduceModelPositionRelativeToViewPosition(e,t,i){const r=this.coordinatesConverter.convertViewPositionToModelPosition(e);this.model.getEOL().length===2&&(t<0?t-=i:t+=i);const s=this.model.getOffsetAt(r)+t;return this.model.getPositionAt(s)}getPlainTextToCopy(e,t,i){const r=i?`\r +`:this.model.getEOL();e=e.slice(0),e.sort(J.compareRangesUsingStarts);let o=!1,s=!1;for(const l of e)l.isEmpty()?o=!0:s=!0;if(!s){if(!t)return"";const l=e.map(c=>c.startLineNumber);let u="";for(let c=0;c0&&l[c-1]===l[c]||(u+=this.model.getLineContent(l[c])+r);return u}if(o&&t){const l=[];let u=0;for(const c of e){const d=c.startLineNumber;c.isEmpty()?d!==u&&l.push(this.model.getLineContent(d)):l.push(this.model.getValueInRange(c,i?2:0)),u=d}return l.length===1?l[0]:l}const a=[];for(const l of e)l.isEmpty()||a.push(this.model.getValueInRange(l,i?2:0));return a.length===1?a[0]:a}getRichTextToCopy(e,t){const i=this.model.getLanguageId();if(i===Pu||e.length!==1)return null;let r=e[0];if(r.isEmpty()){if(!t)return null;const c=r.startLineNumber;r=new J(c,this.model.getLineMinColumn(c),c,this.model.getLineMaxColumn(c))}const o=this._configuration.options.get(50),s=this._getColorMap(),l=/[:;\\\/<>]/.test(o.fontFamily)||o.fontFamily===Vl.fontFamily;let u;return l?u=Vl.fontFamily:(u=o.fontFamily,u=u.replace(/"/g,"'"),/[,']/.test(u)||/[+ ]/.test(u)&&(u=`'${u}'`),u=`${u}, ${Vl.fontFamily}`),{mode:i,html:`
`+this._getHTMLToCopy(r,s)+"
"}}_getHTMLToCopy(e,t){const i=e.startLineNumber,r=e.startColumn,o=e.endLineNumber,s=e.endColumn,a=this.getTabSize();let l="";for(let u=i;u<=o;u++){const c=this.model.tokenization.getLineTokens(u),d=c.getLineContent(),h=u===i?r-1:0,m=u===o?s-1:d.length;d===""?l+="
":l+=gwt(d,c.inflate(),t,h,m,a,ha)}return l}_getColorMap(){const e=bo.getColorMap(),t=["#000000"];if(e)for(let i=1,r=e.length;ithis._cursor.setStates(r,e,t,i))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(e){this._cursor.setCursorColumnSelectData(e)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(e){this._cursor.setPrevEditOperationType(e)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(e,t,i=0){this._withViewEventsCollector(r=>this._cursor.setSelections(r,e,t,i))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(e){this._withViewEventsCollector(t=>this._cursor.restoreState(t,e))}_executeCursorEdit(e){if(this._cursor.context.cursorConfig.readOnly){this._eventDispatcher.emitOutgoingEvent(new rwt);return}this._withViewEventsCollector(e)}executeEdits(e,t,i){this._executeCursorEdit(r=>this._cursor.executeEdits(r,e,t,i))}startComposition(){this._executeCursorEdit(e=>this._cursor.startComposition(e))}endComposition(e){this._executeCursorEdit(t=>this._cursor.endComposition(t,e))}type(e,t){this._executeCursorEdit(i=>this._cursor.type(i,e,t))}compositionType(e,t,i,r,o){this._executeCursorEdit(s=>this._cursor.compositionType(s,e,t,i,r,o))}paste(e,t,i,r){this._executeCursorEdit(o=>this._cursor.paste(o,e,t,i,r))}cut(e){this._executeCursorEdit(t=>this._cursor.cut(t,e))}executeCommand(e,t){this._executeCursorEdit(i=>this._cursor.executeCommand(i,e,t))}executeCommands(e,t){this._executeCursorEdit(i=>this._cursor.executeCommands(i,e,t))}revealAllCursors(e,t,i=!1){this._withViewEventsCollector(r=>this._cursor.revealAll(r,e,i,0,t,0))}revealPrimaryCursor(e,t,i=!1){this._withViewEventsCollector(r=>this._cursor.revealPrimary(r,e,i,0,t,0))}revealTopMostCursor(e){const t=this._cursor.getTopMostViewPosition(),i=new J(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(r=>r.emitViewEvent(new _D(e,!1,i,null,0,!0,0)))}revealBottomMostCursor(e){const t=this._cursor.getBottomMostViewPosition(),i=new J(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(r=>r.emitViewEvent(new _D(e,!1,i,null,0,!0,0)))}revealRange(e,t,i,r,o){this._withViewEventsCollector(s=>s.emitViewEvent(new _D(e,!1,i,null,r,t,o)))}changeWhitespace(e){this.viewLayout.changeWhitespace(e)&&(this._eventDispatcher.emitSingleViewEvent(new qSt),this._eventDispatcher.emitOutgoingEvent(new nwt))}_withViewEventsCollector(e){try{const t=this._eventDispatcher.beginEmitViewEvents();return e(t)}finally{this._eventDispatcher.endEmitViewEvents()}}normalizePosition(e,t){return this._lines.normalizePosition(e,t)}getLineIndentColumn(e){return this._lines.getLineIndentColumn(e)}};class z7{static create(e){const t=e._setTrackedRange(null,new J(1,1,1,1),1);return new z7(e,1,!1,t,0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}constructor(e,t,i,r,o){this._model=e,this._viewLineNumber=t,this._isValid=i,this._modelTrackedRange=r,this._startLineDelta=o}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(e,t){const i=e.coordinatesConverter.convertViewPositionToModelPosition(new ve(t,e.getLineMinColumn(t))),r=e.model._setTrackedRange(this._modelTrackedRange,new J(i.lineNumber,i.column,i.lineNumber,i.column),1),o=e.viewLayout.getVerticalOffsetForLineNumber(t),s=e.viewLayout.getCurrentScrollTop();this._viewLineNumber=t,this._isValid=!0,this._modelTrackedRange=r,this._startLineDelta=s-o}invalidate(){this._isValid=!1}}class Ewt{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(e,t,i,r,o){const s=this._asMap[e];if(s){const a=s.data,l=a[a.length-3],u=a[a.length-1];if(l===o&&u+1>=i){r>u&&(a[a.length-1]=r);return}a.push(o,i,r)}else{const a=new tD(e,t,[o,i,r]);this._asMap[e]=a,this.asArray.push(a)}}}class Rwt{constructor(){this.hiddenAreas=new Map,this.shouldRecompute=!1,this.ranges=[]}setHiddenAreas(e,t){const i=this.hiddenAreas.get(e);i&&FCe(i,t)||(this.hiddenAreas.set(e,t),this.shouldRecompute=!0)}getMergedRanges(){if(!this.shouldRecompute)return this.ranges;this.shouldRecompute=!1;const e=Array.from(this.hiddenAreas.values()).reduce((t,i)=>Zwt(t,i),[]);return FCe(this.ranges,e)?this.ranges:(this.ranges=e,this.ranges)}}function Zwt(n,e){const t=[];let i=0,r=0;for(;i=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},ap=function(n,e){return function(t,i){e(t,i,n)}},Lv;let S2=Lv=class extends Fe{get isSimpleWidget(){return this._configuration.isSimpleWidget}constructor(e,t,i,r,o,s,a,l,u,c,d,h){var m;super(),this.languageConfigurationService=d,this._deliveryQueue=jht(),this._contributions=this._register(new uCt),this._onDidDispose=this._register(new be),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeModelTokens=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelTokens=this._onDidChangeModelTokens.event,this._onDidChangeConfiguration=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onWillChangeModel=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onWillChangeModel=this._onWillChangeModel.event,this._onDidChangeModel=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new Ma(this._contributions,this._deliveryQueue)),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new NCe({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new NCe({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new Ma(this._contributions,this._deliveryQueue)),this.onWillType=this._onWillType.event,this._onDidType=this._register(new Ma(this._contributions,this._deliveryQueue)),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new Ma(this._contributions,this._deliveryQueue)),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new Ma(this._contributions,this._deliveryQueue)),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new Ma(this._contributions,this._deliveryQueue)),this.onDidPaste=this._onDidPaste.event,this._onMouseUp=this._register(new Ma(this._contributions,this._deliveryQueue)),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new Ma(this._contributions,this._deliveryQueue)),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new Ma(this._contributions,this._deliveryQueue)),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new Ma(this._contributions,this._deliveryQueue)),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new Ma(this._contributions,this._deliveryQueue)),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onDropIntoEditor=this._register(new Ma(this._contributions,this._deliveryQueue)),this.onDropIntoEditor=this._onDropIntoEditor.event,this._onContextMenu=this._register(new Ma(this._contributions,this._deliveryQueue)),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new Ma(this._contributions,this._deliveryQueue)),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new Ma(this._contributions,this._deliveryQueue)),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new Ma(this._contributions,this._deliveryQueue)),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new Ma(this._contributions,this._deliveryQueue)),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new Ma(this._contributions,this._deliveryQueue)),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new be({deliveryQueue:this._deliveryQueue})),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event,this._actions=new Map,this._bannerDomNode=null,this._dropIntoEditorDecorations=this.createDecorationsCollection(),o.willCreateCodeEditor();const f={...t};this._domElement=e,this._overflowWidgetsDomNode=f.overflowWidgetsDomNode,delete f.overflowWidgetsDomNode,this._id=++Vwt,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this._telemetryData=i.telemetryData,this._configuration=this._register(this._createConfiguration(i.isSimpleWidget||!1,f,c)),this._register(this._configuration.onDidChange(y=>{this._onDidChangeConfiguration.fire(y);const C=this._configuration.options;if(y.hasChanged(145)){const w=C.get(145);this._onDidLayoutChange.fire(w)}})),this._contextKeyService=this._register(a.createScoped(this._domElement)),this._notificationService=u,this._codeEditorService=o,this._commandService=s,this._themeService=l,this._register(new Xwt(this,this._contextKeyService)),this._register(new Pwt(this,this._contextKeyService,h)),this._instantiationService=r.createChild(new DD([ln,this._contextKeyService])),this._modelData=null,this._focusTracker=new Owt(e,this._overflowWidgetsDomNode),this._register(this._focusTracker.onChange(()=>{this._editorWidgetFocus.setValue(this._focusTracker.hasFocus())})),this._contentWidgets={},this._overlayWidgets={},this._glyphMarginWidgets={};let g;Array.isArray(i.contributions)?g=i.contributions:g=Fw.getEditorContributions(),this._contributions.initialize(this,g,this._instantiationService);for(const y of Fw.getEditorActions()){if(this._actions.has(y.id)){yn(new Error(`Cannot have two actions with the same id ${y.id}`));continue}const C=new xve(y.id,y.label,y.alias,y.metadata,(m=y.precondition)!==null&&m!==void 0?m:void 0,w=>this._instantiationService.invokeFunction(x=>Promise.resolve(y.runEditorCommand(x,this,w))),this._contextKeyService);this._actions.set(C.id,C)}const b=()=>!this._configuration.options.get(91)&&this._configuration.options.get(36).enabled;this._register(new Vft(this._domElement,{onDragOver:y=>{if(!b())return;const C=this.getTargetAtClientPoint(y.clientX,y.clientY);C!=null&&C.position&&this.showDropIndicatorAt(C.position)},onDrop:async y=>{if(!b()||(this.removeDropIndicator(),!y.dataTransfer))return;const C=this.getTargetAtClientPoint(y.clientX,y.clientY);C!=null&&C.position&&this._onDropIntoEditor.fire({position:C.position,event:y})},onDragLeave:()=>{this.removeDropIndicator()},onDragEnd:()=>{this.removeDropIndicator()}})),this._codeEditorService.addCodeEditor(this)}writeScreenReaderContent(e){var t;(t=this._modelData)===null||t===void 0||t.view.writeScreenReaderContent(e)}_createConfiguration(e,t,i){return new m6(e,t,this._domElement,i)}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return lD.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this),this._focusTracker.dispose(),this._actions.clear(),this._contentWidgets={},this._overlayWidgets={},this._removeDecorationTypes(),this._postDetachModelCleanup(this._detachModel()),this._onDidDispose.fire(),super.dispose()}invokeWithinContext(e){return this._instantiationService.invokeFunction(e)}updateOptions(e){this._configuration.updateOptions(e||{})}getOptions(){return this._configuration.options}getOption(e){return this._configuration.options.get(e)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(e){return this._modelData?Si.getWordAtPosition(this._modelData.model,this._configuration.options.get(131),this._configuration.options.get(130),e):null}getValue(e=null){if(!this._modelData)return"";const t=!!(e&&e.preserveBOM);let i=0;return e&&e.lineEnding&&e.lineEnding===` `?i=1:e&&e.lineEnding&&e.lineEnding===`\r -`&&(i=2),this._modelData.model.getValue(i,t)}setValue(e){this._modelData&&this._modelData.model.setValue(e)}getModel(){return this._modelData?this._modelData.model:null}setModel(e=null){var t;const i=e;if(this._modelData===null&&i===null||this._modelData&&this._modelData.model===i)return;const r={oldModelUrl:((t=this._modelData)===null||t===void 0?void 0:t.model.uri)||null,newModelUrl:(i==null?void 0:i.uri)||null};this._onWillChangeModel.fire(r);const o=this.hasTextFocus(),s=this._detachModel();this._attachModel(i),o&&this.hasModel()&&this.focus(),this._removeDecorationTypes(),this._onDidChangeModel.fire(r),this._postDetachModelCleanup(s),this._contributionsDisposable=this._contributions.onAfterModelAttached()}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(const e in this._decorationTypeSubtypes){const t=this._decorationTypeSubtypes[e];for(const i in t)this._removeDecorationType(e+"-"+i)}this._decorationTypeSubtypes={}}}getVisibleRanges(){return this._modelData?this._modelData.viewModel.getVisibleRanges():[]}getVisibleRangesPlusViewportAboveBelow(){return this._modelData?this._modelData.viewModel.getVisibleRangesPlusViewportAboveBelow():[]}getWhitespaces(){return this._modelData?this._modelData.viewModel.viewLayout.getWhitespaces():[]}static _getVerticalOffsetAfterPosition(e,t,i,r){const o=e.model.validatePosition({lineNumber:t,column:i}),s=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(o);return e.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(s.lineNumber,r)}getTopForLineNumber(e,t=!1){return this._modelData?_y._getVerticalOffsetForPosition(this._modelData,e,1,t):-1}getTopForPosition(e,t){return this._modelData?_y._getVerticalOffsetForPosition(this._modelData,e,t,!1):-1}static _getVerticalOffsetForPosition(e,t,i,r=!1){const o=e.model.validatePosition({lineNumber:t,column:i}),s=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(o);return e.viewModel.viewLayout.getVerticalOffsetForLineNumber(s.lineNumber,r)}getBottomForLineNumber(e,t=!1){return this._modelData?_y._getVerticalOffsetAfterPosition(this._modelData,e,1,t):-1}setHiddenAreas(e,t){var i;(i=this._modelData)===null||i===void 0||i.viewModel.setHiddenAreas(e.map(r=>J.lift(r)),t)}getVisibleColumnFromPosition(e){if(!this._modelData)return e.column;const t=this._modelData.model.validatePosition(e),i=this._modelData.model.getOptions().tabSize;return Jo.visibleColumnFromColumn(this._modelData.model.getLineContent(t.lineNumber),t.column,i)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(e,t="api"){if(this._modelData){if(!ye.isIPosition(e))throw new Error("Invalid arguments");this._modelData.viewModel.setSelections(t,[{selectionStartLineNumber:e.lineNumber,selectionStartColumn:e.column,positionLineNumber:e.lineNumber,positionColumn:e.column}])}}_sendRevealRange(e,t,i,r){if(!this._modelData)return;if(!J.isIRange(e))throw new Error("Invalid arguments");const o=this._modelData.model.validateRange(e),s=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(o);this._modelData.viewModel.revealRange("api",i,s,t,r)}revealLine(e,t=0){this._revealLine(e,0,t)}revealLineInCenter(e,t=0){this._revealLine(e,1,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._revealLine(e,2,t)}revealLineNearTop(e,t=0){this._revealLine(e,5,t)}_revealLine(e,t,i){if(typeof e!="number")throw new Error("Invalid arguments");this._sendRevealRange(new J(e,1,e,1),t,!1,i)}revealPosition(e,t=0){this._revealPosition(e,0,!0,t)}revealPositionInCenter(e,t=0){this._revealPosition(e,1,!0,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._revealPosition(e,2,!0,t)}revealPositionNearTop(e,t=0){this._revealPosition(e,5,!0,t)}_revealPosition(e,t,i,r){if(!ye.isIPosition(e))throw new Error("Invalid arguments");this._sendRevealRange(new J(e.lineNumber,e.column,e.lineNumber,e.column),t,i,r)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(e,t="api"){const i=Wt.isISelection(e),r=J.isIRange(e);if(!i&&!r)throw new Error("Invalid arguments");if(i)this._setSelectionImpl(e,t);else if(r){const o={selectionStartLineNumber:e.startLineNumber,selectionStartColumn:e.startColumn,positionLineNumber:e.endLineNumber,positionColumn:e.endColumn};this._setSelectionImpl(o,t)}}_setSelectionImpl(e,t){if(!this._modelData)return;const i=new Wt(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn);this._modelData.viewModel.setSelections(t,[i])}revealLines(e,t,i=0){this._revealLines(e,t,0,i)}revealLinesInCenter(e,t,i=0){this._revealLines(e,t,1,i)}revealLinesInCenterIfOutsideViewport(e,t,i=0){this._revealLines(e,t,2,i)}revealLinesNearTop(e,t,i=0){this._revealLines(e,t,5,i)}_revealLines(e,t,i,r){if(typeof e!="number"||typeof t!="number")throw new Error("Invalid arguments");this._sendRevealRange(new J(e,1,t,1),i,!1,r)}revealRange(e,t=0,i=!1,r=!0){this._revealRange(e,i?1:0,r,t)}revealRangeInCenter(e,t=0){this._revealRange(e,1,!0,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._revealRange(e,2,!0,t)}revealRangeNearTop(e,t=0){this._revealRange(e,5,!0,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._revealRange(e,6,!0,t)}revealRangeAtTop(e,t=0){this._revealRange(e,3,!0,t)}_revealRange(e,t,i,r){if(!J.isIRange(e))throw new Error("Invalid arguments");this._sendRevealRange(J.lift(e),t,i,r)}setSelections(e,t="api",i=0){if(this._modelData){if(!e||e.length===0)throw new Error("Invalid arguments");for(let r=0,o=e.length;r0&&this._modelData.viewModel.restoreCursorState(i):this._modelData.viewModel.restoreCursorState([i]),this._contributions.restoreViewState(t.contributionsState||{});const r=this._modelData.viewModel.reduceRestoreState(t.viewState);this._modelData.view.restoreState(r)}}handleInitialized(){var e;(e=this._getViewModel())===null||e===void 0||e.visibleLinesStabilized()}getContribution(e){return this._contributions.get(e)}getActions(){return Array.from(this._actions.values())}getSupportedActions(){let e=this.getActions();return e=e.filter(t=>t.isSupported()),e}getAction(e){return this._actions.get(e)||null}trigger(e,t,i){switch(i=i||{},t){case"compositionStart":this._startComposition();return;case"compositionEnd":this._endComposition(e);return;case"type":{const o=i;this._type(e,o.text||"");return}case"replacePreviousChar":{const o=i;this._compositionType(e,o.text||"",o.replaceCharCnt||0,0,0);return}case"compositionType":{const o=i;this._compositionType(e,o.text||"",o.replacePrevCharCnt||0,o.replaceNextCharCnt||0,o.positionDelta||0);return}case"paste":{const o=i;this._paste(e,o.text||"",o.pasteOnNewLine||!1,o.multicursorText||null,o.mode||null,o.clipboardEvent);return}case"cut":this._cut(e);return}const r=this.getAction(t);if(r){Promise.resolve(r.run(i)).then(void 0,vn);return}this._modelData&&(this._triggerEditorCommand(e,t,i)||this._triggerCommand(t,i))}_triggerCommand(e,t){this._commandService.executeCommand(e,t)}_startComposition(){this._modelData&&(this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(e){this._modelData&&(this._modelData.viewModel.endComposition(e),this._onDidCompositionEnd.fire())}_type(e,t){!this._modelData||t.length===0||(e==="keyboard"&&this._onWillType.fire(t),this._modelData.viewModel.type(t,e),e==="keyboard"&&this._onDidType.fire(t))}_compositionType(e,t,i,r,o){this._modelData&&this._modelData.viewModel.compositionType(t,i,r,o,e)}_paste(e,t,i,r,o,s){if(!this._modelData)return;const a=this._modelData.viewModel,l=a.getSelection().getStartPosition();a.paste(t,i,r,e);const u=a.getSelection().getStartPosition();e==="keyboard"&&this._onDidPaste.fire({clipboardEvent:s,range:new J(l.lineNumber,l.column,u.lineNumber,u.column),languageId:o})}_cut(e){this._modelData&&this._modelData.viewModel.cut(e)}_triggerEditorCommand(e,t,i){const r=IS.getEditorCommand(t);return r?(i=i||{},i.source=e,this._instantiationService.invokeFunction(o=>{Promise.resolve(r.runEditorCommand(o,this,i)).then(void 0,vn)}),!0):!1}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!this._modelData||this._configuration.options.get(91)?!1:(this._modelData.model.pushStackElement(),!0)}popUndoStop(){return!this._modelData||this._configuration.options.get(91)?!1:(this._modelData.model.popStackElement(),!0)}executeEdits(e,t,i){if(!this._modelData||this._configuration.options.get(91))return!1;let r;return i?Array.isArray(i)?r=()=>i:r=i:r=()=>null,this._modelData.viewModel.executeEdits(e,t,r),!0}executeCommand(e,t){this._modelData&&this._modelData.viewModel.executeCommand(t,e)}executeCommands(e,t){this._modelData&&this._modelData.viewModel.executeCommands(t,e)}createDecorationsCollection(e){return new BSt(this,e)}changeDecorations(e){return this._modelData?this._modelData.model.changeDecorations(e,this._id):null}getLineDecorations(e){return this._modelData?this._modelData.model.getLineDecorations(e,this._id,$9(this._configuration.options)):null}getDecorationsInRange(e){return this._modelData?this._modelData.model.getDecorationsInRange(e,this._id,$9(this._configuration.options)):null}deltaDecorations(e,t){return this._modelData?e.length===0&&t.length===0?e:this._modelData.model.deltaDecorations(e,t,this._id):[]}removeDecorations(e){!this._modelData||e.length===0||this._modelData.model.changeDecorations(t=>{t.deltaDecorations(e,[])})}removeDecorationsByType(e){const t=this._decorationTypeKeysToIds[e];t&&this.changeDecorations(i=>i.deltaDecorations(t,[])),this._decorationTypeKeysToIds.hasOwnProperty(e)&&delete this._decorationTypeKeysToIds[e],this._decorationTypeSubtypes.hasOwnProperty(e)&&delete this._decorationTypeSubtypes[e]}getLayoutInfo(){return this._configuration.options.get(145)}createOverviewRuler(e){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.createOverviewRuler(e)}getContainerDomNode(){return this._domElement}getDomNode(){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.domNode.domNode}delegateVerticalScrollbarPointerDown(e){!this._modelData||!this._modelData.hasRealView||this._modelData.view.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){!this._modelData||!this._modelData.hasRealView||this._modelData.view.delegateScrollFromMouseWheelEvent(e)}layout(e,t=!1){this._configuration.observeContainer(e),t||this.render()}focus(){!this._modelData||!this._modelData.hasRealView||this._modelData.view.focus()}hasTextFocus(){return!this._modelData||!this._modelData.hasRealView?!1:this._modelData.view.isFocused()}hasWidgetFocus(){return this._focusTracker&&this._focusTracker.hasFocus()}addContentWidget(e){const t={widget:e,position:e.getPosition()};this._contentWidgets.hasOwnProperty(e.getId()),this._contentWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addContentWidget(t)}layoutContentWidget(e){const t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){const i=this._contentWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(i)}}removeContentWidget(e){const t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){const i=this._contentWidgets[t];delete this._contentWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(i)}}addOverlayWidget(e){const t={widget:e,position:e.getPosition()};this._overlayWidgets.hasOwnProperty(e.getId()),this._overlayWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addOverlayWidget(t)}layoutOverlayWidget(e){const t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){const i=this._overlayWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(i)}}removeOverlayWidget(e){const t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){const i=this._overlayWidgets[t];delete this._overlayWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(i)}}addGlyphMarginWidget(e){const t={widget:e,position:e.getPosition()};this._glyphMarginWidgets.hasOwnProperty(e.getId()),this._glyphMarginWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addGlyphMarginWidget(t)}layoutGlyphMarginWidget(e){const t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){const i=this._glyphMarginWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutGlyphMarginWidget(i)}}removeGlyphMarginWidget(e){const t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){const i=this._glyphMarginWidgets[t];delete this._glyphMarginWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeGlyphMarginWidget(i)}}changeViewZones(e){!this._modelData||!this._modelData.hasRealView||this._modelData.view.change(e)}getTargetAtClientPoint(e,t){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.getTargetAtClientPoint(e,t)}getScrolledVisiblePosition(e){if(!this._modelData||!this._modelData.hasRealView)return null;const t=this._modelData.model.validatePosition(e),i=this._configuration.options,r=i.get(145),o=_y._getVerticalOffsetForPosition(this._modelData,t.lineNumber,t.column)-this.getScrollTop(),s=this._modelData.view.getOffsetForColumn(t.lineNumber,t.column)+r.glyphMarginWidth+r.lineNumbersWidth+r.decorationsWidth-this.getScrollLeft();return{top:o,left:s,height:i.get(67)}}getOffsetForColumn(e,t){return!this._modelData||!this._modelData.hasRealView?-1:this._modelData.view.getOffsetForColumn(e,t)}render(e=!1){!this._modelData||!this._modelData.hasRealView||this._modelData.view.render(!0,e)}setAriaOptions(e){!this._modelData||!this._modelData.hasRealView||this._modelData.view.setAriaOptions(e)}applyFontInfo(e){Ts(e,this._configuration.options.get(50))}setBanner(e,t){this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),this._bannerDomNode=e,this._configuration.setReservedHeight(e?t:0),this._bannerDomNode&&this._domElement.prepend(this._bannerDomNode)}_attachModel(e){if(!e){this._modelData=null;return}const t=[];this._domElement.setAttribute("data-mode-id",e.getLanguageId()),this._configuration.setIsDominatedByLongLines(e.isDominatedByLongLines()),this._configuration.setModelLineCount(e.getLineCount());const i=e.onBeforeAttached(),r=new TSt(this._id,this._configuration,e,Q6.create(Qt(this._domElement)),k7.create(this._configuration.options),a=>au(Qt(this._domElement),a),this.languageConfigurationService,this._themeService,i);t.push(e.onWillDispose(()=>this.setModel(null))),t.push(r.onEvent(a=>{switch(a.kind){case 0:this._onDidContentSizeChange.fire(a);break;case 1:this._editorTextFocus.setValue(a.hasFocus);break;case 2:this._onDidScrollChange.fire(a);break;case 3:this._onDidChangeViewZones.fire();break;case 4:this._onDidChangeHiddenAreas.fire();break;case 5:this._onDidAttemptReadOnlyEdit.fire();break;case 6:{if(a.reachedMaxCursorCount){const d=this.getOption(80),h=L("cursors.maximum","The number of cursors has been limited to {0}. Consider using [find and replace](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) for larger changes or increase the editor multi cursor limit setting.",d);this._notificationService.prompt(qW.Warning,h,[{label:"Find and Replace",run:()=>{this._commandService.executeCommand("editor.action.startFindReplaceAction")}},{label:L("goToSetting","Increase Multi Cursor Limit"),run:()=>{this._commandService.executeCommand("workbench.action.openSettings2",{query:"editor.multiCursorLimit"})}}])}const l=[];for(let d=0,h=a.selections.length;d{this._paste("keyboard",o,s,a,l)},type:o=>{this._type("keyboard",o)},compositionType:(o,s,a,l)=>{this._compositionType("keyboard",o,s,a,l)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition("keyboard")},cut:()=>{this._cut("keyboard")}}:t={paste:(o,s,a,l)=>{const u={text:o,pasteOnNewLine:s,multicursorText:a,mode:l};this._commandService.executeCommand("paste",u)},type:o=>{const s={text:o};this._commandService.executeCommand("type",s)},compositionType:(o,s,a,l)=>{if(a||l){const u={text:o,replacePrevCharCnt:s,replaceNextCharCnt:a,positionDelta:l};this._commandService.executeCommand("compositionType",u)}else{const u={text:o,replaceCharCnt:s};this._commandService.executeCommand("replacePreviousChar",u)}},startComposition:()=>{this._commandService.executeCommand("compositionStart",{})},endComposition:()=>{this._commandService.executeCommand("compositionEnd",{})},cut:()=>{this._commandService.executeCommand("cut",{})}};const i=new _W(e.coordinatesConverter);return i.onKeyDown=o=>this._onKeyDown.fire(o),i.onKeyUp=o=>this._onKeyUp.fire(o),i.onContextMenu=o=>this._onContextMenu.fire(o),i.onMouseMove=o=>this._onMouseMove.fire(o),i.onMouseLeave=o=>this._onMouseLeave.fire(o),i.onMouseDown=o=>this._onMouseDown.fire(o),i.onMouseUp=o=>this._onMouseUp.fire(o),i.onMouseDrag=o=>this._onMouseDrag.fire(o),i.onMouseDrop=o=>this._onMouseDrop.fire(o),i.onMouseDropCanceled=o=>this._onMouseDropCanceled.fire(o),i.onMouseWheel=o=>this._onMouseWheel.fire(o),[new K6(t,this._configuration,this._themeService.getColorTheme(),e,i,this._overflowWidgetsDomNode,this._instantiationService),!0]}_postDetachModelCleanup(e){e==null||e.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){var e;if((e=this._contributionsDisposable)===null||e===void 0||e.dispose(),this._contributionsDisposable=void 0,!this._modelData)return null;const t=this._modelData.model,i=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;return this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute("data-mode-id"),i&&this._domElement.contains(i)&&this._domElement.removeChild(i),this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),t}_removeDecorationType(e){this._codeEditorService.removeDecorationType(e)}hasModel(){return this._modelData!==null}showDropIndicatorAt(e){const t=[{range:new J(e.lineNumber,e.column,e.lineNumber,e.column),options:_y.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(t),this.revealPosition(e,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}setContextValue(e,t){this._contextKeyService.createKey(e,t)}};w2.dropIntoEditorDecorationOptions=yn.register({description:"workbench-dnd-target",className:"dnd-target"}),w2=_y=VSt([ap(3,$t),ap(4,vi),ap(5,Xr),ap(6,ln),ap(7,jo),ap(8,ko),ap(9,Vc),ap(10,tr),ap(11,Zt)],w2);let ASt=0,GSt=class{constructor(e,t,i,r,o,s){this.model=e,this.viewModel=t,this.view=i,this.hasRealView=r,this.listenersToRemove=o,this.attachedView=s}dispose(){er(this.listenersToRemove),this.model.onBeforeDetached(this.attachedView),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}};class MCe extends Ie{constructor(e){super(),this._emitterOptions=e,this._onDidChangeToTrue=this._register(new be(this._emitterOptions)),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new be(this._emitterOptions)),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(e){const t=e?2:1;this._value!==t&&(this._value=t,this._value===2?this._onDidChangeToTrue.fire():this._value===1&&this._onDidChangeToFalse.fire())}}class ka extends be{constructor(e,t){super({deliveryQueue:t}),this._contributions=e}fire(e){this._contributions.onBeforeInteractionEvent(),super.fire(e)}}class XSt extends Ie{constructor(e,t){super(),this._editor=e,t.createKey("editorId",e.getId()),this._editorSimpleInput=ne.editorSimpleInput.bindTo(t),this._editorFocus=ne.focus.bindTo(t),this._textInputFocus=ne.textInputFocus.bindTo(t),this._editorTextFocus=ne.editorTextFocus.bindTo(t),this._tabMovesFocus=ne.tabMovesFocus.bindTo(t),this._editorReadonly=ne.readOnly.bindTo(t),this._inDiffEditor=ne.inDiffEditor.bindTo(t),this._editorColumnSelection=ne.columnSelection.bindTo(t),this._hasMultipleSelections=ne.hasMultipleSelections.bindTo(t),this._hasNonEmptySelection=ne.hasNonEmptySelection.bindTo(t),this._canUndo=ne.canUndo.bindTo(t),this._canRedo=ne.canRedo.bindTo(t),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromConfig())),this._register(this._editor.onDidChangeCursorSelection(()=>this._updateFromSelection())),this._register(this._editor.onDidFocusEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidFocusEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidChangeModel(()=>this._updateFromModel())),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromModel())),this._register(HS.onDidChangeTabFocus(i=>this._tabMovesFocus.set(i))),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){const e=this._editor.getOptions();this._tabMovesFocus.set(HS.getTabFocusMode()),this._editorReadonly.set(e.get(91)),this._inDiffEditor.set(e.get(61)),this._editorColumnSelection.set(e.get(22))}_updateFromSelection(){const e=this._editor.getSelections();e?(this._hasMultipleSelections.set(e.length>1),this._hasNonEmptySelection.set(e.some(t=>!t.isEmpty()))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())}_updateFromFocus(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget),this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.hasTextFocus())}_updateFromModel(){const e=this._editor.getModel();this._canUndo.set(!!(e&&e.canUndo())),this._canRedo.set(!!(e&&e.canRedo()))}}class PSt extends Ie{constructor(e,t,i){super(),this._editor=e,this._contextKeyService=t,this._languageFeaturesService=i,this._langId=ne.languageId.bindTo(t),this._hasCompletionItemProvider=ne.hasCompletionItemProvider.bindTo(t),this._hasCodeActionsProvider=ne.hasCodeActionsProvider.bindTo(t),this._hasCodeLensProvider=ne.hasCodeLensProvider.bindTo(t),this._hasDefinitionProvider=ne.hasDefinitionProvider.bindTo(t),this._hasDeclarationProvider=ne.hasDeclarationProvider.bindTo(t),this._hasImplementationProvider=ne.hasImplementationProvider.bindTo(t),this._hasTypeDefinitionProvider=ne.hasTypeDefinitionProvider.bindTo(t),this._hasHoverProvider=ne.hasHoverProvider.bindTo(t),this._hasDocumentHighlightProvider=ne.hasDocumentHighlightProvider.bindTo(t),this._hasDocumentSymbolProvider=ne.hasDocumentSymbolProvider.bindTo(t),this._hasReferenceProvider=ne.hasReferenceProvider.bindTo(t),this._hasRenameProvider=ne.hasRenameProvider.bindTo(t),this._hasSignatureHelpProvider=ne.hasSignatureHelpProvider.bindTo(t),this._hasInlayHintsProvider=ne.hasInlayHintsProvider.bindTo(t),this._hasDocumentFormattingProvider=ne.hasDocumentFormattingProvider.bindTo(t),this._hasDocumentSelectionFormattingProvider=ne.hasDocumentSelectionFormattingProvider.bindTo(t),this._hasMultipleDocumentFormattingProvider=ne.hasMultipleDocumentFormattingProvider.bindTo(t),this._hasMultipleDocumentSelectionFormattingProvider=ne.hasMultipleDocumentSelectionFormattingProvider.bindTo(t),this._isInEmbeddedEditor=ne.isInEmbeddedEditor.bindTo(t);const r=()=>this._update();this._register(e.onDidChangeModel(r)),this._register(e.onDidChangeModelLanguage(r)),this._register(i.completionProvider.onDidChange(r)),this._register(i.codeActionProvider.onDidChange(r)),this._register(i.codeLensProvider.onDidChange(r)),this._register(i.definitionProvider.onDidChange(r)),this._register(i.declarationProvider.onDidChange(r)),this._register(i.implementationProvider.onDidChange(r)),this._register(i.typeDefinitionProvider.onDidChange(r)),this._register(i.hoverProvider.onDidChange(r)),this._register(i.documentHighlightProvider.onDidChange(r)),this._register(i.documentSymbolProvider.onDidChange(r)),this._register(i.referenceProvider.onDidChange(r)),this._register(i.renameProvider.onDidChange(r)),this._register(i.documentFormattingEditProvider.onDidChange(r)),this._register(i.documentRangeFormattingEditProvider.onDidChange(r)),this._register(i.signatureHelpProvider.onDidChange(r)),this._register(i.inlayHintsProvider.onDidChange(r)),r()}dispose(){super.dispose()}reset(){this._contextKeyService.bufferChangeEvents(()=>{this._langId.reset(),this._hasCompletionItemProvider.reset(),this._hasCodeActionsProvider.reset(),this._hasCodeLensProvider.reset(),this._hasDefinitionProvider.reset(),this._hasDeclarationProvider.reset(),this._hasImplementationProvider.reset(),this._hasTypeDefinitionProvider.reset(),this._hasHoverProvider.reset(),this._hasDocumentHighlightProvider.reset(),this._hasDocumentSymbolProvider.reset(),this._hasReferenceProvider.reset(),this._hasRenameProvider.reset(),this._hasDocumentFormattingProvider.reset(),this._hasDocumentSelectionFormattingProvider.reset(),this._hasSignatureHelpProvider.reset(),this._isInEmbeddedEditor.reset()})}_update(){const e=this._editor.getModel();if(!e){this.reset();return}this._contextKeyService.bufferChangeEvents(()=>{this._langId.set(e.getLanguageId()),this._hasCompletionItemProvider.set(this._languageFeaturesService.completionProvider.has(e)),this._hasCodeActionsProvider.set(this._languageFeaturesService.codeActionProvider.has(e)),this._hasCodeLensProvider.set(this._languageFeaturesService.codeLensProvider.has(e)),this._hasDefinitionProvider.set(this._languageFeaturesService.definitionProvider.has(e)),this._hasDeclarationProvider.set(this._languageFeaturesService.declarationProvider.has(e)),this._hasImplementationProvider.set(this._languageFeaturesService.implementationProvider.has(e)),this._hasTypeDefinitionProvider.set(this._languageFeaturesService.typeDefinitionProvider.has(e)),this._hasHoverProvider.set(this._languageFeaturesService.hoverProvider.has(e)),this._hasDocumentHighlightProvider.set(this._languageFeaturesService.documentHighlightProvider.has(e)),this._hasDocumentSymbolProvider.set(this._languageFeaturesService.documentSymbolProvider.has(e)),this._hasReferenceProvider.set(this._languageFeaturesService.referenceProvider.has(e)),this._hasRenameProvider.set(this._languageFeaturesService.renameProvider.has(e)),this._hasSignatureHelpProvider.set(this._languageFeaturesService.signatureHelpProvider.has(e)),this._hasInlayHintsProvider.set(this._languageFeaturesService.inlayHintsProvider.has(e)),this._hasDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.has(e)||this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasMultipleDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.all(e).length+this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._isInEmbeddedEditor.set(e.uri.scheme===wn.walkThroughSnippet||e.uri.scheme===wn.vscodeChatCodeBlock)})}}class OSt extends Ie{constructor(e,t){super(),this._onChange=this._register(new be),this.onChange=this._onChange.event,this._hadFocus=void 0,this._hasDomElementFocus=!1,this._domFocusTracker=this._register(Dh(e)),this._overflowWidgetsDomNodeHasFocus=!1,this._register(this._domFocusTracker.onDidFocus(()=>{this._hasDomElementFocus=!0,this._update()})),this._register(this._domFocusTracker.onDidBlur(()=>{this._hasDomElementFocus=!1,this._update()})),t&&(this._overflowWidgetsDomNode=this._register(Dh(t)),this._register(this._overflowWidgetsDomNode.onDidFocus(()=>{this._overflowWidgetsDomNodeHasFocus=!0,this._update()})),this._register(this._overflowWidgetsDomNode.onDidBlur(()=>{this._overflowWidgetsDomNodeHasFocus=!1,this._update()})))}_update(){const e=this._hasDomElementFocus||this._overflowWidgetsDomNodeHasFocus;this._hadFocus!==e&&(this._hadFocus=e,this._onChange.fire(void 0))}hasFocus(){var e;return(e=this._hadFocus)!==null&&e!==void 0?e:!1}}class BSt{get length(){return this._decorationIds.length}constructor(e,t){this._editor=e,this._decorationIds=[],this._isChangingDecorations=!1,Array.isArray(t)&&t.length>0&&this.set(t)}onDidChange(e,t,i){return this._editor.onDidChangeModelDecorations(r=>{this._isChangingDecorations||e.call(t,r)},i)}getRange(e){return!this._editor.hasModel()||e>=this._decorationIds.length?null:this._editor.getModel().getDecorationRange(this._decorationIds[e])}getRanges(){if(!this._editor.hasModel())return[];const e=this._editor.getModel(),t=[];for(const i of this._decorationIds){const r=e.getDecorationRange(i);r&&t.push(r)}return t}has(e){return this._decorationIds.includes(e.id)}clear(){this._decorationIds.length!==0&&this.set([])}set(e){try{this._isChangingDecorations=!0,this._editor.changeDecorations(t=>{this._decorationIds=t.deltaDecorations(this._decorationIds,e)})}finally{this._isChangingDecorations=!1}return this._decorationIds}append(e){let t=[];try{this._isChangingDecorations=!0,this._editor.changeDecorations(i=>{t=i.deltaDecorations([],e),this._decorationIds=this._decorationIds.concat(t)})}finally{this._isChangingDecorations=!1}return t}}const zSt=encodeURIComponent("");function H7(n){return zSt+encodeURIComponent(n.toString())+HSt}const YSt=encodeURIComponent('');function KSt(n){return YSt+encodeURIComponent(n.toString())+USt}Pc((n,e)=>{const t=n.getColor(qm);t&&e.addRule(`.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${H7(t)}") repeat-x bottom left; }`);const i=n.getColor(Ia);i&&e.addRule(`.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${H7(i)}") repeat-x bottom left; }`);const r=n.getColor(Gl);r&&e.addRule(`.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${H7(r)}") repeat-x bottom left; }`);const o=n.getColor(Obt);o&&e.addRule(`.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${KSt(o)}") no-repeat bottom left; }`);const s=n.getColor(Lvt);s&&e.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${s.rgba.a}; }`)});class Oh{constructor(e,t,i){this.owner=e,this.debugNameSource=t,this.referenceFn=i}getDebugName(e){return JSt(e,this)}}const kCe=new Map,Y7=new WeakMap;function JSt(n,e){var t;const i=Y7.get(n);if(i)return i;const r=jSt(n,e);if(r){let o=(t=kCe.get(r))!==null&&t!==void 0?t:0;o++,kCe.set(r,o);const s=o===1?r:`${r}#${o}`;return Y7.set(n,s),s}}function jSt(n,e){const t=Y7.get(n);if(t)return t;const i=e.owner?$St(e.owner)+".":"";let r;const o=e.debugNameSource;if(o!==void 0)if(typeof o=="function"){if(r=o(),r!==void 0)return i+r}else return i+o;const s=e.referenceFn;if(s!==void 0&&(r=eR(s),r!==void 0))return i+r;if(e.owner!==void 0){const a=QSt(e.owner,n);if(a!==void 0)return i+a}}function QSt(n,e){for(const t in n)if(n[t]===e)return t}const NCe=new Map,TCe=new WeakMap;function $St(n){var e;const t=TCe.get(n);if(t)return t;const i=qSt(n);let r=(e=NCe.get(i))!==null&&e!==void 0?e:0;r++,NCe.set(i,r);const o=r===1?i:`${i}#${r}`;return TCe.set(n,o),o}function qSt(n){const e=n.constructor;return e?e.name:"Object"}function eR(n){const e=n.toString(),i=/\/\*\*\s*@description\s*([^*]*)\*\//.exec(e),r=i?i[1]:void 0;return r==null?void 0:r.trim()}let e2t;function pf(){return e2t}let ECe;function t2t(n){ECe=n}let ZCe;function n2t(n){ZCe=n}class WCe{get TChange(){return null}reportChanges(){this.get()}read(e){return e?e.readObservable(this):this.get()}map(e,t){const i=t===void 0?void 0:e,r=t===void 0?e:t;return ZCe({owner:i,debugName:()=>{const o=eR(r);if(o!==void 0)return o;const a=/^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1(?:\??)\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/.exec(r.toString());if(a)return`${this.debugName}.${a[2]}`;if(!i)return`${this.debugName} (mapped)`}},o=>r(this.read(o),o))}recomputeInitiallyAndOnChange(e,t){return e.add(ECe(this,t)),this}}class kD extends WCe{constructor(){super(...arguments),this.observers=new Set}addObserver(e){const t=this.observers.size;this.observers.add(e),t===0&&this.onFirstObserverAdded()}removeObserver(e){this.observers.delete(e)&&this.observers.size===0&&this.onLastObserverRemoved()}onFirstObserverAdded(){}onLastObserverRemoved(){}}function zi(n,e){const t=new iR(n,e);try{n(t)}finally{t.finish()}}let tR;function nR(n){if(tR)n(tR);else{const e=new iR(n,void 0);tR=e;try{n(e)}finally{e.finish(),tR=void 0}}}async function i2t(n,e){const t=new iR(n,e);try{await n(t)}finally{t.finish()}}function ND(n,e,t){n?e(n):zi(e,t)}class iR{constructor(e,t){var i;this._fn=e,this._getDebugName=t,this.updatingObservers=[],(i=pf())===null||i===void 0||i.handleBeginTransaction(this)}getDebugName(){return this._getDebugName?this._getDebugName():eR(this._fn)}updateObserver(e,t){this.updatingObservers.push({observer:e,observable:t}),e.beginUpdate(t)}finish(){var e;const t=this.updatingObservers;for(let i=0;i{},()=>`Setting ${this.debugName}`));try{const s=this._value;this._setValue(e),(r=pf())===null||r===void 0||r.handleObservableChanged(this,{oldValue:s,newValue:e,change:i,didChange:!0,hadValue:!0});for(const a of this.observers)t.updateObserver(a,this),a.handleChange(this,i)}finally{o&&o.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(e){this._value=e}}function TD(n,e){return typeof n=="string"?new RCe(void 0,n,e):new RCe(n,void 0,e)}class RCe extends U7{_setValue(e){this._value!==e&&(this._value&&this._value.dispose(),this._value=e)}dispose(){var e;(e=this._value)===null||e===void 0||e.dispose()}}const S2=(n,e)=>n===e;function hn(n,e){return e!==void 0?new _2(new Oh(n,void 0,e),e,void 0,void 0,void 0,S2):new _2(new Oh(void 0,void 0,n),n,void 0,void 0,void 0,S2)}function x2(n,e){var t;return new _2(new Oh(n.owner,n.debugName,n.debugReferenceFn),e,void 0,void 0,n.onLastObserverRemoved,(t=n.equalityComparer)!==null&&t!==void 0?t:S2)}n2t(x2);function r2t(n,e){var t;return new _2(new Oh(n.owner,n.debugName,void 0),e,n.createEmptyChangeSummary,n.handleChange,void 0,(t=n.equalityComparer)!==null&&t!==void 0?t:S2)}function L2(n,e){let t,i;e===void 0?(t=n,i=void 0):(i=n,t=e);const r=new Je;return new _2(new Oh(i,void 0,t),o=>(r.clear(),t(o,r)),void 0,void 0,()=>r.dispose(),S2)}function lp(n,e){let t,i;e===void 0?(t=n,i=void 0):(i=n,t=e);const r=new Je;return new _2(new Oh(i,void 0,t),o=>{r.clear();const s=t(o);return s&&r.add(s),s},void 0,void 0,()=>r.dispose(),S2)}class _2 extends kD{get debugName(){var e;return(e=this._debugNameData.getDebugName(this))!==null&&e!==void 0?e:"(anonymous)"}constructor(e,t,i,r,o=void 0,s){var a,l;super(),this._debugNameData=e,this._computeFn=t,this.createChangeSummary=i,this._handleChange=r,this._handleLastObserverRemoved=o,this._equalityComparator=s,this.state=0,this.value=void 0,this.updateCount=0,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=void 0,this.changeSummary=(a=this.createChangeSummary)===null||a===void 0?void 0:a.call(this),(l=pf())===null||l===void 0||l.handleDerivedCreated(this)}onLastObserverRemoved(){var e;this.state=0,this.value=void 0;for(const t of this.dependencies)t.removeObserver(this);this.dependencies.clear(),(e=this._handleLastObserverRemoved)===null||e===void 0||e.call(this)}get(){var e;if(this.observers.size===0){const t=this._computeFn(this,(e=this.createChangeSummary)===null||e===void 0?void 0:e.call(this));return this.onLastObserverRemoved(),t}else{do{if(this.state===1){for(const t of this.dependencies)if(t.reportChanges(),this.state===2)break}this.state===1&&(this.state=3),this._recomputeIfNeeded()}while(this.state!==3);return this.value}}_recomputeIfNeeded(){var e,t;if(this.state===3)return;const i=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=i;const r=this.state!==0,o=this.value;this.state=3;const s=this.changeSummary;this.changeSummary=(e=this.createChangeSummary)===null||e===void 0?void 0:e.call(this);try{this.value=this._computeFn(this,s)}finally{for(const l of this.dependenciesToBeRemoved)l.removeObserver(this);this.dependenciesToBeRemoved.clear()}const a=r&&!this._equalityComparator(o,this.value);if((t=pf())===null||t===void 0||t.handleDerivedRecomputed(this,{oldValue:o,newValue:this.value,change:void 0,didChange:a,hadValue:r}),a)for(const l of this.observers)l.handleChange(this,void 0)}toString(){return`LazyDerived<${this.debugName}>`}beginUpdate(e){this.updateCount++;const t=this.updateCount===1;if(this.state===3&&(this.state=1,!t))for(const i of this.observers)i.handlePossibleChange(this);if(t)for(const i of this.observers)i.beginUpdate(this)}endUpdate(e){if(this.updateCount--,this.updateCount===0){const t=[...this.observers];for(const i of t)i.endUpdate(this)}ey(()=>this.updateCount>=0)}handlePossibleChange(e){if(this.state===3&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){this.state=1;for(const t of this.observers)t.handlePossibleChange(this)}}handleChange(e,t){if(this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){const i=this._handleChange?this._handleChange({changedObservable:e,change:t,didChange:o=>o===e},this.changeSummary):!0,r=this.state===3;if(i&&(this.state===1||r)&&(this.state=2,r))for(const o of this.observers)o.handlePossibleChange(this)}}readObservable(e){e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}addObserver(e){const t=!this.observers.has(e)&&this.updateCount>0;super.addObserver(e),t&&e.beginUpdate(this)}removeObserver(e){const t=this.observers.has(e)&&this.updateCount>0;super.removeObserver(e),t&&e.endUpdate(this)}}function Zn(n){return new oR(new Oh(void 0,void 0,n),n,void 0,void 0)}function rR(n,e){var t;return new oR(new Oh(n.owner,n.debugName,(t=n.debugReferenceFn)!==null&&t!==void 0?t:e),e,void 0,void 0)}function ED(n,e){var t;return new oR(new Oh(n.owner,n.debugName,(t=n.debugReferenceFn)!==null&&t!==void 0?t:e),e,n.createEmptyChangeSummary,n.handleChange)}function Yc(n){const e=new Je,t=rR({owner:void 0,debugName:void 0,debugReferenceFn:n},i=>{e.clear(),n(i,e)});return jt(()=>{t.dispose(),e.dispose()})}class oR{get debugName(){var e;return(e=this._debugNameData.getDebugName(this))!==null&&e!==void 0?e:"(anonymous)"}constructor(e,t,i,r){var o,s;this._debugNameData=e,this._runFn=t,this.createChangeSummary=i,this._handleChange=r,this.state=2,this.updateCount=0,this.disposed=!1,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=(o=this.createChangeSummary)===null||o===void 0?void 0:o.call(this),(s=pf())===null||s===void 0||s.handleAutorunCreated(this),this._runIfNeeded()}dispose(){this.disposed=!0;for(const e of this.dependencies)e.removeObserver(this);this.dependencies.clear()}_runIfNeeded(){var e,t,i;if(this.state===3)return;const r=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=r,this.state=3;const o=this.disposed;try{if(!o){(e=pf())===null||e===void 0||e.handleAutorunTriggered(this);const s=this.changeSummary;this.changeSummary=(t=this.createChangeSummary)===null||t===void 0?void 0:t.call(this),this._runFn(this,s)}}finally{o||(i=pf())===null||i===void 0||i.handleAutorunFinished(this);for(const s of this.dependenciesToBeRemoved)s.removeObserver(this);this.dependenciesToBeRemoved.clear()}}toString(){return`Autorun<${this.debugName}>`}beginUpdate(){this.state===3&&(this.state=1),this.updateCount++}endUpdate(){if(this.updateCount===1)do{if(this.state===1){this.state=3;for(const e of this.dependencies)if(e.reportChanges(),this.state===2)break}this._runIfNeeded()}while(this.state!==3);this.updateCount--,ey(()=>this.updateCount>=0)}handlePossibleChange(e){this.state===3&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)&&(this.state=1)}handleChange(e,t){this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)&&(!this._handleChange||this._handleChange({changedObservable:e,change:t,didChange:r=>r===e},this.changeSummary))&&(this.state=2)}readObservable(e){if(this.disposed)return e.get();e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}}(function(n){n.Observer=oR})(Zn||(Zn={}));function Bh(n){return new o2t(n)}class o2t extends WCe{constructor(e){super(),this.value=e}get debugName(){return this.toString()}get(){return this.value}addObserver(e){}removeObserver(e){}toString(){return`Const: ${this.value}`}}function Hi(n,e){return new Fy(n,e)}class Fy extends kD{constructor(e,t){super(),this.event=e,this._getValue=t,this.hasValue=!1,this.handleEvent=i=>{var r;const o=this._getValue(i),s=this.value,a=!this.hasValue||s!==o;let l=!1;a&&(this.value=o,this.hasValue&&(l=!0,ND(Fy.globalTransaction,u=>{var c;(c=pf())===null||c===void 0||c.handleFromEventObservableTriggered(this,{oldValue:s,newValue:o,change:void 0,didChange:a,hadValue:this.hasValue});for(const d of this.observers)u.updateObserver(d,this),d.handleChange(this,void 0)},()=>{const u=this.getDebugName();return"Event fired"+(u?`: ${u}`:"")})),this.hasValue=!0),l||(r=pf())===null||r===void 0||r.handleFromEventObservableTriggered(this,{oldValue:s,newValue:o,change:void 0,didChange:a,hadValue:this.hasValue})}}getDebugName(){return eR(this._getValue)}get debugName(){const e=this.getDebugName();return"From Event"+(e?`: ${e}`:"")}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0,this.hasValue=!1,this.value=void 0}get(){return this.subscription?(this.hasValue||this.handleEvent(void 0),this.value):this._getValue(void 0)}}(function(n){n.Observer=Fy;function e(t,i){let r=!1;Fy.globalTransaction===void 0&&(Fy.globalTransaction=t,r=!0);try{i()}finally{r&&(Fy.globalTransaction=void 0)}}n.batchEventsGlobally=e})(Hi||(Hi={}));function ba(n,e){return new s2t(n,e)}class s2t extends kD{constructor(e,t){super(),this.debugName=e,this.event=t,this.handleEvent=()=>{zi(i=>{for(const r of this.observers)i.updateObserver(r,this),r.handleChange(this,void 0)},()=>this.debugName)}}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0}get(){}}function sR(n){return typeof n=="string"?new VCe(n):new VCe(void 0,n)}class VCe extends kD{get debugName(){var e;return(e=new Oh(this._owner,this._debugName,void 0).getDebugName(this))!==null&&e!==void 0?e:"Observable Signal"}constructor(e,t){super(),this._debugName=e,this._owner=t}trigger(e,t){if(!e){zi(i=>{this.trigger(i,t)},()=>`Trigger signal ${this.debugName}`);return}for(const i of this.observers)e.updateObserver(i,this),i.handleChange(this,t)}get(){}}function ZD(n,e){const t=new a2t(!0,e);return n.addObserver(t),e?e(n.get()):n.reportChanges(),jt(()=>{n.removeObserver(t)})}t2t(ZD);class a2t{constructor(e,t){this._forceRecompute=e,this._handleValue=t,this._counter=0}beginUpdate(e){this._counter++}endUpdate(e){this._counter--,this._counter===0&&this._forceRecompute&&(this._handleValue?this._handleValue(e.get()):e.reportChanges())}handlePossibleChange(e){}handleChange(e,t){}}function l2t(n){let e;return hn(i=>(e=n(i,e),e))}function u2t(n,e,t,i){let r=new ACe(t,i);return x2({debugReferenceFn:t,owner:n,onLastObserverRemoved:()=>{r.dispose(),r=new ACe(t)}},s=>(r.setItems(e.read(s)),r.getItems()))}class ACe{constructor(e,t){this._map=e,this._keySelector=t,this._cache=new Map,this._items=[]}dispose(){this._cache.forEach(e=>e.store.dispose()),this._cache.clear()}setItems(e){const t=[],i=new Set(this._cache.keys());for(const r of e){const o=this._keySelector?this._keySelector(r):r;let s=this._cache.get(o);if(s)i.delete(o);else{const a=new Je;s={out:this._map(r,a),store:a},this._cache.set(o,s)}t.push(s.out)}for(const r of i)this._cache.get(r).store.dispose(),this._cache.delete(r);this._items=t}getItems(){return this._items}}function c2t(n,e,t){return new Promise((i,r)=>{let o=!0,s=!1;const a=n.map(u=>({isFinished:e(u),error:t?t(u):!1,state:u})),l=Zn(u=>{const{isFinished:c,error:d,state:h}=a.read(u);(c||d)&&(o?s=!0:l.dispose(),d?r(d===!0?h:d):i(h))});o=!1,s&&l.dispose()})}class zh{static capture(e){if(e.getScrollTop()===0||e.hasPendingScrollAnimation())return new zh(e.getScrollTop(),e.getContentHeight(),null,0,null);let t=null,i=0;const r=e.getVisibleRanges();if(r.length>0){t=r[0].getStartPosition();const o=e.getTopForPosition(t.lineNumber,t.column);i=e.getScrollTop()-o}return new zh(e.getScrollTop(),e.getContentHeight(),t,i,e.getPosition())}constructor(e,t,i,r,o){this._initialScrollTop=e,this._initialContentHeight=t,this._visiblePosition=i,this._visiblePositionScrollDelta=r,this._cursorPosition=o}restore(e){if(!(this._initialContentHeight===e.getContentHeight()&&this._initialScrollTop===e.getScrollTop())&&this._visiblePosition){const t=e.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);e.setScrollTop(t+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(e){if(this._initialContentHeight===e.getContentHeight()&&this._initialScrollTop===e.getScrollTop())return;const t=e.getPosition();if(!this._cursorPosition||!t)return;const i=e.getTopForLineNumber(t.lineNumber)-e.getTopForLineNumber(this._cursorPosition.lineNumber);e.setScrollTop(e.getScrollTop()+i)}}const WD={RESOURCES:"ResourceURLs",DOWNLOAD_URL:"DownloadURL",FILES:"Files",TEXT:Pr.text,INTERNAL_URI_LIST:"application/vnd.code.uri-list"};let aR=()=>({get delay(){return-1},dispose:()=>{},showHover:()=>{}});const d2t=new _h(()=>aR("mouse",!1)),h2t=new _h(()=>aR("element",!1));function m2t(n){aR=n}function Pl(n){return n==="element"?h2t.value:d2t.value}function F2(){return aR("element",!0)}function GCe(...n){return function(e,t){for(let i=0,r=n.length;i0?[{start:0,end:e.length}]:[]:null}function f2t(n,e){const t=e.toLowerCase().indexOf(n.toLowerCase());return t===-1?null:[{start:t,end:t+n.length}]}function PCe(n,e){return K7(n.toLowerCase(),e.toLowerCase(),0,0)}function K7(n,e,t,i){if(t===n.length)return[];if(i===e.length)return null;if(n[t]===e[i]){let r=null;return(r=K7(n,e,t+1,i+1))?BCe({start:i,end:i+1},r):null}return K7(n,e,t,i+1)}function J7(n){return 97<=n&&n<=122}function uR(n){return 65<=n&&n<=90}function j7(n){return 48<=n&&n<=57}function g2t(n){return n===32||n===9||n===10||n===13}const p2t=new Set;"()[]{}<>`'\"-/;:,.?!".split("").forEach(n=>p2t.add(n.charCodeAt(0)));function OCe(n){return J7(n)||uR(n)||j7(n)}function BCe(n,e){return e.length===0?e=[n]:n.end===e[0].start?e[0].start=n.start:e.unshift(n),e}function zCe(n,e){for(let t=e;t0&&!OCe(n.charCodeAt(t-1)))return t}return n.length}function Q7(n,e,t,i){if(t===n.length)return[];if(i===e.length)return null;if(n[t]!==e[i].toLowerCase())return null;{let r=null,o=i+1;for(r=Q7(n,e,t+1,i+1);!r&&(o=zCe(e,o)).6}function y2t(n){const{upperPercent:e,lowerPercent:t,alphaPercent:i,numericPercent:r}=n;return t>.2&&e<.8&&i>.6&&r<.2}function C2t(n){let e=0,t=0,i=0,r=0;for(let o=0;o60&&(e=e.substring(0,60));const t=b2t(e);if(!y2t(t)){if(!v2t(t))return null;e=e.toLowerCase()}let i=null,r=0;for(n=n.toLowerCase();r"u")return[];const e=[],t=n[1];for(let i=n.length-1;i>1;i--){const r=n[i]+t,o=e[e.length-1];o&&o.end===r?o.end=r+1:e.push({start:r,end:r+1})}return e}const C0=128;function $7(){const n=[],e=[];for(let t=0;t<=C0;t++)e[t]=0;for(let t=0;t<=C0;t++)n.push(e.slice(0));return n}function KCe(n){const e=[];for(let t=0;t<=n;t++)e[t]=0;return e}const JCe=KCe(2*C0),q7=KCe(2*C0),up=$7(),Iy=$7(),dR=$7();function hR(n,e){if(e<0||e>=n.length)return!1;const t=n.codePointAt(e);switch(t){case 95:case 45:case 46:case 32:case 47:case 92:case 39:case 34:case 58:case 36:case 60:case 62:case 40:case 41:case 91:case 93:case 123:case 125:return!0;case void 0:return!1;default:return!!aY(t)}}function jCe(n,e){if(e<0||e>=n.length)return!1;switch(n.charCodeAt(e)){case 32:case 9:return!0;default:return!1}}function mR(n,e,t){return e[n]!==t[n]}function _2t(n,e,t,i,r,o,s=!1){for(;eC0?C0:n.length,l=i.length>C0?C0:i.length;if(t>=a||o>=l||a-t>l-o||!_2t(e,t,a,r,o,l,!0))return;F2t(a,l,t,o,e,r);let u=1,c=1,d=t,h=o;const m=[!1];for(u=1,d=t;dC,T=M?Iy[u][c-1]+(up[u][c-1]>0?-5:0):0,Z=h>C+1&&up[u][c-1]>0,E=Z?Iy[u][c-2]+(up[u][c-2]>0?-5:0):0;if(Z&&(!M||E>=T)&&(!F||E>=D))Iy[u][c]=E,dR[u][c]=3,up[u][c]=0;else if(M&&(!F||T>=D))Iy[u][c]=T,dR[u][c]=2,up[u][c]=0;else if(F)Iy[u][c]=D,dR[u][c]=1,up[u][c]=up[u-1][c-1]+1;else throw new Error("not possible")}}if(!m[0]&&!s.firstMatchCanBeWeak)return;u--,c--;const f=[Iy[u][c],o];let g=0,b=0;for(;u>=1;){let C=c;do{const S=dR[u][C];if(S===3)C=C-2;else if(S===2)C=C-1;else break}while(C>=1);g>1&&e[t+u-1]===r[o+c-1]&&!mR(C+o-1,i,r)&&g+1>up[u][C]&&(C=c),C===c?g++:g=1,b||(b=C),u--,c=C-1,f.push(c)}l===a&&s.boostFullMatch&&(f[0]+=2);const v=b-a;return f[0]-=v,f}function F2t(n,e,t,i,r,o){let s=n-1,a=e-1;for(;s>=t&&a>=i;)r[s]===o[a]&&(q7[s]=a,s--),a--}function I2t(n,e,t,i,r,o,s,a,l,u,c){if(e[t]!==o[s])return Number.MIN_SAFE_INTEGER;let d=1,h=!1;return s===t-i?d=n[t]===r[s]?7:5:mR(s,r,o)&&(s===0||!mR(s-1,r,o))?(d=n[t]===r[s]?7:5,h=!0):hR(o,s)&&(s===0||!hR(o,s-1))?d=5:(hR(o,s-1)||jCe(o,s-1))&&(d=5,h=!0),d>1&&t===i&&(c[0]=!0),h||(h=mR(s,r,o)||hR(o,s-1)||jCe(o,s-1)),t===i?s>l&&(d-=h?3:5):u?d+=h?2:0:d+=h?0:1,s+1===a&&(d-=h?3:5),d}function D2t(n,e,t,i,r,o,s){return M2t(n,e,t,i,r,o,!0,s)}function M2t(n,e,t,i,r,o,s,a){let l=I2(n,e,t,i,r,o,a);if(l&&!s)return l;if(n.length>=3){const u=Math.min(7,n.length-1);for(let c=t+1;cl[0])&&(l=h))}}}return l}function k2t(n,e){if(e+1>=n.length)return;const t=n[e],i=n[e+1];if(t!==i)return n.slice(0,e)+i+t+n.slice(e+2)}const N2t="$(",eU=new RegExp(`\\$\\(${sn.iconNameExpression}(?:${sn.iconModifierExpression})?\\)`,"g"),T2t=new RegExp(`(\\\\)?${eU.source}`,"g");function E2t(n){return n.replace(T2t,(e,t)=>t?e:`\\${e}`)}const Z2t=new RegExp(`\\\\${eU.source}`,"g");function W2t(n){return n.replace(Z2t,e=>`\\${e}`)}const R2t=new RegExp(`(\\s)?(\\\\)?${eU.source}(\\s)?`,"g");function QCe(n){return n.indexOf(N2t)===-1?n:n.replace(R2t,(e,t,i,r)=>i?e:t||r||"")}function V2t(n){return n?n.replace(/\$\((.*?)\)/g,(e,t)=>` ${t} `).trim():""}const tU=new RegExp(`\\$\\(${sn.iconNameCharacter}+\\)`,"g");function RD(n){tU.lastIndex=0;let e="";const t=[];let i=0;for(;;){const r=tU.lastIndex,o=tU.exec(n),s=n.substring(r,o==null?void 0:o.index);if(s.length>0){e+=s;for(let a=0;a" ".repeat(r.length)).replace(/\>/gm,"\\>").replace(/\n/g,t===1?`\\ +`&&(i=2),this._modelData.model.getValue(i,t)}setValue(e){this._modelData&&this._modelData.model.setValue(e)}getModel(){return this._modelData?this._modelData.model:null}setModel(e=null){var t;const i=e;if(this._modelData===null&&i===null||this._modelData&&this._modelData.model===i)return;const r={oldModelUrl:((t=this._modelData)===null||t===void 0?void 0:t.model.uri)||null,newModelUrl:(i==null?void 0:i.uri)||null};this._onWillChangeModel.fire(r);const o=this.hasTextFocus(),s=this._detachModel();this._attachModel(i),o&&this.hasModel()&&this.focus(),this._removeDecorationTypes(),this._onDidChangeModel.fire(r),this._postDetachModelCleanup(s),this._contributionsDisposable=this._contributions.onAfterModelAttached()}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(const e in this._decorationTypeSubtypes){const t=this._decorationTypeSubtypes[e];for(const i in t)this._removeDecorationType(e+"-"+i)}this._decorationTypeSubtypes={}}}getVisibleRanges(){return this._modelData?this._modelData.viewModel.getVisibleRanges():[]}getVisibleRangesPlusViewportAboveBelow(){return this._modelData?this._modelData.viewModel.getVisibleRangesPlusViewportAboveBelow():[]}getWhitespaces(){return this._modelData?this._modelData.viewModel.viewLayout.getWhitespaces():[]}static _getVerticalOffsetAfterPosition(e,t,i,r){const o=e.model.validatePosition({lineNumber:t,column:i}),s=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(o);return e.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(s.lineNumber,r)}getTopForLineNumber(e,t=!1){return this._modelData?Lv._getVerticalOffsetForPosition(this._modelData,e,1,t):-1}getTopForPosition(e,t){return this._modelData?Lv._getVerticalOffsetForPosition(this._modelData,e,t,!1):-1}static _getVerticalOffsetForPosition(e,t,i,r=!1){const o=e.model.validatePosition({lineNumber:t,column:i}),s=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(o);return e.viewModel.viewLayout.getVerticalOffsetForLineNumber(s.lineNumber,r)}getBottomForLineNumber(e,t=!1){return this._modelData?Lv._getVerticalOffsetAfterPosition(this._modelData,e,1,t):-1}setHiddenAreas(e,t){var i;(i=this._modelData)===null||i===void 0||i.viewModel.setHiddenAreas(e.map(r=>J.lift(r)),t)}getVisibleColumnFromPosition(e){if(!this._modelData)return e.column;const t=this._modelData.model.validatePosition(e),i=this._modelData.model.getOptions().tabSize;return Jo.visibleColumnFromColumn(this._modelData.model.getLineContent(t.lineNumber),t.column,i)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(e,t="api"){if(this._modelData){if(!ve.isIPosition(e))throw new Error("Invalid arguments");this._modelData.viewModel.setSelections(t,[{selectionStartLineNumber:e.lineNumber,selectionStartColumn:e.column,positionLineNumber:e.lineNumber,positionColumn:e.column}])}}_sendRevealRange(e,t,i,r){if(!this._modelData)return;if(!J.isIRange(e))throw new Error("Invalid arguments");const o=this._modelData.model.validateRange(e),s=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(o);this._modelData.viewModel.revealRange("api",i,s,t,r)}revealLine(e,t=0){this._revealLine(e,0,t)}revealLineInCenter(e,t=0){this._revealLine(e,1,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._revealLine(e,2,t)}revealLineNearTop(e,t=0){this._revealLine(e,5,t)}_revealLine(e,t,i){if(typeof e!="number")throw new Error("Invalid arguments");this._sendRevealRange(new J(e,1,e,1),t,!1,i)}revealPosition(e,t=0){this._revealPosition(e,0,!0,t)}revealPositionInCenter(e,t=0){this._revealPosition(e,1,!0,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._revealPosition(e,2,!0,t)}revealPositionNearTop(e,t=0){this._revealPosition(e,5,!0,t)}_revealPosition(e,t,i,r){if(!ve.isIPosition(e))throw new Error("Invalid arguments");this._sendRevealRange(new J(e.lineNumber,e.column,e.lineNumber,e.column),t,i,r)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(e,t="api"){const i=Zt.isISelection(e),r=J.isIRange(e);if(!i&&!r)throw new Error("Invalid arguments");if(i)this._setSelectionImpl(e,t);else if(r){const o={selectionStartLineNumber:e.startLineNumber,selectionStartColumn:e.startColumn,positionLineNumber:e.endLineNumber,positionColumn:e.endColumn};this._setSelectionImpl(o,t)}}_setSelectionImpl(e,t){if(!this._modelData)return;const i=new Zt(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn);this._modelData.viewModel.setSelections(t,[i])}revealLines(e,t,i=0){this._revealLines(e,t,0,i)}revealLinesInCenter(e,t,i=0){this._revealLines(e,t,1,i)}revealLinesInCenterIfOutsideViewport(e,t,i=0){this._revealLines(e,t,2,i)}revealLinesNearTop(e,t,i=0){this._revealLines(e,t,5,i)}_revealLines(e,t,i,r){if(typeof e!="number"||typeof t!="number")throw new Error("Invalid arguments");this._sendRevealRange(new J(e,1,t,1),i,!1,r)}revealRange(e,t=0,i=!1,r=!0){this._revealRange(e,i?1:0,r,t)}revealRangeInCenter(e,t=0){this._revealRange(e,1,!0,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._revealRange(e,2,!0,t)}revealRangeNearTop(e,t=0){this._revealRange(e,5,!0,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._revealRange(e,6,!0,t)}revealRangeAtTop(e,t=0){this._revealRange(e,3,!0,t)}_revealRange(e,t,i,r){if(!J.isIRange(e))throw new Error("Invalid arguments");this._sendRevealRange(J.lift(e),t,i,r)}setSelections(e,t="api",i=0){if(this._modelData){if(!e||e.length===0)throw new Error("Invalid arguments");for(let r=0,o=e.length;r0&&this._modelData.viewModel.restoreCursorState(i):this._modelData.viewModel.restoreCursorState([i]),this._contributions.restoreViewState(t.contributionsState||{});const r=this._modelData.viewModel.reduceRestoreState(t.viewState);this._modelData.view.restoreState(r)}}handleInitialized(){var e;(e=this._getViewModel())===null||e===void 0||e.visibleLinesStabilized()}getContribution(e){return this._contributions.get(e)}getActions(){return Array.from(this._actions.values())}getSupportedActions(){let e=this.getActions();return e=e.filter(t=>t.isSupported()),e}getAction(e){return this._actions.get(e)||null}trigger(e,t,i){switch(i=i||{},t){case"compositionStart":this._startComposition();return;case"compositionEnd":this._endComposition(e);return;case"type":{const o=i;this._type(e,o.text||"");return}case"replacePreviousChar":{const o=i;this._compositionType(e,o.text||"",o.replaceCharCnt||0,0,0);return}case"compositionType":{const o=i;this._compositionType(e,o.text||"",o.replacePrevCharCnt||0,o.replaceNextCharCnt||0,o.positionDelta||0);return}case"paste":{const o=i;this._paste(e,o.text||"",o.pasteOnNewLine||!1,o.multicursorText||null,o.mode||null,o.clipboardEvent);return}case"cut":this._cut(e);return}const r=this.getAction(t);if(r){Promise.resolve(r.run(i)).then(void 0,yn);return}this._modelData&&(this._triggerEditorCommand(e,t,i)||this._triggerCommand(t,i))}_triggerCommand(e,t){this._commandService.executeCommand(e,t)}_startComposition(){this._modelData&&(this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(e){this._modelData&&(this._modelData.viewModel.endComposition(e),this._onDidCompositionEnd.fire())}_type(e,t){!this._modelData||t.length===0||(e==="keyboard"&&this._onWillType.fire(t),this._modelData.viewModel.type(t,e),e==="keyboard"&&this._onDidType.fire(t))}_compositionType(e,t,i,r,o){this._modelData&&this._modelData.viewModel.compositionType(t,i,r,o,e)}_paste(e,t,i,r,o,s){if(!this._modelData)return;const a=this._modelData.viewModel,l=a.getSelection().getStartPosition();a.paste(t,i,r,e);const u=a.getSelection().getStartPosition();e==="keyboard"&&this._onDidPaste.fire({clipboardEvent:s,range:new J(l.lineNumber,l.column,u.lineNumber,u.column),languageId:o})}_cut(e){this._modelData&&this._modelData.viewModel.cut(e)}_triggerEditorCommand(e,t,i){const r=Fw.getEditorCommand(t);return r?(i=i||{},i.source=e,this._instantiationService.invokeFunction(o=>{Promise.resolve(r.runEditorCommand(o,this,i)).then(void 0,yn)}),!0):!1}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!this._modelData||this._configuration.options.get(91)?!1:(this._modelData.model.pushStackElement(),!0)}popUndoStop(){return!this._modelData||this._configuration.options.get(91)?!1:(this._modelData.model.popStackElement(),!0)}executeEdits(e,t,i){if(!this._modelData||this._configuration.options.get(91))return!1;let r;return i?Array.isArray(i)?r=()=>i:r=i:r=()=>null,this._modelData.viewModel.executeEdits(e,t,r),!0}executeCommand(e,t){this._modelData&&this._modelData.viewModel.executeCommand(t,e)}executeCommands(e,t){this._modelData&&this._modelData.viewModel.executeCommands(t,e)}createDecorationsCollection(e){return new Bwt(this,e)}changeDecorations(e){return this._modelData?this._modelData.model.changeDecorations(e,this._id):null}getLineDecorations(e){return this._modelData?this._modelData.model.getLineDecorations(e,this._id,$9(this._configuration.options)):null}getDecorationsInRange(e){return this._modelData?this._modelData.model.getDecorationsInRange(e,this._id,$9(this._configuration.options)):null}deltaDecorations(e,t){return this._modelData?e.length===0&&t.length===0?e:this._modelData.model.deltaDecorations(e,t,this._id):[]}removeDecorations(e){!this._modelData||e.length===0||this._modelData.model.changeDecorations(t=>{t.deltaDecorations(e,[])})}removeDecorationsByType(e){const t=this._decorationTypeKeysToIds[e];t&&this.changeDecorations(i=>i.deltaDecorations(t,[])),this._decorationTypeKeysToIds.hasOwnProperty(e)&&delete this._decorationTypeKeysToIds[e],this._decorationTypeSubtypes.hasOwnProperty(e)&&delete this._decorationTypeSubtypes[e]}getLayoutInfo(){return this._configuration.options.get(145)}createOverviewRuler(e){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.createOverviewRuler(e)}getContainerDomNode(){return this._domElement}getDomNode(){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.domNode.domNode}delegateVerticalScrollbarPointerDown(e){!this._modelData||!this._modelData.hasRealView||this._modelData.view.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){!this._modelData||!this._modelData.hasRealView||this._modelData.view.delegateScrollFromMouseWheelEvent(e)}layout(e,t=!1){this._configuration.observeContainer(e),t||this.render()}focus(){!this._modelData||!this._modelData.hasRealView||this._modelData.view.focus()}hasTextFocus(){return!this._modelData||!this._modelData.hasRealView?!1:this._modelData.view.isFocused()}hasWidgetFocus(){return this._focusTracker&&this._focusTracker.hasFocus()}addContentWidget(e){const t={widget:e,position:e.getPosition()};this._contentWidgets.hasOwnProperty(e.getId()),this._contentWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addContentWidget(t)}layoutContentWidget(e){const t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){const i=this._contentWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(i)}}removeContentWidget(e){const t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){const i=this._contentWidgets[t];delete this._contentWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(i)}}addOverlayWidget(e){const t={widget:e,position:e.getPosition()};this._overlayWidgets.hasOwnProperty(e.getId()),this._overlayWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addOverlayWidget(t)}layoutOverlayWidget(e){const t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){const i=this._overlayWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(i)}}removeOverlayWidget(e){const t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){const i=this._overlayWidgets[t];delete this._overlayWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(i)}}addGlyphMarginWidget(e){const t={widget:e,position:e.getPosition()};this._glyphMarginWidgets.hasOwnProperty(e.getId()),this._glyphMarginWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addGlyphMarginWidget(t)}layoutGlyphMarginWidget(e){const t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){const i=this._glyphMarginWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutGlyphMarginWidget(i)}}removeGlyphMarginWidget(e){const t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){const i=this._glyphMarginWidgets[t];delete this._glyphMarginWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeGlyphMarginWidget(i)}}changeViewZones(e){!this._modelData||!this._modelData.hasRealView||this._modelData.view.change(e)}getTargetAtClientPoint(e,t){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.getTargetAtClientPoint(e,t)}getScrolledVisiblePosition(e){if(!this._modelData||!this._modelData.hasRealView)return null;const t=this._modelData.model.validatePosition(e),i=this._configuration.options,r=i.get(145),o=Lv._getVerticalOffsetForPosition(this._modelData,t.lineNumber,t.column)-this.getScrollTop(),s=this._modelData.view.getOffsetForColumn(t.lineNumber,t.column)+r.glyphMarginWidth+r.lineNumbersWidth+r.decorationsWidth-this.getScrollLeft();return{top:o,left:s,height:i.get(67)}}getOffsetForColumn(e,t){return!this._modelData||!this._modelData.hasRealView?-1:this._modelData.view.getOffsetForColumn(e,t)}render(e=!1){!this._modelData||!this._modelData.hasRealView||this._modelData.view.render(!0,e)}setAriaOptions(e){!this._modelData||!this._modelData.hasRealView||this._modelData.view.setAriaOptions(e)}applyFontInfo(e){Ts(e,this._configuration.options.get(50))}setBanner(e,t){this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),this._bannerDomNode=e,this._configuration.setReservedHeight(e?t:0),this._bannerDomNode&&this._domElement.prepend(this._bannerDomNode)}_attachModel(e){if(!e){this._modelData=null;return}const t=[];this._domElement.setAttribute("data-mode-id",e.getLanguageId()),this._configuration.setIsDominatedByLongLines(e.isDominatedByLongLines()),this._configuration.setModelLineCount(e.getLineCount());const i=e.onBeforeAttached(),r=new Twt(this._id,this._configuration,e,Q6.create(Qt(this._domElement)),M7.create(this._configuration.options),a=>au(Qt(this._domElement),a),this.languageConfigurationService,this._themeService,i);t.push(e.onWillDispose(()=>this.setModel(null))),t.push(r.onEvent(a=>{switch(a.kind){case 0:this._onDidContentSizeChange.fire(a);break;case 1:this._editorTextFocus.setValue(a.hasFocus);break;case 2:this._onDidScrollChange.fire(a);break;case 3:this._onDidChangeViewZones.fire();break;case 4:this._onDidChangeHiddenAreas.fire();break;case 5:this._onDidAttemptReadOnlyEdit.fire();break;case 6:{if(a.reachedMaxCursorCount){const d=this.getOption(80),h=_("cursors.maximum","The number of cursors has been limited to {0}. Consider using [find and replace](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) for larger changes or increase the editor multi cursor limit setting.",d);this._notificationService.prompt(qZ.Warning,h,[{label:"Find and Replace",run:()=>{this._commandService.executeCommand("editor.action.startFindReplaceAction")}},{label:_("goToSetting","Increase Multi Cursor Limit"),run:()=>{this._commandService.executeCommand("workbench.action.openSettings2",{query:"editor.multiCursorLimit"})}}])}const l=[];for(let d=0,h=a.selections.length;d{this._paste("keyboard",o,s,a,l)},type:o=>{this._type("keyboard",o)},compositionType:(o,s,a,l)=>{this._compositionType("keyboard",o,s,a,l)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition("keyboard")},cut:()=>{this._cut("keyboard")}}:t={paste:(o,s,a,l)=>{const u={text:o,pasteOnNewLine:s,multicursorText:a,mode:l};this._commandService.executeCommand("paste",u)},type:o=>{const s={text:o};this._commandService.executeCommand("type",s)},compositionType:(o,s,a,l)=>{if(a||l){const u={text:o,replacePrevCharCnt:s,replaceNextCharCnt:a,positionDelta:l};this._commandService.executeCommand("compositionType",u)}else{const u={text:o,replaceCharCnt:s};this._commandService.executeCommand("replacePreviousChar",u)}},startComposition:()=>{this._commandService.executeCommand("compositionStart",{})},endComposition:()=>{this._commandService.executeCommand("compositionEnd",{})},cut:()=>{this._commandService.executeCommand("cut",{})}};const i=new LZ(e.coordinatesConverter);return i.onKeyDown=o=>this._onKeyDown.fire(o),i.onKeyUp=o=>this._onKeyUp.fire(o),i.onContextMenu=o=>this._onContextMenu.fire(o),i.onMouseMove=o=>this._onMouseMove.fire(o),i.onMouseLeave=o=>this._onMouseLeave.fire(o),i.onMouseDown=o=>this._onMouseDown.fire(o),i.onMouseUp=o=>this._onMouseUp.fire(o),i.onMouseDrag=o=>this._onMouseDrag.fire(o),i.onMouseDrop=o=>this._onMouseDrop.fire(o),i.onMouseDropCanceled=o=>this._onMouseDropCanceled.fire(o),i.onMouseWheel=o=>this._onMouseWheel.fire(o),[new K6(t,this._configuration,this._themeService.getColorTheme(),e,i,this._overflowWidgetsDomNode,this._instantiationService),!0]}_postDetachModelCleanup(e){e==null||e.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){var e;if((e=this._contributionsDisposable)===null||e===void 0||e.dispose(),this._contributionsDisposable=void 0,!this._modelData)return null;const t=this._modelData.model,i=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;return this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute("data-mode-id"),i&&this._domElement.contains(i)&&this._domElement.removeChild(i),this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),t}_removeDecorationType(e){this._codeEditorService.removeDecorationType(e)}hasModel(){return this._modelData!==null}showDropIndicatorAt(e){const t=[{range:new J(e.lineNumber,e.column,e.lineNumber,e.column),options:Lv.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(t),this.revealPosition(e,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}setContextValue(e,t){this._contextKeyService.createKey(e,t)}};S2.dropIntoEditorDecorationOptions=vn.register({description:"workbench-dnd-target",className:"dnd-target"}),S2=Lv=Awt([ap(3,$t),ap(4,yi),ap(5,Xr),ap(6,ln),ap(7,jo),ap(8,Mo),ap(9,Wc),ap(10,er),ap(11,Rt)],S2);let Vwt=0,Gwt=class{constructor(e,t,i,r,o,s){this.model=e,this.viewModel=t,this.view=i,this.hasRealView=r,this.listenersToRemove=o,this.attachedView=s}dispose(){qi(this.listenersToRemove),this.model.onBeforeDetached(this.attachedView),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}};class NCe extends Fe{constructor(e){super(),this._emitterOptions=e,this._onDidChangeToTrue=this._register(new be(this._emitterOptions)),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new be(this._emitterOptions)),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(e){const t=e?2:1;this._value!==t&&(this._value=t,this._value===2?this._onDidChangeToTrue.fire():this._value===1&&this._onDidChangeToFalse.fire())}}class Ma extends be{constructor(e,t){super({deliveryQueue:t}),this._contributions=e}fire(e){this._contributions.onBeforeInteractionEvent(),super.fire(e)}}class Xwt extends Fe{constructor(e,t){super(),this._editor=e,t.createKey("editorId",e.getId()),this._editorSimpleInput=ne.editorSimpleInput.bindTo(t),this._editorFocus=ne.focus.bindTo(t),this._textInputFocus=ne.textInputFocus.bindTo(t),this._editorTextFocus=ne.editorTextFocus.bindTo(t),this._tabMovesFocus=ne.tabMovesFocus.bindTo(t),this._editorReadonly=ne.readOnly.bindTo(t),this._inDiffEditor=ne.inDiffEditor.bindTo(t),this._editorColumnSelection=ne.columnSelection.bindTo(t),this._hasMultipleSelections=ne.hasMultipleSelections.bindTo(t),this._hasNonEmptySelection=ne.hasNonEmptySelection.bindTo(t),this._canUndo=ne.canUndo.bindTo(t),this._canRedo=ne.canRedo.bindTo(t),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromConfig())),this._register(this._editor.onDidChangeCursorSelection(()=>this._updateFromSelection())),this._register(this._editor.onDidFocusEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidFocusEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidChangeModel(()=>this._updateFromModel())),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromModel())),this._register(Hw.onDidChangeTabFocus(i=>this._tabMovesFocus.set(i))),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){const e=this._editor.getOptions();this._tabMovesFocus.set(Hw.getTabFocusMode()),this._editorReadonly.set(e.get(91)),this._inDiffEditor.set(e.get(61)),this._editorColumnSelection.set(e.get(22))}_updateFromSelection(){const e=this._editor.getSelections();e?(this._hasMultipleSelections.set(e.length>1),this._hasNonEmptySelection.set(e.some(t=>!t.isEmpty()))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())}_updateFromFocus(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget),this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.hasTextFocus())}_updateFromModel(){const e=this._editor.getModel();this._canUndo.set(!!(e&&e.canUndo())),this._canRedo.set(!!(e&&e.canRedo()))}}class Pwt extends Fe{constructor(e,t,i){super(),this._editor=e,this._contextKeyService=t,this._languageFeaturesService=i,this._langId=ne.languageId.bindTo(t),this._hasCompletionItemProvider=ne.hasCompletionItemProvider.bindTo(t),this._hasCodeActionsProvider=ne.hasCodeActionsProvider.bindTo(t),this._hasCodeLensProvider=ne.hasCodeLensProvider.bindTo(t),this._hasDefinitionProvider=ne.hasDefinitionProvider.bindTo(t),this._hasDeclarationProvider=ne.hasDeclarationProvider.bindTo(t),this._hasImplementationProvider=ne.hasImplementationProvider.bindTo(t),this._hasTypeDefinitionProvider=ne.hasTypeDefinitionProvider.bindTo(t),this._hasHoverProvider=ne.hasHoverProvider.bindTo(t),this._hasDocumentHighlightProvider=ne.hasDocumentHighlightProvider.bindTo(t),this._hasDocumentSymbolProvider=ne.hasDocumentSymbolProvider.bindTo(t),this._hasReferenceProvider=ne.hasReferenceProvider.bindTo(t),this._hasRenameProvider=ne.hasRenameProvider.bindTo(t),this._hasSignatureHelpProvider=ne.hasSignatureHelpProvider.bindTo(t),this._hasInlayHintsProvider=ne.hasInlayHintsProvider.bindTo(t),this._hasDocumentFormattingProvider=ne.hasDocumentFormattingProvider.bindTo(t),this._hasDocumentSelectionFormattingProvider=ne.hasDocumentSelectionFormattingProvider.bindTo(t),this._hasMultipleDocumentFormattingProvider=ne.hasMultipleDocumentFormattingProvider.bindTo(t),this._hasMultipleDocumentSelectionFormattingProvider=ne.hasMultipleDocumentSelectionFormattingProvider.bindTo(t),this._isInEmbeddedEditor=ne.isInEmbeddedEditor.bindTo(t);const r=()=>this._update();this._register(e.onDidChangeModel(r)),this._register(e.onDidChangeModelLanguage(r)),this._register(i.completionProvider.onDidChange(r)),this._register(i.codeActionProvider.onDidChange(r)),this._register(i.codeLensProvider.onDidChange(r)),this._register(i.definitionProvider.onDidChange(r)),this._register(i.declarationProvider.onDidChange(r)),this._register(i.implementationProvider.onDidChange(r)),this._register(i.typeDefinitionProvider.onDidChange(r)),this._register(i.hoverProvider.onDidChange(r)),this._register(i.documentHighlightProvider.onDidChange(r)),this._register(i.documentSymbolProvider.onDidChange(r)),this._register(i.referenceProvider.onDidChange(r)),this._register(i.renameProvider.onDidChange(r)),this._register(i.documentFormattingEditProvider.onDidChange(r)),this._register(i.documentRangeFormattingEditProvider.onDidChange(r)),this._register(i.signatureHelpProvider.onDidChange(r)),this._register(i.inlayHintsProvider.onDidChange(r)),r()}dispose(){super.dispose()}reset(){this._contextKeyService.bufferChangeEvents(()=>{this._langId.reset(),this._hasCompletionItemProvider.reset(),this._hasCodeActionsProvider.reset(),this._hasCodeLensProvider.reset(),this._hasDefinitionProvider.reset(),this._hasDeclarationProvider.reset(),this._hasImplementationProvider.reset(),this._hasTypeDefinitionProvider.reset(),this._hasHoverProvider.reset(),this._hasDocumentHighlightProvider.reset(),this._hasDocumentSymbolProvider.reset(),this._hasReferenceProvider.reset(),this._hasRenameProvider.reset(),this._hasDocumentFormattingProvider.reset(),this._hasDocumentSelectionFormattingProvider.reset(),this._hasSignatureHelpProvider.reset(),this._isInEmbeddedEditor.reset()})}_update(){const e=this._editor.getModel();if(!e){this.reset();return}this._contextKeyService.bufferChangeEvents(()=>{this._langId.set(e.getLanguageId()),this._hasCompletionItemProvider.set(this._languageFeaturesService.completionProvider.has(e)),this._hasCodeActionsProvider.set(this._languageFeaturesService.codeActionProvider.has(e)),this._hasCodeLensProvider.set(this._languageFeaturesService.codeLensProvider.has(e)),this._hasDefinitionProvider.set(this._languageFeaturesService.definitionProvider.has(e)),this._hasDeclarationProvider.set(this._languageFeaturesService.declarationProvider.has(e)),this._hasImplementationProvider.set(this._languageFeaturesService.implementationProvider.has(e)),this._hasTypeDefinitionProvider.set(this._languageFeaturesService.typeDefinitionProvider.has(e)),this._hasHoverProvider.set(this._languageFeaturesService.hoverProvider.has(e)),this._hasDocumentHighlightProvider.set(this._languageFeaturesService.documentHighlightProvider.has(e)),this._hasDocumentSymbolProvider.set(this._languageFeaturesService.documentSymbolProvider.has(e)),this._hasReferenceProvider.set(this._languageFeaturesService.referenceProvider.has(e)),this._hasRenameProvider.set(this._languageFeaturesService.renameProvider.has(e)),this._hasSignatureHelpProvider.set(this._languageFeaturesService.signatureHelpProvider.has(e)),this._hasInlayHintsProvider.set(this._languageFeaturesService.inlayHintsProvider.has(e)),this._hasDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.has(e)||this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasMultipleDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.all(e).length+this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._isInEmbeddedEditor.set(e.uri.scheme===Sn.walkThroughSnippet||e.uri.scheme===Sn.vscodeChatCodeBlock)})}}class Owt extends Fe{constructor(e,t){super(),this._onChange=this._register(new be),this.onChange=this._onChange.event,this._hadFocus=void 0,this._hasDomElementFocus=!1,this._domFocusTracker=this._register(Dh(e)),this._overflowWidgetsDomNodeHasFocus=!1,this._register(this._domFocusTracker.onDidFocus(()=>{this._hasDomElementFocus=!0,this._update()})),this._register(this._domFocusTracker.onDidBlur(()=>{this._hasDomElementFocus=!1,this._update()})),t&&(this._overflowWidgetsDomNode=this._register(Dh(t)),this._register(this._overflowWidgetsDomNode.onDidFocus(()=>{this._overflowWidgetsDomNodeHasFocus=!0,this._update()})),this._register(this._overflowWidgetsDomNode.onDidBlur(()=>{this._overflowWidgetsDomNodeHasFocus=!1,this._update()})))}_update(){const e=this._hasDomElementFocus||this._overflowWidgetsDomNodeHasFocus;this._hadFocus!==e&&(this._hadFocus=e,this._onChange.fire(void 0))}hasFocus(){var e;return(e=this._hadFocus)!==null&&e!==void 0?e:!1}}class Bwt{get length(){return this._decorationIds.length}constructor(e,t){this._editor=e,this._decorationIds=[],this._isChangingDecorations=!1,Array.isArray(t)&&t.length>0&&this.set(t)}onDidChange(e,t,i){return this._editor.onDidChangeModelDecorations(r=>{this._isChangingDecorations||e.call(t,r)},i)}getRange(e){return!this._editor.hasModel()||e>=this._decorationIds.length?null:this._editor.getModel().getDecorationRange(this._decorationIds[e])}getRanges(){if(!this._editor.hasModel())return[];const e=this._editor.getModel(),t=[];for(const i of this._decorationIds){const r=e.getDecorationRange(i);r&&t.push(r)}return t}has(e){return this._decorationIds.includes(e.id)}clear(){this._decorationIds.length!==0&&this.set([])}set(e){try{this._isChangingDecorations=!0,this._editor.changeDecorations(t=>{this._decorationIds=t.deltaDecorations(this._decorationIds,e)})}finally{this._isChangingDecorations=!1}return this._decorationIds}append(e){let t=[];try{this._isChangingDecorations=!0,this._editor.changeDecorations(i=>{t=i.deltaDecorations([],e),this._decorationIds=this._decorationIds.concat(t)})}finally{this._isChangingDecorations=!1}return t}}const zwt=encodeURIComponent("");function H7(n){return zwt+encodeURIComponent(n.toString())+Hwt}const Ywt=encodeURIComponent('');function Kwt(n){return Ywt+encodeURIComponent(n.toString())+Uwt}Xc((n,e)=>{const t=n.getColor(qm);t&&e.addRule(`.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${H7(t)}") repeat-x bottom left; }`);const i=n.getColor(Fa);i&&e.addRule(`.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${H7(i)}") repeat-x bottom left; }`);const r=n.getColor(Gl);r&&e.addRule(`.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${H7(r)}") repeat-x bottom left; }`);const o=n.getColor(Obt);o&&e.addRule(`.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${Kwt(o)}") no-repeat bottom left; }`);const s=n.getColor(_yt);s&&e.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${s.rgba.a}; }`)});class Oh{constructor(e,t,i){this.owner=e,this.debugNameSource=t,this.referenceFn=i}getDebugName(e){return Jwt(e,this)}}const MCe=new Map,Y7=new WeakMap;function Jwt(n,e){var t;const i=Y7.get(n);if(i)return i;const r=jwt(n,e);if(r){let o=(t=MCe.get(r))!==null&&t!==void 0?t:0;o++,MCe.set(r,o);const s=o===1?r:`${r}#${o}`;return Y7.set(n,s),s}}function jwt(n,e){const t=Y7.get(n);if(t)return t;const i=e.owner?$wt(e.owner)+".":"";let r;const o=e.debugNameSource;if(o!==void 0)if(typeof o=="function"){if(r=o(),r!==void 0)return i+r}else return i+o;const s=e.referenceFn;if(s!==void 0&&(r=eW(s),r!==void 0))return i+r;if(e.owner!==void 0){const a=Qwt(e.owner,n);if(a!==void 0)return i+a}}function Qwt(n,e){for(const t in n)if(n[t]===e)return t}const kCe=new Map,TCe=new WeakMap;function $wt(n){var e;const t=TCe.get(n);if(t)return t;const i=qwt(n);let r=(e=kCe.get(i))!==null&&e!==void 0?e:0;r++,kCe.set(i,r);const o=r===1?i:`${i}#${r}`;return TCe.set(n,o),o}function qwt(n){const e=n.constructor;return e?e.name:"Object"}function eW(n){const e=n.toString(),i=/\/\*\*\s*@description\s*([^*]*)\*\//.exec(e),r=i?i[1]:void 0;return r==null?void 0:r.trim()}let e2t;function pf(){return e2t}let ECe;function t2t(n){ECe=n}let RCe;function n2t(n){RCe=n}class ZCe{get TChange(){return null}reportChanges(){this.get()}read(e){return e?e.readObservable(this):this.get()}map(e,t){const i=t===void 0?void 0:e,r=t===void 0?e:t;return RCe({owner:i,debugName:()=>{const o=eW(r);if(o!==void 0)return o;const a=/^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1(?:\??)\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/.exec(r.toString());if(a)return`${this.debugName}.${a[2]}`;if(!i)return`${this.debugName} (mapped)`}},o=>r(this.read(o),o))}recomputeInitiallyAndOnChange(e,t){return e.add(ECe(this,t)),this}}class MD extends ZCe{constructor(){super(...arguments),this.observers=new Set}addObserver(e){const t=this.observers.size;this.observers.add(e),t===0&&this.onFirstObserverAdded()}removeObserver(e){this.observers.delete(e)&&this.observers.size===0&&this.onLastObserverRemoved()}onFirstObserverAdded(){}onLastObserverRemoved(){}}function Bi(n,e){const t=new iW(n,e);try{n(t)}finally{t.finish()}}let tW;function nW(n){if(tW)n(tW);else{const e=new iW(n,void 0);tW=e;try{n(e)}finally{e.finish(),tW=void 0}}}async function i2t(n,e){const t=new iW(n,e);try{await n(t)}finally{t.finish()}}function kD(n,e,t){n?e(n):Bi(e,t)}class iW{constructor(e,t){var i;this._fn=e,this._getDebugName=t,this.updatingObservers=[],(i=pf())===null||i===void 0||i.handleBeginTransaction(this)}getDebugName(){return this._getDebugName?this._getDebugName():eW(this._fn)}updateObserver(e,t){this.updatingObservers.push({observer:e,observable:t}),e.beginUpdate(t)}finish(){var e;const t=this.updatingObservers;for(let i=0;i{},()=>`Setting ${this.debugName}`));try{const s=this._value;this._setValue(e),(r=pf())===null||r===void 0||r.handleObservableChanged(this,{oldValue:s,newValue:e,change:i,didChange:!0,hadValue:!0});for(const a of this.observers)t.updateObserver(a,this),a.handleChange(this,i)}finally{o&&o.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(e){this._value=e}}function TD(n,e){return typeof n=="string"?new WCe(void 0,n,e):new WCe(n,void 0,e)}class WCe extends U7{_setValue(e){this._value!==e&&(this._value&&this._value.dispose(),this._value=e)}dispose(){var e;(e=this._value)===null||e===void 0||e.dispose()}}const w2=(n,e)=>n===e;function hn(n,e){return e!==void 0?new L2(new Oh(n,void 0,e),e,void 0,void 0,void 0,w2):new L2(new Oh(void 0,void 0,n),n,void 0,void 0,void 0,w2)}function x2(n,e){var t;return new L2(new Oh(n.owner,n.debugName,n.debugReferenceFn),e,void 0,void 0,n.onLastObserverRemoved,(t=n.equalityComparer)!==null&&t!==void 0?t:w2)}n2t(x2);function r2t(n,e){var t;return new L2(new Oh(n.owner,n.debugName,void 0),e,n.createEmptyChangeSummary,n.handleChange,void 0,(t=n.equalityComparer)!==null&&t!==void 0?t:w2)}function _2(n,e){let t,i;e===void 0?(t=n,i=void 0):(i=n,t=e);const r=new Je;return new L2(new Oh(i,void 0,t),o=>(r.clear(),t(o,r)),void 0,void 0,()=>r.dispose(),w2)}function lp(n,e){let t,i;e===void 0?(t=n,i=void 0):(i=n,t=e);const r=new Je;return new L2(new Oh(i,void 0,t),o=>{r.clear();const s=t(o);return s&&r.add(s),s},void 0,void 0,()=>r.dispose(),w2)}class L2 extends MD{get debugName(){var e;return(e=this._debugNameData.getDebugName(this))!==null&&e!==void 0?e:"(anonymous)"}constructor(e,t,i,r,o=void 0,s){var a,l;super(),this._debugNameData=e,this._computeFn=t,this.createChangeSummary=i,this._handleChange=r,this._handleLastObserverRemoved=o,this._equalityComparator=s,this.state=0,this.value=void 0,this.updateCount=0,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=void 0,this.changeSummary=(a=this.createChangeSummary)===null||a===void 0?void 0:a.call(this),(l=pf())===null||l===void 0||l.handleDerivedCreated(this)}onLastObserverRemoved(){var e;this.state=0,this.value=void 0;for(const t of this.dependencies)t.removeObserver(this);this.dependencies.clear(),(e=this._handleLastObserverRemoved)===null||e===void 0||e.call(this)}get(){var e;if(this.observers.size===0){const t=this._computeFn(this,(e=this.createChangeSummary)===null||e===void 0?void 0:e.call(this));return this.onLastObserverRemoved(),t}else{do{if(this.state===1){for(const t of this.dependencies)if(t.reportChanges(),this.state===2)break}this.state===1&&(this.state=3),this._recomputeIfNeeded()}while(this.state!==3);return this.value}}_recomputeIfNeeded(){var e,t;if(this.state===3)return;const i=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=i;const r=this.state!==0,o=this.value;this.state=3;const s=this.changeSummary;this.changeSummary=(e=this.createChangeSummary)===null||e===void 0?void 0:e.call(this);try{this.value=this._computeFn(this,s)}finally{for(const l of this.dependenciesToBeRemoved)l.removeObserver(this);this.dependenciesToBeRemoved.clear()}const a=r&&!this._equalityComparator(o,this.value);if((t=pf())===null||t===void 0||t.handleDerivedRecomputed(this,{oldValue:o,newValue:this.value,change:void 0,didChange:a,hadValue:r}),a)for(const l of this.observers)l.handleChange(this,void 0)}toString(){return`LazyDerived<${this.debugName}>`}beginUpdate(e){this.updateCount++;const t=this.updateCount===1;if(this.state===3&&(this.state=1,!t))for(const i of this.observers)i.handlePossibleChange(this);if(t)for(const i of this.observers)i.beginUpdate(this)}endUpdate(e){if(this.updateCount--,this.updateCount===0){const t=[...this.observers];for(const i of t)i.endUpdate(this)}ev(()=>this.updateCount>=0)}handlePossibleChange(e){if(this.state===3&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){this.state=1;for(const t of this.observers)t.handlePossibleChange(this)}}handleChange(e,t){if(this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){const i=this._handleChange?this._handleChange({changedObservable:e,change:t,didChange:o=>o===e},this.changeSummary):!0,r=this.state===3;if(i&&(this.state===1||r)&&(this.state=2,r))for(const o of this.observers)o.handlePossibleChange(this)}}readObservable(e){e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}addObserver(e){const t=!this.observers.has(e)&&this.updateCount>0;super.addObserver(e),t&&e.beginUpdate(this)}removeObserver(e){const t=this.observers.has(e)&&this.updateCount>0;super.removeObserver(e),t&&e.endUpdate(this)}}function Rn(n){return new oW(new Oh(void 0,void 0,n),n,void 0,void 0)}function rW(n,e){var t;return new oW(new Oh(n.owner,n.debugName,(t=n.debugReferenceFn)!==null&&t!==void 0?t:e),e,void 0,void 0)}function ED(n,e){var t;return new oW(new Oh(n.owner,n.debugName,(t=n.debugReferenceFn)!==null&&t!==void 0?t:e),e,n.createEmptyChangeSummary,n.handleChange)}function Hc(n){const e=new Je,t=rW({owner:void 0,debugName:void 0,debugReferenceFn:n},i=>{e.clear(),n(i,e)});return jt(()=>{t.dispose(),e.dispose()})}class oW{get debugName(){var e;return(e=this._debugNameData.getDebugName(this))!==null&&e!==void 0?e:"(anonymous)"}constructor(e,t,i,r){var o,s;this._debugNameData=e,this._runFn=t,this.createChangeSummary=i,this._handleChange=r,this.state=2,this.updateCount=0,this.disposed=!1,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=(o=this.createChangeSummary)===null||o===void 0?void 0:o.call(this),(s=pf())===null||s===void 0||s.handleAutorunCreated(this),this._runIfNeeded()}dispose(){this.disposed=!0;for(const e of this.dependencies)e.removeObserver(this);this.dependencies.clear()}_runIfNeeded(){var e,t,i;if(this.state===3)return;const r=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=r,this.state=3;const o=this.disposed;try{if(!o){(e=pf())===null||e===void 0||e.handleAutorunTriggered(this);const s=this.changeSummary;this.changeSummary=(t=this.createChangeSummary)===null||t===void 0?void 0:t.call(this),this._runFn(this,s)}}finally{o||(i=pf())===null||i===void 0||i.handleAutorunFinished(this);for(const s of this.dependenciesToBeRemoved)s.removeObserver(this);this.dependenciesToBeRemoved.clear()}}toString(){return`Autorun<${this.debugName}>`}beginUpdate(){this.state===3&&(this.state=1),this.updateCount++}endUpdate(){if(this.updateCount===1)do{if(this.state===1){this.state=3;for(const e of this.dependencies)if(e.reportChanges(),this.state===2)break}this._runIfNeeded()}while(this.state!==3);this.updateCount--,ev(()=>this.updateCount>=0)}handlePossibleChange(e){this.state===3&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)&&(this.state=1)}handleChange(e,t){this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)&&(!this._handleChange||this._handleChange({changedObservable:e,change:t,didChange:r=>r===e},this.changeSummary))&&(this.state=2)}readObservable(e){if(this.disposed)return e.get();e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}}(function(n){n.Observer=oW})(Rn||(Rn={}));function Bh(n){return new o2t(n)}class o2t extends ZCe{constructor(e){super(),this.value=e}get debugName(){return this.toString()}get(){return this.value}addObserver(e){}removeObserver(e){}toString(){return`Const: ${this.value}`}}function zi(n,e){return new Iv(n,e)}class Iv extends MD{constructor(e,t){super(),this.event=e,this._getValue=t,this.hasValue=!1,this.handleEvent=i=>{var r;const o=this._getValue(i),s=this.value,a=!this.hasValue||s!==o;let l=!1;a&&(this.value=o,this.hasValue&&(l=!0,kD(Iv.globalTransaction,u=>{var c;(c=pf())===null||c===void 0||c.handleFromEventObservableTriggered(this,{oldValue:s,newValue:o,change:void 0,didChange:a,hadValue:this.hasValue});for(const d of this.observers)u.updateObserver(d,this),d.handleChange(this,void 0)},()=>{const u=this.getDebugName();return"Event fired"+(u?`: ${u}`:"")})),this.hasValue=!0),l||(r=pf())===null||r===void 0||r.handleFromEventObservableTriggered(this,{oldValue:s,newValue:o,change:void 0,didChange:a,hadValue:this.hasValue})}}getDebugName(){return eW(this._getValue)}get debugName(){const e=this.getDebugName();return"From Event"+(e?`: ${e}`:"")}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0,this.hasValue=!1,this.value=void 0}get(){return this.subscription?(this.hasValue||this.handleEvent(void 0),this.value):this._getValue(void 0)}}(function(n){n.Observer=Iv;function e(t,i){let r=!1;Iv.globalTransaction===void 0&&(Iv.globalTransaction=t,r=!0);try{i()}finally{r&&(Iv.globalTransaction=void 0)}}n.batchEventsGlobally=e})(zi||(zi={}));function ba(n,e){return new s2t(n,e)}class s2t extends MD{constructor(e,t){super(),this.debugName=e,this.event=t,this.handleEvent=()=>{Bi(i=>{for(const r of this.observers)i.updateObserver(r,this),r.handleChange(this,void 0)},()=>this.debugName)}}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0}get(){}}function sW(n){return typeof n=="string"?new ACe(n):new ACe(void 0,n)}class ACe extends MD{get debugName(){var e;return(e=new Oh(this._owner,this._debugName,void 0).getDebugName(this))!==null&&e!==void 0?e:"Observable Signal"}constructor(e,t){super(),this._debugName=e,this._owner=t}trigger(e,t){if(!e){Bi(i=>{this.trigger(i,t)},()=>`Trigger signal ${this.debugName}`);return}for(const i of this.observers)e.updateObserver(i,this),i.handleChange(this,t)}get(){}}function RD(n,e){const t=new a2t(!0,e);return n.addObserver(t),e?e(n.get()):n.reportChanges(),jt(()=>{n.removeObserver(t)})}t2t(RD);class a2t{constructor(e,t){this._forceRecompute=e,this._handleValue=t,this._counter=0}beginUpdate(e){this._counter++}endUpdate(e){this._counter--,this._counter===0&&this._forceRecompute&&(this._handleValue?this._handleValue(e.get()):e.reportChanges())}handlePossibleChange(e){}handleChange(e,t){}}function l2t(n){let e;return hn(i=>(e=n(i,e),e))}function u2t(n,e,t,i){let r=new VCe(t,i);return x2({debugReferenceFn:t,owner:n,onLastObserverRemoved:()=>{r.dispose(),r=new VCe(t)}},s=>(r.setItems(e.read(s)),r.getItems()))}class VCe{constructor(e,t){this._map=e,this._keySelector=t,this._cache=new Map,this._items=[]}dispose(){this._cache.forEach(e=>e.store.dispose()),this._cache.clear()}setItems(e){const t=[],i=new Set(this._cache.keys());for(const r of e){const o=this._keySelector?this._keySelector(r):r;let s=this._cache.get(o);if(s)i.delete(o);else{const a=new Je;s={out:this._map(r,a),store:a},this._cache.set(o,s)}t.push(s.out)}for(const r of i)this._cache.get(r).store.dispose(),this._cache.delete(r);this._items=t}getItems(){return this._items}}function c2t(n,e,t){return new Promise((i,r)=>{let o=!0,s=!1;const a=n.map(u=>({isFinished:e(u),error:t?t(u):!1,state:u})),l=Rn(u=>{const{isFinished:c,error:d,state:h}=a.read(u);(c||d)&&(o?s=!0:l.dispose(),d?r(d===!0?h:d):i(h))});o=!1,s&&l.dispose()})}class zh{static capture(e){if(e.getScrollTop()===0||e.hasPendingScrollAnimation())return new zh(e.getScrollTop(),e.getContentHeight(),null,0,null);let t=null,i=0;const r=e.getVisibleRanges();if(r.length>0){t=r[0].getStartPosition();const o=e.getTopForPosition(t.lineNumber,t.column);i=e.getScrollTop()-o}return new zh(e.getScrollTop(),e.getContentHeight(),t,i,e.getPosition())}constructor(e,t,i,r,o){this._initialScrollTop=e,this._initialContentHeight=t,this._visiblePosition=i,this._visiblePositionScrollDelta=r,this._cursorPosition=o}restore(e){if(!(this._initialContentHeight===e.getContentHeight()&&this._initialScrollTop===e.getScrollTop())&&this._visiblePosition){const t=e.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);e.setScrollTop(t+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(e){if(this._initialContentHeight===e.getContentHeight()&&this._initialScrollTop===e.getScrollTop())return;const t=e.getPosition();if(!this._cursorPosition||!t)return;const i=e.getTopForLineNumber(t.lineNumber)-e.getTopForLineNumber(this._cursorPosition.lineNumber);e.setScrollTop(e.getScrollTop()+i)}}const ZD={RESOURCES:"ResourceURLs",DOWNLOAD_URL:"DownloadURL",FILES:"Files",TEXT:Pr.text,INTERNAL_URI_LIST:"application/vnd.code.uri-list"};let aW=()=>({get delay(){return-1},dispose:()=>{},showHover:()=>{}});const d2t=new Lh(()=>aW("mouse",!1)),h2t=new Lh(()=>aW("element",!1));function m2t(n){aW=n}function Pl(n){return n==="element"?h2t.value:d2t.value}function I2(){return aW("element",!0)}function GCe(...n){return function(e,t){for(let i=0,r=n.length;i0?[{start:0,end:e.length}]:[]:null}function f2t(n,e){const t=e.toLowerCase().indexOf(n.toLowerCase());return t===-1?null:[{start:t,end:t+n.length}]}function PCe(n,e){return K7(n.toLowerCase(),e.toLowerCase(),0,0)}function K7(n,e,t,i){if(t===n.length)return[];if(i===e.length)return null;if(n[t]===e[i]){let r=null;return(r=K7(n,e,t+1,i+1))?BCe({start:i,end:i+1},r):null}return K7(n,e,t,i+1)}function J7(n){return 97<=n&&n<=122}function uW(n){return 65<=n&&n<=90}function j7(n){return 48<=n&&n<=57}function g2t(n){return n===32||n===9||n===10||n===13}const p2t=new Set;"()[]{}<>`'\"-/;:,.?!".split("").forEach(n=>p2t.add(n.charCodeAt(0)));function OCe(n){return J7(n)||uW(n)||j7(n)}function BCe(n,e){return e.length===0?e=[n]:n.end===e[0].start?e[0].start=n.start:e.unshift(n),e}function zCe(n,e){for(let t=e;t0&&!OCe(n.charCodeAt(t-1)))return t}return n.length}function Q7(n,e,t,i){if(t===n.length)return[];if(i===e.length)return null;if(n[t]!==e[i].toLowerCase())return null;{let r=null,o=i+1;for(r=Q7(n,e,t+1,i+1);!r&&(o=zCe(e,o)).6}function v2t(n){const{upperPercent:e,lowerPercent:t,alphaPercent:i,numericPercent:r}=n;return t>.2&&e<.8&&i>.6&&r<.2}function C2t(n){let e=0,t=0,i=0,r=0;for(let o=0;o60&&(e=e.substring(0,60));const t=b2t(e);if(!v2t(t)){if(!y2t(t))return null;e=e.toLowerCase()}let i=null,r=0;for(n=n.toLowerCase();r"u")return[];const e=[],t=n[1];for(let i=n.length-1;i>1;i--){const r=n[i]+t,o=e[e.length-1];o&&o.end===r?o.end=r+1:e.push({start:r,end:r+1})}return e}const C0=128;function $7(){const n=[],e=[];for(let t=0;t<=C0;t++)e[t]=0;for(let t=0;t<=C0;t++)n.push(e.slice(0));return n}function KCe(n){const e=[];for(let t=0;t<=n;t++)e[t]=0;return e}const JCe=KCe(2*C0),q7=KCe(2*C0),up=$7(),Fv=$7(),dW=$7();function hW(n,e){if(e<0||e>=n.length)return!1;const t=n.codePointAt(e);switch(t){case 95:case 45:case 46:case 32:case 47:case 92:case 39:case 34:case 58:case 36:case 60:case 62:case 40:case 41:case 91:case 93:case 123:case 125:return!0;case void 0:return!1;default:return!!aY(t)}}function jCe(n,e){if(e<0||e>=n.length)return!1;switch(n.charCodeAt(e)){case 32:case 9:return!0;default:return!1}}function mW(n,e,t){return e[n]!==t[n]}function L2t(n,e,t,i,r,o,s=!1){for(;eC0?C0:n.length,l=i.length>C0?C0:i.length;if(t>=a||o>=l||a-t>l-o||!L2t(e,t,a,r,o,l,!0))return;I2t(a,l,t,o,e,r);let u=1,c=1,d=t,h=o;const m=[!1];for(u=1,d=t;dC,T=N?Fv[u][c-1]+(up[u][c-1]>0?-5:0):0,R=h>C+1&&up[u][c-1]>0,E=R?Fv[u][c-2]+(up[u][c-2]>0?-5:0):0;if(R&&(!N||E>=T)&&(!I||E>=D))Fv[u][c]=E,dW[u][c]=3,up[u][c]=0;else if(N&&(!I||T>=D))Fv[u][c]=T,dW[u][c]=2,up[u][c]=0;else if(I)Fv[u][c]=D,dW[u][c]=1,up[u][c]=up[u-1][c-1]+1;else throw new Error("not possible")}}if(!m[0]&&!s.firstMatchCanBeWeak)return;u--,c--;const f=[Fv[u][c],o];let g=0,b=0;for(;u>=1;){let C=c;do{const w=dW[u][C];if(w===3)C=C-2;else if(w===2)C=C-1;else break}while(C>=1);g>1&&e[t+u-1]===r[o+c-1]&&!mW(C+o-1,i,r)&&g+1>up[u][C]&&(C=c),C===c?g++:g=1,b||(b=C),u--,c=C-1,f.push(c)}l===a&&s.boostFullMatch&&(f[0]+=2);const y=b-a;return f[0]-=y,f}function I2t(n,e,t,i,r,o){let s=n-1,a=e-1;for(;s>=t&&a>=i;)r[s]===o[a]&&(q7[s]=a,s--),a--}function F2t(n,e,t,i,r,o,s,a,l,u,c){if(e[t]!==o[s])return Number.MIN_SAFE_INTEGER;let d=1,h=!1;return s===t-i?d=n[t]===r[s]?7:5:mW(s,r,o)&&(s===0||!mW(s-1,r,o))?(d=n[t]===r[s]?7:5,h=!0):hW(o,s)&&(s===0||!hW(o,s-1))?d=5:(hW(o,s-1)||jCe(o,s-1))&&(d=5,h=!0),d>1&&t===i&&(c[0]=!0),h||(h=mW(s,r,o)||hW(o,s-1)||jCe(o,s-1)),t===i?s>l&&(d-=h?3:5):u?d+=h?2:0:d+=h?0:1,s+1===a&&(d-=h?3:5),d}function D2t(n,e,t,i,r,o,s){return N2t(n,e,t,i,r,o,!0,s)}function N2t(n,e,t,i,r,o,s,a){let l=F2(n,e,t,i,r,o,a);if(l&&!s)return l;if(n.length>=3){const u=Math.min(7,n.length-1);for(let c=t+1;cl[0])&&(l=h))}}}return l}function M2t(n,e){if(e+1>=n.length)return;const t=n[e],i=n[e+1];if(t!==i)return n.slice(0,e)+i+t+n.slice(e+2)}const k2t="$(",eU=new RegExp(`\\$\\(${sn.iconNameExpression}(?:${sn.iconModifierExpression})?\\)`,"g"),T2t=new RegExp(`(\\\\)?${eU.source}`,"g");function E2t(n){return n.replace(T2t,(e,t)=>t?e:`\\${e}`)}const R2t=new RegExp(`\\\\${eU.source}`,"g");function Z2t(n){return n.replace(R2t,e=>`\\${e}`)}const W2t=new RegExp(`(\\s)?(\\\\)?${eU.source}(\\s)?`,"g");function QCe(n){return n.indexOf(k2t)===-1?n:n.replace(W2t,(e,t,i,r)=>i?e:t||r||"")}function A2t(n){return n?n.replace(/\$\((.*?)\)/g,(e,t)=>` ${t} `).trim():""}const tU=new RegExp(`\\$\\(${sn.iconNameCharacter}+\\)`,"g");function WD(n){tU.lastIndex=0;let e="";const t=[];let i=0;for(;;){const r=tU.lastIndex,o=tU.exec(n),s=n.substring(r,o==null?void 0:o.index);if(s.length>0){e+=s;for(let a=0;a" ".repeat(r.length)).replace(/\>/gm,"\\>").replace(/\n/g,t===1?`\\ `:` `),this}appendMarkdown(e){return this.value+=e,this}appendCodeblock(e,t){return this.value+=` ${X2t(t,e)} -`,this}appendLink(e,t,i){return this.value+="[",this.value+=this._escape(t,"]"),this.value+="](",this.value+=this._escape(String(e),")"),i&&(this.value+=` "${this._escape(this._escape(i,'"'),")")}"`),this.value+=")",this}_escape(e,t){const i=new RegExp(Ru(t),"g");return e.replace(i,(r,o)=>e.charAt(o-1)!=="\\"?`\\${r}`:r)}}function D2(n){return Yh(n)?!n.value:Array.isArray(n)?n.every(D2):!0}function Yh(n){return n instanceof va?!0:n&&typeof n=="object"?typeof n.value=="string"&&(typeof n.isTrusted=="boolean"||typeof n.isTrusted=="object"||n.isTrusted===void 0)&&(typeof n.supportThemeIcons=="boolean"||n.supportThemeIcons===void 0):!1}function A2t(n,e){return n===e?!0:!n||!e?!1:n.value===e.value&&n.isTrusted===e.isTrusted&&n.supportThemeIcons===e.supportThemeIcons&&n.supportHtml===e.supportHtml&&(n.baseUri===e.baseUri||!!n.baseUri&&!!e.baseUri&&h7(en.from(n.baseUri),en.from(e.baseUri)))}function G2t(n){return n.replace(/[\\`*_{}[\]()#+\-!~]/g,"\\$&")}function X2t(n,e){var t,i;const r=(i=(t=n.match(/^`+/gm))===null||t===void 0?void 0:t.reduce((s,a)=>s.length>a.length?s:a).length)!==null&&i!==void 0?i:0,o=r>=3?r+1:3;return[`${"`".repeat(o)}${e}`,n,`${"`".repeat(o)}`].join(` -`)}function gR(n){return n.replace(/"/g,""")}function iU(n){return n&&n.replace(/\\([\\`*_{}[\]()#+\-.!~])/g,"$1")}function P2t(n){const e=[],t=n.split("|").map(r=>r.trim());n=t[0];const i=t[1];if(i){const r=/height=(\d+)/.exec(i),o=/width=(\d+)/.exec(i),s=r?r[1]:"",a=o?o[1]:"",l=isFinite(parseInt(a)),u=isFinite(parseInt(s));l&&e.push(`width="${a}"`),u&&e.push(`height="${s}"`)}return{href:n,dimensions:e}}function O2t(n,e){Ml(e)?n.title=QCe(e):e!=null&&e.markdownNotSupportedFallback?n.title=e.markdownNotSupportedFallback:n.removeAttribute("title")}class B2t{constructor(e,t,i){this.hoverDelegate=e,this.target=t,this.fadeInAnimation=i}async update(e,t,i){var r;if(this._cancellationTokenSource&&(this._cancellationTokenSource.dispose(!0),this._cancellationTokenSource=void 0),this.isDisposed)return;let o;if(e===void 0||Ml(e)||e instanceof HTMLElement)o=e;else if(!kZ(e.markdown))o=(r=e.markdown)!==null&&r!==void 0?r:e.markdownNotSupportedFallback;else{this._hoverWidget||this.show(L("iconLabel.loading","Loading..."),t),this._cancellationTokenSource=new fo;const s=this._cancellationTokenSource.token;if(o=await e.markdown(s),o===void 0&&(o=e.markdownNotSupportedFallback),this.isDisposed||s.isCancellationRequested)return}this.show(o,t,i)}show(e,t,i){const r=this._hoverWidget;if(this.hasContent(e)){const o={content:e,target:this.target,appearance:{showPointer:this.hoverDelegate.placement==="element",skipFadeInAnimation:!this.fadeInAnimation||!!r},position:{hoverPosition:2},...i};this._hoverWidget=this.hoverDelegate.showHover(o,t)}r==null||r.dispose()}hasContent(e){return e?Yh(e)?!!e.value:!0:!1}get isDisposed(){var e;return(e=this._hoverWidget)===null||e===void 0?void 0:e.isDisposed}dispose(){var e,t;(e=this._hoverWidget)===null||e===void 0||e.dispose(),(t=this._cancellationTokenSource)===null||t===void 0||t.dispose(!0),this._cancellationTokenSource=void 0}}function $Ce(n,e){for(e=e??Qt(n).document.body;!n.hasAttribute("custom-hover")&&n!==e;)n=n.parentElement;return n}function Vd(n,e,t,i){e.setAttribute("custom-hover","true"),e.title!==""&&(e.title="");let r,o;const s=(C,S)=>{var x;const _=o!==void 0;C&&(o==null||o.dispose(),o=void 0),S&&(r==null||r.dispose(),r=void 0),_&&((x=n.onDidHideHover)===null||x===void 0||x.call(n),o=void 0)},a=(C,S,x)=>new Id(async()=>{(!o||o.isDisposed)&&(o=new B2t(n,x||e,C>0),await o.update(typeof t=="function"?t():t,S,i))},C);let l=!1;const u=Ae(e,ot.MOUSE_DOWN,()=>{l=!0,s(!0,!0)},!0),c=Ae(e,ot.MOUSE_UP,()=>{l=!1},!0),d=Ae(e,ot.MOUSE_LEAVE,C=>{l=!1,s(!1,C.fromElement===e)},!0),h=C=>{if(r)return;const S=new Je,x={targetElements:[e],dispose:()=>{}};if(n.placement===void 0||n.placement==="mouse"){const _=F=>{x.x=F.x+10,F.target instanceof HTMLElement&&$Ce(F.target,e)!==e&&s(!0,!0)};S.add(Ae(e,ot.MOUSE_MOVE,_,!0))}r=S,!(C.target instanceof HTMLElement&&$Ce(C.target,e)!==e)&&S.add(a(n.delay,!1,x))},m=Ae(e,ot.MOUSE_OVER,h,!0),f=()=>{if(l||r)return;const C={targetElements:[e],dispose:()=>{}},S=new Je,x=()=>s(!0,!0);S.add(Ae(e,ot.BLUR,x,!0)),S.add(a(n.delay,!1,C)),r=S};let g;const b=e.tagName.toLowerCase();return b!=="input"&&b!=="textarea"&&(g=Ae(e,ot.FOCUS,f,!0)),{show:C=>{s(!1,!0),a(0,C)},hide:()=>{s(!0,!0)},update:async(C,S)=>{t=C,await(o==null?void 0:o.update(t,void 0,S))},dispose:()=>{m.dispose(),d.dispose(),u.dispose(),c.dispose(),g==null||g.dispose(),s(!0,!0)}}}function z2t(n,e={}){const t=rU(e);return t.textContent=n,t}function H2t(n,e={}){const t=rU(e);return qCe(t,U2t(n,!!e.renderCodeSegments),e.actionHandler,e.renderCodeSegments),t}function rU(n){const e=n.inline?"span":"div",t=document.createElement(e);return n.className&&(t.className=n.className),t}class Y2t{constructor(e){this.source=e,this.index=0}eos(){return this.index>=this.source.length}next(){const e=this.peek();return this.advance(),e}peek(){return this.source[this.index]}advance(){this.index++}}function qCe(n,e,t,i){let r;if(e.type===2)r=document.createTextNode(e.content||"");else if(e.type===3)r=document.createElement("b");else if(e.type===4)r=document.createElement("i");else if(e.type===7&&i)r=document.createElement("code");else if(e.type===5&&t){const o=document.createElement("a");t.disposables.add(Gr(o,"click",s=>{t.callback(String(e.index),s)})),r=o}else e.type===8?r=document.createElement("br"):e.type===1&&(r=n);r&&n!==r&&n.appendChild(r),r&&Array.isArray(e.children)&&e.children.forEach(o=>{qCe(r,o,t,i)})}function U2t(n,e){const t={type:1,children:[]};let i=0,r=t;const o=[],s=new Y2t(n);for(;!s.eos();){let a=s.next();const l=a==="\\"&&oU(s.peek(),e)!==0;if(l&&(a=s.next()),!l&&K2t(a,e)&&a===s.peek()){s.advance(),r.type===2&&(r=o.pop());const u=oU(a,e);if(r.type===u||r.type===5&&u===6)r=o.pop();else{const c={type:u,children:[]};u===5&&(c.index=i,i++),r.children.push(c),o.push(r),r=c}}else if(a===` -`)r.type===2&&(r=o.pop()),r.children.push({type:8});else if(r.type!==2){const u={type:2,content:a};r.children.push(u),o.push(r),r=u}else r.content+=a}return r.type===2&&(r=o.pop()),t}function K2t(n,e){return oU(n,e)!==0}function oU(n,e){switch(n){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;case"`":return e?7:0;default:return 0}}const J2t=new RegExp(`(\\\\)?\\$\\((${sn.iconNameExpression}(?:${sn.iconModifierExpression})?)\\)`,"g");function w0(n){const e=new Array;let t,i=0,r=0;for(;(t=J2t.exec(n))!==null;){r=t.index||0,ihe.length)&&(de=he.length);for(var me=0,j=new Array(de);me=he.length?{done:!0}:{done:!1,value:he[j++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function a(){return{async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}e.defaults=a();function l(he){e.defaults=he}var u=/[&<>"']/,c=/[&<>"']/g,d=/[<>"']|&(?!#?\w+;)/,h=/[<>"']|&(?!#?\w+;)/g,m={"&":"&","<":"<",">":">",'"':""","'":"'"},f=function(de){return m[de]};function g(he,de){if(de){if(u.test(he))return he.replace(c,f)}else if(d.test(he))return he.replace(h,f);return he}var b=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function v(he){return he.replace(b,function(de,me){return me=me.toLowerCase(),me==="colon"?":":me.charAt(0)==="#"?me.charAt(1)==="x"?String.fromCharCode(parseInt(me.substring(2),16)):String.fromCharCode(+me.substring(1)):""})}var C=/(^|[^\[])\^/g;function S(he,de){he=typeof he=="string"?he:he.source,de=de||"";var me={replace:function($,q){return q=q.source||q,q=q.replace(C,"$1"),he=he.replace($,q),me},getRegex:function(){return new RegExp(he,de)}};return me}var x=/[^\w:]/g,_=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function F(he,de,me){if(he){var j;try{j=decodeURIComponent(v(me)).replace(x,"").toLowerCase()}catch{return null}if(j.indexOf("javascript:")===0||j.indexOf("vbscript:")===0||j.indexOf("data:")===0)return null}de&&!_.test(me)&&(me=E(de,me));try{me=encodeURI(me).replace(/%25/g,"%")}catch{return null}return me}var D={},M=/^[^:]+:\/*[^/]*$/,T=/^([^:]+:)[\s\S]*$/,Z=/^([^:]+:\/*[^/]*)[\s\S]*$/;function E(he,de){D[" "+he]||(M.test(he)?D[" "+he]=he+"/":D[" "+he]=z(he,"/",!0)),he=D[" "+he];var me=he.indexOf(":")===-1;return de.substring(0,2)==="//"?me?de:he.replace(T,"$1")+de:de.charAt(0)==="/"?me?de:he.replace(Z,"$1")+de:he+de}var R={exec:function(){}};function W(he){for(var de=1,me,j;de=0&&ve[Me]==="\\";)Le=!Le;return Le?"|":" |"}),j=me.split(/ \|/),$=0;if(j[0].trim()||j.shift(),j.length>0&&!j[j.length-1].trim()&&j.pop(),j.length>de)j.splice(de);else for(;j.length1;)de&1&&(me+=he),de>>=1,he+=he;return me+he}function H(he,de,me,j){var $=de.href,q=de.title?g(de.title):null,ee=he[1].replace(/\\([\[\]])/g,"$1");if(he[0].charAt(0)!=="!"){j.state.inLink=!0;var ve={type:"link",raw:me,href:$,title:q,text:ee,tokens:j.inlineTokens(ee)};return j.state.inLink=!1,ve}return{type:"image",raw:me,href:$,title:q,text:g(ee)}}function k(he,de){var me=he.match(/^(\s+)(?:```)/);if(me===null)return de;var j=me[1];return de.split(` +`,this}appendLink(e,t,i){return this.value+="[",this.value+=this._escape(t,"]"),this.value+="](",this.value+=this._escape(String(e),")"),i&&(this.value+=` "${this._escape(this._escape(i,'"'),")")}"`),this.value+=")",this}_escape(e,t){const i=new RegExp(Wu(t),"g");return e.replace(i,(r,o)=>e.charAt(o-1)!=="\\"?`\\${r}`:r)}}function D2(n){return Yh(n)?!n.value:Array.isArray(n)?n.every(D2):!0}function Yh(n){return n instanceof ya?!0:n&&typeof n=="object"?typeof n.value=="string"&&(typeof n.isTrusted=="boolean"||typeof n.isTrusted=="object"||n.isTrusted===void 0)&&(typeof n.supportThemeIcons=="boolean"||n.supportThemeIcons===void 0):!1}function V2t(n,e){return n===e?!0:!n||!e?!1:n.value===e.value&&n.isTrusted===e.isTrusted&&n.supportThemeIcons===e.supportThemeIcons&&n.supportHtml===e.supportHtml&&(n.baseUri===e.baseUri||!!n.baseUri&&!!e.baseUri&&h7(en.from(n.baseUri),en.from(e.baseUri)))}function G2t(n){return n.replace(/[\\`*_{}[\]()#+\-!~]/g,"\\$&")}function X2t(n,e){var t,i;const r=(i=(t=n.match(/^`+/gm))===null||t===void 0?void 0:t.reduce((s,a)=>s.length>a.length?s:a).length)!==null&&i!==void 0?i:0,o=r>=3?r+1:3;return[`${"`".repeat(o)}${e}`,n,`${"`".repeat(o)}`].join(` +`)}function gW(n){return n.replace(/"/g,""")}function iU(n){return n&&n.replace(/\\([\\`*_{}[\]()#+\-.!~])/g,"$1")}function P2t(n){const e=[],t=n.split("|").map(r=>r.trim());n=t[0];const i=t[1];if(i){const r=/height=(\d+)/.exec(i),o=/width=(\d+)/.exec(i),s=r?r[1]:"",a=o?o[1]:"",l=isFinite(parseInt(a)),u=isFinite(parseInt(s));l&&e.push(`width="${a}"`),u&&e.push(`height="${s}"`)}return{href:n,dimensions:e}}function O2t(n,e){Nl(e)?n.title=QCe(e):e!=null&&e.markdownNotSupportedFallback?n.title=e.markdownNotSupportedFallback:n.removeAttribute("title")}class B2t{constructor(e,t,i){this.hoverDelegate=e,this.target=t,this.fadeInAnimation=i}async update(e,t,i){var r;if(this._cancellationTokenSource&&(this._cancellationTokenSource.dispose(!0),this._cancellationTokenSource=void 0),this.isDisposed)return;let o;if(e===void 0||Nl(e)||e instanceof HTMLElement)o=e;else if(!MR(e.markdown))o=(r=e.markdown)!==null&&r!==void 0?r:e.markdownNotSupportedFallback;else{this._hoverWidget||this.show(_("iconLabel.loading","Loading..."),t),this._cancellationTokenSource=new fo;const s=this._cancellationTokenSource.token;if(o=await e.markdown(s),o===void 0&&(o=e.markdownNotSupportedFallback),this.isDisposed||s.isCancellationRequested)return}this.show(o,t,i)}show(e,t,i){const r=this._hoverWidget;if(this.hasContent(e)){const o={content:e,target:this.target,appearance:{showPointer:this.hoverDelegate.placement==="element",skipFadeInAnimation:!this.fadeInAnimation||!!r},position:{hoverPosition:2},...i};this._hoverWidget=this.hoverDelegate.showHover(o,t)}r==null||r.dispose()}hasContent(e){return e?Yh(e)?!!e.value:!0:!1}get isDisposed(){var e;return(e=this._hoverWidget)===null||e===void 0?void 0:e.isDisposed}dispose(){var e,t;(e=this._hoverWidget)===null||e===void 0||e.dispose(),(t=this._cancellationTokenSource)===null||t===void 0||t.dispose(!0),this._cancellationTokenSource=void 0}}function $Ce(n,e){for(e=e??Qt(n).document.body;!n.hasAttribute("custom-hover")&&n!==e;)n=n.parentElement;return n}function Wd(n,e,t,i){e.setAttribute("custom-hover","true"),e.title!==""&&(e.title="");let r,o;const s=(C,w)=>{var x;const L=o!==void 0;C&&(o==null||o.dispose(),o=void 0),w&&(r==null||r.dispose(),r=void 0),L&&((x=n.onDidHideHover)===null||x===void 0||x.call(n),o=void 0)},a=(C,w,x)=>new Id(async()=>{(!o||o.isDisposed)&&(o=new B2t(n,x||e,C>0),await o.update(typeof t=="function"?t():t,w,i))},C);let l=!1;const u=Ve(e,ot.MOUSE_DOWN,()=>{l=!0,s(!0,!0)},!0),c=Ve(e,ot.MOUSE_UP,()=>{l=!1},!0),d=Ve(e,ot.MOUSE_LEAVE,C=>{l=!1,s(!1,C.fromElement===e)},!0),h=C=>{if(r)return;const w=new Je,x={targetElements:[e],dispose:()=>{}};if(n.placement===void 0||n.placement==="mouse"){const L=I=>{x.x=I.x+10,I.target instanceof HTMLElement&&$Ce(I.target,e)!==e&&s(!0,!0)};w.add(Ve(e,ot.MOUSE_MOVE,L,!0))}r=w,!(C.target instanceof HTMLElement&&$Ce(C.target,e)!==e)&&w.add(a(n.delay,!1,x))},m=Ve(e,ot.MOUSE_OVER,h,!0),f=()=>{if(l||r)return;const C={targetElements:[e],dispose:()=>{}},w=new Je,x=()=>s(!0,!0);w.add(Ve(e,ot.BLUR,x,!0)),w.add(a(n.delay,!1,C)),r=w};let g;const b=e.tagName.toLowerCase();return b!=="input"&&b!=="textarea"&&(g=Ve(e,ot.FOCUS,f,!0)),{show:C=>{s(!1,!0),a(0,C)},hide:()=>{s(!0,!0)},update:async(C,w)=>{t=C,await(o==null?void 0:o.update(t,void 0,w))},dispose:()=>{m.dispose(),d.dispose(),u.dispose(),c.dispose(),g==null||g.dispose(),s(!0,!0)}}}function z2t(n,e={}){const t=rU(e);return t.textContent=n,t}function H2t(n,e={}){const t=rU(e);return qCe(t,U2t(n,!!e.renderCodeSegments),e.actionHandler,e.renderCodeSegments),t}function rU(n){const e=n.inline?"span":"div",t=document.createElement(e);return n.className&&(t.className=n.className),t}class Y2t{constructor(e){this.source=e,this.index=0}eos(){return this.index>=this.source.length}next(){const e=this.peek();return this.advance(),e}peek(){return this.source[this.index]}advance(){this.index++}}function qCe(n,e,t,i){let r;if(e.type===2)r=document.createTextNode(e.content||"");else if(e.type===3)r=document.createElement("b");else if(e.type===4)r=document.createElement("i");else if(e.type===7&&i)r=document.createElement("code");else if(e.type===5&&t){const o=document.createElement("a");t.disposables.add(Gr(o,"click",s=>{t.callback(String(e.index),s)})),r=o}else e.type===8?r=document.createElement("br"):e.type===1&&(r=n);r&&n!==r&&n.appendChild(r),r&&Array.isArray(e.children)&&e.children.forEach(o=>{qCe(r,o,t,i)})}function U2t(n,e){const t={type:1,children:[]};let i=0,r=t;const o=[],s=new Y2t(n);for(;!s.eos();){let a=s.next();const l=a==="\\"&&oU(s.peek(),e)!==0;if(l&&(a=s.next()),!l&&K2t(a,e)&&a===s.peek()){s.advance(),r.type===2&&(r=o.pop());const u=oU(a,e);if(r.type===u||r.type===5&&u===6)r=o.pop();else{const c={type:u,children:[]};u===5&&(c.index=i,i++),r.children.push(c),o.push(r),r=c}}else if(a===` +`)r.type===2&&(r=o.pop()),r.children.push({type:8});else if(r.type!==2){const u={type:2,content:a};r.children.push(u),o.push(r),r=u}else r.content+=a}return r.type===2&&(r=o.pop()),t}function K2t(n,e){return oU(n,e)!==0}function oU(n,e){switch(n){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;case"`":return e?7:0;default:return 0}}const J2t=new RegExp(`(\\\\)?\\$\\((${sn.iconNameExpression}(?:${sn.iconModifierExpression})?)\\)`,"g");function S0(n){const e=new Array;let t,i=0,r=0;for(;(t=J2t.exec(n))!==null;){r=t.index||0,ihe.length)&&(de=he.length);for(var me=0,j=new Array(de);me=he.length?{done:!0}:{done:!1,value:he[j++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function a(){return{async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}e.defaults=a();function l(he){e.defaults=he}var u=/[&<>"']/,c=/[&<>"']/g,d=/[<>"']|&(?!#?\w+;)/,h=/[<>"']|&(?!#?\w+;)/g,m={"&":"&","<":"<",">":">",'"':""","'":"'"},f=function(de){return m[de]};function g(he,de){if(de){if(u.test(he))return he.replace(c,f)}else if(d.test(he))return he.replace(h,f);return he}var b=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function y(he){return he.replace(b,function(de,me){return me=me.toLowerCase(),me==="colon"?":":me.charAt(0)==="#"?me.charAt(1)==="x"?String.fromCharCode(parseInt(me.substring(2),16)):String.fromCharCode(+me.substring(1)):""})}var C=/(^|[^\[])\^/g;function w(he,de){he=typeof he=="string"?he:he.source,de=de||"";var me={replace:function($,q){return q=q.source||q,q=q.replace(C,"$1"),he=he.replace($,q),me},getRegex:function(){return new RegExp(he,de)}};return me}var x=/[^\w:]/g,L=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function I(he,de,me){if(he){var j;try{j=decodeURIComponent(y(me)).replace(x,"").toLowerCase()}catch{return null}if(j.indexOf("javascript:")===0||j.indexOf("vbscript:")===0||j.indexOf("data:")===0)return null}de&&!L.test(me)&&(me=E(de,me));try{me=encodeURI(me).replace(/%25/g,"%")}catch{return null}return me}var D={},N=/^[^:]+:\/*[^/]*$/,T=/^([^:]+:)[\s\S]*$/,R=/^([^:]+:\/*[^/]*)[\s\S]*$/;function E(he,de){D[" "+he]||(N.test(he)?D[" "+he]=he+"/":D[" "+he]=z(he,"/",!0)),he=D[" "+he];var me=he.indexOf(":")===-1;return de.substring(0,2)==="//"?me?de:he.replace(T,"$1")+de:de.charAt(0)==="/"?me?de:he.replace(R,"$1")+de:he+de}var W={exec:function(){}};function Z(he){for(var de=1,me,j;de=0&&ye[Ne]==="\\";)_e=!_e;return _e?"|":" |"}),j=me.split(/ \|/),$=0;if(j[0].trim()||j.shift(),j.length>0&&!j[j.length-1].trim()&&j.pop(),j.length>de)j.splice(de);else for(;j.length1;)de&1&&(me+=he),de>>=1,he+=he;return me+he}function H(he,de,me,j){var $=de.href,q=de.title?g(de.title):null,ee=he[1].replace(/\\([\[\]])/g,"$1");if(he[0].charAt(0)!=="!"){j.state.inLink=!0;var ye={type:"link",raw:me,href:$,title:q,text:ee,tokens:j.inlineTokens(ee)};return j.state.inLink=!1,ye}return{type:"image",raw:me,href:$,title:q,text:g(ee)}}function M(he,de){var me=he.match(/^(\s+)(?:```)/);if(me===null)return de;var j=me[1];return de.split(` `).map(function($){var q=$.match(/^\s+/);if(q===null)return $;var ee=q[0];return ee.length>=j.length?$.slice(j.length):$}).join(` `)}var X=function(){function he(me){this.options=me||e.defaults}var de=he.prototype;return de.space=function(j){var $=this.rules.block.newline.exec(j);if($&&$[0].length>0)return{type:"space",raw:$[0]}},de.code=function(j){var $=this.rules.block.code.exec(j);if($){var q=$[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:$[0],codeBlockStyle:"indented",text:this.options.pedantic?q:z(q,` -`)}}},de.fences=function(j){var $=this.rules.block.fences.exec(j);if($){var q=$[0],ee=k(q,$[3]||"");return{type:"code",raw:q,lang:$[2]?$[2].trim():$[2],text:ee}}},de.heading=function(j){var $=this.rules.block.heading.exec(j);if($){var q=$[2].trim();if(/#$/.test(q)){var ee=z(q,"#");(this.options.pedantic||!ee||/ $/.test(ee))&&(q=ee.trim())}return{type:"heading",raw:$[0],depth:$[1].length,text:q,tokens:this.lexer.inline(q)}}},de.hr=function(j){var $=this.rules.block.hr.exec(j);if($)return{type:"hr",raw:$[0]}},de.blockquote=function(j){var $=this.rules.block.blockquote.exec(j);if($){var q=$[0].replace(/^ *>[ \t]?/gm,"");return{type:"blockquote",raw:$[0],tokens:this.lexer.blockTokens(q,[]),text:q}}},de.list=function(j){var $=this.rules.block.list.exec(j);if($){var q,ee,ve,Le,Me,Be,$e,Re,ht,Ye,Ge,mt,St=$[1].trim(),Kt=St.length>1,Rt={type:"list",raw:"",ordered:Kt,start:Kt?+St.slice(0,-1):"",loose:!1,items:[]};St=Kt?"\\d{1,9}\\"+St.slice(-1):"\\"+St,this.options.pedantic&&(St=Kt?St:"[*+-]");for(var Yt=new RegExp("^( {0,3}"+St+")((?:[ ][^\\n]*)?(?:\\n|$))");j&&(mt=!1,!(!($=Yt.exec(j))||this.rules.block.hr.test(j)));){if(q=$[0],j=j.substring(q.length),Re=$[2].split(` +`)}}},de.fences=function(j){var $=this.rules.block.fences.exec(j);if($){var q=$[0],ee=M(q,$[3]||"");return{type:"code",raw:q,lang:$[2]?$[2].trim():$[2],text:ee}}},de.heading=function(j){var $=this.rules.block.heading.exec(j);if($){var q=$[2].trim();if(/#$/.test(q)){var ee=z(q,"#");(this.options.pedantic||!ee||/ $/.test(ee))&&(q=ee.trim())}return{type:"heading",raw:$[0],depth:$[1].length,text:q,tokens:this.lexer.inline(q)}}},de.hr=function(j){var $=this.rules.block.hr.exec(j);if($)return{type:"hr",raw:$[0]}},de.blockquote=function(j){var $=this.rules.block.blockquote.exec(j);if($){var q=$[0].replace(/^ *>[ \t]?/gm,"");return{type:"blockquote",raw:$[0],tokens:this.lexer.blockTokens(q,[]),text:q}}},de.list=function(j){var $=this.rules.block.list.exec(j);if($){var q,ee,ye,_e,Ne,Be,$e,We,ht,Ye,Ge,mt,wt=$[1].trim(),Kt=wt.length>1,Wt={type:"list",raw:"",ordered:Kt,start:Kt?+wt.slice(0,-1):"",loose:!1,items:[]};wt=Kt?"\\d{1,9}\\"+wt.slice(-1):"\\"+wt,this.options.pedantic&&(wt=Kt?wt:"[*+-]");for(var Yt=new RegExp("^( {0,3}"+wt+")((?:[ ][^\\n]*)?(?:\\n|$))");j&&(mt=!1,!(!($=Yt.exec(j))||this.rules.block.hr.test(j)));){if(q=$[0],j=j.substring(q.length),We=$[2].split(` `,1)[0],ht=j.split(` -`,1)[0],this.options.pedantic?(Le=2,Ge=Re.trimLeft()):(Le=$[2].search(/[^ ]/),Le=Le>4?1:Le,Ge=Re.slice(Le),Le+=$[1].length),Be=!1,!Re&&/^ *$/.test(ht)&&(q+=ht+` -`,j=j.substring(ht.length+1),mt=!0),!mt)for(var Tn=new RegExp("^ {0,"+Math.min(3,Le-1)+"}(?:[*+-]|\\d{1,9}[.)])((?: [^\\n]*)?(?:\\n|$))"),li=new RegExp("^ {0,"+Math.min(3,Le-1)+"}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)"),Et=new RegExp("^ {0,"+Math.min(3,Le-1)+"}(?:```|~~~)"),kt=new RegExp("^ {0,"+Math.min(3,Le-1)+"}#");j&&(Ye=j.split(` -`,1)[0],Re=Ye,this.options.pedantic&&(Re=Re.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!(Et.test(Re)||kt.test(Re)||Tn.test(Re)||li.test(j)));){if(Re.search(/[^ ]/)>=Le||!Re.trim())Ge+=` -`+Re.slice(Le);else if(!Be)Ge+=` -`+Re;else break;!Be&&!Re.trim()&&(Be=!0),q+=Ye+` -`,j=j.substring(Ye.length+1)}Rt.loose||($e?Rt.loose=!0:/\n *\n *$/.test(q)&&($e=!0)),this.options.gfm&&(ee=/^\[[ xX]\] /.exec(Ge),ee&&(ve=ee[0]!=="[ ] ",Ge=Ge.replace(/^\[[ xX]\] +/,""))),Rt.items.push({type:"list_item",raw:q,task:!!ee,checked:ve,loose:!1,text:Ge}),Rt.raw+=q}Rt.items[Rt.items.length-1].raw=q.trimRight(),Rt.items[Rt.items.length-1].text=Ge.trimRight(),Rt.raw=Rt.raw.trimRight();var fe=Rt.items.length;for(Me=0;Me1)return!0}return!1});!Rt.loose&&_e.length&&We&&(Rt.loose=!0,Rt.items[Me].loose=!0)}return Rt}},de.html=function(j){var $=this.rules.block.html.exec(j);if($){var q={type:"html",raw:$[0],pre:!this.options.sanitizer&&($[1]==="pre"||$[1]==="script"||$[1]==="style"),text:$[0]};if(this.options.sanitize){var ee=this.options.sanitizer?this.options.sanitizer($[0]):g($[0]);q.type="paragraph",q.text=ee,q.tokens=this.lexer.inline(ee)}return q}},de.def=function(j){var $=this.rules.block.def.exec(j);if($){$[3]&&($[3]=$[3].substring(1,$[3].length-1));var q=$[1].toLowerCase().replace(/\s+/g," ");return{type:"def",tag:q,raw:$[0],href:$[2],title:$[3]}}},de.table=function(j){var $=this.rules.block.table.exec(j);if($){var q={type:"table",header:A($[1]).map(function($e){return{text:$e}}),align:$[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:$[3]&&$[3].trim()?$[3].replace(/\n[ \t]*$/,"").split(` -`):[]};if(q.header.length===q.align.length){q.raw=$[0];var ee=q.align.length,ve,Le,Me,Be;for(ve=0;ve/i.test($[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test($[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test($[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:$[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer($[0]):g($[0]):$[0]}},de.link=function(j){var $=this.rules.inline.link.exec(j);if($){var q=$[2].trim();if(!this.options.pedantic&&/^$/.test(q))return;var ee=z(q.slice(0,-1),"\\");if((q.length-ee.length)%2===0)return}else{var ve=O($[2],"()");if(ve>-1){var Le=$[0].indexOf("!")===0?5:4,Me=Le+$[1].length+ve;$[2]=$[2].substring(0,ve),$[0]=$[0].substring(0,Me).trim(),$[3]=""}}var Be=$[2],$e="";if(this.options.pedantic){var Re=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(Be);Re&&(Be=Re[1],$e=Re[3])}else $e=$[3]?$[3].slice(1,-1):"";return Be=Be.trim(),/^$/.test(q)?Be=Be.slice(1):Be=Be.slice(1,-1)),H($,{href:Be&&Be.replace(this.rules.inline._escapes,"$1"),title:$e&&$e.replace(this.rules.inline._escapes,"$1")},$[0],this.lexer)}},de.reflink=function(j,$){var q;if((q=this.rules.inline.reflink.exec(j))||(q=this.rules.inline.nolink.exec(j))){var ee=(q[2]||q[1]).replace(/\s+/g," ");if(ee=$[ee.toLowerCase()],!ee||!ee.href){var ve=q[0].charAt(0);return{type:"text",raw:ve,text:ve}}return H(q,ee,q[0],this.lexer)}},de.emStrong=function(j,$,q){q===void 0&&(q="");var ee=this.rules.inline.emStrong.lDelim.exec(j);if(ee&&!(ee[3]&&q.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var ve=ee[1]||ee[2]||"";if(!ve||ve&&(q===""||this.rules.inline.punctuation.exec(q))){var Le=ee[0].length-1,Me,Be,$e=Le,Re=0,ht=ee[0][0]==="*"?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(ht.lastIndex=0,$=$.slice(-1*j.length+Le);(ee=ht.exec($))!=null;)if(Me=ee[1]||ee[2]||ee[3]||ee[4]||ee[5]||ee[6],!!Me){if(Be=Me.length,ee[3]||ee[4]){$e+=Be;continue}else if((ee[5]||ee[6])&&Le%3&&!((Le+Be)%3)){Re+=Be;continue}if($e-=Be,!($e>0)){if(Be=Math.min(Be,Be+$e+Re),Math.min(Le,Be)%2){var Ye=j.slice(1,Le+ee.index+Be);return{type:"em",raw:j.slice(0,Le+ee.index+Be+1),text:Ye,tokens:this.lexer.inlineTokens(Ye)}}var Ge=j.slice(2,Le+ee.index+Be-1);return{type:"strong",raw:j.slice(0,Le+ee.index+Be+1),text:Ge,tokens:this.lexer.inlineTokens(Ge)}}}}}},de.codespan=function(j){var $=this.rules.inline.code.exec(j);if($){var q=$[2].replace(/\n/g," "),ee=/[^ ]/.test(q),ve=/^ /.test(q)&&/ $/.test(q);return ee&&ve&&(q=q.substring(1,q.length-1)),q=g(q,!0),{type:"codespan",raw:$[0],text:q}}},de.br=function(j){var $=this.rules.inline.br.exec(j);if($)return{type:"br",raw:$[0]}},de.del=function(j){var $=this.rules.inline.del.exec(j);if($)return{type:"del",raw:$[0],text:$[2],tokens:this.lexer.inlineTokens($[2])}},de.autolink=function(j,$){var q=this.rules.inline.autolink.exec(j);if(q){var ee,ve;return q[2]==="@"?(ee=g(this.options.mangle?$(q[1]):q[1]),ve="mailto:"+ee):(ee=g(q[1]),ve=ee),{type:"link",raw:q[0],text:ee,href:ve,tokens:[{type:"text",raw:ee,text:ee}]}}},de.url=function(j,$){var q;if(q=this.rules.inline.url.exec(j)){var ee,ve;if(q[2]==="@")ee=g(this.options.mangle?$(q[0]):q[0]),ve="mailto:"+ee;else{var Le;do Le=q[0],q[0]=this.rules.inline._backpedal.exec(q[0])[0];while(Le!==q[0]);ee=g(q[0]),q[1]==="www."?ve="http://"+ee:ve=ee}return{type:"link",raw:q[0],text:ee,href:ve,tokens:[{type:"text",raw:ee,text:ee}]}}},de.inlineText=function(j,$){var q=this.rules.inline.text.exec(j);if(q){var ee;return this.lexer.state.inRawBlock?ee=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(q[0]):g(q[0]):q[0]:ee=g(this.options.smartypants?$(q[0]):q[0]),{type:"text",raw:q[0],text:ee}}},he}(),Y={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:R,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/};Y._label=/(?!\s*\])(?:\\.|[^\[\]\\])+/,Y._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,Y.def=S(Y.def).replace("label",Y._label).replace("title",Y._title).getRegex(),Y.bullet=/(?:[*+-]|\d{1,9}[.)])/,Y.listItemStart=S(/^( *)(bull) */).replace("bull",Y.bullet).getRegex(),Y.list=S(Y.list).replace(/bull/g,Y.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+Y.def.source+")").getRegex(),Y._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Y._comment=/|$)/,Y.html=S(Y.html,"i").replace("comment",Y._comment).replace("tag",Y._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Y.paragraph=S(Y._paragraph).replace("hr",Y.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Y._tag).getRegex(),Y.blockquote=S(Y.blockquote).replace("paragraph",Y.paragraph).getRegex(),Y.normal=W({},Y),Y.gfm=W({},Y.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),Y.gfm.table=S(Y.gfm.table).replace("hr",Y.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Y._tag).getRegex(),Y.gfm.paragraph=S(Y._paragraph).replace("hr",Y.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",Y.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Y._tag).getRegex(),Y.pedantic=W({},Y.normal,{html:S(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Y._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:R,paragraph:S(Y.normal._paragraph).replace("hr",Y.hr).replace("heading",` *#{1,6} *[^ -]`).replace("lheading",Y.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var V={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:R,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[^*]+(?=[^*])|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:R,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~",V.punctuation=S(V.punctuation).replace(/punctuation/g,V._punctuation).getRegex(),V.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,V.escapedEmSt=/\\\*|\\_/g,V._comment=S(Y._comment).replace("(?:-->|$)","-->").getRegex(),V.emStrong.lDelim=S(V.emStrong.lDelim).replace(/punct/g,V._punctuation).getRegex(),V.emStrong.rDelimAst=S(V.emStrong.rDelimAst,"g").replace(/punct/g,V._punctuation).getRegex(),V.emStrong.rDelimUnd=S(V.emStrong.rDelimUnd,"g").replace(/punct/g,V._punctuation).getRegex(),V._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,V._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,V._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,V.autolink=S(V.autolink).replace("scheme",V._scheme).replace("email",V._email).getRegex(),V._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,V.tag=S(V.tag).replace("comment",V._comment).replace("attribute",V._attribute).getRegex(),V._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,V._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,V._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,V.link=S(V.link).replace("label",V._label).replace("href",V._href).replace("title",V._title).getRegex(),V.reflink=S(V.reflink).replace("label",V._label).replace("ref",Y._label).getRegex(),V.nolink=S(V.nolink).replace("ref",Y._label).getRegex(),V.reflinkSearch=S(V.reflinkSearch,"g").replace("reflink",V.reflink).replace("nolink",V.nolink).getRegex(),V.normal=W({},V),V.pedantic=W({},V.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:S(/^!?\[(label)\]\((.*?)\)/).replace("label",V._label).getRegex(),reflink:S(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",V._label).getRegex()}),V.gfm=W({},V.normal,{escape:S(V.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(j="x"+j.toString(16)),de+="&#"+j+";";return de}var ae=function(){function he(me){this.tokens=[],this.tokens.links=Object.create(null),this.options=me||e.defaults,this.options.tokenizer=this.options.tokenizer||new X,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};var j={block:Y.normal,inline:V.normal};this.options.pedantic?(j.block=Y.pedantic,j.inline=V.pedantic):this.options.gfm&&(j.block=Y.gfm,this.options.breaks?j.inline=V.breaks:j.inline=V.gfm),this.tokenizer.rules=j}he.lex=function(j,$){var q=new he($);return q.lex(j)},he.lexInline=function(j,$){var q=new he($);return q.inlineTokens(j)};var de=he.prototype;return de.lex=function(j){j=j.replace(/\r\n|\r/g,` -`),this.blockTokens(j,this.tokens);for(var $;$=this.inlineQueue.shift();)this.inlineTokens($.src,$.tokens);return this.tokens},de.blockTokens=function(j,$){var q=this;$===void 0&&($=[]),this.options.pedantic?j=j.replace(/\t/g," ").replace(/^ +$/gm,""):j=j.replace(/^( *)(\t+)/gm,function($e,Re,ht){return Re+" ".repeat(ht.length)});for(var ee,ve,Le,Me;j;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function($e){return(ee=$e.call({lexer:q},j,$))?(j=j.substring(ee.raw.length),$.push(ee),!0):!1}))){if(ee=this.tokenizer.space(j)){j=j.substring(ee.raw.length),ee.raw.length===1&&$.length>0?$[$.length-1].raw+=` -`:$.push(ee);continue}if(ee=this.tokenizer.code(j)){j=j.substring(ee.raw.length),ve=$[$.length-1],ve&&(ve.type==="paragraph"||ve.type==="text")?(ve.raw+=` -`+ee.raw,ve.text+=` -`+ee.text,this.inlineQueue[this.inlineQueue.length-1].src=ve.text):$.push(ee);continue}if(ee=this.tokenizer.fences(j)){j=j.substring(ee.raw.length),$.push(ee);continue}if(ee=this.tokenizer.heading(j)){j=j.substring(ee.raw.length),$.push(ee);continue}if(ee=this.tokenizer.hr(j)){j=j.substring(ee.raw.length),$.push(ee);continue}if(ee=this.tokenizer.blockquote(j)){j=j.substring(ee.raw.length),$.push(ee);continue}if(ee=this.tokenizer.list(j)){j=j.substring(ee.raw.length),$.push(ee);continue}if(ee=this.tokenizer.html(j)){j=j.substring(ee.raw.length),$.push(ee);continue}if(ee=this.tokenizer.def(j)){j=j.substring(ee.raw.length),ve=$[$.length-1],ve&&(ve.type==="paragraph"||ve.type==="text")?(ve.raw+=` -`+ee.raw,ve.text+=` -`+ee.raw,this.inlineQueue[this.inlineQueue.length-1].src=ve.text):this.tokens.links[ee.tag]||(this.tokens.links[ee.tag]={href:ee.href,title:ee.title});continue}if(ee=this.tokenizer.table(j)){j=j.substring(ee.raw.length),$.push(ee);continue}if(ee=this.tokenizer.lheading(j)){j=j.substring(ee.raw.length),$.push(ee);continue}if(Le=j,this.options.extensions&&this.options.extensions.startBlock&&function(){var $e=1/0,Re=j.slice(1),ht=void 0;q.options.extensions.startBlock.forEach(function(Ye){ht=Ye.call({lexer:this},Re),typeof ht=="number"&&ht>=0&&($e=Math.min($e,ht))}),$e<1/0&&$e>=0&&(Le=j.substring(0,$e+1))}(),this.state.top&&(ee=this.tokenizer.paragraph(Le))){ve=$[$.length-1],Me&&ve.type==="paragraph"?(ve.raw+=` -`+ee.raw,ve.text+=` -`+ee.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=ve.text):$.push(ee),Me=Le.length!==j.length,j=j.substring(ee.raw.length);continue}if(ee=this.tokenizer.text(j)){j=j.substring(ee.raw.length),ve=$[$.length-1],ve&&ve.type==="text"?(ve.raw+=` -`+ee.raw,ve.text+=` -`+ee.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=ve.text):$.push(ee);continue}if(j){var Be="Infinite loop on byte: "+j.charCodeAt(0);if(this.options.silent)break;throw new Error(Be)}}return this.state.top=!0,$},de.inline=function(j,$){return $===void 0&&($=[]),this.inlineQueue.push({src:j,tokens:$}),$},de.inlineTokens=function(j,$){var q=this;$===void 0&&($=[]);var ee,ve,Le,Me=j,Be,$e,Re;if(this.tokens.links){var ht=Object.keys(this.tokens.links);if(ht.length>0)for(;(Be=this.tokenizer.rules.inline.reflinkSearch.exec(Me))!=null;)ht.includes(Be[0].slice(Be[0].lastIndexOf("[")+1,-1))&&(Me=Me.slice(0,Be.index)+"["+P("a",Be[0].length-2)+"]"+Me.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(Be=this.tokenizer.rules.inline.blockSkip.exec(Me))!=null;)Me=Me.slice(0,Be.index)+"["+P("a",Be[0].length-2)+"]"+Me.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(Be=this.tokenizer.rules.inline.escapedEmSt.exec(Me))!=null;)Me=Me.slice(0,Be.index)+"++"+Me.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;j;)if($e||(Re=""),$e=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(Ge){return(ee=Ge.call({lexer:q},j,$))?(j=j.substring(ee.raw.length),$.push(ee),!0):!1}))){if(ee=this.tokenizer.escape(j)){j=j.substring(ee.raw.length),$.push(ee);continue}if(ee=this.tokenizer.tag(j)){j=j.substring(ee.raw.length),ve=$[$.length-1],ve&&ee.type==="text"&&ve.type==="text"?(ve.raw+=ee.raw,ve.text+=ee.text):$.push(ee);continue}if(ee=this.tokenizer.link(j)){j=j.substring(ee.raw.length),$.push(ee);continue}if(ee=this.tokenizer.reflink(j,this.tokens.links)){j=j.substring(ee.raw.length),ve=$[$.length-1],ve&&ee.type==="text"&&ve.type==="text"?(ve.raw+=ee.raw,ve.text+=ee.text):$.push(ee);continue}if(ee=this.tokenizer.emStrong(j,Me,Re)){j=j.substring(ee.raw.length),$.push(ee);continue}if(ee=this.tokenizer.codespan(j)){j=j.substring(ee.raw.length),$.push(ee);continue}if(ee=this.tokenizer.br(j)){j=j.substring(ee.raw.length),$.push(ee);continue}if(ee=this.tokenizer.del(j)){j=j.substring(ee.raw.length),$.push(ee);continue}if(ee=this.tokenizer.autolink(j,oe)){j=j.substring(ee.raw.length),$.push(ee);continue}if(!this.state.inLink&&(ee=this.tokenizer.url(j,oe))){j=j.substring(ee.raw.length),$.push(ee);continue}if(Le=j,this.options.extensions&&this.options.extensions.startInline&&function(){var Ge=1/0,mt=j.slice(1),St=void 0;q.options.extensions.startInline.forEach(function(Kt){St=Kt.call({lexer:this},mt),typeof St=="number"&&St>=0&&(Ge=Math.min(Ge,St))}),Ge<1/0&&Ge>=0&&(Le=j.substring(0,Ge+1))}(),ee=this.tokenizer.inlineText(Le,te)){j=j.substring(ee.raw.length),ee.raw.slice(-1)!=="_"&&(Re=ee.raw.slice(-1)),$e=!0,ve=$[$.length-1],ve&&ve.type==="text"?(ve.raw+=ee.raw,ve.text+=ee.text):$.push(ee);continue}if(j){var Ye="Infinite loop on byte: "+j.charCodeAt(0);if(this.options.silent)break;throw new Error(Ye)}}return $},i(he,null,[{key:"rules",get:function(){return{block:Y,inline:V}}}]),he}(),le=function(){function he(me){this.options=me||e.defaults}var de=he.prototype;return de.code=function(j,$,q){var ee=($||"").match(/\S*/)[0];if(this.options.highlight){var ve=this.options.highlight(j,ee);ve!=null&&ve!==j&&(q=!0,j=ve)}return j=j.replace(/\n$/,"")+` +`,1)[0],this.options.pedantic?(_e=2,Ge=We.trimLeft()):(_e=$[2].search(/[^ ]/),_e=_e>4?1:_e,Ge=We.slice(_e),_e+=$[1].length),Be=!1,!We&&/^ *$/.test(ht)&&(q+=ht+` +`,j=j.substring(ht.length+1),mt=!0),!mt)for(var Tn=new RegExp("^ {0,"+Math.min(3,_e-1)+"}(?:[*+-]|\\d{1,9}[.)])((?: [^\\n]*)?(?:\\n|$))"),li=new RegExp("^ {0,"+Math.min(3,_e-1)+"}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)"),Et=new RegExp("^ {0,"+Math.min(3,_e-1)+"}(?:```|~~~)"),Mt=new RegExp("^ {0,"+Math.min(3,_e-1)+"}#");j&&(Ye=j.split(` +`,1)[0],We=Ye,this.options.pedantic&&(We=We.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!(Et.test(We)||Mt.test(We)||Tn.test(We)||li.test(j)));){if(We.search(/[^ ]/)>=_e||!We.trim())Ge+=` +`+We.slice(_e);else if(!Be)Ge+=` +`+We;else break;!Be&&!We.trim()&&(Be=!0),q+=Ye+` +`,j=j.substring(Ye.length+1)}Wt.loose||($e?Wt.loose=!0:/\n *\n *$/.test(q)&&($e=!0)),this.options.gfm&&(ee=/^\[[ xX]\] /.exec(Ge),ee&&(ye=ee[0]!=="[ ] ",Ge=Ge.replace(/^\[[ xX]\] +/,""))),Wt.items.push({type:"list_item",raw:q,task:!!ee,checked:ye,loose:!1,text:Ge}),Wt.raw+=q}Wt.items[Wt.items.length-1].raw=q.trimRight(),Wt.items[Wt.items.length-1].text=Ge.trimRight(),Wt.raw=Wt.raw.trimRight();var fe=Wt.items.length;for(Ne=0;Ne1)return!0}return!1});!Wt.loose&&Le.length&&Ze&&(Wt.loose=!0,Wt.items[Ne].loose=!0)}return Wt}},de.html=function(j){var $=this.rules.block.html.exec(j);if($){var q={type:"html",raw:$[0],pre:!this.options.sanitizer&&($[1]==="pre"||$[1]==="script"||$[1]==="style"),text:$[0]};if(this.options.sanitize){var ee=this.options.sanitizer?this.options.sanitizer($[0]):g($[0]);q.type="paragraph",q.text=ee,q.tokens=this.lexer.inline(ee)}return q}},de.def=function(j){var $=this.rules.block.def.exec(j);if($){$[3]&&($[3]=$[3].substring(1,$[3].length-1));var q=$[1].toLowerCase().replace(/\s+/g," ");return{type:"def",tag:q,raw:$[0],href:$[2],title:$[3]}}},de.table=function(j){var $=this.rules.block.table.exec(j);if($){var q={type:"table",header:V($[1]).map(function($e){return{text:$e}}),align:$[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:$[3]&&$[3].trim()?$[3].replace(/\n[ \t]*$/,"").split(` +`):[]};if(q.header.length===q.align.length){q.raw=$[0];var ee=q.align.length,ye,_e,Ne,Be;for(ye=0;ye/i.test($[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test($[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test($[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:$[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer($[0]):g($[0]):$[0]}},de.link=function(j){var $=this.rules.inline.link.exec(j);if($){var q=$[2].trim();if(!this.options.pedantic&&/^$/.test(q))return;var ee=z(q.slice(0,-1),"\\");if((q.length-ee.length)%2===0)return}else{var ye=O($[2],"()");if(ye>-1){var _e=$[0].indexOf("!")===0?5:4,Ne=_e+$[1].length+ye;$[2]=$[2].substring(0,ye),$[0]=$[0].substring(0,Ne).trim(),$[3]=""}}var Be=$[2],$e="";if(this.options.pedantic){var We=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(Be);We&&(Be=We[1],$e=We[3])}else $e=$[3]?$[3].slice(1,-1):"";return Be=Be.trim(),/^$/.test(q)?Be=Be.slice(1):Be=Be.slice(1,-1)),H($,{href:Be&&Be.replace(this.rules.inline._escapes,"$1"),title:$e&&$e.replace(this.rules.inline._escapes,"$1")},$[0],this.lexer)}},de.reflink=function(j,$){var q;if((q=this.rules.inline.reflink.exec(j))||(q=this.rules.inline.nolink.exec(j))){var ee=(q[2]||q[1]).replace(/\s+/g," ");if(ee=$[ee.toLowerCase()],!ee||!ee.href){var ye=q[0].charAt(0);return{type:"text",raw:ye,text:ye}}return H(q,ee,q[0],this.lexer)}},de.emStrong=function(j,$,q){q===void 0&&(q="");var ee=this.rules.inline.emStrong.lDelim.exec(j);if(ee&&!(ee[3]&&q.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var ye=ee[1]||ee[2]||"";if(!ye||ye&&(q===""||this.rules.inline.punctuation.exec(q))){var _e=ee[0].length-1,Ne,Be,$e=_e,We=0,ht=ee[0][0]==="*"?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(ht.lastIndex=0,$=$.slice(-1*j.length+_e);(ee=ht.exec($))!=null;)if(Ne=ee[1]||ee[2]||ee[3]||ee[4]||ee[5]||ee[6],!!Ne){if(Be=Ne.length,ee[3]||ee[4]){$e+=Be;continue}else if((ee[5]||ee[6])&&_e%3&&!((_e+Be)%3)){We+=Be;continue}if($e-=Be,!($e>0)){if(Be=Math.min(Be,Be+$e+We),Math.min(_e,Be)%2){var Ye=j.slice(1,_e+ee.index+Be);return{type:"em",raw:j.slice(0,_e+ee.index+Be+1),text:Ye,tokens:this.lexer.inlineTokens(Ye)}}var Ge=j.slice(2,_e+ee.index+Be-1);return{type:"strong",raw:j.slice(0,_e+ee.index+Be+1),text:Ge,tokens:this.lexer.inlineTokens(Ge)}}}}}},de.codespan=function(j){var $=this.rules.inline.code.exec(j);if($){var q=$[2].replace(/\n/g," "),ee=/[^ ]/.test(q),ye=/^ /.test(q)&&/ $/.test(q);return ee&&ye&&(q=q.substring(1,q.length-1)),q=g(q,!0),{type:"codespan",raw:$[0],text:q}}},de.br=function(j){var $=this.rules.inline.br.exec(j);if($)return{type:"br",raw:$[0]}},de.del=function(j){var $=this.rules.inline.del.exec(j);if($)return{type:"del",raw:$[0],text:$[2],tokens:this.lexer.inlineTokens($[2])}},de.autolink=function(j,$){var q=this.rules.inline.autolink.exec(j);if(q){var ee,ye;return q[2]==="@"?(ee=g(this.options.mangle?$(q[1]):q[1]),ye="mailto:"+ee):(ee=g(q[1]),ye=ee),{type:"link",raw:q[0],text:ee,href:ye,tokens:[{type:"text",raw:ee,text:ee}]}}},de.url=function(j,$){var q;if(q=this.rules.inline.url.exec(j)){var ee,ye;if(q[2]==="@")ee=g(this.options.mangle?$(q[0]):q[0]),ye="mailto:"+ee;else{var _e;do _e=q[0],q[0]=this.rules.inline._backpedal.exec(q[0])[0];while(_e!==q[0]);ee=g(q[0]),q[1]==="www."?ye="http://"+ee:ye=ee}return{type:"link",raw:q[0],text:ee,href:ye,tokens:[{type:"text",raw:ee,text:ee}]}}},de.inlineText=function(j,$){var q=this.rules.inline.text.exec(j);if(q){var ee;return this.lexer.state.inRawBlock?ee=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(q[0]):g(q[0]):q[0]:ee=g(this.options.smartypants?$(q[0]):q[0]),{type:"text",raw:q[0],text:ee}}},he}(),Y={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:W,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/};Y._label=/(?!\s*\])(?:\\.|[^\[\]\\])+/,Y._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,Y.def=w(Y.def).replace("label",Y._label).replace("title",Y._title).getRegex(),Y.bullet=/(?:[*+-]|\d{1,9}[.)])/,Y.listItemStart=w(/^( *)(bull) */).replace("bull",Y.bullet).getRegex(),Y.list=w(Y.list).replace(/bull/g,Y.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+Y.def.source+")").getRegex(),Y._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Y._comment=/|$)/,Y.html=w(Y.html,"i").replace("comment",Y._comment).replace("tag",Y._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Y.paragraph=w(Y._paragraph).replace("hr",Y.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Y._tag).getRegex(),Y.blockquote=w(Y.blockquote).replace("paragraph",Y.paragraph).getRegex(),Y.normal=Z({},Y),Y.gfm=Z({},Y.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),Y.gfm.table=w(Y.gfm.table).replace("hr",Y.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Y._tag).getRegex(),Y.gfm.paragraph=w(Y._paragraph).replace("hr",Y.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",Y.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Y._tag).getRegex(),Y.pedantic=Z({},Y.normal,{html:w(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Y._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:W,paragraph:w(Y.normal._paragraph).replace("hr",Y.hr).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",Y.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var A={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:W,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[^*]+(?=[^*])|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:W,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~",A.punctuation=w(A.punctuation).replace(/punctuation/g,A._punctuation).getRegex(),A.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,A.escapedEmSt=/\\\*|\\_/g,A._comment=w(Y._comment).replace("(?:-->|$)","-->").getRegex(),A.emStrong.lDelim=w(A.emStrong.lDelim).replace(/punct/g,A._punctuation).getRegex(),A.emStrong.rDelimAst=w(A.emStrong.rDelimAst,"g").replace(/punct/g,A._punctuation).getRegex(),A.emStrong.rDelimUnd=w(A.emStrong.rDelimUnd,"g").replace(/punct/g,A._punctuation).getRegex(),A._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,A._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,A._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,A.autolink=w(A.autolink).replace("scheme",A._scheme).replace("email",A._email).getRegex(),A._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,A.tag=w(A.tag).replace("comment",A._comment).replace("attribute",A._attribute).getRegex(),A._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,A._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,A._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,A.link=w(A.link).replace("label",A._label).replace("href",A._href).replace("title",A._title).getRegex(),A.reflink=w(A.reflink).replace("label",A._label).replace("ref",Y._label).getRegex(),A.nolink=w(A.nolink).replace("ref",Y._label).getRegex(),A.reflinkSearch=w(A.reflinkSearch,"g").replace("reflink",A.reflink).replace("nolink",A.nolink).getRegex(),A.normal=Z({},A),A.pedantic=Z({},A.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:w(/^!?\[(label)\]\((.*?)\)/).replace("label",A._label).getRegex(),reflink:w(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",A._label).getRegex()}),A.gfm=Z({},A.normal,{escape:w(A.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(j="x"+j.toString(16)),de+="&#"+j+";";return de}var ae=function(){function he(me){this.tokens=[],this.tokens.links=Object.create(null),this.options=me||e.defaults,this.options.tokenizer=this.options.tokenizer||new X,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};var j={block:Y.normal,inline:A.normal};this.options.pedantic?(j.block=Y.pedantic,j.inline=A.pedantic):this.options.gfm&&(j.block=Y.gfm,this.options.breaks?j.inline=A.breaks:j.inline=A.gfm),this.tokenizer.rules=j}he.lex=function(j,$){var q=new he($);return q.lex(j)},he.lexInline=function(j,$){var q=new he($);return q.inlineTokens(j)};var de=he.prototype;return de.lex=function(j){j=j.replace(/\r\n|\r/g,` +`),this.blockTokens(j,this.tokens);for(var $;$=this.inlineQueue.shift();)this.inlineTokens($.src,$.tokens);return this.tokens},de.blockTokens=function(j,$){var q=this;$===void 0&&($=[]),this.options.pedantic?j=j.replace(/\t/g," ").replace(/^ +$/gm,""):j=j.replace(/^( *)(\t+)/gm,function($e,We,ht){return We+" ".repeat(ht.length)});for(var ee,ye,_e,Ne;j;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function($e){return(ee=$e.call({lexer:q},j,$))?(j=j.substring(ee.raw.length),$.push(ee),!0):!1}))){if(ee=this.tokenizer.space(j)){j=j.substring(ee.raw.length),ee.raw.length===1&&$.length>0?$[$.length-1].raw+=` +`:$.push(ee);continue}if(ee=this.tokenizer.code(j)){j=j.substring(ee.raw.length),ye=$[$.length-1],ye&&(ye.type==="paragraph"||ye.type==="text")?(ye.raw+=` +`+ee.raw,ye.text+=` +`+ee.text,this.inlineQueue[this.inlineQueue.length-1].src=ye.text):$.push(ee);continue}if(ee=this.tokenizer.fences(j)){j=j.substring(ee.raw.length),$.push(ee);continue}if(ee=this.tokenizer.heading(j)){j=j.substring(ee.raw.length),$.push(ee);continue}if(ee=this.tokenizer.hr(j)){j=j.substring(ee.raw.length),$.push(ee);continue}if(ee=this.tokenizer.blockquote(j)){j=j.substring(ee.raw.length),$.push(ee);continue}if(ee=this.tokenizer.list(j)){j=j.substring(ee.raw.length),$.push(ee);continue}if(ee=this.tokenizer.html(j)){j=j.substring(ee.raw.length),$.push(ee);continue}if(ee=this.tokenizer.def(j)){j=j.substring(ee.raw.length),ye=$[$.length-1],ye&&(ye.type==="paragraph"||ye.type==="text")?(ye.raw+=` +`+ee.raw,ye.text+=` +`+ee.raw,this.inlineQueue[this.inlineQueue.length-1].src=ye.text):this.tokens.links[ee.tag]||(this.tokens.links[ee.tag]={href:ee.href,title:ee.title});continue}if(ee=this.tokenizer.table(j)){j=j.substring(ee.raw.length),$.push(ee);continue}if(ee=this.tokenizer.lheading(j)){j=j.substring(ee.raw.length),$.push(ee);continue}if(_e=j,this.options.extensions&&this.options.extensions.startBlock&&function(){var $e=1/0,We=j.slice(1),ht=void 0;q.options.extensions.startBlock.forEach(function(Ye){ht=Ye.call({lexer:this},We),typeof ht=="number"&&ht>=0&&($e=Math.min($e,ht))}),$e<1/0&&$e>=0&&(_e=j.substring(0,$e+1))}(),this.state.top&&(ee=this.tokenizer.paragraph(_e))){ye=$[$.length-1],Ne&&ye.type==="paragraph"?(ye.raw+=` +`+ee.raw,ye.text+=` +`+ee.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=ye.text):$.push(ee),Ne=_e.length!==j.length,j=j.substring(ee.raw.length);continue}if(ee=this.tokenizer.text(j)){j=j.substring(ee.raw.length),ye=$[$.length-1],ye&&ye.type==="text"?(ye.raw+=` +`+ee.raw,ye.text+=` +`+ee.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=ye.text):$.push(ee);continue}if(j){var Be="Infinite loop on byte: "+j.charCodeAt(0);if(this.options.silent)break;throw new Error(Be)}}return this.state.top=!0,$},de.inline=function(j,$){return $===void 0&&($=[]),this.inlineQueue.push({src:j,tokens:$}),$},de.inlineTokens=function(j,$){var q=this;$===void 0&&($=[]);var ee,ye,_e,Ne=j,Be,$e,We;if(this.tokens.links){var ht=Object.keys(this.tokens.links);if(ht.length>0)for(;(Be=this.tokenizer.rules.inline.reflinkSearch.exec(Ne))!=null;)ht.includes(Be[0].slice(Be[0].lastIndexOf("[")+1,-1))&&(Ne=Ne.slice(0,Be.index)+"["+P("a",Be[0].length-2)+"]"+Ne.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(Be=this.tokenizer.rules.inline.blockSkip.exec(Ne))!=null;)Ne=Ne.slice(0,Be.index)+"["+P("a",Be[0].length-2)+"]"+Ne.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(Be=this.tokenizer.rules.inline.escapedEmSt.exec(Ne))!=null;)Ne=Ne.slice(0,Be.index)+"++"+Ne.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;j;)if($e||(We=""),$e=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(Ge){return(ee=Ge.call({lexer:q},j,$))?(j=j.substring(ee.raw.length),$.push(ee),!0):!1}))){if(ee=this.tokenizer.escape(j)){j=j.substring(ee.raw.length),$.push(ee);continue}if(ee=this.tokenizer.tag(j)){j=j.substring(ee.raw.length),ye=$[$.length-1],ye&&ee.type==="text"&&ye.type==="text"?(ye.raw+=ee.raw,ye.text+=ee.text):$.push(ee);continue}if(ee=this.tokenizer.link(j)){j=j.substring(ee.raw.length),$.push(ee);continue}if(ee=this.tokenizer.reflink(j,this.tokens.links)){j=j.substring(ee.raw.length),ye=$[$.length-1],ye&&ee.type==="text"&&ye.type==="text"?(ye.raw+=ee.raw,ye.text+=ee.text):$.push(ee);continue}if(ee=this.tokenizer.emStrong(j,Ne,We)){j=j.substring(ee.raw.length),$.push(ee);continue}if(ee=this.tokenizer.codespan(j)){j=j.substring(ee.raw.length),$.push(ee);continue}if(ee=this.tokenizer.br(j)){j=j.substring(ee.raw.length),$.push(ee);continue}if(ee=this.tokenizer.del(j)){j=j.substring(ee.raw.length),$.push(ee);continue}if(ee=this.tokenizer.autolink(j,oe)){j=j.substring(ee.raw.length),$.push(ee);continue}if(!this.state.inLink&&(ee=this.tokenizer.url(j,oe))){j=j.substring(ee.raw.length),$.push(ee);continue}if(_e=j,this.options.extensions&&this.options.extensions.startInline&&function(){var Ge=1/0,mt=j.slice(1),wt=void 0;q.options.extensions.startInline.forEach(function(Kt){wt=Kt.call({lexer:this},mt),typeof wt=="number"&&wt>=0&&(Ge=Math.min(Ge,wt))}),Ge<1/0&&Ge>=0&&(_e=j.substring(0,Ge+1))}(),ee=this.tokenizer.inlineText(_e,te)){j=j.substring(ee.raw.length),ee.raw.slice(-1)!=="_"&&(We=ee.raw.slice(-1)),$e=!0,ye=$[$.length-1],ye&&ye.type==="text"?(ye.raw+=ee.raw,ye.text+=ee.text):$.push(ee);continue}if(j){var Ye="Infinite loop on byte: "+j.charCodeAt(0);if(this.options.silent)break;throw new Error(Ye)}}return $},i(he,null,[{key:"rules",get:function(){return{block:Y,inline:A}}}]),he}(),le=function(){function he(me){this.options=me||e.defaults}var de=he.prototype;return de.code=function(j,$,q){var ee=($||"").match(/\S*/)[0];if(this.options.highlight){var ye=this.options.highlight(j,ee);ye!=null&&ye!==j&&(q=!0,j=ye)}return j=j.replace(/\n$/,"")+` `,ee?'
'+(q?j:g(j,!0))+`
`:"
"+(q?j:g(j,!0))+`
`},de.blockquote=function(j){return`
`+j+`
-`},de.html=function(j){return j},de.heading=function(j,$,q,ee){if(this.options.headerIds){var ve=this.options.headerPrefix+ee.slug(q);return"'+j+" +`},de.html=function(j){return j},de.heading=function(j,$,q,ee){if(this.options.headerIds){var ye=this.options.headerPrefix+ee.slug(q);return"'+j+" `}return""+j+" `},de.hr=function(){return this.options.xhtml?`
`:`
-`},de.list=function(j,$,q){var ee=$?"ol":"ul",ve=$&&q!==1?' start="'+q+'"':"";return"<"+ee+ve+`> +`},de.list=function(j,$,q){var ee=$?"ol":"ul",ye=$&&q!==1?' start="'+q+'"':"";return"<"+ee+ye+`> `+j+" `},de.listitem=function(j){return"
  • "+j+`
  • `},de.checkbox=function(j){return" "},de.paragraph=function(j){return"

    "+j+`

    @@ -742,30 +742,30 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `},de.tablerow=function(j){return` `+j+` `},de.tablecell=function(j,$){var q=$.header?"th":"td",ee=$.align?"<"+q+' align="'+$.align+'">':"<"+q+">";return ee+j+(" -`)},de.strong=function(j){return""+j+""},de.em=function(j){return""+j+""},de.codespan=function(j){return""+j+""},de.br=function(){return this.options.xhtml?"
    ":"
    "},de.del=function(j){return""+j+""},de.link=function(j,$,q){if(j=F(this.options.sanitize,this.options.baseUrl,j),j===null)return q;var ee='",ee},de.image=function(j,$,q){if(j=F(this.options.sanitize,this.options.baseUrl,j),j===null)return q;var ee=''+q+'":">",ee},de.text=function(j){return j},he}(),ue=function(){function he(){}var de=he.prototype;return de.strong=function(j){return j},de.em=function(j){return j},de.codespan=function(j){return j},de.del=function(j){return j},de.html=function(j){return j},de.text=function(j){return j},de.link=function(j,$,q){return""+q},de.image=function(j,$,q){return""+q},de.br=function(){return""},he}(),Ce=function(){function he(){this.seen={}}var de=he.prototype;return de.serialize=function(j){return j.toLowerCase().trim().replace(/<[!\/a-z].*?>/ig,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},de.getNextSafeSlug=function(j,$){var q=j,ee=0;if(this.seen.hasOwnProperty(q)){ee=this.seen[j];do ee++,q=j+"-"+ee;while(this.seen.hasOwnProperty(q))}return $||(this.seen[j]=ee,this.seen[q]=0),q},de.slug=function(j,$){$===void 0&&($={});var q=this.serialize(j);return this.getNextSafeSlug(q,$.dryrun)},he}(),pe=function(){function he(me){this.options=me||e.defaults,this.options.renderer=this.options.renderer||new le,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new ue,this.slugger=new Ce}he.parse=function(j,$){var q=new he($);return q.parse(j)},he.parseInline=function(j,$){var q=new he($);return q.parseInline(j)};var de=he.prototype;return de.parse=function(j,$){$===void 0&&($=!0);var q="",ee,ve,Le,Me,Be,$e,Re,ht,Ye,Ge,mt,St,Kt,Rt,Yt,Tn,li,Et,kt,fe=j.length;for(ee=0;ee0&&Yt.tokens[0].type==="paragraph"?(Yt.tokens[0].text=Et+" "+Yt.tokens[0].text,Yt.tokens[0].tokens&&Yt.tokens[0].tokens.length>0&&Yt.tokens[0].tokens[0].type==="text"&&(Yt.tokens[0].tokens[0].text=Et+" "+Yt.tokens[0].tokens[0].text)):Yt.tokens.unshift({type:"text",text:Et}):Rt+=Et),Rt+=this.parse(Yt.tokens,Kt),Ye+=this.renderer.listitem(Rt,li,Tn);q+=this.renderer.list(Ye,mt,St);continue}case"html":{q+=this.renderer.html(Ge.text);continue}case"paragraph":{q+=this.renderer.paragraph(this.parseInline(Ge.tokens));continue}case"text":{for(Ye=Ge.tokens?this.parseInline(Ge.tokens):Ge.text;ee+1"u"||he===null)throw new Error("marked(): input parameter is undefined or null");if(typeof he!="string")throw new Error("marked(): input parameter is of type "+Object.prototype.toString.call(he)+", string expected");if(typeof de=="function"&&(me=de,de=null),de=W({},ce.defaults,de||{}),B(de),me){var j=de.highlight,$;try{$=ae.lex(he,de)}catch(Me){return me(Me)}var q=function(Be){var $e;if(!Be)try{de.walkTokens&&ce.walkTokens($,de.walkTokens),$e=pe.parse($,de)}catch(Re){Be=Re}return de.highlight=j,Be?me(Be):me(null,$e)};if(!j||j.length<3||(delete de.highlight,!$.length))return q();var ee=0;ce.walkTokens($,function(Me){Me.type==="code"&&(ee++,setTimeout(function(){j(Me.text,Me.lang,function(Be,$e){if(Be)return q(Be);$e!=null&&$e!==Me.text&&(Me.text=$e,Me.escaped=!0),ee--,ee===0&&q()})},0))}),ee===0&&q();return}function ve(Me){if(Me.message+=` -Please report this to https://github.com/markedjs/marked.`,de.silent)return"

    An error occurred:

    "+g(Me.message+"",!0)+"
    ";throw Me}try{var Le=ae.lex(he,de);if(de.walkTokens){if(de.async)return Promise.all(ce.walkTokens(Le,de.walkTokens)).then(function(){return pe.parse(Le,de)}).catch(ve);ce.walkTokens(Le,de.walkTokens)}return pe.parse(Le,de)}catch(Me){ve(Me)}}ce.options=ce.setOptions=function(he){return W(ce.defaults,he),l(ce.defaults),ce},ce.getDefaults=a,ce.defaults=e.defaults,ce.use=function(){for(var he=arguments.length,de=new Array(he),me=0;me"u"||he===null)throw new Error("marked.parseInline(): input parameter is undefined or null");if(typeof he!="string")throw new Error("marked.parseInline(): input parameter is of type "+Object.prototype.toString.call(he)+", string expected");de=W({},ce.defaults,de||{}),B(de);try{var me=ae.lexInline(he,de);return de.walkTokens&&ce.walkTokens(me,de.walkTokens),pe.parseInline(me,de)}catch(j){if(j.message+=` -Please report this to https://github.com/markedjs/marked.`,de.silent)return"

    An error occurred:

    "+g(j.message+"",!0)+"
    ";throw j}},ce.Parser=pe,ce.parser=pe.parse,ce.Renderer=le,ce.TextRenderer=ue,ce.Lexer=ae,ce.lexer=ae.lex,ce.Tokenizer=X,ce.Slugger=Ce,ce.parse=ce;var De=ce.options,ke=ce.setOptions,Ne=ce.use,Ue=ce.walkTokens,He=ce.parseInline,ct=ce,vt=pe.parse,it=ae.lex;e.Lexer=ae,e.Parser=pe,e.Renderer=le,e.Slugger=Ce,e.TextRenderer=ue,e.Tokenizer=X,e.getDefaults=a,e.lexer=it,e.marked=ce,e.options=De,e.parse=ct,e.parseInline=He,e.parser=vt,e.setOptions=ke,e.use=Ne,e.walkTokens=Ue,Object.defineProperty(e,"__esModule",{value:!0})})})(),sl.Lexer||exports.Lexer,sl.Parser||exports.Parser,sl.Renderer||exports.Renderer,sl.Slugger||exports.Slugger,sl.TextRenderer||exports.TextRenderer,sl.Tokenizer||exports.Tokenizer,sl.getDefaults||exports.getDefaults,sl.lexer||exports.lexer;var bf=sl.marked||exports.marked;sl.options||exports.options,sl.parse||exports.parse,sl.parseInline||exports.parseInline,sl.parser||exports.parser,sl.setOptions||exports.setOptions,sl.use||exports.use,sl.walkTokens||exports.walkTokens;function j2t(n){return JSON.stringify(n,Q2t)}function lU(n){let e=JSON.parse(n);return e=uU(e),e}function Q2t(n,e){return e instanceof RegExp?{$mid:2,source:e.source,flags:e.flags}:e}function uU(n,e=0){if(!n||e>200)return n;if(typeof n=="object"){switch(n.$mid){case 1:return en.revive(n);case 2:return new RegExp(n.source,n.flags);case 17:return new Date(n.source)}if(n instanceof A9||n instanceof Uint8Array)return n;if(Array.isArray(n))for(let t=0;t{let i=[],r=[];return n&&({href:n,dimensions:i}=P2t(n),r.push(`src="${gR(n)}"`)),t&&r.push(`alt="${gR(t)}"`),e&&r.push(`title="${gR(e)}"`),i.length&&(r=r.concat(i)),""},paragraph:n=>`

    ${n}

    `,link:(n,e,t)=>typeof n!="string"?"":(n===t&&(t=iU(t)),e=typeof e=="string"?gR(iU(e)):"",n=iU(n),n=n.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),`
    ${t}`)});function pR(n,e={},t={}){var i,r;const o=new Je;let s=!1;const a=rU(e),l=function(v){let C;try{C=lU(decodeURIComponent(v))}catch{}return C?(C=U1e(C,S=>{if(n.uris&&n.uris[S])return en.revive(n.uris[S])}),encodeURIComponent(JSON.stringify(C))):v},u=function(v,C){const S=n.uris&&n.uris[v];let x=en.revive(S);return C?v.startsWith(wn.data+":")?v:(x||(x=en.parse(v)),x0e.uriToBrowserUri(x).toString(!0)):!x||en.parse(v).toString()===x.toString()?v:(x.query&&(x=x.with({query:l(x.query)})),x.toString())},c=new bf.Renderer;c.image=cU.image,c.link=cU.link,c.paragraph=cU.paragraph;const d=[],h=[];if(e.codeBlockRendererSync?c.code=(v,C)=>{const S=aU.nextId(),x=e.codeBlockRendererSync(ewe(C),v);return h.push([S,x]),`
    ${zZ(v)}
    `}:e.codeBlockRenderer&&(c.code=(v,C)=>{const S=aU.nextId(),x=e.codeBlockRenderer(ewe(C),v);return d.push(x.then(_=>[S,_])),`
    ${zZ(v)}
    `}),e.actionHandler){const v=function(x){let _=x.target;if(!(_.tagName!=="A"&&(_=_.parentElement,!_||_.tagName!=="A")))try{let F=_.dataset.href;F&&(n.baseUri&&(F=dU(en.from(n.baseUri),F)),e.actionHandler.callback(F,x))}catch(F){vn(F)}finally{x.preventDefault()}},C=e.actionHandler.disposables.add(new Jn(a,"click")),S=e.actionHandler.disposables.add(new Jn(a,"auxclick"));e.actionHandler.disposables.add(lt.any(C.event,S.event)(x=>{const _=new Ld(Qt(a),x);!_.leftButton&&!_.middleButton||v(_)})),e.actionHandler.disposables.add(Ae(a,"keydown",x=>{const _=new sr(x);!_.equals(10)&&!_.equals(3)||v(_)}))}n.supportHtml||(t.sanitizer=v=>(n.isTrusted?v.match(/^(]+>)|(<\/\s*span>)$/):void 0)?v:"",t.sanitize=!0,t.silent=!0),t.renderer=c;let m=(i=n.value)!==null&&i!==void 0?i:"";m.length>1e5&&(m=`${m.substr(0,1e5)}…`),n.supportThemeIcons&&(m=W2t(m));let f;if(e.fillInIncompleteTokens){const v={...bf.defaults,...t},C=bf.lexer(m,v),S=oxt(C);f=bf.parser(S,v)}else f=bf.parse(m,t);n.supportThemeIcons&&(f=w0(f).map(C=>typeof C=="string"?C:C.outerHTML).join(""));const b=new DOMParser().parseFromString(hU(n,f),"text/html");if(b.body.querySelectorAll("img").forEach(v=>{const C=v.getAttribute("src");if(C){let S=C;try{n.baseUri&&(S=dU(en.from(n.baseUri),S))}catch{}v.src=u(S,!0)}}),b.body.querySelectorAll("a").forEach(v=>{const C=v.getAttribute("href");if(v.setAttribute("href",""),!C||/^data:|javascript:/i.test(C)||/^command:/i.test(C)&&!n.isTrusted||/^command:(\/\/\/)?_workbench\.downloadResource/i.test(C))v.replaceWith(...v.childNodes);else{let S=u(C,!1);n.baseUri&&(S=dU(en.from(n.baseUri),C)),v.dataset.href=S}}),a.innerHTML=hU(n,b.body.innerHTML),d.length>0)Promise.all(d).then(v=>{var C,S;if(s)return;const x=new Map(v),_=a.querySelectorAll("div[data-code]");for(const F of _){const D=x.get((C=F.dataset.code)!==null&&C!==void 0?C:"");D&&Qs(F,D)}(S=e.asyncRenderCallback)===null||S===void 0||S.call(e)});else if(h.length>0){const v=new Map(h),C=a.querySelectorAll("div[data-code]");for(const S of C){const x=v.get((r=S.dataset.code)!==null&&r!==void 0?r:"");x&&Qs(S,x)}}if(e.asyncRenderCallback)for(const v of a.getElementsByTagName("img")){const C=o.add(Ae(v,"load",()=>{C.dispose(),e.asyncRenderCallback()}))}return{element:a,dispose:()=>{s=!0,o.dispose()}}}function ewe(n){if(!n)return"";const e=n.split(/[\s+|:|,|\{|\?]/,1);return e.length?e[0]:n}function dU(n,e){return/^\w[\w\d+.-]*:/.test(e)?e:n.path.endsWith("/")?Gye(n,e).toString():Gye(XW(n),e).toString()}function hU(n,e){const{config:t,allowedSchemes:i}=q2t(n);qH("uponSanitizeAttribute",(o,s)=>{var a;if(s.attrName==="style"||s.attrName==="class"){if(o.tagName==="SPAN"){if(s.attrName==="style"){s.keepAttr=/^(color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?(background-color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?$/.test(s.attrValue);return}else if(s.attrName==="class"){s.keepAttr=/^codicon codicon-[a-z\-]+( codicon-modifier-[a-z\-]+)?$/.test(s.attrValue);return}}s.keepAttr=!1;return}else if(o.tagName==="INPUT"&&((a=o.attributes.getNamedItem("type"))===null||a===void 0?void 0:a.value)==="checkbox"){if(s.attrName==="type"&&s.attrValue==="checkbox"||s.attrName==="disabled"||s.attrName==="checked"){s.keepAttr=!0;return}s.keepAttr=!1}}),qH("uponSanitizeElement",(o,s)=>{var a,l;s.tagName==="input"&&(((a=o.attributes.getNamedItem("type"))===null||a===void 0?void 0:a.value)==="checkbox"?o.setAttribute("disabled",""):(l=o.parentElement)===null||l===void 0||l.removeChild(o))});const r=Rft(i);try{return e0e(e,{...t,RETURN_TRUSTED_TYPE:!0})}finally{t0e("uponSanitizeAttribute"),r.dispose()}}const $2t=["align","autoplay","alt","checked","class","controls","data-code","data-href","disabled","draggable","height","href","loop","muted","playsinline","poster","src","style","target","title","type","width","start"];function q2t(n){const e=[wn.http,wn.https,wn.mailto,wn.data,wn.file,wn.vscodeFileResource,wn.vscodeRemote,wn.vscodeRemoteResource];return n.isTrusted&&e.push(wn.command),{config:{ALLOWED_TAGS:[...Vft],ALLOWED_ATTR:$2t,ALLOW_UNKNOWN_PROTOCOLS:!0},allowedSchemes:e}}function ext(n){return typeof n=="string"?n:txt(n)}function txt(n){var e;let t=(e=n.value)!==null&&e!==void 0?e:"";t.length>1e5&&(t=`${t.substr(0,1e5)}…`);const i=bf.parse(t,{renderer:ixt.value}).replace(/&(#\d+|[a-zA-Z]+);/g,r=>{var o;return(o=nxt.get(r))!==null&&o!==void 0?o:r});return hU({isTrusted:!1},i).toString()}const nxt=new Map([[""",'"'],[" "," "],["&","&"],["'","'"],["<","<"],[">",">"]]),ixt=new _h(()=>{const n=new bf.Renderer;return n.code=e=>e,n.blockquote=e=>e,n.html=e=>"",n.heading=(e,t,i)=>e+` +`)},de.strong=function(j){return""+j+""},de.em=function(j){return""+j+""},de.codespan=function(j){return""+j+""},de.br=function(){return this.options.xhtml?"
    ":"
    "},de.del=function(j){return""+j+""},de.link=function(j,$,q){if(j=I(this.options.sanitize,this.options.baseUrl,j),j===null)return q;var ee='",ee},de.image=function(j,$,q){if(j=I(this.options.sanitize,this.options.baseUrl,j),j===null)return q;var ee=''+q+'":">",ee},de.text=function(j){return j},he}(),ue=function(){function he(){}var de=he.prototype;return de.strong=function(j){return j},de.em=function(j){return j},de.codespan=function(j){return j},de.del=function(j){return j},de.html=function(j){return j},de.text=function(j){return j},de.link=function(j,$,q){return""+q},de.image=function(j,$,q){return""+q},de.br=function(){return""},he}(),Ce=function(){function he(){this.seen={}}var de=he.prototype;return de.serialize=function(j){return j.toLowerCase().trim().replace(/<[!\/a-z].*?>/ig,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},de.getNextSafeSlug=function(j,$){var q=j,ee=0;if(this.seen.hasOwnProperty(q)){ee=this.seen[j];do ee++,q=j+"-"+ee;while(this.seen.hasOwnProperty(q))}return $||(this.seen[j]=ee,this.seen[q]=0),q},de.slug=function(j,$){$===void 0&&($={});var q=this.serialize(j);return this.getNextSafeSlug(q,$.dryrun)},he}(),pe=function(){function he(me){this.options=me||e.defaults,this.options.renderer=this.options.renderer||new le,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new ue,this.slugger=new Ce}he.parse=function(j,$){var q=new he($);return q.parse(j)},he.parseInline=function(j,$){var q=new he($);return q.parseInline(j)};var de=he.prototype;return de.parse=function(j,$){$===void 0&&($=!0);var q="",ee,ye,_e,Ne,Be,$e,We,ht,Ye,Ge,mt,wt,Kt,Wt,Yt,Tn,li,Et,Mt,fe=j.length;for(ee=0;ee0&&Yt.tokens[0].type==="paragraph"?(Yt.tokens[0].text=Et+" "+Yt.tokens[0].text,Yt.tokens[0].tokens&&Yt.tokens[0].tokens.length>0&&Yt.tokens[0].tokens[0].type==="text"&&(Yt.tokens[0].tokens[0].text=Et+" "+Yt.tokens[0].tokens[0].text)):Yt.tokens.unshift({type:"text",text:Et}):Wt+=Et),Wt+=this.parse(Yt.tokens,Kt),Ye+=this.renderer.listitem(Wt,li,Tn);q+=this.renderer.list(Ye,mt,wt);continue}case"html":{q+=this.renderer.html(Ge.text);continue}case"paragraph":{q+=this.renderer.paragraph(this.parseInline(Ge.tokens));continue}case"text":{for(Ye=Ge.tokens?this.parseInline(Ge.tokens):Ge.text;ee+1"u"||he===null)throw new Error("marked(): input parameter is undefined or null");if(typeof he!="string")throw new Error("marked(): input parameter is of type "+Object.prototype.toString.call(he)+", string expected");if(typeof de=="function"&&(me=de,de=null),de=Z({},ce.defaults,de||{}),B(de),me){var j=de.highlight,$;try{$=ae.lex(he,de)}catch(Ne){return me(Ne)}var q=function(Be){var $e;if(!Be)try{de.walkTokens&&ce.walkTokens($,de.walkTokens),$e=pe.parse($,de)}catch(We){Be=We}return de.highlight=j,Be?me(Be):me(null,$e)};if(!j||j.length<3||(delete de.highlight,!$.length))return q();var ee=0;ce.walkTokens($,function(Ne){Ne.type==="code"&&(ee++,setTimeout(function(){j(Ne.text,Ne.lang,function(Be,$e){if(Be)return q(Be);$e!=null&&$e!==Ne.text&&(Ne.text=$e,Ne.escaped=!0),ee--,ee===0&&q()})},0))}),ee===0&&q();return}function ye(Ne){if(Ne.message+=` +Please report this to https://github.com/markedjs/marked.`,de.silent)return"

    An error occurred:

    "+g(Ne.message+"",!0)+"
    ";throw Ne}try{var _e=ae.lex(he,de);if(de.walkTokens){if(de.async)return Promise.all(ce.walkTokens(_e,de.walkTokens)).then(function(){return pe.parse(_e,de)}).catch(ye);ce.walkTokens(_e,de.walkTokens)}return pe.parse(_e,de)}catch(Ne){ye(Ne)}}ce.options=ce.setOptions=function(he){return Z(ce.defaults,he),l(ce.defaults),ce},ce.getDefaults=a,ce.defaults=e.defaults,ce.use=function(){for(var he=arguments.length,de=new Array(he),me=0;me"u"||he===null)throw new Error("marked.parseInline(): input parameter is undefined or null");if(typeof he!="string")throw new Error("marked.parseInline(): input parameter is of type "+Object.prototype.toString.call(he)+", string expected");de=Z({},ce.defaults,de||{}),B(de);try{var me=ae.lexInline(he,de);return de.walkTokens&&ce.walkTokens(me,de.walkTokens),pe.parseInline(me,de)}catch(j){if(j.message+=` +Please report this to https://github.com/markedjs/marked.`,de.silent)return"

    An error occurred:

    "+g(j.message+"",!0)+"
    ";throw j}},ce.Parser=pe,ce.parser=pe.parse,ce.Renderer=le,ce.TextRenderer=ue,ce.Lexer=ae,ce.lexer=ae.lex,ce.Tokenizer=X,ce.Slugger=Ce,ce.parse=ce;var De=ce.options,Me=ce.setOptions,ke=ce.use,Ue=ce.walkTokens,He=ce.parseInline,ct=ce,yt=pe.parse,it=ae.lex;e.Lexer=ae,e.Parser=pe,e.Renderer=le,e.Slugger=Ce,e.TextRenderer=ue,e.Tokenizer=X,e.getDefaults=a,e.lexer=it,e.marked=ce,e.options=De,e.parse=ct,e.parseInline=He,e.parser=yt,e.setOptions=Me,e.use=ke,e.walkTokens=Ue,Object.defineProperty(e,"__esModule",{value:!0})})})(),sl.Lexer||exports.Lexer,sl.Parser||exports.Parser,sl.Renderer||exports.Renderer,sl.Slugger||exports.Slugger,sl.TextRenderer||exports.TextRenderer,sl.Tokenizer||exports.Tokenizer,sl.getDefaults||exports.getDefaults,sl.lexer||exports.lexer;var bf=sl.marked||exports.marked;sl.options||exports.options,sl.parse||exports.parse,sl.parseInline||exports.parseInline,sl.parser||exports.parser,sl.setOptions||exports.setOptions,sl.use||exports.use,sl.walkTokens||exports.walkTokens;function j2t(n){return JSON.stringify(n,Q2t)}function lU(n){let e=JSON.parse(n);return e=uU(e),e}function Q2t(n,e){return e instanceof RegExp?{$mid:2,source:e.source,flags:e.flags}:e}function uU(n,e=0){if(!n||e>200)return n;if(typeof n=="object"){switch(n.$mid){case 1:return en.revive(n);case 2:return new RegExp(n.source,n.flags);case 17:return new Date(n.source)}if(n instanceof V9||n instanceof Uint8Array)return n;if(Array.isArray(n))for(let t=0;t{let i=[],r=[];return n&&({href:n,dimensions:i}=P2t(n),r.push(`src="${gW(n)}"`)),t&&r.push(`alt="${gW(t)}"`),e&&r.push(`title="${gW(e)}"`),i.length&&(r=r.concat(i)),""},paragraph:n=>`

    ${n}

    `,link:(n,e,t)=>typeof n!="string"?"":(n===t&&(t=iU(t)),e=typeof e=="string"?gW(iU(e)):"",n=iU(n),n=n.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),`
    ${t}`)});function pW(n,e={},t={}){var i,r;const o=new Je;let s=!1;const a=rU(e),l=function(y){let C;try{C=lU(decodeURIComponent(y))}catch{}return C?(C=U1e(C,w=>{if(n.uris&&n.uris[w])return en.revive(n.uris[w])}),encodeURIComponent(JSON.stringify(C))):y},u=function(y,C){const w=n.uris&&n.uris[y];let x=en.revive(w);return C?y.startsWith(Sn.data+":")?y:(x||(x=en.parse(y)),x0e.uriToBrowserUri(x).toString(!0)):!x||en.parse(y).toString()===x.toString()?y:(x.query&&(x=x.with({query:l(x.query)})),x.toString())},c=new bf.Renderer;c.image=cU.image,c.link=cU.link,c.paragraph=cU.paragraph;const d=[],h=[];if(e.codeBlockRendererSync?c.code=(y,C)=>{const w=aU.nextId(),x=e.codeBlockRendererSync(eSe(C),y);return h.push([w,x]),`
    ${zR(y)}
    `}:e.codeBlockRenderer&&(c.code=(y,C)=>{const w=aU.nextId(),x=e.codeBlockRenderer(eSe(C),y);return d.push(x.then(L=>[w,L])),`
    ${zR(y)}
    `}),e.actionHandler){const y=function(x){let L=x.target;if(!(L.tagName!=="A"&&(L=L.parentElement,!L||L.tagName!=="A")))try{let I=L.dataset.href;I&&(n.baseUri&&(I=dU(en.from(n.baseUri),I)),e.actionHandler.callback(I,x))}catch(I){yn(I)}finally{x.preventDefault()}},C=e.actionHandler.disposables.add(new Jn(a,"click")),w=e.actionHandler.disposables.add(new Jn(a,"auxclick"));e.actionHandler.disposables.add(lt.any(C.event,w.event)(x=>{const L=new xd(Qt(a),x);!L.leftButton&&!L.middleButton||y(L)})),e.actionHandler.disposables.add(Ve(a,"keydown",x=>{const L=new or(x);!L.equals(10)&&!L.equals(3)||y(L)}))}n.supportHtml||(t.sanitizer=y=>(n.isTrusted?y.match(/^(]+>)|(<\/\s*span>)$/):void 0)?y:"",t.sanitize=!0,t.silent=!0),t.renderer=c;let m=(i=n.value)!==null&&i!==void 0?i:"";m.length>1e5&&(m=`${m.substr(0,1e5)}…`),n.supportThemeIcons&&(m=Z2t(m));let f;if(e.fillInIncompleteTokens){const y={...bf.defaults,...t},C=bf.lexer(m,y),w=oxt(C);f=bf.parser(w,y)}else f=bf.parse(m,t);n.supportThemeIcons&&(f=S0(f).map(C=>typeof C=="string"?C:C.outerHTML).join(""));const b=new DOMParser().parseFromString(hU(n,f),"text/html");if(b.body.querySelectorAll("img").forEach(y=>{const C=y.getAttribute("src");if(C){let w=C;try{n.baseUri&&(w=dU(en.from(n.baseUri),w))}catch{}y.src=u(w,!0)}}),b.body.querySelectorAll("a").forEach(y=>{const C=y.getAttribute("href");if(y.setAttribute("href",""),!C||/^data:|javascript:/i.test(C)||/^command:/i.test(C)&&!n.isTrusted||/^command:(\/\/\/)?_workbench\.downloadResource/i.test(C))y.replaceWith(...y.childNodes);else{let w=u(C,!1);n.baseUri&&(w=dU(en.from(n.baseUri),C)),y.dataset.href=w}}),a.innerHTML=hU(n,b.body.innerHTML),d.length>0)Promise.all(d).then(y=>{var C,w;if(s)return;const x=new Map(y),L=a.querySelectorAll("div[data-code]");for(const I of L){const D=x.get((C=I.dataset.code)!==null&&C!==void 0?C:"");D&&Qs(I,D)}(w=e.asyncRenderCallback)===null||w===void 0||w.call(e)});else if(h.length>0){const y=new Map(h),C=a.querySelectorAll("div[data-code]");for(const w of C){const x=y.get((r=w.dataset.code)!==null&&r!==void 0?r:"");x&&Qs(w,x)}}if(e.asyncRenderCallback)for(const y of a.getElementsByTagName("img")){const C=o.add(Ve(y,"load",()=>{C.dispose(),e.asyncRenderCallback()}))}return{element:a,dispose:()=>{s=!0,o.dispose()}}}function eSe(n){if(!n)return"";const e=n.split(/[\s+|:|,|\{|\?]/,1);return e.length?e[0]:n}function dU(n,e){return/^\w[\w\d+.-]*:/.test(e)?e:n.path.endsWith("/")?Gve(n,e).toString():Gve(XZ(n),e).toString()}function hU(n,e){const{config:t,allowedSchemes:i}=q2t(n);qH("uponSanitizeAttribute",(o,s)=>{var a;if(s.attrName==="style"||s.attrName==="class"){if(o.tagName==="SPAN"){if(s.attrName==="style"){s.keepAttr=/^(color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?(background-color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?$/.test(s.attrValue);return}else if(s.attrName==="class"){s.keepAttr=/^codicon codicon-[a-z\-]+( codicon-modifier-[a-z\-]+)?$/.test(s.attrValue);return}}s.keepAttr=!1;return}else if(o.tagName==="INPUT"&&((a=o.attributes.getNamedItem("type"))===null||a===void 0?void 0:a.value)==="checkbox"){if(s.attrName==="type"&&s.attrValue==="checkbox"||s.attrName==="disabled"||s.attrName==="checked"){s.keepAttr=!0;return}s.keepAttr=!1}}),qH("uponSanitizeElement",(o,s)=>{var a,l;s.tagName==="input"&&(((a=o.attributes.getNamedItem("type"))===null||a===void 0?void 0:a.value)==="checkbox"?o.setAttribute("disabled",""):(l=o.parentElement)===null||l===void 0||l.removeChild(o))});const r=Wft(i);try{return e0e(e,{...t,RETURN_TRUSTED_TYPE:!0})}finally{t0e("uponSanitizeAttribute"),r.dispose()}}const $2t=["align","autoplay","alt","checked","class","controls","data-code","data-href","disabled","draggable","height","href","loop","muted","playsinline","poster","src","style","target","title","type","width","start"];function q2t(n){const e=[Sn.http,Sn.https,Sn.mailto,Sn.data,Sn.file,Sn.vscodeFileResource,Sn.vscodeRemote,Sn.vscodeRemoteResource];return n.isTrusted&&e.push(Sn.command),{config:{ALLOWED_TAGS:[...Aft],ALLOWED_ATTR:$2t,ALLOW_UNKNOWN_PROTOCOLS:!0},allowedSchemes:e}}function ext(n){return typeof n=="string"?n:txt(n)}function txt(n){var e;let t=(e=n.value)!==null&&e!==void 0?e:"";t.length>1e5&&(t=`${t.substr(0,1e5)}…`);const i=bf.parse(t,{renderer:ixt.value}).replace(/&(#\d+|[a-zA-Z]+);/g,r=>{var o;return(o=nxt.get(r))!==null&&o!==void 0?o:r});return hU({isTrusted:!1},i).toString()}const nxt=new Map([[""",'"'],[" "," "],["&","&"],["'","'"],["<","<"],[">",">"]]),ixt=new Lh(()=>{const n=new bf.Renderer;return n.code=e=>e,n.blockquote=e=>e,n.html=e=>"",n.heading=(e,t,i)=>e+` `,n.hr=()=>"",n.list=(e,t)=>e,n.listitem=e=>e+` `,n.paragraph=e=>e+` `,n.table=(e,t)=>e+t+` `,n.tablerow=e=>e,n.tablecell=(e,t)=>e+" ",n.strong=e=>e,n.em=e=>e,n.codespan=e=>e,n.br=()=>` `,n.del=e=>e,n.image=(e,t,i)=>"",n.text=e=>e,n.link=(e,t,i)=>i,n});function mU(n){let e="";return n.forEach(t=>{e+=t.raw}),e}function rxt(n){var e,t;for(let i=0;itwe(a.raw)))return dxt(n)}}}}function twe(n){return!!n.match(/^[^\[]*\]\([^\)]*$/)}function oxt(n){let e,t;for(e=0;etSe(a.raw)))return dxt(n)}}}}function tSe(n){return!!n.match(/^[^\[]*\]\([^\)]*$/)}function oxt(n){let e,t;for(e=0;e"u"&&s.match(/^\s*\|/)){const a=s.match(/(\|[^\|]+)(?=\||$)/g);a&&(i=a.length)}else if(typeof i=="number")if(s.match(/^\s*\|/)){if(o!==t.length-1)return;r=!0}else return}if(typeof i=="number"&&i>0){const o=r?t.slice(0,-1).join(` `):e,s=!!o.match(/\|\s*$/),a=o+(s?"":"|")+` -|${" --- |".repeat(i)}`;return bf.lexer(a)}}class gxt{constructor(e){this.spliceables=e}splice(e,t,i){this.spliceables.forEach(r=>r.splice(e,t,i))}}function al(n,e,t){return Math.min(Math.max(n,e),t)}class iwe{constructor(){this._n=1,this._val=0}update(e){return this._val=this._val+(e-this._val)/this._n,this._n+=1,this._val}get value(){return this._val}}class pxt{constructor(e){this._n=0,this._val=0,this._values=[],this._index=0,this._sum=0,this._values=new Array(e),this._values.fill(0,0,e)}update(e){const t=this._values[this._index];return this._values[this._index]=e,this._index=(this._index+1)%this._values.length,this._sum-=t,this._sum+=e,this._n=s.end||s.start>=o.end)return{start:0,end:0};const a=Math.max(o.start,s.start),l=Math.min(o.end,s.end);return l-a<=0?{start:0,end:0}:{start:a,end:l}}n.intersect=e;function t(o){return o.end-o.start<=0}n.isEmpty=t;function i(o,s){return!t(e(o,s))}n.intersects=i;function r(o,s){const a=[],l={start:o.start,end:Math.min(s.start,o.end)},u={start:Math.max(s.end,o.start),end:o.end};return t(l)||a.push(l),t(u)||a.push(u),a}n.relativeComplement=r})(ya||(ya={}));function rwe(n,e){const t=[];for(const i of e){if(n.start>=i.range.end)continue;if(n.ende.concat(t),[]))}class yxt{get paddingTop(){return this._paddingTop}set paddingTop(e){this._size=this._size+e-this._paddingTop,this._paddingTop=e}constructor(e){this.groups=[],this._size=0,this._paddingTop=0,this._paddingTop=e??0,this._size=this._paddingTop}splice(e,t,i=[]){const r=i.length-t,o=rwe({start:0,end:e},this.groups),s=rwe({start:e+t,end:Number.POSITIVE_INFINITY},this.groups).map(l=>({range:fU(l.range,r),size:l.size})),a=i.map((l,u)=>({range:{start:e+u,end:e+u+1},size:l.size}));this.groups=vxt(o,a,s),this._size=this._paddingTop+this.groups.reduce((l,u)=>l+u.size*(u.range.end-u.range.start),0)}get count(){const e=this.groups.length;return e?this.groups[e-1].range.end:0}get size(){return this._size}indexAt(e){if(e<0)return-1;if(e{for(const i of e)this.getRenderer(t).disposeTemplate(i.templateData),i.templateData=null}),this.cache.clear(),this.transactionNodesPendingRemoval.clear()}getRenderer(e){const t=this.renderers.get(e);if(!t)throw new Error(`No renderer found for ${e}`);return t}}var cp=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o};const My={CurrentDragAndDropData:void 0},vf={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,setRowHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements(n){return[n]},getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){},dispose(){}},horizontalScrolling:!1,transformOptimization:!0,alwaysConsumeMouseWheel:!0};class AD{constructor(e){this.elements=e}update(){}getData(){return this.elements}}class Sxt{constructor(e){this.elements=e}update(){}getData(){return this.elements}}class xxt{constructor(){this.types=[],this.files=[]}update(e){if(e.types&&this.types.splice(0,this.types.length,...e.types),e.files){this.files.splice(0,this.files.length);for(let t=0;tr,e!=null&&e.getPosInSet?this.getPosInSet=e.getPosInSet.bind(e):this.getPosInSet=(t,i)=>i+1,e!=null&&e.getRole?this.getRole=e.getRole.bind(e):this.getRole=t=>"listitem",e!=null&&e.isChecked?this.isChecked=e.isChecked.bind(e):this.isChecked=t=>{}}}class Uc{get contentHeight(){return this.rangeMap.size}get onDidScroll(){return this.scrollableElement.onScroll}get scrollableElementDomNode(){return this.scrollableElement.getDomNode()}get horizontalScrolling(){return this._horizontalScrolling}set horizontalScrolling(e){if(e!==this._horizontalScrolling){if(e&&this.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");if(this._horizontalScrolling=e,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this._horizontalScrolling){for(const t of this.items)this.measureItemWidth(t);this.updateScrollWidth(),this.scrollableElement.setScrollDimensions({width:yY(this.domNode)}),this.rowsContainer.style.width=`${Math.max(this.scrollWidth||0,this.renderWidth)}px`}else this.scrollableElementWidthDelayer.cancel(),this.scrollableElement.setScrollDimensions({width:this.renderWidth,scrollWidth:this.renderWidth}),this.rowsContainer.style.width=""}}constructor(e,t,i,r=vf){var o,s,a,l,u,c,d,h,m,f,g,b,v;if(this.virtualDelegate=t,this.domId=`list_id_${++Uc.InstanceCount}`,this.renderers=new Map,this.renderWidth=0,this._scrollHeight=0,this.scrollableElementUpdateDisposable=null,this.scrollableElementWidthDelayer=new Fd(50),this.splicing=!1,this.dragOverAnimationStopDisposable=Ie.None,this.dragOverMouseY=0,this.canDrop=!1,this.currentDragFeedbackDisposable=Ie.None,this.onDragLeaveTimeout=Ie.None,this.disposables=new Je,this._onDidChangeContentHeight=new be,this._onDidChangeContentWidth=new be,this.onDidChangeContentHeight=lt.latch(this._onDidChangeContentHeight.event,void 0,this.disposables),this._horizontalScrolling=!1,r.horizontalScrolling&&r.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");this.items=[],this.itemId=0,this.rangeMap=this.createRangeMap((o=r.paddingTop)!==null&&o!==void 0?o:0);for(const S of i)this.renderers.set(S.templateId,S);this.cache=this.disposables.add(new wxt(this.renderers)),this.lastRenderTop=0,this.lastRenderHeight=0,this.domNode=document.createElement("div"),this.domNode.className="monaco-list",this.domNode.classList.add(this.domId),this.domNode.tabIndex=0,this.domNode.classList.toggle("mouse-support",typeof r.mouseSupport=="boolean"?r.mouseSupport:!0),this._horizontalScrolling=(s=r.horizontalScrolling)!==null&&s!==void 0?s:vf.horizontalScrolling,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this.paddingBottom=typeof r.paddingBottom>"u"?0:r.paddingBottom,this.accessibilityProvider=new _xt(r.accessibilityProvider),this.rowsContainer=document.createElement("div"),this.rowsContainer.className="monaco-list-rows",((a=r.transformOptimization)!==null&&a!==void 0?a:vf.transformOptimization)&&(this.rowsContainer.style.transform="translate3d(0px, 0px, 0px)",this.rowsContainer.style.overflow="hidden",this.rowsContainer.style.contain="strict"),this.disposables.add(ir.addTarget(this.rowsContainer)),this.scrollable=this.disposables.add(new o2({forceIntegerValues:!0,smoothScrollDuration:(l=r.smoothScrolling)!==null&&l!==void 0&&l?125:0,scheduleAtNextAnimationFrame:S=>au(Qt(this.domNode),S)})),this.scrollableElement=this.disposables.add(new gW(this.rowsContainer,{alwaysConsumeMouseWheel:(u=r.alwaysConsumeMouseWheel)!==null&&u!==void 0?u:vf.alwaysConsumeMouseWheel,horizontal:1,vertical:(c=r.verticalScrollMode)!==null&&c!==void 0?c:vf.verticalScrollMode,useShadows:(d=r.useShadows)!==null&&d!==void 0?d:vf.useShadows,mouseWheelScrollSensitivity:r.mouseWheelScrollSensitivity,fastScrollSensitivity:r.fastScrollSensitivity,scrollByPage:r.scrollByPage},this.scrollable)),this.domNode.appendChild(this.scrollableElement.getDomNode()),e.appendChild(this.domNode),this.scrollableElement.onScroll(this.onScroll,this,this.disposables),this.disposables.add(Ae(this.rowsContainer,nr.Change,S=>this.onTouchChange(S))),this.disposables.add(Ae(this.scrollableElement.getDomNode(),"scroll",S=>S.target.scrollTop=0)),this.disposables.add(Ae(this.domNode,"dragover",S=>this.onDragOver(this.toDragEvent(S)))),this.disposables.add(Ae(this.domNode,"drop",S=>this.onDrop(this.toDragEvent(S)))),this.disposables.add(Ae(this.domNode,"dragleave",S=>this.onDragLeave(this.toDragEvent(S)))),this.disposables.add(Ae(this.domNode,"dragend",S=>this.onDragEnd(S))),this.setRowLineHeight=(h=r.setRowLineHeight)!==null&&h!==void 0?h:vf.setRowLineHeight,this.setRowHeight=(m=r.setRowHeight)!==null&&m!==void 0?m:vf.setRowHeight,this.supportDynamicHeights=(f=r.supportDynamicHeights)!==null&&f!==void 0?f:vf.supportDynamicHeights,this.dnd=(g=r.dnd)!==null&&g!==void 0?g:this.disposables.add(vf.dnd),this.layout((b=r.initialSize)===null||b===void 0?void 0:b.height,(v=r.initialSize)===null||v===void 0?void 0:v.width)}updateOptions(e){e.paddingBottom!==void 0&&(this.paddingBottom=e.paddingBottom,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),e.smoothScrolling!==void 0&&this.scrollable.setSmoothScrollDuration(e.smoothScrolling?125:0),e.horizontalScrolling!==void 0&&(this.horizontalScrolling=e.horizontalScrolling);let t;if(e.scrollByPage!==void 0&&(t={...t??{},scrollByPage:e.scrollByPage}),e.mouseWheelScrollSensitivity!==void 0&&(t={...t??{},mouseWheelScrollSensitivity:e.mouseWheelScrollSensitivity}),e.fastScrollSensitivity!==void 0&&(t={...t??{},fastScrollSensitivity:e.fastScrollSensitivity}),t&&this.scrollableElement.updateOptions(t),e.paddingTop!==void 0&&e.paddingTop!==this.rangeMap.paddingTop){const i=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),r=e.paddingTop-this.rangeMap.paddingTop;this.rangeMap.paddingTop=e.paddingTop,this.render(i,Math.max(0,this.lastRenderTop+r),this.lastRenderHeight,void 0,void 0,!0),this.setScrollTop(this.lastRenderTop),this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.lastRenderTop,this.lastRenderHeight)}}createRangeMap(e){return new yxt(e)}splice(e,t,i=[]){if(this.splicing)throw new Error("Can't run recursive splices.");this.splicing=!0;try{return this._splice(e,t,i)}finally{this.splicing=!1,this._onDidChangeContentHeight.fire(this.contentHeight)}}_splice(e,t,i=[]){const r=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),o={start:e,end:e+t},s=ya.intersect(r,o),a=new Map;for(let _=s.end-1;_>=s.start;_--){const F=this.items[_];if(F.dragStartDisposable.dispose(),F.checkedDisposable.dispose(),F.row){let D=a.get(F.templateId);D||(D=[],a.set(F.templateId,D));const M=this.renderers.get(F.templateId);M&&M.disposeElement&&M.disposeElement(F.element,_,F.row.templateData,F.size),D.push(F.row)}F.row=null,F.stale=!0}const l={start:e+t,end:this.items.length},u=ya.intersect(l,r),c=ya.relativeComplement(l,r),d=i.map(_=>({id:String(this.itemId++),element:_,templateId:this.virtualDelegate.getTemplateId(_),size:this.virtualDelegate.getHeight(_),width:void 0,hasDynamicHeight:!!this.virtualDelegate.hasDynamicHeight&&this.virtualDelegate.hasDynamicHeight(_),lastDynamicHeightWidth:void 0,row:null,uri:void 0,dropTarget:!1,dragStartDisposable:Ie.None,checkedDisposable:Ie.None,stale:!1}));let h;e===0&&t>=this.items.length?(this.rangeMap=this.createRangeMap(this.rangeMap.paddingTop),this.rangeMap.splice(0,0,d),h=this.items,this.items=d):(this.rangeMap.splice(e,t,d),h=this.items.splice(e,t,...d));const m=i.length-t,f=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),g=fU(u,m),b=ya.intersect(f,g);for(let _=b.start;_fU(_,m)),x=[{start:e,end:e+i.length},...C].map(_=>ya.intersect(f,_)).reverse();for(const _ of x)for(let F=_.end-1;F>=_.start;F--){const D=this.items[F],M=a.get(D.templateId),T=M==null?void 0:M.pop();this.insertItemInDOM(F,T)}for(const _ of a.values())for(const F of _)this.cache.release(F);return this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight),h.map(_=>_.element)}eventuallyUpdateScrollDimensions(){this._scrollHeight=this.contentHeight,this.rowsContainer.style.height=`${this._scrollHeight}px`,this.scrollableElementUpdateDisposable||(this.scrollableElementUpdateDisposable=au(Qt(this.domNode),()=>{this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight}),this.updateScrollWidth(),this.scrollableElementUpdateDisposable=null}))}eventuallyUpdateScrollWidth(){if(!this.horizontalScrolling){this.scrollableElementWidthDelayer.cancel();return}this.scrollableElementWidthDelayer.trigger(()=>this.updateScrollWidth())}updateScrollWidth(){if(!this.horizontalScrolling)return;let e=0;for(const t of this.items)typeof t.width<"u"&&(e=Math.max(e,t.width));this.scrollWidth=e,this.scrollableElement.setScrollDimensions({scrollWidth:e===0?0:e+10}),this._onDidChangeContentWidth.fire(this.scrollWidth)}rerender(){if(this.supportDynamicHeights){for(const e of this.items)e.lastDynamicHeightWidth=void 0;this._rerender(this.lastRenderTop,this.lastRenderHeight)}}get length(){return this.items.length}get renderHeight(){return this.scrollableElement.getScrollDimensions().height}get firstVisibleIndex(){return this.getRenderRange(this.lastRenderTop,this.lastRenderHeight).start}element(e){return this.items[e].element}indexOf(e){return this.items.findIndex(t=>t.element===e)}domElement(e){const t=this.items[e].row;return t&&t.domNode}elementHeight(e){return this.items[e].size}elementTop(e){return this.rangeMap.positionAt(e)}indexAt(e){return this.rangeMap.indexAt(e)}indexAfter(e){return this.rangeMap.indexAfter(e)}layout(e,t){const i={height:typeof e=="number"?e:Sft(this.domNode)};this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,i.scrollHeight=this.scrollHeight),this.scrollableElement.setScrollDimensions(i),typeof t<"u"&&(this.renderWidth=t,this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight)),this.horizontalScrolling&&this.scrollableElement.setScrollDimensions({width:typeof t=="number"?t:yY(this.domNode)})}render(e,t,i,r,o,s=!1){const a=this.getRenderRange(t,i),l=ya.relativeComplement(a,e).reverse(),u=ya.relativeComplement(e,a);if(s){const c=ya.intersect(e,a);for(let d=c.start;d{for(const c of u)for(let d=c.start;d=c.start;d--)this.insertItemInDOM(d)}),r!==void 0&&(this.rowsContainer.style.left=`-${r}px`),this.rowsContainer.style.top=`-${t}px`,this.horizontalScrolling&&o!==void 0&&(this.rowsContainer.style.width=`${Math.max(o,this.renderWidth)}px`),this.lastRenderTop=t,this.lastRenderHeight=i}insertItemInDOM(e,t){var i,r,o;const s=this.items[e];if(!s.row)if(t)s.row=t,s.stale=!0;else{const d=this.cache.alloc(s.templateId);s.row=d.row,s.stale||(s.stale=d.isReusingConnectedDomNode)}const a=this.accessibilityProvider.getRole(s.element)||"listitem";s.row.domNode.setAttribute("role",a);const l=this.accessibilityProvider.isChecked(s.element);if(typeof l=="boolean")s.row.domNode.setAttribute("aria-checked",String(!!l));else if(l){const d=h=>s.row.domNode.setAttribute("aria-checked",String(!!h));d(l.value),s.checkedDisposable=l.onDidChange(d)}if(s.stale||!s.row.domNode.parentElement){const d=(o=(r=(i=this.items.at(e+1))===null||i===void 0?void 0:i.row)===null||r===void 0?void 0:r.domNode)!==null&&o!==void 0?o:null;this.rowsContainer.insertBefore(s.row.domNode,d),s.stale=!1}this.updateItemInDOM(s,e);const u=this.renderers.get(s.templateId);if(!u)throw new Error(`No renderer found for template id ${s.templateId}`);u==null||u.renderElement(s.element,e,s.row.templateData,s.size);const c=this.dnd.getDragURI(s.element);s.dragStartDisposable.dispose(),s.row.domNode.draggable=!!c,c&&(s.dragStartDisposable=Ae(s.row.domNode,"dragstart",d=>this.onDragStart(s.element,c,d))),this.horizontalScrolling&&(this.measureItemWidth(s),this.eventuallyUpdateScrollWidth())}measureItemWidth(e){if(!e.row||!e.row.domNode)return;e.row.domNode.style.width="fit-content",e.width=yY(e.row.domNode);const t=Qt(e.row.domNode).getComputedStyle(e.row.domNode);t.paddingLeft&&(e.width+=parseFloat(t.paddingLeft)),t.paddingRight&&(e.width+=parseFloat(t.paddingRight)),e.row.domNode.style.width=""}updateItemInDOM(e,t){e.row.domNode.style.top=`${this.elementTop(t)}px`,this.setRowHeight&&(e.row.domNode.style.height=`${e.size}px`),this.setRowLineHeight&&(e.row.domNode.style.lineHeight=`${e.size}px`),e.row.domNode.setAttribute("data-index",`${t}`),e.row.domNode.setAttribute("data-last-element",t===this.length-1?"true":"false"),e.row.domNode.setAttribute("data-parity",t%2===0?"even":"odd"),e.row.domNode.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(e.element,t,this.length))),e.row.domNode.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(e.element,t))),e.row.domNode.setAttribute("id",this.getElementDomId(t)),e.row.domNode.classList.toggle("drop-target",e.dropTarget)}removeItemFromDOM(e){const t=this.items[e];if(t.dragStartDisposable.dispose(),t.checkedDisposable.dispose(),t.row){const i=this.renderers.get(t.templateId);i&&i.disposeElement&&i.disposeElement(t.element,e,t.row.templateData,t.size),this.cache.release(t.row),t.row=null}this.horizontalScrolling&&this.eventuallyUpdateScrollWidth()}getScrollTop(){return this.scrollableElement.getScrollPosition().scrollTop}setScrollTop(e,t){this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),this.scrollableElement.setScrollPosition({scrollTop:e,reuseAnimation:t})}get scrollTop(){return this.getScrollTop()}set scrollTop(e){this.setScrollTop(e)}get scrollHeight(){return this._scrollHeight+(this.horizontalScrolling?10:0)+this.paddingBottom}get onMouseClick(){return lt.map(this.disposables.add(new Jn(this.domNode,"click")).event,e=>this.toMouseEvent(e),this.disposables)}get onMouseDblClick(){return lt.map(this.disposables.add(new Jn(this.domNode,"dblclick")).event,e=>this.toMouseEvent(e),this.disposables)}get onMouseMiddleClick(){return lt.filter(lt.map(this.disposables.add(new Jn(this.domNode,"auxclick")).event,e=>this.toMouseEvent(e),this.disposables),e=>e.browserEvent.button===1,this.disposables)}get onMouseDown(){return lt.map(this.disposables.add(new Jn(this.domNode,"mousedown")).event,e=>this.toMouseEvent(e),this.disposables)}get onMouseOver(){return lt.map(this.disposables.add(new Jn(this.domNode,"mouseover")).event,e=>this.toMouseEvent(e),this.disposables)}get onMouseOut(){return lt.map(this.disposables.add(new Jn(this.domNode,"mouseout")).event,e=>this.toMouseEvent(e),this.disposables)}get onContextMenu(){return lt.any(lt.map(this.disposables.add(new Jn(this.domNode,"contextmenu")).event,e=>this.toMouseEvent(e),this.disposables),lt.map(this.disposables.add(new Jn(this.domNode,nr.Contextmenu)).event,e=>this.toGestureEvent(e),this.disposables))}get onTouchStart(){return lt.map(this.disposables.add(new Jn(this.domNode,"touchstart")).event,e=>this.toTouchEvent(e),this.disposables)}get onTap(){return lt.map(this.disposables.add(new Jn(this.rowsContainer,nr.Tap)).event,e=>this.toGestureEvent(e),this.disposables)}toMouseEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),i=typeof t>"u"?void 0:this.items[t],r=i&&i.element;return{browserEvent:e,index:t,element:r}}toTouchEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),i=typeof t>"u"?void 0:this.items[t],r=i&&i.element;return{browserEvent:e,index:t,element:r}}toGestureEvent(e){const t=this.getItemIndexFromEventTarget(e.initialTarget||null),i=typeof t>"u"?void 0:this.items[t],r=i&&i.element;return{browserEvent:e,index:t,element:r}}toDragEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),i=typeof t>"u"?void 0:this.items[t],r=i&&i.element,o=this.getTargetSector(e,t);return{browserEvent:e,index:t,element:r,sector:o}}onScroll(e){try{const t=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);this.render(t,e.scrollTop,e.height,e.scrollLeft,e.scrollWidth),this.supportDynamicHeights&&this._rerender(e.scrollTop,e.height,e.inSmoothScrolling)}catch(t){throw t}}onTouchChange(e){e.preventDefault(),e.stopPropagation(),this.scrollTop-=e.translationY}onDragStart(e,t,i){var r,o;if(!i.dataTransfer)return;const s=this.dnd.getDragElements(e);if(i.dataTransfer.effectAllowed="copyMove",i.dataTransfer.setData(WD.TEXT,t),i.dataTransfer.setDragImage){let a;this.dnd.getDragLabel&&(a=this.dnd.getDragLabel(s,i)),typeof a>"u"&&(a=String(s.length));const l=Ct(".monaco-drag-image");l.textContent=a;const c=(d=>{for(;d&&!d.classList.contains("monaco-workbench");)d=d.parentElement;return d||this.domNode.ownerDocument})(this.domNode);c.appendChild(l),i.dataTransfer.setDragImage(l,-10,-10),setTimeout(()=>c.removeChild(l),0)}this.domNode.classList.add("dragging"),this.currentDragData=new AD(s),My.CurrentDragAndDropData=new Sxt(s),(o=(r=this.dnd).onDragStart)===null||o===void 0||o.call(r,this.currentDragData,i)}onDragOver(e){var t,i;if(e.browserEvent.preventDefault(),this.onDragLeaveTimeout.dispose(),My.CurrentDragAndDropData&&My.CurrentDragAndDropData.getData()==="vscode-ui"||(this.setupDragAndDropScrollTopAnimation(e.browserEvent),!e.browserEvent.dataTransfer))return!1;if(!this.currentDragData)if(My.CurrentDragAndDropData)this.currentDragData=My.CurrentDragAndDropData;else{if(!e.browserEvent.dataTransfer.types)return!1;this.currentDragData=new xxt}const r=this.dnd.onDragOver(this.currentDragData,e.element,e.index,e.sector,e.browserEvent);if(this.canDrop=typeof r=="boolean"?r:r.accept,!this.canDrop)return this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),!1;e.browserEvent.dataTransfer.dropEffect=typeof r!="boolean"&&((t=r.effect)===null||t===void 0?void 0:t.type)===0?"copy":"move";let o;typeof r!="boolean"&&r.feedback?o=r.feedback:typeof e.index>"u"?o=[-1]:o=[e.index],o=Wg(o).filter(a=>a>=-1&&aa-l),o=o[0]===-1?[-1]:o;let s=typeof r!="boolean"&&r.effect&&r.effect.position?r.effect.position:"drop-target";if(Lxt(this.currentDragFeedback,o)&&this.currentDragFeedbackPosition===s)return!0;if(this.currentDragFeedback=o,this.currentDragFeedbackPosition=s,this.currentDragFeedbackDisposable.dispose(),o[0]===-1)this.domNode.classList.add(s),this.rowsContainer.classList.add(s),this.currentDragFeedbackDisposable=jt(()=>{this.domNode.classList.remove(s),this.rowsContainer.classList.remove(s)});else{if(o.length>1&&s!=="drop-target")throw new Error("Can't use multiple feedbacks with position different than 'over'");s==="drop-target-after"&&o[0]{var a;for(const l of o){const u=this.items[l];u.dropTarget=!1,(a=u.row)===null||a===void 0||a.domNode.classList.remove(s)}})}return!0}onDragLeave(e){var t,i;this.onDragLeaveTimeout.dispose(),this.onDragLeaveTimeout=Gb(()=>this.clearDragOverFeedback(),100,this.disposables),this.currentDragData&&((i=(t=this.dnd).onDragLeave)===null||i===void 0||i.call(t,this.currentDragData,e.element,e.index,e.browserEvent))}onDrop(e){if(!this.canDrop)return;const t=this.currentDragData;this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,My.CurrentDragAndDropData=void 0,!(!t||!e.browserEvent.dataTransfer)&&(e.browserEvent.preventDefault(),t.update(e.browserEvent.dataTransfer),this.dnd.drop(t,e.element,e.index,e.sector,e.browserEvent))}onDragEnd(e){var t,i;this.canDrop=!1,this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,My.CurrentDragAndDropData=void 0,(i=(t=this.dnd).onDragEnd)===null||i===void 0||i.call(t,e)}clearDragOverFeedback(){this.currentDragFeedback=void 0,this.currentDragFeedbackPosition=void 0,this.currentDragFeedbackDisposable.dispose(),this.currentDragFeedbackDisposable=Ie.None}setupDragAndDropScrollTopAnimation(e){if(!this.dragOverAnimationDisposable){const t=M0e(this.domNode).top;this.dragOverAnimationDisposable=Wft(Qt(this.domNode),this.animateDragAndDropScrollTop.bind(this,t))}this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationStopDisposable=Gb(()=>{this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)},1e3,this.disposables),this.dragOverMouseY=e.pageY}animateDragAndDropScrollTop(e){if(this.dragOverMouseY===void 0)return;const t=this.dragOverMouseY-e,i=this.renderHeight-35;t<35?this.scrollTop+=Math.max(-14,Math.floor(.3*(t-35))):t>i&&(this.scrollTop+=Math.min(14,Math.floor(.3*(t-i))))}teardownDragAndDropScrollTopAnimation(){this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}getTargetSector(e,t){if(t===void 0)return;const i=e.offsetY/this.items[t].size,r=Math.floor(i/.25);return al(r,0,3)}getItemIndexFromEventTarget(e){const t=this.scrollableElement.getDomNode();let i=e;for(;i instanceof HTMLElement&&i!==this.rowsContainer&&t.contains(i);){const r=i.getAttribute("data-index");if(r){const o=Number(r);if(!isNaN(o))return o}i=i.parentElement}}getRenderRange(e,t){return{start:this.rangeMap.indexAt(e),end:this.rangeMap.indexAfter(e+t-1)}}_rerender(e,t,i){const r=this.getRenderRange(e,t);let o,s;e===this.elementTop(r.start)?(o=r.start,s=0):r.end-r.start>1&&(o=r.start+1,s=this.elementTop(o)-e);let a=0;for(;;){const l=this.getRenderRange(e,t);let u=!1;for(let c=l.start;c=h.start;m--)this.insertItemInDOM(m);for(let h=l.start;h=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o};class Fxt{constructor(e){this.trait=e,this.renderedElements=[]}get templateId(){return`template:${this.trait.name}`}renderTemplate(e){return e}renderElement(e,t,i){const r=this.renderedElements.findIndex(o=>o.templateData===i);if(r>=0){const o=this.renderedElements[r];this.trait.unrender(i),o.index=t}else{const o={index:t,templateData:i};this.renderedElements.push(o)}this.trait.renderIndex(t,i)}splice(e,t,i){const r=[];for(const o of this.renderedElements)o.index=e+t&&r.push({index:o.index+i-t,templateData:o.templateData});this.renderedElements=r}renderIndexes(e){for(const{index:t,templateData:i}of this.renderedElements)e.indexOf(t)>-1&&this.trait.renderIndex(t,i)}disposeTemplate(e){const t=this.renderedElements.findIndex(i=>i.templateData===e);t<0||this.renderedElements.splice(t,1)}}let bR=class{get name(){return this._trait}get renderer(){return new Fxt(this)}constructor(e){this._trait=e,this.indexes=[],this.sortedIndexes=[],this._onChange=new be,this.onChange=this._onChange.event}splice(e,t,i){const r=i.length-t,o=e+t,s=[];let a=0;for(;a=o;)s.push(this.sortedIndexes[a++]+r);this.renderer.splice(e,t,i.length),this._set(s,s)}renderIndex(e,t){t.classList.toggle(this._trait,this.contains(e))}unrender(e){e.classList.remove(this._trait)}set(e,t){return this._set(e,[...e].sort(hwe),t)}_set(e,t,i){const r=this.indexes,o=this.sortedIndexes;this.indexes=e,this.sortedIndexes=t;const s=pU(o,e);return this.renderer.renderIndexes(s),this._onChange.fire({indexes:e,browserEvent:i}),r}get(){return this.indexes}contains(e){return dI(this.sortedIndexes,e,hwe)>=0}dispose(){er(this._onChange)}};x0([io],bR.prototype,"renderer",null);class Ixt extends bR{constructor(e){super("selected"),this.setAriaSelected=e}renderIndex(e,t){super.renderIndex(e,t),this.setAriaSelected&&(this.contains(e)?t.setAttribute("aria-selected","true"):t.setAttribute("aria-selected","false"))}}class gU{constructor(e,t,i){this.trait=e,this.view=t,this.identityProvider=i}splice(e,t,i){if(!this.identityProvider)return this.trait.splice(e,t,new Array(i.length).fill(!1));const r=this.trait.get().map(a=>this.identityProvider.getId(this.view.element(a)).toString());if(r.length===0)return this.trait.splice(e,t,new Array(i.length).fill(!1));const o=new Set(r),s=i.map(a=>o.has(this.identityProvider.getId(a).toString()));this.trait.splice(e,t,s)}}function L0(n){return n.tagName==="INPUT"||n.tagName==="TEXTAREA"}function GD(n,e){return n.classList.contains(e)?!0:n.classList.contains("monaco-list")||!n.parentElement?!1:GD(n.parentElement,e)}function XD(n){return GD(n,"monaco-editor")}function Dxt(n){return GD(n,"monaco-custom-toggle")}function Mxt(n){return GD(n,"action-item")}function PD(n){return GD(n,"monaco-tree-sticky-row")}function OD(n){return n.classList.contains("monaco-tree-sticky-container")}function owe(n){return n.tagName==="A"&&n.classList.contains("monaco-button")||n.tagName==="DIV"&&n.classList.contains("monaco-button-dropdown")?!0:n.classList.contains("monaco-list")||!n.parentElement?!1:owe(n.parentElement)}class swe{get onKeyDown(){return lt.chain(this.disposables.add(new Jn(this.view.domNode,"keydown")).event,e=>e.filter(t=>!L0(t.target)).map(t=>new sr(t)))}constructor(e,t,i){this.list=e,this.view=t,this.disposables=new Je,this.multipleSelectionDisposables=new Je,this.multipleSelectionSupport=i.multipleSelectionSupport,this.disposables.add(this.onKeyDown(r=>{switch(r.keyCode){case 3:return this.onEnter(r);case 16:return this.onUpArrow(r);case 18:return this.onDownArrow(r);case 11:return this.onPageUpArrow(r);case 12:return this.onPageDownArrow(r);case 9:return this.onEscape(r);case 31:this.multipleSelectionSupport&&(On?r.metaKey:r.ctrlKey)&&this.onCtrlA(r)}}))}updateOptions(e){e.multipleSelectionSupport!==void 0&&(this.multipleSelectionSupport=e.multipleSelectionSupport)}onEnter(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(this.list.getFocus(),e.browserEvent)}onUpArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusPrevious(1,!1,e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onDownArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusNext(1,!1,e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onPageUpArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusPreviousPage(e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onPageDownArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusNextPage(e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onCtrlA(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(Rl(this.list.length),e.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus()}onEscape(e){this.list.getSelection().length&&(e.preventDefault(),e.stopPropagation(),this.list.setSelection([],e.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus())}dispose(){this.disposables.dispose(),this.multipleSelectionDisposables.dispose()}}x0([io],swe.prototype,"onKeyDown",null);var yf;(function(n){n[n.Automatic=0]="Automatic",n[n.Trigger=1]="Trigger"})(yf||(yf={}));var M2;(function(n){n[n.Idle=0]="Idle",n[n.Typing=1]="Typing"})(M2||(M2={}));const kxt=new class{mightProducePrintableCharacter(n){return n.ctrlKey||n.metaKey||n.altKey?!1:n.keyCode>=31&&n.keyCode<=56||n.keyCode>=21&&n.keyCode<=30||n.keyCode>=98&&n.keyCode<=107||n.keyCode>=85&&n.keyCode<=95}};class Nxt{constructor(e,t,i,r,o){this.list=e,this.view=t,this.keyboardNavigationLabelProvider=i,this.keyboardNavigationEventFilter=r,this.delegate=o,this.enabled=!1,this.state=M2.Idle,this.mode=yf.Automatic,this.triggered=!1,this.previouslyFocused=-1,this.enabledDisposables=new Je,this.disposables=new Je,this.updateOptions(e.options)}updateOptions(e){var t,i;!((t=e.typeNavigationEnabled)!==null&&t!==void 0)||t?this.enable():this.disable(),this.mode=(i=e.typeNavigationMode)!==null&&i!==void 0?i:yf.Automatic}enable(){if(this.enabled)return;let e=!1;const t=lt.chain(this.enabledDisposables.add(new Jn(this.view.domNode,"keydown")).event,o=>o.filter(s=>!L0(s.target)).filter(()=>this.mode===yf.Automatic||this.triggered).map(s=>new sr(s)).filter(s=>e||this.keyboardNavigationEventFilter(s)).filter(s=>this.delegate.mightProducePrintableCharacter(s)).forEach(s=>Vn.stop(s,!0)).map(s=>s.browserEvent.key)),i=lt.debounce(t,()=>null,800,void 0,void 0,void 0,this.enabledDisposables);lt.reduce(lt.any(t,i),(o,s)=>s===null?null:(o||"")+s,void 0,this.enabledDisposables)(this.onInput,this,this.enabledDisposables),i(this.onClear,this,this.enabledDisposables),t(()=>e=!0,void 0,this.enabledDisposables),i(()=>e=!1,void 0,this.enabledDisposables),this.enabled=!0,this.triggered=!1}disable(){this.enabled&&(this.enabledDisposables.clear(),this.enabled=!1,this.triggered=!1)}onClear(){var e;const t=this.list.getFocus();if(t.length>0&&t[0]===this.previouslyFocused){const i=(e=this.list.options.accessibilityProvider)===null||e===void 0?void 0:e.getAriaLabel(this.list.element(t[0]));typeof i=="string"?kl(i):i&&kl(i.get())}this.previouslyFocused=-1}onInput(e){if(!e){this.state=M2.Idle,this.triggered=!1;return}const t=this.list.getFocus(),i=t.length>0?t[0]:0,r=this.state===M2.Idle?1:0;this.state=M2.Typing;for(let o=0;o1&&u.length===1){this.previouslyFocused=i,this.list.setFocus([s]),this.list.reveal(s);return}}}else if(typeof l>"u"||lR(e,l)){this.previouslyFocused=i,this.list.setFocus([s]),this.list.reveal(s);return}}}dispose(){this.disable(),this.enabledDisposables.dispose(),this.disposables.dispose()}}class Txt{constructor(e,t){this.list=e,this.view=t,this.disposables=new Je;const i=lt.chain(this.disposables.add(new Jn(t.domNode,"keydown")).event,o=>o.filter(s=>!L0(s.target)).map(s=>new sr(s)));lt.chain(i,o=>o.filter(s=>s.keyCode===2&&!s.ctrlKey&&!s.metaKey&&!s.shiftKey&&!s.altKey))(this.onTab,this,this.disposables)}onTab(e){if(e.target!==this.view.domNode)return;const t=this.list.getFocus();if(t.length===0)return;const i=this.view.domElement(t[0]);if(!i)return;const r=i.querySelector("[tabIndex]");if(!r||!(r instanceof HTMLElement)||r.tabIndex===-1)return;const o=Qt(r).getComputedStyle(r);o.visibility==="hidden"||o.display==="none"||(e.preventDefault(),e.stopPropagation(),r.focus())}dispose(){this.disposables.dispose()}}function awe(n){return On?n.browserEvent.metaKey:n.browserEvent.ctrlKey}function lwe(n){return n.browserEvent.shiftKey}function Ext(n){return LY(n)&&n.button===2}const uwe={isSelectionSingleChangeEvent:awe,isSelectionRangeChangeEvent:lwe};class cwe{constructor(e){this.list=e,this.disposables=new Je,this._onPointer=new be,this.onPointer=this._onPointer.event,e.options.multipleSelectionSupport!==!1&&(this.multipleSelectionController=this.list.options.multipleSelectionController||uwe),this.mouseSupport=typeof e.options.mouseSupport>"u"||!!e.options.mouseSupport,this.mouseSupport&&(e.onMouseDown(this.onMouseDown,this,this.disposables),e.onContextMenu(this.onContextMenu,this,this.disposables),e.onMouseDblClick(this.onDoubleClick,this,this.disposables),e.onTouchStart(this.onMouseDown,this,this.disposables),this.disposables.add(ir.addTarget(e.getHTMLElement()))),lt.any(e.onMouseClick,e.onMouseMiddleClick,e.onTap)(this.onViewPointer,this,this.disposables)}updateOptions(e){e.multipleSelectionSupport!==void 0&&(this.multipleSelectionController=void 0,e.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||uwe))}isSelectionSingleChangeEvent(e){return this.multipleSelectionController?this.multipleSelectionController.isSelectionSingleChangeEvent(e):!1}isSelectionRangeChangeEvent(e){return this.multipleSelectionController?this.multipleSelectionController.isSelectionRangeChangeEvent(e):!1}isSelectionChangeEvent(e){return this.isSelectionSingleChangeEvent(e)||this.isSelectionRangeChangeEvent(e)}onMouseDown(e){XD(e.browserEvent.target)||js()!==e.browserEvent.target&&this.list.domFocus()}onContextMenu(e){if(L0(e.browserEvent.target)||XD(e.browserEvent.target))return;const t=typeof e.index>"u"?[]:[e.index];this.list.setFocus(t,e.browserEvent)}onViewPointer(e){if(!this.mouseSupport||L0(e.browserEvent.target)||XD(e.browserEvent.target)||e.browserEvent.isHandledByList)return;e.browserEvent.isHandledByList=!0;const t=e.index;if(typeof t>"u"){this.list.setFocus([],e.browserEvent),this.list.setSelection([],e.browserEvent),this.list.setAnchor(void 0);return}if(this.isSelectionChangeEvent(e))return this.changeSelection(e);this.list.setFocus([t],e.browserEvent),this.list.setAnchor(t),Ext(e.browserEvent)||this.list.setSelection([t],e.browserEvent),this._onPointer.fire(e)}onDoubleClick(e){if(L0(e.browserEvent.target)||XD(e.browserEvent.target)||this.isSelectionChangeEvent(e)||e.browserEvent.isHandledByList)return;e.browserEvent.isHandledByList=!0;const t=this.list.getFocus();this.list.setSelection(t,e.browserEvent)}changeSelection(e){const t=e.index;let i=this.list.getAnchor();if(this.isSelectionRangeChangeEvent(e)){if(typeof i>"u"){const c=this.list.getFocus()[0];i=c??t,this.list.setAnchor(i)}const r=Math.min(i,t),o=Math.max(i,t),s=Rl(r,o+1),a=this.list.getSelection(),l=Rxt(pU(a,[i]),i);if(l.length===0)return;const u=pU(s,Vxt(a,l));this.list.setSelection(u,e.browserEvent),this.list.setFocus([t],e.browserEvent)}else if(this.isSelectionSingleChangeEvent(e)){const r=this.list.getSelection(),o=r.filter(s=>s!==t);this.list.setFocus([t]),this.list.setAnchor(t),r.length===o.length?this.list.setSelection([...o,t],e.browserEvent):this.list.setSelection(o,e.browserEvent)}}dispose(){this.disposables.dispose()}}class dwe{constructor(e,t){this.styleElement=e,this.selectorSuffix=t}style(e){var t,i;const r=this.selectorSuffix&&`.${this.selectorSuffix}`,o=[];e.listBackground&&o.push(`.monaco-list${r} .monaco-list-rows { background: ${e.listBackground}; }`),e.listFocusBackground&&(o.push(`.monaco-list${r}:focus .monaco-list-row.focused { background-color: ${e.listFocusBackground}; }`),o.push(`.monaco-list${r}:focus .monaco-list-row.focused:hover { background-color: ${e.listFocusBackground}; }`)),e.listFocusForeground&&o.push(`.monaco-list${r}:focus .monaco-list-row.focused { color: ${e.listFocusForeground}; }`),e.listActiveSelectionBackground&&(o.push(`.monaco-list${r}:focus .monaco-list-row.selected { background-color: ${e.listActiveSelectionBackground}; }`),o.push(`.monaco-list${r}:focus .monaco-list-row.selected:hover { background-color: ${e.listActiveSelectionBackground}; }`)),e.listActiveSelectionForeground&&o.push(`.monaco-list${r}:focus .monaco-list-row.selected { color: ${e.listActiveSelectionForeground}; }`),e.listActiveSelectionIconForeground&&o.push(`.monaco-list${r}:focus .monaco-list-row.selected .codicon { color: ${e.listActiveSelectionIconForeground}; }`),e.listFocusAndSelectionBackground&&o.push(` +|${" --- |".repeat(i)}`;return bf.lexer(a)}}class gxt{constructor(e){this.spliceables=e}splice(e,t,i){this.spliceables.forEach(r=>r.splice(e,t,i))}}function al(n,e,t){return Math.min(Math.max(n,e),t)}class iSe{constructor(){this._n=1,this._val=0}update(e){return this._val=this._val+(e-this._val)/this._n,this._n+=1,this._val}get value(){return this._val}}class pxt{constructor(e){this._n=0,this._val=0,this._values=[],this._index=0,this._sum=0,this._values=new Array(e),this._values.fill(0,0,e)}update(e){const t=this._values[this._index];return this._values[this._index]=e,this._index=(this._index+1)%this._values.length,this._sum-=t,this._sum+=e,this._n=s.end||s.start>=o.end)return{start:0,end:0};const a=Math.max(o.start,s.start),l=Math.min(o.end,s.end);return l-a<=0?{start:0,end:0}:{start:a,end:l}}n.intersect=e;function t(o){return o.end-o.start<=0}n.isEmpty=t;function i(o,s){return!t(e(o,s))}n.intersects=i;function r(o,s){const a=[],l={start:o.start,end:Math.min(s.start,o.end)},u={start:Math.max(s.end,o.start),end:o.end};return t(l)||a.push(l),t(u)||a.push(u),a}n.relativeComplement=r})(va||(va={}));function rSe(n,e){const t=[];for(const i of e){if(n.start>=i.range.end)continue;if(n.ende.concat(t),[]))}class vxt{get paddingTop(){return this._paddingTop}set paddingTop(e){this._size=this._size+e-this._paddingTop,this._paddingTop=e}constructor(e){this.groups=[],this._size=0,this._paddingTop=0,this._paddingTop=e??0,this._size=this._paddingTop}splice(e,t,i=[]){const r=i.length-t,o=rSe({start:0,end:e},this.groups),s=rSe({start:e+t,end:Number.POSITIVE_INFINITY},this.groups).map(l=>({range:fU(l.range,r),size:l.size})),a=i.map((l,u)=>({range:{start:e+u,end:e+u+1},size:l.size}));this.groups=yxt(o,a,s),this._size=this._paddingTop+this.groups.reduce((l,u)=>l+u.size*(u.range.end-u.range.start),0)}get count(){const e=this.groups.length;return e?this.groups[e-1].range.end:0}get size(){return this._size}indexAt(e){if(e<0)return-1;if(e{for(const i of e)this.getRenderer(t).disposeTemplate(i.templateData),i.templateData=null}),this.cache.clear(),this.transactionNodesPendingRemoval.clear()}getRenderer(e){const t=this.renderers.get(e);if(!t)throw new Error(`No renderer found for ${e}`);return t}}var cp=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o};const Nv={CurrentDragAndDropData:void 0},yf={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,setRowHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements(n){return[n]},getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){},dispose(){}},horizontalScrolling:!1,transformOptimization:!0,alwaysConsumeMouseWheel:!0};class VD{constructor(e){this.elements=e}update(){}getData(){return this.elements}}class wxt{constructor(e){this.elements=e}update(){}getData(){return this.elements}}class xxt{constructor(){this.types=[],this.files=[]}update(e){if(e.types&&this.types.splice(0,this.types.length,...e.types),e.files){this.files.splice(0,this.files.length);for(let t=0;tr,e!=null&&e.getPosInSet?this.getPosInSet=e.getPosInSet.bind(e):this.getPosInSet=(t,i)=>i+1,e!=null&&e.getRole?this.getRole=e.getRole.bind(e):this.getRole=t=>"listitem",e!=null&&e.isChecked?this.isChecked=e.isChecked.bind(e):this.isChecked=t=>{}}}class Yc{get contentHeight(){return this.rangeMap.size}get onDidScroll(){return this.scrollableElement.onScroll}get scrollableElementDomNode(){return this.scrollableElement.getDomNode()}get horizontalScrolling(){return this._horizontalScrolling}set horizontalScrolling(e){if(e!==this._horizontalScrolling){if(e&&this.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");if(this._horizontalScrolling=e,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this._horizontalScrolling){for(const t of this.items)this.measureItemWidth(t);this.updateScrollWidth(),this.scrollableElement.setScrollDimensions({width:vY(this.domNode)}),this.rowsContainer.style.width=`${Math.max(this.scrollWidth||0,this.renderWidth)}px`}else this.scrollableElementWidthDelayer.cancel(),this.scrollableElement.setScrollDimensions({width:this.renderWidth,scrollWidth:this.renderWidth}),this.rowsContainer.style.width=""}}constructor(e,t,i,r=yf){var o,s,a,l,u,c,d,h,m,f,g,b,y;if(this.virtualDelegate=t,this.domId=`list_id_${++Yc.InstanceCount}`,this.renderers=new Map,this.renderWidth=0,this._scrollHeight=0,this.scrollableElementUpdateDisposable=null,this.scrollableElementWidthDelayer=new Ld(50),this.splicing=!1,this.dragOverAnimationStopDisposable=Fe.None,this.dragOverMouseY=0,this.canDrop=!1,this.currentDragFeedbackDisposable=Fe.None,this.onDragLeaveTimeout=Fe.None,this.disposables=new Je,this._onDidChangeContentHeight=new be,this._onDidChangeContentWidth=new be,this.onDidChangeContentHeight=lt.latch(this._onDidChangeContentHeight.event,void 0,this.disposables),this._horizontalScrolling=!1,r.horizontalScrolling&&r.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");this.items=[],this.itemId=0,this.rangeMap=this.createRangeMap((o=r.paddingTop)!==null&&o!==void 0?o:0);for(const w of i)this.renderers.set(w.templateId,w);this.cache=this.disposables.add(new Sxt(this.renderers)),this.lastRenderTop=0,this.lastRenderHeight=0,this.domNode=document.createElement("div"),this.domNode.className="monaco-list",this.domNode.classList.add(this.domId),this.domNode.tabIndex=0,this.domNode.classList.toggle("mouse-support",typeof r.mouseSupport=="boolean"?r.mouseSupport:!0),this._horizontalScrolling=(s=r.horizontalScrolling)!==null&&s!==void 0?s:yf.horizontalScrolling,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this.paddingBottom=typeof r.paddingBottom>"u"?0:r.paddingBottom,this.accessibilityProvider=new Lxt(r.accessibilityProvider),this.rowsContainer=document.createElement("div"),this.rowsContainer.className="monaco-list-rows",((a=r.transformOptimization)!==null&&a!==void 0?a:yf.transformOptimization)&&(this.rowsContainer.style.transform="translate3d(0px, 0px, 0px)",this.rowsContainer.style.overflow="hidden",this.rowsContainer.style.contain="strict"),this.disposables.add(nr.addTarget(this.rowsContainer)),this.scrollable=this.disposables.add(new o2({forceIntegerValues:!0,smoothScrollDuration:(l=r.smoothScrolling)!==null&&l!==void 0&&l?125:0,scheduleAtNextAnimationFrame:w=>au(Qt(this.domNode),w)})),this.scrollableElement=this.disposables.add(new gZ(this.rowsContainer,{alwaysConsumeMouseWheel:(u=r.alwaysConsumeMouseWheel)!==null&&u!==void 0?u:yf.alwaysConsumeMouseWheel,horizontal:1,vertical:(c=r.verticalScrollMode)!==null&&c!==void 0?c:yf.verticalScrollMode,useShadows:(d=r.useShadows)!==null&&d!==void 0?d:yf.useShadows,mouseWheelScrollSensitivity:r.mouseWheelScrollSensitivity,fastScrollSensitivity:r.fastScrollSensitivity,scrollByPage:r.scrollByPage},this.scrollable)),this.domNode.appendChild(this.scrollableElement.getDomNode()),e.appendChild(this.domNode),this.scrollableElement.onScroll(this.onScroll,this,this.disposables),this.disposables.add(Ve(this.rowsContainer,tr.Change,w=>this.onTouchChange(w))),this.disposables.add(Ve(this.scrollableElement.getDomNode(),"scroll",w=>w.target.scrollTop=0)),this.disposables.add(Ve(this.domNode,"dragover",w=>this.onDragOver(this.toDragEvent(w)))),this.disposables.add(Ve(this.domNode,"drop",w=>this.onDrop(this.toDragEvent(w)))),this.disposables.add(Ve(this.domNode,"dragleave",w=>this.onDragLeave(this.toDragEvent(w)))),this.disposables.add(Ve(this.domNode,"dragend",w=>this.onDragEnd(w))),this.setRowLineHeight=(h=r.setRowLineHeight)!==null&&h!==void 0?h:yf.setRowLineHeight,this.setRowHeight=(m=r.setRowHeight)!==null&&m!==void 0?m:yf.setRowHeight,this.supportDynamicHeights=(f=r.supportDynamicHeights)!==null&&f!==void 0?f:yf.supportDynamicHeights,this.dnd=(g=r.dnd)!==null&&g!==void 0?g:this.disposables.add(yf.dnd),this.layout((b=r.initialSize)===null||b===void 0?void 0:b.height,(y=r.initialSize)===null||y===void 0?void 0:y.width)}updateOptions(e){e.paddingBottom!==void 0&&(this.paddingBottom=e.paddingBottom,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),e.smoothScrolling!==void 0&&this.scrollable.setSmoothScrollDuration(e.smoothScrolling?125:0),e.horizontalScrolling!==void 0&&(this.horizontalScrolling=e.horizontalScrolling);let t;if(e.scrollByPage!==void 0&&(t={...t??{},scrollByPage:e.scrollByPage}),e.mouseWheelScrollSensitivity!==void 0&&(t={...t??{},mouseWheelScrollSensitivity:e.mouseWheelScrollSensitivity}),e.fastScrollSensitivity!==void 0&&(t={...t??{},fastScrollSensitivity:e.fastScrollSensitivity}),t&&this.scrollableElement.updateOptions(t),e.paddingTop!==void 0&&e.paddingTop!==this.rangeMap.paddingTop){const i=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),r=e.paddingTop-this.rangeMap.paddingTop;this.rangeMap.paddingTop=e.paddingTop,this.render(i,Math.max(0,this.lastRenderTop+r),this.lastRenderHeight,void 0,void 0,!0),this.setScrollTop(this.lastRenderTop),this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.lastRenderTop,this.lastRenderHeight)}}createRangeMap(e){return new vxt(e)}splice(e,t,i=[]){if(this.splicing)throw new Error("Can't run recursive splices.");this.splicing=!0;try{return this._splice(e,t,i)}finally{this.splicing=!1,this._onDidChangeContentHeight.fire(this.contentHeight)}}_splice(e,t,i=[]){const r=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),o={start:e,end:e+t},s=va.intersect(r,o),a=new Map;for(let L=s.end-1;L>=s.start;L--){const I=this.items[L];if(I.dragStartDisposable.dispose(),I.checkedDisposable.dispose(),I.row){let D=a.get(I.templateId);D||(D=[],a.set(I.templateId,D));const N=this.renderers.get(I.templateId);N&&N.disposeElement&&N.disposeElement(I.element,L,I.row.templateData,I.size),D.push(I.row)}I.row=null,I.stale=!0}const l={start:e+t,end:this.items.length},u=va.intersect(l,r),c=va.relativeComplement(l,r),d=i.map(L=>({id:String(this.itemId++),element:L,templateId:this.virtualDelegate.getTemplateId(L),size:this.virtualDelegate.getHeight(L),width:void 0,hasDynamicHeight:!!this.virtualDelegate.hasDynamicHeight&&this.virtualDelegate.hasDynamicHeight(L),lastDynamicHeightWidth:void 0,row:null,uri:void 0,dropTarget:!1,dragStartDisposable:Fe.None,checkedDisposable:Fe.None,stale:!1}));let h;e===0&&t>=this.items.length?(this.rangeMap=this.createRangeMap(this.rangeMap.paddingTop),this.rangeMap.splice(0,0,d),h=this.items,this.items=d):(this.rangeMap.splice(e,t,d),h=this.items.splice(e,t,...d));const m=i.length-t,f=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),g=fU(u,m),b=va.intersect(f,g);for(let L=b.start;LfU(L,m)),x=[{start:e,end:e+i.length},...C].map(L=>va.intersect(f,L)).reverse();for(const L of x)for(let I=L.end-1;I>=L.start;I--){const D=this.items[I],N=a.get(D.templateId),T=N==null?void 0:N.pop();this.insertItemInDOM(I,T)}for(const L of a.values())for(const I of L)this.cache.release(I);return this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight),h.map(L=>L.element)}eventuallyUpdateScrollDimensions(){this._scrollHeight=this.contentHeight,this.rowsContainer.style.height=`${this._scrollHeight}px`,this.scrollableElementUpdateDisposable||(this.scrollableElementUpdateDisposable=au(Qt(this.domNode),()=>{this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight}),this.updateScrollWidth(),this.scrollableElementUpdateDisposable=null}))}eventuallyUpdateScrollWidth(){if(!this.horizontalScrolling){this.scrollableElementWidthDelayer.cancel();return}this.scrollableElementWidthDelayer.trigger(()=>this.updateScrollWidth())}updateScrollWidth(){if(!this.horizontalScrolling)return;let e=0;for(const t of this.items)typeof t.width<"u"&&(e=Math.max(e,t.width));this.scrollWidth=e,this.scrollableElement.setScrollDimensions({scrollWidth:e===0?0:e+10}),this._onDidChangeContentWidth.fire(this.scrollWidth)}rerender(){if(this.supportDynamicHeights){for(const e of this.items)e.lastDynamicHeightWidth=void 0;this._rerender(this.lastRenderTop,this.lastRenderHeight)}}get length(){return this.items.length}get renderHeight(){return this.scrollableElement.getScrollDimensions().height}get firstVisibleIndex(){return this.getRenderRange(this.lastRenderTop,this.lastRenderHeight).start}element(e){return this.items[e].element}indexOf(e){return this.items.findIndex(t=>t.element===e)}domElement(e){const t=this.items[e].row;return t&&t.domNode}elementHeight(e){return this.items[e].size}elementTop(e){return this.rangeMap.positionAt(e)}indexAt(e){return this.rangeMap.indexAt(e)}indexAfter(e){return this.rangeMap.indexAfter(e)}layout(e,t){const i={height:typeof e=="number"?e:wft(this.domNode)};this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,i.scrollHeight=this.scrollHeight),this.scrollableElement.setScrollDimensions(i),typeof t<"u"&&(this.renderWidth=t,this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight)),this.horizontalScrolling&&this.scrollableElement.setScrollDimensions({width:typeof t=="number"?t:vY(this.domNode)})}render(e,t,i,r,o,s=!1){const a=this.getRenderRange(t,i),l=va.relativeComplement(a,e).reverse(),u=va.relativeComplement(e,a);if(s){const c=va.intersect(e,a);for(let d=c.start;d{for(const c of u)for(let d=c.start;d=c.start;d--)this.insertItemInDOM(d)}),r!==void 0&&(this.rowsContainer.style.left=`-${r}px`),this.rowsContainer.style.top=`-${t}px`,this.horizontalScrolling&&o!==void 0&&(this.rowsContainer.style.width=`${Math.max(o,this.renderWidth)}px`),this.lastRenderTop=t,this.lastRenderHeight=i}insertItemInDOM(e,t){var i,r,o;const s=this.items[e];if(!s.row)if(t)s.row=t,s.stale=!0;else{const d=this.cache.alloc(s.templateId);s.row=d.row,s.stale||(s.stale=d.isReusingConnectedDomNode)}const a=this.accessibilityProvider.getRole(s.element)||"listitem";s.row.domNode.setAttribute("role",a);const l=this.accessibilityProvider.isChecked(s.element);if(typeof l=="boolean")s.row.domNode.setAttribute("aria-checked",String(!!l));else if(l){const d=h=>s.row.domNode.setAttribute("aria-checked",String(!!h));d(l.value),s.checkedDisposable=l.onDidChange(d)}if(s.stale||!s.row.domNode.parentElement){const d=(o=(r=(i=this.items.at(e+1))===null||i===void 0?void 0:i.row)===null||r===void 0?void 0:r.domNode)!==null&&o!==void 0?o:null;this.rowsContainer.insertBefore(s.row.domNode,d),s.stale=!1}this.updateItemInDOM(s,e);const u=this.renderers.get(s.templateId);if(!u)throw new Error(`No renderer found for template id ${s.templateId}`);u==null||u.renderElement(s.element,e,s.row.templateData,s.size);const c=this.dnd.getDragURI(s.element);s.dragStartDisposable.dispose(),s.row.domNode.draggable=!!c,c&&(s.dragStartDisposable=Ve(s.row.domNode,"dragstart",d=>this.onDragStart(s.element,c,d))),this.horizontalScrolling&&(this.measureItemWidth(s),this.eventuallyUpdateScrollWidth())}measureItemWidth(e){if(!e.row||!e.row.domNode)return;e.row.domNode.style.width="fit-content",e.width=vY(e.row.domNode);const t=Qt(e.row.domNode).getComputedStyle(e.row.domNode);t.paddingLeft&&(e.width+=parseFloat(t.paddingLeft)),t.paddingRight&&(e.width+=parseFloat(t.paddingRight)),e.row.domNode.style.width=""}updateItemInDOM(e,t){e.row.domNode.style.top=`${this.elementTop(t)}px`,this.setRowHeight&&(e.row.domNode.style.height=`${e.size}px`),this.setRowLineHeight&&(e.row.domNode.style.lineHeight=`${e.size}px`),e.row.domNode.setAttribute("data-index",`${t}`),e.row.domNode.setAttribute("data-last-element",t===this.length-1?"true":"false"),e.row.domNode.setAttribute("data-parity",t%2===0?"even":"odd"),e.row.domNode.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(e.element,t,this.length))),e.row.domNode.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(e.element,t))),e.row.domNode.setAttribute("id",this.getElementDomId(t)),e.row.domNode.classList.toggle("drop-target",e.dropTarget)}removeItemFromDOM(e){const t=this.items[e];if(t.dragStartDisposable.dispose(),t.checkedDisposable.dispose(),t.row){const i=this.renderers.get(t.templateId);i&&i.disposeElement&&i.disposeElement(t.element,e,t.row.templateData,t.size),this.cache.release(t.row),t.row=null}this.horizontalScrolling&&this.eventuallyUpdateScrollWidth()}getScrollTop(){return this.scrollableElement.getScrollPosition().scrollTop}setScrollTop(e,t){this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),this.scrollableElement.setScrollPosition({scrollTop:e,reuseAnimation:t})}get scrollTop(){return this.getScrollTop()}set scrollTop(e){this.setScrollTop(e)}get scrollHeight(){return this._scrollHeight+(this.horizontalScrolling?10:0)+this.paddingBottom}get onMouseClick(){return lt.map(this.disposables.add(new Jn(this.domNode,"click")).event,e=>this.toMouseEvent(e),this.disposables)}get onMouseDblClick(){return lt.map(this.disposables.add(new Jn(this.domNode,"dblclick")).event,e=>this.toMouseEvent(e),this.disposables)}get onMouseMiddleClick(){return lt.filter(lt.map(this.disposables.add(new Jn(this.domNode,"auxclick")).event,e=>this.toMouseEvent(e),this.disposables),e=>e.browserEvent.button===1,this.disposables)}get onMouseDown(){return lt.map(this.disposables.add(new Jn(this.domNode,"mousedown")).event,e=>this.toMouseEvent(e),this.disposables)}get onMouseOver(){return lt.map(this.disposables.add(new Jn(this.domNode,"mouseover")).event,e=>this.toMouseEvent(e),this.disposables)}get onMouseOut(){return lt.map(this.disposables.add(new Jn(this.domNode,"mouseout")).event,e=>this.toMouseEvent(e),this.disposables)}get onContextMenu(){return lt.any(lt.map(this.disposables.add(new Jn(this.domNode,"contextmenu")).event,e=>this.toMouseEvent(e),this.disposables),lt.map(this.disposables.add(new Jn(this.domNode,tr.Contextmenu)).event,e=>this.toGestureEvent(e),this.disposables))}get onTouchStart(){return lt.map(this.disposables.add(new Jn(this.domNode,"touchstart")).event,e=>this.toTouchEvent(e),this.disposables)}get onTap(){return lt.map(this.disposables.add(new Jn(this.rowsContainer,tr.Tap)).event,e=>this.toGestureEvent(e),this.disposables)}toMouseEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),i=typeof t>"u"?void 0:this.items[t],r=i&&i.element;return{browserEvent:e,index:t,element:r}}toTouchEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),i=typeof t>"u"?void 0:this.items[t],r=i&&i.element;return{browserEvent:e,index:t,element:r}}toGestureEvent(e){const t=this.getItemIndexFromEventTarget(e.initialTarget||null),i=typeof t>"u"?void 0:this.items[t],r=i&&i.element;return{browserEvent:e,index:t,element:r}}toDragEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),i=typeof t>"u"?void 0:this.items[t],r=i&&i.element,o=this.getTargetSector(e,t);return{browserEvent:e,index:t,element:r,sector:o}}onScroll(e){try{const t=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);this.render(t,e.scrollTop,e.height,e.scrollLeft,e.scrollWidth),this.supportDynamicHeights&&this._rerender(e.scrollTop,e.height,e.inSmoothScrolling)}catch(t){throw t}}onTouchChange(e){e.preventDefault(),e.stopPropagation(),this.scrollTop-=e.translationY}onDragStart(e,t,i){var r,o;if(!i.dataTransfer)return;const s=this.dnd.getDragElements(e);if(i.dataTransfer.effectAllowed="copyMove",i.dataTransfer.setData(ZD.TEXT,t),i.dataTransfer.setDragImage){let a;this.dnd.getDragLabel&&(a=this.dnd.getDragLabel(s,i)),typeof a>"u"&&(a=String(s.length));const l=Ct(".monaco-drag-image");l.textContent=a;const c=(d=>{for(;d&&!d.classList.contains("monaco-workbench");)d=d.parentElement;return d||this.domNode.ownerDocument})(this.domNode);c.appendChild(l),i.dataTransfer.setDragImage(l,-10,-10),setTimeout(()=>c.removeChild(l),0)}this.domNode.classList.add("dragging"),this.currentDragData=new VD(s),Nv.CurrentDragAndDropData=new wxt(s),(o=(r=this.dnd).onDragStart)===null||o===void 0||o.call(r,this.currentDragData,i)}onDragOver(e){var t,i;if(e.browserEvent.preventDefault(),this.onDragLeaveTimeout.dispose(),Nv.CurrentDragAndDropData&&Nv.CurrentDragAndDropData.getData()==="vscode-ui"||(this.setupDragAndDropScrollTopAnimation(e.browserEvent),!e.browserEvent.dataTransfer))return!1;if(!this.currentDragData)if(Nv.CurrentDragAndDropData)this.currentDragData=Nv.CurrentDragAndDropData;else{if(!e.browserEvent.dataTransfer.types)return!1;this.currentDragData=new xxt}const r=this.dnd.onDragOver(this.currentDragData,e.element,e.index,e.sector,e.browserEvent);if(this.canDrop=typeof r=="boolean"?r:r.accept,!this.canDrop)return this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),!1;e.browserEvent.dataTransfer.dropEffect=typeof r!="boolean"&&((t=r.effect)===null||t===void 0?void 0:t.type)===0?"copy":"move";let o;typeof r!="boolean"&&r.feedback?o=r.feedback:typeof e.index>"u"?o=[-1]:o=[e.index],o=Zg(o).filter(a=>a>=-1&&aa-l),o=o[0]===-1?[-1]:o;let s=typeof r!="boolean"&&r.effect&&r.effect.position?r.effect.position:"drop-target";if(_xt(this.currentDragFeedback,o)&&this.currentDragFeedbackPosition===s)return!0;if(this.currentDragFeedback=o,this.currentDragFeedbackPosition=s,this.currentDragFeedbackDisposable.dispose(),o[0]===-1)this.domNode.classList.add(s),this.rowsContainer.classList.add(s),this.currentDragFeedbackDisposable=jt(()=>{this.domNode.classList.remove(s),this.rowsContainer.classList.remove(s)});else{if(o.length>1&&s!=="drop-target")throw new Error("Can't use multiple feedbacks with position different than 'over'");s==="drop-target-after"&&o[0]{var a;for(const l of o){const u=this.items[l];u.dropTarget=!1,(a=u.row)===null||a===void 0||a.domNode.classList.remove(s)}})}return!0}onDragLeave(e){var t,i;this.onDragLeaveTimeout.dispose(),this.onDragLeaveTimeout=Gb(()=>this.clearDragOverFeedback(),100,this.disposables),this.currentDragData&&((i=(t=this.dnd).onDragLeave)===null||i===void 0||i.call(t,this.currentDragData,e.element,e.index,e.browserEvent))}onDrop(e){if(!this.canDrop)return;const t=this.currentDragData;this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,Nv.CurrentDragAndDropData=void 0,!(!t||!e.browserEvent.dataTransfer)&&(e.browserEvent.preventDefault(),t.update(e.browserEvent.dataTransfer),this.dnd.drop(t,e.element,e.index,e.sector,e.browserEvent))}onDragEnd(e){var t,i;this.canDrop=!1,this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,Nv.CurrentDragAndDropData=void 0,(i=(t=this.dnd).onDragEnd)===null||i===void 0||i.call(t,e)}clearDragOverFeedback(){this.currentDragFeedback=void 0,this.currentDragFeedbackPosition=void 0,this.currentDragFeedbackDisposable.dispose(),this.currentDragFeedbackDisposable=Fe.None}setupDragAndDropScrollTopAnimation(e){if(!this.dragOverAnimationDisposable){const t=N0e(this.domNode).top;this.dragOverAnimationDisposable=Zft(Qt(this.domNode),this.animateDragAndDropScrollTop.bind(this,t))}this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationStopDisposable=Gb(()=>{this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)},1e3,this.disposables),this.dragOverMouseY=e.pageY}animateDragAndDropScrollTop(e){if(this.dragOverMouseY===void 0)return;const t=this.dragOverMouseY-e,i=this.renderHeight-35;t<35?this.scrollTop+=Math.max(-14,Math.floor(.3*(t-35))):t>i&&(this.scrollTop+=Math.min(14,Math.floor(.3*(t-i))))}teardownDragAndDropScrollTopAnimation(){this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}getTargetSector(e,t){if(t===void 0)return;const i=e.offsetY/this.items[t].size,r=Math.floor(i/.25);return al(r,0,3)}getItemIndexFromEventTarget(e){const t=this.scrollableElement.getDomNode();let i=e;for(;i instanceof HTMLElement&&i!==this.rowsContainer&&t.contains(i);){const r=i.getAttribute("data-index");if(r){const o=Number(r);if(!isNaN(o))return o}i=i.parentElement}}getRenderRange(e,t){return{start:this.rangeMap.indexAt(e),end:this.rangeMap.indexAfter(e+t-1)}}_rerender(e,t,i){const r=this.getRenderRange(e,t);let o,s;e===this.elementTop(r.start)?(o=r.start,s=0):r.end-r.start>1&&(o=r.start+1,s=this.elementTop(o)-e);let a=0;for(;;){const l=this.getRenderRange(e,t);let u=!1;for(let c=l.start;c=h.start;m--)this.insertItemInDOM(m);for(let h=l.start;h=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o};class Ixt{constructor(e){this.trait=e,this.renderedElements=[]}get templateId(){return`template:${this.trait.name}`}renderTemplate(e){return e}renderElement(e,t,i){const r=this.renderedElements.findIndex(o=>o.templateData===i);if(r>=0){const o=this.renderedElements[r];this.trait.unrender(i),o.index=t}else{const o={index:t,templateData:i};this.renderedElements.push(o)}this.trait.renderIndex(t,i)}splice(e,t,i){const r=[];for(const o of this.renderedElements)o.index=e+t&&r.push({index:o.index+i-t,templateData:o.templateData});this.renderedElements=r}renderIndexes(e){for(const{index:t,templateData:i}of this.renderedElements)e.indexOf(t)>-1&&this.trait.renderIndex(t,i)}disposeTemplate(e){const t=this.renderedElements.findIndex(i=>i.templateData===e);t<0||this.renderedElements.splice(t,1)}}let bW=class{get name(){return this._trait}get renderer(){return new Ixt(this)}constructor(e){this._trait=e,this.indexes=[],this.sortedIndexes=[],this._onChange=new be,this.onChange=this._onChange.event}splice(e,t,i){const r=i.length-t,o=e+t,s=[];let a=0;for(;a=o;)s.push(this.sortedIndexes[a++]+r);this.renderer.splice(e,t,i.length),this._set(s,s)}renderIndex(e,t){t.classList.toggle(this._trait,this.contains(e))}unrender(e){e.classList.remove(this._trait)}set(e,t){return this._set(e,[...e].sort(hSe),t)}_set(e,t,i){const r=this.indexes,o=this.sortedIndexes;this.indexes=e,this.sortedIndexes=t;const s=pU(o,e);return this.renderer.renderIndexes(s),this._onChange.fire({indexes:e,browserEvent:i}),r}get(){return this.indexes}contains(e){return dF(this.sortedIndexes,e,hSe)>=0}dispose(){qi(this._onChange)}};x0([io],bW.prototype,"renderer",null);class Fxt extends bW{constructor(e){super("selected"),this.setAriaSelected=e}renderIndex(e,t){super.renderIndex(e,t),this.setAriaSelected&&(this.contains(e)?t.setAttribute("aria-selected","true"):t.setAttribute("aria-selected","false"))}}class gU{constructor(e,t,i){this.trait=e,this.view=t,this.identityProvider=i}splice(e,t,i){if(!this.identityProvider)return this.trait.splice(e,t,new Array(i.length).fill(!1));const r=this.trait.get().map(a=>this.identityProvider.getId(this.view.element(a)).toString());if(r.length===0)return this.trait.splice(e,t,new Array(i.length).fill(!1));const o=new Set(r),s=i.map(a=>o.has(this.identityProvider.getId(a).toString()));this.trait.splice(e,t,s)}}function _0(n){return n.tagName==="INPUT"||n.tagName==="TEXTAREA"}function GD(n,e){return n.classList.contains(e)?!0:n.classList.contains("monaco-list")||!n.parentElement?!1:GD(n.parentElement,e)}function XD(n){return GD(n,"monaco-editor")}function Dxt(n){return GD(n,"monaco-custom-toggle")}function Nxt(n){return GD(n,"action-item")}function PD(n){return GD(n,"monaco-tree-sticky-row")}function OD(n){return n.classList.contains("monaco-tree-sticky-container")}function oSe(n){return n.tagName==="A"&&n.classList.contains("monaco-button")||n.tagName==="DIV"&&n.classList.contains("monaco-button-dropdown")?!0:n.classList.contains("monaco-list")||!n.parentElement?!1:oSe(n.parentElement)}class sSe{get onKeyDown(){return lt.chain(this.disposables.add(new Jn(this.view.domNode,"keydown")).event,e=>e.filter(t=>!_0(t.target)).map(t=>new or(t)))}constructor(e,t,i){this.list=e,this.view=t,this.disposables=new Je,this.multipleSelectionDisposables=new Je,this.multipleSelectionSupport=i.multipleSelectionSupport,this.disposables.add(this.onKeyDown(r=>{switch(r.keyCode){case 3:return this.onEnter(r);case 16:return this.onUpArrow(r);case 18:return this.onDownArrow(r);case 11:return this.onPageUpArrow(r);case 12:return this.onPageDownArrow(r);case 9:return this.onEscape(r);case 31:this.multipleSelectionSupport&&(On?r.metaKey:r.ctrlKey)&&this.onCtrlA(r)}}))}updateOptions(e){e.multipleSelectionSupport!==void 0&&(this.multipleSelectionSupport=e.multipleSelectionSupport)}onEnter(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(this.list.getFocus(),e.browserEvent)}onUpArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusPrevious(1,!1,e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onDownArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusNext(1,!1,e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onPageUpArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusPreviousPage(e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onPageDownArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusNextPage(e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onCtrlA(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(Wl(this.list.length),e.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus()}onEscape(e){this.list.getSelection().length&&(e.preventDefault(),e.stopPropagation(),this.list.setSelection([],e.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus())}dispose(){this.disposables.dispose(),this.multipleSelectionDisposables.dispose()}}x0([io],sSe.prototype,"onKeyDown",null);var vf;(function(n){n[n.Automatic=0]="Automatic",n[n.Trigger=1]="Trigger"})(vf||(vf={}));var N2;(function(n){n[n.Idle=0]="Idle",n[n.Typing=1]="Typing"})(N2||(N2={}));const Mxt=new class{mightProducePrintableCharacter(n){return n.ctrlKey||n.metaKey||n.altKey?!1:n.keyCode>=31&&n.keyCode<=56||n.keyCode>=21&&n.keyCode<=30||n.keyCode>=98&&n.keyCode<=107||n.keyCode>=85&&n.keyCode<=95}};class kxt{constructor(e,t,i,r,o){this.list=e,this.view=t,this.keyboardNavigationLabelProvider=i,this.keyboardNavigationEventFilter=r,this.delegate=o,this.enabled=!1,this.state=N2.Idle,this.mode=vf.Automatic,this.triggered=!1,this.previouslyFocused=-1,this.enabledDisposables=new Je,this.disposables=new Je,this.updateOptions(e.options)}updateOptions(e){var t,i;!((t=e.typeNavigationEnabled)!==null&&t!==void 0)||t?this.enable():this.disable(),this.mode=(i=e.typeNavigationMode)!==null&&i!==void 0?i:vf.Automatic}enable(){if(this.enabled)return;let e=!1;const t=lt.chain(this.enabledDisposables.add(new Jn(this.view.domNode,"keydown")).event,o=>o.filter(s=>!_0(s.target)).filter(()=>this.mode===vf.Automatic||this.triggered).map(s=>new or(s)).filter(s=>e||this.keyboardNavigationEventFilter(s)).filter(s=>this.delegate.mightProducePrintableCharacter(s)).forEach(s=>An.stop(s,!0)).map(s=>s.browserEvent.key)),i=lt.debounce(t,()=>null,800,void 0,void 0,void 0,this.enabledDisposables);lt.reduce(lt.any(t,i),(o,s)=>s===null?null:(o||"")+s,void 0,this.enabledDisposables)(this.onInput,this,this.enabledDisposables),i(this.onClear,this,this.enabledDisposables),t(()=>e=!0,void 0,this.enabledDisposables),i(()=>e=!1,void 0,this.enabledDisposables),this.enabled=!0,this.triggered=!1}disable(){this.enabled&&(this.enabledDisposables.clear(),this.enabled=!1,this.triggered=!1)}onClear(){var e;const t=this.list.getFocus();if(t.length>0&&t[0]===this.previouslyFocused){const i=(e=this.list.options.accessibilityProvider)===null||e===void 0?void 0:e.getAriaLabel(this.list.element(t[0]));typeof i=="string"?Ml(i):i&&Ml(i.get())}this.previouslyFocused=-1}onInput(e){if(!e){this.state=N2.Idle,this.triggered=!1;return}const t=this.list.getFocus(),i=t.length>0?t[0]:0,r=this.state===N2.Idle?1:0;this.state=N2.Typing;for(let o=0;o1&&u.length===1){this.previouslyFocused=i,this.list.setFocus([s]),this.list.reveal(s);return}}}else if(typeof l>"u"||lW(e,l)){this.previouslyFocused=i,this.list.setFocus([s]),this.list.reveal(s);return}}}dispose(){this.disable(),this.enabledDisposables.dispose(),this.disposables.dispose()}}class Txt{constructor(e,t){this.list=e,this.view=t,this.disposables=new Je;const i=lt.chain(this.disposables.add(new Jn(t.domNode,"keydown")).event,o=>o.filter(s=>!_0(s.target)).map(s=>new or(s)));lt.chain(i,o=>o.filter(s=>s.keyCode===2&&!s.ctrlKey&&!s.metaKey&&!s.shiftKey&&!s.altKey))(this.onTab,this,this.disposables)}onTab(e){if(e.target!==this.view.domNode)return;const t=this.list.getFocus();if(t.length===0)return;const i=this.view.domElement(t[0]);if(!i)return;const r=i.querySelector("[tabIndex]");if(!r||!(r instanceof HTMLElement)||r.tabIndex===-1)return;const o=Qt(r).getComputedStyle(r);o.visibility==="hidden"||o.display==="none"||(e.preventDefault(),e.stopPropagation(),r.focus())}dispose(){this.disposables.dispose()}}function aSe(n){return On?n.browserEvent.metaKey:n.browserEvent.ctrlKey}function lSe(n){return n.browserEvent.shiftKey}function Ext(n){return _Y(n)&&n.button===2}const uSe={isSelectionSingleChangeEvent:aSe,isSelectionRangeChangeEvent:lSe};class cSe{constructor(e){this.list=e,this.disposables=new Je,this._onPointer=new be,this.onPointer=this._onPointer.event,e.options.multipleSelectionSupport!==!1&&(this.multipleSelectionController=this.list.options.multipleSelectionController||uSe),this.mouseSupport=typeof e.options.mouseSupport>"u"||!!e.options.mouseSupport,this.mouseSupport&&(e.onMouseDown(this.onMouseDown,this,this.disposables),e.onContextMenu(this.onContextMenu,this,this.disposables),e.onMouseDblClick(this.onDoubleClick,this,this.disposables),e.onTouchStart(this.onMouseDown,this,this.disposables),this.disposables.add(nr.addTarget(e.getHTMLElement()))),lt.any(e.onMouseClick,e.onMouseMiddleClick,e.onTap)(this.onViewPointer,this,this.disposables)}updateOptions(e){e.multipleSelectionSupport!==void 0&&(this.multipleSelectionController=void 0,e.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||uSe))}isSelectionSingleChangeEvent(e){return this.multipleSelectionController?this.multipleSelectionController.isSelectionSingleChangeEvent(e):!1}isSelectionRangeChangeEvent(e){return this.multipleSelectionController?this.multipleSelectionController.isSelectionRangeChangeEvent(e):!1}isSelectionChangeEvent(e){return this.isSelectionSingleChangeEvent(e)||this.isSelectionRangeChangeEvent(e)}onMouseDown(e){XD(e.browserEvent.target)||js()!==e.browserEvent.target&&this.list.domFocus()}onContextMenu(e){if(_0(e.browserEvent.target)||XD(e.browserEvent.target))return;const t=typeof e.index>"u"?[]:[e.index];this.list.setFocus(t,e.browserEvent)}onViewPointer(e){if(!this.mouseSupport||_0(e.browserEvent.target)||XD(e.browserEvent.target)||e.browserEvent.isHandledByList)return;e.browserEvent.isHandledByList=!0;const t=e.index;if(typeof t>"u"){this.list.setFocus([],e.browserEvent),this.list.setSelection([],e.browserEvent),this.list.setAnchor(void 0);return}if(this.isSelectionChangeEvent(e))return this.changeSelection(e);this.list.setFocus([t],e.browserEvent),this.list.setAnchor(t),Ext(e.browserEvent)||this.list.setSelection([t],e.browserEvent),this._onPointer.fire(e)}onDoubleClick(e){if(_0(e.browserEvent.target)||XD(e.browserEvent.target)||this.isSelectionChangeEvent(e)||e.browserEvent.isHandledByList)return;e.browserEvent.isHandledByList=!0;const t=this.list.getFocus();this.list.setSelection(t,e.browserEvent)}changeSelection(e){const t=e.index;let i=this.list.getAnchor();if(this.isSelectionRangeChangeEvent(e)){if(typeof i>"u"){const c=this.list.getFocus()[0];i=c??t,this.list.setAnchor(i)}const r=Math.min(i,t),o=Math.max(i,t),s=Wl(r,o+1),a=this.list.getSelection(),l=Wxt(pU(a,[i]),i);if(l.length===0)return;const u=pU(s,Axt(a,l));this.list.setSelection(u,e.browserEvent),this.list.setFocus([t],e.browserEvent)}else if(this.isSelectionSingleChangeEvent(e)){const r=this.list.getSelection(),o=r.filter(s=>s!==t);this.list.setFocus([t]),this.list.setAnchor(t),r.length===o.length?this.list.setSelection([...o,t],e.browserEvent):this.list.setSelection(o,e.browserEvent)}}dispose(){this.disposables.dispose()}}class dSe{constructor(e,t){this.styleElement=e,this.selectorSuffix=t}style(e){var t,i;const r=this.selectorSuffix&&`.${this.selectorSuffix}`,o=[];e.listBackground&&o.push(`.monaco-list${r} .monaco-list-rows { background: ${e.listBackground}; }`),e.listFocusBackground&&(o.push(`.monaco-list${r}:focus .monaco-list-row.focused { background-color: ${e.listFocusBackground}; }`),o.push(`.monaco-list${r}:focus .monaco-list-row.focused:hover { background-color: ${e.listFocusBackground}; }`)),e.listFocusForeground&&o.push(`.monaco-list${r}:focus .monaco-list-row.focused { color: ${e.listFocusForeground}; }`),e.listActiveSelectionBackground&&(o.push(`.monaco-list${r}:focus .monaco-list-row.selected { background-color: ${e.listActiveSelectionBackground}; }`),o.push(`.monaco-list${r}:focus .monaco-list-row.selected:hover { background-color: ${e.listActiveSelectionBackground}; }`)),e.listActiveSelectionForeground&&o.push(`.monaco-list${r}:focus .monaco-list-row.selected { color: ${e.listActiveSelectionForeground}; }`),e.listActiveSelectionIconForeground&&o.push(`.monaco-list${r}:focus .monaco-list-row.selected .codicon { color: ${e.listActiveSelectionIconForeground}; }`),e.listFocusAndSelectionBackground&&o.push(` .monaco-drag-image, .monaco-list${r}:focus .monaco-list-row.selected.focused { background-color: ${e.listFocusAndSelectionBackground}; } `),e.listFocusAndSelectionForeground&&o.push(` .monaco-drag-image, .monaco-list${r}:focus .monaco-list-row.selected.focused { color: ${e.listFocusAndSelectionForeground}; } - `),e.listInactiveFocusForeground&&(o.push(`.monaco-list${r} .monaco-list-row.focused { color: ${e.listInactiveFocusForeground}; }`),o.push(`.monaco-list${r} .monaco-list-row.focused:hover { color: ${e.listInactiveFocusForeground}; }`)),e.listInactiveSelectionIconForeground&&o.push(`.monaco-list${r} .monaco-list-row.focused .codicon { color: ${e.listInactiveSelectionIconForeground}; }`),e.listInactiveFocusBackground&&(o.push(`.monaco-list${r} .monaco-list-row.focused { background-color: ${e.listInactiveFocusBackground}; }`),o.push(`.monaco-list${r} .monaco-list-row.focused:hover { background-color: ${e.listInactiveFocusBackground}; }`)),e.listInactiveSelectionBackground&&(o.push(`.monaco-list${r} .monaco-list-row.selected { background-color: ${e.listInactiveSelectionBackground}; }`),o.push(`.monaco-list${r} .monaco-list-row.selected:hover { background-color: ${e.listInactiveSelectionBackground}; }`)),e.listInactiveSelectionForeground&&o.push(`.monaco-list${r} .monaco-list-row.selected { color: ${e.listInactiveSelectionForeground}; }`),e.listHoverBackground&&o.push(`.monaco-list${r}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${e.listHoverBackground}; }`),e.listHoverForeground&&o.push(`.monaco-list${r}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { color: ${e.listHoverForeground}; }`);const s=Mg(e.listFocusAndSelectionOutline,Mg(e.listSelectionOutline,(t=e.listFocusOutline)!==null&&t!==void 0?t:""));s&&o.push(`.monaco-list${r}:focus .monaco-list-row.focused.selected { outline: 1px solid ${s}; outline-offset: -1px;}`),e.listFocusOutline&&o.push(` + `),e.listInactiveFocusForeground&&(o.push(`.monaco-list${r} .monaco-list-row.focused { color: ${e.listInactiveFocusForeground}; }`),o.push(`.monaco-list${r} .monaco-list-row.focused:hover { color: ${e.listInactiveFocusForeground}; }`)),e.listInactiveSelectionIconForeground&&o.push(`.monaco-list${r} .monaco-list-row.focused .codicon { color: ${e.listInactiveSelectionIconForeground}; }`),e.listInactiveFocusBackground&&(o.push(`.monaco-list${r} .monaco-list-row.focused { background-color: ${e.listInactiveFocusBackground}; }`),o.push(`.monaco-list${r} .monaco-list-row.focused:hover { background-color: ${e.listInactiveFocusBackground}; }`)),e.listInactiveSelectionBackground&&(o.push(`.monaco-list${r} .monaco-list-row.selected { background-color: ${e.listInactiveSelectionBackground}; }`),o.push(`.monaco-list${r} .monaco-list-row.selected:hover { background-color: ${e.listInactiveSelectionBackground}; }`)),e.listInactiveSelectionForeground&&o.push(`.monaco-list${r} .monaco-list-row.selected { color: ${e.listInactiveSelectionForeground}; }`),e.listHoverBackground&&o.push(`.monaco-list${r}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${e.listHoverBackground}; }`),e.listHoverForeground&&o.push(`.monaco-list${r}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { color: ${e.listHoverForeground}; }`);const s=Ng(e.listFocusAndSelectionOutline,Ng(e.listSelectionOutline,(t=e.listFocusOutline)!==null&&t!==void 0?t:""));s&&o.push(`.monaco-list${r}:focus .monaco-list-row.focused.selected { outline: 1px solid ${s}; outline-offset: -1px;}`),e.listFocusOutline&&o.push(` .monaco-drag-image, .monaco-list${r}:focus .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; } .monaco-workbench.context-menu-visible .monaco-list${r}.last-focused .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; } - `);const a=Mg(e.listSelectionOutline,(i=e.listInactiveFocusOutline)!==null&&i!==void 0?i:"");a&&o.push(`.monaco-list${r} .monaco-list-row.focused.selected { outline: 1px dotted ${a}; outline-offset: -1px; }`),e.listSelectionOutline&&o.push(`.monaco-list${r} .monaco-list-row.selected { outline: 1px dotted ${e.listSelectionOutline}; outline-offset: -1px; }`),e.listInactiveFocusOutline&&o.push(`.monaco-list${r} .monaco-list-row.focused { outline: 1px dotted ${e.listInactiveFocusOutline}; outline-offset: -1px; }`),e.listHoverOutline&&o.push(`.monaco-list${r} .monaco-list-row:hover { outline: 1px dashed ${e.listHoverOutline}; outline-offset: -1px; }`),e.listDropOverBackground&&o.push(` + `);const a=Ng(e.listSelectionOutline,(i=e.listInactiveFocusOutline)!==null&&i!==void 0?i:"");a&&o.push(`.monaco-list${r} .monaco-list-row.focused.selected { outline: 1px dotted ${a}; outline-offset: -1px; }`),e.listSelectionOutline&&o.push(`.monaco-list${r} .monaco-list-row.selected { outline: 1px dotted ${e.listSelectionOutline}; outline-offset: -1px; }`),e.listInactiveFocusOutline&&o.push(`.monaco-list${r} .monaco-list-row.focused { outline: 1px dotted ${e.listInactiveFocusOutline}; outline-offset: -1px; }`),e.listHoverOutline&&o.push(`.monaco-list${r} .monaco-list-row:hover { outline: 1px dashed ${e.listHoverOutline}; outline-offset: -1px; }`),e.listDropOverBackground&&o.push(` .monaco-list${r}.drop-target, .monaco-list${r} .monaco-list-rows.drop-target, .monaco-list${r} .monaco-list-row.drop-target { background-color: ${e.listDropOverBackground} !important; color: inherit !important; } @@ -798,77 +798,77 @@ ${e}`)}function axt(n){return S0(n,"`")}function lxt(n){return S0(n,"*")}functio background-color: ${e.tableOddRowsBackgroundColor}; } `),this.styleElement.textContent=o.join(` -`)}}const Zxt={listFocusBackground:"#7FB0D0",listActiveSelectionBackground:"#0E639C",listActiveSelectionForeground:"#FFFFFF",listActiveSelectionIconForeground:"#FFFFFF",listFocusAndSelectionOutline:"#90C2F9",listFocusAndSelectionBackground:"#094771",listFocusAndSelectionForeground:"#FFFFFF",listInactiveSelectionBackground:"#3F3F46",listInactiveSelectionIconForeground:"#FFFFFF",listHoverBackground:"#2A2D2E",listDropOverBackground:"#383B3D",listDropBetweenBackground:"#EEEEEE",treeIndentGuidesStroke:"#a9a9a9",treeInactiveIndentGuidesStroke:Ze.fromHex("#a9a9a9").transparent(.4).toString(),tableColumnsBorder:Ze.fromHex("#cccccc").transparent(.2).toString(),tableOddRowsBackgroundColor:Ze.fromHex("#cccccc").transparent(.04).toString(),listBackground:void 0,listFocusForeground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusForeground:void 0,listInactiveFocusBackground:void 0,listHoverForeground:void 0,listFocusOutline:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listHoverOutline:void 0},Wxt={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0,dnd:{getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){},dispose(){}}};function Rxt(n,e){const t=n.indexOf(e);if(t===-1)return[];const i=[];let r=t-1;for(;r>=0&&n[r]===e-(t-r);)i.push(n[r--]);for(i.reverse(),r=t;r=n.length)t.push(e[r++]);else if(r>=e.length)t.push(n[i++]);else if(n[i]===e[r]){t.push(n[i]),i++,r++;continue}else n[i]=n.length)t.push(e[r++]);else if(r>=e.length)t.push(n[i++]);else if(n[i]===e[r]){i++,r++;continue}else n[i]n-e;class Axt{constructor(e,t){this._templateId=e,this.renderers=t}get templateId(){return this._templateId}renderTemplate(e){return this.renderers.map(t=>t.renderTemplate(e))}renderElement(e,t,i,r){let o=0;for(const s of this.renderers)s.renderElement(e,t,i[o++],r)}disposeElement(e,t,i,r){var o;let s=0;for(const a of this.renderers)(o=a.disposeElement)===null||o===void 0||o.call(a,e,t,i[s],r),s+=1}disposeTemplate(e){let t=0;for(const i of this.renderers)i.disposeTemplate(e[t++])}}class Gxt{constructor(e){this.accessibilityProvider=e,this.templateId="a18n"}renderTemplate(e){return{container:e,disposables:new Je}}renderElement(e,t,i){const r=this.accessibilityProvider.getAriaLabel(e),o=r&&typeof r!="string"?r:Bh(r);i.disposables.add(Zn(a=>{this.setAriaLabel(a.readObservable(o),i.container)}));const s=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(e);typeof s=="number"?i.container.setAttribute("aria-level",`${s}`):i.container.removeAttribute("aria-level")}setAriaLabel(e,t){e?t.setAttribute("aria-label",e):t.removeAttribute("aria-label")}disposeElement(e,t,i,r){i.disposables.clear()}disposeTemplate(e){e.disposables.dispose()}}class Xxt{constructor(e,t){this.list=e,this.dnd=t}getDragElements(e){const t=this.list.getSelectedElements();return t.indexOf(e)>-1?t:[e]}getDragURI(e){return this.dnd.getDragURI(e)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e,t)}onDragStart(e,t){var i,r;(r=(i=this.dnd).onDragStart)===null||r===void 0||r.call(i,e,t)}onDragOver(e,t,i,r,o){return this.dnd.onDragOver(e,t,i,r,o)}onDragLeave(e,t,i,r){var o,s;(s=(o=this.dnd).onDragLeave)===null||s===void 0||s.call(o,e,t,i,r)}onDragEnd(e){var t,i;(i=(t=this.dnd).onDragEnd)===null||i===void 0||i.call(t,e)}drop(e,t,i,r,o){this.dnd.drop(e,t,i,r,o)}dispose(){this.dnd.dispose()}}class Ju{get onDidChangeFocus(){return lt.map(this.eventBufferer.wrapEvent(this.focus.onChange),e=>this.toListEvent(e),this.disposables)}get onDidChangeSelection(){return lt.map(this.eventBufferer.wrapEvent(this.selection.onChange),e=>this.toListEvent(e),this.disposables)}get domId(){return this.view.domId}get onDidScroll(){return this.view.onDidScroll}get onMouseClick(){return this.view.onMouseClick}get onMouseDblClick(){return this.view.onMouseDblClick}get onMouseMiddleClick(){return this.view.onMouseMiddleClick}get onPointer(){return this.mouseController.onPointer}get onMouseDown(){return this.view.onMouseDown}get onMouseOver(){return this.view.onMouseOver}get onMouseOut(){return this.view.onMouseOut}get onTouchStart(){return this.view.onTouchStart}get onTap(){return this.view.onTap}get onContextMenu(){let e=!1;const t=lt.chain(this.disposables.add(new Jn(this.view.domNode,"keydown")).event,o=>o.map(s=>new sr(s)).filter(s=>e=s.keyCode===58||s.shiftKey&&s.keyCode===68).map(s=>Vn.stop(s,!0)).filter(()=>!1)),i=lt.chain(this.disposables.add(new Jn(this.view.domNode,"keyup")).event,o=>o.forEach(()=>e=!1).map(s=>new sr(s)).filter(s=>s.keyCode===58||s.shiftKey&&s.keyCode===68).map(s=>Vn.stop(s,!0)).map(({browserEvent:s})=>{const a=this.getFocus(),l=a.length?a[0]:void 0,u=typeof l<"u"?this.view.element(l):void 0,c=typeof l<"u"?this.view.domElement(l):this.view.domNode;return{index:l,element:u,anchor:c,browserEvent:s}})),r=lt.chain(this.view.onContextMenu,o=>o.filter(s=>!e).map(({element:s,index:a,browserEvent:l})=>({element:s,index:a,anchor:new Ld(Qt(this.view.domNode),l),browserEvent:l})));return lt.any(t,i,r)}get onKeyDown(){return this.disposables.add(new Jn(this.view.domNode,"keydown")).event}get onDidFocus(){return lt.signal(this.disposables.add(new Jn(this.view.domNode,"focus",!0)).event)}get onDidBlur(){return lt.signal(this.disposables.add(new Jn(this.view.domNode,"blur",!0)).event)}constructor(e,t,i,r,o=Wxt){var s,a,l,u;this.user=e,this._options=o,this.focus=new bR("focused"),this.anchor=new bR("anchor"),this.eventBufferer=new PH,this._ariaLabel="",this.disposables=new Je,this._onDidDispose=new be,this.onDidDispose=this._onDidDispose.event;const c=this._options.accessibilityProvider&&this._options.accessibilityProvider.getWidgetRole?(s=this._options.accessibilityProvider)===null||s===void 0?void 0:s.getWidgetRole():"list";this.selection=new Ixt(c!=="listbox");const d=[this.focus.renderer,this.selection.renderer];this.accessibilityProvider=o.accessibilityProvider,this.accessibilityProvider&&(d.push(new Gxt(this.accessibilityProvider)),(l=(a=this.accessibilityProvider).onDidChangeActiveDescendant)===null||l===void 0||l.call(a,this.onDidChangeActiveDescendant,this,this.disposables)),r=r.map(m=>new Axt(m.templateId,[...d,m]));const h={...o,dnd:o.dnd&&new Xxt(this,o.dnd)};if(this.view=this.createListView(t,i,r,h),this.view.domNode.setAttribute("role",c),o.styleController)this.styleController=o.styleController(this.view.domId);else{const m=Au(this.view.domNode);this.styleController=new dwe(m,this.view.domId)}if(this.spliceable=new gxt([new gU(this.focus,this.view,o.identityProvider),new gU(this.selection,this.view,o.identityProvider),new gU(this.anchor,this.view,o.identityProvider),this.view]),this.disposables.add(this.focus),this.disposables.add(this.selection),this.disposables.add(this.anchor),this.disposables.add(this.view),this.disposables.add(this._onDidDispose),this.disposables.add(new Txt(this,this.view)),(typeof o.keyboardSupport!="boolean"||o.keyboardSupport)&&(this.keyboardController=new swe(this,this.view,o),this.disposables.add(this.keyboardController)),o.keyboardNavigationLabelProvider){const m=o.keyboardNavigationDelegate||kxt;this.typeNavigationController=new Nxt(this,this.view,o.keyboardNavigationLabelProvider,(u=o.keyboardNavigationEventFilter)!==null&&u!==void 0?u:()=>!0,m),this.disposables.add(this.typeNavigationController)}this.mouseController=this.createMouseController(o),this.disposables.add(this.mouseController),this.onDidChangeFocus(this._onFocusChange,this,this.disposables),this.onDidChangeSelection(this._onSelectionChange,this,this.disposables),this.accessibilityProvider&&(this.ariaLabel=this.accessibilityProvider.getWidgetAriaLabel()),this._options.multipleSelectionSupport!==!1&&this.view.domNode.setAttribute("aria-multiselectable","true")}createListView(e,t,i,r){return new Uc(e,t,i,r)}createMouseController(e){return new cwe(this)}updateOptions(e={}){var t,i;this._options={...this._options,...e},(t=this.typeNavigationController)===null||t===void 0||t.updateOptions(this._options),this._options.multipleSelectionController!==void 0&&(this._options.multipleSelectionSupport?this.view.domNode.setAttribute("aria-multiselectable","true"):this.view.domNode.removeAttribute("aria-multiselectable")),this.mouseController.updateOptions(e),(i=this.keyboardController)===null||i===void 0||i.updateOptions(e),this.view.updateOptions(e)}get options(){return this._options}splice(e,t,i=[]){if(e<0||e>this.view.length)throw new Dy(this.user,`Invalid start index: ${e}`);if(t<0)throw new Dy(this.user,`Invalid delete count: ${t}`);t===0&&i.length===0||this.eventBufferer.bufferEvents(()=>this.spliceable.splice(e,t,i))}rerender(){this.view.rerender()}element(e){return this.view.element(e)}indexOf(e){return this.view.indexOf(e)}indexAt(e){return this.view.indexAt(e)}get length(){return this.view.length}get contentHeight(){return this.view.contentHeight}get onDidChangeContentHeight(){return this.view.onDidChangeContentHeight}get scrollTop(){return this.view.getScrollTop()}set scrollTop(e){this.view.setScrollTop(e)}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get firstVisibleIndex(){return this.view.firstVisibleIndex}get ariaLabel(){return this._ariaLabel}set ariaLabel(e){this._ariaLabel=e,this.view.domNode.setAttribute("aria-label",e)}domFocus(){this.view.domNode.focus({preventScroll:!0})}layout(e,t){this.view.layout(e,t)}setSelection(e,t){for(const i of e)if(i<0||i>=this.length)throw new Dy(this.user,`Invalid index ${i}`);this.selection.set(e,t)}getSelection(){return this.selection.get()}getSelectedElements(){return this.getSelection().map(e=>this.view.element(e))}setAnchor(e){if(typeof e>"u"){this.anchor.set([]);return}if(e<0||e>=this.length)throw new Dy(this.user,`Invalid index ${e}`);this.anchor.set([e])}getAnchor(){return zY(this.anchor.get(),void 0)}getAnchorElement(){const e=this.getAnchor();return typeof e>"u"?void 0:this.element(e)}setFocus(e,t){for(const i of e)if(i<0||i>=this.length)throw new Dy(this.user,`Invalid index ${i}`);this.focus.set(e,t)}focusNext(e=1,t=!1,i,r){if(this.length===0)return;const o=this.focus.get(),s=this.findNextIndex(o.length>0?o[0]+e:0,t,r);s>-1&&this.setFocus([s],i)}focusPrevious(e=1,t=!1,i,r){if(this.length===0)return;const o=this.focus.get(),s=this.findPreviousIndex(o.length>0?o[0]-e:0,t,r);s>-1&&this.setFocus([s],i)}async focusNextPage(e,t){let i=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);i=i===0?0:i-1;const r=this.getFocus()[0];if(r!==i&&(r===void 0||i>r)){const o=this.findPreviousIndex(i,!1,t);o>-1&&r!==o?this.setFocus([o],e):this.setFocus([i],e)}else{const o=this.view.getScrollTop();let s=o+this.view.renderHeight;i>r&&(s-=this.view.elementHeight(i)),this.view.setScrollTop(s),this.view.getScrollTop()!==o&&(this.setFocus([]),await Bv(0),await this.focusNextPage(e,t))}}async focusPreviousPage(e,t,i=()=>0){let r;const o=i(),s=this.view.getScrollTop()+o;s===0?r=this.view.indexAt(s):r=this.view.indexAfter(s-1);const a=this.getFocus()[0];if(a!==r&&(a===void 0||a>=r)){const l=this.findNextIndex(r,!1,t);l>-1&&a!==l?this.setFocus([l],e):this.setFocus([r],e)}else{const l=s;this.view.setScrollTop(s-this.view.renderHeight-o),this.view.getScrollTop()+i()!==l&&(this.setFocus([]),await Bv(0),await this.focusPreviousPage(e,t,i))}}focusLast(e,t){if(this.length===0)return;const i=this.findPreviousIndex(this.length-1,!1,t);i>-1&&this.setFocus([i],e)}focusFirst(e,t){this.focusNth(0,e,t)}focusNth(e,t,i){if(this.length===0)return;const r=this.findNextIndex(e,!1,i);r>-1&&this.setFocus([r],t)}findNextIndex(e,t=!1,i){for(let r=0;r=this.length&&!t)return-1;if(e=e%this.length,!i||i(this.element(e)))return e;e++}return-1}findPreviousIndex(e,t=!1,i){for(let r=0;rthis.view.element(e))}reveal(e,t,i=0){if(e<0||e>=this.length)throw new Dy(this.user,`Invalid index ${e}`);const r=this.view.getScrollTop(),o=this.view.elementTop(e),s=this.view.elementHeight(e);if(Rb(t)){const a=s-this.view.renderHeight+i;this.view.setScrollTop(a*al(t,0,1)+o-i)}else{const a=o+s,l=r+this.view.renderHeight;o=l||(o=l&&s>=this.view.renderHeight?this.view.setScrollTop(o-i):a>=l&&this.view.setScrollTop(a-this.view.renderHeight))}}getRelativeTop(e,t=0){if(e<0||e>=this.length)throw new Dy(this.user,`Invalid index ${e}`);const i=this.view.getScrollTop(),r=this.view.elementTop(e),o=this.view.elementHeight(e);if(ri+this.view.renderHeight)return null;const s=o-this.view.renderHeight+t;return Math.abs((i+t-r)/s)}getHTMLElement(){return this.view.domNode}getScrollableElement(){return this.view.scrollableElementDomNode}getElementID(e){return this.view.getElementDomId(e)}getElementTop(e){return this.view.elementTop(e)}style(e){this.styleController.style(e)}toListEvent({indexes:e,browserEvent:t}){return{indexes:e,elements:e.map(i=>this.view.element(i)),browserEvent:t}}_onFocusChange(){const e=this.focus.get();this.view.domNode.classList.toggle("element-focused",e.length>0),this.onDidChangeActiveDescendant()}onDidChangeActiveDescendant(){var e;const t=this.focus.get();if(t.length>0){let i;!((e=this.accessibilityProvider)===null||e===void 0)&&e.getActiveDescendantId&&(i=this.accessibilityProvider.getActiveDescendantId(this.view.element(t[0]))),this.view.domNode.setAttribute("aria-activedescendant",i||this.view.getElementDomId(t[0]))}else this.view.domNode.removeAttribute("aria-activedescendant")}_onSelectionChange(){const e=this.selection.get();this.view.domNode.classList.toggle("selection-none",e.length===0),this.view.domNode.classList.toggle("selection-single",e.length===1),this.view.domNode.classList.toggle("selection-multiple",e.length>1)}dispose(){this._onDidDispose.fire(),this.disposables.dispose(),this._onDidDispose.dispose()}}x0([io],Ju.prototype,"onDidChangeFocus",null),x0([io],Ju.prototype,"onDidChangeSelection",null),x0([io],Ju.prototype,"onContextMenu",null),x0([io],Ju.prototype,"onKeyDown",null),x0([io],Ju.prototype,"onDidFocus",null),x0([io],Ju.prototype,"onDidBlur",null);const ky=Ct,mwe="selectOption.entry.template";class Pxt{get templateId(){return mwe}renderTemplate(e){const t=Object.create(null);return t.root=e,t.text=je(e,ky(".option-text")),t.detail=je(e,ky(".option-detail")),t.decoratorRight=je(e,ky(".option-decorator-right")),t}renderElement(e,t,i){const r=i,o=e.text,s=e.detail,a=e.decoratorRight,l=e.isDisabled;r.text.textContent=o,r.detail.textContent=s||"",r.decoratorRight.innerText=a||"",l?r.root.classList.add("option-disabled"):r.root.classList.remove("option-disabled")}disposeTemplate(e){}}class Cf extends Ie{constructor(e,t,i,r,o){super(),this.options=[],this._currentSelection=0,this._hasDetails=!1,this._skipLayout=!1,this._sticky=!1,this._isVisible=!1,this.styles=r,this.selectBoxOptions=o||Object.create(null),typeof this.selectBoxOptions.minBottomMargin!="number"?this.selectBoxOptions.minBottomMargin=Cf.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN:this.selectBoxOptions.minBottomMargin<0&&(this.selectBoxOptions.minBottomMargin=0),this.selectElement=document.createElement("select"),this.selectElement.className="monaco-select-box monaco-select-box-dropdown-padding",typeof this.selectBoxOptions.ariaLabel=="string"&&this.selectElement.setAttribute("aria-label",this.selectBoxOptions.ariaLabel),typeof this.selectBoxOptions.ariaDescription=="string"&&this.selectElement.setAttribute("aria-description",this.selectBoxOptions.ariaDescription),this._onDidSelect=new be,this._register(this._onDidSelect),this.registerListeners(),this.constructSelectDropDown(i),this.selected=t||0,e&&this.setOptions(e,t),this.initStyleSheet()}setTitle(e){!this._hover&&e?this._hover=this._register(Vd(Pl("mouse"),this.selectElement,e)):this._hover&&this._hover.update(e)}getHeight(){return 22}getTemplateId(){return mwe}constructSelectDropDown(e){this.contextViewProvider=e,this.selectDropDownContainer=Ct(".monaco-select-box-dropdown-container"),this.selectDropDownContainer.classList.add("monaco-select-box-dropdown-padding"),this.selectionDetailsPane=je(this.selectDropDownContainer,ky(".select-box-details-pane"));const t=je(this.selectDropDownContainer,ky(".select-box-dropdown-container-width-control")),i=je(t,ky(".width-control-div"));this.widthControlElement=document.createElement("span"),this.widthControlElement.className="option-text-width-control",je(i,this.widthControlElement),this._dropDownPosition=0,this.styleElement=Au(this.selectDropDownContainer),this.selectDropDownContainer.setAttribute("draggable","true"),this._register(Ae(this.selectDropDownContainer,ot.DRAG_START,r=>{Vn.stop(r,!0)}))}registerListeners(){this._register(Gr(this.selectElement,"change",t=>{this.selected=t.target.selectedIndex,this._onDidSelect.fire({index:t.target.selectedIndex,selected:t.target.value}),this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)})),this._register(Ae(this.selectElement,ot.CLICK,t=>{Vn.stop(t),this._isVisible?this.hideSelectDropDown(!0):this.showSelectDropDown()})),this._register(Ae(this.selectElement,ot.MOUSE_DOWN,t=>{Vn.stop(t)}));let e;this._register(Ae(this.selectElement,"touchstart",t=>{e=this._isVisible})),this._register(Ae(this.selectElement,"touchend",t=>{Vn.stop(t),e?this.hideSelectDropDown(!0):this.showSelectDropDown()})),this._register(Ae(this.selectElement,ot.KEY_DOWN,t=>{const i=new sr(t);let r=!1;On?(i.keyCode===18||i.keyCode===16||i.keyCode===10||i.keyCode===3)&&(r=!0):(i.keyCode===18&&i.altKey||i.keyCode===16&&i.altKey||i.keyCode===10||i.keyCode===3)&&(r=!0),r&&(this.showSelectDropDown(),Vn.stop(t,!0))}))}get onDidSelect(){return this._onDidSelect.event}setOptions(e,t){kr(this.options,e)||(this.options=e,this.selectElement.options.length=0,this._hasDetails=!1,this._cachedMaxDetailsHeight=void 0,this.options.forEach((i,r)=>{this.selectElement.add(this.createOption(i.text,r,i.isDisabled)),typeof i.description=="string"&&(this._hasDetails=!0)})),t!==void 0&&(this.select(t),this._currentSelection=this.selected)}setOptionsList(){var e;(e=this.selectList)===null||e===void 0||e.splice(0,this.selectList.length,this.options)}select(e){e>=0&&ethis.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)}focus(){this.selectElement&&(this.selectElement.tabIndex=0,this.selectElement.focus())}blur(){this.selectElement&&(this.selectElement.tabIndex=-1,this.selectElement.blur())}setFocusable(e){this.selectElement.tabIndex=e?0:-1}render(e){this.container=e,e.classList.add("select-container"),e.appendChild(this.selectElement),this.styleSelectElement()}initStyleSheet(){const e=[];this.styles.listFocusBackground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { background-color: ${this.styles.listFocusBackground} !important; }`),this.styles.listFocusForeground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { color: ${this.styles.listFocusForeground} !important; }`),this.styles.decoratorRightForeground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.focused) .option-decorator-right { color: ${this.styles.decoratorRightForeground}; }`),this.styles.selectBackground&&this.styles.selectBorder&&this.styles.selectBorder!==this.styles.selectBackground?(e.push(`.monaco-select-box-dropdown-container { border: 1px solid ${this.styles.selectBorder} } `),e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectBorder} } `),e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectBorder} } `)):this.styles.selectListBorder&&(e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectListBorder} } `),e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectListBorder} } `)),this.styles.listHoverForeground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { color: ${this.styles.listHoverForeground} !important; }`),this.styles.listHoverBackground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { background-color: ${this.styles.listHoverBackground} !important; }`),this.styles.listFocusOutline&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { outline: 1.6px dotted ${this.styles.listFocusOutline} !important; outline-offset: -1.6px !important; }`),this.styles.listHoverOutline&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { outline: 1.6px dashed ${this.styles.listHoverOutline} !important; outline-offset: -1.6px !important; }`),e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled.focused { background-color: transparent !important; color: inherit !important; outline: none !important; }"),e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled:hover { background-color: transparent !important; color: inherit !important; outline: none !important; }"),this.styleElement.textContent=e.join(` -`)}styleSelectElement(){var e,t,i;const r=(e=this.styles.selectBackground)!==null&&e!==void 0?e:"",o=(t=this.styles.selectForeground)!==null&&t!==void 0?t:"",s=(i=this.styles.selectBorder)!==null&&i!==void 0?i:"";this.selectElement.style.backgroundColor=r,this.selectElement.style.color=o,this.selectElement.style.borderColor=s}styleList(){var e,t;const i=(e=this.styles.selectBackground)!==null&&e!==void 0?e:"",r=Mg(this.styles.selectListBackground,i);this.selectDropDownListContainer.style.backgroundColor=r,this.selectionDetailsPane.style.backgroundColor=r;const o=(t=this.styles.focusBorder)!==null&&t!==void 0?t:"";this.selectDropDownContainer.style.outlineColor=o,this.selectDropDownContainer.style.outlineOffset="-1px",this.selectList.style(this.styles)}createOption(e,t,i){const r=document.createElement("option");return r.value=e,r.text=e,r.disabled=!!i,r}showSelectDropDown(){this.selectionDetailsPane.innerText="",!(!this.contextViewProvider||this._isVisible)&&(this.createSelectList(this.selectDropDownContainer),this.setOptionsList(),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:e=>this.renderSelectDropDown(e,!0),layout:()=>{this.layoutSelectDropDown()},onHide:()=>{this.selectDropDownContainer.classList.remove("visible"),this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._isVisible=!0,this.hideSelectDropDown(!1),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:e=>this.renderSelectDropDown(e),layout:()=>this.layoutSelectDropDown(),onHide:()=>{this.selectDropDownContainer.classList.remove("visible"),this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._currentSelection=this.selected,this._isVisible=!0,this.selectElement.setAttribute("aria-expanded","true"))}hideSelectDropDown(e){!this.contextViewProvider||!this._isVisible||(this._isVisible=!1,this.selectElement.setAttribute("aria-expanded","false"),e&&this.selectElement.focus(),this.contextViewProvider.hideContextView())}renderSelectDropDown(e,t){return e.appendChild(this.selectDropDownContainer),this.layoutSelectDropDown(t),{dispose:()=>{try{e.removeChild(this.selectDropDownContainer)}catch{}}}}measureMaxDetailsHeight(){let e=0;return this.options.forEach((t,i)=>{this.updateDetail(i),this.selectionDetailsPane.offsetHeight>e&&(e=this.selectionDetailsPane.offsetHeight)}),e}layoutSelectDropDown(e){if(this._skipLayout)return!1;if(this.selectList){this.selectDropDownContainer.classList.add("visible");const t=Qt(this.selectElement),i=po(this.selectElement),r=Qt(this.selectElement).getComputedStyle(this.selectElement),o=parseFloat(r.getPropertyValue("--dropdown-padding-top"))+parseFloat(r.getPropertyValue("--dropdown-padding-bottom")),s=t.innerHeight-i.top-i.height-(this.selectBoxOptions.minBottomMargin||0),a=i.top-Cf.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN,l=this.selectElement.offsetWidth,u=this.setWidthControlElement(this.widthControlElement),c=Math.max(u,Math.round(l)).toString()+"px";this.selectDropDownContainer.style.width=c,this.selectList.getHTMLElement().style.height="",this.selectList.layout();let d=this.selectList.contentHeight;this._hasDetails&&this._cachedMaxDetailsHeight===void 0&&(this._cachedMaxDetailsHeight=this.measureMaxDetailsHeight());const h=this._hasDetails?this._cachedMaxDetailsHeight:0,m=d+o+h,f=Math.floor((s-o-h)/this.getHeight()),g=Math.floor((a-o-h)/this.getHeight());if(e)return i.top+i.height>t.innerHeight-22||i.topf&&this.options.length>f?(this._dropDownPosition=1,this.selectDropDownContainer.removeChild(this.selectDropDownListContainer),this.selectDropDownContainer.removeChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectionDetailsPane.classList.remove("border-top"),this.selectionDetailsPane.classList.add("border-bottom")):(this._dropDownPosition=0,this.selectDropDownContainer.removeChild(this.selectDropDownListContainer),this.selectDropDownContainer.removeChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectionDetailsPane.classList.remove("border-bottom"),this.selectionDetailsPane.classList.add("border-top")),!0);if(i.top+i.height>t.innerHeight-22||i.tops&&(d=f*this.getHeight())}else m>a&&(d=g*this.getHeight());return this.selectList.layout(d),this.selectList.domFocus(),this.selectList.length>0&&(this.selectList.setFocus([this.selected||0]),this.selectList.reveal(this.selectList.getFocus()[0]||0)),this._hasDetails?(this.selectList.getHTMLElement().style.height=d+o+"px",this.selectDropDownContainer.style.height=""):this.selectDropDownContainer.style.height=d+o+"px",this.updateDetail(this.selected),this.selectDropDownContainer.style.width=c,this.selectDropDownListContainer.setAttribute("tabindex","0"),this.selectElement.classList.add("synthetic-focus"),this.selectDropDownContainer.classList.add("synthetic-focus"),!0}else return!1}setWidthControlElement(e){let t=0;if(e){let i=0,r=0;this.options.forEach((o,s)=>{const a=o.detail?o.detail.length:0,l=o.decoratorRight?o.decoratorRight.length:0,u=o.text.length+a+l;u>r&&(i=s,r=u)}),e.textContent=this.options[i].text+(this.options[i].decoratorRight?this.options[i].decoratorRight+" ":""),t=Qa(e)}return t}createSelectList(e){if(this.selectList)return;this.selectDropDownListContainer=je(e,ky(".select-box-dropdown-list-container")),this.listRenderer=new Pxt,this.selectList=new Ju("SelectBoxCustom",this.selectDropDownListContainer,this,[this.listRenderer],{useShadows:!1,verticalScrollMode:3,keyboardSupport:!1,mouseSupport:!1,accessibilityProvider:{getAriaLabel:r=>{let o=r.text;return r.detail&&(o+=`. ${r.detail}`),r.decoratorRight&&(o+=`. ${r.decoratorRight}`),r.description&&(o+=`. ${r.description}`),o},getWidgetAriaLabel:()=>L({key:"selectBox",comment:["Behave like native select dropdown element."]},"Select Box"),getRole:()=>On?"":"option",getWidgetRole:()=>"listbox"}}),this.selectBoxOptions.ariaLabel&&(this.selectList.ariaLabel=this.selectBoxOptions.ariaLabel);const t=this._register(new Jn(this.selectDropDownListContainer,"keydown")),i=lt.chain(t.event,r=>r.filter(()=>this.selectList.length>0).map(o=>new sr(o)));this._register(lt.chain(i,r=>r.filter(o=>o.keyCode===3))(this.onEnter,this)),this._register(lt.chain(i,r=>r.filter(o=>o.keyCode===2))(this.onEnter,this)),this._register(lt.chain(i,r=>r.filter(o=>o.keyCode===9))(this.onEscape,this)),this._register(lt.chain(i,r=>r.filter(o=>o.keyCode===16))(this.onUpArrow,this)),this._register(lt.chain(i,r=>r.filter(o=>o.keyCode===18))(this.onDownArrow,this)),this._register(lt.chain(i,r=>r.filter(o=>o.keyCode===12))(this.onPageDown,this)),this._register(lt.chain(i,r=>r.filter(o=>o.keyCode===11))(this.onPageUp,this)),this._register(lt.chain(i,r=>r.filter(o=>o.keyCode===14))(this.onHome,this)),this._register(lt.chain(i,r=>r.filter(o=>o.keyCode===13))(this.onEnd,this)),this._register(lt.chain(i,r=>r.filter(o=>o.keyCode>=21&&o.keyCode<=56||o.keyCode>=85&&o.keyCode<=113))(this.onCharacter,this)),this._register(Ae(this.selectList.getHTMLElement(),ot.POINTER_UP,r=>this.onPointerUp(r))),this._register(this.selectList.onMouseOver(r=>typeof r.index<"u"&&this.selectList.setFocus([r.index]))),this._register(this.selectList.onDidChangeFocus(r=>this.onListFocus(r))),this._register(Ae(this.selectDropDownContainer,ot.FOCUS_OUT,r=>{!this._isVisible||ps(r.relatedTarget,this.selectDropDownContainer)||this.onListBlur()})),this.selectList.getHTMLElement().setAttribute("aria-label",this.selectBoxOptions.ariaLabel||""),this.selectList.getHTMLElement().setAttribute("aria-expanded","true"),this.styleList()}onPointerUp(e){if(!this.selectList.length)return;Vn.stop(e);const t=e.target;if(!t||t.classList.contains("slider"))return;const i=t.closest(".monaco-list-row");if(!i)return;const r=Number(i.getAttribute("data-index")),o=i.classList.contains("option-disabled");r>=0&&r{for(let s=0;sthis.selected+2)this.selected+=2;else{if(t)return;this.selected++}this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0])}}onUpArrow(e){this.selected>0&&(Vn.stop(e,!0),this.options[this.selected-1].isDisabled&&this.selected>1?this.selected-=2:this.selected--,this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0]))}onPageUp(e){Vn.stop(e),this.selectList.focusPreviousPage(),setTimeout(()=>{this.selected=this.selectList.getFocus()[0],this.options[this.selected].isDisabled&&this.selected{this.selected=this.selectList.getFocus()[0],this.options[this.selected].isDisabled&&this.selected>0&&(this.selected--,this.selectList.setFocus([this.selected])),this.selectList.reveal(this.selected),this.select(this.selected)},1)}onHome(e){Vn.stop(e),!(this.options.length<2)&&(this.selected=0,this.options[this.selected].isDisabled&&this.selected>1&&this.selected++,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onEnd(e){Vn.stop(e),!(this.options.length<2)&&(this.selected=this.options.length-1,this.options[this.selected].isDisabled&&this.selected>1&&this.selected--,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onCharacter(e){const t=xg.toString(e.keyCode);let i=-1;for(let r=0;r{this._register(Ae(this.selectElement,e,t=>{this.selectElement.focus()}))}),this._register(Gr(this.selectElement,"click",e=>{Vn.stop(e,!0)})),this._register(Gr(this.selectElement,"change",e=>{this.selectElement.title=e.target.value,this._onDidSelect.fire({index:e.target.selectedIndex,selected:e.target.value})})),this._register(Gr(this.selectElement,"keydown",e=>{let t=!1;On?(e.keyCode===18||e.keyCode===16||e.keyCode===10)&&(t=!0):(e.keyCode===18&&e.altKey||e.keyCode===10||e.keyCode===3)&&(t=!0),t&&e.stopPropagation()}))}get onDidSelect(){return this._onDidSelect.event}setOptions(e,t){(!this.options||!kr(this.options,e))&&(this.options=e,this.selectElement.options.length=0,this.options.forEach((i,r)=>{this.selectElement.add(this.createOption(i.text,r,i.isDisabled))})),t!==void 0&&this.select(t)}select(e){this.options.length===0?this.selected=0:e>=0&&ethis.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.selected{this.element&&this.handleActionChangeEvent(r)}))}handleActionChangeEvent(e){e.enabled!==void 0&&this.updateEnabled(),e.checked!==void 0&&this.updateChecked(),e.class!==void 0&&this.updateClass(),e.label!==void 0&&(this.updateLabel(),this.updateTooltip()),e.tooltip!==void 0&&this.updateTooltip()}get actionRunner(){return this._actionRunner||(this._actionRunner=this._register(new Kv)),this._actionRunner}set actionRunner(e){this._actionRunner=e}isEnabled(){return this._action.enabled}setActionContext(e){this._context=e}render(e){const t=this.element=e;this._register(ir.addTarget(e));const i=this.options&&this.options.draggable;i&&(e.draggable=!0,Ic&&this._register(Ae(e,ot.DRAG_START,r=>{var o;return(o=r.dataTransfer)===null||o===void 0?void 0:o.setData(WD.TEXT,this._action.label)}))),this._register(Ae(t,nr.Tap,r=>this.onClick(r,!0))),this._register(Ae(t,ot.MOUSE_DOWN,r=>{i||Vn.stop(r,!0),this._action.enabled&&r.button===0&&t.classList.add("active")})),On&&this._register(Ae(t,ot.CONTEXT_MENU,r=>{r.button===0&&r.ctrlKey===!0&&this.onClick(r)})),this._register(Ae(t,ot.CLICK,r=>{Vn.stop(r,!0),this.options&&this.options.isMenu||this.onClick(r)})),this._register(Ae(t,ot.DBLCLICK,r=>{Vn.stop(r,!0)})),[ot.MOUSE_UP,ot.MOUSE_OUT].forEach(r=>{this._register(Ae(t,r,o=>{Vn.stop(o),t.classList.remove("active")}))})}onClick(e,t=!1){var i;Vn.stop(e,!0);const r=Wu(this._context)?!((i=this.options)===null||i===void 0)&&i.useEventAsContext?e:{preserveFocus:t}:this._context;this.actionRunner.run(this._action,r)}focus(){this.element&&(this.element.tabIndex=0,this.element.focus(),this.element.classList.add("focused"))}blur(){this.element&&(this.element.blur(),this.element.tabIndex=-1,this.element.classList.remove("focused"))}setFocusable(e){this.element&&(this.element.tabIndex=e?0:-1)}get trapsArrowNavigation(){return!1}updateEnabled(){}updateLabel(){}getClass(){return this.action.class}getTooltip(){return this.action.tooltip}updateTooltip(){var e,t,i;if(!this.element)return;const r=(e=this.getTooltip())!==null&&e!==void 0?e:"";if(this.updateAriaLabel(),!((t=this.options.hoverDelegate)===null||t===void 0)&&t.showNativeHover)this.element.title=r;else if(!this.customHover&&r!==""){const o=(i=this.options.hoverDelegate)!==null&&i!==void 0?i:Pl("element");this.customHover=this._store.add(Vd(o,this.element,r))}else this.customHover&&this.customHover.update(r)}updateAriaLabel(){var e;if(this.element){const t=(e=this.getTooltip())!==null&&e!==void 0?e:"";this.element.setAttribute("aria-label",t)}}updateClass(){}updateChecked(){}dispose(){this.element&&(this.element.remove(),this.element=void 0),this._context=void 0,super.dispose()}}class k2 extends Uh{constructor(e,t,i){super(e,t,i),this.options=i,this.options.icon=i.icon!==void 0?i.icon:!1,this.options.label=i.label!==void 0?i.label:!0,this.cssClass=""}render(e){super.render(e),hi(this.element);const t=document.createElement("a");if(t.classList.add("action-label"),t.setAttribute("role",this.getDefaultAriaRole()),this.label=t,this.element.appendChild(t),this.options.label&&this.options.keybinding){const i=document.createElement("span");i.classList.add("keybinding"),i.textContent=this.options.keybinding,this.element.appendChild(i)}this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked()}getDefaultAriaRole(){return this._action.id===Vo.ID?"presentation":this.options.isMenu?"menuitem":"button"}focus(){this.label&&(this.label.tabIndex=0,this.label.focus())}blur(){this.label&&(this.label.tabIndex=-1)}setFocusable(e){this.label&&(this.label.tabIndex=e?0:-1)}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this.action.label)}getTooltip(){let e=null;return this.action.tooltip?e=this.action.tooltip:!this.options.label&&this.action.label&&this.options.icon&&(e=this.action.label,this.options.keybinding&&(e=L({key:"titleLabel",comment:["action title","action keybinding"]},"{0} ({1})",e,this.options.keybinding))),e??void 0}updateClass(){var e;this.cssClass&&this.label&&this.label.classList.remove(...this.cssClass.split(" ")),this.options.icon?(this.cssClass=this.getClass(),this.label&&(this.label.classList.add("codicon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" "))),this.updateEnabled()):(e=this.label)===null||e===void 0||e.classList.remove("codicon")}updateEnabled(){var e,t;this.action.enabled?(this.label&&(this.label.removeAttribute("aria-disabled"),this.label.classList.remove("disabled")),(e=this.element)===null||e===void 0||e.classList.remove("disabled")):(this.label&&(this.label.setAttribute("aria-disabled","true"),this.label.classList.add("disabled")),(t=this.element)===null||t===void 0||t.classList.add("disabled"))}updateAriaLabel(){var e;if(this.label){const t=(e=this.getTooltip())!==null&&e!==void 0?e:"";this.label.setAttribute("aria-label",t)}}updateChecked(){this.label&&(this.action.checked!==void 0?(this.label.classList.toggle("checked",this.action.checked),this.label.setAttribute("aria-checked",this.action.checked?"true":"false"),this.label.setAttribute("role","checkbox")):(this.label.classList.remove("checked"),this.label.removeAttribute("aria-checked"),this.label.setAttribute("role",this.getDefaultAriaRole())))}}class zxt extends Uh{constructor(e,t,i,r,o,s,a){super(e,t),this.selectBox=new Bxt(i,r,o,s,a),this.selectBox.setFocusable(!1),this._register(this.selectBox),this.registerListeners()}select(e){this.selectBox.select(e)}registerListeners(){this._register(this.selectBox.onDidSelect(e=>this.runAction(e.selected,e.index)))}runAction(e,t){this.actionRunner.run(this._action,this.getActionContext(e,t))}getActionContext(e,t){return e}setFocusable(e){this.selectBox.setFocusable(e)}focus(){var e;(e=this.selectBox)===null||e===void 0||e.focus()}blur(){var e;(e=this.selectBox)===null||e===void 0||e.blur()}render(e){this.selectBox.render(e)}}class Kc extends Ie{constructor(e,t={}){var i,r,o,s,a,l,u;super(),this._actionRunnerDisposables=this._register(new Je),this.viewItemDisposables=this._register(new AH),this.triggerKeyDown=!1,this.focusable=!0,this._onDidBlur=this._register(new be),this.onDidBlur=this._onDidBlur.event,this._onDidCancel=this._register(new be({onWillAddFirstListener:()=>this.cancelHasListener=!0})),this.onDidCancel=this._onDidCancel.event,this.cancelHasListener=!1,this._onDidRun=this._register(new be),this.onDidRun=this._onDidRun.event,this._onWillRun=this._register(new be),this.onWillRun=this._onWillRun.event,this.options=t,this._context=(i=t.context)!==null&&i!==void 0?i:null,this._orientation=(r=this.options.orientation)!==null&&r!==void 0?r:0,this._triggerKeys={keyDown:(s=(o=this.options.triggerKeys)===null||o===void 0?void 0:o.keyDown)!==null&&s!==void 0?s:!1,keys:(l=(a=this.options.triggerKeys)===null||a===void 0?void 0:a.keys)!==null&&l!==void 0?l:[3,10]},this._hoverDelegate=(u=t.hoverDelegate)!==null&&u!==void 0?u:this._register(F2()),this.options.actionRunner?this._actionRunner=this.options.actionRunner:(this._actionRunner=new Kv,this._actionRunnerDisposables.add(this._actionRunner)),this._actionRunnerDisposables.add(this._actionRunner.onDidRun(h=>this._onDidRun.fire(h))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun(h=>this._onWillRun.fire(h))),this.viewItems=[],this.focusedItem=void 0,this.domNode=document.createElement("div"),this.domNode.className="monaco-action-bar";let c,d;switch(this._orientation){case 0:c=[15],d=[17];break;case 1:c=[16],d=[18],this.domNode.className+=" vertical";break}this._register(Ae(this.domNode,ot.KEY_DOWN,h=>{const m=new sr(h);let f=!0;const g=typeof this.focusedItem=="number"?this.viewItems[this.focusedItem]:void 0;c&&(m.equals(c[0])||m.equals(c[1]))?f=this.focusPrevious():d&&(m.equals(d[0])||m.equals(d[1]))?f=this.focusNext():m.equals(9)&&this.cancelHasListener?this._onDidCancel.fire():m.equals(14)?f=this.focusFirst():m.equals(13)?f=this.focusLast():m.equals(2)&&g instanceof Uh&&g.trapsArrowNavigation?f=this.focusNext():this.isTriggerKeyEvent(m)?this._triggerKeys.keyDown?this.doTrigger(m):this.triggerKeyDown=!0:f=!1,f&&(m.preventDefault(),m.stopPropagation())})),this._register(Ae(this.domNode,ot.KEY_UP,h=>{const m=new sr(h);this.isTriggerKeyEvent(m)?(!this._triggerKeys.keyDown&&this.triggerKeyDown&&(this.triggerKeyDown=!1,this.doTrigger(m)),m.preventDefault(),m.stopPropagation()):(m.equals(2)||m.equals(1026)||m.equals(16)||m.equals(18)||m.equals(15)||m.equals(17))&&this.updateFocusedItem()})),this.focusTracker=this._register(Dh(this.domNode)),this._register(this.focusTracker.onDidBlur(()=>{(js()===this.domNode||!ps(js(),this.domNode))&&(this._onDidBlur.fire(),this.previouslyFocusedItem=this.focusedItem,this.focusedItem=void 0,this.triggerKeyDown=!1)})),this._register(this.focusTracker.onDidFocus(()=>this.updateFocusedItem())),this.actionsList=document.createElement("ul"),this.actionsList.className="actions-container",this.options.highlightToggledItems&&this.actionsList.classList.add("highlight-toggled"),this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"),this.options.ariaLabel&&this.actionsList.setAttribute("aria-label",this.options.ariaLabel),this.domNode.appendChild(this.actionsList),e.appendChild(this.domNode)}refreshRole(){this.length()>=1?this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"):this.actionsList.setAttribute("role","presentation")}setFocusable(e){if(this.focusable=e,this.focusable){const t=this.viewItems.find(i=>i instanceof Uh&&i.isEnabled());t instanceof Uh&&t.setFocusable(!0)}else this.viewItems.forEach(t=>{t instanceof Uh&&t.setFocusable(!1)})}isTriggerKeyEvent(e){let t=!1;return this._triggerKeys.keys.forEach(i=>{t=t||e.equals(i)}),t}updateFocusedItem(){var e,t;for(let i=0;it.setActionContext(e))}get actionRunner(){return this._actionRunner}set actionRunner(e){this._actionRunner=e,this._actionRunnerDisposables.clear(),this._actionRunnerDisposables.add(this._actionRunner.onDidRun(t=>this._onDidRun.fire(t))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun(t=>this._onWillRun.fire(t))),this.viewItems.forEach(t=>t.actionRunner=e)}getContainer(){return this.domNode}getAction(e){var t;if(typeof e=="number")return(t=this.viewItems[e])===null||t===void 0?void 0:t.action;if(e instanceof HTMLElement){for(;e.parentElement!==this.actionsList;){if(!e.parentElement)return;e=e.parentElement}for(let i=0;i{const s=document.createElement("li");s.className="action-item",s.setAttribute("role","presentation");let a;const l={hoverDelegate:this._hoverDelegate,...t};this.options.actionViewItemProvider&&(a=this.options.actionViewItemProvider(o,l)),a||(a=new k2(this.context,o,l)),this.options.allowContextMenu||this.viewItemDisposables.set(a,Ae(s,ot.CONTEXT_MENU,u=>{Vn.stop(u,!0)})),a.actionRunner=this._actionRunner,a.setActionContext(this.context),a.render(s),this.focusable&&a instanceof Uh&&this.viewItems.length===0&&a.setFocusable(!0),r===null||r<0||r>=this.actionsList.children.length?(this.actionsList.appendChild(s),this.viewItems.push(a)):(this.actionsList.insertBefore(s,this.actionsList.children[r]),this.viewItems.splice(r,0,a),r++)}),typeof this.focusedItem=="number"&&this.focus(this.focusedItem),this.refreshRole()}clear(){this.isEmpty()||(this.viewItems=er(this.viewItems),this.viewItemDisposables.clearAndDisposeAll(),ma(this.actionsList),this.refreshRole())}length(){return this.viewItems.length}isEmpty(){return this.viewItems.length===0}focus(e){let t=!1,i;if(e===void 0?t=!0:typeof e=="number"?i=e:typeof e=="boolean"&&(t=e),t&&typeof this.focusedItem>"u"){const r=this.viewItems.findIndex(o=>o.isEnabled());this.focusedItem=r===-1?void 0:r,this.updateFocus(void 0,void 0,!0)}else i!==void 0&&(this.focusedItem=i),this.updateFocus(void 0,void 0,!0)}focusFirst(){return this.focusedItem=this.length()-1,this.focusNext(!0)}focusLast(){return this.focusedItem=0,this.focusPrevious(!0)}focusNext(e){if(typeof this.focusedItem>"u")this.focusedItem=this.viewItems.length-1;else if(this.viewItems.length<=1)return!1;const t=this.focusedItem;let i;do{if(!e&&this.options.preventLoopNavigation&&this.focusedItem+1>=this.viewItems.length)return this.focusedItem=t,!1;this.focusedItem=(this.focusedItem+1)%this.viewItems.length,i=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&(this.options.focusOnlyEnabledItems&&!i.isEnabled()||i.action.id===Vo.ID));return this.updateFocus(),!0}focusPrevious(e){if(typeof this.focusedItem>"u")this.focusedItem=0;else if(this.viewItems.length<=1)return!1;const t=this.focusedItem;let i;do{if(this.focusedItem=this.focusedItem-1,this.focusedItem<0){if(!e&&this.options.preventLoopNavigation)return this.focusedItem=t,!1;this.focusedItem=this.viewItems.length-1}i=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&(this.options.focusOnlyEnabledItems&&!i.isEnabled()||i.action.id===Vo.ID));return this.updateFocus(!0),!0}updateFocus(e,t,i=!1){var r,o;typeof this.focusedItem>"u"&&this.actionsList.focus({preventScroll:t}),this.previouslyFocusedItem!==void 0&&this.previouslyFocusedItem!==this.focusedItem&&((r=this.viewItems[this.previouslyFocusedItem])===null||r===void 0||r.blur());const s=this.focusedItem!==void 0?this.viewItems[this.focusedItem]:void 0;if(s){let a=!0;kZ(s.focus)||(a=!1),this.options.focusOnlyEnabledItems&&kZ(s.isEnabled)&&!s.isEnabled()&&(a=!1),s.action.id===Vo.ID&&(a=!1),a?(i||this.previouslyFocusedItem!==this.focusedItem)&&(s.focus(e),this.previouslyFocusedItem=this.focusedItem):(this.actionsList.focus({preventScroll:t}),this.previouslyFocusedItem=void 0),a&&((o=s.showHover)===null||o===void 0||o.call(s))}}doTrigger(e){if(typeof this.focusedItem>"u")return;const t=this.viewItems[this.focusedItem];if(t instanceof Uh){const i=t._context===null||t._context===void 0?e:t._context;this.run(t._action,i)}}async run(e,t){await this._actionRunner.run(e,t)}dispose(){this._context=void 0,this.viewItems=er(this.viewItems),this.getContainer().remove(),super.dispose()}}function bU(){return cY&&!!cY.VSCODE_DEV}function fwe(n){if(bU()){const e=Hxt();return e.add(n),{dispose(){e.delete(n)}}}else return{dispose(){}}}function Hxt(){vR||(vR=new Set);const n=globalThis;return n.$hotReload_applyNewExports||(n.$hotReload_applyNewExports=e=>{const t={config:{mode:void 0},...e};for(const i of vR){const r=i(t);if(r)return r}}),vR}let vR;bU()&&fwe(({oldExports:n,newSrc:e,config:t})=>{if(t.mode==="patch-prototype")return i=>{var r,o;for(const s in i){const a=i[s];if(typeof a=="function"&&a.prototype){const l=n[s];if(l){for(const u of Object.getOwnPropertyNames(a.prototype)){const c=Object.getOwnPropertyDescriptor(a.prototype,u),d=Object.getOwnPropertyDescriptor(l.prototype,u);(r=c==null?void 0:c.value)===null||r===void 0||r.toString(),(o=d==null?void 0:d.value)===null||o===void 0||o.toString(),Object.defineProperty(l.prototype,u,c)}i[s]=l}}}return!0}});function Yxt(n,e,t,i){if(n.length===0)return e;if(e.length===0)return n;const r=[];let o=0,s=0;for(;oc?(r.push(l),s++):(r.push(i(a,l)),o++,s++)}for(;o`Apply decorations from ${e.debugName}`},r=>{const o=e.read(r);i.set(o)})),t.add({dispose:()=>{i.clear()}}),t}function BD(n,e){return n.appendChild(e),jt(()=>{n.removeChild(e)})}function Uxt(n,e){return n.prepend(e),jt(()=>{n.removeChild(e)})}class gwe extends Ie{get width(){return this._width}get height(){return this._height}constructor(e,t){super(),this.elementSizeObserver=this._register(new K1e(e,t)),this._width=ei(this,this.elementSizeObserver.getWidth()),this._height=ei(this,this.elementSizeObserver.getHeight()),this._register(this.elementSizeObserver.onDidChange(i=>zi(r=>{this._width.set(this.elementSizeObserver.getWidth(),r),this._height.set(this.elementSizeObserver.getHeight(),r)})))}observe(e){this.elementSizeObserver.observe(e)}setAutomaticLayout(e){e?this.elementSizeObserver.startObserving():this.elementSizeObserver.stopObserving()}}function pwe(n,e,t){let i=e.get(),r=i,o=i;const s=ei("animatedValue",i);let a=-1;const l=300;let u;t.add(ED({createEmptyChangeSummary:()=>({animate:!1}),handleChange:(d,h)=>(d.didChange(e)&&(h.animate=h.animate||d.change),!0)},(d,h)=>{u!==void 0&&(n.cancelAnimationFrame(u),u=void 0),r=o,i=e.read(d),a=Date.now()-(h.animate?0:l),c()}));function c(){const d=Date.now()-a;o=Math.floor(Kxt(d,r,i-r,l)),d{this._actualTop.set(i,void 0)},this.onComputedHeight=i=>{this._actualHeight.set(i,void 0)}}}class wR{constructor(e,t){this._editor=e,this._domElement=t,this._overlayWidgetId=`managedOverlayWidget-${wR._counter++}`,this._overlayWidget={getId:()=>this._overlayWidgetId,getDomNode:()=>this._domElement,getPosition:()=>null},this._editor.addOverlayWidget(this._overlayWidget)}dispose(){this._editor.removeOverlayWidget(this._overlayWidget)}}wR._counter=0;function dp(n,e){return Zn(t=>{for(let[i,r]of Object.entries(e))r&&typeof r=="object"&&"read"in r&&(r=r.read(t)),typeof r=="number"&&(r=`${r}px`),i=i.replace(/[A-Z]/g,o=>"-"+o.toLowerCase()),n.style[i]=r})}function Ad(n,e){return Jxt([n],e),n}function Jxt(n,e){bU()&&ba("reload",i=>fwe(({oldExports:r})=>{if([...Object.values(r)].some(o=>n.includes(o)))return o=>(i(void 0),!0)})).read(e)}function SR(n,e,t,i){const r=new Je,o=[];return r.add(Yc((s,a)=>{const l=e.read(s),u=new Map,c=new Map;t&&t(!0),n.changeViewZones(d=>{for(const h of o)d.removeZone(h),i==null||i.delete(h);o.length=0;for(const h of l){const m=d.addZone(h);h.setZoneId&&h.setZoneId(m),o.push(m),i==null||i.add(m),u.set(h,m)}}),t&&t(!1),a.add(ED({createEmptyChangeSummary(){return{zoneIds:[]}},handleChange(d,h){const m=c.get(d.changedObservable);return m!==void 0&&h.zoneIds.push(m),!0}},(d,h)=>{for(const m of l)m.onChange&&(c.set(m.onChange,u.get(m)),m.onChange.read(d));t&&t(!0),n.changeViewZones(m=>{for(const f of h.zoneIds)m.layoutZone(f)}),t&&t(!1)}))})),r.add({dispose(){t&&t(!0),n.changeViewZones(s=>{for(const a of o)s.removeZone(a)}),i==null||i.clear(),t&&t(!1)}}),r}class jxt extends fo{dispose(){super.dispose(!0)}}function vwe(n,e){const t=IW(e,r=>r.original.startLineNumber<=n.lineNumber);if(!t)return J.fromPositions(n);if(t.original.endLineNumberExclusive<=n.lineNumber){const r=n.lineNumber-t.original.endLineNumberExclusive+t.modified.endLineNumberExclusive;return J.fromPositions(new ye(r,n.column))}if(!t.innerChanges)return J.fromPositions(new ye(t.modified.startLineNumber,1));const i=IW(t.innerChanges,r=>r.originalRange.getStartPosition().isBeforeOrEqual(n));if(!i){const r=n.lineNumber-t.original.startLineNumber+t.modified.startLineNumber;return J.fromPositions(new ye(r,n.column))}if(i.originalRange.containsPosition(n))return i.modifiedRange;{const r=Qxt(i.originalRange.getEndPosition(),n);return J.fromPositions(r.addToPosition(i.modifiedRange.getEndPosition()))}}function Qxt(n,e){return n.lineNumber===e.lineNumber?new Rd(0,e.column-n.column):new Rd(e.lineNumber-n.lineNumber,e.column-1)}function hp(n,e,t){const i=n.bindTo(e);return rR({debugName:()=>`Set Context Key "${n.key}"`},r=>{i.set(t(r))})}function $xt(n,e){let t;return n.filter(i=>{const r=e(i,t);return t=i,r})}class ll{static inverse(e,t,i){const r=[];let o=1,s=1;for(const l of e){const u=new ll(new dn(o,l.original.startLineNumber),new dn(s,l.modified.startLineNumber));u.modified.isEmpty||r.push(u),o=l.original.endLineNumberExclusive,s=l.modified.endLineNumberExclusive}const a=new ll(new dn(o,t+1),new dn(s,i+1));return a.modified.isEmpty||r.push(a),r}static clip(e,t,i){const r=[];for(const o of e){const s=o.original.intersect(t),a=o.modified.intersect(i);s&&!s.isEmpty&&a&&!a.isEmpty&&r.push(new ll(s,a))}return r}constructor(e,t){this.original=e,this.modified=t}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new ll(this.modified,this.original)}join(e){return new ll(this.original.join(e.original),this.modified.join(e.modified))}}class ju extends ll{static fromRangeMappings(e){const t=dn.join(e.map(r=>dn.fromRangeInclusive(r.originalRange))),i=dn.join(e.map(r=>dn.fromRangeInclusive(r.modifiedRange)));return new ju(t,i,e)}constructor(e,t,i){super(e,t),this.innerChanges=i}flip(){var e;return new ju(this.modified,this.original,(e=this.innerChanges)===null||e===void 0?void 0:e.map(t=>t.flip()))}withInnerChangesFromLineRanges(){return new ju(this.original,this.modified,[new mp(this.original.toExclusiveRange(),this.modified.toExclusiveRange())])}}class mp{constructor(e,t){this.originalRange=e,this.modifiedRange=t}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new mp(this.modifiedRange,this.originalRange)}}const _0=Un("accessibilitySignalService");class cn{static register(e){return new cn(e.fileName)}constructor(e){this.fileName=e}}cn.error=cn.register({fileName:"error.mp3"}),cn.warning=cn.register({fileName:"warning.mp3"}),cn.foldedArea=cn.register({fileName:"foldedAreas.mp3"}),cn.break=cn.register({fileName:"break.mp3"}),cn.quickFixes=cn.register({fileName:"quickFixes.mp3"}),cn.taskCompleted=cn.register({fileName:"taskCompleted.mp3"}),cn.taskFailed=cn.register({fileName:"taskFailed.mp3"}),cn.terminalBell=cn.register({fileName:"terminalBell.mp3"}),cn.diffLineInserted=cn.register({fileName:"diffLineInserted.mp3"}),cn.diffLineDeleted=cn.register({fileName:"diffLineDeleted.mp3"}),cn.diffLineModified=cn.register({fileName:"diffLineModified.mp3"}),cn.chatRequestSent=cn.register({fileName:"chatRequestSent.mp3"}),cn.chatResponsePending=cn.register({fileName:"chatResponsePending.mp3"}),cn.chatResponseReceived1=cn.register({fileName:"chatResponseReceived1.mp3"}),cn.chatResponseReceived2=cn.register({fileName:"chatResponseReceived2.mp3"}),cn.chatResponseReceived3=cn.register({fileName:"chatResponseReceived3.mp3"}),cn.chatResponseReceived4=cn.register({fileName:"chatResponseReceived4.mp3"}),cn.clear=cn.register({fileName:"clear.mp3"}),cn.save=cn.register({fileName:"save.mp3"}),cn.format=cn.register({fileName:"format.mp3"}),cn.voiceRecordingStarted=cn.register({fileName:"voiceRecordingStarted.mp3"}),cn.voiceRecordingStopped=cn.register({fileName:"voiceRecordingStopped.mp3"});class qxt{constructor(e){this.randomOneOf=e}}class xn{static register(e){const t=new qxt("randomOneOf"in e.sound?e.sound.randomOneOf:[e.sound]),i=new xn(t,e.name,e.legacySoundSettingsKey,e.settingsKey,e.legacyAnnouncementSettingsKey,e.announcementMessage);return xn._signals.add(i),i}constructor(e,t,i,r,o,s){this.sound=e,this.name=t,this.legacySoundSettingsKey=i,this.settingsKey=r,this.legacyAnnouncementSettingsKey=o,this.announcementMessage=s}}xn._signals=new Set,xn.error=xn.register({name:L("accessibilitySignals.lineHasError.name","Error on Line"),sound:cn.error,legacySoundSettingsKey:"audioCues.lineHasError",legacyAnnouncementSettingsKey:"accessibility.alert.error",announcementMessage:L("accessibility.signals.lineHasError","Error"),settingsKey:"accessibility.signals.lineHasError"}),xn.warning=xn.register({name:L("accessibilitySignals.lineHasWarning.name","Warning on Line"),sound:cn.warning,legacySoundSettingsKey:"audioCues.lineHasWarning",legacyAnnouncementSettingsKey:"accessibility.alert.warning",announcementMessage:L("accessibility.signals.lineHasWarning","Warning"),settingsKey:"accessibility.signals.lineHasWarning"}),xn.foldedArea=xn.register({name:L("accessibilitySignals.lineHasFoldedArea.name","Folded Area on Line"),sound:cn.foldedArea,legacySoundSettingsKey:"audioCues.lineHasFoldedArea",legacyAnnouncementSettingsKey:"accessibility.alert.foldedArea",announcementMessage:L("accessibility.signals.lineHasFoldedArea","Folded"),settingsKey:"accessibility.signals.lineHasFoldedArea"}),xn.break=xn.register({name:L("accessibilitySignals.lineHasBreakpoint.name","Breakpoint on Line"),sound:cn.break,legacySoundSettingsKey:"audioCues.lineHasBreakpoint",legacyAnnouncementSettingsKey:"accessibility.alert.breakpoint",announcementMessage:L("accessibility.signals.lineHasBreakpoint","Breakpoint"),settingsKey:"accessibility.signals.lineHasBreakpoint"}),xn.inlineSuggestion=xn.register({name:L("accessibilitySignals.lineHasInlineSuggestion.name","Inline Suggestion on Line"),sound:cn.quickFixes,legacySoundSettingsKey:"audioCues.lineHasInlineSuggestion",settingsKey:"accessibility.signals.lineHasInlineSuggestion"}),xn.terminalQuickFix=xn.register({name:L("accessibilitySignals.terminalQuickFix.name","Terminal Quick Fix"),sound:cn.quickFixes,legacySoundSettingsKey:"audioCues.terminalQuickFix",legacyAnnouncementSettingsKey:"accessibility.alert.terminalQuickFix",announcementMessage:L("accessibility.signals.terminalQuickFix","Quick Fix"),settingsKey:"accessibility.signals.terminalQuickFix"}),xn.onDebugBreak=xn.register({name:L("accessibilitySignals.onDebugBreak.name","Debugger Stopped on Breakpoint"),sound:cn.break,legacySoundSettingsKey:"audioCues.onDebugBreak",legacyAnnouncementSettingsKey:"accessibility.alert.onDebugBreak",announcementMessage:L("accessibility.signals.onDebugBreak","Breakpoint"),settingsKey:"accessibility.signals.onDebugBreak"}),xn.noInlayHints=xn.register({name:L("accessibilitySignals.noInlayHints","No Inlay Hints on Line"),sound:cn.error,legacySoundSettingsKey:"audioCues.noInlayHints",legacyAnnouncementSettingsKey:"accessibility.alert.noInlayHints",announcementMessage:L("accessibility.signals.noInlayHints","No Inlay Hints"),settingsKey:"accessibility.signals.noInlayHints"}),xn.taskCompleted=xn.register({name:L("accessibilitySignals.taskCompleted","Task Completed"),sound:cn.taskCompleted,legacySoundSettingsKey:"audioCues.taskCompleted",legacyAnnouncementSettingsKey:"accessibility.alert.taskCompleted",announcementMessage:L("accessibility.signals.taskCompleted","Task Completed"),settingsKey:"accessibility.signals.taskCompleted"}),xn.taskFailed=xn.register({name:L("accessibilitySignals.taskFailed","Task Failed"),sound:cn.taskFailed,legacySoundSettingsKey:"audioCues.taskFailed",legacyAnnouncementSettingsKey:"accessibility.alert.taskFailed",announcementMessage:L("accessibility.signals.taskFailed","Task Failed"),settingsKey:"accessibility.signals.taskFailed"}),xn.terminalCommandFailed=xn.register({name:L("accessibilitySignals.terminalCommandFailed","Terminal Command Failed"),sound:cn.error,legacySoundSettingsKey:"audioCues.terminalCommandFailed",legacyAnnouncementSettingsKey:"accessibility.alert.terminalCommandFailed",announcementMessage:L("accessibility.signals.terminalCommandFailed","Command Failed"),settingsKey:"accessibility.signals.terminalCommandFailed"}),xn.terminalBell=xn.register({name:L("accessibilitySignals.terminalBell","Terminal Bell"),sound:cn.terminalBell,legacySoundSettingsKey:"audioCues.terminalBell",legacyAnnouncementSettingsKey:"accessibility.alert.terminalBell",announcementMessage:L("accessibility.signals.terminalBell","Terminal Bell"),settingsKey:"accessibility.signals.terminalBell"}),xn.notebookCellCompleted=xn.register({name:L("accessibilitySignals.notebookCellCompleted","Notebook Cell Completed"),sound:cn.taskCompleted,legacySoundSettingsKey:"audioCues.notebookCellCompleted",legacyAnnouncementSettingsKey:"accessibility.alert.notebookCellCompleted",announcementMessage:L("accessibility.signals.notebookCellCompleted","Notebook Cell Completed"),settingsKey:"accessibility.signals.notebookCellCompleted"}),xn.notebookCellFailed=xn.register({name:L("accessibilitySignals.notebookCellFailed","Notebook Cell Failed"),sound:cn.taskFailed,legacySoundSettingsKey:"audioCues.notebookCellFailed",legacyAnnouncementSettingsKey:"accessibility.alert.notebookCellFailed",announcementMessage:L("accessibility.signals.notebookCellFailed","Notebook Cell Failed"),settingsKey:"accessibility.signals.notebookCellFailed"}),xn.diffLineInserted=xn.register({name:L("accessibilitySignals.diffLineInserted","Diff Line Inserted"),sound:cn.diffLineInserted,legacySoundSettingsKey:"audioCues.diffLineInserted",settingsKey:"accessibility.signals.diffLineInserted"}),xn.diffLineDeleted=xn.register({name:L("accessibilitySignals.diffLineDeleted","Diff Line Deleted"),sound:cn.diffLineDeleted,legacySoundSettingsKey:"audioCues.diffLineDeleted",settingsKey:"accessibility.signals.diffLineDeleted"}),xn.diffLineModified=xn.register({name:L("accessibilitySignals.diffLineModified","Diff Line Modified"),sound:cn.diffLineModified,legacySoundSettingsKey:"audioCues.diffLineModified",settingsKey:"accessibility.signals.diffLineModified"}),xn.chatRequestSent=xn.register({name:L("accessibilitySignals.chatRequestSent","Chat Request Sent"),sound:cn.chatRequestSent,legacySoundSettingsKey:"audioCues.chatRequestSent",legacyAnnouncementSettingsKey:"accessibility.alert.chatRequestSent",announcementMessage:L("accessibility.signals.chatRequestSent","Chat Request Sent"),settingsKey:"accessibility.signals.chatRequestSent"}),xn.chatResponseReceived=xn.register({name:L("accessibilitySignals.chatResponseReceived","Chat Response Received"),legacySoundSettingsKey:"audioCues.chatResponseReceived",sound:{randomOneOf:[cn.chatResponseReceived1,cn.chatResponseReceived2,cn.chatResponseReceived3,cn.chatResponseReceived4]},settingsKey:"accessibility.signals.chatResponseReceived"}),xn.chatResponsePending=xn.register({name:L("accessibilitySignals.chatResponsePending","Chat Response Pending"),sound:cn.chatResponsePending,legacySoundSettingsKey:"audioCues.chatResponsePending",legacyAnnouncementSettingsKey:"accessibility.alert.chatResponsePending",announcementMessage:L("accessibility.signals.chatResponsePending","Chat Response Pending"),settingsKey:"accessibility.signals.chatResponsePending"}),xn.clear=xn.register({name:L("accessibilitySignals.clear","Clear"),sound:cn.clear,legacySoundSettingsKey:"audioCues.clear",legacyAnnouncementSettingsKey:"accessibility.alert.clear",announcementMessage:L("accessibility.signals.clear","Clear"),settingsKey:"accessibility.signals.clear"}),xn.save=xn.register({name:L("accessibilitySignals.save","Save"),sound:cn.save,legacySoundSettingsKey:"audioCues.save",legacyAnnouncementSettingsKey:"accessibility.alert.save",announcementMessage:L("accessibility.signals.save","Save"),settingsKey:"accessibility.signals.save"}),xn.format=xn.register({name:L("accessibilitySignals.format","Format"),sound:cn.format,legacySoundSettingsKey:"audioCues.format",legacyAnnouncementSettingsKey:"accessibility.alert.format",announcementMessage:L("accessibility.signals.format","Format"),settingsKey:"accessibility.signals.format"}),xn.voiceRecordingStarted=xn.register({name:L("accessibilitySignals.voiceRecordingStarted","Voice Recording Started"),sound:cn.voiceRecordingStarted,legacySoundSettingsKey:"audioCues.voiceRecordingStarted",settingsKey:"accessibility.signals.voiceRecordingStarted"}),xn.voiceRecordingStopped=xn.register({name:L("accessibilitySignals.voiceRecordingStopped","Voice Recording Stopped"),sound:cn.voiceRecordingStopped,legacySoundSettingsKey:"audioCues.voiceRecordingStopped",settingsKey:"accessibility.signals.voiceRecordingStopped"});const eLt={IconContribution:"base.contributions.icons"};var ywe;(function(n){function e(t,i){let r=t.defaults;for(;sn.isThemeIcon(r);){const o=Ny.getIcon(r.id);if(!o)return;r=o.defaults}return r}n.getDefinition=e})(ywe||(ywe={}));var Cwe;(function(n){function e(i){return{weight:i.weight,style:i.style,src:i.src.map(r=>({format:r.format,location:r.location.toString()}))}}n.toJSONObject=e;function t(i){const r=o=>Ml(o)?o:void 0;if(i&&Array.isArray(i.src)&&i.src.every(o=>Ml(o.format)&&Ml(o.location)))return{weight:r(i.weight),style:r(i.style),src:i.src.map(o=>({format:o.format,location:en.parse(o.location)}))}}n.fromJSONObject=t})(Cwe||(Cwe={}));class tLt{constructor(){this._onDidChange=new be,this.onDidChange=this._onDidChange.event,this.iconSchema={definitions:{icons:{type:"object",properties:{fontId:{type:"string",description:L("iconDefinition.fontId","The id of the font to use. If not set, the font that is defined first is used.")},fontCharacter:{type:"string",description:L("iconDefinition.fontCharacter","The font character associated with the icon definition.")}},additionalProperties:!1,defaultSnippets:[{body:{fontCharacter:"\\\\e030"}}]}},type:"object",properties:{}},this.iconReferenceSchema={type:"string",pattern:`^${sn.iconNameExpression}$`,enum:[],enumDescriptions:[]},this.iconsById={},this.iconFontsById={}}registerIcon(e,t,i,r){const o=this.iconsById[e];if(o){if(i&&!o.description){o.description=i,this.iconSchema.properties[e].markdownDescription=`${i} $(${e})`;const l=this.iconReferenceSchema.enum.indexOf(e);l!==-1&&(this.iconReferenceSchema.enumDescriptions[l]=i),this._onDidChange.fire()}return o}const s={id:e,description:i,defaults:t,deprecationMessage:r};this.iconsById[e]=s;const a={$ref:"#/definitions/icons"};return r&&(a.deprecationMessage=r),i&&(a.markdownDescription=`${i}: $(${e})`),this.iconSchema.properties[e]=a,this.iconReferenceSchema.enum.push(e),this.iconReferenceSchema.enumDescriptions.push(i||""),this._onDidChange.fire(),{id:e}}getIcons(){return Object.keys(this.iconsById).map(e=>this.iconsById[e])}getIcon(e){return this.iconsById[e]}getIconSchema(){return this.iconSchema}toString(){const e=(o,s)=>o.id.localeCompare(s.id),t=o=>{for(;sn.isThemeIcon(o.defaults);)o=this.iconsById[o.defaults.id];return`codicon codicon-${o?o.id:""}`},i=[];i.push("| preview | identifier | default codicon ID | description"),i.push("| ----------- | --------------------------------- | --------------------------------- | --------------------------------- |");const r=Object.keys(this.iconsById).map(o=>this.iconsById[o]);for(const o of r.filter(s=>!!s.description).sort(e))i.push(`||${o.id}|${sn.isThemeIcon(o.defaults)?o.defaults.id:o.id}|${o.description||""}|`);i.push("| preview | identifier "),i.push("| ----------- | --------------------------------- |");for(const o of r.filter(s=>!sn.isThemeIcon(s.defaults)).sort(e))i.push(`||${o.id}|`);return i.join(` -`)}}const Ny=new tLt;Do.add(eLt.IconContribution,Ny);function so(n,e,t,i){return Ny.registerIcon(n,e,t,i)}function wwe(){return Ny}function nLt(){const n=O0e();for(const e in n){const t="\\"+n[e].toString(16);Ny.registerIcon(e,{fontCharacter:t})}}nLt();const Swe="vscode://schemas/icons",xwe=Do.as(B9.JSONContribution);xwe.registerSchema(Swe,Ny.getIconSchema());const Lwe=new Ri(()=>xwe.notifySchemaChanged(Swe),200);Ny.onDidChange(()=>{Lwe.isScheduled()||Lwe.schedule()});const _we=so("widget-close",ut.close,L("widgetClose","Icon for the close action in widgets."));so("goto-previous-location",ut.arrowUp,L("previousChangeIcon","Icon for goto previous editor location.")),so("goto-next-location",ut.arrowDown,L("nextChangeIcon","Icon for goto next editor location.")),sn.modify(ut.sync,"spin"),sn.modify(ut.loading,"spin");var vU=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},yU=function(n,e){return function(t,i){e(t,i,n)}};const iLt=so("diff-review-insert",ut.add,L("accessibleDiffViewerInsertIcon","Icon for 'Insert' in accessible diff viewer.")),rLt=so("diff-review-remove",ut.remove,L("accessibleDiffViewerRemoveIcon","Icon for 'Remove' in accessible diff viewer.")),oLt=so("diff-review-close",ut.close,L("accessibleDiffViewerCloseIcon","Icon for 'Close' in accessible diff viewer."));let F0=class extends Ie{constructor(e,t,i,r,o,s,a,l,u){super(),this._parentNode=e,this._visible=t,this._setVisible=i,this._canClose=r,this._width=o,this._height=s,this._diffs=a,this._models=l,this._instantiationService=u,this._state=L2(this,(c,d)=>{const h=this._visible.read(c);if(this._parentNode.style.visibility=h?"visible":"hidden",!h)return null;const m=d.add(this._instantiationService.createInstance(CU,this._diffs,this._models,this._setVisible,this._canClose)),f=d.add(this._instantiationService.createInstance(wU,this._parentNode,m,this._width,this._height,this._models));return{model:m,view:f}}).recomputeInitiallyAndOnChange(this._store)}next(){zi(e=>{const t=this._visible.get();this._setVisible(!0,e),t&&this._state.get().model.nextGroup(e)})}prev(){zi(e=>{this._setVisible(!0,e),this._state.get().model.previousGroup(e)})}close(){zi(e=>{this._setVisible(!1,e)})}};F0._ttPolicy=jg("diffReview",{createHTML:n=>n}),F0=vU([yU(8,$t)],F0);let CU=class extends Ie{constructor(e,t,i,r,o){super(),this._diffs=e,this._models=t,this._setVisible=i,this.canClose=r,this._accessibilitySignalService=o,this._groups=ei(this,[]),this._currentGroupIdx=ei(this,0),this._currentElementIdx=ei(this,0),this.groups=this._groups,this.currentGroup=this._currentGroupIdx.map((s,a)=>this._groups.read(a)[s]),this.currentGroupIndex=this._currentGroupIdx,this.currentElement=this._currentElementIdx.map((s,a)=>{var l;return(l=this.currentGroup.read(a))===null||l===void 0?void 0:l.lines[s]}),this._register(Zn(s=>{const a=this._diffs.read(s);if(!a){this._groups.set([],void 0);return}const l=sLt(a,this._models.getOriginalModel().getLineCount(),this._models.getModifiedModel().getLineCount());zi(u=>{const c=this._models.getModifiedPosition();if(c){const d=l.findIndex(h=>(c==null?void 0:c.lineNumber){const a=this.currentElement.read(s);(a==null?void 0:a.type)===ul.Deleted?this._accessibilitySignalService.playSignal(xn.diffLineDeleted,{source:"accessibleDiffViewer.currentElementChanged"}):(a==null?void 0:a.type)===ul.Added&&this._accessibilitySignalService.playSignal(xn.diffLineInserted,{source:"accessibleDiffViewer.currentElementChanged"})})),this._register(Zn(s=>{var a;const l=this.currentElement.read(s);if(l&&l.type!==ul.Header){const u=(a=l.modifiedLineNumber)!==null&&a!==void 0?a:l.diff.modified.startLineNumber;this._models.modifiedSetSelection(J.fromPositions(new ye(u,1)))}}))}_goToGroupDelta(e,t){const i=this.groups.get();!i||i.length<=1||ND(t,r=>{this._currentGroupIdx.set(Dn.ofLength(i.length).clipCyclic(this._currentGroupIdx.get()+e),r),this._currentElementIdx.set(0,r)})}nextGroup(e){this._goToGroupDelta(1,e)}previousGroup(e){this._goToGroupDelta(-1,e)}_goToLineDelta(e){const t=this.currentGroup.get();!t||t.lines.length<=1||zi(i=>{this._currentElementIdx.set(Dn.ofLength(t.lines.length).clip(this._currentElementIdx.get()+e),i)})}goToNextLine(){this._goToLineDelta(1)}goToPreviousLine(){this._goToLineDelta(-1)}goToLine(e){const t=this.currentGroup.get();if(!t)return;const i=t.lines.indexOf(e);i!==-1&&zi(r=>{this._currentElementIdx.set(i,r)})}revealCurrentElementInEditor(){if(!this.canClose.get())return;this._setVisible(!1,void 0);const e=this.currentElement.get();e&&(e.type===ul.Deleted?this._models.originalReveal(J.fromPositions(new ye(e.originalLineNumber,1))):this._models.modifiedReveal(e.type!==ul.Header?J.fromPositions(new ye(e.modifiedLineNumber,1)):void 0))}close(){this.canClose.get()&&(this._setVisible(!1,void 0),this._models.modifiedFocus())}};CU=vU([yU(4,_0)],CU);const zD=3;function sLt(n,e,t){const i=[];for(const r of BY(n,(o,s)=>s.modified.startLineNumber-o.modified.endLineNumberExclusive<2*zD)){const o=[];o.push(new lLt);const s=new dn(Math.max(1,r[0].original.startLineNumber-zD),Math.min(r[r.length-1].original.endLineNumberExclusive+zD,e+1)),a=new dn(Math.max(1,r[0].modified.startLineNumber-zD),Math.min(r[r.length-1].modified.endLineNumberExclusive+zD,t+1));c1e(r,(c,d)=>{const h=new dn(c?c.original.endLineNumberExclusive:s.startLineNumber,d?d.original.startLineNumber:s.endLineNumberExclusive),m=new dn(c?c.modified.endLineNumberExclusive:a.startLineNumber,d?d.modified.startLineNumber:a.endLineNumberExclusive);h.forEach(f=>{o.push(new dLt(f,m.startLineNumber+(f-h.startLineNumber)))}),d&&(d.original.forEach(f=>{o.push(new uLt(d,f))}),d.modified.forEach(f=>{o.push(new cLt(d,f))}))});const l=r[0].modified.join(r[r.length-1].modified),u=r[0].original.join(r[r.length-1].original);i.push(new aLt(new ll(l,u),o))}return i}var ul;(function(n){n[n.Header=0]="Header",n[n.Unchanged=1]="Unchanged",n[n.Deleted=2]="Deleted",n[n.Added=3]="Added"})(ul||(ul={}));class aLt{constructor(e,t){this.range=e,this.lines=t}}class lLt{constructor(){this.type=ul.Header}}class uLt{constructor(e,t){this.diff=e,this.originalLineNumber=t,this.type=ul.Deleted,this.modifiedLineNumber=void 0}}class cLt{constructor(e,t){this.diff=e,this.modifiedLineNumber=t,this.type=ul.Added,this.originalLineNumber=void 0}}class dLt{constructor(e,t){this.originalLineNumber=e,this.modifiedLineNumber=t,this.type=ul.Unchanged}}let wU=class extends Ie{constructor(e,t,i,r,o,s){super(),this._element=e,this._model=t,this._width=i,this._height=r,this._models=o,this._languageService=s,this.domNode=this._element,this.domNode.className="monaco-component diff-review monaco-editor-background";const a=document.createElement("div");a.className="diff-review-actions",this._actionBar=this._register(new Kc(a)),this._register(Zn(l=>{this._actionBar.clear(),this._model.canClose.read(l)&&this._actionBar.push(new uu("diffreview.close",L("label.close","Close"),"close-diff-review "+sn.asClassName(oLt),!0,async()=>t.close()),{label:!1,icon:!0})})),this._content=document.createElement("div"),this._content.className="diff-review-content",this._content.setAttribute("role","code"),this._scrollbar=this._register(new RI(this._content,{})),Qs(this.domNode,this._scrollbar.getDomNode(),a),this._register(Zn(l=>{this._height.read(l),this._width.read(l),this._scrollbar.scanDomNode()})),this._register(jt(()=>{Qs(this.domNode)})),this._register(dp(this.domNode,{width:this._width,height:this._height})),this._register(dp(this._content,{width:this._width,height:this._height})),this._register(Yc((l,u)=>{this._model.currentGroup.read(l),this._render(u)})),this._register(Gr(this.domNode,"keydown",l=>{(l.equals(18)||l.equals(2066)||l.equals(530))&&(l.preventDefault(),this._model.goToNextLine()),(l.equals(16)||l.equals(2064)||l.equals(528))&&(l.preventDefault(),this._model.goToPreviousLine()),(l.equals(9)||l.equals(2057)||l.equals(521)||l.equals(1033))&&(l.preventDefault(),this._model.close()),(l.equals(10)||l.equals(3))&&(l.preventDefault(),this._model.revealCurrentElementInEditor())}))}_render(e){const t=this._models.getOriginalOptions(),i=this._models.getModifiedOptions(),r=document.createElement("div");r.className="diff-review-table",r.setAttribute("role","list"),r.setAttribute("aria-label",L("ariaLabel","Accessible Diff Viewer. Use arrow up and down to navigate.")),Ts(r,i.get(50)),Qs(this._content,r);const o=this._models.getOriginalModel(),s=this._models.getModifiedModel();if(!o||!s)return;const a=o.getOptions(),l=s.getOptions(),u=i.get(67),c=this._model.currentGroup.get();for(const d of(c==null?void 0:c.lines)||[]){if(!c)break;let h;if(d.type===ul.Header){const f=document.createElement("div");f.className="diff-review-row",f.setAttribute("role","listitem");const g=c.range,b=this._model.currentGroupIndex.get(),v=this._model.groups.get().length,C=F=>F===0?L("no_lines_changed","no lines changed"):F===1?L("one_line_changed","1 line changed"):L("more_lines_changed","{0} lines changed",F),S=C(g.original.length),x=C(g.modified.length);f.setAttribute("aria-label",L({key:"header",comment:["This is the ARIA label for a git diff header.","A git diff header looks like this: @@ -154,12 +159,39 @@.","That encodes that at original line 154 (which is now line 159), 12 lines were removed/changed with 39 lines.","Variables 0 and 1 refer to the diff index out of total number of diffs.","Variables 2 and 4 will be numbers (a line number).",'Variables 3 and 5 will be "no lines changed", "1 line changed" or "X lines changed", localized separately.']},"Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}",b+1,v,g.original.startLineNumber,S,g.modified.startLineNumber,x));const _=document.createElement("div");_.className="diff-review-cell diff-review-summary",_.appendChild(document.createTextNode(`${b+1}/${v}: @@ -${g.original.startLineNumber},${g.original.length} +${g.modified.startLineNumber},${g.modified.length} @@`)),f.appendChild(_),h=f}else h=this._createRow(d,u,this._width.get(),t,o,a,i,s,l);r.appendChild(h);const m=hn(f=>this._model.currentElement.read(f)===d);e.add(Zn(f=>{const g=m.read(f);h.tabIndex=g?0:-1,g&&h.focus()})),e.add(Ae(h,"focus",()=>{this._model.goToLine(d)}))}this._scrollbar.scanDomNode()}_createRow(e,t,i,r,o,s,a,l,u){const c=r.get(145),d=c.glyphMarginWidth+c.lineNumbersWidth,h=a.get(145),m=10+h.glyphMarginWidth+h.lineNumbersWidth;let f="diff-review-row",g="";const b="diff-review-spacer";let v=null;switch(e.type){case ul.Added:f="diff-review-row line-insert",g=" char-insert",v=iLt;break;case ul.Deleted:f="diff-review-row line-delete",g=" char-delete",v=rLt;break}const C=document.createElement("div");C.style.minWidth=i+"px",C.className=f,C.setAttribute("role","listitem"),C.ariaLevel="";const S=document.createElement("div");S.className="diff-review-cell",S.style.height=`${t}px`,C.appendChild(S);const x=document.createElement("span");x.style.width=d+"px",x.style.minWidth=d+"px",x.className="diff-review-line-number"+g,e.originalLineNumber!==void 0?x.appendChild(document.createTextNode(String(e.originalLineNumber))):x.innerText=" ",S.appendChild(x);const _=document.createElement("span");_.style.width=m+"px",_.style.minWidth=m+"px",_.style.paddingRight="10px",_.className="diff-review-line-number"+g,e.modifiedLineNumber!==void 0?_.appendChild(document.createTextNode(String(e.modifiedLineNumber))):_.innerText=" ",S.appendChild(_);const F=document.createElement("span");if(F.className=b,v){const T=document.createElement("span");T.className=sn.asClassName(v),T.innerText="  ",F.appendChild(T)}else F.innerText="  ";S.appendChild(F);let D;if(e.modifiedLineNumber!==void 0){let T=this._getLineHtml(l,a,u.tabSize,e.modifiedLineNumber,this._languageService.languageIdCodec);F0._ttPolicy&&(T=F0._ttPolicy.createHTML(T)),S.insertAdjacentHTML("beforeend",T),D=l.getLineContent(e.modifiedLineNumber)}else{let T=this._getLineHtml(o,r,s.tabSize,e.originalLineNumber,this._languageService.languageIdCodec);F0._ttPolicy&&(T=F0._ttPolicy.createHTML(T)),S.insertAdjacentHTML("beforeend",T),D=o.getLineContent(e.originalLineNumber)}D.length===0&&(D=L("blankLine","blank"));let M="";switch(e.type){case ul.Unchanged:e.originalLineNumber===e.modifiedLineNumber?M=L({key:"unchangedLine",comment:["The placeholders are contents of the line and should not be translated."]},"{0} unchanged line {1}",D,e.originalLineNumber):M=L("equalLine","{0} original line {1} modified line {2}",D,e.originalLineNumber,e.modifiedLineNumber);break;case ul.Added:M=L("insertLine","+ {0} modified line {1}",D,e.modifiedLineNumber);break;case ul.Deleted:M=L("deleteLine","- {0} original line {1}",D,e.originalLineNumber);break}return C.setAttribute("aria-label",M),C}_getLineHtml(e,t,i,r,o){const s=e.getLineContent(r),a=t.get(50),l=ls.createEmpty(s,o),u=Uu.isBasicASCII(s,e.mightContainNonBasicASCII()),c=Uu.containsRTL(s,u,e.mightContainRTL());return cW(new u0(a.isMonospace&&!t.get(33),a.canUseHalfwidthRightwardsArrow,s,!1,u,c,0,l,[],i,0,a.spaceWidth,a.middotWidth,a.wsmiddotWidth,t.get(117),t.get(99),t.get(94),t.get(51)!==Bu.OFF,null)).html}};wU=vU([yU(5,vr)],wU);class hLt{constructor(e){this.editors=e}getOriginalModel(){return this.editors.original.getModel()}getOriginalOptions(){return this.editors.original.getOptions()}originalReveal(e){this.editors.original.revealRange(e),this.editors.original.setSelection(e),this.editors.original.focus()}getModifiedModel(){return this.editors.modified.getModel()}getModifiedOptions(){return this.editors.modified.getOptions()}modifiedReveal(e){e&&(this.editors.modified.revealRange(e),this.editors.modified.setSelection(e)),this.editors.modified.focus()}modifiedSetSelection(e){this.editors.modified.setSelection(e)}modifiedFocus(){this.editors.modified.focus()}getModifiedPosition(){var e;return(e=this.editors.modified.getPosition())!==null&&e!==void 0?e:void 0}}class I0 extends Ie{constructor(e,t,i,r,o){super(),this._rootElement=e,this._diffModel=t,this._originalEditorLayoutInfo=i,this._modifiedEditorLayoutInfo=r,this._editors=o,this._originalScrollTop=Hi(this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=Hi(this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._viewZonesChanged=ba("onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this.width=ei(this,0),this._modifiedViewZonesChangedSignal=ba("modified.onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this._originalViewZonesChangedSignal=ba("original.onDidChangeViewZones",this._editors.original.onDidChangeViewZones),this._state=L2(this,(c,d)=>{var h;this._element.replaceChildren();const m=this._diffModel.read(c),f=(h=m==null?void 0:m.diff.read(c))===null||h===void 0?void 0:h.movedTexts;if(!f||f.length===0){this.width.set(0,void 0);return}this._viewZonesChanged.read(c);const g=this._originalEditorLayoutInfo.read(c),b=this._modifiedEditorLayoutInfo.read(c);if(!g||!b){this.width.set(0,void 0);return}this._modifiedViewZonesChangedSignal.read(c),this._originalViewZonesChangedSignal.read(c);const v=f.map(M=>{function T(P,H){const k=H.getTopForLineNumber(P.startLineNumber,!0),X=H.getTopForLineNumber(P.endLineNumberExclusive,!0);return(k+X)/2}const Z=T(M.lineRangeMapping.original,this._editors.original),E=this._originalScrollTop.read(c),R=T(M.lineRangeMapping.modified,this._editors.modified),W=this._modifiedScrollTop.read(c),A=Z-E,z=R-W,O=Math.min(Z,R),B=Math.max(Z,R);return{range:new Dn(O,B),from:A,to:z,fromWithoutScroll:Z,toWithoutScroll:R,move:M}});v.sort(Zgt(Ec(M=>M.fromWithoutScroll>M.toWithoutScroll,Wgt),Ec(M=>M.fromWithoutScroll>M.toWithoutScroll?M.fromWithoutScroll:-M.toWithoutScroll,Rg)));const C=SU.compute(v.map(M=>M.range)),S=10,x=g.verticalScrollbarWidth,_=(C.getTrackCount()-1)*10+S*2,F=x+_+(b.contentLeft-I0.movedCodeBlockPadding);let D=0;for(const M of v){const T=C.getTrack(D),Z=x+S+T*10,E=15,R=15,W=F,A=b.glyphMarginWidth+b.lineNumbersWidth,z=18,O=document.createElementNS("http://www.w3.org/2000/svg","rect");O.classList.add("arrow-rectangle"),O.setAttribute("x",`${W-A}`),O.setAttribute("y",`${M.to-z/2}`),O.setAttribute("width",`${A}`),O.setAttribute("height",`${z}`),this._element.appendChild(O);const B=document.createElementNS("http://www.w3.org/2000/svg","g"),P=document.createElementNS("http://www.w3.org/2000/svg","path");P.setAttribute("d",`M 0 ${M.from} L ${Z} ${M.from} L ${Z} ${M.to} L ${W-R} ${M.to}`),P.setAttribute("fill","none"),B.appendChild(P);const H=document.createElementNS("http://www.w3.org/2000/svg","polygon");H.classList.add("arrow"),d.add(Zn(k=>{P.classList.toggle("currentMove",M.move===m.activeMovedText.read(k)),H.classList.toggle("currentMove",M.move===m.activeMovedText.read(k))})),H.setAttribute("points",`${W-R},${M.to-E/2} ${W},${M.to} ${W-R},${M.to+E/2}`),B.appendChild(H),this._element.appendChild(B),D++}this.width.set(_,void 0)}),this._element=document.createElementNS("http://www.w3.org/2000/svg","svg"),this._element.setAttribute("class","moved-blocks-lines"),this._rootElement.appendChild(this._element),this._register(jt(()=>this._element.remove())),this._register(Zn(c=>{const d=this._originalEditorLayoutInfo.read(c),h=this._modifiedEditorLayoutInfo.read(c);!d||!h||(this._element.style.left=`${d.width-d.verticalScrollbarWidth}px`,this._element.style.height=`${d.height}px`,this._element.style.width=`${d.verticalScrollbarWidth+d.contentLeft-I0.movedCodeBlockPadding+this.width.read(c)}px`)})),this._register(ZD(this._state));const s=hn(c=>{const d=this._diffModel.read(c),h=d==null?void 0:d.diff.read(c);return h?h.movedTexts.map(m=>({move:m,original:new CR(Bh(m.lineRangeMapping.original.startLineNumber-1),18),modified:new CR(Bh(m.lineRangeMapping.modified.startLineNumber-1),18)})):[]});this._register(SR(this._editors.original,s.map(c=>c.map(d=>d.original)))),this._register(SR(this._editors.modified,s.map(c=>c.map(d=>d.modified)))),this._register(Yc((c,d)=>{const h=s.read(c);for(const m of h)d.add(new Fwe(this._editors.original,m.original,m.move,"original",this._diffModel.get())),d.add(new Fwe(this._editors.modified,m.modified,m.move,"modified",this._diffModel.get()))}));const a=ba("original.onDidFocusEditorWidget",c=>this._editors.original.onDidFocusEditorWidget(()=>setTimeout(()=>c(void 0),0))),l=ba("modified.onDidFocusEditorWidget",c=>this._editors.modified.onDidFocusEditorWidget(()=>setTimeout(()=>c(void 0),0)));let u="modified";this._register(ED({createEmptyChangeSummary:()=>{},handleChange:(c,d)=>(c.didChange(a)&&(u="original"),c.didChange(l)&&(u="modified"),!0)},c=>{a.read(c),l.read(c);const d=this._diffModel.read(c);if(!d)return;const h=d.diff.read(c);let m;if(h&&u==="original"){const f=this._editors.originalCursor.read(c);f&&(m=h.movedTexts.find(g=>g.lineRangeMapping.original.contains(f.lineNumber)))}if(h&&u==="modified"){const f=this._editors.modifiedCursor.read(c);f&&(m=h.movedTexts.find(g=>g.lineRangeMapping.modified.contains(f.lineNumber)))}m!==d.movedTextToCompare.get()&&d.movedTextToCompare.set(void 0,void 0),d.setActiveMovedText(m)}))}}I0.movedCodeBlockPadding=4;class SU{static compute(e){const t=[],i=[];for(const r of e){let o=t.findIndex(s=>!s.intersectsStrict(r));o===-1&&(t.length>=6?o=Cyt(t,Ec(a=>a.intersectWithRangeLength(r),Rg)):(o=t.length,t.push(new e7))),t[o].addRange(r),i.push(o)}return new SU(t.length,i)}constructor(e,t){this._trackCount=e,this.trackPerLineIdx=t}getTrack(e){return this.trackPerLineIdx[e]}getTrackCount(){return this._trackCount}}class Fwe extends bwe{constructor(e,t,i,r,o){const s=Li("div.diff-hidden-lines-widget");super(e,t,s.root),this._editor=e,this._move=i,this._kind=r,this._diffModel=o,this._nodes=Li("div.diff-moved-code-block",{style:{marginRight:"4px"}},[Li("div.text-content@textContent"),Li("div.action-bar@actionBar")]),s.root.appendChild(this._nodes.root);const a=Hi(this._editor.onDidLayoutChange,()=>this._editor.getLayoutInfo());this._register(dp(this._nodes.root,{paddingRight:a.map(h=>h.verticalScrollbarWidth)}));let l;i.changes.length>0?l=this._kind==="original"?L("codeMovedToWithChanges","Code moved with changes to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):L("codeMovedFromWithChanges","Code moved with changes from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1):l=this._kind==="original"?L("codeMovedTo","Code moved to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):L("codeMovedFrom","Code moved from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1);const u=this._register(new Kc(this._nodes.actionBar,{highlightToggledItems:!0})),c=new uu("",l,"",!1);u.push(c,{icon:!1,label:!0});const d=new uu("","Compare",sn.asClassName(ut.compareChanges),!0,()=>{this._editor.focus(),this._diffModel.movedTextToCompare.set(this._diffModel.movedTextToCompare.get()===i?void 0:this._move,void 0)});this._register(Zn(h=>{const m=this._diffModel.movedTextToCompare.read(h)===i;d.checked=m})),u.push(d,{icon:!1,label:!0})}}re("diffEditor.move.border",{dark:"#8b8b8b9c",light:"#8b8b8b9c",hcDark:"#8b8b8b9c",hcLight:"#8b8b8b9c"},L("diffEditor.move.border","The border color for text that got moved in the diff editor.")),re("diffEditor.moveActive.border",{dark:"#FFA500",light:"#FFA500",hcDark:"#FFA500",hcLight:"#FFA500"},L("diffEditor.moveActive.border","The active border color for text that got moved in the diff editor.")),re("diffEditor.unchangedRegionShadow",{dark:"#000000",light:"#737373BF",hcDark:"#000000",hcLight:"#737373BF"},L("diffEditor.unchangedRegionShadow","The color of the shadow around unchanged region widgets."));const mLt=so("diff-insert",ut.add,L("diffInsertIcon","Line decoration for inserts in the diff editor.")),Iwe=so("diff-remove",ut.remove,L("diffRemoveIcon","Line decoration for removals in the diff editor.")),Dwe=yn.register({className:"line-insert",description:"line-insert",isWholeLine:!0,linesDecorationsClassName:"insert-sign "+sn.asClassName(mLt),marginClassName:"gutter-insert"}),Mwe=yn.register({className:"line-delete",description:"line-delete",isWholeLine:!0,linesDecorationsClassName:"delete-sign "+sn.asClassName(Iwe),marginClassName:"gutter-delete"}),kwe=yn.register({className:"line-insert",description:"line-insert",isWholeLine:!0,marginClassName:"gutter-insert"}),Nwe=yn.register({className:"line-delete",description:"line-delete",isWholeLine:!0,marginClassName:"gutter-delete"}),Twe=yn.register({className:"char-insert",description:"char-insert",shouldFillLineOnLineBreak:!0}),fLt=yn.register({className:"char-insert",description:"char-insert",isWholeLine:!0}),gLt=yn.register({className:"char-insert diff-range-empty",description:"char-insert diff-range-empty"}),xU=yn.register({className:"char-delete",description:"char-delete",shouldFillLineOnLineBreak:!0}),pLt=yn.register({className:"char-delete",description:"char-delete",isWholeLine:!0}),bLt=yn.register({className:"char-delete diff-range-empty",description:"char-delete diff-range-empty"});class vLt extends Ie{constructor(e,t,i,r){super(),this._editors=e,this._diffModel=t,this._options=i,this._decorations=hn(this,o=>{var s;const a=(s=this._diffModel.read(o))===null||s===void 0?void 0:s.diff.read(o);if(!a)return null;const l=this._diffModel.read(o).movedTextToCompare.read(o),u=this._options.renderIndicators.read(o),c=this._options.showEmptyDecorations.read(o),d=[],h=[];if(!l)for(const f of a.mappings)if(f.lineRangeMapping.original.isEmpty||d.push({range:f.lineRangeMapping.original.toInclusiveRange(),options:u?Mwe:Nwe}),f.lineRangeMapping.modified.isEmpty||h.push({range:f.lineRangeMapping.modified.toInclusiveRange(),options:u?Dwe:kwe}),f.lineRangeMapping.modified.isEmpty||f.lineRangeMapping.original.isEmpty)f.lineRangeMapping.original.isEmpty||d.push({range:f.lineRangeMapping.original.toInclusiveRange(),options:pLt}),f.lineRangeMapping.modified.isEmpty||h.push({range:f.lineRangeMapping.modified.toInclusiveRange(),options:fLt});else for(const g of f.lineRangeMapping.innerChanges||[])f.lineRangeMapping.original.contains(g.originalRange.startLineNumber)&&d.push({range:g.originalRange,options:g.originalRange.isEmpty()&&c?bLt:xU}),f.lineRangeMapping.modified.contains(g.modifiedRange.startLineNumber)&&h.push({range:g.modifiedRange,options:g.modifiedRange.isEmpty()&&c?gLt:Twe});if(l)for(const f of l.changes){const g=f.original.toInclusiveRange();g&&d.push({range:g,options:u?Mwe:Nwe});const b=f.modified.toInclusiveRange();b&&h.push({range:b,options:u?Dwe:kwe});for(const v of f.innerChanges||[])d.push({range:v.originalRange,options:xU}),h.push({range:v.modifiedRange,options:Twe})}const m=this._diffModel.read(o).activeMovedText.read(o);for(const f of a.movedTexts)d.push({range:f.lineRangeMapping.original.toInclusiveRange(),options:{description:"moved",blockClassName:"movedOriginal"+(f===m?" currentMove":""),blockPadding:[I0.movedCodeBlockPadding,0,I0.movedCodeBlockPadding,I0.movedCodeBlockPadding]}}),h.push({range:f.lineRangeMapping.modified.toInclusiveRange(),options:{description:"moved",blockClassName:"movedModified"+(f===m?" currentMove":""),blockPadding:[4,0,4,4]}});return{originalDecorations:d,modifiedDecorations:h}}),this._register(yR(this._editors.original,this._decorations.map(o=>(o==null?void 0:o.originalDecorations)||[]))),this._register(yR(this._editors.modified,this._decorations.map(o=>(o==null?void 0:o.modifiedDecorations)||[])))}}var N2=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o};const yLt=!1;var xR;(function(n){n.North="north",n.South="south",n.East="east",n.West="west"})(xR||(xR={}));let CLt=4;const wLt=new be;let SLt=300;const xLt=new be;class LU{constructor(e){this.el=e,this.disposables=new Je}get onPointerMove(){return this.disposables.add(new Jn(Qt(this.el),"mousemove")).event}get onPointerUp(){return this.disposables.add(new Jn(Qt(this.el),"mouseup")).event}dispose(){this.disposables.dispose()}}N2([io],LU.prototype,"onPointerMove",null),N2([io],LU.prototype,"onPointerUp",null);class _U{get onPointerMove(){return this.disposables.add(new Jn(this.el,nr.Change)).event}get onPointerUp(){return this.disposables.add(new Jn(this.el,nr.End)).event}constructor(e){this.el=e,this.disposables=new Je}dispose(){this.disposables.dispose()}}N2([io],_U.prototype,"onPointerMove",null),N2([io],_U.prototype,"onPointerUp",null);class LR{get onPointerMove(){return this.factory.onPointerMove}get onPointerUp(){return this.factory.onPointerUp}constructor(e){this.factory=e}dispose(){}}N2([io],LR.prototype,"onPointerMove",null),N2([io],LR.prototype,"onPointerUp",null);const Ewe="pointer-events-disabled";class Ca extends Ie{get state(){return this._state}get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}set state(e){this._state!==e&&(this.el.classList.toggle("disabled",e===0),this.el.classList.toggle("minimum",e===1),this.el.classList.toggle("maximum",e===2),this._state=e,this.onDidEnablementChange.fire(e))}set orthogonalStartSash(e){if(this._orthogonalStartSash!==e){if(this.orthogonalStartDragHandleDisposables.clear(),this.orthogonalStartSashDisposables.clear(),e){const t=i=>{this.orthogonalStartDragHandleDisposables.clear(),i!==0&&(this._orthogonalStartDragHandle=je(this.el,Ct(".orthogonal-drag-handle.start")),this.orthogonalStartDragHandleDisposables.add(jt(()=>this._orthogonalStartDragHandle.remove())),this.orthogonalStartDragHandleDisposables.add(new Jn(this._orthogonalStartDragHandle,"mouseenter")).event(()=>Ca.onMouseEnter(e),void 0,this.orthogonalStartDragHandleDisposables),this.orthogonalStartDragHandleDisposables.add(new Jn(this._orthogonalStartDragHandle,"mouseleave")).event(()=>Ca.onMouseLeave(e),void 0,this.orthogonalStartDragHandleDisposables))};this.orthogonalStartSashDisposables.add(e.onDidEnablementChange.event(t,this)),t(e.state)}this._orthogonalStartSash=e}}set orthogonalEndSash(e){if(this._orthogonalEndSash!==e){if(this.orthogonalEndDragHandleDisposables.clear(),this.orthogonalEndSashDisposables.clear(),e){const t=i=>{this.orthogonalEndDragHandleDisposables.clear(),i!==0&&(this._orthogonalEndDragHandle=je(this.el,Ct(".orthogonal-drag-handle.end")),this.orthogonalEndDragHandleDisposables.add(jt(()=>this._orthogonalEndDragHandle.remove())),this.orthogonalEndDragHandleDisposables.add(new Jn(this._orthogonalEndDragHandle,"mouseenter")).event(()=>Ca.onMouseEnter(e),void 0,this.orthogonalEndDragHandleDisposables),this.orthogonalEndDragHandleDisposables.add(new Jn(this._orthogonalEndDragHandle,"mouseleave")).event(()=>Ca.onMouseLeave(e),void 0,this.orthogonalEndDragHandleDisposables))};this.orthogonalEndSashDisposables.add(e.onDidEnablementChange.event(t,this)),t(e.state)}this._orthogonalEndSash=e}}constructor(e,t,i){super(),this.hoverDelay=SLt,this.hoverDelayer=this._register(new Fd(this.hoverDelay)),this._state=3,this.onDidEnablementChange=this._register(new be),this._onDidStart=this._register(new be),this._onDidChange=this._register(new be),this._onDidReset=this._register(new be),this._onDidEnd=this._register(new be),this.orthogonalStartSashDisposables=this._register(new Je),this.orthogonalStartDragHandleDisposables=this._register(new Je),this.orthogonalEndSashDisposables=this._register(new Je),this.orthogonalEndDragHandleDisposables=this._register(new Je),this.onDidStart=this._onDidStart.event,this.onDidChange=this._onDidChange.event,this.onDidReset=this._onDidReset.event,this.onDidEnd=this._onDidEnd.event,this.linkedSash=void 0,this.el=je(e,Ct(".monaco-sash")),i.orthogonalEdge&&this.el.classList.add(`orthogonal-edge-${i.orthogonalEdge}`),On&&this.el.classList.add("mac");const r=this._register(new Jn(this.el,"mousedown")).event;this._register(r(d=>this.onPointerStart(d,new LU(e)),this));const o=this._register(new Jn(this.el,"dblclick")).event;this._register(o(this.onPointerDoublePress,this));const s=this._register(new Jn(this.el,"mouseenter")).event;this._register(s(()=>Ca.onMouseEnter(this)));const a=this._register(new Jn(this.el,"mouseleave")).event;this._register(a(()=>Ca.onMouseLeave(this))),this._register(ir.addTarget(this.el));const l=this._register(new Jn(this.el,nr.Start)).event;this._register(l(d=>this.onPointerStart(d,new _U(this.el)),this));const u=this._register(new Jn(this.el,nr.Tap)).event;let c;this._register(u(d=>{if(c){clearTimeout(c),c=void 0,this.onPointerDoublePress(d);return}clearTimeout(c),c=setTimeout(()=>c=void 0,250)},this)),typeof i.size=="number"?(this.size=i.size,i.orientation===0?this.el.style.width=`${this.size}px`:this.el.style.height=`${this.size}px`):(this.size=CLt,this._register(wLt.event(d=>{this.size=d,this.layout()}))),this._register(xLt.event(d=>this.hoverDelay=d)),this.layoutProvider=t,this.orthogonalStartSash=i.orthogonalStartSash,this.orthogonalEndSash=i.orthogonalEndSash,this.orientation=i.orientation||0,this.orientation===1?(this.el.classList.add("horizontal"),this.el.classList.remove("vertical")):(this.el.classList.remove("horizontal"),this.el.classList.add("vertical")),this.el.classList.toggle("debug",yLt),this.layout()}onPointerStart(e,t){Vn.stop(e);let i=!1;if(!e.__orthogonalSashEvent){const f=this.getOrthogonalSash(e);f&&(i=!0,e.__orthogonalSashEvent=!0,f.onPointerStart(e,new LR(t)))}if(this.linkedSash&&!e.__linkedSashEvent&&(e.__linkedSashEvent=!0,this.linkedSash.onPointerStart(e,new LR(t))),!this.state)return;const r=this.el.ownerDocument.getElementsByTagName("iframe");for(const f of r)f.classList.add(Ewe);const o=e.pageX,s=e.pageY,a=e.altKey,l={startX:o,currentX:o,startY:s,currentY:s,altKey:a};this.el.classList.add("active"),this._onDidStart.fire(l);const u=Au(this.el),c=()=>{let f="";i?f="all-scroll":this.orientation===1?this.state===1?f="s-resize":this.state===2?f="n-resize":f=On?"row-resize":"ns-resize":this.state===1?f="e-resize":this.state===2?f="w-resize":f=On?"col-resize":"ew-resize",u.textContent=`* { cursor: ${f} !important; }`},d=new Je;c(),i||this.onDidEnablementChange.event(c,null,d);const h=f=>{Vn.stop(f,!1);const g={startX:o,currentX:f.pageX,startY:s,currentY:f.pageY,altKey:a};this._onDidChange.fire(g)},m=f=>{Vn.stop(f,!1),this.el.removeChild(u),this.el.classList.remove("active"),this._onDidEnd.fire(),d.dispose();for(const g of r)g.classList.remove(Ewe)};t.onPointerMove(h,null,d),t.onPointerUp(m,null,d),d.add(t)}onPointerDoublePress(e){const t=this.getOrthogonalSash(e);t&&t._onDidReset.fire(),this.linkedSash&&this.linkedSash._onDidReset.fire(),this._onDidReset.fire()}static onMouseEnter(e,t=!1){e.el.classList.contains("active")?(e.hoverDelayer.cancel(),e.el.classList.add("hover")):e.hoverDelayer.trigger(()=>e.el.classList.add("hover"),e.hoverDelay).then(void 0,()=>{}),!t&&e.linkedSash&&Ca.onMouseEnter(e.linkedSash,!0)}static onMouseLeave(e,t=!1){e.hoverDelayer.cancel(),e.el.classList.remove("hover"),!t&&e.linkedSash&&Ca.onMouseLeave(e.linkedSash,!0)}clearSashHoverState(){Ca.onMouseLeave(this)}layout(){if(this.orientation===0){const e=this.layoutProvider;this.el.style.left=e.getVerticalSashLeft(this)-this.size/2+"px",e.getVerticalSashTop&&(this.el.style.top=e.getVerticalSashTop(this)+"px"),e.getVerticalSashHeight&&(this.el.style.height=e.getVerticalSashHeight(this)+"px")}else{const e=this.layoutProvider;this.el.style.top=e.getHorizontalSashTop(this)-this.size/2+"px",e.getHorizontalSashLeft&&(this.el.style.left=e.getHorizontalSashLeft(this)+"px"),e.getHorizontalSashWidth&&(this.el.style.width=e.getHorizontalSashWidth(this)+"px")}}getOrthogonalSash(e){var t;const i=(t=e.initialTarget)!==null&&t!==void 0?t:e.target;if(!(!i||!(i instanceof HTMLElement))&&i.classList.contains("orthogonal-drag-handle"))return i.classList.contains("start")?this.orthogonalStartSash:this.orthogonalEndSash}dispose(){super.dispose(),this.el.remove()}}class LLt extends Ie{constructor(e,t,i,r){super(),this._options=e,this._domNode=t,this._dimensions=i,this._sashes=r,this._sashRatio=ei(this,void 0),this.sashLeft=hn(this,o=>{var s;const a=(s=this._sashRatio.read(o))!==null&&s!==void 0?s:this._options.splitViewDefaultRatio.read(o);return this._computeSashLeft(a,o)}),this._sash=this._register(new Ca(this._domNode,{getVerticalSashTop:o=>0,getVerticalSashLeft:o=>this.sashLeft.get(),getVerticalSashHeight:o=>this._dimensions.height.get()},{orientation:0})),this._startSashPosition=void 0,this._register(this._sash.onDidStart(()=>{this._startSashPosition=this.sashLeft.get()})),this._register(this._sash.onDidChange(o=>{const s=this._dimensions.width.get(),a=this._computeSashLeft((this._startSashPosition+(o.currentX-o.startX))/s,void 0);this._sashRatio.set(a/s,void 0)})),this._register(this._sash.onDidEnd(()=>this._sash.layout())),this._register(this._sash.onDidReset(()=>this._sashRatio.set(void 0,void 0))),this._register(Zn(o=>{const s=this._sashes.read(o);s&&(this._sash.orthogonalEndSash=s.bottom)})),this._register(Zn(o=>{const s=this._options.enableSplitViewResizing.read(o);this._sash.state=s?3:0,this.sashLeft.read(o),this._dimensions.height.read(o),this._sash.layout()}))}_computeSashLeft(e,t){const i=this._dimensions.width.read(t),r=Math.floor(this._options.splitViewDefaultRatio.read(t)*i),o=this._options.enableSplitViewResizing.read(t)?Math.floor(e*i):r,s=100;return i<=s*2?r:oi-s?i-s:o}}const Jc=Un("editorWorkerService");var Zwe=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},FU=function(n,e){return function(t,i){e(t,i,n)}},Ty;const Wwe=Un("diffProviderFactoryService");let IU=class{constructor(e){this.instantiationService=e}createDiffProvider(e){return this.instantiationService.createInstance(_R,e)}};IU=Zwe([FU(0,$t)],IU),qn(Wwe,IU,1);let _R=Ty=class{constructor(e,t,i){this.editorWorkerService=t,this.telemetryService=i,this.onDidChangeEventEmitter=new be,this.onDidChange=this.onDidChangeEventEmitter.event,this.diffAlgorithm="advanced",this.diffAlgorithmOnDidChangeSubscription=void 0,this.setOptions(e)}dispose(){var e;(e=this.diffAlgorithmOnDidChangeSubscription)===null||e===void 0||e.dispose()}async computeDiff(e,t,i,r){var o,s;if(typeof this.diffAlgorithm!="string")return this.diffAlgorithm.computeDiff(e,t,i,r);if(e.getLineCount()===1&&e.getLineMaxColumn(1)===1)return t.getLineCount()===1&&t.getLineMaxColumn(1)===1?{changes:[],identical:!0,quitEarly:!1,moves:[]}:{changes:[new ju(new dn(1,2),new dn(1,t.getLineCount()+1),[new mp(e.getFullModelRange(),t.getFullModelRange())])],identical:!1,quitEarly:!1,moves:[]};const a=JSON.stringify([e.uri.toString(),t.uri.toString()]),l=JSON.stringify([e.id,t.id,e.getAlternativeVersionId(),t.getAlternativeVersionId(),JSON.stringify(i)]),u=Ty.diffCache.get(a);if(u&&u.context===l)return u.result;const c=Js.create(),d=await this.editorWorkerService.computeDiff(e.uri,t.uri,i,this.diffAlgorithm),h=c.elapsed();if(this.telemetryService.publicLog2("diffEditor.computeDiff",{timeMs:h,timedOut:(o=d==null?void 0:d.quitEarly)!==null&&o!==void 0?o:!0,detectedMoves:i.computeMoves?(s=d==null?void 0:d.moves.length)!==null&&s!==void 0?s:0:-1}),r.isCancellationRequested)return{changes:[],identical:!1,quitEarly:!0,moves:[]};if(!d)throw new Error("no diff result available");return Ty.diffCache.size>10&&Ty.diffCache.delete(Ty.diffCache.keys().next().value),Ty.diffCache.set(a,{result:d,context:l}),d}setOptions(e){var t;let i=!1;e.diffAlgorithm&&this.diffAlgorithm!==e.diffAlgorithm&&((t=this.diffAlgorithmOnDidChangeSubscription)===null||t===void 0||t.dispose(),this.diffAlgorithmOnDidChangeSubscription=void 0,this.diffAlgorithm=e.diffAlgorithm,typeof e.diffAlgorithm!="string"&&(this.diffAlgorithmOnDidChangeSubscription=e.diffAlgorithm.onDidChange(()=>this.onDidChangeEventEmitter.fire())),i=!0),i&&this.onDidChangeEventEmitter.fire()}};_R.diffCache=new Map,_R=Ty=Zwe([FU(1,Jc),FU(2,Zl)],_R);class fp{static trivial(e,t){return new fp([new us(Dn.ofLength(e.length),Dn.ofLength(t.length))],!1)}static trivialTimedOut(e,t){return new fp([new us(Dn.ofLength(e.length),Dn.ofLength(t.length))],!0)}constructor(e,t){this.diffs=e,this.hitTimeout=t}}class us{static invert(e,t){const i=[];return c1e(e,(r,o)=>{i.push(us.fromOffsetPairs(r?r.getEndExclusives():jc.zero,o?o.getStarts():new jc(t,(r?r.seq2Range.endExclusive-r.seq1Range.endExclusive:0)+t)))}),i}static fromOffsetPairs(e,t){return new us(new Dn(e.offset1,t.offset1),new Dn(e.offset2,t.offset2))}constructor(e,t){this.seq1Range=e,this.seq2Range=t}swap(){return new us(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(e){return new us(this.seq1Range.join(e.seq1Range),this.seq2Range.join(e.seq2Range))}delta(e){return e===0?this:new us(this.seq1Range.delta(e),this.seq2Range.delta(e))}deltaStart(e){return e===0?this:new us(this.seq1Range.deltaStart(e),this.seq2Range.deltaStart(e))}deltaEnd(e){return e===0?this:new us(this.seq1Range.deltaEnd(e),this.seq2Range.deltaEnd(e))}intersect(e){const t=this.seq1Range.intersect(e.seq1Range),i=this.seq2Range.intersect(e.seq2Range);if(!(!t||!i))return new us(t,i)}getStarts(){return new jc(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new jc(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}}class jc{constructor(e,t){this.offset1=e,this.offset2=t}toString(){return`${this.offset1} <-> ${this.offset2}`}delta(e){return e===0?this:new jc(this.offset1+e,this.offset2+e)}equals(e){return this.offset1===e.offset1&&this.offset2===e.offset2}}jc.zero=new jc(0,0),jc.max=new jc(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER);class HD{isValid(){return!0}}HD.instance=new HD;class _Lt{constructor(e){if(this.timeout=e,this.startTime=Date.now(),this.valid=!0,e<=0)throw new or("timeout must be positive")}isValid(){return!(Date.now()-this.startTime0&&g>0&&s.get(f-1,g-1)===3&&(C+=a.get(f-1,g-1)),C+=r?r(f,g):1):C=-1;const S=Math.max(b,v,C);if(S===C){const x=f>0&&g>0?a.get(f-1,g-1):0;a.set(f,g,x+1),s.set(f,g,3)}else S===b?(a.set(f,g,0),s.set(f,g,1)):S===v&&(a.set(f,g,0),s.set(f,g,2));o.set(f,g,S)}const l=[];let u=e.length,c=t.length;function d(f,g){(f+1!==u||g+1!==c)&&l.push(new us(new Dn(f+1,u),new Dn(g+1,c))),u=f,c=g}let h=e.length-1,m=t.length-1;for(;h>=0&&m>=0;)s.get(h,m)===3?(d(h,m),h--,m--):s.get(h,m)===1?h--:m--;return d(-1,-1),l.reverse(),new fp(l,!1)}}class Rwe{compute(e,t,i=HD.instance){if(e.length===0||t.length===0)return fp.trivial(e,t);const r=e,o=t;function s(g,b){for(;gr.length||x>o.length)continue;const _=s(S,x);l.set(c,_);const F=S===v?u.get(c+1):u.get(c-1);if(u.set(c,_!==S?new Vwe(F,S,x,_-S):F),l.get(c)===r.length&&l.get(c)-c===o.length)break e}}let d=u.get(c);const h=[];let m=r.length,f=o.length;for(;;){const g=d?d.x+d.length:0,b=d?d.y+d.length:0;if((g!==m||b!==f)&&h.push(new us(new Dn(g,m),new Dn(b,f))),!d)break;m=d.x,f=d.y,d=d.prev}return h.reverse(),new fp(h,!1)}}class Vwe{constructor(e,t,i,r){this.prev=e,this.x=t,this.y=i,this.length=r}}class ILt{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){if(e<0){if(e=-e-1,e>=this.negativeArr.length){const i=this.negativeArr;this.negativeArr=new Int32Array(i.length*2),this.negativeArr.set(i)}this.negativeArr[e]=t}else{if(e>=this.positiveArr.length){const i=this.positiveArr;this.positiveArr=new Int32Array(i.length*2),this.positiveArr.set(i)}this.positiveArr[e]=t}}}class DLt{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){e<0?(e=-e-1,this.negativeArr[e]=t):this.positiveArr[e]=t}}class FR{constructor(e,t,i){this.lines=e,this.considerWhitespaceChanges=i,this.elements=[],this.firstCharOffsetByLine=[],this.additionalOffsetByLine=[];let r=!1;t.start>0&&t.endExclusive>=e.length&&(t=new Dn(t.start-1,t.endExclusive),r=!0),this.lineRange=t,this.firstCharOffsetByLine[0]=0;for(let o=this.lineRange.start;oString.fromCharCode(t)).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const t=Gwe(e>0?this.elements[e-1]:-1),i=Gwe(ei<=e);return new ye(this.lineRange.start+t+1,e-this.firstCharOffsetByLine[t]+this.additionalOffsetByLine[t]+1)}translateRange(e){return J.fromPositions(this.translateOffset(e.start),this.translateOffset(e.endExclusive))}findWordContaining(e){if(e<0||e>=this.elements.length||!kU(this.elements[e]))return;let t=e;for(;t>0&&kU(this.elements[t-1]);)t--;let i=e;for(;is<=e.start))!==null&&t!==void 0?t:0,o=(i=byt(this.firstCharOffsetByLine,s=>e.endExclusive<=s))!==null&&i!==void 0?i:this.elements.length;return new Dn(r,o)}}function kU(n){return n>=97&&n<=122||n>=65&&n<=90||n>=48&&n<=57}const MLt={0:0,1:0,2:0,3:10,4:2,5:30,6:3,7:10,8:10};function Awe(n){return MLt[n]}function Gwe(n){return n===10?8:n===13?7:MU(n)?6:n>=97&&n<=122?0:n>=65&&n<=90?1:n>=48&&n<=57?2:n===-1?3:n===44||n===59?5:4}function kLt(n,e,t,i,r,o){let{moves:s,excludedChanges:a}=TLt(n,e,t,o);if(!o.isValid())return[];const l=n.filter(c=>!a.has(c)),u=ELt(l,i,r,e,t,o);return YY(s,u),s=ZLt(s),s=s.filter(c=>{const d=c.original.toOffsetRange().slice(e).map(m=>m.trim());return d.join(` -`).length>=15&&NLt(d,m=>m.length>=2)>=2}),s=WLt(n,s),s}function NLt(n,e){let t=0;for(const i of n)e(i)&&t++;return t}function TLt(n,e,t,i){const r=[],o=n.filter(l=>l.modified.isEmpty&&l.original.length>=3).map(l=>new T2(l.original,e,l)),s=new Set(n.filter(l=>l.original.isEmpty&&l.modified.length>=3).map(l=>new T2(l.modified,t,l))),a=new Set;for(const l of o){let u=-1,c;for(const d of s){const h=l.computeSimilarity(d);h>u&&(u=h,c=d)}if(u>.9&&c&&(s.delete(c),r.push(new ll(l.range,c.range)),a.add(l.source),a.add(c.source)),!i.isValid())return{moves:r,excludedChanges:a}}return{moves:r,excludedChanges:a}}function ELt(n,e,t,i,r,o){const s=[],a=new AY;for(const h of n)for(let m=h.original.startLineNumber;mh.modified.startLineNumber,Rg));for(const h of n){let m=[];for(let f=h.modified.startLineNumber;f{for(const x of m)if(x.originalLineRange.endLineNumberExclusive+1===C.endLineNumberExclusive&&x.modifiedLineRange.endLineNumberExclusive+1===b.endLineNumberExclusive){x.originalLineRange=new dn(x.originalLineRange.startLineNumber,C.endLineNumberExclusive),x.modifiedLineRange=new dn(x.modifiedLineRange.startLineNumber,b.endLineNumberExclusive),v.push(x);return}const S={modifiedLineRange:b,originalLineRange:C};l.push(S),v.push(S)}),m=v}if(!o.isValid())return[]}l.sort(g1e(Ec(h=>h.modifiedLineRange.length,Rg)));const u=new Bc,c=new Bc;for(const h of l){const m=h.modifiedLineRange.startLineNumber-h.originalLineRange.startLineNumber,f=u.subtractFrom(h.modifiedLineRange),g=c.subtractFrom(h.originalLineRange).getWithDelta(m),b=f.getIntersection(g);for(const v of b.ranges){if(v.length<3)continue;const C=v,S=v.delta(-m);s.push(new ll(S,C)),u.addRange(C),c.addRange(S)}}s.sort(Ec(h=>h.original.startLineNumber,Rg));const d=new QI(n);for(let h=0;hF.original.startLineNumber<=m.original.startLineNumber),g=l2(n,F=>F.modified.startLineNumber<=m.modified.startLineNumber),b=Math.max(m.original.startLineNumber-f.original.startLineNumber,m.modified.startLineNumber-g.modified.startLineNumber),v=d.findLastMonotonous(F=>F.original.startLineNumberF.modified.startLineNumberi.length||D>r.length||u.contains(D)||c.contains(F)||!Xwe(i[F-1],r[D-1],o))break}x>0&&(c.addRange(new dn(m.original.startLineNumber-x,m.original.startLineNumber)),u.addRange(new dn(m.modified.startLineNumber-x,m.modified.startLineNumber)));let _;for(_=0;_i.length||D>r.length||u.contains(D)||c.contains(F)||!Xwe(i[F-1],r[D-1],o))break}_>0&&(c.addRange(new dn(m.original.endLineNumberExclusive,m.original.endLineNumberExclusive+_)),u.addRange(new dn(m.modified.endLineNumberExclusive,m.modified.endLineNumberExclusive+_))),(x>0||_>0)&&(s[h]=new ll(new dn(m.original.startLineNumber-x,m.original.endLineNumberExclusive+_),new dn(m.modified.startLineNumber-x,m.modified.endLineNumberExclusive+_)))}return s}function Xwe(n,e,t){if(n.trim()===e.trim())return!0;if(n.length>300&&e.length>300)return!1;const r=new Rwe().compute(new FR([n],new Dn(0,1),!1),new FR([e],new Dn(0,1),!1),t);let o=0;const s=us.invert(r.diffs,n.length);for(const c of s)c.seq1Range.forEach(d=>{MU(n.charCodeAt(d))||o++});function a(c){let d=0;for(let h=0;he.length?n:e);return o/l>.6&&l>10}function ZLt(n){if(n.length===0)return n;n.sort(Ec(t=>t.original.startLineNumber,Rg));const e=[n[0]];for(let t=1;t=0&&s>=0&&o+s<=2){e[e.length-1]=i.join(r);continue}e.push(r)}return e}function WLt(n,e){const t=new QI(n);return e=e.filter(i=>{const r=t.findLastMonotonous(a=>a.original.startLineNumbera.modified.startLineNumber0&&(a=a.delta(u))}r.push(a)}return i.length>0&&r.push(i[i.length-1]),r}function RLt(n,e,t){if(!n.getBoundaryScore||!e.getBoundaryScore)return t;for(let i=0;i0?t[i-1]:void 0,o=t[i],s=i+1=i.start&&n.seq2Range.start-s>=r.start&&t.isStronglyEqual(n.seq2Range.start-s,n.seq2Range.endExclusive-s)&&s<100;)s++;s--;let a=0;for(;n.seq1Range.start+au&&(u=f,l=c)}return n.delta(l)}function VLt(n,e,t){const i=[];for(const r of t){const o=i[i.length-1];if(!o){i.push(r);continue}r.seq1Range.start-o.seq1Range.endExclusive<=2||r.seq2Range.start-o.seq2Range.endExclusive<=2?i[i.length-1]=new us(o.seq1Range.join(r.seq1Range),o.seq2Range.join(r.seq2Range)):i.push(r)}return i}function ALt(n,e,t){const i=us.invert(t,n.length),r=[];let o=new jc(0,0);function s(l,u){if(l.offset10;){const b=i[0];if(!(b.seq1Range.intersects(h.seq1Range)||b.seq2Range.intersects(h.seq2Range)))break;const C=n.findWordContaining(b.seq1Range.start),S=e.findWordContaining(b.seq2Range.start),x=new us(C,S),_=x.intersect(b);if(f+=_.seq1Range.length,g+=_.seq2Range.length,h=h.join(x),h.seq1Range.endExclusive>=b.seq1Range.endExclusive)i.shift();else break}f+g<(h.seq1Range.length+h.seq2Range.length)*2/3&&r.push(h),o=h.getEndExclusives()}for(;i.length>0;){const l=i.shift();l.seq1Range.isEmpty||(s(l.getStarts(),l),s(l.getEndExclusives().delta(-1),l))}return GLt(t,r)}function GLt(n,e){const t=[];for(;n.length>0||e.length>0;){const i=n[0],r=e[0];let o;i&&(!r||i.seq1Range.start0&&t[t.length-1].seq1Range.endExclusive>=o.seq1Range.start?t[t.length-1]=t[t.length-1].join(o):t.push(o)}return t}function XLt(n,e,t){let i=t;if(i.length===0)return i;let r=0,o;do{o=!1;const s=[i[0]];for(let a=1;a5||m.seq1Range.length+m.seq2Range.length>5)};const l=i[a],u=s[s.length-1];c(u,l)?(o=!0,s[s.length-1]=s[s.length-1].join(l)):s.push(l)}i=s}while(r++<10&&o);return i}function PLt(n,e,t){let i=t;if(i.length===0)return i;let r=0,o;do{o=!1;const a=[i[0]];for(let l=1;l5||g.length>500)return!1;const v=n.getText(g).trim();if(v.length>20||v.split(/\r\n|\r|\n/).length>1)return!1;const C=n.countLinesIn(m.seq1Range),S=m.seq1Range.length,x=e.countLinesIn(m.seq2Range),_=m.seq2Range.length,F=n.countLinesIn(f.seq1Range),D=f.seq1Range.length,M=e.countLinesIn(f.seq2Range),T=f.seq2Range.length,Z=2*40+50;function E(R){return Math.min(R,Z)}return Math.pow(Math.pow(E(C*40+S),1.5)+Math.pow(E(x*40+_),1.5),1.5)+Math.pow(Math.pow(E(F*40+D),1.5)+Math.pow(E(M*40+T),1.5),1.5)>(Z**1.5)**1.5*1.3};const u=i[l],c=a[a.length-1];d(c,u)?(o=!0,a[a.length-1]=a[a.length-1].join(u)):a.push(u)}i=a}while(r++<10&&o);const s=[];return Tgt(i,(a,l,u)=>{let c=l;function d(v){return v.length>0&&v.trim().length<=3&&l.seq1Range.length+l.seq2Range.length>100}const h=n.extendToFullLines(l.seq1Range),m=n.getText(new Dn(h.start,l.seq1Range.start));d(m)&&(c=c.deltaStart(-m.length));const f=n.getText(new Dn(l.seq1Range.endExclusive,h.endExclusive));d(f)&&(c=c.deltaEnd(f.length));const g=us.fromOffsetPairs(a?a.getEndExclusives():jc.zero,u?u.getStarts():jc.max),b=c.intersect(g);s.length>0&&b.getStarts().equals(s[s.length-1].getEndExclusives())?s[s.length-1]=s[s.length-1].join(b):s.push(b)}),s}let Bwe=class{constructor(e,t){this.trimmedHash=e,this.lines=t}getElement(e){return this.trimmedHash[e]}get length(){return this.trimmedHash.length}getBoundaryScore(e){const t=e===0?0:zwe(this.lines[e-1]),i=e===this.lines.length?0:zwe(this.lines[e]);return 1e3-(t+i)}getText(e){return this.lines.slice(e.start,e.endExclusive).join(` -`)}isStronglyEqual(e,t){return this.lines[e]===this.lines[t]}};function zwe(n){let e=0;for(;e_===F))return new IR([],[],!1);if(e.length===1&&e[0].length===0||t.length===1&&t[0].length===0)return new IR([new ju(new dn(1,e.length+1),new dn(1,t.length+1),[new mp(new J(1,1,e.length,e[0].length+1),new J(1,1,t.length,t[0].length+1))])],[],!1);const r=i.maxComputationTimeMs===0?HD.instance:new _Lt(i.maxComputationTimeMs),o=!i.ignoreTrimWhitespace,s=new Map;function a(_){let F=s.get(_);return F===void 0&&(F=s.size,s.set(_,F)),F}const l=e.map(_=>a(_.trim())),u=t.map(_=>a(_.trim())),c=new Bwe(l,e),d=new Bwe(u,t),h=c.length+d.length<1700?this.dynamicProgrammingDiffing.compute(c,d,r,(_,F)=>e[_]===t[F]?t[F].length===0?.1:1+Math.log(1+t[F].length):.99):this.myersDiffingAlgorithm.compute(c,d);let m=h.diffs,f=h.hitTimeout;m=NU(c,d,m),m=XLt(c,d,m);const g=[],b=_=>{if(o)for(let F=0;F<_;F++){const D=v+F,M=C+F;if(e[D]!==t[M]){const T=this.refineDiff(e,t,new us(new Dn(D,D+1),new Dn(M,M+1)),r,o);for(const Z of T.mappings)g.push(Z);T.hitTimeout&&(f=!0)}}};let v=0,C=0;for(const _ of m){ey(()=>_.seq1Range.start-v===_.seq2Range.start-C);const F=_.seq1Range.start-v;b(F),v=_.seq1Range.endExclusive,C=_.seq2Range.endExclusive;const D=this.refineDiff(e,t,_,r,o);D.hitTimeout&&(f=!0);for(const M of D.mappings)g.push(M)}b(e.length-v);const S=Uwe(g,e,t);let x=[];return i.computeMoves&&(x=this.computeMoves(S,e,t,l,u,r,o)),ey(()=>{function _(D,M){if(D.lineNumber<1||D.lineNumber>M.length)return!1;const T=M[D.lineNumber-1];return!(D.column<1||D.column>T.length+1)}function F(D,M){return!(D.startLineNumber<1||D.startLineNumber>M.length+1||D.endLineNumberExclusive<1||D.endLineNumberExclusive>M.length+1)}for(const D of S){if(!D.innerChanges)return!1;for(const M of D.innerChanges)if(!(_(M.modifiedRange.getStartPosition(),t)&&_(M.modifiedRange.getEndPosition(),t)&&_(M.originalRange.getStartPosition(),e)&&_(M.originalRange.getEndPosition(),e)))return!1;if(!F(D.modified,t)||!F(D.original,e))return!1}return!0}),new IR(S,x,f)}computeMoves(e,t,i,r,o,s,a){return kLt(e,t,i,r,o,s).map(c=>{const d=this.refineDiff(t,i,new us(c.original.toOffsetRange(),c.modified.toOffsetRange()),s,a),h=Uwe(d.mappings,t,i,!0);return new Hwe(c,h)})}refineDiff(e,t,i,r,o){const s=new FR(e,i.seq1Range,o),a=new FR(t,i.seq2Range,o),l=s.length+a.length<500?this.dynamicProgrammingDiffing.compute(s,a,r):this.myersDiffingAlgorithm.compute(s,a,r);let u=l.diffs;return u=NU(s,a,u),u=ALt(s,a,u),u=VLt(s,a,u),u=PLt(s,a,u),{mappings:u.map(d=>new mp(s.translateRange(d.seq1Range),a.translateRange(d.seq2Range))),hitTimeout:l.hitTimeout}}}function Uwe(n,e,t,i=!1){const r=[];for(const o of BY(n.map(s=>OLt(s,e,t)),(s,a)=>s.original.overlapOrTouch(a.original)||s.modified.overlapOrTouch(a.modified))){const s=o[0],a=o[o.length-1];r.push(new ju(s.original.join(a.original),s.modified.join(a.modified),o.map(l=>l.innerChanges[0])))}return ey(()=>!i&&r.length>0&&(r[0].modified.startLineNumber!==r[0].original.startLineNumber||t.length-r[r.length-1].modified.endLineNumberExclusive!==e.length-r[r.length-1].original.endLineNumberExclusive)?!1:ZY(r,(o,s)=>s.original.startLineNumber-o.original.endLineNumberExclusive===s.modified.startLineNumber-o.modified.endLineNumberExclusive&&o.original.endLineNumberExclusive=t[n.modifiedRange.startLineNumber-1].length&&n.originalRange.startColumn-1>=e[n.originalRange.startLineNumber-1].length&&n.originalRange.startLineNumber<=n.originalRange.endLineNumber+r&&n.modifiedRange.startLineNumber<=n.modifiedRange.endLineNumber+r&&(i=1);const o=new dn(n.originalRange.startLineNumber+i,n.originalRange.endLineNumber+1+r),s=new dn(n.modifiedRange.startLineNumber+i,n.modifiedRange.endLineNumber+1+r);return new ju(o,s,[n])}var BLt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},zLt=function(n,e){return function(t,i){e(t,i,n)}};let TU=class extends Ie{setActiveMovedText(e){this._activeMovedText.set(e,void 0)}constructor(e,t,i){super(),this.model=e,this._options=t,this._diffProviderFactoryService=i,this._isDiffUpToDate=ei(this,!1),this.isDiffUpToDate=this._isDiffUpToDate,this._diff=ei(this,void 0),this.diff=this._diff,this._unchangedRegions=ei(this,void 0),this.unchangedRegions=hn(this,a=>{var l,u;return this._options.hideUnchangedRegions.read(a)?(u=(l=this._unchangedRegions.read(a))===null||l===void 0?void 0:l.regions)!==null&&u!==void 0?u:[]:(zi(c=>{var d;for(const h of((d=this._unchangedRegions.get())===null||d===void 0?void 0:d.regions)||[])h.collapseAll(c)}),[])}),this.movedTextToCompare=ei(this,void 0),this._activeMovedText=ei(this,void 0),this._hoveredMovedText=ei(this,void 0),this.activeMovedText=hn(this,a=>{var l,u;return(u=(l=this.movedTextToCompare.read(a))!==null&&l!==void 0?l:this._hoveredMovedText.read(a))!==null&&u!==void 0?u:this._activeMovedText.read(a)}),this._cancellationTokenSource=new fo,this._diffProvider=hn(this,a=>{const l=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:this._options.diffAlgorithm.read(a)}),u=ba("onDidChange",l.onDidChange);return{diffProvider:l,onChangeSignal:u}}),this._register(jt(()=>this._cancellationTokenSource.cancel()));const r=sR("contentChangedSignal"),o=this._register(new Ri(()=>r.trigger(void 0),200));this._register(Zn(a=>{const l=this._unchangedRegions.read(a);if(!l||l.regions.some(f=>f.isDragged.read(a)))return;const u=l.originalDecorationIds.map(f=>e.original.getDecorationRange(f)).map(f=>f?dn.fromRangeInclusive(f):void 0),c=l.modifiedDecorationIds.map(f=>e.modified.getDecorationRange(f)).map(f=>f?dn.fromRangeInclusive(f):void 0),d=l.regions.map((f,g)=>!u[g]||!c[g]?void 0:new D0(u[g].startLineNumber,c[g].startLineNumber,u[g].length,f.visibleLineCountTop.read(a),f.visibleLineCountBottom.read(a))).filter(Rm),h=[];let m=!1;for(const f of BY(d,(g,b)=>g.getHiddenModifiedRange(a).endLineNumberExclusive===b.getHiddenModifiedRange(a).startLineNumber))if(f.length>1){m=!0;const g=f.reduce((v,C)=>v+C.lineCount,0),b=new D0(f[0].originalLineNumber,f[0].modifiedLineNumber,g,f[0].visibleLineCountTop.get(),f[f.length-1].visibleLineCountBottom.get());h.push(b)}else h.push(f[0]);if(m){const f=e.original.deltaDecorations(l.originalDecorationIds,h.map(b=>({range:b.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))),g=e.modified.deltaDecorations(l.modifiedDecorationIds,h.map(b=>({range:b.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})));zi(b=>{this._unchangedRegions.set({regions:h,originalDecorationIds:f,modifiedDecorationIds:g},b)})}}));const s=(a,l,u)=>{const c=D0.fromDiffs(a.changes,e.original.getLineCount(),e.modified.getLineCount(),this._options.hideUnchangedRegionsMinimumLineCount.read(u),this._options.hideUnchangedRegionsContextLineCount.read(u));let d;const h=this._unchangedRegions.get();if(h){const b=h.originalDecorationIds.map(x=>e.original.getDecorationRange(x)).map(x=>x?dn.fromRangeInclusive(x):void 0),v=h.modifiedDecorationIds.map(x=>e.modified.getDecorationRange(x)).map(x=>x?dn.fromRangeInclusive(x):void 0);let S=$xt(h.regions.map((x,_)=>{if(!b[_]||!v[_])return;const F=b[_].length;return new D0(b[_].startLineNumber,v[_].startLineNumber,F,Math.min(x.visibleLineCountTop.get(),F),Math.min(x.visibleLineCountBottom.get(),F-x.visibleLineCountTop.get()))}).filter(Rm),(x,_)=>!_||x.modifiedLineNumber>=_.modifiedLineNumber+_.lineCount&&x.originalLineNumber>=_.originalLineNumber+_.lineCount).map(x=>new ll(x.getHiddenOriginalRange(u),x.getHiddenModifiedRange(u)));S=ll.clip(S,dn.ofLength(1,e.original.getLineCount()),dn.ofLength(1,e.modified.getLineCount())),d=ll.inverse(S,e.original.getLineCount(),e.modified.getLineCount())}const m=[];if(d)for(const b of c){const v=d.filter(C=>C.original.intersectsStrict(b.originalUnchangedRange)&&C.modified.intersectsStrict(b.modifiedUnchangedRange));m.push(...b.setVisibleRanges(v,l))}else m.push(...c);const f=e.original.deltaDecorations((h==null?void 0:h.originalDecorationIds)||[],m.map(b=>({range:b.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))),g=e.modified.deltaDecorations((h==null?void 0:h.modifiedDecorationIds)||[],m.map(b=>({range:b.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})));this._unchangedRegions.set({regions:m,originalDecorationIds:f,modifiedDecorationIds:g},l)};this._register(e.modified.onDidChangeContent(a=>{if(this._diff.get()){const u=qg.fromModelContentChanges(a.changes);this._lastDiff,e.original,e.modified}this._isDiffUpToDate.set(!1,void 0),o.schedule()})),this._register(e.original.onDidChangeContent(a=>{if(this._diff.get()){const u=qg.fromModelContentChanges(a.changes);this._lastDiff,e.original,e.modified}this._isDiffUpToDate.set(!1,void 0),o.schedule()})),this._register(Yc(async(a,l)=>{var u,c;this._options.hideUnchangedRegionsMinimumLineCount.read(a),this._options.hideUnchangedRegionsContextLineCount.read(a),o.cancel(),r.read(a);const d=this._diffProvider.read(a);d.onChangeSignal.read(a),Ad(Ywe,a),Ad(NU,a),this._isDiffUpToDate.set(!1,void 0);let h=[];l.add(e.original.onDidChangeContent(g=>{const b=qg.fromModelContentChanges(g.changes);h=VW(h,b)}));let m=[];l.add(e.modified.onDidChangeContent(g=>{const b=qg.fromModelContentChanges(g.changes);m=VW(m,b)}));let f=await d.diffProvider.computeDiff(e.original,e.modified,{ignoreTrimWhitespace:this._options.ignoreTrimWhitespace.read(a),maxComputationTimeMs:this._options.maxComputationTimeMs.read(a),computeMoves:this._options.showMoves.read(a)},this._cancellationTokenSource.token);this._cancellationTokenSource.token.isCancellationRequested||(f=HLt(f,e.original,e.modified),f=(u=(e.original,e.modified,void 0))!==null&&u!==void 0?u:f,f=(c=(e.original,e.modified,void 0))!==null&&c!==void 0?c:f,zi(g=>{s(f,g),this._lastDiff=f;const b=EU.fromDiffResult(f);this._diff.set(b,g),this._isDiffUpToDate.set(!0,g);const v=this.movedTextToCompare.get();this.movedTextToCompare.set(v?this._lastDiff.moves.find(C=>C.lineRangeMapping.modified.intersect(v.lineRangeMapping.modified)):void 0,g)}))}))}ensureModifiedLineIsVisible(e,t,i){var r,o;if(((r=this.diff.get())===null||r===void 0?void 0:r.mappings.length)===0)return;const s=((o=this._unchangedRegions.get())===null||o===void 0?void 0:o.regions)||[];for(const a of s)if(a.getHiddenModifiedRange(void 0).contains(e)){a.showModifiedLine(e,t,i);return}}ensureOriginalLineIsVisible(e,t,i){var r,o;if(((r=this.diff.get())===null||r===void 0?void 0:r.mappings.length)===0)return;const s=((o=this._unchangedRegions.get())===null||o===void 0?void 0:o.regions)||[];for(const a of s)if(a.getHiddenOriginalRange(void 0).contains(e)){a.showOriginalLine(e,t,i);return}}async waitForDiff(){await c2t(this.isDiffUpToDate,e=>e)}serializeState(){const e=this._unchangedRegions.get();return{collapsedRegions:e==null?void 0:e.regions.map(t=>({range:t.getHiddenModifiedRange(void 0).serialize()}))}}restoreSerializedState(e){var t;const i=(t=e.collapsedRegions)===null||t===void 0?void 0:t.map(o=>dn.deserialize(o.range)),r=this._unchangedRegions.get();!r||!i||zi(o=>{for(const s of r.regions)for(const a of i)if(s.modifiedUnchangedRange.intersect(a)){s.setHiddenModifiedRange(a,o);break}})}};TU=BLt([zLt(2,Wwe)],TU);function HLt(n,e,t){return{changes:n.changes.map(i=>new ju(i.original,i.modified,i.innerChanges?i.innerChanges.map(r=>YLt(r,e,t)):void 0)),moves:n.moves,identical:n.identical,quitEarly:n.quitEarly}}function YLt(n,e,t){let i=n.originalRange,r=n.modifiedRange;return(i.endColumn!==1||r.endColumn!==1)&&i.endColumn===e.getLineMaxColumn(i.endLineNumber)&&r.endColumn===t.getLineMaxColumn(r.endLineNumber)&&i.endLineNumbernew Kwe(t)),e.moves||[],e.identical,e.quitEarly)}constructor(e,t,i,r){this.mappings=e,this.movedTexts=t,this.identical=i,this.quitEarly=r}}class Kwe{constructor(e){this.lineRangeMapping=e}}class D0{static fromDiffs(e,t,i,r,o){const s=ju.inverse(e,t,i),a=[];for(const l of s){let u=l.original.startLineNumber,c=l.modified.startLineNumber,d=l.original.length;const h=u===1&&c===1,m=u+d===t+1&&c+d===i+1;(h||m)&&d>=o+r?(h&&!m&&(d-=o),m&&!h&&(u+=o,c+=o,d-=o),a.push(new D0(u,c,d,0,0))):d>=o*2+r&&(u+=o,c+=o,d-=o*2,a.push(new D0(u,c,d,0,0)))}return a}get originalUnchangedRange(){return dn.ofLength(this.originalLineNumber,this.lineCount)}get modifiedUnchangedRange(){return dn.ofLength(this.modifiedLineNumber,this.lineCount)}constructor(e,t,i,r,o){this.originalLineNumber=e,this.modifiedLineNumber=t,this.lineCount=i,this._visibleLineCountTop=ei(this,0),this.visibleLineCountTop=this._visibleLineCountTop,this._visibleLineCountBottom=ei(this,0),this.visibleLineCountBottom=this._visibleLineCountBottom,this._shouldHideControls=hn(this,l=>this.visibleLineCountTop.read(l)+this.visibleLineCountBottom.read(l)===this.lineCount&&!this.isDragged.read(l)),this.isDragged=ei(this,void 0);const s=Math.max(Math.min(r,this.lineCount),0),a=Math.max(Math.min(o,this.lineCount-r),0);J0e(r===s),J0e(o===a),this._visibleLineCountTop.set(s,void 0),this._visibleLineCountBottom.set(a,void 0)}setVisibleRanges(e,t){const i=[],r=new Bc(e.map(l=>l.modified)).subtractFrom(this.modifiedUnchangedRange);let o=this.originalLineNumber,s=this.modifiedLineNumber;const a=this.modifiedLineNumber+this.lineCount;if(r.ranges.length===0)this.showAll(t),i.push(this);else{let l=0;for(const u of r.ranges){const c=l===r.ranges.length-1;l++;const d=(c?a:u.endLineNumberExclusive)-s,h=new D0(o,s,d,0,0);h.setHiddenModifiedRange(u,t),i.push(h),o=h.originalUnchangedRange.endLineNumberExclusive,s=h.modifiedUnchangedRange.endLineNumberExclusive}}return i}shouldHideControls(e){return this._shouldHideControls.read(e)}getHiddenOriginalRange(e){return dn.ofLength(this.originalLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}getHiddenModifiedRange(e){return dn.ofLength(this.modifiedLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}setHiddenModifiedRange(e,t){const i=e.startLineNumber-this.modifiedLineNumber,r=this.modifiedLineNumber+this.lineCount-e.endLineNumberExclusive;this.setState(i,r,t)}getMaxVisibleLineCountTop(){return this.lineCount-this._visibleLineCountBottom.get()}getMaxVisibleLineCountBottom(){return this.lineCount-this._visibleLineCountTop.get()}showMoreAbove(e=10,t){const i=this.getMaxVisibleLineCountTop();this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+e,i),t)}showMoreBelow(e=10,t){const i=this.lineCount-this._visibleLineCountTop.get();this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+e,i),t)}showAll(e){this._visibleLineCountBottom.set(this.lineCount-this._visibleLineCountTop.get(),e)}showModifiedLine(e,t,i){const r=e+1-(this.modifiedLineNumber+this._visibleLineCountTop.get()),o=this.modifiedLineNumber-this._visibleLineCountBottom.get()+this.lineCount-e;t===0&&r{var b;this._contextMenuService.showContextMenu({domForShadowRoot:h&&(b=i.getDomNode())!==null&&b!==void 0?b:void 0,getAnchor:()=>({x:f,y:g}),getActions:()=>{const v=[],C=r.modified.isEmpty;return v.push(new uu("diff.clipboard.copyDeletedContent",C?r.original.length>1?L("diff.clipboard.copyDeletedLinesContent.label","Copy deleted lines"):L("diff.clipboard.copyDeletedLinesContent.single.label","Copy deleted line"):r.original.length>1?L("diff.clipboard.copyChangedLinesContent.label","Copy changed lines"):L("diff.clipboard.copyChangedLinesContent.single.label","Copy changed line"),void 0,!0,async()=>{const x=this._originalTextModel.getValueInRange(r.original.toExclusiveRange());await this._clipboardService.writeText(x)})),r.original.length>1&&v.push(new uu("diff.clipboard.copyDeletedLineContent",C?L("diff.clipboard.copyDeletedLineContent.label","Copy deleted line ({0})",r.original.startLineNumber+d):L("diff.clipboard.copyChangedLineContent.label","Copy changed line ({0})",r.original.startLineNumber+d),void 0,!0,async()=>{let x=this._originalTextModel.getLineContent(r.original.startLineNumber+d);x===""&&(x=this._originalTextModel.getEndOfLineSequence()===0?` +`)}}const Rxt={listFocusBackground:"#7FB0D0",listActiveSelectionBackground:"#0E639C",listActiveSelectionForeground:"#FFFFFF",listActiveSelectionIconForeground:"#FFFFFF",listFocusAndSelectionOutline:"#90C2F9",listFocusAndSelectionBackground:"#094771",listFocusAndSelectionForeground:"#FFFFFF",listInactiveSelectionBackground:"#3F3F46",listInactiveSelectionIconForeground:"#FFFFFF",listHoverBackground:"#2A2D2E",listDropOverBackground:"#383B3D",listDropBetweenBackground:"#EEEEEE",treeIndentGuidesStroke:"#a9a9a9",treeInactiveIndentGuidesStroke:Re.fromHex("#a9a9a9").transparent(.4).toString(),tableColumnsBorder:Re.fromHex("#cccccc").transparent(.2).toString(),tableOddRowsBackgroundColor:Re.fromHex("#cccccc").transparent(.04).toString(),listBackground:void 0,listFocusForeground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusForeground:void 0,listInactiveFocusBackground:void 0,listHoverForeground:void 0,listFocusOutline:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listHoverOutline:void 0},Zxt={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0,dnd:{getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){},dispose(){}}};function Wxt(n,e){const t=n.indexOf(e);if(t===-1)return[];const i=[];let r=t-1;for(;r>=0&&n[r]===e-(t-r);)i.push(n[r--]);for(i.reverse(),r=t;r=n.length)t.push(e[r++]);else if(r>=e.length)t.push(n[i++]);else if(n[i]===e[r]){t.push(n[i]),i++,r++;continue}else n[i]=n.length)t.push(e[r++]);else if(r>=e.length)t.push(n[i++]);else if(n[i]===e[r]){i++,r++;continue}else n[i]n-e;class Vxt{constructor(e,t){this._templateId=e,this.renderers=t}get templateId(){return this._templateId}renderTemplate(e){return this.renderers.map(t=>t.renderTemplate(e))}renderElement(e,t,i,r){let o=0;for(const s of this.renderers)s.renderElement(e,t,i[o++],r)}disposeElement(e,t,i,r){var o;let s=0;for(const a of this.renderers)(o=a.disposeElement)===null||o===void 0||o.call(a,e,t,i[s],r),s+=1}disposeTemplate(e){let t=0;for(const i of this.renderers)i.disposeTemplate(e[t++])}}class Gxt{constructor(e){this.accessibilityProvider=e,this.templateId="a18n"}renderTemplate(e){return{container:e,disposables:new Je}}renderElement(e,t,i){const r=this.accessibilityProvider.getAriaLabel(e),o=r&&typeof r!="string"?r:Bh(r);i.disposables.add(Rn(a=>{this.setAriaLabel(a.readObservable(o),i.container)}));const s=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(e);typeof s=="number"?i.container.setAttribute("aria-level",`${s}`):i.container.removeAttribute("aria-level")}setAriaLabel(e,t){e?t.setAttribute("aria-label",e):t.removeAttribute("aria-label")}disposeElement(e,t,i,r){i.disposables.clear()}disposeTemplate(e){e.disposables.dispose()}}class Xxt{constructor(e,t){this.list=e,this.dnd=t}getDragElements(e){const t=this.list.getSelectedElements();return t.indexOf(e)>-1?t:[e]}getDragURI(e){return this.dnd.getDragURI(e)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e,t)}onDragStart(e,t){var i,r;(r=(i=this.dnd).onDragStart)===null||r===void 0||r.call(i,e,t)}onDragOver(e,t,i,r,o){return this.dnd.onDragOver(e,t,i,r,o)}onDragLeave(e,t,i,r){var o,s;(s=(o=this.dnd).onDragLeave)===null||s===void 0||s.call(o,e,t,i,r)}onDragEnd(e){var t,i;(i=(t=this.dnd).onDragEnd)===null||i===void 0||i.call(t,e)}drop(e,t,i,r,o){this.dnd.drop(e,t,i,r,o)}dispose(){this.dnd.dispose()}}class Ju{get onDidChangeFocus(){return lt.map(this.eventBufferer.wrapEvent(this.focus.onChange),e=>this.toListEvent(e),this.disposables)}get onDidChangeSelection(){return lt.map(this.eventBufferer.wrapEvent(this.selection.onChange),e=>this.toListEvent(e),this.disposables)}get domId(){return this.view.domId}get onDidScroll(){return this.view.onDidScroll}get onMouseClick(){return this.view.onMouseClick}get onMouseDblClick(){return this.view.onMouseDblClick}get onMouseMiddleClick(){return this.view.onMouseMiddleClick}get onPointer(){return this.mouseController.onPointer}get onMouseDown(){return this.view.onMouseDown}get onMouseOver(){return this.view.onMouseOver}get onMouseOut(){return this.view.onMouseOut}get onTouchStart(){return this.view.onTouchStart}get onTap(){return this.view.onTap}get onContextMenu(){let e=!1;const t=lt.chain(this.disposables.add(new Jn(this.view.domNode,"keydown")).event,o=>o.map(s=>new or(s)).filter(s=>e=s.keyCode===58||s.shiftKey&&s.keyCode===68).map(s=>An.stop(s,!0)).filter(()=>!1)),i=lt.chain(this.disposables.add(new Jn(this.view.domNode,"keyup")).event,o=>o.forEach(()=>e=!1).map(s=>new or(s)).filter(s=>s.keyCode===58||s.shiftKey&&s.keyCode===68).map(s=>An.stop(s,!0)).map(({browserEvent:s})=>{const a=this.getFocus(),l=a.length?a[0]:void 0,u=typeof l<"u"?this.view.element(l):void 0,c=typeof l<"u"?this.view.domElement(l):this.view.domNode;return{index:l,element:u,anchor:c,browserEvent:s}})),r=lt.chain(this.view.onContextMenu,o=>o.filter(s=>!e).map(({element:s,index:a,browserEvent:l})=>({element:s,index:a,anchor:new xd(Qt(this.view.domNode),l),browserEvent:l})));return lt.any(t,i,r)}get onKeyDown(){return this.disposables.add(new Jn(this.view.domNode,"keydown")).event}get onDidFocus(){return lt.signal(this.disposables.add(new Jn(this.view.domNode,"focus",!0)).event)}get onDidBlur(){return lt.signal(this.disposables.add(new Jn(this.view.domNode,"blur",!0)).event)}constructor(e,t,i,r,o=Zxt){var s,a,l,u;this.user=e,this._options=o,this.focus=new bW("focused"),this.anchor=new bW("anchor"),this.eventBufferer=new PH,this._ariaLabel="",this.disposables=new Je,this._onDidDispose=new be,this.onDidDispose=this._onDidDispose.event;const c=this._options.accessibilityProvider&&this._options.accessibilityProvider.getWidgetRole?(s=this._options.accessibilityProvider)===null||s===void 0?void 0:s.getWidgetRole():"list";this.selection=new Fxt(c!=="listbox");const d=[this.focus.renderer,this.selection.renderer];this.accessibilityProvider=o.accessibilityProvider,this.accessibilityProvider&&(d.push(new Gxt(this.accessibilityProvider)),(l=(a=this.accessibilityProvider).onDidChangeActiveDescendant)===null||l===void 0||l.call(a,this.onDidChangeActiveDescendant,this,this.disposables)),r=r.map(m=>new Vxt(m.templateId,[...d,m]));const h={...o,dnd:o.dnd&&new Xxt(this,o.dnd)};if(this.view=this.createListView(t,i,r,h),this.view.domNode.setAttribute("role",c),o.styleController)this.styleController=o.styleController(this.view.domId);else{const m=Vu(this.view.domNode);this.styleController=new dSe(m,this.view.domId)}if(this.spliceable=new gxt([new gU(this.focus,this.view,o.identityProvider),new gU(this.selection,this.view,o.identityProvider),new gU(this.anchor,this.view,o.identityProvider),this.view]),this.disposables.add(this.focus),this.disposables.add(this.selection),this.disposables.add(this.anchor),this.disposables.add(this.view),this.disposables.add(this._onDidDispose),this.disposables.add(new Txt(this,this.view)),(typeof o.keyboardSupport!="boolean"||o.keyboardSupport)&&(this.keyboardController=new sSe(this,this.view,o),this.disposables.add(this.keyboardController)),o.keyboardNavigationLabelProvider){const m=o.keyboardNavigationDelegate||Mxt;this.typeNavigationController=new kxt(this,this.view,o.keyboardNavigationLabelProvider,(u=o.keyboardNavigationEventFilter)!==null&&u!==void 0?u:()=>!0,m),this.disposables.add(this.typeNavigationController)}this.mouseController=this.createMouseController(o),this.disposables.add(this.mouseController),this.onDidChangeFocus(this._onFocusChange,this,this.disposables),this.onDidChangeSelection(this._onSelectionChange,this,this.disposables),this.accessibilityProvider&&(this.ariaLabel=this.accessibilityProvider.getWidgetAriaLabel()),this._options.multipleSelectionSupport!==!1&&this.view.domNode.setAttribute("aria-multiselectable","true")}createListView(e,t,i,r){return new Yc(e,t,i,r)}createMouseController(e){return new cSe(this)}updateOptions(e={}){var t,i;this._options={...this._options,...e},(t=this.typeNavigationController)===null||t===void 0||t.updateOptions(this._options),this._options.multipleSelectionController!==void 0&&(this._options.multipleSelectionSupport?this.view.domNode.setAttribute("aria-multiselectable","true"):this.view.domNode.removeAttribute("aria-multiselectable")),this.mouseController.updateOptions(e),(i=this.keyboardController)===null||i===void 0||i.updateOptions(e),this.view.updateOptions(e)}get options(){return this._options}splice(e,t,i=[]){if(e<0||e>this.view.length)throw new Dv(this.user,`Invalid start index: ${e}`);if(t<0)throw new Dv(this.user,`Invalid delete count: ${t}`);t===0&&i.length===0||this.eventBufferer.bufferEvents(()=>this.spliceable.splice(e,t,i))}rerender(){this.view.rerender()}element(e){return this.view.element(e)}indexOf(e){return this.view.indexOf(e)}indexAt(e){return this.view.indexAt(e)}get length(){return this.view.length}get contentHeight(){return this.view.contentHeight}get onDidChangeContentHeight(){return this.view.onDidChangeContentHeight}get scrollTop(){return this.view.getScrollTop()}set scrollTop(e){this.view.setScrollTop(e)}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get firstVisibleIndex(){return this.view.firstVisibleIndex}get ariaLabel(){return this._ariaLabel}set ariaLabel(e){this._ariaLabel=e,this.view.domNode.setAttribute("aria-label",e)}domFocus(){this.view.domNode.focus({preventScroll:!0})}layout(e,t){this.view.layout(e,t)}setSelection(e,t){for(const i of e)if(i<0||i>=this.length)throw new Dv(this.user,`Invalid index ${i}`);this.selection.set(e,t)}getSelection(){return this.selection.get()}getSelectedElements(){return this.getSelection().map(e=>this.view.element(e))}setAnchor(e){if(typeof e>"u"){this.anchor.set([]);return}if(e<0||e>=this.length)throw new Dv(this.user,`Invalid index ${e}`);this.anchor.set([e])}getAnchor(){return zY(this.anchor.get(),void 0)}getAnchorElement(){const e=this.getAnchor();return typeof e>"u"?void 0:this.element(e)}setFocus(e,t){for(const i of e)if(i<0||i>=this.length)throw new Dv(this.user,`Invalid index ${i}`);this.focus.set(e,t)}focusNext(e=1,t=!1,i,r){if(this.length===0)return;const o=this.focus.get(),s=this.findNextIndex(o.length>0?o[0]+e:0,t,r);s>-1&&this.setFocus([s],i)}focusPrevious(e=1,t=!1,i,r){if(this.length===0)return;const o=this.focus.get(),s=this.findPreviousIndex(o.length>0?o[0]-e:0,t,r);s>-1&&this.setFocus([s],i)}async focusNextPage(e,t){let i=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);i=i===0?0:i-1;const r=this.getFocus()[0];if(r!==i&&(r===void 0||i>r)){const o=this.findPreviousIndex(i,!1,t);o>-1&&r!==o?this.setFocus([o],e):this.setFocus([i],e)}else{const o=this.view.getScrollTop();let s=o+this.view.renderHeight;i>r&&(s-=this.view.elementHeight(i)),this.view.setScrollTop(s),this.view.getScrollTop()!==o&&(this.setFocus([]),await By(0),await this.focusNextPage(e,t))}}async focusPreviousPage(e,t,i=()=>0){let r;const o=i(),s=this.view.getScrollTop()+o;s===0?r=this.view.indexAt(s):r=this.view.indexAfter(s-1);const a=this.getFocus()[0];if(a!==r&&(a===void 0||a>=r)){const l=this.findNextIndex(r,!1,t);l>-1&&a!==l?this.setFocus([l],e):this.setFocus([r],e)}else{const l=s;this.view.setScrollTop(s-this.view.renderHeight-o),this.view.getScrollTop()+i()!==l&&(this.setFocus([]),await By(0),await this.focusPreviousPage(e,t,i))}}focusLast(e,t){if(this.length===0)return;const i=this.findPreviousIndex(this.length-1,!1,t);i>-1&&this.setFocus([i],e)}focusFirst(e,t){this.focusNth(0,e,t)}focusNth(e,t,i){if(this.length===0)return;const r=this.findNextIndex(e,!1,i);r>-1&&this.setFocus([r],t)}findNextIndex(e,t=!1,i){for(let r=0;r=this.length&&!t)return-1;if(e=e%this.length,!i||i(this.element(e)))return e;e++}return-1}findPreviousIndex(e,t=!1,i){for(let r=0;rthis.view.element(e))}reveal(e,t,i=0){if(e<0||e>=this.length)throw new Dv(this.user,`Invalid index ${e}`);const r=this.view.getScrollTop(),o=this.view.elementTop(e),s=this.view.elementHeight(e);if(Wb(t)){const a=s-this.view.renderHeight+i;this.view.setScrollTop(a*al(t,0,1)+o-i)}else{const a=o+s,l=r+this.view.renderHeight;o=l||(o=l&&s>=this.view.renderHeight?this.view.setScrollTop(o-i):a>=l&&this.view.setScrollTop(a-this.view.renderHeight))}}getRelativeTop(e,t=0){if(e<0||e>=this.length)throw new Dv(this.user,`Invalid index ${e}`);const i=this.view.getScrollTop(),r=this.view.elementTop(e),o=this.view.elementHeight(e);if(ri+this.view.renderHeight)return null;const s=o-this.view.renderHeight+t;return Math.abs((i+t-r)/s)}getHTMLElement(){return this.view.domNode}getScrollableElement(){return this.view.scrollableElementDomNode}getElementID(e){return this.view.getElementDomId(e)}getElementTop(e){return this.view.elementTop(e)}style(e){this.styleController.style(e)}toListEvent({indexes:e,browserEvent:t}){return{indexes:e,elements:e.map(i=>this.view.element(i)),browserEvent:t}}_onFocusChange(){const e=this.focus.get();this.view.domNode.classList.toggle("element-focused",e.length>0),this.onDidChangeActiveDescendant()}onDidChangeActiveDescendant(){var e;const t=this.focus.get();if(t.length>0){let i;!((e=this.accessibilityProvider)===null||e===void 0)&&e.getActiveDescendantId&&(i=this.accessibilityProvider.getActiveDescendantId(this.view.element(t[0]))),this.view.domNode.setAttribute("aria-activedescendant",i||this.view.getElementDomId(t[0]))}else this.view.domNode.removeAttribute("aria-activedescendant")}_onSelectionChange(){const e=this.selection.get();this.view.domNode.classList.toggle("selection-none",e.length===0),this.view.domNode.classList.toggle("selection-single",e.length===1),this.view.domNode.classList.toggle("selection-multiple",e.length>1)}dispose(){this._onDidDispose.fire(),this.disposables.dispose(),this._onDidDispose.dispose()}}x0([io],Ju.prototype,"onDidChangeFocus",null),x0([io],Ju.prototype,"onDidChangeSelection",null),x0([io],Ju.prototype,"onContextMenu",null),x0([io],Ju.prototype,"onKeyDown",null),x0([io],Ju.prototype,"onDidFocus",null),x0([io],Ju.prototype,"onDidBlur",null);const Mv=Ct,mSe="selectOption.entry.template";class Pxt{get templateId(){return mSe}renderTemplate(e){const t=Object.create(null);return t.root=e,t.text=je(e,Mv(".option-text")),t.detail=je(e,Mv(".option-detail")),t.decoratorRight=je(e,Mv(".option-decorator-right")),t}renderElement(e,t,i){const r=i,o=e.text,s=e.detail,a=e.decoratorRight,l=e.isDisabled;r.text.textContent=o,r.detail.textContent=s||"",r.decoratorRight.innerText=a||"",l?r.root.classList.add("option-disabled"):r.root.classList.remove("option-disabled")}disposeTemplate(e){}}class Cf extends Fe{constructor(e,t,i,r,o){super(),this.options=[],this._currentSelection=0,this._hasDetails=!1,this._skipLayout=!1,this._sticky=!1,this._isVisible=!1,this.styles=r,this.selectBoxOptions=o||Object.create(null),typeof this.selectBoxOptions.minBottomMargin!="number"?this.selectBoxOptions.minBottomMargin=Cf.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN:this.selectBoxOptions.minBottomMargin<0&&(this.selectBoxOptions.minBottomMargin=0),this.selectElement=document.createElement("select"),this.selectElement.className="monaco-select-box monaco-select-box-dropdown-padding",typeof this.selectBoxOptions.ariaLabel=="string"&&this.selectElement.setAttribute("aria-label",this.selectBoxOptions.ariaLabel),typeof this.selectBoxOptions.ariaDescription=="string"&&this.selectElement.setAttribute("aria-description",this.selectBoxOptions.ariaDescription),this._onDidSelect=new be,this._register(this._onDidSelect),this.registerListeners(),this.constructSelectDropDown(i),this.selected=t||0,e&&this.setOptions(e,t),this.initStyleSheet()}setTitle(e){!this._hover&&e?this._hover=this._register(Wd(Pl("mouse"),this.selectElement,e)):this._hover&&this._hover.update(e)}getHeight(){return 22}getTemplateId(){return mSe}constructSelectDropDown(e){this.contextViewProvider=e,this.selectDropDownContainer=Ct(".monaco-select-box-dropdown-container"),this.selectDropDownContainer.classList.add("monaco-select-box-dropdown-padding"),this.selectionDetailsPane=je(this.selectDropDownContainer,Mv(".select-box-details-pane"));const t=je(this.selectDropDownContainer,Mv(".select-box-dropdown-container-width-control")),i=je(t,Mv(".width-control-div"));this.widthControlElement=document.createElement("span"),this.widthControlElement.className="option-text-width-control",je(i,this.widthControlElement),this._dropDownPosition=0,this.styleElement=Vu(this.selectDropDownContainer),this.selectDropDownContainer.setAttribute("draggable","true"),this._register(Ve(this.selectDropDownContainer,ot.DRAG_START,r=>{An.stop(r,!0)}))}registerListeners(){this._register(Gr(this.selectElement,"change",t=>{this.selected=t.target.selectedIndex,this._onDidSelect.fire({index:t.target.selectedIndex,selected:t.target.value}),this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)})),this._register(Ve(this.selectElement,ot.CLICK,t=>{An.stop(t),this._isVisible?this.hideSelectDropDown(!0):this.showSelectDropDown()})),this._register(Ve(this.selectElement,ot.MOUSE_DOWN,t=>{An.stop(t)}));let e;this._register(Ve(this.selectElement,"touchstart",t=>{e=this._isVisible})),this._register(Ve(this.selectElement,"touchend",t=>{An.stop(t),e?this.hideSelectDropDown(!0):this.showSelectDropDown()})),this._register(Ve(this.selectElement,ot.KEY_DOWN,t=>{const i=new or(t);let r=!1;On?(i.keyCode===18||i.keyCode===16||i.keyCode===10||i.keyCode===3)&&(r=!0):(i.keyCode===18&&i.altKey||i.keyCode===16&&i.altKey||i.keyCode===10||i.keyCode===3)&&(r=!0),r&&(this.showSelectDropDown(),An.stop(t,!0))}))}get onDidSelect(){return this._onDidSelect.event}setOptions(e,t){Nr(this.options,e)||(this.options=e,this.selectElement.options.length=0,this._hasDetails=!1,this._cachedMaxDetailsHeight=void 0,this.options.forEach((i,r)=>{this.selectElement.add(this.createOption(i.text,r,i.isDisabled)),typeof i.description=="string"&&(this._hasDetails=!0)})),t!==void 0&&(this.select(t),this._currentSelection=this.selected)}setOptionsList(){var e;(e=this.selectList)===null||e===void 0||e.splice(0,this.selectList.length,this.options)}select(e){e>=0&&ethis.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)}focus(){this.selectElement&&(this.selectElement.tabIndex=0,this.selectElement.focus())}blur(){this.selectElement&&(this.selectElement.tabIndex=-1,this.selectElement.blur())}setFocusable(e){this.selectElement.tabIndex=e?0:-1}render(e){this.container=e,e.classList.add("select-container"),e.appendChild(this.selectElement),this.styleSelectElement()}initStyleSheet(){const e=[];this.styles.listFocusBackground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { background-color: ${this.styles.listFocusBackground} !important; }`),this.styles.listFocusForeground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { color: ${this.styles.listFocusForeground} !important; }`),this.styles.decoratorRightForeground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.focused) .option-decorator-right { color: ${this.styles.decoratorRightForeground}; }`),this.styles.selectBackground&&this.styles.selectBorder&&this.styles.selectBorder!==this.styles.selectBackground?(e.push(`.monaco-select-box-dropdown-container { border: 1px solid ${this.styles.selectBorder} } `),e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectBorder} } `),e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectBorder} } `)):this.styles.selectListBorder&&(e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectListBorder} } `),e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectListBorder} } `)),this.styles.listHoverForeground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { color: ${this.styles.listHoverForeground} !important; }`),this.styles.listHoverBackground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { background-color: ${this.styles.listHoverBackground} !important; }`),this.styles.listFocusOutline&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { outline: 1.6px dotted ${this.styles.listFocusOutline} !important; outline-offset: -1.6px !important; }`),this.styles.listHoverOutline&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { outline: 1.6px dashed ${this.styles.listHoverOutline} !important; outline-offset: -1.6px !important; }`),e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled.focused { background-color: transparent !important; color: inherit !important; outline: none !important; }"),e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled:hover { background-color: transparent !important; color: inherit !important; outline: none !important; }"),this.styleElement.textContent=e.join(` +`)}styleSelectElement(){var e,t,i;const r=(e=this.styles.selectBackground)!==null&&e!==void 0?e:"",o=(t=this.styles.selectForeground)!==null&&t!==void 0?t:"",s=(i=this.styles.selectBorder)!==null&&i!==void 0?i:"";this.selectElement.style.backgroundColor=r,this.selectElement.style.color=o,this.selectElement.style.borderColor=s}styleList(){var e,t;const i=(e=this.styles.selectBackground)!==null&&e!==void 0?e:"",r=Ng(this.styles.selectListBackground,i);this.selectDropDownListContainer.style.backgroundColor=r,this.selectionDetailsPane.style.backgroundColor=r;const o=(t=this.styles.focusBorder)!==null&&t!==void 0?t:"";this.selectDropDownContainer.style.outlineColor=o,this.selectDropDownContainer.style.outlineOffset="-1px",this.selectList.style(this.styles)}createOption(e,t,i){const r=document.createElement("option");return r.value=e,r.text=e,r.disabled=!!i,r}showSelectDropDown(){this.selectionDetailsPane.innerText="",!(!this.contextViewProvider||this._isVisible)&&(this.createSelectList(this.selectDropDownContainer),this.setOptionsList(),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:e=>this.renderSelectDropDown(e,!0),layout:()=>{this.layoutSelectDropDown()},onHide:()=>{this.selectDropDownContainer.classList.remove("visible"),this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._isVisible=!0,this.hideSelectDropDown(!1),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:e=>this.renderSelectDropDown(e),layout:()=>this.layoutSelectDropDown(),onHide:()=>{this.selectDropDownContainer.classList.remove("visible"),this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._currentSelection=this.selected,this._isVisible=!0,this.selectElement.setAttribute("aria-expanded","true"))}hideSelectDropDown(e){!this.contextViewProvider||!this._isVisible||(this._isVisible=!1,this.selectElement.setAttribute("aria-expanded","false"),e&&this.selectElement.focus(),this.contextViewProvider.hideContextView())}renderSelectDropDown(e,t){return e.appendChild(this.selectDropDownContainer),this.layoutSelectDropDown(t),{dispose:()=>{try{e.removeChild(this.selectDropDownContainer)}catch{}}}}measureMaxDetailsHeight(){let e=0;return this.options.forEach((t,i)=>{this.updateDetail(i),this.selectionDetailsPane.offsetHeight>e&&(e=this.selectionDetailsPane.offsetHeight)}),e}layoutSelectDropDown(e){if(this._skipLayout)return!1;if(this.selectList){this.selectDropDownContainer.classList.add("visible");const t=Qt(this.selectElement),i=po(this.selectElement),r=Qt(this.selectElement).getComputedStyle(this.selectElement),o=parseFloat(r.getPropertyValue("--dropdown-padding-top"))+parseFloat(r.getPropertyValue("--dropdown-padding-bottom")),s=t.innerHeight-i.top-i.height-(this.selectBoxOptions.minBottomMargin||0),a=i.top-Cf.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN,l=this.selectElement.offsetWidth,u=this.setWidthControlElement(this.widthControlElement),c=Math.max(u,Math.round(l)).toString()+"px";this.selectDropDownContainer.style.width=c,this.selectList.getHTMLElement().style.height="",this.selectList.layout();let d=this.selectList.contentHeight;this._hasDetails&&this._cachedMaxDetailsHeight===void 0&&(this._cachedMaxDetailsHeight=this.measureMaxDetailsHeight());const h=this._hasDetails?this._cachedMaxDetailsHeight:0,m=d+o+h,f=Math.floor((s-o-h)/this.getHeight()),g=Math.floor((a-o-h)/this.getHeight());if(e)return i.top+i.height>t.innerHeight-22||i.topf&&this.options.length>f?(this._dropDownPosition=1,this.selectDropDownContainer.removeChild(this.selectDropDownListContainer),this.selectDropDownContainer.removeChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectionDetailsPane.classList.remove("border-top"),this.selectionDetailsPane.classList.add("border-bottom")):(this._dropDownPosition=0,this.selectDropDownContainer.removeChild(this.selectDropDownListContainer),this.selectDropDownContainer.removeChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectionDetailsPane.classList.remove("border-bottom"),this.selectionDetailsPane.classList.add("border-top")),!0);if(i.top+i.height>t.innerHeight-22||i.tops&&(d=f*this.getHeight())}else m>a&&(d=g*this.getHeight());return this.selectList.layout(d),this.selectList.domFocus(),this.selectList.length>0&&(this.selectList.setFocus([this.selected||0]),this.selectList.reveal(this.selectList.getFocus()[0]||0)),this._hasDetails?(this.selectList.getHTMLElement().style.height=d+o+"px",this.selectDropDownContainer.style.height=""):this.selectDropDownContainer.style.height=d+o+"px",this.updateDetail(this.selected),this.selectDropDownContainer.style.width=c,this.selectDropDownListContainer.setAttribute("tabindex","0"),this.selectElement.classList.add("synthetic-focus"),this.selectDropDownContainer.classList.add("synthetic-focus"),!0}else return!1}setWidthControlElement(e){let t=0;if(e){let i=0,r=0;this.options.forEach((o,s)=>{const a=o.detail?o.detail.length:0,l=o.decoratorRight?o.decoratorRight.length:0,u=o.text.length+a+l;u>r&&(i=s,r=u)}),e.textContent=this.options[i].text+(this.options[i].decoratorRight?this.options[i].decoratorRight+" ":""),t=Qa(e)}return t}createSelectList(e){if(this.selectList)return;this.selectDropDownListContainer=je(e,Mv(".select-box-dropdown-list-container")),this.listRenderer=new Pxt,this.selectList=new Ju("SelectBoxCustom",this.selectDropDownListContainer,this,[this.listRenderer],{useShadows:!1,verticalScrollMode:3,keyboardSupport:!1,mouseSupport:!1,accessibilityProvider:{getAriaLabel:r=>{let o=r.text;return r.detail&&(o+=`. ${r.detail}`),r.decoratorRight&&(o+=`. ${r.decoratorRight}`),r.description&&(o+=`. ${r.description}`),o},getWidgetAriaLabel:()=>_({key:"selectBox",comment:["Behave like native select dropdown element."]},"Select Box"),getRole:()=>On?"":"option",getWidgetRole:()=>"listbox"}}),this.selectBoxOptions.ariaLabel&&(this.selectList.ariaLabel=this.selectBoxOptions.ariaLabel);const t=this._register(new Jn(this.selectDropDownListContainer,"keydown")),i=lt.chain(t.event,r=>r.filter(()=>this.selectList.length>0).map(o=>new or(o)));this._register(lt.chain(i,r=>r.filter(o=>o.keyCode===3))(this.onEnter,this)),this._register(lt.chain(i,r=>r.filter(o=>o.keyCode===2))(this.onEnter,this)),this._register(lt.chain(i,r=>r.filter(o=>o.keyCode===9))(this.onEscape,this)),this._register(lt.chain(i,r=>r.filter(o=>o.keyCode===16))(this.onUpArrow,this)),this._register(lt.chain(i,r=>r.filter(o=>o.keyCode===18))(this.onDownArrow,this)),this._register(lt.chain(i,r=>r.filter(o=>o.keyCode===12))(this.onPageDown,this)),this._register(lt.chain(i,r=>r.filter(o=>o.keyCode===11))(this.onPageUp,this)),this._register(lt.chain(i,r=>r.filter(o=>o.keyCode===14))(this.onHome,this)),this._register(lt.chain(i,r=>r.filter(o=>o.keyCode===13))(this.onEnd,this)),this._register(lt.chain(i,r=>r.filter(o=>o.keyCode>=21&&o.keyCode<=56||o.keyCode>=85&&o.keyCode<=113))(this.onCharacter,this)),this._register(Ve(this.selectList.getHTMLElement(),ot.POINTER_UP,r=>this.onPointerUp(r))),this._register(this.selectList.onMouseOver(r=>typeof r.index<"u"&&this.selectList.setFocus([r.index]))),this._register(this.selectList.onDidChangeFocus(r=>this.onListFocus(r))),this._register(Ve(this.selectDropDownContainer,ot.FOCUS_OUT,r=>{!this._isVisible||ps(r.relatedTarget,this.selectDropDownContainer)||this.onListBlur()})),this.selectList.getHTMLElement().setAttribute("aria-label",this.selectBoxOptions.ariaLabel||""),this.selectList.getHTMLElement().setAttribute("aria-expanded","true"),this.styleList()}onPointerUp(e){if(!this.selectList.length)return;An.stop(e);const t=e.target;if(!t||t.classList.contains("slider"))return;const i=t.closest(".monaco-list-row");if(!i)return;const r=Number(i.getAttribute("data-index")),o=i.classList.contains("option-disabled");r>=0&&r{for(let s=0;sthis.selected+2)this.selected+=2;else{if(t)return;this.selected++}this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0])}}onUpArrow(e){this.selected>0&&(An.stop(e,!0),this.options[this.selected-1].isDisabled&&this.selected>1?this.selected-=2:this.selected--,this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0]))}onPageUp(e){An.stop(e),this.selectList.focusPreviousPage(),setTimeout(()=>{this.selected=this.selectList.getFocus()[0],this.options[this.selected].isDisabled&&this.selected{this.selected=this.selectList.getFocus()[0],this.options[this.selected].isDisabled&&this.selected>0&&(this.selected--,this.selectList.setFocus([this.selected])),this.selectList.reveal(this.selected),this.select(this.selected)},1)}onHome(e){An.stop(e),!(this.options.length<2)&&(this.selected=0,this.options[this.selected].isDisabled&&this.selected>1&&this.selected++,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onEnd(e){An.stop(e),!(this.options.length<2)&&(this.selected=this.options.length-1,this.options[this.selected].isDisabled&&this.selected>1&&this.selected--,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onCharacter(e){const t=xg.toString(e.keyCode);let i=-1;for(let r=0;r{this._register(Ve(this.selectElement,e,t=>{this.selectElement.focus()}))}),this._register(Gr(this.selectElement,"click",e=>{An.stop(e,!0)})),this._register(Gr(this.selectElement,"change",e=>{this.selectElement.title=e.target.value,this._onDidSelect.fire({index:e.target.selectedIndex,selected:e.target.value})})),this._register(Gr(this.selectElement,"keydown",e=>{let t=!1;On?(e.keyCode===18||e.keyCode===16||e.keyCode===10)&&(t=!0):(e.keyCode===18&&e.altKey||e.keyCode===10||e.keyCode===3)&&(t=!0),t&&e.stopPropagation()}))}get onDidSelect(){return this._onDidSelect.event}setOptions(e,t){(!this.options||!Nr(this.options,e))&&(this.options=e,this.selectElement.options.length=0,this.options.forEach((i,r)=>{this.selectElement.add(this.createOption(i.text,r,i.isDisabled))})),t!==void 0&&this.select(t)}select(e){this.options.length===0?this.selected=0:e>=0&&ethis.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.selected{this.element&&this.handleActionChangeEvent(r)}))}handleActionChangeEvent(e){e.enabled!==void 0&&this.updateEnabled(),e.checked!==void 0&&this.updateChecked(),e.class!==void 0&&this.updateClass(),e.label!==void 0&&(this.updateLabel(),this.updateTooltip()),e.tooltip!==void 0&&this.updateTooltip()}get actionRunner(){return this._actionRunner||(this._actionRunner=this._register(new Ky)),this._actionRunner}set actionRunner(e){this._actionRunner=e}isEnabled(){return this._action.enabled}setActionContext(e){this._context=e}render(e){const t=this.element=e;this._register(nr.addTarget(e));const i=this.options&&this.options.draggable;i&&(e.draggable=!0,Ic&&this._register(Ve(e,ot.DRAG_START,r=>{var o;return(o=r.dataTransfer)===null||o===void 0?void 0:o.setData(ZD.TEXT,this._action.label)}))),this._register(Ve(t,tr.Tap,r=>this.onClick(r,!0))),this._register(Ve(t,ot.MOUSE_DOWN,r=>{i||An.stop(r,!0),this._action.enabled&&r.button===0&&t.classList.add("active")})),On&&this._register(Ve(t,ot.CONTEXT_MENU,r=>{r.button===0&&r.ctrlKey===!0&&this.onClick(r)})),this._register(Ve(t,ot.CLICK,r=>{An.stop(r,!0),this.options&&this.options.isMenu||this.onClick(r)})),this._register(Ve(t,ot.DBLCLICK,r=>{An.stop(r,!0)})),[ot.MOUSE_UP,ot.MOUSE_OUT].forEach(r=>{this._register(Ve(t,r,o=>{An.stop(o),t.classList.remove("active")}))})}onClick(e,t=!1){var i;An.stop(e,!0);const r=Zu(this._context)?!((i=this.options)===null||i===void 0)&&i.useEventAsContext?e:{preserveFocus:t}:this._context;this.actionRunner.run(this._action,r)}focus(){this.element&&(this.element.tabIndex=0,this.element.focus(),this.element.classList.add("focused"))}blur(){this.element&&(this.element.blur(),this.element.tabIndex=-1,this.element.classList.remove("focused"))}setFocusable(e){this.element&&(this.element.tabIndex=e?0:-1)}get trapsArrowNavigation(){return!1}updateEnabled(){}updateLabel(){}getClass(){return this.action.class}getTooltip(){return this.action.tooltip}updateTooltip(){var e,t,i;if(!this.element)return;const r=(e=this.getTooltip())!==null&&e!==void 0?e:"";if(this.updateAriaLabel(),!((t=this.options.hoverDelegate)===null||t===void 0)&&t.showNativeHover)this.element.title=r;else if(!this.customHover&&r!==""){const o=(i=this.options.hoverDelegate)!==null&&i!==void 0?i:Pl("element");this.customHover=this._store.add(Wd(o,this.element,r))}else this.customHover&&this.customHover.update(r)}updateAriaLabel(){var e;if(this.element){const t=(e=this.getTooltip())!==null&&e!==void 0?e:"";this.element.setAttribute("aria-label",t)}}updateClass(){}updateChecked(){}dispose(){this.element&&(this.element.remove(),this.element=void 0),this._context=void 0,super.dispose()}}class M2 extends Uh{constructor(e,t,i){super(e,t,i),this.options=i,this.options.icon=i.icon!==void 0?i.icon:!1,this.options.label=i.label!==void 0?i.label:!0,this.cssClass=""}render(e){super.render(e),hi(this.element);const t=document.createElement("a");if(t.classList.add("action-label"),t.setAttribute("role",this.getDefaultAriaRole()),this.label=t,this.element.appendChild(t),this.options.label&&this.options.keybinding){const i=document.createElement("span");i.classList.add("keybinding"),i.textContent=this.options.keybinding,this.element.appendChild(i)}this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked()}getDefaultAriaRole(){return this._action.id===Ao.ID?"presentation":this.options.isMenu?"menuitem":"button"}focus(){this.label&&(this.label.tabIndex=0,this.label.focus())}blur(){this.label&&(this.label.tabIndex=-1)}setFocusable(e){this.label&&(this.label.tabIndex=e?0:-1)}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this.action.label)}getTooltip(){let e=null;return this.action.tooltip?e=this.action.tooltip:!this.options.label&&this.action.label&&this.options.icon&&(e=this.action.label,this.options.keybinding&&(e=_({key:"titleLabel",comment:["action title","action keybinding"]},"{0} ({1})",e,this.options.keybinding))),e??void 0}updateClass(){var e;this.cssClass&&this.label&&this.label.classList.remove(...this.cssClass.split(" ")),this.options.icon?(this.cssClass=this.getClass(),this.label&&(this.label.classList.add("codicon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" "))),this.updateEnabled()):(e=this.label)===null||e===void 0||e.classList.remove("codicon")}updateEnabled(){var e,t;this.action.enabled?(this.label&&(this.label.removeAttribute("aria-disabled"),this.label.classList.remove("disabled")),(e=this.element)===null||e===void 0||e.classList.remove("disabled")):(this.label&&(this.label.setAttribute("aria-disabled","true"),this.label.classList.add("disabled")),(t=this.element)===null||t===void 0||t.classList.add("disabled"))}updateAriaLabel(){var e;if(this.label){const t=(e=this.getTooltip())!==null&&e!==void 0?e:"";this.label.setAttribute("aria-label",t)}}updateChecked(){this.label&&(this.action.checked!==void 0?(this.label.classList.toggle("checked",this.action.checked),this.label.setAttribute("aria-checked",this.action.checked?"true":"false"),this.label.setAttribute("role","checkbox")):(this.label.classList.remove("checked"),this.label.removeAttribute("aria-checked"),this.label.setAttribute("role",this.getDefaultAriaRole())))}}class zxt extends Uh{constructor(e,t,i,r,o,s,a){super(e,t),this.selectBox=new Bxt(i,r,o,s,a),this.selectBox.setFocusable(!1),this._register(this.selectBox),this.registerListeners()}select(e){this.selectBox.select(e)}registerListeners(){this._register(this.selectBox.onDidSelect(e=>this.runAction(e.selected,e.index)))}runAction(e,t){this.actionRunner.run(this._action,this.getActionContext(e,t))}getActionContext(e,t){return e}setFocusable(e){this.selectBox.setFocusable(e)}focus(){var e;(e=this.selectBox)===null||e===void 0||e.focus()}blur(){var e;(e=this.selectBox)===null||e===void 0||e.blur()}render(e){this.selectBox.render(e)}}class Uc extends Fe{constructor(e,t={}){var i,r,o,s,a,l,u;super(),this._actionRunnerDisposables=this._register(new Je),this.viewItemDisposables=this._register(new VH),this.triggerKeyDown=!1,this.focusable=!0,this._onDidBlur=this._register(new be),this.onDidBlur=this._onDidBlur.event,this._onDidCancel=this._register(new be({onWillAddFirstListener:()=>this.cancelHasListener=!0})),this.onDidCancel=this._onDidCancel.event,this.cancelHasListener=!1,this._onDidRun=this._register(new be),this.onDidRun=this._onDidRun.event,this._onWillRun=this._register(new be),this.onWillRun=this._onWillRun.event,this.options=t,this._context=(i=t.context)!==null&&i!==void 0?i:null,this._orientation=(r=this.options.orientation)!==null&&r!==void 0?r:0,this._triggerKeys={keyDown:(s=(o=this.options.triggerKeys)===null||o===void 0?void 0:o.keyDown)!==null&&s!==void 0?s:!1,keys:(l=(a=this.options.triggerKeys)===null||a===void 0?void 0:a.keys)!==null&&l!==void 0?l:[3,10]},this._hoverDelegate=(u=t.hoverDelegate)!==null&&u!==void 0?u:this._register(I2()),this.options.actionRunner?this._actionRunner=this.options.actionRunner:(this._actionRunner=new Ky,this._actionRunnerDisposables.add(this._actionRunner)),this._actionRunnerDisposables.add(this._actionRunner.onDidRun(h=>this._onDidRun.fire(h))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun(h=>this._onWillRun.fire(h))),this.viewItems=[],this.focusedItem=void 0,this.domNode=document.createElement("div"),this.domNode.className="monaco-action-bar";let c,d;switch(this._orientation){case 0:c=[15],d=[17];break;case 1:c=[16],d=[18],this.domNode.className+=" vertical";break}this._register(Ve(this.domNode,ot.KEY_DOWN,h=>{const m=new or(h);let f=!0;const g=typeof this.focusedItem=="number"?this.viewItems[this.focusedItem]:void 0;c&&(m.equals(c[0])||m.equals(c[1]))?f=this.focusPrevious():d&&(m.equals(d[0])||m.equals(d[1]))?f=this.focusNext():m.equals(9)&&this.cancelHasListener?this._onDidCancel.fire():m.equals(14)?f=this.focusFirst():m.equals(13)?f=this.focusLast():m.equals(2)&&g instanceof Uh&&g.trapsArrowNavigation?f=this.focusNext():this.isTriggerKeyEvent(m)?this._triggerKeys.keyDown?this.doTrigger(m):this.triggerKeyDown=!0:f=!1,f&&(m.preventDefault(),m.stopPropagation())})),this._register(Ve(this.domNode,ot.KEY_UP,h=>{const m=new or(h);this.isTriggerKeyEvent(m)?(!this._triggerKeys.keyDown&&this.triggerKeyDown&&(this.triggerKeyDown=!1,this.doTrigger(m)),m.preventDefault(),m.stopPropagation()):(m.equals(2)||m.equals(1026)||m.equals(16)||m.equals(18)||m.equals(15)||m.equals(17))&&this.updateFocusedItem()})),this.focusTracker=this._register(Dh(this.domNode)),this._register(this.focusTracker.onDidBlur(()=>{(js()===this.domNode||!ps(js(),this.domNode))&&(this._onDidBlur.fire(),this.previouslyFocusedItem=this.focusedItem,this.focusedItem=void 0,this.triggerKeyDown=!1)})),this._register(this.focusTracker.onDidFocus(()=>this.updateFocusedItem())),this.actionsList=document.createElement("ul"),this.actionsList.className="actions-container",this.options.highlightToggledItems&&this.actionsList.classList.add("highlight-toggled"),this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"),this.options.ariaLabel&&this.actionsList.setAttribute("aria-label",this.options.ariaLabel),this.domNode.appendChild(this.actionsList),e.appendChild(this.domNode)}refreshRole(){this.length()>=1?this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"):this.actionsList.setAttribute("role","presentation")}setFocusable(e){if(this.focusable=e,this.focusable){const t=this.viewItems.find(i=>i instanceof Uh&&i.isEnabled());t instanceof Uh&&t.setFocusable(!0)}else this.viewItems.forEach(t=>{t instanceof Uh&&t.setFocusable(!1)})}isTriggerKeyEvent(e){let t=!1;return this._triggerKeys.keys.forEach(i=>{t=t||e.equals(i)}),t}updateFocusedItem(){var e,t;for(let i=0;it.setActionContext(e))}get actionRunner(){return this._actionRunner}set actionRunner(e){this._actionRunner=e,this._actionRunnerDisposables.clear(),this._actionRunnerDisposables.add(this._actionRunner.onDidRun(t=>this._onDidRun.fire(t))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun(t=>this._onWillRun.fire(t))),this.viewItems.forEach(t=>t.actionRunner=e)}getContainer(){return this.domNode}getAction(e){var t;if(typeof e=="number")return(t=this.viewItems[e])===null||t===void 0?void 0:t.action;if(e instanceof HTMLElement){for(;e.parentElement!==this.actionsList;){if(!e.parentElement)return;e=e.parentElement}for(let i=0;i{const s=document.createElement("li");s.className="action-item",s.setAttribute("role","presentation");let a;const l={hoverDelegate:this._hoverDelegate,...t};this.options.actionViewItemProvider&&(a=this.options.actionViewItemProvider(o,l)),a||(a=new M2(this.context,o,l)),this.options.allowContextMenu||this.viewItemDisposables.set(a,Ve(s,ot.CONTEXT_MENU,u=>{An.stop(u,!0)})),a.actionRunner=this._actionRunner,a.setActionContext(this.context),a.render(s),this.focusable&&a instanceof Uh&&this.viewItems.length===0&&a.setFocusable(!0),r===null||r<0||r>=this.actionsList.children.length?(this.actionsList.appendChild(s),this.viewItems.push(a)):(this.actionsList.insertBefore(s,this.actionsList.children[r]),this.viewItems.splice(r,0,a),r++)}),typeof this.focusedItem=="number"&&this.focus(this.focusedItem),this.refreshRole()}clear(){this.isEmpty()||(this.viewItems=qi(this.viewItems),this.viewItemDisposables.clearAndDisposeAll(),ma(this.actionsList),this.refreshRole())}length(){return this.viewItems.length}isEmpty(){return this.viewItems.length===0}focus(e){let t=!1,i;if(e===void 0?t=!0:typeof e=="number"?i=e:typeof e=="boolean"&&(t=e),t&&typeof this.focusedItem>"u"){const r=this.viewItems.findIndex(o=>o.isEnabled());this.focusedItem=r===-1?void 0:r,this.updateFocus(void 0,void 0,!0)}else i!==void 0&&(this.focusedItem=i),this.updateFocus(void 0,void 0,!0)}focusFirst(){return this.focusedItem=this.length()-1,this.focusNext(!0)}focusLast(){return this.focusedItem=0,this.focusPrevious(!0)}focusNext(e){if(typeof this.focusedItem>"u")this.focusedItem=this.viewItems.length-1;else if(this.viewItems.length<=1)return!1;const t=this.focusedItem;let i;do{if(!e&&this.options.preventLoopNavigation&&this.focusedItem+1>=this.viewItems.length)return this.focusedItem=t,!1;this.focusedItem=(this.focusedItem+1)%this.viewItems.length,i=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&(this.options.focusOnlyEnabledItems&&!i.isEnabled()||i.action.id===Ao.ID));return this.updateFocus(),!0}focusPrevious(e){if(typeof this.focusedItem>"u")this.focusedItem=0;else if(this.viewItems.length<=1)return!1;const t=this.focusedItem;let i;do{if(this.focusedItem=this.focusedItem-1,this.focusedItem<0){if(!e&&this.options.preventLoopNavigation)return this.focusedItem=t,!1;this.focusedItem=this.viewItems.length-1}i=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&(this.options.focusOnlyEnabledItems&&!i.isEnabled()||i.action.id===Ao.ID));return this.updateFocus(!0),!0}updateFocus(e,t,i=!1){var r,o;typeof this.focusedItem>"u"&&this.actionsList.focus({preventScroll:t}),this.previouslyFocusedItem!==void 0&&this.previouslyFocusedItem!==this.focusedItem&&((r=this.viewItems[this.previouslyFocusedItem])===null||r===void 0||r.blur());const s=this.focusedItem!==void 0?this.viewItems[this.focusedItem]:void 0;if(s){let a=!0;MR(s.focus)||(a=!1),this.options.focusOnlyEnabledItems&&MR(s.isEnabled)&&!s.isEnabled()&&(a=!1),s.action.id===Ao.ID&&(a=!1),a?(i||this.previouslyFocusedItem!==this.focusedItem)&&(s.focus(e),this.previouslyFocusedItem=this.focusedItem):(this.actionsList.focus({preventScroll:t}),this.previouslyFocusedItem=void 0),a&&((o=s.showHover)===null||o===void 0||o.call(s))}}doTrigger(e){if(typeof this.focusedItem>"u")return;const t=this.viewItems[this.focusedItem];if(t instanceof Uh){const i=t._context===null||t._context===void 0?e:t._context;this.run(t._action,i)}}async run(e,t){await this._actionRunner.run(e,t)}dispose(){this._context=void 0,this.viewItems=qi(this.viewItems),this.getContainer().remove(),super.dispose()}}function bU(){return cY&&!!cY.VSCODE_DEV}function fSe(n){if(bU()){const e=Hxt();return e.add(n),{dispose(){e.delete(n)}}}else return{dispose(){}}}function Hxt(){yW||(yW=new Set);const n=globalThis;return n.$hotReload_applyNewExports||(n.$hotReload_applyNewExports=e=>{const t={config:{mode:void 0},...e};for(const i of yW){const r=i(t);if(r)return r}}),yW}let yW;bU()&&fSe(({oldExports:n,newSrc:e,config:t})=>{if(t.mode==="patch-prototype")return i=>{var r,o;for(const s in i){const a=i[s];if(typeof a=="function"&&a.prototype){const l=n[s];if(l){for(const u of Object.getOwnPropertyNames(a.prototype)){const c=Object.getOwnPropertyDescriptor(a.prototype,u),d=Object.getOwnPropertyDescriptor(l.prototype,u);(r=c==null?void 0:c.value)===null||r===void 0||r.toString(),(o=d==null?void 0:d.value)===null||o===void 0||o.toString(),Object.defineProperty(l.prototype,u,c)}i[s]=l}}}return!0}});function Yxt(n,e,t,i){if(n.length===0)return e;if(e.length===0)return n;const r=[];let o=0,s=0;for(;oc?(r.push(l),s++):(r.push(i(a,l)),o++,s++)}for(;o`Apply decorations from ${e.debugName}`},r=>{const o=e.read(r);i.set(o)})),t.add({dispose:()=>{i.clear()}}),t}function BD(n,e){return n.appendChild(e),jt(()=>{n.removeChild(e)})}function Uxt(n,e){return n.prepend(e),jt(()=>{n.removeChild(e)})}class gSe extends Fe{get width(){return this._width}get height(){return this._height}constructor(e,t){super(),this.elementSizeObserver=this._register(new K1e(e,t)),this._width=ei(this,this.elementSizeObserver.getWidth()),this._height=ei(this,this.elementSizeObserver.getHeight()),this._register(this.elementSizeObserver.onDidChange(i=>Bi(r=>{this._width.set(this.elementSizeObserver.getWidth(),r),this._height.set(this.elementSizeObserver.getHeight(),r)})))}observe(e){this.elementSizeObserver.observe(e)}setAutomaticLayout(e){e?this.elementSizeObserver.startObserving():this.elementSizeObserver.stopObserving()}}function pSe(n,e,t){let i=e.get(),r=i,o=i;const s=ei("animatedValue",i);let a=-1;const l=300;let u;t.add(ED({createEmptyChangeSummary:()=>({animate:!1}),handleChange:(d,h)=>(d.didChange(e)&&(h.animate=h.animate||d.change),!0)},(d,h)=>{u!==void 0&&(n.cancelAnimationFrame(u),u=void 0),r=o,i=e.read(d),a=Date.now()-(h.animate?0:l),c()}));function c(){const d=Date.now()-a;o=Math.floor(Kxt(d,r,i-r,l)),d{this._actualTop.set(i,void 0)},this.onComputedHeight=i=>{this._actualHeight.set(i,void 0)}}}class SW{constructor(e,t){this._editor=e,this._domElement=t,this._overlayWidgetId=`managedOverlayWidget-${SW._counter++}`,this._overlayWidget={getId:()=>this._overlayWidgetId,getDomNode:()=>this._domElement,getPosition:()=>null},this._editor.addOverlayWidget(this._overlayWidget)}dispose(){this._editor.removeOverlayWidget(this._overlayWidget)}}SW._counter=0;function dp(n,e){return Rn(t=>{for(let[i,r]of Object.entries(e))r&&typeof r=="object"&&"read"in r&&(r=r.read(t)),typeof r=="number"&&(r=`${r}px`),i=i.replace(/[A-Z]/g,o=>"-"+o.toLowerCase()),n.style[i]=r})}function Ad(n,e){return Jxt([n],e),n}function Jxt(n,e){bU()&&ba("reload",i=>fSe(({oldExports:r})=>{if([...Object.values(r)].some(o=>n.includes(o)))return o=>(i(void 0),!0)})).read(e)}function wW(n,e,t,i){const r=new Je,o=[];return r.add(Hc((s,a)=>{const l=e.read(s),u=new Map,c=new Map;t&&t(!0),n.changeViewZones(d=>{for(const h of o)d.removeZone(h),i==null||i.delete(h);o.length=0;for(const h of l){const m=d.addZone(h);h.setZoneId&&h.setZoneId(m),o.push(m),i==null||i.add(m),u.set(h,m)}}),t&&t(!1),a.add(ED({createEmptyChangeSummary(){return{zoneIds:[]}},handleChange(d,h){const m=c.get(d.changedObservable);return m!==void 0&&h.zoneIds.push(m),!0}},(d,h)=>{for(const m of l)m.onChange&&(c.set(m.onChange,u.get(m)),m.onChange.read(d));t&&t(!0),n.changeViewZones(m=>{for(const f of h.zoneIds)m.layoutZone(f)}),t&&t(!1)}))})),r.add({dispose(){t&&t(!0),n.changeViewZones(s=>{for(const a of o)s.removeZone(a)}),i==null||i.clear(),t&&t(!1)}}),r}class jxt extends fo{dispose(){super.dispose(!0)}}function ySe(n,e){const t=FZ(e,r=>r.original.startLineNumber<=n.lineNumber);if(!t)return J.fromPositions(n);if(t.original.endLineNumberExclusive<=n.lineNumber){const r=n.lineNumber-t.original.endLineNumberExclusive+t.modified.endLineNumberExclusive;return J.fromPositions(new ve(r,n.column))}if(!t.innerChanges)return J.fromPositions(new ve(t.modified.startLineNumber,1));const i=FZ(t.innerChanges,r=>r.originalRange.getStartPosition().isBeforeOrEqual(n));if(!i){const r=n.lineNumber-t.original.startLineNumber+t.modified.startLineNumber;return J.fromPositions(new ve(r,n.column))}if(i.originalRange.containsPosition(n))return i.modifiedRange;{const r=Qxt(i.originalRange.getEndPosition(),n);return J.fromPositions(r.addToPosition(i.modifiedRange.getEndPosition()))}}function Qxt(n,e){return n.lineNumber===e.lineNumber?new Zd(0,e.column-n.column):new Zd(e.lineNumber-n.lineNumber,e.column-1)}function hp(n,e,t){const i=n.bindTo(e);return rW({debugName:()=>`Set Context Key "${n.key}"`},r=>{i.set(t(r))})}function $xt(n,e){let t;return n.filter(i=>{const r=e(i,t);return t=i,r})}class ll{static inverse(e,t,i){const r=[];let o=1,s=1;for(const l of e){const u=new ll(new dn(o,l.original.startLineNumber),new dn(s,l.modified.startLineNumber));u.modified.isEmpty||r.push(u),o=l.original.endLineNumberExclusive,s=l.modified.endLineNumberExclusive}const a=new ll(new dn(o,t+1),new dn(s,i+1));return a.modified.isEmpty||r.push(a),r}static clip(e,t,i){const r=[];for(const o of e){const s=o.original.intersect(t),a=o.modified.intersect(i);s&&!s.isEmpty&&a&&!a.isEmpty&&r.push(new ll(s,a))}return r}constructor(e,t){this.original=e,this.modified=t}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new ll(this.modified,this.original)}join(e){return new ll(this.original.join(e.original),this.modified.join(e.modified))}}class ju extends ll{static fromRangeMappings(e){const t=dn.join(e.map(r=>dn.fromRangeInclusive(r.originalRange))),i=dn.join(e.map(r=>dn.fromRangeInclusive(r.modifiedRange)));return new ju(t,i,e)}constructor(e,t,i){super(e,t),this.innerChanges=i}flip(){var e;return new ju(this.modified,this.original,(e=this.innerChanges)===null||e===void 0?void 0:e.map(t=>t.flip()))}withInnerChangesFromLineRanges(){return new ju(this.original,this.modified,[new mp(this.original.toExclusiveRange(),this.modified.toExclusiveRange())])}}class mp{constructor(e,t){this.originalRange=e,this.modifiedRange=t}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new mp(this.modifiedRange,this.originalRange)}}const L0=Un("accessibilitySignalService");class cn{static register(e){return new cn(e.fileName)}constructor(e){this.fileName=e}}cn.error=cn.register({fileName:"error.mp3"}),cn.warning=cn.register({fileName:"warning.mp3"}),cn.foldedArea=cn.register({fileName:"foldedAreas.mp3"}),cn.break=cn.register({fileName:"break.mp3"}),cn.quickFixes=cn.register({fileName:"quickFixes.mp3"}),cn.taskCompleted=cn.register({fileName:"taskCompleted.mp3"}),cn.taskFailed=cn.register({fileName:"taskFailed.mp3"}),cn.terminalBell=cn.register({fileName:"terminalBell.mp3"}),cn.diffLineInserted=cn.register({fileName:"diffLineInserted.mp3"}),cn.diffLineDeleted=cn.register({fileName:"diffLineDeleted.mp3"}),cn.diffLineModified=cn.register({fileName:"diffLineModified.mp3"}),cn.chatRequestSent=cn.register({fileName:"chatRequestSent.mp3"}),cn.chatResponsePending=cn.register({fileName:"chatResponsePending.mp3"}),cn.chatResponseReceived1=cn.register({fileName:"chatResponseReceived1.mp3"}),cn.chatResponseReceived2=cn.register({fileName:"chatResponseReceived2.mp3"}),cn.chatResponseReceived3=cn.register({fileName:"chatResponseReceived3.mp3"}),cn.chatResponseReceived4=cn.register({fileName:"chatResponseReceived4.mp3"}),cn.clear=cn.register({fileName:"clear.mp3"}),cn.save=cn.register({fileName:"save.mp3"}),cn.format=cn.register({fileName:"format.mp3"}),cn.voiceRecordingStarted=cn.register({fileName:"voiceRecordingStarted.mp3"}),cn.voiceRecordingStopped=cn.register({fileName:"voiceRecordingStopped.mp3"});class qxt{constructor(e){this.randomOneOf=e}}class xn{static register(e){const t=new qxt("randomOneOf"in e.sound?e.sound.randomOneOf:[e.sound]),i=new xn(t,e.name,e.legacySoundSettingsKey,e.settingsKey,e.legacyAnnouncementSettingsKey,e.announcementMessage);return xn._signals.add(i),i}constructor(e,t,i,r,o,s){this.sound=e,this.name=t,this.legacySoundSettingsKey=i,this.settingsKey=r,this.legacyAnnouncementSettingsKey=o,this.announcementMessage=s}}xn._signals=new Set,xn.error=xn.register({name:_("accessibilitySignals.lineHasError.name","Error on Line"),sound:cn.error,legacySoundSettingsKey:"audioCues.lineHasError",legacyAnnouncementSettingsKey:"accessibility.alert.error",announcementMessage:_("accessibility.signals.lineHasError","Error"),settingsKey:"accessibility.signals.lineHasError"}),xn.warning=xn.register({name:_("accessibilitySignals.lineHasWarning.name","Warning on Line"),sound:cn.warning,legacySoundSettingsKey:"audioCues.lineHasWarning",legacyAnnouncementSettingsKey:"accessibility.alert.warning",announcementMessage:_("accessibility.signals.lineHasWarning","Warning"),settingsKey:"accessibility.signals.lineHasWarning"}),xn.foldedArea=xn.register({name:_("accessibilitySignals.lineHasFoldedArea.name","Folded Area on Line"),sound:cn.foldedArea,legacySoundSettingsKey:"audioCues.lineHasFoldedArea",legacyAnnouncementSettingsKey:"accessibility.alert.foldedArea",announcementMessage:_("accessibility.signals.lineHasFoldedArea","Folded"),settingsKey:"accessibility.signals.lineHasFoldedArea"}),xn.break=xn.register({name:_("accessibilitySignals.lineHasBreakpoint.name","Breakpoint on Line"),sound:cn.break,legacySoundSettingsKey:"audioCues.lineHasBreakpoint",legacyAnnouncementSettingsKey:"accessibility.alert.breakpoint",announcementMessage:_("accessibility.signals.lineHasBreakpoint","Breakpoint"),settingsKey:"accessibility.signals.lineHasBreakpoint"}),xn.inlineSuggestion=xn.register({name:_("accessibilitySignals.lineHasInlineSuggestion.name","Inline Suggestion on Line"),sound:cn.quickFixes,legacySoundSettingsKey:"audioCues.lineHasInlineSuggestion",settingsKey:"accessibility.signals.lineHasInlineSuggestion"}),xn.terminalQuickFix=xn.register({name:_("accessibilitySignals.terminalQuickFix.name","Terminal Quick Fix"),sound:cn.quickFixes,legacySoundSettingsKey:"audioCues.terminalQuickFix",legacyAnnouncementSettingsKey:"accessibility.alert.terminalQuickFix",announcementMessage:_("accessibility.signals.terminalQuickFix","Quick Fix"),settingsKey:"accessibility.signals.terminalQuickFix"}),xn.onDebugBreak=xn.register({name:_("accessibilitySignals.onDebugBreak.name","Debugger Stopped on Breakpoint"),sound:cn.break,legacySoundSettingsKey:"audioCues.onDebugBreak",legacyAnnouncementSettingsKey:"accessibility.alert.onDebugBreak",announcementMessage:_("accessibility.signals.onDebugBreak","Breakpoint"),settingsKey:"accessibility.signals.onDebugBreak"}),xn.noInlayHints=xn.register({name:_("accessibilitySignals.noInlayHints","No Inlay Hints on Line"),sound:cn.error,legacySoundSettingsKey:"audioCues.noInlayHints",legacyAnnouncementSettingsKey:"accessibility.alert.noInlayHints",announcementMessage:_("accessibility.signals.noInlayHints","No Inlay Hints"),settingsKey:"accessibility.signals.noInlayHints"}),xn.taskCompleted=xn.register({name:_("accessibilitySignals.taskCompleted","Task Completed"),sound:cn.taskCompleted,legacySoundSettingsKey:"audioCues.taskCompleted",legacyAnnouncementSettingsKey:"accessibility.alert.taskCompleted",announcementMessage:_("accessibility.signals.taskCompleted","Task Completed"),settingsKey:"accessibility.signals.taskCompleted"}),xn.taskFailed=xn.register({name:_("accessibilitySignals.taskFailed","Task Failed"),sound:cn.taskFailed,legacySoundSettingsKey:"audioCues.taskFailed",legacyAnnouncementSettingsKey:"accessibility.alert.taskFailed",announcementMessage:_("accessibility.signals.taskFailed","Task Failed"),settingsKey:"accessibility.signals.taskFailed"}),xn.terminalCommandFailed=xn.register({name:_("accessibilitySignals.terminalCommandFailed","Terminal Command Failed"),sound:cn.error,legacySoundSettingsKey:"audioCues.terminalCommandFailed",legacyAnnouncementSettingsKey:"accessibility.alert.terminalCommandFailed",announcementMessage:_("accessibility.signals.terminalCommandFailed","Command Failed"),settingsKey:"accessibility.signals.terminalCommandFailed"}),xn.terminalBell=xn.register({name:_("accessibilitySignals.terminalBell","Terminal Bell"),sound:cn.terminalBell,legacySoundSettingsKey:"audioCues.terminalBell",legacyAnnouncementSettingsKey:"accessibility.alert.terminalBell",announcementMessage:_("accessibility.signals.terminalBell","Terminal Bell"),settingsKey:"accessibility.signals.terminalBell"}),xn.notebookCellCompleted=xn.register({name:_("accessibilitySignals.notebookCellCompleted","Notebook Cell Completed"),sound:cn.taskCompleted,legacySoundSettingsKey:"audioCues.notebookCellCompleted",legacyAnnouncementSettingsKey:"accessibility.alert.notebookCellCompleted",announcementMessage:_("accessibility.signals.notebookCellCompleted","Notebook Cell Completed"),settingsKey:"accessibility.signals.notebookCellCompleted"}),xn.notebookCellFailed=xn.register({name:_("accessibilitySignals.notebookCellFailed","Notebook Cell Failed"),sound:cn.taskFailed,legacySoundSettingsKey:"audioCues.notebookCellFailed",legacyAnnouncementSettingsKey:"accessibility.alert.notebookCellFailed",announcementMessage:_("accessibility.signals.notebookCellFailed","Notebook Cell Failed"),settingsKey:"accessibility.signals.notebookCellFailed"}),xn.diffLineInserted=xn.register({name:_("accessibilitySignals.diffLineInserted","Diff Line Inserted"),sound:cn.diffLineInserted,legacySoundSettingsKey:"audioCues.diffLineInserted",settingsKey:"accessibility.signals.diffLineInserted"}),xn.diffLineDeleted=xn.register({name:_("accessibilitySignals.diffLineDeleted","Diff Line Deleted"),sound:cn.diffLineDeleted,legacySoundSettingsKey:"audioCues.diffLineDeleted",settingsKey:"accessibility.signals.diffLineDeleted"}),xn.diffLineModified=xn.register({name:_("accessibilitySignals.diffLineModified","Diff Line Modified"),sound:cn.diffLineModified,legacySoundSettingsKey:"audioCues.diffLineModified",settingsKey:"accessibility.signals.diffLineModified"}),xn.chatRequestSent=xn.register({name:_("accessibilitySignals.chatRequestSent","Chat Request Sent"),sound:cn.chatRequestSent,legacySoundSettingsKey:"audioCues.chatRequestSent",legacyAnnouncementSettingsKey:"accessibility.alert.chatRequestSent",announcementMessage:_("accessibility.signals.chatRequestSent","Chat Request Sent"),settingsKey:"accessibility.signals.chatRequestSent"}),xn.chatResponseReceived=xn.register({name:_("accessibilitySignals.chatResponseReceived","Chat Response Received"),legacySoundSettingsKey:"audioCues.chatResponseReceived",sound:{randomOneOf:[cn.chatResponseReceived1,cn.chatResponseReceived2,cn.chatResponseReceived3,cn.chatResponseReceived4]},settingsKey:"accessibility.signals.chatResponseReceived"}),xn.chatResponsePending=xn.register({name:_("accessibilitySignals.chatResponsePending","Chat Response Pending"),sound:cn.chatResponsePending,legacySoundSettingsKey:"audioCues.chatResponsePending",legacyAnnouncementSettingsKey:"accessibility.alert.chatResponsePending",announcementMessage:_("accessibility.signals.chatResponsePending","Chat Response Pending"),settingsKey:"accessibility.signals.chatResponsePending"}),xn.clear=xn.register({name:_("accessibilitySignals.clear","Clear"),sound:cn.clear,legacySoundSettingsKey:"audioCues.clear",legacyAnnouncementSettingsKey:"accessibility.alert.clear",announcementMessage:_("accessibility.signals.clear","Clear"),settingsKey:"accessibility.signals.clear"}),xn.save=xn.register({name:_("accessibilitySignals.save","Save"),sound:cn.save,legacySoundSettingsKey:"audioCues.save",legacyAnnouncementSettingsKey:"accessibility.alert.save",announcementMessage:_("accessibility.signals.save","Save"),settingsKey:"accessibility.signals.save"}),xn.format=xn.register({name:_("accessibilitySignals.format","Format"),sound:cn.format,legacySoundSettingsKey:"audioCues.format",legacyAnnouncementSettingsKey:"accessibility.alert.format",announcementMessage:_("accessibility.signals.format","Format"),settingsKey:"accessibility.signals.format"}),xn.voiceRecordingStarted=xn.register({name:_("accessibilitySignals.voiceRecordingStarted","Voice Recording Started"),sound:cn.voiceRecordingStarted,legacySoundSettingsKey:"audioCues.voiceRecordingStarted",settingsKey:"accessibility.signals.voiceRecordingStarted"}),xn.voiceRecordingStopped=xn.register({name:_("accessibilitySignals.voiceRecordingStopped","Voice Recording Stopped"),sound:cn.voiceRecordingStopped,legacySoundSettingsKey:"audioCues.voiceRecordingStopped",settingsKey:"accessibility.signals.voiceRecordingStopped"});const e_t={IconContribution:"base.contributions.icons"};var vSe;(function(n){function e(t,i){let r=t.defaults;for(;sn.isThemeIcon(r);){const o=kv.getIcon(r.id);if(!o)return;r=o.defaults}return r}n.getDefinition=e})(vSe||(vSe={}));var CSe;(function(n){function e(i){return{weight:i.weight,style:i.style,src:i.src.map(r=>({format:r.format,location:r.location.toString()}))}}n.toJSONObject=e;function t(i){const r=o=>Nl(o)?o:void 0;if(i&&Array.isArray(i.src)&&i.src.every(o=>Nl(o.format)&&Nl(o.location)))return{weight:r(i.weight),style:r(i.style),src:i.src.map(o=>({format:o.format,location:en.parse(o.location)}))}}n.fromJSONObject=t})(CSe||(CSe={}));class t_t{constructor(){this._onDidChange=new be,this.onDidChange=this._onDidChange.event,this.iconSchema={definitions:{icons:{type:"object",properties:{fontId:{type:"string",description:_("iconDefinition.fontId","The id of the font to use. If not set, the font that is defined first is used.")},fontCharacter:{type:"string",description:_("iconDefinition.fontCharacter","The font character associated with the icon definition.")}},additionalProperties:!1,defaultSnippets:[{body:{fontCharacter:"\\\\e030"}}]}},type:"object",properties:{}},this.iconReferenceSchema={type:"string",pattern:`^${sn.iconNameExpression}$`,enum:[],enumDescriptions:[]},this.iconsById={},this.iconFontsById={}}registerIcon(e,t,i,r){const o=this.iconsById[e];if(o){if(i&&!o.description){o.description=i,this.iconSchema.properties[e].markdownDescription=`${i} $(${e})`;const l=this.iconReferenceSchema.enum.indexOf(e);l!==-1&&(this.iconReferenceSchema.enumDescriptions[l]=i),this._onDidChange.fire()}return o}const s={id:e,description:i,defaults:t,deprecationMessage:r};this.iconsById[e]=s;const a={$ref:"#/definitions/icons"};return r&&(a.deprecationMessage=r),i&&(a.markdownDescription=`${i}: $(${e})`),this.iconSchema.properties[e]=a,this.iconReferenceSchema.enum.push(e),this.iconReferenceSchema.enumDescriptions.push(i||""),this._onDidChange.fire(),{id:e}}getIcons(){return Object.keys(this.iconsById).map(e=>this.iconsById[e])}getIcon(e){return this.iconsById[e]}getIconSchema(){return this.iconSchema}toString(){const e=(o,s)=>o.id.localeCompare(s.id),t=o=>{for(;sn.isThemeIcon(o.defaults);)o=this.iconsById[o.defaults.id];return`codicon codicon-${o?o.id:""}`},i=[];i.push("| preview | identifier | default codicon ID | description"),i.push("| ----------- | --------------------------------- | --------------------------------- | --------------------------------- |");const r=Object.keys(this.iconsById).map(o=>this.iconsById[o]);for(const o of r.filter(s=>!!s.description).sort(e))i.push(`||${o.id}|${sn.isThemeIcon(o.defaults)?o.defaults.id:o.id}|${o.description||""}|`);i.push("| preview | identifier "),i.push("| ----------- | --------------------------------- |");for(const o of r.filter(s=>!sn.isThemeIcon(s.defaults)).sort(e))i.push(`||${o.id}|`);return i.join(` +`)}}const kv=new t_t;Do.add(e_t.IconContribution,kv);function so(n,e,t,i){return kv.registerIcon(n,e,t,i)}function SSe(){return kv}function n_t(){const n=O0e();for(const e in n){const t="\\"+n[e].toString(16);kv.registerIcon(e,{fontCharacter:t})}}n_t();const wSe="vscode://schemas/icons",xSe=Do.as(B9.JSONContribution);xSe.registerSchema(wSe,kv.getIconSchema());const _Se=new Wi(()=>xSe.notifySchemaChanged(wSe),200);kv.onDidChange(()=>{_Se.isScheduled()||_Se.schedule()});const LSe=so("widget-close",ut.close,_("widgetClose","Icon for the close action in widgets."));so("goto-previous-location",ut.arrowUp,_("previousChangeIcon","Icon for goto previous editor location.")),so("goto-next-location",ut.arrowDown,_("nextChangeIcon","Icon for goto next editor location.")),sn.modify(ut.sync,"spin"),sn.modify(ut.loading,"spin");var yU=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},vU=function(n,e){return function(t,i){e(t,i,n)}};const i_t=so("diff-review-insert",ut.add,_("accessibleDiffViewerInsertIcon","Icon for 'Insert' in accessible diff viewer.")),r_t=so("diff-review-remove",ut.remove,_("accessibleDiffViewerRemoveIcon","Icon for 'Remove' in accessible diff viewer.")),o_t=so("diff-review-close",ut.close,_("accessibleDiffViewerCloseIcon","Icon for 'Close' in accessible diff viewer."));let I0=class extends Fe{constructor(e,t,i,r,o,s,a,l,u){super(),this._parentNode=e,this._visible=t,this._setVisible=i,this._canClose=r,this._width=o,this._height=s,this._diffs=a,this._models=l,this._instantiationService=u,this._state=_2(this,(c,d)=>{const h=this._visible.read(c);if(this._parentNode.style.visibility=h?"visible":"hidden",!h)return null;const m=d.add(this._instantiationService.createInstance(CU,this._diffs,this._models,this._setVisible,this._canClose)),f=d.add(this._instantiationService.createInstance(SU,this._parentNode,m,this._width,this._height,this._models));return{model:m,view:f}}).recomputeInitiallyAndOnChange(this._store)}next(){Bi(e=>{const t=this._visible.get();this._setVisible(!0,e),t&&this._state.get().model.nextGroup(e)})}prev(){Bi(e=>{this._setVisible(!0,e),this._state.get().model.previousGroup(e)})}close(){Bi(e=>{this._setVisible(!1,e)})}};I0._ttPolicy=jg("diffReview",{createHTML:n=>n}),I0=yU([vU(8,$t)],I0);let CU=class extends Fe{constructor(e,t,i,r,o){super(),this._diffs=e,this._models=t,this._setVisible=i,this.canClose=r,this._accessibilitySignalService=o,this._groups=ei(this,[]),this._currentGroupIdx=ei(this,0),this._currentElementIdx=ei(this,0),this.groups=this._groups,this.currentGroup=this._currentGroupIdx.map((s,a)=>this._groups.read(a)[s]),this.currentGroupIndex=this._currentGroupIdx,this.currentElement=this._currentElementIdx.map((s,a)=>{var l;return(l=this.currentGroup.read(a))===null||l===void 0?void 0:l.lines[s]}),this._register(Rn(s=>{const a=this._diffs.read(s);if(!a){this._groups.set([],void 0);return}const l=s_t(a,this._models.getOriginalModel().getLineCount(),this._models.getModifiedModel().getLineCount());Bi(u=>{const c=this._models.getModifiedPosition();if(c){const d=l.findIndex(h=>(c==null?void 0:c.lineNumber){const a=this.currentElement.read(s);(a==null?void 0:a.type)===ul.Deleted?this._accessibilitySignalService.playSignal(xn.diffLineDeleted,{source:"accessibleDiffViewer.currentElementChanged"}):(a==null?void 0:a.type)===ul.Added&&this._accessibilitySignalService.playSignal(xn.diffLineInserted,{source:"accessibleDiffViewer.currentElementChanged"})})),this._register(Rn(s=>{var a;const l=this.currentElement.read(s);if(l&&l.type!==ul.Header){const u=(a=l.modifiedLineNumber)!==null&&a!==void 0?a:l.diff.modified.startLineNumber;this._models.modifiedSetSelection(J.fromPositions(new ve(u,1)))}}))}_goToGroupDelta(e,t){const i=this.groups.get();!i||i.length<=1||kD(t,r=>{this._currentGroupIdx.set(Dn.ofLength(i.length).clipCyclic(this._currentGroupIdx.get()+e),r),this._currentElementIdx.set(0,r)})}nextGroup(e){this._goToGroupDelta(1,e)}previousGroup(e){this._goToGroupDelta(-1,e)}_goToLineDelta(e){const t=this.currentGroup.get();!t||t.lines.length<=1||Bi(i=>{this._currentElementIdx.set(Dn.ofLength(t.lines.length).clip(this._currentElementIdx.get()+e),i)})}goToNextLine(){this._goToLineDelta(1)}goToPreviousLine(){this._goToLineDelta(-1)}goToLine(e){const t=this.currentGroup.get();if(!t)return;const i=t.lines.indexOf(e);i!==-1&&Bi(r=>{this._currentElementIdx.set(i,r)})}revealCurrentElementInEditor(){if(!this.canClose.get())return;this._setVisible(!1,void 0);const e=this.currentElement.get();e&&(e.type===ul.Deleted?this._models.originalReveal(J.fromPositions(new ve(e.originalLineNumber,1))):this._models.modifiedReveal(e.type!==ul.Header?J.fromPositions(new ve(e.modifiedLineNumber,1)):void 0))}close(){this.canClose.get()&&(this._setVisible(!1,void 0),this._models.modifiedFocus())}};CU=yU([vU(4,L0)],CU);const zD=3;function s_t(n,e,t){const i=[];for(const r of BY(n,(o,s)=>s.modified.startLineNumber-o.modified.endLineNumberExclusive<2*zD)){const o=[];o.push(new l_t);const s=new dn(Math.max(1,r[0].original.startLineNumber-zD),Math.min(r[r.length-1].original.endLineNumberExclusive+zD,e+1)),a=new dn(Math.max(1,r[0].modified.startLineNumber-zD),Math.min(r[r.length-1].modified.endLineNumberExclusive+zD,t+1));c1e(r,(c,d)=>{const h=new dn(c?c.original.endLineNumberExclusive:s.startLineNumber,d?d.original.startLineNumber:s.endLineNumberExclusive),m=new dn(c?c.modified.endLineNumberExclusive:a.startLineNumber,d?d.modified.startLineNumber:a.endLineNumberExclusive);h.forEach(f=>{o.push(new d_t(f,m.startLineNumber+(f-h.startLineNumber)))}),d&&(d.original.forEach(f=>{o.push(new u_t(d,f))}),d.modified.forEach(f=>{o.push(new c_t(d,f))}))});const l=r[0].modified.join(r[r.length-1].modified),u=r[0].original.join(r[r.length-1].original);i.push(new a_t(new ll(l,u),o))}return i}var ul;(function(n){n[n.Header=0]="Header",n[n.Unchanged=1]="Unchanged",n[n.Deleted=2]="Deleted",n[n.Added=3]="Added"})(ul||(ul={}));class a_t{constructor(e,t){this.range=e,this.lines=t}}class l_t{constructor(){this.type=ul.Header}}class u_t{constructor(e,t){this.diff=e,this.originalLineNumber=t,this.type=ul.Deleted,this.modifiedLineNumber=void 0}}class c_t{constructor(e,t){this.diff=e,this.modifiedLineNumber=t,this.type=ul.Added,this.originalLineNumber=void 0}}class d_t{constructor(e,t){this.originalLineNumber=e,this.modifiedLineNumber=t,this.type=ul.Unchanged}}let SU=class extends Fe{constructor(e,t,i,r,o,s){super(),this._element=e,this._model=t,this._width=i,this._height=r,this._models=o,this._languageService=s,this.domNode=this._element,this.domNode.className="monaco-component diff-review monaco-editor-background";const a=document.createElement("div");a.className="diff-review-actions",this._actionBar=this._register(new Uc(a)),this._register(Rn(l=>{this._actionBar.clear(),this._model.canClose.read(l)&&this._actionBar.push(new uu("diffreview.close",_("label.close","Close"),"close-diff-review "+sn.asClassName(o_t),!0,async()=>t.close()),{label:!1,icon:!0})})),this._content=document.createElement("div"),this._content.className="diff-review-content",this._content.setAttribute("role","code"),this._scrollbar=this._register(new WF(this._content,{})),Qs(this.domNode,this._scrollbar.getDomNode(),a),this._register(Rn(l=>{this._height.read(l),this._width.read(l),this._scrollbar.scanDomNode()})),this._register(jt(()=>{Qs(this.domNode)})),this._register(dp(this.domNode,{width:this._width,height:this._height})),this._register(dp(this._content,{width:this._width,height:this._height})),this._register(Hc((l,u)=>{this._model.currentGroup.read(l),this._render(u)})),this._register(Gr(this.domNode,"keydown",l=>{(l.equals(18)||l.equals(2066)||l.equals(530))&&(l.preventDefault(),this._model.goToNextLine()),(l.equals(16)||l.equals(2064)||l.equals(528))&&(l.preventDefault(),this._model.goToPreviousLine()),(l.equals(9)||l.equals(2057)||l.equals(521)||l.equals(1033))&&(l.preventDefault(),this._model.close()),(l.equals(10)||l.equals(3))&&(l.preventDefault(),this._model.revealCurrentElementInEditor())}))}_render(e){const t=this._models.getOriginalOptions(),i=this._models.getModifiedOptions(),r=document.createElement("div");r.className="diff-review-table",r.setAttribute("role","list"),r.setAttribute("aria-label",_("ariaLabel","Accessible Diff Viewer. Use arrow up and down to navigate.")),Ts(r,i.get(50)),Qs(this._content,r);const o=this._models.getOriginalModel(),s=this._models.getModifiedModel();if(!o||!s)return;const a=o.getOptions(),l=s.getOptions(),u=i.get(67),c=this._model.currentGroup.get();for(const d of(c==null?void 0:c.lines)||[]){if(!c)break;let h;if(d.type===ul.Header){const f=document.createElement("div");f.className="diff-review-row",f.setAttribute("role","listitem");const g=c.range,b=this._model.currentGroupIndex.get(),y=this._model.groups.get().length,C=I=>I===0?_("no_lines_changed","no lines changed"):I===1?_("one_line_changed","1 line changed"):_("more_lines_changed","{0} lines changed",I),w=C(g.original.length),x=C(g.modified.length);f.setAttribute("aria-label",_({key:"header",comment:["This is the ARIA label for a git diff header.","A git diff header looks like this: @@ -154,12 +159,39 @@.","That encodes that at original line 154 (which is now line 159), 12 lines were removed/changed with 39 lines.","Variables 0 and 1 refer to the diff index out of total number of diffs.","Variables 2 and 4 will be numbers (a line number).",'Variables 3 and 5 will be "no lines changed", "1 line changed" or "X lines changed", localized separately.']},"Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}",b+1,y,g.original.startLineNumber,w,g.modified.startLineNumber,x));const L=document.createElement("div");L.className="diff-review-cell diff-review-summary",L.appendChild(document.createTextNode(`${b+1}/${y}: @@ -${g.original.startLineNumber},${g.original.length} +${g.modified.startLineNumber},${g.modified.length} @@`)),f.appendChild(L),h=f}else h=this._createRow(d,u,this._width.get(),t,o,a,i,s,l);r.appendChild(h);const m=hn(f=>this._model.currentElement.read(f)===d);e.add(Rn(f=>{const g=m.read(f);h.tabIndex=g?0:-1,g&&h.focus()})),e.add(Ve(h,"focus",()=>{this._model.goToLine(d)}))}this._scrollbar.scanDomNode()}_createRow(e,t,i,r,o,s,a,l,u){const c=r.get(145),d=c.glyphMarginWidth+c.lineNumbersWidth,h=a.get(145),m=10+h.glyphMarginWidth+h.lineNumbersWidth;let f="diff-review-row",g="";const b="diff-review-spacer";let y=null;switch(e.type){case ul.Added:f="diff-review-row line-insert",g=" char-insert",y=i_t;break;case ul.Deleted:f="diff-review-row line-delete",g=" char-delete",y=r_t;break}const C=document.createElement("div");C.style.minWidth=i+"px",C.className=f,C.setAttribute("role","listitem"),C.ariaLevel="";const w=document.createElement("div");w.className="diff-review-cell",w.style.height=`${t}px`,C.appendChild(w);const x=document.createElement("span");x.style.width=d+"px",x.style.minWidth=d+"px",x.className="diff-review-line-number"+g,e.originalLineNumber!==void 0?x.appendChild(document.createTextNode(String(e.originalLineNumber))):x.innerText=" ",w.appendChild(x);const L=document.createElement("span");L.style.width=m+"px",L.style.minWidth=m+"px",L.style.paddingRight="10px",L.className="diff-review-line-number"+g,e.modifiedLineNumber!==void 0?L.appendChild(document.createTextNode(String(e.modifiedLineNumber))):L.innerText=" ",w.appendChild(L);const I=document.createElement("span");if(I.className=b,y){const T=document.createElement("span");T.className=sn.asClassName(y),T.innerText="  ",I.appendChild(T)}else I.innerText="  ";w.appendChild(I);let D;if(e.modifiedLineNumber!==void 0){let T=this._getLineHtml(l,a,u.tabSize,e.modifiedLineNumber,this._languageService.languageIdCodec);I0._ttPolicy&&(T=I0._ttPolicy.createHTML(T)),w.insertAdjacentHTML("beforeend",T),D=l.getLineContent(e.modifiedLineNumber)}else{let T=this._getLineHtml(o,r,s.tabSize,e.originalLineNumber,this._languageService.languageIdCodec);I0._ttPolicy&&(T=I0._ttPolicy.createHTML(T)),w.insertAdjacentHTML("beforeend",T),D=o.getLineContent(e.originalLineNumber)}D.length===0&&(D=_("blankLine","blank"));let N="";switch(e.type){case ul.Unchanged:e.originalLineNumber===e.modifiedLineNumber?N=_({key:"unchangedLine",comment:["The placeholders are contents of the line and should not be translated."]},"{0} unchanged line {1}",D,e.originalLineNumber):N=_("equalLine","{0} original line {1} modified line {2}",D,e.originalLineNumber,e.modifiedLineNumber);break;case ul.Added:N=_("insertLine","+ {0} modified line {1}",D,e.modifiedLineNumber);break;case ul.Deleted:N=_("deleteLine","- {0} original line {1}",D,e.originalLineNumber);break}return C.setAttribute("aria-label",N),C}_getLineHtml(e,t,i,r,o){const s=e.getLineContent(r),a=t.get(50),l=ls.createEmpty(s,o),u=Uu.isBasicASCII(s,e.mightContainNonBasicASCII()),c=Uu.containsRTL(s,u,e.mightContainRTL());return cZ(new u0(a.isMonospace&&!t.get(33),a.canUseHalfwidthRightwardsArrow,s,!1,u,c,0,l,[],i,0,a.spaceWidth,a.middotWidth,a.wsmiddotWidth,t.get(117),t.get(99),t.get(94),t.get(51)!==Bu.OFF,null)).html}};SU=yU([vU(5,br)],SU);class h_t{constructor(e){this.editors=e}getOriginalModel(){return this.editors.original.getModel()}getOriginalOptions(){return this.editors.original.getOptions()}originalReveal(e){this.editors.original.revealRange(e),this.editors.original.setSelection(e),this.editors.original.focus()}getModifiedModel(){return this.editors.modified.getModel()}getModifiedOptions(){return this.editors.modified.getOptions()}modifiedReveal(e){e&&(this.editors.modified.revealRange(e),this.editors.modified.setSelection(e)),this.editors.modified.focus()}modifiedSetSelection(e){this.editors.modified.setSelection(e)}modifiedFocus(){this.editors.modified.focus()}getModifiedPosition(){var e;return(e=this.editors.modified.getPosition())!==null&&e!==void 0?e:void 0}}class F0 extends Fe{constructor(e,t,i,r,o){super(),this._rootElement=e,this._diffModel=t,this._originalEditorLayoutInfo=i,this._modifiedEditorLayoutInfo=r,this._editors=o,this._originalScrollTop=zi(this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=zi(this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._viewZonesChanged=ba("onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this.width=ei(this,0),this._modifiedViewZonesChangedSignal=ba("modified.onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this._originalViewZonesChangedSignal=ba("original.onDidChangeViewZones",this._editors.original.onDidChangeViewZones),this._state=_2(this,(c,d)=>{var h;this._element.replaceChildren();const m=this._diffModel.read(c),f=(h=m==null?void 0:m.diff.read(c))===null||h===void 0?void 0:h.movedTexts;if(!f||f.length===0){this.width.set(0,void 0);return}this._viewZonesChanged.read(c);const g=this._originalEditorLayoutInfo.read(c),b=this._modifiedEditorLayoutInfo.read(c);if(!g||!b){this.width.set(0,void 0);return}this._modifiedViewZonesChangedSignal.read(c),this._originalViewZonesChangedSignal.read(c);const y=f.map(N=>{function T(P,H){const M=H.getTopForLineNumber(P.startLineNumber,!0),X=H.getTopForLineNumber(P.endLineNumberExclusive,!0);return(M+X)/2}const R=T(N.lineRangeMapping.original,this._editors.original),E=this._originalScrollTop.read(c),W=T(N.lineRangeMapping.modified,this._editors.modified),Z=this._modifiedScrollTop.read(c),V=R-E,z=W-Z,O=Math.min(R,W),B=Math.max(R,W);return{range:new Dn(O,B),from:V,to:z,fromWithoutScroll:R,toWithoutScroll:W,move:N}});y.sort(Rgt(Tc(N=>N.fromWithoutScroll>N.toWithoutScroll,Zgt),Tc(N=>N.fromWithoutScroll>N.toWithoutScroll?N.fromWithoutScroll:-N.toWithoutScroll,Wg)));const C=wU.compute(y.map(N=>N.range)),w=10,x=g.verticalScrollbarWidth,L=(C.getTrackCount()-1)*10+w*2,I=x+L+(b.contentLeft-F0.movedCodeBlockPadding);let D=0;for(const N of y){const T=C.getTrack(D),R=x+w+T*10,E=15,W=15,Z=I,V=b.glyphMarginWidth+b.lineNumbersWidth,z=18,O=document.createElementNS("http://www.w3.org/2000/svg","rect");O.classList.add("arrow-rectangle"),O.setAttribute("x",`${Z-V}`),O.setAttribute("y",`${N.to-z/2}`),O.setAttribute("width",`${V}`),O.setAttribute("height",`${z}`),this._element.appendChild(O);const B=document.createElementNS("http://www.w3.org/2000/svg","g"),P=document.createElementNS("http://www.w3.org/2000/svg","path");P.setAttribute("d",`M 0 ${N.from} L ${R} ${N.from} L ${R} ${N.to} L ${Z-W} ${N.to}`),P.setAttribute("fill","none"),B.appendChild(P);const H=document.createElementNS("http://www.w3.org/2000/svg","polygon");H.classList.add("arrow"),d.add(Rn(M=>{P.classList.toggle("currentMove",N.move===m.activeMovedText.read(M)),H.classList.toggle("currentMove",N.move===m.activeMovedText.read(M))})),H.setAttribute("points",`${Z-W},${N.to-E/2} ${Z},${N.to} ${Z-W},${N.to+E/2}`),B.appendChild(H),this._element.appendChild(B),D++}this.width.set(L,void 0)}),this._element=document.createElementNS("http://www.w3.org/2000/svg","svg"),this._element.setAttribute("class","moved-blocks-lines"),this._rootElement.appendChild(this._element),this._register(jt(()=>this._element.remove())),this._register(Rn(c=>{const d=this._originalEditorLayoutInfo.read(c),h=this._modifiedEditorLayoutInfo.read(c);!d||!h||(this._element.style.left=`${d.width-d.verticalScrollbarWidth}px`,this._element.style.height=`${d.height}px`,this._element.style.width=`${d.verticalScrollbarWidth+d.contentLeft-F0.movedCodeBlockPadding+this.width.read(c)}px`)})),this._register(RD(this._state));const s=hn(c=>{const d=this._diffModel.read(c),h=d==null?void 0:d.diff.read(c);return h?h.movedTexts.map(m=>({move:m,original:new CW(Bh(m.lineRangeMapping.original.startLineNumber-1),18),modified:new CW(Bh(m.lineRangeMapping.modified.startLineNumber-1),18)})):[]});this._register(wW(this._editors.original,s.map(c=>c.map(d=>d.original)))),this._register(wW(this._editors.modified,s.map(c=>c.map(d=>d.modified)))),this._register(Hc((c,d)=>{const h=s.read(c);for(const m of h)d.add(new ISe(this._editors.original,m.original,m.move,"original",this._diffModel.get())),d.add(new ISe(this._editors.modified,m.modified,m.move,"modified",this._diffModel.get()))}));const a=ba("original.onDidFocusEditorWidget",c=>this._editors.original.onDidFocusEditorWidget(()=>setTimeout(()=>c(void 0),0))),l=ba("modified.onDidFocusEditorWidget",c=>this._editors.modified.onDidFocusEditorWidget(()=>setTimeout(()=>c(void 0),0)));let u="modified";this._register(ED({createEmptyChangeSummary:()=>{},handleChange:(c,d)=>(c.didChange(a)&&(u="original"),c.didChange(l)&&(u="modified"),!0)},c=>{a.read(c),l.read(c);const d=this._diffModel.read(c);if(!d)return;const h=d.diff.read(c);let m;if(h&&u==="original"){const f=this._editors.originalCursor.read(c);f&&(m=h.movedTexts.find(g=>g.lineRangeMapping.original.contains(f.lineNumber)))}if(h&&u==="modified"){const f=this._editors.modifiedCursor.read(c);f&&(m=h.movedTexts.find(g=>g.lineRangeMapping.modified.contains(f.lineNumber)))}m!==d.movedTextToCompare.get()&&d.movedTextToCompare.set(void 0,void 0),d.setActiveMovedText(m)}))}}F0.movedCodeBlockPadding=4;class wU{static compute(e){const t=[],i=[];for(const r of e){let o=t.findIndex(s=>!s.intersectsStrict(r));o===-1&&(t.length>=6?o=Cvt(t,Tc(a=>a.intersectWithRangeLength(r),Wg)):(o=t.length,t.push(new e7))),t[o].addRange(r),i.push(o)}return new wU(t.length,i)}constructor(e,t){this._trackCount=e,this.trackPerLineIdx=t}getTrack(e){return this.trackPerLineIdx[e]}getTrackCount(){return this._trackCount}}class ISe extends bSe{constructor(e,t,i,r,o){const s=_i("div.diff-hidden-lines-widget");super(e,t,s.root),this._editor=e,this._move=i,this._kind=r,this._diffModel=o,this._nodes=_i("div.diff-moved-code-block",{style:{marginRight:"4px"}},[_i("div.text-content@textContent"),_i("div.action-bar@actionBar")]),s.root.appendChild(this._nodes.root);const a=zi(this._editor.onDidLayoutChange,()=>this._editor.getLayoutInfo());this._register(dp(this._nodes.root,{paddingRight:a.map(h=>h.verticalScrollbarWidth)}));let l;i.changes.length>0?l=this._kind==="original"?_("codeMovedToWithChanges","Code moved with changes to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):_("codeMovedFromWithChanges","Code moved with changes from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1):l=this._kind==="original"?_("codeMovedTo","Code moved to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):_("codeMovedFrom","Code moved from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1);const u=this._register(new Uc(this._nodes.actionBar,{highlightToggledItems:!0})),c=new uu("",l,"",!1);u.push(c,{icon:!1,label:!0});const d=new uu("","Compare",sn.asClassName(ut.compareChanges),!0,()=>{this._editor.focus(),this._diffModel.movedTextToCompare.set(this._diffModel.movedTextToCompare.get()===i?void 0:this._move,void 0)});this._register(Rn(h=>{const m=this._diffModel.movedTextToCompare.read(h)===i;d.checked=m})),u.push(d,{icon:!1,label:!0})}}re("diffEditor.move.border",{dark:"#8b8b8b9c",light:"#8b8b8b9c",hcDark:"#8b8b8b9c",hcLight:"#8b8b8b9c"},_("diffEditor.move.border","The border color for text that got moved in the diff editor.")),re("diffEditor.moveActive.border",{dark:"#FFA500",light:"#FFA500",hcDark:"#FFA500",hcLight:"#FFA500"},_("diffEditor.moveActive.border","The active border color for text that got moved in the diff editor.")),re("diffEditor.unchangedRegionShadow",{dark:"#000000",light:"#737373BF",hcDark:"#000000",hcLight:"#737373BF"},_("diffEditor.unchangedRegionShadow","The color of the shadow around unchanged region widgets."));const m_t=so("diff-insert",ut.add,_("diffInsertIcon","Line decoration for inserts in the diff editor.")),FSe=so("diff-remove",ut.remove,_("diffRemoveIcon","Line decoration for removals in the diff editor.")),DSe=vn.register({className:"line-insert",description:"line-insert",isWholeLine:!0,linesDecorationsClassName:"insert-sign "+sn.asClassName(m_t),marginClassName:"gutter-insert"}),NSe=vn.register({className:"line-delete",description:"line-delete",isWholeLine:!0,linesDecorationsClassName:"delete-sign "+sn.asClassName(FSe),marginClassName:"gutter-delete"}),MSe=vn.register({className:"line-insert",description:"line-insert",isWholeLine:!0,marginClassName:"gutter-insert"}),kSe=vn.register({className:"line-delete",description:"line-delete",isWholeLine:!0,marginClassName:"gutter-delete"}),TSe=vn.register({className:"char-insert",description:"char-insert",shouldFillLineOnLineBreak:!0}),f_t=vn.register({className:"char-insert",description:"char-insert",isWholeLine:!0}),g_t=vn.register({className:"char-insert diff-range-empty",description:"char-insert diff-range-empty"}),xU=vn.register({className:"char-delete",description:"char-delete",shouldFillLineOnLineBreak:!0}),p_t=vn.register({className:"char-delete",description:"char-delete",isWholeLine:!0}),b_t=vn.register({className:"char-delete diff-range-empty",description:"char-delete diff-range-empty"});class y_t extends Fe{constructor(e,t,i,r){super(),this._editors=e,this._diffModel=t,this._options=i,this._decorations=hn(this,o=>{var s;const a=(s=this._diffModel.read(o))===null||s===void 0?void 0:s.diff.read(o);if(!a)return null;const l=this._diffModel.read(o).movedTextToCompare.read(o),u=this._options.renderIndicators.read(o),c=this._options.showEmptyDecorations.read(o),d=[],h=[];if(!l)for(const f of a.mappings)if(f.lineRangeMapping.original.isEmpty||d.push({range:f.lineRangeMapping.original.toInclusiveRange(),options:u?NSe:kSe}),f.lineRangeMapping.modified.isEmpty||h.push({range:f.lineRangeMapping.modified.toInclusiveRange(),options:u?DSe:MSe}),f.lineRangeMapping.modified.isEmpty||f.lineRangeMapping.original.isEmpty)f.lineRangeMapping.original.isEmpty||d.push({range:f.lineRangeMapping.original.toInclusiveRange(),options:p_t}),f.lineRangeMapping.modified.isEmpty||h.push({range:f.lineRangeMapping.modified.toInclusiveRange(),options:f_t});else for(const g of f.lineRangeMapping.innerChanges||[])f.lineRangeMapping.original.contains(g.originalRange.startLineNumber)&&d.push({range:g.originalRange,options:g.originalRange.isEmpty()&&c?b_t:xU}),f.lineRangeMapping.modified.contains(g.modifiedRange.startLineNumber)&&h.push({range:g.modifiedRange,options:g.modifiedRange.isEmpty()&&c?g_t:TSe});if(l)for(const f of l.changes){const g=f.original.toInclusiveRange();g&&d.push({range:g,options:u?NSe:kSe});const b=f.modified.toInclusiveRange();b&&h.push({range:b,options:u?DSe:MSe});for(const y of f.innerChanges||[])d.push({range:y.originalRange,options:xU}),h.push({range:y.modifiedRange,options:TSe})}const m=this._diffModel.read(o).activeMovedText.read(o);for(const f of a.movedTexts)d.push({range:f.lineRangeMapping.original.toInclusiveRange(),options:{description:"moved",blockClassName:"movedOriginal"+(f===m?" currentMove":""),blockPadding:[F0.movedCodeBlockPadding,0,F0.movedCodeBlockPadding,F0.movedCodeBlockPadding]}}),h.push({range:f.lineRangeMapping.modified.toInclusiveRange(),options:{description:"moved",blockClassName:"movedModified"+(f===m?" currentMove":""),blockPadding:[4,0,4,4]}});return{originalDecorations:d,modifiedDecorations:h}}),this._register(vW(this._editors.original,this._decorations.map(o=>(o==null?void 0:o.originalDecorations)||[]))),this._register(vW(this._editors.modified,this._decorations.map(o=>(o==null?void 0:o.modifiedDecorations)||[])))}}var k2=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o};const v_t=!1;var xW;(function(n){n.North="north",n.South="south",n.East="east",n.West="west"})(xW||(xW={}));let C_t=4;const S_t=new be;let w_t=300;const x_t=new be;class _U{constructor(e){this.el=e,this.disposables=new Je}get onPointerMove(){return this.disposables.add(new Jn(Qt(this.el),"mousemove")).event}get onPointerUp(){return this.disposables.add(new Jn(Qt(this.el),"mouseup")).event}dispose(){this.disposables.dispose()}}k2([io],_U.prototype,"onPointerMove",null),k2([io],_U.prototype,"onPointerUp",null);class LU{get onPointerMove(){return this.disposables.add(new Jn(this.el,tr.Change)).event}get onPointerUp(){return this.disposables.add(new Jn(this.el,tr.End)).event}constructor(e){this.el=e,this.disposables=new Je}dispose(){this.disposables.dispose()}}k2([io],LU.prototype,"onPointerMove",null),k2([io],LU.prototype,"onPointerUp",null);class _W{get onPointerMove(){return this.factory.onPointerMove}get onPointerUp(){return this.factory.onPointerUp}constructor(e){this.factory=e}dispose(){}}k2([io],_W.prototype,"onPointerMove",null),k2([io],_W.prototype,"onPointerUp",null);const ESe="pointer-events-disabled";class Ca extends Fe{get state(){return this._state}get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}set state(e){this._state!==e&&(this.el.classList.toggle("disabled",e===0),this.el.classList.toggle("minimum",e===1),this.el.classList.toggle("maximum",e===2),this._state=e,this.onDidEnablementChange.fire(e))}set orthogonalStartSash(e){if(this._orthogonalStartSash!==e){if(this.orthogonalStartDragHandleDisposables.clear(),this.orthogonalStartSashDisposables.clear(),e){const t=i=>{this.orthogonalStartDragHandleDisposables.clear(),i!==0&&(this._orthogonalStartDragHandle=je(this.el,Ct(".orthogonal-drag-handle.start")),this.orthogonalStartDragHandleDisposables.add(jt(()=>this._orthogonalStartDragHandle.remove())),this.orthogonalStartDragHandleDisposables.add(new Jn(this._orthogonalStartDragHandle,"mouseenter")).event(()=>Ca.onMouseEnter(e),void 0,this.orthogonalStartDragHandleDisposables),this.orthogonalStartDragHandleDisposables.add(new Jn(this._orthogonalStartDragHandle,"mouseleave")).event(()=>Ca.onMouseLeave(e),void 0,this.orthogonalStartDragHandleDisposables))};this.orthogonalStartSashDisposables.add(e.onDidEnablementChange.event(t,this)),t(e.state)}this._orthogonalStartSash=e}}set orthogonalEndSash(e){if(this._orthogonalEndSash!==e){if(this.orthogonalEndDragHandleDisposables.clear(),this.orthogonalEndSashDisposables.clear(),e){const t=i=>{this.orthogonalEndDragHandleDisposables.clear(),i!==0&&(this._orthogonalEndDragHandle=je(this.el,Ct(".orthogonal-drag-handle.end")),this.orthogonalEndDragHandleDisposables.add(jt(()=>this._orthogonalEndDragHandle.remove())),this.orthogonalEndDragHandleDisposables.add(new Jn(this._orthogonalEndDragHandle,"mouseenter")).event(()=>Ca.onMouseEnter(e),void 0,this.orthogonalEndDragHandleDisposables),this.orthogonalEndDragHandleDisposables.add(new Jn(this._orthogonalEndDragHandle,"mouseleave")).event(()=>Ca.onMouseLeave(e),void 0,this.orthogonalEndDragHandleDisposables))};this.orthogonalEndSashDisposables.add(e.onDidEnablementChange.event(t,this)),t(e.state)}this._orthogonalEndSash=e}}constructor(e,t,i){super(),this.hoverDelay=w_t,this.hoverDelayer=this._register(new Ld(this.hoverDelay)),this._state=3,this.onDidEnablementChange=this._register(new be),this._onDidStart=this._register(new be),this._onDidChange=this._register(new be),this._onDidReset=this._register(new be),this._onDidEnd=this._register(new be),this.orthogonalStartSashDisposables=this._register(new Je),this.orthogonalStartDragHandleDisposables=this._register(new Je),this.orthogonalEndSashDisposables=this._register(new Je),this.orthogonalEndDragHandleDisposables=this._register(new Je),this.onDidStart=this._onDidStart.event,this.onDidChange=this._onDidChange.event,this.onDidReset=this._onDidReset.event,this.onDidEnd=this._onDidEnd.event,this.linkedSash=void 0,this.el=je(e,Ct(".monaco-sash")),i.orthogonalEdge&&this.el.classList.add(`orthogonal-edge-${i.orthogonalEdge}`),On&&this.el.classList.add("mac");const r=this._register(new Jn(this.el,"mousedown")).event;this._register(r(d=>this.onPointerStart(d,new _U(e)),this));const o=this._register(new Jn(this.el,"dblclick")).event;this._register(o(this.onPointerDoublePress,this));const s=this._register(new Jn(this.el,"mouseenter")).event;this._register(s(()=>Ca.onMouseEnter(this)));const a=this._register(new Jn(this.el,"mouseleave")).event;this._register(a(()=>Ca.onMouseLeave(this))),this._register(nr.addTarget(this.el));const l=this._register(new Jn(this.el,tr.Start)).event;this._register(l(d=>this.onPointerStart(d,new LU(this.el)),this));const u=this._register(new Jn(this.el,tr.Tap)).event;let c;this._register(u(d=>{if(c){clearTimeout(c),c=void 0,this.onPointerDoublePress(d);return}clearTimeout(c),c=setTimeout(()=>c=void 0,250)},this)),typeof i.size=="number"?(this.size=i.size,i.orientation===0?this.el.style.width=`${this.size}px`:this.el.style.height=`${this.size}px`):(this.size=C_t,this._register(S_t.event(d=>{this.size=d,this.layout()}))),this._register(x_t.event(d=>this.hoverDelay=d)),this.layoutProvider=t,this.orthogonalStartSash=i.orthogonalStartSash,this.orthogonalEndSash=i.orthogonalEndSash,this.orientation=i.orientation||0,this.orientation===1?(this.el.classList.add("horizontal"),this.el.classList.remove("vertical")):(this.el.classList.remove("horizontal"),this.el.classList.add("vertical")),this.el.classList.toggle("debug",v_t),this.layout()}onPointerStart(e,t){An.stop(e);let i=!1;if(!e.__orthogonalSashEvent){const f=this.getOrthogonalSash(e);f&&(i=!0,e.__orthogonalSashEvent=!0,f.onPointerStart(e,new _W(t)))}if(this.linkedSash&&!e.__linkedSashEvent&&(e.__linkedSashEvent=!0,this.linkedSash.onPointerStart(e,new _W(t))),!this.state)return;const r=this.el.ownerDocument.getElementsByTagName("iframe");for(const f of r)f.classList.add(ESe);const o=e.pageX,s=e.pageY,a=e.altKey,l={startX:o,currentX:o,startY:s,currentY:s,altKey:a};this.el.classList.add("active"),this._onDidStart.fire(l);const u=Vu(this.el),c=()=>{let f="";i?f="all-scroll":this.orientation===1?this.state===1?f="s-resize":this.state===2?f="n-resize":f=On?"row-resize":"ns-resize":this.state===1?f="e-resize":this.state===2?f="w-resize":f=On?"col-resize":"ew-resize",u.textContent=`* { cursor: ${f} !important; }`},d=new Je;c(),i||this.onDidEnablementChange.event(c,null,d);const h=f=>{An.stop(f,!1);const g={startX:o,currentX:f.pageX,startY:s,currentY:f.pageY,altKey:a};this._onDidChange.fire(g)},m=f=>{An.stop(f,!1),this.el.removeChild(u),this.el.classList.remove("active"),this._onDidEnd.fire(),d.dispose();for(const g of r)g.classList.remove(ESe)};t.onPointerMove(h,null,d),t.onPointerUp(m,null,d),d.add(t)}onPointerDoublePress(e){const t=this.getOrthogonalSash(e);t&&t._onDidReset.fire(),this.linkedSash&&this.linkedSash._onDidReset.fire(),this._onDidReset.fire()}static onMouseEnter(e,t=!1){e.el.classList.contains("active")?(e.hoverDelayer.cancel(),e.el.classList.add("hover")):e.hoverDelayer.trigger(()=>e.el.classList.add("hover"),e.hoverDelay).then(void 0,()=>{}),!t&&e.linkedSash&&Ca.onMouseEnter(e.linkedSash,!0)}static onMouseLeave(e,t=!1){e.hoverDelayer.cancel(),e.el.classList.remove("hover"),!t&&e.linkedSash&&Ca.onMouseLeave(e.linkedSash,!0)}clearSashHoverState(){Ca.onMouseLeave(this)}layout(){if(this.orientation===0){const e=this.layoutProvider;this.el.style.left=e.getVerticalSashLeft(this)-this.size/2+"px",e.getVerticalSashTop&&(this.el.style.top=e.getVerticalSashTop(this)+"px"),e.getVerticalSashHeight&&(this.el.style.height=e.getVerticalSashHeight(this)+"px")}else{const e=this.layoutProvider;this.el.style.top=e.getHorizontalSashTop(this)-this.size/2+"px",e.getHorizontalSashLeft&&(this.el.style.left=e.getHorizontalSashLeft(this)+"px"),e.getHorizontalSashWidth&&(this.el.style.width=e.getHorizontalSashWidth(this)+"px")}}getOrthogonalSash(e){var t;const i=(t=e.initialTarget)!==null&&t!==void 0?t:e.target;if(!(!i||!(i instanceof HTMLElement))&&i.classList.contains("orthogonal-drag-handle"))return i.classList.contains("start")?this.orthogonalStartSash:this.orthogonalEndSash}dispose(){super.dispose(),this.el.remove()}}class __t extends Fe{constructor(e,t,i,r){super(),this._options=e,this._domNode=t,this._dimensions=i,this._sashes=r,this._sashRatio=ei(this,void 0),this.sashLeft=hn(this,o=>{var s;const a=(s=this._sashRatio.read(o))!==null&&s!==void 0?s:this._options.splitViewDefaultRatio.read(o);return this._computeSashLeft(a,o)}),this._sash=this._register(new Ca(this._domNode,{getVerticalSashTop:o=>0,getVerticalSashLeft:o=>this.sashLeft.get(),getVerticalSashHeight:o=>this._dimensions.height.get()},{orientation:0})),this._startSashPosition=void 0,this._register(this._sash.onDidStart(()=>{this._startSashPosition=this.sashLeft.get()})),this._register(this._sash.onDidChange(o=>{const s=this._dimensions.width.get(),a=this._computeSashLeft((this._startSashPosition+(o.currentX-o.startX))/s,void 0);this._sashRatio.set(a/s,void 0)})),this._register(this._sash.onDidEnd(()=>this._sash.layout())),this._register(this._sash.onDidReset(()=>this._sashRatio.set(void 0,void 0))),this._register(Rn(o=>{const s=this._sashes.read(o);s&&(this._sash.orthogonalEndSash=s.bottom)})),this._register(Rn(o=>{const s=this._options.enableSplitViewResizing.read(o);this._sash.state=s?3:0,this.sashLeft.read(o),this._dimensions.height.read(o),this._sash.layout()}))}_computeSashLeft(e,t){const i=this._dimensions.width.read(t),r=Math.floor(this._options.splitViewDefaultRatio.read(t)*i),o=this._options.enableSplitViewResizing.read(t)?Math.floor(e*i):r,s=100;return i<=s*2?r:oi-s?i-s:o}}const Kc=Un("editorWorkerService");var RSe=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},IU=function(n,e){return function(t,i){e(t,i,n)}},Tv;const ZSe=Un("diffProviderFactoryService");let FU=class{constructor(e){this.instantiationService=e}createDiffProvider(e){return this.instantiationService.createInstance(LW,e)}};FU=RSe([IU(0,$t)],FU),qn(ZSe,FU,1);let LW=Tv=class{constructor(e,t,i){this.editorWorkerService=t,this.telemetryService=i,this.onDidChangeEventEmitter=new be,this.onDidChange=this.onDidChangeEventEmitter.event,this.diffAlgorithm="advanced",this.diffAlgorithmOnDidChangeSubscription=void 0,this.setOptions(e)}dispose(){var e;(e=this.diffAlgorithmOnDidChangeSubscription)===null||e===void 0||e.dispose()}async computeDiff(e,t,i,r){var o,s;if(typeof this.diffAlgorithm!="string")return this.diffAlgorithm.computeDiff(e,t,i,r);if(e.getLineCount()===1&&e.getLineMaxColumn(1)===1)return t.getLineCount()===1&&t.getLineMaxColumn(1)===1?{changes:[],identical:!0,quitEarly:!1,moves:[]}:{changes:[new ju(new dn(1,2),new dn(1,t.getLineCount()+1),[new mp(e.getFullModelRange(),t.getFullModelRange())])],identical:!1,quitEarly:!1,moves:[]};const a=JSON.stringify([e.uri.toString(),t.uri.toString()]),l=JSON.stringify([e.id,t.id,e.getAlternativeVersionId(),t.getAlternativeVersionId(),JSON.stringify(i)]),u=Tv.diffCache.get(a);if(u&&u.context===l)return u.result;const c=Js.create(),d=await this.editorWorkerService.computeDiff(e.uri,t.uri,i,this.diffAlgorithm),h=c.elapsed();if(this.telemetryService.publicLog2("diffEditor.computeDiff",{timeMs:h,timedOut:(o=d==null?void 0:d.quitEarly)!==null&&o!==void 0?o:!0,detectedMoves:i.computeMoves?(s=d==null?void 0:d.moves.length)!==null&&s!==void 0?s:0:-1}),r.isCancellationRequested)return{changes:[],identical:!1,quitEarly:!0,moves:[]};if(!d)throw new Error("no diff result available");return Tv.diffCache.size>10&&Tv.diffCache.delete(Tv.diffCache.keys().next().value),Tv.diffCache.set(a,{result:d,context:l}),d}setOptions(e){var t;let i=!1;e.diffAlgorithm&&this.diffAlgorithm!==e.diffAlgorithm&&((t=this.diffAlgorithmOnDidChangeSubscription)===null||t===void 0||t.dispose(),this.diffAlgorithmOnDidChangeSubscription=void 0,this.diffAlgorithm=e.diffAlgorithm,typeof e.diffAlgorithm!="string"&&(this.diffAlgorithmOnDidChangeSubscription=e.diffAlgorithm.onDidChange(()=>this.onDidChangeEventEmitter.fire())),i=!0),i&&this.onDidChangeEventEmitter.fire()}};LW.diffCache=new Map,LW=Tv=RSe([IU(1,Kc),IU(2,Rl)],LW);class fp{static trivial(e,t){return new fp([new us(Dn.ofLength(e.length),Dn.ofLength(t.length))],!1)}static trivialTimedOut(e,t){return new fp([new us(Dn.ofLength(e.length),Dn.ofLength(t.length))],!0)}constructor(e,t){this.diffs=e,this.hitTimeout=t}}class us{static invert(e,t){const i=[];return c1e(e,(r,o)=>{i.push(us.fromOffsetPairs(r?r.getEndExclusives():Jc.zero,o?o.getStarts():new Jc(t,(r?r.seq2Range.endExclusive-r.seq1Range.endExclusive:0)+t)))}),i}static fromOffsetPairs(e,t){return new us(new Dn(e.offset1,t.offset1),new Dn(e.offset2,t.offset2))}constructor(e,t){this.seq1Range=e,this.seq2Range=t}swap(){return new us(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(e){return new us(this.seq1Range.join(e.seq1Range),this.seq2Range.join(e.seq2Range))}delta(e){return e===0?this:new us(this.seq1Range.delta(e),this.seq2Range.delta(e))}deltaStart(e){return e===0?this:new us(this.seq1Range.deltaStart(e),this.seq2Range.deltaStart(e))}deltaEnd(e){return e===0?this:new us(this.seq1Range.deltaEnd(e),this.seq2Range.deltaEnd(e))}intersect(e){const t=this.seq1Range.intersect(e.seq1Range),i=this.seq2Range.intersect(e.seq2Range);if(!(!t||!i))return new us(t,i)}getStarts(){return new Jc(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new Jc(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}}class Jc{constructor(e,t){this.offset1=e,this.offset2=t}toString(){return`${this.offset1} <-> ${this.offset2}`}delta(e){return e===0?this:new Jc(this.offset1+e,this.offset2+e)}equals(e){return this.offset1===e.offset1&&this.offset2===e.offset2}}Jc.zero=new Jc(0,0),Jc.max=new Jc(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER);class HD{isValid(){return!0}}HD.instance=new HD;class L_t{constructor(e){if(this.timeout=e,this.startTime=Date.now(),this.valid=!0,e<=0)throw new rr("timeout must be positive")}isValid(){return!(Date.now()-this.startTime0&&g>0&&s.get(f-1,g-1)===3&&(C+=a.get(f-1,g-1)),C+=r?r(f,g):1):C=-1;const w=Math.max(b,y,C);if(w===C){const x=f>0&&g>0?a.get(f-1,g-1):0;a.set(f,g,x+1),s.set(f,g,3)}else w===b?(a.set(f,g,0),s.set(f,g,1)):w===y&&(a.set(f,g,0),s.set(f,g,2));o.set(f,g,w)}const l=[];let u=e.length,c=t.length;function d(f,g){(f+1!==u||g+1!==c)&&l.push(new us(new Dn(f+1,u),new Dn(g+1,c))),u=f,c=g}let h=e.length-1,m=t.length-1;for(;h>=0&&m>=0;)s.get(h,m)===3?(d(h,m),h--,m--):s.get(h,m)===1?h--:m--;return d(-1,-1),l.reverse(),new fp(l,!1)}}class WSe{compute(e,t,i=HD.instance){if(e.length===0||t.length===0)return fp.trivial(e,t);const r=e,o=t;function s(g,b){for(;gr.length||x>o.length)continue;const L=s(w,x);l.set(c,L);const I=w===y?u.get(c+1):u.get(c-1);if(u.set(c,L!==w?new ASe(I,w,x,L-w):I),l.get(c)===r.length&&l.get(c)-c===o.length)break e}}let d=u.get(c);const h=[];let m=r.length,f=o.length;for(;;){const g=d?d.x+d.length:0,b=d?d.y+d.length:0;if((g!==m||b!==f)&&h.push(new us(new Dn(g,m),new Dn(b,f))),!d)break;m=d.x,f=d.y,d=d.prev}return h.reverse(),new fp(h,!1)}}class ASe{constructor(e,t,i,r){this.prev=e,this.x=t,this.y=i,this.length=r}}class F_t{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){if(e<0){if(e=-e-1,e>=this.negativeArr.length){const i=this.negativeArr;this.negativeArr=new Int32Array(i.length*2),this.negativeArr.set(i)}this.negativeArr[e]=t}else{if(e>=this.positiveArr.length){const i=this.positiveArr;this.positiveArr=new Int32Array(i.length*2),this.positiveArr.set(i)}this.positiveArr[e]=t}}}class D_t{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){e<0?(e=-e-1,this.negativeArr[e]=t):this.positiveArr[e]=t}}class IW{constructor(e,t,i){this.lines=e,this.considerWhitespaceChanges=i,this.elements=[],this.firstCharOffsetByLine=[],this.additionalOffsetByLine=[];let r=!1;t.start>0&&t.endExclusive>=e.length&&(t=new Dn(t.start-1,t.endExclusive),r=!0),this.lineRange=t,this.firstCharOffsetByLine[0]=0;for(let o=this.lineRange.start;oString.fromCharCode(t)).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const t=GSe(e>0?this.elements[e-1]:-1),i=GSe(ei<=e);return new ve(this.lineRange.start+t+1,e-this.firstCharOffsetByLine[t]+this.additionalOffsetByLine[t]+1)}translateRange(e){return J.fromPositions(this.translateOffset(e.start),this.translateOffset(e.endExclusive))}findWordContaining(e){if(e<0||e>=this.elements.length||!MU(this.elements[e]))return;let t=e;for(;t>0&&MU(this.elements[t-1]);)t--;let i=e;for(;is<=e.start))!==null&&t!==void 0?t:0,o=(i=bvt(this.firstCharOffsetByLine,s=>e.endExclusive<=s))!==null&&i!==void 0?i:this.elements.length;return new Dn(r,o)}}function MU(n){return n>=97&&n<=122||n>=65&&n<=90||n>=48&&n<=57}const N_t={0:0,1:0,2:0,3:10,4:2,5:30,6:3,7:10,8:10};function VSe(n){return N_t[n]}function GSe(n){return n===10?8:n===13?7:NU(n)?6:n>=97&&n<=122?0:n>=65&&n<=90?1:n>=48&&n<=57?2:n===-1?3:n===44||n===59?5:4}function M_t(n,e,t,i,r,o){let{moves:s,excludedChanges:a}=T_t(n,e,t,o);if(!o.isValid())return[];const l=n.filter(c=>!a.has(c)),u=E_t(l,i,r,e,t,o);return YY(s,u),s=R_t(s),s=s.filter(c=>{const d=c.original.toOffsetRange().slice(e).map(m=>m.trim());return d.join(` +`).length>=15&&k_t(d,m=>m.length>=2)>=2}),s=Z_t(n,s),s}function k_t(n,e){let t=0;for(const i of n)e(i)&&t++;return t}function T_t(n,e,t,i){const r=[],o=n.filter(l=>l.modified.isEmpty&&l.original.length>=3).map(l=>new T2(l.original,e,l)),s=new Set(n.filter(l=>l.original.isEmpty&&l.modified.length>=3).map(l=>new T2(l.modified,t,l))),a=new Set;for(const l of o){let u=-1,c;for(const d of s){const h=l.computeSimilarity(d);h>u&&(u=h,c=d)}if(u>.9&&c&&(s.delete(c),r.push(new ll(l.range,c.range)),a.add(l.source),a.add(c.source)),!i.isValid())return{moves:r,excludedChanges:a}}return{moves:r,excludedChanges:a}}function E_t(n,e,t,i,r,o){const s=[],a=new VY;for(const h of n)for(let m=h.original.startLineNumber;mh.modified.startLineNumber,Wg));for(const h of n){let m=[];for(let f=h.modified.startLineNumber;f{for(const x of m)if(x.originalLineRange.endLineNumberExclusive+1===C.endLineNumberExclusive&&x.modifiedLineRange.endLineNumberExclusive+1===b.endLineNumberExclusive){x.originalLineRange=new dn(x.originalLineRange.startLineNumber,C.endLineNumberExclusive),x.modifiedLineRange=new dn(x.modifiedLineRange.startLineNumber,b.endLineNumberExclusive),y.push(x);return}const w={modifiedLineRange:b,originalLineRange:C};l.push(w),y.push(w)}),m=y}if(!o.isValid())return[]}l.sort(g1e(Tc(h=>h.modifiedLineRange.length,Wg)));const u=new Oc,c=new Oc;for(const h of l){const m=h.modifiedLineRange.startLineNumber-h.originalLineRange.startLineNumber,f=u.subtractFrom(h.modifiedLineRange),g=c.subtractFrom(h.originalLineRange).getWithDelta(m),b=f.getIntersection(g);for(const y of b.ranges){if(y.length<3)continue;const C=y,w=y.delta(-m);s.push(new ll(w,C)),u.addRange(C),c.addRange(w)}}s.sort(Tc(h=>h.original.startLineNumber,Wg));const d=new QF(n);for(let h=0;hI.original.startLineNumber<=m.original.startLineNumber),g=l2(n,I=>I.modified.startLineNumber<=m.modified.startLineNumber),b=Math.max(m.original.startLineNumber-f.original.startLineNumber,m.modified.startLineNumber-g.modified.startLineNumber),y=d.findLastMonotonous(I=>I.original.startLineNumberI.modified.startLineNumberi.length||D>r.length||u.contains(D)||c.contains(I)||!XSe(i[I-1],r[D-1],o))break}x>0&&(c.addRange(new dn(m.original.startLineNumber-x,m.original.startLineNumber)),u.addRange(new dn(m.modified.startLineNumber-x,m.modified.startLineNumber)));let L;for(L=0;Li.length||D>r.length||u.contains(D)||c.contains(I)||!XSe(i[I-1],r[D-1],o))break}L>0&&(c.addRange(new dn(m.original.endLineNumberExclusive,m.original.endLineNumberExclusive+L)),u.addRange(new dn(m.modified.endLineNumberExclusive,m.modified.endLineNumberExclusive+L))),(x>0||L>0)&&(s[h]=new ll(new dn(m.original.startLineNumber-x,m.original.endLineNumberExclusive+L),new dn(m.modified.startLineNumber-x,m.modified.endLineNumberExclusive+L)))}return s}function XSe(n,e,t){if(n.trim()===e.trim())return!0;if(n.length>300&&e.length>300)return!1;const r=new WSe().compute(new IW([n],new Dn(0,1),!1),new IW([e],new Dn(0,1),!1),t);let o=0;const s=us.invert(r.diffs,n.length);for(const c of s)c.seq1Range.forEach(d=>{NU(n.charCodeAt(d))||o++});function a(c){let d=0;for(let h=0;he.length?n:e);return o/l>.6&&l>10}function R_t(n){if(n.length===0)return n;n.sort(Tc(t=>t.original.startLineNumber,Wg));const e=[n[0]];for(let t=1;t=0&&s>=0&&o+s<=2){e[e.length-1]=i.join(r);continue}e.push(r)}return e}function Z_t(n,e){const t=new QF(n);return e=e.filter(i=>{const r=t.findLastMonotonous(a=>a.original.startLineNumbera.modified.startLineNumber0&&(a=a.delta(u))}r.push(a)}return i.length>0&&r.push(i[i.length-1]),r}function W_t(n,e,t){if(!n.getBoundaryScore||!e.getBoundaryScore)return t;for(let i=0;i0?t[i-1]:void 0,o=t[i],s=i+1=i.start&&n.seq2Range.start-s>=r.start&&t.isStronglyEqual(n.seq2Range.start-s,n.seq2Range.endExclusive-s)&&s<100;)s++;s--;let a=0;for(;n.seq1Range.start+au&&(u=f,l=c)}return n.delta(l)}function A_t(n,e,t){const i=[];for(const r of t){const o=i[i.length-1];if(!o){i.push(r);continue}r.seq1Range.start-o.seq1Range.endExclusive<=2||r.seq2Range.start-o.seq2Range.endExclusive<=2?i[i.length-1]=new us(o.seq1Range.join(r.seq1Range),o.seq2Range.join(r.seq2Range)):i.push(r)}return i}function V_t(n,e,t){const i=us.invert(t,n.length),r=[];let o=new Jc(0,0);function s(l,u){if(l.offset10;){const b=i[0];if(!(b.seq1Range.intersects(h.seq1Range)||b.seq2Range.intersects(h.seq2Range)))break;const C=n.findWordContaining(b.seq1Range.start),w=e.findWordContaining(b.seq2Range.start),x=new us(C,w),L=x.intersect(b);if(f+=L.seq1Range.length,g+=L.seq2Range.length,h=h.join(x),h.seq1Range.endExclusive>=b.seq1Range.endExclusive)i.shift();else break}f+g<(h.seq1Range.length+h.seq2Range.length)*2/3&&r.push(h),o=h.getEndExclusives()}for(;i.length>0;){const l=i.shift();l.seq1Range.isEmpty||(s(l.getStarts(),l),s(l.getEndExclusives().delta(-1),l))}return G_t(t,r)}function G_t(n,e){const t=[];for(;n.length>0||e.length>0;){const i=n[0],r=e[0];let o;i&&(!r||i.seq1Range.start0&&t[t.length-1].seq1Range.endExclusive>=o.seq1Range.start?t[t.length-1]=t[t.length-1].join(o):t.push(o)}return t}function X_t(n,e,t){let i=t;if(i.length===0)return i;let r=0,o;do{o=!1;const s=[i[0]];for(let a=1;a5||m.seq1Range.length+m.seq2Range.length>5)};const l=i[a],u=s[s.length-1];c(u,l)?(o=!0,s[s.length-1]=s[s.length-1].join(l)):s.push(l)}i=s}while(r++<10&&o);return i}function P_t(n,e,t){let i=t;if(i.length===0)return i;let r=0,o;do{o=!1;const a=[i[0]];for(let l=1;l5||g.length>500)return!1;const y=n.getText(g).trim();if(y.length>20||y.split(/\r\n|\r|\n/).length>1)return!1;const C=n.countLinesIn(m.seq1Range),w=m.seq1Range.length,x=e.countLinesIn(m.seq2Range),L=m.seq2Range.length,I=n.countLinesIn(f.seq1Range),D=f.seq1Range.length,N=e.countLinesIn(f.seq2Range),T=f.seq2Range.length,R=2*40+50;function E(W){return Math.min(W,R)}return Math.pow(Math.pow(E(C*40+w),1.5)+Math.pow(E(x*40+L),1.5),1.5)+Math.pow(Math.pow(E(I*40+D),1.5)+Math.pow(E(N*40+T),1.5),1.5)>(R**1.5)**1.5*1.3};const u=i[l],c=a[a.length-1];d(c,u)?(o=!0,a[a.length-1]=a[a.length-1].join(u)):a.push(u)}i=a}while(r++<10&&o);const s=[];return Tgt(i,(a,l,u)=>{let c=l;function d(y){return y.length>0&&y.trim().length<=3&&l.seq1Range.length+l.seq2Range.length>100}const h=n.extendToFullLines(l.seq1Range),m=n.getText(new Dn(h.start,l.seq1Range.start));d(m)&&(c=c.deltaStart(-m.length));const f=n.getText(new Dn(l.seq1Range.endExclusive,h.endExclusive));d(f)&&(c=c.deltaEnd(f.length));const g=us.fromOffsetPairs(a?a.getEndExclusives():Jc.zero,u?u.getStarts():Jc.max),b=c.intersect(g);s.length>0&&b.getStarts().equals(s[s.length-1].getEndExclusives())?s[s.length-1]=s[s.length-1].join(b):s.push(b)}),s}let BSe=class{constructor(e,t){this.trimmedHash=e,this.lines=t}getElement(e){return this.trimmedHash[e]}get length(){return this.trimmedHash.length}getBoundaryScore(e){const t=e===0?0:zSe(this.lines[e-1]),i=e===this.lines.length?0:zSe(this.lines[e]);return 1e3-(t+i)}getText(e){return this.lines.slice(e.start,e.endExclusive).join(` +`)}isStronglyEqual(e,t){return this.lines[e]===this.lines[t]}};function zSe(n){let e=0;for(;eL===I))return new FW([],[],!1);if(e.length===1&&e[0].length===0||t.length===1&&t[0].length===0)return new FW([new ju(new dn(1,e.length+1),new dn(1,t.length+1),[new mp(new J(1,1,e.length,e[0].length+1),new J(1,1,t.length,t[0].length+1))])],[],!1);const r=i.maxComputationTimeMs===0?HD.instance:new L_t(i.maxComputationTimeMs),o=!i.ignoreTrimWhitespace,s=new Map;function a(L){let I=s.get(L);return I===void 0&&(I=s.size,s.set(L,I)),I}const l=e.map(L=>a(L.trim())),u=t.map(L=>a(L.trim())),c=new BSe(l,e),d=new BSe(u,t),h=c.length+d.length<1700?this.dynamicProgrammingDiffing.compute(c,d,r,(L,I)=>e[L]===t[I]?t[I].length===0?.1:1+Math.log(1+t[I].length):.99):this.myersDiffingAlgorithm.compute(c,d);let m=h.diffs,f=h.hitTimeout;m=kU(c,d,m),m=X_t(c,d,m);const g=[],b=L=>{if(o)for(let I=0;IL.seq1Range.start-y===L.seq2Range.start-C);const I=L.seq1Range.start-y;b(I),y=L.seq1Range.endExclusive,C=L.seq2Range.endExclusive;const D=this.refineDiff(e,t,L,r,o);D.hitTimeout&&(f=!0);for(const N of D.mappings)g.push(N)}b(e.length-y);const w=USe(g,e,t);let x=[];return i.computeMoves&&(x=this.computeMoves(w,e,t,l,u,r,o)),ev(()=>{function L(D,N){if(D.lineNumber<1||D.lineNumber>N.length)return!1;const T=N[D.lineNumber-1];return!(D.column<1||D.column>T.length+1)}function I(D,N){return!(D.startLineNumber<1||D.startLineNumber>N.length+1||D.endLineNumberExclusive<1||D.endLineNumberExclusive>N.length+1)}for(const D of w){if(!D.innerChanges)return!1;for(const N of D.innerChanges)if(!(L(N.modifiedRange.getStartPosition(),t)&&L(N.modifiedRange.getEndPosition(),t)&&L(N.originalRange.getStartPosition(),e)&&L(N.originalRange.getEndPosition(),e)))return!1;if(!I(D.modified,t)||!I(D.original,e))return!1}return!0}),new FW(w,x,f)}computeMoves(e,t,i,r,o,s,a){return M_t(e,t,i,r,o,s).map(c=>{const d=this.refineDiff(t,i,new us(c.original.toOffsetRange(),c.modified.toOffsetRange()),s,a),h=USe(d.mappings,t,i,!0);return new HSe(c,h)})}refineDiff(e,t,i,r,o){const s=new IW(e,i.seq1Range,o),a=new IW(t,i.seq2Range,o),l=s.length+a.length<500?this.dynamicProgrammingDiffing.compute(s,a,r):this.myersDiffingAlgorithm.compute(s,a,r);let u=l.diffs;return u=kU(s,a,u),u=V_t(s,a,u),u=A_t(s,a,u),u=P_t(s,a,u),{mappings:u.map(d=>new mp(s.translateRange(d.seq1Range),a.translateRange(d.seq2Range))),hitTimeout:l.hitTimeout}}}function USe(n,e,t,i=!1){const r=[];for(const o of BY(n.map(s=>O_t(s,e,t)),(s,a)=>s.original.overlapOrTouch(a.original)||s.modified.overlapOrTouch(a.modified))){const s=o[0],a=o[o.length-1];r.push(new ju(s.original.join(a.original),s.modified.join(a.modified),o.map(l=>l.innerChanges[0])))}return ev(()=>!i&&r.length>0&&(r[0].modified.startLineNumber!==r[0].original.startLineNumber||t.length-r[r.length-1].modified.endLineNumberExclusive!==e.length-r[r.length-1].original.endLineNumberExclusive)?!1:RY(r,(o,s)=>s.original.startLineNumber-o.original.endLineNumberExclusive===s.modified.startLineNumber-o.modified.endLineNumberExclusive&&o.original.endLineNumberExclusive=t[n.modifiedRange.startLineNumber-1].length&&n.originalRange.startColumn-1>=e[n.originalRange.startLineNumber-1].length&&n.originalRange.startLineNumber<=n.originalRange.endLineNumber+r&&n.modifiedRange.startLineNumber<=n.modifiedRange.endLineNumber+r&&(i=1);const o=new dn(n.originalRange.startLineNumber+i,n.originalRange.endLineNumber+1+r),s=new dn(n.modifiedRange.startLineNumber+i,n.modifiedRange.endLineNumber+1+r);return new ju(o,s,[n])}var B_t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},z_t=function(n,e){return function(t,i){e(t,i,n)}};let TU=class extends Fe{setActiveMovedText(e){this._activeMovedText.set(e,void 0)}constructor(e,t,i){super(),this.model=e,this._options=t,this._diffProviderFactoryService=i,this._isDiffUpToDate=ei(this,!1),this.isDiffUpToDate=this._isDiffUpToDate,this._diff=ei(this,void 0),this.diff=this._diff,this._unchangedRegions=ei(this,void 0),this.unchangedRegions=hn(this,a=>{var l,u;return this._options.hideUnchangedRegions.read(a)?(u=(l=this._unchangedRegions.read(a))===null||l===void 0?void 0:l.regions)!==null&&u!==void 0?u:[]:(Bi(c=>{var d;for(const h of((d=this._unchangedRegions.get())===null||d===void 0?void 0:d.regions)||[])h.collapseAll(c)}),[])}),this.movedTextToCompare=ei(this,void 0),this._activeMovedText=ei(this,void 0),this._hoveredMovedText=ei(this,void 0),this.activeMovedText=hn(this,a=>{var l,u;return(u=(l=this.movedTextToCompare.read(a))!==null&&l!==void 0?l:this._hoveredMovedText.read(a))!==null&&u!==void 0?u:this._activeMovedText.read(a)}),this._cancellationTokenSource=new fo,this._diffProvider=hn(this,a=>{const l=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:this._options.diffAlgorithm.read(a)}),u=ba("onDidChange",l.onDidChange);return{diffProvider:l,onChangeSignal:u}}),this._register(jt(()=>this._cancellationTokenSource.cancel()));const r=sW("contentChangedSignal"),o=this._register(new Wi(()=>r.trigger(void 0),200));this._register(Rn(a=>{const l=this._unchangedRegions.read(a);if(!l||l.regions.some(f=>f.isDragged.read(a)))return;const u=l.originalDecorationIds.map(f=>e.original.getDecorationRange(f)).map(f=>f?dn.fromRangeInclusive(f):void 0),c=l.modifiedDecorationIds.map(f=>e.modified.getDecorationRange(f)).map(f=>f?dn.fromRangeInclusive(f):void 0),d=l.regions.map((f,g)=>!u[g]||!c[g]?void 0:new D0(u[g].startLineNumber,c[g].startLineNumber,u[g].length,f.visibleLineCountTop.read(a),f.visibleLineCountBottom.read(a))).filter(Wm),h=[];let m=!1;for(const f of BY(d,(g,b)=>g.getHiddenModifiedRange(a).endLineNumberExclusive===b.getHiddenModifiedRange(a).startLineNumber))if(f.length>1){m=!0;const g=f.reduce((y,C)=>y+C.lineCount,0),b=new D0(f[0].originalLineNumber,f[0].modifiedLineNumber,g,f[0].visibleLineCountTop.get(),f[f.length-1].visibleLineCountBottom.get());h.push(b)}else h.push(f[0]);if(m){const f=e.original.deltaDecorations(l.originalDecorationIds,h.map(b=>({range:b.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))),g=e.modified.deltaDecorations(l.modifiedDecorationIds,h.map(b=>({range:b.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})));Bi(b=>{this._unchangedRegions.set({regions:h,originalDecorationIds:f,modifiedDecorationIds:g},b)})}}));const s=(a,l,u)=>{const c=D0.fromDiffs(a.changes,e.original.getLineCount(),e.modified.getLineCount(),this._options.hideUnchangedRegionsMinimumLineCount.read(u),this._options.hideUnchangedRegionsContextLineCount.read(u));let d;const h=this._unchangedRegions.get();if(h){const b=h.originalDecorationIds.map(x=>e.original.getDecorationRange(x)).map(x=>x?dn.fromRangeInclusive(x):void 0),y=h.modifiedDecorationIds.map(x=>e.modified.getDecorationRange(x)).map(x=>x?dn.fromRangeInclusive(x):void 0);let w=$xt(h.regions.map((x,L)=>{if(!b[L]||!y[L])return;const I=b[L].length;return new D0(b[L].startLineNumber,y[L].startLineNumber,I,Math.min(x.visibleLineCountTop.get(),I),Math.min(x.visibleLineCountBottom.get(),I-x.visibleLineCountTop.get()))}).filter(Wm),(x,L)=>!L||x.modifiedLineNumber>=L.modifiedLineNumber+L.lineCount&&x.originalLineNumber>=L.originalLineNumber+L.lineCount).map(x=>new ll(x.getHiddenOriginalRange(u),x.getHiddenModifiedRange(u)));w=ll.clip(w,dn.ofLength(1,e.original.getLineCount()),dn.ofLength(1,e.modified.getLineCount())),d=ll.inverse(w,e.original.getLineCount(),e.modified.getLineCount())}const m=[];if(d)for(const b of c){const y=d.filter(C=>C.original.intersectsStrict(b.originalUnchangedRange)&&C.modified.intersectsStrict(b.modifiedUnchangedRange));m.push(...b.setVisibleRanges(y,l))}else m.push(...c);const f=e.original.deltaDecorations((h==null?void 0:h.originalDecorationIds)||[],m.map(b=>({range:b.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))),g=e.modified.deltaDecorations((h==null?void 0:h.modifiedDecorationIds)||[],m.map(b=>({range:b.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})));this._unchangedRegions.set({regions:m,originalDecorationIds:f,modifiedDecorationIds:g},l)};this._register(e.modified.onDidChangeContent(a=>{if(this._diff.get()){const u=qg.fromModelContentChanges(a.changes);this._lastDiff,e.original,e.modified}this._isDiffUpToDate.set(!1,void 0),o.schedule()})),this._register(e.original.onDidChangeContent(a=>{if(this._diff.get()){const u=qg.fromModelContentChanges(a.changes);this._lastDiff,e.original,e.modified}this._isDiffUpToDate.set(!1,void 0),o.schedule()})),this._register(Hc(async(a,l)=>{var u,c;this._options.hideUnchangedRegionsMinimumLineCount.read(a),this._options.hideUnchangedRegionsContextLineCount.read(a),o.cancel(),r.read(a);const d=this._diffProvider.read(a);d.onChangeSignal.read(a),Ad(YSe,a),Ad(kU,a),this._isDiffUpToDate.set(!1,void 0);let h=[];l.add(e.original.onDidChangeContent(g=>{const b=qg.fromModelContentChanges(g.changes);h=AZ(h,b)}));let m=[];l.add(e.modified.onDidChangeContent(g=>{const b=qg.fromModelContentChanges(g.changes);m=AZ(m,b)}));let f=await d.diffProvider.computeDiff(e.original,e.modified,{ignoreTrimWhitespace:this._options.ignoreTrimWhitespace.read(a),maxComputationTimeMs:this._options.maxComputationTimeMs.read(a),computeMoves:this._options.showMoves.read(a)},this._cancellationTokenSource.token);this._cancellationTokenSource.token.isCancellationRequested||(f=H_t(f,e.original,e.modified),f=(u=(e.original,e.modified,void 0))!==null&&u!==void 0?u:f,f=(c=(e.original,e.modified,void 0))!==null&&c!==void 0?c:f,Bi(g=>{s(f,g),this._lastDiff=f;const b=EU.fromDiffResult(f);this._diff.set(b,g),this._isDiffUpToDate.set(!0,g);const y=this.movedTextToCompare.get();this.movedTextToCompare.set(y?this._lastDiff.moves.find(C=>C.lineRangeMapping.modified.intersect(y.lineRangeMapping.modified)):void 0,g)}))}))}ensureModifiedLineIsVisible(e,t,i){var r,o;if(((r=this.diff.get())===null||r===void 0?void 0:r.mappings.length)===0)return;const s=((o=this._unchangedRegions.get())===null||o===void 0?void 0:o.regions)||[];for(const a of s)if(a.getHiddenModifiedRange(void 0).contains(e)){a.showModifiedLine(e,t,i);return}}ensureOriginalLineIsVisible(e,t,i){var r,o;if(((r=this.diff.get())===null||r===void 0?void 0:r.mappings.length)===0)return;const s=((o=this._unchangedRegions.get())===null||o===void 0?void 0:o.regions)||[];for(const a of s)if(a.getHiddenOriginalRange(void 0).contains(e)){a.showOriginalLine(e,t,i);return}}async waitForDiff(){await c2t(this.isDiffUpToDate,e=>e)}serializeState(){const e=this._unchangedRegions.get();return{collapsedRegions:e==null?void 0:e.regions.map(t=>({range:t.getHiddenModifiedRange(void 0).serialize()}))}}restoreSerializedState(e){var t;const i=(t=e.collapsedRegions)===null||t===void 0?void 0:t.map(o=>dn.deserialize(o.range)),r=this._unchangedRegions.get();!r||!i||Bi(o=>{for(const s of r.regions)for(const a of i)if(s.modifiedUnchangedRange.intersect(a)){s.setHiddenModifiedRange(a,o);break}})}};TU=B_t([z_t(2,ZSe)],TU);function H_t(n,e,t){return{changes:n.changes.map(i=>new ju(i.original,i.modified,i.innerChanges?i.innerChanges.map(r=>Y_t(r,e,t)):void 0)),moves:n.moves,identical:n.identical,quitEarly:n.quitEarly}}function Y_t(n,e,t){let i=n.originalRange,r=n.modifiedRange;return(i.endColumn!==1||r.endColumn!==1)&&i.endColumn===e.getLineMaxColumn(i.endLineNumber)&&r.endColumn===t.getLineMaxColumn(r.endLineNumber)&&i.endLineNumbernew KSe(t)),e.moves||[],e.identical,e.quitEarly)}constructor(e,t,i,r){this.mappings=e,this.movedTexts=t,this.identical=i,this.quitEarly=r}}class KSe{constructor(e){this.lineRangeMapping=e}}class D0{static fromDiffs(e,t,i,r,o){const s=ju.inverse(e,t,i),a=[];for(const l of s){let u=l.original.startLineNumber,c=l.modified.startLineNumber,d=l.original.length;const h=u===1&&c===1,m=u+d===t+1&&c+d===i+1;(h||m)&&d>=o+r?(h&&!m&&(d-=o),m&&!h&&(u+=o,c+=o,d-=o),a.push(new D0(u,c,d,0,0))):d>=o*2+r&&(u+=o,c+=o,d-=o*2,a.push(new D0(u,c,d,0,0)))}return a}get originalUnchangedRange(){return dn.ofLength(this.originalLineNumber,this.lineCount)}get modifiedUnchangedRange(){return dn.ofLength(this.modifiedLineNumber,this.lineCount)}constructor(e,t,i,r,o){this.originalLineNumber=e,this.modifiedLineNumber=t,this.lineCount=i,this._visibleLineCountTop=ei(this,0),this.visibleLineCountTop=this._visibleLineCountTop,this._visibleLineCountBottom=ei(this,0),this.visibleLineCountBottom=this._visibleLineCountBottom,this._shouldHideControls=hn(this,l=>this.visibleLineCountTop.read(l)+this.visibleLineCountBottom.read(l)===this.lineCount&&!this.isDragged.read(l)),this.isDragged=ei(this,void 0);const s=Math.max(Math.min(r,this.lineCount),0),a=Math.max(Math.min(o,this.lineCount-r),0);J0e(r===s),J0e(o===a),this._visibleLineCountTop.set(s,void 0),this._visibleLineCountBottom.set(a,void 0)}setVisibleRanges(e,t){const i=[],r=new Oc(e.map(l=>l.modified)).subtractFrom(this.modifiedUnchangedRange);let o=this.originalLineNumber,s=this.modifiedLineNumber;const a=this.modifiedLineNumber+this.lineCount;if(r.ranges.length===0)this.showAll(t),i.push(this);else{let l=0;for(const u of r.ranges){const c=l===r.ranges.length-1;l++;const d=(c?a:u.endLineNumberExclusive)-s,h=new D0(o,s,d,0,0);h.setHiddenModifiedRange(u,t),i.push(h),o=h.originalUnchangedRange.endLineNumberExclusive,s=h.modifiedUnchangedRange.endLineNumberExclusive}}return i}shouldHideControls(e){return this._shouldHideControls.read(e)}getHiddenOriginalRange(e){return dn.ofLength(this.originalLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}getHiddenModifiedRange(e){return dn.ofLength(this.modifiedLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}setHiddenModifiedRange(e,t){const i=e.startLineNumber-this.modifiedLineNumber,r=this.modifiedLineNumber+this.lineCount-e.endLineNumberExclusive;this.setState(i,r,t)}getMaxVisibleLineCountTop(){return this.lineCount-this._visibleLineCountBottom.get()}getMaxVisibleLineCountBottom(){return this.lineCount-this._visibleLineCountTop.get()}showMoreAbove(e=10,t){const i=this.getMaxVisibleLineCountTop();this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+e,i),t)}showMoreBelow(e=10,t){const i=this.lineCount-this._visibleLineCountTop.get();this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+e,i),t)}showAll(e){this._visibleLineCountBottom.set(this.lineCount-this._visibleLineCountTop.get(),e)}showModifiedLine(e,t,i){const r=e+1-(this.modifiedLineNumber+this._visibleLineCountTop.get()),o=this.modifiedLineNumber-this._visibleLineCountBottom.get()+this.lineCount-e;t===0&&r{var b;this._contextMenuService.showContextMenu({domForShadowRoot:h&&(b=i.getDomNode())!==null&&b!==void 0?b:void 0,getAnchor:()=>({x:f,y:g}),getActions:()=>{const y=[],C=r.modified.isEmpty;return y.push(new uu("diff.clipboard.copyDeletedContent",C?r.original.length>1?_("diff.clipboard.copyDeletedLinesContent.label","Copy deleted lines"):_("diff.clipboard.copyDeletedLinesContent.single.label","Copy deleted line"):r.original.length>1?_("diff.clipboard.copyChangedLinesContent.label","Copy changed lines"):_("diff.clipboard.copyChangedLinesContent.single.label","Copy changed line"),void 0,!0,async()=>{const x=this._originalTextModel.getValueInRange(r.original.toExclusiveRange());await this._clipboardService.writeText(x)})),r.original.length>1&&y.push(new uu("diff.clipboard.copyDeletedLineContent",C?_("diff.clipboard.copyDeletedLineContent.label","Copy deleted line ({0})",r.original.startLineNumber+d):_("diff.clipboard.copyChangedLineContent.label","Copy changed line ({0})",r.original.startLineNumber+d),void 0,!0,async()=>{let x=this._originalTextModel.getLineContent(r.original.startLineNumber+d);x===""&&(x=this._originalTextModel.getEndOfLineSequence()===0?` `:`\r -`),await this._clipboardService.writeText(x)})),i.getOption(91)||v.push(new uu("diff.inline.revertChange",L("diff.inline.revertChange.label","Revert this change"),void 0,!0,async()=>{this._editor.revert(this._diff)})),v},autoSelectFirstItem:!0})};this._register(Gr(this._diffActions,"mousedown",f=>{if(!f.leftButton)return;const{top:g,height:b}=po(this._diffActions),v=Math.floor(c/3);f.preventDefault(),m(f.posx,g+b+v)})),this._register(i.onMouseMove(f=>{(f.target.type===8||f.target.type===5)&&f.target.detail.viewZoneId===this._getViewZoneId()?(d=this._updateLightBulbPosition(this._marginDomNode,f.event.browserEvent.y,c),this.visibility=!0):this.visibility=!1})),this._register(i.onMouseDown(f=>{f.event.leftButton&&(f.target.type===8||f.target.type===5)&&f.target.detail.viewZoneId===this._getViewZoneId()&&(f.event.preventDefault(),d=this._updateLightBulbPosition(this._marginDomNode,f.event.browserEvent.y,c),m(f.event.posx,f.event.posy+c))}))}_updateLightBulbPosition(e,t,i){const{top:r}=po(e),o=t-r,s=Math.floor(o/i),a=s*i;if(this._diffActions.style.top=`${a}px`,this._viewLineCounts){let l=0;for(let u=0;un});function KLt(n,e,t,i){Ts(i,e.fontInfo);const r=t.length>0,o=new TS(1e4);let s=0,a=0;const l=[];for(let h=0;h');const l=e.getLineContent(),u=Uu.isBasicASCII(l,r),c=Uu.containsRTL(l,u,o),d=ZI(new u0(s.fontInfo.isMonospace&&!s.disableMonospaceOptimizations,s.fontInfo.canUseHalfwidthRightwardsArrow,l,!1,u,c,0,e,t,s.tabSize,0,s.fontInfo.spaceWidth,s.fontInfo.middotWidth,s.fontInfo.wsmiddotWidth,s.stopRenderingLineAfter,s.renderWhitespace,s.renderControlCharacters,s.fontLigatures!==Bu.OFF,null),a);return a.appendString(""),d.characterMapping.getHorizontalOffset(d.characterMapping.length)}const gp=Un("clipboardService"),pp=Un("contextViewService"),fu=Un("contextMenuService");var jLt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Qwe=function(n,e){return function(t,i){e(t,i,n)}};let WU=class extends Ie{constructor(e,t,i,r,o,s,a,l,u,c){super(),this._targetWindow=e,this._editors=t,this._diffModel=i,this._options=r,this._diffEditorWidget=o,this._canIgnoreViewZoneUpdateEvent=s,this._origViewZonesToIgnore=a,this._modViewZonesToIgnore=l,this._clipboardService=u,this._contextMenuService=c,this._originalTopPadding=ei(this,0),this._originalScrollOffset=ei(this,0),this._originalScrollOffsetAnimated=pwe(this._targetWindow,this._originalScrollOffset,this._store),this._modifiedTopPadding=ei(this,0),this._modifiedScrollOffset=ei(this,0),this._modifiedScrollOffsetAnimated=pwe(this._targetWindow,this._modifiedScrollOffset,this._store);const d=ei("invalidateAlignmentsState",0),h=this._register(new Ri(()=>{d.set(d.get()+1,void 0)},0));this._register(this._editors.original.onDidChangeViewZones(S=>{this._canIgnoreViewZoneUpdateEvent()||h.schedule()})),this._register(this._editors.modified.onDidChangeViewZones(S=>{this._canIgnoreViewZoneUpdateEvent()||h.schedule()})),this._register(this._editors.original.onDidChangeConfiguration(S=>{(S.hasChanged(146)||S.hasChanged(67))&&h.schedule()})),this._register(this._editors.modified.onDidChangeConfiguration(S=>{(S.hasChanged(146)||S.hasChanged(67))&&h.schedule()}));const m=this._diffModel.map(S=>S?Hi(S.model.original.onDidChangeTokens,()=>S.model.original.tokenization.backgroundTokenizationState===2):void 0).map((S,x)=>S==null?void 0:S.read(x)),f=hn(S=>{const x=this._diffModel.read(S),_=x==null?void 0:x.diff.read(S);if(!x||!_)return null;d.read(S);const D=this._options.renderSideBySide.read(S);return $we(this._editors.original,this._editors.modified,_.mappings,this._origViewZonesToIgnore,this._modViewZonesToIgnore,D)}),g=hn(S=>{var x;const _=(x=this._diffModel.read(S))===null||x===void 0?void 0:x.movedTextToCompare.read(S);if(!_)return null;d.read(S);const F=_.changes.map(D=>new Kwe(D));return $we(this._editors.original,this._editors.modified,F,this._origViewZonesToIgnore,this._modViewZonesToIgnore,!0)});function b(){const S=document.createElement("div");return S.className="diagonal-fill",S}const v=this._register(new Je);this.viewZones=L2(this,(S,x)=>{var _,F,D,M,T,Z,E,R;v.clear();const W=f.read(S)||[],A=[],z=[],O=this._modifiedTopPadding.read(S);O>0&&z.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:O,showInHiddenAreas:!0,suppressMouseDown:!0});const B=this._originalTopPadding.read(S);B>0&&A.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:B,showInHiddenAreas:!0,suppressMouseDown:!0});const P=this._options.renderSideBySide.read(S),H=P||(_=this._editors.modified._getViewModel())===null||_===void 0?void 0:_.createLineBreaksComputer();if(H){const le=this._editors.original.getModel();for(const ue of W)if(ue.diff)for(let Ce=ue.originalRange.startLineNumber;Cele.getLineCount())return{orig:A,mod:z};H==null||H.addRequest(le.getLineContent(Ce),null,null)}}const k=(F=H==null?void 0:H.finalize())!==null&&F!==void 0?F:[];let X=0;const Y=this._editors.modified.getOption(67),V=(D=this._diffModel.read(S))===null||D===void 0?void 0:D.movedTextToCompare.read(S),te=(T=(M=this._editors.original.getModel())===null||M===void 0?void 0:M.mightContainNonBasicASCII())!==null&&T!==void 0?T:!1,oe=(E=(Z=this._editors.original.getModel())===null||Z===void 0?void 0:Z.mightContainRTL())!==null&&E!==void 0?E:!1,ae=ZU.fromEditor(this._editors.modified);for(const le of W)if(le.diff&&!P){if(!le.originalRange.isEmpty){m.read(S);const Ce=document.createElement("div");Ce.classList.add("view-lines","line-delete","monaco-mouse-cursor-text");const pe=this._editors.original.getModel();if(le.originalRange.endLineNumberExclusive-1>pe.getLineCount())return{orig:A,mod:z};const ce=new JLt(le.originalRange.mapToLineArray(He=>pe.tokenization.getLineTokens(He)),le.originalRange.mapToLineArray(He=>k[X++]),te,oe),De=[];for(const He of le.diff.innerChanges||[])De.push(new eD(He.originalRange.delta(-(le.diff.original.startLineNumber-1)),xU.className,0));const ke=KLt(ce,ae,De,Ce),Ne=document.createElement("div");if(Ne.className="inline-deleted-margin-view-zone",Ts(Ne,ae.fontInfo),this._options.renderIndicators.read(S))for(let He=0;HeVb(Ue),Ne,this._editors.modified,le.diff,this._diffEditorWidget,ke.viewLineCounts,this._editors.original.getModel(),this._contextMenuService,this._clipboardService));for(let He=0;He1&&A.push({afterLineNumber:le.originalRange.startLineNumber+He,domNode:b(),heightInPx:(ct-1)*Y,showInHiddenAreas:!0,suppressMouseDown:!0})}z.push({afterLineNumber:le.modifiedRange.startLineNumber-1,domNode:Ce,heightInPx:ke.heightInLines*Y,minWidthInPx:ke.minWidthInPx,marginDomNode:Ne,setZoneId(He){Ue=He},showInHiddenAreas:!0,suppressMouseDown:!0})}const ue=document.createElement("div");ue.className="gutter-delete",A.push({afterLineNumber:le.originalRange.endLineNumberExclusive-1,domNode:b(),heightInPx:le.modifiedHeightInPx,marginDomNode:ue,showInHiddenAreas:!0,suppressMouseDown:!0})}else{const ue=le.modifiedHeightInPx-le.originalHeightInPx;if(ue>0){if(V!=null&&V.lineRangeMapping.original.delta(-1).deltaLength(2).contains(le.originalRange.endLineNumberExclusive-1))continue;A.push({afterLineNumber:le.originalRange.endLineNumberExclusive-1,domNode:b(),heightInPx:ue,showInHiddenAreas:!0,suppressMouseDown:!0})}else{let Ce=function(){const ce=document.createElement("div");return ce.className="arrow-revert-change "+sn.asClassName(ut.arrowRight),x.add(Ae(ce,"mousedown",De=>De.stopPropagation())),x.add(Ae(ce,"click",De=>{De.stopPropagation(),o.revert(le.diff)})),Ct("div",{},ce)};if(V!=null&&V.lineRangeMapping.modified.delta(-1).deltaLength(2).contains(le.modifiedRange.endLineNumberExclusive-1))continue;let pe;le.diff&&le.diff.modified.isEmpty&&this._options.shouldRenderOldRevertArrows.read(S)&&(pe=Ce()),z.push({afterLineNumber:le.modifiedRange.endLineNumberExclusive-1,domNode:b(),heightInPx:-ue,marginDomNode:pe,showInHiddenAreas:!0,suppressMouseDown:!0})}}for(const le of(R=g.read(S))!==null&&R!==void 0?R:[]){if(!(V!=null&&V.lineRangeMapping.original.intersect(le.originalRange))||!(V!=null&&V.lineRangeMapping.modified.intersect(le.modifiedRange)))continue;const ue=le.modifiedHeightInPx-le.originalHeightInPx;ue>0?A.push({afterLineNumber:le.originalRange.endLineNumberExclusive-1,domNode:b(),heightInPx:ue,showInHiddenAreas:!0,suppressMouseDown:!0}):z.push({afterLineNumber:le.modifiedRange.endLineNumberExclusive-1,domNode:b(),heightInPx:-ue,showInHiddenAreas:!0,suppressMouseDown:!0})}return{orig:A,mod:z}});let C=!1;this._register(this._editors.original.onDidScrollChange(S=>{S.scrollLeftChanged&&!C&&(C=!0,this._editors.modified.setScrollLeft(S.scrollLeft),C=!1)})),this._register(this._editors.modified.onDidScrollChange(S=>{S.scrollLeftChanged&&!C&&(C=!0,this._editors.original.setScrollLeft(S.scrollLeft),C=!1)})),this._originalScrollTop=Hi(this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=Hi(this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._register(Zn(S=>{const x=this._originalScrollTop.read(S)-(this._originalScrollOffsetAnimated.get()-this._modifiedScrollOffsetAnimated.read(S))-(this._originalTopPadding.get()-this._modifiedTopPadding.read(S));x!==this._editors.modified.getScrollTop()&&this._editors.modified.setScrollTop(x,1)})),this._register(Zn(S=>{const x=this._modifiedScrollTop.read(S)-(this._modifiedScrollOffsetAnimated.get()-this._originalScrollOffsetAnimated.read(S))-(this._modifiedTopPadding.get()-this._originalTopPadding.read(S));x!==this._editors.original.getScrollTop()&&this._editors.original.setScrollTop(x,1)})),this._register(Zn(S=>{var x;const _=(x=this._diffModel.read(S))===null||x===void 0?void 0:x.movedTextToCompare.read(S);let F=0;if(_){const D=this._editors.original.getTopForLineNumber(_.lineRangeMapping.original.startLineNumber,!0)-this._originalTopPadding.get();F=this._editors.modified.getTopForLineNumber(_.lineRangeMapping.modified.startLineNumber,!0)-this._modifiedTopPadding.get()-D}F>0?(this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(F,void 0)):F<0?(this._modifiedTopPadding.set(-F,void 0),this._originalTopPadding.set(0,void 0)):setTimeout(()=>{this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(0,void 0)},400),this._editors.modified.hasTextFocus()?this._originalScrollOffset.set(this._modifiedScrollOffset.get()-F,void 0,!0):this._modifiedScrollOffset.set(this._originalScrollOffset.get()+F,void 0,!0)}))}};WU=jLt([Qwe(8,gp),Qwe(9,fu)],WU);function $we(n,e,t,i,r,o){const s=new Vg(qwe(n,i)),a=new Vg(qwe(e,r)),l=n.getOption(67),u=e.getOption(67),c=[];let d=0,h=0;function m(f,g){for(;;){let b=s.peek(),v=a.peek();if(b&&b.lineNumber>=f&&(b=void 0),v&&v.lineNumber>=g&&(v=void 0),!b&&!v)break;const C=b?b.lineNumber-d:Number.MAX_VALUE,S=v?v.lineNumber-h:Number.MAX_VALUE;CS?(a.dequeue(),b={lineNumber:v.lineNumber-h+d,heightInPx:0}):(s.dequeue(),a.dequeue()),c.push({originalRange:dn.ofLength(b.lineNumber,1),modifiedRange:dn.ofLength(v.lineNumber,1),originalHeightInPx:l+b.heightInPx,modifiedHeightInPx:u+v.heightInPx,diff:void 0})}}for(const f of t){let S=function(x,_){var F,D,M,T;if(xA.lineNumberA+z.heightInPx,0))!==null&&D!==void 0?D:0,W=(T=(M=a.takeWhile(A=>A.lineNumber<_))===null||M===void 0?void 0:M.reduce((A,z)=>A+z.heightInPx,0))!==null&&T!==void 0?T:0;c.push({originalRange:Z,modifiedRange:E,originalHeightInPx:Z.length*l+R,modifiedHeightInPx:E.length*u+W,diff:f.lineRangeMapping}),C=x,v=_};const g=f.lineRangeMapping;m(g.original.startLineNumber,g.modified.startLineNumber);let b=!0,v=g.modified.startLineNumber,C=g.original.startLineNumber;if(o)for(const x of g.innerChanges||[]){x.originalRange.startColumn>1&&x.modifiedRange.startColumn>1&&S(x.originalRange.startLineNumber,x.modifiedRange.startLineNumber);const _=n.getModel(),F=x.originalRange.endLineNumber<=_.getLineCount()?_.getLineMaxColumn(x.originalRange.endLineNumber):Number.MAX_SAFE_INTEGER;x.originalRange.endColumn1&&i.push({lineNumber:l,heightInPx:s*(u-1)})}for(const l of n.getWhitespaces()){if(e.has(l.id))continue;const u=l.afterLineNumber===0?0:o.convertViewPositionToModelPosition(new ye(l.afterLineNumber,1)).lineNumber;t.push({lineNumber:u,heightInPx:l.height})}return Yxt(t,i,l=>l.lineNumber,(l,u)=>({lineNumber:l.lineNumber,heightInPx:l.heightInPx+u.heightInPx}))}var QLt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},$Lt=function(n,e){return function(t,i){e(t,i,n)}},RU;let YD=RU=class extends Ie{static setBreadcrumbsSourceFactory(e){this._breadcrumbsSourceFactory.set(e,void 0)}get isUpdatingHiddenAreas(){return this._isUpdatingHiddenAreas}constructor(e,t,i,r){super(),this._editors=e,this._diffModel=t,this._options=i,this._instantiationService=r,this._modifiedOutlineSource=lp(this,l=>{const u=this._editors.modifiedModel.read(l),c=RU._breadcrumbsSourceFactory.read(l);return!u||!c?void 0:c(u,this._instantiationService)}),this._isUpdatingHiddenAreas=!1,this._register(this._editors.original.onDidChangeCursorPosition(l=>{if(l.reason===1)return;const u=this._diffModel.get();zi(c=>{for(const d of this._editors.original.getSelections()||[])u==null||u.ensureOriginalLineIsVisible(d.getStartPosition().lineNumber,0,c),u==null||u.ensureOriginalLineIsVisible(d.getEndPosition().lineNumber,0,c)})})),this._register(this._editors.modified.onDidChangeCursorPosition(l=>{if(l.reason===1)return;const u=this._diffModel.get();zi(c=>{for(const d of this._editors.modified.getSelections()||[])u==null||u.ensureModifiedLineIsVisible(d.getStartPosition().lineNumber,0,c),u==null||u.ensureModifiedLineIsVisible(d.getEndPosition().lineNumber,0,c)})}));const o=this._diffModel.map((l,u)=>{var c,d;const h=(c=l==null?void 0:l.unchangedRegions.read(u))!==null&&c!==void 0?c:[];return h.length===1&&h[0].modifiedLineNumber===1&&h[0].lineCount===((d=this._editors.modifiedModel.read(u))===null||d===void 0?void 0:d.getLineCount())?[]:h});this.viewZones=L2(this,(l,u)=>{const c=this._modifiedOutlineSource.read(l);if(!c)return{origViewZones:[],modViewZones:[]};const d=[],h=[],m=this._options.renderSideBySide.read(l),f=o.read(l);for(const g of f)if(!g.shouldHideControls(l)){{const b=hn(this,C=>g.getHiddenOriginalRange(C).startLineNumber-1),v=new CR(b,24);d.push(v),u.add(new eSe(this._editors.original,v,g,g.originalUnchangedRange,!m,c,C=>this._diffModel.get().ensureModifiedLineIsVisible(C,2,void 0),this._options))}{const b=hn(this,C=>g.getHiddenModifiedRange(C).startLineNumber-1),v=new CR(b,24);h.push(v),u.add(new eSe(this._editors.modified,v,g,g.modifiedUnchangedRange,!1,c,C=>this._diffModel.get().ensureModifiedLineIsVisible(C,2,void 0),this._options))}}return{origViewZones:d,modViewZones:h}});const s={description:"unchanged lines",className:"diff-unchanged-lines",isWholeLine:!0},a={description:"Fold Unchanged",glyphMarginHoverMessage:new va(void 0,{isTrusted:!0,supportThemeIcons:!0}).appendMarkdown(L("foldUnchanged","Fold Unchanged Region")),glyphMarginClassName:"fold-unchanged "+sn.asClassName(ut.fold),zIndex:10001};this._register(yR(this._editors.original,hn(this,l=>{const u=o.read(l),c=u.map(d=>({range:d.originalUnchangedRange.toInclusiveRange(),options:s}));for(const d of u)d.shouldHideControls(l)&&c.push({range:J.fromPositions(new ye(d.originalLineNumber,1)),options:a});return c}))),this._register(yR(this._editors.modified,hn(this,l=>{const u=o.read(l),c=u.map(d=>({range:d.modifiedUnchangedRange.toInclusiveRange(),options:s}));for(const d of u)d.shouldHideControls(l)&&c.push({range:dn.ofLength(d.modifiedLineNumber,1).toInclusiveRange(),options:a});return c}))),this._register(Zn(l=>{const u=o.read(l);this._isUpdatingHiddenAreas=!0;try{this._editors.original.setHiddenAreas(u.map(c=>c.getHiddenOriginalRange(l).toInclusiveRange()).filter(Rm)),this._editors.modified.setHiddenAreas(u.map(c=>c.getHiddenModifiedRange(l).toInclusiveRange()).filter(Rm))}finally{this._isUpdatingHiddenAreas=!1}})),this._register(this._editors.modified.onMouseUp(l=>{var u;if(!l.event.rightButton&&l.target.position&&(!((u=l.target.element)===null||u===void 0)&&u.className.includes("fold-unchanged"))){const c=l.target.position.lineNumber,d=this._diffModel.get();if(!d)return;const h=d.unchangedRegions.get().find(m=>m.modifiedUnchangedRange.includes(c));if(!h)return;h.collapseAll(void 0),l.event.stopPropagation(),l.event.preventDefault()}})),this._register(this._editors.original.onMouseUp(l=>{var u;if(!l.event.rightButton&&l.target.position&&(!((u=l.target.element)===null||u===void 0)&&u.className.includes("fold-unchanged"))){const c=l.target.position.lineNumber,d=this._diffModel.get();if(!d)return;const h=d.unchangedRegions.get().find(m=>m.originalUnchangedRange.includes(c));if(!h)return;h.collapseAll(void 0),l.event.stopPropagation(),l.event.preventDefault()}}))}};YD._breadcrumbsSourceFactory=ei("breadcrumbsSourceFactory",void 0),YD=RU=QLt([$Lt(3,$t)],YD);class eSe extends bwe{constructor(e,t,i,r,o,s,a,l){const u=Li("div.diff-hidden-lines-widget");super(e,t,u.root),this._editor=e,this._unchangedRegion=i,this._unchangedRegionRange=r,this._hide=o,this._modifiedOutlineSource=s,this._revealModifiedHiddenLine=a,this._options=l,this._nodes=Li("div.diff-hidden-lines",[Li("div.top@top",{title:L("diff.hiddenLines.top","Click or drag to show more above")}),Li("div.center@content",{style:{display:"flex"}},[Li("div@first",{style:{display:"flex",justifyContent:"center",alignItems:"center",flexShrink:"0"}},[Ct("a",{title:L("showUnchangedRegion","Show Unchanged Region"),role:"button",onclick:()=>{this._unchangedRegion.showAll(void 0)}},...w0("$(unfold)"))]),Li("div@others",{style:{display:"flex",justifyContent:"center",alignItems:"center"}})]),Li("div.bottom@bottom",{title:L("diff.bottom","Click or drag to show more below"),role:"button"})]),u.root.appendChild(this._nodes.root);const c=Hi(this._editor.onDidLayoutChange,()=>this._editor.getLayoutInfo());this._hide?Qs(this._nodes.first):this._register(dp(this._nodes.first,{width:c.map(h=>h.contentLeft)})),this._register(Zn(h=>{const m=this._unchangedRegion.visibleLineCountTop.read(h)+this._unchangedRegion.visibleLineCountBottom.read(h)===this._unchangedRegion.lineCount;this._nodes.bottom.classList.toggle("canMoveTop",!m),this._nodes.bottom.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(h)>0),this._nodes.top.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(h)>0),this._nodes.top.classList.toggle("canMoveBottom",!m);const f=this._unchangedRegion.isDragged.read(h),g=this._editor.getDomNode();g&&(g.classList.toggle("draggingUnchangedRegion",!!f),f==="top"?(g.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(h)>0),g.classList.toggle("canMoveBottom",!m)):f==="bottom"?(g.classList.toggle("canMoveTop",!m),g.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(h)>0)):(g.classList.toggle("canMoveTop",!1),g.classList.toggle("canMoveBottom",!1)))}));const d=this._editor;this._register(Ae(this._nodes.top,"mousedown",h=>{if(h.button!==0)return;this._nodes.top.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),h.preventDefault();const m=h.clientY;let f=!1;const g=this._unchangedRegion.visibleLineCountTop.get();this._unchangedRegion.isDragged.set("top",void 0);const b=Qt(this._nodes.top),v=Ae(b,"mousemove",S=>{const _=S.clientY-m;f=f||Math.abs(_)>2;const F=Math.round(_/d.getOption(67)),D=Math.max(0,Math.min(g+F,this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set(D,void 0)}),C=Ae(b,"mouseup",S=>{f||this._unchangedRegion.showMoreAbove(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0),this._nodes.top.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),this._unchangedRegion.isDragged.set(void 0,void 0),v.dispose(),C.dispose()})})),this._register(Ae(this._nodes.bottom,"mousedown",h=>{if(h.button!==0)return;this._nodes.bottom.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),h.preventDefault();const m=h.clientY;let f=!1;const g=this._unchangedRegion.visibleLineCountBottom.get();this._unchangedRegion.isDragged.set("bottom",void 0);const b=Qt(this._nodes.bottom),v=Ae(b,"mousemove",S=>{const _=S.clientY-m;f=f||Math.abs(_)>2;const F=Math.round(_/d.getOption(67)),D=Math.max(0,Math.min(g-F,this._unchangedRegion.getMaxVisibleLineCountBottom())),M=this._unchangedRegionRange.endLineNumberExclusive>d.getModel().getLineCount()?d.getContentHeight():d.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set(D,void 0);const T=this._unchangedRegionRange.endLineNumberExclusive>d.getModel().getLineCount()?d.getContentHeight():d.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);d.setScrollTop(d.getScrollTop()+(T-M))}),C=Ae(b,"mouseup",S=>{if(this._unchangedRegion.isDragged.set(void 0,void 0),!f){const x=d.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);const _=d.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);d.setScrollTop(d.getScrollTop()+(_-x))}this._nodes.bottom.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),v.dispose(),C.dispose()})})),this._register(Zn(h=>{const m=[];if(!this._hide){const f=i.getHiddenModifiedRange(h).length,g=L("hiddenLines","{0} hidden lines",f),b=Ct("span",{title:L("diff.hiddenLines.expandAll","Double click to unfold")},g);b.addEventListener("dblclick",S=>{S.button===0&&(S.preventDefault(),this._unchangedRegion.showAll(void 0))}),m.push(b);const v=this._unchangedRegion.getHiddenModifiedRange(h),C=this._modifiedOutlineSource.getBreadcrumbItems(v,h);if(C.length>0){m.push(Ct("span",void 0,"  |  "));for(let S=0;S{this._revealModifiedHiddenLine(x.startLineNumber)}}}}Qs(this._nodes.others,...m)}))}}var qLt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},e_t=function(n,e){return function(t,i){e(t,i,n)}},Gd;let Ey=Gd=class extends Ie{constructor(e,t,i,r,o,s,a){super(),this._editors=e,this._rootElement=t,this._diffModel=i,this._rootWidth=r,this._rootHeight=o,this._modifiedEditorLayoutInfo=s,this._themeService=a,this.width=Gd.ENTIRE_DIFF_OVERVIEW_WIDTH;const l=Hi(this._themeService.onDidColorThemeChange,()=>this._themeService.getColorTheme()),u=hn(h=>{const m=l.read(h),f=m.getColor($bt)||(m.getColor(jbt)||p6).transparent(2),g=m.getColor(qbt)||(m.getColor(Qbt)||b6).transparent(2);return{insertColor:f,removeColor:g}}),c=Si(document.createElement("div"));c.setClassName("diffViewport"),c.setPosition("absolute");const d=Li("div.diffOverview",{style:{position:"absolute",top:"0px",width:Gd.ENTIRE_DIFF_OVERVIEW_WIDTH+"px"}}).root;this._register(BD(d,c.domNode)),this._register(Gr(d,ot.POINTER_DOWN,h=>{this._editors.modified.delegateVerticalScrollbarPointerDown(h)})),this._register(Ae(d,ot.MOUSE_WHEEL,h=>{this._editors.modified.delegateScrollFromMouseWheelEvent(h)},{passive:!1})),this._register(BD(this._rootElement,d)),this._register(Yc((h,m)=>{const f=this._diffModel.read(h),g=this._editors.original.createOverviewRuler("original diffOverviewRuler");g&&(m.add(g),m.add(BD(d,g.getDomNode())));const b=this._editors.modified.createOverviewRuler("modified diffOverviewRuler");if(b&&(m.add(b),m.add(BD(d,b.getDomNode()))),!g||!b)return;const v=ba("viewZoneChanged",this._editors.original.onDidChangeViewZones),C=ba("viewZoneChanged",this._editors.modified.onDidChangeViewZones),S=ba("hiddenRangesChanged",this._editors.original.onDidChangeHiddenAreas),x=ba("hiddenRangesChanged",this._editors.modified.onDidChangeHiddenAreas);m.add(Zn(_=>{var F;v.read(_),C.read(_),S.read(_),x.read(_);const D=u.read(_),M=(F=f==null?void 0:f.diff.read(_))===null||F===void 0?void 0:F.mappings;function T(R,W,A){const z=A._getViewModel();return z?R.filter(O=>O.length>0).map(O=>{const B=z.coordinatesConverter.convertModelPositionToViewPosition(new ye(O.startLineNumber,1)),P=z.coordinatesConverter.convertModelPositionToViewPosition(new ye(O.endLineNumberExclusive,1)),H=P.lineNumber-B.lineNumber;return new gye(B.lineNumber,P.lineNumber,H,W.toString())}):[]}const Z=T((M||[]).map(R=>R.lineRangeMapping.original),D.removeColor,this._editors.original),E=T((M||[]).map(R=>R.lineRangeMapping.modified),D.insertColor,this._editors.modified);g==null||g.setZones(Z),b==null||b.setZones(E)})),m.add(Zn(_=>{const F=this._rootHeight.read(_),D=this._rootWidth.read(_),M=this._modifiedEditorLayoutInfo.read(_);if(M){const T=Gd.ENTIRE_DIFF_OVERVIEW_WIDTH-2*Gd.ONE_OVERVIEW_WIDTH;g.setLayout({top:0,height:F,right:T+Gd.ONE_OVERVIEW_WIDTH,width:Gd.ONE_OVERVIEW_WIDTH}),b.setLayout({top:0,height:F,right:0,width:Gd.ONE_OVERVIEW_WIDTH});const Z=this._editors.modifiedScrollTop.read(_),E=this._editors.modifiedScrollHeight.read(_),R=this._editors.modified.getOption(103),W=new r2(R.verticalHasArrows?R.arrowSize:0,R.verticalScrollbarSize,0,M.height,E,Z);c.setTop(W.getSliderPosition()),c.setHeight(W.getSliderSize())}else c.setTop(0),c.setHeight(0);d.style.height=F+"px",d.style.left=D-Gd.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",c.setWidth(Gd.ENTIRE_DIFF_OVERVIEW_WIDTH)}))}))}};Ey.ONE_OVERVIEW_WIDTH=15,Ey.ENTIRE_DIFF_OVERVIEW_WIDTH=Gd.ONE_OVERVIEW_WIDTH*2,Ey=Gd=qLt([e_t(6,jo)],Ey);const VU=[];class t_t extends Ie{constructor(e,t,i,r){super(),this._editors=e,this._diffModel=t,this._options=i,this._widget=r,this._selectedDiffs=hn(this,o=>{const s=this._diffModel.read(o),a=s==null?void 0:s.diff.read(o);if(!a)return VU;const l=this._editors.modifiedSelections.read(o);if(l.every(h=>h.isEmpty()))return VU;const u=new Bc(l.map(h=>dn.fromRangeInclusive(h))),d=a.mappings.filter(h=>h.lineRangeMapping.innerChanges&&u.intersects(h.lineRangeMapping.modified)).map(h=>({mapping:h,rangeMappings:h.lineRangeMapping.innerChanges.filter(m=>l.some(f=>J.areIntersecting(m.modifiedRange,f)))}));return d.length===0||d.every(h=>h.rangeMappings.length===0)?VU:d}),this._register(Yc((o,s)=>{if(!this._options.shouldRenderOldRevertArrows.read(o))return;const a=this._diffModel.read(o),l=a==null?void 0:a.diff.read(o);if(!a||!l||a.movedTextToCompare.read(o))return;const u=[],c=this._selectedDiffs.read(o),d=new Set(c.map(h=>h.mapping));if(c.length>0){const h=this._editors.modifiedSelections.read(o),m=s.add(new UD(h[h.length-1].positionLineNumber,this._widget,c.flatMap(f=>f.rangeMappings),!0));this._editors.modified.addGlyphMarginWidget(m),u.push(m)}for(const h of l.mappings)if(!d.has(h)&&!h.lineRangeMapping.modified.isEmpty&&h.lineRangeMapping.innerChanges){const m=s.add(new UD(h.lineRangeMapping.modified.startLineNumber,this._widget,h.lineRangeMapping,!1));this._editors.modified.addGlyphMarginWidget(m),u.push(m)}s.add(jt(()=>{for(const h of u)this._editors.modified.removeGlyphMarginWidget(h)}))}))}}class UD extends Ie{getId(){return this._id}constructor(e,t,i,r){super(),this._lineNumber=e,this._widget=t,this._diffs=i,this._revertSelection=r,this._id=`revertButton${UD.counter++}`,this._domNode=Li("div.revertButton",{title:this._revertSelection?L("revertSelectedChanges","Revert Selected Changes"):L("revertChange","Revert Change")},[VD(ut.arrowRight)]).root,this._register(Ae(this._domNode,ot.MOUSE_DOWN,o=>{o.button!==2&&(o.stopPropagation(),o.preventDefault())})),this._register(Ae(this._domNode,ot.MOUSE_UP,o=>{o.stopPropagation(),o.preventDefault()})),this._register(Ae(this._domNode,ot.CLICK,o=>{this._diffs instanceof ll?this._widget.revert(this._diffs):this._widget.revertRangeMappings(this._diffs),o.stopPropagation(),o.preventDefault()}))}getDomNode(){return this._domNode}getPosition(){return{lane:lf.Right,range:{startColumn:1,startLineNumber:this._lineNumber,endColumn:1,endLineNumber:this._lineNumber},zIndex:10001}}}UD.counter=0;const tSe=Un("progressService");class bp{constructor(e){this.callback=e}report(e){this._value=e,this.callback(this._value)}}bp.None=Object.freeze({report(){}});const M0=Un("editorProgressService");var n_t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},nSe=function(n,e){return function(t,i){e(t,i,n)}};let AU=class extends Ie{get onDidContentSizeChange(){return this._onDidContentSizeChange.event}constructor(e,t,i,r,o,s,a){super(),this.originalEditorElement=e,this.modifiedEditorElement=t,this._options=i,this._argCodeEditorWidgetOptions=r,this._createInnerEditor=o,this._instantiationService=s,this._keybindingService=a,this.original=this._register(this._createLeftHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.originalEditor||{})),this.modified=this._register(this._createRightHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.modifiedEditor||{})),this._onDidContentSizeChange=this._register(new be),this.modifiedScrollTop=Hi(this.modified.onDidScrollChange,()=>this.modified.getScrollTop()),this.modifiedScrollHeight=Hi(this.modified.onDidScrollChange,()=>this.modified.getScrollHeight()),this.modifiedModel=Hi(this.modified.onDidChangeModel,()=>this.modified.getModel()),this.modifiedSelections=Hi(this.modified.onDidChangeCursorSelection,()=>{var l;return(l=this.modified.getSelections())!==null&&l!==void 0?l:[]}),this.modifiedCursor=x2({owner:this,equalityComparer:ye.equals},l=>{var u,c;return(c=(u=this.modifiedSelections.read(l)[0])===null||u===void 0?void 0:u.getPosition())!==null&&c!==void 0?c:new ye(1,1)}),this.originalCursor=Hi(this.original.onDidChangeCursorPosition,()=>{var l;return(l=this.original.getPosition())!==null&&l!==void 0?l:new ye(1,1)}),this._argCodeEditorWidgetOptions=null,this._register(ED({createEmptyChangeSummary:()=>({}),handleChange:(l,u)=>(l.didChange(i.editorOptions)&&Object.assign(u,l.change.changedOptions),!0)},(l,u)=>{i.editorOptions.read(l),this._options.renderSideBySide.read(l),this.modified.updateOptions(this._adjustOptionsForRightHandSide(l,u)),this.original.updateOptions(this._adjustOptionsForLeftHandSide(l,u))}))}_createLeftHandSideEditor(e,t){const i=this._adjustOptionsForLeftHandSide(void 0,e),r=this._constructInnerEditor(this._instantiationService,this.originalEditorElement,i,t);return r.setContextValue("isInDiffLeftEditor",!0),r}_createRightHandSideEditor(e,t){const i=this._adjustOptionsForRightHandSide(void 0,e),r=this._constructInnerEditor(this._instantiationService,this.modifiedEditorElement,i,t);return r.setContextValue("isInDiffRightEditor",!0),r}_constructInnerEditor(e,t,i,r){const o=this._createInnerEditor(e,t,i,r);return this._register(o.onDidContentSizeChange(s=>{const a=this.original.getContentWidth()+this.modified.getContentWidth()+Ey.ENTIRE_DIFF_OVERVIEW_WIDTH,l=Math.max(this.modified.getContentHeight(),this.original.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:l,contentWidth:a,contentHeightChanged:s.contentHeightChanged,contentWidthChanged:s.contentWidthChanged})})),o}_adjustOptionsForLeftHandSide(e,t){const i=this._adjustOptionsForSubEditor(t);return this._options.renderSideBySide.get()?(i.unicodeHighlight=this._options.editorOptions.get().unicodeHighlight||{},i.wordWrapOverride1=this._options.diffWordWrap.get()):(i.wordWrapOverride1="off",i.wordWrapOverride2="off",i.stickyScroll={enabled:!1},i.unicodeHighlight={nonBasicASCII:!1,ambiguousCharacters:!1,invisibleCharacters:!1}),i.glyphMargin=this._options.renderSideBySide.get(),t.originalAriaLabel&&(i.ariaLabel=t.originalAriaLabel),i.ariaLabel=this._updateAriaLabel(i.ariaLabel),i.readOnly=!this._options.originalEditable.get(),i.dropIntoEditor={enabled:!i.readOnly},i.extraEditorClassName="original-in-monaco-diff-editor",i}_adjustOptionsForRightHandSide(e,t){const i=this._adjustOptionsForSubEditor(t);return t.modifiedAriaLabel&&(i.ariaLabel=t.modifiedAriaLabel),i.ariaLabel=this._updateAriaLabel(i.ariaLabel),i.wordWrapOverride1=this._options.diffWordWrap.get(),i.revealHorizontalRightPadding=Rh.revealHorizontalRightPadding.defaultValue+Ey.ENTIRE_DIFF_OVERVIEW_WIDTH,i.scrollbar.verticalHasArrows=!1,i.extraEditorClassName="modified-in-monaco-diff-editor",i}_adjustOptionsForSubEditor(e){const t={...e,dimension:{height:0,width:0}};return t.inDiffEditor=!0,t.automaticLayout=!1,t.scrollbar={...t.scrollbar||{}},t.folding=!1,t.codeLens=this._options.diffCodeLens.get(),t.fixedOverflowWidgets=!0,t.minimap={...t.minimap||{}},t.minimap.enabled=!1,this._options.hideUnchangedRegions.get()?t.stickyScroll={enabled:!1}:t.stickyScroll=this._options.editorOptions.get().stickyScroll,t}_updateAriaLabel(e){var t;e||(e="");const i=L("diff-aria-navigation-tip"," use {0} to open the accessibility help.",(t=this._keybindingService.lookupKeybinding("editor.action.accessibilityHelp"))===null||t===void 0?void 0:t.getAriaLabel());return this._options.accessibilityVerbose.get()?e+i:e?e.replaceAll(i,""):""}};AU=n_t([nSe(5,$t),nSe(6,Bi)],AU);class DR extends Ie{constructor(){super(...arguments),this._id=++DR.idCounter,this._onDidDispose=this._register(new be),this.onDidDispose=this._onDidDispose.event}getId(){return this.getEditorType()+":v2:"+this._id}getVisibleColumnFromPosition(e){return this._targetEditor.getVisibleColumnFromPosition(e)}getPosition(){return this._targetEditor.getPosition()}setPosition(e,t="api"){this._targetEditor.setPosition(e,t)}revealLine(e,t=0){this._targetEditor.revealLine(e,t)}revealLineInCenter(e,t=0){this._targetEditor.revealLineInCenter(e,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealLineInCenterIfOutsideViewport(e,t)}revealLineNearTop(e,t=0){this._targetEditor.revealLineNearTop(e,t)}revealPosition(e,t=0){this._targetEditor.revealPosition(e,t)}revealPositionInCenter(e,t=0){this._targetEditor.revealPositionInCenter(e,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealPositionInCenterIfOutsideViewport(e,t)}revealPositionNearTop(e,t=0){this._targetEditor.revealPositionNearTop(e,t)}getSelection(){return this._targetEditor.getSelection()}getSelections(){return this._targetEditor.getSelections()}setSelection(e,t="api"){this._targetEditor.setSelection(e,t)}setSelections(e,t="api"){this._targetEditor.setSelections(e,t)}revealLines(e,t,i=0){this._targetEditor.revealLines(e,t,i)}revealLinesInCenter(e,t,i=0){this._targetEditor.revealLinesInCenter(e,t,i)}revealLinesInCenterIfOutsideViewport(e,t,i=0){this._targetEditor.revealLinesInCenterIfOutsideViewport(e,t,i)}revealLinesNearTop(e,t,i=0){this._targetEditor.revealLinesNearTop(e,t,i)}revealRange(e,t=0,i=!1,r=!0){this._targetEditor.revealRange(e,t,i,r)}revealRangeInCenter(e,t=0){this._targetEditor.revealRangeInCenter(e,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealRangeInCenterIfOutsideViewport(e,t)}revealRangeNearTop(e,t=0){this._targetEditor.revealRangeNearTop(e,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._targetEditor.revealRangeNearTopIfOutsideViewport(e,t)}revealRangeAtTop(e,t=0){this._targetEditor.revealRangeAtTop(e,t)}getSupportedActions(){return this._targetEditor.getSupportedActions()}focus(){this._targetEditor.focus()}trigger(e,t,i){this._targetEditor.trigger(e,t,i)}createDecorationsCollection(e){return this._targetEditor.createDecorationsCollection(e)}changeDecorations(e){return this._targetEditor.changeDecorations(e)}}DR.idCounter=0;const wa={enableSplitViewResizing:!0,splitViewDefaultRatio:.5,renderSideBySide:!0,renderMarginRevertIcon:!0,renderGutterMenu:!0,maxComputationTime:5e3,maxFileSize:50,ignoreTrimWhitespace:!0,renderIndicators:!0,originalEditable:!1,diffCodeLens:!1,renderOverviewRuler:!0,diffWordWrap:"inherit",diffAlgorithm:"advanced",accessibilityVerbose:!1,experimental:{showMoves:!1,showEmptyDecorations:!0},hideUnchangedRegions:{enabled:!1,contextLineCount:3,minimumLineCount:3,revealLineCount:20},isInEmbeddedEditor:!1,onlyShowAccessibleDiffViewer:!1,renderSideBySideInlineBreakpoint:900,useInlineViewWhenSpaceIsLimited:!0};var i_t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},r_t=function(n,e){return function(t,i){e(t,i,n)}};let GU=class{get editorOptions(){return this._options}constructor(e,t){this._accessibilityService=t,this._diffEditorWidth=ei(this,0),this._screenReaderMode=Hi(this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this.couldShowInlineViewBecauseOfSize=hn(this,r=>this._options.read(r).renderSideBySide&&this._diffEditorWidth.read(r)<=this._options.read(r).renderSideBySideInlineBreakpoint),this.renderOverviewRuler=hn(this,r=>this._options.read(r).renderOverviewRuler),this.renderSideBySide=hn(this,r=>this._options.read(r).renderSideBySide&&!(this._options.read(r).useInlineViewWhenSpaceIsLimited&&this.couldShowInlineViewBecauseOfSize.read(r)&&!this._screenReaderMode.read(r))),this.readOnly=hn(this,r=>this._options.read(r).readOnly),this.shouldRenderOldRevertArrows=hn(this,r=>!(!this._options.read(r).renderMarginRevertIcon||!this.renderSideBySide.read(r)||this.readOnly.read(r)||this.shouldRenderGutterMenu.read(r))),this.shouldRenderGutterMenu=hn(this,r=>this._options.read(r).renderGutterMenu),this.renderIndicators=hn(this,r=>this._options.read(r).renderIndicators),this.enableSplitViewResizing=hn(this,r=>this._options.read(r).enableSplitViewResizing),this.splitViewDefaultRatio=hn(this,r=>this._options.read(r).splitViewDefaultRatio),this.ignoreTrimWhitespace=hn(this,r=>this._options.read(r).ignoreTrimWhitespace),this.maxComputationTimeMs=hn(this,r=>this._options.read(r).maxComputationTime),this.showMoves=hn(this,r=>this._options.read(r).experimental.showMoves&&this.renderSideBySide.read(r)),this.isInEmbeddedEditor=hn(this,r=>this._options.read(r).isInEmbeddedEditor),this.diffWordWrap=hn(this,r=>this._options.read(r).diffWordWrap),this.originalEditable=hn(this,r=>this._options.read(r).originalEditable),this.diffCodeLens=hn(this,r=>this._options.read(r).diffCodeLens),this.accessibilityVerbose=hn(this,r=>this._options.read(r).accessibilityVerbose),this.diffAlgorithm=hn(this,r=>this._options.read(r).diffAlgorithm),this.showEmptyDecorations=hn(this,r=>this._options.read(r).experimental.showEmptyDecorations),this.onlyShowAccessibleDiffViewer=hn(this,r=>this._options.read(r).onlyShowAccessibleDiffViewer),this.hideUnchangedRegions=hn(this,r=>this._options.read(r).hideUnchangedRegions.enabled),this.hideUnchangedRegionsRevealLineCount=hn(this,r=>this._options.read(r).hideUnchangedRegions.revealLineCount),this.hideUnchangedRegionsContextLineCount=hn(this,r=>this._options.read(r).hideUnchangedRegions.contextLineCount),this.hideUnchangedRegionsMinimumLineCount=hn(this,r=>this._options.read(r).hideUnchangedRegions.minimumLineCount);const i={...e,...iSe(e,wa)};this._options=ei(this,i)}updateOptions(e){const t=iSe(e,this._options.get()),i={...this._options.get(),...e,...t};this._options.set(i,void 0,{changedOptions:e})}setWidth(e){this._diffEditorWidth.set(e,void 0)}};GU=i_t([r_t(1,Vc)],GU);function iSe(n,e){var t,i,r,o,s,a,l,u;return{enableSplitViewResizing:Xt(n.enableSplitViewResizing,e.enableSplitViewResizing),splitViewDefaultRatio:Zpt(n.splitViewDefaultRatio,.5,.1,.9),renderSideBySide:Xt(n.renderSideBySide,e.renderSideBySide),renderMarginRevertIcon:Xt(n.renderMarginRevertIcon,e.renderMarginRevertIcon),maxComputationTime:oy(n.maxComputationTime,e.maxComputationTime,0,1073741824),maxFileSize:oy(n.maxFileSize,e.maxFileSize,0,1073741824),ignoreTrimWhitespace:Xt(n.ignoreTrimWhitespace,e.ignoreTrimWhitespace),renderIndicators:Xt(n.renderIndicators,e.renderIndicators),originalEditable:Xt(n.originalEditable,e.originalEditable),diffCodeLens:Xt(n.diffCodeLens,e.diffCodeLens),renderOverviewRuler:Xt(n.renderOverviewRuler,e.renderOverviewRuler),diffWordWrap:Br(n.diffWordWrap,e.diffWordWrap,["off","on","inherit"]),diffAlgorithm:Br(n.diffAlgorithm,e.diffAlgorithm,["legacy","advanced"],{smart:"legacy",experimental:"advanced"}),accessibilityVerbose:Xt(n.accessibilityVerbose,e.accessibilityVerbose),experimental:{showMoves:Xt((t=n.experimental)===null||t===void 0?void 0:t.showMoves,e.experimental.showMoves),showEmptyDecorations:Xt((i=n.experimental)===null||i===void 0?void 0:i.showEmptyDecorations,e.experimental.showEmptyDecorations)},hideUnchangedRegions:{enabled:Xt((o=(r=n.hideUnchangedRegions)===null||r===void 0?void 0:r.enabled)!==null&&o!==void 0?o:(s=n.experimental)===null||s===void 0?void 0:s.collapseUnchangedRegions,e.hideUnchangedRegions.enabled),contextLineCount:oy((a=n.hideUnchangedRegions)===null||a===void 0?void 0:a.contextLineCount,e.hideUnchangedRegions.contextLineCount,0,1073741824),minimumLineCount:oy((l=n.hideUnchangedRegions)===null||l===void 0?void 0:l.minimumLineCount,e.hideUnchangedRegions.minimumLineCount,0,1073741824),revealLineCount:oy((u=n.hideUnchangedRegions)===null||u===void 0?void 0:u.revealLineCount,e.hideUnchangedRegions.revealLineCount,0,1073741824)},isInEmbeddedEditor:Xt(n.isInEmbeddedEditor,e.isInEmbeddedEditor),onlyShowAccessibleDiffViewer:Xt(n.onlyShowAccessibleDiffViewer,e.onlyShowAccessibleDiffViewer),renderSideBySideInlineBreakpoint:oy(n.renderSideBySideInlineBreakpoint,e.renderSideBySideInlineBreakpoint,0,1073741824),useInlineViewWhenSpaceIsLimited:Xt(n.useInlineViewWhenSpaceIsLimited,e.useInlineViewWhenSpaceIsLimited),renderGutterMenu:Xt(n.renderGutterMenu,e.renderGutterMenu)}}class o_t extends Ie{constructor(e,t,i){super(),this._editor=e,this._domNode=t,this.itemProvider=i,this.scrollTop=Hi(this._editor.onDidScrollChange,s=>this._editor.getScrollTop()),this.isScrollTopZero=this.scrollTop.map(s=>s===0),this.modelAttached=Hi(this._editor.onDidChangeModel,s=>this._editor.hasModel()),this.editorOnDidChangeViewZones=ba("onDidChangeViewZones",this._editor.onDidChangeViewZones),this.editorOnDidContentSizeChange=ba("onDidContentSizeChange",this._editor.onDidContentSizeChange),this.domNodeSizeChanged=sR("domNodeSizeChanged"),this.views=new Map,this._domNode.className="gutter monaco-editor";const r=this._domNode.appendChild(Li("div.scroll-decoration",{role:"presentation",ariaHidden:"true",style:{width:"100%"}}).root),o=new ResizeObserver(()=>{zi(s=>{this.domNodeSizeChanged.trigger(s)})});o.observe(this._domNode),this._register(jt(()=>o.disconnect())),this._register(Zn(s=>{r.className=this.isScrollTopZero.read(s)?"":"scroll-decoration"})),this._register(Zn(s=>this.render(s)))}dispose(){super.dispose(),Qs(this._domNode)}render(e){if(!this.modelAttached.read(e))return;this.domNodeSizeChanged.read(e),this.editorOnDidChangeViewZones.read(e),this.editorOnDidContentSizeChange.read(e);const t=this.scrollTop.read(e),i=this._editor.getVisibleRanges(),r=new Set(this.views.keys()),o=Dn.ofStartAndLength(0,this._domNode.clientHeight);if(!o.isEmpty)for(const s of i){const a=new dn(s.startLineNumber,s.endLineNumber+1),l=this.itemProvider.getIntersectingGutterItems(a,e);zi(u=>{for(const c of l){if(!c.range.intersect(a))continue;r.delete(c.id);let d=this.views.get(c.id);if(d)d.item.set(c,u);else{const g=document.createElement("div");this._domNode.appendChild(g);const b=ei("item",c),v=this.itemProvider.createView(b,g);d=new s_t(b,v,g),this.views.set(c.id,d)}const h=c.range.startLineNumber<=this._editor.getModel().getLineCount()?this._editor.getTopForLineNumber(c.range.startLineNumber,!0)-t:this._editor.getBottomForLineNumber(c.range.startLineNumber-1,!1)-t,f=(c.range.isEmpty?h:this._editor.getBottomForLineNumber(c.range.endLineNumberExclusive-1,!0)-t)-h;d.domNode.style.top=`${h}px`,d.domNode.style.height=`${f}px`,d.gutterItemView.layout(Dn.ofStartAndLength(h,f),o)}})}for(const s of r){const a=this.views.get(s);a.gutterItemView.dispose(),this._domNode.removeChild(a.domNode),this.views.delete(s)}}}class s_t{constructor(e,t,i){this.item=e,this.gutterItemView=t,this.domNode=i}}class rSe extends Kv{constructor(e){super(),this._getContext=e}runAction(e,t){const i=this._getContext();return super.runAction(e,i)}}class a_t{constructor(e){this.text=e,this.lineStartOffsetByLineIdx=[],this.lineStartOffsetByLineIdx.push(0);for(let t=0;tZY(e,(t,i)=>t.range.getEndPosition().isBeforeOrEqual(i.range.getStartPosition())))}apply(e){let t="",i=new ye(1,1);for(const o of this.edits){const s=o.range,a=s.getStartPosition(),l=s.getEndPosition(),u=oSe(i,a);u.isEmpty()||(t+=e.getValueOfRange(u)),t+=o.text,i=l}const r=oSe(i,e.endPositionExclusive);return r.isEmpty()||(t+=e.getValueOfRange(r)),t}applyToString(e){const t=new l_t(e);return this.apply(t)}getNewRanges(){const e=[];let t=0,i=0,r=0;for(const o of this.edits){const s=Rd.ofText(o.text),a=ye.lift({lineNumber:o.range.startLineNumber+i,column:o.range.startColumn+(o.range.startLineNumber===t?r:0)}),l=s.createRange(a);e.push(l),i=l.endLineNumber-o.range.endLineNumber,r=l.endColumn-o.range.endColumn,t=o.range.endLineNumber}return e}};class vp{constructor(e,t){this.range=e,this.text=t}}function oSe(n,e){if(!n.isBeforeOrEqual(e))throw new or("start must be before end");return new J(n.lineNumber,n.column,e.lineNumber,e.column)}class sSe{get endPositionExclusive(){return this.length.addToPosition(new ye(1,1))}}class l_t extends sSe{constructor(e){super(),this.value=e,this._t=new a_t(this.value)}getValueOfRange(e){return this._t.getOffsetRange(e).substring(this.value)}get length(){return this._t.textLength}}class u_t extends sSe{constructor(e){super(),this._textModel=e}getValueOfRange(e){return this._textModel.getValueInRange(e)}get length(){const e=this._textModel.getLineCount(),t=this._textModel.getLineLength(e);return new Rd(e-1,t)}}class c_t extends Kv{constructor(e,t){super(),this._onDidChangeVisibility=this._register(new be),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this._element=je(e,Ct(".monaco-dropdown")),this._label=je(this._element,Ct(".dropdown-label"));let i=t.labelRenderer;i||(i=o=>(o.textContent=t.label||"",null));for(const o of[ot.CLICK,ot.MOUSE_DOWN,nr.Tap])this._register(Ae(this.element,o,s=>Vn.stop(s,!0)));for(const o of[ot.MOUSE_DOWN,nr.Tap])this._register(Ae(this._label,o,s=>{LY(s)&&(s.detail>1||s.button!==0)||(this.visible?this.hide():this.show())}));this._register(Ae(this._label,ot.KEY_UP,o=>{const s=new sr(o);(s.equals(3)||s.equals(10))&&(Vn.stop(o,!0),this.visible?this.hide():this.show())}));const r=i(this._label);r&&this._register(r),this._register(ir.addTarget(this._label))}get element(){return this._element}show(){this.visible||(this.visible=!0,this._onDidChangeVisibility.fire(!0))}hide(){this.visible&&(this.visible=!1,this._onDidChangeVisibility.fire(!1))}dispose(){super.dispose(),this.hide(),this.boxContainer&&(this.boxContainer.remove(),this.boxContainer=void 0),this.contents&&(this.contents.remove(),this.contents=void 0),this._label&&(this._label.remove(),this._label=void 0)}}class d_t extends c_t{constructor(e,t){super(e,t),this._options=t,this._actions=[],this.actions=t.actions||[]}set menuOptions(e){this._menuOptions=e}get menuOptions(){return this._menuOptions}get actions(){return this._options.actionProvider?this._options.actionProvider.getActions():this._actions}set actions(e){this._actions=e}show(){super.show(),this.element.classList.add("active"),this._options.contextMenuProvider.showContextMenu({getAnchor:()=>this.element,getActions:()=>this.actions,getActionsContext:()=>this.menuOptions?this.menuOptions.context:null,getActionViewItem:(e,t)=>this.menuOptions&&this.menuOptions.actionViewItemProvider?this.menuOptions.actionViewItemProvider(e,t):void 0,getKeyBinding:e=>this.menuOptions&&this.menuOptions.getKeyBinding?this.menuOptions.getKeyBinding(e):void 0,getMenuClassName:()=>this._options.menuClassName||"",onHide:()=>this.onHide(),actionRunner:this.menuOptions?this.menuOptions.actionRunner:void 0,anchorAlignment:this.menuOptions?this.menuOptions.anchorAlignment:0,domForShadowRoot:this._options.menuAsChild?this.element:void 0,skipTelemetry:this._options.skipTelemetry})}hide(){super.hide()}onHide(){this.hide(),this.element.classList.remove("active")}}class MR extends Uh{constructor(e,t,i,r=Object.create(null)){super(null,e,r),this.actionItem=null,this._onDidChangeVisibility=this._register(new be),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this.menuActionsOrProvider=t,this.contextMenuProvider=i,this.options=r,this.options.actionRunner&&(this.actionRunner=this.options.actionRunner)}render(e){this.actionItem=e;const t=o=>{var s;this.element=je(o,Ct("a.action-label"));let a=[];return typeof this.options.classNames=="string"?a=this.options.classNames.split(/\s+/g).filter(l=>!!l):this.options.classNames&&(a=this.options.classNames),a.find(l=>l==="icon")||a.push("codicon"),this.element.classList.add(...a),this.element.setAttribute("role","button"),this.element.setAttribute("aria-haspopup","true"),this.element.setAttribute("aria-expanded","false"),this._action.label&&this._register(Vd((s=this.options.hoverDelegate)!==null&&s!==void 0?s:Pl("mouse"),this.element,this._action.label)),this.element.ariaLabel=this._action.label||"",null},i=Array.isArray(this.menuActionsOrProvider),r={contextMenuProvider:this.contextMenuProvider,labelRenderer:t,menuAsChild:this.options.menuAsChild,actions:i?this.menuActionsOrProvider:void 0,actionProvider:i?void 0:this.menuActionsOrProvider,skipTelemetry:this.options.skipTelemetry};if(this.dropdownMenu=this._register(new d_t(e,r)),this._register(this.dropdownMenu.onDidChangeVisibility(o=>{var s;(s=this.element)===null||s===void 0||s.setAttribute("aria-expanded",`${o}`),this._onDidChangeVisibility.fire(o)})),this.dropdownMenu.menuOptions={actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,getKeyBinding:this.options.keybindingProvider,context:this._context},this.options.anchorAlignmentProvider){const o=this;this.dropdownMenu.menuOptions={...this.dropdownMenu.menuOptions,get anchorAlignment(){return o.options.anchorAlignmentProvider()}}}this.updateTooltip(),this.updateEnabled()}getTooltip(){let e=null;return this.action.tooltip?e=this.action.tooltip:this.action.label&&(e=this.action.label),e??void 0}setActionContext(e){super.setActionContext(e),this.dropdownMenu&&(this.dropdownMenu.menuOptions?this.dropdownMenu.menuOptions.context=e:this.dropdownMenu.menuOptions={context:e})}show(){var e;(e=this.dropdownMenu)===null||e===void 0||e.show()}updateEnabled(){var e,t;const i=!this.action.enabled;(e=this.actionItem)===null||e===void 0||e.classList.toggle("disabled",i),(t=this.element)===null||t===void 0||t.classList.toggle("disabled",i)}}class h_t extends Ie{constructor(e,t,i={orientation:0}){var r;super(),this.submenuActionViewItems=[],this.hasSecondaryActions=!1,this._onDidChangeDropdownVisibility=this._register(new $ht),this.onDidChangeDropdownVisibility=this._onDidChangeDropdownVisibility.event,this.disposables=this._register(new Je),i.hoverDelegate=(r=i.hoverDelegate)!==null&&r!==void 0?r:this._register(F2()),this.options=i,this.lookupKeybindings=typeof this.options.getKeyBinding=="function",this.toggleMenuAction=this._register(new KD(()=>{var o;return(o=this.toggleMenuActionViewItem)===null||o===void 0?void 0:o.show()},i.toggleMenuTitle)),this.element=document.createElement("div"),this.element.className="monaco-toolbar",e.appendChild(this.element),this.actionBar=this._register(new Kc(this.element,{orientation:i.orientation,ariaLabel:i.ariaLabel,actionRunner:i.actionRunner,allowContextMenu:i.allowContextMenu,highlightToggledItems:i.highlightToggledItems,hoverDelegate:i.hoverDelegate,actionViewItemProvider:(o,s)=>{var a;if(o.id===KD.ID)return this.toggleMenuActionViewItem=new MR(o,o.menuActions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:sn.asClassNameArray((a=i.moreIcon)!==null&&a!==void 0?a:ut.toolBarMore),anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,isMenu:!0,hoverDelegate:this.options.hoverDelegate}),this.toggleMenuActionViewItem.setActionContext(this.actionBar.context),this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility)),this.toggleMenuActionViewItem;if(i.actionViewItemProvider){const l=i.actionViewItemProvider(o,s);if(l)return l}if(o instanceof SS){const l=new MR(o,o.actions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:o.class,anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,hoverDelegate:this.options.hoverDelegate});return l.setActionContext(this.actionBar.context),this.submenuActionViewItems.push(l),this.disposables.add(this._onDidChangeDropdownVisibility.add(l.onDidChangeVisibility)),l}}}))}set actionRunner(e){this.actionBar.actionRunner=e}get actionRunner(){return this.actionBar.actionRunner}getElement(){return this.element}getItemAction(e){return this.actionBar.getAction(e)}setActions(e,t){this.clear();const i=e?e.slice(0):[];this.hasSecondaryActions=!!(t&&t.length>0),this.hasSecondaryActions&&t&&(this.toggleMenuAction.menuActions=t.slice(0),i.push(this.toggleMenuAction)),i.forEach(r=>{this.actionBar.push(r,{icon:!0,label:!1,keybinding:this.getKeybindingLabel(r)})})}getKeybindingLabel(e){var t,i,r;const o=this.lookupKeybindings?(i=(t=this.options).getKeyBinding)===null||i===void 0?void 0:i.call(t,e):void 0;return(r=o==null?void 0:o.getLabel())!==null&&r!==void 0?r:void 0}clear(){this.submenuActionViewItems=[],this.disposables.clear(),this.actionBar.clear()}dispose(){this.clear(),this.disposables.dispose(),super.dispose()}}class KD extends uu{constructor(e,t){t=t||L("moreActions","More Actions..."),super(KD.ID,t,void 0,!0),this._menuActions=[],this.toggleDropdownMenu=e}async run(){this.toggleDropdownMenu()}get menuActions(){return this._menuActions}set menuActions(e){this._menuActions=e}}KD.ID="toolbar.toggle.more";function m_t(n,e){const t=[],i=[];for(const r of n)e.has(r)||t.push(r);for(const r of e)n.has(r)||i.push(r);return{removed:t,added:i}}function f_t(n,e){const t=new Set;for(const i of e)n.has(i)&&t.add(i);return t}class kR{constructor(e,t,i=t){this.modifierLabels=[null],this.modifierLabels[2]=e,this.modifierLabels[1]=t,this.modifierLabels[3]=i}toLabel(e,t,i){if(t.length===0)return null;const r=[];for(let o=0,s=t.length;othis.onDidChangeItemsExternal(e)))}onDidChangeItemsExternal(e){var t,i;this._onDidChangeStorage.pause();try{(t=e.changed)===null||t===void 0||t.forEach((r,o)=>this.acceptExternal(o,r)),(i=e.deleted)===null||i===void 0||i.forEach(r=>this.acceptExternal(r,void 0))}finally{this._onDidChangeStorage.resume()}}acceptExternal(e,t){if(this.state===Z2.Closed)return;let i=!1;Wu(t)?i=this.cache.delete(e):this.cache.get(e)!==t&&(this.cache.set(e,t),i=!0),i&&this._onDidChangeStorage.fire({key:e,external:!0})}get(e,t){const i=this.cache.get(e);return Wu(i)?t:i}getBoolean(e,t){const i=this.get(e);return Wu(i)?t:i==="true"}getNumber(e,t){const i=this.get(e);return Wu(i)?t:parseInt(i,10)}async set(e,t,i=!1){if(this.state===Z2.Closed)return;if(Wu(t))return this.delete(e,i);const r=Ua(t)||Array.isArray(t)?j2t(t):String(t);if(this.cache.get(e)!==r)return this.cache.set(e,r),this.pendingInserts.set(e,r),this.pendingDeletes.delete(e),this._onDidChangeStorage.fire({key:e,external:i}),this.doFlush()}async delete(e,t=!1){if(!(this.state===Z2.Closed||!this.cache.delete(e)))return this.pendingDeletes.has(e)||this.pendingDeletes.add(e),this.pendingInserts.delete(e),this._onDidChangeStorage.fire({key:e,external:t}),this.doFlush()}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}async flushPending(){if(!this.hasPending)return;const e={insert:this.pendingInserts,delete:this.pendingDeletes};return this.pendingDeletes=new Set,this.pendingInserts=new Map,this.database.updateItems(e).finally(()=>{var t;if(!this.hasPending)for(;this.whenFlushedCallbacks.length;)(t=this.whenFlushedCallbacks.pop())===null||t===void 0||t()})}async doFlush(e){return this.options.hint===E2.STORAGE_IN_MEMORY?this.flushPending():this.flushDelayer.trigger(()=>this.flushPending(),e)}}W2.DEFAULT_FLUSH_DELAY=100;class OU{constructor(){this.onDidChangeItemsExternal=lt.None,this.items=new Map}async updateItems(e){var t,i;(t=e.insert)===null||t===void 0||t.forEach((r,o)=>this.items.set(o,r)),(i=e.delete)===null||i===void 0||i.forEach(r=>this.items.delete(r))}}const NR="__$__targetStorageMarker",wf=Un("storageService");var TR;(function(n){n[n.NONE=0]="NONE",n[n.SHUTDOWN=1]="SHUTDOWN"})(TR||(TR={}));function C_t(n){const e=n.get(NR);if(e)try{return JSON.parse(e)}catch{}return Object.create(null)}class ER extends Ie{constructor(e={flushInterval:ER.DEFAULT_FLUSH_INTERVAL}){super(),this.options=e,this._onDidChangeValue=this._register(new Ov),this._onDidChangeTarget=this._register(new Ov),this._onWillSaveState=this._register(new be),this.onWillSaveState=this._onWillSaveState.event,this._workspaceKeyTargets=void 0,this._profileKeyTargets=void 0,this._applicationKeyTargets=void 0}onDidChangeValue(e,t,i){return lt.filter(this._onDidChangeValue.event,r=>r.scope===e&&(t===void 0||r.key===t),i)}emitDidChangeValue(e,t){const{key:i,external:r}=t;if(i===NR){switch(e){case-1:this._applicationKeyTargets=void 0;break;case 0:this._profileKeyTargets=void 0;break;case 1:this._workspaceKeyTargets=void 0;break}this._onDidChangeTarget.fire({scope:e})}else this._onDidChangeValue.fire({scope:e,key:i,target:this.getKeyTargets(e)[i],external:r})}get(e,t,i){var r;return(r=this.getStorage(t))===null||r===void 0?void 0:r.get(e,i)}getBoolean(e,t,i){var r;return(r=this.getStorage(t))===null||r===void 0?void 0:r.getBoolean(e,i)}getNumber(e,t,i){var r;return(r=this.getStorage(t))===null||r===void 0?void 0:r.getNumber(e,i)}store(e,t,i,r,o=!1){if(Wu(t)){this.remove(e,i,o);return}this.withPausedEmitters(()=>{var s;this.updateKeyTarget(e,i,r),(s=this.getStorage(i))===null||s===void 0||s.set(e,t,o)})}remove(e,t,i=!1){this.withPausedEmitters(()=>{var r;this.updateKeyTarget(e,t,void 0),(r=this.getStorage(t))===null||r===void 0||r.delete(e,i)})}withPausedEmitters(e){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{e()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}updateKeyTarget(e,t,i,r=!1){var o,s;const a=this.getKeyTargets(t);typeof i=="number"?a[e]!==i&&(a[e]=i,(o=this.getStorage(t))===null||o===void 0||o.set(NR,JSON.stringify(a),r)):typeof a[e]=="number"&&(delete a[e],(s=this.getStorage(t))===null||s===void 0||s.set(NR,JSON.stringify(a),r))}get workspaceKeyTargets(){return this._workspaceKeyTargets||(this._workspaceKeyTargets=this.loadKeyTargets(1)),this._workspaceKeyTargets}get profileKeyTargets(){return this._profileKeyTargets||(this._profileKeyTargets=this.loadKeyTargets(0)),this._profileKeyTargets}get applicationKeyTargets(){return this._applicationKeyTargets||(this._applicationKeyTargets=this.loadKeyTargets(-1)),this._applicationKeyTargets}getKeyTargets(e){switch(e){case-1:return this.applicationKeyTargets;case 0:return this.profileKeyTargets;default:return this.workspaceKeyTargets}}loadKeyTargets(e){const t=this.getStorage(e);return t?C_t(t):Object.create(null)}}ER.DEFAULT_FLUSH_INTERVAL=60*1e3;class w_t extends ER{constructor(){super(),this.applicationStorage=this._register(new W2(new OU,{hint:E2.STORAGE_IN_MEMORY})),this.profileStorage=this._register(new W2(new OU,{hint:E2.STORAGE_IN_MEMORY})),this.workspaceStorage=this._register(new W2(new OU,{hint:E2.STORAGE_IN_MEMORY})),this._register(this.workspaceStorage.onDidChangeStorage(e=>this.emitDidChangeValue(1,e))),this._register(this.profileStorage.onDidChangeStorage(e=>this.emitDidChangeValue(0,e))),this._register(this.applicationStorage.onDidChangeStorage(e=>this.emitDidChangeValue(-1,e)))}getStorage(e){switch(e){case-1:return this.applicationStorage;case 0:return this.profileStorage;default:return this.workspaceStorage}}}function S_t(n,e){const t={...e};for(const i in n){const r=n[i];t[i]=r!==void 0?xt(r):void 0}return t}const x_t={keybindingLabelBackground:xt(M0t),keybindingLabelForeground:xt(k0t),keybindingLabelBorder:xt(N0t),keybindingLabelBottomBorder:xt(T0t),keybindingLabelShadow:xt(zg)},L_t={buttonForeground:xt(DI),buttonSeparator:xt(w0t),buttonBackground:xt(MI),buttonHoverBackground:xt(S0t),buttonSecondaryForeground:xt(L0t),buttonSecondaryBackground:xt(w6),buttonSecondaryHoverBackground:xt(_0t),buttonBorder:xt(x0t)},__t={progressBarBackground:xt(Xbt)},ZR={inputActiveOptionBorder:xt(y6),inputActiveOptionForeground:xt(C6),inputActiveOptionBackground:xt(ly)};xt(F0t),xt(D0t),xt(I0t),xt(no),xt(Gg),xt(zg),xt(Kn),xt(i0t),xt(r0t),xt(o0t),xt(Abt);const WR={inputBackground:xt(fve),inputForeground:xt(gve),inputBorder:xt(pve),inputValidationInfoBorder:xt(m0t),inputValidationInfoBackground:xt(d0t),inputValidationInfoForeground:xt(h0t),inputValidationWarningBorder:xt(p0t),inputValidationWarningBackground:xt(f0t),inputValidationWarningForeground:xt(g0t),inputValidationErrorBorder:xt(y0t),inputValidationErrorBackground:xt(b0t),inputValidationErrorForeground:xt(v0t)},F_t={listFilterWidgetBackground:xt(z0t),listFilterWidgetOutline:xt(H0t),listFilterWidgetNoMatchesOutline:xt(Y0t),listFilterWidgetShadow:xt(U0t),inputBoxStyles:WR,toggleStyles:ZR},aSe={badgeBackground:xt(eW),badgeForeground:xt(Gbt),badgeBorder:xt(Kn)};xt(t0t),xt(e0t),xt(lve),xt(lve),xt(n0t);const Zy={listBackground:void 0,listInactiveFocusForeground:void 0,listFocusBackground:xt(E0t),listFocusForeground:xt(Z0t),listFocusOutline:xt(W0t),listActiveSelectionBackground:xt(Yg),listActiveSelectionForeground:xt(tf),listActiveSelectionIconForeground:xt(kI),listFocusAndSelectionOutline:xt(R0t),listFocusAndSelectionBackground:xt(Yg),listFocusAndSelectionForeground:xt(tf),listInactiveSelectionBackground:xt(V0t),listInactiveSelectionIconForeground:xt(G0t),listInactiveSelectionForeground:xt(A0t),listInactiveFocusBackground:xt(X0t),listInactiveFocusOutline:xt(P0t),listHoverBackground:xt(bve),listHoverForeground:xt(vve),listDropOverBackground:xt(O0t),listDropBetweenBackground:xt(B0t),listSelectionOutline:xt(fr),listHoverOutline:xt(fr),treeIndentGuidesStroke:xt(NI),treeInactiveIndentGuidesStroke:xt(K0t),tableColumnsBorder:xt(J0t),tableOddRowsBackgroundColor:xt(j0t)};function Wy(n){return S_t(n,Zy)}const I_t={selectBackground:xt(ef),selectListBackground:xt(C0t),selectForeground:xt(Hg),decoratorRightForeground:xt(Cve),selectBorder:xt(qS),focusBorder:xt(Ac),listFocusBackground:xt(a0),listInactiveSelectionIconForeground:xt(e2),listFocusForeground:xt(s0),listFocusOutline:Zbt(fr,Ze.transparent.toString()),listHoverBackground:xt(bve),listHoverForeground:xt(vve),listHoverOutline:xt(fr),selectListBorder:xt(Xg),listBackground:void 0,listActiveSelectionBackground:void 0,listActiveSelectionForeground:void 0,listActiveSelectionIconForeground:void 0,listFocusAndSelectionBackground:void 0,listDropOverBackground:void 0,listDropBetweenBackground:void 0,listInactiveSelectionBackground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusBackground:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listFocusAndSelectionForeground:void 0,listFocusAndSelectionOutline:void 0,listInactiveFocusForeground:void 0,tableColumnsBorder:void 0,tableOddRowsBackgroundColor:void 0,treeIndentGuidesStroke:void 0,treeInactiveIndentGuidesStroke:void 0},D_t={shadowColor:xt(zg),borderColor:xt(Q0t),foregroundColor:xt($0t),backgroundColor:xt(q0t),selectionForegroundColor:xt(e1t),selectionBackgroundColor:xt(t1t),selectionBorderColor:xt(n1t),separatorColor:xt(i1t),scrollbarShadow:xt(wI),scrollbarSliderBackground:xt(SI),scrollbarSliderHoverBackground:xt(xI),scrollbarSliderActiveBackground:xt(LI)};var RR=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Ol=function(n,e){return function(t,i){e(t,i,n)}};function M_t(n,e,t,i){const r=n.getActions(e),o=kg.getInstance(),s=o.keyStatus.altKey||(ha||Ja)&&o.keyStatus.shiftKey;lSe(r,t,s,i?a=>a===i:a=>a==="navigation")}function VR(n,e,t,i,r,o){const s=n.getActions(e);lSe(s,t,!1,typeof i=="string"?l=>l===i:i,r,o)}function lSe(n,e,t,i=s=>s==="navigation",r=()=>!1,o=!1){let s,a;Array.isArray(e)?(s=e,a=e):(s=e.primary,a=e.secondary);const l=new Set;for(const[u,c]of n){let d;i(u)?(d=s,d.length>0&&o&&d.push(new Vo)):(d=a,d.length>0&&d.push(new Vo));for(let h of c){t&&(h=h instanceof Xu&&h.alt?h.alt:h);const m=d.push(h);h instanceof SS&&l.add({group:u,action:h,index:m-1})}}for(const{group:u,action:c,index:d}of l){const h=i(u)?s:a,m=c.actions;r(c,u,h.length)&&h.splice(d,1,...m)}}let k0=class extends k2{constructor(e,t,i,r,o,s,a,l){super(void 0,e,{icon:!!(e.class||e.item.icon),label:!e.class&&!e.item.icon,draggable:t==null?void 0:t.draggable,keybinding:t==null?void 0:t.keybinding,hoverDelegate:t==null?void 0:t.hoverDelegate}),this._keybindingService=i,this._notificationService=r,this._contextKeyService=o,this._themeService=s,this._contextMenuService=a,this._accessibilityService=l,this._wantsAltCommand=!1,this._itemClassDispose=this._register(new Ms),this._altKey=kg.getInstance()}get _menuItemAction(){return this._action}get _commandAction(){return this._wantsAltCommand&&this._menuItemAction.alt||this._menuItemAction}async onClick(e){e.preventDefault(),e.stopPropagation();try{await this.actionRunner.run(this._commandAction,this._context)}catch(t){this._notificationService.error(t)}}render(e){if(super.render(e),e.classList.add("menu-entry"),this.options.icon&&this._updateItemClass(this._menuItemAction.item),this._menuItemAction.alt){let t=!1;const i=()=>{var r;const o=!!(!((r=this._menuItemAction.alt)===null||r===void 0)&&r.enabled)&&(!this._accessibilityService.isMotionReduced()||t)&&(this._altKey.keyStatus.altKey||this._altKey.keyStatus.shiftKey&&t);o!==this._wantsAltCommand&&(this._wantsAltCommand=o,this.updateLabel(),this.updateTooltip(),this.updateClass())};this._register(this._altKey.event(i)),this._register(Ae(e,"mouseleave",r=>{t=!1,i()})),this._register(Ae(e,"mouseenter",r=>{t=!0,i()})),i()}}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this._commandAction.label)}getTooltip(){var e;const t=this._keybindingService.lookupKeybinding(this._commandAction.id,this._contextKeyService),i=t&&t.getLabel(),r=this._commandAction.tooltip||this._commandAction.label;let o=i?L("titleAndKb","{0} ({1})",r,i):r;if(!this._wantsAltCommand&&(!((e=this._menuItemAction.alt)===null||e===void 0)&&e.enabled)){const s=this._menuItemAction.alt.tooltip||this._menuItemAction.alt.label,a=this._keybindingService.lookupKeybinding(this._menuItemAction.alt.id,this._contextKeyService),l=a&&a.getLabel(),u=l?L("titleAndKb","{0} ({1})",s,l):s;o=L("titleAndKbAndAlt",`{0} -[{1}] {2}`,o,PU.modifierLabels[ru].altKey,u)}return o}updateClass(){this.options.icon&&(this._commandAction!==this._menuItemAction?this._menuItemAction.alt&&this._updateItemClass(this._menuItemAction.alt.item):this._updateItemClass(this._menuItemAction.item))}_updateItemClass(e){this._itemClassDispose.value=void 0;const{element:t,label:i}=this;if(!t||!i)return;const r=this._commandAction.checked&&y_t(e.toggled)&&e.toggled.icon?e.toggled.icon:e.icon;if(r)if(sn.isThemeIcon(r)){const o=sn.asClassNameArray(r);i.classList.add(...o),this._itemClassDispose.value=jt(()=>{i.classList.remove(...o)})}else i.style.backgroundImage=dW(this._themeService.getColorTheme().type)?Qb(r.dark):Qb(r.light),i.classList.add("icon"),this._itemClassDispose.value=_d(jt(()=>{i.style.backgroundImage="",i.classList.remove("icon")}),this._themeService.onDidColorThemeChange(()=>{this.updateClass()}))}};k0=RR([Ol(2,Bi),Ol(3,ko),Ol(4,ln),Ol(5,jo),Ol(6,fu),Ol(7,Vc)],k0);let BU=class extends MR{constructor(e,t,i,r,o){var s,a,l;const u={...t,menuAsChild:(s=t==null?void 0:t.menuAsChild)!==null&&s!==void 0?s:!1,classNames:(a=t==null?void 0:t.classNames)!==null&&a!==void 0?a:sn.isThemeIcon(e.item.icon)?sn.asClassName(e.item.icon):void 0,keybindingProvider:(l=t==null?void 0:t.keybindingProvider)!==null&&l!==void 0?l:c=>i.lookupKeybinding(c.id)};super(e,{getActions:()=>e.actions},r,u),this._keybindingService=i,this._contextMenuService=r,this._themeService=o}render(e){super.render(e),hi(this.element),e.classList.add("menu-entry");const t=this._action,{icon:i}=t.item;if(i&&!sn.isThemeIcon(i)){this.element.classList.add("icon");const r=()=>{this.element&&(this.element.style.backgroundImage=dW(this._themeService.getColorTheme().type)?Qb(i.dark):Qb(i.light))};r(),this._register(this._themeService.onDidColorThemeChange(()=>{r()}))}}};BU=RR([Ol(2,Bi),Ol(3,fu),Ol(4,jo)],BU);let zU=class extends Uh{constructor(e,t,i,r,o,s,a,l){var u,c,d;super(null,e),this._keybindingService=i,this._notificationService=r,this._contextMenuService=o,this._menuService=s,this._instaService=a,this._storageService=l,this._container=null,this._options=t,this._storageKey=`${e.item.submenu.id}_lastActionId`;let h;const m=t!=null&&t.persistLastActionId?l.get(this._storageKey,1):void 0;m&&(h=e.actions.find(g=>m===g.id)),h||(h=e.actions[0]),this._defaultAction=this._instaService.createInstance(k0,h,{keybinding:this._getDefaultActionKeybindingLabel(h)});const f={keybindingProvider:g=>this._keybindingService.lookupKeybinding(g.id),...t,menuAsChild:(u=t==null?void 0:t.menuAsChild)!==null&&u!==void 0?u:!0,classNames:(c=t==null?void 0:t.classNames)!==null&&c!==void 0?c:["codicon","codicon-chevron-down"],actionRunner:(d=t==null?void 0:t.actionRunner)!==null&&d!==void 0?d:new Kv};this._dropdown=new MR(e,e.actions,this._contextMenuService,f),this._register(this._dropdown.actionRunner.onDidRun(g=>{g.action instanceof Xu&&this.update(g.action)}))}update(e){var t;!((t=this._options)===null||t===void 0)&&t.persistLastActionId&&this._storageService.store(this._storageKey,e.id,1,1),this._defaultAction.dispose(),this._defaultAction=this._instaService.createInstance(k0,e,{keybinding:this._getDefaultActionKeybindingLabel(e)}),this._defaultAction.actionRunner=new class extends Kv{async runAction(i,r){await i.run(void 0)}},this._container&&this._defaultAction.render(_Y(this._container,Ct(".action-container")))}_getDefaultActionKeybindingLabel(e){var t;let i;if(!((t=this._options)===null||t===void 0)&&t.renderKeybindingWithDefaultActionLabel){const r=this._keybindingService.lookupKeybinding(e.id);r&&(i=`(${r.getLabel()})`)}return i}setActionContext(e){super.setActionContext(e),this._defaultAction.setActionContext(e),this._dropdown.setActionContext(e)}render(e){this._container=e,super.render(this._container),this._container.classList.add("monaco-dropdown-with-default");const t=Ct(".action-container");this._defaultAction.render(je(this._container,t)),this._register(Ae(t,ot.KEY_DOWN,r=>{const o=new sr(r);o.equals(17)&&(this._defaultAction.element.tabIndex=-1,this._dropdown.focus(),o.stopPropagation())}));const i=Ct(".dropdown-action-container");this._dropdown.render(je(this._container,i)),this._register(Ae(i,ot.KEY_DOWN,r=>{var o;const s=new sr(r);s.equals(15)&&(this._defaultAction.element.tabIndex=0,this._dropdown.setFocusable(!1),(o=this._defaultAction.element)===null||o===void 0||o.focus(),s.stopPropagation())}))}focus(e){e?this._dropdown.focus():(this._defaultAction.element.tabIndex=0,this._defaultAction.element.focus())}blur(){this._defaultAction.element.tabIndex=-1,this._dropdown.blur(),this._container.blur()}setFocusable(e){e?this._defaultAction.element.tabIndex=0:(this._defaultAction.element.tabIndex=-1,this._dropdown.setFocusable(!1))}dispose(){this._defaultAction.dispose(),this._dropdown.dispose(),super.dispose()}};zU=RR([Ol(2,Bi),Ol(3,ko),Ol(4,fu),Ol(5,Gu),Ol(6,$t),Ol(7,wf)],zU);let HU=class extends zxt{constructor(e,t){super(null,e,e.actions.map(i=>({text:i.id===Vo.ID?"─────────":i.label,isDisabled:!i.enabled})),0,t,I_t,{ariaLabel:e.tooltip,optionsAsChildren:!0}),this.select(Math.max(0,e.actions.findIndex(i=>i.checked)))}render(e){super.render(e),e.style.borderColor=xt(qS)}runAction(e,t){const i=this.action.actions[t];i&&this.actionRunner.run(i)}};HU=RR([Ol(1,pp)],HU);function uSe(n,e,t){return e instanceof Xu?n.createInstance(k0,e,t):e instanceof sI?e.item.isSelection?n.createInstance(HU,e):e.item.rememberDefaultAction?n.createInstance(zU,e,{...t,persistLastActionId:!0}):n.createInstance(BU,e,t):void 0}var cSe=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Sf=function(n,e){return function(t,i){e(t,i,n)}};let JD=class extends h_t{constructor(e,t,i,r,o,s,a){super(e,o,{getKeyBinding:u=>{var c;return(c=s.lookupKeybinding(u.id))!==null&&c!==void 0?c:void 0},...t,allowContextMenu:!0,skipTelemetry:typeof(t==null?void 0:t.telemetrySource)=="string"}),this._options=t,this._menuService=i,this._contextKeyService=r,this._contextMenuService=o,this._sessionDisposables=this._store.add(new Je);const l=t==null?void 0:t.telemetrySource;l&&this._store.add(this.actionBar.onDidRun(u=>a.publicLog2("workbenchActionExecuted",{id:u.action.id,from:l})))}setActions(e,t=[],i){var r,o,s;this._sessionDisposables.clear();const a=e.slice(),l=t.slice(),u=[];let c=0;const d=[];let h=!1;if(((r=this._options)===null||r===void 0?void 0:r.hiddenItemStrategy)!==-1)for(let m=0;mb==null?void 0:b.id)),f=this._options.overflowBehavior.maxItems-m.size;let g=0;for(let b=0;b=f&&(a[b]=void 0,d[b]=v))}}d1e(a),d1e(d),super.setActions(a,Vo.join(d,l)),u.length>0&&this._sessionDisposables.add(Ae(this.getElement(),"contextmenu",m=>{var f,g,b,v,C;const S=new Ld(Qt(this.getElement()),m),x=this.getItemAction(S.target);if(!x)return;S.preventDefault(),S.stopPropagation();let _=!1;if(c===1&&((f=this._options)===null||f===void 0?void 0:f.hiddenItemStrategy)===0){_=!0;for(let M=0;Mthis._menuService.resetHiddenStates(i)}))),this._contextMenuService.showContextMenu({getAnchor:()=>S,getActions:()=>D,menuId:(b=this._options)===null||b===void 0?void 0:b.contextMenu,menuActionOptions:{renderShortTitle:!0,...(v=this._options)===null||v===void 0?void 0:v.menuOptions},skipTelemetry:typeof((C=this._options)===null||C===void 0?void 0:C.telemetrySource)=="string",contextKeyService:this._contextKeyService})}))}};JD=cSe([Sf(2,Gu),Sf(3,ln),Sf(4,fu),Sf(5,Bi),Sf(6,Zl)],JD);let AR=class extends JD{constructor(e,t,i,r,o,s,a,l){super(e,{resetMenu:t,...i},r,o,s,a,l),this._onDidChangeMenuItems=this._store.add(new be),this.onDidChangeMenuItems=this._onDidChangeMenuItems.event;const u=this._store.add(r.createMenu(t,o,{emitEventsForSubmenuChanges:!0})),c=()=>{var d,h,m;const f=[],g=[];VR(u,i==null?void 0:i.menuOptions,{primary:f,secondary:g},(d=i==null?void 0:i.toolbarOptions)===null||d===void 0?void 0:d.primaryGroup,(h=i==null?void 0:i.toolbarOptions)===null||h===void 0?void 0:h.shouldInlineSubmenu,(m=i==null?void 0:i.toolbarOptions)===null||m===void 0?void 0:m.useSeparatorsInPrimaryActions),e.classList.toggle("has-no-actions",f.length===0&&g.length===0),super.setActions(f,g)};this._store.add(u.onDidChange(()=>{c(),this._onDidChangeMenuItems.fire(this)})),c()}setActions(){throw new or("This toolbar is populated from a menu.")}};AR=cSe([Sf(3,Gu),Sf(4,ln),Sf(5,fu),Sf(6,Bi),Sf(7,Zl)],AR);var k_t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},dSe=function(n,e){return function(t,i){e(t,i,n)}};const YU=Un("hoverService");let jD=class extends Ie{get delay(){return this.isInstantlyHovering()?0:this._delay}constructor(e,t,i={},r,o){super(),this.placement=e,this.instantHover=t,this.overrideOptions=i,this.configurationService=r,this.hoverService=o,this.lastHoverHideTime=0,this.timeLimit=200,this.hoverDisposables=this._register(new Je),this._delay=this.configurationService.getValue("workbench.hover.delay"),this._register(this.configurationService.onDidChangeConfiguration(s=>{s.affectsConfiguration("workbench.hover.delay")&&(this._delay=this.configurationService.getValue("workbench.hover.delay"))}))}showHover(e,t){const i=typeof this.overrideOptions=="function"?this.overrideOptions(e,t):this.overrideOptions;this.hoverDisposables.clear();const r=e.target instanceof HTMLElement?[e.target]:e.target.targetElements;for(const s of r)this.hoverDisposables.add(Gr(s,"keydown",a=>{a.equals(9)&&this.hoverService.hideHover()}));const o=e.content instanceof HTMLElement?void 0:e.content.toString();return this.hoverService.showHover({...e,...i,persistence:{hideOnKeyDown:!0,...i.persistence},id:o,appearance:{...e.appearance,compact:!0,skipFadeInAnimation:this.isInstantlyHovering(),...i.appearance}},t)}isInstantlyHovering(){return this.instantHover&&Date.now()-this.lastHoverHideTime=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},GR=function(n,e){return function(t,i){e(t,i,n)}};const UU=[],mSe=35;let KU=class extends Ie{constructor(e,t,i,r,o,s){super(),this._diffModel=t,this._editors=i,this._instantiationService=r,this._contextKeyService=o,this._menuService=s,this._menu=this._register(this._menuService.createMenu(Q.DiffEditorHunkToolbar,this._contextKeyService)),this._actions=Hi(this._menu.onDidChange,()=>this._menu.getActions()),this._hasActions=this._actions.map(a=>a.length>0),this.width=hn(this,a=>this._hasActions.read(a)?mSe:0),this.elements=Li("div.gutter@gutter",{style:{position:"absolute",height:"100%",width:mSe+"px"}},[]),this._currentDiff=hn(this,a=>{var l;const u=this._diffModel.read(a);if(!u)return;const c=(l=u.diff.read(a))===null||l===void 0?void 0:l.mappings,d=this._editors.modifiedCursor.read(a);if(d)return c==null?void 0:c.find(h=>h.lineRangeMapping.modified.contains(d.lineNumber))}),this._selectedDiffs=hn(this,a=>{const l=this._diffModel.read(a),u=l==null?void 0:l.diff.read(a);if(!u)return UU;const c=this._editors.modifiedSelections.read(a);if(c.every(f=>f.isEmpty()))return UU;const d=new Bc(c.map(f=>dn.fromRangeInclusive(f))),m=u.mappings.filter(f=>f.lineRangeMapping.innerChanges&&d.intersects(f.lineRangeMapping.modified)).map(f=>({mapping:f,rangeMappings:f.lineRangeMapping.innerChanges.filter(g=>c.some(b=>J.areIntersecting(g.modifiedRange,b)))}));return m.length===0||m.every(f=>f.rangeMappings.length===0)?UU:m}),this._register(Uxt(e,this.elements.root)),this._register(Ae(this.elements.root,"click",()=>{this._editors.modified.focus()})),this._register(dp(this.elements.root,{display:this._hasActions.map(a=>a?"block":"none")})),this._register(new o_t(this._editors.modified,this.elements.root,{getIntersectingGutterItems:(a,l)=>{const u=this._diffModel.read(l);if(!u)return[];const c=u.diff.read(l);if(!c)return[];const d=this._selectedDiffs.read(l);if(d.length>0){const m=ju.fromRangeMappings(d.flatMap(f=>f.rangeMappings));return[new fSe(m,!0,Q.DiffEditorSelectionToolbar,void 0,u.model.original.uri,u.model.modified.uri)]}const h=this._currentDiff.read(l);return c.mappings.map(m=>new fSe(m.lineRangeMapping.withInnerChangesFromLineRanges(),m.lineRangeMapping===(h==null?void 0:h.lineRangeMapping),Q.DiffEditorHunkToolbar,void 0,u.model.original.uri,u.model.modified.uri))},createView:(a,l)=>this._instantiationService.createInstance(JU,a,l,this)})),this._register(Ae(this.elements.gutter,ot.MOUSE_WHEEL,a=>{this._editors.modified.getOption(103).handleMouseWheel&&this._editors.modified.delegateScrollFromMouseWheelEvent(a)},{passive:!1}))}computeStagedValue(e){var t;const i=(t=e.innerChanges)!==null&&t!==void 0?t:[];return new XU(i.map(s=>new vp(s.originalRange,this._editors.modifiedModel.get().getValueInRange(s.modifiedRange)))).apply(new u_t(this._editors.original.getModel()))}layout(e){this.elements.gutter.style.left=e+"px"}};KU=hSe([GR(3,$t),GR(4,ln),GR(5,Gu)],KU);class fSe{constructor(e,t,i,r,o,s){this.mapping=e,this.showAlways=t,this.menuId=i,this.rangeOverride=r,this.originalUri=o,this.modifiedUri=s}get id(){return this.mapping.modified.toString()}get range(){var e;return(e=this.rangeOverride)!==null&&e!==void 0?e:this.mapping.modified}}let JU=class extends Ie{constructor(e,t,i,r){super(),this._item=e,this._elements=Li("div.gutterItem",{style:{height:"20px",width:"34px"}},[Li("div.background@background",{},[]),Li("div.buttons@buttons",{},[])]),this._showAlways=this._item.map(this,s=>s.showAlways),this._menuId=this._item.map(this,s=>s.menuId),this._isSmall=ei(this,!1),this._lastItemRange=void 0,this._lastViewRange=void 0;const o=this._register(r.createInstance(jD,"element",!0,{position:{hoverPosition:1}}));this._register(BD(t,this._elements.root)),this._register(Zn(s=>{const a=this._showAlways.read(s);this._elements.root.classList.toggle("noTransition",!0),this._elements.root.classList.toggle("showAlways",a),setTimeout(()=>{this._elements.root.classList.toggle("noTransition",!1)},0)})),this._register(Yc((s,a)=>{this._elements.buttons.replaceChildren();const l=a.add(r.createInstance(AR,this._elements.buttons,this._menuId.read(s),{orientation:1,hoverDelegate:o,toolbarOptions:{primaryGroup:u=>u.startsWith("primary")},overflowBehavior:{maxItems:this._isSmall.read(s)?1:3},hiddenItemStrategy:0,actionRunner:new rSe(()=>{const u=this._item.get(),c=u.mapping;return{mapping:c,originalWithModifiedChanges:i.computeStagedValue(c),originalUri:u.originalUri,modifiedUri:u.modifiedUri}}),menuOptions:{shouldForwardArgs:!0}}));a.add(l.onDidChangeMenuItems(()=>{this._lastItemRange&&this.layout(this._lastItemRange,this._lastViewRange)}))}))}layout(e,t){this._lastItemRange=e,this._lastViewRange=t;let i=this._elements.buttons.clientHeight;this._isSmall.set(this._item.get().mapping.original.startLineNumber===1&&e.length<30,void 0),i=this._elements.buttons.clientHeight,this._elements.root.style.top=e.start+"px",this._elements.root.style.height=e.length+"px";const r=e.length/2-i/2,o=i;let s=e.start+r;const a=Dn.tryCreate(o,t.endExclusive-o-i),l=Dn.tryCreate(e.start+o,e.endExclusive-i-o);l&&a&&l.start=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},QD=function(n,e){return function(t,i){e(t,i,n)}};let yp=class extends DR{get onDidContentSizeChange(){return this._editors.onDidContentSizeChange}constructor(e,t,i,r,o,s,a,l){var u;super(),this._domElement=e,this._parentContextKeyService=r,this._parentInstantiationService=o,this._accessibilitySignalService=a,this._editorProgressService=l,this.elements=Li("div.monaco-diff-editor.side-by-side",{style:{position:"relative",height:"100%"}},[Li("div.noModificationsOverlay@overlay",{style:{position:"absolute",height:"100%",visibility:"hidden"}},[Ct("span",{},"No Changes")]),Li("div.editor.original@original",{style:{position:"absolute",height:"100%"}}),Li("div.editor.modified@modified",{style:{position:"absolute",height:"100%"}}),Li("div.accessibleDiffViewer@accessibleDiffViewer",{style:{position:"absolute",height:"100%"}})]),this._diffModel=ei(this,void 0),this._shouldDisposeDiffModel=!1,this.onDidChangeModel=lt.fromObservableLight(this._diffModel),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._domElement)),this._instantiationService=this._parentInstantiationService.createChild(new DD([ln,this._contextKeyService])),this._boundarySashes=ei(this,void 0),this._accessibleDiffViewerShouldBeVisible=ei(this,!1),this._accessibleDiffViewerVisible=hn(this,x=>this._options.onlyShowAccessibleDiffViewer.read(x)?!0:this._accessibleDiffViewerShouldBeVisible.read(x)),this._movedBlocksLinesPart=ei(this,void 0),this._layoutInfo=hn(this,x=>{var _,F,D,M,T;const Z=this._rootSizeObserver.width.read(x),E=this._rootSizeObserver.height.read(x),R=this._sash.read(x),W=this._gutter.read(x),A=(_=W==null?void 0:W.width.read(x))!==null&&_!==void 0?_:0,z=(D=(F=this._overviewRulerPart.read(x))===null||F===void 0?void 0:F.width)!==null&&D!==void 0?D:0;let O,B,P,H,k;if(!!R){const Y=R.sashLeft.read(x),V=(T=(M=this._movedBlocksLinesPart.read(x))===null||M===void 0?void 0:M.width.read(x))!==null&&T!==void 0?T:0;O=0,B=Y-A-V,k=Y-A,P=Y,H=Z-P-z}else k=0,O=A,B=Math.max(5,this._editors.original.getLayoutInfo().decorationsLeft),P=A+B,H=Z-P-z;return this.elements.original.style.left=O+"px",this.elements.original.style.width=B+"px",this._editors.original.layout({width:B,height:E},!0),W==null||W.layout(k),this.elements.modified.style.left=P+"px",this.elements.modified.style.width=H+"px",this._editors.modified.layout({width:H,height:E},!0),{modifiedEditor:this._editors.modified.getLayoutInfo(),originalEditor:this._editors.original.getLayoutInfo()}}),this._diffValue=this._diffModel.map((x,_)=>x==null?void 0:x.diff.read(_)),this.onDidUpdateDiff=lt.fromObservableLight(this._diffValue),s.willCreateDiffEditor(),this._contextKeyService.createKey("isInDiffEditor",!0),this._domElement.appendChild(this.elements.root),this._register(jt(()=>this._domElement.removeChild(this.elements.root))),this._rootSizeObserver=this._register(new gwe(this.elements.root,t.dimension)),this._rootSizeObserver.setAutomaticLayout((u=t.automaticLayout)!==null&&u!==void 0?u:!1),this._options=this._instantiationService.createInstance(GU,t),this._register(Zn(x=>{this._options.setWidth(this._rootSizeObserver.width.read(x))})),this._contextKeyService.createKey(ne.isEmbeddedDiffEditor.key,!1),this._register(hp(ne.isEmbeddedDiffEditor,this._contextKeyService,x=>this._options.isInEmbeddedEditor.read(x))),this._register(hp(ne.comparingMovedCode,this._contextKeyService,x=>{var _;return!!(!((_=this._diffModel.read(x))===null||_===void 0)&&_.movedTextToCompare.read(x))})),this._register(hp(ne.diffEditorRenderSideBySideInlineBreakpointReached,this._contextKeyService,x=>this._options.couldShowInlineViewBecauseOfSize.read(x))),this._register(hp(ne.diffEditorInlineMode,this._contextKeyService,x=>!this._options.renderSideBySide.read(x))),this._register(hp(ne.hasChanges,this._contextKeyService,x=>{var _,F,D;return((D=(F=(_=this._diffModel.read(x))===null||_===void 0?void 0:_.diff.read(x))===null||F===void 0?void 0:F.mappings.length)!==null&&D!==void 0?D:0)>0})),this._editors=this._register(this._instantiationService.createInstance(AU,this.elements.original,this.elements.modified,this._options,i,(x,_,F,D)=>this._createInnerEditor(x,_,F,D))),this._register(hp(ne.diffEditorOriginalWritable,this._contextKeyService,x=>this._options.originalEditable.read(x))),this._register(hp(ne.diffEditorModifiedWritable,this._contextKeyService,x=>!this._options.readOnly.read(x))),this._register(hp(ne.diffEditorOriginalUri,this._contextKeyService,x=>{var _,F;return(F=(_=this._diffModel.read(x))===null||_===void 0?void 0:_.model.original.uri.toString())!==null&&F!==void 0?F:""})),this._register(hp(ne.diffEditorModifiedUri,this._contextKeyService,x=>{var _,F;return(F=(_=this._diffModel.read(x))===null||_===void 0?void 0:_.model.modified.uri.toString())!==null&&F!==void 0?F:""})),this._overviewRulerPart=lp(this,x=>this._options.renderOverviewRuler.read(x)?this._instantiationService.createInstance(Ad(Ey,x),this._editors,this.elements.root,this._diffModel,this._rootSizeObserver.width,this._rootSizeObserver.height,this._layoutInfo.map(_=>_.modifiedEditor)):void 0).recomputeInitiallyAndOnChange(this._store),this._sash=lp(this,x=>{const _=this._options.renderSideBySide.read(x);return this.elements.root.classList.toggle("side-by-side",_),_?new LLt(this._options,this.elements.root,{height:this._rootSizeObserver.height,width:this._rootSizeObserver.width.map((F,D)=>{var M,T;return F-((T=(M=this._overviewRulerPart.read(D))===null||M===void 0?void 0:M.width)!==null&&T!==void 0?T:0)})},this._boundarySashes):void 0}).recomputeInitiallyAndOnChange(this._store);const c=lp(this,x=>this._instantiationService.createInstance(Ad(YD,x),this._editors,this._diffModel,this._options)).recomputeInitiallyAndOnChange(this._store);lp(this,x=>this._instantiationService.createInstance(Ad(vLt,x),this._editors,this._diffModel,this._options,this)).recomputeInitiallyAndOnChange(this._store);const d=new Set,h=new Set;let m=!1;const f=lp(this,x=>this._instantiationService.createInstance(Ad(WU,x),Qt(this._domElement),this._editors,this._diffModel,this._options,this,()=>m||c.get().isUpdatingHiddenAreas,d,h)).recomputeInitiallyAndOnChange(this._store),g=hn(this,x=>{const _=f.read(x).viewZones.read(x).orig,F=c.read(x).viewZones.read(x).origViewZones;return _.concat(F)}),b=hn(this,x=>{const _=f.read(x).viewZones.read(x).mod,F=c.read(x).viewZones.read(x).modViewZones;return _.concat(F)});this._register(SR(this._editors.original,g,x=>{m=x},d));let v;this._register(SR(this._editors.modified,b,x=>{m=x,m?v=zh.capture(this._editors.modified):(v==null||v.restore(this._editors.modified),v=void 0)},h)),this._accessibleDiffViewer=lp(this,x=>this._instantiationService.createInstance(Ad(F0,x),this.elements.accessibleDiffViewer,this._accessibleDiffViewerVisible,(_,F)=>this._accessibleDiffViewerShouldBeVisible.set(_,F),this._options.onlyShowAccessibleDiffViewer.map(_=>!_),this._rootSizeObserver.width,this._rootSizeObserver.height,this._diffModel.map((_,F)=>{var D;return(D=_==null?void 0:_.diff.read(F))===null||D===void 0?void 0:D.mappings.map(M=>M.lineRangeMapping)}),new hLt(this._editors))).recomputeInitiallyAndOnChange(this._store);const C=this._accessibleDiffViewerVisible.map(x=>x?"hidden":"visible");this._register(dp(this.elements.modified,{visibility:C})),this._register(dp(this.elements.original,{visibility:C})),this._createDiffEditorContributions(),s.addDiffEditor(this),this._gutter=lp(this,x=>this._options.shouldRenderGutterMenu.read(x)?this._instantiationService.createInstance(Ad(KU,x),this.elements.root,this._diffModel,this._editors):void 0),this._register(ZD(this._layoutInfo)),lp(this,x=>new(Ad(I0,x))(this.elements.root,this._diffModel,this._layoutInfo.map(_=>_.originalEditor),this._layoutInfo.map(_=>_.modifiedEditor),this._editors)).recomputeInitiallyAndOnChange(this._store,x=>{this._movedBlocksLinesPart.set(x,void 0)}),this._register(dp(this.elements.overlay,{width:this._layoutInfo.map((x,_)=>x.originalEditor.width+(this._options.renderSideBySide.read(_)?0:x.modifiedEditor.width)),visibility:hn(x=>{var _,F;return this._options.hideUnchangedRegions.read(x)&&((F=(_=this._diffModel.read(x))===null||_===void 0?void 0:_.diff.read(x))===null||F===void 0?void 0:F.mappings.length)===0?"visible":"hidden"})})),this._register(lt.runAndSubscribe(this._editors.modified.onDidChangeCursorPosition,x=>this._handleCursorPositionChange(x,!0))),this._register(lt.runAndSubscribe(this._editors.original.onDidChangeCursorPosition,x=>this._handleCursorPositionChange(x,!1)));const S=this._diffModel.map(this,(x,_)=>{if(x)return x.diff.read(_)===void 0&&!x.isDiffUpToDate.read(_)});this._register(Yc((x,_)=>{if(S.read(x)===!0){const F=this._editorProgressService.show(!0,1e3);_.add(jt(()=>F.done()))}})),this._register(jt(()=>{var x;this._shouldDisposeDiffModel&&((x=this._diffModel.get())===null||x===void 0||x.dispose())})),this._register(Yc((x,_)=>{_.add(new(Ad(t_t,x))(this._editors,this._diffModel,this._options,this))}))}_createInnerEditor(e,t,i,r){return e.createInstance(w2,t,i,r)}_createDiffEditorContributions(){const e=IS.getDiffEditorContributions();for(const t of e)try{this._register(this._instantiationService.createInstance(t.ctor,this))}catch(i){vn(i)}}get _targetEditor(){return this._editors.modified}getEditorType(){return lD.IDiffEditor}layout(e){this._rootSizeObserver.observe(e)}hasTextFocus(){return this._editors.original.hasTextFocus()||this._editors.modified.hasTextFocus()}saveViewState(){var e;const t=this._editors.original.saveViewState(),i=this._editors.modified.saveViewState();return{original:t,modified:i,modelState:(e=this._diffModel.get())===null||e===void 0?void 0:e.serializeState()}}restoreViewState(e){var t;if(e&&e.original&&e.modified){const i=e;this._editors.original.restoreViewState(i.original),this._editors.modified.restoreViewState(i.modified),i.modelState&&((t=this._diffModel.get())===null||t===void 0||t.restoreSerializedState(i.modelState))}}handleInitialized(){this._editors.original.handleInitialized(),this._editors.modified.handleInitialized()}createViewModel(e){return this._instantiationService.createInstance(TU,e,this._options)}getModel(){var e,t;return(t=(e=this._diffModel.get())===null||e===void 0?void 0:e.model)!==null&&t!==void 0?t:null}setModel(e,t){!e&&this._diffModel.get()&&this._accessibleDiffViewer.get().close();const i=e?"model"in e?{model:e,shouldDispose:!1}:{model:this.createViewModel(e),shouldDispose:!0}:void 0;this._diffModel.get()!==(i==null?void 0:i.model)&&ND(t,r=>{var o;Hi.batchEventsGlobally(r,()=>{this._editors.original.setModel(i?i.model.model.original:null),this._editors.modified.setModel(i?i.model.model.modified:null)});const s=this._diffModel.get(),a=this._shouldDisposeDiffModel;this._shouldDisposeDiffModel=(o=i==null?void 0:i.shouldDispose)!==null&&o!==void 0?o:!1,this._diffModel.set(i==null?void 0:i.model,r),a&&(s==null||s.dispose())})}updateOptions(e){this._options.updateOptions(e)}getContainerDomNode(){return this._domElement}getOriginalEditor(){return this._editors.original}getModifiedEditor(){return this._editors.modified}getLineChanges(){var e;const t=(e=this._diffModel.get())===null||e===void 0?void 0:e.diff.get();return t?T_t(t):null}revert(e){const t=this._diffModel.get();!t||!t.isDiffUpToDate.get()||this._editors.modified.executeEdits("diffEditor",[{range:e.modified.toExclusiveRange(),text:t.model.original.getValueInRange(e.original.toExclusiveRange())}])}revertRangeMappings(e){const t=this._diffModel.get();if(!t||!t.isDiffUpToDate.get())return;const i=e.map(r=>({range:r.modifiedRange,text:t.model.original.getValueInRange(r.originalRange)}));this._editors.modified.executeEdits("diffEditor",i)}_goTo(e){this._editors.modified.setPosition(new ye(e.lineRangeMapping.modified.startLineNumber,1)),this._editors.modified.revealRangeInCenter(e.lineRangeMapping.modified.toExclusiveRange())}goToDiff(e){var t,i,r,o;const s=(i=(t=this._diffModel.get())===null||t===void 0?void 0:t.diff.get())===null||i===void 0?void 0:i.mappings;if(!s||s.length===0)return;const a=this._editors.modified.getPosition().lineNumber;let l;e==="next"?l=(r=s.find(u=>u.lineRangeMapping.modified.startLineNumber>a))!==null&&r!==void 0?r:s[0]:l=(o=IW(s,u=>u.lineRangeMapping.modified.startLineNumber{var t;const i=(t=e.diff.get())===null||t===void 0?void 0:t.mappings;!i||i.length===0||this._goTo(i[0])})}accessibleDiffViewerNext(){this._accessibleDiffViewer.get().next()}accessibleDiffViewerPrev(){this._accessibleDiffViewer.get().prev()}async waitForDiff(){const e=this._diffModel.get();e&&await e.waitForDiff()}mapToOtherSide(){var e,t;const i=this._editors.modified.hasWidgetFocus(),r=i?this._editors.modified:this._editors.original,o=i?this._editors.original:this._editors.modified;let s;const a=r.getSelection();if(a){const l=(t=(e=this._diffModel.get())===null||e===void 0?void 0:e.diff.get())===null||t===void 0?void 0:t.mappings.map(u=>i?u.lineRangeMapping.flip():u.lineRangeMapping);if(l){const u=vwe(a.getStartPosition(),l),c=vwe(a.getEndPosition(),l);s=J.plusRange(u,c)}}return{destination:o,destinationSelection:s}}switchSide(){const{destination:e,destinationSelection:t}=this.mapToOtherSide();e.focus(),t&&e.setSelection(t)}exitCompareMove(){const e=this._diffModel.get();e&&e.movedTextToCompare.set(void 0,void 0)}collapseAllUnchangedRegions(){var e;const t=(e=this._diffModel.get())===null||e===void 0?void 0:e.unchangedRegions.get();t&&zi(i=>{for(const r of t)r.collapseAll(i)})}showAllUnchangedRegions(){var e;const t=(e=this._diffModel.get())===null||e===void 0?void 0:e.unchangedRegions.get();t&&zi(i=>{for(const r of t)r.showAll(i)})}_handleCursorPositionChange(e,t){var i,r;if((e==null?void 0:e.reason)===3){const o=(r=(i=this._diffModel.get())===null||i===void 0?void 0:i.diff.get())===null||r===void 0?void 0:r.mappings.find(s=>t?s.lineRangeMapping.modified.contains(e.position.lineNumber):s.lineRangeMapping.original.contains(e.position.lineNumber));o!=null&&o.lineRangeMapping.modified.isEmpty?this._accessibilitySignalService.playSignal(xn.diffLineDeleted,{source:"diffEditor.cursorPositionChanged"}):o!=null&&o.lineRangeMapping.original.isEmpty?this._accessibilitySignalService.playSignal(xn.diffLineInserted,{source:"diffEditor.cursorPositionChanged"}):o&&this._accessibilitySignalService.playSignal(xn.diffLineModified,{source:"diffEditor.cursorPositionChanged"})}}};yp=N_t([QD(3,ln),QD(4,$t),QD(5,vi),QD(6,_0),QD(7,M0)],yp);function T_t(n){return n.mappings.map(e=>{const t=e.lineRangeMapping;let i,r,o,s,a=t.innerChanges;return t.original.isEmpty?(i=t.original.startLineNumber-1,r=0,a=void 0):(i=t.original.startLineNumber,r=t.original.endLineNumberExclusive-1),t.modified.isEmpty?(o=t.modified.startLineNumber-1,s=0,a=void 0):(o=t.modified.startLineNumber,s=t.modified.endLineNumberExclusive-1),{originalStartLineNumber:i,originalEndLineNumber:r,modifiedStartLineNumber:o,modifiedEndLineNumber:s,charChanges:a==null?void 0:a.map(l=>({originalStartLineNumber:l.originalRange.startLineNumber,originalStartColumn:l.originalRange.startColumn,originalEndLineNumber:l.originalRange.endLineNumber,originalEndColumn:l.originalRange.endColumn,modifiedStartLineNumber:l.modifiedRange.startLineNumber,modifiedStartColumn:l.modifiedRange.startColumn,modifiedEndLineNumber:l.modifiedRange.endLineNumber,modifiedEndColumn:l.modifiedRange.endColumn}))}})}class E_t extends el{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:oi("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:ut.map,toggled:Oe.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:Oe.has("isInDiffEditor"),menu:{when:Oe.has("isInDiffEditor"),id:Q.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(Pn),r=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",r)}}class gSe extends el{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:oi("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:Oe.has("isInDiffEditor")})}run(e,...t){const i=e.get(Pn),r=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",r)}}class pSe extends el{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:oi("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:Oe.has("isInDiffEditor")})}run(e,...t){const i=e.get(Pn),r=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",r)}}const $D=oi("diffEditor","Diff Editor");class Z_t extends kh{constructor(){super({id:"diffEditor.switchSide",title:oi("switchSide","Switch Side"),icon:ut.arrowSwap,precondition:Oe.has("isInDiffEditor"),f1:!0,category:$D})}runEditorCommand(e,t,i){const r=V2(e);if(r instanceof yp){if(i&&i.dryRun)return{destinationSelection:r.mapToOtherSide().destinationSelection};r.switchSide()}}}class W_t extends kh{constructor(){super({id:"diffEditor.exitCompareMove",title:oi("exitCompareMove","Exit Compare Move"),icon:ut.close,precondition:ne.comparingMovedCode,f1:!1,category:$D,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const r=V2(e);r instanceof yp&&r.exitCompareMove()}}class R_t extends kh{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:oi("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:ut.fold,precondition:Oe.has("isInDiffEditor"),f1:!0,category:$D})}runEditorCommand(e,t,...i){const r=V2(e);r instanceof yp&&r.collapseAllUnchangedRegions()}}class V_t extends kh{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:oi("showAllUnchangedRegions","Show All Unchanged Regions"),icon:ut.unfold,precondition:Oe.has("isInDiffEditor"),f1:!0,category:$D})}runEditorCommand(e,t,...i){const r=V2(e);r instanceof yp&&r.showAllUnchangedRegions()}}class jU extends el{constructor(){super({id:"diffEditor.revert",title:oi("revert","Revert"),f1:!1,category:$D})}run(e,t){var i;const r=A_t(e,t.originalUri,t.modifiedUri);r instanceof yp&&r.revertRangeMappings((i=t.mapping.innerChanges)!==null&&i!==void 0?i:[])}}const bSe=oi("accessibleDiffViewer","Accessible Diff Viewer");class R2 extends el{constructor(){super({id:R2.id,title:oi("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:bSe,precondition:Oe.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=V2(e);t==null||t.accessibleDiffViewerNext()}}R2.id="editor.action.accessibleDiffViewer.next";class qD extends el{constructor(){super({id:qD.id,title:oi("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:bSe,precondition:Oe.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=V2(e);t==null||t.accessibleDiffViewerPrev()}}qD.id="editor.action.accessibleDiffViewer.prev";function A_t(n,e,t){return n.get(vi).listDiffEditors().find(o=>{var s,a;const l=o.getModifiedEditor(),u=o.getOriginalEditor();return l&&((s=l.getModel())===null||s===void 0?void 0:s.uri.toString())===t.toString()&&u&&((a=u.getModel())===null||a===void 0?void 0:a.uri.toString())===e.toString()})||null}function V2(n){const t=n.get(vi).listDiffEditors(),i=js();if(i)for(const r of t){const o=r.getContainerDomNode();if(G_t(o,i))return r}return null}function G_t(n,e){let t=e;for(;t;){if(t===n)return!0;t=t.parentElement}return!1}Ji(E_t),Ji(gSe),Ji(pSe),ss.appendMenuItem(Q.EditorTitle,{command:{id:new pSe().desc.id,title:L("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:Oe.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:Oe.has("isInDiffEditor")},order:11,group:"1_diff",when:Oe.and(ne.diffEditorRenderSideBySideInlineBreakpointReached,Oe.has("isInDiffEditor"))}),ss.appendMenuItem(Q.EditorTitle,{command:{id:new gSe().desc.id,title:L("showMoves","Show Moved Code Blocks"),icon:ut.move,toggled:LS.create("config.diffEditor.experimental.showMoves",!0),precondition:Oe.has("isInDiffEditor")},order:10,group:"1_diff",when:Oe.has("isInDiffEditor")}),Ji(jU);for(const n of[{icon:ut.arrowRight,key:ne.diffEditorInlineMode.toNegated()},{icon:ut.discard,key:ne.diffEditorInlineMode}])ss.appendMenuItem(Q.DiffEditorHunkToolbar,{command:{id:new jU().desc.id,title:L("revertHunk","Revert Block"),icon:n.icon},when:Oe.and(ne.diffEditorModifiedWritable,n.key),order:5,group:"primary"}),ss.appendMenuItem(Q.DiffEditorSelectionToolbar,{command:{id:new jU().desc.id,title:L("revertSelection","Revert Selection"),icon:n.icon},when:Oe.and(ne.diffEditorModifiedWritable,n.key),order:5,group:"primary"});Ji(Z_t),Ji(W_t),Ji(R_t),Ji(V_t),ss.appendMenuItem(Q.EditorTitle,{command:{id:R2.id,title:L("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:Oe.has("isInDiffEditor")},order:10,group:"2_diff",when:Oe.and(ne.accessibleDiffViewerVisible.negate(),Oe.has("isInDiffEditor"))}),$n.registerCommandAlias("editor.action.diffReview.next",R2.id),Ji(R2),$n.registerCommandAlias("editor.action.diffReview.prev",qD.id),Ji(qD);var X_t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},P_t=function(n,e){return function(t,i){e(t,i,n)}},QU;const XR=new wt("selectionAnchorSet",!1);let Cp=QU=class{static get(e){return e.getContribution(QU.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=XR.bindTo(t),this.modelChangeListener=e.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}setSelectionAnchor(){if(this.editor.hasModel()){const e=this.editor.getPosition();this.editor.changeDecorations(t=>{this.decorationId&&t.removeDecoration(this.decorationId),this.decorationId=t.addDecoration(Wt.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new va().appendText(L("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),kl(L("anchorSet","Anchor set at {0}:{1}",e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){const t=this.editor.getPosition();this.editor.setSelection(Wt.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const e=this.decorationId;this.editor.changeDecorations(t=>{t.removeDecoration(e),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};Cp.ID="editor.contrib.selectionAnchorController",Cp=QU=X_t([P_t(1,ln)],Cp);class O_t extends Mt{constructor(){super({id:"editor.action.setSelectionAnchor",label:L("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:ne.editorTextFocus,primary:Wo(2089,2080),weight:100}})}async run(e,t){var i;(i=Cp.get(t))===null||i===void 0||i.setSelectionAnchor()}}class B_t extends Mt{constructor(){super({id:"editor.action.goToSelectionAnchor",label:L("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:XR})}async run(e,t){var i;(i=Cp.get(t))===null||i===void 0||i.goToSelectionAnchor()}}class z_t extends Mt{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:L("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:XR,kbOpts:{kbExpr:ne.editorTextFocus,primary:Wo(2089,2089),weight:100}})}async run(e,t){var i;(i=Cp.get(t))===null||i===void 0||i.selectFromAnchorToCursor()}}class H_t extends Mt{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:L("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:XR,kbOpts:{kbExpr:ne.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=Cp.get(t))===null||i===void 0||i.cancelSelectionAnchor()}}yi(Cp.ID,Cp,4),tt(O_t),tt(B_t),tt(z_t),tt(H_t);const Y_t=re("editorOverviewRuler.bracketMatchForeground",{dark:"#A0A0A0",light:"#A0A0A0",hcDark:"#A0A0A0",hcLight:"#A0A0A0"},L("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class U_t extends Mt{constructor(){super({id:"editor.action.jumpToBracket",label:L("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:ne.editorTextFocus,primary:3165,weight:100}})}run(e,t){var i;(i=Xd.get(t))===null||i===void 0||i.jumpToBracket()}}class K_t extends Mt{constructor(){super({id:"editor.action.selectToBracket",label:L("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:oi("smartSelect.selectToBracketDescription","Select the text inside and including the brackets or curly braces"),args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:!0}}}}]}})}run(e,t,i){var r;let o=!0;i&&i.selectBrackets===!1&&(o=!1),(r=Xd.get(t))===null||r===void 0||r.selectToBracket(o)}}class J_t extends Mt{constructor(){super({id:"editor.action.removeBrackets",label:L("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:ne.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;(i=Xd.get(t))===null||i===void 0||i.removeBrackets(this.id)}}class j_t{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}class Xd extends Ie{static get(e){return e.getContribution(Xd.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new Ri(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(72),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(t=>{this._matchBrackets!=="never"&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(t=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(t=>{t.hasChanged(72)&&(this._matchBrackets=this._editor.getOption(72),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(e.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;const e=this._editor.getModel(),t=this._editor.getSelections().map(i=>{const r=i.getStartPosition(),o=e.bracketPairs.matchBracket(r);let s=null;if(o)o[0].containsPosition(r)&&!o[1].containsPosition(r)?s=o[1].getStartPosition():o[1].containsPosition(r)&&(s=o[0].getStartPosition());else{const a=e.bracketPairs.findEnclosingBrackets(r);if(a)s=a[1].getStartPosition();else{const l=e.bracketPairs.findNextBracket(r);l&&l.range&&(s=l.range.getStartPosition())}}return s?new Wt(s.lineNumber,s.column,s.lineNumber,s.column):new Wt(r.lineNumber,r.column,r.lineNumber,r.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=[];this._editor.getSelections().forEach(r=>{const o=r.getStartPosition();let s=t.bracketPairs.matchBracket(o);if(!s&&(s=t.bracketPairs.findEnclosingBrackets(o),!s)){const u=t.bracketPairs.findNextBracket(o);u&&u.range&&(s=t.bracketPairs.matchBracket(u.range.getStartPosition()))}let a=null,l=null;if(s){s.sort(J.compareRangesUsingStarts);const[u,c]=s;if(a=e?u.getStartPosition():u.getEndPosition(),l=e?c.getEndPosition():c.getStartPosition(),c.containsPosition(o)){const d=a;a=l,l=d}}a&&l&&i.push(new Wt(a.lineNumber,a.column,l.lineNumber,l.column))}),i.length>0&&(this._editor.setSelections(i),this._editor.revealRange(i[0]))}removeBrackets(e){if(!this._editor.hasModel())return;const t=this._editor.getModel();this._editor.getSelections().forEach(i=>{const r=i.getPosition();let o=t.bracketPairs.matchBracket(r);o||(o=t.bracketPairs.findEnclosingBrackets(r)),o&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:o[0],text:""},{range:o[1],text:""}]),this._editor.pushUndoStop())})}_updateBrackets(){if(this._matchBrackets==="never")return;this._recomputeBrackets();const e=[];let t=0;for(const i of this._lastBracketsData){const r=i.brackets;r&&(e[t++]={range:r[0],options:i.options},e[t++]={range:r[1],options:i.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}const e=this._editor.getSelections();if(e.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}const t=this._editor.getModel(),i=t.getVersionId();let r=[];this._lastVersionId===i&&(r=this._lastBracketsData);const o=[];let s=0;for(let d=0,h=e.length;d1&&o.sort(ye.compare);const a=[];let l=0,u=0;const c=r.length;for(let d=0,h=o.length;d0&&(t.pushUndoStop(),t.executeCommands(this.id,r),t.pushUndoStop())}}tt(eFt);const PR=function(){if(typeof crypto=="object"&&typeof crypto.randomUUID=="function")return crypto.randomUUID.bind(crypto);let n;typeof crypto=="object"&&typeof crypto.getRandomValues=="function"?n=crypto.getRandomValues.bind(crypto):n=function(i){for(let r=0;rn,asFile:()=>{},value:typeof n=="string"?n:void 0}}function tFt(n,e,t){const i={id:PR(),name:n,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class ySe{constructor(){this._entries=new Map}get size(){let e=0;for(const t of this._entries)e++;return e}has(e){return this._entries.has(this.toKey(e))}matches(e){const t=[...this._entries.keys()];return Qn.some(this,([i,r])=>r.asFile())&&t.push("files"),wSe(OR(e),t)}get(e){var t;return(t=this._entries.get(this.toKey(e)))===null||t===void 0?void 0:t[0]}append(e,t){const i=this._entries.get(e);i?i.push(t):this._entries.set(this.toKey(e),[t])}replace(e,t){this._entries.set(this.toKey(e),[t])}delete(e){this._entries.delete(this.toKey(e))}*[Symbol.iterator](){for(const[e,t]of this._entries)for(const i of t)yield[e,i]}toKey(e){return OR(e)}}function OR(n){return n.toLowerCase()}function CSe(n,e){return wSe(OR(n),e.map(OR))}function wSe(n,e){if(n==="*/*")return e.length>0;if(e.includes(n))return!0;const t=n.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!t)return!1;const[i,r,o]=t;return o==="*"?e.some(s=>s.startsWith(r+"/")):!1}const BR=Object.freeze({create:n=>Wg(n.map(e=>e.toString())).join(`\r +`),await this._clipboardService.writeText(x)})),i.getOption(91)||y.push(new uu("diff.inline.revertChange",_("diff.inline.revertChange.label","Revert this change"),void 0,!0,async()=>{this._editor.revert(this._diff)})),y},autoSelectFirstItem:!0})};this._register(Gr(this._diffActions,"mousedown",f=>{if(!f.leftButton)return;const{top:g,height:b}=po(this._diffActions),y=Math.floor(c/3);f.preventDefault(),m(f.posx,g+b+y)})),this._register(i.onMouseMove(f=>{(f.target.type===8||f.target.type===5)&&f.target.detail.viewZoneId===this._getViewZoneId()?(d=this._updateLightBulbPosition(this._marginDomNode,f.event.browserEvent.y,c),this.visibility=!0):this.visibility=!1})),this._register(i.onMouseDown(f=>{f.event.leftButton&&(f.target.type===8||f.target.type===5)&&f.target.detail.viewZoneId===this._getViewZoneId()&&(f.event.preventDefault(),d=this._updateLightBulbPosition(this._marginDomNode,f.event.browserEvent.y,c),m(f.event.posx,f.event.posy+c))}))}_updateLightBulbPosition(e,t,i){const{top:r}=po(e),o=t-r,s=Math.floor(o/i),a=s*i;if(this._diffActions.style.top=`${a}px`,this._viewLineCounts){let l=0;for(let u=0;un});function K_t(n,e,t,i){Ts(i,e.fontInfo);const r=t.length>0,o=new Tw(1e4);let s=0,a=0;const l=[];for(let h=0;h');const l=e.getLineContent(),u=Uu.isBasicASCII(l,r),c=Uu.containsRTL(l,u,o),d=RF(new u0(s.fontInfo.isMonospace&&!s.disableMonospaceOptimizations,s.fontInfo.canUseHalfwidthRightwardsArrow,l,!1,u,c,0,e,t,s.tabSize,0,s.fontInfo.spaceWidth,s.fontInfo.middotWidth,s.fontInfo.wsmiddotWidth,s.stopRenderingLineAfter,s.renderWhitespace,s.renderControlCharacters,s.fontLigatures!==Bu.OFF,null),a);return a.appendString(""),d.characterMapping.getHorizontalOffset(d.characterMapping.length)}const gp=Un("clipboardService"),pp=Un("contextViewService"),fu=Un("contextMenuService");var j_t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},QSe=function(n,e){return function(t,i){e(t,i,n)}};let ZU=class extends Fe{constructor(e,t,i,r,o,s,a,l,u,c){super(),this._targetWindow=e,this._editors=t,this._diffModel=i,this._options=r,this._diffEditorWidget=o,this._canIgnoreViewZoneUpdateEvent=s,this._origViewZonesToIgnore=a,this._modViewZonesToIgnore=l,this._clipboardService=u,this._contextMenuService=c,this._originalTopPadding=ei(this,0),this._originalScrollOffset=ei(this,0),this._originalScrollOffsetAnimated=pSe(this._targetWindow,this._originalScrollOffset,this._store),this._modifiedTopPadding=ei(this,0),this._modifiedScrollOffset=ei(this,0),this._modifiedScrollOffsetAnimated=pSe(this._targetWindow,this._modifiedScrollOffset,this._store);const d=ei("invalidateAlignmentsState",0),h=this._register(new Wi(()=>{d.set(d.get()+1,void 0)},0));this._register(this._editors.original.onDidChangeViewZones(w=>{this._canIgnoreViewZoneUpdateEvent()||h.schedule()})),this._register(this._editors.modified.onDidChangeViewZones(w=>{this._canIgnoreViewZoneUpdateEvent()||h.schedule()})),this._register(this._editors.original.onDidChangeConfiguration(w=>{(w.hasChanged(146)||w.hasChanged(67))&&h.schedule()})),this._register(this._editors.modified.onDidChangeConfiguration(w=>{(w.hasChanged(146)||w.hasChanged(67))&&h.schedule()}));const m=this._diffModel.map(w=>w?zi(w.model.original.onDidChangeTokens,()=>w.model.original.tokenization.backgroundTokenizationState===2):void 0).map((w,x)=>w==null?void 0:w.read(x)),f=hn(w=>{const x=this._diffModel.read(w),L=x==null?void 0:x.diff.read(w);if(!x||!L)return null;d.read(w);const D=this._options.renderSideBySide.read(w);return $Se(this._editors.original,this._editors.modified,L.mappings,this._origViewZonesToIgnore,this._modViewZonesToIgnore,D)}),g=hn(w=>{var x;const L=(x=this._diffModel.read(w))===null||x===void 0?void 0:x.movedTextToCompare.read(w);if(!L)return null;d.read(w);const I=L.changes.map(D=>new KSe(D));return $Se(this._editors.original,this._editors.modified,I,this._origViewZonesToIgnore,this._modViewZonesToIgnore,!0)});function b(){const w=document.createElement("div");return w.className="diagonal-fill",w}const y=this._register(new Je);this.viewZones=_2(this,(w,x)=>{var L,I,D,N,T,R,E,W;y.clear();const Z=f.read(w)||[],V=[],z=[],O=this._modifiedTopPadding.read(w);O>0&&z.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:O,showInHiddenAreas:!0,suppressMouseDown:!0});const B=this._originalTopPadding.read(w);B>0&&V.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:B,showInHiddenAreas:!0,suppressMouseDown:!0});const P=this._options.renderSideBySide.read(w),H=P||(L=this._editors.modified._getViewModel())===null||L===void 0?void 0:L.createLineBreaksComputer();if(H){const le=this._editors.original.getModel();for(const ue of Z)if(ue.diff)for(let Ce=ue.originalRange.startLineNumber;Cele.getLineCount())return{orig:V,mod:z};H==null||H.addRequest(le.getLineContent(Ce),null,null)}}const M=(I=H==null?void 0:H.finalize())!==null&&I!==void 0?I:[];let X=0;const Y=this._editors.modified.getOption(67),A=(D=this._diffModel.read(w))===null||D===void 0?void 0:D.movedTextToCompare.read(w),te=(T=(N=this._editors.original.getModel())===null||N===void 0?void 0:N.mightContainNonBasicASCII())!==null&&T!==void 0?T:!1,oe=(E=(R=this._editors.original.getModel())===null||R===void 0?void 0:R.mightContainRTL())!==null&&E!==void 0?E:!1,ae=RU.fromEditor(this._editors.modified);for(const le of Z)if(le.diff&&!P){if(!le.originalRange.isEmpty){m.read(w);const Ce=document.createElement("div");Ce.classList.add("view-lines","line-delete","monaco-mouse-cursor-text");const pe=this._editors.original.getModel();if(le.originalRange.endLineNumberExclusive-1>pe.getLineCount())return{orig:V,mod:z};const ce=new J_t(le.originalRange.mapToLineArray(He=>pe.tokenization.getLineTokens(He)),le.originalRange.mapToLineArray(He=>M[X++]),te,oe),De=[];for(const He of le.diff.innerChanges||[])De.push(new eD(He.originalRange.delta(-(le.diff.original.startLineNumber-1)),xU.className,0));const Me=K_t(ce,ae,De,Ce),ke=document.createElement("div");if(ke.className="inline-deleted-margin-view-zone",Ts(ke,ae.fontInfo),this._options.renderIndicators.read(w))for(let He=0;HeAb(Ue),ke,this._editors.modified,le.diff,this._diffEditorWidget,Me.viewLineCounts,this._editors.original.getModel(),this._contextMenuService,this._clipboardService));for(let He=0;He1&&V.push({afterLineNumber:le.originalRange.startLineNumber+He,domNode:b(),heightInPx:(ct-1)*Y,showInHiddenAreas:!0,suppressMouseDown:!0})}z.push({afterLineNumber:le.modifiedRange.startLineNumber-1,domNode:Ce,heightInPx:Me.heightInLines*Y,minWidthInPx:Me.minWidthInPx,marginDomNode:ke,setZoneId(He){Ue=He},showInHiddenAreas:!0,suppressMouseDown:!0})}const ue=document.createElement("div");ue.className="gutter-delete",V.push({afterLineNumber:le.originalRange.endLineNumberExclusive-1,domNode:b(),heightInPx:le.modifiedHeightInPx,marginDomNode:ue,showInHiddenAreas:!0,suppressMouseDown:!0})}else{const ue=le.modifiedHeightInPx-le.originalHeightInPx;if(ue>0){if(A!=null&&A.lineRangeMapping.original.delta(-1).deltaLength(2).contains(le.originalRange.endLineNumberExclusive-1))continue;V.push({afterLineNumber:le.originalRange.endLineNumberExclusive-1,domNode:b(),heightInPx:ue,showInHiddenAreas:!0,suppressMouseDown:!0})}else{let Ce=function(){const ce=document.createElement("div");return ce.className="arrow-revert-change "+sn.asClassName(ut.arrowRight),x.add(Ve(ce,"mousedown",De=>De.stopPropagation())),x.add(Ve(ce,"click",De=>{De.stopPropagation(),o.revert(le.diff)})),Ct("div",{},ce)};if(A!=null&&A.lineRangeMapping.modified.delta(-1).deltaLength(2).contains(le.modifiedRange.endLineNumberExclusive-1))continue;let pe;le.diff&&le.diff.modified.isEmpty&&this._options.shouldRenderOldRevertArrows.read(w)&&(pe=Ce()),z.push({afterLineNumber:le.modifiedRange.endLineNumberExclusive-1,domNode:b(),heightInPx:-ue,marginDomNode:pe,showInHiddenAreas:!0,suppressMouseDown:!0})}}for(const le of(W=g.read(w))!==null&&W!==void 0?W:[]){if(!(A!=null&&A.lineRangeMapping.original.intersect(le.originalRange))||!(A!=null&&A.lineRangeMapping.modified.intersect(le.modifiedRange)))continue;const ue=le.modifiedHeightInPx-le.originalHeightInPx;ue>0?V.push({afterLineNumber:le.originalRange.endLineNumberExclusive-1,domNode:b(),heightInPx:ue,showInHiddenAreas:!0,suppressMouseDown:!0}):z.push({afterLineNumber:le.modifiedRange.endLineNumberExclusive-1,domNode:b(),heightInPx:-ue,showInHiddenAreas:!0,suppressMouseDown:!0})}return{orig:V,mod:z}});let C=!1;this._register(this._editors.original.onDidScrollChange(w=>{w.scrollLeftChanged&&!C&&(C=!0,this._editors.modified.setScrollLeft(w.scrollLeft),C=!1)})),this._register(this._editors.modified.onDidScrollChange(w=>{w.scrollLeftChanged&&!C&&(C=!0,this._editors.original.setScrollLeft(w.scrollLeft),C=!1)})),this._originalScrollTop=zi(this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=zi(this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._register(Rn(w=>{const x=this._originalScrollTop.read(w)-(this._originalScrollOffsetAnimated.get()-this._modifiedScrollOffsetAnimated.read(w))-(this._originalTopPadding.get()-this._modifiedTopPadding.read(w));x!==this._editors.modified.getScrollTop()&&this._editors.modified.setScrollTop(x,1)})),this._register(Rn(w=>{const x=this._modifiedScrollTop.read(w)-(this._modifiedScrollOffsetAnimated.get()-this._originalScrollOffsetAnimated.read(w))-(this._modifiedTopPadding.get()-this._originalTopPadding.read(w));x!==this._editors.original.getScrollTop()&&this._editors.original.setScrollTop(x,1)})),this._register(Rn(w=>{var x;const L=(x=this._diffModel.read(w))===null||x===void 0?void 0:x.movedTextToCompare.read(w);let I=0;if(L){const D=this._editors.original.getTopForLineNumber(L.lineRangeMapping.original.startLineNumber,!0)-this._originalTopPadding.get();I=this._editors.modified.getTopForLineNumber(L.lineRangeMapping.modified.startLineNumber,!0)-this._modifiedTopPadding.get()-D}I>0?(this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(I,void 0)):I<0?(this._modifiedTopPadding.set(-I,void 0),this._originalTopPadding.set(0,void 0)):setTimeout(()=>{this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(0,void 0)},400),this._editors.modified.hasTextFocus()?this._originalScrollOffset.set(this._modifiedScrollOffset.get()-I,void 0,!0):this._modifiedScrollOffset.set(this._originalScrollOffset.get()+I,void 0,!0)}))}};ZU=j_t([QSe(8,gp),QSe(9,fu)],ZU);function $Se(n,e,t,i,r,o){const s=new Ag(qSe(n,i)),a=new Ag(qSe(e,r)),l=n.getOption(67),u=e.getOption(67),c=[];let d=0,h=0;function m(f,g){for(;;){let b=s.peek(),y=a.peek();if(b&&b.lineNumber>=f&&(b=void 0),y&&y.lineNumber>=g&&(y=void 0),!b&&!y)break;const C=b?b.lineNumber-d:Number.MAX_VALUE,w=y?y.lineNumber-h:Number.MAX_VALUE;Cw?(a.dequeue(),b={lineNumber:y.lineNumber-h+d,heightInPx:0}):(s.dequeue(),a.dequeue()),c.push({originalRange:dn.ofLength(b.lineNumber,1),modifiedRange:dn.ofLength(y.lineNumber,1),originalHeightInPx:l+b.heightInPx,modifiedHeightInPx:u+y.heightInPx,diff:void 0})}}for(const f of t){let w=function(x,L){var I,D,N,T;if(xV.lineNumberV+z.heightInPx,0))!==null&&D!==void 0?D:0,Z=(T=(N=a.takeWhile(V=>V.lineNumberV+z.heightInPx,0))!==null&&T!==void 0?T:0;c.push({originalRange:R,modifiedRange:E,originalHeightInPx:R.length*l+W,modifiedHeightInPx:E.length*u+Z,diff:f.lineRangeMapping}),C=x,y=L};const g=f.lineRangeMapping;m(g.original.startLineNumber,g.modified.startLineNumber);let b=!0,y=g.modified.startLineNumber,C=g.original.startLineNumber;if(o)for(const x of g.innerChanges||[]){x.originalRange.startColumn>1&&x.modifiedRange.startColumn>1&&w(x.originalRange.startLineNumber,x.modifiedRange.startLineNumber);const L=n.getModel(),I=x.originalRange.endLineNumber<=L.getLineCount()?L.getLineMaxColumn(x.originalRange.endLineNumber):Number.MAX_SAFE_INTEGER;x.originalRange.endColumn1&&i.push({lineNumber:l,heightInPx:s*(u-1)})}for(const l of n.getWhitespaces()){if(e.has(l.id))continue;const u=l.afterLineNumber===0?0:o.convertViewPositionToModelPosition(new ve(l.afterLineNumber,1)).lineNumber;t.push({lineNumber:u,heightInPx:l.height})}return Yxt(t,i,l=>l.lineNumber,(l,u)=>({lineNumber:l.lineNumber,heightInPx:l.heightInPx+u.heightInPx}))}var Q_t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},$_t=function(n,e){return function(t,i){e(t,i,n)}},WU;let YD=WU=class extends Fe{static setBreadcrumbsSourceFactory(e){this._breadcrumbsSourceFactory.set(e,void 0)}get isUpdatingHiddenAreas(){return this._isUpdatingHiddenAreas}constructor(e,t,i,r){super(),this._editors=e,this._diffModel=t,this._options=i,this._instantiationService=r,this._modifiedOutlineSource=lp(this,l=>{const u=this._editors.modifiedModel.read(l),c=WU._breadcrumbsSourceFactory.read(l);return!u||!c?void 0:c(u,this._instantiationService)}),this._isUpdatingHiddenAreas=!1,this._register(this._editors.original.onDidChangeCursorPosition(l=>{if(l.reason===1)return;const u=this._diffModel.get();Bi(c=>{for(const d of this._editors.original.getSelections()||[])u==null||u.ensureOriginalLineIsVisible(d.getStartPosition().lineNumber,0,c),u==null||u.ensureOriginalLineIsVisible(d.getEndPosition().lineNumber,0,c)})})),this._register(this._editors.modified.onDidChangeCursorPosition(l=>{if(l.reason===1)return;const u=this._diffModel.get();Bi(c=>{for(const d of this._editors.modified.getSelections()||[])u==null||u.ensureModifiedLineIsVisible(d.getStartPosition().lineNumber,0,c),u==null||u.ensureModifiedLineIsVisible(d.getEndPosition().lineNumber,0,c)})}));const o=this._diffModel.map((l,u)=>{var c,d;const h=(c=l==null?void 0:l.unchangedRegions.read(u))!==null&&c!==void 0?c:[];return h.length===1&&h[0].modifiedLineNumber===1&&h[0].lineCount===((d=this._editors.modifiedModel.read(u))===null||d===void 0?void 0:d.getLineCount())?[]:h});this.viewZones=_2(this,(l,u)=>{const c=this._modifiedOutlineSource.read(l);if(!c)return{origViewZones:[],modViewZones:[]};const d=[],h=[],m=this._options.renderSideBySide.read(l),f=o.read(l);for(const g of f)if(!g.shouldHideControls(l)){{const b=hn(this,C=>g.getHiddenOriginalRange(C).startLineNumber-1),y=new CW(b,24);d.push(y),u.add(new ewe(this._editors.original,y,g,g.originalUnchangedRange,!m,c,C=>this._diffModel.get().ensureModifiedLineIsVisible(C,2,void 0),this._options))}{const b=hn(this,C=>g.getHiddenModifiedRange(C).startLineNumber-1),y=new CW(b,24);h.push(y),u.add(new ewe(this._editors.modified,y,g,g.modifiedUnchangedRange,!1,c,C=>this._diffModel.get().ensureModifiedLineIsVisible(C,2,void 0),this._options))}}return{origViewZones:d,modViewZones:h}});const s={description:"unchanged lines",className:"diff-unchanged-lines",isWholeLine:!0},a={description:"Fold Unchanged",glyphMarginHoverMessage:new ya(void 0,{isTrusted:!0,supportThemeIcons:!0}).appendMarkdown(_("foldUnchanged","Fold Unchanged Region")),glyphMarginClassName:"fold-unchanged "+sn.asClassName(ut.fold),zIndex:10001};this._register(vW(this._editors.original,hn(this,l=>{const u=o.read(l),c=u.map(d=>({range:d.originalUnchangedRange.toInclusiveRange(),options:s}));for(const d of u)d.shouldHideControls(l)&&c.push({range:J.fromPositions(new ve(d.originalLineNumber,1)),options:a});return c}))),this._register(vW(this._editors.modified,hn(this,l=>{const u=o.read(l),c=u.map(d=>({range:d.modifiedUnchangedRange.toInclusiveRange(),options:s}));for(const d of u)d.shouldHideControls(l)&&c.push({range:dn.ofLength(d.modifiedLineNumber,1).toInclusiveRange(),options:a});return c}))),this._register(Rn(l=>{const u=o.read(l);this._isUpdatingHiddenAreas=!0;try{this._editors.original.setHiddenAreas(u.map(c=>c.getHiddenOriginalRange(l).toInclusiveRange()).filter(Wm)),this._editors.modified.setHiddenAreas(u.map(c=>c.getHiddenModifiedRange(l).toInclusiveRange()).filter(Wm))}finally{this._isUpdatingHiddenAreas=!1}})),this._register(this._editors.modified.onMouseUp(l=>{var u;if(!l.event.rightButton&&l.target.position&&(!((u=l.target.element)===null||u===void 0)&&u.className.includes("fold-unchanged"))){const c=l.target.position.lineNumber,d=this._diffModel.get();if(!d)return;const h=d.unchangedRegions.get().find(m=>m.modifiedUnchangedRange.includes(c));if(!h)return;h.collapseAll(void 0),l.event.stopPropagation(),l.event.preventDefault()}})),this._register(this._editors.original.onMouseUp(l=>{var u;if(!l.event.rightButton&&l.target.position&&(!((u=l.target.element)===null||u===void 0)&&u.className.includes("fold-unchanged"))){const c=l.target.position.lineNumber,d=this._diffModel.get();if(!d)return;const h=d.unchangedRegions.get().find(m=>m.originalUnchangedRange.includes(c));if(!h)return;h.collapseAll(void 0),l.event.stopPropagation(),l.event.preventDefault()}}))}};YD._breadcrumbsSourceFactory=ei("breadcrumbsSourceFactory",void 0),YD=WU=Q_t([$_t(3,$t)],YD);class ewe extends bSe{constructor(e,t,i,r,o,s,a,l){const u=_i("div.diff-hidden-lines-widget");super(e,t,u.root),this._editor=e,this._unchangedRegion=i,this._unchangedRegionRange=r,this._hide=o,this._modifiedOutlineSource=s,this._revealModifiedHiddenLine=a,this._options=l,this._nodes=_i("div.diff-hidden-lines",[_i("div.top@top",{title:_("diff.hiddenLines.top","Click or drag to show more above")}),_i("div.center@content",{style:{display:"flex"}},[_i("div@first",{style:{display:"flex",justifyContent:"center",alignItems:"center",flexShrink:"0"}},[Ct("a",{title:_("showUnchangedRegion","Show Unchanged Region"),role:"button",onclick:()=>{this._unchangedRegion.showAll(void 0)}},...S0("$(unfold)"))]),_i("div@others",{style:{display:"flex",justifyContent:"center",alignItems:"center"}})]),_i("div.bottom@bottom",{title:_("diff.bottom","Click or drag to show more below"),role:"button"})]),u.root.appendChild(this._nodes.root);const c=zi(this._editor.onDidLayoutChange,()=>this._editor.getLayoutInfo());this._hide?Qs(this._nodes.first):this._register(dp(this._nodes.first,{width:c.map(h=>h.contentLeft)})),this._register(Rn(h=>{const m=this._unchangedRegion.visibleLineCountTop.read(h)+this._unchangedRegion.visibleLineCountBottom.read(h)===this._unchangedRegion.lineCount;this._nodes.bottom.classList.toggle("canMoveTop",!m),this._nodes.bottom.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(h)>0),this._nodes.top.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(h)>0),this._nodes.top.classList.toggle("canMoveBottom",!m);const f=this._unchangedRegion.isDragged.read(h),g=this._editor.getDomNode();g&&(g.classList.toggle("draggingUnchangedRegion",!!f),f==="top"?(g.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(h)>0),g.classList.toggle("canMoveBottom",!m)):f==="bottom"?(g.classList.toggle("canMoveTop",!m),g.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(h)>0)):(g.classList.toggle("canMoveTop",!1),g.classList.toggle("canMoveBottom",!1)))}));const d=this._editor;this._register(Ve(this._nodes.top,"mousedown",h=>{if(h.button!==0)return;this._nodes.top.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),h.preventDefault();const m=h.clientY;let f=!1;const g=this._unchangedRegion.visibleLineCountTop.get();this._unchangedRegion.isDragged.set("top",void 0);const b=Qt(this._nodes.top),y=Ve(b,"mousemove",w=>{const L=w.clientY-m;f=f||Math.abs(L)>2;const I=Math.round(L/d.getOption(67)),D=Math.max(0,Math.min(g+I,this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set(D,void 0)}),C=Ve(b,"mouseup",w=>{f||this._unchangedRegion.showMoreAbove(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0),this._nodes.top.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),this._unchangedRegion.isDragged.set(void 0,void 0),y.dispose(),C.dispose()})})),this._register(Ve(this._nodes.bottom,"mousedown",h=>{if(h.button!==0)return;this._nodes.bottom.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),h.preventDefault();const m=h.clientY;let f=!1;const g=this._unchangedRegion.visibleLineCountBottom.get();this._unchangedRegion.isDragged.set("bottom",void 0);const b=Qt(this._nodes.bottom),y=Ve(b,"mousemove",w=>{const L=w.clientY-m;f=f||Math.abs(L)>2;const I=Math.round(L/d.getOption(67)),D=Math.max(0,Math.min(g-I,this._unchangedRegion.getMaxVisibleLineCountBottom())),N=this._unchangedRegionRange.endLineNumberExclusive>d.getModel().getLineCount()?d.getContentHeight():d.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set(D,void 0);const T=this._unchangedRegionRange.endLineNumberExclusive>d.getModel().getLineCount()?d.getContentHeight():d.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);d.setScrollTop(d.getScrollTop()+(T-N))}),C=Ve(b,"mouseup",w=>{if(this._unchangedRegion.isDragged.set(void 0,void 0),!f){const x=d.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);const L=d.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);d.setScrollTop(d.getScrollTop()+(L-x))}this._nodes.bottom.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),y.dispose(),C.dispose()})})),this._register(Rn(h=>{const m=[];if(!this._hide){const f=i.getHiddenModifiedRange(h).length,g=_("hiddenLines","{0} hidden lines",f),b=Ct("span",{title:_("diff.hiddenLines.expandAll","Double click to unfold")},g);b.addEventListener("dblclick",w=>{w.button===0&&(w.preventDefault(),this._unchangedRegion.showAll(void 0))}),m.push(b);const y=this._unchangedRegion.getHiddenModifiedRange(h),C=this._modifiedOutlineSource.getBreadcrumbItems(y,h);if(C.length>0){m.push(Ct("span",void 0,"  |  "));for(let w=0;w{this._revealModifiedHiddenLine(x.startLineNumber)}}}}Qs(this._nodes.others,...m)}))}}var q_t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},eLt=function(n,e){return function(t,i){e(t,i,n)}},Vd;let Ev=Vd=class extends Fe{constructor(e,t,i,r,o,s,a){super(),this._editors=e,this._rootElement=t,this._diffModel=i,this._rootWidth=r,this._rootHeight=o,this._modifiedEditorLayoutInfo=s,this._themeService=a,this.width=Vd.ENTIRE_DIFF_OVERVIEW_WIDTH;const l=zi(this._themeService.onDidColorThemeChange,()=>this._themeService.getColorTheme()),u=hn(h=>{const m=l.read(h),f=m.getColor($bt)||(m.getColor(jbt)||p6).transparent(2),g=m.getColor(qbt)||(m.getColor(Qbt)||b6).transparent(2);return{insertColor:f,removeColor:g}}),c=wi(document.createElement("div"));c.setClassName("diffViewport"),c.setPosition("absolute");const d=_i("div.diffOverview",{style:{position:"absolute",top:"0px",width:Vd.ENTIRE_DIFF_OVERVIEW_WIDTH+"px"}}).root;this._register(BD(d,c.domNode)),this._register(Gr(d,ot.POINTER_DOWN,h=>{this._editors.modified.delegateVerticalScrollbarPointerDown(h)})),this._register(Ve(d,ot.MOUSE_WHEEL,h=>{this._editors.modified.delegateScrollFromMouseWheelEvent(h)},{passive:!1})),this._register(BD(this._rootElement,d)),this._register(Hc((h,m)=>{const f=this._diffModel.read(h),g=this._editors.original.createOverviewRuler("original diffOverviewRuler");g&&(m.add(g),m.add(BD(d,g.getDomNode())));const b=this._editors.modified.createOverviewRuler("modified diffOverviewRuler");if(b&&(m.add(b),m.add(BD(d,b.getDomNode()))),!g||!b)return;const y=ba("viewZoneChanged",this._editors.original.onDidChangeViewZones),C=ba("viewZoneChanged",this._editors.modified.onDidChangeViewZones),w=ba("hiddenRangesChanged",this._editors.original.onDidChangeHiddenAreas),x=ba("hiddenRangesChanged",this._editors.modified.onDidChangeHiddenAreas);m.add(Rn(L=>{var I;y.read(L),C.read(L),w.read(L),x.read(L);const D=u.read(L),N=(I=f==null?void 0:f.diff.read(L))===null||I===void 0?void 0:I.mappings;function T(W,Z,V){const z=V._getViewModel();return z?W.filter(O=>O.length>0).map(O=>{const B=z.coordinatesConverter.convertModelPositionToViewPosition(new ve(O.startLineNumber,1)),P=z.coordinatesConverter.convertModelPositionToViewPosition(new ve(O.endLineNumberExclusive,1)),H=P.lineNumber-B.lineNumber;return new gve(B.lineNumber,P.lineNumber,H,Z.toString())}):[]}const R=T((N||[]).map(W=>W.lineRangeMapping.original),D.removeColor,this._editors.original),E=T((N||[]).map(W=>W.lineRangeMapping.modified),D.insertColor,this._editors.modified);g==null||g.setZones(R),b==null||b.setZones(E)})),m.add(Rn(L=>{const I=this._rootHeight.read(L),D=this._rootWidth.read(L),N=this._modifiedEditorLayoutInfo.read(L);if(N){const T=Vd.ENTIRE_DIFF_OVERVIEW_WIDTH-2*Vd.ONE_OVERVIEW_WIDTH;g.setLayout({top:0,height:I,right:T+Vd.ONE_OVERVIEW_WIDTH,width:Vd.ONE_OVERVIEW_WIDTH}),b.setLayout({top:0,height:I,right:0,width:Vd.ONE_OVERVIEW_WIDTH});const R=this._editors.modifiedScrollTop.read(L),E=this._editors.modifiedScrollHeight.read(L),W=this._editors.modified.getOption(103),Z=new r2(W.verticalHasArrows?W.arrowSize:0,W.verticalScrollbarSize,0,N.height,E,R);c.setTop(Z.getSliderPosition()),c.setHeight(Z.getSliderSize())}else c.setTop(0),c.setHeight(0);d.style.height=I+"px",d.style.left=D-Vd.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",c.setWidth(Vd.ENTIRE_DIFF_OVERVIEW_WIDTH)}))}))}};Ev.ONE_OVERVIEW_WIDTH=15,Ev.ENTIRE_DIFF_OVERVIEW_WIDTH=Vd.ONE_OVERVIEW_WIDTH*2,Ev=Vd=q_t([eLt(6,jo)],Ev);const AU=[];class tLt extends Fe{constructor(e,t,i,r){super(),this._editors=e,this._diffModel=t,this._options=i,this._widget=r,this._selectedDiffs=hn(this,o=>{const s=this._diffModel.read(o),a=s==null?void 0:s.diff.read(o);if(!a)return AU;const l=this._editors.modifiedSelections.read(o);if(l.every(h=>h.isEmpty()))return AU;const u=new Oc(l.map(h=>dn.fromRangeInclusive(h))),d=a.mappings.filter(h=>h.lineRangeMapping.innerChanges&&u.intersects(h.lineRangeMapping.modified)).map(h=>({mapping:h,rangeMappings:h.lineRangeMapping.innerChanges.filter(m=>l.some(f=>J.areIntersecting(m.modifiedRange,f)))}));return d.length===0||d.every(h=>h.rangeMappings.length===0)?AU:d}),this._register(Hc((o,s)=>{if(!this._options.shouldRenderOldRevertArrows.read(o))return;const a=this._diffModel.read(o),l=a==null?void 0:a.diff.read(o);if(!a||!l||a.movedTextToCompare.read(o))return;const u=[],c=this._selectedDiffs.read(o),d=new Set(c.map(h=>h.mapping));if(c.length>0){const h=this._editors.modifiedSelections.read(o),m=s.add(new UD(h[h.length-1].positionLineNumber,this._widget,c.flatMap(f=>f.rangeMappings),!0));this._editors.modified.addGlyphMarginWidget(m),u.push(m)}for(const h of l.mappings)if(!d.has(h)&&!h.lineRangeMapping.modified.isEmpty&&h.lineRangeMapping.innerChanges){const m=s.add(new UD(h.lineRangeMapping.modified.startLineNumber,this._widget,h.lineRangeMapping,!1));this._editors.modified.addGlyphMarginWidget(m),u.push(m)}s.add(jt(()=>{for(const h of u)this._editors.modified.removeGlyphMarginWidget(h)}))}))}}class UD extends Fe{getId(){return this._id}constructor(e,t,i,r){super(),this._lineNumber=e,this._widget=t,this._diffs=i,this._revertSelection=r,this._id=`revertButton${UD.counter++}`,this._domNode=_i("div.revertButton",{title:this._revertSelection?_("revertSelectedChanges","Revert Selected Changes"):_("revertChange","Revert Change")},[AD(ut.arrowRight)]).root,this._register(Ve(this._domNode,ot.MOUSE_DOWN,o=>{o.button!==2&&(o.stopPropagation(),o.preventDefault())})),this._register(Ve(this._domNode,ot.MOUSE_UP,o=>{o.stopPropagation(),o.preventDefault()})),this._register(Ve(this._domNode,ot.CLICK,o=>{this._diffs instanceof ll?this._widget.revert(this._diffs):this._widget.revertRangeMappings(this._diffs),o.stopPropagation(),o.preventDefault()}))}getDomNode(){return this._domNode}getPosition(){return{lane:lf.Right,range:{startColumn:1,startLineNumber:this._lineNumber,endColumn:1,endLineNumber:this._lineNumber},zIndex:10001}}}UD.counter=0;const twe=Un("progressService");class bp{constructor(e){this.callback=e}report(e){this._value=e,this.callback(this._value)}}bp.None=Object.freeze({report(){}});const N0=Un("editorProgressService");var nLt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},nwe=function(n,e){return function(t,i){e(t,i,n)}};let VU=class extends Fe{get onDidContentSizeChange(){return this._onDidContentSizeChange.event}constructor(e,t,i,r,o,s,a){super(),this.originalEditorElement=e,this.modifiedEditorElement=t,this._options=i,this._argCodeEditorWidgetOptions=r,this._createInnerEditor=o,this._instantiationService=s,this._keybindingService=a,this.original=this._register(this._createLeftHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.originalEditor||{})),this.modified=this._register(this._createRightHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.modifiedEditor||{})),this._onDidContentSizeChange=this._register(new be),this.modifiedScrollTop=zi(this.modified.onDidScrollChange,()=>this.modified.getScrollTop()),this.modifiedScrollHeight=zi(this.modified.onDidScrollChange,()=>this.modified.getScrollHeight()),this.modifiedModel=zi(this.modified.onDidChangeModel,()=>this.modified.getModel()),this.modifiedSelections=zi(this.modified.onDidChangeCursorSelection,()=>{var l;return(l=this.modified.getSelections())!==null&&l!==void 0?l:[]}),this.modifiedCursor=x2({owner:this,equalityComparer:ve.equals},l=>{var u,c;return(c=(u=this.modifiedSelections.read(l)[0])===null||u===void 0?void 0:u.getPosition())!==null&&c!==void 0?c:new ve(1,1)}),this.originalCursor=zi(this.original.onDidChangeCursorPosition,()=>{var l;return(l=this.original.getPosition())!==null&&l!==void 0?l:new ve(1,1)}),this._argCodeEditorWidgetOptions=null,this._register(ED({createEmptyChangeSummary:()=>({}),handleChange:(l,u)=>(l.didChange(i.editorOptions)&&Object.assign(u,l.change.changedOptions),!0)},(l,u)=>{i.editorOptions.read(l),this._options.renderSideBySide.read(l),this.modified.updateOptions(this._adjustOptionsForRightHandSide(l,u)),this.original.updateOptions(this._adjustOptionsForLeftHandSide(l,u))}))}_createLeftHandSideEditor(e,t){const i=this._adjustOptionsForLeftHandSide(void 0,e),r=this._constructInnerEditor(this._instantiationService,this.originalEditorElement,i,t);return r.setContextValue("isInDiffLeftEditor",!0),r}_createRightHandSideEditor(e,t){const i=this._adjustOptionsForRightHandSide(void 0,e),r=this._constructInnerEditor(this._instantiationService,this.modifiedEditorElement,i,t);return r.setContextValue("isInDiffRightEditor",!0),r}_constructInnerEditor(e,t,i,r){const o=this._createInnerEditor(e,t,i,r);return this._register(o.onDidContentSizeChange(s=>{const a=this.original.getContentWidth()+this.modified.getContentWidth()+Ev.ENTIRE_DIFF_OVERVIEW_WIDTH,l=Math.max(this.modified.getContentHeight(),this.original.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:l,contentWidth:a,contentHeightChanged:s.contentHeightChanged,contentWidthChanged:s.contentWidthChanged})})),o}_adjustOptionsForLeftHandSide(e,t){const i=this._adjustOptionsForSubEditor(t);return this._options.renderSideBySide.get()?(i.unicodeHighlight=this._options.editorOptions.get().unicodeHighlight||{},i.wordWrapOverride1=this._options.diffWordWrap.get()):(i.wordWrapOverride1="off",i.wordWrapOverride2="off",i.stickyScroll={enabled:!1},i.unicodeHighlight={nonBasicASCII:!1,ambiguousCharacters:!1,invisibleCharacters:!1}),i.glyphMargin=this._options.renderSideBySide.get(),t.originalAriaLabel&&(i.ariaLabel=t.originalAriaLabel),i.ariaLabel=this._updateAriaLabel(i.ariaLabel),i.readOnly=!this._options.originalEditable.get(),i.dropIntoEditor={enabled:!i.readOnly},i.extraEditorClassName="original-in-monaco-diff-editor",i}_adjustOptionsForRightHandSide(e,t){const i=this._adjustOptionsForSubEditor(t);return t.modifiedAriaLabel&&(i.ariaLabel=t.modifiedAriaLabel),i.ariaLabel=this._updateAriaLabel(i.ariaLabel),i.wordWrapOverride1=this._options.diffWordWrap.get(),i.revealHorizontalRightPadding=Wh.revealHorizontalRightPadding.defaultValue+Ev.ENTIRE_DIFF_OVERVIEW_WIDTH,i.scrollbar.verticalHasArrows=!1,i.extraEditorClassName="modified-in-monaco-diff-editor",i}_adjustOptionsForSubEditor(e){const t={...e,dimension:{height:0,width:0}};return t.inDiffEditor=!0,t.automaticLayout=!1,t.scrollbar={...t.scrollbar||{}},t.folding=!1,t.codeLens=this._options.diffCodeLens.get(),t.fixedOverflowWidgets=!0,t.minimap={...t.minimap||{}},t.minimap.enabled=!1,this._options.hideUnchangedRegions.get()?t.stickyScroll={enabled:!1}:t.stickyScroll=this._options.editorOptions.get().stickyScroll,t}_updateAriaLabel(e){var t;e||(e="");const i=_("diff-aria-navigation-tip"," use {0} to open the accessibility help.",(t=this._keybindingService.lookupKeybinding("editor.action.accessibilityHelp"))===null||t===void 0?void 0:t.getAriaLabel());return this._options.accessibilityVerbose.get()?e+i:e?e.replaceAll(i,""):""}};VU=nLt([nwe(5,$t),nwe(6,Oi)],VU);class DW extends Fe{constructor(){super(...arguments),this._id=++DW.idCounter,this._onDidDispose=this._register(new be),this.onDidDispose=this._onDidDispose.event}getId(){return this.getEditorType()+":v2:"+this._id}getVisibleColumnFromPosition(e){return this._targetEditor.getVisibleColumnFromPosition(e)}getPosition(){return this._targetEditor.getPosition()}setPosition(e,t="api"){this._targetEditor.setPosition(e,t)}revealLine(e,t=0){this._targetEditor.revealLine(e,t)}revealLineInCenter(e,t=0){this._targetEditor.revealLineInCenter(e,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealLineInCenterIfOutsideViewport(e,t)}revealLineNearTop(e,t=0){this._targetEditor.revealLineNearTop(e,t)}revealPosition(e,t=0){this._targetEditor.revealPosition(e,t)}revealPositionInCenter(e,t=0){this._targetEditor.revealPositionInCenter(e,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealPositionInCenterIfOutsideViewport(e,t)}revealPositionNearTop(e,t=0){this._targetEditor.revealPositionNearTop(e,t)}getSelection(){return this._targetEditor.getSelection()}getSelections(){return this._targetEditor.getSelections()}setSelection(e,t="api"){this._targetEditor.setSelection(e,t)}setSelections(e,t="api"){this._targetEditor.setSelections(e,t)}revealLines(e,t,i=0){this._targetEditor.revealLines(e,t,i)}revealLinesInCenter(e,t,i=0){this._targetEditor.revealLinesInCenter(e,t,i)}revealLinesInCenterIfOutsideViewport(e,t,i=0){this._targetEditor.revealLinesInCenterIfOutsideViewport(e,t,i)}revealLinesNearTop(e,t,i=0){this._targetEditor.revealLinesNearTop(e,t,i)}revealRange(e,t=0,i=!1,r=!0){this._targetEditor.revealRange(e,t,i,r)}revealRangeInCenter(e,t=0){this._targetEditor.revealRangeInCenter(e,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealRangeInCenterIfOutsideViewport(e,t)}revealRangeNearTop(e,t=0){this._targetEditor.revealRangeNearTop(e,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._targetEditor.revealRangeNearTopIfOutsideViewport(e,t)}revealRangeAtTop(e,t=0){this._targetEditor.revealRangeAtTop(e,t)}getSupportedActions(){return this._targetEditor.getSupportedActions()}focus(){this._targetEditor.focus()}trigger(e,t,i){this._targetEditor.trigger(e,t,i)}createDecorationsCollection(e){return this._targetEditor.createDecorationsCollection(e)}changeDecorations(e){return this._targetEditor.changeDecorations(e)}}DW.idCounter=0;const Sa={enableSplitViewResizing:!0,splitViewDefaultRatio:.5,renderSideBySide:!0,renderMarginRevertIcon:!0,renderGutterMenu:!0,maxComputationTime:5e3,maxFileSize:50,ignoreTrimWhitespace:!0,renderIndicators:!0,originalEditable:!1,diffCodeLens:!1,renderOverviewRuler:!0,diffWordWrap:"inherit",diffAlgorithm:"advanced",accessibilityVerbose:!1,experimental:{showMoves:!1,showEmptyDecorations:!0},hideUnchangedRegions:{enabled:!1,contextLineCount:3,minimumLineCount:3,revealLineCount:20},isInEmbeddedEditor:!1,onlyShowAccessibleDiffViewer:!1,renderSideBySideInlineBreakpoint:900,useInlineViewWhenSpaceIsLimited:!0};var iLt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},rLt=function(n,e){return function(t,i){e(t,i,n)}};let GU=class{get editorOptions(){return this._options}constructor(e,t){this._accessibilityService=t,this._diffEditorWidth=ei(this,0),this._screenReaderMode=zi(this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this.couldShowInlineViewBecauseOfSize=hn(this,r=>this._options.read(r).renderSideBySide&&this._diffEditorWidth.read(r)<=this._options.read(r).renderSideBySideInlineBreakpoint),this.renderOverviewRuler=hn(this,r=>this._options.read(r).renderOverviewRuler),this.renderSideBySide=hn(this,r=>this._options.read(r).renderSideBySide&&!(this._options.read(r).useInlineViewWhenSpaceIsLimited&&this.couldShowInlineViewBecauseOfSize.read(r)&&!this._screenReaderMode.read(r))),this.readOnly=hn(this,r=>this._options.read(r).readOnly),this.shouldRenderOldRevertArrows=hn(this,r=>!(!this._options.read(r).renderMarginRevertIcon||!this.renderSideBySide.read(r)||this.readOnly.read(r)||this.shouldRenderGutterMenu.read(r))),this.shouldRenderGutterMenu=hn(this,r=>this._options.read(r).renderGutterMenu),this.renderIndicators=hn(this,r=>this._options.read(r).renderIndicators),this.enableSplitViewResizing=hn(this,r=>this._options.read(r).enableSplitViewResizing),this.splitViewDefaultRatio=hn(this,r=>this._options.read(r).splitViewDefaultRatio),this.ignoreTrimWhitespace=hn(this,r=>this._options.read(r).ignoreTrimWhitespace),this.maxComputationTimeMs=hn(this,r=>this._options.read(r).maxComputationTime),this.showMoves=hn(this,r=>this._options.read(r).experimental.showMoves&&this.renderSideBySide.read(r)),this.isInEmbeddedEditor=hn(this,r=>this._options.read(r).isInEmbeddedEditor),this.diffWordWrap=hn(this,r=>this._options.read(r).diffWordWrap),this.originalEditable=hn(this,r=>this._options.read(r).originalEditable),this.diffCodeLens=hn(this,r=>this._options.read(r).diffCodeLens),this.accessibilityVerbose=hn(this,r=>this._options.read(r).accessibilityVerbose),this.diffAlgorithm=hn(this,r=>this._options.read(r).diffAlgorithm),this.showEmptyDecorations=hn(this,r=>this._options.read(r).experimental.showEmptyDecorations),this.onlyShowAccessibleDiffViewer=hn(this,r=>this._options.read(r).onlyShowAccessibleDiffViewer),this.hideUnchangedRegions=hn(this,r=>this._options.read(r).hideUnchangedRegions.enabled),this.hideUnchangedRegionsRevealLineCount=hn(this,r=>this._options.read(r).hideUnchangedRegions.revealLineCount),this.hideUnchangedRegionsContextLineCount=hn(this,r=>this._options.read(r).hideUnchangedRegions.contextLineCount),this.hideUnchangedRegionsMinimumLineCount=hn(this,r=>this._options.read(r).hideUnchangedRegions.minimumLineCount);const i={...e,...iwe(e,Sa)};this._options=ei(this,i)}updateOptions(e){const t=iwe(e,this._options.get()),i={...this._options.get(),...e,...t};this._options.set(i,void 0,{changedOptions:e})}setWidth(e){this._diffEditorWidth.set(e,void 0)}};GU=iLt([rLt(1,Wc)],GU);function iwe(n,e){var t,i,r,o,s,a,l,u;return{enableSplitViewResizing:Xt(n.enableSplitViewResizing,e.enableSplitViewResizing),splitViewDefaultRatio:Rpt(n.splitViewDefaultRatio,.5,.1,.9),renderSideBySide:Xt(n.renderSideBySide,e.renderSideBySide),renderMarginRevertIcon:Xt(n.renderMarginRevertIcon,e.renderMarginRevertIcon),maxComputationTime:ov(n.maxComputationTime,e.maxComputationTime,0,1073741824),maxFileSize:ov(n.maxFileSize,e.maxFileSize,0,1073741824),ignoreTrimWhitespace:Xt(n.ignoreTrimWhitespace,e.ignoreTrimWhitespace),renderIndicators:Xt(n.renderIndicators,e.renderIndicators),originalEditable:Xt(n.originalEditable,e.originalEditable),diffCodeLens:Xt(n.diffCodeLens,e.diffCodeLens),renderOverviewRuler:Xt(n.renderOverviewRuler,e.renderOverviewRuler),diffWordWrap:Br(n.diffWordWrap,e.diffWordWrap,["off","on","inherit"]),diffAlgorithm:Br(n.diffAlgorithm,e.diffAlgorithm,["legacy","advanced"],{smart:"legacy",experimental:"advanced"}),accessibilityVerbose:Xt(n.accessibilityVerbose,e.accessibilityVerbose),experimental:{showMoves:Xt((t=n.experimental)===null||t===void 0?void 0:t.showMoves,e.experimental.showMoves),showEmptyDecorations:Xt((i=n.experimental)===null||i===void 0?void 0:i.showEmptyDecorations,e.experimental.showEmptyDecorations)},hideUnchangedRegions:{enabled:Xt((o=(r=n.hideUnchangedRegions)===null||r===void 0?void 0:r.enabled)!==null&&o!==void 0?o:(s=n.experimental)===null||s===void 0?void 0:s.collapseUnchangedRegions,e.hideUnchangedRegions.enabled),contextLineCount:ov((a=n.hideUnchangedRegions)===null||a===void 0?void 0:a.contextLineCount,e.hideUnchangedRegions.contextLineCount,0,1073741824),minimumLineCount:ov((l=n.hideUnchangedRegions)===null||l===void 0?void 0:l.minimumLineCount,e.hideUnchangedRegions.minimumLineCount,0,1073741824),revealLineCount:ov((u=n.hideUnchangedRegions)===null||u===void 0?void 0:u.revealLineCount,e.hideUnchangedRegions.revealLineCount,0,1073741824)},isInEmbeddedEditor:Xt(n.isInEmbeddedEditor,e.isInEmbeddedEditor),onlyShowAccessibleDiffViewer:Xt(n.onlyShowAccessibleDiffViewer,e.onlyShowAccessibleDiffViewer),renderSideBySideInlineBreakpoint:ov(n.renderSideBySideInlineBreakpoint,e.renderSideBySideInlineBreakpoint,0,1073741824),useInlineViewWhenSpaceIsLimited:Xt(n.useInlineViewWhenSpaceIsLimited,e.useInlineViewWhenSpaceIsLimited),renderGutterMenu:Xt(n.renderGutterMenu,e.renderGutterMenu)}}class oLt extends Fe{constructor(e,t,i){super(),this._editor=e,this._domNode=t,this.itemProvider=i,this.scrollTop=zi(this._editor.onDidScrollChange,s=>this._editor.getScrollTop()),this.isScrollTopZero=this.scrollTop.map(s=>s===0),this.modelAttached=zi(this._editor.onDidChangeModel,s=>this._editor.hasModel()),this.editorOnDidChangeViewZones=ba("onDidChangeViewZones",this._editor.onDidChangeViewZones),this.editorOnDidContentSizeChange=ba("onDidContentSizeChange",this._editor.onDidContentSizeChange),this.domNodeSizeChanged=sW("domNodeSizeChanged"),this.views=new Map,this._domNode.className="gutter monaco-editor";const r=this._domNode.appendChild(_i("div.scroll-decoration",{role:"presentation",ariaHidden:"true",style:{width:"100%"}}).root),o=new ResizeObserver(()=>{Bi(s=>{this.domNodeSizeChanged.trigger(s)})});o.observe(this._domNode),this._register(jt(()=>o.disconnect())),this._register(Rn(s=>{r.className=this.isScrollTopZero.read(s)?"":"scroll-decoration"})),this._register(Rn(s=>this.render(s)))}dispose(){super.dispose(),Qs(this._domNode)}render(e){if(!this.modelAttached.read(e))return;this.domNodeSizeChanged.read(e),this.editorOnDidChangeViewZones.read(e),this.editorOnDidContentSizeChange.read(e);const t=this.scrollTop.read(e),i=this._editor.getVisibleRanges(),r=new Set(this.views.keys()),o=Dn.ofStartAndLength(0,this._domNode.clientHeight);if(!o.isEmpty)for(const s of i){const a=new dn(s.startLineNumber,s.endLineNumber+1),l=this.itemProvider.getIntersectingGutterItems(a,e);Bi(u=>{for(const c of l){if(!c.range.intersect(a))continue;r.delete(c.id);let d=this.views.get(c.id);if(d)d.item.set(c,u);else{const g=document.createElement("div");this._domNode.appendChild(g);const b=ei("item",c),y=this.itemProvider.createView(b,g);d=new sLt(b,y,g),this.views.set(c.id,d)}const h=c.range.startLineNumber<=this._editor.getModel().getLineCount()?this._editor.getTopForLineNumber(c.range.startLineNumber,!0)-t:this._editor.getBottomForLineNumber(c.range.startLineNumber-1,!1)-t,f=(c.range.isEmpty?h:this._editor.getBottomForLineNumber(c.range.endLineNumberExclusive-1,!0)-t)-h;d.domNode.style.top=`${h}px`,d.domNode.style.height=`${f}px`,d.gutterItemView.layout(Dn.ofStartAndLength(h,f),o)}})}for(const s of r){const a=this.views.get(s);a.gutterItemView.dispose(),this._domNode.removeChild(a.domNode),this.views.delete(s)}}}class sLt{constructor(e,t,i){this.item=e,this.gutterItemView=t,this.domNode=i}}class rwe extends Ky{constructor(e){super(),this._getContext=e}runAction(e,t){const i=this._getContext();return super.runAction(e,i)}}class aLt{constructor(e){this.text=e,this.lineStartOffsetByLineIdx=[],this.lineStartOffsetByLineIdx.push(0);for(let t=0;tRY(e,(t,i)=>t.range.getEndPosition().isBeforeOrEqual(i.range.getStartPosition())))}apply(e){let t="",i=new ve(1,1);for(const o of this.edits){const s=o.range,a=s.getStartPosition(),l=s.getEndPosition(),u=owe(i,a);u.isEmpty()||(t+=e.getValueOfRange(u)),t+=o.text,i=l}const r=owe(i,e.endPositionExclusive);return r.isEmpty()||(t+=e.getValueOfRange(r)),t}applyToString(e){const t=new lLt(e);return this.apply(t)}getNewRanges(){const e=[];let t=0,i=0,r=0;for(const o of this.edits){const s=Zd.ofText(o.text),a=ve.lift({lineNumber:o.range.startLineNumber+i,column:o.range.startColumn+(o.range.startLineNumber===t?r:0)}),l=s.createRange(a);e.push(l),i=l.endLineNumber-o.range.endLineNumber,r=l.endColumn-o.range.endColumn,t=o.range.endLineNumber}return e}};class yp{constructor(e,t){this.range=e,this.text=t}}function owe(n,e){if(!n.isBeforeOrEqual(e))throw new rr("start must be before end");return new J(n.lineNumber,n.column,e.lineNumber,e.column)}class swe{get endPositionExclusive(){return this.length.addToPosition(new ve(1,1))}}class lLt extends swe{constructor(e){super(),this.value=e,this._t=new aLt(this.value)}getValueOfRange(e){return this._t.getOffsetRange(e).substring(this.value)}get length(){return this._t.textLength}}class uLt extends swe{constructor(e){super(),this._textModel=e}getValueOfRange(e){return this._textModel.getValueInRange(e)}get length(){const e=this._textModel.getLineCount(),t=this._textModel.getLineLength(e);return new Zd(e-1,t)}}class cLt extends Ky{constructor(e,t){super(),this._onDidChangeVisibility=this._register(new be),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this._element=je(e,Ct(".monaco-dropdown")),this._label=je(this._element,Ct(".dropdown-label"));let i=t.labelRenderer;i||(i=o=>(o.textContent=t.label||"",null));for(const o of[ot.CLICK,ot.MOUSE_DOWN,tr.Tap])this._register(Ve(this.element,o,s=>An.stop(s,!0)));for(const o of[ot.MOUSE_DOWN,tr.Tap])this._register(Ve(this._label,o,s=>{_Y(s)&&(s.detail>1||s.button!==0)||(this.visible?this.hide():this.show())}));this._register(Ve(this._label,ot.KEY_UP,o=>{const s=new or(o);(s.equals(3)||s.equals(10))&&(An.stop(o,!0),this.visible?this.hide():this.show())}));const r=i(this._label);r&&this._register(r),this._register(nr.addTarget(this._label))}get element(){return this._element}show(){this.visible||(this.visible=!0,this._onDidChangeVisibility.fire(!0))}hide(){this.visible&&(this.visible=!1,this._onDidChangeVisibility.fire(!1))}dispose(){super.dispose(),this.hide(),this.boxContainer&&(this.boxContainer.remove(),this.boxContainer=void 0),this.contents&&(this.contents.remove(),this.contents=void 0),this._label&&(this._label.remove(),this._label=void 0)}}class dLt extends cLt{constructor(e,t){super(e,t),this._options=t,this._actions=[],this.actions=t.actions||[]}set menuOptions(e){this._menuOptions=e}get menuOptions(){return this._menuOptions}get actions(){return this._options.actionProvider?this._options.actionProvider.getActions():this._actions}set actions(e){this._actions=e}show(){super.show(),this.element.classList.add("active"),this._options.contextMenuProvider.showContextMenu({getAnchor:()=>this.element,getActions:()=>this.actions,getActionsContext:()=>this.menuOptions?this.menuOptions.context:null,getActionViewItem:(e,t)=>this.menuOptions&&this.menuOptions.actionViewItemProvider?this.menuOptions.actionViewItemProvider(e,t):void 0,getKeyBinding:e=>this.menuOptions&&this.menuOptions.getKeyBinding?this.menuOptions.getKeyBinding(e):void 0,getMenuClassName:()=>this._options.menuClassName||"",onHide:()=>this.onHide(),actionRunner:this.menuOptions?this.menuOptions.actionRunner:void 0,anchorAlignment:this.menuOptions?this.menuOptions.anchorAlignment:0,domForShadowRoot:this._options.menuAsChild?this.element:void 0,skipTelemetry:this._options.skipTelemetry})}hide(){super.hide()}onHide(){this.hide(),this.element.classList.remove("active")}}class NW extends Uh{constructor(e,t,i,r=Object.create(null)){super(null,e,r),this.actionItem=null,this._onDidChangeVisibility=this._register(new be),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this.menuActionsOrProvider=t,this.contextMenuProvider=i,this.options=r,this.options.actionRunner&&(this.actionRunner=this.options.actionRunner)}render(e){this.actionItem=e;const t=o=>{var s;this.element=je(o,Ct("a.action-label"));let a=[];return typeof this.options.classNames=="string"?a=this.options.classNames.split(/\s+/g).filter(l=>!!l):this.options.classNames&&(a=this.options.classNames),a.find(l=>l==="icon")||a.push("codicon"),this.element.classList.add(...a),this.element.setAttribute("role","button"),this.element.setAttribute("aria-haspopup","true"),this.element.setAttribute("aria-expanded","false"),this._action.label&&this._register(Wd((s=this.options.hoverDelegate)!==null&&s!==void 0?s:Pl("mouse"),this.element,this._action.label)),this.element.ariaLabel=this._action.label||"",null},i=Array.isArray(this.menuActionsOrProvider),r={contextMenuProvider:this.contextMenuProvider,labelRenderer:t,menuAsChild:this.options.menuAsChild,actions:i?this.menuActionsOrProvider:void 0,actionProvider:i?void 0:this.menuActionsOrProvider,skipTelemetry:this.options.skipTelemetry};if(this.dropdownMenu=this._register(new dLt(e,r)),this._register(this.dropdownMenu.onDidChangeVisibility(o=>{var s;(s=this.element)===null||s===void 0||s.setAttribute("aria-expanded",`${o}`),this._onDidChangeVisibility.fire(o)})),this.dropdownMenu.menuOptions={actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,getKeyBinding:this.options.keybindingProvider,context:this._context},this.options.anchorAlignmentProvider){const o=this;this.dropdownMenu.menuOptions={...this.dropdownMenu.menuOptions,get anchorAlignment(){return o.options.anchorAlignmentProvider()}}}this.updateTooltip(),this.updateEnabled()}getTooltip(){let e=null;return this.action.tooltip?e=this.action.tooltip:this.action.label&&(e=this.action.label),e??void 0}setActionContext(e){super.setActionContext(e),this.dropdownMenu&&(this.dropdownMenu.menuOptions?this.dropdownMenu.menuOptions.context=e:this.dropdownMenu.menuOptions={context:e})}show(){var e;(e=this.dropdownMenu)===null||e===void 0||e.show()}updateEnabled(){var e,t;const i=!this.action.enabled;(e=this.actionItem)===null||e===void 0||e.classList.toggle("disabled",i),(t=this.element)===null||t===void 0||t.classList.toggle("disabled",i)}}class hLt extends Fe{constructor(e,t,i={orientation:0}){var r;super(),this.submenuActionViewItems=[],this.hasSecondaryActions=!1,this._onDidChangeDropdownVisibility=this._register(new $ht),this.onDidChangeDropdownVisibility=this._onDidChangeDropdownVisibility.event,this.disposables=this._register(new Je),i.hoverDelegate=(r=i.hoverDelegate)!==null&&r!==void 0?r:this._register(I2()),this.options=i,this.lookupKeybindings=typeof this.options.getKeyBinding=="function",this.toggleMenuAction=this._register(new KD(()=>{var o;return(o=this.toggleMenuActionViewItem)===null||o===void 0?void 0:o.show()},i.toggleMenuTitle)),this.element=document.createElement("div"),this.element.className="monaco-toolbar",e.appendChild(this.element),this.actionBar=this._register(new Uc(this.element,{orientation:i.orientation,ariaLabel:i.ariaLabel,actionRunner:i.actionRunner,allowContextMenu:i.allowContextMenu,highlightToggledItems:i.highlightToggledItems,hoverDelegate:i.hoverDelegate,actionViewItemProvider:(o,s)=>{var a;if(o.id===KD.ID)return this.toggleMenuActionViewItem=new NW(o,o.menuActions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:sn.asClassNameArray((a=i.moreIcon)!==null&&a!==void 0?a:ut.toolBarMore),anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,isMenu:!0,hoverDelegate:this.options.hoverDelegate}),this.toggleMenuActionViewItem.setActionContext(this.actionBar.context),this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility)),this.toggleMenuActionViewItem;if(i.actionViewItemProvider){const l=i.actionViewItemProvider(o,s);if(l)return l}if(o instanceof ww){const l=new NW(o,o.actions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:o.class,anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,hoverDelegate:this.options.hoverDelegate});return l.setActionContext(this.actionBar.context),this.submenuActionViewItems.push(l),this.disposables.add(this._onDidChangeDropdownVisibility.add(l.onDidChangeVisibility)),l}}}))}set actionRunner(e){this.actionBar.actionRunner=e}get actionRunner(){return this.actionBar.actionRunner}getElement(){return this.element}getItemAction(e){return this.actionBar.getAction(e)}setActions(e,t){this.clear();const i=e?e.slice(0):[];this.hasSecondaryActions=!!(t&&t.length>0),this.hasSecondaryActions&&t&&(this.toggleMenuAction.menuActions=t.slice(0),i.push(this.toggleMenuAction)),i.forEach(r=>{this.actionBar.push(r,{icon:!0,label:!1,keybinding:this.getKeybindingLabel(r)})})}getKeybindingLabel(e){var t,i,r;const o=this.lookupKeybindings?(i=(t=this.options).getKeyBinding)===null||i===void 0?void 0:i.call(t,e):void 0;return(r=o==null?void 0:o.getLabel())!==null&&r!==void 0?r:void 0}clear(){this.submenuActionViewItems=[],this.disposables.clear(),this.actionBar.clear()}dispose(){this.clear(),this.disposables.dispose(),super.dispose()}}class KD extends uu{constructor(e,t){t=t||_("moreActions","More Actions..."),super(KD.ID,t,void 0,!0),this._menuActions=[],this.toggleDropdownMenu=e}async run(){this.toggleDropdownMenu()}get menuActions(){return this._menuActions}set menuActions(e){this._menuActions=e}}KD.ID="toolbar.toggle.more";function mLt(n,e){const t=[],i=[];for(const r of n)e.has(r)||t.push(r);for(const r of e)n.has(r)||i.push(r);return{removed:t,added:i}}function fLt(n,e){const t=new Set;for(const i of e)n.has(i)&&t.add(i);return t}class MW{constructor(e,t,i=t){this.modifierLabels=[null],this.modifierLabels[2]=e,this.modifierLabels[1]=t,this.modifierLabels[3]=i}toLabel(e,t,i){if(t.length===0)return null;const r=[];for(let o=0,s=t.length;othis.onDidChangeItemsExternal(e)))}onDidChangeItemsExternal(e){var t,i;this._onDidChangeStorage.pause();try{(t=e.changed)===null||t===void 0||t.forEach((r,o)=>this.acceptExternal(o,r)),(i=e.deleted)===null||i===void 0||i.forEach(r=>this.acceptExternal(r,void 0))}finally{this._onDidChangeStorage.resume()}}acceptExternal(e,t){if(this.state===R2.Closed)return;let i=!1;Zu(t)?i=this.cache.delete(e):this.cache.get(e)!==t&&(this.cache.set(e,t),i=!0),i&&this._onDidChangeStorage.fire({key:e,external:!0})}get(e,t){const i=this.cache.get(e);return Zu(i)?t:i}getBoolean(e,t){const i=this.get(e);return Zu(i)?t:i==="true"}getNumber(e,t){const i=this.get(e);return Zu(i)?t:parseInt(i,10)}async set(e,t,i=!1){if(this.state===R2.Closed)return;if(Zu(t))return this.delete(e,i);const r=Ua(t)||Array.isArray(t)?j2t(t):String(t);if(this.cache.get(e)!==r)return this.cache.set(e,r),this.pendingInserts.set(e,r),this.pendingDeletes.delete(e),this._onDidChangeStorage.fire({key:e,external:i}),this.doFlush()}async delete(e,t=!1){if(!(this.state===R2.Closed||!this.cache.delete(e)))return this.pendingDeletes.has(e)||this.pendingDeletes.add(e),this.pendingInserts.delete(e),this._onDidChangeStorage.fire({key:e,external:t}),this.doFlush()}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}async flushPending(){if(!this.hasPending)return;const e={insert:this.pendingInserts,delete:this.pendingDeletes};return this.pendingDeletes=new Set,this.pendingInserts=new Map,this.database.updateItems(e).finally(()=>{var t;if(!this.hasPending)for(;this.whenFlushedCallbacks.length;)(t=this.whenFlushedCallbacks.pop())===null||t===void 0||t()})}async doFlush(e){return this.options.hint===E2.STORAGE_IN_MEMORY?this.flushPending():this.flushDelayer.trigger(()=>this.flushPending(),e)}}Z2.DEFAULT_FLUSH_DELAY=100;class OU{constructor(){this.onDidChangeItemsExternal=lt.None,this.items=new Map}async updateItems(e){var t,i;(t=e.insert)===null||t===void 0||t.forEach((r,o)=>this.items.set(o,r)),(i=e.delete)===null||i===void 0||i.forEach(r=>this.items.delete(r))}}const kW="__$__targetStorageMarker",Sf=Un("storageService");var TW;(function(n){n[n.NONE=0]="NONE",n[n.SHUTDOWN=1]="SHUTDOWN"})(TW||(TW={}));function CLt(n){const e=n.get(kW);if(e)try{return JSON.parse(e)}catch{}return Object.create(null)}class EW extends Fe{constructor(e={flushInterval:EW.DEFAULT_FLUSH_INTERVAL}){super(),this.options=e,this._onDidChangeValue=this._register(new Oy),this._onDidChangeTarget=this._register(new Oy),this._onWillSaveState=this._register(new be),this.onWillSaveState=this._onWillSaveState.event,this._workspaceKeyTargets=void 0,this._profileKeyTargets=void 0,this._applicationKeyTargets=void 0}onDidChangeValue(e,t,i){return lt.filter(this._onDidChangeValue.event,r=>r.scope===e&&(t===void 0||r.key===t),i)}emitDidChangeValue(e,t){const{key:i,external:r}=t;if(i===kW){switch(e){case-1:this._applicationKeyTargets=void 0;break;case 0:this._profileKeyTargets=void 0;break;case 1:this._workspaceKeyTargets=void 0;break}this._onDidChangeTarget.fire({scope:e})}else this._onDidChangeValue.fire({scope:e,key:i,target:this.getKeyTargets(e)[i],external:r})}get(e,t,i){var r;return(r=this.getStorage(t))===null||r===void 0?void 0:r.get(e,i)}getBoolean(e,t,i){var r;return(r=this.getStorage(t))===null||r===void 0?void 0:r.getBoolean(e,i)}getNumber(e,t,i){var r;return(r=this.getStorage(t))===null||r===void 0?void 0:r.getNumber(e,i)}store(e,t,i,r,o=!1){if(Zu(t)){this.remove(e,i,o);return}this.withPausedEmitters(()=>{var s;this.updateKeyTarget(e,i,r),(s=this.getStorage(i))===null||s===void 0||s.set(e,t,o)})}remove(e,t,i=!1){this.withPausedEmitters(()=>{var r;this.updateKeyTarget(e,t,void 0),(r=this.getStorage(t))===null||r===void 0||r.delete(e,i)})}withPausedEmitters(e){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{e()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}updateKeyTarget(e,t,i,r=!1){var o,s;const a=this.getKeyTargets(t);typeof i=="number"?a[e]!==i&&(a[e]=i,(o=this.getStorage(t))===null||o===void 0||o.set(kW,JSON.stringify(a),r)):typeof a[e]=="number"&&(delete a[e],(s=this.getStorage(t))===null||s===void 0||s.set(kW,JSON.stringify(a),r))}get workspaceKeyTargets(){return this._workspaceKeyTargets||(this._workspaceKeyTargets=this.loadKeyTargets(1)),this._workspaceKeyTargets}get profileKeyTargets(){return this._profileKeyTargets||(this._profileKeyTargets=this.loadKeyTargets(0)),this._profileKeyTargets}get applicationKeyTargets(){return this._applicationKeyTargets||(this._applicationKeyTargets=this.loadKeyTargets(-1)),this._applicationKeyTargets}getKeyTargets(e){switch(e){case-1:return this.applicationKeyTargets;case 0:return this.profileKeyTargets;default:return this.workspaceKeyTargets}}loadKeyTargets(e){const t=this.getStorage(e);return t?CLt(t):Object.create(null)}}EW.DEFAULT_FLUSH_INTERVAL=60*1e3;class SLt extends EW{constructor(){super(),this.applicationStorage=this._register(new Z2(new OU,{hint:E2.STORAGE_IN_MEMORY})),this.profileStorage=this._register(new Z2(new OU,{hint:E2.STORAGE_IN_MEMORY})),this.workspaceStorage=this._register(new Z2(new OU,{hint:E2.STORAGE_IN_MEMORY})),this._register(this.workspaceStorage.onDidChangeStorage(e=>this.emitDidChangeValue(1,e))),this._register(this.profileStorage.onDidChangeStorage(e=>this.emitDidChangeValue(0,e))),this._register(this.applicationStorage.onDidChangeStorage(e=>this.emitDidChangeValue(-1,e)))}getStorage(e){switch(e){case-1:return this.applicationStorage;case 0:return this.profileStorage;default:return this.workspaceStorage}}}function wLt(n,e){const t={...e};for(const i in n){const r=n[i];t[i]=r!==void 0?xt(r):void 0}return t}const xLt={keybindingLabelBackground:xt(N0t),keybindingLabelForeground:xt(M0t),keybindingLabelBorder:xt(k0t),keybindingLabelBottomBorder:xt(T0t),keybindingLabelShadow:xt(zg)},_Lt={buttonForeground:xt(DF),buttonSeparator:xt(S0t),buttonBackground:xt(NF),buttonHoverBackground:xt(w0t),buttonSecondaryForeground:xt(_0t),buttonSecondaryBackground:xt(S6),buttonSecondaryHoverBackground:xt(L0t),buttonBorder:xt(x0t)},LLt={progressBarBackground:xt(Xbt)},RW={inputActiveOptionBorder:xt(v6),inputActiveOptionForeground:xt(C6),inputActiveOptionBackground:xt(lv)};xt(I0t),xt(D0t),xt(F0t),xt(no),xt(Gg),xt(zg),xt(Kn),xt(i0t),xt(r0t),xt(o0t),xt(Vbt);const ZW={inputBackground:xt(fye),inputForeground:xt(gye),inputBorder:xt(pye),inputValidationInfoBorder:xt(m0t),inputValidationInfoBackground:xt(d0t),inputValidationInfoForeground:xt(h0t),inputValidationWarningBorder:xt(p0t),inputValidationWarningBackground:xt(f0t),inputValidationWarningForeground:xt(g0t),inputValidationErrorBorder:xt(v0t),inputValidationErrorBackground:xt(b0t),inputValidationErrorForeground:xt(y0t)},ILt={listFilterWidgetBackground:xt(z0t),listFilterWidgetOutline:xt(H0t),listFilterWidgetNoMatchesOutline:xt(Y0t),listFilterWidgetShadow:xt(U0t),inputBoxStyles:ZW,toggleStyles:RW},awe={badgeBackground:xt(eZ),badgeForeground:xt(Gbt),badgeBorder:xt(Kn)};xt(t0t),xt(e0t),xt(lye),xt(lye),xt(n0t);const Rv={listBackground:void 0,listInactiveFocusForeground:void 0,listFocusBackground:xt(E0t),listFocusForeground:xt(R0t),listFocusOutline:xt(Z0t),listActiveSelectionBackground:xt(Yg),listActiveSelectionForeground:xt(tf),listActiveSelectionIconForeground:xt(MF),listFocusAndSelectionOutline:xt(W0t),listFocusAndSelectionBackground:xt(Yg),listFocusAndSelectionForeground:xt(tf),listInactiveSelectionBackground:xt(A0t),listInactiveSelectionIconForeground:xt(G0t),listInactiveSelectionForeground:xt(V0t),listInactiveFocusBackground:xt(X0t),listInactiveFocusOutline:xt(P0t),listHoverBackground:xt(bye),listHoverForeground:xt(yye),listDropOverBackground:xt(O0t),listDropBetweenBackground:xt(B0t),listSelectionOutline:xt(mr),listHoverOutline:xt(mr),treeIndentGuidesStroke:xt(kF),treeInactiveIndentGuidesStroke:xt(K0t),tableColumnsBorder:xt(J0t),tableOddRowsBackgroundColor:xt(j0t)};function Zv(n){return wLt(n,Rv)}const FLt={selectBackground:xt(ef),selectListBackground:xt(C0t),selectForeground:xt(Hg),decoratorRightForeground:xt(Cye),selectBorder:xt(qw),focusBorder:xt(Ac),listFocusBackground:xt(a0),listInactiveSelectionIconForeground:xt(e2),listFocusForeground:xt(s0),listFocusOutline:Rbt(mr,Re.transparent.toString()),listHoverBackground:xt(bye),listHoverForeground:xt(yye),listHoverOutline:xt(mr),selectListBorder:xt(Xg),listBackground:void 0,listActiveSelectionBackground:void 0,listActiveSelectionForeground:void 0,listActiveSelectionIconForeground:void 0,listFocusAndSelectionBackground:void 0,listDropOverBackground:void 0,listDropBetweenBackground:void 0,listInactiveSelectionBackground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusBackground:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listFocusAndSelectionForeground:void 0,listFocusAndSelectionOutline:void 0,listInactiveFocusForeground:void 0,tableColumnsBorder:void 0,tableOddRowsBackgroundColor:void 0,treeIndentGuidesStroke:void 0,treeInactiveIndentGuidesStroke:void 0},DLt={shadowColor:xt(zg),borderColor:xt(Q0t),foregroundColor:xt($0t),backgroundColor:xt(q0t),selectionForegroundColor:xt(e1t),selectionBackgroundColor:xt(t1t),selectionBorderColor:xt(n1t),separatorColor:xt(i1t),scrollbarShadow:xt(SF),scrollbarSliderBackground:xt(wF),scrollbarSliderHoverBackground:xt(xF),scrollbarSliderActiveBackground:xt(_F)};var WW=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Ol=function(n,e){return function(t,i){e(t,i,n)}};function NLt(n,e,t,i){const r=n.getActions(e),o=Mg.getInstance(),s=o.keyStatus.altKey||(ha||Ja)&&o.keyStatus.shiftKey;lwe(r,t,s,i?a=>a===i:a=>a==="navigation")}function AW(n,e,t,i,r,o){const s=n.getActions(e);lwe(s,t,!1,typeof i=="string"?l=>l===i:i,r,o)}function lwe(n,e,t,i=s=>s==="navigation",r=()=>!1,o=!1){let s,a;Array.isArray(e)?(s=e,a=e):(s=e.primary,a=e.secondary);const l=new Set;for(const[u,c]of n){let d;i(u)?(d=s,d.length>0&&o&&d.push(new Ao)):(d=a,d.length>0&&d.push(new Ao));for(let h of c){t&&(h=h instanceof Xu&&h.alt?h.alt:h);const m=d.push(h);h instanceof ww&&l.add({group:u,action:h,index:m-1})}}for(const{group:u,action:c,index:d}of l){const h=i(u)?s:a,m=c.actions;r(c,u,h.length)&&h.splice(d,1,...m)}}let M0=class extends M2{constructor(e,t,i,r,o,s,a,l){super(void 0,e,{icon:!!(e.class||e.item.icon),label:!e.class&&!e.item.icon,draggable:t==null?void 0:t.draggable,keybinding:t==null?void 0:t.keybinding,hoverDelegate:t==null?void 0:t.hoverDelegate}),this._keybindingService=i,this._notificationService=r,this._contextKeyService=o,this._themeService=s,this._contextMenuService=a,this._accessibilityService=l,this._wantsAltCommand=!1,this._itemClassDispose=this._register(new Ns),this._altKey=Mg.getInstance()}get _menuItemAction(){return this._action}get _commandAction(){return this._wantsAltCommand&&this._menuItemAction.alt||this._menuItemAction}async onClick(e){e.preventDefault(),e.stopPropagation();try{await this.actionRunner.run(this._commandAction,this._context)}catch(t){this._notificationService.error(t)}}render(e){if(super.render(e),e.classList.add("menu-entry"),this.options.icon&&this._updateItemClass(this._menuItemAction.item),this._menuItemAction.alt){let t=!1;const i=()=>{var r;const o=!!(!((r=this._menuItemAction.alt)===null||r===void 0)&&r.enabled)&&(!this._accessibilityService.isMotionReduced()||t)&&(this._altKey.keyStatus.altKey||this._altKey.keyStatus.shiftKey&&t);o!==this._wantsAltCommand&&(this._wantsAltCommand=o,this.updateLabel(),this.updateTooltip(),this.updateClass())};this._register(this._altKey.event(i)),this._register(Ve(e,"mouseleave",r=>{t=!1,i()})),this._register(Ve(e,"mouseenter",r=>{t=!0,i()})),i()}}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this._commandAction.label)}getTooltip(){var e;const t=this._keybindingService.lookupKeybinding(this._commandAction.id,this._contextKeyService),i=t&&t.getLabel(),r=this._commandAction.tooltip||this._commandAction.label;let o=i?_("titleAndKb","{0} ({1})",r,i):r;if(!this._wantsAltCommand&&(!((e=this._menuItemAction.alt)===null||e===void 0)&&e.enabled)){const s=this._menuItemAction.alt.tooltip||this._menuItemAction.alt.label,a=this._keybindingService.lookupKeybinding(this._menuItemAction.alt.id,this._contextKeyService),l=a&&a.getLabel(),u=l?_("titleAndKb","{0} ({1})",s,l):s;o=_("titleAndKbAndAlt",`{0} +[{1}] {2}`,o,PU.modifierLabels[ru].altKey,u)}return o}updateClass(){this.options.icon&&(this._commandAction!==this._menuItemAction?this._menuItemAction.alt&&this._updateItemClass(this._menuItemAction.alt.item):this._updateItemClass(this._menuItemAction.item))}_updateItemClass(e){this._itemClassDispose.value=void 0;const{element:t,label:i}=this;if(!t||!i)return;const r=this._commandAction.checked&&vLt(e.toggled)&&e.toggled.icon?e.toggled.icon:e.icon;if(r)if(sn.isThemeIcon(r)){const o=sn.asClassNameArray(r);i.classList.add(...o),this._itemClassDispose.value=jt(()=>{i.classList.remove(...o)})}else i.style.backgroundImage=dZ(this._themeService.getColorTheme().type)?Qb(r.dark):Qb(r.light),i.classList.add("icon"),this._itemClassDispose.value=_d(jt(()=>{i.style.backgroundImage="",i.classList.remove("icon")}),this._themeService.onDidColorThemeChange(()=>{this.updateClass()}))}};M0=WW([Ol(2,Oi),Ol(3,Mo),Ol(4,ln),Ol(5,jo),Ol(6,fu),Ol(7,Wc)],M0);let BU=class extends NW{constructor(e,t,i,r,o){var s,a,l;const u={...t,menuAsChild:(s=t==null?void 0:t.menuAsChild)!==null&&s!==void 0?s:!1,classNames:(a=t==null?void 0:t.classNames)!==null&&a!==void 0?a:sn.isThemeIcon(e.item.icon)?sn.asClassName(e.item.icon):void 0,keybindingProvider:(l=t==null?void 0:t.keybindingProvider)!==null&&l!==void 0?l:c=>i.lookupKeybinding(c.id)};super(e,{getActions:()=>e.actions},r,u),this._keybindingService=i,this._contextMenuService=r,this._themeService=o}render(e){super.render(e),hi(this.element),e.classList.add("menu-entry");const t=this._action,{icon:i}=t.item;if(i&&!sn.isThemeIcon(i)){this.element.classList.add("icon");const r=()=>{this.element&&(this.element.style.backgroundImage=dZ(this._themeService.getColorTheme().type)?Qb(i.dark):Qb(i.light))};r(),this._register(this._themeService.onDidColorThemeChange(()=>{r()}))}}};BU=WW([Ol(2,Oi),Ol(3,fu),Ol(4,jo)],BU);let zU=class extends Uh{constructor(e,t,i,r,o,s,a,l){var u,c,d;super(null,e),this._keybindingService=i,this._notificationService=r,this._contextMenuService=o,this._menuService=s,this._instaService=a,this._storageService=l,this._container=null,this._options=t,this._storageKey=`${e.item.submenu.id}_lastActionId`;let h;const m=t!=null&&t.persistLastActionId?l.get(this._storageKey,1):void 0;m&&(h=e.actions.find(g=>m===g.id)),h||(h=e.actions[0]),this._defaultAction=this._instaService.createInstance(M0,h,{keybinding:this._getDefaultActionKeybindingLabel(h)});const f={keybindingProvider:g=>this._keybindingService.lookupKeybinding(g.id),...t,menuAsChild:(u=t==null?void 0:t.menuAsChild)!==null&&u!==void 0?u:!0,classNames:(c=t==null?void 0:t.classNames)!==null&&c!==void 0?c:["codicon","codicon-chevron-down"],actionRunner:(d=t==null?void 0:t.actionRunner)!==null&&d!==void 0?d:new Ky};this._dropdown=new NW(e,e.actions,this._contextMenuService,f),this._register(this._dropdown.actionRunner.onDidRun(g=>{g.action instanceof Xu&&this.update(g.action)}))}update(e){var t;!((t=this._options)===null||t===void 0)&&t.persistLastActionId&&this._storageService.store(this._storageKey,e.id,1,1),this._defaultAction.dispose(),this._defaultAction=this._instaService.createInstance(M0,e,{keybinding:this._getDefaultActionKeybindingLabel(e)}),this._defaultAction.actionRunner=new class extends Ky{async runAction(i,r){await i.run(void 0)}},this._container&&this._defaultAction.render(LY(this._container,Ct(".action-container")))}_getDefaultActionKeybindingLabel(e){var t;let i;if(!((t=this._options)===null||t===void 0)&&t.renderKeybindingWithDefaultActionLabel){const r=this._keybindingService.lookupKeybinding(e.id);r&&(i=`(${r.getLabel()})`)}return i}setActionContext(e){super.setActionContext(e),this._defaultAction.setActionContext(e),this._dropdown.setActionContext(e)}render(e){this._container=e,super.render(this._container),this._container.classList.add("monaco-dropdown-with-default");const t=Ct(".action-container");this._defaultAction.render(je(this._container,t)),this._register(Ve(t,ot.KEY_DOWN,r=>{const o=new or(r);o.equals(17)&&(this._defaultAction.element.tabIndex=-1,this._dropdown.focus(),o.stopPropagation())}));const i=Ct(".dropdown-action-container");this._dropdown.render(je(this._container,i)),this._register(Ve(i,ot.KEY_DOWN,r=>{var o;const s=new or(r);s.equals(15)&&(this._defaultAction.element.tabIndex=0,this._dropdown.setFocusable(!1),(o=this._defaultAction.element)===null||o===void 0||o.focus(),s.stopPropagation())}))}focus(e){e?this._dropdown.focus():(this._defaultAction.element.tabIndex=0,this._defaultAction.element.focus())}blur(){this._defaultAction.element.tabIndex=-1,this._dropdown.blur(),this._container.blur()}setFocusable(e){e?this._defaultAction.element.tabIndex=0:(this._defaultAction.element.tabIndex=-1,this._dropdown.setFocusable(!1))}dispose(){this._defaultAction.dispose(),this._dropdown.dispose(),super.dispose()}};zU=WW([Ol(2,Oi),Ol(3,Mo),Ol(4,fu),Ol(5,Gu),Ol(6,$t),Ol(7,Sf)],zU);let HU=class extends zxt{constructor(e,t){super(null,e,e.actions.map(i=>({text:i.id===Ao.ID?"─────────":i.label,isDisabled:!i.enabled})),0,t,FLt,{ariaLabel:e.tooltip,optionsAsChildren:!0}),this.select(Math.max(0,e.actions.findIndex(i=>i.checked)))}render(e){super.render(e),e.style.borderColor=xt(qw)}runAction(e,t){const i=this.action.actions[t];i&&this.actionRunner.run(i)}};HU=WW([Ol(1,pp)],HU);function uwe(n,e,t){return e instanceof Xu?n.createInstance(M0,e,t):e instanceof sF?e.item.isSelection?n.createInstance(HU,e):e.item.rememberDefaultAction?n.createInstance(zU,e,{...t,persistLastActionId:!0}):n.createInstance(BU,e,t):void 0}var cwe=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},wf=function(n,e){return function(t,i){e(t,i,n)}};let JD=class extends hLt{constructor(e,t,i,r,o,s,a){super(e,o,{getKeyBinding:u=>{var c;return(c=s.lookupKeybinding(u.id))!==null&&c!==void 0?c:void 0},...t,allowContextMenu:!0,skipTelemetry:typeof(t==null?void 0:t.telemetrySource)=="string"}),this._options=t,this._menuService=i,this._contextKeyService=r,this._contextMenuService=o,this._sessionDisposables=this._store.add(new Je);const l=t==null?void 0:t.telemetrySource;l&&this._store.add(this.actionBar.onDidRun(u=>a.publicLog2("workbenchActionExecuted",{id:u.action.id,from:l})))}setActions(e,t=[],i){var r,o,s;this._sessionDisposables.clear();const a=e.slice(),l=t.slice(),u=[];let c=0;const d=[];let h=!1;if(((r=this._options)===null||r===void 0?void 0:r.hiddenItemStrategy)!==-1)for(let m=0;mb==null?void 0:b.id)),f=this._options.overflowBehavior.maxItems-m.size;let g=0;for(let b=0;b=f&&(a[b]=void 0,d[b]=y))}}d1e(a),d1e(d),super.setActions(a,Ao.join(d,l)),u.length>0&&this._sessionDisposables.add(Ve(this.getElement(),"contextmenu",m=>{var f,g,b,y,C;const w=new xd(Qt(this.getElement()),m),x=this.getItemAction(w.target);if(!x)return;w.preventDefault(),w.stopPropagation();let L=!1;if(c===1&&((f=this._options)===null||f===void 0?void 0:f.hiddenItemStrategy)===0){L=!0;for(let N=0;Nthis._menuService.resetHiddenStates(i)}))),this._contextMenuService.showContextMenu({getAnchor:()=>w,getActions:()=>D,menuId:(b=this._options)===null||b===void 0?void 0:b.contextMenu,menuActionOptions:{renderShortTitle:!0,...(y=this._options)===null||y===void 0?void 0:y.menuOptions},skipTelemetry:typeof((C=this._options)===null||C===void 0?void 0:C.telemetrySource)=="string",contextKeyService:this._contextKeyService})}))}};JD=cwe([wf(2,Gu),wf(3,ln),wf(4,fu),wf(5,Oi),wf(6,Rl)],JD);let VW=class extends JD{constructor(e,t,i,r,o,s,a,l){super(e,{resetMenu:t,...i},r,o,s,a,l),this._onDidChangeMenuItems=this._store.add(new be),this.onDidChangeMenuItems=this._onDidChangeMenuItems.event;const u=this._store.add(r.createMenu(t,o,{emitEventsForSubmenuChanges:!0})),c=()=>{var d,h,m;const f=[],g=[];AW(u,i==null?void 0:i.menuOptions,{primary:f,secondary:g},(d=i==null?void 0:i.toolbarOptions)===null||d===void 0?void 0:d.primaryGroup,(h=i==null?void 0:i.toolbarOptions)===null||h===void 0?void 0:h.shouldInlineSubmenu,(m=i==null?void 0:i.toolbarOptions)===null||m===void 0?void 0:m.useSeparatorsInPrimaryActions),e.classList.toggle("has-no-actions",f.length===0&&g.length===0),super.setActions(f,g)};this._store.add(u.onDidChange(()=>{c(),this._onDidChangeMenuItems.fire(this)})),c()}setActions(){throw new rr("This toolbar is populated from a menu.")}};VW=cwe([wf(3,Gu),wf(4,ln),wf(5,fu),wf(6,Oi),wf(7,Rl)],VW);var MLt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},dwe=function(n,e){return function(t,i){e(t,i,n)}};const YU=Un("hoverService");let jD=class extends Fe{get delay(){return this.isInstantlyHovering()?0:this._delay}constructor(e,t,i={},r,o){super(),this.placement=e,this.instantHover=t,this.overrideOptions=i,this.configurationService=r,this.hoverService=o,this.lastHoverHideTime=0,this.timeLimit=200,this.hoverDisposables=this._register(new Je),this._delay=this.configurationService.getValue("workbench.hover.delay"),this._register(this.configurationService.onDidChangeConfiguration(s=>{s.affectsConfiguration("workbench.hover.delay")&&(this._delay=this.configurationService.getValue("workbench.hover.delay"))}))}showHover(e,t){const i=typeof this.overrideOptions=="function"?this.overrideOptions(e,t):this.overrideOptions;this.hoverDisposables.clear();const r=e.target instanceof HTMLElement?[e.target]:e.target.targetElements;for(const s of r)this.hoverDisposables.add(Gr(s,"keydown",a=>{a.equals(9)&&this.hoverService.hideHover()}));const o=e.content instanceof HTMLElement?void 0:e.content.toString();return this.hoverService.showHover({...e,...i,persistence:{hideOnKeyDown:!0,...i.persistence},id:o,appearance:{...e.appearance,compact:!0,skipFadeInAnimation:this.isInstantlyHovering(),...i.appearance}},t)}isInstantlyHovering(){return this.instantHover&&Date.now()-this.lastHoverHideTime=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},GW=function(n,e){return function(t,i){e(t,i,n)}};const UU=[],mwe=35;let KU=class extends Fe{constructor(e,t,i,r,o,s){super(),this._diffModel=t,this._editors=i,this._instantiationService=r,this._contextKeyService=o,this._menuService=s,this._menu=this._register(this._menuService.createMenu(Q.DiffEditorHunkToolbar,this._contextKeyService)),this._actions=zi(this._menu.onDidChange,()=>this._menu.getActions()),this._hasActions=this._actions.map(a=>a.length>0),this.width=hn(this,a=>this._hasActions.read(a)?mwe:0),this.elements=_i("div.gutter@gutter",{style:{position:"absolute",height:"100%",width:mwe+"px"}},[]),this._currentDiff=hn(this,a=>{var l;const u=this._diffModel.read(a);if(!u)return;const c=(l=u.diff.read(a))===null||l===void 0?void 0:l.mappings,d=this._editors.modifiedCursor.read(a);if(d)return c==null?void 0:c.find(h=>h.lineRangeMapping.modified.contains(d.lineNumber))}),this._selectedDiffs=hn(this,a=>{const l=this._diffModel.read(a),u=l==null?void 0:l.diff.read(a);if(!u)return UU;const c=this._editors.modifiedSelections.read(a);if(c.every(f=>f.isEmpty()))return UU;const d=new Oc(c.map(f=>dn.fromRangeInclusive(f))),m=u.mappings.filter(f=>f.lineRangeMapping.innerChanges&&d.intersects(f.lineRangeMapping.modified)).map(f=>({mapping:f,rangeMappings:f.lineRangeMapping.innerChanges.filter(g=>c.some(b=>J.areIntersecting(g.modifiedRange,b)))}));return m.length===0||m.every(f=>f.rangeMappings.length===0)?UU:m}),this._register(Uxt(e,this.elements.root)),this._register(Ve(this.elements.root,"click",()=>{this._editors.modified.focus()})),this._register(dp(this.elements.root,{display:this._hasActions.map(a=>a?"block":"none")})),this._register(new oLt(this._editors.modified,this.elements.root,{getIntersectingGutterItems:(a,l)=>{const u=this._diffModel.read(l);if(!u)return[];const c=u.diff.read(l);if(!c)return[];const d=this._selectedDiffs.read(l);if(d.length>0){const m=ju.fromRangeMappings(d.flatMap(f=>f.rangeMappings));return[new fwe(m,!0,Q.DiffEditorSelectionToolbar,void 0,u.model.original.uri,u.model.modified.uri)]}const h=this._currentDiff.read(l);return c.mappings.map(m=>new fwe(m.lineRangeMapping.withInnerChangesFromLineRanges(),m.lineRangeMapping===(h==null?void 0:h.lineRangeMapping),Q.DiffEditorHunkToolbar,void 0,u.model.original.uri,u.model.modified.uri))},createView:(a,l)=>this._instantiationService.createInstance(JU,a,l,this)})),this._register(Ve(this.elements.gutter,ot.MOUSE_WHEEL,a=>{this._editors.modified.getOption(103).handleMouseWheel&&this._editors.modified.delegateScrollFromMouseWheelEvent(a)},{passive:!1}))}computeStagedValue(e){var t;const i=(t=e.innerChanges)!==null&&t!==void 0?t:[];return new XU(i.map(s=>new yp(s.originalRange,this._editors.modifiedModel.get().getValueInRange(s.modifiedRange)))).apply(new uLt(this._editors.original.getModel()))}layout(e){this.elements.gutter.style.left=e+"px"}};KU=hwe([GW(3,$t),GW(4,ln),GW(5,Gu)],KU);class fwe{constructor(e,t,i,r,o,s){this.mapping=e,this.showAlways=t,this.menuId=i,this.rangeOverride=r,this.originalUri=o,this.modifiedUri=s}get id(){return this.mapping.modified.toString()}get range(){var e;return(e=this.rangeOverride)!==null&&e!==void 0?e:this.mapping.modified}}let JU=class extends Fe{constructor(e,t,i,r){super(),this._item=e,this._elements=_i("div.gutterItem",{style:{height:"20px",width:"34px"}},[_i("div.background@background",{},[]),_i("div.buttons@buttons",{},[])]),this._showAlways=this._item.map(this,s=>s.showAlways),this._menuId=this._item.map(this,s=>s.menuId),this._isSmall=ei(this,!1),this._lastItemRange=void 0,this._lastViewRange=void 0;const o=this._register(r.createInstance(jD,"element",!0,{position:{hoverPosition:1}}));this._register(BD(t,this._elements.root)),this._register(Rn(s=>{const a=this._showAlways.read(s);this._elements.root.classList.toggle("noTransition",!0),this._elements.root.classList.toggle("showAlways",a),setTimeout(()=>{this._elements.root.classList.toggle("noTransition",!1)},0)})),this._register(Hc((s,a)=>{this._elements.buttons.replaceChildren();const l=a.add(r.createInstance(VW,this._elements.buttons,this._menuId.read(s),{orientation:1,hoverDelegate:o,toolbarOptions:{primaryGroup:u=>u.startsWith("primary")},overflowBehavior:{maxItems:this._isSmall.read(s)?1:3},hiddenItemStrategy:0,actionRunner:new rwe(()=>{const u=this._item.get(),c=u.mapping;return{mapping:c,originalWithModifiedChanges:i.computeStagedValue(c),originalUri:u.originalUri,modifiedUri:u.modifiedUri}}),menuOptions:{shouldForwardArgs:!0}}));a.add(l.onDidChangeMenuItems(()=>{this._lastItemRange&&this.layout(this._lastItemRange,this._lastViewRange)}))}))}layout(e,t){this._lastItemRange=e,this._lastViewRange=t;let i=this._elements.buttons.clientHeight;this._isSmall.set(this._item.get().mapping.original.startLineNumber===1&&e.length<30,void 0),i=this._elements.buttons.clientHeight,this._elements.root.style.top=e.start+"px",this._elements.root.style.height=e.length+"px";const r=e.length/2-i/2,o=i;let s=e.start+r;const a=Dn.tryCreate(o,t.endExclusive-o-i),l=Dn.tryCreate(e.start+o,e.endExclusive-i-o);l&&a&&l.start=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},QD=function(n,e){return function(t,i){e(t,i,n)}};let vp=class extends DW{get onDidContentSizeChange(){return this._editors.onDidContentSizeChange}constructor(e,t,i,r,o,s,a,l){var u;super(),this._domElement=e,this._parentContextKeyService=r,this._parentInstantiationService=o,this._accessibilitySignalService=a,this._editorProgressService=l,this.elements=_i("div.monaco-diff-editor.side-by-side",{style:{position:"relative",height:"100%"}},[_i("div.noModificationsOverlay@overlay",{style:{position:"absolute",height:"100%",visibility:"hidden"}},[Ct("span",{},"No Changes")]),_i("div.editor.original@original",{style:{position:"absolute",height:"100%"}}),_i("div.editor.modified@modified",{style:{position:"absolute",height:"100%"}}),_i("div.accessibleDiffViewer@accessibleDiffViewer",{style:{position:"absolute",height:"100%"}})]),this._diffModel=ei(this,void 0),this._shouldDisposeDiffModel=!1,this.onDidChangeModel=lt.fromObservableLight(this._diffModel),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._domElement)),this._instantiationService=this._parentInstantiationService.createChild(new DD([ln,this._contextKeyService])),this._boundarySashes=ei(this,void 0),this._accessibleDiffViewerShouldBeVisible=ei(this,!1),this._accessibleDiffViewerVisible=hn(this,x=>this._options.onlyShowAccessibleDiffViewer.read(x)?!0:this._accessibleDiffViewerShouldBeVisible.read(x)),this._movedBlocksLinesPart=ei(this,void 0),this._layoutInfo=hn(this,x=>{var L,I,D,N,T;const R=this._rootSizeObserver.width.read(x),E=this._rootSizeObserver.height.read(x),W=this._sash.read(x),Z=this._gutter.read(x),V=(L=Z==null?void 0:Z.width.read(x))!==null&&L!==void 0?L:0,z=(D=(I=this._overviewRulerPart.read(x))===null||I===void 0?void 0:I.width)!==null&&D!==void 0?D:0;let O,B,P,H,M;if(!!W){const Y=W.sashLeft.read(x),A=(T=(N=this._movedBlocksLinesPart.read(x))===null||N===void 0?void 0:N.width.read(x))!==null&&T!==void 0?T:0;O=0,B=Y-V-A,M=Y-V,P=Y,H=R-P-z}else M=0,O=V,B=Math.max(5,this._editors.original.getLayoutInfo().decorationsLeft),P=V+B,H=R-P-z;return this.elements.original.style.left=O+"px",this.elements.original.style.width=B+"px",this._editors.original.layout({width:B,height:E},!0),Z==null||Z.layout(M),this.elements.modified.style.left=P+"px",this.elements.modified.style.width=H+"px",this._editors.modified.layout({width:H,height:E},!0),{modifiedEditor:this._editors.modified.getLayoutInfo(),originalEditor:this._editors.original.getLayoutInfo()}}),this._diffValue=this._diffModel.map((x,L)=>x==null?void 0:x.diff.read(L)),this.onDidUpdateDiff=lt.fromObservableLight(this._diffValue),s.willCreateDiffEditor(),this._contextKeyService.createKey("isInDiffEditor",!0),this._domElement.appendChild(this.elements.root),this._register(jt(()=>this._domElement.removeChild(this.elements.root))),this._rootSizeObserver=this._register(new gSe(this.elements.root,t.dimension)),this._rootSizeObserver.setAutomaticLayout((u=t.automaticLayout)!==null&&u!==void 0?u:!1),this._options=this._instantiationService.createInstance(GU,t),this._register(Rn(x=>{this._options.setWidth(this._rootSizeObserver.width.read(x))})),this._contextKeyService.createKey(ne.isEmbeddedDiffEditor.key,!1),this._register(hp(ne.isEmbeddedDiffEditor,this._contextKeyService,x=>this._options.isInEmbeddedEditor.read(x))),this._register(hp(ne.comparingMovedCode,this._contextKeyService,x=>{var L;return!!(!((L=this._diffModel.read(x))===null||L===void 0)&&L.movedTextToCompare.read(x))})),this._register(hp(ne.diffEditorRenderSideBySideInlineBreakpointReached,this._contextKeyService,x=>this._options.couldShowInlineViewBecauseOfSize.read(x))),this._register(hp(ne.diffEditorInlineMode,this._contextKeyService,x=>!this._options.renderSideBySide.read(x))),this._register(hp(ne.hasChanges,this._contextKeyService,x=>{var L,I,D;return((D=(I=(L=this._diffModel.read(x))===null||L===void 0?void 0:L.diff.read(x))===null||I===void 0?void 0:I.mappings.length)!==null&&D!==void 0?D:0)>0})),this._editors=this._register(this._instantiationService.createInstance(VU,this.elements.original,this.elements.modified,this._options,i,(x,L,I,D)=>this._createInnerEditor(x,L,I,D))),this._register(hp(ne.diffEditorOriginalWritable,this._contextKeyService,x=>this._options.originalEditable.read(x))),this._register(hp(ne.diffEditorModifiedWritable,this._contextKeyService,x=>!this._options.readOnly.read(x))),this._register(hp(ne.diffEditorOriginalUri,this._contextKeyService,x=>{var L,I;return(I=(L=this._diffModel.read(x))===null||L===void 0?void 0:L.model.original.uri.toString())!==null&&I!==void 0?I:""})),this._register(hp(ne.diffEditorModifiedUri,this._contextKeyService,x=>{var L,I;return(I=(L=this._diffModel.read(x))===null||L===void 0?void 0:L.model.modified.uri.toString())!==null&&I!==void 0?I:""})),this._overviewRulerPart=lp(this,x=>this._options.renderOverviewRuler.read(x)?this._instantiationService.createInstance(Ad(Ev,x),this._editors,this.elements.root,this._diffModel,this._rootSizeObserver.width,this._rootSizeObserver.height,this._layoutInfo.map(L=>L.modifiedEditor)):void 0).recomputeInitiallyAndOnChange(this._store),this._sash=lp(this,x=>{const L=this._options.renderSideBySide.read(x);return this.elements.root.classList.toggle("side-by-side",L),L?new __t(this._options,this.elements.root,{height:this._rootSizeObserver.height,width:this._rootSizeObserver.width.map((I,D)=>{var N,T;return I-((T=(N=this._overviewRulerPart.read(D))===null||N===void 0?void 0:N.width)!==null&&T!==void 0?T:0)})},this._boundarySashes):void 0}).recomputeInitiallyAndOnChange(this._store);const c=lp(this,x=>this._instantiationService.createInstance(Ad(YD,x),this._editors,this._diffModel,this._options)).recomputeInitiallyAndOnChange(this._store);lp(this,x=>this._instantiationService.createInstance(Ad(y_t,x),this._editors,this._diffModel,this._options,this)).recomputeInitiallyAndOnChange(this._store);const d=new Set,h=new Set;let m=!1;const f=lp(this,x=>this._instantiationService.createInstance(Ad(ZU,x),Qt(this._domElement),this._editors,this._diffModel,this._options,this,()=>m||c.get().isUpdatingHiddenAreas,d,h)).recomputeInitiallyAndOnChange(this._store),g=hn(this,x=>{const L=f.read(x).viewZones.read(x).orig,I=c.read(x).viewZones.read(x).origViewZones;return L.concat(I)}),b=hn(this,x=>{const L=f.read(x).viewZones.read(x).mod,I=c.read(x).viewZones.read(x).modViewZones;return L.concat(I)});this._register(wW(this._editors.original,g,x=>{m=x},d));let y;this._register(wW(this._editors.modified,b,x=>{m=x,m?y=zh.capture(this._editors.modified):(y==null||y.restore(this._editors.modified),y=void 0)},h)),this._accessibleDiffViewer=lp(this,x=>this._instantiationService.createInstance(Ad(I0,x),this.elements.accessibleDiffViewer,this._accessibleDiffViewerVisible,(L,I)=>this._accessibleDiffViewerShouldBeVisible.set(L,I),this._options.onlyShowAccessibleDiffViewer.map(L=>!L),this._rootSizeObserver.width,this._rootSizeObserver.height,this._diffModel.map((L,I)=>{var D;return(D=L==null?void 0:L.diff.read(I))===null||D===void 0?void 0:D.mappings.map(N=>N.lineRangeMapping)}),new h_t(this._editors))).recomputeInitiallyAndOnChange(this._store);const C=this._accessibleDiffViewerVisible.map(x=>x?"hidden":"visible");this._register(dp(this.elements.modified,{visibility:C})),this._register(dp(this.elements.original,{visibility:C})),this._createDiffEditorContributions(),s.addDiffEditor(this),this._gutter=lp(this,x=>this._options.shouldRenderGutterMenu.read(x)?this._instantiationService.createInstance(Ad(KU,x),this.elements.root,this._diffModel,this._editors):void 0),this._register(RD(this._layoutInfo)),lp(this,x=>new(Ad(F0,x))(this.elements.root,this._diffModel,this._layoutInfo.map(L=>L.originalEditor),this._layoutInfo.map(L=>L.modifiedEditor),this._editors)).recomputeInitiallyAndOnChange(this._store,x=>{this._movedBlocksLinesPart.set(x,void 0)}),this._register(dp(this.elements.overlay,{width:this._layoutInfo.map((x,L)=>x.originalEditor.width+(this._options.renderSideBySide.read(L)?0:x.modifiedEditor.width)),visibility:hn(x=>{var L,I;return this._options.hideUnchangedRegions.read(x)&&((I=(L=this._diffModel.read(x))===null||L===void 0?void 0:L.diff.read(x))===null||I===void 0?void 0:I.mappings.length)===0?"visible":"hidden"})})),this._register(lt.runAndSubscribe(this._editors.modified.onDidChangeCursorPosition,x=>this._handleCursorPositionChange(x,!0))),this._register(lt.runAndSubscribe(this._editors.original.onDidChangeCursorPosition,x=>this._handleCursorPositionChange(x,!1)));const w=this._diffModel.map(this,(x,L)=>{if(x)return x.diff.read(L)===void 0&&!x.isDiffUpToDate.read(L)});this._register(Hc((x,L)=>{if(w.read(x)===!0){const I=this._editorProgressService.show(!0,1e3);L.add(jt(()=>I.done()))}})),this._register(jt(()=>{var x;this._shouldDisposeDiffModel&&((x=this._diffModel.get())===null||x===void 0||x.dispose())})),this._register(Hc((x,L)=>{L.add(new(Ad(tLt,x))(this._editors,this._diffModel,this._options,this))}))}_createInnerEditor(e,t,i,r){return e.createInstance(S2,t,i,r)}_createDiffEditorContributions(){const e=Fw.getDiffEditorContributions();for(const t of e)try{this._register(this._instantiationService.createInstance(t.ctor,this))}catch(i){yn(i)}}get _targetEditor(){return this._editors.modified}getEditorType(){return lD.IDiffEditor}layout(e){this._rootSizeObserver.observe(e)}hasTextFocus(){return this._editors.original.hasTextFocus()||this._editors.modified.hasTextFocus()}saveViewState(){var e;const t=this._editors.original.saveViewState(),i=this._editors.modified.saveViewState();return{original:t,modified:i,modelState:(e=this._diffModel.get())===null||e===void 0?void 0:e.serializeState()}}restoreViewState(e){var t;if(e&&e.original&&e.modified){const i=e;this._editors.original.restoreViewState(i.original),this._editors.modified.restoreViewState(i.modified),i.modelState&&((t=this._diffModel.get())===null||t===void 0||t.restoreSerializedState(i.modelState))}}handleInitialized(){this._editors.original.handleInitialized(),this._editors.modified.handleInitialized()}createViewModel(e){return this._instantiationService.createInstance(TU,e,this._options)}getModel(){var e,t;return(t=(e=this._diffModel.get())===null||e===void 0?void 0:e.model)!==null&&t!==void 0?t:null}setModel(e,t){!e&&this._diffModel.get()&&this._accessibleDiffViewer.get().close();const i=e?"model"in e?{model:e,shouldDispose:!1}:{model:this.createViewModel(e),shouldDispose:!0}:void 0;this._diffModel.get()!==(i==null?void 0:i.model)&&kD(t,r=>{var o;zi.batchEventsGlobally(r,()=>{this._editors.original.setModel(i?i.model.model.original:null),this._editors.modified.setModel(i?i.model.model.modified:null)});const s=this._diffModel.get(),a=this._shouldDisposeDiffModel;this._shouldDisposeDiffModel=(o=i==null?void 0:i.shouldDispose)!==null&&o!==void 0?o:!1,this._diffModel.set(i==null?void 0:i.model,r),a&&(s==null||s.dispose())})}updateOptions(e){this._options.updateOptions(e)}getContainerDomNode(){return this._domElement}getOriginalEditor(){return this._editors.original}getModifiedEditor(){return this._editors.modified}getLineChanges(){var e;const t=(e=this._diffModel.get())===null||e===void 0?void 0:e.diff.get();return t?TLt(t):null}revert(e){const t=this._diffModel.get();!t||!t.isDiffUpToDate.get()||this._editors.modified.executeEdits("diffEditor",[{range:e.modified.toExclusiveRange(),text:t.model.original.getValueInRange(e.original.toExclusiveRange())}])}revertRangeMappings(e){const t=this._diffModel.get();if(!t||!t.isDiffUpToDate.get())return;const i=e.map(r=>({range:r.modifiedRange,text:t.model.original.getValueInRange(r.originalRange)}));this._editors.modified.executeEdits("diffEditor",i)}_goTo(e){this._editors.modified.setPosition(new ve(e.lineRangeMapping.modified.startLineNumber,1)),this._editors.modified.revealRangeInCenter(e.lineRangeMapping.modified.toExclusiveRange())}goToDiff(e){var t,i,r,o;const s=(i=(t=this._diffModel.get())===null||t===void 0?void 0:t.diff.get())===null||i===void 0?void 0:i.mappings;if(!s||s.length===0)return;const a=this._editors.modified.getPosition().lineNumber;let l;e==="next"?l=(r=s.find(u=>u.lineRangeMapping.modified.startLineNumber>a))!==null&&r!==void 0?r:s[0]:l=(o=FZ(s,u=>u.lineRangeMapping.modified.startLineNumber{var t;const i=(t=e.diff.get())===null||t===void 0?void 0:t.mappings;!i||i.length===0||this._goTo(i[0])})}accessibleDiffViewerNext(){this._accessibleDiffViewer.get().next()}accessibleDiffViewerPrev(){this._accessibleDiffViewer.get().prev()}async waitForDiff(){const e=this._diffModel.get();e&&await e.waitForDiff()}mapToOtherSide(){var e,t;const i=this._editors.modified.hasWidgetFocus(),r=i?this._editors.modified:this._editors.original,o=i?this._editors.original:this._editors.modified;let s;const a=r.getSelection();if(a){const l=(t=(e=this._diffModel.get())===null||e===void 0?void 0:e.diff.get())===null||t===void 0?void 0:t.mappings.map(u=>i?u.lineRangeMapping.flip():u.lineRangeMapping);if(l){const u=ySe(a.getStartPosition(),l),c=ySe(a.getEndPosition(),l);s=J.plusRange(u,c)}}return{destination:o,destinationSelection:s}}switchSide(){const{destination:e,destinationSelection:t}=this.mapToOtherSide();e.focus(),t&&e.setSelection(t)}exitCompareMove(){const e=this._diffModel.get();e&&e.movedTextToCompare.set(void 0,void 0)}collapseAllUnchangedRegions(){var e;const t=(e=this._diffModel.get())===null||e===void 0?void 0:e.unchangedRegions.get();t&&Bi(i=>{for(const r of t)r.collapseAll(i)})}showAllUnchangedRegions(){var e;const t=(e=this._diffModel.get())===null||e===void 0?void 0:e.unchangedRegions.get();t&&Bi(i=>{for(const r of t)r.showAll(i)})}_handleCursorPositionChange(e,t){var i,r;if((e==null?void 0:e.reason)===3){const o=(r=(i=this._diffModel.get())===null||i===void 0?void 0:i.diff.get())===null||r===void 0?void 0:r.mappings.find(s=>t?s.lineRangeMapping.modified.contains(e.position.lineNumber):s.lineRangeMapping.original.contains(e.position.lineNumber));o!=null&&o.lineRangeMapping.modified.isEmpty?this._accessibilitySignalService.playSignal(xn.diffLineDeleted,{source:"diffEditor.cursorPositionChanged"}):o!=null&&o.lineRangeMapping.original.isEmpty?this._accessibilitySignalService.playSignal(xn.diffLineInserted,{source:"diffEditor.cursorPositionChanged"}):o&&this._accessibilitySignalService.playSignal(xn.diffLineModified,{source:"diffEditor.cursorPositionChanged"})}}};vp=kLt([QD(3,ln),QD(4,$t),QD(5,yi),QD(6,L0),QD(7,N0)],vp);function TLt(n){return n.mappings.map(e=>{const t=e.lineRangeMapping;let i,r,o,s,a=t.innerChanges;return t.original.isEmpty?(i=t.original.startLineNumber-1,r=0,a=void 0):(i=t.original.startLineNumber,r=t.original.endLineNumberExclusive-1),t.modified.isEmpty?(o=t.modified.startLineNumber-1,s=0,a=void 0):(o=t.modified.startLineNumber,s=t.modified.endLineNumberExclusive-1),{originalStartLineNumber:i,originalEndLineNumber:r,modifiedStartLineNumber:o,modifiedEndLineNumber:s,charChanges:a==null?void 0:a.map(l=>({originalStartLineNumber:l.originalRange.startLineNumber,originalStartColumn:l.originalRange.startColumn,originalEndLineNumber:l.originalRange.endLineNumber,originalEndColumn:l.originalRange.endColumn,modifiedStartLineNumber:l.modifiedRange.startLineNumber,modifiedStartColumn:l.modifiedRange.startColumn,modifiedEndLineNumber:l.modifiedRange.endLineNumber,modifiedEndColumn:l.modifiedRange.endColumn}))}})}class ELt extends el{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:oi("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:ut.map,toggled:Oe.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:Oe.has("isInDiffEditor"),menu:{when:Oe.has("isInDiffEditor"),id:Q.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(Pn),r=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",r)}}class gwe extends el{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:oi("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:Oe.has("isInDiffEditor")})}run(e,...t){const i=e.get(Pn),r=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",r)}}class pwe extends el{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:oi("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:Oe.has("isInDiffEditor")})}run(e,...t){const i=e.get(Pn),r=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",r)}}const $D=oi("diffEditor","Diff Editor");class RLt extends Mh{constructor(){super({id:"diffEditor.switchSide",title:oi("switchSide","Switch Side"),icon:ut.arrowSwap,precondition:Oe.has("isInDiffEditor"),f1:!0,category:$D})}runEditorCommand(e,t,i){const r=A2(e);if(r instanceof vp){if(i&&i.dryRun)return{destinationSelection:r.mapToOtherSide().destinationSelection};r.switchSide()}}}class ZLt extends Mh{constructor(){super({id:"diffEditor.exitCompareMove",title:oi("exitCompareMove","Exit Compare Move"),icon:ut.close,precondition:ne.comparingMovedCode,f1:!1,category:$D,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const r=A2(e);r instanceof vp&&r.exitCompareMove()}}class WLt extends Mh{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:oi("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:ut.fold,precondition:Oe.has("isInDiffEditor"),f1:!0,category:$D})}runEditorCommand(e,t,...i){const r=A2(e);r instanceof vp&&r.collapseAllUnchangedRegions()}}class ALt extends Mh{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:oi("showAllUnchangedRegions","Show All Unchanged Regions"),icon:ut.unfold,precondition:Oe.has("isInDiffEditor"),f1:!0,category:$D})}runEditorCommand(e,t,...i){const r=A2(e);r instanceof vp&&r.showAllUnchangedRegions()}}class jU extends el{constructor(){super({id:"diffEditor.revert",title:oi("revert","Revert"),f1:!1,category:$D})}run(e,t){var i;const r=VLt(e,t.originalUri,t.modifiedUri);r instanceof vp&&r.revertRangeMappings((i=t.mapping.innerChanges)!==null&&i!==void 0?i:[])}}const bwe=oi("accessibleDiffViewer","Accessible Diff Viewer");class W2 extends el{constructor(){super({id:W2.id,title:oi("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:bwe,precondition:Oe.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=A2(e);t==null||t.accessibleDiffViewerNext()}}W2.id="editor.action.accessibleDiffViewer.next";class qD extends el{constructor(){super({id:qD.id,title:oi("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:bwe,precondition:Oe.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=A2(e);t==null||t.accessibleDiffViewerPrev()}}qD.id="editor.action.accessibleDiffViewer.prev";function VLt(n,e,t){return n.get(yi).listDiffEditors().find(o=>{var s,a;const l=o.getModifiedEditor(),u=o.getOriginalEditor();return l&&((s=l.getModel())===null||s===void 0?void 0:s.uri.toString())===t.toString()&&u&&((a=u.getModel())===null||a===void 0?void 0:a.uri.toString())===e.toString()})||null}function A2(n){const t=n.get(yi).listDiffEditors(),i=js();if(i)for(const r of t){const o=r.getContainerDomNode();if(GLt(o,i))return r}return null}function GLt(n,e){let t=e;for(;t;){if(t===n)return!0;t=t.parentElement}return!1}Ki(ELt),Ki(gwe),Ki(pwe),ss.appendMenuItem(Q.EditorTitle,{command:{id:new pwe().desc.id,title:_("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:Oe.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:Oe.has("isInDiffEditor")},order:11,group:"1_diff",when:Oe.and(ne.diffEditorRenderSideBySideInlineBreakpointReached,Oe.has("isInDiffEditor"))}),ss.appendMenuItem(Q.EditorTitle,{command:{id:new gwe().desc.id,title:_("showMoves","Show Moved Code Blocks"),icon:ut.move,toggled:_w.create("config.diffEditor.experimental.showMoves",!0),precondition:Oe.has("isInDiffEditor")},order:10,group:"1_diff",when:Oe.has("isInDiffEditor")}),Ki(jU);for(const n of[{icon:ut.arrowRight,key:ne.diffEditorInlineMode.toNegated()},{icon:ut.discard,key:ne.diffEditorInlineMode}])ss.appendMenuItem(Q.DiffEditorHunkToolbar,{command:{id:new jU().desc.id,title:_("revertHunk","Revert Block"),icon:n.icon},when:Oe.and(ne.diffEditorModifiedWritable,n.key),order:5,group:"primary"}),ss.appendMenuItem(Q.DiffEditorSelectionToolbar,{command:{id:new jU().desc.id,title:_("revertSelection","Revert Selection"),icon:n.icon},when:Oe.and(ne.diffEditorModifiedWritable,n.key),order:5,group:"primary"});Ki(RLt),Ki(ZLt),Ki(WLt),Ki(ALt),ss.appendMenuItem(Q.EditorTitle,{command:{id:W2.id,title:_("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:Oe.has("isInDiffEditor")},order:10,group:"2_diff",when:Oe.and(ne.accessibleDiffViewerVisible.negate(),Oe.has("isInDiffEditor"))}),$n.registerCommandAlias("editor.action.diffReview.next",W2.id),Ki(W2),$n.registerCommandAlias("editor.action.diffReview.prev",qD.id),Ki(qD);var XLt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},PLt=function(n,e){return function(t,i){e(t,i,n)}},QU;const XW=new St("selectionAnchorSet",!1);let Cp=QU=class{static get(e){return e.getContribution(QU.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=XW.bindTo(t),this.modelChangeListener=e.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}setSelectionAnchor(){if(this.editor.hasModel()){const e=this.editor.getPosition();this.editor.changeDecorations(t=>{this.decorationId&&t.removeDecoration(this.decorationId),this.decorationId=t.addDecoration(Zt.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new ya().appendText(_("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),Ml(_("anchorSet","Anchor set at {0}:{1}",e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){const t=this.editor.getPosition();this.editor.setSelection(Zt.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const e=this.decorationId;this.editor.changeDecorations(t=>{t.removeDecoration(e),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};Cp.ID="editor.contrib.selectionAnchorController",Cp=QU=XLt([PLt(1,ln)],Cp);class OLt extends Nt{constructor(){super({id:"editor.action.setSelectionAnchor",label:_("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:ne.editorTextFocus,primary:Zo(2089,2080),weight:100}})}async run(e,t){var i;(i=Cp.get(t))===null||i===void 0||i.setSelectionAnchor()}}class BLt extends Nt{constructor(){super({id:"editor.action.goToSelectionAnchor",label:_("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:XW})}async run(e,t){var i;(i=Cp.get(t))===null||i===void 0||i.goToSelectionAnchor()}}class zLt extends Nt{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:_("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:XW,kbOpts:{kbExpr:ne.editorTextFocus,primary:Zo(2089,2089),weight:100}})}async run(e,t){var i;(i=Cp.get(t))===null||i===void 0||i.selectFromAnchorToCursor()}}class HLt extends Nt{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:_("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:XW,kbOpts:{kbExpr:ne.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=Cp.get(t))===null||i===void 0||i.cancelSelectionAnchor()}}vi(Cp.ID,Cp,4),tt(OLt),tt(BLt),tt(zLt),tt(HLt);const YLt=re("editorOverviewRuler.bracketMatchForeground",{dark:"#A0A0A0",light:"#A0A0A0",hcDark:"#A0A0A0",hcLight:"#A0A0A0"},_("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class ULt extends Nt{constructor(){super({id:"editor.action.jumpToBracket",label:_("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:ne.editorTextFocus,primary:3165,weight:100}})}run(e,t){var i;(i=Gd.get(t))===null||i===void 0||i.jumpToBracket()}}class KLt extends Nt{constructor(){super({id:"editor.action.selectToBracket",label:_("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:oi("smartSelect.selectToBracketDescription","Select the text inside and including the brackets or curly braces"),args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:!0}}}}]}})}run(e,t,i){var r;let o=!0;i&&i.selectBrackets===!1&&(o=!1),(r=Gd.get(t))===null||r===void 0||r.selectToBracket(o)}}class JLt extends Nt{constructor(){super({id:"editor.action.removeBrackets",label:_("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:ne.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;(i=Gd.get(t))===null||i===void 0||i.removeBrackets(this.id)}}class jLt{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}class Gd extends Fe{static get(e){return e.getContribution(Gd.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new Wi(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(72),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(t=>{this._matchBrackets!=="never"&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(t=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(t=>{t.hasChanged(72)&&(this._matchBrackets=this._editor.getOption(72),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(e.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;const e=this._editor.getModel(),t=this._editor.getSelections().map(i=>{const r=i.getStartPosition(),o=e.bracketPairs.matchBracket(r);let s=null;if(o)o[0].containsPosition(r)&&!o[1].containsPosition(r)?s=o[1].getStartPosition():o[1].containsPosition(r)&&(s=o[0].getStartPosition());else{const a=e.bracketPairs.findEnclosingBrackets(r);if(a)s=a[1].getStartPosition();else{const l=e.bracketPairs.findNextBracket(r);l&&l.range&&(s=l.range.getStartPosition())}}return s?new Zt(s.lineNumber,s.column,s.lineNumber,s.column):new Zt(r.lineNumber,r.column,r.lineNumber,r.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=[];this._editor.getSelections().forEach(r=>{const o=r.getStartPosition();let s=t.bracketPairs.matchBracket(o);if(!s&&(s=t.bracketPairs.findEnclosingBrackets(o),!s)){const u=t.bracketPairs.findNextBracket(o);u&&u.range&&(s=t.bracketPairs.matchBracket(u.range.getStartPosition()))}let a=null,l=null;if(s){s.sort(J.compareRangesUsingStarts);const[u,c]=s;if(a=e?u.getStartPosition():u.getEndPosition(),l=e?c.getEndPosition():c.getStartPosition(),c.containsPosition(o)){const d=a;a=l,l=d}}a&&l&&i.push(new Zt(a.lineNumber,a.column,l.lineNumber,l.column))}),i.length>0&&(this._editor.setSelections(i),this._editor.revealRange(i[0]))}removeBrackets(e){if(!this._editor.hasModel())return;const t=this._editor.getModel();this._editor.getSelections().forEach(i=>{const r=i.getPosition();let o=t.bracketPairs.matchBracket(r);o||(o=t.bracketPairs.findEnclosingBrackets(r)),o&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:o[0],text:""},{range:o[1],text:""}]),this._editor.pushUndoStop())})}_updateBrackets(){if(this._matchBrackets==="never")return;this._recomputeBrackets();const e=[];let t=0;for(const i of this._lastBracketsData){const r=i.brackets;r&&(e[t++]={range:r[0],options:i.options},e[t++]={range:r[1],options:i.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}const e=this._editor.getSelections();if(e.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}const t=this._editor.getModel(),i=t.getVersionId();let r=[];this._lastVersionId===i&&(r=this._lastBracketsData);const o=[];let s=0;for(let d=0,h=e.length;d1&&o.sort(ve.compare);const a=[];let l=0,u=0;const c=r.length;for(let d=0,h=o.length;d0&&(t.pushUndoStop(),t.executeCommands(this.id,r),t.pushUndoStop())}}tt(eIt);const PW=function(){if(typeof crypto=="object"&&typeof crypto.randomUUID=="function")return crypto.randomUUID.bind(crypto);let n;typeof crypto=="object"&&typeof crypto.getRandomValues=="function"?n=crypto.getRandomValues.bind(crypto):n=function(i){for(let r=0;rn,asFile:()=>{},value:typeof n=="string"?n:void 0}}function tIt(n,e,t){const i={id:PW(),name:n,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class vwe{constructor(){this._entries=new Map}get size(){let e=0;for(const t of this._entries)e++;return e}has(e){return this._entries.has(this.toKey(e))}matches(e){const t=[...this._entries.keys()];return Qn.some(this,([i,r])=>r.asFile())&&t.push("files"),Swe(OW(e),t)}get(e){var t;return(t=this._entries.get(this.toKey(e)))===null||t===void 0?void 0:t[0]}append(e,t){const i=this._entries.get(e);i?i.push(t):this._entries.set(this.toKey(e),[t])}replace(e,t){this._entries.set(this.toKey(e),[t])}delete(e){this._entries.delete(this.toKey(e))}*[Symbol.iterator](){for(const[e,t]of this._entries)for(const i of t)yield[e,i]}toKey(e){return OW(e)}}function OW(n){return n.toLowerCase()}function Cwe(n,e){return Swe(OW(n),e.map(OW))}function Swe(n,e){if(n==="*/*")return e.length>0;if(e.includes(n))return!0;const t=n.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!t)return!1;const[i,r,o]=t;return o==="*"?e.some(s=>s.startsWith(r+"/")):!1}const BW=Object.freeze({create:n=>Zg(n.map(e=>e.toString())).join(`\r `),split:n=>n.split(`\r -`),parse:n=>BR.split(n).filter(e=>!e.startsWith("#"))});class Ai{constructor(e){this.value=e}equals(e){return this.value===e.value}contains(e){return this.equals(e)||this.value===""||e.value.startsWith(this.value+Ai.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new Ai((this.value?[this.value,...e]:e).join(Ai.sep))}}Ai.sep=".",Ai.None=new Ai("@@none@@"),Ai.Empty=new Ai("");const SSe={EDITORS:"CodeEditors",FILES:"CodeFiles"};class nFt{}const iFt={DragAndDropContribution:"workbench.contributions.dragAndDrop"};Do.add(iFt.DragAndDropContribution,new nFt);class eM{constructor(){}static getInstance(){return eM.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}}eM.INSTANCE=new eM;function xSe(n){const e=new ySe;for(const t of n.items){const i=t.type;if(t.kind==="string"){const r=new Promise(o=>t.getAsString(o));e.append(i,$U(r))}else if(t.kind==="file"){const r=t.getAsFile();r&&e.append(i,rFt(r))}}return e}function rFt(n){const e=n.path?en.parse(n.path):void 0;return tFt(n.name,e,async()=>new Uint8Array(await n.arrayBuffer()))}const oFt=Object.freeze([SSe.EDITORS,SSe.FILES,WD.RESOURCES,WD.INTERNAL_URI_LIST]);function LSe(n,e=!1){const t=xSe(n),i=t.get(WD.INTERNAL_URI_LIST);if(i)t.replace(Pr.uriList,i);else if(e||!t.has(Pr.uriList)){const r=[];for(const o of n.items){const s=o.getAsFile();if(s){const a=s.path;try{a?r.push(en.file(a).toString()):r.push(en.parse(s.name,!0).toString())}catch{}}}r.length&&t.replace(Pr.uriList,$U(BR.create(r)))}for(const r of oFt)t.delete(r);return t}const tM=Un("IWorkspaceEditService");class qU{constructor(e){this.metadata=e}static convert(e){return e.edits.map(t=>{if(N0.is(t))return N0.lift(t);if(A2.is(t))return A2.lift(t);throw new Error("Unsupported edit")})}}class N0 extends qU{static is(e){return e instanceof N0?!0:Ua(e)&&en.isUri(e.resource)&&Ua(e.textEdit)}static lift(e){return e instanceof N0?e:new N0(e.resource,e.textEdit,e.versionId,e.metadata)}constructor(e,t,i=void 0,r){super(r),this.resource=e,this.textEdit=t,this.versionId=i}}class A2 extends qU{static is(e){return e instanceof A2?!0:Ua(e)&&(!!e.newResource||!!e.oldResource)}static lift(e){return e instanceof A2?e:new A2(e.oldResource,e.newResource,e.options,e.metadata)}constructor(e,t,i={},r){super(r),this.oldResource=e,this.newResource=t,this.options=i}}class sFt{constructor(){this._value="",this._pos=0}reset(e){return this._value=e,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos=0;t--,this._valueLen--){const i=this._value.charCodeAt(t);if(!(i===47||this._splitOnBackslash&&i===92))break}return this.next()}hasNext(){return this._to!1,t=()=>!1){return new G2(new uFt(e,t))}static forStrings(){return new G2(new sFt)}static forConfigKeys(){return new G2(new aFt)}constructor(e){this._iter=e}clear(){this._root=void 0}set(e,t){const i=this._iter.reset(e);let r;this._root||(this._root=new zR,this._root.segment=i.value());const o=[];for(r=this._root;;){const a=i.cmp(r.segment);if(a>0)r.left||(r.left=new zR,r.left.segment=i.value()),o.push([-1,r]),r=r.left;else if(a<0)r.right||(r.right=new zR,r.right.segment=i.value()),o.push([1,r]),r=r.right;else if(i.hasNext())i.next(),r.mid||(r.mid=new zR,r.mid.segment=i.value()),o.push([0,r]),r=r.mid;else break}const s=r.value;r.value=t,r.key=e;for(let a=o.length-1;a>=0;a--){const l=o[a][1];l.updateHeight();const u=l.balanceFactor();if(u<-1||u>1){const c=o[a][0],d=o[a+1][0];if(c===1&&d===1)o[a][1]=l.rotateLeft();else if(c===-1&&d===-1)o[a][1]=l.rotateRight();else if(c===1&&d===-1)l.right=o[a+1][1]=o[a+1][1].rotateRight(),o[a][1]=l.rotateLeft();else if(c===-1&&d===1)l.left=o[a+1][1]=o[a+1][1].rotateLeft(),o[a][1]=l.rotateRight();else throw new Error;if(a>0)switch(o[a-1][0]){case-1:o[a-1][1].left=o[a][1];break;case 1:o[a-1][1].right=o[a][1];break;case 0:o[a-1][1].mid=o[a][1];break}else this._root=o[0][1]}}return s}get(e){var t;return(t=this._getNode(e))===null||t===void 0?void 0:t.value}_getNode(e){const t=this._iter.reset(e);let i=this._root;for(;i;){const r=t.cmp(i.segment);if(r>0)i=i.left;else if(r<0)i=i.right;else if(t.hasNext())t.next(),i=i.mid;else break}return i}has(e){const t=this._getNode(e);return!((t==null?void 0:t.value)===void 0&&(t==null?void 0:t.mid)===void 0)}delete(e){return this._delete(e,!1)}deleteSuperstr(e){return this._delete(e,!0)}_delete(e,t){var i;const r=this._iter.reset(e),o=[];let s=this._root;for(;s;){const a=r.cmp(s.segment);if(a>0)o.push([-1,s]),s=s.left;else if(a<0)o.push([1,s]),s=s.right;else if(r.hasNext())r.next(),o.push([0,s]),s=s.mid;else break}if(s){if(t?(s.left=void 0,s.mid=void 0,s.right=void 0,s.height=1):(s.key=void 0,s.value=void 0),!s.mid&&!s.value)if(s.left&&s.right){const a=this._min(s.right);if(a.key){const{key:l,value:u,segment:c}=a;this._delete(a.key,!1),s.key=l,s.value=u,s.segment=c}}else{const a=(i=s.left)!==null&&i!==void 0?i:s.right;if(o.length>0){const[l,u]=o[o.length-1];switch(l){case-1:u.left=a;break;case 0:u.mid=a;break;case 1:u.right=a;break}}else this._root=a}for(let a=o.length-1;a>=0;a--){const l=o[a][1];l.updateHeight();const u=l.balanceFactor();if(u>1?(l.right.balanceFactor()>=0||(l.right=l.right.rotateRight()),o[a][1]=l.rotateLeft()):u<-1&&(l.left.balanceFactor()<=0||(l.left=l.left.rotateLeft()),o[a][1]=l.rotateRight()),a>0)switch(o[a-1][0]){case-1:o[a-1][1].left=o[a][1];break;case 1:o[a-1][1].right=o[a][1];break;case 0:o[a-1][1].mid=o[a][1];break}else this._root=o[0][1]}}}_min(e){for(;e.left;)e=e.left;return e}findSubstr(e){const t=this._iter.reset(e);let i=this._root,r;for(;i;){const o=t.cmp(i.segment);if(o>0)i=i.left;else if(o<0)i=i.right;else if(t.hasNext())t.next(),r=i.value||r,i=i.mid;else break}return i&&i.value||r}findSuperstr(e){return this._findSuperstrOrElement(e,!1)}_findSuperstrOrElement(e,t){const i=this._iter.reset(e);let r=this._root;for(;r;){const o=i.cmp(r.segment);if(o>0)r=r.left;else if(o<0)r=r.right;else if(i.hasNext())i.next(),r=r.mid;else return r.mid?this._entries(r.mid):t?r.value:void 0}}forEach(e){for(const[t,i]of this)e(i,t)}*[Symbol.iterator](){yield*this._entries(this._root)}_entries(e){const t=[];return this._dfsEntries(e,t),t[Symbol.iterator]()}_dfsEntries(e,t){e&&(e.left&&this._dfsEntries(e.left,t),e.value&&t.push([e.key,e.value]),e.mid&&this._dfsEntries(e.mid,t),e.right&&this._dfsEntries(e.right,t))}}const Ry=Un("contextService");function eK(n){const e=n;return typeof(e==null?void 0:e.id)=="string"&&en.isUri(e.uri)}function cFt(n){const e=n;return typeof(e==null?void 0:e.id)=="string"&&!eK(n)&&!fFt(n)}const dFt={id:"ext-dev"},hFt={id:"empty-window"};function mFt(n,e){if(typeof n=="string"||typeof n>"u")return typeof n=="string"?{id:Kb(n)}:e?dFt:hFt;const t=n;return t.configuration?{id:t.id,configPath:t.configuration}:t.folders.length===1?{id:t.id,uri:t.folders[0].uri}:{id:t.id}}function fFt(n){const e=n;return typeof(e==null?void 0:e.id)=="string"&&en.isUri(e.configPath)}class gFt{constructor(e,t){this.raw=t,this.uri=e.uri,this.index=e.index,this.name=e.name}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}}const tK="code-workspace";L("codeWorkspace","Code Workspace");const _Se="4064f6ec-cb38-4ad0-af64-ee6467e63c82";function pFt(n){return n.id===_Se}var nK=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},nM=function(n,e){return function(t,i){e(t,i,n)}};class iK{async provideDocumentPasteEdits(e,t,i,r,o){const s=await this.getEdit(i,o);if(s)return{dispose(){},edits:[{insertText:s.insertText,title:s.title,kind:s.kind,handledMimeType:s.handledMimeType,yieldTo:s.yieldTo}]}}async provideDocumentOnDropEdits(e,t,i,r){const o=await this.getEdit(i,r);return o?[{insertText:o.insertText,title:o.title,kind:o.kind,handledMimeType:o.handledMimeType,yieldTo:o.yieldTo}]:void 0}}class wp extends iK{constructor(){super(...arguments),this.kind=wp.kind,this.dropMimeTypes=[Pr.text],this.pasteMimeTypes=[Pr.text]}async getEdit(e,t){const i=e.get(Pr.text);if(!i||e.has(Pr.uriList))return;const r=await i.asString();return{handledMimeType:Pr.text,title:L("text.label","Insert Plain Text"),insertText:r,kind:this.kind}}}wp.id="text",wp.kind=new Ai("text.plain");class FSe extends iK{constructor(){super(...arguments),this.kind=new Ai("uri.absolute"),this.dropMimeTypes=[Pr.uriList],this.pasteMimeTypes=[Pr.uriList]}async getEdit(e,t){const i=await ISe(e);if(!i.length||t.isCancellationRequested)return;let r=0;const o=i.map(({uri:a,originalText:l})=>a.scheme===wn.file?a.fsPath:(r++,l)).join(" ");let s;return r>0?s=i.length>1?L("defaultDropProvider.uriList.uris","Insert Uris"):L("defaultDropProvider.uriList.uri","Insert Uri"):s=i.length>1?L("defaultDropProvider.uriList.paths","Insert Paths"):L("defaultDropProvider.uriList.path","Insert Path"),{handledMimeType:Pr.uriList,insertText:o,title:s,kind:this.kind}}}let HR=class extends iK{constructor(e){super(),this._workspaceContextService=e,this.kind=new Ai("uri.relative"),this.dropMimeTypes=[Pr.uriList],this.pasteMimeTypes=[Pr.uriList]}async getEdit(e,t){const i=await ISe(e);if(!i.length||t.isCancellationRequested)return;const r=Ym(i.map(({uri:o})=>{const s=this._workspaceContextService.getWorkspaceFolder(o);return s?OCt(s.uri,o):void 0}));if(r.length)return{handledMimeType:Pr.uriList,insertText:r.join(" "),title:i.length>1?L("defaultDropProvider.uriList.relativePaths","Insert Relative Paths"):L("defaultDropProvider.uriList.relativePath","Insert Relative Path"),kind:this.kind}}};HR=nK([nM(0,Ry)],HR);class bFt{constructor(){this.kind=new Ai("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:Pr.text}]}async provideDocumentPasteEdits(e,t,i,r,o){var s;if(r.triggerKind!==BI.PasteAs&&!(!((s=r.only)===null||s===void 0)&&s.contains(this.kind)))return;const a=i.get("text/html"),l=await(a==null?void 0:a.asString());if(!(!l||o.isCancellationRequested))return{dispose(){},edits:[{insertText:l,yieldTo:this._yieldTo,title:L("pasteHtmlLabel","Insert HTML"),kind:this.kind}]}}}async function ISe(n){const e=n.get(Pr.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const r of BR.parse(t))try{i.push({uri:en.parse(r),originalText:r})}catch{}return i}let rK=class extends Ie{constructor(e,t){super(),this._register(e.documentOnDropEditProvider.register("*",new wp)),this._register(e.documentOnDropEditProvider.register("*",new FSe)),this._register(e.documentOnDropEditProvider.register("*",new HR(t)))}};rK=nK([nM(0,Zt),nM(1,Ry)],rK);let oK=class extends Ie{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new wp)),this._register(e.documentPasteEditProvider.register("*",new FSe)),this._register(e.documentPasteEditProvider.register("*",new HR(t))),this._register(e.documentPasteEditProvider.register("*",new bFt))}};oK=nK([nM(0,Zt),nM(1,Ry)],oK);class Pd{constructor(){this.value="",this.pos=0}static isDigitCharacter(e){return e>=48&&e<=57}static isVariableCharacter(e){return e===95||e>=97&&e<=122||e>=65&&e<=90}text(e){this.value=e,this.pos=0}tokenText(e){return this.value.substr(e.pos,e.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};const e=this.pos;let t=0,i=this.value.charCodeAt(e),r;if(r=Pd._table[i],typeof r=="number")return this.pos+=1,{type:r,pos:e,len:1};if(Pd.isDigitCharacter(i)){r=8;do t+=1,i=this.value.charCodeAt(e+t);while(Pd.isDigitCharacter(i));return this.pos+=t,{type:r,pos:e,len:t}}if(Pd.isVariableCharacter(i)){r=9;do i=this.value.charCodeAt(e+ ++t);while(Pd.isVariableCharacter(i)||Pd.isDigitCharacter(i));return this.pos+=t,{type:r,pos:e,len:t}}r=10;do t+=1,i=this.value.charCodeAt(e+t);while(!isNaN(i)&&typeof Pd._table[i]>"u"&&!Pd.isDigitCharacter(i)&&!Pd.isVariableCharacter(i));return this.pos+=t,{type:r,pos:e,len:t}}}Pd._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};class X2{constructor(){this._children=[]}appendChild(e){return e instanceof cl&&this._children[this._children.length-1]instanceof cl?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this}replace(e,t){const{parent:i}=e,r=i.children.indexOf(e),o=i.children.slice(0);o.splice(r,1,...t),i._children=o,function s(a,l){for(const u of a)u.parent=l,s(u.children,u)}(t,i)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let e=this;for(;;){if(!e)return;if(e instanceof rM)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}class cl extends X2{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new cl(this.value)}}class DSe extends X2{}class Qc extends DSe{static compareByIndex(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop||e.indext.index?1:0}constructor(e){super(),this.index=e}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof P2?this._children[0]:void 0}clone(){const e=new Qc(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}class P2 extends X2{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof cl&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new P2;return this.options.forEach(e.appendChild,e),e}}class sK extends X2{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(e){const t=this;let i=!1,r=e.replace(this.regexp,function(){return i=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))});return!i&&this._children.some(o=>o instanceof Kh&&!!o.elseValue)&&(r=this._replace([])),r}_replace(e){let t="";for(const i of this._children)if(i instanceof Kh){let r=e[i.index]||"";r=i.resolve(r),t+=r}else t+=i.toString();return t}toString(){return""}clone(){const e=new sK;return e.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),e._children=this.children.map(t=>t.clone()),e}}class Kh extends X2{constructor(e,t,i,r){super(),this.index=e,this.shorthandName=t,this.ifValue=i,this.elseValue=r}resolve(e){return this.shorthandName==="upcase"?e?e.toLocaleUpperCase():"":this.shorthandName==="downcase"?e?e.toLocaleLowerCase():"":this.shorthandName==="capitalize"?e?e[0].toLocaleUpperCase()+e.substr(1):"":this.shorthandName==="pascalcase"?e?this._toPascalCase(e):"":this.shorthandName==="camelcase"?e?this._toCamelCase(e):"":e&&typeof this.ifValue=="string"?this.ifValue:!e&&typeof this.elseValue=="string"?this.elseValue:e||""}_toPascalCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map(i=>i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}_toCamelCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map((i,r)=>r===0?i.charAt(0).toLowerCase()+i.substr(1):i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}clone(){return new Kh(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class iM extends DSe{constructor(e){super(),this.name=e}resolve(e){let t=e.resolve(this);return this.transform&&(t=this.transform.resolve(t||"")),t!==void 0?(this._children=[new cl(t)],!0):!1}clone(){const e=new iM(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}function MSe(n,e){const t=[...n];for(;t.length>0;){const i=t.shift();if(!e(i))break;t.unshift(...i.children)}}class rM extends X2{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof Qc&&(e.push(i),t=!t||t.indexr===e?(i=!0,!1):(t+=r.len(),!0)),i?t:-1}fullLen(e){let t=0;return MSe([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof Qc&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof iM&&t.resolve(e)&&(this._placeholders=void 0),!0)),this}appendChild(e){return this._placeholders=void 0,super.appendChild(e)}replace(e,t){return this._placeholders=void 0,super.replace(e,t)}clone(){const e=new rM;return this._children=this.children.map(t=>t.clone()),e}walk(e){MSe(this.children,e)}}class Vy{constructor(){this._scanner=new Pd,this._token={type:14,pos:0,len:0}}static escape(e){return e.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(e){return/\${?CLIPBOARD/.test(e)}parse(e,t,i){const r=new rM;return this.parseFragment(e,r),this.ensureFinalTabstop(r,i??!1,t??!1),r}parseFragment(e,t){const i=t.children.length;for(this._scanner.text(e),this._token=this._scanner.next();this._parse(t););const r=new Map,o=[];t.walk(l=>(l instanceof Qc&&(l.isFinalTabstop?r.set(0,void 0):!r.has(l.index)&&l.children.length>0?r.set(l.index,l.children):o.push(l)),!0));const s=(l,u)=>{const c=r.get(l.index);if(!c)return;const d=new Qc(l.index);d.transform=l.transform;for(const h of c){const m=h.clone();d.appendChild(m),m instanceof Qc&&r.has(m.index)&&!u.has(m.index)&&(u.add(m.index),s(m,u),u.delete(m.index))}t.replace(l,[d])},a=new Set;for(const l of o)s(l,a);return t.children.slice(i)}ensureFinalTabstop(e,t,i){(t||i&&e.placeholders.length>0)&&(e.placeholders.find(o=>o.index===0)||e.appendChild(new Qc(0)))}_accept(e,t){if(e===void 0||this._token.type===e){const i=t?this._scanner.tokenText(this._token):!0;return this._token=this._scanner.next(),i}return!1}_backTo(e){return this._scanner.pos=e.pos+e.len,this._token=e,!1}_until(e){const t=this._token;for(;this._token.type!==e;){if(this._token.type===14)return!1;if(this._token.type===5){const r=this._scanner.next();if(r.type!==0&&r.type!==4&&r.type!==5)return!1}this._token=this._scanner.next()}const i=this._scanner.value.substring(t.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),i}_parse(e){return this._parseEscaped(e)||this._parseTabstopOrVariableName(e)||this._parseComplexPlaceholder(e)||this._parseComplexVariable(e)||this._parseAnything(e)}_parseEscaped(e){let t;return(t=this._accept(5,!0))?(t=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||t,e.appendChild(new cl(t)),!0):!1}_parseTabstopOrVariableName(e){let t;const i=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new Qc(Number(t)):new iM(t)),!0):this._backTo(i)}_parseComplexPlaceholder(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(i);const o=new Qc(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(o),!0;if(!this._parse(o))return e.appendChild(new cl("${"+t+":")),o.children.forEach(e.appendChild,e),!0}else if(o.index>0&&this._accept(7)){const s=new P2;for(;;){if(this._parseChoiceElement(s)){if(this._accept(2))continue;if(this._accept(7)&&(o.appendChild(s),this._accept(4)))return e.appendChild(o),!0}return this._backTo(i),!1}}else return this._accept(6)?this._parseTransform(o)?(e.appendChild(o),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(o),!0):this._backTo(i)}_parseChoiceElement(e){const t=this._token,i=[];for(;!(this._token.type===2||this._token.type===7);){let r;if((r=this._accept(5,!0))?r=this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||r:r=this._accept(void 0,!0),!r)return this._backTo(t),!1;i.push(r)}return i.length===0?(this._backTo(t),!1):(e.appendChild(new cl(i.join(""))),!0)}_parseComplexVariable(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(i);const o=new iM(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(o),!0;if(!this._parse(o))return e.appendChild(new cl("${"+t+":")),o.children.forEach(e.appendChild,e),!0}else return this._accept(6)?this._parseTransform(o)?(e.appendChild(o),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(o),!0):this._backTo(i)}_parseTransform(e){const t=new sK;let i="",r="";for(;!this._accept(6);){let o;if(o=this._accept(5,!0)){o=this._accept(6,!0)||o,i+=o;continue}if(this._token.type!==14){i+=this._accept(void 0,!0);continue}return!1}for(;!this._accept(6);){let o;if(o=this._accept(5,!0)){o=this._accept(5,!0)||this._accept(6,!0)||o,t.appendChild(new cl(o));continue}if(!(this._parseFormatString(t)||this._parseAnything(t)))return!1}for(;!this._accept(4);){if(this._token.type!==14){r+=this._accept(void 0,!0);continue}return!1}try{t.regexp=new RegExp(i,r)}catch{return!1}return e.transform=t,!0}_parseFormatString(e){const t=this._token;if(!this._accept(0))return!1;let i=!1;this._accept(3)&&(i=!0);const r=this._accept(8,!0);if(r)if(i){if(this._accept(4))return e.appendChild(new Kh(Number(r))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new Kh(Number(r))),!0;else return this._backTo(t),!1;if(this._accept(6)){const o=this._accept(9,!0);return!o||!this._accept(4)?(this._backTo(t),!1):(e.appendChild(new Kh(Number(r),o)),!0)}else if(this._accept(11)){const o=this._until(4);if(o)return e.appendChild(new Kh(Number(r),void 0,o,void 0)),!0}else if(this._accept(12)){const o=this._until(4);if(o)return e.appendChild(new Kh(Number(r),void 0,void 0,o)),!0}else if(this._accept(13)){const o=this._until(1);if(o){const s=this._until(4);if(s)return e.appendChild(new Kh(Number(r),void 0,o,s)),!0}}else{const o=this._until(4);if(o)return e.appendChild(new Kh(Number(r),void 0,void 0,o)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new cl(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}function kSe(n,e,t){var i,r,o,s;return(typeof t.insertText=="string"?t.insertText==="":t.insertText.snippet==="")?{edits:(r=(i=t.additionalEdit)===null||i===void 0?void 0:i.edits)!==null&&r!==void 0?r:[]}:{edits:[...e.map(a=>new N0(n,{range:a,text:typeof t.insertText=="string"?Vy.escape(t.insertText)+"$0":t.insertText.snippet,insertAsSnippet:!0})),...(s=(o=t.additionalEdit)===null||o===void 0?void 0:o.edits)!==null&&s!==void 0?s:[]]}}function NSe(n){var e;function t(a,l){return"mimeType"in a?a.mimeType===l.handledMimeType:!!l.kind&&a.kind.contains(l.kind)}const i=new Map;for(const a of n)for(const l of(e=a.yieldTo)!==null&&e!==void 0?e:[])for(const u of n)if(u!==a&&t(l,u)){let c=i.get(a);c||(c=[],i.set(a,c)),c.push(u)}if(!i.size)return Array.from(n);const r=new Set,o=[];function s(a){if(!a.length)return[];const l=a[0];if(o.includes(l))return a;if(r.has(l))return s(a.slice(1));let u=[];const c=i.get(l);return c&&(o.push(l),u=s(c),o.pop()),r.add(l),[...u,l,...s(a.slice(1))]}return s(Array.from(n))}const aK=Un("IEditorCancelService"),TSe=new wt("cancellableOperation",!1,L("cancellableOperation","Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));qn(aK,class{constructor(){this._tokens=new WeakMap}add(n,e){let t=this._tokens.get(n);t||(t=n.invokeWithinContext(r=>{const o=TSe.bindTo(r.get(ln)),s=new ja;return{key:o,tokens:s}}),this._tokens.set(n,t));let i;return t.key.set(!0),i=t.tokens.push(e),()=>{i&&(i(),t.key.set(!t.tokens.isEmpty()),i=void 0)}}cancel(n){const e=this._tokens.get(n);if(!e)return;const t=e.tokens.pop();t&&(t.cancel(),e.key.set(!e.tokens.isEmpty()))}},1);class vFt extends fo{constructor(e,t){super(t),this.editor=e,this._unregister=e.invokeWithinContext(i=>i.get(aK).add(e,this))}dispose(){this._unregister(),super.dispose()}}gt(new class extends Ko{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:TSe})}runEditorCommand(n,e){n.get(aK).cancel(e)}});let ESe=class Hee{constructor(e,t){if(this.flags=t,this.flags&1){const i=e.getModel();this.modelVersionId=i?pS("{0}#{1}",i.uri.toString(),i.getVersionId()):null}else this.modelVersionId=null;this.flags&4?this.position=e.getPosition():this.position=null,this.flags&2?this.selection=e.getSelection():this.selection=null,this.flags&8?(this.scrollLeft=e.getScrollLeft(),this.scrollTop=e.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(e){if(!(e instanceof Hee))return!1;const t=e;return!(this.modelVersionId!==t.modelVersionId||this.scrollLeft!==t.scrollLeft||this.scrollTop!==t.scrollTop||!this.position&&t.position||this.position&&!t.position||this.position&&t.position&&!this.position.equals(t.position)||!this.selection&&t.selection||this.selection&&!t.selection||this.selection&&t.selection&&!this.selection.equalsRange(t.selection))}validate(e){return this._equals(new Hee(e,this.flags))}};class T0 extends vFt{constructor(e,t,i,r){super(e,r),this._listener=new Je,t&4&&this._listener.add(e.onDidChangeCursorPosition(o=>{(!i||!J.containsPosition(i,o.position))&&this.cancel()})),t&2&&this._listener.add(e.onDidChangeCursorSelection(o=>{(!i||!J.containsRange(i,o.selection))&&this.cancel()})),t&8&&this._listener.add(e.onDidScrollChange(o=>this.cancel())),t&1&&(this._listener.add(e.onDidChangeModel(o=>this.cancel())),this._listener.add(e.onDidChangeModelContent(o=>this.cancel())))}dispose(){this._listener.dispose(),super.dispose()}}class lK extends fo{constructor(e,t){super(t),this._listener=e.onDidChangeContent(()=>this.cancel())}dispose(){this._listener.dispose(),super.dispose()}}var yFt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},CFt=function(n,e){return function(t,i){e(t,i,n)}};const wFt=yn.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:c0e,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}});class YR extends Ie{constructor(e,t,i,r,o){super(),this.typeId=e,this.editor=t,this.range=i,this.delegate=o,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(r),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(e){this.domNode=Ct(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=Ct("span.icon");this.domNode.append(t),t.classList.add(...sn.asClassNameArray(ut.loading),"codicon-modifier-spin");const i=()=>{const r=this.editor.getOption(67);this.domNode.style.height=`${r}px`,this.domNode.style.width=`${Math.ceil(.8*r)}px`};i(),this._register(this.editor.onDidChangeConfiguration(r=>{(r.hasChanged(52)||r.hasChanged(67))&&i()})),this._register(Ae(this.domNode,ot.CLICK,r=>{this.delegate.cancel()}))}getId(){return YR.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:{lineNumber:this.range.startLineNumber,column:this.range.startColumn},preference:[0]}}dispose(){super.dispose(),this.editor.removeContentWidget(this)}}YR.baseId="editor.widget.inlineProgressWidget";let UR=class extends Ie{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new Ms),this._currentWidget=new Ms,this._operationIdPool=0,this._currentDecorations=t.createDecorationsCollection()}async showWhile(e,t,i){const r=this._operationIdPool++;this._currentOperation=r,this.clear(),this._showPromise.value=Gb(()=>{const o=J.fromPositions(e);this._currentDecorations.set([{range:o,options:wFt}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(YR,this.id,this._editor,o,t,i))},this._showDelay);try{return await i}finally{this._currentOperation===r&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};UR=yFt([CFt(2,$t)],UR);const Bl=Un("openerService");function SFt(n){let e;const t=/^L?(\d+)(?:,(\d+))?(-L?(\d+)(?:,(\d+))?)?/.exec(n.fragment);return t&&(e={startLineNumber:parseInt(t[1]),startColumn:t[2]?parseInt(t[2]):1,endLineNumber:t[4]?parseInt(t[4]):void 0,endColumn:t[4]?t[5]?parseInt(t[5]):1:void 0},n=n.with({fragment:""})),{selection:e,uri:n}}var xFt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},ZSe=function(n,e){return function(t,i){e(t,i,n)}},uK;let xf=uK=class{constructor(e,t,i){this._options=e,this._languageService=t,this._openerService=i,this._onDidRenderAsync=new be,this.onDidRenderAsync=this._onDidRenderAsync.event}dispose(){this._onDidRenderAsync.dispose()}render(e,t,i){if(!e)return{element:document.createElement("span"),dispose:()=>{}};const r=new Je,o=r.add(pR(e,{...this._getRenderOptions(e,r),...t},i));return o.element.classList.add("rendered-markdown"),{element:o.element,dispose:()=>r.dispose()}}_getRenderOptions(e,t){return{codeBlockRenderer:async(i,r)=>{var o,s,a;let l;i?l=this._languageService.getLanguageIdByLanguageName(i):this._options.editor&&(l=(o=this._options.editor.getModel())===null||o===void 0?void 0:o.getLanguageId()),l||(l=Pu);const u=await fSt(this._languageService,r,l),c=document.createElement("span");if(c.innerHTML=(a=(s=uK._ttpTokenizer)===null||s===void 0?void 0:s.createHTML(u))!==null&&a!==void 0?a:u,this._options.editor){const d=this._options.editor.getOption(50);Ts(c,d)}else this._options.codeBlockFontFamily&&(c.style.fontFamily=this._options.codeBlockFontFamily);return this._options.codeBlockFontSize!==void 0&&(c.style.fontSize=this._options.codeBlockFontSize),c},asyncRenderCallback:()=>this._onDidRenderAsync.fire(),actionHandler:{callback:i=>cK(this._openerService,i,e.isTrusted),disposables:t}}}};xf._ttpTokenizer=jg("tokenizeToString",{createHTML(n){return n}}),xf=uK=xFt([ZSe(1,vr),ZSe(2,Bl)],xf);async function cK(n,e,t){try{return await n.open(e,{fromUserGesture:!0,allowContributedOpeners:!0,allowCommands:LFt(t)})}catch(i){return vn(i),!1}}function LFt(n){return n===!0?!0:n&&Array.isArray(n.enabledCommands)?n.enabledCommands:!1}var _Ft=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},WSe=function(n,e){return function(t,i){e(t,i,n)}},KR;let dl=KR=class{static get(e){return e.getContribution(KR.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new Ms,this._messageListeners=new Je,this._mouseOverMessage=!1,this._editor=e,this._visible=KR.MESSAGE_VISIBLE.bindTo(t)}dispose(){var e;(e=this._message)===null||e===void 0||e.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){kl(Yh(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=Yh(e)?pR(e,{actionHandler:{callback:r=>{this.closeMessage(),cK(this._openerService,r,Yh(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new RSe(this._editor,t,typeof e=="string"?e:this._message.element),this._messageListeners.add(lt.debounce(this._editor.onDidBlurEditorText,(r,o)=>o,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&ps(js(),this._messageWidget.value.getDomNode())||this.closeMessage()})),this._messageListeners.add(this._editor.onDidChangeCursorPosition(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidDispose(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeModel(()=>this.closeMessage())),this._messageListeners.add(Ae(this._messageWidget.value.getDomNode(),ot.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(Ae(this._messageWidget.value.getDomNode(),ot.MOUSE_LEAVE,()=>this._mouseOverMessage=!1,!0));let i;this._messageListeners.add(this._editor.onMouseMove(r=>{r.target.position&&(i?i.containsPosition(r.target.position)||this.closeMessage():i=new J(t.lineNumber-3,1,r.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(RSe.fadeOut(this._messageWidget.value))}};dl.ID="editor.contrib.messageController",dl.MESSAGE_VISIBLE=new wt("messageVisible",!1,L("messageVisible","Whether the editor is currently showing an inline message")),dl=KR=_Ft([WSe(1,ln),WSe(2,Bl)],dl);const FFt=Ko.bindToContribution(dl.get);gt(new FFt({id:"leaveEditorMessage",precondition:dl.MESSAGE_VISIBLE,handler:n=>n.closeMessage(),kbOpts:{weight:130,primary:9}}));let RSe=class{static fadeOut(e){const t=()=>{e.dispose(),clearTimeout(i),e.getDomNode().removeEventListener("animationend",t)},i=setTimeout(t,110);return e.getDomNode().addEventListener("animationend",t),e.getDomNode().classList.add("fadeOut"),{dispose:t}}constructor(e,{lineNumber:t,column:i},r){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(t,t,0),this._position={lineNumber:t,column:i},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";const o=document.createElement("div");o.classList.add("anchor","top"),this._domNode.appendChild(o);const s=document.createElement("div");typeof r=="string"?(s.classList.add("message"),s.textContent=r):(r.classList.add("message"),s.appendChild(r)),this._domNode.appendChild(s);const a=document.createElement("div");a.classList.add("anchor","below"),this._domNode.appendChild(a),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(e){this._domNode.classList.toggle("below",e===2)}};yi(dl.ID,dl,4);const IFt={ctrlCmd:!1,alt:!1};var O2;(function(n){n[n.Blur=1]="Blur",n[n.Gesture=2]="Gesture",n[n.Other=3]="Other"})(O2||(O2={}));var Lf;(function(n){n[n.NONE=0]="NONE",n[n.FIRST=1]="FIRST",n[n.SECOND=2]="SECOND",n[n.LAST=3]="LAST"})(Lf||(Lf={}));const Ay=Un("quickInputService");Ze.white.toString(),Ze.white.toString();class JR extends Ie{get onDidClick(){return this._onDidClick.event}constructor(e,t){super(),this._label="",this._onDidClick=this._register(new be),this._onDidEscape=this._register(new be),this.options=t,this._element=document.createElement("a"),this._element.classList.add("monaco-button"),this._element.tabIndex=0,this._element.setAttribute("role","button"),this._element.classList.toggle("secondary",!!t.secondary);const i=t.secondary?t.buttonSecondaryBackground:t.buttonBackground,r=t.secondary?t.buttonSecondaryForeground:t.buttonForeground;this._element.style.color=r||"",this._element.style.backgroundColor=i||"",t.supportShortLabel&&(this._labelShortElement=document.createElement("div"),this._labelShortElement.classList.add("monaco-button-label-short"),this._element.appendChild(this._labelShortElement),this._labelElement=document.createElement("div"),this._labelElement.classList.add("monaco-button-label"),this._element.appendChild(this._labelElement),this._element.classList.add("monaco-text-button-with-short-label")),typeof t.title=="string"&&this.setTitle(t.title),typeof t.ariaLabel=="string"&&this._element.setAttribute("aria-label",t.ariaLabel),e.appendChild(this._element),this._register(ir.addTarget(this._element)),[ot.CLICK,nr.Tap].forEach(o=>{this._register(Ae(this._element,o,s=>{if(!this.enabled){Vn.stop(s);return}this._onDidClick.fire(s)}))}),this._register(Ae(this._element,ot.KEY_DOWN,o=>{const s=new sr(o);let a=!1;this.enabled&&(s.equals(3)||s.equals(10))?(this._onDidClick.fire(o),a=!0):s.equals(9)&&(this._onDidEscape.fire(o),this._element.blur(),a=!0),a&&Vn.stop(s,!0)})),this._register(Ae(this._element,ot.MOUSE_OVER,o=>{this._element.classList.contains("disabled")||this.updateBackground(!0)})),this._register(Ae(this._element,ot.MOUSE_OUT,o=>{this.updateBackground(!1)})),this.focusTracker=this._register(Dh(this._element)),this._register(this.focusTracker.onDidFocus(()=>{this.enabled&&this.updateBackground(!0)})),this._register(this.focusTracker.onDidBlur(()=>{this.enabled&&this.updateBackground(!1)}))}dispose(){super.dispose(),this._element.remove()}getContentElements(e){const t=[];for(let i of w0(e))if(typeof i=="string"){if(i=i.trim(),i==="")continue;const r=document.createElement("span");r.textContent=i,t.push(r)}else t.push(i);return t}updateBackground(e){let t;this.options.secondary?t=e?this.options.buttonSecondaryHoverBackground:this.options.buttonSecondaryBackground:t=e?this.options.buttonHoverBackground:this.options.buttonBackground,t&&(this._element.style.backgroundColor=t)}get element(){return this._element}set label(e){var t;if(this._label===e||Yh(this._label)&&Yh(e)&&A2t(this._label,e))return;this._element.classList.add("monaco-text-button");const i=this.options.supportShortLabel?this._labelElement:this._element;if(Yh(e)){const o=pR(e,{inline:!0});o.dispose();const s=(t=o.element.querySelector("p"))===null||t===void 0?void 0:t.innerHTML;if(s){const a=e0e(s,{ADD_TAGS:["b","i","u","code","span"],ALLOWED_ATTR:["class"],RETURN_TRUSTED_TYPE:!0});i.innerHTML=a}else Qs(i)}else this.options.supportIcons?Qs(i,...this.getContentElements(e)):i.textContent=e;let r="";typeof this.options.title=="string"?r=this.options.title:this.options.title&&(r=ext(e)),this.setTitle(r),typeof this.options.ariaLabel=="string"?this._element.setAttribute("aria-label",this.options.ariaLabel):this.options.ariaLabel&&this._element.setAttribute("aria-label",r),this._label=e}get label(){return this._label}set icon(e){this._element.classList.add(...sn.asClassNameArray(e))}set enabled(e){e?(this._element.classList.remove("disabled"),this._element.setAttribute("aria-disabled",String(!1)),this._element.tabIndex=0):(this._element.classList.add("disabled"),this._element.setAttribute("aria-disabled",String(!0)))}get enabled(){return!this._element.classList.contains("disabled")}setTitle(e){var t;!this._hover&&e!==""?this._hover=this._register(Vd((t=this.options.hoverDelegate)!==null&&t!==void 0?t:Pl("mouse"),this._element,e)):this._hover&&this._hover.update(e)}}var VSe=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},oM=function(n,e){return function(t,i){e(t,i,n)}},dK;let jR=dK=class extends Ie{constructor(e,t,i,r,o,s,a,l,u,c){super(),this.typeId=e,this.editor=t,this.showCommand=r,this.range=o,this.edits=s,this.onSelectNewEdit=a,this._contextMenuService=l,this._keybindingService=c,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=i.bindTo(u),this.visibleContext.set(!0),this._register(jt(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(jt(()=>this.editor.removeContentWidget(this))),this._register(this.editor.onDidChangeCursorPosition(d=>{o.containsPosition(d.position)||this.dispose()})),this._register(lt.runAndSubscribe(c.onDidUpdateKeybindings,()=>{this._updateButtonTitle()}))}_updateButtonTitle(){var e;const t=(e=this._keybindingService.lookupKeybinding(this.showCommand.id))===null||e===void 0?void 0:e.getLabel();this.button.element.title=this.showCommand.label+(t?` (${t})`:"")}create(){this.domNode=Ct(".post-edit-widget"),this.button=this._register(new JR(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(Ae(this.domNode,ot.CLICK,()=>this.showSelector()))}getId(){return dK.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=po(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>xS({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}};jR.baseId="editor.widget.postEditWidget",jR=dK=VSe([oM(7,fu),oM(8,ln),oM(9,Bi)],jR);let QR=class extends Ie{constructor(e,t,i,r,o,s){super(),this._id=e,this._editor=t,this._visibleContext=i,this._showCommand=r,this._instantiationService=o,this._bulkEditService=s,this._currentWidget=this._register(new Ms),this._register(lt.any(t.onDidChangeModel,t.onDidChangeModelContent)(()=>this.clear()))}async applyEditAndShowIfNeeded(e,t,i,r,o){const s=this._editor.getModel();if(!s||!e.length)return;const a=t.allEdits.at(t.activeEditIndex);if(!a)return;const l=await r(a,o),u=kSe(s.uri,e,l),c=e[0],d=s.deltaDecorations([],[{range:c,options:{description:"paste-line-suffix",stickiness:0}}]);let h,m;try{h=await this._bulkEditService.apply(u,{editor:this._editor,token:o}),m=s.getDecorationRange(d[0])}finally{s.deltaDecorations(d,[])}i&&h.isApplied&&t.allEdits.length>1&&this.show(m??c,t,async f=>{const g=this._editor.getModel();g&&(await g.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:f,allEdits:t.allEdits},i,r,o))})}show(e,t,i){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(jR,this._id,this._editor,this._visibleContext,this._showCommand,e,t,i))}clear(){this._currentWidget.clear()}tryShowSelector(){var e;(e=this._currentWidget.value)===null||e===void 0||e.showSelector()}};QR=VSe([oM(4,$t),oM(5,tM)],QR);var DFt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},B2=function(n,e){return function(t,i){e(t,i,n)}},Gy;const ASe="editor.changePasteType",hK=new wt("pasteWidgetVisible",!1,L("pasteWidgetVisible","Whether the paste widget is showing")),mK="application/vnd.code.copyMetadata";let _f=Gy=class extends Ie{static get(e){return e.getContribution(Gy.ID)}constructor(e,t,i,r,o,s,a){super(),this._bulkEditService=i,this._clipboardService=r,this._languageFeaturesService=o,this._quickInputService=s,this._progressService=a,this._editor=e;const l=e.getContainerDomNode();this._register(Ae(l,"copy",u=>this.handleCopy(u))),this._register(Ae(l,"cut",u=>this.handleCopy(u))),this._register(Ae(l,"paste",u=>this.handlePaste(u),!0)),this._pasteProgressManager=this._register(new UR("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance(QR,"pasteIntoEditor",e,hK,{id:ASe,label:L("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},wS().execCommand("paste")}finally{this._pasteAsActionContext=void 0}}clearWidgets(){this._postPasteWidgetManager.clear()}isPasteAsEnabled(){return this._editor.getOption(85).enabled&&!this._editor.getOption(91)}async finishedPaste(){await this._currentPasteOperation}handleCopy(e){var t,i;if(!this._editor.hasTextFocus()||(Ab&&this._clipboardService.writeResources([]),!e.clipboardData||!this.isPasteAsEnabled()))return;const r=this._editor.getModel(),o=this._editor.getSelections();if(!r||!(o!=null&&o.length))return;const s=this._editor.getOption(37);let a=o;const l=o.length===1&&o[0].isEmpty();if(l){if(!s)return;a=[new J(a[0].startLineNumber,1,a[0].startLineNumber,1+r.getLineLength(a[0].startLineNumber))]}const u=(t=this._editor._getViewModel())===null||t===void 0?void 0:t.getPlainTextToCopy(o,s,ha),d={multicursorText:Array.isArray(u)?u:null,pasteOnNewLine:l,mode:null},h=this._languageFeaturesService.documentPasteEditProvider.ordered(r).filter(v=>!!v.prepareDocumentPaste);if(!h.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:d});return}const m=xSe(e.clipboardData),f=h.flatMap(v=>{var C;return(C=v.copyMimeTypes)!==null&&C!==void 0?C:[]}),g=PR();this.setCopyMetadata(e.clipboardData,{id:g,providerCopyMimeTypes:f,defaultPastePayload:d});const b=rs(async v=>{const C=Ym(await Promise.all(h.map(async S=>{try{return await S.prepareDocumentPaste(r,a,m,v)}catch{return}})));C.reverse();for(const S of C)for(const[x,_]of S)m.replace(x,_);return m});(i=Gy._currentCopyOperation)===null||i===void 0||i.dataTransferPromise.cancel(),Gy._currentCopyOperation={handle:g,dataTransferPromise:b}}async handlePaste(e){var t,i,r,o;if(!e.clipboardData||!this._editor.hasTextFocus())return;(t=dl.get(this._editor))===null||t===void 0||t.closeMessage(),(i=this._currentPasteOperation)===null||i===void 0||i.cancel(),this._currentPasteOperation=void 0;const s=this._editor.getModel(),a=this._editor.getSelections();if(!(a!=null&&a.length)||!s||!this.isPasteAsEnabled()&&!this._pasteAsActionContext)return;const l=this.fetchCopyMetadata(e),u=LSe(e.clipboardData);u.delete(mK);const c=[...e.clipboardData.types,...(r=l==null?void 0:l.providerCopyMimeTypes)!==null&&r!==void 0?r:[],Pr.uriList],d=this._languageFeaturesService.documentPasteEditProvider.ordered(s).filter(h=>{var m,f;const g=(m=this._pasteAsActionContext)===null||m===void 0?void 0:m.preferred;return g&&h.providedPasteEditKinds&&!this.providerMatchesPreference(h,g)?!1:(f=h.pasteMimeTypes)===null||f===void 0?void 0:f.some(b=>CSe(b,c))});if(!d.length){!((o=this._pasteAsActionContext)===null||o===void 0)&&o.preferred&&this.showPasteAsNoEditMessage(a,this._pasteAsActionContext.preferred);return}e.preventDefault(),e.stopImmediatePropagation(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferred,d,a,u,l):this.doPasteInline(d,a,u,l,e)}showPasteAsNoEditMessage(e,t){var i;(i=dl.get(this._editor))===null||i===void 0||i.showMessage(L("pasteAsError","No paste edits for '{0}' found",t instanceof Ai?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,i,r,o){const s=rs(async a=>{const l=this._editor;if(!l.hasModel())return;const u=l.getModel(),c=new T0(l,3,void 0,a);try{if(await this.mergeInDataFromCopy(i,r,c.token),c.token.isCancellationRequested)return;const d=e.filter(f=>this.isSupportedPasteProvider(f,i));if(!d.length||d.length===1&&d[0]instanceof wp)return this.applyDefaultPasteHandler(i,r,c.token,o);const h={triggerKind:BI.Automatic},m=await this.getPasteEdits(d,i,u,t,h,c.token);if(c.token.isCancellationRequested)return;if(m.length===1&&m[0].provider instanceof wp)return this.applyDefaultPasteHandler(i,r,c.token,o);if(m.length){const f=l.getOption(85).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:m},f,async(g,b)=>{var v,C;const S=await((C=(v=g.provider).resolveDocumentPasteEdit)===null||C===void 0?void 0:C.call(v,g,b));return S&&(g.additionalEdit=S.additionalEdit),g},c.token)}await this.applyDefaultPasteHandler(i,r,c.token,o)}finally{c.dispose(),this._currentPasteOperation===s&&(this._currentPasteOperation=void 0)}});this._pasteProgressManager.showWhile(t[0].getEndPosition(),L("pasteIntoEditorProgress","Running paste handlers. Click to cancel"),s),this._currentPasteOperation=s}showPasteAsPick(e,t,i,r,o){const s=rs(async a=>{const l=this._editor;if(!l.hasModel())return;const u=l.getModel(),c=new T0(l,3,void 0,a);try{if(await this.mergeInDataFromCopy(r,o,c.token),c.token.isCancellationRequested)return;let d=t.filter(b=>this.isSupportedPasteProvider(b,r,e));e&&(d=d.filter(b=>this.providerMatchesPreference(b,e)));const h={triggerKind:BI.PasteAs,only:e&&e instanceof Ai?e:void 0};let m=await this.getPasteEdits(d,r,u,i,h,c.token);if(c.token.isCancellationRequested)return;if(e&&(m=m.filter(b=>e instanceof Ai?e.contains(b.kind):e.providerId===b.provider.id)),!m.length){h.only&&this.showPasteAsNoEditMessage(i,h.only);return}let f;if(e)f=m.at(0);else{const b=await this._quickInputService.pick(m.map(v=>{var C;return{label:v.title,description:(C=v.kind)===null||C===void 0?void 0:C.value,edit:v}}),{placeHolder:L("pasteAsPickerPlaceholder","Select Paste Action")});f=b==null?void 0:b.edit}if(!f)return;const g=kSe(u.uri,i,f);await this._bulkEditService.apply(g,{editor:this._editor})}finally{c.dispose(),this._currentPasteOperation===s&&(this._currentPasteOperation=void 0)}});this._progressService.withProgress({location:10,title:L("pasteAsProgress","Running paste handlers")},()=>s)}setCopyMetadata(e,t){e.setData(mK,JSON.stringify(t))}fetchCopyMetadata(e){var t;if(!e.clipboardData)return;const i=e.clipboardData.getData(mK);if(i)try{return JSON.parse(i)}catch{return}const[r,o]=T6.getTextData(e.clipboardData);if(o)return{defaultPastePayload:{mode:o.mode,multicursorText:(t=o.multicursorText)!==null&&t!==void 0?t:null,pasteOnNewLine:!!o.isFromEmptySelection}}}async mergeInDataFromCopy(e,t,i){var r;if(t!=null&&t.id&&((r=Gy._currentCopyOperation)===null||r===void 0?void 0:r.handle)===t.id){const o=await Gy._currentCopyOperation.dataTransferPromise;if(i.isCancellationRequested)return;for(const[s,a]of o)e.replace(s,a)}if(!e.has(Pr.uriList)){const o=await this._clipboardService.readResources();if(i.isCancellationRequested)return;o.length&&e.append(Pr.uriList,$U(BR.create(o)))}}async getPasteEdits(e,t,i,r,o,s){const a=await UF(Promise.all(e.map(async u=>{var c,d;try{const h=await((c=u.provideDocumentPasteEdits)===null||c===void 0?void 0:c.call(u,i,r,t,o,s));return(d=h==null?void 0:h.edits)===null||d===void 0?void 0:d.map(m=>({...m,provider:u}))}catch{}})),s),l=Ym(a??[]).flat().filter(u=>!o.only||o.only.contains(u.kind));return NSe(l)}async applyDefaultPasteHandler(e,t,i,r){var o,s,a,l;const u=(o=e.get(Pr.text))!==null&&o!==void 0?o:e.get("text"),c=(s=await(u==null?void 0:u.asString()))!==null&&s!==void 0?s:"";if(i.isCancellationRequested)return;const d={clipboardEvent:r,text:c,pasteOnNewLine:(a=t==null?void 0:t.defaultPastePayload.pasteOnNewLine)!==null&&a!==void 0?a:!1,multicursorText:(l=t==null?void 0:t.defaultPastePayload.multicursorText)!==null&&l!==void 0?l:null,mode:null};this._editor.trigger("keyboard","paste",d)}isSupportedPasteProvider(e,t,i){var r;return!((r=e.pasteMimeTypes)===null||r===void 0)&&r.some(o=>t.matches(o))?!i||this.providerMatchesPreference(e,i):!1}providerMatchesPreference(e,t){return t instanceof Ai?e.providedPasteEditKinds?e.providedPasteEditKinds.some(i=>t.contains(i)):!0:e.id===t.providerId}};_f.ID="editor.contrib.copyPasteActionController",_f=Gy=DFt([B2(1,$t),B2(2,tM),B2(3,gp),B2(4,Zt),B2(5,Ay),B2(6,tSe)],_f);const Xy="9_cutcopypaste",MFt=Sh||document.queryCommandSupported("cut"),GSe=Sh||document.queryCommandSupported("copy"),kFt=typeof navigator.clipboard>"u"||Ic?document.queryCommandSupported("paste"):!0;function fK(n){return n.register(),n}const NFt=MFt?fK(new FS({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:Sh?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:Q.MenubarEditMenu,group:"2_ccp",title:L({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:Q.EditorContext,group:Xy,title:L("actions.clipboard.cutLabel","Cut"),when:ne.writable,order:1},{menuId:Q.CommandPalette,group:"",title:L("actions.clipboard.cutLabel","Cut"),order:1},{menuId:Q.SimpleEditorContext,group:Xy,title:L("actions.clipboard.cutLabel","Cut"),when:ne.writable,order:1}]})):void 0,TFt=GSe?fK(new FS({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:Sh?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:Q.MenubarEditMenu,group:"2_ccp",title:L({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:Q.EditorContext,group:Xy,title:L("actions.clipboard.copyLabel","Copy"),order:2},{menuId:Q.CommandPalette,group:"",title:L("actions.clipboard.copyLabel","Copy"),order:1},{menuId:Q.SimpleEditorContext,group:Xy,title:L("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;ss.appendMenuItem(Q.MenubarEditMenu,{submenu:Q.MenubarCopy,title:oi("copy as","Copy As"),group:"2_ccp",order:3}),ss.appendMenuItem(Q.EditorContext,{submenu:Q.EditorContextCopy,title:oi("copy as","Copy As"),group:Xy,order:3}),ss.appendMenuItem(Q.EditorContext,{submenu:Q.EditorContextShare,title:oi("share","Share"),group:"11_share",order:-1,when:Oe.and(Oe.notEquals("resourceScheme","output"),ne.editorTextFocus)}),ss.appendMenuItem(Q.EditorTitleContext,{submenu:Q.EditorTitleContextShare,title:oi("share","Share"),group:"11_share",order:-1}),ss.appendMenuItem(Q.ExplorerContext,{submenu:Q.ExplorerContextShare,title:oi("share","Share"),group:"11_share",order:-1});const gK=kFt?fK(new FS({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:Sh?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:Q.MenubarEditMenu,group:"2_ccp",title:L({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:Q.EditorContext,group:Xy,title:L("actions.clipboard.pasteLabel","Paste"),when:ne.writable,order:4},{menuId:Q.CommandPalette,group:"",title:L("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:Q.SimpleEditorContext,group:Xy,title:L("actions.clipboard.pasteLabel","Paste"),when:ne.writable,order:4}]})):void 0;class EFt extends Mt{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:L("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:ne.textInputFocus,primary:0,weight:100}})}run(e,t){!t.hasModel()||!t.getOption(37)&&t.getSelection().isEmpty()||(k6.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),k6.forceCopyWithSyntaxHighlighting=!1)}}function XSe(n,e){n&&(n.addImplementation(1e4,"code-editor",(t,i)=>{const r=t.get(vi).getFocusedCodeEditor();if(r&&r.hasTextFocus()){const o=r.getOption(37),s=r.getSelection();return s&&s.isEmpty()&&!o||r.getContainerDomNode().ownerDocument.execCommand(e),!0}return!1}),n.addImplementation(0,"generic-dom",(t,i)=>(wS().execCommand(e),!0)))}XSe(NFt,"cut"),XSe(TFt,"copy"),gK&&(gK.addImplementation(1e4,"code-editor",(n,e)=>{var t,i;const r=n.get(vi),o=n.get(gp),s=r.getFocusedCodeEditor();return s&&s.hasTextFocus()?s.getContainerDomNode().ownerDocument.execCommand("paste")?(i=(t=_f.get(s))===null||t===void 0?void 0:t.finishedPaste())!==null&&i!==void 0?i:Promise.resolve():Ab?(async()=>{const l=await o.readText();if(l!==""){const u=VI.INSTANCE.get(l);let c=!1,d=null,h=null;u&&(c=s.getOption(37)&&!!u.isFromEmptySelection,d=typeof u.multicursorText<"u"?u.multicursorText:null,h=u.mode),s.trigger("keyboard","paste",{text:l,pasteOnNewLine:c,multicursorText:d,mode:h})}})():!0:!1}),gK.addImplementation(0,"generic-dom",(n,e)=>(wS().execCommand("paste"),!0))),GSe&&tt(EFt);const $R=Object.freeze({id:"editor",order:5,type:"object",title:L("editorConfigurationTitle","Editor"),scope:5}),qR={...$R,properties:{"editor.tabSize":{type:"number",default:pa.tabSize,minimum:1,markdownDescription:L("tabSize","The number of spaces a tab is equal to. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.indentSize":{anyOf:[{type:"string",enum:["tabSize"]},{type:"number",minimum:1}],default:"tabSize",markdownDescription:L("indentSize",'The number of spaces used for indentation or `"tabSize"` to use the value from `#editor.tabSize#`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.')},"editor.insertSpaces":{type:"boolean",default:pa.insertSpaces,markdownDescription:L("insertSpaces","Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.detectIndentation":{type:"boolean",default:pa.detectIndentation,markdownDescription:L("detectIndentation","Controls whether {0} and {1} will be automatically detected when a file is opened based on the file contents.","`#editor.tabSize#`","`#editor.insertSpaces#`")},"editor.trimAutoWhitespace":{type:"boolean",default:pa.trimAutoWhitespace,description:L("trimAutoWhitespace","Remove trailing auto inserted whitespace.")},"editor.largeFileOptimizations":{type:"boolean",default:pa.largeFileOptimizations,description:L("largeFileOptimizations","Special handling for large files to disable certain memory intensive features.")},"editor.wordBasedSuggestions":{enum:["off","currentDocument","matchingDocuments","allDocuments"],default:"matchingDocuments",enumDescriptions:[L("wordBasedSuggestions.off","Turn off Word Based Suggestions."),L("wordBasedSuggestions.currentDocument","Only suggest words from the active document."),L("wordBasedSuggestions.matchingDocuments","Suggest words from all open documents of the same language."),L("wordBasedSuggestions.allDocuments","Suggest words from all open documents.")],description:L("wordBasedSuggestions","Controls whether completions should be computed based on words in the document and from which documents they are computed.")},"editor.semanticHighlighting.enabled":{enum:[!0,!1,"configuredByTheme"],enumDescriptions:[L("semanticHighlighting.true","Semantic highlighting enabled for all color themes."),L("semanticHighlighting.false","Semantic highlighting disabled for all color themes."),L("semanticHighlighting.configuredByTheme","Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.")],default:"configuredByTheme",description:L("semanticHighlighting.enabled","Controls whether the semanticHighlighting is shown for the languages that support it.")},"editor.stablePeek":{type:"boolean",default:!1,markdownDescription:L("stablePeek","Keep peek editors open even when double-clicking their content or when hitting `Escape`.")},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:L("maxTokenizationLineLength","Lines above this length will not be tokenized for performance reasons")},"editor.experimental.asyncTokenization":{type:"boolean",default:!1,description:L("editor.experimental.asyncTokenization","Controls whether the tokenization should happen asynchronously on a web worker."),tags:["experimental"]},"editor.experimental.asyncTokenizationLogging":{type:"boolean",default:!1,description:L("editor.experimental.asyncTokenizationLogging","Controls whether async tokenization should be logged. For debugging only.")},"editor.experimental.asyncTokenizationVerification":{type:"boolean",default:!1,description:L("editor.experimental.asyncTokenizationVerification","Controls whether async tokenization should be verified against legacy background tokenization. Might slow down tokenization. For debugging only."),tags:["experimental"]},"editor.language.brackets":{type:["array","null"],default:null,description:L("schema.brackets","Defines the bracket symbols that increase or decrease the indentation."),items:{type:"array",items:[{type:"string",description:L("schema.openBracket","The opening bracket character or string sequence.")},{type:"string",description:L("schema.closeBracket","The closing bracket character or string sequence.")}]}},"editor.language.colorizedBracketPairs":{type:["array","null"],default:null,description:L("schema.colorizedBracketPairs","Defines the bracket pairs that are colorized by their nesting level if bracket pair colorization is enabled."),items:{type:"array",items:[{type:"string",description:L("schema.openBracket","The opening bracket character or string sequence.")},{type:"string",description:L("schema.closeBracket","The closing bracket character or string sequence.")}]}},"diffEditor.maxComputationTime":{type:"number",default:wa.maxComputationTime,description:L("maxComputationTime","Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.")},"diffEditor.maxFileSize":{type:"number",default:wa.maxFileSize,description:L("maxFileSize","Maximum file size in MB for which to compute diffs. Use 0 for no limit.")},"diffEditor.renderSideBySide":{type:"boolean",default:wa.renderSideBySide,description:L("sideBySide","Controls whether the diff editor shows the diff side by side or inline.")},"diffEditor.renderSideBySideInlineBreakpoint":{type:"number",default:wa.renderSideBySideInlineBreakpoint,description:L("renderSideBySideInlineBreakpoint","If the diff editor width is smaller than this value, the inline view is used.")},"diffEditor.useInlineViewWhenSpaceIsLimited":{type:"boolean",default:wa.useInlineViewWhenSpaceIsLimited,description:L("useInlineViewWhenSpaceIsLimited","If enabled and the editor width is too small, the inline view is used.")},"diffEditor.renderMarginRevertIcon":{type:"boolean",default:wa.renderMarginRevertIcon,description:L("renderMarginRevertIcon","When enabled, the diff editor shows arrows in its glyph margin to revert changes.")},"diffEditor.renderGutterMenu":{type:"boolean",default:wa.renderGutterMenu,description:L("renderGutterMenu","When enabled, the diff editor shows a special gutter for revert and stage actions.")},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:wa.ignoreTrimWhitespace,description:L("ignoreTrimWhitespace","When enabled, the diff editor ignores changes in leading or trailing whitespace.")},"diffEditor.renderIndicators":{type:"boolean",default:wa.renderIndicators,description:L("renderIndicators","Controls whether the diff editor shows +/- indicators for added/removed changes.")},"diffEditor.codeLens":{type:"boolean",default:wa.diffCodeLens,description:L("codeLens","Controls whether the editor shows CodeLens.")},"diffEditor.wordWrap":{type:"string",enum:["off","on","inherit"],default:wa.diffWordWrap,markdownEnumDescriptions:[L("wordWrap.off","Lines will never wrap."),L("wordWrap.on","Lines will wrap at the viewport width."),L("wordWrap.inherit","Lines will wrap according to the {0} setting.","`#editor.wordWrap#`")]},"diffEditor.diffAlgorithm":{type:"string",enum:["legacy","advanced"],default:wa.diffAlgorithm,markdownEnumDescriptions:[L("diffAlgorithm.legacy","Uses the legacy diffing algorithm."),L("diffAlgorithm.advanced","Uses the advanced diffing algorithm.")],tags:["experimental"]},"diffEditor.hideUnchangedRegions.enabled":{type:"boolean",default:wa.hideUnchangedRegions.enabled,markdownDescription:L("hideUnchangedRegions.enabled","Controls whether the diff editor shows unchanged regions.")},"diffEditor.hideUnchangedRegions.revealLineCount":{type:"integer",default:wa.hideUnchangedRegions.revealLineCount,markdownDescription:L("hideUnchangedRegions.revealLineCount","Controls how many lines are used for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.minimumLineCount":{type:"integer",default:wa.hideUnchangedRegions.minimumLineCount,markdownDescription:L("hideUnchangedRegions.minimumLineCount","Controls how many lines are used as a minimum for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.contextLineCount":{type:"integer",default:wa.hideUnchangedRegions.contextLineCount,markdownDescription:L("hideUnchangedRegions.contextLineCount","Controls how many lines are used as context when comparing unchanged regions."),minimum:1},"diffEditor.experimental.showMoves":{type:"boolean",default:wa.experimental.showMoves,markdownDescription:L("showMoves","Controls whether the diff editor should show detected code moves.")},"diffEditor.experimental.showEmptyDecorations":{type:"boolean",default:wa.experimental.showEmptyDecorations,description:L("showEmptyDecorations","Controls whether the diff editor shows empty decorations to see where characters got inserted or deleted.")}}};function ZFt(n){return typeof n.type<"u"||typeof n.anyOf<"u"}for(const n of zS){const e=n.schema;if(typeof e<"u")if(ZFt(e))qR.properties[`editor.${n.name}`]=e;else for(const t in e)Object.hasOwnProperty.call(e,t)&&(qR.properties[t]=e[t])}let e3=null;function PSe(){return e3===null&&(e3=Object.create(null),Object.keys(qR.properties).forEach(n=>{e3[n]=!0})),e3}function WFt(n){return PSe()[`editor.${n}`]||!1}function RFt(n){return PSe()[`diffEditor.${n}`]||!1}Do.as(Eh.Configuration).registerConfiguration(qR);const Lr=new class{constructor(){this.QuickFix=new Ai("quickfix"),this.Refactor=new Ai("refactor"),this.RefactorExtract=this.Refactor.append("extract"),this.RefactorInline=this.Refactor.append("inline"),this.RefactorMove=this.Refactor.append("move"),this.RefactorRewrite=this.Refactor.append("rewrite"),this.Notebook=new Ai("notebook"),this.Source=new Ai("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var gu;(function(n){n.Refactor="refactor",n.RefactorPreview="refactor preview",n.Lightbulb="lightbulb",n.Default="other (default)",n.SourceAction="source action",n.QuickFix="quick fix action",n.FixAll="fix all",n.OrganizeImports="organize imports",n.AutoFix="auto fix",n.QuickFixHover="quick fix hover window",n.OnSave="save participants",n.ProblemsView="problems view"})(gu||(gu={}));function VFt(n,e){return!(n.include&&!n.include.intersects(e)||n.excludes&&n.excludes.some(t=>OSe(e,t,n.include))||!n.includeSourceActions&&Lr.Source.contains(e))}function AFt(n,e){const t=e.kind?new Ai(e.kind):void 0;return!(n.include&&(!t||!n.include.contains(t))||n.excludes&&t&&n.excludes.some(i=>OSe(t,i,n.include))||!n.includeSourceActions&&t&&Lr.Source.contains(t)||n.onlyIncludePreferredActions&&!e.isPreferred)}function OSe(n,e,t){return!(!e.contains(n)||t&&e.contains(t))}class Ff{static fromUser(e,t){return!e||typeof e!="object"?new Ff(t.kind,t.apply,!1):new Ff(Ff.getKindFromUser(e,t.kind),Ff.getApplyFromUser(e,t.apply),Ff.getPreferredUser(e))}static getApplyFromUser(e,t){switch(typeof e.apply=="string"?e.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return t}}static getKindFromUser(e,t){return typeof e.kind=="string"?new Ai(e.kind):t}static getPreferredUser(e){return typeof e.preferred=="boolean"?e.preferred:!1}constructor(e,t,i){this.kind=e,this.apply=t,this.preferred=i}}class GFt{constructor(e,t,i){this.action=e,this.provider=t,this.highlightRange=i}async resolve(e){var t;if(!((t=this.provider)===null||t===void 0)&&t.resolveCodeAction&&!this.action.edit){let i;try{i=await this.provider.resolveCodeAction(this.action,e)}catch(r){qr(r)}i&&(this.action.edit=i.edit)}return this}}const BSe="editor.action.codeAction",pK="editor.action.quickFix",zSe="editor.action.autoFix",HSe="editor.action.refactor",YSe="editor.action.sourceAction",bK="editor.action.organizeImports",vK="editor.action.fixAll";class sM extends Ie{static codeActionsPreferredComparator(e,t){return e.isPreferred&&!t.isPreferred?-1:!e.isPreferred&&t.isPreferred?1:0}static codeActionsComparator({action:e},{action:t}){return e.isAI&&!t.isAI?1:!e.isAI&&t.isAI?-1:ga(e.diagnostics)?ga(t.diagnostics)?sM.codeActionsPreferredComparator(e,t):-1:ga(t.diagnostics)?1:sM.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(sM.codeActionsComparator),this.validActions=this.allActions.filter(({action:r})=>!r.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&Lr.QuickFix.contains(new Ai(e.kind))&&!!e.isPreferred)}get hasAIFix(){return this.validActions.some(({action:e})=>!!e.isAI)}get allAIFixes(){return this.validActions.every(({action:e})=>!!e.isAI)}}const USe={actions:[],documentation:void 0};async function aM(n,e,t,i,r,o){var s;const a=i.filter||{},l={...a,excludes:[...a.excludes||[],Lr.Notebook]},u={only:(s=a.include)===null||s===void 0?void 0:s.value,trigger:i.type},c=new lK(e,o),d=i.type===2,h=XFt(n,e,d?l:a),m=new Je,f=h.map(async b=>{try{r.report(b);const v=await b.provideCodeActions(e,t,u,c.token);if(v&&m.add(v),c.token.isCancellationRequested)return USe;const C=((v==null?void 0:v.actions)||[]).filter(x=>x&&AFt(a,x)),S=OFt(b,C,a.include);return{actions:C.map(x=>new GFt(x,b)),documentation:S}}catch(v){if(Gm(v))throw v;return qr(v),USe}}),g=n.onDidChange(()=>{const b=n.all(e);kr(b,h)||c.cancel()});try{const b=await Promise.all(f),v=b.map(S=>S.actions).flat(),C=[...Ym(b.map(S=>S.documentation)),...PFt(n,e,i,v)];return new sM(v,C,m)}finally{g.dispose(),c.dispose()}}function XFt(n,e,t){return n.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(r=>VFt(t,new Ai(r))):!0)}function*PFt(n,e,t,i){var r,o,s;if(e&&i.length)for(const a of n.all(e))a._getAdditionalMenuItems&&(yield*(r=a._getAdditionalMenuItems)===null||r===void 0?void 0:r.call(a,{trigger:t.type,only:(s=(o=t.filter)===null||o===void 0?void 0:o.include)===null||s===void 0?void 0:s.value},i.map(l=>l.action)))}function OFt(n,e,t){if(!n.documentation)return;const i=n.documentation.map(r=>({kind:new Ai(r.kind),command:r.command}));if(t){let r;for(const o of i)o.kind.contains(t)&&(r?r.kind.contains(o.kind)&&(r=o):r=o);if(r)return r==null?void 0:r.command}for(const r of e)if(r.kind){for(const o of i)if(o.kind.contains(new Ai(r.kind)))return o.command}}var z2;(function(n){n.OnSave="onSave",n.FromProblemsView="fromProblemsView",n.FromCodeActions="fromCodeActions",n.FromAILightbulb="fromAILightbulb"})(z2||(z2={}));async function BFt(n,e,t,i,r=Yn.None){var o;const s=n.get(tM),a=n.get(Xr),l=n.get(Zl),u=n.get(ko);if(l.publicLog2("codeAction.applyCodeAction",{codeActionTitle:e.action.title,codeActionKind:e.action.kind,codeActionIsPreferred:!!e.action.isPreferred,reason:t}),await e.resolve(r),!r.isCancellationRequested&&!(!((o=e.action.edit)===null||o===void 0)&&o.edits.length&&!(await s.apply(e.action.edit,{editor:i==null?void 0:i.editor,label:e.action.title,quotableLabel:e.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:t!==z2.OnSave,showPreview:i==null?void 0:i.preview})).isApplied)&&e.action.command)try{await a.executeCommand(e.action.command.id,...e.action.command.arguments||[])}catch(c){const d=zFt(c);u.error(typeof d=="string"?d:L("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}function zFt(n){return typeof n=="string"?n:n instanceof Error&&typeof n.message=="string"?n.message:void 0}$n.registerCommand("_executeCodeActionProvider",async function(n,e,t,i,r){if(!(e instanceof en))throw Dc();const{codeActionProvider:o}=n.get(Zt),s=n.get(xr).getModel(e);if(!s)throw Dc();const a=Wt.isISelection(t)?Wt.liftSelection(t):J.isIRange(t)?s.validateRange(t):void 0;if(!a)throw Dc();const l=typeof i=="string"?new Ai(i):void 0,u=await aM(o,s,a,{type:1,triggerAction:gu.Default,filter:{includeSourceActions:!0,include:l}},bp.None,Yn.None),c=[],d=Math.min(u.validActions.length,typeof r=="number"?r:0);for(let h=0;hh.action)}finally{setTimeout(()=>u.dispose(),100)}});var HFt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},YFt=function(n,e){return function(t,i){e(t,i,n)}},yK;let t3=yK=class{constructor(e){this.keybindingService=e}getResolver(){const e=new _h(()=>this.keybindingService.getKeybindings().filter(t=>yK.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let i=t.commandArgs;return t.command===bK?i={kind:Lr.SourceOrganizeImports.value}:t.command===vK&&(i={kind:Lr.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...Ff.fromUser(i,{kind:Ai.None,apply:"never"})}}));return t=>{if(t.kind){const i=this.bestKeybindingForCodeAction(t,e.value);return i==null?void 0:i.resolvedKeybinding}}}bestKeybindingForCodeAction(e,t){if(!e.kind)return;const i=new Ai(e.kind);return t.filter(r=>r.kind.contains(i)).filter(r=>r.preferred?e.isPreferred:!0).reduceRight((r,o)=>r?r.kind.contains(o.kind)?o:r:o,void 0)}};t3.codeActionCommands=[HSe,BSe,YSe,bK,vK],t3=yK=HFt([YFt(0,Bi)],t3),re("symbolIcon.arrayForeground",{dark:at,light:at,hcDark:at,hcLight:at},L("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.booleanForeground",{dark:at,light:at,hcDark:at,hcLight:at},L("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},L("symbolIcon.classForeground","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.colorForeground",{dark:at,light:at,hcDark:at,hcLight:at},L("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.constantForeground",{dark:at,light:at,hcDark:at,hcLight:at},L("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},L("symbolIcon.constructorForeground","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},L("symbolIcon.enumeratorForeground","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},L("symbolIcon.enumeratorMemberForeground","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},L("symbolIcon.eventForeground","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},L("symbolIcon.fieldForeground","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.fileForeground",{dark:at,light:at,hcDark:at,hcLight:at},L("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.folderForeground",{dark:at,light:at,hcDark:at,hcLight:at},L("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},L("symbolIcon.functionForeground","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},L("symbolIcon.interfaceForeground","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.keyForeground",{dark:at,light:at,hcDark:at,hcLight:at},L("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.keywordForeground",{dark:at,light:at,hcDark:at,hcLight:at},L("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},L("symbolIcon.methodForeground","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.moduleForeground",{dark:at,light:at,hcDark:at,hcLight:at},L("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.namespaceForeground",{dark:at,light:at,hcDark:at,hcLight:at},L("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.nullForeground",{dark:at,light:at,hcDark:at,hcLight:at},L("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.numberForeground",{dark:at,light:at,hcDark:at,hcLight:at},L("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.objectForeground",{dark:at,light:at,hcDark:at,hcLight:at},L("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.operatorForeground",{dark:at,light:at,hcDark:at,hcLight:at},L("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.packageForeground",{dark:at,light:at,hcDark:at,hcLight:at},L("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.propertyForeground",{dark:at,light:at,hcDark:at,hcLight:at},L("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.referenceForeground",{dark:at,light:at,hcDark:at,hcLight:at},L("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.snippetForeground",{dark:at,light:at,hcDark:at,hcLight:at},L("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.stringForeground",{dark:at,light:at,hcDark:at,hcLight:at},L("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.structForeground",{dark:at,light:at,hcDark:at,hcLight:at},L("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.textForeground",{dark:at,light:at,hcDark:at,hcLight:at},L("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.typeParameterForeground",{dark:at,light:at,hcDark:at,hcLight:at},L("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.unitForeground",{dark:at,light:at,hcDark:at,hcLight:at},L("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},L("symbolIcon.variableForeground","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const KSe=Object.freeze({kind:Ai.Empty,title:L("codeAction.widget.id.more","More Actions...")}),UFt=Object.freeze([{kind:Lr.QuickFix,title:L("codeAction.widget.id.quickfix","Quick Fix")},{kind:Lr.RefactorExtract,title:L("codeAction.widget.id.extract","Extract"),icon:ut.wrench},{kind:Lr.RefactorInline,title:L("codeAction.widget.id.inline","Inline"),icon:ut.wrench},{kind:Lr.RefactorRewrite,title:L("codeAction.widget.id.convert","Rewrite"),icon:ut.wrench},{kind:Lr.RefactorMove,title:L("codeAction.widget.id.move","Move"),icon:ut.wrench},{kind:Lr.SurroundWith,title:L("codeAction.widget.id.surround","Surround With"),icon:ut.surroundWith},{kind:Lr.Source,title:L("codeAction.widget.id.source","Source Action"),icon:ut.symbolFile},KSe]);function KFt(n,e,t){if(!e)return n.map(o=>{var s;return{kind:"action",item:o,group:KSe,disabled:!!o.action.disabled,label:o.action.disabled||o.action.title,canPreview:!!(!((s=o.action.edit)===null||s===void 0)&&s.edits.length)}});const i=UFt.map(o=>({group:o,actions:[]}));for(const o of n){const s=o.action.kind?new Ai(o.action.kind):Ai.None;for(const a of i)if(a.group.kind.contains(s)){a.actions.push(o);break}}const r=[];for(const o of i)if(o.actions.length){r.push({kind:"header",group:o.group});for(const s of o.actions){const a=o.group;r.push({kind:"action",item:s,group:s.action.isAI?{title:a.title,kind:a.kind,icon:ut.sparkle}:a,label:s.action.title,disabled:!!s.action.disabled,keybinding:t(s.action)})}}return r}var JFt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},JSe=function(n,e){return function(t,i){e(t,i,n)}},CK,H2;(function(n){n.Hidden={type:0};class e{constructor(i,r,o,s){this.actions=i,this.trigger=r,this.editorPosition=o,this.widgetPosition=s,this.type=1}}n.Showing=e})(H2||(H2={}));let Py=CK=class extends Ie{constructor(e,t,i){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new be),this.onClick=this._onClick.event,this._state=H2.Hidden,this._iconClasses=[],this._domNode=Ct("div.lightBulbWidget"),this._register(ir.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent(r=>{const o=this._editor.getModel();(this.state.type!==1||!o||this.state.editorPosition.lineNumber>=o.getLineCount())&&this.hide()})),this._register(yft(this._domNode,r=>{if(this.state.type!==1)return;this._editor.focus(),r.preventDefault();const{top:o,height:s}=po(this._domNode),a=this._editor.getOption(67);let l=Math.floor(a/3);this.state.widgetPosition.position!==null&&this.state.widgetPosition.position.lineNumber{(r.buttons&1)===1&&this.hide()})),this._register(lt.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{var r,o,s,a;this._preferredKbLabel=(o=(r=this._keybindingService.lookupKeybinding(zSe))===null||r===void 0?void 0:r.getLabel())!==null&&o!==void 0?o:void 0,this._quickFixKbLabel=(a=(s=this._keybindingService.lookupKeybinding(pK))===null||s===void 0?void 0:s.getLabel())!==null&&a!==void 0?a:void 0,this._updateLightBulbTitleAndIcon()}))}dispose(){super.dispose(),this._editor.removeContentWidget(this)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){return this._state.type===1?this._state.widgetPosition:null}update(e,t,i){if(e.validActions.length<=0)return this.hide();if(!this._editor.getOptions().get(65).enabled)return this.hide();const o=this._editor.getModel();if(!o)return this.hide();const{lineNumber:s,column:a}=o.validatePosition(i),l=o.getOptions().tabSize,u=this._editor.getOptions().get(50),c=o.getLineContent(s),d=DW(c,l),h=u.spaceWidth*d>22,m=b=>b>2&&this._editor.getTopForLineNumber(b)===this._editor.getTopForLineNumber(b-1);let f=s,g=1;if(!h){if(s>1&&!m(s-1))f-=1;else if(s=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},wK=function(n,e){return function(t,i){e(t,i,n)}};const $Se="acceptSelectedCodeAction",qSe="previewSelectedCodeAction";class jFt{get templateId(){return"header"}renderTemplate(e){e.classList.add("group-header");const t=document.createElement("span");return e.append(t),{container:e,text:t}}renderElement(e,t,i){var r,o;i.text.textContent=(o=(r=e.group)===null||r===void 0?void 0:r.title)!==null&&o!==void 0?o:""}disposeTemplate(e){}}let SK=class{get templateId(){return"action"}constructor(e,t){this._supportsPreview=e,this._keybindingService=t}renderTemplate(e){e.classList.add(this.templateId);const t=document.createElement("div");t.className="icon",e.append(t);const i=document.createElement("span");i.className="title",e.append(i);const r=new Y2(e,ru);return{container:e,icon:t,text:i,keybinding:r}}renderElement(e,t,i){var r,o,s;if(!((r=e.group)===null||r===void 0)&&r.icon?(i.icon.className=sn.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=xt(e.group.icon.color.id))):(i.icon.className=sn.asClassName(ut.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=t2e(e.label),i.keybinding.set(e.keybinding),Zft(!!e.keybinding,i.keybinding.element);const a=(o=this._keybindingService.lookupKeybinding($Se))===null||o===void 0?void 0:o.getLabel(),l=(s=this._keybindingService.lookupKeybinding(qSe))===null||s===void 0?void 0:s.getLabel();i.container.classList.toggle("option-disabled",e.disabled),e.disabled?i.container.title=e.label:a&&l?this._supportsPreview&&e.canPreview?i.container.title=L({key:"label-preview",comment:['placeholders are keybindings, e.g "F2 to Apply, Shift+F2 to Preview"']},"{0} to Apply, {1} to Preview",a,l):i.container.title=L({key:"label",comment:['placeholder is a keybinding, e.g "F2 to Apply"']},"{0} to Apply",a):i.container.title=""}disposeTemplate(e){e.keybinding.dispose()}};SK=QSe([wK(1,Bi)],SK);class QFt extends UIEvent{constructor(){super("acceptSelectedAction")}}class e2e extends UIEvent{constructor(){super("previewSelectedAction")}}function $Ft(n){if(n.kind==="action")return n.label}let xK=class extends Ie{constructor(e,t,i,r,o,s){super(),this._delegate=r,this._contextViewService=o,this._keybindingService=s,this._actionLineHeight=24,this._headerLineHeight=26,this.cts=this._register(new fo),this.domNode=document.createElement("div"),this.domNode.classList.add("actionList");const a={getHeight:l=>l.kind==="header"?this._headerLineHeight:this._actionLineHeight,getTemplateId:l=>l.kind};this._list=this._register(new Ju(e,this.domNode,a,[new SK(t,this._keybindingService),new jFt],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:$Ft},accessibilityProvider:{getAriaLabel:l=>{if(l.kind==="action"){let u=l.label?t2e(l==null?void 0:l.label):"";return l.disabled&&(u=L({key:"customQuickFixWidget.labels",comment:["Action widget labels for accessibility."]},"{0}, Disabled Reason: {1}",u,l.disabled)),u}return null},getWidgetAriaLabel:()=>L({key:"customQuickFixWidget",comment:["An action widget option"]},"Action Widget"),getRole:l=>l.kind==="action"?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(Zy),this._register(this._list.onMouseClick(l=>this.onListClick(l))),this._register(this._list.onMouseOver(l=>this.onListHover(l))),this._register(this._list.onDidChangeFocus(()=>this.onFocus())),this._register(this._list.onDidChangeSelection(l=>this.onListSelection(l))),this._allMenuItems=i,this._list.splice(0,this._list.length,this._allMenuItems),this._list.length&&this.focusNext()}focusCondition(e){return!e.disabled&&e.kind==="action"}hide(e){this._delegate.onHide(e),this.cts.cancel(),this._contextViewService.hideContextView()}layout(e){const t=this._allMenuItems.filter(l=>l.kind==="header").length,r=this._allMenuItems.length*this._actionLineHeight+t*this._headerLineHeight-t*this._actionLineHeight;this._list.layout(r);let o=e;if(this._allMenuItems.length>=50)o=380;else{const l=this._allMenuItems.map((u,c)=>{const d=this.domNode.ownerDocument.getElementById(this._list.getElementID(c));if(d){d.style.width="auto";const h=d.getBoundingClientRect().width;return d.style.width="",h}return 0});o=Math.max(...l,e)}const a=Math.min(r,this.domNode.ownerDocument.body.clientHeight*.7);return this._list.layout(a,o),this.domNode.style.height=`${a}px`,this._list.domFocus(),o}focusPrevious(){this._list.focusPrevious(1,!0,void 0,this.focusCondition)}focusNext(){this._list.focusNext(1,!0,void 0,this.focusCondition)}acceptSelected(e){const t=this._list.getFocus();if(t.length===0)return;const i=t[0],r=this._list.element(i);if(!this.focusCondition(r))return;const o=e?new e2e:new QFt;this._list.setSelection([i],o)}onListSelection(e){if(!e.elements.length)return;const t=e.elements[0];t.item&&this.focusCondition(t)?this._delegate.onSelect(t.item,e.browserEvent instanceof e2e):this._list.setSelection([])}onFocus(){var e,t;const i=this._list.getFocus();if(i.length===0)return;const r=i[0],o=this._list.element(r);(t=(e=this._delegate).onFocus)===null||t===void 0||t.call(e,o.item)}async onListHover(e){const t=e.element;if(t&&t.item&&this.focusCondition(t)){if(this._delegate.onHover&&!t.disabled&&t.kind==="action"){const i=await this._delegate.onHover(t.item,this.cts.token);t.canPreview=i?i.canPreview:void 0}e.index&&this._list.splice(e.index,1,[t])}this._list.setFocus(typeof e.index=="number"?[e.index]:[])}onListClick(e){e.element&&this.focusCondition(e.element)&&this._list.setFocus([])}};xK=QSe([wK(4,pp),wK(5,Bi)],xK);function t2e(n){return n.replace(/\r\n|\r|\n/g," ")}var qFt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},LK=function(n,e){return function(t,i){e(t,i,n)}};re("actionBar.toggledBackground",{dark:ly,light:ly,hcDark:ly,hcLight:ly},L("actionBar.toggledBackground","Background color for toggled action items in action bar."));const Oy={Visible:new wt("codeActionMenuVisible",!1,L("codeActionMenuVisible","Whether the action widget list is visible"))},By=Un("actionWidgetService");let zy=class extends Ie{get isVisible(){return Oy.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,i){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=i,this._list=this._register(new Ms)}show(e,t,i,r,o,s,a){const l=Oy.Visible.bindTo(this._contextKeyService),u=this._instantiationService.createInstance(xK,e,t,i,r);this._contextViewService.showContextView({getAnchor:()=>o,render:c=>(l.set(!0),this._renderWidget(c,u,a??[])),onHide:c=>{l.reset(),this._onWidgetClosed(c)}},s,!1)}acceptSelected(e){var t;(t=this._list.value)===null||t===void 0||t.acceptSelected(e)}focusPrevious(){var e,t;(t=(e=this._list)===null||e===void 0?void 0:e.value)===null||t===void 0||t.focusPrevious()}focusNext(){var e,t;(t=(e=this._list)===null||e===void 0?void 0:e.value)===null||t===void 0||t.focusNext()}hide(){var e;(e=this._list.value)===null||e===void 0||e.hide(),this._list.clear()}_renderWidget(e,t,i){var r;const o=document.createElement("div");if(o.classList.add("action-widget"),e.appendChild(o),this._list.value=t,this._list.value)o.appendChild(this._list.value.domNode);else throw new Error("List has no value");const s=new Je,a=document.createElement("div"),l=e.appendChild(a);l.classList.add("context-view-block"),s.add(Ae(l,ot.MOUSE_DOWN,f=>f.stopPropagation()));const u=document.createElement("div"),c=e.appendChild(u);c.classList.add("context-view-pointerBlock"),s.add(Ae(c,ot.POINTER_MOVE,()=>c.remove())),s.add(Ae(c,ot.MOUSE_DOWN,()=>c.remove()));let d=0;if(i.length){const f=this._createActionBar(".action-widget-action-bar",i);f&&(o.appendChild(f.getContainer().parentElement),s.add(f),d=f.getContainer().offsetWidth)}const h=(r=this._list.value)===null||r===void 0?void 0:r.layout(d);o.style.width=`${h}px`;const m=s.add(Dh(e));return s.add(m.onDidBlur(()=>this.hide())),s}_createActionBar(e,t){if(!t.length)return;const i=Ct(e),r=new Kc(i);return r.push(t,{icon:!1,label:!0}),r}_onWidgetClosed(e){var t;(t=this._list.value)===null||t===void 0||t.hide(e)}};zy=qFt([LK(0,pp),LK(1,ln),LK(2,$t)],zy),qn(By,zy,1);const lM=1100;Ji(class extends el{constructor(){super({id:"hideCodeActionWidget",title:oi("hideCodeActionWidget.title","Hide action widget"),precondition:Oy.Visible,keybinding:{weight:lM,primary:9,secondary:[1033]}})}run(n){n.get(By).hide()}}),Ji(class extends el{constructor(){super({id:"selectPrevCodeAction",title:oi("selectPrevCodeAction.title","Select previous action"),precondition:Oy.Visible,keybinding:{weight:lM,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(n){const e=n.get(By);e instanceof zy&&e.focusPrevious()}}),Ji(class extends el{constructor(){super({id:"selectNextCodeAction",title:oi("selectNextCodeAction.title","Select next action"),precondition:Oy.Visible,keybinding:{weight:lM,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(n){const e=n.get(By);e instanceof zy&&e.focusNext()}}),Ji(class extends el{constructor(){super({id:$Se,title:oi("acceptSelected.title","Accept selected action"),precondition:Oy.Visible,keybinding:{weight:lM,primary:3,secondary:[2137]}})}run(n){const e=n.get(By);e instanceof zy&&e.acceptSelected()}}),Ji(class extends el{constructor(){super({id:qSe,title:oi("previewSelected.title","Preview selected action"),precondition:Oy.Visible,keybinding:{weight:lM,primary:2051}})}run(n){const e=n.get(By);e instanceof zy&&e.acceptSelected(!0)}});var Rr;(function(n){n[n.Hint=1]="Hint",n[n.Info=2]="Info",n[n.Warning=4]="Warning",n[n.Error=8]="Error"})(Rr||(Rr={})),function(n){function e(s,a){return a-s}n.compare=e;const t=Object.create(null);t[n.Error]=L("sev.error","Error"),t[n.Warning]=L("sev.warning","Warning"),t[n.Info]=L("sev.info","Info");function i(s){return t[s]||""}n.toString=i;function r(s){switch(s){case oo.Error:return n.Error;case oo.Warning:return n.Warning;case oo.Info:return n.Info;case oo.Ignore:return n.Hint}}n.fromSeverity=r;function o(s){switch(s){case n.Error:return oo.Error;case n.Warning:return oo.Warning;case n.Info:return oo.Info;case n.Hint:return oo.Ignore}}n.toSeverity=o}(Rr||(Rr={}));var i3;(function(n){const e="";function t(r){return i(r,!0)}n.makeKey=t;function i(r,o){const s=[e];return r.source?s.push(r.source.replace("¦","\\¦")):s.push(e),r.code?typeof r.code=="string"?s.push(r.code.replace("¦","\\¦")):s.push(r.code.value.replace("¦","\\¦")):s.push(e),r.severity!==void 0&&r.severity!==null?s.push(Rr.toString(r.severity)):s.push(e),r.message&&o?s.push(r.message.replace("¦","\\¦")):s.push(e),r.startLineNumber!==void 0&&r.startLineNumber!==null?s.push(r.startLineNumber.toString()):s.push(e),r.startColumn!==void 0&&r.startColumn!==null?s.push(r.startColumn.toString()):s.push(e),r.endLineNumber!==void 0&&r.endLineNumber!==null?s.push(r.endLineNumber.toString()):s.push(e),r.endColumn!==void 0&&r.endColumn!==null?s.push(r.endColumn.toString()):s.push(e),s.push(e),s.join("¦")}n.makeKeyOptionalMessage=i})(i3||(i3={}));const If=Un("markerService"),n2e=new wt("supportedCodeAction",""),i2e="_typescript.applyFixAllCodeAction";class eIt extends Ie{constructor(e,t,i,r=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=r,this._autoTriggerTimer=this._register(new Id),this._register(this._markerService.onMarkerChanged(o=>this._onMarkerChanges(o))),this._register(this._editor.onDidChangeCursorPosition(()=>this._tryAutoTrigger()))}trigger(e){const t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(e);this._signalChange(t?{trigger:e,selection:t}:void 0)}_onMarkerChanges(e){const t=this._editor.getModel();t&&e.some(i=>h7(i,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:gu.Default})},this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(e){if(!this._editor.hasModel())return;const t=this._editor.getSelection();if(e.type===1)return t;const i=this._editor.getOption(65).enabled;if(i!==kd.Off){{if(i===kd.On)return t;if(i===kd.OnCode){if(!t.isEmpty())return t;const o=this._editor.getModel(),{lineNumber:s,column:a}=t.getPosition(),l=o.getLineContent(s);if(l.length===0)return;if(a===1){if(/\s/.test(l[0]))return}else if(a===o.getLineMaxColumn(s)){if(/\s/.test(l[l.length-1]))return}else if(/\s/.test(l[a-2])&&/\s/.test(l[a-1]))return}}return t}}}var Hy;(function(n){n.Empty={type:0};class e{constructor(i,r,o){this.trigger=i,this.position=r,this._cancellablePromise=o,this.type=1,this.actions=o.catch(s=>{if(Gm(s))return r2e;throw s})}cancel(){this._cancellablePromise.cancel()}}n.Triggered=e})(Hy||(Hy={}));const r2e=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class tIt extends Ie{constructor(e,t,i,r,o,s){super(),this._editor=e,this._registry=t,this._markerService=i,this._progressService=o,this._configurationService=s,this._codeActionOracle=this._register(new Ms),this._state=Hy.Empty,this._onDidChangeState=this._register(new be),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=n2e.bindTo(r),this._register(this._editor.onDidChangeModel(()=>this._update())),this._register(this._editor.onDidChangeModelLanguage(()=>this._update())),this._register(this._registry.onDidChange(()=>this._update())),this._register(this._editor.onDidChangeConfiguration(a=>{a.hasChanged(65)&&this._update()})),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(Hy.Empty,!0))}_settingEnabledNearbyQuickfixes(){var e;const t=(e=this._editor)===null||e===void 0?void 0:e.getModel();return this._configurationService?this._configurationService.getValue("editor.codeActionWidget.includeNearbyQuickFixes",{resource:t==null?void 0:t.uri}):!1}_update(){if(this._disposed)return;this._codeActionOracle.value=void 0,this.setState(Hy.Empty);const e=this._editor.getModel();if(e&&this._registry.has(e)&&!this._editor.getOption(91)){const t=this._registry.all(e).flatMap(i=>{var r;return(r=i.providedCodeActionKinds)!==null&&r!==void 0?r:[]});this._supportedCodeActions.set(t.join(" ")),this._codeActionOracle.value=new eIt(this._editor,this._markerService,i=>{var r;if(!i){this.setState(Hy.Empty);return}const o=i.selection.getStartPosition(),s=rs(async u=>{var c,d,h,m,f,g,b,v,C,S;if(this._settingEnabledNearbyQuickfixes()&&i.trigger.type===1&&(i.trigger.triggerAction===gu.QuickFix||!((d=(c=i.trigger.filter)===null||c===void 0?void 0:c.include)===null||d===void 0)&&d.contains(Lr.QuickFix))){const x=await aM(this._registry,e,i.selection,i.trigger,bp.None,u),_=[...x.allActions];if(u.isCancellationRequested)return r2e;const F=(h=x.validActions)===null||h===void 0?void 0:h.some(M=>M.action.kind?Lr.QuickFix.contains(new Ai(M.action.kind)):!1),D=this._markerService.read({resource:e.uri});if(F){for(const M of x.validActions)!((f=(m=M.action.command)===null||m===void 0?void 0:m.arguments)===null||f===void 0)&&f.some(T=>typeof T=="string"&&T.includes(i2e))&&(M.action.diagnostics=[...D.filter(T=>T.relatedInformation)]);return{validActions:x.validActions,allActions:_,documentation:x.documentation,hasAutoFix:x.hasAutoFix,hasAIFix:x.hasAIFix,allAIFixes:x.allAIFixes,dispose:()=>{x.dispose()}}}else if(!F&&D.length>0){const M=i.selection.getPosition();let T=M,Z=Number.MAX_VALUE;const E=[...x.validActions];for(const W of D){const A=W.endColumn,z=W.endLineNumber,O=W.startLineNumber;if(z===M.lineNumber||O===M.lineNumber){T=new ye(z,A);const B={type:i.trigger.type,triggerAction:i.trigger.triggerAction,filter:{include:!((g=i.trigger.filter)===null||g===void 0)&&g.include?(b=i.trigger.filter)===null||b===void 0?void 0:b.include:Lr.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:((v=i.trigger.context)===null||v===void 0?void 0:v.notAvailableMessage)||"",position:T}},P=new Wt(T.lineNumber,T.column,T.lineNumber,T.column),H=await aM(this._registry,e,P,B,bp.None,u);if(H.validActions.length!==0){for(const k of H.validActions)!((S=(C=k.action.command)===null||C===void 0?void 0:C.arguments)===null||S===void 0)&&S.some(X=>typeof X=="string"&&X.includes(i2e))&&(k.action.diagnostics=[...D.filter(X=>X.relatedInformation)]);x.allActions.length===0&&_.push(...H.allActions),Math.abs(M.column-A)z.findIndex(O=>O.action.title===W.action.title)===A);return R.sort((W,A)=>W.action.isPreferred&&!A.action.isPreferred?-1:!W.action.isPreferred&&A.action.isPreferred||W.action.isAI&&!A.action.isAI?1:!W.action.isAI&&A.action.isAI?-1:0),{validActions:R,allActions:_,documentation:x.documentation,hasAutoFix:x.hasAutoFix,hasAIFix:x.hasAIFix,allAIFixes:x.allAIFixes,dispose:()=>{x.dispose()}}}}return aM(this._registry,e,i.selection,i.trigger,bp.None,u)});i.trigger.type===1&&((r=this._progressService)===null||r===void 0||r.showWhile(s,250));const a=new Hy.Triggered(i.trigger,o,s);let l=!1;this._state.type===1&&(l=this._state.trigger.type===1&&a.type===1&&a.trigger.type===2&&this._state.position!==a.position),l||this.setState(a)},void 0),this._codeActionOracle.value.trigger({type:2,triggerAction:gu.Default})}else this._supportedCodeActions.reset()}trigger(e){var t;(t=this._codeActionOracle.value)===null||t===void 0||t.trigger(e)}setState(e,t){e!==this._state&&(this._state.type===1&&this._state.cancel(),this._state=e,!t&&!this._disposed&&this._onDidChangeState.fire(e))}}var nIt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Sp=function(n,e){return function(t,i){e(t,i,n)}},U2;const iIt="quickfix-edit-highlight";let E0=U2=class extends Ie{static get(e){return e.getContribution(U2.ID)}constructor(e,t,i,r,o,s,a,l,u,c){super(),this._commandService=a,this._configurationService=l,this._actionWidgetService=u,this._instantiationService=c,this._activeCodeActions=this._register(new Ms),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new tIt(this._editor,o.codeActionProvider,t,i,s,l)),this._register(this._model.onDidChangeState(d=>this.update(d))),this._lightBulbWidget=new _h(()=>{const d=this._editor.getContribution(Py.ID);return d&&this._register(d.onClick(h=>this.showCodeActionsFromLightbulb(h.actions,h))),d}),this._resolver=r.createInstance(t3),this._register(this._editor.onDidLayoutChange(()=>this._actionWidgetService.hide()))}dispose(){this._disposed=!0,super.dispose()}async showCodeActionsFromLightbulb(e,t){if(e.allAIFixes&&e.validActions.length===1){const i=e.validActions[0],r=i.action.command;r&&r.id==="inlineChat.start"&&r.arguments&&r.arguments.length>=1&&(r.arguments[0]={...r.arguments[0],autoSend:!1}),await this._applyCodeAction(i,!1,!1,z2.FromAILightbulb);return}await this.showCodeActionList(e,t,{includeDisabledActions:!1,fromLightbulb:!0})}showCodeActions(e,t,i){return this.showCodeActionList(t,i,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(e,t,i,r){var o;if(!this._editor.hasModel())return;(o=dl.get(this._editor))===null||o===void 0||o.closeMessage();const s=this._editor.getPosition();this._trigger({type:1,triggerAction:t,filter:i,autoApply:r,context:{notAvailableMessage:e,position:s}})}_trigger(e){return this._model.trigger(e)}async _applyCodeAction(e,t,i,r){try{await this._instantiationService.invokeFunction(BFt,e,r,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:gu.QuickFix,filter:{}})}}async update(e){var t,i,r,o,s,a,l;if(e.type!==1){(t=this._lightBulbWidget.rawValue)===null||t===void 0||t.hide();return}let u;try{u=await e.actions}catch(c){vn(c);return}if(!this._disposed)if((i=this._lightBulbWidget.value)===null||i===void 0||i.update(u,e.trigger,e.position),e.trigger.type===1){if(!((r=e.trigger.filter)===null||r===void 0)&&r.include){const d=this.tryGetValidActionToApply(e.trigger,u);if(d){try{(o=this._lightBulbWidget.value)===null||o===void 0||o.hide(),await this._applyCodeAction(d,!1,!1,z2.FromCodeActions)}finally{u.dispose()}return}if(e.trigger.context){const h=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,u);if(h&&h.action.disabled){(s=dl.get(this._editor))===null||s===void 0||s.showMessage(h.action.disabled,e.trigger.context.position),u.dispose();return}}}const c=!!(!((a=e.trigger.filter)===null||a===void 0)&&a.include);if(e.trigger.context&&(!u.allActions.length||!c&&!u.validActions.length)){(l=dl.get(this._editor))===null||l===void 0||l.showMessage(e.trigger.context.notAvailableMessage,e.trigger.context.position),this._activeCodeActions.value=u,u.dispose();return}this._activeCodeActions.value=u,this.showCodeActionList(u,this.toCoords(e.position),{includeDisabledActions:c,fromLightbulb:!1})}else this._actionWidgetService.isVisible?u.dispose():this._activeCodeActions.value=u}getInvalidActionThatWouldHaveBeenApplied(e,t){if(t.allActions.length&&(e.autoApply==="first"&&t.validActions.length===0||e.autoApply==="ifSingle"&&t.allActions.length===1))return t.allActions.find(({action:i})=>i.disabled)}tryGetValidActionToApply(e,t){if(t.validActions.length&&(e.autoApply==="first"&&t.validActions.length>0||e.autoApply==="ifSingle"&&t.validActions.length===1))return t.validActions[0]}async showCodeActionList(e,t,i){const r=this._editor.createDecorationsCollection(),o=this._editor.getDomNode();if(!o)return;const s=i.includeDisabledActions&&(this._showDisabled||e.validActions.length===0)?e.allActions:e.validActions;if(!s.length)return;const a=ye.isIPosition(t)?this.toCoords(t):t,l={onSelect:async(u,c)=>{this._applyCodeAction(u,!0,!!c,z2.FromCodeActions),this._actionWidgetService.hide(),r.clear()},onHide:()=>{var u;(u=this._editor)===null||u===void 0||u.focus(),r.clear()},onHover:async(u,c)=>{var d;if(c.isCancellationRequested)return;let h=!1;const m=u.action.kind;if(m){const f=new Ai(m);h=[Lr.RefactorExtract,Lr.RefactorInline,Lr.RefactorRewrite].some(b=>b.contains(f))}return{canPreview:h||!!(!((d=u.action.edit)===null||d===void 0)&&d.edits.length)}},onFocus:u=>{var c,d;if(u&&u.action){const h=u.action.ranges,m=u.action.diagnostics;if(r.clear(),h&&h.length>0){const f=m&&(m==null?void 0:m.length)>1?m.map(g=>({range:g,options:U2.DECORATION})):h.map(g=>({range:g,options:U2.DECORATION}));r.set(f)}else if(m&&m.length>0){const f=m.map(b=>({range:b,options:U2.DECORATION}));r.set(f);const g=m[0];if(g.startLineNumber&&g.startColumn){const b=(d=(c=this._editor.getModel())===null||c===void 0?void 0:c.getWordAtPosition({lineNumber:g.startLineNumber,column:g.startColumn}))===null||d===void 0?void 0:d.word;Ng(L("editingNewSelection","Context: {0} at line {1} and column {2}.",b,g.startLineNumber,g.startColumn))}}}else r.clear()}};this._actionWidgetService.show("codeActionWidget",!0,KFt(s,this._shouldShowHeaders(),this._resolver.getResolver()),l,a,o,this._getActionBarActions(e,t,i))}toCoords(e){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(e,1),this._editor.render();const t=this._editor.getScrolledVisiblePosition(e),i=po(this._editor.getDomNode()),r=i.left+t.left,o=i.top+t.top+t.height;return{x:r,y:o}}_shouldShowHeaders(){var e;const t=(e=this._editor)===null||e===void 0?void 0:e.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:t==null?void 0:t.uri})}_getActionBarActions(e,t,i){if(i.fromLightbulb)return[];const r=e.documentation.map(o=>{var s;return{id:o.id,label:o.title,tooltip:(s=o.tooltip)!==null&&s!==void 0?s:"",class:void 0,enabled:!0,run:()=>{var a;return this._commandService.executeCommand(o.id,...(a=o.arguments)!==null&&a!==void 0?a:[])}}});return i.includeDisabledActions&&e.validActions.length>0&&e.allActions.length!==e.validActions.length&&r.push(this._showDisabled?{id:"hideMoreActions",label:L("hideMoreActions","Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,i))}:{id:"showMoreActions",label:L("showMoreActions","Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,i))}),r}};E0.ID="editor.contrib.codeActionController",E0.DECORATION=yn.register({description:"quickfix-highlight",className:iIt}),E0=U2=nIt([Sp(1,If),Sp(2,ln),Sp(3,$t),Sp(4,Zt),Sp(5,M0),Sp(6,Xr),Sp(7,Pn),Sp(8,By),Sp(9,$t)],E0),Pc((n,e)=>{((r,o)=>{o&&e.addRule(`.monaco-editor ${r} { background-color: ${o}; }`)})(".quickfix-edit-highlight",n.getColor(Pg));const i=n.getColor(o0);i&&e.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${rf(n.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`)});function uM(n){return Oe.regex(n2e.keys()[0],new RegExp("(\\s|^)"+Ru(n.value)+"\\b"))}const _K={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:L("args.schema.kind","Kind of the code action to run.")},apply:{type:"string",description:L("args.schema.apply","Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[L("args.schema.apply.first","Always apply the first returned code action."),L("args.schema.apply.ifSingle","Apply the first returned code action if it is the only one."),L("args.schema.apply.never","Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:L("args.schema.preferred","Controls if only preferred code actions should be returned.")}}};function Yy(n,e,t,i,r=gu.Default){if(n.hasModel()){const o=E0.get(n);o==null||o.manualTriggerAtCurrentPosition(e,r,t,i)}}class rIt extends Mt{constructor(){super({id:pK,label:L("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:Oe.and(ne.writable,ne.hasCodeActionsProvider),kbOpts:{kbExpr:ne.textInputFocus,primary:2137,weight:100}})}run(e,t){return Yy(t,L("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,gu.QuickFix)}}class oIt extends Ko{constructor(){super({id:BSe,precondition:Oe.and(ne.writable,ne.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:_K}]}})}runEditorCommand(e,t,i){const r=Ff.fromUser(i,{kind:Ai.Empty,apply:"ifSingle"});return Yy(t,typeof(i==null?void 0:i.kind)=="string"?r.preferred?L("editor.action.codeAction.noneMessage.preferred.kind","No preferred code actions for '{0}' available",i.kind):L("editor.action.codeAction.noneMessage.kind","No code actions for '{0}' available",i.kind):r.preferred?L("editor.action.codeAction.noneMessage.preferred","No preferred code actions available"):L("editor.action.codeAction.noneMessage","No code actions available"),{include:r.kind,includeSourceActions:!0,onlyIncludePreferredActions:r.preferred},r.apply)}}class sIt extends Mt{constructor(){super({id:HSe,label:L("refactor.label","Refactor..."),alias:"Refactor...",precondition:Oe.and(ne.writable,ne.hasCodeActionsProvider),kbOpts:{kbExpr:ne.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:Oe.and(ne.writable,uM(Lr.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:_K}]}})}run(e,t,i){const r=Ff.fromUser(i,{kind:Lr.Refactor,apply:"never"});return Yy(t,typeof(i==null?void 0:i.kind)=="string"?r.preferred?L("editor.action.refactor.noneMessage.preferred.kind","No preferred refactorings for '{0}' available",i.kind):L("editor.action.refactor.noneMessage.kind","No refactorings for '{0}' available",i.kind):r.preferred?L("editor.action.refactor.noneMessage.preferred","No preferred refactorings available"):L("editor.action.refactor.noneMessage","No refactorings available"),{include:Lr.Refactor.contains(r.kind)?r.kind:Ai.None,onlyIncludePreferredActions:r.preferred},r.apply,gu.Refactor)}}class aIt extends Mt{constructor(){super({id:YSe,label:L("source.label","Source Action..."),alias:"Source Action...",precondition:Oe.and(ne.writable,ne.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:Oe.and(ne.writable,uM(Lr.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:_K}]}})}run(e,t,i){const r=Ff.fromUser(i,{kind:Lr.Source,apply:"never"});return Yy(t,typeof(i==null?void 0:i.kind)=="string"?r.preferred?L("editor.action.source.noneMessage.preferred.kind","No preferred source actions for '{0}' available",i.kind):L("editor.action.source.noneMessage.kind","No source actions for '{0}' available",i.kind):r.preferred?L("editor.action.source.noneMessage.preferred","No preferred source actions available"):L("editor.action.source.noneMessage","No source actions available"),{include:Lr.Source.contains(r.kind)?r.kind:Ai.None,includeSourceActions:!0,onlyIncludePreferredActions:r.preferred},r.apply,gu.SourceAction)}}class lIt extends Mt{constructor(){super({id:bK,label:L("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:Oe.and(ne.writable,uM(Lr.SourceOrganizeImports)),kbOpts:{kbExpr:ne.textInputFocus,primary:1581,weight:100}})}run(e,t){return Yy(t,L("editor.action.organize.noneMessage","No organize imports action available"),{include:Lr.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",gu.OrganizeImports)}}class uIt extends Mt{constructor(){super({id:vK,label:L("fixAll.label","Fix All"),alias:"Fix All",precondition:Oe.and(ne.writable,uM(Lr.SourceFixAll))})}run(e,t){return Yy(t,L("fixAll.noneMessage","No fix all action available"),{include:Lr.SourceFixAll,includeSourceActions:!0},"ifSingle",gu.FixAll)}}class cIt extends Mt{constructor(){super({id:zSe,label:L("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:Oe.and(ne.writable,uM(Lr.QuickFix)),kbOpts:{kbExpr:ne.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return Yy(t,L("editor.action.autoFix.noneMessage","No auto fixes available"),{include:Lr.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",gu.AutoFix)}}yi(E0.ID,E0,3),yi(Py.ID,Py,4),tt(rIt),tt(sIt),tt(aIt),tt(lIt),tt(cIt),tt(uIt),gt(new oIt),Do.as(Eh.Configuration).registerConfiguration({...$R,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:L("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:!0}}}),Do.as(Eh.Configuration).registerConfiguration({...$R,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:L("includeNearbyQuickFixes","Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}});class FK{constructor(){this.lenses=[],this._disposables=new Je}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(e,t){this._disposables.add(e);for(const i of e.lenses)this.lenses.push({symbol:i,provider:t})}}async function o2e(n,e,t){const i=n.ordered(e),r=new Map,o=new FK,s=i.map(async(a,l)=>{r.set(a,l);try{const u=await Promise.resolve(a.provideCodeLenses(e,t));u&&o.add(u,a)}catch(u){qr(u)}});return await Promise.all(s),o.lenses=o.lenses.sort((a,l)=>a.symbol.range.startLineNumberl.symbol.range.startLineNumber?1:r.get(a.provider)r.get(l.provider)?1:a.symbol.range.startColumnl.symbol.range.startColumn?1:0),o}$n.registerCommand("_executeCodeLensProvider",function(n,...e){let[t,i]=e;hi(en.isUri(t)),hi(typeof i=="number"||!i);const{codeLensProvider:r}=n.get(Zt),o=n.get(xr).getModel(t);if(!o)throw Dc();const s=[],a=new Je;return o2e(r,o,Yn.None).then(l=>{a.add(l);const u=[];for(const c of l.lenses)i==null||c.symbol.command?s.push(c.symbol):i-- >0&&c.provider.resolveCodeLens&&u.push(Promise.resolve(c.provider.resolveCodeLens(o,c.symbol,Yn.None)).then(d=>s.push(d||c.symbol)));return Promise.all(u)}).then(()=>s).finally(()=>{setTimeout(()=>a.dispose(),100)})});var dIt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},hIt=function(n,e){return function(t,i){e(t,i,n)}};const s2e=Un("ICodeLensCache");class a2e{constructor(e,t){this.lineCount=e,this.data=t}}let IK=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new Zg(20,.75);const t="codelens/cache";nI(Wi,()=>e.remove(t,1));const i="codelens/cache2",r=e.get(i,1,"{}");this._deserialize(r),lt.once(e.onWillSaveState)(o=>{o.reason===TR.SHUTDOWN&&e.store(i,this._serialize(),1,1)})}put(e,t){const i=t.lenses.map(s=>{var a;return{range:s.symbol.range,command:s.symbol.command&&{id:"",title:(a=s.symbol.command)===null||a===void 0?void 0:a.title}}}),r=new FK;r.add({lenses:i,dispose:()=>{}},this._fakeProvider);const o=new a2e(e.getLineCount(),r);this._cache.set(e.uri.toString(),o)}get(e){const t=this._cache.get(e.uri.toString());return t&&t.lineCount===e.getLineCount()?t.data:void 0}delete(e){this._cache.delete(e.uri.toString())}_serialize(){const e=Object.create(null);for(const[t,i]of this._cache){const r=new Set;for(const o of i.data.lenses)r.add(o.symbol.range.startLineNumber);e[t]={lineCount:i.lineCount,lines:[...r.values()]}}return JSON.stringify(e)}_deserialize(e){try{const t=JSON.parse(e);for(const i in t){const r=t[i],o=[];for(const a of r.lines)o.push({range:new J(a,1,a,11)});const s=new FK;s.add({lenses:o,dispose(){}},this._fakeProvider),this._cache.set(i,new a2e(r.lineCount,s))}}catch{}}};IK=dIt([hIt(0,wf)],IK),qn(s2e,IK,1);class mIt{constructor(e,t,i){this.afterColumn=1073741824,this.afterLineNumber=e,this.heightInPx=t,this._onHeight=i,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(e){this._lastHeight===void 0?this._lastHeight=e:this._lastHeight!==e&&(this._lastHeight=e,this._onHeight())}isVisible(){return this._lastHeight!==0&&this.domNode.hasAttribute("monaco-visible-view-zone")}}class cM{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id=`codelens.widget-${cM._idPool++}`,this.updatePosition(t),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration"}withCommands(e,t){this._commands.clear();const i=[];let r=!1;for(let o=0;o{u.symbol.command&&l.push(u.symbol),i.addDecoration({range:u.symbol.range,options:l2e},d=>this._decorationIds[c]=d),a?a=J.plusRange(a,u.symbol.range):a=J.lift(u.symbol.range)}),this._viewZone=new mIt(a.startLineNumber-1,o,s),this._viewZoneId=r.addZone(this._viewZone),l.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(l,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new cM(this._editor,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(e,t){this._decorationIds.forEach(e.removeDecoration,e),this._decorationIds=[],t==null||t.removeZone(this._viewZoneId),this._contentWidget&&(this._editor.removeContentWidget(this._contentWidget),this._contentWidget=void 0),this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some((e,t)=>{const i=this._editor.getModel().getDecorationRange(e),r=this._data[t].symbol;return!!(i&&J.isEmpty(r.range)===i.isEmpty())})}updateCodeLensSymbols(e,t){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],this._data=e,this._data.forEach((i,r)=>{t.addDecoration({range:i.symbol.range,options:l2e},o=>this._decorationIds[r]=o)})}updateHeight(e,t){this._viewZone.heightInPx=e,t.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(e){if(!this._viewZone.isVisible())return null;for(let t=0;t=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},c2e=function(n,e){return function(t,i){e(t,i,n)}};const $c=Un("ILanguageFeatureDebounceService");var r3;(function(n){const e=new WeakMap;let t=0;function i(r){let o=e.get(r);return o===void 0&&(o=++t,e.set(r,o)),o}n.of=i})(r3||(r3={}));class gIt{constructor(e){this._default=e}get(e){return this._default}update(e,t){return this._default}default(){return this._default}}class pIt{constructor(e,t,i,r,o,s){this._logService=e,this._name=t,this._registry=i,this._default=r,this._min=o,this._max=s,this._cache=new Zg(50,.7)}_key(e){return e.id+this._registry.all(e).reduce((t,i)=>t9(r3.of(i),t),0)}get(e){const t=this._key(e),i=this._cache.get(t);return i?al(i.value,this._min,this._max):this.default()}update(e,t){const i=this._key(e);let r=this._cache.get(i);r||(r=new pxt(6),this._cache.set(i,r));const o=al(r.update(t),this._min,this._max);return mY(e.uri,"output")||this._logService.trace(`[DEBOUNCE: ${this._name}] for ${e.uri.toString()} is ${o}ms`),o}_overall(){const e=new iwe;for(const[,t]of this._cache)e.update(t.value);return e.value}default(){const e=this._overall()|0||this._default;return al(e,this._min,this._max)}}let kK=class{constructor(e,t){this._logService=e,this._data=new Map,this._isDev=t.isExtensionDevelopment||!t.isBuilt}for(e,t,i){var r,o,s;const a=(r=i==null?void 0:i.min)!==null&&r!==void 0?r:50,l=(o=i==null?void 0:i.max)!==null&&o!==void 0?o:a**2,u=(s=i==null?void 0:i.key)!==null&&s!==void 0?s:void 0,c=`${r3.of(e)},${a}${u?","+u:""}`;let d=this._data.get(c);return d||(this._isDev?d=new pIt(this._logService,t,e,this._overallAverage()|0||a*1.5,a,l):(this._logService.debug(`[DEBOUNCE: ${t}] is disabled in developed mode`),d=new gIt(a*1.5)),this._data.set(c,d)),d}_overallAverage(){const e=new iwe;for(const t of this._data.values())e.update(t.default());return e.value}};kK=fIt([c2e(0,tl),c2e(1,MK)],kK),qn($c,kK,1);var bIt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},dM=function(n,e){return function(t,i){e(t,i,n)}};let K2=class{constructor(e,t,i,r,o,s){this._editor=e,this._languageFeaturesService=t,this._commandService=r,this._notificationService=o,this._codeLensCache=s,this._disposables=new Je,this._localToDispose=new Je,this._lenses=[],this._oldCodeLensModels=new Je,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new Ri(()=>this._resolveCodeLensesInViewport(),this._resolveCodeLensesDebounce.default()),this._disposables.add(this._editor.onDidChangeModel(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeConfiguration(a=>{(a.hasChanged(50)||a.hasChanged(19)||a.hasChanged(18))&&this._updateLensStyle(),a.hasChanged(17)&&this._onModelChange()})),this._disposables.add(t.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._updateLensStyle()}dispose(){var e;this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),(e=this._currentCodeLensModel)===null||e===void 0||e.dispose()}_getLayoutInfo(){const e=Math.max(1.3,this._editor.getOption(67)/this._editor.getOption(52));let t=this._editor.getOption(19);return(!t||t<5)&&(t=this._editor.getOption(52)*.9|0),{fontSize:t,codeLensHeight:t*e|0}}_updateLensStyle(){const{codeLensHeight:e,fontSize:t}=this._getLayoutInfo(),i=this._editor.getOption(18),r=this._editor.getOption(50),{style:o}=this._editor.getContainerDomNode();o.setProperty("--vscode-editorCodeLens-lineHeight",`${e}px`),o.setProperty("--vscode-editorCodeLens-fontSize",`${t}px`),o.setProperty("--vscode-editorCodeLens-fontFeatureSettings",r.fontFeatureSettings),i&&(o.setProperty("--vscode-editorCodeLens-fontFamily",i),o.setProperty("--vscode-editorCodeLens-fontFamilyDefault",Al.fontFamily)),this._editor.changeViewZones(s=>{for(const a of this._lenses)a.updateHeight(e,s)})}_localDispose(){var e,t,i;(e=this._getCodeLensModelPromise)===null||e===void 0||e.cancel(),this._getCodeLensModelPromise=void 0,(t=this._resolveCodeLensesPromise)===null||t===void 0||t.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),(i=this._currentCodeLensModel)===null||i===void 0||i.dispose()}_onModelChange(){this._localDispose();const e=this._editor.getModel();if(!e||!this._editor.getOption(17)||e.isTooLargeForTokenization())return;const t=this._codeLensCache.get(e);if(t&&this._renderCodeLensSymbols(t),!this._languageFeaturesService.codeLensProvider.has(e)){t&&Gb(()=>{const r=this._codeLensCache.get(e);t===r&&(this._codeLensCache.delete(e),this._onModelChange())},30*1e3,this._localToDispose);return}for(const r of this._languageFeaturesService.codeLensProvider.all(e))if(typeof r.onDidChange=="function"){const o=r.onDidChange(()=>i.schedule());this._localToDispose.add(o)}const i=new Ri(()=>{var r;const o=Date.now();(r=this._getCodeLensModelPromise)===null||r===void 0||r.cancel(),this._getCodeLensModelPromise=rs(s=>o2e(this._languageFeaturesService.codeLensProvider,e,s)),this._getCodeLensModelPromise.then(s=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=s,this._codeLensCache.put(e,s);const a=this._provideCodeLensDebounce.update(e,Date.now()-o);i.delay=a,this._renderCodeLensSymbols(s),this._resolveCodeLensesInViewportSoon()},vn)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(jt(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{var r;this._editor.changeDecorations(o=>{this._editor.changeViewZones(s=>{const a=[];let l=-1;this._lenses.forEach(c=>{!c.isValid()||l===c.getLineNumber()?a.push(c):(c.update(s),l=c.getLineNumber())});const u=new DK;a.forEach(c=>{c.dispose(u,s),this._lenses.splice(this._lenses.indexOf(c),1)}),u.commit(o)})}),i.schedule(),this._resolveCodeLensesScheduler.cancel(),(r=this._resolveCodeLensesPromise)===null||r===void 0||r.cancel(),this._resolveCodeLensesPromise=void 0})),this._localToDispose.add(this._editor.onDidFocusEditorWidget(()=>{i.schedule()})),this._localToDispose.add(this._editor.onDidBlurEditorText(()=>{i.cancel()})),this._localToDispose.add(this._editor.onDidScrollChange(r=>{r.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(this._editor.onDidLayoutChange(()=>{this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(jt(()=>{if(this._editor.getModel()){const r=zh.capture(this._editor);this._editor.changeDecorations(o=>{this._editor.changeViewZones(s=>{this._disposeAllLenses(o,s)})}),r.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onMouseDown(r=>{if(r.target.type!==9)return;let o=r.target.element;if((o==null?void 0:o.tagName)==="SPAN"&&(o=o.parentElement),(o==null?void 0:o.tagName)==="A")for(const s of this._lenses){const a=s.getCommand(o);if(a){this._commandService.executeCommand(a.id,...a.arguments||[]).catch(l=>this._notificationService.error(l));break}}})),i.schedule()}_disposeAllLenses(e,t){const i=new DK;for(const r of this._lenses)r.dispose(i,t);e&&i.commit(e),this._lenses.length=0}_renderCodeLensSymbols(e){if(!this._editor.hasModel())return;const t=this._editor.getModel().getLineCount(),i=[];let r;for(const a of e.lenses){const l=a.symbol.range.startLineNumber;l<1||l>t||(r&&r[r.length-1].symbol.range.startLineNumber===l?r.push(a):(r=[a],i.push(r)))}if(!i.length&&!this._lenses.length)return;const o=zh.capture(this._editor),s=this._getLayoutInfo();this._editor.changeDecorations(a=>{this._editor.changeViewZones(l=>{const u=new DK;let c=0,d=0;for(;dthis._resolveCodeLensesInViewportSoon())),c++,d++)}for(;cthis._resolveCodeLensesInViewportSoon())),d++;u.commit(a)})}),o.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){var e;(e=this._resolveCodeLensesPromise)===null||e===void 0||e.cancel(),this._resolveCodeLensesPromise=void 0;const t=this._editor.getModel();if(!t)return;const i=[],r=[];if(this._lenses.forEach(a=>{const l=a.computeIfNecessary(t);l&&(i.push(l),r.push(a))}),i.length===0)return;const o=Date.now(),s=rs(a=>{const l=i.map((u,c)=>{const d=new Array(u.length),h=u.map((m,f)=>!m.symbol.command&&typeof m.provider.resolveCodeLens=="function"?Promise.resolve(m.provider.resolveCodeLens(t,m.symbol,a)).then(g=>{d[f]=g},qr):(d[f]=m.symbol,Promise.resolve(void 0)));return Promise.all(h).then(()=>{!a.isCancellationRequested&&!r[c].isDisposed()&&r[c].updateCommands(d)})});return Promise.all(l)});this._resolveCodeLensesPromise=s,this._resolveCodeLensesPromise.then(()=>{const a=this._resolveCodeLensesDebounce.update(t,Date.now()-o);this._resolveCodeLensesScheduler.delay=a,this._currentCodeLensModel&&this._codeLensCache.put(t,this._currentCodeLensModel),this._oldCodeLensModels.clear(),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)},a=>{vn(a),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)})}async getModel(){var e;return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,!((e=this._currentCodeLensModel)===null||e===void 0)&&e.isDisposed?void 0:this._currentCodeLensModel}};K2.ID="css.editor.codeLens",K2=bIt([dM(1,Zt),dM(2,$c),dM(3,Xr),dM(4,ko),dM(5,s2e)],K2),yi(K2.ID,K2,1),tt(class extends Mt{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:ne.hasCodeLensProvider,label:L("showLensOnLine","Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}async run(e,t){if(!t.hasModel())return;const i=e.get(Ay),r=e.get(Xr),o=e.get(ko),s=t.getSelection().positionLineNumber,a=t.getContribution(K2.ID);if(!a)return;const l=await a.getModel();if(!l)return;const u=[];for(const h of l.lenses)h.symbol.command&&h.symbol.range.startLineNumber===s&&u.push({label:h.symbol.command.title,command:h.symbol.command});if(u.length===0)return;const c=await i.pick(u,{canPickMany:!1,placeHolder:L("placeHolder","Select a command")});if(!c)return;let d=c.command;if(l.isDisposed){const h=await a.getModel(),m=h==null?void 0:h.lenses.find(f=>{var g;return f.symbol.range.startLineNumber===s&&((g=f.symbol.command)===null||g===void 0?void 0:g.title)===d.title});if(!m||!m.symbol.command)return;d=m.symbol.command}try{await r.executeCommand(d.id,...d.arguments||[])}catch(h){o.error(h)}}});const vIt="$initialize";let d2e=!1;function NK(n){Ab&&(d2e||(d2e=!0))}class yIt{constructor(e,t,i,r){this.vsWorker=e,this.req=t,this.method=i,this.args=r,this.type=0}}class h2e{constructor(e,t,i,r){this.vsWorker=e,this.seq=t,this.res=i,this.err=r,this.type=1}}class CIt{constructor(e,t,i,r){this.vsWorker=e,this.req=t,this.eventName=i,this.arg=r,this.type=2}}class wIt{constructor(e,t,i){this.vsWorker=e,this.req=t,this.event=i,this.type=3}}class SIt{constructor(e,t){this.vsWorker=e,this.req=t,this.type=4}}class xIt{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(e){this._workerId=e}sendMessage(e,t){const i=String(++this._lastSentReq);return new Promise((r,o)=>{this._pendingReplies[i]={resolve:r,reject:o},this._send(new yIt(this._workerId,i,e,t))})}listen(e,t){let i=null;const r=new be({onWillAddFirstListener:()=>{i=String(++this._lastSentReq),this._pendingEmitters.set(i,r),this._send(new CIt(this._workerId,i,e,t))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(i),this._send(new SIt(this._workerId,i)),i=null}});return r.event}handleMessage(e){!e||!e.vsWorker||this._workerId!==-1&&e.vsWorker!==this._workerId||this._handleMessage(e)}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq])return;const t=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let i=e.err;e.err.$isError&&(i=new Error,i.name=e.err.name,i.message=e.err.message,i.stack=e.err.stack),t.reject(i);return}t.resolve(e.res)}_handleRequestMessage(e){const t=e.req;this._handler.handleMessage(e.method,e.args).then(r=>{this._send(new h2e(this._workerId,t,r,void 0))},r=>{r.detail instanceof Error&&(r.detail=Ebe(r.detail)),this._send(new h2e(this._workerId,t,void 0,Ebe(r)))})}_handleSubscribeEventMessage(e){const t=e.req,i=this._handler.handleEvent(e.eventName,e.arg)(r=>{this._send(new wIt(this._workerId,t,r))});this._pendingEvents.set(t,i)}_handleEventMessage(e){this._pendingEmitters.has(e.req)&&this._pendingEmitters.get(e.req).fire(e.event)}_handleUnsubscribeEventMessage(e){this._pendingEvents.has(e.req)&&(this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req))}_send(e){const t=[];if(e.type===0)for(let i=0;i{this._protocol.handleMessage(c)},c=>{r==null||r(c)})),this._protocol=new xIt({sendMessage:(c,d)=>{this._worker.postMessage(c,d)},handleMessage:(c,d)=>{if(typeof i[c]!="function")return Promise.reject(new Error("Missing method "+c+" on main thread host."));try{return Promise.resolve(i[c].apply(i,d))}catch(h){return Promise.reject(h)}},handleEvent:(c,d)=>{if(f2e(c)){const h=i[c].call(i,d);if(typeof h!="function")throw new Error(`Missing dynamic event ${c} on main thread host.`);return h}if(m2e(c)){const h=i[c];if(typeof h!="function")throw new Error(`Missing event ${c} on main thread host.`);return h}throw new Error(`Malformed event name ${c}`)}}),this._protocol.setWorkerId(this._worker.getId());let o=null;const s=globalThis.require;typeof s<"u"&&typeof s.getConfig=="function"?o=s.getConfig():typeof globalThis.requirejs<"u"&&(o=globalThis.requirejs.s.contexts._.config);const a=l6(i);this._onModuleLoaded=this._protocol.sendMessage(vIt,[this._worker.getId(),JSON.parse(JSON.stringify(o)),t,a]);const l=(c,d)=>this._request(c,d),u=(c,d)=>this._protocol.listen(c,d);this._lazyProxy=new Promise((c,d)=>{r=d,this._onModuleLoaded.then(h=>{c(_It(h,l,u))},h=>{d(h),this._onError("Worker failed to load "+t,h)})})}getProxyObject(){return this._lazyProxy}_request(e,t){return new Promise((i,r)=>{this._onModuleLoaded.then(()=>{this._protocol.sendMessage(e,t).then(i,r)},r)})}_onError(e,t){}}function m2e(n){return n[0]==="o"&&n[1]==="n"&&Om(n.charCodeAt(2))}function f2e(n){return/^onDynamic/.test(n)&&Om(n.charCodeAt(9))}function _It(n,e,t){const i=s=>function(){const a=Array.prototype.slice.call(arguments,0);return e(s,a)},r=s=>function(a){return t(s,a)},o={};for(const s of n){if(f2e(s)){o[s]=r(s);continue}if(m2e(s)){o[s]=t(s,void 0);continue}o[s]=i(s)}return o}const g2e=jg("defaultWorkerFactory",{createScriptURL:n=>n});function FIt(n){const e=globalThis.MonacoEnvironment;if(e){if(typeof e.getWorker=="function")return e.getWorker("workerMain.js",n);if(typeof e.getWorkerUrl=="function"){const t=e.getWorkerUrl("workerMain.js",n);return new Worker(g2e?g2e.createScriptURL(t):t,{name:n})}}throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}function IIt(n){return typeof n.then=="function"}class DIt extends Ie{constructor(e,t,i,r,o){super(),this.id=t,this.label=i;const s=FIt(i);IIt(s)?this.worker=s:this.worker=Promise.resolve(s),this.postMessage(e,[]),this.worker.then(a=>{a.onmessage=function(l){r(l.data)},a.onmessageerror=o,typeof a.addEventListener=="function"&&a.addEventListener("error",o)}),this._register(jt(()=>{var a;(a=this.worker)===null||a===void 0||a.then(l=>{l.onmessage=null,l.onmessageerror=null,l.removeEventListener("error",o),l.terminate()}),this.worker=null}))}getId(){return this.id}postMessage(e,t){var i;(i=this.worker)===null||i===void 0||i.then(r=>{try{r.postMessage(e,t)}catch(o){vn(o),vn(new Error(`FAILED to post message to '${this.label}'-worker`,{cause:o}))}})}}class o3{constructor(e){this._label=e,this._webWorkerFailedBeforeError=!1}create(e,t,i){const r=++o3.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new DIt(e,r,this._label||"anonymous"+r,t,o=>{NK(o),this._webWorkerFailedBeforeError=o,i(o)})}}o3.LAST_WORKER_ID=0;class Z0{constructor(e,t,i,r){this.originalStart=e,this.originalLength=t,this.modifiedStart=i,this.modifiedLength=r}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}class p2e{constructor(e){this.source=e}getElements(){const e=this.source,t=new Int32Array(e.length);for(let i=0,r=e.length;i0||this.m_modifiedCount>0)&&this.m_changes.push(new Z0(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++}AddModifiedElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class Df{constructor(e,t,i=null){this.ContinueProcessingPredicate=i,this._originalSequence=e,this._modifiedSequence=t;const[r,o,s]=Df._getElements(e),[a,l,u]=Df._getElements(t);this._hasStrings=s&&u,this._originalStringElements=r,this._originalElementsOrHash=o,this._modifiedStringElements=a,this._modifiedElementsOrHash=l,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&typeof e[0]=="string"}static _getElements(e){const t=e.getElements();if(Df._isStringArray(t)){const i=new Int32Array(t.length);for(let r=0,o=t.length;r=e&&r>=i&&this.ElementsAreEqual(t,r);)t--,r--;if(e>t||i>r){let d;return i<=r?(J2.Assert(e===t+1,"originalStart should only be one more than originalEnd"),d=[new Z0(e,0,i,r-i+1)]):e<=t?(J2.Assert(i===r+1,"modifiedStart should only be one more than modifiedEnd"),d=[new Z0(e,t-e+1,i,0)]):(J2.Assert(e===t+1,"originalStart should only be one more than originalEnd"),J2.Assert(i===r+1,"modifiedStart should only be one more than modifiedEnd"),d=[]),d}const s=[0],a=[0],l=this.ComputeRecursionPoint(e,t,i,r,s,a,o),u=s[0],c=a[0];if(l!==null)return l;if(!o[0]){const d=this.ComputeDiffRecursive(e,u,i,c,o);let h=[];return o[0]?h=[new Z0(u+1,t-(u+1)+1,c+1,r-(c+1)+1)]:h=this.ComputeDiffRecursive(u+1,t,c+1,r,o),this.ConcatenateChanges(d,h)}return[new Z0(e,t-e+1,i,r-i+1)]}WALKTRACE(e,t,i,r,o,s,a,l,u,c,d,h,m,f,g,b,v,C){let S=null,x=null,_=new b2e,F=t,D=i,M=m[0]-b[0]-r,T=-1073741824,Z=this.m_forwardHistory.length-1;do{const E=M+e;E===F||E=0&&(u=this.m_forwardHistory[Z],e=u[0],F=1,D=u.length-1)}while(--Z>=-1);if(S=_.getReverseChanges(),C[0]){let E=m[0]+1,R=b[0]+1;if(S!==null&&S.length>0){const W=S[S.length-1];E=Math.max(E,W.getOriginalEnd()),R=Math.max(R,W.getModifiedEnd())}x=[new Z0(E,h-E+1,R,g-R+1)]}else{_=new b2e,F=s,D=a,M=m[0]-b[0]-l,T=1073741824,Z=v?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const E=M+o;E===F||E=c[E+1]?(d=c[E+1]-1,f=d-M-l,d>T&&_.MarkNextChange(),T=d+1,_.AddOriginalElement(d+1,f+1),M=E+1-o):(d=c[E-1],f=d-M-l,d>T&&_.MarkNextChange(),T=d,_.AddModifiedElement(d+1,f+1),M=E-1-o),Z>=0&&(c=this.m_reverseHistory[Z],o=c[0],F=1,D=c.length-1)}while(--Z>=-1);x=_.getChanges()}return this.ConcatenateChanges(S,x)}ComputeRecursionPoint(e,t,i,r,o,s,a){let l=0,u=0,c=0,d=0,h=0,m=0;e--,i--,o[0]=0,s[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const f=t-e+(r-i),g=f+1,b=new Int32Array(g),v=new Int32Array(g),C=r-i,S=t-e,x=e-i,_=t-r,D=(S-C)%2===0;b[C]=e,v[S]=t,a[0]=!1;for(let M=1;M<=f/2+1;M++){let T=0,Z=0;c=this.ClipDiagonalBound(C-M,M,C,g),d=this.ClipDiagonalBound(C+M,M,C,g);for(let R=c;R<=d;R+=2){R===c||RT+Z&&(T=l,Z=u),!D&&Math.abs(R-S)<=M-1&&l>=v[R])return o[0]=l,s[0]=u,W<=v[R]&&M<=1448?this.WALKTRACE(C,c,d,x,S,h,m,_,b,v,l,t,o,u,r,s,D,a):null}const E=(T-e+(Z-i)-M)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(T,E))return a[0]=!0,o[0]=T,s[0]=Z,E>0&&M<=1448?this.WALKTRACE(C,c,d,x,S,h,m,_,b,v,l,t,o,u,r,s,D,a):(e++,i++,[new Z0(e,t-e+1,i,r-i+1)]);h=this.ClipDiagonalBound(S-M,M,S,g),m=this.ClipDiagonalBound(S+M,M,S,g);for(let R=h;R<=m;R+=2){R===h||R=v[R+1]?l=v[R+1]-1:l=v[R-1],u=l-(R-S)-_;const W=l;for(;l>e&&u>i&&this.ElementsAreEqual(l,u);)l--,u--;if(v[R]=l,D&&Math.abs(R-C)<=M&&l<=b[R])return o[0]=l,s[0]=u,W>=b[R]&&M<=1448?this.WALKTRACE(C,c,d,x,S,h,m,_,b,v,l,t,o,u,r,s,D,a):null}if(M<=1447){let R=new Int32Array(d-c+2);R[0]=C-c+1,j2.Copy2(b,c,R,1,d-c+1),this.m_forwardHistory.push(R),R=new Int32Array(m-h+2),R[0]=S-h+1,j2.Copy2(v,h,R,1,m-h+1),this.m_reverseHistory.push(R)}}return this.WALKTRACE(C,c,d,x,S,h,m,_,b,v,l,t,o,u,r,s,D,a)}PrettifyChanges(e){for(let t=0;t0,a=i.modifiedLength>0;for(;i.originalStart+i.originalLength=0;t--){const i=e[t];let r=0,o=0;if(t>0){const d=e[t-1];r=d.originalStart+d.originalLength,o=d.modifiedStart+d.modifiedLength}const s=i.originalLength>0,a=i.modifiedLength>0;let l=0,u=this._boundaryScore(i.originalStart,i.originalLength,i.modifiedStart,i.modifiedLength);for(let d=1;;d++){const h=i.originalStart-d,m=i.modifiedStart-d;if(hu&&(u=g,l=d)}i.originalStart-=l,i.modifiedStart-=l;const c=[null];if(t>0&&this.ChangesOverlap(e[t-1],e[t],c)){e[t-1]=c[0],e.splice(t,1),t++;continue}}if(this._hasStrings)for(let t=1,i=e.length;t0&&m>l&&(l=m,u=d,c=h)}return l>0?[u,c]:null}_contiguousSequenceScore(e,t,i){let r=0;for(let o=0;o=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){const i=e+t;if(this._OriginalIsBoundary(i-1)||this._OriginalIsBoundary(i))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){const i=e+t;if(this._ModifiedIsBoundary(i-1)||this._ModifiedIsBoundary(i))return!0}return!1}_boundaryScore(e,t,i,r){const o=this._OriginalRegionIsBoundary(e,t)?1:0,s=this._ModifiedRegionIsBoundary(i,r)?1:0;return o+s}ConcatenateChanges(e,t){const i=[];if(e.length===0||t.length===0)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],i)){const r=new Array(e.length+t.length-1);return j2.Copy(e,0,r,0,e.length-1),r[e.length-1]=i[0],j2.Copy(t,1,r,e.length,t.length-1),r}else{const r=new Array(e.length+t.length);return j2.Copy(e,0,r,0,e.length),j2.Copy(t,0,r,e.length,t.length),r}}ChangesOverlap(e,t,i){if(J2.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),J2.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){const r=e.originalStart;let o=e.originalLength;const s=e.modifiedStart;let a=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(o=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(a=t.modifiedStart+t.modifiedLength-e.modifiedStart),i[0]=new Z0(r,o,s,a),!0}else return i[0]=null,!1}ClipDiagonalBound(e,t,i,r){if(e>=0&&et&&(t=l),a>i&&(i=a),u>i&&(i=u)}t++,i++;const r=new NIt(i,t,0);for(let o=0,s=e.length;o=this._maxCharCode?0:this._states.get(e,t)}}let TK=null;function EIt(){return TK===null&&(TK=new TIt([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),TK}let hM=null;function ZIt(){if(hM===null){hM=new kS(0);const n=` <>'"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…`;for(let t=0;tr);if(r>0){const a=t.charCodeAt(r-1),l=t.charCodeAt(s);(a===40&&l===41||a===91&&l===93||a===123&&l===125)&&s--}return{range:{startLineNumber:i,startColumn:r+1,endLineNumber:i,endColumn:s+2},url:t.substring(r,s+1)}}static computeLinks(e,t=EIt()){const i=ZIt(),r=[];for(let o=1,s=e.getLineCount();o<=s;o++){const a=e.getLineContent(o),l=a.length;let u=0,c=0,d=0,h=1,m=!1,f=!1,g=!1,b=!1;for(;u=0?(r+=i?1:-1,r<0?r=e.length-1:r%=e.length,e[r]):null}}EK.INSTANCE=new EK;var ZK;(function(n){n[n.Unknown=0]="Unknown",n[n.Disabled=1]="Disabled",n[n.Enabled=2]="Enabled"})(ZK||(ZK={}));var WK;(function(n){n[n.Invoke=1]="Invoke",n[n.Auto=2]="Auto"})(WK||(WK={}));var RK;(function(n){n[n.None=0]="None",n[n.KeepWhitespace=1]="KeepWhitespace",n[n.InsertAsSnippet=4]="InsertAsSnippet"})(RK||(RK={}));var VK;(function(n){n[n.Method=0]="Method",n[n.Function=1]="Function",n[n.Constructor=2]="Constructor",n[n.Field=3]="Field",n[n.Variable=4]="Variable",n[n.Class=5]="Class",n[n.Struct=6]="Struct",n[n.Interface=7]="Interface",n[n.Module=8]="Module",n[n.Property=9]="Property",n[n.Event=10]="Event",n[n.Operator=11]="Operator",n[n.Unit=12]="Unit",n[n.Value=13]="Value",n[n.Constant=14]="Constant",n[n.Enum=15]="Enum",n[n.EnumMember=16]="EnumMember",n[n.Keyword=17]="Keyword",n[n.Text=18]="Text",n[n.Color=19]="Color",n[n.File=20]="File",n[n.Reference=21]="Reference",n[n.Customcolor=22]="Customcolor",n[n.Folder=23]="Folder",n[n.TypeParameter=24]="TypeParameter",n[n.User=25]="User",n[n.Issue=26]="Issue",n[n.Snippet=27]="Snippet"})(VK||(VK={}));var AK;(function(n){n[n.Deprecated=1]="Deprecated"})(AK||(AK={}));var GK;(function(n){n[n.Invoke=0]="Invoke",n[n.TriggerCharacter=1]="TriggerCharacter",n[n.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"})(GK||(GK={}));var XK;(function(n){n[n.EXACT=0]="EXACT",n[n.ABOVE=1]="ABOVE",n[n.BELOW=2]="BELOW"})(XK||(XK={}));var PK;(function(n){n[n.NotSet=0]="NotSet",n[n.ContentFlush=1]="ContentFlush",n[n.RecoverFromMarkers=2]="RecoverFromMarkers",n[n.Explicit=3]="Explicit",n[n.Paste=4]="Paste",n[n.Undo=5]="Undo",n[n.Redo=6]="Redo"})(PK||(PK={}));var OK;(function(n){n[n.LF=1]="LF",n[n.CRLF=2]="CRLF"})(OK||(OK={}));var BK;(function(n){n[n.Text=0]="Text",n[n.Read=1]="Read",n[n.Write=2]="Write"})(BK||(BK={}));var zK;(function(n){n[n.None=0]="None",n[n.Keep=1]="Keep",n[n.Brackets=2]="Brackets",n[n.Advanced=3]="Advanced",n[n.Full=4]="Full"})(zK||(zK={}));var HK;(function(n){n[n.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",n[n.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",n[n.accessibilitySupport=2]="accessibilitySupport",n[n.accessibilityPageSize=3]="accessibilityPageSize",n[n.ariaLabel=4]="ariaLabel",n[n.ariaRequired=5]="ariaRequired",n[n.autoClosingBrackets=6]="autoClosingBrackets",n[n.autoClosingComments=7]="autoClosingComments",n[n.screenReaderAnnounceInlineSuggestion=8]="screenReaderAnnounceInlineSuggestion",n[n.autoClosingDelete=9]="autoClosingDelete",n[n.autoClosingOvertype=10]="autoClosingOvertype",n[n.autoClosingQuotes=11]="autoClosingQuotes",n[n.autoIndent=12]="autoIndent",n[n.automaticLayout=13]="automaticLayout",n[n.autoSurround=14]="autoSurround",n[n.bracketPairColorization=15]="bracketPairColorization",n[n.guides=16]="guides",n[n.codeLens=17]="codeLens",n[n.codeLensFontFamily=18]="codeLensFontFamily",n[n.codeLensFontSize=19]="codeLensFontSize",n[n.colorDecorators=20]="colorDecorators",n[n.colorDecoratorsLimit=21]="colorDecoratorsLimit",n[n.columnSelection=22]="columnSelection",n[n.comments=23]="comments",n[n.contextmenu=24]="contextmenu",n[n.copyWithSyntaxHighlighting=25]="copyWithSyntaxHighlighting",n[n.cursorBlinking=26]="cursorBlinking",n[n.cursorSmoothCaretAnimation=27]="cursorSmoothCaretAnimation",n[n.cursorStyle=28]="cursorStyle",n[n.cursorSurroundingLines=29]="cursorSurroundingLines",n[n.cursorSurroundingLinesStyle=30]="cursorSurroundingLinesStyle",n[n.cursorWidth=31]="cursorWidth",n[n.disableLayerHinting=32]="disableLayerHinting",n[n.disableMonospaceOptimizations=33]="disableMonospaceOptimizations",n[n.domReadOnly=34]="domReadOnly",n[n.dragAndDrop=35]="dragAndDrop",n[n.dropIntoEditor=36]="dropIntoEditor",n[n.emptySelectionClipboard=37]="emptySelectionClipboard",n[n.experimentalWhitespaceRendering=38]="experimentalWhitespaceRendering",n[n.extraEditorClassName=39]="extraEditorClassName",n[n.fastScrollSensitivity=40]="fastScrollSensitivity",n[n.find=41]="find",n[n.fixedOverflowWidgets=42]="fixedOverflowWidgets",n[n.folding=43]="folding",n[n.foldingStrategy=44]="foldingStrategy",n[n.foldingHighlight=45]="foldingHighlight",n[n.foldingImportsByDefault=46]="foldingImportsByDefault",n[n.foldingMaximumRegions=47]="foldingMaximumRegions",n[n.unfoldOnClickAfterEndOfLine=48]="unfoldOnClickAfterEndOfLine",n[n.fontFamily=49]="fontFamily",n[n.fontInfo=50]="fontInfo",n[n.fontLigatures=51]="fontLigatures",n[n.fontSize=52]="fontSize",n[n.fontWeight=53]="fontWeight",n[n.fontVariations=54]="fontVariations",n[n.formatOnPaste=55]="formatOnPaste",n[n.formatOnType=56]="formatOnType",n[n.glyphMargin=57]="glyphMargin",n[n.gotoLocation=58]="gotoLocation",n[n.hideCursorInOverviewRuler=59]="hideCursorInOverviewRuler",n[n.hover=60]="hover",n[n.inDiffEditor=61]="inDiffEditor",n[n.inlineSuggest=62]="inlineSuggest",n[n.inlineEdit=63]="inlineEdit",n[n.letterSpacing=64]="letterSpacing",n[n.lightbulb=65]="lightbulb",n[n.lineDecorationsWidth=66]="lineDecorationsWidth",n[n.lineHeight=67]="lineHeight",n[n.lineNumbers=68]="lineNumbers",n[n.lineNumbersMinChars=69]="lineNumbersMinChars",n[n.linkedEditing=70]="linkedEditing",n[n.links=71]="links",n[n.matchBrackets=72]="matchBrackets",n[n.minimap=73]="minimap",n[n.mouseStyle=74]="mouseStyle",n[n.mouseWheelScrollSensitivity=75]="mouseWheelScrollSensitivity",n[n.mouseWheelZoom=76]="mouseWheelZoom",n[n.multiCursorMergeOverlapping=77]="multiCursorMergeOverlapping",n[n.multiCursorModifier=78]="multiCursorModifier",n[n.multiCursorPaste=79]="multiCursorPaste",n[n.multiCursorLimit=80]="multiCursorLimit",n[n.occurrencesHighlight=81]="occurrencesHighlight",n[n.overviewRulerBorder=82]="overviewRulerBorder",n[n.overviewRulerLanes=83]="overviewRulerLanes",n[n.padding=84]="padding",n[n.pasteAs=85]="pasteAs",n[n.parameterHints=86]="parameterHints",n[n.peekWidgetDefaultFocus=87]="peekWidgetDefaultFocus",n[n.definitionLinkOpensInPeek=88]="definitionLinkOpensInPeek",n[n.quickSuggestions=89]="quickSuggestions",n[n.quickSuggestionsDelay=90]="quickSuggestionsDelay",n[n.readOnly=91]="readOnly",n[n.readOnlyMessage=92]="readOnlyMessage",n[n.renameOnType=93]="renameOnType",n[n.renderControlCharacters=94]="renderControlCharacters",n[n.renderFinalNewline=95]="renderFinalNewline",n[n.renderLineHighlight=96]="renderLineHighlight",n[n.renderLineHighlightOnlyWhenFocus=97]="renderLineHighlightOnlyWhenFocus",n[n.renderValidationDecorations=98]="renderValidationDecorations",n[n.renderWhitespace=99]="renderWhitespace",n[n.revealHorizontalRightPadding=100]="revealHorizontalRightPadding",n[n.roundedSelection=101]="roundedSelection",n[n.rulers=102]="rulers",n[n.scrollbar=103]="scrollbar",n[n.scrollBeyondLastColumn=104]="scrollBeyondLastColumn",n[n.scrollBeyondLastLine=105]="scrollBeyondLastLine",n[n.scrollPredominantAxis=106]="scrollPredominantAxis",n[n.selectionClipboard=107]="selectionClipboard",n[n.selectionHighlight=108]="selectionHighlight",n[n.selectOnLineNumbers=109]="selectOnLineNumbers",n[n.showFoldingControls=110]="showFoldingControls",n[n.showUnused=111]="showUnused",n[n.snippetSuggestions=112]="snippetSuggestions",n[n.smartSelect=113]="smartSelect",n[n.smoothScrolling=114]="smoothScrolling",n[n.stickyScroll=115]="stickyScroll",n[n.stickyTabStops=116]="stickyTabStops",n[n.stopRenderingLineAfter=117]="stopRenderingLineAfter",n[n.suggest=118]="suggest",n[n.suggestFontSize=119]="suggestFontSize",n[n.suggestLineHeight=120]="suggestLineHeight",n[n.suggestOnTriggerCharacters=121]="suggestOnTriggerCharacters",n[n.suggestSelection=122]="suggestSelection",n[n.tabCompletion=123]="tabCompletion",n[n.tabIndex=124]="tabIndex",n[n.unicodeHighlighting=125]="unicodeHighlighting",n[n.unusualLineTerminators=126]="unusualLineTerminators",n[n.useShadowDOM=127]="useShadowDOM",n[n.useTabStops=128]="useTabStops",n[n.wordBreak=129]="wordBreak",n[n.wordSegmenterLocales=130]="wordSegmenterLocales",n[n.wordSeparators=131]="wordSeparators",n[n.wordWrap=132]="wordWrap",n[n.wordWrapBreakAfterCharacters=133]="wordWrapBreakAfterCharacters",n[n.wordWrapBreakBeforeCharacters=134]="wordWrapBreakBeforeCharacters",n[n.wordWrapColumn=135]="wordWrapColumn",n[n.wordWrapOverride1=136]="wordWrapOverride1",n[n.wordWrapOverride2=137]="wordWrapOverride2",n[n.wrappingIndent=138]="wrappingIndent",n[n.wrappingStrategy=139]="wrappingStrategy",n[n.showDeprecated=140]="showDeprecated",n[n.inlayHints=141]="inlayHints",n[n.editorClassName=142]="editorClassName",n[n.pixelRatio=143]="pixelRatio",n[n.tabFocusMode=144]="tabFocusMode",n[n.layoutInfo=145]="layoutInfo",n[n.wrappingInfo=146]="wrappingInfo",n[n.defaultColorDecorators=147]="defaultColorDecorators",n[n.colorDecoratorsActivatedOn=148]="colorDecoratorsActivatedOn",n[n.inlineCompletionsAccessibilityVerbose=149]="inlineCompletionsAccessibilityVerbose"})(HK||(HK={}));var YK;(function(n){n[n.TextDefined=0]="TextDefined",n[n.LF=1]="LF",n[n.CRLF=2]="CRLF"})(YK||(YK={}));var UK;(function(n){n[n.LF=0]="LF",n[n.CRLF=1]="CRLF"})(UK||(UK={}));var KK;(function(n){n[n.Left=1]="Left",n[n.Center=2]="Center",n[n.Right=3]="Right"})(KK||(KK={}));var JK;(function(n){n[n.None=0]="None",n[n.Indent=1]="Indent",n[n.IndentOutdent=2]="IndentOutdent",n[n.Outdent=3]="Outdent"})(JK||(JK={}));var jK;(function(n){n[n.Both=0]="Both",n[n.Right=1]="Right",n[n.Left=2]="Left",n[n.None=3]="None"})(jK||(jK={}));var QK;(function(n){n[n.Type=1]="Type",n[n.Parameter=2]="Parameter"})(QK||(QK={}));var $K;(function(n){n[n.Automatic=0]="Automatic",n[n.Explicit=1]="Explicit"})($K||($K={}));var qK;(function(n){n[n.Invoke=0]="Invoke",n[n.Automatic=1]="Automatic"})(qK||(qK={}));var eJ;(function(n){n[n.DependsOnKbLayout=-1]="DependsOnKbLayout",n[n.Unknown=0]="Unknown",n[n.Backspace=1]="Backspace",n[n.Tab=2]="Tab",n[n.Enter=3]="Enter",n[n.Shift=4]="Shift",n[n.Ctrl=5]="Ctrl",n[n.Alt=6]="Alt",n[n.PauseBreak=7]="PauseBreak",n[n.CapsLock=8]="CapsLock",n[n.Escape=9]="Escape",n[n.Space=10]="Space",n[n.PageUp=11]="PageUp",n[n.PageDown=12]="PageDown",n[n.End=13]="End",n[n.Home=14]="Home",n[n.LeftArrow=15]="LeftArrow",n[n.UpArrow=16]="UpArrow",n[n.RightArrow=17]="RightArrow",n[n.DownArrow=18]="DownArrow",n[n.Insert=19]="Insert",n[n.Delete=20]="Delete",n[n.Digit0=21]="Digit0",n[n.Digit1=22]="Digit1",n[n.Digit2=23]="Digit2",n[n.Digit3=24]="Digit3",n[n.Digit4=25]="Digit4",n[n.Digit5=26]="Digit5",n[n.Digit6=27]="Digit6",n[n.Digit7=28]="Digit7",n[n.Digit8=29]="Digit8",n[n.Digit9=30]="Digit9",n[n.KeyA=31]="KeyA",n[n.KeyB=32]="KeyB",n[n.KeyC=33]="KeyC",n[n.KeyD=34]="KeyD",n[n.KeyE=35]="KeyE",n[n.KeyF=36]="KeyF",n[n.KeyG=37]="KeyG",n[n.KeyH=38]="KeyH",n[n.KeyI=39]="KeyI",n[n.KeyJ=40]="KeyJ",n[n.KeyK=41]="KeyK",n[n.KeyL=42]="KeyL",n[n.KeyM=43]="KeyM",n[n.KeyN=44]="KeyN",n[n.KeyO=45]="KeyO",n[n.KeyP=46]="KeyP",n[n.KeyQ=47]="KeyQ",n[n.KeyR=48]="KeyR",n[n.KeyS=49]="KeyS",n[n.KeyT=50]="KeyT",n[n.KeyU=51]="KeyU",n[n.KeyV=52]="KeyV",n[n.KeyW=53]="KeyW",n[n.KeyX=54]="KeyX",n[n.KeyY=55]="KeyY",n[n.KeyZ=56]="KeyZ",n[n.Meta=57]="Meta",n[n.ContextMenu=58]="ContextMenu",n[n.F1=59]="F1",n[n.F2=60]="F2",n[n.F3=61]="F3",n[n.F4=62]="F4",n[n.F5=63]="F5",n[n.F6=64]="F6",n[n.F7=65]="F7",n[n.F8=66]="F8",n[n.F9=67]="F9",n[n.F10=68]="F10",n[n.F11=69]="F11",n[n.F12=70]="F12",n[n.F13=71]="F13",n[n.F14=72]="F14",n[n.F15=73]="F15",n[n.F16=74]="F16",n[n.F17=75]="F17",n[n.F18=76]="F18",n[n.F19=77]="F19",n[n.F20=78]="F20",n[n.F21=79]="F21",n[n.F22=80]="F22",n[n.F23=81]="F23",n[n.F24=82]="F24",n[n.NumLock=83]="NumLock",n[n.ScrollLock=84]="ScrollLock",n[n.Semicolon=85]="Semicolon",n[n.Equal=86]="Equal",n[n.Comma=87]="Comma",n[n.Minus=88]="Minus",n[n.Period=89]="Period",n[n.Slash=90]="Slash",n[n.Backquote=91]="Backquote",n[n.BracketLeft=92]="BracketLeft",n[n.Backslash=93]="Backslash",n[n.BracketRight=94]="BracketRight",n[n.Quote=95]="Quote",n[n.OEM_8=96]="OEM_8",n[n.IntlBackslash=97]="IntlBackslash",n[n.Numpad0=98]="Numpad0",n[n.Numpad1=99]="Numpad1",n[n.Numpad2=100]="Numpad2",n[n.Numpad3=101]="Numpad3",n[n.Numpad4=102]="Numpad4",n[n.Numpad5=103]="Numpad5",n[n.Numpad6=104]="Numpad6",n[n.Numpad7=105]="Numpad7",n[n.Numpad8=106]="Numpad8",n[n.Numpad9=107]="Numpad9",n[n.NumpadMultiply=108]="NumpadMultiply",n[n.NumpadAdd=109]="NumpadAdd",n[n.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",n[n.NumpadSubtract=111]="NumpadSubtract",n[n.NumpadDecimal=112]="NumpadDecimal",n[n.NumpadDivide=113]="NumpadDivide",n[n.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",n[n.ABNT_C1=115]="ABNT_C1",n[n.ABNT_C2=116]="ABNT_C2",n[n.AudioVolumeMute=117]="AudioVolumeMute",n[n.AudioVolumeUp=118]="AudioVolumeUp",n[n.AudioVolumeDown=119]="AudioVolumeDown",n[n.BrowserSearch=120]="BrowserSearch",n[n.BrowserHome=121]="BrowserHome",n[n.BrowserBack=122]="BrowserBack",n[n.BrowserForward=123]="BrowserForward",n[n.MediaTrackNext=124]="MediaTrackNext",n[n.MediaTrackPrevious=125]="MediaTrackPrevious",n[n.MediaStop=126]="MediaStop",n[n.MediaPlayPause=127]="MediaPlayPause",n[n.LaunchMediaPlayer=128]="LaunchMediaPlayer",n[n.LaunchMail=129]="LaunchMail",n[n.LaunchApp2=130]="LaunchApp2",n[n.Clear=131]="Clear",n[n.MAX_VALUE=132]="MAX_VALUE"})(eJ||(eJ={}));var tJ;(function(n){n[n.Hint=1]="Hint",n[n.Info=2]="Info",n[n.Warning=4]="Warning",n[n.Error=8]="Error"})(tJ||(tJ={}));var nJ;(function(n){n[n.Unnecessary=1]="Unnecessary",n[n.Deprecated=2]="Deprecated"})(nJ||(nJ={}));var iJ;(function(n){n[n.Inline=1]="Inline",n[n.Gutter=2]="Gutter"})(iJ||(iJ={}));var rJ;(function(n){n[n.Normal=1]="Normal",n[n.Underlined=2]="Underlined"})(rJ||(rJ={}));var oJ;(function(n){n[n.UNKNOWN=0]="UNKNOWN",n[n.TEXTAREA=1]="TEXTAREA",n[n.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",n[n.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",n[n.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",n[n.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",n[n.CONTENT_TEXT=6]="CONTENT_TEXT",n[n.CONTENT_EMPTY=7]="CONTENT_EMPTY",n[n.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",n[n.CONTENT_WIDGET=9]="CONTENT_WIDGET",n[n.OVERVIEW_RULER=10]="OVERVIEW_RULER",n[n.SCROLLBAR=11]="SCROLLBAR",n[n.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",n[n.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"})(oJ||(oJ={}));var sJ;(function(n){n[n.AIGenerated=1]="AIGenerated"})(sJ||(sJ={}));var aJ;(function(n){n[n.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",n[n.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",n[n.TOP_CENTER=2]="TOP_CENTER"})(aJ||(aJ={}));var lJ;(function(n){n[n.Left=1]="Left",n[n.Center=2]="Center",n[n.Right=4]="Right",n[n.Full=7]="Full"})(lJ||(lJ={}));var uJ;(function(n){n[n.Word=0]="Word",n[n.Line=1]="Line",n[n.Suggest=2]="Suggest"})(uJ||(uJ={}));var cJ;(function(n){n[n.Left=0]="Left",n[n.Right=1]="Right",n[n.None=2]="None",n[n.LeftOfInjectedText=3]="LeftOfInjectedText",n[n.RightOfInjectedText=4]="RightOfInjectedText"})(cJ||(cJ={}));var dJ;(function(n){n[n.Off=0]="Off",n[n.On=1]="On",n[n.Relative=2]="Relative",n[n.Interval=3]="Interval",n[n.Custom=4]="Custom"})(dJ||(dJ={}));var hJ;(function(n){n[n.None=0]="None",n[n.Text=1]="Text",n[n.Blocks=2]="Blocks"})(hJ||(hJ={}));var mJ;(function(n){n[n.Smooth=0]="Smooth",n[n.Immediate=1]="Immediate"})(mJ||(mJ={}));var fJ;(function(n){n[n.Auto=1]="Auto",n[n.Hidden=2]="Hidden",n[n.Visible=3]="Visible"})(fJ||(fJ={}));var gJ;(function(n){n[n.LTR=0]="LTR",n[n.RTL=1]="RTL"})(gJ||(gJ={}));var pJ;(function(n){n.Off="off",n.OnCode="onCode",n.On="on"})(pJ||(pJ={}));var bJ;(function(n){n[n.Invoke=1]="Invoke",n[n.TriggerCharacter=2]="TriggerCharacter",n[n.ContentChange=3]="ContentChange"})(bJ||(bJ={}));var vJ;(function(n){n[n.File=0]="File",n[n.Module=1]="Module",n[n.Namespace=2]="Namespace",n[n.Package=3]="Package",n[n.Class=4]="Class",n[n.Method=5]="Method",n[n.Property=6]="Property",n[n.Field=7]="Field",n[n.Constructor=8]="Constructor",n[n.Enum=9]="Enum",n[n.Interface=10]="Interface",n[n.Function=11]="Function",n[n.Variable=12]="Variable",n[n.Constant=13]="Constant",n[n.String=14]="String",n[n.Number=15]="Number",n[n.Boolean=16]="Boolean",n[n.Array=17]="Array",n[n.Object=18]="Object",n[n.Key=19]="Key",n[n.Null=20]="Null",n[n.EnumMember=21]="EnumMember",n[n.Struct=22]="Struct",n[n.Event=23]="Event",n[n.Operator=24]="Operator",n[n.TypeParameter=25]="TypeParameter"})(vJ||(vJ={}));var yJ;(function(n){n[n.Deprecated=1]="Deprecated"})(yJ||(yJ={}));var CJ;(function(n){n[n.Hidden=0]="Hidden",n[n.Blink=1]="Blink",n[n.Smooth=2]="Smooth",n[n.Phase=3]="Phase",n[n.Expand=4]="Expand",n[n.Solid=5]="Solid"})(CJ||(CJ={}));var wJ;(function(n){n[n.Line=1]="Line",n[n.Block=2]="Block",n[n.Underline=3]="Underline",n[n.LineThin=4]="LineThin",n[n.BlockOutline=5]="BlockOutline",n[n.UnderlineThin=6]="UnderlineThin"})(wJ||(wJ={}));var SJ;(function(n){n[n.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",n[n.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",n[n.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",n[n.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"})(SJ||(SJ={}));var xJ;(function(n){n[n.None=0]="None",n[n.Same=1]="Same",n[n.Indent=2]="Indent",n[n.DeepIndent=3]="DeepIndent"})(xJ||(xJ={}));let mM=class{static chord(e,t){return Wo(e,t)}};mM.CtrlCmd=2048,mM.Shift=1024,mM.Alt=512,mM.WinCtrl=256;function v2e(){return{editor:void 0,languages:void 0,CancellationTokenSource:fo,Emitter:be,KeyCode:eJ,KeyMod:mM,Position:ye,Range:J,Selection:Wt,SelectionDirection:gJ,MarkerSeverity:tJ,MarkerTag:nJ,Uri:en,Token:PI}}class LJ{static computeUnicodeHighlights(e,t,i){const r=i?i.startLineNumber:1,o=i?i.endLineNumber:e.getLineCount(),s=new y2e(t),a=s.getCandidateCodePoints();let l;a==="allNonBasicAscii"?l=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):l=new RegExp(`${RIt(Array.from(a))}`,"g");const u=new v2(null,l),c=[];let d=!1,h,m=0,f=0,g=0;e:for(let b=r,v=o;b<=v;b++){const C=e.getLineContent(b),S=C.length;u.reset(0);do if(h=u.next(C),h){let x=h.index,_=h.index+h[0].length;if(x>0){const T=C.charCodeAt(x-1);os(T)&&x--}if(_+1=1e3){d=!0;break e}c.push(new J(b,x+1,b,_+1))}}while(h)}return{ranges:c,hasMore:d,ambiguousCharacterCount:m,invisibleCharacterCount:f,nonBasicAsciiCharacterCount:g}}static computeUnicodeHighlightReason(e,t){const i=new y2e(t);switch(i.shouldHighlightNonBasicASCII(e,null)){case 0:return null;case 2:return{kind:1};case 3:{const o=e.codePointAt(0),s=i.ambiguousCharacters.getPrimaryConfusable(o),a=Hv.getLocales().filter(l=>!Hv.getInstance(new Set([...t.allowedLocales,l])).isAmbiguous(o));return{kind:0,confusableWith:String.fromCodePoint(s),notAmbiguousInLocales:a}}case 1:return{kind:2}}}}function RIt(n,e){return`[${Ru(n.map(i=>String.fromCodePoint(i)).join(""))}]`}class y2e{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints),this.ambiguousCharacters=Hv.getInstance(new Set(e.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const e=new Set;if(this.options.invisibleCharacters)for(const t of Bm.codePoints)C2e(String.fromCodePoint(t))||e.add(t);if(this.options.ambiguousCharacters)for(const t of this.ambiguousCharacters.getConfusableCodePoints())e.add(t);for(const t of this.allowedCodePoints)e.delete(t);return e}shouldHighlightNonBasicASCII(e,t){const i=e.codePointAt(0);if(this.allowedCodePoints.has(i))return 0;if(this.options.nonBasicASCII)return 1;let r=!1,o=!1;if(t)for(const s of t){const a=s.codePointAt(0),l=qF(s);r=r||l,!l&&!this.ambiguousCharacters.isAmbiguous(a)&&!Bm.isInvisibleCharacter(a)&&(o=!0)}return!r&&o?0:this.options.invisibleCharacters&&!C2e(e)&&Bm.isInvisibleCharacter(i)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(i)?3:0}}function C2e(n){return n===" "||n===` -`||n===" "}const VIt=3;class AIt{computeDiff(e,t,i){var r;const s=new PIt(e,t,{maxComputationTime:i.maxComputationTimeMs,shouldIgnoreTrimWhitespace:i.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),a=[];let l=null;for(const u of s.changes){let c;u.originalEndLineNumber===0?c=new dn(u.originalStartLineNumber+1,u.originalStartLineNumber+1):c=new dn(u.originalStartLineNumber,u.originalEndLineNumber+1);let d;u.modifiedEndLineNumber===0?d=new dn(u.modifiedStartLineNumber+1,u.modifiedStartLineNumber+1):d=new dn(u.modifiedStartLineNumber,u.modifiedEndLineNumber+1);let h=new ju(c,d,(r=u.charChanges)===null||r===void 0?void 0:r.map(m=>new mp(new J(m.originalStartLineNumber,m.originalStartColumn,m.originalEndLineNumber,m.originalEndColumn),new J(m.modifiedStartLineNumber,m.modifiedStartColumn,m.modifiedEndLineNumber,m.modifiedEndColumn))));l&&(l.modified.endLineNumberExclusive===h.modified.startLineNumber||l.original.endLineNumberExclusive===h.original.startLineNumber)&&(h=new ju(l.original.join(h.original),l.modified.join(h.modified),l.innerChanges&&h.innerChanges?l.innerChanges.concat(h.innerChanges):void 0),a.pop()),a.push(h),l=h}return ey(()=>ZY(a,(u,c)=>c.original.startLineNumber-u.original.endLineNumberExclusive===c.modified.startLineNumber-u.modified.endLineNumberExclusive&&u.original.endLineNumberExclusive(e===10?"\\n":String.fromCharCode(e))+`-(${this._lineNumbers[t]},${this._columns[t]})`).join(", ")+"]"}_assertIndex(e,t){if(e<0||e>=t.length)throw new Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(e){return e>0&&e===this._lineNumbers.length?this.getEndLineNumber(e-1):(this._assertIndex(e,this._lineNumbers),this._lineNumbers[e])}getEndLineNumber(e){return e===-1?this.getStartLineNumber(e+1):(this._assertIndex(e,this._lineNumbers),this._charCodes[e]===10?this._lineNumbers[e]+1:this._lineNumbers[e])}getStartColumn(e){return e>0&&e===this._columns.length?this.getEndColumn(e-1):(this._assertIndex(e,this._columns),this._columns[e])}getEndColumn(e){return e===-1?this.getStartColumn(e+1):(this._assertIndex(e,this._columns),this._charCodes[e]===10?1:this._columns[e]+1)}}class Q2{constructor(e,t,i,r,o,s,a,l){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=i,this.originalEndColumn=r,this.modifiedStartLineNumber=o,this.modifiedStartColumn=s,this.modifiedEndLineNumber=a,this.modifiedEndColumn=l}static createFromDiffChange(e,t,i){const r=t.getStartLineNumber(e.originalStart),o=t.getStartColumn(e.originalStart),s=t.getEndLineNumber(e.originalStart+e.originalLength-1),a=t.getEndColumn(e.originalStart+e.originalLength-1),l=i.getStartLineNumber(e.modifiedStart),u=i.getStartColumn(e.modifiedStart),c=i.getEndLineNumber(e.modifiedStart+e.modifiedLength-1),d=i.getEndColumn(e.modifiedStart+e.modifiedLength-1);return new Q2(r,o,s,a,l,u,c,d)}}function XIt(n){if(n.length<=1)return n;const e=[n[0]];let t=e[0];for(let i=1,r=n.length;i0&&t.originalLength<20&&t.modifiedLength>0&&t.modifiedLength<20&&o()){const m=i.createCharSequence(e,t.originalStart,t.originalStart+t.originalLength-1),f=r.createCharSequence(e,t.modifiedStart,t.modifiedStart+t.modifiedLength-1);if(m.getElements().length>0&&f.getElements().length>0){let g=w2e(m,f,o,!0).changes;a&&(g=XIt(g)),h=[];for(let b=0,v=g.length;b1&&g>1;){const b=h.charCodeAt(f-2),v=m.charCodeAt(g-2);if(b!==v)break;f--,g--}(f>1||g>1)&&this._pushTrimWhitespaceCharChange(r,o+1,1,f,s+1,1,g)}{let f=FJ(h,1),g=FJ(m,1);const b=h.length+1,v=m.length+1;for(;f!0;const e=Date.now();return()=>Date.now()-enew AIt,getDefault:()=>new Ywe};function _2e(n){const e=[];for(const t of n){const i=Number(t);(i||i===0&&t.replace(/\s/g,"")!=="")&&e.push(i)}return e}function IJ(n,e,t,i){return{red:n/255,blue:t/255,green:e/255,alpha:i}}function gM(n,e){const t=e.index,i=e[0].length;if(!t)return;const r=n.positionAt(t);return{startLineNumber:r.lineNumber,startColumn:r.column,endLineNumber:r.lineNumber,endColumn:r.column+i}}function OIt(n,e){if(!n)return;const t=Ze.Format.CSS.parseHex(e);if(t)return{range:n,color:IJ(t.rgba.r,t.rgba.g,t.rgba.b,t.rgba.a)}}function F2e(n,e,t){if(!n||e.length!==1)return;const r=e[0].values(),o=_2e(r);return{range:n,color:IJ(o[0],o[1],o[2],t?o[3]:1)}}function I2e(n,e,t){if(!n||e.length!==1)return;const r=e[0].values(),o=_2e(r),s=new Ze(new Nd(o[0],o[1]/100,o[2]/100,t?o[3]:1));return{range:n,color:IJ(s.rgba.r,s.rgba.g,s.rgba.b,s.rgba.a)}}function pM(n,e){return typeof n=="string"?[...n.matchAll(e)]:n.findMatches(e)}function BIt(n){const e=[],i=pM(n,/\b(rgb|rgba|hsl|hsla)(\([0-9\s,.\%]*\))|(#)([A-Fa-f0-9]{3})\b|(#)([A-Fa-f0-9]{4})\b|(#)([A-Fa-f0-9]{6})\b|(#)([A-Fa-f0-9]{8})\b/gm);if(i.length>0)for(const r of i){const o=r.filter(u=>u!==void 0),s=o[1],a=o[2];if(!a)continue;let l;if(s==="rgb"){const u=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*\)$/gm;l=F2e(gM(n,r),pM(a,u),!1)}else if(s==="rgba"){const u=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;l=F2e(gM(n,r),pM(a,u),!0)}else if(s==="hsl"){const u=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*\)$/gm;l=I2e(gM(n,r),pM(a,u),!1)}else if(s==="hsla"){const u=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;l=I2e(gM(n,r),pM(a,u),!0)}else s==="#"&&(l=OIt(gM(n,r),s+a));l&&e.push(l)}return e}function zIt(n){return!n||typeof n.getValue!="function"||typeof n.positionAt!="function"?[]:BIt(n)}const D2e=new RegExp("\\bMARK:\\s*(.*)$","d"),HIt=/^-+|-+$/g;function YIt(n,e){var t;let i=[];if(e.findRegionSectionHeaders&&(!((t=e.foldingRules)===null||t===void 0)&&t.markers)){const r=UIt(n,e);i=i.concat(r)}if(e.findMarkSectionHeaders){const r=KIt(n);i=i.concat(r)}return i}function UIt(n,e){const t=[],i=n.getLineCount();for(let r=1;r<=i;r++){const o=n.getLineContent(r),s=o.match(e.foldingRules.markers.start);if(s){const a={startLineNumber:r,startColumn:s[0].length+1,endLineNumber:r,endColumn:o.length+1};if(a.endColumn>a.startColumn){const l={range:a,...M2e(o.substring(s[0].length)),shouldBeInComments:!1};(l.text||l.hasSeparatorLine)&&t.push(l)}}}return t}function KIt(n){const e=[],t=n.getLineCount();for(let i=1;i<=t;i++){const r=n.getLineContent(i);JIt(r,i,e)}return e}function JIt(n,e,t){D2e.lastIndex=0;const i=D2e.exec(n);if(i){const r=i.indices[1][0]+1,o=i.indices[1][1]+1,s={startLineNumber:e,startColumn:r,endLineNumber:e,endColumn:o};if(s.endColumn>s.startColumn){const a={range:s,...M2e(i[1]),shouldBeInComments:!0};(a.text||a.hasSeparatorLine)&&t.push(a)}}}function M2e(n){n=n.trim();const e=n.startsWith("-");return n=n.replace(HIt,""),{text:n,hasSeparatorLine:e}}class jIt extends kIt{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(e){const t=[];for(let i=0;ithis._lines.length)t=this._lines.length,i=this._lines[t-1].length+1,r=!0;else{const o=this._lines[t-1].length+1;i<1?(i=1,r=!0):i>o&&(i=o,r=!0)}return r?{lineNumber:t,column:i}:e}}class W0{constructor(e,t){this._host=e,this._models=Object.create(null),this._foreignModuleFactory=t,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(e){return this._models[e]}_getModels(){const e=[];return Object.keys(this._models).forEach(t=>e.push(this._models[t])),e}acceptNewModel(e){this._models[e.url]=new jIt(en.parse(e.url),e.lines,e.EOL,e.versionId)}acceptModelChanged(e,t){if(!this._models[e])return;this._models[e].onEvents(t)}acceptRemovedModel(e){this._models[e]&&delete this._models[e]}async computeUnicodeHighlights(e,t,i){const r=this._getModel(e);return r?LJ.computeUnicodeHighlights(r,t,i):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async findSectionHeaders(e,t){const i=this._getModel(e);return i?YIt(i,t):[]}async computeDiff(e,t,i,r){const o=this._getModel(e),s=this._getModel(t);return!o||!s?null:W0.computeDiff(o,s,i,r)}static computeDiff(e,t,i,r){const o=r==="advanced"?L2e.getDefault():L2e.getLegacy(),s=e.getLinesContent(),a=t.getLinesContent(),l=o.computeDiff(s,a,i),u=l.changes.length>0?!1:this._modelsAreIdentical(e,t);function c(d){return d.map(h=>{var m;return[h.original.startLineNumber,h.original.endLineNumberExclusive,h.modified.startLineNumber,h.modified.endLineNumberExclusive,(m=h.innerChanges)===null||m===void 0?void 0:m.map(f=>[f.originalRange.startLineNumber,f.originalRange.startColumn,f.originalRange.endLineNumber,f.originalRange.endColumn,f.modifiedRange.startLineNumber,f.modifiedRange.startColumn,f.modifiedRange.endLineNumber,f.modifiedRange.endColumn])]})}return{identical:u,quitEarly:l.hitTimeout,changes:c(l.changes),moves:l.moves.map(d=>[d.lineRangeMapping.original.startLineNumber,d.lineRangeMapping.original.endLineNumberExclusive,d.lineRangeMapping.modified.startLineNumber,d.lineRangeMapping.modified.endLineNumberExclusive,c(d.changes)])}}static _modelsAreIdentical(e,t){const i=e.getLineCount(),r=t.getLineCount();if(i!==r)return!1;for(let o=1;o<=i;o++){const s=e.getLineContent(o),a=t.getLineContent(o);if(s!==a)return!1}return!0}async computeMoreMinimalEdits(e,t,i){const r=this._getModel(e);if(!r)return t;const o=[];let s;t=t.slice(0).sort((l,u)=>{if(l.range&&u.range)return J.compareRangesUsingStarts(l.range,u.range);const c=l.range?0:1,d=u.range?0:1;return c-d});let a=0;for(let l=1;lW0._diffLimit){o.push({range:l,text:u});continue}const h=MIt(d,u,i),m=r.offsetAt(J.lift(l).getStartPosition());for(const f of h){const g=r.positionAt(m+f.originalStart),b=r.positionAt(m+f.originalStart+f.originalLength),v={text:u.substr(f.modifiedStart,f.modifiedLength),range:{startLineNumber:g.lineNumber,startColumn:g.column,endLineNumber:b.lineNumber,endColumn:b.column}};r.getValueInRange(v.range)!==v.text&&o.push(v)}}return typeof s=="number"&&o.push({eol:s,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),o}async computeLinks(e){const t=this._getModel(e);return t?WIt(t):null}async computeDefaultDocumentColors(e){const t=this._getModel(e);return t?zIt(t):null}async textualSuggest(e,t,i,r){const o=new Js,s=new RegExp(i,r),a=new Set;e:for(const l of e){const u=this._getModel(l);if(u){for(const c of u.words(s))if(!(c===t||!isNaN(Number(c)))&&(a.add(c),a.size>W0._suggestionsLimit))break e}}return{words:Array.from(a),duration:o.elapsed()}}async computeWordRanges(e,t,i,r){const o=this._getModel(e);if(!o)return Object.create(null);const s=new RegExp(i,r),a=Object.create(null);for(let l=t.startLineNumber;lthis._host.fhr(a,l)),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(s,t),Promise.resolve(l6(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(e,t){if(!this._foreignModule||typeof this._foreignModule[e]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(i){return Promise.reject(i)}}}W0._diffLimit=1e5,W0._suggestionsLimit=1e4,typeof importScripts=="function"&&(globalThis.monaco=v2e());const DJ=Un("textResourceConfigurationService"),k2e=Un("textResourcePropertiesService");var QIt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},bM=function(n,e){return function(t,i){e(t,i,n)}};const N2e=60*1e3,T2e=5*60*1e3;function Uy(n,e){const t=n.getModel(e);return!(!t||t.isTooLargeForSyncing())}let MJ=class extends Ie{constructor(e,t,i,r,o){super(),this._modelService=e,this._workerManager=this._register(new qIt(this._modelService,r)),this._logService=i,this._register(o.linkProvider.register({language:"*",hasAccessToAllModels:!0},{provideLinks:(s,a)=>Uy(this._modelService,s.uri)?this._workerManager.withWorker().then(l=>l.computeLinks(s.uri)).then(l=>l&&{links:l}):Promise.resolve({links:[]})})),this._register(o.completionProvider.register("*",new $It(this._workerManager,t,this._modelService,r)))}dispose(){super.dispose()}canComputeUnicodeHighlights(e){return Uy(this._modelService,e)}computedUnicodeHighlights(e,t,i){return this._workerManager.withWorker().then(r=>r.computedUnicodeHighlights(e,t,i))}async computeDiff(e,t,i,r){const o=await this._workerManager.withWorker().then(l=>l.computeDiff(e,t,i,r));if(!o)return null;return{identical:o.identical,quitEarly:o.quitEarly,changes:a(o.changes),moves:o.moves.map(l=>new Hwe(new ll(new dn(l[0],l[1]),new dn(l[2],l[3])),a(l[4])))};function a(l){return l.map(u=>{var c;return new ju(new dn(u[0],u[1]),new dn(u[2],u[3]),(c=u[4])===null||c===void 0?void 0:c.map(d=>new mp(new J(d[0],d[1],d[2],d[3]),new J(d[4],d[5],d[6],d[7]))))})}}computeMoreMinimalEdits(e,t,i=!1){if(ga(t)){if(!Uy(this._modelService,e))return Promise.resolve(t);const r=Js.create(),o=this._workerManager.withWorker().then(s=>s.computeMoreMinimalEdits(e,t,i));return o.finally(()=>this._logService.trace("FORMAT#computeMoreMinimalEdits",e.toString(!0),r.elapsed())),Promise.race([o,Bv(1e3).then(()=>t)])}else return Promise.resolve(void 0)}canNavigateValueSet(e){return Uy(this._modelService,e)}navigateValueSet(e,t,i){return this._workerManager.withWorker().then(r=>r.navigateValueSet(e,t,i))}canComputeWordRanges(e){return Uy(this._modelService,e)}computeWordRanges(e,t){return this._workerManager.withWorker().then(i=>i.computeWordRanges(e,t))}findSectionHeaders(e,t){return this._workerManager.withWorker().then(i=>i.findSectionHeaders(e,t))}};MJ=QIt([bM(0,xr),bM(1,DJ),bM(2,tl),bM(3,tr),bM(4,Zt)],MJ);class $It{constructor(e,t,i,r){this.languageConfigurationService=r,this._debugDisplayName="wordbasedCompletions",this._workerManager=e,this._configurationService=t,this._modelService=i}async provideCompletionItems(e,t){const i=this._configurationService.getValue(e.uri,t,"editor");if(i.wordBasedSuggestions==="off")return;const r=[];if(i.wordBasedSuggestions==="currentDocument")Uy(this._modelService,e.uri)&&r.push(e.uri);else for(const d of this._modelService.getModels())Uy(this._modelService,d.uri)&&(d===e?r.unshift(d.uri):(i.wordBasedSuggestions==="allDocuments"||d.getLanguageId()===e.getLanguageId())&&r.push(d.uri));if(r.length===0)return;const o=this.languageConfigurationService.getLanguageConfiguration(e.getLanguageId()).getWordDefinition(),s=e.getWordAtPosition(t),a=s?new J(t.lineNumber,s.startColumn,t.lineNumber,s.endColumn):J.fromPositions(t),l=a.setEndPosition(t.lineNumber,t.column),c=await(await this._workerManager.withWorker()).textualSuggest(r,s==null?void 0:s.word,o);if(c)return{duration:c.duration,suggestions:c.words.map(d=>({kind:18,label:d,insertText:d,range:{insert:l,replace:a}}))}}}let qIt=class extends Ie{constructor(e,t){super(),this.languageConfigurationService=t,this._modelService=e,this._editorWorkerClient=null,this._lastWorkerUsedTime=new Date().getTime(),this._register(new bY).cancelAndSet(()=>this._checkStopIdleWorker(),Math.round(T2e/2),Wi),this._register(this._modelService.onModelRemoved(r=>this._checkStopEmptyWorker()))}dispose(){this._editorWorkerClient&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null),super.dispose()}_checkStopEmptyWorker(){if(!this._editorWorkerClient)return;this._modelService.getModels().length===0&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){if(!this._editorWorkerClient)return;new Date().getTime()-this._lastWorkerUsedTime>T2e&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=new Date().getTime(),this._editorWorkerClient||(this._editorWorkerClient=new NJ(this._modelService,!1,"editorWorkerService",this.languageConfigurationService)),Promise.resolve(this._editorWorkerClient)}};class eDt extends Ie{constructor(e,t,i){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=e,this._modelService=t,!i){const r=new zH;r.cancelAndSet(()=>this._checkStopModelSync(),Math.round(N2e/2)),this._register(r)}}dispose(){for(const e in this._syncedModels)er(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t){for(const i of e){const r=i.toString();this._syncedModels[r]||this._beginModelSync(i,t),this._syncedModels[r]&&(this._syncedModelsLastUsedTime[r]=new Date().getTime())}}_checkStopModelSync(){const e=new Date().getTime(),t=[];for(const i in this._syncedModelsLastUsedTime)e-this._syncedModelsLastUsedTime[i]>N2e&&t.push(i);for(const i of t)this._stopModelSync(i)}_beginModelSync(e,t){const i=this._modelService.getModel(e);if(!i||!t&&i.isTooLargeForSyncing())return;const r=e.toString();this._proxy.acceptNewModel({url:i.uri.toString(),lines:i.getLinesContent(),EOL:i.getEOL(),versionId:i.getVersionId()});const o=new Je;o.add(i.onDidChangeContent(s=>{this._proxy.acceptModelChanged(r.toString(),s)})),o.add(i.onWillDispose(()=>{this._stopModelSync(r)})),o.add(jt(()=>{this._proxy.acceptRemovedModel(r)})),this._syncedModels[r]=o}_stopModelSync(e){const t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],er(t)}}class E2e{constructor(e){this._instance=e,this._proxyObj=Promise.resolve(this._instance)}dispose(){this._instance.dispose()}getProxyObject(){return this._proxyObj}}class kJ{constructor(e){this._workerClient=e}fhr(e,t){return this._workerClient.fhr(e,t)}}class NJ extends Ie{constructor(e,t,i,r){super(),this.languageConfigurationService=r,this._disposed=!1,this._modelService=e,this._keepIdleModels=t,this._workerFactory=new o3(i),this._worker=null,this._modelManager=null}fhr(e,t){throw new Error("Not implemented!")}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(new LIt(this._workerFactory,"vs/editor/common/services/editorSimpleWorker",new kJ(this)))}catch(e){NK(e),this._worker=new E2e(new W0(new kJ(this),null))}return this._worker}_getProxy(){return this._getOrCreateWorker().getProxyObject().then(void 0,e=>(NK(e),this._worker=new E2e(new W0(new kJ(this),null)),this._getOrCreateWorker().getProxyObject()))}_getOrCreateModelManager(e){return this._modelManager||(this._modelManager=this._register(new eDt(e,this._modelService,this._keepIdleModels))),this._modelManager}async _withSyncedResources(e,t=!1){return this._disposed?Promise.reject(Eht()):this._getProxy().then(i=>(this._getOrCreateModelManager(i).ensureSyncedResources(e,t),i))}computedUnicodeHighlights(e,t,i){return this._withSyncedResources([e]).then(r=>r.computeUnicodeHighlights(e.toString(),t,i))}computeDiff(e,t,i,r){return this._withSyncedResources([e,t],!0).then(o=>o.computeDiff(e.toString(),t.toString(),i,r))}computeMoreMinimalEdits(e,t,i){return this._withSyncedResources([e]).then(r=>r.computeMoreMinimalEdits(e.toString(),t,i))}computeLinks(e){return this._withSyncedResources([e]).then(t=>t.computeLinks(e.toString()))}computeDefaultDocumentColors(e){return this._withSyncedResources([e]).then(t=>t.computeDefaultDocumentColors(e.toString()))}async textualSuggest(e,t,i){const r=await this._withSyncedResources(e),o=i.source,s=i.flags;return r.textualSuggest(e.map(a=>a.toString()),t,o,s)}computeWordRanges(e,t){return this._withSyncedResources([e]).then(i=>{const r=this._modelService.getModel(e);if(!r)return Promise.resolve(null);const o=this.languageConfigurationService.getLanguageConfiguration(r.getLanguageId()).getWordDefinition(),s=o.source,a=o.flags;return i.computeWordRanges(e.toString(),t,s,a)})}navigateValueSet(e,t,i){return this._withSyncedResources([e]).then(r=>{const o=this._modelService.getModel(e);if(!o)return null;const s=this.languageConfigurationService.getLanguageConfiguration(o.getLanguageId()).getWordDefinition(),a=s.source,l=s.flags;return r.navigateValueSet(e.toString(),t,i,a,l)})}findSectionHeaders(e,t){return this._withSyncedResources([e]).then(i=>i.findSectionHeaders(e.toString(),t))}dispose(){super.dispose(),this._disposed=!0}}const Z2e=[];function vM(n){Z2e.push(n)}function tDt(){return Z2e.slice(0)}var nDt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},TJ=function(n,e){return function(t,i){e(t,i,n)}};class EJ{constructor(e,t){this._editorWorkerClient=new NJ(e,!1,"editorWorkerService",t)}async provideDocumentColors(e,t){return this._editorWorkerClient.computeDefaultDocumentColors(e.uri)}provideColorPresentations(e,t,i){const r=t.range,o=t.color,s=o.alpha,a=new Ze(new ni(Math.round(255*o.red),Math.round(255*o.green),Math.round(255*o.blue),s)),l=s?Ze.Format.CSS.formatRGB(a):Ze.Format.CSS.formatRGBA(a),u=s?Ze.Format.CSS.formatHSL(a):Ze.Format.CSS.formatHSLA(a),c=s?Ze.Format.CSS.formatHex(a):Ze.Format.CSS.formatHexA(a),d=[];return d.push({label:l,textEdit:{range:r,text:l}}),d.push({label:u,textEdit:{range:r,text:u}}),d.push({label:c,textEdit:{range:r,text:c}}),d}}let ZJ=class extends Ie{constructor(e,t,i){super(),this._register(i.colorProvider.register("*",new EJ(e,t)))}};ZJ=nDt([TJ(0,xr),TJ(1,tr),TJ(2,Zt)],ZJ),vM(ZJ);async function W2e(n,e,t,i=!0){return WJ(new iDt,n,e,t,i)}function R2e(n,e,t,i){return Promise.resolve(t.provideColorPresentations(n,e,i))}class iDt{constructor(){}async compute(e,t,i,r){const o=await e.provideDocumentColors(t,i);if(Array.isArray(o))for(const s of o)r.push({colorInfo:s,provider:e});return Array.isArray(o)}}class rDt{constructor(){}async compute(e,t,i,r){const o=await e.provideDocumentColors(t,i);if(Array.isArray(o))for(const s of o)r.push({range:s.range,color:[s.color.red,s.color.green,s.color.blue,s.color.alpha]});return Array.isArray(o)}}class oDt{constructor(e){this.colorInfo=e}async compute(e,t,i,r){const o=await e.provideColorPresentations(t,this.colorInfo,Yn.None);return Array.isArray(o)&&r.push(...o),Array.isArray(o)}}async function WJ(n,e,t,i,r){let o=!1,s;const a=[],l=e.ordered(t);for(let u=l.length-1;u>=0;u--){const c=l[u];if(c instanceof EJ)s=c;else try{await n.compute(c,t,i,a)&&(o=!0)}catch(d){qr(d)}}return o?a:s&&r?(await n.compute(s,t,i,a),a):[]}function V2e(n,e){const{colorProvider:t}=n.get(Zt),i=n.get(xr).getModel(e);if(!i)throw Dc();const r=n.get(Pn).getValue("editor.defaultColorDecorators",{resource:e});return{model:i,colorProviderRegistry:t,isDefaultColorDecoratorsEnabled:r}}$n.registerCommand("_executeDocumentColorProvider",function(n,...e){const[t]=e;if(!(t instanceof en))throw Dc();const{model:i,colorProviderRegistry:r,isDefaultColorDecoratorsEnabled:o}=V2e(n,t);return WJ(new rDt,r,i,Yn.None,o)}),$n.registerCommand("_executeColorPresentationProvider",function(n,...e){const[t,i]=e,{uri:r,range:o}=i;if(!(r instanceof en)||!Array.isArray(t)||t.length!==4||!J.isIRange(o))throw Dc();const{model:s,colorProviderRegistry:a,isDefaultColorDecoratorsEnabled:l}=V2e(n,r),[u,c,d,h]=t;return WJ(new oDt({range:o,color:{red:u,green:c,blue:d,alpha:h}}),a,s,Yn.None,l)});var sDt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},RJ=function(n,e){return function(t,i){e(t,i,n)}},VJ;const A2e=Object.create({});let R0=VJ=class extends Ie{constructor(e,t,i,r){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new Je),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new TI(this._editor),this._decoratorLimitReporter=new aDt,this._colorDecorationClassRefs=this._register(new Je),this._debounceInformation=r.for(i.colorProvider,"Document Colors",{min:VJ.RECOMPUTE_TIME}),this._register(e.onDidChangeModel(()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()})),this._register(e.onDidChangeModelLanguage(()=>this.updateColors())),this._register(i.colorProvider.onDidChange(()=>this.updateColors())),this._register(e.onDidChangeConfiguration(o=>{const s=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(147);const a=s!==this._isColorDecoratorsEnabled||o.hasChanged(21),l=o.hasChanged(147);(a||l)&&(this._isColorDecoratorsEnabled?this.updateColors():this.removeAllDecorations())})),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(147),this.updateColors()}isEnabled(){const e=this._editor.getModel();if(!e)return!1;const t=e.getLanguageId(),i=this._configurationService.getValue(t);if(i&&typeof i=="object"){const r=i.colorDecorators;if(r&&r.enable!==void 0&&!r.enable)return r.enable}return this._editor.getOption(20)}static get(e){return e.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}updateColors(){if(this.stop(),!this._isColorDecoratorsEnabled)return;const e=this._editor.getModel();!e||!this._languageFeaturesService.colorProvider.has(e)||(this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._timeoutTimer||(this._timeoutTimer=new Id,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}async beginCompute(){this._computePromise=rs(async e=>{const t=this._editor.getModel();if(!t)return[];const i=new Js(!1),r=await W2e(this._languageFeaturesService.colorProvider,t,e,this._isDefaultColorDecoratorsEnabled);return this._debounceInformation.update(t,i.elapsed()),r});try{const e=await this._computePromise;this.updateDecorations(e),this.updateColorDecorators(e),this._computePromise=null}catch(e){vn(e)}}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(e){const t=e.map(i=>({range:{startLineNumber:i.colorInfo.range.startLineNumber,startColumn:i.colorInfo.range.startColumn,endLineNumber:i.colorInfo.range.endLineNumber,endColumn:i.colorInfo.range.endColumn},options:yn.EMPTY}));this._editor.changeDecorations(i=>{this._decorationsIds=i.deltaDecorations(this._decorationsIds,t),this._colorDatas=new Map,this._decorationsIds.forEach((r,o)=>this._colorDatas.set(r,e[o]))})}updateColorDecorators(e){this._colorDecorationClassRefs.clear();const t=[],i=this._editor.getOption(21);for(let o=0;othis._colorDatas.has(r.id));return i.length===0?null:this._colorDatas.get(i[0].id)}isColorDecoration(e){return this._colorDecoratorIds.has(e)}};R0.ID="editor.contrib.colorDetector",R0.RECOMPUTE_TIME=1e3,R0=VJ=sDt([RJ(1,Pn),RJ(2,Zt),RJ(3,$c)],R0);class aDt{constructor(){this._onDidChange=new be,this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}yi(R0.ID,R0,1);class lDt{get color(){return this._color}set color(e){this._color.equals(e)||(this._color=e,this._onDidChangeColor.fire(e))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(e){this._colorPresentations=e,this.presentationIndex>e.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}constructor(e,t,i){this.presentationIndex=i,this._onColorFlushed=new be,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new be,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new be,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(e,t){let i=-1;for(let r=0;r{this.backgroundColor=s.getColor(nW)||Ze.white})),this._register(Ae(this._pickedColorNode,ot.CLICK,()=>this.model.selectNextColorPresentation())),this._register(Ae(this._originalColorNode,ot.CLICK,()=>{this.model.color=this.model.originalColor,this.model.flushColor()})),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this._register(t.onDidChangePresentation(this.onDidChangePresentation,this)),this._pickedColorNode.style.backgroundColor=Ze.Format.CSS.format(t.color)||"",this._pickedColorNode.classList.toggle("light",t.color.rgba.a<.5?this.backgroundColor.isLighter():t.color.isLighter()),this.onDidChangeColor(this.model.color),this.showingStandaloneColorPicker&&(this._domNode.classList.add("standalone-colorpicker"),this._closeButton=this._register(new cDt(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=Ze.Format.CSS.format(e)||"",this._pickedColorNode.classList.toggle("light",e.rgba.a<.5?this.backgroundColor.isLighter():e.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this._pickedColorPresentation.textContent=this.model.presentation?this.model.presentation.label:""}}class cDt extends Ie{constructor(e){super(),this._onClicked=this._register(new be),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),je(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),je(this._button,t),je(t,Qu(".button"+sn.asCSSSelector(so("color-picker-close",ut.close,L("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(Ae(this._button,ot.CLICK,()=>{this._onClicked.fire()}))}}class dDt extends Ie{constructor(e,t,i,r=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=Qu(".colorpicker-body"),je(e,this._domNode),this._saturationBox=new hDt(this._domNode,this.model,this.pixelRatio),this._register(this._saturationBox),this._register(this._saturationBox.onDidChange(this.onDidSaturationValueChange,this)),this._register(this._saturationBox.onColorFlushed(this.flushColor,this)),this._opacityStrip=new mDt(this._domNode,this.model,r),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new fDt(this._domNode,this.model,r),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),r&&(this._insertButton=this._register(new gDt(this._domNode)),this._domNode.classList.add("standalone-colorpicker"))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:e,v:t}){const i=this.model.color.hsva;this.model.color=new Ze(new Qm(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new Ze(new Qm(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=(1-e)*360;this.model.color=new Ze(new Qm(i===360?0:i,t.s,t.v,t.a))}get domNode(){return this._domNode}get saturationBox(){return this._saturationBox}get enterButton(){return this._insertButton}layout(){this._saturationBox.layout(),this._opacityStrip.layout(),this._hueStrip.layout()}}class hDt extends Ie{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new be,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new be,this.onColorFlushed=this._onColorFlushed.event,this._domNode=Qu(".saturation-wrap"),je(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",je(this._domNode,this._canvas),this.selection=Qu(".saturation-selection"),je(this._domNode,this.selection),this.layout(),this._register(Ae(this._domNode,ot.POINTER_DOWN,r=>this.onPointerDown(r))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}get domNode(){return this._domNode}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;this.monitor=this._register(new YS);const t=po(this._domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(e.target,e.pointerId,e.buttons,r=>this.onDidChangePosition(r.pageX-t.left,r.pageY-t.top),()=>null);const i=Ae(e.target.ownerDocument,ot.POINTER_UP,()=>{this._onColorFlushed.fire(),i.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)},!0)}onDidChangePosition(e,t){const i=Math.max(0,Math.min(1,e/this.width)),r=Math.max(0,Math.min(1,1-t/this.height));this.paintSelection(i,r),this._onDidChange.fire({s:i,v:r})}layout(){this.width=this._domNode.offsetWidth,this.height=this._domNode.offsetHeight,this._canvas.width=this.width*this.pixelRatio,this._canvas.height=this.height*this.pixelRatio,this.paint();const e=this.model.color.hsva;this.paintSelection(e.s,e.v)}paint(){const e=this.model.color.hsva,t=new Ze(new Qm(e.h,1,1,1)),i=this._canvas.getContext("2d"),r=i.createLinearGradient(0,0,this._canvas.width,0);r.addColorStop(0,"rgba(255, 255, 255, 1)"),r.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),r.addColorStop(1,"rgba(255, 255, 255, 0)");const o=i.createLinearGradient(0,0,0,this._canvas.height);o.addColorStop(0,"rgba(0, 0, 0, 0)"),o.addColorStop(1,"rgba(0, 0, 0, 1)"),i.rect(0,0,this._canvas.width,this._canvas.height),i.fillStyle=Ze.Format.CSS.format(t),i.fill(),i.fillStyle=r,i.fill(),i.fillStyle=o,i.fill()}paintSelection(e,t){this.selection.style.left=`${e*this.width}px`,this.selection.style.top=`${this.height-t*this.height}px`}onDidChangeColor(e){if(this.monitor&&this.monitor.isMonitoring())return;this.paint();const t=e.hsva;this.paintSelection(t.s,t.v)}}class G2e extends Ie{constructor(e,t,i=!1){super(),this.model=t,this._onDidChange=new be,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new be,this.onColorFlushed=this._onColorFlushed.event,i?(this.domNode=je(e,Qu(".standalone-strip")),this.overlay=je(this.domNode,Qu(".standalone-overlay"))):(this.domNode=je(e,Qu(".strip")),this.overlay=je(this.domNode,Qu(".overlay"))),this.slider=je(this.domNode,Qu(".slider")),this.slider.style.top="0px",this._register(Ae(this.domNode,ot.POINTER_DOWN,r=>this.onPointerDown(r))),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const e=this.getValue(this.model.color);this.updateSliderPosition(e)}onDidChangeColor(e){const t=this.getValue(e);this.updateSliderPosition(t)}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;const t=this._register(new YS),i=po(this.domNode);this.domNode.classList.add("grabbing"),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),t.startMonitoring(e.target,e.pointerId,e.buttons,o=>this.onDidChangeTop(o.pageY-i.top),()=>null);const r=Ae(e.target.ownerDocument,ot.POINTER_UP,()=>{this._onColorFlushed.fire(),r.dispose(),t.stopMonitoring(!0),this.domNode.classList.remove("grabbing")},!0)}onDidChangeTop(e){const t=Math.max(0,Math.min(1,1-e/this.height));this.updateSliderPosition(t),this._onDidChange.fire(t)}updateSliderPosition(e){this.slider.style.top=`${(1-e)*this.height}px`}}class mDt extends G2e{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("opacity-strip"),this.onDidChangeColor(this.model.color)}onDidChangeColor(e){super.onDidChangeColor(e);const{r:t,g:i,b:r}=e.rgba,o=new Ze(new ni(t,i,r,1)),s=new Ze(new ni(t,i,r,0));this.overlay.style.background=`linear-gradient(to bottom, ${o} 0%, ${s} 100%)`}getValue(e){return e.hsva.a}}class fDt extends G2e{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class gDt extends Ie{constructor(e){super(),this._onClicked=this._register(new be),this.onClicked=this._onClicked.event,this._button=je(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(Ae(this._button,ot.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}class pDt extends Hu{constructor(e,t,i,r,o=!1){super(),this.model=t,this.pixelRatio=i,this._register(pI.getInstance(Qt(e)).onDidChange(()=>this.layout()));const s=Qu(".colorpicker-widget");e.appendChild(s),this.header=this._register(new uDt(s,this.model,r,o)),this.body=this._register(new dDt(s,this.model,this.pixelRatio,o))}layout(){this.body.layout()}}var X2e=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},P2e=function(n,e){return function(t,i){e(t,i,n)}};class bDt{constructor(e,t,i,r){this.owner=e,this.range=t,this.model=i,this.provider=r,this.forceShowAtRange=!0}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let a3=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t){return[]}computeAsync(e,t,i){return Fo.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];const r=R0.get(this._editor);if(!r)return[];for(const o of t){if(!r.isColorDecoration(o))continue;const s=r.getColorData(o.range.getStartPosition());if(s)return[await O2e(this,this._editor.getModel(),s.colorInfo,s.provider)]}return[]}renderHoverParts(e,t){return B2e(this,this._editor,this._themeService,t,e)}};a3=X2e([P2e(1,jo)],a3);class vDt{constructor(e,t,i,r){this.owner=e,this.range=t,this.model=i,this.provider=r}}let yM=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,i){if(!this._editor.hasModel()||!R0.get(this._editor))return null;const o=await W2e(i,this._editor.getModel(),Yn.None);let s=null,a=null;for(const d of o){const h=d.colorInfo;J.containsRange(h.range,e.range)&&(s=h,a=d.provider)}const l=s??e,u=a??t,c=!!s;return{colorHover:await O2e(this,this._editor.getModel(),l,u),foundInEditor:c}}async updateEditorModel(e){if(!this._editor.hasModel())return;const t=e.model;let i=new J(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await l3(this._editor.getModel(),t,this._color,i,e),i=z2e(this._editor,i,t))}renderHoverParts(e,t){return B2e(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};yM=X2e([P2e(1,jo)],yM);async function O2e(n,e,t,i){const r=e.getValueInRange(t.range),{red:o,green:s,blue:a,alpha:l}=t.color,u=new ni(Math.round(o*255),Math.round(s*255),Math.round(a*255),l),c=new Ze(u),d=await R2e(e,t,i,Yn.None),h=new lDt(c,[],0);return h.colorPresentations=d||[],h.guessColorPresentation(c,r),n instanceof a3?new bDt(n,J.lift(t.range),h,i):new vDt(n,J.lift(t.range),h,i)}function B2e(n,e,t,i,r){if(i.length===0||!e.hasModel())return Ie.None;if(r.setMinimumDimensions){const h=e.getOption(67)+8;r.setMinimumDimensions(new mi(302,h))}const o=new Je,s=i[0],a=e.getModel(),l=s.model,u=o.add(new pDt(r.fragment,l,e.getOption(143),t,n instanceof yM));r.setColorPicker(u);let c=!1,d=new J(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn);if(n instanceof yM){const h=i[0].model.color;n.color=h,l3(a,l,h,d,s),o.add(l.onColorFlushed(m=>{n.color=m}))}else o.add(l.onColorFlushed(async h=>{await l3(a,l,h,d,s),c=!0,d=z2e(e,d,l)}));return o.add(l.onDidChangeColor(h=>{l3(a,l,h,d,s)})),o.add(e.onDidChangeModelContent(h=>{c?c=!1:(r.hide(),e.focus())})),o}function z2e(n,e,t){var i,r;const o=[],s=(i=t.presentation.textEdit)!==null&&i!==void 0?i:{range:e,text:t.presentation.label,forceMoveMarkers:!1};o.push(s),t.presentation.additionalTextEdits&&o.push(...t.presentation.additionalTextEdits);const a=J.lift(s.range),l=n.getModel()._setTrackedRange(null,a,3);return n.executeEdits("colorpicker",o),n.pushUndoStop(),(r=n.getModel()._getTrackedRange(l))!==null&&r!==void 0?r:a}async function l3(n,e,t,i,r){const o=await R2e(n,{range:i,color:{red:t.rgba.r/255,green:t.rgba.g/255,blue:t.rgba.b/255,alpha:t.rgba.a}},r.provider,Yn.None);e.colorPresentations=o||[]}function AJ(n,e){return!!n[e]}class GJ{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=AJ(e.event,t.triggerModifier),this.hasSideBySideModifier=AJ(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class H2e{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=AJ(e,t.triggerModifier)}}class u3{constructor(e,t,i,r){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=i,this.triggerSideBySideModifier=r}equals(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier}}function Y2e(n){return n==="altKey"?On?new u3(57,"metaKey",6,"altKey"):new u3(5,"ctrlKey",6,"altKey"):On?new u3(6,"altKey",57,"metaKey"):new u3(6,"altKey",5,"ctrlKey")}class c3 extends Ie{constructor(e,t){var i;super(),this._onMouseMoveOrRelevantKeyDown=this._register(new be),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new be),this.onExecute=this._onExecute.event,this._onCancel=this._register(new be),this.onCancel=this._onCancel.event,this._editor=e,this._extractLineNumberFromMouseEvent=(i=t==null?void 0:t.extractLineNumberFromMouseEvent)!==null&&i!==void 0?i:r=>r.target.position?r.target.position.lineNumber:0,this._opts=Y2e(this._editor.getOption(78)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration(r=>{if(r.hasChanged(78)){const o=Y2e(this._editor.getOption(78));if(this._opts.equals(o))return;this._opts=o,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove(r=>this._onEditorMouseMove(new GJ(r,this._opts)))),this._register(this._editor.onMouseDown(r=>this._onEditorMouseDown(new GJ(r,this._opts)))),this._register(this._editor.onMouseUp(r=>this._onEditorMouseUp(new GJ(r,this._opts)))),this._register(this._editor.onKeyDown(r=>this._onEditorKeyDown(new H2e(r,this._opts)))),this._register(this._editor.onKeyUp(r=>this._onEditorKeyUp(new H2e(r,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection(r=>this._onDidChangeCursorSelection(r))),this._register(this._editor.onDidChangeModel(r=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange(r=>{(r.scrollTopChanged||r.scrollLeftChanged)&&this._resetHandler()}))}_onDidChangeCursorSelection(e){e.selection&&e.selection.startColumn!==e.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(e){this._lastMouseMoveEvent=e,this._onMouseMoveOrRelevantKeyDown.fire([e,null])}_onEditorMouseDown(e){this._hasTriggerKeyOnMouseDown=e.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(e)}_onEditorMouseUp(e){const t=this._extractLineNumberFromMouseEvent(e);this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===t&&this._onExecute.fire(e)}_onEditorKeyDown(e){this._lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,e]):e.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(e){e.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}var yDt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},xp=function(n,e){return function(t,i){e(t,i,n)}};let V0=class extends w2{constructor(e,t,i,r,o,s,a,l,u,c,d,h,m){super(e,{...r.getRawOptions(),overflowWidgetsDomNode:r.getOverflowWidgetsDomNode()},i,o,s,a,l,u,c,d,h,m),this._parentEditor=r,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(r.onDidChangeConfiguration(f=>this._onParentConfigurationChanged(f)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){J9(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};V0=yDt([xp(4,$t),xp(5,vi),xp(6,Xr),xp(7,ln),xp(8,jo),xp(9,ko),xp(10,Vc),xp(11,tr),xp(12,Zt)],V0);const U2e=new Ze(new ni(0,122,204)),CDt={showArrow:!0,showFrame:!0,className:"",frameColor:U2e,arrowColor:U2e,keepEditorSelection:!1},wDt="vs.editor.contrib.zoneWidget";class SDt{constructor(e,t,i,r,o,s,a,l){this.id="",this.domNode=e,this.afterLineNumber=t,this.afterColumn=i,this.heightInLines=r,this.showInHiddenAreas=a,this.ordinal=l,this._onDomNodeTop=o,this._onComputedHeight=s}onDomNodeTop(e){this._onDomNodeTop(e)}onComputedHeight(e){this._onComputedHeight(e)}}class xDt{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}class d3{constructor(e){this._editor=e,this._ruleName=d3._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),xY(this._ruleName)}set color(e){this._color!==e&&(this._color=e,this._updateStyle())}set height(e){this._height!==e&&(this._height=e,this._updateStyle())}_updateStyle(){xY(this._ruleName),u9(`.monaco-editor ${this._ruleName}`,`border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: -${this._height}px !important; margin-left: -${this._height}px; `)}show(e){e.column===1&&(e={lineNumber:e.lineNumber,column:2}),this._decorations.set([{range:J.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}}d3._IdGenerator=new sU(".arrow-decoration-");class LDt{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new Je,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=Ag(t),J9(this.options,CDt,!1),this.domNode=document.createElement("div"),this.options.isAccessible||(this.domNode.setAttribute("aria-hidden","true"),this.domNode.setAttribute("role","presentation")),this._disposables.add(this.editor.onDidLayoutChange(i=>{const r=this._getWidth(i);this.domNode.style.width=r+"px",this.domNode.style.left=this._getLeft(i)+"px",this._onWidth(r)}))}dispose(){this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones(e=>{this._viewZone&&e.removeZone(this._viewZone.id),this._viewZone=null}),this._positionMarkerId.clear(),this._disposables.dispose()}create(){this.domNode.classList.add("zone-widget"),this.options.className&&this.domNode.classList.add(this.options.className),this.container=document.createElement("div"),this.container.classList.add("zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new d3(this.editor),this._disposables.add(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(e){e.frameColor&&(this.options.frameColor=e.frameColor),e.arrowColor&&(this.options.arrowColor=e.arrowColor),this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){const e=this.options.frameColor.toString();this.container.style.borderTopColor=e,this.container.style.borderBottomColor=e}if(this._arrow&&this.options.arrowColor){const e=this.options.arrowColor.toString();this._arrow.color=e}}_getWidth(e){return e.width-e.minimap.minimapWidth-e.verticalScrollbarWidth}_getLeft(e){return e.minimap.minimapWidth>0&&e.minimap.minimapLeft===0?e.minimap.minimapWidth:0}_onViewZoneTop(e){this.domNode.style.top=e+"px"}_onViewZoneHeight(e){var t;if(this.domNode.style.height=`${e}px`,this.container){const i=e-this._decoratingElementsHeight();this.container.style.height=`${i}px`;const r=this.editor.getLayoutInfo();this._doLayout(i,this._getWidth(r))}(t=this._resizeSash)===null||t===void 0||t.layout()}get position(){const e=this._positionMarkerId.getRange(0);if(e)return e.getStartPosition()}show(e,t){const i=J.isIRange(e)?J.lift(e):J.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId.set([{range:i,options:yn.EMPTY}])}hide(){var e;this._viewZone&&(this.editor.changeViewZones(t=>{this._viewZone&&t.removeZone(this._viewZone.id)}),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),(e=this._arrow)===null||e===void 0||e.hide(),this._positionMarkerId.clear()}_decoratingElementsHeight(){const e=this.editor.getOption(67);let t=0;if(this.options.showArrow){const i=Math.round(e/3);t+=2*i}if(this.options.showFrame){const i=Math.round(e/9);t+=2*i}return t}_showImpl(e,t){const i=e.getStartPosition(),r=this.editor.getLayoutInfo(),o=this._getWidth(r);this.domNode.style.width=`${o}px`,this.domNode.style.left=this._getLeft(r)+"px";const s=document.createElement("div");s.style.overflow="hidden";const a=this.editor.getOption(67);if(!this.options.allowUnlimitedHeight){const h=Math.max(12,this.editor.getLayoutInfo().height/a*.8);t=Math.min(t,h)}let l=0,u=0;if(this._arrow&&this.options.showArrow&&(l=Math.round(a/3),this._arrow.height=l,this._arrow.show(i)),this.options.showFrame&&(u=Math.round(a/9)),this.editor.changeViewZones(h=>{this._viewZone&&h.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new SDt(s,i.lineNumber,i.column,t,m=>this._onViewZoneTop(m),m=>this._onViewZoneHeight(m),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=h.addZone(this._viewZone),this._overlayWidget=new xDt(wDt+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this.container&&this.options.showFrame){const h=this.options.frameWidth?this.options.frameWidth:u;this.container.style.borderTopWidth=h+"px",this.container.style.borderBottomWidth=h+"px"}const c=t*a-this._decoratingElementsHeight();this.container&&(this.container.style.top=l+"px",this.container.style.height=c+"px",this.container.style.overflow="hidden"),this._doLayout(c,o),this.options.keepEditorSelection||this.editor.setSelection(e);const d=this.editor.getModel();if(d){const h=d.validateRange(new J(e.startLineNumber,1,e.endLineNumber+1,1));this.revealRange(h,h.startLineNumber===d.getLineCount())}}revealRange(e,t){t?this.editor.revealLineNearTop(e.endLineNumber,0):this.editor.revealRange(e,0)}setCssClass(e,t){this.container&&(t&&this.container.classList.remove(t),this.container.classList.add(e))}_onWidth(e){}_doLayout(e,t){}_relayout(e){this._viewZone&&this._viewZone.heightInLines!==e&&this.editor.changeViewZones(t=>{this._viewZone&&(this._viewZone.heightInLines=e,t.layoutZone(this._viewZone.id))})}_initSash(){if(this._resizeSash)return;this._resizeSash=this._disposables.add(new Ca(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.state=0);let e;this._disposables.add(this._resizeSash.onDidStart(t=>{this._viewZone&&(e={startY:t.startY,heightInLines:this._viewZone.heightInLines})})),this._disposables.add(this._resizeSash.onDidEnd(()=>{e=void 0})),this._disposables.add(this._resizeSash.onDidChange(t=>{if(e){const i=(t.currentY-e.startY)/this.editor.getOption(67),r=i<0?Math.ceil(i):Math.floor(i),o=e.heightInLines+r;o>5&&o<35&&this._relayout(o)}}))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(this.domNode.style.height===null?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const e=this.editor.getLayoutInfo();return e.width-e.minimap.minimapWidth}}var K2e=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},J2e=function(n,e){return function(t,i){e(t,i,n)}};const j2e=Un("IPeekViewService");qn(j2e,class{constructor(){this._widgets=new Map}addExclusiveWidget(n,e){const t=this._widgets.get(n);t&&(t.listener.dispose(),t.widget.dispose());const i=()=>{const r=this._widgets.get(n);r&&r.widget===e&&(r.listener.dispose(),this._widgets.delete(n))};this._widgets.set(n,{widget:e,listener:e.onDidClose(i)})}},1);var zl;(function(n){n.inPeekEditor=new wt("inReferenceSearchEditor",!0,L("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),n.notInPeekEditor=n.inPeekEditor.toNegated()})(zl||(zl={}));let CM=class{constructor(e,t){e instanceof V0&&zl.inPeekEditor.bindTo(t)}dispose(){}};CM.ID="editor.contrib.referenceController",CM=K2e([J2e(1,ln)],CM),yi(CM.ID,CM,0);function _Dt(n){const e=n.get(vi).getFocusedCodeEditor();return e instanceof V0?e.getParentEditor():e}const FDt={headerBackgroundColor:Ze.white,primaryHeadingColor:Ze.fromHex("#333333"),secondaryHeadingColor:Ze.fromHex("#6c6c6cb3")};let h3=class extends LDt{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new be,this.onDidClose=this._onDidClose.event,J9(this.options,FDt,!1)}dispose(){this.disposed||(this.disposed=!0,super.dispose(),this._onDidClose.fire(this))}style(e){const t=this.options;e.headerBackgroundColor&&(t.headerBackgroundColor=e.headerBackgroundColor),e.primaryHeadingColor&&(t.primaryHeadingColor=e.primaryHeadingColor),e.secondaryHeadingColor&&(t.secondaryHeadingColor=e.secondaryHeadingColor),super.style(e)}_applyStyles(){super._applyStyles();const e=this.options;this._headElement&&e.headerBackgroundColor&&(this._headElement.style.backgroundColor=e.headerBackgroundColor.toString()),this._primaryHeading&&e.primaryHeadingColor&&(this._primaryHeading.style.color=e.primaryHeadingColor.toString()),this._secondaryHeading&&e.secondaryHeadingColor&&(this._secondaryHeading.style.color=e.secondaryHeadingColor.toString()),this._bodyElement&&e.frameColor&&(this._bodyElement.style.borderColor=e.frameColor.toString())}_fillContainer(e){this.setCssClass("peekview-widget"),this._headElement=Ct(".head"),this._bodyElement=Ct(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=Ct(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),Gr(this._titleElement,"click",o=>this._onTitleClick(o))),je(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=Ct("span.filename"),this._secondaryHeading=Ct("span.dirname"),this._metaHeading=Ct("span.meta"),je(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=Ct(".peekview-actions");je(this._headElement,i);const r=this._getActionBarOptions();this._actionbarWidget=new Kc(i,r),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new uu("peekview.close",L("label.close","Close"),sn.asClassName(ut.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:uSe.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(e){}setTitle(e,t){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=e,this._primaryHeading.setAttribute("title",e),t?this._secondaryHeading.innerText=t:ma(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,lu(this._metaHeading)):$a(this._metaHeading))}_doLayout(e,t){if(!this._isShowing&&e<0){this.dispose();return}const i=Math.ceil(this.editor.getOption(67)*1.2),r=Math.round(e-(i+2));this._doLayoutHead(i,t),this._doLayoutBody(r,t)}_doLayoutHead(e,t){this._headElement&&(this._headElement.style.height=`${e}px`,this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(e,t){this._bodyElement&&(this._bodyElement.style.height=`${e}px`)}};h3=K2e([J2e(2,$t)],h3);const IDt=re("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:Ze.black,hcLight:Ze.white},L("peekViewTitleBackground","Background color of the peek view title area.")),Q2e=re("peekViewTitleLabel.foreground",{dark:Ze.white,light:Ze.black,hcDark:Ze.white,hcLight:Gc},L("peekViewTitleForeground","Color of the peek view title.")),$2e=re("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},L("peekViewTitleInfoForeground","Color of the peek view title info.")),DDt=re("peekView.border",{dark:Gl,light:Gl,hcDark:Kn,hcLight:Kn},L("peekViewBorder","Color of the peek view borders and arrow.")),MDt=re("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:Ze.black,hcLight:Ze.white},L("peekViewResultsBackground","Background color of the peek view result list."));re("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:Ze.white,hcLight:Gc},L("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list.")),re("peekViewResult.fileForeground",{dark:Ze.white,light:"#1E1E1E",hcDark:Ze.white,hcLight:Gc},L("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list.")),re("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},L("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list.")),re("peekViewResult.selectionForeground",{dark:Ze.white,light:"#6C6C6C",hcDark:Ze.white,hcLight:Gc},L("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const A0=re("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:Ze.black,hcLight:Ze.white},L("peekViewEditorBackground","Background color of the peek view editor."));re("peekViewEditorGutter.background",{dark:A0,light:A0,hcDark:A0,hcLight:A0},L("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor.")),re("peekViewEditorStickyScroll.background",{dark:A0,light:A0,hcDark:A0,hcLight:A0},L("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor.")),re("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},L("peekViewResultsMatchHighlight","Match highlight color in the peek view result list.")),re("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},L("peekViewEditorMatchHighlight","Match highlight color in the peek view editor.")),re("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:fr,hcLight:fr},L("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));function G0(n){return n&&typeof n.getEditorType=="function"?n.getEditorType()===lD.ICodeEditor:!1}function kDt(n){return n&&typeof n.getEditorType=="function"?n.getEditorType()===lD.IDiffEditor:!1}class NDt{get templateId(){return this.renderer.templateId}constructor(e,t){this.renderer=e,this.modelProvider=t}renderTemplate(e){return{data:this.renderer.renderTemplate(e),disposable:Ie.None}}renderElement(e,t,i,r){var o;if((o=i.disposable)===null||o===void 0||o.dispose(),!i.data)return;const s=this.modelProvider();if(s.isResolved(e))return this.renderer.renderElement(s.get(e),e,i.data,r);const a=new fo,l=s.resolve(e,a.token);i.disposable={dispose:()=>a.cancel()},this.renderer.renderPlaceholder(e,i.data),l.then(u=>this.renderer.renderElement(u,e,i.data,r))}disposeTemplate(e){e.disposable&&(e.disposable.dispose(),e.disposable=void 0),e.data&&(this.renderer.disposeTemplate(e.data),e.data=void 0)}}class TDt{constructor(e,t){this.modelProvider=e,this.accessibilityProvider=t}getWidgetAriaLabel(){return this.accessibilityProvider.getWidgetAriaLabel()}getAriaLabel(e){const t=this.modelProvider();return t.isResolved(e)?this.accessibilityProvider.getAriaLabel(t.get(e)):null}}function EDt(n,e){return{...e,accessibilityProvider:e.accessibilityProvider&&new TDt(n,e.accessibilityProvider)}}class ZDt{constructor(e,t,i,r,o={}){const s=()=>this.model,a=r.map(l=>new NDt(l,s));this.list=new Ju(e,t,i,a,EDt(s,o))}updateOptions(e){this.list.updateOptions(e)}getHTMLElement(){return this.list.getHTMLElement()}get onDidFocus(){return this.list.onDidFocus}get widget(){return this.list}get onDidDispose(){return this.list.onDidDispose}get onMouseDblClick(){return lt.map(this.list.onMouseDblClick,({element:e,index:t,browserEvent:i})=>({element:e===void 0?void 0:this._model.get(e),index:t,browserEvent:i}))}get onPointer(){return lt.map(this.list.onPointer,({element:e,index:t,browserEvent:i})=>({element:e===void 0?void 0:this._model.get(e),index:t,browserEvent:i}))}get onDidChangeSelection(){return lt.map(this.list.onDidChangeSelection,({elements:e,indexes:t,browserEvent:i})=>({elements:e.map(r=>this._model.get(r)),indexes:t,browserEvent:i}))}get model(){return this._model}set model(e){this._model=e,this.list.splice(0,this.list.length,Rl(e.length))}getFocus(){return this.list.getFocus()}getSelection(){return this.list.getSelection()}getSelectedElements(){return this.getSelection().map(e=>this.model.get(e))}style(e){this.list.style(e)}dispose(){this.list.dispose()}}const WDt={separatorBorder:Ze.transparent};class q2e{set size(e){this._size=e}get size(){return this._size}get visible(){return typeof this._cachedVisibleSize>"u"}setVisible(e,t){var i,r;if(e!==this.visible){e?(this.size=al(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize=typeof t=="number"?t:this.size,this.size=0),this.container.classList.toggle("visible",e);try{(r=(i=this.view).setVisible)===null||r===void 0||r.call(i,e)}catch{}}}get minimumSize(){return this.visible?this.view.minimumSize:0}get viewMinimumSize(){return this.view.minimumSize}get maximumSize(){return this.visible?this.view.maximumSize:0}get viewMaximumSize(){return this.view.maximumSize}get priority(){return this.view.priority}get proportionalLayout(){var e;return(e=this.view.proportionalLayout)!==null&&e!==void 0?e:!0}get snap(){return!!this.view.snap}set enabled(e){this.container.style.pointerEvents=e?"":"none"}constructor(e,t,i,r){this.container=e,this.view=t,this.disposable=r,this._cachedVisibleSize=void 0,typeof i=="number"?(this._size=i,this._cachedVisibleSize=void 0,e.classList.add("visible")):(this._size=0,this._cachedVisibleSize=i.cachedVisibleSize)}layout(e,t){this.layoutContainer(e);try{this.view.layout(this.size,e,t)}catch{}}dispose(){this.disposable.dispose()}}class RDt extends q2e{layoutContainer(e){this.container.style.top=`${e}px`,this.container.style.height=`${this.size}px`}}class VDt extends q2e{layoutContainer(e){this.container.style.left=`${e}px`,this.container.style.width=`${this.size}px`}}var Lp;(function(n){n[n.Idle=0]="Idle",n[n.Busy=1]="Busy"})(Lp||(Lp={}));var m3;(function(n){n.Distribute={type:"distribute"};function e(r){return{type:"split",index:r}}n.Split=e;function t(r){return{type:"auto",index:r}}n.Auto=t;function i(r){return{type:"invisible",cachedVisibleSize:r}}n.Invisible=i})(m3||(m3={}));class exe extends Ie{get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}get startSnappingEnabled(){return this._startSnappingEnabled}get endSnappingEnabled(){return this._endSnappingEnabled}set orthogonalStartSash(e){for(const t of this.sashItems)t.sash.orthogonalStartSash=e;this._orthogonalStartSash=e}set orthogonalEndSash(e){for(const t of this.sashItems)t.sash.orthogonalEndSash=e;this._orthogonalEndSash=e}set startSnappingEnabled(e){this._startSnappingEnabled!==e&&(this._startSnappingEnabled=e,this.updateSashEnablement())}set endSnappingEnabled(e){this._endSnappingEnabled!==e&&(this._endSnappingEnabled=e,this.updateSashEnablement())}constructor(e,t={}){var i,r,o,s,a;super(),this.size=0,this._contentSize=0,this.proportions=void 0,this.viewItems=[],this.sashItems=[],this.state=Lp.Idle,this._onDidSashChange=this._register(new be),this._onDidSashReset=this._register(new be),this._startSnappingEnabled=!0,this._endSnappingEnabled=!0,this.onDidSashChange=this._onDidSashChange.event,this.onDidSashReset=this._onDidSashReset.event,this.orientation=(i=t.orientation)!==null&&i!==void 0?i:0,this.inverseAltBehavior=(r=t.inverseAltBehavior)!==null&&r!==void 0?r:!1,this.proportionalLayout=(o=t.proportionalLayout)!==null&&o!==void 0?o:!0,this.getSashOrthogonalSize=t.getSashOrthogonalSize,this.el=document.createElement("div"),this.el.classList.add("monaco-split-view2"),this.el.classList.add(this.orientation===0?"vertical":"horizontal"),e.appendChild(this.el),this.sashContainer=je(this.el,Ct(".sash-container")),this.viewContainer=Ct(".split-view-container"),this.scrollable=this._register(new o2({forceIntegerValues:!0,smoothScrollDuration:125,scheduleAtNextAnimationFrame:u=>au(Qt(this.el),u)})),this.scrollableElement=this._register(new gW(this.viewContainer,{vertical:this.orientation===0?(s=t.scrollbarVisibility)!==null&&s!==void 0?s:1:2,horizontal:this.orientation===1?(a=t.scrollbarVisibility)!==null&&a!==void 0?a:1:2},this.scrollable));const l=this._register(new Jn(this.viewContainer,"scroll")).event;this._register(l(u=>{const c=this.scrollableElement.getScrollPosition(),d=Math.abs(this.viewContainer.scrollLeft-c.scrollLeft)<=1?void 0:this.viewContainer.scrollLeft,h=Math.abs(this.viewContainer.scrollTop-c.scrollTop)<=1?void 0:this.viewContainer.scrollTop;(d!==void 0||h!==void 0)&&this.scrollableElement.setScrollPosition({scrollLeft:d,scrollTop:h})})),this.onDidScroll=this.scrollableElement.onScroll,this._register(this.onDidScroll(u=>{u.scrollTopChanged&&(this.viewContainer.scrollTop=u.scrollTop),u.scrollLeftChanged&&(this.viewContainer.scrollLeft=u.scrollLeft)})),je(this.el,this.scrollableElement.getDomNode()),this.style(t.styles||WDt),t.descriptor&&(this.size=t.descriptor.size,t.descriptor.views.forEach((u,c)=>{const d=iu(u.visible)||u.visible?u.size:{type:"invisible",cachedVisibleSize:u.size},h=u.view;this.doAddView(h,d,c,!0)}),this._contentSize=this.viewItems.reduce((u,c)=>u+c.size,0),this.saveProportions())}style(e){e.separatorBorder.isTransparent()?(this.el.classList.remove("separator-border"),this.el.style.removeProperty("--separator-border")):(this.el.classList.add("separator-border"),this.el.style.setProperty("--separator-border",e.separatorBorder.toString()))}addView(e,t,i=this.viewItems.length,r){this.doAddView(e,t,i,r)}layout(e,t){const i=Math.max(this.size,this._contentSize);if(this.size=e,this.layoutContext=t,this.proportions){let r=0;for(let o=0;o0&&(s.size=al(Math.round(a*e/r),s.minimumSize,s.maximumSize))}}else{const r=Rl(this.viewItems.length),o=r.filter(a=>this.viewItems[a].priority===1),s=r.filter(a=>this.viewItems[a].priority===2);this.resize(this.viewItems.length-1,e-i,void 0,o,s)}this.distributeEmptySpace(),this.layoutViews()}saveProportions(){this.proportionalLayout&&this._contentSize>0&&(this.proportions=this.viewItems.map(e=>e.proportionalLayout&&e.visible?e.size/this._contentSize:void 0))}onSashStart({sash:e,start:t,alt:i}){for(const a of this.viewItems)a.enabled=!1;const r=this.sashItems.findIndex(a=>a.sash===e),o=_d(Ae(this.el.ownerDocument.body,"keydown",a=>s(this.sashDragState.current,a.altKey)),Ae(this.el.ownerDocument.body,"keyup",()=>s(this.sashDragState.current,!1))),s=(a,l)=>{const u=this.viewItems.map(f=>f.size);let c=Number.NEGATIVE_INFINITY,d=Number.POSITIVE_INFINITY;if(this.inverseAltBehavior&&(l=!l),l)if(r===this.sashItems.length-1){const g=this.viewItems[r];c=(g.minimumSize-g.size)/2,d=(g.maximumSize-g.size)/2}else{const g=this.viewItems[r+1];c=(g.size-g.maximumSize)/2,d=(g.size-g.minimumSize)/2}let h,m;if(!l){const f=Rl(r,-1),g=Rl(r+1,this.viewItems.length),b=f.reduce((M,T)=>M+(this.viewItems[T].minimumSize-u[T]),0),v=f.reduce((M,T)=>M+(this.viewItems[T].viewMaximumSize-u[T]),0),C=g.length===0?Number.POSITIVE_INFINITY:g.reduce((M,T)=>M+(u[T]-this.viewItems[T].minimumSize),0),S=g.length===0?Number.NEGATIVE_INFINITY:g.reduce((M,T)=>M+(u[T]-this.viewItems[T].viewMaximumSize),0),x=Math.max(b,S),_=Math.min(C,v),F=this.findFirstSnapIndex(f),D=this.findFirstSnapIndex(g);if(typeof F=="number"){const M=this.viewItems[F],T=Math.floor(M.viewMinimumSize/2);h={index:F,limitDelta:M.visible?x-T:x+T,size:M.size}}if(typeof D=="number"){const M=this.viewItems[D],T=Math.floor(M.viewMinimumSize/2);m={index:D,limitDelta:M.visible?_+T:_-T,size:M.size}}}this.sashDragState={start:a,current:a,index:r,sizes:u,minDelta:c,maxDelta:d,alt:l,snapBefore:h,snapAfter:m,disposable:o}};s(t,i)}onSashChange({current:e}){const{index:t,start:i,sizes:r,alt:o,minDelta:s,maxDelta:a,snapBefore:l,snapAfter:u}=this.sashDragState;this.sashDragState.current=e;const c=e-i,d=this.resize(t,c,r,void 0,void 0,s,a,l,u);if(o){const h=t===this.sashItems.length-1,m=this.viewItems.map(S=>S.size),f=h?t:t+1,g=this.viewItems[f],b=g.size-g.maximumSize,v=g.size-g.minimumSize,C=h?t-1:t+1;this.resize(C,-d,m,void 0,void 0,b,v)}this.distributeEmptySpace(),this.layoutViews()}onSashEnd(e){this._onDidSashChange.fire(e),this.sashDragState.disposable.dispose(),this.saveProportions();for(const t of this.viewItems)t.enabled=!0}onViewChange(e,t){const i=this.viewItems.indexOf(e);i<0||i>=this.viewItems.length||(t=typeof t=="number"?t:e.size,t=al(t,e.minimumSize,e.maximumSize),this.inverseAltBehavior&&i>0?(this.resize(i-1,Math.floor((e.size-t)/2)),this.distributeEmptySpace(),this.layoutViews()):(e.size=t,this.relayout([i],void 0)))}resizeView(e,t){if(!(e<0||e>=this.viewItems.length)){if(this.state!==Lp.Idle)throw new Error("Cant modify splitview");this.state=Lp.Busy;try{const i=Rl(this.viewItems.length).filter(a=>a!==e),r=[...i.filter(a=>this.viewItems[a].priority===1),e],o=i.filter(a=>this.viewItems[a].priority===2),s=this.viewItems[e];t=Math.round(t),t=al(t,s.minimumSize,Math.min(s.maximumSize,this.size)),s.size=t,this.relayout(r,o)}finally{this.state=Lp.Idle}}}distributeViewSizes(){const e=[];let t=0;for(const a of this.viewItems)a.maximumSize-a.minimumSize>0&&(e.push(a),t+=a.size);const i=Math.floor(t/e.length);for(const a of e)a.size=al(i,a.minimumSize,a.maximumSize);const r=Rl(this.viewItems.length),o=r.filter(a=>this.viewItems[a].priority===1),s=r.filter(a=>this.viewItems[a].priority===2);this.relayout(o,s)}getViewSize(e){return e<0||e>=this.viewItems.length?-1:this.viewItems[e].size}doAddView(e,t,i=this.viewItems.length,r){if(this.state!==Lp.Idle)throw new Error("Cant modify splitview");this.state=Lp.Busy;try{const o=Ct(".split-view-view");i===this.viewItems.length?this.viewContainer.appendChild(o):this.viewContainer.insertBefore(o,this.viewContainer.children.item(i));const s=e.onDidChange(h=>this.onViewChange(c,h)),a=jt(()=>this.viewContainer.removeChild(o)),l=_d(s,a);let u;typeof t=="number"?u=t:(t.type==="auto"&&(this.areViewsDistributed()?t={type:"distribute"}:t={type:"split",index:t.index}),t.type==="split"?u=this.getViewSize(t.index)/2:t.type==="invisible"?u={cachedVisibleSize:t.cachedVisibleSize}:u=e.minimumSize);const c=this.orientation===0?new RDt(o,e,u,l):new VDt(o,e,u,l);if(this.viewItems.splice(i,0,c),this.viewItems.length>1){const h={orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash},m=this.orientation===0?new Ca(this.sashContainer,{getHorizontalSashTop:M=>this.getSashPosition(M),getHorizontalSashWidth:this.getSashOrthogonalSize},{...h,orientation:1}):new Ca(this.sashContainer,{getVerticalSashLeft:M=>this.getSashPosition(M),getVerticalSashHeight:this.getSashOrthogonalSize},{...h,orientation:0}),f=this.orientation===0?M=>({sash:m,start:M.startY,current:M.currentY,alt:M.altKey}):M=>({sash:m,start:M.startX,current:M.currentX,alt:M.altKey}),b=lt.map(m.onDidStart,f)(this.onSashStart,this),C=lt.map(m.onDidChange,f)(this.onSashChange,this),x=lt.map(m.onDidEnd,()=>this.sashItems.findIndex(M=>M.sash===m))(this.onSashEnd,this),_=m.onDidReset(()=>{const M=this.sashItems.findIndex(W=>W.sash===m),T=Rl(M,-1),Z=Rl(M+1,this.viewItems.length),E=this.findFirstSnapIndex(T),R=this.findFirstSnapIndex(Z);typeof E=="number"&&!this.viewItems[E].visible||typeof R=="number"&&!this.viewItems[R].visible||this._onDidSashReset.fire(M)}),F=_d(b,C,x,_,m),D={sash:m,disposable:F};this.sashItems.splice(i-1,0,D)}o.appendChild(e.element);let d;typeof t!="number"&&t.type==="split"&&(d=[t.index]),r||this.relayout([i],d),!r&&typeof t!="number"&&t.type==="distribute"&&this.distributeViewSizes()}finally{this.state=Lp.Idle}}relayout(e,t){const i=this.viewItems.reduce((r,o)=>r+o.size,0);this.resize(this.viewItems.length-1,this.size-i,void 0,e,t),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()}resize(e,t,i=this.viewItems.map(c=>c.size),r,o,s=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY,l,u){if(e<0||e>=this.viewItems.length)return 0;const c=Rl(e,-1),d=Rl(e+1,this.viewItems.length);if(o)for(const D of o)HY(c,D),HY(d,D);if(r)for(const D of r)R9(c,D),R9(d,D);const h=c.map(D=>this.viewItems[D]),m=c.map(D=>i[D]),f=d.map(D=>this.viewItems[D]),g=d.map(D=>i[D]),b=c.reduce((D,M)=>D+(this.viewItems[M].minimumSize-i[M]),0),v=c.reduce((D,M)=>D+(this.viewItems[M].maximumSize-i[M]),0),C=d.length===0?Number.POSITIVE_INFINITY:d.reduce((D,M)=>D+(i[M]-this.viewItems[M].minimumSize),0),S=d.length===0?Number.NEGATIVE_INFINITY:d.reduce((D,M)=>D+(i[M]-this.viewItems[M].maximumSize),0),x=Math.max(b,S,s),_=Math.min(C,v,a);let F=!1;if(l){const D=this.viewItems[l.index],M=t>=l.limitDelta;F=M!==D.visible,D.setVisible(M,l.size)}if(!F&&u){const D=this.viewItems[u.index],M=ta+l.size,0);let i=this.size-t;const r=Rl(this.viewItems.length-1,-1),o=r.filter(a=>this.viewItems[a].priority===1),s=r.filter(a=>this.viewItems[a].priority===2);for(const a of s)HY(r,a);for(const a of o)R9(r,a);typeof e=="number"&&R9(r,e);for(let a=0;i!==0&&at+i.size,0);let e=0;for(const t of this.viewItems)t.layout(e,this.layoutContext),e+=t.size;this.sashItems.forEach(t=>t.sash.layout()),this.updateSashEnablement(),this.updateScrollableElement()}updateScrollableElement(){this.orientation===0?this.scrollableElement.setScrollDimensions({height:this.size,scrollHeight:this._contentSize}):this.scrollableElement.setScrollDimensions({width:this.size,scrollWidth:this._contentSize})}updateSashEnablement(){let e=!1;const t=this.viewItems.map(l=>e=l.size-l.minimumSize>0||e);e=!1;const i=this.viewItems.map(l=>e=l.maximumSize-l.size>0||e),r=[...this.viewItems].reverse();e=!1;const o=r.map(l=>e=l.size-l.minimumSize>0||e).reverse();e=!1;const s=r.map(l=>e=l.maximumSize-l.size>0||e).reverse();let a=0;for(let l=0;l0||this.startSnappingEnabled)?u.state=1:C&&t[l]&&(a0)return;if(!i.visible&&i.snap)return t}}areViewsDistributed(){let e,t;for(const i of this.viewItems)if(e=e===void 0?i.size:Math.min(e,i.size),t=t===void 0?i.size:Math.max(t,i.size),t-e>2)return!1;return!0}dispose(){var e;(e=this.sashDragState)===null||e===void 0||e.disposable.dispose(),er(this.viewItems),this.viewItems=[],this.sashItems.forEach(t=>t.disposable.dispose()),this.sashItems=[],super.dispose()}}class wM{constructor(e,t,i){this.columns=e,this.getColumnSize=i,this.templateId=wM.TemplateId,this.renderedTemplates=new Set;const r=new Map(t.map(o=>[o.templateId,o]));this.renderers=[];for(const o of e){const s=r.get(o.templateId);if(!s)throw new Error(`Table cell renderer for template id ${o.templateId} not found.`);this.renderers.push(s)}}renderTemplate(e){const t=je(e,Ct(".monaco-table-tr")),i=[],r=[];for(let s=0;sthis.disposables.add(new GDt(c,d))),l={size:a.reduce((c,d)=>c+d.column.weight,0),views:a.map(c=>({size:c.column.weight,view:c}))};this.splitview=this.disposables.add(new exe(this.domNode,{orientation:1,scrollbarVisibility:2,getSashOrthogonalSize:()=>this.cachedHeight,descriptor:l})),this.splitview.el.style.height=`${i.headerRowHeight}px`,this.splitview.el.style.lineHeight=`${i.headerRowHeight}px`;const u=new wM(r,o,c=>this.splitview.getViewSize(c));this.list=this.disposables.add(new Ju(e,this.domNode,ADt(i),[u],s)),lt.any(...a.map(c=>c.onDidLayout))(([c,d])=>u.layoutColumn(c,d),null,this.disposables),this.splitview.onDidSashReset(c=>{const d=r.reduce((m,f)=>m+f.weight,0),h=r[c].weight/d*this.cachedWidth;this.splitview.resizeView(c,h)},null,this.disposables),this.styleElement=Au(this.domNode),this.style(Zxt)}updateOptions(e){this.list.updateOptions(e)}splice(e,t,i=[]){this.list.splice(e,t,i)}getHTMLElement(){return this.domNode}style(e){const t=[];t.push(`.monaco-table.${this.domId} > .monaco-split-view2 .monaco-sash.vertical::before { +`),parse:n=>BW.split(n).filter(e=>!e.startsWith("#"))});class Vi{constructor(e){this.value=e}equals(e){return this.value===e.value}contains(e){return this.equals(e)||this.value===""||e.value.startsWith(this.value+Vi.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new Vi((this.value?[this.value,...e]:e).join(Vi.sep))}}Vi.sep=".",Vi.None=new Vi("@@none@@"),Vi.Empty=new Vi("");const wwe={EDITORS:"CodeEditors",FILES:"CodeFiles"};class nIt{}const iIt={DragAndDropContribution:"workbench.contributions.dragAndDrop"};Do.add(iIt.DragAndDropContribution,new nIt);class eN{constructor(){}static getInstance(){return eN.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}}eN.INSTANCE=new eN;function xwe(n){const e=new vwe;for(const t of n.items){const i=t.type;if(t.kind==="string"){const r=new Promise(o=>t.getAsString(o));e.append(i,$U(r))}else if(t.kind==="file"){const r=t.getAsFile();r&&e.append(i,rIt(r))}}return e}function rIt(n){const e=n.path?en.parse(n.path):void 0;return tIt(n.name,e,async()=>new Uint8Array(await n.arrayBuffer()))}const oIt=Object.freeze([wwe.EDITORS,wwe.FILES,ZD.RESOURCES,ZD.INTERNAL_URI_LIST]);function _we(n,e=!1){const t=xwe(n),i=t.get(ZD.INTERNAL_URI_LIST);if(i)t.replace(Pr.uriList,i);else if(e||!t.has(Pr.uriList)){const r=[];for(const o of n.items){const s=o.getAsFile();if(s){const a=s.path;try{a?r.push(en.file(a).toString()):r.push(en.parse(s.name,!0).toString())}catch{}}}r.length&&t.replace(Pr.uriList,$U(BW.create(r)))}for(const r of oIt)t.delete(r);return t}const tN=Un("IWorkspaceEditService");class qU{constructor(e){this.metadata=e}static convert(e){return e.edits.map(t=>{if(k0.is(t))return k0.lift(t);if(V2.is(t))return V2.lift(t);throw new Error("Unsupported edit")})}}class k0 extends qU{static is(e){return e instanceof k0?!0:Ua(e)&&en.isUri(e.resource)&&Ua(e.textEdit)}static lift(e){return e instanceof k0?e:new k0(e.resource,e.textEdit,e.versionId,e.metadata)}constructor(e,t,i=void 0,r){super(r),this.resource=e,this.textEdit=t,this.versionId=i}}class V2 extends qU{static is(e){return e instanceof V2?!0:Ua(e)&&(!!e.newResource||!!e.oldResource)}static lift(e){return e instanceof V2?e:new V2(e.oldResource,e.newResource,e.options,e.metadata)}constructor(e,t,i={},r){super(r),this.oldResource=e,this.newResource=t,this.options=i}}class sIt{constructor(){this._value="",this._pos=0}reset(e){return this._value=e,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos=0;t--,this._valueLen--){const i=this._value.charCodeAt(t);if(!(i===47||this._splitOnBackslash&&i===92))break}return this.next()}hasNext(){return this._to!1,t=()=>!1){return new G2(new uIt(e,t))}static forStrings(){return new G2(new sIt)}static forConfigKeys(){return new G2(new aIt)}constructor(e){this._iter=e}clear(){this._root=void 0}set(e,t){const i=this._iter.reset(e);let r;this._root||(this._root=new zW,this._root.segment=i.value());const o=[];for(r=this._root;;){const a=i.cmp(r.segment);if(a>0)r.left||(r.left=new zW,r.left.segment=i.value()),o.push([-1,r]),r=r.left;else if(a<0)r.right||(r.right=new zW,r.right.segment=i.value()),o.push([1,r]),r=r.right;else if(i.hasNext())i.next(),r.mid||(r.mid=new zW,r.mid.segment=i.value()),o.push([0,r]),r=r.mid;else break}const s=r.value;r.value=t,r.key=e;for(let a=o.length-1;a>=0;a--){const l=o[a][1];l.updateHeight();const u=l.balanceFactor();if(u<-1||u>1){const c=o[a][0],d=o[a+1][0];if(c===1&&d===1)o[a][1]=l.rotateLeft();else if(c===-1&&d===-1)o[a][1]=l.rotateRight();else if(c===1&&d===-1)l.right=o[a+1][1]=o[a+1][1].rotateRight(),o[a][1]=l.rotateLeft();else if(c===-1&&d===1)l.left=o[a+1][1]=o[a+1][1].rotateLeft(),o[a][1]=l.rotateRight();else throw new Error;if(a>0)switch(o[a-1][0]){case-1:o[a-1][1].left=o[a][1];break;case 1:o[a-1][1].right=o[a][1];break;case 0:o[a-1][1].mid=o[a][1];break}else this._root=o[0][1]}}return s}get(e){var t;return(t=this._getNode(e))===null||t===void 0?void 0:t.value}_getNode(e){const t=this._iter.reset(e);let i=this._root;for(;i;){const r=t.cmp(i.segment);if(r>0)i=i.left;else if(r<0)i=i.right;else if(t.hasNext())t.next(),i=i.mid;else break}return i}has(e){const t=this._getNode(e);return!((t==null?void 0:t.value)===void 0&&(t==null?void 0:t.mid)===void 0)}delete(e){return this._delete(e,!1)}deleteSuperstr(e){return this._delete(e,!0)}_delete(e,t){var i;const r=this._iter.reset(e),o=[];let s=this._root;for(;s;){const a=r.cmp(s.segment);if(a>0)o.push([-1,s]),s=s.left;else if(a<0)o.push([1,s]),s=s.right;else if(r.hasNext())r.next(),o.push([0,s]),s=s.mid;else break}if(s){if(t?(s.left=void 0,s.mid=void 0,s.right=void 0,s.height=1):(s.key=void 0,s.value=void 0),!s.mid&&!s.value)if(s.left&&s.right){const a=this._min(s.right);if(a.key){const{key:l,value:u,segment:c}=a;this._delete(a.key,!1),s.key=l,s.value=u,s.segment=c}}else{const a=(i=s.left)!==null&&i!==void 0?i:s.right;if(o.length>0){const[l,u]=o[o.length-1];switch(l){case-1:u.left=a;break;case 0:u.mid=a;break;case 1:u.right=a;break}}else this._root=a}for(let a=o.length-1;a>=0;a--){const l=o[a][1];l.updateHeight();const u=l.balanceFactor();if(u>1?(l.right.balanceFactor()>=0||(l.right=l.right.rotateRight()),o[a][1]=l.rotateLeft()):u<-1&&(l.left.balanceFactor()<=0||(l.left=l.left.rotateLeft()),o[a][1]=l.rotateRight()),a>0)switch(o[a-1][0]){case-1:o[a-1][1].left=o[a][1];break;case 1:o[a-1][1].right=o[a][1];break;case 0:o[a-1][1].mid=o[a][1];break}else this._root=o[0][1]}}}_min(e){for(;e.left;)e=e.left;return e}findSubstr(e){const t=this._iter.reset(e);let i=this._root,r;for(;i;){const o=t.cmp(i.segment);if(o>0)i=i.left;else if(o<0)i=i.right;else if(t.hasNext())t.next(),r=i.value||r,i=i.mid;else break}return i&&i.value||r}findSuperstr(e){return this._findSuperstrOrElement(e,!1)}_findSuperstrOrElement(e,t){const i=this._iter.reset(e);let r=this._root;for(;r;){const o=i.cmp(r.segment);if(o>0)r=r.left;else if(o<0)r=r.right;else if(i.hasNext())i.next(),r=r.mid;else return r.mid?this._entries(r.mid):t?r.value:void 0}}forEach(e){for(const[t,i]of this)e(i,t)}*[Symbol.iterator](){yield*this._entries(this._root)}_entries(e){const t=[];return this._dfsEntries(e,t),t[Symbol.iterator]()}_dfsEntries(e,t){e&&(e.left&&this._dfsEntries(e.left,t),e.value&&t.push([e.key,e.value]),e.mid&&this._dfsEntries(e.mid,t),e.right&&this._dfsEntries(e.right,t))}}const Wv=Un("contextService");function eK(n){const e=n;return typeof(e==null?void 0:e.id)=="string"&&en.isUri(e.uri)}function cIt(n){const e=n;return typeof(e==null?void 0:e.id)=="string"&&!eK(n)&&!fIt(n)}const dIt={id:"ext-dev"},hIt={id:"empty-window"};function mIt(n,e){if(typeof n=="string"||typeof n>"u")return typeof n=="string"?{id:Kb(n)}:e?dIt:hIt;const t=n;return t.configuration?{id:t.id,configPath:t.configuration}:t.folders.length===1?{id:t.id,uri:t.folders[0].uri}:{id:t.id}}function fIt(n){const e=n;return typeof(e==null?void 0:e.id)=="string"&&en.isUri(e.configPath)}class gIt{constructor(e,t){this.raw=t,this.uri=e.uri,this.index=e.index,this.name=e.name}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}}const tK="code-workspace";_("codeWorkspace","Code Workspace");const Lwe="4064f6ec-cb38-4ad0-af64-ee6467e63c82";function pIt(n){return n.id===Lwe}var nK=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},nN=function(n,e){return function(t,i){e(t,i,n)}};class iK{async provideDocumentPasteEdits(e,t,i,r,o){const s=await this.getEdit(i,o);if(s)return{dispose(){},edits:[{insertText:s.insertText,title:s.title,kind:s.kind,handledMimeType:s.handledMimeType,yieldTo:s.yieldTo}]}}async provideDocumentOnDropEdits(e,t,i,r){const o=await this.getEdit(i,r);return o?[{insertText:o.insertText,title:o.title,kind:o.kind,handledMimeType:o.handledMimeType,yieldTo:o.yieldTo}]:void 0}}class Sp extends iK{constructor(){super(...arguments),this.kind=Sp.kind,this.dropMimeTypes=[Pr.text],this.pasteMimeTypes=[Pr.text]}async getEdit(e,t){const i=e.get(Pr.text);if(!i||e.has(Pr.uriList))return;const r=await i.asString();return{handledMimeType:Pr.text,title:_("text.label","Insert Plain Text"),insertText:r,kind:this.kind}}}Sp.id="text",Sp.kind=new Vi("text.plain");class Iwe extends iK{constructor(){super(...arguments),this.kind=new Vi("uri.absolute"),this.dropMimeTypes=[Pr.uriList],this.pasteMimeTypes=[Pr.uriList]}async getEdit(e,t){const i=await Fwe(e);if(!i.length||t.isCancellationRequested)return;let r=0;const o=i.map(({uri:a,originalText:l})=>a.scheme===Sn.file?a.fsPath:(r++,l)).join(" ");let s;return r>0?s=i.length>1?_("defaultDropProvider.uriList.uris","Insert Uris"):_("defaultDropProvider.uriList.uri","Insert Uri"):s=i.length>1?_("defaultDropProvider.uriList.paths","Insert Paths"):_("defaultDropProvider.uriList.path","Insert Path"),{handledMimeType:Pr.uriList,insertText:o,title:s,kind:this.kind}}}let HW=class extends iK{constructor(e){super(),this._workspaceContextService=e,this.kind=new Vi("uri.relative"),this.dropMimeTypes=[Pr.uriList],this.pasteMimeTypes=[Pr.uriList]}async getEdit(e,t){const i=await Fwe(e);if(!i.length||t.isCancellationRequested)return;const r=Ym(i.map(({uri:o})=>{const s=this._workspaceContextService.getWorkspaceFolder(o);return s?OCt(s.uri,o):void 0}));if(r.length)return{handledMimeType:Pr.uriList,insertText:r.join(" "),title:i.length>1?_("defaultDropProvider.uriList.relativePaths","Insert Relative Paths"):_("defaultDropProvider.uriList.relativePath","Insert Relative Path"),kind:this.kind}}};HW=nK([nN(0,Wv)],HW);class bIt{constructor(){this.kind=new Vi("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:Pr.text}]}async provideDocumentPasteEdits(e,t,i,r,o){var s;if(r.triggerKind!==BF.PasteAs&&!(!((s=r.only)===null||s===void 0)&&s.contains(this.kind)))return;const a=i.get("text/html"),l=await(a==null?void 0:a.asString());if(!(!l||o.isCancellationRequested))return{dispose(){},edits:[{insertText:l,yieldTo:this._yieldTo,title:_("pasteHtmlLabel","Insert HTML"),kind:this.kind}]}}}async function Fwe(n){const e=n.get(Pr.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const r of BW.parse(t))try{i.push({uri:en.parse(r),originalText:r})}catch{}return i}let rK=class extends Fe{constructor(e,t){super(),this._register(e.documentOnDropEditProvider.register("*",new Sp)),this._register(e.documentOnDropEditProvider.register("*",new Iwe)),this._register(e.documentOnDropEditProvider.register("*",new HW(t)))}};rK=nK([nN(0,Rt),nN(1,Wv)],rK);let oK=class extends Fe{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new Sp)),this._register(e.documentPasteEditProvider.register("*",new Iwe)),this._register(e.documentPasteEditProvider.register("*",new HW(t))),this._register(e.documentPasteEditProvider.register("*",new bIt))}};oK=nK([nN(0,Rt),nN(1,Wv)],oK);class Xd{constructor(){this.value="",this.pos=0}static isDigitCharacter(e){return e>=48&&e<=57}static isVariableCharacter(e){return e===95||e>=97&&e<=122||e>=65&&e<=90}text(e){this.value=e,this.pos=0}tokenText(e){return this.value.substr(e.pos,e.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};const e=this.pos;let t=0,i=this.value.charCodeAt(e),r;if(r=Xd._table[i],typeof r=="number")return this.pos+=1,{type:r,pos:e,len:1};if(Xd.isDigitCharacter(i)){r=8;do t+=1,i=this.value.charCodeAt(e+t);while(Xd.isDigitCharacter(i));return this.pos+=t,{type:r,pos:e,len:t}}if(Xd.isVariableCharacter(i)){r=9;do i=this.value.charCodeAt(e+ ++t);while(Xd.isVariableCharacter(i)||Xd.isDigitCharacter(i));return this.pos+=t,{type:r,pos:e,len:t}}r=10;do t+=1,i=this.value.charCodeAt(e+t);while(!isNaN(i)&&typeof Xd._table[i]>"u"&&!Xd.isDigitCharacter(i)&&!Xd.isVariableCharacter(i));return this.pos+=t,{type:r,pos:e,len:t}}}Xd._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};class X2{constructor(){this._children=[]}appendChild(e){return e instanceof cl&&this._children[this._children.length-1]instanceof cl?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this}replace(e,t){const{parent:i}=e,r=i.children.indexOf(e),o=i.children.slice(0);o.splice(r,1,...t),i._children=o,function s(a,l){for(const u of a)u.parent=l,s(u.children,u)}(t,i)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let e=this;for(;;){if(!e)return;if(e instanceof rN)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}class cl extends X2{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new cl(this.value)}}class Dwe extends X2{}class jc extends Dwe{static compareByIndex(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop||e.indext.index?1:0}constructor(e){super(),this.index=e}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof P2?this._children[0]:void 0}clone(){const e=new jc(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}class P2 extends X2{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof cl&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new P2;return this.options.forEach(e.appendChild,e),e}}class sK extends X2{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(e){const t=this;let i=!1,r=e.replace(this.regexp,function(){return i=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))});return!i&&this._children.some(o=>o instanceof Kh&&!!o.elseValue)&&(r=this._replace([])),r}_replace(e){let t="";for(const i of this._children)if(i instanceof Kh){let r=e[i.index]||"";r=i.resolve(r),t+=r}else t+=i.toString();return t}toString(){return""}clone(){const e=new sK;return e.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),e._children=this.children.map(t=>t.clone()),e}}class Kh extends X2{constructor(e,t,i,r){super(),this.index=e,this.shorthandName=t,this.ifValue=i,this.elseValue=r}resolve(e){return this.shorthandName==="upcase"?e?e.toLocaleUpperCase():"":this.shorthandName==="downcase"?e?e.toLocaleLowerCase():"":this.shorthandName==="capitalize"?e?e[0].toLocaleUpperCase()+e.substr(1):"":this.shorthandName==="pascalcase"?e?this._toPascalCase(e):"":this.shorthandName==="camelcase"?e?this._toCamelCase(e):"":e&&typeof this.ifValue=="string"?this.ifValue:!e&&typeof this.elseValue=="string"?this.elseValue:e||""}_toPascalCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map(i=>i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}_toCamelCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map((i,r)=>r===0?i.charAt(0).toLowerCase()+i.substr(1):i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}clone(){return new Kh(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class iN extends Dwe{constructor(e){super(),this.name=e}resolve(e){let t=e.resolve(this);return this.transform&&(t=this.transform.resolve(t||"")),t!==void 0?(this._children=[new cl(t)],!0):!1}clone(){const e=new iN(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}function Nwe(n,e){const t=[...n];for(;t.length>0;){const i=t.shift();if(!e(i))break;t.unshift(...i.children)}}class rN extends X2{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof jc&&(e.push(i),t=!t||t.indexr===e?(i=!0,!1):(t+=r.len(),!0)),i?t:-1}fullLen(e){let t=0;return Nwe([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof jc&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof iN&&t.resolve(e)&&(this._placeholders=void 0),!0)),this}appendChild(e){return this._placeholders=void 0,super.appendChild(e)}replace(e,t){return this._placeholders=void 0,super.replace(e,t)}clone(){const e=new rN;return this._children=this.children.map(t=>t.clone()),e}walk(e){Nwe(this.children,e)}}class Av{constructor(){this._scanner=new Xd,this._token={type:14,pos:0,len:0}}static escape(e){return e.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(e){return/\${?CLIPBOARD/.test(e)}parse(e,t,i){const r=new rN;return this.parseFragment(e,r),this.ensureFinalTabstop(r,i??!1,t??!1),r}parseFragment(e,t){const i=t.children.length;for(this._scanner.text(e),this._token=this._scanner.next();this._parse(t););const r=new Map,o=[];t.walk(l=>(l instanceof jc&&(l.isFinalTabstop?r.set(0,void 0):!r.has(l.index)&&l.children.length>0?r.set(l.index,l.children):o.push(l)),!0));const s=(l,u)=>{const c=r.get(l.index);if(!c)return;const d=new jc(l.index);d.transform=l.transform;for(const h of c){const m=h.clone();d.appendChild(m),m instanceof jc&&r.has(m.index)&&!u.has(m.index)&&(u.add(m.index),s(m,u),u.delete(m.index))}t.replace(l,[d])},a=new Set;for(const l of o)s(l,a);return t.children.slice(i)}ensureFinalTabstop(e,t,i){(t||i&&e.placeholders.length>0)&&(e.placeholders.find(o=>o.index===0)||e.appendChild(new jc(0)))}_accept(e,t){if(e===void 0||this._token.type===e){const i=t?this._scanner.tokenText(this._token):!0;return this._token=this._scanner.next(),i}return!1}_backTo(e){return this._scanner.pos=e.pos+e.len,this._token=e,!1}_until(e){const t=this._token;for(;this._token.type!==e;){if(this._token.type===14)return!1;if(this._token.type===5){const r=this._scanner.next();if(r.type!==0&&r.type!==4&&r.type!==5)return!1}this._token=this._scanner.next()}const i=this._scanner.value.substring(t.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),i}_parse(e){return this._parseEscaped(e)||this._parseTabstopOrVariableName(e)||this._parseComplexPlaceholder(e)||this._parseComplexVariable(e)||this._parseAnything(e)}_parseEscaped(e){let t;return(t=this._accept(5,!0))?(t=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||t,e.appendChild(new cl(t)),!0):!1}_parseTabstopOrVariableName(e){let t;const i=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new jc(Number(t)):new iN(t)),!0):this._backTo(i)}_parseComplexPlaceholder(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(i);const o=new jc(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(o),!0;if(!this._parse(o))return e.appendChild(new cl("${"+t+":")),o.children.forEach(e.appendChild,e),!0}else if(o.index>0&&this._accept(7)){const s=new P2;for(;;){if(this._parseChoiceElement(s)){if(this._accept(2))continue;if(this._accept(7)&&(o.appendChild(s),this._accept(4)))return e.appendChild(o),!0}return this._backTo(i),!1}}else return this._accept(6)?this._parseTransform(o)?(e.appendChild(o),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(o),!0):this._backTo(i)}_parseChoiceElement(e){const t=this._token,i=[];for(;!(this._token.type===2||this._token.type===7);){let r;if((r=this._accept(5,!0))?r=this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||r:r=this._accept(void 0,!0),!r)return this._backTo(t),!1;i.push(r)}return i.length===0?(this._backTo(t),!1):(e.appendChild(new cl(i.join(""))),!0)}_parseComplexVariable(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(i);const o=new iN(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(o),!0;if(!this._parse(o))return e.appendChild(new cl("${"+t+":")),o.children.forEach(e.appendChild,e),!0}else return this._accept(6)?this._parseTransform(o)?(e.appendChild(o),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(o),!0):this._backTo(i)}_parseTransform(e){const t=new sK;let i="",r="";for(;!this._accept(6);){let o;if(o=this._accept(5,!0)){o=this._accept(6,!0)||o,i+=o;continue}if(this._token.type!==14){i+=this._accept(void 0,!0);continue}return!1}for(;!this._accept(6);){let o;if(o=this._accept(5,!0)){o=this._accept(5,!0)||this._accept(6,!0)||o,t.appendChild(new cl(o));continue}if(!(this._parseFormatString(t)||this._parseAnything(t)))return!1}for(;!this._accept(4);){if(this._token.type!==14){r+=this._accept(void 0,!0);continue}return!1}try{t.regexp=new RegExp(i,r)}catch{return!1}return e.transform=t,!0}_parseFormatString(e){const t=this._token;if(!this._accept(0))return!1;let i=!1;this._accept(3)&&(i=!0);const r=this._accept(8,!0);if(r)if(i){if(this._accept(4))return e.appendChild(new Kh(Number(r))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new Kh(Number(r))),!0;else return this._backTo(t),!1;if(this._accept(6)){const o=this._accept(9,!0);return!o||!this._accept(4)?(this._backTo(t),!1):(e.appendChild(new Kh(Number(r),o)),!0)}else if(this._accept(11)){const o=this._until(4);if(o)return e.appendChild(new Kh(Number(r),void 0,o,void 0)),!0}else if(this._accept(12)){const o=this._until(4);if(o)return e.appendChild(new Kh(Number(r),void 0,void 0,o)),!0}else if(this._accept(13)){const o=this._until(1);if(o){const s=this._until(4);if(s)return e.appendChild(new Kh(Number(r),void 0,o,s)),!0}}else{const o=this._until(4);if(o)return e.appendChild(new Kh(Number(r),void 0,void 0,o)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new cl(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}function Mwe(n,e,t){var i,r,o,s;return(typeof t.insertText=="string"?t.insertText==="":t.insertText.snippet==="")?{edits:(r=(i=t.additionalEdit)===null||i===void 0?void 0:i.edits)!==null&&r!==void 0?r:[]}:{edits:[...e.map(a=>new k0(n,{range:a,text:typeof t.insertText=="string"?Av.escape(t.insertText)+"$0":t.insertText.snippet,insertAsSnippet:!0})),...(s=(o=t.additionalEdit)===null||o===void 0?void 0:o.edits)!==null&&s!==void 0?s:[]]}}function kwe(n){var e;function t(a,l){return"mimeType"in a?a.mimeType===l.handledMimeType:!!l.kind&&a.kind.contains(l.kind)}const i=new Map;for(const a of n)for(const l of(e=a.yieldTo)!==null&&e!==void 0?e:[])for(const u of n)if(u!==a&&t(l,u)){let c=i.get(a);c||(c=[],i.set(a,c)),c.push(u)}if(!i.size)return Array.from(n);const r=new Set,o=[];function s(a){if(!a.length)return[];const l=a[0];if(o.includes(l))return a;if(r.has(l))return s(a.slice(1));let u=[];const c=i.get(l);return c&&(o.push(l),u=s(c),o.pop()),r.add(l),[...u,l,...s(a.slice(1))]}return s(Array.from(n))}const aK=Un("IEditorCancelService"),Twe=new St("cancellableOperation",!1,_("cancellableOperation","Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));qn(aK,class{constructor(){this._tokens=new WeakMap}add(n,e){let t=this._tokens.get(n);t||(t=n.invokeWithinContext(r=>{const o=Twe.bindTo(r.get(ln)),s=new ja;return{key:o,tokens:s}}),this._tokens.set(n,t));let i;return t.key.set(!0),i=t.tokens.push(e),()=>{i&&(i(),t.key.set(!t.tokens.isEmpty()),i=void 0)}}cancel(n){const e=this._tokens.get(n);if(!e)return;const t=e.tokens.pop();t&&(t.cancel(),e.key.set(!e.tokens.isEmpty()))}},1);class yIt extends fo{constructor(e,t){super(t),this.editor=e,this._unregister=e.invokeWithinContext(i=>i.get(aK).add(e,this))}dispose(){this._unregister(),super.dispose()}}gt(new class extends Ko{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:Twe})}runEditorCommand(n,e){n.get(aK).cancel(e)}});let Ewe=class Hee{constructor(e,t){if(this.flags=t,this.flags&1){const i=e.getModel();this.modelVersionId=i?pw("{0}#{1}",i.uri.toString(),i.getVersionId()):null}else this.modelVersionId=null;this.flags&4?this.position=e.getPosition():this.position=null,this.flags&2?this.selection=e.getSelection():this.selection=null,this.flags&8?(this.scrollLeft=e.getScrollLeft(),this.scrollTop=e.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(e){if(!(e instanceof Hee))return!1;const t=e;return!(this.modelVersionId!==t.modelVersionId||this.scrollLeft!==t.scrollLeft||this.scrollTop!==t.scrollTop||!this.position&&t.position||this.position&&!t.position||this.position&&t.position&&!this.position.equals(t.position)||!this.selection&&t.selection||this.selection&&!t.selection||this.selection&&t.selection&&!this.selection.equalsRange(t.selection))}validate(e){return this._equals(new Hee(e,this.flags))}};class T0 extends yIt{constructor(e,t,i,r){super(e,r),this._listener=new Je,t&4&&this._listener.add(e.onDidChangeCursorPosition(o=>{(!i||!J.containsPosition(i,o.position))&&this.cancel()})),t&2&&this._listener.add(e.onDidChangeCursorSelection(o=>{(!i||!J.containsRange(i,o.selection))&&this.cancel()})),t&8&&this._listener.add(e.onDidScrollChange(o=>this.cancel())),t&1&&(this._listener.add(e.onDidChangeModel(o=>this.cancel())),this._listener.add(e.onDidChangeModelContent(o=>this.cancel())))}dispose(){this._listener.dispose(),super.dispose()}}class lK extends fo{constructor(e,t){super(t),this._listener=e.onDidChangeContent(()=>this.cancel())}dispose(){this._listener.dispose(),super.dispose()}}var vIt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},CIt=function(n,e){return function(t,i){e(t,i,n)}};const SIt=vn.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:c0e,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}});class YW extends Fe{constructor(e,t,i,r,o){super(),this.typeId=e,this.editor=t,this.range=i,this.delegate=o,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(r),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(e){this.domNode=Ct(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=Ct("span.icon");this.domNode.append(t),t.classList.add(...sn.asClassNameArray(ut.loading),"codicon-modifier-spin");const i=()=>{const r=this.editor.getOption(67);this.domNode.style.height=`${r}px`,this.domNode.style.width=`${Math.ceil(.8*r)}px`};i(),this._register(this.editor.onDidChangeConfiguration(r=>{(r.hasChanged(52)||r.hasChanged(67))&&i()})),this._register(Ve(this.domNode,ot.CLICK,r=>{this.delegate.cancel()}))}getId(){return YW.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:{lineNumber:this.range.startLineNumber,column:this.range.startColumn},preference:[0]}}dispose(){super.dispose(),this.editor.removeContentWidget(this)}}YW.baseId="editor.widget.inlineProgressWidget";let UW=class extends Fe{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new Ns),this._currentWidget=new Ns,this._operationIdPool=0,this._currentDecorations=t.createDecorationsCollection()}async showWhile(e,t,i){const r=this._operationIdPool++;this._currentOperation=r,this.clear(),this._showPromise.value=Gb(()=>{const o=J.fromPositions(e);this._currentDecorations.set([{range:o,options:SIt}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(YW,this.id,this._editor,o,t,i))},this._showDelay);try{return await i}finally{this._currentOperation===r&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};UW=vIt([CIt(2,$t)],UW);const Bl=Un("openerService");function wIt(n){let e;const t=/^L?(\d+)(?:,(\d+))?(-L?(\d+)(?:,(\d+))?)?/.exec(n.fragment);return t&&(e={startLineNumber:parseInt(t[1]),startColumn:t[2]?parseInt(t[2]):1,endLineNumber:t[4]?parseInt(t[4]):void 0,endColumn:t[4]?t[5]?parseInt(t[5]):1:void 0},n=n.with({fragment:""})),{selection:e,uri:n}}var xIt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Rwe=function(n,e){return function(t,i){e(t,i,n)}},uK;let xf=uK=class{constructor(e,t,i){this._options=e,this._languageService=t,this._openerService=i,this._onDidRenderAsync=new be,this.onDidRenderAsync=this._onDidRenderAsync.event}dispose(){this._onDidRenderAsync.dispose()}render(e,t,i){if(!e)return{element:document.createElement("span"),dispose:()=>{}};const r=new Je,o=r.add(pW(e,{...this._getRenderOptions(e,r),...t},i));return o.element.classList.add("rendered-markdown"),{element:o.element,dispose:()=>r.dispose()}}_getRenderOptions(e,t){return{codeBlockRenderer:async(i,r)=>{var o,s,a;let l;i?l=this._languageService.getLanguageIdByLanguageName(i):this._options.editor&&(l=(o=this._options.editor.getModel())===null||o===void 0?void 0:o.getLanguageId()),l||(l=Pu);const u=await fwt(this._languageService,r,l),c=document.createElement("span");if(c.innerHTML=(a=(s=uK._ttpTokenizer)===null||s===void 0?void 0:s.createHTML(u))!==null&&a!==void 0?a:u,this._options.editor){const d=this._options.editor.getOption(50);Ts(c,d)}else this._options.codeBlockFontFamily&&(c.style.fontFamily=this._options.codeBlockFontFamily);return this._options.codeBlockFontSize!==void 0&&(c.style.fontSize=this._options.codeBlockFontSize),c},asyncRenderCallback:()=>this._onDidRenderAsync.fire(),actionHandler:{callback:i=>cK(this._openerService,i,e.isTrusted),disposables:t}}}};xf._ttpTokenizer=jg("tokenizeToString",{createHTML(n){return n}}),xf=uK=xIt([Rwe(1,br),Rwe(2,Bl)],xf);async function cK(n,e,t){try{return await n.open(e,{fromUserGesture:!0,allowContributedOpeners:!0,allowCommands:_It(t)})}catch(i){return yn(i),!1}}function _It(n){return n===!0?!0:n&&Array.isArray(n.enabledCommands)?n.enabledCommands:!1}var LIt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Zwe=function(n,e){return function(t,i){e(t,i,n)}},KW;let dl=KW=class{static get(e){return e.getContribution(KW.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new Ns,this._messageListeners=new Je,this._mouseOverMessage=!1,this._editor=e,this._visible=KW.MESSAGE_VISIBLE.bindTo(t)}dispose(){var e;(e=this._message)===null||e===void 0||e.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){Ml(Yh(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=Yh(e)?pW(e,{actionHandler:{callback:r=>{this.closeMessage(),cK(this._openerService,r,Yh(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new Wwe(this._editor,t,typeof e=="string"?e:this._message.element),this._messageListeners.add(lt.debounce(this._editor.onDidBlurEditorText,(r,o)=>o,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&ps(js(),this._messageWidget.value.getDomNode())||this.closeMessage()})),this._messageListeners.add(this._editor.onDidChangeCursorPosition(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidDispose(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeModel(()=>this.closeMessage())),this._messageListeners.add(Ve(this._messageWidget.value.getDomNode(),ot.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(Ve(this._messageWidget.value.getDomNode(),ot.MOUSE_LEAVE,()=>this._mouseOverMessage=!1,!0));let i;this._messageListeners.add(this._editor.onMouseMove(r=>{r.target.position&&(i?i.containsPosition(r.target.position)||this.closeMessage():i=new J(t.lineNumber-3,1,r.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(Wwe.fadeOut(this._messageWidget.value))}};dl.ID="editor.contrib.messageController",dl.MESSAGE_VISIBLE=new St("messageVisible",!1,_("messageVisible","Whether the editor is currently showing an inline message")),dl=KW=LIt([Zwe(1,ln),Zwe(2,Bl)],dl);const IIt=Ko.bindToContribution(dl.get);gt(new IIt({id:"leaveEditorMessage",precondition:dl.MESSAGE_VISIBLE,handler:n=>n.closeMessage(),kbOpts:{weight:130,primary:9}}));let Wwe=class{static fadeOut(e){const t=()=>{e.dispose(),clearTimeout(i),e.getDomNode().removeEventListener("animationend",t)},i=setTimeout(t,110);return e.getDomNode().addEventListener("animationend",t),e.getDomNode().classList.add("fadeOut"),{dispose:t}}constructor(e,{lineNumber:t,column:i},r){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(t,t,0),this._position={lineNumber:t,column:i},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";const o=document.createElement("div");o.classList.add("anchor","top"),this._domNode.appendChild(o);const s=document.createElement("div");typeof r=="string"?(s.classList.add("message"),s.textContent=r):(r.classList.add("message"),s.appendChild(r)),this._domNode.appendChild(s);const a=document.createElement("div");a.classList.add("anchor","below"),this._domNode.appendChild(a),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(e){this._domNode.classList.toggle("below",e===2)}};vi(dl.ID,dl,4);const FIt={ctrlCmd:!1,alt:!1};var O2;(function(n){n[n.Blur=1]="Blur",n[n.Gesture=2]="Gesture",n[n.Other=3]="Other"})(O2||(O2={}));var _f;(function(n){n[n.NONE=0]="NONE",n[n.FIRST=1]="FIRST",n[n.SECOND=2]="SECOND",n[n.LAST=3]="LAST"})(_f||(_f={}));const Vv=Un("quickInputService");Re.white.toString(),Re.white.toString();class JW extends Fe{get onDidClick(){return this._onDidClick.event}constructor(e,t){super(),this._label="",this._onDidClick=this._register(new be),this._onDidEscape=this._register(new be),this.options=t,this._element=document.createElement("a"),this._element.classList.add("monaco-button"),this._element.tabIndex=0,this._element.setAttribute("role","button"),this._element.classList.toggle("secondary",!!t.secondary);const i=t.secondary?t.buttonSecondaryBackground:t.buttonBackground,r=t.secondary?t.buttonSecondaryForeground:t.buttonForeground;this._element.style.color=r||"",this._element.style.backgroundColor=i||"",t.supportShortLabel&&(this._labelShortElement=document.createElement("div"),this._labelShortElement.classList.add("monaco-button-label-short"),this._element.appendChild(this._labelShortElement),this._labelElement=document.createElement("div"),this._labelElement.classList.add("monaco-button-label"),this._element.appendChild(this._labelElement),this._element.classList.add("monaco-text-button-with-short-label")),typeof t.title=="string"&&this.setTitle(t.title),typeof t.ariaLabel=="string"&&this._element.setAttribute("aria-label",t.ariaLabel),e.appendChild(this._element),this._register(nr.addTarget(this._element)),[ot.CLICK,tr.Tap].forEach(o=>{this._register(Ve(this._element,o,s=>{if(!this.enabled){An.stop(s);return}this._onDidClick.fire(s)}))}),this._register(Ve(this._element,ot.KEY_DOWN,o=>{const s=new or(o);let a=!1;this.enabled&&(s.equals(3)||s.equals(10))?(this._onDidClick.fire(o),a=!0):s.equals(9)&&(this._onDidEscape.fire(o),this._element.blur(),a=!0),a&&An.stop(s,!0)})),this._register(Ve(this._element,ot.MOUSE_OVER,o=>{this._element.classList.contains("disabled")||this.updateBackground(!0)})),this._register(Ve(this._element,ot.MOUSE_OUT,o=>{this.updateBackground(!1)})),this.focusTracker=this._register(Dh(this._element)),this._register(this.focusTracker.onDidFocus(()=>{this.enabled&&this.updateBackground(!0)})),this._register(this.focusTracker.onDidBlur(()=>{this.enabled&&this.updateBackground(!1)}))}dispose(){super.dispose(),this._element.remove()}getContentElements(e){const t=[];for(let i of S0(e))if(typeof i=="string"){if(i=i.trim(),i==="")continue;const r=document.createElement("span");r.textContent=i,t.push(r)}else t.push(i);return t}updateBackground(e){let t;this.options.secondary?t=e?this.options.buttonSecondaryHoverBackground:this.options.buttonSecondaryBackground:t=e?this.options.buttonHoverBackground:this.options.buttonBackground,t&&(this._element.style.backgroundColor=t)}get element(){return this._element}set label(e){var t;if(this._label===e||Yh(this._label)&&Yh(e)&&V2t(this._label,e))return;this._element.classList.add("monaco-text-button");const i=this.options.supportShortLabel?this._labelElement:this._element;if(Yh(e)){const o=pW(e,{inline:!0});o.dispose();const s=(t=o.element.querySelector("p"))===null||t===void 0?void 0:t.innerHTML;if(s){const a=e0e(s,{ADD_TAGS:["b","i","u","code","span"],ALLOWED_ATTR:["class"],RETURN_TRUSTED_TYPE:!0});i.innerHTML=a}else Qs(i)}else this.options.supportIcons?Qs(i,...this.getContentElements(e)):i.textContent=e;let r="";typeof this.options.title=="string"?r=this.options.title:this.options.title&&(r=ext(e)),this.setTitle(r),typeof this.options.ariaLabel=="string"?this._element.setAttribute("aria-label",this.options.ariaLabel):this.options.ariaLabel&&this._element.setAttribute("aria-label",r),this._label=e}get label(){return this._label}set icon(e){this._element.classList.add(...sn.asClassNameArray(e))}set enabled(e){e?(this._element.classList.remove("disabled"),this._element.setAttribute("aria-disabled",String(!1)),this._element.tabIndex=0):(this._element.classList.add("disabled"),this._element.setAttribute("aria-disabled",String(!0)))}get enabled(){return!this._element.classList.contains("disabled")}setTitle(e){var t;!this._hover&&e!==""?this._hover=this._register(Wd((t=this.options.hoverDelegate)!==null&&t!==void 0?t:Pl("mouse"),this._element,e)):this._hover&&this._hover.update(e)}}var Awe=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},oN=function(n,e){return function(t,i){e(t,i,n)}},dK;let jW=dK=class extends Fe{constructor(e,t,i,r,o,s,a,l,u,c){super(),this.typeId=e,this.editor=t,this.showCommand=r,this.range=o,this.edits=s,this.onSelectNewEdit=a,this._contextMenuService=l,this._keybindingService=c,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=i.bindTo(u),this.visibleContext.set(!0),this._register(jt(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(jt(()=>this.editor.removeContentWidget(this))),this._register(this.editor.onDidChangeCursorPosition(d=>{o.containsPosition(d.position)||this.dispose()})),this._register(lt.runAndSubscribe(c.onDidUpdateKeybindings,()=>{this._updateButtonTitle()}))}_updateButtonTitle(){var e;const t=(e=this._keybindingService.lookupKeybinding(this.showCommand.id))===null||e===void 0?void 0:e.getLabel();this.button.element.title=this.showCommand.label+(t?` (${t})`:"")}create(){this.domNode=Ct(".post-edit-widget"),this.button=this._register(new JW(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(Ve(this.domNode,ot.CLICK,()=>this.showSelector()))}getId(){return dK.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=po(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>xw({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}};jW.baseId="editor.widget.postEditWidget",jW=dK=Awe([oN(7,fu),oN(8,ln),oN(9,Oi)],jW);let QW=class extends Fe{constructor(e,t,i,r,o,s){super(),this._id=e,this._editor=t,this._visibleContext=i,this._showCommand=r,this._instantiationService=o,this._bulkEditService=s,this._currentWidget=this._register(new Ns),this._register(lt.any(t.onDidChangeModel,t.onDidChangeModelContent)(()=>this.clear()))}async applyEditAndShowIfNeeded(e,t,i,r,o){const s=this._editor.getModel();if(!s||!e.length)return;const a=t.allEdits.at(t.activeEditIndex);if(!a)return;const l=await r(a,o),u=Mwe(s.uri,e,l),c=e[0],d=s.deltaDecorations([],[{range:c,options:{description:"paste-line-suffix",stickiness:0}}]);let h,m;try{h=await this._bulkEditService.apply(u,{editor:this._editor,token:o}),m=s.getDecorationRange(d[0])}finally{s.deltaDecorations(d,[])}i&&h.isApplied&&t.allEdits.length>1&&this.show(m??c,t,async f=>{const g=this._editor.getModel();g&&(await g.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:f,allEdits:t.allEdits},i,r,o))})}show(e,t,i){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(jW,this._id,this._editor,this._visibleContext,this._showCommand,e,t,i))}clear(){this._currentWidget.clear()}tryShowSelector(){var e;(e=this._currentWidget.value)===null||e===void 0||e.showSelector()}};QW=Awe([oN(4,$t),oN(5,tN)],QW);var DIt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},B2=function(n,e){return function(t,i){e(t,i,n)}},Gv;const Vwe="editor.changePasteType",hK=new St("pasteWidgetVisible",!1,_("pasteWidgetVisible","Whether the paste widget is showing")),mK="application/vnd.code.copyMetadata";let Lf=Gv=class extends Fe{static get(e){return e.getContribution(Gv.ID)}constructor(e,t,i,r,o,s,a){super(),this._bulkEditService=i,this._clipboardService=r,this._languageFeaturesService=o,this._quickInputService=s,this._progressService=a,this._editor=e;const l=e.getContainerDomNode();this._register(Ve(l,"copy",u=>this.handleCopy(u))),this._register(Ve(l,"cut",u=>this.handleCopy(u))),this._register(Ve(l,"paste",u=>this.handlePaste(u),!0)),this._pasteProgressManager=this._register(new UW("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance(QW,"pasteIntoEditor",e,hK,{id:Vwe,label:_("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},Sw().execCommand("paste")}finally{this._pasteAsActionContext=void 0}}clearWidgets(){this._postPasteWidgetManager.clear()}isPasteAsEnabled(){return this._editor.getOption(85).enabled&&!this._editor.getOption(91)}async finishedPaste(){await this._currentPasteOperation}handleCopy(e){var t,i;if(!this._editor.hasTextFocus()||(Vb&&this._clipboardService.writeResources([]),!e.clipboardData||!this.isPasteAsEnabled()))return;const r=this._editor.getModel(),o=this._editor.getSelections();if(!r||!(o!=null&&o.length))return;const s=this._editor.getOption(37);let a=o;const l=o.length===1&&o[0].isEmpty();if(l){if(!s)return;a=[new J(a[0].startLineNumber,1,a[0].startLineNumber,1+r.getLineLength(a[0].startLineNumber))]}const u=(t=this._editor._getViewModel())===null||t===void 0?void 0:t.getPlainTextToCopy(o,s,ha),d={multicursorText:Array.isArray(u)?u:null,pasteOnNewLine:l,mode:null},h=this._languageFeaturesService.documentPasteEditProvider.ordered(r).filter(y=>!!y.prepareDocumentPaste);if(!h.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:d});return}const m=xwe(e.clipboardData),f=h.flatMap(y=>{var C;return(C=y.copyMimeTypes)!==null&&C!==void 0?C:[]}),g=PW();this.setCopyMetadata(e.clipboardData,{id:g,providerCopyMimeTypes:f,defaultPastePayload:d});const b=rs(async y=>{const C=Ym(await Promise.all(h.map(async w=>{try{return await w.prepareDocumentPaste(r,a,m,y)}catch{return}})));C.reverse();for(const w of C)for(const[x,L]of w)m.replace(x,L);return m});(i=Gv._currentCopyOperation)===null||i===void 0||i.dataTransferPromise.cancel(),Gv._currentCopyOperation={handle:g,dataTransferPromise:b}}async handlePaste(e){var t,i,r,o;if(!e.clipboardData||!this._editor.hasTextFocus())return;(t=dl.get(this._editor))===null||t===void 0||t.closeMessage(),(i=this._currentPasteOperation)===null||i===void 0||i.cancel(),this._currentPasteOperation=void 0;const s=this._editor.getModel(),a=this._editor.getSelections();if(!(a!=null&&a.length)||!s||!this.isPasteAsEnabled()&&!this._pasteAsActionContext)return;const l=this.fetchCopyMetadata(e),u=_we(e.clipboardData);u.delete(mK);const c=[...e.clipboardData.types,...(r=l==null?void 0:l.providerCopyMimeTypes)!==null&&r!==void 0?r:[],Pr.uriList],d=this._languageFeaturesService.documentPasteEditProvider.ordered(s).filter(h=>{var m,f;const g=(m=this._pasteAsActionContext)===null||m===void 0?void 0:m.preferred;return g&&h.providedPasteEditKinds&&!this.providerMatchesPreference(h,g)?!1:(f=h.pasteMimeTypes)===null||f===void 0?void 0:f.some(b=>Cwe(b,c))});if(!d.length){!((o=this._pasteAsActionContext)===null||o===void 0)&&o.preferred&&this.showPasteAsNoEditMessage(a,this._pasteAsActionContext.preferred);return}e.preventDefault(),e.stopImmediatePropagation(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferred,d,a,u,l):this.doPasteInline(d,a,u,l,e)}showPasteAsNoEditMessage(e,t){var i;(i=dl.get(this._editor))===null||i===void 0||i.showMessage(_("pasteAsError","No paste edits for '{0}' found",t instanceof Vi?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,i,r,o){const s=rs(async a=>{const l=this._editor;if(!l.hasModel())return;const u=l.getModel(),c=new T0(l,3,void 0,a);try{if(await this.mergeInDataFromCopy(i,r,c.token),c.token.isCancellationRequested)return;const d=e.filter(f=>this.isSupportedPasteProvider(f,i));if(!d.length||d.length===1&&d[0]instanceof Sp)return this.applyDefaultPasteHandler(i,r,c.token,o);const h={triggerKind:BF.Automatic},m=await this.getPasteEdits(d,i,u,t,h,c.token);if(c.token.isCancellationRequested)return;if(m.length===1&&m[0].provider instanceof Sp)return this.applyDefaultPasteHandler(i,r,c.token,o);if(m.length){const f=l.getOption(85).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:m},f,async(g,b)=>{var y,C;const w=await((C=(y=g.provider).resolveDocumentPasteEdit)===null||C===void 0?void 0:C.call(y,g,b));return w&&(g.additionalEdit=w.additionalEdit),g},c.token)}await this.applyDefaultPasteHandler(i,r,c.token,o)}finally{c.dispose(),this._currentPasteOperation===s&&(this._currentPasteOperation=void 0)}});this._pasteProgressManager.showWhile(t[0].getEndPosition(),_("pasteIntoEditorProgress","Running paste handlers. Click to cancel"),s),this._currentPasteOperation=s}showPasteAsPick(e,t,i,r,o){const s=rs(async a=>{const l=this._editor;if(!l.hasModel())return;const u=l.getModel(),c=new T0(l,3,void 0,a);try{if(await this.mergeInDataFromCopy(r,o,c.token),c.token.isCancellationRequested)return;let d=t.filter(b=>this.isSupportedPasteProvider(b,r,e));e&&(d=d.filter(b=>this.providerMatchesPreference(b,e)));const h={triggerKind:BF.PasteAs,only:e&&e instanceof Vi?e:void 0};let m=await this.getPasteEdits(d,r,u,i,h,c.token);if(c.token.isCancellationRequested)return;if(e&&(m=m.filter(b=>e instanceof Vi?e.contains(b.kind):e.providerId===b.provider.id)),!m.length){h.only&&this.showPasteAsNoEditMessage(i,h.only);return}let f;if(e)f=m.at(0);else{const b=await this._quickInputService.pick(m.map(y=>{var C;return{label:y.title,description:(C=y.kind)===null||C===void 0?void 0:C.value,edit:y}}),{placeHolder:_("pasteAsPickerPlaceholder","Select Paste Action")});f=b==null?void 0:b.edit}if(!f)return;const g=Mwe(u.uri,i,f);await this._bulkEditService.apply(g,{editor:this._editor})}finally{c.dispose(),this._currentPasteOperation===s&&(this._currentPasteOperation=void 0)}});this._progressService.withProgress({location:10,title:_("pasteAsProgress","Running paste handlers")},()=>s)}setCopyMetadata(e,t){e.setData(mK,JSON.stringify(t))}fetchCopyMetadata(e){var t;if(!e.clipboardData)return;const i=e.clipboardData.getData(mK);if(i)try{return JSON.parse(i)}catch{return}const[r,o]=T6.getTextData(e.clipboardData);if(o)return{defaultPastePayload:{mode:o.mode,multicursorText:(t=o.multicursorText)!==null&&t!==void 0?t:null,pasteOnNewLine:!!o.isFromEmptySelection}}}async mergeInDataFromCopy(e,t,i){var r;if(t!=null&&t.id&&((r=Gv._currentCopyOperation)===null||r===void 0?void 0:r.handle)===t.id){const o=await Gv._currentCopyOperation.dataTransferPromise;if(i.isCancellationRequested)return;for(const[s,a]of o)e.replace(s,a)}if(!e.has(Pr.uriList)){const o=await this._clipboardService.readResources();if(i.isCancellationRequested)return;o.length&&e.append(Pr.uriList,$U(BW.create(o)))}}async getPasteEdits(e,t,i,r,o,s){const a=await UI(Promise.all(e.map(async u=>{var c,d;try{const h=await((c=u.provideDocumentPasteEdits)===null||c===void 0?void 0:c.call(u,i,r,t,o,s));return(d=h==null?void 0:h.edits)===null||d===void 0?void 0:d.map(m=>({...m,provider:u}))}catch{}})),s),l=Ym(a??[]).flat().filter(u=>!o.only||o.only.contains(u.kind));return kwe(l)}async applyDefaultPasteHandler(e,t,i,r){var o,s,a,l;const u=(o=e.get(Pr.text))!==null&&o!==void 0?o:e.get("text"),c=(s=await(u==null?void 0:u.asString()))!==null&&s!==void 0?s:"";if(i.isCancellationRequested)return;const d={clipboardEvent:r,text:c,pasteOnNewLine:(a=t==null?void 0:t.defaultPastePayload.pasteOnNewLine)!==null&&a!==void 0?a:!1,multicursorText:(l=t==null?void 0:t.defaultPastePayload.multicursorText)!==null&&l!==void 0?l:null,mode:null};this._editor.trigger("keyboard","paste",d)}isSupportedPasteProvider(e,t,i){var r;return!((r=e.pasteMimeTypes)===null||r===void 0)&&r.some(o=>t.matches(o))?!i||this.providerMatchesPreference(e,i):!1}providerMatchesPreference(e,t){return t instanceof Vi?e.providedPasteEditKinds?e.providedPasteEditKinds.some(i=>t.contains(i)):!0:e.id===t.providerId}};Lf.ID="editor.contrib.copyPasteActionController",Lf=Gv=DIt([B2(1,$t),B2(2,tN),B2(3,gp),B2(4,Rt),B2(5,Vv),B2(6,twe)],Lf);const Xv="9_cutcopypaste",NIt=wh||document.queryCommandSupported("cut"),Gwe=wh||document.queryCommandSupported("copy"),MIt=typeof navigator.clipboard>"u"||Ic?document.queryCommandSupported("paste"):!0;function fK(n){return n.register(),n}const kIt=NIt?fK(new Iw({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:wh?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:Q.MenubarEditMenu,group:"2_ccp",title:_({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:Q.EditorContext,group:Xv,title:_("actions.clipboard.cutLabel","Cut"),when:ne.writable,order:1},{menuId:Q.CommandPalette,group:"",title:_("actions.clipboard.cutLabel","Cut"),order:1},{menuId:Q.SimpleEditorContext,group:Xv,title:_("actions.clipboard.cutLabel","Cut"),when:ne.writable,order:1}]})):void 0,TIt=Gwe?fK(new Iw({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:wh?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:Q.MenubarEditMenu,group:"2_ccp",title:_({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:Q.EditorContext,group:Xv,title:_("actions.clipboard.copyLabel","Copy"),order:2},{menuId:Q.CommandPalette,group:"",title:_("actions.clipboard.copyLabel","Copy"),order:1},{menuId:Q.SimpleEditorContext,group:Xv,title:_("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;ss.appendMenuItem(Q.MenubarEditMenu,{submenu:Q.MenubarCopy,title:oi("copy as","Copy As"),group:"2_ccp",order:3}),ss.appendMenuItem(Q.EditorContext,{submenu:Q.EditorContextCopy,title:oi("copy as","Copy As"),group:Xv,order:3}),ss.appendMenuItem(Q.EditorContext,{submenu:Q.EditorContextShare,title:oi("share","Share"),group:"11_share",order:-1,when:Oe.and(Oe.notEquals("resourceScheme","output"),ne.editorTextFocus)}),ss.appendMenuItem(Q.EditorTitleContext,{submenu:Q.EditorTitleContextShare,title:oi("share","Share"),group:"11_share",order:-1}),ss.appendMenuItem(Q.ExplorerContext,{submenu:Q.ExplorerContextShare,title:oi("share","Share"),group:"11_share",order:-1});const gK=MIt?fK(new Iw({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:wh?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:Q.MenubarEditMenu,group:"2_ccp",title:_({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:Q.EditorContext,group:Xv,title:_("actions.clipboard.pasteLabel","Paste"),when:ne.writable,order:4},{menuId:Q.CommandPalette,group:"",title:_("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:Q.SimpleEditorContext,group:Xv,title:_("actions.clipboard.pasteLabel","Paste"),when:ne.writable,order:4}]})):void 0;class EIt extends Nt{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:_("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:ne.textInputFocus,primary:0,weight:100}})}run(e,t){!t.hasModel()||!t.getOption(37)&&t.getSelection().isEmpty()||(M6.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),M6.forceCopyWithSyntaxHighlighting=!1)}}function Xwe(n,e){n&&(n.addImplementation(1e4,"code-editor",(t,i)=>{const r=t.get(yi).getFocusedCodeEditor();if(r&&r.hasTextFocus()){const o=r.getOption(37),s=r.getSelection();return s&&s.isEmpty()&&!o||r.getContainerDomNode().ownerDocument.execCommand(e),!0}return!1}),n.addImplementation(0,"generic-dom",(t,i)=>(Sw().execCommand(e),!0)))}Xwe(kIt,"cut"),Xwe(TIt,"copy"),gK&&(gK.addImplementation(1e4,"code-editor",(n,e)=>{var t,i;const r=n.get(yi),o=n.get(gp),s=r.getFocusedCodeEditor();return s&&s.hasTextFocus()?s.getContainerDomNode().ownerDocument.execCommand("paste")?(i=(t=Lf.get(s))===null||t===void 0?void 0:t.finishedPaste())!==null&&i!==void 0?i:Promise.resolve():Vb?(async()=>{const l=await o.readText();if(l!==""){const u=AF.INSTANCE.get(l);let c=!1,d=null,h=null;u&&(c=s.getOption(37)&&!!u.isFromEmptySelection,d=typeof u.multicursorText<"u"?u.multicursorText:null,h=u.mode),s.trigger("keyboard","paste",{text:l,pasteOnNewLine:c,multicursorText:d,mode:h})}})():!0:!1}),gK.addImplementation(0,"generic-dom",(n,e)=>(Sw().execCommand("paste"),!0))),Gwe&&tt(EIt);const $W=Object.freeze({id:"editor",order:5,type:"object",title:_("editorConfigurationTitle","Editor"),scope:5}),qW={...$W,properties:{"editor.tabSize":{type:"number",default:pa.tabSize,minimum:1,markdownDescription:_("tabSize","The number of spaces a tab is equal to. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.indentSize":{anyOf:[{type:"string",enum:["tabSize"]},{type:"number",minimum:1}],default:"tabSize",markdownDescription:_("indentSize",'The number of spaces used for indentation or `"tabSize"` to use the value from `#editor.tabSize#`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.')},"editor.insertSpaces":{type:"boolean",default:pa.insertSpaces,markdownDescription:_("insertSpaces","Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.detectIndentation":{type:"boolean",default:pa.detectIndentation,markdownDescription:_("detectIndentation","Controls whether {0} and {1} will be automatically detected when a file is opened based on the file contents.","`#editor.tabSize#`","`#editor.insertSpaces#`")},"editor.trimAutoWhitespace":{type:"boolean",default:pa.trimAutoWhitespace,description:_("trimAutoWhitespace","Remove trailing auto inserted whitespace.")},"editor.largeFileOptimizations":{type:"boolean",default:pa.largeFileOptimizations,description:_("largeFileOptimizations","Special handling for large files to disable certain memory intensive features.")},"editor.wordBasedSuggestions":{enum:["off","currentDocument","matchingDocuments","allDocuments"],default:"matchingDocuments",enumDescriptions:[_("wordBasedSuggestions.off","Turn off Word Based Suggestions."),_("wordBasedSuggestions.currentDocument","Only suggest words from the active document."),_("wordBasedSuggestions.matchingDocuments","Suggest words from all open documents of the same language."),_("wordBasedSuggestions.allDocuments","Suggest words from all open documents.")],description:_("wordBasedSuggestions","Controls whether completions should be computed based on words in the document and from which documents they are computed.")},"editor.semanticHighlighting.enabled":{enum:[!0,!1,"configuredByTheme"],enumDescriptions:[_("semanticHighlighting.true","Semantic highlighting enabled for all color themes."),_("semanticHighlighting.false","Semantic highlighting disabled for all color themes."),_("semanticHighlighting.configuredByTheme","Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.")],default:"configuredByTheme",description:_("semanticHighlighting.enabled","Controls whether the semanticHighlighting is shown for the languages that support it.")},"editor.stablePeek":{type:"boolean",default:!1,markdownDescription:_("stablePeek","Keep peek editors open even when double-clicking their content or when hitting `Escape`.")},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:_("maxTokenizationLineLength","Lines above this length will not be tokenized for performance reasons")},"editor.experimental.asyncTokenization":{type:"boolean",default:!1,description:_("editor.experimental.asyncTokenization","Controls whether the tokenization should happen asynchronously on a web worker."),tags:["experimental"]},"editor.experimental.asyncTokenizationLogging":{type:"boolean",default:!1,description:_("editor.experimental.asyncTokenizationLogging","Controls whether async tokenization should be logged. For debugging only.")},"editor.experimental.asyncTokenizationVerification":{type:"boolean",default:!1,description:_("editor.experimental.asyncTokenizationVerification","Controls whether async tokenization should be verified against legacy background tokenization. Might slow down tokenization. For debugging only."),tags:["experimental"]},"editor.language.brackets":{type:["array","null"],default:null,description:_("schema.brackets","Defines the bracket symbols that increase or decrease the indentation."),items:{type:"array",items:[{type:"string",description:_("schema.openBracket","The opening bracket character or string sequence.")},{type:"string",description:_("schema.closeBracket","The closing bracket character or string sequence.")}]}},"editor.language.colorizedBracketPairs":{type:["array","null"],default:null,description:_("schema.colorizedBracketPairs","Defines the bracket pairs that are colorized by their nesting level if bracket pair colorization is enabled."),items:{type:"array",items:[{type:"string",description:_("schema.openBracket","The opening bracket character or string sequence.")},{type:"string",description:_("schema.closeBracket","The closing bracket character or string sequence.")}]}},"diffEditor.maxComputationTime":{type:"number",default:Sa.maxComputationTime,description:_("maxComputationTime","Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.")},"diffEditor.maxFileSize":{type:"number",default:Sa.maxFileSize,description:_("maxFileSize","Maximum file size in MB for which to compute diffs. Use 0 for no limit.")},"diffEditor.renderSideBySide":{type:"boolean",default:Sa.renderSideBySide,description:_("sideBySide","Controls whether the diff editor shows the diff side by side or inline.")},"diffEditor.renderSideBySideInlineBreakpoint":{type:"number",default:Sa.renderSideBySideInlineBreakpoint,description:_("renderSideBySideInlineBreakpoint","If the diff editor width is smaller than this value, the inline view is used.")},"diffEditor.useInlineViewWhenSpaceIsLimited":{type:"boolean",default:Sa.useInlineViewWhenSpaceIsLimited,description:_("useInlineViewWhenSpaceIsLimited","If enabled and the editor width is too small, the inline view is used.")},"diffEditor.renderMarginRevertIcon":{type:"boolean",default:Sa.renderMarginRevertIcon,description:_("renderMarginRevertIcon","When enabled, the diff editor shows arrows in its glyph margin to revert changes.")},"diffEditor.renderGutterMenu":{type:"boolean",default:Sa.renderGutterMenu,description:_("renderGutterMenu","When enabled, the diff editor shows a special gutter for revert and stage actions.")},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:Sa.ignoreTrimWhitespace,description:_("ignoreTrimWhitespace","When enabled, the diff editor ignores changes in leading or trailing whitespace.")},"diffEditor.renderIndicators":{type:"boolean",default:Sa.renderIndicators,description:_("renderIndicators","Controls whether the diff editor shows +/- indicators for added/removed changes.")},"diffEditor.codeLens":{type:"boolean",default:Sa.diffCodeLens,description:_("codeLens","Controls whether the editor shows CodeLens.")},"diffEditor.wordWrap":{type:"string",enum:["off","on","inherit"],default:Sa.diffWordWrap,markdownEnumDescriptions:[_("wordWrap.off","Lines will never wrap."),_("wordWrap.on","Lines will wrap at the viewport width."),_("wordWrap.inherit","Lines will wrap according to the {0} setting.","`#editor.wordWrap#`")]},"diffEditor.diffAlgorithm":{type:"string",enum:["legacy","advanced"],default:Sa.diffAlgorithm,markdownEnumDescriptions:[_("diffAlgorithm.legacy","Uses the legacy diffing algorithm."),_("diffAlgorithm.advanced","Uses the advanced diffing algorithm.")],tags:["experimental"]},"diffEditor.hideUnchangedRegions.enabled":{type:"boolean",default:Sa.hideUnchangedRegions.enabled,markdownDescription:_("hideUnchangedRegions.enabled","Controls whether the diff editor shows unchanged regions.")},"diffEditor.hideUnchangedRegions.revealLineCount":{type:"integer",default:Sa.hideUnchangedRegions.revealLineCount,markdownDescription:_("hideUnchangedRegions.revealLineCount","Controls how many lines are used for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.minimumLineCount":{type:"integer",default:Sa.hideUnchangedRegions.minimumLineCount,markdownDescription:_("hideUnchangedRegions.minimumLineCount","Controls how many lines are used as a minimum for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.contextLineCount":{type:"integer",default:Sa.hideUnchangedRegions.contextLineCount,markdownDescription:_("hideUnchangedRegions.contextLineCount","Controls how many lines are used as context when comparing unchanged regions."),minimum:1},"diffEditor.experimental.showMoves":{type:"boolean",default:Sa.experimental.showMoves,markdownDescription:_("showMoves","Controls whether the diff editor should show detected code moves.")},"diffEditor.experimental.showEmptyDecorations":{type:"boolean",default:Sa.experimental.showEmptyDecorations,description:_("showEmptyDecorations","Controls whether the diff editor shows empty decorations to see where characters got inserted or deleted.")}}};function RIt(n){return typeof n.type<"u"||typeof n.anyOf<"u"}for(const n of zw){const e=n.schema;if(typeof e<"u")if(RIt(e))qW.properties[`editor.${n.name}`]=e;else for(const t in e)Object.hasOwnProperty.call(e,t)&&(qW.properties[t]=e[t])}let e3=null;function Pwe(){return e3===null&&(e3=Object.create(null),Object.keys(qW.properties).forEach(n=>{e3[n]=!0})),e3}function ZIt(n){return Pwe()[`editor.${n}`]||!1}function WIt(n){return Pwe()[`diffEditor.${n}`]||!1}Do.as(Eh.Configuration).registerConfiguration(qW);const xr=new class{constructor(){this.QuickFix=new Vi("quickfix"),this.Refactor=new Vi("refactor"),this.RefactorExtract=this.Refactor.append("extract"),this.RefactorInline=this.Refactor.append("inline"),this.RefactorMove=this.Refactor.append("move"),this.RefactorRewrite=this.Refactor.append("rewrite"),this.Notebook=new Vi("notebook"),this.Source=new Vi("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var gu;(function(n){n.Refactor="refactor",n.RefactorPreview="refactor preview",n.Lightbulb="lightbulb",n.Default="other (default)",n.SourceAction="source action",n.QuickFix="quick fix action",n.FixAll="fix all",n.OrganizeImports="organize imports",n.AutoFix="auto fix",n.QuickFixHover="quick fix hover window",n.OnSave="save participants",n.ProblemsView="problems view"})(gu||(gu={}));function AIt(n,e){return!(n.include&&!n.include.intersects(e)||n.excludes&&n.excludes.some(t=>Owe(e,t,n.include))||!n.includeSourceActions&&xr.Source.contains(e))}function VIt(n,e){const t=e.kind?new Vi(e.kind):void 0;return!(n.include&&(!t||!n.include.contains(t))||n.excludes&&t&&n.excludes.some(i=>Owe(t,i,n.include))||!n.includeSourceActions&&t&&xr.Source.contains(t)||n.onlyIncludePreferredActions&&!e.isPreferred)}function Owe(n,e,t){return!(!e.contains(n)||t&&e.contains(t))}class If{static fromUser(e,t){return!e||typeof e!="object"?new If(t.kind,t.apply,!1):new If(If.getKindFromUser(e,t.kind),If.getApplyFromUser(e,t.apply),If.getPreferredUser(e))}static getApplyFromUser(e,t){switch(typeof e.apply=="string"?e.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return t}}static getKindFromUser(e,t){return typeof e.kind=="string"?new Vi(e.kind):t}static getPreferredUser(e){return typeof e.preferred=="boolean"?e.preferred:!1}constructor(e,t,i){this.kind=e,this.apply=t,this.preferred=i}}class GIt{constructor(e,t,i){this.action=e,this.provider=t,this.highlightRange=i}async resolve(e){var t;if(!((t=this.provider)===null||t===void 0)&&t.resolveCodeAction&&!this.action.edit){let i;try{i=await this.provider.resolveCodeAction(this.action,e)}catch(r){qr(r)}i&&(this.action.edit=i.edit)}return this}}const Bwe="editor.action.codeAction",pK="editor.action.quickFix",zwe="editor.action.autoFix",Hwe="editor.action.refactor",Ywe="editor.action.sourceAction",bK="editor.action.organizeImports",yK="editor.action.fixAll";class sN extends Fe{static codeActionsPreferredComparator(e,t){return e.isPreferred&&!t.isPreferred?-1:!e.isPreferred&&t.isPreferred?1:0}static codeActionsComparator({action:e},{action:t}){return e.isAI&&!t.isAI?1:!e.isAI&&t.isAI?-1:ga(e.diagnostics)?ga(t.diagnostics)?sN.codeActionsPreferredComparator(e,t):-1:ga(t.diagnostics)?1:sN.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(sN.codeActionsComparator),this.validActions=this.allActions.filter(({action:r})=>!r.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&xr.QuickFix.contains(new Vi(e.kind))&&!!e.isPreferred)}get hasAIFix(){return this.validActions.some(({action:e})=>!!e.isAI)}get allAIFixes(){return this.validActions.every(({action:e})=>!!e.isAI)}}const Uwe={actions:[],documentation:void 0};async function aN(n,e,t,i,r,o){var s;const a=i.filter||{},l={...a,excludes:[...a.excludes||[],xr.Notebook]},u={only:(s=a.include)===null||s===void 0?void 0:s.value,trigger:i.type},c=new lK(e,o),d=i.type===2,h=XIt(n,e,d?l:a),m=new Je,f=h.map(async b=>{try{r.report(b);const y=await b.provideCodeActions(e,t,u,c.token);if(y&&m.add(y),c.token.isCancellationRequested)return Uwe;const C=((y==null?void 0:y.actions)||[]).filter(x=>x&&VIt(a,x)),w=OIt(b,C,a.include);return{actions:C.map(x=>new GIt(x,b)),documentation:w}}catch(y){if(Gm(y))throw y;return qr(y),Uwe}}),g=n.onDidChange(()=>{const b=n.all(e);Nr(b,h)||c.cancel()});try{const b=await Promise.all(f),y=b.map(w=>w.actions).flat(),C=[...Ym(b.map(w=>w.documentation)),...PIt(n,e,i,y)];return new sN(y,C,m)}finally{g.dispose(),c.dispose()}}function XIt(n,e,t){return n.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(r=>AIt(t,new Vi(r))):!0)}function*PIt(n,e,t,i){var r,o,s;if(e&&i.length)for(const a of n.all(e))a._getAdditionalMenuItems&&(yield*(r=a._getAdditionalMenuItems)===null||r===void 0?void 0:r.call(a,{trigger:t.type,only:(s=(o=t.filter)===null||o===void 0?void 0:o.include)===null||s===void 0?void 0:s.value},i.map(l=>l.action)))}function OIt(n,e,t){if(!n.documentation)return;const i=n.documentation.map(r=>({kind:new Vi(r.kind),command:r.command}));if(t){let r;for(const o of i)o.kind.contains(t)&&(r?r.kind.contains(o.kind)&&(r=o):r=o);if(r)return r==null?void 0:r.command}for(const r of e)if(r.kind){for(const o of i)if(o.kind.contains(new Vi(r.kind)))return o.command}}var z2;(function(n){n.OnSave="onSave",n.FromProblemsView="fromProblemsView",n.FromCodeActions="fromCodeActions",n.FromAILightbulb="fromAILightbulb"})(z2||(z2={}));async function BIt(n,e,t,i,r=Yn.None){var o;const s=n.get(tN),a=n.get(Xr),l=n.get(Rl),u=n.get(Mo);if(l.publicLog2("codeAction.applyCodeAction",{codeActionTitle:e.action.title,codeActionKind:e.action.kind,codeActionIsPreferred:!!e.action.isPreferred,reason:t}),await e.resolve(r),!r.isCancellationRequested&&!(!((o=e.action.edit)===null||o===void 0)&&o.edits.length&&!(await s.apply(e.action.edit,{editor:i==null?void 0:i.editor,label:e.action.title,quotableLabel:e.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:t!==z2.OnSave,showPreview:i==null?void 0:i.preview})).isApplied)&&e.action.command)try{await a.executeCommand(e.action.command.id,...e.action.command.arguments||[])}catch(c){const d=zIt(c);u.error(typeof d=="string"?d:_("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}function zIt(n){return typeof n=="string"?n:n instanceof Error&&typeof n.message=="string"?n.message:void 0}$n.registerCommand("_executeCodeActionProvider",async function(n,e,t,i,r){if(!(e instanceof en))throw Fc();const{codeActionProvider:o}=n.get(Rt),s=n.get(wr).getModel(e);if(!s)throw Fc();const a=Zt.isISelection(t)?Zt.liftSelection(t):J.isIRange(t)?s.validateRange(t):void 0;if(!a)throw Fc();const l=typeof i=="string"?new Vi(i):void 0,u=await aN(o,s,a,{type:1,triggerAction:gu.Default,filter:{includeSourceActions:!0,include:l}},bp.None,Yn.None),c=[],d=Math.min(u.validActions.length,typeof r=="number"?r:0);for(let h=0;hh.action)}finally{setTimeout(()=>u.dispose(),100)}});var HIt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},YIt=function(n,e){return function(t,i){e(t,i,n)}},vK;let t3=vK=class{constructor(e){this.keybindingService=e}getResolver(){const e=new Lh(()=>this.keybindingService.getKeybindings().filter(t=>vK.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let i=t.commandArgs;return t.command===bK?i={kind:xr.SourceOrganizeImports.value}:t.command===yK&&(i={kind:xr.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...If.fromUser(i,{kind:Vi.None,apply:"never"})}}));return t=>{if(t.kind){const i=this.bestKeybindingForCodeAction(t,e.value);return i==null?void 0:i.resolvedKeybinding}}}bestKeybindingForCodeAction(e,t){if(!e.kind)return;const i=new Vi(e.kind);return t.filter(r=>r.kind.contains(i)).filter(r=>r.preferred?e.isPreferred:!0).reduceRight((r,o)=>r?r.kind.contains(o.kind)?o:r:o,void 0)}};t3.codeActionCommands=[Hwe,Bwe,Ywe,bK,yK],t3=vK=HIt([YIt(0,Oi)],t3),re("symbolIcon.arrayForeground",{dark:at,light:at,hcDark:at,hcLight:at},_("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.booleanForeground",{dark:at,light:at,hcDark:at,hcLight:at},_("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},_("symbolIcon.classForeground","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.colorForeground",{dark:at,light:at,hcDark:at,hcLight:at},_("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.constantForeground",{dark:at,light:at,hcDark:at,hcLight:at},_("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},_("symbolIcon.constructorForeground","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},_("symbolIcon.enumeratorForeground","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},_("symbolIcon.enumeratorMemberForeground","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},_("symbolIcon.eventForeground","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},_("symbolIcon.fieldForeground","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.fileForeground",{dark:at,light:at,hcDark:at,hcLight:at},_("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.folderForeground",{dark:at,light:at,hcDark:at,hcLight:at},_("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},_("symbolIcon.functionForeground","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},_("symbolIcon.interfaceForeground","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.keyForeground",{dark:at,light:at,hcDark:at,hcLight:at},_("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.keywordForeground",{dark:at,light:at,hcDark:at,hcLight:at},_("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},_("symbolIcon.methodForeground","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.moduleForeground",{dark:at,light:at,hcDark:at,hcLight:at},_("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.namespaceForeground",{dark:at,light:at,hcDark:at,hcLight:at},_("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.nullForeground",{dark:at,light:at,hcDark:at,hcLight:at},_("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.numberForeground",{dark:at,light:at,hcDark:at,hcLight:at},_("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.objectForeground",{dark:at,light:at,hcDark:at,hcLight:at},_("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.operatorForeground",{dark:at,light:at,hcDark:at,hcLight:at},_("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.packageForeground",{dark:at,light:at,hcDark:at,hcLight:at},_("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.propertyForeground",{dark:at,light:at,hcDark:at,hcLight:at},_("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.referenceForeground",{dark:at,light:at,hcDark:at,hcLight:at},_("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.snippetForeground",{dark:at,light:at,hcDark:at,hcLight:at},_("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.stringForeground",{dark:at,light:at,hcDark:at,hcLight:at},_("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.structForeground",{dark:at,light:at,hcDark:at,hcLight:at},_("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.textForeground",{dark:at,light:at,hcDark:at,hcLight:at},_("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.typeParameterForeground",{dark:at,light:at,hcDark:at,hcLight:at},_("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.unitForeground",{dark:at,light:at,hcDark:at,hcLight:at},_("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),re("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},_("symbolIcon.variableForeground","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const Kwe=Object.freeze({kind:Vi.Empty,title:_("codeAction.widget.id.more","More Actions...")}),UIt=Object.freeze([{kind:xr.QuickFix,title:_("codeAction.widget.id.quickfix","Quick Fix")},{kind:xr.RefactorExtract,title:_("codeAction.widget.id.extract","Extract"),icon:ut.wrench},{kind:xr.RefactorInline,title:_("codeAction.widget.id.inline","Inline"),icon:ut.wrench},{kind:xr.RefactorRewrite,title:_("codeAction.widget.id.convert","Rewrite"),icon:ut.wrench},{kind:xr.RefactorMove,title:_("codeAction.widget.id.move","Move"),icon:ut.wrench},{kind:xr.SurroundWith,title:_("codeAction.widget.id.surround","Surround With"),icon:ut.surroundWith},{kind:xr.Source,title:_("codeAction.widget.id.source","Source Action"),icon:ut.symbolFile},Kwe]);function KIt(n,e,t){if(!e)return n.map(o=>{var s;return{kind:"action",item:o,group:Kwe,disabled:!!o.action.disabled,label:o.action.disabled||o.action.title,canPreview:!!(!((s=o.action.edit)===null||s===void 0)&&s.edits.length)}});const i=UIt.map(o=>({group:o,actions:[]}));for(const o of n){const s=o.action.kind?new Vi(o.action.kind):Vi.None;for(const a of i)if(a.group.kind.contains(s)){a.actions.push(o);break}}const r=[];for(const o of i)if(o.actions.length){r.push({kind:"header",group:o.group});for(const s of o.actions){const a=o.group;r.push({kind:"action",item:s,group:s.action.isAI?{title:a.title,kind:a.kind,icon:ut.sparkle}:a,label:s.action.title,disabled:!!s.action.disabled,keybinding:t(s.action)})}}return r}var JIt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Jwe=function(n,e){return function(t,i){e(t,i,n)}},CK,H2;(function(n){n.Hidden={type:0};class e{constructor(i,r,o,s){this.actions=i,this.trigger=r,this.editorPosition=o,this.widgetPosition=s,this.type=1}}n.Showing=e})(H2||(H2={}));let Pv=CK=class extends Fe{constructor(e,t,i){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new be),this.onClick=this._onClick.event,this._state=H2.Hidden,this._iconClasses=[],this._domNode=Ct("div.lightBulbWidget"),this._register(nr.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent(r=>{const o=this._editor.getModel();(this.state.type!==1||!o||this.state.editorPosition.lineNumber>=o.getLineCount())&&this.hide()})),this._register(vft(this._domNode,r=>{if(this.state.type!==1)return;this._editor.focus(),r.preventDefault();const{top:o,height:s}=po(this._domNode),a=this._editor.getOption(67);let l=Math.floor(a/3);this.state.widgetPosition.position!==null&&this.state.widgetPosition.position.lineNumber{(r.buttons&1)===1&&this.hide()})),this._register(lt.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{var r,o,s,a;this._preferredKbLabel=(o=(r=this._keybindingService.lookupKeybinding(zwe))===null||r===void 0?void 0:r.getLabel())!==null&&o!==void 0?o:void 0,this._quickFixKbLabel=(a=(s=this._keybindingService.lookupKeybinding(pK))===null||s===void 0?void 0:s.getLabel())!==null&&a!==void 0?a:void 0,this._updateLightBulbTitleAndIcon()}))}dispose(){super.dispose(),this._editor.removeContentWidget(this)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){return this._state.type===1?this._state.widgetPosition:null}update(e,t,i){if(e.validActions.length<=0)return this.hide();if(!this._editor.getOptions().get(65).enabled)return this.hide();const o=this._editor.getModel();if(!o)return this.hide();const{lineNumber:s,column:a}=o.validatePosition(i),l=o.getOptions().tabSize,u=this._editor.getOptions().get(50),c=o.getLineContent(s),d=DZ(c,l),h=u.spaceWidth*d>22,m=b=>b>2&&this._editor.getTopForLineNumber(b)===this._editor.getTopForLineNumber(b-1);let f=s,g=1;if(!h){if(s>1&&!m(s-1))f-=1;else if(s=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},SK=function(n,e){return function(t,i){e(t,i,n)}};const $we="acceptSelectedCodeAction",qwe="previewSelectedCodeAction";class jIt{get templateId(){return"header"}renderTemplate(e){e.classList.add("group-header");const t=document.createElement("span");return e.append(t),{container:e,text:t}}renderElement(e,t,i){var r,o;i.text.textContent=(o=(r=e.group)===null||r===void 0?void 0:r.title)!==null&&o!==void 0?o:""}disposeTemplate(e){}}let wK=class{get templateId(){return"action"}constructor(e,t){this._supportsPreview=e,this._keybindingService=t}renderTemplate(e){e.classList.add(this.templateId);const t=document.createElement("div");t.className="icon",e.append(t);const i=document.createElement("span");i.className="title",e.append(i);const r=new Y2(e,ru);return{container:e,icon:t,text:i,keybinding:r}}renderElement(e,t,i){var r,o,s;if(!((r=e.group)===null||r===void 0)&&r.icon?(i.icon.className=sn.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=xt(e.group.icon.color.id))):(i.icon.className=sn.asClassName(ut.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=t2e(e.label),i.keybinding.set(e.keybinding),Rft(!!e.keybinding,i.keybinding.element);const a=(o=this._keybindingService.lookupKeybinding($we))===null||o===void 0?void 0:o.getLabel(),l=(s=this._keybindingService.lookupKeybinding(qwe))===null||s===void 0?void 0:s.getLabel();i.container.classList.toggle("option-disabled",e.disabled),e.disabled?i.container.title=e.label:a&&l?this._supportsPreview&&e.canPreview?i.container.title=_({key:"label-preview",comment:['placeholders are keybindings, e.g "F2 to Apply, Shift+F2 to Preview"']},"{0} to Apply, {1} to Preview",a,l):i.container.title=_({key:"label",comment:['placeholder is a keybinding, e.g "F2 to Apply"']},"{0} to Apply",a):i.container.title=""}disposeTemplate(e){e.keybinding.dispose()}};wK=Qwe([SK(1,Oi)],wK);class QIt extends UIEvent{constructor(){super("acceptSelectedAction")}}class e2e extends UIEvent{constructor(){super("previewSelectedAction")}}function $It(n){if(n.kind==="action")return n.label}let xK=class extends Fe{constructor(e,t,i,r,o,s){super(),this._delegate=r,this._contextViewService=o,this._keybindingService=s,this._actionLineHeight=24,this._headerLineHeight=26,this.cts=this._register(new fo),this.domNode=document.createElement("div"),this.domNode.classList.add("actionList");const a={getHeight:l=>l.kind==="header"?this._headerLineHeight:this._actionLineHeight,getTemplateId:l=>l.kind};this._list=this._register(new Ju(e,this.domNode,a,[new wK(t,this._keybindingService),new jIt],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:$It},accessibilityProvider:{getAriaLabel:l=>{if(l.kind==="action"){let u=l.label?t2e(l==null?void 0:l.label):"";return l.disabled&&(u=_({key:"customQuickFixWidget.labels",comment:["Action widget labels for accessibility."]},"{0}, Disabled Reason: {1}",u,l.disabled)),u}return null},getWidgetAriaLabel:()=>_({key:"customQuickFixWidget",comment:["An action widget option"]},"Action Widget"),getRole:l=>l.kind==="action"?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(Rv),this._register(this._list.onMouseClick(l=>this.onListClick(l))),this._register(this._list.onMouseOver(l=>this.onListHover(l))),this._register(this._list.onDidChangeFocus(()=>this.onFocus())),this._register(this._list.onDidChangeSelection(l=>this.onListSelection(l))),this._allMenuItems=i,this._list.splice(0,this._list.length,this._allMenuItems),this._list.length&&this.focusNext()}focusCondition(e){return!e.disabled&&e.kind==="action"}hide(e){this._delegate.onHide(e),this.cts.cancel(),this._contextViewService.hideContextView()}layout(e){const t=this._allMenuItems.filter(l=>l.kind==="header").length,r=this._allMenuItems.length*this._actionLineHeight+t*this._headerLineHeight-t*this._actionLineHeight;this._list.layout(r);let o=e;if(this._allMenuItems.length>=50)o=380;else{const l=this._allMenuItems.map((u,c)=>{const d=this.domNode.ownerDocument.getElementById(this._list.getElementID(c));if(d){d.style.width="auto";const h=d.getBoundingClientRect().width;return d.style.width="",h}return 0});o=Math.max(...l,e)}const a=Math.min(r,this.domNode.ownerDocument.body.clientHeight*.7);return this._list.layout(a,o),this.domNode.style.height=`${a}px`,this._list.domFocus(),o}focusPrevious(){this._list.focusPrevious(1,!0,void 0,this.focusCondition)}focusNext(){this._list.focusNext(1,!0,void 0,this.focusCondition)}acceptSelected(e){const t=this._list.getFocus();if(t.length===0)return;const i=t[0],r=this._list.element(i);if(!this.focusCondition(r))return;const o=e?new e2e:new QIt;this._list.setSelection([i],o)}onListSelection(e){if(!e.elements.length)return;const t=e.elements[0];t.item&&this.focusCondition(t)?this._delegate.onSelect(t.item,e.browserEvent instanceof e2e):this._list.setSelection([])}onFocus(){var e,t;const i=this._list.getFocus();if(i.length===0)return;const r=i[0],o=this._list.element(r);(t=(e=this._delegate).onFocus)===null||t===void 0||t.call(e,o.item)}async onListHover(e){const t=e.element;if(t&&t.item&&this.focusCondition(t)){if(this._delegate.onHover&&!t.disabled&&t.kind==="action"){const i=await this._delegate.onHover(t.item,this.cts.token);t.canPreview=i?i.canPreview:void 0}e.index&&this._list.splice(e.index,1,[t])}this._list.setFocus(typeof e.index=="number"?[e.index]:[])}onListClick(e){e.element&&this.focusCondition(e.element)&&this._list.setFocus([])}};xK=Qwe([SK(4,pp),SK(5,Oi)],xK);function t2e(n){return n.replace(/\r\n|\r|\n/g," ")}var qIt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},_K=function(n,e){return function(t,i){e(t,i,n)}};re("actionBar.toggledBackground",{dark:lv,light:lv,hcDark:lv,hcLight:lv},_("actionBar.toggledBackground","Background color for toggled action items in action bar."));const Ov={Visible:new St("codeActionMenuVisible",!1,_("codeActionMenuVisible","Whether the action widget list is visible"))},Bv=Un("actionWidgetService");let zv=class extends Fe{get isVisible(){return Ov.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,i){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=i,this._list=this._register(new Ns)}show(e,t,i,r,o,s,a){const l=Ov.Visible.bindTo(this._contextKeyService),u=this._instantiationService.createInstance(xK,e,t,i,r);this._contextViewService.showContextView({getAnchor:()=>o,render:c=>(l.set(!0),this._renderWidget(c,u,a??[])),onHide:c=>{l.reset(),this._onWidgetClosed(c)}},s,!1)}acceptSelected(e){var t;(t=this._list.value)===null||t===void 0||t.acceptSelected(e)}focusPrevious(){var e,t;(t=(e=this._list)===null||e===void 0?void 0:e.value)===null||t===void 0||t.focusPrevious()}focusNext(){var e,t;(t=(e=this._list)===null||e===void 0?void 0:e.value)===null||t===void 0||t.focusNext()}hide(){var e;(e=this._list.value)===null||e===void 0||e.hide(),this._list.clear()}_renderWidget(e,t,i){var r;const o=document.createElement("div");if(o.classList.add("action-widget"),e.appendChild(o),this._list.value=t,this._list.value)o.appendChild(this._list.value.domNode);else throw new Error("List has no value");const s=new Je,a=document.createElement("div"),l=e.appendChild(a);l.classList.add("context-view-block"),s.add(Ve(l,ot.MOUSE_DOWN,f=>f.stopPropagation()));const u=document.createElement("div"),c=e.appendChild(u);c.classList.add("context-view-pointerBlock"),s.add(Ve(c,ot.POINTER_MOVE,()=>c.remove())),s.add(Ve(c,ot.MOUSE_DOWN,()=>c.remove()));let d=0;if(i.length){const f=this._createActionBar(".action-widget-action-bar",i);f&&(o.appendChild(f.getContainer().parentElement),s.add(f),d=f.getContainer().offsetWidth)}const h=(r=this._list.value)===null||r===void 0?void 0:r.layout(d);o.style.width=`${h}px`;const m=s.add(Dh(e));return s.add(m.onDidBlur(()=>this.hide())),s}_createActionBar(e,t){if(!t.length)return;const i=Ct(e),r=new Uc(i);return r.push(t,{icon:!1,label:!0}),r}_onWidgetClosed(e){var t;(t=this._list.value)===null||t===void 0||t.hide(e)}};zv=qIt([_K(0,pp),_K(1,ln),_K(2,$t)],zv),qn(Bv,zv,1);const lN=1100;Ki(class extends el{constructor(){super({id:"hideCodeActionWidget",title:oi("hideCodeActionWidget.title","Hide action widget"),precondition:Ov.Visible,keybinding:{weight:lN,primary:9,secondary:[1033]}})}run(n){n.get(Bv).hide()}}),Ki(class extends el{constructor(){super({id:"selectPrevCodeAction",title:oi("selectPrevCodeAction.title","Select previous action"),precondition:Ov.Visible,keybinding:{weight:lN,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(n){const e=n.get(Bv);e instanceof zv&&e.focusPrevious()}}),Ki(class extends el{constructor(){super({id:"selectNextCodeAction",title:oi("selectNextCodeAction.title","Select next action"),precondition:Ov.Visible,keybinding:{weight:lN,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(n){const e=n.get(Bv);e instanceof zv&&e.focusNext()}}),Ki(class extends el{constructor(){super({id:$we,title:oi("acceptSelected.title","Accept selected action"),precondition:Ov.Visible,keybinding:{weight:lN,primary:3,secondary:[2137]}})}run(n){const e=n.get(Bv);e instanceof zv&&e.acceptSelected()}}),Ki(class extends el{constructor(){super({id:qwe,title:oi("previewSelected.title","Preview selected action"),precondition:Ov.Visible,keybinding:{weight:lN,primary:2051}})}run(n){const e=n.get(Bv);e instanceof zv&&e.acceptSelected(!0)}});var Wr;(function(n){n[n.Hint=1]="Hint",n[n.Info=2]="Info",n[n.Warning=4]="Warning",n[n.Error=8]="Error"})(Wr||(Wr={})),function(n){function e(s,a){return a-s}n.compare=e;const t=Object.create(null);t[n.Error]=_("sev.error","Error"),t[n.Warning]=_("sev.warning","Warning"),t[n.Info]=_("sev.info","Info");function i(s){return t[s]||""}n.toString=i;function r(s){switch(s){case oo.Error:return n.Error;case oo.Warning:return n.Warning;case oo.Info:return n.Info;case oo.Ignore:return n.Hint}}n.fromSeverity=r;function o(s){switch(s){case n.Error:return oo.Error;case n.Warning:return oo.Warning;case n.Info:return oo.Info;case n.Hint:return oo.Ignore}}n.toSeverity=o}(Wr||(Wr={}));var i3;(function(n){const e="";function t(r){return i(r,!0)}n.makeKey=t;function i(r,o){const s=[e];return r.source?s.push(r.source.replace("¦","\\¦")):s.push(e),r.code?typeof r.code=="string"?s.push(r.code.replace("¦","\\¦")):s.push(r.code.value.replace("¦","\\¦")):s.push(e),r.severity!==void 0&&r.severity!==null?s.push(Wr.toString(r.severity)):s.push(e),r.message&&o?s.push(r.message.replace("¦","\\¦")):s.push(e),r.startLineNumber!==void 0&&r.startLineNumber!==null?s.push(r.startLineNumber.toString()):s.push(e),r.startColumn!==void 0&&r.startColumn!==null?s.push(r.startColumn.toString()):s.push(e),r.endLineNumber!==void 0&&r.endLineNumber!==null?s.push(r.endLineNumber.toString()):s.push(e),r.endColumn!==void 0&&r.endColumn!==null?s.push(r.endColumn.toString()):s.push(e),s.push(e),s.join("¦")}n.makeKeyOptionalMessage=i})(i3||(i3={}));const Ff=Un("markerService"),n2e=new St("supportedCodeAction",""),i2e="_typescript.applyFixAllCodeAction";class eFt extends Fe{constructor(e,t,i,r=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=r,this._autoTriggerTimer=this._register(new Id),this._register(this._markerService.onMarkerChanged(o=>this._onMarkerChanges(o))),this._register(this._editor.onDidChangeCursorPosition(()=>this._tryAutoTrigger()))}trigger(e){const t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(e);this._signalChange(t?{trigger:e,selection:t}:void 0)}_onMarkerChanges(e){const t=this._editor.getModel();t&&e.some(i=>h7(i,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:gu.Default})},this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(e){if(!this._editor.hasModel())return;const t=this._editor.getSelection();if(e.type===1)return t;const i=this._editor.getOption(65).enabled;if(i!==Nd.Off){{if(i===Nd.On)return t;if(i===Nd.OnCode){if(!t.isEmpty())return t;const o=this._editor.getModel(),{lineNumber:s,column:a}=t.getPosition(),l=o.getLineContent(s);if(l.length===0)return;if(a===1){if(/\s/.test(l[0]))return}else if(a===o.getLineMaxColumn(s)){if(/\s/.test(l[l.length-1]))return}else if(/\s/.test(l[a-2])&&/\s/.test(l[a-1]))return}}return t}}}var Hv;(function(n){n.Empty={type:0};class e{constructor(i,r,o){this.trigger=i,this.position=r,this._cancellablePromise=o,this.type=1,this.actions=o.catch(s=>{if(Gm(s))return r2e;throw s})}cancel(){this._cancellablePromise.cancel()}}n.Triggered=e})(Hv||(Hv={}));const r2e=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class tFt extends Fe{constructor(e,t,i,r,o,s){super(),this._editor=e,this._registry=t,this._markerService=i,this._progressService=o,this._configurationService=s,this._codeActionOracle=this._register(new Ns),this._state=Hv.Empty,this._onDidChangeState=this._register(new be),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=n2e.bindTo(r),this._register(this._editor.onDidChangeModel(()=>this._update())),this._register(this._editor.onDidChangeModelLanguage(()=>this._update())),this._register(this._registry.onDidChange(()=>this._update())),this._register(this._editor.onDidChangeConfiguration(a=>{a.hasChanged(65)&&this._update()})),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(Hv.Empty,!0))}_settingEnabledNearbyQuickfixes(){var e;const t=(e=this._editor)===null||e===void 0?void 0:e.getModel();return this._configurationService?this._configurationService.getValue("editor.codeActionWidget.includeNearbyQuickFixes",{resource:t==null?void 0:t.uri}):!1}_update(){if(this._disposed)return;this._codeActionOracle.value=void 0,this.setState(Hv.Empty);const e=this._editor.getModel();if(e&&this._registry.has(e)&&!this._editor.getOption(91)){const t=this._registry.all(e).flatMap(i=>{var r;return(r=i.providedCodeActionKinds)!==null&&r!==void 0?r:[]});this._supportedCodeActions.set(t.join(" ")),this._codeActionOracle.value=new eFt(this._editor,this._markerService,i=>{var r;if(!i){this.setState(Hv.Empty);return}const o=i.selection.getStartPosition(),s=rs(async u=>{var c,d,h,m,f,g,b,y,C,w;if(this._settingEnabledNearbyQuickfixes()&&i.trigger.type===1&&(i.trigger.triggerAction===gu.QuickFix||!((d=(c=i.trigger.filter)===null||c===void 0?void 0:c.include)===null||d===void 0)&&d.contains(xr.QuickFix))){const x=await aN(this._registry,e,i.selection,i.trigger,bp.None,u),L=[...x.allActions];if(u.isCancellationRequested)return r2e;const I=(h=x.validActions)===null||h===void 0?void 0:h.some(N=>N.action.kind?xr.QuickFix.contains(new Vi(N.action.kind)):!1),D=this._markerService.read({resource:e.uri});if(I){for(const N of x.validActions)!((f=(m=N.action.command)===null||m===void 0?void 0:m.arguments)===null||f===void 0)&&f.some(T=>typeof T=="string"&&T.includes(i2e))&&(N.action.diagnostics=[...D.filter(T=>T.relatedInformation)]);return{validActions:x.validActions,allActions:L,documentation:x.documentation,hasAutoFix:x.hasAutoFix,hasAIFix:x.hasAIFix,allAIFixes:x.allAIFixes,dispose:()=>{x.dispose()}}}else if(!I&&D.length>0){const N=i.selection.getPosition();let T=N,R=Number.MAX_VALUE;const E=[...x.validActions];for(const Z of D){const V=Z.endColumn,z=Z.endLineNumber,O=Z.startLineNumber;if(z===N.lineNumber||O===N.lineNumber){T=new ve(z,V);const B={type:i.trigger.type,triggerAction:i.trigger.triggerAction,filter:{include:!((g=i.trigger.filter)===null||g===void 0)&&g.include?(b=i.trigger.filter)===null||b===void 0?void 0:b.include:xr.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:((y=i.trigger.context)===null||y===void 0?void 0:y.notAvailableMessage)||"",position:T}},P=new Zt(T.lineNumber,T.column,T.lineNumber,T.column),H=await aN(this._registry,e,P,B,bp.None,u);if(H.validActions.length!==0){for(const M of H.validActions)!((w=(C=M.action.command)===null||C===void 0?void 0:C.arguments)===null||w===void 0)&&w.some(X=>typeof X=="string"&&X.includes(i2e))&&(M.action.diagnostics=[...D.filter(X=>X.relatedInformation)]);x.allActions.length===0&&L.push(...H.allActions),Math.abs(N.column-V)z.findIndex(O=>O.action.title===Z.action.title)===V);return W.sort((Z,V)=>Z.action.isPreferred&&!V.action.isPreferred?-1:!Z.action.isPreferred&&V.action.isPreferred||Z.action.isAI&&!V.action.isAI?1:!Z.action.isAI&&V.action.isAI?-1:0),{validActions:W,allActions:L,documentation:x.documentation,hasAutoFix:x.hasAutoFix,hasAIFix:x.hasAIFix,allAIFixes:x.allAIFixes,dispose:()=>{x.dispose()}}}}return aN(this._registry,e,i.selection,i.trigger,bp.None,u)});i.trigger.type===1&&((r=this._progressService)===null||r===void 0||r.showWhile(s,250));const a=new Hv.Triggered(i.trigger,o,s);let l=!1;this._state.type===1&&(l=this._state.trigger.type===1&&a.type===1&&a.trigger.type===2&&this._state.position!==a.position),l||this.setState(a)},void 0),this._codeActionOracle.value.trigger({type:2,triggerAction:gu.Default})}else this._supportedCodeActions.reset()}trigger(e){var t;(t=this._codeActionOracle.value)===null||t===void 0||t.trigger(e)}setState(e,t){e!==this._state&&(this._state.type===1&&this._state.cancel(),this._state=e,!t&&!this._disposed&&this._onDidChangeState.fire(e))}}var nFt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},wp=function(n,e){return function(t,i){e(t,i,n)}},U2;const iFt="quickfix-edit-highlight";let E0=U2=class extends Fe{static get(e){return e.getContribution(U2.ID)}constructor(e,t,i,r,o,s,a,l,u,c){super(),this._commandService=a,this._configurationService=l,this._actionWidgetService=u,this._instantiationService=c,this._activeCodeActions=this._register(new Ns),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new tFt(this._editor,o.codeActionProvider,t,i,s,l)),this._register(this._model.onDidChangeState(d=>this.update(d))),this._lightBulbWidget=new Lh(()=>{const d=this._editor.getContribution(Pv.ID);return d&&this._register(d.onClick(h=>this.showCodeActionsFromLightbulb(h.actions,h))),d}),this._resolver=r.createInstance(t3),this._register(this._editor.onDidLayoutChange(()=>this._actionWidgetService.hide()))}dispose(){this._disposed=!0,super.dispose()}async showCodeActionsFromLightbulb(e,t){if(e.allAIFixes&&e.validActions.length===1){const i=e.validActions[0],r=i.action.command;r&&r.id==="inlineChat.start"&&r.arguments&&r.arguments.length>=1&&(r.arguments[0]={...r.arguments[0],autoSend:!1}),await this._applyCodeAction(i,!1,!1,z2.FromAILightbulb);return}await this.showCodeActionList(e,t,{includeDisabledActions:!1,fromLightbulb:!0})}showCodeActions(e,t,i){return this.showCodeActionList(t,i,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(e,t,i,r){var o;if(!this._editor.hasModel())return;(o=dl.get(this._editor))===null||o===void 0||o.closeMessage();const s=this._editor.getPosition();this._trigger({type:1,triggerAction:t,filter:i,autoApply:r,context:{notAvailableMessage:e,position:s}})}_trigger(e){return this._model.trigger(e)}async _applyCodeAction(e,t,i,r){try{await this._instantiationService.invokeFunction(BIt,e,r,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:gu.QuickFix,filter:{}})}}async update(e){var t,i,r,o,s,a,l;if(e.type!==1){(t=this._lightBulbWidget.rawValue)===null||t===void 0||t.hide();return}let u;try{u=await e.actions}catch(c){yn(c);return}if(!this._disposed)if((i=this._lightBulbWidget.value)===null||i===void 0||i.update(u,e.trigger,e.position),e.trigger.type===1){if(!((r=e.trigger.filter)===null||r===void 0)&&r.include){const d=this.tryGetValidActionToApply(e.trigger,u);if(d){try{(o=this._lightBulbWidget.value)===null||o===void 0||o.hide(),await this._applyCodeAction(d,!1,!1,z2.FromCodeActions)}finally{u.dispose()}return}if(e.trigger.context){const h=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,u);if(h&&h.action.disabled){(s=dl.get(this._editor))===null||s===void 0||s.showMessage(h.action.disabled,e.trigger.context.position),u.dispose();return}}}const c=!!(!((a=e.trigger.filter)===null||a===void 0)&&a.include);if(e.trigger.context&&(!u.allActions.length||!c&&!u.validActions.length)){(l=dl.get(this._editor))===null||l===void 0||l.showMessage(e.trigger.context.notAvailableMessage,e.trigger.context.position),this._activeCodeActions.value=u,u.dispose();return}this._activeCodeActions.value=u,this.showCodeActionList(u,this.toCoords(e.position),{includeDisabledActions:c,fromLightbulb:!1})}else this._actionWidgetService.isVisible?u.dispose():this._activeCodeActions.value=u}getInvalidActionThatWouldHaveBeenApplied(e,t){if(t.allActions.length&&(e.autoApply==="first"&&t.validActions.length===0||e.autoApply==="ifSingle"&&t.allActions.length===1))return t.allActions.find(({action:i})=>i.disabled)}tryGetValidActionToApply(e,t){if(t.validActions.length&&(e.autoApply==="first"&&t.validActions.length>0||e.autoApply==="ifSingle"&&t.validActions.length===1))return t.validActions[0]}async showCodeActionList(e,t,i){const r=this._editor.createDecorationsCollection(),o=this._editor.getDomNode();if(!o)return;const s=i.includeDisabledActions&&(this._showDisabled||e.validActions.length===0)?e.allActions:e.validActions;if(!s.length)return;const a=ve.isIPosition(t)?this.toCoords(t):t,l={onSelect:async(u,c)=>{this._applyCodeAction(u,!0,!!c,z2.FromCodeActions),this._actionWidgetService.hide(),r.clear()},onHide:()=>{var u;(u=this._editor)===null||u===void 0||u.focus(),r.clear()},onHover:async(u,c)=>{var d;if(c.isCancellationRequested)return;let h=!1;const m=u.action.kind;if(m){const f=new Vi(m);h=[xr.RefactorExtract,xr.RefactorInline,xr.RefactorRewrite].some(b=>b.contains(f))}return{canPreview:h||!!(!((d=u.action.edit)===null||d===void 0)&&d.edits.length)}},onFocus:u=>{var c,d;if(u&&u.action){const h=u.action.ranges,m=u.action.diagnostics;if(r.clear(),h&&h.length>0){const f=m&&(m==null?void 0:m.length)>1?m.map(g=>({range:g,options:U2.DECORATION})):h.map(g=>({range:g,options:U2.DECORATION}));r.set(f)}else if(m&&m.length>0){const f=m.map(b=>({range:b,options:U2.DECORATION}));r.set(f);const g=m[0];if(g.startLineNumber&&g.startColumn){const b=(d=(c=this._editor.getModel())===null||c===void 0?void 0:c.getWordAtPosition({lineNumber:g.startLineNumber,column:g.startColumn}))===null||d===void 0?void 0:d.word;kg(_("editingNewSelection","Context: {0} at line {1} and column {2}.",b,g.startLineNumber,g.startColumn))}}}else r.clear()}};this._actionWidgetService.show("codeActionWidget",!0,KIt(s,this._shouldShowHeaders(),this._resolver.getResolver()),l,a,o,this._getActionBarActions(e,t,i))}toCoords(e){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(e,1),this._editor.render();const t=this._editor.getScrolledVisiblePosition(e),i=po(this._editor.getDomNode()),r=i.left+t.left,o=i.top+t.top+t.height;return{x:r,y:o}}_shouldShowHeaders(){var e;const t=(e=this._editor)===null||e===void 0?void 0:e.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:t==null?void 0:t.uri})}_getActionBarActions(e,t,i){if(i.fromLightbulb)return[];const r=e.documentation.map(o=>{var s;return{id:o.id,label:o.title,tooltip:(s=o.tooltip)!==null&&s!==void 0?s:"",class:void 0,enabled:!0,run:()=>{var a;return this._commandService.executeCommand(o.id,...(a=o.arguments)!==null&&a!==void 0?a:[])}}});return i.includeDisabledActions&&e.validActions.length>0&&e.allActions.length!==e.validActions.length&&r.push(this._showDisabled?{id:"hideMoreActions",label:_("hideMoreActions","Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,i))}:{id:"showMoreActions",label:_("showMoreActions","Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,i))}),r}};E0.ID="editor.contrib.codeActionController",E0.DECORATION=vn.register({description:"quickfix-highlight",className:iFt}),E0=U2=nFt([wp(1,Ff),wp(2,ln),wp(3,$t),wp(4,Rt),wp(5,N0),wp(6,Xr),wp(7,Pn),wp(8,Bv),wp(9,$t)],E0),Xc((n,e)=>{((r,o)=>{o&&e.addRule(`.monaco-editor ${r} { background-color: ${o}; }`)})(".quickfix-edit-highlight",n.getColor(Pg));const i=n.getColor(o0);i&&e.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${rf(n.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`)});function uN(n){return Oe.regex(n2e.keys()[0],new RegExp("(\\s|^)"+Wu(n.value)+"\\b"))}const LK={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:_("args.schema.kind","Kind of the code action to run.")},apply:{type:"string",description:_("args.schema.apply","Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[_("args.schema.apply.first","Always apply the first returned code action."),_("args.schema.apply.ifSingle","Apply the first returned code action if it is the only one."),_("args.schema.apply.never","Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:_("args.schema.preferred","Controls if only preferred code actions should be returned.")}}};function Yv(n,e,t,i,r=gu.Default){if(n.hasModel()){const o=E0.get(n);o==null||o.manualTriggerAtCurrentPosition(e,r,t,i)}}class rFt extends Nt{constructor(){super({id:pK,label:_("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:Oe.and(ne.writable,ne.hasCodeActionsProvider),kbOpts:{kbExpr:ne.textInputFocus,primary:2137,weight:100}})}run(e,t){return Yv(t,_("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,gu.QuickFix)}}class oFt extends Ko{constructor(){super({id:Bwe,precondition:Oe.and(ne.writable,ne.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:LK}]}})}runEditorCommand(e,t,i){const r=If.fromUser(i,{kind:Vi.Empty,apply:"ifSingle"});return Yv(t,typeof(i==null?void 0:i.kind)=="string"?r.preferred?_("editor.action.codeAction.noneMessage.preferred.kind","No preferred code actions for '{0}' available",i.kind):_("editor.action.codeAction.noneMessage.kind","No code actions for '{0}' available",i.kind):r.preferred?_("editor.action.codeAction.noneMessage.preferred","No preferred code actions available"):_("editor.action.codeAction.noneMessage","No code actions available"),{include:r.kind,includeSourceActions:!0,onlyIncludePreferredActions:r.preferred},r.apply)}}class sFt extends Nt{constructor(){super({id:Hwe,label:_("refactor.label","Refactor..."),alias:"Refactor...",precondition:Oe.and(ne.writable,ne.hasCodeActionsProvider),kbOpts:{kbExpr:ne.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:Oe.and(ne.writable,uN(xr.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:LK}]}})}run(e,t,i){const r=If.fromUser(i,{kind:xr.Refactor,apply:"never"});return Yv(t,typeof(i==null?void 0:i.kind)=="string"?r.preferred?_("editor.action.refactor.noneMessage.preferred.kind","No preferred refactorings for '{0}' available",i.kind):_("editor.action.refactor.noneMessage.kind","No refactorings for '{0}' available",i.kind):r.preferred?_("editor.action.refactor.noneMessage.preferred","No preferred refactorings available"):_("editor.action.refactor.noneMessage","No refactorings available"),{include:xr.Refactor.contains(r.kind)?r.kind:Vi.None,onlyIncludePreferredActions:r.preferred},r.apply,gu.Refactor)}}class aFt extends Nt{constructor(){super({id:Ywe,label:_("source.label","Source Action..."),alias:"Source Action...",precondition:Oe.and(ne.writable,ne.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:Oe.and(ne.writable,uN(xr.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:LK}]}})}run(e,t,i){const r=If.fromUser(i,{kind:xr.Source,apply:"never"});return Yv(t,typeof(i==null?void 0:i.kind)=="string"?r.preferred?_("editor.action.source.noneMessage.preferred.kind","No preferred source actions for '{0}' available",i.kind):_("editor.action.source.noneMessage.kind","No source actions for '{0}' available",i.kind):r.preferred?_("editor.action.source.noneMessage.preferred","No preferred source actions available"):_("editor.action.source.noneMessage","No source actions available"),{include:xr.Source.contains(r.kind)?r.kind:Vi.None,includeSourceActions:!0,onlyIncludePreferredActions:r.preferred},r.apply,gu.SourceAction)}}class lFt extends Nt{constructor(){super({id:bK,label:_("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:Oe.and(ne.writable,uN(xr.SourceOrganizeImports)),kbOpts:{kbExpr:ne.textInputFocus,primary:1581,weight:100}})}run(e,t){return Yv(t,_("editor.action.organize.noneMessage","No organize imports action available"),{include:xr.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",gu.OrganizeImports)}}class uFt extends Nt{constructor(){super({id:yK,label:_("fixAll.label","Fix All"),alias:"Fix All",precondition:Oe.and(ne.writable,uN(xr.SourceFixAll))})}run(e,t){return Yv(t,_("fixAll.noneMessage","No fix all action available"),{include:xr.SourceFixAll,includeSourceActions:!0},"ifSingle",gu.FixAll)}}class cFt extends Nt{constructor(){super({id:zwe,label:_("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:Oe.and(ne.writable,uN(xr.QuickFix)),kbOpts:{kbExpr:ne.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return Yv(t,_("editor.action.autoFix.noneMessage","No auto fixes available"),{include:xr.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",gu.AutoFix)}}vi(E0.ID,E0,3),vi(Pv.ID,Pv,4),tt(rFt),tt(sFt),tt(aFt),tt(lFt),tt(cFt),tt(uFt),gt(new oFt),Do.as(Eh.Configuration).registerConfiguration({...$W,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:_("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:!0}}}),Do.as(Eh.Configuration).registerConfiguration({...$W,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:_("includeNearbyQuickFixes","Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}});class IK{constructor(){this.lenses=[],this._disposables=new Je}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(e,t){this._disposables.add(e);for(const i of e.lenses)this.lenses.push({symbol:i,provider:t})}}async function o2e(n,e,t){const i=n.ordered(e),r=new Map,o=new IK,s=i.map(async(a,l)=>{r.set(a,l);try{const u=await Promise.resolve(a.provideCodeLenses(e,t));u&&o.add(u,a)}catch(u){qr(u)}});return await Promise.all(s),o.lenses=o.lenses.sort((a,l)=>a.symbol.range.startLineNumberl.symbol.range.startLineNumber?1:r.get(a.provider)r.get(l.provider)?1:a.symbol.range.startColumnl.symbol.range.startColumn?1:0),o}$n.registerCommand("_executeCodeLensProvider",function(n,...e){let[t,i]=e;hi(en.isUri(t)),hi(typeof i=="number"||!i);const{codeLensProvider:r}=n.get(Rt),o=n.get(wr).getModel(t);if(!o)throw Fc();const s=[],a=new Je;return o2e(r,o,Yn.None).then(l=>{a.add(l);const u=[];for(const c of l.lenses)i==null||c.symbol.command?s.push(c.symbol):i-- >0&&c.provider.resolveCodeLens&&u.push(Promise.resolve(c.provider.resolveCodeLens(o,c.symbol,Yn.None)).then(d=>s.push(d||c.symbol)));return Promise.all(u)}).then(()=>s).finally(()=>{setTimeout(()=>a.dispose(),100)})});var dFt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},hFt=function(n,e){return function(t,i){e(t,i,n)}};const s2e=Un("ICodeLensCache");class a2e{constructor(e,t){this.lineCount=e,this.data=t}}let FK=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new Rg(20,.75);const t="codelens/cache";nF(Zi,()=>e.remove(t,1));const i="codelens/cache2",r=e.get(i,1,"{}");this._deserialize(r),lt.once(e.onWillSaveState)(o=>{o.reason===TW.SHUTDOWN&&e.store(i,this._serialize(),1,1)})}put(e,t){const i=t.lenses.map(s=>{var a;return{range:s.symbol.range,command:s.symbol.command&&{id:"",title:(a=s.symbol.command)===null||a===void 0?void 0:a.title}}}),r=new IK;r.add({lenses:i,dispose:()=>{}},this._fakeProvider);const o=new a2e(e.getLineCount(),r);this._cache.set(e.uri.toString(),o)}get(e){const t=this._cache.get(e.uri.toString());return t&&t.lineCount===e.getLineCount()?t.data:void 0}delete(e){this._cache.delete(e.uri.toString())}_serialize(){const e=Object.create(null);for(const[t,i]of this._cache){const r=new Set;for(const o of i.data.lenses)r.add(o.symbol.range.startLineNumber);e[t]={lineCount:i.lineCount,lines:[...r.values()]}}return JSON.stringify(e)}_deserialize(e){try{const t=JSON.parse(e);for(const i in t){const r=t[i],o=[];for(const a of r.lines)o.push({range:new J(a,1,a,11)});const s=new IK;s.add({lenses:o,dispose(){}},this._fakeProvider),this._cache.set(i,new a2e(r.lineCount,s))}}catch{}}};FK=dFt([hFt(0,Sf)],FK),qn(s2e,FK,1);class mFt{constructor(e,t,i){this.afterColumn=1073741824,this.afterLineNumber=e,this.heightInPx=t,this._onHeight=i,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(e){this._lastHeight===void 0?this._lastHeight=e:this._lastHeight!==e&&(this._lastHeight=e,this._onHeight())}isVisible(){return this._lastHeight!==0&&this.domNode.hasAttribute("monaco-visible-view-zone")}}class cN{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id=`codelens.widget-${cN._idPool++}`,this.updatePosition(t),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration"}withCommands(e,t){this._commands.clear();const i=[];let r=!1;for(let o=0;o{u.symbol.command&&l.push(u.symbol),i.addDecoration({range:u.symbol.range,options:l2e},d=>this._decorationIds[c]=d),a?a=J.plusRange(a,u.symbol.range):a=J.lift(u.symbol.range)}),this._viewZone=new mFt(a.startLineNumber-1,o,s),this._viewZoneId=r.addZone(this._viewZone),l.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(l,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new cN(this._editor,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(e,t){this._decorationIds.forEach(e.removeDecoration,e),this._decorationIds=[],t==null||t.removeZone(this._viewZoneId),this._contentWidget&&(this._editor.removeContentWidget(this._contentWidget),this._contentWidget=void 0),this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some((e,t)=>{const i=this._editor.getModel().getDecorationRange(e),r=this._data[t].symbol;return!!(i&&J.isEmpty(r.range)===i.isEmpty())})}updateCodeLensSymbols(e,t){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],this._data=e,this._data.forEach((i,r)=>{t.addDecoration({range:i.symbol.range,options:l2e},o=>this._decorationIds[r]=o)})}updateHeight(e,t){this._viewZone.heightInPx=e,t.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(e){if(!this._viewZone.isVisible())return null;for(let t=0;t=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},c2e=function(n,e){return function(t,i){e(t,i,n)}};const Qc=Un("ILanguageFeatureDebounceService");var r3;(function(n){const e=new WeakMap;let t=0;function i(r){let o=e.get(r);return o===void 0&&(o=++t,e.set(r,o)),o}n.of=i})(r3||(r3={}));class gFt{constructor(e){this._default=e}get(e){return this._default}update(e,t){return this._default}default(){return this._default}}class pFt{constructor(e,t,i,r,o,s){this._logService=e,this._name=t,this._registry=i,this._default=r,this._min=o,this._max=s,this._cache=new Rg(50,.7)}_key(e){return e.id+this._registry.all(e).reduce((t,i)=>t9(r3.of(i),t),0)}get(e){const t=this._key(e),i=this._cache.get(t);return i?al(i.value,this._min,this._max):this.default()}update(e,t){const i=this._key(e);let r=this._cache.get(i);r||(r=new pxt(6),this._cache.set(i,r));const o=al(r.update(t),this._min,this._max);return mY(e.uri,"output")||this._logService.trace(`[DEBOUNCE: ${this._name}] for ${e.uri.toString()} is ${o}ms`),o}_overall(){const e=new iSe;for(const[,t]of this._cache)e.update(t.value);return e.value}default(){const e=this._overall()|0||this._default;return al(e,this._min,this._max)}}let MK=class{constructor(e,t){this._logService=e,this._data=new Map,this._isDev=t.isExtensionDevelopment||!t.isBuilt}for(e,t,i){var r,o,s;const a=(r=i==null?void 0:i.min)!==null&&r!==void 0?r:50,l=(o=i==null?void 0:i.max)!==null&&o!==void 0?o:a**2,u=(s=i==null?void 0:i.key)!==null&&s!==void 0?s:void 0,c=`${r3.of(e)},${a}${u?","+u:""}`;let d=this._data.get(c);return d||(this._isDev?d=new pFt(this._logService,t,e,this._overallAverage()|0||a*1.5,a,l):(this._logService.debug(`[DEBOUNCE: ${t}] is disabled in developed mode`),d=new gFt(a*1.5)),this._data.set(c,d)),d}_overallAverage(){const e=new iSe;for(const t of this._data.values())e.update(t.default());return e.value}};MK=fFt([c2e(0,tl),c2e(1,NK)],MK),qn(Qc,MK,1);var bFt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},dN=function(n,e){return function(t,i){e(t,i,n)}};let K2=class{constructor(e,t,i,r,o,s){this._editor=e,this._languageFeaturesService=t,this._commandService=r,this._notificationService=o,this._codeLensCache=s,this._disposables=new Je,this._localToDispose=new Je,this._lenses=[],this._oldCodeLensModels=new Je,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new Wi(()=>this._resolveCodeLensesInViewport(),this._resolveCodeLensesDebounce.default()),this._disposables.add(this._editor.onDidChangeModel(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeConfiguration(a=>{(a.hasChanged(50)||a.hasChanged(19)||a.hasChanged(18))&&this._updateLensStyle(),a.hasChanged(17)&&this._onModelChange()})),this._disposables.add(t.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._updateLensStyle()}dispose(){var e;this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),(e=this._currentCodeLensModel)===null||e===void 0||e.dispose()}_getLayoutInfo(){const e=Math.max(1.3,this._editor.getOption(67)/this._editor.getOption(52));let t=this._editor.getOption(19);return(!t||t<5)&&(t=this._editor.getOption(52)*.9|0),{fontSize:t,codeLensHeight:t*e|0}}_updateLensStyle(){const{codeLensHeight:e,fontSize:t}=this._getLayoutInfo(),i=this._editor.getOption(18),r=this._editor.getOption(50),{style:o}=this._editor.getContainerDomNode();o.setProperty("--vscode-editorCodeLens-lineHeight",`${e}px`),o.setProperty("--vscode-editorCodeLens-fontSize",`${t}px`),o.setProperty("--vscode-editorCodeLens-fontFeatureSettings",r.fontFeatureSettings),i&&(o.setProperty("--vscode-editorCodeLens-fontFamily",i),o.setProperty("--vscode-editorCodeLens-fontFamilyDefault",Vl.fontFamily)),this._editor.changeViewZones(s=>{for(const a of this._lenses)a.updateHeight(e,s)})}_localDispose(){var e,t,i;(e=this._getCodeLensModelPromise)===null||e===void 0||e.cancel(),this._getCodeLensModelPromise=void 0,(t=this._resolveCodeLensesPromise)===null||t===void 0||t.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),(i=this._currentCodeLensModel)===null||i===void 0||i.dispose()}_onModelChange(){this._localDispose();const e=this._editor.getModel();if(!e||!this._editor.getOption(17)||e.isTooLargeForTokenization())return;const t=this._codeLensCache.get(e);if(t&&this._renderCodeLensSymbols(t),!this._languageFeaturesService.codeLensProvider.has(e)){t&&Gb(()=>{const r=this._codeLensCache.get(e);t===r&&(this._codeLensCache.delete(e),this._onModelChange())},30*1e3,this._localToDispose);return}for(const r of this._languageFeaturesService.codeLensProvider.all(e))if(typeof r.onDidChange=="function"){const o=r.onDidChange(()=>i.schedule());this._localToDispose.add(o)}const i=new Wi(()=>{var r;const o=Date.now();(r=this._getCodeLensModelPromise)===null||r===void 0||r.cancel(),this._getCodeLensModelPromise=rs(s=>o2e(this._languageFeaturesService.codeLensProvider,e,s)),this._getCodeLensModelPromise.then(s=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=s,this._codeLensCache.put(e,s);const a=this._provideCodeLensDebounce.update(e,Date.now()-o);i.delay=a,this._renderCodeLensSymbols(s),this._resolveCodeLensesInViewportSoon()},yn)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(jt(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{var r;this._editor.changeDecorations(o=>{this._editor.changeViewZones(s=>{const a=[];let l=-1;this._lenses.forEach(c=>{!c.isValid()||l===c.getLineNumber()?a.push(c):(c.update(s),l=c.getLineNumber())});const u=new DK;a.forEach(c=>{c.dispose(u,s),this._lenses.splice(this._lenses.indexOf(c),1)}),u.commit(o)})}),i.schedule(),this._resolveCodeLensesScheduler.cancel(),(r=this._resolveCodeLensesPromise)===null||r===void 0||r.cancel(),this._resolveCodeLensesPromise=void 0})),this._localToDispose.add(this._editor.onDidFocusEditorWidget(()=>{i.schedule()})),this._localToDispose.add(this._editor.onDidBlurEditorText(()=>{i.cancel()})),this._localToDispose.add(this._editor.onDidScrollChange(r=>{r.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(this._editor.onDidLayoutChange(()=>{this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(jt(()=>{if(this._editor.getModel()){const r=zh.capture(this._editor);this._editor.changeDecorations(o=>{this._editor.changeViewZones(s=>{this._disposeAllLenses(o,s)})}),r.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onMouseDown(r=>{if(r.target.type!==9)return;let o=r.target.element;if((o==null?void 0:o.tagName)==="SPAN"&&(o=o.parentElement),(o==null?void 0:o.tagName)==="A")for(const s of this._lenses){const a=s.getCommand(o);if(a){this._commandService.executeCommand(a.id,...a.arguments||[]).catch(l=>this._notificationService.error(l));break}}})),i.schedule()}_disposeAllLenses(e,t){const i=new DK;for(const r of this._lenses)r.dispose(i,t);e&&i.commit(e),this._lenses.length=0}_renderCodeLensSymbols(e){if(!this._editor.hasModel())return;const t=this._editor.getModel().getLineCount(),i=[];let r;for(const a of e.lenses){const l=a.symbol.range.startLineNumber;l<1||l>t||(r&&r[r.length-1].symbol.range.startLineNumber===l?r.push(a):(r=[a],i.push(r)))}if(!i.length&&!this._lenses.length)return;const o=zh.capture(this._editor),s=this._getLayoutInfo();this._editor.changeDecorations(a=>{this._editor.changeViewZones(l=>{const u=new DK;let c=0,d=0;for(;dthis._resolveCodeLensesInViewportSoon())),c++,d++)}for(;cthis._resolveCodeLensesInViewportSoon())),d++;u.commit(a)})}),o.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){var e;(e=this._resolveCodeLensesPromise)===null||e===void 0||e.cancel(),this._resolveCodeLensesPromise=void 0;const t=this._editor.getModel();if(!t)return;const i=[],r=[];if(this._lenses.forEach(a=>{const l=a.computeIfNecessary(t);l&&(i.push(l),r.push(a))}),i.length===0)return;const o=Date.now(),s=rs(a=>{const l=i.map((u,c)=>{const d=new Array(u.length),h=u.map((m,f)=>!m.symbol.command&&typeof m.provider.resolveCodeLens=="function"?Promise.resolve(m.provider.resolveCodeLens(t,m.symbol,a)).then(g=>{d[f]=g},qr):(d[f]=m.symbol,Promise.resolve(void 0)));return Promise.all(h).then(()=>{!a.isCancellationRequested&&!r[c].isDisposed()&&r[c].updateCommands(d)})});return Promise.all(l)});this._resolveCodeLensesPromise=s,this._resolveCodeLensesPromise.then(()=>{const a=this._resolveCodeLensesDebounce.update(t,Date.now()-o);this._resolveCodeLensesScheduler.delay=a,this._currentCodeLensModel&&this._codeLensCache.put(t,this._currentCodeLensModel),this._oldCodeLensModels.clear(),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)},a=>{yn(a),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)})}async getModel(){var e;return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,!((e=this._currentCodeLensModel)===null||e===void 0)&&e.isDisposed?void 0:this._currentCodeLensModel}};K2.ID="css.editor.codeLens",K2=bFt([dN(1,Rt),dN(2,Qc),dN(3,Xr),dN(4,Mo),dN(5,s2e)],K2),vi(K2.ID,K2,1),tt(class extends Nt{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:ne.hasCodeLensProvider,label:_("showLensOnLine","Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}async run(e,t){if(!t.hasModel())return;const i=e.get(Vv),r=e.get(Xr),o=e.get(Mo),s=t.getSelection().positionLineNumber,a=t.getContribution(K2.ID);if(!a)return;const l=await a.getModel();if(!l)return;const u=[];for(const h of l.lenses)h.symbol.command&&h.symbol.range.startLineNumber===s&&u.push({label:h.symbol.command.title,command:h.symbol.command});if(u.length===0)return;const c=await i.pick(u,{canPickMany:!1,placeHolder:_("placeHolder","Select a command")});if(!c)return;let d=c.command;if(l.isDisposed){const h=await a.getModel(),m=h==null?void 0:h.lenses.find(f=>{var g;return f.symbol.range.startLineNumber===s&&((g=f.symbol.command)===null||g===void 0?void 0:g.title)===d.title});if(!m||!m.symbol.command)return;d=m.symbol.command}try{await r.executeCommand(d.id,...d.arguments||[])}catch(h){o.error(h)}}});const yFt="$initialize";let d2e=!1;function kK(n){Vb&&(d2e||(d2e=!0))}class vFt{constructor(e,t,i,r){this.vsWorker=e,this.req=t,this.method=i,this.args=r,this.type=0}}class h2e{constructor(e,t,i,r){this.vsWorker=e,this.seq=t,this.res=i,this.err=r,this.type=1}}class CFt{constructor(e,t,i,r){this.vsWorker=e,this.req=t,this.eventName=i,this.arg=r,this.type=2}}class SFt{constructor(e,t,i){this.vsWorker=e,this.req=t,this.event=i,this.type=3}}class wFt{constructor(e,t){this.vsWorker=e,this.req=t,this.type=4}}class xFt{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(e){this._workerId=e}sendMessage(e,t){const i=String(++this._lastSentReq);return new Promise((r,o)=>{this._pendingReplies[i]={resolve:r,reject:o},this._send(new vFt(this._workerId,i,e,t))})}listen(e,t){let i=null;const r=new be({onWillAddFirstListener:()=>{i=String(++this._lastSentReq),this._pendingEmitters.set(i,r),this._send(new CFt(this._workerId,i,e,t))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(i),this._send(new wFt(this._workerId,i)),i=null}});return r.event}handleMessage(e){!e||!e.vsWorker||this._workerId!==-1&&e.vsWorker!==this._workerId||this._handleMessage(e)}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq])return;const t=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let i=e.err;e.err.$isError&&(i=new Error,i.name=e.err.name,i.message=e.err.message,i.stack=e.err.stack),t.reject(i);return}t.resolve(e.res)}_handleRequestMessage(e){const t=e.req;this._handler.handleMessage(e.method,e.args).then(r=>{this._send(new h2e(this._workerId,t,r,void 0))},r=>{r.detail instanceof Error&&(r.detail=Ebe(r.detail)),this._send(new h2e(this._workerId,t,void 0,Ebe(r)))})}_handleSubscribeEventMessage(e){const t=e.req,i=this._handler.handleEvent(e.eventName,e.arg)(r=>{this._send(new SFt(this._workerId,t,r))});this._pendingEvents.set(t,i)}_handleEventMessage(e){this._pendingEmitters.has(e.req)&&this._pendingEmitters.get(e.req).fire(e.event)}_handleUnsubscribeEventMessage(e){this._pendingEvents.has(e.req)&&(this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req))}_send(e){const t=[];if(e.type===0)for(let i=0;i{this._protocol.handleMessage(c)},c=>{r==null||r(c)})),this._protocol=new xFt({sendMessage:(c,d)=>{this._worker.postMessage(c,d)},handleMessage:(c,d)=>{if(typeof i[c]!="function")return Promise.reject(new Error("Missing method "+c+" on main thread host."));try{return Promise.resolve(i[c].apply(i,d))}catch(h){return Promise.reject(h)}},handleEvent:(c,d)=>{if(f2e(c)){const h=i[c].call(i,d);if(typeof h!="function")throw new Error(`Missing dynamic event ${c} on main thread host.`);return h}if(m2e(c)){const h=i[c];if(typeof h!="function")throw new Error(`Missing event ${c} on main thread host.`);return h}throw new Error(`Malformed event name ${c}`)}}),this._protocol.setWorkerId(this._worker.getId());let o=null;const s=globalThis.require;typeof s<"u"&&typeof s.getConfig=="function"?o=s.getConfig():typeof globalThis.requirejs<"u"&&(o=globalThis.requirejs.s.contexts._.config);const a=l6(i);this._onModuleLoaded=this._protocol.sendMessage(yFt,[this._worker.getId(),JSON.parse(JSON.stringify(o)),t,a]);const l=(c,d)=>this._request(c,d),u=(c,d)=>this._protocol.listen(c,d);this._lazyProxy=new Promise((c,d)=>{r=d,this._onModuleLoaded.then(h=>{c(LFt(h,l,u))},h=>{d(h),this._onError("Worker failed to load "+t,h)})})}getProxyObject(){return this._lazyProxy}_request(e,t){return new Promise((i,r)=>{this._onModuleLoaded.then(()=>{this._protocol.sendMessage(e,t).then(i,r)},r)})}_onError(e,t){}}function m2e(n){return n[0]==="o"&&n[1]==="n"&&Om(n.charCodeAt(2))}function f2e(n){return/^onDynamic/.test(n)&&Om(n.charCodeAt(9))}function LFt(n,e,t){const i=s=>function(){const a=Array.prototype.slice.call(arguments,0);return e(s,a)},r=s=>function(a){return t(s,a)},o={};for(const s of n){if(f2e(s)){o[s]=r(s);continue}if(m2e(s)){o[s]=t(s,void 0);continue}o[s]=i(s)}return o}const g2e=jg("defaultWorkerFactory",{createScriptURL:n=>n});function IFt(n){const e=globalThis.MonacoEnvironment;if(e){if(typeof e.getWorker=="function")return e.getWorker("workerMain.js",n);if(typeof e.getWorkerUrl=="function"){const t=e.getWorkerUrl("workerMain.js",n);return new Worker(g2e?g2e.createScriptURL(t):t,{name:n})}}throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}function FFt(n){return typeof n.then=="function"}class DFt extends Fe{constructor(e,t,i,r,o){super(),this.id=t,this.label=i;const s=IFt(i);FFt(s)?this.worker=s:this.worker=Promise.resolve(s),this.postMessage(e,[]),this.worker.then(a=>{a.onmessage=function(l){r(l.data)},a.onmessageerror=o,typeof a.addEventListener=="function"&&a.addEventListener("error",o)}),this._register(jt(()=>{var a;(a=this.worker)===null||a===void 0||a.then(l=>{l.onmessage=null,l.onmessageerror=null,l.removeEventListener("error",o),l.terminate()}),this.worker=null}))}getId(){return this.id}postMessage(e,t){var i;(i=this.worker)===null||i===void 0||i.then(r=>{try{r.postMessage(e,t)}catch(o){yn(o),yn(new Error(`FAILED to post message to '${this.label}'-worker`,{cause:o}))}})}}class o3{constructor(e){this._label=e,this._webWorkerFailedBeforeError=!1}create(e,t,i){const r=++o3.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new DFt(e,r,this._label||"anonymous"+r,t,o=>{kK(o),this._webWorkerFailedBeforeError=o,i(o)})}}o3.LAST_WORKER_ID=0;class R0{constructor(e,t,i,r){this.originalStart=e,this.originalLength=t,this.modifiedStart=i,this.modifiedLength=r}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}class p2e{constructor(e){this.source=e}getElements(){const e=this.source,t=new Int32Array(e.length);for(let i=0,r=e.length;i0||this.m_modifiedCount>0)&&this.m_changes.push(new R0(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++}AddModifiedElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class Df{constructor(e,t,i=null){this.ContinueProcessingPredicate=i,this._originalSequence=e,this._modifiedSequence=t;const[r,o,s]=Df._getElements(e),[a,l,u]=Df._getElements(t);this._hasStrings=s&&u,this._originalStringElements=r,this._originalElementsOrHash=o,this._modifiedStringElements=a,this._modifiedElementsOrHash=l,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&typeof e[0]=="string"}static _getElements(e){const t=e.getElements();if(Df._isStringArray(t)){const i=new Int32Array(t.length);for(let r=0,o=t.length;r=e&&r>=i&&this.ElementsAreEqual(t,r);)t--,r--;if(e>t||i>r){let d;return i<=r?(J2.Assert(e===t+1,"originalStart should only be one more than originalEnd"),d=[new R0(e,0,i,r-i+1)]):e<=t?(J2.Assert(i===r+1,"modifiedStart should only be one more than modifiedEnd"),d=[new R0(e,t-e+1,i,0)]):(J2.Assert(e===t+1,"originalStart should only be one more than originalEnd"),J2.Assert(i===r+1,"modifiedStart should only be one more than modifiedEnd"),d=[]),d}const s=[0],a=[0],l=this.ComputeRecursionPoint(e,t,i,r,s,a,o),u=s[0],c=a[0];if(l!==null)return l;if(!o[0]){const d=this.ComputeDiffRecursive(e,u,i,c,o);let h=[];return o[0]?h=[new R0(u+1,t-(u+1)+1,c+1,r-(c+1)+1)]:h=this.ComputeDiffRecursive(u+1,t,c+1,r,o),this.ConcatenateChanges(d,h)}return[new R0(e,t-e+1,i,r-i+1)]}WALKTRACE(e,t,i,r,o,s,a,l,u,c,d,h,m,f,g,b,y,C){let w=null,x=null,L=new b2e,I=t,D=i,N=m[0]-b[0]-r,T=-1073741824,R=this.m_forwardHistory.length-1;do{const E=N+e;E===I||E=0&&(u=this.m_forwardHistory[R],e=u[0],I=1,D=u.length-1)}while(--R>=-1);if(w=L.getReverseChanges(),C[0]){let E=m[0]+1,W=b[0]+1;if(w!==null&&w.length>0){const Z=w[w.length-1];E=Math.max(E,Z.getOriginalEnd()),W=Math.max(W,Z.getModifiedEnd())}x=[new R0(E,h-E+1,W,g-W+1)]}else{L=new b2e,I=s,D=a,N=m[0]-b[0]-l,T=1073741824,R=y?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const E=N+o;E===I||E=c[E+1]?(d=c[E+1]-1,f=d-N-l,d>T&&L.MarkNextChange(),T=d+1,L.AddOriginalElement(d+1,f+1),N=E+1-o):(d=c[E-1],f=d-N-l,d>T&&L.MarkNextChange(),T=d,L.AddModifiedElement(d+1,f+1),N=E-1-o),R>=0&&(c=this.m_reverseHistory[R],o=c[0],I=1,D=c.length-1)}while(--R>=-1);x=L.getChanges()}return this.ConcatenateChanges(w,x)}ComputeRecursionPoint(e,t,i,r,o,s,a){let l=0,u=0,c=0,d=0,h=0,m=0;e--,i--,o[0]=0,s[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const f=t-e+(r-i),g=f+1,b=new Int32Array(g),y=new Int32Array(g),C=r-i,w=t-e,x=e-i,L=t-r,D=(w-C)%2===0;b[C]=e,y[w]=t,a[0]=!1;for(let N=1;N<=f/2+1;N++){let T=0,R=0;c=this.ClipDiagonalBound(C-N,N,C,g),d=this.ClipDiagonalBound(C+N,N,C,g);for(let W=c;W<=d;W+=2){W===c||WT+R&&(T=l,R=u),!D&&Math.abs(W-w)<=N-1&&l>=y[W])return o[0]=l,s[0]=u,Z<=y[W]&&N<=1448?this.WALKTRACE(C,c,d,x,w,h,m,L,b,y,l,t,o,u,r,s,D,a):null}const E=(T-e+(R-i)-N)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(T,E))return a[0]=!0,o[0]=T,s[0]=R,E>0&&N<=1448?this.WALKTRACE(C,c,d,x,w,h,m,L,b,y,l,t,o,u,r,s,D,a):(e++,i++,[new R0(e,t-e+1,i,r-i+1)]);h=this.ClipDiagonalBound(w-N,N,w,g),m=this.ClipDiagonalBound(w+N,N,w,g);for(let W=h;W<=m;W+=2){W===h||W=y[W+1]?l=y[W+1]-1:l=y[W-1],u=l-(W-w)-L;const Z=l;for(;l>e&&u>i&&this.ElementsAreEqual(l,u);)l--,u--;if(y[W]=l,D&&Math.abs(W-C)<=N&&l<=b[W])return o[0]=l,s[0]=u,Z>=b[W]&&N<=1448?this.WALKTRACE(C,c,d,x,w,h,m,L,b,y,l,t,o,u,r,s,D,a):null}if(N<=1447){let W=new Int32Array(d-c+2);W[0]=C-c+1,j2.Copy2(b,c,W,1,d-c+1),this.m_forwardHistory.push(W),W=new Int32Array(m-h+2),W[0]=w-h+1,j2.Copy2(y,h,W,1,m-h+1),this.m_reverseHistory.push(W)}}return this.WALKTRACE(C,c,d,x,w,h,m,L,b,y,l,t,o,u,r,s,D,a)}PrettifyChanges(e){for(let t=0;t0,a=i.modifiedLength>0;for(;i.originalStart+i.originalLength=0;t--){const i=e[t];let r=0,o=0;if(t>0){const d=e[t-1];r=d.originalStart+d.originalLength,o=d.modifiedStart+d.modifiedLength}const s=i.originalLength>0,a=i.modifiedLength>0;let l=0,u=this._boundaryScore(i.originalStart,i.originalLength,i.modifiedStart,i.modifiedLength);for(let d=1;;d++){const h=i.originalStart-d,m=i.modifiedStart-d;if(hu&&(u=g,l=d)}i.originalStart-=l,i.modifiedStart-=l;const c=[null];if(t>0&&this.ChangesOverlap(e[t-1],e[t],c)){e[t-1]=c[0],e.splice(t,1),t++;continue}}if(this._hasStrings)for(let t=1,i=e.length;t0&&m>l&&(l=m,u=d,c=h)}return l>0?[u,c]:null}_contiguousSequenceScore(e,t,i){let r=0;for(let o=0;o=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){const i=e+t;if(this._OriginalIsBoundary(i-1)||this._OriginalIsBoundary(i))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){const i=e+t;if(this._ModifiedIsBoundary(i-1)||this._ModifiedIsBoundary(i))return!0}return!1}_boundaryScore(e,t,i,r){const o=this._OriginalRegionIsBoundary(e,t)?1:0,s=this._ModifiedRegionIsBoundary(i,r)?1:0;return o+s}ConcatenateChanges(e,t){const i=[];if(e.length===0||t.length===0)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],i)){const r=new Array(e.length+t.length-1);return j2.Copy(e,0,r,0,e.length-1),r[e.length-1]=i[0],j2.Copy(t,1,r,e.length,t.length-1),r}else{const r=new Array(e.length+t.length);return j2.Copy(e,0,r,0,e.length),j2.Copy(t,0,r,e.length,t.length),r}}ChangesOverlap(e,t,i){if(J2.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),J2.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){const r=e.originalStart;let o=e.originalLength;const s=e.modifiedStart;let a=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(o=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(a=t.modifiedStart+t.modifiedLength-e.modifiedStart),i[0]=new R0(r,o,s,a),!0}else return i[0]=null,!1}ClipDiagonalBound(e,t,i,r){if(e>=0&&et&&(t=l),a>i&&(i=a),u>i&&(i=u)}t++,i++;const r=new kFt(i,t,0);for(let o=0,s=e.length;o=this._maxCharCode?0:this._states.get(e,t)}}let TK=null;function EFt(){return TK===null&&(TK=new TFt([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),TK}let hN=null;function RFt(){if(hN===null){hN=new Mw(0);const n=` <>'"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…`;for(let t=0;tr);if(r>0){const a=t.charCodeAt(r-1),l=t.charCodeAt(s);(a===40&&l===41||a===91&&l===93||a===123&&l===125)&&s--}return{range:{startLineNumber:i,startColumn:r+1,endLineNumber:i,endColumn:s+2},url:t.substring(r,s+1)}}static computeLinks(e,t=EFt()){const i=RFt(),r=[];for(let o=1,s=e.getLineCount();o<=s;o++){const a=e.getLineContent(o),l=a.length;let u=0,c=0,d=0,h=1,m=!1,f=!1,g=!1,b=!1;for(;u=0?(r+=i?1:-1,r<0?r=e.length-1:r%=e.length,e[r]):null}}EK.INSTANCE=new EK;var RK;(function(n){n[n.Unknown=0]="Unknown",n[n.Disabled=1]="Disabled",n[n.Enabled=2]="Enabled"})(RK||(RK={}));var ZK;(function(n){n[n.Invoke=1]="Invoke",n[n.Auto=2]="Auto"})(ZK||(ZK={}));var WK;(function(n){n[n.None=0]="None",n[n.KeepWhitespace=1]="KeepWhitespace",n[n.InsertAsSnippet=4]="InsertAsSnippet"})(WK||(WK={}));var AK;(function(n){n[n.Method=0]="Method",n[n.Function=1]="Function",n[n.Constructor=2]="Constructor",n[n.Field=3]="Field",n[n.Variable=4]="Variable",n[n.Class=5]="Class",n[n.Struct=6]="Struct",n[n.Interface=7]="Interface",n[n.Module=8]="Module",n[n.Property=9]="Property",n[n.Event=10]="Event",n[n.Operator=11]="Operator",n[n.Unit=12]="Unit",n[n.Value=13]="Value",n[n.Constant=14]="Constant",n[n.Enum=15]="Enum",n[n.EnumMember=16]="EnumMember",n[n.Keyword=17]="Keyword",n[n.Text=18]="Text",n[n.Color=19]="Color",n[n.File=20]="File",n[n.Reference=21]="Reference",n[n.Customcolor=22]="Customcolor",n[n.Folder=23]="Folder",n[n.TypeParameter=24]="TypeParameter",n[n.User=25]="User",n[n.Issue=26]="Issue",n[n.Snippet=27]="Snippet"})(AK||(AK={}));var VK;(function(n){n[n.Deprecated=1]="Deprecated"})(VK||(VK={}));var GK;(function(n){n[n.Invoke=0]="Invoke",n[n.TriggerCharacter=1]="TriggerCharacter",n[n.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"})(GK||(GK={}));var XK;(function(n){n[n.EXACT=0]="EXACT",n[n.ABOVE=1]="ABOVE",n[n.BELOW=2]="BELOW"})(XK||(XK={}));var PK;(function(n){n[n.NotSet=0]="NotSet",n[n.ContentFlush=1]="ContentFlush",n[n.RecoverFromMarkers=2]="RecoverFromMarkers",n[n.Explicit=3]="Explicit",n[n.Paste=4]="Paste",n[n.Undo=5]="Undo",n[n.Redo=6]="Redo"})(PK||(PK={}));var OK;(function(n){n[n.LF=1]="LF",n[n.CRLF=2]="CRLF"})(OK||(OK={}));var BK;(function(n){n[n.Text=0]="Text",n[n.Read=1]="Read",n[n.Write=2]="Write"})(BK||(BK={}));var zK;(function(n){n[n.None=0]="None",n[n.Keep=1]="Keep",n[n.Brackets=2]="Brackets",n[n.Advanced=3]="Advanced",n[n.Full=4]="Full"})(zK||(zK={}));var HK;(function(n){n[n.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",n[n.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",n[n.accessibilitySupport=2]="accessibilitySupport",n[n.accessibilityPageSize=3]="accessibilityPageSize",n[n.ariaLabel=4]="ariaLabel",n[n.ariaRequired=5]="ariaRequired",n[n.autoClosingBrackets=6]="autoClosingBrackets",n[n.autoClosingComments=7]="autoClosingComments",n[n.screenReaderAnnounceInlineSuggestion=8]="screenReaderAnnounceInlineSuggestion",n[n.autoClosingDelete=9]="autoClosingDelete",n[n.autoClosingOvertype=10]="autoClosingOvertype",n[n.autoClosingQuotes=11]="autoClosingQuotes",n[n.autoIndent=12]="autoIndent",n[n.automaticLayout=13]="automaticLayout",n[n.autoSurround=14]="autoSurround",n[n.bracketPairColorization=15]="bracketPairColorization",n[n.guides=16]="guides",n[n.codeLens=17]="codeLens",n[n.codeLensFontFamily=18]="codeLensFontFamily",n[n.codeLensFontSize=19]="codeLensFontSize",n[n.colorDecorators=20]="colorDecorators",n[n.colorDecoratorsLimit=21]="colorDecoratorsLimit",n[n.columnSelection=22]="columnSelection",n[n.comments=23]="comments",n[n.contextmenu=24]="contextmenu",n[n.copyWithSyntaxHighlighting=25]="copyWithSyntaxHighlighting",n[n.cursorBlinking=26]="cursorBlinking",n[n.cursorSmoothCaretAnimation=27]="cursorSmoothCaretAnimation",n[n.cursorStyle=28]="cursorStyle",n[n.cursorSurroundingLines=29]="cursorSurroundingLines",n[n.cursorSurroundingLinesStyle=30]="cursorSurroundingLinesStyle",n[n.cursorWidth=31]="cursorWidth",n[n.disableLayerHinting=32]="disableLayerHinting",n[n.disableMonospaceOptimizations=33]="disableMonospaceOptimizations",n[n.domReadOnly=34]="domReadOnly",n[n.dragAndDrop=35]="dragAndDrop",n[n.dropIntoEditor=36]="dropIntoEditor",n[n.emptySelectionClipboard=37]="emptySelectionClipboard",n[n.experimentalWhitespaceRendering=38]="experimentalWhitespaceRendering",n[n.extraEditorClassName=39]="extraEditorClassName",n[n.fastScrollSensitivity=40]="fastScrollSensitivity",n[n.find=41]="find",n[n.fixedOverflowWidgets=42]="fixedOverflowWidgets",n[n.folding=43]="folding",n[n.foldingStrategy=44]="foldingStrategy",n[n.foldingHighlight=45]="foldingHighlight",n[n.foldingImportsByDefault=46]="foldingImportsByDefault",n[n.foldingMaximumRegions=47]="foldingMaximumRegions",n[n.unfoldOnClickAfterEndOfLine=48]="unfoldOnClickAfterEndOfLine",n[n.fontFamily=49]="fontFamily",n[n.fontInfo=50]="fontInfo",n[n.fontLigatures=51]="fontLigatures",n[n.fontSize=52]="fontSize",n[n.fontWeight=53]="fontWeight",n[n.fontVariations=54]="fontVariations",n[n.formatOnPaste=55]="formatOnPaste",n[n.formatOnType=56]="formatOnType",n[n.glyphMargin=57]="glyphMargin",n[n.gotoLocation=58]="gotoLocation",n[n.hideCursorInOverviewRuler=59]="hideCursorInOverviewRuler",n[n.hover=60]="hover",n[n.inDiffEditor=61]="inDiffEditor",n[n.inlineSuggest=62]="inlineSuggest",n[n.inlineEdit=63]="inlineEdit",n[n.letterSpacing=64]="letterSpacing",n[n.lightbulb=65]="lightbulb",n[n.lineDecorationsWidth=66]="lineDecorationsWidth",n[n.lineHeight=67]="lineHeight",n[n.lineNumbers=68]="lineNumbers",n[n.lineNumbersMinChars=69]="lineNumbersMinChars",n[n.linkedEditing=70]="linkedEditing",n[n.links=71]="links",n[n.matchBrackets=72]="matchBrackets",n[n.minimap=73]="minimap",n[n.mouseStyle=74]="mouseStyle",n[n.mouseWheelScrollSensitivity=75]="mouseWheelScrollSensitivity",n[n.mouseWheelZoom=76]="mouseWheelZoom",n[n.multiCursorMergeOverlapping=77]="multiCursorMergeOverlapping",n[n.multiCursorModifier=78]="multiCursorModifier",n[n.multiCursorPaste=79]="multiCursorPaste",n[n.multiCursorLimit=80]="multiCursorLimit",n[n.occurrencesHighlight=81]="occurrencesHighlight",n[n.overviewRulerBorder=82]="overviewRulerBorder",n[n.overviewRulerLanes=83]="overviewRulerLanes",n[n.padding=84]="padding",n[n.pasteAs=85]="pasteAs",n[n.parameterHints=86]="parameterHints",n[n.peekWidgetDefaultFocus=87]="peekWidgetDefaultFocus",n[n.definitionLinkOpensInPeek=88]="definitionLinkOpensInPeek",n[n.quickSuggestions=89]="quickSuggestions",n[n.quickSuggestionsDelay=90]="quickSuggestionsDelay",n[n.readOnly=91]="readOnly",n[n.readOnlyMessage=92]="readOnlyMessage",n[n.renameOnType=93]="renameOnType",n[n.renderControlCharacters=94]="renderControlCharacters",n[n.renderFinalNewline=95]="renderFinalNewline",n[n.renderLineHighlight=96]="renderLineHighlight",n[n.renderLineHighlightOnlyWhenFocus=97]="renderLineHighlightOnlyWhenFocus",n[n.renderValidationDecorations=98]="renderValidationDecorations",n[n.renderWhitespace=99]="renderWhitespace",n[n.revealHorizontalRightPadding=100]="revealHorizontalRightPadding",n[n.roundedSelection=101]="roundedSelection",n[n.rulers=102]="rulers",n[n.scrollbar=103]="scrollbar",n[n.scrollBeyondLastColumn=104]="scrollBeyondLastColumn",n[n.scrollBeyondLastLine=105]="scrollBeyondLastLine",n[n.scrollPredominantAxis=106]="scrollPredominantAxis",n[n.selectionClipboard=107]="selectionClipboard",n[n.selectionHighlight=108]="selectionHighlight",n[n.selectOnLineNumbers=109]="selectOnLineNumbers",n[n.showFoldingControls=110]="showFoldingControls",n[n.showUnused=111]="showUnused",n[n.snippetSuggestions=112]="snippetSuggestions",n[n.smartSelect=113]="smartSelect",n[n.smoothScrolling=114]="smoothScrolling",n[n.stickyScroll=115]="stickyScroll",n[n.stickyTabStops=116]="stickyTabStops",n[n.stopRenderingLineAfter=117]="stopRenderingLineAfter",n[n.suggest=118]="suggest",n[n.suggestFontSize=119]="suggestFontSize",n[n.suggestLineHeight=120]="suggestLineHeight",n[n.suggestOnTriggerCharacters=121]="suggestOnTriggerCharacters",n[n.suggestSelection=122]="suggestSelection",n[n.tabCompletion=123]="tabCompletion",n[n.tabIndex=124]="tabIndex",n[n.unicodeHighlighting=125]="unicodeHighlighting",n[n.unusualLineTerminators=126]="unusualLineTerminators",n[n.useShadowDOM=127]="useShadowDOM",n[n.useTabStops=128]="useTabStops",n[n.wordBreak=129]="wordBreak",n[n.wordSegmenterLocales=130]="wordSegmenterLocales",n[n.wordSeparators=131]="wordSeparators",n[n.wordWrap=132]="wordWrap",n[n.wordWrapBreakAfterCharacters=133]="wordWrapBreakAfterCharacters",n[n.wordWrapBreakBeforeCharacters=134]="wordWrapBreakBeforeCharacters",n[n.wordWrapColumn=135]="wordWrapColumn",n[n.wordWrapOverride1=136]="wordWrapOverride1",n[n.wordWrapOverride2=137]="wordWrapOverride2",n[n.wrappingIndent=138]="wrappingIndent",n[n.wrappingStrategy=139]="wrappingStrategy",n[n.showDeprecated=140]="showDeprecated",n[n.inlayHints=141]="inlayHints",n[n.editorClassName=142]="editorClassName",n[n.pixelRatio=143]="pixelRatio",n[n.tabFocusMode=144]="tabFocusMode",n[n.layoutInfo=145]="layoutInfo",n[n.wrappingInfo=146]="wrappingInfo",n[n.defaultColorDecorators=147]="defaultColorDecorators",n[n.colorDecoratorsActivatedOn=148]="colorDecoratorsActivatedOn",n[n.inlineCompletionsAccessibilityVerbose=149]="inlineCompletionsAccessibilityVerbose"})(HK||(HK={}));var YK;(function(n){n[n.TextDefined=0]="TextDefined",n[n.LF=1]="LF",n[n.CRLF=2]="CRLF"})(YK||(YK={}));var UK;(function(n){n[n.LF=0]="LF",n[n.CRLF=1]="CRLF"})(UK||(UK={}));var KK;(function(n){n[n.Left=1]="Left",n[n.Center=2]="Center",n[n.Right=3]="Right"})(KK||(KK={}));var JK;(function(n){n[n.None=0]="None",n[n.Indent=1]="Indent",n[n.IndentOutdent=2]="IndentOutdent",n[n.Outdent=3]="Outdent"})(JK||(JK={}));var jK;(function(n){n[n.Both=0]="Both",n[n.Right=1]="Right",n[n.Left=2]="Left",n[n.None=3]="None"})(jK||(jK={}));var QK;(function(n){n[n.Type=1]="Type",n[n.Parameter=2]="Parameter"})(QK||(QK={}));var $K;(function(n){n[n.Automatic=0]="Automatic",n[n.Explicit=1]="Explicit"})($K||($K={}));var qK;(function(n){n[n.Invoke=0]="Invoke",n[n.Automatic=1]="Automatic"})(qK||(qK={}));var eJ;(function(n){n[n.DependsOnKbLayout=-1]="DependsOnKbLayout",n[n.Unknown=0]="Unknown",n[n.Backspace=1]="Backspace",n[n.Tab=2]="Tab",n[n.Enter=3]="Enter",n[n.Shift=4]="Shift",n[n.Ctrl=5]="Ctrl",n[n.Alt=6]="Alt",n[n.PauseBreak=7]="PauseBreak",n[n.CapsLock=8]="CapsLock",n[n.Escape=9]="Escape",n[n.Space=10]="Space",n[n.PageUp=11]="PageUp",n[n.PageDown=12]="PageDown",n[n.End=13]="End",n[n.Home=14]="Home",n[n.LeftArrow=15]="LeftArrow",n[n.UpArrow=16]="UpArrow",n[n.RightArrow=17]="RightArrow",n[n.DownArrow=18]="DownArrow",n[n.Insert=19]="Insert",n[n.Delete=20]="Delete",n[n.Digit0=21]="Digit0",n[n.Digit1=22]="Digit1",n[n.Digit2=23]="Digit2",n[n.Digit3=24]="Digit3",n[n.Digit4=25]="Digit4",n[n.Digit5=26]="Digit5",n[n.Digit6=27]="Digit6",n[n.Digit7=28]="Digit7",n[n.Digit8=29]="Digit8",n[n.Digit9=30]="Digit9",n[n.KeyA=31]="KeyA",n[n.KeyB=32]="KeyB",n[n.KeyC=33]="KeyC",n[n.KeyD=34]="KeyD",n[n.KeyE=35]="KeyE",n[n.KeyF=36]="KeyF",n[n.KeyG=37]="KeyG",n[n.KeyH=38]="KeyH",n[n.KeyI=39]="KeyI",n[n.KeyJ=40]="KeyJ",n[n.KeyK=41]="KeyK",n[n.KeyL=42]="KeyL",n[n.KeyM=43]="KeyM",n[n.KeyN=44]="KeyN",n[n.KeyO=45]="KeyO",n[n.KeyP=46]="KeyP",n[n.KeyQ=47]="KeyQ",n[n.KeyR=48]="KeyR",n[n.KeyS=49]="KeyS",n[n.KeyT=50]="KeyT",n[n.KeyU=51]="KeyU",n[n.KeyV=52]="KeyV",n[n.KeyW=53]="KeyW",n[n.KeyX=54]="KeyX",n[n.KeyY=55]="KeyY",n[n.KeyZ=56]="KeyZ",n[n.Meta=57]="Meta",n[n.ContextMenu=58]="ContextMenu",n[n.F1=59]="F1",n[n.F2=60]="F2",n[n.F3=61]="F3",n[n.F4=62]="F4",n[n.F5=63]="F5",n[n.F6=64]="F6",n[n.F7=65]="F7",n[n.F8=66]="F8",n[n.F9=67]="F9",n[n.F10=68]="F10",n[n.F11=69]="F11",n[n.F12=70]="F12",n[n.F13=71]="F13",n[n.F14=72]="F14",n[n.F15=73]="F15",n[n.F16=74]="F16",n[n.F17=75]="F17",n[n.F18=76]="F18",n[n.F19=77]="F19",n[n.F20=78]="F20",n[n.F21=79]="F21",n[n.F22=80]="F22",n[n.F23=81]="F23",n[n.F24=82]="F24",n[n.NumLock=83]="NumLock",n[n.ScrollLock=84]="ScrollLock",n[n.Semicolon=85]="Semicolon",n[n.Equal=86]="Equal",n[n.Comma=87]="Comma",n[n.Minus=88]="Minus",n[n.Period=89]="Period",n[n.Slash=90]="Slash",n[n.Backquote=91]="Backquote",n[n.BracketLeft=92]="BracketLeft",n[n.Backslash=93]="Backslash",n[n.BracketRight=94]="BracketRight",n[n.Quote=95]="Quote",n[n.OEM_8=96]="OEM_8",n[n.IntlBackslash=97]="IntlBackslash",n[n.Numpad0=98]="Numpad0",n[n.Numpad1=99]="Numpad1",n[n.Numpad2=100]="Numpad2",n[n.Numpad3=101]="Numpad3",n[n.Numpad4=102]="Numpad4",n[n.Numpad5=103]="Numpad5",n[n.Numpad6=104]="Numpad6",n[n.Numpad7=105]="Numpad7",n[n.Numpad8=106]="Numpad8",n[n.Numpad9=107]="Numpad9",n[n.NumpadMultiply=108]="NumpadMultiply",n[n.NumpadAdd=109]="NumpadAdd",n[n.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",n[n.NumpadSubtract=111]="NumpadSubtract",n[n.NumpadDecimal=112]="NumpadDecimal",n[n.NumpadDivide=113]="NumpadDivide",n[n.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",n[n.ABNT_C1=115]="ABNT_C1",n[n.ABNT_C2=116]="ABNT_C2",n[n.AudioVolumeMute=117]="AudioVolumeMute",n[n.AudioVolumeUp=118]="AudioVolumeUp",n[n.AudioVolumeDown=119]="AudioVolumeDown",n[n.BrowserSearch=120]="BrowserSearch",n[n.BrowserHome=121]="BrowserHome",n[n.BrowserBack=122]="BrowserBack",n[n.BrowserForward=123]="BrowserForward",n[n.MediaTrackNext=124]="MediaTrackNext",n[n.MediaTrackPrevious=125]="MediaTrackPrevious",n[n.MediaStop=126]="MediaStop",n[n.MediaPlayPause=127]="MediaPlayPause",n[n.LaunchMediaPlayer=128]="LaunchMediaPlayer",n[n.LaunchMail=129]="LaunchMail",n[n.LaunchApp2=130]="LaunchApp2",n[n.Clear=131]="Clear",n[n.MAX_VALUE=132]="MAX_VALUE"})(eJ||(eJ={}));var tJ;(function(n){n[n.Hint=1]="Hint",n[n.Info=2]="Info",n[n.Warning=4]="Warning",n[n.Error=8]="Error"})(tJ||(tJ={}));var nJ;(function(n){n[n.Unnecessary=1]="Unnecessary",n[n.Deprecated=2]="Deprecated"})(nJ||(nJ={}));var iJ;(function(n){n[n.Inline=1]="Inline",n[n.Gutter=2]="Gutter"})(iJ||(iJ={}));var rJ;(function(n){n[n.Normal=1]="Normal",n[n.Underlined=2]="Underlined"})(rJ||(rJ={}));var oJ;(function(n){n[n.UNKNOWN=0]="UNKNOWN",n[n.TEXTAREA=1]="TEXTAREA",n[n.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",n[n.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",n[n.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",n[n.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",n[n.CONTENT_TEXT=6]="CONTENT_TEXT",n[n.CONTENT_EMPTY=7]="CONTENT_EMPTY",n[n.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",n[n.CONTENT_WIDGET=9]="CONTENT_WIDGET",n[n.OVERVIEW_RULER=10]="OVERVIEW_RULER",n[n.SCROLLBAR=11]="SCROLLBAR",n[n.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",n[n.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"})(oJ||(oJ={}));var sJ;(function(n){n[n.AIGenerated=1]="AIGenerated"})(sJ||(sJ={}));var aJ;(function(n){n[n.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",n[n.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",n[n.TOP_CENTER=2]="TOP_CENTER"})(aJ||(aJ={}));var lJ;(function(n){n[n.Left=1]="Left",n[n.Center=2]="Center",n[n.Right=4]="Right",n[n.Full=7]="Full"})(lJ||(lJ={}));var uJ;(function(n){n[n.Word=0]="Word",n[n.Line=1]="Line",n[n.Suggest=2]="Suggest"})(uJ||(uJ={}));var cJ;(function(n){n[n.Left=0]="Left",n[n.Right=1]="Right",n[n.None=2]="None",n[n.LeftOfInjectedText=3]="LeftOfInjectedText",n[n.RightOfInjectedText=4]="RightOfInjectedText"})(cJ||(cJ={}));var dJ;(function(n){n[n.Off=0]="Off",n[n.On=1]="On",n[n.Relative=2]="Relative",n[n.Interval=3]="Interval",n[n.Custom=4]="Custom"})(dJ||(dJ={}));var hJ;(function(n){n[n.None=0]="None",n[n.Text=1]="Text",n[n.Blocks=2]="Blocks"})(hJ||(hJ={}));var mJ;(function(n){n[n.Smooth=0]="Smooth",n[n.Immediate=1]="Immediate"})(mJ||(mJ={}));var fJ;(function(n){n[n.Auto=1]="Auto",n[n.Hidden=2]="Hidden",n[n.Visible=3]="Visible"})(fJ||(fJ={}));var gJ;(function(n){n[n.LTR=0]="LTR",n[n.RTL=1]="RTL"})(gJ||(gJ={}));var pJ;(function(n){n.Off="off",n.OnCode="onCode",n.On="on"})(pJ||(pJ={}));var bJ;(function(n){n[n.Invoke=1]="Invoke",n[n.TriggerCharacter=2]="TriggerCharacter",n[n.ContentChange=3]="ContentChange"})(bJ||(bJ={}));var yJ;(function(n){n[n.File=0]="File",n[n.Module=1]="Module",n[n.Namespace=2]="Namespace",n[n.Package=3]="Package",n[n.Class=4]="Class",n[n.Method=5]="Method",n[n.Property=6]="Property",n[n.Field=7]="Field",n[n.Constructor=8]="Constructor",n[n.Enum=9]="Enum",n[n.Interface=10]="Interface",n[n.Function=11]="Function",n[n.Variable=12]="Variable",n[n.Constant=13]="Constant",n[n.String=14]="String",n[n.Number=15]="Number",n[n.Boolean=16]="Boolean",n[n.Array=17]="Array",n[n.Object=18]="Object",n[n.Key=19]="Key",n[n.Null=20]="Null",n[n.EnumMember=21]="EnumMember",n[n.Struct=22]="Struct",n[n.Event=23]="Event",n[n.Operator=24]="Operator",n[n.TypeParameter=25]="TypeParameter"})(yJ||(yJ={}));var vJ;(function(n){n[n.Deprecated=1]="Deprecated"})(vJ||(vJ={}));var CJ;(function(n){n[n.Hidden=0]="Hidden",n[n.Blink=1]="Blink",n[n.Smooth=2]="Smooth",n[n.Phase=3]="Phase",n[n.Expand=4]="Expand",n[n.Solid=5]="Solid"})(CJ||(CJ={}));var SJ;(function(n){n[n.Line=1]="Line",n[n.Block=2]="Block",n[n.Underline=3]="Underline",n[n.LineThin=4]="LineThin",n[n.BlockOutline=5]="BlockOutline",n[n.UnderlineThin=6]="UnderlineThin"})(SJ||(SJ={}));var wJ;(function(n){n[n.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",n[n.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",n[n.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",n[n.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"})(wJ||(wJ={}));var xJ;(function(n){n[n.None=0]="None",n[n.Same=1]="Same",n[n.Indent=2]="Indent",n[n.DeepIndent=3]="DeepIndent"})(xJ||(xJ={}));let mN=class{static chord(e,t){return Zo(e,t)}};mN.CtrlCmd=2048,mN.Shift=1024,mN.Alt=512,mN.WinCtrl=256;function y2e(){return{editor:void 0,languages:void 0,CancellationTokenSource:fo,Emitter:be,KeyCode:eJ,KeyMod:mN,Position:ve,Range:J,Selection:Zt,SelectionDirection:gJ,MarkerSeverity:tJ,MarkerTag:nJ,Uri:en,Token:PF}}class _J{static computeUnicodeHighlights(e,t,i){const r=i?i.startLineNumber:1,o=i?i.endLineNumber:e.getLineCount(),s=new v2e(t),a=s.getCandidateCodePoints();let l;a==="allNonBasicAscii"?l=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):l=new RegExp(`${WFt(Array.from(a))}`,"g");const u=new y2(null,l),c=[];let d=!1,h,m=0,f=0,g=0;e:for(let b=r,y=o;b<=y;b++){const C=e.getLineContent(b),w=C.length;u.reset(0);do if(h=u.next(C),h){let x=h.index,L=h.index+h[0].length;if(x>0){const T=C.charCodeAt(x-1);os(T)&&x--}if(L+1=1e3){d=!0;break e}c.push(new J(b,x+1,b,L+1))}}while(h)}return{ranges:c,hasMore:d,ambiguousCharacterCount:m,invisibleCharacterCount:f,nonBasicAsciiCharacterCount:g}}static computeUnicodeHighlightReason(e,t){const i=new v2e(t);switch(i.shouldHighlightNonBasicASCII(e,null)){case 0:return null;case 2:return{kind:1};case 3:{const o=e.codePointAt(0),s=i.ambiguousCharacters.getPrimaryConfusable(o),a=Hy.getLocales().filter(l=>!Hy.getInstance(new Set([...t.allowedLocales,l])).isAmbiguous(o));return{kind:0,confusableWith:String.fromCodePoint(s),notAmbiguousInLocales:a}}case 1:return{kind:2}}}}function WFt(n,e){return`[${Wu(n.map(i=>String.fromCodePoint(i)).join(""))}]`}class v2e{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints),this.ambiguousCharacters=Hy.getInstance(new Set(e.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const e=new Set;if(this.options.invisibleCharacters)for(const t of Bm.codePoints)C2e(String.fromCodePoint(t))||e.add(t);if(this.options.ambiguousCharacters)for(const t of this.ambiguousCharacters.getConfusableCodePoints())e.add(t);for(const t of this.allowedCodePoints)e.delete(t);return e}shouldHighlightNonBasicASCII(e,t){const i=e.codePointAt(0);if(this.allowedCodePoints.has(i))return 0;if(this.options.nonBasicASCII)return 1;let r=!1,o=!1;if(t)for(const s of t){const a=s.codePointAt(0),l=qI(s);r=r||l,!l&&!this.ambiguousCharacters.isAmbiguous(a)&&!Bm.isInvisibleCharacter(a)&&(o=!0)}return!r&&o?0:this.options.invisibleCharacters&&!C2e(e)&&Bm.isInvisibleCharacter(i)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(i)?3:0}}function C2e(n){return n===" "||n===` +`||n===" "}const AFt=3;class VFt{computeDiff(e,t,i){var r;const s=new PFt(e,t,{maxComputationTime:i.maxComputationTimeMs,shouldIgnoreTrimWhitespace:i.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),a=[];let l=null;for(const u of s.changes){let c;u.originalEndLineNumber===0?c=new dn(u.originalStartLineNumber+1,u.originalStartLineNumber+1):c=new dn(u.originalStartLineNumber,u.originalEndLineNumber+1);let d;u.modifiedEndLineNumber===0?d=new dn(u.modifiedStartLineNumber+1,u.modifiedStartLineNumber+1):d=new dn(u.modifiedStartLineNumber,u.modifiedEndLineNumber+1);let h=new ju(c,d,(r=u.charChanges)===null||r===void 0?void 0:r.map(m=>new mp(new J(m.originalStartLineNumber,m.originalStartColumn,m.originalEndLineNumber,m.originalEndColumn),new J(m.modifiedStartLineNumber,m.modifiedStartColumn,m.modifiedEndLineNumber,m.modifiedEndColumn))));l&&(l.modified.endLineNumberExclusive===h.modified.startLineNumber||l.original.endLineNumberExclusive===h.original.startLineNumber)&&(h=new ju(l.original.join(h.original),l.modified.join(h.modified),l.innerChanges&&h.innerChanges?l.innerChanges.concat(h.innerChanges):void 0),a.pop()),a.push(h),l=h}return ev(()=>RY(a,(u,c)=>c.original.startLineNumber-u.original.endLineNumberExclusive===c.modified.startLineNumber-u.modified.endLineNumberExclusive&&u.original.endLineNumberExclusive(e===10?"\\n":String.fromCharCode(e))+`-(${this._lineNumbers[t]},${this._columns[t]})`).join(", ")+"]"}_assertIndex(e,t){if(e<0||e>=t.length)throw new Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(e){return e>0&&e===this._lineNumbers.length?this.getEndLineNumber(e-1):(this._assertIndex(e,this._lineNumbers),this._lineNumbers[e])}getEndLineNumber(e){return e===-1?this.getStartLineNumber(e+1):(this._assertIndex(e,this._lineNumbers),this._charCodes[e]===10?this._lineNumbers[e]+1:this._lineNumbers[e])}getStartColumn(e){return e>0&&e===this._columns.length?this.getEndColumn(e-1):(this._assertIndex(e,this._columns),this._columns[e])}getEndColumn(e){return e===-1?this.getStartColumn(e+1):(this._assertIndex(e,this._columns),this._charCodes[e]===10?1:this._columns[e]+1)}}class Q2{constructor(e,t,i,r,o,s,a,l){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=i,this.originalEndColumn=r,this.modifiedStartLineNumber=o,this.modifiedStartColumn=s,this.modifiedEndLineNumber=a,this.modifiedEndColumn=l}static createFromDiffChange(e,t,i){const r=t.getStartLineNumber(e.originalStart),o=t.getStartColumn(e.originalStart),s=t.getEndLineNumber(e.originalStart+e.originalLength-1),a=t.getEndColumn(e.originalStart+e.originalLength-1),l=i.getStartLineNumber(e.modifiedStart),u=i.getStartColumn(e.modifiedStart),c=i.getEndLineNumber(e.modifiedStart+e.modifiedLength-1),d=i.getEndColumn(e.modifiedStart+e.modifiedLength-1);return new Q2(r,o,s,a,l,u,c,d)}}function XFt(n){if(n.length<=1)return n;const e=[n[0]];let t=e[0];for(let i=1,r=n.length;i0&&t.originalLength<20&&t.modifiedLength>0&&t.modifiedLength<20&&o()){const m=i.createCharSequence(e,t.originalStart,t.originalStart+t.originalLength-1),f=r.createCharSequence(e,t.modifiedStart,t.modifiedStart+t.modifiedLength-1);if(m.getElements().length>0&&f.getElements().length>0){let g=S2e(m,f,o,!0).changes;a&&(g=XFt(g)),h=[];for(let b=0,y=g.length;b1&&g>1;){const b=h.charCodeAt(f-2),y=m.charCodeAt(g-2);if(b!==y)break;f--,g--}(f>1||g>1)&&this._pushTrimWhitespaceCharChange(r,o+1,1,f,s+1,1,g)}{let f=IJ(h,1),g=IJ(m,1);const b=h.length+1,y=m.length+1;for(;f!0;const e=Date.now();return()=>Date.now()-enew VFt,getDefault:()=>new YSe};function L2e(n){const e=[];for(const t of n){const i=Number(t);(i||i===0&&t.replace(/\s/g,"")!=="")&&e.push(i)}return e}function FJ(n,e,t,i){return{red:n/255,blue:t/255,green:e/255,alpha:i}}function gN(n,e){const t=e.index,i=e[0].length;if(!t)return;const r=n.positionAt(t);return{startLineNumber:r.lineNumber,startColumn:r.column,endLineNumber:r.lineNumber,endColumn:r.column+i}}function OFt(n,e){if(!n)return;const t=Re.Format.CSS.parseHex(e);if(t)return{range:n,color:FJ(t.rgba.r,t.rgba.g,t.rgba.b,t.rgba.a)}}function I2e(n,e,t){if(!n||e.length!==1)return;const r=e[0].values(),o=L2e(r);return{range:n,color:FJ(o[0],o[1],o[2],t?o[3]:1)}}function F2e(n,e,t){if(!n||e.length!==1)return;const r=e[0].values(),o=L2e(r),s=new Re(new Md(o[0],o[1]/100,o[2]/100,t?o[3]:1));return{range:n,color:FJ(s.rgba.r,s.rgba.g,s.rgba.b,s.rgba.a)}}function pN(n,e){return typeof n=="string"?[...n.matchAll(e)]:n.findMatches(e)}function BFt(n){const e=[],i=pN(n,/\b(rgb|rgba|hsl|hsla)(\([0-9\s,.\%]*\))|(#)([A-Fa-f0-9]{3})\b|(#)([A-Fa-f0-9]{4})\b|(#)([A-Fa-f0-9]{6})\b|(#)([A-Fa-f0-9]{8})\b/gm);if(i.length>0)for(const r of i){const o=r.filter(u=>u!==void 0),s=o[1],a=o[2];if(!a)continue;let l;if(s==="rgb"){const u=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*\)$/gm;l=I2e(gN(n,r),pN(a,u),!1)}else if(s==="rgba"){const u=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;l=I2e(gN(n,r),pN(a,u),!0)}else if(s==="hsl"){const u=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*\)$/gm;l=F2e(gN(n,r),pN(a,u),!1)}else if(s==="hsla"){const u=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;l=F2e(gN(n,r),pN(a,u),!0)}else s==="#"&&(l=OFt(gN(n,r),s+a));l&&e.push(l)}return e}function zFt(n){return!n||typeof n.getValue!="function"||typeof n.positionAt!="function"?[]:BFt(n)}const D2e=new RegExp("\\bMARK:\\s*(.*)$","d"),HFt=/^-+|-+$/g;function YFt(n,e){var t;let i=[];if(e.findRegionSectionHeaders&&(!((t=e.foldingRules)===null||t===void 0)&&t.markers)){const r=UFt(n,e);i=i.concat(r)}if(e.findMarkSectionHeaders){const r=KFt(n);i=i.concat(r)}return i}function UFt(n,e){const t=[],i=n.getLineCount();for(let r=1;r<=i;r++){const o=n.getLineContent(r),s=o.match(e.foldingRules.markers.start);if(s){const a={startLineNumber:r,startColumn:s[0].length+1,endLineNumber:r,endColumn:o.length+1};if(a.endColumn>a.startColumn){const l={range:a,...N2e(o.substring(s[0].length)),shouldBeInComments:!1};(l.text||l.hasSeparatorLine)&&t.push(l)}}}return t}function KFt(n){const e=[],t=n.getLineCount();for(let i=1;i<=t;i++){const r=n.getLineContent(i);JFt(r,i,e)}return e}function JFt(n,e,t){D2e.lastIndex=0;const i=D2e.exec(n);if(i){const r=i.indices[1][0]+1,o=i.indices[1][1]+1,s={startLineNumber:e,startColumn:r,endLineNumber:e,endColumn:o};if(s.endColumn>s.startColumn){const a={range:s,...N2e(i[1]),shouldBeInComments:!0};(a.text||a.hasSeparatorLine)&&t.push(a)}}}function N2e(n){n=n.trim();const e=n.startsWith("-");return n=n.replace(HFt,""),{text:n,hasSeparatorLine:e}}class jFt extends MFt{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(e){const t=[];for(let i=0;ithis._lines.length)t=this._lines.length,i=this._lines[t-1].length+1,r=!0;else{const o=this._lines[t-1].length+1;i<1?(i=1,r=!0):i>o&&(i=o,r=!0)}return r?{lineNumber:t,column:i}:e}}class Z0{constructor(e,t){this._host=e,this._models=Object.create(null),this._foreignModuleFactory=t,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(e){return this._models[e]}_getModels(){const e=[];return Object.keys(this._models).forEach(t=>e.push(this._models[t])),e}acceptNewModel(e){this._models[e.url]=new jFt(en.parse(e.url),e.lines,e.EOL,e.versionId)}acceptModelChanged(e,t){if(!this._models[e])return;this._models[e].onEvents(t)}acceptRemovedModel(e){this._models[e]&&delete this._models[e]}async computeUnicodeHighlights(e,t,i){const r=this._getModel(e);return r?_J.computeUnicodeHighlights(r,t,i):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async findSectionHeaders(e,t){const i=this._getModel(e);return i?YFt(i,t):[]}async computeDiff(e,t,i,r){const o=this._getModel(e),s=this._getModel(t);return!o||!s?null:Z0.computeDiff(o,s,i,r)}static computeDiff(e,t,i,r){const o=r==="advanced"?_2e.getDefault():_2e.getLegacy(),s=e.getLinesContent(),a=t.getLinesContent(),l=o.computeDiff(s,a,i),u=l.changes.length>0?!1:this._modelsAreIdentical(e,t);function c(d){return d.map(h=>{var m;return[h.original.startLineNumber,h.original.endLineNumberExclusive,h.modified.startLineNumber,h.modified.endLineNumberExclusive,(m=h.innerChanges)===null||m===void 0?void 0:m.map(f=>[f.originalRange.startLineNumber,f.originalRange.startColumn,f.originalRange.endLineNumber,f.originalRange.endColumn,f.modifiedRange.startLineNumber,f.modifiedRange.startColumn,f.modifiedRange.endLineNumber,f.modifiedRange.endColumn])]})}return{identical:u,quitEarly:l.hitTimeout,changes:c(l.changes),moves:l.moves.map(d=>[d.lineRangeMapping.original.startLineNumber,d.lineRangeMapping.original.endLineNumberExclusive,d.lineRangeMapping.modified.startLineNumber,d.lineRangeMapping.modified.endLineNumberExclusive,c(d.changes)])}}static _modelsAreIdentical(e,t){const i=e.getLineCount(),r=t.getLineCount();if(i!==r)return!1;for(let o=1;o<=i;o++){const s=e.getLineContent(o),a=t.getLineContent(o);if(s!==a)return!1}return!0}async computeMoreMinimalEdits(e,t,i){const r=this._getModel(e);if(!r)return t;const o=[];let s;t=t.slice(0).sort((l,u)=>{if(l.range&&u.range)return J.compareRangesUsingStarts(l.range,u.range);const c=l.range?0:1,d=u.range?0:1;return c-d});let a=0;for(let l=1;lZ0._diffLimit){o.push({range:l,text:u});continue}const h=NFt(d,u,i),m=r.offsetAt(J.lift(l).getStartPosition());for(const f of h){const g=r.positionAt(m+f.originalStart),b=r.positionAt(m+f.originalStart+f.originalLength),y={text:u.substr(f.modifiedStart,f.modifiedLength),range:{startLineNumber:g.lineNumber,startColumn:g.column,endLineNumber:b.lineNumber,endColumn:b.column}};r.getValueInRange(y.range)!==y.text&&o.push(y)}}return typeof s=="number"&&o.push({eol:s,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),o}async computeLinks(e){const t=this._getModel(e);return t?ZFt(t):null}async computeDefaultDocumentColors(e){const t=this._getModel(e);return t?zFt(t):null}async textualSuggest(e,t,i,r){const o=new Js,s=new RegExp(i,r),a=new Set;e:for(const l of e){const u=this._getModel(l);if(u){for(const c of u.words(s))if(!(c===t||!isNaN(Number(c)))&&(a.add(c),a.size>Z0._suggestionsLimit))break e}}return{words:Array.from(a),duration:o.elapsed()}}async computeWordRanges(e,t,i,r){const o=this._getModel(e);if(!o)return Object.create(null);const s=new RegExp(i,r),a=Object.create(null);for(let l=t.startLineNumber;lthis._host.fhr(a,l)),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(s,t),Promise.resolve(l6(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(e,t){if(!this._foreignModule||typeof this._foreignModule[e]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(i){return Promise.reject(i)}}}Z0._diffLimit=1e5,Z0._suggestionsLimit=1e4,typeof importScripts=="function"&&(globalThis.monaco=y2e());const DJ=Un("textResourceConfigurationService"),M2e=Un("textResourcePropertiesService");var QFt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},bN=function(n,e){return function(t,i){e(t,i,n)}};const k2e=60*1e3,T2e=5*60*1e3;function Uv(n,e){const t=n.getModel(e);return!(!t||t.isTooLargeForSyncing())}let NJ=class extends Fe{constructor(e,t,i,r,o){super(),this._modelService=e,this._workerManager=this._register(new qFt(this._modelService,r)),this._logService=i,this._register(o.linkProvider.register({language:"*",hasAccessToAllModels:!0},{provideLinks:(s,a)=>Uv(this._modelService,s.uri)?this._workerManager.withWorker().then(l=>l.computeLinks(s.uri)).then(l=>l&&{links:l}):Promise.resolve({links:[]})})),this._register(o.completionProvider.register("*",new $Ft(this._workerManager,t,this._modelService,r)))}dispose(){super.dispose()}canComputeUnicodeHighlights(e){return Uv(this._modelService,e)}computedUnicodeHighlights(e,t,i){return this._workerManager.withWorker().then(r=>r.computedUnicodeHighlights(e,t,i))}async computeDiff(e,t,i,r){const o=await this._workerManager.withWorker().then(l=>l.computeDiff(e,t,i,r));if(!o)return null;return{identical:o.identical,quitEarly:o.quitEarly,changes:a(o.changes),moves:o.moves.map(l=>new HSe(new ll(new dn(l[0],l[1]),new dn(l[2],l[3])),a(l[4])))};function a(l){return l.map(u=>{var c;return new ju(new dn(u[0],u[1]),new dn(u[2],u[3]),(c=u[4])===null||c===void 0?void 0:c.map(d=>new mp(new J(d[0],d[1],d[2],d[3]),new J(d[4],d[5],d[6],d[7]))))})}}computeMoreMinimalEdits(e,t,i=!1){if(ga(t)){if(!Uv(this._modelService,e))return Promise.resolve(t);const r=Js.create(),o=this._workerManager.withWorker().then(s=>s.computeMoreMinimalEdits(e,t,i));return o.finally(()=>this._logService.trace("FORMAT#computeMoreMinimalEdits",e.toString(!0),r.elapsed())),Promise.race([o,By(1e3).then(()=>t)])}else return Promise.resolve(void 0)}canNavigateValueSet(e){return Uv(this._modelService,e)}navigateValueSet(e,t,i){return this._workerManager.withWorker().then(r=>r.navigateValueSet(e,t,i))}canComputeWordRanges(e){return Uv(this._modelService,e)}computeWordRanges(e,t){return this._workerManager.withWorker().then(i=>i.computeWordRanges(e,t))}findSectionHeaders(e,t){return this._workerManager.withWorker().then(i=>i.findSectionHeaders(e,t))}};NJ=QFt([bN(0,wr),bN(1,DJ),bN(2,tl),bN(3,er),bN(4,Rt)],NJ);class $Ft{constructor(e,t,i,r){this.languageConfigurationService=r,this._debugDisplayName="wordbasedCompletions",this._workerManager=e,this._configurationService=t,this._modelService=i}async provideCompletionItems(e,t){const i=this._configurationService.getValue(e.uri,t,"editor");if(i.wordBasedSuggestions==="off")return;const r=[];if(i.wordBasedSuggestions==="currentDocument")Uv(this._modelService,e.uri)&&r.push(e.uri);else for(const d of this._modelService.getModels())Uv(this._modelService,d.uri)&&(d===e?r.unshift(d.uri):(i.wordBasedSuggestions==="allDocuments"||d.getLanguageId()===e.getLanguageId())&&r.push(d.uri));if(r.length===0)return;const o=this.languageConfigurationService.getLanguageConfiguration(e.getLanguageId()).getWordDefinition(),s=e.getWordAtPosition(t),a=s?new J(t.lineNumber,s.startColumn,t.lineNumber,s.endColumn):J.fromPositions(t),l=a.setEndPosition(t.lineNumber,t.column),c=await(await this._workerManager.withWorker()).textualSuggest(r,s==null?void 0:s.word,o);if(c)return{duration:c.duration,suggestions:c.words.map(d=>({kind:18,label:d,insertText:d,range:{insert:l,replace:a}}))}}}let qFt=class extends Fe{constructor(e,t){super(),this.languageConfigurationService=t,this._modelService=e,this._editorWorkerClient=null,this._lastWorkerUsedTime=new Date().getTime(),this._register(new bY).cancelAndSet(()=>this._checkStopIdleWorker(),Math.round(T2e/2),Zi),this._register(this._modelService.onModelRemoved(r=>this._checkStopEmptyWorker()))}dispose(){this._editorWorkerClient&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null),super.dispose()}_checkStopEmptyWorker(){if(!this._editorWorkerClient)return;this._modelService.getModels().length===0&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){if(!this._editorWorkerClient)return;new Date().getTime()-this._lastWorkerUsedTime>T2e&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=new Date().getTime(),this._editorWorkerClient||(this._editorWorkerClient=new kJ(this._modelService,!1,"editorWorkerService",this.languageConfigurationService)),Promise.resolve(this._editorWorkerClient)}};class eDt extends Fe{constructor(e,t,i){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=e,this._modelService=t,!i){const r=new zH;r.cancelAndSet(()=>this._checkStopModelSync(),Math.round(k2e/2)),this._register(r)}}dispose(){for(const e in this._syncedModels)qi(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t){for(const i of e){const r=i.toString();this._syncedModels[r]||this._beginModelSync(i,t),this._syncedModels[r]&&(this._syncedModelsLastUsedTime[r]=new Date().getTime())}}_checkStopModelSync(){const e=new Date().getTime(),t=[];for(const i in this._syncedModelsLastUsedTime)e-this._syncedModelsLastUsedTime[i]>k2e&&t.push(i);for(const i of t)this._stopModelSync(i)}_beginModelSync(e,t){const i=this._modelService.getModel(e);if(!i||!t&&i.isTooLargeForSyncing())return;const r=e.toString();this._proxy.acceptNewModel({url:i.uri.toString(),lines:i.getLinesContent(),EOL:i.getEOL(),versionId:i.getVersionId()});const o=new Je;o.add(i.onDidChangeContent(s=>{this._proxy.acceptModelChanged(r.toString(),s)})),o.add(i.onWillDispose(()=>{this._stopModelSync(r)})),o.add(jt(()=>{this._proxy.acceptRemovedModel(r)})),this._syncedModels[r]=o}_stopModelSync(e){const t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],qi(t)}}class E2e{constructor(e){this._instance=e,this._proxyObj=Promise.resolve(this._instance)}dispose(){this._instance.dispose()}getProxyObject(){return this._proxyObj}}class MJ{constructor(e){this._workerClient=e}fhr(e,t){return this._workerClient.fhr(e,t)}}class kJ extends Fe{constructor(e,t,i,r){super(),this.languageConfigurationService=r,this._disposed=!1,this._modelService=e,this._keepIdleModels=t,this._workerFactory=new o3(i),this._worker=null,this._modelManager=null}fhr(e,t){throw new Error("Not implemented!")}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(new _Ft(this._workerFactory,"vs/editor/common/services/editorSimpleWorker",new MJ(this)))}catch(e){kK(e),this._worker=new E2e(new Z0(new MJ(this),null))}return this._worker}_getProxy(){return this._getOrCreateWorker().getProxyObject().then(void 0,e=>(kK(e),this._worker=new E2e(new Z0(new MJ(this),null)),this._getOrCreateWorker().getProxyObject()))}_getOrCreateModelManager(e){return this._modelManager||(this._modelManager=this._register(new eDt(e,this._modelService,this._keepIdleModels))),this._modelManager}async _withSyncedResources(e,t=!1){return this._disposed?Promise.reject(Eht()):this._getProxy().then(i=>(this._getOrCreateModelManager(i).ensureSyncedResources(e,t),i))}computedUnicodeHighlights(e,t,i){return this._withSyncedResources([e]).then(r=>r.computeUnicodeHighlights(e.toString(),t,i))}computeDiff(e,t,i,r){return this._withSyncedResources([e,t],!0).then(o=>o.computeDiff(e.toString(),t.toString(),i,r))}computeMoreMinimalEdits(e,t,i){return this._withSyncedResources([e]).then(r=>r.computeMoreMinimalEdits(e.toString(),t,i))}computeLinks(e){return this._withSyncedResources([e]).then(t=>t.computeLinks(e.toString()))}computeDefaultDocumentColors(e){return this._withSyncedResources([e]).then(t=>t.computeDefaultDocumentColors(e.toString()))}async textualSuggest(e,t,i){const r=await this._withSyncedResources(e),o=i.source,s=i.flags;return r.textualSuggest(e.map(a=>a.toString()),t,o,s)}computeWordRanges(e,t){return this._withSyncedResources([e]).then(i=>{const r=this._modelService.getModel(e);if(!r)return Promise.resolve(null);const o=this.languageConfigurationService.getLanguageConfiguration(r.getLanguageId()).getWordDefinition(),s=o.source,a=o.flags;return i.computeWordRanges(e.toString(),t,s,a)})}navigateValueSet(e,t,i){return this._withSyncedResources([e]).then(r=>{const o=this._modelService.getModel(e);if(!o)return null;const s=this.languageConfigurationService.getLanguageConfiguration(o.getLanguageId()).getWordDefinition(),a=s.source,l=s.flags;return r.navigateValueSet(e.toString(),t,i,a,l)})}findSectionHeaders(e,t){return this._withSyncedResources([e]).then(i=>i.findSectionHeaders(e.toString(),t))}dispose(){super.dispose(),this._disposed=!0}}const R2e=[];function yN(n){R2e.push(n)}function tDt(){return R2e.slice(0)}var nDt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},TJ=function(n,e){return function(t,i){e(t,i,n)}};class EJ{constructor(e,t){this._editorWorkerClient=new kJ(e,!1,"editorWorkerService",t)}async provideDocumentColors(e,t){return this._editorWorkerClient.computeDefaultDocumentColors(e.uri)}provideColorPresentations(e,t,i){const r=t.range,o=t.color,s=o.alpha,a=new Re(new ni(Math.round(255*o.red),Math.round(255*o.green),Math.round(255*o.blue),s)),l=s?Re.Format.CSS.formatRGB(a):Re.Format.CSS.formatRGBA(a),u=s?Re.Format.CSS.formatHSL(a):Re.Format.CSS.formatHSLA(a),c=s?Re.Format.CSS.formatHex(a):Re.Format.CSS.formatHexA(a),d=[];return d.push({label:l,textEdit:{range:r,text:l}}),d.push({label:u,textEdit:{range:r,text:u}}),d.push({label:c,textEdit:{range:r,text:c}}),d}}let RJ=class extends Fe{constructor(e,t,i){super(),this._register(i.colorProvider.register("*",new EJ(e,t)))}};RJ=nDt([TJ(0,wr),TJ(1,er),TJ(2,Rt)],RJ),yN(RJ);async function Z2e(n,e,t,i=!0){return ZJ(new iDt,n,e,t,i)}function W2e(n,e,t,i){return Promise.resolve(t.provideColorPresentations(n,e,i))}class iDt{constructor(){}async compute(e,t,i,r){const o=await e.provideDocumentColors(t,i);if(Array.isArray(o))for(const s of o)r.push({colorInfo:s,provider:e});return Array.isArray(o)}}class rDt{constructor(){}async compute(e,t,i,r){const o=await e.provideDocumentColors(t,i);if(Array.isArray(o))for(const s of o)r.push({range:s.range,color:[s.color.red,s.color.green,s.color.blue,s.color.alpha]});return Array.isArray(o)}}class oDt{constructor(e){this.colorInfo=e}async compute(e,t,i,r){const o=await e.provideColorPresentations(t,this.colorInfo,Yn.None);return Array.isArray(o)&&r.push(...o),Array.isArray(o)}}async function ZJ(n,e,t,i,r){let o=!1,s;const a=[],l=e.ordered(t);for(let u=l.length-1;u>=0;u--){const c=l[u];if(c instanceof EJ)s=c;else try{await n.compute(c,t,i,a)&&(o=!0)}catch(d){qr(d)}}return o?a:s&&r?(await n.compute(s,t,i,a),a):[]}function A2e(n,e){const{colorProvider:t}=n.get(Rt),i=n.get(wr).getModel(e);if(!i)throw Fc();const r=n.get(Pn).getValue("editor.defaultColorDecorators",{resource:e});return{model:i,colorProviderRegistry:t,isDefaultColorDecoratorsEnabled:r}}$n.registerCommand("_executeDocumentColorProvider",function(n,...e){const[t]=e;if(!(t instanceof en))throw Fc();const{model:i,colorProviderRegistry:r,isDefaultColorDecoratorsEnabled:o}=A2e(n,t);return ZJ(new rDt,r,i,Yn.None,o)}),$n.registerCommand("_executeColorPresentationProvider",function(n,...e){const[t,i]=e,{uri:r,range:o}=i;if(!(r instanceof en)||!Array.isArray(t)||t.length!==4||!J.isIRange(o))throw Fc();const{model:s,colorProviderRegistry:a,isDefaultColorDecoratorsEnabled:l}=A2e(n,r),[u,c,d,h]=t;return ZJ(new oDt({range:o,color:{red:u,green:c,blue:d,alpha:h}}),a,s,Yn.None,l)});var sDt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},WJ=function(n,e){return function(t,i){e(t,i,n)}},AJ;const V2e=Object.create({});let W0=AJ=class extends Fe{constructor(e,t,i,r){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new Je),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new TF(this._editor),this._decoratorLimitReporter=new aDt,this._colorDecorationClassRefs=this._register(new Je),this._debounceInformation=r.for(i.colorProvider,"Document Colors",{min:AJ.RECOMPUTE_TIME}),this._register(e.onDidChangeModel(()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()})),this._register(e.onDidChangeModelLanguage(()=>this.updateColors())),this._register(i.colorProvider.onDidChange(()=>this.updateColors())),this._register(e.onDidChangeConfiguration(o=>{const s=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(147);const a=s!==this._isColorDecoratorsEnabled||o.hasChanged(21),l=o.hasChanged(147);(a||l)&&(this._isColorDecoratorsEnabled?this.updateColors():this.removeAllDecorations())})),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(147),this.updateColors()}isEnabled(){const e=this._editor.getModel();if(!e)return!1;const t=e.getLanguageId(),i=this._configurationService.getValue(t);if(i&&typeof i=="object"){const r=i.colorDecorators;if(r&&r.enable!==void 0&&!r.enable)return r.enable}return this._editor.getOption(20)}static get(e){return e.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}updateColors(){if(this.stop(),!this._isColorDecoratorsEnabled)return;const e=this._editor.getModel();!e||!this._languageFeaturesService.colorProvider.has(e)||(this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._timeoutTimer||(this._timeoutTimer=new Id,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}async beginCompute(){this._computePromise=rs(async e=>{const t=this._editor.getModel();if(!t)return[];const i=new Js(!1),r=await Z2e(this._languageFeaturesService.colorProvider,t,e,this._isDefaultColorDecoratorsEnabled);return this._debounceInformation.update(t,i.elapsed()),r});try{const e=await this._computePromise;this.updateDecorations(e),this.updateColorDecorators(e),this._computePromise=null}catch(e){yn(e)}}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(e){const t=e.map(i=>({range:{startLineNumber:i.colorInfo.range.startLineNumber,startColumn:i.colorInfo.range.startColumn,endLineNumber:i.colorInfo.range.endLineNumber,endColumn:i.colorInfo.range.endColumn},options:vn.EMPTY}));this._editor.changeDecorations(i=>{this._decorationsIds=i.deltaDecorations(this._decorationsIds,t),this._colorDatas=new Map,this._decorationsIds.forEach((r,o)=>this._colorDatas.set(r,e[o]))})}updateColorDecorators(e){this._colorDecorationClassRefs.clear();const t=[],i=this._editor.getOption(21);for(let o=0;othis._colorDatas.has(r.id));return i.length===0?null:this._colorDatas.get(i[0].id)}isColorDecoration(e){return this._colorDecoratorIds.has(e)}};W0.ID="editor.contrib.colorDetector",W0.RECOMPUTE_TIME=1e3,W0=AJ=sDt([WJ(1,Pn),WJ(2,Rt),WJ(3,Qc)],W0);class aDt{constructor(){this._onDidChange=new be,this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}vi(W0.ID,W0,1);class lDt{get color(){return this._color}set color(e){this._color.equals(e)||(this._color=e,this._onDidChangeColor.fire(e))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(e){this._colorPresentations=e,this.presentationIndex>e.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}constructor(e,t,i){this.presentationIndex=i,this._onColorFlushed=new be,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new be,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new be,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(e,t){let i=-1;for(let r=0;r{this.backgroundColor=s.getColor(nZ)||Re.white})),this._register(Ve(this._pickedColorNode,ot.CLICK,()=>this.model.selectNextColorPresentation())),this._register(Ve(this._originalColorNode,ot.CLICK,()=>{this.model.color=this.model.originalColor,this.model.flushColor()})),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this._register(t.onDidChangePresentation(this.onDidChangePresentation,this)),this._pickedColorNode.style.backgroundColor=Re.Format.CSS.format(t.color)||"",this._pickedColorNode.classList.toggle("light",t.color.rgba.a<.5?this.backgroundColor.isLighter():t.color.isLighter()),this.onDidChangeColor(this.model.color),this.showingStandaloneColorPicker&&(this._domNode.classList.add("standalone-colorpicker"),this._closeButton=this._register(new cDt(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=Re.Format.CSS.format(e)||"",this._pickedColorNode.classList.toggle("light",e.rgba.a<.5?this.backgroundColor.isLighter():e.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this._pickedColorPresentation.textContent=this.model.presentation?this.model.presentation.label:""}}class cDt extends Fe{constructor(e){super(),this._onClicked=this._register(new be),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),je(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),je(this._button,t),je(t,Qu(".button"+sn.asCSSSelector(so("color-picker-close",ut.close,_("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(Ve(this._button,ot.CLICK,()=>{this._onClicked.fire()}))}}class dDt extends Fe{constructor(e,t,i,r=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=Qu(".colorpicker-body"),je(e,this._domNode),this._saturationBox=new hDt(this._domNode,this.model,this.pixelRatio),this._register(this._saturationBox),this._register(this._saturationBox.onDidChange(this.onDidSaturationValueChange,this)),this._register(this._saturationBox.onColorFlushed(this.flushColor,this)),this._opacityStrip=new mDt(this._domNode,this.model,r),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new fDt(this._domNode,this.model,r),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),r&&(this._insertButton=this._register(new gDt(this._domNode)),this._domNode.classList.add("standalone-colorpicker"))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:e,v:t}){const i=this.model.color.hsva;this.model.color=new Re(new Qm(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new Re(new Qm(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=(1-e)*360;this.model.color=new Re(new Qm(i===360?0:i,t.s,t.v,t.a))}get domNode(){return this._domNode}get saturationBox(){return this._saturationBox}get enterButton(){return this._insertButton}layout(){this._saturationBox.layout(),this._opacityStrip.layout(),this._hueStrip.layout()}}class hDt extends Fe{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new be,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new be,this.onColorFlushed=this._onColorFlushed.event,this._domNode=Qu(".saturation-wrap"),je(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",je(this._domNode,this._canvas),this.selection=Qu(".saturation-selection"),je(this._domNode,this.selection),this.layout(),this._register(Ve(this._domNode,ot.POINTER_DOWN,r=>this.onPointerDown(r))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}get domNode(){return this._domNode}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;this.monitor=this._register(new Yw);const t=po(this._domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(e.target,e.pointerId,e.buttons,r=>this.onDidChangePosition(r.pageX-t.left,r.pageY-t.top),()=>null);const i=Ve(e.target.ownerDocument,ot.POINTER_UP,()=>{this._onColorFlushed.fire(),i.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)},!0)}onDidChangePosition(e,t){const i=Math.max(0,Math.min(1,e/this.width)),r=Math.max(0,Math.min(1,1-t/this.height));this.paintSelection(i,r),this._onDidChange.fire({s:i,v:r})}layout(){this.width=this._domNode.offsetWidth,this.height=this._domNode.offsetHeight,this._canvas.width=this.width*this.pixelRatio,this._canvas.height=this.height*this.pixelRatio,this.paint();const e=this.model.color.hsva;this.paintSelection(e.s,e.v)}paint(){const e=this.model.color.hsva,t=new Re(new Qm(e.h,1,1,1)),i=this._canvas.getContext("2d"),r=i.createLinearGradient(0,0,this._canvas.width,0);r.addColorStop(0,"rgba(255, 255, 255, 1)"),r.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),r.addColorStop(1,"rgba(255, 255, 255, 0)");const o=i.createLinearGradient(0,0,0,this._canvas.height);o.addColorStop(0,"rgba(0, 0, 0, 0)"),o.addColorStop(1,"rgba(0, 0, 0, 1)"),i.rect(0,0,this._canvas.width,this._canvas.height),i.fillStyle=Re.Format.CSS.format(t),i.fill(),i.fillStyle=r,i.fill(),i.fillStyle=o,i.fill()}paintSelection(e,t){this.selection.style.left=`${e*this.width}px`,this.selection.style.top=`${this.height-t*this.height}px`}onDidChangeColor(e){if(this.monitor&&this.monitor.isMonitoring())return;this.paint();const t=e.hsva;this.paintSelection(t.s,t.v)}}class G2e extends Fe{constructor(e,t,i=!1){super(),this.model=t,this._onDidChange=new be,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new be,this.onColorFlushed=this._onColorFlushed.event,i?(this.domNode=je(e,Qu(".standalone-strip")),this.overlay=je(this.domNode,Qu(".standalone-overlay"))):(this.domNode=je(e,Qu(".strip")),this.overlay=je(this.domNode,Qu(".overlay"))),this.slider=je(this.domNode,Qu(".slider")),this.slider.style.top="0px",this._register(Ve(this.domNode,ot.POINTER_DOWN,r=>this.onPointerDown(r))),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const e=this.getValue(this.model.color);this.updateSliderPosition(e)}onDidChangeColor(e){const t=this.getValue(e);this.updateSliderPosition(t)}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;const t=this._register(new Yw),i=po(this.domNode);this.domNode.classList.add("grabbing"),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),t.startMonitoring(e.target,e.pointerId,e.buttons,o=>this.onDidChangeTop(o.pageY-i.top),()=>null);const r=Ve(e.target.ownerDocument,ot.POINTER_UP,()=>{this._onColorFlushed.fire(),r.dispose(),t.stopMonitoring(!0),this.domNode.classList.remove("grabbing")},!0)}onDidChangeTop(e){const t=Math.max(0,Math.min(1,1-e/this.height));this.updateSliderPosition(t),this._onDidChange.fire(t)}updateSliderPosition(e){this.slider.style.top=`${(1-e)*this.height}px`}}class mDt extends G2e{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("opacity-strip"),this.onDidChangeColor(this.model.color)}onDidChangeColor(e){super.onDidChangeColor(e);const{r:t,g:i,b:r}=e.rgba,o=new Re(new ni(t,i,r,1)),s=new Re(new ni(t,i,r,0));this.overlay.style.background=`linear-gradient(to bottom, ${o} 0%, ${s} 100%)`}getValue(e){return e.hsva.a}}class fDt extends G2e{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class gDt extends Fe{constructor(e){super(),this._onClicked=this._register(new be),this.onClicked=this._onClicked.event,this._button=je(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(Ve(this._button,ot.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}class pDt extends Hu{constructor(e,t,i,r,o=!1){super(),this.model=t,this.pixelRatio=i,this._register(pF.getInstance(Qt(e)).onDidChange(()=>this.layout()));const s=Qu(".colorpicker-widget");e.appendChild(s),this.header=this._register(new uDt(s,this.model,r,o)),this.body=this._register(new dDt(s,this.model,this.pixelRatio,o))}layout(){this.body.layout()}}var X2e=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},P2e=function(n,e){return function(t,i){e(t,i,n)}};class bDt{constructor(e,t,i,r){this.owner=e,this.range=t,this.model=i,this.provider=r,this.forceShowAtRange=!0}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let a3=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t){return[]}computeAsync(e,t,i){return Io.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];const r=W0.get(this._editor);if(!r)return[];for(const o of t){if(!r.isColorDecoration(o))continue;const s=r.getColorData(o.range.getStartPosition());if(s)return[await O2e(this,this._editor.getModel(),s.colorInfo,s.provider)]}return[]}renderHoverParts(e,t){return B2e(this,this._editor,this._themeService,t,e)}};a3=X2e([P2e(1,jo)],a3);class yDt{constructor(e,t,i,r){this.owner=e,this.range=t,this.model=i,this.provider=r}}let vN=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,i){if(!this._editor.hasModel()||!W0.get(this._editor))return null;const o=await Z2e(i,this._editor.getModel(),Yn.None);let s=null,a=null;for(const d of o){const h=d.colorInfo;J.containsRange(h.range,e.range)&&(s=h,a=d.provider)}const l=s??e,u=a??t,c=!!s;return{colorHover:await O2e(this,this._editor.getModel(),l,u),foundInEditor:c}}async updateEditorModel(e){if(!this._editor.hasModel())return;const t=e.model;let i=new J(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await l3(this._editor.getModel(),t,this._color,i,e),i=z2e(this._editor,i,t))}renderHoverParts(e,t){return B2e(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};vN=X2e([P2e(1,jo)],vN);async function O2e(n,e,t,i){const r=e.getValueInRange(t.range),{red:o,green:s,blue:a,alpha:l}=t.color,u=new ni(Math.round(o*255),Math.round(s*255),Math.round(a*255),l),c=new Re(u),d=await W2e(e,t,i,Yn.None),h=new lDt(c,[],0);return h.colorPresentations=d||[],h.guessColorPresentation(c,r),n instanceof a3?new bDt(n,J.lift(t.range),h,i):new yDt(n,J.lift(t.range),h,i)}function B2e(n,e,t,i,r){if(i.length===0||!e.hasModel())return Fe.None;if(r.setMinimumDimensions){const h=e.getOption(67)+8;r.setMinimumDimensions(new mi(302,h))}const o=new Je,s=i[0],a=e.getModel(),l=s.model,u=o.add(new pDt(r.fragment,l,e.getOption(143),t,n instanceof vN));r.setColorPicker(u);let c=!1,d=new J(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn);if(n instanceof vN){const h=i[0].model.color;n.color=h,l3(a,l,h,d,s),o.add(l.onColorFlushed(m=>{n.color=m}))}else o.add(l.onColorFlushed(async h=>{await l3(a,l,h,d,s),c=!0,d=z2e(e,d,l)}));return o.add(l.onDidChangeColor(h=>{l3(a,l,h,d,s)})),o.add(e.onDidChangeModelContent(h=>{c?c=!1:(r.hide(),e.focus())})),o}function z2e(n,e,t){var i,r;const o=[],s=(i=t.presentation.textEdit)!==null&&i!==void 0?i:{range:e,text:t.presentation.label,forceMoveMarkers:!1};o.push(s),t.presentation.additionalTextEdits&&o.push(...t.presentation.additionalTextEdits);const a=J.lift(s.range),l=n.getModel()._setTrackedRange(null,a,3);return n.executeEdits("colorpicker",o),n.pushUndoStop(),(r=n.getModel()._getTrackedRange(l))!==null&&r!==void 0?r:a}async function l3(n,e,t,i,r){const o=await W2e(n,{range:i,color:{red:t.rgba.r/255,green:t.rgba.g/255,blue:t.rgba.b/255,alpha:t.rgba.a}},r.provider,Yn.None);e.colorPresentations=o||[]}function VJ(n,e){return!!n[e]}class GJ{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=VJ(e.event,t.triggerModifier),this.hasSideBySideModifier=VJ(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class H2e{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=VJ(e,t.triggerModifier)}}class u3{constructor(e,t,i,r){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=i,this.triggerSideBySideModifier=r}equals(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier}}function Y2e(n){return n==="altKey"?On?new u3(57,"metaKey",6,"altKey"):new u3(5,"ctrlKey",6,"altKey"):On?new u3(6,"altKey",57,"metaKey"):new u3(6,"altKey",5,"ctrlKey")}class c3 extends Fe{constructor(e,t){var i;super(),this._onMouseMoveOrRelevantKeyDown=this._register(new be),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new be),this.onExecute=this._onExecute.event,this._onCancel=this._register(new be),this.onCancel=this._onCancel.event,this._editor=e,this._extractLineNumberFromMouseEvent=(i=t==null?void 0:t.extractLineNumberFromMouseEvent)!==null&&i!==void 0?i:r=>r.target.position?r.target.position.lineNumber:0,this._opts=Y2e(this._editor.getOption(78)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration(r=>{if(r.hasChanged(78)){const o=Y2e(this._editor.getOption(78));if(this._opts.equals(o))return;this._opts=o,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove(r=>this._onEditorMouseMove(new GJ(r,this._opts)))),this._register(this._editor.onMouseDown(r=>this._onEditorMouseDown(new GJ(r,this._opts)))),this._register(this._editor.onMouseUp(r=>this._onEditorMouseUp(new GJ(r,this._opts)))),this._register(this._editor.onKeyDown(r=>this._onEditorKeyDown(new H2e(r,this._opts)))),this._register(this._editor.onKeyUp(r=>this._onEditorKeyUp(new H2e(r,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection(r=>this._onDidChangeCursorSelection(r))),this._register(this._editor.onDidChangeModel(r=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange(r=>{(r.scrollTopChanged||r.scrollLeftChanged)&&this._resetHandler()}))}_onDidChangeCursorSelection(e){e.selection&&e.selection.startColumn!==e.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(e){this._lastMouseMoveEvent=e,this._onMouseMoveOrRelevantKeyDown.fire([e,null])}_onEditorMouseDown(e){this._hasTriggerKeyOnMouseDown=e.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(e)}_onEditorMouseUp(e){const t=this._extractLineNumberFromMouseEvent(e);this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===t&&this._onExecute.fire(e)}_onEditorKeyDown(e){this._lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,e]):e.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(e){e.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}var vDt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},xp=function(n,e){return function(t,i){e(t,i,n)}};let A0=class extends S2{constructor(e,t,i,r,o,s,a,l,u,c,d,h,m){super(e,{...r.getRawOptions(),overflowWidgetsDomNode:r.getOverflowWidgetsDomNode()},i,o,s,a,l,u,c,d,h,m),this._parentEditor=r,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(r.onDidChangeConfiguration(f=>this._onParentConfigurationChanged(f)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){J9(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};A0=vDt([xp(4,$t),xp(5,yi),xp(6,Xr),xp(7,ln),xp(8,jo),xp(9,Mo),xp(10,Wc),xp(11,er),xp(12,Rt)],A0);const U2e=new Re(new ni(0,122,204)),CDt={showArrow:!0,showFrame:!0,className:"",frameColor:U2e,arrowColor:U2e,keepEditorSelection:!1},SDt="vs.editor.contrib.zoneWidget";class wDt{constructor(e,t,i,r,o,s,a,l){this.id="",this.domNode=e,this.afterLineNumber=t,this.afterColumn=i,this.heightInLines=r,this.showInHiddenAreas=a,this.ordinal=l,this._onDomNodeTop=o,this._onComputedHeight=s}onDomNodeTop(e){this._onDomNodeTop(e)}onComputedHeight(e){this._onComputedHeight(e)}}class xDt{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}class d3{constructor(e){this._editor=e,this._ruleName=d3._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),xY(this._ruleName)}set color(e){this._color!==e&&(this._color=e,this._updateStyle())}set height(e){this._height!==e&&(this._height=e,this._updateStyle())}_updateStyle(){xY(this._ruleName),u9(`.monaco-editor ${this._ruleName}`,`border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: -${this._height}px !important; margin-left: -${this._height}px; `)}show(e){e.column===1&&(e={lineNumber:e.lineNumber,column:2}),this._decorations.set([{range:J.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}}d3._IdGenerator=new sU(".arrow-decoration-");class _Dt{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new Je,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=Vg(t),J9(this.options,CDt,!1),this.domNode=document.createElement("div"),this.options.isAccessible||(this.domNode.setAttribute("aria-hidden","true"),this.domNode.setAttribute("role","presentation")),this._disposables.add(this.editor.onDidLayoutChange(i=>{const r=this._getWidth(i);this.domNode.style.width=r+"px",this.domNode.style.left=this._getLeft(i)+"px",this._onWidth(r)}))}dispose(){this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones(e=>{this._viewZone&&e.removeZone(this._viewZone.id),this._viewZone=null}),this._positionMarkerId.clear(),this._disposables.dispose()}create(){this.domNode.classList.add("zone-widget"),this.options.className&&this.domNode.classList.add(this.options.className),this.container=document.createElement("div"),this.container.classList.add("zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new d3(this.editor),this._disposables.add(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(e){e.frameColor&&(this.options.frameColor=e.frameColor),e.arrowColor&&(this.options.arrowColor=e.arrowColor),this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){const e=this.options.frameColor.toString();this.container.style.borderTopColor=e,this.container.style.borderBottomColor=e}if(this._arrow&&this.options.arrowColor){const e=this.options.arrowColor.toString();this._arrow.color=e}}_getWidth(e){return e.width-e.minimap.minimapWidth-e.verticalScrollbarWidth}_getLeft(e){return e.minimap.minimapWidth>0&&e.minimap.minimapLeft===0?e.minimap.minimapWidth:0}_onViewZoneTop(e){this.domNode.style.top=e+"px"}_onViewZoneHeight(e){var t;if(this.domNode.style.height=`${e}px`,this.container){const i=e-this._decoratingElementsHeight();this.container.style.height=`${i}px`;const r=this.editor.getLayoutInfo();this._doLayout(i,this._getWidth(r))}(t=this._resizeSash)===null||t===void 0||t.layout()}get position(){const e=this._positionMarkerId.getRange(0);if(e)return e.getStartPosition()}show(e,t){const i=J.isIRange(e)?J.lift(e):J.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId.set([{range:i,options:vn.EMPTY}])}hide(){var e;this._viewZone&&(this.editor.changeViewZones(t=>{this._viewZone&&t.removeZone(this._viewZone.id)}),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),(e=this._arrow)===null||e===void 0||e.hide(),this._positionMarkerId.clear()}_decoratingElementsHeight(){const e=this.editor.getOption(67);let t=0;if(this.options.showArrow){const i=Math.round(e/3);t+=2*i}if(this.options.showFrame){const i=Math.round(e/9);t+=2*i}return t}_showImpl(e,t){const i=e.getStartPosition(),r=this.editor.getLayoutInfo(),o=this._getWidth(r);this.domNode.style.width=`${o}px`,this.domNode.style.left=this._getLeft(r)+"px";const s=document.createElement("div");s.style.overflow="hidden";const a=this.editor.getOption(67);if(!this.options.allowUnlimitedHeight){const h=Math.max(12,this.editor.getLayoutInfo().height/a*.8);t=Math.min(t,h)}let l=0,u=0;if(this._arrow&&this.options.showArrow&&(l=Math.round(a/3),this._arrow.height=l,this._arrow.show(i)),this.options.showFrame&&(u=Math.round(a/9)),this.editor.changeViewZones(h=>{this._viewZone&&h.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new wDt(s,i.lineNumber,i.column,t,m=>this._onViewZoneTop(m),m=>this._onViewZoneHeight(m),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=h.addZone(this._viewZone),this._overlayWidget=new xDt(SDt+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this.container&&this.options.showFrame){const h=this.options.frameWidth?this.options.frameWidth:u;this.container.style.borderTopWidth=h+"px",this.container.style.borderBottomWidth=h+"px"}const c=t*a-this._decoratingElementsHeight();this.container&&(this.container.style.top=l+"px",this.container.style.height=c+"px",this.container.style.overflow="hidden"),this._doLayout(c,o),this.options.keepEditorSelection||this.editor.setSelection(e);const d=this.editor.getModel();if(d){const h=d.validateRange(new J(e.startLineNumber,1,e.endLineNumber+1,1));this.revealRange(h,h.startLineNumber===d.getLineCount())}}revealRange(e,t){t?this.editor.revealLineNearTop(e.endLineNumber,0):this.editor.revealRange(e,0)}setCssClass(e,t){this.container&&(t&&this.container.classList.remove(t),this.container.classList.add(e))}_onWidth(e){}_doLayout(e,t){}_relayout(e){this._viewZone&&this._viewZone.heightInLines!==e&&this.editor.changeViewZones(t=>{this._viewZone&&(this._viewZone.heightInLines=e,t.layoutZone(this._viewZone.id))})}_initSash(){if(this._resizeSash)return;this._resizeSash=this._disposables.add(new Ca(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.state=0);let e;this._disposables.add(this._resizeSash.onDidStart(t=>{this._viewZone&&(e={startY:t.startY,heightInLines:this._viewZone.heightInLines})})),this._disposables.add(this._resizeSash.onDidEnd(()=>{e=void 0})),this._disposables.add(this._resizeSash.onDidChange(t=>{if(e){const i=(t.currentY-e.startY)/this.editor.getOption(67),r=i<0?Math.ceil(i):Math.floor(i),o=e.heightInLines+r;o>5&&o<35&&this._relayout(o)}}))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(this.domNode.style.height===null?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const e=this.editor.getLayoutInfo();return e.width-e.minimap.minimapWidth}}var K2e=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},J2e=function(n,e){return function(t,i){e(t,i,n)}};const j2e=Un("IPeekViewService");qn(j2e,class{constructor(){this._widgets=new Map}addExclusiveWidget(n,e){const t=this._widgets.get(n);t&&(t.listener.dispose(),t.widget.dispose());const i=()=>{const r=this._widgets.get(n);r&&r.widget===e&&(r.listener.dispose(),this._widgets.delete(n))};this._widgets.set(n,{widget:e,listener:e.onDidClose(i)})}},1);var zl;(function(n){n.inPeekEditor=new St("inReferenceSearchEditor",!0,_("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),n.notInPeekEditor=n.inPeekEditor.toNegated()})(zl||(zl={}));let CN=class{constructor(e,t){e instanceof A0&&zl.inPeekEditor.bindTo(t)}dispose(){}};CN.ID="editor.contrib.referenceController",CN=K2e([J2e(1,ln)],CN),vi(CN.ID,CN,0);function LDt(n){const e=n.get(yi).getFocusedCodeEditor();return e instanceof A0?e.getParentEditor():e}const IDt={headerBackgroundColor:Re.white,primaryHeadingColor:Re.fromHex("#333333"),secondaryHeadingColor:Re.fromHex("#6c6c6cb3")};let h3=class extends _Dt{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new be,this.onDidClose=this._onDidClose.event,J9(this.options,IDt,!1)}dispose(){this.disposed||(this.disposed=!0,super.dispose(),this._onDidClose.fire(this))}style(e){const t=this.options;e.headerBackgroundColor&&(t.headerBackgroundColor=e.headerBackgroundColor),e.primaryHeadingColor&&(t.primaryHeadingColor=e.primaryHeadingColor),e.secondaryHeadingColor&&(t.secondaryHeadingColor=e.secondaryHeadingColor),super.style(e)}_applyStyles(){super._applyStyles();const e=this.options;this._headElement&&e.headerBackgroundColor&&(this._headElement.style.backgroundColor=e.headerBackgroundColor.toString()),this._primaryHeading&&e.primaryHeadingColor&&(this._primaryHeading.style.color=e.primaryHeadingColor.toString()),this._secondaryHeading&&e.secondaryHeadingColor&&(this._secondaryHeading.style.color=e.secondaryHeadingColor.toString()),this._bodyElement&&e.frameColor&&(this._bodyElement.style.borderColor=e.frameColor.toString())}_fillContainer(e){this.setCssClass("peekview-widget"),this._headElement=Ct(".head"),this._bodyElement=Ct(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=Ct(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),Gr(this._titleElement,"click",o=>this._onTitleClick(o))),je(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=Ct("span.filename"),this._secondaryHeading=Ct("span.dirname"),this._metaHeading=Ct("span.meta"),je(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=Ct(".peekview-actions");je(this._headElement,i);const r=this._getActionBarOptions();this._actionbarWidget=new Uc(i,r),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new uu("peekview.close",_("label.close","Close"),sn.asClassName(ut.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:uwe.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(e){}setTitle(e,t){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=e,this._primaryHeading.setAttribute("title",e),t?this._secondaryHeading.innerText=t:ma(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,lu(this._metaHeading)):$a(this._metaHeading))}_doLayout(e,t){if(!this._isShowing&&e<0){this.dispose();return}const i=Math.ceil(this.editor.getOption(67)*1.2),r=Math.round(e-(i+2));this._doLayoutHead(i,t),this._doLayoutBody(r,t)}_doLayoutHead(e,t){this._headElement&&(this._headElement.style.height=`${e}px`,this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(e,t){this._bodyElement&&(this._bodyElement.style.height=`${e}px`)}};h3=K2e([J2e(2,$t)],h3);const FDt=re("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:Re.black,hcLight:Re.white},_("peekViewTitleBackground","Background color of the peek view title area.")),Q2e=re("peekViewTitleLabel.foreground",{dark:Re.white,light:Re.black,hcDark:Re.white,hcLight:Vc},_("peekViewTitleForeground","Color of the peek view title.")),$2e=re("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},_("peekViewTitleInfoForeground","Color of the peek view title info.")),DDt=re("peekView.border",{dark:Gl,light:Gl,hcDark:Kn,hcLight:Kn},_("peekViewBorder","Color of the peek view borders and arrow.")),NDt=re("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:Re.black,hcLight:Re.white},_("peekViewResultsBackground","Background color of the peek view result list."));re("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:Re.white,hcLight:Vc},_("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list.")),re("peekViewResult.fileForeground",{dark:Re.white,light:"#1E1E1E",hcDark:Re.white,hcLight:Vc},_("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list.")),re("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},_("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list.")),re("peekViewResult.selectionForeground",{dark:Re.white,light:"#6C6C6C",hcDark:Re.white,hcLight:Vc},_("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const V0=re("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:Re.black,hcLight:Re.white},_("peekViewEditorBackground","Background color of the peek view editor."));re("peekViewEditorGutter.background",{dark:V0,light:V0,hcDark:V0,hcLight:V0},_("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor.")),re("peekViewEditorStickyScroll.background",{dark:V0,light:V0,hcDark:V0,hcLight:V0},_("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor.")),re("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},_("peekViewResultsMatchHighlight","Match highlight color in the peek view result list.")),re("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},_("peekViewEditorMatchHighlight","Match highlight color in the peek view editor.")),re("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:mr,hcLight:mr},_("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));function G0(n){return n&&typeof n.getEditorType=="function"?n.getEditorType()===lD.ICodeEditor:!1}function MDt(n){return n&&typeof n.getEditorType=="function"?n.getEditorType()===lD.IDiffEditor:!1}class kDt{get templateId(){return this.renderer.templateId}constructor(e,t){this.renderer=e,this.modelProvider=t}renderTemplate(e){return{data:this.renderer.renderTemplate(e),disposable:Fe.None}}renderElement(e,t,i,r){var o;if((o=i.disposable)===null||o===void 0||o.dispose(),!i.data)return;const s=this.modelProvider();if(s.isResolved(e))return this.renderer.renderElement(s.get(e),e,i.data,r);const a=new fo,l=s.resolve(e,a.token);i.disposable={dispose:()=>a.cancel()},this.renderer.renderPlaceholder(e,i.data),l.then(u=>this.renderer.renderElement(u,e,i.data,r))}disposeTemplate(e){e.disposable&&(e.disposable.dispose(),e.disposable=void 0),e.data&&(this.renderer.disposeTemplate(e.data),e.data=void 0)}}class TDt{constructor(e,t){this.modelProvider=e,this.accessibilityProvider=t}getWidgetAriaLabel(){return this.accessibilityProvider.getWidgetAriaLabel()}getAriaLabel(e){const t=this.modelProvider();return t.isResolved(e)?this.accessibilityProvider.getAriaLabel(t.get(e)):null}}function EDt(n,e){return{...e,accessibilityProvider:e.accessibilityProvider&&new TDt(n,e.accessibilityProvider)}}class RDt{constructor(e,t,i,r,o={}){const s=()=>this.model,a=r.map(l=>new kDt(l,s));this.list=new Ju(e,t,i,a,EDt(s,o))}updateOptions(e){this.list.updateOptions(e)}getHTMLElement(){return this.list.getHTMLElement()}get onDidFocus(){return this.list.onDidFocus}get widget(){return this.list}get onDidDispose(){return this.list.onDidDispose}get onMouseDblClick(){return lt.map(this.list.onMouseDblClick,({element:e,index:t,browserEvent:i})=>({element:e===void 0?void 0:this._model.get(e),index:t,browserEvent:i}))}get onPointer(){return lt.map(this.list.onPointer,({element:e,index:t,browserEvent:i})=>({element:e===void 0?void 0:this._model.get(e),index:t,browserEvent:i}))}get onDidChangeSelection(){return lt.map(this.list.onDidChangeSelection,({elements:e,indexes:t,browserEvent:i})=>({elements:e.map(r=>this._model.get(r)),indexes:t,browserEvent:i}))}get model(){return this._model}set model(e){this._model=e,this.list.splice(0,this.list.length,Wl(e.length))}getFocus(){return this.list.getFocus()}getSelection(){return this.list.getSelection()}getSelectedElements(){return this.getSelection().map(e=>this.model.get(e))}style(e){this.list.style(e)}dispose(){this.list.dispose()}}const ZDt={separatorBorder:Re.transparent};class q2e{set size(e){this._size=e}get size(){return this._size}get visible(){return typeof this._cachedVisibleSize>"u"}setVisible(e,t){var i,r;if(e!==this.visible){e?(this.size=al(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize=typeof t=="number"?t:this.size,this.size=0),this.container.classList.toggle("visible",e);try{(r=(i=this.view).setVisible)===null||r===void 0||r.call(i,e)}catch{}}}get minimumSize(){return this.visible?this.view.minimumSize:0}get viewMinimumSize(){return this.view.minimumSize}get maximumSize(){return this.visible?this.view.maximumSize:0}get viewMaximumSize(){return this.view.maximumSize}get priority(){return this.view.priority}get proportionalLayout(){var e;return(e=this.view.proportionalLayout)!==null&&e!==void 0?e:!0}get snap(){return!!this.view.snap}set enabled(e){this.container.style.pointerEvents=e?"":"none"}constructor(e,t,i,r){this.container=e,this.view=t,this.disposable=r,this._cachedVisibleSize=void 0,typeof i=="number"?(this._size=i,this._cachedVisibleSize=void 0,e.classList.add("visible")):(this._size=0,this._cachedVisibleSize=i.cachedVisibleSize)}layout(e,t){this.layoutContainer(e);try{this.view.layout(this.size,e,t)}catch{}}dispose(){this.disposable.dispose()}}class WDt extends q2e{layoutContainer(e){this.container.style.top=`${e}px`,this.container.style.height=`${this.size}px`}}class ADt extends q2e{layoutContainer(e){this.container.style.left=`${e}px`,this.container.style.width=`${this.size}px`}}var _p;(function(n){n[n.Idle=0]="Idle",n[n.Busy=1]="Busy"})(_p||(_p={}));var m3;(function(n){n.Distribute={type:"distribute"};function e(r){return{type:"split",index:r}}n.Split=e;function t(r){return{type:"auto",index:r}}n.Auto=t;function i(r){return{type:"invisible",cachedVisibleSize:r}}n.Invisible=i})(m3||(m3={}));class exe extends Fe{get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}get startSnappingEnabled(){return this._startSnappingEnabled}get endSnappingEnabled(){return this._endSnappingEnabled}set orthogonalStartSash(e){for(const t of this.sashItems)t.sash.orthogonalStartSash=e;this._orthogonalStartSash=e}set orthogonalEndSash(e){for(const t of this.sashItems)t.sash.orthogonalEndSash=e;this._orthogonalEndSash=e}set startSnappingEnabled(e){this._startSnappingEnabled!==e&&(this._startSnappingEnabled=e,this.updateSashEnablement())}set endSnappingEnabled(e){this._endSnappingEnabled!==e&&(this._endSnappingEnabled=e,this.updateSashEnablement())}constructor(e,t={}){var i,r,o,s,a;super(),this.size=0,this._contentSize=0,this.proportions=void 0,this.viewItems=[],this.sashItems=[],this.state=_p.Idle,this._onDidSashChange=this._register(new be),this._onDidSashReset=this._register(new be),this._startSnappingEnabled=!0,this._endSnappingEnabled=!0,this.onDidSashChange=this._onDidSashChange.event,this.onDidSashReset=this._onDidSashReset.event,this.orientation=(i=t.orientation)!==null&&i!==void 0?i:0,this.inverseAltBehavior=(r=t.inverseAltBehavior)!==null&&r!==void 0?r:!1,this.proportionalLayout=(o=t.proportionalLayout)!==null&&o!==void 0?o:!0,this.getSashOrthogonalSize=t.getSashOrthogonalSize,this.el=document.createElement("div"),this.el.classList.add("monaco-split-view2"),this.el.classList.add(this.orientation===0?"vertical":"horizontal"),e.appendChild(this.el),this.sashContainer=je(this.el,Ct(".sash-container")),this.viewContainer=Ct(".split-view-container"),this.scrollable=this._register(new o2({forceIntegerValues:!0,smoothScrollDuration:125,scheduleAtNextAnimationFrame:u=>au(Qt(this.el),u)})),this.scrollableElement=this._register(new gZ(this.viewContainer,{vertical:this.orientation===0?(s=t.scrollbarVisibility)!==null&&s!==void 0?s:1:2,horizontal:this.orientation===1?(a=t.scrollbarVisibility)!==null&&a!==void 0?a:1:2},this.scrollable));const l=this._register(new Jn(this.viewContainer,"scroll")).event;this._register(l(u=>{const c=this.scrollableElement.getScrollPosition(),d=Math.abs(this.viewContainer.scrollLeft-c.scrollLeft)<=1?void 0:this.viewContainer.scrollLeft,h=Math.abs(this.viewContainer.scrollTop-c.scrollTop)<=1?void 0:this.viewContainer.scrollTop;(d!==void 0||h!==void 0)&&this.scrollableElement.setScrollPosition({scrollLeft:d,scrollTop:h})})),this.onDidScroll=this.scrollableElement.onScroll,this._register(this.onDidScroll(u=>{u.scrollTopChanged&&(this.viewContainer.scrollTop=u.scrollTop),u.scrollLeftChanged&&(this.viewContainer.scrollLeft=u.scrollLeft)})),je(this.el,this.scrollableElement.getDomNode()),this.style(t.styles||ZDt),t.descriptor&&(this.size=t.descriptor.size,t.descriptor.views.forEach((u,c)=>{const d=iu(u.visible)||u.visible?u.size:{type:"invisible",cachedVisibleSize:u.size},h=u.view;this.doAddView(h,d,c,!0)}),this._contentSize=this.viewItems.reduce((u,c)=>u+c.size,0),this.saveProportions())}style(e){e.separatorBorder.isTransparent()?(this.el.classList.remove("separator-border"),this.el.style.removeProperty("--separator-border")):(this.el.classList.add("separator-border"),this.el.style.setProperty("--separator-border",e.separatorBorder.toString()))}addView(e,t,i=this.viewItems.length,r){this.doAddView(e,t,i,r)}layout(e,t){const i=Math.max(this.size,this._contentSize);if(this.size=e,this.layoutContext=t,this.proportions){let r=0;for(let o=0;o0&&(s.size=al(Math.round(a*e/r),s.minimumSize,s.maximumSize))}}else{const r=Wl(this.viewItems.length),o=r.filter(a=>this.viewItems[a].priority===1),s=r.filter(a=>this.viewItems[a].priority===2);this.resize(this.viewItems.length-1,e-i,void 0,o,s)}this.distributeEmptySpace(),this.layoutViews()}saveProportions(){this.proportionalLayout&&this._contentSize>0&&(this.proportions=this.viewItems.map(e=>e.proportionalLayout&&e.visible?e.size/this._contentSize:void 0))}onSashStart({sash:e,start:t,alt:i}){for(const a of this.viewItems)a.enabled=!1;const r=this.sashItems.findIndex(a=>a.sash===e),o=_d(Ve(this.el.ownerDocument.body,"keydown",a=>s(this.sashDragState.current,a.altKey)),Ve(this.el.ownerDocument.body,"keyup",()=>s(this.sashDragState.current,!1))),s=(a,l)=>{const u=this.viewItems.map(f=>f.size);let c=Number.NEGATIVE_INFINITY,d=Number.POSITIVE_INFINITY;if(this.inverseAltBehavior&&(l=!l),l)if(r===this.sashItems.length-1){const g=this.viewItems[r];c=(g.minimumSize-g.size)/2,d=(g.maximumSize-g.size)/2}else{const g=this.viewItems[r+1];c=(g.size-g.maximumSize)/2,d=(g.size-g.minimumSize)/2}let h,m;if(!l){const f=Wl(r,-1),g=Wl(r+1,this.viewItems.length),b=f.reduce((N,T)=>N+(this.viewItems[T].minimumSize-u[T]),0),y=f.reduce((N,T)=>N+(this.viewItems[T].viewMaximumSize-u[T]),0),C=g.length===0?Number.POSITIVE_INFINITY:g.reduce((N,T)=>N+(u[T]-this.viewItems[T].minimumSize),0),w=g.length===0?Number.NEGATIVE_INFINITY:g.reduce((N,T)=>N+(u[T]-this.viewItems[T].viewMaximumSize),0),x=Math.max(b,w),L=Math.min(C,y),I=this.findFirstSnapIndex(f),D=this.findFirstSnapIndex(g);if(typeof I=="number"){const N=this.viewItems[I],T=Math.floor(N.viewMinimumSize/2);h={index:I,limitDelta:N.visible?x-T:x+T,size:N.size}}if(typeof D=="number"){const N=this.viewItems[D],T=Math.floor(N.viewMinimumSize/2);m={index:D,limitDelta:N.visible?L+T:L-T,size:N.size}}}this.sashDragState={start:a,current:a,index:r,sizes:u,minDelta:c,maxDelta:d,alt:l,snapBefore:h,snapAfter:m,disposable:o}};s(t,i)}onSashChange({current:e}){const{index:t,start:i,sizes:r,alt:o,minDelta:s,maxDelta:a,snapBefore:l,snapAfter:u}=this.sashDragState;this.sashDragState.current=e;const c=e-i,d=this.resize(t,c,r,void 0,void 0,s,a,l,u);if(o){const h=t===this.sashItems.length-1,m=this.viewItems.map(w=>w.size),f=h?t:t+1,g=this.viewItems[f],b=g.size-g.maximumSize,y=g.size-g.minimumSize,C=h?t-1:t+1;this.resize(C,-d,m,void 0,void 0,b,y)}this.distributeEmptySpace(),this.layoutViews()}onSashEnd(e){this._onDidSashChange.fire(e),this.sashDragState.disposable.dispose(),this.saveProportions();for(const t of this.viewItems)t.enabled=!0}onViewChange(e,t){const i=this.viewItems.indexOf(e);i<0||i>=this.viewItems.length||(t=typeof t=="number"?t:e.size,t=al(t,e.minimumSize,e.maximumSize),this.inverseAltBehavior&&i>0?(this.resize(i-1,Math.floor((e.size-t)/2)),this.distributeEmptySpace(),this.layoutViews()):(e.size=t,this.relayout([i],void 0)))}resizeView(e,t){if(!(e<0||e>=this.viewItems.length)){if(this.state!==_p.Idle)throw new Error("Cant modify splitview");this.state=_p.Busy;try{const i=Wl(this.viewItems.length).filter(a=>a!==e),r=[...i.filter(a=>this.viewItems[a].priority===1),e],o=i.filter(a=>this.viewItems[a].priority===2),s=this.viewItems[e];t=Math.round(t),t=al(t,s.minimumSize,Math.min(s.maximumSize,this.size)),s.size=t,this.relayout(r,o)}finally{this.state=_p.Idle}}}distributeViewSizes(){const e=[];let t=0;for(const a of this.viewItems)a.maximumSize-a.minimumSize>0&&(e.push(a),t+=a.size);const i=Math.floor(t/e.length);for(const a of e)a.size=al(i,a.minimumSize,a.maximumSize);const r=Wl(this.viewItems.length),o=r.filter(a=>this.viewItems[a].priority===1),s=r.filter(a=>this.viewItems[a].priority===2);this.relayout(o,s)}getViewSize(e){return e<0||e>=this.viewItems.length?-1:this.viewItems[e].size}doAddView(e,t,i=this.viewItems.length,r){if(this.state!==_p.Idle)throw new Error("Cant modify splitview");this.state=_p.Busy;try{const o=Ct(".split-view-view");i===this.viewItems.length?this.viewContainer.appendChild(o):this.viewContainer.insertBefore(o,this.viewContainer.children.item(i));const s=e.onDidChange(h=>this.onViewChange(c,h)),a=jt(()=>this.viewContainer.removeChild(o)),l=_d(s,a);let u;typeof t=="number"?u=t:(t.type==="auto"&&(this.areViewsDistributed()?t={type:"distribute"}:t={type:"split",index:t.index}),t.type==="split"?u=this.getViewSize(t.index)/2:t.type==="invisible"?u={cachedVisibleSize:t.cachedVisibleSize}:u=e.minimumSize);const c=this.orientation===0?new WDt(o,e,u,l):new ADt(o,e,u,l);if(this.viewItems.splice(i,0,c),this.viewItems.length>1){const h={orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash},m=this.orientation===0?new Ca(this.sashContainer,{getHorizontalSashTop:N=>this.getSashPosition(N),getHorizontalSashWidth:this.getSashOrthogonalSize},{...h,orientation:1}):new Ca(this.sashContainer,{getVerticalSashLeft:N=>this.getSashPosition(N),getVerticalSashHeight:this.getSashOrthogonalSize},{...h,orientation:0}),f=this.orientation===0?N=>({sash:m,start:N.startY,current:N.currentY,alt:N.altKey}):N=>({sash:m,start:N.startX,current:N.currentX,alt:N.altKey}),b=lt.map(m.onDidStart,f)(this.onSashStart,this),C=lt.map(m.onDidChange,f)(this.onSashChange,this),x=lt.map(m.onDidEnd,()=>this.sashItems.findIndex(N=>N.sash===m))(this.onSashEnd,this),L=m.onDidReset(()=>{const N=this.sashItems.findIndex(Z=>Z.sash===m),T=Wl(N,-1),R=Wl(N+1,this.viewItems.length),E=this.findFirstSnapIndex(T),W=this.findFirstSnapIndex(R);typeof E=="number"&&!this.viewItems[E].visible||typeof W=="number"&&!this.viewItems[W].visible||this._onDidSashReset.fire(N)}),I=_d(b,C,x,L,m),D={sash:m,disposable:I};this.sashItems.splice(i-1,0,D)}o.appendChild(e.element);let d;typeof t!="number"&&t.type==="split"&&(d=[t.index]),r||this.relayout([i],d),!r&&typeof t!="number"&&t.type==="distribute"&&this.distributeViewSizes()}finally{this.state=_p.Idle}}relayout(e,t){const i=this.viewItems.reduce((r,o)=>r+o.size,0);this.resize(this.viewItems.length-1,this.size-i,void 0,e,t),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()}resize(e,t,i=this.viewItems.map(c=>c.size),r,o,s=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY,l,u){if(e<0||e>=this.viewItems.length)return 0;const c=Wl(e,-1),d=Wl(e+1,this.viewItems.length);if(o)for(const D of o)HY(c,D),HY(d,D);if(r)for(const D of r)W9(c,D),W9(d,D);const h=c.map(D=>this.viewItems[D]),m=c.map(D=>i[D]),f=d.map(D=>this.viewItems[D]),g=d.map(D=>i[D]),b=c.reduce((D,N)=>D+(this.viewItems[N].minimumSize-i[N]),0),y=c.reduce((D,N)=>D+(this.viewItems[N].maximumSize-i[N]),0),C=d.length===0?Number.POSITIVE_INFINITY:d.reduce((D,N)=>D+(i[N]-this.viewItems[N].minimumSize),0),w=d.length===0?Number.NEGATIVE_INFINITY:d.reduce((D,N)=>D+(i[N]-this.viewItems[N].maximumSize),0),x=Math.max(b,w,s),L=Math.min(C,y,a);let I=!1;if(l){const D=this.viewItems[l.index],N=t>=l.limitDelta;I=N!==D.visible,D.setVisible(N,l.size)}if(!I&&u){const D=this.viewItems[u.index],N=ta+l.size,0);let i=this.size-t;const r=Wl(this.viewItems.length-1,-1),o=r.filter(a=>this.viewItems[a].priority===1),s=r.filter(a=>this.viewItems[a].priority===2);for(const a of s)HY(r,a);for(const a of o)W9(r,a);typeof e=="number"&&W9(r,e);for(let a=0;i!==0&&at+i.size,0);let e=0;for(const t of this.viewItems)t.layout(e,this.layoutContext),e+=t.size;this.sashItems.forEach(t=>t.sash.layout()),this.updateSashEnablement(),this.updateScrollableElement()}updateScrollableElement(){this.orientation===0?this.scrollableElement.setScrollDimensions({height:this.size,scrollHeight:this._contentSize}):this.scrollableElement.setScrollDimensions({width:this.size,scrollWidth:this._contentSize})}updateSashEnablement(){let e=!1;const t=this.viewItems.map(l=>e=l.size-l.minimumSize>0||e);e=!1;const i=this.viewItems.map(l=>e=l.maximumSize-l.size>0||e),r=[...this.viewItems].reverse();e=!1;const o=r.map(l=>e=l.size-l.minimumSize>0||e).reverse();e=!1;const s=r.map(l=>e=l.maximumSize-l.size>0||e).reverse();let a=0;for(let l=0;l0||this.startSnappingEnabled)?u.state=1:C&&t[l]&&(a0)return;if(!i.visible&&i.snap)return t}}areViewsDistributed(){let e,t;for(const i of this.viewItems)if(e=e===void 0?i.size:Math.min(e,i.size),t=t===void 0?i.size:Math.max(t,i.size),t-e>2)return!1;return!0}dispose(){var e;(e=this.sashDragState)===null||e===void 0||e.disposable.dispose(),qi(this.viewItems),this.viewItems=[],this.sashItems.forEach(t=>t.disposable.dispose()),this.sashItems=[],super.dispose()}}class SN{constructor(e,t,i){this.columns=e,this.getColumnSize=i,this.templateId=SN.TemplateId,this.renderedTemplates=new Set;const r=new Map(t.map(o=>[o.templateId,o]));this.renderers=[];for(const o of e){const s=r.get(o.templateId);if(!s)throw new Error(`Table cell renderer for template id ${o.templateId} not found.`);this.renderers.push(s)}}renderTemplate(e){const t=je(e,Ct(".monaco-table-tr")),i=[],r=[];for(let s=0;sthis.disposables.add(new GDt(c,d))),l={size:a.reduce((c,d)=>c+d.column.weight,0),views:a.map(c=>({size:c.column.weight,view:c}))};this.splitview=this.disposables.add(new exe(this.domNode,{orientation:1,scrollbarVisibility:2,getSashOrthogonalSize:()=>this.cachedHeight,descriptor:l})),this.splitview.el.style.height=`${i.headerRowHeight}px`,this.splitview.el.style.lineHeight=`${i.headerRowHeight}px`;const u=new SN(r,o,c=>this.splitview.getViewSize(c));this.list=this.disposables.add(new Ju(e,this.domNode,VDt(i),[u],s)),lt.any(...a.map(c=>c.onDidLayout))(([c,d])=>u.layoutColumn(c,d),null,this.disposables),this.splitview.onDidSashReset(c=>{const d=r.reduce((m,f)=>m+f.weight,0),h=r[c].weight/d*this.cachedWidth;this.splitview.resizeView(c,h)},null,this.disposables),this.styleElement=Vu(this.domNode),this.style(Rxt)}updateOptions(e){this.list.updateOptions(e)}splice(e,t,i=[]){this.list.splice(e,t,i)}getHTMLElement(){return this.domNode}style(e){const t=[];t.push(`.monaco-table.${this.domId} > .monaco-split-view2 .monaco-sash.vertical::before { top: ${this.virtualDelegate.headerRowHeight+1}px; height: calc(100% - ${this.virtualDelegate.headerRowHeight}px); }`),this.styleElement.textContent=t.join(` -`),this.list.style(e)}getSelectedElements(){return this.list.getSelectedElements()}getSelection(){return this.list.getSelection()}getFocus(){return this.list.getFocus()}dispose(){this.disposables.dispose()}}f3.InstanceCount=0;class $2 extends Hu{constructor(e){var t;super(),this._onChange=this._register(new be),this.onChange=this._onChange.event,this._onKeyDown=this._register(new be),this.onKeyDown=this._onKeyDown.event,this._opts=e,this._checked=this._opts.isChecked;const i=["monaco-custom-toggle"];this._opts.icon&&(this._icon=this._opts.icon,i.push(...sn.asClassNameArray(this._icon))),this._opts.actionClassName&&i.push(...this._opts.actionClassName.split(" ")),this._checked&&i.push("checked"),this.domNode=document.createElement("div"),this._hover=this._register(Vd((t=e.hoverDelegate)!==null&&t!==void 0?t:Pl("mouse"),this.domNode,this._opts.title)),this.domNode.classList.add(...i),this._opts.notFocusable||(this.domNode.tabIndex=0),this.domNode.setAttribute("role","checkbox"),this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.setAttribute("aria-label",this._opts.title),this.applyStyles(),this.onclick(this.domNode,r=>{this.enabled&&(this.checked=!this._checked,this._onChange.fire(!1),r.preventDefault())}),this._register(this.ignoreGesture(this.domNode)),this.onkeydown(this.domNode,r=>{if(r.keyCode===10||r.keyCode===3){this.checked=!this._checked,this._onChange.fire(!0),r.preventDefault(),r.stopPropagation();return}this._onKeyDown.fire(r)})}get enabled(){return this.domNode.getAttribute("aria-disabled")!=="true"}focus(){this.domNode.focus()}get checked(){return this._checked}set checked(e){this._checked=e,this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.classList.toggle("checked",this._checked),this.applyStyles()}width(){return 22}applyStyles(){this.domNode&&(this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder||"",this.domNode.style.color=this._checked&&this._opts.inputActiveOptionForeground||"inherit",this.domNode.style.backgroundColor=this._checked&&this._opts.inputActiveOptionBackground||"")}enable(){this.domNode.setAttribute("aria-disabled",String(!1))}disable(){this.domNode.setAttribute("aria-disabled",String(!0))}}const XDt=L("caseDescription","Match Case"),PDt=L("wordsDescription","Match Whole Word"),ODt=L("regexDescription","Use Regular Expression");class txe extends $2{constructor(e){var t;super({icon:ut.caseSensitive,title:XDt+e.appendTitle,isChecked:e.isChecked,hoverDelegate:(t=e.hoverDelegate)!==null&&t!==void 0?t:Pl("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class nxe extends $2{constructor(e){var t;super({icon:ut.wholeWord,title:PDt+e.appendTitle,isChecked:e.isChecked,hoverDelegate:(t=e.hoverDelegate)!==null&&t!==void 0?t:Pl("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class ixe extends $2{constructor(e){var t;super({icon:ut.regex,title:ODt+e.appendTitle,isChecked:e.isChecked,hoverDelegate:(t=e.hoverDelegate)!==null&&t!==void 0?t:Pl("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class BDt{constructor(e,t=0,i=e.length,r=t-1){this.items=e,this.start=t,this.end=i,this.index=r}current(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]}next(){return this.index=Math.min(this.index+1,this.end),this.current()}previous(){return this.index=Math.max(this.index-1,this.start-1),this.current()}first(){return this.index=this.start,this.current()}last(){return this.index=this.end-1,this.current()}}class zDt{constructor(e=[],t=10){this._initialize(e),this._limit=t,this._onChange()}getHistory(){return this._elements}add(e){this._history.delete(e),this._history.add(e),this._onChange()}next(){return this._navigator.next()}previous(){return this._currentPosition()!==0?this._navigator.previous():null}current(){return this._navigator.current()}first(){return this._navigator.first()}last(){return this._navigator.last()}isLast(){return this._currentPosition()>=this._elements.length-1}isNowhere(){return this._navigator.current()===null}has(e){return this._history.has(e)}_onChange(){this._reduceToLimit();const e=this._elements;this._navigator=new BDt(e,0,e.length,e.length)}_reduceToLimit(){const e=this._elements;e.length>this._limit&&this._initialize(e.slice(e.length-this._limit))}_currentPosition(){const e=this._navigator.current();return e?this._elements.indexOf(e):-1}_initialize(e){this._history=new Set;for(const t of e)this._history.add(t)}get _elements(){const e=[];return this._history.forEach(t=>e.push(t)),e}}const SM=Ct;let HDt=class extends Hu{constructor(e,t,i){var r;super(),this.state="idle",this.maxHeight=Number.POSITIVE_INFINITY,this._onDidChange=this._register(new be),this.onDidChange=this._onDidChange.event,this._onDidHeightChange=this._register(new be),this.onDidHeightChange=this._onDidHeightChange.event,this.contextViewProvider=t,this.options=i,this.message=null,this.placeholder=this.options.placeholder||"",this.tooltip=(r=this.options.tooltip)!==null&&r!==void 0?r:this.placeholder||"",this.ariaLabel=this.options.ariaLabel||"",this.options.validationOptions&&(this.validation=this.options.validationOptions.validation),this.element=je(e,SM(".monaco-inputbox.idle"));const o=this.options.flexibleHeight?"textarea":"input",s=je(this.element,SM(".ibwrapper"));if(this.input=je(s,SM(o+".input.empty")),this.input.setAttribute("autocorrect","off"),this.input.setAttribute("autocapitalize","off"),this.input.setAttribute("spellcheck","false"),this.onfocus(this.input,()=>this.element.classList.add("synthetic-focus")),this.onblur(this.input,()=>this.element.classList.remove("synthetic-focus")),this.options.flexibleHeight){this.maxHeight=typeof this.options.flexibleMaxHeight=="number"?this.options.flexibleMaxHeight:Number.POSITIVE_INFINITY,this.mirror=je(s,SM("div.mirror")),this.mirror.innerText=" ",this.scrollableElement=new Rve(this.element,{vertical:1}),this.options.flexibleWidth&&(this.input.setAttribute("wrap","off"),this.mirror.style.whiteSpace="pre",this.mirror.style.wordWrap="initial"),je(e,this.scrollableElement.getDomNode()),this._register(this.scrollableElement),this._register(this.scrollableElement.onScroll(u=>this.input.scrollTop=u.scrollTop));const a=this._register(new Jn(e.ownerDocument,"selectionchange")),l=lt.filter(a.event,()=>{const u=e.ownerDocument.getSelection();return(u==null?void 0:u.anchorNode)===s});this._register(l(this.updateScrollDimensions,this)),this._register(this.onDidHeightChange(this.updateScrollDimensions,this))}else this.input.type=this.options.type||"text",this.input.setAttribute("wrap","off");this.ariaLabel&&this.input.setAttribute("aria-label",this.ariaLabel),this.placeholder&&!this.options.showPlaceholderOnFocus&&this.setPlaceHolder(this.placeholder),this.tooltip&&this.setTooltip(this.tooltip),this.oninput(this.input,()=>this.onValueChange()),this.onblur(this.input,()=>this.onBlur()),this.onfocus(this.input,()=>this.onFocus()),this._register(this.ignoreGesture(this.input)),setTimeout(()=>this.updateMirror(),0),this.options.actions&&(this.actionbar=this._register(new Kc(this.element)),this.actionbar.push(this.options.actions,{icon:!0,label:!1})),this.applyStyles()}onBlur(){this._hideMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder","")}onFocus(){this._showMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder",this.placeholder||"")}setPlaceHolder(e){this.placeholder=e,this.input.setAttribute("placeholder",e)}setTooltip(e){this.tooltip=e,this.hover?this.hover.update(e):this.hover=this._register(Vd(Pl("mouse"),this.input,e))}get inputElement(){return this.input}get value(){return this.input.value}set value(e){this.input.value!==e&&(this.input.value=e,this.onValueChange())}get height(){return typeof this.cachedHeight=="number"?this.cachedHeight:Dg(this.element)}focus(){this.input.focus()}blur(){this.input.blur()}hasFocus(){return l9(this.input)}select(e=null){this.input.select(),e&&(this.input.setSelectionRange(e.start,e.end),e.end===this.input.value.length&&(this.input.scrollLeft=this.input.scrollWidth))}isSelectionAtEnd(){return this.input.selectionEnd===this.input.value.length&&this.input.selectionStart===this.input.selectionEnd}getSelection(){var e;const t=this.input.selectionStart;if(t===null)return null;const i=(e=this.input.selectionEnd)!==null&&e!==void 0?e:t;return{start:t,end:i}}enable(){this.input.removeAttribute("disabled")}disable(){this.blur(),this.input.disabled=!0,this._hideMessage()}set paddingRight(e){this.input.style.width=`calc(100% - ${e}px)`,this.mirror&&(this.mirror.style.paddingRight=e+"px")}updateScrollDimensions(){if(typeof this.cachedContentHeight!="number"||typeof this.cachedHeight!="number"||!this.scrollableElement)return;const e=this.cachedContentHeight,t=this.cachedHeight,i=this.input.scrollTop;this.scrollableElement.setScrollDimensions({scrollHeight:e,height:t}),this.scrollableElement.setScrollPosition({scrollTop:i})}showMessage(e,t){if(this.state==="open"&&Ou(this.message,e))return;this.message=e,this.element.classList.remove("idle"),this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add(this.classForType(e.type));const i=this.stylesForType(this.message.type);this.element.style.border=`1px solid ${Mg(i.border,"transparent")}`,this.message.content&&(this.hasFocus()||t)&&this._showMessage()}hideMessage(){this.message=null,this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add("idle"),this._hideMessage(),this.applyStyles()}validate(){let e=null;return this.validation&&(e=this.validation(this.value),e?(this.inputElement.setAttribute("aria-invalid","true"),this.showMessage(e)):this.inputElement.hasAttribute("aria-invalid")&&(this.inputElement.removeAttribute("aria-invalid"),this.hideMessage())),e==null?void 0:e.type}stylesForType(e){const t=this.options.inputBoxStyles;switch(e){case 1:return{border:t.inputValidationInfoBorder,background:t.inputValidationInfoBackground,foreground:t.inputValidationInfoForeground};case 2:return{border:t.inputValidationWarningBorder,background:t.inputValidationWarningBackground,foreground:t.inputValidationWarningForeground};default:return{border:t.inputValidationErrorBorder,background:t.inputValidationErrorBackground,foreground:t.inputValidationErrorForeground}}}classForType(e){switch(e){case 1:return"info";case 2:return"warning";default:return"error"}}_showMessage(){if(!this.contextViewProvider||!this.message)return;let e;const t=()=>e.style.width=Qa(this.element)+"px";this.contextViewProvider.showContextView({getAnchor:()=>this.element,anchorAlignment:1,render:r=>{var o,s;if(!this.message)return null;e=je(r,SM(".monaco-inputbox-container")),t();const a={inline:!0,className:"monaco-inputbox-message"},l=this.message.formatContent?H2t(this.message.content,a):z2t(this.message.content,a);l.classList.add(this.classForType(this.message.type));const u=this.stylesForType(this.message.type);return l.style.backgroundColor=(o=u.background)!==null&&o!==void 0?o:"",l.style.color=(s=u.foreground)!==null&&s!==void 0?s:"",l.style.border=u.border?`1px solid ${u.border}`:"",je(e,l),null},onHide:()=>{this.state="closed"},layout:t});let i;this.message.type===3?i=L("alertErrorMessage","Error: {0}",this.message.content):this.message.type===2?i=L("alertWarningMessage","Warning: {0}",this.message.content):i=L("alertInfoMessage","Info: {0}",this.message.content),kl(i),this.state="open"}_hideMessage(){this.contextViewProvider&&(this.state==="open"&&this.contextViewProvider.hideContextView(),this.state="idle")}onValueChange(){this._onDidChange.fire(this.value),this.validate(),this.updateMirror(),this.input.classList.toggle("empty",!this.value),this.state==="open"&&this.contextViewProvider&&this.contextViewProvider.layout()}updateMirror(){if(!this.mirror)return;const e=this.value,i=e.charCodeAt(e.length-1)===10?" ":"";(e+i).replace(/\u000c/g,"")?this.mirror.textContent=e+i:this.mirror.innerText=" ",this.layout()}applyStyles(){var e,t,i;const r=this.options.inputBoxStyles,o=(e=r.inputBackground)!==null&&e!==void 0?e:"",s=(t=r.inputForeground)!==null&&t!==void 0?t:"",a=(i=r.inputBorder)!==null&&i!==void 0?i:"";this.element.style.backgroundColor=o,this.element.style.color=s,this.input.style.backgroundColor="inherit",this.input.style.color=s,this.element.style.border=`1px solid ${Mg(a,"transparent")}`}layout(){if(!this.mirror)return;const e=this.cachedContentHeight;this.cachedContentHeight=Dg(this.mirror),e!==this.cachedContentHeight&&(this.cachedHeight=Math.min(this.cachedContentHeight,this.maxHeight),this.input.style.height=this.cachedHeight+"px",this._onDidHeightChange.fire(this.cachedContentHeight))}insertAtCursor(e){const t=this.inputElement,i=t.selectionStart,r=t.selectionEnd,o=t.value;i!==null&&r!==null&&(this.value=o.substr(0,i)+e+o.substr(r),t.setSelectionRange(i+1,i+1),this.layout())}dispose(){var e;this._hideMessage(),this.message=null,(e=this.actionbar)===null||e===void 0||e.dispose(),super.dispose()}};class rxe extends HDt{constructor(e,t,i){const r=L({key:"history.inputbox.hint.suffix.noparens",comment:['Text is the suffix of an input field placeholder coming after the action the input field performs, this will be used when the input field ends in a closing parenthesis ")", for example "Filter (e.g. text, !exclude)". The character inserted into the final string is ⇅ to represent the up and down arrow keys.']}," or {0} for history","⇅"),o=L({key:"history.inputbox.hint.suffix.inparens",comment:['Text is the suffix of an input field placeholder coming after the action the input field performs, this will be used when the input field does NOT end in a closing parenthesis (eg. "Find"). The character inserted into the final string is ⇅ to represent the up and down arrow keys.']}," ({0} for history)","⇅");super(e,t,i),this._onDidFocus=this._register(new be),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new be),this.onDidBlur=this._onDidBlur.event,this.history=new zDt(i.history,100);const s=()=>{if(i.showHistoryHint&&i.showHistoryHint()&&!this.placeholder.endsWith(r)&&!this.placeholder.endsWith(o)&&this.history.getHistory().length){const a=this.placeholder.endsWith(")")?r:o,l=this.placeholder+a;i.showPlaceholderOnFocus&&!l9(this.input)?this.placeholder=l:this.setPlaceHolder(l)}};this.observer=new MutationObserver((a,l)=>{a.forEach(u=>{u.target.textContent||s()})}),this.observer.observe(this.input,{attributeFilter:["class"]}),this.onfocus(this.input,()=>s()),this.onblur(this.input,()=>{const a=l=>{if(this.placeholder.endsWith(l)){const u=this.placeholder.slice(0,this.placeholder.length-l.length);return i.showPlaceholderOnFocus?this.placeholder=u:this.setPlaceHolder(u),!0}else return!1};a(o)||a(r)})}dispose(){super.dispose(),this.observer&&(this.observer.disconnect(),this.observer=void 0)}addToHistory(e){this.value&&(e||this.value!==this.getCurrentValue())&&this.history.add(this.value)}isAtLastInHistory(){return this.history.isLast()}isNowhereInHistory(){return this.history.isNowhere()}showNextValue(){this.history.has(this.value)||this.addToHistory();let e=this.getNextValue();e&&(e=e===this.value?this.getNextValue():e),this.value=e??"",Ng(this.value?this.value:L("clearedInput","Cleared Input"))}showPreviousValue(){this.history.has(this.value)||this.addToHistory();let e=this.getPreviousValue();e&&(e=e===this.value?this.getPreviousValue():e),e&&(this.value=e,Ng(this.value))}setPlaceHolder(e){super.setPlaceHolder(e),this.setTooltip(e)}onBlur(){super.onBlur(),this._onDidBlur.fire()}onFocus(){super.onFocus(),this._onDidFocus.fire()}getCurrentValue(){let e=this.history.current();return e||(e=this.history.last(),this.history.next()),e}getPreviousValue(){return this.history.previous()||this.history.first()}getNextValue(){return this.history.next()}}const YDt=L("defaultLabel","input");class oxe extends Hu{constructor(e,t,i){super(),this.fixFocusOnOptionClickEnabled=!0,this.imeSessionInProgress=!1,this.additionalTogglesDisposables=this._register(new Ms),this.additionalToggles=[],this._onDidOptionChange=this._register(new be),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new be),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new be),this.onMouseDown=this._onMouseDown.event,this._onInput=this._register(new be),this._onKeyUp=this._register(new be),this._onCaseSensitiveKeyDown=this._register(new be),this.onCaseSensitiveKeyDown=this._onCaseSensitiveKeyDown.event,this._onRegexKeyDown=this._register(new be),this.onRegexKeyDown=this._onRegexKeyDown.event,this._lastHighlightFindOptions=0,this.placeholder=i.placeholder||"",this.validation=i.validation,this.label=i.label||YDt,this.showCommonFindToggles=!!i.showCommonFindToggles;const r=i.appendCaseSensitiveLabel||"",o=i.appendWholeWordsLabel||"",s=i.appendRegexLabel||"",a=i.history||[],l=!!i.flexibleHeight,u=!!i.flexibleWidth,c=i.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new rxe(this.domNode,t,{placeholder:this.placeholder||"",ariaLabel:this.label||"",validationOptions:{validation:this.validation},history:a,showHistoryHint:i.showHistoryHint,flexibleHeight:l,flexibleWidth:u,flexibleMaxHeight:c,inputBoxStyles:i.inputBoxStyles}));const d=this._register(F2());if(this.showCommonFindToggles){this.regex=this._register(new ixe({appendTitle:s,isChecked:!1,hoverDelegate:d,...i.toggleStyles})),this._register(this.regex.onChange(m=>{this._onDidOptionChange.fire(m),!m&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.regex.onKeyDown(m=>{this._onRegexKeyDown.fire(m)})),this.wholeWords=this._register(new nxe({appendTitle:o,isChecked:!1,hoverDelegate:d,...i.toggleStyles})),this._register(this.wholeWords.onChange(m=>{this._onDidOptionChange.fire(m),!m&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this.caseSensitive=this._register(new txe({appendTitle:r,isChecked:!1,hoverDelegate:d,...i.toggleStyles})),this._register(this.caseSensitive.onChange(m=>{this._onDidOptionChange.fire(m),!m&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.caseSensitive.onKeyDown(m=>{this._onCaseSensitiveKeyDown.fire(m)}));const h=[this.caseSensitive.domNode,this.wholeWords.domNode,this.regex.domNode];this.onkeydown(this.domNode,m=>{if(m.equals(15)||m.equals(17)||m.equals(9)){const f=h.indexOf(this.domNode.ownerDocument.activeElement);if(f>=0){let g=-1;m.equals(17)?g=(f+1)%h.length:m.equals(15)&&(f===0?g=h.length-1:g=f-1),m.equals(9)?(h[f].blur(),this.inputBox.focus()):g>=0&&h[g].focus(),Vn.stop(m,!0)}}})}this.controls=document.createElement("div"),this.controls.className="controls",this.controls.style.display=this.showCommonFindToggles?"":"none",this.caseSensitive&&this.controls.append(this.caseSensitive.domNode),this.wholeWords&&this.controls.appendChild(this.wholeWords.domNode),this.regex&&this.controls.appendChild(this.regex.domNode),this.setAdditionalToggles(i==null?void 0:i.additionalToggles),this.controls&&this.domNode.appendChild(this.controls),e==null||e.appendChild(this.domNode),this._register(Ae(this.inputBox.inputElement,"compositionstart",h=>{this.imeSessionInProgress=!0})),this._register(Ae(this.inputBox.inputElement,"compositionend",h=>{this.imeSessionInProgress=!1,this._onInput.fire()})),this.onkeydown(this.inputBox.inputElement,h=>this._onKeyDown.fire(h)),this.onkeyup(this.inputBox.inputElement,h=>this._onKeyUp.fire(h)),this.oninput(this.inputBox.inputElement,h=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,h=>this._onMouseDown.fire(h))}get onDidChange(){return this.inputBox.onDidChange}layout(e){this.inputBox.layout(),this.updateInputBoxPadding(e.collapsedFindWidget)}enable(){var e,t,i;this.domNode.classList.remove("disabled"),this.inputBox.enable(),(e=this.regex)===null||e===void 0||e.enable(),(t=this.wholeWords)===null||t===void 0||t.enable(),(i=this.caseSensitive)===null||i===void 0||i.enable();for(const r of this.additionalToggles)r.enable()}disable(){var e,t,i;this.domNode.classList.add("disabled"),this.inputBox.disable(),(e=this.regex)===null||e===void 0||e.disable(),(t=this.wholeWords)===null||t===void 0||t.disable(),(i=this.caseSensitive)===null||i===void 0||i.disable();for(const r of this.additionalToggles)r.disable()}setFocusInputOnOptionClick(e){this.fixFocusOnOptionClickEnabled=e}setEnabled(e){e?this.enable():this.disable()}setAdditionalToggles(e){for(const t of this.additionalToggles)t.domNode.remove();this.additionalToggles=[],this.additionalTogglesDisposables.value=new Je;for(const t of e??[])this.additionalTogglesDisposables.value.add(t),this.controls.appendChild(t.domNode),this.additionalTogglesDisposables.value.add(t.onChange(i=>{this._onDidOptionChange.fire(i),!i&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus()})),this.additionalToggles.push(t);this.additionalToggles.length>0&&(this.controls.style.display=""),this.updateInputBoxPadding()}updateInputBoxPadding(e=!1){var t,i,r,o,s,a;e?this.inputBox.paddingRight=0:this.inputBox.paddingRight=((i=(t=this.caseSensitive)===null||t===void 0?void 0:t.width())!==null&&i!==void 0?i:0)+((o=(r=this.wholeWords)===null||r===void 0?void 0:r.width())!==null&&o!==void 0?o:0)+((a=(s=this.regex)===null||s===void 0?void 0:s.width())!==null&&a!==void 0?a:0)+this.additionalToggles.reduce((l,u)=>l+u.width(),0)}getValue(){return this.inputBox.value}setValue(e){this.inputBox.value!==e&&(this.inputBox.value=e)}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getCaseSensitive(){var e,t;return(t=(e=this.caseSensitive)===null||e===void 0?void 0:e.checked)!==null&&t!==void 0?t:!1}setCaseSensitive(e){this.caseSensitive&&(this.caseSensitive.checked=e)}getWholeWords(){var e,t;return(t=(e=this.wholeWords)===null||e===void 0?void 0:e.checked)!==null&&t!==void 0?t:!1}setWholeWords(e){this.wholeWords&&(this.wholeWords.checked=e)}getRegex(){var e,t;return(t=(e=this.regex)===null||e===void 0?void 0:e.checked)!==null&&t!==void 0?t:!1}setRegex(e){this.regex&&(this.regex.checked=e,this.validate())}focusOnCaseSensitive(){var e;(e=this.caseSensitive)===null||e===void 0||e.focus()}highlightFindOptions(){this.domNode.classList.remove("highlight-"+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,this.domNode.classList.add("highlight-"+this._lastHighlightFindOptions)}validate(){this.inputBox.validate()}showMessage(e){this.inputBox.showMessage(e)}clearMessage(){this.inputBox.hideMessage()}}var $u;(function(n){n[n.Expanded=0]="Expanded",n[n.Collapsed=1]="Collapsed",n[n.PreserveOrExpanded=2]="PreserveOrExpanded",n[n.PreserveOrCollapsed=3]="PreserveOrCollapsed"})($u||($u={}));var Ky;(function(n){n[n.Unknown=0]="Unknown",n[n.Twistie=1]="Twistie",n[n.Element=2]="Element",n[n.Filter=3]="Filter"})(Ky||(Ky={}));class qu extends Error{constructor(e,t){super(`TreeError [${e}] ${t}`)}}class XJ{constructor(e){this.fn=e,this._map=new WeakMap}map(e){let t=this._map.get(e);return t||(t=this.fn(e),this._map.set(e,t)),t}}function PJ(n){return typeof n=="object"&&"visibility"in n&&"data"in n}function xM(n){switch(n){case!0:return 1;case!1:return 0;default:return n}}function OJ(n){return typeof n.collapsible=="boolean"}class UDt{constructor(e,t,i,r={}){var o;this.user=e,this.list=t,this.rootRef=[],this.eventBufferer=new PH,this._onDidChangeCollapseState=new be,this.onDidChangeCollapseState=this.eventBufferer.wrapEvent(this._onDidChangeCollapseState.event),this._onDidChangeRenderNodeCount=new be,this.onDidChangeRenderNodeCount=this.eventBufferer.wrapEvent(this._onDidChangeRenderNodeCount.event),this._onDidSplice=new be,this.onDidSplice=this._onDidSplice.event,this.refilterDelayer=new Fd(Gbe),this.collapseByDefault=typeof r.collapseByDefault>"u"?!1:r.collapseByDefault,this.allowNonCollapsibleParents=(o=r.allowNonCollapsibleParents)!==null&&o!==void 0?o:!1,this.filter=r.filter,this.autoExpandSingleChildren=typeof r.autoExpandSingleChildren>"u"?!1:r.autoExpandSingleChildren,this.root={parent:void 0,element:i,children:[],depth:0,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:!1,collapsed:!1,renderNodeCount:0,visibility:1,visible:!0,filterData:void 0}}splice(e,t,i=Qn.empty(),r={}){if(e.length===0)throw new qu(this.user,"Invalid tree location");r.diffIdentityProvider?this.spliceSmart(r.diffIdentityProvider,e,t,i,r):this.spliceSimple(e,t,i,r)}spliceSmart(e,t,i,r,o,s){var a;r===void 0&&(r=Qn.empty()),s===void 0&&(s=(a=o.diffDepth)!==null&&a!==void 0?a:0);const{parentNode:l}=this.getParentNodeWithListIndex(t);if(!l.lastDiffIds)return this.spliceSimple(t,i,r,o);const u=[...r],c=t[t.length-1],d=new Df({getElements:()=>l.lastDiffIds},{getElements:()=>[...l.children.slice(0,c),...u,...l.children.slice(c+i)].map(b=>e.getId(b.element).toString())}).ComputeDiff(!1);if(d.quitEarly)return l.lastDiffIds=void 0,this.spliceSimple(t,i,u,o);const h=t.slice(0,-1),m=(b,v,C)=>{if(s>0)for(let S=0;SC.originalStart-v.originalStart))m(f,g,f-(b.originalStart+b.originalLength)),f=b.originalStart,g=b.modifiedStart-c,this.spliceSimple([...h,f],b.originalLength,Qn.slice(u,g,g+b.modifiedLength),o);m(f,g,f)}spliceSimple(e,t,i=Qn.empty(),{onDidCreateNode:r,onDidDeleteNode:o,diffIdentityProvider:s}){const{parentNode:a,listIndex:l,revealed:u,visible:c}=this.getParentNodeWithListIndex(e),d=[],h=Qn.map(i,_=>this.createTreeNode(_,a,a.visible?1:0,u,d,r)),m=e[e.length-1];let f=0;for(let _=m;_>=0&&_s.getId(_.element).toString())):a.lastDiffIds=a.children.map(_=>s.getId(_.element).toString()):a.lastDiffIds=void 0;let S=0;for(const _ of C)_.visible&&S++;if(S!==0)for(let _=m+g.length;_F+(D.visible?D.renderNodeCount:0),0);this._updateAncestorsRenderNodeCount(a,v-_),this.list.splice(l,_,d)}if(C.length>0&&o){const _=F=>{o(F),F.children.forEach(_)};C.forEach(_)}this._onDidSplice.fire({insertedNodes:g,deletedNodes:C});let x=a;for(;x;){if(x.visibility===2){this.refilterDelayer.trigger(()=>this.refilter());break}x=x.parent}}rerender(e){if(e.length===0)throw new qu(this.user,"Invalid tree location");const{node:t,listIndex:i,revealed:r}=this.getTreeNodeWithListIndex(e);t.visible&&r&&this.list.splice(i,1,[t])}has(e){return this.hasTreeNode(e)}getListIndex(e){const{listIndex:t,visible:i,revealed:r}=this.getTreeNodeWithListIndex(e);return i&&r?t:-1}getListRenderCount(e){return this.getTreeNode(e).renderNodeCount}isCollapsible(e){return this.getTreeNode(e).collapsible}setCollapsible(e,t){const i=this.getTreeNode(e);typeof t>"u"&&(t=!i.collapsible);const r={collapsible:t};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(e,r))}isCollapsed(e){return this.getTreeNode(e).collapsed}setCollapsed(e,t,i){const r=this.getTreeNode(e);typeof t>"u"&&(t=!r.collapsed);const o={collapsed:t,recursive:i||!1};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(e,o))}_setCollapseState(e,t){const{node:i,listIndex:r,revealed:o}=this.getTreeNodeWithListIndex(e),s=this._setListNodeCollapseState(i,r,o,t);if(i!==this.root&&this.autoExpandSingleChildren&&s&&!OJ(t)&&i.collapsible&&!i.collapsed&&!t.recursive){let a=-1;for(let l=0;l-1){a=-1;break}else a=l;a>-1&&this._setCollapseState([...e,a],t)}return s}_setListNodeCollapseState(e,t,i,r){const o=this._setNodeCollapseState(e,r,!1);if(!i||!e.visible||!o)return o;const s=e.renderNodeCount,a=this.updateNodeAfterCollapseChange(e),l=s-(t===-1?0:1);return this.list.splice(t+1,l,a.slice(1)),o}_setNodeCollapseState(e,t,i){let r;if(e===this.root?r=!1:(OJ(t)?(r=e.collapsible!==t.collapsible,e.collapsible=t.collapsible):e.collapsible?(r=e.collapsed!==t.collapsed,e.collapsed=t.collapsed):r=!1,r&&this._onDidChangeCollapseState.fire({node:e,deep:i})),!OJ(t)&&t.recursive)for(const o of e.children)r=this._setNodeCollapseState(o,t,!0)||r;return r}expandTo(e){this.eventBufferer.bufferEvents(()=>{let t=this.getTreeNode(e);for(;t.parent;)t=t.parent,e=e.slice(0,e.length-1),t.collapsed&&this._setCollapseState(e,{collapsed:!1,recursive:!1})})}refilter(){const e=this.root.renderNodeCount,t=this.updateNodeAfterFilterChange(this.root);this.list.splice(0,e,t),this.refilterDelayer.cancel()}createTreeNode(e,t,i,r,o,s){const a={parent:t,element:e.element,children:[],depth:t.depth+1,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:typeof e.collapsible=="boolean"?e.collapsible:typeof e.collapsed<"u",collapsed:typeof e.collapsed>"u"?this.collapseByDefault:e.collapsed,renderNodeCount:1,visibility:1,visible:!0,filterData:void 0},l=this._filterNode(a,i);a.visibility=l,r&&o.push(a);const u=e.children||Qn.empty(),c=r&&l!==0&&!a.collapsed;let d=0,h=1;for(const m of u){const f=this.createTreeNode(m,a,l,c,o,s);a.children.push(f),h+=f.renderNodeCount,f.visible&&(f.visibleChildIndex=d++)}return this.allowNonCollapsibleParents||(a.collapsible=a.collapsible||a.children.length>0),a.visibleChildrenCount=d,a.visible=l===2?d>0:l===1,a.visible?a.collapsed||(a.renderNodeCount=h):(a.renderNodeCount=0,r&&o.pop()),s==null||s(a),a}updateNodeAfterCollapseChange(e){const t=e.renderNodeCount,i=[];return this._updateNodeAfterCollapseChange(e,i),this._updateAncestorsRenderNodeCount(e.parent,i.length-t),i}_updateNodeAfterCollapseChange(e,t){if(e.visible===!1)return 0;if(t.push(e),e.renderNodeCount=1,!e.collapsed)for(const i of e.children)e.renderNodeCount+=this._updateNodeAfterCollapseChange(i,t);return this._onDidChangeRenderNodeCount.fire(e),e.renderNodeCount}updateNodeAfterFilterChange(e){const t=e.renderNodeCount,i=[];return this._updateNodeAfterFilterChange(e,e.visible?1:0,i),this._updateAncestorsRenderNodeCount(e.parent,i.length-t),i}_updateNodeAfterFilterChange(e,t,i,r=!0){let o;if(e!==this.root){if(o=this._filterNode(e,t),o===0)return e.visible=!1,e.renderNodeCount=0,!1;r&&i.push(e)}const s=i.length;e.renderNodeCount=e===this.root?0:1;let a=!1;if(!e.collapsed||o!==0){let l=0;for(const u of e.children)a=this._updateNodeAfterFilterChange(u,o,i,r&&!e.collapsed)||a,u.visible&&(u.visibleChildIndex=l++);e.visibleChildrenCount=l}else e.visibleChildrenCount=0;return e!==this.root&&(e.visible=o===2?a:o===1,e.visibility=o),e.visible?e.collapsed||(e.renderNodeCount+=i.length-s):(e.renderNodeCount=0,r&&i.pop()),this._onDidChangeRenderNodeCount.fire(e),e.visible}_updateAncestorsRenderNodeCount(e,t){if(t!==0)for(;e;)e.renderNodeCount+=t,this._onDidChangeRenderNodeCount.fire(e),e=e.parent}_filterNode(e,t){const i=this.filter?this.filter.filter(e.element,t):1;return typeof i=="boolean"?(e.filterData=void 0,i?1:0):PJ(i)?(e.filterData=i.data,xM(i.visibility)):(e.filterData=void 0,xM(i))}hasTreeNode(e,t=this.root){if(!e||e.length===0)return!0;const[i,...r]=e;return i<0||i>t.children.length?!1:this.hasTreeNode(r,t.children[i])}getTreeNode(e,t=this.root){if(!e||e.length===0)return t;const[i,...r]=e;if(i<0||i>t.children.length)throw new qu(this.user,"Invalid tree location");return this.getTreeNode(r,t.children[i])}getTreeNodeWithListIndex(e){if(e.length===0)return{node:this.root,listIndex:-1,revealed:!0,visible:!1};const{parentNode:t,listIndex:i,revealed:r,visible:o}=this.getParentNodeWithListIndex(e),s=e[e.length-1];if(s<0||s>t.children.length)throw new qu(this.user,"Invalid tree location");const a=t.children[s];return{node:a,listIndex:i,revealed:r,visible:o&&a.visible}}getParentNodeWithListIndex(e,t=this.root,i=0,r=!0,o=!0){const[s,...a]=e;if(s<0||s>t.children.length)throw new qu(this.user,"Invalid tree location");for(let l=0;lt.element)),this.data=e}}function BJ(n){return n instanceof AD?new KDt(n):n}class JDt{constructor(e,t){this.modelProvider=e,this.dnd=t,this.autoExpandDisposable=Ie.None,this.disposables=new Je}getDragURI(e){return this.dnd.getDragURI(e.element)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e.map(i=>i.element),t)}onDragStart(e,t){var i,r;(r=(i=this.dnd).onDragStart)===null||r===void 0||r.call(i,BJ(e),t)}onDragOver(e,t,i,r,o,s=!0){const a=this.dnd.onDragOver(BJ(e),t&&t.element,i,r,o),l=this.autoExpandNode!==t;if(l&&(this.autoExpandDisposable.dispose(),this.autoExpandNode=t),typeof t>"u")return a;if(l&&typeof a!="boolean"&&a.autoExpand&&(this.autoExpandDisposable=Gb(()=>{const m=this.modelProvider(),f=m.getNodeLocation(t);m.isCollapsed(f)&&m.setCollapsed(f,!1),this.autoExpandNode=void 0},500,this.disposables)),typeof a=="boolean"||!a.accept||typeof a.bubble>"u"||a.feedback){if(!s){const m=typeof a=="boolean"?a:a.accept,f=typeof a=="boolean"?void 0:a.effect;return{accept:m,effect:f,feedback:[i]}}return a}if(a.bubble===1){const m=this.modelProvider(),f=m.getNodeLocation(t),g=m.getParentNodeLocation(f),b=m.getNode(g),v=g&&m.getListIndex(g);return this.onDragOver(e,b,v,r,o,!1)}const u=this.modelProvider(),c=u.getNodeLocation(t),d=u.getListIndex(c),h=u.getListRenderCount(c);return{...a,feedback:Rl(d,d+h)}}drop(e,t,i,r,o){this.autoExpandDisposable.dispose(),this.autoExpandNode=void 0,this.dnd.drop(BJ(e),t&&t.element,i,r,o)}onDragEnd(e){var t,i;(i=(t=this.dnd).onDragEnd)===null||i===void 0||i.call(t,e)}dispose(){this.disposables.dispose(),this.dnd.dispose()}}function jDt(n,e){return e&&{...e,identityProvider:e.identityProvider&&{getId(t){return e.identityProvider.getId(t.element)}},dnd:e.dnd&&new JDt(n,e.dnd),multipleSelectionController:e.multipleSelectionController&&{isSelectionSingleChangeEvent(t){return e.multipleSelectionController.isSelectionSingleChangeEvent({...t,element:t.element})},isSelectionRangeChangeEvent(t){return e.multipleSelectionController.isSelectionRangeChangeEvent({...t,element:t.element})}},accessibilityProvider:e.accessibilityProvider&&{...e.accessibilityProvider,getSetSize(t){const i=n(),r=i.getNodeLocation(t),o=i.getParentNodeLocation(r);return i.getNode(o).visibleChildrenCount},getPosInSet(t){return t.visibleChildIndex+1},isChecked:e.accessibilityProvider&&e.accessibilityProvider.isChecked?t=>e.accessibilityProvider.isChecked(t.element):void 0,getRole:e.accessibilityProvider&&e.accessibilityProvider.getRole?t=>e.accessibilityProvider.getRole(t.element):()=>"treeitem",getAriaLabel(t){return e.accessibilityProvider.getAriaLabel(t.element)},getWidgetAriaLabel(){return e.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:e.accessibilityProvider&&e.accessibilityProvider.getWidgetRole?()=>e.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:e.accessibilityProvider&&e.accessibilityProvider.getAriaLevel?t=>e.accessibilityProvider.getAriaLevel(t.element):t=>t.depth,getActiveDescendantId:e.accessibilityProvider.getActiveDescendantId&&(t=>e.accessibilityProvider.getActiveDescendantId(t.element))},keyboardNavigationLabelProvider:e.keyboardNavigationLabelProvider&&{...e.keyboardNavigationLabelProvider,getKeyboardNavigationLabel(t){return e.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(t.element)}}}}class zJ{constructor(e){this.delegate=e}getHeight(e){return this.delegate.getHeight(e.element)}getTemplateId(e){return this.delegate.getTemplateId(e.element)}hasDynamicHeight(e){return!!this.delegate.hasDynamicHeight&&this.delegate.hasDynamicHeight(e.element)}setDynamicHeight(e,t){var i,r;(r=(i=this.delegate).setDynamicHeight)===null||r===void 0||r.call(i,e.element,t)}}var q2;(function(n){n.None="none",n.OnHover="onHover",n.Always="always"})(q2||(q2={}));class QDt{get elements(){return this._elements}constructor(e,t=[]){this._elements=t,this.disposables=new Je,this.onDidChange=lt.forEach(e,i=>this._elements=i,this.disposables)}dispose(){this.disposables.dispose()}}class LM{constructor(e,t,i,r,o,s={}){var a;this.renderer=e,this.modelProvider=t,this.activeNodes=r,this.renderedIndentGuides=o,this.renderedElements=new Map,this.renderedNodes=new Map,this.indent=LM.DefaultIndent,this.hideTwistiesOfChildlessElements=!1,this.shouldRenderIndentGuides=!1,this.activeIndentNodes=new Set,this.indentGuidesDisposable=Ie.None,this.disposables=new Je,this.templateId=e.templateId,this.updateOptions(s),lt.map(i,l=>l.node)(this.onDidChangeNodeTwistieState,this,this.disposables),(a=e.onDidChangeTwistieState)===null||a===void 0||a.call(e,this.onDidChangeTwistieState,this,this.disposables)}updateOptions(e={}){if(typeof e.indent<"u"){const t=al(e.indent,0,40);if(t!==this.indent){this.indent=t;for(const[i,r]of this.renderedNodes)this.renderTreeElement(i,r)}}if(typeof e.renderIndentGuides<"u"){const t=e.renderIndentGuides!==q2.None;if(t!==this.shouldRenderIndentGuides){this.shouldRenderIndentGuides=t;for(const[i,r]of this.renderedNodes)this._renderIndentGuides(i,r);if(this.indentGuidesDisposable.dispose(),t){const i=new Je;this.activeNodes.onDidChange(this._onDidChangeActiveNodes,this,i),this.indentGuidesDisposable=i,this._onDidChangeActiveNodes(this.activeNodes.elements)}}}typeof e.hideTwistiesOfChildlessElements<"u"&&(this.hideTwistiesOfChildlessElements=e.hideTwistiesOfChildlessElements)}renderTemplate(e){const t=je(e,Ct(".monaco-tl-row")),i=je(t,Ct(".monaco-tl-indent")),r=je(t,Ct(".monaco-tl-twistie")),o=je(t,Ct(".monaco-tl-contents")),s=this.renderer.renderTemplate(o);return{container:e,indent:i,twistie:r,indentGuidesDisposable:Ie.None,templateData:s}}renderElement(e,t,i,r){this.renderedNodes.set(e,i),this.renderedElements.set(e.element,e),this.renderTreeElement(e,i),this.renderer.renderElement(e,t,i.templateData,r)}disposeElement(e,t,i,r){var o,s;i.indentGuidesDisposable.dispose(),(s=(o=this.renderer).disposeElement)===null||s===void 0||s.call(o,e,t,i.templateData,r),typeof r=="number"&&(this.renderedNodes.delete(e),this.renderedElements.delete(e.element))}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}onDidChangeTwistieState(e){const t=this.renderedElements.get(e);t&&this.onDidChangeNodeTwistieState(t)}onDidChangeNodeTwistieState(e){const t=this.renderedNodes.get(e);t&&(this._onDidChangeActiveNodes(this.activeNodes.elements),this.renderTreeElement(e,t))}renderTreeElement(e,t){const i=LM.DefaultIndent+(e.depth-1)*this.indent;t.twistie.style.paddingLeft=`${i}px`,t.indent.style.width=`${i+this.indent-16}px`,e.collapsible?t.container.setAttribute("aria-expanded",String(!e.collapsed)):t.container.removeAttribute("aria-expanded"),t.twistie.classList.remove(...sn.asClassNameArray(ut.treeItemExpanded));let r=!1;this.renderer.renderTwistie&&(r=this.renderer.renderTwistie(e.element,t.twistie)),e.collapsible&&(!this.hideTwistiesOfChildlessElements||e.visibleChildrenCount>0)?(r||t.twistie.classList.add(...sn.asClassNameArray(ut.treeItemExpanded)),t.twistie.classList.add("collapsible"),t.twistie.classList.toggle("collapsed",e.collapsed)):t.twistie.classList.remove("collapsible","collapsed"),this._renderIndentGuides(e,t)}_renderIndentGuides(e,t){if(ma(t.indent),t.indentGuidesDisposable.dispose(),!this.shouldRenderIndentGuides)return;const i=new Je,r=this.modelProvider();for(;;){const o=r.getNodeLocation(e),s=r.getParentNodeLocation(o);if(!s)break;const a=r.getNode(s),l=Ct(".indent-guide",{style:`width: ${this.indent}px`});this.activeIndentNodes.has(a)&&l.classList.add("active"),t.indent.childElementCount===0?t.indent.appendChild(l):t.indent.insertBefore(l,t.indent.firstElementChild),this.renderedIndentGuides.add(a,l),i.add(jt(()=>this.renderedIndentGuides.delete(a,l))),e=a}t.indentGuidesDisposable=i}_onDidChangeActiveNodes(e){if(!this.shouldRenderIndentGuides)return;const t=new Set,i=this.modelProvider();e.forEach(r=>{const o=i.getNodeLocation(r);try{const s=i.getParentNodeLocation(o);r.collapsible&&r.children.length>0&&!r.collapsed?t.add(r):s&&t.add(i.getNode(s))}catch{}}),this.activeIndentNodes.forEach(r=>{t.has(r)||this.renderedIndentGuides.forEach(r,o=>o.classList.remove("active"))}),t.forEach(r=>{this.activeIndentNodes.has(r)||this.renderedIndentGuides.forEach(r,o=>o.classList.add("active"))}),this.activeIndentNodes=t}dispose(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),er(this.disposables)}}LM.DefaultIndent=8;class $Dt{get totalCount(){return this._totalCount}get matchCount(){return this._matchCount}constructor(e,t,i){this.tree=e,this.keyboardNavigationLabelProvider=t,this._filter=i,this._totalCount=0,this._matchCount=0,this._pattern="",this._lowercasePattern="",this.disposables=new Je,e.onWillRefilter(this.reset,this,this.disposables)}filter(e,t){let i=1;if(this._filter){const s=this._filter.filter(e,t);if(typeof s=="boolean"?i=s?1:0:PJ(s)?i=xM(s.visibility):i=s,i===0)return!1}if(this._totalCount++,!this._pattern)return this._matchCount++,{data:Hh.Default,visibility:i};const r=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e),o=Array.isArray(r)?r:[r];for(const s of o){const a=s&&s.toString();if(typeof a>"u")return{data:Hh.Default,visibility:i};let l;if(this.tree.findMatchType===Jy.Contiguous){const u=a.toLowerCase().indexOf(this._lowercasePattern);if(u>-1){l=[Number.MAX_SAFE_INTEGER,0];for(let c=this._lowercasePattern.length;c>0;c--)l.push(u+c-1)}}else l=I2(this._pattern,this._lowercasePattern,0,a,a.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});if(l)return this._matchCount++,o.length===1?{data:l,visibility:i}:{data:{label:a,score:l},visibility:i}}return this.tree.findMode===_p.Filter?typeof this.tree.options.defaultFindVisibility=="number"?this.tree.options.defaultFindVisibility:this.tree.options.defaultFindVisibility?this.tree.options.defaultFindVisibility(e):2:{data:Hh.Default,visibility:i}}reset(){this._totalCount=0,this._matchCount=0}dispose(){er(this.disposables)}}var _p;(function(n){n[n.Highlight=0]="Highlight",n[n.Filter=1]="Filter"})(_p||(_p={}));var Jy;(function(n){n[n.Fuzzy=0]="Fuzzy",n[n.Contiguous=1]="Contiguous"})(Jy||(Jy={}));let qDt=class{get pattern(){return this._pattern}get mode(){return this._mode}set mode(e){e!==this._mode&&(this._mode=e,this.widget&&(this.widget.mode=this._mode),this.tree.refilter(),this.render(),this._onDidChangeMode.fire(e))}get matchType(){return this._matchType}set matchType(e){e!==this._matchType&&(this._matchType=e,this.widget&&(this.widget.matchType=this._matchType),this.tree.refilter(),this.render(),this._onDidChangeMatchType.fire(e))}constructor(e,t,i,r,o,s={}){var a,l;this.tree=e,this.view=i,this.filter=r,this.contextViewProvider=o,this.options=s,this._pattern="",this.width=0,this._onDidChangeMode=new be,this.onDidChangeMode=this._onDidChangeMode.event,this._onDidChangeMatchType=new be,this.onDidChangeMatchType=this._onDidChangeMatchType.event,this._onDidChangePattern=new be,this._onDidChangeOpenState=new be,this.onDidChangeOpenState=this._onDidChangeOpenState.event,this.enabledDisposables=new Je,this.disposables=new Je,this._mode=(a=e.options.defaultFindMode)!==null&&a!==void 0?a:_p.Highlight,this._matchType=(l=e.options.defaultFindMatchType)!==null&&l!==void 0?l:Jy.Fuzzy,t.onDidSplice(this.onDidSpliceModel,this,this.disposables)}updateOptions(e={}){e.defaultFindMode!==void 0&&(this.mode=e.defaultFindMode),e.defaultFindMatchType!==void 0&&(this.matchType=e.defaultFindMatchType)}onDidSpliceModel(){!this.widget||this.pattern.length===0||(this.tree.refilter(),this.render())}render(){var e,t,i,r;const o=this.filter.totalCount>0&&this.filter.matchCount===0;this.pattern&&o?!((e=this.tree.options.showNotFoundMessage)!==null&&e!==void 0)||e?(t=this.widget)===null||t===void 0||t.showMessage({type:2,content:L("not found","No elements found.")}):(i=this.widget)===null||i===void 0||i.showMessage({type:2}):(r=this.widget)===null||r===void 0||r.clearMessage()}shouldAllowFocus(e){return!this.widget||!this.pattern||this.filter.totalCount>0&&this.filter.matchCount<=1?!0:!Hh.isDefault(e.filterData)}layout(e){var t;this.width=e,(t=this.widget)===null||t===void 0||t.layout(e)}dispose(){this._history=void 0,this._onDidChangePattern.dispose(),this.enabledDisposables.dispose(),this.disposables.dispose()}};function eMt(n,e){return n.position===e.position&&sxe(n,e)}function sxe(n,e){return n.node.element===e.node.element&&n.startIndex===e.startIndex&&n.height===e.height&&n.endIndex===e.endIndex}class tMt{constructor(e=[]){this.stickyNodes=e}get count(){return this.stickyNodes.length}equal(e){return kr(this.stickyNodes,e.stickyNodes,eMt)}lastNodePartiallyVisible(){if(this.count===0)return!1;const e=this.stickyNodes[this.count-1];if(this.count===1)return e.position!==0;const t=this.stickyNodes[this.count-2];return t.position+t.height!==e.position}animationStateChanged(e){if(!kr(this.stickyNodes,e.stickyNodes,sxe)||this.count===0)return!1;const t=this.stickyNodes[this.count-1],i=e.stickyNodes[e.count-1];return t.position!==i.position}}class nMt{constrainStickyScrollNodes(e,t,i){for(let r=0;ri||r>=t)return e.slice(0,r)}return e}}let axe=class extends Ie{constructor(e,t,i,r,o,s={}){var a;super(),this.tree=e,this.model=t,this.view=i,this.treeDelegate=o,this.maxWidgetViewRatio=.4;const l=this.validateStickySettings(s);this.stickyScrollMaxItemCount=l.stickyScrollMaxItemCount,this.stickyScrollDelegate=(a=s.stickyScrollDelegate)!==null&&a!==void 0?a:new nMt,this._widget=this._register(new iMt(i.getScrollableElement(),i,e,r,o,s.accessibilityProvider)),this.onDidChangeHasFocus=this._widget.onDidChangeHasFocus,this.onContextMenu=this._widget.onContextMenu,this._register(i.onDidScroll(()=>this.update())),this._register(i.onDidChangeContentHeight(()=>this.update())),this._register(e.onDidChangeCollapseState(()=>this.update())),this.update()}get height(){return this._widget.height}getNodeAtHeight(e){let t;if(e===0?t=this.view.firstVisibleIndex:t=this.view.indexAt(e+this.view.scrollTop),!(t<0||t>=this.view.length))return this.view.element(t)}update(){const e=this.getNodeAtHeight(0);if(!e||this.tree.scrollTop===0){this._widget.setState(void 0);return}const t=this.findStickyState(e);this._widget.setState(t)}findStickyState(e){const t=[];let i=e,r=0,o=this.getNextStickyNode(i,void 0,r);for(;o&&(t.push(o),r+=o.height,!(t.length<=this.stickyScrollMaxItemCount&&(i=this.getNextVisibleNode(o),!i)));)o=this.getNextStickyNode(i,o.node,r);const s=this.constrainStickyNodes(t);return s.length?new tMt(s):void 0}getNextVisibleNode(e){return this.getNodeAtHeight(e.position+e.height)}getNextStickyNode(e,t,i){const r=this.getAncestorUnderPrevious(e,t);if(r&&!(r===e&&(!this.nodeIsUncollapsedParent(e)||this.nodeTopAlignsWithStickyNodesBottom(e,i))))return this.createStickyScrollNode(r,i)}nodeTopAlignsWithStickyNodesBottom(e,t){const i=this.getNodeIndex(e),r=this.view.getElementTop(i),o=t;return this.view.scrollTop===r-o}createStickyScrollNode(e,t){const i=this.treeDelegate.getHeight(e),{startIndex:r,endIndex:o}=this.getNodeRange(e),s=this.calculateStickyNodePosition(o,t,i);return{node:e,position:s,height:i,startIndex:r,endIndex:o}}getAncestorUnderPrevious(e,t=void 0){let i=e,r=this.getParentNode(i);for(;r;){if(r===t)return i;i=r,r=this.getParentNode(i)}if(t===void 0)return i}calculateStickyNodePosition(e,t,i){let r=this.view.getRelativeTop(e);if(r===null&&this.view.firstVisibleIndex===e&&e+1l&&t<=l?l-i:t}constrainStickyNodes(e){if(e.length===0)return[];const t=this.view.renderHeight*this.maxWidgetViewRatio,i=e[e.length-1];if(e.length<=this.stickyScrollMaxItemCount&&i.position+i.height<=t)return e;const r=this.stickyScrollDelegate.constrainStickyScrollNodes(e,this.stickyScrollMaxItemCount,t);if(!r.length)return[];const o=r[r.length-1];if(r.length>this.stickyScrollMaxItemCount||o.position+o.height>t)throw new Error("stickyScrollDelegate violates constraints");return r}getParentNode(e){const t=this.model.getNodeLocation(e),i=this.model.getParentNodeLocation(t);return i?this.model.getNode(i):void 0}nodeIsUncollapsedParent(e){const t=this.model.getNodeLocation(e);return this.model.getListRenderCount(t)>1}getNodeIndex(e){const t=this.model.getNodeLocation(e);return this.model.getListIndex(t)}getNodeRange(e){const t=this.model.getNodeLocation(e),i=this.model.getListIndex(t);if(i<0)throw new Error("Node not found in tree");const r=this.model.getListRenderCount(t),o=i+r-1;return{startIndex:i,endIndex:o}}nodePositionTopBelowWidget(e){const t=[];let i=this.getParentNode(e);for(;i;)t.push(i),i=this.getParentNode(i);let r=0;for(let o=0;o0,i=!!e&&e.count>0;if(!t&&!i||t&&i&&this._previousState.equal(e))return;if(t!==i&&this.setVisible(i),!i){this._previousState=void 0,this._previousElements=[],this._previousStateDisposables.clear();return}const r=e.stickyNodes[e.count-1];if(this._previousState&&e.animationStateChanged(this._previousState))this._previousElements[this._previousState.count-1].style.top=`${r.position}px`;else{this._previousStateDisposables.clear();const o=Array(e.count);for(let s=e.count-1;s>=0;s--){const a=e.stickyNodes[s],{element:l,disposable:u}=this.createElement(a,s,e.count);o[s]=l,this._rootDomNode.appendChild(l),this._previousStateDisposables.add(u)}this.stickyScrollFocus.updateElements(o,e),this._previousElements=o}this._previousState=e,this._rootDomNode.style.height=`${r.position+r.height}px`}createElement(e,t,i){const r=e.startIndex,o=document.createElement("div");o.style.top=`${e.position}px`,this.tree.options.setRowHeight!==!1&&(o.style.height=`${e.height}px`),this.tree.options.setRowLineHeight!==!1&&(o.style.lineHeight=`${e.height}px`),o.classList.add("monaco-tree-sticky-row"),o.classList.add("monaco-list-row"),o.setAttribute("data-index",`${r}`),o.setAttribute("data-parity",r%2===0?"even":"odd"),o.setAttribute("id",this.view.getElementID(r));const s=this.setAccessibilityAttributes(o,e.node.element,t,i),a=this.treeDelegate.getTemplateId(e.node),l=this.treeRenderers.find(h=>h.templateId===a);if(!l)throw new Error(`No renderer found for template id ${a}`);let u=e.node;u===this.tree.getNode(this.tree.getNodeLocation(e.node))&&(u=new Proxy(e.node,{}));const c=l.renderTemplate(o);l.renderElement(u,e.startIndex,c,e.height);const d=jt(()=>{s.dispose(),l.disposeElement(u,e.startIndex,c,e.height),l.disposeTemplate(c),o.remove()});return{element:o,disposable:d}}setAccessibilityAttributes(e,t,i,r){var o;if(!this.accessibilityProvider)return Ie.None;this.accessibilityProvider.getSetSize&&e.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(t,i,r))),this.accessibilityProvider.getPosInSet&&e.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(t,i))),this.accessibilityProvider.getRole&&e.setAttribute("role",(o=this.accessibilityProvider.getRole(t))!==null&&o!==void 0?o:"treeitem");const s=this.accessibilityProvider.getAriaLabel(t),a=s&&typeof s!="string"?s:Bh(s),l=Zn(c=>{const d=c.readObservable(a);d?e.setAttribute("aria-label",d):e.removeAttribute("aria-label")});typeof s=="string"||s&&e.setAttribute("aria-label",s.get());const u=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(t);return typeof u=="number"&&e.setAttribute("aria-level",`${u}`),e.setAttribute("aria-selected",String(!1)),l}setVisible(e){this._rootDomNode.classList.toggle("empty",!e),e||this.stickyScrollFocus.updateElements([],void 0)}domFocus(){this.stickyScrollFocus.domFocus()}focusedLast(){return this.stickyScrollFocus.focusedLast()}dispose(){this.stickyScrollFocus.dispose(),this._previousStateDisposables.dispose(),this._rootDomNode.remove()}};class rMt extends Ie{get domHasFocus(){return this._domHasFocus}set domHasFocus(e){e!==this._domHasFocus&&(this._onDidChangeHasFocus.fire(e),this._domHasFocus=e)}constructor(e,t){super(),this.container=e,this.view=t,this.focusedIndex=-1,this.elements=[],this._onDidChangeHasFocus=new be,this.onDidChangeHasFocus=this._onDidChangeHasFocus.event,this._onContextMenu=new be,this.onContextMenu=this._onContextMenu.event,this._domHasFocus=!1,this.container.addEventListener("focus",()=>this.onFocus()),this.container.addEventListener("blur",()=>this.onBlur()),this._register(this.view.onDidFocus(()=>this.toggleStickyScrollFocused(!1))),this._register(this.view.onKeyDown(i=>this.onKeyDown(i))),this._register(this.view.onMouseDown(i=>this.onMouseDown(i))),this._register(this.view.onContextMenu(i=>this.handleContextMenu(i)))}handleContextMenu(e){const t=e.browserEvent.target;if(!OD(t)&&!PD(t)){this.focusedLast()&&this.view.domFocus();return}if(!jb(e.browserEvent)){if(!this.state)throw new Error("Context menu should not be triggered when state is undefined");const s=this.state.stickyNodes.findIndex(a=>{var l;return a.node.element===((l=e.element)===null||l===void 0?void 0:l.element)});if(s===-1)throw new Error("Context menu should not be triggered when element is not in sticky scroll widget");this.container.focus(),this.setFocus(s);return}if(!this.state||this.focusedIndex<0)throw new Error("Context menu key should not be triggered when focus is not in sticky scroll widget");const r=this.state.stickyNodes[this.focusedIndex].node.element,o=this.elements[this.focusedIndex];this._onContextMenu.fire({element:r,anchor:o,browserEvent:e.browserEvent,isStickyScroll:!0})}onKeyDown(e){if(this.domHasFocus&&this.state){if(e.key==="ArrowUp")this.setFocusedElement(Math.max(0,this.focusedIndex-1)),e.preventDefault(),e.stopPropagation();else if(e.key==="ArrowDown"||e.key==="ArrowRight"){if(this.focusedIndex>=this.state.count-1){const t=this.state.stickyNodes[this.state.count-1].startIndex+1;this.view.domFocus(),this.view.setFocus([t]),this.scrollNodeUnderWidget(t,this.state)}else this.setFocusedElement(this.focusedIndex+1);e.preventDefault(),e.stopPropagation()}}}onMouseDown(e){const t=e.browserEvent.target;!OD(t)&&!PD(t)||(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation())}updateElements(e,t){if(t&&t.count===0)throw new Error("Sticky scroll state must be undefined when there are no sticky nodes");if(t&&t.count!==e.length)throw new Error("Sticky scroll focus received illigel state");const i=this.focusedIndex;if(this.removeFocus(),this.elements=e,this.state=t,t){const r=al(i,0,t.count-1);this.setFocus(r)}else this.domHasFocus&&this.view.domFocus();this.container.tabIndex=t?0:-1}setFocusedElement(e){const t=this.state;if(!t)throw new Error("Cannot set focus when state is undefined");if(this.setFocus(e),!(e1?t.stickyNodes[t.count-2]:void 0,o=this.view.getElementTop(e),s=r?r.position+r.height+i.height:i.height;this.view.scrollTop=o-s}domFocus(){if(!this.state)throw new Error("Cannot focus when state is undefined");this.container.focus()}focusedLast(){return this.state?this.view.getHTMLElement().classList.contains("sticky-scroll-focused"):!1}removeFocus(){this.focusedIndex!==-1&&(this.toggleElementFocus(this.elements[this.focusedIndex],!1),this.focusedIndex=-1)}setFocus(e){if(0>e)throw new Error("addFocus() can not remove focus");if(!this.state&&e>=0)throw new Error("Cannot set focus index when state is undefined");if(this.state&&e>=this.state.count)throw new Error("Cannot set focus index to an index that does not exist");const t=this.focusedIndex;t>=0&&this.toggleElementFocus(this.elements[t],!1),e>=0&&this.toggleElementFocus(this.elements[e],!0),this.focusedIndex=e}toggleElementFocus(e,t){this.toggleElementActiveFocus(e,t&&this.domHasFocus),this.toggleElementPassiveFocus(e,t)}toggleCurrentElementActiveFocus(e){this.focusedIndex!==-1&&this.toggleElementActiveFocus(this.elements[this.focusedIndex],e)}toggleElementActiveFocus(e,t){e.classList.toggle("focused",t)}toggleElementPassiveFocus(e,t){e.classList.toggle("passive-focused",t)}toggleStickyScrollFocused(e){this.view.getHTMLElement().classList.toggle("sticky-scroll-focused",e)}onFocus(){if(!this.state||this.elements.length===0)throw new Error("Cannot focus when state is undefined or elements are empty");this.domHasFocus=!0,this.toggleStickyScrollFocused(!0),this.toggleCurrentElementActiveFocus(!0),this.focusedIndex===-1&&this.setFocus(0)}onBlur(){this.domHasFocus=!1,this.toggleCurrentElementActiveFocus(!1)}dispose(){this.toggleStickyScrollFocused(!1),this._onDidChangeHasFocus.fire(!1),super.dispose()}}function g3(n){let e=Ky.Unknown;return CY(n.browserEvent.target,"monaco-tl-twistie","monaco-tl-row")?e=Ky.Twistie:CY(n.browserEvent.target,"monaco-tl-contents","monaco-tl-row")?e=Ky.Element:CY(n.browserEvent.target,"monaco-tree-type-filter","monaco-list")&&(e=Ky.Filter),{browserEvent:n.browserEvent,element:n.element?n.element.element:null,target:e}}function oMt(n){const e=OD(n.browserEvent.target);return{element:n.element?n.element.element:null,browserEvent:n.browserEvent,anchor:n.anchor,isStickyScroll:e}}function p3(n,e){e(n),n.children.forEach(t=>p3(t,e))}class HJ{get nodeSet(){return this._nodeSet||(this._nodeSet=this.createNodeSet()),this._nodeSet}constructor(e,t){this.getFirstViewElementWithTrait=e,this.identityProvider=t,this.nodes=[],this._onDidChange=new be,this.onDidChange=this._onDidChange.event}set(e,t){!(t!=null&&t.__forceEvent)&&kr(this.nodes,e)||this._set(e,!1,t)}_set(e,t,i){if(this.nodes=[...e],this.elements=void 0,this._nodeSet=void 0,!t){const r=this;this._onDidChange.fire({get elements(){return r.get()},browserEvent:i})}}get(){return this.elements||(this.elements=this.nodes.map(e=>e.element)),[...this.elements]}getNodes(){return this.nodes}has(e){return this.nodeSet.has(e)}onDidModelSplice({insertedNodes:e,deletedNodes:t}){if(!this.identityProvider){const l=this.createNodeSet(),u=c=>l.delete(c);t.forEach(c=>p3(c,u)),this.set([...l.values()]);return}const i=new Set,r=l=>i.add(this.identityProvider.getId(l.element).toString());t.forEach(l=>p3(l,r));const o=new Map,s=l=>o.set(this.identityProvider.getId(l.element).toString(),l);e.forEach(l=>p3(l,s));const a=[];for(const l of this.nodes){const u=this.identityProvider.getId(l.element).toString();if(!i.has(u))a.push(l);else{const d=o.get(u);d&&d.visible&&a.push(d)}}if(this.nodes.length>0&&a.length===0){const l=this.getFirstViewElementWithTrait();l&&a.push(l)}this._set(a,!0)}createNodeSet(){const e=new Set;for(const t of this.nodes)e.add(t);return e}}class sMt extends cwe{constructor(e,t,i){super(e),this.tree=t,this.stickyScrollProvider=i}onViewPointer(e){if(owe(e.browserEvent.target)||L0(e.browserEvent.target)||XD(e.browserEvent.target)||e.browserEvent.isHandledByList)return;const t=e.element;if(!t)return super.onViewPointer(e);if(this.isSelectionRangeChangeEvent(e)||this.isSelectionSingleChangeEvent(e))return super.onViewPointer(e);const i=e.browserEvent.target,r=i.classList.contains("monaco-tl-twistie")||i.classList.contains("monaco-icon-label")&&i.classList.contains("folder-icon")&&e.browserEvent.offsetX<16,o=PD(e.browserEvent.target);let s=!1;if(o?s=!0:typeof this.tree.expandOnlyOnTwistieClick=="function"?s=this.tree.expandOnlyOnTwistieClick(t.element):s=!!this.tree.expandOnlyOnTwistieClick,o)this.handleStickyScrollMouseEvent(e,t);else{if(s&&!r&&e.browserEvent.detail!==2)return super.onViewPointer(e);if(!this.tree.expandOnDoubleClick&&e.browserEvent.detail===2)return super.onViewPointer(e)}if(t.collapsible&&(!o||r)){const a=this.tree.getNodeLocation(t),l=e.browserEvent.altKey;if(this.tree.setFocus([a]),this.tree.toggleCollapsed(a,l),s&&r){e.browserEvent.isHandledByList=!0;return}}o||super.onViewPointer(e)}handleStickyScrollMouseEvent(e,t){if(Dxt(e.browserEvent.target)||Mxt(e.browserEvent.target))return;const i=this.stickyScrollProvider();if(!i)throw new Error("Sticky scroll controller not found");const r=this.list.indexOf(t),o=this.list.getElementTop(r),s=i.nodePositionTopBelowWidget(t);this.tree.scrollTop=o-s,this.list.domFocus(),this.list.setFocus([r]),this.list.setSelection([r])}onDoubleClick(e){e.browserEvent.target.classList.contains("monaco-tl-twistie")||!this.tree.expandOnDoubleClick||e.browserEvent.isHandledByList||super.onDoubleClick(e)}onMouseDown(e){const t=e.browserEvent.target;if(!OD(t)&&!PD(t)){super.onMouseDown(e);return}}onContextMenu(e){const t=e.browserEvent.target;if(!OD(t)&&!PD(t)){super.onContextMenu(e);return}}}class aMt extends Ju{constructor(e,t,i,r,o,s,a,l){super(e,t,i,r,l),this.focusTrait=o,this.selectionTrait=s,this.anchorTrait=a}createMouseController(e){return new sMt(this,e.tree,e.stickyScrollProvider)}splice(e,t,i=[]){if(super.splice(e,t,i),i.length===0)return;const r=[],o=[];let s;i.forEach((a,l)=>{this.focusTrait.has(a)&&r.push(e+l),this.selectionTrait.has(a)&&o.push(e+l),this.anchorTrait.has(a)&&(s=e+l)}),r.length>0&&super.setFocus(Wg([...super.getFocus(),...r])),o.length>0&&super.setSelection(Wg([...super.getSelection(),...o])),typeof s=="number"&&super.setAnchor(s)}setFocus(e,t,i=!1){super.setFocus(e,t),i||this.focusTrait.set(e.map(r=>this.element(r)),t)}setSelection(e,t,i=!1){super.setSelection(e,t),i||this.selectionTrait.set(e.map(r=>this.element(r)),t)}setAnchor(e,t=!1){super.setAnchor(e),t||(typeof e>"u"?this.anchorTrait.set([]):this.anchorTrait.set([this.element(e)]))}}class lxe{get onDidScroll(){return this.view.onDidScroll}get onDidChangeFocus(){return this.eventBufferer.wrapEvent(this.focus.onDidChange)}get onDidChangeSelection(){return this.eventBufferer.wrapEvent(this.selection.onDidChange)}get onMouseDblClick(){return lt.filter(lt.map(this.view.onMouseDblClick,g3),e=>e.target!==Ky.Filter)}get onMouseOver(){return lt.map(this.view.onMouseOver,g3)}get onMouseOut(){return lt.map(this.view.onMouseOut,g3)}get onContextMenu(){var e,t;return lt.any(lt.filter(lt.map(this.view.onContextMenu,oMt),i=>!i.isStickyScroll),(t=(e=this.stickyScrollController)===null||e===void 0?void 0:e.onContextMenu)!==null&&t!==void 0?t:lt.None)}get onPointer(){return lt.map(this.view.onPointer,g3)}get onKeyDown(){return this.view.onKeyDown}get onDidFocus(){return this.view.onDidFocus}get onDidChangeModel(){return lt.signal(this.model.onDidSplice)}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get findMode(){var e,t;return(t=(e=this.findController)===null||e===void 0?void 0:e.mode)!==null&&t!==void 0?t:_p.Highlight}set findMode(e){this.findController&&(this.findController.mode=e)}get findMatchType(){var e,t;return(t=(e=this.findController)===null||e===void 0?void 0:e.matchType)!==null&&t!==void 0?t:Jy.Fuzzy}set findMatchType(e){this.findController&&(this.findController.matchType=e)}get expandOnDoubleClick(){return typeof this._options.expandOnDoubleClick>"u"?!0:this._options.expandOnDoubleClick}get expandOnlyOnTwistieClick(){return typeof this._options.expandOnlyOnTwistieClick>"u"?!0:this._options.expandOnlyOnTwistieClick}get onDidDispose(){return this.view.onDidDispose}constructor(e,t,i,r,o={}){var s;this._user=e,this._options=o,this.eventBufferer=new PH,this.onDidChangeFindOpenState=lt.None,this.onDidChangeStickyScrollFocused=lt.None,this.disposables=new Je,this._onWillRefilter=new be,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new be,this.treeDelegate=new zJ(i);const a=new Vbe,l=new Vbe,u=this.disposables.add(new QDt(l.event)),c=new AY;this.renderers=r.map(g=>new LM(g,()=>this.model,a.event,u,c,o));for(const g of this.renderers)this.disposables.add(g);let d;o.keyboardNavigationLabelProvider&&(d=new $Dt(this,o.keyboardNavigationLabelProvider,o.filter),o={...o,filter:d},this.disposables.add(d)),this.focus=new HJ(()=>this.view.getFocusedElements()[0],o.identityProvider),this.selection=new HJ(()=>this.view.getSelectedElements()[0],o.identityProvider),this.anchor=new HJ(()=>this.view.getAnchorElement(),o.identityProvider),this.view=new aMt(e,t,this.treeDelegate,this.renderers,this.focus,this.selection,this.anchor,{...jDt(()=>this.model,o),tree:this,stickyScrollProvider:()=>this.stickyScrollController}),this.model=this.createModel(e,this.view,o),a.input=this.model.onDidChangeCollapseState;const h=lt.forEach(this.model.onDidSplice,g=>{this.eventBufferer.bufferEvents(()=>{this.focus.onDidModelSplice(g),this.selection.onDidModelSplice(g)})},this.disposables);h(()=>null,null,this.disposables);const m=this.disposables.add(new be),f=this.disposables.add(new Fd(0));if(this.disposables.add(lt.any(h,this.focus.onDidChange,this.selection.onDidChange)(()=>{f.trigger(()=>{const g=new Set;for(const b of this.focus.getNodes())g.add(b);for(const b of this.selection.getNodes())g.add(b);m.fire([...g.values()])})})),l.input=m.event,o.keyboardSupport!==!1){const g=lt.chain(this.view.onKeyDown,b=>b.filter(v=>!L0(v.target)).map(v=>new sr(v)));lt.chain(g,b=>b.filter(v=>v.keyCode===15))(this.onLeftArrow,this,this.disposables),lt.chain(g,b=>b.filter(v=>v.keyCode===17))(this.onRightArrow,this,this.disposables),lt.chain(g,b=>b.filter(v=>v.keyCode===10))(this.onSpace,this,this.disposables)}if((!((s=o.findWidgetEnabled)!==null&&s!==void 0)||s)&&o.keyboardNavigationLabelProvider&&o.contextViewProvider){const g=this.options.findWidgetStyles?{styles:this.options.findWidgetStyles}:void 0;this.findController=new qDt(this,this.model,this.view,d,o.contextViewProvider,g),this.focusNavigationFilter=b=>this.findController.shouldAllowFocus(b),this.onDidChangeFindOpenState=this.findController.onDidChangeOpenState,this.disposables.add(this.findController),this.onDidChangeFindMode=this.findController.onDidChangeMode,this.onDidChangeFindMatchType=this.findController.onDidChangeMatchType}else this.onDidChangeFindMode=lt.None,this.onDidChangeFindMatchType=lt.None;o.enableStickyScroll&&(this.stickyScrollController=new axe(this,this.model,this.view,this.renderers,this.treeDelegate,o),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus),this.styleElement=Au(this.view.getHTMLElement()),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===q2.Always)}updateOptions(e={}){var t;this._options={...this._options,...e};for(const i of this.renderers)i.updateOptions(e);this.view.updateOptions(this._options),(t=this.findController)===null||t===void 0||t.updateOptions(e),this.updateStickyScroll(e),this._onDidUpdateOptions.fire(this._options),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===q2.Always)}get options(){return this._options}updateStickyScroll(e){var t;!this.stickyScrollController&&this._options.enableStickyScroll?(this.stickyScrollController=new axe(this,this.model,this.view,this.renderers,this.treeDelegate,this._options),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus):this.stickyScrollController&&!this._options.enableStickyScroll&&(this.onDidChangeStickyScrollFocused=lt.None,this.stickyScrollController.dispose(),this.stickyScrollController=void 0),(t=this.stickyScrollController)===null||t===void 0||t.updateOptions(e)}getHTMLElement(){return this.view.getHTMLElement()}get scrollTop(){return this.view.scrollTop}set scrollTop(e){this.view.scrollTop=e}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get ariaLabel(){return this.view.ariaLabel}set ariaLabel(e){this.view.ariaLabel=e}domFocus(){var e;!((e=this.stickyScrollController)===null||e===void 0)&&e.focusedLast()?this.stickyScrollController.domFocus():this.view.domFocus()}layout(e,t){var i;this.view.layout(e,t),Rb(t)&&((i=this.findController)===null||i===void 0||i.layout(t))}style(e){var t;const i=`.${this.view.domId}`,r=[];e.treeIndentGuidesStroke&&(r.push(`.monaco-list${i}:hover .monaco-tl-indent > .indent-guide, .monaco-list${i}.always .monaco-tl-indent > .indent-guide { border-color: ${e.treeInactiveIndentGuidesStroke}; }`),r.push(`.monaco-list${i} .monaco-tl-indent > .indent-guide.active { border-color: ${e.treeIndentGuidesStroke}; }`)),e.listBackground&&(r.push(`.monaco-list${i} .monaco-scrollable-element .monaco-tree-sticky-container { background-color: ${e.listBackground}; }`),r.push(`.monaco-list${i} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row { background-color: ${e.listBackground}; }`)),e.listFocusForeground&&(r.push(`.monaco-list${i}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { color: ${e.listFocusForeground}; }`),r.push(`.monaco-list${i}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { color: inherit; }`));const o=Mg(e.listFocusAndSelectionOutline,Mg(e.listSelectionOutline,(t=e.listFocusOutline)!==null&&t!==void 0?t:""));o&&(r.push(`.monaco-list${i}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused.selected { outline: 1px solid ${o}; outline-offset: -1px;}`),r.push(`.monaco-list${i}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused.selected { outline: inherit;}`)),e.listFocusOutline&&(r.push(`.monaco-list${i}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }`),r.push(`.monaco-list${i}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { outline: inherit; }`),r.push(`.monaco-workbench.context-menu-visible .monaco-list${i}.last-focused.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.passive-focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }`),r.push(`.monaco-workbench.context-menu-visible .monaco-list${i}.last-focused.sticky-scroll-focused .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`),r.push(`.monaco-workbench.context-menu-visible .monaco-list${i}.last-focused:not(.sticky-scroll-focused) .monaco-tree-sticky-container .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`)),this.styleElement.textContent=r.join(` -`),this.view.style(e)}getParentElement(e){const t=this.model.getParentNodeLocation(e);return this.model.getNode(t).element}getFirstElementChild(e){return this.model.getFirstElementChild(e)}getNode(e){return this.model.getNode(e)}getNodeLocation(e){return this.model.getNodeLocation(e)}collapse(e,t=!1){return this.model.setCollapsed(e,!0,t)}expand(e,t=!1){return this.model.setCollapsed(e,!1,t)}toggleCollapsed(e,t=!1){return this.model.setCollapsed(e,void 0,t)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}refilter(){this._onWillRefilter.fire(void 0),this.model.refilter()}setSelection(e,t){this.eventBufferer.bufferEvents(()=>{const i=e.map(o=>this.model.getNode(o));this.selection.set(i,t);const r=e.map(o=>this.model.getListIndex(o)).filter(o=>o>-1);this.view.setSelection(r,t,!0)})}getSelection(){return this.selection.get()}setFocus(e,t){this.eventBufferer.bufferEvents(()=>{const i=e.map(o=>this.model.getNode(o));this.focus.set(i,t);const r=e.map(o=>this.model.getListIndex(o)).filter(o=>o>-1);this.view.setFocus(r,t,!0)})}focusNext(e=1,t=!1,i,r=jb(i)&&i.altKey?void 0:this.focusNavigationFilter){this.view.focusNext(e,t,i,r)}focusPrevious(e=1,t=!1,i,r=jb(i)&&i.altKey?void 0:this.focusNavigationFilter){this.view.focusPrevious(e,t,i,r)}focusNextPage(e,t=jb(e)&&e.altKey?void 0:this.focusNavigationFilter){return this.view.focusNextPage(e,t)}focusPreviousPage(e,t=jb(e)&&e.altKey?void 0:this.focusNavigationFilter){return this.view.focusPreviousPage(e,t,()=>{var i,r;return(r=(i=this.stickyScrollController)===null||i===void 0?void 0:i.height)!==null&&r!==void 0?r:0})}focusFirst(e,t=jb(e)&&e.altKey?void 0:this.focusNavigationFilter){this.view.focusFirst(e,t)}getFocus(){return this.focus.get()}reveal(e,t){this.model.expandTo(e);const i=this.model.getListIndex(e);if(i!==-1)if(!this.stickyScrollController)this.view.reveal(i,t);else{const r=this.stickyScrollController.nodePositionTopBelowWidget(this.getNode(e));this.view.reveal(i,t,r)}}onLeftArrow(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(t.length===0)return;const i=t[0],r=this.model.getNodeLocation(i);if(!this.model.setCollapsed(r,!0)){const s=this.model.getParentNodeLocation(r);if(!s)return;const a=this.model.getListIndex(s);this.view.reveal(a),this.view.setFocus([a])}}onRightArrow(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(t.length===0)return;const i=t[0],r=this.model.getNodeLocation(i);if(!this.model.setCollapsed(r,!1)){if(!i.children.some(l=>l.visible))return;const[s]=this.view.getFocus(),a=s+1;this.view.reveal(a),this.view.setFocus([a])}}onSpace(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(t.length===0)return;const i=t[0],r=this.model.getNodeLocation(i),o=e.browserEvent.altKey;this.model.setCollapsed(r,void 0,o)}dispose(){var e;er(this.disposables),(e=this.stickyScrollController)===null||e===void 0||e.dispose(),this.view.dispose()}}class YJ{constructor(e,t,i={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.nodesByIdentity=new Map,this.model=new UDt(e,t,null,i),this.onDidSplice=this.model.onDidSplice,this.onDidChangeCollapseState=this.model.onDidChangeCollapseState,this.onDidChangeRenderNodeCount=this.model.onDidChangeRenderNodeCount,i.sorter&&(this.sorter={compare(r,o){return i.sorter.compare(r.element,o.element)}}),this.identityProvider=i.identityProvider}setChildren(e,t=Qn.empty(),i={}){const r=this.getElementLocation(e);this._setChildren(r,this.preserveCollapseState(t),i)}_setChildren(e,t=Qn.empty(),i){const r=new Set,o=new Set,s=l=>{var u;if(l.element===null)return;const c=l;if(r.add(c.element),this.nodes.set(c.element,c),this.identityProvider){const d=this.identityProvider.getId(c.element).toString();o.add(d),this.nodesByIdentity.set(d,c)}(u=i.onDidCreateNode)===null||u===void 0||u.call(i,c)},a=l=>{var u;if(l.element===null)return;const c=l;if(r.has(c.element)||this.nodes.delete(c.element),this.identityProvider){const d=this.identityProvider.getId(c.element).toString();o.has(d)||this.nodesByIdentity.delete(d)}(u=i.onDidDeleteNode)===null||u===void 0||u.call(i,c)};this.model.splice([...e,0],Number.MAX_VALUE,t,{...i,onDidCreateNode:s,onDidDeleteNode:a})}preserveCollapseState(e=Qn.empty()){return this.sorter&&(e=[...e].sort(this.sorter.compare.bind(this.sorter))),Qn.map(e,t=>{let i=this.nodes.get(t.element);if(!i&&this.identityProvider){const s=this.identityProvider.getId(t.element).toString();i=this.nodesByIdentity.get(s)}if(!i){let s;return typeof t.collapsed>"u"?s=void 0:t.collapsed===$u.Collapsed||t.collapsed===$u.PreserveOrCollapsed?s=!0:t.collapsed===$u.Expanded||t.collapsed===$u.PreserveOrExpanded?s=!1:s=!!t.collapsed,{...t,children:this.preserveCollapseState(t.children),collapsed:s}}const r=typeof t.collapsible=="boolean"?t.collapsible:i.collapsible;let o;return typeof t.collapsed>"u"||t.collapsed===$u.PreserveOrCollapsed||t.collapsed===$u.PreserveOrExpanded?o=i.collapsed:t.collapsed===$u.Collapsed?o=!0:t.collapsed===$u.Expanded?o=!1:o=!!t.collapsed,{...t,collapsible:r,collapsed:o,children:this.preserveCollapseState(t.children)}})}rerender(e){const t=this.getElementLocation(e);this.model.rerender(t)}getFirstElementChild(e=null){const t=this.getElementLocation(e);return this.model.getFirstElementChild(t)}has(e){return this.nodes.has(e)}getListIndex(e){const t=this.getElementLocation(e);return this.model.getListIndex(t)}getListRenderCount(e){const t=this.getElementLocation(e);return this.model.getListRenderCount(t)}isCollapsible(e){const t=this.getElementLocation(e);return this.model.isCollapsible(t)}setCollapsible(e,t){const i=this.getElementLocation(e);return this.model.setCollapsible(i,t)}isCollapsed(e){const t=this.getElementLocation(e);return this.model.isCollapsed(t)}setCollapsed(e,t,i){const r=this.getElementLocation(e);return this.model.setCollapsed(r,t,i)}expandTo(e){const t=this.getElementLocation(e);this.model.expandTo(t)}refilter(){this.model.refilter()}getNode(e=null){if(e===null)return this.model.getNode(this.model.rootRef);const t=this.nodes.get(e);if(!t)throw new qu(this.user,`Tree element not found: ${e}`);return t}getNodeLocation(e){return e.element}getParentNodeLocation(e){if(e===null)throw new qu(this.user,"Invalid getParentNodeLocation call");const t=this.nodes.get(e);if(!t)throw new qu(this.user,`Tree element not found: ${e}`);const i=this.model.getNodeLocation(t),r=this.model.getParentNodeLocation(i);return this.model.getNode(r).element}getElementLocation(e){if(e===null)return[];const t=this.nodes.get(e);if(!t)throw new qu(this.user,`Tree element not found: ${e}`);return this.model.getNodeLocation(t)}}function b3(n){const e=[n.element],t=n.incompressible||!1;return{element:{elements:e,incompressible:t},children:Qn.map(Qn.from(n.children),b3),collapsible:n.collapsible,collapsed:n.collapsed}}function v3(n){const e=[n.element],t=n.incompressible||!1;let i,r;for(;[r,i]=Qn.consume(Qn.from(n.children),2),!(r.length!==1||r[0].incompressible);)n=r[0],e.push(n.element);return{element:{elements:e,incompressible:t},children:Qn.map(Qn.concat(r,i),v3),collapsible:n.collapsible,collapsed:n.collapsed}}function UJ(n,e=0){let t;return eUJ(i,0)),e===0&&n.element.incompressible?{element:n.element.elements[e],children:t,incompressible:!0,collapsible:n.collapsible,collapsed:n.collapsed}:{element:n.element.elements[e],children:t,collapsible:n.collapsible,collapsed:n.collapsed}}function uxe(n){return UJ(n,0)}function cxe(n,e,t){return n.element===e?{...n,children:t}:{...n,children:Qn.map(Qn.from(n.children),i=>cxe(i,e,t))}}const lMt=n=>({getId(e){return e.elements.map(t=>n.getId(t).toString()).join("\0")}});class uMt{get onDidSplice(){return this.model.onDidSplice}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get onDidChangeRenderNodeCount(){return this.model.onDidChangeRenderNodeCount}constructor(e,t,i={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.model=new YJ(e,t,i),this.enabled=typeof i.compressionEnabled>"u"?!0:i.compressionEnabled,this.identityProvider=i.identityProvider}setChildren(e,t=Qn.empty(),i){const r=i.diffIdentityProvider&&lMt(i.diffIdentityProvider);if(e===null){const f=Qn.map(t,this.enabled?v3:b3);this._setChildren(null,f,{diffIdentityProvider:r,diffDepth:1/0});return}const o=this.nodes.get(e);if(!o)throw new qu(this.user,"Unknown compressed tree node");const s=this.model.getNode(o),a=this.model.getParentNodeLocation(o),l=this.model.getNode(a),u=uxe(s),c=cxe(u,e,t),d=(this.enabled?v3:b3)(c),h=i.diffIdentityProvider?(f,g)=>i.diffIdentityProvider.getId(f)===i.diffIdentityProvider.getId(g):void 0;if(kr(d.element.elements,s.element.elements,h)){this._setChildren(o,d.children||Qn.empty(),{diffIdentityProvider:r,diffDepth:1});return}const m=l.children.map(f=>f===s?d:f);this._setChildren(l.element,m,{diffIdentityProvider:r,diffDepth:s.depth-l.depth})}isCompressionEnabled(){return this.enabled}setCompressionEnabled(e){if(e===this.enabled)return;this.enabled=e;const i=this.model.getNode().children,r=Qn.map(i,uxe),o=Qn.map(r,e?v3:b3);this._setChildren(null,o,{diffIdentityProvider:this.identityProvider,diffDepth:1/0})}_setChildren(e,t,i){const r=new Set,o=a=>{for(const l of a.element.elements)r.add(l),this.nodes.set(l,a.element)},s=a=>{for(const l of a.element.elements)r.has(l)||this.nodes.delete(l)};this.model.setChildren(e,t,{...i,onDidCreateNode:o,onDidDeleteNode:s})}has(e){return this.nodes.has(e)}getListIndex(e){const t=this.getCompressedNode(e);return this.model.getListIndex(t)}getListRenderCount(e){const t=this.getCompressedNode(e);return this.model.getListRenderCount(t)}getNode(e){if(typeof e>"u")return this.model.getNode();const t=this.getCompressedNode(e);return this.model.getNode(t)}getNodeLocation(e){const t=this.model.getNodeLocation(e);return t===null?null:t.elements[t.elements.length-1]}getParentNodeLocation(e){const t=this.getCompressedNode(e),i=this.model.getParentNodeLocation(t);return i===null?null:i.elements[i.elements.length-1]}getFirstElementChild(e){const t=this.getCompressedNode(e);return this.model.getFirstElementChild(t)}isCollapsible(e){const t=this.getCompressedNode(e);return this.model.isCollapsible(t)}setCollapsible(e,t){const i=this.getCompressedNode(e);return this.model.setCollapsible(i,t)}isCollapsed(e){const t=this.getCompressedNode(e);return this.model.isCollapsed(t)}setCollapsed(e,t,i){const r=this.getCompressedNode(e);return this.model.setCollapsed(r,t,i)}expandTo(e){const t=this.getCompressedNode(e);this.model.expandTo(t)}rerender(e){const t=this.getCompressedNode(e);this.model.rerender(t)}refilter(){this.model.refilter()}getCompressedNode(e){if(e===null)return null;const t=this.nodes.get(e);if(!t)throw new qu(this.user,`Tree element not found: ${e}`);return t}}const cMt=n=>n[n.length-1];class KJ{get element(){return this.node.element===null?null:this.unwrapper(this.node.element)}get children(){return this.node.children.map(e=>new KJ(this.unwrapper,e))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e,t){this.unwrapper=e,this.node=t}}function dMt(n,e){return{splice(t,i,r){e.splice(t,i,r.map(o=>n.map(o)))},updateElementHeight(t,i){e.updateElementHeight(t,i)}}}function hMt(n,e){return{...e,identityProvider:e.identityProvider&&{getId(t){return e.identityProvider.getId(n(t))}},sorter:e.sorter&&{compare(t,i){return e.sorter.compare(t.elements[0],i.elements[0])}},filter:e.filter&&{filter(t,i){return e.filter.filter(n(t),i)}}}}class mMt{get onDidSplice(){return lt.map(this.model.onDidSplice,({insertedNodes:e,deletedNodes:t})=>({insertedNodes:e.map(i=>this.nodeMapper.map(i)),deletedNodes:t.map(i=>this.nodeMapper.map(i))}))}get onDidChangeCollapseState(){return lt.map(this.model.onDidChangeCollapseState,({node:e,deep:t})=>({node:this.nodeMapper.map(e),deep:t}))}get onDidChangeRenderNodeCount(){return lt.map(this.model.onDidChangeRenderNodeCount,e=>this.nodeMapper.map(e))}constructor(e,t,i={}){this.rootRef=null,this.elementMapper=i.elementMapper||cMt;const r=o=>this.elementMapper(o.elements);this.nodeMapper=new XJ(o=>new KJ(r,o)),this.model=new uMt(e,dMt(this.nodeMapper,t),hMt(r,i))}setChildren(e,t=Qn.empty(),i={}){this.model.setChildren(e,t,i)}isCompressionEnabled(){return this.model.isCompressionEnabled()}setCompressionEnabled(e){this.model.setCompressionEnabled(e)}has(e){return this.model.has(e)}getListIndex(e){return this.model.getListIndex(e)}getListRenderCount(e){return this.model.getListRenderCount(e)}getNode(e){return this.nodeMapper.map(this.model.getNode(e))}getNodeLocation(e){return e.element}getParentNodeLocation(e){return this.model.getParentNodeLocation(e)}getFirstElementChild(e){const t=this.model.getFirstElementChild(e);return t===null||typeof t>"u"?t:this.elementMapper(t.elements)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}setCollapsed(e,t,i){return this.model.setCollapsed(e,t,i)}expandTo(e){return this.model.expandTo(e)}rerender(e){return this.model.rerender(e)}refilter(){return this.model.refilter()}getCompressedTreeNode(e=null){return this.model.getNode(e)}}var fMt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o};class JJ extends lxe{get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}constructor(e,t,i,r,o={}){super(e,t,i,r,o),this.user=e}setChildren(e,t=Qn.empty(),i){this.model.setChildren(e,t,i)}rerender(e){if(e===void 0){this.view.rerender();return}this.model.rerender(e)}hasElement(e){return this.model.has(e)}createModel(e,t,i){return new YJ(e,t,i)}}class dxe{get compressedTreeNodeProvider(){return this._compressedTreeNodeProvider()}constructor(e,t,i){this._compressedTreeNodeProvider=e,this.stickyScrollDelegate=t,this.renderer=i,this.templateId=i.templateId,i.onDidChangeTwistieState&&(this.onDidChangeTwistieState=i.onDidChangeTwistieState)}renderTemplate(e){return{compressedTreeNode:void 0,data:this.renderer.renderTemplate(e)}}renderElement(e,t,i,r){let o=this.stickyScrollDelegate.getCompressedNode(e);o||(o=this.compressedTreeNodeProvider.getCompressedTreeNode(e.element)),o.element.elements.length===1?(i.compressedTreeNode=void 0,this.renderer.renderElement(e,t,i.data,r)):(i.compressedTreeNode=o,this.renderer.renderCompressedElements(o,t,i.data,r))}disposeElement(e,t,i,r){var o,s,a,l;i.compressedTreeNode?(s=(o=this.renderer).disposeCompressedElements)===null||s===void 0||s.call(o,i.compressedTreeNode,t,i.data,r):(l=(a=this.renderer).disposeElement)===null||l===void 0||l.call(a,e,t,i.data,r)}disposeTemplate(e){this.renderer.disposeTemplate(e.data)}renderTwistie(e,t){return this.renderer.renderTwistie?this.renderer.renderTwistie(e,t):!1}}fMt([io],dxe.prototype,"compressedTreeNodeProvider",null);class gMt{constructor(e){this.modelProvider=e,this.compressedStickyNodes=new Map}getCompressedNode(e){return this.compressedStickyNodes.get(e)}constrainStickyScrollNodes(e,t,i){if(this.compressedStickyNodes.clear(),e.length===0)return[];for(let r=0;ri||r>=t-1&&tthis,a=new gMt(()=>this.model),l=r.map(u=>new dxe(s,a,u));super(e,t,i,l,{...pMt(s,o),stickyScrollDelegate:a})}setChildren(e,t=Qn.empty(),i){this.model.setChildren(e,t,i)}createModel(e,t,i){return new mMt(e,t,i)}updateOptions(e={}){super.updateOptions(e),typeof e.compressionEnabled<"u"&&this.model.setCompressionEnabled(e.compressionEnabled)}getCompressedTreeNode(e=null){return this.model.getCompressedTreeNode(e)}}function jJ(n){return{...n,children:[],refreshPromise:void 0,stale:!0,slow:!1,forceExpanded:!1}}function QJ(n,e){return e.parent?e.parent===n?!0:QJ(n,e.parent):!1}function bMt(n,e){return n===e||QJ(n,e)||QJ(e,n)}class $J{get element(){return this.node.element.element}get children(){return this.node.children.map(e=>new $J(e))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e){this.node=e}}class vMt{constructor(e,t,i){this.renderer=e,this.nodeMapper=t,this.onDidChangeTwistieState=i,this.renderedNodes=new Map,this.templateId=e.templateId}renderTemplate(e){return{templateData:this.renderer.renderTemplate(e)}}renderElement(e,t,i,r){this.renderer.renderElement(this.nodeMapper.map(e),t,i.templateData,r)}renderTwistie(e,t){return e.slow?(t.classList.add(...sn.asClassNameArray(ut.treeItemLoading)),!0):(t.classList.remove(...sn.asClassNameArray(ut.treeItemLoading)),!1)}disposeElement(e,t,i,r){var o,s;(s=(o=this.renderer).disposeElement)===null||s===void 0||s.call(o,this.nodeMapper.map(e),t,i.templateData,r)}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}dispose(){this.renderedNodes.clear()}}function mxe(n){return{browserEvent:n.browserEvent,elements:n.elements.map(e=>e.element)}}function fxe(n){return{browserEvent:n.browserEvent,element:n.element&&n.element.element,target:n.target}}class yMt extends AD{constructor(e){super(e.elements.map(t=>t.element)),this.data=e}}function qJ(n){return n instanceof AD?new yMt(n):n}class CMt{constructor(e){this.dnd=e}getDragURI(e){return this.dnd.getDragURI(e.element)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e.map(i=>i.element),t)}onDragStart(e,t){var i,r;(r=(i=this.dnd).onDragStart)===null||r===void 0||r.call(i,qJ(e),t)}onDragOver(e,t,i,r,o,s=!0){return this.dnd.onDragOver(qJ(e),t&&t.element,i,r,o)}drop(e,t,i,r,o){this.dnd.drop(qJ(e),t&&t.element,i,r,o)}onDragEnd(e){var t,i;(i=(t=this.dnd).onDragEnd)===null||i===void 0||i.call(t,e)}dispose(){this.dnd.dispose()}}function gxe(n){return n&&{...n,collapseByDefault:!0,identityProvider:n.identityProvider&&{getId(e){return n.identityProvider.getId(e.element)}},dnd:n.dnd&&new CMt(n.dnd),multipleSelectionController:n.multipleSelectionController&&{isSelectionSingleChangeEvent(e){return n.multipleSelectionController.isSelectionSingleChangeEvent({...e,element:e.element})},isSelectionRangeChangeEvent(e){return n.multipleSelectionController.isSelectionRangeChangeEvent({...e,element:e.element})}},accessibilityProvider:n.accessibilityProvider&&{...n.accessibilityProvider,getPosInSet:void 0,getSetSize:void 0,getRole:n.accessibilityProvider.getRole?e=>n.accessibilityProvider.getRole(e.element):()=>"treeitem",isChecked:n.accessibilityProvider.isChecked?e=>{var t;return!!(!((t=n.accessibilityProvider)===null||t===void 0)&&t.isChecked(e.element))}:void 0,getAriaLabel(e){return n.accessibilityProvider.getAriaLabel(e.element)},getWidgetAriaLabel(){return n.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:n.accessibilityProvider.getWidgetRole?()=>n.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:n.accessibilityProvider.getAriaLevel&&(e=>n.accessibilityProvider.getAriaLevel(e.element)),getActiveDescendantId:n.accessibilityProvider.getActiveDescendantId&&(e=>n.accessibilityProvider.getActiveDescendantId(e.element))},filter:n.filter&&{filter(e,t){return n.filter.filter(e.element,t)}},keyboardNavigationLabelProvider:n.keyboardNavigationLabelProvider&&{...n.keyboardNavigationLabelProvider,getKeyboardNavigationLabel(e){return n.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e.element)}},sorter:void 0,expandOnlyOnTwistieClick:typeof n.expandOnlyOnTwistieClick>"u"?void 0:typeof n.expandOnlyOnTwistieClick!="function"?n.expandOnlyOnTwistieClick:e=>n.expandOnlyOnTwistieClick(e.element),defaultFindVisibility:e=>e.hasChildren&&e.stale?1:typeof n.defaultFindVisibility=="number"?n.defaultFindVisibility:typeof n.defaultFindVisibility>"u"?2:n.defaultFindVisibility(e.element)}}function e8(n,e){e(n),n.children.forEach(t=>e8(t,e))}class pxe{get onDidScroll(){return this.tree.onDidScroll}get onDidChangeFocus(){return lt.map(this.tree.onDidChangeFocus,mxe)}get onDidChangeSelection(){return lt.map(this.tree.onDidChangeSelection,mxe)}get onMouseDblClick(){return lt.map(this.tree.onMouseDblClick,fxe)}get onPointer(){return lt.map(this.tree.onPointer,fxe)}get onDidFocus(){return this.tree.onDidFocus}get onDidChangeModel(){return this.tree.onDidChangeModel}get onDidChangeCollapseState(){return this.tree.onDidChangeCollapseState}get onDidChangeFindOpenState(){return this.tree.onDidChangeFindOpenState}get onDidChangeStickyScrollFocused(){return this.tree.onDidChangeStickyScrollFocused}get onDidDispose(){return this.tree.onDidDispose}constructor(e,t,i,r,o,s={}){this.user=e,this.dataSource=o,this.nodes=new Map,this.subTreeRefreshPromises=new Map,this.refreshPromises=new Map,this._onDidRender=new be,this._onDidChangeNodeSlowState=new be,this.nodeMapper=new XJ(a=>new $J(a)),this.disposables=new Je,this.identityProvider=s.identityProvider,this.autoExpandSingleChildren=typeof s.autoExpandSingleChildren>"u"?!1:s.autoExpandSingleChildren,this.sorter=s.sorter,this.getDefaultCollapseState=a=>s.collapseByDefault?s.collapseByDefault(a)?$u.PreserveOrCollapsed:$u.PreserveOrExpanded:void 0,this.tree=this.createTree(e,t,i,r,s),this.onDidChangeFindMode=this.tree.onDidChangeFindMode,this.onDidChangeFindMatchType=this.tree.onDidChangeFindMatchType,this.root=jJ({element:void 0,parent:null,hasChildren:!0,defaultCollapseState:void 0}),this.identityProvider&&(this.root={...this.root,id:null}),this.nodes.set(null,this.root),this.tree.onDidChangeCollapseState(this._onDidChangeCollapseState,this,this.disposables)}createTree(e,t,i,r,o){const s=new zJ(i),a=r.map(u=>new vMt(u,this.nodeMapper,this._onDidChangeNodeSlowState.event)),l=gxe(o)||{};return new JJ(e,t,s,a,l)}updateOptions(e={}){this.tree.updateOptions(e)}getHTMLElement(){return this.tree.getHTMLElement()}get scrollTop(){return this.tree.scrollTop}set scrollTop(e){this.tree.scrollTop=e}get scrollHeight(){return this.tree.scrollHeight}get renderHeight(){return this.tree.renderHeight}domFocus(){this.tree.domFocus()}layout(e,t){this.tree.layout(e,t)}style(e){this.tree.style(e)}getInput(){return this.root.element}async setInput(e,t){this.refreshPromises.forEach(r=>r.cancel()),this.refreshPromises.clear(),this.root.element=e;const i=t&&{viewState:t,focus:[],selection:[]};await this._updateChildren(e,!0,!1,i),i&&(this.tree.setFocus(i.focus),this.tree.setSelection(i.selection)),t&&typeof t.scrollTop=="number"&&(this.scrollTop=t.scrollTop)}async _updateChildren(e=this.root.element,t=!0,i=!1,r,o){if(typeof this.root.element>"u")throw new qu(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await lt.toPromise(this._onDidRender.event));const s=this.getDataNode(e);if(await this.refreshAndRenderNode(s,t,r,o),i)try{this.tree.rerender(s)}catch{}}rerender(e){if(e===void 0||e===this.root.element){this.tree.rerender();return}const t=this.getDataNode(e);this.tree.rerender(t)}getNode(e=this.root.element){const t=this.getDataNode(e),i=this.tree.getNode(t===this.root?null:t);return this.nodeMapper.map(i)}collapse(e,t=!1){const i=this.getDataNode(e);return this.tree.collapse(i===this.root?null:i,t)}async expand(e,t=!1){if(typeof this.root.element>"u")throw new qu(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await lt.toPromise(this._onDidRender.event));const i=this.getDataNode(e);if(this.tree.hasElement(i)&&!this.tree.isCollapsible(i)||(i.refreshPromise&&(await this.root.refreshPromise,await lt.toPromise(this._onDidRender.event)),i!==this.root&&!i.refreshPromise&&!this.tree.isCollapsed(i)))return!1;const r=this.tree.expand(i===this.root?null:i,t);return i.refreshPromise&&(await this.root.refreshPromise,await lt.toPromise(this._onDidRender.event)),r}setSelection(e,t){const i=e.map(r=>this.getDataNode(r));this.tree.setSelection(i,t)}getSelection(){return this.tree.getSelection().map(t=>t.element)}setFocus(e,t){const i=e.map(r=>this.getDataNode(r));this.tree.setFocus(i,t)}getFocus(){return this.tree.getFocus().map(t=>t.element)}reveal(e,t){this.tree.reveal(this.getDataNode(e),t)}getParentElement(e){const t=this.tree.getParentElement(this.getDataNode(e));return t&&t.element}getFirstElementChild(e=this.root.element){const t=this.getDataNode(e),i=this.tree.getFirstElementChild(t===this.root?null:t);return i&&i.element}getDataNode(e){const t=this.nodes.get(e===this.root.element?null:e);if(!t)throw new qu(this.user,`Data tree node not found: ${e}`);return t}async refreshAndRenderNode(e,t,i,r){await this.refreshNode(e,t,i),!this.disposables.isDisposed&&this.render(e,i,r)}async refreshNode(e,t,i){let r;if(this.subTreeRefreshPromises.forEach((o,s)=>{!r&&bMt(s,e)&&(r=o.then(()=>this.refreshNode(e,t,i)))}),r)return r;if(e!==this.root&&this.tree.getNode(e).collapsed){e.hasChildren=!!this.dataSource.hasChildren(e.element),e.stale=!0,this.setChildren(e,[],t,i);return}return this.doRefreshSubTree(e,t,i)}async doRefreshSubTree(e,t,i){let r;e.refreshPromise=new Promise(o=>r=o),this.subTreeRefreshPromises.set(e,e.refreshPromise),e.refreshPromise.finally(()=>{e.refreshPromise=void 0,this.subTreeRefreshPromises.delete(e)});try{const o=await this.doRefreshNode(e,t,i);e.stale=!1,await HH.settled(o.map(s=>this.doRefreshSubTree(s,t,i)))}finally{r()}}async doRefreshNode(e,t,i){e.hasChildren=!!this.dataSource.hasChildren(e.element);let r;if(!e.hasChildren)r=Promise.resolve(Qn.empty());else{const o=this.doGetChildren(e);if(Cbe(o))r=Promise.resolve(o);else{const s=Bv(800);s.then(()=>{e.slow=!0,this._onDidChangeNodeSlowState.fire(e)},a=>null),r=o.finally(()=>s.cancel())}}try{const o=await r;return this.setChildren(e,o,t,i)}catch(o){if(e!==this.root&&this.tree.hasElement(e)&&this.tree.collapse(e),Gm(o))return[];throw o}finally{e.slow&&(e.slow=!1,this._onDidChangeNodeSlowState.fire(e))}}doGetChildren(e){let t=this.refreshPromises.get(e);if(t)return t;const i=this.dataSource.getChildren(e.element);return Cbe(i)?this.processChildren(i):(t=rs(async()=>this.processChildren(await i)),this.refreshPromises.set(e,t),t.finally(()=>{this.refreshPromises.delete(e)}))}_onDidChangeCollapseState({node:e,deep:t}){e.element!==null&&!e.collapsed&&e.element.stale&&(t?this.collapse(e.element.element):this.refreshAndRenderNode(e.element,!1).catch(vn))}setChildren(e,t,i,r){const o=[...t];if(e.children.length===0&&o.length===0)return[];const s=new Map,a=new Map;for(const c of e.children)s.set(c.element,c),this.identityProvider&&a.set(c.id,{node:c,collapsed:this.tree.hasElement(c)&&this.tree.isCollapsed(c)});const l=[],u=o.map(c=>{const d=!!this.dataSource.hasChildren(c);if(!this.identityProvider){const g=jJ({element:c,parent:e,hasChildren:d,defaultCollapseState:this.getDefaultCollapseState(c)});return d&&g.defaultCollapseState===$u.PreserveOrExpanded&&l.push(g),g}const h=this.identityProvider.getId(c).toString(),m=a.get(h);if(m){const g=m.node;return s.delete(g.element),this.nodes.delete(g.element),this.nodes.set(c,g),g.element=c,g.hasChildren=d,i?m.collapsed?(g.children.forEach(b=>e8(b,v=>this.nodes.delete(v.element))),g.children.splice(0,g.children.length),g.stale=!0):l.push(g):d&&!m.collapsed&&l.push(g),g}const f=jJ({element:c,parent:e,id:h,hasChildren:d,defaultCollapseState:this.getDefaultCollapseState(c)});return r&&r.viewState.focus&&r.viewState.focus.indexOf(h)>-1&&r.focus.push(f),r&&r.viewState.selection&&r.viewState.selection.indexOf(h)>-1&&r.selection.push(f),(r&&r.viewState.expanded&&r.viewState.expanded.indexOf(h)>-1||d&&f.defaultCollapseState===$u.PreserveOrExpanded)&&l.push(f),f});for(const c of s.values())e8(c,d=>this.nodes.delete(d.element));for(const c of u)this.nodes.set(c.element,c);return e.children.splice(0,e.children.length,...u),e!==this.root&&this.autoExpandSingleChildren&&u.length===1&&l.length===0&&(u[0].forceExpanded=!0,l.push(u[0])),l}render(e,t,i){const r=e.children.map(s=>this.asTreeElement(s,t)),o=i&&{...i,diffIdentityProvider:i.diffIdentityProvider&&{getId(s){return i.diffIdentityProvider.getId(s.element)}}};this.tree.setChildren(e===this.root?null:e,r,o),e!==this.root&&this.tree.setCollapsible(e,e.hasChildren),this._onDidRender.fire()}asTreeElement(e,t){if(e.stale)return{element:e,collapsible:e.hasChildren,collapsed:!0};let i;return t&&t.viewState.expanded&&e.id&&t.viewState.expanded.indexOf(e.id)>-1?i=!1:e.forceExpanded?(i=!1,e.forceExpanded=!1):i=e.defaultCollapseState,{element:e,children:e.hasChildren?Qn.map(e.children,r=>this.asTreeElement(r,t)):[],collapsible:e.hasChildren,collapsed:i}}processChildren(e){return this.sorter&&(e=[...e].sort(this.sorter.compare.bind(this.sorter))),e}dispose(){this.disposables.dispose(),this.tree.dispose()}}class t8{get element(){return{elements:this.node.element.elements.map(e=>e.element),incompressible:this.node.element.incompressible}}get children(){return this.node.children.map(e=>new t8(e))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e){this.node=e}}class wMt{constructor(e,t,i,r){this.renderer=e,this.nodeMapper=t,this.compressibleNodeMapperProvider=i,this.onDidChangeTwistieState=r,this.renderedNodes=new Map,this.disposables=[],this.templateId=e.templateId}renderTemplate(e){return{templateData:this.renderer.renderTemplate(e)}}renderElement(e,t,i,r){this.renderer.renderElement(this.nodeMapper.map(e),t,i.templateData,r)}renderCompressedElements(e,t,i,r){this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(e),t,i.templateData,r)}renderTwistie(e,t){return e.slow?(t.classList.add(...sn.asClassNameArray(ut.treeItemLoading)),!0):(t.classList.remove(...sn.asClassNameArray(ut.treeItemLoading)),!1)}disposeElement(e,t,i,r){var o,s;(s=(o=this.renderer).disposeElement)===null||s===void 0||s.call(o,this.nodeMapper.map(e),t,i.templateData,r)}disposeCompressedElements(e,t,i,r){var o,s;(s=(o=this.renderer).disposeCompressedElements)===null||s===void 0||s.call(o,this.compressibleNodeMapperProvider().map(e),t,i.templateData,r)}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}dispose(){this.renderedNodes.clear(),this.disposables=er(this.disposables)}}function SMt(n){const e=n&&gxe(n);return e&&{...e,keyboardNavigationLabelProvider:e.keyboardNavigationLabelProvider&&{...e.keyboardNavigationLabelProvider,getCompressedNodeKeyboardNavigationLabel(t){return n.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(t.map(i=>i.element))}}}}class xMt extends pxe{constructor(e,t,i,r,o,s,a={}){super(e,t,i,o,s,a),this.compressionDelegate=r,this.compressibleNodeMapper=new XJ(l=>new t8(l)),this.filter=a.filter}createTree(e,t,i,r,o){const s=new zJ(i),a=r.map(u=>new wMt(u,this.nodeMapper,()=>this.compressibleNodeMapper,this._onDidChangeNodeSlowState.event)),l=SMt(o)||{};return new hxe(e,t,s,a,l)}asTreeElement(e,t){return{incompressible:this.compressionDelegate.isIncompressible(e.element),...super.asTreeElement(e,t)}}updateOptions(e={}){this.tree.updateOptions(e)}render(e,t,i){if(!this.identityProvider)return super.render(e,t);const r=m=>this.identityProvider.getId(m).toString(),o=m=>{const f=new Set;for(const g of m){const b=this.tree.getCompressedTreeNode(g===this.root?null:g);if(b.element)for(const v of b.element.elements)f.add(r(v.element))}return f},s=o(this.tree.getSelection()),a=o(this.tree.getFocus());super.render(e,t,i);const l=this.getSelection();let u=!1;const c=this.getFocus();let d=!1;const h=m=>{const f=m.element;if(f)for(let g=0;g{const i=this.filter.filter(t,1),r=LMt(i);if(r===2)throw new Error("Recursive tree visibility not supported in async data compressed trees");return r===1})),super.processChildren(e)}}function LMt(n){return typeof n=="boolean"?n?1:0:PJ(n)?xM(n.visibility):xM(n)}class _Mt extends lxe{constructor(e,t,i,r,o,s={}){super(e,t,i,r,s),this.user=e,this.dataSource=o,this.identityProvider=s.identityProvider}createModel(e,t,i){return new YJ(e,t,i)}}new wt("isMac",On,L("isMac","Whether the operating system is macOS")),new wt("isLinux",Ja,L("isLinux","Whether the operating system is Linux"));const y3=new wt("isWindows",ha,L("isWindows","Whether the operating system is Windows")),bxe=new wt("isWeb",Ab,L("isWeb","Whether the platform is a web browser"));new wt("isMacNative",On&&!Ab,L("isMacNative","Whether the operating system is macOS on a non-browser platform")),new wt("isIOS",Vm,L("isIOS","Whether the operating system is iOS")),new wt("isMobile",_be,L("isMobile","Whether the platform is a mobile web browser")),new wt("isDevelopment",!1,!0),new wt("productQualityType","",L("productQualityType","Quality type of VS Code"));const vxe="inputFocus",FMt=new wt(vxe,!1,L("inputFocus","Whether keyboard focus is inside an input box"));var Fp=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},lr=function(n,e){return function(t,i){e(t,i,n)}};const qc=Un("listService");class IMt{get lastFocusedList(){return this._lastFocusedWidget}constructor(){this.disposables=new Je,this.lists=[],this._lastFocusedWidget=void 0,this._hasCreatedStyleController=!1}setLastFocusedList(e){var t,i;e!==this._lastFocusedWidget&&((t=this._lastFocusedWidget)===null||t===void 0||t.getHTMLElement().classList.remove("last-focused"),this._lastFocusedWidget=e,(i=this._lastFocusedWidget)===null||i===void 0||i.getHTMLElement().classList.add("last-focused"))}register(e,t){if(this._hasCreatedStyleController||(this._hasCreatedStyleController=!0,new dwe(Au(),"").style(Zy)),this.lists.some(r=>r.widget===e))throw new Error("Cannot register the same widget multiple times");const i={widget:e,extraContextKeys:t};return this.lists.push(i),l9(e.getHTMLElement())&&this.setLastFocusedList(e),_d(e.onDidFocus(()=>this.setLastFocusedList(e)),jt(()=>this.lists.splice(this.lists.indexOf(i),1)),e.onDidDispose(()=>{this.lists=this.lists.filter(r=>r!==i),this._lastFocusedWidget===e&&this.setLastFocusedList(void 0)}))}dispose(){this.disposables.dispose()}}const _M=new wt("listScrollAtBoundary","none");Oe.or(_M.isEqualTo("top"),_M.isEqualTo("both")),Oe.or(_M.isEqualTo("bottom"),_M.isEqualTo("both"));const yxe=new wt("listFocus",!0),Cxe=new wt("treestickyScrollFocused",!1),C3=new wt("listSupportsMultiselect",!0),wxe=Oe.and(yxe,Oe.not(vxe),Cxe.negate()),n8=new wt("listHasSelectionOrFocus",!1),i8=new wt("listDoubleSelection",!1),r8=new wt("listMultiSelection",!1),w3=new wt("listSelectionNavigation",!1),DMt=new wt("listSupportsFind",!0),o8=new wt("treeElementCanCollapse",!1),MMt=new wt("treeElementHasParent",!1),s8=new wt("treeElementCanExpand",!1),kMt=new wt("treeElementHasChild",!1),NMt=new wt("treeFindOpen",!1),Sxe="listTypeNavigationMode",xxe="listAutomaticKeyboardNavigation";function S3(n,e){const t=n.createScoped(e.getHTMLElement());return yxe.bindTo(t),t}function x3(n,e){const t=_M.bindTo(n),i=()=>{const r=e.scrollTop===0,o=e.scrollHeight-e.renderHeight-e.scrollTop<1;r&&o?t.set("both"):r?t.set("top"):o?t.set("bottom"):t.set("none")};return i(),e.onDidScroll(i)}const jy="workbench.list.multiSelectModifier",L3="workbench.list.openMode",ed="workbench.list.horizontalScrolling",a8="workbench.list.defaultFindMode",l8="workbench.list.typeNavigationMode",_3="workbench.list.keyboardNavigation",Jh="workbench.list.scrollByPage",u8="workbench.list.defaultFindMatchType",FM="workbench.tree.indent",F3="workbench.tree.renderIndentGuides",jh="workbench.list.smoothScrolling",Mf="workbench.list.mouseWheelScrollSensitivity",kf="workbench.list.fastScrollSensitivity",I3="workbench.tree.expandMode",D3="workbench.tree.enableStickyScroll",M3="workbench.tree.stickyScrollMaxItemCount";function Nf(n){return n.getValue(jy)==="alt"}class TMt extends Ie{constructor(e){super(),this.configurationService=e,this.useAltAsMultipleSelectionModifier=Nf(e),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(jy)&&(this.useAltAsMultipleSelectionModifier=Nf(this.configurationService))}))}isSelectionSingleChangeEvent(e){return this.useAltAsMultipleSelectionModifier?e.browserEvent.altKey:awe(e)}isSelectionRangeChangeEvent(e){return lwe(e)}}function k3(n,e){var t;const i=n.get(Pn),r=n.get(Bi),o=new Je;return[{...e,keyboardNavigationDelegate:{mightProducePrintableCharacter(a){return r.mightProducePrintableCharacter(a)}},smoothScrolling:!!i.getValue(jh),mouseWheelScrollSensitivity:i.getValue(Mf),fastScrollSensitivity:i.getValue(kf),multipleSelectionController:(t=e.multipleSelectionController)!==null&&t!==void 0?t:o.add(new TMt(i)),keyboardNavigationEventFilter:WMt(r),scrollByPage:!!i.getValue(Jh)},o]}let Lxe=class extends Ju{constructor(e,t,i,r,o,s,a,l,u){const c=typeof o.horizontalScrolling<"u"?o.horizontalScrolling:!!l.getValue(ed),[d,h]=u.invokeFunction(k3,o);super(e,t,i,r,{keyboardSupport:!1,...d,horizontalScrolling:c}),this.disposables.add(h),this.contextKeyService=S3(s,this),this.disposables.add(x3(this.contextKeyService,this)),this.listSupportsMultiSelect=C3.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(o.multipleSelectionSupport!==!1),w3.bindTo(this.contextKeyService).set(!!o.selectionNavigation),this.listHasSelectionOrFocus=n8.bindTo(this.contextKeyService),this.listDoubleSelection=i8.bindTo(this.contextKeyService),this.listMultiSelection=r8.bindTo(this.contextKeyService),this.horizontalScrolling=o.horizontalScrolling,this._useAltAsMultipleSelectionModifier=Nf(l),this.disposables.add(this.contextKeyService),this.disposables.add(a.register(this)),this.updateStyles(o.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{const f=this.getSelection(),g=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(f.length>0||g.length>0),this.listMultiSelection.set(f.length>1),this.listDoubleSelection.set(f.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{const f=this.getSelection(),g=this.getFocus();this.listHasSelectionOrFocus.set(f.length>0||g.length>0)})),this.disposables.add(l.onDidChangeConfiguration(f=>{f.affectsConfiguration(jy)&&(this._useAltAsMultipleSelectionModifier=Nf(l));let g={};if(f.affectsConfiguration(ed)&&this.horizontalScrolling===void 0){const b=!!l.getValue(ed);g={...g,horizontalScrolling:b}}if(f.affectsConfiguration(Jh)){const b=!!l.getValue(Jh);g={...g,scrollByPage:b}}if(f.affectsConfiguration(jh)){const b=!!l.getValue(jh);g={...g,smoothScrolling:b}}if(f.affectsConfiguration(Mf)){const b=l.getValue(Mf);g={...g,mouseWheelScrollSensitivity:b}}if(f.affectsConfiguration(kf)){const b=l.getValue(kf);g={...g,fastScrollSensitivity:b}}Object.keys(g).length>0&&this.updateOptions(g)})),this.navigator=new Ixe(this,{configurationService:l,...o}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),e.overrideStyles!==void 0&&this.updateStyles(e.overrideStyles),e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?Wy(e):Zy)}};Lxe=Fp([lr(5,ln),lr(6,qc),lr(7,Pn),lr(8,$t)],Lxe);let _xe=class extends ZDt{constructor(e,t,i,r,o,s,a,l,u){const c=typeof o.horizontalScrolling<"u"?o.horizontalScrolling:!!l.getValue(ed),[d,h]=u.invokeFunction(k3,o);super(e,t,i,r,{keyboardSupport:!1,...d,horizontalScrolling:c}),this.disposables=new Je,this.disposables.add(h),this.contextKeyService=S3(s,this),this.disposables.add(x3(this.contextKeyService,this.widget)),this.horizontalScrolling=o.horizontalScrolling,this.listSupportsMultiSelect=C3.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(o.multipleSelectionSupport!==!1),w3.bindTo(this.contextKeyService).set(!!o.selectionNavigation),this._useAltAsMultipleSelectionModifier=Nf(l),this.disposables.add(this.contextKeyService),this.disposables.add(a.register(this)),this.updateStyles(o.overrideStyles),this.disposables.add(l.onDidChangeConfiguration(f=>{f.affectsConfiguration(jy)&&(this._useAltAsMultipleSelectionModifier=Nf(l));let g={};if(f.affectsConfiguration(ed)&&this.horizontalScrolling===void 0){const b=!!l.getValue(ed);g={...g,horizontalScrolling:b}}if(f.affectsConfiguration(Jh)){const b=!!l.getValue(Jh);g={...g,scrollByPage:b}}if(f.affectsConfiguration(jh)){const b=!!l.getValue(jh);g={...g,smoothScrolling:b}}if(f.affectsConfiguration(Mf)){const b=l.getValue(Mf);g={...g,mouseWheelScrollSensitivity:b}}if(f.affectsConfiguration(kf)){const b=l.getValue(kf);g={...g,fastScrollSensitivity:b}}Object.keys(g).length>0&&this.updateOptions(g)})),this.navigator=new Ixe(this,{configurationService:l,...o}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),e.overrideStyles!==void 0&&this.updateStyles(e.overrideStyles),e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?Wy(e):Zy)}dispose(){this.disposables.dispose(),super.dispose()}};_xe=Fp([lr(5,ln),lr(6,qc),lr(7,Pn),lr(8,$t)],_xe);let Fxe=class extends f3{constructor(e,t,i,r,o,s,a,l,u,c){const d=typeof s.horizontalScrolling<"u"?s.horizontalScrolling:!!u.getValue(ed),[h,m]=c.invokeFunction(k3,s);super(e,t,i,r,o,{keyboardSupport:!1,...h,horizontalScrolling:d}),this.disposables.add(m),this.contextKeyService=S3(a,this),this.disposables.add(x3(this.contextKeyService,this)),this.listSupportsMultiSelect=C3.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(s.multipleSelectionSupport!==!1),w3.bindTo(this.contextKeyService).set(!!s.selectionNavigation),this.listHasSelectionOrFocus=n8.bindTo(this.contextKeyService),this.listDoubleSelection=i8.bindTo(this.contextKeyService),this.listMultiSelection=r8.bindTo(this.contextKeyService),this.horizontalScrolling=s.horizontalScrolling,this._useAltAsMultipleSelectionModifier=Nf(u),this.disposables.add(this.contextKeyService),this.disposables.add(l.register(this)),this.updateStyles(s.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{const g=this.getSelection(),b=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(g.length>0||b.length>0),this.listMultiSelection.set(g.length>1),this.listDoubleSelection.set(g.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{const g=this.getSelection(),b=this.getFocus();this.listHasSelectionOrFocus.set(g.length>0||b.length>0)})),this.disposables.add(u.onDidChangeConfiguration(g=>{g.affectsConfiguration(jy)&&(this._useAltAsMultipleSelectionModifier=Nf(u));let b={};if(g.affectsConfiguration(ed)&&this.horizontalScrolling===void 0){const v=!!u.getValue(ed);b={...b,horizontalScrolling:v}}if(g.affectsConfiguration(Jh)){const v=!!u.getValue(Jh);b={...b,scrollByPage:v}}if(g.affectsConfiguration(jh)){const v=!!u.getValue(jh);b={...b,smoothScrolling:v}}if(g.affectsConfiguration(Mf)){const v=u.getValue(Mf);b={...b,mouseWheelScrollSensitivity:v}}if(g.affectsConfiguration(kf)){const v=u.getValue(kf);b={...b,fastScrollSensitivity:v}}Object.keys(b).length>0&&this.updateOptions(b)})),this.navigator=new EMt(this,{configurationService:u,...s}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),e.overrideStyles!==void 0&&this.updateStyles(e.overrideStyles),e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?Wy(e):Zy)}dispose(){this.disposables.dispose(),super.dispose()}};Fxe=Fp([lr(6,ln),lr(7,qc),lr(8,Pn),lr(9,$t)],Fxe);class c8 extends Ie{constructor(e,t){var i;super(),this.widget=e,this._onDidOpen=this._register(new be),this.onDidOpen=this._onDidOpen.event,this._register(lt.filter(this.widget.onDidChangeSelection,r=>jb(r.browserEvent))(r=>this.onSelectionFromKeyboard(r))),this._register(this.widget.onPointer(r=>this.onPointer(r.element,r.browserEvent))),this._register(this.widget.onMouseDblClick(r=>this.onMouseDblClick(r.element,r.browserEvent))),typeof(t==null?void 0:t.openOnSingleClick)!="boolean"&&(t!=null&&t.configurationService)?(this.openOnSingleClick=(t==null?void 0:t.configurationService.getValue(L3))!=="doubleClick",this._register(t==null?void 0:t.configurationService.onDidChangeConfiguration(r=>{r.affectsConfiguration(L3)&&(this.openOnSingleClick=(t==null?void 0:t.configurationService.getValue(L3))!=="doubleClick")}))):this.openOnSingleClick=(i=t==null?void 0:t.openOnSingleClick)!==null&&i!==void 0?i:!0}onSelectionFromKeyboard(e){if(e.elements.length!==1)return;const t=e.browserEvent,i=typeof t.preserveFocus=="boolean"?t.preserveFocus:!0,r=typeof t.pinned=="boolean"?t.pinned:!i;this._open(this.getSelectedElement(),i,r,!1,e.browserEvent)}onPointer(e,t){if(!this.openOnSingleClick||t.detail===2)return;const r=t.button===1,o=!0,s=r,a=t.ctrlKey||t.metaKey||t.altKey;this._open(e,o,s,a,t)}onMouseDblClick(e,t){if(!t)return;const i=t.target;if(i.classList.contains("monaco-tl-twistie")||i.classList.contains("monaco-icon-label")&&i.classList.contains("folder-icon")&&t.offsetX<16)return;const o=!1,s=!0,a=t.ctrlKey||t.metaKey||t.altKey;this._open(e,o,s,a,t)}_open(e,t,i,r,o){e&&this._onDidOpen.fire({editorOptions:{preserveFocus:t,pinned:i,revealIfVisible:!0},sideBySide:r,element:e,browserEvent:o})}}class Ixe extends c8{constructor(e,t){super(e,t),this.widget=e}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class EMt extends c8{constructor(e,t){super(e,t)}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class ZMt extends c8{constructor(e,t){super(e,t)}getSelectedElement(){var e;return(e=this.widget.getSelection()[0])!==null&&e!==void 0?e:void 0}}function WMt(n){let e=!1;return t=>{if(t.toKeyCodeChord().isModifierKey())return!1;if(e)return e=!1,!1;const i=n.softDispatch(t,t.target);return i.kind===1?(e=!0,!1):(e=!1,i.kind===0)}}let d8=class extends JJ{constructor(e,t,i,r,o,s,a,l,u){const{options:c,getTypeNavigationMode:d,disposable:h}=s.invokeFunction(IM,o);super(e,t,i,r,c),this.disposables.add(h),this.internals=new Qy(this,o,d,o.overrideStyles,a,l,u),this.disposables.add(this.internals)}updateOptions(e){super.updateOptions(e),this.internals.updateOptions(e)}};d8=Fp([lr(5,$t),lr(6,ln),lr(7,qc),lr(8,Pn)],d8);let Dxe=class extends hxe{constructor(e,t,i,r,o,s,a,l,u){const{options:c,getTypeNavigationMode:d,disposable:h}=s.invokeFunction(IM,o);super(e,t,i,r,c),this.disposables.add(h),this.internals=new Qy(this,o,d,o.overrideStyles,a,l,u),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};Dxe=Fp([lr(5,$t),lr(6,ln),lr(7,qc),lr(8,Pn)],Dxe);let Mxe=class extends _Mt{constructor(e,t,i,r,o,s,a,l,u,c){const{options:d,getTypeNavigationMode:h,disposable:m}=a.invokeFunction(IM,s);super(e,t,i,r,o,d),this.disposables.add(m),this.internals=new Qy(this,s,h,s.overrideStyles,l,u,c),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles!==void 0&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};Mxe=Fp([lr(6,$t),lr(7,ln),lr(8,qc),lr(9,Pn)],Mxe);let h8=class extends pxe{get onDidOpen(){return this.internals.onDidOpen}constructor(e,t,i,r,o,s,a,l,u,c){const{options:d,getTypeNavigationMode:h,disposable:m}=a.invokeFunction(IM,s);super(e,t,i,r,o,d),this.disposables.add(m),this.internals=new Qy(this,s,h,s.overrideStyles,l,u,c),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};h8=Fp([lr(6,$t),lr(7,ln),lr(8,qc),lr(9,Pn)],h8);let kxe=class extends xMt{constructor(e,t,i,r,o,s,a,l,u,c,d){const{options:h,getTypeNavigationMode:m,disposable:f}=l.invokeFunction(IM,a);super(e,t,i,r,o,s,h),this.disposables.add(f),this.internals=new Qy(this,a,m,a.overrideStyles,u,c,d),this.disposables.add(this.internals)}updateOptions(e){super.updateOptions(e),this.internals.updateOptions(e)}};kxe=Fp([lr(7,$t),lr(8,ln),lr(9,qc),lr(10,Pn)],kxe);function Nxe(n){const e=n.getValue(a8);if(e==="highlight")return _p.Highlight;if(e==="filter")return _p.Filter;const t=n.getValue(_3);if(t==="simple"||t==="highlight")return _p.Highlight;if(t==="filter")return _p.Filter}function Txe(n){const e=n.getValue(u8);if(e==="fuzzy")return Jy.Fuzzy;if(e==="contiguous")return Jy.Contiguous}function IM(n,e){var t;const i=n.get(Pn),r=n.get(pp),o=n.get(ln),s=n.get($t),a=()=>{const m=o.getContextKeyValue(Sxe);if(m==="automatic")return yf.Automatic;if(m==="trigger"||o.getContextKeyValue(xxe)===!1)return yf.Trigger;const g=i.getValue(l8);if(g==="automatic")return yf.Automatic;if(g==="trigger")return yf.Trigger},l=e.horizontalScrolling!==void 0?e.horizontalScrolling:!!i.getValue(ed),[u,c]=s.invokeFunction(k3,e),d=e.paddingBottom,h=e.renderIndentGuides!==void 0?e.renderIndentGuides:i.getValue(F3);return{getTypeNavigationMode:a,disposable:c,options:{keyboardSupport:!1,...u,indent:typeof i.getValue(FM)=="number"?i.getValue(FM):void 0,renderIndentGuides:h,smoothScrolling:!!i.getValue(jh),defaultFindMode:Nxe(i),defaultFindMatchType:Txe(i),horizontalScrolling:l,scrollByPage:!!i.getValue(Jh),paddingBottom:d,hideTwistiesOfChildlessElements:e.hideTwistiesOfChildlessElements,expandOnlyOnTwistieClick:(t=e.expandOnlyOnTwistieClick)!==null&&t!==void 0?t:i.getValue(I3)==="doubleClick",contextViewProvider:r,findWidgetStyles:F_t,enableStickyScroll:!!i.getValue(D3),stickyScrollMaxItemCount:Number(i.getValue(M3))}}}let Qy=class{get onDidOpen(){return this.navigator.onDidOpen}constructor(e,t,i,r,o,s,a){var l;this.tree=e,this.disposables=[],this.contextKeyService=S3(o,e),this.disposables.push(x3(this.contextKeyService,e)),this.listSupportsMultiSelect=C3.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(t.multipleSelectionSupport!==!1),w3.bindTo(this.contextKeyService).set(!!t.selectionNavigation),this.listSupportFindWidget=DMt.bindTo(this.contextKeyService),this.listSupportFindWidget.set((l=t.findWidgetEnabled)!==null&&l!==void 0?l:!0),this.hasSelectionOrFocus=n8.bindTo(this.contextKeyService),this.hasDoubleSelection=i8.bindTo(this.contextKeyService),this.hasMultiSelection=r8.bindTo(this.contextKeyService),this.treeElementCanCollapse=o8.bindTo(this.contextKeyService),this.treeElementHasParent=MMt.bindTo(this.contextKeyService),this.treeElementCanExpand=s8.bindTo(this.contextKeyService),this.treeElementHasChild=kMt.bindTo(this.contextKeyService),this.treeFindOpen=NMt.bindTo(this.contextKeyService),this.treeStickyScrollFocused=Cxe.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=Nf(a),this.updateStyleOverrides(r);const c=()=>{const h=e.getFocus()[0];if(!h)return;const m=e.getNode(h);this.treeElementCanCollapse.set(m.collapsible&&!m.collapsed),this.treeElementHasParent.set(!!e.getParentElement(h)),this.treeElementCanExpand.set(m.collapsible&&m.collapsed),this.treeElementHasChild.set(!!e.getFirstElementChild(h))},d=new Set;d.add(Sxe),d.add(xxe),this.disposables.push(this.contextKeyService,s.register(e),e.onDidChangeSelection(()=>{const h=e.getSelection(),m=e.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.hasSelectionOrFocus.set(h.length>0||m.length>0),this.hasMultiSelection.set(h.length>1),this.hasDoubleSelection.set(h.length===2)})}),e.onDidChangeFocus(()=>{const h=e.getSelection(),m=e.getFocus();this.hasSelectionOrFocus.set(h.length>0||m.length>0),c()}),e.onDidChangeCollapseState(c),e.onDidChangeModel(c),e.onDidChangeFindOpenState(h=>this.treeFindOpen.set(h)),e.onDidChangeStickyScrollFocused(h=>this.treeStickyScrollFocused.set(h)),a.onDidChangeConfiguration(h=>{let m={};if(h.affectsConfiguration(jy)&&(this._useAltAsMultipleSelectionModifier=Nf(a)),h.affectsConfiguration(FM)){const f=a.getValue(FM);m={...m,indent:f}}if(h.affectsConfiguration(F3)&&t.renderIndentGuides===void 0){const f=a.getValue(F3);m={...m,renderIndentGuides:f}}if(h.affectsConfiguration(jh)){const f=!!a.getValue(jh);m={...m,smoothScrolling:f}}if(h.affectsConfiguration(a8)||h.affectsConfiguration(_3)){const f=Nxe(a);m={...m,defaultFindMode:f}}if(h.affectsConfiguration(l8)||h.affectsConfiguration(_3)){const f=i();m={...m,typeNavigationMode:f}}if(h.affectsConfiguration(u8)){const f=Txe(a);m={...m,defaultFindMatchType:f}}if(h.affectsConfiguration(ed)&&t.horizontalScrolling===void 0){const f=!!a.getValue(ed);m={...m,horizontalScrolling:f}}if(h.affectsConfiguration(Jh)){const f=!!a.getValue(Jh);m={...m,scrollByPage:f}}if(h.affectsConfiguration(I3)&&t.expandOnlyOnTwistieClick===void 0&&(m={...m,expandOnlyOnTwistieClick:a.getValue(I3)==="doubleClick"}),h.affectsConfiguration(D3)){const f=a.getValue(D3);m={...m,enableStickyScroll:f}}if(h.affectsConfiguration(M3)){const f=Math.max(1,a.getValue(M3));m={...m,stickyScrollMaxItemCount:f}}if(h.affectsConfiguration(Mf)){const f=a.getValue(Mf);m={...m,mouseWheelScrollSensitivity:f}}if(h.affectsConfiguration(kf)){const f=a.getValue(kf);m={...m,fastScrollSensitivity:f}}Object.keys(m).length>0&&e.updateOptions(m)}),this.contextKeyService.onDidChangeContext(h=>{h.affectsSome(d)&&e.updateOptions({typeNavigationMode:i()})})),this.navigator=new ZMt(e,{configurationService:a,...t}),this.disposables.push(this.navigator)}updateOptions(e){e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyleOverrides(e){this.tree.style(e?Wy(e):Zy)}dispose(){this.disposables=er(this.disposables)}};Qy=Fp([lr(4,ln),lr(5,qc),lr(6,Pn)],Qy),Do.as(Eh.Configuration).registerConfiguration({id:"workbench",order:7,title:L("workbenchConfigurationTitle","Workbench"),type:"object",properties:{[jy]:{type:"string",enum:["ctrlCmd","alt"],markdownEnumDescriptions:[L("multiSelectModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),L("multiSelectModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"ctrlCmd",description:L({key:"multiSelectModifier",comment:["- `ctrlCmd` refers to a value the setting can take and should not be localized.","- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized."]},"The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.")},[L3]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:L({key:"openModeModifier",comment:["`singleClick` and `doubleClick` refers to a value the setting can take and should not be localized."]},"Controls how to open items in trees and lists using the mouse (if supported). Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[ed]:{type:"boolean",default:!1,description:L("horizontalScrolling setting","Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.")},[Jh]:{type:"boolean",default:!1,description:L("list.scrollByPage","Controls whether clicks in the scrollbar scroll page by page.")},[FM]:{type:"number",default:8,minimum:4,maximum:40,description:L("tree indent setting","Controls tree indentation in pixels.")},[F3]:{type:"string",enum:["none","onHover","always"],default:"onHover",description:L("render tree indent guides","Controls whether the tree should render indent guides.")},[jh]:{type:"boolean",default:!1,description:L("list smoothScrolling setting","Controls whether lists and trees have smooth scrolling.")},[Mf]:{type:"number",default:1,markdownDescription:L("Mouse Wheel Scroll Sensitivity","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")},[kf]:{type:"number",default:5,markdownDescription:L("Fast Scroll Sensitivity","Scrolling speed multiplier when pressing `Alt`.")},[a8]:{type:"string",enum:["highlight","filter"],enumDescriptions:[L("defaultFindModeSettingKey.highlight","Highlight elements when searching. Further up and down navigation will traverse only the highlighted elements."),L("defaultFindModeSettingKey.filter","Filter elements when searching.")],default:"highlight",description:L("defaultFindModeSettingKey","Controls the default find mode for lists and trees in the workbench.")},[_3]:{type:"string",enum:["simple","highlight","filter"],enumDescriptions:[L("keyboardNavigationSettingKey.simple","Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes."),L("keyboardNavigationSettingKey.highlight","Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements."),L("keyboardNavigationSettingKey.filter","Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.")],default:"highlight",description:L("keyboardNavigationSettingKey","Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter."),deprecated:!0,deprecationMessage:L("keyboardNavigationSettingKeyDeprecated","Please use 'workbench.list.defaultFindMode' and 'workbench.list.typeNavigationMode' instead.")},[u8]:{type:"string",enum:["fuzzy","contiguous"],enumDescriptions:[L("defaultFindMatchTypeSettingKey.fuzzy","Use fuzzy matching when searching."),L("defaultFindMatchTypeSettingKey.contiguous","Use contiguous matching when searching.")],default:"fuzzy",description:L("defaultFindMatchTypeSettingKey","Controls the type of matching used when searching lists and trees in the workbench.")},[I3]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:L("expand mode","Controls how tree folders are expanded when clicking the folder names. Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[D3]:{type:"boolean",default:!0,description:L("sticky scroll","Controls whether sticky scrolling is enabled in trees.")},[M3]:{type:"number",minimum:1,default:7,markdownDescription:L("sticky scroll maximum items","Controls the number of sticky elements displayed in the tree when `#workbench.tree.enableStickyScroll#` is enabled.")},[l8]:{type:"string",enum:["automatic","trigger"],default:"automatic",markdownDescription:L("typeNavigationMode2","Controls how type navigation works in lists and trees in the workbench. When set to `trigger`, type navigation begins once the `list.triggerTypeNavigation` command is run.")}}});class X0{constructor(e,t,i,r){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=r,this.id=aU.nextId()}get uri(){return this.link.uri}get range(){var e,t;return(t=(e=this._range)!==null&&e!==void 0?e:this.link.targetSelectionRange)!==null&&t!==void 0?t:this.link.range}set range(e){this._range=e,this._rangeCallback(this)}get ariaMessage(){var e;const t=(e=this.parent.getPreview(this))===null||e===void 0?void 0:e.preview(this.range);return t?L({key:"aria.oneReference.preview",comment:["Placeholders are: 0: filename, 1:line number, 2: column number, 3: preview snippet of source code"]},"{0} in {1} on line {2} at column {3}",t.value,Hc(this.uri),this.range.startLineNumber,this.range.startColumn):L("aria.oneReference","in {0} on line {1} at column {2}",Hc(this.uri),this.range.startLineNumber,this.range.startColumn)}}class RMt{constructor(e){this._modelReference=e}dispose(){this._modelReference.dispose()}preview(e,t=8){const i=this._modelReference.object.textEditorModel;if(!i)return;const{startLineNumber:r,startColumn:o,endLineNumber:s,endColumn:a}=e,l=i.getWordUntilPosition({lineNumber:r,column:o-t}),u=new J(r,l.startColumn,r,o),c=new J(s,a,s,1073741824),d=i.getValueInRange(u).replace(/^\s+/,""),h=i.getValueInRange(e),m=i.getValueInRange(c).replace(/\s+$/,"");return{value:d+h+m,highlight:{start:d.length,end:d.length+h.length}}}}class DM{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new to}dispose(){er(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){const e=this.children.length;return e===1?L("aria.fileReferences.1","1 symbol in {0}, full path {1}",Hc(this.uri),this.uri.fsPath):L("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,Hc(this.uri),this.uri.fsPath)}async resolve(e){if(this._previews.size!==0)return this;for(const t of this.children)if(!this._previews.has(t.uri))try{const i=await e.createModelReference(t.uri);this._previews.set(t.uri,new RMt(i))}catch(i){vn(i)}return this}}class pu{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new be,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;e.sort(pu._compareReferences);let r;for(const o of e)if((!r||!gr.isEqual(r.uri,o.uri,!0))&&(r=new DM(this,o.uri),this.groups.push(r)),r.children.length===0||pu._compareReferences(o,r.children[r.children.length-1])!==0){const s=new X0(i===o,r,o,a=>this._onDidChangeReferenceRange.fire(a));this.references.push(s),r.children.push(s)}}dispose(){er(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new pu(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?L("aria.result.0","No results found"):this.references.length===1?L("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath):this.groups.length===1?L("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):L("aria.result.nm","Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(e,t){const{parent:i}=e;let r=i.children.indexOf(e);const o=i.children.length,s=i.parent.groups.length;return s===1||t&&r+10?(t?r=(r+1)%o:r=(r+o-1)%o,i.children[r]):(r=i.parent.groups.indexOf(i),t?(r=(r+1)%s,i.parent.groups[r].children[0]):(r=(r+s-1)%s,i.parent.groups[r].children[i.parent.groups[r].children.length-1]))}nearestReference(e,t){const i=this.references.map((r,o)=>({idx:o,prefixLen:Pb(r.uri.toString(),e.toString()),offsetDist:Math.abs(r.range.startLineNumber-t.lineNumber)*100+Math.abs(r.range.startColumn-t.column)})).sort((r,o)=>r.prefixLen>o.prefixLen?-1:r.prefixLeno.offsetDist?1:0)[0];if(i)return this.references[i.idx]}referenceAt(e,t){for(const i of this.references)if(i.uri.toString()===e.toString()&&J.containsPosition(i.range,t))return i}firstReference(){for(const e of this.references)if(e.isProviderFirst)return e;return this.references[0]}static _compareReferences(e,t){return gr.compare(e.uri,t.uri)||J.compareRangesUsingStarts(e.range,t.range)}}class m8{constructor(e,t,i){this.options=t,this.styles=i,this.count=0,this.element=je(e,Ct(".monaco-count-badge")),this.countFormat=this.options.countFormat||"{0}",this.titleFormat=this.options.titleFormat||"",this.setCount(this.options.count||0)}setCount(e){this.count=e,this.render()}setTitleFormat(e){this.titleFormat=e,this.render()}render(){var e,t;this.element.textContent=pS(this.countFormat,this.count),this.element.title=pS(this.titleFormat,this.count),this.element.style.backgroundColor=(e=this.styles.badgeBackground)!==null&&e!==void 0?e:"",this.element.style.color=(t=this.styles.badgeForeground)!==null&&t!==void 0?t:"",this.styles.badgeBorder&&(this.element.style.border=`1px solid ${this.styles.badgeBorder}`)}}class P0 extends Ie{constructor(e,t){var i;super(),this.options=t,this.text="",this.title="",this.highlights=[],this.didEverRender=!1,this.supportIcons=(i=t==null?void 0:t.supportIcons)!==null&&i!==void 0?i:!1,this.domNode=je(e,Ct("span.monaco-highlighted-label"))}get element(){return this.domNode}set(e,t=[],i="",r){e||(e=""),r&&(e=P0.escapeNewLines(e,t)),!(this.didEverRender&&this.text===e&&this.title===i&&Ou(this.highlights,t))&&(this.text=e,this.title=i,this.highlights=t,this.render())}render(){var e,t,i,r;const o=[];let s=0;for(const a of this.highlights){if(a.end===a.start)continue;if(s{r=o===`\r -`?-1:0,s+=i;for(const a of t)a.end<=s||(a.start>=s&&(a.start+=r),a.end>=s&&(a.end+=r));return i+=r,"⏎"})}}class MM{constructor(e){this._element=e}get element(){return this._element}set textContent(e){this.disposed||e===this._textContent||(this._textContent=e,this._element.textContent=e)}set className(e){this.disposed||e===this._className||(this._className=e,this._element.className=e)}set empty(e){this.disposed||e===this._empty||(this._empty=e,this._element.style.marginLeft=e?"0":"")}dispose(){this.disposed=!0}}class N3 extends Ie{constructor(e,t){var i;super(),this.customHovers=new Map,this.creationOptions=t,this.domNode=this._register(new MM(je(e,Ct(".monaco-icon-label")))),this.labelContainer=je(this.domNode.element,Ct(".monaco-icon-label-container")),this.nameContainer=je(this.labelContainer,Ct("span.monaco-icon-name-container")),t!=null&&t.supportHighlights||t!=null&&t.supportIcons?this.nameNode=this._register(new GMt(this.nameContainer,!!t.supportIcons)):this.nameNode=new VMt(this.nameContainer),this.hoverDelegate=(i=t==null?void 0:t.hoverDelegate)!==null&&i!==void 0?i:Pl("mouse")}get element(){return this.domNode.element}setLabel(e,t,i){var r;const o=["monaco-icon-label"],s=["monaco-icon-label-container"];let a="";if(i&&(i.extraClasses&&o.push(...i.extraClasses),i.italic&&o.push("italic"),i.strikethrough&&o.push("strikethrough"),i.disabledCommand&&s.push("disabled"),i.title&&(typeof i.title=="string"?a+=i.title:a+=e)),this.domNode.className=o.join(" "),this.domNode.element.setAttribute("aria-label",a),this.labelContainer.className=s.join(" "),this.setupHover(i!=null&&i.descriptionTitle?this.labelContainer:this.element,i==null?void 0:i.title),this.nameNode.setLabel(e,i),t||this.descriptionNode){const l=this.getOrCreateDescriptionNode();l instanceof P0?(l.set(t||"",i?i.descriptionMatches:void 0,void 0,i==null?void 0:i.labelEscapeNewLines),this.setupHover(l.element,i==null?void 0:i.descriptionTitle)):(l.textContent=t&&(i!=null&&i.labelEscapeNewLines)?P0.escapeNewLines(t,[]):t||"",this.setupHover(l.element,(i==null?void 0:i.descriptionTitle)||""),l.empty=!t)}if(i!=null&&i.suffix||this.suffixNode){const l=this.getOrCreateSuffixNode();l.textContent=(r=i==null?void 0:i.suffix)!==null&&r!==void 0?r:""}}setupHover(e,t){const i=this.customHovers.get(e);if(i&&(i.dispose(),this.customHovers.delete(e)),!t){e.removeAttribute("title");return}if(this.hoverDelegate.showNativeHover)O2t(e,t);else{const r=Vd(this.hoverDelegate,e,t);r&&this.customHovers.set(e,r)}}dispose(){super.dispose();for(const e of this.customHovers.values())e.dispose();this.customHovers.clear()}getOrCreateSuffixNode(){if(!this.suffixNode){const e=this._register(new MM(Tft(this.nameContainer,Ct("span.monaco-icon-suffix-container"))));this.suffixNode=this._register(new MM(je(e.element,Ct("span.label-suffix"))))}return this.suffixNode}getOrCreateDescriptionNode(){var e;if(!this.descriptionNode){const t=this._register(new MM(je(this.labelContainer,Ct("span.monaco-icon-description-container"))));!((e=this.creationOptions)===null||e===void 0)&&e.supportDescriptionHighlights?this.descriptionNode=this._register(new P0(je(t.element,Ct("span.label-description")),{supportIcons:!!this.creationOptions.supportIcons})):this.descriptionNode=this._register(new MM(je(t.element,Ct("span.label-description"))))}return this.descriptionNode}}class VMt{constructor(e){this.container=e,this.label=void 0,this.singleLabel=void 0}setLabel(e,t){if(!(this.label===e&&Ou(this.options,t)))if(this.label=e,this.options=t,typeof e=="string")this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=je(this.container,Ct("a.label-name",{id:t==null?void 0:t.domId}))),this.singleLabel.textContent=e;else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;for(let i=0;i{const o={start:i,end:i+r.length},s=t.map(a=>ya.intersect(o,a)).filter(a=>!ya.isEmpty(a)).map(({start:a,end:l})=>({start:a-i,end:l-i}));return i=o.end+e.length,s})}class GMt extends Ie{constructor(e,t){super(),this.container=e,this.supportIcons=t,this.label=void 0,this.singleLabel=void 0}setLabel(e,t){if(!(this.label===e&&Ou(this.options,t)))if(this.label=e,this.options=t,typeof e=="string")this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=this._register(new P0(je(this.container,Ct("a.label-name",{id:t==null?void 0:t.domId})),{supportIcons:this.supportIcons}))),this.singleLabel.set(e,t==null?void 0:t.matches,void 0,t==null?void 0:t.labelEscapeNewLines);else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;const i=(t==null?void 0:t.separator)||"/",r=AMt(e,i,t==null?void 0:t.matches);for(let o=0;o=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},E3=function(n,e){return function(t,i){e(t,i,n)}},f8;let g8=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof pu||e instanceof DM}getChildren(e){if(e instanceof pu)return e.groups;if(e instanceof DM)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};g8=T3([E3(0,Nl)],g8);class XMt{getHeight(){return 23}getTemplateId(e){return e instanceof DM?kM.id:NM.id}}let p8=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof X0){const i=(t=e.parent.getPreview(e))===null||t===void 0?void 0:t.preview(e.range);if(i)return i.value}return Hc(e.uri)}};p8=T3([E3(0,Bi)],p8);class PMt{getId(e){return e instanceof X0?e.id:e.uri}}let b8=class extends Ie{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new N3(i,{supportHighlights:!0})),this.badge=new m8(je(i,Ct(".count")),{},aSe),e.appendChild(i)}set(e,t){const i=XW(e.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(e.uri),this._labelService.getUriLabel(i,{relative:!0}),{title:this._labelService.getUriLabel(e.uri),matches:t});const r=e.children.length;this.badge.setCount(r),r>1?this.badge.setTitleFormat(L("referencesCount","{0} references",r)):this.badge.setTitleFormat(L("referenceCount","{0} reference",r))}};b8=T3([E3(1,ex)],b8);let kM=f8=class{constructor(e){this._instantiationService=e,this.templateId=f8.id}renderTemplate(e){return this._instantiationService.createInstance(b8,e)}renderElement(e,t,i){i.set(e.element,cR(e.filterData))}disposeTemplate(e){e.dispose()}};kM.id="FileReferencesRenderer",kM=f8=T3([E3(0,$t)],kM);class OMt extends Ie{constructor(e){super(),this.label=this._register(new P0(e))}set(e,t){var i;const r=(i=e.parent.getPreview(e))===null||i===void 0?void 0:i.preview(e.range);if(!r||!r.value)this.label.set(`${Hc(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`);else{const{value:o,highlight:s}=r;t&&!Hh.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(o,cR(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(o,[s]))}}}class NM{constructor(){this.templateId=NM.id}renderTemplate(e){return new OMt(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}}NM.id="OneReferenceRenderer";class BMt{getWidgetAriaLabel(){return L("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var zMt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Ip=function(n,e){return function(t,i){e(t,i,n)}};class Z3{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new Je,this._callOnModelChange=new Je,this._callOnDispose.add(this._editor.onDidChangeModel(()=>this._onModelChanged())),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();const e=this._editor.getModel();if(e){for(const t of this._model.references)if(t.uri.toString()===e.uri.toString()){this._addDecorations(t.parent);return}}}_addDecorations(e){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations(()=>this._onDecorationChanged()));const t=[],i=[];for(let r=0,o=e.children.length;r{const o=r.deltaDecorations([],t);for(let s=0;s{o.equals(9)&&(this._keybindingService.dispatchEvent(o,o.target),o.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(YMt,"ReferencesWidget",this._treeContainer,new XMt,[this._instantiationService.createInstance(kM),this._instantiationService.createInstance(NM)],this._instantiationService.createInstance(g8),i),this._splitView.addView({onDidChange:lt.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:o=>{this._preview.layout({height:this._dim.height,width:o})}},m3.Distribute),this._splitView.addView({onDidChange:lt.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:o=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${o}px`,this._tree.layout(this._dim.height,o)}},m3.Distribute),this._disposables.add(this._splitView.onDidSashChange(()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)},void 0));const r=(o,s)=>{o instanceof X0&&(s==="show"&&this._revealReference(o,!1),this._onDidSelectReference.fire({element:o,kind:s,source:"tree"}))};this._tree.onDidOpen(o=>{o.sideBySide?r(o.element,"side"):o.editorOptions.pinned?r(o.element,"goto"):r(o.element,"show")}),$a(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new mi(t,e),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(t),this._splitView.resizeView(0,t*this.layoutData.ratio)}setSelection(e){return this._revealReference(e,!0).then(()=>{this._model&&(this._tree.setSelection([e]),this._tree.setFocus([e]))})}setModel(e){return this._disposeOnNewModel.clear(),this._model=e,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(""),this._messageContainer.innerText=L("noResults","No results"),lu(this._messageContainer),Promise.resolve(void 0)):($a(this._messageContainer),this._decorationsManager=new Z3(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange(e=>this._tree.rerender(e))),this._disposeOnNewModel.add(this._preview.onMouseDown(e=>{const{event:t,target:i}=e;if(t.detail!==2)return;const r=this._getFocusedReference();r&&this._onDidSelectReference.fire({element:{uri:r.uri,range:i.range},kind:t.ctrlKey||t.metaKey||t.altKey?"side":"open",source:"editor"})})),this.container.classList.add("results-loaded"),lu(this._treeContainer),lu(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(this._model.groups.length===1?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[e]=this._tree.getFocus();if(e instanceof X0)return e;if(e instanceof DM&&e.children.length>0)return e.children[0]}async revealReference(e){await this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:"goto",source:"tree"})}async _revealReference(e,t){if(this._revealedReference===e)return;this._revealedReference=e,e.uri.scheme!==wn.inMemory?this.setTitle(ACt(e.uri),this._uriLabel.getUriLabel(XW(e.uri))):this.setTitle(L("peekView.alternateTitle","References"));const i=this._textModelResolverService.createModelReference(e.uri);this._tree.getInput()===e.parent?this._tree.reveal(e):(t&&this._tree.reveal(e.parent),await this._tree.expand(e.parent),this._tree.reveal(e));const r=await i;if(!this._model){r.dispose();return}er(this._previewModelReference);const o=r.object;if(o){const s=this._preview.getModel()===o.textEditorModel?0:1,a=J.lift(e.range).collapseToStart();this._previewModelReference=r,this._preview.setModel(o.textEditorModel),this._preview.setSelection(a),this._preview.revealRangeInCenter(a,s)}else this._preview.setModel(this._previewNotAvailableMessage),r.dispose()}};v8=zMt([Ip(3,jo),Ip(4,Nl),Ip(5,$t),Ip(6,j2e),Ip(7,ex),Ip(8,zW),Ip(9,Bi),Ip(10,vr),Ip(11,tr)],v8);var UMt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},tx=function(n,e){return function(t,i){e(t,i,n)}},W3;const $y=new wt("referenceSearchVisible",!1,L("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));let nx=W3=class{static get(e){return e.getContribution(W3.ID)}constructor(e,t,i,r,o,s,a,l){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=r,this._notificationService=o,this._instantiationService=s,this._storageService=a,this._configurationService=l,this._disposables=new Je,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=$y.bindTo(i)}dispose(){var e,t;this._referenceSearchVisible.reset(),this._disposables.dispose(),(e=this._widget)===null||e===void 0||e.dispose(),(t=this._model)===null||t===void 0||t.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(e,t,i){let r;if(this._widget&&(r=this._widget.position),this.closeWidget(),r&&e.containsPosition(r))return;this._peekMode=i,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>{this.closeWidget()})),this._disposables.add(this._editor.onDidChangeModel(()=>{this._ignoreModelChangeEvent||this.closeWidget()}));const o="peekViewLayout",s=HMt.fromJSON(this._storageService.get(o,0,"{}"));this._widget=this._instantiationService.createInstance(v8,this._editor,this._defaultTreeKeyboardSupport,s),this._widget.setTitle(L("labelLoading","Loading...")),this._widget.show(e),this._disposables.add(this._widget.onDidClose(()=>{t.cancel(),this._widget&&(this._storageService.store(o,JSON.stringify(this._widget.layoutData),0,1),this._widget=void 0),this.closeWidget()})),this._disposables.add(this._widget.onDidSelectReference(l=>{const{element:u,kind:c}=l;if(u)switch(c){case"open":(l.source!=="editor"||!this._configurationService.getValue("editor.stablePeek"))&&this.openReference(u,!1,!1);break;case"side":this.openReference(u,!0,!1);break;case"goto":i?this._gotoReference(u,!0):this.openReference(u,!1,!0);break}}));const a=++this._requestIdPool;t.then(l=>{var u;if(a!==this._requestIdPool||!this._widget){l.dispose();return}return(u=this._model)===null||u===void 0||u.dispose(),this._model=l,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle(L("metaTitle.N","{0} ({1})",this._model.title,this._model.references.length));const c=this._editor.getModel().uri,d=new ye(e.startLineNumber,e.startColumn),h=this._model.nearestReference(c,d);if(h)return this._widget.setSelection(h).then(()=>{this._widget&&this._editor.getOption(87)==="editor"&&this._widget.focusOnPreviewEditor()})}})},l=>{this._notificationService.error(l)})}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}async goToNextOrPreviousReference(e){if(!this._editor.hasModel()||!this._model||!this._widget)return;const t=this._widget.position;if(!t)return;const i=this._model.nearestReference(this._editor.getModel().uri,t);if(!i)return;const r=this._model.nextOrPreviousReference(i,e),o=this._editor.hasTextFocus(),s=this._widget.isPreviewEditorFocused();await this._widget.setSelection(r),await this._gotoReference(r,!1),o?this._editor.focus():this._widget&&s&&this._widget.focusOnPreviewEditor()}async revealReference(e){!this._editor.hasModel()||!this._model||!this._widget||await this._widget.revealReference(e)}closeWidget(e=!0){var t,i;(t=this._widget)===null||t===void 0||t.dispose(),(i=this._model)===null||i===void 0||i.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,e&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(e,t){var i;(i=this._widget)===null||i===void 0||i.hide(),this._ignoreModelChangeEvent=!0;const r=J.lift(e.range).collapseToStart();return this._editorService.openCodeEditor({resource:e.uri,options:{selection:r,selectionSource:"code.jump",pinned:t}},this._editor).then(o=>{var s;if(this._ignoreModelChangeEvent=!1,!o||!this._widget){this.closeWidget();return}if(this._editor===o)this._widget.show(r),this._widget.focusOnReferenceTree();else{const a=W3.get(o),l=this._model.clone();this.closeWidget(),o.focus(),a==null||a.toggleWidget(r,rs(u=>Promise.resolve(l)),(s=this._peekMode)!==null&&s!==void 0?s:!1)}},o=>{this._ignoreModelChangeEvent=!1,vn(o)})}openReference(e,t,i){t||this.closeWidget();const{uri:r,range:o}=e;this._editorService.openCodeEditor({resource:r,options:{selection:o,selectionSource:"code.jump",pinned:i}},this._editor,t)}};nx.ID="editor.contrib.referencesController",nx=W3=UMt([tx(2,ln),tx(3,vi),tx(4,ko),tx(5,$t),tx(6,wf),tx(7,Pn)],nx);function qy(n,e){const t=_Dt(n);if(!t)return;const i=nx.get(t);i&&e(i)}El.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:Wo(2089,60),when:Oe.or($y,zl.inPeekEditor),handler(n){qy(n,e=>{e.changeFocusBetweenPreviewAndReferences()})}}),El.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:Oe.or($y,zl.inPeekEditor),handler(n){qy(n,e=>{e.goToNextOrPreviousReference(!0)})}}),El.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:Oe.or($y,zl.inPeekEditor),handler(n){qy(n,e=>{e.goToNextOrPreviousReference(!1)})}}),$n.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference"),$n.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference"),$n.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch"),$n.registerCommand("closeReferenceSearch",n=>qy(n,e=>e.closeWidget())),El.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:Oe.and(zl.inPeekEditor,Oe.not("config.editor.stablePeek"))}),El.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:Oe.and($y,Oe.not("config.editor.stablePeek"),Oe.or(ne.editorTextFocus,FMt.negate()))}),El.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:Oe.and($y,wxe,o8.negate(),s8.negate()),handler(n){var e;const i=(e=n.get(qc).lastFocusedList)===null||e===void 0?void 0:e.getFocus();Array.isArray(i)&&i[0]instanceof X0&&qy(n,r=>r.revealReference(i[0]))}}),El.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:Oe.and($y,wxe,o8.negate(),s8.negate()),handler(n){var e;const i=(e=n.get(qc).lastFocusedList)===null||e===void 0?void 0:e.getFocus();Array.isArray(i)&&i[0]instanceof X0&&qy(n,r=>r.openReference(i[0],!0,!0))}}),$n.registerCommand("openReference",n=>{var e;const i=(e=n.get(qc).lastFocusedList)===null||e===void 0?void 0:e.getFocus();Array.isArray(i)&&i[0]instanceof X0&&qy(n,r=>r.openReference(i[0],!1,!0))});var Exe=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},TM=function(n,e){return function(t,i){e(t,i,n)}};const y8=new wt("hasSymbols",!1,L("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),R3=Un("ISymbolNavigationService");let C8=class{constructor(e,t,i,r){this._editorService=t,this._notificationService=i,this._keybindingService=r,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=y8.bindTo(e)}reset(){var e,t;this._ctxHasSymbols.reset(),(e=this._currentState)===null||e===void 0||e.dispose(),(t=this._currentMessage)===null||t===void 0||t.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(e){const t=e.parent.parent;if(t.references.length<=1){this.reset();return}this._currentModel=t,this._currentIdx=t.references.indexOf(e),this._ctxHasSymbols.set(!0),this._showMessage();const i=new w8(this._editorService),r=i.onDidChange(o=>{if(this._ignoreEditorChange)return;const s=this._editorService.getActiveCodeEditor();if(!s)return;const a=s.getModel(),l=s.getPosition();if(!a||!l)return;let u=!1,c=!1;for(const d of t.references)if(h7(d.uri,a.uri))u=!0,c=c||J.containsPosition(d.range,l);else if(u)break;(!u||!c)&&this.reset()});this._currentState=_d(i,r)}revealNext(e){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;const t=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:t.uri,options:{selection:J.collapseToStart(t.range),selectionRevealType:3}},e).finally(()=>{this._ignoreEditorChange=!1})}_showMessage(){var e;(e=this._currentMessage)===null||e===void 0||e.dispose();const t=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),i=t?L("location.kb","Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,t.getLabel()):L("location","Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(i)}};C8=Exe([TM(0,ln),TM(1,vi),TM(2,ko),TM(3,Bi)],C8),qn(R3,C8,1),gt(new class extends Ko{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:y8,kbOpts:{weight:100,primary:70}})}runEditorCommand(n,e){return n.get(R3).revealNext(e)}}),El.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:y8,primary:9,handler(n){n.get(R3).reset()}});let w8=class{constructor(e){this._listener=new Map,this._disposables=new Je,this._onDidChange=new be,this.onDidChange=this._onDidChange.event,this._disposables.add(e.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(e.onCodeEditorAdd(this._onDidAddEditor,this)),e.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),er(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,_d(e.onDidChangeCursorPosition(t=>this._onDidChange.fire({editor:e})),e.onDidChangeModelContent(t=>this._onDidChange.fire({editor:e}))))}_onDidRemoveEditor(e){var t;(t=this._listener.get(e))===null||t===void 0||t.dispose(),this._listener.delete(e)}};w8=Exe([TM(0,vi)],w8);async function EM(n,e,t,i){const o=t.ordered(n).map(a=>Promise.resolve(i(a,n,e)).then(void 0,l=>{qr(l)})),s=await Promise.all(o);return Ym(s.flat())}function V3(n,e,t,i){return EM(e,t,n,(r,o,s)=>r.provideDefinition(o,s,i))}function Zxe(n,e,t,i){return EM(e,t,n,(r,o,s)=>r.provideDeclaration(o,s,i))}function Wxe(n,e,t,i){return EM(e,t,n,(r,o,s)=>r.provideImplementation(o,s,i))}function Rxe(n,e,t,i){return EM(e,t,n,(r,o,s)=>r.provideTypeDefinition(o,s,i))}function A3(n,e,t,i,r){return EM(e,t,n,async(o,s,a)=>{const l=await o.provideReferences(s,a,{includeDeclaration:!0},r);if(!i||!l||l.length!==2)return l;const u=await o.provideReferences(s,a,{includeDeclaration:!1},r);return u&&u.length===1?u:l})}async function ZM(n){const e=await n(),t=new pu(e,""),i=t.references.map(r=>r.link);return t.dispose(),i}zm("_executeDefinitionProvider",(n,e,t)=>{const i=n.get(Zt),r=V3(i.definitionProvider,e,t,Yn.None);return ZM(()=>r)}),zm("_executeTypeDefinitionProvider",(n,e,t)=>{const i=n.get(Zt),r=Rxe(i.typeDefinitionProvider,e,t,Yn.None);return ZM(()=>r)}),zm("_executeDeclarationProvider",(n,e,t)=>{const i=n.get(Zt),r=Zxe(i.declarationProvider,e,t,Yn.None);return ZM(()=>r)}),zm("_executeReferenceProvider",(n,e,t)=>{const i=n.get(Zt),r=A3(i.referenceProvider,e,t,!1,Yn.None);return ZM(()=>r)}),zm("_executeImplementationProvider",(n,e,t)=>{const i=n.get(Zt),r=Wxe(i.implementationProvider,e,t,Yn.None);return ZM(()=>r)});var WM,RM,VM,G3,X3,P3,O3,B3;ss.appendMenuItem(Q.EditorContext,{submenu:Q.EditorContextPeek,title:L("peek.submenu","Peek"),group:"navigation",order:100});class ix{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof ix||ye.isIPosition(e.position)&&e.model)}constructor(e,t){this.model=e,this.position=t}}class Na extends kh{static all(){return Na._allSymbolNavigationCommands.values()}static _patchConfig(e){const t={...e,f1:!0};if(t.menu)for(const i of Qn.wrap(t.menu))(i.id===Q.EditorContext||i.id===Q.EditorContextPeek)&&(i.when=Oe.and(e.precondition,i.when));return t}constructor(e,t){super(Na._patchConfig(t)),this.configuration=e,Na._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,r){if(!t.hasModel())return Promise.resolve(void 0);const o=e.get(ko),s=e.get(vi),a=e.get(M0),l=e.get(R3),u=e.get(Zt),c=e.get($t),d=t.getModel(),h=t.getPosition(),m=ix.is(i)?i:new ix(d,h),f=new T0(t,5),g=UF(this._getLocationModel(u,m.model,m.position,f.token),f.token).then(async b=>{var v;if(!b||f.token.isCancellationRequested)return;kl(b.ariaMessage);let C;if(b.referenceAt(d.uri,h)){const x=this._getAlternativeCommand(t);!Na._activeAlternativeCommands.has(x)&&Na._allSymbolNavigationCommands.has(x)&&(C=Na._allSymbolNavigationCommands.get(x))}const S=b.references.length;if(S===0){if(!this.configuration.muteMessage){const x=d.getWordAtPosition(h);(v=dl.get(t))===null||v===void 0||v.showMessage(this._getNoResultFoundMessage(x),h)}}else if(S===1&&C)Na._activeAlternativeCommands.add(this.desc.id),c.invokeFunction(x=>C.runEditorCommand(x,t,i,r).finally(()=>{Na._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(s,l,t,b,r)},b=>{o.error(b)}).finally(()=>{f.dispose()});return a.showWhile(g,250),g}async _onResult(e,t,i,r,o){const s=this._getGoToPreference(i);if(!(i instanceof V0)&&(this.configuration.openInPeek||s==="peek"&&r.references.length>1))this._openInPeek(i,r,o);else{const a=r.firstReference(),l=r.references.length>1&&s==="gotoAndPeek",u=await this._openReference(i,e,a,this.configuration.openToSide,!l);l&&u?this._openInPeek(u,r,o):r.dispose(),s==="goto"&&t.put(a)}}async _openReference(e,t,i,r,o){let s;if(zvt(i)&&(s=i.targetSelectionRange),s||(s=i.range),!s)return;const a=await t.openCodeEditor({resource:i.uri,options:{selection:J.collapseToStart(s),selectionRevealType:3,selectionSource:"code.jump"}},e,r);if(a){if(o){const l=a.getModel(),u=a.createDecorationsCollection([{range:s,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{a.getModel()===l&&u.clear()},350)}return a}}_openInPeek(e,t,i){const r=nx.get(e);r&&e.hasModel()?r.toggleWidget(i??e.getSelection(),rs(o=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}}Na._allSymbolNavigationCommands=new Map,Na._activeAlternativeCommands=new Set;class AM extends Na{async _getLocationModel(e,t,i,r){return new pu(await V3(e.definitionProvider,t,i,r),L("def.title","Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?L("noResultWord","No definition found for '{0}'",e.word):L("generic.noResults","No definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleDefinitions}}Ji((WM=class extends AM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:WM.id,title:{...oi("actions.goToDecl.label","Go to Definition"),mnemonicTitle:L({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},precondition:ne.hasDefinitionProvider,keybinding:[{when:ne.editorTextFocus,primary:70,weight:100},{when:Oe.and(ne.editorTextFocus,bxe),primary:2118,weight:100}],menu:[{id:Q.EditorContext,group:"navigation",order:1.1},{id:Q.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),$n.registerCommandAlias("editor.action.goToDeclaration",WM.id)}},WM.id="editor.action.revealDefinition",WM)),Ji((RM=class extends AM{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:RM.id,title:oi("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:Oe.and(ne.hasDefinitionProvider,ne.isInEmbeddedEditor.toNegated()),keybinding:[{when:ne.editorTextFocus,primary:Wo(2089,70),weight:100},{when:Oe.and(ne.editorTextFocus,bxe),primary:Wo(2089,2118),weight:100}]}),$n.registerCommandAlias("editor.action.openDeclarationToTheSide",RM.id)}},RM.id="editor.action.revealDefinitionAside",RM)),Ji((VM=class extends AM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:VM.id,title:oi("actions.previewDecl.label","Peek Definition"),precondition:Oe.and(ne.hasDefinitionProvider,zl.notInPeekEditor,ne.isInEmbeddedEditor.toNegated()),keybinding:{when:ne.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:Q.EditorContextPeek,group:"peek",order:2}}),$n.registerCommandAlias("editor.action.previewDeclaration",VM.id)}},VM.id="editor.action.peekDefinition",VM));class Vxe extends Na{async _getLocationModel(e,t,i,r){return new pu(await Zxe(e.declarationProvider,t,i,r),L("decl.title","Declarations"))}_getNoResultFoundMessage(e){return e&&e.word?L("decl.noResultWord","No declaration found for '{0}'",e.word):L("decl.generic.noResults","No declaration found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(58).multipleDeclarations}}Ji((G3=class extends Vxe{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:G3.id,title:{...oi("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:L({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:Oe.and(ne.hasDeclarationProvider,ne.isInEmbeddedEditor.toNegated()),menu:[{id:Q.EditorContext,group:"navigation",order:1.3},{id:Q.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?L("decl.noResultWord","No declaration found for '{0}'",e.word):L("decl.generic.noResults","No declaration found")}},G3.id="editor.action.revealDeclaration",G3)),Ji(class extends Vxe{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:oi("actions.peekDecl.label","Peek Declaration"),precondition:Oe.and(ne.hasDeclarationProvider,zl.notInPeekEditor,ne.isInEmbeddedEditor.toNegated()),menu:{id:Q.EditorContextPeek,group:"peek",order:3}})}});class Axe extends Na{async _getLocationModel(e,t,i,r){return new pu(await Rxe(e.typeDefinitionProvider,t,i,r),L("typedef.title","Type Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?L("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):L("goToTypeDefinition.generic.noResults","No type definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleTypeDefinitions}}Ji((X3=class extends Axe{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:X3.ID,title:{...oi("actions.goToTypeDefinition.label","Go to Type Definition"),mnemonicTitle:L({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},precondition:ne.hasTypeDefinitionProvider,keybinding:{when:ne.editorTextFocus,primary:0,weight:100},menu:[{id:Q.EditorContext,group:"navigation",order:1.4},{id:Q.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},X3.ID="editor.action.goToTypeDefinition",X3)),Ji((P3=class extends Axe{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:P3.ID,title:oi("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:Oe.and(ne.hasTypeDefinitionProvider,zl.notInPeekEditor,ne.isInEmbeddedEditor.toNegated()),menu:{id:Q.EditorContextPeek,group:"peek",order:4}})}},P3.ID="editor.action.peekTypeDefinition",P3));class Gxe extends Na{async _getLocationModel(e,t,i,r){return new pu(await Wxe(e.implementationProvider,t,i,r),L("impl.title","Implementations"))}_getNoResultFoundMessage(e){return e&&e.word?L("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):L("goToImplementation.generic.noResults","No implementation found")}_getAlternativeCommand(e){return e.getOption(58).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(58).multipleImplementations}}Ji((O3=class extends Gxe{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:O3.ID,title:{...oi("actions.goToImplementation.label","Go to Implementations"),mnemonicTitle:L({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},precondition:ne.hasImplementationProvider,keybinding:{when:ne.editorTextFocus,primary:2118,weight:100},menu:[{id:Q.EditorContext,group:"navigation",order:1.45},{id:Q.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},O3.ID="editor.action.goToImplementation",O3)),Ji((B3=class extends Gxe{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:B3.ID,title:oi("actions.peekImplementation.label","Peek Implementations"),precondition:Oe.and(ne.hasImplementationProvider,zl.notInPeekEditor,ne.isInEmbeddedEditor.toNegated()),keybinding:{when:ne.editorTextFocus,primary:3142,weight:100},menu:{id:Q.EditorContextPeek,group:"peek",order:5}})}},B3.ID="editor.action.peekImplementation",B3));class Xxe extends Na{_getNoResultFoundMessage(e){return e?L("references.no","No references found for '{0}'",e.word):L("references.noGeneric","No references found")}_getAlternativeCommand(e){return e.getOption(58).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(58).multipleReferences}}Ji(class extends Xxe{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...oi("goToReferences.label","Go to References"),mnemonicTitle:L({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:Oe.and(ne.hasReferenceProvider,zl.notInPeekEditor,ne.isInEmbeddedEditor.toNegated()),keybinding:{when:ne.editorTextFocus,primary:1094,weight:100},menu:[{id:Q.EditorContext,group:"navigation",order:1.45},{id:Q.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,r){return new pu(await A3(e.referenceProvider,t,i,!0,r),L("ref.title","References"))}}),Ji(class extends Xxe{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:oi("references.action.label","Peek References"),precondition:Oe.and(ne.hasReferenceProvider,zl.notInPeekEditor,ne.isInEmbeddedEditor.toNegated()),menu:{id:Q.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,r){return new pu(await A3(e.referenceProvider,t,i,!1,r),L("ref.title","References"))}});class KMt extends Na{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:oi("label.generic","Go to Any Symbol"),precondition:Oe.and(zl.notInPeekEditor,ne.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,r){return new pu(this._references,L("generic.title","Locations"))}_getNoResultFoundMessage(e){return e&&L("generic.noResult","No results for '{0}'",e.word)||""}_getGoToPreference(e){var t;return(t=this._gotoMultipleBehaviour)!==null&&t!==void 0?t:e.getOption(58).multipleReferences}_getAlternativeCommand(){return""}}$n.registerCommand({id:"editor.action.goToLocations",metadata:{description:"Go to locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:en},{name:"position",description:"The position at which to start",constraint:ye.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"},{name:"noResultsMessage",description:"Human readable message that shows when locations is empty."}]},handler:async(n,e,t,i,r,o,s)=>{hi(en.isUri(e)),hi(ye.isIPosition(t)),hi(Array.isArray(i)),hi(typeof r>"u"||typeof r=="string"),hi(typeof s>"u"||typeof s=="boolean");const a=n.get(vi),l=await a.openCodeEditor({resource:e},a.getFocusedCodeEditor());if(G0(l))return l.setPosition(t),l.revealPositionInCenterIfOutsideViewport(t,0),l.invokeWithinContext(u=>{const c=new class extends KMt{_getNoResultFoundMessage(d){return o||super._getNoResultFoundMessage(d)}}({muteMessage:!o,openInPeek:!!s,openToSide:!1},i,r);u.get($t).invokeFunction(c.run.bind(c),l)})}}),$n.registerCommand({id:"editor.action.peekLocations",metadata:{description:"Peek locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:en},{name:"position",description:"The position at which to start",constraint:ye.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"}]},handler:async(n,e,t,i,r)=>{n.get(Xr).executeCommand("editor.action.goToLocations",e,t,i,r,void 0,!0)}}),$n.registerCommand({id:"editor.action.findReferences",handler:(n,e,t)=>{hi(en.isUri(e)),hi(ye.isIPosition(t));const i=n.get(Zt),r=n.get(vi);return r.openCodeEditor({resource:e},r.getFocusedCodeEditor()).then(o=>{if(!G0(o)||!o.hasModel())return;const s=nx.get(o);if(!s)return;const a=rs(u=>A3(i.referenceProvider,o.getModel(),ye.lift(t),!1,u).then(c=>new pu(c,L("ref.title","References")))),l=new J(t.lineNumber,t.column,t.lineNumber,t.column);return Promise.resolve(s.toggleWidget(l,a,!1))})}}),$n.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");var JMt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},S8=function(n,e){return function(t,i){e(t,i,n)}},GM;let eC=GM=class{constructor(e,t,i,r){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=r,this.toUnhook=new Je,this.toUnhookForKeyboard=new Je,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const o=new c3(e);this.toUnhook.add(o),this.toUnhook.add(o.onMouseMoveOrRelevantKeyDown(([s,a])=>{this.startFindDefinitionFromMouse(s,a??void 0)})),this.toUnhook.add(o.onExecute(s=>{this.isEnabled(s)&&this.gotoDefinition(s.target.position,s.hasSideBySideModifier).catch(a=>{vn(a)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(o.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(GM.ID)}async startFindDefinitionFromCursor(e){await this.startFindDefinition(e),this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition(()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()})),this.toUnhookForKeyboard.add(this.editor.onKeyDown(t=>{t&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())}))}startFindDefinitionFromMouse(e,t){if(e.target.type===9&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(e,t)){this.currentWordAtPosition=null,this.removeLinkDecorations();return}const i=e.target.position;this.startFindDefinition(i)}async startFindDefinition(e){var t;this.toUnhookForKeyboard.clear();const i=e?(t=this.editor.getModel())===null||t===void 0?void 0:t.getWordAtPosition(e):null;if(!i){this.currentWordAtPosition=null,this.removeLinkDecorations();return}if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===i.startColumn&&this.currentWordAtPosition.endColumn===i.endColumn&&this.currentWordAtPosition.word===i.word)return;this.currentWordAtPosition=i;const r=new ESe(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=rs(a=>this.findDefinition(e,a));let o;try{o=await this.previousPromise}catch(a){vn(a);return}if(!o||!o.length||!r.validate(this.editor)){this.removeLinkDecorations();return}const s=o[0].originSelectionRange?J.lift(o[0].originSelectionRange):new J(e.lineNumber,i.startColumn,e.lineNumber,i.endColumn);if(o.length>1){let a=s;for(const{originSelectionRange:l}of o)l&&(a=J.plusRange(a,l));this.addDecoration(a,new va().appendText(L("multipleResults","Click to show {0} definitions.",o.length)))}else{const a=o[0];if(!a.uri)return;this.textModelResolverService.createModelReference(a.uri).then(l=>{if(!l.object||!l.object.textEditorModel){l.dispose();return}const{object:{textEditorModel:u}}=l,{startLineNumber:c}=a.range;if(c<1||c>u.getLineCount()){l.dispose();return}const d=this.getPreviewValue(u,c,a),h=this.languageService.guessLanguageIdByFilepathOrFirstLine(u.uri);this.addDecoration(s,d?new va().appendCodeblock(h||"",d):void 0),l.dispose()})}}getPreviewValue(e,t,i){let r=i.range;return r.endLineNumber-r.startLineNumber>=GM.MAX_SOURCE_PREVIEW_LINES&&(r=this.getPreviewRangeBasedOnIndentation(e,t)),this.stripIndentationFromPreviewRange(e,t,r)}stripIndentationFromPreviewRange(e,t,i){let o=e.getLineFirstNonWhitespaceColumn(t);for(let a=t+1;a{const r=!t&&this.editor.getOption(88)&&!this.isInPeekEditor(i);return new AM({openToSide:t,openInPeek:r,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(i)})}isInPeekEditor(e){const t=e.get(ln);return zl.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}};eC.ID="editor.contrib.gotodefinitionatposition",eC.MAX_SOURCE_PREVIEW_LINES=8,eC=GM=JMt([S8(1,Nl),S8(2,vr),S8(3,Zt)],eC),yi(eC.ID,eC,2);const z3=Ct;let x8=class extends Ie{constructor(){super(),this.containerDomNode=document.createElement("div"),this.containerDomNode.className="monaco-hover",this.containerDomNode.tabIndex=0,this.containerDomNode.setAttribute("role","tooltip"),this.contentsDomNode=document.createElement("div"),this.contentsDomNode.className="monaco-hover-content",this.scrollbar=this._register(new RI(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this.scrollbar.getDomNode())}onContentsChanged(){this.scrollbar.scanDomNode()}};class H3 extends Ie{static render(e,t,i){return new H3(e,t,i)}constructor(e,t,i){super(),this.actionContainer=je(e,z3("div.action-container")),this.actionContainer.setAttribute("tabindex","0"),this.action=je(this.actionContainer,z3("a.action")),this.action.setAttribute("role","button"),t.iconClass&&je(this.action,z3(`span.icon.${t.iconClass}`));const r=je(this.action,z3("span"));r.textContent=i?`${t.label} (${i})`:t.label,this._register(Ae(this.actionContainer,ot.CLICK,o=>{o.stopPropagation(),o.preventDefault(),t.run(this.actionContainer)})),this._register(Ae(this.actionContainer,ot.KEY_DOWN,o=>{const s=new sr(o);(s.equals(3)||s.equals(10))&&(o.stopPropagation(),o.preventDefault(),t.run(this.actionContainer))})),this.setEnabled(!0)}setEnabled(e){e?(this.actionContainer.classList.remove("disabled"),this.actionContainer.removeAttribute("aria-disabled")):(this.actionContainer.classList.add("disabled"),this.actionContainer.setAttribute("aria-disabled","true"))}}function Pxe(n,e){return n&&e?L("acessibleViewHint","Inspect this in the accessible view with {0}.",e):n?L("acessibleViewHintNoKbOpen","Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding."):""}let jMt=class{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}};class Oxe extends Ie{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new be),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new Ri(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new Ri(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new Ri(()=>this._triggerLoadingMessage(),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),super.dispose()}get _hoverTime(){return this._editor.getOption(60).delay}get _firstWaitTime(){return this._hoverTime/2}get _secondWaitTime(){return this._hoverTime-this._firstWaitTime}get _loadingMessageTime(){return 3*this._hoverTime}_setState(e,t=!0){this._state=e,t&&this._fireResult()}_triggerAsyncComputation(){this._setState(2),this._secondWaitScheduler.schedule(this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=rmt(e=>this._computer.computeAsync(e)),(async()=>{try{for await(const e of this._asyncIterable)e&&(this._result.push(e),this._fireResult());this._asyncIterableDone=!0,(this._state===3||this._state===4)&&this._setState(0)}catch(e){vn(e)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync())),this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){this._state===3&&this._setState(4)}_fireResult(){if(this._state===1||this._state===2)return;const e=this._state===0,t=this._state===4;this._onResult.fire(new jMt(this._result.slice(0),e,t))}start(e){if(e===0)this._state===0&&(this._setState(1),this._firstWaitScheduler.schedule(this._firstWaitTime),this._loadingMessageScheduler.schedule(this._loadingMessageTime));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break}}cancel(){this._firstWaitScheduler.cancel(),this._secondWaitScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),this._result=[],this._setState(0,!1)}}class L8{constructor(e,t,i,r){this.priority=e,this.range=t,this.initialMousePosX=i,this.initialMousePosY=r,this.type=1}equals(e){return e.type===1&&this.range.equalsRange(e.range)}canAdoptVisibleHover(e,t){return e.type===1&&t.lineNumber===this.range.startLineNumber}}class tC{constructor(e,t,i,r,o,s){this.priority=e,this.owner=t,this.range=i,this.initialMousePosX=r,this.initialMousePosY=o,this.supportsMarkerHover=s,this.type=2}equals(e){return e.type===2&&this.owner===e.owner}canAdoptVisibleHover(e,t){return e.type===2&&this.owner===e.owner}}const O0=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};class _8{constructor(){this._onDidWillResize=new be,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new be,this.onDidResize=this._onDidResize.event,this._sashListener=new Je,this._size=new mi(0,0),this._minSize=new mi(0,0),this._maxSize=new mi(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new Ca(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new Ca(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new Ca(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:xR.North}),this._southSash=new Ca(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:xR.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let e,t=0,i=0;this._sashListener.add(lt.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)(()=>{e===void 0&&(this._onDidWillResize.fire(),e=this._size,t=0,i=0)})),this._sashListener.add(lt.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)(()=>{e!==void 0&&(e=void 0,t=0,i=0,this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(this._eastSash.onDidChange(r=>{e&&(i=r.currentX-r.startX,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))})),this._sashListener.add(this._westSash.onDidChange(r=>{e&&(i=-(r.currentX-r.startX),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))})),this._sashListener.add(this._northSash.onDidChange(r=>{e&&(t=-(r.currentY-r.startY),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))})),this._sashListener.add(this._southSash.onDidChange(r=>{e&&(t=r.currentY-r.startY,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))})),this._sashListener.add(lt.any(this._eastSash.onDidReset,this._westSash.onDidReset)(r=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(lt.any(this._northSash.onDidReset,this._southSash.onDidReset)(r=>{this._preferredSize&&(this.layout(this._preferredSize.height,this._size.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))}dispose(){this._northSash.dispose(),this._southSash.dispose(),this._eastSash.dispose(),this._westSash.dispose(),this._sashListener.dispose(),this._onDidResize.dispose(),this._onDidWillResize.dispose(),this.domNode.remove()}enableSashes(e,t,i,r){this._northSash.state=e?3:0,this._eastSash.state=t?3:0,this._southSash.state=i?3:0,this._westSash.state=r?3:0}layout(e=this.size.height,t=this.size.width){const{height:i,width:r}=this._minSize,{height:o,width:s}=this._maxSize;e=Math.max(i,Math.min(o,e)),t=Math.max(r,Math.min(s,t));const a=new mi(t,e);mi.equals(a,this._size)||(this.domNode.style.height=e+"px",this.domNode.style.width=t+"px",this._size=a,this._northSash.layout(),this._eastSash.layout(),this._southSash.layout(),this._westSash.layout())}clearSashHoverState(){this._eastSash.clearSashHoverState(),this._westSash.clearSashHoverState(),this._northSash.clearSashHoverState(),this._southSash.clearSashHoverState()}get size(){return this._size}set maxSize(e){this._maxSize=e}get maxSize(){return this._maxSize}set minSize(e){this._minSize=e}get minSize(){return this._minSize}set preferredSize(e){this._preferredSize=e}get preferredSize(){return this._preferredSize}}const QMt=30,$Mt=24;class qMt extends Ie{constructor(e,t=new mi(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new _8),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=mi.lift(t),this._resizableNode.layout(t.height,t.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize(i=>{this._resize(new mi(i.dimension.width,i.dimension.height)),i.done&&(this._isResizing=!1)})),this._register(this._resizableNode.onDidWillResize(()=>{this._isResizing=!0}))}get isResizing(){return this._isResizing}getDomNode(){return this._resizableNode.domNode}getPosition(){return this._contentPosition}get position(){var e;return!((e=this._contentPosition)===null||e===void 0)&&e.position?ye.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);return!t||!i?void 0:po(t).top+i.top-QMt}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const r=po(t),o=Ig(t.ownerDocument.body),s=r.top+i.top+i.height;return o.height-s-$Mt}_findPositionPreference(e,t){var i,r;const o=Math.min((i=this._availableVerticalSpaceBelow(t))!==null&&i!==void 0?i:1/0,e),s=Math.min((r=this._availableVerticalSpaceAbove(t))!==null&&r!==void 0?r:1/0,e),a=Math.min(Math.max(s,o),e),l=Math.min(e,a);let u;return this._editor.getOption(60).above?u=l<=s?1:2:u=l<=o?2:1,u===1?this._resizableNode.enableSashes(!0,!0,!1,!1):this._resizableNode.enableSashes(!1,!0,!0,!1),u}_resize(e){this._resizableNode.layout(e.height,e.width)}}var F8=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},nC=function(n,e){return function(t,i){e(t,i,n)}},Y3,Tf;const Bxe=Ct;let U3=Y3=class extends Ie{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._currentResult=null,this._widget=this._register(this._instantiationService.createInstance(B0,this._editor)),this._participants=[];for(const r of O0.getAll())this._participants.push(this._instantiationService.createInstance(r,this._editor));this._participants.sort((r,o)=>r.hoverOrdinal-o.hoverOrdinal),this._computer=new J3(this._editor,this._participants),this._hoverOperation=this._register(new Oxe(this._editor,this._computer)),this._register(this._hoverOperation.onResult(r=>{if(!this._computer.anchor)return;const o=r.hasLoadingMessage?this._addLoadingMessage(r.value):r.value;this._withResult(new zxe(this._computer.anchor,o,r.isComplete))})),this._register(Gr(this._widget.getDomNode(),"keydown",r=>{r.equals(9)&&this.hide()})),this._register(bo.onDidChange(()=>{this._widget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)}))}_startShowingOrUpdateHover(e,t,i,r,o){return!this._widget.position||!this._currentResult?e?(this._startHoverOperationIfNecessary(e,t,i,r,!1),!0):!1:this._editor.getOption(60).sticky&&o&&this._widget.isMouseGettingCloser(o.event.posx,o.event.posy)?(e&&this._startHoverOperationIfNecessary(e,t,i,r,!0),!0):e?e&&this._currentResult.anchor.equals(e)?!0:e.canAdoptVisibleHover(this._currentResult.anchor,this._widget.position)?(this._setCurrentResult(this._currentResult.filter(e)),this._startHoverOperationIfNecessary(e,t,i,r,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(e,t,i,r,!1),!0):(this._setCurrentResult(null),!1)}_startHoverOperationIfNecessary(e,t,i,r,o){this._computer.anchor&&this._computer.anchor.equals(e)||(this._hoverOperation.cancel(),this._computer.anchor=e,this._computer.shouldFocus=r,this._computer.source=i,this._computer.insistOnKeepingHoverVisible=o,this._hoverOperation.start(t))}_setCurrentResult(e){this._currentResult!==e&&(e&&e.messages.length===0&&(e=null),this._currentResult=e,this._currentResult?this._renderMessages(this._currentResult.anchor,this._currentResult.messages):this._widget.hide())}_addLoadingMessage(e){if(this._computer.anchor){for(const t of this._participants)if(t.createLoadingMessage){const i=t.createLoadingMessage(this._computer.anchor);if(i)return e.slice(0).concat([i])}}return e}_withResult(e){this._widget.position&&this._currentResult&&this._currentResult.isComplete&&(!e.isComplete||this._computer.insistOnKeepingHoverVisible&&e.messages.length===0)||this._setCurrentResult(e)}_renderMessages(e,t){const{showAtPosition:i,showAtSecondaryPosition:r,highlightRange:o}=Y3.computeHoverRanges(this._editor,e.range,t),s=new Je,a=s.add(new K3(this._keybindingService)),l=document.createDocumentFragment();let u=null;const c={fragment:l,statusBar:a,setColorPicker:h=>u=h,onContentsChanged:()=>this._widget.onContentsChanged(),setMinimumDimensions:h=>this._widget.setMinimumDimensions(h),hide:()=>this.hide()};for(const h of this._participants){const m=t.filter(f=>f.owner===h);m.length>0&&s.add(h.renderHoverParts(c,m))}const d=t.some(h=>h.isBeforeContent);if(a.hasContent&&l.appendChild(a.hoverElement),l.hasChildNodes()){if(o){const h=this._editor.createDecorationsCollection();h.set([{range:o,options:Y3._DECORATION_OPTIONS}]),s.add(jt(()=>{h.clear()}))}this._widget.showAt(l,new tkt(e.initialMousePosX,e.initialMousePosY,u,i,r,this._editor.getOption(60).above,this._computer.shouldFocus,this._computer.source,d,s))}else s.dispose()}static computeHoverRanges(e,t,i){let r=1;if(e.hasModel()){const d=e._getViewModel(),h=d.coordinatesConverter,m=h.convertModelRangeToViewRange(t),f=new ye(m.startLineNumber,d.getLineMinColumn(m.startLineNumber));r=h.convertViewPositionToModelPosition(f).column}const o=t.startLineNumber;let s=t.startColumn,a=i[0].range,l=null;for(const d of i)a=J.plusRange(a,d.range),d.range.startLineNumber===o&&d.range.endLineNumber===o&&(s=Math.max(Math.min(s,d.range.startColumn),r)),d.forceShowAtRange&&(l=d.range);const u=l?l.getStartPosition():new ye(o,t.startColumn),c=l?l.getStartPosition():new ye(o,s);return{showAtPosition:u,showAtSecondaryPosition:c,highlightRange:a}}showsOrWillShow(e){if(this._widget.isResizing)return!0;const t=[];for(const r of this._participants)if(r.suggestHoverAnchor){const o=r.suggestHoverAnchor(e);o&&t.push(o)}const i=e.target;if(i.type===6&&t.push(new L8(0,i.range,e.event.posx,e.event.posy)),i.type===7){const r=this._editor.getOption(50).typicalHalfwidthCharacterWidth/2;!i.detail.isAfterLines&&typeof i.detail.horizontalDistanceToText=="number"&&i.detail.horizontalDistanceToTexto.priority-r.priority),this._startShowingOrUpdateHover(t[0],0,0,!1,e))}startShowingAtRange(e,t,i,r){this._startShowingOrUpdateHover(new L8(0,e,void 0,void 0),t,i,r,null)}containsNode(e){return e?this._widget.getDomNode().contains(e):!1}focus(){this._widget.focus()}scrollUp(){this._widget.scrollUp()}scrollDown(){this._widget.scrollDown()}scrollLeft(){this._widget.scrollLeft()}scrollRight(){this._widget.scrollRight()}pageUp(){this._widget.pageUp()}pageDown(){this._widget.pageDown()}goToTop(){this._widget.goToTop()}goToBottom(){this._widget.goToBottom()}hide(){this._computer.anchor=null,this._hoverOperation.cancel(),this._setCurrentResult(null)}get isColorPickerVisible(){return this._widget.isColorPickerVisible}get isVisibleFromKeyboard(){return this._widget.isVisibleFromKeyboard}get isVisible(){return this._widget.isVisible}get isFocused(){return this._widget.isFocused}get isResizing(){return this._widget.isResizing}get widget(){return this._widget}};U3._DECORATION_OPTIONS=yn.register({description:"content-hover-highlight",className:"hoverHighlight"}),U3=Y3=F8([nC(1,$t),nC(2,Bi)],U3);class zxe{constructor(e,t,i){this.anchor=e,this.messages=t,this.isComplete=i}filter(e){const t=this.messages.filter(i=>i.isValidForHoverAnchor(e));return t.length===this.messages.length?this:new ekt(this,this.anchor,t,this.isComplete)}}class ekt extends zxe{constructor(e,t,i,r){super(t,i,r),this.original=e}filter(e){return this.original.filter(e)}}class tkt{constructor(e,t,i,r,o,s,a,l,u,c){this.initialMousePosX=e,this.initialMousePosY=t,this.colorPicker=i,this.showAtPosition=r,this.showAtSecondaryPosition=o,this.preferAbove=s,this.stoleFocus=a,this.source=l,this.isBeforeContent=u,this.disposables=c,this.closestMouseDistance=void 0}}const Hxe=30,I8=10,nkt=6;let B0=Tf=class extends qMt{get isColorPickerVisible(){var e;return!!(!((e=this._visibleData)===null||e===void 0)&&e.colorPicker)}get isVisibleFromKeyboard(){var e;return((e=this._visibleData)===null||e===void 0?void 0:e.source)===1}get isVisible(){var e;return(e=this._hoverVisibleKey.get())!==null&&e!==void 0?e:!1}get isFocused(){var e;return(e=this._hoverFocusedKey.get())!==null&&e!==void 0?e:!1}constructor(e,t,i,r,o){const s=e.getOption(67)+8,a=150,l=new mi(a,s);super(e,l),this._configurationService=i,this._accessibilityService=r,this._keybindingService=o,this._hover=this._register(new x8),this._minimumSize=l,this._hoverVisibleKey=ne.hoverVisible.bindTo(t),this._hoverFocusedKey=ne.hoverFocused.bindTo(t),je(this._resizableNode.domNode,this._hover.containerDomNode),this._resizableNode.domNode.style.zIndex="50",this._register(this._editor.onDidLayoutChange(()=>{this.isVisible&&this._updateMaxDimensions()})),this._register(this._editor.onDidChangeConfiguration(c=>{c.hasChanged(50)&&this._updateFont()}));const u=this._register(Dh(this._resizableNode.domNode));this._register(u.onDidFocus(()=>{this._hoverFocusedKey.set(!0)})),this._register(u.onDidBlur(()=>{this._hoverFocusedKey.set(!1)})),this._setHoverData(void 0),this._editor.addContentWidget(this)}dispose(){var e;super.dispose(),(e=this._visibleData)===null||e===void 0||e.disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return Tf.ID}static _applyDimensions(e,t,i){const r=typeof t=="number"?`${t}px`:t,o=typeof i=="number"?`${i}px`:i;e.style.width=r,e.style.height=o}_setContentsDomNodeDimensions(e,t){const i=this._hover.contentsDomNode;return Tf._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){const i=this._hover.containerDomNode;return Tf._applyDimensions(i,e,t)}_setHoverWidgetDimensions(e,t){this._setContentsDomNodeDimensions(e,t),this._setContainerDomNodeDimensions(e,t),this._layoutContentWidget()}static _applyMaxDimensions(e,t,i){const r=typeof t=="number"?`${t}px`:t,o=typeof i=="number"?`${i}px`:i;e.style.maxWidth=r,e.style.maxHeight=o}_setHoverWidgetMaxDimensions(e,t){Tf._applyMaxDimensions(this._hover.contentsDomNode,e,t),Tf._applyMaxDimensions(this._hover.containerDomNode,e,t),this._hover.containerDomNode.style.setProperty("--vscode-hover-maxWidth",typeof e=="number"?`${e}px`:e),this._layoutContentWidget()}_hasHorizontalScrollbar(){const e=this._hover.scrollbar.getScrollDimensions();return e.scrollWidth>e.width}_adjustContentsBottomPadding(){const e=this._hover.contentsDomNode,t=`${this._hover.scrollbar.options.horizontalScrollbarSize}px`;e.style.paddingBottom!==t&&(e.style.paddingBottom=t)}_setAdjustedHoverWidgetDimensions(e){this._setHoverWidgetMaxDimensions("none","none");const t=e.width,i=e.height;this._setHoverWidgetDimensions(t,i),this._hasHorizontalScrollbar()&&(this._adjustContentsBottomPadding(),this._setContentsDomNodeDimensions(t,i-I8))}_updateResizableNodeMaxDimensions(){var e,t;const i=(e=this._findMaximumRenderingWidth())!==null&&e!==void 0?e:1/0,r=(t=this._findMaximumRenderingHeight())!==null&&t!==void 0?t:1/0;this._resizableNode.maxSize=new mi(i,r),this._setHoverWidgetMaxDimensions(i,r)}_resize(e){var t,i;Tf._lastDimensions=new mi(e.width,e.height),this._setAdjustedHoverWidgetDimensions(e),this._resizableNode.layout(e.height,e.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),(i=(t=this._visibleData)===null||t===void 0?void 0:t.colorPicker)===null||i===void 0||i.layout()}_findAvailableSpaceVertically(){var e;const t=(e=this._visibleData)===null||e===void 0?void 0:e.showAtPosition;if(t)return this._positionPreference===1?this._availableVerticalSpaceAbove(t):this._availableVerticalSpaceBelow(t)}_findMaximumRenderingHeight(){const e=this._findAvailableSpaceVertically();if(!e)return;let t=nkt;return Array.from(this._hover.contentsDomNode.children).forEach(i=>{t+=i.clientHeight}),this._hasHorizontalScrollbar()&&(t+=I8),Math.min(e,t)}_isHoverTextOverflowing(){this._hover.containerDomNode.style.setProperty("--vscode-hover-whiteSpace","nowrap"),this._hover.containerDomNode.style.setProperty("--vscode-hover-sourceWhiteSpace","nowrap");const e=Array.from(this._hover.contentsDomNode.children).some(t=>t.scrollWidth>t.clientWidth);return this._hover.containerDomNode.style.removeProperty("--vscode-hover-whiteSpace"),this._hover.containerDomNode.style.removeProperty("--vscode-hover-sourceWhiteSpace"),e}_findMaximumRenderingWidth(){if(!this._editor||!this._editor.hasModel())return;const e=this._isHoverTextOverflowing(),t=typeof this._contentWidth>"u"?0:this._contentWidth-2;return e||this._hover.containerDomNode.clientWidth"u"||typeof this._visibleData.initialMousePosY>"u")return this._visibleData.initialMousePosX=e,this._visibleData.initialMousePosY=t,!1;const i=po(this.getDomNode());typeof this._visibleData.closestMouseDistance>"u"&&(this._visibleData.closestMouseDistance=Yxe(this._visibleData.initialMousePosX,this._visibleData.initialMousePosY,i.left,i.top,i.width,i.height));const r=Yxe(e,t,i.left,i.top,i.width,i.height);return r>this._visibleData.closestMouseDistance+4?!1:(this._visibleData.closestMouseDistance=Math.min(this._visibleData.closestMouseDistance,r),!0)}_setHoverData(e){var t;(t=this._visibleData)===null||t===void 0||t.disposables.dispose(),this._visibleData=e,this._hoverVisibleKey.set(!!e),this._hover.containerDomNode.classList.toggle("hidden",!e)}_updateFont(){const{fontSize:e,lineHeight:t}=this._editor.getOption(50),i=this._hover.contentsDomNode;i.style.fontSize=`${e}px`,i.style.lineHeight=`${t/e}`,Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(o=>this._editor.applyFontInfo(o))}_updateContent(e){const t=this._hover.contentsDomNode;t.style.paddingBottom="",t.textContent="",t.appendChild(e)}_layoutContentWidget(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}_updateMaxDimensions(){const e=Math.max(this._editor.getLayoutInfo().height/4,250,Tf._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,500,Tf._lastDimensions.width);this._setHoverWidgetMaxDimensions(t,e)}_render(e,t){this._setHoverData(t),this._updateFont(),this._updateContent(e),this._updateMaxDimensions(),this.onContentsChanged(),this._editor.render()}getPosition(){var e;return this._visibleData?{position:this._visibleData.showAtPosition,secondaryPosition:this._visibleData.showAtSecondaryPosition,positionAffinity:this._visibleData.isBeforeContent?3:void 0,preference:[(e=this._positionPreference)!==null&&e!==void 0?e:1]}:null}showAt(e,t){var i,r,o,s;if(!this._editor||!this._editor.hasModel())return;this._render(e,t);const a=Dg(this._hover.containerDomNode),l=t.showAtPosition;this._positionPreference=(i=this._findPositionPreference(a,l))!==null&&i!==void 0?i:1,this.onContentsChanged(),t.stoleFocus&&this._hover.containerDomNode.focus(),(r=t.colorPicker)===null||r===void 0||r.layout();const c=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&Pxe(this._configurationService.getValue("accessibility.verbosity.hover")===!0&&this._accessibilityService.isScreenReaderOptimized(),(s=(o=this._keybindingService.lookupKeybinding("editor.action.accessibleView"))===null||o===void 0?void 0:o.getAriaLabel())!==null&&s!==void 0?s:"");c&&(this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+", "+c)}hide(){if(!this._visibleData)return;const e=this._visibleData.stoleFocus||this._hoverFocusedKey.get();this._setHoverData(void 0),this._resizableNode.maxSize=new mi(1/0,1/0),this._resizableNode.clearSashHoverState(),this._hoverFocusedKey.set(!1),this._editor.layoutContentWidget(this),e&&this._editor.focus()}_removeConstraintsRenderNormally(){const e=this._editor.getLayoutInfo();this._resizableNode.layout(e.height,e.width),this._setHoverWidgetDimensions("auto","auto")}_adjustHoverHeightForScrollbar(e){var t;const i=this._hover.containerDomNode,r=this._hover.contentsDomNode,o=(t=this._findMaximumRenderingHeight())!==null&&t!==void 0?t:1/0;this._setContainerDomNodeDimensions(Qa(i),Math.min(o,e)),this._setContentsDomNodeDimensions(Qa(r),Math.min(o,e-I8))}setMinimumDimensions(e){this._minimumSize=new mi(Math.max(this._minimumSize.width,e.width),Math.max(this._minimumSize.height,e.height)),this._updateMinimumWidth()}_updateMinimumWidth(){const e=typeof this._contentWidth>"u"?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new mi(e,this._minimumSize.height)}onContentsChanged(){var e;this._removeConstraintsRenderNormally();const t=this._hover.containerDomNode;let i=Dg(t),r=Qa(t);if(this._resizableNode.layout(i,r),this._setHoverWidgetDimensions(r,i),i=Dg(t),r=Qa(t),this._contentWidth=r,this._updateMinimumWidth(),this._resizableNode.layout(i,r),this._hasHorizontalScrollbar()&&(this._adjustContentsBottomPadding(),this._adjustHoverHeightForScrollbar(i)),!((e=this._visibleData)===null||e===void 0)&&e.showAtPosition){const o=Dg(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(o,this._visibleData.showAtPosition)}this._layoutContentWidget()}focus(){this._hover.containerDomNode.focus()}scrollUp(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:e-t.lineHeight})}scrollDown(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:e+t.lineHeight})}scrollLeft(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e-Hxe})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+Hxe})}pageUp(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e-t})}pageDown(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e+t})}goToTop(){this._hover.scrollbar.setScrollPosition({scrollTop:0})}goToBottom(){this._hover.scrollbar.setScrollPosition({scrollTop:this._hover.scrollbar.getScrollDimensions().scrollHeight})}};B0.ID="editor.contrib.resizableContentHoverWidget",B0._lastDimensions=new mi(0,0),B0=Tf=F8([nC(1,ln),nC(2,Pn),nC(3,Vc),nC(4,Bi)],B0);let K3=class extends Ie{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this._hasContent=!1,this.hoverElement=Bxe("div.hover-row.status-bar"),this.actionsElement=je(this.hoverElement,Bxe("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;return this._hasContent=!0,this._register(H3.render(this.actionsElement,e,i))}append(e){const t=je(this.actionsElement,e);return this._hasContent=!0,t}};K3=F8([nC(0,Bi)],K3);class J3{get anchor(){return this._anchor}set anchor(e){this._anchor=e}get shouldFocus(){return this._shouldFocus}set shouldFocus(e){this._shouldFocus=e}get source(){return this._source}set source(e){this._source=e}get insistOnKeepingHoverVisible(){return this._insistOnKeepingHoverVisible}set insistOnKeepingHoverVisible(e){this._insistOnKeepingHoverVisible=e}constructor(e,t){this._editor=e,this._participants=t,this._anchor=null,this._shouldFocus=!1,this._source=0,this._insistOnKeepingHoverVisible=!1}static _getLineDecorations(e,t){if(t.type!==1&&!t.supportsMarkerHover)return[];const i=e.getModel(),r=t.range.startLineNumber;if(r>i.getLineCount())return[];const o=i.getLineMaxColumn(r);return e.getLineDecorations(r).filter(s=>{if(s.options.isWholeLine)return!0;const a=s.range.startLineNumber===r?s.range.startColumn:1,l=s.range.endLineNumber===r?s.range.endColumn:o;if(s.options.showIfCollapsed){if(a>t.range.startColumn+1||t.range.endColumn-1>l)return!1}else if(a>t.range.startColumn||t.range.endColumn>l)return!1;return!0})}computeAsync(e){const t=this._anchor;if(!this._editor.hasModel()||!t)return Fo.EMPTY;const i=J3._getLineDecorations(this._editor,t);return Fo.merge(this._participants.map(r=>r.computeAsync?r.computeAsync(t,i,e):Fo.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=J3._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return Ym(t)}}function Yxe(n,e,t,i,r,o){const s=t+r/2,a=i+o/2,l=Math.max(Math.abs(n-s)-r/2,0),u=Math.max(Math.abs(e-a)-o/2,0);return Math.sqrt(l*l+u*u)}const Uxe=Ct;class rx extends Ie{constructor(e,t,i){super(),this._renderDisposeables=this._register(new Je),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new x8),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new xf({editor:this._editor},t,i)),this._computer=new ikt(this._editor),this._hoverOperation=this._register(new Oxe(this._editor,this._computer)),this._register(this._hoverOperation.onResult(r=>{this._withResult(r.value)})),this._register(this._editor.onDidChangeModelDecorations(()=>this._onModelDecorationsChanged())),this._register(this._editor.onDidChangeConfiguration(r=>{r.hasChanged(50)&&this._updateFont()})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return rx.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(t=>this._editor.applyFontInfo(t))}_onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._hoverOperation.start(0))}startShowingAt(e,t){this._computer.lineNumber===e&&this._computer.lane===t||(this._hoverOperation.cancel(),this.hide(),this._computer.lineNumber=e,this._computer.lane=t,this._hoverOperation.start(0))}hide(){this._computer.lineNumber=-1,this._hoverOperation.cancel(),this._isVisible&&(this._isVisible=!1,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible))}_withResult(e){this._messages=e,this._messages.length>0?this._renderMessages(this._computer.lineNumber,this._messages):this.hide()}_renderMessages(e,t){this._renderDisposeables.clear();const i=document.createDocumentFragment();for(const r of t){const o=Uxe("div.hover-row.markdown-hover"),s=je(o,Uxe("div.hover-contents")),a=this._renderDisposeables.add(this._markdownRenderer.render(r.value));s.appendChild(a.element),i.appendChild(o)}this._updateContents(i),this._showAt(e)}_updateContents(e){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(e),this._updateFont()}_showAt(e){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible));const t=this._editor.getLayoutInfo(),i=this._editor.getTopForLineNumber(e),r=this._editor.getScrollTop(),o=this._editor.getOption(67),s=this._hover.containerDomNode.clientHeight,a=i-r-(s-o)/2,l=t.glyphMarginLeft+t.glyphMarginWidth+(this._computer.lane==="lineNo"?t.lineNumbersWidth:0);this._hover.containerDomNode.style.left=`${l}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(a),0)}px`}}rx.ID="editor.contrib.modesGlyphHoverWidget";class ikt{get lineNumber(){return this._lineNumber}set lineNumber(e){this._lineNumber=e}get lane(){return this._laneOrLine}set lane(e){this._laneOrLine=e}constructor(e){this._editor=e,this._lineNumber=-1,this._laneOrLine=lf.Center}computeSync(){var e,t;const i=a=>({value:a}),r=this._editor.getLineDecorations(this._lineNumber),o=[],s=this._laneOrLine==="lineNo";if(!r)return o;for(const a of r){const l=(t=(e=a.options.glyphMargin)===null||e===void 0?void 0:e.position)!==null&&t!==void 0?t:lf.Center;if(!s&&l!==this._laneOrLine)continue;const u=s?a.options.lineNumberHoverMessage:a.options.glyphMarginHoverMessage;!u||D2(u)||o.push(...UY(u).map(i))}return o}}class rkt{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}async function okt(n,e,t,i,r){try{const o=await Promise.resolve(n.provideHover(t,i,r));if(o&&akt(o))return new rkt(n,o,e)}catch(o){qr(o)}}function D8(n,e,t,i){const o=n.ordered(e).map((s,a)=>okt(s,a,e,t,i));return Fo.fromPromises(o).coalesce()}function skt(n,e,t,i){return D8(n,e,t,i).map(r=>r.hover).toPromise()}zm("_executeHoverProvider",(n,e,t)=>{const i=n.get(Zt);return skt(i.hoverProvider,e,t,Yn.None)});function akt(n){const e=typeof n.range<"u",t=typeof n.contents<"u"&&n.contents&&n.contents.length>0;return e&&t}var lkt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},j3=function(n,e){return function(t,i){e(t,i,n)}};const Kxe=Ct;class Qh{constructor(e,t,i,r,o){this.owner=e,this.range=t,this.contents=i,this.isBeforeContent=r,this.ordinal=o}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let Q3=class{constructor(e,t,i,r,o){this._editor=e,this._languageService=t,this._openerService=i,this._configurationService=r,this._languageFeaturesService=o,this.hoverOrdinal=3}createLoadingMessage(e){return new Qh(this,e.range,[new va().appendText(L("modesContentHover.loading","Loading..."))],!1,2e3)}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];const i=this._editor.getModel(),r=e.range.startLineNumber,o=i.getLineMaxColumn(r),s=[];let a=1e3;const l=i.getLineLength(r),u=i.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),c=this._editor.getOption(117),d=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:u});let h=!1;c>=0&&l>c&&e.range.startColumn>=c&&(h=!0,s.push(new Qh(this,e.range,[{value:L("stopped rendering","Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,a++))),!h&&typeof d=="number"&&l>=d&&s.push(new Qh(this,e.range,[{value:L("too many characters","Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,a++));let m=!1;for(const f of t){const g=f.range.startLineNumber===r?f.range.startColumn:1,b=f.range.endLineNumber===r?f.range.endColumn:o,v=f.options.hoverMessage;if(!v||D2(v))continue;f.options.beforeContentClassName&&(m=!0);const C=new J(e.range.startLineNumber,g,e.range.startLineNumber,b);s.push(new Qh(this,C,UY(v),m,a++))}return s}computeAsync(e,t,i){if(!this._editor.hasModel()||e.type!==1)return Fo.EMPTY;const r=this._editor.getModel();if(!this._languageFeaturesService.hoverProvider.has(r))return Fo.EMPTY;const o=new ye(e.range.startLineNumber,e.range.startColumn);return D8(this._languageFeaturesService.hoverProvider,r,o,i).filter(s=>!D2(s.hover.contents)).map(s=>{const a=s.hover.range?J.lift(s.hover.range):e.range;return new Qh(this,a,s.hover.contents,!1,s.ordinal)})}renderHoverParts(e,t){return Jxe(e,t,this._editor,this._languageService,this._openerService)}};Q3=lkt([j3(1,vr),j3(2,Bl),j3(3,Pn),j3(4,Zt)],Q3);function Jxe(n,e,t,i,r){e.sort((s,a)=>s.ordinal-a.ordinal);const o=new Je;for(const s of e)for(const a of s.contents){if(D2(a))continue;const l=Kxe("div.hover-row.markdown-hover"),u=je(l,Kxe("div.hover-contents")),c=o.add(new xf({editor:t},i,r));o.add(c.onDidRenderAsync(()=>{u.className="hover-contents code-hover-contents",n.onContentsChanged()}));const d=o.add(c.render(a));u.appendChild(d.element),n.fragment.appendChild(l)}return o}var jxe=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},$3=function(n,e){return function(t,i){e(t,i,n)}};class Qxe{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let M8=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new be,this.onDidChange=this._onDidChange.event,this._dispoables=new Je,this._markers=[],this._nextIdx=-1,en.isUri(e)?this._resourceFilter=a=>a.toString()===e.toString():e&&(this._resourceFilter=e);const r=this._configService.getValue("problems.sortOrder"),o=(a,l)=>{let u=QF(a.resource.toString(),l.resource.toString());return u===0&&(r==="position"?u=J.compareRangesUsingStarts(a,l)||Rr.compare(a.severity,l.severity):u=Rr.compare(a.severity,l.severity)||J.compareRangesUsingStarts(a,l)),u},s=()=>{this._markers=this._markerService.read({resource:en.isUri(e)?e:void 0,severities:Rr.Error|Rr.Warning|Rr.Info}),typeof e=="function"&&(this._markers=this._markers.filter(a=>this._resourceFilter(a.resource))),this._markers.sort(o)};s(),this._dispoables.add(t.onMarkerChanged(a=>{(!this._resourceFilter||a.some(l=>this._resourceFilter(l)))&&(s(),this._nextIdx=-1,this._onDidChange.fire())}))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(e){return!this._resourceFilter&&!e?!0:!this._resourceFilter||!e?!1:this._resourceFilter(e)}get selected(){const e=this._markers[this._nextIdx];return e&&new Qxe(e,this._nextIdx+1,this._markers.length)}_initIdx(e,t,i){let r=!1,o=this._markers.findIndex(s=>s.resource.toString()===e.uri.toString());o<0&&(o=dI(this._markers,{resource:e.uri},(s,a)=>QF(s.resource.toString(),a.resource.toString())),o<0&&(o=~o));for(let s=o;sr.resource.toString()===e.toString());if(!(i<0)){for(;i=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},ox=function(n,e){return function(t,i){e(t,i,n)}},T8;class ckt{constructor(e,t,i,r,o){this._openerService=r,this._labelService=o,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new Je,this._editor=t;const s=document.createElement("div");s.className="descriptioncontainer",this._messageBlock=document.createElement("div"),this._messageBlock.classList.add("message"),this._messageBlock.setAttribute("aria-live","assertive"),this._messageBlock.setAttribute("role","alert"),s.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),s.appendChild(this._relatedBlock),this._disposables.add(Gr(this._relatedBlock,"click",a=>{a.preventDefault();const l=this._relatedDiagnostics.get(a.target);l&&i(l)})),this._scrollable=new Rve(s,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),e.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll(a=>{s.style.left=`-${a.scrollLeft}px`,s.style.top=`-${a.scrollTop}px`})),this._disposables.add(this._scrollable)}dispose(){er(this._disposables)}update(e){const{source:t,message:i,relatedInformation:r,code:o}=e;let s=((t==null?void 0:t.length)||0)+2;o&&(typeof o=="string"?s+=o.length:s+=o.value.length);const a=Pm(i);this._lines=a.length,this._longestLineLength=0;for(const h of a)this._longestLineLength=Math.max(h.length+s,this._longestLineLength);ma(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(e)),this._editor.applyFontInfo(this._messageBlock);let l=this._messageBlock;for(const h of a)l=document.createElement("div"),l.innerText=h,h===""&&(l.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(l);if(t||o){const h=document.createElement("span");if(h.classList.add("details"),l.appendChild(h),t){const m=document.createElement("span");m.innerText=t,m.classList.add("source"),h.appendChild(m)}if(o)if(typeof o=="string"){const m=document.createElement("span");m.innerText=`(${o})`,m.classList.add("code"),h.appendChild(m)}else{this._codeLink=Ct("a.code-link"),this._codeLink.setAttribute("href",`${o.target.toString()}`),this._codeLink.onclick=f=>{this._openerService.open(o.target,{allowCommands:!0}),f.preventDefault(),f.stopPropagation()};const m=je(this._codeLink,Ct("span"));m.innerText=o.value,h.appendChild(this._codeLink)}}if(ma(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),ga(r)){const h=this._relatedBlock.appendChild(document.createElement("div"));h.style.paddingTop=`${Math.floor(this._editor.getOption(67)*.66)}px`,this._lines+=1;for(const m of r){const f=document.createElement("div"),g=document.createElement("a");g.classList.add("filename"),g.innerText=`${this._labelService.getUriBasenameLabel(m.resource)}(${m.startLineNumber}, ${m.startColumn}): `,g.title=this._labelService.getUriLabel(m.resource),this._relatedDiagnostics.set(g,m);const b=document.createElement("span");b.innerText=m.message,f.appendChild(g),f.appendChild(b),this._lines+=1,h.appendChild(f)}}const u=this._editor.getOption(50),c=Math.ceil(u.typicalFullwidthCharacterWidth*this._longestLineLength*.75),d=u.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:c,scrollHeight:d})}layout(e,t){this._scrollable.getDomNode().style.height=`${e}px`,this._scrollable.getDomNode().style.width=`${t}px`,this._scrollable.setScrollDimensions({width:t,height:e})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(e){let t="";switch(e.severity){case Rr.Error:t=L("Error","Error");break;case Rr.Warning:t=L("Warning","Warning");break;case Rr.Info:t=L("Info","Info");break;case Rr.Hint:t=L("Hint","Hint");break}let i=L("marker aria","{0} at {1}. ",t,e.startLineNumber+":"+e.startColumn);const r=this._editor.getModel();return r&&e.startLineNumber<=r.getLineCount()&&e.startLineNumber>=1&&(i=`${r.getLineContent(e.startLineNumber)}, ${i}`),i}}let sx=T8=class extends h3{constructor(e,t,i,r,o,s,a){super(e,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},o),this._themeService=t,this._openerService=i,this._menuService=r,this._contextKeyService=s,this._labelService=a,this._callOnDispose=new Je,this._onDidSelectRelatedInformation=new be,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=Rr.Warning,this._backgroundColor=Ze.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(fkt);let t=E8,i=dkt;this._severity===Rr.Warning?(t=q3,i=hkt):this._severity===Rr.Info&&(t=Z8,i=mkt);const r=e.getColor(t),o=e.getColor(i);this.style({arrowColor:r,frameColor:r,headerBackgroundColor:o,primaryHeadingColor:e.getColor(Q2e),secondaryHeadingColor:e.getColor($2e)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():""),super._applyStyles()}dispose(){this._callOnDispose.dispose(),super.dispose()}_fillHead(e){super._fillHead(e),this._disposables.add(this._actionbarWidget.actionRunner.onWillRun(r=>this.editor.focus()));const t=[],i=this._menuService.createMenu(T8.TitleMenu,this._contextKeyService);VR(i,void 0,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0}),i.dispose()}_fillTitleIcon(e){this._icon=je(e,Ct(""))}_fillBody(e){this._parentContainer=e,e.classList.add("marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),e.appendChild(this._container),this._message=new ckt(this._container,this.editor,t=>this._onDidSelectRelatedInformation.fire(t),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(e,t,i){this._container.classList.remove("stale"),this._message.update(e),this._severity=e.severity,this._applyTheme(this._themeService.getColorTheme());const r=J.lift(e),o=this.editor.getPosition(),s=o&&r.containsPosition(o)?o:r.getStartPosition();super.show(s,this.computeRequiredHeight());const a=this.editor.getModel();if(a){const l=i>1?L("problems","{0} of {1} problems",t,i):L("change","{0} of {1} problem",t,i);this.setTitle(Hc(a.uri),l)}this._icon.className=`codicon ${N8.className(Rr.toSeverity(this._severity))}`,this.editor.revealPositionNearTop(s,0),this.editor.focus()}updateMarker(e){this._container.classList.remove("stale"),this._message.update(e)}showStale(){this._container.classList.add("stale"),this._relayout()}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._heightInPixel=e,this._message.layout(e,t),this._container.style.height=`${e}px`}_onWidth(e){this._message.layout(this._heightInPixel,e)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}};sx.TitleMenu=new Q("gotoErrorTitleMenu"),sx=T8=ukt([ox(1,jo),ox(2,Bl),ox(3,Gu),ox(4,$t),ox(5,ln),ox(6,ex)],sx);const qxe=CI(qm,Pbt),eLe=CI(Ia,_I),tLe=CI(Gl,FI),E8=re("editorMarkerNavigationError.background",{dark:qxe,light:qxe,hcDark:Kn,hcLight:Kn},L("editorMarkerNavigationError","Editor marker navigation widget error color.")),dkt=re("editorMarkerNavigationError.headerBackground",{dark:zt(E8,.1),light:zt(E8,.1),hcDark:null,hcLight:null},L("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),q3=re("editorMarkerNavigationWarning.background",{dark:eLe,light:eLe,hcDark:Kn,hcLight:Kn},L("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),hkt=re("editorMarkerNavigationWarning.headerBackground",{dark:zt(q3,.1),light:zt(q3,.1),hcDark:"#0C141F",hcLight:zt(q3,.2)},L("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),Z8=re("editorMarkerNavigationInfo.background",{dark:tLe,light:tLe,hcDark:Kn,hcLight:Kn},L("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),mkt=re("editorMarkerNavigationInfo.headerBackground",{dark:zt(Z8,.1),light:zt(Z8,.1),hcDark:null,hcLight:null},L("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),fkt=re("editorMarkerNavigation.background",{dark:as,light:as,hcDark:as,hcLight:as},L("editorMarkerNavigationBackground","Editor marker navigation widget background."));var gkt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},eV=function(n,e){return function(t,i){e(t,i,n)}},XM;let z0=XM=class{static get(e){return e.getContribution(XM.ID)}constructor(e,t,i,r,o){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=r,this._instantiationService=o,this._sessionDispoables=new Je,this._editor=e,this._widgetVisible=nLe.bindTo(this._contextKeyService)}dispose(){this._cleanUp(),this._sessionDispoables.dispose()}_cleanUp(){this._widgetVisible.reset(),this._sessionDispoables.clear(),this._widget=void 0,this._model=void 0}_getOrCreateModel(e){if(this._model&&this._model.matches(e))return this._model;let t=!1;return this._model&&(t=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(e),t&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(sx,this._editor),this._widget.onDidClose(()=>this.close(),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition(i=>{var r,o,s;(!(!((r=this._model)===null||r===void 0)&&r.selected)||!J.containsPosition((o=this._model)===null||o===void 0?void 0:o.selected.marker,i.position))&&((s=this._model)===null||s===void 0||s.resetIndex())})),this._sessionDispoables.add(this._model.onDidChange(()=>{if(!this._widget||!this._widget.position||!this._model)return;const i=this._model.find(this._editor.getModel().uri,this._widget.position);i?this._widget.updateMarker(i.marker):this._widget.showStale()})),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation(i=>{this._editorService.openCodeEditor({resource:i.resource,options:{pinned:!0,revealIfOpened:!0,selection:J.lift(i).collapseToStart()}},this._editor),this.close(!1)})),this._sessionDispoables.add(this._editor.onDidChangeModel(()=>this._cleanUp())),this._model}close(e=!0){this._cleanUp(),e&&this._editor.focus()}showAtMarker(e){if(this._editor.hasModel()){const t=this._getOrCreateModel(this._editor.getModel().uri);t.resetIndex(),t.move(!0,this._editor.getModel(),new ye(e.startLineNumber,e.startColumn)),t.selected&&this._widget.showAtMarker(t.selected.marker,t.selected.index,t.selected.total)}}async nagivate(e,t){var i,r;if(this._editor.hasModel()){const o=this._getOrCreateModel(t?void 0:this._editor.getModel().uri);if(o.move(e,this._editor.getModel(),this._editor.getPosition()),!o.selected)return;if(o.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const s=await this._editorService.openCodeEditor({resource:o.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:o.selected.marker}},this._editor);s&&((i=XM.get(s))===null||i===void 0||i.close(),(r=XM.get(s))===null||r===void 0||r.nagivate(e,t))}else this._widget.showAtMarker(o.selected.marker,o.selected.index,o.selected.total)}}};z0.ID="editor.contrib.markerController",z0=XM=gkt([eV(1,$xe),eV(2,ln),eV(3,vi),eV(4,$t)],z0);class tV extends Mt{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){var i;t.hasModel()&&((i=z0.get(t))===null||i===void 0||i.nagivate(this._next,this._multiFile))}}class H0 extends tV{constructor(){super(!0,!1,{id:H0.ID,label:H0.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:ne.focus,primary:578,weight:100},menuOpts:{menuId:sx.TitleMenu,title:H0.LABEL,icon:so("marker-navigation-next",ut.arrowDown,L("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}}H0.ID="editor.action.marker.next",H0.LABEL=L("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");class iC extends tV{constructor(){super(!1,!1,{id:iC.ID,label:iC.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:ne.focus,primary:1602,weight:100},menuOpts:{menuId:sx.TitleMenu,title:iC.LABEL,icon:so("marker-navigation-previous",ut.arrowUp,L("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}}iC.ID="editor.action.marker.prev",iC.LABEL=L("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");class pkt extends tV{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:L("markerAction.nextInFiles.label","Go to Next Problem in Files (Error, Warning, Info)"),alias:"Go to Next Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:ne.focus,primary:66,weight:100},menuOpts:{menuId:Q.MenubarGoMenu,title:L({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class bkt extends tV{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:L("markerAction.previousInFiles.label","Go to Previous Problem in Files (Error, Warning, Info)"),alias:"Go to Previous Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:ne.focus,primary:1090,weight:100},menuOpts:{menuId:Q.MenubarGoMenu,title:L({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}yi(z0.ID,z0,4),tt(H0),tt(iC),tt(pkt),tt(bkt);const nLe=new wt("markersNavigationVisible",!1),vkt=Ko.bindToContribution(z0.get);gt(new vkt({id:"closeMarkersNavigation",precondition:nLe,handler:n=>n.close(),kbOpts:{weight:150,kbExpr:ne.focus,primary:9,secondary:[1033]}}));var ykt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},W8=function(n,e){return function(t,i){e(t,i,n)}};const Od=Ct;class Ckt{constructor(e,t,i){this.owner=e,this.range=t,this.marker=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}const iLe={type:1,filter:{include:Lr.QuickFix},triggerAction:gu.QuickFixHover};let R8=class{constructor(e,t,i,r){this._editor=e,this._markerDecorationsService=t,this._openerService=i,this._languageFeaturesService=r,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1&&!e.supportsMarkerHover)return[];const i=this._editor.getModel(),r=e.range.startLineNumber,o=i.getLineMaxColumn(r),s=[];for(const a of t){const l=a.range.startLineNumber===r?a.range.startColumn:1,u=a.range.endLineNumber===r?a.range.endColumn:o,c=this._markerDecorationsService.getMarker(i.uri,a);if(!c)continue;const d=new J(e.range.startLineNumber,l,e.range.startLineNumber,u);s.push(new Ckt(this,d,c))}return s}renderHoverParts(e,t){if(!t.length)return Ie.None;const i=new Je;t.forEach(o=>e.fragment.appendChild(this.renderMarkerHover(o,i)));const r=t.length===1?t[0]:t.sort((o,s)=>Rr.compare(o.marker.severity,s.marker.severity))[0];return this.renderMarkerStatusbar(e,r,i),i}renderMarkerHover(e,t){const i=Od("div.hover-row"),r=je(i,Od("div.marker.hover-contents")),{source:o,message:s,code:a,relatedInformation:l}=e.marker;this._editor.applyFontInfo(r);const u=je(r,Od("span"));if(u.style.whiteSpace="pre-wrap",u.innerText=s,o||a)if(a&&typeof a!="string"){const c=Od("span");if(o){const f=je(c,Od("span"));f.innerText=o}const d=je(c,Od("a.code-link"));d.setAttribute("href",a.target.toString()),t.add(Ae(d,"click",f=>{this._openerService.open(a.target,{allowCommands:!0}),f.preventDefault(),f.stopPropagation()}));const h=je(d,Od("span"));h.innerText=a.value;const m=je(r,c);m.style.opacity="0.6",m.style.paddingLeft="6px"}else{const c=je(r,Od("span"));c.style.opacity="0.6",c.style.paddingLeft="6px",c.innerText=o&&a?`${o}(${a})`:o||`(${a})`}if(ga(l))for(const{message:c,resource:d,startLineNumber:h,startColumn:m}of l){const f=je(r,Od("div"));f.style.marginTop="8px";const g=je(f,Od("a"));g.innerText=`${Hc(d)}(${h}, ${m}): `,g.style.cursor="pointer",t.add(Ae(g,"click",v=>{v.stopPropagation(),v.preventDefault(),this._openerService&&this._openerService.open(d,{fromUserGesture:!0,editorOptions:{selection:{startLineNumber:h,startColumn:m}}}).catch(vn)}));const b=je(f,Od("span"));b.innerText=c,this._editor.applyFontInfo(b)}return i}renderMarkerStatusbar(e,t,i){if(t.marker.severity===Rr.Error||t.marker.severity===Rr.Warning||t.marker.severity===Rr.Info){const r=z0.get(this._editor);r&&e.statusBar.addAction({label:L("view problem","View Problem"),commandId:H0.ID,run:()=>{e.hide(),r.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(91)){const r=e.statusBar.append(Od("div"));this.recentMarkerCodeActionsInfo&&(i3.makeKey(this.recentMarkerCodeActionsInfo.marker)===i3.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(r.textContent=L("noQuickFixes","No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const o=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?Ie.None:Gb(()=>r.textContent=L("checkingForQuickFixes","Checking for quick fixes..."),200,i);r.textContent||(r.textContent=" ");const s=this.getCodeActions(t.marker);i.add(jt(()=>s.cancel())),s.then(a=>{if(o.dispose(),this.recentMarkerCodeActionsInfo={marker:t.marker,hasCodeActions:a.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions){a.dispose(),r.textContent=L("noQuickFixes","No quick fixes available");return}r.style.display="none";let l=!1;i.add(jt(()=>{l||a.dispose()})),e.statusBar.addAction({label:L("quick fixes","Quick Fix..."),commandId:pK,run:u=>{l=!0;const c=E0.get(this._editor),d=po(u);e.hide(),c==null||c.showCodeActions(iLe,a,{x:d.left,y:d.top,width:d.width,height:d.height})}})},vn)}}getCodeActions(e){return rs(t=>aM(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new J(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),iLe,bp.None,t))}};R8=ykt([W8(1,s6),W8(2,Bl),W8(3,Zt)],R8);const rLe="editor.action.inlineSuggest.commit",oLe="editor.action.inlineSuggest.showPrevious",sLe="editor.action.inlineSuggest.showNext";var V8=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},$h=function(n,e){return function(t,i){e(t,i,n)}},nV;let A8=class extends Ie{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=Hi(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).showToolbar==="always"),this.sessionPosition=void 0,this.position=hn(this,r=>{var o,s,a;const l=(o=this.model.read(r))===null||o===void 0?void 0:o.primaryGhostText.read(r);if(!this.alwaysShowToolbar.read(r)||!l||l.parts.length===0)return this.sessionPosition=void 0,null;const u=l.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==l.lineNumber&&(this.sessionPosition=void 0);const c=new ye(l.lineNumber,Math.min(u,(a=(s=this.sessionPosition)===null||s===void 0?void 0:s.column)!==null&&a!==void 0?a:Number.MAX_SAFE_INTEGER));return this.sessionPosition=c,c}),this._register(Yc((r,o)=>{const s=this.model.read(r);if(!s||!this.alwaysShowToolbar.read(r))return;const a=o.add(this.instantiationService.createInstance(Y0,this.editor,!0,this.position,s.selectedInlineCompletionIndex,s.inlineCompletionsCount,s.selectedInlineCompletion.map(l=>{var u;return(u=l==null?void 0:l.inlineCompletion.source.inlineCompletions.commands)!==null&&u!==void 0?u:[]})));e.addContentWidget(a),o.add(jt(()=>e.removeContentWidget(a))),o.add(Zn(l=>{this.position.read(l)&&s.lastTriggerKind.read(l)!==Jg.Explicit&&s.triggerExplicitly()}))}))}};A8=V8([$h(2,$t)],A8);const wkt=so("inline-suggestion-hints-next",ut.chevronRight,L("parameterHintsNextIcon","Icon for show next parameter hint.")),Skt=so("inline-suggestion-hints-previous",ut.chevronLeft,L("parameterHintsPreviousIcon","Icon for show previous parameter hint."));let Y0=nV=class extends Ie{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,i){const r=new uu(e,t,i,!0,()=>this._commandService.executeCommand(e)),o=this.keybindingService.lookupKeybinding(e,this._contextKeyService);let s=t;return o&&(s=L({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",t,o.getLabel())),r.tooltip=s,r}constructor(e,t,i,r,o,s,a,l,u,c,d){super(),this.editor=e,this.withBorder=t,this._position=i,this._currentSuggestionIdx=r,this._suggestionCount=o,this._extraCommands=s,this._commandService=a,this.keybindingService=u,this._contextKeyService=c,this._menuService=d,this.id=`InlineSuggestionHintsContentWidget${nV.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=Li("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[Li("div@toolBar")]),this.previousAction=this.createCommandAction(oLe,L("previous","Previous"),sn.asClassName(Skt)),this.availableSuggestionCountAction=new uu("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(sLe,L("next","Next"),sn.asClassName(wkt)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(Q.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new Ri(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new Ri(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this.lastCommands=[],this.toolBar=this._register(l.createInstance(G8,this.nodes.toolBar,Q.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:h=>h.startsWith("primary")},actionViewItemProvider:(h,m)=>{if(h instanceof Xu)return l.createInstance(Lkt,h,void 0);if(h===this.availableSuggestionCountAction){const f=new xkt(void 0,h,{label:!0,icon:!1});return f.setClass("availableSuggestionCount"),f}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility(h=>{nV._dropDownVisible=h})),this._register(Zn(h=>{this._position.read(h),this.editor.layoutContentWidget(this)})),this._register(Zn(h=>{const m=this._suggestionCount.read(h),f=this._currentSuggestionIdx.read(h);m!==void 0?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${f+1}/${m}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),m!==void 0&&m>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()})),this._register(Zn(h=>{const m=this._extraCommands.read(h);if(kr(this.lastCommands,m))return;this.lastCommands=m;const f=m.map(g=>({class:void 0,id:g.id,enabled:!0,tooltip:g.tooltip||"",label:g.title,run:b=>this._commandService.executeCommand(g.id)}));for(const[g,b]of this.inlineCompletionsActionsMenus.getActions())for(const v of b)v instanceof Xu&&f.push(v);f.length>0&&f.unshift(new Vo),this.toolBar.setAdditionalSecondaryActions(f)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};Y0._dropDownVisible=!1,Y0.id=0,Y0=nV=V8([$h(6,Xr),$h(7,$t),$h(8,Bi),$h(9,ln),$h(10,Gu)],Y0);class xkt extends k2{constructor(){super(...arguments),this._className=void 0}setClass(e){this._className=e}render(e){super.render(e),this._className&&e.classList.add(this._className)}updateTooltip(){}}let Lkt=class extends k0{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=Li("div.keybinding").root;this._register(new Y2(t,ru,{disableTitle:!0,...jSe})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},G8=class extends JD{constructor(e,t,i,r,o,s,a,l){super(e,{resetMenu:t,...i},r,o,s,a,l),this.menuId=t,this.options2=i,this.menuService=r,this.contextKeyService=o,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){var e,t,i,r,o,s,a;const l=[],u=[];VR(this.menu,(e=this.options2)===null||e===void 0?void 0:e.menuOptions,{primary:l,secondary:u},(i=(t=this.options2)===null||t===void 0?void 0:t.toolbarOptions)===null||i===void 0?void 0:i.primaryGroup,(o=(r=this.options2)===null||r===void 0?void 0:r.toolbarOptions)===null||o===void 0?void 0:o.shouldInlineSubmenu,(a=(s=this.options2)===null||s===void 0?void 0:s.toolbarOptions)===null||a===void 0?void 0:a.useSeparatorsInPrimaryActions),u.push(...this.additionalActions),l.unshift(...this.prependedPrimaryActions),this.setActions(l,u)}setPrependedPrimaryActions(e){kr(this.prependedPrimaryActions,e,(t,i)=>t===i)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){kr(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};G8=V8([$h(3,Gu),$h(4,ln),$h(5,fu),$h(6,Bi),$h(7,Zl)],G8);var _kt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},iV=function(n,e){return function(t,i){e(t,i,n)}},X8;const Fkt=!1;let Hl=X8=class extends Ie{constructor(e,t,i,r,o){super(),this._editor=e,this._instantiationService=t,this._openerService=i,this._languageService=r,this._keybindingService=o,this._listenersStore=new Je,this._hoverState={mouseDown:!1,contentHoverFocused:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new Ri(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(s=>{s.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())}))}static get(e){return e.getContribution(X8.ID)}_hookListeners(){const e=this._editor.getOption(60);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.delay},e.enabled?(this._listenersStore.add(this._editor.onMouseDown(t=>this._onEditorMouseDown(t))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))):(this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))),this._listenersStore.add(this._editor.onMouseLeave(t=>this._onEditorMouseLeave(t))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this._hideWidgets()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(t=>this._onEditorScrollChanged(t)))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){var t;this._hoverState.mouseDown=!0;const i=e.target;if(i.type===9&&i.detail===B0.ID){this._hoverState.contentHoverFocused=!0;return}i.type===12&&i.detail===rx.ID||(i.type!==12&&(this._hoverState.contentHoverFocused=!1),!(!((t=this._contentWidget)===null||t===void 0)&&t.widget.isResizing)&&this._hideWidgets())}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(e){var t,i;this._cancelScheduler();const r=e.event.browserEvent.relatedTarget;!((t=this._contentWidget)===null||t===void 0)&&t.widget.isResizing||!((i=this._contentWidget)===null||i===void 0)&&i.containsNode(r)||this._hideWidgets()}_isMouseOverWidget(e){var t,i,r,o,s;const a=e.target,l=this._hoverSettings.sticky;return!!(l&&a.type===9&&a.detail===B0.ID||l&&(!((t=this._contentWidget)===null||t===void 0)&&t.containsNode((i=e.event.browserEvent.view)===null||i===void 0?void 0:i.document.activeElement))&&!(!((o=(r=e.event.browserEvent.view)===null||r===void 0?void 0:r.getSelection())===null||o===void 0)&&o.isCollapsed)||!l&&a.type===9&&a.detail===B0.ID&&(!((s=this._contentWidget)===null||s===void 0)&&s.isColorPickerVisible)||l&&a.type===12&&a.detail===rx.ID)}_onEditorMouseMove(e){var t,i,r,o;if(this._mouseMoveEvent=e,!((t=this._contentWidget)===null||t===void 0)&&t.isFocused||!((i=this._contentWidget)===null||i===void 0)&&i.isResizing||this._hoverState.mouseDown&&this._hoverState.contentHoverFocused)return;const s=this._hoverSettings.sticky;if(s&&(!((r=this._contentWidget)===null||r===void 0)&&r.isVisibleFromKeyboard))return;if(this._isMouseOverWidget(e)){this._reactToEditorMouseMoveRunner.cancel();return}const l=this._hoverSettings.hidingDelay;if(!((o=this._contentWidget)===null||o===void 0)&&o.isVisible&&s&&l>0){this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(l);return}this._reactToEditorMouseMove(e)}_reactToEditorMouseMove(e){var t,i,r,o;if(!e)return;const s=e.target,a=(t=s.element)===null||t===void 0?void 0:t.classList.contains("colorpicker-color-decoration"),l=this._editor.getOption(148),u=this._hoverSettings.enabled,c=this._hoverState.activatedByDecoratorClick;if(a&&(l==="click"&&!c||l==="hover"&&!u&&!Fkt||l==="clickAndHover"&&!u&&!c)||!a&&!u&&!c){this._hideWidgets();return}if(this._getOrCreateContentWidget().showsOrWillShow(e)){(i=this._glyphWidget)===null||i===void 0||i.hide();return}if(s.type===2&&s.position&&s.detail.glyphMarginLane){(r=this._contentWidget)===null||r===void 0||r.hide(),this._getOrCreateGlyphWidget().startShowingAt(s.position.lineNumber,s.detail.glyphMarginLane);return}if(s.type===3&&s.position){(o=this._contentWidget)===null||o===void 0||o.hide(),this._getOrCreateGlyphWidget().startShowingAt(s.position.lineNumber,"lineNo");return}this._hideWidgets()}_onKeyDown(e){var t;if(!this._editor.hasModel())return;const i=this._keybindingService.softDispatch(e,this._editor.getDomNode()),r=i.kind===1||i.kind===2&&i.commandId==="editor.action.showHover"&&((t=this._contentWidget)===null||t===void 0?void 0:t.isVisible);e.keyCode===5||e.keyCode===6||e.keyCode===57||e.keyCode===4||r||this._hideWidgets()}_hideWidgets(){var e,t,i;this._hoverState.mouseDown&&this._hoverState.contentHoverFocused&&(!((e=this._contentWidget)===null||e===void 0)&&e.isColorPickerVisible)||Y0.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,this._hoverState.contentHoverFocused=!1,(t=this._glyphWidget)===null||t===void 0||t.hide(),(i=this._contentWidget)===null||i===void 0||i.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(U3,this._editor)),this._contentWidget}_getOrCreateGlyphWidget(){return this._glyphWidget||(this._glyphWidget=new rx(this._editor,this._languageService,this._openerService)),this._glyphWidget}showContentHover(e,t,i,r,o=!1){this._hoverState.activatedByDecoratorClick=o,this._getOrCreateContentWidget().startShowingAtRange(e,t,i,r)}focus(){var e;(e=this._contentWidget)===null||e===void 0||e.focus()}scrollUp(){var e;(e=this._contentWidget)===null||e===void 0||e.scrollUp()}scrollDown(){var e;(e=this._contentWidget)===null||e===void 0||e.scrollDown()}scrollLeft(){var e;(e=this._contentWidget)===null||e===void 0||e.scrollLeft()}scrollRight(){var e;(e=this._contentWidget)===null||e===void 0||e.scrollRight()}pageUp(){var e;(e=this._contentWidget)===null||e===void 0||e.pageUp()}pageDown(){var e;(e=this._contentWidget)===null||e===void 0||e.pageDown()}goToTop(){var e;(e=this._contentWidget)===null||e===void 0||e.goToTop()}goToBottom(){var e;(e=this._contentWidget)===null||e===void 0||e.goToBottom()}get isColorPickerVisible(){var e;return(e=this._contentWidget)===null||e===void 0?void 0:e.isColorPickerVisible}get isHoverVisible(){var e;return(e=this._contentWidget)===null||e===void 0?void 0:e.isVisible}dispose(){var e,t;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._glyphWidget)===null||e===void 0||e.dispose(),(t=this._contentWidget)===null||t===void 0||t.dispose()}};Hl.ID="editor.contrib.hover",Hl=X8=_kt([iV(1,$t),iV(2,Bl),iV(3,vr),iV(4,Bi)],Hl);var qh;(function(n){n.NoAutoFocus="noAutoFocus",n.FocusIfVisible="focusIfVisible",n.AutoFocusImmediately="autoFocusImmediately"})(qh||(qh={}));class Ikt extends Mt{constructor(){super({id:"editor.action.showHover",label:L({key:"showOrFocusHover",comment:["Label for action that will trigger the showing/focusing of a hover in the editor.","If the hover is not visible, it will show the hover.","This allows for users to show the hover without using the mouse."]},"Show or Focus Hover"),metadata:{description:"Show or Focus Hover",args:[{name:"args",schema:{type:"object",properties:{focus:{description:"Controls if and when the hover should take focus upon being triggered by this action.",enum:[qh.NoAutoFocus,qh.FocusIfVisible,qh.AutoFocusImmediately],enumDescriptions:[L("showOrFocusHover.focus.noAutoFocus","The hover will not automatically take focus."),L("showOrFocusHover.focus.focusIfVisible","The hover will take focus only if it is already visible."),L("showOrFocusHover.focus.autoFocusImmediately","The hover will automatically take focus when it appears.")],default:qh.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:ne.editorTextFocus,primary:Wo(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const r=Hl.get(t);if(!r)return;const o=i==null?void 0:i.focus;let s=qh.FocusIfVisible;Object.values(qh).includes(o)?s=o:typeof o=="boolean"&&o&&(s=qh.AutoFocusImmediately);const a=u=>{const c=t.getPosition(),d=new J(c.lineNumber,c.column,c.lineNumber,c.column);r.showContentHover(d,1,1,u)},l=t.getOption(2)===2;r.isHoverVisible?s!==qh.NoAutoFocus?r.focus():a(l):a(l||s===qh.AutoFocusImmediately)}}class Dkt extends Mt{constructor(){super({id:"editor.action.showDefinitionPreviewHover",label:L({key:"showDefinitionPreviewHover",comment:["Label for action that will trigger the showing of definition preview hover in the editor.","This allows for users to show the definition preview hover without using the mouse."]},"Show Definition Preview Hover"),alias:"Show Definition Preview Hover",precondition:void 0})}run(e,t){const i=Hl.get(t);if(!i)return;const r=t.getPosition();if(!r)return;const o=new J(r.lineNumber,r.column,r.lineNumber,r.column),s=eC.get(t);if(!s)return;s.startFindDefinitionFromCursor(r).then(()=>{i.showContentHover(o,1,1,!0)})}}class Mkt extends Mt{constructor(){super({id:"editor.action.scrollUpHover",label:L({key:"scrollUpHover",comment:["Action that allows to scroll up in the hover widget with the up arrow when the hover widget is focused."]},"Scroll Up Hover"),alias:"Scroll Up Hover",precondition:ne.hoverFocused,kbOpts:{kbExpr:ne.hoverFocused,primary:16,weight:100}})}run(e,t){const i=Hl.get(t);i&&i.scrollUp()}}class kkt extends Mt{constructor(){super({id:"editor.action.scrollDownHover",label:L({key:"scrollDownHover",comment:["Action that allows to scroll down in the hover widget with the up arrow when the hover widget is focused."]},"Scroll Down Hover"),alias:"Scroll Down Hover",precondition:ne.hoverFocused,kbOpts:{kbExpr:ne.hoverFocused,primary:18,weight:100}})}run(e,t){const i=Hl.get(t);i&&i.scrollDown()}}class Nkt extends Mt{constructor(){super({id:"editor.action.scrollLeftHover",label:L({key:"scrollLeftHover",comment:["Action that allows to scroll left in the hover widget with the left arrow when the hover widget is focused."]},"Scroll Left Hover"),alias:"Scroll Left Hover",precondition:ne.hoverFocused,kbOpts:{kbExpr:ne.hoverFocused,primary:15,weight:100}})}run(e,t){const i=Hl.get(t);i&&i.scrollLeft()}}class Tkt extends Mt{constructor(){super({id:"editor.action.scrollRightHover",label:L({key:"scrollRightHover",comment:["Action that allows to scroll right in the hover widget with the right arrow when the hover widget is focused."]},"Scroll Right Hover"),alias:"Scroll Right Hover",precondition:ne.hoverFocused,kbOpts:{kbExpr:ne.hoverFocused,primary:17,weight:100}})}run(e,t){const i=Hl.get(t);i&&i.scrollRight()}}class Ekt extends Mt{constructor(){super({id:"editor.action.pageUpHover",label:L({key:"pageUpHover",comment:["Action that allows to page up in the hover widget with the page up command when the hover widget is focused."]},"Page Up Hover"),alias:"Page Up Hover",precondition:ne.hoverFocused,kbOpts:{kbExpr:ne.hoverFocused,primary:11,secondary:[528],weight:100}})}run(e,t){const i=Hl.get(t);i&&i.pageUp()}}class Zkt extends Mt{constructor(){super({id:"editor.action.pageDownHover",label:L({key:"pageDownHover",comment:["Action that allows to page down in the hover widget with the page down command when the hover widget is focused."]},"Page Down Hover"),alias:"Page Down Hover",precondition:ne.hoverFocused,kbOpts:{kbExpr:ne.hoverFocused,primary:12,secondary:[530],weight:100}})}run(e,t){const i=Hl.get(t);i&&i.pageDown()}}class Wkt extends Mt{constructor(){super({id:"editor.action.goToTopHover",label:L({key:"goToTopHover",comment:["Action that allows to go to the top of the hover widget with the home command when the hover widget is focused."]},"Go To Top Hover"),alias:"Go To Bottom Hover",precondition:ne.hoverFocused,kbOpts:{kbExpr:ne.hoverFocused,primary:14,secondary:[2064],weight:100}})}run(e,t){const i=Hl.get(t);i&&i.goToTop()}}class Rkt extends Mt{constructor(){super({id:"editor.action.goToBottomHover",label:L({key:"goToBottomHover",comment:["Action that allows to go to the bottom in the hover widget with the end command when the hover widget is focused."]},"Go To Bottom Hover"),alias:"Go To Bottom Hover",precondition:ne.hoverFocused,kbOpts:{kbExpr:ne.hoverFocused,primary:13,secondary:[2066],weight:100}})}run(e,t){const i=Hl.get(t);i&&i.goToBottom()}}yi(Hl.ID,Hl,2),tt(Ikt),tt(Dkt),tt(Mkt),tt(kkt),tt(Nkt),tt(Tkt),tt(Ekt),tt(Zkt),tt(Wkt),tt(Rkt),O0.register(Q3),O0.register(R8),Pc((n,e)=>{const t=n.getColor(ove);t&&(e.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${t.transparent(.5)}; }`),e.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${t.transparent(.5)}; }`),e.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${t.transparent(.5)}; }`))});class P8 extends Ie{constructor(e){super(),this._editor=e,this._register(e.onMouseDown(t=>this.onMouseDown(t)))}dispose(){super.dispose()}onMouseDown(e){const t=this._editor.getOption(148);if(t!=="click"&&t!=="clickAndHover")return;const i=e.target;if(i.type!==6||!i.detail.injectedText||i.detail.injectedText.options.attachedData!==A2e||!i.range)return;const r=this._editor.getContribution(Hl.ID);if(r&&!r.isColorPickerVisible){const o=new J(i.range.startLineNumber,i.range.startColumn+1,i.range.endLineNumber,i.range.endColumn+1);r.showContentHover(o,1,0,!1,!0)}}}P8.ID="editor.contrib.colorContribution",yi(P8.ID,P8,2),O0.register(a3);var aLe=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},em=function(n,e){return function(t,i){e(t,i,n)}},O8,B8;let U0=O8=class extends Ie{constructor(e,t,i,r,o,s,a){super(),this._editor=e,this._modelService=i,this._keybindingService=r,this._instantiationService=o,this._languageFeatureService=s,this._languageConfigurationService=a,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=ne.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=ne.standaloneColorPickerFocused.bindTo(t)}showOrFocus(){var e;this._editor.hasModel()&&(this._standaloneColorPickerVisible.get()?this._standaloneColorPickerFocused.get()||(e=this._standaloneColorPickerWidget)===null||e===void 0||e.focus():this._standaloneColorPickerWidget=new rV(this._editor,this._standaloneColorPickerVisible,this._standaloneColorPickerFocused,this._instantiationService,this._modelService,this._keybindingService,this._languageFeatureService,this._languageConfigurationService))}hide(){var e;this._standaloneColorPickerFocused.set(!1),this._standaloneColorPickerVisible.set(!1),(e=this._standaloneColorPickerWidget)===null||e===void 0||e.hide(),this._editor.focus()}insertColor(){var e;(e=this._standaloneColorPickerWidget)===null||e===void 0||e.updateEditor(),this.hide()}static get(e){return e.getContribution(O8.ID)}};U0.ID="editor.contrib.standaloneColorPickerController",U0=O8=aLe([em(1,ln),em(2,xr),em(3,Bi),em(4,$t),em(5,Zt),em(6,tr)],U0),yi(U0.ID,U0,1);const lLe=8,Vkt=22;let rV=B8=class extends Ie{constructor(e,t,i,r,o,s,a,l){var u;super(),this._editor=e,this._standaloneColorPickerVisible=t,this._standaloneColorPickerFocused=i,this._modelService=o,this._keybindingService=s,this._languageFeaturesService=a,this._languageConfigurationService=l,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement("div"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new be),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=r.createInstance(yM,this._editor),this._position=(u=this._editor._getViewModel())===null||u===void 0?void 0:u.getPrimaryCursorState().modelState.position;const c=this._editor.getSelection(),d=c?{startLineNumber:c.startLineNumber,startColumn:c.startColumn,endLineNumber:c.endLineNumber,endColumn:c.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},h=this._register(Dh(this._body));this._register(h.onDidBlur(m=>{this.hide()})),this._register(h.onDidFocus(m=>{this.focus()})),this._register(this._editor.onDidChangeCursorPosition(()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()})),this._register(this._editor.onMouseMove(m=>{var f;const g=(f=m.target.element)===null||f===void 0?void 0:f.classList;g&&g.contains("colorpicker-color-decoration")&&this.hide()})),this._register(this.onResult(m=>{this._render(m.value,m.foundInEditor)})),this._start(d),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return B8.ID}getDomNode(){return this._body}getPosition(){if(!this._position)return null;const e=this._editor.getOption(60).above;return{position:this._position,secondaryPosition:this._position,preference:e?[1,2]:[2,1],positionAffinity:2}}hide(){this.dispose(),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerFocused.set(!1),this._editor.removeContentWidget(this),this._editor.focus()}focus(){this._standaloneColorPickerFocused.set(!0),this._body.focus()}async _start(e){const t=await this._computeAsync(e);t&&this._onResult.fire(new Akt(t.result,t.foundInEditor))}async _computeAsync(e){if(!this._editor.hasModel())return null;const t={range:e,color:{red:0,green:0,blue:0,alpha:1}},i=await this._standaloneColorPickerParticipant.createColorHover(t,new EJ(this._modelService,this._languageConfigurationService),this._languageFeaturesService.colorProvider);return i?{result:i.colorHover,foundInEditor:i.foundInEditor}:null}_render(e,t){const i=document.createDocumentFragment(),r=this._register(new K3(this._keybindingService));let o;const s={fragment:i,statusBar:r,setColorPicker:g=>o=g,onContentsChanged:()=>{},hide:()=>this.hide()};if(this._colorHover=e,this._register(this._standaloneColorPickerParticipant.renderHoverParts(s,[e])),o===void 0)return;this._body.classList.add("standalone-colorpicker-body"),this._body.style.maxHeight=Math.max(this._editor.getLayoutInfo().height/4,250)+"px",this._body.style.maxWidth=Math.max(this._editor.getLayoutInfo().width*.66,500)+"px",this._body.tabIndex=0,this._body.appendChild(i),o.layout();const a=o.body,l=a.saturationBox.domNode.clientWidth,u=a.domNode.clientWidth-l-Vkt-lLe,c=o.body.enterButton;c==null||c.onClicked(()=>{this.updateEditor(),this.hide()});const d=o.header,h=d.pickedColorNode;h.style.width=l+lLe+"px";const m=d.originalColorNode;m.style.width=u+"px";const f=o.header.closeButton;f==null||f.onClicked(()=>{this.hide()}),t&&(c&&(c.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}};rV.ID="editor.contrib.standaloneColorPickerWidget",rV=B8=aLe([em(3,$t),em(4,xr),em(5,Bi),em(6,Zt),em(7,tr)],rV);class Akt{constructor(e,t){this.value=e,this.foundInEditor=t}}class Gkt extends kh{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...oi("showOrFocusStandaloneColorPicker","Show or Focus Standalone Color Picker"),mnemonicTitle:L({key:"mishowOrFocusStandaloneColorPicker",comment:["&& denotes a mnemonic"]},"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:Q.CommandPalette}]})}runEditorCommand(e,t){var i;(i=U0.get(t))===null||i===void 0||i.showOrFocus()}}class Xkt extends Mt{constructor(){super({id:"editor.action.hideColorPicker",label:L({key:"hideColorPicker",comment:["Action that hides the color picker"]},"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:ne.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100}})}run(e,t){var i;(i=U0.get(t))===null||i===void 0||i.hide()}}class Pkt extends Mt{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:L({key:"insertColorWithStandaloneColorPicker",comment:["Action that inserts color with standalone color picker"]},"Insert Color with Standalone Color Picker"),alias:"Insert Color with Standalone Color Picker",precondition:ne.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100}})}run(e,t){var i;(i=U0.get(t))===null||i===void 0||i.insertColor()}}tt(Xkt),tt(Pkt),Ji(Gkt);class Cr{static insert(e,t){return{range:new J(e.lineNumber,e.column,e.lineNumber,e.column),text:t,forceMoveMarkers:!0}}static delete(e){return{range:e,text:null}}static replace(e,t){return{range:e,text:t}}static replaceMove(e,t){return{range:e,text:t,forceMoveMarkers:!0}}}class K0{constructor(e,t,i){this.languageConfigurationService=i,this._selection=e,this._insertSpace=t,this._usedEndToken=null}static _haystackHasNeedleAtOffset(e,t,i){if(i<0)return!1;const r=t.length,o=e.length;if(i+r>o)return!1;for(let s=0;s=65&&a<=90&&a+32===l)&&!(l>=65&&l<=90&&l+32===a))return!1}return!0}_createOperationsForBlockComment(e,t,i,r,o,s){const a=e.startLineNumber,l=e.startColumn,u=e.endLineNumber,c=e.endColumn,d=o.getLineContent(a),h=o.getLineContent(u);let m=d.lastIndexOf(t,l-1+t.length),f=h.indexOf(i,c-1-i.length);if(m!==-1&&f!==-1)if(a===u)d.substring(m+t.length,f).indexOf(i)>=0&&(m=-1,f=-1);else{const b=d.substring(m+t.length),v=h.substring(0,f);(b.indexOf(i)>=0||v.indexOf(i)>=0)&&(m=-1,f=-1)}let g;m!==-1&&f!==-1?(r&&m+t.length0&&h.charCodeAt(f-1)===32&&(i=" "+i,f-=1),g=K0._createRemoveBlockCommentOperations(new J(a,m+t.length+1,u,f+1),t,i)):(g=K0._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=g.length===1?i:null);for(const b of g)s.addTrackedEditOperation(b.range,b.text)}static _createRemoveBlockCommentOperations(e,t,i){const r=[];return J.isEmpty(e)?r.push(Cr.delete(new J(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(r.push(Cr.delete(new J(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),r.push(Cr.delete(new J(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),r}static _createAddBlockCommentOperations(e,t,i,r){const o=[];return J.isEmpty(e)?o.push(Cr.replace(new J(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(o.push(Cr.insert(new ye(e.startLineNumber,e.startColumn),t+(r?" ":""))),o.push(Cr.insert(new ye(e.endLineNumber,e.endColumn),(r?" ":"")+i))),o}getEditOperations(e,t){const i=this._selection.startLineNumber,r=this._selection.startColumn;e.tokenization.tokenizeIfCheap(i);const o=e.getLanguageIdAtPosition(i,r),s=this.languageConfigurationService.getLanguageConfiguration(o).comments;!s||!s.blockCommentStartToken||!s.blockCommentEndToken||this._createOperationsForBlockComment(this._selection,s.blockCommentStartToken,s.blockCommentEndToken,this._insertSpace,e,t)}computeCursorState(e,t){const i=t.getInverseEditOperations();if(i.length===2){const r=i[0],o=i[1];return new Wt(r.range.endLineNumber,r.range.endColumn,o.range.startLineNumber,o.range.startColumn)}else{const r=i[0].range,o=this._usedEndToken?-this._usedEndToken.length-1:0;return new Wt(r.endLineNumber,r.endColumn+o,r.endLineNumber,r.endColumn+o)}}}class Dp{constructor(e,t,i,r,o,s,a){this.languageConfigurationService=e,this._selection=t,this._indentSize=i,this._type=r,this._insertSpace=o,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=s,this._ignoreFirstLine=a||!1}static _gatherPreflightCommentStrings(e,t,i,r){e.tokenization.tokenizeIfCheap(t);const o=e.getLanguageIdAtPosition(t,1),s=r.getLanguageConfiguration(o).comments,a=s?s.lineCommentToken:null;if(!a)return null;const l=[];for(let u=0,c=i-t+1;uo?t[l].commentStrOffset=s-1:t[l].commentStrOffset=s}}}class z8 extends Mt{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(tr);if(!t.hasModel())return;const r=t.getModel(),o=[],s=r.getOptions(),a=t.getOption(23),l=t.getSelections().map((c,d)=>({selection:c,index:d,ignoreFirstLine:!1}));l.sort((c,d)=>J.compareRangesUsingStarts(c.selection,d.selection));let u=l[0];for(let c=1;c=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},rC=function(n,e){return function(t,i){e(t,i,n)}},H8;let ax=H8=class{static get(e){return e.getContribution(H8.ID)}constructor(e,t,i,r,o,s,a,l){this._contextMenuService=t,this._contextViewService=i,this._contextKeyService=r,this._keybindingService=o,this._menuService=s,this._configurationService=a,this._workspaceContextService=l,this._toDispose=new Je,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(u=>this._onContextMenu(u))),this._toDispose.add(this._editor.onMouseWheel(u=>{if(this._contextMenuIsBeingShownCount>0){const c=this._contextViewService.getContextViewElement(),d=u.srcElement;d.shadowRoot&&Yv(c)===d.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(u=>{this._editor.getOption(24)&&u.keyCode===58&&(u.preventDefault(),u.stopPropagation(),this.showContextMenu())}))}_onContextMenu(e){if(!this._editor.hasModel())return;if(!this._editor.getOption(24)){this._editor.focus(),e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position);return}if(e.target.type===12||e.target.type===6&&e.target.detail.injectedText)return;if(e.event.preventDefault(),e.event.stopPropagation(),e.target.type===11)return this._showScrollbarContextMenu(e.event);if(e.target.type!==6&&e.target.type!==7&&e.target.type!==1)return;if(this._editor.focus(),e.target.position){let i=!1;for(const r of this._editor.getSelections())if(r.containsPosition(e.target.position)){i=!0;break}i||this._editor.setPosition(e.target.position)}let t=null;e.target.type!==1&&(t=e.event),this.showContextMenu(t)}showContextMenu(e){if(!this._editor.getOption(24)||!this._editor.hasModel())return;const t=this._getMenuActions(this._editor.getModel(),this._editor.isSimpleWidget?Q.SimpleEditorContext:Q.EditorContext);t.length>0&&this._doShowContextMenu(t,e)}_getMenuActions(e,t){const i=[],r=this._menuService.createMenu(t,this._contextKeyService),o=r.getActions({arg:e.uri});r.dispose();for(const s of o){const[,a]=s;let l=0;for(const u of a)if(u instanceof sI){const c=this._getMenuActions(e,u.item.submenu);c.length>0&&(i.push(new SS(u.id,u.label,c)),l++)}else i.push(u),l++;l&&i.push(new Vo)}return i.length&&i.pop(),i}_doShowContextMenu(e,t=null){if(!this._editor.hasModel())return;const i=this._editor.getOption(60);this._editor.updateOptions({hover:{enabled:!1}});let r=t;if(!r){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const s=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),a=po(this._editor.getDomNode()),l=a.left+s.left,u=a.top+s.top+s.height;r={x:l,y:u}}const o=this._editor.getOption(127)&&!Vm;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:o?this._editor.getDomNode():void 0,getAnchor:()=>r,getActions:()=>e,getActionViewItem:s=>{const a=this._keybindingFor(s);if(a)return new k2(s,s,{label:!0,keybinding:a.getLabel(),isMenu:!0});const l=s;return typeof l.getActionViewItem=="function"?l.getActionViewItem():new k2(s,s,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:s=>this._keybindingFor(s),onHide:s=>{this._contextMenuIsBeingShownCount--,this._editor.updateOptions({hover:i})}})}_showScrollbarContextMenu(e){if(!this._editor.hasModel()||pFt(this._workspaceContextService.getWorkspace()))return;const t=this._editor.getOption(73);let i=0;const r=u=>({id:`menu-action-${++i}`,label:u.label,tooltip:"",class:void 0,enabled:typeof u.enabled>"u"?!0:u.enabled,checked:u.checked,run:u.run}),o=(u,c)=>new SS(`menu-action-${++i}`,u,c,void 0),s=(u,c,d,h,m)=>{if(!c)return r({label:u,enabled:c,run:()=>{}});const f=b=>()=>{this._configurationService.updateValue(d,b)},g=[];for(const b of m)g.push(r({label:b.label,checked:h===b.value,run:f(b.value)}));return o(u,g)},a=[];a.push(r({label:L("context.minimap.minimap","Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),a.push(new Vo),a.push(r({label:L("context.minimap.renderCharacters","Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),a.push(s(L("context.minimap.size","Vertical size"),t.enabled,"editor.minimap.size",t.size,[{label:L("context.minimap.size.proportional","Proportional"),value:"proportional"},{label:L("context.minimap.size.fill","Fill"),value:"fill"},{label:L("context.minimap.size.fit","Fit"),value:"fit"}])),a.push(s(L("context.minimap.slider","Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:L("context.minimap.slider.mouseover","Mouse Over"),value:"mouseover"},{label:L("context.minimap.slider.always","Always"),value:"always"}]));const l=this._editor.getOption(127)&&!Vm;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:l?this._editor.getDomNode():void 0,getAnchor:()=>e,getActions:()=>a,onHide:u=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}};ax.ID="editor.contrib.contextmenu",ax=H8=Ykt([rC(1,fu),rC(2,pp),rC(3,ln),rC(4,Bi),rC(5,Gu),rC(6,Pn),rC(7,Ry)],ax);class Ukt extends Mt{constructor(){super({id:"editor.action.showContextMenu",label:L("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:ne.textInputFocus,primary:1092,weight:100}})}run(e,t){var i;(i=ax.get(t))===null||i===void 0||i.showContextMenu()}}yi(ax.ID,ax,2),tt(Ukt);class Y8{constructor(e){this.selections=e}equals(e){const t=this.selections.length,i=e.selections.length;if(t!==i)return!1;for(let r=0;r{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeModelContent(t=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeCursorSelection(t=>{if(this._isCursorUndoRedo||!t.oldSelections||t.oldModelVersionId!==t.modelVersionId)return;const i=new Y8(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new U8(i,e.getScrollTop(),e.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())}))}cursorUndo(){!this._editor.hasModel()||this._undoStack.length===0||(this._redoStack.push(new U8(new Y8(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){!this._editor.hasModel()||this._redoStack.length===0||(this._undoStack.push(new U8(new Y8(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(e){this._isCursorUndoRedo=!0,this._editor.setSelections(e.cursorState.selections),this._editor.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft}),this._isCursorUndoRedo=!1}}oC.ID="editor.contrib.cursorUndoRedoController";class Kkt extends Mt{constructor(){super({id:"cursorUndo",label:L("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:ne.textInputFocus,primary:2099,weight:100}})}run(e,t,i){var r;(r=oC.get(t))===null||r===void 0||r.cursorUndo()}}class Jkt extends Mt{constructor(){super({id:"cursorRedo",label:L("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){var r;(r=oC.get(t))===null||r===void 0||r.cursorRedo()}}yi(oC.ID,oC,0),tt(Kkt),tt(Jkt);class jkt{constructor(e,t,i){this.selection=e,this.targetPosition=t,this.copy=i,this.targetSelection=null}getEditOperations(e,t){const i=e.getValueInRange(this.selection);if(this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new J(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),i),this.selection.containsPosition(this.targetPosition)&&!(this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition)))){this.targetSelection=this.selection;return}if(this.copy){this.targetSelection=new Wt(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber>this.selection.endLineNumber){this.targetSelection=new Wt(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumberthis._onEditorMouseDown(t))),this._register(this._editor.onMouseUp(t=>this._onEditorMouseUp(t))),this._register(this._editor.onMouseDrag(t=>this._onEditorMouseDrag(t))),this._register(this._editor.onMouseDrop(t=>this._onEditorMouseDrop(t))),this._register(this._editor.onMouseDropCanceled(()=>this._onEditorMouseDropCanceled())),this._register(this._editor.onKeyDown(t=>this.onEditorKeyDown(t))),this._register(this._editor.onKeyUp(t=>this.onEditorKeyUp(t))),this._register(this._editor.onDidBlurEditorWidget(()=>this.onEditorBlur())),this._register(this._editor.onDidBlurEditorText(()=>this.onEditorBlur())),this._mouseDown=!1,this._modifierPressed=!1,this._dragSelection=null}onEditorBlur(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1}onEditorKeyDown(e){!this._editor.getOption(35)||this._editor.getOption(22)||(lx(e)&&(this._modifierPressed=!0),this._mouseDown&&lx(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(35)||this._editor.getOption(22)||(lx(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===Mp.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))}_onEditorMouseDown(e){this._mouseDown=!0}_onEditorMouseUp(e){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(e){const t=e.target;if(this._dragSelection===null){const r=(this._editor.getSelections()||[]).filter(o=>t.position&&o.containsPosition(t.position));if(r.length===1)this._dragSelection=r[0];else return}lx(e.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),t.position&&(this._dragSelection.containsPosition(t.position)?this._removeDecoration():this.showAt(t.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(e){if(e.target&&(this._hitContent(e.target)||this._hitMargin(e.target))&&e.target.position){const t=new ye(e.target.position.lineNumber,e.target.position.column);if(this._dragSelection===null){let i=null;if(e.event.shiftKey){const r=this._editor.getSelection();if(r){const{selectionStartLineNumber:o,selectionStartColumn:s}=r;i=[new Wt(o,s,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(r=>r.containsPosition(t)?new Wt(t.lineNumber,t.column,t.lineNumber,t.column):r);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(lx(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(Mp.ID,new jkt(this._dragSelection,t,lx(e.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}showAt(e){this._dndDecorationIds.set([{range:new J(e.lineNumber,e.column,e.lineNumber,e.column),options:Mp._DECORATION_OPTIONS}]),this._editor.revealPosition(e,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(e){return e.type===6||e.type===7}_hitMargin(e){return e.type===2||e.type===3||e.type===4}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}}Mp.ID="editor.contrib.dragAndDrop",Mp.TRIGGER_KEY_VALUE=On?6:5,Mp._DECORATION_OPTIONS=yn.register({description:"dnd-target",className:"dnd-target"}),yi(Mp.ID,Mp,2);var oV;yi(_f.ID,_f,0),vM(oK),gt(new class extends Ko{constructor(){super({id:ASe,precondition:hK,kbOpts:{weight:100,primary:2137}})}runEditorCommand(n,e){var t;return(t=_f.get(e))===null||t===void 0?void 0:t.changePasteType()}}),gt(new class extends Ko{constructor(){super({id:"editor.hidePasteWidget",precondition:hK,kbOpts:{weight:100,primary:9}})}runEditorCommand(n,e){var t;(t=_f.get(e))===null||t===void 0||t.clearWidgets()}}),tt((oV=class extends Mt{constructor(){super({id:"editor.action.pasteAs",label:L("pasteAs","Paste As..."),alias:"Paste As...",precondition:ne.writable,metadata:{description:"Paste as",args:[{name:"args",schema:oV.argsSchema}]}})}run(e,t,i){var r;let o=typeof(i==null?void 0:i.kind)=="string"?i.kind:void 0;return!o&&i&&(o=typeof i.id=="string"?i.id:void 0),(r=_f.get(t))===null||r===void 0?void 0:r.pasteAs(o?new Ai(o):void 0)}},oV.argsSchema={type:"object",properties:{kind:{type:"string",description:L("pasteAs.kind","The kind of the paste edit to try applying. If not provided or there are multiple edits for this kind, the editor will show a picker.")}}},oV)),tt(class extends Mt{constructor(){super({id:"editor.action.pasteAsText",label:L("pasteAsText","Paste as Text"),alias:"Paste as Text",precondition:ne.writable})}run(n,e){var t;return(t=_f.get(e))===null||t===void 0?void 0:t.pasteAs({providerId:wp.id})}});class Qkt{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(e){if(e&&this._dragOperations.has(e)){const t=this._dragOperations.get(e);return this._dragOperations.delete(e),t}}}class uLe{constructor(e){this.identifier=e}}const cLe=Un("treeViewsDndService");qn(cLe,Qkt,1);var $kt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},sV=function(n,e){return function(t,i){e(t,i,n)}},K8;const dLe="editor.experimental.dropIntoEditor.defaultProvider",hLe="editor.changeDropType",J8=new wt("dropWidgetVisible",!1,L("dropWidgetVisible","Whether the drop widget is showing"));let sC=K8=class extends Ie{static get(e){return e.getContribution(K8.ID)}constructor(e,t,i,r,o){super(),this._configService=i,this._languageFeaturesService=r,this._treeViewsDragAndDropService=o,this.treeItemsTransfer=eM.getInstance(),this._dropProgressManager=this._register(t.createInstance(UR,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(QR,"dropIntoEditor",e,J8,{id:hLe,label:L("postDropWidgetTitle","Show drop options...")})),this._register(e.onDropIntoEditor(s=>this.onDropIntoEditor(e,s.position,s.event)))}clearWidgets(){this._postDropWidgetManager.clear()}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(e,t,i){var r;if(!i.dataTransfer||!e.hasModel())return;(r=this._currentOperation)===null||r===void 0||r.cancel(),e.focus(),e.setPosition(t);const o=rs(async s=>{const a=new T0(e,1,void 0,s);try{const l=await this.extractDataTransferData(i);if(l.size===0||a.token.isCancellationRequested)return;const u=e.getModel();if(!u)return;const c=this._languageFeaturesService.documentOnDropEditProvider.ordered(u).filter(h=>h.dropMimeTypes?h.dropMimeTypes.some(m=>l.matches(m)):!0),d=await this.getDropEdits(c,u,t,l,a);if(a.token.isCancellationRequested)return;if(d.length){const h=this.getInitialActiveEditIndex(u,d),m=e.getOption(36).showDropSelector==="afterDrop";await this._postDropWidgetManager.applyEditAndShowIfNeeded([J.fromPositions(t)],{activeEditIndex:h,allEdits:d},m,async f=>f,s)}}finally{a.dispose(),this._currentOperation===o&&(this._currentOperation=void 0)}});this._dropProgressManager.showWhile(t,L("dropIntoEditorProgress","Running drop handlers. Click to cancel"),o),this._currentOperation=o}async getDropEdits(e,t,i,r,o){const s=await UF(Promise.all(e.map(async l=>{try{const u=await l.provideDocumentOnDropEdits(t,i,r,o.token);return u==null?void 0:u.map(c=>({...c,providerId:l.id}))}catch{}})),o.token),a=Ym(s??[]).flat();return NSe(a)}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(dLe,{resource:e.uri});for(const[r,o]of Object.entries(i)){const s=new Ai(o),a=t.findIndex(l=>s.value===l.providerId&&l.handledMimeType&&CSe(r,[l.handledMimeType]));if(a>=0)return a}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new ySe;const t=LSe(e.dataTransfer);if(this.treeItemsTransfer.hasData(uLe.prototype)){const i=this.treeItemsTransfer.getData(uLe.prototype);if(Array.isArray(i))for(const r of i){const o=await this._treeViewsDragAndDropService.removeDragOperationTransfer(r.identifier);if(o)for(const[s,a]of o)t.replace(s,a)}}return t}};sC.ID="editor.contrib.dropIntoEditorController",sC=K8=$kt([sV(1,$t),sV(2,Pn),sV(3,Zt),sV(4,cLe)],sC),yi(sC.ID,sC,2),vM(rK),gt(new class extends Ko{constructor(){super({id:hLe,precondition:J8,kbOpts:{weight:100,primary:2137}})}runEditorCommand(n,e,t){var i;(i=sC.get(e))===null||i===void 0||i.changeDropType()}}),gt(new class extends Ko{constructor(){super({id:"editor.hideDropWidget",precondition:J8,kbOpts:{weight:100,primary:9}})}runEditorCommand(n,e,t){var i;(i=sC.get(e))===null||i===void 0||i.clearWidgets()}}),Do.as(Eh.Configuration).registerConfiguration({...$R,properties:{[dLe]:{type:"object",scope:5,description:L("defaultProviderDescription","Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}});class Ta{constructor(e){this._editor=e,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.removeDecorations(this._allDecorations()),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){return this._findScopeDecorationIds[0]?this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]):null}getFindScopes(){if(this._findScopeDecorationIds.length){const e=this._findScopeDecorationIds.map(t=>this._editor.getModel().getDecorationRange(t)).filter(t=>!!t);if(e.length)return e}return null}getStartPosition(){return this._startPosition}setStartPosition(e){this._startPosition=e,this.setCurrentFindMatch(null)}_getDecorationIndex(e){const t=this._decorations.indexOf(e);return t>=0?t+1:1}getDecorationRangeAt(e){const t=e{if(this._highlightedDecorationId!==null&&(r.changeDecorationOptions(this._highlightedDecorationId,Ta._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,r.changeDecorationOptions(this._highlightedDecorationId,Ta._CURRENT_FIND_MATCH_DECORATION)),this._rangeHighlightDecorationId!==null&&(r.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),t!==null){let o=this._editor.getModel().getDecorationRange(t);if(o.startLineNumber!==o.endLineNumber&&o.endColumn===1){const s=o.endLineNumber-1,a=this._editor.getModel().getLineMaxColumn(s);o=new J(o.startLineNumber,o.startColumn,s,a)}this._rangeHighlightDecorationId=r.addDecoration(o,Ta._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let r=Ta._FIND_MATCH_DECORATION;const o=[];if(e.length>1e3){r=Ta._FIND_MATCH_NO_OVERVIEW_DECORATION;const a=this._editor.getModel().getLineCount(),u=this._editor.getLayoutInfo().height/a,c=Math.max(2,Math.ceil(3/u));let d=e[0].range.startLineNumber,h=e[0].range.endLineNumber;for(let m=1,f=e.length;m=g.startLineNumber?g.endLineNumber>h&&(h=g.endLineNumber):(o.push({range:new J(d,1,h,1),options:Ta._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),d=g.startLineNumber,h=g.endLineNumber)}o.push({range:new J(d,1,h,1),options:Ta._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const s=new Array(e.length);for(let a=0,l=e.length;ai.removeDecoration(a)),this._findScopeDecorationIds=[]),t!=null&&t.length&&(this._findScopeDecorationIds=t.map(a=>i.addDecoration(a,Ta._FIND_SCOPE_DECORATION)))})}matchBeforePosition(e){if(this._decorations.length===0)return null;for(let t=this._decorations.length-1;t>=0;t--){const i=this._decorations[t],r=this._editor.getModel().getDecorationRange(i);if(!(!r||r.endLineNumber>e.lineNumber)){if(r.endLineNumbere.column))return r}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(e){if(this._decorations.length===0)return null;for(let t=0,i=this._decorations.length;te.lineNumber)return o;if(!(o.startColumn0){const i=[];for(let s=0;sJ.compareRangesUsingStarts(s.range,a.range));const r=[];let o=i[0];for(let s=1;s0?e[0].toUpperCase()+e.substr(1):n[0][0].toUpperCase()!==n[0][0]&&e.length>0?e[0].toLowerCase()+e.substr(1):e}else return e}function fLe(n,e,t){return n[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&n[0].split(t).length===e.split(t).length}function gLe(n,e,t){const i=e.split(t),r=n[0].split(t);let o="";return i.forEach((s,a)=>{o+=mLe([r[a]],s)+t}),o.slice(0,-1)}class pLe{constructor(e){this.staticValue=e,this.kind=0}}class eNt{constructor(e){this.pieces=e,this.kind=1}}class ux{static fromStaticValue(e){return new ux([aC.staticValue(e)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){!e||e.length===0?this._state=new pLe(""):e.length===1&&e[0].staticValue!==null?this._state=new pLe(e[0].staticValue):this._state=new eNt(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?mLe(e,this._state.staticValue):this._state.staticValue;let i="";for(let r=0,o=this._state.pieces.length;r0){const l=[],u=s.caseOps.length;let c=0;for(let d=0,h=a.length;d=u){l.push(a.slice(d));break}switch(s.caseOps[c]){case"U":l.push(a[d].toUpperCase());break;case"u":l.push(a[d].toUpperCase()),c++;break;case"L":l.push(a[d].toLowerCase());break;case"l":l.push(a[d].toLowerCase()),c++;break;default:l.push(a[d])}}a=l.join("")}i+=a}return i}static _substitute(e,t){if(t===null)return"";if(e===0)return t[0];let i="";for(;e>0;){if(e=r)break;const s=n.charCodeAt(i);switch(s){case 92:t.emitUnchanged(i-1),t.emitStatic("\\",i+1);break;case 110:t.emitUnchanged(i-1),t.emitStatic(` -`,i+1);break;case 116:t.emitUnchanged(i-1),t.emitStatic(" ",i+1);break;case 117:case 85:case 108:case 76:t.emitUnchanged(i-1),t.emitStatic("",i+1),e.push(String.fromCharCode(s));break}continue}if(o===36){if(i++,i>=r)break;const s=n.charCodeAt(i);if(s===36){t.emitUnchanged(i-1),t.emitStatic("$",i+1);continue}if(s===48||s===38){t.emitUnchanged(i-1),t.emitMatchIndex(0,i+1,e),e.length=0;continue}if(49<=s&&s<=57){let a=s-48;if(i+1this.research(!1),100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition(i=>{(i.reason===3||i.reason===5||i.reason===6)&&this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent(i=>{this._ignoreModelContentChanged||(i.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())})),this._toDispose.add(this._state.onFindReplaceStateChange(i=>this._onStateChanged(i))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,er(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(e){this._isDisposed||this._editor.hasModel()&&(e.searchString||e.isReplaceRevealed||e.isRegex||e.wholeWord||e.matchCase||e.searchScope)&&(this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet(()=>{e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor)},iNt)):e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor))}static _getSearchRange(e,t){return t||e.getFullModelRange()}research(e,t){let i=null;typeof t<"u"?t!==null&&(Array.isArray(t)?i=t:i=[t]):i=this._decorations.getFindScopes(),i!==null&&(i=i.map(a=>{if(a.startLineNumber!==a.endLineNumber){let l=a.endLineNumber;return a.endColumn===1&&(l=l-1),new J(a.startLineNumber,1,l,this._editor.getModel().getLineMaxColumn(l))}return a}));const r=this._findMatches(i,!1,J0);this._decorations.set(r,i);const o=this._editor.getSelection();let s=this._decorations.getCurrentMatchesPosition(o);if(s===0&&r.length>0){const a=jI(r.map(l=>l.range),l=>J.compareRangesUsingStarts(l,o)>=0);s=a>0?a-1+1:s}this._state.changeMatchInfo(s,this._decorations.getCount(),void 0),e&&this._editor.getOption(41).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){const e=this._decorations.getFindScope();return e&&this._editor.revealRangeInCenterIfOutsideViewport(e,0),!0}return!1}_setCurrentFindMatch(e){const t=this._decorations.setCurrentFindMatch(e);this._state.changeMatchInfo(t,this._decorations.getCount(),e),this._editor.setSelection(e),this._editor.revealRangeInCenterIfOutsideViewport(e,0)}_prevSearchPosition(e){const t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:r}=e;const o=this._editor.getModel();return t||r===1?(i===1?i=o.getLineCount():i--,r=o.getLineMaxColumn(i)):r--,new ye(i,r)}_moveToPrevMatch(e,t=!1){if(!this._state.canNavigateBack()){const c=this._decorations.matchAfterPosition(e);c&&this._setCurrentFindMatch(c);return}if(this._decorations.getCount()=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:r}=e;const o=this._editor.getModel();return t||r===o.getLineMaxColumn(i)?(i===o.getLineCount()?i=1:i++,r=1):r++,new ye(i,r)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(e);i&&this._setCurrentFindMatch(i);return}if(this._decorations.getCount()PM._getSearchRange(this._editor.getModel(),o));return this._editor.getModel().findMatches(this._state.searchString,r,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(131):null,t,i)}replaceAll(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();e===null&&this._state.matchesCount>=J0?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const t=new yy(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(131):null).parseSearchRequest();if(!t)return;let i=t.regex;if(!i.multiline){let d="mu";i.ignoreCase&&(d+="i"),i.global&&(d+="g"),i=new RegExp(i.source,d)}const r=this._editor.getModel(),o=r.getValue(1),s=r.getFullModelRange(),a=this._getReplacePattern();let l;const u=this._state.preserveCase;a.hasReplacementPatterns||u?l=o.replace(i,function(){return a.buildReplaceString(arguments,u)}):l=o.replace(i,a.buildReplaceString(null,u));const c=new RY(s,l,this._editor.getSelection());this._executeEditorCommand("replaceAll",c)}_regularReplaceAll(e){const t=this._getReplacePattern(),i=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),r=[];for(let s=0,a=i.length;ss.range),r);this._executeEditorCommand("replaceAll",o)}selectAllMatches(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();let i=this._findMatches(e,!1,1073741824).map(o=>new Wt(o.range.startLineNumber,o.range.startColumn,o.range.endLineNumber,o.range.endColumn));const r=this._editor.getSelection();for(let o=0,s=i.length;othis._hide(),2e3)),this._isVisible=!1,this._editor=e,this._state=t,this._keybindingService=i,this._domNode=document.createElement("div"),this._domNode.className="findOptionsWidget",this._domNode.style.display="none",this._domNode.style.top="10px",this._domNode.style.zIndex="12",this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true");const r={inputActiveOptionBorder:xt(y6),inputActiveOptionForeground:xt(C6),inputActiveOptionBackground:xt(ly)},o=this._register(F2());this.caseSensitive=this._register(new txe({appendTitle:this._keybindingLabelFor(ur.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase,hoverDelegate:o,...r})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new nxe({appendTitle:this._keybindingLabelFor(ur.ToggleWholeWordCommand),isChecked:this._state.wholeWord,hoverDelegate:o,...r})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new ixe({appendTitle:this._keybindingLabelFor(ur.ToggleRegexCommand),isChecked:this._state.isRegex,hoverDelegate:o,...r})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange(()=>{this._state.change({isRegex:this.regex.checked},!1)})),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange(s=>{let a=!1;s.isRegex&&(this.regex.checked=this._state.isRegex,a=!0),s.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,a=!0),s.matchCase&&(this.caseSensitive.checked=this._state.matchCase,a=!0),!this._state.isRevealed&&a&&this._revealTemporarily()})),this._register(Ae(this._domNode,ot.MOUSE_LEAVE,s=>this._onMouseLeave())),this._register(Ae(this._domNode,"mouseover",s=>this._onMouseOver()))}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return mV.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseLeave(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){this._isVisible||(this._isVisible=!0,this._domNode.style.display="block")}_hide(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display="none")}}mV.ID="editor.contrib.findOptionsWidget";function fV(n,e){return n===1?!0:n===2?!1:e}class rNt extends Ie{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return fV(this._isRegexOverride,this._isRegex)}get wholeWord(){return fV(this._wholeWordOverride,this._wholeWord)}get matchCase(){return fV(this._matchCaseOverride,this._matchCase)}get preserveCase(){return fV(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}constructor(){super(),this._onFindReplaceStateChange=this._register(new be),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString="",this._replaceString="",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0,this._isSearching=!1,this._filters=null}changeMatchInfo(e,t,i){const r={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let o=!1;t===0&&(e=0),e>t&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,r.matchesPosition=!0,o=!0),this._matchesCount!==t&&(this._matchesCount=t,r.matchesCount=!0,o=!0),typeof i<"u"&&(J.equalsRange(this._currentMatch,i)||(this._currentMatch=i,r.currentMatch=!0,o=!0)),o&&this._onFindReplaceStateChange.fire(r)}change(e,t,i=!0){var r;const o={moveCursor:t,updateHistory:i,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let s=!1;const a=this.isRegex,l=this.wholeWord,u=this.matchCase,c=this.preserveCase;typeof e.searchString<"u"&&this._searchString!==e.searchString&&(this._searchString=e.searchString,o.searchString=!0,s=!0),typeof e.replaceString<"u"&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,o.replaceString=!0,s=!0),typeof e.isRevealed<"u"&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,o.isRevealed=!0,s=!0),typeof e.isReplaceRevealed<"u"&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,o.isReplaceRevealed=!0,s=!0),typeof e.isRegex<"u"&&(this._isRegex=e.isRegex),typeof e.wholeWord<"u"&&(this._wholeWord=e.wholeWord),typeof e.matchCase<"u"&&(this._matchCase=e.matchCase),typeof e.preserveCase<"u"&&(this._preserveCase=e.preserveCase),typeof e.searchScope<"u"&&(!((r=e.searchScope)===null||r===void 0)&&r.every(d=>{var h;return(h=this._searchScope)===null||h===void 0?void 0:h.some(m=>!J.equalsRange(m,d))})||(this._searchScope=e.searchScope,o.searchScope=!0,s=!0)),typeof e.loop<"u"&&this._loop!==e.loop&&(this._loop=e.loop,o.loop=!0,s=!0),typeof e.isSearching<"u"&&this._isSearching!==e.isSearching&&(this._isSearching=e.isSearching,o.isSearching=!0,s=!0),typeof e.filters<"u"&&(this._filters?this._filters.update(e.filters):this._filters=e.filters,o.filters=!0,s=!0),this._isRegexOverride=typeof e.isRegexOverride<"u"?e.isRegexOverride:0,this._wholeWordOverride=typeof e.wholeWordOverride<"u"?e.wholeWordOverride:0,this._matchCaseOverride=typeof e.matchCaseOverride<"u"?e.matchCaseOverride:0,this._preserveCaseOverride=typeof e.preserveCaseOverride<"u"?e.preserveCaseOverride:0,a!==this.isRegex&&(s=!0,o.isRegex=!0),l!==this.wholeWord&&(s=!0,o.wholeWord=!0),u!==this.matchCase&&(s=!0,o.matchCase=!0),c!==this.preserveCase&&(s=!0,o.preserveCase=!0),s&&this._onFindReplaceStateChange.fire(o)}canNavigateBack(){return this.canNavigateInLoop()||this.matchesPosition!==1}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition=J0}}const oNt=L("defaultLabel","input"),sNt=L("label.preserveCaseToggle","Preserve Case");class aNt extends $2{constructor(e){var t;super({icon:ut.preserveCase,title:sNt+e.appendTitle,isChecked:e.isChecked,hoverDelegate:(t=e.hoverDelegate)!==null&&t!==void 0?t:Pl("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class lNt extends Hu{constructor(e,t,i,r){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new be),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new be),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new be),this._onInput=this._register(new be),this._onKeyUp=this._register(new be),this._onPreserveCaseKeyDown=this._register(new be),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=r.placeholder||"",this.validation=r.validation,this.label=r.label||oNt;const o=r.appendPreserveCaseLabel||"",s=r.history||[],a=!!r.flexibleHeight,l=!!r.flexibleWidth,u=r.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new rxe(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:s,showHistoryHint:r.showHistoryHint,flexibleHeight:a,flexibleWidth:l,flexibleMaxHeight:u,inputBoxStyles:r.inputBoxStyles})),this.preserveCase=this._register(new aNt({appendTitle:o,isChecked:!1,...r.toggleStyles})),this._register(this.preserveCase.onChange(h=>{this._onDidOptionChange.fire(h),!h&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.preserveCase.onKeyDown(h=>{this._onPreserveCaseKeyDown.fire(h)})),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;const c=[this.preserveCase.domNode];this.onkeydown(this.domNode,h=>{if(h.equals(15)||h.equals(17)||h.equals(9)){const m=c.indexOf(this.domNode.ownerDocument.activeElement);if(m>=0){let f=-1;h.equals(17)?f=(m+1)%c.length:h.equals(15)&&(m===0?f=c.length-1:f=m-1),h.equals(9)?(c[m].blur(),this.inputBox.focus()):f>=0&&c[f].focus(),Vn.stop(h,!0)}}});const d=document.createElement("div");d.className="controls",d.style.display=this._showOptionButtons?"block":"none",d.appendChild(this.preserveCase.domNode),this.domNode.appendChild(d),e==null||e.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,h=>this._onKeyDown.fire(h)),this.onkeyup(this.inputBox.inputElement,h=>this._onKeyUp.fire(h)),this.oninput(this.inputBox.inputElement,h=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,h=>this._onMouseDown.fire(h))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(e){e?this.enable():this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(e){this.preserveCase.checked=e}focusOnPreserve(){this.preserveCase.focus()}validate(){var e;(e=this.inputBox)===null||e===void 0||e.validate()}set width(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=e+"px"}dispose(){super.dispose()}}var bLe=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},vLe=function(n,e){return function(t,i){e(t,i,n)}};const Q8=new wt("suggestWidgetVisible",!1,L("suggestWidgetVisible","Whether suggestion are visible")),$8="historyNavigationWidgetFocus",yLe="historyNavigationForwardsEnabled",CLe="historyNavigationBackwardsEnabled";let Np;const gV=[];function wLe(n,e){if(gV.includes(e))throw new Error("Cannot register the same widget multiple times");gV.push(e);const t=new Je,i=new wt($8,!1).bindTo(n),r=new wt(yLe,!0).bindTo(n),o=new wt(CLe,!0).bindTo(n),s=()=>{i.set(!0),Np=e},a=()=>{i.set(!1),Np===e&&(Np=void 0)};return l9(e.element)&&s(),t.add(e.onDidFocus(()=>s())),t.add(e.onDidBlur(()=>a())),t.add(jt(()=>{gV.splice(gV.indexOf(e),1),a()})),{historyNavigationForwardsEnablement:r,historyNavigationBackwardsEnablement:o,dispose(){t.dispose()}}}let q8=class extends oxe{constructor(e,t,i,r){super(e,t,i);const o=this._register(r.createScoped(this.inputBox.element));this._register(wLe(o,this.inputBox))}};q8=bLe([vLe(3,ln)],q8);let ej=class extends lNt{constructor(e,t,i,r,o=!1){super(e,t,o,i);const s=this._register(r.createScoped(this.inputBox.element));this._register(wLe(s,this.inputBox))}};ej=bLe([vLe(3,ln)],ej),El.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:Oe.and(Oe.has($8),Oe.equals(CLe,!0),Oe.not("isComposing"),Q8.isEqualTo(!1)),primary:16,secondary:[528],handler:n=>{Np==null||Np.showPreviousValue()}}),El.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:Oe.and(Oe.has($8),Oe.equals(yLe,!0),Oe.not("isComposing"),Q8.isEqualTo(!1)),primary:18,secondary:[530],handler:n=>{Np==null||Np.showNextValue()}});function SLe(n){var e,t;return((e=n.lookupKeybinding("history.showPrevious"))===null||e===void 0?void 0:e.getElectronAccelerator())==="Up"&&((t=n.lookupKeybinding("history.showNext"))===null||t===void 0?void 0:t.getElectronAccelerator())==="Down"}const uNt=so("find-selection",ut.selection,L("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),xLe=so("find-collapsed",ut.chevronRight,L("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),LLe=so("find-expanded",ut.chevronDown,L("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),cNt=so("find-replace",ut.replace,L("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),dNt=so("find-replace-all",ut.replaceAll,L("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),hNt=so("find-previous-match",ut.arrowUp,L("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),mNt=so("find-next-match",ut.arrowDown,L("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),fNt=L("label.findDialog","Find / Replace"),gNt=L("label.find","Find"),pNt=L("placeholder.find","Find"),bNt=L("label.previousMatchButton","Previous Match"),vNt=L("label.nextMatchButton","Next Match"),yNt=L("label.toggleSelectionFind","Find in Selection"),CNt=L("label.closeButton","Close"),wNt=L("label.replace","Replace"),SNt=L("placeholder.replace","Replace"),xNt=L("label.replaceButton","Replace"),LNt=L("label.replaceAllButton","Replace All"),_Nt=L("label.toggleReplaceButton","Toggle Replace"),FNt=L("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",J0),INt=L("label.matchesLocation","{0} of {1}"),_Le=L("label.noResults","No results"),Ef=419,DNt=275-54;let OM=69;const MNt=33,FLe="ctrlEnterReplaceAll.windows.donotask",ILe=On?256:2048;class tj{constructor(e){this.afterLineNumber=e,this.heightInPx=MNt,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function DLe(n,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionStart>0){n.stopPropagation();return}}function MLe(n,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionEndthis._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(c=>this._onStateChanged(c))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(c=>{if(c.hasChanged(91)&&(this._codeEditor.getOption(91)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),c.hasChanged(145)&&this._tryUpdateWidgetWidth(),c.hasChanged(2)&&this.updateAccessibilitySupport(),c.hasChanged(41)){const d=this._codeEditor.getOption(41).loop;this._state.change({loop:d},!1);const h=this._codeEditor.getOption(41).addExtraSpaceOnTop;h&&!this._viewZone&&(this._viewZone=new tj(0),this._showViewZone()),!h&&this._viewZone&&this._removeViewZone()}})),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection(()=>{this._isVisible&&this._updateToggleSelectionFindButton()})),this._register(this._codeEditor.onDidFocusEditorWidget(async()=>{if(this._isVisible){const c=await this._controller.getGlobalBufferTerm();c&&c!==this._state.searchString&&(this._state.change({searchString:c},!1),this._findInput.select())}})),this._findInputFocused=aV.bindTo(s),this._findFocusTracker=this._register(Dh(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus(()=>{this._findInputFocused.set(!0),this._updateSearchScope()})),this._register(this._findFocusTracker.onDidBlur(()=>{this._findInputFocused.set(!1)})),this._replaceInputFocused=j8.bindTo(s),this._replaceFocusTracker=this._register(Dh(this._replaceInput.inputBox.inputElement)),this._register(this._replaceFocusTracker.onDidFocus(()=>{this._replaceInputFocused.set(!0),this._updateSearchScope()})),this._register(this._replaceFocusTracker.onDidBlur(()=>{this._replaceInputFocused.set(!1)})),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(41).addExtraSpaceOnTop&&(this._viewZone=new tj(0)),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(c=>{if(c.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return pV.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(e){if(e.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(e.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),e.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),e.isReplaceRevealed&&(this._state.isReplaceRevealed?!this._codeEditor.getOption(91)&&!this._isReplaceVisible&&(this._isReplaceVisible=!0,this._replaceInput.width=Qa(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(e.isRevealed||e.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),e.isRegex&&this._findInput.setRegex(this._state.isRegex),e.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),e.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),e.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),e.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),e.searchString||e.matchesCount||e.matchesPosition){const t=this._state.searchString.length>0&&this._state.matchesCount===0;this._domNode.classList.toggle("no-results",t),this._updateMatchesCount(),this._updateButtons()}(e.searchString||e.currentMatch)&&this._layoutViewZone(),e.updateHistory&&this._delayedUpdateHistory(),e.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,vn)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){this._matchesCount.style.minWidth=OM+"px",this._state.matchesCount>=J0?this._matchesCount.title=FNt:this._matchesCount.title="",this._matchesCount.firstChild&&this._matchesCount.removeChild(this._matchesCount.firstChild);let e;if(this._state.matchesCount>0){let t=String(this._state.matchesCount);this._state.matchesCount>=J0&&(t+="+");let i=String(this._state.matchesPosition);i==="0"&&(i="?"),e=pS(INt,i,t)}else e=_Le;this._matchesCount.appendChild(document.createTextNode(e)),kl(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),OM=Math.max(OM,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===_Le)return i===""?L("ariaSearchNoResultEmpty","{0} found",e):L("ariaSearchNoResult","{0} found for '{1}'",e,i);if(t){const r=L("ariaSearchNoResultWithLineNum","{0} found for '{1}', at {2}",e,i,t.startLineNumber+":"+t.startColumn),o=this._codeEditor.getModel();return o&&t.startLineNumber<=o.getLineCount()&&t.startLineNumber>=1?`${o.getLineContent(t.startLineNumber)}, ${r}`:r}return L("ariaSearchNoResultWithLineNumNoCurrentMatch","{0} found for '{1}'",e,i)}_updateToggleSelectionFindButton(){const e=this._codeEditor.getSelection(),t=e?e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn:!1,i=this._toggleSelectionFind.checked;this._isVisible&&(i||t)?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);const e=this._state.searchString.length>0,t=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);const i=!this._codeEditor.getOption(91);this._toggleReplaceBtn.setEnabled(this._isVisible&&i)}_reveal(){if(this._revealTimeouts.forEach(e=>{clearTimeout(e)}),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const e=this._codeEditor.getSelection();switch(this._codeEditor.getOption(41).autoFindInSelection){case"always":this._toggleSelectionFind.checked=!0;break;case"never":this._toggleSelectionFind.checked=!1;break;case"multiline":{const i=!!e&&e.startLineNumber!==e.endLineNumber;this._toggleSelectionFind.checked=i;break}}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout(()=>{this._domNode.classList.add("visible"),this._domNode.setAttribute("aria-hidden","false")},0)),this._revealTimeouts.push(setTimeout(()=>{this._findInput.validate()},200)),this._codeEditor.layoutOverlayWidget(this);let t=!0;if(this._codeEditor.getOption(41).seedSearchStringFromSelection&&e){const i=this._codeEditor.getDomNode();if(i){const r=po(i),o=this._codeEditor.getScrolledVisiblePosition(e.getStartPosition()),s=r.left+(o?o.left:0),a=o?o.top:0;if(this._viewZone&&ae.startLineNumber&&(t=!1);const l=M0e(this._domNode).left;s>l&&(t=!1);const u=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());r.left+(u?u.left:0)>l&&(t=!1)}}}this._showViewZone(t)}}_hide(e){this._revealTimeouts.forEach(t=>{clearTimeout(t)}),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._updateButtons(),this._domNode.classList.remove("visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),e&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(e){if(!this._codeEditor.getOption(41).addExtraSpaceOnTop){this._removeViewZone();return}if(!this._isVisible)return;const i=this._viewZone;this._viewZoneId!==void 0||!i||this._codeEditor.changeViewZones(r=>{i.heightInPx=this._getHeight(),this._viewZoneId=r.addZone(i),this._codeEditor.setScrollTop(e||this._codeEditor.getScrollTop()+i.heightInPx)})}_showViewZone(e=!0){if(!this._isVisible||!this._codeEditor.getOption(41).addExtraSpaceOnTop)return;this._viewZone===void 0&&(this._viewZone=new tj(0));const i=this._viewZone;this._codeEditor.changeViewZones(r=>{if(this._viewZoneId!==void 0){const o=this._getHeight();if(o===i.heightInPx)return;const s=o-i.heightInPx;i.heightInPx=o,r.layoutZone(this._viewZoneId),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+s);return}else{let o=this._getHeight();if(o-=this._codeEditor.getOption(84).top,o<=0)return;i.heightInPx=o,this._viewZoneId=r.addZone(i),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+o)}})}_removeViewZone(){this._codeEditor.changeViewZones(e=>{this._viewZoneId!==void 0&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0))})}_tryUpdateWidgetWidth(){if(!this._isVisible||!this._domNode.isConnected)return;const e=this._codeEditor.getLayoutInfo();if(e.contentWidth<=0){this._domNode.classList.add("hiddenEditor");return}else this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");const i=e.width,r=e.minimap.minimapWidth;let o=!1,s=!1,a=!1;if(this._resized&&Qa(this._domNode)>Ef){this._domNode.style.maxWidth=`${i-28-r-15}px`,this._replaceInput.width=Qa(this._findInput.domNode);return}if(Ef+28+r>=i&&(s=!0),Ef+28+r-OM>=i&&(a=!0),Ef+28+r-OM>=i+50&&(o=!0),this._domNode.classList.toggle("collapsed-find-widget",o),this._domNode.classList.toggle("narrow-find-widget",a),this._domNode.classList.toggle("reduced-find-widget",s),!a&&!o&&(this._domNode.style.maxWidth=`${i-28-r-15}px`),this._findInput.layout({collapsedFindWidget:o,narrowFindWidget:a,reducedFindWidget:s}),this._resized){const l=this._findInput.inputBox.element.clientWidth;l>0&&(this._replaceInput.width=l)}else this._isReplaceVisible&&(this._replaceInput.width=Qa(this._findInput.domNode))}_getHeight(){let e=0;return e+=4,e+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(e+=4,e+=this._replaceInput.inputBox.height+2),e+=4,e}_tryUpdateHeight(){const e=this._getHeight();return this._cachedHeight!==null&&this._cachedHeight===e?!1:(this._cachedHeight=e,this._domNode.style.height=`${e}px`,!0)}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){const e=this._codeEditor.getSelections();e.map(t=>{t.endColumn===1&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(t.endLineNumber-1)));const i=this._state.currentMatch;return t.startLineNumber!==t.endLineNumber&&!J.equalsRange(t,i)?t:null}).filter(t=>!!t),e.length&&this._state.change({searchScope:e},!0)}}_onFindInputMouseDown(e){e.middleButton&&e.stopPropagation()}_onFindInputKeyDown(e){if(e.equals(ILe|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{this._findInput.inputBox.insertAtCursor(` -`),e.preventDefault();return}if(e.equals(2)){this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return DLe(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(e.equals(18))return MLe(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(e){if(e.equals(ILe|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{ha&&Sh&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(L("ctrlEnter.keybindingChanged","Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior.")),this._ctrlEnterReplaceAllWarningPrompted=!0,this._storageService.store(FLe,!0,0,0)),this._replaceInput.inputBox.insertAtCursor(` -`),e.preventDefault();return}if(e.equals(2)){this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(1026)){this._findInput.focus(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return DLe(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(e.equals(18))return MLe(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"))}getVerticalSashLeft(e){return 0}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}_buildDomNode(){this._findInput=this._register(new q8(null,this._contextViewProvider,{width:DNt,label:gNt,placeholder:pNt,appendCaseSensitiveLabel:this._keybindingLabelFor(ur.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(ur.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(ur.ToggleRegexCommand),validation:c=>{if(c.length===0||!this._findInput.getRegex())return null;try{return new RegExp(c,"gu"),null}catch(d){return{content:d.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>SLe(this._keybindingService),inputBoxStyles:WR,toggleStyles:ZR},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown(c=>this._onFindInputKeyDown(c))),this._register(this._findInput.inputBox.onDidChange(()=>{this._ignoreChangeEvent||this._state.change({searchString:this._findInput.getValue()},!0)})),this._register(this._findInput.onDidOptionChange(()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)})),this._register(this._findInput.onCaseSensitiveKeyDown(c=>{c.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),c.preventDefault())})),this._register(this._findInput.onRegexKeyDown(c=>{c.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),c.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(c=>{this._tryUpdateHeight()&&this._showViewZone()})),Ja&&this._register(this._findInput.onMouseDown(c=>this._onFindInputMouseDown(c))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const i=this._register(F2());this._prevBtn=this._register(new cx({label:bNt+this._keybindingLabelFor(ur.PreviousMatchFindAction),icon:hNt,hoverDelegate:i,onTrigger:()=>{Vb(this._codeEditor.getAction(ur.PreviousMatchFindAction)).run().then(void 0,vn)}})),this._nextBtn=this._register(new cx({label:vNt+this._keybindingLabelFor(ur.NextMatchFindAction),icon:mNt,hoverDelegate:i,onTrigger:()=>{Vb(this._codeEditor.getAction(ur.NextMatchFindAction)).run().then(void 0,vn)}}));const r=document.createElement("div");r.className="find-part",r.appendChild(this._findInput.domNode);const o=document.createElement("div");o.className="find-actions",r.appendChild(o),o.appendChild(this._matchesCount),o.appendChild(this._prevBtn.domNode),o.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new $2({icon:uNt,title:yNt+this._keybindingLabelFor(ur.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:i,inputActiveOptionBackground:xt(ly),inputActiveOptionBorder:xt(y6),inputActiveOptionForeground:xt(C6)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let c=this._codeEditor.getSelections();c=c.map(d=>(d.endColumn===1&&d.endLineNumber>d.startLineNumber&&(d=d.setEndPosition(d.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(d.endLineNumber-1))),d.isEmpty()?null:d)).filter(d=>!!d),c.length&&this._state.change({searchScope:c},!0)}}else this._state.change({searchScope:null},!0)})),o.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new cx({label:CNt+this._keybindingLabelFor(ur.CloseFindWidgetCommand),icon:_we,hoverDelegate:i,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:c=>{c.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),c.preventDefault())}})),this._replaceInput=this._register(new ej(null,void 0,{label:wNt,placeholder:SNt,appendPreserveCaseLabel:this._keybindingLabelFor(ur.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>SLe(this._keybindingService),inputBoxStyles:WR,toggleStyles:ZR},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(c=>this._onReplaceInputKeyDown(c))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(c=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(c=>{c.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),c.preventDefault())}));const s=this._register(F2());this._replaceBtn=this._register(new cx({label:xNt+this._keybindingLabelFor(ur.ReplaceOneAction),icon:cNt,hoverDelegate:s,onTrigger:()=>{this._controller.replace()},onKeyDown:c=>{c.equals(1026)&&(this._closeBtn.focus(),c.preventDefault())}})),this._replaceAllBtn=this._register(new cx({label:LNt+this._keybindingLabelFor(ur.ReplaceAllAction),icon:dNt,hoverDelegate:s,onTrigger:()=>{this._controller.replaceAll()}}));const a=document.createElement("div");a.className="replace-part",a.appendChild(this._replaceInput.domNode);const l=document.createElement("div");l.className="replace-actions",a.appendChild(l),l.appendChild(this._replaceBtn.domNode),l.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new cx({label:_Nt,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=Qa(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}})),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.ariaLabel=fNt,this._domNode.role="dialog",this._domNode.style.width=`${Ef}px`,this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(r),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(a),this._resizeSash=this._register(new Ca(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let u=Ef;this._register(this._resizeSash.onDidStart(()=>{u=Qa(this._domNode)})),this._register(this._resizeSash.onDidChange(c=>{this._resized=!0;const d=u+c.startX-c.currentX;if(dh||(this._domNode.style.width=`${d}px`,this._isReplaceVisible&&(this._replaceInput.width=Qa(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const c=Qa(this._domNode);if(c{this._opts.onTrigger(),r.preventDefault()}),this.onkeydown(this._domNode,r=>{var o,s;if(r.equals(10)||r.equals(3)){this._opts.onTrigger(),r.preventDefault();return}(s=(o=this._opts).onKeyDown)===null||s===void 0||s.call(o,r)})}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(e){this._domNode.classList.toggle("disabled",!e),this._domNode.setAttribute("aria-disabled",String(!e)),this._domNode.tabIndex=e?0:-1}setExpanded(e){this._domNode.setAttribute("aria-expanded",String(!!e)),e?(this._domNode.classList.remove(...sn.asClassNameArray(xLe)),this._domNode.classList.add(...sn.asClassNameArray(LLe))):(this._domNode.classList.remove(...sn.asClassNameArray(LLe)),this._domNode.classList.add(...sn.asClassNameArray(xLe)))}}Pc((n,e)=>{const t=n.getColor(o0);t&&e.addRule(`.monaco-editor .findMatch { border: 1px ${rf(n.type)?"dotted":"solid"} ${t}; box-sizing: border-box; }`);const i=n.getColor(Hbt);i&&e.addRule(`.monaco-editor .findScope { border: 1px ${rf(n.type)?"dashed":"solid"} ${i}; }`);const r=n.getColor(Kn);r&&e.addRule(`.monaco-editor .find-widget { border: 1px solid ${r}; }`)});var kLe=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},tm=function(n,e){return function(t,i){e(t,i,n)}},nj;const kNt=524288;function ij(n,e="single",t=!1){if(!n.hasModel())return null;const i=n.getSelection();if(e==="single"&&i.startLineNumber===i.endLineNumber||e==="multiple"){if(i.isEmpty()){const r=n.getConfiguredWordAtPosition(i.getStartPosition());if(r&&t===!1)return r.word}else if(n.getModel().getValueLengthInRange(i)this._onStateChanged(s))),this._model=null,this._register(this._editor.onDidChangeModel(()=>{const s=this._editor.getModel()&&this._state.isRevealed;this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean("editor.matchCase",1,!1),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,!1),isRegex:this._storageService.getBoolean("editor.isRegex",1,!1),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,!1)},!1),s&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(41).loop})}))}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&(this._model.dispose(),this._model=null)}_onStateChanged(e){this.saveQueryState(e),e.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),e.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(e){e.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,1),e.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,1),e.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,1),e.preserveCase&&this._storageService.store("editor.preserveCase",this._state.actualPreserveCase,1,1)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",1,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",1,this._state.isRegex),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!aV.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},!1),this._state.isRevealed||this.highlightFindOptions()}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},!1),this._state.isRevealed||this.highlightFindOptions()}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){let e=this._editor.getSelections();e=e.map(t=>(t.endColumn===1&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._editor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.isEmpty()?null:t)).filter(t=>!!t),e.length&&this._state.change({searchScope:e},!0)}}setSearchString(e){this._state.isRegex&&(e=Ru(e)),this._state.change({searchString:e},!1)}highlightFindOptions(e=!1){}async _start(e,t){if(this.disposeModel(),!this._editor.hasModel())return;const i={...t,isRevealed:!0};if(e.seedSearchStringFromSelection==="single"){const r=ij(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);r&&(this._state.isRegex?i.searchString=Ru(r):i.searchString=r)}else if(e.seedSearchStringFromSelection==="multiple"&&!e.updateSearchScope){const r=ij(this._editor,e.seedSearchStringFromSelection);r&&(i.searchString=r)}if(!i.searchString&&e.seedSearchStringFromGlobalClipboard){const r=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;r&&(i.searchString=r)}if(e.forceRevealReplace||i.isReplaceRevealed?i.isReplaceRevealed=!0:this._findWidgetVisible.get()||(i.isReplaceRevealed=!1),e.updateSearchScope){const r=this._editor.getSelections();r.some(o=>!o.isEmpty())&&(i.searchScope=r)}i.loop=e.loop,this._state.change(i,!1),this._model||(this._model=new PM(this._editor,this._state))}start(e,t){return this._start(e,t)}moveToNextMatch(){return this._model?(this._model.moveToNextMatch(),!0):!1}moveToPrevMatch(){return this._model?(this._model.moveToPrevMatch(),!0):!1}goToMatch(e){return this._model?(this._model.moveToMatch(e),!0):!1}replace(){return this._model?(this._model.replace(),!0):!1}replaceAll(){var e;return this._model?!((e=this._editor.getModel())===null||e===void 0)&&e.isTooLargeForHeapOperation()?(this._notificationService.warn(L("too.large.for.replaceall","The file is too large to perform a replace all operation.")),!1):(this._model.replaceAll(),!0):!1}selectAllMatches(){return this._model?(this._model.selectAllMatches(),this._editor.focus(),!0):!1}async getGlobalBufferTerm(){return this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""}setGlobalBufferTerm(e){this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(e)}};hl.ID="editor.contrib.findController",hl=nj=kLe([tm(1,ln),tm(2,wf),tm(3,gp),tm(4,ko)],hl);let rj=class extends hl{constructor(e,t,i,r,o,s,a,l){super(e,i,a,l,s),this._contextViewService=t,this._keybindingService=r,this._themeService=o,this._widget=null,this._findOptionsWidget=null}async _start(e,t){this._widget||this._createFindWidget();const i=this._editor.getSelection();let r=!1;switch(this._editor.getOption(41).autoFindInSelection){case"always":r=!0;break;case"never":r=!1;break;case"multiline":{r=!!i&&i.startLineNumber!==i.endLineNumber;break}}e.updateSearchScope=e.updateSearchScope||r,await super._start(e,t),this._widget&&(e.shouldFocus===2?this._widget.focusReplaceInput():e.shouldFocus===1&&this._widget.focusFindInput())}highlightFindOptions(e=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!e?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new pV(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService)),this._findOptionsWidget=this._register(new mV(this._editor,this._state,this._keybindingService))}};rj=kLe([tm(1,pp),tm(2,ln),tm(3,Bi),tm(4,jo),tm(5,ko),tm(6,wf),tm(7,gp)],rj),t1e(new e1e({id:ur.StartFindAction,label:L("startFindAction","Find"),alias:"Find",precondition:Oe.or(ne.focus,Oe.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:Q.MenubarEditMenu,group:"3_find",title:L({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}})).addImplementation(0,(n,e,t)=>{const i=hl.get(e);return i?i.start({forceRevealReplace:!1,seedSearchStringFromSelection:e.getOption(41).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:e.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:e.getOption(41).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:e.getOption(41).loop}):!1});const NNt={description:"Open a new In-Editor Find Widget.",args:[{name:"Open a new In-Editor Find Widget args",schema:{properties:{searchString:{type:"string"},replaceString:{type:"string"},isRegex:{type:"boolean"},matchWholeWord:{type:"boolean"},isCaseSensitive:{type:"boolean"},preserveCase:{type:"boolean"},findInSelection:{type:"boolean"}}}}]};class TNt extends Mt{constructor(){super({id:ur.StartFindWithArgs,label:L("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:NNt})}async run(e,t,i){const r=hl.get(t);if(r){const o=i?{searchString:i.searchString,replaceString:i.replaceString,isReplaceRevealed:i.replaceString!==void 0,isRegex:i.isRegex,wholeWord:i.matchWholeWord,matchCase:i.isCaseSensitive,preserveCase:i.preserveCase}:{};await r.start({forceRevealReplace:!1,seedSearchStringFromSelection:r.getState().searchString.length===0&&t.getOption(41).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:t.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:(i==null?void 0:i.findInSelection)||!1,loop:t.getOption(41).loop},o),r.setGlobalBufferTerm(r.getState().searchString)}}}class ENt extends Mt{constructor(){super({id:ur.StartFindWithSelection,label:L("startFindWithSelectionAction","Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(e,t){const i=hl.get(t);i&&(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),i.setGlobalBufferTerm(i.getState().searchString))}}class NLe extends Mt{async run(e,t){const i=hl.get(t);i&&!this._run(i)&&(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:i.getState().searchString.length===0&&t.getOption(41).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:t.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(i))}}class ZNt extends NLe{constructor(){super({id:ur.NextMatchFindAction,label:L("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:ne.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:Oe.and(ne.focus,aV),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}}class WNt extends NLe{constructor(){super({id:ur.PreviousMatchFindAction,label:L("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:ne.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:Oe.and(ne.focus,aV),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class RNt extends Mt{constructor(){super({id:ur.GoToMatchFindAction,label:L("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:kp}),this._highlightDecorations=[]}run(e,t,i){const r=hl.get(t);if(!r)return;const o=r.getState().matchesCount;if(o<1){e.get(ko).notify({severity:qW.Warning,message:L("findMatchAction.noResults","No matches. Try searching for something else.")});return}const a=e.get(Ay).createInputBox();a.placeholder=L("findMatchAction.inputPlaceHolder","Type a number to go to a specific match (between 1 and {0})",o);const l=c=>{const d=parseInt(c);if(isNaN(d))return;const h=r.getState().matchesCount;if(d>0&&d<=h)return d-1;if(d<0&&d>=-h)return h+d},u=c=>{const d=l(c);if(typeof d=="number"){a.validationMessage=void 0,r.goToMatch(d);const h=r.getState().currentMatch;h&&this.addDecorations(t,h)}else a.validationMessage=L("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",r.getState().matchesCount),this.clearDecorations(t)};a.onDidChangeValue(c=>{u(c)}),a.onDidAccept(()=>{const c=l(a.value);typeof c=="number"?(r.goToMatch(c),a.hide()):a.validationMessage=L("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",r.getState().matchesCount)}),a.onDidHide(()=>{this.clearDecorations(t),a.dispose()}),a.show()}clearDecorations(e){e.changeDecorations(t=>{this._highlightDecorations=t.deltaDecorations(this._highlightDecorations,[])})}addDecorations(e,t){e.changeDecorations(i=>{this._highlightDecorations=i.deltaDecorations(this._highlightDecorations,[{range:t,options:{description:"find-match-quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"find-match-quick-access-range-highlight-overview",overviewRuler:{color:zr(_vt),position:Oc.Full}}}])})}}class TLe extends Mt{async run(e,t){const i=hl.get(t);if(!i)return;const r=ij(t,"single",!1);r&&i.setSearchString(r),this._run(i)||(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(i))}}class VNt extends TLe{constructor(){super({id:ur.NextSelectionMatchFindAction,label:L("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:ne.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}class ANt extends TLe{constructor(){super({id:ur.PreviousSelectionMatchFindAction,label:L("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:ne.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}}t1e(new e1e({id:ur.StartFindReplaceAction,label:L("startReplace","Replace"),alias:"Replace",precondition:Oe.or(ne.focus,Oe.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:Q.MenubarEditMenu,group:"3_find",title:L({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}})).addImplementation(0,(n,e,t)=>{if(!e.hasModel()||e.getOption(91))return!1;const i=hl.get(e);if(!i)return!1;const r=e.getSelection(),o=i.isFindInputFocused(),s=!r.isEmpty()&&r.startLineNumber===r.endLineNumber&&e.getOption(41).seedSearchStringFromSelection!=="never"&&!o,a=o||s?2:1;return i.start({forceRevealReplace:!0,seedSearchStringFromSelection:s?"single":"none",seedSearchStringFromNonEmptySelection:e.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:e.getOption(41).seedSearchStringFromSelection!=="never",shouldFocus:a,shouldAnimate:!0,updateSearchScope:!1,loop:e.getOption(41).loop})}),yi(hl.ID,rj,0),tt(TNt),tt(ENt),tt(ZNt),tt(WNt),tt(RNt),tt(VNt),tt(ANt);const nm=Ko.bindToContribution(hl.get);gt(new nm({id:ur.CloseFindWidgetCommand,precondition:kp,handler:n=>n.closeFindWidget(),kbOpts:{weight:105,kbExpr:Oe.and(ne.focus,Oe.not("isComposing")),primary:9,secondary:[1033]}})),gt(new nm({id:ur.ToggleCaseSensitiveCommand,precondition:void 0,handler:n=>n.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:ne.focus,primary:lV.primary,mac:lV.mac,win:lV.win,linux:lV.linux}})),gt(new nm({id:ur.ToggleWholeWordCommand,precondition:void 0,handler:n=>n.toggleWholeWords(),kbOpts:{weight:105,kbExpr:ne.focus,primary:uV.primary,mac:uV.mac,win:uV.win,linux:uV.linux}})),gt(new nm({id:ur.ToggleRegexCommand,precondition:void 0,handler:n=>n.toggleRegex(),kbOpts:{weight:105,kbExpr:ne.focus,primary:cV.primary,mac:cV.mac,win:cV.win,linux:cV.linux}})),gt(new nm({id:ur.ToggleSearchScopeCommand,precondition:void 0,handler:n=>n.toggleSearchScope(),kbOpts:{weight:105,kbExpr:ne.focus,primary:dV.primary,mac:dV.mac,win:dV.win,linux:dV.linux}})),gt(new nm({id:ur.TogglePreserveCaseCommand,precondition:void 0,handler:n=>n.togglePreserveCase(),kbOpts:{weight:105,kbExpr:ne.focus,primary:hV.primary,mac:hV.mac,win:hV.win,linux:hV.linux}})),gt(new nm({id:ur.ReplaceOneAction,precondition:kp,handler:n=>n.replace(),kbOpts:{weight:105,kbExpr:ne.focus,primary:3094}})),gt(new nm({id:ur.ReplaceOneAction,precondition:kp,handler:n=>n.replace(),kbOpts:{weight:105,kbExpr:Oe.and(ne.focus,j8),primary:3}})),gt(new nm({id:ur.ReplaceAllAction,precondition:kp,handler:n=>n.replaceAll(),kbOpts:{weight:105,kbExpr:ne.focus,primary:2563}})),gt(new nm({id:ur.ReplaceAllAction,precondition:kp,handler:n=>n.replaceAll(),kbOpts:{weight:105,kbExpr:Oe.and(ne.focus,j8),primary:void 0,mac:{primary:2051}}})),gt(new nm({id:ur.SelectAllMatchesAction,precondition:kp,handler:n=>n.selectAllMatches(),kbOpts:{weight:105,kbExpr:ne.focus,primary:515}}));const GNt={0:" ",1:"u",2:"r"},ELe=65535,im=16777215,ZLe=4278190080;class oj{constructor(e){const t=Math.ceil(e/32);this._states=new Uint32Array(t)}get(e){const t=e/32|0,i=e%32;return(this._states[t]&1<ELe)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new oj(e.length),this._userDefinedStates=new oj(e.length),this._recoveredStates=new oj(e.length),this._types=i,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;const e=[],t=(i,r)=>{const o=e[e.length-1];return this.getStartLineNumber(o)<=i&&this.getEndLineNumber(o)>=r};for(let i=0,r=this._startIndexes.length;iim||s>im)throw new Error("startLineNumber or endLineNumber must not exceed "+im);for(;e.length>0&&!t(o,s);)e.pop();const a=e.length>0?e[e.length-1]:-1;e.push(i),this._startIndexes[i]=o+((a&255)<<24),this._endIndexes[i]=s+((a&65280)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(e){return this._startIndexes[e]&im}getEndLineNumber(e){return this._endIndexes[e]&im}getType(e){return this._types?this._types[e]:void 0}hasTypes(){return!!this._types}isCollapsed(e){return this._collapseStates.get(e)}setCollapsed(e,t){this._collapseStates.set(e,t)}isUserDefined(e){return this._userDefinedStates.get(e)}setUserDefined(e,t){return this._userDefinedStates.set(e,t)}isRecovered(e){return this._recoveredStates.get(e)}setRecovered(e,t){return this._recoveredStates.set(e,t)}getSource(e){return this.isUserDefined(e)?1:this.isRecovered(e)?2:0}setSource(e,t){t===1?(this.setUserDefined(e,!0),this.setRecovered(e,!1)):t===2?(this.setUserDefined(e,!1),this.setRecovered(e,!0)):(this.setUserDefined(e,!1),this.setRecovered(e,!1))}setCollapsedAllOfType(e,t){let i=!1;if(this._types)for(let r=0;r>>24)+((this._endIndexes[e]&ZLe)>>>16);return t===ELe?-1:t}contains(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t}findIndex(e){let t=0,i=this._startIndexes.length;if(i===0)return-1;for(;t=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);t!==-1;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1}toString(){const e=[];for(let t=0;tArray.isArray(g)?v=>vv=c.startLineNumber))u&&u.startLineNumber===c.startLineNumber?(c.source===1?g=c:(g=u,g.isCollapsed=c.isCollapsed&&u.endLineNumber===c.endLineNumber,g.source=0),u=o(++a)):(g=c,c.isCollapsed&&c.source===0&&(g.source=2)),c=s(++l);else{let b=l,v=c;for(;;){if(!v||v.startLineNumber>u.endLineNumber){g=u;break}if(v.source===1&&v.endLineNumber>u.endLineNumber)break;v=s(++b)}u=o(++a)}if(g){for(;h&&h.endLineNumberg.startLineNumber&&g.startLineNumber>m&&g.endLineNumber<=i&&(!h||h.endLineNumber>=g.endLineNumber)&&(f.push(g),m=g.startLineNumber,h&&d.push(h),h=g)}}return f}}class XNt{constructor(e,t){this.ranges=e,this.index=t}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(e){return e.startLineNumber<=this.startLineNumber&&e.endLineNumber>=this.endLineNumber}containsLine(e){return this.startLineNumber<=e&&e<=this.endLineNumber}}class PNt{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new be,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new ec(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(e){if(!e.length)return;e=e.sort((i,r)=>i.regionIndex-r.regionIndex);const t={};this._decorationProvider.changeDecorations(i=>{let r=0,o=-1,s=-1;const a=l=>{for(;rs&&(s=u),r++}};for(const l of e){const u=l.regionIndex,c=this._editorDecorationIds[u];if(c&&!t[c]){t[c]=!0,a(u);const d=!this._regions.isCollapsed(u);this._regions.setCollapsed(u,d),o=Math.max(o,this._regions.getEndLineNumber(u))}}a(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:e})}removeManualRanges(e){const t=new Array,i=r=>{for(const o of e)if(!(o.startLineNumber>r.endLineNumber||r.startLineNumber>o.endLineNumber))return!0;return!1};for(let r=0;ri&&(i=a)}this._decorationProvider.changeDecorations(r=>this._editorDecorationIds=r.deltaDecorations(this._editorDecorationIds,t)),this._regions=e,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(e=[]){const t=(r,o)=>{for(const s of e)if(r=s.endLineNumber||s.startLineNumber<1||s.endLineNumber>i)continue;const a=this._getLinesChecksum(s.startLineNumber+1,s.endLineNumber);t.push({startLineNumber:s.startLineNumber,endLineNumber:s.endLineNumber,isCollapsed:s.isCollapsed,source:s.source,checksum:a})}return t.length>0?t:void 0}applyMemento(e){var t,i;if(!Array.isArray(e))return;const r=[],o=this._textModel.getLineCount();for(const a of e){if(a.startLineNumber>=a.endLineNumber||a.startLineNumber<1||a.endLineNumber>o)continue;const l=this._getLinesChecksum(a.startLineNumber+1,a.endLineNumber);(!a.checksum||l===a.checksum)&&r.push({startLineNumber:a.startLineNumber,endLineNumber:a.endLineNumber,type:void 0,isCollapsed:(t=a.isCollapsed)!==null&&t!==void 0?t:!0,source:(i=a.source)!==null&&i!==void 0?i:0})}const s=ec.sanitizeAndMerge(this._regions,r,o);this.updatePost(ec.fromFoldRanges(s))}_getLinesChecksum(e,t){return e9(this._textModel.getLineContent(e)+this._textModel.getLineContent(t))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(e,t){const i=[];if(this._regions){let r=this._regions.findRange(e),o=1;for(;r>=0;){const s=this._regions.toRegion(r);(!t||t(s,o))&&i.push(s),o++,r=s.parentIndex}}return i}getRegionAtLine(e){if(this._regions){const t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null}getRegionsInside(e,t){const i=[],r=e?e.regionIndex+1:0,o=e?e.endLineNumber:Number.MAX_VALUE;if(t&&t.length===2){const s=[];for(let a=r,l=this._regions.length;a0&&!u.containedBy(s[s.length-1]);)s.pop();s.push(u),t(u,s.length)&&i.push(u)}else break}}else for(let s=r,a=this._regions.length;s1){const a=n.getRegionsInside(o,(l,u)=>l.isCollapsed!==s&&u0)for(const o of i){const s=n.getRegionAtLine(o);if(s&&(s.isCollapsed!==e&&r.push(s),t>1)){const a=n.getRegionsInside(s,(l,u)=>l.isCollapsed!==e&&us.isCollapsed!==e&&aa.isCollapsed!==e&&l<=t);r.push(...s)}n.toggleCollapseState(r)}function ONt(n,e,t){const i=[];for(const r of t){const o=n.getAllRegionsAtLine(r,s=>s.isCollapsed!==e);o.length>0&&i.push(o[0])}n.toggleCollapseState(i)}function BNt(n,e,t,i){const r=(s,a)=>a===e&&s.isCollapsed!==t&&!i.some(l=>s.containsLine(l)),o=n.getRegionsInside(null,r);n.toggleCollapseState(o)}function VLe(n,e,t){const i=[];for(const s of t){const a=n.getAllRegionsAtLine(s,void 0);a.length>0&&i.push(a[0])}const r=s=>i.every(a=>!a.containedBy(s)&&!s.containedBy(a))&&s.isCollapsed!==e,o=n.getRegionsInside(null,r);n.toggleCollapseState(o)}function sj(n,e,t){const i=n.textModel,r=n.regions,o=[];for(let s=r.length-1;s>=0;s--)if(t!==r.isCollapsed(s)){const a=r.getStartLineNumber(s);e.test(i.getLineContent(a))&&o.push(r.toRegion(s))}n.toggleCollapseState(o)}function aj(n,e,t){const i=n.regions,r=[];for(let o=i.length-1;o>=0;o--)t!==i.isCollapsed(o)&&e===i.getType(o)&&r.push(i.toRegion(o));n.toggleCollapseState(r)}function zNt(n,e){let t=null;const i=e.getRegionAtLine(n);if(i!==null&&(t=i.startLineNumber,n===t)){const r=i.parentIndex;r!==-1?t=e.regions.getStartLineNumber(r):t=null}return t}function HNt(n,e){let t=e.getRegionAtLine(n);if(t!==null&&t.startLineNumber===n){if(n!==t.startLineNumber)return t.startLineNumber;{const i=t.parentIndex;let r=0;for(i!==-1&&(r=e.regions.getStartLineNumber(t.parentIndex));t!==null;)if(t.regionIndex>0){if(t=e.regions.toRegion(t.regionIndex-1),t.startLineNumber<=r)return null;if(t.parentIndex===i)return t.startLineNumber}else return null}}else if(e.regions.length>0)for(t=e.regions.toRegion(e.regions.length-1);t!==null;){if(t.startLineNumber0?t=e.regions.toRegion(t.regionIndex-1):t=null}return null}function YNt(n,e){let t=e.getRegionAtLine(n);if(t!==null&&t.startLineNumber===n){const i=t.parentIndex;let r=0;if(i!==-1)r=e.regions.getEndLineNumber(t.parentIndex);else{if(e.regions.length===0)return null;r=e.regions.getEndLineNumber(e.regions.length-1)}for(;t!==null;)if(t.regionIndex=r)return null;if(t.parentIndex===i)return t.startLineNumber}else return null}else if(e.regions.length>0)for(t=e.regions.toRegion(0);t!==null;){if(t.startLineNumber>n)return t.startLineNumber;t.regionIndexthis.updateHiddenRanges()),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(e){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=e.changes.some(t=>t.range.endLineNumber!==t.range.startLineNumber||h0(t.text)[0]!==0))}updateHiddenRanges(){let e=!1;const t=[];let i=0,r=0,o=Number.MAX_VALUE,s=-1;const a=this._foldingModel.regions;for(;i0}isHidden(e){return ALe(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let r=null;const o=s=>((!r||!KNt(s,r))&&(r=ALe(this._hiddenRanges,s)),r?r.startLineNumber-1:null);for(let s=0,a=e.length;s0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function KNt(n,e){return n>=e.startLineNumber&&n<=e.endLineNumber}function ALe(n,e){const t=jI(n,i=>e=0&&n[t].endLineNumber>=e?n[t]:null}const JNt=5e3,jNt="indent";class lj{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=jNt}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,r=t&&t.markers;return Promise.resolve(qNt(this.editorModel,i,r,this.foldingRangesLimit))}}let QNt=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>im||t>im)return;const r=this._length;this._startIndexes[r]=e,this._endIndexes[r]=t,this._length++,i<1e3&&(this._indentOccurrences[i]=(this._indentOccurrences[i]||0)+1)}toIndentRanges(e){const t=this._foldingRangesLimit.limit;if(this._length<=t){this._foldingRangesLimit.update(this._length,!1);const i=new Uint32Array(this._length),r=new Uint32Array(this._length);for(let o=this._length-1,s=0;o>=0;o--,s++)i[s]=this._startIndexes[o],r[s]=this._endIndexes[o];return new ec(i,r)}else{this._foldingRangesLimit.update(this._length,t);let i=0,r=this._indentOccurrences.length;for(let l=0;lt){r=l;break}i+=u}}const o=e.getOptions().tabSize,s=new Uint32Array(t),a=new Uint32Array(t);for(let l=this._length-1,u=0;l>=0;l--){const c=this._startIndexes[l],d=e.getLineContent(c),h=DW(d,o);(h{}};function qNt(n,e,t,i=$Nt){const r=n.getOptions().tabSize,o=new QNt(i);let s;t&&(s=new RegExp(`(${t.start.source})|(?:${t.end.source})`));const a=[],l=n.getLineCount()+1;a.push({indent:-1,endAbove:l,line:l});for(let u=n.getLineCount();u>0;u--){const c=n.getLineContent(u),d=DW(c,r);let h=a[a.length-1];if(d===-1){e&&(h.endAbove=u);continue}let m;if(s&&(m=c.match(s)))if(m[1]){let f=a.length-1;for(;f>0&&a[f].indent!==-2;)f--;if(f>0){a.length=f+1,h=a[f],o.insertFirst(u,h.line,d),h.line=u,h.indent=d,h.endAbove=u;continue}}else{a.push({indent:-2,endAbove:u,line:u});continue}if(h.indent>d){do a.pop(),h=a[a.length-1];while(h.indent>d);const f=h.endAbove-1;f-u>=1&&o.insertFirst(u,f,d)}h.indent===d?h.endAbove=u:a.push({indent:d,endAbove:u,line:u})}return o.toIndentRanges(n)}const eTt=re("editor.foldBackground",{light:zt(r0,.3),dark:zt(r0,.3),hcDark:null,hcLight:null},L("foldBackgroundBackground","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);re("editorGutter.foldingControlForeground",{dark:$m,light:$m,hcDark:$m,hcLight:$m},L("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const bV=so("folding-expanded",ut.chevronDown,L("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),vV=so("folding-collapsed",ut.chevronRight,L("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),GLe=so("folding-manual-collapsed",vV,L("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),XLe=so("folding-manual-expanded",bV,L("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),uj={color:zr(eTt),position:1},hx=L("linesCollapsed","Click to expand the range."),yV=L("linesExpanded","Click to collapse the range.");class No{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?No.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?No.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:No.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:No.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?No.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:No.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?No.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:No.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?No.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:No.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?No.MANUALLY_EXPANDED_VISUAL_DECORATION:No.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}}No.COLLAPSED_VISUAL_DECORATION=yn.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:hx,firstLineDecorationClassName:sn.asClassName(vV)}),No.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=yn.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:uj,isWholeLine:!0,linesDecorationsTooltip:hx,firstLineDecorationClassName:sn.asClassName(vV)}),No.MANUALLY_COLLAPSED_VISUAL_DECORATION=yn.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:hx,firstLineDecorationClassName:sn.asClassName(GLe)}),No.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=yn.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:uj,isWholeLine:!0,linesDecorationsTooltip:hx,firstLineDecorationClassName:sn.asClassName(GLe)}),No.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=yn.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:hx}),No.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=yn.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:uj,isWholeLine:!0,linesDecorationsTooltip:hx}),No.EXPANDED_VISUAL_DECORATION=yn.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+sn.asClassName(bV),linesDecorationsTooltip:yV}),No.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=yn.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:sn.asClassName(bV),linesDecorationsTooltip:yV}),No.MANUALLY_EXPANDED_VISUAL_DECORATION=yn.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+sn.asClassName(XLe),linesDecorationsTooltip:yV}),No.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=yn.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:sn.asClassName(XLe),linesDecorationsTooltip:yV}),No.NO_CONTROLS_EXPANDED_RANGE_DECORATION=yn.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),No.HIDDEN_RANGE_DECORATION=yn.register({description:"folding-hidden-range-decoration",stickiness:1});const tTt={},nTt="syntax";class cj{constructor(e,t,i,r,o){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=r,this.fallbackRangeProvider=o,this.id=nTt,this.disposables=new Je,o&&this.disposables.add(o);for(const s of t)typeof s.onDidChange=="function"&&this.disposables.add(s.onDidChange(i))}compute(e){return iTt(this.providers,this.editorModel,e).then(t=>{var i,r;return t?oTt(t,this.foldingRangesLimit):(r=(i=this.fallbackRangeProvider)===null||i===void 0?void 0:i.compute(e))!==null&&r!==void 0?r:null})}dispose(){this.disposables.dispose()}}function iTt(n,e,t){let i=null;const r=n.map((o,s)=>Promise.resolve(o.provideFoldingRanges(e,tTt,t)).then(a=>{if(!t.isCancellationRequested&&Array.isArray(a)){Array.isArray(i)||(i=[]);const l=e.getLineCount();for(const u of a)u.start>0&&u.end>u.start&&u.end<=l&&i.push({start:u.start,end:u.end,rank:s,kind:u.kind})}},qr));return Promise.all(r).then(o=>i)}class rTt{constructor(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}add(e,t,i,r){if(e>im||t>im)return;const o=this._length;this._startIndexes[o]=e,this._endIndexes[o]=t,this._nestingLevels[o]=r,this._types[o]=i,this._length++,r<30&&(this._nestingLevelCounts[r]=(this._nestingLevelCounts[r]||0)+1)}toIndentRanges(){const e=this._foldingRangesLimit.limit;if(this._length<=e){this._foldingRangesLimit.update(this._length,!1);const t=new Uint32Array(this._length),i=new Uint32Array(this._length);for(let r=0;re){i=a;break}t+=l}}const r=new Uint32Array(e),o=new Uint32Array(e),s=[];for(let a=0,l=0;a{let l=s.start-a.start;return l===0&&(l=s.rank-a.rank),l}),i=new rTt(e);let r;const o=[];for(const s of t)if(!r)r=s,i.add(s.start,s.end,s.kind&&s.kind.value,o.length);else if(s.start>r.start)if(s.end<=r.end)o.push(r),r=s,i.add(s.start,s.end,s.kind&&s.kind.value,o.length);else{if(s.start>r.end){do r=o.pop();while(r&&s.start>r.end);r&&o.push(r),r=s}i.add(s.start,s.end,s.kind&&s.kind.value,o.length)}return i.toIndentRanges()}var sTt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},BM=function(n,e){return function(t,i){e(t,i,n)}},mx;const Sa=new wt("foldingEnabled",!1);let Tp=mx=class extends Ie{static get(e){return e.getContribution(mx.ID)}static getFoldingRangeProviders(e,t){var i,r;const o=e.foldingRangeProvider.ordered(t);return(r=(i=mx._foldingRangeSelector)===null||i===void 0?void 0:i.call(mx,o,t))!==null&&r!==void 0?r:o}constructor(e,t,i,r,o,s){super(),this.contextKeyService=t,this.languageConfigurationService=i,this.languageFeaturesService=s,this.localToDispose=this._register(new Je),this.editor=e,this._foldingLimitReporter=new PLe(e);const a=this.editor.getOptions();this._isEnabled=a.get(43),this._useFoldingProviders=a.get(44)!=="indentation",this._unfoldOnClickAfterEndOfLine=a.get(48),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=a.get(46),this.updateDebounceInfo=o.for(s.foldingRangeProvider,"Folding",{min:200}),this.foldingModel=null,this.hiddenRangeModel=null,this.rangeProvider=null,this.foldingRegionPromise=null,this.foldingModelPromise=null,this.updateScheduler=null,this.cursorChangedScheduler=null,this.mouseDownInfo=null,this.foldingDecorationProvider=new No(e),this.foldingDecorationProvider.showFoldingControls=a.get(110),this.foldingDecorationProvider.showFoldingHighlights=a.get(45),this.foldingEnabled=Sa.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(l=>{if(l.hasChanged(43)&&(this._isEnabled=this.editor.getOptions().get(43),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),l.hasChanged(47)&&this.onModelChanged(),l.hasChanged(110)||l.hasChanged(45)){const u=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=u.get(110),this.foldingDecorationProvider.showFoldingHighlights=u.get(45),this.triggerFoldingModelChanged()}l.hasChanged(44)&&(this._useFoldingProviders=this.editor.getOptions().get(44)!=="indentation",this.onFoldingStrategyChanged()),l.hasChanged(48)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(48)),l.hasChanged(46)&&(this._foldingImportsByDefault=this.editor.getOptions().get(46))})),this.onModelChanged()}saveViewState(){const e=this.editor.getModel();if(!e||!this._isEnabled||e.isTooLargeForTokenization())return{};if(this.foldingModel){const t=this.foldingModel.getMemento(),i=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:i,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(e){const t=this.editor.getModel();if(!(!t||!this._isEnabled||t.isTooLargeForTokenization()||!this.hiddenRangeModel)&&e&&(this._currentModelHasFoldedImports=!!e.foldedImports,e.collapsedRegions&&e.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(e.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();const e=this.editor.getModel();!this._isEnabled||!e||e.isTooLargeForTokenization()||(this._currentModelHasFoldedImports=!1,this.foldingModel=new PNt(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new UNt(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(t=>this.onHiddenRangesChanges(t))),this.updateScheduler=new Fd(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new Ri(()=>this.revealCursor(),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelContent(t=>this.onDidChangeModelContent(t))),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown(t=>this.onEditorMouseDown(t))),this.localToDispose.add(this.editor.onMouseUp(t=>this.onEditorMouseUp(t))),this.localToDispose.add({dispose:()=>{var t,i;this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),(t=this.updateScheduler)===null||t===void 0||t.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,(i=this.rangeProvider)===null||i===void 0||i.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){var e;(e=this.rangeProvider)===null||e===void 0||e.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(e){if(this.rangeProvider)return this.rangeProvider;const t=new lj(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const i=mx.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new cj(e,i,()=>this.triggerFoldingModelChanged(),this._foldingLimitReporter,t))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(e){var t;(t=this.hiddenRangeModel)===null||t===void 0||t.notifyChangeModelContent(e),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger(()=>{const e=this.foldingModel;if(!e)return null;const t=new Js,i=this.getRangeProvider(e.textModel),r=this.foldingRegionPromise=rs(o=>i.compute(o));return r.then(o=>{if(o&&r===this.foldingRegionPromise){let s;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const c=o.setCollapsedAllOfType(Zd.Imports.value,!0);c&&(s=zh.capture(this.editor),this._currentModelHasFoldedImports=c)}const a=this.editor.getSelections(),l=a?a.map(c=>c.startLineNumber):[];e.update(o,l),s==null||s.restore(this.editor);const u=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=u)}return e})}).then(void 0,e=>(vn(e),null)))}onHiddenRangesChanges(e){if(this.hiddenRangeModel&&e.length&&!this._restoringViewState){const t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(e,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const e=this.getFoldingModel();e&&e.then(t=>{if(t){const i=this.editor.getSelections();if(i&&i.length>0){const r=[];for(const o of i){const s=o.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(s)&&r.push(...t.getAllRegionsAtLine(s,a=>a.isCollapsed&&s>a.startLineNumber))}r.length&&(t.toggleCollapseState(r),this.reveal(i[0].getPosition()))}}}).then(void 0,vn)}onEditorMouseDown(e){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!e.target||!e.target.range||!e.event.leftButton&&!e.event.middleButton)return;const t=e.target.range;let i=!1;switch(e.target.type){case 4:{const r=e.target.detail,o=e.target.element.offsetLeft;if(r.offsetX-o<4)return;i=!0;break}case 7:{if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!e.target.detail.isAfterLines)break;return}case 6:{if(this.hiddenRangeModel.hasRanges()){const r=this.editor.getModel();if(r&&t.startColumn===r.getLineMaxColumn(t.startLineNumber))break}return}default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:i}}onEditorMouseUp(e){const t=this.foldingModel;if(!t||!this.mouseDownInfo||!e.target)return;const i=this.mouseDownInfo.lineNumber,r=this.mouseDownInfo.iconClicked,o=e.target.range;if(!o||o.startLineNumber!==i)return;if(r){if(e.target.type!==4)return}else{const a=this.editor.getModel();if(!a||o.startColumn!==a.getLineMaxColumn(i))return}const s=t.getRegionAtLine(i);if(s&&s.startLineNumber===i){const a=s.isCollapsed;if(r||a){const l=e.event.altKey;let u=[];if(l){const c=h=>!h.containedBy(s)&&!s.containedBy(h),d=t.getRegionsInside(null,c);for(const h of d)h.isCollapsed&&u.push(h);u.length===0&&(u=d)}else{const c=e.event.middleButton||e.event.shiftKey;if(c)for(const d of t.getRegionsInside(s))d.isCollapsed===a&&u.push(d);(a||!c||u.length===0)&&u.push(s)}t.toggleCollapseState(u),this.reveal({lineNumber:i,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}};Tp.ID="editor.contrib.folding",Tp=mx=sTt([BM(1,ln),BM(2,tr),BM(3,ko),BM(4,$c),BM(5,Zt)],Tp);class PLe{constructor(e){this.editor=e,this._onDidChange=new be,this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(47)}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}class Ea extends Mt{runEditorCommand(e,t,i){const r=e.get(tr),o=Tp.get(t);if(!o)return;const s=o.getFoldingModel();if(s)return this.reportTelemetry(e,t),s.then(a=>{if(a){this.invoke(o,a,t,i,r);const l=t.getSelection();l&&o.reveal(l.getStartPosition())}})}getSelectedLines(e){const t=e.getSelections();return t?t.map(i=>i.startLineNumber):[]}getLineNumbers(e,t){return e&&e.selectionLines?e.selectionLines.map(i=>i+1):this.getSelectedLines(t)}run(e,t){}}function OLe(n){if(!iu(n)){if(!Ua(n))return!1;const e=n;if(!iu(e.levels)&&!Rb(e.levels)||!iu(e.direction)&&!Ml(e.direction)||!iu(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(Rb)))return!1}return!0}class aTt extends Ea{constructor(){super({id:"editor.unfold",label:L("unfoldAction.label","Unfold"),alias:"Unfold",precondition:Sa,kbOpts:{kbExpr:ne.editorTextFocus,primary:3166,mac:{primary:2654},weight:100},metadata:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:`Property-value pairs that can be passed through this argument: +`),this.list.style(e)}getSelectedElements(){return this.list.getSelectedElements()}getSelection(){return this.list.getSelection()}getFocus(){return this.list.getFocus()}dispose(){this.disposables.dispose()}}f3.InstanceCount=0;class $2 extends Hu{constructor(e){var t;super(),this._onChange=this._register(new be),this.onChange=this._onChange.event,this._onKeyDown=this._register(new be),this.onKeyDown=this._onKeyDown.event,this._opts=e,this._checked=this._opts.isChecked;const i=["monaco-custom-toggle"];this._opts.icon&&(this._icon=this._opts.icon,i.push(...sn.asClassNameArray(this._icon))),this._opts.actionClassName&&i.push(...this._opts.actionClassName.split(" ")),this._checked&&i.push("checked"),this.domNode=document.createElement("div"),this._hover=this._register(Wd((t=e.hoverDelegate)!==null&&t!==void 0?t:Pl("mouse"),this.domNode,this._opts.title)),this.domNode.classList.add(...i),this._opts.notFocusable||(this.domNode.tabIndex=0),this.domNode.setAttribute("role","checkbox"),this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.setAttribute("aria-label",this._opts.title),this.applyStyles(),this.onclick(this.domNode,r=>{this.enabled&&(this.checked=!this._checked,this._onChange.fire(!1),r.preventDefault())}),this._register(this.ignoreGesture(this.domNode)),this.onkeydown(this.domNode,r=>{if(r.keyCode===10||r.keyCode===3){this.checked=!this._checked,this._onChange.fire(!0),r.preventDefault(),r.stopPropagation();return}this._onKeyDown.fire(r)})}get enabled(){return this.domNode.getAttribute("aria-disabled")!=="true"}focus(){this.domNode.focus()}get checked(){return this._checked}set checked(e){this._checked=e,this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.classList.toggle("checked",this._checked),this.applyStyles()}width(){return 22}applyStyles(){this.domNode&&(this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder||"",this.domNode.style.color=this._checked&&this._opts.inputActiveOptionForeground||"inherit",this.domNode.style.backgroundColor=this._checked&&this._opts.inputActiveOptionBackground||"")}enable(){this.domNode.setAttribute("aria-disabled",String(!1))}disable(){this.domNode.setAttribute("aria-disabled",String(!0))}}const XDt=_("caseDescription","Match Case"),PDt=_("wordsDescription","Match Whole Word"),ODt=_("regexDescription","Use Regular Expression");class txe extends $2{constructor(e){var t;super({icon:ut.caseSensitive,title:XDt+e.appendTitle,isChecked:e.isChecked,hoverDelegate:(t=e.hoverDelegate)!==null&&t!==void 0?t:Pl("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class nxe extends $2{constructor(e){var t;super({icon:ut.wholeWord,title:PDt+e.appendTitle,isChecked:e.isChecked,hoverDelegate:(t=e.hoverDelegate)!==null&&t!==void 0?t:Pl("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class ixe extends $2{constructor(e){var t;super({icon:ut.regex,title:ODt+e.appendTitle,isChecked:e.isChecked,hoverDelegate:(t=e.hoverDelegate)!==null&&t!==void 0?t:Pl("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class BDt{constructor(e,t=0,i=e.length,r=t-1){this.items=e,this.start=t,this.end=i,this.index=r}current(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]}next(){return this.index=Math.min(this.index+1,this.end),this.current()}previous(){return this.index=Math.max(this.index-1,this.start-1),this.current()}first(){return this.index=this.start,this.current()}last(){return this.index=this.end-1,this.current()}}class zDt{constructor(e=[],t=10){this._initialize(e),this._limit=t,this._onChange()}getHistory(){return this._elements}add(e){this._history.delete(e),this._history.add(e),this._onChange()}next(){return this._navigator.next()}previous(){return this._currentPosition()!==0?this._navigator.previous():null}current(){return this._navigator.current()}first(){return this._navigator.first()}last(){return this._navigator.last()}isLast(){return this._currentPosition()>=this._elements.length-1}isNowhere(){return this._navigator.current()===null}has(e){return this._history.has(e)}_onChange(){this._reduceToLimit();const e=this._elements;this._navigator=new BDt(e,0,e.length,e.length)}_reduceToLimit(){const e=this._elements;e.length>this._limit&&this._initialize(e.slice(e.length-this._limit))}_currentPosition(){const e=this._navigator.current();return e?this._elements.indexOf(e):-1}_initialize(e){this._history=new Set;for(const t of e)this._history.add(t)}get _elements(){const e=[];return this._history.forEach(t=>e.push(t)),e}}const wN=Ct;let HDt=class extends Hu{constructor(e,t,i){var r;super(),this.state="idle",this.maxHeight=Number.POSITIVE_INFINITY,this._onDidChange=this._register(new be),this.onDidChange=this._onDidChange.event,this._onDidHeightChange=this._register(new be),this.onDidHeightChange=this._onDidHeightChange.event,this.contextViewProvider=t,this.options=i,this.message=null,this.placeholder=this.options.placeholder||"",this.tooltip=(r=this.options.tooltip)!==null&&r!==void 0?r:this.placeholder||"",this.ariaLabel=this.options.ariaLabel||"",this.options.validationOptions&&(this.validation=this.options.validationOptions.validation),this.element=je(e,wN(".monaco-inputbox.idle"));const o=this.options.flexibleHeight?"textarea":"input",s=je(this.element,wN(".ibwrapper"));if(this.input=je(s,wN(o+".input.empty")),this.input.setAttribute("autocorrect","off"),this.input.setAttribute("autocapitalize","off"),this.input.setAttribute("spellcheck","false"),this.onfocus(this.input,()=>this.element.classList.add("synthetic-focus")),this.onblur(this.input,()=>this.element.classList.remove("synthetic-focus")),this.options.flexibleHeight){this.maxHeight=typeof this.options.flexibleMaxHeight=="number"?this.options.flexibleMaxHeight:Number.POSITIVE_INFINITY,this.mirror=je(s,wN("div.mirror")),this.mirror.innerText=" ",this.scrollableElement=new Wye(this.element,{vertical:1}),this.options.flexibleWidth&&(this.input.setAttribute("wrap","off"),this.mirror.style.whiteSpace="pre",this.mirror.style.wordWrap="initial"),je(e,this.scrollableElement.getDomNode()),this._register(this.scrollableElement),this._register(this.scrollableElement.onScroll(u=>this.input.scrollTop=u.scrollTop));const a=this._register(new Jn(e.ownerDocument,"selectionchange")),l=lt.filter(a.event,()=>{const u=e.ownerDocument.getSelection();return(u==null?void 0:u.anchorNode)===s});this._register(l(this.updateScrollDimensions,this)),this._register(this.onDidHeightChange(this.updateScrollDimensions,this))}else this.input.type=this.options.type||"text",this.input.setAttribute("wrap","off");this.ariaLabel&&this.input.setAttribute("aria-label",this.ariaLabel),this.placeholder&&!this.options.showPlaceholderOnFocus&&this.setPlaceHolder(this.placeholder),this.tooltip&&this.setTooltip(this.tooltip),this.oninput(this.input,()=>this.onValueChange()),this.onblur(this.input,()=>this.onBlur()),this.onfocus(this.input,()=>this.onFocus()),this._register(this.ignoreGesture(this.input)),setTimeout(()=>this.updateMirror(),0),this.options.actions&&(this.actionbar=this._register(new Uc(this.element)),this.actionbar.push(this.options.actions,{icon:!0,label:!1})),this.applyStyles()}onBlur(){this._hideMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder","")}onFocus(){this._showMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder",this.placeholder||"")}setPlaceHolder(e){this.placeholder=e,this.input.setAttribute("placeholder",e)}setTooltip(e){this.tooltip=e,this.hover?this.hover.update(e):this.hover=this._register(Wd(Pl("mouse"),this.input,e))}get inputElement(){return this.input}get value(){return this.input.value}set value(e){this.input.value!==e&&(this.input.value=e,this.onValueChange())}get height(){return typeof this.cachedHeight=="number"?this.cachedHeight:Dg(this.element)}focus(){this.input.focus()}blur(){this.input.blur()}hasFocus(){return l9(this.input)}select(e=null){this.input.select(),e&&(this.input.setSelectionRange(e.start,e.end),e.end===this.input.value.length&&(this.input.scrollLeft=this.input.scrollWidth))}isSelectionAtEnd(){return this.input.selectionEnd===this.input.value.length&&this.input.selectionStart===this.input.selectionEnd}getSelection(){var e;const t=this.input.selectionStart;if(t===null)return null;const i=(e=this.input.selectionEnd)!==null&&e!==void 0?e:t;return{start:t,end:i}}enable(){this.input.removeAttribute("disabled")}disable(){this.blur(),this.input.disabled=!0,this._hideMessage()}set paddingRight(e){this.input.style.width=`calc(100% - ${e}px)`,this.mirror&&(this.mirror.style.paddingRight=e+"px")}updateScrollDimensions(){if(typeof this.cachedContentHeight!="number"||typeof this.cachedHeight!="number"||!this.scrollableElement)return;const e=this.cachedContentHeight,t=this.cachedHeight,i=this.input.scrollTop;this.scrollableElement.setScrollDimensions({scrollHeight:e,height:t}),this.scrollableElement.setScrollPosition({scrollTop:i})}showMessage(e,t){if(this.state==="open"&&Ou(this.message,e))return;this.message=e,this.element.classList.remove("idle"),this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add(this.classForType(e.type));const i=this.stylesForType(this.message.type);this.element.style.border=`1px solid ${Ng(i.border,"transparent")}`,this.message.content&&(this.hasFocus()||t)&&this._showMessage()}hideMessage(){this.message=null,this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add("idle"),this._hideMessage(),this.applyStyles()}validate(){let e=null;return this.validation&&(e=this.validation(this.value),e?(this.inputElement.setAttribute("aria-invalid","true"),this.showMessage(e)):this.inputElement.hasAttribute("aria-invalid")&&(this.inputElement.removeAttribute("aria-invalid"),this.hideMessage())),e==null?void 0:e.type}stylesForType(e){const t=this.options.inputBoxStyles;switch(e){case 1:return{border:t.inputValidationInfoBorder,background:t.inputValidationInfoBackground,foreground:t.inputValidationInfoForeground};case 2:return{border:t.inputValidationWarningBorder,background:t.inputValidationWarningBackground,foreground:t.inputValidationWarningForeground};default:return{border:t.inputValidationErrorBorder,background:t.inputValidationErrorBackground,foreground:t.inputValidationErrorForeground}}}classForType(e){switch(e){case 1:return"info";case 2:return"warning";default:return"error"}}_showMessage(){if(!this.contextViewProvider||!this.message)return;let e;const t=()=>e.style.width=Qa(this.element)+"px";this.contextViewProvider.showContextView({getAnchor:()=>this.element,anchorAlignment:1,render:r=>{var o,s;if(!this.message)return null;e=je(r,wN(".monaco-inputbox-container")),t();const a={inline:!0,className:"monaco-inputbox-message"},l=this.message.formatContent?H2t(this.message.content,a):z2t(this.message.content,a);l.classList.add(this.classForType(this.message.type));const u=this.stylesForType(this.message.type);return l.style.backgroundColor=(o=u.background)!==null&&o!==void 0?o:"",l.style.color=(s=u.foreground)!==null&&s!==void 0?s:"",l.style.border=u.border?`1px solid ${u.border}`:"",je(e,l),null},onHide:()=>{this.state="closed"},layout:t});let i;this.message.type===3?i=_("alertErrorMessage","Error: {0}",this.message.content):this.message.type===2?i=_("alertWarningMessage","Warning: {0}",this.message.content):i=_("alertInfoMessage","Info: {0}",this.message.content),Ml(i),this.state="open"}_hideMessage(){this.contextViewProvider&&(this.state==="open"&&this.contextViewProvider.hideContextView(),this.state="idle")}onValueChange(){this._onDidChange.fire(this.value),this.validate(),this.updateMirror(),this.input.classList.toggle("empty",!this.value),this.state==="open"&&this.contextViewProvider&&this.contextViewProvider.layout()}updateMirror(){if(!this.mirror)return;const e=this.value,i=e.charCodeAt(e.length-1)===10?" ":"";(e+i).replace(/\u000c/g,"")?this.mirror.textContent=e+i:this.mirror.innerText=" ",this.layout()}applyStyles(){var e,t,i;const r=this.options.inputBoxStyles,o=(e=r.inputBackground)!==null&&e!==void 0?e:"",s=(t=r.inputForeground)!==null&&t!==void 0?t:"",a=(i=r.inputBorder)!==null&&i!==void 0?i:"";this.element.style.backgroundColor=o,this.element.style.color=s,this.input.style.backgroundColor="inherit",this.input.style.color=s,this.element.style.border=`1px solid ${Ng(a,"transparent")}`}layout(){if(!this.mirror)return;const e=this.cachedContentHeight;this.cachedContentHeight=Dg(this.mirror),e!==this.cachedContentHeight&&(this.cachedHeight=Math.min(this.cachedContentHeight,this.maxHeight),this.input.style.height=this.cachedHeight+"px",this._onDidHeightChange.fire(this.cachedContentHeight))}insertAtCursor(e){const t=this.inputElement,i=t.selectionStart,r=t.selectionEnd,o=t.value;i!==null&&r!==null&&(this.value=o.substr(0,i)+e+o.substr(r),t.setSelectionRange(i+1,i+1),this.layout())}dispose(){var e;this._hideMessage(),this.message=null,(e=this.actionbar)===null||e===void 0||e.dispose(),super.dispose()}};class rxe extends HDt{constructor(e,t,i){const r=_({key:"history.inputbox.hint.suffix.noparens",comment:['Text is the suffix of an input field placeholder coming after the action the input field performs, this will be used when the input field ends in a closing parenthesis ")", for example "Filter (e.g. text, !exclude)". The character inserted into the final string is ⇅ to represent the up and down arrow keys.']}," or {0} for history","⇅"),o=_({key:"history.inputbox.hint.suffix.inparens",comment:['Text is the suffix of an input field placeholder coming after the action the input field performs, this will be used when the input field does NOT end in a closing parenthesis (eg. "Find"). The character inserted into the final string is ⇅ to represent the up and down arrow keys.']}," ({0} for history)","⇅");super(e,t,i),this._onDidFocus=this._register(new be),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new be),this.onDidBlur=this._onDidBlur.event,this.history=new zDt(i.history,100);const s=()=>{if(i.showHistoryHint&&i.showHistoryHint()&&!this.placeholder.endsWith(r)&&!this.placeholder.endsWith(o)&&this.history.getHistory().length){const a=this.placeholder.endsWith(")")?r:o,l=this.placeholder+a;i.showPlaceholderOnFocus&&!l9(this.input)?this.placeholder=l:this.setPlaceHolder(l)}};this.observer=new MutationObserver((a,l)=>{a.forEach(u=>{u.target.textContent||s()})}),this.observer.observe(this.input,{attributeFilter:["class"]}),this.onfocus(this.input,()=>s()),this.onblur(this.input,()=>{const a=l=>{if(this.placeholder.endsWith(l)){const u=this.placeholder.slice(0,this.placeholder.length-l.length);return i.showPlaceholderOnFocus?this.placeholder=u:this.setPlaceHolder(u),!0}else return!1};a(o)||a(r)})}dispose(){super.dispose(),this.observer&&(this.observer.disconnect(),this.observer=void 0)}addToHistory(e){this.value&&(e||this.value!==this.getCurrentValue())&&this.history.add(this.value)}isAtLastInHistory(){return this.history.isLast()}isNowhereInHistory(){return this.history.isNowhere()}showNextValue(){this.history.has(this.value)||this.addToHistory();let e=this.getNextValue();e&&(e=e===this.value?this.getNextValue():e),this.value=e??"",kg(this.value?this.value:_("clearedInput","Cleared Input"))}showPreviousValue(){this.history.has(this.value)||this.addToHistory();let e=this.getPreviousValue();e&&(e=e===this.value?this.getPreviousValue():e),e&&(this.value=e,kg(this.value))}setPlaceHolder(e){super.setPlaceHolder(e),this.setTooltip(e)}onBlur(){super.onBlur(),this._onDidBlur.fire()}onFocus(){super.onFocus(),this._onDidFocus.fire()}getCurrentValue(){let e=this.history.current();return e||(e=this.history.last(),this.history.next()),e}getPreviousValue(){return this.history.previous()||this.history.first()}getNextValue(){return this.history.next()}}const YDt=_("defaultLabel","input");class oxe extends Hu{constructor(e,t,i){super(),this.fixFocusOnOptionClickEnabled=!0,this.imeSessionInProgress=!1,this.additionalTogglesDisposables=this._register(new Ns),this.additionalToggles=[],this._onDidOptionChange=this._register(new be),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new be),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new be),this.onMouseDown=this._onMouseDown.event,this._onInput=this._register(new be),this._onKeyUp=this._register(new be),this._onCaseSensitiveKeyDown=this._register(new be),this.onCaseSensitiveKeyDown=this._onCaseSensitiveKeyDown.event,this._onRegexKeyDown=this._register(new be),this.onRegexKeyDown=this._onRegexKeyDown.event,this._lastHighlightFindOptions=0,this.placeholder=i.placeholder||"",this.validation=i.validation,this.label=i.label||YDt,this.showCommonFindToggles=!!i.showCommonFindToggles;const r=i.appendCaseSensitiveLabel||"",o=i.appendWholeWordsLabel||"",s=i.appendRegexLabel||"",a=i.history||[],l=!!i.flexibleHeight,u=!!i.flexibleWidth,c=i.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new rxe(this.domNode,t,{placeholder:this.placeholder||"",ariaLabel:this.label||"",validationOptions:{validation:this.validation},history:a,showHistoryHint:i.showHistoryHint,flexibleHeight:l,flexibleWidth:u,flexibleMaxHeight:c,inputBoxStyles:i.inputBoxStyles}));const d=this._register(I2());if(this.showCommonFindToggles){this.regex=this._register(new ixe({appendTitle:s,isChecked:!1,hoverDelegate:d,...i.toggleStyles})),this._register(this.regex.onChange(m=>{this._onDidOptionChange.fire(m),!m&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.regex.onKeyDown(m=>{this._onRegexKeyDown.fire(m)})),this.wholeWords=this._register(new nxe({appendTitle:o,isChecked:!1,hoverDelegate:d,...i.toggleStyles})),this._register(this.wholeWords.onChange(m=>{this._onDidOptionChange.fire(m),!m&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this.caseSensitive=this._register(new txe({appendTitle:r,isChecked:!1,hoverDelegate:d,...i.toggleStyles})),this._register(this.caseSensitive.onChange(m=>{this._onDidOptionChange.fire(m),!m&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.caseSensitive.onKeyDown(m=>{this._onCaseSensitiveKeyDown.fire(m)}));const h=[this.caseSensitive.domNode,this.wholeWords.domNode,this.regex.domNode];this.onkeydown(this.domNode,m=>{if(m.equals(15)||m.equals(17)||m.equals(9)){const f=h.indexOf(this.domNode.ownerDocument.activeElement);if(f>=0){let g=-1;m.equals(17)?g=(f+1)%h.length:m.equals(15)&&(f===0?g=h.length-1:g=f-1),m.equals(9)?(h[f].blur(),this.inputBox.focus()):g>=0&&h[g].focus(),An.stop(m,!0)}}})}this.controls=document.createElement("div"),this.controls.className="controls",this.controls.style.display=this.showCommonFindToggles?"":"none",this.caseSensitive&&this.controls.append(this.caseSensitive.domNode),this.wholeWords&&this.controls.appendChild(this.wholeWords.domNode),this.regex&&this.controls.appendChild(this.regex.domNode),this.setAdditionalToggles(i==null?void 0:i.additionalToggles),this.controls&&this.domNode.appendChild(this.controls),e==null||e.appendChild(this.domNode),this._register(Ve(this.inputBox.inputElement,"compositionstart",h=>{this.imeSessionInProgress=!0})),this._register(Ve(this.inputBox.inputElement,"compositionend",h=>{this.imeSessionInProgress=!1,this._onInput.fire()})),this.onkeydown(this.inputBox.inputElement,h=>this._onKeyDown.fire(h)),this.onkeyup(this.inputBox.inputElement,h=>this._onKeyUp.fire(h)),this.oninput(this.inputBox.inputElement,h=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,h=>this._onMouseDown.fire(h))}get onDidChange(){return this.inputBox.onDidChange}layout(e){this.inputBox.layout(),this.updateInputBoxPadding(e.collapsedFindWidget)}enable(){var e,t,i;this.domNode.classList.remove("disabled"),this.inputBox.enable(),(e=this.regex)===null||e===void 0||e.enable(),(t=this.wholeWords)===null||t===void 0||t.enable(),(i=this.caseSensitive)===null||i===void 0||i.enable();for(const r of this.additionalToggles)r.enable()}disable(){var e,t,i;this.domNode.classList.add("disabled"),this.inputBox.disable(),(e=this.regex)===null||e===void 0||e.disable(),(t=this.wholeWords)===null||t===void 0||t.disable(),(i=this.caseSensitive)===null||i===void 0||i.disable();for(const r of this.additionalToggles)r.disable()}setFocusInputOnOptionClick(e){this.fixFocusOnOptionClickEnabled=e}setEnabled(e){e?this.enable():this.disable()}setAdditionalToggles(e){for(const t of this.additionalToggles)t.domNode.remove();this.additionalToggles=[],this.additionalTogglesDisposables.value=new Je;for(const t of e??[])this.additionalTogglesDisposables.value.add(t),this.controls.appendChild(t.domNode),this.additionalTogglesDisposables.value.add(t.onChange(i=>{this._onDidOptionChange.fire(i),!i&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus()})),this.additionalToggles.push(t);this.additionalToggles.length>0&&(this.controls.style.display=""),this.updateInputBoxPadding()}updateInputBoxPadding(e=!1){var t,i,r,o,s,a;e?this.inputBox.paddingRight=0:this.inputBox.paddingRight=((i=(t=this.caseSensitive)===null||t===void 0?void 0:t.width())!==null&&i!==void 0?i:0)+((o=(r=this.wholeWords)===null||r===void 0?void 0:r.width())!==null&&o!==void 0?o:0)+((a=(s=this.regex)===null||s===void 0?void 0:s.width())!==null&&a!==void 0?a:0)+this.additionalToggles.reduce((l,u)=>l+u.width(),0)}getValue(){return this.inputBox.value}setValue(e){this.inputBox.value!==e&&(this.inputBox.value=e)}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getCaseSensitive(){var e,t;return(t=(e=this.caseSensitive)===null||e===void 0?void 0:e.checked)!==null&&t!==void 0?t:!1}setCaseSensitive(e){this.caseSensitive&&(this.caseSensitive.checked=e)}getWholeWords(){var e,t;return(t=(e=this.wholeWords)===null||e===void 0?void 0:e.checked)!==null&&t!==void 0?t:!1}setWholeWords(e){this.wholeWords&&(this.wholeWords.checked=e)}getRegex(){var e,t;return(t=(e=this.regex)===null||e===void 0?void 0:e.checked)!==null&&t!==void 0?t:!1}setRegex(e){this.regex&&(this.regex.checked=e,this.validate())}focusOnCaseSensitive(){var e;(e=this.caseSensitive)===null||e===void 0||e.focus()}highlightFindOptions(){this.domNode.classList.remove("highlight-"+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,this.domNode.classList.add("highlight-"+this._lastHighlightFindOptions)}validate(){this.inputBox.validate()}showMessage(e){this.inputBox.showMessage(e)}clearMessage(){this.inputBox.hideMessage()}}var $u;(function(n){n[n.Expanded=0]="Expanded",n[n.Collapsed=1]="Collapsed",n[n.PreserveOrExpanded=2]="PreserveOrExpanded",n[n.PreserveOrCollapsed=3]="PreserveOrCollapsed"})($u||($u={}));var Kv;(function(n){n[n.Unknown=0]="Unknown",n[n.Twistie=1]="Twistie",n[n.Element=2]="Element",n[n.Filter=3]="Filter"})(Kv||(Kv={}));class qu extends Error{constructor(e,t){super(`TreeError [${e}] ${t}`)}}class XJ{constructor(e){this.fn=e,this._map=new WeakMap}map(e){let t=this._map.get(e);return t||(t=this.fn(e),this._map.set(e,t)),t}}function PJ(n){return typeof n=="object"&&"visibility"in n&&"data"in n}function xN(n){switch(n){case!0:return 1;case!1:return 0;default:return n}}function OJ(n){return typeof n.collapsible=="boolean"}class UDt{constructor(e,t,i,r={}){var o;this.user=e,this.list=t,this.rootRef=[],this.eventBufferer=new PH,this._onDidChangeCollapseState=new be,this.onDidChangeCollapseState=this.eventBufferer.wrapEvent(this._onDidChangeCollapseState.event),this._onDidChangeRenderNodeCount=new be,this.onDidChangeRenderNodeCount=this.eventBufferer.wrapEvent(this._onDidChangeRenderNodeCount.event),this._onDidSplice=new be,this.onDidSplice=this._onDidSplice.event,this.refilterDelayer=new Ld(Gbe),this.collapseByDefault=typeof r.collapseByDefault>"u"?!1:r.collapseByDefault,this.allowNonCollapsibleParents=(o=r.allowNonCollapsibleParents)!==null&&o!==void 0?o:!1,this.filter=r.filter,this.autoExpandSingleChildren=typeof r.autoExpandSingleChildren>"u"?!1:r.autoExpandSingleChildren,this.root={parent:void 0,element:i,children:[],depth:0,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:!1,collapsed:!1,renderNodeCount:0,visibility:1,visible:!0,filterData:void 0}}splice(e,t,i=Qn.empty(),r={}){if(e.length===0)throw new qu(this.user,"Invalid tree location");r.diffIdentityProvider?this.spliceSmart(r.diffIdentityProvider,e,t,i,r):this.spliceSimple(e,t,i,r)}spliceSmart(e,t,i,r,o,s){var a;r===void 0&&(r=Qn.empty()),s===void 0&&(s=(a=o.diffDepth)!==null&&a!==void 0?a:0);const{parentNode:l}=this.getParentNodeWithListIndex(t);if(!l.lastDiffIds)return this.spliceSimple(t,i,r,o);const u=[...r],c=t[t.length-1],d=new Df({getElements:()=>l.lastDiffIds},{getElements:()=>[...l.children.slice(0,c),...u,...l.children.slice(c+i)].map(b=>e.getId(b.element).toString())}).ComputeDiff(!1);if(d.quitEarly)return l.lastDiffIds=void 0,this.spliceSimple(t,i,u,o);const h=t.slice(0,-1),m=(b,y,C)=>{if(s>0)for(let w=0;wC.originalStart-y.originalStart))m(f,g,f-(b.originalStart+b.originalLength)),f=b.originalStart,g=b.modifiedStart-c,this.spliceSimple([...h,f],b.originalLength,Qn.slice(u,g,g+b.modifiedLength),o);m(f,g,f)}spliceSimple(e,t,i=Qn.empty(),{onDidCreateNode:r,onDidDeleteNode:o,diffIdentityProvider:s}){const{parentNode:a,listIndex:l,revealed:u,visible:c}=this.getParentNodeWithListIndex(e),d=[],h=Qn.map(i,L=>this.createTreeNode(L,a,a.visible?1:0,u,d,r)),m=e[e.length-1];let f=0;for(let L=m;L>=0&&Ls.getId(L.element).toString())):a.lastDiffIds=a.children.map(L=>s.getId(L.element).toString()):a.lastDiffIds=void 0;let w=0;for(const L of C)L.visible&&w++;if(w!==0)for(let L=m+g.length;LI+(D.visible?D.renderNodeCount:0),0);this._updateAncestorsRenderNodeCount(a,y-L),this.list.splice(l,L,d)}if(C.length>0&&o){const L=I=>{o(I),I.children.forEach(L)};C.forEach(L)}this._onDidSplice.fire({insertedNodes:g,deletedNodes:C});let x=a;for(;x;){if(x.visibility===2){this.refilterDelayer.trigger(()=>this.refilter());break}x=x.parent}}rerender(e){if(e.length===0)throw new qu(this.user,"Invalid tree location");const{node:t,listIndex:i,revealed:r}=this.getTreeNodeWithListIndex(e);t.visible&&r&&this.list.splice(i,1,[t])}has(e){return this.hasTreeNode(e)}getListIndex(e){const{listIndex:t,visible:i,revealed:r}=this.getTreeNodeWithListIndex(e);return i&&r?t:-1}getListRenderCount(e){return this.getTreeNode(e).renderNodeCount}isCollapsible(e){return this.getTreeNode(e).collapsible}setCollapsible(e,t){const i=this.getTreeNode(e);typeof t>"u"&&(t=!i.collapsible);const r={collapsible:t};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(e,r))}isCollapsed(e){return this.getTreeNode(e).collapsed}setCollapsed(e,t,i){const r=this.getTreeNode(e);typeof t>"u"&&(t=!r.collapsed);const o={collapsed:t,recursive:i||!1};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(e,o))}_setCollapseState(e,t){const{node:i,listIndex:r,revealed:o}=this.getTreeNodeWithListIndex(e),s=this._setListNodeCollapseState(i,r,o,t);if(i!==this.root&&this.autoExpandSingleChildren&&s&&!OJ(t)&&i.collapsible&&!i.collapsed&&!t.recursive){let a=-1;for(let l=0;l-1){a=-1;break}else a=l;a>-1&&this._setCollapseState([...e,a],t)}return s}_setListNodeCollapseState(e,t,i,r){const o=this._setNodeCollapseState(e,r,!1);if(!i||!e.visible||!o)return o;const s=e.renderNodeCount,a=this.updateNodeAfterCollapseChange(e),l=s-(t===-1?0:1);return this.list.splice(t+1,l,a.slice(1)),o}_setNodeCollapseState(e,t,i){let r;if(e===this.root?r=!1:(OJ(t)?(r=e.collapsible!==t.collapsible,e.collapsible=t.collapsible):e.collapsible?(r=e.collapsed!==t.collapsed,e.collapsed=t.collapsed):r=!1,r&&this._onDidChangeCollapseState.fire({node:e,deep:i})),!OJ(t)&&t.recursive)for(const o of e.children)r=this._setNodeCollapseState(o,t,!0)||r;return r}expandTo(e){this.eventBufferer.bufferEvents(()=>{let t=this.getTreeNode(e);for(;t.parent;)t=t.parent,e=e.slice(0,e.length-1),t.collapsed&&this._setCollapseState(e,{collapsed:!1,recursive:!1})})}refilter(){const e=this.root.renderNodeCount,t=this.updateNodeAfterFilterChange(this.root);this.list.splice(0,e,t),this.refilterDelayer.cancel()}createTreeNode(e,t,i,r,o,s){const a={parent:t,element:e.element,children:[],depth:t.depth+1,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:typeof e.collapsible=="boolean"?e.collapsible:typeof e.collapsed<"u",collapsed:typeof e.collapsed>"u"?this.collapseByDefault:e.collapsed,renderNodeCount:1,visibility:1,visible:!0,filterData:void 0},l=this._filterNode(a,i);a.visibility=l,r&&o.push(a);const u=e.children||Qn.empty(),c=r&&l!==0&&!a.collapsed;let d=0,h=1;for(const m of u){const f=this.createTreeNode(m,a,l,c,o,s);a.children.push(f),h+=f.renderNodeCount,f.visible&&(f.visibleChildIndex=d++)}return this.allowNonCollapsibleParents||(a.collapsible=a.collapsible||a.children.length>0),a.visibleChildrenCount=d,a.visible=l===2?d>0:l===1,a.visible?a.collapsed||(a.renderNodeCount=h):(a.renderNodeCount=0,r&&o.pop()),s==null||s(a),a}updateNodeAfterCollapseChange(e){const t=e.renderNodeCount,i=[];return this._updateNodeAfterCollapseChange(e,i),this._updateAncestorsRenderNodeCount(e.parent,i.length-t),i}_updateNodeAfterCollapseChange(e,t){if(e.visible===!1)return 0;if(t.push(e),e.renderNodeCount=1,!e.collapsed)for(const i of e.children)e.renderNodeCount+=this._updateNodeAfterCollapseChange(i,t);return this._onDidChangeRenderNodeCount.fire(e),e.renderNodeCount}updateNodeAfterFilterChange(e){const t=e.renderNodeCount,i=[];return this._updateNodeAfterFilterChange(e,e.visible?1:0,i),this._updateAncestorsRenderNodeCount(e.parent,i.length-t),i}_updateNodeAfterFilterChange(e,t,i,r=!0){let o;if(e!==this.root){if(o=this._filterNode(e,t),o===0)return e.visible=!1,e.renderNodeCount=0,!1;r&&i.push(e)}const s=i.length;e.renderNodeCount=e===this.root?0:1;let a=!1;if(!e.collapsed||o!==0){let l=0;for(const u of e.children)a=this._updateNodeAfterFilterChange(u,o,i,r&&!e.collapsed)||a,u.visible&&(u.visibleChildIndex=l++);e.visibleChildrenCount=l}else e.visibleChildrenCount=0;return e!==this.root&&(e.visible=o===2?a:o===1,e.visibility=o),e.visible?e.collapsed||(e.renderNodeCount+=i.length-s):(e.renderNodeCount=0,r&&i.pop()),this._onDidChangeRenderNodeCount.fire(e),e.visible}_updateAncestorsRenderNodeCount(e,t){if(t!==0)for(;e;)e.renderNodeCount+=t,this._onDidChangeRenderNodeCount.fire(e),e=e.parent}_filterNode(e,t){const i=this.filter?this.filter.filter(e.element,t):1;return typeof i=="boolean"?(e.filterData=void 0,i?1:0):PJ(i)?(e.filterData=i.data,xN(i.visibility)):(e.filterData=void 0,xN(i))}hasTreeNode(e,t=this.root){if(!e||e.length===0)return!0;const[i,...r]=e;return i<0||i>t.children.length?!1:this.hasTreeNode(r,t.children[i])}getTreeNode(e,t=this.root){if(!e||e.length===0)return t;const[i,...r]=e;if(i<0||i>t.children.length)throw new qu(this.user,"Invalid tree location");return this.getTreeNode(r,t.children[i])}getTreeNodeWithListIndex(e){if(e.length===0)return{node:this.root,listIndex:-1,revealed:!0,visible:!1};const{parentNode:t,listIndex:i,revealed:r,visible:o}=this.getParentNodeWithListIndex(e),s=e[e.length-1];if(s<0||s>t.children.length)throw new qu(this.user,"Invalid tree location");const a=t.children[s];return{node:a,listIndex:i,revealed:r,visible:o&&a.visible}}getParentNodeWithListIndex(e,t=this.root,i=0,r=!0,o=!0){const[s,...a]=e;if(s<0||s>t.children.length)throw new qu(this.user,"Invalid tree location");for(let l=0;lt.element)),this.data=e}}function BJ(n){return n instanceof VD?new KDt(n):n}class JDt{constructor(e,t){this.modelProvider=e,this.dnd=t,this.autoExpandDisposable=Fe.None,this.disposables=new Je}getDragURI(e){return this.dnd.getDragURI(e.element)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e.map(i=>i.element),t)}onDragStart(e,t){var i,r;(r=(i=this.dnd).onDragStart)===null||r===void 0||r.call(i,BJ(e),t)}onDragOver(e,t,i,r,o,s=!0){const a=this.dnd.onDragOver(BJ(e),t&&t.element,i,r,o),l=this.autoExpandNode!==t;if(l&&(this.autoExpandDisposable.dispose(),this.autoExpandNode=t),typeof t>"u")return a;if(l&&typeof a!="boolean"&&a.autoExpand&&(this.autoExpandDisposable=Gb(()=>{const m=this.modelProvider(),f=m.getNodeLocation(t);m.isCollapsed(f)&&m.setCollapsed(f,!1),this.autoExpandNode=void 0},500,this.disposables)),typeof a=="boolean"||!a.accept||typeof a.bubble>"u"||a.feedback){if(!s){const m=typeof a=="boolean"?a:a.accept,f=typeof a=="boolean"?void 0:a.effect;return{accept:m,effect:f,feedback:[i]}}return a}if(a.bubble===1){const m=this.modelProvider(),f=m.getNodeLocation(t),g=m.getParentNodeLocation(f),b=m.getNode(g),y=g&&m.getListIndex(g);return this.onDragOver(e,b,y,r,o,!1)}const u=this.modelProvider(),c=u.getNodeLocation(t),d=u.getListIndex(c),h=u.getListRenderCount(c);return{...a,feedback:Wl(d,d+h)}}drop(e,t,i,r,o){this.autoExpandDisposable.dispose(),this.autoExpandNode=void 0,this.dnd.drop(BJ(e),t&&t.element,i,r,o)}onDragEnd(e){var t,i;(i=(t=this.dnd).onDragEnd)===null||i===void 0||i.call(t,e)}dispose(){this.disposables.dispose(),this.dnd.dispose()}}function jDt(n,e){return e&&{...e,identityProvider:e.identityProvider&&{getId(t){return e.identityProvider.getId(t.element)}},dnd:e.dnd&&new JDt(n,e.dnd),multipleSelectionController:e.multipleSelectionController&&{isSelectionSingleChangeEvent(t){return e.multipleSelectionController.isSelectionSingleChangeEvent({...t,element:t.element})},isSelectionRangeChangeEvent(t){return e.multipleSelectionController.isSelectionRangeChangeEvent({...t,element:t.element})}},accessibilityProvider:e.accessibilityProvider&&{...e.accessibilityProvider,getSetSize(t){const i=n(),r=i.getNodeLocation(t),o=i.getParentNodeLocation(r);return i.getNode(o).visibleChildrenCount},getPosInSet(t){return t.visibleChildIndex+1},isChecked:e.accessibilityProvider&&e.accessibilityProvider.isChecked?t=>e.accessibilityProvider.isChecked(t.element):void 0,getRole:e.accessibilityProvider&&e.accessibilityProvider.getRole?t=>e.accessibilityProvider.getRole(t.element):()=>"treeitem",getAriaLabel(t){return e.accessibilityProvider.getAriaLabel(t.element)},getWidgetAriaLabel(){return e.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:e.accessibilityProvider&&e.accessibilityProvider.getWidgetRole?()=>e.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:e.accessibilityProvider&&e.accessibilityProvider.getAriaLevel?t=>e.accessibilityProvider.getAriaLevel(t.element):t=>t.depth,getActiveDescendantId:e.accessibilityProvider.getActiveDescendantId&&(t=>e.accessibilityProvider.getActiveDescendantId(t.element))},keyboardNavigationLabelProvider:e.keyboardNavigationLabelProvider&&{...e.keyboardNavigationLabelProvider,getKeyboardNavigationLabel(t){return e.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(t.element)}}}}class zJ{constructor(e){this.delegate=e}getHeight(e){return this.delegate.getHeight(e.element)}getTemplateId(e){return this.delegate.getTemplateId(e.element)}hasDynamicHeight(e){return!!this.delegate.hasDynamicHeight&&this.delegate.hasDynamicHeight(e.element)}setDynamicHeight(e,t){var i,r;(r=(i=this.delegate).setDynamicHeight)===null||r===void 0||r.call(i,e.element,t)}}var q2;(function(n){n.None="none",n.OnHover="onHover",n.Always="always"})(q2||(q2={}));class QDt{get elements(){return this._elements}constructor(e,t=[]){this._elements=t,this.disposables=new Je,this.onDidChange=lt.forEach(e,i=>this._elements=i,this.disposables)}dispose(){this.disposables.dispose()}}class _N{constructor(e,t,i,r,o,s={}){var a;this.renderer=e,this.modelProvider=t,this.activeNodes=r,this.renderedIndentGuides=o,this.renderedElements=new Map,this.renderedNodes=new Map,this.indent=_N.DefaultIndent,this.hideTwistiesOfChildlessElements=!1,this.shouldRenderIndentGuides=!1,this.activeIndentNodes=new Set,this.indentGuidesDisposable=Fe.None,this.disposables=new Je,this.templateId=e.templateId,this.updateOptions(s),lt.map(i,l=>l.node)(this.onDidChangeNodeTwistieState,this,this.disposables),(a=e.onDidChangeTwistieState)===null||a===void 0||a.call(e,this.onDidChangeTwistieState,this,this.disposables)}updateOptions(e={}){if(typeof e.indent<"u"){const t=al(e.indent,0,40);if(t!==this.indent){this.indent=t;for(const[i,r]of this.renderedNodes)this.renderTreeElement(i,r)}}if(typeof e.renderIndentGuides<"u"){const t=e.renderIndentGuides!==q2.None;if(t!==this.shouldRenderIndentGuides){this.shouldRenderIndentGuides=t;for(const[i,r]of this.renderedNodes)this._renderIndentGuides(i,r);if(this.indentGuidesDisposable.dispose(),t){const i=new Je;this.activeNodes.onDidChange(this._onDidChangeActiveNodes,this,i),this.indentGuidesDisposable=i,this._onDidChangeActiveNodes(this.activeNodes.elements)}}}typeof e.hideTwistiesOfChildlessElements<"u"&&(this.hideTwistiesOfChildlessElements=e.hideTwistiesOfChildlessElements)}renderTemplate(e){const t=je(e,Ct(".monaco-tl-row")),i=je(t,Ct(".monaco-tl-indent")),r=je(t,Ct(".monaco-tl-twistie")),o=je(t,Ct(".monaco-tl-contents")),s=this.renderer.renderTemplate(o);return{container:e,indent:i,twistie:r,indentGuidesDisposable:Fe.None,templateData:s}}renderElement(e,t,i,r){this.renderedNodes.set(e,i),this.renderedElements.set(e.element,e),this.renderTreeElement(e,i),this.renderer.renderElement(e,t,i.templateData,r)}disposeElement(e,t,i,r){var o,s;i.indentGuidesDisposable.dispose(),(s=(o=this.renderer).disposeElement)===null||s===void 0||s.call(o,e,t,i.templateData,r),typeof r=="number"&&(this.renderedNodes.delete(e),this.renderedElements.delete(e.element))}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}onDidChangeTwistieState(e){const t=this.renderedElements.get(e);t&&this.onDidChangeNodeTwistieState(t)}onDidChangeNodeTwistieState(e){const t=this.renderedNodes.get(e);t&&(this._onDidChangeActiveNodes(this.activeNodes.elements),this.renderTreeElement(e,t))}renderTreeElement(e,t){const i=_N.DefaultIndent+(e.depth-1)*this.indent;t.twistie.style.paddingLeft=`${i}px`,t.indent.style.width=`${i+this.indent-16}px`,e.collapsible?t.container.setAttribute("aria-expanded",String(!e.collapsed)):t.container.removeAttribute("aria-expanded"),t.twistie.classList.remove(...sn.asClassNameArray(ut.treeItemExpanded));let r=!1;this.renderer.renderTwistie&&(r=this.renderer.renderTwistie(e.element,t.twistie)),e.collapsible&&(!this.hideTwistiesOfChildlessElements||e.visibleChildrenCount>0)?(r||t.twistie.classList.add(...sn.asClassNameArray(ut.treeItemExpanded)),t.twistie.classList.add("collapsible"),t.twistie.classList.toggle("collapsed",e.collapsed)):t.twistie.classList.remove("collapsible","collapsed"),this._renderIndentGuides(e,t)}_renderIndentGuides(e,t){if(ma(t.indent),t.indentGuidesDisposable.dispose(),!this.shouldRenderIndentGuides)return;const i=new Je,r=this.modelProvider();for(;;){const o=r.getNodeLocation(e),s=r.getParentNodeLocation(o);if(!s)break;const a=r.getNode(s),l=Ct(".indent-guide",{style:`width: ${this.indent}px`});this.activeIndentNodes.has(a)&&l.classList.add("active"),t.indent.childElementCount===0?t.indent.appendChild(l):t.indent.insertBefore(l,t.indent.firstElementChild),this.renderedIndentGuides.add(a,l),i.add(jt(()=>this.renderedIndentGuides.delete(a,l))),e=a}t.indentGuidesDisposable=i}_onDidChangeActiveNodes(e){if(!this.shouldRenderIndentGuides)return;const t=new Set,i=this.modelProvider();e.forEach(r=>{const o=i.getNodeLocation(r);try{const s=i.getParentNodeLocation(o);r.collapsible&&r.children.length>0&&!r.collapsed?t.add(r):s&&t.add(i.getNode(s))}catch{}}),this.activeIndentNodes.forEach(r=>{t.has(r)||this.renderedIndentGuides.forEach(r,o=>o.classList.remove("active"))}),t.forEach(r=>{this.activeIndentNodes.has(r)||this.renderedIndentGuides.forEach(r,o=>o.classList.add("active"))}),this.activeIndentNodes=t}dispose(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),qi(this.disposables)}}_N.DefaultIndent=8;class $Dt{get totalCount(){return this._totalCount}get matchCount(){return this._matchCount}constructor(e,t,i){this.tree=e,this.keyboardNavigationLabelProvider=t,this._filter=i,this._totalCount=0,this._matchCount=0,this._pattern="",this._lowercasePattern="",this.disposables=new Je,e.onWillRefilter(this.reset,this,this.disposables)}filter(e,t){let i=1;if(this._filter){const s=this._filter.filter(e,t);if(typeof s=="boolean"?i=s?1:0:PJ(s)?i=xN(s.visibility):i=s,i===0)return!1}if(this._totalCount++,!this._pattern)return this._matchCount++,{data:Hh.Default,visibility:i};const r=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e),o=Array.isArray(r)?r:[r];for(const s of o){const a=s&&s.toString();if(typeof a>"u")return{data:Hh.Default,visibility:i};let l;if(this.tree.findMatchType===Jv.Contiguous){const u=a.toLowerCase().indexOf(this._lowercasePattern);if(u>-1){l=[Number.MAX_SAFE_INTEGER,0];for(let c=this._lowercasePattern.length;c>0;c--)l.push(u+c-1)}}else l=F2(this._pattern,this._lowercasePattern,0,a,a.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});if(l)return this._matchCount++,o.length===1?{data:l,visibility:i}:{data:{label:a,score:l},visibility:i}}return this.tree.findMode===Lp.Filter?typeof this.tree.options.defaultFindVisibility=="number"?this.tree.options.defaultFindVisibility:this.tree.options.defaultFindVisibility?this.tree.options.defaultFindVisibility(e):2:{data:Hh.Default,visibility:i}}reset(){this._totalCount=0,this._matchCount=0}dispose(){qi(this.disposables)}}var Lp;(function(n){n[n.Highlight=0]="Highlight",n[n.Filter=1]="Filter"})(Lp||(Lp={}));var Jv;(function(n){n[n.Fuzzy=0]="Fuzzy",n[n.Contiguous=1]="Contiguous"})(Jv||(Jv={}));let qDt=class{get pattern(){return this._pattern}get mode(){return this._mode}set mode(e){e!==this._mode&&(this._mode=e,this.widget&&(this.widget.mode=this._mode),this.tree.refilter(),this.render(),this._onDidChangeMode.fire(e))}get matchType(){return this._matchType}set matchType(e){e!==this._matchType&&(this._matchType=e,this.widget&&(this.widget.matchType=this._matchType),this.tree.refilter(),this.render(),this._onDidChangeMatchType.fire(e))}constructor(e,t,i,r,o,s={}){var a,l;this.tree=e,this.view=i,this.filter=r,this.contextViewProvider=o,this.options=s,this._pattern="",this.width=0,this._onDidChangeMode=new be,this.onDidChangeMode=this._onDidChangeMode.event,this._onDidChangeMatchType=new be,this.onDidChangeMatchType=this._onDidChangeMatchType.event,this._onDidChangePattern=new be,this._onDidChangeOpenState=new be,this.onDidChangeOpenState=this._onDidChangeOpenState.event,this.enabledDisposables=new Je,this.disposables=new Je,this._mode=(a=e.options.defaultFindMode)!==null&&a!==void 0?a:Lp.Highlight,this._matchType=(l=e.options.defaultFindMatchType)!==null&&l!==void 0?l:Jv.Fuzzy,t.onDidSplice(this.onDidSpliceModel,this,this.disposables)}updateOptions(e={}){e.defaultFindMode!==void 0&&(this.mode=e.defaultFindMode),e.defaultFindMatchType!==void 0&&(this.matchType=e.defaultFindMatchType)}onDidSpliceModel(){!this.widget||this.pattern.length===0||(this.tree.refilter(),this.render())}render(){var e,t,i,r;const o=this.filter.totalCount>0&&this.filter.matchCount===0;this.pattern&&o?!((e=this.tree.options.showNotFoundMessage)!==null&&e!==void 0)||e?(t=this.widget)===null||t===void 0||t.showMessage({type:2,content:_("not found","No elements found.")}):(i=this.widget)===null||i===void 0||i.showMessage({type:2}):(r=this.widget)===null||r===void 0||r.clearMessage()}shouldAllowFocus(e){return!this.widget||!this.pattern||this.filter.totalCount>0&&this.filter.matchCount<=1?!0:!Hh.isDefault(e.filterData)}layout(e){var t;this.width=e,(t=this.widget)===null||t===void 0||t.layout(e)}dispose(){this._history=void 0,this._onDidChangePattern.dispose(),this.enabledDisposables.dispose(),this.disposables.dispose()}};function eNt(n,e){return n.position===e.position&&sxe(n,e)}function sxe(n,e){return n.node.element===e.node.element&&n.startIndex===e.startIndex&&n.height===e.height&&n.endIndex===e.endIndex}class tNt{constructor(e=[]){this.stickyNodes=e}get count(){return this.stickyNodes.length}equal(e){return Nr(this.stickyNodes,e.stickyNodes,eNt)}lastNodePartiallyVisible(){if(this.count===0)return!1;const e=this.stickyNodes[this.count-1];if(this.count===1)return e.position!==0;const t=this.stickyNodes[this.count-2];return t.position+t.height!==e.position}animationStateChanged(e){if(!Nr(this.stickyNodes,e.stickyNodes,sxe)||this.count===0)return!1;const t=this.stickyNodes[this.count-1],i=e.stickyNodes[e.count-1];return t.position!==i.position}}class nNt{constrainStickyScrollNodes(e,t,i){for(let r=0;ri||r>=t)return e.slice(0,r)}return e}}let axe=class extends Fe{constructor(e,t,i,r,o,s={}){var a;super(),this.tree=e,this.model=t,this.view=i,this.treeDelegate=o,this.maxWidgetViewRatio=.4;const l=this.validateStickySettings(s);this.stickyScrollMaxItemCount=l.stickyScrollMaxItemCount,this.stickyScrollDelegate=(a=s.stickyScrollDelegate)!==null&&a!==void 0?a:new nNt,this._widget=this._register(new iNt(i.getScrollableElement(),i,e,r,o,s.accessibilityProvider)),this.onDidChangeHasFocus=this._widget.onDidChangeHasFocus,this.onContextMenu=this._widget.onContextMenu,this._register(i.onDidScroll(()=>this.update())),this._register(i.onDidChangeContentHeight(()=>this.update())),this._register(e.onDidChangeCollapseState(()=>this.update())),this.update()}get height(){return this._widget.height}getNodeAtHeight(e){let t;if(e===0?t=this.view.firstVisibleIndex:t=this.view.indexAt(e+this.view.scrollTop),!(t<0||t>=this.view.length))return this.view.element(t)}update(){const e=this.getNodeAtHeight(0);if(!e||this.tree.scrollTop===0){this._widget.setState(void 0);return}const t=this.findStickyState(e);this._widget.setState(t)}findStickyState(e){const t=[];let i=e,r=0,o=this.getNextStickyNode(i,void 0,r);for(;o&&(t.push(o),r+=o.height,!(t.length<=this.stickyScrollMaxItemCount&&(i=this.getNextVisibleNode(o),!i)));)o=this.getNextStickyNode(i,o.node,r);const s=this.constrainStickyNodes(t);return s.length?new tNt(s):void 0}getNextVisibleNode(e){return this.getNodeAtHeight(e.position+e.height)}getNextStickyNode(e,t,i){const r=this.getAncestorUnderPrevious(e,t);if(r&&!(r===e&&(!this.nodeIsUncollapsedParent(e)||this.nodeTopAlignsWithStickyNodesBottom(e,i))))return this.createStickyScrollNode(r,i)}nodeTopAlignsWithStickyNodesBottom(e,t){const i=this.getNodeIndex(e),r=this.view.getElementTop(i),o=t;return this.view.scrollTop===r-o}createStickyScrollNode(e,t){const i=this.treeDelegate.getHeight(e),{startIndex:r,endIndex:o}=this.getNodeRange(e),s=this.calculateStickyNodePosition(o,t,i);return{node:e,position:s,height:i,startIndex:r,endIndex:o}}getAncestorUnderPrevious(e,t=void 0){let i=e,r=this.getParentNode(i);for(;r;){if(r===t)return i;i=r,r=this.getParentNode(i)}if(t===void 0)return i}calculateStickyNodePosition(e,t,i){let r=this.view.getRelativeTop(e);if(r===null&&this.view.firstVisibleIndex===e&&e+1l&&t<=l?l-i:t}constrainStickyNodes(e){if(e.length===0)return[];const t=this.view.renderHeight*this.maxWidgetViewRatio,i=e[e.length-1];if(e.length<=this.stickyScrollMaxItemCount&&i.position+i.height<=t)return e;const r=this.stickyScrollDelegate.constrainStickyScrollNodes(e,this.stickyScrollMaxItemCount,t);if(!r.length)return[];const o=r[r.length-1];if(r.length>this.stickyScrollMaxItemCount||o.position+o.height>t)throw new Error("stickyScrollDelegate violates constraints");return r}getParentNode(e){const t=this.model.getNodeLocation(e),i=this.model.getParentNodeLocation(t);return i?this.model.getNode(i):void 0}nodeIsUncollapsedParent(e){const t=this.model.getNodeLocation(e);return this.model.getListRenderCount(t)>1}getNodeIndex(e){const t=this.model.getNodeLocation(e);return this.model.getListIndex(t)}getNodeRange(e){const t=this.model.getNodeLocation(e),i=this.model.getListIndex(t);if(i<0)throw new Error("Node not found in tree");const r=this.model.getListRenderCount(t),o=i+r-1;return{startIndex:i,endIndex:o}}nodePositionTopBelowWidget(e){const t=[];let i=this.getParentNode(e);for(;i;)t.push(i),i=this.getParentNode(i);let r=0;for(let o=0;o0,i=!!e&&e.count>0;if(!t&&!i||t&&i&&this._previousState.equal(e))return;if(t!==i&&this.setVisible(i),!i){this._previousState=void 0,this._previousElements=[],this._previousStateDisposables.clear();return}const r=e.stickyNodes[e.count-1];if(this._previousState&&e.animationStateChanged(this._previousState))this._previousElements[this._previousState.count-1].style.top=`${r.position}px`;else{this._previousStateDisposables.clear();const o=Array(e.count);for(let s=e.count-1;s>=0;s--){const a=e.stickyNodes[s],{element:l,disposable:u}=this.createElement(a,s,e.count);o[s]=l,this._rootDomNode.appendChild(l),this._previousStateDisposables.add(u)}this.stickyScrollFocus.updateElements(o,e),this._previousElements=o}this._previousState=e,this._rootDomNode.style.height=`${r.position+r.height}px`}createElement(e,t,i){const r=e.startIndex,o=document.createElement("div");o.style.top=`${e.position}px`,this.tree.options.setRowHeight!==!1&&(o.style.height=`${e.height}px`),this.tree.options.setRowLineHeight!==!1&&(o.style.lineHeight=`${e.height}px`),o.classList.add("monaco-tree-sticky-row"),o.classList.add("monaco-list-row"),o.setAttribute("data-index",`${r}`),o.setAttribute("data-parity",r%2===0?"even":"odd"),o.setAttribute("id",this.view.getElementID(r));const s=this.setAccessibilityAttributes(o,e.node.element,t,i),a=this.treeDelegate.getTemplateId(e.node),l=this.treeRenderers.find(h=>h.templateId===a);if(!l)throw new Error(`No renderer found for template id ${a}`);let u=e.node;u===this.tree.getNode(this.tree.getNodeLocation(e.node))&&(u=new Proxy(e.node,{}));const c=l.renderTemplate(o);l.renderElement(u,e.startIndex,c,e.height);const d=jt(()=>{s.dispose(),l.disposeElement(u,e.startIndex,c,e.height),l.disposeTemplate(c),o.remove()});return{element:o,disposable:d}}setAccessibilityAttributes(e,t,i,r){var o;if(!this.accessibilityProvider)return Fe.None;this.accessibilityProvider.getSetSize&&e.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(t,i,r))),this.accessibilityProvider.getPosInSet&&e.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(t,i))),this.accessibilityProvider.getRole&&e.setAttribute("role",(o=this.accessibilityProvider.getRole(t))!==null&&o!==void 0?o:"treeitem");const s=this.accessibilityProvider.getAriaLabel(t),a=s&&typeof s!="string"?s:Bh(s),l=Rn(c=>{const d=c.readObservable(a);d?e.setAttribute("aria-label",d):e.removeAttribute("aria-label")});typeof s=="string"||s&&e.setAttribute("aria-label",s.get());const u=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(t);return typeof u=="number"&&e.setAttribute("aria-level",`${u}`),e.setAttribute("aria-selected",String(!1)),l}setVisible(e){this._rootDomNode.classList.toggle("empty",!e),e||this.stickyScrollFocus.updateElements([],void 0)}domFocus(){this.stickyScrollFocus.domFocus()}focusedLast(){return this.stickyScrollFocus.focusedLast()}dispose(){this.stickyScrollFocus.dispose(),this._previousStateDisposables.dispose(),this._rootDomNode.remove()}};class rNt extends Fe{get domHasFocus(){return this._domHasFocus}set domHasFocus(e){e!==this._domHasFocus&&(this._onDidChangeHasFocus.fire(e),this._domHasFocus=e)}constructor(e,t){super(),this.container=e,this.view=t,this.focusedIndex=-1,this.elements=[],this._onDidChangeHasFocus=new be,this.onDidChangeHasFocus=this._onDidChangeHasFocus.event,this._onContextMenu=new be,this.onContextMenu=this._onContextMenu.event,this._domHasFocus=!1,this.container.addEventListener("focus",()=>this.onFocus()),this.container.addEventListener("blur",()=>this.onBlur()),this._register(this.view.onDidFocus(()=>this.toggleStickyScrollFocused(!1))),this._register(this.view.onKeyDown(i=>this.onKeyDown(i))),this._register(this.view.onMouseDown(i=>this.onMouseDown(i))),this._register(this.view.onContextMenu(i=>this.handleContextMenu(i)))}handleContextMenu(e){const t=e.browserEvent.target;if(!OD(t)&&!PD(t)){this.focusedLast()&&this.view.domFocus();return}if(!jb(e.browserEvent)){if(!this.state)throw new Error("Context menu should not be triggered when state is undefined");const s=this.state.stickyNodes.findIndex(a=>{var l;return a.node.element===((l=e.element)===null||l===void 0?void 0:l.element)});if(s===-1)throw new Error("Context menu should not be triggered when element is not in sticky scroll widget");this.container.focus(),this.setFocus(s);return}if(!this.state||this.focusedIndex<0)throw new Error("Context menu key should not be triggered when focus is not in sticky scroll widget");const r=this.state.stickyNodes[this.focusedIndex].node.element,o=this.elements[this.focusedIndex];this._onContextMenu.fire({element:r,anchor:o,browserEvent:e.browserEvent,isStickyScroll:!0})}onKeyDown(e){if(this.domHasFocus&&this.state){if(e.key==="ArrowUp")this.setFocusedElement(Math.max(0,this.focusedIndex-1)),e.preventDefault(),e.stopPropagation();else if(e.key==="ArrowDown"||e.key==="ArrowRight"){if(this.focusedIndex>=this.state.count-1){const t=this.state.stickyNodes[this.state.count-1].startIndex+1;this.view.domFocus(),this.view.setFocus([t]),this.scrollNodeUnderWidget(t,this.state)}else this.setFocusedElement(this.focusedIndex+1);e.preventDefault(),e.stopPropagation()}}}onMouseDown(e){const t=e.browserEvent.target;!OD(t)&&!PD(t)||(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation())}updateElements(e,t){if(t&&t.count===0)throw new Error("Sticky scroll state must be undefined when there are no sticky nodes");if(t&&t.count!==e.length)throw new Error("Sticky scroll focus received illigel state");const i=this.focusedIndex;if(this.removeFocus(),this.elements=e,this.state=t,t){const r=al(i,0,t.count-1);this.setFocus(r)}else this.domHasFocus&&this.view.domFocus();this.container.tabIndex=t?0:-1}setFocusedElement(e){const t=this.state;if(!t)throw new Error("Cannot set focus when state is undefined");if(this.setFocus(e),!(e1?t.stickyNodes[t.count-2]:void 0,o=this.view.getElementTop(e),s=r?r.position+r.height+i.height:i.height;this.view.scrollTop=o-s}domFocus(){if(!this.state)throw new Error("Cannot focus when state is undefined");this.container.focus()}focusedLast(){return this.state?this.view.getHTMLElement().classList.contains("sticky-scroll-focused"):!1}removeFocus(){this.focusedIndex!==-1&&(this.toggleElementFocus(this.elements[this.focusedIndex],!1),this.focusedIndex=-1)}setFocus(e){if(0>e)throw new Error("addFocus() can not remove focus");if(!this.state&&e>=0)throw new Error("Cannot set focus index when state is undefined");if(this.state&&e>=this.state.count)throw new Error("Cannot set focus index to an index that does not exist");const t=this.focusedIndex;t>=0&&this.toggleElementFocus(this.elements[t],!1),e>=0&&this.toggleElementFocus(this.elements[e],!0),this.focusedIndex=e}toggleElementFocus(e,t){this.toggleElementActiveFocus(e,t&&this.domHasFocus),this.toggleElementPassiveFocus(e,t)}toggleCurrentElementActiveFocus(e){this.focusedIndex!==-1&&this.toggleElementActiveFocus(this.elements[this.focusedIndex],e)}toggleElementActiveFocus(e,t){e.classList.toggle("focused",t)}toggleElementPassiveFocus(e,t){e.classList.toggle("passive-focused",t)}toggleStickyScrollFocused(e){this.view.getHTMLElement().classList.toggle("sticky-scroll-focused",e)}onFocus(){if(!this.state||this.elements.length===0)throw new Error("Cannot focus when state is undefined or elements are empty");this.domHasFocus=!0,this.toggleStickyScrollFocused(!0),this.toggleCurrentElementActiveFocus(!0),this.focusedIndex===-1&&this.setFocus(0)}onBlur(){this.domHasFocus=!1,this.toggleCurrentElementActiveFocus(!1)}dispose(){this.toggleStickyScrollFocused(!1),this._onDidChangeHasFocus.fire(!1),super.dispose()}}function g3(n){let e=Kv.Unknown;return CY(n.browserEvent.target,"monaco-tl-twistie","monaco-tl-row")?e=Kv.Twistie:CY(n.browserEvent.target,"monaco-tl-contents","monaco-tl-row")?e=Kv.Element:CY(n.browserEvent.target,"monaco-tree-type-filter","monaco-list")&&(e=Kv.Filter),{browserEvent:n.browserEvent,element:n.element?n.element.element:null,target:e}}function oNt(n){const e=OD(n.browserEvent.target);return{element:n.element?n.element.element:null,browserEvent:n.browserEvent,anchor:n.anchor,isStickyScroll:e}}function p3(n,e){e(n),n.children.forEach(t=>p3(t,e))}class HJ{get nodeSet(){return this._nodeSet||(this._nodeSet=this.createNodeSet()),this._nodeSet}constructor(e,t){this.getFirstViewElementWithTrait=e,this.identityProvider=t,this.nodes=[],this._onDidChange=new be,this.onDidChange=this._onDidChange.event}set(e,t){!(t!=null&&t.__forceEvent)&&Nr(this.nodes,e)||this._set(e,!1,t)}_set(e,t,i){if(this.nodes=[...e],this.elements=void 0,this._nodeSet=void 0,!t){const r=this;this._onDidChange.fire({get elements(){return r.get()},browserEvent:i})}}get(){return this.elements||(this.elements=this.nodes.map(e=>e.element)),[...this.elements]}getNodes(){return this.nodes}has(e){return this.nodeSet.has(e)}onDidModelSplice({insertedNodes:e,deletedNodes:t}){if(!this.identityProvider){const l=this.createNodeSet(),u=c=>l.delete(c);t.forEach(c=>p3(c,u)),this.set([...l.values()]);return}const i=new Set,r=l=>i.add(this.identityProvider.getId(l.element).toString());t.forEach(l=>p3(l,r));const o=new Map,s=l=>o.set(this.identityProvider.getId(l.element).toString(),l);e.forEach(l=>p3(l,s));const a=[];for(const l of this.nodes){const u=this.identityProvider.getId(l.element).toString();if(!i.has(u))a.push(l);else{const d=o.get(u);d&&d.visible&&a.push(d)}}if(this.nodes.length>0&&a.length===0){const l=this.getFirstViewElementWithTrait();l&&a.push(l)}this._set(a,!0)}createNodeSet(){const e=new Set;for(const t of this.nodes)e.add(t);return e}}class sNt extends cSe{constructor(e,t,i){super(e),this.tree=t,this.stickyScrollProvider=i}onViewPointer(e){if(oSe(e.browserEvent.target)||_0(e.browserEvent.target)||XD(e.browserEvent.target)||e.browserEvent.isHandledByList)return;const t=e.element;if(!t)return super.onViewPointer(e);if(this.isSelectionRangeChangeEvent(e)||this.isSelectionSingleChangeEvent(e))return super.onViewPointer(e);const i=e.browserEvent.target,r=i.classList.contains("monaco-tl-twistie")||i.classList.contains("monaco-icon-label")&&i.classList.contains("folder-icon")&&e.browserEvent.offsetX<16,o=PD(e.browserEvent.target);let s=!1;if(o?s=!0:typeof this.tree.expandOnlyOnTwistieClick=="function"?s=this.tree.expandOnlyOnTwistieClick(t.element):s=!!this.tree.expandOnlyOnTwistieClick,o)this.handleStickyScrollMouseEvent(e,t);else{if(s&&!r&&e.browserEvent.detail!==2)return super.onViewPointer(e);if(!this.tree.expandOnDoubleClick&&e.browserEvent.detail===2)return super.onViewPointer(e)}if(t.collapsible&&(!o||r)){const a=this.tree.getNodeLocation(t),l=e.browserEvent.altKey;if(this.tree.setFocus([a]),this.tree.toggleCollapsed(a,l),s&&r){e.browserEvent.isHandledByList=!0;return}}o||super.onViewPointer(e)}handleStickyScrollMouseEvent(e,t){if(Dxt(e.browserEvent.target)||Nxt(e.browserEvent.target))return;const i=this.stickyScrollProvider();if(!i)throw new Error("Sticky scroll controller not found");const r=this.list.indexOf(t),o=this.list.getElementTop(r),s=i.nodePositionTopBelowWidget(t);this.tree.scrollTop=o-s,this.list.domFocus(),this.list.setFocus([r]),this.list.setSelection([r])}onDoubleClick(e){e.browserEvent.target.classList.contains("monaco-tl-twistie")||!this.tree.expandOnDoubleClick||e.browserEvent.isHandledByList||super.onDoubleClick(e)}onMouseDown(e){const t=e.browserEvent.target;if(!OD(t)&&!PD(t)){super.onMouseDown(e);return}}onContextMenu(e){const t=e.browserEvent.target;if(!OD(t)&&!PD(t)){super.onContextMenu(e);return}}}class aNt extends Ju{constructor(e,t,i,r,o,s,a,l){super(e,t,i,r,l),this.focusTrait=o,this.selectionTrait=s,this.anchorTrait=a}createMouseController(e){return new sNt(this,e.tree,e.stickyScrollProvider)}splice(e,t,i=[]){if(super.splice(e,t,i),i.length===0)return;const r=[],o=[];let s;i.forEach((a,l)=>{this.focusTrait.has(a)&&r.push(e+l),this.selectionTrait.has(a)&&o.push(e+l),this.anchorTrait.has(a)&&(s=e+l)}),r.length>0&&super.setFocus(Zg([...super.getFocus(),...r])),o.length>0&&super.setSelection(Zg([...super.getSelection(),...o])),typeof s=="number"&&super.setAnchor(s)}setFocus(e,t,i=!1){super.setFocus(e,t),i||this.focusTrait.set(e.map(r=>this.element(r)),t)}setSelection(e,t,i=!1){super.setSelection(e,t),i||this.selectionTrait.set(e.map(r=>this.element(r)),t)}setAnchor(e,t=!1){super.setAnchor(e),t||(typeof e>"u"?this.anchorTrait.set([]):this.anchorTrait.set([this.element(e)]))}}class lxe{get onDidScroll(){return this.view.onDidScroll}get onDidChangeFocus(){return this.eventBufferer.wrapEvent(this.focus.onDidChange)}get onDidChangeSelection(){return this.eventBufferer.wrapEvent(this.selection.onDidChange)}get onMouseDblClick(){return lt.filter(lt.map(this.view.onMouseDblClick,g3),e=>e.target!==Kv.Filter)}get onMouseOver(){return lt.map(this.view.onMouseOver,g3)}get onMouseOut(){return lt.map(this.view.onMouseOut,g3)}get onContextMenu(){var e,t;return lt.any(lt.filter(lt.map(this.view.onContextMenu,oNt),i=>!i.isStickyScroll),(t=(e=this.stickyScrollController)===null||e===void 0?void 0:e.onContextMenu)!==null&&t!==void 0?t:lt.None)}get onPointer(){return lt.map(this.view.onPointer,g3)}get onKeyDown(){return this.view.onKeyDown}get onDidFocus(){return this.view.onDidFocus}get onDidChangeModel(){return lt.signal(this.model.onDidSplice)}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get findMode(){var e,t;return(t=(e=this.findController)===null||e===void 0?void 0:e.mode)!==null&&t!==void 0?t:Lp.Highlight}set findMode(e){this.findController&&(this.findController.mode=e)}get findMatchType(){var e,t;return(t=(e=this.findController)===null||e===void 0?void 0:e.matchType)!==null&&t!==void 0?t:Jv.Fuzzy}set findMatchType(e){this.findController&&(this.findController.matchType=e)}get expandOnDoubleClick(){return typeof this._options.expandOnDoubleClick>"u"?!0:this._options.expandOnDoubleClick}get expandOnlyOnTwistieClick(){return typeof this._options.expandOnlyOnTwistieClick>"u"?!0:this._options.expandOnlyOnTwistieClick}get onDidDispose(){return this.view.onDidDispose}constructor(e,t,i,r,o={}){var s;this._user=e,this._options=o,this.eventBufferer=new PH,this.onDidChangeFindOpenState=lt.None,this.onDidChangeStickyScrollFocused=lt.None,this.disposables=new Je,this._onWillRefilter=new be,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new be,this.treeDelegate=new zJ(i);const a=new Abe,l=new Abe,u=this.disposables.add(new QDt(l.event)),c=new VY;this.renderers=r.map(g=>new _N(g,()=>this.model,a.event,u,c,o));for(const g of this.renderers)this.disposables.add(g);let d;o.keyboardNavigationLabelProvider&&(d=new $Dt(this,o.keyboardNavigationLabelProvider,o.filter),o={...o,filter:d},this.disposables.add(d)),this.focus=new HJ(()=>this.view.getFocusedElements()[0],o.identityProvider),this.selection=new HJ(()=>this.view.getSelectedElements()[0],o.identityProvider),this.anchor=new HJ(()=>this.view.getAnchorElement(),o.identityProvider),this.view=new aNt(e,t,this.treeDelegate,this.renderers,this.focus,this.selection,this.anchor,{...jDt(()=>this.model,o),tree:this,stickyScrollProvider:()=>this.stickyScrollController}),this.model=this.createModel(e,this.view,o),a.input=this.model.onDidChangeCollapseState;const h=lt.forEach(this.model.onDidSplice,g=>{this.eventBufferer.bufferEvents(()=>{this.focus.onDidModelSplice(g),this.selection.onDidModelSplice(g)})},this.disposables);h(()=>null,null,this.disposables);const m=this.disposables.add(new be),f=this.disposables.add(new Ld(0));if(this.disposables.add(lt.any(h,this.focus.onDidChange,this.selection.onDidChange)(()=>{f.trigger(()=>{const g=new Set;for(const b of this.focus.getNodes())g.add(b);for(const b of this.selection.getNodes())g.add(b);m.fire([...g.values()])})})),l.input=m.event,o.keyboardSupport!==!1){const g=lt.chain(this.view.onKeyDown,b=>b.filter(y=>!_0(y.target)).map(y=>new or(y)));lt.chain(g,b=>b.filter(y=>y.keyCode===15))(this.onLeftArrow,this,this.disposables),lt.chain(g,b=>b.filter(y=>y.keyCode===17))(this.onRightArrow,this,this.disposables),lt.chain(g,b=>b.filter(y=>y.keyCode===10))(this.onSpace,this,this.disposables)}if((!((s=o.findWidgetEnabled)!==null&&s!==void 0)||s)&&o.keyboardNavigationLabelProvider&&o.contextViewProvider){const g=this.options.findWidgetStyles?{styles:this.options.findWidgetStyles}:void 0;this.findController=new qDt(this,this.model,this.view,d,o.contextViewProvider,g),this.focusNavigationFilter=b=>this.findController.shouldAllowFocus(b),this.onDidChangeFindOpenState=this.findController.onDidChangeOpenState,this.disposables.add(this.findController),this.onDidChangeFindMode=this.findController.onDidChangeMode,this.onDidChangeFindMatchType=this.findController.onDidChangeMatchType}else this.onDidChangeFindMode=lt.None,this.onDidChangeFindMatchType=lt.None;o.enableStickyScroll&&(this.stickyScrollController=new axe(this,this.model,this.view,this.renderers,this.treeDelegate,o),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus),this.styleElement=Vu(this.view.getHTMLElement()),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===q2.Always)}updateOptions(e={}){var t;this._options={...this._options,...e};for(const i of this.renderers)i.updateOptions(e);this.view.updateOptions(this._options),(t=this.findController)===null||t===void 0||t.updateOptions(e),this.updateStickyScroll(e),this._onDidUpdateOptions.fire(this._options),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===q2.Always)}get options(){return this._options}updateStickyScroll(e){var t;!this.stickyScrollController&&this._options.enableStickyScroll?(this.stickyScrollController=new axe(this,this.model,this.view,this.renderers,this.treeDelegate,this._options),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus):this.stickyScrollController&&!this._options.enableStickyScroll&&(this.onDidChangeStickyScrollFocused=lt.None,this.stickyScrollController.dispose(),this.stickyScrollController=void 0),(t=this.stickyScrollController)===null||t===void 0||t.updateOptions(e)}getHTMLElement(){return this.view.getHTMLElement()}get scrollTop(){return this.view.scrollTop}set scrollTop(e){this.view.scrollTop=e}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get ariaLabel(){return this.view.ariaLabel}set ariaLabel(e){this.view.ariaLabel=e}domFocus(){var e;!((e=this.stickyScrollController)===null||e===void 0)&&e.focusedLast()?this.stickyScrollController.domFocus():this.view.domFocus()}layout(e,t){var i;this.view.layout(e,t),Wb(t)&&((i=this.findController)===null||i===void 0||i.layout(t))}style(e){var t;const i=`.${this.view.domId}`,r=[];e.treeIndentGuidesStroke&&(r.push(`.monaco-list${i}:hover .monaco-tl-indent > .indent-guide, .monaco-list${i}.always .monaco-tl-indent > .indent-guide { border-color: ${e.treeInactiveIndentGuidesStroke}; }`),r.push(`.monaco-list${i} .monaco-tl-indent > .indent-guide.active { border-color: ${e.treeIndentGuidesStroke}; }`)),e.listBackground&&(r.push(`.monaco-list${i} .monaco-scrollable-element .monaco-tree-sticky-container { background-color: ${e.listBackground}; }`),r.push(`.monaco-list${i} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row { background-color: ${e.listBackground}; }`)),e.listFocusForeground&&(r.push(`.monaco-list${i}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { color: ${e.listFocusForeground}; }`),r.push(`.monaco-list${i}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { color: inherit; }`));const o=Ng(e.listFocusAndSelectionOutline,Ng(e.listSelectionOutline,(t=e.listFocusOutline)!==null&&t!==void 0?t:""));o&&(r.push(`.monaco-list${i}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused.selected { outline: 1px solid ${o}; outline-offset: -1px;}`),r.push(`.monaco-list${i}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused.selected { outline: inherit;}`)),e.listFocusOutline&&(r.push(`.monaco-list${i}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }`),r.push(`.monaco-list${i}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { outline: inherit; }`),r.push(`.monaco-workbench.context-menu-visible .monaco-list${i}.last-focused.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.passive-focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }`),r.push(`.monaco-workbench.context-menu-visible .monaco-list${i}.last-focused.sticky-scroll-focused .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`),r.push(`.monaco-workbench.context-menu-visible .monaco-list${i}.last-focused:not(.sticky-scroll-focused) .monaco-tree-sticky-container .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`)),this.styleElement.textContent=r.join(` +`),this.view.style(e)}getParentElement(e){const t=this.model.getParentNodeLocation(e);return this.model.getNode(t).element}getFirstElementChild(e){return this.model.getFirstElementChild(e)}getNode(e){return this.model.getNode(e)}getNodeLocation(e){return this.model.getNodeLocation(e)}collapse(e,t=!1){return this.model.setCollapsed(e,!0,t)}expand(e,t=!1){return this.model.setCollapsed(e,!1,t)}toggleCollapsed(e,t=!1){return this.model.setCollapsed(e,void 0,t)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}refilter(){this._onWillRefilter.fire(void 0),this.model.refilter()}setSelection(e,t){this.eventBufferer.bufferEvents(()=>{const i=e.map(o=>this.model.getNode(o));this.selection.set(i,t);const r=e.map(o=>this.model.getListIndex(o)).filter(o=>o>-1);this.view.setSelection(r,t,!0)})}getSelection(){return this.selection.get()}setFocus(e,t){this.eventBufferer.bufferEvents(()=>{const i=e.map(o=>this.model.getNode(o));this.focus.set(i,t);const r=e.map(o=>this.model.getListIndex(o)).filter(o=>o>-1);this.view.setFocus(r,t,!0)})}focusNext(e=1,t=!1,i,r=jb(i)&&i.altKey?void 0:this.focusNavigationFilter){this.view.focusNext(e,t,i,r)}focusPrevious(e=1,t=!1,i,r=jb(i)&&i.altKey?void 0:this.focusNavigationFilter){this.view.focusPrevious(e,t,i,r)}focusNextPage(e,t=jb(e)&&e.altKey?void 0:this.focusNavigationFilter){return this.view.focusNextPage(e,t)}focusPreviousPage(e,t=jb(e)&&e.altKey?void 0:this.focusNavigationFilter){return this.view.focusPreviousPage(e,t,()=>{var i,r;return(r=(i=this.stickyScrollController)===null||i===void 0?void 0:i.height)!==null&&r!==void 0?r:0})}focusFirst(e,t=jb(e)&&e.altKey?void 0:this.focusNavigationFilter){this.view.focusFirst(e,t)}getFocus(){return this.focus.get()}reveal(e,t){this.model.expandTo(e);const i=this.model.getListIndex(e);if(i!==-1)if(!this.stickyScrollController)this.view.reveal(i,t);else{const r=this.stickyScrollController.nodePositionTopBelowWidget(this.getNode(e));this.view.reveal(i,t,r)}}onLeftArrow(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(t.length===0)return;const i=t[0],r=this.model.getNodeLocation(i);if(!this.model.setCollapsed(r,!0)){const s=this.model.getParentNodeLocation(r);if(!s)return;const a=this.model.getListIndex(s);this.view.reveal(a),this.view.setFocus([a])}}onRightArrow(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(t.length===0)return;const i=t[0],r=this.model.getNodeLocation(i);if(!this.model.setCollapsed(r,!1)){if(!i.children.some(l=>l.visible))return;const[s]=this.view.getFocus(),a=s+1;this.view.reveal(a),this.view.setFocus([a])}}onSpace(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(t.length===0)return;const i=t[0],r=this.model.getNodeLocation(i),o=e.browserEvent.altKey;this.model.setCollapsed(r,void 0,o)}dispose(){var e;qi(this.disposables),(e=this.stickyScrollController)===null||e===void 0||e.dispose(),this.view.dispose()}}class YJ{constructor(e,t,i={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.nodesByIdentity=new Map,this.model=new UDt(e,t,null,i),this.onDidSplice=this.model.onDidSplice,this.onDidChangeCollapseState=this.model.onDidChangeCollapseState,this.onDidChangeRenderNodeCount=this.model.onDidChangeRenderNodeCount,i.sorter&&(this.sorter={compare(r,o){return i.sorter.compare(r.element,o.element)}}),this.identityProvider=i.identityProvider}setChildren(e,t=Qn.empty(),i={}){const r=this.getElementLocation(e);this._setChildren(r,this.preserveCollapseState(t),i)}_setChildren(e,t=Qn.empty(),i){const r=new Set,o=new Set,s=l=>{var u;if(l.element===null)return;const c=l;if(r.add(c.element),this.nodes.set(c.element,c),this.identityProvider){const d=this.identityProvider.getId(c.element).toString();o.add(d),this.nodesByIdentity.set(d,c)}(u=i.onDidCreateNode)===null||u===void 0||u.call(i,c)},a=l=>{var u;if(l.element===null)return;const c=l;if(r.has(c.element)||this.nodes.delete(c.element),this.identityProvider){const d=this.identityProvider.getId(c.element).toString();o.has(d)||this.nodesByIdentity.delete(d)}(u=i.onDidDeleteNode)===null||u===void 0||u.call(i,c)};this.model.splice([...e,0],Number.MAX_VALUE,t,{...i,onDidCreateNode:s,onDidDeleteNode:a})}preserveCollapseState(e=Qn.empty()){return this.sorter&&(e=[...e].sort(this.sorter.compare.bind(this.sorter))),Qn.map(e,t=>{let i=this.nodes.get(t.element);if(!i&&this.identityProvider){const s=this.identityProvider.getId(t.element).toString();i=this.nodesByIdentity.get(s)}if(!i){let s;return typeof t.collapsed>"u"?s=void 0:t.collapsed===$u.Collapsed||t.collapsed===$u.PreserveOrCollapsed?s=!0:t.collapsed===$u.Expanded||t.collapsed===$u.PreserveOrExpanded?s=!1:s=!!t.collapsed,{...t,children:this.preserveCollapseState(t.children),collapsed:s}}const r=typeof t.collapsible=="boolean"?t.collapsible:i.collapsible;let o;return typeof t.collapsed>"u"||t.collapsed===$u.PreserveOrCollapsed||t.collapsed===$u.PreserveOrExpanded?o=i.collapsed:t.collapsed===$u.Collapsed?o=!0:t.collapsed===$u.Expanded?o=!1:o=!!t.collapsed,{...t,collapsible:r,collapsed:o,children:this.preserveCollapseState(t.children)}})}rerender(e){const t=this.getElementLocation(e);this.model.rerender(t)}getFirstElementChild(e=null){const t=this.getElementLocation(e);return this.model.getFirstElementChild(t)}has(e){return this.nodes.has(e)}getListIndex(e){const t=this.getElementLocation(e);return this.model.getListIndex(t)}getListRenderCount(e){const t=this.getElementLocation(e);return this.model.getListRenderCount(t)}isCollapsible(e){const t=this.getElementLocation(e);return this.model.isCollapsible(t)}setCollapsible(e,t){const i=this.getElementLocation(e);return this.model.setCollapsible(i,t)}isCollapsed(e){const t=this.getElementLocation(e);return this.model.isCollapsed(t)}setCollapsed(e,t,i){const r=this.getElementLocation(e);return this.model.setCollapsed(r,t,i)}expandTo(e){const t=this.getElementLocation(e);this.model.expandTo(t)}refilter(){this.model.refilter()}getNode(e=null){if(e===null)return this.model.getNode(this.model.rootRef);const t=this.nodes.get(e);if(!t)throw new qu(this.user,`Tree element not found: ${e}`);return t}getNodeLocation(e){return e.element}getParentNodeLocation(e){if(e===null)throw new qu(this.user,"Invalid getParentNodeLocation call");const t=this.nodes.get(e);if(!t)throw new qu(this.user,`Tree element not found: ${e}`);const i=this.model.getNodeLocation(t),r=this.model.getParentNodeLocation(i);return this.model.getNode(r).element}getElementLocation(e){if(e===null)return[];const t=this.nodes.get(e);if(!t)throw new qu(this.user,`Tree element not found: ${e}`);return this.model.getNodeLocation(t)}}function b3(n){const e=[n.element],t=n.incompressible||!1;return{element:{elements:e,incompressible:t},children:Qn.map(Qn.from(n.children),b3),collapsible:n.collapsible,collapsed:n.collapsed}}function y3(n){const e=[n.element],t=n.incompressible||!1;let i,r;for(;[r,i]=Qn.consume(Qn.from(n.children),2),!(r.length!==1||r[0].incompressible);)n=r[0],e.push(n.element);return{element:{elements:e,incompressible:t},children:Qn.map(Qn.concat(r,i),y3),collapsible:n.collapsible,collapsed:n.collapsed}}function UJ(n,e=0){let t;return eUJ(i,0)),e===0&&n.element.incompressible?{element:n.element.elements[e],children:t,incompressible:!0,collapsible:n.collapsible,collapsed:n.collapsed}:{element:n.element.elements[e],children:t,collapsible:n.collapsible,collapsed:n.collapsed}}function uxe(n){return UJ(n,0)}function cxe(n,e,t){return n.element===e?{...n,children:t}:{...n,children:Qn.map(Qn.from(n.children),i=>cxe(i,e,t))}}const lNt=n=>({getId(e){return e.elements.map(t=>n.getId(t).toString()).join("\0")}});class uNt{get onDidSplice(){return this.model.onDidSplice}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get onDidChangeRenderNodeCount(){return this.model.onDidChangeRenderNodeCount}constructor(e,t,i={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.model=new YJ(e,t,i),this.enabled=typeof i.compressionEnabled>"u"?!0:i.compressionEnabled,this.identityProvider=i.identityProvider}setChildren(e,t=Qn.empty(),i){const r=i.diffIdentityProvider&&lNt(i.diffIdentityProvider);if(e===null){const f=Qn.map(t,this.enabled?y3:b3);this._setChildren(null,f,{diffIdentityProvider:r,diffDepth:1/0});return}const o=this.nodes.get(e);if(!o)throw new qu(this.user,"Unknown compressed tree node");const s=this.model.getNode(o),a=this.model.getParentNodeLocation(o),l=this.model.getNode(a),u=uxe(s),c=cxe(u,e,t),d=(this.enabled?y3:b3)(c),h=i.diffIdentityProvider?(f,g)=>i.diffIdentityProvider.getId(f)===i.diffIdentityProvider.getId(g):void 0;if(Nr(d.element.elements,s.element.elements,h)){this._setChildren(o,d.children||Qn.empty(),{diffIdentityProvider:r,diffDepth:1});return}const m=l.children.map(f=>f===s?d:f);this._setChildren(l.element,m,{diffIdentityProvider:r,diffDepth:s.depth-l.depth})}isCompressionEnabled(){return this.enabled}setCompressionEnabled(e){if(e===this.enabled)return;this.enabled=e;const i=this.model.getNode().children,r=Qn.map(i,uxe),o=Qn.map(r,e?y3:b3);this._setChildren(null,o,{diffIdentityProvider:this.identityProvider,diffDepth:1/0})}_setChildren(e,t,i){const r=new Set,o=a=>{for(const l of a.element.elements)r.add(l),this.nodes.set(l,a.element)},s=a=>{for(const l of a.element.elements)r.has(l)||this.nodes.delete(l)};this.model.setChildren(e,t,{...i,onDidCreateNode:o,onDidDeleteNode:s})}has(e){return this.nodes.has(e)}getListIndex(e){const t=this.getCompressedNode(e);return this.model.getListIndex(t)}getListRenderCount(e){const t=this.getCompressedNode(e);return this.model.getListRenderCount(t)}getNode(e){if(typeof e>"u")return this.model.getNode();const t=this.getCompressedNode(e);return this.model.getNode(t)}getNodeLocation(e){const t=this.model.getNodeLocation(e);return t===null?null:t.elements[t.elements.length-1]}getParentNodeLocation(e){const t=this.getCompressedNode(e),i=this.model.getParentNodeLocation(t);return i===null?null:i.elements[i.elements.length-1]}getFirstElementChild(e){const t=this.getCompressedNode(e);return this.model.getFirstElementChild(t)}isCollapsible(e){const t=this.getCompressedNode(e);return this.model.isCollapsible(t)}setCollapsible(e,t){const i=this.getCompressedNode(e);return this.model.setCollapsible(i,t)}isCollapsed(e){const t=this.getCompressedNode(e);return this.model.isCollapsed(t)}setCollapsed(e,t,i){const r=this.getCompressedNode(e);return this.model.setCollapsed(r,t,i)}expandTo(e){const t=this.getCompressedNode(e);this.model.expandTo(t)}rerender(e){const t=this.getCompressedNode(e);this.model.rerender(t)}refilter(){this.model.refilter()}getCompressedNode(e){if(e===null)return null;const t=this.nodes.get(e);if(!t)throw new qu(this.user,`Tree element not found: ${e}`);return t}}const cNt=n=>n[n.length-1];class KJ{get element(){return this.node.element===null?null:this.unwrapper(this.node.element)}get children(){return this.node.children.map(e=>new KJ(this.unwrapper,e))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e,t){this.unwrapper=e,this.node=t}}function dNt(n,e){return{splice(t,i,r){e.splice(t,i,r.map(o=>n.map(o)))},updateElementHeight(t,i){e.updateElementHeight(t,i)}}}function hNt(n,e){return{...e,identityProvider:e.identityProvider&&{getId(t){return e.identityProvider.getId(n(t))}},sorter:e.sorter&&{compare(t,i){return e.sorter.compare(t.elements[0],i.elements[0])}},filter:e.filter&&{filter(t,i){return e.filter.filter(n(t),i)}}}}class mNt{get onDidSplice(){return lt.map(this.model.onDidSplice,({insertedNodes:e,deletedNodes:t})=>({insertedNodes:e.map(i=>this.nodeMapper.map(i)),deletedNodes:t.map(i=>this.nodeMapper.map(i))}))}get onDidChangeCollapseState(){return lt.map(this.model.onDidChangeCollapseState,({node:e,deep:t})=>({node:this.nodeMapper.map(e),deep:t}))}get onDidChangeRenderNodeCount(){return lt.map(this.model.onDidChangeRenderNodeCount,e=>this.nodeMapper.map(e))}constructor(e,t,i={}){this.rootRef=null,this.elementMapper=i.elementMapper||cNt;const r=o=>this.elementMapper(o.elements);this.nodeMapper=new XJ(o=>new KJ(r,o)),this.model=new uNt(e,dNt(this.nodeMapper,t),hNt(r,i))}setChildren(e,t=Qn.empty(),i={}){this.model.setChildren(e,t,i)}isCompressionEnabled(){return this.model.isCompressionEnabled()}setCompressionEnabled(e){this.model.setCompressionEnabled(e)}has(e){return this.model.has(e)}getListIndex(e){return this.model.getListIndex(e)}getListRenderCount(e){return this.model.getListRenderCount(e)}getNode(e){return this.nodeMapper.map(this.model.getNode(e))}getNodeLocation(e){return e.element}getParentNodeLocation(e){return this.model.getParentNodeLocation(e)}getFirstElementChild(e){const t=this.model.getFirstElementChild(e);return t===null||typeof t>"u"?t:this.elementMapper(t.elements)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}setCollapsed(e,t,i){return this.model.setCollapsed(e,t,i)}expandTo(e){return this.model.expandTo(e)}rerender(e){return this.model.rerender(e)}refilter(){return this.model.refilter()}getCompressedTreeNode(e=null){return this.model.getNode(e)}}var fNt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o};class JJ extends lxe{get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}constructor(e,t,i,r,o={}){super(e,t,i,r,o),this.user=e}setChildren(e,t=Qn.empty(),i){this.model.setChildren(e,t,i)}rerender(e){if(e===void 0){this.view.rerender();return}this.model.rerender(e)}hasElement(e){return this.model.has(e)}createModel(e,t,i){return new YJ(e,t,i)}}class dxe{get compressedTreeNodeProvider(){return this._compressedTreeNodeProvider()}constructor(e,t,i){this._compressedTreeNodeProvider=e,this.stickyScrollDelegate=t,this.renderer=i,this.templateId=i.templateId,i.onDidChangeTwistieState&&(this.onDidChangeTwistieState=i.onDidChangeTwistieState)}renderTemplate(e){return{compressedTreeNode:void 0,data:this.renderer.renderTemplate(e)}}renderElement(e,t,i,r){let o=this.stickyScrollDelegate.getCompressedNode(e);o||(o=this.compressedTreeNodeProvider.getCompressedTreeNode(e.element)),o.element.elements.length===1?(i.compressedTreeNode=void 0,this.renderer.renderElement(e,t,i.data,r)):(i.compressedTreeNode=o,this.renderer.renderCompressedElements(o,t,i.data,r))}disposeElement(e,t,i,r){var o,s,a,l;i.compressedTreeNode?(s=(o=this.renderer).disposeCompressedElements)===null||s===void 0||s.call(o,i.compressedTreeNode,t,i.data,r):(l=(a=this.renderer).disposeElement)===null||l===void 0||l.call(a,e,t,i.data,r)}disposeTemplate(e){this.renderer.disposeTemplate(e.data)}renderTwistie(e,t){return this.renderer.renderTwistie?this.renderer.renderTwistie(e,t):!1}}fNt([io],dxe.prototype,"compressedTreeNodeProvider",null);class gNt{constructor(e){this.modelProvider=e,this.compressedStickyNodes=new Map}getCompressedNode(e){return this.compressedStickyNodes.get(e)}constrainStickyScrollNodes(e,t,i){if(this.compressedStickyNodes.clear(),e.length===0)return[];for(let r=0;ri||r>=t-1&&tthis,a=new gNt(()=>this.model),l=r.map(u=>new dxe(s,a,u));super(e,t,i,l,{...pNt(s,o),stickyScrollDelegate:a})}setChildren(e,t=Qn.empty(),i){this.model.setChildren(e,t,i)}createModel(e,t,i){return new mNt(e,t,i)}updateOptions(e={}){super.updateOptions(e),typeof e.compressionEnabled<"u"&&this.model.setCompressionEnabled(e.compressionEnabled)}getCompressedTreeNode(e=null){return this.model.getCompressedTreeNode(e)}}function jJ(n){return{...n,children:[],refreshPromise:void 0,stale:!0,slow:!1,forceExpanded:!1}}function QJ(n,e){return e.parent?e.parent===n?!0:QJ(n,e.parent):!1}function bNt(n,e){return n===e||QJ(n,e)||QJ(e,n)}class $J{get element(){return this.node.element.element}get children(){return this.node.children.map(e=>new $J(e))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e){this.node=e}}class yNt{constructor(e,t,i){this.renderer=e,this.nodeMapper=t,this.onDidChangeTwistieState=i,this.renderedNodes=new Map,this.templateId=e.templateId}renderTemplate(e){return{templateData:this.renderer.renderTemplate(e)}}renderElement(e,t,i,r){this.renderer.renderElement(this.nodeMapper.map(e),t,i.templateData,r)}renderTwistie(e,t){return e.slow?(t.classList.add(...sn.asClassNameArray(ut.treeItemLoading)),!0):(t.classList.remove(...sn.asClassNameArray(ut.treeItemLoading)),!1)}disposeElement(e,t,i,r){var o,s;(s=(o=this.renderer).disposeElement)===null||s===void 0||s.call(o,this.nodeMapper.map(e),t,i.templateData,r)}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}dispose(){this.renderedNodes.clear()}}function mxe(n){return{browserEvent:n.browserEvent,elements:n.elements.map(e=>e.element)}}function fxe(n){return{browserEvent:n.browserEvent,element:n.element&&n.element.element,target:n.target}}class vNt extends VD{constructor(e){super(e.elements.map(t=>t.element)),this.data=e}}function qJ(n){return n instanceof VD?new vNt(n):n}class CNt{constructor(e){this.dnd=e}getDragURI(e){return this.dnd.getDragURI(e.element)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e.map(i=>i.element),t)}onDragStart(e,t){var i,r;(r=(i=this.dnd).onDragStart)===null||r===void 0||r.call(i,qJ(e),t)}onDragOver(e,t,i,r,o,s=!0){return this.dnd.onDragOver(qJ(e),t&&t.element,i,r,o)}drop(e,t,i,r,o){this.dnd.drop(qJ(e),t&&t.element,i,r,o)}onDragEnd(e){var t,i;(i=(t=this.dnd).onDragEnd)===null||i===void 0||i.call(t,e)}dispose(){this.dnd.dispose()}}function gxe(n){return n&&{...n,collapseByDefault:!0,identityProvider:n.identityProvider&&{getId(e){return n.identityProvider.getId(e.element)}},dnd:n.dnd&&new CNt(n.dnd),multipleSelectionController:n.multipleSelectionController&&{isSelectionSingleChangeEvent(e){return n.multipleSelectionController.isSelectionSingleChangeEvent({...e,element:e.element})},isSelectionRangeChangeEvent(e){return n.multipleSelectionController.isSelectionRangeChangeEvent({...e,element:e.element})}},accessibilityProvider:n.accessibilityProvider&&{...n.accessibilityProvider,getPosInSet:void 0,getSetSize:void 0,getRole:n.accessibilityProvider.getRole?e=>n.accessibilityProvider.getRole(e.element):()=>"treeitem",isChecked:n.accessibilityProvider.isChecked?e=>{var t;return!!(!((t=n.accessibilityProvider)===null||t===void 0)&&t.isChecked(e.element))}:void 0,getAriaLabel(e){return n.accessibilityProvider.getAriaLabel(e.element)},getWidgetAriaLabel(){return n.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:n.accessibilityProvider.getWidgetRole?()=>n.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:n.accessibilityProvider.getAriaLevel&&(e=>n.accessibilityProvider.getAriaLevel(e.element)),getActiveDescendantId:n.accessibilityProvider.getActiveDescendantId&&(e=>n.accessibilityProvider.getActiveDescendantId(e.element))},filter:n.filter&&{filter(e,t){return n.filter.filter(e.element,t)}},keyboardNavigationLabelProvider:n.keyboardNavigationLabelProvider&&{...n.keyboardNavigationLabelProvider,getKeyboardNavigationLabel(e){return n.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e.element)}},sorter:void 0,expandOnlyOnTwistieClick:typeof n.expandOnlyOnTwistieClick>"u"?void 0:typeof n.expandOnlyOnTwistieClick!="function"?n.expandOnlyOnTwistieClick:e=>n.expandOnlyOnTwistieClick(e.element),defaultFindVisibility:e=>e.hasChildren&&e.stale?1:typeof n.defaultFindVisibility=="number"?n.defaultFindVisibility:typeof n.defaultFindVisibility>"u"?2:n.defaultFindVisibility(e.element)}}function e8(n,e){e(n),n.children.forEach(t=>e8(t,e))}class pxe{get onDidScroll(){return this.tree.onDidScroll}get onDidChangeFocus(){return lt.map(this.tree.onDidChangeFocus,mxe)}get onDidChangeSelection(){return lt.map(this.tree.onDidChangeSelection,mxe)}get onMouseDblClick(){return lt.map(this.tree.onMouseDblClick,fxe)}get onPointer(){return lt.map(this.tree.onPointer,fxe)}get onDidFocus(){return this.tree.onDidFocus}get onDidChangeModel(){return this.tree.onDidChangeModel}get onDidChangeCollapseState(){return this.tree.onDidChangeCollapseState}get onDidChangeFindOpenState(){return this.tree.onDidChangeFindOpenState}get onDidChangeStickyScrollFocused(){return this.tree.onDidChangeStickyScrollFocused}get onDidDispose(){return this.tree.onDidDispose}constructor(e,t,i,r,o,s={}){this.user=e,this.dataSource=o,this.nodes=new Map,this.subTreeRefreshPromises=new Map,this.refreshPromises=new Map,this._onDidRender=new be,this._onDidChangeNodeSlowState=new be,this.nodeMapper=new XJ(a=>new $J(a)),this.disposables=new Je,this.identityProvider=s.identityProvider,this.autoExpandSingleChildren=typeof s.autoExpandSingleChildren>"u"?!1:s.autoExpandSingleChildren,this.sorter=s.sorter,this.getDefaultCollapseState=a=>s.collapseByDefault?s.collapseByDefault(a)?$u.PreserveOrCollapsed:$u.PreserveOrExpanded:void 0,this.tree=this.createTree(e,t,i,r,s),this.onDidChangeFindMode=this.tree.onDidChangeFindMode,this.onDidChangeFindMatchType=this.tree.onDidChangeFindMatchType,this.root=jJ({element:void 0,parent:null,hasChildren:!0,defaultCollapseState:void 0}),this.identityProvider&&(this.root={...this.root,id:null}),this.nodes.set(null,this.root),this.tree.onDidChangeCollapseState(this._onDidChangeCollapseState,this,this.disposables)}createTree(e,t,i,r,o){const s=new zJ(i),a=r.map(u=>new yNt(u,this.nodeMapper,this._onDidChangeNodeSlowState.event)),l=gxe(o)||{};return new JJ(e,t,s,a,l)}updateOptions(e={}){this.tree.updateOptions(e)}getHTMLElement(){return this.tree.getHTMLElement()}get scrollTop(){return this.tree.scrollTop}set scrollTop(e){this.tree.scrollTop=e}get scrollHeight(){return this.tree.scrollHeight}get renderHeight(){return this.tree.renderHeight}domFocus(){this.tree.domFocus()}layout(e,t){this.tree.layout(e,t)}style(e){this.tree.style(e)}getInput(){return this.root.element}async setInput(e,t){this.refreshPromises.forEach(r=>r.cancel()),this.refreshPromises.clear(),this.root.element=e;const i=t&&{viewState:t,focus:[],selection:[]};await this._updateChildren(e,!0,!1,i),i&&(this.tree.setFocus(i.focus),this.tree.setSelection(i.selection)),t&&typeof t.scrollTop=="number"&&(this.scrollTop=t.scrollTop)}async _updateChildren(e=this.root.element,t=!0,i=!1,r,o){if(typeof this.root.element>"u")throw new qu(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await lt.toPromise(this._onDidRender.event));const s=this.getDataNode(e);if(await this.refreshAndRenderNode(s,t,r,o),i)try{this.tree.rerender(s)}catch{}}rerender(e){if(e===void 0||e===this.root.element){this.tree.rerender();return}const t=this.getDataNode(e);this.tree.rerender(t)}getNode(e=this.root.element){const t=this.getDataNode(e),i=this.tree.getNode(t===this.root?null:t);return this.nodeMapper.map(i)}collapse(e,t=!1){const i=this.getDataNode(e);return this.tree.collapse(i===this.root?null:i,t)}async expand(e,t=!1){if(typeof this.root.element>"u")throw new qu(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await lt.toPromise(this._onDidRender.event));const i=this.getDataNode(e);if(this.tree.hasElement(i)&&!this.tree.isCollapsible(i)||(i.refreshPromise&&(await this.root.refreshPromise,await lt.toPromise(this._onDidRender.event)),i!==this.root&&!i.refreshPromise&&!this.tree.isCollapsed(i)))return!1;const r=this.tree.expand(i===this.root?null:i,t);return i.refreshPromise&&(await this.root.refreshPromise,await lt.toPromise(this._onDidRender.event)),r}setSelection(e,t){const i=e.map(r=>this.getDataNode(r));this.tree.setSelection(i,t)}getSelection(){return this.tree.getSelection().map(t=>t.element)}setFocus(e,t){const i=e.map(r=>this.getDataNode(r));this.tree.setFocus(i,t)}getFocus(){return this.tree.getFocus().map(t=>t.element)}reveal(e,t){this.tree.reveal(this.getDataNode(e),t)}getParentElement(e){const t=this.tree.getParentElement(this.getDataNode(e));return t&&t.element}getFirstElementChild(e=this.root.element){const t=this.getDataNode(e),i=this.tree.getFirstElementChild(t===this.root?null:t);return i&&i.element}getDataNode(e){const t=this.nodes.get(e===this.root.element?null:e);if(!t)throw new qu(this.user,`Data tree node not found: ${e}`);return t}async refreshAndRenderNode(e,t,i,r){await this.refreshNode(e,t,i),!this.disposables.isDisposed&&this.render(e,i,r)}async refreshNode(e,t,i){let r;if(this.subTreeRefreshPromises.forEach((o,s)=>{!r&&bNt(s,e)&&(r=o.then(()=>this.refreshNode(e,t,i)))}),r)return r;if(e!==this.root&&this.tree.getNode(e).collapsed){e.hasChildren=!!this.dataSource.hasChildren(e.element),e.stale=!0,this.setChildren(e,[],t,i);return}return this.doRefreshSubTree(e,t,i)}async doRefreshSubTree(e,t,i){let r;e.refreshPromise=new Promise(o=>r=o),this.subTreeRefreshPromises.set(e,e.refreshPromise),e.refreshPromise.finally(()=>{e.refreshPromise=void 0,this.subTreeRefreshPromises.delete(e)});try{const o=await this.doRefreshNode(e,t,i);e.stale=!1,await HH.settled(o.map(s=>this.doRefreshSubTree(s,t,i)))}finally{r()}}async doRefreshNode(e,t,i){e.hasChildren=!!this.dataSource.hasChildren(e.element);let r;if(!e.hasChildren)r=Promise.resolve(Qn.empty());else{const o=this.doGetChildren(e);if(Cbe(o))r=Promise.resolve(o);else{const s=By(800);s.then(()=>{e.slow=!0,this._onDidChangeNodeSlowState.fire(e)},a=>null),r=o.finally(()=>s.cancel())}}try{const o=await r;return this.setChildren(e,o,t,i)}catch(o){if(e!==this.root&&this.tree.hasElement(e)&&this.tree.collapse(e),Gm(o))return[];throw o}finally{e.slow&&(e.slow=!1,this._onDidChangeNodeSlowState.fire(e))}}doGetChildren(e){let t=this.refreshPromises.get(e);if(t)return t;const i=this.dataSource.getChildren(e.element);return Cbe(i)?this.processChildren(i):(t=rs(async()=>this.processChildren(await i)),this.refreshPromises.set(e,t),t.finally(()=>{this.refreshPromises.delete(e)}))}_onDidChangeCollapseState({node:e,deep:t}){e.element!==null&&!e.collapsed&&e.element.stale&&(t?this.collapse(e.element.element):this.refreshAndRenderNode(e.element,!1).catch(yn))}setChildren(e,t,i,r){const o=[...t];if(e.children.length===0&&o.length===0)return[];const s=new Map,a=new Map;for(const c of e.children)s.set(c.element,c),this.identityProvider&&a.set(c.id,{node:c,collapsed:this.tree.hasElement(c)&&this.tree.isCollapsed(c)});const l=[],u=o.map(c=>{const d=!!this.dataSource.hasChildren(c);if(!this.identityProvider){const g=jJ({element:c,parent:e,hasChildren:d,defaultCollapseState:this.getDefaultCollapseState(c)});return d&&g.defaultCollapseState===$u.PreserveOrExpanded&&l.push(g),g}const h=this.identityProvider.getId(c).toString(),m=a.get(h);if(m){const g=m.node;return s.delete(g.element),this.nodes.delete(g.element),this.nodes.set(c,g),g.element=c,g.hasChildren=d,i?m.collapsed?(g.children.forEach(b=>e8(b,y=>this.nodes.delete(y.element))),g.children.splice(0,g.children.length),g.stale=!0):l.push(g):d&&!m.collapsed&&l.push(g),g}const f=jJ({element:c,parent:e,id:h,hasChildren:d,defaultCollapseState:this.getDefaultCollapseState(c)});return r&&r.viewState.focus&&r.viewState.focus.indexOf(h)>-1&&r.focus.push(f),r&&r.viewState.selection&&r.viewState.selection.indexOf(h)>-1&&r.selection.push(f),(r&&r.viewState.expanded&&r.viewState.expanded.indexOf(h)>-1||d&&f.defaultCollapseState===$u.PreserveOrExpanded)&&l.push(f),f});for(const c of s.values())e8(c,d=>this.nodes.delete(d.element));for(const c of u)this.nodes.set(c.element,c);return e.children.splice(0,e.children.length,...u),e!==this.root&&this.autoExpandSingleChildren&&u.length===1&&l.length===0&&(u[0].forceExpanded=!0,l.push(u[0])),l}render(e,t,i){const r=e.children.map(s=>this.asTreeElement(s,t)),o=i&&{...i,diffIdentityProvider:i.diffIdentityProvider&&{getId(s){return i.diffIdentityProvider.getId(s.element)}}};this.tree.setChildren(e===this.root?null:e,r,o),e!==this.root&&this.tree.setCollapsible(e,e.hasChildren),this._onDidRender.fire()}asTreeElement(e,t){if(e.stale)return{element:e,collapsible:e.hasChildren,collapsed:!0};let i;return t&&t.viewState.expanded&&e.id&&t.viewState.expanded.indexOf(e.id)>-1?i=!1:e.forceExpanded?(i=!1,e.forceExpanded=!1):i=e.defaultCollapseState,{element:e,children:e.hasChildren?Qn.map(e.children,r=>this.asTreeElement(r,t)):[],collapsible:e.hasChildren,collapsed:i}}processChildren(e){return this.sorter&&(e=[...e].sort(this.sorter.compare.bind(this.sorter))),e}dispose(){this.disposables.dispose(),this.tree.dispose()}}class t8{get element(){return{elements:this.node.element.elements.map(e=>e.element),incompressible:this.node.element.incompressible}}get children(){return this.node.children.map(e=>new t8(e))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e){this.node=e}}class SNt{constructor(e,t,i,r){this.renderer=e,this.nodeMapper=t,this.compressibleNodeMapperProvider=i,this.onDidChangeTwistieState=r,this.renderedNodes=new Map,this.disposables=[],this.templateId=e.templateId}renderTemplate(e){return{templateData:this.renderer.renderTemplate(e)}}renderElement(e,t,i,r){this.renderer.renderElement(this.nodeMapper.map(e),t,i.templateData,r)}renderCompressedElements(e,t,i,r){this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(e),t,i.templateData,r)}renderTwistie(e,t){return e.slow?(t.classList.add(...sn.asClassNameArray(ut.treeItemLoading)),!0):(t.classList.remove(...sn.asClassNameArray(ut.treeItemLoading)),!1)}disposeElement(e,t,i,r){var o,s;(s=(o=this.renderer).disposeElement)===null||s===void 0||s.call(o,this.nodeMapper.map(e),t,i.templateData,r)}disposeCompressedElements(e,t,i,r){var o,s;(s=(o=this.renderer).disposeCompressedElements)===null||s===void 0||s.call(o,this.compressibleNodeMapperProvider().map(e),t,i.templateData,r)}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}dispose(){this.renderedNodes.clear(),this.disposables=qi(this.disposables)}}function wNt(n){const e=n&&gxe(n);return e&&{...e,keyboardNavigationLabelProvider:e.keyboardNavigationLabelProvider&&{...e.keyboardNavigationLabelProvider,getCompressedNodeKeyboardNavigationLabel(t){return n.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(t.map(i=>i.element))}}}}class xNt extends pxe{constructor(e,t,i,r,o,s,a={}){super(e,t,i,o,s,a),this.compressionDelegate=r,this.compressibleNodeMapper=new XJ(l=>new t8(l)),this.filter=a.filter}createTree(e,t,i,r,o){const s=new zJ(i),a=r.map(u=>new SNt(u,this.nodeMapper,()=>this.compressibleNodeMapper,this._onDidChangeNodeSlowState.event)),l=wNt(o)||{};return new hxe(e,t,s,a,l)}asTreeElement(e,t){return{incompressible:this.compressionDelegate.isIncompressible(e.element),...super.asTreeElement(e,t)}}updateOptions(e={}){this.tree.updateOptions(e)}render(e,t,i){if(!this.identityProvider)return super.render(e,t);const r=m=>this.identityProvider.getId(m).toString(),o=m=>{const f=new Set;for(const g of m){const b=this.tree.getCompressedTreeNode(g===this.root?null:g);if(b.element)for(const y of b.element.elements)f.add(r(y.element))}return f},s=o(this.tree.getSelection()),a=o(this.tree.getFocus());super.render(e,t,i);const l=this.getSelection();let u=!1;const c=this.getFocus();let d=!1;const h=m=>{const f=m.element;if(f)for(let g=0;g{const i=this.filter.filter(t,1),r=_Nt(i);if(r===2)throw new Error("Recursive tree visibility not supported in async data compressed trees");return r===1})),super.processChildren(e)}}function _Nt(n){return typeof n=="boolean"?n?1:0:PJ(n)?xN(n.visibility):xN(n)}class LNt extends lxe{constructor(e,t,i,r,o,s={}){super(e,t,i,r,s),this.user=e,this.dataSource=o,this.identityProvider=s.identityProvider}createModel(e,t,i){return new YJ(e,t,i)}}new St("isMac",On,_("isMac","Whether the operating system is macOS")),new St("isLinux",Ja,_("isLinux","Whether the operating system is Linux"));const v3=new St("isWindows",ha,_("isWindows","Whether the operating system is Windows")),bxe=new St("isWeb",Vb,_("isWeb","Whether the platform is a web browser"));new St("isMacNative",On&&!Vb,_("isMacNative","Whether the operating system is macOS on a non-browser platform")),new St("isIOS",Am,_("isIOS","Whether the operating system is iOS")),new St("isMobile",Lbe,_("isMobile","Whether the platform is a mobile web browser")),new St("isDevelopment",!1,!0),new St("productQualityType","",_("productQualityType","Quality type of VS Code"));const yxe="inputFocus",INt=new St(yxe,!1,_("inputFocus","Whether keyboard focus is inside an input box"));var Ip=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},ar=function(n,e){return function(t,i){e(t,i,n)}};const $c=Un("listService");class FNt{get lastFocusedList(){return this._lastFocusedWidget}constructor(){this.disposables=new Je,this.lists=[],this._lastFocusedWidget=void 0,this._hasCreatedStyleController=!1}setLastFocusedList(e){var t,i;e!==this._lastFocusedWidget&&((t=this._lastFocusedWidget)===null||t===void 0||t.getHTMLElement().classList.remove("last-focused"),this._lastFocusedWidget=e,(i=this._lastFocusedWidget)===null||i===void 0||i.getHTMLElement().classList.add("last-focused"))}register(e,t){if(this._hasCreatedStyleController||(this._hasCreatedStyleController=!0,new dSe(Vu(),"").style(Rv)),this.lists.some(r=>r.widget===e))throw new Error("Cannot register the same widget multiple times");const i={widget:e,extraContextKeys:t};return this.lists.push(i),l9(e.getHTMLElement())&&this.setLastFocusedList(e),_d(e.onDidFocus(()=>this.setLastFocusedList(e)),jt(()=>this.lists.splice(this.lists.indexOf(i),1)),e.onDidDispose(()=>{this.lists=this.lists.filter(r=>r!==i),this._lastFocusedWidget===e&&this.setLastFocusedList(void 0)}))}dispose(){this.disposables.dispose()}}const LN=new St("listScrollAtBoundary","none");Oe.or(LN.isEqualTo("top"),LN.isEqualTo("both")),Oe.or(LN.isEqualTo("bottom"),LN.isEqualTo("both"));const vxe=new St("listFocus",!0),Cxe=new St("treestickyScrollFocused",!1),C3=new St("listSupportsMultiselect",!0),Sxe=Oe.and(vxe,Oe.not(yxe),Cxe.negate()),n8=new St("listHasSelectionOrFocus",!1),i8=new St("listDoubleSelection",!1),r8=new St("listMultiSelection",!1),S3=new St("listSelectionNavigation",!1),DNt=new St("listSupportsFind",!0),o8=new St("treeElementCanCollapse",!1),NNt=new St("treeElementHasParent",!1),s8=new St("treeElementCanExpand",!1),MNt=new St("treeElementHasChild",!1),kNt=new St("treeFindOpen",!1),wxe="listTypeNavigationMode",xxe="listAutomaticKeyboardNavigation";function w3(n,e){const t=n.createScoped(e.getHTMLElement());return vxe.bindTo(t),t}function x3(n,e){const t=LN.bindTo(n),i=()=>{const r=e.scrollTop===0,o=e.scrollHeight-e.renderHeight-e.scrollTop<1;r&&o?t.set("both"):r?t.set("top"):o?t.set("bottom"):t.set("none")};return i(),e.onDidScroll(i)}const jv="workbench.list.multiSelectModifier",_3="workbench.list.openMode",qc="workbench.list.horizontalScrolling",a8="workbench.list.defaultFindMode",l8="workbench.list.typeNavigationMode",L3="workbench.list.keyboardNavigation",Jh="workbench.list.scrollByPage",u8="workbench.list.defaultFindMatchType",IN="workbench.tree.indent",I3="workbench.tree.renderIndentGuides",jh="workbench.list.smoothScrolling",Nf="workbench.list.mouseWheelScrollSensitivity",Mf="workbench.list.fastScrollSensitivity",F3="workbench.tree.expandMode",D3="workbench.tree.enableStickyScroll",N3="workbench.tree.stickyScrollMaxItemCount";function kf(n){return n.getValue(jv)==="alt"}class TNt extends Fe{constructor(e){super(),this.configurationService=e,this.useAltAsMultipleSelectionModifier=kf(e),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(jv)&&(this.useAltAsMultipleSelectionModifier=kf(this.configurationService))}))}isSelectionSingleChangeEvent(e){return this.useAltAsMultipleSelectionModifier?e.browserEvent.altKey:aSe(e)}isSelectionRangeChangeEvent(e){return lSe(e)}}function M3(n,e){var t;const i=n.get(Pn),r=n.get(Oi),o=new Je;return[{...e,keyboardNavigationDelegate:{mightProducePrintableCharacter(a){return r.mightProducePrintableCharacter(a)}},smoothScrolling:!!i.getValue(jh),mouseWheelScrollSensitivity:i.getValue(Nf),fastScrollSensitivity:i.getValue(Mf),multipleSelectionController:(t=e.multipleSelectionController)!==null&&t!==void 0?t:o.add(new TNt(i)),keyboardNavigationEventFilter:ZNt(r),scrollByPage:!!i.getValue(Jh)},o]}let _xe=class extends Ju{constructor(e,t,i,r,o,s,a,l,u){const c=typeof o.horizontalScrolling<"u"?o.horizontalScrolling:!!l.getValue(qc),[d,h]=u.invokeFunction(M3,o);super(e,t,i,r,{keyboardSupport:!1,...d,horizontalScrolling:c}),this.disposables.add(h),this.contextKeyService=w3(s,this),this.disposables.add(x3(this.contextKeyService,this)),this.listSupportsMultiSelect=C3.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(o.multipleSelectionSupport!==!1),S3.bindTo(this.contextKeyService).set(!!o.selectionNavigation),this.listHasSelectionOrFocus=n8.bindTo(this.contextKeyService),this.listDoubleSelection=i8.bindTo(this.contextKeyService),this.listMultiSelection=r8.bindTo(this.contextKeyService),this.horizontalScrolling=o.horizontalScrolling,this._useAltAsMultipleSelectionModifier=kf(l),this.disposables.add(this.contextKeyService),this.disposables.add(a.register(this)),this.updateStyles(o.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{const f=this.getSelection(),g=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(f.length>0||g.length>0),this.listMultiSelection.set(f.length>1),this.listDoubleSelection.set(f.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{const f=this.getSelection(),g=this.getFocus();this.listHasSelectionOrFocus.set(f.length>0||g.length>0)})),this.disposables.add(l.onDidChangeConfiguration(f=>{f.affectsConfiguration(jv)&&(this._useAltAsMultipleSelectionModifier=kf(l));let g={};if(f.affectsConfiguration(qc)&&this.horizontalScrolling===void 0){const b=!!l.getValue(qc);g={...g,horizontalScrolling:b}}if(f.affectsConfiguration(Jh)){const b=!!l.getValue(Jh);g={...g,scrollByPage:b}}if(f.affectsConfiguration(jh)){const b=!!l.getValue(jh);g={...g,smoothScrolling:b}}if(f.affectsConfiguration(Nf)){const b=l.getValue(Nf);g={...g,mouseWheelScrollSensitivity:b}}if(f.affectsConfiguration(Mf)){const b=l.getValue(Mf);g={...g,fastScrollSensitivity:b}}Object.keys(g).length>0&&this.updateOptions(g)})),this.navigator=new Fxe(this,{configurationService:l,...o}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),e.overrideStyles!==void 0&&this.updateStyles(e.overrideStyles),e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?Zv(e):Rv)}};_xe=Ip([ar(5,ln),ar(6,$c),ar(7,Pn),ar(8,$t)],_xe);let Lxe=class extends RDt{constructor(e,t,i,r,o,s,a,l,u){const c=typeof o.horizontalScrolling<"u"?o.horizontalScrolling:!!l.getValue(qc),[d,h]=u.invokeFunction(M3,o);super(e,t,i,r,{keyboardSupport:!1,...d,horizontalScrolling:c}),this.disposables=new Je,this.disposables.add(h),this.contextKeyService=w3(s,this),this.disposables.add(x3(this.contextKeyService,this.widget)),this.horizontalScrolling=o.horizontalScrolling,this.listSupportsMultiSelect=C3.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(o.multipleSelectionSupport!==!1),S3.bindTo(this.contextKeyService).set(!!o.selectionNavigation),this._useAltAsMultipleSelectionModifier=kf(l),this.disposables.add(this.contextKeyService),this.disposables.add(a.register(this)),this.updateStyles(o.overrideStyles),this.disposables.add(l.onDidChangeConfiguration(f=>{f.affectsConfiguration(jv)&&(this._useAltAsMultipleSelectionModifier=kf(l));let g={};if(f.affectsConfiguration(qc)&&this.horizontalScrolling===void 0){const b=!!l.getValue(qc);g={...g,horizontalScrolling:b}}if(f.affectsConfiguration(Jh)){const b=!!l.getValue(Jh);g={...g,scrollByPage:b}}if(f.affectsConfiguration(jh)){const b=!!l.getValue(jh);g={...g,smoothScrolling:b}}if(f.affectsConfiguration(Nf)){const b=l.getValue(Nf);g={...g,mouseWheelScrollSensitivity:b}}if(f.affectsConfiguration(Mf)){const b=l.getValue(Mf);g={...g,fastScrollSensitivity:b}}Object.keys(g).length>0&&this.updateOptions(g)})),this.navigator=new Fxe(this,{configurationService:l,...o}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),e.overrideStyles!==void 0&&this.updateStyles(e.overrideStyles),e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?Zv(e):Rv)}dispose(){this.disposables.dispose(),super.dispose()}};Lxe=Ip([ar(5,ln),ar(6,$c),ar(7,Pn),ar(8,$t)],Lxe);let Ixe=class extends f3{constructor(e,t,i,r,o,s,a,l,u,c){const d=typeof s.horizontalScrolling<"u"?s.horizontalScrolling:!!u.getValue(qc),[h,m]=c.invokeFunction(M3,s);super(e,t,i,r,o,{keyboardSupport:!1,...h,horizontalScrolling:d}),this.disposables.add(m),this.contextKeyService=w3(a,this),this.disposables.add(x3(this.contextKeyService,this)),this.listSupportsMultiSelect=C3.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(s.multipleSelectionSupport!==!1),S3.bindTo(this.contextKeyService).set(!!s.selectionNavigation),this.listHasSelectionOrFocus=n8.bindTo(this.contextKeyService),this.listDoubleSelection=i8.bindTo(this.contextKeyService),this.listMultiSelection=r8.bindTo(this.contextKeyService),this.horizontalScrolling=s.horizontalScrolling,this._useAltAsMultipleSelectionModifier=kf(u),this.disposables.add(this.contextKeyService),this.disposables.add(l.register(this)),this.updateStyles(s.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{const g=this.getSelection(),b=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(g.length>0||b.length>0),this.listMultiSelection.set(g.length>1),this.listDoubleSelection.set(g.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{const g=this.getSelection(),b=this.getFocus();this.listHasSelectionOrFocus.set(g.length>0||b.length>0)})),this.disposables.add(u.onDidChangeConfiguration(g=>{g.affectsConfiguration(jv)&&(this._useAltAsMultipleSelectionModifier=kf(u));let b={};if(g.affectsConfiguration(qc)&&this.horizontalScrolling===void 0){const y=!!u.getValue(qc);b={...b,horizontalScrolling:y}}if(g.affectsConfiguration(Jh)){const y=!!u.getValue(Jh);b={...b,scrollByPage:y}}if(g.affectsConfiguration(jh)){const y=!!u.getValue(jh);b={...b,smoothScrolling:y}}if(g.affectsConfiguration(Nf)){const y=u.getValue(Nf);b={...b,mouseWheelScrollSensitivity:y}}if(g.affectsConfiguration(Mf)){const y=u.getValue(Mf);b={...b,fastScrollSensitivity:y}}Object.keys(b).length>0&&this.updateOptions(b)})),this.navigator=new ENt(this,{configurationService:u,...s}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),e.overrideStyles!==void 0&&this.updateStyles(e.overrideStyles),e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?Zv(e):Rv)}dispose(){this.disposables.dispose(),super.dispose()}};Ixe=Ip([ar(6,ln),ar(7,$c),ar(8,Pn),ar(9,$t)],Ixe);class c8 extends Fe{constructor(e,t){var i;super(),this.widget=e,this._onDidOpen=this._register(new be),this.onDidOpen=this._onDidOpen.event,this._register(lt.filter(this.widget.onDidChangeSelection,r=>jb(r.browserEvent))(r=>this.onSelectionFromKeyboard(r))),this._register(this.widget.onPointer(r=>this.onPointer(r.element,r.browserEvent))),this._register(this.widget.onMouseDblClick(r=>this.onMouseDblClick(r.element,r.browserEvent))),typeof(t==null?void 0:t.openOnSingleClick)!="boolean"&&(t!=null&&t.configurationService)?(this.openOnSingleClick=(t==null?void 0:t.configurationService.getValue(_3))!=="doubleClick",this._register(t==null?void 0:t.configurationService.onDidChangeConfiguration(r=>{r.affectsConfiguration(_3)&&(this.openOnSingleClick=(t==null?void 0:t.configurationService.getValue(_3))!=="doubleClick")}))):this.openOnSingleClick=(i=t==null?void 0:t.openOnSingleClick)!==null&&i!==void 0?i:!0}onSelectionFromKeyboard(e){if(e.elements.length!==1)return;const t=e.browserEvent,i=typeof t.preserveFocus=="boolean"?t.preserveFocus:!0,r=typeof t.pinned=="boolean"?t.pinned:!i;this._open(this.getSelectedElement(),i,r,!1,e.browserEvent)}onPointer(e,t){if(!this.openOnSingleClick||t.detail===2)return;const r=t.button===1,o=!0,s=r,a=t.ctrlKey||t.metaKey||t.altKey;this._open(e,o,s,a,t)}onMouseDblClick(e,t){if(!t)return;const i=t.target;if(i.classList.contains("monaco-tl-twistie")||i.classList.contains("monaco-icon-label")&&i.classList.contains("folder-icon")&&t.offsetX<16)return;const o=!1,s=!0,a=t.ctrlKey||t.metaKey||t.altKey;this._open(e,o,s,a,t)}_open(e,t,i,r,o){e&&this._onDidOpen.fire({editorOptions:{preserveFocus:t,pinned:i,revealIfVisible:!0},sideBySide:r,element:e,browserEvent:o})}}class Fxe extends c8{constructor(e,t){super(e,t),this.widget=e}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class ENt extends c8{constructor(e,t){super(e,t)}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class RNt extends c8{constructor(e,t){super(e,t)}getSelectedElement(){var e;return(e=this.widget.getSelection()[0])!==null&&e!==void 0?e:void 0}}function ZNt(n){let e=!1;return t=>{if(t.toKeyCodeChord().isModifierKey())return!1;if(e)return e=!1,!1;const i=n.softDispatch(t,t.target);return i.kind===1?(e=!0,!1):(e=!1,i.kind===0)}}let d8=class extends JJ{constructor(e,t,i,r,o,s,a,l,u){const{options:c,getTypeNavigationMode:d,disposable:h}=s.invokeFunction(FN,o);super(e,t,i,r,c),this.disposables.add(h),this.internals=new Qv(this,o,d,o.overrideStyles,a,l,u),this.disposables.add(this.internals)}updateOptions(e){super.updateOptions(e),this.internals.updateOptions(e)}};d8=Ip([ar(5,$t),ar(6,ln),ar(7,$c),ar(8,Pn)],d8);let Dxe=class extends hxe{constructor(e,t,i,r,o,s,a,l,u){const{options:c,getTypeNavigationMode:d,disposable:h}=s.invokeFunction(FN,o);super(e,t,i,r,c),this.disposables.add(h),this.internals=new Qv(this,o,d,o.overrideStyles,a,l,u),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};Dxe=Ip([ar(5,$t),ar(6,ln),ar(7,$c),ar(8,Pn)],Dxe);let Nxe=class extends LNt{constructor(e,t,i,r,o,s,a,l,u,c){const{options:d,getTypeNavigationMode:h,disposable:m}=a.invokeFunction(FN,s);super(e,t,i,r,o,d),this.disposables.add(m),this.internals=new Qv(this,s,h,s.overrideStyles,l,u,c),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles!==void 0&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};Nxe=Ip([ar(6,$t),ar(7,ln),ar(8,$c),ar(9,Pn)],Nxe);let h8=class extends pxe{get onDidOpen(){return this.internals.onDidOpen}constructor(e,t,i,r,o,s,a,l,u,c){const{options:d,getTypeNavigationMode:h,disposable:m}=a.invokeFunction(FN,s);super(e,t,i,r,o,d),this.disposables.add(m),this.internals=new Qv(this,s,h,s.overrideStyles,l,u,c),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};h8=Ip([ar(6,$t),ar(7,ln),ar(8,$c),ar(9,Pn)],h8);let Mxe=class extends xNt{constructor(e,t,i,r,o,s,a,l,u,c,d){const{options:h,getTypeNavigationMode:m,disposable:f}=l.invokeFunction(FN,a);super(e,t,i,r,o,s,h),this.disposables.add(f),this.internals=new Qv(this,a,m,a.overrideStyles,u,c,d),this.disposables.add(this.internals)}updateOptions(e){super.updateOptions(e),this.internals.updateOptions(e)}};Mxe=Ip([ar(7,$t),ar(8,ln),ar(9,$c),ar(10,Pn)],Mxe);function kxe(n){const e=n.getValue(a8);if(e==="highlight")return Lp.Highlight;if(e==="filter")return Lp.Filter;const t=n.getValue(L3);if(t==="simple"||t==="highlight")return Lp.Highlight;if(t==="filter")return Lp.Filter}function Txe(n){const e=n.getValue(u8);if(e==="fuzzy")return Jv.Fuzzy;if(e==="contiguous")return Jv.Contiguous}function FN(n,e){var t;const i=n.get(Pn),r=n.get(pp),o=n.get(ln),s=n.get($t),a=()=>{const m=o.getContextKeyValue(wxe);if(m==="automatic")return vf.Automatic;if(m==="trigger"||o.getContextKeyValue(xxe)===!1)return vf.Trigger;const g=i.getValue(l8);if(g==="automatic")return vf.Automatic;if(g==="trigger")return vf.Trigger},l=e.horizontalScrolling!==void 0?e.horizontalScrolling:!!i.getValue(qc),[u,c]=s.invokeFunction(M3,e),d=e.paddingBottom,h=e.renderIndentGuides!==void 0?e.renderIndentGuides:i.getValue(I3);return{getTypeNavigationMode:a,disposable:c,options:{keyboardSupport:!1,...u,indent:typeof i.getValue(IN)=="number"?i.getValue(IN):void 0,renderIndentGuides:h,smoothScrolling:!!i.getValue(jh),defaultFindMode:kxe(i),defaultFindMatchType:Txe(i),horizontalScrolling:l,scrollByPage:!!i.getValue(Jh),paddingBottom:d,hideTwistiesOfChildlessElements:e.hideTwistiesOfChildlessElements,expandOnlyOnTwistieClick:(t=e.expandOnlyOnTwistieClick)!==null&&t!==void 0?t:i.getValue(F3)==="doubleClick",contextViewProvider:r,findWidgetStyles:ILt,enableStickyScroll:!!i.getValue(D3),stickyScrollMaxItemCount:Number(i.getValue(N3))}}}let Qv=class{get onDidOpen(){return this.navigator.onDidOpen}constructor(e,t,i,r,o,s,a){var l;this.tree=e,this.disposables=[],this.contextKeyService=w3(o,e),this.disposables.push(x3(this.contextKeyService,e)),this.listSupportsMultiSelect=C3.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(t.multipleSelectionSupport!==!1),S3.bindTo(this.contextKeyService).set(!!t.selectionNavigation),this.listSupportFindWidget=DNt.bindTo(this.contextKeyService),this.listSupportFindWidget.set((l=t.findWidgetEnabled)!==null&&l!==void 0?l:!0),this.hasSelectionOrFocus=n8.bindTo(this.contextKeyService),this.hasDoubleSelection=i8.bindTo(this.contextKeyService),this.hasMultiSelection=r8.bindTo(this.contextKeyService),this.treeElementCanCollapse=o8.bindTo(this.contextKeyService),this.treeElementHasParent=NNt.bindTo(this.contextKeyService),this.treeElementCanExpand=s8.bindTo(this.contextKeyService),this.treeElementHasChild=MNt.bindTo(this.contextKeyService),this.treeFindOpen=kNt.bindTo(this.contextKeyService),this.treeStickyScrollFocused=Cxe.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=kf(a),this.updateStyleOverrides(r);const c=()=>{const h=e.getFocus()[0];if(!h)return;const m=e.getNode(h);this.treeElementCanCollapse.set(m.collapsible&&!m.collapsed),this.treeElementHasParent.set(!!e.getParentElement(h)),this.treeElementCanExpand.set(m.collapsible&&m.collapsed),this.treeElementHasChild.set(!!e.getFirstElementChild(h))},d=new Set;d.add(wxe),d.add(xxe),this.disposables.push(this.contextKeyService,s.register(e),e.onDidChangeSelection(()=>{const h=e.getSelection(),m=e.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.hasSelectionOrFocus.set(h.length>0||m.length>0),this.hasMultiSelection.set(h.length>1),this.hasDoubleSelection.set(h.length===2)})}),e.onDidChangeFocus(()=>{const h=e.getSelection(),m=e.getFocus();this.hasSelectionOrFocus.set(h.length>0||m.length>0),c()}),e.onDidChangeCollapseState(c),e.onDidChangeModel(c),e.onDidChangeFindOpenState(h=>this.treeFindOpen.set(h)),e.onDidChangeStickyScrollFocused(h=>this.treeStickyScrollFocused.set(h)),a.onDidChangeConfiguration(h=>{let m={};if(h.affectsConfiguration(jv)&&(this._useAltAsMultipleSelectionModifier=kf(a)),h.affectsConfiguration(IN)){const f=a.getValue(IN);m={...m,indent:f}}if(h.affectsConfiguration(I3)&&t.renderIndentGuides===void 0){const f=a.getValue(I3);m={...m,renderIndentGuides:f}}if(h.affectsConfiguration(jh)){const f=!!a.getValue(jh);m={...m,smoothScrolling:f}}if(h.affectsConfiguration(a8)||h.affectsConfiguration(L3)){const f=kxe(a);m={...m,defaultFindMode:f}}if(h.affectsConfiguration(l8)||h.affectsConfiguration(L3)){const f=i();m={...m,typeNavigationMode:f}}if(h.affectsConfiguration(u8)){const f=Txe(a);m={...m,defaultFindMatchType:f}}if(h.affectsConfiguration(qc)&&t.horizontalScrolling===void 0){const f=!!a.getValue(qc);m={...m,horizontalScrolling:f}}if(h.affectsConfiguration(Jh)){const f=!!a.getValue(Jh);m={...m,scrollByPage:f}}if(h.affectsConfiguration(F3)&&t.expandOnlyOnTwistieClick===void 0&&(m={...m,expandOnlyOnTwistieClick:a.getValue(F3)==="doubleClick"}),h.affectsConfiguration(D3)){const f=a.getValue(D3);m={...m,enableStickyScroll:f}}if(h.affectsConfiguration(N3)){const f=Math.max(1,a.getValue(N3));m={...m,stickyScrollMaxItemCount:f}}if(h.affectsConfiguration(Nf)){const f=a.getValue(Nf);m={...m,mouseWheelScrollSensitivity:f}}if(h.affectsConfiguration(Mf)){const f=a.getValue(Mf);m={...m,fastScrollSensitivity:f}}Object.keys(m).length>0&&e.updateOptions(m)}),this.contextKeyService.onDidChangeContext(h=>{h.affectsSome(d)&&e.updateOptions({typeNavigationMode:i()})})),this.navigator=new RNt(e,{configurationService:a,...t}),this.disposables.push(this.navigator)}updateOptions(e){e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyleOverrides(e){this.tree.style(e?Zv(e):Rv)}dispose(){this.disposables=qi(this.disposables)}};Qv=Ip([ar(4,ln),ar(5,$c),ar(6,Pn)],Qv),Do.as(Eh.Configuration).registerConfiguration({id:"workbench",order:7,title:_("workbenchConfigurationTitle","Workbench"),type:"object",properties:{[jv]:{type:"string",enum:["ctrlCmd","alt"],markdownEnumDescriptions:[_("multiSelectModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),_("multiSelectModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"ctrlCmd",description:_({key:"multiSelectModifier",comment:["- `ctrlCmd` refers to a value the setting can take and should not be localized.","- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized."]},"The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.")},[_3]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:_({key:"openModeModifier",comment:["`singleClick` and `doubleClick` refers to a value the setting can take and should not be localized."]},"Controls how to open items in trees and lists using the mouse (if supported). Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[qc]:{type:"boolean",default:!1,description:_("horizontalScrolling setting","Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.")},[Jh]:{type:"boolean",default:!1,description:_("list.scrollByPage","Controls whether clicks in the scrollbar scroll page by page.")},[IN]:{type:"number",default:8,minimum:4,maximum:40,description:_("tree indent setting","Controls tree indentation in pixels.")},[I3]:{type:"string",enum:["none","onHover","always"],default:"onHover",description:_("render tree indent guides","Controls whether the tree should render indent guides.")},[jh]:{type:"boolean",default:!1,description:_("list smoothScrolling setting","Controls whether lists and trees have smooth scrolling.")},[Nf]:{type:"number",default:1,markdownDescription:_("Mouse Wheel Scroll Sensitivity","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")},[Mf]:{type:"number",default:5,markdownDescription:_("Fast Scroll Sensitivity","Scrolling speed multiplier when pressing `Alt`.")},[a8]:{type:"string",enum:["highlight","filter"],enumDescriptions:[_("defaultFindModeSettingKey.highlight","Highlight elements when searching. Further up and down navigation will traverse only the highlighted elements."),_("defaultFindModeSettingKey.filter","Filter elements when searching.")],default:"highlight",description:_("defaultFindModeSettingKey","Controls the default find mode for lists and trees in the workbench.")},[L3]:{type:"string",enum:["simple","highlight","filter"],enumDescriptions:[_("keyboardNavigationSettingKey.simple","Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes."),_("keyboardNavigationSettingKey.highlight","Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements."),_("keyboardNavigationSettingKey.filter","Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.")],default:"highlight",description:_("keyboardNavigationSettingKey","Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter."),deprecated:!0,deprecationMessage:_("keyboardNavigationSettingKeyDeprecated","Please use 'workbench.list.defaultFindMode' and 'workbench.list.typeNavigationMode' instead.")},[u8]:{type:"string",enum:["fuzzy","contiguous"],enumDescriptions:[_("defaultFindMatchTypeSettingKey.fuzzy","Use fuzzy matching when searching."),_("defaultFindMatchTypeSettingKey.contiguous","Use contiguous matching when searching.")],default:"fuzzy",description:_("defaultFindMatchTypeSettingKey","Controls the type of matching used when searching lists and trees in the workbench.")},[F3]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:_("expand mode","Controls how tree folders are expanded when clicking the folder names. Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[D3]:{type:"boolean",default:!0,description:_("sticky scroll","Controls whether sticky scrolling is enabled in trees.")},[N3]:{type:"number",minimum:1,default:7,markdownDescription:_("sticky scroll maximum items","Controls the number of sticky elements displayed in the tree when `#workbench.tree.enableStickyScroll#` is enabled.")},[l8]:{type:"string",enum:["automatic","trigger"],default:"automatic",markdownDescription:_("typeNavigationMode2","Controls how type navigation works in lists and trees in the workbench. When set to `trigger`, type navigation begins once the `list.triggerTypeNavigation` command is run.")}}});class X0{constructor(e,t,i,r){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=r,this.id=aU.nextId()}get uri(){return this.link.uri}get range(){var e,t;return(t=(e=this._range)!==null&&e!==void 0?e:this.link.targetSelectionRange)!==null&&t!==void 0?t:this.link.range}set range(e){this._range=e,this._rangeCallback(this)}get ariaMessage(){var e;const t=(e=this.parent.getPreview(this))===null||e===void 0?void 0:e.preview(this.range);return t?_({key:"aria.oneReference.preview",comment:["Placeholders are: 0: filename, 1:line number, 2: column number, 3: preview snippet of source code"]},"{0} in {1} on line {2} at column {3}",t.value,zc(this.uri),this.range.startLineNumber,this.range.startColumn):_("aria.oneReference","in {0} on line {1} at column {2}",zc(this.uri),this.range.startLineNumber,this.range.startColumn)}}class WNt{constructor(e){this._modelReference=e}dispose(){this._modelReference.dispose()}preview(e,t=8){const i=this._modelReference.object.textEditorModel;if(!i)return;const{startLineNumber:r,startColumn:o,endLineNumber:s,endColumn:a}=e,l=i.getWordUntilPosition({lineNumber:r,column:o-t}),u=new J(r,l.startColumn,r,o),c=new J(s,a,s,1073741824),d=i.getValueInRange(u).replace(/^\s+/,""),h=i.getValueInRange(e),m=i.getValueInRange(c).replace(/\s+$/,"");return{value:d+h+m,highlight:{start:d.length,end:d.length+h.length}}}}class DN{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new to}dispose(){qi(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){const e=this.children.length;return e===1?_("aria.fileReferences.1","1 symbol in {0}, full path {1}",zc(this.uri),this.uri.fsPath):_("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,zc(this.uri),this.uri.fsPath)}async resolve(e){if(this._previews.size!==0)return this;for(const t of this.children)if(!this._previews.has(t.uri))try{const i=await e.createModelReference(t.uri);this._previews.set(t.uri,new WNt(i))}catch(i){yn(i)}return this}}class pu{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new be,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;e.sort(pu._compareReferences);let r;for(const o of e)if((!r||!fr.isEqual(r.uri,o.uri,!0))&&(r=new DN(this,o.uri),this.groups.push(r)),r.children.length===0||pu._compareReferences(o,r.children[r.children.length-1])!==0){const s=new X0(i===o,r,o,a=>this._onDidChangeReferenceRange.fire(a));this.references.push(s),r.children.push(s)}}dispose(){qi(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new pu(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?_("aria.result.0","No results found"):this.references.length===1?_("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath):this.groups.length===1?_("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):_("aria.result.nm","Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(e,t){const{parent:i}=e;let r=i.children.indexOf(e);const o=i.children.length,s=i.parent.groups.length;return s===1||t&&r+10?(t?r=(r+1)%o:r=(r+o-1)%o,i.children[r]):(r=i.parent.groups.indexOf(i),t?(r=(r+1)%s,i.parent.groups[r].children[0]):(r=(r+s-1)%s,i.parent.groups[r].children[i.parent.groups[r].children.length-1]))}nearestReference(e,t){const i=this.references.map((r,o)=>({idx:o,prefixLen:Pb(r.uri.toString(),e.toString()),offsetDist:Math.abs(r.range.startLineNumber-t.lineNumber)*100+Math.abs(r.range.startColumn-t.column)})).sort((r,o)=>r.prefixLen>o.prefixLen?-1:r.prefixLeno.offsetDist?1:0)[0];if(i)return this.references[i.idx]}referenceAt(e,t){for(const i of this.references)if(i.uri.toString()===e.toString()&&J.containsPosition(i.range,t))return i}firstReference(){for(const e of this.references)if(e.isProviderFirst)return e;return this.references[0]}static _compareReferences(e,t){return fr.compare(e.uri,t.uri)||J.compareRangesUsingStarts(e.range,t.range)}}class m8{constructor(e,t,i){this.options=t,this.styles=i,this.count=0,this.element=je(e,Ct(".monaco-count-badge")),this.countFormat=this.options.countFormat||"{0}",this.titleFormat=this.options.titleFormat||"",this.setCount(this.options.count||0)}setCount(e){this.count=e,this.render()}setTitleFormat(e){this.titleFormat=e,this.render()}render(){var e,t;this.element.textContent=pw(this.countFormat,this.count),this.element.title=pw(this.titleFormat,this.count),this.element.style.backgroundColor=(e=this.styles.badgeBackground)!==null&&e!==void 0?e:"",this.element.style.color=(t=this.styles.badgeForeground)!==null&&t!==void 0?t:"",this.styles.badgeBorder&&(this.element.style.border=`1px solid ${this.styles.badgeBorder}`)}}class P0 extends Fe{constructor(e,t){var i;super(),this.options=t,this.text="",this.title="",this.highlights=[],this.didEverRender=!1,this.supportIcons=(i=t==null?void 0:t.supportIcons)!==null&&i!==void 0?i:!1,this.domNode=je(e,Ct("span.monaco-highlighted-label"))}get element(){return this.domNode}set(e,t=[],i="",r){e||(e=""),r&&(e=P0.escapeNewLines(e,t)),!(this.didEverRender&&this.text===e&&this.title===i&&Ou(this.highlights,t))&&(this.text=e,this.title=i,this.highlights=t,this.render())}render(){var e,t,i,r;const o=[];let s=0;for(const a of this.highlights){if(a.end===a.start)continue;if(s{r=o===`\r +`?-1:0,s+=i;for(const a of t)a.end<=s||(a.start>=s&&(a.start+=r),a.end>=s&&(a.end+=r));return i+=r,"⏎"})}}class NN{constructor(e){this._element=e}get element(){return this._element}set textContent(e){this.disposed||e===this._textContent||(this._textContent=e,this._element.textContent=e)}set className(e){this.disposed||e===this._className||(this._className=e,this._element.className=e)}set empty(e){this.disposed||e===this._empty||(this._empty=e,this._element.style.marginLeft=e?"0":"")}dispose(){this.disposed=!0}}class k3 extends Fe{constructor(e,t){var i;super(),this.customHovers=new Map,this.creationOptions=t,this.domNode=this._register(new NN(je(e,Ct(".monaco-icon-label")))),this.labelContainer=je(this.domNode.element,Ct(".monaco-icon-label-container")),this.nameContainer=je(this.labelContainer,Ct("span.monaco-icon-name-container")),t!=null&&t.supportHighlights||t!=null&&t.supportIcons?this.nameNode=this._register(new GNt(this.nameContainer,!!t.supportIcons)):this.nameNode=new ANt(this.nameContainer),this.hoverDelegate=(i=t==null?void 0:t.hoverDelegate)!==null&&i!==void 0?i:Pl("mouse")}get element(){return this.domNode.element}setLabel(e,t,i){var r;const o=["monaco-icon-label"],s=["monaco-icon-label-container"];let a="";if(i&&(i.extraClasses&&o.push(...i.extraClasses),i.italic&&o.push("italic"),i.strikethrough&&o.push("strikethrough"),i.disabledCommand&&s.push("disabled"),i.title&&(typeof i.title=="string"?a+=i.title:a+=e)),this.domNode.className=o.join(" "),this.domNode.element.setAttribute("aria-label",a),this.labelContainer.className=s.join(" "),this.setupHover(i!=null&&i.descriptionTitle?this.labelContainer:this.element,i==null?void 0:i.title),this.nameNode.setLabel(e,i),t||this.descriptionNode){const l=this.getOrCreateDescriptionNode();l instanceof P0?(l.set(t||"",i?i.descriptionMatches:void 0,void 0,i==null?void 0:i.labelEscapeNewLines),this.setupHover(l.element,i==null?void 0:i.descriptionTitle)):(l.textContent=t&&(i!=null&&i.labelEscapeNewLines)?P0.escapeNewLines(t,[]):t||"",this.setupHover(l.element,(i==null?void 0:i.descriptionTitle)||""),l.empty=!t)}if(i!=null&&i.suffix||this.suffixNode){const l=this.getOrCreateSuffixNode();l.textContent=(r=i==null?void 0:i.suffix)!==null&&r!==void 0?r:""}}setupHover(e,t){const i=this.customHovers.get(e);if(i&&(i.dispose(),this.customHovers.delete(e)),!t){e.removeAttribute("title");return}if(this.hoverDelegate.showNativeHover)O2t(e,t);else{const r=Wd(this.hoverDelegate,e,t);r&&this.customHovers.set(e,r)}}dispose(){super.dispose();for(const e of this.customHovers.values())e.dispose();this.customHovers.clear()}getOrCreateSuffixNode(){if(!this.suffixNode){const e=this._register(new NN(Tft(this.nameContainer,Ct("span.monaco-icon-suffix-container"))));this.suffixNode=this._register(new NN(je(e.element,Ct("span.label-suffix"))))}return this.suffixNode}getOrCreateDescriptionNode(){var e;if(!this.descriptionNode){const t=this._register(new NN(je(this.labelContainer,Ct("span.monaco-icon-description-container"))));!((e=this.creationOptions)===null||e===void 0)&&e.supportDescriptionHighlights?this.descriptionNode=this._register(new P0(je(t.element,Ct("span.label-description")),{supportIcons:!!this.creationOptions.supportIcons})):this.descriptionNode=this._register(new NN(je(t.element,Ct("span.label-description"))))}return this.descriptionNode}}class ANt{constructor(e){this.container=e,this.label=void 0,this.singleLabel=void 0}setLabel(e,t){if(!(this.label===e&&Ou(this.options,t)))if(this.label=e,this.options=t,typeof e=="string")this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=je(this.container,Ct("a.label-name",{id:t==null?void 0:t.domId}))),this.singleLabel.textContent=e;else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;for(let i=0;i{const o={start:i,end:i+r.length},s=t.map(a=>va.intersect(o,a)).filter(a=>!va.isEmpty(a)).map(({start:a,end:l})=>({start:a-i,end:l-i}));return i=o.end+e.length,s})}class GNt extends Fe{constructor(e,t){super(),this.container=e,this.supportIcons=t,this.label=void 0,this.singleLabel=void 0}setLabel(e,t){if(!(this.label===e&&Ou(this.options,t)))if(this.label=e,this.options=t,typeof e=="string")this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=this._register(new P0(je(this.container,Ct("a.label-name",{id:t==null?void 0:t.domId})),{supportIcons:this.supportIcons}))),this.singleLabel.set(e,t==null?void 0:t.matches,void 0,t==null?void 0:t.labelEscapeNewLines);else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;const i=(t==null?void 0:t.separator)||"/",r=VNt(e,i,t==null?void 0:t.matches);for(let o=0;o=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},E3=function(n,e){return function(t,i){e(t,i,n)}},f8;let g8=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof pu||e instanceof DN}getChildren(e){if(e instanceof pu)return e.groups;if(e instanceof DN)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};g8=T3([E3(0,kl)],g8);class XNt{getHeight(){return 23}getTemplateId(e){return e instanceof DN?MN.id:kN.id}}let p8=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof X0){const i=(t=e.parent.getPreview(e))===null||t===void 0?void 0:t.preview(e.range);if(i)return i.value}return zc(e.uri)}};p8=T3([E3(0,Oi)],p8);class PNt{getId(e){return e instanceof X0?e.id:e.uri}}let b8=class extends Fe{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new k3(i,{supportHighlights:!0})),this.badge=new m8(je(i,Ct(".count")),{},awe),e.appendChild(i)}set(e,t){const i=XZ(e.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(e.uri),this._labelService.getUriLabel(i,{relative:!0}),{title:this._labelService.getUriLabel(e.uri),matches:t});const r=e.children.length;this.badge.setCount(r),r>1?this.badge.setTitleFormat(_("referencesCount","{0} references",r)):this.badge.setTitleFormat(_("referenceCount","{0} reference",r))}};b8=T3([E3(1,ex)],b8);let MN=f8=class{constructor(e){this._instantiationService=e,this.templateId=f8.id}renderTemplate(e){return this._instantiationService.createInstance(b8,e)}renderElement(e,t,i){i.set(e.element,cW(e.filterData))}disposeTemplate(e){e.dispose()}};MN.id="FileReferencesRenderer",MN=f8=T3([E3(0,$t)],MN);class ONt extends Fe{constructor(e){super(),this.label=this._register(new P0(e))}set(e,t){var i;const r=(i=e.parent.getPreview(e))===null||i===void 0?void 0:i.preview(e.range);if(!r||!r.value)this.label.set(`${zc(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`);else{const{value:o,highlight:s}=r;t&&!Hh.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(o,cW(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(o,[s]))}}}class kN{constructor(){this.templateId=kN.id}renderTemplate(e){return new ONt(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}}kN.id="OneReferenceRenderer";class BNt{getWidgetAriaLabel(){return _("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var zNt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Fp=function(n,e){return function(t,i){e(t,i,n)}};class R3{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new Je,this._callOnModelChange=new Je,this._callOnDispose.add(this._editor.onDidChangeModel(()=>this._onModelChanged())),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();const e=this._editor.getModel();if(e){for(const t of this._model.references)if(t.uri.toString()===e.uri.toString()){this._addDecorations(t.parent);return}}}_addDecorations(e){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations(()=>this._onDecorationChanged()));const t=[],i=[];for(let r=0,o=e.children.length;r{const o=r.deltaDecorations([],t);for(let s=0;s{o.equals(9)&&(this._keybindingService.dispatchEvent(o,o.target),o.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(YNt,"ReferencesWidget",this._treeContainer,new XNt,[this._instantiationService.createInstance(MN),this._instantiationService.createInstance(kN)],this._instantiationService.createInstance(g8),i),this._splitView.addView({onDidChange:lt.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:o=>{this._preview.layout({height:this._dim.height,width:o})}},m3.Distribute),this._splitView.addView({onDidChange:lt.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:o=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${o}px`,this._tree.layout(this._dim.height,o)}},m3.Distribute),this._disposables.add(this._splitView.onDidSashChange(()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)},void 0));const r=(o,s)=>{o instanceof X0&&(s==="show"&&this._revealReference(o,!1),this._onDidSelectReference.fire({element:o,kind:s,source:"tree"}))};this._tree.onDidOpen(o=>{o.sideBySide?r(o.element,"side"):o.editorOptions.pinned?r(o.element,"goto"):r(o.element,"show")}),$a(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new mi(t,e),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(t),this._splitView.resizeView(0,t*this.layoutData.ratio)}setSelection(e){return this._revealReference(e,!0).then(()=>{this._model&&(this._tree.setSelection([e]),this._tree.setFocus([e]))})}setModel(e){return this._disposeOnNewModel.clear(),this._model=e,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(""),this._messageContainer.innerText=_("noResults","No results"),lu(this._messageContainer),Promise.resolve(void 0)):($a(this._messageContainer),this._decorationsManager=new R3(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange(e=>this._tree.rerender(e))),this._disposeOnNewModel.add(this._preview.onMouseDown(e=>{const{event:t,target:i}=e;if(t.detail!==2)return;const r=this._getFocusedReference();r&&this._onDidSelectReference.fire({element:{uri:r.uri,range:i.range},kind:t.ctrlKey||t.metaKey||t.altKey?"side":"open",source:"editor"})})),this.container.classList.add("results-loaded"),lu(this._treeContainer),lu(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(this._model.groups.length===1?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[e]=this._tree.getFocus();if(e instanceof X0)return e;if(e instanceof DN&&e.children.length>0)return e.children[0]}async revealReference(e){await this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:"goto",source:"tree"})}async _revealReference(e,t){if(this._revealedReference===e)return;this._revealedReference=e,e.uri.scheme!==Sn.inMemory?this.setTitle(VCt(e.uri),this._uriLabel.getUriLabel(XZ(e.uri))):this.setTitle(_("peekView.alternateTitle","References"));const i=this._textModelResolverService.createModelReference(e.uri);this._tree.getInput()===e.parent?this._tree.reveal(e):(t&&this._tree.reveal(e.parent),await this._tree.expand(e.parent),this._tree.reveal(e));const r=await i;if(!this._model){r.dispose();return}qi(this._previewModelReference);const o=r.object;if(o){const s=this._preview.getModel()===o.textEditorModel?0:1,a=J.lift(e.range).collapseToStart();this._previewModelReference=r,this._preview.setModel(o.textEditorModel),this._preview.setSelection(a),this._preview.revealRangeInCenter(a,s)}else this._preview.setModel(this._previewNotAvailableMessage),r.dispose()}};y8=zNt([Fp(3,jo),Fp(4,kl),Fp(5,$t),Fp(6,j2e),Fp(7,ex),Fp(8,zZ),Fp(9,Oi),Fp(10,br),Fp(11,er)],y8);var UNt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},tx=function(n,e){return function(t,i){e(t,i,n)}},Z3;const $v=new St("referenceSearchVisible",!1,_("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));let nx=Z3=class{static get(e){return e.getContribution(Z3.ID)}constructor(e,t,i,r,o,s,a,l){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=r,this._notificationService=o,this._instantiationService=s,this._storageService=a,this._configurationService=l,this._disposables=new Je,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=$v.bindTo(i)}dispose(){var e,t;this._referenceSearchVisible.reset(),this._disposables.dispose(),(e=this._widget)===null||e===void 0||e.dispose(),(t=this._model)===null||t===void 0||t.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(e,t,i){let r;if(this._widget&&(r=this._widget.position),this.closeWidget(),r&&e.containsPosition(r))return;this._peekMode=i,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>{this.closeWidget()})),this._disposables.add(this._editor.onDidChangeModel(()=>{this._ignoreModelChangeEvent||this.closeWidget()}));const o="peekViewLayout",s=HNt.fromJSON(this._storageService.get(o,0,"{}"));this._widget=this._instantiationService.createInstance(y8,this._editor,this._defaultTreeKeyboardSupport,s),this._widget.setTitle(_("labelLoading","Loading...")),this._widget.show(e),this._disposables.add(this._widget.onDidClose(()=>{t.cancel(),this._widget&&(this._storageService.store(o,JSON.stringify(this._widget.layoutData),0,1),this._widget=void 0),this.closeWidget()})),this._disposables.add(this._widget.onDidSelectReference(l=>{const{element:u,kind:c}=l;if(u)switch(c){case"open":(l.source!=="editor"||!this._configurationService.getValue("editor.stablePeek"))&&this.openReference(u,!1,!1);break;case"side":this.openReference(u,!0,!1);break;case"goto":i?this._gotoReference(u,!0):this.openReference(u,!1,!0);break}}));const a=++this._requestIdPool;t.then(l=>{var u;if(a!==this._requestIdPool||!this._widget){l.dispose();return}return(u=this._model)===null||u===void 0||u.dispose(),this._model=l,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle(_("metaTitle.N","{0} ({1})",this._model.title,this._model.references.length));const c=this._editor.getModel().uri,d=new ve(e.startLineNumber,e.startColumn),h=this._model.nearestReference(c,d);if(h)return this._widget.setSelection(h).then(()=>{this._widget&&this._editor.getOption(87)==="editor"&&this._widget.focusOnPreviewEditor()})}})},l=>{this._notificationService.error(l)})}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}async goToNextOrPreviousReference(e){if(!this._editor.hasModel()||!this._model||!this._widget)return;const t=this._widget.position;if(!t)return;const i=this._model.nearestReference(this._editor.getModel().uri,t);if(!i)return;const r=this._model.nextOrPreviousReference(i,e),o=this._editor.hasTextFocus(),s=this._widget.isPreviewEditorFocused();await this._widget.setSelection(r),await this._gotoReference(r,!1),o?this._editor.focus():this._widget&&s&&this._widget.focusOnPreviewEditor()}async revealReference(e){!this._editor.hasModel()||!this._model||!this._widget||await this._widget.revealReference(e)}closeWidget(e=!0){var t,i;(t=this._widget)===null||t===void 0||t.dispose(),(i=this._model)===null||i===void 0||i.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,e&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(e,t){var i;(i=this._widget)===null||i===void 0||i.hide(),this._ignoreModelChangeEvent=!0;const r=J.lift(e.range).collapseToStart();return this._editorService.openCodeEditor({resource:e.uri,options:{selection:r,selectionSource:"code.jump",pinned:t}},this._editor).then(o=>{var s;if(this._ignoreModelChangeEvent=!1,!o||!this._widget){this.closeWidget();return}if(this._editor===o)this._widget.show(r),this._widget.focusOnReferenceTree();else{const a=Z3.get(o),l=this._model.clone();this.closeWidget(),o.focus(),a==null||a.toggleWidget(r,rs(u=>Promise.resolve(l)),(s=this._peekMode)!==null&&s!==void 0?s:!1)}},o=>{this._ignoreModelChangeEvent=!1,yn(o)})}openReference(e,t,i){t||this.closeWidget();const{uri:r,range:o}=e;this._editorService.openCodeEditor({resource:r,options:{selection:o,selectionSource:"code.jump",pinned:i}},this._editor,t)}};nx.ID="editor.contrib.referencesController",nx=Z3=UNt([tx(2,ln),tx(3,yi),tx(4,Mo),tx(5,$t),tx(6,Sf),tx(7,Pn)],nx);function qv(n,e){const t=LDt(n);if(!t)return;const i=nx.get(t);i&&e(i)}El.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:Zo(2089,60),when:Oe.or($v,zl.inPeekEditor),handler(n){qv(n,e=>{e.changeFocusBetweenPreviewAndReferences()})}}),El.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:Oe.or($v,zl.inPeekEditor),handler(n){qv(n,e=>{e.goToNextOrPreviousReference(!0)})}}),El.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:Oe.or($v,zl.inPeekEditor),handler(n){qv(n,e=>{e.goToNextOrPreviousReference(!1)})}}),$n.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference"),$n.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference"),$n.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch"),$n.registerCommand("closeReferenceSearch",n=>qv(n,e=>e.closeWidget())),El.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:Oe.and(zl.inPeekEditor,Oe.not("config.editor.stablePeek"))}),El.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:Oe.and($v,Oe.not("config.editor.stablePeek"),Oe.or(ne.editorTextFocus,INt.negate()))}),El.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:Oe.and($v,Sxe,o8.negate(),s8.negate()),handler(n){var e;const i=(e=n.get($c).lastFocusedList)===null||e===void 0?void 0:e.getFocus();Array.isArray(i)&&i[0]instanceof X0&&qv(n,r=>r.revealReference(i[0]))}}),El.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:Oe.and($v,Sxe,o8.negate(),s8.negate()),handler(n){var e;const i=(e=n.get($c).lastFocusedList)===null||e===void 0?void 0:e.getFocus();Array.isArray(i)&&i[0]instanceof X0&&qv(n,r=>r.openReference(i[0],!0,!0))}}),$n.registerCommand("openReference",n=>{var e;const i=(e=n.get($c).lastFocusedList)===null||e===void 0?void 0:e.getFocus();Array.isArray(i)&&i[0]instanceof X0&&qv(n,r=>r.openReference(i[0],!1,!0))});var Exe=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},TN=function(n,e){return function(t,i){e(t,i,n)}};const v8=new St("hasSymbols",!1,_("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),W3=Un("ISymbolNavigationService");let C8=class{constructor(e,t,i,r){this._editorService=t,this._notificationService=i,this._keybindingService=r,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=v8.bindTo(e)}reset(){var e,t;this._ctxHasSymbols.reset(),(e=this._currentState)===null||e===void 0||e.dispose(),(t=this._currentMessage)===null||t===void 0||t.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(e){const t=e.parent.parent;if(t.references.length<=1){this.reset();return}this._currentModel=t,this._currentIdx=t.references.indexOf(e),this._ctxHasSymbols.set(!0),this._showMessage();const i=new S8(this._editorService),r=i.onDidChange(o=>{if(this._ignoreEditorChange)return;const s=this._editorService.getActiveCodeEditor();if(!s)return;const a=s.getModel(),l=s.getPosition();if(!a||!l)return;let u=!1,c=!1;for(const d of t.references)if(h7(d.uri,a.uri))u=!0,c=c||J.containsPosition(d.range,l);else if(u)break;(!u||!c)&&this.reset()});this._currentState=_d(i,r)}revealNext(e){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;const t=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:t.uri,options:{selection:J.collapseToStart(t.range),selectionRevealType:3}},e).finally(()=>{this._ignoreEditorChange=!1})}_showMessage(){var e;(e=this._currentMessage)===null||e===void 0||e.dispose();const t=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),i=t?_("location.kb","Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,t.getLabel()):_("location","Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(i)}};C8=Exe([TN(0,ln),TN(1,yi),TN(2,Mo),TN(3,Oi)],C8),qn(W3,C8,1),gt(new class extends Ko{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:v8,kbOpts:{weight:100,primary:70}})}runEditorCommand(n,e){return n.get(W3).revealNext(e)}}),El.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:v8,primary:9,handler(n){n.get(W3).reset()}});let S8=class{constructor(e){this._listener=new Map,this._disposables=new Je,this._onDidChange=new be,this.onDidChange=this._onDidChange.event,this._disposables.add(e.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(e.onCodeEditorAdd(this._onDidAddEditor,this)),e.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),qi(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,_d(e.onDidChangeCursorPosition(t=>this._onDidChange.fire({editor:e})),e.onDidChangeModelContent(t=>this._onDidChange.fire({editor:e}))))}_onDidRemoveEditor(e){var t;(t=this._listener.get(e))===null||t===void 0||t.dispose(),this._listener.delete(e)}};S8=Exe([TN(0,yi)],S8);async function EN(n,e,t,i){const o=t.ordered(n).map(a=>Promise.resolve(i(a,n,e)).then(void 0,l=>{qr(l)})),s=await Promise.all(o);return Ym(s.flat())}function A3(n,e,t,i){return EN(e,t,n,(r,o,s)=>r.provideDefinition(o,s,i))}function Rxe(n,e,t,i){return EN(e,t,n,(r,o,s)=>r.provideDeclaration(o,s,i))}function Zxe(n,e,t,i){return EN(e,t,n,(r,o,s)=>r.provideImplementation(o,s,i))}function Wxe(n,e,t,i){return EN(e,t,n,(r,o,s)=>r.provideTypeDefinition(o,s,i))}function V3(n,e,t,i,r){return EN(e,t,n,async(o,s,a)=>{const l=await o.provideReferences(s,a,{includeDeclaration:!0},r);if(!i||!l||l.length!==2)return l;const u=await o.provideReferences(s,a,{includeDeclaration:!1},r);return u&&u.length===1?u:l})}async function RN(n){const e=await n(),t=new pu(e,""),i=t.references.map(r=>r.link);return t.dispose(),i}zm("_executeDefinitionProvider",(n,e,t)=>{const i=n.get(Rt),r=A3(i.definitionProvider,e,t,Yn.None);return RN(()=>r)}),zm("_executeTypeDefinitionProvider",(n,e,t)=>{const i=n.get(Rt),r=Wxe(i.typeDefinitionProvider,e,t,Yn.None);return RN(()=>r)}),zm("_executeDeclarationProvider",(n,e,t)=>{const i=n.get(Rt),r=Rxe(i.declarationProvider,e,t,Yn.None);return RN(()=>r)}),zm("_executeReferenceProvider",(n,e,t)=>{const i=n.get(Rt),r=V3(i.referenceProvider,e,t,!1,Yn.None);return RN(()=>r)}),zm("_executeImplementationProvider",(n,e,t)=>{const i=n.get(Rt),r=Zxe(i.implementationProvider,e,t,Yn.None);return RN(()=>r)});var ZN,WN,AN,G3,X3,P3,O3,B3;ss.appendMenuItem(Q.EditorContext,{submenu:Q.EditorContextPeek,title:_("peek.submenu","Peek"),group:"navigation",order:100});class ix{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof ix||ve.isIPosition(e.position)&&e.model)}constructor(e,t){this.model=e,this.position=t}}class ka extends Mh{static all(){return ka._allSymbolNavigationCommands.values()}static _patchConfig(e){const t={...e,f1:!0};if(t.menu)for(const i of Qn.wrap(t.menu))(i.id===Q.EditorContext||i.id===Q.EditorContextPeek)&&(i.when=Oe.and(e.precondition,i.when));return t}constructor(e,t){super(ka._patchConfig(t)),this.configuration=e,ka._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,r){if(!t.hasModel())return Promise.resolve(void 0);const o=e.get(Mo),s=e.get(yi),a=e.get(N0),l=e.get(W3),u=e.get(Rt),c=e.get($t),d=t.getModel(),h=t.getPosition(),m=ix.is(i)?i:new ix(d,h),f=new T0(t,5),g=UI(this._getLocationModel(u,m.model,m.position,f.token),f.token).then(async b=>{var y;if(!b||f.token.isCancellationRequested)return;Ml(b.ariaMessage);let C;if(b.referenceAt(d.uri,h)){const x=this._getAlternativeCommand(t);!ka._activeAlternativeCommands.has(x)&&ka._allSymbolNavigationCommands.has(x)&&(C=ka._allSymbolNavigationCommands.get(x))}const w=b.references.length;if(w===0){if(!this.configuration.muteMessage){const x=d.getWordAtPosition(h);(y=dl.get(t))===null||y===void 0||y.showMessage(this._getNoResultFoundMessage(x),h)}}else if(w===1&&C)ka._activeAlternativeCommands.add(this.desc.id),c.invokeFunction(x=>C.runEditorCommand(x,t,i,r).finally(()=>{ka._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(s,l,t,b,r)},b=>{o.error(b)}).finally(()=>{f.dispose()});return a.showWhile(g,250),g}async _onResult(e,t,i,r,o){const s=this._getGoToPreference(i);if(!(i instanceof A0)&&(this.configuration.openInPeek||s==="peek"&&r.references.length>1))this._openInPeek(i,r,o);else{const a=r.firstReference(),l=r.references.length>1&&s==="gotoAndPeek",u=await this._openReference(i,e,a,this.configuration.openToSide,!l);l&&u?this._openInPeek(u,r,o):r.dispose(),s==="goto"&&t.put(a)}}async _openReference(e,t,i,r,o){let s;if(zyt(i)&&(s=i.targetSelectionRange),s||(s=i.range),!s)return;const a=await t.openCodeEditor({resource:i.uri,options:{selection:J.collapseToStart(s),selectionRevealType:3,selectionSource:"code.jump"}},e,r);if(a){if(o){const l=a.getModel(),u=a.createDecorationsCollection([{range:s,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{a.getModel()===l&&u.clear()},350)}return a}}_openInPeek(e,t,i){const r=nx.get(e);r&&e.hasModel()?r.toggleWidget(i??e.getSelection(),rs(o=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}}ka._allSymbolNavigationCommands=new Map,ka._activeAlternativeCommands=new Set;class VN extends ka{async _getLocationModel(e,t,i,r){return new pu(await A3(e.definitionProvider,t,i,r),_("def.title","Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?_("noResultWord","No definition found for '{0}'",e.word):_("generic.noResults","No definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleDefinitions}}Ki((ZN=class extends VN{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:ZN.id,title:{...oi("actions.goToDecl.label","Go to Definition"),mnemonicTitle:_({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},precondition:ne.hasDefinitionProvider,keybinding:[{when:ne.editorTextFocus,primary:70,weight:100},{when:Oe.and(ne.editorTextFocus,bxe),primary:2118,weight:100}],menu:[{id:Q.EditorContext,group:"navigation",order:1.1},{id:Q.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),$n.registerCommandAlias("editor.action.goToDeclaration",ZN.id)}},ZN.id="editor.action.revealDefinition",ZN)),Ki((WN=class extends VN{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:WN.id,title:oi("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:Oe.and(ne.hasDefinitionProvider,ne.isInEmbeddedEditor.toNegated()),keybinding:[{when:ne.editorTextFocus,primary:Zo(2089,70),weight:100},{when:Oe.and(ne.editorTextFocus,bxe),primary:Zo(2089,2118),weight:100}]}),$n.registerCommandAlias("editor.action.openDeclarationToTheSide",WN.id)}},WN.id="editor.action.revealDefinitionAside",WN)),Ki((AN=class extends VN{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:AN.id,title:oi("actions.previewDecl.label","Peek Definition"),precondition:Oe.and(ne.hasDefinitionProvider,zl.notInPeekEditor,ne.isInEmbeddedEditor.toNegated()),keybinding:{when:ne.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:Q.EditorContextPeek,group:"peek",order:2}}),$n.registerCommandAlias("editor.action.previewDeclaration",AN.id)}},AN.id="editor.action.peekDefinition",AN));class Axe extends ka{async _getLocationModel(e,t,i,r){return new pu(await Rxe(e.declarationProvider,t,i,r),_("decl.title","Declarations"))}_getNoResultFoundMessage(e){return e&&e.word?_("decl.noResultWord","No declaration found for '{0}'",e.word):_("decl.generic.noResults","No declaration found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(58).multipleDeclarations}}Ki((G3=class extends Axe{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:G3.id,title:{...oi("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:_({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:Oe.and(ne.hasDeclarationProvider,ne.isInEmbeddedEditor.toNegated()),menu:[{id:Q.EditorContext,group:"navigation",order:1.3},{id:Q.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?_("decl.noResultWord","No declaration found for '{0}'",e.word):_("decl.generic.noResults","No declaration found")}},G3.id="editor.action.revealDeclaration",G3)),Ki(class extends Axe{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:oi("actions.peekDecl.label","Peek Declaration"),precondition:Oe.and(ne.hasDeclarationProvider,zl.notInPeekEditor,ne.isInEmbeddedEditor.toNegated()),menu:{id:Q.EditorContextPeek,group:"peek",order:3}})}});class Vxe extends ka{async _getLocationModel(e,t,i,r){return new pu(await Wxe(e.typeDefinitionProvider,t,i,r),_("typedef.title","Type Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?_("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):_("goToTypeDefinition.generic.noResults","No type definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleTypeDefinitions}}Ki((X3=class extends Vxe{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:X3.ID,title:{...oi("actions.goToTypeDefinition.label","Go to Type Definition"),mnemonicTitle:_({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},precondition:ne.hasTypeDefinitionProvider,keybinding:{when:ne.editorTextFocus,primary:0,weight:100},menu:[{id:Q.EditorContext,group:"navigation",order:1.4},{id:Q.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},X3.ID="editor.action.goToTypeDefinition",X3)),Ki((P3=class extends Vxe{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:P3.ID,title:oi("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:Oe.and(ne.hasTypeDefinitionProvider,zl.notInPeekEditor,ne.isInEmbeddedEditor.toNegated()),menu:{id:Q.EditorContextPeek,group:"peek",order:4}})}},P3.ID="editor.action.peekTypeDefinition",P3));class Gxe extends ka{async _getLocationModel(e,t,i,r){return new pu(await Zxe(e.implementationProvider,t,i,r),_("impl.title","Implementations"))}_getNoResultFoundMessage(e){return e&&e.word?_("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):_("goToImplementation.generic.noResults","No implementation found")}_getAlternativeCommand(e){return e.getOption(58).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(58).multipleImplementations}}Ki((O3=class extends Gxe{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:O3.ID,title:{...oi("actions.goToImplementation.label","Go to Implementations"),mnemonicTitle:_({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},precondition:ne.hasImplementationProvider,keybinding:{when:ne.editorTextFocus,primary:2118,weight:100},menu:[{id:Q.EditorContext,group:"navigation",order:1.45},{id:Q.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},O3.ID="editor.action.goToImplementation",O3)),Ki((B3=class extends Gxe{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:B3.ID,title:oi("actions.peekImplementation.label","Peek Implementations"),precondition:Oe.and(ne.hasImplementationProvider,zl.notInPeekEditor,ne.isInEmbeddedEditor.toNegated()),keybinding:{when:ne.editorTextFocus,primary:3142,weight:100},menu:{id:Q.EditorContextPeek,group:"peek",order:5}})}},B3.ID="editor.action.peekImplementation",B3));class Xxe extends ka{_getNoResultFoundMessage(e){return e?_("references.no","No references found for '{0}'",e.word):_("references.noGeneric","No references found")}_getAlternativeCommand(e){return e.getOption(58).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(58).multipleReferences}}Ki(class extends Xxe{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...oi("goToReferences.label","Go to References"),mnemonicTitle:_({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:Oe.and(ne.hasReferenceProvider,zl.notInPeekEditor,ne.isInEmbeddedEditor.toNegated()),keybinding:{when:ne.editorTextFocus,primary:1094,weight:100},menu:[{id:Q.EditorContext,group:"navigation",order:1.45},{id:Q.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,r){return new pu(await V3(e.referenceProvider,t,i,!0,r),_("ref.title","References"))}}),Ki(class extends Xxe{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:oi("references.action.label","Peek References"),precondition:Oe.and(ne.hasReferenceProvider,zl.notInPeekEditor,ne.isInEmbeddedEditor.toNegated()),menu:{id:Q.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,r){return new pu(await V3(e.referenceProvider,t,i,!1,r),_("ref.title","References"))}});class KNt extends ka{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:oi("label.generic","Go to Any Symbol"),precondition:Oe.and(zl.notInPeekEditor,ne.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,r){return new pu(this._references,_("generic.title","Locations"))}_getNoResultFoundMessage(e){return e&&_("generic.noResult","No results for '{0}'",e.word)||""}_getGoToPreference(e){var t;return(t=this._gotoMultipleBehaviour)!==null&&t!==void 0?t:e.getOption(58).multipleReferences}_getAlternativeCommand(){return""}}$n.registerCommand({id:"editor.action.goToLocations",metadata:{description:"Go to locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:en},{name:"position",description:"The position at which to start",constraint:ve.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"},{name:"noResultsMessage",description:"Human readable message that shows when locations is empty."}]},handler:async(n,e,t,i,r,o,s)=>{hi(en.isUri(e)),hi(ve.isIPosition(t)),hi(Array.isArray(i)),hi(typeof r>"u"||typeof r=="string"),hi(typeof s>"u"||typeof s=="boolean");const a=n.get(yi),l=await a.openCodeEditor({resource:e},a.getFocusedCodeEditor());if(G0(l))return l.setPosition(t),l.revealPositionInCenterIfOutsideViewport(t,0),l.invokeWithinContext(u=>{const c=new class extends KNt{_getNoResultFoundMessage(d){return o||super._getNoResultFoundMessage(d)}}({muteMessage:!o,openInPeek:!!s,openToSide:!1},i,r);u.get($t).invokeFunction(c.run.bind(c),l)})}}),$n.registerCommand({id:"editor.action.peekLocations",metadata:{description:"Peek locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:en},{name:"position",description:"The position at which to start",constraint:ve.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"}]},handler:async(n,e,t,i,r)=>{n.get(Xr).executeCommand("editor.action.goToLocations",e,t,i,r,void 0,!0)}}),$n.registerCommand({id:"editor.action.findReferences",handler:(n,e,t)=>{hi(en.isUri(e)),hi(ve.isIPosition(t));const i=n.get(Rt),r=n.get(yi);return r.openCodeEditor({resource:e},r.getFocusedCodeEditor()).then(o=>{if(!G0(o)||!o.hasModel())return;const s=nx.get(o);if(!s)return;const a=rs(u=>V3(i.referenceProvider,o.getModel(),ve.lift(t),!1,u).then(c=>new pu(c,_("ref.title","References")))),l=new J(t.lineNumber,t.column,t.lineNumber,t.column);return Promise.resolve(s.toggleWidget(l,a,!1))})}}),$n.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");var JNt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},w8=function(n,e){return function(t,i){e(t,i,n)}},GN;let eC=GN=class{constructor(e,t,i,r){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=r,this.toUnhook=new Je,this.toUnhookForKeyboard=new Je,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const o=new c3(e);this.toUnhook.add(o),this.toUnhook.add(o.onMouseMoveOrRelevantKeyDown(([s,a])=>{this.startFindDefinitionFromMouse(s,a??void 0)})),this.toUnhook.add(o.onExecute(s=>{this.isEnabled(s)&&this.gotoDefinition(s.target.position,s.hasSideBySideModifier).catch(a=>{yn(a)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(o.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(GN.ID)}async startFindDefinitionFromCursor(e){await this.startFindDefinition(e),this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition(()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()})),this.toUnhookForKeyboard.add(this.editor.onKeyDown(t=>{t&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())}))}startFindDefinitionFromMouse(e,t){if(e.target.type===9&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(e,t)){this.currentWordAtPosition=null,this.removeLinkDecorations();return}const i=e.target.position;this.startFindDefinition(i)}async startFindDefinition(e){var t;this.toUnhookForKeyboard.clear();const i=e?(t=this.editor.getModel())===null||t===void 0?void 0:t.getWordAtPosition(e):null;if(!i){this.currentWordAtPosition=null,this.removeLinkDecorations();return}if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===i.startColumn&&this.currentWordAtPosition.endColumn===i.endColumn&&this.currentWordAtPosition.word===i.word)return;this.currentWordAtPosition=i;const r=new Ewe(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=rs(a=>this.findDefinition(e,a));let o;try{o=await this.previousPromise}catch(a){yn(a);return}if(!o||!o.length||!r.validate(this.editor)){this.removeLinkDecorations();return}const s=o[0].originSelectionRange?J.lift(o[0].originSelectionRange):new J(e.lineNumber,i.startColumn,e.lineNumber,i.endColumn);if(o.length>1){let a=s;for(const{originSelectionRange:l}of o)l&&(a=J.plusRange(a,l));this.addDecoration(a,new ya().appendText(_("multipleResults","Click to show {0} definitions.",o.length)))}else{const a=o[0];if(!a.uri)return;this.textModelResolverService.createModelReference(a.uri).then(l=>{if(!l.object||!l.object.textEditorModel){l.dispose();return}const{object:{textEditorModel:u}}=l,{startLineNumber:c}=a.range;if(c<1||c>u.getLineCount()){l.dispose();return}const d=this.getPreviewValue(u,c,a),h=this.languageService.guessLanguageIdByFilepathOrFirstLine(u.uri);this.addDecoration(s,d?new ya().appendCodeblock(h||"",d):void 0),l.dispose()})}}getPreviewValue(e,t,i){let r=i.range;return r.endLineNumber-r.startLineNumber>=GN.MAX_SOURCE_PREVIEW_LINES&&(r=this.getPreviewRangeBasedOnIndentation(e,t)),this.stripIndentationFromPreviewRange(e,t,r)}stripIndentationFromPreviewRange(e,t,i){let o=e.getLineFirstNonWhitespaceColumn(t);for(let a=t+1;a{const r=!t&&this.editor.getOption(88)&&!this.isInPeekEditor(i);return new VN({openToSide:t,openInPeek:r,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(i)})}isInPeekEditor(e){const t=e.get(ln);return zl.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}};eC.ID="editor.contrib.gotodefinitionatposition",eC.MAX_SOURCE_PREVIEW_LINES=8,eC=GN=JNt([w8(1,kl),w8(2,br),w8(3,Rt)],eC),vi(eC.ID,eC,2);const z3=Ct;let x8=class extends Fe{constructor(){super(),this.containerDomNode=document.createElement("div"),this.containerDomNode.className="monaco-hover",this.containerDomNode.tabIndex=0,this.containerDomNode.setAttribute("role","tooltip"),this.contentsDomNode=document.createElement("div"),this.contentsDomNode.className="monaco-hover-content",this.scrollbar=this._register(new WF(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this.scrollbar.getDomNode())}onContentsChanged(){this.scrollbar.scanDomNode()}};class H3 extends Fe{static render(e,t,i){return new H3(e,t,i)}constructor(e,t,i){super(),this.actionContainer=je(e,z3("div.action-container")),this.actionContainer.setAttribute("tabindex","0"),this.action=je(this.actionContainer,z3("a.action")),this.action.setAttribute("role","button"),t.iconClass&&je(this.action,z3(`span.icon.${t.iconClass}`));const r=je(this.action,z3("span"));r.textContent=i?`${t.label} (${i})`:t.label,this._register(Ve(this.actionContainer,ot.CLICK,o=>{o.stopPropagation(),o.preventDefault(),t.run(this.actionContainer)})),this._register(Ve(this.actionContainer,ot.KEY_DOWN,o=>{const s=new or(o);(s.equals(3)||s.equals(10))&&(o.stopPropagation(),o.preventDefault(),t.run(this.actionContainer))})),this.setEnabled(!0)}setEnabled(e){e?(this.actionContainer.classList.remove("disabled"),this.actionContainer.removeAttribute("aria-disabled")):(this.actionContainer.classList.add("disabled"),this.actionContainer.setAttribute("aria-disabled","true"))}}function Pxe(n,e){return n&&e?_("acessibleViewHint","Inspect this in the accessible view with {0}.",e):n?_("acessibleViewHintNoKbOpen","Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding."):""}let jNt=class{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}};class Oxe extends Fe{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new be),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new Wi(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new Wi(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new Wi(()=>this._triggerLoadingMessage(),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),super.dispose()}get _hoverTime(){return this._editor.getOption(60).delay}get _firstWaitTime(){return this._hoverTime/2}get _secondWaitTime(){return this._hoverTime-this._firstWaitTime}get _loadingMessageTime(){return 3*this._hoverTime}_setState(e,t=!0){this._state=e,t&&this._fireResult()}_triggerAsyncComputation(){this._setState(2),this._secondWaitScheduler.schedule(this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=rmt(e=>this._computer.computeAsync(e)),(async()=>{try{for await(const e of this._asyncIterable)e&&(this._result.push(e),this._fireResult());this._asyncIterableDone=!0,(this._state===3||this._state===4)&&this._setState(0)}catch(e){yn(e)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync())),this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){this._state===3&&this._setState(4)}_fireResult(){if(this._state===1||this._state===2)return;const e=this._state===0,t=this._state===4;this._onResult.fire(new jNt(this._result.slice(0),e,t))}start(e){if(e===0)this._state===0&&(this._setState(1),this._firstWaitScheduler.schedule(this._firstWaitTime),this._loadingMessageScheduler.schedule(this._loadingMessageTime));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break}}cancel(){this._firstWaitScheduler.cancel(),this._secondWaitScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),this._result=[],this._setState(0,!1)}}class _8{constructor(e,t,i,r){this.priority=e,this.range=t,this.initialMousePosX=i,this.initialMousePosY=r,this.type=1}equals(e){return e.type===1&&this.range.equalsRange(e.range)}canAdoptVisibleHover(e,t){return e.type===1&&t.lineNumber===this.range.startLineNumber}}class tC{constructor(e,t,i,r,o,s){this.priority=e,this.owner=t,this.range=i,this.initialMousePosX=r,this.initialMousePosY=o,this.supportsMarkerHover=s,this.type=2}equals(e){return e.type===2&&this.owner===e.owner}canAdoptVisibleHover(e,t){return e.type===2&&this.owner===e.owner}}const O0=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};class L8{constructor(){this._onDidWillResize=new be,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new be,this.onDidResize=this._onDidResize.event,this._sashListener=new Je,this._size=new mi(0,0),this._minSize=new mi(0,0),this._maxSize=new mi(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new Ca(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new Ca(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new Ca(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:xW.North}),this._southSash=new Ca(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:xW.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let e,t=0,i=0;this._sashListener.add(lt.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)(()=>{e===void 0&&(this._onDidWillResize.fire(),e=this._size,t=0,i=0)})),this._sashListener.add(lt.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)(()=>{e!==void 0&&(e=void 0,t=0,i=0,this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(this._eastSash.onDidChange(r=>{e&&(i=r.currentX-r.startX,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))})),this._sashListener.add(this._westSash.onDidChange(r=>{e&&(i=-(r.currentX-r.startX),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))})),this._sashListener.add(this._northSash.onDidChange(r=>{e&&(t=-(r.currentY-r.startY),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))})),this._sashListener.add(this._southSash.onDidChange(r=>{e&&(t=r.currentY-r.startY,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))})),this._sashListener.add(lt.any(this._eastSash.onDidReset,this._westSash.onDidReset)(r=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(lt.any(this._northSash.onDidReset,this._southSash.onDidReset)(r=>{this._preferredSize&&(this.layout(this._preferredSize.height,this._size.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))}dispose(){this._northSash.dispose(),this._southSash.dispose(),this._eastSash.dispose(),this._westSash.dispose(),this._sashListener.dispose(),this._onDidResize.dispose(),this._onDidWillResize.dispose(),this.domNode.remove()}enableSashes(e,t,i,r){this._northSash.state=e?3:0,this._eastSash.state=t?3:0,this._southSash.state=i?3:0,this._westSash.state=r?3:0}layout(e=this.size.height,t=this.size.width){const{height:i,width:r}=this._minSize,{height:o,width:s}=this._maxSize;e=Math.max(i,Math.min(o,e)),t=Math.max(r,Math.min(s,t));const a=new mi(t,e);mi.equals(a,this._size)||(this.domNode.style.height=e+"px",this.domNode.style.width=t+"px",this._size=a,this._northSash.layout(),this._eastSash.layout(),this._southSash.layout(),this._westSash.layout())}clearSashHoverState(){this._eastSash.clearSashHoverState(),this._westSash.clearSashHoverState(),this._northSash.clearSashHoverState(),this._southSash.clearSashHoverState()}get size(){return this._size}set maxSize(e){this._maxSize=e}get maxSize(){return this._maxSize}set minSize(e){this._minSize=e}get minSize(){return this._minSize}set preferredSize(e){this._preferredSize=e}get preferredSize(){return this._preferredSize}}const QNt=30,$Nt=24;class qNt extends Fe{constructor(e,t=new mi(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new L8),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=mi.lift(t),this._resizableNode.layout(t.height,t.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize(i=>{this._resize(new mi(i.dimension.width,i.dimension.height)),i.done&&(this._isResizing=!1)})),this._register(this._resizableNode.onDidWillResize(()=>{this._isResizing=!0}))}get isResizing(){return this._isResizing}getDomNode(){return this._resizableNode.domNode}getPosition(){return this._contentPosition}get position(){var e;return!((e=this._contentPosition)===null||e===void 0)&&e.position?ve.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);return!t||!i?void 0:po(t).top+i.top-QNt}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const r=po(t),o=Fg(t.ownerDocument.body),s=r.top+i.top+i.height;return o.height-s-$Nt}_findPositionPreference(e,t){var i,r;const o=Math.min((i=this._availableVerticalSpaceBelow(t))!==null&&i!==void 0?i:1/0,e),s=Math.min((r=this._availableVerticalSpaceAbove(t))!==null&&r!==void 0?r:1/0,e),a=Math.min(Math.max(s,o),e),l=Math.min(e,a);let u;return this._editor.getOption(60).above?u=l<=s?1:2:u=l<=o?2:1,u===1?this._resizableNode.enableSashes(!0,!0,!1,!1):this._resizableNode.enableSashes(!1,!0,!0,!1),u}_resize(e){this._resizableNode.layout(e.height,e.width)}}var I8=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},nC=function(n,e){return function(t,i){e(t,i,n)}},Y3,Tf;const Bxe=Ct;let U3=Y3=class extends Fe{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._currentResult=null,this._widget=this._register(this._instantiationService.createInstance(B0,this._editor)),this._participants=[];for(const r of O0.getAll())this._participants.push(this._instantiationService.createInstance(r,this._editor));this._participants.sort((r,o)=>r.hoverOrdinal-o.hoverOrdinal),this._computer=new J3(this._editor,this._participants),this._hoverOperation=this._register(new Oxe(this._editor,this._computer)),this._register(this._hoverOperation.onResult(r=>{if(!this._computer.anchor)return;const o=r.hasLoadingMessage?this._addLoadingMessage(r.value):r.value;this._withResult(new zxe(this._computer.anchor,o,r.isComplete))})),this._register(Gr(this._widget.getDomNode(),"keydown",r=>{r.equals(9)&&this.hide()})),this._register(bo.onDidChange(()=>{this._widget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)}))}_startShowingOrUpdateHover(e,t,i,r,o){return!this._widget.position||!this._currentResult?e?(this._startHoverOperationIfNecessary(e,t,i,r,!1),!0):!1:this._editor.getOption(60).sticky&&o&&this._widget.isMouseGettingCloser(o.event.posx,o.event.posy)?(e&&this._startHoverOperationIfNecessary(e,t,i,r,!0),!0):e?e&&this._currentResult.anchor.equals(e)?!0:e.canAdoptVisibleHover(this._currentResult.anchor,this._widget.position)?(this._setCurrentResult(this._currentResult.filter(e)),this._startHoverOperationIfNecessary(e,t,i,r,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(e,t,i,r,!1),!0):(this._setCurrentResult(null),!1)}_startHoverOperationIfNecessary(e,t,i,r,o){this._computer.anchor&&this._computer.anchor.equals(e)||(this._hoverOperation.cancel(),this._computer.anchor=e,this._computer.shouldFocus=r,this._computer.source=i,this._computer.insistOnKeepingHoverVisible=o,this._hoverOperation.start(t))}_setCurrentResult(e){this._currentResult!==e&&(e&&e.messages.length===0&&(e=null),this._currentResult=e,this._currentResult?this._renderMessages(this._currentResult.anchor,this._currentResult.messages):this._widget.hide())}_addLoadingMessage(e){if(this._computer.anchor){for(const t of this._participants)if(t.createLoadingMessage){const i=t.createLoadingMessage(this._computer.anchor);if(i)return e.slice(0).concat([i])}}return e}_withResult(e){this._widget.position&&this._currentResult&&this._currentResult.isComplete&&(!e.isComplete||this._computer.insistOnKeepingHoverVisible&&e.messages.length===0)||this._setCurrentResult(e)}_renderMessages(e,t){const{showAtPosition:i,showAtSecondaryPosition:r,highlightRange:o}=Y3.computeHoverRanges(this._editor,e.range,t),s=new Je,a=s.add(new K3(this._keybindingService)),l=document.createDocumentFragment();let u=null;const c={fragment:l,statusBar:a,setColorPicker:h=>u=h,onContentsChanged:()=>this._widget.onContentsChanged(),setMinimumDimensions:h=>this._widget.setMinimumDimensions(h),hide:()=>this.hide()};for(const h of this._participants){const m=t.filter(f=>f.owner===h);m.length>0&&s.add(h.renderHoverParts(c,m))}const d=t.some(h=>h.isBeforeContent);if(a.hasContent&&l.appendChild(a.hoverElement),l.hasChildNodes()){if(o){const h=this._editor.createDecorationsCollection();h.set([{range:o,options:Y3._DECORATION_OPTIONS}]),s.add(jt(()=>{h.clear()}))}this._widget.showAt(l,new tMt(e.initialMousePosX,e.initialMousePosY,u,i,r,this._editor.getOption(60).above,this._computer.shouldFocus,this._computer.source,d,s))}else s.dispose()}static computeHoverRanges(e,t,i){let r=1;if(e.hasModel()){const d=e._getViewModel(),h=d.coordinatesConverter,m=h.convertModelRangeToViewRange(t),f=new ve(m.startLineNumber,d.getLineMinColumn(m.startLineNumber));r=h.convertViewPositionToModelPosition(f).column}const o=t.startLineNumber;let s=t.startColumn,a=i[0].range,l=null;for(const d of i)a=J.plusRange(a,d.range),d.range.startLineNumber===o&&d.range.endLineNumber===o&&(s=Math.max(Math.min(s,d.range.startColumn),r)),d.forceShowAtRange&&(l=d.range);const u=l?l.getStartPosition():new ve(o,t.startColumn),c=l?l.getStartPosition():new ve(o,s);return{showAtPosition:u,showAtSecondaryPosition:c,highlightRange:a}}showsOrWillShow(e){if(this._widget.isResizing)return!0;const t=[];for(const r of this._participants)if(r.suggestHoverAnchor){const o=r.suggestHoverAnchor(e);o&&t.push(o)}const i=e.target;if(i.type===6&&t.push(new _8(0,i.range,e.event.posx,e.event.posy)),i.type===7){const r=this._editor.getOption(50).typicalHalfwidthCharacterWidth/2;!i.detail.isAfterLines&&typeof i.detail.horizontalDistanceToText=="number"&&i.detail.horizontalDistanceToTexto.priority-r.priority),this._startShowingOrUpdateHover(t[0],0,0,!1,e))}startShowingAtRange(e,t,i,r){this._startShowingOrUpdateHover(new _8(0,e,void 0,void 0),t,i,r,null)}containsNode(e){return e?this._widget.getDomNode().contains(e):!1}focus(){this._widget.focus()}scrollUp(){this._widget.scrollUp()}scrollDown(){this._widget.scrollDown()}scrollLeft(){this._widget.scrollLeft()}scrollRight(){this._widget.scrollRight()}pageUp(){this._widget.pageUp()}pageDown(){this._widget.pageDown()}goToTop(){this._widget.goToTop()}goToBottom(){this._widget.goToBottom()}hide(){this._computer.anchor=null,this._hoverOperation.cancel(),this._setCurrentResult(null)}get isColorPickerVisible(){return this._widget.isColorPickerVisible}get isVisibleFromKeyboard(){return this._widget.isVisibleFromKeyboard}get isVisible(){return this._widget.isVisible}get isFocused(){return this._widget.isFocused}get isResizing(){return this._widget.isResizing}get widget(){return this._widget}};U3._DECORATION_OPTIONS=vn.register({description:"content-hover-highlight",className:"hoverHighlight"}),U3=Y3=I8([nC(1,$t),nC(2,Oi)],U3);class zxe{constructor(e,t,i){this.anchor=e,this.messages=t,this.isComplete=i}filter(e){const t=this.messages.filter(i=>i.isValidForHoverAnchor(e));return t.length===this.messages.length?this:new eMt(this,this.anchor,t,this.isComplete)}}class eMt extends zxe{constructor(e,t,i,r){super(t,i,r),this.original=e}filter(e){return this.original.filter(e)}}class tMt{constructor(e,t,i,r,o,s,a,l,u,c){this.initialMousePosX=e,this.initialMousePosY=t,this.colorPicker=i,this.showAtPosition=r,this.showAtSecondaryPosition=o,this.preferAbove=s,this.stoleFocus=a,this.source=l,this.isBeforeContent=u,this.disposables=c,this.closestMouseDistance=void 0}}const Hxe=30,F8=10,nMt=6;let B0=Tf=class extends qNt{get isColorPickerVisible(){var e;return!!(!((e=this._visibleData)===null||e===void 0)&&e.colorPicker)}get isVisibleFromKeyboard(){var e;return((e=this._visibleData)===null||e===void 0?void 0:e.source)===1}get isVisible(){var e;return(e=this._hoverVisibleKey.get())!==null&&e!==void 0?e:!1}get isFocused(){var e;return(e=this._hoverFocusedKey.get())!==null&&e!==void 0?e:!1}constructor(e,t,i,r,o){const s=e.getOption(67)+8,a=150,l=new mi(a,s);super(e,l),this._configurationService=i,this._accessibilityService=r,this._keybindingService=o,this._hover=this._register(new x8),this._minimumSize=l,this._hoverVisibleKey=ne.hoverVisible.bindTo(t),this._hoverFocusedKey=ne.hoverFocused.bindTo(t),je(this._resizableNode.domNode,this._hover.containerDomNode),this._resizableNode.domNode.style.zIndex="50",this._register(this._editor.onDidLayoutChange(()=>{this.isVisible&&this._updateMaxDimensions()})),this._register(this._editor.onDidChangeConfiguration(c=>{c.hasChanged(50)&&this._updateFont()}));const u=this._register(Dh(this._resizableNode.domNode));this._register(u.onDidFocus(()=>{this._hoverFocusedKey.set(!0)})),this._register(u.onDidBlur(()=>{this._hoverFocusedKey.set(!1)})),this._setHoverData(void 0),this._editor.addContentWidget(this)}dispose(){var e;super.dispose(),(e=this._visibleData)===null||e===void 0||e.disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return Tf.ID}static _applyDimensions(e,t,i){const r=typeof t=="number"?`${t}px`:t,o=typeof i=="number"?`${i}px`:i;e.style.width=r,e.style.height=o}_setContentsDomNodeDimensions(e,t){const i=this._hover.contentsDomNode;return Tf._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){const i=this._hover.containerDomNode;return Tf._applyDimensions(i,e,t)}_setHoverWidgetDimensions(e,t){this._setContentsDomNodeDimensions(e,t),this._setContainerDomNodeDimensions(e,t),this._layoutContentWidget()}static _applyMaxDimensions(e,t,i){const r=typeof t=="number"?`${t}px`:t,o=typeof i=="number"?`${i}px`:i;e.style.maxWidth=r,e.style.maxHeight=o}_setHoverWidgetMaxDimensions(e,t){Tf._applyMaxDimensions(this._hover.contentsDomNode,e,t),Tf._applyMaxDimensions(this._hover.containerDomNode,e,t),this._hover.containerDomNode.style.setProperty("--vscode-hover-maxWidth",typeof e=="number"?`${e}px`:e),this._layoutContentWidget()}_hasHorizontalScrollbar(){const e=this._hover.scrollbar.getScrollDimensions();return e.scrollWidth>e.width}_adjustContentsBottomPadding(){const e=this._hover.contentsDomNode,t=`${this._hover.scrollbar.options.horizontalScrollbarSize}px`;e.style.paddingBottom!==t&&(e.style.paddingBottom=t)}_setAdjustedHoverWidgetDimensions(e){this._setHoverWidgetMaxDimensions("none","none");const t=e.width,i=e.height;this._setHoverWidgetDimensions(t,i),this._hasHorizontalScrollbar()&&(this._adjustContentsBottomPadding(),this._setContentsDomNodeDimensions(t,i-F8))}_updateResizableNodeMaxDimensions(){var e,t;const i=(e=this._findMaximumRenderingWidth())!==null&&e!==void 0?e:1/0,r=(t=this._findMaximumRenderingHeight())!==null&&t!==void 0?t:1/0;this._resizableNode.maxSize=new mi(i,r),this._setHoverWidgetMaxDimensions(i,r)}_resize(e){var t,i;Tf._lastDimensions=new mi(e.width,e.height),this._setAdjustedHoverWidgetDimensions(e),this._resizableNode.layout(e.height,e.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),(i=(t=this._visibleData)===null||t===void 0?void 0:t.colorPicker)===null||i===void 0||i.layout()}_findAvailableSpaceVertically(){var e;const t=(e=this._visibleData)===null||e===void 0?void 0:e.showAtPosition;if(t)return this._positionPreference===1?this._availableVerticalSpaceAbove(t):this._availableVerticalSpaceBelow(t)}_findMaximumRenderingHeight(){const e=this._findAvailableSpaceVertically();if(!e)return;let t=nMt;return Array.from(this._hover.contentsDomNode.children).forEach(i=>{t+=i.clientHeight}),this._hasHorizontalScrollbar()&&(t+=F8),Math.min(e,t)}_isHoverTextOverflowing(){this._hover.containerDomNode.style.setProperty("--vscode-hover-whiteSpace","nowrap"),this._hover.containerDomNode.style.setProperty("--vscode-hover-sourceWhiteSpace","nowrap");const e=Array.from(this._hover.contentsDomNode.children).some(t=>t.scrollWidth>t.clientWidth);return this._hover.containerDomNode.style.removeProperty("--vscode-hover-whiteSpace"),this._hover.containerDomNode.style.removeProperty("--vscode-hover-sourceWhiteSpace"),e}_findMaximumRenderingWidth(){if(!this._editor||!this._editor.hasModel())return;const e=this._isHoverTextOverflowing(),t=typeof this._contentWidth>"u"?0:this._contentWidth-2;return e||this._hover.containerDomNode.clientWidth"u"||typeof this._visibleData.initialMousePosY>"u")return this._visibleData.initialMousePosX=e,this._visibleData.initialMousePosY=t,!1;const i=po(this.getDomNode());typeof this._visibleData.closestMouseDistance>"u"&&(this._visibleData.closestMouseDistance=Yxe(this._visibleData.initialMousePosX,this._visibleData.initialMousePosY,i.left,i.top,i.width,i.height));const r=Yxe(e,t,i.left,i.top,i.width,i.height);return r>this._visibleData.closestMouseDistance+4?!1:(this._visibleData.closestMouseDistance=Math.min(this._visibleData.closestMouseDistance,r),!0)}_setHoverData(e){var t;(t=this._visibleData)===null||t===void 0||t.disposables.dispose(),this._visibleData=e,this._hoverVisibleKey.set(!!e),this._hover.containerDomNode.classList.toggle("hidden",!e)}_updateFont(){const{fontSize:e,lineHeight:t}=this._editor.getOption(50),i=this._hover.contentsDomNode;i.style.fontSize=`${e}px`,i.style.lineHeight=`${t/e}`,Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(o=>this._editor.applyFontInfo(o))}_updateContent(e){const t=this._hover.contentsDomNode;t.style.paddingBottom="",t.textContent="",t.appendChild(e)}_layoutContentWidget(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}_updateMaxDimensions(){const e=Math.max(this._editor.getLayoutInfo().height/4,250,Tf._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,500,Tf._lastDimensions.width);this._setHoverWidgetMaxDimensions(t,e)}_render(e,t){this._setHoverData(t),this._updateFont(),this._updateContent(e),this._updateMaxDimensions(),this.onContentsChanged(),this._editor.render()}getPosition(){var e;return this._visibleData?{position:this._visibleData.showAtPosition,secondaryPosition:this._visibleData.showAtSecondaryPosition,positionAffinity:this._visibleData.isBeforeContent?3:void 0,preference:[(e=this._positionPreference)!==null&&e!==void 0?e:1]}:null}showAt(e,t){var i,r,o,s;if(!this._editor||!this._editor.hasModel())return;this._render(e,t);const a=Dg(this._hover.containerDomNode),l=t.showAtPosition;this._positionPreference=(i=this._findPositionPreference(a,l))!==null&&i!==void 0?i:1,this.onContentsChanged(),t.stoleFocus&&this._hover.containerDomNode.focus(),(r=t.colorPicker)===null||r===void 0||r.layout();const c=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&Pxe(this._configurationService.getValue("accessibility.verbosity.hover")===!0&&this._accessibilityService.isScreenReaderOptimized(),(s=(o=this._keybindingService.lookupKeybinding("editor.action.accessibleView"))===null||o===void 0?void 0:o.getAriaLabel())!==null&&s!==void 0?s:"");c&&(this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+", "+c)}hide(){if(!this._visibleData)return;const e=this._visibleData.stoleFocus||this._hoverFocusedKey.get();this._setHoverData(void 0),this._resizableNode.maxSize=new mi(1/0,1/0),this._resizableNode.clearSashHoverState(),this._hoverFocusedKey.set(!1),this._editor.layoutContentWidget(this),e&&this._editor.focus()}_removeConstraintsRenderNormally(){const e=this._editor.getLayoutInfo();this._resizableNode.layout(e.height,e.width),this._setHoverWidgetDimensions("auto","auto")}_adjustHoverHeightForScrollbar(e){var t;const i=this._hover.containerDomNode,r=this._hover.contentsDomNode,o=(t=this._findMaximumRenderingHeight())!==null&&t!==void 0?t:1/0;this._setContainerDomNodeDimensions(Qa(i),Math.min(o,e)),this._setContentsDomNodeDimensions(Qa(r),Math.min(o,e-F8))}setMinimumDimensions(e){this._minimumSize=new mi(Math.max(this._minimumSize.width,e.width),Math.max(this._minimumSize.height,e.height)),this._updateMinimumWidth()}_updateMinimumWidth(){const e=typeof this._contentWidth>"u"?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new mi(e,this._minimumSize.height)}onContentsChanged(){var e;this._removeConstraintsRenderNormally();const t=this._hover.containerDomNode;let i=Dg(t),r=Qa(t);if(this._resizableNode.layout(i,r),this._setHoverWidgetDimensions(r,i),i=Dg(t),r=Qa(t),this._contentWidth=r,this._updateMinimumWidth(),this._resizableNode.layout(i,r),this._hasHorizontalScrollbar()&&(this._adjustContentsBottomPadding(),this._adjustHoverHeightForScrollbar(i)),!((e=this._visibleData)===null||e===void 0)&&e.showAtPosition){const o=Dg(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(o,this._visibleData.showAtPosition)}this._layoutContentWidget()}focus(){this._hover.containerDomNode.focus()}scrollUp(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:e-t.lineHeight})}scrollDown(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:e+t.lineHeight})}scrollLeft(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e-Hxe})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+Hxe})}pageUp(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e-t})}pageDown(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e+t})}goToTop(){this._hover.scrollbar.setScrollPosition({scrollTop:0})}goToBottom(){this._hover.scrollbar.setScrollPosition({scrollTop:this._hover.scrollbar.getScrollDimensions().scrollHeight})}};B0.ID="editor.contrib.resizableContentHoverWidget",B0._lastDimensions=new mi(0,0),B0=Tf=I8([nC(1,ln),nC(2,Pn),nC(3,Wc),nC(4,Oi)],B0);let K3=class extends Fe{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this._hasContent=!1,this.hoverElement=Bxe("div.hover-row.status-bar"),this.actionsElement=je(this.hoverElement,Bxe("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;return this._hasContent=!0,this._register(H3.render(this.actionsElement,e,i))}append(e){const t=je(this.actionsElement,e);return this._hasContent=!0,t}};K3=I8([nC(0,Oi)],K3);class J3{get anchor(){return this._anchor}set anchor(e){this._anchor=e}get shouldFocus(){return this._shouldFocus}set shouldFocus(e){this._shouldFocus=e}get source(){return this._source}set source(e){this._source=e}get insistOnKeepingHoverVisible(){return this._insistOnKeepingHoverVisible}set insistOnKeepingHoverVisible(e){this._insistOnKeepingHoverVisible=e}constructor(e,t){this._editor=e,this._participants=t,this._anchor=null,this._shouldFocus=!1,this._source=0,this._insistOnKeepingHoverVisible=!1}static _getLineDecorations(e,t){if(t.type!==1&&!t.supportsMarkerHover)return[];const i=e.getModel(),r=t.range.startLineNumber;if(r>i.getLineCount())return[];const o=i.getLineMaxColumn(r);return e.getLineDecorations(r).filter(s=>{if(s.options.isWholeLine)return!0;const a=s.range.startLineNumber===r?s.range.startColumn:1,l=s.range.endLineNumber===r?s.range.endColumn:o;if(s.options.showIfCollapsed){if(a>t.range.startColumn+1||t.range.endColumn-1>l)return!1}else if(a>t.range.startColumn||t.range.endColumn>l)return!1;return!0})}computeAsync(e){const t=this._anchor;if(!this._editor.hasModel()||!t)return Io.EMPTY;const i=J3._getLineDecorations(this._editor,t);return Io.merge(this._participants.map(r=>r.computeAsync?r.computeAsync(t,i,e):Io.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=J3._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return Ym(t)}}function Yxe(n,e,t,i,r,o){const s=t+r/2,a=i+o/2,l=Math.max(Math.abs(n-s)-r/2,0),u=Math.max(Math.abs(e-a)-o/2,0);return Math.sqrt(l*l+u*u)}const Uxe=Ct;class rx extends Fe{constructor(e,t,i){super(),this._renderDisposeables=this._register(new Je),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new x8),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new xf({editor:this._editor},t,i)),this._computer=new iMt(this._editor),this._hoverOperation=this._register(new Oxe(this._editor,this._computer)),this._register(this._hoverOperation.onResult(r=>{this._withResult(r.value)})),this._register(this._editor.onDidChangeModelDecorations(()=>this._onModelDecorationsChanged())),this._register(this._editor.onDidChangeConfiguration(r=>{r.hasChanged(50)&&this._updateFont()})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return rx.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(t=>this._editor.applyFontInfo(t))}_onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._hoverOperation.start(0))}startShowingAt(e,t){this._computer.lineNumber===e&&this._computer.lane===t||(this._hoverOperation.cancel(),this.hide(),this._computer.lineNumber=e,this._computer.lane=t,this._hoverOperation.start(0))}hide(){this._computer.lineNumber=-1,this._hoverOperation.cancel(),this._isVisible&&(this._isVisible=!1,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible))}_withResult(e){this._messages=e,this._messages.length>0?this._renderMessages(this._computer.lineNumber,this._messages):this.hide()}_renderMessages(e,t){this._renderDisposeables.clear();const i=document.createDocumentFragment();for(const r of t){const o=Uxe("div.hover-row.markdown-hover"),s=je(o,Uxe("div.hover-contents")),a=this._renderDisposeables.add(this._markdownRenderer.render(r.value));s.appendChild(a.element),i.appendChild(o)}this._updateContents(i),this._showAt(e)}_updateContents(e){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(e),this._updateFont()}_showAt(e){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible));const t=this._editor.getLayoutInfo(),i=this._editor.getTopForLineNumber(e),r=this._editor.getScrollTop(),o=this._editor.getOption(67),s=this._hover.containerDomNode.clientHeight,a=i-r-(s-o)/2,l=t.glyphMarginLeft+t.glyphMarginWidth+(this._computer.lane==="lineNo"?t.lineNumbersWidth:0);this._hover.containerDomNode.style.left=`${l}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(a),0)}px`}}rx.ID="editor.contrib.modesGlyphHoverWidget";class iMt{get lineNumber(){return this._lineNumber}set lineNumber(e){this._lineNumber=e}get lane(){return this._laneOrLine}set lane(e){this._laneOrLine=e}constructor(e){this._editor=e,this._lineNumber=-1,this._laneOrLine=lf.Center}computeSync(){var e,t;const i=a=>({value:a}),r=this._editor.getLineDecorations(this._lineNumber),o=[],s=this._laneOrLine==="lineNo";if(!r)return o;for(const a of r){const l=(t=(e=a.options.glyphMargin)===null||e===void 0?void 0:e.position)!==null&&t!==void 0?t:lf.Center;if(!s&&l!==this._laneOrLine)continue;const u=s?a.options.lineNumberHoverMessage:a.options.glyphMarginHoverMessage;!u||D2(u)||o.push(...UY(u).map(i))}return o}}class rMt{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}async function oMt(n,e,t,i,r){try{const o=await Promise.resolve(n.provideHover(t,i,r));if(o&&aMt(o))return new rMt(n,o,e)}catch(o){qr(o)}}function D8(n,e,t,i){const o=n.ordered(e).map((s,a)=>oMt(s,a,e,t,i));return Io.fromPromises(o).coalesce()}function sMt(n,e,t,i){return D8(n,e,t,i).map(r=>r.hover).toPromise()}zm("_executeHoverProvider",(n,e,t)=>{const i=n.get(Rt);return sMt(i.hoverProvider,e,t,Yn.None)});function aMt(n){const e=typeof n.range<"u",t=typeof n.contents<"u"&&n.contents&&n.contents.length>0;return e&&t}var lMt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},j3=function(n,e){return function(t,i){e(t,i,n)}};const Kxe=Ct;class Qh{constructor(e,t,i,r,o){this.owner=e,this.range=t,this.contents=i,this.isBeforeContent=r,this.ordinal=o}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let Q3=class{constructor(e,t,i,r,o){this._editor=e,this._languageService=t,this._openerService=i,this._configurationService=r,this._languageFeaturesService=o,this.hoverOrdinal=3}createLoadingMessage(e){return new Qh(this,e.range,[new ya().appendText(_("modesContentHover.loading","Loading..."))],!1,2e3)}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];const i=this._editor.getModel(),r=e.range.startLineNumber,o=i.getLineMaxColumn(r),s=[];let a=1e3;const l=i.getLineLength(r),u=i.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),c=this._editor.getOption(117),d=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:u});let h=!1;c>=0&&l>c&&e.range.startColumn>=c&&(h=!0,s.push(new Qh(this,e.range,[{value:_("stopped rendering","Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,a++))),!h&&typeof d=="number"&&l>=d&&s.push(new Qh(this,e.range,[{value:_("too many characters","Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,a++));let m=!1;for(const f of t){const g=f.range.startLineNumber===r?f.range.startColumn:1,b=f.range.endLineNumber===r?f.range.endColumn:o,y=f.options.hoverMessage;if(!y||D2(y))continue;f.options.beforeContentClassName&&(m=!0);const C=new J(e.range.startLineNumber,g,e.range.startLineNumber,b);s.push(new Qh(this,C,UY(y),m,a++))}return s}computeAsync(e,t,i){if(!this._editor.hasModel()||e.type!==1)return Io.EMPTY;const r=this._editor.getModel();if(!this._languageFeaturesService.hoverProvider.has(r))return Io.EMPTY;const o=new ve(e.range.startLineNumber,e.range.startColumn);return D8(this._languageFeaturesService.hoverProvider,r,o,i).filter(s=>!D2(s.hover.contents)).map(s=>{const a=s.hover.range?J.lift(s.hover.range):e.range;return new Qh(this,a,s.hover.contents,!1,s.ordinal)})}renderHoverParts(e,t){return Jxe(e,t,this._editor,this._languageService,this._openerService)}};Q3=lMt([j3(1,br),j3(2,Bl),j3(3,Pn),j3(4,Rt)],Q3);function Jxe(n,e,t,i,r){e.sort((s,a)=>s.ordinal-a.ordinal);const o=new Je;for(const s of e)for(const a of s.contents){if(D2(a))continue;const l=Kxe("div.hover-row.markdown-hover"),u=je(l,Kxe("div.hover-contents")),c=o.add(new xf({editor:t},i,r));o.add(c.onDidRenderAsync(()=>{u.className="hover-contents code-hover-contents",n.onContentsChanged()}));const d=o.add(c.render(a));u.appendChild(d.element),n.fragment.appendChild(l)}return o}var jxe=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},$3=function(n,e){return function(t,i){e(t,i,n)}};class Qxe{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let N8=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new be,this.onDidChange=this._onDidChange.event,this._dispoables=new Je,this._markers=[],this._nextIdx=-1,en.isUri(e)?this._resourceFilter=a=>a.toString()===e.toString():e&&(this._resourceFilter=e);const r=this._configService.getValue("problems.sortOrder"),o=(a,l)=>{let u=QI(a.resource.toString(),l.resource.toString());return u===0&&(r==="position"?u=J.compareRangesUsingStarts(a,l)||Wr.compare(a.severity,l.severity):u=Wr.compare(a.severity,l.severity)||J.compareRangesUsingStarts(a,l)),u},s=()=>{this._markers=this._markerService.read({resource:en.isUri(e)?e:void 0,severities:Wr.Error|Wr.Warning|Wr.Info}),typeof e=="function"&&(this._markers=this._markers.filter(a=>this._resourceFilter(a.resource))),this._markers.sort(o)};s(),this._dispoables.add(t.onMarkerChanged(a=>{(!this._resourceFilter||a.some(l=>this._resourceFilter(l)))&&(s(),this._nextIdx=-1,this._onDidChange.fire())}))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(e){return!this._resourceFilter&&!e?!0:!this._resourceFilter||!e?!1:this._resourceFilter(e)}get selected(){const e=this._markers[this._nextIdx];return e&&new Qxe(e,this._nextIdx+1,this._markers.length)}_initIdx(e,t,i){let r=!1,o=this._markers.findIndex(s=>s.resource.toString()===e.uri.toString());o<0&&(o=dF(this._markers,{resource:e.uri},(s,a)=>QI(s.resource.toString(),a.resource.toString())),o<0&&(o=~o));for(let s=o;sr.resource.toString()===e.toString());if(!(i<0)){for(;i=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},ox=function(n,e){return function(t,i){e(t,i,n)}},T8;class cMt{constructor(e,t,i,r,o){this._openerService=r,this._labelService=o,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new Je,this._editor=t;const s=document.createElement("div");s.className="descriptioncontainer",this._messageBlock=document.createElement("div"),this._messageBlock.classList.add("message"),this._messageBlock.setAttribute("aria-live","assertive"),this._messageBlock.setAttribute("role","alert"),s.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),s.appendChild(this._relatedBlock),this._disposables.add(Gr(this._relatedBlock,"click",a=>{a.preventDefault();const l=this._relatedDiagnostics.get(a.target);l&&i(l)})),this._scrollable=new Wye(s,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),e.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll(a=>{s.style.left=`-${a.scrollLeft}px`,s.style.top=`-${a.scrollTop}px`})),this._disposables.add(this._scrollable)}dispose(){qi(this._disposables)}update(e){const{source:t,message:i,relatedInformation:r,code:o}=e;let s=((t==null?void 0:t.length)||0)+2;o&&(typeof o=="string"?s+=o.length:s+=o.value.length);const a=Pm(i);this._lines=a.length,this._longestLineLength=0;for(const h of a)this._longestLineLength=Math.max(h.length+s,this._longestLineLength);ma(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(e)),this._editor.applyFontInfo(this._messageBlock);let l=this._messageBlock;for(const h of a)l=document.createElement("div"),l.innerText=h,h===""&&(l.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(l);if(t||o){const h=document.createElement("span");if(h.classList.add("details"),l.appendChild(h),t){const m=document.createElement("span");m.innerText=t,m.classList.add("source"),h.appendChild(m)}if(o)if(typeof o=="string"){const m=document.createElement("span");m.innerText=`(${o})`,m.classList.add("code"),h.appendChild(m)}else{this._codeLink=Ct("a.code-link"),this._codeLink.setAttribute("href",`${o.target.toString()}`),this._codeLink.onclick=f=>{this._openerService.open(o.target,{allowCommands:!0}),f.preventDefault(),f.stopPropagation()};const m=je(this._codeLink,Ct("span"));m.innerText=o.value,h.appendChild(this._codeLink)}}if(ma(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),ga(r)){const h=this._relatedBlock.appendChild(document.createElement("div"));h.style.paddingTop=`${Math.floor(this._editor.getOption(67)*.66)}px`,this._lines+=1;for(const m of r){const f=document.createElement("div"),g=document.createElement("a");g.classList.add("filename"),g.innerText=`${this._labelService.getUriBasenameLabel(m.resource)}(${m.startLineNumber}, ${m.startColumn}): `,g.title=this._labelService.getUriLabel(m.resource),this._relatedDiagnostics.set(g,m);const b=document.createElement("span");b.innerText=m.message,f.appendChild(g),f.appendChild(b),this._lines+=1,h.appendChild(f)}}const u=this._editor.getOption(50),c=Math.ceil(u.typicalFullwidthCharacterWidth*this._longestLineLength*.75),d=u.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:c,scrollHeight:d})}layout(e,t){this._scrollable.getDomNode().style.height=`${e}px`,this._scrollable.getDomNode().style.width=`${t}px`,this._scrollable.setScrollDimensions({width:t,height:e})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(e){let t="";switch(e.severity){case Wr.Error:t=_("Error","Error");break;case Wr.Warning:t=_("Warning","Warning");break;case Wr.Info:t=_("Info","Info");break;case Wr.Hint:t=_("Hint","Hint");break}let i=_("marker aria","{0} at {1}. ",t,e.startLineNumber+":"+e.startColumn);const r=this._editor.getModel();return r&&e.startLineNumber<=r.getLineCount()&&e.startLineNumber>=1&&(i=`${r.getLineContent(e.startLineNumber)}, ${i}`),i}}let sx=T8=class extends h3{constructor(e,t,i,r,o,s,a){super(e,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},o),this._themeService=t,this._openerService=i,this._menuService=r,this._contextKeyService=s,this._labelService=a,this._callOnDispose=new Je,this._onDidSelectRelatedInformation=new be,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=Wr.Warning,this._backgroundColor=Re.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(fMt);let t=E8,i=dMt;this._severity===Wr.Warning?(t=q3,i=hMt):this._severity===Wr.Info&&(t=R8,i=mMt);const r=e.getColor(t),o=e.getColor(i);this.style({arrowColor:r,frameColor:r,headerBackgroundColor:o,primaryHeadingColor:e.getColor(Q2e),secondaryHeadingColor:e.getColor($2e)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():""),super._applyStyles()}dispose(){this._callOnDispose.dispose(),super.dispose()}_fillHead(e){super._fillHead(e),this._disposables.add(this._actionbarWidget.actionRunner.onWillRun(r=>this.editor.focus()));const t=[],i=this._menuService.createMenu(T8.TitleMenu,this._contextKeyService);AW(i,void 0,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0}),i.dispose()}_fillTitleIcon(e){this._icon=je(e,Ct(""))}_fillBody(e){this._parentContainer=e,e.classList.add("marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),e.appendChild(this._container),this._message=new cMt(this._container,this.editor,t=>this._onDidSelectRelatedInformation.fire(t),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(e,t,i){this._container.classList.remove("stale"),this._message.update(e),this._severity=e.severity,this._applyTheme(this._themeService.getColorTheme());const r=J.lift(e),o=this.editor.getPosition(),s=o&&r.containsPosition(o)?o:r.getStartPosition();super.show(s,this.computeRequiredHeight());const a=this.editor.getModel();if(a){const l=i>1?_("problems","{0} of {1} problems",t,i):_("change","{0} of {1} problem",t,i);this.setTitle(zc(a.uri),l)}this._icon.className=`codicon ${k8.className(Wr.toSeverity(this._severity))}`,this.editor.revealPositionNearTop(s,0),this.editor.focus()}updateMarker(e){this._container.classList.remove("stale"),this._message.update(e)}showStale(){this._container.classList.add("stale"),this._relayout()}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._heightInPixel=e,this._message.layout(e,t),this._container.style.height=`${e}px`}_onWidth(e){this._message.layout(this._heightInPixel,e)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}};sx.TitleMenu=new Q("gotoErrorTitleMenu"),sx=T8=uMt([ox(1,jo),ox(2,Bl),ox(3,Gu),ox(4,$t),ox(5,ln),ox(6,ex)],sx);const qxe=CF(qm,Pbt),e_e=CF(Fa,LF),t_e=CF(Gl,IF),E8=re("editorMarkerNavigationError.background",{dark:qxe,light:qxe,hcDark:Kn,hcLight:Kn},_("editorMarkerNavigationError","Editor marker navigation widget error color.")),dMt=re("editorMarkerNavigationError.headerBackground",{dark:zt(E8,.1),light:zt(E8,.1),hcDark:null,hcLight:null},_("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),q3=re("editorMarkerNavigationWarning.background",{dark:e_e,light:e_e,hcDark:Kn,hcLight:Kn},_("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),hMt=re("editorMarkerNavigationWarning.headerBackground",{dark:zt(q3,.1),light:zt(q3,.1),hcDark:"#0C141F",hcLight:zt(q3,.2)},_("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),R8=re("editorMarkerNavigationInfo.background",{dark:t_e,light:t_e,hcDark:Kn,hcLight:Kn},_("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),mMt=re("editorMarkerNavigationInfo.headerBackground",{dark:zt(R8,.1),light:zt(R8,.1),hcDark:null,hcLight:null},_("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),fMt=re("editorMarkerNavigation.background",{dark:as,light:as,hcDark:as,hcLight:as},_("editorMarkerNavigationBackground","Editor marker navigation widget background."));var gMt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},eA=function(n,e){return function(t,i){e(t,i,n)}},XN;let z0=XN=class{static get(e){return e.getContribution(XN.ID)}constructor(e,t,i,r,o){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=r,this._instantiationService=o,this._sessionDispoables=new Je,this._editor=e,this._widgetVisible=n_e.bindTo(this._contextKeyService)}dispose(){this._cleanUp(),this._sessionDispoables.dispose()}_cleanUp(){this._widgetVisible.reset(),this._sessionDispoables.clear(),this._widget=void 0,this._model=void 0}_getOrCreateModel(e){if(this._model&&this._model.matches(e))return this._model;let t=!1;return this._model&&(t=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(e),t&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(sx,this._editor),this._widget.onDidClose(()=>this.close(),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition(i=>{var r,o,s;(!(!((r=this._model)===null||r===void 0)&&r.selected)||!J.containsPosition((o=this._model)===null||o===void 0?void 0:o.selected.marker,i.position))&&((s=this._model)===null||s===void 0||s.resetIndex())})),this._sessionDispoables.add(this._model.onDidChange(()=>{if(!this._widget||!this._widget.position||!this._model)return;const i=this._model.find(this._editor.getModel().uri,this._widget.position);i?this._widget.updateMarker(i.marker):this._widget.showStale()})),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation(i=>{this._editorService.openCodeEditor({resource:i.resource,options:{pinned:!0,revealIfOpened:!0,selection:J.lift(i).collapseToStart()}},this._editor),this.close(!1)})),this._sessionDispoables.add(this._editor.onDidChangeModel(()=>this._cleanUp())),this._model}close(e=!0){this._cleanUp(),e&&this._editor.focus()}showAtMarker(e){if(this._editor.hasModel()){const t=this._getOrCreateModel(this._editor.getModel().uri);t.resetIndex(),t.move(!0,this._editor.getModel(),new ve(e.startLineNumber,e.startColumn)),t.selected&&this._widget.showAtMarker(t.selected.marker,t.selected.index,t.selected.total)}}async nagivate(e,t){var i,r;if(this._editor.hasModel()){const o=this._getOrCreateModel(t?void 0:this._editor.getModel().uri);if(o.move(e,this._editor.getModel(),this._editor.getPosition()),!o.selected)return;if(o.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const s=await this._editorService.openCodeEditor({resource:o.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:o.selected.marker}},this._editor);s&&((i=XN.get(s))===null||i===void 0||i.close(),(r=XN.get(s))===null||r===void 0||r.nagivate(e,t))}else this._widget.showAtMarker(o.selected.marker,o.selected.index,o.selected.total)}}};z0.ID="editor.contrib.markerController",z0=XN=gMt([eA(1,$xe),eA(2,ln),eA(3,yi),eA(4,$t)],z0);class tA extends Nt{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){var i;t.hasModel()&&((i=z0.get(t))===null||i===void 0||i.nagivate(this._next,this._multiFile))}}class H0 extends tA{constructor(){super(!0,!1,{id:H0.ID,label:H0.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:ne.focus,primary:578,weight:100},menuOpts:{menuId:sx.TitleMenu,title:H0.LABEL,icon:so("marker-navigation-next",ut.arrowDown,_("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}}H0.ID="editor.action.marker.next",H0.LABEL=_("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");class iC extends tA{constructor(){super(!1,!1,{id:iC.ID,label:iC.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:ne.focus,primary:1602,weight:100},menuOpts:{menuId:sx.TitleMenu,title:iC.LABEL,icon:so("marker-navigation-previous",ut.arrowUp,_("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}}iC.ID="editor.action.marker.prev",iC.LABEL=_("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");class pMt extends tA{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:_("markerAction.nextInFiles.label","Go to Next Problem in Files (Error, Warning, Info)"),alias:"Go to Next Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:ne.focus,primary:66,weight:100},menuOpts:{menuId:Q.MenubarGoMenu,title:_({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class bMt extends tA{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:_("markerAction.previousInFiles.label","Go to Previous Problem in Files (Error, Warning, Info)"),alias:"Go to Previous Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:ne.focus,primary:1090,weight:100},menuOpts:{menuId:Q.MenubarGoMenu,title:_({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}vi(z0.ID,z0,4),tt(H0),tt(iC),tt(pMt),tt(bMt);const n_e=new St("markersNavigationVisible",!1),yMt=Ko.bindToContribution(z0.get);gt(new yMt({id:"closeMarkersNavigation",precondition:n_e,handler:n=>n.close(),kbOpts:{weight:150,kbExpr:ne.focus,primary:9,secondary:[1033]}}));var vMt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Z8=function(n,e){return function(t,i){e(t,i,n)}};const Pd=Ct;class CMt{constructor(e,t,i){this.owner=e,this.range=t,this.marker=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}const i_e={type:1,filter:{include:xr.QuickFix},triggerAction:gu.QuickFixHover};let W8=class{constructor(e,t,i,r){this._editor=e,this._markerDecorationsService=t,this._openerService=i,this._languageFeaturesService=r,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1&&!e.supportsMarkerHover)return[];const i=this._editor.getModel(),r=e.range.startLineNumber,o=i.getLineMaxColumn(r),s=[];for(const a of t){const l=a.range.startLineNumber===r?a.range.startColumn:1,u=a.range.endLineNumber===r?a.range.endColumn:o,c=this._markerDecorationsService.getMarker(i.uri,a);if(!c)continue;const d=new J(e.range.startLineNumber,l,e.range.startLineNumber,u);s.push(new CMt(this,d,c))}return s}renderHoverParts(e,t){if(!t.length)return Fe.None;const i=new Je;t.forEach(o=>e.fragment.appendChild(this.renderMarkerHover(o,i)));const r=t.length===1?t[0]:t.sort((o,s)=>Wr.compare(o.marker.severity,s.marker.severity))[0];return this.renderMarkerStatusbar(e,r,i),i}renderMarkerHover(e,t){const i=Pd("div.hover-row"),r=je(i,Pd("div.marker.hover-contents")),{source:o,message:s,code:a,relatedInformation:l}=e.marker;this._editor.applyFontInfo(r);const u=je(r,Pd("span"));if(u.style.whiteSpace="pre-wrap",u.innerText=s,o||a)if(a&&typeof a!="string"){const c=Pd("span");if(o){const f=je(c,Pd("span"));f.innerText=o}const d=je(c,Pd("a.code-link"));d.setAttribute("href",a.target.toString()),t.add(Ve(d,"click",f=>{this._openerService.open(a.target,{allowCommands:!0}),f.preventDefault(),f.stopPropagation()}));const h=je(d,Pd("span"));h.innerText=a.value;const m=je(r,c);m.style.opacity="0.6",m.style.paddingLeft="6px"}else{const c=je(r,Pd("span"));c.style.opacity="0.6",c.style.paddingLeft="6px",c.innerText=o&&a?`${o}(${a})`:o||`(${a})`}if(ga(l))for(const{message:c,resource:d,startLineNumber:h,startColumn:m}of l){const f=je(r,Pd("div"));f.style.marginTop="8px";const g=je(f,Pd("a"));g.innerText=`${zc(d)}(${h}, ${m}): `,g.style.cursor="pointer",t.add(Ve(g,"click",y=>{y.stopPropagation(),y.preventDefault(),this._openerService&&this._openerService.open(d,{fromUserGesture:!0,editorOptions:{selection:{startLineNumber:h,startColumn:m}}}).catch(yn)}));const b=je(f,Pd("span"));b.innerText=c,this._editor.applyFontInfo(b)}return i}renderMarkerStatusbar(e,t,i){if(t.marker.severity===Wr.Error||t.marker.severity===Wr.Warning||t.marker.severity===Wr.Info){const r=z0.get(this._editor);r&&e.statusBar.addAction({label:_("view problem","View Problem"),commandId:H0.ID,run:()=>{e.hide(),r.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(91)){const r=e.statusBar.append(Pd("div"));this.recentMarkerCodeActionsInfo&&(i3.makeKey(this.recentMarkerCodeActionsInfo.marker)===i3.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(r.textContent=_("noQuickFixes","No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const o=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?Fe.None:Gb(()=>r.textContent=_("checkingForQuickFixes","Checking for quick fixes..."),200,i);r.textContent||(r.textContent=" ");const s=this.getCodeActions(t.marker);i.add(jt(()=>s.cancel())),s.then(a=>{if(o.dispose(),this.recentMarkerCodeActionsInfo={marker:t.marker,hasCodeActions:a.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions){a.dispose(),r.textContent=_("noQuickFixes","No quick fixes available");return}r.style.display="none";let l=!1;i.add(jt(()=>{l||a.dispose()})),e.statusBar.addAction({label:_("quick fixes","Quick Fix..."),commandId:pK,run:u=>{l=!0;const c=E0.get(this._editor),d=po(u);e.hide(),c==null||c.showCodeActions(i_e,a,{x:d.left,y:d.top,width:d.width,height:d.height})}})},yn)}}getCodeActions(e){return rs(t=>aN(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new J(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),i_e,bp.None,t))}};W8=vMt([Z8(1,s6),Z8(2,Bl),Z8(3,Rt)],W8);const r_e="editor.action.inlineSuggest.commit",o_e="editor.action.inlineSuggest.showPrevious",s_e="editor.action.inlineSuggest.showNext";var A8=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},$h=function(n,e){return function(t,i){e(t,i,n)}},nA;let V8=class extends Fe{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=zi(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).showToolbar==="always"),this.sessionPosition=void 0,this.position=hn(this,r=>{var o,s,a;const l=(o=this.model.read(r))===null||o===void 0?void 0:o.primaryGhostText.read(r);if(!this.alwaysShowToolbar.read(r)||!l||l.parts.length===0)return this.sessionPosition=void 0,null;const u=l.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==l.lineNumber&&(this.sessionPosition=void 0);const c=new ve(l.lineNumber,Math.min(u,(a=(s=this.sessionPosition)===null||s===void 0?void 0:s.column)!==null&&a!==void 0?a:Number.MAX_SAFE_INTEGER));return this.sessionPosition=c,c}),this._register(Hc((r,o)=>{const s=this.model.read(r);if(!s||!this.alwaysShowToolbar.read(r))return;const a=o.add(this.instantiationService.createInstance(Y0,this.editor,!0,this.position,s.selectedInlineCompletionIndex,s.inlineCompletionsCount,s.selectedInlineCompletion.map(l=>{var u;return(u=l==null?void 0:l.inlineCompletion.source.inlineCompletions.commands)!==null&&u!==void 0?u:[]})));e.addContentWidget(a),o.add(jt(()=>e.removeContentWidget(a))),o.add(Rn(l=>{this.position.read(l)&&s.lastTriggerKind.read(l)!==Jg.Explicit&&s.triggerExplicitly()}))}))}};V8=A8([$h(2,$t)],V8);const SMt=so("inline-suggestion-hints-next",ut.chevronRight,_("parameterHintsNextIcon","Icon for show next parameter hint.")),wMt=so("inline-suggestion-hints-previous",ut.chevronLeft,_("parameterHintsPreviousIcon","Icon for show previous parameter hint."));let Y0=nA=class extends Fe{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,i){const r=new uu(e,t,i,!0,()=>this._commandService.executeCommand(e)),o=this.keybindingService.lookupKeybinding(e,this._contextKeyService);let s=t;return o&&(s=_({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",t,o.getLabel())),r.tooltip=s,r}constructor(e,t,i,r,o,s,a,l,u,c,d){super(),this.editor=e,this.withBorder=t,this._position=i,this._currentSuggestionIdx=r,this._suggestionCount=o,this._extraCommands=s,this._commandService=a,this.keybindingService=u,this._contextKeyService=c,this._menuService=d,this.id=`InlineSuggestionHintsContentWidget${nA.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=_i("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[_i("div@toolBar")]),this.previousAction=this.createCommandAction(o_e,_("previous","Previous"),sn.asClassName(wMt)),this.availableSuggestionCountAction=new uu("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(s_e,_("next","Next"),sn.asClassName(SMt)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(Q.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new Wi(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new Wi(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this.lastCommands=[],this.toolBar=this._register(l.createInstance(G8,this.nodes.toolBar,Q.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:h=>h.startsWith("primary")},actionViewItemProvider:(h,m)=>{if(h instanceof Xu)return l.createInstance(_Mt,h,void 0);if(h===this.availableSuggestionCountAction){const f=new xMt(void 0,h,{label:!0,icon:!1});return f.setClass("availableSuggestionCount"),f}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility(h=>{nA._dropDownVisible=h})),this._register(Rn(h=>{this._position.read(h),this.editor.layoutContentWidget(this)})),this._register(Rn(h=>{const m=this._suggestionCount.read(h),f=this._currentSuggestionIdx.read(h);m!==void 0?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${f+1}/${m}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),m!==void 0&&m>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()})),this._register(Rn(h=>{const m=this._extraCommands.read(h);if(Nr(this.lastCommands,m))return;this.lastCommands=m;const f=m.map(g=>({class:void 0,id:g.id,enabled:!0,tooltip:g.tooltip||"",label:g.title,run:b=>this._commandService.executeCommand(g.id)}));for(const[g,b]of this.inlineCompletionsActionsMenus.getActions())for(const y of b)y instanceof Xu&&f.push(y);f.length>0&&f.unshift(new Ao),this.toolBar.setAdditionalSecondaryActions(f)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};Y0._dropDownVisible=!1,Y0.id=0,Y0=nA=A8([$h(6,Xr),$h(7,$t),$h(8,Oi),$h(9,ln),$h(10,Gu)],Y0);class xMt extends M2{constructor(){super(...arguments),this._className=void 0}setClass(e){this._className=e}render(e){super.render(e),this._className&&e.classList.add(this._className)}updateTooltip(){}}let _Mt=class extends M0{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=_i("div.keybinding").root;this._register(new Y2(t,ru,{disableTitle:!0,...jwe})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},G8=class extends JD{constructor(e,t,i,r,o,s,a,l){super(e,{resetMenu:t,...i},r,o,s,a,l),this.menuId=t,this.options2=i,this.menuService=r,this.contextKeyService=o,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){var e,t,i,r,o,s,a;const l=[],u=[];AW(this.menu,(e=this.options2)===null||e===void 0?void 0:e.menuOptions,{primary:l,secondary:u},(i=(t=this.options2)===null||t===void 0?void 0:t.toolbarOptions)===null||i===void 0?void 0:i.primaryGroup,(o=(r=this.options2)===null||r===void 0?void 0:r.toolbarOptions)===null||o===void 0?void 0:o.shouldInlineSubmenu,(a=(s=this.options2)===null||s===void 0?void 0:s.toolbarOptions)===null||a===void 0?void 0:a.useSeparatorsInPrimaryActions),u.push(...this.additionalActions),l.unshift(...this.prependedPrimaryActions),this.setActions(l,u)}setPrependedPrimaryActions(e){Nr(this.prependedPrimaryActions,e,(t,i)=>t===i)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){Nr(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};G8=A8([$h(3,Gu),$h(4,ln),$h(5,fu),$h(6,Oi),$h(7,Rl)],G8);var LMt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},iA=function(n,e){return function(t,i){e(t,i,n)}},X8;const IMt=!1;let Hl=X8=class extends Fe{constructor(e,t,i,r,o){super(),this._editor=e,this._instantiationService=t,this._openerService=i,this._languageService=r,this._keybindingService=o,this._listenersStore=new Je,this._hoverState={mouseDown:!1,contentHoverFocused:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new Wi(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(s=>{s.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())}))}static get(e){return e.getContribution(X8.ID)}_hookListeners(){const e=this._editor.getOption(60);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.delay},e.enabled?(this._listenersStore.add(this._editor.onMouseDown(t=>this._onEditorMouseDown(t))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))):(this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))),this._listenersStore.add(this._editor.onMouseLeave(t=>this._onEditorMouseLeave(t))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this._hideWidgets()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(t=>this._onEditorScrollChanged(t)))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){var t;this._hoverState.mouseDown=!0;const i=e.target;if(i.type===9&&i.detail===B0.ID){this._hoverState.contentHoverFocused=!0;return}i.type===12&&i.detail===rx.ID||(i.type!==12&&(this._hoverState.contentHoverFocused=!1),!(!((t=this._contentWidget)===null||t===void 0)&&t.widget.isResizing)&&this._hideWidgets())}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(e){var t,i;this._cancelScheduler();const r=e.event.browserEvent.relatedTarget;!((t=this._contentWidget)===null||t===void 0)&&t.widget.isResizing||!((i=this._contentWidget)===null||i===void 0)&&i.containsNode(r)||this._hideWidgets()}_isMouseOverWidget(e){var t,i,r,o,s;const a=e.target,l=this._hoverSettings.sticky;return!!(l&&a.type===9&&a.detail===B0.ID||l&&(!((t=this._contentWidget)===null||t===void 0)&&t.containsNode((i=e.event.browserEvent.view)===null||i===void 0?void 0:i.document.activeElement))&&!(!((o=(r=e.event.browserEvent.view)===null||r===void 0?void 0:r.getSelection())===null||o===void 0)&&o.isCollapsed)||!l&&a.type===9&&a.detail===B0.ID&&(!((s=this._contentWidget)===null||s===void 0)&&s.isColorPickerVisible)||l&&a.type===12&&a.detail===rx.ID)}_onEditorMouseMove(e){var t,i,r,o;if(this._mouseMoveEvent=e,!((t=this._contentWidget)===null||t===void 0)&&t.isFocused||!((i=this._contentWidget)===null||i===void 0)&&i.isResizing||this._hoverState.mouseDown&&this._hoverState.contentHoverFocused)return;const s=this._hoverSettings.sticky;if(s&&(!((r=this._contentWidget)===null||r===void 0)&&r.isVisibleFromKeyboard))return;if(this._isMouseOverWidget(e)){this._reactToEditorMouseMoveRunner.cancel();return}const l=this._hoverSettings.hidingDelay;if(!((o=this._contentWidget)===null||o===void 0)&&o.isVisible&&s&&l>0){this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(l);return}this._reactToEditorMouseMove(e)}_reactToEditorMouseMove(e){var t,i,r,o;if(!e)return;const s=e.target,a=(t=s.element)===null||t===void 0?void 0:t.classList.contains("colorpicker-color-decoration"),l=this._editor.getOption(148),u=this._hoverSettings.enabled,c=this._hoverState.activatedByDecoratorClick;if(a&&(l==="click"&&!c||l==="hover"&&!u&&!IMt||l==="clickAndHover"&&!u&&!c)||!a&&!u&&!c){this._hideWidgets();return}if(this._getOrCreateContentWidget().showsOrWillShow(e)){(i=this._glyphWidget)===null||i===void 0||i.hide();return}if(s.type===2&&s.position&&s.detail.glyphMarginLane){(r=this._contentWidget)===null||r===void 0||r.hide(),this._getOrCreateGlyphWidget().startShowingAt(s.position.lineNumber,s.detail.glyphMarginLane);return}if(s.type===3&&s.position){(o=this._contentWidget)===null||o===void 0||o.hide(),this._getOrCreateGlyphWidget().startShowingAt(s.position.lineNumber,"lineNo");return}this._hideWidgets()}_onKeyDown(e){var t;if(!this._editor.hasModel())return;const i=this._keybindingService.softDispatch(e,this._editor.getDomNode()),r=i.kind===1||i.kind===2&&i.commandId==="editor.action.showHover"&&((t=this._contentWidget)===null||t===void 0?void 0:t.isVisible);e.keyCode===5||e.keyCode===6||e.keyCode===57||e.keyCode===4||r||this._hideWidgets()}_hideWidgets(){var e,t,i;this._hoverState.mouseDown&&this._hoverState.contentHoverFocused&&(!((e=this._contentWidget)===null||e===void 0)&&e.isColorPickerVisible)||Y0.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,this._hoverState.contentHoverFocused=!1,(t=this._glyphWidget)===null||t===void 0||t.hide(),(i=this._contentWidget)===null||i===void 0||i.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(U3,this._editor)),this._contentWidget}_getOrCreateGlyphWidget(){return this._glyphWidget||(this._glyphWidget=new rx(this._editor,this._languageService,this._openerService)),this._glyphWidget}showContentHover(e,t,i,r,o=!1){this._hoverState.activatedByDecoratorClick=o,this._getOrCreateContentWidget().startShowingAtRange(e,t,i,r)}focus(){var e;(e=this._contentWidget)===null||e===void 0||e.focus()}scrollUp(){var e;(e=this._contentWidget)===null||e===void 0||e.scrollUp()}scrollDown(){var e;(e=this._contentWidget)===null||e===void 0||e.scrollDown()}scrollLeft(){var e;(e=this._contentWidget)===null||e===void 0||e.scrollLeft()}scrollRight(){var e;(e=this._contentWidget)===null||e===void 0||e.scrollRight()}pageUp(){var e;(e=this._contentWidget)===null||e===void 0||e.pageUp()}pageDown(){var e;(e=this._contentWidget)===null||e===void 0||e.pageDown()}goToTop(){var e;(e=this._contentWidget)===null||e===void 0||e.goToTop()}goToBottom(){var e;(e=this._contentWidget)===null||e===void 0||e.goToBottom()}get isColorPickerVisible(){var e;return(e=this._contentWidget)===null||e===void 0?void 0:e.isColorPickerVisible}get isHoverVisible(){var e;return(e=this._contentWidget)===null||e===void 0?void 0:e.isVisible}dispose(){var e,t;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._glyphWidget)===null||e===void 0||e.dispose(),(t=this._contentWidget)===null||t===void 0||t.dispose()}};Hl.ID="editor.contrib.hover",Hl=X8=LMt([iA(1,$t),iA(2,Bl),iA(3,br),iA(4,Oi)],Hl);var qh;(function(n){n.NoAutoFocus="noAutoFocus",n.FocusIfVisible="focusIfVisible",n.AutoFocusImmediately="autoFocusImmediately"})(qh||(qh={}));class FMt extends Nt{constructor(){super({id:"editor.action.showHover",label:_({key:"showOrFocusHover",comment:["Label for action that will trigger the showing/focusing of a hover in the editor.","If the hover is not visible, it will show the hover.","This allows for users to show the hover without using the mouse."]},"Show or Focus Hover"),metadata:{description:"Show or Focus Hover",args:[{name:"args",schema:{type:"object",properties:{focus:{description:"Controls if and when the hover should take focus upon being triggered by this action.",enum:[qh.NoAutoFocus,qh.FocusIfVisible,qh.AutoFocusImmediately],enumDescriptions:[_("showOrFocusHover.focus.noAutoFocus","The hover will not automatically take focus."),_("showOrFocusHover.focus.focusIfVisible","The hover will take focus only if it is already visible."),_("showOrFocusHover.focus.autoFocusImmediately","The hover will automatically take focus when it appears.")],default:qh.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:ne.editorTextFocus,primary:Zo(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const r=Hl.get(t);if(!r)return;const o=i==null?void 0:i.focus;let s=qh.FocusIfVisible;Object.values(qh).includes(o)?s=o:typeof o=="boolean"&&o&&(s=qh.AutoFocusImmediately);const a=u=>{const c=t.getPosition(),d=new J(c.lineNumber,c.column,c.lineNumber,c.column);r.showContentHover(d,1,1,u)},l=t.getOption(2)===2;r.isHoverVisible?s!==qh.NoAutoFocus?r.focus():a(l):a(l||s===qh.AutoFocusImmediately)}}class DMt extends Nt{constructor(){super({id:"editor.action.showDefinitionPreviewHover",label:_({key:"showDefinitionPreviewHover",comment:["Label for action that will trigger the showing of definition preview hover in the editor.","This allows for users to show the definition preview hover without using the mouse."]},"Show Definition Preview Hover"),alias:"Show Definition Preview Hover",precondition:void 0})}run(e,t){const i=Hl.get(t);if(!i)return;const r=t.getPosition();if(!r)return;const o=new J(r.lineNumber,r.column,r.lineNumber,r.column),s=eC.get(t);if(!s)return;s.startFindDefinitionFromCursor(r).then(()=>{i.showContentHover(o,1,1,!0)})}}class NMt extends Nt{constructor(){super({id:"editor.action.scrollUpHover",label:_({key:"scrollUpHover",comment:["Action that allows to scroll up in the hover widget with the up arrow when the hover widget is focused."]},"Scroll Up Hover"),alias:"Scroll Up Hover",precondition:ne.hoverFocused,kbOpts:{kbExpr:ne.hoverFocused,primary:16,weight:100}})}run(e,t){const i=Hl.get(t);i&&i.scrollUp()}}class MMt extends Nt{constructor(){super({id:"editor.action.scrollDownHover",label:_({key:"scrollDownHover",comment:["Action that allows to scroll down in the hover widget with the up arrow when the hover widget is focused."]},"Scroll Down Hover"),alias:"Scroll Down Hover",precondition:ne.hoverFocused,kbOpts:{kbExpr:ne.hoverFocused,primary:18,weight:100}})}run(e,t){const i=Hl.get(t);i&&i.scrollDown()}}class kMt extends Nt{constructor(){super({id:"editor.action.scrollLeftHover",label:_({key:"scrollLeftHover",comment:["Action that allows to scroll left in the hover widget with the left arrow when the hover widget is focused."]},"Scroll Left Hover"),alias:"Scroll Left Hover",precondition:ne.hoverFocused,kbOpts:{kbExpr:ne.hoverFocused,primary:15,weight:100}})}run(e,t){const i=Hl.get(t);i&&i.scrollLeft()}}class TMt extends Nt{constructor(){super({id:"editor.action.scrollRightHover",label:_({key:"scrollRightHover",comment:["Action that allows to scroll right in the hover widget with the right arrow when the hover widget is focused."]},"Scroll Right Hover"),alias:"Scroll Right Hover",precondition:ne.hoverFocused,kbOpts:{kbExpr:ne.hoverFocused,primary:17,weight:100}})}run(e,t){const i=Hl.get(t);i&&i.scrollRight()}}class EMt extends Nt{constructor(){super({id:"editor.action.pageUpHover",label:_({key:"pageUpHover",comment:["Action that allows to page up in the hover widget with the page up command when the hover widget is focused."]},"Page Up Hover"),alias:"Page Up Hover",precondition:ne.hoverFocused,kbOpts:{kbExpr:ne.hoverFocused,primary:11,secondary:[528],weight:100}})}run(e,t){const i=Hl.get(t);i&&i.pageUp()}}class RMt extends Nt{constructor(){super({id:"editor.action.pageDownHover",label:_({key:"pageDownHover",comment:["Action that allows to page down in the hover widget with the page down command when the hover widget is focused."]},"Page Down Hover"),alias:"Page Down Hover",precondition:ne.hoverFocused,kbOpts:{kbExpr:ne.hoverFocused,primary:12,secondary:[530],weight:100}})}run(e,t){const i=Hl.get(t);i&&i.pageDown()}}class ZMt extends Nt{constructor(){super({id:"editor.action.goToTopHover",label:_({key:"goToTopHover",comment:["Action that allows to go to the top of the hover widget with the home command when the hover widget is focused."]},"Go To Top Hover"),alias:"Go To Bottom Hover",precondition:ne.hoverFocused,kbOpts:{kbExpr:ne.hoverFocused,primary:14,secondary:[2064],weight:100}})}run(e,t){const i=Hl.get(t);i&&i.goToTop()}}class WMt extends Nt{constructor(){super({id:"editor.action.goToBottomHover",label:_({key:"goToBottomHover",comment:["Action that allows to go to the bottom in the hover widget with the end command when the hover widget is focused."]},"Go To Bottom Hover"),alias:"Go To Bottom Hover",precondition:ne.hoverFocused,kbOpts:{kbExpr:ne.hoverFocused,primary:13,secondary:[2066],weight:100}})}run(e,t){const i=Hl.get(t);i&&i.goToBottom()}}vi(Hl.ID,Hl,2),tt(FMt),tt(DMt),tt(NMt),tt(MMt),tt(kMt),tt(TMt),tt(EMt),tt(RMt),tt(ZMt),tt(WMt),O0.register(Q3),O0.register(W8),Xc((n,e)=>{const t=n.getColor(oye);t&&(e.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${t.transparent(.5)}; }`),e.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${t.transparent(.5)}; }`),e.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${t.transparent(.5)}; }`))});class P8 extends Fe{constructor(e){super(),this._editor=e,this._register(e.onMouseDown(t=>this.onMouseDown(t)))}dispose(){super.dispose()}onMouseDown(e){const t=this._editor.getOption(148);if(t!=="click"&&t!=="clickAndHover")return;const i=e.target;if(i.type!==6||!i.detail.injectedText||i.detail.injectedText.options.attachedData!==V2e||!i.range)return;const r=this._editor.getContribution(Hl.ID);if(r&&!r.isColorPickerVisible){const o=new J(i.range.startLineNumber,i.range.startColumn+1,i.range.endLineNumber,i.range.endColumn+1);r.showContentHover(o,1,0,!1,!0)}}}P8.ID="editor.contrib.colorContribution",vi(P8.ID,P8,2),O0.register(a3);var a_e=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},em=function(n,e){return function(t,i){e(t,i,n)}},O8,B8;let U0=O8=class extends Fe{constructor(e,t,i,r,o,s,a){super(),this._editor=e,this._modelService=i,this._keybindingService=r,this._instantiationService=o,this._languageFeatureService=s,this._languageConfigurationService=a,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=ne.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=ne.standaloneColorPickerFocused.bindTo(t)}showOrFocus(){var e;this._editor.hasModel()&&(this._standaloneColorPickerVisible.get()?this._standaloneColorPickerFocused.get()||(e=this._standaloneColorPickerWidget)===null||e===void 0||e.focus():this._standaloneColorPickerWidget=new rA(this._editor,this._standaloneColorPickerVisible,this._standaloneColorPickerFocused,this._instantiationService,this._modelService,this._keybindingService,this._languageFeatureService,this._languageConfigurationService))}hide(){var e;this._standaloneColorPickerFocused.set(!1),this._standaloneColorPickerVisible.set(!1),(e=this._standaloneColorPickerWidget)===null||e===void 0||e.hide(),this._editor.focus()}insertColor(){var e;(e=this._standaloneColorPickerWidget)===null||e===void 0||e.updateEditor(),this.hide()}static get(e){return e.getContribution(O8.ID)}};U0.ID="editor.contrib.standaloneColorPickerController",U0=O8=a_e([em(1,ln),em(2,wr),em(3,Oi),em(4,$t),em(5,Rt),em(6,er)],U0),vi(U0.ID,U0,1);const l_e=8,AMt=22;let rA=B8=class extends Fe{constructor(e,t,i,r,o,s,a,l){var u;super(),this._editor=e,this._standaloneColorPickerVisible=t,this._standaloneColorPickerFocused=i,this._modelService=o,this._keybindingService=s,this._languageFeaturesService=a,this._languageConfigurationService=l,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement("div"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new be),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=r.createInstance(vN,this._editor),this._position=(u=this._editor._getViewModel())===null||u===void 0?void 0:u.getPrimaryCursorState().modelState.position;const c=this._editor.getSelection(),d=c?{startLineNumber:c.startLineNumber,startColumn:c.startColumn,endLineNumber:c.endLineNumber,endColumn:c.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},h=this._register(Dh(this._body));this._register(h.onDidBlur(m=>{this.hide()})),this._register(h.onDidFocus(m=>{this.focus()})),this._register(this._editor.onDidChangeCursorPosition(()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()})),this._register(this._editor.onMouseMove(m=>{var f;const g=(f=m.target.element)===null||f===void 0?void 0:f.classList;g&&g.contains("colorpicker-color-decoration")&&this.hide()})),this._register(this.onResult(m=>{this._render(m.value,m.foundInEditor)})),this._start(d),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return B8.ID}getDomNode(){return this._body}getPosition(){if(!this._position)return null;const e=this._editor.getOption(60).above;return{position:this._position,secondaryPosition:this._position,preference:e?[1,2]:[2,1],positionAffinity:2}}hide(){this.dispose(),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerFocused.set(!1),this._editor.removeContentWidget(this),this._editor.focus()}focus(){this._standaloneColorPickerFocused.set(!0),this._body.focus()}async _start(e){const t=await this._computeAsync(e);t&&this._onResult.fire(new VMt(t.result,t.foundInEditor))}async _computeAsync(e){if(!this._editor.hasModel())return null;const t={range:e,color:{red:0,green:0,blue:0,alpha:1}},i=await this._standaloneColorPickerParticipant.createColorHover(t,new EJ(this._modelService,this._languageConfigurationService),this._languageFeaturesService.colorProvider);return i?{result:i.colorHover,foundInEditor:i.foundInEditor}:null}_render(e,t){const i=document.createDocumentFragment(),r=this._register(new K3(this._keybindingService));let o;const s={fragment:i,statusBar:r,setColorPicker:g=>o=g,onContentsChanged:()=>{},hide:()=>this.hide()};if(this._colorHover=e,this._register(this._standaloneColorPickerParticipant.renderHoverParts(s,[e])),o===void 0)return;this._body.classList.add("standalone-colorpicker-body"),this._body.style.maxHeight=Math.max(this._editor.getLayoutInfo().height/4,250)+"px",this._body.style.maxWidth=Math.max(this._editor.getLayoutInfo().width*.66,500)+"px",this._body.tabIndex=0,this._body.appendChild(i),o.layout();const a=o.body,l=a.saturationBox.domNode.clientWidth,u=a.domNode.clientWidth-l-AMt-l_e,c=o.body.enterButton;c==null||c.onClicked(()=>{this.updateEditor(),this.hide()});const d=o.header,h=d.pickedColorNode;h.style.width=l+l_e+"px";const m=d.originalColorNode;m.style.width=u+"px";const f=o.header.closeButton;f==null||f.onClicked(()=>{this.hide()}),t&&(c&&(c.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}};rA.ID="editor.contrib.standaloneColorPickerWidget",rA=B8=a_e([em(3,$t),em(4,wr),em(5,Oi),em(6,Rt),em(7,er)],rA);class VMt{constructor(e,t){this.value=e,this.foundInEditor=t}}class GMt extends Mh{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...oi("showOrFocusStandaloneColorPicker","Show or Focus Standalone Color Picker"),mnemonicTitle:_({key:"mishowOrFocusStandaloneColorPicker",comment:["&& denotes a mnemonic"]},"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:Q.CommandPalette}]})}runEditorCommand(e,t){var i;(i=U0.get(t))===null||i===void 0||i.showOrFocus()}}class XMt extends Nt{constructor(){super({id:"editor.action.hideColorPicker",label:_({key:"hideColorPicker",comment:["Action that hides the color picker"]},"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:ne.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100}})}run(e,t){var i;(i=U0.get(t))===null||i===void 0||i.hide()}}class PMt extends Nt{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:_({key:"insertColorWithStandaloneColorPicker",comment:["Action that inserts color with standalone color picker"]},"Insert Color with Standalone Color Picker"),alias:"Insert Color with Standalone Color Picker",precondition:ne.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100}})}run(e,t){var i;(i=U0.get(t))===null||i===void 0||i.insertColor()}}tt(XMt),tt(PMt),Ki(GMt);class vr{static insert(e,t){return{range:new J(e.lineNumber,e.column,e.lineNumber,e.column),text:t,forceMoveMarkers:!0}}static delete(e){return{range:e,text:null}}static replace(e,t){return{range:e,text:t}}static replaceMove(e,t){return{range:e,text:t,forceMoveMarkers:!0}}}class K0{constructor(e,t,i){this.languageConfigurationService=i,this._selection=e,this._insertSpace=t,this._usedEndToken=null}static _haystackHasNeedleAtOffset(e,t,i){if(i<0)return!1;const r=t.length,o=e.length;if(i+r>o)return!1;for(let s=0;s=65&&a<=90&&a+32===l)&&!(l>=65&&l<=90&&l+32===a))return!1}return!0}_createOperationsForBlockComment(e,t,i,r,o,s){const a=e.startLineNumber,l=e.startColumn,u=e.endLineNumber,c=e.endColumn,d=o.getLineContent(a),h=o.getLineContent(u);let m=d.lastIndexOf(t,l-1+t.length),f=h.indexOf(i,c-1-i.length);if(m!==-1&&f!==-1)if(a===u)d.substring(m+t.length,f).indexOf(i)>=0&&(m=-1,f=-1);else{const b=d.substring(m+t.length),y=h.substring(0,f);(b.indexOf(i)>=0||y.indexOf(i)>=0)&&(m=-1,f=-1)}let g;m!==-1&&f!==-1?(r&&m+t.length0&&h.charCodeAt(f-1)===32&&(i=" "+i,f-=1),g=K0._createRemoveBlockCommentOperations(new J(a,m+t.length+1,u,f+1),t,i)):(g=K0._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=g.length===1?i:null);for(const b of g)s.addTrackedEditOperation(b.range,b.text)}static _createRemoveBlockCommentOperations(e,t,i){const r=[];return J.isEmpty(e)?r.push(vr.delete(new J(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(r.push(vr.delete(new J(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),r.push(vr.delete(new J(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),r}static _createAddBlockCommentOperations(e,t,i,r){const o=[];return J.isEmpty(e)?o.push(vr.replace(new J(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(o.push(vr.insert(new ve(e.startLineNumber,e.startColumn),t+(r?" ":""))),o.push(vr.insert(new ve(e.endLineNumber,e.endColumn),(r?" ":"")+i))),o}getEditOperations(e,t){const i=this._selection.startLineNumber,r=this._selection.startColumn;e.tokenization.tokenizeIfCheap(i);const o=e.getLanguageIdAtPosition(i,r),s=this.languageConfigurationService.getLanguageConfiguration(o).comments;!s||!s.blockCommentStartToken||!s.blockCommentEndToken||this._createOperationsForBlockComment(this._selection,s.blockCommentStartToken,s.blockCommentEndToken,this._insertSpace,e,t)}computeCursorState(e,t){const i=t.getInverseEditOperations();if(i.length===2){const r=i[0],o=i[1];return new Zt(r.range.endLineNumber,r.range.endColumn,o.range.startLineNumber,o.range.startColumn)}else{const r=i[0].range,o=this._usedEndToken?-this._usedEndToken.length-1:0;return new Zt(r.endLineNumber,r.endColumn+o,r.endLineNumber,r.endColumn+o)}}}class Dp{constructor(e,t,i,r,o,s,a){this.languageConfigurationService=e,this._selection=t,this._indentSize=i,this._type=r,this._insertSpace=o,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=s,this._ignoreFirstLine=a||!1}static _gatherPreflightCommentStrings(e,t,i,r){e.tokenization.tokenizeIfCheap(t);const o=e.getLanguageIdAtPosition(t,1),s=r.getLanguageConfiguration(o).comments,a=s?s.lineCommentToken:null;if(!a)return null;const l=[];for(let u=0,c=i-t+1;uo?t[l].commentStrOffset=s-1:t[l].commentStrOffset=s}}}class z8 extends Nt{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(er);if(!t.hasModel())return;const r=t.getModel(),o=[],s=r.getOptions(),a=t.getOption(23),l=t.getSelections().map((c,d)=>({selection:c,index:d,ignoreFirstLine:!1}));l.sort((c,d)=>J.compareRangesUsingStarts(c.selection,d.selection));let u=l[0];for(let c=1;c=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},rC=function(n,e){return function(t,i){e(t,i,n)}},H8;let ax=H8=class{static get(e){return e.getContribution(H8.ID)}constructor(e,t,i,r,o,s,a,l){this._contextMenuService=t,this._contextViewService=i,this._contextKeyService=r,this._keybindingService=o,this._menuService=s,this._configurationService=a,this._workspaceContextService=l,this._toDispose=new Je,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(u=>this._onContextMenu(u))),this._toDispose.add(this._editor.onMouseWheel(u=>{if(this._contextMenuIsBeingShownCount>0){const c=this._contextViewService.getContextViewElement(),d=u.srcElement;d.shadowRoot&&Yy(c)===d.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(u=>{this._editor.getOption(24)&&u.keyCode===58&&(u.preventDefault(),u.stopPropagation(),this.showContextMenu())}))}_onContextMenu(e){if(!this._editor.hasModel())return;if(!this._editor.getOption(24)){this._editor.focus(),e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position);return}if(e.target.type===12||e.target.type===6&&e.target.detail.injectedText)return;if(e.event.preventDefault(),e.event.stopPropagation(),e.target.type===11)return this._showScrollbarContextMenu(e.event);if(e.target.type!==6&&e.target.type!==7&&e.target.type!==1)return;if(this._editor.focus(),e.target.position){let i=!1;for(const r of this._editor.getSelections())if(r.containsPosition(e.target.position)){i=!0;break}i||this._editor.setPosition(e.target.position)}let t=null;e.target.type!==1&&(t=e.event),this.showContextMenu(t)}showContextMenu(e){if(!this._editor.getOption(24)||!this._editor.hasModel())return;const t=this._getMenuActions(this._editor.getModel(),this._editor.isSimpleWidget?Q.SimpleEditorContext:Q.EditorContext);t.length>0&&this._doShowContextMenu(t,e)}_getMenuActions(e,t){const i=[],r=this._menuService.createMenu(t,this._contextKeyService),o=r.getActions({arg:e.uri});r.dispose();for(const s of o){const[,a]=s;let l=0;for(const u of a)if(u instanceof sF){const c=this._getMenuActions(e,u.item.submenu);c.length>0&&(i.push(new ww(u.id,u.label,c)),l++)}else i.push(u),l++;l&&i.push(new Ao)}return i.length&&i.pop(),i}_doShowContextMenu(e,t=null){if(!this._editor.hasModel())return;const i=this._editor.getOption(60);this._editor.updateOptions({hover:{enabled:!1}});let r=t;if(!r){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const s=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),a=po(this._editor.getDomNode()),l=a.left+s.left,u=a.top+s.top+s.height;r={x:l,y:u}}const o=this._editor.getOption(127)&&!Am;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:o?this._editor.getDomNode():void 0,getAnchor:()=>r,getActions:()=>e,getActionViewItem:s=>{const a=this._keybindingFor(s);if(a)return new M2(s,s,{label:!0,keybinding:a.getLabel(),isMenu:!0});const l=s;return typeof l.getActionViewItem=="function"?l.getActionViewItem():new M2(s,s,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:s=>this._keybindingFor(s),onHide:s=>{this._contextMenuIsBeingShownCount--,this._editor.updateOptions({hover:i})}})}_showScrollbarContextMenu(e){if(!this._editor.hasModel()||pIt(this._workspaceContextService.getWorkspace()))return;const t=this._editor.getOption(73);let i=0;const r=u=>({id:`menu-action-${++i}`,label:u.label,tooltip:"",class:void 0,enabled:typeof u.enabled>"u"?!0:u.enabled,checked:u.checked,run:u.run}),o=(u,c)=>new ww(`menu-action-${++i}`,u,c,void 0),s=(u,c,d,h,m)=>{if(!c)return r({label:u,enabled:c,run:()=>{}});const f=b=>()=>{this._configurationService.updateValue(d,b)},g=[];for(const b of m)g.push(r({label:b.label,checked:h===b.value,run:f(b.value)}));return o(u,g)},a=[];a.push(r({label:_("context.minimap.minimap","Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),a.push(new Ao),a.push(r({label:_("context.minimap.renderCharacters","Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),a.push(s(_("context.minimap.size","Vertical size"),t.enabled,"editor.minimap.size",t.size,[{label:_("context.minimap.size.proportional","Proportional"),value:"proportional"},{label:_("context.minimap.size.fill","Fill"),value:"fill"},{label:_("context.minimap.size.fit","Fit"),value:"fit"}])),a.push(s(_("context.minimap.slider","Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:_("context.minimap.slider.mouseover","Mouse Over"),value:"mouseover"},{label:_("context.minimap.slider.always","Always"),value:"always"}]));const l=this._editor.getOption(127)&&!Am;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:l?this._editor.getDomNode():void 0,getAnchor:()=>e,getActions:()=>a,onHide:u=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}};ax.ID="editor.contrib.contextmenu",ax=H8=YMt([rC(1,fu),rC(2,pp),rC(3,ln),rC(4,Oi),rC(5,Gu),rC(6,Pn),rC(7,Wv)],ax);class UMt extends Nt{constructor(){super({id:"editor.action.showContextMenu",label:_("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:ne.textInputFocus,primary:1092,weight:100}})}run(e,t){var i;(i=ax.get(t))===null||i===void 0||i.showContextMenu()}}vi(ax.ID,ax,2),tt(UMt);class Y8{constructor(e){this.selections=e}equals(e){const t=this.selections.length,i=e.selections.length;if(t!==i)return!1;for(let r=0;r{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeModelContent(t=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeCursorSelection(t=>{if(this._isCursorUndoRedo||!t.oldSelections||t.oldModelVersionId!==t.modelVersionId)return;const i=new Y8(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new U8(i,e.getScrollTop(),e.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())}))}cursorUndo(){!this._editor.hasModel()||this._undoStack.length===0||(this._redoStack.push(new U8(new Y8(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){!this._editor.hasModel()||this._redoStack.length===0||(this._undoStack.push(new U8(new Y8(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(e){this._isCursorUndoRedo=!0,this._editor.setSelections(e.cursorState.selections),this._editor.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft}),this._isCursorUndoRedo=!1}}oC.ID="editor.contrib.cursorUndoRedoController";class KMt extends Nt{constructor(){super({id:"cursorUndo",label:_("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:ne.textInputFocus,primary:2099,weight:100}})}run(e,t,i){var r;(r=oC.get(t))===null||r===void 0||r.cursorUndo()}}class JMt extends Nt{constructor(){super({id:"cursorRedo",label:_("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){var r;(r=oC.get(t))===null||r===void 0||r.cursorRedo()}}vi(oC.ID,oC,0),tt(KMt),tt(JMt);class jMt{constructor(e,t,i){this.selection=e,this.targetPosition=t,this.copy=i,this.targetSelection=null}getEditOperations(e,t){const i=e.getValueInRange(this.selection);if(this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new J(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),i),this.selection.containsPosition(this.targetPosition)&&!(this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition)))){this.targetSelection=this.selection;return}if(this.copy){this.targetSelection=new Zt(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber>this.selection.endLineNumber){this.targetSelection=new Zt(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumberthis._onEditorMouseDown(t))),this._register(this._editor.onMouseUp(t=>this._onEditorMouseUp(t))),this._register(this._editor.onMouseDrag(t=>this._onEditorMouseDrag(t))),this._register(this._editor.onMouseDrop(t=>this._onEditorMouseDrop(t))),this._register(this._editor.onMouseDropCanceled(()=>this._onEditorMouseDropCanceled())),this._register(this._editor.onKeyDown(t=>this.onEditorKeyDown(t))),this._register(this._editor.onKeyUp(t=>this.onEditorKeyUp(t))),this._register(this._editor.onDidBlurEditorWidget(()=>this.onEditorBlur())),this._register(this._editor.onDidBlurEditorText(()=>this.onEditorBlur())),this._mouseDown=!1,this._modifierPressed=!1,this._dragSelection=null}onEditorBlur(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1}onEditorKeyDown(e){!this._editor.getOption(35)||this._editor.getOption(22)||(lx(e)&&(this._modifierPressed=!0),this._mouseDown&&lx(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(35)||this._editor.getOption(22)||(lx(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===Np.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))}_onEditorMouseDown(e){this._mouseDown=!0}_onEditorMouseUp(e){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(e){const t=e.target;if(this._dragSelection===null){const r=(this._editor.getSelections()||[]).filter(o=>t.position&&o.containsPosition(t.position));if(r.length===1)this._dragSelection=r[0];else return}lx(e.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),t.position&&(this._dragSelection.containsPosition(t.position)?this._removeDecoration():this.showAt(t.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(e){if(e.target&&(this._hitContent(e.target)||this._hitMargin(e.target))&&e.target.position){const t=new ve(e.target.position.lineNumber,e.target.position.column);if(this._dragSelection===null){let i=null;if(e.event.shiftKey){const r=this._editor.getSelection();if(r){const{selectionStartLineNumber:o,selectionStartColumn:s}=r;i=[new Zt(o,s,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(r=>r.containsPosition(t)?new Zt(t.lineNumber,t.column,t.lineNumber,t.column):r);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(lx(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(Np.ID,new jMt(this._dragSelection,t,lx(e.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}showAt(e){this._dndDecorationIds.set([{range:new J(e.lineNumber,e.column,e.lineNumber,e.column),options:Np._DECORATION_OPTIONS}]),this._editor.revealPosition(e,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(e){return e.type===6||e.type===7}_hitMargin(e){return e.type===2||e.type===3||e.type===4}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}}Np.ID="editor.contrib.dragAndDrop",Np.TRIGGER_KEY_VALUE=On?6:5,Np._DECORATION_OPTIONS=vn.register({description:"dnd-target",className:"dnd-target"}),vi(Np.ID,Np,2);var oA;vi(Lf.ID,Lf,0),yN(oK),gt(new class extends Ko{constructor(){super({id:Vwe,precondition:hK,kbOpts:{weight:100,primary:2137}})}runEditorCommand(n,e){var t;return(t=Lf.get(e))===null||t===void 0?void 0:t.changePasteType()}}),gt(new class extends Ko{constructor(){super({id:"editor.hidePasteWidget",precondition:hK,kbOpts:{weight:100,primary:9}})}runEditorCommand(n,e){var t;(t=Lf.get(e))===null||t===void 0||t.clearWidgets()}}),tt((oA=class extends Nt{constructor(){super({id:"editor.action.pasteAs",label:_("pasteAs","Paste As..."),alias:"Paste As...",precondition:ne.writable,metadata:{description:"Paste as",args:[{name:"args",schema:oA.argsSchema}]}})}run(e,t,i){var r;let o=typeof(i==null?void 0:i.kind)=="string"?i.kind:void 0;return!o&&i&&(o=typeof i.id=="string"?i.id:void 0),(r=Lf.get(t))===null||r===void 0?void 0:r.pasteAs(o?new Vi(o):void 0)}},oA.argsSchema={type:"object",properties:{kind:{type:"string",description:_("pasteAs.kind","The kind of the paste edit to try applying. If not provided or there are multiple edits for this kind, the editor will show a picker.")}}},oA)),tt(class extends Nt{constructor(){super({id:"editor.action.pasteAsText",label:_("pasteAsText","Paste as Text"),alias:"Paste as Text",precondition:ne.writable})}run(n,e){var t;return(t=Lf.get(e))===null||t===void 0?void 0:t.pasteAs({providerId:Sp.id})}});class QMt{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(e){if(e&&this._dragOperations.has(e)){const t=this._dragOperations.get(e);return this._dragOperations.delete(e),t}}}class u_e{constructor(e){this.identifier=e}}const c_e=Un("treeViewsDndService");qn(c_e,QMt,1);var $Mt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},sA=function(n,e){return function(t,i){e(t,i,n)}},K8;const d_e="editor.experimental.dropIntoEditor.defaultProvider",h_e="editor.changeDropType",J8=new St("dropWidgetVisible",!1,_("dropWidgetVisible","Whether the drop widget is showing"));let sC=K8=class extends Fe{static get(e){return e.getContribution(K8.ID)}constructor(e,t,i,r,o){super(),this._configService=i,this._languageFeaturesService=r,this._treeViewsDragAndDropService=o,this.treeItemsTransfer=eN.getInstance(),this._dropProgressManager=this._register(t.createInstance(UW,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(QW,"dropIntoEditor",e,J8,{id:h_e,label:_("postDropWidgetTitle","Show drop options...")})),this._register(e.onDropIntoEditor(s=>this.onDropIntoEditor(e,s.position,s.event)))}clearWidgets(){this._postDropWidgetManager.clear()}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(e,t,i){var r;if(!i.dataTransfer||!e.hasModel())return;(r=this._currentOperation)===null||r===void 0||r.cancel(),e.focus(),e.setPosition(t);const o=rs(async s=>{const a=new T0(e,1,void 0,s);try{const l=await this.extractDataTransferData(i);if(l.size===0||a.token.isCancellationRequested)return;const u=e.getModel();if(!u)return;const c=this._languageFeaturesService.documentOnDropEditProvider.ordered(u).filter(h=>h.dropMimeTypes?h.dropMimeTypes.some(m=>l.matches(m)):!0),d=await this.getDropEdits(c,u,t,l,a);if(a.token.isCancellationRequested)return;if(d.length){const h=this.getInitialActiveEditIndex(u,d),m=e.getOption(36).showDropSelector==="afterDrop";await this._postDropWidgetManager.applyEditAndShowIfNeeded([J.fromPositions(t)],{activeEditIndex:h,allEdits:d},m,async f=>f,s)}}finally{a.dispose(),this._currentOperation===o&&(this._currentOperation=void 0)}});this._dropProgressManager.showWhile(t,_("dropIntoEditorProgress","Running drop handlers. Click to cancel"),o),this._currentOperation=o}async getDropEdits(e,t,i,r,o){const s=await UI(Promise.all(e.map(async l=>{try{const u=await l.provideDocumentOnDropEdits(t,i,r,o.token);return u==null?void 0:u.map(c=>({...c,providerId:l.id}))}catch{}})),o.token),a=Ym(s??[]).flat();return kwe(a)}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(d_e,{resource:e.uri});for(const[r,o]of Object.entries(i)){const s=new Vi(o),a=t.findIndex(l=>s.value===l.providerId&&l.handledMimeType&&Cwe(r,[l.handledMimeType]));if(a>=0)return a}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new vwe;const t=_we(e.dataTransfer);if(this.treeItemsTransfer.hasData(u_e.prototype)){const i=this.treeItemsTransfer.getData(u_e.prototype);if(Array.isArray(i))for(const r of i){const o=await this._treeViewsDragAndDropService.removeDragOperationTransfer(r.identifier);if(o)for(const[s,a]of o)t.replace(s,a)}}return t}};sC.ID="editor.contrib.dropIntoEditorController",sC=K8=$Mt([sA(1,$t),sA(2,Pn),sA(3,Rt),sA(4,c_e)],sC),vi(sC.ID,sC,2),yN(rK),gt(new class extends Ko{constructor(){super({id:h_e,precondition:J8,kbOpts:{weight:100,primary:2137}})}runEditorCommand(n,e,t){var i;(i=sC.get(e))===null||i===void 0||i.changeDropType()}}),gt(new class extends Ko{constructor(){super({id:"editor.hideDropWidget",precondition:J8,kbOpts:{weight:100,primary:9}})}runEditorCommand(n,e,t){var i;(i=sC.get(e))===null||i===void 0||i.clearWidgets()}}),Do.as(Eh.Configuration).registerConfiguration({...$W,properties:{[d_e]:{type:"object",scope:5,description:_("defaultProviderDescription","Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}});class Ta{constructor(e){this._editor=e,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.removeDecorations(this._allDecorations()),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){return this._findScopeDecorationIds[0]?this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]):null}getFindScopes(){if(this._findScopeDecorationIds.length){const e=this._findScopeDecorationIds.map(t=>this._editor.getModel().getDecorationRange(t)).filter(t=>!!t);if(e.length)return e}return null}getStartPosition(){return this._startPosition}setStartPosition(e){this._startPosition=e,this.setCurrentFindMatch(null)}_getDecorationIndex(e){const t=this._decorations.indexOf(e);return t>=0?t+1:1}getDecorationRangeAt(e){const t=e{if(this._highlightedDecorationId!==null&&(r.changeDecorationOptions(this._highlightedDecorationId,Ta._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,r.changeDecorationOptions(this._highlightedDecorationId,Ta._CURRENT_FIND_MATCH_DECORATION)),this._rangeHighlightDecorationId!==null&&(r.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),t!==null){let o=this._editor.getModel().getDecorationRange(t);if(o.startLineNumber!==o.endLineNumber&&o.endColumn===1){const s=o.endLineNumber-1,a=this._editor.getModel().getLineMaxColumn(s);o=new J(o.startLineNumber,o.startColumn,s,a)}this._rangeHighlightDecorationId=r.addDecoration(o,Ta._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let r=Ta._FIND_MATCH_DECORATION;const o=[];if(e.length>1e3){r=Ta._FIND_MATCH_NO_OVERVIEW_DECORATION;const a=this._editor.getModel().getLineCount(),u=this._editor.getLayoutInfo().height/a,c=Math.max(2,Math.ceil(3/u));let d=e[0].range.startLineNumber,h=e[0].range.endLineNumber;for(let m=1,f=e.length;m=g.startLineNumber?g.endLineNumber>h&&(h=g.endLineNumber):(o.push({range:new J(d,1,h,1),options:Ta._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),d=g.startLineNumber,h=g.endLineNumber)}o.push({range:new J(d,1,h,1),options:Ta._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const s=new Array(e.length);for(let a=0,l=e.length;ai.removeDecoration(a)),this._findScopeDecorationIds=[]),t!=null&&t.length&&(this._findScopeDecorationIds=t.map(a=>i.addDecoration(a,Ta._FIND_SCOPE_DECORATION)))})}matchBeforePosition(e){if(this._decorations.length===0)return null;for(let t=this._decorations.length-1;t>=0;t--){const i=this._decorations[t],r=this._editor.getModel().getDecorationRange(i);if(!(!r||r.endLineNumber>e.lineNumber)){if(r.endLineNumbere.column))return r}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(e){if(this._decorations.length===0)return null;for(let t=0,i=this._decorations.length;te.lineNumber)return o;if(!(o.startColumn0){const i=[];for(let s=0;sJ.compareRangesUsingStarts(s.range,a.range));const r=[];let o=i[0];for(let s=1;s0?e[0].toUpperCase()+e.substr(1):n[0][0].toUpperCase()!==n[0][0]&&e.length>0?e[0].toLowerCase()+e.substr(1):e}else return e}function f_e(n,e,t){return n[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&n[0].split(t).length===e.split(t).length}function g_e(n,e,t){const i=e.split(t),r=n[0].split(t);let o="";return i.forEach((s,a)=>{o+=m_e([r[a]],s)+t}),o.slice(0,-1)}class p_e{constructor(e){this.staticValue=e,this.kind=0}}class ekt{constructor(e){this.pieces=e,this.kind=1}}class ux{static fromStaticValue(e){return new ux([aC.staticValue(e)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){!e||e.length===0?this._state=new p_e(""):e.length===1&&e[0].staticValue!==null?this._state=new p_e(e[0].staticValue):this._state=new ekt(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?m_e(e,this._state.staticValue):this._state.staticValue;let i="";for(let r=0,o=this._state.pieces.length;r0){const l=[],u=s.caseOps.length;let c=0;for(let d=0,h=a.length;d=u){l.push(a.slice(d));break}switch(s.caseOps[c]){case"U":l.push(a[d].toUpperCase());break;case"u":l.push(a[d].toUpperCase()),c++;break;case"L":l.push(a[d].toLowerCase());break;case"l":l.push(a[d].toLowerCase()),c++;break;default:l.push(a[d])}}a=l.join("")}i+=a}return i}static _substitute(e,t){if(t===null)return"";if(e===0)return t[0];let i="";for(;e>0;){if(e=r)break;const s=n.charCodeAt(i);switch(s){case 92:t.emitUnchanged(i-1),t.emitStatic("\\",i+1);break;case 110:t.emitUnchanged(i-1),t.emitStatic(` +`,i+1);break;case 116:t.emitUnchanged(i-1),t.emitStatic(" ",i+1);break;case 117:case 85:case 108:case 76:t.emitUnchanged(i-1),t.emitStatic("",i+1),e.push(String.fromCharCode(s));break}continue}if(o===36){if(i++,i>=r)break;const s=n.charCodeAt(i);if(s===36){t.emitUnchanged(i-1),t.emitStatic("$",i+1);continue}if(s===48||s===38){t.emitUnchanged(i-1),t.emitMatchIndex(0,i+1,e),e.length=0;continue}if(49<=s&&s<=57){let a=s-48;if(i+1this.research(!1),100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition(i=>{(i.reason===3||i.reason===5||i.reason===6)&&this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent(i=>{this._ignoreModelContentChanged||(i.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())})),this._toDispose.add(this._state.onFindReplaceStateChange(i=>this._onStateChanged(i))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,qi(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(e){this._isDisposed||this._editor.hasModel()&&(e.searchString||e.isReplaceRevealed||e.isRegex||e.wholeWord||e.matchCase||e.searchScope)&&(this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet(()=>{e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor)},ikt)):e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor))}static _getSearchRange(e,t){return t||e.getFullModelRange()}research(e,t){let i=null;typeof t<"u"?t!==null&&(Array.isArray(t)?i=t:i=[t]):i=this._decorations.getFindScopes(),i!==null&&(i=i.map(a=>{if(a.startLineNumber!==a.endLineNumber){let l=a.endLineNumber;return a.endColumn===1&&(l=l-1),new J(a.startLineNumber,1,l,this._editor.getModel().getLineMaxColumn(l))}return a}));const r=this._findMatches(i,!1,J0);this._decorations.set(r,i);const o=this._editor.getSelection();let s=this._decorations.getCurrentMatchesPosition(o);if(s===0&&r.length>0){const a=jF(r.map(l=>l.range),l=>J.compareRangesUsingStarts(l,o)>=0);s=a>0?a-1+1:s}this._state.changeMatchInfo(s,this._decorations.getCount(),void 0),e&&this._editor.getOption(41).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){const e=this._decorations.getFindScope();return e&&this._editor.revealRangeInCenterIfOutsideViewport(e,0),!0}return!1}_setCurrentFindMatch(e){const t=this._decorations.setCurrentFindMatch(e);this._state.changeMatchInfo(t,this._decorations.getCount(),e),this._editor.setSelection(e),this._editor.revealRangeInCenterIfOutsideViewport(e,0)}_prevSearchPosition(e){const t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:r}=e;const o=this._editor.getModel();return t||r===1?(i===1?i=o.getLineCount():i--,r=o.getLineMaxColumn(i)):r--,new ve(i,r)}_moveToPrevMatch(e,t=!1){if(!this._state.canNavigateBack()){const c=this._decorations.matchAfterPosition(e);c&&this._setCurrentFindMatch(c);return}if(this._decorations.getCount()=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:r}=e;const o=this._editor.getModel();return t||r===o.getLineMaxColumn(i)?(i===o.getLineCount()?i=1:i++,r=1):r++,new ve(i,r)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(e);i&&this._setCurrentFindMatch(i);return}if(this._decorations.getCount()PN._getSearchRange(this._editor.getModel(),o));return this._editor.getModel().findMatches(this._state.searchString,r,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(131):null,t,i)}replaceAll(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();e===null&&this._state.matchesCount>=J0?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const t=new vv(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(131):null).parseSearchRequest();if(!t)return;let i=t.regex;if(!i.multiline){let d="mu";i.ignoreCase&&(d+="i"),i.global&&(d+="g"),i=new RegExp(i.source,d)}const r=this._editor.getModel(),o=r.getValue(1),s=r.getFullModelRange(),a=this._getReplacePattern();let l;const u=this._state.preserveCase;a.hasReplacementPatterns||u?l=o.replace(i,function(){return a.buildReplaceString(arguments,u)}):l=o.replace(i,a.buildReplaceString(null,u));const c=new WY(s,l,this._editor.getSelection());this._executeEditorCommand("replaceAll",c)}_regularReplaceAll(e){const t=this._getReplacePattern(),i=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),r=[];for(let s=0,a=i.length;ss.range),r);this._executeEditorCommand("replaceAll",o)}selectAllMatches(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();let i=this._findMatches(e,!1,1073741824).map(o=>new Zt(o.range.startLineNumber,o.range.startColumn,o.range.endLineNumber,o.range.endColumn));const r=this._editor.getSelection();for(let o=0,s=i.length;othis._hide(),2e3)),this._isVisible=!1,this._editor=e,this._state=t,this._keybindingService=i,this._domNode=document.createElement("div"),this._domNode.className="findOptionsWidget",this._domNode.style.display="none",this._domNode.style.top="10px",this._domNode.style.zIndex="12",this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true");const r={inputActiveOptionBorder:xt(v6),inputActiveOptionForeground:xt(C6),inputActiveOptionBackground:xt(lv)},o=this._register(I2());this.caseSensitive=this._register(new txe({appendTitle:this._keybindingLabelFor(lr.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase,hoverDelegate:o,...r})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new nxe({appendTitle:this._keybindingLabelFor(lr.ToggleWholeWordCommand),isChecked:this._state.wholeWord,hoverDelegate:o,...r})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new ixe({appendTitle:this._keybindingLabelFor(lr.ToggleRegexCommand),isChecked:this._state.isRegex,hoverDelegate:o,...r})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange(()=>{this._state.change({isRegex:this.regex.checked},!1)})),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange(s=>{let a=!1;s.isRegex&&(this.regex.checked=this._state.isRegex,a=!0),s.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,a=!0),s.matchCase&&(this.caseSensitive.checked=this._state.matchCase,a=!0),!this._state.isRevealed&&a&&this._revealTemporarily()})),this._register(Ve(this._domNode,ot.MOUSE_LEAVE,s=>this._onMouseLeave())),this._register(Ve(this._domNode,"mouseover",s=>this._onMouseOver()))}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return mA.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseLeave(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){this._isVisible||(this._isVisible=!0,this._domNode.style.display="block")}_hide(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display="none")}}mA.ID="editor.contrib.findOptionsWidget";function fA(n,e){return n===1?!0:n===2?!1:e}class rkt extends Fe{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return fA(this._isRegexOverride,this._isRegex)}get wholeWord(){return fA(this._wholeWordOverride,this._wholeWord)}get matchCase(){return fA(this._matchCaseOverride,this._matchCase)}get preserveCase(){return fA(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}constructor(){super(),this._onFindReplaceStateChange=this._register(new be),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString="",this._replaceString="",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0,this._isSearching=!1,this._filters=null}changeMatchInfo(e,t,i){const r={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let o=!1;t===0&&(e=0),e>t&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,r.matchesPosition=!0,o=!0),this._matchesCount!==t&&(this._matchesCount=t,r.matchesCount=!0,o=!0),typeof i<"u"&&(J.equalsRange(this._currentMatch,i)||(this._currentMatch=i,r.currentMatch=!0,o=!0)),o&&this._onFindReplaceStateChange.fire(r)}change(e,t,i=!0){var r;const o={moveCursor:t,updateHistory:i,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let s=!1;const a=this.isRegex,l=this.wholeWord,u=this.matchCase,c=this.preserveCase;typeof e.searchString<"u"&&this._searchString!==e.searchString&&(this._searchString=e.searchString,o.searchString=!0,s=!0),typeof e.replaceString<"u"&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,o.replaceString=!0,s=!0),typeof e.isRevealed<"u"&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,o.isRevealed=!0,s=!0),typeof e.isReplaceRevealed<"u"&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,o.isReplaceRevealed=!0,s=!0),typeof e.isRegex<"u"&&(this._isRegex=e.isRegex),typeof e.wholeWord<"u"&&(this._wholeWord=e.wholeWord),typeof e.matchCase<"u"&&(this._matchCase=e.matchCase),typeof e.preserveCase<"u"&&(this._preserveCase=e.preserveCase),typeof e.searchScope<"u"&&(!((r=e.searchScope)===null||r===void 0)&&r.every(d=>{var h;return(h=this._searchScope)===null||h===void 0?void 0:h.some(m=>!J.equalsRange(m,d))})||(this._searchScope=e.searchScope,o.searchScope=!0,s=!0)),typeof e.loop<"u"&&this._loop!==e.loop&&(this._loop=e.loop,o.loop=!0,s=!0),typeof e.isSearching<"u"&&this._isSearching!==e.isSearching&&(this._isSearching=e.isSearching,o.isSearching=!0,s=!0),typeof e.filters<"u"&&(this._filters?this._filters.update(e.filters):this._filters=e.filters,o.filters=!0,s=!0),this._isRegexOverride=typeof e.isRegexOverride<"u"?e.isRegexOverride:0,this._wholeWordOverride=typeof e.wholeWordOverride<"u"?e.wholeWordOverride:0,this._matchCaseOverride=typeof e.matchCaseOverride<"u"?e.matchCaseOverride:0,this._preserveCaseOverride=typeof e.preserveCaseOverride<"u"?e.preserveCaseOverride:0,a!==this.isRegex&&(s=!0,o.isRegex=!0),l!==this.wholeWord&&(s=!0,o.wholeWord=!0),u!==this.matchCase&&(s=!0,o.matchCase=!0),c!==this.preserveCase&&(s=!0,o.preserveCase=!0),s&&this._onFindReplaceStateChange.fire(o)}canNavigateBack(){return this.canNavigateInLoop()||this.matchesPosition!==1}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition=J0}}const okt=_("defaultLabel","input"),skt=_("label.preserveCaseToggle","Preserve Case");class akt extends $2{constructor(e){var t;super({icon:ut.preserveCase,title:skt+e.appendTitle,isChecked:e.isChecked,hoverDelegate:(t=e.hoverDelegate)!==null&&t!==void 0?t:Pl("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class lkt extends Hu{constructor(e,t,i,r){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new be),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new be),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new be),this._onInput=this._register(new be),this._onKeyUp=this._register(new be),this._onPreserveCaseKeyDown=this._register(new be),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=r.placeholder||"",this.validation=r.validation,this.label=r.label||okt;const o=r.appendPreserveCaseLabel||"",s=r.history||[],a=!!r.flexibleHeight,l=!!r.flexibleWidth,u=r.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new rxe(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:s,showHistoryHint:r.showHistoryHint,flexibleHeight:a,flexibleWidth:l,flexibleMaxHeight:u,inputBoxStyles:r.inputBoxStyles})),this.preserveCase=this._register(new akt({appendTitle:o,isChecked:!1,...r.toggleStyles})),this._register(this.preserveCase.onChange(h=>{this._onDidOptionChange.fire(h),!h&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.preserveCase.onKeyDown(h=>{this._onPreserveCaseKeyDown.fire(h)})),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;const c=[this.preserveCase.domNode];this.onkeydown(this.domNode,h=>{if(h.equals(15)||h.equals(17)||h.equals(9)){const m=c.indexOf(this.domNode.ownerDocument.activeElement);if(m>=0){let f=-1;h.equals(17)?f=(m+1)%c.length:h.equals(15)&&(m===0?f=c.length-1:f=m-1),h.equals(9)?(c[m].blur(),this.inputBox.focus()):f>=0&&c[f].focus(),An.stop(h,!0)}}});const d=document.createElement("div");d.className="controls",d.style.display=this._showOptionButtons?"block":"none",d.appendChild(this.preserveCase.domNode),this.domNode.appendChild(d),e==null||e.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,h=>this._onKeyDown.fire(h)),this.onkeyup(this.inputBox.inputElement,h=>this._onKeyUp.fire(h)),this.oninput(this.inputBox.inputElement,h=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,h=>this._onMouseDown.fire(h))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(e){e?this.enable():this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(e){this.preserveCase.checked=e}focusOnPreserve(){this.preserveCase.focus()}validate(){var e;(e=this.inputBox)===null||e===void 0||e.validate()}set width(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=e+"px"}dispose(){super.dispose()}}var b_e=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},y_e=function(n,e){return function(t,i){e(t,i,n)}};const Q8=new St("suggestWidgetVisible",!1,_("suggestWidgetVisible","Whether suggestion are visible")),$8="historyNavigationWidgetFocus",v_e="historyNavigationForwardsEnabled",C_e="historyNavigationBackwardsEnabled";let kp;const gA=[];function S_e(n,e){if(gA.includes(e))throw new Error("Cannot register the same widget multiple times");gA.push(e);const t=new Je,i=new St($8,!1).bindTo(n),r=new St(v_e,!0).bindTo(n),o=new St(C_e,!0).bindTo(n),s=()=>{i.set(!0),kp=e},a=()=>{i.set(!1),kp===e&&(kp=void 0)};return l9(e.element)&&s(),t.add(e.onDidFocus(()=>s())),t.add(e.onDidBlur(()=>a())),t.add(jt(()=>{gA.splice(gA.indexOf(e),1),a()})),{historyNavigationForwardsEnablement:r,historyNavigationBackwardsEnablement:o,dispose(){t.dispose()}}}let q8=class extends oxe{constructor(e,t,i,r){super(e,t,i);const o=this._register(r.createScoped(this.inputBox.element));this._register(S_e(o,this.inputBox))}};q8=b_e([y_e(3,ln)],q8);let ej=class extends lkt{constructor(e,t,i,r,o=!1){super(e,t,o,i);const s=this._register(r.createScoped(this.inputBox.element));this._register(S_e(s,this.inputBox))}};ej=b_e([y_e(3,ln)],ej),El.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:Oe.and(Oe.has($8),Oe.equals(C_e,!0),Oe.not("isComposing"),Q8.isEqualTo(!1)),primary:16,secondary:[528],handler:n=>{kp==null||kp.showPreviousValue()}}),El.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:Oe.and(Oe.has($8),Oe.equals(v_e,!0),Oe.not("isComposing"),Q8.isEqualTo(!1)),primary:18,secondary:[530],handler:n=>{kp==null||kp.showNextValue()}});function w_e(n){var e,t;return((e=n.lookupKeybinding("history.showPrevious"))===null||e===void 0?void 0:e.getElectronAccelerator())==="Up"&&((t=n.lookupKeybinding("history.showNext"))===null||t===void 0?void 0:t.getElectronAccelerator())==="Down"}const ukt=so("find-selection",ut.selection,_("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),x_e=so("find-collapsed",ut.chevronRight,_("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),__e=so("find-expanded",ut.chevronDown,_("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),ckt=so("find-replace",ut.replace,_("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),dkt=so("find-replace-all",ut.replaceAll,_("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),hkt=so("find-previous-match",ut.arrowUp,_("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),mkt=so("find-next-match",ut.arrowDown,_("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),fkt=_("label.findDialog","Find / Replace"),gkt=_("label.find","Find"),pkt=_("placeholder.find","Find"),bkt=_("label.previousMatchButton","Previous Match"),ykt=_("label.nextMatchButton","Next Match"),vkt=_("label.toggleSelectionFind","Find in Selection"),Ckt=_("label.closeButton","Close"),Skt=_("label.replace","Replace"),wkt=_("placeholder.replace","Replace"),xkt=_("label.replaceButton","Replace"),_kt=_("label.replaceAllButton","Replace All"),Lkt=_("label.toggleReplaceButton","Toggle Replace"),Ikt=_("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",J0),Fkt=_("label.matchesLocation","{0} of {1}"),L_e=_("label.noResults","No results"),Ef=419,Dkt=275-54;let ON=69;const Nkt=33,I_e="ctrlEnterReplaceAll.windows.donotask",F_e=On?256:2048;class tj{constructor(e){this.afterLineNumber=e,this.heightInPx=Nkt,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function D_e(n,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionStart>0){n.stopPropagation();return}}function N_e(n,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionEndthis._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(c=>this._onStateChanged(c))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(c=>{if(c.hasChanged(91)&&(this._codeEditor.getOption(91)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),c.hasChanged(145)&&this._tryUpdateWidgetWidth(),c.hasChanged(2)&&this.updateAccessibilitySupport(),c.hasChanged(41)){const d=this._codeEditor.getOption(41).loop;this._state.change({loop:d},!1);const h=this._codeEditor.getOption(41).addExtraSpaceOnTop;h&&!this._viewZone&&(this._viewZone=new tj(0),this._showViewZone()),!h&&this._viewZone&&this._removeViewZone()}})),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection(()=>{this._isVisible&&this._updateToggleSelectionFindButton()})),this._register(this._codeEditor.onDidFocusEditorWidget(async()=>{if(this._isVisible){const c=await this._controller.getGlobalBufferTerm();c&&c!==this._state.searchString&&(this._state.change({searchString:c},!1),this._findInput.select())}})),this._findInputFocused=aA.bindTo(s),this._findFocusTracker=this._register(Dh(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus(()=>{this._findInputFocused.set(!0),this._updateSearchScope()})),this._register(this._findFocusTracker.onDidBlur(()=>{this._findInputFocused.set(!1)})),this._replaceInputFocused=j8.bindTo(s),this._replaceFocusTracker=this._register(Dh(this._replaceInput.inputBox.inputElement)),this._register(this._replaceFocusTracker.onDidFocus(()=>{this._replaceInputFocused.set(!0),this._updateSearchScope()})),this._register(this._replaceFocusTracker.onDidBlur(()=>{this._replaceInputFocused.set(!1)})),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(41).addExtraSpaceOnTop&&(this._viewZone=new tj(0)),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(c=>{if(c.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return pA.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(e){if(e.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(e.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),e.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),e.isReplaceRevealed&&(this._state.isReplaceRevealed?!this._codeEditor.getOption(91)&&!this._isReplaceVisible&&(this._isReplaceVisible=!0,this._replaceInput.width=Qa(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(e.isRevealed||e.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),e.isRegex&&this._findInput.setRegex(this._state.isRegex),e.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),e.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),e.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),e.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),e.searchString||e.matchesCount||e.matchesPosition){const t=this._state.searchString.length>0&&this._state.matchesCount===0;this._domNode.classList.toggle("no-results",t),this._updateMatchesCount(),this._updateButtons()}(e.searchString||e.currentMatch)&&this._layoutViewZone(),e.updateHistory&&this._delayedUpdateHistory(),e.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,yn)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){this._matchesCount.style.minWidth=ON+"px",this._state.matchesCount>=J0?this._matchesCount.title=Ikt:this._matchesCount.title="",this._matchesCount.firstChild&&this._matchesCount.removeChild(this._matchesCount.firstChild);let e;if(this._state.matchesCount>0){let t=String(this._state.matchesCount);this._state.matchesCount>=J0&&(t+="+");let i=String(this._state.matchesPosition);i==="0"&&(i="?"),e=pw(Fkt,i,t)}else e=L_e;this._matchesCount.appendChild(document.createTextNode(e)),Ml(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),ON=Math.max(ON,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===L_e)return i===""?_("ariaSearchNoResultEmpty","{0} found",e):_("ariaSearchNoResult","{0} found for '{1}'",e,i);if(t){const r=_("ariaSearchNoResultWithLineNum","{0} found for '{1}', at {2}",e,i,t.startLineNumber+":"+t.startColumn),o=this._codeEditor.getModel();return o&&t.startLineNumber<=o.getLineCount()&&t.startLineNumber>=1?`${o.getLineContent(t.startLineNumber)}, ${r}`:r}return _("ariaSearchNoResultWithLineNumNoCurrentMatch","{0} found for '{1}'",e,i)}_updateToggleSelectionFindButton(){const e=this._codeEditor.getSelection(),t=e?e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn:!1,i=this._toggleSelectionFind.checked;this._isVisible&&(i||t)?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);const e=this._state.searchString.length>0,t=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);const i=!this._codeEditor.getOption(91);this._toggleReplaceBtn.setEnabled(this._isVisible&&i)}_reveal(){if(this._revealTimeouts.forEach(e=>{clearTimeout(e)}),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const e=this._codeEditor.getSelection();switch(this._codeEditor.getOption(41).autoFindInSelection){case"always":this._toggleSelectionFind.checked=!0;break;case"never":this._toggleSelectionFind.checked=!1;break;case"multiline":{const i=!!e&&e.startLineNumber!==e.endLineNumber;this._toggleSelectionFind.checked=i;break}}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout(()=>{this._domNode.classList.add("visible"),this._domNode.setAttribute("aria-hidden","false")},0)),this._revealTimeouts.push(setTimeout(()=>{this._findInput.validate()},200)),this._codeEditor.layoutOverlayWidget(this);let t=!0;if(this._codeEditor.getOption(41).seedSearchStringFromSelection&&e){const i=this._codeEditor.getDomNode();if(i){const r=po(i),o=this._codeEditor.getScrolledVisiblePosition(e.getStartPosition()),s=r.left+(o?o.left:0),a=o?o.top:0;if(this._viewZone&&ae.startLineNumber&&(t=!1);const l=N0e(this._domNode).left;s>l&&(t=!1);const u=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());r.left+(u?u.left:0)>l&&(t=!1)}}}this._showViewZone(t)}}_hide(e){this._revealTimeouts.forEach(t=>{clearTimeout(t)}),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._updateButtons(),this._domNode.classList.remove("visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),e&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(e){if(!this._codeEditor.getOption(41).addExtraSpaceOnTop){this._removeViewZone();return}if(!this._isVisible)return;const i=this._viewZone;this._viewZoneId!==void 0||!i||this._codeEditor.changeViewZones(r=>{i.heightInPx=this._getHeight(),this._viewZoneId=r.addZone(i),this._codeEditor.setScrollTop(e||this._codeEditor.getScrollTop()+i.heightInPx)})}_showViewZone(e=!0){if(!this._isVisible||!this._codeEditor.getOption(41).addExtraSpaceOnTop)return;this._viewZone===void 0&&(this._viewZone=new tj(0));const i=this._viewZone;this._codeEditor.changeViewZones(r=>{if(this._viewZoneId!==void 0){const o=this._getHeight();if(o===i.heightInPx)return;const s=o-i.heightInPx;i.heightInPx=o,r.layoutZone(this._viewZoneId),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+s);return}else{let o=this._getHeight();if(o-=this._codeEditor.getOption(84).top,o<=0)return;i.heightInPx=o,this._viewZoneId=r.addZone(i),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+o)}})}_removeViewZone(){this._codeEditor.changeViewZones(e=>{this._viewZoneId!==void 0&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0))})}_tryUpdateWidgetWidth(){if(!this._isVisible||!this._domNode.isConnected)return;const e=this._codeEditor.getLayoutInfo();if(e.contentWidth<=0){this._domNode.classList.add("hiddenEditor");return}else this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");const i=e.width,r=e.minimap.minimapWidth;let o=!1,s=!1,a=!1;if(this._resized&&Qa(this._domNode)>Ef){this._domNode.style.maxWidth=`${i-28-r-15}px`,this._replaceInput.width=Qa(this._findInput.domNode);return}if(Ef+28+r>=i&&(s=!0),Ef+28+r-ON>=i&&(a=!0),Ef+28+r-ON>=i+50&&(o=!0),this._domNode.classList.toggle("collapsed-find-widget",o),this._domNode.classList.toggle("narrow-find-widget",a),this._domNode.classList.toggle("reduced-find-widget",s),!a&&!o&&(this._domNode.style.maxWidth=`${i-28-r-15}px`),this._findInput.layout({collapsedFindWidget:o,narrowFindWidget:a,reducedFindWidget:s}),this._resized){const l=this._findInput.inputBox.element.clientWidth;l>0&&(this._replaceInput.width=l)}else this._isReplaceVisible&&(this._replaceInput.width=Qa(this._findInput.domNode))}_getHeight(){let e=0;return e+=4,e+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(e+=4,e+=this._replaceInput.inputBox.height+2),e+=4,e}_tryUpdateHeight(){const e=this._getHeight();return this._cachedHeight!==null&&this._cachedHeight===e?!1:(this._cachedHeight=e,this._domNode.style.height=`${e}px`,!0)}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){const e=this._codeEditor.getSelections();e.map(t=>{t.endColumn===1&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(t.endLineNumber-1)));const i=this._state.currentMatch;return t.startLineNumber!==t.endLineNumber&&!J.equalsRange(t,i)?t:null}).filter(t=>!!t),e.length&&this._state.change({searchScope:e},!0)}}_onFindInputMouseDown(e){e.middleButton&&e.stopPropagation()}_onFindInputKeyDown(e){if(e.equals(F_e|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{this._findInput.inputBox.insertAtCursor(` +`),e.preventDefault();return}if(e.equals(2)){this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return D_e(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(e.equals(18))return N_e(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(e){if(e.equals(F_e|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{ha&&wh&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(_("ctrlEnter.keybindingChanged","Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior.")),this._ctrlEnterReplaceAllWarningPrompted=!0,this._storageService.store(I_e,!0,0,0)),this._replaceInput.inputBox.insertAtCursor(` +`),e.preventDefault();return}if(e.equals(2)){this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(1026)){this._findInput.focus(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return D_e(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(e.equals(18))return N_e(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"))}getVerticalSashLeft(e){return 0}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}_buildDomNode(){this._findInput=this._register(new q8(null,this._contextViewProvider,{width:Dkt,label:gkt,placeholder:pkt,appendCaseSensitiveLabel:this._keybindingLabelFor(lr.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(lr.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(lr.ToggleRegexCommand),validation:c=>{if(c.length===0||!this._findInput.getRegex())return null;try{return new RegExp(c,"gu"),null}catch(d){return{content:d.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>w_e(this._keybindingService),inputBoxStyles:ZW,toggleStyles:RW},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown(c=>this._onFindInputKeyDown(c))),this._register(this._findInput.inputBox.onDidChange(()=>{this._ignoreChangeEvent||this._state.change({searchString:this._findInput.getValue()},!0)})),this._register(this._findInput.onDidOptionChange(()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)})),this._register(this._findInput.onCaseSensitiveKeyDown(c=>{c.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),c.preventDefault())})),this._register(this._findInput.onRegexKeyDown(c=>{c.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),c.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(c=>{this._tryUpdateHeight()&&this._showViewZone()})),Ja&&this._register(this._findInput.onMouseDown(c=>this._onFindInputMouseDown(c))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const i=this._register(I2());this._prevBtn=this._register(new cx({label:bkt+this._keybindingLabelFor(lr.PreviousMatchFindAction),icon:hkt,hoverDelegate:i,onTrigger:()=>{Ab(this._codeEditor.getAction(lr.PreviousMatchFindAction)).run().then(void 0,yn)}})),this._nextBtn=this._register(new cx({label:ykt+this._keybindingLabelFor(lr.NextMatchFindAction),icon:mkt,hoverDelegate:i,onTrigger:()=>{Ab(this._codeEditor.getAction(lr.NextMatchFindAction)).run().then(void 0,yn)}}));const r=document.createElement("div");r.className="find-part",r.appendChild(this._findInput.domNode);const o=document.createElement("div");o.className="find-actions",r.appendChild(o),o.appendChild(this._matchesCount),o.appendChild(this._prevBtn.domNode),o.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new $2({icon:ukt,title:vkt+this._keybindingLabelFor(lr.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:i,inputActiveOptionBackground:xt(lv),inputActiveOptionBorder:xt(v6),inputActiveOptionForeground:xt(C6)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let c=this._codeEditor.getSelections();c=c.map(d=>(d.endColumn===1&&d.endLineNumber>d.startLineNumber&&(d=d.setEndPosition(d.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(d.endLineNumber-1))),d.isEmpty()?null:d)).filter(d=>!!d),c.length&&this._state.change({searchScope:c},!0)}}else this._state.change({searchScope:null},!0)})),o.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new cx({label:Ckt+this._keybindingLabelFor(lr.CloseFindWidgetCommand),icon:LSe,hoverDelegate:i,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:c=>{c.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),c.preventDefault())}})),this._replaceInput=this._register(new ej(null,void 0,{label:Skt,placeholder:wkt,appendPreserveCaseLabel:this._keybindingLabelFor(lr.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>w_e(this._keybindingService),inputBoxStyles:ZW,toggleStyles:RW},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(c=>this._onReplaceInputKeyDown(c))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(c=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(c=>{c.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),c.preventDefault())}));const s=this._register(I2());this._replaceBtn=this._register(new cx({label:xkt+this._keybindingLabelFor(lr.ReplaceOneAction),icon:ckt,hoverDelegate:s,onTrigger:()=>{this._controller.replace()},onKeyDown:c=>{c.equals(1026)&&(this._closeBtn.focus(),c.preventDefault())}})),this._replaceAllBtn=this._register(new cx({label:_kt+this._keybindingLabelFor(lr.ReplaceAllAction),icon:dkt,hoverDelegate:s,onTrigger:()=>{this._controller.replaceAll()}}));const a=document.createElement("div");a.className="replace-part",a.appendChild(this._replaceInput.domNode);const l=document.createElement("div");l.className="replace-actions",a.appendChild(l),l.appendChild(this._replaceBtn.domNode),l.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new cx({label:Lkt,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=Qa(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}})),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.ariaLabel=fkt,this._domNode.role="dialog",this._domNode.style.width=`${Ef}px`,this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(r),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(a),this._resizeSash=this._register(new Ca(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let u=Ef;this._register(this._resizeSash.onDidStart(()=>{u=Qa(this._domNode)})),this._register(this._resizeSash.onDidChange(c=>{this._resized=!0;const d=u+c.startX-c.currentX;if(dh||(this._domNode.style.width=`${d}px`,this._isReplaceVisible&&(this._replaceInput.width=Qa(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const c=Qa(this._domNode);if(c{this._opts.onTrigger(),r.preventDefault()}),this.onkeydown(this._domNode,r=>{var o,s;if(r.equals(10)||r.equals(3)){this._opts.onTrigger(),r.preventDefault();return}(s=(o=this._opts).onKeyDown)===null||s===void 0||s.call(o,r)})}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(e){this._domNode.classList.toggle("disabled",!e),this._domNode.setAttribute("aria-disabled",String(!e)),this._domNode.tabIndex=e?0:-1}setExpanded(e){this._domNode.setAttribute("aria-expanded",String(!!e)),e?(this._domNode.classList.remove(...sn.asClassNameArray(x_e)),this._domNode.classList.add(...sn.asClassNameArray(__e))):(this._domNode.classList.remove(...sn.asClassNameArray(__e)),this._domNode.classList.add(...sn.asClassNameArray(x_e)))}}Xc((n,e)=>{const t=n.getColor(o0);t&&e.addRule(`.monaco-editor .findMatch { border: 1px ${rf(n.type)?"dotted":"solid"} ${t}; box-sizing: border-box; }`);const i=n.getColor(Hbt);i&&e.addRule(`.monaco-editor .findScope { border: 1px ${rf(n.type)?"dashed":"solid"} ${i}; }`);const r=n.getColor(Kn);r&&e.addRule(`.monaco-editor .find-widget { border: 1px solid ${r}; }`)});var M_e=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},tm=function(n,e){return function(t,i){e(t,i,n)}},nj;const Mkt=524288;function ij(n,e="single",t=!1){if(!n.hasModel())return null;const i=n.getSelection();if(e==="single"&&i.startLineNumber===i.endLineNumber||e==="multiple"){if(i.isEmpty()){const r=n.getConfiguredWordAtPosition(i.getStartPosition());if(r&&t===!1)return r.word}else if(n.getModel().getValueLengthInRange(i)this._onStateChanged(s))),this._model=null,this._register(this._editor.onDidChangeModel(()=>{const s=this._editor.getModel()&&this._state.isRevealed;this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean("editor.matchCase",1,!1),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,!1),isRegex:this._storageService.getBoolean("editor.isRegex",1,!1),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,!1)},!1),s&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(41).loop})}))}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&(this._model.dispose(),this._model=null)}_onStateChanged(e){this.saveQueryState(e),e.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),e.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(e){e.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,1),e.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,1),e.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,1),e.preserveCase&&this._storageService.store("editor.preserveCase",this._state.actualPreserveCase,1,1)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",1,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",1,this._state.isRegex),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!aA.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},!1),this._state.isRevealed||this.highlightFindOptions()}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},!1),this._state.isRevealed||this.highlightFindOptions()}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){let e=this._editor.getSelections();e=e.map(t=>(t.endColumn===1&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._editor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.isEmpty()?null:t)).filter(t=>!!t),e.length&&this._state.change({searchScope:e},!0)}}setSearchString(e){this._state.isRegex&&(e=Wu(e)),this._state.change({searchString:e},!1)}highlightFindOptions(e=!1){}async _start(e,t){if(this.disposeModel(),!this._editor.hasModel())return;const i={...t,isRevealed:!0};if(e.seedSearchStringFromSelection==="single"){const r=ij(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);r&&(this._state.isRegex?i.searchString=Wu(r):i.searchString=r)}else if(e.seedSearchStringFromSelection==="multiple"&&!e.updateSearchScope){const r=ij(this._editor,e.seedSearchStringFromSelection);r&&(i.searchString=r)}if(!i.searchString&&e.seedSearchStringFromGlobalClipboard){const r=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;r&&(i.searchString=r)}if(e.forceRevealReplace||i.isReplaceRevealed?i.isReplaceRevealed=!0:this._findWidgetVisible.get()||(i.isReplaceRevealed=!1),e.updateSearchScope){const r=this._editor.getSelections();r.some(o=>!o.isEmpty())&&(i.searchScope=r)}i.loop=e.loop,this._state.change(i,!1),this._model||(this._model=new PN(this._editor,this._state))}start(e,t){return this._start(e,t)}moveToNextMatch(){return this._model?(this._model.moveToNextMatch(),!0):!1}moveToPrevMatch(){return this._model?(this._model.moveToPrevMatch(),!0):!1}goToMatch(e){return this._model?(this._model.moveToMatch(e),!0):!1}replace(){return this._model?(this._model.replace(),!0):!1}replaceAll(){var e;return this._model?!((e=this._editor.getModel())===null||e===void 0)&&e.isTooLargeForHeapOperation()?(this._notificationService.warn(_("too.large.for.replaceall","The file is too large to perform a replace all operation.")),!1):(this._model.replaceAll(),!0):!1}selectAllMatches(){return this._model?(this._model.selectAllMatches(),this._editor.focus(),!0):!1}async getGlobalBufferTerm(){return this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""}setGlobalBufferTerm(e){this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(e)}};hl.ID="editor.contrib.findController",hl=nj=M_e([tm(1,ln),tm(2,Sf),tm(3,gp),tm(4,Mo)],hl);let rj=class extends hl{constructor(e,t,i,r,o,s,a,l){super(e,i,a,l,s),this._contextViewService=t,this._keybindingService=r,this._themeService=o,this._widget=null,this._findOptionsWidget=null}async _start(e,t){this._widget||this._createFindWidget();const i=this._editor.getSelection();let r=!1;switch(this._editor.getOption(41).autoFindInSelection){case"always":r=!0;break;case"never":r=!1;break;case"multiline":{r=!!i&&i.startLineNumber!==i.endLineNumber;break}}e.updateSearchScope=e.updateSearchScope||r,await super._start(e,t),this._widget&&(e.shouldFocus===2?this._widget.focusReplaceInput():e.shouldFocus===1&&this._widget.focusFindInput())}highlightFindOptions(e=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!e?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new pA(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService)),this._findOptionsWidget=this._register(new mA(this._editor,this._state,this._keybindingService))}};rj=M_e([tm(1,pp),tm(2,ln),tm(3,Oi),tm(4,jo),tm(5,Mo),tm(6,Sf),tm(7,gp)],rj),t1e(new e1e({id:lr.StartFindAction,label:_("startFindAction","Find"),alias:"Find",precondition:Oe.or(ne.focus,Oe.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:Q.MenubarEditMenu,group:"3_find",title:_({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}})).addImplementation(0,(n,e,t)=>{const i=hl.get(e);return i?i.start({forceRevealReplace:!1,seedSearchStringFromSelection:e.getOption(41).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:e.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:e.getOption(41).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:e.getOption(41).loop}):!1});const kkt={description:"Open a new In-Editor Find Widget.",args:[{name:"Open a new In-Editor Find Widget args",schema:{properties:{searchString:{type:"string"},replaceString:{type:"string"},isRegex:{type:"boolean"},matchWholeWord:{type:"boolean"},isCaseSensitive:{type:"boolean"},preserveCase:{type:"boolean"},findInSelection:{type:"boolean"}}}}]};class Tkt extends Nt{constructor(){super({id:lr.StartFindWithArgs,label:_("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:kkt})}async run(e,t,i){const r=hl.get(t);if(r){const o=i?{searchString:i.searchString,replaceString:i.replaceString,isReplaceRevealed:i.replaceString!==void 0,isRegex:i.isRegex,wholeWord:i.matchWholeWord,matchCase:i.isCaseSensitive,preserveCase:i.preserveCase}:{};await r.start({forceRevealReplace:!1,seedSearchStringFromSelection:r.getState().searchString.length===0&&t.getOption(41).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:t.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:(i==null?void 0:i.findInSelection)||!1,loop:t.getOption(41).loop},o),r.setGlobalBufferTerm(r.getState().searchString)}}}class Ekt extends Nt{constructor(){super({id:lr.StartFindWithSelection,label:_("startFindWithSelectionAction","Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(e,t){const i=hl.get(t);i&&(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),i.setGlobalBufferTerm(i.getState().searchString))}}class k_e extends Nt{async run(e,t){const i=hl.get(t);i&&!this._run(i)&&(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:i.getState().searchString.length===0&&t.getOption(41).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:t.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(i))}}class Rkt extends k_e{constructor(){super({id:lr.NextMatchFindAction,label:_("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:ne.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:Oe.and(ne.focus,aA),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}}class Zkt extends k_e{constructor(){super({id:lr.PreviousMatchFindAction,label:_("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:ne.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:Oe.and(ne.focus,aA),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class Wkt extends Nt{constructor(){super({id:lr.GoToMatchFindAction,label:_("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:Mp}),this._highlightDecorations=[]}run(e,t,i){const r=hl.get(t);if(!r)return;const o=r.getState().matchesCount;if(o<1){e.get(Mo).notify({severity:qZ.Warning,message:_("findMatchAction.noResults","No matches. Try searching for something else.")});return}const a=e.get(Vv).createInputBox();a.placeholder=_("findMatchAction.inputPlaceHolder","Type a number to go to a specific match (between 1 and {0})",o);const l=c=>{const d=parseInt(c);if(isNaN(d))return;const h=r.getState().matchesCount;if(d>0&&d<=h)return d-1;if(d<0&&d>=-h)return h+d},u=c=>{const d=l(c);if(typeof d=="number"){a.validationMessage=void 0,r.goToMatch(d);const h=r.getState().currentMatch;h&&this.addDecorations(t,h)}else a.validationMessage=_("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",r.getState().matchesCount),this.clearDecorations(t)};a.onDidChangeValue(c=>{u(c)}),a.onDidAccept(()=>{const c=l(a.value);typeof c=="number"?(r.goToMatch(c),a.hide()):a.validationMessage=_("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",r.getState().matchesCount)}),a.onDidHide(()=>{this.clearDecorations(t),a.dispose()}),a.show()}clearDecorations(e){e.changeDecorations(t=>{this._highlightDecorations=t.deltaDecorations(this._highlightDecorations,[])})}addDecorations(e,t){e.changeDecorations(i=>{this._highlightDecorations=i.deltaDecorations(this._highlightDecorations,[{range:t,options:{description:"find-match-quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"find-match-quick-access-range-highlight-overview",overviewRuler:{color:zr(Lyt),position:Pc.Full}}}])})}}class T_e extends Nt{async run(e,t){const i=hl.get(t);if(!i)return;const r=ij(t,"single",!1);r&&i.setSearchString(r),this._run(i)||(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(i))}}class Akt extends T_e{constructor(){super({id:lr.NextSelectionMatchFindAction,label:_("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:ne.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}class Vkt extends T_e{constructor(){super({id:lr.PreviousSelectionMatchFindAction,label:_("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:ne.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}}t1e(new e1e({id:lr.StartFindReplaceAction,label:_("startReplace","Replace"),alias:"Replace",precondition:Oe.or(ne.focus,Oe.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:Q.MenubarEditMenu,group:"3_find",title:_({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}})).addImplementation(0,(n,e,t)=>{if(!e.hasModel()||e.getOption(91))return!1;const i=hl.get(e);if(!i)return!1;const r=e.getSelection(),o=i.isFindInputFocused(),s=!r.isEmpty()&&r.startLineNumber===r.endLineNumber&&e.getOption(41).seedSearchStringFromSelection!=="never"&&!o,a=o||s?2:1;return i.start({forceRevealReplace:!0,seedSearchStringFromSelection:s?"single":"none",seedSearchStringFromNonEmptySelection:e.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:e.getOption(41).seedSearchStringFromSelection!=="never",shouldFocus:a,shouldAnimate:!0,updateSearchScope:!1,loop:e.getOption(41).loop})}),vi(hl.ID,rj,0),tt(Tkt),tt(Ekt),tt(Rkt),tt(Zkt),tt(Wkt),tt(Akt),tt(Vkt);const nm=Ko.bindToContribution(hl.get);gt(new nm({id:lr.CloseFindWidgetCommand,precondition:Mp,handler:n=>n.closeFindWidget(),kbOpts:{weight:105,kbExpr:Oe.and(ne.focus,Oe.not("isComposing")),primary:9,secondary:[1033]}})),gt(new nm({id:lr.ToggleCaseSensitiveCommand,precondition:void 0,handler:n=>n.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:ne.focus,primary:lA.primary,mac:lA.mac,win:lA.win,linux:lA.linux}})),gt(new nm({id:lr.ToggleWholeWordCommand,precondition:void 0,handler:n=>n.toggleWholeWords(),kbOpts:{weight:105,kbExpr:ne.focus,primary:uA.primary,mac:uA.mac,win:uA.win,linux:uA.linux}})),gt(new nm({id:lr.ToggleRegexCommand,precondition:void 0,handler:n=>n.toggleRegex(),kbOpts:{weight:105,kbExpr:ne.focus,primary:cA.primary,mac:cA.mac,win:cA.win,linux:cA.linux}})),gt(new nm({id:lr.ToggleSearchScopeCommand,precondition:void 0,handler:n=>n.toggleSearchScope(),kbOpts:{weight:105,kbExpr:ne.focus,primary:dA.primary,mac:dA.mac,win:dA.win,linux:dA.linux}})),gt(new nm({id:lr.TogglePreserveCaseCommand,precondition:void 0,handler:n=>n.togglePreserveCase(),kbOpts:{weight:105,kbExpr:ne.focus,primary:hA.primary,mac:hA.mac,win:hA.win,linux:hA.linux}})),gt(new nm({id:lr.ReplaceOneAction,precondition:Mp,handler:n=>n.replace(),kbOpts:{weight:105,kbExpr:ne.focus,primary:3094}})),gt(new nm({id:lr.ReplaceOneAction,precondition:Mp,handler:n=>n.replace(),kbOpts:{weight:105,kbExpr:Oe.and(ne.focus,j8),primary:3}})),gt(new nm({id:lr.ReplaceAllAction,precondition:Mp,handler:n=>n.replaceAll(),kbOpts:{weight:105,kbExpr:ne.focus,primary:2563}})),gt(new nm({id:lr.ReplaceAllAction,precondition:Mp,handler:n=>n.replaceAll(),kbOpts:{weight:105,kbExpr:Oe.and(ne.focus,j8),primary:void 0,mac:{primary:2051}}})),gt(new nm({id:lr.SelectAllMatchesAction,precondition:Mp,handler:n=>n.selectAllMatches(),kbOpts:{weight:105,kbExpr:ne.focus,primary:515}}));const Gkt={0:" ",1:"u",2:"r"},E_e=65535,im=16777215,R_e=4278190080;class oj{constructor(e){const t=Math.ceil(e/32);this._states=new Uint32Array(t)}get(e){const t=e/32|0,i=e%32;return(this._states[t]&1<E_e)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new oj(e.length),this._userDefinedStates=new oj(e.length),this._recoveredStates=new oj(e.length),this._types=i,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;const e=[],t=(i,r)=>{const o=e[e.length-1];return this.getStartLineNumber(o)<=i&&this.getEndLineNumber(o)>=r};for(let i=0,r=this._startIndexes.length;iim||s>im)throw new Error("startLineNumber or endLineNumber must not exceed "+im);for(;e.length>0&&!t(o,s);)e.pop();const a=e.length>0?e[e.length-1]:-1;e.push(i),this._startIndexes[i]=o+((a&255)<<24),this._endIndexes[i]=s+((a&65280)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(e){return this._startIndexes[e]&im}getEndLineNumber(e){return this._endIndexes[e]&im}getType(e){return this._types?this._types[e]:void 0}hasTypes(){return!!this._types}isCollapsed(e){return this._collapseStates.get(e)}setCollapsed(e,t){this._collapseStates.set(e,t)}isUserDefined(e){return this._userDefinedStates.get(e)}setUserDefined(e,t){return this._userDefinedStates.set(e,t)}isRecovered(e){return this._recoveredStates.get(e)}setRecovered(e,t){return this._recoveredStates.set(e,t)}getSource(e){return this.isUserDefined(e)?1:this.isRecovered(e)?2:0}setSource(e,t){t===1?(this.setUserDefined(e,!0),this.setRecovered(e,!1)):t===2?(this.setUserDefined(e,!1),this.setRecovered(e,!0)):(this.setUserDefined(e,!1),this.setRecovered(e,!1))}setCollapsedAllOfType(e,t){let i=!1;if(this._types)for(let r=0;r>>24)+((this._endIndexes[e]&R_e)>>>16);return t===E_e?-1:t}contains(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t}findIndex(e){let t=0,i=this._startIndexes.length;if(i===0)return-1;for(;t=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);t!==-1;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1}toString(){const e=[];for(let t=0;tArray.isArray(g)?y=>yy=c.startLineNumber))u&&u.startLineNumber===c.startLineNumber?(c.source===1?g=c:(g=u,g.isCollapsed=c.isCollapsed&&u.endLineNumber===c.endLineNumber,g.source=0),u=o(++a)):(g=c,c.isCollapsed&&c.source===0&&(g.source=2)),c=s(++l);else{let b=l,y=c;for(;;){if(!y||y.startLineNumber>u.endLineNumber){g=u;break}if(y.source===1&&y.endLineNumber>u.endLineNumber)break;y=s(++b)}u=o(++a)}if(g){for(;h&&h.endLineNumberg.startLineNumber&&g.startLineNumber>m&&g.endLineNumber<=i&&(!h||h.endLineNumber>=g.endLineNumber)&&(f.push(g),m=g.startLineNumber,h&&d.push(h),h=g)}}return f}}class Xkt{constructor(e,t){this.ranges=e,this.index=t}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(e){return e.startLineNumber<=this.startLineNumber&&e.endLineNumber>=this.endLineNumber}containsLine(e){return this.startLineNumber<=e&&e<=this.endLineNumber}}class Pkt{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new be,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new ec(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(e){if(!e.length)return;e=e.sort((i,r)=>i.regionIndex-r.regionIndex);const t={};this._decorationProvider.changeDecorations(i=>{let r=0,o=-1,s=-1;const a=l=>{for(;rs&&(s=u),r++}};for(const l of e){const u=l.regionIndex,c=this._editorDecorationIds[u];if(c&&!t[c]){t[c]=!0,a(u);const d=!this._regions.isCollapsed(u);this._regions.setCollapsed(u,d),o=Math.max(o,this._regions.getEndLineNumber(u))}}a(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:e})}removeManualRanges(e){const t=new Array,i=r=>{for(const o of e)if(!(o.startLineNumber>r.endLineNumber||r.startLineNumber>o.endLineNumber))return!0;return!1};for(let r=0;ri&&(i=a)}this._decorationProvider.changeDecorations(r=>this._editorDecorationIds=r.deltaDecorations(this._editorDecorationIds,t)),this._regions=e,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(e=[]){const t=(r,o)=>{for(const s of e)if(r=s.endLineNumber||s.startLineNumber<1||s.endLineNumber>i)continue;const a=this._getLinesChecksum(s.startLineNumber+1,s.endLineNumber);t.push({startLineNumber:s.startLineNumber,endLineNumber:s.endLineNumber,isCollapsed:s.isCollapsed,source:s.source,checksum:a})}return t.length>0?t:void 0}applyMemento(e){var t,i;if(!Array.isArray(e))return;const r=[],o=this._textModel.getLineCount();for(const a of e){if(a.startLineNumber>=a.endLineNumber||a.startLineNumber<1||a.endLineNumber>o)continue;const l=this._getLinesChecksum(a.startLineNumber+1,a.endLineNumber);(!a.checksum||l===a.checksum)&&r.push({startLineNumber:a.startLineNumber,endLineNumber:a.endLineNumber,type:void 0,isCollapsed:(t=a.isCollapsed)!==null&&t!==void 0?t:!0,source:(i=a.source)!==null&&i!==void 0?i:0})}const s=ec.sanitizeAndMerge(this._regions,r,o);this.updatePost(ec.fromFoldRanges(s))}_getLinesChecksum(e,t){return e9(this._textModel.getLineContent(e)+this._textModel.getLineContent(t))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(e,t){const i=[];if(this._regions){let r=this._regions.findRange(e),o=1;for(;r>=0;){const s=this._regions.toRegion(r);(!t||t(s,o))&&i.push(s),o++,r=s.parentIndex}}return i}getRegionAtLine(e){if(this._regions){const t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null}getRegionsInside(e,t){const i=[],r=e?e.regionIndex+1:0,o=e?e.endLineNumber:Number.MAX_VALUE;if(t&&t.length===2){const s=[];for(let a=r,l=this._regions.length;a0&&!u.containedBy(s[s.length-1]);)s.pop();s.push(u),t(u,s.length)&&i.push(u)}else break}}else for(let s=r,a=this._regions.length;s1){const a=n.getRegionsInside(o,(l,u)=>l.isCollapsed!==s&&u0)for(const o of i){const s=n.getRegionAtLine(o);if(s&&(s.isCollapsed!==e&&r.push(s),t>1)){const a=n.getRegionsInside(s,(l,u)=>l.isCollapsed!==e&&us.isCollapsed!==e&&aa.isCollapsed!==e&&l<=t);r.push(...s)}n.toggleCollapseState(r)}function Okt(n,e,t){const i=[];for(const r of t){const o=n.getAllRegionsAtLine(r,s=>s.isCollapsed!==e);o.length>0&&i.push(o[0])}n.toggleCollapseState(i)}function Bkt(n,e,t,i){const r=(s,a)=>a===e&&s.isCollapsed!==t&&!i.some(l=>s.containsLine(l)),o=n.getRegionsInside(null,r);n.toggleCollapseState(o)}function A_e(n,e,t){const i=[];for(const s of t){const a=n.getAllRegionsAtLine(s,void 0);a.length>0&&i.push(a[0])}const r=s=>i.every(a=>!a.containedBy(s)&&!s.containedBy(a))&&s.isCollapsed!==e,o=n.getRegionsInside(null,r);n.toggleCollapseState(o)}function sj(n,e,t){const i=n.textModel,r=n.regions,o=[];for(let s=r.length-1;s>=0;s--)if(t!==r.isCollapsed(s)){const a=r.getStartLineNumber(s);e.test(i.getLineContent(a))&&o.push(r.toRegion(s))}n.toggleCollapseState(o)}function aj(n,e,t){const i=n.regions,r=[];for(let o=i.length-1;o>=0;o--)t!==i.isCollapsed(o)&&e===i.getType(o)&&r.push(i.toRegion(o));n.toggleCollapseState(r)}function zkt(n,e){let t=null;const i=e.getRegionAtLine(n);if(i!==null&&(t=i.startLineNumber,n===t)){const r=i.parentIndex;r!==-1?t=e.regions.getStartLineNumber(r):t=null}return t}function Hkt(n,e){let t=e.getRegionAtLine(n);if(t!==null&&t.startLineNumber===n){if(n!==t.startLineNumber)return t.startLineNumber;{const i=t.parentIndex;let r=0;for(i!==-1&&(r=e.regions.getStartLineNumber(t.parentIndex));t!==null;)if(t.regionIndex>0){if(t=e.regions.toRegion(t.regionIndex-1),t.startLineNumber<=r)return null;if(t.parentIndex===i)return t.startLineNumber}else return null}}else if(e.regions.length>0)for(t=e.regions.toRegion(e.regions.length-1);t!==null;){if(t.startLineNumber0?t=e.regions.toRegion(t.regionIndex-1):t=null}return null}function Ykt(n,e){let t=e.getRegionAtLine(n);if(t!==null&&t.startLineNumber===n){const i=t.parentIndex;let r=0;if(i!==-1)r=e.regions.getEndLineNumber(t.parentIndex);else{if(e.regions.length===0)return null;r=e.regions.getEndLineNumber(e.regions.length-1)}for(;t!==null;)if(t.regionIndex=r)return null;if(t.parentIndex===i)return t.startLineNumber}else return null}else if(e.regions.length>0)for(t=e.regions.toRegion(0);t!==null;){if(t.startLineNumber>n)return t.startLineNumber;t.regionIndexthis.updateHiddenRanges()),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(e){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=e.changes.some(t=>t.range.endLineNumber!==t.range.startLineNumber||h0(t.text)[0]!==0))}updateHiddenRanges(){let e=!1;const t=[];let i=0,r=0,o=Number.MAX_VALUE,s=-1;const a=this._foldingModel.regions;for(;i0}isHidden(e){return V_e(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let r=null;const o=s=>((!r||!Kkt(s,r))&&(r=V_e(this._hiddenRanges,s)),r?r.startLineNumber-1:null);for(let s=0,a=e.length;s0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function Kkt(n,e){return n>=e.startLineNumber&&n<=e.endLineNumber}function V_e(n,e){const t=jF(n,i=>e=0&&n[t].endLineNumber>=e?n[t]:null}const Jkt=5e3,jkt="indent";class lj{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=jkt}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,r=t&&t.markers;return Promise.resolve(qkt(this.editorModel,i,r,this.foldingRangesLimit))}}let Qkt=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>im||t>im)return;const r=this._length;this._startIndexes[r]=e,this._endIndexes[r]=t,this._length++,i<1e3&&(this._indentOccurrences[i]=(this._indentOccurrences[i]||0)+1)}toIndentRanges(e){const t=this._foldingRangesLimit.limit;if(this._length<=t){this._foldingRangesLimit.update(this._length,!1);const i=new Uint32Array(this._length),r=new Uint32Array(this._length);for(let o=this._length-1,s=0;o>=0;o--,s++)i[s]=this._startIndexes[o],r[s]=this._endIndexes[o];return new ec(i,r)}else{this._foldingRangesLimit.update(this._length,t);let i=0,r=this._indentOccurrences.length;for(let l=0;lt){r=l;break}i+=u}}const o=e.getOptions().tabSize,s=new Uint32Array(t),a=new Uint32Array(t);for(let l=this._length-1,u=0;l>=0;l--){const c=this._startIndexes[l],d=e.getLineContent(c),h=DZ(d,o);(h{}};function qkt(n,e,t,i=$kt){const r=n.getOptions().tabSize,o=new Qkt(i);let s;t&&(s=new RegExp(`(${t.start.source})|(?:${t.end.source})`));const a=[],l=n.getLineCount()+1;a.push({indent:-1,endAbove:l,line:l});for(let u=n.getLineCount();u>0;u--){const c=n.getLineContent(u),d=DZ(c,r);let h=a[a.length-1];if(d===-1){e&&(h.endAbove=u);continue}let m;if(s&&(m=c.match(s)))if(m[1]){let f=a.length-1;for(;f>0&&a[f].indent!==-2;)f--;if(f>0){a.length=f+1,h=a[f],o.insertFirst(u,h.line,d),h.line=u,h.indent=d,h.endAbove=u;continue}}else{a.push({indent:-2,endAbove:u,line:u});continue}if(h.indent>d){do a.pop(),h=a[a.length-1];while(h.indent>d);const f=h.endAbove-1;f-u>=1&&o.insertFirst(u,f,d)}h.indent===d?h.endAbove=u:a.push({indent:d,endAbove:u,line:u})}return o.toIndentRanges(n)}const eTt=re("editor.foldBackground",{light:zt(r0,.3),dark:zt(r0,.3),hcDark:null,hcLight:null},_("foldBackgroundBackground","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);re("editorGutter.foldingControlForeground",{dark:$m,light:$m,hcDark:$m,hcLight:$m},_("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const bA=so("folding-expanded",ut.chevronDown,_("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),yA=so("folding-collapsed",ut.chevronRight,_("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),G_e=so("folding-manual-collapsed",yA,_("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),X_e=so("folding-manual-expanded",bA,_("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),uj={color:zr(eTt),position:1},hx=_("linesCollapsed","Click to expand the range."),vA=_("linesExpanded","Click to collapse the range.");class ko{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?ko.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?ko.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:ko.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:ko.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?ko.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:ko.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?ko.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:ko.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?ko.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:ko.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?ko.MANUALLY_EXPANDED_VISUAL_DECORATION:ko.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}}ko.COLLAPSED_VISUAL_DECORATION=vn.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:hx,firstLineDecorationClassName:sn.asClassName(yA)}),ko.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=vn.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:uj,isWholeLine:!0,linesDecorationsTooltip:hx,firstLineDecorationClassName:sn.asClassName(yA)}),ko.MANUALLY_COLLAPSED_VISUAL_DECORATION=vn.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:hx,firstLineDecorationClassName:sn.asClassName(G_e)}),ko.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=vn.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:uj,isWholeLine:!0,linesDecorationsTooltip:hx,firstLineDecorationClassName:sn.asClassName(G_e)}),ko.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=vn.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:hx}),ko.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=vn.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:uj,isWholeLine:!0,linesDecorationsTooltip:hx}),ko.EXPANDED_VISUAL_DECORATION=vn.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+sn.asClassName(bA),linesDecorationsTooltip:vA}),ko.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=vn.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:sn.asClassName(bA),linesDecorationsTooltip:vA}),ko.MANUALLY_EXPANDED_VISUAL_DECORATION=vn.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+sn.asClassName(X_e),linesDecorationsTooltip:vA}),ko.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=vn.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:sn.asClassName(X_e),linesDecorationsTooltip:vA}),ko.NO_CONTROLS_EXPANDED_RANGE_DECORATION=vn.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),ko.HIDDEN_RANGE_DECORATION=vn.register({description:"folding-hidden-range-decoration",stickiness:1});const tTt={},nTt="syntax";class cj{constructor(e,t,i,r,o){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=r,this.fallbackRangeProvider=o,this.id=nTt,this.disposables=new Je,o&&this.disposables.add(o);for(const s of t)typeof s.onDidChange=="function"&&this.disposables.add(s.onDidChange(i))}compute(e){return iTt(this.providers,this.editorModel,e).then(t=>{var i,r;return t?oTt(t,this.foldingRangesLimit):(r=(i=this.fallbackRangeProvider)===null||i===void 0?void 0:i.compute(e))!==null&&r!==void 0?r:null})}dispose(){this.disposables.dispose()}}function iTt(n,e,t){let i=null;const r=n.map((o,s)=>Promise.resolve(o.provideFoldingRanges(e,tTt,t)).then(a=>{if(!t.isCancellationRequested&&Array.isArray(a)){Array.isArray(i)||(i=[]);const l=e.getLineCount();for(const u of a)u.start>0&&u.end>u.start&&u.end<=l&&i.push({start:u.start,end:u.end,rank:s,kind:u.kind})}},qr));return Promise.all(r).then(o=>i)}class rTt{constructor(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}add(e,t,i,r){if(e>im||t>im)return;const o=this._length;this._startIndexes[o]=e,this._endIndexes[o]=t,this._nestingLevels[o]=r,this._types[o]=i,this._length++,r<30&&(this._nestingLevelCounts[r]=(this._nestingLevelCounts[r]||0)+1)}toIndentRanges(){const e=this._foldingRangesLimit.limit;if(this._length<=e){this._foldingRangesLimit.update(this._length,!1);const t=new Uint32Array(this._length),i=new Uint32Array(this._length);for(let r=0;re){i=a;break}t+=l}}const r=new Uint32Array(e),o=new Uint32Array(e),s=[];for(let a=0,l=0;a{let l=s.start-a.start;return l===0&&(l=s.rank-a.rank),l}),i=new rTt(e);let r;const o=[];for(const s of t)if(!r)r=s,i.add(s.start,s.end,s.kind&&s.kind.value,o.length);else if(s.start>r.start)if(s.end<=r.end)o.push(r),r=s,i.add(s.start,s.end,s.kind&&s.kind.value,o.length);else{if(s.start>r.end){do r=o.pop();while(r&&s.start>r.end);r&&o.push(r),r=s}i.add(s.start,s.end,s.kind&&s.kind.value,o.length)}return i.toIndentRanges()}var sTt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},BN=function(n,e){return function(t,i){e(t,i,n)}},mx;const wa=new St("foldingEnabled",!1);let Tp=mx=class extends Fe{static get(e){return e.getContribution(mx.ID)}static getFoldingRangeProviders(e,t){var i,r;const o=e.foldingRangeProvider.ordered(t);return(r=(i=mx._foldingRangeSelector)===null||i===void 0?void 0:i.call(mx,o,t))!==null&&r!==void 0?r:o}constructor(e,t,i,r,o,s){super(),this.contextKeyService=t,this.languageConfigurationService=i,this.languageFeaturesService=s,this.localToDispose=this._register(new Je),this.editor=e,this._foldingLimitReporter=new P_e(e);const a=this.editor.getOptions();this._isEnabled=a.get(43),this._useFoldingProviders=a.get(44)!=="indentation",this._unfoldOnClickAfterEndOfLine=a.get(48),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=a.get(46),this.updateDebounceInfo=o.for(s.foldingRangeProvider,"Folding",{min:200}),this.foldingModel=null,this.hiddenRangeModel=null,this.rangeProvider=null,this.foldingRegionPromise=null,this.foldingModelPromise=null,this.updateScheduler=null,this.cursorChangedScheduler=null,this.mouseDownInfo=null,this.foldingDecorationProvider=new ko(e),this.foldingDecorationProvider.showFoldingControls=a.get(110),this.foldingDecorationProvider.showFoldingHighlights=a.get(45),this.foldingEnabled=wa.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(l=>{if(l.hasChanged(43)&&(this._isEnabled=this.editor.getOptions().get(43),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),l.hasChanged(47)&&this.onModelChanged(),l.hasChanged(110)||l.hasChanged(45)){const u=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=u.get(110),this.foldingDecorationProvider.showFoldingHighlights=u.get(45),this.triggerFoldingModelChanged()}l.hasChanged(44)&&(this._useFoldingProviders=this.editor.getOptions().get(44)!=="indentation",this.onFoldingStrategyChanged()),l.hasChanged(48)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(48)),l.hasChanged(46)&&(this._foldingImportsByDefault=this.editor.getOptions().get(46))})),this.onModelChanged()}saveViewState(){const e=this.editor.getModel();if(!e||!this._isEnabled||e.isTooLargeForTokenization())return{};if(this.foldingModel){const t=this.foldingModel.getMemento(),i=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:i,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(e){const t=this.editor.getModel();if(!(!t||!this._isEnabled||t.isTooLargeForTokenization()||!this.hiddenRangeModel)&&e&&(this._currentModelHasFoldedImports=!!e.foldedImports,e.collapsedRegions&&e.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(e.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();const e=this.editor.getModel();!this._isEnabled||!e||e.isTooLargeForTokenization()||(this._currentModelHasFoldedImports=!1,this.foldingModel=new Pkt(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new Ukt(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(t=>this.onHiddenRangesChanges(t))),this.updateScheduler=new Ld(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new Wi(()=>this.revealCursor(),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelContent(t=>this.onDidChangeModelContent(t))),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown(t=>this.onEditorMouseDown(t))),this.localToDispose.add(this.editor.onMouseUp(t=>this.onEditorMouseUp(t))),this.localToDispose.add({dispose:()=>{var t,i;this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),(t=this.updateScheduler)===null||t===void 0||t.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,(i=this.rangeProvider)===null||i===void 0||i.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){var e;(e=this.rangeProvider)===null||e===void 0||e.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(e){if(this.rangeProvider)return this.rangeProvider;const t=new lj(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const i=mx.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new cj(e,i,()=>this.triggerFoldingModelChanged(),this._foldingLimitReporter,t))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(e){var t;(t=this.hiddenRangeModel)===null||t===void 0||t.notifyChangeModelContent(e),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger(()=>{const e=this.foldingModel;if(!e)return null;const t=new Js,i=this.getRangeProvider(e.textModel),r=this.foldingRegionPromise=rs(o=>i.compute(o));return r.then(o=>{if(o&&r===this.foldingRegionPromise){let s;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const c=o.setCollapsedAllOfType(Ed.Imports.value,!0);c&&(s=zh.capture(this.editor),this._currentModelHasFoldedImports=c)}const a=this.editor.getSelections(),l=a?a.map(c=>c.startLineNumber):[];e.update(o,l),s==null||s.restore(this.editor);const u=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=u)}return e})}).then(void 0,e=>(yn(e),null)))}onHiddenRangesChanges(e){if(this.hiddenRangeModel&&e.length&&!this._restoringViewState){const t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(e,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const e=this.getFoldingModel();e&&e.then(t=>{if(t){const i=this.editor.getSelections();if(i&&i.length>0){const r=[];for(const o of i){const s=o.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(s)&&r.push(...t.getAllRegionsAtLine(s,a=>a.isCollapsed&&s>a.startLineNumber))}r.length&&(t.toggleCollapseState(r),this.reveal(i[0].getPosition()))}}}).then(void 0,yn)}onEditorMouseDown(e){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!e.target||!e.target.range||!e.event.leftButton&&!e.event.middleButton)return;const t=e.target.range;let i=!1;switch(e.target.type){case 4:{const r=e.target.detail,o=e.target.element.offsetLeft;if(r.offsetX-o<4)return;i=!0;break}case 7:{if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!e.target.detail.isAfterLines)break;return}case 6:{if(this.hiddenRangeModel.hasRanges()){const r=this.editor.getModel();if(r&&t.startColumn===r.getLineMaxColumn(t.startLineNumber))break}return}default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:i}}onEditorMouseUp(e){const t=this.foldingModel;if(!t||!this.mouseDownInfo||!e.target)return;const i=this.mouseDownInfo.lineNumber,r=this.mouseDownInfo.iconClicked,o=e.target.range;if(!o||o.startLineNumber!==i)return;if(r){if(e.target.type!==4)return}else{const a=this.editor.getModel();if(!a||o.startColumn!==a.getLineMaxColumn(i))return}const s=t.getRegionAtLine(i);if(s&&s.startLineNumber===i){const a=s.isCollapsed;if(r||a){const l=e.event.altKey;let u=[];if(l){const c=h=>!h.containedBy(s)&&!s.containedBy(h),d=t.getRegionsInside(null,c);for(const h of d)h.isCollapsed&&u.push(h);u.length===0&&(u=d)}else{const c=e.event.middleButton||e.event.shiftKey;if(c)for(const d of t.getRegionsInside(s))d.isCollapsed===a&&u.push(d);(a||!c||u.length===0)&&u.push(s)}t.toggleCollapseState(u),this.reveal({lineNumber:i,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}};Tp.ID="editor.contrib.folding",Tp=mx=sTt([BN(1,ln),BN(2,er),BN(3,Mo),BN(4,Qc),BN(5,Rt)],Tp);class P_e{constructor(e){this.editor=e,this._onDidChange=new be,this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(47)}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}class Ea extends Nt{runEditorCommand(e,t,i){const r=e.get(er),o=Tp.get(t);if(!o)return;const s=o.getFoldingModel();if(s)return this.reportTelemetry(e,t),s.then(a=>{if(a){this.invoke(o,a,t,i,r);const l=t.getSelection();l&&o.reveal(l.getStartPosition())}})}getSelectedLines(e){const t=e.getSelections();return t?t.map(i=>i.startLineNumber):[]}getLineNumbers(e,t){return e&&e.selectionLines?e.selectionLines.map(i=>i+1):this.getSelectedLines(t)}run(e,t){}}function O_e(n){if(!iu(n)){if(!Ua(n))return!1;const e=n;if(!iu(e.levels)&&!Wb(e.levels)||!iu(e.direction)&&!Nl(e.direction)||!iu(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(Wb)))return!1}return!0}class aTt extends Ea{constructor(){super({id:"editor.unfold",label:_("unfoldAction.label","Unfold"),alias:"Unfold",precondition:wa,kbOpts:{kbExpr:ne.editorTextFocus,primary:3166,mac:{primary:2654},weight:100},metadata:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:`Property-value pairs that can be passed through this argument: * 'levels': Number of levels to unfold. If not set, defaults to 1. * 'direction': If 'up', unfold given number of levels up otherwise unfolds down. * 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used. - `,constraint:OLe,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,r){const o=r&&r.levels||1,s=this.getLineNumbers(r,i);r&&r.direction==="up"?RLe(t,!1,o,s):dx(t,!1,o,s)}}class lTt extends Ea{constructor(){super({id:"editor.unfoldRecursively",label:L("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:Sa,kbOpts:{kbExpr:ne.editorTextFocus,primary:Wo(2089,2142),weight:100}})}invoke(e,t,i,r){dx(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class uTt extends Ea{constructor(){super({id:"editor.fold",label:L("foldAction.label","Fold"),alias:"Fold",precondition:Sa,kbOpts:{kbExpr:ne.editorTextFocus,primary:3164,mac:{primary:2652},weight:100},metadata:{description:"Fold the content in the editor",args:[{name:"Fold editor argument",description:`Property-value pairs that can be passed through this argument: + `,constraint:O_e,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,r){const o=r&&r.levels||1,s=this.getLineNumbers(r,i);r&&r.direction==="up"?W_e(t,!1,o,s):dx(t,!1,o,s)}}class lTt extends Ea{constructor(){super({id:"editor.unfoldRecursively",label:_("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:wa,kbOpts:{kbExpr:ne.editorTextFocus,primary:Zo(2089,2142),weight:100}})}invoke(e,t,i,r){dx(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class uTt extends Ea{constructor(){super({id:"editor.fold",label:_("foldAction.label","Fold"),alias:"Fold",precondition:wa,kbOpts:{kbExpr:ne.editorTextFocus,primary:3164,mac:{primary:2652},weight:100},metadata:{description:"Fold the content in the editor",args:[{name:"Fold editor argument",description:`Property-value pairs that can be passed through this argument: * 'levels': Number of levels to fold. * 'direction': If 'up', folds given number of levels up otherwise folds down. * 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used. If no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead. - `,constraint:OLe,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,r){const o=this.getLineNumbers(r,i),s=r&&r.levels,a=r&&r.direction;typeof s!="number"&&typeof a!="string"?ONt(t,!0,o):a==="up"?RLe(t,!0,s||1,o):dx(t,!0,s||1,o)}}class cTt extends Ea{constructor(){super({id:"editor.toggleFold",label:L("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:Sa,kbOpts:{kbExpr:ne.editorTextFocus,primary:Wo(2089,2090),weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);WLe(t,1,r)}}class dTt extends Ea{constructor(){super({id:"editor.foldRecursively",label:L("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:Sa,kbOpts:{kbExpr:ne.editorTextFocus,primary:Wo(2089,2140),weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);dx(t,!0,Number.MAX_VALUE,r)}}class hTt extends Ea{constructor(){super({id:"editor.foldAllBlockComments",label:L("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:Sa,kbOpts:{kbExpr:ne.editorTextFocus,primary:Wo(2089,2138),weight:100}})}invoke(e,t,i,r,o){if(t.regions.hasTypes())aj(t,Zd.Comment.value,!0);else{const s=i.getModel();if(!s)return;const a=o.getLanguageConfiguration(s.getLanguageId()).comments;if(a&&a.blockCommentStartToken){const l=new RegExp("^\\s*"+Ru(a.blockCommentStartToken));sj(t,l,!0)}}}}class mTt extends Ea{constructor(){super({id:"editor.foldAllMarkerRegions",label:L("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:Sa,kbOpts:{kbExpr:ne.editorTextFocus,primary:Wo(2089,2077),weight:100}})}invoke(e,t,i,r,o){if(t.regions.hasTypes())aj(t,Zd.Region.value,!0);else{const s=i.getModel();if(!s)return;const a=o.getLanguageConfiguration(s.getLanguageId()).foldingRules;if(a&&a.markers&&a.markers.start){const l=new RegExp(a.markers.start);sj(t,l,!0)}}}}class fTt extends Ea{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:L("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:Sa,kbOpts:{kbExpr:ne.editorTextFocus,primary:Wo(2089,2078),weight:100}})}invoke(e,t,i,r,o){if(t.regions.hasTypes())aj(t,Zd.Region.value,!1);else{const s=i.getModel();if(!s)return;const a=o.getLanguageConfiguration(s.getLanguageId()).foldingRules;if(a&&a.markers&&a.markers.start){const l=new RegExp(a.markers.start);sj(t,l,!1)}}}}class gTt extends Ea{constructor(){super({id:"editor.foldAllExcept",label:L("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:Sa,kbOpts:{kbExpr:ne.editorTextFocus,primary:Wo(2089,2136),weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);VLe(t,!0,r)}}class pTt extends Ea{constructor(){super({id:"editor.unfoldAllExcept",label:L("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:Sa,kbOpts:{kbExpr:ne.editorTextFocus,primary:Wo(2089,2134),weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);VLe(t,!1,r)}}class bTt extends Ea{constructor(){super({id:"editor.foldAll",label:L("foldAllAction.label","Fold All"),alias:"Fold All",precondition:Sa,kbOpts:{kbExpr:ne.editorTextFocus,primary:Wo(2089,2069),weight:100}})}invoke(e,t,i){dx(t,!0)}}class vTt extends Ea{constructor(){super({id:"editor.unfoldAll",label:L("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:Sa,kbOpts:{kbExpr:ne.editorTextFocus,primary:Wo(2089,2088),weight:100}})}invoke(e,t,i){dx(t,!1)}}class lC extends Ea{getFoldingLevel(){return parseInt(this.id.substr(lC.ID_PREFIX.length))}invoke(e,t,i){BNt(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}}lC.ID_PREFIX="editor.foldLevel",lC.ID=n=>lC.ID_PREFIX+n;class yTt extends Ea{constructor(){super({id:"editor.gotoParentFold",label:L("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:Sa,kbOpts:{kbExpr:ne.editorTextFocus,weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);if(r.length>0){const o=zNt(r[0],t);o!==null&&i.setSelection({startLineNumber:o,startColumn:1,endLineNumber:o,endColumn:1})}}}class CTt extends Ea{constructor(){super({id:"editor.gotoPreviousFold",label:L("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:Sa,kbOpts:{kbExpr:ne.editorTextFocus,weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);if(r.length>0){const o=HNt(r[0],t);o!==null&&i.setSelection({startLineNumber:o,startColumn:1,endLineNumber:o,endColumn:1})}}}class wTt extends Ea{constructor(){super({id:"editor.gotoNextFold",label:L("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:Sa,kbOpts:{kbExpr:ne.editorTextFocus,weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);if(r.length>0){const o=YNt(r[0],t);o!==null&&i.setSelection({startLineNumber:o,startColumn:1,endLineNumber:o,endColumn:1})}}}class STt extends Ea{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:L("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:Sa,kbOpts:{kbExpr:ne.editorTextFocus,primary:Wo(2089,2135),weight:100}})}invoke(e,t,i){var r;const o=[],s=i.getSelections();if(s){for(const a of s){let l=a.endLineNumber;a.endColumn===1&&--l,l>a.startLineNumber&&(o.push({startLineNumber:a.startLineNumber,endLineNumber:l,type:void 0,isCollapsed:!0,source:1}),i.setSelection({startLineNumber:a.startLineNumber,startColumn:1,endLineNumber:a.startLineNumber,endColumn:1}))}if(o.length>0){o.sort((l,u)=>l.startLineNumber-u.startLineNumber);const a=ec.sanitizeAndMerge(t.regions,o,(r=i.getModel())===null||r===void 0?void 0:r.getLineCount());t.updatePost(ec.fromFoldRanges(a))}}}}class xTt extends Ea{constructor(){super({id:"editor.removeManualFoldingRanges",label:L("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:Sa,kbOpts:{kbExpr:ne.editorTextFocus,primary:Wo(2089,2137),weight:100}})}invoke(e,t,i){const r=i.getSelections();if(r){const o=[];for(const s of r){const{startLineNumber:a,endLineNumber:l}=s;o.push(l>=a?{startLineNumber:a,endLineNumber:l}:{endLineNumber:l,startLineNumber:a})}t.removeManualRanges(o),e.triggerFoldingModelChanged()}}}yi(Tp.ID,Tp,0),tt(aTt),tt(lTt),tt(uTt),tt(dTt),tt(bTt),tt(vTt),tt(hTt),tt(mTt),tt(fTt),tt(gTt),tt(pTt),tt(cTt),tt(yTt),tt(CTt),tt(wTt),tt(STt),tt(xTt);for(let n=1;n<=7;n++)cgt(new lC({id:lC.ID(n),label:L("foldLevelAction.label","Fold Level {0}",n),alias:`Fold Level ${n}`,precondition:Sa,kbOpts:{kbExpr:ne.editorTextFocus,primary:Wo(2089,2048|21+n),weight:100}}));$n.registerCommand("_executeFoldingRangeProvider",async function(n,...e){const[t]=e;if(!(t instanceof en))throw Dc();const i=n.get(Zt),r=n.get(xr).getModel(t);if(!r)throw Dc();const o=n.get(Pn);if(!o.getValue("editor.folding",{resource:t}))return[];const s=n.get(tr),a=o.getValue("editor.foldingStrategy",{resource:t}),l={get limit(){return o.getValue("editor.foldingMaximumRegions",{resource:t})},update:(m,f)=>{}},u=new lj(r,s,l);let c=u;if(a!=="indentation"){const m=Tp.getFoldingRangeProviders(i,r);m.length&&(c=new cj(r,m,()=>{},l,u))}const d=await c.compute(Yn.None),h=[];try{if(d)for(let m=0;mCr.replace(J.lift(s.range),s.text))):e.executeEdits("formatEditsCommand",o.map(s=>Cr.replaceMove(J.lift(s.range),s.text))),i&&e.pushUndoStop(),r.restoreRelativeVerticalPositionOfCursor(e)}}class BLe{constructor(e){this.value=e,this._lower=e.toLowerCase()}static toKey(e){return typeof e=="string"?e.toLowerCase():e._lower}}class ITt{constructor(e){if(this._set=new Set,e)for(const t of e)this.add(t)}add(e){this._set.add(BLe.toKey(e))}has(e){return this._set.has(BLe.toKey(e))}}function zLe(n,e,t){const i=[],r=new ITt,o=n.ordered(t);for(const a of o)i.push(a),a.extensionId&&r.add(a.extensionId);const s=e.ordered(t);for(const a of s){if(a.extensionId){if(r.has(a.extensionId))continue;r.add(a.extensionId)}i.push({displayName:a.displayName,extensionId:a.extensionId,provideDocumentFormattingEdits(l,u,c){return a.provideDocumentRangeFormattingEdits(l,l.getFullModelRange(),u,c)}})}return i}class uC{static setFormatterSelector(e){return{dispose:uC._selectors.unshift(e)}}static async select(e,t,i,r){if(e.length===0)return;const o=Qn.first(uC._selectors);if(o)return await o(e,t,i,r)}}uC._selectors=new ja;async function HLe(n,e,t,i,r,o,s){const a=n.get($t),{documentRangeFormattingEditProvider:l}=n.get(Zt),u=G0(e)?e.getModel():e,c=l.ordered(u),d=await uC.select(c,u,i,2);d&&(r.report(d),await a.invokeFunction(DTt,d,e,t,o,s))}async function DTt(n,e,t,i,r,o){var s,a;const l=n.get(Jc),u=n.get(tl),c=n.get(_0);let d,h;G0(t)?(d=t.getModel(),h=new T0(t,5,void 0,r)):(d=t,h=new lK(t,r));const m=[];let f=0;for(const S of UY(i).sort(J.compareRangesUsingStarts))f>0&&J.areIntersectingOrTouching(m[f-1],S)?m[f-1]=J.fromPositions(m[f-1].getStartPosition(),S.getEndPosition()):f=m.push(S);const g=async S=>{var x,_;u.trace("[format][provideDocumentRangeFormattingEdits] (request)",(x=e.extensionId)===null||x===void 0?void 0:x.value,S);const F=await e.provideDocumentRangeFormattingEdits(d,S,d.getFormattingOptions(),h.token)||[];return u.trace("[format][provideDocumentRangeFormattingEdits] (response)",(_=e.extensionId)===null||_===void 0?void 0:_.value,F),F},b=(S,x)=>{if(!S.length||!x.length)return!1;const _=S.reduce((F,D)=>J.plusRange(F,D.range),S[0].range);if(!x.some(F=>J.intersectRanges(_,F.range)))return!1;for(const F of S)for(const D of x)if(J.intersectRanges(F.range,D.range))return!0;return!1},v=[],C=[];try{if(typeof e.provideDocumentRangesFormattingEdits=="function"){u.trace("[format][provideDocumentRangeFormattingEdits] (request)",(s=e.extensionId)===null||s===void 0?void 0:s.value,m);const S=await e.provideDocumentRangesFormattingEdits(d,m,d.getFormattingOptions(),h.token)||[];u.trace("[format][provideDocumentRangeFormattingEdits] (response)",(a=e.extensionId)===null||a===void 0?void 0:a.value,S),C.push(S)}else{for(const S of m){if(h.token.isCancellationRequested)return!0;C.push(await g(S))}for(let S=0;S({text:_.text,range:J.lift(_.range),forceMoveMarkers:!0})),_=>{for(const{range:F}of _)if(J.areIntersectingOrTouching(F,x))return[new Wt(F.startLineNumber,F.startColumn,F.endLineNumber,F.endColumn)];return null})}return c.playSignal(xn.format,{userGesture:o}),!0}async function MTt(n,e,t,i,r,o){const s=n.get($t),a=n.get(Zt),l=G0(e)?e.getModel():e,u=zLe(a.documentFormattingEditProvider,a.documentRangeFormattingEditProvider,l),c=await uC.select(u,l,t,1);c&&(i.report(c),await s.invokeFunction(kTt,c,e,t,r,o))}async function kTt(n,e,t,i,r,o){const s=n.get(Jc),a=n.get(_0);let l,u;G0(t)?(l=t.getModel(),u=new T0(t,5,void 0,r)):(l=t,u=new lK(t,r));let c;try{const d=await e.provideDocumentFormattingEdits(l,l.getFormattingOptions(),u.token);if(c=await s.computeMoreMinimalEdits(l.uri,d),u.token.isCancellationRequested)return!0}finally{u.dispose()}if(!c||c.length===0)return!1;if(G0(t))fx.execute(t,c,i!==2),i!==2&&t.revealPositionInCenterIfOutsideViewport(t.getPosition(),1);else{const[{range:d}]=c,h=new Wt(d.startLineNumber,d.startColumn,d.endLineNumber,d.endColumn);l.pushEditOperations([h],c.map(m=>({text:m.text,range:J.lift(m.range),forceMoveMarkers:!0})),m=>{for(const{range:f}of m)if(J.areIntersectingOrTouching(f,h))return[new Wt(f.startLineNumber,f.startColumn,f.endLineNumber,f.endColumn)];return null})}return a.playSignal(xn.format,{userGesture:o}),!0}async function NTt(n,e,t,i,r,o){const s=e.documentRangeFormattingEditProvider.ordered(t);for(const a of s){const l=await Promise.resolve(a.provideDocumentRangeFormattingEdits(t,i,r,o)).catch(qr);if(ga(l))return await n.computeMoreMinimalEdits(t.uri,l)}}async function TTt(n,e,t,i,r){const o=zLe(e.documentFormattingEditProvider,e.documentRangeFormattingEditProvider,t);for(const s of o){const a=await Promise.resolve(s.provideDocumentFormattingEdits(t,i,r)).catch(qr);if(ga(a))return await n.computeMoreMinimalEdits(t.uri,a)}}function YLe(n,e,t,i,r,o,s){const a=e.onTypeFormattingEditProvider.ordered(t);return a.length===0||a[0].autoFormatTriggerCharacters.indexOf(r)<0?Promise.resolve(void 0):Promise.resolve(a[0].provideOnTypeFormattingEdits(t,i,r,o,s)).catch(qr).then(l=>n.computeMoreMinimalEdits(t.uri,l))}$n.registerCommand("_executeFormatRangeProvider",async function(n,...e){const[t,i,r]=e;hi(en.isUri(t)),hi(J.isIRange(i));const o=n.get(Nl),s=n.get(Jc),a=n.get(Zt),l=await o.createModelReference(t);try{return NTt(s,a,l.object.textEditorModel,J.lift(i),r,Yn.None)}finally{l.dispose()}}),$n.registerCommand("_executeFormatDocumentProvider",async function(n,...e){const[t,i]=e;hi(en.isUri(t));const r=n.get(Nl),o=n.get(Jc),s=n.get(Zt),a=await r.createModelReference(t);try{return TTt(o,s,a.object.textEditorModel,i,Yn.None)}finally{a.dispose()}}),$n.registerCommand("_executeFormatOnTypeProvider",async function(n,...e){const[t,i,r,o]=e;hi(en.isUri(t)),hi(ye.isIPosition(i)),hi(typeof r=="string");const s=n.get(Nl),a=n.get(Jc),l=n.get(Zt),u=await s.createModelReference(t);try{return YLe(a,l,u.object.textEditorModel,ye.lift(i),r,o,Yn.None)}finally{u.dispose()}});var ULe=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},zM=function(n,e){return function(t,i){e(t,i,n)}};let HM=class{constructor(e,t,i,r){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._accessibilitySignalService=r,this._disposables=new Je,this._sessionDisposables=new Je,this._disposables.add(t.onTypeFormattingEditProvider.onDidChange(this._update,this)),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(o=>{o.hasChanged(56)&&this._update()})),this._update()}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(56)||!this._editor.hasModel())return;const e=this._editor.getModel(),[t]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(e);if(!t||!t.autoFormatTriggerCharacters)return;const i=new N9;for(const r of t.autoFormatTriggerCharacters)i.add(r.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType(r=>{const o=r.charCodeAt(r.length-1);i.has(o)&&this._trigger(String.fromCharCode(o))}))}_trigger(e){if(!this._editor.hasModel()||this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;const t=this._editor.getModel(),i=this._editor.getPosition(),r=new fo,o=this._editor.onDidChangeModelContent(s=>{if(s.isFlush){r.cancel(),o.dispose();return}for(let a=0,l=s.changes.length;a{r.token.isCancellationRequested||ga(s)&&(this._accessibilitySignalService.playSignal(xn.format,{userGesture:!1}),fx.execute(this._editor,s,!0))}).finally(()=>{o.dispose()})}};HM.ID="editor.contrib.autoFormat",HM=ULe([zM(1,Zt),zM(2,Jc),zM(3,_0)],HM);let YM=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new Je,this._callOnModel=new Je,this._callOnDispose.add(e.onDidChangeConfiguration(()=>this._update())),this._callOnDispose.add(e.onDidChangeModel(()=>this._update())),this._callOnDispose.add(e.onDidChangeModelLanguage(()=>this._update())),this._callOnDispose.add(t.documentRangeFormattingEditProvider.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){this._callOnModel.clear(),this.editor.getOption(55)&&this.editor.hasModel()&&this._languageFeaturesService.documentRangeFormattingEditProvider.has(this.editor.getModel())&&this._callOnModel.add(this.editor.onDidPaste(({range:e})=>this._trigger(e)))}_trigger(e){this.editor.hasModel()&&(this.editor.getSelections().length>1||this._instantiationService.invokeFunction(HLe,this.editor,e,2,bp.None,Yn.None,!1).catch(vn))}};YM.ID="editor.contrib.formatOnPaste",YM=ULe([zM(1,Zt),zM(2,$t)],YM);class ETt extends Mt{constructor(){super({id:"editor.action.formatDocument",label:L("formatDocument.label","Format Document"),alias:"Format Document",precondition:Oe.and(ne.notInCompositeEditor,ne.writable,ne.hasDocumentFormattingProvider),kbOpts:{kbExpr:ne.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}async run(e,t){if(t.hasModel()){const i=e.get($t);await e.get(M0).showWhile(i.invokeFunction(MTt,t,1,bp.None,Yn.None,!0),250)}}}class ZTt extends Mt{constructor(){super({id:"editor.action.formatSelection",label:L("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:Oe.and(ne.writable,ne.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:ne.editorTextFocus,primary:Wo(2089,2084),weight:100},contextMenuOpts:{when:ne.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(e,t){if(!t.hasModel())return;const i=e.get($t),r=t.getModel(),o=t.getSelections().map(a=>a.isEmpty()?new J(a.startLineNumber,1,a.startLineNumber,r.getLineMaxColumn(a.startLineNumber)):a);await e.get(M0).showWhile(i.invokeFunction(HLe,t,o,1,bp.None,Yn.None,!0),250)}}yi(HM.ID,HM,2),yi(YM.ID,YM,2),tt(ETt),tt(ZTt),$n.registerCommand("editor.action.format",async n=>{const e=n.get(vi).getFocusedCodeEditor();if(!e||!e.hasModel())return;const t=n.get(Xr);e.getSelection().isEmpty()?await t.executeCommand("editor.action.formatDocument"):await t.executeCommand("editor.action.formatSelection")});var WTt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},dj=function(n,e){return function(t,i){e(t,i,n)}};class gx{remove(){var e;(e=this.parent)===null||e===void 0||e.children.delete(this.id)}static findId(e,t){let i;typeof e=="string"?i=`${t.id}/${e}`:(i=`${t.id}/${e.name}`,t.children.get(i)!==void 0&&(i=`${t.id}/${e.name}_${e.range.startLineNumber}_${e.range.startColumn}`));let r=i;for(let o=0;t.children.get(r)!==void 0;o++)r=`${i}_${o}`;return r}static empty(e){return e.children.size===0}}class hj extends gx{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class KLe extends gx{constructor(e,t,i,r){super(),this.id=e,this.parent=t,this.label=i,this.order=r,this.children=new Map}}class Ep extends gx{static create(e,t,i){const r=new fo(i),o=new Ep(t.uri),s=e.ordered(t),a=s.map((u,c)=>{var d;const h=gx.findId(`provider_${c}`,o),m=new KLe(h,o,(d=u.displayName)!==null&&d!==void 0?d:"Unknown Outline Provider",c);return Promise.resolve(u.provideDocumentSymbols(t,r.token)).then(f=>{for(const g of f||[])Ep._makeOutlineElement(g,m);return m},f=>(qr(f),m)).then(f=>{gx.empty(f)?f.remove():o._groups.set(h,f)})}),l=e.onDidChange(()=>{const u=e.ordered(t);kr(u,s)||r.cancel()});return Promise.all(a).then(()=>r.token.isCancellationRequested&&!i.isCancellationRequested?Ep.create(e,t,i):o._compact()).finally(()=>{r.dispose(),l.dispose(),r.dispose()})}static _makeOutlineElement(e,t){const i=gx.findId(e,t),r=new hj(i,t,e);if(e.children)for(const o of e.children)Ep._makeOutlineElement(o,r);t.children.set(r.id,r)}constructor(e){super(),this.uri=e,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}_compact(){let e=0;for(const[t,i]of this._groups)i.children.size===0?this._groups.delete(t):e+=1;if(e!==1)this.children=this._groups;else{const t=Qn.first(this._groups.values());for(const[,i]of t.children)i.parent=this,this.children.set(i.id,i)}return this}getTopLevelSymbols(){const e=[];for(const t of this.children.values())t instanceof hj?e.push(t.symbol):e.push(...Qn.map(t.children.values(),i=>i.symbol));return e.sort((t,i)=>J.compareRangesUsingStarts(t.range,i.range))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return Ep._flattenDocumentSymbols(t,e,""),t.sort((i,r)=>ye.compare(J.getStartPosition(i.range),J.getStartPosition(r.range))||ye.compare(J.getEndPosition(r.range),J.getEndPosition(i.range)))}static _flattenDocumentSymbols(e,t,i){for(const r of t)e.push({kind:r.kind,tags:r.tags,name:r.name,detail:r.detail,containerName:r.containerName||i,range:r.range,selectionRange:r.selectionRange,children:void 0}),r.children&&Ep._flattenDocumentSymbols(e,r.children,r.name)}}const mj=Un("IOutlineModelService");let fj=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new Je,this._cache=new Zg(10,.7),this._debounceInformation=t.for(e.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(i.onModelRemoved(r=>{this._cache.delete(r.id)}))}dispose(){this._disposables.dispose()}async getOrCreate(e,t){const i=this._languageFeaturesService.documentSymbolProvider,r=i.ordered(e);let o=this._cache.get(e.id);if(!o||o.versionId!==e.getVersionId()||!kr(o.provider,r)){const a=new fo;o={versionId:e.getVersionId(),provider:r,promiseCnt:0,source:a,promise:Ep.create(i,e,a.token),model:void 0},this._cache.set(e.id,o);const l=Date.now();o.promise.then(u=>{o.model=u,this._debounceInformation.update(e,Date.now()-l)}).catch(u=>{this._cache.delete(e.id)})}if(o.model)return o.model;o.promiseCnt+=1;const s=t.onCancellationRequested(()=>{--o.promiseCnt===0&&(o.source.cancel(),this._cache.delete(e.id))});try{return await o.promise}finally{s.dispose()}}};fj=WTt([dj(0,Zt),dj(1,$c),dj(2,xr)],fj),qn(mj,fj,1),$n.registerCommand("_executeDocumentSymbolProvider",async function(n,...e){const[t]=e;hi(en.isUri(t));const i=n.get(mj),o=await n.get(Nl).createModelReference(t);try{return(await i.getOrCreate(o.object.textEditorModel,Yn.None)).getTopLevelSymbols()}finally{o.dispose()}});class Cs extends Ie{constructor(e,t){super(),this.contextKeyService=e,this.model=t,this.inlineCompletionVisible=Cs.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=Cs.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=Cs.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=Cs.suppressSuggestions.bindTo(this.contextKeyService),this._register(Zn(i=>{const r=this.model.read(i),o=r==null?void 0:r.state.read(i),s=!!(o!=null&&o.inlineCompletion)&&(o==null?void 0:o.primaryGhostText)!==void 0&&!(o!=null&&o.primaryGhostText.isEmpty());this.inlineCompletionVisible.set(s),o!=null&&o.primaryGhostText&&(o!=null&&o.inlineCompletion)&&this.suppressSuggestions.set(o.inlineCompletion.inlineCompletion.source.inlineCompletions.suppressSuggestions)})),this._register(Zn(i=>{const r=this.model.read(i);let o=!1,s=!0;const a=r==null?void 0:r.primaryGhostText.read(i);if(r!=null&&r.selectedSuggestItem&&a&&a.parts.length>0){const{column:l,lines:u}=a.parts[0],c=u[0],d=r.textModel.getLineIndentColumn(a.lineNumber);if(l<=d){let m=_a(c);m===-1&&(m=c.length-1),o=m>0;const f=r.textModel.getOptions().tabSize;s=Jo.visibleColumnFromColumn(c,m+1,f)t.equals(e.parts[i]))}renderForScreenReader(e){if(this.parts.length===0)return"";const t=this.parts[this.parts.length-1],i=e.substr(0,t.column-1);return new XU([...this.parts.map(o=>new vp(J.fromPositions(new ye(1,o.column)),o.lines.join(` -`)))]).applyToString(i).substring(this.parts[0].column-1)}isEmpty(){return this.parts.every(e=>e.lines.length===0)}get lineCount(){return 1+this.parts.reduce((e,t)=>e+t.lines.length-1,0)}}class CV{constructor(e,t,i){this.column=e,this.text=t,this.preview=i,this.lines=Pm(this.text)}equals(e){return this.column===e.column&&this.lines.length===e.lines.length&&this.lines.every((t,i)=>t===e.lines[i])}}class gj{constructor(e,t,i,r=0){this.lineNumber=e,this.columnRange=t,this.text=i,this.additionalReservedLineCount=r,this.parts=[new CV(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=Pm(this.text)}renderForScreenReader(e){return this.newLines.join(` -`)}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every(e=>e.lines.length===0)}equals(e){return this.lineNumber===e.lineNumber&&this.columnRange.equals(e.columnRange)&&this.newLines.length===e.newLines.length&&this.newLines.every((t,i)=>t===e.newLines[i])&&this.additionalReservedLineCount===e.additionalReservedLineCount}}function JLe(n,e){return kr(n,e,jLe)}function jLe(n,e){return n===e?!0:!n||!e?!1:n instanceof UM&&e instanceof UM||n instanceof gj&&e instanceof gj?n.equals(e):!1}const RTt=[];function VTt(){return RTt}class QLe{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new or(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new J(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}}function $Le(n,e){const t=new Je,i=n.createDecorationsCollection();return t.add(rR({debugName:()=>`Apply decorations from ${e.debugName}`},r=>{const o=e.read(r);i.set(o)})),t.add({dispose:()=>{i.clear()}}),t}function ATt(n,e){return new ye(n.lineNumber+e.lineNumber-1,e.lineNumber===1?n.column+e.column-1:e.column)}function qLe(n,e){return new ye(n.lineNumber-e.lineNumber+1,n.lineNumber-e.lineNumber===0?n.column-e.column+1:n.column)}var GTt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},XTt=function(n,e){return function(t,i){e(t,i,n)}};const e_e="ghost-text";let pj=class extends Ie{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=ei(this,!1),this.currentTextModel=Hi(this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=hn(this,r=>{if(this.isDisposed.read(r))return;const o=this.currentTextModel.read(r);if(o!==this.model.targetTextModel.read(r))return;const s=this.model.ghostText.read(r);if(!s)return;const a=s instanceof gj?s.columnRange:void 0,l=[],u=[];function c(g,b){if(u.length>0){const v=u[u.length-1];b&&v.decorations.push(new il(v.content.length+1,v.content.length+1+g[0].length,b,0)),v.content+=g[0],g=g.slice(1)}for(const v of g)u.push({content:v,decorations:b?[new il(1,v.length+1,b,0)]:[]})}const d=o.getLineContent(s.lineNumber);let h,m=0;for(const g of s.parts){let b=g.lines;h===void 0?(l.push({column:g.column,text:b[0],preview:g.preview}),b=b.slice(1)):c([d.substring(m,g.column-1)],void 0),b.length>0&&(c(b,e_e),h===void 0&&g.column<=d.length&&(h=g.column)),m=g.column-1}h!==void 0&&c([d.substring(m)],void 0);const f=h!==void 0?new QLe(h,d.length+1):void 0;return{replacedRange:a,inlineTexts:l,additionalLines:u,hiddenRange:f,lineNumber:s.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(r),targetTextModel:o}}),this.decorations=hn(this,r=>{const o=this.uiState.read(r);if(!o)return[];const s=[];o.replacedRange&&s.push({range:o.replacedRange.toRange(o.lineNumber),options:{inlineClassName:"inline-completion-text-to-replace",description:"GhostTextReplacement"}}),o.hiddenRange&&s.push({range:o.hiddenRange.toRange(o.lineNumber),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}});for(const a of o.inlineTexts)s.push({range:J.fromPositions(new ye(o.lineNumber,a.column)),options:{description:e_e,after:{content:a.text,inlineClassName:a.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:Wd.Left},showIfCollapsed:!0}});return s}),this.additionalLinesWidget=this._register(new t_e(this.editor,this.languageService.languageIdCodec,hn(r=>{const o=this.uiState.read(r);return o?{lineNumber:o.lineNumber,additionalLines:o.additionalLines,minReservedLineCount:o.additionalReservedLineCount,targetTextModel:o.targetTextModel}:void 0}))),this._register(jt(()=>{this.isDisposed.set(!0,void 0)})),this._register($Le(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};pj=GTt([XTt(2,vr)],pj);class t_e extends Ie{get viewZoneId(){return this._viewZoneId}constructor(e,t,i){super(),this.editor=e,this.languageIdCodec=t,this.lines=i,this._viewZoneId=void 0,this.editorOptionsChanged=ba("editorOptionChanged",lt.filter(this.editor.onDidChangeConfiguration,r=>r.hasChanged(33)||r.hasChanged(117)||r.hasChanged(99)||r.hasChanged(94)||r.hasChanged(51)||r.hasChanged(50)||r.hasChanged(67))),this._register(Zn(r=>{const o=this.lines.read(r);this.editorOptionsChanged.read(r),o?this.updateLines(o.lineNumber,o.additionalLines,o.minReservedLineCount):this.clear()}))}dispose(){super.dispose(),this.clear()}clear(){this.editor.changeViewZones(e=>{this._viewZoneId&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0)})}updateLines(e,t,i){const r=this.editor.getModel();if(!r)return;const{tabSize:o}=r.getOptions();this.editor.changeViewZones(s=>{this._viewZoneId&&(s.removeZone(this._viewZoneId),this._viewZoneId=void 0);const a=Math.max(t.length,i);if(a>0){const l=document.createElement("div");PTt(l,o,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=s.addZone({afterLineNumber:e,heightInLines:a,domNode:l,afterColumnAffinity:1})}})}}function PTt(n,e,t,i,r){const o=i.get(33),s=i.get(117),a="none",l=i.get(94),u=i.get(51),c=i.get(50),d=i.get(67),h=new TS(1e4);h.appendString('
    ');for(let g=0,b=t.length;g');const S=qF(C),x=vS(C),_=ls.createEmpty(C,r);ZI(new u0(c.isMonospace&&!o,c.canUseHalfwidthRightwardsArrow,C,!1,S,x,0,_,v.decorations,e,0,c.spaceWidth,c.middotWidth,c.wsmiddotWidth,s,a,l,u!==Bu.OFF,null),h),h.appendString("
    ")}h.appendString(""),Ts(n,c);const m=h.build(),f=n_e?n_e.createHTML(m):m;n.innerHTML=f}const n_e=jg("editorGhostText",{createHTML:n=>n});function OTt(n,e){const t=new Iye,i=new Mye(t,u=>e.getLanguageConfiguration(u)),r=new Dye(new BTt([n]),i),o=a7(r,[],void 0,!0);let s="";const a=n.getLineContent();function l(u,c){if(u.kind===2)if(l(u.openingBracket,c),c=Wr(c,u.openingBracket.length),u.child&&(l(u.child,c),c=Wr(c,u.child.length)),u.closingBracket)l(u.closingBracket,c),c=Wr(c,u.closingBracket.length);else{const h=i.getSingleLanguageBracketTokens(u.openingBracket.languageId).findClosingTokenText(u.openingBracket.bracketIds);s+=h}else if(u.kind!==3){if(u.kind===0||u.kind===1)s+=a.substring(c,Wr(c,u.length));else if(u.kind===4)for(const d of u.children)l(d,c),c=Wr(c,d.length)}}return l(o,ol),s}class BTt{constructor(e){this.lines=e,this.tokenization={getLineTokens:t=>this.lines[t-1]}}getLineCount(){return this.lines.length}getLineLength(e){return this.lines[e-1].getLineContent().length}}async function zTt(n,e,t,i,r=Yn.None,o){const s=UTt(e,t),a=n.all(t),l=new AY;for(const v of a)v.groupId&&l.add(v.groupId,v);function u(v){if(!v.yieldsToGroupIds)return[];const C=[];for(const S of v.yieldsToGroupIds||[]){const x=l.get(S);for(const _ of x)C.push(_)}return C}const c=new Map,d=new Set;function h(v,C){if(C=[...C,v],d.has(v))return C;d.add(v);try{const S=u(v);for(const x of S){const _=h(x,C);if(_)return _}}finally{d.delete(v)}}function m(v){const C=c.get(v);if(C)return C;const S=h(v,[]);S&&qr(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${S.map(_=>_.toString?_.toString():""+_).join(" -> ")}`));const x=new XZ;return c.set(v,x.p),(async()=>{if(!S){const _=u(v);for(const F of _){const D=await m(F);if(D&&D.items.length>0)return}}try{return await v.provideInlineCompletions(t,e,i,r)}catch(_){qr(_);return}})().then(_=>x.complete(_),_=>x.error(_)),x.p}const f=await Promise.all(a.map(async v=>({provider:v,completions:await m(v)}))),g=new Map,b=[];for(const v of f){const C=v.completions;if(!C)continue;const S=new YTt(C,v.provider);b.push(S);for(const x of C.items){const _=wV.from(x,S,s,t,o);g.set(_.hash(),_)}}return new HTt(Array.from(g.values()),new Set(g.keys()),b)}class HTt{constructor(e,t,i){this.completions=e,this.hashs=t,this.providerResults=i}has(e){return this.hashs.has(e.hash())}dispose(){for(const e of this.providerResults)e.removeRef()}}class YTt{constructor(e,t){this.inlineCompletions=e,this.provider=t,this.refCount=1}addRef(){this.refCount++}removeRef(){this.refCount--,this.refCount===0&&this.provider.freeInlineCompletions(this.inlineCompletions)}}class wV{static from(e,t,i,r,o){let s,a,l=e.range?J.lift(e.range):i;if(typeof e.insertText=="string"){if(s=e.insertText,o&&e.completeBracketPairs){s=i_e(s,l.getStartPosition(),r,o);const u=s.length-e.insertText.length;u!==0&&(l=new J(l.startLineNumber,l.startColumn,l.endLineNumber,l.endColumn+u))}a=void 0}else if("snippet"in e.insertText){const u=e.insertText.snippet.length;if(o&&e.completeBracketPairs){e.insertText.snippet=i_e(e.insertText.snippet,l.getStartPosition(),r,o);const d=e.insertText.snippet.length-u;d!==0&&(l=new J(l.startLineNumber,l.startColumn,l.endLineNumber,l.endColumn+d))}const c=new Vy().parse(e.insertText.snippet);c.children.length===1&&c.children[0]instanceof cl?(s=c.children[0].value,a=void 0):(s=c.toString(),a={snippet:e.insertText.snippet,range:l})}else x9(e.insertText);return new wV(s,e.command,l,s,a,e.additionalTextEdits||VTt(),e,t)}constructor(e,t,i,r,o,s,a,l){this.filterText=e,this.command=t,this.range=i,this.insertText=r,this.snippetInfo=o,this.additionalTextEdits=s,this.sourceInlineCompletion=a,this.source=l,e=e.replace(/\r\n|\r/g,` + `,constraint:O_e,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,r){const o=this.getLineNumbers(r,i),s=r&&r.levels,a=r&&r.direction;typeof s!="number"&&typeof a!="string"?Okt(t,!0,o):a==="up"?W_e(t,!0,s||1,o):dx(t,!0,s||1,o)}}class cTt extends Ea{constructor(){super({id:"editor.toggleFold",label:_("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:wa,kbOpts:{kbExpr:ne.editorTextFocus,primary:Zo(2089,2090),weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);Z_e(t,1,r)}}class dTt extends Ea{constructor(){super({id:"editor.foldRecursively",label:_("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:wa,kbOpts:{kbExpr:ne.editorTextFocus,primary:Zo(2089,2140),weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);dx(t,!0,Number.MAX_VALUE,r)}}class hTt extends Ea{constructor(){super({id:"editor.foldAllBlockComments",label:_("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:wa,kbOpts:{kbExpr:ne.editorTextFocus,primary:Zo(2089,2138),weight:100}})}invoke(e,t,i,r,o){if(t.regions.hasTypes())aj(t,Ed.Comment.value,!0);else{const s=i.getModel();if(!s)return;const a=o.getLanguageConfiguration(s.getLanguageId()).comments;if(a&&a.blockCommentStartToken){const l=new RegExp("^\\s*"+Wu(a.blockCommentStartToken));sj(t,l,!0)}}}}class mTt extends Ea{constructor(){super({id:"editor.foldAllMarkerRegions",label:_("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:wa,kbOpts:{kbExpr:ne.editorTextFocus,primary:Zo(2089,2077),weight:100}})}invoke(e,t,i,r,o){if(t.regions.hasTypes())aj(t,Ed.Region.value,!0);else{const s=i.getModel();if(!s)return;const a=o.getLanguageConfiguration(s.getLanguageId()).foldingRules;if(a&&a.markers&&a.markers.start){const l=new RegExp(a.markers.start);sj(t,l,!0)}}}}class fTt extends Ea{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:_("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:wa,kbOpts:{kbExpr:ne.editorTextFocus,primary:Zo(2089,2078),weight:100}})}invoke(e,t,i,r,o){if(t.regions.hasTypes())aj(t,Ed.Region.value,!1);else{const s=i.getModel();if(!s)return;const a=o.getLanguageConfiguration(s.getLanguageId()).foldingRules;if(a&&a.markers&&a.markers.start){const l=new RegExp(a.markers.start);sj(t,l,!1)}}}}class gTt extends Ea{constructor(){super({id:"editor.foldAllExcept",label:_("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:wa,kbOpts:{kbExpr:ne.editorTextFocus,primary:Zo(2089,2136),weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);A_e(t,!0,r)}}class pTt extends Ea{constructor(){super({id:"editor.unfoldAllExcept",label:_("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:wa,kbOpts:{kbExpr:ne.editorTextFocus,primary:Zo(2089,2134),weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);A_e(t,!1,r)}}class bTt extends Ea{constructor(){super({id:"editor.foldAll",label:_("foldAllAction.label","Fold All"),alias:"Fold All",precondition:wa,kbOpts:{kbExpr:ne.editorTextFocus,primary:Zo(2089,2069),weight:100}})}invoke(e,t,i){dx(t,!0)}}class yTt extends Ea{constructor(){super({id:"editor.unfoldAll",label:_("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:wa,kbOpts:{kbExpr:ne.editorTextFocus,primary:Zo(2089,2088),weight:100}})}invoke(e,t,i){dx(t,!1)}}class lC extends Ea{getFoldingLevel(){return parseInt(this.id.substr(lC.ID_PREFIX.length))}invoke(e,t,i){Bkt(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}}lC.ID_PREFIX="editor.foldLevel",lC.ID=n=>lC.ID_PREFIX+n;class vTt extends Ea{constructor(){super({id:"editor.gotoParentFold",label:_("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:wa,kbOpts:{kbExpr:ne.editorTextFocus,weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);if(r.length>0){const o=zkt(r[0],t);o!==null&&i.setSelection({startLineNumber:o,startColumn:1,endLineNumber:o,endColumn:1})}}}class CTt extends Ea{constructor(){super({id:"editor.gotoPreviousFold",label:_("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:wa,kbOpts:{kbExpr:ne.editorTextFocus,weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);if(r.length>0){const o=Hkt(r[0],t);o!==null&&i.setSelection({startLineNumber:o,startColumn:1,endLineNumber:o,endColumn:1})}}}class STt extends Ea{constructor(){super({id:"editor.gotoNextFold",label:_("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:wa,kbOpts:{kbExpr:ne.editorTextFocus,weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);if(r.length>0){const o=Ykt(r[0],t);o!==null&&i.setSelection({startLineNumber:o,startColumn:1,endLineNumber:o,endColumn:1})}}}class wTt extends Ea{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:_("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:wa,kbOpts:{kbExpr:ne.editorTextFocus,primary:Zo(2089,2135),weight:100}})}invoke(e,t,i){var r;const o=[],s=i.getSelections();if(s){for(const a of s){let l=a.endLineNumber;a.endColumn===1&&--l,l>a.startLineNumber&&(o.push({startLineNumber:a.startLineNumber,endLineNumber:l,type:void 0,isCollapsed:!0,source:1}),i.setSelection({startLineNumber:a.startLineNumber,startColumn:1,endLineNumber:a.startLineNumber,endColumn:1}))}if(o.length>0){o.sort((l,u)=>l.startLineNumber-u.startLineNumber);const a=ec.sanitizeAndMerge(t.regions,o,(r=i.getModel())===null||r===void 0?void 0:r.getLineCount());t.updatePost(ec.fromFoldRanges(a))}}}}class xTt extends Ea{constructor(){super({id:"editor.removeManualFoldingRanges",label:_("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:wa,kbOpts:{kbExpr:ne.editorTextFocus,primary:Zo(2089,2137),weight:100}})}invoke(e,t,i){const r=i.getSelections();if(r){const o=[];for(const s of r){const{startLineNumber:a,endLineNumber:l}=s;o.push(l>=a?{startLineNumber:a,endLineNumber:l}:{endLineNumber:l,startLineNumber:a})}t.removeManualRanges(o),e.triggerFoldingModelChanged()}}}vi(Tp.ID,Tp,0),tt(aTt),tt(lTt),tt(uTt),tt(dTt),tt(bTt),tt(yTt),tt(hTt),tt(mTt),tt(fTt),tt(gTt),tt(pTt),tt(cTt),tt(vTt),tt(CTt),tt(STt),tt(wTt),tt(xTt);for(let n=1;n<=7;n++)cgt(new lC({id:lC.ID(n),label:_("foldLevelAction.label","Fold Level {0}",n),alias:`Fold Level ${n}`,precondition:wa,kbOpts:{kbExpr:ne.editorTextFocus,primary:Zo(2089,2048|21+n),weight:100}}));$n.registerCommand("_executeFoldingRangeProvider",async function(n,...e){const[t]=e;if(!(t instanceof en))throw Fc();const i=n.get(Rt),r=n.get(wr).getModel(t);if(!r)throw Fc();const o=n.get(Pn);if(!o.getValue("editor.folding",{resource:t}))return[];const s=n.get(er),a=o.getValue("editor.foldingStrategy",{resource:t}),l={get limit(){return o.getValue("editor.foldingMaximumRegions",{resource:t})},update:(m,f)=>{}},u=new lj(r,s,l);let c=u;if(a!=="indentation"){const m=Tp.getFoldingRangeProviders(i,r);m.length&&(c=new cj(r,m,()=>{},l,u))}const d=await c.compute(Yn.None),h=[];try{if(d)for(let m=0;mvr.replace(J.lift(s.range),s.text))):e.executeEdits("formatEditsCommand",o.map(s=>vr.replaceMove(J.lift(s.range),s.text))),i&&e.pushUndoStop(),r.restoreRelativeVerticalPositionOfCursor(e)}}class B_e{constructor(e){this.value=e,this._lower=e.toLowerCase()}static toKey(e){return typeof e=="string"?e.toLowerCase():e._lower}}class FTt{constructor(e){if(this._set=new Set,e)for(const t of e)this.add(t)}add(e){this._set.add(B_e.toKey(e))}has(e){return this._set.has(B_e.toKey(e))}}function z_e(n,e,t){const i=[],r=new FTt,o=n.ordered(t);for(const a of o)i.push(a),a.extensionId&&r.add(a.extensionId);const s=e.ordered(t);for(const a of s){if(a.extensionId){if(r.has(a.extensionId))continue;r.add(a.extensionId)}i.push({displayName:a.displayName,extensionId:a.extensionId,provideDocumentFormattingEdits(l,u,c){return a.provideDocumentRangeFormattingEdits(l,l.getFullModelRange(),u,c)}})}return i}class uC{static setFormatterSelector(e){return{dispose:uC._selectors.unshift(e)}}static async select(e,t,i,r){if(e.length===0)return;const o=Qn.first(uC._selectors);if(o)return await o(e,t,i,r)}}uC._selectors=new ja;async function H_e(n,e,t,i,r,o,s){const a=n.get($t),{documentRangeFormattingEditProvider:l}=n.get(Rt),u=G0(e)?e.getModel():e,c=l.ordered(u),d=await uC.select(c,u,i,2);d&&(r.report(d),await a.invokeFunction(DTt,d,e,t,o,s))}async function DTt(n,e,t,i,r,o){var s,a;const l=n.get(Kc),u=n.get(tl),c=n.get(L0);let d,h;G0(t)?(d=t.getModel(),h=new T0(t,5,void 0,r)):(d=t,h=new lK(t,r));const m=[];let f=0;for(const w of UY(i).sort(J.compareRangesUsingStarts))f>0&&J.areIntersectingOrTouching(m[f-1],w)?m[f-1]=J.fromPositions(m[f-1].getStartPosition(),w.getEndPosition()):f=m.push(w);const g=async w=>{var x,L;u.trace("[format][provideDocumentRangeFormattingEdits] (request)",(x=e.extensionId)===null||x===void 0?void 0:x.value,w);const I=await e.provideDocumentRangeFormattingEdits(d,w,d.getFormattingOptions(),h.token)||[];return u.trace("[format][provideDocumentRangeFormattingEdits] (response)",(L=e.extensionId)===null||L===void 0?void 0:L.value,I),I},b=(w,x)=>{if(!w.length||!x.length)return!1;const L=w.reduce((I,D)=>J.plusRange(I,D.range),w[0].range);if(!x.some(I=>J.intersectRanges(L,I.range)))return!1;for(const I of w)for(const D of x)if(J.intersectRanges(I.range,D.range))return!0;return!1},y=[],C=[];try{if(typeof e.provideDocumentRangesFormattingEdits=="function"){u.trace("[format][provideDocumentRangeFormattingEdits] (request)",(s=e.extensionId)===null||s===void 0?void 0:s.value,m);const w=await e.provideDocumentRangesFormattingEdits(d,m,d.getFormattingOptions(),h.token)||[];u.trace("[format][provideDocumentRangeFormattingEdits] (response)",(a=e.extensionId)===null||a===void 0?void 0:a.value,w),C.push(w)}else{for(const w of m){if(h.token.isCancellationRequested)return!0;C.push(await g(w))}for(let w=0;w({text:L.text,range:J.lift(L.range),forceMoveMarkers:!0})),L=>{for(const{range:I}of L)if(J.areIntersectingOrTouching(I,x))return[new Zt(I.startLineNumber,I.startColumn,I.endLineNumber,I.endColumn)];return null})}return c.playSignal(xn.format,{userGesture:o}),!0}async function NTt(n,e,t,i,r,o){const s=n.get($t),a=n.get(Rt),l=G0(e)?e.getModel():e,u=z_e(a.documentFormattingEditProvider,a.documentRangeFormattingEditProvider,l),c=await uC.select(u,l,t,1);c&&(i.report(c),await s.invokeFunction(MTt,c,e,t,r,o))}async function MTt(n,e,t,i,r,o){const s=n.get(Kc),a=n.get(L0);let l,u;G0(t)?(l=t.getModel(),u=new T0(t,5,void 0,r)):(l=t,u=new lK(t,r));let c;try{const d=await e.provideDocumentFormattingEdits(l,l.getFormattingOptions(),u.token);if(c=await s.computeMoreMinimalEdits(l.uri,d),u.token.isCancellationRequested)return!0}finally{u.dispose()}if(!c||c.length===0)return!1;if(G0(t))fx.execute(t,c,i!==2),i!==2&&t.revealPositionInCenterIfOutsideViewport(t.getPosition(),1);else{const[{range:d}]=c,h=new Zt(d.startLineNumber,d.startColumn,d.endLineNumber,d.endColumn);l.pushEditOperations([h],c.map(m=>({text:m.text,range:J.lift(m.range),forceMoveMarkers:!0})),m=>{for(const{range:f}of m)if(J.areIntersectingOrTouching(f,h))return[new Zt(f.startLineNumber,f.startColumn,f.endLineNumber,f.endColumn)];return null})}return a.playSignal(xn.format,{userGesture:o}),!0}async function kTt(n,e,t,i,r,o){const s=e.documentRangeFormattingEditProvider.ordered(t);for(const a of s){const l=await Promise.resolve(a.provideDocumentRangeFormattingEdits(t,i,r,o)).catch(qr);if(ga(l))return await n.computeMoreMinimalEdits(t.uri,l)}}async function TTt(n,e,t,i,r){const o=z_e(e.documentFormattingEditProvider,e.documentRangeFormattingEditProvider,t);for(const s of o){const a=await Promise.resolve(s.provideDocumentFormattingEdits(t,i,r)).catch(qr);if(ga(a))return await n.computeMoreMinimalEdits(t.uri,a)}}function Y_e(n,e,t,i,r,o,s){const a=e.onTypeFormattingEditProvider.ordered(t);return a.length===0||a[0].autoFormatTriggerCharacters.indexOf(r)<0?Promise.resolve(void 0):Promise.resolve(a[0].provideOnTypeFormattingEdits(t,i,r,o,s)).catch(qr).then(l=>n.computeMoreMinimalEdits(t.uri,l))}$n.registerCommand("_executeFormatRangeProvider",async function(n,...e){const[t,i,r]=e;hi(en.isUri(t)),hi(J.isIRange(i));const o=n.get(kl),s=n.get(Kc),a=n.get(Rt),l=await o.createModelReference(t);try{return kTt(s,a,l.object.textEditorModel,J.lift(i),r,Yn.None)}finally{l.dispose()}}),$n.registerCommand("_executeFormatDocumentProvider",async function(n,...e){const[t,i]=e;hi(en.isUri(t));const r=n.get(kl),o=n.get(Kc),s=n.get(Rt),a=await r.createModelReference(t);try{return TTt(o,s,a.object.textEditorModel,i,Yn.None)}finally{a.dispose()}}),$n.registerCommand("_executeFormatOnTypeProvider",async function(n,...e){const[t,i,r,o]=e;hi(en.isUri(t)),hi(ve.isIPosition(i)),hi(typeof r=="string");const s=n.get(kl),a=n.get(Kc),l=n.get(Rt),u=await s.createModelReference(t);try{return Y_e(a,l,u.object.textEditorModel,ve.lift(i),r,o,Yn.None)}finally{u.dispose()}});var U_e=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},zN=function(n,e){return function(t,i){e(t,i,n)}};let HN=class{constructor(e,t,i,r){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._accessibilitySignalService=r,this._disposables=new Je,this._sessionDisposables=new Je,this._disposables.add(t.onTypeFormattingEditProvider.onDidChange(this._update,this)),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(o=>{o.hasChanged(56)&&this._update()})),this._update()}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(56)||!this._editor.hasModel())return;const e=this._editor.getModel(),[t]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(e);if(!t||!t.autoFormatTriggerCharacters)return;const i=new k9;for(const r of t.autoFormatTriggerCharacters)i.add(r.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType(r=>{const o=r.charCodeAt(r.length-1);i.has(o)&&this._trigger(String.fromCharCode(o))}))}_trigger(e){if(!this._editor.hasModel()||this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;const t=this._editor.getModel(),i=this._editor.getPosition(),r=new fo,o=this._editor.onDidChangeModelContent(s=>{if(s.isFlush){r.cancel(),o.dispose();return}for(let a=0,l=s.changes.length;a{r.token.isCancellationRequested||ga(s)&&(this._accessibilitySignalService.playSignal(xn.format,{userGesture:!1}),fx.execute(this._editor,s,!0))}).finally(()=>{o.dispose()})}};HN.ID="editor.contrib.autoFormat",HN=U_e([zN(1,Rt),zN(2,Kc),zN(3,L0)],HN);let YN=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new Je,this._callOnModel=new Je,this._callOnDispose.add(e.onDidChangeConfiguration(()=>this._update())),this._callOnDispose.add(e.onDidChangeModel(()=>this._update())),this._callOnDispose.add(e.onDidChangeModelLanguage(()=>this._update())),this._callOnDispose.add(t.documentRangeFormattingEditProvider.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){this._callOnModel.clear(),this.editor.getOption(55)&&this.editor.hasModel()&&this._languageFeaturesService.documentRangeFormattingEditProvider.has(this.editor.getModel())&&this._callOnModel.add(this.editor.onDidPaste(({range:e})=>this._trigger(e)))}_trigger(e){this.editor.hasModel()&&(this.editor.getSelections().length>1||this._instantiationService.invokeFunction(H_e,this.editor,e,2,bp.None,Yn.None,!1).catch(yn))}};YN.ID="editor.contrib.formatOnPaste",YN=U_e([zN(1,Rt),zN(2,$t)],YN);class ETt extends Nt{constructor(){super({id:"editor.action.formatDocument",label:_("formatDocument.label","Format Document"),alias:"Format Document",precondition:Oe.and(ne.notInCompositeEditor,ne.writable,ne.hasDocumentFormattingProvider),kbOpts:{kbExpr:ne.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}async run(e,t){if(t.hasModel()){const i=e.get($t);await e.get(N0).showWhile(i.invokeFunction(NTt,t,1,bp.None,Yn.None,!0),250)}}}class RTt extends Nt{constructor(){super({id:"editor.action.formatSelection",label:_("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:Oe.and(ne.writable,ne.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:ne.editorTextFocus,primary:Zo(2089,2084),weight:100},contextMenuOpts:{when:ne.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(e,t){if(!t.hasModel())return;const i=e.get($t),r=t.getModel(),o=t.getSelections().map(a=>a.isEmpty()?new J(a.startLineNumber,1,a.startLineNumber,r.getLineMaxColumn(a.startLineNumber)):a);await e.get(N0).showWhile(i.invokeFunction(H_e,t,o,1,bp.None,Yn.None,!0),250)}}vi(HN.ID,HN,2),vi(YN.ID,YN,2),tt(ETt),tt(RTt),$n.registerCommand("editor.action.format",async n=>{const e=n.get(yi).getFocusedCodeEditor();if(!e||!e.hasModel())return;const t=n.get(Xr);e.getSelection().isEmpty()?await t.executeCommand("editor.action.formatDocument"):await t.executeCommand("editor.action.formatSelection")});var ZTt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},dj=function(n,e){return function(t,i){e(t,i,n)}};class gx{remove(){var e;(e=this.parent)===null||e===void 0||e.children.delete(this.id)}static findId(e,t){let i;typeof e=="string"?i=`${t.id}/${e}`:(i=`${t.id}/${e.name}`,t.children.get(i)!==void 0&&(i=`${t.id}/${e.name}_${e.range.startLineNumber}_${e.range.startColumn}`));let r=i;for(let o=0;t.children.get(r)!==void 0;o++)r=`${i}_${o}`;return r}static empty(e){return e.children.size===0}}class hj extends gx{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class K_e extends gx{constructor(e,t,i,r){super(),this.id=e,this.parent=t,this.label=i,this.order=r,this.children=new Map}}class Ep extends gx{static create(e,t,i){const r=new fo(i),o=new Ep(t.uri),s=e.ordered(t),a=s.map((u,c)=>{var d;const h=gx.findId(`provider_${c}`,o),m=new K_e(h,o,(d=u.displayName)!==null&&d!==void 0?d:"Unknown Outline Provider",c);return Promise.resolve(u.provideDocumentSymbols(t,r.token)).then(f=>{for(const g of f||[])Ep._makeOutlineElement(g,m);return m},f=>(qr(f),m)).then(f=>{gx.empty(f)?f.remove():o._groups.set(h,f)})}),l=e.onDidChange(()=>{const u=e.ordered(t);Nr(u,s)||r.cancel()});return Promise.all(a).then(()=>r.token.isCancellationRequested&&!i.isCancellationRequested?Ep.create(e,t,i):o._compact()).finally(()=>{r.dispose(),l.dispose(),r.dispose()})}static _makeOutlineElement(e,t){const i=gx.findId(e,t),r=new hj(i,t,e);if(e.children)for(const o of e.children)Ep._makeOutlineElement(o,r);t.children.set(r.id,r)}constructor(e){super(),this.uri=e,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}_compact(){let e=0;for(const[t,i]of this._groups)i.children.size===0?this._groups.delete(t):e+=1;if(e!==1)this.children=this._groups;else{const t=Qn.first(this._groups.values());for(const[,i]of t.children)i.parent=this,this.children.set(i.id,i)}return this}getTopLevelSymbols(){const e=[];for(const t of this.children.values())t instanceof hj?e.push(t.symbol):e.push(...Qn.map(t.children.values(),i=>i.symbol));return e.sort((t,i)=>J.compareRangesUsingStarts(t.range,i.range))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return Ep._flattenDocumentSymbols(t,e,""),t.sort((i,r)=>ve.compare(J.getStartPosition(i.range),J.getStartPosition(r.range))||ve.compare(J.getEndPosition(r.range),J.getEndPosition(i.range)))}static _flattenDocumentSymbols(e,t,i){for(const r of t)e.push({kind:r.kind,tags:r.tags,name:r.name,detail:r.detail,containerName:r.containerName||i,range:r.range,selectionRange:r.selectionRange,children:void 0}),r.children&&Ep._flattenDocumentSymbols(e,r.children,r.name)}}const mj=Un("IOutlineModelService");let fj=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new Je,this._cache=new Rg(10,.7),this._debounceInformation=t.for(e.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(i.onModelRemoved(r=>{this._cache.delete(r.id)}))}dispose(){this._disposables.dispose()}async getOrCreate(e,t){const i=this._languageFeaturesService.documentSymbolProvider,r=i.ordered(e);let o=this._cache.get(e.id);if(!o||o.versionId!==e.getVersionId()||!Nr(o.provider,r)){const a=new fo;o={versionId:e.getVersionId(),provider:r,promiseCnt:0,source:a,promise:Ep.create(i,e,a.token),model:void 0},this._cache.set(e.id,o);const l=Date.now();o.promise.then(u=>{o.model=u,this._debounceInformation.update(e,Date.now()-l)}).catch(u=>{this._cache.delete(e.id)})}if(o.model)return o.model;o.promiseCnt+=1;const s=t.onCancellationRequested(()=>{--o.promiseCnt===0&&(o.source.cancel(),this._cache.delete(e.id))});try{return await o.promise}finally{s.dispose()}}};fj=ZTt([dj(0,Rt),dj(1,Qc),dj(2,wr)],fj),qn(mj,fj,1),$n.registerCommand("_executeDocumentSymbolProvider",async function(n,...e){const[t]=e;hi(en.isUri(t));const i=n.get(mj),o=await n.get(kl).createModelReference(t);try{return(await i.getOrCreate(o.object.textEditorModel,Yn.None)).getTopLevelSymbols()}finally{o.dispose()}});class Cs extends Fe{constructor(e,t){super(),this.contextKeyService=e,this.model=t,this.inlineCompletionVisible=Cs.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=Cs.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=Cs.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=Cs.suppressSuggestions.bindTo(this.contextKeyService),this._register(Rn(i=>{const r=this.model.read(i),o=r==null?void 0:r.state.read(i),s=!!(o!=null&&o.inlineCompletion)&&(o==null?void 0:o.primaryGhostText)!==void 0&&!(o!=null&&o.primaryGhostText.isEmpty());this.inlineCompletionVisible.set(s),o!=null&&o.primaryGhostText&&(o!=null&&o.inlineCompletion)&&this.suppressSuggestions.set(o.inlineCompletion.inlineCompletion.source.inlineCompletions.suppressSuggestions)})),this._register(Rn(i=>{const r=this.model.read(i);let o=!1,s=!0;const a=r==null?void 0:r.primaryGhostText.read(i);if(r!=null&&r.selectedSuggestItem&&a&&a.parts.length>0){const{column:l,lines:u}=a.parts[0],c=u[0],d=r.textModel.getLineIndentColumn(a.lineNumber);if(l<=d){let m=La(c);m===-1&&(m=c.length-1),o=m>0;const f=r.textModel.getOptions().tabSize;s=Jo.visibleColumnFromColumn(c,m+1,f)t.equals(e.parts[i]))}renderForScreenReader(e){if(this.parts.length===0)return"";const t=this.parts[this.parts.length-1],i=e.substr(0,t.column-1);return new XU([...this.parts.map(o=>new yp(J.fromPositions(new ve(1,o.column)),o.lines.join(` +`)))]).applyToString(i).substring(this.parts[0].column-1)}isEmpty(){return this.parts.every(e=>e.lines.length===0)}get lineCount(){return 1+this.parts.reduce((e,t)=>e+t.lines.length-1,0)}}class CA{constructor(e,t,i){this.column=e,this.text=t,this.preview=i,this.lines=Pm(this.text)}equals(e){return this.column===e.column&&this.lines.length===e.lines.length&&this.lines.every((t,i)=>t===e.lines[i])}}class gj{constructor(e,t,i,r=0){this.lineNumber=e,this.columnRange=t,this.text=i,this.additionalReservedLineCount=r,this.parts=[new CA(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=Pm(this.text)}renderForScreenReader(e){return this.newLines.join(` +`)}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every(e=>e.lines.length===0)}equals(e){return this.lineNumber===e.lineNumber&&this.columnRange.equals(e.columnRange)&&this.newLines.length===e.newLines.length&&this.newLines.every((t,i)=>t===e.newLines[i])&&this.additionalReservedLineCount===e.additionalReservedLineCount}}function J_e(n,e){return Nr(n,e,j_e)}function j_e(n,e){return n===e?!0:!n||!e?!1:n instanceof UN&&e instanceof UN||n instanceof gj&&e instanceof gj?n.equals(e):!1}const WTt=[];function ATt(){return WTt}class Q_e{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new rr(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new J(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}}function $_e(n,e){const t=new Je,i=n.createDecorationsCollection();return t.add(rW({debugName:()=>`Apply decorations from ${e.debugName}`},r=>{const o=e.read(r);i.set(o)})),t.add({dispose:()=>{i.clear()}}),t}function VTt(n,e){return new ve(n.lineNumber+e.lineNumber-1,e.lineNumber===1?n.column+e.column-1:e.column)}function q_e(n,e){return new ve(n.lineNumber-e.lineNumber+1,n.lineNumber-e.lineNumber===0?n.column-e.column+1:n.column)}var GTt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},XTt=function(n,e){return function(t,i){e(t,i,n)}};const eLe="ghost-text";let pj=class extends Fe{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=ei(this,!1),this.currentTextModel=zi(this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=hn(this,r=>{if(this.isDisposed.read(r))return;const o=this.currentTextModel.read(r);if(o!==this.model.targetTextModel.read(r))return;const s=this.model.ghostText.read(r);if(!s)return;const a=s instanceof gj?s.columnRange:void 0,l=[],u=[];function c(g,b){if(u.length>0){const y=u[u.length-1];b&&y.decorations.push(new il(y.content.length+1,y.content.length+1+g[0].length,b,0)),y.content+=g[0],g=g.slice(1)}for(const y of g)u.push({content:y,decorations:b?[new il(1,y.length+1,b,0)]:[]})}const d=o.getLineContent(s.lineNumber);let h,m=0;for(const g of s.parts){let b=g.lines;h===void 0?(l.push({column:g.column,text:b[0],preview:g.preview}),b=b.slice(1)):c([d.substring(m,g.column-1)],void 0),b.length>0&&(c(b,eLe),h===void 0&&g.column<=d.length&&(h=g.column)),m=g.column-1}h!==void 0&&c([d.substring(m)],void 0);const f=h!==void 0?new Q_e(h,d.length+1):void 0;return{replacedRange:a,inlineTexts:l,additionalLines:u,hiddenRange:f,lineNumber:s.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(r),targetTextModel:o}}),this.decorations=hn(this,r=>{const o=this.uiState.read(r);if(!o)return[];const s=[];o.replacedRange&&s.push({range:o.replacedRange.toRange(o.lineNumber),options:{inlineClassName:"inline-completion-text-to-replace",description:"GhostTextReplacement"}}),o.hiddenRange&&s.push({range:o.hiddenRange.toRange(o.lineNumber),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}});for(const a of o.inlineTexts)s.push({range:J.fromPositions(new ve(o.lineNumber,a.column)),options:{description:eLe,after:{content:a.text,inlineClassName:a.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:Rd.Left},showIfCollapsed:!0}});return s}),this.additionalLinesWidget=this._register(new tLe(this.editor,this.languageService.languageIdCodec,hn(r=>{const o=this.uiState.read(r);return o?{lineNumber:o.lineNumber,additionalLines:o.additionalLines,minReservedLineCount:o.additionalReservedLineCount,targetTextModel:o.targetTextModel}:void 0}))),this._register(jt(()=>{this.isDisposed.set(!0,void 0)})),this._register($_e(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};pj=GTt([XTt(2,br)],pj);class tLe extends Fe{get viewZoneId(){return this._viewZoneId}constructor(e,t,i){super(),this.editor=e,this.languageIdCodec=t,this.lines=i,this._viewZoneId=void 0,this.editorOptionsChanged=ba("editorOptionChanged",lt.filter(this.editor.onDidChangeConfiguration,r=>r.hasChanged(33)||r.hasChanged(117)||r.hasChanged(99)||r.hasChanged(94)||r.hasChanged(51)||r.hasChanged(50)||r.hasChanged(67))),this._register(Rn(r=>{const o=this.lines.read(r);this.editorOptionsChanged.read(r),o?this.updateLines(o.lineNumber,o.additionalLines,o.minReservedLineCount):this.clear()}))}dispose(){super.dispose(),this.clear()}clear(){this.editor.changeViewZones(e=>{this._viewZoneId&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0)})}updateLines(e,t,i){const r=this.editor.getModel();if(!r)return;const{tabSize:o}=r.getOptions();this.editor.changeViewZones(s=>{this._viewZoneId&&(s.removeZone(this._viewZoneId),this._viewZoneId=void 0);const a=Math.max(t.length,i);if(a>0){const l=document.createElement("div");PTt(l,o,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=s.addZone({afterLineNumber:e,heightInLines:a,domNode:l,afterColumnAffinity:1})}})}}function PTt(n,e,t,i,r){const o=i.get(33),s=i.get(117),a="none",l=i.get(94),u=i.get(51),c=i.get(50),d=i.get(67),h=new Tw(1e4);h.appendString('
    ');for(let g=0,b=t.length;g');const w=qI(C),x=yw(C),L=ls.createEmpty(C,r);RF(new u0(c.isMonospace&&!o,c.canUseHalfwidthRightwardsArrow,C,!1,w,x,0,L,y.decorations,e,0,c.spaceWidth,c.middotWidth,c.wsmiddotWidth,s,a,l,u!==Bu.OFF,null),h),h.appendString("
    ")}h.appendString(""),Ts(n,c);const m=h.build(),f=nLe?nLe.createHTML(m):m;n.innerHTML=f}const nLe=jg("editorGhostText",{createHTML:n=>n});function OTt(n,e){const t=new Fve,i=new Nve(t,u=>e.getLanguageConfiguration(u)),r=new Dve(new BTt([n]),i),o=a7(r,[],void 0,!0);let s="";const a=n.getLineContent();function l(u,c){if(u.kind===2)if(l(u.openingBracket,c),c=Zr(c,u.openingBracket.length),u.child&&(l(u.child,c),c=Zr(c,u.child.length)),u.closingBracket)l(u.closingBracket,c),c=Zr(c,u.closingBracket.length);else{const h=i.getSingleLanguageBracketTokens(u.openingBracket.languageId).findClosingTokenText(u.openingBracket.bracketIds);s+=h}else if(u.kind!==3){if(u.kind===0||u.kind===1)s+=a.substring(c,Zr(c,u.length));else if(u.kind===4)for(const d of u.children)l(d,c),c=Zr(c,d.length)}}return l(o,ol),s}class BTt{constructor(e){this.lines=e,this.tokenization={getLineTokens:t=>this.lines[t-1]}}getLineCount(){return this.lines.length}getLineLength(e){return this.lines[e-1].getLineContent().length}}async function zTt(n,e,t,i,r=Yn.None,o){const s=UTt(e,t),a=n.all(t),l=new VY;for(const y of a)y.groupId&&l.add(y.groupId,y);function u(y){if(!y.yieldsToGroupIds)return[];const C=[];for(const w of y.yieldsToGroupIds||[]){const x=l.get(w);for(const L of x)C.push(L)}return C}const c=new Map,d=new Set;function h(y,C){if(C=[...C,y],d.has(y))return C;d.add(y);try{const w=u(y);for(const x of w){const L=h(x,C);if(L)return L}}finally{d.delete(y)}}function m(y){const C=c.get(y);if(C)return C;const w=h(y,[]);w&&qr(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${w.map(L=>L.toString?L.toString():""+L).join(" -> ")}`));const x=new XR;return c.set(y,x.p),(async()=>{if(!w){const L=u(y);for(const I of L){const D=await m(I);if(D&&D.items.length>0)return}}try{return await y.provideInlineCompletions(t,e,i,r)}catch(L){qr(L);return}})().then(L=>x.complete(L),L=>x.error(L)),x.p}const f=await Promise.all(a.map(async y=>({provider:y,completions:await m(y)}))),g=new Map,b=[];for(const y of f){const C=y.completions;if(!C)continue;const w=new YTt(C,y.provider);b.push(w);for(const x of C.items){const L=SA.from(x,w,s,t,o);g.set(L.hash(),L)}}return new HTt(Array.from(g.values()),new Set(g.keys()),b)}class HTt{constructor(e,t,i){this.completions=e,this.hashs=t,this.providerResults=i}has(e){return this.hashs.has(e.hash())}dispose(){for(const e of this.providerResults)e.removeRef()}}class YTt{constructor(e,t){this.inlineCompletions=e,this.provider=t,this.refCount=1}addRef(){this.refCount++}removeRef(){this.refCount--,this.refCount===0&&this.provider.freeInlineCompletions(this.inlineCompletions)}}class SA{static from(e,t,i,r,o){let s,a,l=e.range?J.lift(e.range):i;if(typeof e.insertText=="string"){if(s=e.insertText,o&&e.completeBracketPairs){s=iLe(s,l.getStartPosition(),r,o);const u=s.length-e.insertText.length;u!==0&&(l=new J(l.startLineNumber,l.startColumn,l.endLineNumber,l.endColumn+u))}a=void 0}else if("snippet"in e.insertText){const u=e.insertText.snippet.length;if(o&&e.completeBracketPairs){e.insertText.snippet=iLe(e.insertText.snippet,l.getStartPosition(),r,o);const d=e.insertText.snippet.length-u;d!==0&&(l=new J(l.startLineNumber,l.startColumn,l.endLineNumber,l.endColumn+d))}const c=new Av().parse(e.insertText.snippet);c.children.length===1&&c.children[0]instanceof cl?(s=c.children[0].value,a=void 0):(s=c.toString(),a={snippet:e.insertText.snippet,range:l})}else x9(e.insertText);return new SA(s,e.command,l,s,a,e.additionalTextEdits||ATt(),e,t)}constructor(e,t,i,r,o,s,a,l){this.filterText=e,this.command=t,this.range=i,this.insertText=r,this.snippetInfo=o,this.additionalTextEdits=s,this.sourceInlineCompletion=a,this.source=l,e=e.replace(/\r\n|\r/g,` `),r=e.replace(/\r\n|\r/g,` -`)}withRange(e){return new wV(this.filterText,this.command,e,this.insertText,this.snippetInfo,this.additionalTextEdits,this.sourceInlineCompletion,this.source)}hash(){return JSON.stringify({insertText:this.insertText,range:this.range.toString()})}}function UTt(n,e){const t=e.getWordAtPosition(n),i=e.getLineMaxColumn(n.lineNumber);return t?new J(n.lineNumber,t.startColumn,n.lineNumber,i):J.fromPositions(n,n.with(void 0,i))}function i_e(n,e,t,i){const o=t.getLineContent(e.lineNumber).substring(0,e.column-1)+n,s=t.tokenization.tokenizeLineWithEdit(e,o.length-(e.column-1),n),a=s==null?void 0:s.sliceAndInflate(e.column-1,o.length,0);return a?OTt(a,i):n}function cC(n,e,t){const i=t?n.range.intersectRanges(t):n.range;if(!i)return n;const r=e.getValueInRange(i,1),o=Pb(r,n.text),s=Rd.ofText(r.substring(0,o)).addToPosition(n.range.getStartPosition()),a=n.text.substring(o),l=J.fromPositions(s,n.range.getEndPosition());return new vp(l,a)}function r_e(n,e){return n.text.startsWith(e.text)&&KTt(n.range,e.range)}function o_e(n,e,t,i,r=0){let o=cC(n,e);if(o.range.endLineNumber!==o.range.startLineNumber)return;const s=e.getLineContent(o.range.startLineNumber),a=Ki(s).length;if(o.range.startColumn-1<=a){const f=Ki(o.text).length,g=s.substring(o.range.startColumn-1,a),[b,v]=[o.range.getStartPosition(),o.range.getEndPosition()],C=b.column+g.length<=v.column?b.delta(0,g.length):v,S=J.fromPositions(C,v),x=o.text.startsWith(g)?o.text.substring(g.length):o.text.substring(f);o=new vp(S,x)}const u=e.getValueInRange(o.range),c=JTt(u,o.text);if(!c)return;const d=o.range.startLineNumber,h=new Array;if(t==="prefix"){const f=c.filter(g=>g.originalLength===0);if(f.length>1||f.length===1&&f[0].originalStart!==u.length)return}const m=o.text.length-r;for(const f of c){const g=o.range.startColumn+f.originalStart+f.originalLength;if(t==="subwordSmart"&&i&&i.lineNumber===o.range.startLineNumber&&g0)return;if(f.modifiedLength===0)continue;const b=f.modifiedStart+f.modifiedLength,v=Math.max(f.modifiedStart,Math.min(b,m)),C=o.text.substring(f.modifiedStart,v),S=o.text.substring(v,Math.max(f.modifiedStart,b));C.length>0&&h.push(new CV(g,C,!1)),S.length>0&&h.push(new CV(g,S,!0))}return new UM(d,h)}function KTt(n,e){return e.getStartPosition().equals(n.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(n.getEndPosition())}let Zf;function JTt(n,e){if((Zf==null?void 0:Zf.originalValue)===n&&(Zf==null?void 0:Zf.newValue)===e)return Zf==null?void 0:Zf.changes;{let t=a_e(n,e,!0);if(t){const i=s_e(t);if(i>0){const r=a_e(n,e,!1);r&&s_e(r)5e3||e.length>5e3)return;function i(u){let c=0;for(let d=0,h=u.length;dc&&(c=m)}return c}const r=Math.max(i(n),i(e));function o(u){if(u<0)throw new Error("unexpected");return r+u+1}function s(u){let c=0,d=0;const h=new Int32Array(u.length);for(let m=0,f=u.length;ma},{getElements:()=>l}).ComputeDiff(!1).changes}var jTt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},l_e=function(n,e){return function(t,i){e(t,i,n)}};let bj=class extends Ie{constructor(e,t,i,r,o){super(),this.textModel=e,this.versionId=t,this._debounceValue=i,this.languageFeaturesService=r,this.languageConfigurationService=o,this._updateOperation=this._register(new Ms),this.inlineCompletions=TD("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=TD("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent(()=>{this._updateOperation.clear()}))}fetch(e,t,i){var r,o;const s=new $Tt(e,t,this.textModel.getVersionId()),a=t.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if(!((r=this._updateOperation.value)===null||r===void 0)&&r.request.satisfies(s))return this._updateOperation.value.promise;if(!((o=a.get())===null||o===void 0)&&o.request.satisfies(s))return Promise.resolve(!0);const l=!!this._updateOperation.value;this._updateOperation.clear();const u=new fo,c=(async()=>{if((l||t.triggerKind===Jg.Automatic)&&await QTt(this._debounceValue.get(this.textModel),u.token),u.token.isCancellationRequested||this.textModel.getVersionId()!==s.versionId)return!1;const m=new Date,f=await zTt(this.languageFeaturesService.inlineCompletionsProvider,e,this.textModel,t,u.token,this.languageConfigurationService);if(u.token.isCancellationRequested||this.textModel.getVersionId()!==s.versionId)return!1;const g=new Date;this._debounceValue.update(this.textModel,g.getTime()-m.getTime());const b=new tEt(f,s,this.textModel,this.versionId);if(i){const v=i.toInlineCompletion(void 0);i.canBeReused(this.textModel,e)&&!f.has(v)&&b.prepend(i.inlineCompletion,v.range,!0)}return this._updateOperation.clear(),zi(v=>{a.set(b,v)}),!0})(),d=new eEt(s,u,c);return this._updateOperation.value=d,c}clear(e){this._updateOperation.clear(),this.inlineCompletions.set(void 0,e),this.suggestWidgetInlineCompletions.set(void 0,e)}clearSuggestWidgetInlineCompletions(e){var t;!((t=this._updateOperation.value)===null||t===void 0)&&t.request.context.selectedSuggestionInfo&&this._updateOperation.clear(),this.suggestWidgetInlineCompletions.set(void 0,e)}cancelUpdate(){this._updateOperation.clear()}};bj=jTt([l_e(3,Zt),l_e(4,tr)],bj);function QTt(n,e){return new Promise(t=>{let i;const r=setTimeout(()=>{i&&i.dispose(),t()},n);e&&(i=e.onCancellationRequested(()=>{clearTimeout(r),i&&i.dispose(),t()}))})}class $Tt{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&qTt(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,(t,i)=>t.equals(i))&&(e.context.triggerKind===Jg.Automatic||this.context.triggerKind===Jg.Explicit)&&this.versionId===e.versionId}}function qTt(n,e,t){return!n||!e?n===e:t(n,e)}class eEt{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class tEt{get inlineCompletions(){return this._inlineCompletions}constructor(e,t,i,r){this.inlineCompletionProviderResult=e,this.request=t,this.textModel=i,this.versionId=r,this._refCount=1,this._prependedInlineCompletionItems=[],this._rangeVersionIdValue=0,this._rangeVersionId=hn(this,s=>{this.versionId.read(s);let a=!1;for(const l of this._inlineCompletions)a=a||l._updateRange(this.textModel);return a&&this._rangeVersionIdValue++,this._rangeVersionIdValue});const o=i.deltaDecorations([],e.completions.map(s=>({range:s.range,options:{description:"inline-completion-tracking-range"}})));this._inlineCompletions=e.completions.map((s,a)=>new u_e(s,o[a],this._rangeVersionId))}clone(){return this._refCount++,this}dispose(){if(this._refCount--,this._refCount===0){setTimeout(()=>{this.textModel.isDisposed()||this.textModel.deltaDecorations(this._inlineCompletions.map(e=>e.decorationId),[])},0),this.inlineCompletionProviderResult.dispose();for(const e of this._prependedInlineCompletionItems)e.source.removeRef()}}prepend(e,t,i){i&&e.source.addRef();const r=this.textModel.deltaDecorations([],[{range:t,options:{description:"inline-completion-tracking-range"}}])[0];this._inlineCompletions.unshift(new u_e(e,r,this._rangeVersionId,t)),this._prependedInlineCompletionItems.push(e)}}class u_e{get forwardStable(){var e;return(e=this.inlineCompletion.source.inlineCompletions.enableForwardStability)!==null&&e!==void 0?e:!1}constructor(e,t,i,r){this.inlineCompletion=e,this.decorationId=t,this.rangeVersion=i,this.semanticId=JSON.stringify([this.inlineCompletion.filterText,this.inlineCompletion.insertText,this.inlineCompletion.range.getStartPosition().toString()]),this._isValid=!0,this._updatedRange=r??e.range}toInlineCompletion(e){return this.inlineCompletion.withRange(this._getUpdatedRange(e))}toSingleTextEdit(e){return new vp(this._getUpdatedRange(e),this.inlineCompletion.insertText)}isVisible(e,t,i){const r=cC(this._toFilterTextReplacement(i),e);if(!this._isValid||!this.inlineCompletion.range.getStartPosition().equals(this._getUpdatedRange(i).getStartPosition())||t.lineNumber!==r.range.startLineNumber)return!1;const o=e.getValueInRange(r.range,1),s=r.text,a=Math.max(0,t.column-r.range.startColumn);let l=s.substring(0,a),u=s.substring(a),c=o.substring(0,a),d=o.substring(a);const h=e.getLineIndentColumn(r.range.startLineNumber);return r.range.startColumn<=h&&(c=c.trimStart(),c.length===0&&(d=d.trimStart()),l=l.trimStart(),l.length===0&&(u=u.trimStart())),l.startsWith(c)&&!!PCe(d,u)}canBeReused(e,t){return this._isValid&&this._getUpdatedRange(void 0).containsPosition(t)&&this.isVisible(e,t,void 0)&&!this._isSmallerThanOriginal(void 0)}_toFilterTextReplacement(e){return new vp(this._getUpdatedRange(e),this.inlineCompletion.filterText)}_isSmallerThanOriginal(e){return c_e(this._getUpdatedRange(e)).isBefore(c_e(this.inlineCompletion.range))}_getUpdatedRange(e){return this.rangeVersion.read(e),this._updatedRange}_updateRange(e){const t=e.getDecorationRange(this.decorationId);return t?this._updatedRange.equalsRange(t)?!1:(this._updatedRange=t,!0):(this._isValid=!1,!0)}}function c_e(n){return n.startLineNumber===n.endLineNumber?new ye(1,1+n.endColumn-n.startColumn):new ye(1+n.endLineNumber-n.startLineNumber,n.endColumn)}const Nn={Visible:Q8,HasFocusedSuggestion:new wt("suggestWidgetHasFocusedSuggestion",!1,L("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new wt("suggestWidgetDetailsVisible",!1,L("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new wt("suggestWidgetMultipleSuggestions",!1,L("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new wt("suggestionMakesTextEdit",!0,L("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new wt("acceptSuggestionOnEnter",!0,L("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new wt("suggestionHasInsertAndReplaceRange",!1,L("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new wt("suggestionInsertMode",void 0,{type:"string",description:L("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new wt("suggestionCanResolve",!1,L("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},j0=new Q("suggestWidgetStatusBar");let nEt=class{constructor(e,t,i,r){var o;this.position=e,this.completion=t,this.container=i,this.provider=r,this.isInvalid=!1,this.score=Hh.Default,this.distance=0,this.textLabel=typeof t.label=="string"?t.label:(o=t.label)===null||o===void 0?void 0:o.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=t.sortText&&t.sortText.toLowerCase(),this.filterTextLow=t.filterText&&t.filterText.toLowerCase(),this.extensionId=t.extensionId,J.isIRange(t.range)?(this.editStart=new ye(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new ye(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new ye(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||J.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new ye(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new ye(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new ye(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||J.spansMultipleLines(t.range.insert)||J.spansMultipleLines(t.range.replace)||t.range.insert.startLineNumber!==e.lineNumber||t.range.replace.startLineNumber!==e.lineNumber||t.range.insert.startColumn!==t.range.replace.startColumn),typeof r.resolveCompletionItem!="function"&&(this._resolveCache=Promise.resolve(),this._resolveDuration=0)}get isResolved(){return this._resolveDuration!==void 0}get resolveDuration(){return this._resolveDuration!==void 0?this._resolveDuration:-1}async resolve(e){if(!this._resolveCache){const t=e.onCancellationRequested(()=>{this._resolveCache=void 0,this._resolveDuration=void 0}),i=new Js(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then(r=>{Object.assign(this.completion,r),this._resolveDuration=i.elapsed()},r=>{Gm(r)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{t.dispose()})}return this._resolveCache}};class KM{constructor(e=2,t=new Set,i=new Set,r=new Map,o=!0){this.snippetSortOrder=e,this.kindFilter=t,this.providerFilter=i,this.providerItemsToReuse=r,this.showDeprecated=o}}KM.default=new KM;let iEt;function rEt(){return iEt}class oEt{constructor(e,t,i,r){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=r}}async function vj(n,e,t,i=KM.default,r={triggerKind:0},o=Yn.None){const s=new Js;t=t.clone();const a=e.getWordAtPosition(t),l=a?new J(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):J.fromPositions(t),u={replace:l,insert:l.setEndPosition(t.lineNumber,t.column)},c=[],d=new Je,h=[];let m=!1;const f=(b,v,C)=>{var S,x,_;let F=!1;if(!v)return F;for(const D of v.suggestions)if(!i.kindFilter.has(D.kind)){if(!i.showDeprecated&&(!((S=D==null?void 0:D.tags)===null||S===void 0)&&S.includes(1)))continue;D.range||(D.range=u),D.sortText||(D.sortText=typeof D.label=="string"?D.label:D.label.label),!m&&D.insertTextRules&&D.insertTextRules&4&&(m=Vy.guessNeedsClipboard(D.insertText)),c.push(new nEt(t,D,v,b)),F=!0}return VH(v)&&d.add(v),h.push({providerName:(x=b._debugDisplayName)!==null&&x!==void 0?x:"unknown_provider",elapsedProvider:(_=v.duration)!==null&&_!==void 0?_:-1,elapsedOverall:C.elapsed()}),F},g=(async()=>{})();for(const b of n.orderedGroups(e)){let v=!1;if(await Promise.all(b.map(async C=>{if(i.providerItemsToReuse.has(C)){const S=i.providerItemsToReuse.get(C);S.forEach(x=>c.push(x)),v=v||S.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(C)))try{const S=new Js,x=await C.provideCompletionItems(e,t,r,o);v=f(C,x,S)||v}catch(S){qr(S)}})),v||o.isCancellationRequested)break}return await g,o.isCancellationRequested?(d.dispose(),Promise.reject(new Lg)):new oEt(c.sort(lEt(i.snippetSortOrder)),m,{entries:h,elapsed:s.elapsed()},d)}function yj(n,e){if(n.sortTextLow&&e.sortTextLow){if(n.sortTextLowe.sortTextLow)return 1}return n.textLabele.textLabel?1:n.completion.kind-e.completion.kind}function sEt(n,e){if(n.completion.kind!==e.completion.kind){if(n.completion.kind===27)return-1;if(e.completion.kind===27)return 1}return yj(n,e)}function aEt(n,e){if(n.completion.kind!==e.completion.kind){if(n.completion.kind===27)return 1;if(e.completion.kind===27)return-1}return yj(n,e)}const SV=new Map;SV.set(0,sEt),SV.set(2,aEt),SV.set(1,yj);function lEt(n){return SV.get(n)}$n.registerCommand("_executeCompletionItemProvider",async(n,...e)=>{const[t,i,r,o]=e;hi(en.isUri(t)),hi(ye.isIPosition(i)),hi(typeof r=="string"||!r),hi(typeof o=="number"||!o);const{completionProvider:s}=n.get(Zt),a=await n.get(Nl).createModelReference(t);try{const l={incomplete:!1,suggestions:[]},u=[],c=a.object.textEditorModel.validatePosition(i),d=await vj(s,a.object.textEditorModel,c,void 0,{triggerCharacter:r??void 0,triggerKind:r?1:0});for(const h of d.items)u.length<(o??0)&&u.push(h.resolve(Yn.None)),l.incomplete=l.incomplete||h.container.incomplete,l.suggestions.push(h.completion);try{return await Promise.all(u),l}finally{setTimeout(()=>d.disposable.dispose(),100)}}finally{a.dispose()}});function uEt(n,e){var t;(t=n.getContribution("editor.contrib.suggestController"))===null||t===void 0||t.triggerSuggest(new Set().add(e),void 0,!0)}class px{static isAllOff(e){return e.other==="off"&&e.comments==="off"&&e.strings==="off"}static isAllOn(e){return e.other==="on"&&e.comments==="on"&&e.strings==="on"}static valueFor(e,t){switch(t){case 1:return e.comments;case 2:return e.strings;default:return e.other}}}function d_e(n,e=ha){return RCt(n,e)?n.charAt(0).toUpperCase()+n.slice(1):n}var cEt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},dEt=function(n,e){return function(t,i){e(t,i,n)}};class h_e{constructor(e){this._delegates=e}resolve(e){for(const t of this._delegates){const i=t.resolve(e);if(i!==void 0)return i}}}class m_e{constructor(e,t,i,r){this._model=e,this._selection=t,this._selectionIdx=i,this._overtypingCapturer=r}resolve(e){const{name:t}=e;if(t==="SELECTION"||t==="TM_SELECTED_TEXT"){let i=this._model.getValueInRange(this._selection)||void 0,r=this._selection.startLineNumber!==this._selection.endLineNumber;if(!i&&this._overtypingCapturer){const o=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);o&&(i=o.value,r=o.multiline)}if(i&&r&&e.snippet){const o=this._model.getLineContent(this._selection.startLineNumber),s=Ki(o,0,this._selection.startColumn-1);let a=s;e.snippet.walk(u=>u===e?!1:(u instanceof cl&&(a=Ki(Pm(u.value).pop())),!0));const l=Pb(a,s);i=i.replace(/(\r\n|\r|\n)(.*)/g,(u,c,d)=>`${c}${a.substr(l)}${d}`)}return i}else{if(t==="TM_CURRENT_LINE")return this._model.getLineContent(this._selection.positionLineNumber);if(t==="TM_CURRENT_WORD"){const i=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return i&&i.word||void 0}else{if(t==="TM_LINE_INDEX")return String(this._selection.positionLineNumber-1);if(t==="TM_LINE_NUMBER")return String(this._selection.positionLineNumber);if(t==="CURSOR_INDEX")return String(this._selectionIdx);if(t==="CURSOR_NUMBER")return String(this._selectionIdx+1)}}}}class f_e{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if(t==="TM_FILENAME")return Kb(this._model.uri.fsPath);if(t==="TM_FILENAME_BASE"){const i=Kb(this._model.uri.fsPath),r=i.lastIndexOf(".");return r<=0?i:i.slice(0,r)}else{if(t==="TM_DIRECTORY")return g0e(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel(XW(this._model.uri));if(t==="TM_FILEPATH")return this._labelService.getUriLabel(this._model.uri);if(t==="RELATIVE_FILEPATH")return this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0})}}}class g_e{constructor(e,t,i,r){this._readClipboardText=e,this._selectionIdx=t,this._selectionCount=i,this._spread=r}resolve(e){if(e.name!=="CLIPBOARD")return;const t=this._readClipboardText();if(t){if(this._spread){const i=t.split(/\r\n|\n|\r/).filter(r=>!i0e(r));if(i.length===this._selectionCount)return i[this._selectionIdx]}return t}}}let xV=class{constructor(e,t,i){this._model=e,this._selection=t,this._languageConfigurationService=i}resolve(e){const{name:t}=e,i=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),r=this._languageConfigurationService.getLanguageConfiguration(i).comments;if(r){if(t==="LINE_COMMENT")return r.lineCommentToken||void 0;if(t==="BLOCK_COMMENT_START")return r.blockCommentStartToken||void 0;if(t==="BLOCK_COMMENT_END")return r.blockCommentEndToken||void 0}}};xV=cEt([dEt(2,tr)],xV);class rm{constructor(){this._date=new Date}resolve(e){const{name:t}=e;if(t==="CURRENT_YEAR")return String(this._date.getFullYear());if(t==="CURRENT_YEAR_SHORT")return String(this._date.getFullYear()).slice(-2);if(t==="CURRENT_MONTH")return String(this._date.getMonth().valueOf()+1).padStart(2,"0");if(t==="CURRENT_DATE")return String(this._date.getDate().valueOf()).padStart(2,"0");if(t==="CURRENT_HOUR")return String(this._date.getHours().valueOf()).padStart(2,"0");if(t==="CURRENT_MINUTE")return String(this._date.getMinutes().valueOf()).padStart(2,"0");if(t==="CURRENT_SECOND")return String(this._date.getSeconds().valueOf()).padStart(2,"0");if(t==="CURRENT_DAY_NAME")return rm.dayNames[this._date.getDay()];if(t==="CURRENT_DAY_NAME_SHORT")return rm.dayNamesShort[this._date.getDay()];if(t==="CURRENT_MONTH_NAME")return rm.monthNames[this._date.getMonth()];if(t==="CURRENT_MONTH_NAME_SHORT")return rm.monthNamesShort[this._date.getMonth()];if(t==="CURRENT_SECONDS_UNIX")return String(Math.floor(this._date.getTime()/1e3));if(t==="CURRENT_TIMEZONE_OFFSET"){const i=this._date.getTimezoneOffset(),r=i>0?"-":"+",o=Math.trunc(Math.abs(i/60)),s=o<10?"0"+o:o,a=Math.abs(i)-o*60,l=a<10?"0"+a:a;return r+s+":"+l}}}rm.dayNames=[L("Sunday","Sunday"),L("Monday","Monday"),L("Tuesday","Tuesday"),L("Wednesday","Wednesday"),L("Thursday","Thursday"),L("Friday","Friday"),L("Saturday","Saturday")],rm.dayNamesShort=[L("SundayShort","Sun"),L("MondayShort","Mon"),L("TuesdayShort","Tue"),L("WednesdayShort","Wed"),L("ThursdayShort","Thu"),L("FridayShort","Fri"),L("SaturdayShort","Sat")],rm.monthNames=[L("January","January"),L("February","February"),L("March","March"),L("April","April"),L("May","May"),L("June","June"),L("July","July"),L("August","August"),L("September","September"),L("October","October"),L("November","November"),L("December","December")],rm.monthNamesShort=[L("JanuaryShort","Jan"),L("FebruaryShort","Feb"),L("MarchShort","Mar"),L("AprilShort","Apr"),L("MayShort","May"),L("JuneShort","Jun"),L("JulyShort","Jul"),L("AugustShort","Aug"),L("SeptemberShort","Sep"),L("OctoberShort","Oct"),L("NovemberShort","Nov"),L("DecemberShort","Dec")];class p_e{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=mFt(this._workspaceService.getWorkspace());if(!cFt(t)){if(e.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(t);if(e.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(eK(e))return Kb(e.uri.path);let t=Kb(e.configPath.path);return t.endsWith(tK)&&(t=t.substr(0,t.length-tK.length-1)),t}_resoveWorkspacePath(e){if(eK(e))return d_e(e.uri.fsPath);const t=Kb(e.configPath.path);let i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?d_e(i):"/"}}class b_e{resolve(e){const{name:t}=e;if(t==="RANDOM")return Math.random().toString().slice(-6);if(t==="RANDOM_HEX")return Math.random().toString(16).slice(-6);if(t==="UUID")return PR()}}var hEt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},mEt=function(n,e){return function(t,i){e(t,i,n)}},om;class td{constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=u1e(t.placeholders,Qc.compareByIndex),this._placeholderGroupsIdx=-1}initialize(e){this._offset=e.newPosition}dispose(){this._placeholderDecorations&&this._editor.removeDecorations([...this._placeholderDecorations.values()]),this._placeholderGroups.length=0}_initDecorations(){if(this._offset===-1)throw new Error("Snippet not initialized!");if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;const e=this._editor.getModel();this._editor.changeDecorations(t=>{for(const i of this._snippet.placeholders){const r=this._snippet.offset(i),o=this._snippet.fullLen(i),s=J.fromPositions(e.getPositionAt(this._offset+r),e.getPositionAt(this._offset+r+o)),a=i.isFinalTabstop?td._decor.inactiveFinal:td._decor.inactive,l=t.addDecoration(s,a);this._placeholderDecorations.set(i,l)}})}move(e){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){const r=[];for(const o of this._placeholderGroups[this._placeholderGroupsIdx])if(o.transform){const s=this._placeholderDecorations.get(o),a=this._editor.getModel().getDecorationRange(s),l=this._editor.getModel().getValueInRange(a),u=o.transform.resolve(l).split(/\r\n|\r|\n/);for(let c=1;c0&&this._editor.executeEdits("snippet.placeholderTransform",r)}let t=!1;e===!0&&this._placeholderGroupsIdx0&&(this._placeholderGroupsIdx-=1,t=!0);const i=this._editor.getModel().changeDecorations(r=>{const o=new Set,s=[];for(const a of this._placeholderGroups[this._placeholderGroupsIdx]){const l=this._placeholderDecorations.get(a),u=this._editor.getModel().getDecorationRange(l);s.push(new Wt(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(a),r.changeDecorationOptions(l,a.isFinalTabstop?td._decor.activeFinal:td._decor.active),o.add(a);for(const c of this._snippet.enclosingPlaceholders(a)){const d=this._placeholderDecorations.get(c);r.changeDecorationOptions(d,c.isFinalTabstop?td._decor.activeFinal:td._decor.active),o.add(c)}}for(const[a,l]of this._placeholderDecorations)o.has(a)||r.changeDecorationOptions(l,a.isFinalTabstop?td._decor.inactiveFinal:td._decor.inactive);return s});return t?this.move(e):i??[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof Qc){const i=this._placeholderDecorations.get(t);if(this._editor.getModel().getDecorationRange(i).isEmpty()&&t.toString().length>0)return!0}t=t.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||this._placeholderGroups.length===0}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){if(this._snippet.placeholders.length===0)return!0;if(this._snippet.placeholders.length===1){const[e]=this._snippet.placeholders;if(e.isFinalTabstop&&this._snippet.rightMostDescendant===e)return!0}return!1}computePossibleSelections(){const e=new Map;for(const t of this._placeholderGroups){let i;for(const r of t){if(r.isFinalTabstop)break;i||(i=[],e.set(r.index,i));const o=this._placeholderDecorations.get(r),s=this._editor.getModel().getDecorationRange(o);if(!s){e.delete(r.index);break}i.push(s)}}return e}get activeChoice(){if(!this._placeholderDecorations)return;const e=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!(e!=null&&e.choice))return;const t=this._placeholderDecorations.get(e);if(!t)return;const i=this._editor.getModel().getDecorationRange(t);if(i)return{range:i,choice:e.choice}}get hasChoice(){let e=!1;return this._snippet.walk(t=>(e=t instanceof P2,!e)),e}merge(e){const t=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations(i=>{for(const r of this._placeholderGroups[this._placeholderGroupsIdx]){const o=e.shift(),s=o._snippet.placeholderInfo.last.index;for(const l of o._snippet.placeholderInfo.all)l.isFinalTabstop?l.index=r.index+(s+1)/this._nestingLevel:l.index=r.index+l.index/this._nestingLevel;this._snippet.replace(r,o._snippet.children);const a=this._placeholderDecorations.get(r);i.removeDecoration(a),this._placeholderDecorations.delete(r);for(const l of o._snippet.placeholders){const u=o._snippet.offset(l),c=o._snippet.fullLen(l),d=J.fromPositions(t.getPositionAt(o._offset+u),t.getPositionAt(o._offset+u+c)),h=i.addDecoration(d,td._decor.inactive);this._placeholderDecorations.set(l,h)}}this._placeholderGroups=u1e(this._snippet.placeholders,Qc.compareByIndex)})}}td._decor={active:yn.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:yn.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:yn.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:yn.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};const v_e={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let LV=om=class{static adjustWhitespace(e,t,i,r,o){const s=e.getLineContent(t.lineNumber),a=Ki(s,0,t.column-1);let l;return r.walk(u=>{if(!(u instanceof cl)||u.parent instanceof P2||o&&!o.has(u))return!0;const c=u.value.split(/\r\n|\r|\n/);if(i){const h=r.offset(u);if(h===0)c[0]=e.normalizeIndentation(c[0]);else{l=l??r.toString();const m=l.charCodeAt(h-1);(m===10||m===13)&&(c[0]=e.normalizeIndentation(a+c[0]))}for(let m=1;mx.get(Ry)),f=e.invokeWithinContext(x=>new f_e(x.get(ex),h)),g=()=>a,b=h.getValueInRange(om.adjustSelection(h,e.getSelection(),i,0)),v=h.getValueInRange(om.adjustSelection(h,e.getSelection(),0,r)),C=h.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),S=e.getSelections().map((x,_)=>({selection:x,idx:_})).sort((x,_)=>J.compareRangesUsingStarts(x.selection,_.selection));for(const{selection:x,idx:_}of S){let F=om.adjustSelection(h,x,i,0),D=om.adjustSelection(h,x,0,r);b!==h.getValueInRange(F)&&(F=x),v!==h.getValueInRange(D)&&(D=x);const M=x.setStartPosition(F.startLineNumber,F.startColumn).setEndPosition(D.endLineNumber,D.endColumn),T=new Vy().parse(t,!0,o),Z=M.getStartPosition(),E=om.adjustWhitespace(h,Z,s||_>0&&C!==h.getLineFirstNonWhitespaceColumn(x.positionLineNumber),T);T.resolveVariables(new h_e([f,new g_e(g,_,S.length,e.getOption(79)==="spread"),new m_e(h,x,_,l),new xV(h,x,u),new rm,new p_e(m),new b_e])),c[_]=Cr.replace(M,T.toString()),c[_].identifier={major:_,minor:0},c[_]._isTracked=!0,d[_]=new td(e,T,E)}return{edits:c,snippets:d}}static createEditsAndSnippetsFromEdits(e,t,i,r,o,s,a){if(!e.hasModel()||t.length===0)return{edits:[],snippets:[]};const l=[],u=e.getModel(),c=new Vy,d=new rM,h=new h_e([e.invokeWithinContext(f=>new f_e(f.get(ex),u)),new g_e(()=>o,0,e.getSelections().length,e.getOption(79)==="spread"),new m_e(u,e.getSelection(),0,s),new xV(u,e.getSelection(),a),new rm,new p_e(e.invokeWithinContext(f=>f.get(Ry))),new b_e]);t=t.sort((f,g)=>J.compareRangesUsingStarts(f.range,g.range));let m=0;for(let f=0;f0){const _=t[f-1].range,F=J.fromPositions(_.getEndPosition(),g.getStartPosition()),D=new cl(u.getValueInRange(F));d.appendChild(D),m+=D.value.length}const v=c.parseFragment(b,d);om.adjustWhitespace(u,g.getStartPosition(),!0,d,new Set(v)),d.resolveVariables(h);const C=d.toString(),S=C.slice(m);m=C.length;const x=Cr.replace(g,S);x.identifier={major:f,minor:0},x._isTracked=!0,l.push(x)}return c.ensureFinalTabstop(d,i,!0),{edits:l,snippets:[new td(e,d,"")]}}constructor(e,t,i=v_e,r){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=r,this._templateMerges=[],this._snippets=[]}dispose(){er(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(){if(!this._editor.hasModel())return;const{edits:e,snippets:t}=typeof this._template=="string"?om.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):om.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=t,this._editor.executeEdits("snippet",e,i=>{const r=i.filter(o=>!!o.identifier);for(let o=0;oWt.fromPositions(o.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=v_e){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:i,snippets:r}=om.createEditsAndSnippetsFromSelections(this._editor,e,t.overwriteBefore,t.overwriteAfter,!0,t.adjustWhitespace,t.clipboardText,t.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",i,o=>{const s=o.filter(l=>!!l.identifier);for(let l=0;lWt.fromPositions(l.range.getEndPosition()))})}next(){const e=this._move(!0);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}prev(){const e=this._move(!1);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}_move(e){const t=[];for(const i of this._snippets){const r=i.move(e);t.push(...r)}return t}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get hasChoice(){return this._snippets[0].hasChoice}get activeChoice(){return this._snippets[0].activeChoice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder)return!1;const e=this._editor.getSelections();if(e.length{o.push(...r.get(s))})}e.sort(J.compareRangesUsingStarts);for(const[i,r]of t){if(r.length!==e.length){t.delete(i);continue}r.sort(J.compareRangesUsingStarts);for(let o=0;o0}};LV=om=hEt([mEt(3,tr)],LV);var fEt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},_V=function(n,e){return function(t,i){e(t,i,n)}},bx;const y_e={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let Ws=bx=class{static get(e){return e.getContribution(bx.ID)}constructor(e,t,i,r,o){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=o,this._snippetListener=new Je,this._modelVersionId=-1,this._inSnippet=bx.InSnippetMode.bindTo(r),this._hasNextTabstop=bx.HasNextTabstop.bindTo(r),this._hasPrevTabstop=bx.HasPrevTabstop.bindTo(r)}dispose(){var e;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),(e=this._session)===null||e===void 0||e.dispose(),this._snippetListener.dispose()}insert(e,t){try{this._doInsert(e,typeof t>"u"?y_e:{...y_e,...t})}catch(i){this.cancel(),this._logService.error(i),this._logService.error("snippet_error"),this._logService.error("insert_template=",e),this._logService.error("existing_template=",this._session?this._session._logInfo():"")}}_doInsert(e,t){var i;if(this._editor.hasModel()){if(this._snippetListener.clear(),t.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&typeof e!="string"&&this.cancel(),this._session?(hi(typeof e=="string"),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new LV(this._editor,e,t,this._languageConfigurationService),this._session.insert()),t.undoStopAfter&&this._editor.getModel().pushStackElement(),!((i=this._session)===null||i===void 0)&&i.hasChoice){const r={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(c,d)=>{if(!this._session||c!==this._editor.getModel()||!ye.equals(this._editor.getPosition(),d))return;const{activeChoice:h}=this._session;if(!h||h.choice.options.length===0)return;const m=c.getValueInRange(h.range),f=!!h.choice.options.find(b=>b.value===m),g=[];for(let b=0;b{s==null||s.dispose(),a=!1},u=()=>{a||(s=this._languageFeaturesService.completionProvider.register({language:o.getLanguageId(),pattern:o.uri.fsPath,scheme:o.uri.scheme,exclusive:!0},r),this._snippetListener.add(s),a=!0)};this._choiceCompletions={provider:r,enable:u,disable:l}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent(r=>r.isFlush&&this.cancel())),this._snippetListener.add(this._editor.onDidChangeModel(()=>this.cancel())),this._snippetListener.add(this._editor.onDidChangeCursorSelection(()=>this._updateState()))}}_updateState(){if(!(!this._session||!this._editor.hasModel())){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this._editor.getModel().pushStackElement(),this.cancel();this._inSnippet.set(!0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){var e;if(!this._session||!this._editor.hasModel()){this._currentChoice=void 0;return}const{activeChoice:t}=this._session;if(!t||!this._choiceCompletions){(e=this._choiceCompletions)===null||e===void 0||e.disable(),this._currentChoice=void 0;return}this._currentChoice!==t.choice&&(this._currentChoice=t.choice,this._choiceCompletions.enable(),queueMicrotask(()=>{uEt(this._editor,this._choiceCompletions.provider)}))}finish(){for(;this._inSnippet.get();)this.next()}cancel(e=!1){var t;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),this._currentChoice=void 0,(t=this._session)===null||t===void 0||t.dispose(),this._session=void 0,this._modelVersionId=-1,e&&this._editor.setSelections([this._editor.getSelection()])}prev(){var e;(e=this._session)===null||e===void 0||e.prev(),this._updateState()}next(){var e;(e=this._session)===null||e===void 0||e.next(),this._updateState()}isInSnippet(){return!!this._inSnippet.get()}};Ws.ID="snippetController2",Ws.InSnippetMode=new wt("inSnippetMode",!1,L("inSnippetMode","Whether the editor in current in snippet mode")),Ws.HasNextTabstop=new wt("hasNextTabstop",!1,L("hasNextTabstop","Whether there is a next tab stop when in snippet mode")),Ws.HasPrevTabstop=new wt("hasPrevTabstop",!1,L("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode")),Ws=bx=fEt([_V(1,tl),_V(2,Zt),_V(3,ln),_V(4,tr)],Ws),yi(Ws.ID,Ws,4);const FV=Ko.bindToContribution(Ws.get);gt(new FV({id:"jumpToNextSnippetPlaceholder",precondition:Oe.and(Ws.InSnippetMode,Ws.HasNextTabstop),handler:n=>n.next(),kbOpts:{weight:130,kbExpr:ne.editorTextFocus,primary:2}})),gt(new FV({id:"jumpToPrevSnippetPlaceholder",precondition:Oe.and(Ws.InSnippetMode,Ws.HasPrevTabstop),handler:n=>n.prev(),kbOpts:{weight:130,kbExpr:ne.editorTextFocus,primary:1026}})),gt(new FV({id:"leaveSnippet",precondition:Ws.InSnippetMode,handler:n=>n.cancel(!0),kbOpts:{weight:130,kbExpr:ne.editorTextFocus,primary:9,secondary:[1033]}})),gt(new FV({id:"acceptSnippet",precondition:Ws.InSnippetMode,handler:n=>n.finish()}));var gEt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Cj=function(n,e){return function(t,i){e(t,i,n)}},tc;(function(n){n[n.Undo=0]="Undo",n[n.Redo=1]="Redo",n[n.AcceptWord=2]="AcceptWord",n[n.Other=3]="Other"})(tc||(tc={}));let wj=class extends Ie{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(e,t,i,r,o,s,a,l,u,c,d,h){super(),this.textModel=e,this.selectedSuggestItem=t,this.textModelVersionId=i,this._positions=r,this._debounceValue=o,this._suggestPreviewEnabled=s,this._suggestPreviewMode=a,this._inlineSuggestMode=l,this._enabled=u,this._instantiationService=c,this._commandService=d,this._languageConfigurationService=h,this._source=this._register(this._instantiationService.createInstance(bj,this.textModel,this.textModelVersionId,this._debounceValue)),this._isActive=ei(this,!1),this._forceUpdateSignal=sR("forceUpdate"),this._selectedInlineCompletionId=ei(this,void 0),this._primaryPosition=hn(this,f=>{var g;return(g=this._positions.read(f)[0])!==null&&g!==void 0?g:new ye(1,1)}),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([tc.Redo,tc.Undo,tc.AcceptWord]),this._fetchInlineCompletions=r2t({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:Jg.Automatic}),handleChange:(f,g)=>(f.didChange(this.textModelVersionId)&&this._preserveCurrentCompletionReasons.has(f.change)?g.preserveCurrentCompletion=!0:f.didChange(this._forceUpdateSignal)&&(g.inlineCompletionTriggerKind=f.change),!0)},(f,g)=>{if(this._forceUpdateSignal.read(f),!(this._enabled.read(f)&&this.selectedSuggestItem.read(f)||this._isActive.read(f))){this._source.cancelUpdate();return}this.textModelVersionId.read(f);const v=this.selectedInlineCompletion.get(),C=g.preserveCurrentCompletion||v!=null&&v.forwardStable?v:void 0,S=this._source.suggestWidgetInlineCompletions.get(),x=this.selectedSuggestItem.read(f);if(S&&!x){const D=this._source.inlineCompletions.get();zi(M=>{(!D||S.request.versionId>D.request.versionId)&&this._source.inlineCompletions.set(S.clone(),M),this._source.clearSuggestWidgetInlineCompletions(M)})}const _=this._primaryPosition.read(f),F={triggerKind:g.inlineCompletionTriggerKind,selectedSuggestionInfo:x==null?void 0:x.toSelectedSuggestionInfo()};return this._source.fetch(_,F,C)}),this._filteredInlineCompletionItems=hn(this,f=>{const g=this._source.inlineCompletions.read(f);if(!g)return[];const b=this._primaryPosition.read(f);return g.inlineCompletions.filter(C=>C.isVisible(this.textModel,b,f))}),this.selectedInlineCompletionIndex=hn(this,f=>{const g=this._selectedInlineCompletionId.read(f),b=this._filteredInlineCompletionItems.read(f),v=this._selectedInlineCompletionId===void 0?-1:b.findIndex(C=>C.semanticId===g);return v===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):v}),this.selectedInlineCompletion=hn(this,f=>{const g=this._filteredInlineCompletionItems.read(f),b=this.selectedInlineCompletionIndex.read(f);return g[b]}),this.lastTriggerKind=this._source.inlineCompletions.map(this,f=>f==null?void 0:f.request.context.triggerKind),this.inlineCompletionsCount=hn(this,f=>{if(this.lastTriggerKind.read(f)===Jg.Explicit)return this._filteredInlineCompletionItems.read(f).length}),this.state=x2({owner:this,equalityComparer:(f,g)=>!f||!g?f===g:JLe(f.ghostTexts,g.ghostTexts)&&f.inlineCompletion===g.inlineCompletion&&f.suggestItem===g.suggestItem},f=>{var g,b;const v=this.textModel,C=this.selectedSuggestItem.read(f);if(C){const S=cC(C.toSingleTextEdit(),v),x=this._computeAugmentation(S,f);if(!this._suggestPreviewEnabled.read(f)&&!x)return;const F=(g=x==null?void 0:x.edit)!==null&&g!==void 0?g:S,D=x?x.edit.text.length-S.text.length:0,M=this._suggestPreviewMode.read(f),T=this._positions.read(f),Z=[F,...Sj(this.textModel,T,F)],E=Z.map((W,A)=>o_e(W,v,M,T[A],D)).filter(Rm),R=(b=E[0])!==null&&b!==void 0?b:new UM(F.range.endLineNumber,[]);return{edits:Z,primaryGhostText:R,ghostTexts:E,inlineCompletion:x==null?void 0:x.completion,suggestItem:C}}else{if(!this._isActive.read(f))return;const S=this.selectedInlineCompletion.read(f);if(!S)return;const x=S.toSingleTextEdit(f),_=this._inlineSuggestMode.read(f),F=this._positions.read(f),D=[x,...Sj(this.textModel,F,x)],M=D.map((T,Z)=>o_e(T,v,_,F[Z],0)).filter(Rm);return M[0]?{edits:D,primaryGhostText:M[0],ghostTexts:M,inlineCompletion:S,suggestItem:void 0}:void 0}}),this.ghostTexts=x2({owner:this,equalityComparer:JLe},f=>{const g=this.state.read(f);if(g)return g.ghostTexts}),this.primaryGhostText=x2({owner:this,equalityComparer:jLe},f=>{const g=this.state.read(f);if(g)return g==null?void 0:g.primaryGhostText}),this._register(ZD(this._fetchInlineCompletions));let m;this._register(Zn(f=>{var g,b;const v=this.state.read(f),C=v==null?void 0:v.inlineCompletion;if((C==null?void 0:C.semanticId)!==(m==null?void 0:m.semanticId)&&(m=C,C)){const S=C.inlineCompletion,x=S.source;(b=(g=x.provider).handleItemDidShow)===null||b===void 0||b.call(g,x.inlineCompletions,S.sourceInlineCompletion,S.insertText)}}))}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletions.get()}async triggerExplicitly(e){ND(e,t=>{this._isActive.set(!0,t),this._forceUpdateSignal.trigger(t,Jg.Explicit)}),await this._fetchInlineCompletions.get()}stop(e){ND(e,t=>{this._isActive.set(!1,t),this._source.clear(t)})}_computeAugmentation(e,t){const i=this.textModel,r=this._source.suggestWidgetInlineCompletions.read(t),o=r?r.inlineCompletions:[this.selectedInlineCompletion.read(t)].filter(Rm);return wyt(o,a=>{let l=a.toSingleTextEdit(t);return l=cC(l,i,J.fromPositions(l.range.getStartPosition(),e.range.getEndPosition())),r_e(l,e)?{completion:a,edit:l}:void 0})}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();const t=this._filteredInlineCompletionItems.get()||[];if(t.length>0){const i=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[i].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}async accept(e){var t;if(e.getModel()!==this.textModel)throw new or;const i=this.state.get();if(!i||i.primaryGhostText.isEmpty()||!i.inlineCompletion)return;const r=i.inlineCompletion.toInlineCompletion(void 0);if(e.pushUndoStop(),r.snippetInfo)e.executeEdits("inlineSuggestion.accept",[Cr.replaceMove(r.range,""),...r.additionalTextEdits]),e.setPosition(r.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),(t=Ws.get(e))===null||t===void 0||t.insert(r.snippetInfo.snippet,{undoStopBefore:!1});else{const o=i.edits,s=C_e(o).map(a=>Wt.fromPositions(a));e.executeEdits("inlineSuggestion.accept",[...o.map(a=>Cr.replaceMove(a.range,a.text)),...r.additionalTextEdits]),e.setSelections(s,"inlineCompletionAccept")}r.command&&r.source.addRef(),zi(o=>{this._source.clear(o),this._isActive.set(!1,o)}),r.command&&(await this._commandService.executeCommand(r.command.id,...r.command.arguments||[]).then(void 0,qr),r.source.removeRef())}async acceptNextWord(e){await this._acceptNext(e,(t,i)=>{const r=this.textModel.getLanguageIdAtPosition(t.lineNumber,t.column),o=this._languageConfigurationService.getLanguageConfiguration(r),s=new RegExp(o.wordDefinition.source,o.wordDefinition.flags.replace("g","")),a=i.match(s);let l=0;a&&a.index!==void 0?a.index===0?l=a[0].length:l=a.index:l=i.length;const c=/\s+/g.exec(i);return c&&c.index!==void 0&&c.index+c[0].length{const r=i.match(/\n/);return r&&r.index!==void 0?r.index+1:i.length},1)}async _acceptNext(e,t,i){if(e.getModel()!==this.textModel)throw new or;const r=this.state.get();if(!r||r.primaryGhostText.isEmpty()||!r.inlineCompletion)return;const o=r.primaryGhostText,s=r.inlineCompletion.toInlineCompletion(void 0);if(s.snippetInfo||s.filterText!==s.insertText){await this.accept(e);return}const a=o.parts[0],l=new ye(o.lineNumber,a.column),u=a.text,c=t(l,u);if(c===u.length&&o.parts.length===1){this.accept(e);return}const d=u.substring(0,c),h=this._positions.get(),m=h[0];s.source.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();const f=J.fromPositions(m,l),g=e.getModel().getValueInRange(f)+d,b=new vp(f,g),v=[b,...Sj(this.textModel,h,b)],C=C_e(v).map(S=>Wt.fromPositions(S));e.executeEdits("inlineSuggestion.accept",v.map(S=>Cr.replaceMove(S.range,S.text))),e.setSelections(C,"inlineCompletionPartialAccept")}finally{this._isAcceptingPartially=!1}if(s.source.provider.handlePartialAccept){const f=J.fromPositions(s.range.getStartPosition(),Rd.ofText(d).addToPosition(l)),g=e.getModel().getValueInRange(f,1);s.source.provider.handlePartialAccept(s.source.inlineCompletions,s.sourceInlineCompletion,g.length,{kind:i})}}finally{s.source.removeRef()}}handleSuggestAccepted(e){var t,i;const r=cC(e.toSingleTextEdit(),this.textModel),o=this._computeAugmentation(r,void 0);if(!o)return;const s=o.completion.inlineCompletion;(i=(t=s.source.provider).handlePartialAccept)===null||i===void 0||i.call(t,s.source.inlineCompletions,s.sourceInlineCompletion,r.text.length,{kind:2})}};wj=gEt([Cj(9,$t),Cj(10,Xr),Cj(11,tr)],wj);function Sj(n,e,t){if(e.length===1)return[];const i=e[0],r=e.slice(1),o=t.range.getStartPosition(),s=t.range.getEndPosition(),a=n.getValueInRange(J.fromPositions(i,s)),l=qLe(i,o);if(l.lineNumber<1)return vn(new or(`positionWithinTextEdit line number should be bigger than 0. - Invalid subtraction between ${i.toString()} and ${o.toString()}`)),[];const u=pEt(t.text,l);return r.map(c=>{const d=ATt(qLe(c,o),s),h=n.getValueInRange(J.fromPositions(c,d)),m=Pb(a,h),f=J.fromPositions(c,c.delta(0,m));return new vp(f,u)})}function pEt(n,e){let t="";const i=Nmt(n);for(let r=e.lineNumber-1;rJ.compareRangesUsingStarts(o.range,s.range)),i=new XU(e.apply(n)).getNewRanges();return e.inverse().apply(i).map(o=>o.getEndPosition())}var bEt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},w_e=function(n,e){return function(t,i){e(t,i,n)}},JM;class xj{constructor(e){this.name=e}select(e,t,i){if(i.length===0)return 0;const r=i[0].score[0];for(let o=0;ol&&d.type===i[u].completion.kind&&d.insertText===i[u].completion.insertText&&(l=d.touch,a=u),i[u].completion.preselect&&s===-1)return s=u}return a!==-1?a:s!==-1?s:0}toJSON(){return this._cache.toJSON()}fromJSON(e){this._cache.clear();const t=0;for(const[i,r]of e)r.touch=t,r.type=typeof r.type=="number"?r.type:OI.fromString(r.type),this._cache.set(i,r);this._seq=this._cache.size}}class yEt extends xj{constructor(){super("recentlyUsedByPrefix"),this._trie=G2.forStrings(),this._seq=0}memorize(e,t,i){const{word:r}=e.getWordUntilPosition(t),o=`${e.getLanguageId()}/${r}`;this._trie.set(o,{type:i.completion.kind,insertText:i.completion.insertText,touch:this._seq++})}select(e,t,i){const{word:r}=e.getWordUntilPosition(t);if(!r)return super.select(e,t,i);const o=`${e.getLanguageId()}/${r}`;let s=this._trie.get(o);if(s||(s=this._trie.findSubstr(o)),s)for(let a=0;ae.push([i,t])),e.sort((t,i)=>-(t[1].touch-i[1].touch)).forEach((t,i)=>t[1].touch=i),e.slice(0,200)}fromJSON(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(const[t,i]of e)i.type=typeof i.type=="number"?i.type:OI.fromString(i.type),this._trie.set(t,i)}}}let jM=JM=class{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new Je,this._persistSoon=new Ri(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===TR.SHUTDOWN&&this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(e,t,i){this._withStrategy(e,t).memorize(e,t,i),this._persistSoon.schedule()}select(e,t,i){return this._withStrategy(e,t).select(e,t,i)}_withStrategy(e,t){var i;const r=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:e.getLanguageIdAtPosition(t.lineNumber,t.column),resource:e.uri});if(((i=this._strategy)===null||i===void 0?void 0:i.name)!==r){this._saveState();const o=JM._strategyCtors.get(r)||S_e;this._strategy=new o;try{const a=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,l=this._storageService.get(`${JM._storagePrefix}/${r}`,a);l&&this._strategy.fromJSON(JSON.parse(l))}catch{}}return this._strategy}_saveState(){if(this._strategy){const t=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,i=JSON.stringify(this._strategy);this._storageService.store(`${JM._storagePrefix}/${this._strategy.name}`,i,t,1)}}};jM._strategyCtors=new Map([["recentlyUsedByPrefix",yEt],["recentlyUsed",vEt],["first",S_e]]),jM._storagePrefix="suggest/memories",jM=JM=bEt([w_e(0,wf),w_e(1,Pn)],jM);const IV=Un("ISuggestMemories");qn(IV,jM,1);var CEt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},wEt=function(n,e){return function(t,i){e(t,i,n)}},Lj;let QM=Lj=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=Lj.AtEnd.bindTo(t),this._configListener=this._editor.onDidChangeConfiguration(i=>i.hasChanged(123)&&this._update()),this._update()}dispose(){var e;this._configListener.dispose(),(e=this._selectionListener)===null||e===void 0||e.dispose(),this._ckAtEnd.reset()}_update(){const e=this._editor.getOption(123)==="on";if(this._enabled!==e)if(this._enabled=e,this._enabled){const t=()=>{if(!this._editor.hasModel()){this._ckAtEnd.set(!1);return}const i=this._editor.getModel(),r=this._editor.getSelection(),o=i.getWordAtPosition(r.getStartPosition());if(!o){this._ckAtEnd.set(!1);return}this._ckAtEnd.set(o.endColumn===r.getStartPosition().column)};this._selectionListener=this._editor.onDidChangeCursorSelection(t),t()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}};QM.AtEnd=new wt("atEndOfWord",!1),QM=Lj=CEt([wEt(1,ln)],QM);var SEt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},xEt=function(n,e){return function(t,i){e(t,i,n)}},$M;let dC=$M=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=$M.OtherSuggestions.bindTo(t)}dispose(){this.reset()}reset(){var e;this._ckOtherSuggestions.reset(),(e=this._listener)===null||e===void 0||e.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:e,index:t},i){if(e.items.length===0){this.reset();return}if($M._moveIndex(!0,e,t)===t){this.reset();return}this._acceptNext=i,this._model=e,this._index=t,this._listener=this._editor.onDidChangeCursorPosition(()=>{this._ignore||this.reset()}),this._ckOtherSuggestions.set(!0)}static _moveIndex(e,t,i){let r=i;for(let o=t.items.length;o>0&&(r=(r+t.items.length+(e?1:-1))%t.items.length,!(r===i||!t.items[r].completion.additionalTextEdits));o--);return r}next(){this._move(!0)}prev(){this._move(!1)}_move(e){if(this._model)try{this._ignore=!0,this._index=$M._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};dC.OtherSuggestions=new wt("hasOtherSuggestions",!1),dC=$M=SEt([xEt(1,ln)],dC);class LEt{constructor(e,t,i,r){this._disposables=new Je,this._disposables.add(i.onDidSuggest(o=>{o.completionModel.items.length===0&&this.reset()})),this._disposables.add(i.onDidCancel(o=>{this.reset()})),this._disposables.add(t.onDidShow(()=>this._onItem(t.getFocusedItem()))),this._disposables.add(t.onDidFocus(this._onItem,this)),this._disposables.add(t.onDidHide(this.reset,this)),this._disposables.add(e.onWillType(o=>{if(this._active&&!t.isFrozen()&&i.state!==0){const s=o.charCodeAt(o.length-1);this._active.acceptCharacters.has(s)&&e.getOption(0)&&r(this._active.item)}}))}_onItem(e){if(!e||!ga(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;const t=new N9;for(const i of e.item.completion.commitCharacters)i.length>0&&t.add(i.charCodeAt(0));this._active={acceptCharacters:t,item:e}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}class nc{async provideSelectionRanges(e,t){const i=[];for(const r of t){const o=[];i.push(o);const s=new Map;await new Promise(a=>nc._bracketsRightYield(a,0,e,r,s)),await new Promise(a=>nc._bracketsLeftYield(a,0,e,r,s,o))}return i}static _bracketsRightYield(e,t,i,r,o){const s=new Map,a=Date.now();for(;;){if(t>=nc._maxRounds){e();break}if(!r){e();break}const l=i.bracketPairs.findNextBracket(r);if(!l){e();break}if(Date.now()-a>nc._maxDuration){setTimeout(()=>nc._bracketsRightYield(e,t+1,i,r,o));break}if(l.bracketInfo.isOpeningBracket){const c=l.bracketInfo.bracketText,d=s.has(c)?s.get(c):0;s.set(c,d+1)}else{const c=l.bracketInfo.getOpeningBrackets()[0].bracketText;let d=s.has(c)?s.get(c):0;if(d-=1,s.set(c,Math.max(0,d)),d<0){let h=o.get(c);h||(h=new ja,o.set(c,h)),h.push(l.range)}}r=l.range.getEndPosition()}}static _bracketsLeftYield(e,t,i,r,o,s){const a=new Map,l=Date.now();for(;;){if(t>=nc._maxRounds&&o.size===0){e();break}if(!r){e();break}const u=i.bracketPairs.findPrevBracket(r);if(!u){e();break}if(Date.now()-l>nc._maxDuration){setTimeout(()=>nc._bracketsLeftYield(e,t+1,i,r,o,s));break}if(u.bracketInfo.isOpeningBracket){const d=u.bracketInfo.bracketText;let h=a.has(d)?a.get(d):0;if(h-=1,a.set(d,Math.max(0,h)),h<0){const m=o.get(d);if(m){const f=m.shift();m.size===0&&o.delete(d);const g=J.fromPositions(u.range.getEndPosition(),f.getStartPosition()),b=J.fromPositions(u.range.getStartPosition(),f.getEndPosition());s.push({range:g}),s.push({range:b}),nc._addBracketLeading(i,b,s)}}}else{const d=u.bracketInfo.getOpeningBrackets()[0].bracketText,h=a.has(d)?a.get(d):0;a.set(d,h+1)}r=u.range.getStartPosition()}}static _addBracketLeading(e,t,i){if(t.startLineNumber===t.endLineNumber)return;const r=t.startLineNumber,o=e.getLineFirstNonWhitespaceColumn(r);o!==0&&o!==t.startColumn&&(i.push({range:J.fromPositions(new ye(r,o),t.getEndPosition())}),i.push({range:J.fromPositions(new ye(r,1),t.getEndPosition())}));const s=r-1;if(s>0){const a=e.getLineFirstNonWhitespaceColumn(s);a===t.startColumn&&a!==e.getLineLastNonWhitespaceColumn(s)&&(i.push({range:J.fromPositions(new ye(s,a),t.getEndPosition())}),i.push({range:J.fromPositions(new ye(s,1),t.getEndPosition())}))}}}nc._maxDuration=30,nc._maxRounds=2;class sm{static async create(e,t){if(!t.getOption(118).localityBonus||!t.hasModel())return sm.None;const i=t.getModel(),r=t.getPosition();if(!e.canComputeWordRanges(i.uri))return sm.None;const[o]=await new nc().provideSelectionRanges(i,[r]);if(o.length===0)return sm.None;const s=await e.computeWordRanges(i.uri,o[0].range);if(!s)return sm.None;const a=i.getWordUntilPosition(r);return delete s[a.word],new class extends sm{distance(l,u){if(!r.equals(t.getPosition()))return 0;if(u.kind===17)return 2<<20;const c=typeof u.label=="string"?u.label:u.label.label,d=s[c];if(h1e(d))return 2<<20;const h=dI(d,J.fromPositions(l),J.compareRangesUsingStarts),m=h>=0?d[h]:d[Math.max(0,~h-1)];let f=o.length;for(const g of o){if(!J.containsRange(g.range,m))break;f-=1}return f}}}}sm.None=new class extends sm{distance(){return 0}};let x_e=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}};class Q0{constructor(e,t,i,r,o,s,a=fR.default,l=void 0){this.clipboardText=l,this._snippetCompareFn=Q0._compareCompletionItems,this._items=e,this._column=t,this._wordDistance=r,this._options=o,this._refilterKind=1,this._lineContext=i,this._fuzzyScoreOptions=a,s==="top"?this._snippetCompareFn=Q0._compareCompletionItemsSnippetsUp:s==="bottom"&&(this._snippetCompareFn=Q0._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(e){(this._lineContext.leadingLineContent!==e.leadingLineContent||this._lineContext.characterCountDelta!==e.characterCountDelta)&&(this._refilterKind=this._lineContext.characterCountDelta0&&i[0].container.incomplete&&e.add(t);return e}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){this._refilterKind!==0&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;const e=[],{leadingLineContent:t,characterCountDelta:i}=this._lineContext;let r="",o="";const s=this._refilterKind===1?this._items:this._filteredItems,a=[],l=!this._options.filterGraceful||s.length>2e3?I2:D2t;for(let u=0;u=m)c.score=Hh.Default;else if(typeof c.completion.filterText=="string"){const g=l(r,o,f,c.completion.filterText,c.filterTextLow,0,this._fuzzyScoreOptions);if(!g)continue;tY(c.completion.filterText,c.textLabel)===0?c.score=g:(c.score=L2t(r,o,f,c.textLabel,c.labelLow,0),c.score[0]=g[0])}else{const g=l(r,o,f,c.textLabel,c.labelLow,0,this._fuzzyScoreOptions);if(!g)continue;c.score=g}}c.idx=u,c.distance=this._wordDistance.distance(c.position,c.completion),a.push(c),e.push(c.textLabel.length)}this._filteredItems=a.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?OY(e.length-.85,e,(u,c)=>u-c):0}}static _compareCompletionItems(e,t){return e.score[0]>t.score[0]?-1:e.score[0]t.distance?1:e.idxt.idx?1:0}static _compareCompletionItemsSnippetsDown(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===27)return 1;if(t.completion.kind===27)return-1}return Q0._compareCompletionItems(e,t)}static _compareCompletionItemsSnippetsUp(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===27)return-1;if(t.completion.kind===27)return 1}return Q0._compareCompletionItems(e,t)}}var _Et=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},$0=function(n,e){return function(t,i){e(t,i,n)}},_j;class hC{static shouldAutoTrigger(e){if(!e.hasModel())return!1;const t=e.getModel(),i=e.getPosition();t.tokenization.tokenizeIfCheap(i.lineNumber);const r=t.getWordAtPosition(i);return!(!r||r.endColumn!==i.column&&r.startColumn+1!==i.column||!isNaN(Number(r.word)))}constructor(e,t,i){this.leadingLineContent=e.getLineContent(t.lineNumber).substr(0,t.column-1),this.leadingWord=e.getWordUntilPosition(t),this.lineNumber=t.lineNumber,this.column=t.column,this.triggerOptions=i}}function FEt(n,e,t){if(!e.getContextKeyValue(Cs.inlineSuggestionVisible.key))return!0;const i=e.getContextKeyValue(Cs.suppressSuggestions.key);return i!==void 0?!i:!n.getOption(62).suppressSuggestions}function IEt(n,e,t){if(!e.getContextKeyValue("inlineSuggestionVisible"))return!0;const i=e.getContextKeyValue(Cs.suppressSuggestions.key);return i!==void 0?!i:!n.getOption(62).suppressSuggestions}let DV=_j=class{constructor(e,t,i,r,o,s,a,l,u){this._editor=e,this._editorWorkerService=t,this._clipboardService=i,this._telemetryService=r,this._logService=o,this._contextKeyService=s,this._configurationService=a,this._languageFeaturesService=l,this._envService=u,this._toDispose=new Je,this._triggerCharacterListener=new Je,this._triggerQuickSuggest=new Id,this._triggerState=void 0,this._completionDisposables=new Je,this._onDidCancel=new be,this._onDidTrigger=new be,this._onDidSuggest=new be,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new Wt(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeModelLanguage(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeConfiguration(()=>{this._updateTriggerCharacters()})),this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange(()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()}));let c=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{c=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{c=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(d=>{c||this._onCursorChange(d)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{!c&&this._triggerState!==void 0&&this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){er(this._triggerCharacterListener),er([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(91)||!this._editor.hasModel()||!this._editor.getOption(121))return;const e=new Map;for(const i of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(const r of i.triggerCharacters||[]){let o=e.get(r);o||(o=new Set,o.add(rEt()),e.set(r,o)),o.add(i)}const t=i=>{var r;if(!IEt(this._editor,this._contextKeyService,this._configurationService)||hC.shouldAutoTrigger(this._editor))return;if(!i){const a=this._editor.getPosition();i=this._editor.getModel().getLineContent(a.lineNumber).substr(0,a.column-1)}let o="";zv(i.charCodeAt(i.length-1))?os(i.charCodeAt(i.length-2))&&(o=i.substr(i.length-2)):o=i.charAt(i.length-1);const s=e.get(o);if(s){const a=new Map;if(this._completionModel)for(const[l,u]of this._completionModel.getItemsByProvider())s.has(l)||a.set(l,u);this.trigger({auto:!0,triggerKind:1,triggerCharacter:o,retrigger:!!this._completionModel,clipboardText:(r=this._completionModel)===null||r===void 0?void 0:r.clipboardText,completionOptions:{providerFilter:s,providerItemsToReuse:a}})}};this._triggerCharacterListener.add(this._editor.onDidType(t)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd(()=>t()))}get state(){return this._triggerState?this._triggerState.auto?2:1:0}cancel(e=!1){var t;this._triggerState!==void 0&&(this._triggerQuickSuggest.cancel(),(t=this._requestToken)===null||t===void 0||t.cancel(),this._requestToken=void 0,this._triggerState=void 0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:e}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){this._triggerState!==void 0&&(!this._editor.hasModel()||!this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.cancel():this.trigger({auto:this._triggerState.auto,retrigger:!0}))}_onCursorChange(e){if(!this._editor.hasModel())return;const t=this._currentSelection;if(this._currentSelection=this._editor.getSelection(),!e.selection.isEmpty()||e.reason!==0&&e.reason!==3||e.source!=="keyboard"&&e.source!=="deleteLeft"){this.cancel();return}this._triggerState===void 0&&e.reason===0?(t.containsRange(this._currentSelection)||t.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():this._triggerState!==void 0&&e.reason===3&&this._refilterCompletionItems()}_onCompositionEnd(){this._triggerState===void 0?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){var e;px.isAllOff(this._editor.getOption(89))||this._editor.getOption(118).snippetsPreventQuickSuggestions&&(!((e=Ws.get(this._editor))===null||e===void 0)&&e.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!hC.shouldAutoTrigger(this._editor)||!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;const t=this._editor.getModel(),i=this._editor.getPosition(),r=this._editor.getOption(89);if(!px.isAllOff(r)){if(!px.isAllOn(r)){t.tokenization.tokenizeIfCheap(i.lineNumber);const o=t.tokenization.getLineTokens(i.lineNumber),s=o.getStandardTokenType(o.findTokenIndexAtOffset(Math.max(i.column-1-1,0)));if(px.valueFor(r,s)!=="on")return}FEt(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}},this._editor.getOption(90)))}_refilterCompletionItems(){hi(this._editor.hasModel()),hi(this._triggerState!==void 0);const e=this._editor.getModel(),t=this._editor.getPosition(),i=new hC(e,t,{...this._triggerState,refilter:!0});this._onNewContext(i)}trigger(e){var t,i,r,o,s,a;if(!this._editor.hasModel())return;const l=this._editor.getModel(),u=new hC(l,this._editor.getPosition(),e);this.cancel(e.retrigger),this._triggerState=e,this._onDidTrigger.fire({auto:e.auto,shy:(t=e.shy)!==null&&t!==void 0?t:!1,position:this._editor.getPosition()}),this._context=u;let c={triggerKind:(i=e.triggerKind)!==null&&i!==void 0?i:0};e.triggerCharacter&&(c={triggerKind:1,triggerCharacter:e.triggerCharacter}),this._requestToken=new fo;const d=this._editor.getOption(112);let h=1;switch(d){case"top":h=0;break;case"bottom":h=2;break}const{itemKind:m,showDeprecated:f}=_j.createSuggestFilter(this._editor),g=new KM(h,(o=(r=e.completionOptions)===null||r===void 0?void 0:r.kindFilter)!==null&&o!==void 0?o:m,(s=e.completionOptions)===null||s===void 0?void 0:s.providerFilter,(a=e.completionOptions)===null||a===void 0?void 0:a.providerItemsToReuse,f),b=sm.create(this._editorWorkerService,this._editor),v=vj(this._languageFeaturesService.completionProvider,l,this._editor.getPosition(),g,c,this._requestToken.token);Promise.all([v,b]).then(async([C,S])=>{var x;if((x=this._requestToken)===null||x===void 0||x.dispose(),!this._editor.hasModel())return;let _=e==null?void 0:e.clipboardText;if(!_&&C.needsClipboard&&(_=await this._clipboardService.readText()),this._triggerState===void 0)return;const F=this._editor.getModel(),D=new hC(F,this._editor.getPosition(),e),M={...fR.default,firstMatchCanBeWeak:!this._editor.getOption(118).matchOnWordStartOnly};if(this._completionModel=new Q0(C.items,this._context.column,{leadingLineContent:D.leadingLineContent,characterCountDelta:D.column-this._context.column},S,this._editor.getOption(118),this._editor.getOption(112),M,_),this._completionDisposables.add(C.disposable),this._onNewContext(D),this._reportDurationsTelemetry(C.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const T of C.items)T.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${T.provider._debugDisplayName}`,T.completion)}).catch(vn)}_reportDurationsTelemetry(e){this._telemetryGate++%230===0&&setTimeout(()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(e)}),this._logService.debug("suggest.durations.json",e)})}static createSuggestFilter(e){const t=new Set;e.getOption(112)==="none"&&t.add(27);const r=e.getOption(118);return r.showMethods||t.add(0),r.showFunctions||t.add(1),r.showConstructors||t.add(2),r.showFields||t.add(3),r.showVariables||t.add(4),r.showClasses||t.add(5),r.showStructs||t.add(6),r.showInterfaces||t.add(7),r.showModules||t.add(8),r.showProperties||t.add(9),r.showEvents||t.add(10),r.showOperators||t.add(11),r.showUnits||t.add(12),r.showValues||t.add(13),r.showConstants||t.add(14),r.showEnums||t.add(15),r.showEnumMembers||t.add(16),r.showKeywords||t.add(17),r.showWords||t.add(18),r.showColors||t.add(19),r.showFiles||t.add(20),r.showReferences||t.add(21),r.showColors||t.add(22),r.showFolders||t.add(23),r.showTypeParameters||t.add(24),r.showSnippets||t.add(27),r.showUsers||t.add(25),r.showIssues||t.add(26),{itemKind:t,showDeprecated:r.showDeprecated}}_onNewContext(e){if(this._context){if(e.lineNumber!==this._context.lineNumber){this.cancel();return}if(Ki(e.leadingLineContent)!==Ki(this._context.leadingLineContent)){this.cancel();return}if(e.columnthis._context.leadingWord.startColumn){if(hC.shouldAutoTrigger(this._editor)&&this._context){const i=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:i}})}return}if(e.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&e.leadingWord.word.length!==0){const t=new Map,i=new Set;for(const[r,o]of this._completionModel.getItemsByProvider())o.length>0&&o[0].container.incomplete?i.add(r):t.set(r,o);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:i,providerItemsToReuse:t}})}else{const t=this._completionModel.lineContext;let i=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},this._completionModel.items.length===0){const r=hC.shouldAutoTrigger(this._editor);if(!this._context){this.cancel();return}if(r&&this._context.leadingWord.endColumn0,i&&e.leadingWord.word.length===0){this.cancel();return}}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:e.triggerOptions,isFrozen:i})}}}}};DV=_j=_Et([$0(1,Jc),$0(2,gp),$0(3,Zl),$0(4,tl),$0(5,ln),$0(6,Pn),$0(7,Zt),$0(8,MK)],DV);class MV{constructor(e,t){this._disposables=new Je,this._lastOvertyped=[],this._locked=!1,this._disposables.add(e.onWillType(()=>{if(this._locked||!e.hasModel())return;const i=e.getSelections(),r=i.length;let o=!1;for(let a=0;aMV._maxSelectionLength)return;this._lastOvertyped[a]={value:s.getValueInRange(l),multiline:l.startLineNumber!==l.endLineNumber}}})),this._disposables.add(t.onDidTrigger(i=>{this._locked=!0})),this._disposables.add(t.onDidCancel(i=>{this._locked=!1}))}getLastOvertypedInfo(e){if(e>=0&&e=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Fj=function(n,e){return function(t,i){e(t,i,n)}};let MEt=class aTe extends k0{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();this.label&&(this.label.textContent=L({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",this._action.label,aTe.symbolPrintEnter(e)))}static symbolPrintEnter(e){var t;return(t=e.getLabel())===null||t===void 0?void 0:t.replace(/\benter\b/gi,"⏎")}},Ij=class{constructor(e,t,i,r,o){this._menuId=t,this._menuService=r,this._contextKeyService=o,this._menuDisposables=new Je,this.element=je(e,Ct(".suggest-status-bar"));const s=a=>a instanceof Xu?i.createInstance(MEt,a,void 0):void 0;this._leftActions=new Kc(this.element,{actionViewItemProvider:s}),this._rightActions=new Kc(this.element,{actionViewItemProvider:s}),this._leftActions.domNode.classList.add("left"),this._rightActions.domNode.classList.add("right")}dispose(){this._menuDisposables.dispose(),this._leftActions.dispose(),this._rightActions.dispose(),this.element.remove()}show(){const e=this._menuService.createMenu(this._menuId,this._contextKeyService),t=()=>{const i=[],r=[];for(const[o,s]of e.getActions())o==="left"?i.push(...s):r.push(...s);this._leftActions.clear(),this._leftActions.push(i),this._rightActions.clear(),this._rightActions.push(r)};this._menuDisposables.add(e.onDidChange(()=>t())),this._menuDisposables.add(e)}hide(){this._menuDisposables.clear()}};Ij=DEt([Fj(2,$t),Fj(3,Gu),Fj(4,ln)],Ij);var kEt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},NEt=function(n,e){return function(t,i){e(t,i,n)}};function Dj(n){return!!n&&!!(n.completion.documentation||n.completion.detail&&n.completion.detail!==n.completion.label)}let Mj=class{constructor(e,t){this._editor=e,this._onDidClose=new be,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new be,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new Je,this._renderDisposeable=new Je,this._borderWidth=1,this._size=new mi(330,0),this.domNode=Ct(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(xf,{editor:e}),this._body=Ct(".body"),this._scrollbar=new RI(this._body,{alwaysConsumeMouseWheel:!0}),je(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=je(this._body,Ct(".header")),this._close=je(this._header,Ct("span"+sn.asCSSSelector(ut.close))),this._close.title=L("details.close","Close"),this._type=je(this._header,Ct("p.type")),this._docs=je(this._body,Ct("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(50)&&this._configureFont()}))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const e=this._editor.getOptions(),t=e.get(50),i=t.getMassagedFontFamily(),r=e.get(119)||t.fontSize,o=e.get(120)||t.lineHeight,s=t.fontWeight,a=`${r}px`,l=`${o}px`;this.domNode.style.fontSize=a,this.domNode.style.lineHeight=`${o/r}`,this.domNode.style.fontWeight=s,this.domNode.style.fontFeatureSettings=t.fontFeatureSettings,this._type.style.fontFamily=i,this._close.style.height=l,this._close.style.width=l}getLayoutInfo(){const e=this._editor.getOption(120)||this._editor.getOption(50).lineHeight,t=this._borderWidth,i=t*2;return{lineHeight:e,borderWidth:t,borderHeight:i,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=L("loading","Loading..."),this._docs.textContent="",this.domNode.classList.remove("no-docs","no-type"),this.layout(this.size.width,this.getLayoutInfo().lineHeight*2),this._onDidChangeContents.fire(this)}renderItem(e,t){var i,r;this._renderDisposeable.clear();let{detail:o,documentation:s}=e.completion;if(t){let a="";a+=`score: ${e.score[0]} +`)}withRange(e){return new SA(this.filterText,this.command,e,this.insertText,this.snippetInfo,this.additionalTextEdits,this.sourceInlineCompletion,this.source)}hash(){return JSON.stringify({insertText:this.insertText,range:this.range.toString()})}}function UTt(n,e){const t=e.getWordAtPosition(n),i=e.getLineMaxColumn(n.lineNumber);return t?new J(n.lineNumber,t.startColumn,n.lineNumber,i):J.fromPositions(n,n.with(void 0,i))}function iLe(n,e,t,i){const o=t.getLineContent(e.lineNumber).substring(0,e.column-1)+n,s=t.tokenization.tokenizeLineWithEdit(e,o.length-(e.column-1),n),a=s==null?void 0:s.sliceAndInflate(e.column-1,o.length,0);return a?OTt(a,i):n}function cC(n,e,t){const i=t?n.range.intersectRanges(t):n.range;if(!i)return n;const r=e.getValueInRange(i,1),o=Pb(r,n.text),s=Zd.ofText(r.substring(0,o)).addToPosition(n.range.getStartPosition()),a=n.text.substring(o),l=J.fromPositions(s,n.range.getEndPosition());return new yp(l,a)}function rLe(n,e){return n.text.startsWith(e.text)&&KTt(n.range,e.range)}function oLe(n,e,t,i,r=0){let o=cC(n,e);if(o.range.endLineNumber!==o.range.startLineNumber)return;const s=e.getLineContent(o.range.startLineNumber),a=Ui(s).length;if(o.range.startColumn-1<=a){const f=Ui(o.text).length,g=s.substring(o.range.startColumn-1,a),[b,y]=[o.range.getStartPosition(),o.range.getEndPosition()],C=b.column+g.length<=y.column?b.delta(0,g.length):y,w=J.fromPositions(C,y),x=o.text.startsWith(g)?o.text.substring(g.length):o.text.substring(f);o=new yp(w,x)}const u=e.getValueInRange(o.range),c=JTt(u,o.text);if(!c)return;const d=o.range.startLineNumber,h=new Array;if(t==="prefix"){const f=c.filter(g=>g.originalLength===0);if(f.length>1||f.length===1&&f[0].originalStart!==u.length)return}const m=o.text.length-r;for(const f of c){const g=o.range.startColumn+f.originalStart+f.originalLength;if(t==="subwordSmart"&&i&&i.lineNumber===o.range.startLineNumber&&g0)return;if(f.modifiedLength===0)continue;const b=f.modifiedStart+f.modifiedLength,y=Math.max(f.modifiedStart,Math.min(b,m)),C=o.text.substring(f.modifiedStart,y),w=o.text.substring(y,Math.max(f.modifiedStart,b));C.length>0&&h.push(new CA(g,C,!1)),w.length>0&&h.push(new CA(g,w,!0))}return new UN(d,h)}function KTt(n,e){return e.getStartPosition().equals(n.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(n.getEndPosition())}let Rf;function JTt(n,e){if((Rf==null?void 0:Rf.originalValue)===n&&(Rf==null?void 0:Rf.newValue)===e)return Rf==null?void 0:Rf.changes;{let t=aLe(n,e,!0);if(t){const i=sLe(t);if(i>0){const r=aLe(n,e,!1);r&&sLe(r)5e3||e.length>5e3)return;function i(u){let c=0;for(let d=0,h=u.length;dc&&(c=m)}return c}const r=Math.max(i(n),i(e));function o(u){if(u<0)throw new Error("unexpected");return r+u+1}function s(u){let c=0,d=0;const h=new Int32Array(u.length);for(let m=0,f=u.length;ma},{getElements:()=>l}).ComputeDiff(!1).changes}var jTt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},lLe=function(n,e){return function(t,i){e(t,i,n)}};let bj=class extends Fe{constructor(e,t,i,r,o){super(),this.textModel=e,this.versionId=t,this._debounceValue=i,this.languageFeaturesService=r,this.languageConfigurationService=o,this._updateOperation=this._register(new Ns),this.inlineCompletions=TD("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=TD("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent(()=>{this._updateOperation.clear()}))}fetch(e,t,i){var r,o;const s=new $Tt(e,t,this.textModel.getVersionId()),a=t.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if(!((r=this._updateOperation.value)===null||r===void 0)&&r.request.satisfies(s))return this._updateOperation.value.promise;if(!((o=a.get())===null||o===void 0)&&o.request.satisfies(s))return Promise.resolve(!0);const l=!!this._updateOperation.value;this._updateOperation.clear();const u=new fo,c=(async()=>{if((l||t.triggerKind===Jg.Automatic)&&await QTt(this._debounceValue.get(this.textModel),u.token),u.token.isCancellationRequested||this.textModel.getVersionId()!==s.versionId)return!1;const m=new Date,f=await zTt(this.languageFeaturesService.inlineCompletionsProvider,e,this.textModel,t,u.token,this.languageConfigurationService);if(u.token.isCancellationRequested||this.textModel.getVersionId()!==s.versionId)return!1;const g=new Date;this._debounceValue.update(this.textModel,g.getTime()-m.getTime());const b=new tEt(f,s,this.textModel,this.versionId);if(i){const y=i.toInlineCompletion(void 0);i.canBeReused(this.textModel,e)&&!f.has(y)&&b.prepend(i.inlineCompletion,y.range,!0)}return this._updateOperation.clear(),Bi(y=>{a.set(b,y)}),!0})(),d=new eEt(s,u,c);return this._updateOperation.value=d,c}clear(e){this._updateOperation.clear(),this.inlineCompletions.set(void 0,e),this.suggestWidgetInlineCompletions.set(void 0,e)}clearSuggestWidgetInlineCompletions(e){var t;!((t=this._updateOperation.value)===null||t===void 0)&&t.request.context.selectedSuggestionInfo&&this._updateOperation.clear(),this.suggestWidgetInlineCompletions.set(void 0,e)}cancelUpdate(){this._updateOperation.clear()}};bj=jTt([lLe(3,Rt),lLe(4,er)],bj);function QTt(n,e){return new Promise(t=>{let i;const r=setTimeout(()=>{i&&i.dispose(),t()},n);e&&(i=e.onCancellationRequested(()=>{clearTimeout(r),i&&i.dispose(),t()}))})}class $Tt{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&qTt(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,(t,i)=>t.equals(i))&&(e.context.triggerKind===Jg.Automatic||this.context.triggerKind===Jg.Explicit)&&this.versionId===e.versionId}}function qTt(n,e,t){return!n||!e?n===e:t(n,e)}class eEt{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class tEt{get inlineCompletions(){return this._inlineCompletions}constructor(e,t,i,r){this.inlineCompletionProviderResult=e,this.request=t,this.textModel=i,this.versionId=r,this._refCount=1,this._prependedInlineCompletionItems=[],this._rangeVersionIdValue=0,this._rangeVersionId=hn(this,s=>{this.versionId.read(s);let a=!1;for(const l of this._inlineCompletions)a=a||l._updateRange(this.textModel);return a&&this._rangeVersionIdValue++,this._rangeVersionIdValue});const o=i.deltaDecorations([],e.completions.map(s=>({range:s.range,options:{description:"inline-completion-tracking-range"}})));this._inlineCompletions=e.completions.map((s,a)=>new uLe(s,o[a],this._rangeVersionId))}clone(){return this._refCount++,this}dispose(){if(this._refCount--,this._refCount===0){setTimeout(()=>{this.textModel.isDisposed()||this.textModel.deltaDecorations(this._inlineCompletions.map(e=>e.decorationId),[])},0),this.inlineCompletionProviderResult.dispose();for(const e of this._prependedInlineCompletionItems)e.source.removeRef()}}prepend(e,t,i){i&&e.source.addRef();const r=this.textModel.deltaDecorations([],[{range:t,options:{description:"inline-completion-tracking-range"}}])[0];this._inlineCompletions.unshift(new uLe(e,r,this._rangeVersionId,t)),this._prependedInlineCompletionItems.push(e)}}class uLe{get forwardStable(){var e;return(e=this.inlineCompletion.source.inlineCompletions.enableForwardStability)!==null&&e!==void 0?e:!1}constructor(e,t,i,r){this.inlineCompletion=e,this.decorationId=t,this.rangeVersion=i,this.semanticId=JSON.stringify([this.inlineCompletion.filterText,this.inlineCompletion.insertText,this.inlineCompletion.range.getStartPosition().toString()]),this._isValid=!0,this._updatedRange=r??e.range}toInlineCompletion(e){return this.inlineCompletion.withRange(this._getUpdatedRange(e))}toSingleTextEdit(e){return new yp(this._getUpdatedRange(e),this.inlineCompletion.insertText)}isVisible(e,t,i){const r=cC(this._toFilterTextReplacement(i),e);if(!this._isValid||!this.inlineCompletion.range.getStartPosition().equals(this._getUpdatedRange(i).getStartPosition())||t.lineNumber!==r.range.startLineNumber)return!1;const o=e.getValueInRange(r.range,1),s=r.text,a=Math.max(0,t.column-r.range.startColumn);let l=s.substring(0,a),u=s.substring(a),c=o.substring(0,a),d=o.substring(a);const h=e.getLineIndentColumn(r.range.startLineNumber);return r.range.startColumn<=h&&(c=c.trimStart(),c.length===0&&(d=d.trimStart()),l=l.trimStart(),l.length===0&&(u=u.trimStart())),l.startsWith(c)&&!!PCe(d,u)}canBeReused(e,t){return this._isValid&&this._getUpdatedRange(void 0).containsPosition(t)&&this.isVisible(e,t,void 0)&&!this._isSmallerThanOriginal(void 0)}_toFilterTextReplacement(e){return new yp(this._getUpdatedRange(e),this.inlineCompletion.filterText)}_isSmallerThanOriginal(e){return cLe(this._getUpdatedRange(e)).isBefore(cLe(this.inlineCompletion.range))}_getUpdatedRange(e){return this.rangeVersion.read(e),this._updatedRange}_updateRange(e){const t=e.getDecorationRange(this.decorationId);return t?this._updatedRange.equalsRange(t)?!1:(this._updatedRange=t,!0):(this._isValid=!1,!0)}}function cLe(n){return n.startLineNumber===n.endLineNumber?new ve(1,1+n.endColumn-n.startColumn):new ve(1+n.endLineNumber-n.startLineNumber,n.endColumn)}const kn={Visible:Q8,HasFocusedSuggestion:new St("suggestWidgetHasFocusedSuggestion",!1,_("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new St("suggestWidgetDetailsVisible",!1,_("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new St("suggestWidgetMultipleSuggestions",!1,_("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new St("suggestionMakesTextEdit",!0,_("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new St("acceptSuggestionOnEnter",!0,_("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new St("suggestionHasInsertAndReplaceRange",!1,_("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new St("suggestionInsertMode",void 0,{type:"string",description:_("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new St("suggestionCanResolve",!1,_("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},j0=new Q("suggestWidgetStatusBar");let nEt=class{constructor(e,t,i,r){var o;this.position=e,this.completion=t,this.container=i,this.provider=r,this.isInvalid=!1,this.score=Hh.Default,this.distance=0,this.textLabel=typeof t.label=="string"?t.label:(o=t.label)===null||o===void 0?void 0:o.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=t.sortText&&t.sortText.toLowerCase(),this.filterTextLow=t.filterText&&t.filterText.toLowerCase(),this.extensionId=t.extensionId,J.isIRange(t.range)?(this.editStart=new ve(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new ve(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new ve(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||J.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new ve(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new ve(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new ve(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||J.spansMultipleLines(t.range.insert)||J.spansMultipleLines(t.range.replace)||t.range.insert.startLineNumber!==e.lineNumber||t.range.replace.startLineNumber!==e.lineNumber||t.range.insert.startColumn!==t.range.replace.startColumn),typeof r.resolveCompletionItem!="function"&&(this._resolveCache=Promise.resolve(),this._resolveDuration=0)}get isResolved(){return this._resolveDuration!==void 0}get resolveDuration(){return this._resolveDuration!==void 0?this._resolveDuration:-1}async resolve(e){if(!this._resolveCache){const t=e.onCancellationRequested(()=>{this._resolveCache=void 0,this._resolveDuration=void 0}),i=new Js(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then(r=>{Object.assign(this.completion,r),this._resolveDuration=i.elapsed()},r=>{Gm(r)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{t.dispose()})}return this._resolveCache}};class KN{constructor(e=2,t=new Set,i=new Set,r=new Map,o=!0){this.snippetSortOrder=e,this.kindFilter=t,this.providerFilter=i,this.providerItemsToReuse=r,this.showDeprecated=o}}KN.default=new KN;let iEt;function rEt(){return iEt}class oEt{constructor(e,t,i,r){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=r}}async function yj(n,e,t,i=KN.default,r={triggerKind:0},o=Yn.None){const s=new Js;t=t.clone();const a=e.getWordAtPosition(t),l=a?new J(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):J.fromPositions(t),u={replace:l,insert:l.setEndPosition(t.lineNumber,t.column)},c=[],d=new Je,h=[];let m=!1;const f=(b,y,C)=>{var w,x,L;let I=!1;if(!y)return I;for(const D of y.suggestions)if(!i.kindFilter.has(D.kind)){if(!i.showDeprecated&&(!((w=D==null?void 0:D.tags)===null||w===void 0)&&w.includes(1)))continue;D.range||(D.range=u),D.sortText||(D.sortText=typeof D.label=="string"?D.label:D.label.label),!m&&D.insertTextRules&&D.insertTextRules&4&&(m=Av.guessNeedsClipboard(D.insertText)),c.push(new nEt(t,D,y,b)),I=!0}return AH(y)&&d.add(y),h.push({providerName:(x=b._debugDisplayName)!==null&&x!==void 0?x:"unknown_provider",elapsedProvider:(L=y.duration)!==null&&L!==void 0?L:-1,elapsedOverall:C.elapsed()}),I},g=(async()=>{})();for(const b of n.orderedGroups(e)){let y=!1;if(await Promise.all(b.map(async C=>{if(i.providerItemsToReuse.has(C)){const w=i.providerItemsToReuse.get(C);w.forEach(x=>c.push(x)),y=y||w.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(C)))try{const w=new Js,x=await C.provideCompletionItems(e,t,r,o);y=f(C,x,w)||y}catch(w){qr(w)}})),y||o.isCancellationRequested)break}return await g,o.isCancellationRequested?(d.dispose(),Promise.reject(new _g)):new oEt(c.sort(lEt(i.snippetSortOrder)),m,{entries:h,elapsed:s.elapsed()},d)}function vj(n,e){if(n.sortTextLow&&e.sortTextLow){if(n.sortTextLowe.sortTextLow)return 1}return n.textLabele.textLabel?1:n.completion.kind-e.completion.kind}function sEt(n,e){if(n.completion.kind!==e.completion.kind){if(n.completion.kind===27)return-1;if(e.completion.kind===27)return 1}return vj(n,e)}function aEt(n,e){if(n.completion.kind!==e.completion.kind){if(n.completion.kind===27)return 1;if(e.completion.kind===27)return-1}return vj(n,e)}const wA=new Map;wA.set(0,sEt),wA.set(2,aEt),wA.set(1,vj);function lEt(n){return wA.get(n)}$n.registerCommand("_executeCompletionItemProvider",async(n,...e)=>{const[t,i,r,o]=e;hi(en.isUri(t)),hi(ve.isIPosition(i)),hi(typeof r=="string"||!r),hi(typeof o=="number"||!o);const{completionProvider:s}=n.get(Rt),a=await n.get(kl).createModelReference(t);try{const l={incomplete:!1,suggestions:[]},u=[],c=a.object.textEditorModel.validatePosition(i),d=await yj(s,a.object.textEditorModel,c,void 0,{triggerCharacter:r??void 0,triggerKind:r?1:0});for(const h of d.items)u.length<(o??0)&&u.push(h.resolve(Yn.None)),l.incomplete=l.incomplete||h.container.incomplete,l.suggestions.push(h.completion);try{return await Promise.all(u),l}finally{setTimeout(()=>d.disposable.dispose(),100)}}finally{a.dispose()}});function uEt(n,e){var t;(t=n.getContribution("editor.contrib.suggestController"))===null||t===void 0||t.triggerSuggest(new Set().add(e),void 0,!0)}class px{static isAllOff(e){return e.other==="off"&&e.comments==="off"&&e.strings==="off"}static isAllOn(e){return e.other==="on"&&e.comments==="on"&&e.strings==="on"}static valueFor(e,t){switch(t){case 1:return e.comments;case 2:return e.strings;default:return e.other}}}function dLe(n,e=ha){return WCt(n,e)?n.charAt(0).toUpperCase()+n.slice(1):n}var cEt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},dEt=function(n,e){return function(t,i){e(t,i,n)}};class hLe{constructor(e){this._delegates=e}resolve(e){for(const t of this._delegates){const i=t.resolve(e);if(i!==void 0)return i}}}class mLe{constructor(e,t,i,r){this._model=e,this._selection=t,this._selectionIdx=i,this._overtypingCapturer=r}resolve(e){const{name:t}=e;if(t==="SELECTION"||t==="TM_SELECTED_TEXT"){let i=this._model.getValueInRange(this._selection)||void 0,r=this._selection.startLineNumber!==this._selection.endLineNumber;if(!i&&this._overtypingCapturer){const o=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);o&&(i=o.value,r=o.multiline)}if(i&&r&&e.snippet){const o=this._model.getLineContent(this._selection.startLineNumber),s=Ui(o,0,this._selection.startColumn-1);let a=s;e.snippet.walk(u=>u===e?!1:(u instanceof cl&&(a=Ui(Pm(u.value).pop())),!0));const l=Pb(a,s);i=i.replace(/(\r\n|\r|\n)(.*)/g,(u,c,d)=>`${c}${a.substr(l)}${d}`)}return i}else{if(t==="TM_CURRENT_LINE")return this._model.getLineContent(this._selection.positionLineNumber);if(t==="TM_CURRENT_WORD"){const i=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return i&&i.word||void 0}else{if(t==="TM_LINE_INDEX")return String(this._selection.positionLineNumber-1);if(t==="TM_LINE_NUMBER")return String(this._selection.positionLineNumber);if(t==="CURSOR_INDEX")return String(this._selectionIdx);if(t==="CURSOR_NUMBER")return String(this._selectionIdx+1)}}}}class fLe{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if(t==="TM_FILENAME")return Kb(this._model.uri.fsPath);if(t==="TM_FILENAME_BASE"){const i=Kb(this._model.uri.fsPath),r=i.lastIndexOf(".");return r<=0?i:i.slice(0,r)}else{if(t==="TM_DIRECTORY")return g0e(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel(XZ(this._model.uri));if(t==="TM_FILEPATH")return this._labelService.getUriLabel(this._model.uri);if(t==="RELATIVE_FILEPATH")return this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0})}}}class gLe{constructor(e,t,i,r){this._readClipboardText=e,this._selectionIdx=t,this._selectionCount=i,this._spread=r}resolve(e){if(e.name!=="CLIPBOARD")return;const t=this._readClipboardText();if(t){if(this._spread){const i=t.split(/\r\n|\n|\r/).filter(r=>!i0e(r));if(i.length===this._selectionCount)return i[this._selectionIdx]}return t}}}let xA=class{constructor(e,t,i){this._model=e,this._selection=t,this._languageConfigurationService=i}resolve(e){const{name:t}=e,i=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),r=this._languageConfigurationService.getLanguageConfiguration(i).comments;if(r){if(t==="LINE_COMMENT")return r.lineCommentToken||void 0;if(t==="BLOCK_COMMENT_START")return r.blockCommentStartToken||void 0;if(t==="BLOCK_COMMENT_END")return r.blockCommentEndToken||void 0}}};xA=cEt([dEt(2,er)],xA);class rm{constructor(){this._date=new Date}resolve(e){const{name:t}=e;if(t==="CURRENT_YEAR")return String(this._date.getFullYear());if(t==="CURRENT_YEAR_SHORT")return String(this._date.getFullYear()).slice(-2);if(t==="CURRENT_MONTH")return String(this._date.getMonth().valueOf()+1).padStart(2,"0");if(t==="CURRENT_DATE")return String(this._date.getDate().valueOf()).padStart(2,"0");if(t==="CURRENT_HOUR")return String(this._date.getHours().valueOf()).padStart(2,"0");if(t==="CURRENT_MINUTE")return String(this._date.getMinutes().valueOf()).padStart(2,"0");if(t==="CURRENT_SECOND")return String(this._date.getSeconds().valueOf()).padStart(2,"0");if(t==="CURRENT_DAY_NAME")return rm.dayNames[this._date.getDay()];if(t==="CURRENT_DAY_NAME_SHORT")return rm.dayNamesShort[this._date.getDay()];if(t==="CURRENT_MONTH_NAME")return rm.monthNames[this._date.getMonth()];if(t==="CURRENT_MONTH_NAME_SHORT")return rm.monthNamesShort[this._date.getMonth()];if(t==="CURRENT_SECONDS_UNIX")return String(Math.floor(this._date.getTime()/1e3));if(t==="CURRENT_TIMEZONE_OFFSET"){const i=this._date.getTimezoneOffset(),r=i>0?"-":"+",o=Math.trunc(Math.abs(i/60)),s=o<10?"0"+o:o,a=Math.abs(i)-o*60,l=a<10?"0"+a:a;return r+s+":"+l}}}rm.dayNames=[_("Sunday","Sunday"),_("Monday","Monday"),_("Tuesday","Tuesday"),_("Wednesday","Wednesday"),_("Thursday","Thursday"),_("Friday","Friday"),_("Saturday","Saturday")],rm.dayNamesShort=[_("SundayShort","Sun"),_("MondayShort","Mon"),_("TuesdayShort","Tue"),_("WednesdayShort","Wed"),_("ThursdayShort","Thu"),_("FridayShort","Fri"),_("SaturdayShort","Sat")],rm.monthNames=[_("January","January"),_("February","February"),_("March","March"),_("April","April"),_("May","May"),_("June","June"),_("July","July"),_("August","August"),_("September","September"),_("October","October"),_("November","November"),_("December","December")],rm.monthNamesShort=[_("JanuaryShort","Jan"),_("FebruaryShort","Feb"),_("MarchShort","Mar"),_("AprilShort","Apr"),_("MayShort","May"),_("JuneShort","Jun"),_("JulyShort","Jul"),_("AugustShort","Aug"),_("SeptemberShort","Sep"),_("OctoberShort","Oct"),_("NovemberShort","Nov"),_("DecemberShort","Dec")];class pLe{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=mIt(this._workspaceService.getWorkspace());if(!cIt(t)){if(e.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(t);if(e.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(eK(e))return Kb(e.uri.path);let t=Kb(e.configPath.path);return t.endsWith(tK)&&(t=t.substr(0,t.length-tK.length-1)),t}_resoveWorkspacePath(e){if(eK(e))return dLe(e.uri.fsPath);const t=Kb(e.configPath.path);let i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?dLe(i):"/"}}class bLe{resolve(e){const{name:t}=e;if(t==="RANDOM")return Math.random().toString().slice(-6);if(t==="RANDOM_HEX")return Math.random().toString(16).slice(-6);if(t==="UUID")return PW()}}var hEt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},mEt=function(n,e){return function(t,i){e(t,i,n)}},om;class ed{constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=u1e(t.placeholders,jc.compareByIndex),this._placeholderGroupsIdx=-1}initialize(e){this._offset=e.newPosition}dispose(){this._placeholderDecorations&&this._editor.removeDecorations([...this._placeholderDecorations.values()]),this._placeholderGroups.length=0}_initDecorations(){if(this._offset===-1)throw new Error("Snippet not initialized!");if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;const e=this._editor.getModel();this._editor.changeDecorations(t=>{for(const i of this._snippet.placeholders){const r=this._snippet.offset(i),o=this._snippet.fullLen(i),s=J.fromPositions(e.getPositionAt(this._offset+r),e.getPositionAt(this._offset+r+o)),a=i.isFinalTabstop?ed._decor.inactiveFinal:ed._decor.inactive,l=t.addDecoration(s,a);this._placeholderDecorations.set(i,l)}})}move(e){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){const r=[];for(const o of this._placeholderGroups[this._placeholderGroupsIdx])if(o.transform){const s=this._placeholderDecorations.get(o),a=this._editor.getModel().getDecorationRange(s),l=this._editor.getModel().getValueInRange(a),u=o.transform.resolve(l).split(/\r\n|\r|\n/);for(let c=1;c0&&this._editor.executeEdits("snippet.placeholderTransform",r)}let t=!1;e===!0&&this._placeholderGroupsIdx0&&(this._placeholderGroupsIdx-=1,t=!0);const i=this._editor.getModel().changeDecorations(r=>{const o=new Set,s=[];for(const a of this._placeholderGroups[this._placeholderGroupsIdx]){const l=this._placeholderDecorations.get(a),u=this._editor.getModel().getDecorationRange(l);s.push(new Zt(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(a),r.changeDecorationOptions(l,a.isFinalTabstop?ed._decor.activeFinal:ed._decor.active),o.add(a);for(const c of this._snippet.enclosingPlaceholders(a)){const d=this._placeholderDecorations.get(c);r.changeDecorationOptions(d,c.isFinalTabstop?ed._decor.activeFinal:ed._decor.active),o.add(c)}}for(const[a,l]of this._placeholderDecorations)o.has(a)||r.changeDecorationOptions(l,a.isFinalTabstop?ed._decor.inactiveFinal:ed._decor.inactive);return s});return t?this.move(e):i??[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof jc){const i=this._placeholderDecorations.get(t);if(this._editor.getModel().getDecorationRange(i).isEmpty()&&t.toString().length>0)return!0}t=t.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||this._placeholderGroups.length===0}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){if(this._snippet.placeholders.length===0)return!0;if(this._snippet.placeholders.length===1){const[e]=this._snippet.placeholders;if(e.isFinalTabstop&&this._snippet.rightMostDescendant===e)return!0}return!1}computePossibleSelections(){const e=new Map;for(const t of this._placeholderGroups){let i;for(const r of t){if(r.isFinalTabstop)break;i||(i=[],e.set(r.index,i));const o=this._placeholderDecorations.get(r),s=this._editor.getModel().getDecorationRange(o);if(!s){e.delete(r.index);break}i.push(s)}}return e}get activeChoice(){if(!this._placeholderDecorations)return;const e=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!(e!=null&&e.choice))return;const t=this._placeholderDecorations.get(e);if(!t)return;const i=this._editor.getModel().getDecorationRange(t);if(i)return{range:i,choice:e.choice}}get hasChoice(){let e=!1;return this._snippet.walk(t=>(e=t instanceof P2,!e)),e}merge(e){const t=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations(i=>{for(const r of this._placeholderGroups[this._placeholderGroupsIdx]){const o=e.shift(),s=o._snippet.placeholderInfo.last.index;for(const l of o._snippet.placeholderInfo.all)l.isFinalTabstop?l.index=r.index+(s+1)/this._nestingLevel:l.index=r.index+l.index/this._nestingLevel;this._snippet.replace(r,o._snippet.children);const a=this._placeholderDecorations.get(r);i.removeDecoration(a),this._placeholderDecorations.delete(r);for(const l of o._snippet.placeholders){const u=o._snippet.offset(l),c=o._snippet.fullLen(l),d=J.fromPositions(t.getPositionAt(o._offset+u),t.getPositionAt(o._offset+u+c)),h=i.addDecoration(d,ed._decor.inactive);this._placeholderDecorations.set(l,h)}}this._placeholderGroups=u1e(this._snippet.placeholders,jc.compareByIndex)})}}ed._decor={active:vn.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:vn.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:vn.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:vn.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};const yLe={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let _A=om=class{static adjustWhitespace(e,t,i,r,o){const s=e.getLineContent(t.lineNumber),a=Ui(s,0,t.column-1);let l;return r.walk(u=>{if(!(u instanceof cl)||u.parent instanceof P2||o&&!o.has(u))return!0;const c=u.value.split(/\r\n|\r|\n/);if(i){const h=r.offset(u);if(h===0)c[0]=e.normalizeIndentation(c[0]);else{l=l??r.toString();const m=l.charCodeAt(h-1);(m===10||m===13)&&(c[0]=e.normalizeIndentation(a+c[0]))}for(let m=1;mx.get(Wv)),f=e.invokeWithinContext(x=>new fLe(x.get(ex),h)),g=()=>a,b=h.getValueInRange(om.adjustSelection(h,e.getSelection(),i,0)),y=h.getValueInRange(om.adjustSelection(h,e.getSelection(),0,r)),C=h.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),w=e.getSelections().map((x,L)=>({selection:x,idx:L})).sort((x,L)=>J.compareRangesUsingStarts(x.selection,L.selection));for(const{selection:x,idx:L}of w){let I=om.adjustSelection(h,x,i,0),D=om.adjustSelection(h,x,0,r);b!==h.getValueInRange(I)&&(I=x),y!==h.getValueInRange(D)&&(D=x);const N=x.setStartPosition(I.startLineNumber,I.startColumn).setEndPosition(D.endLineNumber,D.endColumn),T=new Av().parse(t,!0,o),R=N.getStartPosition(),E=om.adjustWhitespace(h,R,s||L>0&&C!==h.getLineFirstNonWhitespaceColumn(x.positionLineNumber),T);T.resolveVariables(new hLe([f,new gLe(g,L,w.length,e.getOption(79)==="spread"),new mLe(h,x,L,l),new xA(h,x,u),new rm,new pLe(m),new bLe])),c[L]=vr.replace(N,T.toString()),c[L].identifier={major:L,minor:0},c[L]._isTracked=!0,d[L]=new ed(e,T,E)}return{edits:c,snippets:d}}static createEditsAndSnippetsFromEdits(e,t,i,r,o,s,a){if(!e.hasModel()||t.length===0)return{edits:[],snippets:[]};const l=[],u=e.getModel(),c=new Av,d=new rN,h=new hLe([e.invokeWithinContext(f=>new fLe(f.get(ex),u)),new gLe(()=>o,0,e.getSelections().length,e.getOption(79)==="spread"),new mLe(u,e.getSelection(),0,s),new xA(u,e.getSelection(),a),new rm,new pLe(e.invokeWithinContext(f=>f.get(Wv))),new bLe]);t=t.sort((f,g)=>J.compareRangesUsingStarts(f.range,g.range));let m=0;for(let f=0;f0){const L=t[f-1].range,I=J.fromPositions(L.getEndPosition(),g.getStartPosition()),D=new cl(u.getValueInRange(I));d.appendChild(D),m+=D.value.length}const y=c.parseFragment(b,d);om.adjustWhitespace(u,g.getStartPosition(),!0,d,new Set(y)),d.resolveVariables(h);const C=d.toString(),w=C.slice(m);m=C.length;const x=vr.replace(g,w);x.identifier={major:f,minor:0},x._isTracked=!0,l.push(x)}return c.ensureFinalTabstop(d,i,!0),{edits:l,snippets:[new ed(e,d,"")]}}constructor(e,t,i=yLe,r){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=r,this._templateMerges=[],this._snippets=[]}dispose(){qi(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(){if(!this._editor.hasModel())return;const{edits:e,snippets:t}=typeof this._template=="string"?om.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):om.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=t,this._editor.executeEdits("snippet",e,i=>{const r=i.filter(o=>!!o.identifier);for(let o=0;oZt.fromPositions(o.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=yLe){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:i,snippets:r}=om.createEditsAndSnippetsFromSelections(this._editor,e,t.overwriteBefore,t.overwriteAfter,!0,t.adjustWhitespace,t.clipboardText,t.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",i,o=>{const s=o.filter(l=>!!l.identifier);for(let l=0;lZt.fromPositions(l.range.getEndPosition()))})}next(){const e=this._move(!0);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}prev(){const e=this._move(!1);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}_move(e){const t=[];for(const i of this._snippets){const r=i.move(e);t.push(...r)}return t}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get hasChoice(){return this._snippets[0].hasChoice}get activeChoice(){return this._snippets[0].activeChoice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder)return!1;const e=this._editor.getSelections();if(e.length{o.push(...r.get(s))})}e.sort(J.compareRangesUsingStarts);for(const[i,r]of t){if(r.length!==e.length){t.delete(i);continue}r.sort(J.compareRangesUsingStarts);for(let o=0;o0}};_A=om=hEt([mEt(3,er)],_A);var fEt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},LA=function(n,e){return function(t,i){e(t,i,n)}},bx;const vLe={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let Zs=bx=class{static get(e){return e.getContribution(bx.ID)}constructor(e,t,i,r,o){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=o,this._snippetListener=new Je,this._modelVersionId=-1,this._inSnippet=bx.InSnippetMode.bindTo(r),this._hasNextTabstop=bx.HasNextTabstop.bindTo(r),this._hasPrevTabstop=bx.HasPrevTabstop.bindTo(r)}dispose(){var e;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),(e=this._session)===null||e===void 0||e.dispose(),this._snippetListener.dispose()}insert(e,t){try{this._doInsert(e,typeof t>"u"?vLe:{...vLe,...t})}catch(i){this.cancel(),this._logService.error(i),this._logService.error("snippet_error"),this._logService.error("insert_template=",e),this._logService.error("existing_template=",this._session?this._session._logInfo():"")}}_doInsert(e,t){var i;if(this._editor.hasModel()){if(this._snippetListener.clear(),t.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&typeof e!="string"&&this.cancel(),this._session?(hi(typeof e=="string"),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new _A(this._editor,e,t,this._languageConfigurationService),this._session.insert()),t.undoStopAfter&&this._editor.getModel().pushStackElement(),!((i=this._session)===null||i===void 0)&&i.hasChoice){const r={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(c,d)=>{if(!this._session||c!==this._editor.getModel()||!ve.equals(this._editor.getPosition(),d))return;const{activeChoice:h}=this._session;if(!h||h.choice.options.length===0)return;const m=c.getValueInRange(h.range),f=!!h.choice.options.find(b=>b.value===m),g=[];for(let b=0;b{s==null||s.dispose(),a=!1},u=()=>{a||(s=this._languageFeaturesService.completionProvider.register({language:o.getLanguageId(),pattern:o.uri.fsPath,scheme:o.uri.scheme,exclusive:!0},r),this._snippetListener.add(s),a=!0)};this._choiceCompletions={provider:r,enable:u,disable:l}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent(r=>r.isFlush&&this.cancel())),this._snippetListener.add(this._editor.onDidChangeModel(()=>this.cancel())),this._snippetListener.add(this._editor.onDidChangeCursorSelection(()=>this._updateState()))}}_updateState(){if(!(!this._session||!this._editor.hasModel())){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this._editor.getModel().pushStackElement(),this.cancel();this._inSnippet.set(!0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){var e;if(!this._session||!this._editor.hasModel()){this._currentChoice=void 0;return}const{activeChoice:t}=this._session;if(!t||!this._choiceCompletions){(e=this._choiceCompletions)===null||e===void 0||e.disable(),this._currentChoice=void 0;return}this._currentChoice!==t.choice&&(this._currentChoice=t.choice,this._choiceCompletions.enable(),queueMicrotask(()=>{uEt(this._editor,this._choiceCompletions.provider)}))}finish(){for(;this._inSnippet.get();)this.next()}cancel(e=!1){var t;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),this._currentChoice=void 0,(t=this._session)===null||t===void 0||t.dispose(),this._session=void 0,this._modelVersionId=-1,e&&this._editor.setSelections([this._editor.getSelection()])}prev(){var e;(e=this._session)===null||e===void 0||e.prev(),this._updateState()}next(){var e;(e=this._session)===null||e===void 0||e.next(),this._updateState()}isInSnippet(){return!!this._inSnippet.get()}};Zs.ID="snippetController2",Zs.InSnippetMode=new St("inSnippetMode",!1,_("inSnippetMode","Whether the editor in current in snippet mode")),Zs.HasNextTabstop=new St("hasNextTabstop",!1,_("hasNextTabstop","Whether there is a next tab stop when in snippet mode")),Zs.HasPrevTabstop=new St("hasPrevTabstop",!1,_("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode")),Zs=bx=fEt([LA(1,tl),LA(2,Rt),LA(3,ln),LA(4,er)],Zs),vi(Zs.ID,Zs,4);const IA=Ko.bindToContribution(Zs.get);gt(new IA({id:"jumpToNextSnippetPlaceholder",precondition:Oe.and(Zs.InSnippetMode,Zs.HasNextTabstop),handler:n=>n.next(),kbOpts:{weight:130,kbExpr:ne.editorTextFocus,primary:2}})),gt(new IA({id:"jumpToPrevSnippetPlaceholder",precondition:Oe.and(Zs.InSnippetMode,Zs.HasPrevTabstop),handler:n=>n.prev(),kbOpts:{weight:130,kbExpr:ne.editorTextFocus,primary:1026}})),gt(new IA({id:"leaveSnippet",precondition:Zs.InSnippetMode,handler:n=>n.cancel(!0),kbOpts:{weight:130,kbExpr:ne.editorTextFocus,primary:9,secondary:[1033]}})),gt(new IA({id:"acceptSnippet",precondition:Zs.InSnippetMode,handler:n=>n.finish()}));var gEt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Cj=function(n,e){return function(t,i){e(t,i,n)}},tc;(function(n){n[n.Undo=0]="Undo",n[n.Redo=1]="Redo",n[n.AcceptWord=2]="AcceptWord",n[n.Other=3]="Other"})(tc||(tc={}));let Sj=class extends Fe{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(e,t,i,r,o,s,a,l,u,c,d,h){super(),this.textModel=e,this.selectedSuggestItem=t,this.textModelVersionId=i,this._positions=r,this._debounceValue=o,this._suggestPreviewEnabled=s,this._suggestPreviewMode=a,this._inlineSuggestMode=l,this._enabled=u,this._instantiationService=c,this._commandService=d,this._languageConfigurationService=h,this._source=this._register(this._instantiationService.createInstance(bj,this.textModel,this.textModelVersionId,this._debounceValue)),this._isActive=ei(this,!1),this._forceUpdateSignal=sW("forceUpdate"),this._selectedInlineCompletionId=ei(this,void 0),this._primaryPosition=hn(this,f=>{var g;return(g=this._positions.read(f)[0])!==null&&g!==void 0?g:new ve(1,1)}),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([tc.Redo,tc.Undo,tc.AcceptWord]),this._fetchInlineCompletions=r2t({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:Jg.Automatic}),handleChange:(f,g)=>(f.didChange(this.textModelVersionId)&&this._preserveCurrentCompletionReasons.has(f.change)?g.preserveCurrentCompletion=!0:f.didChange(this._forceUpdateSignal)&&(g.inlineCompletionTriggerKind=f.change),!0)},(f,g)=>{if(this._forceUpdateSignal.read(f),!(this._enabled.read(f)&&this.selectedSuggestItem.read(f)||this._isActive.read(f))){this._source.cancelUpdate();return}this.textModelVersionId.read(f);const y=this.selectedInlineCompletion.get(),C=g.preserveCurrentCompletion||y!=null&&y.forwardStable?y:void 0,w=this._source.suggestWidgetInlineCompletions.get(),x=this.selectedSuggestItem.read(f);if(w&&!x){const D=this._source.inlineCompletions.get();Bi(N=>{(!D||w.request.versionId>D.request.versionId)&&this._source.inlineCompletions.set(w.clone(),N),this._source.clearSuggestWidgetInlineCompletions(N)})}const L=this._primaryPosition.read(f),I={triggerKind:g.inlineCompletionTriggerKind,selectedSuggestionInfo:x==null?void 0:x.toSelectedSuggestionInfo()};return this._source.fetch(L,I,C)}),this._filteredInlineCompletionItems=hn(this,f=>{const g=this._source.inlineCompletions.read(f);if(!g)return[];const b=this._primaryPosition.read(f);return g.inlineCompletions.filter(C=>C.isVisible(this.textModel,b,f))}),this.selectedInlineCompletionIndex=hn(this,f=>{const g=this._selectedInlineCompletionId.read(f),b=this._filteredInlineCompletionItems.read(f),y=this._selectedInlineCompletionId===void 0?-1:b.findIndex(C=>C.semanticId===g);return y===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):y}),this.selectedInlineCompletion=hn(this,f=>{const g=this._filteredInlineCompletionItems.read(f),b=this.selectedInlineCompletionIndex.read(f);return g[b]}),this.lastTriggerKind=this._source.inlineCompletions.map(this,f=>f==null?void 0:f.request.context.triggerKind),this.inlineCompletionsCount=hn(this,f=>{if(this.lastTriggerKind.read(f)===Jg.Explicit)return this._filteredInlineCompletionItems.read(f).length}),this.state=x2({owner:this,equalityComparer:(f,g)=>!f||!g?f===g:J_e(f.ghostTexts,g.ghostTexts)&&f.inlineCompletion===g.inlineCompletion&&f.suggestItem===g.suggestItem},f=>{var g,b;const y=this.textModel,C=this.selectedSuggestItem.read(f);if(C){const w=cC(C.toSingleTextEdit(),y),x=this._computeAugmentation(w,f);if(!this._suggestPreviewEnabled.read(f)&&!x)return;const I=(g=x==null?void 0:x.edit)!==null&&g!==void 0?g:w,D=x?x.edit.text.length-w.text.length:0,N=this._suggestPreviewMode.read(f),T=this._positions.read(f),R=[I,...wj(this.textModel,T,I)],E=R.map((Z,V)=>oLe(Z,y,N,T[V],D)).filter(Wm),W=(b=E[0])!==null&&b!==void 0?b:new UN(I.range.endLineNumber,[]);return{edits:R,primaryGhostText:W,ghostTexts:E,inlineCompletion:x==null?void 0:x.completion,suggestItem:C}}else{if(!this._isActive.read(f))return;const w=this.selectedInlineCompletion.read(f);if(!w)return;const x=w.toSingleTextEdit(f),L=this._inlineSuggestMode.read(f),I=this._positions.read(f),D=[x,...wj(this.textModel,I,x)],N=D.map((T,R)=>oLe(T,y,L,I[R],0)).filter(Wm);return N[0]?{edits:D,primaryGhostText:N[0],ghostTexts:N,inlineCompletion:w,suggestItem:void 0}:void 0}}),this.ghostTexts=x2({owner:this,equalityComparer:J_e},f=>{const g=this.state.read(f);if(g)return g.ghostTexts}),this.primaryGhostText=x2({owner:this,equalityComparer:j_e},f=>{const g=this.state.read(f);if(g)return g==null?void 0:g.primaryGhostText}),this._register(RD(this._fetchInlineCompletions));let m;this._register(Rn(f=>{var g,b;const y=this.state.read(f),C=y==null?void 0:y.inlineCompletion;if((C==null?void 0:C.semanticId)!==(m==null?void 0:m.semanticId)&&(m=C,C)){const w=C.inlineCompletion,x=w.source;(b=(g=x.provider).handleItemDidShow)===null||b===void 0||b.call(g,x.inlineCompletions,w.sourceInlineCompletion,w.insertText)}}))}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletions.get()}async triggerExplicitly(e){kD(e,t=>{this._isActive.set(!0,t),this._forceUpdateSignal.trigger(t,Jg.Explicit)}),await this._fetchInlineCompletions.get()}stop(e){kD(e,t=>{this._isActive.set(!1,t),this._source.clear(t)})}_computeAugmentation(e,t){const i=this.textModel,r=this._source.suggestWidgetInlineCompletions.read(t),o=r?r.inlineCompletions:[this.selectedInlineCompletion.read(t)].filter(Wm);return Svt(o,a=>{let l=a.toSingleTextEdit(t);return l=cC(l,i,J.fromPositions(l.range.getStartPosition(),e.range.getEndPosition())),rLe(l,e)?{completion:a,edit:l}:void 0})}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();const t=this._filteredInlineCompletionItems.get()||[];if(t.length>0){const i=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[i].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}async accept(e){var t;if(e.getModel()!==this.textModel)throw new rr;const i=this.state.get();if(!i||i.primaryGhostText.isEmpty()||!i.inlineCompletion)return;const r=i.inlineCompletion.toInlineCompletion(void 0);if(e.pushUndoStop(),r.snippetInfo)e.executeEdits("inlineSuggestion.accept",[vr.replaceMove(r.range,""),...r.additionalTextEdits]),e.setPosition(r.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),(t=Zs.get(e))===null||t===void 0||t.insert(r.snippetInfo.snippet,{undoStopBefore:!1});else{const o=i.edits,s=CLe(o).map(a=>Zt.fromPositions(a));e.executeEdits("inlineSuggestion.accept",[...o.map(a=>vr.replaceMove(a.range,a.text)),...r.additionalTextEdits]),e.setSelections(s,"inlineCompletionAccept")}r.command&&r.source.addRef(),Bi(o=>{this._source.clear(o),this._isActive.set(!1,o)}),r.command&&(await this._commandService.executeCommand(r.command.id,...r.command.arguments||[]).then(void 0,qr),r.source.removeRef())}async acceptNextWord(e){await this._acceptNext(e,(t,i)=>{const r=this.textModel.getLanguageIdAtPosition(t.lineNumber,t.column),o=this._languageConfigurationService.getLanguageConfiguration(r),s=new RegExp(o.wordDefinition.source,o.wordDefinition.flags.replace("g","")),a=i.match(s);let l=0;a&&a.index!==void 0?a.index===0?l=a[0].length:l=a.index:l=i.length;const c=/\s+/g.exec(i);return c&&c.index!==void 0&&c.index+c[0].length{const r=i.match(/\n/);return r&&r.index!==void 0?r.index+1:i.length},1)}async _acceptNext(e,t,i){if(e.getModel()!==this.textModel)throw new rr;const r=this.state.get();if(!r||r.primaryGhostText.isEmpty()||!r.inlineCompletion)return;const o=r.primaryGhostText,s=r.inlineCompletion.toInlineCompletion(void 0);if(s.snippetInfo||s.filterText!==s.insertText){await this.accept(e);return}const a=o.parts[0],l=new ve(o.lineNumber,a.column),u=a.text,c=t(l,u);if(c===u.length&&o.parts.length===1){this.accept(e);return}const d=u.substring(0,c),h=this._positions.get(),m=h[0];s.source.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();const f=J.fromPositions(m,l),g=e.getModel().getValueInRange(f)+d,b=new yp(f,g),y=[b,...wj(this.textModel,h,b)],C=CLe(y).map(w=>Zt.fromPositions(w));e.executeEdits("inlineSuggestion.accept",y.map(w=>vr.replaceMove(w.range,w.text))),e.setSelections(C,"inlineCompletionPartialAccept")}finally{this._isAcceptingPartially=!1}if(s.source.provider.handlePartialAccept){const f=J.fromPositions(s.range.getStartPosition(),Zd.ofText(d).addToPosition(l)),g=e.getModel().getValueInRange(f,1);s.source.provider.handlePartialAccept(s.source.inlineCompletions,s.sourceInlineCompletion,g.length,{kind:i})}}finally{s.source.removeRef()}}handleSuggestAccepted(e){var t,i;const r=cC(e.toSingleTextEdit(),this.textModel),o=this._computeAugmentation(r,void 0);if(!o)return;const s=o.completion.inlineCompletion;(i=(t=s.source.provider).handlePartialAccept)===null||i===void 0||i.call(t,s.source.inlineCompletions,s.sourceInlineCompletion,r.text.length,{kind:2})}};Sj=gEt([Cj(9,$t),Cj(10,Xr),Cj(11,er)],Sj);function wj(n,e,t){if(e.length===1)return[];const i=e[0],r=e.slice(1),o=t.range.getStartPosition(),s=t.range.getEndPosition(),a=n.getValueInRange(J.fromPositions(i,s)),l=q_e(i,o);if(l.lineNumber<1)return yn(new rr(`positionWithinTextEdit line number should be bigger than 0. + Invalid subtraction between ${i.toString()} and ${o.toString()}`)),[];const u=pEt(t.text,l);return r.map(c=>{const d=VTt(q_e(c,o),s),h=n.getValueInRange(J.fromPositions(c,d)),m=Pb(a,h),f=J.fromPositions(c,c.delta(0,m));return new yp(f,u)})}function pEt(n,e){let t="";const i=kmt(n);for(let r=e.lineNumber-1;rJ.compareRangesUsingStarts(o.range,s.range)),i=new XU(e.apply(n)).getNewRanges();return e.inverse().apply(i).map(o=>o.getEndPosition())}var bEt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},SLe=function(n,e){return function(t,i){e(t,i,n)}},JN;class xj{constructor(e){this.name=e}select(e,t,i){if(i.length===0)return 0;const r=i[0].score[0];for(let o=0;ol&&d.type===i[u].completion.kind&&d.insertText===i[u].completion.insertText&&(l=d.touch,a=u),i[u].completion.preselect&&s===-1)return s=u}return a!==-1?a:s!==-1?s:0}toJSON(){return this._cache.toJSON()}fromJSON(e){this._cache.clear();const t=0;for(const[i,r]of e)r.touch=t,r.type=typeof r.type=="number"?r.type:OF.fromString(r.type),this._cache.set(i,r);this._seq=this._cache.size}}class vEt extends xj{constructor(){super("recentlyUsedByPrefix"),this._trie=G2.forStrings(),this._seq=0}memorize(e,t,i){const{word:r}=e.getWordUntilPosition(t),o=`${e.getLanguageId()}/${r}`;this._trie.set(o,{type:i.completion.kind,insertText:i.completion.insertText,touch:this._seq++})}select(e,t,i){const{word:r}=e.getWordUntilPosition(t);if(!r)return super.select(e,t,i);const o=`${e.getLanguageId()}/${r}`;let s=this._trie.get(o);if(s||(s=this._trie.findSubstr(o)),s)for(let a=0;ae.push([i,t])),e.sort((t,i)=>-(t[1].touch-i[1].touch)).forEach((t,i)=>t[1].touch=i),e.slice(0,200)}fromJSON(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(const[t,i]of e)i.type=typeof i.type=="number"?i.type:OF.fromString(i.type),this._trie.set(t,i)}}}let jN=JN=class{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new Je,this._persistSoon=new Wi(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===TW.SHUTDOWN&&this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(e,t,i){this._withStrategy(e,t).memorize(e,t,i),this._persistSoon.schedule()}select(e,t,i){return this._withStrategy(e,t).select(e,t,i)}_withStrategy(e,t){var i;const r=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:e.getLanguageIdAtPosition(t.lineNumber,t.column),resource:e.uri});if(((i=this._strategy)===null||i===void 0?void 0:i.name)!==r){this._saveState();const o=JN._strategyCtors.get(r)||wLe;this._strategy=new o;try{const a=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,l=this._storageService.get(`${JN._storagePrefix}/${r}`,a);l&&this._strategy.fromJSON(JSON.parse(l))}catch{}}return this._strategy}_saveState(){if(this._strategy){const t=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,i=JSON.stringify(this._strategy);this._storageService.store(`${JN._storagePrefix}/${this._strategy.name}`,i,t,1)}}};jN._strategyCtors=new Map([["recentlyUsedByPrefix",vEt],["recentlyUsed",yEt],["first",wLe]]),jN._storagePrefix="suggest/memories",jN=JN=bEt([SLe(0,Sf),SLe(1,Pn)],jN);const FA=Un("ISuggestMemories");qn(FA,jN,1);var CEt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},SEt=function(n,e){return function(t,i){e(t,i,n)}},_j;let QN=_j=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=_j.AtEnd.bindTo(t),this._configListener=this._editor.onDidChangeConfiguration(i=>i.hasChanged(123)&&this._update()),this._update()}dispose(){var e;this._configListener.dispose(),(e=this._selectionListener)===null||e===void 0||e.dispose(),this._ckAtEnd.reset()}_update(){const e=this._editor.getOption(123)==="on";if(this._enabled!==e)if(this._enabled=e,this._enabled){const t=()=>{if(!this._editor.hasModel()){this._ckAtEnd.set(!1);return}const i=this._editor.getModel(),r=this._editor.getSelection(),o=i.getWordAtPosition(r.getStartPosition());if(!o){this._ckAtEnd.set(!1);return}this._ckAtEnd.set(o.endColumn===r.getStartPosition().column)};this._selectionListener=this._editor.onDidChangeCursorSelection(t),t()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}};QN.AtEnd=new St("atEndOfWord",!1),QN=_j=CEt([SEt(1,ln)],QN);var wEt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},xEt=function(n,e){return function(t,i){e(t,i,n)}},$N;let dC=$N=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=$N.OtherSuggestions.bindTo(t)}dispose(){this.reset()}reset(){var e;this._ckOtherSuggestions.reset(),(e=this._listener)===null||e===void 0||e.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:e,index:t},i){if(e.items.length===0){this.reset();return}if($N._moveIndex(!0,e,t)===t){this.reset();return}this._acceptNext=i,this._model=e,this._index=t,this._listener=this._editor.onDidChangeCursorPosition(()=>{this._ignore||this.reset()}),this._ckOtherSuggestions.set(!0)}static _moveIndex(e,t,i){let r=i;for(let o=t.items.length;o>0&&(r=(r+t.items.length+(e?1:-1))%t.items.length,!(r===i||!t.items[r].completion.additionalTextEdits));o--);return r}next(){this._move(!0)}prev(){this._move(!1)}_move(e){if(this._model)try{this._ignore=!0,this._index=$N._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};dC.OtherSuggestions=new St("hasOtherSuggestions",!1),dC=$N=wEt([xEt(1,ln)],dC);class _Et{constructor(e,t,i,r){this._disposables=new Je,this._disposables.add(i.onDidSuggest(o=>{o.completionModel.items.length===0&&this.reset()})),this._disposables.add(i.onDidCancel(o=>{this.reset()})),this._disposables.add(t.onDidShow(()=>this._onItem(t.getFocusedItem()))),this._disposables.add(t.onDidFocus(this._onItem,this)),this._disposables.add(t.onDidHide(this.reset,this)),this._disposables.add(e.onWillType(o=>{if(this._active&&!t.isFrozen()&&i.state!==0){const s=o.charCodeAt(o.length-1);this._active.acceptCharacters.has(s)&&e.getOption(0)&&r(this._active.item)}}))}_onItem(e){if(!e||!ga(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;const t=new k9;for(const i of e.item.completion.commitCharacters)i.length>0&&t.add(i.charCodeAt(0));this._active={acceptCharacters:t,item:e}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}class nc{async provideSelectionRanges(e,t){const i=[];for(const r of t){const o=[];i.push(o);const s=new Map;await new Promise(a=>nc._bracketsRightYield(a,0,e,r,s)),await new Promise(a=>nc._bracketsLeftYield(a,0,e,r,s,o))}return i}static _bracketsRightYield(e,t,i,r,o){const s=new Map,a=Date.now();for(;;){if(t>=nc._maxRounds){e();break}if(!r){e();break}const l=i.bracketPairs.findNextBracket(r);if(!l){e();break}if(Date.now()-a>nc._maxDuration){setTimeout(()=>nc._bracketsRightYield(e,t+1,i,r,o));break}if(l.bracketInfo.isOpeningBracket){const c=l.bracketInfo.bracketText,d=s.has(c)?s.get(c):0;s.set(c,d+1)}else{const c=l.bracketInfo.getOpeningBrackets()[0].bracketText;let d=s.has(c)?s.get(c):0;if(d-=1,s.set(c,Math.max(0,d)),d<0){let h=o.get(c);h||(h=new ja,o.set(c,h)),h.push(l.range)}}r=l.range.getEndPosition()}}static _bracketsLeftYield(e,t,i,r,o,s){const a=new Map,l=Date.now();for(;;){if(t>=nc._maxRounds&&o.size===0){e();break}if(!r){e();break}const u=i.bracketPairs.findPrevBracket(r);if(!u){e();break}if(Date.now()-l>nc._maxDuration){setTimeout(()=>nc._bracketsLeftYield(e,t+1,i,r,o,s));break}if(u.bracketInfo.isOpeningBracket){const d=u.bracketInfo.bracketText;let h=a.has(d)?a.get(d):0;if(h-=1,a.set(d,Math.max(0,h)),h<0){const m=o.get(d);if(m){const f=m.shift();m.size===0&&o.delete(d);const g=J.fromPositions(u.range.getEndPosition(),f.getStartPosition()),b=J.fromPositions(u.range.getStartPosition(),f.getEndPosition());s.push({range:g}),s.push({range:b}),nc._addBracketLeading(i,b,s)}}}else{const d=u.bracketInfo.getOpeningBrackets()[0].bracketText,h=a.has(d)?a.get(d):0;a.set(d,h+1)}r=u.range.getStartPosition()}}static _addBracketLeading(e,t,i){if(t.startLineNumber===t.endLineNumber)return;const r=t.startLineNumber,o=e.getLineFirstNonWhitespaceColumn(r);o!==0&&o!==t.startColumn&&(i.push({range:J.fromPositions(new ve(r,o),t.getEndPosition())}),i.push({range:J.fromPositions(new ve(r,1),t.getEndPosition())}));const s=r-1;if(s>0){const a=e.getLineFirstNonWhitespaceColumn(s);a===t.startColumn&&a!==e.getLineLastNonWhitespaceColumn(s)&&(i.push({range:J.fromPositions(new ve(s,a),t.getEndPosition())}),i.push({range:J.fromPositions(new ve(s,1),t.getEndPosition())}))}}}nc._maxDuration=30,nc._maxRounds=2;class sm{static async create(e,t){if(!t.getOption(118).localityBonus||!t.hasModel())return sm.None;const i=t.getModel(),r=t.getPosition();if(!e.canComputeWordRanges(i.uri))return sm.None;const[o]=await new nc().provideSelectionRanges(i,[r]);if(o.length===0)return sm.None;const s=await e.computeWordRanges(i.uri,o[0].range);if(!s)return sm.None;const a=i.getWordUntilPosition(r);return delete s[a.word],new class extends sm{distance(l,u){if(!r.equals(t.getPosition()))return 0;if(u.kind===17)return 2<<20;const c=typeof u.label=="string"?u.label:u.label.label,d=s[c];if(h1e(d))return 2<<20;const h=dF(d,J.fromPositions(l),J.compareRangesUsingStarts),m=h>=0?d[h]:d[Math.max(0,~h-1)];let f=o.length;for(const g of o){if(!J.containsRange(g.range,m))break;f-=1}return f}}}}sm.None=new class extends sm{distance(){return 0}};let xLe=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}};class Q0{constructor(e,t,i,r,o,s,a=fW.default,l=void 0){this.clipboardText=l,this._snippetCompareFn=Q0._compareCompletionItems,this._items=e,this._column=t,this._wordDistance=r,this._options=o,this._refilterKind=1,this._lineContext=i,this._fuzzyScoreOptions=a,s==="top"?this._snippetCompareFn=Q0._compareCompletionItemsSnippetsUp:s==="bottom"&&(this._snippetCompareFn=Q0._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(e){(this._lineContext.leadingLineContent!==e.leadingLineContent||this._lineContext.characterCountDelta!==e.characterCountDelta)&&(this._refilterKind=this._lineContext.characterCountDelta0&&i[0].container.incomplete&&e.add(t);return e}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){this._refilterKind!==0&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;const e=[],{leadingLineContent:t,characterCountDelta:i}=this._lineContext;let r="",o="";const s=this._refilterKind===1?this._items:this._filteredItems,a=[],l=!this._options.filterGraceful||s.length>2e3?F2:D2t;for(let u=0;u=m)c.score=Hh.Default;else if(typeof c.completion.filterText=="string"){const g=l(r,o,f,c.completion.filterText,c.filterTextLow,0,this._fuzzyScoreOptions);if(!g)continue;tY(c.completion.filterText,c.textLabel)===0?c.score=g:(c.score=_2t(r,o,f,c.textLabel,c.labelLow,0),c.score[0]=g[0])}else{const g=l(r,o,f,c.textLabel,c.labelLow,0,this._fuzzyScoreOptions);if(!g)continue;c.score=g}}c.idx=u,c.distance=this._wordDistance.distance(c.position,c.completion),a.push(c),e.push(c.textLabel.length)}this._filteredItems=a.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?OY(e.length-.85,e,(u,c)=>u-c):0}}static _compareCompletionItems(e,t){return e.score[0]>t.score[0]?-1:e.score[0]t.distance?1:e.idxt.idx?1:0}static _compareCompletionItemsSnippetsDown(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===27)return 1;if(t.completion.kind===27)return-1}return Q0._compareCompletionItems(e,t)}static _compareCompletionItemsSnippetsUp(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===27)return-1;if(t.completion.kind===27)return 1}return Q0._compareCompletionItems(e,t)}}var LEt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},$0=function(n,e){return function(t,i){e(t,i,n)}},Lj;class hC{static shouldAutoTrigger(e){if(!e.hasModel())return!1;const t=e.getModel(),i=e.getPosition();t.tokenization.tokenizeIfCheap(i.lineNumber);const r=t.getWordAtPosition(i);return!(!r||r.endColumn!==i.column&&r.startColumn+1!==i.column||!isNaN(Number(r.word)))}constructor(e,t,i){this.leadingLineContent=e.getLineContent(t.lineNumber).substr(0,t.column-1),this.leadingWord=e.getWordUntilPosition(t),this.lineNumber=t.lineNumber,this.column=t.column,this.triggerOptions=i}}function IEt(n,e,t){if(!e.getContextKeyValue(Cs.inlineSuggestionVisible.key))return!0;const i=e.getContextKeyValue(Cs.suppressSuggestions.key);return i!==void 0?!i:!n.getOption(62).suppressSuggestions}function FEt(n,e,t){if(!e.getContextKeyValue("inlineSuggestionVisible"))return!0;const i=e.getContextKeyValue(Cs.suppressSuggestions.key);return i!==void 0?!i:!n.getOption(62).suppressSuggestions}let DA=Lj=class{constructor(e,t,i,r,o,s,a,l,u){this._editor=e,this._editorWorkerService=t,this._clipboardService=i,this._telemetryService=r,this._logService=o,this._contextKeyService=s,this._configurationService=a,this._languageFeaturesService=l,this._envService=u,this._toDispose=new Je,this._triggerCharacterListener=new Je,this._triggerQuickSuggest=new Id,this._triggerState=void 0,this._completionDisposables=new Je,this._onDidCancel=new be,this._onDidTrigger=new be,this._onDidSuggest=new be,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new Zt(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeModelLanguage(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeConfiguration(()=>{this._updateTriggerCharacters()})),this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange(()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()}));let c=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{c=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{c=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(d=>{c||this._onCursorChange(d)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{!c&&this._triggerState!==void 0&&this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){qi(this._triggerCharacterListener),qi([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(91)||!this._editor.hasModel()||!this._editor.getOption(121))return;const e=new Map;for(const i of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(const r of i.triggerCharacters||[]){let o=e.get(r);o||(o=new Set,o.add(rEt()),e.set(r,o)),o.add(i)}const t=i=>{var r;if(!FEt(this._editor,this._contextKeyService,this._configurationService)||hC.shouldAutoTrigger(this._editor))return;if(!i){const a=this._editor.getPosition();i=this._editor.getModel().getLineContent(a.lineNumber).substr(0,a.column-1)}let o="";zy(i.charCodeAt(i.length-1))?os(i.charCodeAt(i.length-2))&&(o=i.substr(i.length-2)):o=i.charAt(i.length-1);const s=e.get(o);if(s){const a=new Map;if(this._completionModel)for(const[l,u]of this._completionModel.getItemsByProvider())s.has(l)||a.set(l,u);this.trigger({auto:!0,triggerKind:1,triggerCharacter:o,retrigger:!!this._completionModel,clipboardText:(r=this._completionModel)===null||r===void 0?void 0:r.clipboardText,completionOptions:{providerFilter:s,providerItemsToReuse:a}})}};this._triggerCharacterListener.add(this._editor.onDidType(t)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd(()=>t()))}get state(){return this._triggerState?this._triggerState.auto?2:1:0}cancel(e=!1){var t;this._triggerState!==void 0&&(this._triggerQuickSuggest.cancel(),(t=this._requestToken)===null||t===void 0||t.cancel(),this._requestToken=void 0,this._triggerState=void 0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:e}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){this._triggerState!==void 0&&(!this._editor.hasModel()||!this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.cancel():this.trigger({auto:this._triggerState.auto,retrigger:!0}))}_onCursorChange(e){if(!this._editor.hasModel())return;const t=this._currentSelection;if(this._currentSelection=this._editor.getSelection(),!e.selection.isEmpty()||e.reason!==0&&e.reason!==3||e.source!=="keyboard"&&e.source!=="deleteLeft"){this.cancel();return}this._triggerState===void 0&&e.reason===0?(t.containsRange(this._currentSelection)||t.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():this._triggerState!==void 0&&e.reason===3&&this._refilterCompletionItems()}_onCompositionEnd(){this._triggerState===void 0?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){var e;px.isAllOff(this._editor.getOption(89))||this._editor.getOption(118).snippetsPreventQuickSuggestions&&(!((e=Zs.get(this._editor))===null||e===void 0)&&e.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!hC.shouldAutoTrigger(this._editor)||!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;const t=this._editor.getModel(),i=this._editor.getPosition(),r=this._editor.getOption(89);if(!px.isAllOff(r)){if(!px.isAllOn(r)){t.tokenization.tokenizeIfCheap(i.lineNumber);const o=t.tokenization.getLineTokens(i.lineNumber),s=o.getStandardTokenType(o.findTokenIndexAtOffset(Math.max(i.column-1-1,0)));if(px.valueFor(r,s)!=="on")return}IEt(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}},this._editor.getOption(90)))}_refilterCompletionItems(){hi(this._editor.hasModel()),hi(this._triggerState!==void 0);const e=this._editor.getModel(),t=this._editor.getPosition(),i=new hC(e,t,{...this._triggerState,refilter:!0});this._onNewContext(i)}trigger(e){var t,i,r,o,s,a;if(!this._editor.hasModel())return;const l=this._editor.getModel(),u=new hC(l,this._editor.getPosition(),e);this.cancel(e.retrigger),this._triggerState=e,this._onDidTrigger.fire({auto:e.auto,shy:(t=e.shy)!==null&&t!==void 0?t:!1,position:this._editor.getPosition()}),this._context=u;let c={triggerKind:(i=e.triggerKind)!==null&&i!==void 0?i:0};e.triggerCharacter&&(c={triggerKind:1,triggerCharacter:e.triggerCharacter}),this._requestToken=new fo;const d=this._editor.getOption(112);let h=1;switch(d){case"top":h=0;break;case"bottom":h=2;break}const{itemKind:m,showDeprecated:f}=Lj.createSuggestFilter(this._editor),g=new KN(h,(o=(r=e.completionOptions)===null||r===void 0?void 0:r.kindFilter)!==null&&o!==void 0?o:m,(s=e.completionOptions)===null||s===void 0?void 0:s.providerFilter,(a=e.completionOptions)===null||a===void 0?void 0:a.providerItemsToReuse,f),b=sm.create(this._editorWorkerService,this._editor),y=yj(this._languageFeaturesService.completionProvider,l,this._editor.getPosition(),g,c,this._requestToken.token);Promise.all([y,b]).then(async([C,w])=>{var x;if((x=this._requestToken)===null||x===void 0||x.dispose(),!this._editor.hasModel())return;let L=e==null?void 0:e.clipboardText;if(!L&&C.needsClipboard&&(L=await this._clipboardService.readText()),this._triggerState===void 0)return;const I=this._editor.getModel(),D=new hC(I,this._editor.getPosition(),e),N={...fW.default,firstMatchCanBeWeak:!this._editor.getOption(118).matchOnWordStartOnly};if(this._completionModel=new Q0(C.items,this._context.column,{leadingLineContent:D.leadingLineContent,characterCountDelta:D.column-this._context.column},w,this._editor.getOption(118),this._editor.getOption(112),N,L),this._completionDisposables.add(C.disposable),this._onNewContext(D),this._reportDurationsTelemetry(C.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const T of C.items)T.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${T.provider._debugDisplayName}`,T.completion)}).catch(yn)}_reportDurationsTelemetry(e){this._telemetryGate++%230===0&&setTimeout(()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(e)}),this._logService.debug("suggest.durations.json",e)})}static createSuggestFilter(e){const t=new Set;e.getOption(112)==="none"&&t.add(27);const r=e.getOption(118);return r.showMethods||t.add(0),r.showFunctions||t.add(1),r.showConstructors||t.add(2),r.showFields||t.add(3),r.showVariables||t.add(4),r.showClasses||t.add(5),r.showStructs||t.add(6),r.showInterfaces||t.add(7),r.showModules||t.add(8),r.showProperties||t.add(9),r.showEvents||t.add(10),r.showOperators||t.add(11),r.showUnits||t.add(12),r.showValues||t.add(13),r.showConstants||t.add(14),r.showEnums||t.add(15),r.showEnumMembers||t.add(16),r.showKeywords||t.add(17),r.showWords||t.add(18),r.showColors||t.add(19),r.showFiles||t.add(20),r.showReferences||t.add(21),r.showColors||t.add(22),r.showFolders||t.add(23),r.showTypeParameters||t.add(24),r.showSnippets||t.add(27),r.showUsers||t.add(25),r.showIssues||t.add(26),{itemKind:t,showDeprecated:r.showDeprecated}}_onNewContext(e){if(this._context){if(e.lineNumber!==this._context.lineNumber){this.cancel();return}if(Ui(e.leadingLineContent)!==Ui(this._context.leadingLineContent)){this.cancel();return}if(e.columnthis._context.leadingWord.startColumn){if(hC.shouldAutoTrigger(this._editor)&&this._context){const i=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:i}})}return}if(e.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&e.leadingWord.word.length!==0){const t=new Map,i=new Set;for(const[r,o]of this._completionModel.getItemsByProvider())o.length>0&&o[0].container.incomplete?i.add(r):t.set(r,o);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:i,providerItemsToReuse:t}})}else{const t=this._completionModel.lineContext;let i=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},this._completionModel.items.length===0){const r=hC.shouldAutoTrigger(this._editor);if(!this._context){this.cancel();return}if(r&&this._context.leadingWord.endColumn0,i&&e.leadingWord.word.length===0){this.cancel();return}}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:e.triggerOptions,isFrozen:i})}}}}};DA=Lj=LEt([$0(1,Kc),$0(2,gp),$0(3,Rl),$0(4,tl),$0(5,ln),$0(6,Pn),$0(7,Rt),$0(8,NK)],DA);class NA{constructor(e,t){this._disposables=new Je,this._lastOvertyped=[],this._locked=!1,this._disposables.add(e.onWillType(()=>{if(this._locked||!e.hasModel())return;const i=e.getSelections(),r=i.length;let o=!1;for(let a=0;aNA._maxSelectionLength)return;this._lastOvertyped[a]={value:s.getValueInRange(l),multiline:l.startLineNumber!==l.endLineNumber}}})),this._disposables.add(t.onDidTrigger(i=>{this._locked=!0})),this._disposables.add(t.onDidCancel(i=>{this._locked=!1}))}getLastOvertypedInfo(e){if(e>=0&&e=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Ij=function(n,e){return function(t,i){e(t,i,n)}};let NEt=class aTe extends M0{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();this.label&&(this.label.textContent=_({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",this._action.label,aTe.symbolPrintEnter(e)))}static symbolPrintEnter(e){var t;return(t=e.getLabel())===null||t===void 0?void 0:t.replace(/\benter\b/gi,"⏎")}},Fj=class{constructor(e,t,i,r,o){this._menuId=t,this._menuService=r,this._contextKeyService=o,this._menuDisposables=new Je,this.element=je(e,Ct(".suggest-status-bar"));const s=a=>a instanceof Xu?i.createInstance(NEt,a,void 0):void 0;this._leftActions=new Uc(this.element,{actionViewItemProvider:s}),this._rightActions=new Uc(this.element,{actionViewItemProvider:s}),this._leftActions.domNode.classList.add("left"),this._rightActions.domNode.classList.add("right")}dispose(){this._menuDisposables.dispose(),this._leftActions.dispose(),this._rightActions.dispose(),this.element.remove()}show(){const e=this._menuService.createMenu(this._menuId,this._contextKeyService),t=()=>{const i=[],r=[];for(const[o,s]of e.getActions())o==="left"?i.push(...s):r.push(...s);this._leftActions.clear(),this._leftActions.push(i),this._rightActions.clear(),this._rightActions.push(r)};this._menuDisposables.add(e.onDidChange(()=>t())),this._menuDisposables.add(e)}hide(){this._menuDisposables.clear()}};Fj=DEt([Ij(2,$t),Ij(3,Gu),Ij(4,ln)],Fj);var MEt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},kEt=function(n,e){return function(t,i){e(t,i,n)}};function Dj(n){return!!n&&!!(n.completion.documentation||n.completion.detail&&n.completion.detail!==n.completion.label)}let Nj=class{constructor(e,t){this._editor=e,this._onDidClose=new be,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new be,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new Je,this._renderDisposeable=new Je,this._borderWidth=1,this._size=new mi(330,0),this.domNode=Ct(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(xf,{editor:e}),this._body=Ct(".body"),this._scrollbar=new WF(this._body,{alwaysConsumeMouseWheel:!0}),je(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=je(this._body,Ct(".header")),this._close=je(this._header,Ct("span"+sn.asCSSSelector(ut.close))),this._close.title=_("details.close","Close"),this._type=je(this._header,Ct("p.type")),this._docs=je(this._body,Ct("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(50)&&this._configureFont()}))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const e=this._editor.getOptions(),t=e.get(50),i=t.getMassagedFontFamily(),r=e.get(119)||t.fontSize,o=e.get(120)||t.lineHeight,s=t.fontWeight,a=`${r}px`,l=`${o}px`;this.domNode.style.fontSize=a,this.domNode.style.lineHeight=`${o/r}`,this.domNode.style.fontWeight=s,this.domNode.style.fontFeatureSettings=t.fontFeatureSettings,this._type.style.fontFamily=i,this._close.style.height=l,this._close.style.width=l}getLayoutInfo(){const e=this._editor.getOption(120)||this._editor.getOption(50).lineHeight,t=this._borderWidth,i=t*2;return{lineHeight:e,borderWidth:t,borderHeight:i,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=_("loading","Loading..."),this._docs.textContent="",this.domNode.classList.remove("no-docs","no-type"),this.layout(this.size.width,this.getLayoutInfo().lineHeight*2),this._onDidChangeContents.fire(this)}renderItem(e,t){var i,r;this._renderDisposeable.clear();let{detail:o,documentation:s}=e.completion;if(t){let a="";a+=`score: ${e.score[0]} `,a+=`prefix: ${(i=e.word)!==null&&i!==void 0?i:"(no prefix)"} `,a+=`word: ${e.completion.filterText?e.completion.filterText+" (filterText)":e.textLabel} `,a+=`distance: ${e.distance} (localityBonus-setting) `,a+=`index: ${e.idx}, based on ${e.completion.sortText&&`sortText: "${e.completion.sortText}"`||"label"} `,a+=`commit_chars: ${(r=e.completion.commitCharacters)===null||r===void 0?void 0:r.join("")} -`,s=new va().appendCodeblock("empty",a),o=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!Dj(e)){this.clearContents();return}if(this.domNode.classList.remove("no-docs","no-type"),o){const a=o.length>1e5?`${o.substr(0,1e5)}…`:o;this._type.textContent=a,this._type.title=a,lu(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(a))}else ma(this._type),this._type.title="",$a(this._type),this.domNode.classList.add("no-type");if(ma(this._docs),typeof s=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=s;else if(s){this._docs.classList.add("markdown-docs"),ma(this._docs);const a=this._markdownRenderer.render(s);this._docs.appendChild(a.element),this._renderDisposeable.add(a),this._renderDisposeable.add(this._markdownRenderer.onDidRenderAsync(()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}))}this.domNode.style.userSelect="text",this.domNode.tabIndex=-1,this._close.onmousedown=a=>{a.preventDefault(),a.stopPropagation()},this._close.onclick=a=>{a.preventDefault(),a.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}clearContents(){this.domNode.classList.add("no-docs"),this._type.textContent="",this._docs.textContent=""}get isEmpty(){return this.domNode.classList.contains("no-docs")}get size(){return this._size}layout(e,t){const i=new mi(e,t);mi.equals(i,this._size)||(this._size=i,wft(this.domNode,e,t)),this._scrollbar.scanDomNode()}scrollDown(e=8){this._body.scrollTop+=e}scrollUp(e=8){this._body.scrollTop-=e}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}set borderWidth(e){this._borderWidth=e}get borderWidth(){return this._borderWidth}};Mj=kEt([NEt(1,$t)],Mj);class TEt{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new Je,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new _8,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(e.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let i,r,o=0,s=0;this._disposables.add(this._resizable.onDidWillResize(()=>{i=this._topLeft,r=this._resizable.size})),this._disposables.add(this._resizable.onDidResize(a=>{if(i&&r){this.widget.layout(a.dimension.width,a.dimension.height);let l=!1;a.west&&(s=r.width-a.dimension.width,l=!0),a.north&&(o=r.height-a.dimension.height,l=!0),l&&this._applyTopLeft({top:i.top+o,left:i.left+s})}a.done&&(i=void 0,r=void 0,o=0,s=0,this._userSize=a.dimension)})),this._disposables.add(this.widget.onDidChangeContents(()=>{var a;this._anchorBox&&this._placeAtAnchor(this._anchorBox,(a=this._userSize)!==null&&a!==void 0?a:this.widget.size,this._preferAlignAtTop)}))}dispose(){this._resizable.dispose(),this._disposables.dispose(),this.hide()}getId(){return"suggest.details"}getDomNode(){return this._resizable.domNode}getPosition(){return this._topLeft?{preference:this._topLeft}:null}show(){this._added||(this._editor.addOverlayWidget(this),this._added=!0)}hide(e=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),e&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(e,t){var i;const r=e.getBoundingClientRect();this._anchorBox=r,this._preferAlignAtTop=t,this._placeAtAnchor(this._anchorBox,(i=this._userSize)!==null&&i!==void 0?i:this.widget.size,t)}_placeAtAnchor(e,t,i){var r;const o=Ig(this.getDomNode().ownerDocument.body),s=this.widget.getLayoutInfo(),a=new mi(220,2*s.lineHeight),l=e.top,u=function(){const F=o.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),D=-s.borderWidth+e.left+e.width,M=new mi(F,o.height-e.top-s.borderHeight-s.verticalPadding),T=M.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:l,left:D,fit:F-t.width,maxSizeTop:M,maxSizeBottom:T,minSize:a.with(Math.min(F,a.width))}}(),c=function(){const F=e.left-s.borderWidth-s.horizontalPadding,D=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),M=new mi(F,o.height-e.top-s.borderHeight-s.verticalPadding),T=M.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:l,left:D,fit:F-t.width,maxSizeTop:M,maxSizeBottom:T,minSize:a.with(Math.min(F,a.width))}}(),d=function(){const F=e.left,D=-s.borderWidth+e.top+e.height,M=new mi(e.width-s.borderHeight,o.height-e.top-e.height-s.verticalPadding);return{top:D,left:F,fit:M.height-t.height,maxSizeBottom:M,maxSizeTop:M,minSize:a.with(M.width)}}(),h=[u,c,d],m=(r=h.find(F=>F.fit>=0))!==null&&r!==void 0?r:h.sort((F,D)=>D.fit-F.fit)[0],f=e.top+e.height-s.borderHeight;let g,b=t.height;const v=Math.max(m.maxSizeTop.height,m.maxSizeBottom.height);b>v&&(b=v);let C;i?b<=m.maxSizeTop.height?(g=!0,C=m.maxSizeTop):(g=!1,C=m.maxSizeBottom):b<=m.maxSizeBottom.height?(g=!1,C=m.maxSizeBottom):(g=!0,C=m.maxSizeTop);let{top:S,left:x}=m;!g&&b>e.height&&(S=f-b);const _=this._editor.getDomNode();if(_){const F=_.getBoundingClientRect();S-=F.top,x-=F.left}this._applyTopLeft({left:x,top:S}),this._resizable.enableSashes(!g,m===u,g,m!==u),this._resizable.minSize=m.minSize,this._resizable.maxSize=C,this._resizable.layout(b,Math.min(C.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this._editor.layoutOverlayWidget(this)}}var Wf;(function(n){n[n.FILE=0]="FILE",n[n.FOLDER=1]="FOLDER",n[n.ROOT_FOLDER=2]="ROOT_FOLDER"})(Wf||(Wf={}));const EEt=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function kV(n,e,t,i,r){if(r)return[`codicon-${r.id}`,"predefined-file-icon"];const o=i===Wf.ROOT_FOLDER?["rootfolder-icon"]:i===Wf.FOLDER?["folder-icon"]:["file-icon"];if(t){let s;if(t.scheme===wn.data)s=p0.parseMetaData(t).get(p0.META_DATA_LABEL);else{const a=t.path.match(EEt);a?(s=NV(a[2].toLowerCase()),a[1]&&o.push(`${NV(a[1].toLowerCase())}-name-dir-icon`)):s=NV(t.authority.toLowerCase())}if(i===Wf.ROOT_FOLDER)o.push(`${s}-root-name-folder-icon`);else if(i===Wf.FOLDER)o.push(`${s}-name-folder-icon`);else{if(s){if(o.push(`${s}-name-file-icon`),o.push("name-file-icon"),s.length<=255){const l=s.split(".");for(let u=1;u=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},kj=function(n,e){return function(t,i){e(t,i,n)}},q0;function L_e(n){return`suggest-aria-id:${n}`}const REt=so("suggest-more-info",ut.chevronRight,L("suggestMoreInfoIcon","Icon for more information in the suggest widget.")),VEt=new(q0=class{extract(e,t){if(e.textLabel.match(q0._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(q0._regexStrict))return t[0]=e.completion.detail,!0;if(e.completion.documentation){const i=typeof e.completion.documentation=="string"?e.completion.documentation:e.completion.documentation.value,r=q0._regexRelaxed.exec(i);if(r&&(r.index===0||r.index+r[0].length===i.length))return t[0]=r[0],!0}return!1}},q0._regexRelaxed=/(#([\da-fA-F]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))/,q0._regexStrict=new RegExp(`^${q0._regexRelaxed.source}$`,"i"),q0);let Nj=class{constructor(e,t,i,r){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=r,this._onDidToggleDetails=new be,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new Je,i=e;i.classList.add("show-file-icons");const r=je(e,Ct(".icon")),o=je(r,Ct("span.colorspan")),s=je(e,Ct(".contents")),a=je(s,Ct(".main")),l=je(a,Ct(".icon-label.codicon")),u=je(a,Ct("span.left")),c=je(a,Ct("span.right")),d=new N3(u,{supportHighlights:!0,supportIcons:!0});t.add(d);const h=je(u,Ct("span.signature-label")),m=je(u,Ct("span.qualifier-label")),f=je(c,Ct("span.details-label")),g=je(c,Ct("span.readMore"+sn.asCSSSelector(REt)));return g.title=L("readMore","Read More"),{root:i,left:u,right:c,icon:r,colorspan:o,iconLabel:d,iconContainer:l,parametersLabel:h,qualifierLabel:m,detailsLabel:f,readMore:g,disposables:t,configureFont:()=>{const v=this._editor.getOptions(),C=v.get(50),S=C.getMassagedFontFamily(),x=C.fontFeatureSettings,_=v.get(119)||C.fontSize,F=v.get(120)||C.lineHeight,D=C.fontWeight,M=C.letterSpacing,T=`${_}px`,Z=`${F}px`,E=`${M}px`;i.style.fontSize=T,i.style.fontWeight=D,i.style.letterSpacing=E,a.style.fontFamily=S,a.style.fontFeatureSettings=x,a.style.lineHeight=Z,r.style.height=Z,r.style.width=Z,g.style.height=Z,g.style.width=Z}}}renderElement(e,t,i){i.configureFont();const{completion:r}=e;i.root.id=L_e(t),i.colorspan.style.backgroundColor="";const o={labelEscapeNewLines:!0,matches:cR(e.score)},s=[];if(r.kind===19&&VEt.extract(e,s))i.icon.className="icon customcolor",i.iconContainer.className="icon hide",i.colorspan.style.backgroundColor=s[0];else if(r.kind===20&&this._themeService.getFileIconTheme().hasFileIcons){i.icon.className="icon hide",i.iconContainer.className="icon hide";const a=kV(this._modelService,this._languageService,en.from({scheme:"fake",path:e.textLabel}),Wf.FILE),l=kV(this._modelService,this._languageService,en.from({scheme:"fake",path:r.detail}),Wf.FILE);o.extraClasses=a.length>l.length?a:l}else r.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons?(i.icon.className="icon hide",i.iconContainer.className="icon hide",o.extraClasses=[kV(this._modelService,this._languageService,en.from({scheme:"fake",path:e.textLabel}),Wf.FOLDER),kV(this._modelService,this._languageService,en.from({scheme:"fake",path:r.detail}),Wf.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...sn.asClassNameArray(OI.toIcon(r.kind))));r.tags&&r.tags.indexOf(1)>=0&&(o.extraClasses=(o.extraClasses||[]).concat(["deprecated"]),o.matches=[]),i.iconLabel.setLabel(e.textLabel,void 0,o),typeof r.label=="string"?(i.parametersLabel.textContent="",i.detailsLabel.textContent=Tj(r.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=Tj(r.label.detail||""),i.detailsLabel.textContent=Tj(r.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(118).showInlineDetails?lu(i.detailsLabel):$a(i.detailsLabel),Dj(e)?(i.right.classList.add("can-expand-details"),lu(i.readMore),i.readMore.onmousedown=a=>{a.stopPropagation(),a.preventDefault()},i.readMore.onclick=a=>{a.stopPropagation(),a.preventDefault(),this._onDidToggleDetails.fire()}):(i.right.classList.remove("can-expand-details"),$a(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};Nj=WEt([kj(1,xr),kj(2,vr),kj(3,jo)],Nj);function Tj(n){return n.replace(/\r\n|\r|\n/g,"")}var AEt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},TV=function(n,e){return function(t,i){e(t,i,n)}},vx;re("editorSuggestWidget.background",{dark:no,light:no,hcDark:no,hcLight:no},L("editorSuggestWidgetBackground","Background color of the suggest widget.")),re("editorSuggestWidget.border",{dark:Xg,light:Xg,hcDark:Xg,hcLight:Xg},L("editorSuggestWidgetBorder","Border color of the suggest widget."));const EV=re("editorSuggestWidget.foreground",{dark:Gc,light:Gc,hcDark:Gc,hcLight:Gc},L("editorSuggestWidgetForeground","Foreground color of the suggest widget."));re("editorSuggestWidget.selectedForeground",{dark:s0,light:s0,hcDark:s0,hcLight:s0},L("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget.")),re("editorSuggestWidget.selectedIconForeground",{dark:e2,light:e2,hcDark:e2,hcLight:e2},L("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const GEt=re("editorSuggestWidget.selectedBackground",{dark:a0,light:a0,hcDark:a0,hcLight:a0},L("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));re("editorSuggestWidget.highlightForeground",{dark:Ed,light:Ed,hcDark:Ed,hcLight:Ed},L("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget.")),re("editorSuggestWidget.focusHighlightForeground",{dark:oW,light:oW,hcDark:oW,hcLight:oW},L("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused.")),re("editorSuggestWidgetStatus.foreground",{dark:zt(EV,.5),light:zt(EV,.5),hcDark:zt(EV,.5),hcLight:zt(EV,.5)},L("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class XEt{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof V0}`}restore(){var e;const t=(e=this._service.get(this._key,0))!==null&&e!==void 0?e:"";try{const i=JSON.parse(t);if(mi.is(i))return mi.lift(i)}catch{}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}}let qM=vx=class{constructor(e,t,i,r,o){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new Ms,this._pendingShowDetails=new Ms,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new Id,this._disposables=new Je,this._onDidSelect=new Ov,this._onDidFocus=new Ov,this._onDidHide=new be,this._onDidShow=new be,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new be,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new _8,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new PEt(this,e),this._persistedSize=new XEt(t,e);class s{constructor(m,f,g=!1,b=!1){this.persistedSize=m,this.currentSize=f,this.persistHeight=g,this.persistWidth=b}}let a;this._disposables.add(this.element.onDidWillResize(()=>{this._contentWidget.lockPreference(),a=new s(this._persistedSize.restore(),this.element.size)})),this._disposables.add(this.element.onDidResize(h=>{var m,f,g,b;if(this._resize(h.dimension.width,h.dimension.height),a&&(a.persistHeight=a.persistHeight||!!h.north||!!h.south,a.persistWidth=a.persistWidth||!!h.east||!!h.west),!!h.done){if(a){const{itemHeight:v,defaultSize:C}=this.getLayoutInfo(),S=Math.round(v/2);let{width:x,height:_}=this.element.size;(!a.persistHeight||Math.abs(a.currentSize.height-_)<=S)&&(_=(f=(m=a.persistedSize)===null||m===void 0?void 0:m.height)!==null&&f!==void 0?f:C.height),(!a.persistWidth||Math.abs(a.currentSize.width-x)<=S)&&(x=(b=(g=a.persistedSize)===null||g===void 0?void 0:g.width)!==null&&b!==void 0?b:C.width),this._persistedSize.store(new mi(x,_))}this._contentWidget.unlockPreference(),a=void 0}})),this._messageElement=je(this.element.domNode,Ct(".message")),this._listElement=je(this.element.domNode,Ct(".tree"));const l=this._disposables.add(o.createInstance(Mj,this.editor));l.onDidClose(this.toggleDetails,this,this._disposables),this._details=new TEt(l,this.editor);const u=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(118).showIcons);u();const c=o.createInstance(Nj,this.editor);this._disposables.add(c),this._disposables.add(c.onDidToggleDetails(()=>this.toggleDetails())),this._list=new Ju("SuggestWidget",this._listElement,{getHeight:h=>this.getLayoutInfo().itemHeight,getTemplateId:h=>"suggestion"},[c],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>L("suggest","Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:h=>{let m=h.textLabel;if(typeof h.completion.label!="string"){const{detail:v,description:C}=h.completion.label;v&&C?m=L("label.full","{0} {1}, {2}",m,v,C):v?m=L("label.detail","{0} {1}",m,v):C&&(m=L("label.desc","{0}, {1}",m,C))}if(!h.isResolved||!this._isDetailsVisible())return m;const{documentation:f,detail:g}=h.completion,b=pS("{0}{1}",g||"",f?typeof f=="string"?f:f.value:"");return L("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",m,b)}}}),this._list.style(Wy({listInactiveFocusBackground:GEt,listInactiveFocusOutline:fr})),this._status=o.createInstance(Ij,this.element.domNode,j0);const d=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(118).showStatusBar);d(),this._disposables.add(r.onDidColorThemeChange(h=>this._onThemeChange(h))),this._onThemeChange(r.getColorTheme()),this._disposables.add(this._list.onMouseDown(h=>this._onListMouseDownOrTap(h))),this._disposables.add(this._list.onTap(h=>this._onListMouseDownOrTap(h))),this._disposables.add(this._list.onDidChangeSelection(h=>this._onListSelection(h))),this._disposables.add(this._list.onDidChangeFocus(h=>this._onListFocus(h))),this._disposables.add(this.editor.onDidChangeCursorSelection(()=>this._onCursorSelectionChanged())),this._disposables.add(this.editor.onDidChangeConfiguration(h=>{h.hasChanged(118)&&(d(),u()),this._completionModel&&(h.hasChanged(50)||h.hasChanged(119)||h.hasChanged(120))&&this._list.splice(0,this._list.length,this._completionModel.items)})),this._ctxSuggestWidgetVisible=Nn.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=Nn.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=Nn.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=Nn.HasFocusedSuggestion.bindTo(i),this._disposables.add(Gr(this._details.widget.domNode,"keydown",h=>{this._onDetailsKeydown.fire(h)})),this._disposables.add(this.editor.onMouseDown(h=>this._onEditorMouseDown(h)))}dispose(){var e;this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),(e=this._loadingTimeout)===null||e===void 0||e.dispose(),this._pendingLayout.dispose(),this._pendingShowDetails.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose()}_onEditorMouseDown(e){this._details.widget.domNode.contains(e.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(e.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){this._state!==0&&this._contentWidget.layout()}_onListMouseDownOrTap(e){typeof e.element>"u"||typeof e.index>"u"||(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation(),this._select(e.element,e.index))}_onListSelection(e){e.elements.length&&this._select(e.elements[0],e.indexes[0])}_select(e,t){const i=this._completionModel;i&&(this._onDidSelect.fire({item:e,index:t,model:i}),this.editor.focus())}_onThemeChange(e){this._details.widget.borderWidth=rf(e.type)?2:1}_onListFocus(e){var t;if(this._ignoreFocusEvents)return;if(!e.elements.length){this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0}),this._ctxSuggestWidgetHasFocusedSuggestion.set(!1);return}if(!this._completionModel)return;this._ctxSuggestWidgetHasFocusedSuggestion.set(!0);const i=e.elements[0],r=e.indexes[0];i!==this._focusedItem&&((t=this._currentSuggestionDetails)===null||t===void 0||t.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=i,this._list.reveal(r),this._currentSuggestionDetails=rs(async o=>{const s=Gb(()=>{this._isDetailsVisible()&&this.showDetails(!0)},250),a=o.onCancellationRequested(()=>s.dispose());try{return await i.resolve(o)}finally{s.dispose(),a.dispose()}}),this._currentSuggestionDetails.then(()=>{r>=this._list.length||i!==this._list.element(r)||(this._ignoreFocusEvents=!0,this._list.splice(r,1,[i]),this._list.setFocus([r]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:L_e(r)}))}).catch(vn)),this._onDidFocus.fire({item:i,index:r,model:this._completionModel})}_setState(e){if(this._state!==e)switch(this._state=e,this.element.domNode.classList.toggle("frozen",e===4),this.element.domNode.classList.remove("message"),e){case 0:$a(this._messageElement,this._listElement,this._status.element),this._details.hide(!0),this._status.hide(),this._contentWidget.hide(),this._ctxSuggestWidgetVisible.reset(),this._ctxSuggestWidgetMultipleSuggestions.reset(),this._ctxSuggestWidgetHasFocusedSuggestion.reset(),this._showTimeout.cancel(),this.element.domNode.classList.remove("visible"),this._list.splice(0,this._list.length),this._focusedItem=void 0,this._cappedHeight=void 0,this._explainMode=!1;break;case 1:this.element.domNode.classList.add("message"),this._messageElement.textContent=vx.LOADING_MESSAGE,$a(this._listElement,this._status.element),lu(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Ng(vx.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=vx.NO_SUGGESTIONS_MESSAGE,$a(this._listElement,this._status.element),lu(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Ng(vx.NO_SUGGESTIONS_MESSAGE);break;case 3:$a(this._messageElement),lu(this._listElement,this._status.element),this._show();break;case 4:$a(this._messageElement),lu(this._listElement,this._status.element),this._show();break;case 5:$a(this._messageElement),lu(this._listElement,this._status.element),this._details.show(),this._show();break}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore()),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet(()=>{this.element.domNode.classList.add("visible"),this._onDidShow.fire(this)},100)}showTriggered(e,t){this._state===0&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!e,this._isAuto||(this._loadingTimeout=Gb(()=>this._setState(1),t)))}showSuggestions(e,t,i,r,o){var s,a;if(this._contentWidget.setPosition(this.editor.getPosition()),(s=this._loadingTimeout)===null||s===void 0||s.dispose(),(a=this._currentSuggestionDetails)===null||a===void 0||a.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==e&&(this._completionModel=e),i&&this._state!==2&&this._state!==0){this._setState(4);return}const l=this._completionModel.items.length,u=l===0;if(this._ctxSuggestWidgetMultipleSuggestions.set(l>1),u){this._setState(r?0:2),this._completionModel=void 0;return}this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(i?4:3),this._list.reveal(t,0),this._list.setFocus(o?[]:[t])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=o9(Qt(this.element.domNode),()=>{this._pendingLayout.clear(),this._layout(this.element.size),this._details.widget.domNode.classList.remove("focused")})}focusSelected(){this._list.length>0&&this._list.setFocus([0])}selectNextPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageDown(),!0;case 1:return!this._isAuto;default:return this._list.focusNextPage(),!0}}selectNext(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusNext(1,!0),!0}}selectLast(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollBottom(),!0;case 1:return!this._isAuto;default:return this._list.focusLast(),!0}}selectPreviousPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageUp(),!0;case 1:return!this._isAuto;default:return this._list.focusPreviousPage(),!0}}selectPrevious(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusPrevious(1,!0),!1}}selectFirst(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollTop(),!0;case 1:return!this._isAuto;default:return this._list.focusFirst(),!0}}getFocusedItem(){if(this._state!==0&&this._state!==2&&this._state!==1&&this._completionModel&&this._list.getFocus().length>0)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){this._state===5?(this._setState(3),this._details.widget.domNode.classList.remove("focused")):this._state===3&&this._isDetailsVisible()&&(this._setState(5),this._details.widget.domNode.classList.add("focused"))}toggleDetails(){this._isDetailsVisible()?(this._pendingShowDetails.clear(),this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove("shows-details")):(Dj(this._list.getFocusedElements()[0])||this._explainMode)&&(this._state===3||this._state===5||this._state===4)&&(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this.showDetails(!1))}showDetails(e){this._pendingShowDetails.value=o9(Qt(this.element.domNode),()=>{this._pendingShowDetails.clear(),this._details.show(),e?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._details.widget.isEmpty?this._details.hide():(this._positionDetails(),this.element.domNode.classList.add("shows-details")),this.editor.focus()})}toggleExplainMode(){this._list.getFocusedElements()[0]&&(this._explainMode=!this._explainMode,this._isDetailsVisible()?this.showDetails(!1):this.toggleDetails())}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){var e;this._pendingLayout.clear(),this._pendingShowDetails.clear(),(e=this._loadingTimeout)===null||e===void 0||e.dispose(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();const t=this._persistedSize.restore(),i=Math.ceil(this.getLayoutInfo().itemHeight*4.3);t&&t.heightu&&(l=u);const c=this._completionModel?this._completionModel.stats.pLabelLen*s.typicalHalfwidthCharacterWidth:l,d=s.statusBarHeight+this._list.contentHeight+s.borderHeight,h=s.itemHeight+s.statusBarHeight,m=po(this.editor.getDomNode()),f=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),g=m.top+f.top+f.height,b=Math.min(o.height-g-s.verticalPadding,d),v=m.top+f.top-s.verticalPadding,C=Math.min(v,d);let S=Math.min(Math.max(C,b)+s.borderHeight,d);a===((t=this._cappedHeight)===null||t===void 0?void 0:t.capped)&&(a=this._cappedHeight.wanted),aS&&(a=S),a>b||this._forceRenderingAbove&&v>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),S=C):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),S=b),this.element.preferredSize=new mi(c,s.defaultSize.height),this.element.maxSize=new mi(u,S),this.element.minSize=new mi(220,h),this._cappedHeight=a===d?{wanted:(r=(i=this._cappedHeight)===null||i===void 0?void 0:i.wanted)!==null&&r!==void 0?r:e.height,capped:a}:void 0}this._resize(l,a)}_resize(e,t){const{width:i,height:r}=this.element.maxSize;e=Math.min(i,e),t=Math.min(r,t);const{statusBarHeight:o}=this.getLayoutInfo();this._list.layout(t-o,e),this._listElement.style.height=`${t-o}px`,this.element.layout(t,e),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){var e;this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,((e=this._contentWidget.getPosition())===null||e===void 0?void 0:e.preference[0])===2)}getLayoutInfo(){const e=this.editor.getOption(50),t=al(this.editor.getOption(120)||e.lineHeight,8,1e3),i=!this.editor.getOption(118).showStatusBar||this._state===2||this._state===1?0:t,r=this._details.widget.borderWidth,o=2*r;return{itemHeight:t,statusBarHeight:i,borderWidth:r,borderHeight:o,typicalHalfwidthCharacterWidth:e.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new mi(430,i+12*t+o)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,!1)}_setDetailsVisible(e){this._storageService.store("expandSuggestionDocs",e,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}};qM.LOADING_MESSAGE=L("suggestWidget.loading","Loading..."),qM.NO_SUGGESTIONS_MESSAGE=L("suggestWidget.noSuggestions","No suggestions."),qM=vx=AEt([TV(1,wf),TV(2,ln),TV(3,jo),TV(4,$t)],qM);class PEt{constructor(e,t){this._widget=e,this._editor=t,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){this._added&&(this._added=!1,this._editor.removeContentWidget(this))}getId(){return"editor.widget.suggestWidget"}getDomNode(){return this._widget.element.domNode}show(){this._hidden=!1,this._added||(this._added=!0,this._editor.addContentWidget(this))}hide(){this._hidden||(this._hidden=!0,this.layout())}layout(){this._editor.layoutContentWidget(this)}getPosition(){return this._hidden||!this._position||!this._preference?null:{position:this._position,preference:[this._preference]}}beforeRender(){const{height:e,width:t}=this._widget.element.size,{borderWidth:i,horizontalPadding:r}=this._widget.getLayoutInfo();return new mi(t+2*i+r,e+2*i)}afterRender(e){this._widget._afterRender(e)}setPreference(e){this._preferenceLocked||(this._preference=e)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(e){this._position=e}}var OEt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},yx=function(n,e){return function(t,i){e(t,i,n)}},Ej;class BEt{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=yn.register({description:"suggest-line-suffix",stickiness:1}),e.getLineMaxColumn(t.lineNumber)!==t.column){const r=e.getOffsetAt(t),o=e.getPositionAt(r+1);e.changeDecorations(s=>{this._marker&&s.removeDecoration(this._marker),this._marker=s.addDecoration(J.fromPositions(t,o),this._decorationOptions)})}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.changeDecorations(e=>{e.removeDecoration(this._marker),this._marker=void 0})}delta(e){if(this._model.isDisposed()||this._position.lineNumber!==e.lineNumber)return 0;if(this._marker){const t=this._model.getDecorationRange(this._marker);return this._model.getOffsetAt(t.getStartPosition())-this._model.getOffsetAt(e)}else return this._model.getLineMaxColumn(e.lineNumber)-e.column}}let Bd=Ej=class{static get(e){return e.getContribution(Ej.ID)}constructor(e,t,i,r,o,s,a){this._memoryService=t,this._commandService=i,this._contextKeyService=r,this._instantiationService=o,this._logService=s,this._telemetryService=a,this._lineSuffix=new Ms,this._toDispose=new Je,this._selectors=new zEt(d=>d.priority),this._onWillInsertSuggestItem=new be,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=o.createInstance(DV,this.editor),this._selectors.register({priority:0,select:(d,h,m)=>this._memoryService.select(d,h,m)});const l=Nn.InsertMode.bindTo(r);l.set(e.getOption(118).insertMode),this._toDispose.add(this.model.onDidTrigger(()=>l.set(e.getOption(118).insertMode))),this.widget=this._toDispose.add(new pY(Qt(e.getDomNode()),()=>{const d=this._instantiationService.createInstance(qM,this.editor);this._toDispose.add(d),this._toDispose.add(d.onDidSelect(b=>this._insertSuggestion(b,0),this));const h=new LEt(this.editor,d,this.model,b=>this._insertSuggestion(b,2));this._toDispose.add(h);const m=Nn.MakesTextEdit.bindTo(this._contextKeyService),f=Nn.HasInsertAndReplaceRange.bindTo(this._contextKeyService),g=Nn.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(jt(()=>{m.reset(),f.reset(),g.reset()})),this._toDispose.add(d.onDidFocus(({item:b})=>{const v=this.editor.getPosition(),C=b.editStart.column,S=v.column;let x=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!b.completion.additionalTextEdits&&!(b.completion.insertTextRules&4)&&S-C===b.completion.insertText.length&&(x=this.editor.getModel().getValueInRange({startLineNumber:v.lineNumber,startColumn:C,endLineNumber:v.lineNumber,endColumn:S})!==b.completion.insertText),m.set(x),f.set(!ye.equals(b.editInsertEnd,b.editReplaceEnd)),g.set(!!b.provider.resolveCompletionItem||!!b.completion.documentation||b.completion.detail!==b.completion.label)})),this._toDispose.add(d.onDetailsKeyDown(b=>{if(b.toKeyCodeChord().equals(new _g(!0,!1,!1,!1,33))||On&&b.toKeyCodeChord().equals(new _g(!1,!1,!1,!0,33))){b.stopPropagation();return}b.toKeyCodeChord().isModifierKey()||this.editor.focus()})),d})),this._overtypingCapturer=this._toDispose.add(new pY(Qt(e.getDomNode()),()=>this._toDispose.add(new MV(this.editor,this.model)))),this._alternatives=this._toDispose.add(new pY(Qt(e.getDomNode()),()=>this._toDispose.add(new dC(this.editor,this._contextKeyService)))),this._toDispose.add(o.createInstance(QM,e)),this._toDispose.add(this.model.onDidTrigger(d=>{this.widget.value.showTriggered(d.auto,d.shy?250:50),this._lineSuffix.value=new BEt(this.editor.getModel(),d.position)})),this._toDispose.add(this.model.onDidSuggest(d=>{if(d.triggerOptions.shy)return;let h=-1;for(const f of this._selectors.itemsOrderedByPriorityDesc)if(h=f.select(this.editor.getModel(),this.editor.getPosition(),d.completionModel.items),h!==-1)break;if(h===-1&&(h=0),this.model.state===0)return;let m=!1;if(d.triggerOptions.auto){const f=this.editor.getOption(118);f.selectionMode==="never"||f.selectionMode==="always"?m=f.selectionMode==="never":f.selectionMode==="whenTriggerCharacter"?m=d.triggerOptions.triggerKind!==1:f.selectionMode==="whenQuickSuggestion"&&(m=d.triggerOptions.triggerKind===1&&!d.triggerOptions.refilter)}this.widget.value.showSuggestions(d.completionModel,h,d.isFrozen,d.triggerOptions.auto,m)})),this._toDispose.add(this.model.onDidCancel(d=>{d.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{this.model.cancel(),this.model.clear()}));const u=Nn.AcceptSuggestionsOnEnter.bindTo(r),c=()=>{const d=this.editor.getOption(1);u.set(d==="on"||d==="smart")};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>c())),c()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose(),this._onWillInsertSuggestItem.dispose()}_insertSuggestion(e,t){if(!e||!e.item){this._alternatives.value.reset(),this.model.cancel(),this.model.clear();return}if(!this.editor.hasModel())return;const i=Ws.get(this.editor);if(!i)return;this._onWillInsertSuggestItem.fire({item:e.item});const r=this.editor.getModel(),o=r.getAlternativeVersionId(),{item:s}=e,a=[],l=new fo;t&1||this.editor.pushUndoStop();const u=this.getOverwriteInfo(s,!!(t&8));this._memoryService.memorize(r,this.editor.getPosition(),s);const c=s.isResolved;let d=-1,h=-1;if(Array.isArray(s.completion.additionalTextEdits)){this.model.cancel();const f=zh.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",s.completion.additionalTextEdits.map(g=>{let b=J.lift(g.range);if(b.startLineNumber===s.position.lineNumber&&b.startColumn>s.position.column){const v=this.editor.getPosition().column-s.position.column,C=v,S=J.spansMultipleLines(b)?0:v;b=new J(b.startLineNumber,b.startColumn+C,b.endLineNumber,b.endColumn+S)}return Cr.replaceMove(b,g.text)})),f.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!c){const f=new Js;let g;const b=r.onDidChangeContent(x=>{if(x.isFlush){l.cancel(),b.dispose();return}for(const _ of x.changes){const F=J.getEndPosition(_.range);(!g||ye.isBefore(F,g))&&(g=F)}}),v=t;t|=2;let C=!1;const S=this.editor.onWillType(()=>{S.dispose(),C=!0,v&2||this.editor.pushUndoStop()});a.push(s.resolve(l.token).then(()=>{if(!s.completion.additionalTextEdits||l.token.isCancellationRequested)return;if(g&&s.completion.additionalTextEdits.some(_=>ye.isBefore(g,J.getStartPosition(_.range))))return!1;C&&this.editor.pushUndoStop();const x=zh.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",s.completion.additionalTextEdits.map(_=>Cr.replaceMove(J.lift(_.range),_.text))),x.restoreRelativeVerticalPositionOfCursor(this.editor),(C||!(v&2))&&this.editor.pushUndoStop(),!0}).then(x=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",f.elapsed(),x),h=x===!0?1:x===!1?0:-2}).finally(()=>{b.dispose(),S.dispose()}))}let{insertText:m}=s.completion;if(s.completion.insertTextRules&4||(m=Vy.escape(m)),this.model.cancel(),i.insert(m,{overwriteBefore:u.overwriteBefore,overwriteAfter:u.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(s.completion.insertTextRules&1),clipboardText:e.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),t&2||this.editor.pushUndoStop(),s.completion.command)if(s.completion.command.id===ek.id)this.model.trigger({auto:!0,retrigger:!0});else{const f=new Js;a.push(this._commandService.executeCommand(s.completion.command.id,...s.completion.command.arguments?[...s.completion.command.arguments]:[]).catch(g=>{s.completion.extensionId?qr(g):vn(g)}).finally(()=>{d=f.elapsed()}))}t&4&&this._alternatives.value.set(e,f=>{for(l.cancel();r.canUndo();){o!==r.getAlternativeVersionId()&&r.undo(),this._insertSuggestion(f,3|(t&8?8:0));break}}),this._alertCompletionItem(s),Promise.all(a).finally(()=>{this._reportSuggestionAcceptedTelemetry(s,r,c,d,h),this.model.clear(),l.dispose()})}_reportSuggestionAcceptedTelemetry(e,t,i,r,o){var s,a,l;Math.floor(Math.random()*100)!==0&&this._telemetryService.publicLog2("suggest.acceptedSuggestion",{extensionId:(a=(s=e.extensionId)===null||s===void 0?void 0:s.value)!==null&&a!==void 0?a:"unknown",providerId:(l=e.provider._debugDisplayName)!==null&&l!==void 0?l:"unknown",kind:e.completion.kind,basenameHash:e9(Hc(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:GCt(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:r,additionalEditsAsync:o})}getOverwriteInfo(e,t){hi(this.editor.hasModel());let i=this.editor.getOption(118).insertMode==="replace";t&&(i=!i);const r=e.position.column-e.editStart.column,o=(i?e.editReplaceEnd.column:e.editInsertEnd.column)-e.position.column,s=this.editor.getPosition().column-e.position.column,a=this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0;return{overwriteBefore:r+s,overwriteAfter:o+a}}_alertCompletionItem(e){if(ga(e.completion.additionalTextEdits)){const t=L("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length);kl(t)}}triggerSuggest(e,t,i){this.editor.hasModel()&&(this.model.trigger({auto:t??!1,completionOptions:{providerFilter:e,kindFilter:i?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(e){if(!this.editor.hasModel())return;const t=this.editor.getPosition(),i=()=>{t.equals(this.editor.getPosition())&&this._commandService.executeCommand(e.fallback)},r=o=>{if(o.completion.insertTextRules&4||o.completion.additionalTextEdits)return!0;const s=this.editor.getPosition(),a=o.editStart.column,l=s.column;return l-a!==o.completion.insertText.length?!0:this.editor.getModel().getValueInRange({startLineNumber:s.lineNumber,startColumn:a,endLineNumber:s.lineNumber,endColumn:l})!==o.completion.insertText};lt.once(this.model.onDidTrigger)(o=>{const s=[];lt.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{er(s),i()},void 0,s),this.model.onDidSuggest(({completionModel:a})=>{if(er(s),a.items.length===0){i();return}const l=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),a.items),u=a.items[l];if(!r(u)){i();return}this.editor.pushUndoStop(),this._insertSuggestion({index:l,item:u,model:a},7)},void 0,s)}),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(t,0),this.editor.focus()}acceptSelectedSuggestion(e,t){const i=this.widget.value.getFocusedItem();let r=0;e&&(r|=4),t&&(r|=8),this._insertSuggestion(i,r)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}focusSuggestion(){this.widget.value.focusSelected()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.value.forceRenderingAbove()}stopForceRenderingAbove(){this.widget.isInitialized&&this.widget.value.stopForceRenderingAbove()}registerSelector(e){return this._selectors.register(e)}};Bd.ID="editor.contrib.suggestController",Bd=Ej=OEt([yx(1,IV),yx(2,Xr),yx(3,ln),yx(4,$t),yx(5,tl),yx(6,Zl)],Bd);class zEt{constructor(e){this.prioritySelector=e,this._items=new Array}register(e){if(this._items.indexOf(e)!==-1)throw new Error("Value is already registered");return this._items.push(e),this._items.sort((t,i)=>this.prioritySelector(i)-this.prioritySelector(t)),{dispose:()=>{const t=this._items.indexOf(e);t>=0&&this._items.splice(t,1)}}}get itemsOrderedByPriorityDesc(){return this._items}}class ek extends Mt{constructor(){super({id:ek.id,label:L("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:Oe.and(ne.writable,ne.hasCompletionItemProvider,Nn.Visible.toNegated()),kbOpts:{kbExpr:ne.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const r=Bd.get(t);if(!r)return;let o;i&&typeof i=="object"&&i.auto===!0&&(o=!0),r.triggerSuggest(void 0,o,void 0)}}ek.id="editor.action.triggerSuggest",yi(Bd.ID,Bd,2),tt(ek);const ic=190,ml=Ko.bindToContribution(Bd.get);gt(new ml({id:"acceptSelectedSuggestion",precondition:Oe.and(Nn.Visible,Nn.HasFocusedSuggestion),handler(n){n.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:Oe.and(Nn.Visible,ne.textInputFocus),weight:ic},{primary:3,kbExpr:Oe.and(Nn.Visible,ne.textInputFocus,Nn.AcceptSuggestionsOnEnter,Nn.MakesTextEdit),weight:ic}],menuOpts:[{menuId:j0,title:L("accept.insert","Insert"),group:"left",order:1,when:Nn.HasInsertAndReplaceRange.toNegated()},{menuId:j0,title:L("accept.insert","Insert"),group:"left",order:1,when:Oe.and(Nn.HasInsertAndReplaceRange,Nn.InsertMode.isEqualTo("insert"))},{menuId:j0,title:L("accept.replace","Replace"),group:"left",order:1,when:Oe.and(Nn.HasInsertAndReplaceRange,Nn.InsertMode.isEqualTo("replace"))}]})),gt(new ml({id:"acceptAlternativeSelectedSuggestion",precondition:Oe.and(Nn.Visible,ne.textInputFocus,Nn.HasFocusedSuggestion),kbOpts:{weight:ic,kbExpr:ne.textInputFocus,primary:1027,secondary:[1026]},handler(n){n.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:j0,group:"left",order:2,when:Oe.and(Nn.HasInsertAndReplaceRange,Nn.InsertMode.isEqualTo("insert")),title:L("accept.replace","Replace")},{menuId:j0,group:"left",order:2,when:Oe.and(Nn.HasInsertAndReplaceRange,Nn.InsertMode.isEqualTo("replace")),title:L("accept.insert","Insert")}]})),$n.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion"),gt(new ml({id:"hideSuggestWidget",precondition:Nn.Visible,handler:n=>n.cancelSuggestWidget(),kbOpts:{weight:ic,kbExpr:ne.textInputFocus,primary:9,secondary:[1033]}})),gt(new ml({id:"selectNextSuggestion",precondition:Oe.and(Nn.Visible,Oe.or(Nn.MultipleSuggestions,Nn.HasFocusedSuggestion.negate())),handler:n=>n.selectNextSuggestion(),kbOpts:{weight:ic,kbExpr:ne.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),gt(new ml({id:"selectNextPageSuggestion",precondition:Oe.and(Nn.Visible,Oe.or(Nn.MultipleSuggestions,Nn.HasFocusedSuggestion.negate())),handler:n=>n.selectNextPageSuggestion(),kbOpts:{weight:ic,kbExpr:ne.textInputFocus,primary:12,secondary:[2060]}})),gt(new ml({id:"selectLastSuggestion",precondition:Oe.and(Nn.Visible,Oe.or(Nn.MultipleSuggestions,Nn.HasFocusedSuggestion.negate())),handler:n=>n.selectLastSuggestion()})),gt(new ml({id:"selectPrevSuggestion",precondition:Oe.and(Nn.Visible,Oe.or(Nn.MultipleSuggestions,Nn.HasFocusedSuggestion.negate())),handler:n=>n.selectPrevSuggestion(),kbOpts:{weight:ic,kbExpr:ne.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),gt(new ml({id:"selectPrevPageSuggestion",precondition:Oe.and(Nn.Visible,Oe.or(Nn.MultipleSuggestions,Nn.HasFocusedSuggestion.negate())),handler:n=>n.selectPrevPageSuggestion(),kbOpts:{weight:ic,kbExpr:ne.textInputFocus,primary:11,secondary:[2059]}})),gt(new ml({id:"selectFirstSuggestion",precondition:Oe.and(Nn.Visible,Oe.or(Nn.MultipleSuggestions,Nn.HasFocusedSuggestion.negate())),handler:n=>n.selectFirstSuggestion()})),gt(new ml({id:"focusSuggestion",precondition:Oe.and(Nn.Visible,Nn.HasFocusedSuggestion.negate()),handler:n=>n.focusSuggestion(),kbOpts:{weight:ic,kbExpr:ne.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}})),gt(new ml({id:"focusAndAcceptSuggestion",precondition:Oe.and(Nn.Visible,Nn.HasFocusedSuggestion.negate()),handler:n=>{n.focusSuggestion(),n.acceptSelectedSuggestion(!0,!1)}})),gt(new ml({id:"toggleSuggestionDetails",precondition:Oe.and(Nn.Visible,Nn.HasFocusedSuggestion),handler:n=>n.toggleSuggestionDetails(),kbOpts:{weight:ic,kbExpr:ne.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:j0,group:"right",order:1,when:Oe.and(Nn.DetailsVisible,Nn.CanResolve),title:L("detail.more","show less")},{menuId:j0,group:"right",order:1,when:Oe.and(Nn.DetailsVisible.toNegated(),Nn.CanResolve),title:L("detail.less","show more")}]})),gt(new ml({id:"toggleExplainMode",precondition:Nn.Visible,handler:n=>n.toggleExplainMode(),kbOpts:{weight:100,primary:2138}})),gt(new ml({id:"toggleSuggestionFocus",precondition:Nn.Visible,handler:n=>n.toggleSuggestionFocus(),kbOpts:{weight:ic,kbExpr:ne.textInputFocus,primary:2570,mac:{primary:778}}})),gt(new ml({id:"insertBestCompletion",precondition:Oe.and(ne.textInputFocus,Oe.equals("config.editor.tabCompletion","on"),QM.AtEnd,Nn.Visible.toNegated(),dC.OtherSuggestions.toNegated(),Ws.InSnippetMode.toNegated()),handler:(n,e)=>{n.triggerSuggestAndAcceptBest(Ua(e)?{fallback:"tab",...e}:{fallback:"tab"})},kbOpts:{weight:ic,primary:2}})),gt(new ml({id:"insertNextSuggestion",precondition:Oe.and(ne.textInputFocus,Oe.equals("config.editor.tabCompletion","on"),dC.OtherSuggestions,Nn.Visible.toNegated(),Ws.InSnippetMode.toNegated()),handler:n=>n.acceptNextSuggestion(),kbOpts:{weight:ic,kbExpr:ne.textInputFocus,primary:2}})),gt(new ml({id:"insertPrevSuggestion",precondition:Oe.and(ne.textInputFocus,Oe.equals("config.editor.tabCompletion","on"),dC.OtherSuggestions,Nn.Visible.toNegated(),Ws.InSnippetMode.toNegated()),handler:n=>n.acceptPrevSuggestion(),kbOpts:{weight:ic,kbExpr:ne.textInputFocus,primary:1026}})),tt(class extends Mt{constructor(){super({id:"editor.action.resetSuggestSize",label:L("suggest.reset.label","Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(n,e){var t;(t=Bd.get(e))===null||t===void 0||t.resetWidgetSize()}});class HEt extends Ie{get selectedItem(){return this._selectedItem}constructor(e,t,i,r){super(),this.editor=e,this.suggestControllerPreselector=t,this.checkModelVersion=i,this.onWillAccept=r,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._selectedItem=ei(this,void 0),this._register(e.onKeyDown(s=>{s.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))})),this._register(e.onKeyUp(s=>{s.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))}));const o=Bd.get(this.editor);if(o){this._register(o.registerSelector({priority:100,select:(l,u,c)=>{zi(v=>this.checkModelVersion(v));const d=this.editor.getModel();if(!d)return-1;const h=this.suggestControllerPreselector(),m=h?cC(h,d):void 0;if(!m)return-1;const f=ye.lift(u),g=c.map((v,C)=>{const S=tk.fromSuggestion(o,d,f,v,this.isShiftKeyPressed),x=cC(S.toSingleTextEdit(),d),_=r_e(m,x);return{index:C,valid:_,prefixLength:x.text.length,suggestItem:v}}).filter(v=>v&&v.valid&&v.prefixLength>0),b=B6(g,Ec(v=>v.prefixLength,Rg));return b?b.index:-1}}));let s=!1;const a=()=>{s||(s=!0,this._register(o.widget.value.onDidShow(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})),this._register(o.widget.value.onDidHide(()=>{this.isSuggestWidgetVisible=!1,this.update(!1)})),this._register(o.widget.value.onDidFocus(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})))};this._register(lt.once(o.model.onDidTrigger)(l=>{a()})),this._register(o.onWillInsertSuggestItem(l=>{const u=this.editor.getPosition(),c=this.editor.getModel();if(!u||!c)return;const d=tk.fromSuggestion(o,c,u,l.item,this.isShiftKeyPressed);this.onWillAccept(d)}))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();(this._isActive!==e||!YEt(this._currentSuggestItemInfo,t))&&(this._isActive=e,this._currentSuggestItemInfo=t,zi(i=>{this.checkModelVersion(i),this._selectedItem.set(this._isActive?this._currentSuggestItemInfo:void 0,i)}))}getSuggestItemInfo(){const e=Bd.get(this.editor);if(!e||!this.isSuggestWidgetVisible)return;const t=e.widget.value.getFocusedItem(),i=this.editor.getPosition(),r=this.editor.getModel();if(!(!t||!i||!r))return tk.fromSuggestion(e,r,i,t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){const e=Bd.get(this.editor);e==null||e.stopForceRenderingAbove()}forceRenderingAbove(){const e=Bd.get(this.editor);e==null||e.forceRenderingAbove()}}class tk{static fromSuggestion(e,t,i,r,o){let{insertText:s}=r.completion,a=!1;if(r.completion.insertTextRules&4){const u=new Vy().parse(s);u.children.length<100&&LV.adjustWhitespace(t,i,!0,u),s=u.toString(),a=!0}const l=e.getOverwriteInfo(r,o);return new tk(J.fromPositions(i.delta(0,-l.overwriteBefore),i.delta(0,Math.max(l.overwriteAfter,0))),s,r.completion.kind,a)}constructor(e,t,i,r){this.range=e,this.insertText=t,this.completionItemKind=i,this.isSnippetText=r}equals(e){return this.range.equalsRange(e.range)&&this.insertText===e.insertText&&this.completionItemKind===e.completionItemKind&&this.isSnippetText===e.isSnippetText}toSelectedSuggestionInfo(){return new jve(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new vp(this.range,this.insertText)}}function YEt(n,e){return n===e?!0:!n||!e?!1:n.equals(e)}var UEt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},e1=function(n,e){return function(t,i){e(t,i,n)}},Zj;let rc=Zj=class extends Ie{static get(e){return e.getContribution(Zj.ID)}constructor(e,t,i,r,o,s,a,l,u){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=i,this._configurationService=r,this._commandService=o,this._debounceService=s,this._languageFeaturesService=a,this._accessibilitySignalService=l,this._keybindingService=u,this.model=this._register(TD("inlineCompletionModel",void 0)),this._textModelVersionId=ei(this,-1),this._positions=ei(this,[new ye(1,1)]),this._suggestWidgetAdaptor=this._register(new HEt(this.editor,()=>{var m,f;return(f=(m=this.model.get())===null||m===void 0?void 0:m.selectedInlineCompletion.get())===null||f===void 0?void 0:f.toSingleTextEdit(void 0)},m=>this.updateObservables(m,tc.Other),m=>{zi(f=>{var g;this.updateObservables(f,tc.Other),(g=this.model.get())===null||g===void 0||g.handleSuggestAccepted(m)})})),this._enabled=Hi(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._fontFamily=Hi(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._ghostTexts=hn(this,m=>{var f;const g=this.model.read(m);return(f=g==null?void 0:g.ghostTexts.read(m))!==null&&f!==void 0?f:[]}),this._stablizedGhostTexts=KEt(this._ghostTexts,this._store),this._ghostTextWidgets=u2t(this,this._stablizedGhostTexts,(m,f)=>f.add(this._instantiationService.createInstance(pj,this.editor,{ghostText:m,minReservedLineCount:Bh(0),targetTextModel:this.model.map(g=>g==null?void 0:g.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineCompletionsDebounce",{min:50,max:50}),this._playAccessibilitySignal=sR(this),this._isReadonly=Hi(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(91)),this._textModel=Hi(this.editor.onDidChangeModel,()=>this.editor.getModel()),this._textModelIfWritable=hn(m=>this._isReadonly.read(m)?void 0:this._textModel.read(m)),this._register(new Cs(this._contextKeyService,this.model)),this._register(Zn(m=>{const f=this._textModelIfWritable.read(m);zi(g=>{if(this.model.set(void 0,g),this.updateObservables(g,tc.Other),f){const b=t.createInstance(wj,f,this._suggestWidgetAdaptor.selectedItem,this._textModelVersionId,this._positions,this._debounceValue,Hi(e.onDidChangeConfiguration,()=>e.getOption(118).preview),Hi(e.onDidChangeConfiguration,()=>e.getOption(118).previewMode),Hi(e.onDidChangeConfiguration,()=>e.getOption(62).mode),this._enabled);this.model.set(b,g)}})}));const c=this._register(E0e());this._register(Zn(m=>{const f=this._fontFamily.read(m);c.setStyle(f===""||f==="default"?"":` +`,s=new ya().appendCodeblock("empty",a),o=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!Dj(e)){this.clearContents();return}if(this.domNode.classList.remove("no-docs","no-type"),o){const a=o.length>1e5?`${o.substr(0,1e5)}…`:o;this._type.textContent=a,this._type.title=a,lu(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(a))}else ma(this._type),this._type.title="",$a(this._type),this.domNode.classList.add("no-type");if(ma(this._docs),typeof s=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=s;else if(s){this._docs.classList.add("markdown-docs"),ma(this._docs);const a=this._markdownRenderer.render(s);this._docs.appendChild(a.element),this._renderDisposeable.add(a),this._renderDisposeable.add(this._markdownRenderer.onDidRenderAsync(()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}))}this.domNode.style.userSelect="text",this.domNode.tabIndex=-1,this._close.onmousedown=a=>{a.preventDefault(),a.stopPropagation()},this._close.onclick=a=>{a.preventDefault(),a.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}clearContents(){this.domNode.classList.add("no-docs"),this._type.textContent="",this._docs.textContent=""}get isEmpty(){return this.domNode.classList.contains("no-docs")}get size(){return this._size}layout(e,t){const i=new mi(e,t);mi.equals(i,this._size)||(this._size=i,Sft(this.domNode,e,t)),this._scrollbar.scanDomNode()}scrollDown(e=8){this._body.scrollTop+=e}scrollUp(e=8){this._body.scrollTop-=e}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}set borderWidth(e){this._borderWidth=e}get borderWidth(){return this._borderWidth}};Nj=MEt([kEt(1,$t)],Nj);class TEt{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new Je,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new L8,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(e.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let i,r,o=0,s=0;this._disposables.add(this._resizable.onDidWillResize(()=>{i=this._topLeft,r=this._resizable.size})),this._disposables.add(this._resizable.onDidResize(a=>{if(i&&r){this.widget.layout(a.dimension.width,a.dimension.height);let l=!1;a.west&&(s=r.width-a.dimension.width,l=!0),a.north&&(o=r.height-a.dimension.height,l=!0),l&&this._applyTopLeft({top:i.top+o,left:i.left+s})}a.done&&(i=void 0,r=void 0,o=0,s=0,this._userSize=a.dimension)})),this._disposables.add(this.widget.onDidChangeContents(()=>{var a;this._anchorBox&&this._placeAtAnchor(this._anchorBox,(a=this._userSize)!==null&&a!==void 0?a:this.widget.size,this._preferAlignAtTop)}))}dispose(){this._resizable.dispose(),this._disposables.dispose(),this.hide()}getId(){return"suggest.details"}getDomNode(){return this._resizable.domNode}getPosition(){return this._topLeft?{preference:this._topLeft}:null}show(){this._added||(this._editor.addOverlayWidget(this),this._added=!0)}hide(e=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),e&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(e,t){var i;const r=e.getBoundingClientRect();this._anchorBox=r,this._preferAlignAtTop=t,this._placeAtAnchor(this._anchorBox,(i=this._userSize)!==null&&i!==void 0?i:this.widget.size,t)}_placeAtAnchor(e,t,i){var r;const o=Fg(this.getDomNode().ownerDocument.body),s=this.widget.getLayoutInfo(),a=new mi(220,2*s.lineHeight),l=e.top,u=function(){const I=o.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),D=-s.borderWidth+e.left+e.width,N=new mi(I,o.height-e.top-s.borderHeight-s.verticalPadding),T=N.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:l,left:D,fit:I-t.width,maxSizeTop:N,maxSizeBottom:T,minSize:a.with(Math.min(I,a.width))}}(),c=function(){const I=e.left-s.borderWidth-s.horizontalPadding,D=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),N=new mi(I,o.height-e.top-s.borderHeight-s.verticalPadding),T=N.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:l,left:D,fit:I-t.width,maxSizeTop:N,maxSizeBottom:T,minSize:a.with(Math.min(I,a.width))}}(),d=function(){const I=e.left,D=-s.borderWidth+e.top+e.height,N=new mi(e.width-s.borderHeight,o.height-e.top-e.height-s.verticalPadding);return{top:D,left:I,fit:N.height-t.height,maxSizeBottom:N,maxSizeTop:N,minSize:a.with(N.width)}}(),h=[u,c,d],m=(r=h.find(I=>I.fit>=0))!==null&&r!==void 0?r:h.sort((I,D)=>D.fit-I.fit)[0],f=e.top+e.height-s.borderHeight;let g,b=t.height;const y=Math.max(m.maxSizeTop.height,m.maxSizeBottom.height);b>y&&(b=y);let C;i?b<=m.maxSizeTop.height?(g=!0,C=m.maxSizeTop):(g=!1,C=m.maxSizeBottom):b<=m.maxSizeBottom.height?(g=!1,C=m.maxSizeBottom):(g=!0,C=m.maxSizeTop);let{top:w,left:x}=m;!g&&b>e.height&&(w=f-b);const L=this._editor.getDomNode();if(L){const I=L.getBoundingClientRect();w-=I.top,x-=I.left}this._applyTopLeft({left:x,top:w}),this._resizable.enableSashes(!g,m===u,g,m!==u),this._resizable.minSize=m.minSize,this._resizable.maxSize=C,this._resizable.layout(b,Math.min(C.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this._editor.layoutOverlayWidget(this)}}var Zf;(function(n){n[n.FILE=0]="FILE",n[n.FOLDER=1]="FOLDER",n[n.ROOT_FOLDER=2]="ROOT_FOLDER"})(Zf||(Zf={}));const EEt=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function MA(n,e,t,i,r){if(r)return[`codicon-${r.id}`,"predefined-file-icon"];const o=i===Zf.ROOT_FOLDER?["rootfolder-icon"]:i===Zf.FOLDER?["folder-icon"]:["file-icon"];if(t){let s;if(t.scheme===Sn.data)s=p0.parseMetaData(t).get(p0.META_DATA_LABEL);else{const a=t.path.match(EEt);a?(s=kA(a[2].toLowerCase()),a[1]&&o.push(`${kA(a[1].toLowerCase())}-name-dir-icon`)):s=kA(t.authority.toLowerCase())}if(i===Zf.ROOT_FOLDER)o.push(`${s}-root-name-folder-icon`);else if(i===Zf.FOLDER)o.push(`${s}-name-folder-icon`);else{if(s){if(o.push(`${s}-name-file-icon`),o.push("name-file-icon"),s.length<=255){const l=s.split(".");for(let u=1;u=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Mj=function(n,e){return function(t,i){e(t,i,n)}},q0;function _Le(n){return`suggest-aria-id:${n}`}const WEt=so("suggest-more-info",ut.chevronRight,_("suggestMoreInfoIcon","Icon for more information in the suggest widget.")),AEt=new(q0=class{extract(e,t){if(e.textLabel.match(q0._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(q0._regexStrict))return t[0]=e.completion.detail,!0;if(e.completion.documentation){const i=typeof e.completion.documentation=="string"?e.completion.documentation:e.completion.documentation.value,r=q0._regexRelaxed.exec(i);if(r&&(r.index===0||r.index+r[0].length===i.length))return t[0]=r[0],!0}return!1}},q0._regexRelaxed=/(#([\da-fA-F]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))/,q0._regexStrict=new RegExp(`^${q0._regexRelaxed.source}$`,"i"),q0);let kj=class{constructor(e,t,i,r){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=r,this._onDidToggleDetails=new be,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new Je,i=e;i.classList.add("show-file-icons");const r=je(e,Ct(".icon")),o=je(r,Ct("span.colorspan")),s=je(e,Ct(".contents")),a=je(s,Ct(".main")),l=je(a,Ct(".icon-label.codicon")),u=je(a,Ct("span.left")),c=je(a,Ct("span.right")),d=new k3(u,{supportHighlights:!0,supportIcons:!0});t.add(d);const h=je(u,Ct("span.signature-label")),m=je(u,Ct("span.qualifier-label")),f=je(c,Ct("span.details-label")),g=je(c,Ct("span.readMore"+sn.asCSSSelector(WEt)));return g.title=_("readMore","Read More"),{root:i,left:u,right:c,icon:r,colorspan:o,iconLabel:d,iconContainer:l,parametersLabel:h,qualifierLabel:m,detailsLabel:f,readMore:g,disposables:t,configureFont:()=>{const y=this._editor.getOptions(),C=y.get(50),w=C.getMassagedFontFamily(),x=C.fontFeatureSettings,L=y.get(119)||C.fontSize,I=y.get(120)||C.lineHeight,D=C.fontWeight,N=C.letterSpacing,T=`${L}px`,R=`${I}px`,E=`${N}px`;i.style.fontSize=T,i.style.fontWeight=D,i.style.letterSpacing=E,a.style.fontFamily=w,a.style.fontFeatureSettings=x,a.style.lineHeight=R,r.style.height=R,r.style.width=R,g.style.height=R,g.style.width=R}}}renderElement(e,t,i){i.configureFont();const{completion:r}=e;i.root.id=_Le(t),i.colorspan.style.backgroundColor="";const o={labelEscapeNewLines:!0,matches:cW(e.score)},s=[];if(r.kind===19&&AEt.extract(e,s))i.icon.className="icon customcolor",i.iconContainer.className="icon hide",i.colorspan.style.backgroundColor=s[0];else if(r.kind===20&&this._themeService.getFileIconTheme().hasFileIcons){i.icon.className="icon hide",i.iconContainer.className="icon hide";const a=MA(this._modelService,this._languageService,en.from({scheme:"fake",path:e.textLabel}),Zf.FILE),l=MA(this._modelService,this._languageService,en.from({scheme:"fake",path:r.detail}),Zf.FILE);o.extraClasses=a.length>l.length?a:l}else r.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons?(i.icon.className="icon hide",i.iconContainer.className="icon hide",o.extraClasses=[MA(this._modelService,this._languageService,en.from({scheme:"fake",path:e.textLabel}),Zf.FOLDER),MA(this._modelService,this._languageService,en.from({scheme:"fake",path:r.detail}),Zf.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...sn.asClassNameArray(OF.toIcon(r.kind))));r.tags&&r.tags.indexOf(1)>=0&&(o.extraClasses=(o.extraClasses||[]).concat(["deprecated"]),o.matches=[]),i.iconLabel.setLabel(e.textLabel,void 0,o),typeof r.label=="string"?(i.parametersLabel.textContent="",i.detailsLabel.textContent=Tj(r.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=Tj(r.label.detail||""),i.detailsLabel.textContent=Tj(r.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(118).showInlineDetails?lu(i.detailsLabel):$a(i.detailsLabel),Dj(e)?(i.right.classList.add("can-expand-details"),lu(i.readMore),i.readMore.onmousedown=a=>{a.stopPropagation(),a.preventDefault()},i.readMore.onclick=a=>{a.stopPropagation(),a.preventDefault(),this._onDidToggleDetails.fire()}):(i.right.classList.remove("can-expand-details"),$a(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};kj=ZEt([Mj(1,wr),Mj(2,br),Mj(3,jo)],kj);function Tj(n){return n.replace(/\r\n|\r|\n/g,"")}var VEt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},TA=function(n,e){return function(t,i){e(t,i,n)}},yx;re("editorSuggestWidget.background",{dark:no,light:no,hcDark:no,hcLight:no},_("editorSuggestWidgetBackground","Background color of the suggest widget.")),re("editorSuggestWidget.border",{dark:Xg,light:Xg,hcDark:Xg,hcLight:Xg},_("editorSuggestWidgetBorder","Border color of the suggest widget."));const EA=re("editorSuggestWidget.foreground",{dark:Vc,light:Vc,hcDark:Vc,hcLight:Vc},_("editorSuggestWidgetForeground","Foreground color of the suggest widget."));re("editorSuggestWidget.selectedForeground",{dark:s0,light:s0,hcDark:s0,hcLight:s0},_("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget.")),re("editorSuggestWidget.selectedIconForeground",{dark:e2,light:e2,hcDark:e2,hcLight:e2},_("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const GEt=re("editorSuggestWidget.selectedBackground",{dark:a0,light:a0,hcDark:a0,hcLight:a0},_("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));re("editorSuggestWidget.highlightForeground",{dark:Td,light:Td,hcDark:Td,hcLight:Td},_("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget.")),re("editorSuggestWidget.focusHighlightForeground",{dark:oZ,light:oZ,hcDark:oZ,hcLight:oZ},_("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused.")),re("editorSuggestWidgetStatus.foreground",{dark:zt(EA,.5),light:zt(EA,.5),hcDark:zt(EA,.5),hcLight:zt(EA,.5)},_("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class XEt{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof A0}`}restore(){var e;const t=(e=this._service.get(this._key,0))!==null&&e!==void 0?e:"";try{const i=JSON.parse(t);if(mi.is(i))return mi.lift(i)}catch{}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}}let qN=yx=class{constructor(e,t,i,r,o){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new Ns,this._pendingShowDetails=new Ns,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new Id,this._disposables=new Je,this._onDidSelect=new Oy,this._onDidFocus=new Oy,this._onDidHide=new be,this._onDidShow=new be,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new be,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new L8,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new PEt(this,e),this._persistedSize=new XEt(t,e);class s{constructor(m,f,g=!1,b=!1){this.persistedSize=m,this.currentSize=f,this.persistHeight=g,this.persistWidth=b}}let a;this._disposables.add(this.element.onDidWillResize(()=>{this._contentWidget.lockPreference(),a=new s(this._persistedSize.restore(),this.element.size)})),this._disposables.add(this.element.onDidResize(h=>{var m,f,g,b;if(this._resize(h.dimension.width,h.dimension.height),a&&(a.persistHeight=a.persistHeight||!!h.north||!!h.south,a.persistWidth=a.persistWidth||!!h.east||!!h.west),!!h.done){if(a){const{itemHeight:y,defaultSize:C}=this.getLayoutInfo(),w=Math.round(y/2);let{width:x,height:L}=this.element.size;(!a.persistHeight||Math.abs(a.currentSize.height-L)<=w)&&(L=(f=(m=a.persistedSize)===null||m===void 0?void 0:m.height)!==null&&f!==void 0?f:C.height),(!a.persistWidth||Math.abs(a.currentSize.width-x)<=w)&&(x=(b=(g=a.persistedSize)===null||g===void 0?void 0:g.width)!==null&&b!==void 0?b:C.width),this._persistedSize.store(new mi(x,L))}this._contentWidget.unlockPreference(),a=void 0}})),this._messageElement=je(this.element.domNode,Ct(".message")),this._listElement=je(this.element.domNode,Ct(".tree"));const l=this._disposables.add(o.createInstance(Nj,this.editor));l.onDidClose(this.toggleDetails,this,this._disposables),this._details=new TEt(l,this.editor);const u=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(118).showIcons);u();const c=o.createInstance(kj,this.editor);this._disposables.add(c),this._disposables.add(c.onDidToggleDetails(()=>this.toggleDetails())),this._list=new Ju("SuggestWidget",this._listElement,{getHeight:h=>this.getLayoutInfo().itemHeight,getTemplateId:h=>"suggestion"},[c],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>_("suggest","Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:h=>{let m=h.textLabel;if(typeof h.completion.label!="string"){const{detail:y,description:C}=h.completion.label;y&&C?m=_("label.full","{0} {1}, {2}",m,y,C):y?m=_("label.detail","{0} {1}",m,y):C&&(m=_("label.desc","{0}, {1}",m,C))}if(!h.isResolved||!this._isDetailsVisible())return m;const{documentation:f,detail:g}=h.completion,b=pw("{0}{1}",g||"",f?typeof f=="string"?f:f.value:"");return _("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",m,b)}}}),this._list.style(Zv({listInactiveFocusBackground:GEt,listInactiveFocusOutline:mr})),this._status=o.createInstance(Fj,this.element.domNode,j0);const d=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(118).showStatusBar);d(),this._disposables.add(r.onDidColorThemeChange(h=>this._onThemeChange(h))),this._onThemeChange(r.getColorTheme()),this._disposables.add(this._list.onMouseDown(h=>this._onListMouseDownOrTap(h))),this._disposables.add(this._list.onTap(h=>this._onListMouseDownOrTap(h))),this._disposables.add(this._list.onDidChangeSelection(h=>this._onListSelection(h))),this._disposables.add(this._list.onDidChangeFocus(h=>this._onListFocus(h))),this._disposables.add(this.editor.onDidChangeCursorSelection(()=>this._onCursorSelectionChanged())),this._disposables.add(this.editor.onDidChangeConfiguration(h=>{h.hasChanged(118)&&(d(),u()),this._completionModel&&(h.hasChanged(50)||h.hasChanged(119)||h.hasChanged(120))&&this._list.splice(0,this._list.length,this._completionModel.items)})),this._ctxSuggestWidgetVisible=kn.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=kn.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=kn.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=kn.HasFocusedSuggestion.bindTo(i),this._disposables.add(Gr(this._details.widget.domNode,"keydown",h=>{this._onDetailsKeydown.fire(h)})),this._disposables.add(this.editor.onMouseDown(h=>this._onEditorMouseDown(h)))}dispose(){var e;this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),(e=this._loadingTimeout)===null||e===void 0||e.dispose(),this._pendingLayout.dispose(),this._pendingShowDetails.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose()}_onEditorMouseDown(e){this._details.widget.domNode.contains(e.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(e.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){this._state!==0&&this._contentWidget.layout()}_onListMouseDownOrTap(e){typeof e.element>"u"||typeof e.index>"u"||(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation(),this._select(e.element,e.index))}_onListSelection(e){e.elements.length&&this._select(e.elements[0],e.indexes[0])}_select(e,t){const i=this._completionModel;i&&(this._onDidSelect.fire({item:e,index:t,model:i}),this.editor.focus())}_onThemeChange(e){this._details.widget.borderWidth=rf(e.type)?2:1}_onListFocus(e){var t;if(this._ignoreFocusEvents)return;if(!e.elements.length){this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0}),this._ctxSuggestWidgetHasFocusedSuggestion.set(!1);return}if(!this._completionModel)return;this._ctxSuggestWidgetHasFocusedSuggestion.set(!0);const i=e.elements[0],r=e.indexes[0];i!==this._focusedItem&&((t=this._currentSuggestionDetails)===null||t===void 0||t.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=i,this._list.reveal(r),this._currentSuggestionDetails=rs(async o=>{const s=Gb(()=>{this._isDetailsVisible()&&this.showDetails(!0)},250),a=o.onCancellationRequested(()=>s.dispose());try{return await i.resolve(o)}finally{s.dispose(),a.dispose()}}),this._currentSuggestionDetails.then(()=>{r>=this._list.length||i!==this._list.element(r)||(this._ignoreFocusEvents=!0,this._list.splice(r,1,[i]),this._list.setFocus([r]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:_Le(r)}))}).catch(yn)),this._onDidFocus.fire({item:i,index:r,model:this._completionModel})}_setState(e){if(this._state!==e)switch(this._state=e,this.element.domNode.classList.toggle("frozen",e===4),this.element.domNode.classList.remove("message"),e){case 0:$a(this._messageElement,this._listElement,this._status.element),this._details.hide(!0),this._status.hide(),this._contentWidget.hide(),this._ctxSuggestWidgetVisible.reset(),this._ctxSuggestWidgetMultipleSuggestions.reset(),this._ctxSuggestWidgetHasFocusedSuggestion.reset(),this._showTimeout.cancel(),this.element.domNode.classList.remove("visible"),this._list.splice(0,this._list.length),this._focusedItem=void 0,this._cappedHeight=void 0,this._explainMode=!1;break;case 1:this.element.domNode.classList.add("message"),this._messageElement.textContent=yx.LOADING_MESSAGE,$a(this._listElement,this._status.element),lu(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,kg(yx.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=yx.NO_SUGGESTIONS_MESSAGE,$a(this._listElement,this._status.element),lu(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,kg(yx.NO_SUGGESTIONS_MESSAGE);break;case 3:$a(this._messageElement),lu(this._listElement,this._status.element),this._show();break;case 4:$a(this._messageElement),lu(this._listElement,this._status.element),this._show();break;case 5:$a(this._messageElement),lu(this._listElement,this._status.element),this._details.show(),this._show();break}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore()),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet(()=>{this.element.domNode.classList.add("visible"),this._onDidShow.fire(this)},100)}showTriggered(e,t){this._state===0&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!e,this._isAuto||(this._loadingTimeout=Gb(()=>this._setState(1),t)))}showSuggestions(e,t,i,r,o){var s,a;if(this._contentWidget.setPosition(this.editor.getPosition()),(s=this._loadingTimeout)===null||s===void 0||s.dispose(),(a=this._currentSuggestionDetails)===null||a===void 0||a.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==e&&(this._completionModel=e),i&&this._state!==2&&this._state!==0){this._setState(4);return}const l=this._completionModel.items.length,u=l===0;if(this._ctxSuggestWidgetMultipleSuggestions.set(l>1),u){this._setState(r?0:2),this._completionModel=void 0;return}this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(i?4:3),this._list.reveal(t,0),this._list.setFocus(o?[]:[t])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=o9(Qt(this.element.domNode),()=>{this._pendingLayout.clear(),this._layout(this.element.size),this._details.widget.domNode.classList.remove("focused")})}focusSelected(){this._list.length>0&&this._list.setFocus([0])}selectNextPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageDown(),!0;case 1:return!this._isAuto;default:return this._list.focusNextPage(),!0}}selectNext(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusNext(1,!0),!0}}selectLast(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollBottom(),!0;case 1:return!this._isAuto;default:return this._list.focusLast(),!0}}selectPreviousPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageUp(),!0;case 1:return!this._isAuto;default:return this._list.focusPreviousPage(),!0}}selectPrevious(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusPrevious(1,!0),!1}}selectFirst(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollTop(),!0;case 1:return!this._isAuto;default:return this._list.focusFirst(),!0}}getFocusedItem(){if(this._state!==0&&this._state!==2&&this._state!==1&&this._completionModel&&this._list.getFocus().length>0)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){this._state===5?(this._setState(3),this._details.widget.domNode.classList.remove("focused")):this._state===3&&this._isDetailsVisible()&&(this._setState(5),this._details.widget.domNode.classList.add("focused"))}toggleDetails(){this._isDetailsVisible()?(this._pendingShowDetails.clear(),this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove("shows-details")):(Dj(this._list.getFocusedElements()[0])||this._explainMode)&&(this._state===3||this._state===5||this._state===4)&&(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this.showDetails(!1))}showDetails(e){this._pendingShowDetails.value=o9(Qt(this.element.domNode),()=>{this._pendingShowDetails.clear(),this._details.show(),e?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._details.widget.isEmpty?this._details.hide():(this._positionDetails(),this.element.domNode.classList.add("shows-details")),this.editor.focus()})}toggleExplainMode(){this._list.getFocusedElements()[0]&&(this._explainMode=!this._explainMode,this._isDetailsVisible()?this.showDetails(!1):this.toggleDetails())}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){var e;this._pendingLayout.clear(),this._pendingShowDetails.clear(),(e=this._loadingTimeout)===null||e===void 0||e.dispose(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();const t=this._persistedSize.restore(),i=Math.ceil(this.getLayoutInfo().itemHeight*4.3);t&&t.heightu&&(l=u);const c=this._completionModel?this._completionModel.stats.pLabelLen*s.typicalHalfwidthCharacterWidth:l,d=s.statusBarHeight+this._list.contentHeight+s.borderHeight,h=s.itemHeight+s.statusBarHeight,m=po(this.editor.getDomNode()),f=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),g=m.top+f.top+f.height,b=Math.min(o.height-g-s.verticalPadding,d),y=m.top+f.top-s.verticalPadding,C=Math.min(y,d);let w=Math.min(Math.max(C,b)+s.borderHeight,d);a===((t=this._cappedHeight)===null||t===void 0?void 0:t.capped)&&(a=this._cappedHeight.wanted),aw&&(a=w),a>b||this._forceRenderingAbove&&y>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),w=C):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),w=b),this.element.preferredSize=new mi(c,s.defaultSize.height),this.element.maxSize=new mi(u,w),this.element.minSize=new mi(220,h),this._cappedHeight=a===d?{wanted:(r=(i=this._cappedHeight)===null||i===void 0?void 0:i.wanted)!==null&&r!==void 0?r:e.height,capped:a}:void 0}this._resize(l,a)}_resize(e,t){const{width:i,height:r}=this.element.maxSize;e=Math.min(i,e),t=Math.min(r,t);const{statusBarHeight:o}=this.getLayoutInfo();this._list.layout(t-o,e),this._listElement.style.height=`${t-o}px`,this.element.layout(t,e),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){var e;this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,((e=this._contentWidget.getPosition())===null||e===void 0?void 0:e.preference[0])===2)}getLayoutInfo(){const e=this.editor.getOption(50),t=al(this.editor.getOption(120)||e.lineHeight,8,1e3),i=!this.editor.getOption(118).showStatusBar||this._state===2||this._state===1?0:t,r=this._details.widget.borderWidth,o=2*r;return{itemHeight:t,statusBarHeight:i,borderWidth:r,borderHeight:o,typicalHalfwidthCharacterWidth:e.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new mi(430,i+12*t+o)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,!1)}_setDetailsVisible(e){this._storageService.store("expandSuggestionDocs",e,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}};qN.LOADING_MESSAGE=_("suggestWidget.loading","Loading..."),qN.NO_SUGGESTIONS_MESSAGE=_("suggestWidget.noSuggestions","No suggestions."),qN=yx=VEt([TA(1,Sf),TA(2,ln),TA(3,jo),TA(4,$t)],qN);class PEt{constructor(e,t){this._widget=e,this._editor=t,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){this._added&&(this._added=!1,this._editor.removeContentWidget(this))}getId(){return"editor.widget.suggestWidget"}getDomNode(){return this._widget.element.domNode}show(){this._hidden=!1,this._added||(this._added=!0,this._editor.addContentWidget(this))}hide(){this._hidden||(this._hidden=!0,this.layout())}layout(){this._editor.layoutContentWidget(this)}getPosition(){return this._hidden||!this._position||!this._preference?null:{position:this._position,preference:[this._preference]}}beforeRender(){const{height:e,width:t}=this._widget.element.size,{borderWidth:i,horizontalPadding:r}=this._widget.getLayoutInfo();return new mi(t+2*i+r,e+2*i)}afterRender(e){this._widget._afterRender(e)}setPreference(e){this._preferenceLocked||(this._preference=e)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(e){this._position=e}}var OEt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},vx=function(n,e){return function(t,i){e(t,i,n)}},Ej;class BEt{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=vn.register({description:"suggest-line-suffix",stickiness:1}),e.getLineMaxColumn(t.lineNumber)!==t.column){const r=e.getOffsetAt(t),o=e.getPositionAt(r+1);e.changeDecorations(s=>{this._marker&&s.removeDecoration(this._marker),this._marker=s.addDecoration(J.fromPositions(t,o),this._decorationOptions)})}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.changeDecorations(e=>{e.removeDecoration(this._marker),this._marker=void 0})}delta(e){if(this._model.isDisposed()||this._position.lineNumber!==e.lineNumber)return 0;if(this._marker){const t=this._model.getDecorationRange(this._marker);return this._model.getOffsetAt(t.getStartPosition())-this._model.getOffsetAt(e)}else return this._model.getLineMaxColumn(e.lineNumber)-e.column}}let Od=Ej=class{static get(e){return e.getContribution(Ej.ID)}constructor(e,t,i,r,o,s,a){this._memoryService=t,this._commandService=i,this._contextKeyService=r,this._instantiationService=o,this._logService=s,this._telemetryService=a,this._lineSuffix=new Ns,this._toDispose=new Je,this._selectors=new zEt(d=>d.priority),this._onWillInsertSuggestItem=new be,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=o.createInstance(DA,this.editor),this._selectors.register({priority:0,select:(d,h,m)=>this._memoryService.select(d,h,m)});const l=kn.InsertMode.bindTo(r);l.set(e.getOption(118).insertMode),this._toDispose.add(this.model.onDidTrigger(()=>l.set(e.getOption(118).insertMode))),this.widget=this._toDispose.add(new pY(Qt(e.getDomNode()),()=>{const d=this._instantiationService.createInstance(qN,this.editor);this._toDispose.add(d),this._toDispose.add(d.onDidSelect(b=>this._insertSuggestion(b,0),this));const h=new _Et(this.editor,d,this.model,b=>this._insertSuggestion(b,2));this._toDispose.add(h);const m=kn.MakesTextEdit.bindTo(this._contextKeyService),f=kn.HasInsertAndReplaceRange.bindTo(this._contextKeyService),g=kn.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(jt(()=>{m.reset(),f.reset(),g.reset()})),this._toDispose.add(d.onDidFocus(({item:b})=>{const y=this.editor.getPosition(),C=b.editStart.column,w=y.column;let x=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!b.completion.additionalTextEdits&&!(b.completion.insertTextRules&4)&&w-C===b.completion.insertText.length&&(x=this.editor.getModel().getValueInRange({startLineNumber:y.lineNumber,startColumn:C,endLineNumber:y.lineNumber,endColumn:w})!==b.completion.insertText),m.set(x),f.set(!ve.equals(b.editInsertEnd,b.editReplaceEnd)),g.set(!!b.provider.resolveCompletionItem||!!b.completion.documentation||b.completion.detail!==b.completion.label)})),this._toDispose.add(d.onDetailsKeyDown(b=>{if(b.toKeyCodeChord().equals(new Lg(!0,!1,!1,!1,33))||On&&b.toKeyCodeChord().equals(new Lg(!1,!1,!1,!0,33))){b.stopPropagation();return}b.toKeyCodeChord().isModifierKey()||this.editor.focus()})),d})),this._overtypingCapturer=this._toDispose.add(new pY(Qt(e.getDomNode()),()=>this._toDispose.add(new NA(this.editor,this.model)))),this._alternatives=this._toDispose.add(new pY(Qt(e.getDomNode()),()=>this._toDispose.add(new dC(this.editor,this._contextKeyService)))),this._toDispose.add(o.createInstance(QN,e)),this._toDispose.add(this.model.onDidTrigger(d=>{this.widget.value.showTriggered(d.auto,d.shy?250:50),this._lineSuffix.value=new BEt(this.editor.getModel(),d.position)})),this._toDispose.add(this.model.onDidSuggest(d=>{if(d.triggerOptions.shy)return;let h=-1;for(const f of this._selectors.itemsOrderedByPriorityDesc)if(h=f.select(this.editor.getModel(),this.editor.getPosition(),d.completionModel.items),h!==-1)break;if(h===-1&&(h=0),this.model.state===0)return;let m=!1;if(d.triggerOptions.auto){const f=this.editor.getOption(118);f.selectionMode==="never"||f.selectionMode==="always"?m=f.selectionMode==="never":f.selectionMode==="whenTriggerCharacter"?m=d.triggerOptions.triggerKind!==1:f.selectionMode==="whenQuickSuggestion"&&(m=d.triggerOptions.triggerKind===1&&!d.triggerOptions.refilter)}this.widget.value.showSuggestions(d.completionModel,h,d.isFrozen,d.triggerOptions.auto,m)})),this._toDispose.add(this.model.onDidCancel(d=>{d.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{this.model.cancel(),this.model.clear()}));const u=kn.AcceptSuggestionsOnEnter.bindTo(r),c=()=>{const d=this.editor.getOption(1);u.set(d==="on"||d==="smart")};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>c())),c()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose(),this._onWillInsertSuggestItem.dispose()}_insertSuggestion(e,t){if(!e||!e.item){this._alternatives.value.reset(),this.model.cancel(),this.model.clear();return}if(!this.editor.hasModel())return;const i=Zs.get(this.editor);if(!i)return;this._onWillInsertSuggestItem.fire({item:e.item});const r=this.editor.getModel(),o=r.getAlternativeVersionId(),{item:s}=e,a=[],l=new fo;t&1||this.editor.pushUndoStop();const u=this.getOverwriteInfo(s,!!(t&8));this._memoryService.memorize(r,this.editor.getPosition(),s);const c=s.isResolved;let d=-1,h=-1;if(Array.isArray(s.completion.additionalTextEdits)){this.model.cancel();const f=zh.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",s.completion.additionalTextEdits.map(g=>{let b=J.lift(g.range);if(b.startLineNumber===s.position.lineNumber&&b.startColumn>s.position.column){const y=this.editor.getPosition().column-s.position.column,C=y,w=J.spansMultipleLines(b)?0:y;b=new J(b.startLineNumber,b.startColumn+C,b.endLineNumber,b.endColumn+w)}return vr.replaceMove(b,g.text)})),f.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!c){const f=new Js;let g;const b=r.onDidChangeContent(x=>{if(x.isFlush){l.cancel(),b.dispose();return}for(const L of x.changes){const I=J.getEndPosition(L.range);(!g||ve.isBefore(I,g))&&(g=I)}}),y=t;t|=2;let C=!1;const w=this.editor.onWillType(()=>{w.dispose(),C=!0,y&2||this.editor.pushUndoStop()});a.push(s.resolve(l.token).then(()=>{if(!s.completion.additionalTextEdits||l.token.isCancellationRequested)return;if(g&&s.completion.additionalTextEdits.some(L=>ve.isBefore(g,J.getStartPosition(L.range))))return!1;C&&this.editor.pushUndoStop();const x=zh.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",s.completion.additionalTextEdits.map(L=>vr.replaceMove(J.lift(L.range),L.text))),x.restoreRelativeVerticalPositionOfCursor(this.editor),(C||!(y&2))&&this.editor.pushUndoStop(),!0}).then(x=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",f.elapsed(),x),h=x===!0?1:x===!1?0:-2}).finally(()=>{b.dispose(),w.dispose()}))}let{insertText:m}=s.completion;if(s.completion.insertTextRules&4||(m=Av.escape(m)),this.model.cancel(),i.insert(m,{overwriteBefore:u.overwriteBefore,overwriteAfter:u.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(s.completion.insertTextRules&1),clipboardText:e.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),t&2||this.editor.pushUndoStop(),s.completion.command)if(s.completion.command.id===eM.id)this.model.trigger({auto:!0,retrigger:!0});else{const f=new Js;a.push(this._commandService.executeCommand(s.completion.command.id,...s.completion.command.arguments?[...s.completion.command.arguments]:[]).catch(g=>{s.completion.extensionId?qr(g):yn(g)}).finally(()=>{d=f.elapsed()}))}t&4&&this._alternatives.value.set(e,f=>{for(l.cancel();r.canUndo();){o!==r.getAlternativeVersionId()&&r.undo(),this._insertSuggestion(f,3|(t&8?8:0));break}}),this._alertCompletionItem(s),Promise.all(a).finally(()=>{this._reportSuggestionAcceptedTelemetry(s,r,c,d,h),this.model.clear(),l.dispose()})}_reportSuggestionAcceptedTelemetry(e,t,i,r,o){var s,a,l;Math.floor(Math.random()*100)!==0&&this._telemetryService.publicLog2("suggest.acceptedSuggestion",{extensionId:(a=(s=e.extensionId)===null||s===void 0?void 0:s.value)!==null&&a!==void 0?a:"unknown",providerId:(l=e.provider._debugDisplayName)!==null&&l!==void 0?l:"unknown",kind:e.completion.kind,basenameHash:e9(zc(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:GCt(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:r,additionalEditsAsync:o})}getOverwriteInfo(e,t){hi(this.editor.hasModel());let i=this.editor.getOption(118).insertMode==="replace";t&&(i=!i);const r=e.position.column-e.editStart.column,o=(i?e.editReplaceEnd.column:e.editInsertEnd.column)-e.position.column,s=this.editor.getPosition().column-e.position.column,a=this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0;return{overwriteBefore:r+s,overwriteAfter:o+a}}_alertCompletionItem(e){if(ga(e.completion.additionalTextEdits)){const t=_("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length);Ml(t)}}triggerSuggest(e,t,i){this.editor.hasModel()&&(this.model.trigger({auto:t??!1,completionOptions:{providerFilter:e,kindFilter:i?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(e){if(!this.editor.hasModel())return;const t=this.editor.getPosition(),i=()=>{t.equals(this.editor.getPosition())&&this._commandService.executeCommand(e.fallback)},r=o=>{if(o.completion.insertTextRules&4||o.completion.additionalTextEdits)return!0;const s=this.editor.getPosition(),a=o.editStart.column,l=s.column;return l-a!==o.completion.insertText.length?!0:this.editor.getModel().getValueInRange({startLineNumber:s.lineNumber,startColumn:a,endLineNumber:s.lineNumber,endColumn:l})!==o.completion.insertText};lt.once(this.model.onDidTrigger)(o=>{const s=[];lt.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{qi(s),i()},void 0,s),this.model.onDidSuggest(({completionModel:a})=>{if(qi(s),a.items.length===0){i();return}const l=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),a.items),u=a.items[l];if(!r(u)){i();return}this.editor.pushUndoStop(),this._insertSuggestion({index:l,item:u,model:a},7)},void 0,s)}),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(t,0),this.editor.focus()}acceptSelectedSuggestion(e,t){const i=this.widget.value.getFocusedItem();let r=0;e&&(r|=4),t&&(r|=8),this._insertSuggestion(i,r)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}focusSuggestion(){this.widget.value.focusSelected()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.value.forceRenderingAbove()}stopForceRenderingAbove(){this.widget.isInitialized&&this.widget.value.stopForceRenderingAbove()}registerSelector(e){return this._selectors.register(e)}};Od.ID="editor.contrib.suggestController",Od=Ej=OEt([vx(1,FA),vx(2,Xr),vx(3,ln),vx(4,$t),vx(5,tl),vx(6,Rl)],Od);class zEt{constructor(e){this.prioritySelector=e,this._items=new Array}register(e){if(this._items.indexOf(e)!==-1)throw new Error("Value is already registered");return this._items.push(e),this._items.sort((t,i)=>this.prioritySelector(i)-this.prioritySelector(t)),{dispose:()=>{const t=this._items.indexOf(e);t>=0&&this._items.splice(t,1)}}}get itemsOrderedByPriorityDesc(){return this._items}}class eM extends Nt{constructor(){super({id:eM.id,label:_("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:Oe.and(ne.writable,ne.hasCompletionItemProvider,kn.Visible.toNegated()),kbOpts:{kbExpr:ne.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const r=Od.get(t);if(!r)return;let o;i&&typeof i=="object"&&i.auto===!0&&(o=!0),r.triggerSuggest(void 0,o,void 0)}}eM.id="editor.action.triggerSuggest",vi(Od.ID,Od,2),tt(eM);const ic=190,ml=Ko.bindToContribution(Od.get);gt(new ml({id:"acceptSelectedSuggestion",precondition:Oe.and(kn.Visible,kn.HasFocusedSuggestion),handler(n){n.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:Oe.and(kn.Visible,ne.textInputFocus),weight:ic},{primary:3,kbExpr:Oe.and(kn.Visible,ne.textInputFocus,kn.AcceptSuggestionsOnEnter,kn.MakesTextEdit),weight:ic}],menuOpts:[{menuId:j0,title:_("accept.insert","Insert"),group:"left",order:1,when:kn.HasInsertAndReplaceRange.toNegated()},{menuId:j0,title:_("accept.insert","Insert"),group:"left",order:1,when:Oe.and(kn.HasInsertAndReplaceRange,kn.InsertMode.isEqualTo("insert"))},{menuId:j0,title:_("accept.replace","Replace"),group:"left",order:1,when:Oe.and(kn.HasInsertAndReplaceRange,kn.InsertMode.isEqualTo("replace"))}]})),gt(new ml({id:"acceptAlternativeSelectedSuggestion",precondition:Oe.and(kn.Visible,ne.textInputFocus,kn.HasFocusedSuggestion),kbOpts:{weight:ic,kbExpr:ne.textInputFocus,primary:1027,secondary:[1026]},handler(n){n.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:j0,group:"left",order:2,when:Oe.and(kn.HasInsertAndReplaceRange,kn.InsertMode.isEqualTo("insert")),title:_("accept.replace","Replace")},{menuId:j0,group:"left",order:2,when:Oe.and(kn.HasInsertAndReplaceRange,kn.InsertMode.isEqualTo("replace")),title:_("accept.insert","Insert")}]})),$n.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion"),gt(new ml({id:"hideSuggestWidget",precondition:kn.Visible,handler:n=>n.cancelSuggestWidget(),kbOpts:{weight:ic,kbExpr:ne.textInputFocus,primary:9,secondary:[1033]}})),gt(new ml({id:"selectNextSuggestion",precondition:Oe.and(kn.Visible,Oe.or(kn.MultipleSuggestions,kn.HasFocusedSuggestion.negate())),handler:n=>n.selectNextSuggestion(),kbOpts:{weight:ic,kbExpr:ne.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),gt(new ml({id:"selectNextPageSuggestion",precondition:Oe.and(kn.Visible,Oe.or(kn.MultipleSuggestions,kn.HasFocusedSuggestion.negate())),handler:n=>n.selectNextPageSuggestion(),kbOpts:{weight:ic,kbExpr:ne.textInputFocus,primary:12,secondary:[2060]}})),gt(new ml({id:"selectLastSuggestion",precondition:Oe.and(kn.Visible,Oe.or(kn.MultipleSuggestions,kn.HasFocusedSuggestion.negate())),handler:n=>n.selectLastSuggestion()})),gt(new ml({id:"selectPrevSuggestion",precondition:Oe.and(kn.Visible,Oe.or(kn.MultipleSuggestions,kn.HasFocusedSuggestion.negate())),handler:n=>n.selectPrevSuggestion(),kbOpts:{weight:ic,kbExpr:ne.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),gt(new ml({id:"selectPrevPageSuggestion",precondition:Oe.and(kn.Visible,Oe.or(kn.MultipleSuggestions,kn.HasFocusedSuggestion.negate())),handler:n=>n.selectPrevPageSuggestion(),kbOpts:{weight:ic,kbExpr:ne.textInputFocus,primary:11,secondary:[2059]}})),gt(new ml({id:"selectFirstSuggestion",precondition:Oe.and(kn.Visible,Oe.or(kn.MultipleSuggestions,kn.HasFocusedSuggestion.negate())),handler:n=>n.selectFirstSuggestion()})),gt(new ml({id:"focusSuggestion",precondition:Oe.and(kn.Visible,kn.HasFocusedSuggestion.negate()),handler:n=>n.focusSuggestion(),kbOpts:{weight:ic,kbExpr:ne.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}})),gt(new ml({id:"focusAndAcceptSuggestion",precondition:Oe.and(kn.Visible,kn.HasFocusedSuggestion.negate()),handler:n=>{n.focusSuggestion(),n.acceptSelectedSuggestion(!0,!1)}})),gt(new ml({id:"toggleSuggestionDetails",precondition:Oe.and(kn.Visible,kn.HasFocusedSuggestion),handler:n=>n.toggleSuggestionDetails(),kbOpts:{weight:ic,kbExpr:ne.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:j0,group:"right",order:1,when:Oe.and(kn.DetailsVisible,kn.CanResolve),title:_("detail.more","show less")},{menuId:j0,group:"right",order:1,when:Oe.and(kn.DetailsVisible.toNegated(),kn.CanResolve),title:_("detail.less","show more")}]})),gt(new ml({id:"toggleExplainMode",precondition:kn.Visible,handler:n=>n.toggleExplainMode(),kbOpts:{weight:100,primary:2138}})),gt(new ml({id:"toggleSuggestionFocus",precondition:kn.Visible,handler:n=>n.toggleSuggestionFocus(),kbOpts:{weight:ic,kbExpr:ne.textInputFocus,primary:2570,mac:{primary:778}}})),gt(new ml({id:"insertBestCompletion",precondition:Oe.and(ne.textInputFocus,Oe.equals("config.editor.tabCompletion","on"),QN.AtEnd,kn.Visible.toNegated(),dC.OtherSuggestions.toNegated(),Zs.InSnippetMode.toNegated()),handler:(n,e)=>{n.triggerSuggestAndAcceptBest(Ua(e)?{fallback:"tab",...e}:{fallback:"tab"})},kbOpts:{weight:ic,primary:2}})),gt(new ml({id:"insertNextSuggestion",precondition:Oe.and(ne.textInputFocus,Oe.equals("config.editor.tabCompletion","on"),dC.OtherSuggestions,kn.Visible.toNegated(),Zs.InSnippetMode.toNegated()),handler:n=>n.acceptNextSuggestion(),kbOpts:{weight:ic,kbExpr:ne.textInputFocus,primary:2}})),gt(new ml({id:"insertPrevSuggestion",precondition:Oe.and(ne.textInputFocus,Oe.equals("config.editor.tabCompletion","on"),dC.OtherSuggestions,kn.Visible.toNegated(),Zs.InSnippetMode.toNegated()),handler:n=>n.acceptPrevSuggestion(),kbOpts:{weight:ic,kbExpr:ne.textInputFocus,primary:1026}})),tt(class extends Nt{constructor(){super({id:"editor.action.resetSuggestSize",label:_("suggest.reset.label","Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(n,e){var t;(t=Od.get(e))===null||t===void 0||t.resetWidgetSize()}});class HEt extends Fe{get selectedItem(){return this._selectedItem}constructor(e,t,i,r){super(),this.editor=e,this.suggestControllerPreselector=t,this.checkModelVersion=i,this.onWillAccept=r,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._selectedItem=ei(this,void 0),this._register(e.onKeyDown(s=>{s.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))})),this._register(e.onKeyUp(s=>{s.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))}));const o=Od.get(this.editor);if(o){this._register(o.registerSelector({priority:100,select:(l,u,c)=>{Bi(y=>this.checkModelVersion(y));const d=this.editor.getModel();if(!d)return-1;const h=this.suggestControllerPreselector(),m=h?cC(h,d):void 0;if(!m)return-1;const f=ve.lift(u),g=c.map((y,C)=>{const w=tM.fromSuggestion(o,d,f,y,this.isShiftKeyPressed),x=cC(w.toSingleTextEdit(),d),L=rLe(m,x);return{index:C,valid:L,prefixLength:x.text.length,suggestItem:y}}).filter(y=>y&&y.valid&&y.prefixLength>0),b=B6(g,Tc(y=>y.prefixLength,Wg));return b?b.index:-1}}));let s=!1;const a=()=>{s||(s=!0,this._register(o.widget.value.onDidShow(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})),this._register(o.widget.value.onDidHide(()=>{this.isSuggestWidgetVisible=!1,this.update(!1)})),this._register(o.widget.value.onDidFocus(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})))};this._register(lt.once(o.model.onDidTrigger)(l=>{a()})),this._register(o.onWillInsertSuggestItem(l=>{const u=this.editor.getPosition(),c=this.editor.getModel();if(!u||!c)return;const d=tM.fromSuggestion(o,c,u,l.item,this.isShiftKeyPressed);this.onWillAccept(d)}))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();(this._isActive!==e||!YEt(this._currentSuggestItemInfo,t))&&(this._isActive=e,this._currentSuggestItemInfo=t,Bi(i=>{this.checkModelVersion(i),this._selectedItem.set(this._isActive?this._currentSuggestItemInfo:void 0,i)}))}getSuggestItemInfo(){const e=Od.get(this.editor);if(!e||!this.isSuggestWidgetVisible)return;const t=e.widget.value.getFocusedItem(),i=this.editor.getPosition(),r=this.editor.getModel();if(!(!t||!i||!r))return tM.fromSuggestion(e,r,i,t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){const e=Od.get(this.editor);e==null||e.stopForceRenderingAbove()}forceRenderingAbove(){const e=Od.get(this.editor);e==null||e.forceRenderingAbove()}}class tM{static fromSuggestion(e,t,i,r,o){let{insertText:s}=r.completion,a=!1;if(r.completion.insertTextRules&4){const u=new Av().parse(s);u.children.length<100&&_A.adjustWhitespace(t,i,!0,u),s=u.toString(),a=!0}const l=e.getOverwriteInfo(r,o);return new tM(J.fromPositions(i.delta(0,-l.overwriteBefore),i.delta(0,Math.max(l.overwriteAfter,0))),s,r.completion.kind,a)}constructor(e,t,i,r){this.range=e,this.insertText=t,this.completionItemKind=i,this.isSnippetText=r}equals(e){return this.range.equalsRange(e.range)&&this.insertText===e.insertText&&this.completionItemKind===e.completionItemKind&&this.isSnippetText===e.isSnippetText}toSelectedSuggestionInfo(){return new jye(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new yp(this.range,this.insertText)}}function YEt(n,e){return n===e?!0:!n||!e?!1:n.equals(e)}var UEt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},e1=function(n,e){return function(t,i){e(t,i,n)}},Rj;let rc=Rj=class extends Fe{static get(e){return e.getContribution(Rj.ID)}constructor(e,t,i,r,o,s,a,l,u){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=i,this._configurationService=r,this._commandService=o,this._debounceService=s,this._languageFeaturesService=a,this._accessibilitySignalService=l,this._keybindingService=u,this.model=this._register(TD("inlineCompletionModel",void 0)),this._textModelVersionId=ei(this,-1),this._positions=ei(this,[new ve(1,1)]),this._suggestWidgetAdaptor=this._register(new HEt(this.editor,()=>{var m,f;return(f=(m=this.model.get())===null||m===void 0?void 0:m.selectedInlineCompletion.get())===null||f===void 0?void 0:f.toSingleTextEdit(void 0)},m=>this.updateObservables(m,tc.Other),m=>{Bi(f=>{var g;this.updateObservables(f,tc.Other),(g=this.model.get())===null||g===void 0||g.handleSuggestAccepted(m)})})),this._enabled=zi(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._fontFamily=zi(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._ghostTexts=hn(this,m=>{var f;const g=this.model.read(m);return(f=g==null?void 0:g.ghostTexts.read(m))!==null&&f!==void 0?f:[]}),this._stablizedGhostTexts=KEt(this._ghostTexts,this._store),this._ghostTextWidgets=u2t(this,this._stablizedGhostTexts,(m,f)=>f.add(this._instantiationService.createInstance(pj,this.editor,{ghostText:m,minReservedLineCount:Bh(0),targetTextModel:this.model.map(g=>g==null?void 0:g.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineCompletionsDebounce",{min:50,max:50}),this._playAccessibilitySignal=sW(this),this._isReadonly=zi(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(91)),this._textModel=zi(this.editor.onDidChangeModel,()=>this.editor.getModel()),this._textModelIfWritable=hn(m=>this._isReadonly.read(m)?void 0:this._textModel.read(m)),this._register(new Cs(this._contextKeyService,this.model)),this._register(Rn(m=>{const f=this._textModelIfWritable.read(m);Bi(g=>{if(this.model.set(void 0,g),this.updateObservables(g,tc.Other),f){const b=t.createInstance(Sj,f,this._suggestWidgetAdaptor.selectedItem,this._textModelVersionId,this._positions,this._debounceValue,zi(e.onDidChangeConfiguration,()=>e.getOption(118).preview),zi(e.onDidChangeConfiguration,()=>e.getOption(118).previewMode),zi(e.onDidChangeConfiguration,()=>e.getOption(62).mode),this._enabled);this.model.set(b,g)}})}));const c=this._register(E0e());this._register(Rn(m=>{const f=this._fontFamily.read(m);c.setStyle(f===""||f==="default"?"":` .monaco-editor .ghost-text-decoration, .monaco-editor .ghost-text-decoration-preview, .monaco-editor .ghost-text { font-family: ${f}; -}`)}));const d=m=>{var f;return m.isUndoing?tc.Undo:m.isRedoing?tc.Redo:!((f=this.model.get())===null||f===void 0)&&f.isAcceptingPartially?tc.AcceptWord:tc.Other};this._register(e.onDidChangeModelContent(m=>zi(f=>this.updateObservables(f,d(m))))),this._register(e.onDidChangeCursorPosition(m=>zi(f=>{var g;this.updateObservables(f,tc.Other),(m.reason===3||m.source==="api")&&((g=this.model.get())===null||g===void 0||g.stop(f))}))),this._register(e.onDidType(()=>zi(m=>{var f;this.updateObservables(m,tc.Other),this._enabled.get()&&((f=this.model.get())===null||f===void 0||f.trigger(m))}))),this._register(this._commandService.onDidExecuteCommand(m=>{new Set([XS.Tab.id,XS.DeleteLeft.id,XS.DeleteRight.id,rLe,"acceptSelectedSuggestion"]).has(m.commandId)&&e.hasTextFocus()&&this._enabled.get()&&zi(g=>{var b;(b=this.model.get())===null||b===void 0||b.trigger(g)})})),this._register(this.editor.onDidBlurEditorWidget(()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||e.getOption(62).keepOnBlur||Y0.dropDownVisible||zi(m=>{var f;(f=this.model.get())===null||f===void 0||f.stop(m)})})),this._register(Zn(m=>{var f;const g=(f=this.model.read(m))===null||f===void 0?void 0:f.state.read(m);g!=null&&g.suggestItem?g.primaryGhostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()})),this._register(jt(()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}));let h;this._register(ED({handleChange:(m,f)=>(m.didChange(this._playAccessibilitySignal)&&(h=void 0),!0)},async m=>{this._playAccessibilitySignal.read(m);const f=this.model.read(m),g=f==null?void 0:f.state.read(m);if(!f||!g||!g.inlineCompletion){h=void 0;return}if(g.inlineCompletion.semanticId!==h){h=g.inlineCompletion.semanticId;const b=f.textModel.getLineContent(g.primaryGhostText.lineNumber);this._accessibilitySignalService.playSignal(xn.inlineSuggestion).then(()=>{this.editor.getOption(8)&&this.provideScreenReaderUpdate(g.primaryGhostText.renderForScreenReader(b))})}})),this._register(new A8(this.editor,this.model,this._instantiationService)),this._register(this._configurationService.onDidChangeConfiguration(m=>{m.affectsConfiguration("accessibility.verbosity.inlineCompletions")&&this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})})),this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})}playAccessibilitySignal(e){this._playAccessibilitySignal.trigger(e)}provideScreenReaderUpdate(e){const t=this._contextKeyService.getContextKeyValue("accessibleViewIsShown"),i=this._keybindingService.lookupKeybinding("editor.action.accessibleView");let r;!t&&i&&this.editor.getOption(149)&&(r=L("showAccessibleViewHint","Inspect this in the accessible view ({0})",i.getAriaLabel())),kl(r?e+", "+r:e)}updateObservables(e,t){var i,r,o;const s=this.editor.getModel();this._textModelVersionId.set((i=s==null?void 0:s.getVersionId())!==null&&i!==void 0?i:-1,e,t),this._positions.set((o=(r=this.editor.getSelections())===null||r===void 0?void 0:r.map(a=>a.getPosition()))!==null&&o!==void 0?o:[new ye(1,1)],e)}shouldShowHoverAt(e){var t;const i=(t=this.model.get())===null||t===void 0?void 0:t.primaryGhostText.get();return i?i.parts.some(r=>e.containsPosition(new ye(i.lineNumber,r.column))):!1}shouldShowHoverAtViewZone(e){var t,i;return(i=(t=this._ghostTextWidgets.get()[0])===null||t===void 0?void 0:t.ownsViewZone(e))!==null&&i!==void 0?i:!1}};rc.ID="editor.contrib.inlineCompletionsController",rc=Zj=UEt([e1(1,$t),e1(2,ln),e1(3,Pn),e1(4,Xr),e1(5,$c),e1(6,Zt),e1(7,_0),e1(8,Bi)],rc);function KEt(n,e){const t=ei("result",[]),i=[];return e.add(Zn(r=>{const o=n.read(r);zi(s=>{if(o.length!==i.length){i.length=o.length;for(let a=0;aa.set(o[l],s))})})),t}class ZV extends Mt{constructor(){super({id:ZV.ID,label:L("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:Oe.and(ne.writable,Cs.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var i;const r=rc.get(t);(i=r==null?void 0:r.model.get())===null||i===void 0||i.next()}}ZV.ID=sLe;class WV extends Mt{constructor(){super({id:WV.ID,label:L("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:Oe.and(ne.writable,Cs.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var i;const r=rc.get(t);(i=r==null?void 0:r.model.get())===null||i===void 0||i.previous()}}WV.ID=oLe;class JEt extends Mt{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:L("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:ne.writable})}async run(e,t){const i=rc.get(t);await i2t(async r=>{var o;await((o=i==null?void 0:i.model.get())===null||o===void 0?void 0:o.triggerExplicitly(r)),i==null||i.playAccessibilitySignal(r)})}}class jEt extends Mt{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:L("action.inlineSuggest.acceptNextWord","Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:Oe.and(ne.writable,Cs.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:Oe.and(ne.writable,Cs.inlineSuggestionVisible)},menuOpts:[{menuId:Q.InlineSuggestionToolbar,title:L("acceptWord","Accept Word"),group:"primary",order:2}]})}async run(e,t){var i;const r=rc.get(t);await((i=r==null?void 0:r.model.get())===null||i===void 0?void 0:i.acceptNextWord(r.editor))}}class QEt extends Mt{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:L("action.inlineSuggest.acceptNextLine","Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:Oe.and(ne.writable,Cs.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:Q.InlineSuggestionToolbar,title:L("acceptLine","Accept Line"),group:"secondary",order:2}]})}async run(e,t){var i;const r=rc.get(t);await((i=r==null?void 0:r.model.get())===null||i===void 0?void 0:i.acceptNextLine(r.editor))}}class $Et extends Mt{constructor(){super({id:rLe,label:L("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:Cs.inlineSuggestionVisible,menuOpts:[{menuId:Q.InlineSuggestionToolbar,title:L("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:Oe.and(Cs.inlineSuggestionVisible,ne.tabMovesFocus.toNegated(),Cs.inlineSuggestionHasIndentationLessThanTabSize,Nn.Visible.toNegated(),ne.hoverFocused.toNegated())}})}async run(e,t){var i;const r=rc.get(t);r&&((i=r.model.get())===null||i===void 0||i.accept(r.editor),r.editor.focus())}}class RV extends Mt{constructor(){super({id:RV.ID,label:L("action.inlineSuggest.hide","Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:Cs.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=rc.get(t);zi(r=>{var o;(o=i==null?void 0:i.model.get())===null||o===void 0||o.stop(r)})}}RV.ID="editor.action.inlineSuggest.hide";class VV extends el{constructor(){super({id:VV.ID,title:L("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:Q.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:Oe.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const i=e.get(Pn),o=i.getValue("editor.inlineSuggest.showToolbar")==="always"?"onHover":"always";i.updateValue("editor.inlineSuggest.showToolbar",o)}}VV.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";var qEt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},nk=function(n,e){return function(t,i){e(t,i,n)}};class e5t{constructor(e,t,i){this.owner=e,this.range=t,this.controller=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let Wj=class{constructor(e,t,i,r,o,s){this._editor=e,this._languageService=t,this._openerService=i,this.accessibilityService=r,this._instantiationService=o,this._telemetryService=s,this.hoverOrdinal=4}suggestHoverAnchor(e){const t=rc.get(this._editor);if(!t)return null;const i=e.target;if(i.type===8){const r=i.detail;if(t.shouldShowHoverAtViewZone(r.viewZoneId))return new tC(1e3,this,J.fromPositions(this._editor.getModel().validatePosition(r.positionBefore||r.position)),e.event.posx,e.event.posy,!1)}return i.type===7&&t.shouldShowHoverAt(i.range)?new tC(1e3,this,i.range,e.event.posx,e.event.posy,!1):i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range)?new tC(1e3,this,i.range,e.event.posx,e.event.posy,!1):null}computeSync(e,t){if(this._editor.getOption(62).showToolbar!=="onHover")return[];const i=rc.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new e5t(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new Je,r=t[0];this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(8)&&this.renderScreenReaderText(e,r,i);const o=r.controller.model.get(),s=this._instantiationService.createInstance(Y0,this._editor,!1,Bh(null),o.selectedInlineCompletionIndex,o.inlineCompletionsCount,o.selectedInlineCompletion.map(a=>{var l;return(l=a==null?void 0:a.inlineCompletion.source.inlineCompletions.commands)!==null&&l!==void 0?l:[]}));return e.fragment.appendChild(s.getDomNode()),o.triggerExplicitly(),i.add(s),i}renderScreenReaderText(e,t,i){const r=Ct,o=r("div.hover-row.markdown-hover"),s=je(o,r("div.hover-contents",{"aria-live":"assertive"})),a=i.add(new xf({editor:this._editor},this._languageService,this._openerService)),l=u=>{i.add(a.onDidRenderAsync(()=>{s.className="hover-contents code-hover-contents",e.onContentsChanged()}));const c=L("inlineSuggestionFollows","Suggestion:"),d=i.add(a.render(new va().appendText(c).appendCodeblock("text",u)));s.replaceChildren(d.element)};i.add(Zn(u=>{var c;const d=(c=t.controller.model.read(u))===null||c===void 0?void 0:c.primaryGhostText.read(u);if(d){const h=this._editor.getModel().getLineContent(d.lineNumber);l(d.renderForScreenReader(h))}else Qs(s)})),e.fragment.appendChild(o)}};Wj=qEt([nk(1,vr),nk(2,Bl),nk(3,Vc),nk(4,$t),nk(5,Zl)],Wj),yi(rc.ID,rc,3),tt(JEt),tt(ZV),tt(WV),tt(jEt),tt(QEt),tt($Et),tt(RV),Ji(VV),O0.register(Wj);function bu(n,e){let t=0;for(let i=0;ii-1)return[];const{tabSize:s,indentSize:a,insertSpaces:l}=n.getOptions(),u=(b,v)=>(v=v||1,Zc.shiftIndent(b,b.length+v,s,a,l)),c=(b,v)=>(v=v||1,Zc.unshiftIndent(b,b.length+v,s,a,l)),d=[];let h;const m=n.getLineContent(t);let f=m;if(r!=null){h=r;const b=Ki(m);f=h+m.substring(b.length),o.decreaseIndentPattern&&o.decreaseIndentPattern.test(f)&&(h=c(h),f=h+m.substring(b.length)),m!==f&&d.push(Cr.replaceMove(new Wt(t,1,t,b.length+1),I9(h,a,l)))}else h=Ki(m);let g=h;o.increaseIndentPattern&&o.increaseIndentPattern.test(f)?(g=u(g),h=u(h)):o.indentNextLinePattern&&o.indentNextLinePattern.test(f)&&(g=u(g)),t++;for(let b=t;b<=i;b++){const v=n.getLineContent(b),C=Ki(v),S=g+v.substring(C.length);o.decreaseIndentPattern&&o.decreaseIndentPattern.test(S)&&(g=c(g),h=c(h)),C!==g&&d.push(Cr.replaceMove(new Wt(b,1,b,C.length+1),I9(g,a,l))),!(o.unIndentedLinePattern&&o.unIndentedLinePattern.test(v))&&(o.increaseIndentPattern&&o.increaseIndentPattern.test(S)?(h=u(h),g=h):o.indentNextLinePattern&&o.indentNextLinePattern.test(S)?g=u(g):g=h)}return d}var t5t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},n5t=function(n,e){return function(t,i){e(t,i,n)}};class AV extends Mt{constructor(){super({id:AV.ID,label:L("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:ne.writable})}run(e,t){const i=t.getModel();if(!i)return;const r=i.getOptions(),o=t.getSelection();if(!o)return;const s=new s5t(o,r.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[s]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}}AV.ID="editor.action.indentationToSpaces";class GV extends Mt{constructor(){super({id:GV.ID,label:L("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:ne.writable})}run(e,t){const i=t.getModel();if(!i)return;const r=i.getOptions(),o=t.getSelection();if(!o)return;const s=new a5t(o,r.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[s]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}}GV.ID="editor.action.indentationToTabs";class Rj extends Mt{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(Ay),r=e.get(xr),o=t.getModel();if(!o)return;const s=r.getCreationOptions(o.getLanguageId(),o.uri,o.isForSimpleWidget),a=o.getOptions(),l=[1,2,3,4,5,6,7,8].map(c=>({id:c.toString(),label:c.toString(),description:c===s.tabSize&&c===a.tabSize?L("configuredTabSize","Configured Tab Size"):c===s.tabSize?L("defaultTabSize","Default Tab Size"):c===a.tabSize?L("currentTabSize","Current Tab Size"):void 0})),u=Math.min(o.getOptions().tabSize-1,7);setTimeout(()=>{i.pick(l,{placeHolder:L({key:"selectTabWidth",comment:["Tab corresponds to the tab key"]},"Select Tab Size for Current File"),activeItem:l[u]}).then(c=>{if(c&&o&&!o.isDisposed()){const d=parseInt(c.label,10);this.displaySizeOnly?o.updateOptions({tabSize:d}):o.updateOptions({tabSize:d,indentSize:d,insertSpaces:this.insertSpaces})}})},50)}}class XV extends Rj{constructor(){super(!1,!1,{id:XV.ID,label:L("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0})}}XV.ID="editor.action.indentUsingTabs";class PV extends Rj{constructor(){super(!0,!1,{id:PV.ID,label:L("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0})}}PV.ID="editor.action.indentUsingSpaces";class OV extends Rj{constructor(){super(!0,!0,{id:OV.ID,label:L("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0})}}OV.ID="editor.action.changeTabDisplaySize";class BV extends Mt{constructor(){super({id:BV.ID,label:L("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0})}run(e,t){const i=e.get(xr),r=t.getModel();if(!r)return;const o=i.getCreationOptions(r.getLanguageId(),r.uri,r.isForSimpleWidget);r.detectIndentation(o.insertSpaces,o.tabSize)}}BV.ID="editor.action.detectIndentation";class i5t extends Mt{constructor(){super({id:"editor.action.reindentlines",label:L("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:ne.writable})}run(e,t){const i=e.get(tr),r=t.getModel();if(!r)return;const o=__e(r,i,1,r.getLineCount());o.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,o),t.pushUndoStop())}}class r5t extends Mt{constructor(){super({id:"editor.action.reindentselectedlines",label:L("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:ne.writable})}run(e,t){const i=e.get(tr),r=t.getModel();if(!r)return;const o=t.getSelections();if(o===null)return;const s=[];for(const a of o){let l=a.startLineNumber,u=a.endLineNumber;if(l!==u&&a.endColumn===1&&u--,l===1){if(l===u)continue}else l--;const c=__e(r,i,l,u);s.push(...c)}s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}class o5t{constructor(e,t){this._initialSelection=t,this._edits=[],this._selectionId=null;for(const i of e)i.range&&typeof i.text=="string"&&this._edits.push(i)}getEditOperations(e,t){for(const r of this._edits)t.addEditOperation(J.lift(r.range),r.text);let i=!1;Array.isArray(this._edits)&&this._edits.length===1&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!1))),i||(this._selectionId=t.trackSelection(this._initialSelection))}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}}let rk=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new Je,this.callOnModel=new Je,this.callOnDispose.add(e.onDidChangeConfiguration(()=>this.update())),this.callOnDispose.add(e.onDidChangeModel(()=>this.update())),this.callOnDispose.add(e.onDidChangeModelLanguage(()=>this.update()))}update(){this.callOnModel.clear(),!(this.editor.getOption(12)<4||this.editor.getOption(55))&&this.editor.hasModel()&&this.callOnModel.add(this.editor.onDidPaste(({range:e})=>{this.trigger(e)}))}trigger(e){const t=this.editor.getSelections();if(t===null||t.length>1)return;const i=this.editor.getModel();if(!i||!i.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;const r=this.editor.getOption(12),{tabSize:o,indentSize:s,insertSpaces:a}=i.getOptions(),l=[],u={shiftIndent:m=>Zc.shiftIndent(m,m.length+1,o,s,a),unshiftIndent:m=>Zc.unshiftIndent(m,m.length+1,o,s,a)};let c=e.startLineNumber;for(;c<=e.endLineNumber;){if(this.shouldIgnoreLine(i,c)){c++;continue}break}if(c>e.endLineNumber)return;let d=i.getLineContent(c);if(!/\S/.test(d.substring(0,e.startColumn-1))){const m=fI(r,i,i.getLanguageId(),c,u,this._languageConfigurationService);if(m!==null){const f=Ki(d),g=bu(m,o),b=bu(f,o);if(g!==b){const v=ik(g,o,a);l.push({range:new J(c,1,c,f.length+1),text:v}),d=v+d.substr(f.length)}else{const v=G1e(i,c,this._languageConfigurationService);if(v===0||v===8)return}}}const h=c;for(;ci.tokenization.getLineTokens(g),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(g,b)=>i.getLanguageIdAtPosition(g,b)},getLineContent:g=>g===h?d:i.getLineContent(g)},i.getLanguageId(),c+1,u,this._languageConfigurationService);if(f!==null){const g=bu(f,o),b=bu(Ki(i.getLineContent(c+1)),o);if(g!==b){const v=g-b;for(let C=c+1;C<=e.endLineNumber;C++){const S=i.getLineContent(C),x=Ki(S),F=bu(x,o)+v,D=ik(F,o,a);D!==x&&l.push({range:new J(C,1,C,x.length+1),text:D})}}}}if(l.length>0){this.editor.pushUndoStop();const m=new o5t(l,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",m),this.editor.pushUndoStop()}}shouldIgnoreLine(e,t){e.tokenization.forceTokenization(t);const i=e.getLineFirstNonWhitespaceColumn(t);if(i===0)return!0;const r=e.tokenization.getLineTokens(t);if(r.getCount()>0){const o=r.findTokenIndexAtOffset(i);if(o>=0&&r.getStandardTokenType(o)===1)return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}};rk.ID="editor.contrib.autoIndentOnPaste",rk=t5t([n5t(1,tr)],rk);function F_e(n,e,t,i){if(n.getLineCount()===1&&n.getLineMaxColumn(1)===1)return;let r="";for(let s=0;sthis._currentResolve=void 0)),await this._currentResolve}}async _doResolve(e){var t,i,r;try{const o=await Promise.resolve(this.provider.resolveInlayHint(this.hint,e));this.hint.tooltip=(t=o==null?void 0:o.tooltip)!==null&&t!==void 0?t:this.hint.tooltip,this.hint.label=(i=o==null?void 0:o.label)!==null&&i!==void 0?i:this.hint.label,this.hint.textEdits=(r=o==null?void 0:o.textEdits)!==null&&r!==void 0?r:this.hint.textEdits,this._isResolved=!0}catch(o){qr(o),this._isResolved=!1}}}class mC{static async create(e,t,i,r){const o=[],s=e.ordered(t).reverse().map(a=>i.map(async l=>{try{const u=await a.provideInlayHints(t,l,r);(u!=null&&u.hints.length||a.onDidChangeInlayHints)&&o.push([u??mC._emptyInlayHintList,a])}catch(u){qr(u)}}));if(await Promise.all(s.flat()),r.isCancellationRequested||t.isDisposed())throw new Lg;return new mC(i,o,t)}constructor(e,t,i){this._disposables=new Je,this.ranges=e,this.provider=new Set;const r=[];for(const[o,s]of t){this._disposables.add(o),this.provider.add(s);for(const a of o.hints){const l=i.validatePosition(a.position);let u="before";const c=mC._getRangeAtPosition(i,l);let d;c.getStartPosition().isBefore(l)?(d=J.fromPositions(c.getStartPosition(),l),u="after"):(d=J.fromPositions(l,c.getEndPosition()),u="before"),r.push(new Vj(a,new I_e(d,u),s))}}this.items=r.sort((o,s)=>ye.compare(o.hint.position,s.hint.position))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(e,t){const i=t.lineNumber,r=e.getWordAtPosition(t);if(r)return new J(i,r.startColumn,i,r.endColumn);e.tokenization.tokenizeIfCheap(i);const o=e.tokenization.getLineTokens(i),s=t.column-1,a=o.findTokenIndexAtOffset(s);let l=o.getStartOffset(a),u=o.getEndOffset(a);return u-l===1&&(l===s&&a>1?(l=o.getStartOffset(a-1),u=o.getEndOffset(a-1)):u===s&&a_S(f)?f.command.id:PR()));for(const f of Na.all())h.has(f.desc.id)&&d.push(new uu(f.desc.id,Xu.label(f.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const g=await o.createModelReference(c.uri);try{const b=new ix(g.object.textEditorModel,J.getStartPosition(c.range)),v=i.item.anchor.range;await l.invokeFunction(f.runEditorCommand.bind(f),e,b,v)}finally{g.dispose()}}));if(i.part.command){const{command:f}=i.part;d.push(new Vo),d.push(new uu(f.id,f.title,void 0,!0,async()=>{var g;try{await a.executeCommand(f.id,...(g=f.arguments)!==null&&g!==void 0?g:[])}catch(b){u.notify({severity:qW.Error,source:i.item.provider.displayName,message:b})}}))}const m=e.getOption(127);s.showContextMenu({domForShadowRoot:m&&(r=e.getDomNode())!==null&&r!==void 0?r:void 0,getAnchor:()=>{const f=po(t);return{x:f.left,y:f.top+f.height+8}},getActions:()=>d,onHide:()=>{e.focus()},autoSelectFirstItem:!0})}async function D_e(n,e,t,i){const o=await n.get(Nl).createModelReference(i.uri);await t.invokeWithinContext(async s=>{const a=e.hasSideBySideModifier,l=s.get(ln),u=zl.inPeekEditor.getValue(l),c=!a&&t.getOption(88)&&!u;return new AM({openToSide:a,openInPeek:c,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(s,new ix(o.object.textEditorModel,J.getStartPosition(i.range)),J.lift(i.range))}),o.dispose()}var c5t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Cx=function(n,e){return function(t,i){e(t,i,n)}},wx;class zV{constructor(){this._entries=new Zg(50)}get(e){const t=zV._key(e);return this._entries.get(t)}set(e,t){const i=zV._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const M_e=Un("IInlayHintsCache");qn(M_e,zV,1);class Aj{constructor(e,t){this.item=e,this.index=t}get part(){const e=this.item.hint.label;return typeof e=="string"?{label:e}:e[this.index]}}class d5t{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}let t1=wx=class{static get(e){var t;return(t=e.getContribution(wx.ID))!==null&&t!==void 0?t:void 0}constructor(e,t,i,r,o,s,a){this._editor=e,this._languageFeaturesService=t,this._inlayHintsCache=r,this._commandService=o,this._notificationService=s,this._instaService=a,this._disposables=new Je,this._sessionDisposables=new Je,this._decorationsMetadata=new Map,this._ruleFactory=new TI(this._editor),this._activeRenderMode=0,this._debounceInfo=i.for(t.inlayHintsProvider,"InlayHint",{min:25}),this._disposables.add(t.inlayHintsProvider.onDidChange(()=>this._update())),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(l=>{l.hasChanged(141)&&this._update()})),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();const e=this._editor.getOption(141);if(e.enabled==="off")return;const t=this._editor.getModel();if(!t||!this._languageFeaturesService.inlayHintsProvider.has(t))return;if(e.enabled==="on")this._activeRenderMode=0;else{let a,l;e.enabled==="onUnlessPressed"?(a=0,l=1):(a=1,l=0),this._activeRenderMode=a,this._sessionDisposables.add(kg.getInstance().event(u=>{if(!this._editor.hasModel())return;const c=u.altKey&&u.ctrlKey&&!(u.shiftKey||u.metaKey)?l:a;if(c!==this._activeRenderMode){this._activeRenderMode=c;const d=this._editor.getModel(),h=this._copyInlayHintsWithCurrentAnchor(d);this._updateHintsDecorators([d.getFullModelRange()],h),s.schedule(0)}}))}const i=this._inlayHintsCache.get(t);i&&this._updateHintsDecorators([t.getFullModelRange()],i),this._sessionDisposables.add(jt(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let r;const o=new Set,s=new Ri(async()=>{const a=Date.now();r==null||r.dispose(!0),r=new fo;const l=t.onWillDispose(()=>r==null?void 0:r.cancel());try{const u=r.token,c=await mC.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),u);if(s.delay=this._debounceInfo.update(t,Date.now()-a),u.isCancellationRequested){c.dispose();return}for(const d of c.provider)typeof d.onDidChangeInlayHints=="function"&&!o.has(d)&&(o.add(d),this._sessionDisposables.add(d.onDidChangeInlayHints(()=>{s.isScheduled()||s.schedule()})));this._sessionDisposables.add(c),this._updateHintsDecorators(c.ranges,c.items),this._cacheHintsForFastRestore(t)}catch(u){vn(u)}finally{r.dispose(),l.dispose()}},this._debounceInfo.get(t));this._sessionDisposables.add(s),this._sessionDisposables.add(jt(()=>r==null?void 0:r.dispose(!0))),s.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange(a=>{(a.scrollTopChanged||!s.isScheduled())&&s.schedule()})),this._sessionDisposables.add(this._editor.onDidChangeModelContent(a=>{r==null||r.cancel();const l=Math.max(s.delay,1250);s.schedule(l)})),this._sessionDisposables.add(this._installDblClickGesture(()=>s.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const e=new Je,t=e.add(new c3(this._editor)),i=new Je;return e.add(i),e.add(t.onMouseMoveOrRelevantKeyDown(r=>{const[o]=r,s=this._getInlayHintLabelPart(o),a=this._editor.getModel();if(!s||!a){i.clear();return}const l=new fo;i.add(jt(()=>l.dispose(!0))),s.item.resolve(l.token),this._activeInlayHintPart=s.part.command||s.part.location?new d5t(s,o.hasTriggerModifier):void 0;const u=a.validatePosition(s.item.hint.position).lineNumber,c=new J(u,1,u,a.getLineMaxColumn(u)),d=this._getInlineHintsForRange(c);this._updateHintsDecorators([c],d),i.add(jt(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([c],d)}))})),e.add(t.onCancel(()=>i.clear())),e.add(t.onExecute(async r=>{const o=this._getInlayHintLabelPart(r);if(o){const s=o.part;s.location?this._instaService.invokeFunction(D_e,r,this._editor,s.location):V6.is(s.command)&&await this._invokeCommand(s.command,o.item)}})),e}_getInlineHintsForRange(e){const t=new Set;for(const i of this._decorationsMetadata.values())e.containsRange(i.item.anchor.range)&&t.add(i.item);return Array.from(t)}_installDblClickGesture(e){return this._editor.onMouseUp(async t=>{if(t.event.detail!==2)return;const i=this._getInlayHintLabelPart(t);if(i&&(t.event.preventDefault(),await i.item.resolve(Yn.None),ga(i.item.hint.textEdits))){const r=i.item.hint.textEdits.map(o=>Cr.replace(J.lift(o.range),o.text));this._editor.executeEdits("inlayHint.default",r),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!(e.event.target instanceof HTMLElement))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(u5t,this._editor,e.event.target,t)})}_getInlayHintLabelPart(e){var t;if(e.target.type!==6)return;const i=(t=e.target.detail.injectedText)===null||t===void 0?void 0:t.options;if(i instanceof y0&&(i==null?void 0:i.attachedData)instanceof Aj)return i.attachedData}async _invokeCommand(e,t){var i;try{await this._commandService.executeCommand(e.id,...(i=e.arguments)!==null&&i!==void 0?i:[])}catch(r){this._notificationService.notify({severity:qW.Error,source:t.provider.displayName,message:r})}}_cacheHintsForFastRestore(e){const t=this._copyInlayHintsWithCurrentAnchor(e);this._inlayHintsCache.set(e,t)}_copyInlayHintsWithCurrentAnchor(e){const t=new Map;for(const[i,r]of this._decorationsMetadata){if(t.has(r.item))continue;const o=e.getDecorationRange(i);if(o){const s=new I_e(o,r.item.anchor.direction),a=r.item.with({anchor:s});t.set(r.item,a)}}return Array.from(t.values())}_getHintsRanges(){const t=this._editor.getModel(),i=this._editor.getVisibleRangesPlusViewportAboveBelow(),r=[];for(const o of i.sort(J.compareRangesUsingStarts)){const s=t.validateRange(new J(o.startLineNumber-30,o.startColumn,o.endLineNumber+30,o.endColumn));r.length===0||!J.areIntersectingOrTouching(r[r.length-1],s)?r.push(s):r[r.length-1]=J.plusRange(r[r.length-1],s)}return r}_updateHintsDecorators(e,t){var i,r;const o=[],s=(b,v,C,S,x)=>{const _={content:C,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:v.className,cursorStops:S,attachedData:x};o.push({item:b,classNameRef:v,decoration:{range:b.anchor.range,options:{description:"InlayHint",showIfCollapsed:b.anchor.range.isEmpty(),collapseOnReplaceEdit:!b.anchor.range.isEmpty(),stickiness:0,[b.anchor.direction]:this._activeRenderMode===0?_:void 0}}})},a=(b,v)=>{const C=this._ruleFactory.createClassNameRef({width:`${l/3|0}px`,display:"inline-block"});s(b,C," ",v?Wd.Right:Wd.None)},{fontSize:l,fontFamily:u,padding:c,isUniform:d}=this._getLayoutInfo(),h="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(h,u);let m={line:0,totalLen:0};for(const b of t){if(m.line!==b.anchor.range.startLineNumber&&(m={line:b.anchor.range.startLineNumber,totalLen:0}),m.totalLen>wx._MAX_LABEL_LEN)continue;b.hint.paddingLeft&&a(b,!1);const v=typeof b.hint.label=="string"?[{label:b.hint.label}]:b.hint.label;for(let C=0;C0&&(D=D.slice(0,-T)+"…",M=!0),s(b,this._ruleFactory.createClassNameRef(F),h5t(D),_&&!b.hint.paddingRight?Wd.Right:Wd.None,new Aj(b,C)),M)break}if(b.hint.paddingRight&&a(b,!0),o.length>wx._MAX_DECORATORS)break}const f=[];for(const[b,v]of this._decorationsMetadata){const C=(r=this._editor.getModel())===null||r===void 0?void 0:r.getDecorationRange(b);C&&e.some(S=>S.containsRange(C))&&(f.push(b),v.classNameRef.dispose(),this._decorationsMetadata.delete(b))}const g=zh.capture(this._editor);this._editor.changeDecorations(b=>{const v=b.deltaDecorations(f,o.map(C=>C.decoration));for(let C=0;Ci)&&(o=i);const s=e.fontFamily||r;return{fontSize:o,fontFamily:s,padding:t,isUniform:!t&&s===r&&o===i}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(const e of this._decorationsMetadata.values())e.classNameRef.dispose();this._decorationsMetadata.clear()}};t1.ID="editor.contrib.InlayHints",t1._MAX_DECORATORS=1500,t1._MAX_LABEL_LEN=43,t1=wx=c5t([Cx(1,Zt),Cx(2,$c),Cx(3,M_e),Cx(4,Xr),Cx(5,ko),Cx(6,$t)],t1);function h5t(n){return n.replace(/[ \t]/g," ")}$n.registerCommand("_executeInlayHintProvider",async(n,...e)=>{const[t,i]=e;hi(en.isUri(t)),hi(J.isIRange(i));const{inlayHintsProvider:r}=n.get(Zt),o=await n.get(Nl).createModelReference(t);try{const s=await mC.create(r,o.object.textEditorModel,[J.lift(i)],Yn.None),a=s.items.map(l=>l.hint);return setTimeout(()=>s.dispose(),0),a}finally{o.dispose()}});var m5t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},ok=function(n,e){return function(t,i){e(t,i,n)}};class k_e extends tC{constructor(e,t,i,r){super(10,t,e.item.anchor.range,i,r,!0),this.part=e}}let Gj=class extends Q3{constructor(e,t,i,r,o,s){super(e,t,i,r,s),this._resolverService=o,this.hoverOrdinal=6}suggestHoverAnchor(e){var t;if(!t1.get(this._editor)||e.target.type!==6)return null;const r=(t=e.target.detail.injectedText)===null||t===void 0?void 0:t.options;return r instanceof y0&&r.attachedData instanceof Aj?new k_e(r.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof k_e?new Fo(async r=>{const{part:o}=e;if(await o.item.resolve(i),i.isCancellationRequested)return;let s;typeof o.item.hint.tooltip=="string"?s=new va().appendText(o.item.hint.tooltip):o.item.hint.tooltip&&(s=o.item.hint.tooltip),s&&r.emitOne(new Qh(this,e.range,[s],!1,0)),ga(o.item.hint.textEdits)&&r.emitOne(new Qh(this,e.range,[new va().appendText(L("hint.dbl","Double-click to insert"))],!1,10001));let a;if(typeof o.part.tooltip=="string"?a=new va().appendText(o.part.tooltip):o.part.tooltip&&(a=o.part.tooltip),a&&r.emitOne(new Qh(this,e.range,[a],!1,1)),o.part.location||o.part.command){let u;const d=this._editor.getOption(78)==="altKey"?On?L("links.navigate.kb.meta.mac","cmd + click"):L("links.navigate.kb.meta","ctrl + click"):On?L("links.navigate.kb.alt.mac","option + click"):L("links.navigate.kb.alt","alt + click");o.part.location&&o.part.command?u=new va().appendText(L("hint.defAndCommand","Go to Definition ({0}), right click for more",d)):o.part.location?u=new va().appendText(L("hint.def","Go to Definition ({0})",d)):o.part.command&&(u=new va(`[${L("hint.cmd","Execute Command")}](${l5t(o.part.command)} "${o.part.command.title}") (${d})`,{isTrusted:!0})),u&&r.emitOne(new Qh(this,e.range,[u],!1,1e4))}const l=await this._resolveInlayHintLabelPartHover(o,i);for await(const u of l)r.emitOne(u)}):Fo.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return Fo.EMPTY;const{uri:i,range:r}=e.part.location,o=await this._resolverService.createModelReference(i);try{const s=o.object.textEditorModel;return this._languageFeaturesService.hoverProvider.has(s)?D8(this._languageFeaturesService.hoverProvider,s,new ye(r.startLineNumber,r.startColumn),t).filter(a=>!D2(a.hover.contents)).map(a=>new Qh(this,e.item.anchor.range,a.hover.contents,!1,2+a.ordinal)):Fo.EMPTY}finally{o.dispose()}}};Gj=m5t([ok(1,vr),ok(2,Bl),ok(3,Pn),ok(4,Nl),ok(5,Zt)],Gj),yi(t1.ID,t1,1),O0.register(Gj);class f5t{constructor(e,t,i){this._editRange=e,this._originalSelection=t,this._text=i}getEditOperations(e,t){t.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(e,t){const r=t.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new Wt(r.endLineNumber,Math.min(this._originalSelection.positionColumn,r.endColumn),r.endLineNumber,Math.min(this._originalSelection.positionColumn,r.endColumn)):new Wt(r.endLineNumber,r.endColumn-this._text.length,r.endLineNumber,r.endColumn)}}var g5t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},p5t=function(n,e){return function(t,i){e(t,i,n)}},HV;let n1=HV=class{static get(e){return e.getContribution(HV.ID)}constructor(e,t){this.editor=e,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(e,t){var i;(i=this.currentRequest)===null||i===void 0||i.cancel();const r=this.editor.getSelection(),o=this.editor.getModel();if(!o||!r)return;let s=r;if(s.startLineNumber!==s.endLineNumber)return;const a=new ESe(this.editor,5),l=o.uri;return this.editorWorkerService.canNavigateValueSet(l)?(this.currentRequest=rs(u=>this.editorWorkerService.navigateValueSet(l,s,t)),this.currentRequest.then(u=>{var c;if(!u||!u.range||!u.value||!a.validate(this.editor))return;const d=J.lift(u.range);let h=u.range;const m=u.value.length-(s.endColumn-s.startColumn);h={startLineNumber:h.startLineNumber,startColumn:h.startColumn,endLineNumber:h.endLineNumber,endColumn:h.startColumn+u.value.length},m>1&&(s=new Wt(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn+m-1));const f=new f5t(d,s,u.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,f),this.editor.pushUndoStop(),this.decorations.set([{range:h,options:HV.DECORATION}]),(c=this.decorationRemover)===null||c===void 0||c.cancel(),this.decorationRemover=Bv(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(vn)}).catch(vn)):Promise.resolve(void 0)}};n1.ID="editor.contrib.inPlaceReplaceController",n1.DECORATION=yn.register({description:"in-place-replace",className:"valueSetReplacement"}),n1=HV=g5t([p5t(1,Jc)],n1);class b5t extends Mt{constructor(){super({id:"editor.action.inPlaceReplace.up",label:L("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:ne.writable,kbOpts:{kbExpr:ne.editorTextFocus,primary:3159,weight:100}})}run(e,t){const i=n1.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}class v5t extends Mt{constructor(){super({id:"editor.action.inPlaceReplace.down",label:L("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:ne.writable,kbOpts:{kbExpr:ne.editorTextFocus,primary:3161,weight:100}})}run(e,t){const i=n1.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}}yi(n1.ID,n1,4),tt(b5t),tt(v5t);class y5t extends Mt{constructor(){super({id:"expandLineSelection",label:L("expandLineSelection","Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:ne.textInputFocus,primary:2090}})}run(e,t,i){if(i=i||{},!t.hasModel())return;const r=t._getViewModel();r.model.pushStackElement(),r.setCursorStates(i.source,3,Ns.expandLineSelection(r,r.getCursorStates())),r.revealAllCursors(i.source,!0)}}tt(y5t);class C5t{constructor(e,t,i){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=i}getEditOperations(e,t){const i=w5t(e,this._cursors,this._trimInRegexesAndStrings);for(let r=0,o=i.length;ra.lineNumber===l.lineNumber?a.column-l.column:a.lineNumber-l.lineNumber);for(let a=e.length-2;a>=0;a--)e[a].lineNumber===e[a+1].lineNumber&&e.splice(a,1);const i=[];let r=0,o=0;const s=e.length;for(let a=1,l=n.getLineCount();a<=l;a++){const u=n.getLineContent(a),c=u.length+1;let d=0;if(o{var f;return m.isUndoing?tc.Undo:m.isRedoing?tc.Redo:!((f=this.model.get())===null||f===void 0)&&f.isAcceptingPartially?tc.AcceptWord:tc.Other};this._register(e.onDidChangeModelContent(m=>Bi(f=>this.updateObservables(f,d(m))))),this._register(e.onDidChangeCursorPosition(m=>Bi(f=>{var g;this.updateObservables(f,tc.Other),(m.reason===3||m.source==="api")&&((g=this.model.get())===null||g===void 0||g.stop(f))}))),this._register(e.onDidType(()=>Bi(m=>{var f;this.updateObservables(m,tc.Other),this._enabled.get()&&((f=this.model.get())===null||f===void 0||f.trigger(m))}))),this._register(this._commandService.onDidExecuteCommand(m=>{new Set([Xw.Tab.id,Xw.DeleteLeft.id,Xw.DeleteRight.id,r_e,"acceptSelectedSuggestion"]).has(m.commandId)&&e.hasTextFocus()&&this._enabled.get()&&Bi(g=>{var b;(b=this.model.get())===null||b===void 0||b.trigger(g)})})),this._register(this.editor.onDidBlurEditorWidget(()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||e.getOption(62).keepOnBlur||Y0.dropDownVisible||Bi(m=>{var f;(f=this.model.get())===null||f===void 0||f.stop(m)})})),this._register(Rn(m=>{var f;const g=(f=this.model.read(m))===null||f===void 0?void 0:f.state.read(m);g!=null&&g.suggestItem?g.primaryGhostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()})),this._register(jt(()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}));let h;this._register(ED({handleChange:(m,f)=>(m.didChange(this._playAccessibilitySignal)&&(h=void 0),!0)},async m=>{this._playAccessibilitySignal.read(m);const f=this.model.read(m),g=f==null?void 0:f.state.read(m);if(!f||!g||!g.inlineCompletion){h=void 0;return}if(g.inlineCompletion.semanticId!==h){h=g.inlineCompletion.semanticId;const b=f.textModel.getLineContent(g.primaryGhostText.lineNumber);this._accessibilitySignalService.playSignal(xn.inlineSuggestion).then(()=>{this.editor.getOption(8)&&this.provideScreenReaderUpdate(g.primaryGhostText.renderForScreenReader(b))})}})),this._register(new V8(this.editor,this.model,this._instantiationService)),this._register(this._configurationService.onDidChangeConfiguration(m=>{m.affectsConfiguration("accessibility.verbosity.inlineCompletions")&&this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})})),this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})}playAccessibilitySignal(e){this._playAccessibilitySignal.trigger(e)}provideScreenReaderUpdate(e){const t=this._contextKeyService.getContextKeyValue("accessibleViewIsShown"),i=this._keybindingService.lookupKeybinding("editor.action.accessibleView");let r;!t&&i&&this.editor.getOption(149)&&(r=_("showAccessibleViewHint","Inspect this in the accessible view ({0})",i.getAriaLabel())),Ml(r?e+", "+r:e)}updateObservables(e,t){var i,r,o;const s=this.editor.getModel();this._textModelVersionId.set((i=s==null?void 0:s.getVersionId())!==null&&i!==void 0?i:-1,e,t),this._positions.set((o=(r=this.editor.getSelections())===null||r===void 0?void 0:r.map(a=>a.getPosition()))!==null&&o!==void 0?o:[new ve(1,1)],e)}shouldShowHoverAt(e){var t;const i=(t=this.model.get())===null||t===void 0?void 0:t.primaryGhostText.get();return i?i.parts.some(r=>e.containsPosition(new ve(i.lineNumber,r.column))):!1}shouldShowHoverAtViewZone(e){var t,i;return(i=(t=this._ghostTextWidgets.get()[0])===null||t===void 0?void 0:t.ownsViewZone(e))!==null&&i!==void 0?i:!1}};rc.ID="editor.contrib.inlineCompletionsController",rc=Rj=UEt([e1(1,$t),e1(2,ln),e1(3,Pn),e1(4,Xr),e1(5,Qc),e1(6,Rt),e1(7,L0),e1(8,Oi)],rc);function KEt(n,e){const t=ei("result",[]),i=[];return e.add(Rn(r=>{const o=n.read(r);Bi(s=>{if(o.length!==i.length){i.length=o.length;for(let a=0;aa.set(o[l],s))})})),t}class RA extends Nt{constructor(){super({id:RA.ID,label:_("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:Oe.and(ne.writable,Cs.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var i;const r=rc.get(t);(i=r==null?void 0:r.model.get())===null||i===void 0||i.next()}}RA.ID=s_e;class ZA extends Nt{constructor(){super({id:ZA.ID,label:_("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:Oe.and(ne.writable,Cs.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var i;const r=rc.get(t);(i=r==null?void 0:r.model.get())===null||i===void 0||i.previous()}}ZA.ID=o_e;class JEt extends Nt{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:_("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:ne.writable})}async run(e,t){const i=rc.get(t);await i2t(async r=>{var o;await((o=i==null?void 0:i.model.get())===null||o===void 0?void 0:o.triggerExplicitly(r)),i==null||i.playAccessibilitySignal(r)})}}class jEt extends Nt{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:_("action.inlineSuggest.acceptNextWord","Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:Oe.and(ne.writable,Cs.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:Oe.and(ne.writable,Cs.inlineSuggestionVisible)},menuOpts:[{menuId:Q.InlineSuggestionToolbar,title:_("acceptWord","Accept Word"),group:"primary",order:2}]})}async run(e,t){var i;const r=rc.get(t);await((i=r==null?void 0:r.model.get())===null||i===void 0?void 0:i.acceptNextWord(r.editor))}}class QEt extends Nt{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:_("action.inlineSuggest.acceptNextLine","Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:Oe.and(ne.writable,Cs.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:Q.InlineSuggestionToolbar,title:_("acceptLine","Accept Line"),group:"secondary",order:2}]})}async run(e,t){var i;const r=rc.get(t);await((i=r==null?void 0:r.model.get())===null||i===void 0?void 0:i.acceptNextLine(r.editor))}}class $Et extends Nt{constructor(){super({id:r_e,label:_("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:Cs.inlineSuggestionVisible,menuOpts:[{menuId:Q.InlineSuggestionToolbar,title:_("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:Oe.and(Cs.inlineSuggestionVisible,ne.tabMovesFocus.toNegated(),Cs.inlineSuggestionHasIndentationLessThanTabSize,kn.Visible.toNegated(),ne.hoverFocused.toNegated())}})}async run(e,t){var i;const r=rc.get(t);r&&((i=r.model.get())===null||i===void 0||i.accept(r.editor),r.editor.focus())}}class WA extends Nt{constructor(){super({id:WA.ID,label:_("action.inlineSuggest.hide","Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:Cs.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=rc.get(t);Bi(r=>{var o;(o=i==null?void 0:i.model.get())===null||o===void 0||o.stop(r)})}}WA.ID="editor.action.inlineSuggest.hide";class AA extends el{constructor(){super({id:AA.ID,title:_("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:Q.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:Oe.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const i=e.get(Pn),o=i.getValue("editor.inlineSuggest.showToolbar")==="always"?"onHover":"always";i.updateValue("editor.inlineSuggest.showToolbar",o)}}AA.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";var qEt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},nM=function(n,e){return function(t,i){e(t,i,n)}};class e5t{constructor(e,t,i){this.owner=e,this.range=t,this.controller=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let Zj=class{constructor(e,t,i,r,o,s){this._editor=e,this._languageService=t,this._openerService=i,this.accessibilityService=r,this._instantiationService=o,this._telemetryService=s,this.hoverOrdinal=4}suggestHoverAnchor(e){const t=rc.get(this._editor);if(!t)return null;const i=e.target;if(i.type===8){const r=i.detail;if(t.shouldShowHoverAtViewZone(r.viewZoneId))return new tC(1e3,this,J.fromPositions(this._editor.getModel().validatePosition(r.positionBefore||r.position)),e.event.posx,e.event.posy,!1)}return i.type===7&&t.shouldShowHoverAt(i.range)?new tC(1e3,this,i.range,e.event.posx,e.event.posy,!1):i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range)?new tC(1e3,this,i.range,e.event.posx,e.event.posy,!1):null}computeSync(e,t){if(this._editor.getOption(62).showToolbar!=="onHover")return[];const i=rc.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new e5t(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new Je,r=t[0];this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(8)&&this.renderScreenReaderText(e,r,i);const o=r.controller.model.get(),s=this._instantiationService.createInstance(Y0,this._editor,!1,Bh(null),o.selectedInlineCompletionIndex,o.inlineCompletionsCount,o.selectedInlineCompletion.map(a=>{var l;return(l=a==null?void 0:a.inlineCompletion.source.inlineCompletions.commands)!==null&&l!==void 0?l:[]}));return e.fragment.appendChild(s.getDomNode()),o.triggerExplicitly(),i.add(s),i}renderScreenReaderText(e,t,i){const r=Ct,o=r("div.hover-row.markdown-hover"),s=je(o,r("div.hover-contents",{"aria-live":"assertive"})),a=i.add(new xf({editor:this._editor},this._languageService,this._openerService)),l=u=>{i.add(a.onDidRenderAsync(()=>{s.className="hover-contents code-hover-contents",e.onContentsChanged()}));const c=_("inlineSuggestionFollows","Suggestion:"),d=i.add(a.render(new ya().appendText(c).appendCodeblock("text",u)));s.replaceChildren(d.element)};i.add(Rn(u=>{var c;const d=(c=t.controller.model.read(u))===null||c===void 0?void 0:c.primaryGhostText.read(u);if(d){const h=this._editor.getModel().getLineContent(d.lineNumber);l(d.renderForScreenReader(h))}else Qs(s)})),e.fragment.appendChild(o)}};Zj=qEt([nM(1,br),nM(2,Bl),nM(3,Wc),nM(4,$t),nM(5,Rl)],Zj),vi(rc.ID,rc,3),tt(JEt),tt(RA),tt(ZA),tt(jEt),tt(QEt),tt($Et),tt(WA),Ki(AA),O0.register(Zj);function bu(n,e){let t=0;for(let i=0;ii-1)return[];const{tabSize:s,indentSize:a,insertSpaces:l}=n.getOptions(),u=(b,y)=>(y=y||1,Ec.shiftIndent(b,b.length+y,s,a,l)),c=(b,y)=>(y=y||1,Ec.unshiftIndent(b,b.length+y,s,a,l)),d=[];let h;const m=n.getLineContent(t);let f=m;if(r!=null){h=r;const b=Ui(m);f=h+m.substring(b.length),o.decreaseIndentPattern&&o.decreaseIndentPattern.test(f)&&(h=c(h),f=h+m.substring(b.length)),m!==f&&d.push(vr.replaceMove(new Zt(t,1,t,b.length+1),F9(h,a,l)))}else h=Ui(m);let g=h;o.increaseIndentPattern&&o.increaseIndentPattern.test(f)?(g=u(g),h=u(h)):o.indentNextLinePattern&&o.indentNextLinePattern.test(f)&&(g=u(g)),t++;for(let b=t;b<=i;b++){const y=n.getLineContent(b),C=Ui(y),w=g+y.substring(C.length);o.decreaseIndentPattern&&o.decreaseIndentPattern.test(w)&&(g=c(g),h=c(h)),C!==g&&d.push(vr.replaceMove(new Zt(b,1,b,C.length+1),F9(g,a,l))),!(o.unIndentedLinePattern&&o.unIndentedLinePattern.test(y))&&(o.increaseIndentPattern&&o.increaseIndentPattern.test(w)?(h=u(h),g=h):o.indentNextLinePattern&&o.indentNextLinePattern.test(w)?g=u(g):g=h)}return d}var t5t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},n5t=function(n,e){return function(t,i){e(t,i,n)}};class VA extends Nt{constructor(){super({id:VA.ID,label:_("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:ne.writable})}run(e,t){const i=t.getModel();if(!i)return;const r=i.getOptions(),o=t.getSelection();if(!o)return;const s=new s5t(o,r.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[s]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}}VA.ID="editor.action.indentationToSpaces";class GA extends Nt{constructor(){super({id:GA.ID,label:_("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:ne.writable})}run(e,t){const i=t.getModel();if(!i)return;const r=i.getOptions(),o=t.getSelection();if(!o)return;const s=new a5t(o,r.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[s]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}}GA.ID="editor.action.indentationToTabs";class Wj extends Nt{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(Vv),r=e.get(wr),o=t.getModel();if(!o)return;const s=r.getCreationOptions(o.getLanguageId(),o.uri,o.isForSimpleWidget),a=o.getOptions(),l=[1,2,3,4,5,6,7,8].map(c=>({id:c.toString(),label:c.toString(),description:c===s.tabSize&&c===a.tabSize?_("configuredTabSize","Configured Tab Size"):c===s.tabSize?_("defaultTabSize","Default Tab Size"):c===a.tabSize?_("currentTabSize","Current Tab Size"):void 0})),u=Math.min(o.getOptions().tabSize-1,7);setTimeout(()=>{i.pick(l,{placeHolder:_({key:"selectTabWidth",comment:["Tab corresponds to the tab key"]},"Select Tab Size for Current File"),activeItem:l[u]}).then(c=>{if(c&&o&&!o.isDisposed()){const d=parseInt(c.label,10);this.displaySizeOnly?o.updateOptions({tabSize:d}):o.updateOptions({tabSize:d,indentSize:d,insertSpaces:this.insertSpaces})}})},50)}}class XA extends Wj{constructor(){super(!1,!1,{id:XA.ID,label:_("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0})}}XA.ID="editor.action.indentUsingTabs";class PA extends Wj{constructor(){super(!0,!1,{id:PA.ID,label:_("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0})}}PA.ID="editor.action.indentUsingSpaces";class OA extends Wj{constructor(){super(!0,!0,{id:OA.ID,label:_("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0})}}OA.ID="editor.action.changeTabDisplaySize";class BA extends Nt{constructor(){super({id:BA.ID,label:_("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0})}run(e,t){const i=e.get(wr),r=t.getModel();if(!r)return;const o=i.getCreationOptions(r.getLanguageId(),r.uri,r.isForSimpleWidget);r.detectIndentation(o.insertSpaces,o.tabSize)}}BA.ID="editor.action.detectIndentation";class i5t extends Nt{constructor(){super({id:"editor.action.reindentlines",label:_("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:ne.writable})}run(e,t){const i=e.get(er),r=t.getModel();if(!r)return;const o=LLe(r,i,1,r.getLineCount());o.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,o),t.pushUndoStop())}}class r5t extends Nt{constructor(){super({id:"editor.action.reindentselectedlines",label:_("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:ne.writable})}run(e,t){const i=e.get(er),r=t.getModel();if(!r)return;const o=t.getSelections();if(o===null)return;const s=[];for(const a of o){let l=a.startLineNumber,u=a.endLineNumber;if(l!==u&&a.endColumn===1&&u--,l===1){if(l===u)continue}else l--;const c=LLe(r,i,l,u);s.push(...c)}s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}class o5t{constructor(e,t){this._initialSelection=t,this._edits=[],this._selectionId=null;for(const i of e)i.range&&typeof i.text=="string"&&this._edits.push(i)}getEditOperations(e,t){for(const r of this._edits)t.addEditOperation(J.lift(r.range),r.text);let i=!1;Array.isArray(this._edits)&&this._edits.length===1&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!1))),i||(this._selectionId=t.trackSelection(this._initialSelection))}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}}let rM=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new Je,this.callOnModel=new Je,this.callOnDispose.add(e.onDidChangeConfiguration(()=>this.update())),this.callOnDispose.add(e.onDidChangeModel(()=>this.update())),this.callOnDispose.add(e.onDidChangeModelLanguage(()=>this.update()))}update(){this.callOnModel.clear(),!(this.editor.getOption(12)<4||this.editor.getOption(55))&&this.editor.hasModel()&&this.callOnModel.add(this.editor.onDidPaste(({range:e})=>{this.trigger(e)}))}trigger(e){const t=this.editor.getSelections();if(t===null||t.length>1)return;const i=this.editor.getModel();if(!i||!i.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;const r=this.editor.getOption(12),{tabSize:o,indentSize:s,insertSpaces:a}=i.getOptions(),l=[],u={shiftIndent:m=>Ec.shiftIndent(m,m.length+1,o,s,a),unshiftIndent:m=>Ec.unshiftIndent(m,m.length+1,o,s,a)};let c=e.startLineNumber;for(;c<=e.endLineNumber;){if(this.shouldIgnoreLine(i,c)){c++;continue}break}if(c>e.endLineNumber)return;let d=i.getLineContent(c);if(!/\S/.test(d.substring(0,e.startColumn-1))){const m=fF(r,i,i.getLanguageId(),c,u,this._languageConfigurationService);if(m!==null){const f=Ui(d),g=bu(m,o),b=bu(f,o);if(g!==b){const y=iM(g,o,a);l.push({range:new J(c,1,c,f.length+1),text:y}),d=y+d.substr(f.length)}else{const y=G1e(i,c,this._languageConfigurationService);if(y===0||y===8)return}}}const h=c;for(;ci.tokenization.getLineTokens(g),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(g,b)=>i.getLanguageIdAtPosition(g,b)},getLineContent:g=>g===h?d:i.getLineContent(g)},i.getLanguageId(),c+1,u,this._languageConfigurationService);if(f!==null){const g=bu(f,o),b=bu(Ui(i.getLineContent(c+1)),o);if(g!==b){const y=g-b;for(let C=c+1;C<=e.endLineNumber;C++){const w=i.getLineContent(C),x=Ui(w),I=bu(x,o)+y,D=iM(I,o,a);D!==x&&l.push({range:new J(C,1,C,x.length+1),text:D})}}}}if(l.length>0){this.editor.pushUndoStop();const m=new o5t(l,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",m),this.editor.pushUndoStop()}}shouldIgnoreLine(e,t){e.tokenization.forceTokenization(t);const i=e.getLineFirstNonWhitespaceColumn(t);if(i===0)return!0;const r=e.tokenization.getLineTokens(t);if(r.getCount()>0){const o=r.findTokenIndexAtOffset(i);if(o>=0&&r.getStandardTokenType(o)===1)return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}};rM.ID="editor.contrib.autoIndentOnPaste",rM=t5t([n5t(1,er)],rM);function ILe(n,e,t,i){if(n.getLineCount()===1&&n.getLineMaxColumn(1)===1)return;let r="";for(let s=0;sthis._currentResolve=void 0)),await this._currentResolve}}async _doResolve(e){var t,i,r;try{const o=await Promise.resolve(this.provider.resolveInlayHint(this.hint,e));this.hint.tooltip=(t=o==null?void 0:o.tooltip)!==null&&t!==void 0?t:this.hint.tooltip,this.hint.label=(i=o==null?void 0:o.label)!==null&&i!==void 0?i:this.hint.label,this.hint.textEdits=(r=o==null?void 0:o.textEdits)!==null&&r!==void 0?r:this.hint.textEdits,this._isResolved=!0}catch(o){qr(o),this._isResolved=!1}}}class mC{static async create(e,t,i,r){const o=[],s=e.ordered(t).reverse().map(a=>i.map(async l=>{try{const u=await a.provideInlayHints(t,l,r);(u!=null&&u.hints.length||a.onDidChangeInlayHints)&&o.push([u??mC._emptyInlayHintList,a])}catch(u){qr(u)}}));if(await Promise.all(s.flat()),r.isCancellationRequested||t.isDisposed())throw new _g;return new mC(i,o,t)}constructor(e,t,i){this._disposables=new Je,this.ranges=e,this.provider=new Set;const r=[];for(const[o,s]of t){this._disposables.add(o),this.provider.add(s);for(const a of o.hints){const l=i.validatePosition(a.position);let u="before";const c=mC._getRangeAtPosition(i,l);let d;c.getStartPosition().isBefore(l)?(d=J.fromPositions(c.getStartPosition(),l),u="after"):(d=J.fromPositions(l,c.getEndPosition()),u="before"),r.push(new Aj(a,new FLe(d,u),s))}}this.items=r.sort((o,s)=>ve.compare(o.hint.position,s.hint.position))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(e,t){const i=t.lineNumber,r=e.getWordAtPosition(t);if(r)return new J(i,r.startColumn,i,r.endColumn);e.tokenization.tokenizeIfCheap(i);const o=e.tokenization.getLineTokens(i),s=t.column-1,a=o.findTokenIndexAtOffset(s);let l=o.getStartOffset(a),u=o.getEndOffset(a);return u-l===1&&(l===s&&a>1?(l=o.getStartOffset(a-1),u=o.getEndOffset(a-1)):u===s&&aLw(f)?f.command.id:PW()));for(const f of ka.all())h.has(f.desc.id)&&d.push(new uu(f.desc.id,Xu.label(f.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const g=await o.createModelReference(c.uri);try{const b=new ix(g.object.textEditorModel,J.getStartPosition(c.range)),y=i.item.anchor.range;await l.invokeFunction(f.runEditorCommand.bind(f),e,b,y)}finally{g.dispose()}}));if(i.part.command){const{command:f}=i.part;d.push(new Ao),d.push(new uu(f.id,f.title,void 0,!0,async()=>{var g;try{await a.executeCommand(f.id,...(g=f.arguments)!==null&&g!==void 0?g:[])}catch(b){u.notify({severity:qZ.Error,source:i.item.provider.displayName,message:b})}}))}const m=e.getOption(127);s.showContextMenu({domForShadowRoot:m&&(r=e.getDomNode())!==null&&r!==void 0?r:void 0,getAnchor:()=>{const f=po(t);return{x:f.left,y:f.top+f.height+8}},getActions:()=>d,onHide:()=>{e.focus()},autoSelectFirstItem:!0})}async function DLe(n,e,t,i){const o=await n.get(kl).createModelReference(i.uri);await t.invokeWithinContext(async s=>{const a=e.hasSideBySideModifier,l=s.get(ln),u=zl.inPeekEditor.getValue(l),c=!a&&t.getOption(88)&&!u;return new VN({openToSide:a,openInPeek:c,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(s,new ix(o.object.textEditorModel,J.getStartPosition(i.range)),J.lift(i.range))}),o.dispose()}var c5t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Cx=function(n,e){return function(t,i){e(t,i,n)}},Sx;class zA{constructor(){this._entries=new Rg(50)}get(e){const t=zA._key(e);return this._entries.get(t)}set(e,t){const i=zA._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const NLe=Un("IInlayHintsCache");qn(NLe,zA,1);class Vj{constructor(e,t){this.item=e,this.index=t}get part(){const e=this.item.hint.label;return typeof e=="string"?{label:e}:e[this.index]}}class d5t{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}let t1=Sx=class{static get(e){var t;return(t=e.getContribution(Sx.ID))!==null&&t!==void 0?t:void 0}constructor(e,t,i,r,o,s,a){this._editor=e,this._languageFeaturesService=t,this._inlayHintsCache=r,this._commandService=o,this._notificationService=s,this._instaService=a,this._disposables=new Je,this._sessionDisposables=new Je,this._decorationsMetadata=new Map,this._ruleFactory=new TF(this._editor),this._activeRenderMode=0,this._debounceInfo=i.for(t.inlayHintsProvider,"InlayHint",{min:25}),this._disposables.add(t.inlayHintsProvider.onDidChange(()=>this._update())),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(l=>{l.hasChanged(141)&&this._update()})),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();const e=this._editor.getOption(141);if(e.enabled==="off")return;const t=this._editor.getModel();if(!t||!this._languageFeaturesService.inlayHintsProvider.has(t))return;if(e.enabled==="on")this._activeRenderMode=0;else{let a,l;e.enabled==="onUnlessPressed"?(a=0,l=1):(a=1,l=0),this._activeRenderMode=a,this._sessionDisposables.add(Mg.getInstance().event(u=>{if(!this._editor.hasModel())return;const c=u.altKey&&u.ctrlKey&&!(u.shiftKey||u.metaKey)?l:a;if(c!==this._activeRenderMode){this._activeRenderMode=c;const d=this._editor.getModel(),h=this._copyInlayHintsWithCurrentAnchor(d);this._updateHintsDecorators([d.getFullModelRange()],h),s.schedule(0)}}))}const i=this._inlayHintsCache.get(t);i&&this._updateHintsDecorators([t.getFullModelRange()],i),this._sessionDisposables.add(jt(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let r;const o=new Set,s=new Wi(async()=>{const a=Date.now();r==null||r.dispose(!0),r=new fo;const l=t.onWillDispose(()=>r==null?void 0:r.cancel());try{const u=r.token,c=await mC.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),u);if(s.delay=this._debounceInfo.update(t,Date.now()-a),u.isCancellationRequested){c.dispose();return}for(const d of c.provider)typeof d.onDidChangeInlayHints=="function"&&!o.has(d)&&(o.add(d),this._sessionDisposables.add(d.onDidChangeInlayHints(()=>{s.isScheduled()||s.schedule()})));this._sessionDisposables.add(c),this._updateHintsDecorators(c.ranges,c.items),this._cacheHintsForFastRestore(t)}catch(u){yn(u)}finally{r.dispose(),l.dispose()}},this._debounceInfo.get(t));this._sessionDisposables.add(s),this._sessionDisposables.add(jt(()=>r==null?void 0:r.dispose(!0))),s.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange(a=>{(a.scrollTopChanged||!s.isScheduled())&&s.schedule()})),this._sessionDisposables.add(this._editor.onDidChangeModelContent(a=>{r==null||r.cancel();const l=Math.max(s.delay,1250);s.schedule(l)})),this._sessionDisposables.add(this._installDblClickGesture(()=>s.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const e=new Je,t=e.add(new c3(this._editor)),i=new Je;return e.add(i),e.add(t.onMouseMoveOrRelevantKeyDown(r=>{const[o]=r,s=this._getInlayHintLabelPart(o),a=this._editor.getModel();if(!s||!a){i.clear();return}const l=new fo;i.add(jt(()=>l.dispose(!0))),s.item.resolve(l.token),this._activeInlayHintPart=s.part.command||s.part.location?new d5t(s,o.hasTriggerModifier):void 0;const u=a.validatePosition(s.item.hint.position).lineNumber,c=new J(u,1,u,a.getLineMaxColumn(u)),d=this._getInlineHintsForRange(c);this._updateHintsDecorators([c],d),i.add(jt(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([c],d)}))})),e.add(t.onCancel(()=>i.clear())),e.add(t.onExecute(async r=>{const o=this._getInlayHintLabelPart(r);if(o){const s=o.part;s.location?this._instaService.invokeFunction(DLe,r,this._editor,s.location):A6.is(s.command)&&await this._invokeCommand(s.command,o.item)}})),e}_getInlineHintsForRange(e){const t=new Set;for(const i of this._decorationsMetadata.values())e.containsRange(i.item.anchor.range)&&t.add(i.item);return Array.from(t)}_installDblClickGesture(e){return this._editor.onMouseUp(async t=>{if(t.event.detail!==2)return;const i=this._getInlayHintLabelPart(t);if(i&&(t.event.preventDefault(),await i.item.resolve(Yn.None),ga(i.item.hint.textEdits))){const r=i.item.hint.textEdits.map(o=>vr.replace(J.lift(o.range),o.text));this._editor.executeEdits("inlayHint.default",r),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!(e.event.target instanceof HTMLElement))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(u5t,this._editor,e.event.target,t)})}_getInlayHintLabelPart(e){var t;if(e.target.type!==6)return;const i=(t=e.target.detail.injectedText)===null||t===void 0?void 0:t.options;if(i instanceof v0&&(i==null?void 0:i.attachedData)instanceof Vj)return i.attachedData}async _invokeCommand(e,t){var i;try{await this._commandService.executeCommand(e.id,...(i=e.arguments)!==null&&i!==void 0?i:[])}catch(r){this._notificationService.notify({severity:qZ.Error,source:t.provider.displayName,message:r})}}_cacheHintsForFastRestore(e){const t=this._copyInlayHintsWithCurrentAnchor(e);this._inlayHintsCache.set(e,t)}_copyInlayHintsWithCurrentAnchor(e){const t=new Map;for(const[i,r]of this._decorationsMetadata){if(t.has(r.item))continue;const o=e.getDecorationRange(i);if(o){const s=new FLe(o,r.item.anchor.direction),a=r.item.with({anchor:s});t.set(r.item,a)}}return Array.from(t.values())}_getHintsRanges(){const t=this._editor.getModel(),i=this._editor.getVisibleRangesPlusViewportAboveBelow(),r=[];for(const o of i.sort(J.compareRangesUsingStarts)){const s=t.validateRange(new J(o.startLineNumber-30,o.startColumn,o.endLineNumber+30,o.endColumn));r.length===0||!J.areIntersectingOrTouching(r[r.length-1],s)?r.push(s):r[r.length-1]=J.plusRange(r[r.length-1],s)}return r}_updateHintsDecorators(e,t){var i,r;const o=[],s=(b,y,C,w,x)=>{const L={content:C,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:y.className,cursorStops:w,attachedData:x};o.push({item:b,classNameRef:y,decoration:{range:b.anchor.range,options:{description:"InlayHint",showIfCollapsed:b.anchor.range.isEmpty(),collapseOnReplaceEdit:!b.anchor.range.isEmpty(),stickiness:0,[b.anchor.direction]:this._activeRenderMode===0?L:void 0}}})},a=(b,y)=>{const C=this._ruleFactory.createClassNameRef({width:`${l/3|0}px`,display:"inline-block"});s(b,C," ",y?Rd.Right:Rd.None)},{fontSize:l,fontFamily:u,padding:c,isUniform:d}=this._getLayoutInfo(),h="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(h,u);let m={line:0,totalLen:0};for(const b of t){if(m.line!==b.anchor.range.startLineNumber&&(m={line:b.anchor.range.startLineNumber,totalLen:0}),m.totalLen>Sx._MAX_LABEL_LEN)continue;b.hint.paddingLeft&&a(b,!1);const y=typeof b.hint.label=="string"?[{label:b.hint.label}]:b.hint.label;for(let C=0;C0&&(D=D.slice(0,-T)+"…",N=!0),s(b,this._ruleFactory.createClassNameRef(I),h5t(D),L&&!b.hint.paddingRight?Rd.Right:Rd.None,new Vj(b,C)),N)break}if(b.hint.paddingRight&&a(b,!0),o.length>Sx._MAX_DECORATORS)break}const f=[];for(const[b,y]of this._decorationsMetadata){const C=(r=this._editor.getModel())===null||r===void 0?void 0:r.getDecorationRange(b);C&&e.some(w=>w.containsRange(C))&&(f.push(b),y.classNameRef.dispose(),this._decorationsMetadata.delete(b))}const g=zh.capture(this._editor);this._editor.changeDecorations(b=>{const y=b.deltaDecorations(f,o.map(C=>C.decoration));for(let C=0;Ci)&&(o=i);const s=e.fontFamily||r;return{fontSize:o,fontFamily:s,padding:t,isUniform:!t&&s===r&&o===i}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(const e of this._decorationsMetadata.values())e.classNameRef.dispose();this._decorationsMetadata.clear()}};t1.ID="editor.contrib.InlayHints",t1._MAX_DECORATORS=1500,t1._MAX_LABEL_LEN=43,t1=Sx=c5t([Cx(1,Rt),Cx(2,Qc),Cx(3,NLe),Cx(4,Xr),Cx(5,Mo),Cx(6,$t)],t1);function h5t(n){return n.replace(/[ \t]/g," ")}$n.registerCommand("_executeInlayHintProvider",async(n,...e)=>{const[t,i]=e;hi(en.isUri(t)),hi(J.isIRange(i));const{inlayHintsProvider:r}=n.get(Rt),o=await n.get(kl).createModelReference(t);try{const s=await mC.create(r,o.object.textEditorModel,[J.lift(i)],Yn.None),a=s.items.map(l=>l.hint);return setTimeout(()=>s.dispose(),0),a}finally{o.dispose()}});var m5t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},oM=function(n,e){return function(t,i){e(t,i,n)}};class MLe extends tC{constructor(e,t,i,r){super(10,t,e.item.anchor.range,i,r,!0),this.part=e}}let Gj=class extends Q3{constructor(e,t,i,r,o,s){super(e,t,i,r,s),this._resolverService=o,this.hoverOrdinal=6}suggestHoverAnchor(e){var t;if(!t1.get(this._editor)||e.target.type!==6)return null;const r=(t=e.target.detail.injectedText)===null||t===void 0?void 0:t.options;return r instanceof v0&&r.attachedData instanceof Vj?new MLe(r.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof MLe?new Io(async r=>{const{part:o}=e;if(await o.item.resolve(i),i.isCancellationRequested)return;let s;typeof o.item.hint.tooltip=="string"?s=new ya().appendText(o.item.hint.tooltip):o.item.hint.tooltip&&(s=o.item.hint.tooltip),s&&r.emitOne(new Qh(this,e.range,[s],!1,0)),ga(o.item.hint.textEdits)&&r.emitOne(new Qh(this,e.range,[new ya().appendText(_("hint.dbl","Double-click to insert"))],!1,10001));let a;if(typeof o.part.tooltip=="string"?a=new ya().appendText(o.part.tooltip):o.part.tooltip&&(a=o.part.tooltip),a&&r.emitOne(new Qh(this,e.range,[a],!1,1)),o.part.location||o.part.command){let u;const d=this._editor.getOption(78)==="altKey"?On?_("links.navigate.kb.meta.mac","cmd + click"):_("links.navigate.kb.meta","ctrl + click"):On?_("links.navigate.kb.alt.mac","option + click"):_("links.navigate.kb.alt","alt + click");o.part.location&&o.part.command?u=new ya().appendText(_("hint.defAndCommand","Go to Definition ({0}), right click for more",d)):o.part.location?u=new ya().appendText(_("hint.def","Go to Definition ({0})",d)):o.part.command&&(u=new ya(`[${_("hint.cmd","Execute Command")}](${l5t(o.part.command)} "${o.part.command.title}") (${d})`,{isTrusted:!0})),u&&r.emitOne(new Qh(this,e.range,[u],!1,1e4))}const l=await this._resolveInlayHintLabelPartHover(o,i);for await(const u of l)r.emitOne(u)}):Io.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return Io.EMPTY;const{uri:i,range:r}=e.part.location,o=await this._resolverService.createModelReference(i);try{const s=o.object.textEditorModel;return this._languageFeaturesService.hoverProvider.has(s)?D8(this._languageFeaturesService.hoverProvider,s,new ve(r.startLineNumber,r.startColumn),t).filter(a=>!D2(a.hover.contents)).map(a=>new Qh(this,e.item.anchor.range,a.hover.contents,!1,2+a.ordinal)):Io.EMPTY}finally{o.dispose()}}};Gj=m5t([oM(1,br),oM(2,Bl),oM(3,Pn),oM(4,kl),oM(5,Rt)],Gj),vi(t1.ID,t1,1),O0.register(Gj);class f5t{constructor(e,t,i){this._editRange=e,this._originalSelection=t,this._text=i}getEditOperations(e,t){t.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(e,t){const r=t.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new Zt(r.endLineNumber,Math.min(this._originalSelection.positionColumn,r.endColumn),r.endLineNumber,Math.min(this._originalSelection.positionColumn,r.endColumn)):new Zt(r.endLineNumber,r.endColumn-this._text.length,r.endLineNumber,r.endColumn)}}var g5t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},p5t=function(n,e){return function(t,i){e(t,i,n)}},HA;let n1=HA=class{static get(e){return e.getContribution(HA.ID)}constructor(e,t){this.editor=e,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(e,t){var i;(i=this.currentRequest)===null||i===void 0||i.cancel();const r=this.editor.getSelection(),o=this.editor.getModel();if(!o||!r)return;let s=r;if(s.startLineNumber!==s.endLineNumber)return;const a=new Ewe(this.editor,5),l=o.uri;return this.editorWorkerService.canNavigateValueSet(l)?(this.currentRequest=rs(u=>this.editorWorkerService.navigateValueSet(l,s,t)),this.currentRequest.then(u=>{var c;if(!u||!u.range||!u.value||!a.validate(this.editor))return;const d=J.lift(u.range);let h=u.range;const m=u.value.length-(s.endColumn-s.startColumn);h={startLineNumber:h.startLineNumber,startColumn:h.startColumn,endLineNumber:h.endLineNumber,endColumn:h.startColumn+u.value.length},m>1&&(s=new Zt(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn+m-1));const f=new f5t(d,s,u.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,f),this.editor.pushUndoStop(),this.decorations.set([{range:h,options:HA.DECORATION}]),(c=this.decorationRemover)===null||c===void 0||c.cancel(),this.decorationRemover=By(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(yn)}).catch(yn)):Promise.resolve(void 0)}};n1.ID="editor.contrib.inPlaceReplaceController",n1.DECORATION=vn.register({description:"in-place-replace",className:"valueSetReplacement"}),n1=HA=g5t([p5t(1,Kc)],n1);class b5t extends Nt{constructor(){super({id:"editor.action.inPlaceReplace.up",label:_("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:ne.writable,kbOpts:{kbExpr:ne.editorTextFocus,primary:3159,weight:100}})}run(e,t){const i=n1.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}class y5t extends Nt{constructor(){super({id:"editor.action.inPlaceReplace.down",label:_("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:ne.writable,kbOpts:{kbExpr:ne.editorTextFocus,primary:3161,weight:100}})}run(e,t){const i=n1.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}}vi(n1.ID,n1,4),tt(b5t),tt(y5t);class v5t extends Nt{constructor(){super({id:"expandLineSelection",label:_("expandLineSelection","Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:ne.textInputFocus,primary:2090}})}run(e,t,i){if(i=i||{},!t.hasModel())return;const r=t._getViewModel();r.model.pushStackElement(),r.setCursorStates(i.source,3,ks.expandLineSelection(r,r.getCursorStates())),r.revealAllCursors(i.source,!0)}}tt(v5t);class C5t{constructor(e,t,i){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=i}getEditOperations(e,t){const i=S5t(e,this._cursors,this._trimInRegexesAndStrings);for(let r=0,o=i.length;ra.lineNumber===l.lineNumber?a.column-l.column:a.lineNumber-l.lineNumber);for(let a=e.length-2;a>=0;a--)e[a].lineNumber===e[a+1].lineNumber&&e.splice(a,1);const i=[];let r=0,o=0;const s=e.length;for(let a=1,l=n.getLineCount();a<=l;a++){const u=n.getLineContent(a),c=u.length+1;let d=0;if(o=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},x5t=function(n,e){return function(t,i){e(t,i,n)}};let Xj=class{constructor(e,t,i,r){this._languageConfigurationService=r,this._selection=e,this._isMovingDown=t,this._autoIndent=i,this._selectionId=null,this._moveEndLineSelectionShrink=!1}getEditOperations(e,t){const i=e.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===i){this._selectionId=t.trackSelection(this._selection);return}if(!this._isMovingDown&&this._selection.startLineNumber===1){this._selectionId=t.trackSelection(this._selection);return}this._moveEndPositionDown=!1;let r=this._selection;r.startLineNumbere.tokenization.getLineTokens(c),getLanguageId:()=>e.getLanguageId(),getLanguageIdAtPosition:(c,d)=>e.getLanguageIdAtPosition(c,d)},getLineContent:null};if(r.startLineNumber===r.endLineNumber&&e.getLineMaxColumn(r.startLineNumber)===1){const c=r.startLineNumber,d=this._isMovingDown?c+1:c-1;e.getLineMaxColumn(d)===1?t.addEditOperation(new J(1,1,1,1),null):(t.addEditOperation(new J(c,1,c,1),e.getLineContent(d)),t.addEditOperation(new J(d,1,d,e.getLineMaxColumn(d)),null)),r=new Wt(d,1,d,1)}else{let c,d;if(this._isMovingDown){c=r.endLineNumber+1,d=e.getLineContent(c),t.addEditOperation(new J(c-1,e.getLineMaxColumn(c-1),c,e.getLineMaxColumn(c)),null);let h=d;if(this.shouldAutoIndent(e,r)){const m=this.matchEnterRule(e,l,o,c,r.startLineNumber-1);if(m!==null){const g=Ki(e.getLineContent(c)),b=m+bu(g,o);h=ik(b,o,a)+this.trimStart(d)}else{u.getLineContent=b=>b===r.startLineNumber?e.getLineContent(c):e.getLineContent(b);const g=fI(this._autoIndent,u,e.getLanguageIdAtPosition(c,1),r.startLineNumber,l,this._languageConfigurationService);if(g!==null){const b=Ki(e.getLineContent(c)),v=bu(g,o),C=bu(b,o);v!==C&&(h=ik(v,o,a)+this.trimStart(d))}}t.addEditOperation(new J(r.startLineNumber,1,r.startLineNumber,1),h+` -`);const f=this.matchEnterRuleMovingDown(e,l,o,r.startLineNumber,c,h);if(f!==null)f!==0&&this.getIndentEditsOfMovingBlock(e,t,r,o,a,f);else{u.getLineContent=b=>b===r.startLineNumber?h:b>=r.startLineNumber+1&&b<=r.endLineNumber+1?e.getLineContent(b-1):e.getLineContent(b);const g=fI(this._autoIndent,u,e.getLanguageIdAtPosition(c,1),r.startLineNumber+1,l,this._languageConfigurationService);if(g!==null){const b=Ki(e.getLineContent(r.startLineNumber)),v=bu(g,o),C=bu(b,o);if(v!==C){const S=v-C;this.getIndentEditsOfMovingBlock(e,t,r,o,a,S)}}}}else t.addEditOperation(new J(r.startLineNumber,1,r.startLineNumber,1),h+` +`+o),this._selectionId=t.trackSelection(i),this._selectionDirection=this._selection.getDirection()}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);if(this._startLineNumberDelta!==0||this._endLineNumberDelta!==0){let r=i.startLineNumber,o=i.startColumn,s=i.endLineNumber,a=i.endColumn;this._startLineNumberDelta!==0&&(r=r+this._startLineNumberDelta,o=1),this._endLineNumberDelta!==0&&(s=s+this._endLineNumberDelta,a=1),i=Zt.createWithDirection(r,o,s,a,this._selectionDirection)}return i}}var w5t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},x5t=function(n,e){return function(t,i){e(t,i,n)}};let Xj=class{constructor(e,t,i,r){this._languageConfigurationService=r,this._selection=e,this._isMovingDown=t,this._autoIndent=i,this._selectionId=null,this._moveEndLineSelectionShrink=!1}getEditOperations(e,t){const i=e.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===i){this._selectionId=t.trackSelection(this._selection);return}if(!this._isMovingDown&&this._selection.startLineNumber===1){this._selectionId=t.trackSelection(this._selection);return}this._moveEndPositionDown=!1;let r=this._selection;r.startLineNumbere.tokenization.getLineTokens(c),getLanguageId:()=>e.getLanguageId(),getLanguageIdAtPosition:(c,d)=>e.getLanguageIdAtPosition(c,d)},getLineContent:null};if(r.startLineNumber===r.endLineNumber&&e.getLineMaxColumn(r.startLineNumber)===1){const c=r.startLineNumber,d=this._isMovingDown?c+1:c-1;e.getLineMaxColumn(d)===1?t.addEditOperation(new J(1,1,1,1),null):(t.addEditOperation(new J(c,1,c,1),e.getLineContent(d)),t.addEditOperation(new J(d,1,d,e.getLineMaxColumn(d)),null)),r=new Zt(d,1,d,1)}else{let c,d;if(this._isMovingDown){c=r.endLineNumber+1,d=e.getLineContent(c),t.addEditOperation(new J(c-1,e.getLineMaxColumn(c-1),c,e.getLineMaxColumn(c)),null);let h=d;if(this.shouldAutoIndent(e,r)){const m=this.matchEnterRule(e,l,o,c,r.startLineNumber-1);if(m!==null){const g=Ui(e.getLineContent(c)),b=m+bu(g,o);h=iM(b,o,a)+this.trimStart(d)}else{u.getLineContent=b=>b===r.startLineNumber?e.getLineContent(c):e.getLineContent(b);const g=fF(this._autoIndent,u,e.getLanguageIdAtPosition(c,1),r.startLineNumber,l,this._languageConfigurationService);if(g!==null){const b=Ui(e.getLineContent(c)),y=bu(g,o),C=bu(b,o);y!==C&&(h=iM(y,o,a)+this.trimStart(d))}}t.addEditOperation(new J(r.startLineNumber,1,r.startLineNumber,1),h+` +`);const f=this.matchEnterRuleMovingDown(e,l,o,r.startLineNumber,c,h);if(f!==null)f!==0&&this.getIndentEditsOfMovingBlock(e,t,r,o,a,f);else{u.getLineContent=b=>b===r.startLineNumber?h:b>=r.startLineNumber+1&&b<=r.endLineNumber+1?e.getLineContent(b-1):e.getLineContent(b);const g=fF(this._autoIndent,u,e.getLanguageIdAtPosition(c,1),r.startLineNumber+1,l,this._languageConfigurationService);if(g!==null){const b=Ui(e.getLineContent(r.startLineNumber)),y=bu(g,o),C=bu(b,o);if(y!==C){const w=y-C;this.getIndentEditsOfMovingBlock(e,t,r,o,a,w)}}}}else t.addEditOperation(new J(r.startLineNumber,1,r.startLineNumber,1),h+` `)}else if(c=r.startLineNumber-1,d=e.getLineContent(c),t.addEditOperation(new J(c,1,c+1,1),null),t.addEditOperation(new J(r.endLineNumber,e.getLineMaxColumn(r.endLineNumber),r.endLineNumber,e.getLineMaxColumn(r.endLineNumber)),` -`+d),this.shouldAutoIndent(e,r)){u.getLineContent=m=>m===c?e.getLineContent(r.startLineNumber):e.getLineContent(m);const h=this.matchEnterRule(e,l,o,r.startLineNumber,r.startLineNumber-2);if(h!==null)h!==0&&this.getIndentEditsOfMovingBlock(e,t,r,o,a,h);else{const m=fI(this._autoIndent,u,e.getLanguageIdAtPosition(r.startLineNumber,1),c,l,this._languageConfigurationService);if(m!==null){const f=Ki(e.getLineContent(r.startLineNumber)),g=bu(m,o),b=bu(f,o);if(g!==b){const v=g-b;this.getIndentEditsOfMovingBlock(e,t,r,o,a,v)}}}}}this._selectionId=t.trackSelection(r)}buildIndentConverter(e,t,i){return{shiftIndent:r=>Zc.shiftIndent(r,r.length+1,e,t,i),unshiftIndent:r=>Zc.unshiftIndent(r,r.length+1,e,t,i)}}parseEnterResult(e,t,i,r,o){if(o){let s=o.indentation;o.indentAction===Mo.None||o.indentAction===Mo.Indent?s=o.indentation+o.appendText:o.indentAction===Mo.IndentOutdent?s=o.indentation:o.indentAction===Mo.Outdent&&(s=t.unshiftIndent(o.indentation)+o.appendText);const a=e.getLineContent(r);if(this.trimStart(a).indexOf(this.trimStart(s))>=0){const l=Ki(e.getLineContent(r));let u=Ki(s);const c=G1e(e,r,this._languageConfigurationService);c!==null&&c&2&&(u=t.unshiftIndent(u));const d=bu(u,i),h=bu(l,i);return d-h}}return null}matchEnterRuleMovingDown(e,t,i,r,o,s){if(Fh(s)>=0){const a=e.getLineMaxColumn(o),l=VS(this._autoIndent,e,new J(o,a,o,a),this._languageConfigurationService);return this.parseEnterResult(e,t,i,r,l)}else{let a=r-1;for(;a>=1;){const c=e.getLineContent(a);if(Fh(c)>=0)break;a--}if(a<1||r>e.getLineCount())return null;const l=e.getLineMaxColumn(a),u=VS(this._autoIndent,e,new J(a,l,a,l),this._languageConfigurationService);return this.parseEnterResult(e,t,i,r,u)}}matchEnterRule(e,t,i,r,o,s){let a=o;for(;a>=1;){let c;if(a===o&&s!==void 0?c=s:c=e.getLineContent(a),Fh(c)>=0)break;a--}if(a<1||r>e.getLineCount())return null;const l=e.getLineMaxColumn(a),u=VS(this._autoIndent,e,new J(a,l,a,l),this._languageConfigurationService);return this.parseEnterResult(e,t,i,r,u)}trimStart(e){return e.replace(/^\s+/,"")}shouldAutoIndent(e,t){if(this._autoIndent<4||!e.tokenization.isCheapToTokenize(t.startLineNumber))return!1;const i=e.getLanguageIdAtPosition(t.startLineNumber,1),r=e.getLanguageIdAtPosition(t.endLineNumber,1);return!(i!==r||this._languageConfigurationService.getLanguageConfiguration(i).indentRulesSupport===null)}getIndentEditsOfMovingBlock(e,t,i,r,o,s){for(let a=i.startLineNumber;a<=i.endLineNumber;a++){const l=e.getLineContent(a),u=Ki(l),d=bu(u,r)+s,h=ik(d,r,o);h!==u&&(t.addEditOperation(new J(a,1,a,u.length+1),h),a===i.endLineNumber&&i.endColumn<=u.length+1&&h===""&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&i.startLineNumber=r)return null;const o=[];for(let a=i;a<=r;a++)o.push(n.getLineContent(a));let s=o.slice(0);return s.sort(i1.getCollator().compare),t===!0&&(s=s.reverse()),{startLineNumber:i,endLineNumber:r,before:o,after:s}}function L5t(n,e,t){const i=T_e(n,e,t);return i?Cr.replace(new J(i.startLineNumber,1,i.endLineNumber,n.getLineMaxColumn(i.endLineNumber)),i.after.join(` -`)):null}class E_e extends Mt{constructor(e,t){super(t),this.down=e}run(e,t){if(!t.hasModel())return;const i=t.getSelections().map((s,a)=>({selection:s,index:a,ignore:!1}));i.sort((s,a)=>J.compareRangesUsingStarts(s.selection,a.selection));let r=i[0];for(let s=1;snew ye(c.positionLineNumber,c.positionColumn)));const o=t.getSelection();if(o===null)return;const s=e.get(Pn),a=t.getModel(),l=s.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:a==null?void 0:a.getLanguageId(),resource:a==null?void 0:a.uri}),u=new C5t(o,r,l);t.pushUndoStop(),t.executeCommands(this.id,[u]),t.pushUndoStop()}}YV.ID="editor.action.trimTrailingWhitespace";class E5t extends Mt{constructor(){super({id:"editor.action.deleteLines",label:L("lines.delete","Delete Line"),alias:"Delete Line",precondition:ne.writable,kbOpts:{kbExpr:ne.textInputFocus,primary:3113,weight:100}})}run(e,t){if(!t.hasModel())return;const i=this._getLinesToRemove(t),r=t.getModel();if(r.getLineCount()===1&&r.getLineMaxColumn(1)===1)return;let o=0;const s=[],a=[];for(let l=0,u=i.length;l1&&(d-=1,m=r.getLineMaxColumn(d)),s.push(Cr.replace(new Wt(d,m,h,f),"")),a.push(new Wt(d-o,c.positionColumn,d-o,c.positionColumn)),o+=c.endLineNumber-c.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,s,a),t.pushUndoStop()}_getLinesToRemove(e){const t=e.getSelections().map(o=>{let s=o.endLineNumber;return o.startLineNumbero.startLineNumber===s.startLineNumber?o.endLineNumber-s.endLineNumber:o.startLineNumber-s.startLineNumber);const i=[];let r=t[0];for(let o=1;o=t[o].startLineNumber?r.endLineNumber=t[o].endLineNumber:(i.push(r),r=t[o]);return i.push(r),i}}class Z5t extends Mt{constructor(){super({id:"editor.action.indentLines",label:L("lines.indent","Indent Line"),alias:"Indent Line",precondition:ne.writable,kbOpts:{kbExpr:ne.editorTextFocus,primary:2142,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,Nr.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class W5t extends Mt{constructor(){super({id:"editor.action.outdentLines",label:L("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:ne.writable,kbOpts:{kbExpr:ne.editorTextFocus,primary:2140,weight:100}})}run(e,t){XS.Outdent.runEditorCommand(e,t,null)}}class R5t extends Mt{constructor(){super({id:"editor.action.insertLineBefore",label:L("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:ne.writable,kbOpts:{kbExpr:ne.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,Nr.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class V5t extends Mt{constructor(){super({id:"editor.action.insertLineAfter",label:L("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:ne.writable,kbOpts:{kbExpr:ne.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,Nr.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class R_e extends Mt{run(e,t){if(!t.hasModel())return;const i=t.getSelection(),r=this._getRangesToDelete(t),o=[];for(let l=0,u=r.length-1;lCr.replace(l,""));t.pushUndoStop(),t.executeEdits(this.id,a,s),t.pushUndoStop()}}class A5t extends R_e{constructor(){super({id:"deleteAllLeft",label:L("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:ne.writable,kbOpts:{kbExpr:ne.textInputFocus,primary:0,mac:{primary:2049},weight:100}})}_getEndCursorState(e,t){let i=null;const r=[];let o=0;return t.forEach(s=>{let a;if(s.endColumn===1&&o>0){const l=s.startLineNumber-o;a=new Wt(l,s.startColumn,l,s.startColumn)}else a=new Wt(s.startLineNumber,s.startColumn,s.startLineNumber,s.startColumn);o+=s.endLineNumber-s.startLineNumber,s.intersectRanges(e)?i=a:r.push(a)}),i&&r.unshift(i),r}_getRangesToDelete(e){const t=e.getSelections();if(t===null)return[];let i=t;const r=e.getModel();return r===null?[]:(i.sort(J.compareRangesUsingStarts),i=i.map(o=>{if(o.isEmpty())if(o.startColumn===1){const s=Math.max(1,o.startLineNumber-1),a=o.startLineNumber===1?1:r.getLineLength(s)+1;return new J(s,a,o.startLineNumber,1)}else return new J(o.startLineNumber,1,o.startLineNumber,o.startColumn);else return new J(o.startLineNumber,1,o.endLineNumber,o.endColumn)}),i)}}class G5t extends R_e{constructor(){super({id:"deleteAllRight",label:L("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:ne.writable,kbOpts:{kbExpr:ne.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})}_getEndCursorState(e,t){let i=null;const r=[];for(let o=0,s=t.length,a=0;o{if(o.isEmpty()){const s=t.getLineMaxColumn(o.startLineNumber);return o.startColumn===s?new J(o.startLineNumber,o.startColumn,o.startLineNumber+1,1):new J(o.startLineNumber,o.startColumn,o.startLineNumber,s)}return o});return r.sort(J.compareRangesUsingStarts),r}}class X5t extends Mt{constructor(){super({id:"editor.action.joinLines",label:L("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:ne.writable,kbOpts:{kbExpr:ne.editorTextFocus,primary:0,mac:{primary:296},weight:100}})}run(e,t){const i=t.getSelections();if(i===null)return;let r=t.getSelection();if(r===null)return;i.sort(J.compareRangesUsingStarts);const o=[],s=i.reduce((h,m)=>h.isEmpty()?h.endLineNumber===m.startLineNumber?(r.equalsSelection(h)&&(r=m),m):m.startLineNumber>h.endLineNumber+1?(o.push(h),m):new Wt(h.startLineNumber,h.startColumn,m.endLineNumber,m.endColumn):m.startLineNumber>h.endLineNumber?(o.push(h),m):new Wt(h.startLineNumber,h.startColumn,m.endLineNumber,m.endColumn));o.push(s);const a=t.getModel();if(a===null)return;const l=[],u=[];let c=r,d=0;for(let h=0,m=o.length;h=1){let Z=!0;_===""&&(Z=!1),Z&&(_.charAt(_.length-1)===" "||_.charAt(_.length-1)===" ")&&(Z=!1,_=_.replace(/[\s\uFEFF\xA0]+$/g," "));const E=M.substr(T-1);_+=(Z?" ":"")+E,Z?v=E.length+1:v=E.length}else v=0}const F=new J(g,b,C,S);if(!F.isEmpty()){let D;f.isEmpty()?(l.push(Cr.replace(F,_)),D=new Wt(F.startLineNumber-d,_.length-v+1,g-d,_.length-v+1)):f.startLineNumber===f.endLineNumber?(l.push(Cr.replace(F,_)),D=new Wt(f.startLineNumber-d,f.startColumn,f.endLineNumber-d,f.endColumn)):(l.push(Cr.replace(F,_)),D=new Wt(f.startLineNumber-d,f.startColumn,f.startLineNumber-d,_.length-x)),J.intersectRanges(F,r)!==null?c=D:u.push(D)}d+=F.endLineNumber-F.startLineNumber}u.unshift(c),t.pushUndoStop(),t.executeEdits(this.id,l,u),t.pushUndoStop()}}class P5t extends Mt{constructor(){super({id:"editor.action.transpose",label:L("editor.transpose","Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:ne.writable})}run(e,t){const i=t.getSelections();if(i===null)return;const r=t.getModel();if(r===null)return;const o=[];for(let s=0,a=i.length;s=c){if(u.lineNumber===r.getLineCount())continue;const d=new J(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),h=r.getValueInRange(d).split("").reverse().join("");o.push(new qs(new Wt(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),h))}else{const d=new J(u.lineNumber,Math.max(1,u.column-1),u.lineNumber,u.column+1),h=r.getValueInRange(d).split("").reverse().join("");o.push(new RY(d,h,new Wt(u.lineNumber,u.column+1,u.lineNumber,u.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()}}class fC extends Mt{run(e,t){const i=t.getSelections();if(i===null)return;const r=t.getModel();if(r===null)return;const o=t.getOption(131),s=[];for(const a of i)if(a.isEmpty()){const l=a.getStartPosition(),u=t.getConfiguredWordAtPosition(l);if(!u)continue;const c=new J(l.lineNumber,u.startColumn,l.lineNumber,u.endColumn),d=r.getValueInRange(c);s.push(Cr.replace(c,this._modifyText(d,o)))}else{const l=r.getValueInRange(a);s.push(Cr.replace(a,this._modifyText(l,o)))}t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop()}}class O5t extends fC{constructor(){super({id:"editor.action.transformToUppercase",label:L("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:ne.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}class B5t extends fC{constructor(){super({id:"editor.action.transformToLowercase",label:L("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:ne.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}class Zp{constructor(e,t){this._pattern=e,this._flags=t,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch{}}return this._actual}isSupported(){return this.get()!==null}}class sk extends fC{constructor(){super({id:"editor.action.transformToTitlecase",label:L("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:ne.writable})}_modifyText(e,t){const i=sk.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,r=>r.toLocaleUpperCase()):e}}sk.titleBoundary=new Zp("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");class r1 extends fC{constructor(){super({id:"editor.action.transformToSnakecase",label:L("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:ne.writable})}_modifyText(e,t){const i=r1.caseBoundary.get(),r=r1.singleLetters.get();return!i||!r?e:e.replace(i,"$1_$2").replace(r,"$1_$2$3").toLocaleLowerCase()}}r1.caseBoundary=new Zp("(\\p{Ll})(\\p{Lu})","gmu"),r1.singleLetters=new Zp("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");class ak extends fC{constructor(){super({id:"editor.action.transformToCamelcase",label:L("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:ne.writable})}_modifyText(e,t){const i=ak.wordBoundary.get();if(!i)return e;const r=e.split(i);return r.shift()+r.map(s=>s.substring(0,1).toLocaleUpperCase()+s.substring(1)).join("")}}ak.wordBoundary=new Zp("[_\\s-]","gm");class gC extends fC{constructor(){super({id:"editor.action.transformToPascalcase",label:L("editor.transformToPascalcase","Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:ne.writable})}_modifyText(e,t){const i=gC.wordBoundary.get(),r=gC.wordBoundaryToMaintain.get();return!i||!r?e:e.split(r).map(a=>a.split(i)).flat().map(a=>a.substring(0,1).toLocaleUpperCase()+a.substring(1)).join("")}}gC.wordBoundary=new Zp("[_\\s-]","gm"),gC.wordBoundaryToMaintain=new Zp("(?<=\\.)","gm");class Wp extends fC{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(t=>t.isSupported())}constructor(){super({id:"editor.action.transformToKebabcase",label:L("editor.transformToKebabcase","Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:ne.writable})}_modifyText(e,t){const i=Wp.caseBoundary.get(),r=Wp.singleLetters.get(),o=Wp.underscoreBoundary.get();return!i||!r||!o?e:e.replace(o,"$1-$3").replace(i,"$1-$2").replace(r,"$1-$2").toLocaleLowerCase()}}Wp.caseBoundary=new Zp("(\\p{Ll})(\\p{Lu})","gmu"),Wp.singleLetters=new Zp("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),Wp.underscoreBoundary=new Zp("(\\S)(_)(\\S)","gm"),tt(_5t),tt(F5t),tt(I5t),tt(D5t),tt(M5t),tt(k5t),tt(N5t),tt(T5t),tt(YV),tt(E5t),tt(Z5t),tt(W5t),tt(R5t),tt(V5t),tt(A5t),tt(G5t),tt(X5t),tt(P5t),tt(O5t),tt(B5t),r1.caseBoundary.isSupported()&&r1.singleLetters.isSupported()&&tt(r1),ak.wordBoundary.isSupported()&&tt(ak),gC.wordBoundary.isSupported()&&tt(gC),sk.titleBoundary.isSupported()&&tt(sk),Wp.isSupported()&&tt(Wp);var z5t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},UV=function(n,e){return function(t,i){e(t,i,n)}},KV;const V_e=new wt("LinkedEditingInputVisible",!1),H5t="linked-editing-decoration";let o1=KV=class extends Ie{static get(e){return e.getContribution(KV.ID)}constructor(e,t,i,r,o){super(),this.languageConfigurationService=r,this._syncRangesToken=0,this._localToDispose=this._register(new Je),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=V_e.bindTo(t),this._debounceInformation=o.for(this._providers,"Linked Editing",{max:200}),this._currentDecorations=this._editor.createDecorationsCollection(),this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new Je),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequestCts=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel(()=>this.reinitialize(!0))),this._register(this._editor.onDidChangeConfiguration(s=>{(s.hasChanged(70)||s.hasChanged(93))&&this.reinitialize(!1)})),this._register(this._providers.onDidChange(()=>this.reinitialize(!1))),this._register(this._editor.onDidChangeModelLanguage(()=>this.reinitialize(!0))),this.reinitialize(!0)}reinitialize(e){const t=this._editor.getModel(),i=t!==null&&(this._editor.getOption(70)||this._editor.getOption(93))&&this._providers.has(t);if(i===this._enabled&&!e||(this._enabled=i,this.clearRanges(),this._localToDispose.clear(),!i||t===null))return;this._localToDispose.add(lt.runAndSubscribe(t.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()}));const r=new Fd(this._debounceInformation.get(t)),o=()=>{var l;this._rangeUpdateTriggerPromise=r.trigger(()=>this.updateRanges(),(l=this._debounceDuration)!==null&&l!==void 0?l:this._debounceInformation.get(t))},s=new Fd(0),a=l=>{this._rangeSyncTriggerPromise=s.trigger(()=>this._syncRanges(l))};this._localToDispose.add(this._editor.onDidChangeCursorPosition(()=>{o()})),this._localToDispose.add(this._editor.onDidChangeModelContent(l=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const u=this._currentDecorations.getRange(0);if(u&&l.changes.every(c=>u.intersectRanges(c.range))){a(this._syncRangesToken);return}}o()})),this._localToDispose.add({dispose:()=>{r.dispose(),s.dispose()}}),this.updateRanges()}_syncRanges(e){if(!this._editor.hasModel()||e!==this._syncRangesToken||this._currentDecorations.length===0)return;const t=this._editor.getModel(),i=this._currentDecorations.getRange(0);if(!i||i.startLineNumber!==i.endLineNumber)return this.clearRanges();const r=t.getValueInRange(i);if(this._currentWordPattern){const s=r.match(this._currentWordPattern);if((s?s[0].length:0)!==r.length)return this.clearRanges()}const o=[];for(let s=1,a=this._currentDecorations.length;s1){this.clearRanges();return}const i=this._editor.getModel(),r=i.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===r){if(t.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){const s=this._currentDecorations.getRange(0);if(s&&s.containsPosition(t))return}}this.clearRanges(),this._currentRequestPosition=t,this._currentRequestModelVersion=r;const o=this._currentRequestCts=new fo;try{const s=new Js(!1),a=await A_e(this._providers,i,t,o.token);if(this._debounceInformation.update(i,s.elapsed()),o!==this._currentRequestCts||(this._currentRequestCts=null,r!==i.getVersionId()))return;let l=[];a!=null&&a.ranges&&(l=a.ranges),this._currentWordPattern=(a==null?void 0:a.wordPattern)||this._languageWordPattern;let u=!1;for(let d=0,h=l.length;d({range:d,options:KV.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(c),this._syncRangesToken++}catch(s){Gm(s)||vn(s),(this._currentRequestCts===o||!this._currentRequestCts)&&this.clearRanges()}}};o1.ID="editor.contrib.linkedEditing",o1.DECORATION=yn.register({description:"linked-editing",stickiness:0,className:H5t}),o1=KV=z5t([UV(1,ln),UV(2,Zt),UV(3,tr),UV(4,$c)],o1);class Y5t extends Mt{constructor(){super({id:"editor.action.linkedEditing",label:L("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:Oe.and(ne.writable,ne.hasRenameProvider),kbOpts:{kbExpr:ne.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(vi),[r,o]=Array.isArray(t)&&t||[void 0,void 0];return en.isUri(r)&&ye.isIPosition(o)?i.openCodeEditor({resource:r},i.getActiveCodeEditor()).then(s=>{s&&(s.setPosition(o),s.invokeWithinContext(a=>(this.reportTelemetry(a,s),this.run(a,s))))},vn):super.runCommand(e,t)}run(e,t){const i=o1.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const U5t=Ko.bindToContribution(o1.get);gt(new U5t({id:"cancelLinkedEditingInput",precondition:V_e,handler:n=>n.clearRanges(),kbOpts:{kbExpr:ne.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function A_e(n,e,t,i){const r=n.ordered(e);return BH(r.map(o=>async()=>{try{return await o.provideLinkedEditingRanges(e,t,i)}catch(s){qr(s);return}}),o=>!!o&&ga(o==null?void 0:o.ranges))}re("editor.linkedEditingBackground",{dark:Ze.fromHex("#f00").transparent(.3),light:Ze.fromHex("#f00").transparent(.3),hcDark:Ze.fromHex("#f00").transparent(.3),hcLight:Ze.white},L("editorLinkedEditingBackground","Background color when the editor auto renames on type.")),zm("_executeLinkedEditingProvider",(n,e,t)=>{const{linkedEditingRangeProvider:i}=n.get(Zt);return A_e(i,e,t,Yn.None)}),yi(o1.ID,o1,1),tt(Y5t);let K5t=class{constructor(e,t){this._link=e,this._provider=t}toJSON(){return{range:this.range,url:this.url,tooltip:this.tooltip}}get range(){return this._link.range}get url(){return this._link.url}get tooltip(){return this._link.tooltip}async resolve(e){return this._link.url?this._link.url:typeof this._provider.resolveLink=="function"?Promise.resolve(this._provider.resolveLink(this._link,e)).then(t=>(this._link=t||this._link,this._link.url?this.resolve(e):Promise.reject(new Error("missing")))):Promise.reject(new Error("missing"))}};class JV{constructor(e){this._disposables=new Je;let t=[];for(const[i,r]of e){const o=i.links.map(s=>new K5t(s,r));t=JV._union(t,o),VH(i)&&this._disposables.add(i)}this.links=t}dispose(){this._disposables.dispose(),this.links.length=0}static _union(e,t){const i=[];let r,o,s,a;for(r=0,s=0,o=e.length,a=t.length;rPromise.resolve(o.provideLinks(e,t)).then(a=>{a&&(i[s]=[a,o])},qr));return Promise.all(r).then(()=>{const o=new JV(Ym(i));return t.isCancellationRequested?(o.dispose(),new JV([])):o})}$n.registerCommand("_executeLinkProvider",async(n,...e)=>{let[t,i]=e;hi(t instanceof en),typeof i!="number"&&(i=0);const{linkProvider:r}=n.get(Zt),o=n.get(xr).getModel(t);if(!o)return[];const s=await G_e(r,o,Yn.None);if(!s)return[];for(let l=0;l=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},jV=function(n,e){return function(t,i){e(t,i,n)}},Pj;let Sx=Pj=class extends Ie{static get(e){return e.getContribution(Pj.ID)}constructor(e,t,i,r,o){super(),this.editor=e,this.openerService=t,this.notificationService=i,this.languageFeaturesService=r,this.providers=this.languageFeaturesService.linkProvider,this.debounceInformation=o.for(this.providers,"Links",{min:1e3,max:4e3}),this.computeLinks=this._register(new Ri(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const s=this._register(new c3(e));this._register(s.onMouseMoveOrRelevantKeyDown(([a,l])=>{this._onEditorMouseMove(a,l)})),this._register(s.onExecute(a=>{this.onEditorMouseUp(a)})),this._register(s.onCancel(a=>{this.cleanUpActiveLinkDecoration()})),this._register(e.onDidChangeConfiguration(a=>{a.hasChanged(71)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))})),this._register(e.onDidChangeModelContent(a=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))})),this._register(e.onDidChangeModel(a=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)})),this._register(e.onDidChangeModelLanguage(a=>{this.stop(),this.computeLinks.schedule(0)})),this._register(this.providers.onDidChange(a=>{this.stop(),this.computeLinks.schedule(0)})),this.computeLinks.schedule(0)}async computeLinksNow(){if(!this.editor.hasModel()||!this.editor.getOption(71))return;const e=this.editor.getModel();if(!e.isTooLargeForSyncing()&&this.providers.has(e)){this.activeLinksList&&(this.activeLinksList.dispose(),this.activeLinksList=null),this.computePromise=rs(t=>G_e(this.providers,e,t));try{const t=new Js(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){vn(t)}finally{this.computePromise=null}}}updateDecorations(e){const t=this.editor.getOption(78)==="altKey",i=[],r=Object.keys(this.currentOccurrences);for(const s of r){const a=this.currentOccurrences[s];i.push(a.decorationId)}const o=[];if(e)for(const s of e)o.push(xx.decoration(s,t));this.editor.changeDecorations(s=>{const a=s.deltaDecorations(i,o);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let l=0,u=a.length;l{r.activate(o,i),this.activeLinkDecorationId=r.decorationId})}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const e=this.editor.getOption(78)==="altKey";if(this.activeLinkDecorationId){const t=this.currentOccurrences[this.activeLinkDecorationId];t&&this.editor.changeDecorations(i=>{t.deactivate(i,e)}),this.activeLinkDecorationId=null}}onEditorMouseUp(e){if(!this.isEnabled(e))return;const t=this.getLinkOccurrence(e.target.position);t&&this.openLinkOccurrence(t,e.hasSideBySideModifier,!0)}openLinkOccurrence(e,t,i=!1){if(!this.openerService)return;const{link:r}=e;r.resolve(Yn.None).then(o=>{if(typeof o=="string"&&this.editor.hasModel()){const s=this.editor.getModel().uri;if(s.scheme===wn.file&&o.startsWith(`${wn.file}:`)){const a=en.parse(o);if(a.scheme===wn.file){const l=df(a);let u=null;l.startsWith("/./")||l.startsWith("\\.\\")?u=`.${l.substr(1)}`:(l.startsWith("//./")||l.startsWith("\\\\.\\"))&&(u=`.${l.substr(2)}`),u&&(o=XCt(s,u))}}}return this.openerService.open(o,{openToSide:t,fromUserGesture:i,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})},o=>{const s=o instanceof Error?o.message:o;s==="invalid"?this.notificationService.warn(L("invalid.url","Failed to open this link because it is not well-formed: {0}",r.url.toString())):s==="missing"?this.notificationService.warn(L("missing.url","Failed to open this link because its target is missing.")):vn(o)})}getLinkOccurrence(e){if(!this.editor.hasModel()||!e)return null;const t=this.editor.getModel().getDecorationsInRange({startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:e.lineNumber,endColumn:e.column},0,!0);for(const i of t){const r=this.currentOccurrences[i.id];if(r)return r}return null}isEnabled(e,t){return!!(e.target.type===6&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey))}stop(){var e;this.computeLinks.cancel(),this.activeLinksList&&((e=this.activeLinksList)===null||e===void 0||e.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}};Sx.ID="editor.linkDetector",Sx=Pj=J5t([jV(1,Bl),jV(2,ko),jV(3,Zt),jV(4,$c)],Sx);const X_e={general:yn.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:yn.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class xx{static decoration(e,t){return{range:e.range,options:xx._getOptions(e,t,!1)}}static _getOptions(e,t,i){const r={...i?X_e.active:X_e.general};return r.hoverMessage=j5t(e,t),r}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,xx._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,xx._getOptions(this.link,t,!1))}}function j5t(n,e){const t=n.url&&/^command:/i.test(n.url.toString()),i=n.tooltip?n.tooltip:t?L("links.navigate.executeCmd","Execute command"):L("links.navigate.follow","Follow link"),r=e?On?L("links.navigate.kb.meta.mac","cmd + click"):L("links.navigate.kb.meta","ctrl + click"):On?L("links.navigate.kb.alt.mac","option + click"):L("links.navigate.kb.alt","alt + click");if(n.url){let o="";if(/^command:/i.test(n.url.toString())){const a=n.url.toString().match(/^command:([^?#]+)/);if(a){const l=a[1];o=L("tooltip.explanation","Execute command {0}",l)}}return new va("",!0).appendLink(n.url.toString(!0).replace(/ /g,"%20"),i,o).appendMarkdown(` (${r})`)}else return new va().appendText(`${i} (${r})`)}class Q5t extends Mt{constructor(){super({id:"editor.action.openLink",label:L("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=Sx.get(t);if(!i||!t.hasModel())return;const r=t.getSelections();for(const o of r){const s=i.getLinkOccurrence(o.getEndPosition());s&&i.openLinkOccurrence(s,!1)}}}yi(Sx.ID,Sx,1),tt(Q5t);class Oj extends Ie{constructor(e){super(),this._editor=e,this._register(this._editor.onMouseDown(t=>{const i=this._editor.getOption(117);i>=0&&t.target.type===6&&t.target.position.column>=i&&this._editor.updateOptions({stopRenderingLineAfter:-1})}))}}Oj.ID="editor.contrib.longLinesHelper",yi(Oj.ID,Oj,2);const QV=re("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},L("wordHighlight","Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations."),!0);re("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},L("wordHighlightStrong","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations."),!0),re("editor.wordHighlightTextBackground",{light:QV,dark:QV,hcDark:QV,hcLight:QV},L("wordHighlightText","Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0);const $V=re("editor.wordHighlightBorder",{light:null,dark:null,hcDark:fr,hcLight:fr},L("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));re("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:fr,hcLight:fr},L("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable.")),re("editor.wordHighlightTextBorder",{light:$V,dark:$V,hcDark:$V,hcLight:$V},L("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const $5t=re("editorOverviewRuler.wordHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hcDark:"#A0A0A0CC",hcLight:"#A0A0A0CC"},L("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),q5t=re("editorOverviewRuler.wordHighlightStrongForeground",{dark:"#C0A0C0CC",light:"#C0A0C0CC",hcDark:"#C0A0C0CC",hcLight:"#C0A0C0CC"},L("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),eZt=re("editorOverviewRuler.wordHighlightTextForeground",{dark:II,light:II,hcDark:II,hcLight:II},L("overviewRulerWordHighlightTextForeground","Overview ruler marker color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0),tZt=yn.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:zr(q5t),position:Oc.Center},minimap:{color:zr(rW),position:1}}),nZt=yn.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:zr(eZt),position:Oc.Center},minimap:{color:zr(rW),position:1}}),iZt=yn.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:zr(II),position:Oc.Center},minimap:{color:zr(rW),position:1}}),rZt=yn.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),oZt=yn.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:zr($5t),position:Oc.Center},minimap:{color:zr(rW),position:1}});function sZt(n){return n===zI.Write?tZt:n===zI.Text?nZt:oZt}function aZt(n){return n?rZt:iZt}Pc((n,e)=>{const t=n.getColor(g6);t&&e.addRule(`.monaco-editor .selectionHighlight { background-color: ${t.transparent(.5)}; }`)});var lZt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},uZt=function(n,e){return function(t,i){e(t,i,n)}},Bj;function s1(n,e){const t=e.filter(i=>!n.find(r=>r.equals(i)));if(t.length>=1){const i=t.map(o=>`line ${o.viewState.position.lineNumber} column ${o.viewState.position.column}`).join(", "),r=t.length===1?L("cursorAdded","Cursor added: {0}",i):L("cursorsAdded","Cursors added: {0}",i);Ng(r)}}class cZt extends Mt{constructor(){super({id:"editor.action.insertCursorAbove",label:L("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:ne.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:Q.MenubarSelectionMenu,group:"3_multi",title:L({key:"miInsertCursorAbove",comment:["&& denotes a mnemonic"]},"&&Add Cursor Above"),order:2}})}run(e,t,i){if(!t.hasModel())return;let r=!0;i&&i.logicalLine===!1&&(r=!1);const o=t._getViewModel();if(o.cursorConfig.readOnly)return;o.model.pushStackElement();const s=o.getCursorStates();o.setCursorStates(i.source,3,Ns.addCursorUp(o,s,r)),o.revealTopMostCursor(i.source),s1(s,o.getCursorStates())}}class dZt extends Mt{constructor(){super({id:"editor.action.insertCursorBelow",label:L("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:ne.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:Q.MenubarSelectionMenu,group:"3_multi",title:L({key:"miInsertCursorBelow",comment:["&& denotes a mnemonic"]},"A&&dd Cursor Below"),order:3}})}run(e,t,i){if(!t.hasModel())return;let r=!0;i&&i.logicalLine===!1&&(r=!1);const o=t._getViewModel();if(o.cursorConfig.readOnly)return;o.model.pushStackElement();const s=o.getCursorStates();o.setCursorStates(i.source,3,Ns.addCursorDown(o,s,r)),o.revealBottomMostCursor(i.source),s1(s,o.getCursorStates())}}class hZt extends Mt{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:L("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:ne.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:Q.MenubarSelectionMenu,group:"3_multi",title:L({key:"miInsertCursorAtEndOfEachLineSelected",comment:["&& denotes a mnemonic"]},"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(e,t,i){if(!e.isEmpty()){for(let r=e.startLineNumber;r1&&i.push(new Wt(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}}run(e,t){if(!t.hasModel())return;const i=t.getModel(),r=t.getSelections(),o=t._getViewModel(),s=o.getCursorStates(),a=[];r.forEach(l=>this.getCursorsForSelection(l,i,a)),a.length>0&&t.setSelections(a),s1(s,o.getCursorStates())}}class mZt extends Mt{constructor(){super({id:"editor.action.addCursorsToBottom",label:L("mutlicursor.addCursorsToBottom","Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),r=t.getModel().getLineCount(),o=[];for(let l=i[0].startLineNumber;l<=r;l++)o.push(new Wt(l,i[0].startColumn,l,i[0].endColumn));const s=t._getViewModel(),a=s.getCursorStates();o.length>0&&t.setSelections(o),s1(a,s.getCursorStates())}}class fZt extends Mt{constructor(){super({id:"editor.action.addCursorsToTop",label:L("mutlicursor.addCursorsToTop","Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),r=[];for(let a=i[0].startLineNumber;a>=1;a--)r.push(new Wt(a,i[0].startColumn,a,i[0].endColumn));const o=t._getViewModel(),s=o.getCursorStates();r.length>0&&t.setSelections(r),s1(s,o.getCursorStates())}}class qV{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}}class lk{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new lk(e,t,!1,i.searchString,i.wholeWord,i.matchCase,null);let r=!1,o,s;const a=e.getSelections();a.length===1&&a[0].isEmpty()?(r=!0,o=!0,s=!0):(o=i.wholeWord,s=i.matchCase);const l=e.getSelection();let u,c=null;if(l.isEmpty()){const d=e.getConfiguredWordAtPosition(l.getStartPosition());if(!d)return null;u=d.word,c=new Wt(l.startLineNumber,d.startColumn,l.startLineNumber,d.endColumn)}else u=e.getModel().getValueInRange(l).replace(/\r\n/g,` -`);return new lk(e,t,r,u,o,s,c)}constructor(e,t,i,r,o,s,a){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=i,this.searchText=r,this.wholeWord=o,this.matchCase=s,this.currentMatch=a}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new qV(t.concat(e),e,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new qV(t.slice(0,t.length-1).concat(e),e,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const r=this.currentMatch;return this.currentMatch=null,r}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findNextMatch(this.searchText,t.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(131):null,!1);return i?new Wt(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new qV(t.concat(e),e,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new qV(t.slice(0,t.length-1).concat(e),e,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const r=this.currentMatch;return this.currentMatch=null,r}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findPreviousMatch(this.searchText,t.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(131):null,!1);return i?new Wt(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}selectAll(e){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();const t=this._editor.getModel();return e?t.findMatches(this.searchText,e,!1,this.matchCase,this.wholeWord?this._editor.getOption(131):null,!1,1073741824):t.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(131):null,!1,1073741824)}}class pC extends Ie{static get(e){return e.getContribution(pC.ID)}constructor(e){super(),this._sessionDispose=this._register(new Je),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=lk.create(this._editor,e);if(!t)return;this._session=t;const i={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(i.wholeWordOverride=1,i.matchCaseOverride=1,i.isRegexOverride=2),e.getState().change(i,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection(r=>{this._ignoreSelectionChange||this._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(()=>{this._endSession()})),this._sessionDispose.add(e.getState().onFindReplaceStateChange(r=>{(r.matchCase||r.wholeWord)&&this._endSession()}))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){const e={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(e,!1)}this._session=null}_setSelections(e){this._ignoreSelectionChange=!0,this._editor.setSelections(e),this._ignoreSelectionChange=!1}_expandEmptyToWord(e,t){if(!t.isEmpty())return t;const i=this._editor.getConfiguredWordAtPosition(t.getStartPosition());return i?new Wt(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):t}_applySessionResult(e){e&&(this._setSelections(e.selections),e.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(e.revealRange,e.revealScrollType))}getSession(e){return this._session}addSelectionToNextFindMatch(e){if(this._editor.hasModel()){if(!this._session){const t=this._editor.getSelections();if(t.length>1){const r=e.getState().matchCase;if(!P_e(this._editor.getModel(),t,r)){const s=this._editor.getModel(),a=[];for(let l=0,u=t.length;l0&&i.isRegex){const r=this._editor.getModel();i.searchScope?t=r.findMatches(i.searchString,i.searchScope,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(131):null,!1,1073741824):t=r.findMatches(i.searchString,!0,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(131):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll(i.searchScope)}if(t.length>0){const r=this._editor.getSelection();for(let o=0,s=t.length;onew Wt(o.range.startLineNumber,o.range.startColumn,o.range.endLineNumber,o.range.endColumn)))}}}pC.ID="editor.contrib.multiCursorController";class Lx extends Mt{run(e,t){const i=pC.get(t);if(!i)return;const r=t._getViewModel();if(r){const o=r.getCursorStates(),s=hl.get(t);if(s)this._run(i,s);else{const a=e.get($t).createInstance(hl,t);this._run(i,a),a.dispose()}s1(o,r.getCursorStates())}}}class gZt extends Lx{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:L("addSelectionToNextFindMatch","Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:ne.focus,primary:2082,weight:100},menuOpts:{menuId:Q.MenubarSelectionMenu,group:"3_multi",title:L({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class pZt extends Lx{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:L("addSelectionToPreviousFindMatch","Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:Q.MenubarSelectionMenu,group:"3_multi",title:L({key:"miAddSelectionToPreviousFindMatch",comment:["&& denotes a mnemonic"]},"Add P&&revious Occurrence"),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}}class bZt extends Lx{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:L("moveSelectionToNextFindMatch","Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:ne.focus,primary:Wo(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class vZt extends Lx{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:L("moveSelectionToPreviousFindMatch","Move Last Selection To Previous Find Match"),alias:"Move Last Selection To Previous Find Match",precondition:void 0})}_run(e,t){e.moveSelectionToPreviousFindMatch(t)}}class yZt extends Lx{constructor(){super({id:"editor.action.selectHighlights",label:L("selectAllOccurrencesOfFindMatch","Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:ne.focus,primary:3114,weight:100},menuOpts:{menuId:Q.MenubarSelectionMenu,group:"3_multi",title:L({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class CZt extends Lx{constructor(){super({id:"editor.action.changeAll",label:L("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:Oe.and(ne.writable,ne.editorTextFocus),kbOpts:{kbExpr:ne.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}}class wZt{constructor(e,t,i,r,o){this._model=e,this._searchText=t,this._matchCase=i,this._wordSeparators=r,this._modelVersionId=this._model.getVersionId(),this._cachedFindMatches=null,o&&this._model===o._model&&this._searchText===o._searchText&&this._matchCase===o._matchCase&&this._wordSeparators===o._wordSeparators&&this._modelVersionId===o._modelVersionId&&(this._cachedFindMatches=o._cachedFindMatches)}findMatches(){return this._cachedFindMatches===null&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map(e=>e.range),this._cachedFindMatches.sort(J.compareRangesUsingStarts)),this._cachedFindMatches}}let uk=Bj=class extends Ie{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(108),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new Ri(()=>this._update(),300)),this.state=null,this._register(e.onDidChangeConfiguration(r=>{this._isEnabled=e.getOption(108)})),this._register(e.onDidChangeCursorSelection(r=>{this._isEnabled&&(r.selection.isEmpty()?r.reason===3?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())})),this._register(e.onDidChangeModel(r=>{this._setState(null)})),this._register(e.onDidChangeModelContent(r=>{this._isEnabled&&this.updateSoon.schedule()}));const i=hl.get(e);i&&this._register(i.getState().onFindReplaceStateChange(r=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(Bj._createState(this.state,this._isEnabled,this.editor))}static _createState(e,t,i){if(!t||!i.hasModel())return null;const r=i.getSelection();if(r.startLineNumber!==r.endLineNumber)return null;const o=pC.get(i);if(!o)return null;const s=hl.get(i);if(!s)return null;let a=o.getSession(s);if(!a){const c=i.getSelections();if(c.length>1){const h=s.getState().matchCase;if(!P_e(i.getModel(),c,h))return null}a=lk.create(i,s)}if(!a||a.currentMatch||/^[ \t]+$/.test(a.searchText)||a.searchText.length>200)return null;const l=s.getState(),u=l.matchCase;if(l.isRevealed){let c=l.searchString;u||(c=c.toLowerCase());let d=a.searchText;if(u||(d=d.toLowerCase()),c===d&&a.matchCase===l.matchCase&&a.wholeWord===l.wholeWord&&!l.isRegex)return null}return new wZt(i.getModel(),a.searchText,a.matchCase,a.wholeWord?i.getOption(131):null,e)}_setState(e){if(this.state=e,!this.state){this._decorations.clear();return}if(!this.editor.hasModel())return;const t=this.editor.getModel();if(t.isTooLargeForTokenization())return;const i=this.state.findMatches(),r=this.editor.getSelections();r.sort(J.compareRangesUsingStarts);const o=[];for(let u=0,c=0,d=i.length,h=r.length;u=h)o.push(m),u++;else{const f=J.compareRangesUsingStarts(m,r[c]);f<0?((r[c].isEmpty()||!J.areIntersecting(m,r[c]))&&o.push(m),u++):(f>0||u++,c++)}}const s=this.editor.getOption(81)!=="off",a=this._languageFeaturesService.documentHighlightProvider.has(t)&&s,l=o.map(u=>({range:u,options:aZt(a)}));this._decorations.set(l)}dispose(){this._setState(null),super.dispose()}};uk.ID="editor.contrib.selectionHighlighter",uk=Bj=lZt([uZt(1,Zt)],uk);function P_e(n,e,t){const i=O_e(n,e[0],!t);for(let r=1,o=e.length;r=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},MZt=function(n,e){return function(t,i){e(t,i,n)}};const zj="inline-edit";let Hj=class extends Ie{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=ei(this,!1),this.currentTextModel=Hi(this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=hn(this,r=>{var o;if(this.isDisposed.read(r))return;const s=this.currentTextModel.read(r);if(s!==this.model.targetTextModel.read(r))return;const a=this.model.ghostText.read(r);if(!a)return;let l=(o=this.model.range)===null||o===void 0?void 0:o.read(r);l&&l.startLineNumber===l.endLineNumber&&l.startColumn===l.endColumn&&(l=void 0);const u=(l?l.startLineNumber===l.endLineNumber:!0)&&a.parts.length===1&&a.parts[0].lines.length===1,c=a.parts.length===1&&a.parts[0].lines.every(S=>S.length===0),d=[],h=[];function m(S,x){if(h.length>0){const _=h[h.length-1];x&&_.decorations.push(new il(_.content.length+1,_.content.length+1+S[0].length,x,0)),_.content+=S[0],S=S.slice(1)}for(const _ of S)h.push({content:_,decorations:x?[new il(1,_.length+1,x,0)]:[]})}const f=s.getLineContent(a.lineNumber);let g,b=0;if(!c){for(const S of a.parts){let x=S.lines;l&&!u&&(m(x,zj),x=[]),g===void 0?(d.push({column:S.column,text:x[0],preview:S.preview}),x=x.slice(1)):m([f.substring(b,S.column-1)],void 0),x.length>0&&(m(x,zj),g===void 0&&S.column<=f.length&&(g=S.column)),b=S.column-1}g!==void 0&&m([f.substring(b)],void 0)}const v=g!==void 0?new QLe(g,f.length+1):void 0,C=u||!l?a.lineNumber:l.endLineNumber-1;return{inlineTexts:d,additionalLines:h,hiddenRange:v,lineNumber:C,additionalReservedLineCount:this.model.minReservedLineCount.read(r),targetTextModel:s,range:l,isSingleLine:u,isPureRemove:c,backgroundColoring:this.model.backgroundColoring.read(r)}}),this.decorations=hn(this,r=>{const o=this.uiState.read(r);if(!o)return[];const s=[];if(o.hiddenRange&&s.push({range:o.hiddenRange.toRange(o.lineNumber),options:{inlineClassName:"inline-edit-hidden",description:"inline-edit-hidden"}}),o.range){const a=[];if(o.isSingleLine)a.push(o.range);else if(o.isPureRemove){const u=o.range.endLineNumber-o.range.startLineNumber;for(let c=0;c{const o=this.uiState.read(r);return o&&!o.isPureRemove?{lineNumber:o.lineNumber,additionalLines:o.additionalLines,minReservedLineCount:o.additionalReservedLineCount,targetTextModel:o.targetTextModel}:void 0}))),this._register(jt(()=>{this.isDisposed.set(!0,void 0)})),this._register($Le(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};Hj=DZt([MZt(2,vr)],Hj);var Yj=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Rp=function(n,e){return function(t,i){e(t,i,n)}},eA;let Uj=class extends Ie{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=Hi(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).showToolbar==="always"),this.sessionPosition=void 0,this.position=hn(this,r=>{var o,s,a;const l=(o=this.model.read(r))===null||o===void 0?void 0:o.widget.model.ghostText.read(r);if(!this.alwaysShowToolbar.read(r)||!l||l.parts.length===0)return this.sessionPosition=void 0,null;const u=l.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==l.lineNumber&&(this.sessionPosition=void 0);const c=new ye(l.lineNumber,Math.min(u,(a=(s=this.sessionPosition)===null||s===void 0?void 0:s.column)!==null&&a!==void 0?a:Number.MAX_SAFE_INTEGER));return this.sessionPosition=c,c}),this._register(Yc((r,o)=>{if(!this.model.read(r)||!this.alwaysShowToolbar.read(r))return;const a=o.add(this.instantiationService.createInstance(_x,this.editor,!0,this.position));e.addContentWidget(a),o.add(jt(()=>e.removeContentWidget(a)))}))}};Uj=Yj([Rp(2,$t)],Uj);let _x=eA=class extends Ie{constructor(e,t,i,r,o,s){super(),this.editor=e,this.withBorder=t,this._position=i,this._contextKeyService=o,this._menuService=s,this.id=`InlineEditHintsContentWidget${eA.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=Li("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[Li("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(Q.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(r.createInstance(Kj,this.nodes.toolBar,this.editor,Q.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:a=>a.startsWith("primary")},actionViewItemProvider:(a,l)=>{if(a instanceof Xu)return r.createInstance(kZt,a,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility(a=>{eA._dropDownVisible=a})),this._register(Zn(a=>{this._position.read(a),this.editor.layoutContentWidget(this)})),this._register(Zn(a=>{const l=[];for(const[u,c]of this.inlineCompletionsActionsMenus.getActions())for(const d of c)d instanceof Xu&&l.push(d);l.length>0&&l.unshift(new Vo),this.toolBar.setAdditionalSecondaryActions(l)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};_x._dropDownVisible=!1,_x.id=0,_x=eA=Yj([Rp(3,$t),Rp(4,ln),Rp(5,Gu)],_x);class kZt extends k0{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=Li("div.keybinding").root;this._register(new Y2(t,ru,{disableTitle:!0,...jSe})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let Kj=class extends JD{constructor(e,t,i,r,o,s,a,l,u){super(e,{resetMenu:i,...r},o,s,a,l,u),this.editor=t,this.menuId=i,this.options2=r,this.menuService=o,this.contextKeyService=s,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this._store.add(this.editor.onDidChangeCursorPosition(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){var e,t,i,r,o,s,a;const l=[],u=[];VR(this.menu,(e=this.options2)===null||e===void 0?void 0:e.menuOptions,{primary:l,secondary:u},(i=(t=this.options2)===null||t===void 0?void 0:t.toolbarOptions)===null||i===void 0?void 0:i.primaryGroup,(o=(r=this.options2)===null||r===void 0?void 0:r.toolbarOptions)===null||o===void 0?void 0:o.shouldInlineSubmenu,(a=(s=this.options2)===null||s===void 0?void 0:s.toolbarOptions)===null||a===void 0?void 0:a.useSeparatorsInPrimaryActions),u.push(...this.additionalActions),l.unshift(...this.prependedPrimaryActions),this.setActions(l,u)}setAdditionalSecondaryActions(e){kr(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};Kj=Yj([Rp(4,Gu),Rp(5,ln),Rp(6,fu),Rp(7,Bi),Rp(8,Zl)],Kj);var NZt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},ck=function(n,e){return function(t,i){e(t,i,n)}},bC;class TZt{constructor(e,t){this.widget=e,this.edit=t}dispose(){this.widget.dispose()}}let Qo=bC=class extends Ie{static get(e){return e.getContribution(bC.ID)}constructor(e,t,i,r,o,s){super(),this.editor=e,this.instantiationService=t,this.contextKeyService=i,this.languageFeaturesService=r,this._commandService=o,this._configurationService=s,this._isVisibleContext=bC.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=bC.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=this._register(TD(this,void 0)),this._isAccepting=ei(this,!1),this._enabled=Hi(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=Hi(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily),this._backgroundColoring=Hi(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).backgroundColoring);const a=ba("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(Zn(h=>{this._enabled.read(h)&&(a.read(h),!this._isAccepting.read(h)&&this.getInlineEdit(e,!0))}));const l=Hi(e.onDidChangeCursorPosition,()=>e.getPosition());this._register(Zn(h=>{if(!this._enabled.read(h))return;const m=l.read(h);m&&this.checkCursorPosition(m)})),this._register(Zn(h=>{const m=this._currentEdit.read(h);if(this._isCursorAtInlineEditContext.set(!1),!m){this._isVisibleContext.set(!1);return}this._isVisibleContext.set(!0);const f=e.getPosition();f&&this.checkCursorPosition(f)}));const u=ba("InlineEditController.editorBlurSignal",e.onDidBlurEditorWidget);this._register(Zn(async h=>{var m;this._enabled.read(h)&&(u.read(h),!(this._configurationService.getValue("editor.experimentalInlineEdit.keepOnBlur")||e.getOption(63).keepOnBlur)&&((m=this._currentRequestCts)===null||m===void 0||m.dispose(!0),this._currentRequestCts=void 0,await this.clear(!1)))}));const c=ba("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register(Zn(h=>{this._enabled.read(h)&&(c.read(h),this.getInlineEdit(e,!0))}));const d=this._register(E0e());this._register(Zn(h=>{const m=this._fontFamily.read(h);d.setStyle(m===""||m==="default"?"":` +`+d),this.shouldAutoIndent(e,r)){u.getLineContent=m=>m===c?e.getLineContent(r.startLineNumber):e.getLineContent(m);const h=this.matchEnterRule(e,l,o,r.startLineNumber,r.startLineNumber-2);if(h!==null)h!==0&&this.getIndentEditsOfMovingBlock(e,t,r,o,a,h);else{const m=fF(this._autoIndent,u,e.getLanguageIdAtPosition(r.startLineNumber,1),c,l,this._languageConfigurationService);if(m!==null){const f=Ui(e.getLineContent(r.startLineNumber)),g=bu(m,o),b=bu(f,o);if(g!==b){const y=g-b;this.getIndentEditsOfMovingBlock(e,t,r,o,a,y)}}}}}this._selectionId=t.trackSelection(r)}buildIndentConverter(e,t,i){return{shiftIndent:r=>Ec.shiftIndent(r,r.length+1,e,t,i),unshiftIndent:r=>Ec.unshiftIndent(r,r.length+1,e,t,i)}}parseEnterResult(e,t,i,r,o){if(o){let s=o.indentation;o.indentAction===No.None||o.indentAction===No.Indent?s=o.indentation+o.appendText:o.indentAction===No.IndentOutdent?s=o.indentation:o.indentAction===No.Outdent&&(s=t.unshiftIndent(o.indentation)+o.appendText);const a=e.getLineContent(r);if(this.trimStart(a).indexOf(this.trimStart(s))>=0){const l=Ui(e.getLineContent(r));let u=Ui(s);const c=G1e(e,r,this._languageConfigurationService);c!==null&&c&2&&(u=t.unshiftIndent(u));const d=bu(u,i),h=bu(l,i);return d-h}}return null}matchEnterRuleMovingDown(e,t,i,r,o,s){if(Ih(s)>=0){const a=e.getLineMaxColumn(o),l=Aw(this._autoIndent,e,new J(o,a,o,a),this._languageConfigurationService);return this.parseEnterResult(e,t,i,r,l)}else{let a=r-1;for(;a>=1;){const c=e.getLineContent(a);if(Ih(c)>=0)break;a--}if(a<1||r>e.getLineCount())return null;const l=e.getLineMaxColumn(a),u=Aw(this._autoIndent,e,new J(a,l,a,l),this._languageConfigurationService);return this.parseEnterResult(e,t,i,r,u)}}matchEnterRule(e,t,i,r,o,s){let a=o;for(;a>=1;){let c;if(a===o&&s!==void 0?c=s:c=e.getLineContent(a),Ih(c)>=0)break;a--}if(a<1||r>e.getLineCount())return null;const l=e.getLineMaxColumn(a),u=Aw(this._autoIndent,e,new J(a,l,a,l),this._languageConfigurationService);return this.parseEnterResult(e,t,i,r,u)}trimStart(e){return e.replace(/^\s+/,"")}shouldAutoIndent(e,t){if(this._autoIndent<4||!e.tokenization.isCheapToTokenize(t.startLineNumber))return!1;const i=e.getLanguageIdAtPosition(t.startLineNumber,1),r=e.getLanguageIdAtPosition(t.endLineNumber,1);return!(i!==r||this._languageConfigurationService.getLanguageConfiguration(i).indentRulesSupport===null)}getIndentEditsOfMovingBlock(e,t,i,r,o,s){for(let a=i.startLineNumber;a<=i.endLineNumber;a++){const l=e.getLineContent(a),u=Ui(l),d=bu(u,r)+s,h=iM(d,r,o);h!==u&&(t.addEditOperation(new J(a,1,a,u.length+1),h),a===i.endLineNumber&&i.endColumn<=u.length+1&&h===""&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&i.startLineNumber=r)return null;const o=[];for(let a=i;a<=r;a++)o.push(n.getLineContent(a));let s=o.slice(0);return s.sort(i1.getCollator().compare),t===!0&&(s=s.reverse()),{startLineNumber:i,endLineNumber:r,before:o,after:s}}function _5t(n,e,t){const i=TLe(n,e,t);return i?vr.replace(new J(i.startLineNumber,1,i.endLineNumber,n.getLineMaxColumn(i.endLineNumber)),i.after.join(` +`)):null}class ELe extends Nt{constructor(e,t){super(t),this.down=e}run(e,t){if(!t.hasModel())return;const i=t.getSelections().map((s,a)=>({selection:s,index:a,ignore:!1}));i.sort((s,a)=>J.compareRangesUsingStarts(s.selection,a.selection));let r=i[0];for(let s=1;snew ve(c.positionLineNumber,c.positionColumn)));const o=t.getSelection();if(o===null)return;const s=e.get(Pn),a=t.getModel(),l=s.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:a==null?void 0:a.getLanguageId(),resource:a==null?void 0:a.uri}),u=new C5t(o,r,l);t.pushUndoStop(),t.executeCommands(this.id,[u]),t.pushUndoStop()}}YA.ID="editor.action.trimTrailingWhitespace";class E5t extends Nt{constructor(){super({id:"editor.action.deleteLines",label:_("lines.delete","Delete Line"),alias:"Delete Line",precondition:ne.writable,kbOpts:{kbExpr:ne.textInputFocus,primary:3113,weight:100}})}run(e,t){if(!t.hasModel())return;const i=this._getLinesToRemove(t),r=t.getModel();if(r.getLineCount()===1&&r.getLineMaxColumn(1)===1)return;let o=0;const s=[],a=[];for(let l=0,u=i.length;l1&&(d-=1,m=r.getLineMaxColumn(d)),s.push(vr.replace(new Zt(d,m,h,f),"")),a.push(new Zt(d-o,c.positionColumn,d-o,c.positionColumn)),o+=c.endLineNumber-c.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,s,a),t.pushUndoStop()}_getLinesToRemove(e){const t=e.getSelections().map(o=>{let s=o.endLineNumber;return o.startLineNumbero.startLineNumber===s.startLineNumber?o.endLineNumber-s.endLineNumber:o.startLineNumber-s.startLineNumber);const i=[];let r=t[0];for(let o=1;o=t[o].startLineNumber?r.endLineNumber=t[o].endLineNumber:(i.push(r),r=t[o]);return i.push(r),i}}class R5t extends Nt{constructor(){super({id:"editor.action.indentLines",label:_("lines.indent","Indent Line"),alias:"Indent Line",precondition:ne.writable,kbOpts:{kbExpr:ne.editorTextFocus,primary:2142,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,Mr.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class Z5t extends Nt{constructor(){super({id:"editor.action.outdentLines",label:_("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:ne.writable,kbOpts:{kbExpr:ne.editorTextFocus,primary:2140,weight:100}})}run(e,t){Xw.Outdent.runEditorCommand(e,t,null)}}class W5t extends Nt{constructor(){super({id:"editor.action.insertLineBefore",label:_("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:ne.writable,kbOpts:{kbExpr:ne.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,Mr.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class A5t extends Nt{constructor(){super({id:"editor.action.insertLineAfter",label:_("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:ne.writable,kbOpts:{kbExpr:ne.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,Mr.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class WLe extends Nt{run(e,t){if(!t.hasModel())return;const i=t.getSelection(),r=this._getRangesToDelete(t),o=[];for(let l=0,u=r.length-1;lvr.replace(l,""));t.pushUndoStop(),t.executeEdits(this.id,a,s),t.pushUndoStop()}}class V5t extends WLe{constructor(){super({id:"deleteAllLeft",label:_("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:ne.writable,kbOpts:{kbExpr:ne.textInputFocus,primary:0,mac:{primary:2049},weight:100}})}_getEndCursorState(e,t){let i=null;const r=[];let o=0;return t.forEach(s=>{let a;if(s.endColumn===1&&o>0){const l=s.startLineNumber-o;a=new Zt(l,s.startColumn,l,s.startColumn)}else a=new Zt(s.startLineNumber,s.startColumn,s.startLineNumber,s.startColumn);o+=s.endLineNumber-s.startLineNumber,s.intersectRanges(e)?i=a:r.push(a)}),i&&r.unshift(i),r}_getRangesToDelete(e){const t=e.getSelections();if(t===null)return[];let i=t;const r=e.getModel();return r===null?[]:(i.sort(J.compareRangesUsingStarts),i=i.map(o=>{if(o.isEmpty())if(o.startColumn===1){const s=Math.max(1,o.startLineNumber-1),a=o.startLineNumber===1?1:r.getLineLength(s)+1;return new J(s,a,o.startLineNumber,1)}else return new J(o.startLineNumber,1,o.startLineNumber,o.startColumn);else return new J(o.startLineNumber,1,o.endLineNumber,o.endColumn)}),i)}}class G5t extends WLe{constructor(){super({id:"deleteAllRight",label:_("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:ne.writable,kbOpts:{kbExpr:ne.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})}_getEndCursorState(e,t){let i=null;const r=[];for(let o=0,s=t.length,a=0;o{if(o.isEmpty()){const s=t.getLineMaxColumn(o.startLineNumber);return o.startColumn===s?new J(o.startLineNumber,o.startColumn,o.startLineNumber+1,1):new J(o.startLineNumber,o.startColumn,o.startLineNumber,s)}return o});return r.sort(J.compareRangesUsingStarts),r}}class X5t extends Nt{constructor(){super({id:"editor.action.joinLines",label:_("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:ne.writable,kbOpts:{kbExpr:ne.editorTextFocus,primary:0,mac:{primary:296},weight:100}})}run(e,t){const i=t.getSelections();if(i===null)return;let r=t.getSelection();if(r===null)return;i.sort(J.compareRangesUsingStarts);const o=[],s=i.reduce((h,m)=>h.isEmpty()?h.endLineNumber===m.startLineNumber?(r.equalsSelection(h)&&(r=m),m):m.startLineNumber>h.endLineNumber+1?(o.push(h),m):new Zt(h.startLineNumber,h.startColumn,m.endLineNumber,m.endColumn):m.startLineNumber>h.endLineNumber?(o.push(h),m):new Zt(h.startLineNumber,h.startColumn,m.endLineNumber,m.endColumn));o.push(s);const a=t.getModel();if(a===null)return;const l=[],u=[];let c=r,d=0;for(let h=0,m=o.length;h=1){let R=!0;L===""&&(R=!1),R&&(L.charAt(L.length-1)===" "||L.charAt(L.length-1)===" ")&&(R=!1,L=L.replace(/[\s\uFEFF\xA0]+$/g," "));const E=N.substr(T-1);L+=(R?" ":"")+E,R?y=E.length+1:y=E.length}else y=0}const I=new J(g,b,C,w);if(!I.isEmpty()){let D;f.isEmpty()?(l.push(vr.replace(I,L)),D=new Zt(I.startLineNumber-d,L.length-y+1,g-d,L.length-y+1)):f.startLineNumber===f.endLineNumber?(l.push(vr.replace(I,L)),D=new Zt(f.startLineNumber-d,f.startColumn,f.endLineNumber-d,f.endColumn)):(l.push(vr.replace(I,L)),D=new Zt(f.startLineNumber-d,f.startColumn,f.startLineNumber-d,L.length-x)),J.intersectRanges(I,r)!==null?c=D:u.push(D)}d+=I.endLineNumber-I.startLineNumber}u.unshift(c),t.pushUndoStop(),t.executeEdits(this.id,l,u),t.pushUndoStop()}}class P5t extends Nt{constructor(){super({id:"editor.action.transpose",label:_("editor.transpose","Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:ne.writable})}run(e,t){const i=t.getSelections();if(i===null)return;const r=t.getModel();if(r===null)return;const o=[];for(let s=0,a=i.length;s=c){if(u.lineNumber===r.getLineCount())continue;const d=new J(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),h=r.getValueInRange(d).split("").reverse().join("");o.push(new qs(new Zt(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),h))}else{const d=new J(u.lineNumber,Math.max(1,u.column-1),u.lineNumber,u.column+1),h=r.getValueInRange(d).split("").reverse().join("");o.push(new WY(d,h,new Zt(u.lineNumber,u.column+1,u.lineNumber,u.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()}}class fC extends Nt{run(e,t){const i=t.getSelections();if(i===null)return;const r=t.getModel();if(r===null)return;const o=t.getOption(131),s=[];for(const a of i)if(a.isEmpty()){const l=a.getStartPosition(),u=t.getConfiguredWordAtPosition(l);if(!u)continue;const c=new J(l.lineNumber,u.startColumn,l.lineNumber,u.endColumn),d=r.getValueInRange(c);s.push(vr.replace(c,this._modifyText(d,o)))}else{const l=r.getValueInRange(a);s.push(vr.replace(a,this._modifyText(l,o)))}t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop()}}class O5t extends fC{constructor(){super({id:"editor.action.transformToUppercase",label:_("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:ne.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}class B5t extends fC{constructor(){super({id:"editor.action.transformToLowercase",label:_("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:ne.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}class Rp{constructor(e,t){this._pattern=e,this._flags=t,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch{}}return this._actual}isSupported(){return this.get()!==null}}class sM extends fC{constructor(){super({id:"editor.action.transformToTitlecase",label:_("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:ne.writable})}_modifyText(e,t){const i=sM.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,r=>r.toLocaleUpperCase()):e}}sM.titleBoundary=new Rp("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");class r1 extends fC{constructor(){super({id:"editor.action.transformToSnakecase",label:_("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:ne.writable})}_modifyText(e,t){const i=r1.caseBoundary.get(),r=r1.singleLetters.get();return!i||!r?e:e.replace(i,"$1_$2").replace(r,"$1_$2$3").toLocaleLowerCase()}}r1.caseBoundary=new Rp("(\\p{Ll})(\\p{Lu})","gmu"),r1.singleLetters=new Rp("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");class aM extends fC{constructor(){super({id:"editor.action.transformToCamelcase",label:_("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:ne.writable})}_modifyText(e,t){const i=aM.wordBoundary.get();if(!i)return e;const r=e.split(i);return r.shift()+r.map(s=>s.substring(0,1).toLocaleUpperCase()+s.substring(1)).join("")}}aM.wordBoundary=new Rp("[_\\s-]","gm");class gC extends fC{constructor(){super({id:"editor.action.transformToPascalcase",label:_("editor.transformToPascalcase","Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:ne.writable})}_modifyText(e,t){const i=gC.wordBoundary.get(),r=gC.wordBoundaryToMaintain.get();return!i||!r?e:e.split(r).map(a=>a.split(i)).flat().map(a=>a.substring(0,1).toLocaleUpperCase()+a.substring(1)).join("")}}gC.wordBoundary=new Rp("[_\\s-]","gm"),gC.wordBoundaryToMaintain=new Rp("(?<=\\.)","gm");class Zp extends fC{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(t=>t.isSupported())}constructor(){super({id:"editor.action.transformToKebabcase",label:_("editor.transformToKebabcase","Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:ne.writable})}_modifyText(e,t){const i=Zp.caseBoundary.get(),r=Zp.singleLetters.get(),o=Zp.underscoreBoundary.get();return!i||!r||!o?e:e.replace(o,"$1-$3").replace(i,"$1-$2").replace(r,"$1-$2").toLocaleLowerCase()}}Zp.caseBoundary=new Rp("(\\p{Ll})(\\p{Lu})","gmu"),Zp.singleLetters=new Rp("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),Zp.underscoreBoundary=new Rp("(\\S)(_)(\\S)","gm"),tt(L5t),tt(I5t),tt(F5t),tt(D5t),tt(N5t),tt(M5t),tt(k5t),tt(T5t),tt(YA),tt(E5t),tt(R5t),tt(Z5t),tt(W5t),tt(A5t),tt(V5t),tt(G5t),tt(X5t),tt(P5t),tt(O5t),tt(B5t),r1.caseBoundary.isSupported()&&r1.singleLetters.isSupported()&&tt(r1),aM.wordBoundary.isSupported()&&tt(aM),gC.wordBoundary.isSupported()&&tt(gC),sM.titleBoundary.isSupported()&&tt(sM),Zp.isSupported()&&tt(Zp);var z5t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},UA=function(n,e){return function(t,i){e(t,i,n)}},KA;const ALe=new St("LinkedEditingInputVisible",!1),H5t="linked-editing-decoration";let o1=KA=class extends Fe{static get(e){return e.getContribution(KA.ID)}constructor(e,t,i,r,o){super(),this.languageConfigurationService=r,this._syncRangesToken=0,this._localToDispose=this._register(new Je),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=ALe.bindTo(t),this._debounceInformation=o.for(this._providers,"Linked Editing",{max:200}),this._currentDecorations=this._editor.createDecorationsCollection(),this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new Je),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequestCts=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel(()=>this.reinitialize(!0))),this._register(this._editor.onDidChangeConfiguration(s=>{(s.hasChanged(70)||s.hasChanged(93))&&this.reinitialize(!1)})),this._register(this._providers.onDidChange(()=>this.reinitialize(!1))),this._register(this._editor.onDidChangeModelLanguage(()=>this.reinitialize(!0))),this.reinitialize(!0)}reinitialize(e){const t=this._editor.getModel(),i=t!==null&&(this._editor.getOption(70)||this._editor.getOption(93))&&this._providers.has(t);if(i===this._enabled&&!e||(this._enabled=i,this.clearRanges(),this._localToDispose.clear(),!i||t===null))return;this._localToDispose.add(lt.runAndSubscribe(t.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()}));const r=new Ld(this._debounceInformation.get(t)),o=()=>{var l;this._rangeUpdateTriggerPromise=r.trigger(()=>this.updateRanges(),(l=this._debounceDuration)!==null&&l!==void 0?l:this._debounceInformation.get(t))},s=new Ld(0),a=l=>{this._rangeSyncTriggerPromise=s.trigger(()=>this._syncRanges(l))};this._localToDispose.add(this._editor.onDidChangeCursorPosition(()=>{o()})),this._localToDispose.add(this._editor.onDidChangeModelContent(l=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const u=this._currentDecorations.getRange(0);if(u&&l.changes.every(c=>u.intersectRanges(c.range))){a(this._syncRangesToken);return}}o()})),this._localToDispose.add({dispose:()=>{r.dispose(),s.dispose()}}),this.updateRanges()}_syncRanges(e){if(!this._editor.hasModel()||e!==this._syncRangesToken||this._currentDecorations.length===0)return;const t=this._editor.getModel(),i=this._currentDecorations.getRange(0);if(!i||i.startLineNumber!==i.endLineNumber)return this.clearRanges();const r=t.getValueInRange(i);if(this._currentWordPattern){const s=r.match(this._currentWordPattern);if((s?s[0].length:0)!==r.length)return this.clearRanges()}const o=[];for(let s=1,a=this._currentDecorations.length;s1){this.clearRanges();return}const i=this._editor.getModel(),r=i.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===r){if(t.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){const s=this._currentDecorations.getRange(0);if(s&&s.containsPosition(t))return}}this.clearRanges(),this._currentRequestPosition=t,this._currentRequestModelVersion=r;const o=this._currentRequestCts=new fo;try{const s=new Js(!1),a=await VLe(this._providers,i,t,o.token);if(this._debounceInformation.update(i,s.elapsed()),o!==this._currentRequestCts||(this._currentRequestCts=null,r!==i.getVersionId()))return;let l=[];a!=null&&a.ranges&&(l=a.ranges),this._currentWordPattern=(a==null?void 0:a.wordPattern)||this._languageWordPattern;let u=!1;for(let d=0,h=l.length;d({range:d,options:KA.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(c),this._syncRangesToken++}catch(s){Gm(s)||yn(s),(this._currentRequestCts===o||!this._currentRequestCts)&&this.clearRanges()}}};o1.ID="editor.contrib.linkedEditing",o1.DECORATION=vn.register({description:"linked-editing",stickiness:0,className:H5t}),o1=KA=z5t([UA(1,ln),UA(2,Rt),UA(3,er),UA(4,Qc)],o1);class Y5t extends Nt{constructor(){super({id:"editor.action.linkedEditing",label:_("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:Oe.and(ne.writable,ne.hasRenameProvider),kbOpts:{kbExpr:ne.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(yi),[r,o]=Array.isArray(t)&&t||[void 0,void 0];return en.isUri(r)&&ve.isIPosition(o)?i.openCodeEditor({resource:r},i.getActiveCodeEditor()).then(s=>{s&&(s.setPosition(o),s.invokeWithinContext(a=>(this.reportTelemetry(a,s),this.run(a,s))))},yn):super.runCommand(e,t)}run(e,t){const i=o1.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const U5t=Ko.bindToContribution(o1.get);gt(new U5t({id:"cancelLinkedEditingInput",precondition:ALe,handler:n=>n.clearRanges(),kbOpts:{kbExpr:ne.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function VLe(n,e,t,i){const r=n.ordered(e);return BH(r.map(o=>async()=>{try{return await o.provideLinkedEditingRanges(e,t,i)}catch(s){qr(s);return}}),o=>!!o&&ga(o==null?void 0:o.ranges))}re("editor.linkedEditingBackground",{dark:Re.fromHex("#f00").transparent(.3),light:Re.fromHex("#f00").transparent(.3),hcDark:Re.fromHex("#f00").transparent(.3),hcLight:Re.white},_("editorLinkedEditingBackground","Background color when the editor auto renames on type.")),zm("_executeLinkedEditingProvider",(n,e,t)=>{const{linkedEditingRangeProvider:i}=n.get(Rt);return VLe(i,e,t,Yn.None)}),vi(o1.ID,o1,1),tt(Y5t);let K5t=class{constructor(e,t){this._link=e,this._provider=t}toJSON(){return{range:this.range,url:this.url,tooltip:this.tooltip}}get range(){return this._link.range}get url(){return this._link.url}get tooltip(){return this._link.tooltip}async resolve(e){return this._link.url?this._link.url:typeof this._provider.resolveLink=="function"?Promise.resolve(this._provider.resolveLink(this._link,e)).then(t=>(this._link=t||this._link,this._link.url?this.resolve(e):Promise.reject(new Error("missing")))):Promise.reject(new Error("missing"))}};class JA{constructor(e){this._disposables=new Je;let t=[];for(const[i,r]of e){const o=i.links.map(s=>new K5t(s,r));t=JA._union(t,o),AH(i)&&this._disposables.add(i)}this.links=t}dispose(){this._disposables.dispose(),this.links.length=0}static _union(e,t){const i=[];let r,o,s,a;for(r=0,s=0,o=e.length,a=t.length;rPromise.resolve(o.provideLinks(e,t)).then(a=>{a&&(i[s]=[a,o])},qr));return Promise.all(r).then(()=>{const o=new JA(Ym(i));return t.isCancellationRequested?(o.dispose(),new JA([])):o})}$n.registerCommand("_executeLinkProvider",async(n,...e)=>{let[t,i]=e;hi(t instanceof en),typeof i!="number"&&(i=0);const{linkProvider:r}=n.get(Rt),o=n.get(wr).getModel(t);if(!o)return[];const s=await GLe(r,o,Yn.None);if(!s)return[];for(let l=0;l=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},jA=function(n,e){return function(t,i){e(t,i,n)}},Pj;let wx=Pj=class extends Fe{static get(e){return e.getContribution(Pj.ID)}constructor(e,t,i,r,o){super(),this.editor=e,this.openerService=t,this.notificationService=i,this.languageFeaturesService=r,this.providers=this.languageFeaturesService.linkProvider,this.debounceInformation=o.for(this.providers,"Links",{min:1e3,max:4e3}),this.computeLinks=this._register(new Wi(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const s=this._register(new c3(e));this._register(s.onMouseMoveOrRelevantKeyDown(([a,l])=>{this._onEditorMouseMove(a,l)})),this._register(s.onExecute(a=>{this.onEditorMouseUp(a)})),this._register(s.onCancel(a=>{this.cleanUpActiveLinkDecoration()})),this._register(e.onDidChangeConfiguration(a=>{a.hasChanged(71)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))})),this._register(e.onDidChangeModelContent(a=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))})),this._register(e.onDidChangeModel(a=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)})),this._register(e.onDidChangeModelLanguage(a=>{this.stop(),this.computeLinks.schedule(0)})),this._register(this.providers.onDidChange(a=>{this.stop(),this.computeLinks.schedule(0)})),this.computeLinks.schedule(0)}async computeLinksNow(){if(!this.editor.hasModel()||!this.editor.getOption(71))return;const e=this.editor.getModel();if(!e.isTooLargeForSyncing()&&this.providers.has(e)){this.activeLinksList&&(this.activeLinksList.dispose(),this.activeLinksList=null),this.computePromise=rs(t=>GLe(this.providers,e,t));try{const t=new Js(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){yn(t)}finally{this.computePromise=null}}}updateDecorations(e){const t=this.editor.getOption(78)==="altKey",i=[],r=Object.keys(this.currentOccurrences);for(const s of r){const a=this.currentOccurrences[s];i.push(a.decorationId)}const o=[];if(e)for(const s of e)o.push(xx.decoration(s,t));this.editor.changeDecorations(s=>{const a=s.deltaDecorations(i,o);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let l=0,u=a.length;l{r.activate(o,i),this.activeLinkDecorationId=r.decorationId})}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const e=this.editor.getOption(78)==="altKey";if(this.activeLinkDecorationId){const t=this.currentOccurrences[this.activeLinkDecorationId];t&&this.editor.changeDecorations(i=>{t.deactivate(i,e)}),this.activeLinkDecorationId=null}}onEditorMouseUp(e){if(!this.isEnabled(e))return;const t=this.getLinkOccurrence(e.target.position);t&&this.openLinkOccurrence(t,e.hasSideBySideModifier,!0)}openLinkOccurrence(e,t,i=!1){if(!this.openerService)return;const{link:r}=e;r.resolve(Yn.None).then(o=>{if(typeof o=="string"&&this.editor.hasModel()){const s=this.editor.getModel().uri;if(s.scheme===Sn.file&&o.startsWith(`${Sn.file}:`)){const a=en.parse(o);if(a.scheme===Sn.file){const l=df(a);let u=null;l.startsWith("/./")||l.startsWith("\\.\\")?u=`.${l.substr(1)}`:(l.startsWith("//./")||l.startsWith("\\\\.\\"))&&(u=`.${l.substr(2)}`),u&&(o=XCt(s,u))}}}return this.openerService.open(o,{openToSide:t,fromUserGesture:i,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})},o=>{const s=o instanceof Error?o.message:o;s==="invalid"?this.notificationService.warn(_("invalid.url","Failed to open this link because it is not well-formed: {0}",r.url.toString())):s==="missing"?this.notificationService.warn(_("missing.url","Failed to open this link because its target is missing.")):yn(o)})}getLinkOccurrence(e){if(!this.editor.hasModel()||!e)return null;const t=this.editor.getModel().getDecorationsInRange({startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:e.lineNumber,endColumn:e.column},0,!0);for(const i of t){const r=this.currentOccurrences[i.id];if(r)return r}return null}isEnabled(e,t){return!!(e.target.type===6&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey))}stop(){var e;this.computeLinks.cancel(),this.activeLinksList&&((e=this.activeLinksList)===null||e===void 0||e.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}};wx.ID="editor.linkDetector",wx=Pj=J5t([jA(1,Bl),jA(2,Mo),jA(3,Rt),jA(4,Qc)],wx);const XLe={general:vn.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:vn.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class xx{static decoration(e,t){return{range:e.range,options:xx._getOptions(e,t,!1)}}static _getOptions(e,t,i){const r={...i?XLe.active:XLe.general};return r.hoverMessage=j5t(e,t),r}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,xx._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,xx._getOptions(this.link,t,!1))}}function j5t(n,e){const t=n.url&&/^command:/i.test(n.url.toString()),i=n.tooltip?n.tooltip:t?_("links.navigate.executeCmd","Execute command"):_("links.navigate.follow","Follow link"),r=e?On?_("links.navigate.kb.meta.mac","cmd + click"):_("links.navigate.kb.meta","ctrl + click"):On?_("links.navigate.kb.alt.mac","option + click"):_("links.navigate.kb.alt","alt + click");if(n.url){let o="";if(/^command:/i.test(n.url.toString())){const a=n.url.toString().match(/^command:([^?#]+)/);if(a){const l=a[1];o=_("tooltip.explanation","Execute command {0}",l)}}return new ya("",!0).appendLink(n.url.toString(!0).replace(/ /g,"%20"),i,o).appendMarkdown(` (${r})`)}else return new ya().appendText(`${i} (${r})`)}class Q5t extends Nt{constructor(){super({id:"editor.action.openLink",label:_("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=wx.get(t);if(!i||!t.hasModel())return;const r=t.getSelections();for(const o of r){const s=i.getLinkOccurrence(o.getEndPosition());s&&i.openLinkOccurrence(s,!1)}}}vi(wx.ID,wx,1),tt(Q5t);class Oj extends Fe{constructor(e){super(),this._editor=e,this._register(this._editor.onMouseDown(t=>{const i=this._editor.getOption(117);i>=0&&t.target.type===6&&t.target.position.column>=i&&this._editor.updateOptions({stopRenderingLineAfter:-1})}))}}Oj.ID="editor.contrib.longLinesHelper",vi(Oj.ID,Oj,2);const QA=re("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},_("wordHighlight","Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations."),!0);re("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},_("wordHighlightStrong","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations."),!0),re("editor.wordHighlightTextBackground",{light:QA,dark:QA,hcDark:QA,hcLight:QA},_("wordHighlightText","Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0);const $A=re("editor.wordHighlightBorder",{light:null,dark:null,hcDark:mr,hcLight:mr},_("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));re("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:mr,hcLight:mr},_("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable.")),re("editor.wordHighlightTextBorder",{light:$A,dark:$A,hcDark:$A,hcLight:$A},_("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const $5t=re("editorOverviewRuler.wordHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hcDark:"#A0A0A0CC",hcLight:"#A0A0A0CC"},_("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),q5t=re("editorOverviewRuler.wordHighlightStrongForeground",{dark:"#C0A0C0CC",light:"#C0A0C0CC",hcDark:"#C0A0C0CC",hcLight:"#C0A0C0CC"},_("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),eRt=re("editorOverviewRuler.wordHighlightTextForeground",{dark:FF,light:FF,hcDark:FF,hcLight:FF},_("overviewRulerWordHighlightTextForeground","Overview ruler marker color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0),tRt=vn.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:zr(q5t),position:Pc.Center},minimap:{color:zr(rZ),position:1}}),nRt=vn.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:zr(eRt),position:Pc.Center},minimap:{color:zr(rZ),position:1}}),iRt=vn.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:zr(FF),position:Pc.Center},minimap:{color:zr(rZ),position:1}}),rRt=vn.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),oRt=vn.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:zr($5t),position:Pc.Center},minimap:{color:zr(rZ),position:1}});function sRt(n){return n===zF.Write?tRt:n===zF.Text?nRt:oRt}function aRt(n){return n?rRt:iRt}Xc((n,e)=>{const t=n.getColor(g6);t&&e.addRule(`.monaco-editor .selectionHighlight { background-color: ${t.transparent(.5)}; }`)});var lRt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},uRt=function(n,e){return function(t,i){e(t,i,n)}},Bj;function s1(n,e){const t=e.filter(i=>!n.find(r=>r.equals(i)));if(t.length>=1){const i=t.map(o=>`line ${o.viewState.position.lineNumber} column ${o.viewState.position.column}`).join(", "),r=t.length===1?_("cursorAdded","Cursor added: {0}",i):_("cursorsAdded","Cursors added: {0}",i);kg(r)}}class cRt extends Nt{constructor(){super({id:"editor.action.insertCursorAbove",label:_("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:ne.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:Q.MenubarSelectionMenu,group:"3_multi",title:_({key:"miInsertCursorAbove",comment:["&& denotes a mnemonic"]},"&&Add Cursor Above"),order:2}})}run(e,t,i){if(!t.hasModel())return;let r=!0;i&&i.logicalLine===!1&&(r=!1);const o=t._getViewModel();if(o.cursorConfig.readOnly)return;o.model.pushStackElement();const s=o.getCursorStates();o.setCursorStates(i.source,3,ks.addCursorUp(o,s,r)),o.revealTopMostCursor(i.source),s1(s,o.getCursorStates())}}class dRt extends Nt{constructor(){super({id:"editor.action.insertCursorBelow",label:_("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:ne.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:Q.MenubarSelectionMenu,group:"3_multi",title:_({key:"miInsertCursorBelow",comment:["&& denotes a mnemonic"]},"A&&dd Cursor Below"),order:3}})}run(e,t,i){if(!t.hasModel())return;let r=!0;i&&i.logicalLine===!1&&(r=!1);const o=t._getViewModel();if(o.cursorConfig.readOnly)return;o.model.pushStackElement();const s=o.getCursorStates();o.setCursorStates(i.source,3,ks.addCursorDown(o,s,r)),o.revealBottomMostCursor(i.source),s1(s,o.getCursorStates())}}class hRt extends Nt{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:_("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:ne.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:Q.MenubarSelectionMenu,group:"3_multi",title:_({key:"miInsertCursorAtEndOfEachLineSelected",comment:["&& denotes a mnemonic"]},"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(e,t,i){if(!e.isEmpty()){for(let r=e.startLineNumber;r1&&i.push(new Zt(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}}run(e,t){if(!t.hasModel())return;const i=t.getModel(),r=t.getSelections(),o=t._getViewModel(),s=o.getCursorStates(),a=[];r.forEach(l=>this.getCursorsForSelection(l,i,a)),a.length>0&&t.setSelections(a),s1(s,o.getCursorStates())}}class mRt extends Nt{constructor(){super({id:"editor.action.addCursorsToBottom",label:_("mutlicursor.addCursorsToBottom","Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),r=t.getModel().getLineCount(),o=[];for(let l=i[0].startLineNumber;l<=r;l++)o.push(new Zt(l,i[0].startColumn,l,i[0].endColumn));const s=t._getViewModel(),a=s.getCursorStates();o.length>0&&t.setSelections(o),s1(a,s.getCursorStates())}}class fRt extends Nt{constructor(){super({id:"editor.action.addCursorsToTop",label:_("mutlicursor.addCursorsToTop","Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),r=[];for(let a=i[0].startLineNumber;a>=1;a--)r.push(new Zt(a,i[0].startColumn,a,i[0].endColumn));const o=t._getViewModel(),s=o.getCursorStates();r.length>0&&t.setSelections(r),s1(s,o.getCursorStates())}}class qA{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}}class lM{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new lM(e,t,!1,i.searchString,i.wholeWord,i.matchCase,null);let r=!1,o,s;const a=e.getSelections();a.length===1&&a[0].isEmpty()?(r=!0,o=!0,s=!0):(o=i.wholeWord,s=i.matchCase);const l=e.getSelection();let u,c=null;if(l.isEmpty()){const d=e.getConfiguredWordAtPosition(l.getStartPosition());if(!d)return null;u=d.word,c=new Zt(l.startLineNumber,d.startColumn,l.startLineNumber,d.endColumn)}else u=e.getModel().getValueInRange(l).replace(/\r\n/g,` +`);return new lM(e,t,r,u,o,s,c)}constructor(e,t,i,r,o,s,a){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=i,this.searchText=r,this.wholeWord=o,this.matchCase=s,this.currentMatch=a}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new qA(t.concat(e),e,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new qA(t.slice(0,t.length-1).concat(e),e,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const r=this.currentMatch;return this.currentMatch=null,r}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findNextMatch(this.searchText,t.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(131):null,!1);return i?new Zt(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new qA(t.concat(e),e,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new qA(t.slice(0,t.length-1).concat(e),e,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const r=this.currentMatch;return this.currentMatch=null,r}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findPreviousMatch(this.searchText,t.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(131):null,!1);return i?new Zt(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}selectAll(e){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();const t=this._editor.getModel();return e?t.findMatches(this.searchText,e,!1,this.matchCase,this.wholeWord?this._editor.getOption(131):null,!1,1073741824):t.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(131):null,!1,1073741824)}}class pC extends Fe{static get(e){return e.getContribution(pC.ID)}constructor(e){super(),this._sessionDispose=this._register(new Je),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=lM.create(this._editor,e);if(!t)return;this._session=t;const i={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(i.wholeWordOverride=1,i.matchCaseOverride=1,i.isRegexOverride=2),e.getState().change(i,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection(r=>{this._ignoreSelectionChange||this._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(()=>{this._endSession()})),this._sessionDispose.add(e.getState().onFindReplaceStateChange(r=>{(r.matchCase||r.wholeWord)&&this._endSession()}))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){const e={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(e,!1)}this._session=null}_setSelections(e){this._ignoreSelectionChange=!0,this._editor.setSelections(e),this._ignoreSelectionChange=!1}_expandEmptyToWord(e,t){if(!t.isEmpty())return t;const i=this._editor.getConfiguredWordAtPosition(t.getStartPosition());return i?new Zt(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):t}_applySessionResult(e){e&&(this._setSelections(e.selections),e.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(e.revealRange,e.revealScrollType))}getSession(e){return this._session}addSelectionToNextFindMatch(e){if(this._editor.hasModel()){if(!this._session){const t=this._editor.getSelections();if(t.length>1){const r=e.getState().matchCase;if(!PLe(this._editor.getModel(),t,r)){const s=this._editor.getModel(),a=[];for(let l=0,u=t.length;l0&&i.isRegex){const r=this._editor.getModel();i.searchScope?t=r.findMatches(i.searchString,i.searchScope,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(131):null,!1,1073741824):t=r.findMatches(i.searchString,!0,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(131):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll(i.searchScope)}if(t.length>0){const r=this._editor.getSelection();for(let o=0,s=t.length;onew Zt(o.range.startLineNumber,o.range.startColumn,o.range.endLineNumber,o.range.endColumn)))}}}pC.ID="editor.contrib.multiCursorController";class _x extends Nt{run(e,t){const i=pC.get(t);if(!i)return;const r=t._getViewModel();if(r){const o=r.getCursorStates(),s=hl.get(t);if(s)this._run(i,s);else{const a=e.get($t).createInstance(hl,t);this._run(i,a),a.dispose()}s1(o,r.getCursorStates())}}}class gRt extends _x{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:_("addSelectionToNextFindMatch","Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:ne.focus,primary:2082,weight:100},menuOpts:{menuId:Q.MenubarSelectionMenu,group:"3_multi",title:_({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class pRt extends _x{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:_("addSelectionToPreviousFindMatch","Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:Q.MenubarSelectionMenu,group:"3_multi",title:_({key:"miAddSelectionToPreviousFindMatch",comment:["&& denotes a mnemonic"]},"Add P&&revious Occurrence"),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}}class bRt extends _x{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:_("moveSelectionToNextFindMatch","Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:ne.focus,primary:Zo(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class yRt extends _x{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:_("moveSelectionToPreviousFindMatch","Move Last Selection To Previous Find Match"),alias:"Move Last Selection To Previous Find Match",precondition:void 0})}_run(e,t){e.moveSelectionToPreviousFindMatch(t)}}class vRt extends _x{constructor(){super({id:"editor.action.selectHighlights",label:_("selectAllOccurrencesOfFindMatch","Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:ne.focus,primary:3114,weight:100},menuOpts:{menuId:Q.MenubarSelectionMenu,group:"3_multi",title:_({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class CRt extends _x{constructor(){super({id:"editor.action.changeAll",label:_("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:Oe.and(ne.writable,ne.editorTextFocus),kbOpts:{kbExpr:ne.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}}class SRt{constructor(e,t,i,r,o){this._model=e,this._searchText=t,this._matchCase=i,this._wordSeparators=r,this._modelVersionId=this._model.getVersionId(),this._cachedFindMatches=null,o&&this._model===o._model&&this._searchText===o._searchText&&this._matchCase===o._matchCase&&this._wordSeparators===o._wordSeparators&&this._modelVersionId===o._modelVersionId&&(this._cachedFindMatches=o._cachedFindMatches)}findMatches(){return this._cachedFindMatches===null&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map(e=>e.range),this._cachedFindMatches.sort(J.compareRangesUsingStarts)),this._cachedFindMatches}}let uM=Bj=class extends Fe{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(108),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new Wi(()=>this._update(),300)),this.state=null,this._register(e.onDidChangeConfiguration(r=>{this._isEnabled=e.getOption(108)})),this._register(e.onDidChangeCursorSelection(r=>{this._isEnabled&&(r.selection.isEmpty()?r.reason===3?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())})),this._register(e.onDidChangeModel(r=>{this._setState(null)})),this._register(e.onDidChangeModelContent(r=>{this._isEnabled&&this.updateSoon.schedule()}));const i=hl.get(e);i&&this._register(i.getState().onFindReplaceStateChange(r=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(Bj._createState(this.state,this._isEnabled,this.editor))}static _createState(e,t,i){if(!t||!i.hasModel())return null;const r=i.getSelection();if(r.startLineNumber!==r.endLineNumber)return null;const o=pC.get(i);if(!o)return null;const s=hl.get(i);if(!s)return null;let a=o.getSession(s);if(!a){const c=i.getSelections();if(c.length>1){const h=s.getState().matchCase;if(!PLe(i.getModel(),c,h))return null}a=lM.create(i,s)}if(!a||a.currentMatch||/^[ \t]+$/.test(a.searchText)||a.searchText.length>200)return null;const l=s.getState(),u=l.matchCase;if(l.isRevealed){let c=l.searchString;u||(c=c.toLowerCase());let d=a.searchText;if(u||(d=d.toLowerCase()),c===d&&a.matchCase===l.matchCase&&a.wholeWord===l.wholeWord&&!l.isRegex)return null}return new SRt(i.getModel(),a.searchText,a.matchCase,a.wholeWord?i.getOption(131):null,e)}_setState(e){if(this.state=e,!this.state){this._decorations.clear();return}if(!this.editor.hasModel())return;const t=this.editor.getModel();if(t.isTooLargeForTokenization())return;const i=this.state.findMatches(),r=this.editor.getSelections();r.sort(J.compareRangesUsingStarts);const o=[];for(let u=0,c=0,d=i.length,h=r.length;u=h)o.push(m),u++;else{const f=J.compareRangesUsingStarts(m,r[c]);f<0?((r[c].isEmpty()||!J.areIntersecting(m,r[c]))&&o.push(m),u++):(f>0||u++,c++)}}const s=this.editor.getOption(81)!=="off",a=this._languageFeaturesService.documentHighlightProvider.has(t)&&s,l=o.map(u=>({range:u,options:aRt(a)}));this._decorations.set(l)}dispose(){this._setState(null),super.dispose()}};uM.ID="editor.contrib.selectionHighlighter",uM=Bj=lRt([uRt(1,Rt)],uM);function PLe(n,e,t){const i=OLe(n,e[0],!t);for(let r=1,o=e.length;r=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},NRt=function(n,e){return function(t,i){e(t,i,n)}};const zj="inline-edit";let Hj=class extends Fe{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=ei(this,!1),this.currentTextModel=zi(this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=hn(this,r=>{var o;if(this.isDisposed.read(r))return;const s=this.currentTextModel.read(r);if(s!==this.model.targetTextModel.read(r))return;const a=this.model.ghostText.read(r);if(!a)return;let l=(o=this.model.range)===null||o===void 0?void 0:o.read(r);l&&l.startLineNumber===l.endLineNumber&&l.startColumn===l.endColumn&&(l=void 0);const u=(l?l.startLineNumber===l.endLineNumber:!0)&&a.parts.length===1&&a.parts[0].lines.length===1,c=a.parts.length===1&&a.parts[0].lines.every(w=>w.length===0),d=[],h=[];function m(w,x){if(h.length>0){const L=h[h.length-1];x&&L.decorations.push(new il(L.content.length+1,L.content.length+1+w[0].length,x,0)),L.content+=w[0],w=w.slice(1)}for(const L of w)h.push({content:L,decorations:x?[new il(1,L.length+1,x,0)]:[]})}const f=s.getLineContent(a.lineNumber);let g,b=0;if(!c){for(const w of a.parts){let x=w.lines;l&&!u&&(m(x,zj),x=[]),g===void 0?(d.push({column:w.column,text:x[0],preview:w.preview}),x=x.slice(1)):m([f.substring(b,w.column-1)],void 0),x.length>0&&(m(x,zj),g===void 0&&w.column<=f.length&&(g=w.column)),b=w.column-1}g!==void 0&&m([f.substring(b)],void 0)}const y=g!==void 0?new Q_e(g,f.length+1):void 0,C=u||!l?a.lineNumber:l.endLineNumber-1;return{inlineTexts:d,additionalLines:h,hiddenRange:y,lineNumber:C,additionalReservedLineCount:this.model.minReservedLineCount.read(r),targetTextModel:s,range:l,isSingleLine:u,isPureRemove:c,backgroundColoring:this.model.backgroundColoring.read(r)}}),this.decorations=hn(this,r=>{const o=this.uiState.read(r);if(!o)return[];const s=[];if(o.hiddenRange&&s.push({range:o.hiddenRange.toRange(o.lineNumber),options:{inlineClassName:"inline-edit-hidden",description:"inline-edit-hidden"}}),o.range){const a=[];if(o.isSingleLine)a.push(o.range);else if(o.isPureRemove){const u=o.range.endLineNumber-o.range.startLineNumber;for(let c=0;c{const o=this.uiState.read(r);return o&&!o.isPureRemove?{lineNumber:o.lineNumber,additionalLines:o.additionalLines,minReservedLineCount:o.additionalReservedLineCount,targetTextModel:o.targetTextModel}:void 0}))),this._register(jt(()=>{this.isDisposed.set(!0,void 0)})),this._register($_e(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};Hj=DRt([NRt(2,br)],Hj);var Yj=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Wp=function(n,e){return function(t,i){e(t,i,n)}},eV;let Uj=class extends Fe{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=zi(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).showToolbar==="always"),this.sessionPosition=void 0,this.position=hn(this,r=>{var o,s,a;const l=(o=this.model.read(r))===null||o===void 0?void 0:o.widget.model.ghostText.read(r);if(!this.alwaysShowToolbar.read(r)||!l||l.parts.length===0)return this.sessionPosition=void 0,null;const u=l.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==l.lineNumber&&(this.sessionPosition=void 0);const c=new ve(l.lineNumber,Math.min(u,(a=(s=this.sessionPosition)===null||s===void 0?void 0:s.column)!==null&&a!==void 0?a:Number.MAX_SAFE_INTEGER));return this.sessionPosition=c,c}),this._register(Hc((r,o)=>{if(!this.model.read(r)||!this.alwaysShowToolbar.read(r))return;const a=o.add(this.instantiationService.createInstance(Lx,this.editor,!0,this.position));e.addContentWidget(a),o.add(jt(()=>e.removeContentWidget(a)))}))}};Uj=Yj([Wp(2,$t)],Uj);let Lx=eV=class extends Fe{constructor(e,t,i,r,o,s){super(),this.editor=e,this.withBorder=t,this._position=i,this._contextKeyService=o,this._menuService=s,this.id=`InlineEditHintsContentWidget${eV.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=_i("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[_i("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(Q.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(r.createInstance(Kj,this.nodes.toolBar,this.editor,Q.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:a=>a.startsWith("primary")},actionViewItemProvider:(a,l)=>{if(a instanceof Xu)return r.createInstance(MRt,a,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility(a=>{eV._dropDownVisible=a})),this._register(Rn(a=>{this._position.read(a),this.editor.layoutContentWidget(this)})),this._register(Rn(a=>{const l=[];for(const[u,c]of this.inlineCompletionsActionsMenus.getActions())for(const d of c)d instanceof Xu&&l.push(d);l.length>0&&l.unshift(new Ao),this.toolBar.setAdditionalSecondaryActions(l)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};Lx._dropDownVisible=!1,Lx.id=0,Lx=eV=Yj([Wp(3,$t),Wp(4,ln),Wp(5,Gu)],Lx);class MRt extends M0{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=_i("div.keybinding").root;this._register(new Y2(t,ru,{disableTitle:!0,...jwe})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let Kj=class extends JD{constructor(e,t,i,r,o,s,a,l,u){super(e,{resetMenu:i,...r},o,s,a,l,u),this.editor=t,this.menuId=i,this.options2=r,this.menuService=o,this.contextKeyService=s,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this._store.add(this.editor.onDidChangeCursorPosition(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){var e,t,i,r,o,s,a;const l=[],u=[];AW(this.menu,(e=this.options2)===null||e===void 0?void 0:e.menuOptions,{primary:l,secondary:u},(i=(t=this.options2)===null||t===void 0?void 0:t.toolbarOptions)===null||i===void 0?void 0:i.primaryGroup,(o=(r=this.options2)===null||r===void 0?void 0:r.toolbarOptions)===null||o===void 0?void 0:o.shouldInlineSubmenu,(a=(s=this.options2)===null||s===void 0?void 0:s.toolbarOptions)===null||a===void 0?void 0:a.useSeparatorsInPrimaryActions),u.push(...this.additionalActions),l.unshift(...this.prependedPrimaryActions),this.setActions(l,u)}setAdditionalSecondaryActions(e){Nr(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};Kj=Yj([Wp(4,Gu),Wp(5,ln),Wp(6,fu),Wp(7,Oi),Wp(8,Rl)],Kj);var kRt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},cM=function(n,e){return function(t,i){e(t,i,n)}},bC;class TRt{constructor(e,t){this.widget=e,this.edit=t}dispose(){this.widget.dispose()}}let Qo=bC=class extends Fe{static get(e){return e.getContribution(bC.ID)}constructor(e,t,i,r,o,s){super(),this.editor=e,this.instantiationService=t,this.contextKeyService=i,this.languageFeaturesService=r,this._commandService=o,this._configurationService=s,this._isVisibleContext=bC.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=bC.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=this._register(TD(this,void 0)),this._isAccepting=ei(this,!1),this._enabled=zi(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=zi(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily),this._backgroundColoring=zi(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).backgroundColoring);const a=ba("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(Rn(h=>{this._enabled.read(h)&&(a.read(h),!this._isAccepting.read(h)&&this.getInlineEdit(e,!0))}));const l=zi(e.onDidChangeCursorPosition,()=>e.getPosition());this._register(Rn(h=>{if(!this._enabled.read(h))return;const m=l.read(h);m&&this.checkCursorPosition(m)})),this._register(Rn(h=>{const m=this._currentEdit.read(h);if(this._isCursorAtInlineEditContext.set(!1),!m){this._isVisibleContext.set(!1);return}this._isVisibleContext.set(!0);const f=e.getPosition();f&&this.checkCursorPosition(f)}));const u=ba("InlineEditController.editorBlurSignal",e.onDidBlurEditorWidget);this._register(Rn(async h=>{var m;this._enabled.read(h)&&(u.read(h),!(this._configurationService.getValue("editor.experimentalInlineEdit.keepOnBlur")||e.getOption(63).keepOnBlur)&&((m=this._currentRequestCts)===null||m===void 0||m.dispose(!0),this._currentRequestCts=void 0,await this.clear(!1)))}));const c=ba("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register(Rn(h=>{this._enabled.read(h)&&(c.read(h),this.getInlineEdit(e,!0))}));const d=this._register(E0e());this._register(Rn(h=>{const m=this._fontFamily.read(h);d.setStyle(m===""||m==="default"?"":` .monaco-editor .inline-edit-decoration, .monaco-editor .inline-edit-decoration-preview, .monaco-editor .inline-edit { font-family: ${m}; }`)})),this._register(new Uj(this.editor,this._currentEdit,this.instantiationService))}checkCursorPosition(e){var t;if(!this._currentEdit){this._isCursorAtInlineEditContext.set(!1);return}const i=(t=this._currentEdit.get())===null||t===void 0?void 0:t.edit;if(!i){this._isCursorAtInlineEditContext.set(!1);return}this._isCursorAtInlineEditContext.set(J.containsPosition(i.range,e))}validateInlineEdit(e,t){var i,r;if(t.text.includes(` -`)&&t.range.startLineNumber!==t.range.endLineNumber&&t.range.startColumn!==t.range.endColumn){if(t.range.startColumn!==1)return!1;const s=t.range.endLineNumber,a=t.range.endColumn,l=(r=(i=e.getModel())===null||i===void 0?void 0:i.getLineLength(s))!==null&&r!==void 0?r:0;if(a!==l+1)return!1}return!0}async fetchInlineEdit(e,t){this._currentRequestCts&&this._currentRequestCts.dispose(!0);const i=e.getModel();if(!i)return;const r=i.getVersionId(),o=this.languageFeaturesService.inlineEditProvider.all(i);if(o.length===0)return;const s=o[0];this._currentRequestCts=new fo;const a=this._currentRequestCts.token,l=t?LW.Automatic:LW.Invoke;if(t&&await EZt(50,a),a.isCancellationRequested||i.isDisposed()||i.getVersionId()!==r)return;const c=await s.provideInlineEdit(i,{triggerKind:l},a);if(c&&!(a.isCancellationRequested||i.isDisposed()||i.getVersionId()!==r)&&this.validateInlineEdit(e,c))return c}async getInlineEdit(e,t){var i;this._isCursorAtInlineEditContext.set(!1),await this.clear();const r=await this.fetchInlineEdit(e,t);if(!r)return;const o=r.range.endLineNumber,s=r.range.endColumn,a=new UM(o,[new CV(s,r.text,!1)]),l=this.instantiationService.createInstance(Hj,this.editor,{ghostText:Bh(a),minReservedLineCount:Bh(0),targetTextModel:Bh((i=this.editor.getModel())!==null&&i!==void 0?i:void 0),range:Bh(r.range),backgroundColoring:this._backgroundColoring});this._currentEdit.set(new TZt(l,r),void 0)}async trigger(){await this.getInlineEdit(this.editor,!1)}async jumpBack(){this._jumpBackPosition&&(this.editor.setPosition(this._jumpBackPosition),this.editor.revealPositionInCenterIfOutsideViewport(this._jumpBackPosition))}async accept(){var e;this._isAccepting.set(!0,void 0);const t=(e=this._currentEdit.get())===null||e===void 0?void 0:e.edit;if(!t)return;let i=t.text;t.text.startsWith(` -`)&&(i=t.text.substring(1)),this.editor.pushUndoStop(),this.editor.executeEdits("acceptCurrent",[Cr.replace(J.lift(t.range),i)]),t.accepted&&await this._commandService.executeCommand(t.accepted.id,...t.accepted.arguments||[]).then(void 0,qr),this.freeEdit(t),zi(r=>{this._currentEdit.set(void 0,r),this._isAccepting.set(!1,r)})}jumpToCurrent(){var e,t;this._jumpBackPosition=(e=this.editor.getSelection())===null||e===void 0?void 0:e.getStartPosition();const i=(t=this._currentEdit.get())===null||t===void 0?void 0:t.edit;if(!i)return;const r=ye.lift({lineNumber:i.range.startLineNumber,column:i.range.startColumn});this.editor.setPosition(r),this.editor.revealPositionInCenterIfOutsideViewport(r)}async clear(e=!0){var t;const i=(t=this._currentEdit.get())===null||t===void 0?void 0:t.edit;i&&(i!=null&&i.rejected)&&e&&await this._commandService.executeCommand(i.rejected.id,...i.rejected.arguments||[]).then(void 0,qr),i&&this.freeEdit(i),this._currentEdit.set(void 0,void 0)}freeEdit(e){const t=this.editor.getModel();if(!t)return;const i=this.languageFeaturesService.inlineEditProvider.all(t);i.length!==0&&i[0].freeInlineEdit(e)}shouldShowHoverAt(e){const t=this._currentEdit.get();if(!t)return!1;const i=t.edit,r=t.widget.model;if(J.containsPosition(i.range,e.getStartPosition())||J.containsPosition(i.range,e.getEndPosition()))return!0;const s=r.ghostText.get();return s?s.parts.some(a=>e.containsPosition(new ye(s.lineNumber,a.column))):!1}shouldShowHoverAtViewZone(e){var t,i;return(i=(t=this._currentEdit.get())===null||t===void 0?void 0:t.widget.ownsViewZone(e))!==null&&i!==void 0?i:!1}};Qo.ID="editor.contrib.inlineEditController",Qo.inlineEditVisibleKey="inlineEditVisible",Qo.inlineEditVisibleContext=new wt(bC.inlineEditVisibleKey,!1),Qo.cursorAtInlineEditKey="cursorAtInlineEdit",Qo.cursorAtInlineEditContext=new wt(bC.cursorAtInlineEditKey,!1),Qo=bC=NZt([ck(1,$t),ck(2,ln),ck(3,Zt),ck(4,Xr),ck(5,Pn)],Qo);function EZt(n,e){return new Promise(t=>{let i;const r=setTimeout(()=>{i&&i.dispose(),t()},n);e&&(i=e.onCancellationRequested(()=>{clearTimeout(r),i&&i.dispose(),t()}))})}class ZZt extends Mt{constructor(){super({id:LZt,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:Oe.and(ne.writable,Qo.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:Oe.and(ne.writable,Qo.inlineEditVisibleContext,Qo.cursorAtInlineEditContext)}],menuOpts:[{menuId:Q.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=Qo.get(t);await(i==null?void 0:i.accept())}}class WZt extends Mt{constructor(){const e=Oe.and(ne.writable,Oe.not(Qo.inlineEditVisibleKey));super({id:"editor.action.inlineEdit.trigger",label:"Trigger Inline Edit",alias:"Trigger Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e}})}async run(e,t){const i=Qo.get(t);i==null||i.trigger()}}class RZt extends Mt{constructor(){const e=Oe.and(ne.writable,Qo.inlineEditVisibleContext,Oe.not(Qo.cursorAtInlineEditKey));super({id:FZt,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:Q.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const i=Qo.get(t);i==null||i.jumpToCurrent()}}class VZt extends Mt{constructor(){const e=Oe.and(ne.writable,Qo.cursorAtInlineEditContext);super({id:IZt,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:Q.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=Qo.get(t);i==null||i.jumpBack()}}class AZt extends Mt{constructor(){const e=Oe.and(ne.writable,Qo.inlineEditVisibleContext);super({id:_Zt,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:Q.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=Qo.get(t);await(i==null?void 0:i.clear())}}var GZt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},B_e=function(n,e){return function(t,i){e(t,i,n)}};class XZt{constructor(e,t,i){this.owner=e,this.range=t,this.controller=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let Jj=class{constructor(e,t,i){this._editor=e,this._instantiationService=t,this._telemetryService=i,this.hoverOrdinal=5}suggestHoverAnchor(e){const t=Qo.get(this._editor);if(!t)return null;const i=e.target;if(i.type===8){const r=i.detail;if(t.shouldShowHoverAtViewZone(r.viewZoneId)){const o=i.range;return new tC(1e3,this,o,e.event.posx,e.event.posy,!1)}}return i.type===7&&t.shouldShowHoverAt(i.range)?new tC(1e3,this,i.range,e.event.posx,e.event.posy,!1):i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range)?new tC(1e3,this,i.range,e.event.posx,e.event.posy,!1):null}computeSync(e,t){if(this._editor.getOption(63).showToolbar!=="onHover")return[];const i=Qo.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new XZt(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new Je;this._telemetryService.publicLog2("inlineEditHover.shown");const r=this._instantiationService.createInstance(_x,this._editor,!1,Bh(null));return e.fragment.appendChild(r.getDomNode()),i.add(r),i}};Jj=GZt([B_e(1,$t),B_e(2,Zl)],Jj),tt(ZZt),tt(AZt),tt(RZt),tt(VZt),tt(WZt),yi(Qo.ID,Qo,3),O0.register(Jj);const vC={Visible:new wt("parameterHintsVisible",!1),MultipleSignatures:new wt("parameterHintsMultipleSignatures",!1)};async function z_e(n,e,t,i,r){const o=n.ordered(e);for(const s of o)try{const a=await s.provideSignatureHelp(e,t,r,i);if(a)return a}catch(a){qr(a)}}$n.registerCommand("_executeSignatureHelpProvider",async(n,...e)=>{const[t,i,r]=e;hi(en.isUri(t)),hi(ye.isIPosition(i)),hi(typeof r=="string"||!r);const o=n.get(Zt),s=await n.get(Nl).createModelReference(t);try{const a=await z_e(o.signatureHelpProvider,s.object.textEditorModel,ye.lift(i),{triggerKind:af.Invoke,isRetrigger:!1,triggerCharacter:r},Yn.None);return a?(setTimeout(()=>a.dispose(),0),a.value):void 0}finally{s.dispose()}});var a1;(function(n){n.Default={type:0};class e{constructor(r,o){this.request=r,this.previouslyActiveHints=o,this.type=2}}n.Pending=e;class t{constructor(r){this.hints=r,this.type=1}}n.Active=t})(a1||(a1={}));class tA extends Ie{constructor(e,t,i=tA.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new be),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=a1.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new Ms),this.triggerChars=new N9,this.retriggerChars=new N9,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new Fd(i),this._register(this.editor.onDidBlurEditorWidget(()=>this.cancel())),this._register(this.editor.onDidChangeConfiguration(()=>this.onEditorConfigurationChange())),this._register(this.editor.onDidChangeModel(r=>this.onModelChanged())),this._register(this.editor.onDidChangeModelLanguage(r=>this.onModelChanged())),this._register(this.editor.onDidChangeCursorSelection(r=>this.onCursorChange(r))),this._register(this.editor.onDidChangeModelContent(r=>this.onModelContentChange())),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType(r=>this.onDidType(r))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(e){this._state.type===2&&this._state.request.cancel(),this._state=e}cancel(e=!1){this.state=a1.Default,this.throttledDelayer.cancel(),e||this._onChangedHints.fire(void 0)}trigger(e,t){const i=this.editor.getModel();if(!i||!this.providers.has(i))return;const r=++this.triggerId;this._pendingTriggers.push(e),this.throttledDelayer.trigger(()=>this.doTrigger(r),t).catch(vn)}next(){if(this.state.type!==1)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t%e===e-1,r=this.editor.getOption(86).cycle;if((e<2||i)&&!r){this.cancel();return}this.updateActiveSignature(i&&r?0:t+1)}previous(){if(this.state.type!==1)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t===0,r=this.editor.getOption(86).cycle;if((e<2||i)&&!r){this.cancel();return}this.updateActiveSignature(i&&r?e-1:t-1)}updateActiveSignature(e){this.state.type===1&&(this.state=new a1.Active({...this.state.hints,activeSignature:e}),this._onChangedHints.fire(this.state.hints))}async doTrigger(e){const t=this.state.type===1||this.state.type===2,i=this.getLastActiveHints();if(this.cancel(!0),this._pendingTriggers.length===0)return!1;const r=this._pendingTriggers.reduce(PZt);this._pendingTriggers=[];const o={triggerKind:r.triggerKind,triggerCharacter:r.triggerCharacter,isRetrigger:t,activeSignatureHelp:i};if(!this.editor.hasModel())return!1;const s=this.editor.getModel(),a=this.editor.getPosition();this.state=new a1.Pending(rs(l=>z_e(this.providers,s,a,o,l)),i);try{const l=await this.state.request;return e!==this.triggerId?(l==null||l.dispose(),!1):!l||!l.value.signatures||l.value.signatures.length===0?(l==null||l.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1):(this.state=new a1.Active(l.value),this._lastSignatureHelpResult.value=l,this._onChangedHints.fire(this.state.hints),!0)}catch(l){return e===this.triggerId&&(this.state=a1.Default),vn(l),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return this.state.type===1||this.state.type===2||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars.clear(),this.retriggerChars.clear();const e=this.editor.getModel();if(e)for(const t of this.providers.ordered(e)){for(const i of t.signatureHelpTriggerCharacters||[])if(i.length){const r=i.charCodeAt(0);this.triggerChars.add(r),this.retriggerChars.add(r)}for(const i of t.signatureHelpRetriggerCharacters||[])i.length&&this.retriggerChars.add(i.charCodeAt(0))}}onDidType(e){if(!this.triggerOnType)return;const t=e.length-1,i=e.charCodeAt(t);(this.triggerChars.has(i)||this.isTriggered&&this.retriggerChars.has(i))&&this.trigger({triggerKind:af.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:af.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:af.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}}tA.DEFAULT_DELAY=120;function PZt(n,e){switch(e.triggerKind){case af.Invoke:return e;case af.ContentChange:return n;case af.TriggerCharacter:default:return e}}var OZt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},jj=function(n,e){return function(t,i){e(t,i,n)}},Qj;const oc=Ct,BZt=so("parameter-hints-next",ut.chevronDown,L("parameterHintsNextIcon","Icon for show next parameter hint.")),zZt=so("parameter-hints-previous",ut.chevronUp,L("parameterHintsPreviousIcon","Icon for show previous parameter hint."));let nA=Qj=class extends Ie{constructor(e,t,i,r,o){super(),this.editor=e,this.model=t,this.renderDisposeables=this._register(new Je),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new xf({editor:e},o,r)),this.keyVisible=vC.Visible.bindTo(i),this.keyMultipleSignatures=vC.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=oc(".editor-widget.parameter-hints-widget"),t=je(e,oc(".phwrapper"));t.tabIndex=-1;const i=je(t,oc(".controls")),r=je(i,oc(".button"+sn.asCSSSelector(zZt))),o=je(i,oc(".overloads")),s=je(i,oc(".button"+sn.asCSSSelector(BZt)));this._register(Ae(r,"click",h=>{Vn.stop(h),this.previous()})),this._register(Ae(s,"click",h=>{Vn.stop(h),this.next()}));const a=oc(".body"),l=new RI(a,{alwaysConsumeMouseWheel:!0});this._register(l),t.appendChild(l.getDomNode());const u=je(a,oc(".signature")),c=je(a,oc(".docs"));e.style.userSelect="text",this.domNodes={element:e,signature:u,overloads:o,docs:c,scrollbar:l},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(h=>{this.visible&&this.editor.layoutContentWidget(this)}));const d=()=>{if(!this.domNodes)return;const h=this.editor.getOption(50);this.domNodes.element.style.fontSize=`${h.fontSize}px`,this.domNodes.element.style.lineHeight=`${h.lineHeight/h.fontSize}`};d(),this._register(lt.chain(this.editor.onDidChangeConfiguration.bind(this.editor),h=>h.filter(m=>m.hasChanged(50)))(d)),this._register(this.editor.onDidLayoutChange(h=>this.updateMaxHeight())),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout(()=>{var e;(e=this.domNodes)===null||e===void 0||e.element.classList.add("visible")},100),this.editor.layoutContentWidget(this))}hide(){var e;this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,(e=this.domNodes)===null||e===void 0||e.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(e){var t;if(this.renderDisposeables.clear(),!this.domNodes)return;const i=e.signatures.length>1;this.domNodes.element.classList.toggle("multiple",i),this.keyMultipleSignatures.set(i),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const r=e.signatures[e.activeSignature];if(!r)return;const o=je(this.domNodes.signature,oc(".code")),s=this.editor.getOption(50);o.style.fontSize=`${s.fontSize}px`,o.style.fontFamily=s.fontFamily;const a=r.parameters.length>0,l=(t=r.activeParameter)!==null&&t!==void 0?t:e.activeParameter;if(a)this.renderParameters(o,r,l);else{const d=je(o,oc("span"));d.textContent=r.label}const u=r.parameters[l];if(u!=null&&u.documentation){const d=oc("span.documentation");if(typeof u.documentation=="string")d.textContent=u.documentation;else{const h=this.renderMarkdownDocs(u.documentation);d.appendChild(h.element)}je(this.domNodes.docs,oc("p",{},d))}if(r.documentation!==void 0)if(typeof r.documentation=="string")je(this.domNodes.docs,oc("p",{},r.documentation));else{const d=this.renderMarkdownDocs(r.documentation);je(this.domNodes.docs,d.element)}const c=this.hasDocs(r,u);if(this.domNodes.signature.classList.toggle("has-docs",c),this.domNodes.docs.classList.toggle("empty",!c),this.domNodes.overloads.textContent=String(e.activeSignature+1).padStart(e.signatures.length.toString().length,"0")+"/"+e.signatures.length,u){let d="";const h=r.parameters[l];Array.isArray(h.label)?d=r.label.substring(h.label[0],h.label[1]):d=h.label,h.documentation&&(d+=typeof h.documentation=="string"?`, ${h.documentation}`:`, ${h.documentation.value}`),r.documentation&&(d+=typeof r.documentation=="string"?`, ${r.documentation}`:`, ${r.documentation.value}`),this.announcedLabel!==d&&(kl(L("hint","{0}, hint",d)),this.announcedLabel=d)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=this.renderDisposeables.add(this.markdownRenderer.render(e,{asyncRenderCallback:()=>{var i;(i=this.domNodes)===null||i===void 0||i.scrollbar.scanDomNode()}}));return t.element.classList.add("markdown-docs"),t}hasDocs(e,t){return!!(t&&typeof t.documentation=="string"&&Vb(t.documentation).length>0||t&&typeof t.documentation=="object"&&Vb(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&Vb(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&Vb(e.documentation.value).length>0)}renderParameters(e,t,i){const[r,o]=this.getParameterLabelOffsets(t,i),s=document.createElement("span");s.textContent=t.label.substring(0,r);const a=document.createElement("span");a.textContent=t.label.substring(r,o),a.className="parameter active";const l=document.createElement("span");l.textContent=t.label.substring(o),je(e,s,a,l)}getParameterLabelOffsets(e,t){const i=e.parameters[t];if(i){if(Array.isArray(i.label))return i.label;if(i.label.length){const r=new RegExp(`(\\W|^)${Ru(i.label)}(?=\\W|$)`,"g");r.test(e.label);const o=r.lastIndex-i.label.length;return o>=0?[o,r.lastIndex]:[0,0]}else return[0,0]}else return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}getDomNode(){return this.domNodes||this.createParameterHintDOMNodes(),this.domNodes.element}getId(){return Qj.ID}updateMaxHeight(){if(!this.domNodes)return;const t=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=t;const i=this.domNodes.element.getElementsByClassName("phwrapper");i.length&&(i[0].style.maxHeight=t)}};nA.ID="editor.widget.parameterHintsWidget",nA=Qj=OZt([jj(2,ln),jj(3,Bl),jj(4,vr)],nA),re("editorHoverWidget.highlightForeground",{dark:Ed,light:Ed,hcDark:Ed,hcLight:Ed},L("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var HZt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},H_e=function(n,e){return function(t,i){e(t,i,n)}},$j;let yC=$j=class extends Ie{static get(e){return e.getContribution($j.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new tA(e,i.signatureHelpProvider)),this._register(this.model.onChangedHints(r=>{var o;r?(this.widget.value.show(),this.widget.value.render(r)):(o=this.widget.rawValue)===null||o===void 0||o.hide()})),this.widget=new _h(()=>this._register(t.createInstance(nA,this.editor,this.model)))}cancel(){this.model.cancel()}previous(){var e;(e=this.widget.rawValue)===null||e===void 0||e.previous()}next(){var e;(e=this.widget.rawValue)===null||e===void 0||e.next()}trigger(e){this.model.trigger(e,0)}};yC.ID="editor.controller.parameterHints",yC=$j=HZt([H_e(1,$t),H_e(2,Zt)],yC);class YZt extends Mt{constructor(){super({id:"editor.action.triggerParameterHints",label:L("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:ne.hasSignatureHelpProvider,kbOpts:{kbExpr:ne.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=yC.get(t);i==null||i.trigger({triggerKind:af.Invoke})}}yi(yC.ID,yC,2),tt(YZt);const qj=175,eQ=Ko.bindToContribution(yC.get);gt(new eQ({id:"closeParameterHints",precondition:vC.Visible,handler:n=>n.cancel(),kbOpts:{weight:qj,kbExpr:ne.focus,primary:9,secondary:[1033]}})),gt(new eQ({id:"showPrevParameterHint",precondition:Oe.and(vC.Visible,vC.MultipleSignatures),handler:n=>n.previous(),kbOpts:{weight:qj,kbExpr:ne.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),gt(new eQ({id:"showNextParameterHint",precondition:Oe.and(vC.Visible,vC.MultipleSignatures),handler:n=>n.next(),kbOpts:{weight:qj,kbExpr:ne.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var UZt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},iA=function(n,e){return function(t,i){e(t,i,n)}};const Fx=new wt("renameInputVisible",!1,L("renameInputVisible","Whether the rename input widget is visible"));new wt("renameInputFocused",!1,L("renameInputFocused","Whether the rename input widget is focused"));let tQ=class{constructor(e,t,i,r,o,s){this._editor=e,this._acceptKeybindings=t,this._themeService=i,this._keybindingService=r,this._logService=s,this.allowEditorOverflow=!0,this._disposables=new Je,this._visibleContextKey=Fx.bindTo(o),this._isEditingRenameCandidate=!1,this._beforeFirstInputFieldEditSW=new Js,this._input=new KZt,this._disposables.add(this._input),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration(a=>{a.hasChanged(50)&&this._updateFont()})),this._disposables.add(i.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return"__renameInputWidget"}getDomNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="monaco-editor rename-box",this._domNode.appendChild(this._input.domNode),this._renameCandidateListView=this._disposables.add(new nQ(this._domNode,{fontInfo:this._editor.getOption(50),onFocusChange:e=>{this._input.domNode.value=e,this._isEditingRenameCandidate=!1},onSelectionChange:()=>{this._isEditingRenameCandidate=!1,this.acceptInput(!1)}})),this._disposables.add(this._input.onDidChange(()=>{var e,t,i,r;((e=this._renameCandidateListView)===null||e===void 0?void 0:e.focusedCandidate)!==void 0&&(this._isEditingRenameCandidate=!0),(t=this._timeBeforeFirstInputFieldEdit)!==null&&t!==void 0||(this._timeBeforeFirstInputFieldEdit=this._beforeFirstInputFieldEditSW.elapsed()),((i=this._renameCandidateProvidersCts)===null||i===void 0?void 0:i.token.isCancellationRequested)===!1&&this._renameCandidateProvidersCts.cancel(),(r=this._renameCandidateListView)===null||r===void 0||r.clearFocus()})),this._label=document.createElement("div"),this._label.className="rename-label",this._domNode.appendChild(this._label),this._updateFont(),this._updateStyles(this._themeService.getColorTheme())),this._domNode}_updateStyles(e){var t,i,r,o;if(!this._domNode)return;const s=e.getColor(zg),a=e.getColor(sve);this._domNode.style.backgroundColor=String((t=e.getColor(no))!==null&&t!==void 0?t:""),this._domNode.style.boxShadow=s?` 0 0 8px 2px ${s}`:"",this._domNode.style.border=a?`1px solid ${a}`:"",this._domNode.style.color=String((i=e.getColor(gve))!==null&&i!==void 0?i:""),this._input.domNode.style.backgroundColor=String((r=e.getColor(fve))!==null&&r!==void 0?r:"");const l=e.getColor(pve);this._input.domNode.style.borderWidth=l?"1px":"0px",this._input.domNode.style.borderStyle=l?"solid":"none",this._input.domNode.style.borderColor=(o=l==null?void 0:l.toString())!==null&&o!==void 0?o:"none"}_updateFont(){if(this._domNode===void 0)return;hi(this._label!==void 0,"RenameWidget#_updateFont: _label must not be undefined given _domNode is defined"),this._editor.applyFontInfo(this._input.domNode);const e=this._editor.getOption(50);this._label.style.fontSize=`${this._computeLabelFontSize(e.fontSize)}px`}_computeLabelFontSize(e){return e*.8}getPosition(){if(!this._visible||!this._editor.hasModel()||!this._editor.getDomNode())return null;const e=Ig(this.getDomNode().ownerDocument.body),t=po(this._editor.getDomNode()),i=this._getTopForPosition();this._nPxAvailableAbove=i+t.top,this._nPxAvailableBelow=e.height-this._nPxAvailableAbove;const r=this._editor.getOption(67),{totalHeight:o}=CC.getLayoutInfo({lineHeight:r}),s=this._nPxAvailableBelow>o*6?[2,1]:[1,2];return{position:this._position,preference:s}}beforeRender(){var e,t;const[i,r]=this._acceptKeybindings;return this._label.innerText=L({key:"label",comment:['placeholders are keybindings, e.g "F2 to Rename, Shift+F2 to Preview"']},"{0} to Rename, {1} to Preview",(e=this._keybindingService.lookupKeybinding(i))===null||e===void 0?void 0:e.getLabel(),(t=this._keybindingService.lookupKeybinding(r))===null||t===void 0?void 0:t.getLabel()),this._domNode.style.minWidth="200px",null}afterRender(e){if(this._trace("invoking afterRender, position: ",e?"not null":"null"),e===null){this.cancelInput(!0,"afterRender (because position is null)");return}if(!this._editor.hasModel()||!this._editor.getDomNode())return;hi(this._renameCandidateListView),hi(this._nPxAvailableAbove!==void 0),hi(this._nPxAvailableBelow!==void 0);const t=Dg(this._input.domNode),i=Dg(this._label);let r;e===2?r=this._nPxAvailableBelow:r=this._nPxAvailableAbove,this._renameCandidateListView.layout({height:r-i-t,width:Qa(this._input.domNode)})}acceptInput(e){var t;this._trace("invoking acceptInput"),(t=this._currentAcceptInput)===null||t===void 0||t.call(this,e)}cancelInput(e,t){var i;this._trace(`invoking cancelInput, caller: ${t}, _currentCancelInput: ${this._currentAcceptInput?"not undefined":"undefined"}`),(i=this._currentCancelInput)===null||i===void 0||i.call(this,e)}focusNextRenameSuggestion(){var e;!((e=this._renameCandidateListView)===null||e===void 0)&&e.focusNext()||(this._input.domNode.value=this._currentName)}focusPreviousRenameSuggestion(){var e;!((e=this._renameCandidateListView)===null||e===void 0)&&e.focusPrevious()||(this._input.domNode.value=this._currentName)}getInput(e,t,i,r,o){const{start:s,end:a}=this._getSelection(e,t);this._renameCandidateProvidersCts=new fo;const l=r(this._renameCandidateProvidersCts.token);this._updateRenameCandidates(l,t,o.token),this._isEditingRenameCandidate=!1,this._domNode.classList.toggle("preview",i),this._position=new ye(e.startLineNumber,e.startColumn),this._currentName=t,this._input.domNode.value=t,this._input.domNode.setAttribute("selectionStart",s.toString()),this._input.domNode.setAttribute("selectionEnd",a.toString()),this._input.domNode.size=Math.max((e.endColumn-e.startColumn)*1.1,20),this._beforeFirstInputFieldEditSW.reset();const u=new Je;u.add(jt(()=>o.dispose(!0))),u.add(jt(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)}));const c=new XZ;return c.p.finally(()=>{u.dispose(),this._hide()}),this._currentCancelInput=d=>{var h;return this._trace("invoking _currentCancelInput"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,(h=this._renameCandidateListView)===null||h===void 0||h.clearCandidates(),c.complete(d),!0},this._currentAcceptInput=d=>{this._trace("invoking _currentAcceptInput"),hi(this._renameCandidateListView!==void 0);const h=this._renameCandidateListView.nCandidates;let m,f;const g=this._renameCandidateListView.focusedCandidate;if(g!==void 0?(this._trace("using new name from renameSuggestion"),m=g,f={k:"renameSuggestion"}):(this._trace("using new name from inputField"),m=this._input.domNode.value,f=this._isEditingRenameCandidate?{k:"userEditedRenameSuggestion"}:{k:"inputField"}),m===t||m.trim().length===0){this.cancelInput(!0,"_currentAcceptInput (because newName === value || newName.trim().length === 0)");return}this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView.clearCandidates(),c.complete({newName:m,wantsPreview:i&&d,stats:{source:f,nRenameSuggestions:h,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit}})},u.add(o.token.onCancellationRequested(()=>this.cancelInput(!0,"cts.token.onCancellationRequested"))),u.add(this._editor.onDidBlurEditorWidget(()=>{var d;return this.cancelInput(!(!((d=this._domNode)===null||d===void 0)&&d.ownerDocument.hasFocus()),"editor.onDidBlurEditorWidget")})),this._show(),c.p}_getSelection(e,t){hi(this._editor.hasModel());const i=this._editor.getSelection();let r=0,o=t.length;return!J.isEmpty(i)&&!J.spansMultipleLines(i)&&J.containsRange(e,i)&&(r=Math.max(0,i.startColumn-e.startColumn),o=Math.min(e.endColumn,i.endColumn)-e.startColumn),{start:r,end:o}}_show(){this._trace("invoking _show"),this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout(()=>{this._input.domNode.focus(),this._input.domNode.setSelectionRange(parseInt(this._input.domNode.getAttribute("selectionStart")),parseInt(this._input.domNode.getAttribute("selectionEnd")))},100)}async _updateRenameCandidates(e,t,i){const r=(...u)=>this._trace("_updateRenameCandidates",...u);r("start");const o=await UF(Promise.allSettled(e),i);if(o===void 0){r("returning early - received updateRenameCandidates results - undefined");return}const s=o.flatMap(u=>u.status==="fulfilled"&&Rm(u.value)?u.value:[]);r(`received updateRenameCandidates results - total (unfiltered) ${s.length} candidates.`);const a=Wg(s,u=>u.newSymbolName);r(`distinct candidates - ${a.length} candidates.`);const l=a.filter(({newSymbolName:u})=>u.trim().length>0&&u!==this._input.domNode.value&&u!==t);if(r(`valid distinct candidates - ${s.length} candidates.`),l.length<1){r("returning early - no valid distinct candidates");return}r("setting candidates"),this._renameCandidateListView.setCandidates(l),r("asking editor to re-layout"),this._editor.layoutContentWidget(this)}_hide(){this._trace("invoked _hide"),this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}_getTopForPosition(){const e=this._editor.getVisibleRanges();let t;return e.length>0?t=e[0].startLineNumber:(this._logService.warn("RenameWidget#_getTopForPosition: this should not happen - visibleRanges is empty"),t=Math.max(1,this._position.lineNumber-5)),this._editor.getTopForLineNumber(this._position.lineNumber)-this._editor.getTopForLineNumber(t)}_trace(...e){this._logService.trace("RenameWidget",...e)}};tQ=UZt([iA(2,jo),iA(3,Bi),iA(4,ln),iA(5,tl)],tQ);class nQ{constructor(e,t){this._disposables=new Je,this._availableHeight=0,this._minimumWidth=0,this._lineHeight=t.fontInfo.lineHeight,this._typicalHalfwidthCharacterWidth=t.fontInfo.typicalHalfwidthCharacterWidth,this._listContainer=document.createElement("div"),e.appendChild(this._listContainer),this._listWidget=nQ._createListWidget(this._listContainer,this._candidateViewHeight,t.fontInfo),this._listWidget.onDidChangeFocus(i=>{i.elements.length===1&&t.onFocusChange(i.elements[0].newSymbolName)},this._disposables),this._listWidget.onDidChangeSelection(i=>{i.elements.length===1&&t.onSelectionChange()},this._disposables),this._disposables.add(this._listWidget.onDidBlur(i=>{this._listWidget.setFocus([])})),this._listWidget.style(Wy({listInactiveFocusForeground:s0,listInactiveFocusBackground:a0}))}dispose(){this._listWidget.dispose(),this._disposables.dispose()}layout({height:e,width:t}){this._availableHeight=e,this._minimumWidth=t}setCandidates(e){this._listWidget.splice(0,0,e);const t=this._pickListHeight(e.length),i=this._pickListWidth(e);this._listWidget.layout(t,i),this._listContainer.style.height=`${t}px`,this._listContainer.style.width=`${i}px`,Ng(L("renameSuggestionsReceivedAria","Received {0} rename suggestions",e.length))}clearCandidates(){this._listContainer.style.height="0px",this._listContainer.style.width="0px",this._listWidget.splice(0,this._listWidget.length,[])}get nCandidates(){return this._listWidget.length}get focusedCandidate(){if(this._listWidget.length===0)return;const e=this._listWidget.getSelectedElements()[0];if(e!==void 0)return e.newSymbolName;const t=this._listWidget.getFocusedElements()[0];if(t!==void 0)return t.newSymbolName}focusNext(){if(this._listWidget.length===0)return!1;const e=this._listWidget.getFocus();return e.length===0?(this._listWidget.focusFirst(),!0):e[0]===this._listWidget.length-1?(this._listWidget.setFocus([]),!1):(this._listWidget.focusNext(),!0)}focusPrevious(){if(this._listWidget.length===0)return!1;const e=this._listWidget.getFocus();return e.length===0?(this._listWidget.focusLast(),!0):e[0]===0?(this._listWidget.setFocus([]),!1):(this._listWidget.focusPrevious(),!0)}clearFocus(){this._listWidget.setFocus([])}get _candidateViewHeight(){const{totalHeight:e}=CC.getLayoutInfo({lineHeight:this._lineHeight});return e}_pickListHeight(e){const t=this._candidateViewHeight*e;return Math.min(t,this._availableHeight,this._candidateViewHeight*7)}_pickListWidth(e){const t=Math.ceil(Math.max(...e.map(r=>r.newSymbolName.length))*this._typicalHalfwidthCharacterWidth);return Math.max(this._minimumWidth,25+t+10)}static _createListWidget(e,t,i){const r=new class{getTemplateId(s){return"candidate"}getHeight(s){return t}},o=new class{constructor(){this.templateId="candidate"}renderTemplate(s){return new CC(s,i)}renderElement(s,a,l){l.populate(s)}disposeTemplate(s){s.dispose()}};return new Ju("NewSymbolNameCandidates",e,r,[o],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class KZt{constructor(){this._onDidChange=new be,this.onDidChange=this._onDidChange.event,this._disposables=new Je}get domNode(){return this._domNode||(this._domNode=document.createElement("input"),this._domNode.className="rename-input",this._domNode.type="text",this._domNode.setAttribute("aria-label",L("renameAriaLabel","Rename input. Type new name and press Enter to commit.")),this._disposables.add(Ae(this._domNode,"input",()=>this._onDidChange.fire()))),this._domNode}dispose(){this._onDidChange.dispose(),this._disposables.dispose()}}class CC{constructor(e,t){this._domNode=document.createElement("div"),this._domNode.style.display="flex",this._domNode.style.columnGap="5px",this._domNode.style.alignItems="center",this._domNode.style.height=`${t.lineHeight}px`,this._domNode.style.padding=`${CC._PADDING}px`;const i=document.createElement("div");i.style.display="flex",i.style.alignItems="center",i.style.width=i.style.height=`${t.lineHeight*.8}px`,this._domNode.appendChild(i),this._icon=VD(ut.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),Ts(this._label,t),this._domNode.appendChild(this._label),e.appendChild(this._domNode)}populate(e){this._updateIcon(e),this._updateLabel(e)}_updateIcon(e){var t;const i=!!(!((t=e.tags)===null||t===void 0)&&t.includes(R6.AIGenerated));this._icon.style.display=i?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+CC._PADDING*2}}dispose(){}}CC._PADDING=2;var JZt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},l1=function(n,e){return function(t,i){e(t,i,n)}},iQ;class rQ{constructor(e,t,i){this.model=e,this.position=t,this._providerRenameIdx=0,this._providers=i.ordered(e)}hasProvider(){return this._providers.length>0}async resolveRenameLocation(e){const t=[];for(this._providerRenameIdx=0;this._providerRenameIdx0?t.join(` +`)&&t.range.startLineNumber!==t.range.endLineNumber&&t.range.startColumn!==t.range.endColumn){if(t.range.startColumn!==1)return!1;const s=t.range.endLineNumber,a=t.range.endColumn,l=(r=(i=e.getModel())===null||i===void 0?void 0:i.getLineLength(s))!==null&&r!==void 0?r:0;if(a!==l+1)return!1}return!0}async fetchInlineEdit(e,t){this._currentRequestCts&&this._currentRequestCts.dispose(!0);const i=e.getModel();if(!i)return;const r=i.getVersionId(),o=this.languageFeaturesService.inlineEditProvider.all(i);if(o.length===0)return;const s=o[0];this._currentRequestCts=new fo;const a=this._currentRequestCts.token,l=t?_Z.Automatic:_Z.Invoke;if(t&&await ERt(50,a),a.isCancellationRequested||i.isDisposed()||i.getVersionId()!==r)return;const c=await s.provideInlineEdit(i,{triggerKind:l},a);if(c&&!(a.isCancellationRequested||i.isDisposed()||i.getVersionId()!==r)&&this.validateInlineEdit(e,c))return c}async getInlineEdit(e,t){var i;this._isCursorAtInlineEditContext.set(!1),await this.clear();const r=await this.fetchInlineEdit(e,t);if(!r)return;const o=r.range.endLineNumber,s=r.range.endColumn,a=new UN(o,[new CA(s,r.text,!1)]),l=this.instantiationService.createInstance(Hj,this.editor,{ghostText:Bh(a),minReservedLineCount:Bh(0),targetTextModel:Bh((i=this.editor.getModel())!==null&&i!==void 0?i:void 0),range:Bh(r.range),backgroundColoring:this._backgroundColoring});this._currentEdit.set(new TRt(l,r),void 0)}async trigger(){await this.getInlineEdit(this.editor,!1)}async jumpBack(){this._jumpBackPosition&&(this.editor.setPosition(this._jumpBackPosition),this.editor.revealPositionInCenterIfOutsideViewport(this._jumpBackPosition))}async accept(){var e;this._isAccepting.set(!0,void 0);const t=(e=this._currentEdit.get())===null||e===void 0?void 0:e.edit;if(!t)return;let i=t.text;t.text.startsWith(` +`)&&(i=t.text.substring(1)),this.editor.pushUndoStop(),this.editor.executeEdits("acceptCurrent",[vr.replace(J.lift(t.range),i)]),t.accepted&&await this._commandService.executeCommand(t.accepted.id,...t.accepted.arguments||[]).then(void 0,qr),this.freeEdit(t),Bi(r=>{this._currentEdit.set(void 0,r),this._isAccepting.set(!1,r)})}jumpToCurrent(){var e,t;this._jumpBackPosition=(e=this.editor.getSelection())===null||e===void 0?void 0:e.getStartPosition();const i=(t=this._currentEdit.get())===null||t===void 0?void 0:t.edit;if(!i)return;const r=ve.lift({lineNumber:i.range.startLineNumber,column:i.range.startColumn});this.editor.setPosition(r),this.editor.revealPositionInCenterIfOutsideViewport(r)}async clear(e=!0){var t;const i=(t=this._currentEdit.get())===null||t===void 0?void 0:t.edit;i&&(i!=null&&i.rejected)&&e&&await this._commandService.executeCommand(i.rejected.id,...i.rejected.arguments||[]).then(void 0,qr),i&&this.freeEdit(i),this._currentEdit.set(void 0,void 0)}freeEdit(e){const t=this.editor.getModel();if(!t)return;const i=this.languageFeaturesService.inlineEditProvider.all(t);i.length!==0&&i[0].freeInlineEdit(e)}shouldShowHoverAt(e){const t=this._currentEdit.get();if(!t)return!1;const i=t.edit,r=t.widget.model;if(J.containsPosition(i.range,e.getStartPosition())||J.containsPosition(i.range,e.getEndPosition()))return!0;const s=r.ghostText.get();return s?s.parts.some(a=>e.containsPosition(new ve(s.lineNumber,a.column))):!1}shouldShowHoverAtViewZone(e){var t,i;return(i=(t=this._currentEdit.get())===null||t===void 0?void 0:t.widget.ownsViewZone(e))!==null&&i!==void 0?i:!1}};Qo.ID="editor.contrib.inlineEditController",Qo.inlineEditVisibleKey="inlineEditVisible",Qo.inlineEditVisibleContext=new St(bC.inlineEditVisibleKey,!1),Qo.cursorAtInlineEditKey="cursorAtInlineEdit",Qo.cursorAtInlineEditContext=new St(bC.cursorAtInlineEditKey,!1),Qo=bC=kRt([cM(1,$t),cM(2,ln),cM(3,Rt),cM(4,Xr),cM(5,Pn)],Qo);function ERt(n,e){return new Promise(t=>{let i;const r=setTimeout(()=>{i&&i.dispose(),t()},n);e&&(i=e.onCancellationRequested(()=>{clearTimeout(r),i&&i.dispose(),t()}))})}class RRt extends Nt{constructor(){super({id:_Rt,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:Oe.and(ne.writable,Qo.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:Oe.and(ne.writable,Qo.inlineEditVisibleContext,Qo.cursorAtInlineEditContext)}],menuOpts:[{menuId:Q.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=Qo.get(t);await(i==null?void 0:i.accept())}}class ZRt extends Nt{constructor(){const e=Oe.and(ne.writable,Oe.not(Qo.inlineEditVisibleKey));super({id:"editor.action.inlineEdit.trigger",label:"Trigger Inline Edit",alias:"Trigger Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e}})}async run(e,t){const i=Qo.get(t);i==null||i.trigger()}}class WRt extends Nt{constructor(){const e=Oe.and(ne.writable,Qo.inlineEditVisibleContext,Oe.not(Qo.cursorAtInlineEditKey));super({id:IRt,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:Q.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const i=Qo.get(t);i==null||i.jumpToCurrent()}}class ARt extends Nt{constructor(){const e=Oe.and(ne.writable,Qo.cursorAtInlineEditContext);super({id:FRt,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:Q.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=Qo.get(t);i==null||i.jumpBack()}}class VRt extends Nt{constructor(){const e=Oe.and(ne.writable,Qo.inlineEditVisibleContext);super({id:LRt,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:Q.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=Qo.get(t);await(i==null?void 0:i.clear())}}var GRt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},BLe=function(n,e){return function(t,i){e(t,i,n)}};class XRt{constructor(e,t,i){this.owner=e,this.range=t,this.controller=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let Jj=class{constructor(e,t,i){this._editor=e,this._instantiationService=t,this._telemetryService=i,this.hoverOrdinal=5}suggestHoverAnchor(e){const t=Qo.get(this._editor);if(!t)return null;const i=e.target;if(i.type===8){const r=i.detail;if(t.shouldShowHoverAtViewZone(r.viewZoneId)){const o=i.range;return new tC(1e3,this,o,e.event.posx,e.event.posy,!1)}}return i.type===7&&t.shouldShowHoverAt(i.range)?new tC(1e3,this,i.range,e.event.posx,e.event.posy,!1):i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range)?new tC(1e3,this,i.range,e.event.posx,e.event.posy,!1):null}computeSync(e,t){if(this._editor.getOption(63).showToolbar!=="onHover")return[];const i=Qo.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new XRt(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new Je;this._telemetryService.publicLog2("inlineEditHover.shown");const r=this._instantiationService.createInstance(Lx,this._editor,!1,Bh(null));return e.fragment.appendChild(r.getDomNode()),i.add(r),i}};Jj=GRt([BLe(1,$t),BLe(2,Rl)],Jj),tt(RRt),tt(VRt),tt(WRt),tt(ARt),tt(ZRt),vi(Qo.ID,Qo,3),O0.register(Jj);const yC={Visible:new St("parameterHintsVisible",!1),MultipleSignatures:new St("parameterHintsMultipleSignatures",!1)};async function zLe(n,e,t,i,r){const o=n.ordered(e);for(const s of o)try{const a=await s.provideSignatureHelp(e,t,r,i);if(a)return a}catch(a){qr(a)}}$n.registerCommand("_executeSignatureHelpProvider",async(n,...e)=>{const[t,i,r]=e;hi(en.isUri(t)),hi(ve.isIPosition(i)),hi(typeof r=="string"||!r);const o=n.get(Rt),s=await n.get(kl).createModelReference(t);try{const a=await zLe(o.signatureHelpProvider,s.object.textEditorModel,ve.lift(i),{triggerKind:af.Invoke,isRetrigger:!1,triggerCharacter:r},Yn.None);return a?(setTimeout(()=>a.dispose(),0),a.value):void 0}finally{s.dispose()}});var a1;(function(n){n.Default={type:0};class e{constructor(r,o){this.request=r,this.previouslyActiveHints=o,this.type=2}}n.Pending=e;class t{constructor(r){this.hints=r,this.type=1}}n.Active=t})(a1||(a1={}));class tV extends Fe{constructor(e,t,i=tV.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new be),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=a1.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new Ns),this.triggerChars=new k9,this.retriggerChars=new k9,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new Ld(i),this._register(this.editor.onDidBlurEditorWidget(()=>this.cancel())),this._register(this.editor.onDidChangeConfiguration(()=>this.onEditorConfigurationChange())),this._register(this.editor.onDidChangeModel(r=>this.onModelChanged())),this._register(this.editor.onDidChangeModelLanguage(r=>this.onModelChanged())),this._register(this.editor.onDidChangeCursorSelection(r=>this.onCursorChange(r))),this._register(this.editor.onDidChangeModelContent(r=>this.onModelContentChange())),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType(r=>this.onDidType(r))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(e){this._state.type===2&&this._state.request.cancel(),this._state=e}cancel(e=!1){this.state=a1.Default,this.throttledDelayer.cancel(),e||this._onChangedHints.fire(void 0)}trigger(e,t){const i=this.editor.getModel();if(!i||!this.providers.has(i))return;const r=++this.triggerId;this._pendingTriggers.push(e),this.throttledDelayer.trigger(()=>this.doTrigger(r),t).catch(yn)}next(){if(this.state.type!==1)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t%e===e-1,r=this.editor.getOption(86).cycle;if((e<2||i)&&!r){this.cancel();return}this.updateActiveSignature(i&&r?0:t+1)}previous(){if(this.state.type!==1)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t===0,r=this.editor.getOption(86).cycle;if((e<2||i)&&!r){this.cancel();return}this.updateActiveSignature(i&&r?e-1:t-1)}updateActiveSignature(e){this.state.type===1&&(this.state=new a1.Active({...this.state.hints,activeSignature:e}),this._onChangedHints.fire(this.state.hints))}async doTrigger(e){const t=this.state.type===1||this.state.type===2,i=this.getLastActiveHints();if(this.cancel(!0),this._pendingTriggers.length===0)return!1;const r=this._pendingTriggers.reduce(PRt);this._pendingTriggers=[];const o={triggerKind:r.triggerKind,triggerCharacter:r.triggerCharacter,isRetrigger:t,activeSignatureHelp:i};if(!this.editor.hasModel())return!1;const s=this.editor.getModel(),a=this.editor.getPosition();this.state=new a1.Pending(rs(l=>zLe(this.providers,s,a,o,l)),i);try{const l=await this.state.request;return e!==this.triggerId?(l==null||l.dispose(),!1):!l||!l.value.signatures||l.value.signatures.length===0?(l==null||l.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1):(this.state=new a1.Active(l.value),this._lastSignatureHelpResult.value=l,this._onChangedHints.fire(this.state.hints),!0)}catch(l){return e===this.triggerId&&(this.state=a1.Default),yn(l),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return this.state.type===1||this.state.type===2||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars.clear(),this.retriggerChars.clear();const e=this.editor.getModel();if(e)for(const t of this.providers.ordered(e)){for(const i of t.signatureHelpTriggerCharacters||[])if(i.length){const r=i.charCodeAt(0);this.triggerChars.add(r),this.retriggerChars.add(r)}for(const i of t.signatureHelpRetriggerCharacters||[])i.length&&this.retriggerChars.add(i.charCodeAt(0))}}onDidType(e){if(!this.triggerOnType)return;const t=e.length-1,i=e.charCodeAt(t);(this.triggerChars.has(i)||this.isTriggered&&this.retriggerChars.has(i))&&this.trigger({triggerKind:af.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:af.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:af.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}}tV.DEFAULT_DELAY=120;function PRt(n,e){switch(e.triggerKind){case af.Invoke:return e;case af.ContentChange:return n;case af.TriggerCharacter:default:return e}}var ORt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},jj=function(n,e){return function(t,i){e(t,i,n)}},Qj;const oc=Ct,BRt=so("parameter-hints-next",ut.chevronDown,_("parameterHintsNextIcon","Icon for show next parameter hint.")),zRt=so("parameter-hints-previous",ut.chevronUp,_("parameterHintsPreviousIcon","Icon for show previous parameter hint."));let nV=Qj=class extends Fe{constructor(e,t,i,r,o){super(),this.editor=e,this.model=t,this.renderDisposeables=this._register(new Je),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new xf({editor:e},o,r)),this.keyVisible=yC.Visible.bindTo(i),this.keyMultipleSignatures=yC.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=oc(".editor-widget.parameter-hints-widget"),t=je(e,oc(".phwrapper"));t.tabIndex=-1;const i=je(t,oc(".controls")),r=je(i,oc(".button"+sn.asCSSSelector(zRt))),o=je(i,oc(".overloads")),s=je(i,oc(".button"+sn.asCSSSelector(BRt)));this._register(Ve(r,"click",h=>{An.stop(h),this.previous()})),this._register(Ve(s,"click",h=>{An.stop(h),this.next()}));const a=oc(".body"),l=new WF(a,{alwaysConsumeMouseWheel:!0});this._register(l),t.appendChild(l.getDomNode());const u=je(a,oc(".signature")),c=je(a,oc(".docs"));e.style.userSelect="text",this.domNodes={element:e,signature:u,overloads:o,docs:c,scrollbar:l},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(h=>{this.visible&&this.editor.layoutContentWidget(this)}));const d=()=>{if(!this.domNodes)return;const h=this.editor.getOption(50);this.domNodes.element.style.fontSize=`${h.fontSize}px`,this.domNodes.element.style.lineHeight=`${h.lineHeight/h.fontSize}`};d(),this._register(lt.chain(this.editor.onDidChangeConfiguration.bind(this.editor),h=>h.filter(m=>m.hasChanged(50)))(d)),this._register(this.editor.onDidLayoutChange(h=>this.updateMaxHeight())),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout(()=>{var e;(e=this.domNodes)===null||e===void 0||e.element.classList.add("visible")},100),this.editor.layoutContentWidget(this))}hide(){var e;this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,(e=this.domNodes)===null||e===void 0||e.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(e){var t;if(this.renderDisposeables.clear(),!this.domNodes)return;const i=e.signatures.length>1;this.domNodes.element.classList.toggle("multiple",i),this.keyMultipleSignatures.set(i),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const r=e.signatures[e.activeSignature];if(!r)return;const o=je(this.domNodes.signature,oc(".code")),s=this.editor.getOption(50);o.style.fontSize=`${s.fontSize}px`,o.style.fontFamily=s.fontFamily;const a=r.parameters.length>0,l=(t=r.activeParameter)!==null&&t!==void 0?t:e.activeParameter;if(a)this.renderParameters(o,r,l);else{const d=je(o,oc("span"));d.textContent=r.label}const u=r.parameters[l];if(u!=null&&u.documentation){const d=oc("span.documentation");if(typeof u.documentation=="string")d.textContent=u.documentation;else{const h=this.renderMarkdownDocs(u.documentation);d.appendChild(h.element)}je(this.domNodes.docs,oc("p",{},d))}if(r.documentation!==void 0)if(typeof r.documentation=="string")je(this.domNodes.docs,oc("p",{},r.documentation));else{const d=this.renderMarkdownDocs(r.documentation);je(this.domNodes.docs,d.element)}const c=this.hasDocs(r,u);if(this.domNodes.signature.classList.toggle("has-docs",c),this.domNodes.docs.classList.toggle("empty",!c),this.domNodes.overloads.textContent=String(e.activeSignature+1).padStart(e.signatures.length.toString().length,"0")+"/"+e.signatures.length,u){let d="";const h=r.parameters[l];Array.isArray(h.label)?d=r.label.substring(h.label[0],h.label[1]):d=h.label,h.documentation&&(d+=typeof h.documentation=="string"?`, ${h.documentation}`:`, ${h.documentation.value}`),r.documentation&&(d+=typeof r.documentation=="string"?`, ${r.documentation}`:`, ${r.documentation.value}`),this.announcedLabel!==d&&(Ml(_("hint","{0}, hint",d)),this.announcedLabel=d)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=this.renderDisposeables.add(this.markdownRenderer.render(e,{asyncRenderCallback:()=>{var i;(i=this.domNodes)===null||i===void 0||i.scrollbar.scanDomNode()}}));return t.element.classList.add("markdown-docs"),t}hasDocs(e,t){return!!(t&&typeof t.documentation=="string"&&Ab(t.documentation).length>0||t&&typeof t.documentation=="object"&&Ab(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&Ab(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&Ab(e.documentation.value).length>0)}renderParameters(e,t,i){const[r,o]=this.getParameterLabelOffsets(t,i),s=document.createElement("span");s.textContent=t.label.substring(0,r);const a=document.createElement("span");a.textContent=t.label.substring(r,o),a.className="parameter active";const l=document.createElement("span");l.textContent=t.label.substring(o),je(e,s,a,l)}getParameterLabelOffsets(e,t){const i=e.parameters[t];if(i){if(Array.isArray(i.label))return i.label;if(i.label.length){const r=new RegExp(`(\\W|^)${Wu(i.label)}(?=\\W|$)`,"g");r.test(e.label);const o=r.lastIndex-i.label.length;return o>=0?[o,r.lastIndex]:[0,0]}else return[0,0]}else return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}getDomNode(){return this.domNodes||this.createParameterHintDOMNodes(),this.domNodes.element}getId(){return Qj.ID}updateMaxHeight(){if(!this.domNodes)return;const t=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=t;const i=this.domNodes.element.getElementsByClassName("phwrapper");i.length&&(i[0].style.maxHeight=t)}};nV.ID="editor.widget.parameterHintsWidget",nV=Qj=ORt([jj(2,ln),jj(3,Bl),jj(4,br)],nV),re("editorHoverWidget.highlightForeground",{dark:Td,light:Td,hcDark:Td,hcLight:Td},_("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var HRt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},HLe=function(n,e){return function(t,i){e(t,i,n)}},$j;let vC=$j=class extends Fe{static get(e){return e.getContribution($j.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new tV(e,i.signatureHelpProvider)),this._register(this.model.onChangedHints(r=>{var o;r?(this.widget.value.show(),this.widget.value.render(r)):(o=this.widget.rawValue)===null||o===void 0||o.hide()})),this.widget=new Lh(()=>this._register(t.createInstance(nV,this.editor,this.model)))}cancel(){this.model.cancel()}previous(){var e;(e=this.widget.rawValue)===null||e===void 0||e.previous()}next(){var e;(e=this.widget.rawValue)===null||e===void 0||e.next()}trigger(e){this.model.trigger(e,0)}};vC.ID="editor.controller.parameterHints",vC=$j=HRt([HLe(1,$t),HLe(2,Rt)],vC);class YRt extends Nt{constructor(){super({id:"editor.action.triggerParameterHints",label:_("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:ne.hasSignatureHelpProvider,kbOpts:{kbExpr:ne.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=vC.get(t);i==null||i.trigger({triggerKind:af.Invoke})}}vi(vC.ID,vC,2),tt(YRt);const qj=175,eQ=Ko.bindToContribution(vC.get);gt(new eQ({id:"closeParameterHints",precondition:yC.Visible,handler:n=>n.cancel(),kbOpts:{weight:qj,kbExpr:ne.focus,primary:9,secondary:[1033]}})),gt(new eQ({id:"showPrevParameterHint",precondition:Oe.and(yC.Visible,yC.MultipleSignatures),handler:n=>n.previous(),kbOpts:{weight:qj,kbExpr:ne.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),gt(new eQ({id:"showNextParameterHint",precondition:Oe.and(yC.Visible,yC.MultipleSignatures),handler:n=>n.next(),kbOpts:{weight:qj,kbExpr:ne.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var URt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},iV=function(n,e){return function(t,i){e(t,i,n)}};const Ix=new St("renameInputVisible",!1,_("renameInputVisible","Whether the rename input widget is visible"));new St("renameInputFocused",!1,_("renameInputFocused","Whether the rename input widget is focused"));let tQ=class{constructor(e,t,i,r,o,s){this._editor=e,this._acceptKeybindings=t,this._themeService=i,this._keybindingService=r,this._logService=s,this.allowEditorOverflow=!0,this._disposables=new Je,this._visibleContextKey=Ix.bindTo(o),this._isEditingRenameCandidate=!1,this._beforeFirstInputFieldEditSW=new Js,this._input=new KRt,this._disposables.add(this._input),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration(a=>{a.hasChanged(50)&&this._updateFont()})),this._disposables.add(i.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return"__renameInputWidget"}getDomNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="monaco-editor rename-box",this._domNode.appendChild(this._input.domNode),this._renameCandidateListView=this._disposables.add(new nQ(this._domNode,{fontInfo:this._editor.getOption(50),onFocusChange:e=>{this._input.domNode.value=e,this._isEditingRenameCandidate=!1},onSelectionChange:()=>{this._isEditingRenameCandidate=!1,this.acceptInput(!1)}})),this._disposables.add(this._input.onDidChange(()=>{var e,t,i,r;((e=this._renameCandidateListView)===null||e===void 0?void 0:e.focusedCandidate)!==void 0&&(this._isEditingRenameCandidate=!0),(t=this._timeBeforeFirstInputFieldEdit)!==null&&t!==void 0||(this._timeBeforeFirstInputFieldEdit=this._beforeFirstInputFieldEditSW.elapsed()),((i=this._renameCandidateProvidersCts)===null||i===void 0?void 0:i.token.isCancellationRequested)===!1&&this._renameCandidateProvidersCts.cancel(),(r=this._renameCandidateListView)===null||r===void 0||r.clearFocus()})),this._label=document.createElement("div"),this._label.className="rename-label",this._domNode.appendChild(this._label),this._updateFont(),this._updateStyles(this._themeService.getColorTheme())),this._domNode}_updateStyles(e){var t,i,r,o;if(!this._domNode)return;const s=e.getColor(zg),a=e.getColor(sye);this._domNode.style.backgroundColor=String((t=e.getColor(no))!==null&&t!==void 0?t:""),this._domNode.style.boxShadow=s?` 0 0 8px 2px ${s}`:"",this._domNode.style.border=a?`1px solid ${a}`:"",this._domNode.style.color=String((i=e.getColor(gye))!==null&&i!==void 0?i:""),this._input.domNode.style.backgroundColor=String((r=e.getColor(fye))!==null&&r!==void 0?r:"");const l=e.getColor(pye);this._input.domNode.style.borderWidth=l?"1px":"0px",this._input.domNode.style.borderStyle=l?"solid":"none",this._input.domNode.style.borderColor=(o=l==null?void 0:l.toString())!==null&&o!==void 0?o:"none"}_updateFont(){if(this._domNode===void 0)return;hi(this._label!==void 0,"RenameWidget#_updateFont: _label must not be undefined given _domNode is defined"),this._editor.applyFontInfo(this._input.domNode);const e=this._editor.getOption(50);this._label.style.fontSize=`${this._computeLabelFontSize(e.fontSize)}px`}_computeLabelFontSize(e){return e*.8}getPosition(){if(!this._visible||!this._editor.hasModel()||!this._editor.getDomNode())return null;const e=Fg(this.getDomNode().ownerDocument.body),t=po(this._editor.getDomNode()),i=this._getTopForPosition();this._nPxAvailableAbove=i+t.top,this._nPxAvailableBelow=e.height-this._nPxAvailableAbove;const r=this._editor.getOption(67),{totalHeight:o}=CC.getLayoutInfo({lineHeight:r}),s=this._nPxAvailableBelow>o*6?[2,1]:[1,2];return{position:this._position,preference:s}}beforeRender(){var e,t;const[i,r]=this._acceptKeybindings;return this._label.innerText=_({key:"label",comment:['placeholders are keybindings, e.g "F2 to Rename, Shift+F2 to Preview"']},"{0} to Rename, {1} to Preview",(e=this._keybindingService.lookupKeybinding(i))===null||e===void 0?void 0:e.getLabel(),(t=this._keybindingService.lookupKeybinding(r))===null||t===void 0?void 0:t.getLabel()),this._domNode.style.minWidth="200px",null}afterRender(e){if(this._trace("invoking afterRender, position: ",e?"not null":"null"),e===null){this.cancelInput(!0,"afterRender (because position is null)");return}if(!this._editor.hasModel()||!this._editor.getDomNode())return;hi(this._renameCandidateListView),hi(this._nPxAvailableAbove!==void 0),hi(this._nPxAvailableBelow!==void 0);const t=Dg(this._input.domNode),i=Dg(this._label);let r;e===2?r=this._nPxAvailableBelow:r=this._nPxAvailableAbove,this._renameCandidateListView.layout({height:r-i-t,width:Qa(this._input.domNode)})}acceptInput(e){var t;this._trace("invoking acceptInput"),(t=this._currentAcceptInput)===null||t===void 0||t.call(this,e)}cancelInput(e,t){var i;this._trace(`invoking cancelInput, caller: ${t}, _currentCancelInput: ${this._currentAcceptInput?"not undefined":"undefined"}`),(i=this._currentCancelInput)===null||i===void 0||i.call(this,e)}focusNextRenameSuggestion(){var e;!((e=this._renameCandidateListView)===null||e===void 0)&&e.focusNext()||(this._input.domNode.value=this._currentName)}focusPreviousRenameSuggestion(){var e;!((e=this._renameCandidateListView)===null||e===void 0)&&e.focusPrevious()||(this._input.domNode.value=this._currentName)}getInput(e,t,i,r,o){const{start:s,end:a}=this._getSelection(e,t);this._renameCandidateProvidersCts=new fo;const l=r(this._renameCandidateProvidersCts.token);this._updateRenameCandidates(l,t,o.token),this._isEditingRenameCandidate=!1,this._domNode.classList.toggle("preview",i),this._position=new ve(e.startLineNumber,e.startColumn),this._currentName=t,this._input.domNode.value=t,this._input.domNode.setAttribute("selectionStart",s.toString()),this._input.domNode.setAttribute("selectionEnd",a.toString()),this._input.domNode.size=Math.max((e.endColumn-e.startColumn)*1.1,20),this._beforeFirstInputFieldEditSW.reset();const u=new Je;u.add(jt(()=>o.dispose(!0))),u.add(jt(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)}));const c=new XR;return c.p.finally(()=>{u.dispose(),this._hide()}),this._currentCancelInput=d=>{var h;return this._trace("invoking _currentCancelInput"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,(h=this._renameCandidateListView)===null||h===void 0||h.clearCandidates(),c.complete(d),!0},this._currentAcceptInput=d=>{this._trace("invoking _currentAcceptInput"),hi(this._renameCandidateListView!==void 0);const h=this._renameCandidateListView.nCandidates;let m,f;const g=this._renameCandidateListView.focusedCandidate;if(g!==void 0?(this._trace("using new name from renameSuggestion"),m=g,f={k:"renameSuggestion"}):(this._trace("using new name from inputField"),m=this._input.domNode.value,f=this._isEditingRenameCandidate?{k:"userEditedRenameSuggestion"}:{k:"inputField"}),m===t||m.trim().length===0){this.cancelInput(!0,"_currentAcceptInput (because newName === value || newName.trim().length === 0)");return}this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView.clearCandidates(),c.complete({newName:m,wantsPreview:i&&d,stats:{source:f,nRenameSuggestions:h,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit}})},u.add(o.token.onCancellationRequested(()=>this.cancelInput(!0,"cts.token.onCancellationRequested"))),u.add(this._editor.onDidBlurEditorWidget(()=>{var d;return this.cancelInput(!(!((d=this._domNode)===null||d===void 0)&&d.ownerDocument.hasFocus()),"editor.onDidBlurEditorWidget")})),this._show(),c.p}_getSelection(e,t){hi(this._editor.hasModel());const i=this._editor.getSelection();let r=0,o=t.length;return!J.isEmpty(i)&&!J.spansMultipleLines(i)&&J.containsRange(e,i)&&(r=Math.max(0,i.startColumn-e.startColumn),o=Math.min(e.endColumn,i.endColumn)-e.startColumn),{start:r,end:o}}_show(){this._trace("invoking _show"),this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout(()=>{this._input.domNode.focus(),this._input.domNode.setSelectionRange(parseInt(this._input.domNode.getAttribute("selectionStart")),parseInt(this._input.domNode.getAttribute("selectionEnd")))},100)}async _updateRenameCandidates(e,t,i){const r=(...u)=>this._trace("_updateRenameCandidates",...u);r("start");const o=await UI(Promise.allSettled(e),i);if(o===void 0){r("returning early - received updateRenameCandidates results - undefined");return}const s=o.flatMap(u=>u.status==="fulfilled"&&Wm(u.value)?u.value:[]);r(`received updateRenameCandidates results - total (unfiltered) ${s.length} candidates.`);const a=Zg(s,u=>u.newSymbolName);r(`distinct candidates - ${a.length} candidates.`);const l=a.filter(({newSymbolName:u})=>u.trim().length>0&&u!==this._input.domNode.value&&u!==t);if(r(`valid distinct candidates - ${s.length} candidates.`),l.length<1){r("returning early - no valid distinct candidates");return}r("setting candidates"),this._renameCandidateListView.setCandidates(l),r("asking editor to re-layout"),this._editor.layoutContentWidget(this)}_hide(){this._trace("invoked _hide"),this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}_getTopForPosition(){const e=this._editor.getVisibleRanges();let t;return e.length>0?t=e[0].startLineNumber:(this._logService.warn("RenameWidget#_getTopForPosition: this should not happen - visibleRanges is empty"),t=Math.max(1,this._position.lineNumber-5)),this._editor.getTopForLineNumber(this._position.lineNumber)-this._editor.getTopForLineNumber(t)}_trace(...e){this._logService.trace("RenameWidget",...e)}};tQ=URt([iV(2,jo),iV(3,Oi),iV(4,ln),iV(5,tl)],tQ);class nQ{constructor(e,t){this._disposables=new Je,this._availableHeight=0,this._minimumWidth=0,this._lineHeight=t.fontInfo.lineHeight,this._typicalHalfwidthCharacterWidth=t.fontInfo.typicalHalfwidthCharacterWidth,this._listContainer=document.createElement("div"),e.appendChild(this._listContainer),this._listWidget=nQ._createListWidget(this._listContainer,this._candidateViewHeight,t.fontInfo),this._listWidget.onDidChangeFocus(i=>{i.elements.length===1&&t.onFocusChange(i.elements[0].newSymbolName)},this._disposables),this._listWidget.onDidChangeSelection(i=>{i.elements.length===1&&t.onSelectionChange()},this._disposables),this._disposables.add(this._listWidget.onDidBlur(i=>{this._listWidget.setFocus([])})),this._listWidget.style(Zv({listInactiveFocusForeground:s0,listInactiveFocusBackground:a0}))}dispose(){this._listWidget.dispose(),this._disposables.dispose()}layout({height:e,width:t}){this._availableHeight=e,this._minimumWidth=t}setCandidates(e){this._listWidget.splice(0,0,e);const t=this._pickListHeight(e.length),i=this._pickListWidth(e);this._listWidget.layout(t,i),this._listContainer.style.height=`${t}px`,this._listContainer.style.width=`${i}px`,kg(_("renameSuggestionsReceivedAria","Received {0} rename suggestions",e.length))}clearCandidates(){this._listContainer.style.height="0px",this._listContainer.style.width="0px",this._listWidget.splice(0,this._listWidget.length,[])}get nCandidates(){return this._listWidget.length}get focusedCandidate(){if(this._listWidget.length===0)return;const e=this._listWidget.getSelectedElements()[0];if(e!==void 0)return e.newSymbolName;const t=this._listWidget.getFocusedElements()[0];if(t!==void 0)return t.newSymbolName}focusNext(){if(this._listWidget.length===0)return!1;const e=this._listWidget.getFocus();return e.length===0?(this._listWidget.focusFirst(),!0):e[0]===this._listWidget.length-1?(this._listWidget.setFocus([]),!1):(this._listWidget.focusNext(),!0)}focusPrevious(){if(this._listWidget.length===0)return!1;const e=this._listWidget.getFocus();return e.length===0?(this._listWidget.focusLast(),!0):e[0]===0?(this._listWidget.setFocus([]),!1):(this._listWidget.focusPrevious(),!0)}clearFocus(){this._listWidget.setFocus([])}get _candidateViewHeight(){const{totalHeight:e}=CC.getLayoutInfo({lineHeight:this._lineHeight});return e}_pickListHeight(e){const t=this._candidateViewHeight*e;return Math.min(t,this._availableHeight,this._candidateViewHeight*7)}_pickListWidth(e){const t=Math.ceil(Math.max(...e.map(r=>r.newSymbolName.length))*this._typicalHalfwidthCharacterWidth);return Math.max(this._minimumWidth,25+t+10)}static _createListWidget(e,t,i){const r=new class{getTemplateId(s){return"candidate"}getHeight(s){return t}},o=new class{constructor(){this.templateId="candidate"}renderTemplate(s){return new CC(s,i)}renderElement(s,a,l){l.populate(s)}disposeTemplate(s){s.dispose()}};return new Ju("NewSymbolNameCandidates",e,r,[o],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class KRt{constructor(){this._onDidChange=new be,this.onDidChange=this._onDidChange.event,this._disposables=new Je}get domNode(){return this._domNode||(this._domNode=document.createElement("input"),this._domNode.className="rename-input",this._domNode.type="text",this._domNode.setAttribute("aria-label",_("renameAriaLabel","Rename input. Type new name and press Enter to commit.")),this._disposables.add(Ve(this._domNode,"input",()=>this._onDidChange.fire()))),this._domNode}dispose(){this._onDidChange.dispose(),this._disposables.dispose()}}class CC{constructor(e,t){this._domNode=document.createElement("div"),this._domNode.style.display="flex",this._domNode.style.columnGap="5px",this._domNode.style.alignItems="center",this._domNode.style.height=`${t.lineHeight}px`,this._domNode.style.padding=`${CC._PADDING}px`;const i=document.createElement("div");i.style.display="flex",i.style.alignItems="center",i.style.width=i.style.height=`${t.lineHeight*.8}px`,this._domNode.appendChild(i),this._icon=AD(ut.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),Ts(this._label,t),this._domNode.appendChild(this._label),e.appendChild(this._domNode)}populate(e){this._updateIcon(e),this._updateLabel(e)}_updateIcon(e){var t;const i=!!(!((t=e.tags)===null||t===void 0)&&t.includes(W6.AIGenerated));this._icon.style.display=i?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+CC._PADDING*2}}dispose(){}}CC._PADDING=2;var JRt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},l1=function(n,e){return function(t,i){e(t,i,n)}},iQ;class rQ{constructor(e,t,i){this.model=e,this.position=t,this._providerRenameIdx=0,this._providers=i.ordered(e)}hasProvider(){return this._providers.length>0}async resolveRenameLocation(e){const t=[];for(this._providerRenameIdx=0;this._providerRenameIdx0?t.join(` `):void 0}:{range:J.fromPositions(this.position),text:"",rejectReason:t.length>0?t.join(` `):void 0}}async provideRenameEdits(e,t){return this._provideRenameEdits(e,this._providerRenameIdx,[],t)}async _provideRenameEdits(e,t,i,r){const o=this._providers[t];if(!o)return{edits:[],rejectReason:i.join(` -`)};const s=await o.provideRenameEdits(this.model,this.position,e,r);if(s){if(s.rejectReason)return this._provideRenameEdits(e,t+1,i.concat(s.rejectReason),r)}else return this._provideRenameEdits(e,t+1,i.concat(L("no result","No result.")),r);return s}}async function jZt(n,e,t,i){const r=new rQ(e,t,n),o=await r.resolveRenameLocation(Yn.None);return o!=null&&o.rejectReason?{edits:[],rejectReason:o.rejectReason}:r.provideRenameEdits(i,Yn.None)}let Vp=iQ=class{static get(e){return e.getContribution(iQ.ID)}constructor(e,t,i,r,o,s,a,l,u){this.editor=e,this._instaService=t,this._notificationService=i,this._bulkEditService=r,this._progressService=o,this._logService=s,this._configService=a,this._languageFeaturesService=l,this._telemetryService=u,this._disposableStore=new Je,this._cts=new fo,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(tQ,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var e,t;const i=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new fo,!this.editor.hasModel()){i("editor has no model");return}const r=this.editor.getPosition(),o=new rQ(this.editor.getModel(),r,this._languageFeaturesService.renameProvider);if(!o.hasProvider()){i("skeleton has no provider");return}const s=new T0(this.editor,5,void 0,this._cts.token);let a;try{i("resolving rename location");const g=o.resolveRenameLocation(s.token);this._progressService.showWhile(g,250),a=await g,i("resolved rename location")}catch(g){g instanceof Lg?i("resolve rename location cancelled",JSON.stringify(g,null," ")):(i("resolve rename location failed",g instanceof Error?g:JSON.stringify(g,null," ")),(typeof g=="string"||Yh(g))&&((e=dl.get(this.editor))===null||e===void 0||e.showMessage(g||L("resolveRenameLocationFailed","An unknown error occurred while resolving rename location"),r)));return}finally{s.dispose()}if(!a){i("returning early - no loc");return}if(a.rejectReason){i(`returning early - rejected with reason: ${a.rejectReason}`,a.rejectReason),(t=dl.get(this.editor))===null||t===void 0||t.showMessage(a.rejectReason,r);return}if(s.token.isCancellationRequested){i("returning early - cts1 cancelled");return}const l=new T0(this.editor,5,a.range,this._cts.token),u=this.editor.getModel(),c=this._languageFeaturesService.newSymbolNamesProvider.all(u),d=g=>c.map(b=>b.provideNewSymbolNames(u,a.range,g));i("creating rename input field and awaiting its result");const h=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),m=await this._renameWidget.getInput(a.range,a.text,h,d,l);if(i("received response from rename input field"),c.length>0&&this._reportTelemetry(c.length,u.getLanguageId(),m),typeof m=="boolean"){i(`returning early - rename input field response - ${m}`),m&&this.editor.focus(),l.dispose();return}this.editor.focus(),i("requesting rename edits");const f=UF(o.provideRenameEdits(m.newName,l.token),l.token).then(async g=>{if(!g){i("returning early - no rename edits result");return}if(!this.editor.hasModel()){i("returning early - no model after rename edits are provided");return}if(g.rejectReason){i(`returning early - rejected with reason: ${g.rejectReason}`),this._notificationService.info(g.rejectReason);return}this.editor.setSelection(J.fromPositions(this.editor.getSelection().getPosition())),i("applying edits"),this._bulkEditService.apply(g,{editor:this.editor,showPreview:m.wantsPreview,label:L("label","Renaming '{0}' to '{1}'",a==null?void 0:a.text,m.newName),code:"undoredo.rename",quotableLabel:L("quotableLabel","Renaming {0} to {1}",a==null?void 0:a.text,m.newName),respectAutoSaveConfig:!0}).then(b=>{i("edits applied"),b.ariaSummary&&kl(L("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",a.text,m.newName,b.ariaSummary))}).catch(b=>{i(`error when applying edits ${JSON.stringify(b,null," ")}`),this._notificationService.error(L("rename.failedApply","Rename failed to apply edits")),this._logService.error(b)})},g=>{i("error when providing rename edits",JSON.stringify(g,null," ")),this._notificationService.error(L("rename.failed","Rename failed to compute edits")),this._logService.error(g)}).finally(()=>{l.dispose()});return i("returning rename operation"),this._progressService.showWhile(f,250),f}acceptRenameInput(e){this._renameWidget.acceptInput(e)}cancelRenameInput(){this._renameWidget.cancelInput(!0,"cancelRenameInput command")}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}_reportTelemetry(e,t,i){const r=typeof i=="boolean"?{kind:"cancelled",languageId:t,nRenameSuggestionProviders:e}:{kind:"accepted",languageId:t,nRenameSuggestionProviders:e,source:i.stats.source.k,nRenameSuggestions:i.stats.nRenameSuggestions,timeBeforeFirstInputFieldEdit:i.stats.timeBeforeFirstInputFieldEdit,wantsPreview:i.wantsPreview};this._telemetryService.publicLog2("renameInvokedEvent",r)}};Vp.ID="editor.contrib.renameController",Vp=iQ=JZt([l1(1,$t),l1(2,ko),l1(3,tM),l1(4,M0),l1(5,tl),l1(6,DJ),l1(7,Zt),l1(8,Zl)],Vp);class QZt extends Mt{constructor(){super({id:"editor.action.rename",label:L("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:Oe.and(ne.writable,ne.hasRenameProvider),kbOpts:{kbExpr:ne.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const i=e.get(vi),[r,o]=Array.isArray(t)&&t||[void 0,void 0];return en.isUri(r)&&ye.isIPosition(o)?i.openCodeEditor({resource:r},i.getActiveCodeEditor()).then(s=>{s&&(s.setPosition(o),s.invokeWithinContext(a=>(this.reportTelemetry(a,s),this.run(a,s))))},vn):super.runCommand(e,t)}run(e,t){const i=e.get(tl),r=Vp.get(t);return r?(i.trace("[RenameAction] got controller, running..."),r.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}yi(Vp.ID,Vp,4),tt(QZt);const oQ=Ko.bindToContribution(Vp.get);gt(new oQ({id:"acceptRenameInput",precondition:Fx,handler:n=>n.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:Oe.and(ne.focus,Oe.not("isComposing")),primary:3}})),gt(new oQ({id:"acceptRenameInputWithPreview",precondition:Oe.and(Fx,Oe.has("config.editor.rename.enablePreview")),handler:n=>n.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:Oe.and(ne.focus,Oe.not("isComposing")),primary:2051}})),gt(new oQ({id:"cancelRenameInput",precondition:Fx,handler:n=>n.cancelRenameInput(),kbOpts:{weight:199,kbExpr:ne.focus,primary:9,secondary:[1033]}})),Ji(class extends el{constructor(){super({id:"focusNextRenameSuggestion",title:{...oi("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:Fx,keybinding:[{primary:2,secondary:[18],weight:199}]})}run(e){const t=e.get(vi).getFocusedCodeEditor();if(!t)return;const i=Vp.get(t);i&&i.focusNextRenameSuggestion()}}),Ji(class extends el{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...oi("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:Fx,keybinding:[{primary:1026,secondary:[16],weight:199}]})}run(e){const t=e.get(vi).getFocusedCodeEditor();if(!t)return;const i=Vp.get(t);i&&i.focusPreviousRenameSuggestion()}}),zm("_executeDocumentRenameProvider",function(n,e,t,...i){const[r]=i;hi(typeof r=="string");const{renameProvider:o}=n.get(Zt);return jZt(o,e,t,r)}),zm("_executePrepareRename",async function(n,e,t){const{renameProvider:i}=n.get(Zt),o=await new rQ(e,t,i).resolveRenameLocation(Yn.None);if(o!=null&&o.rejectReason)throw new Error(o.rejectReason);return o}),Do.as(Eh.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:L("enablePreview","Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var $Zt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Y_e=function(n,e){return function(t,i){e(t,i,n)}};let dk=class extends Ie{constructor(e,t,i){super(),this.editor=e,this.languageConfigurationService=t,this.editorWorkerService=i,this.decorations=this.editor.createDecorationsCollection(),this.options=this.createOptions(e.getOption(73)),this.computePromise=null,this.currentOccurrences={},this._register(e.onDidChangeModel(r=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(e.onDidChangeModelLanguage(r=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(t.onDidChange(r=>{var o;const s=(o=this.editor.getModel())===null||o===void 0?void 0:o.getLanguageId();s&&r.affects(s)&&(this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(e.onDidChangeConfiguration(r=>{this.options&&!r.hasChanged(73)||(this.options=this.createOptions(e.getOption(73)),this.updateDecorations([]),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(this.editor.onDidChangeModelContent(r=>{this.computeSectionHeaders.schedule()})),this.computeSectionHeaders=this._register(new Ri(()=>{this.findSectionHeaders()},250)),this.computeSectionHeaders.schedule(0)}createOptions(e){if(!e||!this.editor.hasModel())return;const t=this.editor.getModel().getLanguageId();if(!t)return;const i=this.languageConfigurationService.getLanguageConfiguration(t).comments,r=this.languageConfigurationService.getLanguageConfiguration(t).foldingRules;if(!(!i&&!(r!=null&&r.markers)))return{foldingRules:r,findMarkSectionHeaders:e.showMarkSectionHeaders,findRegionSectionHeaders:e.showRegionSectionHeaders}}findSectionHeaders(){var e,t;if(!this.editor.hasModel()||!(!((e=this.options)===null||e===void 0)&&e.findMarkSectionHeaders)&&!(!((t=this.options)===null||t===void 0)&&t.findRegionSectionHeaders))return;const i=this.editor.getModel();if(i.isDisposed()||i.isTooLargeForSyncing())return;const r=i.getVersionId();this.editorWorkerService.findSectionHeaders(i.uri,this.options).then(o=>{i.isDisposed()||i.getVersionId()!==r||this.updateDecorations(o)})}updateDecorations(e){const t=this.editor.getModel();t&&(e=e.filter(o=>{if(!o.shouldBeInComments)return!0;const s=t.validateRange(o.range),a=t.tokenization.getLineTokens(s.startLineNumber),l=a.findTokenIndexAtOffset(s.startColumn-1),u=a.getStandardTokenType(l);return a.getLanguageId(l)===t.getLanguageId()&&u===1}));const i=Object.values(this.currentOccurrences).map(o=>o.decorationId),r=e.map(o=>qZt(o));this.editor.changeDecorations(o=>{const s=o.deltaDecorations(i,r);this.currentOccurrences={};for(let a=0,l=s.length;a0?t.charCodeAt(0):0)}acceptEdit(e,t,i,r,o){this._acceptDeleteRange(e),this._acceptInsertText(new ye(e.startLineNumber,e.startColumn),t,i,r,o),this._updateEndLineNumber()}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return;const t=e.startLineNumber-this._startLineNumber,i=e.endLineNumber-this._startLineNumber;if(i<0){const o=i-t;this._startLineNumber-=o;return}const r=this._tokens.getMaxDeltaLine();if(!(t>=r+1)){if(t<0&&i>=r+1){this._startLineNumber=0,this._tokens.clear();return}if(t<0){const o=-t;this._startLineNumber-=o,this._tokens.acceptDeleteRange(e.startColumn-1,0,0,i,e.endColumn-1)}else this._tokens.acceptDeleteRange(0,t,e.startColumn-1,i,e.endColumn-1)}}_acceptInsertText(e,t,i,r,o){if(t===0&&i===0)return;const s=e.lineNumber-this._startLineNumber;if(s<0){this._startLineNumber+=t;return}const a=this._tokens.getMaxDeltaLine();s>=a+1||this._tokens.acceptInsertText(s,e.column-1,t,i,r,o)}}class rA{constructor(e){this._tokens=e,this._tokenCount=e.length/4}toString(e){const t=[];for(let i=0;ie)i=r-1;else{let s=r;for(;s>t&&this._getDeltaLine(s-1)===e;)s--;let a=r;for(;ae||h===e&&f>=t)&&(he||f===e&&b>=t){if(fo?g-=o-i:g=i;else if(m===t&&f===i)if(m===r&&g>o)g-=o-i;else{c=!0;continue}else if(mo)m=t,f=i,g=f+(g-o);else{c=!0;continue}else if(m>r){if(l===0&&!c){u=a;break}m-=l}else if(m===r&&f>=o)e&&m===0&&(f+=e,g+=e),m-=l,f-=o-i,g-=o-i;else throw new Error("Not possible!");const v=4*u;s[v]=m,s[v+1]=f,s[v+2]=g,s[v+3]=b,u++}this._tokenCount=u}acceptInsertText(e,t,i,r,o,s){const a=i===0&&r===1&&(s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122),l=this._tokens,u=this._tokenCount;for(let c=0;c=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},sQ=function(n,e){return function(t,i){e(t,i,n)}};let aQ=class{constructor(e,t,i,r){this._legend=e,this._themeService=t,this._languageService=i,this._logService=r,this._hasWarnedOverlappingTokens=!1,this._hasWarnedInvalidLengthTokens=!1,this._hasWarnedInvalidEditStart=!1,this._hashTable=new Ap}getMetadata(e,t,i){const r=this._languageService.languageIdCodec.encodeLanguageId(i),o=this._hashTable.get(e,t,r);let s;if(o)s=o.metadata,this._logService.getLevel()===$s.Trace&&this._logService.trace(`SemanticTokensProviderStyling [CACHED] ${e} / ${t}: foreground ${hu.getForeground(s)}, fontStyle ${hu.getFontStyle(s).toString(2)}`);else{let a=this._legend.tokenTypes[e];const l=[];if(a){let u=t;for(let d=0;u>0&&d>1;u>0&&this._logService.getLevel()===$s.Trace&&(this._logService.trace(`SemanticTokensProviderStyling: unknown token modifier index: ${t.toString(2)} for legend: ${JSON.stringify(this._legend.tokenModifiers)}`),l.push("not-in-legend"));const c=this._themeService.getColorTheme().getTokenStyleMetadata(a,l,i);if(typeof c>"u")s=2147483647;else{if(s=0,typeof c.italic<"u"){const d=(c.italic?1:0)<<11;s|=d|1}if(typeof c.bold<"u"){const d=(c.bold?2:0)<<11;s|=d|2}if(typeof c.underline<"u"){const d=(c.underline?4:0)<<11;s|=d|4}if(typeof c.strikethrough<"u"){const d=(c.strikethrough?8:0)<<11;s|=d|8}if(c.foreground){const d=c.foreground<<15;s|=d|16}s===0&&(s=2147483647)}}else this._logService.getLevel()===$s.Trace&&this._logService.trace(`SemanticTokensProviderStyling: unknown token type index: ${e} for legend: ${JSON.stringify(this._legend.tokenTypes)}`),s=2147483647,a="not-in-legend";this._hashTable.add(e,t,r,s),this._logService.getLevel()===$s.Trace&&this._logService.trace(`SemanticTokensProviderStyling ${e} (${a}) / ${t} (${l.join(" ")}): foreground ${hu.getForeground(s)}, fontStyle ${hu.getFontStyle(s).toString(2)}`)}return s}warnOverlappingSemanticTokens(e,t){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,this._logService.warn(`Overlapping semantic tokens detected at lineNumber ${e}, column ${t}`))}warnInvalidLengthSemanticTokens(e,t){this._hasWarnedInvalidLengthTokens||(this._hasWarnedInvalidLengthTokens=!0,this._logService.warn(`Semantic token with invalid length detected at lineNumber ${e}, column ${t}`))}warnInvalidEditStart(e,t,i,r,o){this._hasWarnedInvalidEditStart||(this._hasWarnedInvalidEditStart=!0,this._logService.warn(`Invalid semantic tokens edit detected (previousResultId: ${e}, resultId: ${t}) at edit #${i}: The provided start offset ${r} is outside the previous data (length ${o}).`))}};aQ=e9t([sQ(1,jo),sQ(2,vr),sQ(3,tl)],aQ);function K_e(n,e,t){const i=n.data,r=n.data.length/5|0,o=Math.max(Math.ceil(r/1024),400),s=[];let a=0,l=1,u=0;for(;ac&&i[5*C]===0;)C--;if(C-1===c){let S=d;for(;S+1F)e.warnOverlappingSemanticTokens(_,F+1);else{const E=e.getMetadata(T,Z,t);E!==2147483647&&(f===0&&(f=_),h[m]=_-f,h[m+1]=F,h[m+2]=M,h[m+3]=E,m+=4,g=_,b=M)}l=_,u=F,a++}m!==h.length&&(h=h.subarray(0,m));const v=hk.create(f,h);s.push(v)}return s}class t9t{constructor(e,t,i,r){this.tokenTypeIndex=e,this.tokenModifierSet=t,this.languageId=i,this.metadata=r,this.next=null}}class Ap{constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=Ap._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1=this._growCount){const o=this._elements;this._currentLengthIndex++,this._currentLength=Ap._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+10?t[0]:[]}async function $_e(n,e,t,i,r){const o=s9t(n,e),s=await Promise.all(o.map(async a=>{let l,u=null;try{l=await a.provideDocumentSemanticTokens(e,a===t?i:null,r)}catch(c){u=c,l=null}return(!l||!oA(l)&&!j_e(l))&&(l=null),new o9t(a,l,u)}));for(const a of s){if(a.error)throw a.error;if(a.tokens)return a}return s.length>0?s[0]:null}function a9t(n,e){const t=n.orderedGroups(e);return t.length>0?t[0]:null}class l9t{constructor(e,t){this.provider=e,this.tokens=t}}function u9t(n,e){return n.has(e)}function q_e(n,e){const t=n.orderedGroups(e);return t.length>0?t[0]:[]}async function lQ(n,e,t,i){const r=q_e(n,e),o=await Promise.all(r.map(async s=>{let a;try{a=await s.provideDocumentRangeSemanticTokens(e,t,i)}catch(l){qr(l),a=null}return(!a||!oA(a))&&(a=null),new l9t(s,a)}));for(const s of o)if(s.tokens)return s;return o.length>0?o[0]:null}$n.registerCommand("_provideDocumentSemanticTokensLegend",async(n,...e)=>{const[t]=e;hi(t instanceof en);const i=n.get(xr).getModel(t);if(!i)return;const{documentSemanticTokensProvider:r}=n.get(Zt),o=a9t(r,i);return o?o[0].getLegend():n.get(Xr).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)}),$n.registerCommand("_provideDocumentSemanticTokens",async(n,...e)=>{const[t]=e;hi(t instanceof en);const i=n.get(xr).getModel(t);if(!i)return;const{documentSemanticTokensProvider:r}=n.get(Zt);if(!Q_e(r,i))return n.get(Xr).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const o=await $_e(r,i,null,null,Yn.None);if(!o)return;const{provider:s,tokens:a}=o;if(!a||!oA(a))return;const l=J_e({id:0,type:"full",data:a.data});return a.resultId&&s.releaseDocumentSemanticTokens(a.resultId),l}),$n.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(n,...e)=>{const[t,i]=e;hi(t instanceof en);const r=n.get(xr).getModel(t);if(!r)return;const{documentRangeSemanticTokensProvider:o}=n.get(Zt),s=q_e(o,r);if(s.length===0)return;if(s.length===1||!i||!J.isIRange(i))return s[0].getLegend();const a=await lQ(o,r,J.lift(i),Yn.None);if(a)return a.provider.getLegend()}),$n.registerCommand("_provideDocumentRangeSemanticTokens",async(n,...e)=>{const[t,i]=e;hi(t instanceof en),hi(J.isIRange(i));const r=n.get(xr).getModel(t);if(!r)return;const{documentRangeSemanticTokensProvider:o}=n.get(Zt),s=await lQ(o,r,J.lift(i),Yn.None);if(!(!s||!s.tokens))return J_e({id:0,type:"full",data:s.tokens.data})});const sA=Un("semanticTokensStylingService"),uQ="editor.semanticHighlighting";function aA(n,e,t){var i;const r=(i=t.getValue(uQ,{overrideIdentifier:n.getLanguageId(),resource:n.uri}))===null||i===void 0?void 0:i.enabled;return typeof r=="boolean"?r:e.getColorTheme().semanticHighlighting}var eFe=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Rf=function(n,e){return function(t,i){e(t,i,n)}},u1;let cQ=class extends Ie{constructor(e,t,i,r,o,s){super(),this._watchers=Object.create(null);const a=c=>{this._watchers[c.uri.toString()]=new mk(c,e,i,o,s)},l=(c,d)=>{d.dispose(),delete this._watchers[c.uri.toString()]},u=()=>{for(const c of t.getModels()){const d=this._watchers[c.uri.toString()];aA(c,i,r)?d||a(c):d&&l(c,d)}};t.getModels().forEach(c=>{aA(c,i,r)&&a(c)}),this._register(t.onModelAdded(c=>{aA(c,i,r)&&a(c)})),this._register(t.onModelRemoved(c=>{const d=this._watchers[c.uri.toString()];d&&l(c,d)})),this._register(r.onDidChangeConfiguration(c=>{c.affectsConfiguration(uQ)&&u()})),this._register(i.onDidColorThemeChange(u))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};cQ=eFe([Rf(0,sA),Rf(1,xr),Rf(2,jo),Rf(3,Pn),Rf(4,$c),Rf(5,Zt)],cQ);let mk=u1=class extends Ie{constructor(e,t,i,r,o){super(),this._semanticTokensStylingService=t,this._isDisposed=!1,this._model=e,this._provider=o.documentSemanticTokensProvider,this._debounceInformation=r.for(this._provider,"DocumentSemanticTokens",{min:u1.REQUEST_MIN_DELAY,max:u1.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new Ri(()=>this._fetchDocumentSemanticTokensNow(),u1.REQUEST_MIN_DELAY)),this._currentDocumentResponse=null,this._currentDocumentRequestCancellationTokenSource=null,this._documentProvidersChangeListeners=[],this._providersChangedDuringRequest=!1,this._register(this._model.onDidChangeContent(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeAttached(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeLanguage(()=>{this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(0)}));const s=()=>{er(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const a of this._provider.all(e))typeof a.onDidChange=="function"&&this._documentProvidersChangeListeners.push(a.onDidChange(()=>{if(this._currentDocumentRequestCancellationTokenSource){this._providersChangedDuringRequest=!0;return}this._fetchDocumentSemanticTokens.schedule(0)}))};s(),this._register(this._provider.onDidChange(()=>{s(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(i.onDidColorThemeChange(a=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._fetchDocumentSemanticTokens.schedule(0)}dispose(){this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),er(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!Q_e(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;const e=new fo,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,r=$_e(this._provider,this._model,t,i,e.token);this._currentDocumentRequestCancellationTokenSource=e,this._providersChangedDuringRequest=!1;const o=[],s=this._model.onDidChangeContent(l=>{o.push(l)}),a=new Js(!1);r.then(l=>{if(this._debounceInformation.update(this._model,a.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,s.dispose(),!l)this._setDocumentSemanticTokens(null,null,null,o);else{const{provider:u,tokens:c}=l,d=this._semanticTokensStylingService.getStyling(u);this._setDocumentSemanticTokens(u,c||null,d,o)}},l=>{l&&(Gm(l)||typeof l.message=="string"&&l.message.indexOf("busy")!==-1)||vn(l),this._currentDocumentRequestCancellationTokenSource=null,s.dispose(),(o.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))})}static _copy(e,t,i,r,o){o=Math.min(o,i.length-r,e.length-t);for(let s=0;s{(r.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._isDisposed){e&&t&&e.releaseDocumentSemanticTokens(t.resultId);return}if(!e||!i){this._model.tokenization.setSemanticTokens(null,!1);return}if(!t){this._model.tokenization.setSemanticTokens(null,!0),s();return}if(j_e(t)){if(!o){this._model.tokenization.setSemanticTokens(null,!0);return}if(t.edits.length===0)t={resultId:t.resultId,data:o.data};else{let a=0;for(const h of t.edits)a+=(h.data?h.data.length:0)-h.deleteCount;const l=o.data,u=new Uint32Array(l.length+a);let c=l.length,d=u.length;for(let h=t.edits.length-1;h>=0;h--){const m=t.edits[h];if(m.start>l.length){i.warnInvalidEditStart(o.resultId,t.resultId,h,m.start,l.length),this._model.tokenization.setSemanticTokens(null,!0);return}const f=c-(m.start+m.deleteCount);f>0&&(u1._copy(l,c-f,u,d-f,f),d-=f),m.data&&(u1._copy(m.data,0,u,d-m.data.length,m.data.length),d-=m.data.length),c=m.start}c>0&&u1._copy(l,0,u,0,c),t={resultId:t.resultId,data:u}}}if(oA(t)){this._currentDocumentResponse=new c9t(e,t.resultId,t.data);const a=K_e(t,i,this._model.getLanguageId());if(r.length>0)for(const l of r)for(const u of a)for(const c of l.changes)u.applyEdit(c.range,c.text);this._model.tokenization.setSemanticTokens(a,!0)}else this._model.tokenization.setSemanticTokens(null,!0);s()}};mk.REQUEST_MIN_DELAY=300,mk.REQUEST_MAX_DELAY=2e3,mk=u1=eFe([Rf(1,sA),Rf(2,jo),Rf(3,$c),Rf(4,Zt)],mk);class c9t{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}vM(cQ);var d9t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},fk=function(n,e){return function(t,i){e(t,i,n)}};let gk=class extends Ie{constructor(e,t,i,r,o,s){super(),this._semanticTokensStylingService=t,this._themeService=i,this._configurationService=r,this._editor=e,this._provider=s.documentRangeSemanticTokensProvider,this._debounceInformation=o.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new Ri(()=>this._tokenizeViewportNow(),100)),this._outstandingRequests=[];const a=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange(()=>{a()})),this._register(this._editor.onDidChangeModel(()=>{this._cancelAll(),a()})),this._register(this._editor.onDidChangeModelContent(l=>{this._cancelAll(),a()})),this._register(this._provider.onDidChange(()=>{this._cancelAll(),a()})),this._register(this._configurationService.onDidChangeConfiguration(l=>{l.affectsConfiguration(uQ)&&(this._cancelAll(),a())})),this._register(this._themeService.onDidColorThemeChange(()=>{this._cancelAll(),a()})),a()}_cancelAll(){for(const e of this._outstandingRequests)e.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(e){for(let t=0,i=this._outstandingRequests.length;tthis._requestRange(e,i)))}_requestRange(e,t){const i=e.getVersionId(),r=rs(s=>Promise.resolve(lQ(this._provider,e,t,s))),o=new Js(!1);return r.then(s=>{if(this._debounceInformation.update(e,o.elapsed()),!s||!s.tokens||e.isDisposed()||e.getVersionId()!==i)return;const{provider:a,tokens:l}=s,u=this._semanticTokensStylingService.getStyling(a);e.tokenization.setPartialSemanticTokens(t,K_e(l,u,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(r),()=>this._removeOutstandingRequest(r)),r}};gk.ID="editor.contrib.viewportSemanticTokens",gk=d9t([fk(1,sA),fk(2,jo),fk(3,Pn),fk(4,$c),fk(5,Zt)],gk),yi(gk.ID,gk,1);class h9t{constructor(e=!0){this.selectSubwords=e}provideSelectionRanges(e,t){const i=[];for(const r of t){const o=[];i.push(o),this.selectSubwords&&this._addInWordRanges(o,e,r),this._addWordRanges(o,e,r),this._addWhitespaceLine(o,e,r),o.push({range:e.getFullModelRange()})}return i}_addInWordRanges(e,t,i){const r=t.getWordAtPosition(i);if(!r)return;const{word:o,startColumn:s}=r,a=i.column-s;let l=a,u=a,c=0;for(;l>=0;l--){const d=o.charCodeAt(l);if(l!==a&&(d===95||d===45))break;if(Xb(d)&&Om(c))break;c=d}for(l+=1;u0&&t.getLineFirstNonWhitespaceColumn(i.lineNumber)===0&&t.getLineLastNonWhitespaceColumn(i.lineNumber)===0&&e.push({range:new J(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}var m9t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},f9t=function(n,e){return function(t,i){e(t,i,n)}},dQ;class hQ{constructor(e,t){this.index=e,this.ranges=t}mov(e){const t=this.index+(e?1:-1);if(t<0||t>=this.ranges.length)return this;const i=new hQ(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}let Ix=dQ=class{static get(e){return e.getContribution(dQ.ID)}constructor(e,t){this._editor=e,this._languageFeaturesService=t,this._ignoreSelection=!1}dispose(){var e;(e=this._selectionListener)===null||e===void 0||e.dispose()}async run(e){if(!this._editor.hasModel())return;const t=this._editor.getSelections(),i=this._editor.getModel();if(this._state||await nFe(this._languageFeaturesService.selectionRangeProvider,i,t.map(o=>o.getPosition()),this._editor.getOption(113),Yn.None).then(o=>{var s;if(!(!ga(o)||o.length!==t.length)&&!(!this._editor.hasModel()||!kr(this._editor.getSelections(),t,(a,l)=>a.equalsSelection(l)))){for(let a=0;al.containsPosition(t[a].getStartPosition())&&l.containsPosition(t[a].getEndPosition())),o[a].unshift(t[a]);this._state=o.map(a=>new hQ(0,a)),(s=this._selectionListener)===null||s===void 0||s.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition(()=>{var a;this._ignoreSelection||((a=this._selectionListener)===null||a===void 0||a.dispose(),this._state=void 0)})}}),!this._state)return;this._state=this._state.map(o=>o.mov(e));const r=this._state.map(o=>Wt.fromPositions(o.ranges[o.index].getStartPosition(),o.ranges[o.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(r)}finally{this._ignoreSelection=!1}}};Ix.ID="editor.contrib.smartSelectController",Ix=dQ=m9t([f9t(1,Zt)],Ix);class tFe extends Mt{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=Ix.get(t);i&&await i.run(this._forward)}}class g9t extends tFe{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:L("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:ne.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:Q.MenubarSelectionMenu,group:"1_basic",title:L({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}$n.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class p9t extends tFe{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:L("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:ne.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:Q.MenubarSelectionMenu,group:"1_basic",title:L({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}yi(Ix.ID,Ix,4),tt(g9t),tt(p9t);async function nFe(n,e,t,i,r){const o=n.all(e).concat(new h9t(i.selectSubwords));o.length===1&&o.unshift(new nc);const s=[],a=[];for(const l of o)s.push(Promise.resolve(l.provideSelectionRanges(e,t,r)).then(u=>{if(ga(u)&&u.length===t.length)for(let c=0;c{if(l.length===0)return[];l.sort((h,m)=>ye.isBefore(h.getStartPosition(),m.getStartPosition())?1:ye.isBefore(m.getStartPosition(),h.getStartPosition())||ye.isBefore(h.getEndPosition(),m.getEndPosition())?-1:ye.isBefore(m.getEndPosition(),h.getEndPosition())?1:0);const u=[];let c;for(const h of l)(!c||J.containsRange(h,c)&&!J.equalsRange(h,c))&&(u.push(h),c=h);if(!i.selectLeadingAndTrailingWhitespace)return u;const d=[u[0]];for(let h=1;hn}),mQ="data-sticky-line-index",oFe="data-sticky-is-line",v9t="data-sticky-is-line-number",sFe="data-sticky-is-folding-icon";class y9t extends Ie{constructor(e){super(),this._editor=e,this._foldingIconStore=new Je,this._rootDomNode=document.createElement("div"),this._lineNumbersDomNode=document.createElement("div"),this._linesDomNodeScrollable=document.createElement("div"),this._linesDomNode=document.createElement("div"),this._lineHeight=this._editor.getOption(67),this._renderedStickyLines=[],this._lineNumbers=[],this._lastLineRelativePosition=0,this._minContentWidthInPx=0,this._isOnGlyphMargin=!1,this._lineNumbersDomNode.className="sticky-widget-line-numbers",this._lineNumbersDomNode.setAttribute("role","none"),this._linesDomNode.className="sticky-widget-lines",this._linesDomNode.setAttribute("role","list"),this._linesDomNodeScrollable.className="sticky-widget-lines-scrollable",this._linesDomNodeScrollable.appendChild(this._linesDomNode),this._rootDomNode.className="sticky-widget",this._rootDomNode.classList.toggle("peek",e instanceof V0),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable);const t=()=>{this._linesDomNode.style.left=this._editor.getOption(115).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:"0px"};this._register(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(115)&&t(),i.hasChanged(67)&&(this._lineHeight=this._editor.getOption(67))})),this._register(this._editor.onDidScrollChange(i=>{i.scrollLeftChanged&&t(),i.scrollWidthChanged&&this._updateWidgetWidth()})),this._register(this._editor.onDidChangeModel(()=>{t(),this._updateWidgetWidth()})),this._register(this._foldingIconStore),t(),this._register(this._editor.onDidLayoutChange(i=>{this._updateWidgetWidth()})),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getRenderedStickyLine(e){return this._renderedStickyLines.find(t=>t.lineNumber===e)}getCurrentLines(){return this._lineNumbers}setState(e,t,i){if(i===void 0&&(!this._previousState&&!e||this._previousState&&this._previousState.equals(e)))return;const r=this._isWidgetHeightZero(e),o=r?void 0:e,s=r?0:this._findLineToRebuildWidgetFrom(e,i);this._renderRootNode(o,t,s),this._previousState=e}_isWidgetHeightZero(e){if(!e)return!0;const t=e.startLineNumbers.length*this._lineHeight+e.lastLineRelativePosition;if(t>0){this._lastLineRelativePosition=e.lastLineRelativePosition;const i=[...e.startLineNumbers];e.showEndForLine!==null&&(i[e.showEndForLine]=e.endLineNumbers[e.showEndForLine]),this._lineNumbers=i}else this._lastLineRelativePosition=0,this._lineNumbers=[];return t===0}_findLineToRebuildWidgetFrom(e,t){if(!e||!this._previousState)return 0;if(t!==void 0)return t;const i=this._previousState,r=e.startLineNumbers.findIndex(o=>!i.startLineNumbers.includes(o));return r===-1?0:r}_updateWidgetWidth(){const e=this._editor.getLayoutInfo(),t=e.contentLeft;this._lineNumbersDomNode.style.width=`${t}px`,this._linesDomNodeScrollable.style.setProperty("--vscode-editorStickyScroll-scrollableWidth",`${this._editor.getScrollWidth()-e.verticalScrollbarWidth}px`),this._rootDomNode.style.width=`${e.width-e.verticalScrollbarWidth}px`}_clearStickyLinesFromLine(e){this._foldingIconStore.clear();for(let t=e;ta.scrollWidth))+r.verticalScrollbarWidth,this._editor.layoutOverlayWidget(this)}_setFoldingHoverListeners(){this._editor.getOption(110)==="mouseover"&&(this._foldingIconStore.add(Ae(this._lineNumbersDomNode,ot.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(Ae(this._lineNumbersDomNode,ot.MOUSE_LEAVE,()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)})))}_renderChildNode(e,t,i,r){const o=this._editor._getViewModel();if(!o)return;const s=o.coordinatesConverter.convertModelPositionToViewPosition(new ye(t,1)).lineNumber,a=o.getViewLineRenderingData(s),l=this._editor.getOption(68);let u;try{u=il.filter(a.inlineDecorations,s,a.minColumn,a.maxColumn)}catch{u=[]}const c=new u0(!0,!0,a.content,a.continuesWithWrappedLine,a.isBasicASCII,a.containsRTL,0,a.tokens,u,a.tabSize,a.startVisibleColumn,1,1,1,500,"none",!0,!0,null),d=new TS(2e3),h=ZI(c,d);let m;rFe?m=rFe.createHTML(d.build()):m=d.build();const f=document.createElement("span");f.setAttribute(mQ,String(e)),f.setAttribute(oFe,""),f.setAttribute("role","listitem"),f.tabIndex=0,f.className="sticky-line-content",f.classList.add(`stickyLine${t}`),f.style.lineHeight=`${this._lineHeight}px`,f.innerHTML=m;const g=document.createElement("span");g.setAttribute(mQ,String(e)),g.setAttribute(v9t,""),g.className="sticky-line-number",g.style.lineHeight=`${this._lineHeight}px`;const b=r.contentLeft;g.style.width=`${b}px`;const v=document.createElement("span");l.renderType===1||l.renderType===3&&t%10===0?v.innerText=t.toString():l.renderType===2&&(v.innerText=Math.abs(t-this._editor.getPosition().lineNumber).toString()),v.className="sticky-line-number-inner",v.style.lineHeight=`${this._lineHeight}px`,v.style.width=`${r.lineNumbersWidth}px`,v.style.paddingLeft=`${r.lineNumbersLeft}px`,g.appendChild(v);const C=this._renderFoldingIconForLine(i,t);C&&g.appendChild(C.domNode),this._editor.applyFontInfo(f),this._editor.applyFontInfo(v),g.style.lineHeight=`${this._lineHeight}px`,f.style.lineHeight=`${this._lineHeight}px`,g.style.height=`${this._lineHeight}px`,f.style.height=`${this._lineHeight}px`;const S=new C9t(e,t,f,g,C,h.characterMapping,f.scrollWidth);return this._updateTopAndZIndexOfStickyLine(S)}_updateTopAndZIndexOfStickyLine(e){var t;const i=e.index,r=e.lineDomNode,o=e.lineNumberDomNode,s=i===this._lineNumbers.length-1,a="0",l="1";r.style.zIndex=s?a:l,o.style.zIndex=s?a:l;const u=`${i*this._lineHeight+this._lastLineRelativePosition+(!((t=e.foldingIcon)===null||t===void 0)&&t.isCollapsed?1:0)}px`,c=`${i*this._lineHeight}px`;return r.style.top=s?u:c,o.style.top=s?u:c,e}_renderFoldingIconForLine(e,t){const i=this._editor.getOption(110);if(!e||i==="never")return;const r=e.regions,o=r.findRange(t),s=r.getStartLineNumber(o);if(!(t===s))return;const l=r.isCollapsed(o),u=new w9t(l,s,r.getEndLineNumber(o),this._lineHeight);return u.setVisible(this._isOnGlyphMargin?!0:l||i==="always"),u.domNode.setAttribute(sFe,""),u}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:null}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(e){0<=e&&e0)return null;const t=this._getRenderedStickyLineFromChildDomNode(e);if(!t)return null;const i=_6(t.characterMapping,e,0);return new ye(t.lineNumber,i)}getLineNumberFromChildDomNode(e){var t,i;return(i=(t=this._getRenderedStickyLineFromChildDomNode(e))===null||t===void 0?void 0:t.lineNumber)!==null&&i!==void 0?i:null}_getRenderedStickyLineFromChildDomNode(e){const t=this.getLineIndexFromChildDomNode(e);return t===null||t<0||t>=this._renderedStickyLines.length?null:this._renderedStickyLines[t]}getLineIndexFromChildDomNode(e){const t=this._getAttributeValue(e,mQ);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,oFe)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,sFe)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}}class C9t{constructor(e,t,i,r,o,s,a){this.index=e,this.lineNumber=t,this.lineDomNode=i,this.lineNumberDomNode=r,this.foldingIcon=o,this.characterMapping=s,this.scrollWidth=a}}class w9t{constructor(e,t,i,r){this.isCollapsed=e,this.foldingStartLine=t,this.foldingEndLine=i,this.dimension=r,this.domNode=document.createElement("div"),this.domNode.style.width=`${r}px`,this.domNode.style.height=`${r}px`,this.domNode.className=sn.asClassName(e?vV:bV)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class pk{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class lA{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class aFe{constructor(e,t,i,r){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=r}}var uA=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},bk=function(n,e){return function(t,i){e(t,i,n)}},vk;(function(n){n.OUTLINE_MODEL="outlineModel",n.FOLDING_PROVIDER_MODEL="foldingProviderModel",n.INDENTATION_MODEL="indentationModel"})(vk||(vk={}));var c1;(function(n){n[n.VALID=0]="VALID",n[n.INVALID=1]="INVALID",n[n.CANCELED=2]="CANCELED"})(c1||(c1={}));let fQ=class extends Ie{constructor(e,t,i,r){switch(super(),this._editor=e,this._languageConfigurationService=i,this._languageFeaturesService=r,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new Fd(300)),this._updateOperation=this._register(new Je),this._editor.getOption(115).defaultModel){case vk.OUTLINE_MODEL:this._modelProviders.push(new gQ(this._editor,r));case vk.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new bQ(this._editor,t,r));case vk.INDENTATION_MODEL:this._modelProviders.push(new pQ(this._editor,i));break}}dispose(){this._modelProviders.forEach(e=>e.dispose()),this._updateOperation.clear(),this._cancelModelPromise(),super.dispose()}_cancelModelPromise(){this._modelPromise&&(this._modelPromise.cancel(),this._modelPromise=null)}async update(e){return this._updateOperation.clear(),this._updateOperation.add({dispose:()=>{this._cancelModelPromise(),this._updateScheduler.cancel()}}),this._cancelModelPromise(),await this._updateScheduler.trigger(async()=>{for(const t of this._modelProviders){const{statusPromise:i,modelPromise:r}=t.computeStickyModel(e);this._modelPromise=r;const o=await i;if(this._modelPromise!==r)return null;switch(o){case c1.CANCELED:return this._updateOperation.clear(),null;case c1.VALID:return t.stickyModel}}return null}).catch(t=>(vn(t),null))}};fQ=uA([bk(2,$t),bk(3,Zt)],fQ);class lFe extends Ie{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,c1.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=rs(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?c1.CANCELED:(this._stickyModel=this.createStickyModel(e,i),c1.VALID):this._invalid()).then(void 0,i=>(vn(i),c1.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let gQ=class extends lFe{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return Ep.create(this._languageFeaturesService.documentSymbolProvider,this._editor.getModel(),e)}createStickyModel(e,t){var i;const{stickyOutlineElement:r,providerID:o}=this._stickyModelFromOutlineModel(t,(i=this._stickyModel)===null||i===void 0?void 0:i.outlineProviderId),s=this._editor.getModel();return new aFe(s.uri,s.getVersionId(),r,o)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(Qn.first(e.children.values())instanceof KLe){const a=Qn.find(e.children.values(),l=>l.id===t);if(a)i=a.children;else{let l="",u=-1,c;for(const[d,h]of e.children.entries()){const m=this._findSumOfRangesOfGroup(h);m>u&&(c=h,u=m,l=h.id)}t=l,i=c.children}}else i=e.children;const r=[],o=Array.from(i.values()).sort((a,l)=>{const u=new pk(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),c=new pk(l.symbol.range.startLineNumber,l.symbol.range.endLineNumber);return this._comparator(u,c)});for(const a of o)r.push(this._stickyModelFromOutlineElement(a,a.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new lA(void 0,r,void 0),providerID:t}}_stickyModelFromOutlineElement(e,t){const i=[];for(const o of e.children.values())if(o.symbol.selectionRange.startLineNumber!==o.symbol.range.endLineNumber)if(o.symbol.selectionRange.startLineNumber!==t)i.push(this._stickyModelFromOutlineElement(o,o.symbol.selectionRange.startLineNumber));else for(const s of o.children.values())i.push(this._stickyModelFromOutlineElement(s,o.symbol.selectionRange.startLineNumber));i.sort((o,s)=>this._comparator(o.range,s.range));const r=new pk(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new lA(r,i,void 0)}_comparator(e,t){return e.startLineNumber!==t.startLineNumber?e.startLineNumber-t.startLineNumber:t.endLineNumber-e.endLineNumber}_findSumOfRangesOfGroup(e){let t=0;for(const i of e.children.values())t+=this._findSumOfRangesOfGroup(i);return e instanceof hj?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};gQ=uA([bk(1,Zt)],gQ);class uFe extends lFe{constructor(e){super(e),this._foldingLimitReporter=new PLe(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),r=this._editor.getModel();return new aFe(r.uri,r.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){const t=e.length,i=[],r=new lA(void 0,[],void 0);for(let o=0;o0&&(this.provider=this._register(new cj(e.getModel(),r,t,this._foldingLimitReporter,void 0)))}isProviderValid(){return this.provider!==void 0}async createModelFromProvider(e){var t,i;return(i=(t=this.provider)===null||t===void 0?void 0:t.compute(e))!==null&&i!==void 0?i:null}};bQ=uA([bk(2,Zt)],bQ);var S9t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},cFe=function(n,e){return function(t,i){e(t,i,n)}};class x9t{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let vQ=class extends Ie{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new be),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new Je),this._updateSoon=this._register(new Ri(()=>this.update(),50)),this._register(this._editor.onDidChangeConfiguration(r=>{r.hasChanged(115)&&this.readConfiguration()})),this.readConfiguration()}readConfiguration(){this._sessionStore.clear(),this._editor.getOption(115).enabled&&(this._sessionStore.add(this._editor.onDidChangeModel(()=>{this._model=null,this.updateStickyModelProvider(),this._onDidChangeStickyScroll.fire(),this.update()})),this._sessionStore.add(this._editor.onDidChangeHiddenAreas(()=>this.update())),this._sessionStore.add(this._editor.onDidChangeModelContent(()=>this._updateSoon.schedule())),this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>this.update())),this._sessionStore.add(jt(()=>{var t;(t=this._stickyModelProvider)===null||t===void 0||t.dispose(),this._stickyModelProvider=null})),this.updateStickyModelProvider(),this.update())}getVersionId(){var e;return(e=this._model)===null||e===void 0?void 0:e.version}updateStickyModelProvider(){var e;(e=this._stickyModelProvider)===null||e===void 0||e.dispose(),this._stickyModelProvider=null;const t=this._editor;t.hasModel()&&(this._stickyModelProvider=new fQ(t,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;(e=this._cts)===null||e===void 0||e.dispose(!0),this._cts=new fo,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(e){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization()){this._model=null;return}const t=await this._stickyModelProvider.update(e);e.isCancellationRequested||(this._model=t)}updateIndex(e){return e===-1?e=0:e<0&&(e=-e-2),e}getCandidateStickyLinesIntersectingFromStickyModel(e,t,i,r,o){if(t.children.length===0)return;let s=o;const a=[];for(let c=0;cc-d)),u=this.updateIndex(dI(a,e.startLineNumber+r,(c,d)=>c-d));for(let c=l;c<=u;c++){const d=t.children[c];if(!d)return;if(d.range){const h=d.range.startLineNumber,m=d.range.endLineNumber;e.startLineNumber<=m+1&&h-1<=e.endLineNumber&&h!==s&&(s=h,i.push(new x9t(h,m-1,r+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,d,i,r+1,h))}else this.getCandidateStickyLinesIntersectingFromStickyModel(e,d,i,r,o)}}getCandidateStickyLinesIntersecting(e){var t,i;if(!(!((t=this._model)===null||t===void 0)&&t.element))return[];let r=[];this.getCandidateStickyLinesIntersectingFromStickyModel(e,this._model.element,r,0,-1);const o=(i=this._editor._getViewModel())===null||i===void 0?void 0:i.getHiddenAreas();if(o)for(const s of o)r=r.filter(a=>!(a.startLineNumber>=s.startLineNumber&&a.endLineNumber<=s.endLineNumber+1));return r}};vQ=S9t([cFe(1,Zt),cFe(2,tr)],vQ);var L9t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Dx=function(n,e){return function(t,i){e(t,i,n)}},yQ;let Vf=yQ=class extends Ie{constructor(e,t,i,r,o,s,a){super(),this._editor=e,this._contextMenuService=t,this._languageFeaturesService=i,this._instaService=r,this._contextKeyService=a,this._sessionStore=new Je,this._foldingModel=null,this._maxStickyLines=Number.MAX_SAFE_INTEGER,this._candidateDefinitionsLength=-1,this._focusedStickyElementIndex=-1,this._enabled=!1,this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1,this._endLineNumbers=[],this._showEndForLine=null,this._stickyScrollWidget=new y9t(this._editor),this._stickyLineCandidateProvider=new vQ(this._editor,i,o),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=new iFe([],[],0),this._onDidResize(),this._readConfiguration();const l=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(c=>{(c.hasChanged(115)||c.hasChanged(73)||c.hasChanged(67)||c.hasChanged(110))&&this._readConfiguration()})),this._register(Ae(l,ot.CONTEXT_MENU,async c=>{this._onContextMenu(Qt(l),c)})),this._stickyScrollFocusedContextKey=ne.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=ne.stickyScrollVisible.bindTo(this._contextKeyService);const u=this._register(Dh(l));this._register(u.onDidBlur(c=>{this._positionRevealed===!1&&l.clientHeight===0?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()})),this._register(u.onDidFocus(c=>{this.focus()})),this._registerMouseListeners(),this._register(Ae(l,ot.MOUSE_DOWN,c=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(yQ.ID)}_disposeFocusStickyScrollStore(){var e;this._stickyScrollFocusedContextKey.set(!1),(e=this._focusDisposableStore)===null||e===void 0||e.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}focus(){if(this._onMouseDown){this._onMouseDown=!1,this._editor.focus();return}this._stickyScrollFocusedContextKey.get()!==!0&&(this._focused=!0,this._focusDisposableStore=new Je,this._stickyScrollFocusedContextKey.set(!0),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}focusNext(){this._focusedStickyElementIndex0&&this._focusNav(!1)}selectEditor(){this._editor.focus()}_focusNav(e){this._focusedStickyElementIndex=e?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){const e=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:e[this._focusedStickyElementIndex],column:1})}_revealPosition(e){this._reveaInEditor(e,()=>this._editor.revealPosition(e))}_revealLineInCenterIfOutsideViewport(e){this._reveaInEditor(e,()=>this._editor.revealLineInCenterIfOutsideViewport(e.lineNumber,0))}_reveaInEditor(e,t){this._focused&&this._disposeFocusStickyScrollStore(),this._positionRevealed=!0,t(),this._editor.setSelection(J.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new Je),t=this._register(new c3(this._editor,{extractLineNumberFromMouseEvent:o=>{const s=this._stickyScrollWidget.getEditorPositionFromNode(o.target.element);return s?s.lineNumber:0}})),i=o=>{if(!this._editor.hasModel()||o.target.type!==12||o.target.detail!==this._stickyScrollWidget.getId())return null;const s=o.target.element;if(!s||s.innerText!==s.innerHTML)return null;const a=this._stickyScrollWidget.getEditorPositionFromNode(s);return a?{range:new J(a.lineNumber,a.column,a.lineNumber,a.column+s.innerText.length),textElement:s}:null},r=this._stickyScrollWidget.getDomNode();this._register(Gr(r,ot.CLICK,o=>{if(o.ctrlKey||o.altKey||o.metaKey||!o.leftButton)return;if(o.shiftKey){const u=this._stickyScrollWidget.getLineIndexFromChildDomNode(o.target);if(u===null)return;const c=new ye(this._endLineNumbers[u],1);this._revealLineInCenterIfOutsideViewport(c);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(o.target)){const u=this._stickyScrollWidget.getLineNumberFromChildDomNode(o.target);this._toggleFoldingRegionForLine(u);return}if(!this._stickyScrollWidget.isInStickyLine(o.target))return;let l=this._stickyScrollWidget.getEditorPositionFromNode(o.target);if(!l){const u=this._stickyScrollWidget.getLineNumberFromChildDomNode(o.target);if(u===null)return;l=new ye(u,1)}this._revealPosition(l)})),this._register(Gr(r,ot.MOUSE_MOVE,o=>{if(o.shiftKey){const s=this._stickyScrollWidget.getLineIndexFromChildDomNode(o.target);if(s===null||this._showEndForLine!==null&&this._showEndForLine===s)return;this._showEndForLine=s,this._renderStickyScroll();return}this._showEndForLine!==null&&(this._showEndForLine=null,this._renderStickyScroll())})),this._register(Ae(r,ot.MOUSE_LEAVE,o=>{this._showEndForLine!==null&&(this._showEndForLine=null,this._renderStickyScroll())})),this._register(t.onMouseMoveOrRelevantKeyDown(([o,s])=>{const a=i(o);if(!a||!o.hasTriggerModifier||!this._editor.hasModel()){e.clear();return}const{range:l,textElement:u}=a;if(!l.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=l,e.clear();else if(u.style.textDecoration==="underline")return;const c=new fo;e.add(jt(()=>c.dispose(!0)));let d;V3(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new ye(l.startLineNumber,l.startColumn+1),c.token).then(h=>{if(!c.token.isCancellationRequested)if(h.length!==0){this._candidateDefinitionsLength=h.length;const m=u;d!==m?(e.clear(),d=m,d.style.textDecoration="underline",e.add(jt(()=>{d.style.textDecoration="none"}))):d||(d=m,d.style.textDecoration="underline",e.add(jt(()=>{d.style.textDecoration="none"})))}else e.clear()})})),this._register(t.onCancel(()=>{e.clear()})),this._register(t.onExecute(async o=>{if(o.target.type!==12||o.target.detail!==this._stickyScrollWidget.getId())return;const s=this._stickyScrollWidget.getEditorPositionFromNode(o.target.element);s&&(!this._editor.hasModel()||!this._stickyRangeProjectedOnEditor||(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:s.lineNumber,column:1})),this._instaService.invokeFunction(D_e,o,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new Ld(e,t);this._contextMenuService.showContextMenu({menuId:Q.StickyScrollContext,getAnchor:()=>i})}_toggleFoldingRegionForLine(e){if(!this._foldingModel||e===null)return;const t=this._stickyScrollWidget.getRenderedStickyLine(e),i=t==null?void 0:t.foldingIcon;if(!i)return;WLe(this._foldingModel,Number.MAX_VALUE,[e]),i.isCollapsed=!i.isCollapsed;const r=(i.isCollapsed?this._editor.getTopForLineNumber(i.foldingEndLine):this._editor.getTopForLineNumber(i.foldingStartLine))-this._editor.getOption(67)*t.index+1;this._editor.setScrollTop(r),this._renderStickyScroll(e)}_readConfiguration(){const e=this._editor.getOption(115);if(e.enabled===!1){this._editor.removeOverlayWidget(this._stickyScrollWidget),this._sessionStore.clear(),this._enabled=!1;return}else e.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange(i=>{i.scrollTopChanged&&(this._showEndForLine=null,this._renderStickyScroll())})),this._sessionStore.add(this._editor.onDidLayoutChange(()=>this._onDidResize())),this._sessionStore.add(this._editor.onDidChangeModelTokens(i=>this._onTokensChange(i))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll(()=>{this._showEndForLine=null,this._renderStickyScroll()})),this._enabled=!0);this._editor.getOption(68).renderType===2&&this._sessionStore.add(this._editor.onDidChangeCursorPosition(()=>{this._showEndForLine=null,this._renderStickyScroll(0)}))}_needsUpdate(e){const t=this._stickyScrollWidget.getCurrentLines();for(const i of t)for(const r of e.ranges)if(i>=r.fromLineNumber&&i<=r.toLineNumber)return!0;return!1}_onTokensChange(e){this._needsUpdate(e)&&this._renderStickyScroll(0)}_onDidResize(){const t=this._editor.getLayoutInfo().height/this._editor.getOption(67);this._maxStickyLines=Math.round(t*.25)}async _renderStickyScroll(e){var t,i;const r=this._editor.getModel();if(!r||r.isTooLargeForTokenization()){this._foldingModel=null,this._stickyScrollWidget.setState(void 0,null);return}const o=this._stickyLineCandidateProvider.getVersionId();if(o===void 0||o===r.getVersionId())if(this._foldingModel=(i=await((t=Tp.get(this._editor))===null||t===void 0?void 0:t.getFoldingModel()))!==null&&i!==void 0?i:null,this._widgetState=this.findScrollWidgetState(),this._stickyScrollVisibleContextKey.set(this._widgetState.startLineNumbers.length!==0),!this._focused)this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e);else if(this._focusedStickyElementIndex===-1)this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,this._focusedStickyElementIndex!==-1&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{const s=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e),this._stickyScrollWidget.lineNumberCount===0?this._focusedStickyElementIndex=-1:(this._stickyScrollWidget.lineNumbers.includes(s)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}}findScrollWidgetState(){const e=this._editor.getOption(67),t=Math.min(this._maxStickyLines,this._editor.getOption(115).maxLineCount),i=this._editor.getScrollTop();let r=0;const o=[],s=[],a=this._editor.getVisibleRanges();if(a.length!==0){const l=new pk(a[0].startLineNumber,a[a.length-1].endLineNumber),u=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(l);for(const c of u){const d=c.startLineNumber,h=c.endLineNumber,m=c.nestingDepth;if(h-d>0){const f=(m-1)*e,g=m*e,b=this._editor.getBottomForLineNumber(d)-i,v=this._editor.getTopForLineNumber(h)-i,C=this._editor.getBottomForLineNumber(h)-i;if(f>v&&f<=C){o.push(d),s.push(h+1),r=C-g;break}else g>b&&g<=C&&(o.push(d),s.push(h+1));if(o.length===t)break}}}return this._endLineNumbers=s,new iFe(o,s,r,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}};Vf.ID="store.contrib.stickyScrollController",Vf=yQ=L9t([Dx(1,fu),Dx(2,Zt),Dx(3,$t),Dx(4,tr),Dx(5,$c),Dx(6,ln)],Vf);class _9t extends el{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...oi("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:L({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},category:b9t.View,toggled:{condition:Oe.equals("config.editor.stickyScroll.enabled",!0),title:L("stickyScroll","Sticky Scroll"),mnemonicTitle:L({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:Q.CommandPalette},{id:Q.MenubarAppearanceMenu,group:"4_editor",order:3},{id:Q.StickyScrollContext}]})}async run(e){const t=e.get(Pn),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const cA=100;class F9t extends kh{constructor(){super({id:"editor.action.focusStickyScroll",title:{...oi("focusStickyScroll","Focus Sticky Scroll"),mnemonicTitle:L({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:Oe.and(Oe.has("config.editor.stickyScroll.enabled"),ne.stickyScrollVisible),menu:[{id:Q.CommandPalette}]})}runEditorCommand(e,t){var i;(i=Vf.get(t))===null||i===void 0||i.focus()}}class I9t extends kh{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:oi("selectNextStickyScrollLine.title","Select next sticky scroll line"),precondition:ne.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:cA,primary:18}})}runEditorCommand(e,t){var i;(i=Vf.get(t))===null||i===void 0||i.focusNext()}}class D9t extends kh{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:oi("selectPreviousStickyScrollLine.title","Select previous sticky scroll line"),precondition:ne.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:cA,primary:16}})}runEditorCommand(e,t){var i;(i=Vf.get(t))===null||i===void 0||i.focusPrevious()}}class M9t extends kh{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:oi("goToFocusedStickyScrollLine.title","Go to focused sticky scroll line"),precondition:ne.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:cA,primary:3}})}runEditorCommand(e,t){var i;(i=Vf.get(t))===null||i===void 0||i.goToFocused()}}class k9t extends kh{constructor(){super({id:"editor.action.selectEditor",title:oi("selectEditor.title","Select Editor"),precondition:ne.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:cA,primary:9}})}runEditorCommand(e,t){var i;(i=Vf.get(t))===null||i===void 0||i.selectEditor()}}yi(Vf.ID,Vf,1),Ji(_9t),Ji(F9t),Ji(D9t),Ji(I9t),Ji(M9t),Ji(k9t);var dFe=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},yk=function(n,e){return function(t,i){e(t,i,n)}};class N9t{constructor(e,t,i,r,o,s){this.range=e,this.insertText=t,this.filterText=i,this.additionalTextEdits=r,this.command=o,this.completion=s}}let CQ=class extends zht{constructor(e,t,i,r,o,s){super(o.disposable),this.model=e,this.line=t,this.word=i,this.completionModel=r,this._suggestMemoryService=s}canBeReused(e,t,i){return this.model===e&&this.line===t&&this.word.word.length>0&&this.word.startColumn===i.startColumn&&this.word.endColumn=0&&l.resolve(Yn.None)}return t}};CQ=dFe([yk(5,IV)],CQ);let wQ=class extends Ie{constructor(e,t,i,r){super(),this._languageFeatureService=e,this._clipboardService=t,this._suggestMemoryService=i,this._editorService=r,this._store.add(e.inlineCompletionsProvider.register("*",this))}async provideInlineCompletions(e,t,i,r){var o;if(i.selectedSuggestionInfo)return;let s;for(const f of this._editorService.listCodeEditors())if(f.getModel()===e){s=f;break}if(!s)return;const a=s.getOption(89);if(px.isAllOff(a))return;e.tokenization.tokenizeIfCheap(t.lineNumber);const l=e.tokenization.getLineTokens(t.lineNumber),u=l.getStandardTokenType(l.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if(px.valueFor(a,u)!=="inline")return;let c=e.getWordAtPosition(t),d;if(c!=null&&c.word||(d=this._getTriggerCharacterInfo(e,t)),!(c!=null&&c.word)&&!d||(c||(c=e.getWordUntilPosition(t)),c.endColumn!==t.column))return;let h;const m=e.getValueInRange(new J(t.lineNumber,1,t.lineNumber,t.column));if(!d&&(!((o=this._lastResult)===null||o===void 0)&&o.canBeReused(e,t.lineNumber,c))){const f=new x_e(m,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=f,this._lastResult.acquire(),h=this._lastResult}else{const f=await vj(this._languageFeatureService.completionProvider,e,t,new KM(void 0,DV.createSuggestFilter(s).itemKind,d==null?void 0:d.providers),d&&{triggerKind:1,triggerCharacter:d.ch},r);let g;f.needsClipboard&&(g=await this._clipboardService.readText());const b=new Q0(f.items,t.column,new x_e(m,0),sm.None,s.getOption(118),s.getOption(112),{boostFullMatch:!1,firstMatchCanBeWeak:!1},g);h=new CQ(e,t.lineNumber,c,b,f,this._suggestMemoryService)}return this._lastResult=h,h}handleItemDidShow(e,t){t.completion.resolve(Yn.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var i;const r=e.getValueInRange(J.fromPositions({lineNumber:t.lineNumber,column:t.column-1},t)),o=new Set;for(const s of this._languageFeatureService.completionProvider.all(e))!((i=s.triggerCharacters)===null||i===void 0)&&i.includes(r)&&o.add(s);if(o.size!==0)return{providers:o,ch:r}}};wQ=dFe([yk(0,Zt),yk(1,gp),yk(2,IV),yk(3,vi)],wQ),vM(wQ);class T9t extends Mt{constructor(){super({id:"editor.action.forceRetokenize",label:L("forceRetokenize","Developer: Force Retokenize"),alias:"Developer: Force Retokenize",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getModel();i.tokenization.resetTokenization();const r=new Js;i.tokenization.forceTokenization(i.getLineCount()),r.stop()}}tt(T9t);class dA extends el{constructor(){super({id:dA.ID,title:oi({key:"toggle.tabMovesFocus",comment:["Turn on/off use of tab key for moving focus around VS Code"]},"Toggle Tab Key Moves Focus"),precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},f1:!0})}run(){const t=!HS.getTabFocusMode();HS.setTabFocusMode(t),kl(t?L("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element"):L("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}}dA.ID="editor.action.toggleTabFocusMode",Ji(dA);var E9t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Z9t=function(n,e){return function(t,i){e(t,i,n)}};let SQ=class extends Ie{get enabled(){return this._enabled}set enabled(e){e?(this.el.setAttribute("aria-disabled","false"),this.el.tabIndex=0,this.el.style.pointerEvents="auto",this.el.style.opacity="1",this.el.style.cursor="pointer",this._enabled=!1):(this.el.setAttribute("aria-disabled","true"),this.el.tabIndex=-1,this.el.style.pointerEvents="none",this.el.style.opacity="0.4",this.el.style.cursor="default",this._enabled=!0),this._enabled=e}constructor(e,t,i={},r){var o,s;super(),this._link=t,this._enabled=!0,this.el=je(e,Ct("a.monaco-link",{tabIndex:(o=t.tabIndex)!==null&&o!==void 0?o:0,href:t.href},t.label)),this.hoverDelegate=(s=i.hoverDelegate)!==null&&s!==void 0?s:Pl("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const a=this._register(new Jn(this.el,"click")),l=this._register(new Jn(this.el,"keypress")),u=lt.chain(l.event,h=>h.map(m=>new sr(m)).filter(m=>m.keyCode===3)),c=this._register(new Jn(this.el,nr.Tap)).event;this._register(ir.addTarget(this.el));const d=lt.any(a.event,u,c);this._register(d(h=>{this.enabled&&(Vn.stop(h,!0),i!=null&&i.opener?i.opener(this._link.href):r.open(this._link.href,{allowCommands:!0}))})),this.enabled=!0}setTooltip(e){this.hoverDelegate.showNativeHover?this.el.title=e??"":!this.hover&&e?this.hover=this._register(Vd(this.hoverDelegate,this.el,e)):this.hover&&this.hover.update(e)}};SQ=E9t([Z9t(3,Bl)],SQ);var hFe=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},mFe=function(n,e){return function(t,i){e(t,i,n)}};const W9t=26;let xQ=class extends Ie{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(LQ))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(e){this.banner.show({...e,onClose:()=>{var t;this.hide(),(t=e.onClose)===null||t===void 0||t.call(e)}}),this._editor.setBanner(this.banner.element,W9t)}};xQ=hFe([mFe(1,$t)],xQ);let LQ=class extends Ie{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(xf,{}),this.element=Ct("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(e){if(e.ariaLabel)return e.ariaLabel;if(typeof e.message=="string")return e.message}getBannerMessage(e){if(typeof e=="string"){const t=Ct("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){ma(this.element)}show(e){ma(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=je(this.element,Ct("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(Ct(`div${sn.asCSSSelector(e.icon)}`));const r=je(this.element,Ct("div.message-container"));if(r.setAttribute("aria-hidden","true"),r.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=je(this.element,Ct("div.message-actions-container")),e.actions)for(const s of e.actions)this._register(this.instantiationService.createInstance(SQ,this.messageActionsContainer,{...s,tabIndex:-1},{}));const o=je(this.element,Ct("div.action-container"));this.actionBar=this._register(new Kc(o)),this.actionBar.push(this._register(new uu("banner.close","Close Banner",sn.asClassName(_we),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};LQ=hFe([mFe(0,$t)],LQ);const fFe=Un("workspaceTrustManagementService");var _Q=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Mx=function(n,e){return function(t,i){e(t,i,n)}};const R9t=so("extensions-warning-message",ut.warning,L("warningIcon","Icon shown with a warning message in the extensions editor."));let kx=class extends Ie{constructor(e,t,i,r){super(),this._editor=e,this._editorWorkerService=t,this._workspaceTrustService=i,this._highlighter=null,this._bannerClosed=!1,this._updateState=o=>{if(o&&o.hasMore){if(this._bannerClosed)return;const s=Math.max(o.ambiguousCharacterCount,o.nonBasicAsciiCharacterCount,o.invisibleCharacterCount);let a;if(o.nonBasicAsciiCharacterCount>=s)a={message:L("unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters","This document contains many non-basic ASCII unicode characters"),command:new Tx};else if(o.ambiguousCharacterCount>=s)a={message:L("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new d1};else if(o.invisibleCharacterCount>=s)a={message:L("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new Nx};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:a.message,icon:R9t,actions:[{label:a.command.shortLabel,href:`command:${a.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(r.createInstance(xQ,e)),this._register(this._editor.onDidChangeModel(()=>{this._bannerClosed=!1,this._updateHighlighter()})),this._options=e.getOption(125),this._register(i.onDidChangeTrust(o=>{this._updateHighlighter()})),this._register(e.onDidChangeConfiguration(o=>{o.hasChanged(125)&&(this._options=e.getOption(125),this._updateHighlighter())})),this._updateHighlighter()}dispose(){this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),!this._editor.hasModel())return;const e=V9t(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([e.nonBasicASCII,e.ambiguousCharacters,e.invisibleCharacters].every(i=>i===!1))return;const t={nonBasicASCII:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments,includeStrings:e.includeStrings,allowedCodePoints:Object.keys(e.allowedCharacters).map(i=>i.codePointAt(0)),allowedLocales:Object.keys(e.allowedLocales).map(i=>i==="_os"?new Intl.NumberFormat().resolvedOptions().locale:i==="_vscode"?Lht:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new FQ(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new A9t(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}};kx.ID="editor.contrib.unicodeHighlighter",kx=_Q([Mx(1,Jc),Mx(2,fFe),Mx(3,$t)],kx);function V9t(n,e){return{nonBasicASCII:e.nonBasicASCII===zu?!n:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===zu?!n:e.includeComments,includeStrings:e.includeStrings===zu?!n:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let FQ=class extends Ie{constructor(e,t,i,r){super(),this._editor=e,this._options=t,this._updateState=i,this._editorWorkerService=r,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new Ri(()=>this._update(),250)),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const e=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then(t=>{if(this._model.isDisposed()||this._model.getVersionId()!==e)return;this._updateState(t);const i=[];if(!t.hasMore)for(const r of t.ranges)i.push({range:r,options:hA.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!G7(t,e))return null;const i=t.getValueInRange(e.range);return{reason:pFe(i,this._options),inComment:X7(t,e),inString:P7(t,e)}}};FQ=_Q([Mx(3,Jc)],FQ);class A9t extends Ie{constructor(e,t,i){super(),this._editor=e,this._options=t,this._updateState=i,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new Ri(()=>this._update(),250)),this._register(this._editor.onDidLayoutChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidScrollChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeHiddenAreas(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const e=this._editor.getVisibleRanges(),t=[],i={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const r of e){const o=LJ.computeUnicodeHighlights(this._model,this._options,r);for(const s of o.ranges)i.ranges.push(s);i.ambiguousCharacterCount+=i.ambiguousCharacterCount,i.invisibleCharacterCount+=i.invisibleCharacterCount,i.nonBasicAsciiCharacterCount+=i.nonBasicAsciiCharacterCount,i.hasMore=i.hasMore||o.hasMore}if(!i.hasMore)for(const r of i.ranges)t.push({range:r,options:hA.instance.getDecorationFromOptions(this._options)});this._updateState(i),this._decorations.set(t)}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel(),i=t.getValueInRange(e.range);return G7(t,e)?{reason:pFe(i,this._options),inComment:X7(t,e),inString:P7(t,e)}:null}}const gFe=L("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let IQ=class{constructor(e,t,i){this._editor=e,this._languageService=t,this._openerService=i,this.hoverOrdinal=5}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];const i=this._editor.getModel(),r=this._editor.getContribution(kx.ID);if(!r)return[];const o=[],s=new Set;let a=300;for(const l of t){const u=r.getDecorationInfo(l);if(!u)continue;const d=i.getValueInRange(l.range).codePointAt(0),h=MQ(d);let m;switch(u.reason.kind){case 0:{qF(u.reason.confusableWith)?m=L("unicodeHighlight.characterIsAmbiguousASCII","The character {0} could be confused with the ASCII character {1}, which is more common in source code.",h,MQ(u.reason.confusableWith.codePointAt(0))):m=L("unicodeHighlight.characterIsAmbiguous","The character {0} could be confused with the character {1}, which is more common in source code.",h,MQ(u.reason.confusableWith.codePointAt(0)));break}case 1:m=L("unicodeHighlight.characterIsInvisible","The character {0} is invisible.",h);break;case 2:m=L("unicodeHighlight.characterIsNonBasicAscii","The character {0} is not a basic ASCII character.",h);break}if(s.has(m))continue;s.add(m);const f={codePoint:d,reason:u.reason,inComment:u.inComment,inString:u.inString},g=L("unicodeHighlight.adjustSettings","Adjust settings"),b=`command:${Ck.ID}?${encodeURIComponent(JSON.stringify(f))}`,v=new va("",!0).appendMarkdown(m).appendText(" ").appendLink(b,g,gFe);o.push(new Qh(this,l.range,[v],!1,a++))}return o}renderHoverParts(e,t){return Jxe(e,t,this._editor,this._languageService,this._openerService)}};IQ=_Q([Mx(1,vr),Mx(2,Bl)],IQ);function DQ(n){return`U+${n.toString(16).padStart(4,"0")}`}function MQ(n){let e=`\`${DQ(n)}\``;return Bm.isInvisibleCharacter(n)||(e+=` "${`${G9t(n)}`}"`),e}function G9t(n){return n===96?"`` ` ``":"`"+String.fromCodePoint(n)+"`"}function pFe(n,e){return LJ.computeUnicodeHighlightReason(n,e)}class hA{constructor(){this.map=new Map}getDecorationFromOptions(e){return this.getDecoration(!e.includeComments,!e.includeStrings)}getDecoration(e,t){const i=`${e}${t}`;let r=this.map.get(i);return r||(r=yn.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:e,hideInStringTokens:t}),this.map.set(i,r)),r}}hA.instance=new hA;class X9t extends Mt{constructor(){super({id:d1.ID,label:L("action.unicodeHighlight.disableHighlightingInComments","Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=L("unicodeHighlight.disableHighlightingInComments.shortLabel","Disable Highlight In Comments")}async run(e,t,i){const r=e==null?void 0:e.get(Pn);r&&this.runAction(r)}async runAction(e){await e.updateValue(Vl.includeComments,!1,2)}}class P9t extends Mt{constructor(){super({id:d1.ID,label:L("action.unicodeHighlight.disableHighlightingInStrings","Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=L("unicodeHighlight.disableHighlightingInStrings.shortLabel","Disable Highlight In Strings")}async run(e,t,i){const r=e==null?void 0:e.get(Pn);r&&this.runAction(r)}async runAction(e){await e.updateValue(Vl.includeStrings,!1,2)}}class d1 extends Mt{constructor(){super({id:d1.ID,label:L("action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters","Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=L("unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel","Disable Ambiguous Highlight")}async run(e,t,i){const r=e==null?void 0:e.get(Pn);r&&this.runAction(r)}async runAction(e){await e.updateValue(Vl.ambiguousCharacters,!1,2)}}d1.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";class Nx extends Mt{constructor(){super({id:Nx.ID,label:L("action.unicodeHighlight.disableHighlightingOfInvisibleCharacters","Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=L("unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel","Disable Invisible Highlight")}async run(e,t,i){const r=e==null?void 0:e.get(Pn);r&&this.runAction(r)}async runAction(e){await e.updateValue(Vl.invisibleCharacters,!1,2)}}Nx.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";class Tx extends Mt{constructor(){super({id:Tx.ID,label:L("action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters","Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=L("unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel","Disable Non ASCII Highlight")}async run(e,t,i){const r=e==null?void 0:e.get(Pn);r&&this.runAction(r)}async runAction(e){await e.updateValue(Vl.nonBasicASCII,!1,2)}}Tx.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";class Ck extends Mt{constructor(){super({id:Ck.ID,label:L("action.unicodeHighlight.showExcludeOptions","Show Exclude Options"),alias:"Show Exclude Options",precondition:void 0})}async run(e,t,i){const{codePoint:r,reason:o,inString:s,inComment:a}=i,l=String.fromCodePoint(r),u=e.get(Ay),c=e.get(Pn);function d(f){return Bm.isInvisibleCharacter(f)?L("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",DQ(f)):L("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${DQ(f)} "${l}"`)}const h=[];if(o.kind===0)for(const f of o.notAmbiguousInLocales)h.push({label:L("unicodeHighlight.allowCommonCharactersInLanguage",'Allow unicode characters that are more common in the language "{0}".',f),run:async()=>{B9t(c,[f])}});if(h.push({label:d(r),run:()=>O9t(c,[r])}),a){const f=new X9t;h.push({label:f.label,run:async()=>f.runAction(c)})}else if(s){const f=new P9t;h.push({label:f.label,run:async()=>f.runAction(c)})}if(o.kind===0){const f=new d1;h.push({label:f.label,run:async()=>f.runAction(c)})}else if(o.kind===1){const f=new Nx;h.push({label:f.label,run:async()=>f.runAction(c)})}else if(o.kind===2){const f=new Tx;h.push({label:f.label,run:async()=>f.runAction(c)})}else z9t(o);const m=await u.pick(h,{title:gFe});m&&await m.run()}}Ck.ID="editor.action.unicodeHighlight.showExcludeOptions";async function O9t(n,e){const t=n.getValue(Vl.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const r of e)i[String.fromCodePoint(r)]=!0;await n.updateValue(Vl.allowedCharacters,i,2)}async function B9t(n,e){var t;const i=(t=n.inspect(Vl.allowedLocales).user)===null||t===void 0?void 0:t.value;let r;typeof i=="object"&&i?r=Object.assign({},i):r={};for(const o of e)r[o]=!0;await n.updateValue(Vl.allowedLocales,r,2)}function z9t(n){throw new Error(`Unexpected value: ${n}`)}tt(d1),tt(Nx),tt(Tx),tt(Ck),yi(kx.ID,kx,1),O0.register(IQ);const kQ=Un("dialogService");var H9t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},bFe=function(n,e){return function(t,i){e(t,i,n)}};const vFe="ignoreUnusualLineTerminators";function Y9t(n,e,t){n.setModelProperty(e.uri,vFe,t)}function U9t(n,e){return n.getModelProperty(e.uri,vFe)}let wk=class extends Ie{constructor(e,t,i){super(),this._editor=e,this._dialogService=t,this._codeEditorService=i,this._isPresentingDialog=!1,this._config=this._editor.getOption(126),this._register(this._editor.onDidChangeConfiguration(r=>{r.hasChanged(126)&&(this._config=this._editor.getOption(126),this._checkForUnusualLineTerminators())})),this._register(this._editor.onDidChangeModel(()=>{this._checkForUnusualLineTerminators()})),this._register(this._editor.onDidChangeModelContent(r=>{r.isUndoing||this._checkForUnusualLineTerminators()})),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if(this._config==="off"||!this._editor.hasModel())return;const e=this._editor.getModel();if(!e.mightContainUnusualLineTerminators()||U9t(this._codeEditorService,e)===!0||this._editor.getOption(91))return;if(this._config==="auto"){e.removeUnusualLineTerminators(this._editor.getSelections());return}if(this._isPresentingDialog)return;let i;try{this._isPresentingDialog=!0,i=await this._dialogService.confirm({title:L("unusualLineTerminators.title","Unusual Line Terminators"),message:L("unusualLineTerminators.message","Detected unusual line terminators"),detail:L("unusualLineTerminators.detail","The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.",Hc(e.uri)),primaryButton:L({key:"unusualLineTerminators.fix",comment:["&& denotes a mnemonic"]},"&&Remove Unusual Line Terminators"),cancelButton:L("unusualLineTerminators.ignore","Ignore")})}finally{this._isPresentingDialog=!1}if(!i.confirmed){Y9t(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}};wk.ID="editor.contrib.unusualLineTerminatorsDetector",wk=H9t([bFe(1,kQ),bFe(2,vi)],wk),yi(wk.ID,wk,1);const mA="**",yFe="/",fA="[/\\\\]",gA="[^/\\\\]",K9t=/\//g;function CFe(n,e){switch(n){case 0:return"";case 1:return`${gA}*?`;default:return`(?:${fA}|${gA}+${fA}${e?`|${fA}${gA}+`:""})*?`}}function wFe(n,e){if(!n)return[];const t=[];let i=!1,r=!1,o="";for(const s of n){switch(s){case e:if(!i&&!r){t.push(o),o="";continue}break;case"{":i=!0;break;case"}":i=!1;break;case"[":r=!0;break;case"]":r=!1;break}o+=s}return o&&t.push(o),t}function SFe(n){if(!n)return"";let e="";const t=wFe(n,yFe);if(t.every(i=>i===mA))e=".*";else{let i=!1;t.forEach((r,o)=>{if(r===mA){if(i)return;e+=CFe(2,o===t.length-1)}else{let s=!1,a="",l=!1,u="";for(const c of r){if(c!=="}"&&s){a+=c;continue}if(l&&(c!=="]"||!u)){let d;c==="-"?d=c:(c==="^"||c==="!")&&!u?d="^":c===yFe?d="":d=Ru(c),u+=d;continue}switch(c){case"{":s=!0;continue;case"[":l=!0;continue;case"}":{const h=`(?:${wFe(a,",").map(m=>SFe(m)).join("|")})`;e+=h,s=!1,a="";break}case"]":{e+="["+u+"]",l=!1,u="";break}case"?":e+=gA;continue;case"*":e+=CFe(1);continue;default:e+=Ru(c)}}oNQ(a,e)).filter(a=>a!==Af),n),i=t.length;if(!i)return Af;if(i===1)return t[0];const r=function(a,l){for(let u=0,c=t.length;u!!a.allBasenames);o&&(r.allBasenames=o.allBasenames);const s=t.reduce((a,l)=>l.allPaths?a.concat(l.allPaths):a,[]);return s.length&&(r.allPaths=s),r}function FFe(n,e,t){const i=Jb===Io.sep,r=i?n:n.replace(K9t,Jb),o=Jb+r,s=Io.sep+n;let a;return t?a=function(l,u){return typeof l=="string"&&(l===r||l.endsWith(o)||!i&&(l===n||l.endsWith(s)))?e:null}:a=function(l,u){return typeof l=="string"&&(l===r||!i&&l===n)?e:null},a.allPaths=[(t?"*/":"./")+n],a}function rWt(n){try{const e=new RegExp(`^${SFe(n)}$`);return function(t){return e.lastIndex=0,typeof t=="string"&&e.test(t)?n:null}}catch{return Af}}function oWt(n,e,t){return!n||typeof e!="string"?!1:IFe(n)(e,void 0,t)}function IFe(n,e={}){if(!n)return LFe;if(typeof n=="string"||sWt(n)){const t=NQ(n,e);if(t===Af)return LFe;const i=function(r,o){return!!t(r,o)};return t.allBasenames&&(i.allBasenames=t.allBasenames),t.allPaths&&(i.allPaths=t.allPaths),i}return aWt(n,e)}function sWt(n){const e=n;return e?typeof e.base=="string"&&typeof e.pattern=="string":!1}function aWt(n,e){const t=DFe(Object.getOwnPropertyNames(n).map(a=>lWt(a,n[a],e)).filter(a=>a!==Af)),i=t.length;if(!i)return Af;if(!t.some(a=>!!a.requiresSiblings)){if(i===1)return t[0];const a=function(c,d){let h;for(let m=0,f=t.length;m{for(const m of h){const f=await m;if(typeof f=="string")return f}return null})():null},l=t.find(c=>!!c.allBasenames);l&&(a.allBasenames=l.allBasenames);const u=t.reduce((c,d)=>d.allPaths?c.concat(d.allPaths):c,[]);return u.length&&(a.allPaths=u),a}const r=function(a,l,u){let c,d;for(let h=0,m=t.length;h{for(const h of d){const m=await h;if(typeof m=="string")return m}return null})():null},o=t.find(a=>!!a.allBasenames);o&&(r.allBasenames=o.allBasenames);const s=t.reduce((a,l)=>l.allPaths?a.concat(l.allPaths):a,[]);return s.length&&(r.allPaths=s),r}function lWt(n,e,t){if(e===!1)return Af;const i=NQ(n,t);if(i===Af)return Af;if(typeof e=="boolean")return i;if(e){const r=e.when;if(typeof r=="string"){const o=(s,a,l,u)=>{if(!u||!i(s,a))return null;const c=r.replace("$(basename)",()=>l),d=u(c);return OH(d)?d.then(h=>h?n:null):d?n:null};return o.requiresSiblings=!0,o}}return i}function DFe(n,e){const t=n.filter(a=>!!a.basenames);if(t.length<2)return n;const i=t.reduce((a,l)=>{const u=l.basenames;return u?a.concat(u):a},[]);let r;if(e){r=[];for(let a=0,l=i.length;a{const u=l.patterns;return u?a.concat(u):a},[]);const o=function(a,l){if(typeof a!="string")return null;if(!l){let c;for(c=a.length;c>0;c--){const d=a.charCodeAt(c-1);if(d===47||d===92)break}l=a.substr(c)}const u=i.indexOf(l);return u!==-1?r[u]:null};o.basenames=i,o.patterns=r,o.allBasenames=i;const s=n.filter(a=>!a.basenames);return s.push(o),s}function EQ(n,e,t,i,r,o){if(Array.isArray(n)){let s=0;for(const a of n){const l=EQ(a,e,t,i,r,o);if(l===10)return l;l>s&&(s=l)}return s}else{if(typeof n=="string")return i?n==="*"?5:n===t?10:0:0;if(n){const{language:s,pattern:a,scheme:l,hasAccessToAllModels:u,notebookType:c}=n;if(!i&&!u)return 0;c&&r&&(e=r);let d=0;if(l)if(l===e.scheme)d=10;else if(l==="*")d=5;else return 0;if(s)if(s===t)d=10;else if(s==="*")d=Math.max(d,5);else return 0;if(c)if(c===o)d=10;else if(c==="*"&&o!==void 0)d=Math.max(d,5);else return 0;if(a){let h;if(typeof a=="string"?h=a:h={...a,base:f0e(a.base)},h===e.fsPath||oWt(h,e.fsPath))d=10;else return 0}return d}else return 0}}var MFe=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},pA=function(n,e){return function(t,i){e(t,i,n)}},$o,ZQ;const bA=new wt("hasWordHighlights",!1);function kFe(n,e,t,i){const r=n.ordered(e);return BH(r.map(o=>()=>Promise.resolve(o.provideDocumentHighlights(e,t,i)).then(void 0,qr)),ga).then(o=>{if(o){const s=new to;return s.set(e.uri,o),s}return new to})}function uWt(n,e,t,i,r,o){const s=n.ordered(e);return BH(s.map(a=>()=>{const l=o.filter(u=>iye(u)).filter(u=>EQ(a.selector,u.uri,u.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(a.provideMultiDocumentHighlights(e,t,l,r)).then(void 0,qr)}),a=>a instanceof to&&a.size>0)}class WQ{constructor(e,t,i){this._model=e,this._selection=t,this._wordSeparators=i,this._wordRange=this._getCurrentWordRange(e,t),this._result=null}get result(){return this._result||(this._result=rs(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new J(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):null}isValid(e,t,i){const r=t.startLineNumber,o=t.startColumn,s=t.endColumn,a=this._getCurrentWordRange(e,t);let l=!!(this._wordRange&&this._wordRange.equalsRange(a));for(let u=0,c=i.length;!l&&u=s&&(l=!0)}return l}cancel(){this.result.cancel()}}class cWt extends WQ{constructor(e,t,i,r){super(e,t,i),this._providers=r}_compute(e,t,i,r){return kFe(this._providers,e,t.getPosition(),r).then(o=>o||new to)}}class dWt extends WQ{constructor(e,t,i,r,o){super(e,t,i),this._providers=r,this._otherModels=o}_compute(e,t,i,r){return uWt(this._providers,e,t.getPosition(),i,r,this._otherModels).then(o=>o||new to)}}class NFe extends WQ{constructor(e,t,i,r,o){super(e,t,r),this._otherModels=o,this._selectionIsEmpty=t.isEmpty(),this._word=i}_compute(e,t,i,r){return Bv(250,r).then(()=>{const o=new to;let s;if(this._word?s=this._word:s=e.getWordAtPosition(t.getPosition()),!s)return new to;const a=[e,...this._otherModels];for(const l of a){if(l.isDisposed())continue;const c=l.findMatches(s.word,!0,!1,!0,i,!1).map(d=>({range:d.range,kind:zI.Text}));c&&o.set(l.uri,c)}return o})}isValid(e,t,i){const r=t.isEmpty();return this._selectionIsEmpty!==r?!1:super.isValid(e,t,i)}}function hWt(n,e,t,i,r){return n.has(e)?new cWt(e,t,r,n):new NFe(e,t,i,r,[])}function mWt(n,e,t,i,r,o){return n.has(e)?new dWt(e,t,r,n,o):new NFe(e,t,i,r,o)}zm("_executeDocumentHighlights",async(n,e,t)=>{const i=n.get(Zt),r=await kFe(i.documentHighlightProvider,e,t,Yn.None);return r==null?void 0:r.get(e.uri)});let Sk=$o=class{constructor(e,t,i,r,o){this.toUnhook=new Je,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new to,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=o,this._hasWordHighlights=bA.bindTo(r),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(81),this.model=this.editor.getModel(),this.toUnhook.add(e.onDidChangeCursorPosition(s=>{this._ignorePositionChangeEvent||this.occurrencesHighlight!=="off"&&this._onPositionChanged(s)})),this.toUnhook.add(e.onDidFocusEditorText(s=>{this.occurrencesHighlight!=="off"&&(this.workerRequest||this._run())})),this.toUnhook.add(e.onDidChangeModelContent(s=>{this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(s=>{!s.newModelUrl&&s.oldModelUrl?this._stopSingular():$o.query&&this._run()})),this.toUnhook.add(e.onDidChangeConfiguration(s=>{const a=this.editor.getOption(81);this.occurrencesHighlight!==a&&(this.occurrencesHighlight=a,this._stopAll())})),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,$o.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight!=="off"&&this._run()}_getSortedHighlights(){return this.decorations.getRanges().sort(J.compareRangesUsingStarts)}moveNext(){const e=this._getSortedHighlights(),i=(e.findIndex(o=>o.containsPosition(this.editor.getPosition()))+1)%e.length,r=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(r.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(r);const o=this._getWord();if(o){const s=this.editor.getModel().getLineContent(r.startLineNumber);kl(`${s}, ${i+1} of ${e.length} for '${o.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){const e=this._getSortedHighlights(),i=(e.findIndex(o=>o.containsPosition(this.editor.getPosition()))-1+e.length)%e.length,r=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(r.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(r);const o=this._getWord();if(o){const s=this.editor.getModel().getLineContent(r.startLineNumber);kl(`${s}, ${i+1} of ${e.length} for '${o.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=$o.storedDecorations.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),$o.storedDecorations.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(){const e=this.codeEditorService.listCodeEditors(),t=[];for(const i of e){if(!i.hasModel())continue;const r=$o.storedDecorations.get(i.getModel().uri);if(!r)continue;i.removeDecorations(r),t.push(i.getModel().uri);const o=Gp.get(i);o!=null&&o.wordHighlighter&&o.wordHighlighter.decorations.length>0&&(o.wordHighlighter.decorations.clear(),o.wordHighlighter.workerRequest=null,o.wordHighlighter._hasWordHighlights.set(!1))}for(const i of t)$o.storedDecorations.delete(i)}_stopSingular(){var e,t,i,r;this._removeSingleDecorations(),this.editor.hasTextFocus()&&(((e=this.editor.getModel())===null||e===void 0?void 0:e.uri.scheme)!==wn.vscodeNotebookCell&&((i=(t=$o.query)===null||t===void 0?void 0:t.modelInfo)===null||i===void 0?void 0:i.model.uri.scheme)!==wn.vscodeNotebookCell?($o.query=null,this._run()):!((r=$o.query)===null||r===void 0)&&r.modelInfo&&($o.query.modelInfo=null)),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_stopAll(){this._removeAllDecorations(),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(e){var t;if(this.occurrencesHighlight==="off"){this._stopAll();return}if(e.reason!==3&&((t=this.editor.getModel())===null||t===void 0?void 0:t.uri.scheme)!==wn.vscodeNotebookCell){this._stopAll();return}this._run()}_getWord(){const e=this.editor.getSelection(),t=e.startLineNumber,i=e.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:t,column:i})}getOtherModelsToHighlight(e){if(!e)return[];if(e.uri.scheme===wn.vscodeNotebookCell){const o=[],s=this.codeEditorService.listCodeEditors();for(const a of s){const l=a.getModel();l&&l!==e&&l.uri.scheme===wn.vscodeNotebookCell&&o.push(l)}return o}const i=[],r=this.codeEditorService.listCodeEditors();for(const o of r){if(!kDt(o))continue;const s=o.getModel();s&&e===s.modified&&i.push(s.modified)}if(i.length)return i;if(this.occurrencesHighlight==="singleFile")return[];for(const o of r){const s=o.getModel();s&&s!==e&&i.push(s)}return i}_run(){var e;let t;if(this.editor.hasTextFocus()){const r=this.editor.getSelection();if(!r||r.startLineNumber!==r.endLineNumber){$o.query=null,this._stopAll();return}const o=r.startColumn,s=r.endColumn,a=this._getWord();if(!a||a.startColumn>o||a.endColumn{r===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=s||[],this._beginRenderDecorations())},vn)}}computeWithModel(e,t,i,r){return r.length?mWt(this.multiDocumentProviders,e,t,i,this.editor.getOption(131),r):hWt(this.providers,e,t,i,this.editor.getOption(131))}_beginRenderDecorations(){const e=new Date().getTime(),t=this.lastCursorPositionChangeTime+250;e>=t?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(()=>{this.renderDecorations()},t-e)}renderDecorations(){var e,t,i;this.renderDecorationsTimer=-1;const r=this.codeEditorService.listCodeEditors();for(const o of r){const s=Gp.get(o);if(!s)continue;const a=[],l=(e=o.getModel())===null||e===void 0?void 0:e.uri;if(l&&this.workerRequestValue.has(l)){const u=$o.storedDecorations.get(l),c=this.workerRequestValue.get(l);if(c)for(const h of c)h.range&&a.push({range:h.range,options:sZt(h.kind)});let d=[];o.changeDecorations(h=>{d=h.deltaDecorations(u??[],a)}),$o.storedDecorations=$o.storedDecorations.set(l,d),a.length>0&&((t=s.wordHighlighter)===null||t===void 0||t.decorations.set(a),(i=s.wordHighlighter)===null||i===void 0||i._hasWordHighlights.set(!0))}}}dispose(){this._stopSingular(),this.toUnhook.dispose()}};Sk.storedDecorations=new to,Sk.query=null,Sk=$o=MFe([pA(4,vi)],Sk);let Gp=ZQ=class extends Ie{static get(e){return e.getContribution(ZQ.ID)}constructor(e,t,i,r){super(),this._wordHighlighter=null;const o=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new Sk(e,i.documentHighlightProvider,i.multiDocumentHighlightProvider,t,r))};this._register(e.onDidChangeModel(s=>{this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),o()})),o()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!!(this._wordHighlighter&&this._wordHighlighter.hasDecorations())}moveNext(){var e;(e=this._wordHighlighter)===null||e===void 0||e.moveNext()}moveBack(){var e;(e=this._wordHighlighter)===null||e===void 0||e.moveBack()}restoreViewState(e){this._wordHighlighter&&e&&this._wordHighlighter.restore()}dispose(){this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),super.dispose()}};Gp.ID="editor.contrib.wordHighlighter",Gp=ZQ=MFe([pA(1,ln),pA(2,Zt),pA(3,vi)],Gp);class TFe extends Mt{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=Gp.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class fWt extends TFe{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:L("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:bA,kbOpts:{kbExpr:ne.editorTextFocus,primary:65,weight:100}})}}class gWt extends TFe{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:L("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:bA,kbOpts:{kbExpr:ne.editorTextFocus,primary:1089,weight:100}})}}class pWt extends Mt{constructor(){super({id:"editor.action.wordHighlight.trigger",label:L("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:bA.toNegated(),kbOpts:{kbExpr:ne.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const r=Gp.get(t);r&&r.restoreViewState(!0)}}yi(Gp.ID,Gp,0),tt(fWt),tt(gWt),tt(pWt);class vA extends Ko{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const r=Nc(t.getOption(131),t.getOption(130)),o=t.getModel(),a=t.getSelections().map(l=>{const u=new ye(l.positionLineNumber,l.positionColumn),c=this._move(r,o,u,this._wordNavigationType);return this._moveTo(l,c,this._inSelectionMode)});if(o.pushStackElement(),t._getViewModel().setCursorStates("moveWordCommand",3,a.map(l=>si.fromModelSelection(l))),a.length===1){const l=new ye(a[0].positionLineNumber,a[0].positionColumn);t.revealPosition(l,0)}}_moveTo(e,t,i){return i?new Wt(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new Wt(t.lineNumber,t.column,t.lineNumber,t.column)}}class h1 extends vA{_move(e,t,i,r){return wi.moveWordLeft(e,t,i,r)}}class m1 extends vA{_move(e,t,i,r){return wi.moveWordRight(e,t,i,r)}}class bWt extends h1{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class vWt extends h1{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class yWt extends h1{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:Oe.and(ne.textInputFocus,(e=Oe.and(yI,y3))===null||e===void 0?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class CWt extends h1{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class wWt extends h1{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class SWt extends h1{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:Oe.and(ne.textInputFocus,(e=Oe.and(yI,y3))===null||e===void 0?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class xWt extends h1{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,r){return super._move(Nc(Rh.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,r)}}class LWt extends h1{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,r){return super._move(Nc(Rh.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,r)}}class _Wt extends m1{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class FWt extends m1{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:Oe.and(ne.textInputFocus,(e=Oe.and(yI,y3))===null||e===void 0?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class IWt extends m1{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class DWt extends m1{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class MWt extends m1{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:Oe.and(ne.textInputFocus,(e=Oe.and(yI,y3))===null||e===void 0?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class kWt extends m1{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class NWt extends m1{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,r){return super._move(Nc(Rh.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,r)}}class TWt extends m1{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,r){return super._move(Nc(Rh.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,r)}}class yA extends Ko{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const r=e.get(tr);if(!t.hasModel())return;const o=Nc(t.getOption(131),t.getOption(130)),s=t.getModel(),a=t.getSelections(),l=t.getOption(6),u=t.getOption(11),c=r.getLanguageConfiguration(s.getLanguageId()).getAutoClosingPairs(),d=t._getViewModel(),h=a.map(m=>{const f=this._delete({wordSeparators:o,model:s,selection:m,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(9),autoClosingBrackets:l,autoClosingQuotes:u,autoClosingPairs:c,autoClosedCharacters:d.getCursorAutoClosedCharacters()},this._wordNavigationType);return new qs(f,"")});t.pushUndoStop(),t.executeCommands(this.id,h),t.pushUndoStop()}}class RQ extends yA{_delete(e,t){const i=wi.deleteWordLeft(e,t);return i||new J(1,1,1,1)}}class VQ extends yA{_delete(e,t){const i=wi.deleteWordRight(e,t);if(i)return i;const r=e.model.getLineCount(),o=e.model.getLineMaxColumn(r);return new J(r,o,r,o)}}class EWt extends RQ{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:ne.writable})}}class ZWt extends RQ{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:ne.writable})}}class WWt extends RQ{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:ne.writable,kbOpts:{kbExpr:ne.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class RWt extends VQ{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:ne.writable})}}class VWt extends VQ{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:ne.writable})}}class AWt extends VQ{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:ne.writable,kbOpts:{kbExpr:ne.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class GWt extends Mt{constructor(){super({id:"deleteInsideWord",precondition:ne.writable,label:L("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const r=Nc(t.getOption(131),t.getOption(130)),o=t.getModel(),a=t.getSelections().map(l=>{const u=wi.deleteInsideWord(r,o,l);return new qs(u,"")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}}gt(new bWt),gt(new vWt),gt(new yWt),gt(new CWt),gt(new wWt),gt(new SWt),gt(new _Wt),gt(new FWt),gt(new IWt),gt(new DWt),gt(new MWt),gt(new kWt),gt(new xWt),gt(new LWt),gt(new NWt),gt(new TWt),gt(new EWt),gt(new ZWt),gt(new WWt),gt(new RWt),gt(new VWt),gt(new AWt),tt(GWt);class XWt extends yA{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:ne.writable,kbOpts:{kbExpr:ne.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=T9.deleteWordPartLeft(e);return i||new J(1,1,1,1)}}class PWt extends yA{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:ne.writable,kbOpts:{kbExpr:ne.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const i=T9.deleteWordPartRight(e);if(i)return i;const r=e.model.getLineCount(),o=e.model.getLineMaxColumn(r);return new J(r,o,r,o)}}class EFe extends vA{_move(e,t,i,r){return T9.moveWordPartLeft(e,t,i)}}class OWt extends EFe{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:ne.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}$n.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class BWt extends EFe{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:ne.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}$n.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class ZFe extends vA{_move(e,t,i,r){return T9.moveWordPartRight(e,t,i)}}class zWt extends ZFe{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:ne.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class HWt extends ZFe{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:ne.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}gt(new XWt),gt(new PWt),gt(new OWt),gt(new BWt),gt(new zWt),gt(new HWt);class AQ extends Ie{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=dl.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(92);t||(this.editor.isSimpleWidget?t=new va(L("editor.simple.readonly","Cannot edit in read-only input")):t=new va(L("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}}AQ.ID="editor.contrib.readOnlyMessageController",yi(AQ.ID,AQ,2);var YWt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},WFe=function(n,e){return function(t,i){e(t,i,n)}};let GQ=class extends Ie{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=ei(this,void 0);const r=ba("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),o=ba("_textModel.onDidChangeContent",lt.debounce(s=>this._textModel.onDidChangeContent(s),()=>{},100));this._register(Yc(async(s,a)=>{r.read(s),o.read(s);const l=a.add(new jxt),u=await this._outlineModelService.getOrCreate(this._textModel,l.token);a.isDisposed||this._currentModel.set(u,void 0)}))}getBreadcrumbItems(e,t){const i=this._currentModel.read(t);if(!i)return[];const r=i.asListOfDocumentSymbols().filter(o=>e.contains(o.range.startLineNumber)&&!e.contains(o.range.endLineNumber));return r.sort(g1e(Ec(o=>o.range.endLineNumber-o.range.startLineNumber,Rg))),r.map(o=>({name:o.name,kind:o.kind,startLineNumber:o.range.startLineNumber}))}};GQ=YWt([WFe(1,Zt),WFe(2,mj)],GQ),YD.setBreadcrumbsSourceFactory((n,e)=>e.createInstance(GQ,n));var RFe;(function(n){n.inspectTokensAction=L("inspectTokens","Developer: Inspect Tokens")})(RFe||(RFe={}));var VFe;(function(n){n.gotoLineActionLabel=L("gotoLineActionLabel","Go to Line/Column...")})(VFe||(VFe={}));var AFe;(function(n){n.helpQuickAccessActionLabel=L("helpQuickAccess","Show all Quick Access Providers")})(AFe||(AFe={}));var GFe;(function(n){n.quickCommandActionLabel=L("quickCommandActionLabel","Command Palette"),n.quickCommandHelp=L("quickCommandActionHelp","Show And Run Commands")})(GFe||(GFe={}));var XFe;(function(n){n.quickOutlineActionLabel=L("quickOutlineActionLabel","Go to Symbol..."),n.quickOutlineByCategoryActionLabel=L("quickOutlineByCategoryActionLabel","Go to Symbol by Category...")})(XFe||(XFe={}));var CA;(function(n){n.editorViewAccessibleLabel=L("editorViewAccessibleLabel","Editor content"),n.accessibilityHelpMessage=L("accessibilityHelpMessage","Press Alt+F1 for Accessibility Options.")})(CA||(CA={}));var PFe;(function(n){n.toggleHighContrast=L("toggleHighContrast","Toggle High Contrast Theme")})(PFe||(PFe={}));var XQ;(function(n){n.bulkEditServiceSummary=L("bulkEditServiceSummary","Made {0} edits in {1} files")})(XQ||(XQ={}));function UWt(n,e,t){return new KWt(n,e,t)}class KWt extends NJ{constructor(e,t,i){super(e,i.keepIdleModels||!1,i.label,t),this._foreignModuleId=i.moduleId,this._foreignModuleCreateData=i.createData||null,this._foreignModuleHost=i.host||null,this._foreignProxy=null}fhr(e,t){if(!this._foreignModuleHost||typeof this._foreignModuleHost[e]!="function")return Promise.reject(new Error("Missing method "+e+" or missing main thread foreign host."));try{return Promise.resolve(this._foreignModuleHost[e].apply(this._foreignModuleHost,t))}catch(i){return Promise.reject(i)}}_getForeignProxy(){return this._foreignProxy||(this._foreignProxy=this._getProxy().then(e=>{const t=this._foreignModuleHost?l6(this._foreignModuleHost):[];return e.loadForeignModule(this._foreignModuleId,this._foreignModuleCreateData,t).then(i=>{this._foreignModuleCreateData=null;const r=(a,l)=>e.fmr(a,l),o=(a,l)=>function(){const u=Array.prototype.slice.call(arguments,0);return l(a,u)},s={};for(const a of i)s[a]=o(a,r);return s})})),this._foreignProxy}getProxy(){return this._getForeignProxy()}withSyncedResources(e){return this._withSyncedResources(e).then(t=>this.getProxy())}}function JWt(n){return Array.isArray(n)}function jWt(n){return!JWt(n)}function OFe(n){return typeof n=="string"}function BFe(n){return!OFe(n)}function wC(n){return!n}function Xp(n,e){return n.ignoreCase&&e?e.toLowerCase():e}function zFe(n){return n.replace(/[&<>'"_]/g,"-")}function bJt(n,e){}function br(n,e){return new Error(`${n.languageId}: ${e}`)}function f1(n,e,t,i,r){const o=/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g;let s=null;return e.replace(o,function(a,l,u,c,d,h,m,f,g){return wC(u)?wC(c)?!wC(d)&&d0;){const i=n.tokenizer[t];if(i)return i;const r=t.lastIndexOf(".");r<0?t=null:t=t.substr(0,r)}return null}function $Wt(n,e){let t=e;for(;t&&t.length>0;){if(n.stateNames[t])return!0;const r=t.lastIndexOf(".");r<0?t=null:t=t.substr(0,r)}return!1}var qWt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},eRt=function(n,e){return function(t,i){e(t,i,n)}},PQ;const HFe=5;class xk{static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(e!==null&&e.depth>=this._maxCacheDepth)return new Ex(e,t);let i=Ex.getStackElementId(e);i.length>0&&(i+="|"),i+=t;let r=this._entries[i];return r||(r=new Ex(e,t),this._entries[i]=r,r)}}xk._INSTANCE=new xk(HFe);class Ex{constructor(e,t){this.parent=e,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(e){let t="";for(;e!==null;)t.length>0&&(t+="|"),t+=e.state,e=e.parent;return t}static _equals(e,t){for(;e!==null&&t!==null;){if(e===t)return!0;if(e.state!==t.state)return!1;e=e.parent,t=t.parent}return e===null&&t===null}equals(e){return Ex._equals(this,e)}push(e){return xk.create(this,e)}pop(){return this.parent}popall(){let e=this;for(;e.parent;)e=e.parent;return e}switchTo(e){return xk.create(this.parent,e)}}class Zx{constructor(e,t){this.languageId=e,this.state=t}equals(e){return this.languageId===e.languageId&&this.state.equals(e.state)}clone(){return this.state.clone()===this.state?this:new Zx(this.languageId,this.state)}}class g1{static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(t!==null)return new Lk(e,t);if(e!==null&&e.depth>=this._maxCacheDepth)return new Lk(e,t);const i=Ex.getStackElementId(e);let r=this._entries[i];return r||(r=new Lk(e,null),this._entries[i]=r,r)}}g1._INSTANCE=new g1(HFe);class Lk{constructor(e,t){this.stack=e,this.embeddedLanguageData=t}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:g1.create(this.stack,this.embeddedLanguageData)}equals(e){return!(e instanceof Lk)||!this.stack.equals(e.stack)?!1:this.embeddedLanguageData===null&&e.embeddedLanguageData===null?!0:this.embeddedLanguageData===null||e.embeddedLanguageData===null?!1:this.embeddedLanguageData.equals(e.embeddedLanguageData)}}class tRt{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(e){this._languageId=e}emit(e,t){this._lastTokenType===t&&this._lastTokenLanguage===this._languageId||(this._lastTokenType=t,this._lastTokenLanguage=this._languageId,this._tokens.push(new PI(e,t,this._languageId)))}nestedLanguageTokenize(e,t,i,r){const o=i.languageId,s=i.state,a=bo.get(o);if(!a)return this.enterLanguage(o),this.emit(r,""),s;const l=a.tokenize(e,t,s);if(r!==0)for(const u of l.tokens)this._tokens.push(new PI(u.offset+r,u.type,u.language));else this._tokens=this._tokens.concat(l.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,l.endState}finalize(e){return new Z6(this._tokens,e)}}class SA{constructor(e,t){this._languageService=e,this._theme=t,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(e){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(e)}emit(e,t){const i=this._theme.match(this._currentLanguageId,t)|1024;this._lastTokenMetadata!==i&&(this._lastTokenMetadata=i,this._tokens.push(e),this._tokens.push(i))}static _merge(e,t,i){const r=e!==null?e.length:0,o=t.length,s=i!==null?i.length:0;if(r===0&&o===0&&s===0)return new Uint32Array(0);if(r===0&&o===0)return i;if(o===0&&s===0)return e;const a=new Uint32Array(r+o+s);e!==null&&a.set(e);for(let l=0;l{if(s)return;let l=!1;for(let u=0,c=a.changedLanguages.length;u{a.affectsConfiguration("editor.maxTokenizationLineLength")&&(this._maxTokenizationLineLength=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:this._languageId}))}))}getLoadStatus(){const e=[];for(const t in this._embeddedLanguages){const i=bo.get(t);if(i){if(i instanceof PQ){const r=i.getLoadStatus();r.loaded===!1&&e.push(r.promise)}continue}bo.isResolved(t)||e.push(bo.getOrCreate(t))}return e.length===0?{loaded:!0}:{loaded:!1,promise:Promise.all(e).then(t=>{})}}getInitialState(){const e=xk.create(null,this._lexer.start);return g1.create(e,null)}tokenize(e,t,i){if(e.length>=this._maxTokenizationLineLength)return oCe(this._languageId,i);const r=new tRt,o=this._tokenize(e,t,i,r);return r.finalize(o)}tokenizeEncoded(e,t,i){if(e.length>=this._maxTokenizationLineLength)return x7(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),i);const r=new SA(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),o=this._tokenize(e,t,i,r);return r.finalize(o)}_tokenize(e,t,i,r){return i.embeddedLanguageData?this._nestedTokenize(e,t,i,0,r):this._myTokenize(e,t,i,0,r)}_findLeavingNestedLanguageOffset(e,t){let i=this._lexer.tokenizer[t.stack.state];if(!i&&(i=wA(this._lexer,t.stack.state),!i))throw br(this._lexer,"tokenizer state is not defined: "+t.stack.state);let r=-1,o=!1;for(const s of i){if(!BFe(s.action)||s.action.nextEmbedded!=="@pop")continue;o=!0;let a=s.resolveRegex(t.stack.state);const l=a.source;if(l.substr(0,4)==="^(?:"&&l.substr(l.length-1,1)===")"){const c=(a.ignoreCase?"i":"")+(a.unicode?"u":"");a=new RegExp(l.substr(4,l.length-5),c)}const u=e.search(a);u===-1||u!==0&&s.matchOnlyAtLineStart||(r===-1||u0&&o.nestedLanguageTokenize(a,!1,i.embeddedLanguageData,r);const l=e.substring(s);return this._myTokenize(l,t,i,r+s,o)}_safeRuleName(e){return e?e.name:"(unknown)"}_myTokenize(e,t,i,r,o){o.enterLanguage(this._languageId);const s=e.length,a=t&&this._lexer.includeLF?e+` -`:e,l=a.length;let u=i.embeddedLanguageData,c=i.stack,d=0,h=null,m=!0;for(;m||d=l)break;m=!1;let T=this._lexer.tokenizer[v];if(!T&&(T=wA(this._lexer,v),!T))throw br(this._lexer,"tokenizer state is not defined: "+v);const Z=a.substr(d);for(const E of T)if((d===0||!E.matchOnlyAtLineStart)&&(C=Z.match(E.resolveRegex(v)),C)){S=C[0],x=E.action;break}}if(C||(C=[""],S=""),x||(d=this._lexer.maxStack)throw br(this._lexer,"maximum tokenizer stack size reached: ["+c.state+","+c.parent.state+",...]");c=c.push(v)}else if(x.next==="@pop"){if(c.depth<=1)throw br(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(_));c=c.pop()}else if(x.next==="@popall")c=c.popall();else{let T=f1(this._lexer,x.next,S,C,v);if(T[0]==="@"&&(T=T.substr(1)),wA(this._lexer,T))c=c.push(T);else throw br(this._lexer,"trying to set a next state '"+T+"' that is undefined in rule: "+this._safeRuleName(_))}}x.log&&typeof x.log=="string"&&(this._lexer,this._lexer.languageId+""+f1(this._lexer,x.log,S,C,v),void 0)}if(D===null)throw br(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(_));const M=T=>{const Z=this._languageService.getLanguageIdByLanguageName(T)||this._languageService.getLanguageIdByMimeType(T)||T,E=this._getNestedEmbeddedLanguageData(Z);if(d0)throw br(this._lexer,"groups cannot be nested: "+this._safeRuleName(_));if(C.length!==D.length+1)throw br(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(_));let T=0;for(let Z=1;Zn});class BQ{static colorizeElement(e,t,i,r){r=r||{};const o=r.theme||"vs",s=r.mimeType||i.getAttribute("lang")||i.getAttribute("data-lang");if(!s)return Promise.resolve();const a=t.getLanguageIdByMimeType(s)||s;e.setTheme(o);const l=i.firstChild?i.firstChild.nodeValue:"";i.className+=" "+o;const u=c=>{var d;const h=(d=OQ==null?void 0:OQ.createHTML(c))!==null&&d!==void 0?d:c;i.innerHTML=h};return this.colorize(t,l||"",a,r).then(u,c=>{})}static async colorize(e,t,i,r){const o=e.languageIdCodec;let s=4;r&&typeof r.tabSize=="number"&&(s=r.tabSize),lY(t)&&(t=t.substr(1));const a=Pm(t);if(!e.isRegisteredLanguageId(i))return YFe(a,s,o);const l=await bo.getOrCreate(i);return l?iRt(a,s,l,o):YFe(a,s,o)}static colorizeLine(e,t,i,r,o=4){const s=Uu.isBasicASCII(e,t),a=Uu.containsRTL(e,s,i);return cW(new u0(!1,!0,e,!1,s,a,0,r,[],o,0,0,0,0,-1,"none",!1,!1,null)).html}static colorizeModelLine(e,t,i=4){const r=e.getLineContent(t);e.tokenization.forceTokenization(t);const s=e.tokenization.getLineTokens(t).inflate();return this.colorizeLine(r,e.mightContainNonBasicASCII(),e.mightContainRTL(),s,i)}}function iRt(n,e,t,i){return new Promise((r,o)=>{const s=()=>{const a=rRt(n,e,t,i);if(t instanceof _k){const l=t.getLoadStatus();if(l.loaded===!1){l.promise.then(s,o);return}}r(a)};s()})}function YFe(n,e,t){let i=[];const o=new Uint32Array(2);o[0]=0,o[1]=33587200;for(let s=0,a=n.length;s")}return i.join("")}function rRt(n,e,t,i){let r=[],o=t.getInitialState();for(let s=0,a=n.length;s"),o=u.endState}return r.join("")}var oRt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},sRt=function(n,e){return function(t,i){e(t,i,n)}};let zQ=class extends Ie{constructor(e){super(),this._themeService=e,this._onWillCreateCodeEditor=this._register(new be),this._onCodeEditorAdd=this._register(new be),this.onCodeEditorAdd=this._onCodeEditorAdd.event,this._onCodeEditorRemove=this._register(new be),this.onCodeEditorRemove=this._onCodeEditorRemove.event,this._onWillCreateDiffEditor=this._register(new be),this._onDiffEditorAdd=this._register(new be),this.onDiffEditorAdd=this._onDiffEditorAdd.event,this._onDiffEditorRemove=this._register(new be),this.onDiffEditorRemove=this._onDiffEditorRemove.event,this._decorationOptionProviders=new Map,this._codeEditorOpenHandlers=new ja,this._modelProperties=new Map,this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._globalStyleSheet=null}willCreateCodeEditor(){this._onWillCreateCodeEditor.fire()}addCodeEditor(e){this._codeEditors[e.getId()]=e,this._onCodeEditorAdd.fire(e)}removeCodeEditor(e){delete this._codeEditors[e.getId()]&&this._onCodeEditorRemove.fire(e)}listCodeEditors(){return Object.keys(this._codeEditors).map(e=>this._codeEditors[e])}willCreateDiffEditor(){this._onWillCreateDiffEditor.fire()}addDiffEditor(e){this._diffEditors[e.getId()]=e,this._onDiffEditorAdd.fire(e)}listDiffEditors(){return Object.keys(this._diffEditors).map(e=>this._diffEditors[e])}getFocusedCodeEditor(){let e=null;const t=this.listCodeEditors();for(const i of t){if(i.hasTextFocus())return i;i.hasWidgetFocus()&&(e=i)}return e}removeDecorationType(e){const t=this._decorationOptionProviders.get(e);t&&(t.refCount--,t.refCount<=0&&(this._decorationOptionProviders.delete(e),t.dispose(),this.listCodeEditors().forEach(i=>i.removeDecorationsByType(e))))}setModelProperty(e,t,i){const r=e.toString();let o;this._modelProperties.has(r)?o=this._modelProperties.get(r):(o=new Map,this._modelProperties.set(r,o)),o.set(t,i)}getModelProperty(e,t){const i=e.toString();if(this._modelProperties.has(i))return this._modelProperties.get(i).get(t)}async openCodeEditor(e,t,i){for(const r of this._codeEditorOpenHandlers){const o=await r(e,t,i);if(o!==null)return o}return null}registerCodeEditorOpenHandler(e){const t=this._codeEditorOpenHandlers.unshift(e);return jt(t)}};zQ=oRt([sRt(0,jo)],zQ);var aRt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},UFe=function(n,e){return function(t,i){e(t,i,n)}};let xA=class extends zQ{constructor(e,t){super(t),this._register(this.onCodeEditorAdd(()=>this._checkContextKey())),this._register(this.onCodeEditorRemove(()=>this._checkContextKey())),this._editorIsOpen=e.createKey("editorIsOpen",!1),this._activeCodeEditor=null,this._register(this.registerCodeEditorOpenHandler(async(i,r,o)=>r?this.doOpenEditor(r,i):null))}_checkContextKey(){let e=!1;for(const t of this.listCodeEditors())if(!t.isSimpleWidget){e=!0;break}this._editorIsOpen.set(e)}setActiveCodeEditor(e){this._activeCodeEditor=e}getActiveCodeEditor(){return this._activeCodeEditor}doOpenEditor(e,t){if(!this.findModel(e,t.resource)){if(t.resource){const o=t.resource.scheme;if(o===wn.http||o===wn.https)return A0e(t.resource.toString()),e}return null}const r=t.options?t.options.selection:null;if(r)if(typeof r.endLineNumber=="number"&&typeof r.endColumn=="number")e.setSelection(r),e.revealRangeInCenter(r,1);else{const o={lineNumber:r.startLineNumber,column:r.startColumn};e.setPosition(o),e.revealPositionInCenter(o,1)}return e}findModel(e,t){const i=e.getModel();return i&&i.uri.toString()!==t.toString()?null:i}};xA=aRt([UFe(0,ln),UFe(1,jo)],xA),qn(vi,xA,0);const p1=Un("layoutService");var KFe=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},JFe=function(n,e){return function(t,i){e(t,i,n)}};let LA=class{get mainContainer(){var e,t;return(t=(e=zY(this._codeEditorService.listCodeEditors()))===null||e===void 0?void 0:e.getContainerDomNode())!==null&&t!==void 0?t:Wi.document.body}get activeContainer(){var e,t;const i=(e=this._codeEditorService.getFocusedCodeEditor())!==null&&e!==void 0?e:this._codeEditorService.getActiveCodeEditor();return(t=i==null?void 0:i.getContainerDomNode())!==null&&t!==void 0?t:this.mainContainer}get mainContainerDimension(){return Ig(this.mainContainer)}get activeContainerDimension(){return Ig(this.activeContainer)}get containers(){return Ym(this._codeEditorService.listCodeEditors().map(e=>e.getContainerDomNode()))}getContainer(){return this.activeContainer}whenContainerStylesLoaded(){}focus(){var e;(e=this._codeEditorService.getFocusedCodeEditor())===null||e===void 0||e.focus()}constructor(e){this._codeEditorService=e,this.onDidLayoutMainContainer=lt.None,this.onDidLayoutActiveContainer=lt.None,this.onDidLayoutContainer=lt.None,this.onDidChangeActiveContainer=lt.None,this.onDidAddContainer=lt.None,this.mainContainerOffset={top:0,quickPickTop:0},this.activeContainerOffset={top:0,quickPickTop:0}}};LA=KFe([JFe(0,vi)],LA);let HQ=class extends LA{get mainContainer(){return this._container}constructor(e,t){super(t),this._container=e}};HQ=KFe([JFe(1,vi)],HQ),qn(p1,LA,1);var lRt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},jFe=function(n,e){return function(t,i){e(t,i,n)}};function _A(n){return n.scheme===wn.file?n.fsPath:n.path}let QFe=0;class FA{constructor(e,t,i,r,o,s,a){this.id=++QFe,this.type=0,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabel=t,this.strResource=i,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=r,this.groupOrder=o,this.sourceId=s,this.sourceOrder=a,this.isValid=!0}setValid(e){this.isValid=e}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.isValid?" VALID":"INVALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class $Fe{constructor(e,t){this.resourceLabel=e,this.reason=t}}class qFe{constructor(){this.elements=new Map}createMessage(){const e=[],t=[];for(const[,r]of this.elements)(r.reason===0?e:t).push(r.resourceLabel);const i=[];return e.length>0&&i.push(L({key:"externalRemoval",comment:["{0} is a list of filenames"]},"The following files have been closed and modified on disk: {0}.",e.join(", "))),t.length>0&&i.push(L({key:"noParallelUniverses",comment:["{0} is a list of filenames"]},"The following files have been modified in an incompatible way: {0}.",t.join(", "))),i.join(` -`)}get size(){return this.elements.size}has(e){return this.elements.has(e)}set(e,t){this.elements.set(e,t)}delete(e){return this.elements.delete(e)}}class uRt{constructor(e,t,i,r,o,s,a){this.id=++QFe,this.type=1,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabels=t,this.strResources=i,this.groupId=r,this.groupOrder=o,this.sourceId=s,this.sourceOrder=a,this.removedResources=null,this.invalidatedResources=null}canSplit(){return typeof this.actual.split=="function"}removeResource(e,t,i){this.removedResources||(this.removedResources=new qFe),this.removedResources.has(t)||this.removedResources.set(t,new $Fe(e,i))}setValid(e,t,i){i?this.invalidatedResources&&(this.invalidatedResources.delete(t),this.invalidatedResources.size===0&&(this.invalidatedResources=null)):(this.invalidatedResources||(this.invalidatedResources=new qFe),this.invalidatedResources.has(t)||this.invalidatedResources.set(t,new $Fe(e,0)))}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?"INVALID":" VALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class eIe{constructor(e,t){this.resourceLabel=e,this.strResource=t,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(const e of this._past)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,0);for(const e of this._future)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){const e=[];e.push(`* ${this.strResource}:`);for(let t=0;t=0;t--)e.push(` * [REDO] ${this._future[t]}`);return e.join(` -`)}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(e,t){e.type===1?e.setValid(this.resourceLabel,this.strResource,t):e.setValid(t)}setElementsValidFlag(e,t){for(const i of this._past)t(i.actual)&&this._setElementValidFlag(i,e);for(const i of this._future)t(i.actual)&&this._setElementValidFlag(i,e)}pushElement(e){for(const t of this._future)t.type===1&&t.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(e),this.versionId++}createSnapshot(e){const t=[];for(let i=0,r=this._past.length;i=0;i--)t.push(this._future[i].id);return new aCe(e,t)}restoreSnapshot(e){const t=e.elements.length;let i=!0,r=0,o=-1;for(let a=0,l=this._past.length;a=t||u.id!==e.elements[r])&&(i=!1,o=0),!i&&u.type===1&&u.removeResource(this.resourceLabel,this.strResource,0)}let s=-1;for(let a=this._future.length-1;a>=0;a--,r++){const l=this._future[a];i&&(r>=t||l.id!==e.elements[r])&&(i=!1,s=a),!i&&l.type===1&&l.removeResource(this.resourceLabel,this.strResource,0)}o!==-1&&(this._past=this._past.slice(0,o)),s!==-1&&(this._future=this._future.slice(s+1)),this.versionId++}getElements(){const e=[],t=[];for(const i of this._past)e.push(i.actual);for(const i of this._future)t.push(i.actual);return{past:e,future:t}}getClosestPastElement(){return this._past.length===0?null:this._past[this._past.length-1]}getSecondClosestPastElement(){return this._past.length<2?null:this._past[this._past.length-2]}getClosestFutureElement(){return this._future.length===0?null:this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}splitPastWorkspaceElement(e,t){for(let i=this._past.length-1;i>=0;i--)if(this._past[i]===e){t.has(this.strResource)?this._past[i]=t.get(this.strResource):this._past.splice(i,1);break}this.versionId++}splitFutureWorkspaceElement(e,t){for(let i=this._future.length-1;i>=0;i--)if(this._future[i]===e){t.has(this.strResource)?this._future[i]=t.get(this.strResource):this._future.splice(i,1);break}this.versionId++}moveBackward(e){this._past.pop(),this._future.push(e),this.versionId++}moveForward(e){this._future.pop(),this._past.push(e),this.versionId++}}class YQ{constructor(e){this.editStacks=e,this._versionIds=[];for(let t=0,i=this.editStacks.length;tt.sourceOrder)&&(t=s,i=r)}return[t,i]}canUndo(e){if(e instanceof mf){const[,i]=this._findClosestUndoElementWithSource(e.id);return!!i}const t=this.getUriComparisonKey(e);return this._editStacks.has(t)?this._editStacks.get(t).hasPastElements():!1}_onError(e,t){vn(e);for(const i of t.strResources)this.removeElements(i);this._notificationService.error(e)}_acquireLocks(e){for(const t of e.editStacks)if(t.locked)throw new Error("Cannot acquire edit stack lock");for(const t of e.editStacks)t.locked=!0;return()=>{for(const t of e.editStacks)t.locked=!1}}_safeInvokeWithLocks(e,t,i,r,o){const s=this._acquireLocks(i);let a;try{a=t()}catch(l){return s(),r.dispose(),this._onError(l,e)}return a?a.then(()=>(s(),r.dispose(),o()),l=>(s(),r.dispose(),this._onError(l,e))):(s(),r.dispose(),o())}async _invokeWorkspacePrepare(e){if(typeof e.actual.prepareUndoRedo>"u")return Ie.None;const t=e.actual.prepareUndoRedo();return typeof t>"u"?Ie.None:t}_invokeResourcePrepare(e,t){if(e.actual.type!==1||typeof e.actual.prepareUndoRedo>"u")return t(Ie.None);const i=e.actual.prepareUndoRedo();return i?VH(i)?t(i):i.then(r=>t(r)):t(Ie.None)}_getAffectedEditStacks(e){const t=[];for(const i of e.strResources)t.push(this._editStacks.get(i)||tIe);return new YQ(t)}_tryToSplitAndUndo(e,t,i,r){if(t.canSplit())return this._splitPastWorkspaceElement(t,i),this._notificationService.warn(r),new IA(this._undo(e,0,!0));for(const o of t.strResources)this.removeElements(o);return this._notificationService.warn(r),new IA}_checkWorkspaceUndo(e,t,i,r){if(t.removedResources)return this._tryToSplitAndUndo(e,t,t.removedResources,L({key:"cannotWorkspaceUndo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not undo '{0}' across all files. {1}",t.label,t.removedResources.createMessage()));if(r&&t.invalidatedResources)return this._tryToSplitAndUndo(e,t,t.invalidatedResources,L({key:"cannotWorkspaceUndo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not undo '{0}' across all files. {1}",t.label,t.invalidatedResources.createMessage()));const o=[];for(const a of i.editStacks)a.getClosestPastElement()!==t&&o.push(a.resourceLabel);if(o.length>0)return this._tryToSplitAndUndo(e,t,null,L({key:"cannotWorkspaceUndoDueToChanges",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because changes were made to {1}",t.label,o.join(", ")));const s=[];for(const a of i.editStacks)a.locked&&s.push(a.resourceLabel);return s.length>0?this._tryToSplitAndUndo(e,t,null,L({key:"cannotWorkspaceUndoDueToInProgressUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}",t.label,s.join(", "))):i.isValid()?null:this._tryToSplitAndUndo(e,t,null,L({key:"cannotWorkspaceUndoDueToInMeantimeUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime",t.label))}_workspaceUndo(e,t,i){const r=this._getAffectedEditStacks(t),o=this._checkWorkspaceUndo(e,t,r,!1);return o?o.returnValue:this._confirmAndExecuteWorkspaceUndo(e,t,r,i)}_isPartOfUndoGroup(e){if(!e.groupId)return!1;for(const[,t]of this._editStacks){const i=t.getClosestPastElement();if(i){if(i===e){const r=t.getSecondClosestPastElement();if(r&&r.groupId===e.groupId)return!0}if(i.groupId===e.groupId)return!0}}return!1}async _confirmAndExecuteWorkspaceUndo(e,t,i,r){if(t.canSplit()&&!this._isPartOfUndoGroup(t)){let a;(function(c){c[c.All=0]="All",c[c.This=1]="This",c[c.Cancel=2]="Cancel"})(a||(a={}));const{result:l}=await this._dialogService.prompt({type:oo.Info,message:L("confirmWorkspace","Would you like to undo '{0}' across all files?",t.label),buttons:[{label:L({key:"ok",comment:["{0} denotes a number that is > 1, && denotes a mnemonic"]},"&&Undo in {0} Files",i.editStacks.length),run:()=>a.All},{label:L({key:"nok",comment:["&& denotes a mnemonic"]},"Undo this &&File"),run:()=>a.This}],cancelButton:{run:()=>a.Cancel}});if(l===a.Cancel)return;if(l===a.This)return this._splitPastWorkspaceElement(t,null),this._undo(e,0,!0);const u=this._checkWorkspaceUndo(e,t,i,!1);if(u)return u.returnValue;r=!0}let o;try{o=await this._invokeWorkspacePrepare(t)}catch(a){return this._onError(a,t)}const s=this._checkWorkspaceUndo(e,t,i,!0);if(s)return o.dispose(),s.returnValue;for(const a of i.editStacks)a.moveBackward(t);return this._safeInvokeWithLocks(t,()=>t.actual.undo(),i,o,()=>this._continueUndoInGroup(t.groupId,r))}_resourceUndo(e,t,i){if(!t.isValid){e.flushAllElements();return}if(e.locked){const r=L({key:"cannotResourceUndoDueToInProgressUndoRedo",comment:["{0} is a label for an operation."]},"Could not undo '{0}' because there is already an undo or redo operation running.",t.label);this._notificationService.warn(r);return}return this._invokeResourcePrepare(t,r=>(e.moveBackward(t),this._safeInvokeWithLocks(t,()=>t.actual.undo(),new YQ([e]),r,()=>this._continueUndoInGroup(t.groupId,i))))}_findClosestUndoElementInGroup(e){if(!e)return[null,null];let t=null,i=null;for(const[r,o]of this._editStacks){const s=o.getClosestPastElement();s&&s.groupId===e&&(!t||s.groupOrder>t.groupOrder)&&(t=s,i=r)}return[t,i]}_continueUndoInGroup(e,t){if(!e)return;const[,i]=this._findClosestUndoElementInGroup(e);if(i)return this._undo(i,0,t)}undo(e){if(e instanceof mf){const[,t]=this._findClosestUndoElementWithSource(e.id);return t?this._undo(t,e.id,!1):void 0}return typeof e=="string"?this._undo(e,0,!1):this._undo(this.getUriComparisonKey(e),0,!1)}_undo(e,t=0,i){if(!this._editStacks.has(e))return;const r=this._editStacks.get(e),o=r.getClosestPastElement();if(!o)return;if(o.groupId){const[a,l]=this._findClosestUndoElementInGroup(o.groupId);if(o!==a&&l)return this._undo(l,t,i)}if((o.sourceId!==t||o.confirmBeforeUndo)&&!i)return this._confirmAndContinueUndo(e,t,o);try{return o.type===1?this._workspaceUndo(e,o,i):this._resourceUndo(r,o,i)}finally{}}async _confirmAndContinueUndo(e,t,i){if((await this._dialogService.confirm({message:L("confirmDifferentSource","Would you like to undo '{0}'?",i.label),primaryButton:L({key:"confirmDifferentSource.yes",comment:["&& denotes a mnemonic"]},"&&Yes"),cancelButton:L("confirmDifferentSource.no","No")})).confirmed)return this._undo(e,t,!0)}_findClosestRedoElementWithSource(e){if(!e)return[null,null];let t=null,i=null;for(const[r,o]of this._editStacks){const s=o.getClosestFutureElement();s&&s.sourceId===e&&(!t||s.sourceOrder0)return this._tryToSplitAndRedo(e,t,null,L({key:"cannotWorkspaceRedoDueToChanges",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because changes were made to {1}",t.label,o.join(", ")));const s=[];for(const a of i.editStacks)a.locked&&s.push(a.resourceLabel);return s.length>0?this._tryToSplitAndRedo(e,t,null,L({key:"cannotWorkspaceRedoDueToInProgressUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}",t.label,s.join(", "))):i.isValid()?null:this._tryToSplitAndRedo(e,t,null,L({key:"cannotWorkspaceRedoDueToInMeantimeUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime",t.label))}_workspaceRedo(e,t){const i=this._getAffectedEditStacks(t),r=this._checkWorkspaceRedo(e,t,i,!1);return r?r.returnValue:this._executeWorkspaceRedo(e,t,i)}async _executeWorkspaceRedo(e,t,i){let r;try{r=await this._invokeWorkspacePrepare(t)}catch(s){return this._onError(s,t)}const o=this._checkWorkspaceRedo(e,t,i,!0);if(o)return r.dispose(),o.returnValue;for(const s of i.editStacks)s.moveForward(t);return this._safeInvokeWithLocks(t,()=>t.actual.redo(),i,r,()=>this._continueRedoInGroup(t.groupId))}_resourceRedo(e,t){if(!t.isValid){e.flushAllElements();return}if(e.locked){const i=L({key:"cannotResourceRedoDueToInProgressUndoRedo",comment:["{0} is a label for an operation."]},"Could not redo '{0}' because there is already an undo or redo operation running.",t.label);this._notificationService.warn(i);return}return this._invokeResourcePrepare(t,i=>(e.moveForward(t),this._safeInvokeWithLocks(t,()=>t.actual.redo(),new YQ([e]),i,()=>this._continueRedoInGroup(t.groupId))))}_findClosestRedoElementInGroup(e){if(!e)return[null,null];let t=null,i=null;for(const[r,o]of this._editStacks){const s=o.getClosestFutureElement();s&&s.groupId===e&&(!t||s.groupOrder=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},KQ=function(n,e){return function(t,i){e(t,i,n)}};let JQ=class extends Ie{constructor(e,t,i){super(),this._themeService=e,this._logService=t,this._languageService=i,this._caches=new WeakMap,this._register(this._themeService.onDidColorThemeChange(()=>{this._caches=new WeakMap}))}getStyling(e){return this._caches.has(e)||this._caches.set(e,new aQ(e.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(e)}};JQ=cRt([KQ(0,jo),KQ(1,tl),KQ(2,vr)],JQ),qn(sA,JQ,1);function nIe(n){return typeof n=="string"?!1:Array.isArray(n)?n.every(nIe):!!n.exclusive}class iIe{constructor(e,t,i,r){this.uri=e,this.languageId=t,this.notebookUri=i,this.notebookType=r}equals(e){var t,i;return this.notebookType===e.notebookType&&this.languageId===e.languageId&&this.uri.toString()===e.uri.toString()&&((t=this.notebookUri)===null||t===void 0?void 0:t.toString())===((i=e.notebookUri)===null||i===void 0?void 0:i.toString())}}class _r{constructor(e){this._notebookInfoResolver=e,this._clock=0,this._entries=[],this._onDidChange=new be,this.onDidChange=this._onDidChange.event}register(e,t){let i={selector:e,provider:t,_score:-1,_time:this._clock++};return this._entries.push(i),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),jt(()=>{if(i){const r=this._entries.indexOf(i);r>=0&&(this._entries.splice(r,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),i=void 0)}})}has(e){return this.all(e).length>0}all(e){if(!e)return[];this._updateScores(e);const t=[];for(const i of this._entries)i._score>0&&t.push(i.provider);return t}ordered(e){const t=[];return this._orderedForEach(e,i=>t.push(i.provider)),t}orderedGroups(e){const t=[];let i,r;return this._orderedForEach(e,o=>{i&&r===o._score?i.push(o.provider):(r=o._score,i=[o.provider],t.push(i))}),t}_orderedForEach(e,t){this._updateScores(e);for(const i of this._entries)i._score>0&&t(i)}_updateScores(e){var t,i;const r=(t=this._notebookInfoResolver)===null||t===void 0?void 0:t.call(this,e.uri),o=r?new iIe(e.uri,e.getLanguageId(),r.uri,r.type):new iIe(e.uri,e.getLanguageId(),void 0,void 0);if(!(!((i=this._lastCandidate)===null||i===void 0)&&i.equals(o))){this._lastCandidate=o;for(const s of this._entries)if(s._score=EQ(s.selector,o.uri,o.languageId,iye(e),o.notebookUri,o.notebookType),nIe(s.selector)&&s._score>0){for(const a of this._entries)a._score=0;s._score=1e3;break}this._entries.sort(_r._compareByScoreAndTime)}}static _compareByScoreAndTime(e,t){return e._scoret._score?-1:Fk(e.selector)&&!Fk(t.selector)?1:!Fk(e.selector)&&Fk(t.selector)?-1:e._timet._time?-1:0}}function Fk(n){return typeof n=="string"?!1:Array.isArray(n)?n.some(Fk):!!n.isBuiltin}class dRt{constructor(){this.referenceProvider=new _r(this._score.bind(this)),this.renameProvider=new _r(this._score.bind(this)),this.newSymbolNamesProvider=new _r(this._score.bind(this)),this.codeActionProvider=new _r(this._score.bind(this)),this.definitionProvider=new _r(this._score.bind(this)),this.typeDefinitionProvider=new _r(this._score.bind(this)),this.declarationProvider=new _r(this._score.bind(this)),this.implementationProvider=new _r(this._score.bind(this)),this.documentSymbolProvider=new _r(this._score.bind(this)),this.inlayHintsProvider=new _r(this._score.bind(this)),this.colorProvider=new _r(this._score.bind(this)),this.codeLensProvider=new _r(this._score.bind(this)),this.documentFormattingEditProvider=new _r(this._score.bind(this)),this.documentRangeFormattingEditProvider=new _r(this._score.bind(this)),this.onTypeFormattingEditProvider=new _r(this._score.bind(this)),this.signatureHelpProvider=new _r(this._score.bind(this)),this.hoverProvider=new _r(this._score.bind(this)),this.documentHighlightProvider=new _r(this._score.bind(this)),this.multiDocumentHighlightProvider=new _r(this._score.bind(this)),this.selectionRangeProvider=new _r(this._score.bind(this)),this.foldingRangeProvider=new _r(this._score.bind(this)),this.linkProvider=new _r(this._score.bind(this)),this.inlineCompletionsProvider=new _r(this._score.bind(this)),this.inlineEditProvider=new _r(this._score.bind(this)),this.completionProvider=new _r(this._score.bind(this)),this.linkedEditingRangeProvider=new _r(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new _r(this._score.bind(this)),this.documentSemanticTokensProvider=new _r(this._score.bind(this)),this.documentOnDropEditProvider=new _r(this._score.bind(this)),this.documentPasteEditProvider=new _r(this._score.bind(this))}_score(e){var t;return(t=this._notebookTypeResolver)===null||t===void 0?void 0:t.call(this,e)}}qn(Zt,dRt,1);var hRt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Ik=function(n,e){return function(t,i){e(t,i,n)}};const Gf=Ct;let jQ=class extends Hu{get _targetWindow(){return Qt(this._target.targetElements[0])}get _targetDocumentElement(){return Qt(this._target.targetElements[0]).document.documentElement}get isDisposed(){return this._isDisposed}get isMouseIn(){return this._lockMouseTracker.isMouseIn}get domNode(){return this._hover.containerDomNode}get onDispose(){return this._onDispose.event}get onRequestLayout(){return this._onRequestLayout.event}get anchor(){return this._hoverPosition===2?0:1}get x(){return this._x}get y(){return this._y}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked!==e&&(this._isLocked=e,this._hoverContainer.classList.toggle("locked",this._isLocked))}constructor(e,t,i,r,o,s){var a,l,u,c,d,h,m,f;super(),this._keybindingService=t,this._configurationService=i,this._openerService=r,this._instantiationService=o,this._accessibilityService=s,this._messageListeners=new Je,this._isDisposed=!1,this._forcePosition=!1,this._x=0,this._y=0,this._isLocked=!1,this._enableFocusTraps=!1,this._addedFocusTrap=!1,this._onDispose=this._register(new be),this._onRequestLayout=this._register(new be),this._linkHandler=e.linkHandler||(x=>cK(this._openerService,x,Yh(e.content)?e.content.isTrusted:void 0)),this._target="targetElements"in e.target?e.target:new mRt(e.target),this._hoverPointer=!((a=e.appearance)===null||a===void 0)&&a.showPointer?Gf("div.workbench-hover-pointer"):void 0,this._hover=this._register(new x8),this._hover.containerDomNode.classList.add("workbench-hover","fadeIn"),!((l=e.appearance)===null||l===void 0)&&l.compact&&this._hover.containerDomNode.classList.add("workbench-hover","compact"),!((u=e.appearance)===null||u===void 0)&&u.skipFadeInAnimation&&this._hover.containerDomNode.classList.add("skip-fade-in"),e.additionalClasses&&this._hover.containerDomNode.classList.add(...e.additionalClasses),!((c=e.position)===null||c===void 0)&&c.forcePosition&&(this._forcePosition=!0),e.trapFocus&&(this._enableFocusTraps=!0),this._hoverPosition=(h=(d=e.position)===null||d===void 0?void 0:d.hoverPosition)!==null&&h!==void 0?h:3,this.onmousedown(this._hover.containerDomNode,x=>x.stopPropagation()),this.onkeydown(this._hover.containerDomNode,x=>{x.equals(9)&&this.dispose()}),this._register(Ae(this._targetWindow,"blur",()=>this.dispose()));const g=Gf("div.hover-row.markdown-hover"),b=Gf("div.hover-contents");if(typeof e.content=="string")b.textContent=e.content,b.style.whiteSpace="pre-wrap";else if(e.content instanceof HTMLElement)b.appendChild(e.content),b.classList.add("html-hover-contents");else{const x=e.content,_=this._instantiationService.createInstance(xf,{codeBlockFontFamily:this._configurationService.getValue("editor").fontFamily||Al.fontFamily}),{element:F}=_.render(x,{actionHandler:{callback:D=>this._linkHandler(D),disposables:this._messageListeners},asyncRenderCallback:()=>{b.classList.add("code-hover-contents"),this.layout(),this._onRequestLayout.fire()}});b.appendChild(F)}if(g.appendChild(b),this._hover.contentsDomNode.appendChild(g),e.actions&&e.actions.length>0){const x=Gf("div.hover-row.status-bar"),_=Gf("div.actions");e.actions.forEach(F=>{const D=this._keybindingService.lookupKeybinding(F.commandId),M=D?D.getLabel():null;H3.render(_,{label:F.label,commandId:F.commandId,run:T=>{F.run(T),this.dispose()},iconClass:F.iconClass},M)}),x.appendChild(_),this._hover.containerDomNode.appendChild(x)}this._hoverContainer=Gf("div.workbench-hover-container"),this._hoverPointer&&this._hoverContainer.appendChild(this._hoverPointer),this._hoverContainer.appendChild(this._hover.containerDomNode);let v;if(e.actions&&e.actions.length>0?v=!1:((m=e.persistence)===null||m===void 0?void 0:m.hideOnHover)===void 0?v=typeof e.content=="string"||Yh(e.content)&&!e.content.value.includes("](")&&!e.content.value.includes(""):v=e.persistence.hideOnHover,v&&(!((f=e.appearance)===null||f===void 0)&&f.showHoverHint)){const x=Gf("div.hover-row.status-bar"),_=Gf("div.info");_.textContent=L("hoverhint","Hold {0} key to mouse over",On?"Option":"Alt"),x.appendChild(_),this._hover.containerDomNode.appendChild(x)}const C=[...this._target.targetElements];v||C.push(this._hoverContainer);const S=this._register(new rIe(C));if(this._register(S.onMouseOut(()=>{this._isLocked||this.dispose()})),v){const x=[...this._target.targetElements,this._hoverContainer];this._lockMouseTracker=this._register(new rIe(x)),this._register(this._lockMouseTracker.onMouseOut(()=>{this._isLocked||this.dispose()}))}else this._lockMouseTracker=S}addFocusTrap(){if(!this._enableFocusTraps||this._addedFocusTrap)return;this._addedFocusTrap=!0;const e=this._hover.containerDomNode,t=this.findLastFocusableChild(this._hover.containerDomNode);if(t){const i=_Y(this._hoverContainer,Gf("div")),r=je(this._hoverContainer,Gf("div"));i.tabIndex=0,r.tabIndex=0,this._register(Ae(r,"focus",o=>{e.focus(),o.preventDefault()})),this._register(Ae(i,"focus",o=>{t.focus(),o.preventDefault()}))}}findLastFocusableChild(e){if(e.hasChildNodes())for(let t=0;t=0)return o}const r=this.findLastFocusableChild(i);if(r)return r}}render(e){var t;e.appendChild(this._hoverContainer);const r=this._hoverContainer.contains(this._hoverContainer.ownerDocument.activeElement)&&Pxe(this._configurationService.getValue("accessibility.verbosity.hover")===!0&&this._accessibilityService.isScreenReaderOptimized(),(t=this._keybindingService.lookupKeybinding("editor.action.accessibleView"))===null||t===void 0?void 0:t.getAriaLabel());r&&Ng(r),this.layout(),this.addFocusTrap()}layout(){this._hover.containerDomNode.classList.remove("right-aligned"),this._hover.contentsDomNode.style.maxHeight="";const e=c=>{const d=k0e(c),h=c.getBoundingClientRect();return{top:h.top*d,bottom:h.bottom*d,right:h.right*d,left:h.left*d}},t=this._target.targetElements.map(c=>e(c)),{top:i,right:r,bottom:o,left:s}=t[0],a=r-s,l=o-i,u={top:i,right:r,bottom:o,left:s,width:a,height:l,center:{x:s+a/2,y:i+l/2}};if(this.adjustHorizontalHoverPosition(u),this.adjustVerticalHoverPosition(u),this.adjustHoverMaxHeight(u),this._hoverContainer.style.padding="",this._hoverContainer.style.margin="",this._hoverPointer){switch(this._hoverPosition){case 1:u.left+=3,u.right+=3,this._hoverContainer.style.paddingLeft="3px",this._hoverContainer.style.marginLeft="-3px";break;case 0:u.left-=3,u.right-=3,this._hoverContainer.style.paddingRight="3px",this._hoverContainer.style.marginRight="-3px";break;case 2:u.top+=3,u.bottom+=3,this._hoverContainer.style.paddingTop="3px",this._hoverContainer.style.marginTop="-3px";break;case 3:u.top-=3,u.bottom-=3,this._hoverContainer.style.paddingBottom="3px",this._hoverContainer.style.marginBottom="-3px";break}u.center.x=u.left+a/2,u.center.y=u.top+l/2}this.computeXCordinate(u),this.computeYCordinate(u),this._hoverPointer&&(this._hoverPointer.classList.remove("top"),this._hoverPointer.classList.remove("left"),this._hoverPointer.classList.remove("right"),this._hoverPointer.classList.remove("bottom"),this.setHoverPointerPosition(u)),this._hover.onContentsChanged()}computeXCordinate(e){const t=this._hover.containerDomNode.clientWidth+2;this._target.x!==void 0?this._x=this._target.x:this._hoverPosition===1?this._x=e.right:this._hoverPosition===0?this._x=e.left-t:(this._hoverPointer?this._x=e.center.x-this._hover.containerDomNode.clientWidth/2:this._x=e.left,this._x+t>=this._targetDocumentElement.clientWidth&&(this._hover.containerDomNode.classList.add("right-aligned"),this._x=Math.max(this._targetDocumentElement.clientWidth-t-2,this._targetDocumentElement.clientLeft))),this._xthis._targetWindow.innerHeight&&(this._y=e.bottom)}adjustHorizontalHoverPosition(e){if(this._target.x!==void 0)return;const t=this._hoverPointer?3:0;if(this._forcePosition){const i=t+2;this._hoverPosition===1?this._hover.containerDomNode.style.maxWidth=`${this._targetDocumentElement.clientWidth-e.right-i}px`:this._hoverPosition===0&&(this._hover.containerDomNode.style.maxWidth=`${e.left-i}px`);return}this._hoverPosition===1?this._targetDocumentElement.clientWidth-e.right=this._hover.containerDomNode.clientWidth+t?this._hoverPosition=0:this._hoverPosition=2):this._hoverPosition===0&&(e.left=this._hover.containerDomNode.clientWidth+t?this._hoverPosition=1:this._hoverPosition=2),e.left-this._hover.containerDomNode.clientWidth-t<=this._targetDocumentElement.clientLeft&&(this._hoverPosition=1))}adjustVerticalHoverPosition(e){if(this._target.y!==void 0||this._forcePosition)return;const t=this._hoverPointer?3:0;this._hoverPosition===3?e.top-this._hover.containerDomNode.clientHeight-t<0&&(this._hoverPosition=2):this._hoverPosition===2&&e.bottom+this._hover.containerDomNode.clientHeight+t>this._targetWindow.innerHeight&&(this._hoverPosition=3)}adjustHoverMaxHeight(e){let t=this._targetWindow.innerHeight/2;if(this._forcePosition){const i=(this._hoverPointer?3:0)+2;this._hoverPosition===3?t=Math.min(t,e.top-i):this._hoverPosition===2&&(t=Math.min(t,this._targetWindow.innerHeight-e.bottom-i))}if(this._hover.containerDomNode.style.maxHeight=`${t}px`,this._hover.contentsDomNode.clientHeighte.height?this._hoverPointer.style.top=`${e.center.y-(this._y-t)-3}px`:this._hoverPointer.style.top=`${Math.round(t/2)-3}px`;break}case 3:case 2:{this._hoverPointer.classList.add(this._hoverPosition===3?"bottom":"top");const t=this._hover.containerDomNode.clientWidth;let i=Math.round(t/2)-3;const r=this._x+i;(re.right)&&(i=e.center.x-this._x-3),this._hoverPointer.style.left=`${i}px`;break}}}focus(){this._hover.containerDomNode.focus()}dispose(){this._isDisposed||(this._onDispose.fire(),this._hoverContainer.remove(),this._messageListeners.dispose(),this._target.dispose(),super.dispose()),this._isDisposed=!0}};jQ=hRt([Ik(1,Bi),Ik(2,Pn),Ik(3,Bl),Ik(4,$t),Ik(5,Vc)],jQ);class rIe extends Hu{get onMouseOut(){return this._onMouseOut.event}get isMouseIn(){return this._isMouseIn}constructor(e){super(),this._elements=e,this._isMouseIn=!0,this._onMouseOut=this._register(new be),this._elements.forEach(t=>this.onmouseover(t,()=>this._onTargetMouseOver(t))),this._elements.forEach(t=>this.onmouseleave(t,()=>this._onTargetMouseLeave(t)))}_onTargetMouseOver(e){this._isMouseIn=!0,this._clearEvaluateMouseStateTimeout(e)}_onTargetMouseLeave(e){this._isMouseIn=!1,this._evaluateMouseState(e)}_evaluateMouseState(e){this._clearEvaluateMouseStateTimeout(e),this._mouseTimeout=Qt(e).setTimeout(()=>this._fireIfMouseOutside(),0)}_clearEvaluateMouseStateTimeout(e){this._mouseTimeout&&(Qt(e).clearTimeout(this._mouseTimeout),this._mouseTimeout=void 0)}_fireIfMouseOutside(){this._isMouseIn||this._onMouseOut.fire()}}class mRt{constructor(e){this._element=e,this.targetElements=[this._element]}dispose(){}}function fRt(n){const e=n;return!!e&&typeof e.x=="number"&&typeof e.y=="number"}var b1;(function(n){n[n.AVOID=0]="AVOID",n[n.ALIGN=1]="ALIGN"})(b1||(b1={}));function Wx(n,e,t){const i=t.mode===b1.ALIGN?t.offset:t.offset+t.size,r=t.mode===b1.ALIGN?t.offset+t.size:t.offset;return t.position===0?e<=n-i?i:e<=r?r-e:Math.max(n-e,0):e<=r?r-e:e<=n-i?i:0}class Rx extends Ie{constructor(e,t){super(),this.container=null,this.useFixedPosition=!1,this.useShadowDOM=!1,this.delegate=null,this.toDisposeOnClean=Ie.None,this.toDisposeOnSetContainer=Ie.None,this.shadowRoot=null,this.shadowRootHostElement=null,this.view=Ct(".context-view"),$a(this.view),this.setContainer(e,t),this._register(jt(()=>this.setContainer(null,1)))}setContainer(e,t){var i;this.useFixedPosition=t!==1;const r=this.useShadowDOM;if(this.useShadowDOM=t===3,!(e===this.container&&r===this.useShadowDOM)&&(this.container&&(this.toDisposeOnSetContainer.dispose(),this.shadowRoot?(this.shadowRoot.removeChild(this.view),this.shadowRoot=null,(i=this.shadowRootHostElement)===null||i===void 0||i.remove(),this.shadowRootHostElement=null):this.container.removeChild(this.view),this.container=null),e)){if(this.container=e,this.useShadowDOM){this.shadowRootHostElement=Ct(".shadow-root-host"),this.container.appendChild(this.shadowRootHostElement),this.shadowRoot=this.shadowRootHostElement.attachShadow({mode:"open"});const s=document.createElement("style");s.textContent=gRt,this.shadowRoot.appendChild(s),this.shadowRoot.appendChild(this.view),this.shadowRoot.appendChild(Ct("slot"))}else this.container.appendChild(this.view);const o=new Je;Rx.BUBBLE_UP_EVENTS.forEach(s=>{o.add(Gr(this.container,s,a=>{this.onDOMEvent(a,!1)}))}),Rx.BUBBLE_DOWN_EVENTS.forEach(s=>{o.add(Gr(this.container,s,a=>{this.onDOMEvent(a,!0)},!0))}),this.toDisposeOnSetContainer=o}}show(e){var t,i,r;this.isVisible()&&this.hide(),ma(this.view),this.view.className="context-view",this.view.style.top="0px",this.view.style.left="0px",this.view.style.zIndex=`${2575+((t=e.layer)!==null&&t!==void 0?t:0)}`,this.view.style.position=this.useFixedPosition?"fixed":"absolute",lu(this.view),this.toDisposeOnClean=e.render(this.view)||Ie.None,this.delegate=e,this.doLayout(),(r=(i=this.delegate).focus)===null||r===void 0||r.call(i)}getViewElement(){return this.view}layout(){var e,t;if(this.isVisible()){if(this.delegate.canRelayout===!1&&!(Vm&&MH.pointerEvents)){this.hide();return}(t=(e=this.delegate)===null||e===void 0?void 0:e.layout)===null||t===void 0||t.call(e),this.doLayout()}}doLayout(){if(!this.isVisible())return;const e=this.delegate.getAnchor();let t;if(e instanceof HTMLElement){const h=po(e),m=k0e(e);t={top:h.top*m,left:h.left*m,width:h.width*m,height:h.height*m}}else fRt(e)?t={top:e.y,left:e.x,width:e.width||1,height:e.height||2}:t={top:e.posy,left:e.posx,width:2,height:2};const i=Qa(this.view),r=Dg(this.view),o=this.delegate.anchorPosition||0,s=this.delegate.anchorAlignment||0,a=this.delegate.anchorAxisAlignment||0;let l,u;const c=Lft();if(a===0){const h={offset:t.top-c.pageYOffset,size:t.height,position:o===0?0:1},m={offset:t.left,size:t.width,position:s===0?0:1,mode:b1.ALIGN};l=Wx(c.innerHeight,r,h)+c.pageYOffset,ya.intersects({start:l,end:l+r},{start:h.offset,end:h.offset+h.size})&&(m.mode=b1.AVOID),u=Wx(c.innerWidth,i,m)}else{const h={offset:t.left,size:t.width,position:s===0?0:1},m={offset:t.top,size:t.height,position:o===0?0:1,mode:b1.ALIGN};u=Wx(c.innerWidth,i,h),ya.intersects({start:u,end:u+i},{start:h.offset,end:h.offset+h.size})&&(m.mode=b1.AVOID),l=Wx(c.innerHeight,r,m)+c.pageYOffset}this.view.classList.remove("top","bottom","left","right"),this.view.classList.add(o===0?"bottom":"top"),this.view.classList.add(s===0?"left":"right"),this.view.classList.toggle("fixed",this.useFixedPosition);const d=po(this.container);this.view.style.top=`${l-(this.useFixedPosition?po(this.view).top:d.top)}px`,this.view.style.left=`${u-(this.useFixedPosition?po(this.view).left:d.left)}px`,this.view.style.width="initial"}hide(e){const t=this.delegate;this.delegate=null,t!=null&&t.onHide&&t.onHide(e),this.toDisposeOnClean.dispose(),$a(this.view)}isVisible(){return!!this.delegate}onDOMEvent(e,t){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(e,Qt(e).document.activeElement):t&&!ps(e.target,this.container)&&this.hide())}dispose(){this.hide(),super.dispose()}}Rx.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"],Rx.BUBBLE_DOWN_EVENTS=["click"];const gRt=` +`)};const s=await o.provideRenameEdits(this.model,this.position,e,r);if(s){if(s.rejectReason)return this._provideRenameEdits(e,t+1,i.concat(s.rejectReason),r)}else return this._provideRenameEdits(e,t+1,i.concat(_("no result","No result.")),r);return s}}async function jRt(n,e,t,i){const r=new rQ(e,t,n),o=await r.resolveRenameLocation(Yn.None);return o!=null&&o.rejectReason?{edits:[],rejectReason:o.rejectReason}:r.provideRenameEdits(i,Yn.None)}let Ap=iQ=class{static get(e){return e.getContribution(iQ.ID)}constructor(e,t,i,r,o,s,a,l,u){this.editor=e,this._instaService=t,this._notificationService=i,this._bulkEditService=r,this._progressService=o,this._logService=s,this._configService=a,this._languageFeaturesService=l,this._telemetryService=u,this._disposableStore=new Je,this._cts=new fo,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(tQ,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var e,t;const i=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new fo,!this.editor.hasModel()){i("editor has no model");return}const r=this.editor.getPosition(),o=new rQ(this.editor.getModel(),r,this._languageFeaturesService.renameProvider);if(!o.hasProvider()){i("skeleton has no provider");return}const s=new T0(this.editor,5,void 0,this._cts.token);let a;try{i("resolving rename location");const g=o.resolveRenameLocation(s.token);this._progressService.showWhile(g,250),a=await g,i("resolved rename location")}catch(g){g instanceof _g?i("resolve rename location cancelled",JSON.stringify(g,null," ")):(i("resolve rename location failed",g instanceof Error?g:JSON.stringify(g,null," ")),(typeof g=="string"||Yh(g))&&((e=dl.get(this.editor))===null||e===void 0||e.showMessage(g||_("resolveRenameLocationFailed","An unknown error occurred while resolving rename location"),r)));return}finally{s.dispose()}if(!a){i("returning early - no loc");return}if(a.rejectReason){i(`returning early - rejected with reason: ${a.rejectReason}`,a.rejectReason),(t=dl.get(this.editor))===null||t===void 0||t.showMessage(a.rejectReason,r);return}if(s.token.isCancellationRequested){i("returning early - cts1 cancelled");return}const l=new T0(this.editor,5,a.range,this._cts.token),u=this.editor.getModel(),c=this._languageFeaturesService.newSymbolNamesProvider.all(u),d=g=>c.map(b=>b.provideNewSymbolNames(u,a.range,g));i("creating rename input field and awaiting its result");const h=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),m=await this._renameWidget.getInput(a.range,a.text,h,d,l);if(i("received response from rename input field"),c.length>0&&this._reportTelemetry(c.length,u.getLanguageId(),m),typeof m=="boolean"){i(`returning early - rename input field response - ${m}`),m&&this.editor.focus(),l.dispose();return}this.editor.focus(),i("requesting rename edits");const f=UI(o.provideRenameEdits(m.newName,l.token),l.token).then(async g=>{if(!g){i("returning early - no rename edits result");return}if(!this.editor.hasModel()){i("returning early - no model after rename edits are provided");return}if(g.rejectReason){i(`returning early - rejected with reason: ${g.rejectReason}`),this._notificationService.info(g.rejectReason);return}this.editor.setSelection(J.fromPositions(this.editor.getSelection().getPosition())),i("applying edits"),this._bulkEditService.apply(g,{editor:this.editor,showPreview:m.wantsPreview,label:_("label","Renaming '{0}' to '{1}'",a==null?void 0:a.text,m.newName),code:"undoredo.rename",quotableLabel:_("quotableLabel","Renaming {0} to {1}",a==null?void 0:a.text,m.newName),respectAutoSaveConfig:!0}).then(b=>{i("edits applied"),b.ariaSummary&&Ml(_("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",a.text,m.newName,b.ariaSummary))}).catch(b=>{i(`error when applying edits ${JSON.stringify(b,null," ")}`),this._notificationService.error(_("rename.failedApply","Rename failed to apply edits")),this._logService.error(b)})},g=>{i("error when providing rename edits",JSON.stringify(g,null," ")),this._notificationService.error(_("rename.failed","Rename failed to compute edits")),this._logService.error(g)}).finally(()=>{l.dispose()});return i("returning rename operation"),this._progressService.showWhile(f,250),f}acceptRenameInput(e){this._renameWidget.acceptInput(e)}cancelRenameInput(){this._renameWidget.cancelInput(!0,"cancelRenameInput command")}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}_reportTelemetry(e,t,i){const r=typeof i=="boolean"?{kind:"cancelled",languageId:t,nRenameSuggestionProviders:e}:{kind:"accepted",languageId:t,nRenameSuggestionProviders:e,source:i.stats.source.k,nRenameSuggestions:i.stats.nRenameSuggestions,timeBeforeFirstInputFieldEdit:i.stats.timeBeforeFirstInputFieldEdit,wantsPreview:i.wantsPreview};this._telemetryService.publicLog2("renameInvokedEvent",r)}};Ap.ID="editor.contrib.renameController",Ap=iQ=JRt([l1(1,$t),l1(2,Mo),l1(3,tN),l1(4,N0),l1(5,tl),l1(6,DJ),l1(7,Rt),l1(8,Rl)],Ap);class QRt extends Nt{constructor(){super({id:"editor.action.rename",label:_("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:Oe.and(ne.writable,ne.hasRenameProvider),kbOpts:{kbExpr:ne.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const i=e.get(yi),[r,o]=Array.isArray(t)&&t||[void 0,void 0];return en.isUri(r)&&ve.isIPosition(o)?i.openCodeEditor({resource:r},i.getActiveCodeEditor()).then(s=>{s&&(s.setPosition(o),s.invokeWithinContext(a=>(this.reportTelemetry(a,s),this.run(a,s))))},yn):super.runCommand(e,t)}run(e,t){const i=e.get(tl),r=Ap.get(t);return r?(i.trace("[RenameAction] got controller, running..."),r.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}vi(Ap.ID,Ap,4),tt(QRt);const oQ=Ko.bindToContribution(Ap.get);gt(new oQ({id:"acceptRenameInput",precondition:Ix,handler:n=>n.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:Oe.and(ne.focus,Oe.not("isComposing")),primary:3}})),gt(new oQ({id:"acceptRenameInputWithPreview",precondition:Oe.and(Ix,Oe.has("config.editor.rename.enablePreview")),handler:n=>n.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:Oe.and(ne.focus,Oe.not("isComposing")),primary:2051}})),gt(new oQ({id:"cancelRenameInput",precondition:Ix,handler:n=>n.cancelRenameInput(),kbOpts:{weight:199,kbExpr:ne.focus,primary:9,secondary:[1033]}})),Ki(class extends el{constructor(){super({id:"focusNextRenameSuggestion",title:{...oi("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:Ix,keybinding:[{primary:2,secondary:[18],weight:199}]})}run(e){const t=e.get(yi).getFocusedCodeEditor();if(!t)return;const i=Ap.get(t);i&&i.focusNextRenameSuggestion()}}),Ki(class extends el{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...oi("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:Ix,keybinding:[{primary:1026,secondary:[16],weight:199}]})}run(e){const t=e.get(yi).getFocusedCodeEditor();if(!t)return;const i=Ap.get(t);i&&i.focusPreviousRenameSuggestion()}}),zm("_executeDocumentRenameProvider",function(n,e,t,...i){const[r]=i;hi(typeof r=="string");const{renameProvider:o}=n.get(Rt);return jRt(o,e,t,r)}),zm("_executePrepareRename",async function(n,e,t){const{renameProvider:i}=n.get(Rt),o=await new rQ(e,t,i).resolveRenameLocation(Yn.None);if(o!=null&&o.rejectReason)throw new Error(o.rejectReason);return o}),Do.as(Eh.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:_("enablePreview","Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var $Rt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},YLe=function(n,e){return function(t,i){e(t,i,n)}};let dM=class extends Fe{constructor(e,t,i){super(),this.editor=e,this.languageConfigurationService=t,this.editorWorkerService=i,this.decorations=this.editor.createDecorationsCollection(),this.options=this.createOptions(e.getOption(73)),this.computePromise=null,this.currentOccurrences={},this._register(e.onDidChangeModel(r=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(e.onDidChangeModelLanguage(r=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(t.onDidChange(r=>{var o;const s=(o=this.editor.getModel())===null||o===void 0?void 0:o.getLanguageId();s&&r.affects(s)&&(this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(e.onDidChangeConfiguration(r=>{this.options&&!r.hasChanged(73)||(this.options=this.createOptions(e.getOption(73)),this.updateDecorations([]),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(this.editor.onDidChangeModelContent(r=>{this.computeSectionHeaders.schedule()})),this.computeSectionHeaders=this._register(new Wi(()=>{this.findSectionHeaders()},250)),this.computeSectionHeaders.schedule(0)}createOptions(e){if(!e||!this.editor.hasModel())return;const t=this.editor.getModel().getLanguageId();if(!t)return;const i=this.languageConfigurationService.getLanguageConfiguration(t).comments,r=this.languageConfigurationService.getLanguageConfiguration(t).foldingRules;if(!(!i&&!(r!=null&&r.markers)))return{foldingRules:r,findMarkSectionHeaders:e.showMarkSectionHeaders,findRegionSectionHeaders:e.showRegionSectionHeaders}}findSectionHeaders(){var e,t;if(!this.editor.hasModel()||!(!((e=this.options)===null||e===void 0)&&e.findMarkSectionHeaders)&&!(!((t=this.options)===null||t===void 0)&&t.findRegionSectionHeaders))return;const i=this.editor.getModel();if(i.isDisposed()||i.isTooLargeForSyncing())return;const r=i.getVersionId();this.editorWorkerService.findSectionHeaders(i.uri,this.options).then(o=>{i.isDisposed()||i.getVersionId()!==r||this.updateDecorations(o)})}updateDecorations(e){const t=this.editor.getModel();t&&(e=e.filter(o=>{if(!o.shouldBeInComments)return!0;const s=t.validateRange(o.range),a=t.tokenization.getLineTokens(s.startLineNumber),l=a.findTokenIndexAtOffset(s.startColumn-1),u=a.getStandardTokenType(l);return a.getLanguageId(l)===t.getLanguageId()&&u===1}));const i=Object.values(this.currentOccurrences).map(o=>o.decorationId),r=e.map(o=>qRt(o));this.editor.changeDecorations(o=>{const s=o.deltaDecorations(i,r);this.currentOccurrences={};for(let a=0,l=s.length;a0?t.charCodeAt(0):0)}acceptEdit(e,t,i,r,o){this._acceptDeleteRange(e),this._acceptInsertText(new ve(e.startLineNumber,e.startColumn),t,i,r,o),this._updateEndLineNumber()}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return;const t=e.startLineNumber-this._startLineNumber,i=e.endLineNumber-this._startLineNumber;if(i<0){const o=i-t;this._startLineNumber-=o;return}const r=this._tokens.getMaxDeltaLine();if(!(t>=r+1)){if(t<0&&i>=r+1){this._startLineNumber=0,this._tokens.clear();return}if(t<0){const o=-t;this._startLineNumber-=o,this._tokens.acceptDeleteRange(e.startColumn-1,0,0,i,e.endColumn-1)}else this._tokens.acceptDeleteRange(0,t,e.startColumn-1,i,e.endColumn-1)}}_acceptInsertText(e,t,i,r,o){if(t===0&&i===0)return;const s=e.lineNumber-this._startLineNumber;if(s<0){this._startLineNumber+=t;return}const a=this._tokens.getMaxDeltaLine();s>=a+1||this._tokens.acceptInsertText(s,e.column-1,t,i,r,o)}}class rV{constructor(e){this._tokens=e,this._tokenCount=e.length/4}toString(e){const t=[];for(let i=0;ie)i=r-1;else{let s=r;for(;s>t&&this._getDeltaLine(s-1)===e;)s--;let a=r;for(;ae||h===e&&f>=t)&&(he||f===e&&b>=t){if(fo?g-=o-i:g=i;else if(m===t&&f===i)if(m===r&&g>o)g-=o-i;else{c=!0;continue}else if(mo)m=t,f=i,g=f+(g-o);else{c=!0;continue}else if(m>r){if(l===0&&!c){u=a;break}m-=l}else if(m===r&&f>=o)e&&m===0&&(f+=e,g+=e),m-=l,f-=o-i,g-=o-i;else throw new Error("Not possible!");const y=4*u;s[y]=m,s[y+1]=f,s[y+2]=g,s[y+3]=b,u++}this._tokenCount=u}acceptInsertText(e,t,i,r,o,s){const a=i===0&&r===1&&(s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122),l=this._tokens,u=this._tokenCount;for(let c=0;c=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},sQ=function(n,e){return function(t,i){e(t,i,n)}};let aQ=class{constructor(e,t,i,r){this._legend=e,this._themeService=t,this._languageService=i,this._logService=r,this._hasWarnedOverlappingTokens=!1,this._hasWarnedInvalidLengthTokens=!1,this._hasWarnedInvalidEditStart=!1,this._hashTable=new Vp}getMetadata(e,t,i){const r=this._languageService.languageIdCodec.encodeLanguageId(i),o=this._hashTable.get(e,t,r);let s;if(o)s=o.metadata,this._logService.getLevel()===$s.Trace&&this._logService.trace(`SemanticTokensProviderStyling [CACHED] ${e} / ${t}: foreground ${hu.getForeground(s)}, fontStyle ${hu.getFontStyle(s).toString(2)}`);else{let a=this._legend.tokenTypes[e];const l=[];if(a){let u=t;for(let d=0;u>0&&d>1;u>0&&this._logService.getLevel()===$s.Trace&&(this._logService.trace(`SemanticTokensProviderStyling: unknown token modifier index: ${t.toString(2)} for legend: ${JSON.stringify(this._legend.tokenModifiers)}`),l.push("not-in-legend"));const c=this._themeService.getColorTheme().getTokenStyleMetadata(a,l,i);if(typeof c>"u")s=2147483647;else{if(s=0,typeof c.italic<"u"){const d=(c.italic?1:0)<<11;s|=d|1}if(typeof c.bold<"u"){const d=(c.bold?2:0)<<11;s|=d|2}if(typeof c.underline<"u"){const d=(c.underline?4:0)<<11;s|=d|4}if(typeof c.strikethrough<"u"){const d=(c.strikethrough?8:0)<<11;s|=d|8}if(c.foreground){const d=c.foreground<<15;s|=d|16}s===0&&(s=2147483647)}}else this._logService.getLevel()===$s.Trace&&this._logService.trace(`SemanticTokensProviderStyling: unknown token type index: ${e} for legend: ${JSON.stringify(this._legend.tokenTypes)}`),s=2147483647,a="not-in-legend";this._hashTable.add(e,t,r,s),this._logService.getLevel()===$s.Trace&&this._logService.trace(`SemanticTokensProviderStyling ${e} (${a}) / ${t} (${l.join(" ")}): foreground ${hu.getForeground(s)}, fontStyle ${hu.getFontStyle(s).toString(2)}`)}return s}warnOverlappingSemanticTokens(e,t){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,this._logService.warn(`Overlapping semantic tokens detected at lineNumber ${e}, column ${t}`))}warnInvalidLengthSemanticTokens(e,t){this._hasWarnedInvalidLengthTokens||(this._hasWarnedInvalidLengthTokens=!0,this._logService.warn(`Semantic token with invalid length detected at lineNumber ${e}, column ${t}`))}warnInvalidEditStart(e,t,i,r,o){this._hasWarnedInvalidEditStart||(this._hasWarnedInvalidEditStart=!0,this._logService.warn(`Invalid semantic tokens edit detected (previousResultId: ${e}, resultId: ${t}) at edit #${i}: The provided start offset ${r} is outside the previous data (length ${o}).`))}};aQ=e9t([sQ(1,jo),sQ(2,br),sQ(3,tl)],aQ);function KLe(n,e,t){const i=n.data,r=n.data.length/5|0,o=Math.max(Math.ceil(r/1024),400),s=[];let a=0,l=1,u=0;for(;ac&&i[5*C]===0;)C--;if(C-1===c){let w=d;for(;w+1I)e.warnOverlappingSemanticTokens(L,I+1);else{const E=e.getMetadata(T,R,t);E!==2147483647&&(f===0&&(f=L),h[m]=L-f,h[m+1]=I,h[m+2]=N,h[m+3]=E,m+=4,g=L,b=N)}l=L,u=I,a++}m!==h.length&&(h=h.subarray(0,m));const y=hM.create(f,h);s.push(y)}return s}class t9t{constructor(e,t,i,r){this.tokenTypeIndex=e,this.tokenModifierSet=t,this.languageId=i,this.metadata=r,this.next=null}}class Vp{constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=Vp._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1=this._growCount){const o=this._elements;this._currentLengthIndex++,this._currentLength=Vp._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+10?t[0]:[]}async function $Le(n,e,t,i,r){const o=s9t(n,e),s=await Promise.all(o.map(async a=>{let l,u=null;try{l=await a.provideDocumentSemanticTokens(e,a===t?i:null,r)}catch(c){u=c,l=null}return(!l||!oV(l)&&!jLe(l))&&(l=null),new o9t(a,l,u)}));for(const a of s){if(a.error)throw a.error;if(a.tokens)return a}return s.length>0?s[0]:null}function a9t(n,e){const t=n.orderedGroups(e);return t.length>0?t[0]:null}class l9t{constructor(e,t){this.provider=e,this.tokens=t}}function u9t(n,e){return n.has(e)}function qLe(n,e){const t=n.orderedGroups(e);return t.length>0?t[0]:[]}async function lQ(n,e,t,i){const r=qLe(n,e),o=await Promise.all(r.map(async s=>{let a;try{a=await s.provideDocumentRangeSemanticTokens(e,t,i)}catch(l){qr(l),a=null}return(!a||!oV(a))&&(a=null),new l9t(s,a)}));for(const s of o)if(s.tokens)return s;return o.length>0?o[0]:null}$n.registerCommand("_provideDocumentSemanticTokensLegend",async(n,...e)=>{const[t]=e;hi(t instanceof en);const i=n.get(wr).getModel(t);if(!i)return;const{documentSemanticTokensProvider:r}=n.get(Rt),o=a9t(r,i);return o?o[0].getLegend():n.get(Xr).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)}),$n.registerCommand("_provideDocumentSemanticTokens",async(n,...e)=>{const[t]=e;hi(t instanceof en);const i=n.get(wr).getModel(t);if(!i)return;const{documentSemanticTokensProvider:r}=n.get(Rt);if(!QLe(r,i))return n.get(Xr).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const o=await $Le(r,i,null,null,Yn.None);if(!o)return;const{provider:s,tokens:a}=o;if(!a||!oV(a))return;const l=JLe({id:0,type:"full",data:a.data});return a.resultId&&s.releaseDocumentSemanticTokens(a.resultId),l}),$n.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(n,...e)=>{const[t,i]=e;hi(t instanceof en);const r=n.get(wr).getModel(t);if(!r)return;const{documentRangeSemanticTokensProvider:o}=n.get(Rt),s=qLe(o,r);if(s.length===0)return;if(s.length===1||!i||!J.isIRange(i))return s[0].getLegend();const a=await lQ(o,r,J.lift(i),Yn.None);if(a)return a.provider.getLegend()}),$n.registerCommand("_provideDocumentRangeSemanticTokens",async(n,...e)=>{const[t,i]=e;hi(t instanceof en),hi(J.isIRange(i));const r=n.get(wr).getModel(t);if(!r)return;const{documentRangeSemanticTokensProvider:o}=n.get(Rt),s=await lQ(o,r,J.lift(i),Yn.None);if(!(!s||!s.tokens))return JLe({id:0,type:"full",data:s.tokens.data})});const sV=Un("semanticTokensStylingService"),uQ="editor.semanticHighlighting";function aV(n,e,t){var i;const r=(i=t.getValue(uQ,{overrideIdentifier:n.getLanguageId(),resource:n.uri}))===null||i===void 0?void 0:i.enabled;return typeof r=="boolean"?r:e.getColorTheme().semanticHighlighting}var eIe=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Wf=function(n,e){return function(t,i){e(t,i,n)}},u1;let cQ=class extends Fe{constructor(e,t,i,r,o,s){super(),this._watchers=Object.create(null);const a=c=>{this._watchers[c.uri.toString()]=new mM(c,e,i,o,s)},l=(c,d)=>{d.dispose(),delete this._watchers[c.uri.toString()]},u=()=>{for(const c of t.getModels()){const d=this._watchers[c.uri.toString()];aV(c,i,r)?d||a(c):d&&l(c,d)}};t.getModels().forEach(c=>{aV(c,i,r)&&a(c)}),this._register(t.onModelAdded(c=>{aV(c,i,r)&&a(c)})),this._register(t.onModelRemoved(c=>{const d=this._watchers[c.uri.toString()];d&&l(c,d)})),this._register(r.onDidChangeConfiguration(c=>{c.affectsConfiguration(uQ)&&u()})),this._register(i.onDidColorThemeChange(u))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};cQ=eIe([Wf(0,sV),Wf(1,wr),Wf(2,jo),Wf(3,Pn),Wf(4,Qc),Wf(5,Rt)],cQ);let mM=u1=class extends Fe{constructor(e,t,i,r,o){super(),this._semanticTokensStylingService=t,this._isDisposed=!1,this._model=e,this._provider=o.documentSemanticTokensProvider,this._debounceInformation=r.for(this._provider,"DocumentSemanticTokens",{min:u1.REQUEST_MIN_DELAY,max:u1.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new Wi(()=>this._fetchDocumentSemanticTokensNow(),u1.REQUEST_MIN_DELAY)),this._currentDocumentResponse=null,this._currentDocumentRequestCancellationTokenSource=null,this._documentProvidersChangeListeners=[],this._providersChangedDuringRequest=!1,this._register(this._model.onDidChangeContent(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeAttached(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeLanguage(()=>{this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(0)}));const s=()=>{qi(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const a of this._provider.all(e))typeof a.onDidChange=="function"&&this._documentProvidersChangeListeners.push(a.onDidChange(()=>{if(this._currentDocumentRequestCancellationTokenSource){this._providersChangedDuringRequest=!0;return}this._fetchDocumentSemanticTokens.schedule(0)}))};s(),this._register(this._provider.onDidChange(()=>{s(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(i.onDidColorThemeChange(a=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._fetchDocumentSemanticTokens.schedule(0)}dispose(){this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),qi(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!QLe(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;const e=new fo,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,r=$Le(this._provider,this._model,t,i,e.token);this._currentDocumentRequestCancellationTokenSource=e,this._providersChangedDuringRequest=!1;const o=[],s=this._model.onDidChangeContent(l=>{o.push(l)}),a=new Js(!1);r.then(l=>{if(this._debounceInformation.update(this._model,a.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,s.dispose(),!l)this._setDocumentSemanticTokens(null,null,null,o);else{const{provider:u,tokens:c}=l,d=this._semanticTokensStylingService.getStyling(u);this._setDocumentSemanticTokens(u,c||null,d,o)}},l=>{l&&(Gm(l)||typeof l.message=="string"&&l.message.indexOf("busy")!==-1)||yn(l),this._currentDocumentRequestCancellationTokenSource=null,s.dispose(),(o.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))})}static _copy(e,t,i,r,o){o=Math.min(o,i.length-r,e.length-t);for(let s=0;s{(r.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._isDisposed){e&&t&&e.releaseDocumentSemanticTokens(t.resultId);return}if(!e||!i){this._model.tokenization.setSemanticTokens(null,!1);return}if(!t){this._model.tokenization.setSemanticTokens(null,!0),s();return}if(jLe(t)){if(!o){this._model.tokenization.setSemanticTokens(null,!0);return}if(t.edits.length===0)t={resultId:t.resultId,data:o.data};else{let a=0;for(const h of t.edits)a+=(h.data?h.data.length:0)-h.deleteCount;const l=o.data,u=new Uint32Array(l.length+a);let c=l.length,d=u.length;for(let h=t.edits.length-1;h>=0;h--){const m=t.edits[h];if(m.start>l.length){i.warnInvalidEditStart(o.resultId,t.resultId,h,m.start,l.length),this._model.tokenization.setSemanticTokens(null,!0);return}const f=c-(m.start+m.deleteCount);f>0&&(u1._copy(l,c-f,u,d-f,f),d-=f),m.data&&(u1._copy(m.data,0,u,d-m.data.length,m.data.length),d-=m.data.length),c=m.start}c>0&&u1._copy(l,0,u,0,c),t={resultId:t.resultId,data:u}}}if(oV(t)){this._currentDocumentResponse=new c9t(e,t.resultId,t.data);const a=KLe(t,i,this._model.getLanguageId());if(r.length>0)for(const l of r)for(const u of a)for(const c of l.changes)u.applyEdit(c.range,c.text);this._model.tokenization.setSemanticTokens(a,!0)}else this._model.tokenization.setSemanticTokens(null,!0);s()}};mM.REQUEST_MIN_DELAY=300,mM.REQUEST_MAX_DELAY=2e3,mM=u1=eIe([Wf(1,sV),Wf(2,jo),Wf(3,Qc),Wf(4,Rt)],mM);class c9t{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}yN(cQ);var d9t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},fM=function(n,e){return function(t,i){e(t,i,n)}};let gM=class extends Fe{constructor(e,t,i,r,o,s){super(),this._semanticTokensStylingService=t,this._themeService=i,this._configurationService=r,this._editor=e,this._provider=s.documentRangeSemanticTokensProvider,this._debounceInformation=o.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new Wi(()=>this._tokenizeViewportNow(),100)),this._outstandingRequests=[];const a=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange(()=>{a()})),this._register(this._editor.onDidChangeModel(()=>{this._cancelAll(),a()})),this._register(this._editor.onDidChangeModelContent(l=>{this._cancelAll(),a()})),this._register(this._provider.onDidChange(()=>{this._cancelAll(),a()})),this._register(this._configurationService.onDidChangeConfiguration(l=>{l.affectsConfiguration(uQ)&&(this._cancelAll(),a())})),this._register(this._themeService.onDidColorThemeChange(()=>{this._cancelAll(),a()})),a()}_cancelAll(){for(const e of this._outstandingRequests)e.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(e){for(let t=0,i=this._outstandingRequests.length;tthis._requestRange(e,i)))}_requestRange(e,t){const i=e.getVersionId(),r=rs(s=>Promise.resolve(lQ(this._provider,e,t,s))),o=new Js(!1);return r.then(s=>{if(this._debounceInformation.update(e,o.elapsed()),!s||!s.tokens||e.isDisposed()||e.getVersionId()!==i)return;const{provider:a,tokens:l}=s,u=this._semanticTokensStylingService.getStyling(a);e.tokenization.setPartialSemanticTokens(t,KLe(l,u,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(r),()=>this._removeOutstandingRequest(r)),r}};gM.ID="editor.contrib.viewportSemanticTokens",gM=d9t([fM(1,sV),fM(2,jo),fM(3,Pn),fM(4,Qc),fM(5,Rt)],gM),vi(gM.ID,gM,1);class h9t{constructor(e=!0){this.selectSubwords=e}provideSelectionRanges(e,t){const i=[];for(const r of t){const o=[];i.push(o),this.selectSubwords&&this._addInWordRanges(o,e,r),this._addWordRanges(o,e,r),this._addWhitespaceLine(o,e,r),o.push({range:e.getFullModelRange()})}return i}_addInWordRanges(e,t,i){const r=t.getWordAtPosition(i);if(!r)return;const{word:o,startColumn:s}=r,a=i.column-s;let l=a,u=a,c=0;for(;l>=0;l--){const d=o.charCodeAt(l);if(l!==a&&(d===95||d===45))break;if(Xb(d)&&Om(c))break;c=d}for(l+=1;u0&&t.getLineFirstNonWhitespaceColumn(i.lineNumber)===0&&t.getLineLastNonWhitespaceColumn(i.lineNumber)===0&&e.push({range:new J(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}var m9t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},f9t=function(n,e){return function(t,i){e(t,i,n)}},dQ;class hQ{constructor(e,t){this.index=e,this.ranges=t}mov(e){const t=this.index+(e?1:-1);if(t<0||t>=this.ranges.length)return this;const i=new hQ(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}let Fx=dQ=class{static get(e){return e.getContribution(dQ.ID)}constructor(e,t){this._editor=e,this._languageFeaturesService=t,this._ignoreSelection=!1}dispose(){var e;(e=this._selectionListener)===null||e===void 0||e.dispose()}async run(e){if(!this._editor.hasModel())return;const t=this._editor.getSelections(),i=this._editor.getModel();if(this._state||await nIe(this._languageFeaturesService.selectionRangeProvider,i,t.map(o=>o.getPosition()),this._editor.getOption(113),Yn.None).then(o=>{var s;if(!(!ga(o)||o.length!==t.length)&&!(!this._editor.hasModel()||!Nr(this._editor.getSelections(),t,(a,l)=>a.equalsSelection(l)))){for(let a=0;al.containsPosition(t[a].getStartPosition())&&l.containsPosition(t[a].getEndPosition())),o[a].unshift(t[a]);this._state=o.map(a=>new hQ(0,a)),(s=this._selectionListener)===null||s===void 0||s.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition(()=>{var a;this._ignoreSelection||((a=this._selectionListener)===null||a===void 0||a.dispose(),this._state=void 0)})}}),!this._state)return;this._state=this._state.map(o=>o.mov(e));const r=this._state.map(o=>Zt.fromPositions(o.ranges[o.index].getStartPosition(),o.ranges[o.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(r)}finally{this._ignoreSelection=!1}}};Fx.ID="editor.contrib.smartSelectController",Fx=dQ=m9t([f9t(1,Rt)],Fx);class tIe extends Nt{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=Fx.get(t);i&&await i.run(this._forward)}}class g9t extends tIe{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:_("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:ne.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:Q.MenubarSelectionMenu,group:"1_basic",title:_({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}$n.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class p9t extends tIe{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:_("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:ne.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:Q.MenubarSelectionMenu,group:"1_basic",title:_({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}vi(Fx.ID,Fx,4),tt(g9t),tt(p9t);async function nIe(n,e,t,i,r){const o=n.all(e).concat(new h9t(i.selectSubwords));o.length===1&&o.unshift(new nc);const s=[],a=[];for(const l of o)s.push(Promise.resolve(l.provideSelectionRanges(e,t,r)).then(u=>{if(ga(u)&&u.length===t.length)for(let c=0;c{if(l.length===0)return[];l.sort((h,m)=>ve.isBefore(h.getStartPosition(),m.getStartPosition())?1:ve.isBefore(m.getStartPosition(),h.getStartPosition())||ve.isBefore(h.getEndPosition(),m.getEndPosition())?-1:ve.isBefore(m.getEndPosition(),h.getEndPosition())?1:0);const u=[];let c;for(const h of l)(!c||J.containsRange(h,c)&&!J.equalsRange(h,c))&&(u.push(h),c=h);if(!i.selectLeadingAndTrailingWhitespace)return u;const d=[u[0]];for(let h=1;hn}),mQ="data-sticky-line-index",oIe="data-sticky-is-line",y9t="data-sticky-is-line-number",sIe="data-sticky-is-folding-icon";class v9t extends Fe{constructor(e){super(),this._editor=e,this._foldingIconStore=new Je,this._rootDomNode=document.createElement("div"),this._lineNumbersDomNode=document.createElement("div"),this._linesDomNodeScrollable=document.createElement("div"),this._linesDomNode=document.createElement("div"),this._lineHeight=this._editor.getOption(67),this._renderedStickyLines=[],this._lineNumbers=[],this._lastLineRelativePosition=0,this._minContentWidthInPx=0,this._isOnGlyphMargin=!1,this._lineNumbersDomNode.className="sticky-widget-line-numbers",this._lineNumbersDomNode.setAttribute("role","none"),this._linesDomNode.className="sticky-widget-lines",this._linesDomNode.setAttribute("role","list"),this._linesDomNodeScrollable.className="sticky-widget-lines-scrollable",this._linesDomNodeScrollable.appendChild(this._linesDomNode),this._rootDomNode.className="sticky-widget",this._rootDomNode.classList.toggle("peek",e instanceof A0),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable);const t=()=>{this._linesDomNode.style.left=this._editor.getOption(115).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:"0px"};this._register(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(115)&&t(),i.hasChanged(67)&&(this._lineHeight=this._editor.getOption(67))})),this._register(this._editor.onDidScrollChange(i=>{i.scrollLeftChanged&&t(),i.scrollWidthChanged&&this._updateWidgetWidth()})),this._register(this._editor.onDidChangeModel(()=>{t(),this._updateWidgetWidth()})),this._register(this._foldingIconStore),t(),this._register(this._editor.onDidLayoutChange(i=>{this._updateWidgetWidth()})),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getRenderedStickyLine(e){return this._renderedStickyLines.find(t=>t.lineNumber===e)}getCurrentLines(){return this._lineNumbers}setState(e,t,i){if(i===void 0&&(!this._previousState&&!e||this._previousState&&this._previousState.equals(e)))return;const r=this._isWidgetHeightZero(e),o=r?void 0:e,s=r?0:this._findLineToRebuildWidgetFrom(e,i);this._renderRootNode(o,t,s),this._previousState=e}_isWidgetHeightZero(e){if(!e)return!0;const t=e.startLineNumbers.length*this._lineHeight+e.lastLineRelativePosition;if(t>0){this._lastLineRelativePosition=e.lastLineRelativePosition;const i=[...e.startLineNumbers];e.showEndForLine!==null&&(i[e.showEndForLine]=e.endLineNumbers[e.showEndForLine]),this._lineNumbers=i}else this._lastLineRelativePosition=0,this._lineNumbers=[];return t===0}_findLineToRebuildWidgetFrom(e,t){if(!e||!this._previousState)return 0;if(t!==void 0)return t;const i=this._previousState,r=e.startLineNumbers.findIndex(o=>!i.startLineNumbers.includes(o));return r===-1?0:r}_updateWidgetWidth(){const e=this._editor.getLayoutInfo(),t=e.contentLeft;this._lineNumbersDomNode.style.width=`${t}px`,this._linesDomNodeScrollable.style.setProperty("--vscode-editorStickyScroll-scrollableWidth",`${this._editor.getScrollWidth()-e.verticalScrollbarWidth}px`),this._rootDomNode.style.width=`${e.width-e.verticalScrollbarWidth}px`}_clearStickyLinesFromLine(e){this._foldingIconStore.clear();for(let t=e;ta.scrollWidth))+r.verticalScrollbarWidth,this._editor.layoutOverlayWidget(this)}_setFoldingHoverListeners(){this._editor.getOption(110)==="mouseover"&&(this._foldingIconStore.add(Ve(this._lineNumbersDomNode,ot.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(Ve(this._lineNumbersDomNode,ot.MOUSE_LEAVE,()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)})))}_renderChildNode(e,t,i,r){const o=this._editor._getViewModel();if(!o)return;const s=o.coordinatesConverter.convertModelPositionToViewPosition(new ve(t,1)).lineNumber,a=o.getViewLineRenderingData(s),l=this._editor.getOption(68);let u;try{u=il.filter(a.inlineDecorations,s,a.minColumn,a.maxColumn)}catch{u=[]}const c=new u0(!0,!0,a.content,a.continuesWithWrappedLine,a.isBasicASCII,a.containsRTL,0,a.tokens,u,a.tabSize,a.startVisibleColumn,1,1,1,500,"none",!0,!0,null),d=new Tw(2e3),h=RF(c,d);let m;rIe?m=rIe.createHTML(d.build()):m=d.build();const f=document.createElement("span");f.setAttribute(mQ,String(e)),f.setAttribute(oIe,""),f.setAttribute("role","listitem"),f.tabIndex=0,f.className="sticky-line-content",f.classList.add(`stickyLine${t}`),f.style.lineHeight=`${this._lineHeight}px`,f.innerHTML=m;const g=document.createElement("span");g.setAttribute(mQ,String(e)),g.setAttribute(y9t,""),g.className="sticky-line-number",g.style.lineHeight=`${this._lineHeight}px`;const b=r.contentLeft;g.style.width=`${b}px`;const y=document.createElement("span");l.renderType===1||l.renderType===3&&t%10===0?y.innerText=t.toString():l.renderType===2&&(y.innerText=Math.abs(t-this._editor.getPosition().lineNumber).toString()),y.className="sticky-line-number-inner",y.style.lineHeight=`${this._lineHeight}px`,y.style.width=`${r.lineNumbersWidth}px`,y.style.paddingLeft=`${r.lineNumbersLeft}px`,g.appendChild(y);const C=this._renderFoldingIconForLine(i,t);C&&g.appendChild(C.domNode),this._editor.applyFontInfo(f),this._editor.applyFontInfo(y),g.style.lineHeight=`${this._lineHeight}px`,f.style.lineHeight=`${this._lineHeight}px`,g.style.height=`${this._lineHeight}px`,f.style.height=`${this._lineHeight}px`;const w=new C9t(e,t,f,g,C,h.characterMapping,f.scrollWidth);return this._updateTopAndZIndexOfStickyLine(w)}_updateTopAndZIndexOfStickyLine(e){var t;const i=e.index,r=e.lineDomNode,o=e.lineNumberDomNode,s=i===this._lineNumbers.length-1,a="0",l="1";r.style.zIndex=s?a:l,o.style.zIndex=s?a:l;const u=`${i*this._lineHeight+this._lastLineRelativePosition+(!((t=e.foldingIcon)===null||t===void 0)&&t.isCollapsed?1:0)}px`,c=`${i*this._lineHeight}px`;return r.style.top=s?u:c,o.style.top=s?u:c,e}_renderFoldingIconForLine(e,t){const i=this._editor.getOption(110);if(!e||i==="never")return;const r=e.regions,o=r.findRange(t),s=r.getStartLineNumber(o);if(!(t===s))return;const l=r.isCollapsed(o),u=new S9t(l,s,r.getEndLineNumber(o),this._lineHeight);return u.setVisible(this._isOnGlyphMargin?!0:l||i==="always"),u.domNode.setAttribute(sIe,""),u}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:null}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(e){0<=e&&e0)return null;const t=this._getRenderedStickyLineFromChildDomNode(e);if(!t)return null;const i=L6(t.characterMapping,e,0);return new ve(t.lineNumber,i)}getLineNumberFromChildDomNode(e){var t,i;return(i=(t=this._getRenderedStickyLineFromChildDomNode(e))===null||t===void 0?void 0:t.lineNumber)!==null&&i!==void 0?i:null}_getRenderedStickyLineFromChildDomNode(e){const t=this.getLineIndexFromChildDomNode(e);return t===null||t<0||t>=this._renderedStickyLines.length?null:this._renderedStickyLines[t]}getLineIndexFromChildDomNode(e){const t=this._getAttributeValue(e,mQ);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,oIe)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,sIe)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}}class C9t{constructor(e,t,i,r,o,s,a){this.index=e,this.lineNumber=t,this.lineDomNode=i,this.lineNumberDomNode=r,this.foldingIcon=o,this.characterMapping=s,this.scrollWidth=a}}class S9t{constructor(e,t,i,r){this.isCollapsed=e,this.foldingStartLine=t,this.foldingEndLine=i,this.dimension=r,this.domNode=document.createElement("div"),this.domNode.style.width=`${r}px`,this.domNode.style.height=`${r}px`,this.domNode.className=sn.asClassName(e?yA:bA)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class pM{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class lV{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class aIe{constructor(e,t,i,r){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=r}}var uV=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},bM=function(n,e){return function(t,i){e(t,i,n)}},yM;(function(n){n.OUTLINE_MODEL="outlineModel",n.FOLDING_PROVIDER_MODEL="foldingProviderModel",n.INDENTATION_MODEL="indentationModel"})(yM||(yM={}));var c1;(function(n){n[n.VALID=0]="VALID",n[n.INVALID=1]="INVALID",n[n.CANCELED=2]="CANCELED"})(c1||(c1={}));let fQ=class extends Fe{constructor(e,t,i,r){switch(super(),this._editor=e,this._languageConfigurationService=i,this._languageFeaturesService=r,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new Ld(300)),this._updateOperation=this._register(new Je),this._editor.getOption(115).defaultModel){case yM.OUTLINE_MODEL:this._modelProviders.push(new gQ(this._editor,r));case yM.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new bQ(this._editor,t,r));case yM.INDENTATION_MODEL:this._modelProviders.push(new pQ(this._editor,i));break}}dispose(){this._modelProviders.forEach(e=>e.dispose()),this._updateOperation.clear(),this._cancelModelPromise(),super.dispose()}_cancelModelPromise(){this._modelPromise&&(this._modelPromise.cancel(),this._modelPromise=null)}async update(e){return this._updateOperation.clear(),this._updateOperation.add({dispose:()=>{this._cancelModelPromise(),this._updateScheduler.cancel()}}),this._cancelModelPromise(),await this._updateScheduler.trigger(async()=>{for(const t of this._modelProviders){const{statusPromise:i,modelPromise:r}=t.computeStickyModel(e);this._modelPromise=r;const o=await i;if(this._modelPromise!==r)return null;switch(o){case c1.CANCELED:return this._updateOperation.clear(),null;case c1.VALID:return t.stickyModel}}return null}).catch(t=>(yn(t),null))}};fQ=uV([bM(2,$t),bM(3,Rt)],fQ);class lIe extends Fe{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,c1.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=rs(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?c1.CANCELED:(this._stickyModel=this.createStickyModel(e,i),c1.VALID):this._invalid()).then(void 0,i=>(yn(i),c1.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let gQ=class extends lIe{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return Ep.create(this._languageFeaturesService.documentSymbolProvider,this._editor.getModel(),e)}createStickyModel(e,t){var i;const{stickyOutlineElement:r,providerID:o}=this._stickyModelFromOutlineModel(t,(i=this._stickyModel)===null||i===void 0?void 0:i.outlineProviderId),s=this._editor.getModel();return new aIe(s.uri,s.getVersionId(),r,o)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(Qn.first(e.children.values())instanceof K_e){const a=Qn.find(e.children.values(),l=>l.id===t);if(a)i=a.children;else{let l="",u=-1,c;for(const[d,h]of e.children.entries()){const m=this._findSumOfRangesOfGroup(h);m>u&&(c=h,u=m,l=h.id)}t=l,i=c.children}}else i=e.children;const r=[],o=Array.from(i.values()).sort((a,l)=>{const u=new pM(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),c=new pM(l.symbol.range.startLineNumber,l.symbol.range.endLineNumber);return this._comparator(u,c)});for(const a of o)r.push(this._stickyModelFromOutlineElement(a,a.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new lV(void 0,r,void 0),providerID:t}}_stickyModelFromOutlineElement(e,t){const i=[];for(const o of e.children.values())if(o.symbol.selectionRange.startLineNumber!==o.symbol.range.endLineNumber)if(o.symbol.selectionRange.startLineNumber!==t)i.push(this._stickyModelFromOutlineElement(o,o.symbol.selectionRange.startLineNumber));else for(const s of o.children.values())i.push(this._stickyModelFromOutlineElement(s,o.symbol.selectionRange.startLineNumber));i.sort((o,s)=>this._comparator(o.range,s.range));const r=new pM(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new lV(r,i,void 0)}_comparator(e,t){return e.startLineNumber!==t.startLineNumber?e.startLineNumber-t.startLineNumber:t.endLineNumber-e.endLineNumber}_findSumOfRangesOfGroup(e){let t=0;for(const i of e.children.values())t+=this._findSumOfRangesOfGroup(i);return e instanceof hj?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};gQ=uV([bM(1,Rt)],gQ);class uIe extends lIe{constructor(e){super(e),this._foldingLimitReporter=new P_e(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),r=this._editor.getModel();return new aIe(r.uri,r.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){const t=e.length,i=[],r=new lV(void 0,[],void 0);for(let o=0;o0&&(this.provider=this._register(new cj(e.getModel(),r,t,this._foldingLimitReporter,void 0)))}isProviderValid(){return this.provider!==void 0}async createModelFromProvider(e){var t,i;return(i=(t=this.provider)===null||t===void 0?void 0:t.compute(e))!==null&&i!==void 0?i:null}};bQ=uV([bM(2,Rt)],bQ);var w9t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},cIe=function(n,e){return function(t,i){e(t,i,n)}};class x9t{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let yQ=class extends Fe{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new be),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new Je),this._updateSoon=this._register(new Wi(()=>this.update(),50)),this._register(this._editor.onDidChangeConfiguration(r=>{r.hasChanged(115)&&this.readConfiguration()})),this.readConfiguration()}readConfiguration(){this._sessionStore.clear(),this._editor.getOption(115).enabled&&(this._sessionStore.add(this._editor.onDidChangeModel(()=>{this._model=null,this.updateStickyModelProvider(),this._onDidChangeStickyScroll.fire(),this.update()})),this._sessionStore.add(this._editor.onDidChangeHiddenAreas(()=>this.update())),this._sessionStore.add(this._editor.onDidChangeModelContent(()=>this._updateSoon.schedule())),this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>this.update())),this._sessionStore.add(jt(()=>{var t;(t=this._stickyModelProvider)===null||t===void 0||t.dispose(),this._stickyModelProvider=null})),this.updateStickyModelProvider(),this.update())}getVersionId(){var e;return(e=this._model)===null||e===void 0?void 0:e.version}updateStickyModelProvider(){var e;(e=this._stickyModelProvider)===null||e===void 0||e.dispose(),this._stickyModelProvider=null;const t=this._editor;t.hasModel()&&(this._stickyModelProvider=new fQ(t,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;(e=this._cts)===null||e===void 0||e.dispose(!0),this._cts=new fo,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(e){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization()){this._model=null;return}const t=await this._stickyModelProvider.update(e);e.isCancellationRequested||(this._model=t)}updateIndex(e){return e===-1?e=0:e<0&&(e=-e-2),e}getCandidateStickyLinesIntersectingFromStickyModel(e,t,i,r,o){if(t.children.length===0)return;let s=o;const a=[];for(let c=0;cc-d)),u=this.updateIndex(dF(a,e.startLineNumber+r,(c,d)=>c-d));for(let c=l;c<=u;c++){const d=t.children[c];if(!d)return;if(d.range){const h=d.range.startLineNumber,m=d.range.endLineNumber;e.startLineNumber<=m+1&&h-1<=e.endLineNumber&&h!==s&&(s=h,i.push(new x9t(h,m-1,r+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,d,i,r+1,h))}else this.getCandidateStickyLinesIntersectingFromStickyModel(e,d,i,r,o)}}getCandidateStickyLinesIntersecting(e){var t,i;if(!(!((t=this._model)===null||t===void 0)&&t.element))return[];let r=[];this.getCandidateStickyLinesIntersectingFromStickyModel(e,this._model.element,r,0,-1);const o=(i=this._editor._getViewModel())===null||i===void 0?void 0:i.getHiddenAreas();if(o)for(const s of o)r=r.filter(a=>!(a.startLineNumber>=s.startLineNumber&&a.endLineNumber<=s.endLineNumber+1));return r}};yQ=w9t([cIe(1,Rt),cIe(2,er)],yQ);var _9t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Dx=function(n,e){return function(t,i){e(t,i,n)}},vQ;let Af=vQ=class extends Fe{constructor(e,t,i,r,o,s,a){super(),this._editor=e,this._contextMenuService=t,this._languageFeaturesService=i,this._instaService=r,this._contextKeyService=a,this._sessionStore=new Je,this._foldingModel=null,this._maxStickyLines=Number.MAX_SAFE_INTEGER,this._candidateDefinitionsLength=-1,this._focusedStickyElementIndex=-1,this._enabled=!1,this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1,this._endLineNumbers=[],this._showEndForLine=null,this._stickyScrollWidget=new v9t(this._editor),this._stickyLineCandidateProvider=new yQ(this._editor,i,o),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=new iIe([],[],0),this._onDidResize(),this._readConfiguration();const l=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(c=>{(c.hasChanged(115)||c.hasChanged(73)||c.hasChanged(67)||c.hasChanged(110))&&this._readConfiguration()})),this._register(Ve(l,ot.CONTEXT_MENU,async c=>{this._onContextMenu(Qt(l),c)})),this._stickyScrollFocusedContextKey=ne.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=ne.stickyScrollVisible.bindTo(this._contextKeyService);const u=this._register(Dh(l));this._register(u.onDidBlur(c=>{this._positionRevealed===!1&&l.clientHeight===0?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()})),this._register(u.onDidFocus(c=>{this.focus()})),this._registerMouseListeners(),this._register(Ve(l,ot.MOUSE_DOWN,c=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(vQ.ID)}_disposeFocusStickyScrollStore(){var e;this._stickyScrollFocusedContextKey.set(!1),(e=this._focusDisposableStore)===null||e===void 0||e.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}focus(){if(this._onMouseDown){this._onMouseDown=!1,this._editor.focus();return}this._stickyScrollFocusedContextKey.get()!==!0&&(this._focused=!0,this._focusDisposableStore=new Je,this._stickyScrollFocusedContextKey.set(!0),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}focusNext(){this._focusedStickyElementIndex0&&this._focusNav(!1)}selectEditor(){this._editor.focus()}_focusNav(e){this._focusedStickyElementIndex=e?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){const e=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:e[this._focusedStickyElementIndex],column:1})}_revealPosition(e){this._reveaInEditor(e,()=>this._editor.revealPosition(e))}_revealLineInCenterIfOutsideViewport(e){this._reveaInEditor(e,()=>this._editor.revealLineInCenterIfOutsideViewport(e.lineNumber,0))}_reveaInEditor(e,t){this._focused&&this._disposeFocusStickyScrollStore(),this._positionRevealed=!0,t(),this._editor.setSelection(J.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new Je),t=this._register(new c3(this._editor,{extractLineNumberFromMouseEvent:o=>{const s=this._stickyScrollWidget.getEditorPositionFromNode(o.target.element);return s?s.lineNumber:0}})),i=o=>{if(!this._editor.hasModel()||o.target.type!==12||o.target.detail!==this._stickyScrollWidget.getId())return null;const s=o.target.element;if(!s||s.innerText!==s.innerHTML)return null;const a=this._stickyScrollWidget.getEditorPositionFromNode(s);return a?{range:new J(a.lineNumber,a.column,a.lineNumber,a.column+s.innerText.length),textElement:s}:null},r=this._stickyScrollWidget.getDomNode();this._register(Gr(r,ot.CLICK,o=>{if(o.ctrlKey||o.altKey||o.metaKey||!o.leftButton)return;if(o.shiftKey){const u=this._stickyScrollWidget.getLineIndexFromChildDomNode(o.target);if(u===null)return;const c=new ve(this._endLineNumbers[u],1);this._revealLineInCenterIfOutsideViewport(c);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(o.target)){const u=this._stickyScrollWidget.getLineNumberFromChildDomNode(o.target);this._toggleFoldingRegionForLine(u);return}if(!this._stickyScrollWidget.isInStickyLine(o.target))return;let l=this._stickyScrollWidget.getEditorPositionFromNode(o.target);if(!l){const u=this._stickyScrollWidget.getLineNumberFromChildDomNode(o.target);if(u===null)return;l=new ve(u,1)}this._revealPosition(l)})),this._register(Gr(r,ot.MOUSE_MOVE,o=>{if(o.shiftKey){const s=this._stickyScrollWidget.getLineIndexFromChildDomNode(o.target);if(s===null||this._showEndForLine!==null&&this._showEndForLine===s)return;this._showEndForLine=s,this._renderStickyScroll();return}this._showEndForLine!==null&&(this._showEndForLine=null,this._renderStickyScroll())})),this._register(Ve(r,ot.MOUSE_LEAVE,o=>{this._showEndForLine!==null&&(this._showEndForLine=null,this._renderStickyScroll())})),this._register(t.onMouseMoveOrRelevantKeyDown(([o,s])=>{const a=i(o);if(!a||!o.hasTriggerModifier||!this._editor.hasModel()){e.clear();return}const{range:l,textElement:u}=a;if(!l.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=l,e.clear();else if(u.style.textDecoration==="underline")return;const c=new fo;e.add(jt(()=>c.dispose(!0)));let d;A3(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new ve(l.startLineNumber,l.startColumn+1),c.token).then(h=>{if(!c.token.isCancellationRequested)if(h.length!==0){this._candidateDefinitionsLength=h.length;const m=u;d!==m?(e.clear(),d=m,d.style.textDecoration="underline",e.add(jt(()=>{d.style.textDecoration="none"}))):d||(d=m,d.style.textDecoration="underline",e.add(jt(()=>{d.style.textDecoration="none"})))}else e.clear()})})),this._register(t.onCancel(()=>{e.clear()})),this._register(t.onExecute(async o=>{if(o.target.type!==12||o.target.detail!==this._stickyScrollWidget.getId())return;const s=this._stickyScrollWidget.getEditorPositionFromNode(o.target.element);s&&(!this._editor.hasModel()||!this._stickyRangeProjectedOnEditor||(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:s.lineNumber,column:1})),this._instaService.invokeFunction(DLe,o,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new xd(e,t);this._contextMenuService.showContextMenu({menuId:Q.StickyScrollContext,getAnchor:()=>i})}_toggleFoldingRegionForLine(e){if(!this._foldingModel||e===null)return;const t=this._stickyScrollWidget.getRenderedStickyLine(e),i=t==null?void 0:t.foldingIcon;if(!i)return;Z_e(this._foldingModel,Number.MAX_VALUE,[e]),i.isCollapsed=!i.isCollapsed;const r=(i.isCollapsed?this._editor.getTopForLineNumber(i.foldingEndLine):this._editor.getTopForLineNumber(i.foldingStartLine))-this._editor.getOption(67)*t.index+1;this._editor.setScrollTop(r),this._renderStickyScroll(e)}_readConfiguration(){const e=this._editor.getOption(115);if(e.enabled===!1){this._editor.removeOverlayWidget(this._stickyScrollWidget),this._sessionStore.clear(),this._enabled=!1;return}else e.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange(i=>{i.scrollTopChanged&&(this._showEndForLine=null,this._renderStickyScroll())})),this._sessionStore.add(this._editor.onDidLayoutChange(()=>this._onDidResize())),this._sessionStore.add(this._editor.onDidChangeModelTokens(i=>this._onTokensChange(i))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll(()=>{this._showEndForLine=null,this._renderStickyScroll()})),this._enabled=!0);this._editor.getOption(68).renderType===2&&this._sessionStore.add(this._editor.onDidChangeCursorPosition(()=>{this._showEndForLine=null,this._renderStickyScroll(0)}))}_needsUpdate(e){const t=this._stickyScrollWidget.getCurrentLines();for(const i of t)for(const r of e.ranges)if(i>=r.fromLineNumber&&i<=r.toLineNumber)return!0;return!1}_onTokensChange(e){this._needsUpdate(e)&&this._renderStickyScroll(0)}_onDidResize(){const t=this._editor.getLayoutInfo().height/this._editor.getOption(67);this._maxStickyLines=Math.round(t*.25)}async _renderStickyScroll(e){var t,i;const r=this._editor.getModel();if(!r||r.isTooLargeForTokenization()){this._foldingModel=null,this._stickyScrollWidget.setState(void 0,null);return}const o=this._stickyLineCandidateProvider.getVersionId();if(o===void 0||o===r.getVersionId())if(this._foldingModel=(i=await((t=Tp.get(this._editor))===null||t===void 0?void 0:t.getFoldingModel()))!==null&&i!==void 0?i:null,this._widgetState=this.findScrollWidgetState(),this._stickyScrollVisibleContextKey.set(this._widgetState.startLineNumbers.length!==0),!this._focused)this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e);else if(this._focusedStickyElementIndex===-1)this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,this._focusedStickyElementIndex!==-1&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{const s=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e),this._stickyScrollWidget.lineNumberCount===0?this._focusedStickyElementIndex=-1:(this._stickyScrollWidget.lineNumbers.includes(s)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}}findScrollWidgetState(){const e=this._editor.getOption(67),t=Math.min(this._maxStickyLines,this._editor.getOption(115).maxLineCount),i=this._editor.getScrollTop();let r=0;const o=[],s=[],a=this._editor.getVisibleRanges();if(a.length!==0){const l=new pM(a[0].startLineNumber,a[a.length-1].endLineNumber),u=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(l);for(const c of u){const d=c.startLineNumber,h=c.endLineNumber,m=c.nestingDepth;if(h-d>0){const f=(m-1)*e,g=m*e,b=this._editor.getBottomForLineNumber(d)-i,y=this._editor.getTopForLineNumber(h)-i,C=this._editor.getBottomForLineNumber(h)-i;if(f>y&&f<=C){o.push(d),s.push(h+1),r=C-g;break}else g>b&&g<=C&&(o.push(d),s.push(h+1));if(o.length===t)break}}}return this._endLineNumbers=s,new iIe(o,s,r,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}};Af.ID="store.contrib.stickyScrollController",Af=vQ=_9t([Dx(1,fu),Dx(2,Rt),Dx(3,$t),Dx(4,er),Dx(5,Qc),Dx(6,ln)],Af);class L9t extends el{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...oi("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:_({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},category:b9t.View,toggled:{condition:Oe.equals("config.editor.stickyScroll.enabled",!0),title:_("stickyScroll","Sticky Scroll"),mnemonicTitle:_({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:Q.CommandPalette},{id:Q.MenubarAppearanceMenu,group:"4_editor",order:3},{id:Q.StickyScrollContext}]})}async run(e){const t=e.get(Pn),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const cV=100;class I9t extends Mh{constructor(){super({id:"editor.action.focusStickyScroll",title:{...oi("focusStickyScroll","Focus Sticky Scroll"),mnemonicTitle:_({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:Oe.and(Oe.has("config.editor.stickyScroll.enabled"),ne.stickyScrollVisible),menu:[{id:Q.CommandPalette}]})}runEditorCommand(e,t){var i;(i=Af.get(t))===null||i===void 0||i.focus()}}class F9t extends Mh{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:oi("selectNextStickyScrollLine.title","Select next sticky scroll line"),precondition:ne.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:cV,primary:18}})}runEditorCommand(e,t){var i;(i=Af.get(t))===null||i===void 0||i.focusNext()}}class D9t extends Mh{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:oi("selectPreviousStickyScrollLine.title","Select previous sticky scroll line"),precondition:ne.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:cV,primary:16}})}runEditorCommand(e,t){var i;(i=Af.get(t))===null||i===void 0||i.focusPrevious()}}class N9t extends Mh{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:oi("goToFocusedStickyScrollLine.title","Go to focused sticky scroll line"),precondition:ne.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:cV,primary:3}})}runEditorCommand(e,t){var i;(i=Af.get(t))===null||i===void 0||i.goToFocused()}}class M9t extends Mh{constructor(){super({id:"editor.action.selectEditor",title:oi("selectEditor.title","Select Editor"),precondition:ne.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:cV,primary:9}})}runEditorCommand(e,t){var i;(i=Af.get(t))===null||i===void 0||i.selectEditor()}}vi(Af.ID,Af,1),Ki(L9t),Ki(I9t),Ki(D9t),Ki(F9t),Ki(N9t),Ki(M9t);var dIe=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},vM=function(n,e){return function(t,i){e(t,i,n)}};class k9t{constructor(e,t,i,r,o,s){this.range=e,this.insertText=t,this.filterText=i,this.additionalTextEdits=r,this.command=o,this.completion=s}}let CQ=class extends zht{constructor(e,t,i,r,o,s){super(o.disposable),this.model=e,this.line=t,this.word=i,this.completionModel=r,this._suggestMemoryService=s}canBeReused(e,t,i){return this.model===e&&this.line===t&&this.word.word.length>0&&this.word.startColumn===i.startColumn&&this.word.endColumn=0&&l.resolve(Yn.None)}return t}};CQ=dIe([vM(5,FA)],CQ);let SQ=class extends Fe{constructor(e,t,i,r){super(),this._languageFeatureService=e,this._clipboardService=t,this._suggestMemoryService=i,this._editorService=r,this._store.add(e.inlineCompletionsProvider.register("*",this))}async provideInlineCompletions(e,t,i,r){var o;if(i.selectedSuggestionInfo)return;let s;for(const f of this._editorService.listCodeEditors())if(f.getModel()===e){s=f;break}if(!s)return;const a=s.getOption(89);if(px.isAllOff(a))return;e.tokenization.tokenizeIfCheap(t.lineNumber);const l=e.tokenization.getLineTokens(t.lineNumber),u=l.getStandardTokenType(l.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if(px.valueFor(a,u)!=="inline")return;let c=e.getWordAtPosition(t),d;if(c!=null&&c.word||(d=this._getTriggerCharacterInfo(e,t)),!(c!=null&&c.word)&&!d||(c||(c=e.getWordUntilPosition(t)),c.endColumn!==t.column))return;let h;const m=e.getValueInRange(new J(t.lineNumber,1,t.lineNumber,t.column));if(!d&&(!((o=this._lastResult)===null||o===void 0)&&o.canBeReused(e,t.lineNumber,c))){const f=new xLe(m,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=f,this._lastResult.acquire(),h=this._lastResult}else{const f=await yj(this._languageFeatureService.completionProvider,e,t,new KN(void 0,DA.createSuggestFilter(s).itemKind,d==null?void 0:d.providers),d&&{triggerKind:1,triggerCharacter:d.ch},r);let g;f.needsClipboard&&(g=await this._clipboardService.readText());const b=new Q0(f.items,t.column,new xLe(m,0),sm.None,s.getOption(118),s.getOption(112),{boostFullMatch:!1,firstMatchCanBeWeak:!1},g);h=new CQ(e,t.lineNumber,c,b,f,this._suggestMemoryService)}return this._lastResult=h,h}handleItemDidShow(e,t){t.completion.resolve(Yn.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var i;const r=e.getValueInRange(J.fromPositions({lineNumber:t.lineNumber,column:t.column-1},t)),o=new Set;for(const s of this._languageFeatureService.completionProvider.all(e))!((i=s.triggerCharacters)===null||i===void 0)&&i.includes(r)&&o.add(s);if(o.size!==0)return{providers:o,ch:r}}};SQ=dIe([vM(0,Rt),vM(1,gp),vM(2,FA),vM(3,yi)],SQ),yN(SQ);class T9t extends Nt{constructor(){super({id:"editor.action.forceRetokenize",label:_("forceRetokenize","Developer: Force Retokenize"),alias:"Developer: Force Retokenize",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getModel();i.tokenization.resetTokenization();const r=new Js;i.tokenization.forceTokenization(i.getLineCount()),r.stop()}}tt(T9t);class dV extends el{constructor(){super({id:dV.ID,title:oi({key:"toggle.tabMovesFocus",comment:["Turn on/off use of tab key for moving focus around VS Code"]},"Toggle Tab Key Moves Focus"),precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},f1:!0})}run(){const t=!Hw.getTabFocusMode();Hw.setTabFocusMode(t),Ml(t?_("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element"):_("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}}dV.ID="editor.action.toggleTabFocusMode",Ki(dV);var E9t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},R9t=function(n,e){return function(t,i){e(t,i,n)}};let wQ=class extends Fe{get enabled(){return this._enabled}set enabled(e){e?(this.el.setAttribute("aria-disabled","false"),this.el.tabIndex=0,this.el.style.pointerEvents="auto",this.el.style.opacity="1",this.el.style.cursor="pointer",this._enabled=!1):(this.el.setAttribute("aria-disabled","true"),this.el.tabIndex=-1,this.el.style.pointerEvents="none",this.el.style.opacity="0.4",this.el.style.cursor="default",this._enabled=!0),this._enabled=e}constructor(e,t,i={},r){var o,s;super(),this._link=t,this._enabled=!0,this.el=je(e,Ct("a.monaco-link",{tabIndex:(o=t.tabIndex)!==null&&o!==void 0?o:0,href:t.href},t.label)),this.hoverDelegate=(s=i.hoverDelegate)!==null&&s!==void 0?s:Pl("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const a=this._register(new Jn(this.el,"click")),l=this._register(new Jn(this.el,"keypress")),u=lt.chain(l.event,h=>h.map(m=>new or(m)).filter(m=>m.keyCode===3)),c=this._register(new Jn(this.el,tr.Tap)).event;this._register(nr.addTarget(this.el));const d=lt.any(a.event,u,c);this._register(d(h=>{this.enabled&&(An.stop(h,!0),i!=null&&i.opener?i.opener(this._link.href):r.open(this._link.href,{allowCommands:!0}))})),this.enabled=!0}setTooltip(e){this.hoverDelegate.showNativeHover?this.el.title=e??"":!this.hover&&e?this.hover=this._register(Wd(this.hoverDelegate,this.el,e)):this.hover&&this.hover.update(e)}};wQ=E9t([R9t(3,Bl)],wQ);var hIe=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},mIe=function(n,e){return function(t,i){e(t,i,n)}};const Z9t=26;let xQ=class extends Fe{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(_Q))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(e){this.banner.show({...e,onClose:()=>{var t;this.hide(),(t=e.onClose)===null||t===void 0||t.call(e)}}),this._editor.setBanner(this.banner.element,Z9t)}};xQ=hIe([mIe(1,$t)],xQ);let _Q=class extends Fe{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(xf,{}),this.element=Ct("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(e){if(e.ariaLabel)return e.ariaLabel;if(typeof e.message=="string")return e.message}getBannerMessage(e){if(typeof e=="string"){const t=Ct("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){ma(this.element)}show(e){ma(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=je(this.element,Ct("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(Ct(`div${sn.asCSSSelector(e.icon)}`));const r=je(this.element,Ct("div.message-container"));if(r.setAttribute("aria-hidden","true"),r.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=je(this.element,Ct("div.message-actions-container")),e.actions)for(const s of e.actions)this._register(this.instantiationService.createInstance(wQ,this.messageActionsContainer,{...s,tabIndex:-1},{}));const o=je(this.element,Ct("div.action-container"));this.actionBar=this._register(new Uc(o)),this.actionBar.push(this._register(new uu("banner.close","Close Banner",sn.asClassName(LSe),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};_Q=hIe([mIe(0,$t)],_Q);const fIe=Un("workspaceTrustManagementService");var LQ=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Nx=function(n,e){return function(t,i){e(t,i,n)}};const W9t=so("extensions-warning-message",ut.warning,_("warningIcon","Icon shown with a warning message in the extensions editor."));let Mx=class extends Fe{constructor(e,t,i,r){super(),this._editor=e,this._editorWorkerService=t,this._workspaceTrustService=i,this._highlighter=null,this._bannerClosed=!1,this._updateState=o=>{if(o&&o.hasMore){if(this._bannerClosed)return;const s=Math.max(o.ambiguousCharacterCount,o.nonBasicAsciiCharacterCount,o.invisibleCharacterCount);let a;if(o.nonBasicAsciiCharacterCount>=s)a={message:_("unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters","This document contains many non-basic ASCII unicode characters"),command:new Tx};else if(o.ambiguousCharacterCount>=s)a={message:_("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new d1};else if(o.invisibleCharacterCount>=s)a={message:_("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new kx};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:a.message,icon:W9t,actions:[{label:a.command.shortLabel,href:`command:${a.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(r.createInstance(xQ,e)),this._register(this._editor.onDidChangeModel(()=>{this._bannerClosed=!1,this._updateHighlighter()})),this._options=e.getOption(125),this._register(i.onDidChangeTrust(o=>{this._updateHighlighter()})),this._register(e.onDidChangeConfiguration(o=>{o.hasChanged(125)&&(this._options=e.getOption(125),this._updateHighlighter())})),this._updateHighlighter()}dispose(){this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),!this._editor.hasModel())return;const e=A9t(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([e.nonBasicASCII,e.ambiguousCharacters,e.invisibleCharacters].every(i=>i===!1))return;const t={nonBasicASCII:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments,includeStrings:e.includeStrings,allowedCodePoints:Object.keys(e.allowedCharacters).map(i=>i.codePointAt(0)),allowedLocales:Object.keys(e.allowedLocales).map(i=>i==="_os"?new Intl.NumberFormat().resolvedOptions().locale:i==="_vscode"?_ht:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new IQ(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new V9t(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}};Mx.ID="editor.contrib.unicodeHighlighter",Mx=LQ([Nx(1,Kc),Nx(2,fIe),Nx(3,$t)],Mx);function A9t(n,e){return{nonBasicASCII:e.nonBasicASCII===zu?!n:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===zu?!n:e.includeComments,includeStrings:e.includeStrings===zu?!n:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let IQ=class extends Fe{constructor(e,t,i,r){super(),this._editor=e,this._options=t,this._updateState=i,this._editorWorkerService=r,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new Wi(()=>this._update(),250)),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const e=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then(t=>{if(this._model.isDisposed()||this._model.getVersionId()!==e)return;this._updateState(t);const i=[];if(!t.hasMore)for(const r of t.ranges)i.push({range:r,options:hV.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!G7(t,e))return null;const i=t.getValueInRange(e.range);return{reason:pIe(i,this._options),inComment:X7(t,e),inString:P7(t,e)}}};IQ=LQ([Nx(3,Kc)],IQ);class V9t extends Fe{constructor(e,t,i){super(),this._editor=e,this._options=t,this._updateState=i,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new Wi(()=>this._update(),250)),this._register(this._editor.onDidLayoutChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidScrollChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeHiddenAreas(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const e=this._editor.getVisibleRanges(),t=[],i={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const r of e){const o=_J.computeUnicodeHighlights(this._model,this._options,r);for(const s of o.ranges)i.ranges.push(s);i.ambiguousCharacterCount+=i.ambiguousCharacterCount,i.invisibleCharacterCount+=i.invisibleCharacterCount,i.nonBasicAsciiCharacterCount+=i.nonBasicAsciiCharacterCount,i.hasMore=i.hasMore||o.hasMore}if(!i.hasMore)for(const r of i.ranges)t.push({range:r,options:hV.instance.getDecorationFromOptions(this._options)});this._updateState(i),this._decorations.set(t)}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel(),i=t.getValueInRange(e.range);return G7(t,e)?{reason:pIe(i,this._options),inComment:X7(t,e),inString:P7(t,e)}:null}}const gIe=_("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let FQ=class{constructor(e,t,i){this._editor=e,this._languageService=t,this._openerService=i,this.hoverOrdinal=5}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];const i=this._editor.getModel(),r=this._editor.getContribution(Mx.ID);if(!r)return[];const o=[],s=new Set;let a=300;for(const l of t){const u=r.getDecorationInfo(l);if(!u)continue;const d=i.getValueInRange(l.range).codePointAt(0),h=NQ(d);let m;switch(u.reason.kind){case 0:{qI(u.reason.confusableWith)?m=_("unicodeHighlight.characterIsAmbiguousASCII","The character {0} could be confused with the ASCII character {1}, which is more common in source code.",h,NQ(u.reason.confusableWith.codePointAt(0))):m=_("unicodeHighlight.characterIsAmbiguous","The character {0} could be confused with the character {1}, which is more common in source code.",h,NQ(u.reason.confusableWith.codePointAt(0)));break}case 1:m=_("unicodeHighlight.characterIsInvisible","The character {0} is invisible.",h);break;case 2:m=_("unicodeHighlight.characterIsNonBasicAscii","The character {0} is not a basic ASCII character.",h);break}if(s.has(m))continue;s.add(m);const f={codePoint:d,reason:u.reason,inComment:u.inComment,inString:u.inString},g=_("unicodeHighlight.adjustSettings","Adjust settings"),b=`command:${CM.ID}?${encodeURIComponent(JSON.stringify(f))}`,y=new ya("",!0).appendMarkdown(m).appendText(" ").appendLink(b,g,gIe);o.push(new Qh(this,l.range,[y],!1,a++))}return o}renderHoverParts(e,t){return Jxe(e,t,this._editor,this._languageService,this._openerService)}};FQ=LQ([Nx(1,br),Nx(2,Bl)],FQ);function DQ(n){return`U+${n.toString(16).padStart(4,"0")}`}function NQ(n){let e=`\`${DQ(n)}\``;return Bm.isInvisibleCharacter(n)||(e+=` "${`${G9t(n)}`}"`),e}function G9t(n){return n===96?"`` ` ``":"`"+String.fromCodePoint(n)+"`"}function pIe(n,e){return _J.computeUnicodeHighlightReason(n,e)}class hV{constructor(){this.map=new Map}getDecorationFromOptions(e){return this.getDecoration(!e.includeComments,!e.includeStrings)}getDecoration(e,t){const i=`${e}${t}`;let r=this.map.get(i);return r||(r=vn.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:e,hideInStringTokens:t}),this.map.set(i,r)),r}}hV.instance=new hV;class X9t extends Nt{constructor(){super({id:d1.ID,label:_("action.unicodeHighlight.disableHighlightingInComments","Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=_("unicodeHighlight.disableHighlightingInComments.shortLabel","Disable Highlight In Comments")}async run(e,t,i){const r=e==null?void 0:e.get(Pn);r&&this.runAction(r)}async runAction(e){await e.updateValue(Al.includeComments,!1,2)}}class P9t extends Nt{constructor(){super({id:d1.ID,label:_("action.unicodeHighlight.disableHighlightingInStrings","Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=_("unicodeHighlight.disableHighlightingInStrings.shortLabel","Disable Highlight In Strings")}async run(e,t,i){const r=e==null?void 0:e.get(Pn);r&&this.runAction(r)}async runAction(e){await e.updateValue(Al.includeStrings,!1,2)}}class d1 extends Nt{constructor(){super({id:d1.ID,label:_("action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters","Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=_("unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel","Disable Ambiguous Highlight")}async run(e,t,i){const r=e==null?void 0:e.get(Pn);r&&this.runAction(r)}async runAction(e){await e.updateValue(Al.ambiguousCharacters,!1,2)}}d1.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";class kx extends Nt{constructor(){super({id:kx.ID,label:_("action.unicodeHighlight.disableHighlightingOfInvisibleCharacters","Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=_("unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel","Disable Invisible Highlight")}async run(e,t,i){const r=e==null?void 0:e.get(Pn);r&&this.runAction(r)}async runAction(e){await e.updateValue(Al.invisibleCharacters,!1,2)}}kx.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";class Tx extends Nt{constructor(){super({id:Tx.ID,label:_("action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters","Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=_("unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel","Disable Non ASCII Highlight")}async run(e,t,i){const r=e==null?void 0:e.get(Pn);r&&this.runAction(r)}async runAction(e){await e.updateValue(Al.nonBasicASCII,!1,2)}}Tx.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";class CM extends Nt{constructor(){super({id:CM.ID,label:_("action.unicodeHighlight.showExcludeOptions","Show Exclude Options"),alias:"Show Exclude Options",precondition:void 0})}async run(e,t,i){const{codePoint:r,reason:o,inString:s,inComment:a}=i,l=String.fromCodePoint(r),u=e.get(Vv),c=e.get(Pn);function d(f){return Bm.isInvisibleCharacter(f)?_("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",DQ(f)):_("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${DQ(f)} "${l}"`)}const h=[];if(o.kind===0)for(const f of o.notAmbiguousInLocales)h.push({label:_("unicodeHighlight.allowCommonCharactersInLanguage",'Allow unicode characters that are more common in the language "{0}".',f),run:async()=>{B9t(c,[f])}});if(h.push({label:d(r),run:()=>O9t(c,[r])}),a){const f=new X9t;h.push({label:f.label,run:async()=>f.runAction(c)})}else if(s){const f=new P9t;h.push({label:f.label,run:async()=>f.runAction(c)})}if(o.kind===0){const f=new d1;h.push({label:f.label,run:async()=>f.runAction(c)})}else if(o.kind===1){const f=new kx;h.push({label:f.label,run:async()=>f.runAction(c)})}else if(o.kind===2){const f=new Tx;h.push({label:f.label,run:async()=>f.runAction(c)})}else z9t(o);const m=await u.pick(h,{title:gIe});m&&await m.run()}}CM.ID="editor.action.unicodeHighlight.showExcludeOptions";async function O9t(n,e){const t=n.getValue(Al.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const r of e)i[String.fromCodePoint(r)]=!0;await n.updateValue(Al.allowedCharacters,i,2)}async function B9t(n,e){var t;const i=(t=n.inspect(Al.allowedLocales).user)===null||t===void 0?void 0:t.value;let r;typeof i=="object"&&i?r=Object.assign({},i):r={};for(const o of e)r[o]=!0;await n.updateValue(Al.allowedLocales,r,2)}function z9t(n){throw new Error(`Unexpected value: ${n}`)}tt(d1),tt(kx),tt(Tx),tt(CM),vi(Mx.ID,Mx,1),O0.register(FQ);const MQ=Un("dialogService");var H9t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},bIe=function(n,e){return function(t,i){e(t,i,n)}};const yIe="ignoreUnusualLineTerminators";function Y9t(n,e,t){n.setModelProperty(e.uri,yIe,t)}function U9t(n,e){return n.getModelProperty(e.uri,yIe)}let SM=class extends Fe{constructor(e,t,i){super(),this._editor=e,this._dialogService=t,this._codeEditorService=i,this._isPresentingDialog=!1,this._config=this._editor.getOption(126),this._register(this._editor.onDidChangeConfiguration(r=>{r.hasChanged(126)&&(this._config=this._editor.getOption(126),this._checkForUnusualLineTerminators())})),this._register(this._editor.onDidChangeModel(()=>{this._checkForUnusualLineTerminators()})),this._register(this._editor.onDidChangeModelContent(r=>{r.isUndoing||this._checkForUnusualLineTerminators()})),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if(this._config==="off"||!this._editor.hasModel())return;const e=this._editor.getModel();if(!e.mightContainUnusualLineTerminators()||U9t(this._codeEditorService,e)===!0||this._editor.getOption(91))return;if(this._config==="auto"){e.removeUnusualLineTerminators(this._editor.getSelections());return}if(this._isPresentingDialog)return;let i;try{this._isPresentingDialog=!0,i=await this._dialogService.confirm({title:_("unusualLineTerminators.title","Unusual Line Terminators"),message:_("unusualLineTerminators.message","Detected unusual line terminators"),detail:_("unusualLineTerminators.detail","The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.",zc(e.uri)),primaryButton:_({key:"unusualLineTerminators.fix",comment:["&& denotes a mnemonic"]},"&&Remove Unusual Line Terminators"),cancelButton:_("unusualLineTerminators.ignore","Ignore")})}finally{this._isPresentingDialog=!1}if(!i.confirmed){Y9t(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}};SM.ID="editor.contrib.unusualLineTerminatorsDetector",SM=H9t([bIe(1,MQ),bIe(2,yi)],SM),vi(SM.ID,SM,1);const mV="**",vIe="/",fV="[/\\\\]",gV="[^/\\\\]",K9t=/\//g;function CIe(n,e){switch(n){case 0:return"";case 1:return`${gV}*?`;default:return`(?:${fV}|${gV}+${fV}${e?`|${fV}${gV}+`:""})*?`}}function SIe(n,e){if(!n)return[];const t=[];let i=!1,r=!1,o="";for(const s of n){switch(s){case e:if(!i&&!r){t.push(o),o="";continue}break;case"{":i=!0;break;case"}":i=!1;break;case"[":r=!0;break;case"]":r=!1;break}o+=s}return o&&t.push(o),t}function wIe(n){if(!n)return"";let e="";const t=SIe(n,vIe);if(t.every(i=>i===mV))e=".*";else{let i=!1;t.forEach((r,o)=>{if(r===mV){if(i)return;e+=CIe(2,o===t.length-1)}else{let s=!1,a="",l=!1,u="";for(const c of r){if(c!=="}"&&s){a+=c;continue}if(l&&(c!=="]"||!u)){let d;c==="-"?d=c:(c==="^"||c==="!")&&!u?d="^":c===vIe?d="":d=Wu(c),u+=d;continue}switch(c){case"{":s=!0;continue;case"[":l=!0;continue;case"}":{const h=`(?:${SIe(a,",").map(m=>wIe(m)).join("|")})`;e+=h,s=!1,a="";break}case"]":{e+="["+u+"]",l=!1,u="";break}case"?":e+=gV;continue;case"*":e+=CIe(1);continue;default:e+=Wu(c)}}okQ(a,e)).filter(a=>a!==Vf),n),i=t.length;if(!i)return Vf;if(i===1)return t[0];const r=function(a,l){for(let u=0,c=t.length;u!!a.allBasenames);o&&(r.allBasenames=o.allBasenames);const s=t.reduce((a,l)=>l.allPaths?a.concat(l.allPaths):a,[]);return s.length&&(r.allPaths=s),r}function IIe(n,e,t){const i=Jb===Fo.sep,r=i?n:n.replace(K9t,Jb),o=Jb+r,s=Fo.sep+n;let a;return t?a=function(l,u){return typeof l=="string"&&(l===r||l.endsWith(o)||!i&&(l===n||l.endsWith(s)))?e:null}:a=function(l,u){return typeof l=="string"&&(l===r||!i&&l===n)?e:null},a.allPaths=[(t?"*/":"./")+n],a}function rZt(n){try{const e=new RegExp(`^${wIe(n)}$`);return function(t){return e.lastIndex=0,typeof t=="string"&&e.test(t)?n:null}}catch{return Vf}}function oZt(n,e,t){return!n||typeof e!="string"?!1:FIe(n)(e,void 0,t)}function FIe(n,e={}){if(!n)return _Ie;if(typeof n=="string"||sZt(n)){const t=kQ(n,e);if(t===Vf)return _Ie;const i=function(r,o){return!!t(r,o)};return t.allBasenames&&(i.allBasenames=t.allBasenames),t.allPaths&&(i.allPaths=t.allPaths),i}return aZt(n,e)}function sZt(n){const e=n;return e?typeof e.base=="string"&&typeof e.pattern=="string":!1}function aZt(n,e){const t=DIe(Object.getOwnPropertyNames(n).map(a=>lZt(a,n[a],e)).filter(a=>a!==Vf)),i=t.length;if(!i)return Vf;if(!t.some(a=>!!a.requiresSiblings)){if(i===1)return t[0];const a=function(c,d){let h;for(let m=0,f=t.length;m{for(const m of h){const f=await m;if(typeof f=="string")return f}return null})():null},l=t.find(c=>!!c.allBasenames);l&&(a.allBasenames=l.allBasenames);const u=t.reduce((c,d)=>d.allPaths?c.concat(d.allPaths):c,[]);return u.length&&(a.allPaths=u),a}const r=function(a,l,u){let c,d;for(let h=0,m=t.length;h{for(const h of d){const m=await h;if(typeof m=="string")return m}return null})():null},o=t.find(a=>!!a.allBasenames);o&&(r.allBasenames=o.allBasenames);const s=t.reduce((a,l)=>l.allPaths?a.concat(l.allPaths):a,[]);return s.length&&(r.allPaths=s),r}function lZt(n,e,t){if(e===!1)return Vf;const i=kQ(n,t);if(i===Vf)return Vf;if(typeof e=="boolean")return i;if(e){const r=e.when;if(typeof r=="string"){const o=(s,a,l,u)=>{if(!u||!i(s,a))return null;const c=r.replace("$(basename)",()=>l),d=u(c);return OH(d)?d.then(h=>h?n:null):d?n:null};return o.requiresSiblings=!0,o}}return i}function DIe(n,e){const t=n.filter(a=>!!a.basenames);if(t.length<2)return n;const i=t.reduce((a,l)=>{const u=l.basenames;return u?a.concat(u):a},[]);let r;if(e){r=[];for(let a=0,l=i.length;a{const u=l.patterns;return u?a.concat(u):a},[]);const o=function(a,l){if(typeof a!="string")return null;if(!l){let c;for(c=a.length;c>0;c--){const d=a.charCodeAt(c-1);if(d===47||d===92)break}l=a.substr(c)}const u=i.indexOf(l);return u!==-1?r[u]:null};o.basenames=i,o.patterns=r,o.allBasenames=i;const s=n.filter(a=>!a.basenames);return s.push(o),s}function EQ(n,e,t,i,r,o){if(Array.isArray(n)){let s=0;for(const a of n){const l=EQ(a,e,t,i,r,o);if(l===10)return l;l>s&&(s=l)}return s}else{if(typeof n=="string")return i?n==="*"?5:n===t?10:0:0;if(n){const{language:s,pattern:a,scheme:l,hasAccessToAllModels:u,notebookType:c}=n;if(!i&&!u)return 0;c&&r&&(e=r);let d=0;if(l)if(l===e.scheme)d=10;else if(l==="*")d=5;else return 0;if(s)if(s===t)d=10;else if(s==="*")d=Math.max(d,5);else return 0;if(c)if(c===o)d=10;else if(c==="*"&&o!==void 0)d=Math.max(d,5);else return 0;if(a){let h;if(typeof a=="string"?h=a:h={...a,base:f0e(a.base)},h===e.fsPath||oZt(h,e.fsPath))d=10;else return 0}return d}else return 0}}var NIe=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},pV=function(n,e){return function(t,i){e(t,i,n)}},$o,RQ;const bV=new St("hasWordHighlights",!1);function MIe(n,e,t,i){const r=n.ordered(e);return BH(r.map(o=>()=>Promise.resolve(o.provideDocumentHighlights(e,t,i)).then(void 0,qr)),ga).then(o=>{if(o){const s=new to;return s.set(e.uri,o),s}return new to})}function uZt(n,e,t,i,r,o){const s=n.ordered(e);return BH(s.map(a=>()=>{const l=o.filter(u=>ive(u)).filter(u=>EQ(a.selector,u.uri,u.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(a.provideMultiDocumentHighlights(e,t,l,r)).then(void 0,qr)}),a=>a instanceof to&&a.size>0)}class ZQ{constructor(e,t,i){this._model=e,this._selection=t,this._wordSeparators=i,this._wordRange=this._getCurrentWordRange(e,t),this._result=null}get result(){return this._result||(this._result=rs(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new J(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):null}isValid(e,t,i){const r=t.startLineNumber,o=t.startColumn,s=t.endColumn,a=this._getCurrentWordRange(e,t);let l=!!(this._wordRange&&this._wordRange.equalsRange(a));for(let u=0,c=i.length;!l&&u=s&&(l=!0)}return l}cancel(){this.result.cancel()}}class cZt extends ZQ{constructor(e,t,i,r){super(e,t,i),this._providers=r}_compute(e,t,i,r){return MIe(this._providers,e,t.getPosition(),r).then(o=>o||new to)}}class dZt extends ZQ{constructor(e,t,i,r,o){super(e,t,i),this._providers=r,this._otherModels=o}_compute(e,t,i,r){return uZt(this._providers,e,t.getPosition(),i,r,this._otherModels).then(o=>o||new to)}}class kIe extends ZQ{constructor(e,t,i,r,o){super(e,t,r),this._otherModels=o,this._selectionIsEmpty=t.isEmpty(),this._word=i}_compute(e,t,i,r){return By(250,r).then(()=>{const o=new to;let s;if(this._word?s=this._word:s=e.getWordAtPosition(t.getPosition()),!s)return new to;const a=[e,...this._otherModels];for(const l of a){if(l.isDisposed())continue;const c=l.findMatches(s.word,!0,!1,!0,i,!1).map(d=>({range:d.range,kind:zF.Text}));c&&o.set(l.uri,c)}return o})}isValid(e,t,i){const r=t.isEmpty();return this._selectionIsEmpty!==r?!1:super.isValid(e,t,i)}}function hZt(n,e,t,i,r){return n.has(e)?new cZt(e,t,r,n):new kIe(e,t,i,r,[])}function mZt(n,e,t,i,r,o){return n.has(e)?new dZt(e,t,r,n,o):new kIe(e,t,i,r,o)}zm("_executeDocumentHighlights",async(n,e,t)=>{const i=n.get(Rt),r=await MIe(i.documentHighlightProvider,e,t,Yn.None);return r==null?void 0:r.get(e.uri)});let wM=$o=class{constructor(e,t,i,r,o){this.toUnhook=new Je,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new to,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=o,this._hasWordHighlights=bV.bindTo(r),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(81),this.model=this.editor.getModel(),this.toUnhook.add(e.onDidChangeCursorPosition(s=>{this._ignorePositionChangeEvent||this.occurrencesHighlight!=="off"&&this._onPositionChanged(s)})),this.toUnhook.add(e.onDidFocusEditorText(s=>{this.occurrencesHighlight!=="off"&&(this.workerRequest||this._run())})),this.toUnhook.add(e.onDidChangeModelContent(s=>{this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(s=>{!s.newModelUrl&&s.oldModelUrl?this._stopSingular():$o.query&&this._run()})),this.toUnhook.add(e.onDidChangeConfiguration(s=>{const a=this.editor.getOption(81);this.occurrencesHighlight!==a&&(this.occurrencesHighlight=a,this._stopAll())})),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,$o.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight!=="off"&&this._run()}_getSortedHighlights(){return this.decorations.getRanges().sort(J.compareRangesUsingStarts)}moveNext(){const e=this._getSortedHighlights(),i=(e.findIndex(o=>o.containsPosition(this.editor.getPosition()))+1)%e.length,r=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(r.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(r);const o=this._getWord();if(o){const s=this.editor.getModel().getLineContent(r.startLineNumber);Ml(`${s}, ${i+1} of ${e.length} for '${o.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){const e=this._getSortedHighlights(),i=(e.findIndex(o=>o.containsPosition(this.editor.getPosition()))-1+e.length)%e.length,r=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(r.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(r);const o=this._getWord();if(o){const s=this.editor.getModel().getLineContent(r.startLineNumber);Ml(`${s}, ${i+1} of ${e.length} for '${o.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=$o.storedDecorations.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),$o.storedDecorations.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(){const e=this.codeEditorService.listCodeEditors(),t=[];for(const i of e){if(!i.hasModel())continue;const r=$o.storedDecorations.get(i.getModel().uri);if(!r)continue;i.removeDecorations(r),t.push(i.getModel().uri);const o=Gp.get(i);o!=null&&o.wordHighlighter&&o.wordHighlighter.decorations.length>0&&(o.wordHighlighter.decorations.clear(),o.wordHighlighter.workerRequest=null,o.wordHighlighter._hasWordHighlights.set(!1))}for(const i of t)$o.storedDecorations.delete(i)}_stopSingular(){var e,t,i,r;this._removeSingleDecorations(),this.editor.hasTextFocus()&&(((e=this.editor.getModel())===null||e===void 0?void 0:e.uri.scheme)!==Sn.vscodeNotebookCell&&((i=(t=$o.query)===null||t===void 0?void 0:t.modelInfo)===null||i===void 0?void 0:i.model.uri.scheme)!==Sn.vscodeNotebookCell?($o.query=null,this._run()):!((r=$o.query)===null||r===void 0)&&r.modelInfo&&($o.query.modelInfo=null)),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_stopAll(){this._removeAllDecorations(),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(e){var t;if(this.occurrencesHighlight==="off"){this._stopAll();return}if(e.reason!==3&&((t=this.editor.getModel())===null||t===void 0?void 0:t.uri.scheme)!==Sn.vscodeNotebookCell){this._stopAll();return}this._run()}_getWord(){const e=this.editor.getSelection(),t=e.startLineNumber,i=e.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:t,column:i})}getOtherModelsToHighlight(e){if(!e)return[];if(e.uri.scheme===Sn.vscodeNotebookCell){const o=[],s=this.codeEditorService.listCodeEditors();for(const a of s){const l=a.getModel();l&&l!==e&&l.uri.scheme===Sn.vscodeNotebookCell&&o.push(l)}return o}const i=[],r=this.codeEditorService.listCodeEditors();for(const o of r){if(!MDt(o))continue;const s=o.getModel();s&&e===s.modified&&i.push(s.modified)}if(i.length)return i;if(this.occurrencesHighlight==="singleFile")return[];for(const o of r){const s=o.getModel();s&&s!==e&&i.push(s)}return i}_run(){var e;let t;if(this.editor.hasTextFocus()){const r=this.editor.getSelection();if(!r||r.startLineNumber!==r.endLineNumber){$o.query=null,this._stopAll();return}const o=r.startColumn,s=r.endColumn,a=this._getWord();if(!a||a.startColumn>o||a.endColumn{r===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=s||[],this._beginRenderDecorations())},yn)}}computeWithModel(e,t,i,r){return r.length?mZt(this.multiDocumentProviders,e,t,i,this.editor.getOption(131),r):hZt(this.providers,e,t,i,this.editor.getOption(131))}_beginRenderDecorations(){const e=new Date().getTime(),t=this.lastCursorPositionChangeTime+250;e>=t?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(()=>{this.renderDecorations()},t-e)}renderDecorations(){var e,t,i;this.renderDecorationsTimer=-1;const r=this.codeEditorService.listCodeEditors();for(const o of r){const s=Gp.get(o);if(!s)continue;const a=[],l=(e=o.getModel())===null||e===void 0?void 0:e.uri;if(l&&this.workerRequestValue.has(l)){const u=$o.storedDecorations.get(l),c=this.workerRequestValue.get(l);if(c)for(const h of c)h.range&&a.push({range:h.range,options:sRt(h.kind)});let d=[];o.changeDecorations(h=>{d=h.deltaDecorations(u??[],a)}),$o.storedDecorations=$o.storedDecorations.set(l,d),a.length>0&&((t=s.wordHighlighter)===null||t===void 0||t.decorations.set(a),(i=s.wordHighlighter)===null||i===void 0||i._hasWordHighlights.set(!0))}}}dispose(){this._stopSingular(),this.toUnhook.dispose()}};wM.storedDecorations=new to,wM.query=null,wM=$o=NIe([pV(4,yi)],wM);let Gp=RQ=class extends Fe{static get(e){return e.getContribution(RQ.ID)}constructor(e,t,i,r){super(),this._wordHighlighter=null;const o=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new wM(e,i.documentHighlightProvider,i.multiDocumentHighlightProvider,t,r))};this._register(e.onDidChangeModel(s=>{this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),o()})),o()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!!(this._wordHighlighter&&this._wordHighlighter.hasDecorations())}moveNext(){var e;(e=this._wordHighlighter)===null||e===void 0||e.moveNext()}moveBack(){var e;(e=this._wordHighlighter)===null||e===void 0||e.moveBack()}restoreViewState(e){this._wordHighlighter&&e&&this._wordHighlighter.restore()}dispose(){this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),super.dispose()}};Gp.ID="editor.contrib.wordHighlighter",Gp=RQ=NIe([pV(1,ln),pV(2,Rt),pV(3,yi)],Gp);class TIe extends Nt{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=Gp.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class fZt extends TIe{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:_("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:bV,kbOpts:{kbExpr:ne.editorTextFocus,primary:65,weight:100}})}}class gZt extends TIe{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:_("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:bV,kbOpts:{kbExpr:ne.editorTextFocus,primary:1089,weight:100}})}}class pZt extends Nt{constructor(){super({id:"editor.action.wordHighlight.trigger",label:_("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:bV.toNegated(),kbOpts:{kbExpr:ne.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const r=Gp.get(t);r&&r.restoreViewState(!0)}}vi(Gp.ID,Gp,0),tt(fZt),tt(gZt),tt(pZt);class yV extends Ko{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const r=Mc(t.getOption(131),t.getOption(130)),o=t.getModel(),a=t.getSelections().map(l=>{const u=new ve(l.positionLineNumber,l.positionColumn),c=this._move(r,o,u,this._wordNavigationType);return this._moveTo(l,c,this._inSelectionMode)});if(o.pushStackElement(),t._getViewModel().setCursorStates("moveWordCommand",3,a.map(l=>si.fromModelSelection(l))),a.length===1){const l=new ve(a[0].positionLineNumber,a[0].positionColumn);t.revealPosition(l,0)}}_moveTo(e,t,i){return i?new Zt(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new Zt(t.lineNumber,t.column,t.lineNumber,t.column)}}class h1 extends yV{_move(e,t,i,r){return Si.moveWordLeft(e,t,i,r)}}class m1 extends yV{_move(e,t,i,r){return Si.moveWordRight(e,t,i,r)}}class bZt extends h1{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class yZt extends h1{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class vZt extends h1{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:Oe.and(ne.textInputFocus,(e=Oe.and(vF,v3))===null||e===void 0?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class CZt extends h1{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class SZt extends h1{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class wZt extends h1{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:Oe.and(ne.textInputFocus,(e=Oe.and(vF,v3))===null||e===void 0?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class xZt extends h1{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,r){return super._move(Mc(Wh.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,r)}}class _Zt extends h1{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,r){return super._move(Mc(Wh.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,r)}}class LZt extends m1{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class IZt extends m1{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:Oe.and(ne.textInputFocus,(e=Oe.and(vF,v3))===null||e===void 0?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class FZt extends m1{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class DZt extends m1{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class NZt extends m1{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:Oe.and(ne.textInputFocus,(e=Oe.and(vF,v3))===null||e===void 0?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class MZt extends m1{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class kZt extends m1{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,r){return super._move(Mc(Wh.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,r)}}class TZt extends m1{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,r){return super._move(Mc(Wh.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,r)}}class vV extends Ko{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const r=e.get(er);if(!t.hasModel())return;const o=Mc(t.getOption(131),t.getOption(130)),s=t.getModel(),a=t.getSelections(),l=t.getOption(6),u=t.getOption(11),c=r.getLanguageConfiguration(s.getLanguageId()).getAutoClosingPairs(),d=t._getViewModel(),h=a.map(m=>{const f=this._delete({wordSeparators:o,model:s,selection:m,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(9),autoClosingBrackets:l,autoClosingQuotes:u,autoClosingPairs:c,autoClosedCharacters:d.getCursorAutoClosedCharacters()},this._wordNavigationType);return new qs(f,"")});t.pushUndoStop(),t.executeCommands(this.id,h),t.pushUndoStop()}}class WQ extends vV{_delete(e,t){const i=Si.deleteWordLeft(e,t);return i||new J(1,1,1,1)}}class AQ extends vV{_delete(e,t){const i=Si.deleteWordRight(e,t);if(i)return i;const r=e.model.getLineCount(),o=e.model.getLineMaxColumn(r);return new J(r,o,r,o)}}class EZt extends WQ{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:ne.writable})}}class RZt extends WQ{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:ne.writable})}}class ZZt extends WQ{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:ne.writable,kbOpts:{kbExpr:ne.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class WZt extends AQ{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:ne.writable})}}class AZt extends AQ{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:ne.writable})}}class VZt extends AQ{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:ne.writable,kbOpts:{kbExpr:ne.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class GZt extends Nt{constructor(){super({id:"deleteInsideWord",precondition:ne.writable,label:_("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const r=Mc(t.getOption(131),t.getOption(130)),o=t.getModel(),a=t.getSelections().map(l=>{const u=Si.deleteInsideWord(r,o,l);return new qs(u,"")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}}gt(new bZt),gt(new yZt),gt(new vZt),gt(new CZt),gt(new SZt),gt(new wZt),gt(new LZt),gt(new IZt),gt(new FZt),gt(new DZt),gt(new NZt),gt(new MZt),gt(new xZt),gt(new _Zt),gt(new kZt),gt(new TZt),gt(new EZt),gt(new RZt),gt(new ZZt),gt(new WZt),gt(new AZt),gt(new VZt),tt(GZt);class XZt extends vV{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:ne.writable,kbOpts:{kbExpr:ne.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=T9.deleteWordPartLeft(e);return i||new J(1,1,1,1)}}class PZt extends vV{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:ne.writable,kbOpts:{kbExpr:ne.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const i=T9.deleteWordPartRight(e);if(i)return i;const r=e.model.getLineCount(),o=e.model.getLineMaxColumn(r);return new J(r,o,r,o)}}class EIe extends yV{_move(e,t,i,r){return T9.moveWordPartLeft(e,t,i)}}class OZt extends EIe{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:ne.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}$n.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class BZt extends EIe{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:ne.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}$n.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class RIe extends yV{_move(e,t,i,r){return T9.moveWordPartRight(e,t,i)}}class zZt extends RIe{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:ne.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class HZt extends RIe{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:ne.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}gt(new XZt),gt(new PZt),gt(new OZt),gt(new BZt),gt(new zZt),gt(new HZt);class VQ extends Fe{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=dl.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(92);t||(this.editor.isSimpleWidget?t=new ya(_("editor.simple.readonly","Cannot edit in read-only input")):t=new ya(_("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}}VQ.ID="editor.contrib.readOnlyMessageController",vi(VQ.ID,VQ,2);var YZt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},ZIe=function(n,e){return function(t,i){e(t,i,n)}};let GQ=class extends Fe{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=ei(this,void 0);const r=ba("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),o=ba("_textModel.onDidChangeContent",lt.debounce(s=>this._textModel.onDidChangeContent(s),()=>{},100));this._register(Hc(async(s,a)=>{r.read(s),o.read(s);const l=a.add(new jxt),u=await this._outlineModelService.getOrCreate(this._textModel,l.token);a.isDisposed||this._currentModel.set(u,void 0)}))}getBreadcrumbItems(e,t){const i=this._currentModel.read(t);if(!i)return[];const r=i.asListOfDocumentSymbols().filter(o=>e.contains(o.range.startLineNumber)&&!e.contains(o.range.endLineNumber));return r.sort(g1e(Tc(o=>o.range.endLineNumber-o.range.startLineNumber,Wg))),r.map(o=>({name:o.name,kind:o.kind,startLineNumber:o.range.startLineNumber}))}};GQ=YZt([ZIe(1,Rt),ZIe(2,mj)],GQ),YD.setBreadcrumbsSourceFactory((n,e)=>e.createInstance(GQ,n));var WIe;(function(n){n.inspectTokensAction=_("inspectTokens","Developer: Inspect Tokens")})(WIe||(WIe={}));var AIe;(function(n){n.gotoLineActionLabel=_("gotoLineActionLabel","Go to Line/Column...")})(AIe||(AIe={}));var VIe;(function(n){n.helpQuickAccessActionLabel=_("helpQuickAccess","Show all Quick Access Providers")})(VIe||(VIe={}));var GIe;(function(n){n.quickCommandActionLabel=_("quickCommandActionLabel","Command Palette"),n.quickCommandHelp=_("quickCommandActionHelp","Show And Run Commands")})(GIe||(GIe={}));var XIe;(function(n){n.quickOutlineActionLabel=_("quickOutlineActionLabel","Go to Symbol..."),n.quickOutlineByCategoryActionLabel=_("quickOutlineByCategoryActionLabel","Go to Symbol by Category...")})(XIe||(XIe={}));var CV;(function(n){n.editorViewAccessibleLabel=_("editorViewAccessibleLabel","Editor content"),n.accessibilityHelpMessage=_("accessibilityHelpMessage","Press Alt+F1 for Accessibility Options.")})(CV||(CV={}));var PIe;(function(n){n.toggleHighContrast=_("toggleHighContrast","Toggle High Contrast Theme")})(PIe||(PIe={}));var XQ;(function(n){n.bulkEditServiceSummary=_("bulkEditServiceSummary","Made {0} edits in {1} files")})(XQ||(XQ={}));function UZt(n,e,t){return new KZt(n,e,t)}class KZt extends kJ{constructor(e,t,i){super(e,i.keepIdleModels||!1,i.label,t),this._foreignModuleId=i.moduleId,this._foreignModuleCreateData=i.createData||null,this._foreignModuleHost=i.host||null,this._foreignProxy=null}fhr(e,t){if(!this._foreignModuleHost||typeof this._foreignModuleHost[e]!="function")return Promise.reject(new Error("Missing method "+e+" or missing main thread foreign host."));try{return Promise.resolve(this._foreignModuleHost[e].apply(this._foreignModuleHost,t))}catch(i){return Promise.reject(i)}}_getForeignProxy(){return this._foreignProxy||(this._foreignProxy=this._getProxy().then(e=>{const t=this._foreignModuleHost?l6(this._foreignModuleHost):[];return e.loadForeignModule(this._foreignModuleId,this._foreignModuleCreateData,t).then(i=>{this._foreignModuleCreateData=null;const r=(a,l)=>e.fmr(a,l),o=(a,l)=>function(){const u=Array.prototype.slice.call(arguments,0);return l(a,u)},s={};for(const a of i)s[a]=o(a,r);return s})})),this._foreignProxy}getProxy(){return this._getForeignProxy()}withSyncedResources(e){return this._withSyncedResources(e).then(t=>this.getProxy())}}function JZt(n){return Array.isArray(n)}function jZt(n){return!JZt(n)}function OIe(n){return typeof n=="string"}function BIe(n){return!OIe(n)}function SC(n){return!n}function Xp(n,e){return n.ignoreCase&&e?e.toLowerCase():e}function zIe(n){return n.replace(/[&<>'"_]/g,"-")}function bJt(n,e){}function pr(n,e){return new Error(`${n.languageId}: ${e}`)}function f1(n,e,t,i,r){const o=/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g;let s=null;return e.replace(o,function(a,l,u,c,d,h,m,f,g){return SC(u)?SC(c)?!SC(d)&&d0;){const i=n.tokenizer[t];if(i)return i;const r=t.lastIndexOf(".");r<0?t=null:t=t.substr(0,r)}return null}function $Zt(n,e){let t=e;for(;t&&t.length>0;){if(n.stateNames[t])return!0;const r=t.lastIndexOf(".");r<0?t=null:t=t.substr(0,r)}return!1}var qZt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},eWt=function(n,e){return function(t,i){e(t,i,n)}},PQ;const HIe=5;class xM{static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(e!==null&&e.depth>=this._maxCacheDepth)return new Ex(e,t);let i=Ex.getStackElementId(e);i.length>0&&(i+="|"),i+=t;let r=this._entries[i];return r||(r=new Ex(e,t),this._entries[i]=r,r)}}xM._INSTANCE=new xM(HIe);class Ex{constructor(e,t){this.parent=e,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(e){let t="";for(;e!==null;)t.length>0&&(t+="|"),t+=e.state,e=e.parent;return t}static _equals(e,t){for(;e!==null&&t!==null;){if(e===t)return!0;if(e.state!==t.state)return!1;e=e.parent,t=t.parent}return e===null&&t===null}equals(e){return Ex._equals(this,e)}push(e){return xM.create(this,e)}pop(){return this.parent}popall(){let e=this;for(;e.parent;)e=e.parent;return e}switchTo(e){return xM.create(this.parent,e)}}class Rx{constructor(e,t){this.languageId=e,this.state=t}equals(e){return this.languageId===e.languageId&&this.state.equals(e.state)}clone(){return this.state.clone()===this.state?this:new Rx(this.languageId,this.state)}}class g1{static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(t!==null)return new _M(e,t);if(e!==null&&e.depth>=this._maxCacheDepth)return new _M(e,t);const i=Ex.getStackElementId(e);let r=this._entries[i];return r||(r=new _M(e,null),this._entries[i]=r,r)}}g1._INSTANCE=new g1(HIe);class _M{constructor(e,t){this.stack=e,this.embeddedLanguageData=t}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:g1.create(this.stack,this.embeddedLanguageData)}equals(e){return!(e instanceof _M)||!this.stack.equals(e.stack)?!1:this.embeddedLanguageData===null&&e.embeddedLanguageData===null?!0:this.embeddedLanguageData===null||e.embeddedLanguageData===null?!1:this.embeddedLanguageData.equals(e.embeddedLanguageData)}}class tWt{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(e){this._languageId=e}emit(e,t){this._lastTokenType===t&&this._lastTokenLanguage===this._languageId||(this._lastTokenType=t,this._lastTokenLanguage=this._languageId,this._tokens.push(new PF(e,t,this._languageId)))}nestedLanguageTokenize(e,t,i,r){const o=i.languageId,s=i.state,a=bo.get(o);if(!a)return this.enterLanguage(o),this.emit(r,""),s;const l=a.tokenize(e,t,s);if(r!==0)for(const u of l.tokens)this._tokens.push(new PF(u.offset+r,u.type,u.language));else this._tokens=this._tokens.concat(l.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,l.endState}finalize(e){return new R6(this._tokens,e)}}class wV{constructor(e,t){this._languageService=e,this._theme=t,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(e){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(e)}emit(e,t){const i=this._theme.match(this._currentLanguageId,t)|1024;this._lastTokenMetadata!==i&&(this._lastTokenMetadata=i,this._tokens.push(e),this._tokens.push(i))}static _merge(e,t,i){const r=e!==null?e.length:0,o=t.length,s=i!==null?i.length:0;if(r===0&&o===0&&s===0)return new Uint32Array(0);if(r===0&&o===0)return i;if(o===0&&s===0)return e;const a=new Uint32Array(r+o+s);e!==null&&a.set(e);for(let l=0;l{if(s)return;let l=!1;for(let u=0,c=a.changedLanguages.length;u{a.affectsConfiguration("editor.maxTokenizationLineLength")&&(this._maxTokenizationLineLength=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:this._languageId}))}))}getLoadStatus(){const e=[];for(const t in this._embeddedLanguages){const i=bo.get(t);if(i){if(i instanceof PQ){const r=i.getLoadStatus();r.loaded===!1&&e.push(r.promise)}continue}bo.isResolved(t)||e.push(bo.getOrCreate(t))}return e.length===0?{loaded:!0}:{loaded:!1,promise:Promise.all(e).then(t=>{})}}getInitialState(){const e=xM.create(null,this._lexer.start);return g1.create(e,null)}tokenize(e,t,i){if(e.length>=this._maxTokenizationLineLength)return oCe(this._languageId,i);const r=new tWt,o=this._tokenize(e,t,i,r);return r.finalize(o)}tokenizeEncoded(e,t,i){if(e.length>=this._maxTokenizationLineLength)return x7(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),i);const r=new wV(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),o=this._tokenize(e,t,i,r);return r.finalize(o)}_tokenize(e,t,i,r){return i.embeddedLanguageData?this._nestedTokenize(e,t,i,0,r):this._myTokenize(e,t,i,0,r)}_findLeavingNestedLanguageOffset(e,t){let i=this._lexer.tokenizer[t.stack.state];if(!i&&(i=SV(this._lexer,t.stack.state),!i))throw pr(this._lexer,"tokenizer state is not defined: "+t.stack.state);let r=-1,o=!1;for(const s of i){if(!BIe(s.action)||s.action.nextEmbedded!=="@pop")continue;o=!0;let a=s.resolveRegex(t.stack.state);const l=a.source;if(l.substr(0,4)==="^(?:"&&l.substr(l.length-1,1)===")"){const c=(a.ignoreCase?"i":"")+(a.unicode?"u":"");a=new RegExp(l.substr(4,l.length-5),c)}const u=e.search(a);u===-1||u!==0&&s.matchOnlyAtLineStart||(r===-1||u0&&o.nestedLanguageTokenize(a,!1,i.embeddedLanguageData,r);const l=e.substring(s);return this._myTokenize(l,t,i,r+s,o)}_safeRuleName(e){return e?e.name:"(unknown)"}_myTokenize(e,t,i,r,o){o.enterLanguage(this._languageId);const s=e.length,a=t&&this._lexer.includeLF?e+` +`:e,l=a.length;let u=i.embeddedLanguageData,c=i.stack,d=0,h=null,m=!0;for(;m||d=l)break;m=!1;let T=this._lexer.tokenizer[y];if(!T&&(T=SV(this._lexer,y),!T))throw pr(this._lexer,"tokenizer state is not defined: "+y);const R=a.substr(d);for(const E of T)if((d===0||!E.matchOnlyAtLineStart)&&(C=R.match(E.resolveRegex(y)),C)){w=C[0],x=E.action;break}}if(C||(C=[""],w=""),x||(d=this._lexer.maxStack)throw pr(this._lexer,"maximum tokenizer stack size reached: ["+c.state+","+c.parent.state+",...]");c=c.push(y)}else if(x.next==="@pop"){if(c.depth<=1)throw pr(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(L));c=c.pop()}else if(x.next==="@popall")c=c.popall();else{let T=f1(this._lexer,x.next,w,C,y);if(T[0]==="@"&&(T=T.substr(1)),SV(this._lexer,T))c=c.push(T);else throw pr(this._lexer,"trying to set a next state '"+T+"' that is undefined in rule: "+this._safeRuleName(L))}}x.log&&typeof x.log=="string"&&(this._lexer,this._lexer.languageId+""+f1(this._lexer,x.log,w,C,y),void 0)}if(D===null)throw pr(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(L));const N=T=>{const R=this._languageService.getLanguageIdByLanguageName(T)||this._languageService.getLanguageIdByMimeType(T)||T,E=this._getNestedEmbeddedLanguageData(R);if(d0)throw pr(this._lexer,"groups cannot be nested: "+this._safeRuleName(L));if(C.length!==D.length+1)throw pr(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(L));let T=0;for(let R=1;Rn});class BQ{static colorizeElement(e,t,i,r){r=r||{};const o=r.theme||"vs",s=r.mimeType||i.getAttribute("lang")||i.getAttribute("data-lang");if(!s)return Promise.resolve();const a=t.getLanguageIdByMimeType(s)||s;e.setTheme(o);const l=i.firstChild?i.firstChild.nodeValue:"";i.className+=" "+o;const u=c=>{var d;const h=(d=OQ==null?void 0:OQ.createHTML(c))!==null&&d!==void 0?d:c;i.innerHTML=h};return this.colorize(t,l||"",a,r).then(u,c=>{})}static async colorize(e,t,i,r){const o=e.languageIdCodec;let s=4;r&&typeof r.tabSize=="number"&&(s=r.tabSize),lY(t)&&(t=t.substr(1));const a=Pm(t);if(!e.isRegisteredLanguageId(i))return YIe(a,s,o);const l=await bo.getOrCreate(i);return l?iWt(a,s,l,o):YIe(a,s,o)}static colorizeLine(e,t,i,r,o=4){const s=Uu.isBasicASCII(e,t),a=Uu.containsRTL(e,s,i);return cZ(new u0(!1,!0,e,!1,s,a,0,r,[],o,0,0,0,0,-1,"none",!1,!1,null)).html}static colorizeModelLine(e,t,i=4){const r=e.getLineContent(t);e.tokenization.forceTokenization(t);const s=e.tokenization.getLineTokens(t).inflate();return this.colorizeLine(r,e.mightContainNonBasicASCII(),e.mightContainRTL(),s,i)}}function iWt(n,e,t,i){return new Promise((r,o)=>{const s=()=>{const a=rWt(n,e,t,i);if(t instanceof LM){const l=t.getLoadStatus();if(l.loaded===!1){l.promise.then(s,o);return}}r(a)};s()})}function YIe(n,e,t){let i=[];const o=new Uint32Array(2);o[0]=0,o[1]=33587200;for(let s=0,a=n.length;s")}return i.join("")}function rWt(n,e,t,i){let r=[],o=t.getInitialState();for(let s=0,a=n.length;s"),o=u.endState}return r.join("")}var oWt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},sWt=function(n,e){return function(t,i){e(t,i,n)}};let zQ=class extends Fe{constructor(e){super(),this._themeService=e,this._onWillCreateCodeEditor=this._register(new be),this._onCodeEditorAdd=this._register(new be),this.onCodeEditorAdd=this._onCodeEditorAdd.event,this._onCodeEditorRemove=this._register(new be),this.onCodeEditorRemove=this._onCodeEditorRemove.event,this._onWillCreateDiffEditor=this._register(new be),this._onDiffEditorAdd=this._register(new be),this.onDiffEditorAdd=this._onDiffEditorAdd.event,this._onDiffEditorRemove=this._register(new be),this.onDiffEditorRemove=this._onDiffEditorRemove.event,this._decorationOptionProviders=new Map,this._codeEditorOpenHandlers=new ja,this._modelProperties=new Map,this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._globalStyleSheet=null}willCreateCodeEditor(){this._onWillCreateCodeEditor.fire()}addCodeEditor(e){this._codeEditors[e.getId()]=e,this._onCodeEditorAdd.fire(e)}removeCodeEditor(e){delete this._codeEditors[e.getId()]&&this._onCodeEditorRemove.fire(e)}listCodeEditors(){return Object.keys(this._codeEditors).map(e=>this._codeEditors[e])}willCreateDiffEditor(){this._onWillCreateDiffEditor.fire()}addDiffEditor(e){this._diffEditors[e.getId()]=e,this._onDiffEditorAdd.fire(e)}listDiffEditors(){return Object.keys(this._diffEditors).map(e=>this._diffEditors[e])}getFocusedCodeEditor(){let e=null;const t=this.listCodeEditors();for(const i of t){if(i.hasTextFocus())return i;i.hasWidgetFocus()&&(e=i)}return e}removeDecorationType(e){const t=this._decorationOptionProviders.get(e);t&&(t.refCount--,t.refCount<=0&&(this._decorationOptionProviders.delete(e),t.dispose(),this.listCodeEditors().forEach(i=>i.removeDecorationsByType(e))))}setModelProperty(e,t,i){const r=e.toString();let o;this._modelProperties.has(r)?o=this._modelProperties.get(r):(o=new Map,this._modelProperties.set(r,o)),o.set(t,i)}getModelProperty(e,t){const i=e.toString();if(this._modelProperties.has(i))return this._modelProperties.get(i).get(t)}async openCodeEditor(e,t,i){for(const r of this._codeEditorOpenHandlers){const o=await r(e,t,i);if(o!==null)return o}return null}registerCodeEditorOpenHandler(e){const t=this._codeEditorOpenHandlers.unshift(e);return jt(t)}};zQ=oWt([sWt(0,jo)],zQ);var aWt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},UIe=function(n,e){return function(t,i){e(t,i,n)}};let xV=class extends zQ{constructor(e,t){super(t),this._register(this.onCodeEditorAdd(()=>this._checkContextKey())),this._register(this.onCodeEditorRemove(()=>this._checkContextKey())),this._editorIsOpen=e.createKey("editorIsOpen",!1),this._activeCodeEditor=null,this._register(this.registerCodeEditorOpenHandler(async(i,r,o)=>r?this.doOpenEditor(r,i):null))}_checkContextKey(){let e=!1;for(const t of this.listCodeEditors())if(!t.isSimpleWidget){e=!0;break}this._editorIsOpen.set(e)}setActiveCodeEditor(e){this._activeCodeEditor=e}getActiveCodeEditor(){return this._activeCodeEditor}doOpenEditor(e,t){if(!this.findModel(e,t.resource)){if(t.resource){const o=t.resource.scheme;if(o===Sn.http||o===Sn.https)return V0e(t.resource.toString()),e}return null}const r=t.options?t.options.selection:null;if(r)if(typeof r.endLineNumber=="number"&&typeof r.endColumn=="number")e.setSelection(r),e.revealRangeInCenter(r,1);else{const o={lineNumber:r.startLineNumber,column:r.startColumn};e.setPosition(o),e.revealPositionInCenter(o,1)}return e}findModel(e,t){const i=e.getModel();return i&&i.uri.toString()!==t.toString()?null:i}};xV=aWt([UIe(0,ln),UIe(1,jo)],xV),qn(yi,xV,0);const p1=Un("layoutService");var KIe=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},JIe=function(n,e){return function(t,i){e(t,i,n)}};let _V=class{get mainContainer(){var e,t;return(t=(e=zY(this._codeEditorService.listCodeEditors()))===null||e===void 0?void 0:e.getContainerDomNode())!==null&&t!==void 0?t:Zi.document.body}get activeContainer(){var e,t;const i=(e=this._codeEditorService.getFocusedCodeEditor())!==null&&e!==void 0?e:this._codeEditorService.getActiveCodeEditor();return(t=i==null?void 0:i.getContainerDomNode())!==null&&t!==void 0?t:this.mainContainer}get mainContainerDimension(){return Fg(this.mainContainer)}get activeContainerDimension(){return Fg(this.activeContainer)}get containers(){return Ym(this._codeEditorService.listCodeEditors().map(e=>e.getContainerDomNode()))}getContainer(){return this.activeContainer}whenContainerStylesLoaded(){}focus(){var e;(e=this._codeEditorService.getFocusedCodeEditor())===null||e===void 0||e.focus()}constructor(e){this._codeEditorService=e,this.onDidLayoutMainContainer=lt.None,this.onDidLayoutActiveContainer=lt.None,this.onDidLayoutContainer=lt.None,this.onDidChangeActiveContainer=lt.None,this.onDidAddContainer=lt.None,this.mainContainerOffset={top:0,quickPickTop:0},this.activeContainerOffset={top:0,quickPickTop:0}}};_V=KIe([JIe(0,yi)],_V);let HQ=class extends _V{get mainContainer(){return this._container}constructor(e,t){super(t),this._container=e}};HQ=KIe([JIe(1,yi)],HQ),qn(p1,_V,1);var lWt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},jIe=function(n,e){return function(t,i){e(t,i,n)}};function LV(n){return n.scheme===Sn.file?n.fsPath:n.path}let QIe=0;class IV{constructor(e,t,i,r,o,s,a){this.id=++QIe,this.type=0,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabel=t,this.strResource=i,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=r,this.groupOrder=o,this.sourceId=s,this.sourceOrder=a,this.isValid=!0}setValid(e){this.isValid=e}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.isValid?" VALID":"INVALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class $Ie{constructor(e,t){this.resourceLabel=e,this.reason=t}}class qIe{constructor(){this.elements=new Map}createMessage(){const e=[],t=[];for(const[,r]of this.elements)(r.reason===0?e:t).push(r.resourceLabel);const i=[];return e.length>0&&i.push(_({key:"externalRemoval",comment:["{0} is a list of filenames"]},"The following files have been closed and modified on disk: {0}.",e.join(", "))),t.length>0&&i.push(_({key:"noParallelUniverses",comment:["{0} is a list of filenames"]},"The following files have been modified in an incompatible way: {0}.",t.join(", "))),i.join(` +`)}get size(){return this.elements.size}has(e){return this.elements.has(e)}set(e,t){this.elements.set(e,t)}delete(e){return this.elements.delete(e)}}class uWt{constructor(e,t,i,r,o,s,a){this.id=++QIe,this.type=1,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabels=t,this.strResources=i,this.groupId=r,this.groupOrder=o,this.sourceId=s,this.sourceOrder=a,this.removedResources=null,this.invalidatedResources=null}canSplit(){return typeof this.actual.split=="function"}removeResource(e,t,i){this.removedResources||(this.removedResources=new qIe),this.removedResources.has(t)||this.removedResources.set(t,new $Ie(e,i))}setValid(e,t,i){i?this.invalidatedResources&&(this.invalidatedResources.delete(t),this.invalidatedResources.size===0&&(this.invalidatedResources=null)):(this.invalidatedResources||(this.invalidatedResources=new qIe),this.invalidatedResources.has(t)||this.invalidatedResources.set(t,new $Ie(e,0)))}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?"INVALID":" VALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class eFe{constructor(e,t){this.resourceLabel=e,this.strResource=t,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(const e of this._past)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,0);for(const e of this._future)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){const e=[];e.push(`* ${this.strResource}:`);for(let t=0;t=0;t--)e.push(` * [REDO] ${this._future[t]}`);return e.join(` +`)}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(e,t){e.type===1?e.setValid(this.resourceLabel,this.strResource,t):e.setValid(t)}setElementsValidFlag(e,t){for(const i of this._past)t(i.actual)&&this._setElementValidFlag(i,e);for(const i of this._future)t(i.actual)&&this._setElementValidFlag(i,e)}pushElement(e){for(const t of this._future)t.type===1&&t.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(e),this.versionId++}createSnapshot(e){const t=[];for(let i=0,r=this._past.length;i=0;i--)t.push(this._future[i].id);return new aCe(e,t)}restoreSnapshot(e){const t=e.elements.length;let i=!0,r=0,o=-1;for(let a=0,l=this._past.length;a=t||u.id!==e.elements[r])&&(i=!1,o=0),!i&&u.type===1&&u.removeResource(this.resourceLabel,this.strResource,0)}let s=-1;for(let a=this._future.length-1;a>=0;a--,r++){const l=this._future[a];i&&(r>=t||l.id!==e.elements[r])&&(i=!1,s=a),!i&&l.type===1&&l.removeResource(this.resourceLabel,this.strResource,0)}o!==-1&&(this._past=this._past.slice(0,o)),s!==-1&&(this._future=this._future.slice(s+1)),this.versionId++}getElements(){const e=[],t=[];for(const i of this._past)e.push(i.actual);for(const i of this._future)t.push(i.actual);return{past:e,future:t}}getClosestPastElement(){return this._past.length===0?null:this._past[this._past.length-1]}getSecondClosestPastElement(){return this._past.length<2?null:this._past[this._past.length-2]}getClosestFutureElement(){return this._future.length===0?null:this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}splitPastWorkspaceElement(e,t){for(let i=this._past.length-1;i>=0;i--)if(this._past[i]===e){t.has(this.strResource)?this._past[i]=t.get(this.strResource):this._past.splice(i,1);break}this.versionId++}splitFutureWorkspaceElement(e,t){for(let i=this._future.length-1;i>=0;i--)if(this._future[i]===e){t.has(this.strResource)?this._future[i]=t.get(this.strResource):this._future.splice(i,1);break}this.versionId++}moveBackward(e){this._past.pop(),this._future.push(e),this.versionId++}moveForward(e){this._future.pop(),this._past.push(e),this.versionId++}}class YQ{constructor(e){this.editStacks=e,this._versionIds=[];for(let t=0,i=this.editStacks.length;tt.sourceOrder)&&(t=s,i=r)}return[t,i]}canUndo(e){if(e instanceof mf){const[,i]=this._findClosestUndoElementWithSource(e.id);return!!i}const t=this.getUriComparisonKey(e);return this._editStacks.has(t)?this._editStacks.get(t).hasPastElements():!1}_onError(e,t){yn(e);for(const i of t.strResources)this.removeElements(i);this._notificationService.error(e)}_acquireLocks(e){for(const t of e.editStacks)if(t.locked)throw new Error("Cannot acquire edit stack lock");for(const t of e.editStacks)t.locked=!0;return()=>{for(const t of e.editStacks)t.locked=!1}}_safeInvokeWithLocks(e,t,i,r,o){const s=this._acquireLocks(i);let a;try{a=t()}catch(l){return s(),r.dispose(),this._onError(l,e)}return a?a.then(()=>(s(),r.dispose(),o()),l=>(s(),r.dispose(),this._onError(l,e))):(s(),r.dispose(),o())}async _invokeWorkspacePrepare(e){if(typeof e.actual.prepareUndoRedo>"u")return Fe.None;const t=e.actual.prepareUndoRedo();return typeof t>"u"?Fe.None:t}_invokeResourcePrepare(e,t){if(e.actual.type!==1||typeof e.actual.prepareUndoRedo>"u")return t(Fe.None);const i=e.actual.prepareUndoRedo();return i?AH(i)?t(i):i.then(r=>t(r)):t(Fe.None)}_getAffectedEditStacks(e){const t=[];for(const i of e.strResources)t.push(this._editStacks.get(i)||tFe);return new YQ(t)}_tryToSplitAndUndo(e,t,i,r){if(t.canSplit())return this._splitPastWorkspaceElement(t,i),this._notificationService.warn(r),new FV(this._undo(e,0,!0));for(const o of t.strResources)this.removeElements(o);return this._notificationService.warn(r),new FV}_checkWorkspaceUndo(e,t,i,r){if(t.removedResources)return this._tryToSplitAndUndo(e,t,t.removedResources,_({key:"cannotWorkspaceUndo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not undo '{0}' across all files. {1}",t.label,t.removedResources.createMessage()));if(r&&t.invalidatedResources)return this._tryToSplitAndUndo(e,t,t.invalidatedResources,_({key:"cannotWorkspaceUndo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not undo '{0}' across all files. {1}",t.label,t.invalidatedResources.createMessage()));const o=[];for(const a of i.editStacks)a.getClosestPastElement()!==t&&o.push(a.resourceLabel);if(o.length>0)return this._tryToSplitAndUndo(e,t,null,_({key:"cannotWorkspaceUndoDueToChanges",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because changes were made to {1}",t.label,o.join(", ")));const s=[];for(const a of i.editStacks)a.locked&&s.push(a.resourceLabel);return s.length>0?this._tryToSplitAndUndo(e,t,null,_({key:"cannotWorkspaceUndoDueToInProgressUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}",t.label,s.join(", "))):i.isValid()?null:this._tryToSplitAndUndo(e,t,null,_({key:"cannotWorkspaceUndoDueToInMeantimeUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime",t.label))}_workspaceUndo(e,t,i){const r=this._getAffectedEditStacks(t),o=this._checkWorkspaceUndo(e,t,r,!1);return o?o.returnValue:this._confirmAndExecuteWorkspaceUndo(e,t,r,i)}_isPartOfUndoGroup(e){if(!e.groupId)return!1;for(const[,t]of this._editStacks){const i=t.getClosestPastElement();if(i){if(i===e){const r=t.getSecondClosestPastElement();if(r&&r.groupId===e.groupId)return!0}if(i.groupId===e.groupId)return!0}}return!1}async _confirmAndExecuteWorkspaceUndo(e,t,i,r){if(t.canSplit()&&!this._isPartOfUndoGroup(t)){let a;(function(c){c[c.All=0]="All",c[c.This=1]="This",c[c.Cancel=2]="Cancel"})(a||(a={}));const{result:l}=await this._dialogService.prompt({type:oo.Info,message:_("confirmWorkspace","Would you like to undo '{0}' across all files?",t.label),buttons:[{label:_({key:"ok",comment:["{0} denotes a number that is > 1, && denotes a mnemonic"]},"&&Undo in {0} Files",i.editStacks.length),run:()=>a.All},{label:_({key:"nok",comment:["&& denotes a mnemonic"]},"Undo this &&File"),run:()=>a.This}],cancelButton:{run:()=>a.Cancel}});if(l===a.Cancel)return;if(l===a.This)return this._splitPastWorkspaceElement(t,null),this._undo(e,0,!0);const u=this._checkWorkspaceUndo(e,t,i,!1);if(u)return u.returnValue;r=!0}let o;try{o=await this._invokeWorkspacePrepare(t)}catch(a){return this._onError(a,t)}const s=this._checkWorkspaceUndo(e,t,i,!0);if(s)return o.dispose(),s.returnValue;for(const a of i.editStacks)a.moveBackward(t);return this._safeInvokeWithLocks(t,()=>t.actual.undo(),i,o,()=>this._continueUndoInGroup(t.groupId,r))}_resourceUndo(e,t,i){if(!t.isValid){e.flushAllElements();return}if(e.locked){const r=_({key:"cannotResourceUndoDueToInProgressUndoRedo",comment:["{0} is a label for an operation."]},"Could not undo '{0}' because there is already an undo or redo operation running.",t.label);this._notificationService.warn(r);return}return this._invokeResourcePrepare(t,r=>(e.moveBackward(t),this._safeInvokeWithLocks(t,()=>t.actual.undo(),new YQ([e]),r,()=>this._continueUndoInGroup(t.groupId,i))))}_findClosestUndoElementInGroup(e){if(!e)return[null,null];let t=null,i=null;for(const[r,o]of this._editStacks){const s=o.getClosestPastElement();s&&s.groupId===e&&(!t||s.groupOrder>t.groupOrder)&&(t=s,i=r)}return[t,i]}_continueUndoInGroup(e,t){if(!e)return;const[,i]=this._findClosestUndoElementInGroup(e);if(i)return this._undo(i,0,t)}undo(e){if(e instanceof mf){const[,t]=this._findClosestUndoElementWithSource(e.id);return t?this._undo(t,e.id,!1):void 0}return typeof e=="string"?this._undo(e,0,!1):this._undo(this.getUriComparisonKey(e),0,!1)}_undo(e,t=0,i){if(!this._editStacks.has(e))return;const r=this._editStacks.get(e),o=r.getClosestPastElement();if(!o)return;if(o.groupId){const[a,l]=this._findClosestUndoElementInGroup(o.groupId);if(o!==a&&l)return this._undo(l,t,i)}if((o.sourceId!==t||o.confirmBeforeUndo)&&!i)return this._confirmAndContinueUndo(e,t,o);try{return o.type===1?this._workspaceUndo(e,o,i):this._resourceUndo(r,o,i)}finally{}}async _confirmAndContinueUndo(e,t,i){if((await this._dialogService.confirm({message:_("confirmDifferentSource","Would you like to undo '{0}'?",i.label),primaryButton:_({key:"confirmDifferentSource.yes",comment:["&& denotes a mnemonic"]},"&&Yes"),cancelButton:_("confirmDifferentSource.no","No")})).confirmed)return this._undo(e,t,!0)}_findClosestRedoElementWithSource(e){if(!e)return[null,null];let t=null,i=null;for(const[r,o]of this._editStacks){const s=o.getClosestFutureElement();s&&s.sourceId===e&&(!t||s.sourceOrder0)return this._tryToSplitAndRedo(e,t,null,_({key:"cannotWorkspaceRedoDueToChanges",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because changes were made to {1}",t.label,o.join(", ")));const s=[];for(const a of i.editStacks)a.locked&&s.push(a.resourceLabel);return s.length>0?this._tryToSplitAndRedo(e,t,null,_({key:"cannotWorkspaceRedoDueToInProgressUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}",t.label,s.join(", "))):i.isValid()?null:this._tryToSplitAndRedo(e,t,null,_({key:"cannotWorkspaceRedoDueToInMeantimeUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime",t.label))}_workspaceRedo(e,t){const i=this._getAffectedEditStacks(t),r=this._checkWorkspaceRedo(e,t,i,!1);return r?r.returnValue:this._executeWorkspaceRedo(e,t,i)}async _executeWorkspaceRedo(e,t,i){let r;try{r=await this._invokeWorkspacePrepare(t)}catch(s){return this._onError(s,t)}const o=this._checkWorkspaceRedo(e,t,i,!0);if(o)return r.dispose(),o.returnValue;for(const s of i.editStacks)s.moveForward(t);return this._safeInvokeWithLocks(t,()=>t.actual.redo(),i,r,()=>this._continueRedoInGroup(t.groupId))}_resourceRedo(e,t){if(!t.isValid){e.flushAllElements();return}if(e.locked){const i=_({key:"cannotResourceRedoDueToInProgressUndoRedo",comment:["{0} is a label for an operation."]},"Could not redo '{0}' because there is already an undo or redo operation running.",t.label);this._notificationService.warn(i);return}return this._invokeResourcePrepare(t,i=>(e.moveForward(t),this._safeInvokeWithLocks(t,()=>t.actual.redo(),new YQ([e]),i,()=>this._continueRedoInGroup(t.groupId))))}_findClosestRedoElementInGroup(e){if(!e)return[null,null];let t=null,i=null;for(const[r,o]of this._editStacks){const s=o.getClosestFutureElement();s&&s.groupId===e&&(!t||s.groupOrder=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},KQ=function(n,e){return function(t,i){e(t,i,n)}};let JQ=class extends Fe{constructor(e,t,i){super(),this._themeService=e,this._logService=t,this._languageService=i,this._caches=new WeakMap,this._register(this._themeService.onDidColorThemeChange(()=>{this._caches=new WeakMap}))}getStyling(e){return this._caches.has(e)||this._caches.set(e,new aQ(e.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(e)}};JQ=cWt([KQ(0,jo),KQ(1,tl),KQ(2,br)],JQ),qn(sV,JQ,1);function nFe(n){return typeof n=="string"?!1:Array.isArray(n)?n.every(nFe):!!n.exclusive}class iFe{constructor(e,t,i,r){this.uri=e,this.languageId=t,this.notebookUri=i,this.notebookType=r}equals(e){var t,i;return this.notebookType===e.notebookType&&this.languageId===e.languageId&&this.uri.toString()===e.uri.toString()&&((t=this.notebookUri)===null||t===void 0?void 0:t.toString())===((i=e.notebookUri)===null||i===void 0?void 0:i.toString())}}class _r{constructor(e){this._notebookInfoResolver=e,this._clock=0,this._entries=[],this._onDidChange=new be,this.onDidChange=this._onDidChange.event}register(e,t){let i={selector:e,provider:t,_score:-1,_time:this._clock++};return this._entries.push(i),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),jt(()=>{if(i){const r=this._entries.indexOf(i);r>=0&&(this._entries.splice(r,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),i=void 0)}})}has(e){return this.all(e).length>0}all(e){if(!e)return[];this._updateScores(e);const t=[];for(const i of this._entries)i._score>0&&t.push(i.provider);return t}ordered(e){const t=[];return this._orderedForEach(e,i=>t.push(i.provider)),t}orderedGroups(e){const t=[];let i,r;return this._orderedForEach(e,o=>{i&&r===o._score?i.push(o.provider):(r=o._score,i=[o.provider],t.push(i))}),t}_orderedForEach(e,t){this._updateScores(e);for(const i of this._entries)i._score>0&&t(i)}_updateScores(e){var t,i;const r=(t=this._notebookInfoResolver)===null||t===void 0?void 0:t.call(this,e.uri),o=r?new iFe(e.uri,e.getLanguageId(),r.uri,r.type):new iFe(e.uri,e.getLanguageId(),void 0,void 0);if(!(!((i=this._lastCandidate)===null||i===void 0)&&i.equals(o))){this._lastCandidate=o;for(const s of this._entries)if(s._score=EQ(s.selector,o.uri,o.languageId,ive(e),o.notebookUri,o.notebookType),nFe(s.selector)&&s._score>0){for(const a of this._entries)a._score=0;s._score=1e3;break}this._entries.sort(_r._compareByScoreAndTime)}}static _compareByScoreAndTime(e,t){return e._scoret._score?-1:IM(e.selector)&&!IM(t.selector)?1:!IM(e.selector)&&IM(t.selector)?-1:e._timet._time?-1:0}}function IM(n){return typeof n=="string"?!1:Array.isArray(n)?n.some(IM):!!n.isBuiltin}class dWt{constructor(){this.referenceProvider=new _r(this._score.bind(this)),this.renameProvider=new _r(this._score.bind(this)),this.newSymbolNamesProvider=new _r(this._score.bind(this)),this.codeActionProvider=new _r(this._score.bind(this)),this.definitionProvider=new _r(this._score.bind(this)),this.typeDefinitionProvider=new _r(this._score.bind(this)),this.declarationProvider=new _r(this._score.bind(this)),this.implementationProvider=new _r(this._score.bind(this)),this.documentSymbolProvider=new _r(this._score.bind(this)),this.inlayHintsProvider=new _r(this._score.bind(this)),this.colorProvider=new _r(this._score.bind(this)),this.codeLensProvider=new _r(this._score.bind(this)),this.documentFormattingEditProvider=new _r(this._score.bind(this)),this.documentRangeFormattingEditProvider=new _r(this._score.bind(this)),this.onTypeFormattingEditProvider=new _r(this._score.bind(this)),this.signatureHelpProvider=new _r(this._score.bind(this)),this.hoverProvider=new _r(this._score.bind(this)),this.documentHighlightProvider=new _r(this._score.bind(this)),this.multiDocumentHighlightProvider=new _r(this._score.bind(this)),this.selectionRangeProvider=new _r(this._score.bind(this)),this.foldingRangeProvider=new _r(this._score.bind(this)),this.linkProvider=new _r(this._score.bind(this)),this.inlineCompletionsProvider=new _r(this._score.bind(this)),this.inlineEditProvider=new _r(this._score.bind(this)),this.completionProvider=new _r(this._score.bind(this)),this.linkedEditingRangeProvider=new _r(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new _r(this._score.bind(this)),this.documentSemanticTokensProvider=new _r(this._score.bind(this)),this.documentOnDropEditProvider=new _r(this._score.bind(this)),this.documentPasteEditProvider=new _r(this._score.bind(this))}_score(e){var t;return(t=this._notebookTypeResolver)===null||t===void 0?void 0:t.call(this,e)}}qn(Rt,dWt,1);var hWt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},FM=function(n,e){return function(t,i){e(t,i,n)}};const Gf=Ct;let jQ=class extends Hu{get _targetWindow(){return Qt(this._target.targetElements[0])}get _targetDocumentElement(){return Qt(this._target.targetElements[0]).document.documentElement}get isDisposed(){return this._isDisposed}get isMouseIn(){return this._lockMouseTracker.isMouseIn}get domNode(){return this._hover.containerDomNode}get onDispose(){return this._onDispose.event}get onRequestLayout(){return this._onRequestLayout.event}get anchor(){return this._hoverPosition===2?0:1}get x(){return this._x}get y(){return this._y}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked!==e&&(this._isLocked=e,this._hoverContainer.classList.toggle("locked",this._isLocked))}constructor(e,t,i,r,o,s){var a,l,u,c,d,h,m,f;super(),this._keybindingService=t,this._configurationService=i,this._openerService=r,this._instantiationService=o,this._accessibilityService=s,this._messageListeners=new Je,this._isDisposed=!1,this._forcePosition=!1,this._x=0,this._y=0,this._isLocked=!1,this._enableFocusTraps=!1,this._addedFocusTrap=!1,this._onDispose=this._register(new be),this._onRequestLayout=this._register(new be),this._linkHandler=e.linkHandler||(x=>cK(this._openerService,x,Yh(e.content)?e.content.isTrusted:void 0)),this._target="targetElements"in e.target?e.target:new mWt(e.target),this._hoverPointer=!((a=e.appearance)===null||a===void 0)&&a.showPointer?Gf("div.workbench-hover-pointer"):void 0,this._hover=this._register(new x8),this._hover.containerDomNode.classList.add("workbench-hover","fadeIn"),!((l=e.appearance)===null||l===void 0)&&l.compact&&this._hover.containerDomNode.classList.add("workbench-hover","compact"),!((u=e.appearance)===null||u===void 0)&&u.skipFadeInAnimation&&this._hover.containerDomNode.classList.add("skip-fade-in"),e.additionalClasses&&this._hover.containerDomNode.classList.add(...e.additionalClasses),!((c=e.position)===null||c===void 0)&&c.forcePosition&&(this._forcePosition=!0),e.trapFocus&&(this._enableFocusTraps=!0),this._hoverPosition=(h=(d=e.position)===null||d===void 0?void 0:d.hoverPosition)!==null&&h!==void 0?h:3,this.onmousedown(this._hover.containerDomNode,x=>x.stopPropagation()),this.onkeydown(this._hover.containerDomNode,x=>{x.equals(9)&&this.dispose()}),this._register(Ve(this._targetWindow,"blur",()=>this.dispose()));const g=Gf("div.hover-row.markdown-hover"),b=Gf("div.hover-contents");if(typeof e.content=="string")b.textContent=e.content,b.style.whiteSpace="pre-wrap";else if(e.content instanceof HTMLElement)b.appendChild(e.content),b.classList.add("html-hover-contents");else{const x=e.content,L=this._instantiationService.createInstance(xf,{codeBlockFontFamily:this._configurationService.getValue("editor").fontFamily||Vl.fontFamily}),{element:I}=L.render(x,{actionHandler:{callback:D=>this._linkHandler(D),disposables:this._messageListeners},asyncRenderCallback:()=>{b.classList.add("code-hover-contents"),this.layout(),this._onRequestLayout.fire()}});b.appendChild(I)}if(g.appendChild(b),this._hover.contentsDomNode.appendChild(g),e.actions&&e.actions.length>0){const x=Gf("div.hover-row.status-bar"),L=Gf("div.actions");e.actions.forEach(I=>{const D=this._keybindingService.lookupKeybinding(I.commandId),N=D?D.getLabel():null;H3.render(L,{label:I.label,commandId:I.commandId,run:T=>{I.run(T),this.dispose()},iconClass:I.iconClass},N)}),x.appendChild(L),this._hover.containerDomNode.appendChild(x)}this._hoverContainer=Gf("div.workbench-hover-container"),this._hoverPointer&&this._hoverContainer.appendChild(this._hoverPointer),this._hoverContainer.appendChild(this._hover.containerDomNode);let y;if(e.actions&&e.actions.length>0?y=!1:((m=e.persistence)===null||m===void 0?void 0:m.hideOnHover)===void 0?y=typeof e.content=="string"||Yh(e.content)&&!e.content.value.includes("](")&&!e.content.value.includes(""):y=e.persistence.hideOnHover,y&&(!((f=e.appearance)===null||f===void 0)&&f.showHoverHint)){const x=Gf("div.hover-row.status-bar"),L=Gf("div.info");L.textContent=_("hoverhint","Hold {0} key to mouse over",On?"Option":"Alt"),x.appendChild(L),this._hover.containerDomNode.appendChild(x)}const C=[...this._target.targetElements];y||C.push(this._hoverContainer);const w=this._register(new rFe(C));if(this._register(w.onMouseOut(()=>{this._isLocked||this.dispose()})),y){const x=[...this._target.targetElements,this._hoverContainer];this._lockMouseTracker=this._register(new rFe(x)),this._register(this._lockMouseTracker.onMouseOut(()=>{this._isLocked||this.dispose()}))}else this._lockMouseTracker=w}addFocusTrap(){if(!this._enableFocusTraps||this._addedFocusTrap)return;this._addedFocusTrap=!0;const e=this._hover.containerDomNode,t=this.findLastFocusableChild(this._hover.containerDomNode);if(t){const i=LY(this._hoverContainer,Gf("div")),r=je(this._hoverContainer,Gf("div"));i.tabIndex=0,r.tabIndex=0,this._register(Ve(r,"focus",o=>{e.focus(),o.preventDefault()})),this._register(Ve(i,"focus",o=>{t.focus(),o.preventDefault()}))}}findLastFocusableChild(e){if(e.hasChildNodes())for(let t=0;t=0)return o}const r=this.findLastFocusableChild(i);if(r)return r}}render(e){var t;e.appendChild(this._hoverContainer);const r=this._hoverContainer.contains(this._hoverContainer.ownerDocument.activeElement)&&Pxe(this._configurationService.getValue("accessibility.verbosity.hover")===!0&&this._accessibilityService.isScreenReaderOptimized(),(t=this._keybindingService.lookupKeybinding("editor.action.accessibleView"))===null||t===void 0?void 0:t.getAriaLabel());r&&kg(r),this.layout(),this.addFocusTrap()}layout(){this._hover.containerDomNode.classList.remove("right-aligned"),this._hover.contentsDomNode.style.maxHeight="";const e=c=>{const d=M0e(c),h=c.getBoundingClientRect();return{top:h.top*d,bottom:h.bottom*d,right:h.right*d,left:h.left*d}},t=this._target.targetElements.map(c=>e(c)),{top:i,right:r,bottom:o,left:s}=t[0],a=r-s,l=o-i,u={top:i,right:r,bottom:o,left:s,width:a,height:l,center:{x:s+a/2,y:i+l/2}};if(this.adjustHorizontalHoverPosition(u),this.adjustVerticalHoverPosition(u),this.adjustHoverMaxHeight(u),this._hoverContainer.style.padding="",this._hoverContainer.style.margin="",this._hoverPointer){switch(this._hoverPosition){case 1:u.left+=3,u.right+=3,this._hoverContainer.style.paddingLeft="3px",this._hoverContainer.style.marginLeft="-3px";break;case 0:u.left-=3,u.right-=3,this._hoverContainer.style.paddingRight="3px",this._hoverContainer.style.marginRight="-3px";break;case 2:u.top+=3,u.bottom+=3,this._hoverContainer.style.paddingTop="3px",this._hoverContainer.style.marginTop="-3px";break;case 3:u.top-=3,u.bottom-=3,this._hoverContainer.style.paddingBottom="3px",this._hoverContainer.style.marginBottom="-3px";break}u.center.x=u.left+a/2,u.center.y=u.top+l/2}this.computeXCordinate(u),this.computeYCordinate(u),this._hoverPointer&&(this._hoverPointer.classList.remove("top"),this._hoverPointer.classList.remove("left"),this._hoverPointer.classList.remove("right"),this._hoverPointer.classList.remove("bottom"),this.setHoverPointerPosition(u)),this._hover.onContentsChanged()}computeXCordinate(e){const t=this._hover.containerDomNode.clientWidth+2;this._target.x!==void 0?this._x=this._target.x:this._hoverPosition===1?this._x=e.right:this._hoverPosition===0?this._x=e.left-t:(this._hoverPointer?this._x=e.center.x-this._hover.containerDomNode.clientWidth/2:this._x=e.left,this._x+t>=this._targetDocumentElement.clientWidth&&(this._hover.containerDomNode.classList.add("right-aligned"),this._x=Math.max(this._targetDocumentElement.clientWidth-t-2,this._targetDocumentElement.clientLeft))),this._xthis._targetWindow.innerHeight&&(this._y=e.bottom)}adjustHorizontalHoverPosition(e){if(this._target.x!==void 0)return;const t=this._hoverPointer?3:0;if(this._forcePosition){const i=t+2;this._hoverPosition===1?this._hover.containerDomNode.style.maxWidth=`${this._targetDocumentElement.clientWidth-e.right-i}px`:this._hoverPosition===0&&(this._hover.containerDomNode.style.maxWidth=`${e.left-i}px`);return}this._hoverPosition===1?this._targetDocumentElement.clientWidth-e.right=this._hover.containerDomNode.clientWidth+t?this._hoverPosition=0:this._hoverPosition=2):this._hoverPosition===0&&(e.left=this._hover.containerDomNode.clientWidth+t?this._hoverPosition=1:this._hoverPosition=2),e.left-this._hover.containerDomNode.clientWidth-t<=this._targetDocumentElement.clientLeft&&(this._hoverPosition=1))}adjustVerticalHoverPosition(e){if(this._target.y!==void 0||this._forcePosition)return;const t=this._hoverPointer?3:0;this._hoverPosition===3?e.top-this._hover.containerDomNode.clientHeight-t<0&&(this._hoverPosition=2):this._hoverPosition===2&&e.bottom+this._hover.containerDomNode.clientHeight+t>this._targetWindow.innerHeight&&(this._hoverPosition=3)}adjustHoverMaxHeight(e){let t=this._targetWindow.innerHeight/2;if(this._forcePosition){const i=(this._hoverPointer?3:0)+2;this._hoverPosition===3?t=Math.min(t,e.top-i):this._hoverPosition===2&&(t=Math.min(t,this._targetWindow.innerHeight-e.bottom-i))}if(this._hover.containerDomNode.style.maxHeight=`${t}px`,this._hover.contentsDomNode.clientHeighte.height?this._hoverPointer.style.top=`${e.center.y-(this._y-t)-3}px`:this._hoverPointer.style.top=`${Math.round(t/2)-3}px`;break}case 3:case 2:{this._hoverPointer.classList.add(this._hoverPosition===3?"bottom":"top");const t=this._hover.containerDomNode.clientWidth;let i=Math.round(t/2)-3;const r=this._x+i;(re.right)&&(i=e.center.x-this._x-3),this._hoverPointer.style.left=`${i}px`;break}}}focus(){this._hover.containerDomNode.focus()}dispose(){this._isDisposed||(this._onDispose.fire(),this._hoverContainer.remove(),this._messageListeners.dispose(),this._target.dispose(),super.dispose()),this._isDisposed=!0}};jQ=hWt([FM(1,Oi),FM(2,Pn),FM(3,Bl),FM(4,$t),FM(5,Wc)],jQ);class rFe extends Hu{get onMouseOut(){return this._onMouseOut.event}get isMouseIn(){return this._isMouseIn}constructor(e){super(),this._elements=e,this._isMouseIn=!0,this._onMouseOut=this._register(new be),this._elements.forEach(t=>this.onmouseover(t,()=>this._onTargetMouseOver(t))),this._elements.forEach(t=>this.onmouseleave(t,()=>this._onTargetMouseLeave(t)))}_onTargetMouseOver(e){this._isMouseIn=!0,this._clearEvaluateMouseStateTimeout(e)}_onTargetMouseLeave(e){this._isMouseIn=!1,this._evaluateMouseState(e)}_evaluateMouseState(e){this._clearEvaluateMouseStateTimeout(e),this._mouseTimeout=Qt(e).setTimeout(()=>this._fireIfMouseOutside(),0)}_clearEvaluateMouseStateTimeout(e){this._mouseTimeout&&(Qt(e).clearTimeout(this._mouseTimeout),this._mouseTimeout=void 0)}_fireIfMouseOutside(){this._isMouseIn||this._onMouseOut.fire()}}class mWt{constructor(e){this._element=e,this.targetElements=[this._element]}dispose(){}}function fWt(n){const e=n;return!!e&&typeof e.x=="number"&&typeof e.y=="number"}var b1;(function(n){n[n.AVOID=0]="AVOID",n[n.ALIGN=1]="ALIGN"})(b1||(b1={}));function Zx(n,e,t){const i=t.mode===b1.ALIGN?t.offset:t.offset+t.size,r=t.mode===b1.ALIGN?t.offset+t.size:t.offset;return t.position===0?e<=n-i?i:e<=r?r-e:Math.max(n-e,0):e<=r?r-e:e<=n-i?i:0}class Wx extends Fe{constructor(e,t){super(),this.container=null,this.useFixedPosition=!1,this.useShadowDOM=!1,this.delegate=null,this.toDisposeOnClean=Fe.None,this.toDisposeOnSetContainer=Fe.None,this.shadowRoot=null,this.shadowRootHostElement=null,this.view=Ct(".context-view"),$a(this.view),this.setContainer(e,t),this._register(jt(()=>this.setContainer(null,1)))}setContainer(e,t){var i;this.useFixedPosition=t!==1;const r=this.useShadowDOM;if(this.useShadowDOM=t===3,!(e===this.container&&r===this.useShadowDOM)&&(this.container&&(this.toDisposeOnSetContainer.dispose(),this.shadowRoot?(this.shadowRoot.removeChild(this.view),this.shadowRoot=null,(i=this.shadowRootHostElement)===null||i===void 0||i.remove(),this.shadowRootHostElement=null):this.container.removeChild(this.view),this.container=null),e)){if(this.container=e,this.useShadowDOM){this.shadowRootHostElement=Ct(".shadow-root-host"),this.container.appendChild(this.shadowRootHostElement),this.shadowRoot=this.shadowRootHostElement.attachShadow({mode:"open"});const s=document.createElement("style");s.textContent=gWt,this.shadowRoot.appendChild(s),this.shadowRoot.appendChild(this.view),this.shadowRoot.appendChild(Ct("slot"))}else this.container.appendChild(this.view);const o=new Je;Wx.BUBBLE_UP_EVENTS.forEach(s=>{o.add(Gr(this.container,s,a=>{this.onDOMEvent(a,!1)}))}),Wx.BUBBLE_DOWN_EVENTS.forEach(s=>{o.add(Gr(this.container,s,a=>{this.onDOMEvent(a,!0)},!0))}),this.toDisposeOnSetContainer=o}}show(e){var t,i,r;this.isVisible()&&this.hide(),ma(this.view),this.view.className="context-view",this.view.style.top="0px",this.view.style.left="0px",this.view.style.zIndex=`${2575+((t=e.layer)!==null&&t!==void 0?t:0)}`,this.view.style.position=this.useFixedPosition?"fixed":"absolute",lu(this.view),this.toDisposeOnClean=e.render(this.view)||Fe.None,this.delegate=e,this.doLayout(),(r=(i=this.delegate).focus)===null||r===void 0||r.call(i)}getViewElement(){return this.view}layout(){var e,t;if(this.isVisible()){if(this.delegate.canRelayout===!1&&!(Am&&NH.pointerEvents)){this.hide();return}(t=(e=this.delegate)===null||e===void 0?void 0:e.layout)===null||t===void 0||t.call(e),this.doLayout()}}doLayout(){if(!this.isVisible())return;const e=this.delegate.getAnchor();let t;if(e instanceof HTMLElement){const h=po(e),m=M0e(e);t={top:h.top*m,left:h.left*m,width:h.width*m,height:h.height*m}}else fWt(e)?t={top:e.y,left:e.x,width:e.width||1,height:e.height||2}:t={top:e.posy,left:e.posx,width:2,height:2};const i=Qa(this.view),r=Dg(this.view),o=this.delegate.anchorPosition||0,s=this.delegate.anchorAlignment||0,a=this.delegate.anchorAxisAlignment||0;let l,u;const c=_ft();if(a===0){const h={offset:t.top-c.pageYOffset,size:t.height,position:o===0?0:1},m={offset:t.left,size:t.width,position:s===0?0:1,mode:b1.ALIGN};l=Zx(c.innerHeight,r,h)+c.pageYOffset,va.intersects({start:l,end:l+r},{start:h.offset,end:h.offset+h.size})&&(m.mode=b1.AVOID),u=Zx(c.innerWidth,i,m)}else{const h={offset:t.left,size:t.width,position:s===0?0:1},m={offset:t.top,size:t.height,position:o===0?0:1,mode:b1.ALIGN};u=Zx(c.innerWidth,i,h),va.intersects({start:u,end:u+i},{start:h.offset,end:h.offset+h.size})&&(m.mode=b1.AVOID),l=Zx(c.innerHeight,r,m)+c.pageYOffset}this.view.classList.remove("top","bottom","left","right"),this.view.classList.add(o===0?"bottom":"top"),this.view.classList.add(s===0?"left":"right"),this.view.classList.toggle("fixed",this.useFixedPosition);const d=po(this.container);this.view.style.top=`${l-(this.useFixedPosition?po(this.view).top:d.top)}px`,this.view.style.left=`${u-(this.useFixedPosition?po(this.view).left:d.left)}px`,this.view.style.width="initial"}hide(e){const t=this.delegate;this.delegate=null,t!=null&&t.onHide&&t.onHide(e),this.toDisposeOnClean.dispose(),$a(this.view)}isVisible(){return!!this.delegate}onDOMEvent(e,t){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(e,Qt(e).document.activeElement):t&&!ps(e.target,this.container)&&this.hide())}dispose(){this.hide(),super.dispose()}}Wx.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"],Wx.BUBBLE_DOWN_EVENTS=["click"];const gWt=` :host { all: initial; /* 1st rule so subsequent properties are reset. */ } @@ -907,16 +907,16 @@ ${e}`)}function axt(n){return S0(n,"`")}function lxt(n){return S0(n,"*")}functio :host-context(.linux:lang(zh-Hant)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans TC", "Source Han Sans TW", "Source Han Sans", sans-serif; } :host-context(.linux:lang(ja)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans J", "Source Han Sans JP", "Source Han Sans", sans-serif; } :host-context(.linux:lang(ko)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans K", "Source Han Sans JR", "Source Han Sans", "UnDotum", "FBaekmuk Gulim", sans-serif; } -`;var pRt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},bRt=function(n,e){return function(t,i){e(t,i,n)}};let DA=class extends Ie{constructor(e){super(),this.layoutService=e,this.currentViewDisposable=this._register(new Ms),this.contextView=this._register(new Rx(this.layoutService.mainContainer,1)),this.layout(),this._register(e.onDidLayoutContainer(()=>this.layout()))}showContextView(e,t,i){let r;t?t===this.layoutService.getContainer(Qt(t))?r=1:i?r=3:r=2:r=1,this.contextView.setContainer(t??this.layoutService.activeContainer,r),this.contextView.show(e);const o=jt(()=>{this.currentViewDisposable===o&&this.hideContextView()});return this.currentViewDisposable.value=o,o}layout(){this.contextView.layout()}hideContextView(e){this.contextView.hide(e)}};DA=pRt([bRt(0,p1)],DA);class vRt extends DA{getContextViewElement(){return this.contextView.getViewElement()}}var yRt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Dk=function(n,e){return function(t,i){e(t,i,n)}};let QQ=class extends Ie{constructor(e,t,i,r,o){super(),this._instantiationService=e,this._keybindingService=i,this._layoutService=r,this._accessibilityService=o,t.onDidShowContextMenu(()=>this.hideHover()),this._contextViewHandler=this._register(new DA(this._layoutService))}showHover(e,t,i){var r,o,s,a;if(oIe(this._currentHoverOptions)===oIe(e)||this._currentHover&&(!((o=(r=this._currentHoverOptions)===null||r===void 0?void 0:r.persistence)===null||o===void 0)&&o.sticky))return;this._currentHoverOptions=e,this._lastHoverOptions=e;const l=e.trapFocus||this._accessibilityService.isScreenReaderOptimized(),u=js();i||(l&&u?this._lastFocusedElementBeforeOpen=u:this._lastFocusedElementBeforeOpen=void 0);const c=new Je,d=this._instantiationService.createInstance(jQ,e);if(!((s=e.persistence)===null||s===void 0)&&s.sticky&&(d.isLocked=!0),d.onDispose(()=>{var h,m;((h=this._currentHover)===null||h===void 0?void 0:h.domNode)&&T0e(this._currentHover.domNode)&&((m=this._lastFocusedElementBeforeOpen)===null||m===void 0||m.focus()),this._currentHoverOptions===e&&(this._currentHoverOptions=void 0),c.dispose()}),!e.container){const h=e.target instanceof HTMLElement?e.target:e.target.targetElements[0];e.container=this._layoutService.getContainer(Qt(h))}if(this._contextViewHandler.showContextView(new CRt(d,t),e.container),d.onRequestLayout(()=>this._contextViewHandler.layout()),!((a=e.persistence)===null||a===void 0)&&a.sticky)c.add(Ae(Qt(e.container).document,ot.MOUSE_DOWN,h=>{ps(h.target,d.domNode)||this.doHideHover()}));else{if("targetElements"in e.target)for(const m of e.target.targetElements)c.add(Ae(m,ot.CLICK,()=>this.hideHover()));else c.add(Ae(e.target,ot.CLICK,()=>this.hideHover()));const h=js();if(h){const m=Qt(h).document;c.add(Ae(h,ot.KEY_DOWN,f=>{var g;return this._keyDown(f,d,!!(!((g=e.persistence)===null||g===void 0)&&g.hideOnKeyDown))})),c.add(Ae(m,ot.KEY_DOWN,f=>{var g;return this._keyDown(f,d,!!(!((g=e.persistence)===null||g===void 0)&&g.hideOnKeyDown))})),c.add(Ae(h,ot.KEY_UP,f=>this._keyUp(f,d))),c.add(Ae(m,ot.KEY_UP,f=>this._keyUp(f,d)))}}if("IntersectionObserver"in Wi){const h=new IntersectionObserver(f=>this._intersectionChange(f,d),{threshold:0}),m="targetElements"in e.target?e.target.targetElements[0]:e.target;h.observe(m),c.add(jt(()=>h.disconnect()))}return this._currentHover=d,d}hideHover(){var e;!((e=this._currentHover)===null||e===void 0)&&e.isLocked||!this._currentHoverOptions||this.doHideHover()}doHideHover(){this._currentHover=void 0,this._currentHoverOptions=void 0,this._contextViewHandler.hideContextView()}_intersectionChange(e,t){e[e.length-1].isIntersecting||t.dispose()}_keyDown(e,t,i){var r,o;if(e.key==="Alt"){t.isLocked=!0;return}const s=new sr(e);this._keybindingService.resolveKeyboardEvent(s).getSingleModifierDispatchChords().some(l=>!!l)||this._keybindingService.softDispatch(s,s.target).kind!==0||i&&(!(!((r=this._currentHoverOptions)===null||r===void 0)&&r.trapFocus)||e.key!=="Tab")&&(this.hideHover(),(o=this._lastFocusedElementBeforeOpen)===null||o===void 0||o.focus())}_keyUp(e,t){var i;e.key==="Alt"&&(t.isLocked=!1,t.isMouseIn||(this.hideHover(),(i=this._lastFocusedElementBeforeOpen)===null||i===void 0||i.focus()))}};QQ=yRt([Dk(0,$t),Dk(1,fu),Dk(2,Bi),Dk(3,p1),Dk(4,Vc)],QQ);function oIe(n){var e;if(n!==void 0)return(e=n==null?void 0:n.id)!==null&&e!==void 0?e:n}class CRt{get anchorPosition(){return this._hover.anchor}constructor(e,t=!1){this._hover=e,this._focus=t,this.layer=1}render(e){return this._hover.render(e),this._focus&&this._hover.focus(),this._hover}getAnchor(){return{x:this._hover.x,y:this._hover.y}}layout(){this._hover.layout()}}qn(YU,QQ,1),Pc((n,e)=>{const t=n.getColor(ove);t&&(e.addRule(`.monaco-workbench .workbench-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${t.transparent(.5)}; }`),e.addRule(`.monaco-workbench .workbench-hover hr { border-top: 1px solid ${t.transparent(.5)}; }`))});function MA(n){return Object.isFrozen(n)?n:Fpt(n)}class ia{constructor(e={},t=[],i=[],r){this._contents=e,this._keys=t,this._overrides=i,this.raw=r,this.overrideConfigurations=new Map}get rawConfiguration(){var e;if(!this._rawConfiguration)if(!((e=this.raw)===null||e===void 0)&&e.length){const t=this.raw.map(i=>{if(i instanceof ia)return i;const r=new wRt("");return r.parseRaw(i),r.configurationModel});this._rawConfiguration=t.reduce((i,r)=>r===i?r:i.merge(r),t[0])}else this._rawConfiguration=this;return this._rawConfiguration}get contents(){return this._contents}get overrides(){return this._overrides}get keys(){return this._keys}isEmpty(){return this._keys.length===0&&Object.keys(this._contents).length===0&&this._overrides.length===0}getValue(e){return e?_1e(this.contents,e):this.contents}inspect(e,t){const i=this;return{get value(){return MA(i.rawConfiguration.getValue(e))},get override(){return t?MA(i.rawConfiguration.getOverrideValue(e,t)):void 0},get merged(){return MA(t?i.rawConfiguration.override(t).getValue(e):i.rawConfiguration.getValue(e))},get overrides(){const r=[];for(const{contents:o,identifiers:s,keys:a}of i.rawConfiguration.overrides){const l=new ia(o,a).getValue(e);l!==void 0&&r.push({identifiers:s,value:l})}return r.length?MA(r):void 0}}}getOverrideValue(e,t){const i=this.getContentsForOverrideIdentifer(t);return i?e?_1e(i,e):i:void 0}override(e){let t=this.overrideConfigurations.get(e);return t||(t=this.createOverrideConfigurationModel(e),this.overrideConfigurations.set(e,t)),t}merge(...e){var t,i;const r=Ag(this.contents),o=Ag(this.overrides),s=[...this.keys],a=!((t=this.raw)===null||t===void 0)&&t.length?[...this.raw]:[this];for(const l of e)if(a.push(...!((i=l.raw)===null||i===void 0)&&i.length?l.raw:[l]),!l.isEmpty()){this.mergeContents(r,l.contents);for(const u of l.overrides){const[c]=o.filter(d=>kr(d.identifiers,u.identifiers));c?(this.mergeContents(c.contents,u.contents),c.keys.push(...u.keys),c.keys=Wg(c.keys)):o.push(Ag(u))}for(const u of l.keys)s.indexOf(u)===-1&&s.push(u)}return new ia(r,s,o,a.every(l=>l instanceof ia)?void 0:a)}createOverrideConfigurationModel(e){const t=this.getContentsForOverrideIdentifer(e);if(!t||typeof t!="object"||!Object.keys(t).length)return this;const i={};for(const r of Wg([...Object.keys(this.contents),...Object.keys(t)])){let o=this.contents[r];const s=t[r];s&&(typeof o=="object"&&typeof s=="object"?(o=Ag(o),this.mergeContents(o,s)):o=s),i[r]=o}return new ia(i,this.keys,this.overrides)}mergeContents(e,t){for(const i of Object.keys(t)){if(i in e&&Ua(e[i])&&Ua(t[i])){this.mergeContents(e[i],t[i]);continue}e[i]=Ag(t[i])}}getContentsForOverrideIdentifer(e){let t=null,i=null;const r=o=>{o&&(i?this.mergeContents(i,o):i=Ag(o))};for(const o of this.overrides)o.identifiers.length===1&&o.identifiers[0]===e?t=o.contents:o.identifiers.includes(e)&&r(o.contents);return r(t),i}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}addValue(e,t){this.updateValue(e,t,!0)}setValue(e,t){this.updateValue(e,t,!1)}removeValue(e){const t=this.keys.indexOf(e);t!==-1&&(this.keys.splice(t,1),jgt(this.contents,e),qb.test(e)&&this.overrides.splice(this.overrides.findIndex(i=>kr(i.identifiers,z9(e))),1))}updateValue(e,t,i){x1e(this.contents,e,t,r=>{}),i=i||this.keys.indexOf(e)===-1,i&&this.keys.push(e),qb.test(e)&&this.overrides.push({identifiers:z9(e),keys:Object.keys(this.contents[e]),contents:qY(this.contents[e],r=>{})})}}class wRt{constructor(e){this._name=e,this._raw=null,this._configurationModel=null,this._restrictedConfigurations=[]}get configurationModel(){return this._configurationModel||new ia}parseRaw(e,t){this._raw=e;const{contents:i,keys:r,overrides:o,restricted:s,hasExcludedProperties:a}=this.doParseRaw(e,t);this._configurationModel=new ia(i,r,o,a?[e]:void 0),this._restrictedConfigurations=s||[]}doParseRaw(e,t){const i=Do.as(Eh.Configuration).getConfigurationProperties(),r=this.filter(e,i,!0,t);e=r.raw;const o=qY(e,l=>{}),s=Object.keys(e),a=this.toOverrides(e,l=>{});return{contents:o,keys:s,overrides:a,restricted:r.restricted,hasExcludedProperties:r.hasExcludedProperties}}filter(e,t,i,r){var o,s,a;let l=!1;if(!(r!=null&&r.scopes)&&!(r!=null&&r.skipRestricted)&&!(!((o=r==null?void 0:r.exclude)===null||o===void 0)&&o.length))return{raw:e,restricted:[],hasExcludedProperties:l};const u={},c=[];for(const d in e)if(qb.test(d)&&i){const h=this.filter(e[d],t,!1,r);u[d]=h.raw,l=l||h.hasExcludedProperties,c.push(...h.restricted)}else{const h=t[d],m=h?typeof h.scope<"u"?h.scope:3:void 0;h!=null&&h.restricted&&c.push(d),!(!((s=r.exclude)===null||s===void 0)&&s.includes(d))&&(!((a=r.include)===null||a===void 0)&&a.includes(d)||(m===void 0||r.scopes===void 0||r.scopes.includes(m))&&!(r.skipRestricted&&(h!=null&&h.restricted)))?u[d]=e[d]:l=!0}return{raw:u,restricted:c,hasExcludedProperties:l}}toOverrides(e,t){const i=[];for(const r of Object.keys(e))if(qb.test(r)){const o={};for(const s in e[r])o[s]=e[r][s];i.push({identifiers:z9(r),keys:Object.keys(o),contents:qY(o,t)})}return i}}class SRt{constructor(e,t,i,r,o,s,a,l,u,c,d,h,m){this.key=e,this.overrides=t,this._value=i,this.overrideIdentifiers=r,this.defaultConfiguration=o,this.policyConfiguration=s,this.applicationConfiguration=a,this.userConfiguration=l,this.localUserConfiguration=u,this.remoteUserConfiguration=c,this.workspaceConfiguration=d,this.folderConfigurationModel=h,this.memoryConfigurationModel=m}toInspectValue(e){return(e==null?void 0:e.value)!==void 0||(e==null?void 0:e.override)!==void 0||(e==null?void 0:e.overrides)!==void 0?e:void 0}get userInspectValue(){return this._userInspectValue||(this._userInspectValue=this.userConfiguration.inspect(this.key,this.overrides.overrideIdentifier)),this._userInspectValue}get user(){return this.toInspectValue(this.userInspectValue)}}class kA{constructor(e,t,i,r,o=new ia,s=new ia,a=new to,l=new ia,u=new to){this._defaultConfiguration=e,this._policyConfiguration=t,this._applicationConfiguration=i,this._localUserConfiguration=r,this._remoteUserConfiguration=o,this._workspaceConfiguration=s,this._folderConfigurations=a,this._memoryConfiguration=l,this._memoryConfigurationByResource=u,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new to,this._userConfiguration=null}getValue(e,t,i){return this.getConsolidatedConfigurationModel(e,t,i).getValue(e)}updateValue(e,t,i={}){let r;i.resource?(r=this._memoryConfigurationByResource.get(i.resource),r||(r=new ia,this._memoryConfigurationByResource.set(i.resource,r))):r=this._memoryConfiguration,t===void 0?r.removeValue(e):r.setValue(e,t),i.resource||(this._workspaceConsolidatedConfiguration=null)}inspect(e,t,i){const r=this.getConsolidatedConfigurationModel(e,t,i),o=this.getFolderConfigurationModelForResource(t.resource,i),s=t.resource?this._memoryConfigurationByResource.get(t.resource)||this._memoryConfiguration:this._memoryConfiguration,a=new Set;for(const l of r.overrides)for(const u of l.identifiers)r.getOverrideValue(e,u)!==void 0&&a.add(u);return new SRt(e,t,r.getValue(e),a.size?[...a]:void 0,this._defaultConfiguration,this._policyConfiguration.isEmpty()?void 0:this._policyConfiguration,this.applicationConfiguration.isEmpty()?void 0:this.applicationConfiguration,this.userConfiguration,this.localUserConfiguration,this.remoteUserConfiguration,i?this._workspaceConfiguration:void 0,o||void 0,s)}get applicationConfiguration(){return this._applicationConfiguration}get userConfiguration(){return this._userConfiguration||(this._userConfiguration=this._remoteUserConfiguration.isEmpty()?this._localUserConfiguration:this._localUserConfiguration.merge(this._remoteUserConfiguration)),this._userConfiguration}get localUserConfiguration(){return this._localUserConfiguration}get remoteUserConfiguration(){return this._remoteUserConfiguration}getConsolidatedConfigurationModel(e,t,i){let r=this.getConsolidatedConfigurationModelForResource(t,i);return t.overrideIdentifier&&(r=r.override(t.overrideIdentifier)),!this._policyConfiguration.isEmpty()&&this._policyConfiguration.getValue(e)!==void 0&&(r=r.merge(this._policyConfiguration)),r}getConsolidatedConfigurationModelForResource({resource:e},t){let i=this.getWorkspaceConsolidatedConfiguration();if(t&&e){const r=t.getFolder(e);r&&(i=this.getFolderConsolidatedConfiguration(r.uri)||i);const o=this._memoryConfigurationByResource.get(e);o&&(i=i.merge(o))}return i}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration)),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(e){let t=this._foldersConsolidatedConfigurations.get(e);if(!t){const i=this.getWorkspaceConsolidatedConfiguration(),r=this._folderConfigurations.get(e);r?(t=i.merge(r),this._foldersConsolidatedConfigurations.set(e,t)):t=i}return t}getFolderConfigurationModelForResource(e,t){if(t&&e){const i=t.getFolder(e);if(i)return this._folderConfigurations.get(i.uri)}}toData(){return{defaults:{contents:this._defaultConfiguration.contents,overrides:this._defaultConfiguration.overrides,keys:this._defaultConfiguration.keys},policy:{contents:this._policyConfiguration.contents,overrides:this._policyConfiguration.overrides,keys:this._policyConfiguration.keys},application:{contents:this.applicationConfiguration.contents,overrides:this.applicationConfiguration.overrides,keys:this.applicationConfiguration.keys},user:{contents:this.userConfiguration.contents,overrides:this.userConfiguration.overrides,keys:this.userConfiguration.keys},workspace:{contents:this._workspaceConfiguration.contents,overrides:this._workspaceConfiguration.overrides,keys:this._workspaceConfiguration.keys},folders:[...this._folderConfigurations.keys()].reduce((e,t)=>{const{contents:i,overrides:r,keys:o}=this._folderConfigurations.get(t);return e.push([t,{contents:i,overrides:r,keys:o}]),e},[])}}static parse(e){const t=this.parseConfigurationModel(e.defaults),i=this.parseConfigurationModel(e.policy),r=this.parseConfigurationModel(e.application),o=this.parseConfigurationModel(e.user),s=this.parseConfigurationModel(e.workspace),a=e.folders.reduce((l,u)=>(l.set(en.revive(u[0]),this.parseConfigurationModel(u[1])),l),new to);return new kA(t,i,r,o,new ia,s,a,new ia,new to)}static parseConfigurationModel(e){return new ia(e.contents,e.keys,e.overrides)}}class xRt{constructor(e,t,i,r){this.change=e,this.previous=t,this.currentConfiguraiton=i,this.currentWorkspace=r,this._marker=` -`,this._markerCode1=this._marker.charCodeAt(0),this._markerCode2=46,this.affectedKeys=new Set,this._previousConfiguration=void 0;for(const o of e.keys)this.affectedKeys.add(o);for(const[,o]of e.overrides)for(const s of o)this.affectedKeys.add(s);this._affectsConfigStr=this._marker;for(const o of this.affectedKeys)this._affectsConfigStr+=o+this._marker}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=kA.parse(this.previous.data)),this._previousConfiguration}affectsConfiguration(e,t){var i;const r=this._marker+e,o=this._affectsConfigStr.indexOf(r);if(o<0)return!1;const s=o+r.length;if(s>=this._affectsConfigStr.length)return!1;const a=this._affectsConfigStr.charCodeAt(s);if(a!==this._markerCode1&&a!==this._markerCode2)return!1;if(t){const l=this.previousConfiguration?this.previousConfiguration.getValue(e,t,(i=this.previous)===null||i===void 0?void 0:i.workspace):void 0,u=this.currentConfiguraiton.getValue(e,t,this.currentWorkspace);return!Ou(l,u)}return!0}}const NA={kind:0},LRt={kind:1};function _Rt(n,e,t){return{kind:2,commandId:n,commandArgs:e,isBubble:t}}class Mk{constructor(e,t,i){var r;this._log=i,this._defaultKeybindings=e,this._defaultBoundCommands=new Map;for(const o of e){const s=o.command;s&&s.charAt(0)!=="-"&&this._defaultBoundCommands.set(s,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=Mk.handleRemovals([].concat(e).concat(t));for(let o=0,s=this._keybindings.length;o"u"){this._map.set(e,[t]),this._addToLookupMap(t);return}for(let r=i.length-1;r>=0;r--){const o=i[r];if(o.command===t.command)continue;let s=!0;for(let a=1;a"u"?(t=[e],this._lookupMap.set(e.command,t)):t.push(e)}_removeFromLookupMap(e){if(!e.command)return;const t=this._lookupMap.get(e.command);if(!(typeof t>"u")){for(let i=0,r=t.length;i"u"||i.length===0)return null;if(i.length===1)return i[0];for(let r=i.length-1;r>=0;r--){const o=i[r];if(t.contextMatchesRules(o.when))return o}return i[i.length-1]}resolve(e,t,i){const r=[...t,i];this._log(`| Resolving ${r}`);const o=this._map.get(r[0]);if(o===void 0)return this._log("\\ No keybinding entries."),NA;let s=null;if(r.length<2)s=o;else{s=[];for(let l=0,u=o.length;lc.chords.length)continue;let d=!0;for(let h=1;h=0;i--){const r=t[i];if(Mk._contextMatchesRules(e,r.when))return r}return null}static _contextMatchesRules(e,t){return t?t.evaluate(e):!0}}function sIe(n){return n?`${n.serialize()}`:"no when condition"}function aIe(n){return n.extensionId?n.isBuiltinExtension?`built-in extension ${n.extensionId}`:`user extension ${n.extensionId}`:n.isDefault?"built-in":"user"}const FRt=/^(cursor|delete|undo|redo|tab|editor\.action\.clipboard)/;class IRt extends Ie{get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:lt.None}get inChordMode(){return this._currentChords.length>0}constructor(e,t,i,r,o){super(),this._contextKeyService=e,this._commandService=t,this._telemetryService=i,this._notificationService=r,this._logService=o,this._onDidUpdateKeybindings=this._register(new be),this._currentChords=[],this._currentChordChecker=new zH,this._currentChordStatusMessage=null,this._ignoreSingleModifiers=Vx.EMPTY,this._currentSingleModifier=null,this._currentSingleModifierClearTimeout=new Id,this._currentlyDispatchingCommandId=null,this._logging=!1}dispose(){super.dispose()}_log(e){this._logging&&this._logService.info(`[KeybindingService]: ${e}`)}getKeybindings(){return this._getResolver().getKeybindings()}lookupKeybinding(e,t){const i=this._getResolver().lookupPrimaryKeybinding(e,t||this._contextKeyService);if(i)return i.resolvedKeybinding}dispatchEvent(e,t){return this._dispatch(e,t)}softDispatch(e,t){this._log("/ Soft dispatching keyboard event");const i=this.resolveKeyboardEvent(e);if(i.hasMultipleChords())return NA;const[r]=i.getDispatchChords();if(r===null)return this._log("\\ Keyboard event cannot be dispatched"),NA;const o=this._contextKeyService.getContext(t),s=this._currentChords.map(({keypress:a})=>a);return this._getResolver().resolve(o,s,r)}_scheduleLeaveChordMode(){const e=Date.now();this._currentChordChecker.cancelAndSet(()=>{if(!this._documentHasFocus()){this._leaveChordMode();return}Date.now()-e>5e3&&this._leaveChordMode()},500)}_expectAnotherChord(e,t){switch(this._currentChords.push({keypress:e,label:t}),this._currentChords.length){case 0:throw ZH("impossible");case 1:this._currentChordStatusMessage=this._notificationService.status(L("first.chord","({0}) was pressed. Waiting for second key of chord...",t));break;default:{const i=this._currentChords.map(({label:r})=>r).join(", ");this._currentChordStatusMessage=this._notificationService.status(L("next.chord","({0}) was pressed. Waiting for next key of chord...",i))}}this._scheduleLeaveChordMode(),HI.enabled&&HI.disable()}_leaveChordMode(){this._currentChordStatusMessage&&(this._currentChordStatusMessage.dispose(),this._currentChordStatusMessage=null),this._currentChordChecker.cancel(),this._currentChords=[],HI.enable()}_dispatch(e,t){return this._doDispatch(this.resolveKeyboardEvent(e),t,!1)}_singleModifierDispatch(e,t){const i=this.resolveKeyboardEvent(e),[r]=i.getSingleModifierDispatchChords();if(r)return this._ignoreSingleModifiers.has(r)?(this._log(`+ Ignoring single modifier ${r} due to it being pressed together with other keys.`),this._ignoreSingleModifiers=Vx.EMPTY,this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1):(this._ignoreSingleModifiers=Vx.EMPTY,this._currentSingleModifier===null?(this._log(`+ Storing single modifier for possible chord ${r}.`),this._currentSingleModifier=r,this._currentSingleModifierClearTimeout.cancelAndSet(()=>{this._log("+ Clearing single modifier due to 300ms elapsed."),this._currentSingleModifier=null},300),!1):r===this._currentSingleModifier?(this._log(`/ Dispatching single modifier chord ${r} ${r}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,this._doDispatch(i,t,!0)):(this._log(`+ Clearing single modifier due to modifier mismatch: ${this._currentSingleModifier} ${r}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1));const[o]=i.getChords();return this._ignoreSingleModifiers=new Vx(o),this._currentSingleModifier!==null&&this._log("+ Clearing single modifier due to other key up."),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1}_doDispatch(e,t,i=!1){var r;let o=!1;if(e.hasMultipleChords())return!1;let s=null,a=null;if(i){const[d]=e.getSingleModifierDispatchChords();s=d,a=d?[d]:[]}else[s]=e.getDispatchChords(),a=this._currentChords.map(({keypress:d})=>d);if(s===null)return this._log("\\ Keyboard event cannot be dispatched in keydown phase."),o;const l=this._contextKeyService.getContext(t),u=e.getLabel(),c=this._getResolver().resolve(l,a,s);switch(c.kind){case 0:{if(this._logService.trace("KeybindingService#dispatch",u,"[ No matching keybinding ]"),this.inChordMode){const d=this._currentChords.map(({label:h})=>h).join(", ");this._log(`+ Leaving multi-chord mode: Nothing bound to "${d}, ${u}".`),this._notificationService.status(L("missing.chord","The key combination ({0}, {1}) is not a command.",d,u),{hideAfter:10*1e3}),this._leaveChordMode(),o=!0}return o}case 1:return this._logService.trace("KeybindingService#dispatch",u,"[ Several keybindings match - more chords needed ]"),o=!0,this._expectAnotherChord(s,u),this._log(this._currentChords.length===1?"+ Entering multi-chord mode...":"+ Continuing multi-chord mode..."),o;case 2:{if(this._logService.trace("KeybindingService#dispatch",u,`[ Will dispatch command ${c.commandId} ]`),c.commandId===null||c.commandId===""){if(this.inChordMode){const d=this._currentChords.map(({label:h})=>h).join(", ");this._log(`+ Leaving chord mode: Nothing bound to "${d}, ${u}".`),this._notificationService.status(L("missing.chord","The key combination ({0}, {1}) is not a command.",d,u),{hideAfter:10*1e3}),this._leaveChordMode(),o=!0}}else{this.inChordMode&&this._leaveChordMode(),c.isBubble||(o=!0),this._log(`+ Invoking command ${c.commandId}.`),this._currentlyDispatchingCommandId=c.commandId;try{typeof c.commandArgs>"u"?this._commandService.executeCommand(c.commandId).then(void 0,d=>this._notificationService.warn(d)):this._commandService.executeCommand(c.commandId,c.commandArgs).then(void 0,d=>this._notificationService.warn(d))}finally{this._currentlyDispatchingCommandId=null}FRt.test(c.commandId)||this._telemetryService.publicLog2("workbenchActionExecuted",{id:c.commandId,from:"keybinding",detail:(r=e.getUserSettingsLabel())!==null&&r!==void 0?r:void 0})}return o}}}mightProducePrintableCharacter(e){return e.ctrlKey||e.metaKey?!1:e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30}}class Vx{constructor(e){this._ctrlKey=e?e.ctrlKey:!1,this._shiftKey=e?e.shiftKey:!1,this._altKey=e?e.altKey:!1,this._metaKey=e?e.metaKey:!1}has(e){switch(e){case"ctrl":return this._ctrlKey;case"shift":return this._shiftKey;case"alt":return this._altKey;case"meta":return this._metaKey}}}Vx.EMPTY=new Vx(null);class lIe{constructor(e,t,i,r,o,s,a){this._resolvedKeybindingItemBrand=void 0,this.resolvedKeybinding=e,this.chords=e?$Q(e.getDispatchChords()):[],e&&this.chords.length===0&&(this.chords=$Q(e.getSingleModifierDispatchChords())),this.bubble=t?t.charCodeAt(0)===94:!1,this.command=this.bubble?t.substr(1):t,this.commandArgs=i,this.when=r,this.isDefault=o,this.extensionId=s,this.isBuiltinExtension=a}}function $Q(n){const e=[];for(let t=0,i=n.length;tthis._getLabel(e))}getAriaLabel(){return g_t.toLabel(this._os,this._chords,e=>this._getAriaLabel(e))}getElectronAccelerator(){return this._chords.length>1||this._chords[0].isDuplicateModifierCase()?null:p_t.toLabel(this._os,this._chords,e=>this._getElectronAccelerator(e))}getUserSettingsLabel(){return b_t.toLabel(this._os,this._chords,e=>this._getUserSettingsLabel(e))}hasMultipleChords(){return this._chords.length>1}getChords(){return this._chords.map(e=>this._getChord(e))}_getChord(e){return new Wht(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,this._getLabel(e),this._getAriaLabel(e))}getDispatchChords(){return this._chords.map(e=>this._getChordDispatch(e))}getSingleModifierDispatchChords(){return this._chords.map(e=>this._getSingleModifierChordDispatch(e))}}class kk extends DRt{constructor(e,t){super(t,e)}_keyCodeToUILabel(e){if(this._os===2)switch(e){case 15:return"←";case 16:return"↑";case 17:return"→";case 18:return"↓"}return xg.toString(e)}_getLabel(e){return e.isDuplicateModifierCase()?"":this._keyCodeToUILabel(e.keyCode)}_getAriaLabel(e){return e.isDuplicateModifierCase()?"":xg.toString(e.keyCode)}_getElectronAccelerator(e){return xg.toElectronAccelerator(e.keyCode)}_getUserSettingsLabel(e){if(e.isDuplicateModifierCase())return"";const t=xg.toUserSettingsUS(e.keyCode);return t&&t.toLowerCase()}_getChordDispatch(e){return kk.getDispatchStr(e)}static getDispatchStr(e){if(e.isModifierKey())return null;let t="";return e.ctrlKey&&(t+="ctrl+"),e.shiftKey&&(t+="shift+"),e.altKey&&(t+="alt+"),e.metaKey&&(t+="meta+"),t+=xg.toString(e.keyCode),t}_getSingleModifierChordDispatch(e){return e.keyCode===5&&!e.shiftKey&&!e.altKey&&!e.metaKey?"ctrl":e.keyCode===4&&!e.ctrlKey&&!e.altKey&&!e.metaKey?"shift":e.keyCode===6&&!e.ctrlKey&&!e.shiftKey&&!e.metaKey?"alt":e.keyCode===57&&!e.ctrlKey&&!e.shiftKey&&!e.altKey?"meta":null}static _scanCodeToKeyCode(e){const t=EH[e];if(t!==-1)return t;switch(e){case 10:return 31;case 11:return 32;case 12:return 33;case 13:return 34;case 14:return 35;case 15:return 36;case 16:return 37;case 17:return 38;case 18:return 39;case 19:return 40;case 20:return 41;case 21:return 42;case 22:return 43;case 23:return 44;case 24:return 45;case 25:return 46;case 26:return 47;case 27:return 48;case 28:return 49;case 29:return 50;case 30:return 51;case 31:return 52;case 32:return 53;case 33:return 54;case 34:return 55;case 35:return 56;case 36:return 22;case 37:return 23;case 38:return 24;case 39:return 25;case 40:return 26;case 41:return 27;case 42:return 28;case 43:return 29;case 44:return 30;case 45:return 21;case 51:return 88;case 52:return 86;case 53:return 92;case 54:return 94;case 55:return 93;case 56:return 0;case 57:return 85;case 58:return 95;case 59:return 91;case 60:return 87;case 61:return 89;case 62:return 90;case 106:return 97}return 0}static _toKeyCodeChord(e){if(!e)return null;if(e instanceof _g)return e;const t=this._scanCodeToKeyCode(e.scanCode);return t===0?null:new _g(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,t)}static resolveKeybinding(e,t){const i=$Q(e.chords.map(r=>this._toKeyCodeChord(r)));return i.length>0?[new kk(i,t)]:[]}}let Ax=[],qQ=[],uIe=[];function TA(n,e=!1){MRt(n,!1,e)}function MRt(n,e,t){const i=kRt(n,e);Ax.push(i),i.userConfigured?uIe.push(i):qQ.push(i),t&&!i.userConfigured&&Ax.forEach(r=>{r.mime===i.mime||r.userConfigured||(i.extension&&(r.extension,i.extension),i.filename&&(r.filename,i.filename),i.filepattern&&(r.filepattern,i.filepattern),i.firstline&&(r.firstline,i.firstline))})}function kRt(n,e){return{id:n.id,mime:n.mime,filename:n.filename,extension:n.extension,filepattern:n.filepattern,firstline:n.firstline,userConfigured:e,filenameLowercase:n.filename?n.filename.toLowerCase():void 0,extensionLowercase:n.extension?n.extension.toLowerCase():void 0,filepatternLowercase:n.filepattern?IFe(n.filepattern.toLowerCase()):void 0,filepatternOnPath:n.filepattern?n.filepattern.indexOf(Io.sep)>=0:!1}}function NRt(){Ax=Ax.filter(n=>n.userConfigured),qQ=[]}function TRt(n,e){return ERt(n,e).map(t=>t.id)}function ERt(n,e){let t;if(n)switch(n.scheme){case wn.file:t=n.fsPath;break;case wn.data:{t=p0.parseMetaData(n).get(p0.META_DATA_LABEL);break}case wn.vscodeNotebookCell:t=void 0;break;default:t=n.path}if(!t)return[{id:"unknown",mime:Pr.unknown}];t=t.toLowerCase();const i=Kb(t),r=cIe(t,i,uIe);if(r)return[r,{id:Pu,mime:Pr.text}];const o=cIe(t,i,qQ);if(o)return[o,{id:Pu,mime:Pr.text}];if(e){const s=ZRt(e);if(s)return[s,{id:Pu,mime:Pr.text}]}return[{id:"unknown",mime:Pr.unknown}]}function cIe(n,e,t){var i;let r,o,s;for(let a=t.length-1;a>=0;a--){const l=t[a];if(e===l.filenameLowercase){r=l;break}if(l.filepattern&&(!o||l.filepattern.length>o.filepattern.length)){const u=l.filepatternOnPath?n:e;!((i=l.filepatternLowercase)===null||i===void 0)&&i.call(l,u)&&(o=l)}l.extension&&(!s||l.extension.length>s.extension.length)&&e.endsWith(l.extensionLowercase)&&(s=l)}if(r)return r;if(o)return o;if(s)return s}function ZRt(n){if(lY(n)&&(n=n.substr(1)),n.length>0)for(let e=Ax.length-1;e>=0;e--){const t=Ax[e];if(!t.firstline)continue;const i=n.match(t.firstline);if(i&&i.length>0)return t}}const EA=Object.prototype.hasOwnProperty,dIe="vs.editor.nullLanguage";class WRt{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(dIe,0),this._register(Pu,1),this._nextLanguageId=2}_register(e,t){this._languageIdToLanguage[t]=e,this._languageToLanguageId.set(e,t)}register(e){if(this._languageToLanguageId.has(e))return;const t=this._nextLanguageId++;this._register(e,t)}encodeLanguageId(e){return this._languageToLanguageId.get(e)||0}decodeLanguageId(e){return this._languageIdToLanguage[e]||dIe}}class Nk extends Ie{constructor(e=!0,t=!1){super(),this._onDidChange=this._register(new be),this.onDidChange=this._onDidChange.event,Nk.instanceCount++,this._warnOnOverwrite=t,this.languageIdCodec=new WRt,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},e&&(this._initializeFromRegistry(),this._register(ZS.onDidChangeLanguages(i=>{this._initializeFromRegistry()})))}dispose(){Nk.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},NRt();const e=[].concat(ZS.getLanguages()).concat(this._dynamicLanguages);this._registerLanguages(e)}_registerLanguages(e){for(const t of e)this._registerLanguage(t);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach(t=>{const i=this._languages[t];i.name&&(this._nameMap[i.name]=i.identifier),i.aliases.forEach(r=>{this._lowercaseNameMap[r.toLowerCase()]=i.identifier}),i.mimetypes.forEach(r=>{this._mimeTypesMap[r]=i.identifier})}),Do.as(Eh.Configuration).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(e){const t=e.id;let i;EA.call(this._languages,t)?i=this._languages[t]:(this.languageIdCodec.register(t),i={identifier:t,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[t]=i),this._mergeLanguage(i,e)}_mergeLanguage(e,t){const i=t.id;let r=null;if(Array.isArray(t.mimetypes)&&t.mimetypes.length>0&&(e.mimetypes.push(...t.mimetypes),r=t.mimetypes[0]),r||(r=`text/x-${i}`,e.mimetypes.push(r)),Array.isArray(t.extensions)){t.configuration?e.extensions=t.extensions.concat(e.extensions):e.extensions=e.extensions.concat(t.extensions);for(const a of t.extensions)TA({id:i,mime:r,extension:a},this._warnOnOverwrite)}if(Array.isArray(t.filenames))for(const a of t.filenames)TA({id:i,mime:r,filename:a},this._warnOnOverwrite),e.filenames.push(a);if(Array.isArray(t.filenamePatterns))for(const a of t.filenamePatterns)TA({id:i,mime:r,filepattern:a},this._warnOnOverwrite);if(typeof t.firstLine=="string"&&t.firstLine.length>0){let a=t.firstLine;a.charAt(0)!=="^"&&(a="^"+a);try{const l=new RegExp(a);kmt(l)||TA({id:i,mime:r,firstline:l},this._warnOnOverwrite)}catch{}}e.aliases.push(i);let o=null;if(typeof t.aliases<"u"&&Array.isArray(t.aliases)&&(t.aliases.length===0?o=[null]:o=t.aliases),o!==null)for(const a of o)!a||a.length===0||e.aliases.push(a);const s=o!==null&&o.length>0;if(!(s&&o[0]===null)){const a=(s?o[0]:null)||i;(s||!e.name)&&(e.name=a)}t.configuration&&e.configurationFiles.push(t.configuration),t.icon&&e.icons.push(t.icon)}isRegisteredLanguageId(e){return e?EA.call(this._languages,e):!1}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(e){const t=e.toLowerCase();return EA.call(this._lowercaseNameMap,t)?this._lowercaseNameMap[t]:null}getLanguageIdByMimeType(e){return e&&EA.call(this._mimeTypesMap,e)?this._mimeTypesMap[e]:null}guessLanguageIdByFilepathOrFirstLine(e,t){return!e&&!t?[]:TRt(e,t)}}Nk.instanceCount=0;class Tk extends Ie{constructor(e=!1){super(),this._onDidRequestBasicLanguageFeatures=this._register(new be),this.onDidRequestBasicLanguageFeatures=this._onDidRequestBasicLanguageFeatures.event,this._onDidRequestRichLanguageFeatures=this._register(new be),this.onDidRequestRichLanguageFeatures=this._onDidRequestRichLanguageFeatures.event,this._onDidChange=this._register(new be({leakWarningThreshold:200})),this.onDidChange=this._onDidChange.event,this._requestedBasicLanguages=new Set,this._requestedRichLanguages=new Set,Tk.instanceCount++,this._registry=this._register(new Nk(!0,e)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange(()=>this._onDidChange.fire()))}dispose(){Tk.instanceCount--,super.dispose()}isRegisteredLanguageId(e){return this._registry.isRegisteredLanguageId(e)}getLanguageIdByLanguageName(e){return this._registry.getLanguageIdByLanguageName(e)}getLanguageIdByMimeType(e){return this._registry.getLanguageIdByMimeType(e)}guessLanguageIdByFilepathOrFirstLine(e,t){const i=this._registry.guessLanguageIdByFilepathOrFirstLine(e,t);return zY(i,null)}createById(e){return new hIe(this.onDidChange,()=>this._createAndGetLanguageIdentifier(e))}createByFilepathOrFirstLine(e,t){return new hIe(this.onDidChange,()=>{const i=this.guessLanguageIdByFilepathOrFirstLine(e,t);return this._createAndGetLanguageIdentifier(i)})}_createAndGetLanguageIdentifier(e){return(!e||!this.isRegisteredLanguageId(e))&&(e=Pu),e}requestBasicLanguageFeatures(e){this._requestedBasicLanguages.has(e)||(this._requestedBasicLanguages.add(e),this._onDidRequestBasicLanguageFeatures.fire(e))}requestRichLanguageFeatures(e){this._requestedRichLanguages.has(e)||(this._requestedRichLanguages.add(e),this.requestBasicLanguageFeatures(e),bo.getOrCreate(e),this._onDidRequestRichLanguageFeatures.fire(e))}}Tk.instanceCount=0;class hIe{constructor(e,t){this._onDidChangeLanguages=e,this._selector=t,this._listener=null,this._emitter=null,this.languageId=this._selector()}_dispose(){this._listener&&(this._listener.dispose(),this._listener=null),this._emitter&&(this._emitter.dispose(),this._emitter=null)}get onDidChange(){return this._listener||(this._listener=this._onDidChangeLanguages(()=>this._evaluate())),this._emitter||(this._emitter=new be({onDidRemoveLastListener:()=>{this._dispose()}})),this._emitter.event}_evaluate(){var e;const t=this._selector();t!==this.languageId&&(this.languageId=t,(e=this._emitter)===null||e===void 0||e.fire(this.languageId))}}const e$=/\(&([^\s&])\)|(^|[^&])&([^\s&])/,t$=/(&)?(&)([^\s&])/g;var ZA;(function(n){n[n.Right=0]="Right",n[n.Left=1]="Left"})(ZA||(ZA={}));var n$;(function(n){n[n.Above=0]="Above",n[n.Below=1]="Below"})(n$||(n$={}));class Gx extends Kc{constructor(e,t,i,r){e.classList.add("monaco-menu-container"),e.setAttribute("role","presentation");const o=document.createElement("div");o.classList.add("monaco-menu"),o.setAttribute("role","presentation"),super(o,{orientation:1,actionViewItemProvider:u=>this.doGetActionViewItem(u,i,s),context:i.context,actionRunner:i.actionRunner,ariaLabel:i.ariaLabel,ariaRole:"menu",focusOnlyEnabledItems:!0,triggerKeys:{keys:[3,...On||Ja?[10]:[]],keyDown:!0}}),this.menuStyles=r,this.menuElement=o,this.actionsList.tabIndex=0,this.initializeOrUpdateStyleSheet(e,r),this._register(ir.addTarget(o)),this._register(Ae(o,ot.KEY_DOWN,u=>{new sr(u).equals(2)&&u.preventDefault()})),i.enableMnemonics&&this._register(Ae(o,ot.KEY_DOWN,u=>{const c=u.key.toLocaleLowerCase();if(this.mnemonics.has(c)){Vn.stop(u,!0);const d=this.mnemonics.get(c);if(d.length===1&&(d[0]instanceof fIe&&d[0].container&&this.focusItemByElement(d[0].container),d[0].onClick(u)),d.length>1){const h=d.shift();h&&h.container&&(this.focusItemByElement(h.container),d.push(h)),this.mnemonics.set(c,d)}}})),Ja&&this._register(Ae(o,ot.KEY_DOWN,u=>{const c=new sr(u);c.equals(14)||c.equals(11)?(this.focusedItem=this.viewItems.length-1,this.focusNext(),Vn.stop(u,!0)):(c.equals(13)||c.equals(12))&&(this.focusedItem=0,this.focusPrevious(),Vn.stop(u,!0))})),this._register(Ae(this.domNode,ot.MOUSE_OUT,u=>{const c=u.relatedTarget;ps(c,this.domNode)||(this.focusedItem=void 0,this.updateFocus(),u.stopPropagation())})),this._register(Ae(this.actionsList,ot.MOUSE_OVER,u=>{let c=u.target;if(!(!c||!ps(c,this.actionsList)||c===this.actionsList)){for(;c.parentElement!==this.actionsList&&c.parentElement!==null;)c=c.parentElement;if(c.classList.contains("action-item")){const d=this.focusedItem;this.setFocusedItem(c),d!==this.focusedItem&&this.updateFocus()}}})),this._register(ir.addTarget(this.actionsList)),this._register(Ae(this.actionsList,nr.Tap,u=>{let c=u.initialTarget;if(!(!c||!ps(c,this.actionsList)||c===this.actionsList)){for(;c.parentElement!==this.actionsList&&c.parentElement!==null;)c=c.parentElement;if(c.classList.contains("action-item")){const d=this.focusedItem;this.setFocusedItem(c),d!==this.focusedItem&&this.updateFocus()}}}));const s={parent:this};this.mnemonics=new Map,this.scrollableElement=this._register(new RI(o,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0}));const a=this.scrollableElement.getDomNode();a.style.position="",this.styleScrollElement(a,r),this._register(Ae(o,nr.Change,u=>{Vn.stop(u,!0);const c=this.scrollableElement.getScrollPosition().scrollTop;this.scrollableElement.setScrollPosition({scrollTop:c-u.translationY})})),this._register(Ae(a,ot.MOUSE_UP,u=>{u.preventDefault()}));const l=Qt(e);o.style.maxHeight=`${Math.max(10,l.innerHeight-e.getBoundingClientRect().top-35)}px`,t=t.filter((u,c)=>{var d;return!(!((d=i.submenuIds)===null||d===void 0)&&d.has(u.id)||u instanceof Vo&&(c===t.length-1||c===0||t[c-1]instanceof Vo))}),this.push(t,{icon:!0,label:!0,isMenu:!0}),e.appendChild(this.scrollableElement.getDomNode()),this.scrollableElement.scanDomNode(),this.viewItems.filter(u=>!(u instanceof gIe)).forEach((u,c,d)=>{u.updatePositionInSet(c+1,d.length)})}initializeOrUpdateStyleSheet(e,t){this.styleSheet||(a9(e)?this.styleSheet=Au(e):(Gx.globalStyleSheet||(Gx.globalStyleSheet=Au()),this.styleSheet=Gx.globalStyleSheet)),this.styleSheet.textContent=VRt(t,a9(e))}styleScrollElement(e,t){var i,r;const o=(i=t.foregroundColor)!==null&&i!==void 0?i:"",s=(r=t.backgroundColor)!==null&&r!==void 0?r:"",a=t.borderColor?`1px solid ${t.borderColor}`:"",l="5px",u=t.shadowColor?`0 2px 8px ${t.shadowColor}`:"";e.style.outline=a,e.style.borderRadius=l,e.style.color=o,e.style.backgroundColor=s,e.style.boxShadow=u}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(e){const t=this.focusedItem;this.setFocusedItem(e),t!==this.focusedItem&&this.updateFocus()}setFocusedItem(e){for(let t=0;t{this.element&&(this._register(Ae(this.element,ot.MOUSE_UP,o=>{if(Vn.stop(o,!0),Ic){if(new Ld(Qt(this.element),o).rightButton)return;this.onClick(o)}else setTimeout(()=>{this.onClick(o)},0)})),this._register(Ae(this.element,ot.CONTEXT_MENU,o=>{Vn.stop(o,!0)})))},100),this._register(this.runOnceToEnableMouseUp)}render(e){super.render(e),this.element&&(this.container=e,this.item=je(this.element,Ct("a.action-menu-item")),this._action.id===Vo.ID?this.item.setAttribute("role","presentation"):(this.item.setAttribute("role","menuitem"),this.mnemonic&&this.item.setAttribute("aria-keyshortcuts",`${this.mnemonic}`)),this.check=je(this.item,Ct("span.menu-item-check"+sn.asCSSSelector(ut.menuSelection))),this.check.setAttribute("role","none"),this.label=je(this.item,Ct("span.action-label")),this.options.label&&this.options.keybinding&&(je(this.item,Ct("span.keybinding")).textContent=this.options.keybinding),this.runOnceToEnableMouseUp.schedule(),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked(),this.applyStyle())}blur(){super.blur(),this.applyStyle()}focus(){var e;super.focus(),(e=this.item)===null||e===void 0||e.focus(),this.applyStyle()}updatePositionInSet(e,t){this.item&&(this.item.setAttribute("aria-posinset",`${e}`),this.item.setAttribute("aria-setsize",`${t}`))}updateLabel(){var e;if(this.label&&this.options.label){ma(this.label);let t=QCe(this.action.label);if(t){const i=RRt(t);this.options.enableMnemonics||(t=i),this.label.setAttribute("aria-label",i.replace(/&&/g,"&"));const r=e$.exec(t);if(r){t=zZ(t),t$.lastIndex=0;let o=t$.exec(t);for(;o&&o[1];)o=t$.exec(t);const s=a=>a.replace(/&&/g,"&");o?this.label.append(HZ(s(t.substr(0,o.index))," "),Ct("u",{"aria-hidden":"true"},o[3]),Dmt(s(t.substr(o.index+o[0].length))," ")):this.label.innerText=s(t).trim(),(e=this.item)===null||e===void 0||e.setAttribute("aria-keyshortcuts",(r[1]?r[1]:r[3]).toLocaleLowerCase())}else this.label.innerText=t.replace(/&&/g,"&").trim()}}}updateTooltip(){}updateClass(){this.cssClass&&this.item&&this.item.classList.remove(...this.cssClass.split(" ")),this.options.icon&&this.label?(this.cssClass=this.action.class||"",this.label.classList.add("icon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" ")),this.updateEnabled()):this.label&&this.label.classList.remove("icon")}updateEnabled(){this.action.enabled?(this.element&&(this.element.classList.remove("disabled"),this.element.removeAttribute("aria-disabled")),this.item&&(this.item.classList.remove("disabled"),this.item.removeAttribute("aria-disabled"),this.item.tabIndex=0)):(this.element&&(this.element.classList.add("disabled"),this.element.setAttribute("aria-disabled","true")),this.item&&(this.item.classList.add("disabled"),this.item.setAttribute("aria-disabled","true")))}updateChecked(){if(!this.item)return;const e=this.action.checked;this.item.classList.toggle("checked",!!e),e!==void 0?(this.item.setAttribute("role","menuitemcheckbox"),this.item.setAttribute("aria-checked",e?"true":"false")):(this.item.setAttribute("role","menuitem"),this.item.setAttribute("aria-checked",""))}getMnemonic(){return this.mnemonic}applyStyle(){const e=this.element&&this.element.classList.contains("focused"),t=e&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,i=e&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0,r=e&&this.menuStyle.selectionBorderColor?`1px solid ${this.menuStyle.selectionBorderColor}`:"",o=e&&this.menuStyle.selectionBorderColor?"-1px":"";this.item&&(this.item.style.color=t??"",this.item.style.backgroundColor=i??"",this.item.style.outline=r,this.item.style.outlineOffset=o),this.check&&(this.check.style.color=t??"")}}class fIe extends mIe{constructor(e,t,i,r,o){super(e,e,r,o),this.submenuActions=t,this.parentData=i,this.submenuOptions=r,this.mysubmenu=null,this.submenuDisposables=this._register(new Je),this.mouseOver=!1,this.expandDirection=r&&r.expandDirection!==void 0?r.expandDirection:{horizontal:ZA.Right,vertical:n$.Below},this.showScheduler=new Ri(()=>{this.mouseOver&&(this.cleanupExistingSubmenu(!1),this.createSubmenu(!1))},250),this.hideScheduler=new Ri(()=>{this.element&&!ps(js(),this.element)&&this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))},750)}render(e){super.render(e),this.element&&(this.item&&(this.item.classList.add("monaco-submenu-item"),this.item.tabIndex=0,this.item.setAttribute("aria-haspopup","true"),this.updateAriaExpanded("false"),this.submenuIndicator=je(this.item,Ct("span.submenu-indicator"+sn.asCSSSelector(ut.menuSubmenu))),this.submenuIndicator.setAttribute("aria-hidden","true")),this._register(Ae(this.element,ot.KEY_UP,t=>{const i=new sr(t);(i.equals(17)||i.equals(3))&&(Vn.stop(t,!0),this.createSubmenu(!0))})),this._register(Ae(this.element,ot.KEY_DOWN,t=>{const i=new sr(t);js()===this.item&&(i.equals(17)||i.equals(3))&&Vn.stop(t,!0)})),this._register(Ae(this.element,ot.MOUSE_OVER,t=>{this.mouseOver||(this.mouseOver=!0,this.showScheduler.schedule())})),this._register(Ae(this.element,ot.MOUSE_LEAVE,t=>{this.mouseOver=!1})),this._register(Ae(this.element,ot.FOCUS_OUT,t=>{this.element&&!ps(js(),this.element)&&this.hideScheduler.schedule()})),this._register(this.parentData.parent.onScroll(()=>{this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))})))}updateEnabled(){}onClick(e){Vn.stop(e,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(e){if(this.parentData.submenu&&(e||this.parentData.submenu!==this.mysubmenu)){try{this.parentData.submenu.dispose()}catch{}this.parentData.submenu=void 0,this.updateAriaExpanded("false"),this.submenuContainer&&(this.submenuDisposables.clear(),this.submenuContainer=void 0)}}calculateSubmenuMenuLayout(e,t,i,r){const o={top:0,left:0};return o.left=Wx(e.width,t.width,{position:r.horizontal===ZA.Right?0:1,offset:i.left,size:i.width}),o.left>=i.left&&o.left{new sr(c).equals(15)&&(Vn.stop(c,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))})),this.submenuDisposables.add(Ae(this.submenuContainer,ot.KEY_DOWN,c=>{new sr(c).equals(15)&&Vn.stop(c,!0)})),this.submenuDisposables.add(this.parentData.submenu.onDidCancel(()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)})),this.parentData.submenu.focus(e),this.mysubmenu=this.parentData.submenu}}updateAriaExpanded(e){var t;this.item&&((t=this.item)===null||t===void 0||t.setAttribute("aria-expanded",e))}applyStyle(){super.applyStyle();const t=this.element&&this.element.classList.contains("focused")&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator&&(this.submenuIndicator.style.color=t??"")}dispose(){super.dispose(),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer=void 0)}}class gIe extends k2{constructor(e,t,i,r){super(e,t,i),this.menuStyles=r}render(e){super.render(e),this.label&&(this.label.style.borderBottomColor=this.menuStyles.separatorColor?`${this.menuStyles.separatorColor}`:"")}}function RRt(n){const e=e$,t=e.exec(n);if(!t)return n;const i=!t[1];return n.replace(e,i?"$2$3":"").trim()}function pIe(n){const e=O0e()[n.id];return`.codicon-${n.id}:before { content: '\\${e.toString(16)}'; }`}function VRt(n,e){let t=` +`;var pWt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},bWt=function(n,e){return function(t,i){e(t,i,n)}};let DV=class extends Fe{constructor(e){super(),this.layoutService=e,this.currentViewDisposable=this._register(new Ns),this.contextView=this._register(new Wx(this.layoutService.mainContainer,1)),this.layout(),this._register(e.onDidLayoutContainer(()=>this.layout()))}showContextView(e,t,i){let r;t?t===this.layoutService.getContainer(Qt(t))?r=1:i?r=3:r=2:r=1,this.contextView.setContainer(t??this.layoutService.activeContainer,r),this.contextView.show(e);const o=jt(()=>{this.currentViewDisposable===o&&this.hideContextView()});return this.currentViewDisposable.value=o,o}layout(){this.contextView.layout()}hideContextView(e){this.contextView.hide(e)}};DV=pWt([bWt(0,p1)],DV);class yWt extends DV{getContextViewElement(){return this.contextView.getViewElement()}}var vWt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},DM=function(n,e){return function(t,i){e(t,i,n)}};let QQ=class extends Fe{constructor(e,t,i,r,o){super(),this._instantiationService=e,this._keybindingService=i,this._layoutService=r,this._accessibilityService=o,t.onDidShowContextMenu(()=>this.hideHover()),this._contextViewHandler=this._register(new DV(this._layoutService))}showHover(e,t,i){var r,o,s,a;if(oFe(this._currentHoverOptions)===oFe(e)||this._currentHover&&(!((o=(r=this._currentHoverOptions)===null||r===void 0?void 0:r.persistence)===null||o===void 0)&&o.sticky))return;this._currentHoverOptions=e,this._lastHoverOptions=e;const l=e.trapFocus||this._accessibilityService.isScreenReaderOptimized(),u=js();i||(l&&u?this._lastFocusedElementBeforeOpen=u:this._lastFocusedElementBeforeOpen=void 0);const c=new Je,d=this._instantiationService.createInstance(jQ,e);if(!((s=e.persistence)===null||s===void 0)&&s.sticky&&(d.isLocked=!0),d.onDispose(()=>{var h,m;((h=this._currentHover)===null||h===void 0?void 0:h.domNode)&&T0e(this._currentHover.domNode)&&((m=this._lastFocusedElementBeforeOpen)===null||m===void 0||m.focus()),this._currentHoverOptions===e&&(this._currentHoverOptions=void 0),c.dispose()}),!e.container){const h=e.target instanceof HTMLElement?e.target:e.target.targetElements[0];e.container=this._layoutService.getContainer(Qt(h))}if(this._contextViewHandler.showContextView(new CWt(d,t),e.container),d.onRequestLayout(()=>this._contextViewHandler.layout()),!((a=e.persistence)===null||a===void 0)&&a.sticky)c.add(Ve(Qt(e.container).document,ot.MOUSE_DOWN,h=>{ps(h.target,d.domNode)||this.doHideHover()}));else{if("targetElements"in e.target)for(const m of e.target.targetElements)c.add(Ve(m,ot.CLICK,()=>this.hideHover()));else c.add(Ve(e.target,ot.CLICK,()=>this.hideHover()));const h=js();if(h){const m=Qt(h).document;c.add(Ve(h,ot.KEY_DOWN,f=>{var g;return this._keyDown(f,d,!!(!((g=e.persistence)===null||g===void 0)&&g.hideOnKeyDown))})),c.add(Ve(m,ot.KEY_DOWN,f=>{var g;return this._keyDown(f,d,!!(!((g=e.persistence)===null||g===void 0)&&g.hideOnKeyDown))})),c.add(Ve(h,ot.KEY_UP,f=>this._keyUp(f,d))),c.add(Ve(m,ot.KEY_UP,f=>this._keyUp(f,d)))}}if("IntersectionObserver"in Zi){const h=new IntersectionObserver(f=>this._intersectionChange(f,d),{threshold:0}),m="targetElements"in e.target?e.target.targetElements[0]:e.target;h.observe(m),c.add(jt(()=>h.disconnect()))}return this._currentHover=d,d}hideHover(){var e;!((e=this._currentHover)===null||e===void 0)&&e.isLocked||!this._currentHoverOptions||this.doHideHover()}doHideHover(){this._currentHover=void 0,this._currentHoverOptions=void 0,this._contextViewHandler.hideContextView()}_intersectionChange(e,t){e[e.length-1].isIntersecting||t.dispose()}_keyDown(e,t,i){var r,o;if(e.key==="Alt"){t.isLocked=!0;return}const s=new or(e);this._keybindingService.resolveKeyboardEvent(s).getSingleModifierDispatchChords().some(l=>!!l)||this._keybindingService.softDispatch(s,s.target).kind!==0||i&&(!(!((r=this._currentHoverOptions)===null||r===void 0)&&r.trapFocus)||e.key!=="Tab")&&(this.hideHover(),(o=this._lastFocusedElementBeforeOpen)===null||o===void 0||o.focus())}_keyUp(e,t){var i;e.key==="Alt"&&(t.isLocked=!1,t.isMouseIn||(this.hideHover(),(i=this._lastFocusedElementBeforeOpen)===null||i===void 0||i.focus()))}};QQ=vWt([DM(0,$t),DM(1,fu),DM(2,Oi),DM(3,p1),DM(4,Wc)],QQ);function oFe(n){var e;if(n!==void 0)return(e=n==null?void 0:n.id)!==null&&e!==void 0?e:n}class CWt{get anchorPosition(){return this._hover.anchor}constructor(e,t=!1){this._hover=e,this._focus=t,this.layer=1}render(e){return this._hover.render(e),this._focus&&this._hover.focus(),this._hover}getAnchor(){return{x:this._hover.x,y:this._hover.y}}layout(){this._hover.layout()}}qn(YU,QQ,1),Xc((n,e)=>{const t=n.getColor(oye);t&&(e.addRule(`.monaco-workbench .workbench-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${t.transparent(.5)}; }`),e.addRule(`.monaco-workbench .workbench-hover hr { border-top: 1px solid ${t.transparent(.5)}; }`))});function NV(n){return Object.isFrozen(n)?n:Ipt(n)}class ia{constructor(e={},t=[],i=[],r){this._contents=e,this._keys=t,this._overrides=i,this.raw=r,this.overrideConfigurations=new Map}get rawConfiguration(){var e;if(!this._rawConfiguration)if(!((e=this.raw)===null||e===void 0)&&e.length){const t=this.raw.map(i=>{if(i instanceof ia)return i;const r=new SWt("");return r.parseRaw(i),r.configurationModel});this._rawConfiguration=t.reduce((i,r)=>r===i?r:i.merge(r),t[0])}else this._rawConfiguration=this;return this._rawConfiguration}get contents(){return this._contents}get overrides(){return this._overrides}get keys(){return this._keys}isEmpty(){return this._keys.length===0&&Object.keys(this._contents).length===0&&this._overrides.length===0}getValue(e){return e?L1e(this.contents,e):this.contents}inspect(e,t){const i=this;return{get value(){return NV(i.rawConfiguration.getValue(e))},get override(){return t?NV(i.rawConfiguration.getOverrideValue(e,t)):void 0},get merged(){return NV(t?i.rawConfiguration.override(t).getValue(e):i.rawConfiguration.getValue(e))},get overrides(){const r=[];for(const{contents:o,identifiers:s,keys:a}of i.rawConfiguration.overrides){const l=new ia(o,a).getValue(e);l!==void 0&&r.push({identifiers:s,value:l})}return r.length?NV(r):void 0}}}getOverrideValue(e,t){const i=this.getContentsForOverrideIdentifer(t);return i?e?L1e(i,e):i:void 0}override(e){let t=this.overrideConfigurations.get(e);return t||(t=this.createOverrideConfigurationModel(e),this.overrideConfigurations.set(e,t)),t}merge(...e){var t,i;const r=Vg(this.contents),o=Vg(this.overrides),s=[...this.keys],a=!((t=this.raw)===null||t===void 0)&&t.length?[...this.raw]:[this];for(const l of e)if(a.push(...!((i=l.raw)===null||i===void 0)&&i.length?l.raw:[l]),!l.isEmpty()){this.mergeContents(r,l.contents);for(const u of l.overrides){const[c]=o.filter(d=>Nr(d.identifiers,u.identifiers));c?(this.mergeContents(c.contents,u.contents),c.keys.push(...u.keys),c.keys=Zg(c.keys)):o.push(Vg(u))}for(const u of l.keys)s.indexOf(u)===-1&&s.push(u)}return new ia(r,s,o,a.every(l=>l instanceof ia)?void 0:a)}createOverrideConfigurationModel(e){const t=this.getContentsForOverrideIdentifer(e);if(!t||typeof t!="object"||!Object.keys(t).length)return this;const i={};for(const r of Zg([...Object.keys(this.contents),...Object.keys(t)])){let o=this.contents[r];const s=t[r];s&&(typeof o=="object"&&typeof s=="object"?(o=Vg(o),this.mergeContents(o,s)):o=s),i[r]=o}return new ia(i,this.keys,this.overrides)}mergeContents(e,t){for(const i of Object.keys(t)){if(i in e&&Ua(e[i])&&Ua(t[i])){this.mergeContents(e[i],t[i]);continue}e[i]=Vg(t[i])}}getContentsForOverrideIdentifer(e){let t=null,i=null;const r=o=>{o&&(i?this.mergeContents(i,o):i=Vg(o))};for(const o of this.overrides)o.identifiers.length===1&&o.identifiers[0]===e?t=o.contents:o.identifiers.includes(e)&&r(o.contents);return r(t),i}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}addValue(e,t){this.updateValue(e,t,!0)}setValue(e,t){this.updateValue(e,t,!1)}removeValue(e){const t=this.keys.indexOf(e);t!==-1&&(this.keys.splice(t,1),jgt(this.contents,e),qb.test(e)&&this.overrides.splice(this.overrides.findIndex(i=>Nr(i.identifiers,z9(e))),1))}updateValue(e,t,i){x1e(this.contents,e,t,r=>{}),i=i||this.keys.indexOf(e)===-1,i&&this.keys.push(e),qb.test(e)&&this.overrides.push({identifiers:z9(e),keys:Object.keys(this.contents[e]),contents:qY(this.contents[e],r=>{})})}}class SWt{constructor(e){this._name=e,this._raw=null,this._configurationModel=null,this._restrictedConfigurations=[]}get configurationModel(){return this._configurationModel||new ia}parseRaw(e,t){this._raw=e;const{contents:i,keys:r,overrides:o,restricted:s,hasExcludedProperties:a}=this.doParseRaw(e,t);this._configurationModel=new ia(i,r,o,a?[e]:void 0),this._restrictedConfigurations=s||[]}doParseRaw(e,t){const i=Do.as(Eh.Configuration).getConfigurationProperties(),r=this.filter(e,i,!0,t);e=r.raw;const o=qY(e,l=>{}),s=Object.keys(e),a=this.toOverrides(e,l=>{});return{contents:o,keys:s,overrides:a,restricted:r.restricted,hasExcludedProperties:r.hasExcludedProperties}}filter(e,t,i,r){var o,s,a;let l=!1;if(!(r!=null&&r.scopes)&&!(r!=null&&r.skipRestricted)&&!(!((o=r==null?void 0:r.exclude)===null||o===void 0)&&o.length))return{raw:e,restricted:[],hasExcludedProperties:l};const u={},c=[];for(const d in e)if(qb.test(d)&&i){const h=this.filter(e[d],t,!1,r);u[d]=h.raw,l=l||h.hasExcludedProperties,c.push(...h.restricted)}else{const h=t[d],m=h?typeof h.scope<"u"?h.scope:3:void 0;h!=null&&h.restricted&&c.push(d),!(!((s=r.exclude)===null||s===void 0)&&s.includes(d))&&(!((a=r.include)===null||a===void 0)&&a.includes(d)||(m===void 0||r.scopes===void 0||r.scopes.includes(m))&&!(r.skipRestricted&&(h!=null&&h.restricted)))?u[d]=e[d]:l=!0}return{raw:u,restricted:c,hasExcludedProperties:l}}toOverrides(e,t){const i=[];for(const r of Object.keys(e))if(qb.test(r)){const o={};for(const s in e[r])o[s]=e[r][s];i.push({identifiers:z9(r),keys:Object.keys(o),contents:qY(o,t)})}return i}}class wWt{constructor(e,t,i,r,o,s,a,l,u,c,d,h,m){this.key=e,this.overrides=t,this._value=i,this.overrideIdentifiers=r,this.defaultConfiguration=o,this.policyConfiguration=s,this.applicationConfiguration=a,this.userConfiguration=l,this.localUserConfiguration=u,this.remoteUserConfiguration=c,this.workspaceConfiguration=d,this.folderConfigurationModel=h,this.memoryConfigurationModel=m}toInspectValue(e){return(e==null?void 0:e.value)!==void 0||(e==null?void 0:e.override)!==void 0||(e==null?void 0:e.overrides)!==void 0?e:void 0}get userInspectValue(){return this._userInspectValue||(this._userInspectValue=this.userConfiguration.inspect(this.key,this.overrides.overrideIdentifier)),this._userInspectValue}get user(){return this.toInspectValue(this.userInspectValue)}}class MV{constructor(e,t,i,r,o=new ia,s=new ia,a=new to,l=new ia,u=new to){this._defaultConfiguration=e,this._policyConfiguration=t,this._applicationConfiguration=i,this._localUserConfiguration=r,this._remoteUserConfiguration=o,this._workspaceConfiguration=s,this._folderConfigurations=a,this._memoryConfiguration=l,this._memoryConfigurationByResource=u,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new to,this._userConfiguration=null}getValue(e,t,i){return this.getConsolidatedConfigurationModel(e,t,i).getValue(e)}updateValue(e,t,i={}){let r;i.resource?(r=this._memoryConfigurationByResource.get(i.resource),r||(r=new ia,this._memoryConfigurationByResource.set(i.resource,r))):r=this._memoryConfiguration,t===void 0?r.removeValue(e):r.setValue(e,t),i.resource||(this._workspaceConsolidatedConfiguration=null)}inspect(e,t,i){const r=this.getConsolidatedConfigurationModel(e,t,i),o=this.getFolderConfigurationModelForResource(t.resource,i),s=t.resource?this._memoryConfigurationByResource.get(t.resource)||this._memoryConfiguration:this._memoryConfiguration,a=new Set;for(const l of r.overrides)for(const u of l.identifiers)r.getOverrideValue(e,u)!==void 0&&a.add(u);return new wWt(e,t,r.getValue(e),a.size?[...a]:void 0,this._defaultConfiguration,this._policyConfiguration.isEmpty()?void 0:this._policyConfiguration,this.applicationConfiguration.isEmpty()?void 0:this.applicationConfiguration,this.userConfiguration,this.localUserConfiguration,this.remoteUserConfiguration,i?this._workspaceConfiguration:void 0,o||void 0,s)}get applicationConfiguration(){return this._applicationConfiguration}get userConfiguration(){return this._userConfiguration||(this._userConfiguration=this._remoteUserConfiguration.isEmpty()?this._localUserConfiguration:this._localUserConfiguration.merge(this._remoteUserConfiguration)),this._userConfiguration}get localUserConfiguration(){return this._localUserConfiguration}get remoteUserConfiguration(){return this._remoteUserConfiguration}getConsolidatedConfigurationModel(e,t,i){let r=this.getConsolidatedConfigurationModelForResource(t,i);return t.overrideIdentifier&&(r=r.override(t.overrideIdentifier)),!this._policyConfiguration.isEmpty()&&this._policyConfiguration.getValue(e)!==void 0&&(r=r.merge(this._policyConfiguration)),r}getConsolidatedConfigurationModelForResource({resource:e},t){let i=this.getWorkspaceConsolidatedConfiguration();if(t&&e){const r=t.getFolder(e);r&&(i=this.getFolderConsolidatedConfiguration(r.uri)||i);const o=this._memoryConfigurationByResource.get(e);o&&(i=i.merge(o))}return i}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration)),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(e){let t=this._foldersConsolidatedConfigurations.get(e);if(!t){const i=this.getWorkspaceConsolidatedConfiguration(),r=this._folderConfigurations.get(e);r?(t=i.merge(r),this._foldersConsolidatedConfigurations.set(e,t)):t=i}return t}getFolderConfigurationModelForResource(e,t){if(t&&e){const i=t.getFolder(e);if(i)return this._folderConfigurations.get(i.uri)}}toData(){return{defaults:{contents:this._defaultConfiguration.contents,overrides:this._defaultConfiguration.overrides,keys:this._defaultConfiguration.keys},policy:{contents:this._policyConfiguration.contents,overrides:this._policyConfiguration.overrides,keys:this._policyConfiguration.keys},application:{contents:this.applicationConfiguration.contents,overrides:this.applicationConfiguration.overrides,keys:this.applicationConfiguration.keys},user:{contents:this.userConfiguration.contents,overrides:this.userConfiguration.overrides,keys:this.userConfiguration.keys},workspace:{contents:this._workspaceConfiguration.contents,overrides:this._workspaceConfiguration.overrides,keys:this._workspaceConfiguration.keys},folders:[...this._folderConfigurations.keys()].reduce((e,t)=>{const{contents:i,overrides:r,keys:o}=this._folderConfigurations.get(t);return e.push([t,{contents:i,overrides:r,keys:o}]),e},[])}}static parse(e){const t=this.parseConfigurationModel(e.defaults),i=this.parseConfigurationModel(e.policy),r=this.parseConfigurationModel(e.application),o=this.parseConfigurationModel(e.user),s=this.parseConfigurationModel(e.workspace),a=e.folders.reduce((l,u)=>(l.set(en.revive(u[0]),this.parseConfigurationModel(u[1])),l),new to);return new MV(t,i,r,o,new ia,s,a,new ia,new to)}static parseConfigurationModel(e){return new ia(e.contents,e.keys,e.overrides)}}class xWt{constructor(e,t,i,r){this.change=e,this.previous=t,this.currentConfiguraiton=i,this.currentWorkspace=r,this._marker=` +`,this._markerCode1=this._marker.charCodeAt(0),this._markerCode2=46,this.affectedKeys=new Set,this._previousConfiguration=void 0;for(const o of e.keys)this.affectedKeys.add(o);for(const[,o]of e.overrides)for(const s of o)this.affectedKeys.add(s);this._affectsConfigStr=this._marker;for(const o of this.affectedKeys)this._affectsConfigStr+=o+this._marker}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=MV.parse(this.previous.data)),this._previousConfiguration}affectsConfiguration(e,t){var i;const r=this._marker+e,o=this._affectsConfigStr.indexOf(r);if(o<0)return!1;const s=o+r.length;if(s>=this._affectsConfigStr.length)return!1;const a=this._affectsConfigStr.charCodeAt(s);if(a!==this._markerCode1&&a!==this._markerCode2)return!1;if(t){const l=this.previousConfiguration?this.previousConfiguration.getValue(e,t,(i=this.previous)===null||i===void 0?void 0:i.workspace):void 0,u=this.currentConfiguraiton.getValue(e,t,this.currentWorkspace);return!Ou(l,u)}return!0}}const kV={kind:0},_Wt={kind:1};function LWt(n,e,t){return{kind:2,commandId:n,commandArgs:e,isBubble:t}}class NM{constructor(e,t,i){var r;this._log=i,this._defaultKeybindings=e,this._defaultBoundCommands=new Map;for(const o of e){const s=o.command;s&&s.charAt(0)!=="-"&&this._defaultBoundCommands.set(s,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=NM.handleRemovals([].concat(e).concat(t));for(let o=0,s=this._keybindings.length;o"u"){this._map.set(e,[t]),this._addToLookupMap(t);return}for(let r=i.length-1;r>=0;r--){const o=i[r];if(o.command===t.command)continue;let s=!0;for(let a=1;a"u"?(t=[e],this._lookupMap.set(e.command,t)):t.push(e)}_removeFromLookupMap(e){if(!e.command)return;const t=this._lookupMap.get(e.command);if(!(typeof t>"u")){for(let i=0,r=t.length;i"u"||i.length===0)return null;if(i.length===1)return i[0];for(let r=i.length-1;r>=0;r--){const o=i[r];if(t.contextMatchesRules(o.when))return o}return i[i.length-1]}resolve(e,t,i){const r=[...t,i];this._log(`| Resolving ${r}`);const o=this._map.get(r[0]);if(o===void 0)return this._log("\\ No keybinding entries."),kV;let s=null;if(r.length<2)s=o;else{s=[];for(let l=0,u=o.length;lc.chords.length)continue;let d=!0;for(let h=1;h=0;i--){const r=t[i];if(NM._contextMatchesRules(e,r.when))return r}return null}static _contextMatchesRules(e,t){return t?t.evaluate(e):!0}}function sFe(n){return n?`${n.serialize()}`:"no when condition"}function aFe(n){return n.extensionId?n.isBuiltinExtension?`built-in extension ${n.extensionId}`:`user extension ${n.extensionId}`:n.isDefault?"built-in":"user"}const IWt=/^(cursor|delete|undo|redo|tab|editor\.action\.clipboard)/;class FWt extends Fe{get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:lt.None}get inChordMode(){return this._currentChords.length>0}constructor(e,t,i,r,o){super(),this._contextKeyService=e,this._commandService=t,this._telemetryService=i,this._notificationService=r,this._logService=o,this._onDidUpdateKeybindings=this._register(new be),this._currentChords=[],this._currentChordChecker=new zH,this._currentChordStatusMessage=null,this._ignoreSingleModifiers=Ax.EMPTY,this._currentSingleModifier=null,this._currentSingleModifierClearTimeout=new Id,this._currentlyDispatchingCommandId=null,this._logging=!1}dispose(){super.dispose()}_log(e){this._logging&&this._logService.info(`[KeybindingService]: ${e}`)}getKeybindings(){return this._getResolver().getKeybindings()}lookupKeybinding(e,t){const i=this._getResolver().lookupPrimaryKeybinding(e,t||this._contextKeyService);if(i)return i.resolvedKeybinding}dispatchEvent(e,t){return this._dispatch(e,t)}softDispatch(e,t){this._log("/ Soft dispatching keyboard event");const i=this.resolveKeyboardEvent(e);if(i.hasMultipleChords())return kV;const[r]=i.getDispatchChords();if(r===null)return this._log("\\ Keyboard event cannot be dispatched"),kV;const o=this._contextKeyService.getContext(t),s=this._currentChords.map(({keypress:a})=>a);return this._getResolver().resolve(o,s,r)}_scheduleLeaveChordMode(){const e=Date.now();this._currentChordChecker.cancelAndSet(()=>{if(!this._documentHasFocus()){this._leaveChordMode();return}Date.now()-e>5e3&&this._leaveChordMode()},500)}_expectAnotherChord(e,t){switch(this._currentChords.push({keypress:e,label:t}),this._currentChords.length){case 0:throw RH("impossible");case 1:this._currentChordStatusMessage=this._notificationService.status(_("first.chord","({0}) was pressed. Waiting for second key of chord...",t));break;default:{const i=this._currentChords.map(({label:r})=>r).join(", ");this._currentChordStatusMessage=this._notificationService.status(_("next.chord","({0}) was pressed. Waiting for next key of chord...",i))}}this._scheduleLeaveChordMode(),HF.enabled&&HF.disable()}_leaveChordMode(){this._currentChordStatusMessage&&(this._currentChordStatusMessage.dispose(),this._currentChordStatusMessage=null),this._currentChordChecker.cancel(),this._currentChords=[],HF.enable()}_dispatch(e,t){return this._doDispatch(this.resolveKeyboardEvent(e),t,!1)}_singleModifierDispatch(e,t){const i=this.resolveKeyboardEvent(e),[r]=i.getSingleModifierDispatchChords();if(r)return this._ignoreSingleModifiers.has(r)?(this._log(`+ Ignoring single modifier ${r} due to it being pressed together with other keys.`),this._ignoreSingleModifiers=Ax.EMPTY,this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1):(this._ignoreSingleModifiers=Ax.EMPTY,this._currentSingleModifier===null?(this._log(`+ Storing single modifier for possible chord ${r}.`),this._currentSingleModifier=r,this._currentSingleModifierClearTimeout.cancelAndSet(()=>{this._log("+ Clearing single modifier due to 300ms elapsed."),this._currentSingleModifier=null},300),!1):r===this._currentSingleModifier?(this._log(`/ Dispatching single modifier chord ${r} ${r}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,this._doDispatch(i,t,!0)):(this._log(`+ Clearing single modifier due to modifier mismatch: ${this._currentSingleModifier} ${r}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1));const[o]=i.getChords();return this._ignoreSingleModifiers=new Ax(o),this._currentSingleModifier!==null&&this._log("+ Clearing single modifier due to other key up."),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1}_doDispatch(e,t,i=!1){var r;let o=!1;if(e.hasMultipleChords())return!1;let s=null,a=null;if(i){const[d]=e.getSingleModifierDispatchChords();s=d,a=d?[d]:[]}else[s]=e.getDispatchChords(),a=this._currentChords.map(({keypress:d})=>d);if(s===null)return this._log("\\ Keyboard event cannot be dispatched in keydown phase."),o;const l=this._contextKeyService.getContext(t),u=e.getLabel(),c=this._getResolver().resolve(l,a,s);switch(c.kind){case 0:{if(this._logService.trace("KeybindingService#dispatch",u,"[ No matching keybinding ]"),this.inChordMode){const d=this._currentChords.map(({label:h})=>h).join(", ");this._log(`+ Leaving multi-chord mode: Nothing bound to "${d}, ${u}".`),this._notificationService.status(_("missing.chord","The key combination ({0}, {1}) is not a command.",d,u),{hideAfter:10*1e3}),this._leaveChordMode(),o=!0}return o}case 1:return this._logService.trace("KeybindingService#dispatch",u,"[ Several keybindings match - more chords needed ]"),o=!0,this._expectAnotherChord(s,u),this._log(this._currentChords.length===1?"+ Entering multi-chord mode...":"+ Continuing multi-chord mode..."),o;case 2:{if(this._logService.trace("KeybindingService#dispatch",u,`[ Will dispatch command ${c.commandId} ]`),c.commandId===null||c.commandId===""){if(this.inChordMode){const d=this._currentChords.map(({label:h})=>h).join(", ");this._log(`+ Leaving chord mode: Nothing bound to "${d}, ${u}".`),this._notificationService.status(_("missing.chord","The key combination ({0}, {1}) is not a command.",d,u),{hideAfter:10*1e3}),this._leaveChordMode(),o=!0}}else{this.inChordMode&&this._leaveChordMode(),c.isBubble||(o=!0),this._log(`+ Invoking command ${c.commandId}.`),this._currentlyDispatchingCommandId=c.commandId;try{typeof c.commandArgs>"u"?this._commandService.executeCommand(c.commandId).then(void 0,d=>this._notificationService.warn(d)):this._commandService.executeCommand(c.commandId,c.commandArgs).then(void 0,d=>this._notificationService.warn(d))}finally{this._currentlyDispatchingCommandId=null}IWt.test(c.commandId)||this._telemetryService.publicLog2("workbenchActionExecuted",{id:c.commandId,from:"keybinding",detail:(r=e.getUserSettingsLabel())!==null&&r!==void 0?r:void 0})}return o}}}mightProducePrintableCharacter(e){return e.ctrlKey||e.metaKey?!1:e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30}}class Ax{constructor(e){this._ctrlKey=e?e.ctrlKey:!1,this._shiftKey=e?e.shiftKey:!1,this._altKey=e?e.altKey:!1,this._metaKey=e?e.metaKey:!1}has(e){switch(e){case"ctrl":return this._ctrlKey;case"shift":return this._shiftKey;case"alt":return this._altKey;case"meta":return this._metaKey}}}Ax.EMPTY=new Ax(null);class lFe{constructor(e,t,i,r,o,s,a){this._resolvedKeybindingItemBrand=void 0,this.resolvedKeybinding=e,this.chords=e?$Q(e.getDispatchChords()):[],e&&this.chords.length===0&&(this.chords=$Q(e.getSingleModifierDispatchChords())),this.bubble=t?t.charCodeAt(0)===94:!1,this.command=this.bubble?t.substr(1):t,this.commandArgs=i,this.when=r,this.isDefault=o,this.extensionId=s,this.isBuiltinExtension=a}}function $Q(n){const e=[];for(let t=0,i=n.length;tthis._getLabel(e))}getAriaLabel(){return gLt.toLabel(this._os,this._chords,e=>this._getAriaLabel(e))}getElectronAccelerator(){return this._chords.length>1||this._chords[0].isDuplicateModifierCase()?null:pLt.toLabel(this._os,this._chords,e=>this._getElectronAccelerator(e))}getUserSettingsLabel(){return bLt.toLabel(this._os,this._chords,e=>this._getUserSettingsLabel(e))}hasMultipleChords(){return this._chords.length>1}getChords(){return this._chords.map(e=>this._getChord(e))}_getChord(e){return new Zht(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,this._getLabel(e),this._getAriaLabel(e))}getDispatchChords(){return this._chords.map(e=>this._getChordDispatch(e))}getSingleModifierDispatchChords(){return this._chords.map(e=>this._getSingleModifierChordDispatch(e))}}class MM extends DWt{constructor(e,t){super(t,e)}_keyCodeToUILabel(e){if(this._os===2)switch(e){case 15:return"←";case 16:return"↑";case 17:return"→";case 18:return"↓"}return xg.toString(e)}_getLabel(e){return e.isDuplicateModifierCase()?"":this._keyCodeToUILabel(e.keyCode)}_getAriaLabel(e){return e.isDuplicateModifierCase()?"":xg.toString(e.keyCode)}_getElectronAccelerator(e){return xg.toElectronAccelerator(e.keyCode)}_getUserSettingsLabel(e){if(e.isDuplicateModifierCase())return"";const t=xg.toUserSettingsUS(e.keyCode);return t&&t.toLowerCase()}_getChordDispatch(e){return MM.getDispatchStr(e)}static getDispatchStr(e){if(e.isModifierKey())return null;let t="";return e.ctrlKey&&(t+="ctrl+"),e.shiftKey&&(t+="shift+"),e.altKey&&(t+="alt+"),e.metaKey&&(t+="meta+"),t+=xg.toString(e.keyCode),t}_getSingleModifierChordDispatch(e){return e.keyCode===5&&!e.shiftKey&&!e.altKey&&!e.metaKey?"ctrl":e.keyCode===4&&!e.ctrlKey&&!e.altKey&&!e.metaKey?"shift":e.keyCode===6&&!e.ctrlKey&&!e.shiftKey&&!e.metaKey?"alt":e.keyCode===57&&!e.ctrlKey&&!e.shiftKey&&!e.altKey?"meta":null}static _scanCodeToKeyCode(e){const t=EH[e];if(t!==-1)return t;switch(e){case 10:return 31;case 11:return 32;case 12:return 33;case 13:return 34;case 14:return 35;case 15:return 36;case 16:return 37;case 17:return 38;case 18:return 39;case 19:return 40;case 20:return 41;case 21:return 42;case 22:return 43;case 23:return 44;case 24:return 45;case 25:return 46;case 26:return 47;case 27:return 48;case 28:return 49;case 29:return 50;case 30:return 51;case 31:return 52;case 32:return 53;case 33:return 54;case 34:return 55;case 35:return 56;case 36:return 22;case 37:return 23;case 38:return 24;case 39:return 25;case 40:return 26;case 41:return 27;case 42:return 28;case 43:return 29;case 44:return 30;case 45:return 21;case 51:return 88;case 52:return 86;case 53:return 92;case 54:return 94;case 55:return 93;case 56:return 0;case 57:return 85;case 58:return 95;case 59:return 91;case 60:return 87;case 61:return 89;case 62:return 90;case 106:return 97}return 0}static _toKeyCodeChord(e){if(!e)return null;if(e instanceof Lg)return e;const t=this._scanCodeToKeyCode(e.scanCode);return t===0?null:new Lg(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,t)}static resolveKeybinding(e,t){const i=$Q(e.chords.map(r=>this._toKeyCodeChord(r)));return i.length>0?[new MM(i,t)]:[]}}let Vx=[],qQ=[],uFe=[];function TV(n,e=!1){NWt(n,!1,e)}function NWt(n,e,t){const i=MWt(n,e);Vx.push(i),i.userConfigured?uFe.push(i):qQ.push(i),t&&!i.userConfigured&&Vx.forEach(r=>{r.mime===i.mime||r.userConfigured||(i.extension&&(r.extension,i.extension),i.filename&&(r.filename,i.filename),i.filepattern&&(r.filepattern,i.filepattern),i.firstline&&(r.firstline,i.firstline))})}function MWt(n,e){return{id:n.id,mime:n.mime,filename:n.filename,extension:n.extension,filepattern:n.filepattern,firstline:n.firstline,userConfigured:e,filenameLowercase:n.filename?n.filename.toLowerCase():void 0,extensionLowercase:n.extension?n.extension.toLowerCase():void 0,filepatternLowercase:n.filepattern?FIe(n.filepattern.toLowerCase()):void 0,filepatternOnPath:n.filepattern?n.filepattern.indexOf(Fo.sep)>=0:!1}}function kWt(){Vx=Vx.filter(n=>n.userConfigured),qQ=[]}function TWt(n,e){return EWt(n,e).map(t=>t.id)}function EWt(n,e){let t;if(n)switch(n.scheme){case Sn.file:t=n.fsPath;break;case Sn.data:{t=p0.parseMetaData(n).get(p0.META_DATA_LABEL);break}case Sn.vscodeNotebookCell:t=void 0;break;default:t=n.path}if(!t)return[{id:"unknown",mime:Pr.unknown}];t=t.toLowerCase();const i=Kb(t),r=cFe(t,i,uFe);if(r)return[r,{id:Pu,mime:Pr.text}];const o=cFe(t,i,qQ);if(o)return[o,{id:Pu,mime:Pr.text}];if(e){const s=RWt(e);if(s)return[s,{id:Pu,mime:Pr.text}]}return[{id:"unknown",mime:Pr.unknown}]}function cFe(n,e,t){var i;let r,o,s;for(let a=t.length-1;a>=0;a--){const l=t[a];if(e===l.filenameLowercase){r=l;break}if(l.filepattern&&(!o||l.filepattern.length>o.filepattern.length)){const u=l.filepatternOnPath?n:e;!((i=l.filepatternLowercase)===null||i===void 0)&&i.call(l,u)&&(o=l)}l.extension&&(!s||l.extension.length>s.extension.length)&&e.endsWith(l.extensionLowercase)&&(s=l)}if(r)return r;if(o)return o;if(s)return s}function RWt(n){if(lY(n)&&(n=n.substr(1)),n.length>0)for(let e=Vx.length-1;e>=0;e--){const t=Vx[e];if(!t.firstline)continue;const i=n.match(t.firstline);if(i&&i.length>0)return t}}const EV=Object.prototype.hasOwnProperty,dFe="vs.editor.nullLanguage";class ZWt{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(dFe,0),this._register(Pu,1),this._nextLanguageId=2}_register(e,t){this._languageIdToLanguage[t]=e,this._languageToLanguageId.set(e,t)}register(e){if(this._languageToLanguageId.has(e))return;const t=this._nextLanguageId++;this._register(e,t)}encodeLanguageId(e){return this._languageToLanguageId.get(e)||0}decodeLanguageId(e){return this._languageIdToLanguage[e]||dFe}}class kM extends Fe{constructor(e=!0,t=!1){super(),this._onDidChange=this._register(new be),this.onDidChange=this._onDidChange.event,kM.instanceCount++,this._warnOnOverwrite=t,this.languageIdCodec=new ZWt,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},e&&(this._initializeFromRegistry(),this._register(Rw.onDidChangeLanguages(i=>{this._initializeFromRegistry()})))}dispose(){kM.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},kWt();const e=[].concat(Rw.getLanguages()).concat(this._dynamicLanguages);this._registerLanguages(e)}_registerLanguages(e){for(const t of e)this._registerLanguage(t);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach(t=>{const i=this._languages[t];i.name&&(this._nameMap[i.name]=i.identifier),i.aliases.forEach(r=>{this._lowercaseNameMap[r.toLowerCase()]=i.identifier}),i.mimetypes.forEach(r=>{this._mimeTypesMap[r]=i.identifier})}),Do.as(Eh.Configuration).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(e){const t=e.id;let i;EV.call(this._languages,t)?i=this._languages[t]:(this.languageIdCodec.register(t),i={identifier:t,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[t]=i),this._mergeLanguage(i,e)}_mergeLanguage(e,t){const i=t.id;let r=null;if(Array.isArray(t.mimetypes)&&t.mimetypes.length>0&&(e.mimetypes.push(...t.mimetypes),r=t.mimetypes[0]),r||(r=`text/x-${i}`,e.mimetypes.push(r)),Array.isArray(t.extensions)){t.configuration?e.extensions=t.extensions.concat(e.extensions):e.extensions=e.extensions.concat(t.extensions);for(const a of t.extensions)TV({id:i,mime:r,extension:a},this._warnOnOverwrite)}if(Array.isArray(t.filenames))for(const a of t.filenames)TV({id:i,mime:r,filename:a},this._warnOnOverwrite),e.filenames.push(a);if(Array.isArray(t.filenamePatterns))for(const a of t.filenamePatterns)TV({id:i,mime:r,filepattern:a},this._warnOnOverwrite);if(typeof t.firstLine=="string"&&t.firstLine.length>0){let a=t.firstLine;a.charAt(0)!=="^"&&(a="^"+a);try{const l=new RegExp(a);Mmt(l)||TV({id:i,mime:r,firstline:l},this._warnOnOverwrite)}catch{}}e.aliases.push(i);let o=null;if(typeof t.aliases<"u"&&Array.isArray(t.aliases)&&(t.aliases.length===0?o=[null]:o=t.aliases),o!==null)for(const a of o)!a||a.length===0||e.aliases.push(a);const s=o!==null&&o.length>0;if(!(s&&o[0]===null)){const a=(s?o[0]:null)||i;(s||!e.name)&&(e.name=a)}t.configuration&&e.configurationFiles.push(t.configuration),t.icon&&e.icons.push(t.icon)}isRegisteredLanguageId(e){return e?EV.call(this._languages,e):!1}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(e){const t=e.toLowerCase();return EV.call(this._lowercaseNameMap,t)?this._lowercaseNameMap[t]:null}getLanguageIdByMimeType(e){return e&&EV.call(this._mimeTypesMap,e)?this._mimeTypesMap[e]:null}guessLanguageIdByFilepathOrFirstLine(e,t){return!e&&!t?[]:TWt(e,t)}}kM.instanceCount=0;class TM extends Fe{constructor(e=!1){super(),this._onDidRequestBasicLanguageFeatures=this._register(new be),this.onDidRequestBasicLanguageFeatures=this._onDidRequestBasicLanguageFeatures.event,this._onDidRequestRichLanguageFeatures=this._register(new be),this.onDidRequestRichLanguageFeatures=this._onDidRequestRichLanguageFeatures.event,this._onDidChange=this._register(new be({leakWarningThreshold:200})),this.onDidChange=this._onDidChange.event,this._requestedBasicLanguages=new Set,this._requestedRichLanguages=new Set,TM.instanceCount++,this._registry=this._register(new kM(!0,e)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange(()=>this._onDidChange.fire()))}dispose(){TM.instanceCount--,super.dispose()}isRegisteredLanguageId(e){return this._registry.isRegisteredLanguageId(e)}getLanguageIdByLanguageName(e){return this._registry.getLanguageIdByLanguageName(e)}getLanguageIdByMimeType(e){return this._registry.getLanguageIdByMimeType(e)}guessLanguageIdByFilepathOrFirstLine(e,t){const i=this._registry.guessLanguageIdByFilepathOrFirstLine(e,t);return zY(i,null)}createById(e){return new hFe(this.onDidChange,()=>this._createAndGetLanguageIdentifier(e))}createByFilepathOrFirstLine(e,t){return new hFe(this.onDidChange,()=>{const i=this.guessLanguageIdByFilepathOrFirstLine(e,t);return this._createAndGetLanguageIdentifier(i)})}_createAndGetLanguageIdentifier(e){return(!e||!this.isRegisteredLanguageId(e))&&(e=Pu),e}requestBasicLanguageFeatures(e){this._requestedBasicLanguages.has(e)||(this._requestedBasicLanguages.add(e),this._onDidRequestBasicLanguageFeatures.fire(e))}requestRichLanguageFeatures(e){this._requestedRichLanguages.has(e)||(this._requestedRichLanguages.add(e),this.requestBasicLanguageFeatures(e),bo.getOrCreate(e),this._onDidRequestRichLanguageFeatures.fire(e))}}TM.instanceCount=0;class hFe{constructor(e,t){this._onDidChangeLanguages=e,this._selector=t,this._listener=null,this._emitter=null,this.languageId=this._selector()}_dispose(){this._listener&&(this._listener.dispose(),this._listener=null),this._emitter&&(this._emitter.dispose(),this._emitter=null)}get onDidChange(){return this._listener||(this._listener=this._onDidChangeLanguages(()=>this._evaluate())),this._emitter||(this._emitter=new be({onDidRemoveLastListener:()=>{this._dispose()}})),this._emitter.event}_evaluate(){var e;const t=this._selector();t!==this.languageId&&(this.languageId=t,(e=this._emitter)===null||e===void 0||e.fire(this.languageId))}}const e$=/\(&([^\s&])\)|(^|[^&])&([^\s&])/,t$=/(&)?(&)([^\s&])/g;var RV;(function(n){n[n.Right=0]="Right",n[n.Left=1]="Left"})(RV||(RV={}));var n$;(function(n){n[n.Above=0]="Above",n[n.Below=1]="Below"})(n$||(n$={}));class Gx extends Uc{constructor(e,t,i,r){e.classList.add("monaco-menu-container"),e.setAttribute("role","presentation");const o=document.createElement("div");o.classList.add("monaco-menu"),o.setAttribute("role","presentation"),super(o,{orientation:1,actionViewItemProvider:u=>this.doGetActionViewItem(u,i,s),context:i.context,actionRunner:i.actionRunner,ariaLabel:i.ariaLabel,ariaRole:"menu",focusOnlyEnabledItems:!0,triggerKeys:{keys:[3,...On||Ja?[10]:[]],keyDown:!0}}),this.menuStyles=r,this.menuElement=o,this.actionsList.tabIndex=0,this.initializeOrUpdateStyleSheet(e,r),this._register(nr.addTarget(o)),this._register(Ve(o,ot.KEY_DOWN,u=>{new or(u).equals(2)&&u.preventDefault()})),i.enableMnemonics&&this._register(Ve(o,ot.KEY_DOWN,u=>{const c=u.key.toLocaleLowerCase();if(this.mnemonics.has(c)){An.stop(u,!0);const d=this.mnemonics.get(c);if(d.length===1&&(d[0]instanceof fFe&&d[0].container&&this.focusItemByElement(d[0].container),d[0].onClick(u)),d.length>1){const h=d.shift();h&&h.container&&(this.focusItemByElement(h.container),d.push(h)),this.mnemonics.set(c,d)}}})),Ja&&this._register(Ve(o,ot.KEY_DOWN,u=>{const c=new or(u);c.equals(14)||c.equals(11)?(this.focusedItem=this.viewItems.length-1,this.focusNext(),An.stop(u,!0)):(c.equals(13)||c.equals(12))&&(this.focusedItem=0,this.focusPrevious(),An.stop(u,!0))})),this._register(Ve(this.domNode,ot.MOUSE_OUT,u=>{const c=u.relatedTarget;ps(c,this.domNode)||(this.focusedItem=void 0,this.updateFocus(),u.stopPropagation())})),this._register(Ve(this.actionsList,ot.MOUSE_OVER,u=>{let c=u.target;if(!(!c||!ps(c,this.actionsList)||c===this.actionsList)){for(;c.parentElement!==this.actionsList&&c.parentElement!==null;)c=c.parentElement;if(c.classList.contains("action-item")){const d=this.focusedItem;this.setFocusedItem(c),d!==this.focusedItem&&this.updateFocus()}}})),this._register(nr.addTarget(this.actionsList)),this._register(Ve(this.actionsList,tr.Tap,u=>{let c=u.initialTarget;if(!(!c||!ps(c,this.actionsList)||c===this.actionsList)){for(;c.parentElement!==this.actionsList&&c.parentElement!==null;)c=c.parentElement;if(c.classList.contains("action-item")){const d=this.focusedItem;this.setFocusedItem(c),d!==this.focusedItem&&this.updateFocus()}}}));const s={parent:this};this.mnemonics=new Map,this.scrollableElement=this._register(new WF(o,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0}));const a=this.scrollableElement.getDomNode();a.style.position="",this.styleScrollElement(a,r),this._register(Ve(o,tr.Change,u=>{An.stop(u,!0);const c=this.scrollableElement.getScrollPosition().scrollTop;this.scrollableElement.setScrollPosition({scrollTop:c-u.translationY})})),this._register(Ve(a,ot.MOUSE_UP,u=>{u.preventDefault()}));const l=Qt(e);o.style.maxHeight=`${Math.max(10,l.innerHeight-e.getBoundingClientRect().top-35)}px`,t=t.filter((u,c)=>{var d;return!(!((d=i.submenuIds)===null||d===void 0)&&d.has(u.id)||u instanceof Ao&&(c===t.length-1||c===0||t[c-1]instanceof Ao))}),this.push(t,{icon:!0,label:!0,isMenu:!0}),e.appendChild(this.scrollableElement.getDomNode()),this.scrollableElement.scanDomNode(),this.viewItems.filter(u=>!(u instanceof gFe)).forEach((u,c,d)=>{u.updatePositionInSet(c+1,d.length)})}initializeOrUpdateStyleSheet(e,t){this.styleSheet||(a9(e)?this.styleSheet=Vu(e):(Gx.globalStyleSheet||(Gx.globalStyleSheet=Vu()),this.styleSheet=Gx.globalStyleSheet)),this.styleSheet.textContent=AWt(t,a9(e))}styleScrollElement(e,t){var i,r;const o=(i=t.foregroundColor)!==null&&i!==void 0?i:"",s=(r=t.backgroundColor)!==null&&r!==void 0?r:"",a=t.borderColor?`1px solid ${t.borderColor}`:"",l="5px",u=t.shadowColor?`0 2px 8px ${t.shadowColor}`:"";e.style.outline=a,e.style.borderRadius=l,e.style.color=o,e.style.backgroundColor=s,e.style.boxShadow=u}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(e){const t=this.focusedItem;this.setFocusedItem(e),t!==this.focusedItem&&this.updateFocus()}setFocusedItem(e){for(let t=0;t{this.element&&(this._register(Ve(this.element,ot.MOUSE_UP,o=>{if(An.stop(o,!0),Ic){if(new xd(Qt(this.element),o).rightButton)return;this.onClick(o)}else setTimeout(()=>{this.onClick(o)},0)})),this._register(Ve(this.element,ot.CONTEXT_MENU,o=>{An.stop(o,!0)})))},100),this._register(this.runOnceToEnableMouseUp)}render(e){super.render(e),this.element&&(this.container=e,this.item=je(this.element,Ct("a.action-menu-item")),this._action.id===Ao.ID?this.item.setAttribute("role","presentation"):(this.item.setAttribute("role","menuitem"),this.mnemonic&&this.item.setAttribute("aria-keyshortcuts",`${this.mnemonic}`)),this.check=je(this.item,Ct("span.menu-item-check"+sn.asCSSSelector(ut.menuSelection))),this.check.setAttribute("role","none"),this.label=je(this.item,Ct("span.action-label")),this.options.label&&this.options.keybinding&&(je(this.item,Ct("span.keybinding")).textContent=this.options.keybinding),this.runOnceToEnableMouseUp.schedule(),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked(),this.applyStyle())}blur(){super.blur(),this.applyStyle()}focus(){var e;super.focus(),(e=this.item)===null||e===void 0||e.focus(),this.applyStyle()}updatePositionInSet(e,t){this.item&&(this.item.setAttribute("aria-posinset",`${e}`),this.item.setAttribute("aria-setsize",`${t}`))}updateLabel(){var e;if(this.label&&this.options.label){ma(this.label);let t=QCe(this.action.label);if(t){const i=WWt(t);this.options.enableMnemonics||(t=i),this.label.setAttribute("aria-label",i.replace(/&&/g,"&"));const r=e$.exec(t);if(r){t=zR(t),t$.lastIndex=0;let o=t$.exec(t);for(;o&&o[1];)o=t$.exec(t);const s=a=>a.replace(/&&/g,"&");o?this.label.append(HR(s(t.substr(0,o.index))," "),Ct("u",{"aria-hidden":"true"},o[3]),Dmt(s(t.substr(o.index+o[0].length))," ")):this.label.innerText=s(t).trim(),(e=this.item)===null||e===void 0||e.setAttribute("aria-keyshortcuts",(r[1]?r[1]:r[3]).toLocaleLowerCase())}else this.label.innerText=t.replace(/&&/g,"&").trim()}}}updateTooltip(){}updateClass(){this.cssClass&&this.item&&this.item.classList.remove(...this.cssClass.split(" ")),this.options.icon&&this.label?(this.cssClass=this.action.class||"",this.label.classList.add("icon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" ")),this.updateEnabled()):this.label&&this.label.classList.remove("icon")}updateEnabled(){this.action.enabled?(this.element&&(this.element.classList.remove("disabled"),this.element.removeAttribute("aria-disabled")),this.item&&(this.item.classList.remove("disabled"),this.item.removeAttribute("aria-disabled"),this.item.tabIndex=0)):(this.element&&(this.element.classList.add("disabled"),this.element.setAttribute("aria-disabled","true")),this.item&&(this.item.classList.add("disabled"),this.item.setAttribute("aria-disabled","true")))}updateChecked(){if(!this.item)return;const e=this.action.checked;this.item.classList.toggle("checked",!!e),e!==void 0?(this.item.setAttribute("role","menuitemcheckbox"),this.item.setAttribute("aria-checked",e?"true":"false")):(this.item.setAttribute("role","menuitem"),this.item.setAttribute("aria-checked",""))}getMnemonic(){return this.mnemonic}applyStyle(){const e=this.element&&this.element.classList.contains("focused"),t=e&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,i=e&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0,r=e&&this.menuStyle.selectionBorderColor?`1px solid ${this.menuStyle.selectionBorderColor}`:"",o=e&&this.menuStyle.selectionBorderColor?"-1px":"";this.item&&(this.item.style.color=t??"",this.item.style.backgroundColor=i??"",this.item.style.outline=r,this.item.style.outlineOffset=o),this.check&&(this.check.style.color=t??"")}}class fFe extends mFe{constructor(e,t,i,r,o){super(e,e,r,o),this.submenuActions=t,this.parentData=i,this.submenuOptions=r,this.mysubmenu=null,this.submenuDisposables=this._register(new Je),this.mouseOver=!1,this.expandDirection=r&&r.expandDirection!==void 0?r.expandDirection:{horizontal:RV.Right,vertical:n$.Below},this.showScheduler=new Wi(()=>{this.mouseOver&&(this.cleanupExistingSubmenu(!1),this.createSubmenu(!1))},250),this.hideScheduler=new Wi(()=>{this.element&&!ps(js(),this.element)&&this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))},750)}render(e){super.render(e),this.element&&(this.item&&(this.item.classList.add("monaco-submenu-item"),this.item.tabIndex=0,this.item.setAttribute("aria-haspopup","true"),this.updateAriaExpanded("false"),this.submenuIndicator=je(this.item,Ct("span.submenu-indicator"+sn.asCSSSelector(ut.menuSubmenu))),this.submenuIndicator.setAttribute("aria-hidden","true")),this._register(Ve(this.element,ot.KEY_UP,t=>{const i=new or(t);(i.equals(17)||i.equals(3))&&(An.stop(t,!0),this.createSubmenu(!0))})),this._register(Ve(this.element,ot.KEY_DOWN,t=>{const i=new or(t);js()===this.item&&(i.equals(17)||i.equals(3))&&An.stop(t,!0)})),this._register(Ve(this.element,ot.MOUSE_OVER,t=>{this.mouseOver||(this.mouseOver=!0,this.showScheduler.schedule())})),this._register(Ve(this.element,ot.MOUSE_LEAVE,t=>{this.mouseOver=!1})),this._register(Ve(this.element,ot.FOCUS_OUT,t=>{this.element&&!ps(js(),this.element)&&this.hideScheduler.schedule()})),this._register(this.parentData.parent.onScroll(()=>{this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))})))}updateEnabled(){}onClick(e){An.stop(e,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(e){if(this.parentData.submenu&&(e||this.parentData.submenu!==this.mysubmenu)){try{this.parentData.submenu.dispose()}catch{}this.parentData.submenu=void 0,this.updateAriaExpanded("false"),this.submenuContainer&&(this.submenuDisposables.clear(),this.submenuContainer=void 0)}}calculateSubmenuMenuLayout(e,t,i,r){const o={top:0,left:0};return o.left=Zx(e.width,t.width,{position:r.horizontal===RV.Right?0:1,offset:i.left,size:i.width}),o.left>=i.left&&o.left{new or(c).equals(15)&&(An.stop(c,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))})),this.submenuDisposables.add(Ve(this.submenuContainer,ot.KEY_DOWN,c=>{new or(c).equals(15)&&An.stop(c,!0)})),this.submenuDisposables.add(this.parentData.submenu.onDidCancel(()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)})),this.parentData.submenu.focus(e),this.mysubmenu=this.parentData.submenu}}updateAriaExpanded(e){var t;this.item&&((t=this.item)===null||t===void 0||t.setAttribute("aria-expanded",e))}applyStyle(){super.applyStyle();const t=this.element&&this.element.classList.contains("focused")&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator&&(this.submenuIndicator.style.color=t??"")}dispose(){super.dispose(),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer=void 0)}}class gFe extends M2{constructor(e,t,i,r){super(e,t,i),this.menuStyles=r}render(e){super.render(e),this.label&&(this.label.style.borderBottomColor=this.menuStyles.separatorColor?`${this.menuStyles.separatorColor}`:"")}}function WWt(n){const e=e$,t=e.exec(n);if(!t)return n;const i=!t[1];return n.replace(e,i?"$2$3":"").trim()}function pFe(n){const e=O0e()[n.id];return`.codicon-${n.id}:before { content: '\\${e.toString(16)}'; }`}function AWt(n,e){let t=` .monaco-menu { font-size: 13px; border-radius: 5px; min-width: 160px; } -${pIe(ut.menuSelection)} -${pIe(ut.menuSubmenu)} +${pFe(ut.menuSelection)} +${pFe(ut.menuSubmenu)} .monaco-menu .monaco-action-bar { text-align: right; @@ -1272,51 +1272,51 @@ ${pIe(ut.menuSubmenu)} .monaco-scrollable-element > .scrollbar > .slider.active { background: ${s}; } - `)}return t}class ARt{constructor(e,t,i,r){this.contextViewService=e,this.telemetryService=t,this.notificationService=i,this.keybindingService=r,this.focusToReturn=null,this.lastContainer=null,this.block=null,this.blockDisposable=null,this.options={blockMouse:!0}}configure(e){this.options=e}showContextMenu(e){const t=e.getActions();if(!t.length)return;this.focusToReturn=js();let i;const r=e.domForShadowRoot instanceof HTMLElement?e.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>e.getAnchor(),canRelayout:!1,anchorAlignment:e.anchorAlignment,anchorAxisAlignment:e.anchorAxisAlignment,render:o=>{var s;this.lastContainer=o;const a=e.getMenuClassName?e.getMenuClassName():"";a&&(o.className+=" "+a),this.options.blockMouse&&(this.block=o.appendChild(Ct(".context-view-block")),this.block.style.position="fixed",this.block.style.cursor="initial",this.block.style.left="0",this.block.style.top="0",this.block.style.width="100%",this.block.style.height="100%",this.block.style.zIndex="-1",(s=this.blockDisposable)===null||s===void 0||s.dispose(),this.blockDisposable=Ae(this.block,ot.MOUSE_DOWN,d=>d.stopPropagation()));const l=new Je,u=e.actionRunner||new Kv;u.onWillRun(d=>this.onActionRun(d,!e.skipTelemetry),this,l),u.onDidRun(this.onDidActionRun,this,l),i=new Gx(o,t,{actionViewItemProvider:e.getActionViewItem,context:e.getActionsContext?e.getActionsContext():null,actionRunner:u,getKeyBinding:e.getKeyBinding?e.getKeyBinding:d=>this.keybindingService.lookupKeybinding(d.id)},D_t),i.onDidCancel(()=>this.contextViewService.hideContextView(!0),null,l),i.onDidBlur(()=>this.contextViewService.hideContextView(!0),null,l);const c=Qt(o);return l.add(Ae(c,ot.BLUR,()=>this.contextViewService.hideContextView(!0))),l.add(Ae(c,ot.MOUSE_DOWN,d=>{if(d.defaultPrevented)return;const h=new Ld(c,d);let m=h.target;if(!h.rightButton){for(;m;){if(m===o)return;m=m.parentElement}this.contextViewService.hideContextView(!0)}})),_d(l,i)},focus:()=>{i==null||i.focus(!!e.autoSelectFirstItem)},onHide:o=>{var s,a,l;(s=e.onHide)===null||s===void 0||s.call(e,!!o),this.block&&(this.block.remove(),this.block=null),(a=this.blockDisposable)===null||a===void 0||a.dispose(),this.blockDisposable=null,this.lastContainer&&(js()===this.lastContainer||ps(js(),this.lastContainer))&&((l=this.focusToReturn)===null||l===void 0||l.focus()),this.lastContainer=null}},r,!!r)}onActionRun(e,t){t&&this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1)}onDidActionRun(e){e.error&&!Gm(e.error)&&this.notificationService.error(e.error)}}var GRt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Xx=function(n,e){return function(t,i){e(t,i,n)}};let i$=class extends Ie{get contextMenuHandler(){return this._contextMenuHandler||(this._contextMenuHandler=new ARt(this.contextViewService,this.telemetryService,this.notificationService,this.keybindingService)),this._contextMenuHandler}constructor(e,t,i,r,o,s){super(),this.telemetryService=e,this.notificationService=t,this.contextViewService=i,this.keybindingService=r,this.menuService=o,this.contextKeyService=s,this._contextMenuHandler=void 0,this._onDidShowContextMenu=this._store.add(new be),this.onDidShowContextMenu=this._onDidShowContextMenu.event,this._onDidHideContextMenu=this._store.add(new be)}configure(e){this.contextMenuHandler.configure(e)}showContextMenu(e){e=r$.transform(e,this.menuService,this.contextKeyService),this.contextMenuHandler.showContextMenu({...e,onHide:t=>{var i;(i=e.onHide)===null||i===void 0||i.call(e,t),this._onDidHideContextMenu.fire()}}),kg.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};i$=GRt([Xx(0,Zl),Xx(1,ko),Xx(2,pp),Xx(3,Bi),Xx(4,Gu),Xx(5,ln)],i$);var r$;(function(n){function e(i){return i&&i.menuId instanceof Q}function t(i,r,o){if(!e(i))return i;const{menuId:s,menuActionOptions:a,contextKeyService:l}=i;return{...i,getActions:()=>{const u=[];if(s){const c=r.createMenu(s,l??o);M_t(c,a,u),c.dispose()}return i.getActions?Vo.join(i.getActions(),u):u}}}n.transform=t})(r$||(r$={}));var WA;(function(n){n[n.API=0]="API",n[n.USER=1]="USER"})(WA||(WA={}));var o$=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},RA=function(n,e){return function(t,i){e(t,i,n)}};let s$=class{constructor(e){this._commandService=e}async open(e,t){if(!mY(e,wn.command))return!1;if(!(t!=null&&t.allowCommands)||(typeof e=="string"&&(e=en.parse(e)),Array.isArray(t.allowCommands)&&!t.allowCommands.includes(e.path)))return!0;let i=[];try{i=lU(decodeURIComponent(e.query))}catch{try{i=lU(e.query)}catch{}}return Array.isArray(i)||(i=[i]),await this._commandService.executeCommand(e.path,...i),!0}};s$=o$([RA(0,Xr)],s$);let a$=class{constructor(e){this._editorService=e}async open(e,t){typeof e=="string"&&(e=en.parse(e));const{selection:i,uri:r}=SFt(e);return e=r,e.scheme===wn.file&&(e=PCt(e)),await this._editorService.openCodeEditor({resource:e,options:{selection:i,source:t!=null&&t.fromUserGesture?WA.USER:WA.API,...t==null?void 0:t.editorOptions}},this._editorService.getFocusedCodeEditor(),t==null?void 0:t.openToSide),!0}};a$=o$([RA(0,vi)],a$);let l$=class{constructor(e,t){this._openers=new ja,this._validators=new ja,this._resolvers=new ja,this._resolvedUriTargets=new to(i=>i.with({path:null,fragment:null,query:null}).toString()),this._externalOpeners=new ja,this._defaultExternalOpener={openExternal:async i=>(w0e(i,wn.http,wn.https)?A0e(i):Wi.location.href=i,!0)},this._openers.push({open:async(i,r)=>r!=null&&r.openExternal||w0e(i,wn.mailto,wn.http,wn.https,wn.vsls)?(await this._doOpenExternal(i,r),!0):!1}),this._openers.push(new s$(t)),this._openers.push(new a$(e))}registerOpener(e){return{dispose:this._openers.unshift(e)}}async open(e,t){var i;const r=typeof e=="string"?en.parse(e):e,o=(i=this._resolvedUriTargets.get(r))!==null&&i!==void 0?i:e;for(const s of this._validators)if(!await s.shouldOpen(o,t))return!1;for(const s of this._openers)if(await s.open(e,t))return!0;return!1}async resolveExternalUri(e,t){for(const i of this._resolvers)try{const r=await i.resolveExternalUri(e,t);if(r)return this._resolvedUriTargets.has(r.resolved)||this._resolvedUriTargets.set(r.resolved,e),r}catch{}throw new Error("Could not resolve external URI: "+e.toString())}async _doOpenExternal(e,t){const i=typeof e=="string"?en.parse(e):e;let r;try{r=(await this.resolveExternalUri(i,t)).resolved}catch{r=i}let o;if(typeof e=="string"&&i.toString()===r.toString()?o=e:o=encodeURI(r.toString(!0)),t!=null&&t.allowContributedOpeners){const s=typeof(t==null?void 0:t.allowContributedOpeners)=="string"?t==null?void 0:t.allowContributedOpeners:void 0;for(const a of this._externalOpeners)if(await a.openExternal(o,{sourceUri:i,preferredOpenerId:s},Yn.None))return!0}return this._defaultExternalOpener.openExternal(o,{sourceUri:i},Yn.None)}dispose(){this._validators.clear()}};l$=o$([RA(0,vi),RA(1,Xr)],l$);var XRt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},bIe=function(n,e){return function(t,i){e(t,i,n)}};let u$=class extends Ie{constructor(e,t){super(),this._markerService=t,this._onDidChangeMarker=this._register(new be),this._markerDecorations=new to,e.getModels().forEach(i=>this._onModelAdded(i)),this._register(e.onModelAdded(this._onModelAdded,this)),this._register(e.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach(e=>e.dispose()),this._markerDecorations.clear()}getMarker(e,t){const i=this._markerDecorations.get(e);return i&&i.getMarker(t)||null}_handleMarkerChange(e){e.forEach(t=>{const i=this._markerDecorations.get(t);i&&this._updateDecorations(i)})}_onModelAdded(e){const t=new PRt(e);this._markerDecorations.set(e.uri,t),this._updateDecorations(t)}_onModelRemoved(e){var t;const i=this._markerDecorations.get(e.uri);i&&(i.dispose(),this._markerDecorations.delete(e.uri)),(e.uri.scheme===wn.inMemory||e.uri.scheme===wn.internal||e.uri.scheme===wn.vscode)&&((t=this._markerService)===null||t===void 0||t.read({resource:e.uri}).map(r=>r.owner).forEach(r=>this._markerService.remove(r,[e.uri])))}_updateDecorations(e){const t=this._markerService.read({resource:e.model.uri,take:500});e.update(t)&&this._onDidChangeMarker.fire(e.model)}};u$=XRt([bIe(0,xr),bIe(1,If)],u$);class PRt extends Ie{constructor(e){super(),this.model=e,this._map=new Lgt,this._register(jt(()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()}))}update(e){const{added:t,removed:i}=m_t(new Set(this._map.keys()),new Set(e));if(t.length===0&&i.length===0)return!1;const r=i.map(a=>this._map.get(a)),o=t.map(a=>({range:this._createDecorationRange(this.model,a),options:this._createDecorationOption(a)})),s=this.model.deltaDecorations(r,o);for(const a of i)this._map.delete(a);for(let a=0;a=r)return i;const o=e.getWordAtPosition(i.getStartPosition());o&&(i=new J(i.startLineNumber,o.startColumn,i.endLineNumber,o.endColumn))}else if(t.endColumn===Number.MAX_VALUE&&t.startColumn===1&&i.startLineNumber===i.endLineNumber){const r=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);r=0:!1}}var ORt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Ek=function(n,e){return function(t,i){e(t,i,n)}},Px;function SC(n){return n.toString()}class BRt{constructor(e,t,i){this.model=e,this._modelEventListeners=new Je,this.model=e,this._modelEventListeners.add(e.onWillDispose(()=>t(e))),this._modelEventListeners.add(e.onDidChangeLanguage(r=>i(e,r)))}dispose(){this._modelEventListeners.dispose()}}const zRt=Ja||On?1:2;class HRt{constructor(e,t,i,r,o,s,a,l){this.uri=e,this.initialUndoRedoSnapshot=t,this.time=i,this.sharesUndoRedoStack=r,this.heapSize=o,this.sha1=s,this.versionId=a,this.alternativeVersionId=l}}let VA=Px=class extends Ie{constructor(e,t,i,r,o){super(),this._configurationService=e,this._resourcePropertiesService=t,this._undoRedoService=i,this._languageService=r,this._languageConfigurationService=o,this._onModelAdded=this._register(new be),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new be),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new be),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration(s=>this._updateModelOptions(s))),this._updateModelOptions(void 0)}static _readModelOptions(e,t){var i;let r=pa.tabSize;if(e.editor&&typeof e.editor.tabSize<"u"){const m=parseInt(e.editor.tabSize,10);isNaN(m)||(r=m),r<1&&(r=1)}let o="tabSize";if(e.editor&&typeof e.editor.indentSize<"u"&&e.editor.indentSize!=="tabSize"){const m=parseInt(e.editor.indentSize,10);isNaN(m)||(o=Math.max(m,1))}let s=pa.insertSpaces;e.editor&&typeof e.editor.insertSpaces<"u"&&(s=e.editor.insertSpaces==="false"?!1:!!e.editor.insertSpaces);let a=zRt;const l=e.eol;l===`\r + `)}return t}class VWt{constructor(e,t,i,r){this.contextViewService=e,this.telemetryService=t,this.notificationService=i,this.keybindingService=r,this.focusToReturn=null,this.lastContainer=null,this.block=null,this.blockDisposable=null,this.options={blockMouse:!0}}configure(e){this.options=e}showContextMenu(e){const t=e.getActions();if(!t.length)return;this.focusToReturn=js();let i;const r=e.domForShadowRoot instanceof HTMLElement?e.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>e.getAnchor(),canRelayout:!1,anchorAlignment:e.anchorAlignment,anchorAxisAlignment:e.anchorAxisAlignment,render:o=>{var s;this.lastContainer=o;const a=e.getMenuClassName?e.getMenuClassName():"";a&&(o.className+=" "+a),this.options.blockMouse&&(this.block=o.appendChild(Ct(".context-view-block")),this.block.style.position="fixed",this.block.style.cursor="initial",this.block.style.left="0",this.block.style.top="0",this.block.style.width="100%",this.block.style.height="100%",this.block.style.zIndex="-1",(s=this.blockDisposable)===null||s===void 0||s.dispose(),this.blockDisposable=Ve(this.block,ot.MOUSE_DOWN,d=>d.stopPropagation()));const l=new Je,u=e.actionRunner||new Ky;u.onWillRun(d=>this.onActionRun(d,!e.skipTelemetry),this,l),u.onDidRun(this.onDidActionRun,this,l),i=new Gx(o,t,{actionViewItemProvider:e.getActionViewItem,context:e.getActionsContext?e.getActionsContext():null,actionRunner:u,getKeyBinding:e.getKeyBinding?e.getKeyBinding:d=>this.keybindingService.lookupKeybinding(d.id)},DLt),i.onDidCancel(()=>this.contextViewService.hideContextView(!0),null,l),i.onDidBlur(()=>this.contextViewService.hideContextView(!0),null,l);const c=Qt(o);return l.add(Ve(c,ot.BLUR,()=>this.contextViewService.hideContextView(!0))),l.add(Ve(c,ot.MOUSE_DOWN,d=>{if(d.defaultPrevented)return;const h=new xd(c,d);let m=h.target;if(!h.rightButton){for(;m;){if(m===o)return;m=m.parentElement}this.contextViewService.hideContextView(!0)}})),_d(l,i)},focus:()=>{i==null||i.focus(!!e.autoSelectFirstItem)},onHide:o=>{var s,a,l;(s=e.onHide)===null||s===void 0||s.call(e,!!o),this.block&&(this.block.remove(),this.block=null),(a=this.blockDisposable)===null||a===void 0||a.dispose(),this.blockDisposable=null,this.lastContainer&&(js()===this.lastContainer||ps(js(),this.lastContainer))&&((l=this.focusToReturn)===null||l===void 0||l.focus()),this.lastContainer=null}},r,!!r)}onActionRun(e,t){t&&this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1)}onDidActionRun(e){e.error&&!Gm(e.error)&&this.notificationService.error(e.error)}}var GWt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Xx=function(n,e){return function(t,i){e(t,i,n)}};let i$=class extends Fe{get contextMenuHandler(){return this._contextMenuHandler||(this._contextMenuHandler=new VWt(this.contextViewService,this.telemetryService,this.notificationService,this.keybindingService)),this._contextMenuHandler}constructor(e,t,i,r,o,s){super(),this.telemetryService=e,this.notificationService=t,this.contextViewService=i,this.keybindingService=r,this.menuService=o,this.contextKeyService=s,this._contextMenuHandler=void 0,this._onDidShowContextMenu=this._store.add(new be),this.onDidShowContextMenu=this._onDidShowContextMenu.event,this._onDidHideContextMenu=this._store.add(new be)}configure(e){this.contextMenuHandler.configure(e)}showContextMenu(e){e=r$.transform(e,this.menuService,this.contextKeyService),this.contextMenuHandler.showContextMenu({...e,onHide:t=>{var i;(i=e.onHide)===null||i===void 0||i.call(e,t),this._onDidHideContextMenu.fire()}}),Mg.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};i$=GWt([Xx(0,Rl),Xx(1,Mo),Xx(2,pp),Xx(3,Oi),Xx(4,Gu),Xx(5,ln)],i$);var r$;(function(n){function e(i){return i&&i.menuId instanceof Q}function t(i,r,o){if(!e(i))return i;const{menuId:s,menuActionOptions:a,contextKeyService:l}=i;return{...i,getActions:()=>{const u=[];if(s){const c=r.createMenu(s,l??o);NLt(c,a,u),c.dispose()}return i.getActions?Ao.join(i.getActions(),u):u}}}n.transform=t})(r$||(r$={}));var ZV;(function(n){n[n.API=0]="API",n[n.USER=1]="USER"})(ZV||(ZV={}));var o$=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},WV=function(n,e){return function(t,i){e(t,i,n)}};let s$=class{constructor(e){this._commandService=e}async open(e,t){if(!mY(e,Sn.command))return!1;if(!(t!=null&&t.allowCommands)||(typeof e=="string"&&(e=en.parse(e)),Array.isArray(t.allowCommands)&&!t.allowCommands.includes(e.path)))return!0;let i=[];try{i=lU(decodeURIComponent(e.query))}catch{try{i=lU(e.query)}catch{}}return Array.isArray(i)||(i=[i]),await this._commandService.executeCommand(e.path,...i),!0}};s$=o$([WV(0,Xr)],s$);let a$=class{constructor(e){this._editorService=e}async open(e,t){typeof e=="string"&&(e=en.parse(e));const{selection:i,uri:r}=wIt(e);return e=r,e.scheme===Sn.file&&(e=PCt(e)),await this._editorService.openCodeEditor({resource:e,options:{selection:i,source:t!=null&&t.fromUserGesture?ZV.USER:ZV.API,...t==null?void 0:t.editorOptions}},this._editorService.getFocusedCodeEditor(),t==null?void 0:t.openToSide),!0}};a$=o$([WV(0,yi)],a$);let l$=class{constructor(e,t){this._openers=new ja,this._validators=new ja,this._resolvers=new ja,this._resolvedUriTargets=new to(i=>i.with({path:null,fragment:null,query:null}).toString()),this._externalOpeners=new ja,this._defaultExternalOpener={openExternal:async i=>(S0e(i,Sn.http,Sn.https)?V0e(i):Zi.location.href=i,!0)},this._openers.push({open:async(i,r)=>r!=null&&r.openExternal||S0e(i,Sn.mailto,Sn.http,Sn.https,Sn.vsls)?(await this._doOpenExternal(i,r),!0):!1}),this._openers.push(new s$(t)),this._openers.push(new a$(e))}registerOpener(e){return{dispose:this._openers.unshift(e)}}async open(e,t){var i;const r=typeof e=="string"?en.parse(e):e,o=(i=this._resolvedUriTargets.get(r))!==null&&i!==void 0?i:e;for(const s of this._validators)if(!await s.shouldOpen(o,t))return!1;for(const s of this._openers)if(await s.open(e,t))return!0;return!1}async resolveExternalUri(e,t){for(const i of this._resolvers)try{const r=await i.resolveExternalUri(e,t);if(r)return this._resolvedUriTargets.has(r.resolved)||this._resolvedUriTargets.set(r.resolved,e),r}catch{}throw new Error("Could not resolve external URI: "+e.toString())}async _doOpenExternal(e,t){const i=typeof e=="string"?en.parse(e):e;let r;try{r=(await this.resolveExternalUri(i,t)).resolved}catch{r=i}let o;if(typeof e=="string"&&i.toString()===r.toString()?o=e:o=encodeURI(r.toString(!0)),t!=null&&t.allowContributedOpeners){const s=typeof(t==null?void 0:t.allowContributedOpeners)=="string"?t==null?void 0:t.allowContributedOpeners:void 0;for(const a of this._externalOpeners)if(await a.openExternal(o,{sourceUri:i,preferredOpenerId:s},Yn.None))return!0}return this._defaultExternalOpener.openExternal(o,{sourceUri:i},Yn.None)}dispose(){this._validators.clear()}};l$=o$([WV(0,yi),WV(1,Xr)],l$);var XWt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},bFe=function(n,e){return function(t,i){e(t,i,n)}};let u$=class extends Fe{constructor(e,t){super(),this._markerService=t,this._onDidChangeMarker=this._register(new be),this._markerDecorations=new to,e.getModels().forEach(i=>this._onModelAdded(i)),this._register(e.onModelAdded(this._onModelAdded,this)),this._register(e.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach(e=>e.dispose()),this._markerDecorations.clear()}getMarker(e,t){const i=this._markerDecorations.get(e);return i&&i.getMarker(t)||null}_handleMarkerChange(e){e.forEach(t=>{const i=this._markerDecorations.get(t);i&&this._updateDecorations(i)})}_onModelAdded(e){const t=new PWt(e);this._markerDecorations.set(e.uri,t),this._updateDecorations(t)}_onModelRemoved(e){var t;const i=this._markerDecorations.get(e.uri);i&&(i.dispose(),this._markerDecorations.delete(e.uri)),(e.uri.scheme===Sn.inMemory||e.uri.scheme===Sn.internal||e.uri.scheme===Sn.vscode)&&((t=this._markerService)===null||t===void 0||t.read({resource:e.uri}).map(r=>r.owner).forEach(r=>this._markerService.remove(r,[e.uri])))}_updateDecorations(e){const t=this._markerService.read({resource:e.model.uri,take:500});e.update(t)&&this._onDidChangeMarker.fire(e.model)}};u$=XWt([bFe(0,wr),bFe(1,Ff)],u$);class PWt extends Fe{constructor(e){super(),this.model=e,this._map=new _gt,this._register(jt(()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()}))}update(e){const{added:t,removed:i}=mLt(new Set(this._map.keys()),new Set(e));if(t.length===0&&i.length===0)return!1;const r=i.map(a=>this._map.get(a)),o=t.map(a=>({range:this._createDecorationRange(this.model,a),options:this._createDecorationOption(a)})),s=this.model.deltaDecorations(r,o);for(const a of i)this._map.delete(a);for(let a=0;a=r)return i;const o=e.getWordAtPosition(i.getStartPosition());o&&(i=new J(i.startLineNumber,o.startColumn,i.endLineNumber,o.endColumn))}else if(t.endColumn===Number.MAX_VALUE&&t.startColumn===1&&i.startLineNumber===i.endLineNumber){const r=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);r=0:!1}}var OWt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},EM=function(n,e){return function(t,i){e(t,i,n)}},Px;function wC(n){return n.toString()}class BWt{constructor(e,t,i){this.model=e,this._modelEventListeners=new Je,this.model=e,this._modelEventListeners.add(e.onWillDispose(()=>t(e))),this._modelEventListeners.add(e.onDidChangeLanguage(r=>i(e,r)))}dispose(){this._modelEventListeners.dispose()}}const zWt=Ja||On?1:2;class HWt{constructor(e,t,i,r,o,s,a,l){this.uri=e,this.initialUndoRedoSnapshot=t,this.time=i,this.sharesUndoRedoStack=r,this.heapSize=o,this.sha1=s,this.versionId=a,this.alternativeVersionId=l}}let AV=Px=class extends Fe{constructor(e,t,i,r,o){super(),this._configurationService=e,this._resourcePropertiesService=t,this._undoRedoService=i,this._languageService=r,this._languageConfigurationService=o,this._onModelAdded=this._register(new be),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new be),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new be),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration(s=>this._updateModelOptions(s))),this._updateModelOptions(void 0)}static _readModelOptions(e,t){var i;let r=pa.tabSize;if(e.editor&&typeof e.editor.tabSize<"u"){const m=parseInt(e.editor.tabSize,10);isNaN(m)||(r=m),r<1&&(r=1)}let o="tabSize";if(e.editor&&typeof e.editor.indentSize<"u"&&e.editor.indentSize!=="tabSize"){const m=parseInt(e.editor.indentSize,10);isNaN(m)||(o=Math.max(m,1))}let s=pa.insertSpaces;e.editor&&typeof e.editor.insertSpaces<"u"&&(s=e.editor.insertSpaces==="false"?!1:!!e.editor.insertSpaces);let a=zWt;const l=e.eol;l===`\r `?a=2:l===` `&&(a=1);let u=pa.trimAutoWhitespace;e.editor&&typeof e.editor.trimAutoWhitespace<"u"&&(u=e.editor.trimAutoWhitespace==="false"?!1:!!e.editor.trimAutoWhitespace);let c=pa.detectIndentation;e.editor&&typeof e.editor.detectIndentation<"u"&&(c=e.editor.detectIndentation==="false"?!1:!!e.editor.detectIndentation);let d=pa.largeFileOptimizations;e.editor&&typeof e.editor.largeFileOptimizations<"u"&&(d=e.editor.largeFileOptimizations==="false"?!1:!!e.editor.largeFileOptimizations);let h=pa.bracketPairColorizationOptions;return!((i=e.editor)===null||i===void 0)&&i.bracketPairColorization&&typeof e.editor.bracketPairColorization=="object"&&(h={enabled:!!e.editor.bracketPairColorization.enabled,independentColorPoolPerBracketType:!!e.editor.bracketPairColorization.independentColorPoolPerBracketType}),{isForSimpleWidget:t,tabSize:r,indentSize:o,insertSpaces:s,detectIndentation:c,defaultEOL:a,trimAutoWhitespace:u,largeFileOptimizations:d,bracketPairColorizationOptions:h}}_getEOL(e,t){if(e)return this._resourcePropertiesService.getEOL(e,t);const i=this._configurationService.getValue("files.eol",{overrideIdentifier:t});return i&&typeof i=="string"&&i!=="auto"?i:ru===3||ru===2?` `:`\r -`}_shouldRestoreUndoStack(){const e=this._configurationService.getValue("files.restoreUndoStack");return typeof e=="boolean"?e:!0}getCreationOptions(e,t,i){const r=typeof e=="string"?e:e.languageId;let o=this._modelCreationOptionsByLanguageAndResource[r+t];if(!o){const s=this._configurationService.getValue("editor",{overrideIdentifier:r,resource:t}),a=this._getEOL(t,r);o=Px._readModelOptions({editor:s,eol:a},i),this._modelCreationOptionsByLanguageAndResource[r+t]=o}return o}_updateModelOptions(e){const t=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const i=Object.keys(this._models);for(let r=0,o=i.length;re){const t=[];for(this._disposedModels.forEach(i=>{i.sharesUndoRedoStack||t.push(i)}),t.sort((i,r)=>i.time-r.time);t.length>0&&this._disposedModelsHeapSize>e;){const i=t.shift();this._removeDisposedModel(i.uri),i.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(i.initialUndoRedoSnapshot)}}}_createModelData(e,t,i,r){const o=this.getCreationOptions(t,i,r),s=new ff(e,t,o,i,this._undoRedoService,this._languageService,this._languageConfigurationService);if(i&&this._disposedModels.has(SC(i))){const u=this._removeDisposedModel(i),c=this._undoRedoService.getElements(i),d=this._getSHA1Computer(),h=d.canComputeSHA1(s)?d.computeSHA1(s)===u.sha1:!1;if(h||u.sharesUndoRedoStack){for(const m of c.past)tp(m)&&m.matchesResource(i)&&m.setModel(s);for(const m of c.future)tp(m)&&m.matchesResource(i)&&m.setModel(s);this._undoRedoService.setElementsValidFlag(i,!0,m=>tp(m)&&m.matchesResource(i)),h&&(s._overwriteVersionId(u.versionId),s._overwriteAlternativeVersionId(u.alternativeVersionId),s._overwriteInitialUndoRedoSnapshot(u.initialUndoRedoSnapshot))}else u.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(u.initialUndoRedoSnapshot)}const a=SC(s.uri);if(this._models[a])throw new Error("ModelService: Cannot add model because it already exists!");const l=new BRt(s,u=>this._onWillDispose(u),(u,c)=>this._onDidChangeLanguage(u,c));return this._models[a]=l,l}createModel(e,t,i,r=!1){let o;return t?o=this._createModelData(e,t,i,r):o=this._createModelData(e,Pu,i,r),this._onModelAdded.fire(o.model),o.model}getModels(){const e=[],t=Object.keys(this._models);for(let i=0,r=t.length;i0||u.future.length>0){for(const c of u.past)tp(c)&&c.matchesResource(e.uri)&&(o=!0,s+=c.heapSize(e.uri),c.setModel(e.uri));for(const c of u.future)tp(c)&&c.matchesResource(e.uri)&&(o=!0,s+=c.heapSize(e.uri),c.setModel(e.uri))}}const a=Px.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,l=this._getSHA1Computer();if(o)if(!r&&(s>a||!l.canComputeSHA1(e))){const u=i.model.getInitialUndoRedoSnapshot();u!==null&&this._undoRedoService.restoreSnapshot(u)}else this._ensureDisposedModelsHeapSize(a-s),this._undoRedoService.setElementsValidFlag(e.uri,!1,u=>tp(u)&&u.matchesResource(e.uri)),this._insertDisposedModel(new HRt(e.uri,i.model.getInitialUndoRedoSnapshot(),Date.now(),r,s,l.computeSHA1(e),e.getVersionId(),e.getAlternativeVersionId()));else if(!r){const u=i.model.getInitialUndoRedoSnapshot();u!==null&&this._undoRedoService.restoreSnapshot(u)}delete this._models[t],i.dispose(),delete this._modelCreationOptionsByLanguageAndResource[e.getLanguageId()+e.uri],this._onModelRemoved.fire(e)}_onDidChangeLanguage(e,t){const i=t.oldLanguage,r=e.getLanguageId(),o=this.getCreationOptions(i,e.uri,e.isForSimpleWidget),s=this.getCreationOptions(r,e.uri,e.isForSimpleWidget);Px._setModelOptionsForModel(e,s,o),this._onModelModeChanged.fire({model:e,oldLanguageId:i})}_getSHA1Computer(){return new AA}};VA.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20*1024*1024,VA=Px=ORt([Ek(0,Pn),Ek(1,k2e),Ek(2,zW),Ek(3,vr),Ek(4,tr)],VA);class AA{canComputeSHA1(e){return e.getValueLength()<=AA.MAX_MODEL_SIZE}computeSHA1(e){const t=new n9,i=e.createSnapshot();let r;for(;r=i.read();)t.update(r);return t.digest()}}AA.MAX_MODEL_SIZE=10*1024*1024;var c$;(function(n){n[n.PRESERVE=0]="PRESERVE",n[n.LAST=1]="LAST"})(c$||(c$={}));const vIe={Quickaccess:"workbench.contributions.quickaccess"};class YRt{constructor(){this.providers=[],this.defaultProvider=void 0}registerQuickAccessProvider(e){return e.prefix.length===0?this.defaultProvider=e:this.providers.push(e),this.providers.sort((t,i)=>i.prefix.length-t.prefix.length),jt(()=>{this.providers.splice(this.providers.indexOf(e),1),this.defaultProvider===e&&(this.defaultProvider=void 0)})}getQuickAccessProviders(){return Ym([this.defaultProvider,...this.providers])}getQuickAccessProvider(e){return e&&this.providers.find(i=>e.startsWith(i.prefix))||void 0||this.defaultProvider}}Do.add(vIe.Quickaccess,new YRt);var URt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},yIe=function(n,e){return function(t,i){e(t,i,n)}};let d$=class extends Ie{constructor(e,t){super(),this.quickInputService=e,this.instantiationService=t,this.registry=Do.as(vIe.Quickaccess),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0}show(e="",t){this.doShowOrPick(e,!1,t)}doShowOrPick(e,t,i){var r,o,s;const[a,l]=this.getOrInstantiateProvider(e),u=this.visibleQuickAccess,c=u==null?void 0:u.descriptor;if(u&&l&&c===l){e!==l.prefix&&!(i!=null&&i.preserveValue)&&(u.picker.value=e),this.adjustValueSelection(u.picker,l,i);return}if(l&&!(i!=null&&i.preserveValue)){let v;if(u&&c&&c!==l){const C=u.value.substr(c.prefix.length);C&&(v=`${l.prefix}${C}`)}if(!v){const C=a==null?void 0:a.defaultFilterValue;C===c$.LAST?v=this.lastAcceptedPickerValues.get(l):typeof C=="string"&&(v=`${l.prefix}${C}`)}typeof v=="string"&&(e=v)}const d=(r=u==null?void 0:u.picker)===null||r===void 0?void 0:r.valueSelection,h=(o=u==null?void 0:u.picker)===null||o===void 0?void 0:o.value,m=new Je,f=m.add(this.quickInputService.createQuickPick());f.value=e,this.adjustValueSelection(f,l,i),f.placeholder=l==null?void 0:l.placeholder,f.quickNavigate=i==null?void 0:i.quickNavigateConfiguration,f.hideInput=!!f.quickNavigate&&!u,(typeof(i==null?void 0:i.itemActivation)=="number"||i!=null&&i.quickNavigateConfiguration)&&(f.itemActivation=(s=i==null?void 0:i.itemActivation)!==null&&s!==void 0?s:Lf.SECOND),f.contextKey=l==null?void 0:l.contextKey,f.filterValue=v=>v.substring(l?l.prefix.length:0);let g;t&&(g=new XZ,m.add(lt.once(f.onWillAccept)(v=>{v.veto(),f.hide()}))),m.add(this.registerPickerListeners(f,a,l,e,i==null?void 0:i.providerOptions));const b=m.add(new fo);if(a&&m.add(a.provide(f,b.token,i==null?void 0:i.providerOptions)),lt.once(f.onDidHide)(()=>{f.selectedItems.length===0&&b.cancel(),m.dispose(),g==null||g.complete(f.selectedItems.slice(0))}),f.show(),d&&h===e&&(f.valueSelection=d),t)return g==null?void 0:g.p}adjustValueSelection(e,t,i){var r;let o;i!=null&&i.preserveValue?o=[e.value.length,e.value.length]:o=[(r=t==null?void 0:t.prefix.length)!==null&&r!==void 0?r:0,e.value.length],e.valueSelection=o}registerPickerListeners(e,t,i,r,o){const s=new Je,a=this.visibleQuickAccess={picker:e,descriptor:i,value:r};return s.add(jt(()=>{a===this.visibleQuickAccess&&(this.visibleQuickAccess=void 0)})),s.add(e.onDidChangeValue(l=>{const[u]=this.getOrInstantiateProvider(l);u!==t?this.show(l,{preserveValue:!0,providerOptions:o}):a.value=l})),i&&s.add(e.onDidAccept(()=>{this.lastAcceptedPickerValues.set(i,e.value)})),s}getOrInstantiateProvider(e){const t=this.registry.getQuickAccessProvider(e);if(!t)return[void 0,void 0];let i=this.mapProviderToDescriptor.get(t);return i||(i=this.instantiationService.createInstance(t.ctor),this.mapProviderToDescriptor.set(t,i)),[i,t]}};d$=URt([yIe(0,Ay),yIe(1,$t)],d$);var KRt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o};class CIe{constructor(e){this.nodes=e}toString(){return this.nodes.map(e=>typeof e=="string"?e:e.label).join("")}}KRt([io],CIe.prototype,"toString",null);const JRt=/\[([^\]]+)\]\(((?:https?:\/\/|command:|file:)[^\)\s]+)(?: (["'])(.+?)(\3))?\)/gi;function jRt(n){const e=[];let t=0,i;for(;i=JRt.exec(n);){i.index-t>0&&e.push(n.substring(t,i.index));const[,r,o,,s]=i;s?e.push({label:r,href:o,title:s}):e.push({label:r,href:o}),t=i.index+i[0].length}return t{Mft(m)&&Vn.stop(m,!0),t.callback(o.href)},u=t.disposables.add(new Jn(a,ot.CLICK)).event,c=t.disposables.add(new Jn(a,ot.KEY_DOWN)).event,d=lt.chain(c,m=>m.filter(f=>{const g=new sr(f);return g.equals(10)||g.equals(3)}));t.disposables.add(ir.addTarget(a));const h=t.disposables.add(new Jn(a,nr.Tap)).event;lt.any(u,h,d)(l,null,t.disposables),e.appendChild(a)}}const wIe=new _h(()=>{const n=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});return{collator:n,collatorIsNumeric:n.resolvedOptions().numeric}});function e3t(n,e,t=!1){const i=n||"",r=e||"",o=wIe.value.collator.compare(i,r);return wIe.value.collatorIsNumeric&&o===0&&i!==r?ir.length)return 1}return 0}var XA=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},SIe=function(n,e){return function(t,i){e(t,i,n)}},m$;const am=Ct;var Go;(function(n){n[n.First=1]="First",n[n.Second=2]="Second",n[n.Last=3]="Last",n[n.Next=4]="Next",n[n.Previous=5]="Previous",n[n.NextPage=6]="NextPage",n[n.PreviousPage=7]="PreviousPage",n[n.NextSeparator=8]="NextSeparator",n[n.PreviousSeparator=9]="PreviousSeparator"})(Go||(Go={}));class xIe{constructor(e,t,i){this.index=e,this.hasCheckbox=t,this._hidden=!1,this._init=new _h(()=>{var r;const o=(r=i.label)!==null&&r!==void 0?r:"",s=RD(o).text.trim(),a=i.ariaLabel||[o,this.saneDescription,this.saneDetail].map(l=>V2t(l)).filter(l=>!!l).join(", ");return{saneLabel:o,saneSortLabel:s,saneAriaLabel:a}}),this._saneDescription=i.description,this._saneTooltip=i.tooltip}get saneLabel(){return this._init.value.saneLabel}get saneSortLabel(){return this._init.value.saneSortLabel}get saneAriaLabel(){return this._init.value.saneAriaLabel}get element(){return this._element}set element(e){this._element=e}get hidden(){return this._hidden}set hidden(e){this._hidden=e}get saneDescription(){return this._saneDescription}set saneDescription(e){this._saneDescription=e}get saneDetail(){return this._saneDetail}set saneDetail(e){this._saneDetail=e}get saneTooltip(){return this._saneTooltip}set saneTooltip(e){this._saneTooltip=e}get labelHighlights(){return this._labelHighlights}set labelHighlights(e){this._labelHighlights=e}get descriptionHighlights(){return this._descriptionHighlights}set descriptionHighlights(e){this._descriptionHighlights=e}get detailHighlights(){return this._detailHighlights}set detailHighlights(e){this._detailHighlights=e}}class Za extends xIe{constructor(e,t,i,r,o,s){var a,l,u;super(e,t,o),this.fireButtonTriggered=i,this._onChecked=r,this.item=o,this._separator=s,this._checked=!1,this.onChecked=t?lt.map(lt.filter(this._onChecked.event,c=>c.element===this),c=>c.checked):lt.None,this._saneDetail=o.detail,this._labelHighlights=(a=o.highlights)===null||a===void 0?void 0:a.label,this._descriptionHighlights=(l=o.highlights)===null||l===void 0?void 0:l.description,this._detailHighlights=(u=o.highlights)===null||u===void 0?void 0:u.detail}get separator(){return this._separator}set separator(e){this._separator=e}get checked(){return this._checked}set checked(e){e!==this._checked&&(this._checked=e,this._onChecked.fire({element:this,checked:e}))}get checkboxDisabled(){return!!this.item.disabled}}var Xf;(function(n){n[n.NONE=0]="NONE",n[n.MOUSE_HOVER=1]="MOUSE_HOVER",n[n.ACTIVE_ITEM=2]="ACTIVE_ITEM"})(Xf||(Xf={}));class v1 extends xIe{constructor(e,t,i){super(e,!1,i),this.fireSeparatorButtonTriggered=t,this.separator=i,this.children=new Array,this.focusInsideSeparator=Xf.NONE}}class i3t{getHeight(e){return e instanceof v1?30:e.saneDetail?44:22}getTemplateId(e){return e instanceof Za?Zk.ID:Wk.ID}}class r3t{getWidgetAriaLabel(){return L("quickInput","Quick Input")}getAriaLabel(e){var t;return!((t=e.separator)===null||t===void 0)&&t.label?`${e.saneAriaLabel}, ${e.separator.label}`:e.saneAriaLabel}getWidgetRole(){return"listbox"}getRole(e){return e.hasCheckbox?"checkbox":"option"}isChecked(e){if(!(!e.hasCheckbox||!(e instanceof Za)))return{value:e.checked,onDidChange:e.onChecked}}}class LIe{constructor(e){this.hoverDelegate=e}renderTemplate(e){const t=Object.create(null);t.toDisposeElement=new Je,t.toDisposeTemplate=new Je,t.entry=je(e,am(".quick-input-list-entry"));const i=je(t.entry,am("label.quick-input-list-label"));t.toDisposeTemplate.add(Gr(i,ot.CLICK,u=>{t.checkbox.offsetParent||u.preventDefault()})),t.checkbox=je(i,am("input.quick-input-list-checkbox")),t.checkbox.type="checkbox";const r=je(i,am(".quick-input-list-rows")),o=je(r,am(".quick-input-list-row")),s=je(r,am(".quick-input-list-row"));t.label=new N3(o,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),t.toDisposeTemplate.add(t.label),t.icon=_Y(t.label.element,am(".quick-input-list-icon"));const a=je(o,am(".quick-input-list-entry-keybinding"));t.keybinding=new Y2(a,ru),t.toDisposeTemplate.add(t.keybinding);const l=je(s,am(".quick-input-list-label-meta"));return t.detail=new N3(l,{supportHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),t.toDisposeTemplate.add(t.detail),t.separator=je(t.entry,am(".quick-input-list-separator")),t.actionBar=new Kc(t.entry,this.hoverDelegate?{hoverDelegate:this.hoverDelegate}:void 0),t.actionBar.domNode.classList.add("quick-input-list-entry-action-bar"),t.toDisposeTemplate.add(t.actionBar),t}disposeTemplate(e){e.toDisposeElement.dispose(),e.toDisposeTemplate.dispose()}disposeElement(e,t,i){i.toDisposeElement.clear(),i.actionBar.clear()}}let Zk=m$=class extends LIe{constructor(e,t){super(e),this.themeService=t,this._itemsWithSeparatorsFrequency=new Map}get templateId(){return m$.ID}renderTemplate(e){const t=super.renderTemplate(e);return t.toDisposeTemplate.add(Gr(t.checkbox,ot.CHANGE,i=>{t.element.checked=t.checkbox.checked})),t}renderElement(e,t,i){var r,o,s;const a=e.element;i.element=a,a.element=(r=i.entry)!==null&&r!==void 0?r:void 0;const l=a.item;i.checkbox.checked=a.checked,i.toDisposeElement.add(a.onChecked(g=>i.checkbox.checked=g)),i.checkbox.disabled=a.checkboxDisabled;const{labelHighlights:u,descriptionHighlights:c,detailHighlights:d}=a;if(l.iconPath){const g=dW(this.themeService.getColorTheme().type)?l.iconPath.dark:(o=l.iconPath.light)!==null&&o!==void 0?o:l.iconPath.dark,b=en.revive(g);i.icon.className="quick-input-list-icon",i.icon.style.backgroundImage=Qb(b)}else i.icon.style.backgroundImage="",i.icon.className=l.iconClass?`quick-input-list-icon ${l.iconClass}`:"";let h;!a.saneTooltip&&a.saneDescription&&(h={markdown:{value:a.saneDescription,supportThemeIcons:!0},markdownNotSupportedFallback:a.saneDescription});const m={matches:u||[],descriptionTitle:h,descriptionMatches:c||[],labelEscapeNewLines:!0};if(m.extraClasses=l.iconClasses,m.italic=l.italic,m.strikethrough=l.strikethrough,i.entry.classList.remove("quick-input-list-separator-as-item"),i.label.setLabel(a.saneLabel,a.saneDescription,m),i.keybinding.set(l.keybinding),a.saneDetail){let g;a.saneTooltip||(g={markdown:{value:a.saneDetail,supportThemeIcons:!0},markdownNotSupportedFallback:a.saneDetail}),i.detail.element.style.display="",i.detail.setLabel(a.saneDetail,void 0,{matches:d,title:g,labelEscapeNewLines:!0})}else i.detail.element.style.display="none";!((s=a.separator)===null||s===void 0)&&s.label?(i.separator.textContent=a.separator.label,i.separator.style.display="",this.addItemWithSeparator(a)):i.separator.style.display="none",i.entry.classList.toggle("quick-input-list-separator-border",!!a.separator);const f=l.buttons;f&&f.length?(i.actionBar.push(f.map((g,b)=>GA(g,`id-${b}`,()=>a.fireButtonTriggered({button:g,item:a.item}))),{icon:!0,label:!1}),i.entry.classList.add("has-actions")):i.entry.classList.remove("has-actions")}disposeElement(e,t,i){this.removeItemWithSeparator(e.element),super.disposeElement(e,t,i)}isItemWithSeparatorVisible(e){return this._itemsWithSeparatorsFrequency.has(e)}addItemWithSeparator(e){this._itemsWithSeparatorsFrequency.set(e,(this._itemsWithSeparatorsFrequency.get(e)||0)+1)}removeItemWithSeparator(e){const t=this._itemsWithSeparatorsFrequency.get(e)||0;t>1?this._itemsWithSeparatorsFrequency.set(e,t-1):this._itemsWithSeparatorsFrequency.delete(e)}};Zk.ID="quickpickitem",Zk=m$=XA([SIe(1,jo)],Zk);class Wk extends LIe{constructor(){super(...arguments),this._visibleSeparatorsFrequency=new Map}get templateId(){return Wk.ID}get visibleSeparators(){return[...this._visibleSeparatorsFrequency.keys()]}isSeparatorVisible(e){return this._visibleSeparatorsFrequency.has(e)}renderElement(e,t,i){var r;const o=e.element;i.element=o,o.element=(r=i.entry)!==null&&r!==void 0?r:void 0,o.element.classList.toggle("focus-inside",!!o.focusInsideSeparator);const s=o.separator,{labelHighlights:a,descriptionHighlights:l,detailHighlights:u}=o;i.icon.style.backgroundImage="",i.icon.className="";let c;!o.saneTooltip&&o.saneDescription&&(c={markdown:{value:o.saneDescription,supportThemeIcons:!0},markdownNotSupportedFallback:o.saneDescription});const d={matches:a||[],descriptionTitle:c,descriptionMatches:l||[],labelEscapeNewLines:!0};if(i.entry.classList.add("quick-input-list-separator-as-item"),i.label.setLabel(o.saneLabel,o.saneDescription,d),o.saneDetail){let m;o.saneTooltip||(m={markdown:{value:o.saneDetail,supportThemeIcons:!0},markdownNotSupportedFallback:o.saneDetail}),i.detail.element.style.display="",i.detail.setLabel(o.saneDetail,void 0,{matches:u,title:m,labelEscapeNewLines:!0})}else i.detail.element.style.display="none";i.separator.style.display="none",i.entry.classList.add("quick-input-list-separator-border");const h=s.buttons;h&&h.length?(i.actionBar.push(h.map((m,f)=>GA(m,`id-${f}`,()=>o.fireSeparatorButtonTriggered({button:m,separator:o.separator}))),{icon:!0,label:!1}),i.entry.classList.add("has-actions")):i.entry.classList.remove("has-actions"),this.addSeparator(o)}disposeElement(e,t,i){var r;this.removeSeparator(e.element),this.isSeparatorVisible(e.element)||(r=e.element.element)===null||r===void 0||r.classList.remove("focus-inside"),super.disposeElement(e,t,i)}addSeparator(e){this._visibleSeparatorsFrequency.set(e,(this._visibleSeparatorsFrequency.get(e)||0)+1)}removeSeparator(e){const t=this._visibleSeparatorsFrequency.get(e)||0;t>1?this._visibleSeparatorsFrequency.set(e,t-1):this._visibleSeparatorsFrequency.delete(e)}}Wk.ID="quickpickseparator";let Rk=class extends Ie{constructor(e,t,i,r,o){super(),this.parent=e,this.hoverDelegate=t,this.linkOpenerDelegate=i,this._onKeyDown=new be,this.onKeyDown=this._onKeyDown.event,this._onLeave=new be,this.onLeave=this._onLeave.event,this._onChangedAllVisibleChecked=new be,this.onChangedAllVisibleChecked=this._onChangedAllVisibleChecked.event,this._onChangedCheckedCount=new be,this.onChangedCheckedCount=this._onChangedCheckedCount.event,this._onChangedVisibleCount=new be,this.onChangedVisibleCount=this._onChangedVisibleCount.event,this._onChangedCheckedElements=new be,this.onChangedCheckedElements=this._onChangedCheckedElements.event,this._onButtonTriggered=new be,this.onButtonTriggered=this._onButtonTriggered.event,this._onSeparatorButtonTriggered=new be,this.onSeparatorButtonTriggered=this._onSeparatorButtonTriggered.event,this._onTriggerEmptySelectionOrFocus=new be,this._elementChecked=new be,this._inputElements=new Array,this._elementTree=new Array,this._itemElements=new Array,this._elementDisposable=this._register(new Je),this._shouldFireCheckedEvents=!0,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._container=je(this.parent,am(".quick-input-list")),this._separatorRenderer=new Wk(t),this._itemRenderer=o.createInstance(Zk,t),this._tree=this._register(o.createInstance(d8,"QuickInput",this._container,new i3t,[this._itemRenderer,this._separatorRenderer],{accessibilityProvider:new r3t,setRowLineHeight:!1,multipleSelectionSupport:!1,hideTwistiesOfChildlessElements:!0,renderIndentGuides:q2.None,findWidgetEnabled:!1,indent:0,horizontalScrolling:!1,allowNonCollapsibleParents:!0,identityProvider:{getId:s=>{var a,l,u,c,d,h,m,f;return(f=(h=(c=(l=(a=s.item)===null||a===void 0?void 0:a.id)!==null&&l!==void 0?l:(u=s.item)===null||u===void 0?void 0:u.label)!==null&&c!==void 0?c:(d=s.separator)===null||d===void 0?void 0:d.id)!==null&&h!==void 0?h:(m=s.separator)===null||m===void 0?void 0:m.label)!==null&&f!==void 0?f:""}},alwaysConsumeMouseWheel:!0})),this._tree.getHTMLElement().id=r,this._registerListeners()}get onDidChangeFocus(){return lt.map(lt.any(this._tree.onDidChangeFocus,this._onTriggerEmptySelectionOrFocus.event),e=>e.elements.filter(t=>t instanceof Za).map(t=>t.item))}get onDidChangeSelection(){return lt.map(lt.any(this._tree.onDidChangeSelection,this._onTriggerEmptySelectionOrFocus.event),e=>({items:e.elements.filter(t=>t instanceof Za).map(t=>t.item),event:e.browserEvent}))}get scrollTop(){return this._tree.scrollTop}set scrollTop(e){this._tree.scrollTop=e}get ariaLabel(){return this._tree.ariaLabel}set ariaLabel(e){this._tree.ariaLabel=e??""}set enabled(e){this._tree.getHTMLElement().style.pointerEvents=e?"":"none"}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(e){this._matchOnLabelMode=e}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e}_registerListeners(){this._registerOnKeyDown(),this._registerOnContainerClick(),this._registerOnMouseMiddleClick(),this._registerOnElementChecked(),this._registerOnContextMenu(),this._registerHoverListeners(),this._registerSelectionChangeListener(),this._registerSeparatorActionShowingListeners()}_registerOnKeyDown(){this._register(this._tree.onKeyDown(e=>{const t=new sr(e);switch(t.keyCode){case 10:this.toggleCheckbox();break;case 31:(On?e.metaKey:e.ctrlKey)&&this._tree.setFocus(this._itemElements);break;case 16:{const i=this._tree.getFocus();i.length===1&&i[0]===this._itemElements[0]&&this._onLeave.fire();break}case 18:{const i=this._tree.getFocus();i.length===1&&i[0]===this._itemElements[this._itemElements.length-1]&&this._onLeave.fire();break}}this._onKeyDown.fire(t)}))}_registerOnContainerClick(){this._register(Ae(this._container,ot.CLICK,e=>{(e.x||e.y)&&this._onLeave.fire()}))}_registerOnMouseMiddleClick(){this._register(Ae(this._container,ot.AUXCLICK,e=>{e.button===1&&this._onLeave.fire()}))}_registerOnElementChecked(){this._register(this._elementChecked.event(e=>this._fireCheckedEvents()))}_registerOnContextMenu(){this._register(this._tree.onContextMenu(e=>{e.element&&(e.browserEvent.preventDefault(),this._tree.setSelection([e.element]))}))}_registerHoverListeners(){const e=this._register(new Xbe(this.hoverDelegate.delay));this._register(this._tree.onMouseOver(async t=>{var i;if(t.browserEvent.target instanceof HTMLAnchorElement){e.cancel();return}if(!(!(t.browserEvent.relatedTarget instanceof HTMLAnchorElement)&&ps(t.browserEvent.relatedTarget,(i=t.element)===null||i===void 0?void 0:i.element)))try{await e.trigger(async()=>{t.element instanceof Za&&this.showHover(t.element)})}catch(r){if(!Gm(r))throw r}})),this._register(this._tree.onMouseOut(t=>{var i;ps(t.browserEvent.relatedTarget,(i=t.element)===null||i===void 0?void 0:i.element)||e.cancel()}))}_registerSeparatorActionShowingListeners(){this._register(this._tree.onDidChangeFocus(e=>{const t=e.elements[0]?this._tree.getParentElement(e.elements[0]):null;for(const i of this._separatorRenderer.visibleSeparators){const r=i===t;!!(i.focusInsideSeparator&Xf.ACTIVE_ITEM)!==r&&(r?i.focusInsideSeparator|=Xf.ACTIVE_ITEM:i.focusInsideSeparator&=~Xf.ACTIVE_ITEM,this._tree.rerender(i))}})),this._register(this._tree.onMouseOver(e=>{const t=e.element?this._tree.getParentElement(e.element):null;for(const i of this._separatorRenderer.visibleSeparators){if(i!==t)continue;!!(i.focusInsideSeparator&Xf.MOUSE_HOVER)||(i.focusInsideSeparator|=Xf.MOUSE_HOVER,this._tree.rerender(i))}})),this._register(this._tree.onMouseOut(e=>{const t=e.element?this._tree.getParentElement(e.element):null;for(const i of this._separatorRenderer.visibleSeparators){if(i!==t)continue;!!(i.focusInsideSeparator&Xf.MOUSE_HOVER)&&(i.focusInsideSeparator&=~Xf.MOUSE_HOVER,this._tree.rerender(i))}}))}_registerSelectionChangeListener(){this._register(this._tree.onDidChangeSelection(e=>{const t=e.elements.filter(i=>i instanceof Za);t.length!==e.elements.length&&(e.elements.length===1&&e.elements[0]instanceof v1&&(this._tree.setFocus([e.elements[0].children[0]]),this._tree.reveal(e.elements[0],0)),this._tree.setSelection(t))}))}getAllVisibleChecked(){return this._allVisibleChecked(this._itemElements,!1)}getCheckedCount(){return this._itemElements.filter(e=>e.checked).length}getVisibleCount(){return this._itemElements.filter(e=>!e.hidden).length}setAllVisibleChecked(e){try{this._shouldFireCheckedEvents=!1,this._itemElements.forEach(t=>{!t.hidden&&!t.checkboxDisabled&&(t.checked=e)})}finally{this._shouldFireCheckedEvents=!0,this._fireCheckedEvents()}}setElements(e){this._elementDisposable.clear(),this._inputElements=e;const t=this.parent.classList.contains("show-checkboxes");let i;this._itemElements=new Array,this._elementTree=e.reduce((s,a,l)=>{let u;if(a.type==="separator"){if(!a.buttons)return s;i=new v1(l,c=>this.fireSeparatorButtonTriggered(c),a),u=i}else{const c=l>0?e[l-1]:void 0;let d;c&&c.type==="separator"&&!c.buttons&&(i=void 0,d=c);const h=new Za(l,t,m=>this.fireButtonTriggered(m),this._elementChecked,a,d);if(this._itemElements.push(h),i)return i.children.push(h),s;u=h}return s.push(u),s},new Array);const r=new Array;let o=0;for(const s of this._elementTree)s instanceof v1?(r.push({element:s,collapsible:!1,collapsed:!1,children:s.children.map(a=>({element:a,collapsible:!1,collapsed:!1}))}),o+=s.children.length+1):(r.push({element:s,collapsible:!1,collapsed:!1}),o++);this._tree.setChildren(null,r),this._onChangedVisibleCount.fire(o)}setFocusedElements(e){const t=e.map(i=>this._itemElements.find(r=>r.item===i)).filter(i=>!!i);if(this._tree.setFocus(t),e.length>0){const i=this._tree.getFocus()[0];i&&this._tree.reveal(i)}}getActiveDescendant(){return this._tree.getHTMLElement().getAttribute("aria-activedescendant")}setSelectedElements(e){const t=e.map(i=>this._itemElements.find(r=>r.item===i)).filter(i=>!!i);this._tree.setSelection(t)}getCheckedElements(){return this._itemElements.filter(e=>e.checked).map(e=>e.item)}setCheckedElements(e){try{this._shouldFireCheckedEvents=!1;const t=new Set;for(const i of e)t.add(i);for(const i of this._itemElements)i.checked=t.has(i.item)}finally{this._shouldFireCheckedEvents=!0,this._fireCheckedEvents()}}focus(e){var t;if(this._itemElements.length)switch(e===Go.Second&&this._itemElements.length<2&&(e=Go.First),e){case Go.First:this._tree.scrollTop=0,this._tree.focusFirst(void 0,i=>i.element instanceof Za);break;case Go.Second:this._tree.scrollTop=0,this._tree.setFocus([this._itemElements[1]]);break;case Go.Last:this._tree.scrollTop=this._tree.scrollHeight,this._tree.setFocus([this._itemElements[this._itemElements.length-1]]);break;case Go.Next:this._tree.focusNext(void 0,!0,void 0,i=>i.element instanceof Za?(this._tree.reveal(i.element),!0):!1);break;case Go.Previous:this._tree.focusPrevious(void 0,!0,void 0,i=>{if(!(i.element instanceof Za))return!1;const r=this._tree.getParentElement(i.element);return r===null||r.children[0]!==i.element?this._tree.reveal(i.element):this._tree.reveal(r),!0});break;case Go.NextPage:this._tree.focusNextPage(void 0,i=>i.element instanceof Za?(this._tree.reveal(i.element),!0):!1);break;case Go.PreviousPage:this._tree.focusPreviousPage(void 0,i=>{if(!(i.element instanceof Za))return!1;const r=this._tree.getParentElement(i.element);return r===null||r.children[0]!==i.element?this._tree.reveal(i.element):this._tree.reveal(r),!0});break;case Go.NextSeparator:{let i=!1;const r=this._tree.getFocus()[0];this._tree.focusNext(void 0,!0,void 0,s=>{if(i)return!0;if(s.element instanceof v1)i=!0,this._separatorRenderer.isSeparatorVisible(s.element)?this._tree.reveal(s.element.children[0]):this._tree.reveal(s.element,0);else if(s.element instanceof Za){if(s.element.separator)return this._itemRenderer.isItemWithSeparatorVisible(s.element)?this._tree.reveal(s.element):this._tree.reveal(s.element,0),!0;if(s.element===this._elementTree[0])return this._tree.reveal(s.element,0),!0}return!1});const o=this._tree.getFocus()[0];r===o&&(this._tree.scrollTop=this._tree.scrollHeight,this._tree.setFocus([this._itemElements[this._itemElements.length-1]]));break}case Go.PreviousSeparator:{let i,r=!!(!((t=this._tree.getFocus()[0])===null||t===void 0)&&t.separator);this._tree.focusPrevious(void 0,!0,void 0,o=>{if(o.element instanceof v1)r?i||(this._separatorRenderer.isSeparatorVisible(o.element)?this._tree.reveal(o.element):this._tree.reveal(o.element,0),i=o.element.children[0]):r=!0;else if(o.element instanceof Za&&!i){if(o.element.separator)this._itemRenderer.isItemWithSeparatorVisible(o.element)?this._tree.reveal(o.element):this._tree.reveal(o.element,0),i=o.element;else if(o.element===this._elementTree[0])return this._tree.reveal(o.element,0),!0}return!1}),i&&this._tree.setFocus([i]);break}}}clearFocus(){this._tree.setFocus([])}domFocus(){this._tree.domFocus()}layout(e){this._tree.getHTMLElement().style.maxHeight=e?`${Math.floor(e/44)*44+6}px`:"",this._tree.layout()}filter(e){if(!(this._sortByLabel||this._matchOnLabel||this._matchOnDescription||this._matchOnDetail))return this._tree.layout(),!1;const t=e;if(e=e.trim(),!e||!(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail))this._itemElements.forEach(l=>{l.labelHighlights=void 0,l.descriptionHighlights=void 0,l.detailHighlights=void 0,l.hidden=!1;const u=l.index&&this._inputElements[l.index-1];l.item&&(l.separator=u&&u.type==="separator"&&!u.buttons?u:void 0)});else{let l;this._elementTree.forEach(u=>{var c,d,h,m;let f;this.matchOnLabelMode==="fuzzy"?f=this.matchOnLabel&&(c=nU(e,RD(u.saneLabel)))!==null&&c!==void 0?c:void 0:f=this.matchOnLabel&&(d=o3t(t,RD(u.saneLabel)))!==null&&d!==void 0?d:void 0;const g=this.matchOnDescription&&(h=nU(e,RD(u.saneDescription||"")))!==null&&h!==void 0?h:void 0,b=this.matchOnDetail&&(m=nU(e,RD(u.saneDetail||"")))!==null&&m!==void 0?m:void 0;if(f||g||b?(u.labelHighlights=f,u.descriptionHighlights=g,u.detailHighlights=b,u.hidden=!1):(u.labelHighlights=void 0,u.descriptionHighlights=void 0,u.detailHighlights=void 0,u.hidden=u.item?!u.item.alwaysShow:!0),u.item?u.separator=void 0:u.separator&&(u.hidden=!0),!this.sortByLabel){const v=u.index&&this._inputElements[u.index-1];l=v&&v.type==="separator"?v:l,l&&!u.hidden&&(u.separator=l,l=void 0)}})}const i=this._elementTree.filter(l=>!l.hidden);if(this.sortByLabel&&e){const l=e.toLowerCase();i.sort((u,c)=>s3t(u,c,l))}let r;const o=i.reduce((l,u,c)=>(u instanceof Za?r?r.children.push(u):l.push(u):u instanceof v1&&(u.children=[],r=u,l.push(u)),l),new Array),s=new Array;for(const l of o)l instanceof v1?s.push({element:l,collapsible:!1,collapsed:!1,children:l.children.map(u=>({element:u,collapsible:!1,collapsed:!1}))}):s.push({element:l,collapsible:!1,collapsed:!1});const a=this._tree.getFocus().length;return this._tree.setChildren(null,s),a>0&&s.length===0&&this._onTriggerEmptySelectionOrFocus.fire({elements:[]}),this._tree.layout(),this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked()),this._onChangedVisibleCount.fire(i.length),!0}toggleCheckbox(){try{this._shouldFireCheckedEvents=!1;const e=this._tree.getFocus().filter(i=>i instanceof Za),t=this._allVisibleChecked(e);for(const i of e)i.checkboxDisabled||(i.checked=!t)}finally{this._shouldFireCheckedEvents=!0,this._fireCheckedEvents()}}display(e){this._container.style.display=e?"":"none"}isDisplayed(){return this._container.style.display!=="none"}style(e){this._tree.style(e)}toggleHover(){const e=this._tree.getFocus()[0];if(!(e!=null&&e.saneTooltip)||!(e instanceof Za))return;if(this._lastHover&&!this._lastHover.isDisposed){this._lastHover.dispose();return}this.showHover(e);const t=new Je;t.add(this._tree.onDidChangeFocus(i=>{i.elements[0]instanceof Za&&this.showHover(i.elements[0])})),this._lastHover&&t.add(this._lastHover),this._elementDisposable.add(t)}_allVisibleChecked(e,t=!0){for(let i=0,r=e.length;i{this.linkOpenerDelegate(o)},appearance:{showPointer:!0},container:this._container,position:{hoverPosition:1}},!1))}};XA([io],Rk.prototype,"onDidChangeFocus",null),XA([io],Rk.prototype,"onDidChangeSelection",null),Rk=XA([SIe(4,$t)],Rk);function o3t(n,e){const{text:t,iconOffsets:i}=e;if(!i||i.length===0)return _Ie(n,t);const r=HZ(t," "),o=t.length-r.length,s=_Ie(n,r);if(s)for(const a of s){const l=i[a.start+o]+o;a.start+=l,a.end+=l}return s}function _Ie(n,e){const t=e.toLowerCase().indexOf(n.toLowerCase());return t!==-1?[{start:t,end:t+n.length}]:null}function s3t(n,e,t){const i=n.labelHighlights||[],r=e.labelHighlights||[];return i.length&&!r.length?-1:!i.length&&r.length?1:i.length===0&&r.length===0?0:t3t(n.saneSortLabel,e.saneSortLabel,t)}var a3t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},FIe=function(n,e){return function(t,i){e(t,i,n)}};const f$={iconClass:sn.asClassName(ut.quickInputBack),tooltip:L("quickInput.back","Back"),handle:-1};class Vk extends Ie{constructor(e){super(),this.ui=e,this._widgetUpdated=!1,this.visible=!1,this._enabled=!0,this._busy=!1,this._ignoreFocusOut=!1,this._buttons=[],this.buttonsUpdated=!1,this._toggles=[],this.togglesUpdated=!1,this.noValidationMessage=Vk.noPromptMessage,this._severity=oo.Ignore,this.onDidTriggerButtonEmitter=this._register(new be),this.onDidHideEmitter=this._register(new be),this.onWillHideEmitter=this._register(new be),this.onDisposeEmitter=this._register(new be),this.visibleDisposables=this._register(new Je),this.onDidHide=this.onDidHideEmitter.event}get title(){return this._title}set title(e){this._title=e,this.update()}get description(){return this._description}set description(e){this._description=e,this.update()}get step(){return this._steps}set step(e){this._steps=e,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(e){this._totalSteps=e,this.update()}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this.update()}get contextKey(){return this._contextKey}set contextKey(e){this._contextKey=e,this.update()}get busy(){return this._busy}set busy(e){this._busy=e,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(e){const t=this._ignoreFocusOut!==e&&!Vm;this._ignoreFocusOut=e&&!Vm,t&&this.update()}get buttons(){return this._buttons}set buttons(e){this._buttons=e,this.buttonsUpdated=!0,this.update()}get toggles(){return this._toggles}set toggles(e){this._toggles=e??[],this.togglesUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(e){this._validationMessage=e,this.update()}get severity(){return this._severity}set severity(e){this._severity=e,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.onDidTriggerButton(e=>{this.buttons.indexOf(e)!==-1&&this.onDidTriggerButtonEmitter.fire(e)})),this.ui.show(this),this.visible=!0,this._lastValidationMessage=void 0,this._lastSeverity=void 0,this.buttons.length&&(this.buttonsUpdated=!0),this.toggles.length&&(this.togglesUpdated=!0),this.update())}hide(){this.visible&&this.ui.hide()}didHide(e=O2.Other){this.visible=!1,this.visibleDisposables.clear(),this.onDidHideEmitter.fire({reason:e})}willHide(e=O2.Other){this.onWillHideEmitter.fire({reason:e})}update(){var e,t;if(!this.visible)return;const i=this.getTitle();i&&this.ui.title.textContent!==i?this.ui.title.textContent=i:!i&&this.ui.title.innerHTML!==" "&&(this.ui.title.innerText=" ");const r=this.getDescription();if(this.ui.description1.textContent!==r&&(this.ui.description1.textContent=r),this.ui.description2.textContent!==r&&(this.ui.description2.textContent=r),this._widgetUpdated&&(this._widgetUpdated=!1,this._widget?Qs(this.ui.widget,this._widget):Qs(this.ui.widget)),this.busy&&!this.busyDelay&&(this.busyDelay=new Id,this.busyDelay.setIfNotSet(()=>{this.visible&&this.ui.progressBar.infinite()},800)),!this.busy&&this.busyDelay&&(this.ui.progressBar.stop(),this.busyDelay.cancel(),this.busyDelay=void 0),this.buttonsUpdated){this.buttonsUpdated=!1,this.ui.leftActionBar.clear();const s=this.buttons.filter(l=>l===f$).map((l,u)=>GA(l,`id-${u}`,async()=>this.onDidTriggerButtonEmitter.fire(l)));this.ui.leftActionBar.push(s,{icon:!0,label:!1}),this.ui.rightActionBar.clear();const a=this.buttons.filter(l=>l!==f$).map((l,u)=>GA(l,`id-${u}`,async()=>this.onDidTriggerButtonEmitter.fire(l)));this.ui.rightActionBar.push(a,{icon:!0,label:!1})}if(this.togglesUpdated){this.togglesUpdated=!1;const s=(t=(e=this.toggles)===null||e===void 0?void 0:e.filter(a=>a instanceof $2))!==null&&t!==void 0?t:[];this.ui.inputBox.toggles=s}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey);const o=this.validationMessage||this.noValidationMessage;this._lastValidationMessage!==o&&(this._lastValidationMessage=o,Qs(this.ui.message),qRt(o,this.ui.message,{callback:s=>{this.ui.linkOpenerDelegate(s)},disposables:this.visibleDisposables})),this._lastSeverity!==this.severity&&(this._lastSeverity=this.severity,this.showMessageDecoration(this.severity))}getTitle(){return this.title&&this.step?`${this.title} (${this.getSteps()})`:this.title?this.title:this.step?this.getSteps():""}getDescription(){return this.description||""}getSteps(){return this.step&&this.totalSteps?L("quickInput.steps","{0}/{1}",this.step,this.totalSteps):this.step?String(this.step):""}showMessageDecoration(e){if(this.ui.inputBox.showDecoration(e),e!==oo.Ignore){const t=this.ui.inputBox.stylesForType(e);this.ui.message.style.color=t.foreground?`${t.foreground}`:"",this.ui.message.style.backgroundColor=t.background?`${t.background}`:"",this.ui.message.style.border=t.border?`1px solid ${t.border}`:"",this.ui.message.style.marginBottom="-2px"}else this.ui.message.style.color="",this.ui.message.style.backgroundColor="",this.ui.message.style.border="",this.ui.message.style.marginBottom=""}dispose(){this.hide(),this.onDisposeEmitter.fire(),super.dispose()}}Vk.noPromptMessage=L("inputModeEntry","Press 'Enter' to confirm your input or 'Escape' to cancel");class Ak extends Vk{constructor(){super(...arguments),this._value="",this.onDidChangeValueEmitter=this._register(new be),this.onWillAcceptEmitter=this._register(new be),this.onDidAcceptEmitter=this._register(new be),this.onDidCustomEmitter=this._register(new be),this._items=[],this.itemsUpdated=!1,this._canSelectMany=!1,this._canAcceptInBackground=!1,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._keepScrollPosition=!1,this._itemActivation=Lf.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new be),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new be),this.onDidTriggerItemButtonEmitter=this._register(new be),this.onDidTriggerSeparatorButtonEmitter=this._register(new be),this.valueSelectionUpdated=!0,this._ok="default",this._customButton=!1,this.filterValue=e=>e,this.onDidChangeValue=this.onDidChangeValueEmitter.event,this.onWillAccept=this.onWillAcceptEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event,this.onDidChangeActive=this.onDidChangeActiveEmitter.event,this.onDidChangeSelection=this.onDidChangeSelectionEmitter.event,this.onDidTriggerItemButton=this.onDidTriggerItemButtonEmitter.event,this.onDidTriggerSeparatorButton=this.onDidTriggerSeparatorButtonEmitter.event}get quickNavigate(){return this._quickNavigate}set quickNavigate(e){this._quickNavigate=e,this.update()}get value(){return this._value}set value(e){this.doSetValue(e)}doSetValue(e,t){this._value!==e&&(this._value=e,t||this.update(),this.visible&&this.ui.list.filter(this.filterValue(this._value))&&this.trySelectFirst(),this.onDidChangeValueEmitter.fire(this._value))}set ariaLabel(e){this._ariaLabel=e,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get items(){return this._items}get scrollTop(){return this.ui.list.scrollTop}set scrollTop(e){this.ui.list.scrollTop=e}set items(e){this._items=e,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(e){this._canSelectMany=e,this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(e){this._canAcceptInBackground=e}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e,this.update()}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(e){this._matchOnLabelMode=e,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e,this.update()}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(e){this._keepScrollPosition=e}get itemActivation(){return this._itemActivation}set itemActivation(e){this._itemActivation=e}get activeItems(){return this._activeItems}set activeItems(e){this._activeItems=e,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(e){this._selectedItems=e,this.selectedItemsUpdated=!0,this.update()}get keyMods(){return this._quickNavigate?IFt:this.ui.keyMods}get valueSelection(){const e=this.ui.inputBox.getSelection();if(e)return[e.start,e.end]}set valueSelection(e){this._valueSelection=e,this.valueSelectionUpdated=!0,this.update()}get customButton(){return this._customButton}set customButton(e){this._customButton=e,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(e){this._customButtonLabel=e,this.update()}get customHover(){return this._customButtonHover}set customHover(e){this._customButtonHover=e,this.update()}get ok(){return this._ok}set ok(e){this._ok=e,this.update()}get hideInput(){return!!this._hideInput}set hideInput(e){this._hideInput=e,this.update()}trySelectFirst(){this.canSelectMany||this.ui.list.focus(Go.First)}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(e=>{this.doSetValue(e,!0)})),this.visibleDisposables.add((this._hideInput?this.ui.list:this.ui.inputBox).onKeyDown(e=>{switch(e.keyCode){case 18:(On?e.metaKey:e.altKey)?this.ui.list.focus(Go.NextSeparator):this.ui.list.focus(Go.Next),this.canSelectMany&&this.ui.list.domFocus(),Vn.stop(e,!0);break;case 16:(On?e.metaKey:e.altKey)?this.ui.list.focus(Go.PreviousSeparator):this.ui.list.focus(Go.Previous),this.canSelectMany&&this.ui.list.domFocus(),Vn.stop(e,!0);break;case 12:this.ui.list.focus(Go.NextPage),this.canSelectMany&&this.ui.list.domFocus(),Vn.stop(e,!0);break;case 11:this.ui.list.focus(Go.PreviousPage),this.canSelectMany&&this.ui.list.domFocus(),Vn.stop(e,!0);break;case 17:if(!this._canAcceptInBackground||!this.ui.inputBox.isSelectionAtEnd())return;this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!0));break;case 14:(e.ctrlKey||e.metaKey)&&!e.shiftKey&&!e.altKey&&(this.ui.list.focus(Go.First),Vn.stop(e,!0));break;case 13:(e.ctrlKey||e.metaKey)&&!e.shiftKey&&!e.altKey&&(this.ui.list.focus(Go.Last),Vn.stop(e,!0));break}})),this.visibleDisposables.add(this.ui.onDidAccept(()=>{this.canSelectMany?this.ui.list.getCheckedElements().length||(this._selectedItems=[],this.onDidChangeSelectionEmitter.fire(this.selectedItems)):this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.handleAccept(!1)})),this.visibleDisposables.add(this.ui.onDidCustom(()=>{this.onDidCustomEmitter.fire()})),this.visibleDisposables.add(this.ui.list.onDidChangeFocus(e=>{this.activeItemsUpdated||this.activeItemsToConfirm!==this._activeItems&&kr(e,this._activeItems,(t,i)=>t===i)||(this._activeItems=e,this.onDidChangeActiveEmitter.fire(e))})),this.visibleDisposables.add(this.ui.list.onDidChangeSelection(({items:e,event:t})=>{if(this.canSelectMany){e.length&&this.ui.list.setSelectedElements([]);return}this.selectedItemsToConfirm!==this._selectedItems&&kr(e,this._selectedItems,(i,r)=>i===r)||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e),e.length&&this.handleAccept(LY(t)&&t.button===1))})),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements(e=>{this.canSelectMany&&(this.selectedItemsToConfirm!==this._selectedItems&&kr(e,this._selectedItems,(t,i)=>t===i)||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e)))})),this.visibleDisposables.add(this.ui.list.onButtonTriggered(e=>this.onDidTriggerItemButtonEmitter.fire(e))),this.visibleDisposables.add(this.ui.list.onSeparatorButtonTriggered(e=>this.onDidTriggerSeparatorButtonEmitter.fire(e))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0),super.show()}handleAccept(e){let t=!1;this.onWillAcceptEmitter.fire({veto:()=>t=!0}),t||this.onDidAcceptEmitter.fire({inBackground:e})}registerQuickNavigation(){return Ae(this.ui.container,ot.KEY_UP,e=>{if(this.canSelectMany||!this._quickNavigate)return;const t=new sr(e),i=t.keyCode;this._quickNavigate.keybindings.some(s=>{const a=s.getChords();return a.length>1?!1:a[0].shiftKey&&i===4?!(t.ctrlKey||t.altKey||t.metaKey):!!(a[0].altKey&&i===6||a[0].ctrlKey&&i===5||a[0].metaKey&&i===57)})&&(this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!1)),this._quickNavigate=void 0)})}update(){if(!this.visible)return;const e=this.keepScrollPosition?this.scrollTop:0,t=!!this.description,i={title:!!this.title||!!this.step||!!this.buttons.length,description:t,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!this._hideInput,progressBar:!this._hideInput||t,visibleCount:!0,count:this.canSelectMany&&!this._hideCountBadge,ok:this.ok==="default"?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage,customButton:this.customButton};this.ui.setVisibilities(i),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||"");let r=this.ariaLabel;if(!r&&i.inputBox&&(r=this.placeholder||Ak.DEFAULT_ARIA_LABEL,this.title&&(r+=` - ${this.title}`)),this.ui.list.ariaLabel!==r&&(this.ui.list.ariaLabel=r??null),this.ui.list.matchOnDescription=this.matchOnDescription,this.ui.list.matchOnDetail=this.matchOnDetail,this.ui.list.matchOnLabel=this.matchOnLabel,this.ui.list.matchOnLabelMode=this.matchOnLabelMode,this.ui.list.sortByLabel=this.sortByLabel,this.itemsUpdated){this.itemsUpdated=!1;const o=this._activeItems;switch(this.ui.list.setElements(this.items),this.ui.list.filter(this.filterValue(this.ui.inputBox.value)),this.ui.checkAll.checked=this.ui.list.getAllVisibleChecked(),this.ui.visibleCount.setCount(this.ui.list.getVisibleCount()),this.ui.count.setCount(this.ui.list.getCheckedCount()),this._itemActivation){case Lf.NONE:o.length>0&&(this._activeItems=[],this.onDidChangeActiveEmitter.fire(this._activeItems)),this._itemActivation=Lf.FIRST;break;case Lf.SECOND:this.ui.list.focus(Go.Second),this._itemActivation=Lf.FIRST;break;case Lf.LAST:this.ui.list.focus(Go.Last),this._itemActivation=Lf.FIRST;break;default:this.trySelectFirst();break}}this.ui.container.classList.contains("show-checkboxes")!==!!this.canSelectMany&&(this.canSelectMany?this.ui.list.clearFocus():this.trySelectFirst()),this.activeItemsUpdated&&(this.activeItemsUpdated=!1,this.activeItemsToConfirm=this._activeItems,this.ui.list.setFocusedElements(this.activeItems),this.activeItemsToConfirm===this._activeItems&&(this.activeItemsToConfirm=null)),this.selectedItemsUpdated&&(this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=this._selectedItems,this.canSelectMany?this.ui.list.setCheckedElements(this.selectedItems):this.ui.list.setSelectedElements(this.selectedItems),this.selectedItemsToConfirm===this._selectedItems&&(this.selectedItemsToConfirm=null)),this.ui.customButton.label=this.customLabel||"",this.ui.customButton.element.title=this.customHover||"",i.inputBox||(this.ui.list.domFocus(),this.canSelectMany&&this.ui.list.focus(Go.First)),this.keepScrollPosition&&(this.scrollTop=e)}}Ak.DEFAULT_ARIA_LABEL=L("quickInputBox.ariaLabel","Type to narrow down results.");class l3t extends Vk{constructor(){super(...arguments),this._value="",this.valueSelectionUpdated=!0,this._password=!1,this.onDidValueChangeEmitter=this._register(new be),this.onDidAcceptEmitter=this._register(new be),this.onDidChangeValue=this.onDidValueChangeEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event}get value(){return this._value}set value(e){this._value=e||"",this.update()}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get password(){return this._password}set password(e){this._password=e,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(e=>{e!==this.value&&(this._value=e,this.onDidValueChangeEmitter.fire(e))})),this.visibleDisposables.add(this.ui.onDidAccept(()=>this.onDidAcceptEmitter.fire())),this.valueSelectionUpdated=!0),super.show()}update(){if(!this.visible)return;this.ui.container.classList.remove("hidden-input");const e={title:!!this.title||!!this.step||!!this.buttons.length,description:!!this.description||!!this.step,inputBox:!0,message:!0,progressBar:!0};this.ui.setVisibilities(e),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||""),this.ui.inputBox.password!==this.password&&(this.ui.inputBox.password=this.password)}}let g$=class extends jD{constructor(e,t){super("element",!1,i=>this.getOverrideOptions(i),e,t)}getOverrideOptions(e){var t;const i=(e.content instanceof HTMLElement?(t=e.content.textContent)!==null&&t!==void 0?t:"":typeof e.content=="string"?e.content:e.content.value).includes(` -`);return{persistence:{hideOnKeyDown:!1},appearance:{showHoverHint:i,skipFadeInAnimation:!0}}}};g$=a3t([FIe(0,Pn),FIe(1,YU)],g$);const IIe="done",DIe="active",p$="infinite",b$="infinite-long-running",MIe="discrete";class PA extends Ie{constructor(e,t){super(),this.workedVal=0,this.showDelayedScheduler=this._register(new Ri(()=>lu(this.element),0)),this.longRunningScheduler=this._register(new Ri(()=>this.infiniteLongRunning(),PA.LONG_RUNNING_INFINITE_THRESHOLD)),this.create(e,t)}create(e,t){this.element=document.createElement("div"),this.element.classList.add("monaco-progress-container"),this.element.setAttribute("role","progressbar"),this.element.setAttribute("aria-valuemin","0"),e.appendChild(this.element),this.bit=document.createElement("div"),this.bit.classList.add("progress-bit"),this.bit.style.backgroundColor=(t==null?void 0:t.progressBarBackground)||"#0E70C0",this.element.appendChild(this.bit)}off(){this.bit.style.width="inherit",this.bit.style.opacity="1",this.element.classList.remove(DIe,p$,b$,MIe),this.workedVal=0,this.totalWork=void 0,this.longRunningScheduler.cancel()}stop(){return this.doDone(!1)}doDone(e){return this.element.classList.add(IIe),this.element.classList.contains(p$)?(this.bit.style.opacity="0",e?setTimeout(()=>this.off(),200):this.off()):(this.bit.style.width="inherit",e?setTimeout(()=>this.off(),200):this.off()),this}infinite(){return this.bit.style.width="2%",this.bit.style.opacity="1",this.element.classList.remove(MIe,IIe,b$),this.element.classList.add(DIe,p$),this.longRunningScheduler.schedule(),this}infiniteLongRunning(){this.element.classList.add(b$)}getContainer(){return this.element}}PA.LONG_RUNNING_INFINITE_THRESHOLD=1e4;const u3t=Ct;class c3t extends Ie{constructor(e,t,i){super(),this.parent=e,this.onKeyDown=o=>Gr(this.findInput.inputBox.inputElement,ot.KEY_DOWN,o),this.onDidChange=o=>this.findInput.onDidChange(o),this.container=je(this.parent,u3t(".quick-input-box")),this.findInput=this._register(new oxe(this.container,void 0,{label:"",inputBoxStyles:t,toggleStyles:i}));const r=this.findInput.inputBox.inputElement;r.role="combobox",r.ariaHasPopup="menu",r.ariaAutoComplete="list",r.ariaExpanded="true"}get value(){return this.findInput.getValue()}set value(e){this.findInput.setValue(e)}select(e=null){this.findInput.inputBox.select(e)}getSelection(){return this.findInput.inputBox.getSelection()}isSelectionAtEnd(){return this.findInput.inputBox.isSelectionAtEnd()}get placeholder(){return this.findInput.inputBox.inputElement.getAttribute("placeholder")||""}set placeholder(e){this.findInput.inputBox.setPlaceHolder(e)}get password(){return this.findInput.inputBox.inputElement.type==="password"}set password(e){this.findInput.inputBox.inputElement.type=e?"password":"text"}set enabled(e){this.findInput.inputBox.inputElement.toggleAttribute("readonly",!e)}set toggles(e){this.findInput.setAdditionalToggles(e)}setAttribute(e,t){this.findInput.inputBox.inputElement.setAttribute(e,t)}showDecoration(e){e===oo.Ignore?this.findInput.clearMessage():this.findInput.showMessage({type:e===oo.Info?1:e===oo.Warning?2:3,content:""})}stylesForType(e){return this.findInput.inputBox.stylesForType(e===oo.Info?1:e===oo.Warning?2:3)}setFocus(){this.findInput.focus()}layout(){this.findInput.inputBox.layout()}}var d3t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},kIe=function(n,e){return function(t,i){e(t,i,n)}},v$;const vu=Ct;let OA=v$=class extends Ie{get container(){return this._container}constructor(e,t,i){super(),this.options=e,this.layoutService=t,this.instantiationService=i,this.enabled=!0,this.onDidAcceptEmitter=this._register(new be),this.onDidCustomEmitter=this._register(new be),this.onDidTriggerButtonEmitter=this._register(new be),this.keyMods={ctrlCmd:!1,alt:!1},this.controller=null,this.onShowEmitter=this._register(new be),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new be),this.onHide=this.onHideEmitter.event,this.idPrefix=e.idPrefix,this._container=e.container,this.styles=e.styles,this._register(lt.runAndSubscribe(r9,({window:r,disposables:o})=>this.registerKeyModsListeners(r,o),{window:Wi,disposables:this._store})),this._register(gft(r=>{this.ui&&Qt(this.ui.container)===r&&(this.reparentUI(this.layoutService.mainContainer),this.layout(this.layoutService.mainContainerDimension,this.layoutService.mainContainerOffset.quickPickTop))}))}registerKeyModsListeners(e,t){const i=r=>{this.keyMods.ctrlCmd=r.ctrlKey||r.metaKey,this.keyMods.alt=r.altKey};for(const r of[ot.KEY_DOWN,ot.KEY_UP,ot.MOUSE_DOWN])t.add(Ae(e,r,i,!0))}getUI(e){if(this.ui)return e&&Qt(this._container)!==Qt(this.layoutService.activeContainer)&&(this.reparentUI(this.layoutService.activeContainer),this.layout(this.layoutService.activeContainerDimension,this.layoutService.activeContainerOffset.quickPickTop)),this.ui;const t=je(this._container,vu(".quick-input-widget.show-file-icons"));t.tabIndex=-1,t.style.display="none";const i=Au(t),r=je(t,vu(".quick-input-titlebar")),o=this._register(new Kc(r,{hoverDelegate:this.options.hoverDelegate}));o.domNode.classList.add("quick-input-left-action-bar");const s=je(r,vu(".quick-input-title")),a=this._register(new Kc(r,{hoverDelegate:this.options.hoverDelegate}));a.domNode.classList.add("quick-input-right-action-bar");const l=je(t,vu(".quick-input-header")),u=je(l,vu("input.quick-input-check-all"));u.type="checkbox",u.setAttribute("aria-label",L("quickInput.checkAll","Toggle all checkboxes")),this._register(Gr(u,ot.CHANGE,W=>{const A=u.checked;E.setAllVisibleChecked(A)})),this._register(Ae(u,ot.CLICK,W=>{(W.x||W.y)&&m.setFocus()}));const c=je(l,vu(".quick-input-description")),d=je(l,vu(".quick-input-and-message")),h=je(d,vu(".quick-input-filter")),m=this._register(new c3t(h,this.styles.inputBox,this.styles.toggle));m.setAttribute("aria-describedby",`${this.idPrefix}message`);const f=je(h,vu(".quick-input-visible-count"));f.setAttribute("aria-live","polite"),f.setAttribute("aria-atomic","true");const g=new m8(f,{countFormat:L({key:"quickInput.visibleCount",comment:["This tells the user how many items are shown in a list of items to select from. The items can be anything. Currently not visible, but read by screen readers."]},"{0} Results")},this.styles.countBadge),b=je(h,vu(".quick-input-count"));b.setAttribute("aria-live","polite");const v=new m8(b,{countFormat:L({key:"quickInput.countSelected",comment:["This tells the user how many items are selected in a list of items to select from. The items can be anything."]},"{0} Selected")},this.styles.countBadge),C=je(l,vu(".quick-input-action")),S=this._register(new JR(C,this.styles.button));S.label=L("ok","OK"),this._register(S.onDidClick(W=>{this.onDidAcceptEmitter.fire()}));const x=je(l,vu(".quick-input-action")),_=this._register(new JR(x,{...this.styles.button,supportIcons:!0}));_.label=L("custom","Custom"),this._register(_.onDidClick(W=>{this.onDidCustomEmitter.fire()}));const F=je(d,vu(`#${this.idPrefix}message.quick-input-message`)),D=this._register(new PA(t,this.styles.progressBar));D.getContainer().classList.add("quick-input-progress");const M=je(t,vu(".quick-input-html-widget"));M.tabIndex=-1;const T=je(t,vu(".quick-input-description")),Z=this.idPrefix+"list",E=this._register(this.instantiationService.createInstance(Rk,t,this.options.hoverDelegate,this.options.linkOpenerDelegate,Z));m.setAttribute("aria-controls",Z),this._register(E.onDidChangeFocus(()=>{var W;m.setAttribute("aria-activedescendant",(W=E.getActiveDescendant())!==null&&W!==void 0?W:"")})),this._register(E.onChangedAllVisibleChecked(W=>{u.checked=W})),this._register(E.onChangedVisibleCount(W=>{g.setCount(W)})),this._register(E.onChangedCheckedCount(W=>{v.setCount(W)})),this._register(E.onLeave(()=>{setTimeout(()=>{this.controller&&(m.setFocus(),this.controller instanceof Ak&&this.controller.canSelectMany&&E.clearFocus())},0)}));const R=Dh(t);return this._register(R),this._register(Ae(t,ot.FOCUS,W=>{ps(W.relatedTarget,t)||(this.previousFocusElement=W.relatedTarget instanceof HTMLElement?W.relatedTarget:void 0)},!0)),this._register(R.onDidBlur(()=>{!this.getUI().ignoreFocusOut&&!this.options.ignoreFocusOut()&&this.hide(O2.Blur),this.previousFocusElement=void 0})),this._register(Ae(t,ot.FOCUS,W=>{m.setFocus()})),this._register(Gr(t,ot.KEY_DOWN,W=>{if(!ps(W.target,M))switch(W.keyCode){case 3:Vn.stop(W,!0),this.enabled&&this.onDidAcceptEmitter.fire();break;case 9:Vn.stop(W,!0),this.hide(O2.Gesture);break;case 2:if(!W.altKey&&!W.ctrlKey&&!W.metaKey){const A=[".quick-input-list .monaco-action-bar .always-visible",".quick-input-list-entry:hover .monaco-action-bar",".monaco-list-row.focused .monaco-action-bar"];if(t.classList.contains("show-checkboxes")?A.push("input"):A.push("input[type=text]"),this.getUI().list.isDisplayed()&&A.push(".monaco-list"),this.getUI().message&&A.push(".quick-input-message a"),this.getUI().widget){if(ps(W.target,this.getUI().widget))break;A.push(".quick-input-html-widget")}const z=t.querySelectorAll(A.join(", "));W.shiftKey&&W.target===z[0]?(Vn.stop(W,!0),E.clearFocus()):!W.shiftKey&&ps(W.target,z[z.length-1])&&(Vn.stop(W,!0),z[0].focus())}break;case 10:W.ctrlKey&&(Vn.stop(W,!0),this.getUI().list.toggleHover());break}})),this.ui={container:t,styleSheet:i,leftActionBar:o,titleBar:r,title:s,description1:T,description2:c,widget:M,rightActionBar:a,checkAll:u,inputContainer:d,filterContainer:h,inputBox:m,visibleCountContainer:f,visibleCount:g,countContainer:b,count:v,okContainer:C,ok:S,message:F,customButtonContainer:x,customButton:_,list:E,progressBar:D,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,show:W=>this.show(W),hide:()=>this.hide(),setVisibilities:W=>this.setVisibilities(W),setEnabled:W=>this.setEnabled(W),setContextKey:W=>this.options.setContextKey(W),linkOpenerDelegate:W=>this.options.linkOpenerDelegate(W)},this.updateStyles(),this.ui}reparentUI(e){this.ui&&(this._container=e,je(this._container,this.ui.container))}pick(e,t={},i=Yn.None){return new Promise((r,o)=>{let s=c=>{var d;s=r,(d=t.onKeyMods)===null||d===void 0||d.call(t,a.keyMods),r(c)};if(i.isCancellationRequested){s(void 0);return}const a=this.createQuickPick();let l;const u=[a,a.onDidAccept(()=>{if(a.canSelectMany)s(a.selectedItems.slice()),a.hide();else{const c=a.activeItems[0];c&&(s(c),a.hide())}}),a.onDidChangeActive(c=>{const d=c[0];d&&t.onDidFocus&&t.onDidFocus(d)}),a.onDidChangeSelection(c=>{if(!a.canSelectMany){const d=c[0];d&&(s(d),a.hide())}}),a.onDidTriggerItemButton(c=>t.onDidTriggerItemButton&&t.onDidTriggerItemButton({...c,removeItem:()=>{const d=a.items.indexOf(c.item);if(d!==-1){const h=a.items.slice(),m=h.splice(d,1),f=a.activeItems.filter(b=>b!==m[0]),g=a.keepScrollPosition;a.keepScrollPosition=!0,a.items=h,f&&(a.activeItems=f),a.keepScrollPosition=g}}})),a.onDidTriggerSeparatorButton(c=>{var d;return(d=t.onDidTriggerSeparatorButton)===null||d===void 0?void 0:d.call(t,c)}),a.onDidChangeValue(c=>{l&&!c&&(a.activeItems.length!==1||a.activeItems[0]!==l)&&(a.activeItems=[l])}),i.onCancellationRequested(()=>{a.hide()}),a.onDidHide(()=>{er(u),s(void 0)})];a.title=t.title,a.canSelectMany=!!t.canPickMany,a.placeholder=t.placeHolder,a.ignoreFocusOut=!!t.ignoreFocusLost,a.matchOnDescription=!!t.matchOnDescription,a.matchOnDetail=!!t.matchOnDetail,a.matchOnLabel=t.matchOnLabel===void 0||t.matchOnLabel,a.quickNavigate=t.quickNavigate,a.hideInput=!!t.hideInput,a.contextKey=t.contextKey,a.busy=!0,Promise.all([e,t.activeItem]).then(([c,d])=>{l=d,a.busy=!1,a.items=c,a.canSelectMany&&(a.selectedItems=c.filter(h=>h.type!=="separator"&&h.picked)),l&&(a.activeItems=[l])}),a.show(),Promise.resolve(e).then(void 0,c=>{o(c),a.hide()})})}createQuickPick(){const e=this.getUI(!0);return new Ak(e)}createInputBox(){const e=this.getUI(!0);return new l3t(e)}show(e){const t=this.getUI(!0);this.onShowEmitter.fire();const i=this.controller;this.controller=e,i==null||i.didHide(),this.setEnabled(!0),t.leftActionBar.clear(),t.title.textContent="",t.description1.textContent="",t.description2.textContent="",Qs(t.widget),t.rightActionBar.clear(),t.checkAll.checked=!1,t.inputBox.placeholder="",t.inputBox.password=!1,t.inputBox.showDecoration(oo.Ignore),t.visibleCount.setCount(0),t.count.setCount(0),Qs(t.message),t.progressBar.stop(),t.list.setElements([]),t.list.matchOnDescription=!1,t.list.matchOnDetail=!1,t.list.matchOnLabel=!0,t.list.sortByLabel=!0,t.ignoreFocusOut=!1,t.inputBox.toggles=void 0;const r=this.options.backKeybindingLabel();f$.tooltip=r?L("quickInput.backWithKeybinding","Back ({0})",r):L("quickInput.back","Back"),t.container.style.display="",this.updateLayout(),t.inputBox.setFocus()}isVisible(){return!!this.ui&&this.ui.container.style.display!=="none"}setVisibilities(e){const t=this.getUI();t.title.style.display=e.title?"":"none",t.description1.style.display=e.description&&(e.inputBox||e.checkAll)?"":"none",t.description2.style.display=e.description&&!(e.inputBox||e.checkAll)?"":"none",t.checkAll.style.display=e.checkAll?"":"none",t.inputContainer.style.display=e.inputBox?"":"none",t.filterContainer.style.display=e.inputBox?"":"none",t.visibleCountContainer.style.display=e.visibleCount?"":"none",t.countContainer.style.display=e.count?"":"none",t.okContainer.style.display=e.ok?"":"none",t.customButtonContainer.style.display=e.customButton?"":"none",t.message.style.display=e.message?"":"none",t.progressBar.getContainer().style.display=e.progressBar?"":"none",t.list.display(!!e.list),t.container.classList.toggle("show-checkboxes",!!e.checkBox),t.container.classList.toggle("hidden-input",!e.inputBox&&!e.description),this.updateLayout()}setEnabled(e){if(e!==this.enabled){this.enabled=e;for(const t of this.getUI().leftActionBar.viewItems)t.action.enabled=e;for(const t of this.getUI().rightActionBar.viewItems)t.action.enabled=e;this.getUI().checkAll.disabled=!e,this.getUI().inputBox.enabled=e,this.getUI().ok.enabled=e,this.getUI().list.enabled=e}}hide(e){var t,i;const r=this.controller;if(!r)return;r.willHide(e);const o=(t=this.ui)===null||t===void 0?void 0:t.container,s=o&&!T0e(o);if(this.controller=null,this.onHideEmitter.fire(),o&&(o.style.display="none"),!s){let a=this.previousFocusElement;for(;a&&!a.offsetParent;)a=(i=a.parentElement)!==null&&i!==void 0?i:void 0;a!=null&&a.offsetParent?(a.focus(),this.previousFocusElement=void 0):this.options.returnFocus()}r.didHide(e)}layout(e,t){this.dimension=e,this.titleBarOffset=t,this.updateLayout()}updateLayout(){if(this.ui&&this.isVisible()){this.ui.container.style.top=`${this.titleBarOffset}px`;const e=this.ui.container.style,t=Math.min(this.dimension.width*.62,v$.MAX_WIDTH);e.width=t+"px",e.marginLeft="-"+t/2+"px",this.ui.inputBox.layout(),this.ui.list.layout(this.dimension&&this.dimension.height*.4)}}applyStyles(e){this.styles=e,this.updateStyles()}updateStyles(){if(this.ui){const{quickInputTitleBackground:e,quickInputBackground:t,quickInputForeground:i,widgetBorder:r,widgetShadow:o}=this.styles.widget;this.ui.titleBar.style.backgroundColor=e??"",this.ui.container.style.backgroundColor=t??"",this.ui.container.style.color=i??"",this.ui.container.style.border=r?`1px solid ${r}`:"",this.ui.container.style.boxShadow=o?`0 0 8px 2px ${o}`:"",this.ui.list.style(this.styles.list);const s=[];this.styles.pickerGroup.pickerGroupBorder&&s.push(`.quick-input-list .quick-input-list-entry { border-top-color: ${this.styles.pickerGroup.pickerGroupBorder}; }`),this.styles.pickerGroup.pickerGroupForeground&&s.push(`.quick-input-list .quick-input-list-separator { color: ${this.styles.pickerGroup.pickerGroupForeground}; }`),this.styles.pickerGroup.pickerGroupForeground&&s.push(".quick-input-list .quick-input-list-separator-as-item { color: var(--vscode-descriptionForeground); }"),(this.styles.keybindingLabel.keybindingLabelBackground||this.styles.keybindingLabel.keybindingLabelBorder||this.styles.keybindingLabel.keybindingLabelBottomBorder||this.styles.keybindingLabel.keybindingLabelShadow||this.styles.keybindingLabel.keybindingLabelForeground)&&(s.push(".quick-input-list .monaco-keybinding > .monaco-keybinding-key {"),this.styles.keybindingLabel.keybindingLabelBackground&&s.push(`background-color: ${this.styles.keybindingLabel.keybindingLabelBackground};`),this.styles.keybindingLabel.keybindingLabelBorder&&s.push(`border-color: ${this.styles.keybindingLabel.keybindingLabelBorder};`),this.styles.keybindingLabel.keybindingLabelBottomBorder&&s.push(`border-bottom-color: ${this.styles.keybindingLabel.keybindingLabelBottomBorder};`),this.styles.keybindingLabel.keybindingLabelShadow&&s.push(`box-shadow: inset 0 -1px 0 ${this.styles.keybindingLabel.keybindingLabelShadow};`),this.styles.keybindingLabel.keybindingLabelForeground&&s.push(`color: ${this.styles.keybindingLabel.keybindingLabelForeground};`),s.push("}"));const a=s.join(` -`);a!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=a)}}};OA.MAX_WIDTH=600,OA=v$=d3t([kIe(1,p1),kIe(2,$t)],OA);var h3t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Gk=function(n,e){return function(t,i){e(t,i,n)}};let y$=class extends avt{get controller(){return this._controller||(this._controller=this._register(this.createController())),this._controller}get hasController(){return!!this._controller}get quickAccess(){return this._quickAccess||(this._quickAccess=this._register(this.instantiationService.createInstance(d$))),this._quickAccess}constructor(e,t,i,r,o){super(i),this.instantiationService=e,this.contextKeyService=t,this.layoutService=r,this.configurationService=o,this._onShow=this._register(new be),this._onHide=this._register(new be),this.contexts=new Map}createController(e=this.layoutService,t){const i={idPrefix:"quickInput_",container:e.activeContainer,ignoreFocusOut:()=>!1,backKeybindingLabel:()=>{},setContextKey:o=>this.setContextKey(o),linkOpenerDelegate:o=>{this.instantiationService.invokeFunction(s=>{s.get(Bl).open(o,{allowCommands:!0,fromUserGesture:!0})})},returnFocus:()=>e.focus(),styles:this.computeStyles(),hoverDelegate:this._register(this.instantiationService.createInstance(g$))},r=this._register(this.instantiationService.createInstance(OA,{...i,...t}));return r.layout(e.activeContainerDimension,e.activeContainerOffset.quickPickTop),this._register(e.onDidLayoutActiveContainer(o=>{Qt(e.activeContainer)===Qt(r.container)&&r.layout(o,e.activeContainerOffset.quickPickTop)})),this._register(e.onDidChangeActiveContainer(()=>{r.isVisible()||r.layout(e.activeContainerDimension,e.activeContainerOffset.quickPickTop)})),this._register(r.onShow(()=>{this.resetContextKeys(),this._onShow.fire()})),this._register(r.onHide(()=>{this.resetContextKeys(),this._onHide.fire()})),r}setContextKey(e){let t;e&&(t=this.contexts.get(e),t||(t=new wt(e,!1).bindTo(this.contextKeyService),this.contexts.set(e,t))),!(t&&t.get())&&(this.resetContextKeys(),t==null||t.set(!0))}resetContextKeys(){this.contexts.forEach(e=>{e.get()&&e.reset()})}pick(e,t={},i=Yn.None){return this.controller.pick(e,t,i)}createQuickPick(){return this.controller.createQuickPick()}createInputBox(){return this.controller.createInputBox()}updateStyles(){this.hasController&&this.controller.applyStyles(this.computeStyles())}computeStyles(){return{widget:{quickInputBackground:xt(yve),quickInputForeground:xt(r1t),quickInputTitleBackground:xt(o1t),widgetBorder:xt(sve),widgetShadow:xt(zg)},inputBox:WR,toggle:ZR,countBadge:aSe,button:L_t,progressBar:__t,keybindingLabel:x_t,list:Wy({listBackground:yve,listFocusBackground:a0,listFocusForeground:s0,listInactiveFocusForeground:s0,listInactiveSelectionIconForeground:e2,listInactiveFocusBackground:a0,listFocusOutline:fr,listInactiveFocusOutline:fr}),pickerGroup:{pickerGroupBorder:xt(s1t),pickerGroupForeground:xt(Cve)}}}};y$=h3t([Gk(0,$t),Gk(1,ln),Gk(2,jo),Gk(3,p1),Gk(4,Pn)],y$);var NIe=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},xC=function(n,e){return function(t,i){e(t,i,n)}};let C$=class extends y${constructor(e,t,i,r,o,s){super(t,i,r,new HQ(e.getContainerDomNode(),o),s),this.host=void 0;const a=Ox.get(e);if(a){const l=a.widget;this.host={_serviceBrand:void 0,get mainContainer(){return l.getDomNode()},getContainer(){return l.getDomNode()},whenContainerStylesLoaded(){},get containers(){return[l.getDomNode()]},get activeContainer(){return l.getDomNode()},get mainContainerDimension(){return e.getLayoutInfo()},get activeContainerDimension(){return e.getLayoutInfo()},get onDidLayoutMainContainer(){return e.onDidLayoutChange},get onDidLayoutActiveContainer(){return e.onDidLayoutChange},get onDidLayoutContainer(){return lt.map(e.onDidLayoutChange,u=>({container:l.getDomNode(),dimension:u}))},get onDidChangeActiveContainer(){return lt.None},get onDidAddContainer(){return lt.None},get mainContainerOffset(){return{top:0,quickPickTop:0}},get activeContainerOffset(){return{top:0,quickPickTop:0}},focus:()=>e.focus()}}else this.host=void 0}createController(){return super.createController(this.host)}};C$=NIe([xC(1,$t),xC(2,ln),xC(3,jo),xC(4,vi),xC(5,Pn)],C$);let w$=class{get activeService(){const e=this.codeEditorService.getFocusedCodeEditor();if(!e)throw new Error("Quick input service needs a focused editor to work.");let t=this.mapEditorToService.get(e);if(!t){const i=t=this.instantiationService.createInstance(C$,e);this.mapEditorToService.set(e,t),hS(e.onDidDispose)(()=>{i.dispose(),this.mapEditorToService.delete(e)})}return t}get quickAccess(){return this.activeService.quickAccess}constructor(e,t){this.instantiationService=e,this.codeEditorService=t,this.mapEditorToService=new Map}pick(e,t={},i=Yn.None){return this.activeService.pick(e,t,i)}createQuickPick(){return this.activeService.createQuickPick()}createInputBox(){return this.activeService.createInputBox()}};w$=NIe([xC(0,$t),xC(1,vi)],w$);class Ox{static get(e){return e.getContribution(Ox.ID)}constructor(e){this.editor=e,this.widget=new BA(this.editor)}dispose(){this.widget.dispose()}}Ox.ID="editor.controller.quickInput";class BA{constructor(e){this.codeEditor=e,this.domNode=document.createElement("div"),this.codeEditor.addOverlayWidget(this)}getId(){return BA.ID}getDomNode(){return this.domNode}getPosition(){return{preference:2}}dispose(){this.codeEditor.removeOverlayWidget(this)}}BA.ID="editor.contrib.quickInputWidget",yi(Ox.ID,Ox,4);class m3t{constructor(e,t,i,r,o){this._parsedThemeRuleBrand=void 0,this.token=e,this.index=t,this.fontStyle=i,this.foreground=r,this.background=o}}function f3t(n){if(!n||!Array.isArray(n))return[];const e=[];let t=0;for(let i=0,r=n.length;i{const h=C3t(c.token,d.token);return h!==0?h:c.index-d.index});let t=0,i="000000",r="ffffff";for(;n.length>=1&&n[0].token==="";){const c=n.shift();c.fontStyle!==-1&&(t=c.fontStyle),c.foreground!==null&&(i=c.foreground),c.background!==null&&(r=c.background)}const o=new b3t;for(const c of e)o.getId(c);const s=o.getId(i),a=o.getId(r),l=new S$(t,s,a),u=new x$(l);for(let c=0,d=n.length;c"u"){const r=this._match(t),o=y3t(t);i=(r.metadata|o<<8)>>>0,this._cache.set(t,i)}return(i|e<<0)>>>0}}const v3t=/\b(comment|string|regex|regexp)\b/;function y3t(n){const e=n.match(v3t);if(!e)return 0;switch(e[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"regexp":return 3}throw new Error("Unexpected match for standard token type!")}function C3t(n,e){return ne?1:0}class S${constructor(e,t,i){this._themeTrieElementRuleBrand=void 0,this._fontStyle=e,this._foreground=t,this._background=i,this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}clone(){return new S$(this._fontStyle,this._foreground,this._background)}acceptOverwrite(e,t,i){e!==-1&&(this._fontStyle=e),t!==0&&(this._foreground=t),i!==0&&(this._background=i),this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}}class x${constructor(e){this._themeTrieElementBrand=void 0,this._mainRule=e,this._children=new Map}match(e){if(e==="")return this._mainRule;const t=e.indexOf(".");let i,r;t===-1?(i=e,r=""):(i=e.substring(0,t),r=e.substring(t+1));const o=this._children.get(i);return typeof o<"u"?o.match(r):this._mainRule}insert(e,t,i,r){if(e===""){this._mainRule.acceptOverwrite(t,i,r);return}const o=e.indexOf(".");let s,a;o===-1?(s=e,a=""):(s=e.substring(0,o),a=e.substring(o+1));let l=this._children.get(s);typeof l>"u"&&(l=new x$(this._mainRule.clone()),this._children.set(s,l)),l.insert(a,t,i,r)}}function w3t(n){const e=[];for(let t=1,i=n.length;tt.fire())),n&&e.add(n.onDidProductIconThemeChange(()=>t.fire())),{dispose:()=>e.dispose(),onDidChange:t.event,getCSS(){const r=n?n.getProductIconTheme():new EIe,o={},s=l=>{const u=r.getIcon(l);if(!u)return;const c=u.font;return c?(o[c.id]=c.definition,`.codicon-${l.id}:before { content: '${u.fontCharacter}'; font-family: ${G0e(c.id)}; }`):`.codicon-${l.id}:before { content: '${u.fontCharacter}'; }`},a=[];for(const l of i.getIcons()){const u=s(l);u&&a.push(u)}for(const l in o){const u=o[l],c=u.weight?`font-weight: ${u.weight};`:"",d=u.style?`font-style: ${u.style};`:"",h=u.src.map(m=>`${Qb(m.location)} format('${m.format}')`).join(", ");a.push(`@font-face { src: ${h}; font-family: ${G0e(l)};${c}${d} font-display: block; }`)}return a.join(` -`)}}}class EIe{getIcon(e){const t=wwe();let i=e.defaults;for(;sn.isThemeIcon(i);){const r=t.getIcon(i.id);if(!r)return;i=r.defaults}return i}}const y1="vs",Xk="vs-dark",Bx="hc-black",zx="hc-light",ZIe=Do.as(q1e.ColorContribution),I3t=Do.as(Ave.ThemingContribution);class WIe{constructor(e,t){this.semanticHighlighting=!1,this.themeData=t;const i=t.base;e.length>0?(zA(e)?this.id=e:this.id=i+" "+e,this.themeName=e):(this.id=i,this.themeName=i),this.colors=null,this.defaultColors=Object.create(null),this._tokenTheme=null}get base(){return this.themeData.base}notifyBaseUpdated(){this.themeData.inherit&&(this.colors=null,this._tokenTheme=null)}getColors(){if(!this.colors){const e=new Map;for(const t in this.themeData.colors)e.set(t,Ze.fromHex(this.themeData.colors[t]));if(this.themeData.inherit){const t=L$(this.themeData.base);for(const i in t.colors)e.has(i)||e.set(i,Ze.fromHex(t.colors[i]))}this.colors=e}return this.colors}getColor(e,t){const i=this.getColors().get(e);if(i)return i;if(t!==!1)return this.getDefault(e)}getDefault(e){let t=this.defaultColors[e];return t||(t=ZIe.resolveDefaultColor(e,this),this.defaultColors[e]=t,t)}defines(e){return this.getColors().has(e)}get type(){switch(this.base){case y1:return Xc.LIGHT;case Bx:return Xc.HIGH_CONTRAST_DARK;case zx:return Xc.HIGH_CONTRAST_LIGHT;default:return Xc.DARK}}get tokenTheme(){if(!this._tokenTheme){let e=[],t=[];if(this.themeData.inherit){const o=L$(this.themeData.base);e=o.rules,o.encodedTokensColors&&(t=o.encodedTokensColors)}const i=this.themeData.colors["editor.foreground"],r=this.themeData.colors["editor.background"];if(i||r){const o={token:""};i&&(o.foreground=i),r&&(o.background=r),e.push(o)}e=e.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(t=this.themeData.encodedTokensColors),this._tokenTheme=TIe.createFromRawTokenTheme(e,t)}return this._tokenTheme}getTokenStyleMetadata(e,t,i){const o=this.tokenTheme._match([e].concat(t).join(".")).metadata,s=hu.getForeground(o),a=hu.getFontStyle(o);return{foreground:s,italic:!!(a&1),bold:!!(a&2),underline:!!(a&4),strikethrough:!!(a&8)}}}function zA(n){return n===y1||n===Xk||n===Bx||n===zx}function L$(n){switch(n){case y1:return S3t;case Xk:return x3t;case Bx:return L3t;case zx:return _3t}}function HA(n){const e=L$(n);return new WIe(n,e)}class D3t extends Ie{constructor(){super(),this._onColorThemeChange=this._register(new be),this.onDidColorThemeChange=this._onColorThemeChange.event,this._onProductIconThemeChange=this._register(new be),this.onDidProductIconThemeChange=this._onProductIconThemeChange.event,this._environment=Object.create(null),this._builtInProductIconTheme=new EIe,this._autoDetectHighContrast=!0,this._knownThemes=new Map,this._knownThemes.set(y1,HA(y1)),this._knownThemes.set(Xk,HA(Xk)),this._knownThemes.set(Bx,HA(Bx)),this._knownThemes.set(zx,HA(zx));const e=this._register(F3t(this));this._codiconCSS=e.getCSS(),this._themeCSS="",this._allCSS=`${this._codiconCSS} -${this._themeCSS}`,this._globalStyleElement=null,this._styleElements=[],this._colorMapOverride=null,this.setTheme(y1),this._onOSSchemeChanged(),this._register(e.onDidChange(()=>{this._codiconCSS=e.getCSS(),this._updateCSS()})),bbe(Wi,"(forced-colors: active)",()=>{this._onOSSchemeChanged()})}registerEditorContainer(e){return a9(e)?this._registerShadowDomContainer(e):this._registerRegularEditorContainer()}_registerRegularEditorContainer(){return this._globalStyleElement||(this._globalStyleElement=Au(void 0,e=>{e.className="monaco-colors",e.textContent=this._allCSS}),this._styleElements.push(this._globalStyleElement)),Ie.None}_registerShadowDomContainer(e){const t=Au(e,i=>{i.className="monaco-colors",i.textContent=this._allCSS});return this._styleElements.push(t),{dispose:()=>{for(let i=0;i{i.base===e&&i.notifyBaseUpdated()}),this._theme.themeName===e&&this.setTheme(e)}getColorTheme(){return this._theme}setColorMapOverride(e){this._colorMapOverride=e,this._updateThemeOrColorMap()}setTheme(e){let t;this._knownThemes.has(e)?t=this._knownThemes.get(e):t=this._knownThemes.get(y1),this._updateActualTheme(t)}_updateActualTheme(e){!e||this._theme===e||(this._theme=e,this._updateThemeOrColorMap())}_onOSSchemeChanged(){if(this._autoDetectHighContrast){const e=Wi.matchMedia("(forced-colors: active)").matches;if(e!==rf(this._theme.type)){let t;dW(this._theme.type)?t=e?Bx:Xk:t=e?zx:y1,this._updateActualTheme(this._knownThemes.get(t))}}}setAutoDetectHighContrast(e){this._autoDetectHighContrast=e,this._onOSSchemeChanged()}_updateThemeOrColorMap(){const e=[],t={},i={addRule:s=>{t[s]||(e.push(s),t[s]=!0)}};I3t.getThemingParticipants().forEach(s=>s(this._theme,i,this._environment));const r=[];for(const s of ZIe.getColors()){const a=this._theme.getColor(s.id,!0);a&&r.push(`${f6(s.id)}: ${a.toString()};`)}i.addRule(`.monaco-editor, .monaco-diff-editor, .monaco-component { ${r.join(` -`)} }`);const o=this._colorMapOverride||this._theme.tokenTheme.getColorMap();i.addRule(w3t(o)),this._themeCSS=e.join(` +`}_shouldRestoreUndoStack(){const e=this._configurationService.getValue("files.restoreUndoStack");return typeof e=="boolean"?e:!0}getCreationOptions(e,t,i){const r=typeof e=="string"?e:e.languageId;let o=this._modelCreationOptionsByLanguageAndResource[r+t];if(!o){const s=this._configurationService.getValue("editor",{overrideIdentifier:r,resource:t}),a=this._getEOL(t,r);o=Px._readModelOptions({editor:s,eol:a},i),this._modelCreationOptionsByLanguageAndResource[r+t]=o}return o}_updateModelOptions(e){const t=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const i=Object.keys(this._models);for(let r=0,o=i.length;re){const t=[];for(this._disposedModels.forEach(i=>{i.sharesUndoRedoStack||t.push(i)}),t.sort((i,r)=>i.time-r.time);t.length>0&&this._disposedModelsHeapSize>e;){const i=t.shift();this._removeDisposedModel(i.uri),i.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(i.initialUndoRedoSnapshot)}}}_createModelData(e,t,i,r){const o=this.getCreationOptions(t,i,r),s=new ff(e,t,o,i,this._undoRedoService,this._languageService,this._languageConfigurationService);if(i&&this._disposedModels.has(wC(i))){const u=this._removeDisposedModel(i),c=this._undoRedoService.getElements(i),d=this._getSHA1Computer(),h=d.canComputeSHA1(s)?d.computeSHA1(s)===u.sha1:!1;if(h||u.sharesUndoRedoStack){for(const m of c.past)tp(m)&&m.matchesResource(i)&&m.setModel(s);for(const m of c.future)tp(m)&&m.matchesResource(i)&&m.setModel(s);this._undoRedoService.setElementsValidFlag(i,!0,m=>tp(m)&&m.matchesResource(i)),h&&(s._overwriteVersionId(u.versionId),s._overwriteAlternativeVersionId(u.alternativeVersionId),s._overwriteInitialUndoRedoSnapshot(u.initialUndoRedoSnapshot))}else u.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(u.initialUndoRedoSnapshot)}const a=wC(s.uri);if(this._models[a])throw new Error("ModelService: Cannot add model because it already exists!");const l=new BWt(s,u=>this._onWillDispose(u),(u,c)=>this._onDidChangeLanguage(u,c));return this._models[a]=l,l}createModel(e,t,i,r=!1){let o;return t?o=this._createModelData(e,t,i,r):o=this._createModelData(e,Pu,i,r),this._onModelAdded.fire(o.model),o.model}getModels(){const e=[],t=Object.keys(this._models);for(let i=0,r=t.length;i0||u.future.length>0){for(const c of u.past)tp(c)&&c.matchesResource(e.uri)&&(o=!0,s+=c.heapSize(e.uri),c.setModel(e.uri));for(const c of u.future)tp(c)&&c.matchesResource(e.uri)&&(o=!0,s+=c.heapSize(e.uri),c.setModel(e.uri))}}const a=Px.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,l=this._getSHA1Computer();if(o)if(!r&&(s>a||!l.canComputeSHA1(e))){const u=i.model.getInitialUndoRedoSnapshot();u!==null&&this._undoRedoService.restoreSnapshot(u)}else this._ensureDisposedModelsHeapSize(a-s),this._undoRedoService.setElementsValidFlag(e.uri,!1,u=>tp(u)&&u.matchesResource(e.uri)),this._insertDisposedModel(new HWt(e.uri,i.model.getInitialUndoRedoSnapshot(),Date.now(),r,s,l.computeSHA1(e),e.getVersionId(),e.getAlternativeVersionId()));else if(!r){const u=i.model.getInitialUndoRedoSnapshot();u!==null&&this._undoRedoService.restoreSnapshot(u)}delete this._models[t],i.dispose(),delete this._modelCreationOptionsByLanguageAndResource[e.getLanguageId()+e.uri],this._onModelRemoved.fire(e)}_onDidChangeLanguage(e,t){const i=t.oldLanguage,r=e.getLanguageId(),o=this.getCreationOptions(i,e.uri,e.isForSimpleWidget),s=this.getCreationOptions(r,e.uri,e.isForSimpleWidget);Px._setModelOptionsForModel(e,s,o),this._onModelModeChanged.fire({model:e,oldLanguageId:i})}_getSHA1Computer(){return new VV}};AV.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20*1024*1024,AV=Px=OWt([EM(0,Pn),EM(1,M2e),EM(2,zZ),EM(3,br),EM(4,er)],AV);class VV{canComputeSHA1(e){return e.getValueLength()<=VV.MAX_MODEL_SIZE}computeSHA1(e){const t=new n9,i=e.createSnapshot();let r;for(;r=i.read();)t.update(r);return t.digest()}}VV.MAX_MODEL_SIZE=10*1024*1024;var c$;(function(n){n[n.PRESERVE=0]="PRESERVE",n[n.LAST=1]="LAST"})(c$||(c$={}));const yFe={Quickaccess:"workbench.contributions.quickaccess"};class YWt{constructor(){this.providers=[],this.defaultProvider=void 0}registerQuickAccessProvider(e){return e.prefix.length===0?this.defaultProvider=e:this.providers.push(e),this.providers.sort((t,i)=>i.prefix.length-t.prefix.length),jt(()=>{this.providers.splice(this.providers.indexOf(e),1),this.defaultProvider===e&&(this.defaultProvider=void 0)})}getQuickAccessProviders(){return Ym([this.defaultProvider,...this.providers])}getQuickAccessProvider(e){return e&&this.providers.find(i=>e.startsWith(i.prefix))||void 0||this.defaultProvider}}Do.add(yFe.Quickaccess,new YWt);var UWt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},vFe=function(n,e){return function(t,i){e(t,i,n)}};let d$=class extends Fe{constructor(e,t){super(),this.quickInputService=e,this.instantiationService=t,this.registry=Do.as(yFe.Quickaccess),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0}show(e="",t){this.doShowOrPick(e,!1,t)}doShowOrPick(e,t,i){var r,o,s;const[a,l]=this.getOrInstantiateProvider(e),u=this.visibleQuickAccess,c=u==null?void 0:u.descriptor;if(u&&l&&c===l){e!==l.prefix&&!(i!=null&&i.preserveValue)&&(u.picker.value=e),this.adjustValueSelection(u.picker,l,i);return}if(l&&!(i!=null&&i.preserveValue)){let y;if(u&&c&&c!==l){const C=u.value.substr(c.prefix.length);C&&(y=`${l.prefix}${C}`)}if(!y){const C=a==null?void 0:a.defaultFilterValue;C===c$.LAST?y=this.lastAcceptedPickerValues.get(l):typeof C=="string"&&(y=`${l.prefix}${C}`)}typeof y=="string"&&(e=y)}const d=(r=u==null?void 0:u.picker)===null||r===void 0?void 0:r.valueSelection,h=(o=u==null?void 0:u.picker)===null||o===void 0?void 0:o.value,m=new Je,f=m.add(this.quickInputService.createQuickPick());f.value=e,this.adjustValueSelection(f,l,i),f.placeholder=l==null?void 0:l.placeholder,f.quickNavigate=i==null?void 0:i.quickNavigateConfiguration,f.hideInput=!!f.quickNavigate&&!u,(typeof(i==null?void 0:i.itemActivation)=="number"||i!=null&&i.quickNavigateConfiguration)&&(f.itemActivation=(s=i==null?void 0:i.itemActivation)!==null&&s!==void 0?s:_f.SECOND),f.contextKey=l==null?void 0:l.contextKey,f.filterValue=y=>y.substring(l?l.prefix.length:0);let g;t&&(g=new XR,m.add(lt.once(f.onWillAccept)(y=>{y.veto(),f.hide()}))),m.add(this.registerPickerListeners(f,a,l,e,i==null?void 0:i.providerOptions));const b=m.add(new fo);if(a&&m.add(a.provide(f,b.token,i==null?void 0:i.providerOptions)),lt.once(f.onDidHide)(()=>{f.selectedItems.length===0&&b.cancel(),m.dispose(),g==null||g.complete(f.selectedItems.slice(0))}),f.show(),d&&h===e&&(f.valueSelection=d),t)return g==null?void 0:g.p}adjustValueSelection(e,t,i){var r;let o;i!=null&&i.preserveValue?o=[e.value.length,e.value.length]:o=[(r=t==null?void 0:t.prefix.length)!==null&&r!==void 0?r:0,e.value.length],e.valueSelection=o}registerPickerListeners(e,t,i,r,o){const s=new Je,a=this.visibleQuickAccess={picker:e,descriptor:i,value:r};return s.add(jt(()=>{a===this.visibleQuickAccess&&(this.visibleQuickAccess=void 0)})),s.add(e.onDidChangeValue(l=>{const[u]=this.getOrInstantiateProvider(l);u!==t?this.show(l,{preserveValue:!0,providerOptions:o}):a.value=l})),i&&s.add(e.onDidAccept(()=>{this.lastAcceptedPickerValues.set(i,e.value)})),s}getOrInstantiateProvider(e){const t=this.registry.getQuickAccessProvider(e);if(!t)return[void 0,void 0];let i=this.mapProviderToDescriptor.get(t);return i||(i=this.instantiationService.createInstance(t.ctor),this.mapProviderToDescriptor.set(t,i)),[i,t]}};d$=UWt([vFe(0,Vv),vFe(1,$t)],d$);var KWt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o};class CFe{constructor(e){this.nodes=e}toString(){return this.nodes.map(e=>typeof e=="string"?e:e.label).join("")}}KWt([io],CFe.prototype,"toString",null);const JWt=/\[([^\]]+)\]\(((?:https?:\/\/|command:|file:)[^\)\s]+)(?: (["'])(.+?)(\3))?\)/gi;function jWt(n){const e=[];let t=0,i;for(;i=JWt.exec(n);){i.index-t>0&&e.push(n.substring(t,i.index));const[,r,o,,s]=i;s?e.push({label:r,href:o,title:s}):e.push({label:r,href:o}),t=i.index+i[0].length}return t{Nft(m)&&An.stop(m,!0),t.callback(o.href)},u=t.disposables.add(new Jn(a,ot.CLICK)).event,c=t.disposables.add(new Jn(a,ot.KEY_DOWN)).event,d=lt.chain(c,m=>m.filter(f=>{const g=new or(f);return g.equals(10)||g.equals(3)}));t.disposables.add(nr.addTarget(a));const h=t.disposables.add(new Jn(a,tr.Tap)).event;lt.any(u,h,d)(l,null,t.disposables),e.appendChild(a)}}const SFe=new Lh(()=>{const n=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});return{collator:n,collatorIsNumeric:n.resolvedOptions().numeric}});function e3t(n,e,t=!1){const i=n||"",r=e||"",o=SFe.value.collator.compare(i,r);return SFe.value.collatorIsNumeric&&o===0&&i!==r?ir.length)return 1}return 0}var XV=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},wFe=function(n,e){return function(t,i){e(t,i,n)}},m$;const am=Ct;var Go;(function(n){n[n.First=1]="First",n[n.Second=2]="Second",n[n.Last=3]="Last",n[n.Next=4]="Next",n[n.Previous=5]="Previous",n[n.NextPage=6]="NextPage",n[n.PreviousPage=7]="PreviousPage",n[n.NextSeparator=8]="NextSeparator",n[n.PreviousSeparator=9]="PreviousSeparator"})(Go||(Go={}));class xFe{constructor(e,t,i){this.index=e,this.hasCheckbox=t,this._hidden=!1,this._init=new Lh(()=>{var r;const o=(r=i.label)!==null&&r!==void 0?r:"",s=WD(o).text.trim(),a=i.ariaLabel||[o,this.saneDescription,this.saneDetail].map(l=>A2t(l)).filter(l=>!!l).join(", ");return{saneLabel:o,saneSortLabel:s,saneAriaLabel:a}}),this._saneDescription=i.description,this._saneTooltip=i.tooltip}get saneLabel(){return this._init.value.saneLabel}get saneSortLabel(){return this._init.value.saneSortLabel}get saneAriaLabel(){return this._init.value.saneAriaLabel}get element(){return this._element}set element(e){this._element=e}get hidden(){return this._hidden}set hidden(e){this._hidden=e}get saneDescription(){return this._saneDescription}set saneDescription(e){this._saneDescription=e}get saneDetail(){return this._saneDetail}set saneDetail(e){this._saneDetail=e}get saneTooltip(){return this._saneTooltip}set saneTooltip(e){this._saneTooltip=e}get labelHighlights(){return this._labelHighlights}set labelHighlights(e){this._labelHighlights=e}get descriptionHighlights(){return this._descriptionHighlights}set descriptionHighlights(e){this._descriptionHighlights=e}get detailHighlights(){return this._detailHighlights}set detailHighlights(e){this._detailHighlights=e}}class Ra extends xFe{constructor(e,t,i,r,o,s){var a,l,u;super(e,t,o),this.fireButtonTriggered=i,this._onChecked=r,this.item=o,this._separator=s,this._checked=!1,this.onChecked=t?lt.map(lt.filter(this._onChecked.event,c=>c.element===this),c=>c.checked):lt.None,this._saneDetail=o.detail,this._labelHighlights=(a=o.highlights)===null||a===void 0?void 0:a.label,this._descriptionHighlights=(l=o.highlights)===null||l===void 0?void 0:l.description,this._detailHighlights=(u=o.highlights)===null||u===void 0?void 0:u.detail}get separator(){return this._separator}set separator(e){this._separator=e}get checked(){return this._checked}set checked(e){e!==this._checked&&(this._checked=e,this._onChecked.fire({element:this,checked:e}))}get checkboxDisabled(){return!!this.item.disabled}}var Xf;(function(n){n[n.NONE=0]="NONE",n[n.MOUSE_HOVER=1]="MOUSE_HOVER",n[n.ACTIVE_ITEM=2]="ACTIVE_ITEM"})(Xf||(Xf={}));class y1 extends xFe{constructor(e,t,i){super(e,!1,i),this.fireSeparatorButtonTriggered=t,this.separator=i,this.children=new Array,this.focusInsideSeparator=Xf.NONE}}class i3t{getHeight(e){return e instanceof y1?30:e.saneDetail?44:22}getTemplateId(e){return e instanceof Ra?RM.ID:ZM.ID}}class r3t{getWidgetAriaLabel(){return _("quickInput","Quick Input")}getAriaLabel(e){var t;return!((t=e.separator)===null||t===void 0)&&t.label?`${e.saneAriaLabel}, ${e.separator.label}`:e.saneAriaLabel}getWidgetRole(){return"listbox"}getRole(e){return e.hasCheckbox?"checkbox":"option"}isChecked(e){if(!(!e.hasCheckbox||!(e instanceof Ra)))return{value:e.checked,onDidChange:e.onChecked}}}class _Fe{constructor(e){this.hoverDelegate=e}renderTemplate(e){const t=Object.create(null);t.toDisposeElement=new Je,t.toDisposeTemplate=new Je,t.entry=je(e,am(".quick-input-list-entry"));const i=je(t.entry,am("label.quick-input-list-label"));t.toDisposeTemplate.add(Gr(i,ot.CLICK,u=>{t.checkbox.offsetParent||u.preventDefault()})),t.checkbox=je(i,am("input.quick-input-list-checkbox")),t.checkbox.type="checkbox";const r=je(i,am(".quick-input-list-rows")),o=je(r,am(".quick-input-list-row")),s=je(r,am(".quick-input-list-row"));t.label=new k3(o,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),t.toDisposeTemplate.add(t.label),t.icon=LY(t.label.element,am(".quick-input-list-icon"));const a=je(o,am(".quick-input-list-entry-keybinding"));t.keybinding=new Y2(a,ru),t.toDisposeTemplate.add(t.keybinding);const l=je(s,am(".quick-input-list-label-meta"));return t.detail=new k3(l,{supportHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),t.toDisposeTemplate.add(t.detail),t.separator=je(t.entry,am(".quick-input-list-separator")),t.actionBar=new Uc(t.entry,this.hoverDelegate?{hoverDelegate:this.hoverDelegate}:void 0),t.actionBar.domNode.classList.add("quick-input-list-entry-action-bar"),t.toDisposeTemplate.add(t.actionBar),t}disposeTemplate(e){e.toDisposeElement.dispose(),e.toDisposeTemplate.dispose()}disposeElement(e,t,i){i.toDisposeElement.clear(),i.actionBar.clear()}}let RM=m$=class extends _Fe{constructor(e,t){super(e),this.themeService=t,this._itemsWithSeparatorsFrequency=new Map}get templateId(){return m$.ID}renderTemplate(e){const t=super.renderTemplate(e);return t.toDisposeTemplate.add(Gr(t.checkbox,ot.CHANGE,i=>{t.element.checked=t.checkbox.checked})),t}renderElement(e,t,i){var r,o,s;const a=e.element;i.element=a,a.element=(r=i.entry)!==null&&r!==void 0?r:void 0;const l=a.item;i.checkbox.checked=a.checked,i.toDisposeElement.add(a.onChecked(g=>i.checkbox.checked=g)),i.checkbox.disabled=a.checkboxDisabled;const{labelHighlights:u,descriptionHighlights:c,detailHighlights:d}=a;if(l.iconPath){const g=dZ(this.themeService.getColorTheme().type)?l.iconPath.dark:(o=l.iconPath.light)!==null&&o!==void 0?o:l.iconPath.dark,b=en.revive(g);i.icon.className="quick-input-list-icon",i.icon.style.backgroundImage=Qb(b)}else i.icon.style.backgroundImage="",i.icon.className=l.iconClass?`quick-input-list-icon ${l.iconClass}`:"";let h;!a.saneTooltip&&a.saneDescription&&(h={markdown:{value:a.saneDescription,supportThemeIcons:!0},markdownNotSupportedFallback:a.saneDescription});const m={matches:u||[],descriptionTitle:h,descriptionMatches:c||[],labelEscapeNewLines:!0};if(m.extraClasses=l.iconClasses,m.italic=l.italic,m.strikethrough=l.strikethrough,i.entry.classList.remove("quick-input-list-separator-as-item"),i.label.setLabel(a.saneLabel,a.saneDescription,m),i.keybinding.set(l.keybinding),a.saneDetail){let g;a.saneTooltip||(g={markdown:{value:a.saneDetail,supportThemeIcons:!0},markdownNotSupportedFallback:a.saneDetail}),i.detail.element.style.display="",i.detail.setLabel(a.saneDetail,void 0,{matches:d,title:g,labelEscapeNewLines:!0})}else i.detail.element.style.display="none";!((s=a.separator)===null||s===void 0)&&s.label?(i.separator.textContent=a.separator.label,i.separator.style.display="",this.addItemWithSeparator(a)):i.separator.style.display="none",i.entry.classList.toggle("quick-input-list-separator-border",!!a.separator);const f=l.buttons;f&&f.length?(i.actionBar.push(f.map((g,b)=>GV(g,`id-${b}`,()=>a.fireButtonTriggered({button:g,item:a.item}))),{icon:!0,label:!1}),i.entry.classList.add("has-actions")):i.entry.classList.remove("has-actions")}disposeElement(e,t,i){this.removeItemWithSeparator(e.element),super.disposeElement(e,t,i)}isItemWithSeparatorVisible(e){return this._itemsWithSeparatorsFrequency.has(e)}addItemWithSeparator(e){this._itemsWithSeparatorsFrequency.set(e,(this._itemsWithSeparatorsFrequency.get(e)||0)+1)}removeItemWithSeparator(e){const t=this._itemsWithSeparatorsFrequency.get(e)||0;t>1?this._itemsWithSeparatorsFrequency.set(e,t-1):this._itemsWithSeparatorsFrequency.delete(e)}};RM.ID="quickpickitem",RM=m$=XV([wFe(1,jo)],RM);class ZM extends _Fe{constructor(){super(...arguments),this._visibleSeparatorsFrequency=new Map}get templateId(){return ZM.ID}get visibleSeparators(){return[...this._visibleSeparatorsFrequency.keys()]}isSeparatorVisible(e){return this._visibleSeparatorsFrequency.has(e)}renderElement(e,t,i){var r;const o=e.element;i.element=o,o.element=(r=i.entry)!==null&&r!==void 0?r:void 0,o.element.classList.toggle("focus-inside",!!o.focusInsideSeparator);const s=o.separator,{labelHighlights:a,descriptionHighlights:l,detailHighlights:u}=o;i.icon.style.backgroundImage="",i.icon.className="";let c;!o.saneTooltip&&o.saneDescription&&(c={markdown:{value:o.saneDescription,supportThemeIcons:!0},markdownNotSupportedFallback:o.saneDescription});const d={matches:a||[],descriptionTitle:c,descriptionMatches:l||[],labelEscapeNewLines:!0};if(i.entry.classList.add("quick-input-list-separator-as-item"),i.label.setLabel(o.saneLabel,o.saneDescription,d),o.saneDetail){let m;o.saneTooltip||(m={markdown:{value:o.saneDetail,supportThemeIcons:!0},markdownNotSupportedFallback:o.saneDetail}),i.detail.element.style.display="",i.detail.setLabel(o.saneDetail,void 0,{matches:u,title:m,labelEscapeNewLines:!0})}else i.detail.element.style.display="none";i.separator.style.display="none",i.entry.classList.add("quick-input-list-separator-border");const h=s.buttons;h&&h.length?(i.actionBar.push(h.map((m,f)=>GV(m,`id-${f}`,()=>o.fireSeparatorButtonTriggered({button:m,separator:o.separator}))),{icon:!0,label:!1}),i.entry.classList.add("has-actions")):i.entry.classList.remove("has-actions"),this.addSeparator(o)}disposeElement(e,t,i){var r;this.removeSeparator(e.element),this.isSeparatorVisible(e.element)||(r=e.element.element)===null||r===void 0||r.classList.remove("focus-inside"),super.disposeElement(e,t,i)}addSeparator(e){this._visibleSeparatorsFrequency.set(e,(this._visibleSeparatorsFrequency.get(e)||0)+1)}removeSeparator(e){const t=this._visibleSeparatorsFrequency.get(e)||0;t>1?this._visibleSeparatorsFrequency.set(e,t-1):this._visibleSeparatorsFrequency.delete(e)}}ZM.ID="quickpickseparator";let WM=class extends Fe{constructor(e,t,i,r,o){super(),this.parent=e,this.hoverDelegate=t,this.linkOpenerDelegate=i,this._onKeyDown=new be,this.onKeyDown=this._onKeyDown.event,this._onLeave=new be,this.onLeave=this._onLeave.event,this._onChangedAllVisibleChecked=new be,this.onChangedAllVisibleChecked=this._onChangedAllVisibleChecked.event,this._onChangedCheckedCount=new be,this.onChangedCheckedCount=this._onChangedCheckedCount.event,this._onChangedVisibleCount=new be,this.onChangedVisibleCount=this._onChangedVisibleCount.event,this._onChangedCheckedElements=new be,this.onChangedCheckedElements=this._onChangedCheckedElements.event,this._onButtonTriggered=new be,this.onButtonTriggered=this._onButtonTriggered.event,this._onSeparatorButtonTriggered=new be,this.onSeparatorButtonTriggered=this._onSeparatorButtonTriggered.event,this._onTriggerEmptySelectionOrFocus=new be,this._elementChecked=new be,this._inputElements=new Array,this._elementTree=new Array,this._itemElements=new Array,this._elementDisposable=this._register(new Je),this._shouldFireCheckedEvents=!0,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._container=je(this.parent,am(".quick-input-list")),this._separatorRenderer=new ZM(t),this._itemRenderer=o.createInstance(RM,t),this._tree=this._register(o.createInstance(d8,"QuickInput",this._container,new i3t,[this._itemRenderer,this._separatorRenderer],{accessibilityProvider:new r3t,setRowLineHeight:!1,multipleSelectionSupport:!1,hideTwistiesOfChildlessElements:!0,renderIndentGuides:q2.None,findWidgetEnabled:!1,indent:0,horizontalScrolling:!1,allowNonCollapsibleParents:!0,identityProvider:{getId:s=>{var a,l,u,c,d,h,m,f;return(f=(h=(c=(l=(a=s.item)===null||a===void 0?void 0:a.id)!==null&&l!==void 0?l:(u=s.item)===null||u===void 0?void 0:u.label)!==null&&c!==void 0?c:(d=s.separator)===null||d===void 0?void 0:d.id)!==null&&h!==void 0?h:(m=s.separator)===null||m===void 0?void 0:m.label)!==null&&f!==void 0?f:""}},alwaysConsumeMouseWheel:!0})),this._tree.getHTMLElement().id=r,this._registerListeners()}get onDidChangeFocus(){return lt.map(lt.any(this._tree.onDidChangeFocus,this._onTriggerEmptySelectionOrFocus.event),e=>e.elements.filter(t=>t instanceof Ra).map(t=>t.item))}get onDidChangeSelection(){return lt.map(lt.any(this._tree.onDidChangeSelection,this._onTriggerEmptySelectionOrFocus.event),e=>({items:e.elements.filter(t=>t instanceof Ra).map(t=>t.item),event:e.browserEvent}))}get scrollTop(){return this._tree.scrollTop}set scrollTop(e){this._tree.scrollTop=e}get ariaLabel(){return this._tree.ariaLabel}set ariaLabel(e){this._tree.ariaLabel=e??""}set enabled(e){this._tree.getHTMLElement().style.pointerEvents=e?"":"none"}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(e){this._matchOnLabelMode=e}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e}_registerListeners(){this._registerOnKeyDown(),this._registerOnContainerClick(),this._registerOnMouseMiddleClick(),this._registerOnElementChecked(),this._registerOnContextMenu(),this._registerHoverListeners(),this._registerSelectionChangeListener(),this._registerSeparatorActionShowingListeners()}_registerOnKeyDown(){this._register(this._tree.onKeyDown(e=>{const t=new or(e);switch(t.keyCode){case 10:this.toggleCheckbox();break;case 31:(On?e.metaKey:e.ctrlKey)&&this._tree.setFocus(this._itemElements);break;case 16:{const i=this._tree.getFocus();i.length===1&&i[0]===this._itemElements[0]&&this._onLeave.fire();break}case 18:{const i=this._tree.getFocus();i.length===1&&i[0]===this._itemElements[this._itemElements.length-1]&&this._onLeave.fire();break}}this._onKeyDown.fire(t)}))}_registerOnContainerClick(){this._register(Ve(this._container,ot.CLICK,e=>{(e.x||e.y)&&this._onLeave.fire()}))}_registerOnMouseMiddleClick(){this._register(Ve(this._container,ot.AUXCLICK,e=>{e.button===1&&this._onLeave.fire()}))}_registerOnElementChecked(){this._register(this._elementChecked.event(e=>this._fireCheckedEvents()))}_registerOnContextMenu(){this._register(this._tree.onContextMenu(e=>{e.element&&(e.browserEvent.preventDefault(),this._tree.setSelection([e.element]))}))}_registerHoverListeners(){const e=this._register(new Xbe(this.hoverDelegate.delay));this._register(this._tree.onMouseOver(async t=>{var i;if(t.browserEvent.target instanceof HTMLAnchorElement){e.cancel();return}if(!(!(t.browserEvent.relatedTarget instanceof HTMLAnchorElement)&&ps(t.browserEvent.relatedTarget,(i=t.element)===null||i===void 0?void 0:i.element)))try{await e.trigger(async()=>{t.element instanceof Ra&&this.showHover(t.element)})}catch(r){if(!Gm(r))throw r}})),this._register(this._tree.onMouseOut(t=>{var i;ps(t.browserEvent.relatedTarget,(i=t.element)===null||i===void 0?void 0:i.element)||e.cancel()}))}_registerSeparatorActionShowingListeners(){this._register(this._tree.onDidChangeFocus(e=>{const t=e.elements[0]?this._tree.getParentElement(e.elements[0]):null;for(const i of this._separatorRenderer.visibleSeparators){const r=i===t;!!(i.focusInsideSeparator&Xf.ACTIVE_ITEM)!==r&&(r?i.focusInsideSeparator|=Xf.ACTIVE_ITEM:i.focusInsideSeparator&=~Xf.ACTIVE_ITEM,this._tree.rerender(i))}})),this._register(this._tree.onMouseOver(e=>{const t=e.element?this._tree.getParentElement(e.element):null;for(const i of this._separatorRenderer.visibleSeparators){if(i!==t)continue;!!(i.focusInsideSeparator&Xf.MOUSE_HOVER)||(i.focusInsideSeparator|=Xf.MOUSE_HOVER,this._tree.rerender(i))}})),this._register(this._tree.onMouseOut(e=>{const t=e.element?this._tree.getParentElement(e.element):null;for(const i of this._separatorRenderer.visibleSeparators){if(i!==t)continue;!!(i.focusInsideSeparator&Xf.MOUSE_HOVER)&&(i.focusInsideSeparator&=~Xf.MOUSE_HOVER,this._tree.rerender(i))}}))}_registerSelectionChangeListener(){this._register(this._tree.onDidChangeSelection(e=>{const t=e.elements.filter(i=>i instanceof Ra);t.length!==e.elements.length&&(e.elements.length===1&&e.elements[0]instanceof y1&&(this._tree.setFocus([e.elements[0].children[0]]),this._tree.reveal(e.elements[0],0)),this._tree.setSelection(t))}))}getAllVisibleChecked(){return this._allVisibleChecked(this._itemElements,!1)}getCheckedCount(){return this._itemElements.filter(e=>e.checked).length}getVisibleCount(){return this._itemElements.filter(e=>!e.hidden).length}setAllVisibleChecked(e){try{this._shouldFireCheckedEvents=!1,this._itemElements.forEach(t=>{!t.hidden&&!t.checkboxDisabled&&(t.checked=e)})}finally{this._shouldFireCheckedEvents=!0,this._fireCheckedEvents()}}setElements(e){this._elementDisposable.clear(),this._inputElements=e;const t=this.parent.classList.contains("show-checkboxes");let i;this._itemElements=new Array,this._elementTree=e.reduce((s,a,l)=>{let u;if(a.type==="separator"){if(!a.buttons)return s;i=new y1(l,c=>this.fireSeparatorButtonTriggered(c),a),u=i}else{const c=l>0?e[l-1]:void 0;let d;c&&c.type==="separator"&&!c.buttons&&(i=void 0,d=c);const h=new Ra(l,t,m=>this.fireButtonTriggered(m),this._elementChecked,a,d);if(this._itemElements.push(h),i)return i.children.push(h),s;u=h}return s.push(u),s},new Array);const r=new Array;let o=0;for(const s of this._elementTree)s instanceof y1?(r.push({element:s,collapsible:!1,collapsed:!1,children:s.children.map(a=>({element:a,collapsible:!1,collapsed:!1}))}),o+=s.children.length+1):(r.push({element:s,collapsible:!1,collapsed:!1}),o++);this._tree.setChildren(null,r),this._onChangedVisibleCount.fire(o)}setFocusedElements(e){const t=e.map(i=>this._itemElements.find(r=>r.item===i)).filter(i=>!!i);if(this._tree.setFocus(t),e.length>0){const i=this._tree.getFocus()[0];i&&this._tree.reveal(i)}}getActiveDescendant(){return this._tree.getHTMLElement().getAttribute("aria-activedescendant")}setSelectedElements(e){const t=e.map(i=>this._itemElements.find(r=>r.item===i)).filter(i=>!!i);this._tree.setSelection(t)}getCheckedElements(){return this._itemElements.filter(e=>e.checked).map(e=>e.item)}setCheckedElements(e){try{this._shouldFireCheckedEvents=!1;const t=new Set;for(const i of e)t.add(i);for(const i of this._itemElements)i.checked=t.has(i.item)}finally{this._shouldFireCheckedEvents=!0,this._fireCheckedEvents()}}focus(e){var t;if(this._itemElements.length)switch(e===Go.Second&&this._itemElements.length<2&&(e=Go.First),e){case Go.First:this._tree.scrollTop=0,this._tree.focusFirst(void 0,i=>i.element instanceof Ra);break;case Go.Second:this._tree.scrollTop=0,this._tree.setFocus([this._itemElements[1]]);break;case Go.Last:this._tree.scrollTop=this._tree.scrollHeight,this._tree.setFocus([this._itemElements[this._itemElements.length-1]]);break;case Go.Next:this._tree.focusNext(void 0,!0,void 0,i=>i.element instanceof Ra?(this._tree.reveal(i.element),!0):!1);break;case Go.Previous:this._tree.focusPrevious(void 0,!0,void 0,i=>{if(!(i.element instanceof Ra))return!1;const r=this._tree.getParentElement(i.element);return r===null||r.children[0]!==i.element?this._tree.reveal(i.element):this._tree.reveal(r),!0});break;case Go.NextPage:this._tree.focusNextPage(void 0,i=>i.element instanceof Ra?(this._tree.reveal(i.element),!0):!1);break;case Go.PreviousPage:this._tree.focusPreviousPage(void 0,i=>{if(!(i.element instanceof Ra))return!1;const r=this._tree.getParentElement(i.element);return r===null||r.children[0]!==i.element?this._tree.reveal(i.element):this._tree.reveal(r),!0});break;case Go.NextSeparator:{let i=!1;const r=this._tree.getFocus()[0];this._tree.focusNext(void 0,!0,void 0,s=>{if(i)return!0;if(s.element instanceof y1)i=!0,this._separatorRenderer.isSeparatorVisible(s.element)?this._tree.reveal(s.element.children[0]):this._tree.reveal(s.element,0);else if(s.element instanceof Ra){if(s.element.separator)return this._itemRenderer.isItemWithSeparatorVisible(s.element)?this._tree.reveal(s.element):this._tree.reveal(s.element,0),!0;if(s.element===this._elementTree[0])return this._tree.reveal(s.element,0),!0}return!1});const o=this._tree.getFocus()[0];r===o&&(this._tree.scrollTop=this._tree.scrollHeight,this._tree.setFocus([this._itemElements[this._itemElements.length-1]]));break}case Go.PreviousSeparator:{let i,r=!!(!((t=this._tree.getFocus()[0])===null||t===void 0)&&t.separator);this._tree.focusPrevious(void 0,!0,void 0,o=>{if(o.element instanceof y1)r?i||(this._separatorRenderer.isSeparatorVisible(o.element)?this._tree.reveal(o.element):this._tree.reveal(o.element,0),i=o.element.children[0]):r=!0;else if(o.element instanceof Ra&&!i){if(o.element.separator)this._itemRenderer.isItemWithSeparatorVisible(o.element)?this._tree.reveal(o.element):this._tree.reveal(o.element,0),i=o.element;else if(o.element===this._elementTree[0])return this._tree.reveal(o.element,0),!0}return!1}),i&&this._tree.setFocus([i]);break}}}clearFocus(){this._tree.setFocus([])}domFocus(){this._tree.domFocus()}layout(e){this._tree.getHTMLElement().style.maxHeight=e?`${Math.floor(e/44)*44+6}px`:"",this._tree.layout()}filter(e){if(!(this._sortByLabel||this._matchOnLabel||this._matchOnDescription||this._matchOnDetail))return this._tree.layout(),!1;const t=e;if(e=e.trim(),!e||!(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail))this._itemElements.forEach(l=>{l.labelHighlights=void 0,l.descriptionHighlights=void 0,l.detailHighlights=void 0,l.hidden=!1;const u=l.index&&this._inputElements[l.index-1];l.item&&(l.separator=u&&u.type==="separator"&&!u.buttons?u:void 0)});else{let l;this._elementTree.forEach(u=>{var c,d,h,m;let f;this.matchOnLabelMode==="fuzzy"?f=this.matchOnLabel&&(c=nU(e,WD(u.saneLabel)))!==null&&c!==void 0?c:void 0:f=this.matchOnLabel&&(d=o3t(t,WD(u.saneLabel)))!==null&&d!==void 0?d:void 0;const g=this.matchOnDescription&&(h=nU(e,WD(u.saneDescription||"")))!==null&&h!==void 0?h:void 0,b=this.matchOnDetail&&(m=nU(e,WD(u.saneDetail||"")))!==null&&m!==void 0?m:void 0;if(f||g||b?(u.labelHighlights=f,u.descriptionHighlights=g,u.detailHighlights=b,u.hidden=!1):(u.labelHighlights=void 0,u.descriptionHighlights=void 0,u.detailHighlights=void 0,u.hidden=u.item?!u.item.alwaysShow:!0),u.item?u.separator=void 0:u.separator&&(u.hidden=!0),!this.sortByLabel){const y=u.index&&this._inputElements[u.index-1];l=y&&y.type==="separator"?y:l,l&&!u.hidden&&(u.separator=l,l=void 0)}})}const i=this._elementTree.filter(l=>!l.hidden);if(this.sortByLabel&&e){const l=e.toLowerCase();i.sort((u,c)=>s3t(u,c,l))}let r;const o=i.reduce((l,u,c)=>(u instanceof Ra?r?r.children.push(u):l.push(u):u instanceof y1&&(u.children=[],r=u,l.push(u)),l),new Array),s=new Array;for(const l of o)l instanceof y1?s.push({element:l,collapsible:!1,collapsed:!1,children:l.children.map(u=>({element:u,collapsible:!1,collapsed:!1}))}):s.push({element:l,collapsible:!1,collapsed:!1});const a=this._tree.getFocus().length;return this._tree.setChildren(null,s),a>0&&s.length===0&&this._onTriggerEmptySelectionOrFocus.fire({elements:[]}),this._tree.layout(),this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked()),this._onChangedVisibleCount.fire(i.length),!0}toggleCheckbox(){try{this._shouldFireCheckedEvents=!1;const e=this._tree.getFocus().filter(i=>i instanceof Ra),t=this._allVisibleChecked(e);for(const i of e)i.checkboxDisabled||(i.checked=!t)}finally{this._shouldFireCheckedEvents=!0,this._fireCheckedEvents()}}display(e){this._container.style.display=e?"":"none"}isDisplayed(){return this._container.style.display!=="none"}style(e){this._tree.style(e)}toggleHover(){const e=this._tree.getFocus()[0];if(!(e!=null&&e.saneTooltip)||!(e instanceof Ra))return;if(this._lastHover&&!this._lastHover.isDisposed){this._lastHover.dispose();return}this.showHover(e);const t=new Je;t.add(this._tree.onDidChangeFocus(i=>{i.elements[0]instanceof Ra&&this.showHover(i.elements[0])})),this._lastHover&&t.add(this._lastHover),this._elementDisposable.add(t)}_allVisibleChecked(e,t=!0){for(let i=0,r=e.length;i{this.linkOpenerDelegate(o)},appearance:{showPointer:!0},container:this._container,position:{hoverPosition:1}},!1))}};XV([io],WM.prototype,"onDidChangeFocus",null),XV([io],WM.prototype,"onDidChangeSelection",null),WM=XV([wFe(4,$t)],WM);function o3t(n,e){const{text:t,iconOffsets:i}=e;if(!i||i.length===0)return LFe(n,t);const r=HR(t," "),o=t.length-r.length,s=LFe(n,r);if(s)for(const a of s){const l=i[a.start+o]+o;a.start+=l,a.end+=l}return s}function LFe(n,e){const t=e.toLowerCase().indexOf(n.toLowerCase());return t!==-1?[{start:t,end:t+n.length}]:null}function s3t(n,e,t){const i=n.labelHighlights||[],r=e.labelHighlights||[];return i.length&&!r.length?-1:!i.length&&r.length?1:i.length===0&&r.length===0?0:t3t(n.saneSortLabel,e.saneSortLabel,t)}var a3t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},IFe=function(n,e){return function(t,i){e(t,i,n)}};const f$={iconClass:sn.asClassName(ut.quickInputBack),tooltip:_("quickInput.back","Back"),handle:-1};class AM extends Fe{constructor(e){super(),this.ui=e,this._widgetUpdated=!1,this.visible=!1,this._enabled=!0,this._busy=!1,this._ignoreFocusOut=!1,this._buttons=[],this.buttonsUpdated=!1,this._toggles=[],this.togglesUpdated=!1,this.noValidationMessage=AM.noPromptMessage,this._severity=oo.Ignore,this.onDidTriggerButtonEmitter=this._register(new be),this.onDidHideEmitter=this._register(new be),this.onWillHideEmitter=this._register(new be),this.onDisposeEmitter=this._register(new be),this.visibleDisposables=this._register(new Je),this.onDidHide=this.onDidHideEmitter.event}get title(){return this._title}set title(e){this._title=e,this.update()}get description(){return this._description}set description(e){this._description=e,this.update()}get step(){return this._steps}set step(e){this._steps=e,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(e){this._totalSteps=e,this.update()}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this.update()}get contextKey(){return this._contextKey}set contextKey(e){this._contextKey=e,this.update()}get busy(){return this._busy}set busy(e){this._busy=e,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(e){const t=this._ignoreFocusOut!==e&&!Am;this._ignoreFocusOut=e&&!Am,t&&this.update()}get buttons(){return this._buttons}set buttons(e){this._buttons=e,this.buttonsUpdated=!0,this.update()}get toggles(){return this._toggles}set toggles(e){this._toggles=e??[],this.togglesUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(e){this._validationMessage=e,this.update()}get severity(){return this._severity}set severity(e){this._severity=e,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.onDidTriggerButton(e=>{this.buttons.indexOf(e)!==-1&&this.onDidTriggerButtonEmitter.fire(e)})),this.ui.show(this),this.visible=!0,this._lastValidationMessage=void 0,this._lastSeverity=void 0,this.buttons.length&&(this.buttonsUpdated=!0),this.toggles.length&&(this.togglesUpdated=!0),this.update())}hide(){this.visible&&this.ui.hide()}didHide(e=O2.Other){this.visible=!1,this.visibleDisposables.clear(),this.onDidHideEmitter.fire({reason:e})}willHide(e=O2.Other){this.onWillHideEmitter.fire({reason:e})}update(){var e,t;if(!this.visible)return;const i=this.getTitle();i&&this.ui.title.textContent!==i?this.ui.title.textContent=i:!i&&this.ui.title.innerHTML!==" "&&(this.ui.title.innerText=" ");const r=this.getDescription();if(this.ui.description1.textContent!==r&&(this.ui.description1.textContent=r),this.ui.description2.textContent!==r&&(this.ui.description2.textContent=r),this._widgetUpdated&&(this._widgetUpdated=!1,this._widget?Qs(this.ui.widget,this._widget):Qs(this.ui.widget)),this.busy&&!this.busyDelay&&(this.busyDelay=new Id,this.busyDelay.setIfNotSet(()=>{this.visible&&this.ui.progressBar.infinite()},800)),!this.busy&&this.busyDelay&&(this.ui.progressBar.stop(),this.busyDelay.cancel(),this.busyDelay=void 0),this.buttonsUpdated){this.buttonsUpdated=!1,this.ui.leftActionBar.clear();const s=this.buttons.filter(l=>l===f$).map((l,u)=>GV(l,`id-${u}`,async()=>this.onDidTriggerButtonEmitter.fire(l)));this.ui.leftActionBar.push(s,{icon:!0,label:!1}),this.ui.rightActionBar.clear();const a=this.buttons.filter(l=>l!==f$).map((l,u)=>GV(l,`id-${u}`,async()=>this.onDidTriggerButtonEmitter.fire(l)));this.ui.rightActionBar.push(a,{icon:!0,label:!1})}if(this.togglesUpdated){this.togglesUpdated=!1;const s=(t=(e=this.toggles)===null||e===void 0?void 0:e.filter(a=>a instanceof $2))!==null&&t!==void 0?t:[];this.ui.inputBox.toggles=s}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey);const o=this.validationMessage||this.noValidationMessage;this._lastValidationMessage!==o&&(this._lastValidationMessage=o,Qs(this.ui.message),qWt(o,this.ui.message,{callback:s=>{this.ui.linkOpenerDelegate(s)},disposables:this.visibleDisposables})),this._lastSeverity!==this.severity&&(this._lastSeverity=this.severity,this.showMessageDecoration(this.severity))}getTitle(){return this.title&&this.step?`${this.title} (${this.getSteps()})`:this.title?this.title:this.step?this.getSteps():""}getDescription(){return this.description||""}getSteps(){return this.step&&this.totalSteps?_("quickInput.steps","{0}/{1}",this.step,this.totalSteps):this.step?String(this.step):""}showMessageDecoration(e){if(this.ui.inputBox.showDecoration(e),e!==oo.Ignore){const t=this.ui.inputBox.stylesForType(e);this.ui.message.style.color=t.foreground?`${t.foreground}`:"",this.ui.message.style.backgroundColor=t.background?`${t.background}`:"",this.ui.message.style.border=t.border?`1px solid ${t.border}`:"",this.ui.message.style.marginBottom="-2px"}else this.ui.message.style.color="",this.ui.message.style.backgroundColor="",this.ui.message.style.border="",this.ui.message.style.marginBottom=""}dispose(){this.hide(),this.onDisposeEmitter.fire(),super.dispose()}}AM.noPromptMessage=_("inputModeEntry","Press 'Enter' to confirm your input or 'Escape' to cancel");class VM extends AM{constructor(){super(...arguments),this._value="",this.onDidChangeValueEmitter=this._register(new be),this.onWillAcceptEmitter=this._register(new be),this.onDidAcceptEmitter=this._register(new be),this.onDidCustomEmitter=this._register(new be),this._items=[],this.itemsUpdated=!1,this._canSelectMany=!1,this._canAcceptInBackground=!1,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._keepScrollPosition=!1,this._itemActivation=_f.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new be),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new be),this.onDidTriggerItemButtonEmitter=this._register(new be),this.onDidTriggerSeparatorButtonEmitter=this._register(new be),this.valueSelectionUpdated=!0,this._ok="default",this._customButton=!1,this.filterValue=e=>e,this.onDidChangeValue=this.onDidChangeValueEmitter.event,this.onWillAccept=this.onWillAcceptEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event,this.onDidChangeActive=this.onDidChangeActiveEmitter.event,this.onDidChangeSelection=this.onDidChangeSelectionEmitter.event,this.onDidTriggerItemButton=this.onDidTriggerItemButtonEmitter.event,this.onDidTriggerSeparatorButton=this.onDidTriggerSeparatorButtonEmitter.event}get quickNavigate(){return this._quickNavigate}set quickNavigate(e){this._quickNavigate=e,this.update()}get value(){return this._value}set value(e){this.doSetValue(e)}doSetValue(e,t){this._value!==e&&(this._value=e,t||this.update(),this.visible&&this.ui.list.filter(this.filterValue(this._value))&&this.trySelectFirst(),this.onDidChangeValueEmitter.fire(this._value))}set ariaLabel(e){this._ariaLabel=e,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get items(){return this._items}get scrollTop(){return this.ui.list.scrollTop}set scrollTop(e){this.ui.list.scrollTop=e}set items(e){this._items=e,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(e){this._canSelectMany=e,this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(e){this._canAcceptInBackground=e}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e,this.update()}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(e){this._matchOnLabelMode=e,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e,this.update()}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(e){this._keepScrollPosition=e}get itemActivation(){return this._itemActivation}set itemActivation(e){this._itemActivation=e}get activeItems(){return this._activeItems}set activeItems(e){this._activeItems=e,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(e){this._selectedItems=e,this.selectedItemsUpdated=!0,this.update()}get keyMods(){return this._quickNavigate?FIt:this.ui.keyMods}get valueSelection(){const e=this.ui.inputBox.getSelection();if(e)return[e.start,e.end]}set valueSelection(e){this._valueSelection=e,this.valueSelectionUpdated=!0,this.update()}get customButton(){return this._customButton}set customButton(e){this._customButton=e,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(e){this._customButtonLabel=e,this.update()}get customHover(){return this._customButtonHover}set customHover(e){this._customButtonHover=e,this.update()}get ok(){return this._ok}set ok(e){this._ok=e,this.update()}get hideInput(){return!!this._hideInput}set hideInput(e){this._hideInput=e,this.update()}trySelectFirst(){this.canSelectMany||this.ui.list.focus(Go.First)}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(e=>{this.doSetValue(e,!0)})),this.visibleDisposables.add((this._hideInput?this.ui.list:this.ui.inputBox).onKeyDown(e=>{switch(e.keyCode){case 18:(On?e.metaKey:e.altKey)?this.ui.list.focus(Go.NextSeparator):this.ui.list.focus(Go.Next),this.canSelectMany&&this.ui.list.domFocus(),An.stop(e,!0);break;case 16:(On?e.metaKey:e.altKey)?this.ui.list.focus(Go.PreviousSeparator):this.ui.list.focus(Go.Previous),this.canSelectMany&&this.ui.list.domFocus(),An.stop(e,!0);break;case 12:this.ui.list.focus(Go.NextPage),this.canSelectMany&&this.ui.list.domFocus(),An.stop(e,!0);break;case 11:this.ui.list.focus(Go.PreviousPage),this.canSelectMany&&this.ui.list.domFocus(),An.stop(e,!0);break;case 17:if(!this._canAcceptInBackground||!this.ui.inputBox.isSelectionAtEnd())return;this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!0));break;case 14:(e.ctrlKey||e.metaKey)&&!e.shiftKey&&!e.altKey&&(this.ui.list.focus(Go.First),An.stop(e,!0));break;case 13:(e.ctrlKey||e.metaKey)&&!e.shiftKey&&!e.altKey&&(this.ui.list.focus(Go.Last),An.stop(e,!0));break}})),this.visibleDisposables.add(this.ui.onDidAccept(()=>{this.canSelectMany?this.ui.list.getCheckedElements().length||(this._selectedItems=[],this.onDidChangeSelectionEmitter.fire(this.selectedItems)):this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.handleAccept(!1)})),this.visibleDisposables.add(this.ui.onDidCustom(()=>{this.onDidCustomEmitter.fire()})),this.visibleDisposables.add(this.ui.list.onDidChangeFocus(e=>{this.activeItemsUpdated||this.activeItemsToConfirm!==this._activeItems&&Nr(e,this._activeItems,(t,i)=>t===i)||(this._activeItems=e,this.onDidChangeActiveEmitter.fire(e))})),this.visibleDisposables.add(this.ui.list.onDidChangeSelection(({items:e,event:t})=>{if(this.canSelectMany){e.length&&this.ui.list.setSelectedElements([]);return}this.selectedItemsToConfirm!==this._selectedItems&&Nr(e,this._selectedItems,(i,r)=>i===r)||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e),e.length&&this.handleAccept(_Y(t)&&t.button===1))})),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements(e=>{this.canSelectMany&&(this.selectedItemsToConfirm!==this._selectedItems&&Nr(e,this._selectedItems,(t,i)=>t===i)||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e)))})),this.visibleDisposables.add(this.ui.list.onButtonTriggered(e=>this.onDidTriggerItemButtonEmitter.fire(e))),this.visibleDisposables.add(this.ui.list.onSeparatorButtonTriggered(e=>this.onDidTriggerSeparatorButtonEmitter.fire(e))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0),super.show()}handleAccept(e){let t=!1;this.onWillAcceptEmitter.fire({veto:()=>t=!0}),t||this.onDidAcceptEmitter.fire({inBackground:e})}registerQuickNavigation(){return Ve(this.ui.container,ot.KEY_UP,e=>{if(this.canSelectMany||!this._quickNavigate)return;const t=new or(e),i=t.keyCode;this._quickNavigate.keybindings.some(s=>{const a=s.getChords();return a.length>1?!1:a[0].shiftKey&&i===4?!(t.ctrlKey||t.altKey||t.metaKey):!!(a[0].altKey&&i===6||a[0].ctrlKey&&i===5||a[0].metaKey&&i===57)})&&(this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!1)),this._quickNavigate=void 0)})}update(){if(!this.visible)return;const e=this.keepScrollPosition?this.scrollTop:0,t=!!this.description,i={title:!!this.title||!!this.step||!!this.buttons.length,description:t,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!this._hideInput,progressBar:!this._hideInput||t,visibleCount:!0,count:this.canSelectMany&&!this._hideCountBadge,ok:this.ok==="default"?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage,customButton:this.customButton};this.ui.setVisibilities(i),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||"");let r=this.ariaLabel;if(!r&&i.inputBox&&(r=this.placeholder||VM.DEFAULT_ARIA_LABEL,this.title&&(r+=` - ${this.title}`)),this.ui.list.ariaLabel!==r&&(this.ui.list.ariaLabel=r??null),this.ui.list.matchOnDescription=this.matchOnDescription,this.ui.list.matchOnDetail=this.matchOnDetail,this.ui.list.matchOnLabel=this.matchOnLabel,this.ui.list.matchOnLabelMode=this.matchOnLabelMode,this.ui.list.sortByLabel=this.sortByLabel,this.itemsUpdated){this.itemsUpdated=!1;const o=this._activeItems;switch(this.ui.list.setElements(this.items),this.ui.list.filter(this.filterValue(this.ui.inputBox.value)),this.ui.checkAll.checked=this.ui.list.getAllVisibleChecked(),this.ui.visibleCount.setCount(this.ui.list.getVisibleCount()),this.ui.count.setCount(this.ui.list.getCheckedCount()),this._itemActivation){case _f.NONE:o.length>0&&(this._activeItems=[],this.onDidChangeActiveEmitter.fire(this._activeItems)),this._itemActivation=_f.FIRST;break;case _f.SECOND:this.ui.list.focus(Go.Second),this._itemActivation=_f.FIRST;break;case _f.LAST:this.ui.list.focus(Go.Last),this._itemActivation=_f.FIRST;break;default:this.trySelectFirst();break}}this.ui.container.classList.contains("show-checkboxes")!==!!this.canSelectMany&&(this.canSelectMany?this.ui.list.clearFocus():this.trySelectFirst()),this.activeItemsUpdated&&(this.activeItemsUpdated=!1,this.activeItemsToConfirm=this._activeItems,this.ui.list.setFocusedElements(this.activeItems),this.activeItemsToConfirm===this._activeItems&&(this.activeItemsToConfirm=null)),this.selectedItemsUpdated&&(this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=this._selectedItems,this.canSelectMany?this.ui.list.setCheckedElements(this.selectedItems):this.ui.list.setSelectedElements(this.selectedItems),this.selectedItemsToConfirm===this._selectedItems&&(this.selectedItemsToConfirm=null)),this.ui.customButton.label=this.customLabel||"",this.ui.customButton.element.title=this.customHover||"",i.inputBox||(this.ui.list.domFocus(),this.canSelectMany&&this.ui.list.focus(Go.First)),this.keepScrollPosition&&(this.scrollTop=e)}}VM.DEFAULT_ARIA_LABEL=_("quickInputBox.ariaLabel","Type to narrow down results.");class l3t extends AM{constructor(){super(...arguments),this._value="",this.valueSelectionUpdated=!0,this._password=!1,this.onDidValueChangeEmitter=this._register(new be),this.onDidAcceptEmitter=this._register(new be),this.onDidChangeValue=this.onDidValueChangeEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event}get value(){return this._value}set value(e){this._value=e||"",this.update()}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get password(){return this._password}set password(e){this._password=e,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(e=>{e!==this.value&&(this._value=e,this.onDidValueChangeEmitter.fire(e))})),this.visibleDisposables.add(this.ui.onDidAccept(()=>this.onDidAcceptEmitter.fire())),this.valueSelectionUpdated=!0),super.show()}update(){if(!this.visible)return;this.ui.container.classList.remove("hidden-input");const e={title:!!this.title||!!this.step||!!this.buttons.length,description:!!this.description||!!this.step,inputBox:!0,message:!0,progressBar:!0};this.ui.setVisibilities(e),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||""),this.ui.inputBox.password!==this.password&&(this.ui.inputBox.password=this.password)}}let g$=class extends jD{constructor(e,t){super("element",!1,i=>this.getOverrideOptions(i),e,t)}getOverrideOptions(e){var t;const i=(e.content instanceof HTMLElement?(t=e.content.textContent)!==null&&t!==void 0?t:"":typeof e.content=="string"?e.content:e.content.value).includes(` +`);return{persistence:{hideOnKeyDown:!1},appearance:{showHoverHint:i,skipFadeInAnimation:!0}}}};g$=a3t([IFe(0,Pn),IFe(1,YU)],g$);const FFe="done",DFe="active",p$="infinite",b$="infinite-long-running",NFe="discrete";class PV extends Fe{constructor(e,t){super(),this.workedVal=0,this.showDelayedScheduler=this._register(new Wi(()=>lu(this.element),0)),this.longRunningScheduler=this._register(new Wi(()=>this.infiniteLongRunning(),PV.LONG_RUNNING_INFINITE_THRESHOLD)),this.create(e,t)}create(e,t){this.element=document.createElement("div"),this.element.classList.add("monaco-progress-container"),this.element.setAttribute("role","progressbar"),this.element.setAttribute("aria-valuemin","0"),e.appendChild(this.element),this.bit=document.createElement("div"),this.bit.classList.add("progress-bit"),this.bit.style.backgroundColor=(t==null?void 0:t.progressBarBackground)||"#0E70C0",this.element.appendChild(this.bit)}off(){this.bit.style.width="inherit",this.bit.style.opacity="1",this.element.classList.remove(DFe,p$,b$,NFe),this.workedVal=0,this.totalWork=void 0,this.longRunningScheduler.cancel()}stop(){return this.doDone(!1)}doDone(e){return this.element.classList.add(FFe),this.element.classList.contains(p$)?(this.bit.style.opacity="0",e?setTimeout(()=>this.off(),200):this.off()):(this.bit.style.width="inherit",e?setTimeout(()=>this.off(),200):this.off()),this}infinite(){return this.bit.style.width="2%",this.bit.style.opacity="1",this.element.classList.remove(NFe,FFe,b$),this.element.classList.add(DFe,p$),this.longRunningScheduler.schedule(),this}infiniteLongRunning(){this.element.classList.add(b$)}getContainer(){return this.element}}PV.LONG_RUNNING_INFINITE_THRESHOLD=1e4;const u3t=Ct;class c3t extends Fe{constructor(e,t,i){super(),this.parent=e,this.onKeyDown=o=>Gr(this.findInput.inputBox.inputElement,ot.KEY_DOWN,o),this.onDidChange=o=>this.findInput.onDidChange(o),this.container=je(this.parent,u3t(".quick-input-box")),this.findInput=this._register(new oxe(this.container,void 0,{label:"",inputBoxStyles:t,toggleStyles:i}));const r=this.findInput.inputBox.inputElement;r.role="combobox",r.ariaHasPopup="menu",r.ariaAutoComplete="list",r.ariaExpanded="true"}get value(){return this.findInput.getValue()}set value(e){this.findInput.setValue(e)}select(e=null){this.findInput.inputBox.select(e)}getSelection(){return this.findInput.inputBox.getSelection()}isSelectionAtEnd(){return this.findInput.inputBox.isSelectionAtEnd()}get placeholder(){return this.findInput.inputBox.inputElement.getAttribute("placeholder")||""}set placeholder(e){this.findInput.inputBox.setPlaceHolder(e)}get password(){return this.findInput.inputBox.inputElement.type==="password"}set password(e){this.findInput.inputBox.inputElement.type=e?"password":"text"}set enabled(e){this.findInput.inputBox.inputElement.toggleAttribute("readonly",!e)}set toggles(e){this.findInput.setAdditionalToggles(e)}setAttribute(e,t){this.findInput.inputBox.inputElement.setAttribute(e,t)}showDecoration(e){e===oo.Ignore?this.findInput.clearMessage():this.findInput.showMessage({type:e===oo.Info?1:e===oo.Warning?2:3,content:""})}stylesForType(e){return this.findInput.inputBox.stylesForType(e===oo.Info?1:e===oo.Warning?2:3)}setFocus(){this.findInput.focus()}layout(){this.findInput.inputBox.layout()}}var d3t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},MFe=function(n,e){return function(t,i){e(t,i,n)}},y$;const yu=Ct;let OV=y$=class extends Fe{get container(){return this._container}constructor(e,t,i){super(),this.options=e,this.layoutService=t,this.instantiationService=i,this.enabled=!0,this.onDidAcceptEmitter=this._register(new be),this.onDidCustomEmitter=this._register(new be),this.onDidTriggerButtonEmitter=this._register(new be),this.keyMods={ctrlCmd:!1,alt:!1},this.controller=null,this.onShowEmitter=this._register(new be),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new be),this.onHide=this.onHideEmitter.event,this.idPrefix=e.idPrefix,this._container=e.container,this.styles=e.styles,this._register(lt.runAndSubscribe(r9,({window:r,disposables:o})=>this.registerKeyModsListeners(r,o),{window:Zi,disposables:this._store})),this._register(gft(r=>{this.ui&&Qt(this.ui.container)===r&&(this.reparentUI(this.layoutService.mainContainer),this.layout(this.layoutService.mainContainerDimension,this.layoutService.mainContainerOffset.quickPickTop))}))}registerKeyModsListeners(e,t){const i=r=>{this.keyMods.ctrlCmd=r.ctrlKey||r.metaKey,this.keyMods.alt=r.altKey};for(const r of[ot.KEY_DOWN,ot.KEY_UP,ot.MOUSE_DOWN])t.add(Ve(e,r,i,!0))}getUI(e){if(this.ui)return e&&Qt(this._container)!==Qt(this.layoutService.activeContainer)&&(this.reparentUI(this.layoutService.activeContainer),this.layout(this.layoutService.activeContainerDimension,this.layoutService.activeContainerOffset.quickPickTop)),this.ui;const t=je(this._container,yu(".quick-input-widget.show-file-icons"));t.tabIndex=-1,t.style.display="none";const i=Vu(t),r=je(t,yu(".quick-input-titlebar")),o=this._register(new Uc(r,{hoverDelegate:this.options.hoverDelegate}));o.domNode.classList.add("quick-input-left-action-bar");const s=je(r,yu(".quick-input-title")),a=this._register(new Uc(r,{hoverDelegate:this.options.hoverDelegate}));a.domNode.classList.add("quick-input-right-action-bar");const l=je(t,yu(".quick-input-header")),u=je(l,yu("input.quick-input-check-all"));u.type="checkbox",u.setAttribute("aria-label",_("quickInput.checkAll","Toggle all checkboxes")),this._register(Gr(u,ot.CHANGE,Z=>{const V=u.checked;E.setAllVisibleChecked(V)})),this._register(Ve(u,ot.CLICK,Z=>{(Z.x||Z.y)&&m.setFocus()}));const c=je(l,yu(".quick-input-description")),d=je(l,yu(".quick-input-and-message")),h=je(d,yu(".quick-input-filter")),m=this._register(new c3t(h,this.styles.inputBox,this.styles.toggle));m.setAttribute("aria-describedby",`${this.idPrefix}message`);const f=je(h,yu(".quick-input-visible-count"));f.setAttribute("aria-live","polite"),f.setAttribute("aria-atomic","true");const g=new m8(f,{countFormat:_({key:"quickInput.visibleCount",comment:["This tells the user how many items are shown in a list of items to select from. The items can be anything. Currently not visible, but read by screen readers."]},"{0} Results")},this.styles.countBadge),b=je(h,yu(".quick-input-count"));b.setAttribute("aria-live","polite");const y=new m8(b,{countFormat:_({key:"quickInput.countSelected",comment:["This tells the user how many items are selected in a list of items to select from. The items can be anything."]},"{0} Selected")},this.styles.countBadge),C=je(l,yu(".quick-input-action")),w=this._register(new JW(C,this.styles.button));w.label=_("ok","OK"),this._register(w.onDidClick(Z=>{this.onDidAcceptEmitter.fire()}));const x=je(l,yu(".quick-input-action")),L=this._register(new JW(x,{...this.styles.button,supportIcons:!0}));L.label=_("custom","Custom"),this._register(L.onDidClick(Z=>{this.onDidCustomEmitter.fire()}));const I=je(d,yu(`#${this.idPrefix}message.quick-input-message`)),D=this._register(new PV(t,this.styles.progressBar));D.getContainer().classList.add("quick-input-progress");const N=je(t,yu(".quick-input-html-widget"));N.tabIndex=-1;const T=je(t,yu(".quick-input-description")),R=this.idPrefix+"list",E=this._register(this.instantiationService.createInstance(WM,t,this.options.hoverDelegate,this.options.linkOpenerDelegate,R));m.setAttribute("aria-controls",R),this._register(E.onDidChangeFocus(()=>{var Z;m.setAttribute("aria-activedescendant",(Z=E.getActiveDescendant())!==null&&Z!==void 0?Z:"")})),this._register(E.onChangedAllVisibleChecked(Z=>{u.checked=Z})),this._register(E.onChangedVisibleCount(Z=>{g.setCount(Z)})),this._register(E.onChangedCheckedCount(Z=>{y.setCount(Z)})),this._register(E.onLeave(()=>{setTimeout(()=>{this.controller&&(m.setFocus(),this.controller instanceof VM&&this.controller.canSelectMany&&E.clearFocus())},0)}));const W=Dh(t);return this._register(W),this._register(Ve(t,ot.FOCUS,Z=>{ps(Z.relatedTarget,t)||(this.previousFocusElement=Z.relatedTarget instanceof HTMLElement?Z.relatedTarget:void 0)},!0)),this._register(W.onDidBlur(()=>{!this.getUI().ignoreFocusOut&&!this.options.ignoreFocusOut()&&this.hide(O2.Blur),this.previousFocusElement=void 0})),this._register(Ve(t,ot.FOCUS,Z=>{m.setFocus()})),this._register(Gr(t,ot.KEY_DOWN,Z=>{if(!ps(Z.target,N))switch(Z.keyCode){case 3:An.stop(Z,!0),this.enabled&&this.onDidAcceptEmitter.fire();break;case 9:An.stop(Z,!0),this.hide(O2.Gesture);break;case 2:if(!Z.altKey&&!Z.ctrlKey&&!Z.metaKey){const V=[".quick-input-list .monaco-action-bar .always-visible",".quick-input-list-entry:hover .monaco-action-bar",".monaco-list-row.focused .monaco-action-bar"];if(t.classList.contains("show-checkboxes")?V.push("input"):V.push("input[type=text]"),this.getUI().list.isDisplayed()&&V.push(".monaco-list"),this.getUI().message&&V.push(".quick-input-message a"),this.getUI().widget){if(ps(Z.target,this.getUI().widget))break;V.push(".quick-input-html-widget")}const z=t.querySelectorAll(V.join(", "));Z.shiftKey&&Z.target===z[0]?(An.stop(Z,!0),E.clearFocus()):!Z.shiftKey&&ps(Z.target,z[z.length-1])&&(An.stop(Z,!0),z[0].focus())}break;case 10:Z.ctrlKey&&(An.stop(Z,!0),this.getUI().list.toggleHover());break}})),this.ui={container:t,styleSheet:i,leftActionBar:o,titleBar:r,title:s,description1:T,description2:c,widget:N,rightActionBar:a,checkAll:u,inputContainer:d,filterContainer:h,inputBox:m,visibleCountContainer:f,visibleCount:g,countContainer:b,count:y,okContainer:C,ok:w,message:I,customButtonContainer:x,customButton:L,list:E,progressBar:D,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,show:Z=>this.show(Z),hide:()=>this.hide(),setVisibilities:Z=>this.setVisibilities(Z),setEnabled:Z=>this.setEnabled(Z),setContextKey:Z=>this.options.setContextKey(Z),linkOpenerDelegate:Z=>this.options.linkOpenerDelegate(Z)},this.updateStyles(),this.ui}reparentUI(e){this.ui&&(this._container=e,je(this._container,this.ui.container))}pick(e,t={},i=Yn.None){return new Promise((r,o)=>{let s=c=>{var d;s=r,(d=t.onKeyMods)===null||d===void 0||d.call(t,a.keyMods),r(c)};if(i.isCancellationRequested){s(void 0);return}const a=this.createQuickPick();let l;const u=[a,a.onDidAccept(()=>{if(a.canSelectMany)s(a.selectedItems.slice()),a.hide();else{const c=a.activeItems[0];c&&(s(c),a.hide())}}),a.onDidChangeActive(c=>{const d=c[0];d&&t.onDidFocus&&t.onDidFocus(d)}),a.onDidChangeSelection(c=>{if(!a.canSelectMany){const d=c[0];d&&(s(d),a.hide())}}),a.onDidTriggerItemButton(c=>t.onDidTriggerItemButton&&t.onDidTriggerItemButton({...c,removeItem:()=>{const d=a.items.indexOf(c.item);if(d!==-1){const h=a.items.slice(),m=h.splice(d,1),f=a.activeItems.filter(b=>b!==m[0]),g=a.keepScrollPosition;a.keepScrollPosition=!0,a.items=h,f&&(a.activeItems=f),a.keepScrollPosition=g}}})),a.onDidTriggerSeparatorButton(c=>{var d;return(d=t.onDidTriggerSeparatorButton)===null||d===void 0?void 0:d.call(t,c)}),a.onDidChangeValue(c=>{l&&!c&&(a.activeItems.length!==1||a.activeItems[0]!==l)&&(a.activeItems=[l])}),i.onCancellationRequested(()=>{a.hide()}),a.onDidHide(()=>{qi(u),s(void 0)})];a.title=t.title,a.canSelectMany=!!t.canPickMany,a.placeholder=t.placeHolder,a.ignoreFocusOut=!!t.ignoreFocusLost,a.matchOnDescription=!!t.matchOnDescription,a.matchOnDetail=!!t.matchOnDetail,a.matchOnLabel=t.matchOnLabel===void 0||t.matchOnLabel,a.quickNavigate=t.quickNavigate,a.hideInput=!!t.hideInput,a.contextKey=t.contextKey,a.busy=!0,Promise.all([e,t.activeItem]).then(([c,d])=>{l=d,a.busy=!1,a.items=c,a.canSelectMany&&(a.selectedItems=c.filter(h=>h.type!=="separator"&&h.picked)),l&&(a.activeItems=[l])}),a.show(),Promise.resolve(e).then(void 0,c=>{o(c),a.hide()})})}createQuickPick(){const e=this.getUI(!0);return new VM(e)}createInputBox(){const e=this.getUI(!0);return new l3t(e)}show(e){const t=this.getUI(!0);this.onShowEmitter.fire();const i=this.controller;this.controller=e,i==null||i.didHide(),this.setEnabled(!0),t.leftActionBar.clear(),t.title.textContent="",t.description1.textContent="",t.description2.textContent="",Qs(t.widget),t.rightActionBar.clear(),t.checkAll.checked=!1,t.inputBox.placeholder="",t.inputBox.password=!1,t.inputBox.showDecoration(oo.Ignore),t.visibleCount.setCount(0),t.count.setCount(0),Qs(t.message),t.progressBar.stop(),t.list.setElements([]),t.list.matchOnDescription=!1,t.list.matchOnDetail=!1,t.list.matchOnLabel=!0,t.list.sortByLabel=!0,t.ignoreFocusOut=!1,t.inputBox.toggles=void 0;const r=this.options.backKeybindingLabel();f$.tooltip=r?_("quickInput.backWithKeybinding","Back ({0})",r):_("quickInput.back","Back"),t.container.style.display="",this.updateLayout(),t.inputBox.setFocus()}isVisible(){return!!this.ui&&this.ui.container.style.display!=="none"}setVisibilities(e){const t=this.getUI();t.title.style.display=e.title?"":"none",t.description1.style.display=e.description&&(e.inputBox||e.checkAll)?"":"none",t.description2.style.display=e.description&&!(e.inputBox||e.checkAll)?"":"none",t.checkAll.style.display=e.checkAll?"":"none",t.inputContainer.style.display=e.inputBox?"":"none",t.filterContainer.style.display=e.inputBox?"":"none",t.visibleCountContainer.style.display=e.visibleCount?"":"none",t.countContainer.style.display=e.count?"":"none",t.okContainer.style.display=e.ok?"":"none",t.customButtonContainer.style.display=e.customButton?"":"none",t.message.style.display=e.message?"":"none",t.progressBar.getContainer().style.display=e.progressBar?"":"none",t.list.display(!!e.list),t.container.classList.toggle("show-checkboxes",!!e.checkBox),t.container.classList.toggle("hidden-input",!e.inputBox&&!e.description),this.updateLayout()}setEnabled(e){if(e!==this.enabled){this.enabled=e;for(const t of this.getUI().leftActionBar.viewItems)t.action.enabled=e;for(const t of this.getUI().rightActionBar.viewItems)t.action.enabled=e;this.getUI().checkAll.disabled=!e,this.getUI().inputBox.enabled=e,this.getUI().ok.enabled=e,this.getUI().list.enabled=e}}hide(e){var t,i;const r=this.controller;if(!r)return;r.willHide(e);const o=(t=this.ui)===null||t===void 0?void 0:t.container,s=o&&!T0e(o);if(this.controller=null,this.onHideEmitter.fire(),o&&(o.style.display="none"),!s){let a=this.previousFocusElement;for(;a&&!a.offsetParent;)a=(i=a.parentElement)!==null&&i!==void 0?i:void 0;a!=null&&a.offsetParent?(a.focus(),this.previousFocusElement=void 0):this.options.returnFocus()}r.didHide(e)}layout(e,t){this.dimension=e,this.titleBarOffset=t,this.updateLayout()}updateLayout(){if(this.ui&&this.isVisible()){this.ui.container.style.top=`${this.titleBarOffset}px`;const e=this.ui.container.style,t=Math.min(this.dimension.width*.62,y$.MAX_WIDTH);e.width=t+"px",e.marginLeft="-"+t/2+"px",this.ui.inputBox.layout(),this.ui.list.layout(this.dimension&&this.dimension.height*.4)}}applyStyles(e){this.styles=e,this.updateStyles()}updateStyles(){if(this.ui){const{quickInputTitleBackground:e,quickInputBackground:t,quickInputForeground:i,widgetBorder:r,widgetShadow:o}=this.styles.widget;this.ui.titleBar.style.backgroundColor=e??"",this.ui.container.style.backgroundColor=t??"",this.ui.container.style.color=i??"",this.ui.container.style.border=r?`1px solid ${r}`:"",this.ui.container.style.boxShadow=o?`0 0 8px 2px ${o}`:"",this.ui.list.style(this.styles.list);const s=[];this.styles.pickerGroup.pickerGroupBorder&&s.push(`.quick-input-list .quick-input-list-entry { border-top-color: ${this.styles.pickerGroup.pickerGroupBorder}; }`),this.styles.pickerGroup.pickerGroupForeground&&s.push(`.quick-input-list .quick-input-list-separator { color: ${this.styles.pickerGroup.pickerGroupForeground}; }`),this.styles.pickerGroup.pickerGroupForeground&&s.push(".quick-input-list .quick-input-list-separator-as-item { color: var(--vscode-descriptionForeground); }"),(this.styles.keybindingLabel.keybindingLabelBackground||this.styles.keybindingLabel.keybindingLabelBorder||this.styles.keybindingLabel.keybindingLabelBottomBorder||this.styles.keybindingLabel.keybindingLabelShadow||this.styles.keybindingLabel.keybindingLabelForeground)&&(s.push(".quick-input-list .monaco-keybinding > .monaco-keybinding-key {"),this.styles.keybindingLabel.keybindingLabelBackground&&s.push(`background-color: ${this.styles.keybindingLabel.keybindingLabelBackground};`),this.styles.keybindingLabel.keybindingLabelBorder&&s.push(`border-color: ${this.styles.keybindingLabel.keybindingLabelBorder};`),this.styles.keybindingLabel.keybindingLabelBottomBorder&&s.push(`border-bottom-color: ${this.styles.keybindingLabel.keybindingLabelBottomBorder};`),this.styles.keybindingLabel.keybindingLabelShadow&&s.push(`box-shadow: inset 0 -1px 0 ${this.styles.keybindingLabel.keybindingLabelShadow};`),this.styles.keybindingLabel.keybindingLabelForeground&&s.push(`color: ${this.styles.keybindingLabel.keybindingLabelForeground};`),s.push("}"));const a=s.join(` +`);a!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=a)}}};OV.MAX_WIDTH=600,OV=y$=d3t([MFe(1,p1),MFe(2,$t)],OV);var h3t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},GM=function(n,e){return function(t,i){e(t,i,n)}};let v$=class extends ayt{get controller(){return this._controller||(this._controller=this._register(this.createController())),this._controller}get hasController(){return!!this._controller}get quickAccess(){return this._quickAccess||(this._quickAccess=this._register(this.instantiationService.createInstance(d$))),this._quickAccess}constructor(e,t,i,r,o){super(i),this.instantiationService=e,this.contextKeyService=t,this.layoutService=r,this.configurationService=o,this._onShow=this._register(new be),this._onHide=this._register(new be),this.contexts=new Map}createController(e=this.layoutService,t){const i={idPrefix:"quickInput_",container:e.activeContainer,ignoreFocusOut:()=>!1,backKeybindingLabel:()=>{},setContextKey:o=>this.setContextKey(o),linkOpenerDelegate:o=>{this.instantiationService.invokeFunction(s=>{s.get(Bl).open(o,{allowCommands:!0,fromUserGesture:!0})})},returnFocus:()=>e.focus(),styles:this.computeStyles(),hoverDelegate:this._register(this.instantiationService.createInstance(g$))},r=this._register(this.instantiationService.createInstance(OV,{...i,...t}));return r.layout(e.activeContainerDimension,e.activeContainerOffset.quickPickTop),this._register(e.onDidLayoutActiveContainer(o=>{Qt(e.activeContainer)===Qt(r.container)&&r.layout(o,e.activeContainerOffset.quickPickTop)})),this._register(e.onDidChangeActiveContainer(()=>{r.isVisible()||r.layout(e.activeContainerDimension,e.activeContainerOffset.quickPickTop)})),this._register(r.onShow(()=>{this.resetContextKeys(),this._onShow.fire()})),this._register(r.onHide(()=>{this.resetContextKeys(),this._onHide.fire()})),r}setContextKey(e){let t;e&&(t=this.contexts.get(e),t||(t=new St(e,!1).bindTo(this.contextKeyService),this.contexts.set(e,t))),!(t&&t.get())&&(this.resetContextKeys(),t==null||t.set(!0))}resetContextKeys(){this.contexts.forEach(e=>{e.get()&&e.reset()})}pick(e,t={},i=Yn.None){return this.controller.pick(e,t,i)}createQuickPick(){return this.controller.createQuickPick()}createInputBox(){return this.controller.createInputBox()}updateStyles(){this.hasController&&this.controller.applyStyles(this.computeStyles())}computeStyles(){return{widget:{quickInputBackground:xt(vye),quickInputForeground:xt(r1t),quickInputTitleBackground:xt(o1t),widgetBorder:xt(sye),widgetShadow:xt(zg)},inputBox:ZW,toggle:RW,countBadge:awe,button:_Lt,progressBar:LLt,keybindingLabel:xLt,list:Zv({listBackground:vye,listFocusBackground:a0,listFocusForeground:s0,listInactiveFocusForeground:s0,listInactiveSelectionIconForeground:e2,listInactiveFocusBackground:a0,listFocusOutline:mr,listInactiveFocusOutline:mr}),pickerGroup:{pickerGroupBorder:xt(s1t),pickerGroupForeground:xt(Cye)}}}};v$=h3t([GM(0,$t),GM(1,ln),GM(2,jo),GM(3,p1),GM(4,Pn)],v$);var kFe=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},xC=function(n,e){return function(t,i){e(t,i,n)}};let C$=class extends v${constructor(e,t,i,r,o,s){super(t,i,r,new HQ(e.getContainerDomNode(),o),s),this.host=void 0;const a=Ox.get(e);if(a){const l=a.widget;this.host={_serviceBrand:void 0,get mainContainer(){return l.getDomNode()},getContainer(){return l.getDomNode()},whenContainerStylesLoaded(){},get containers(){return[l.getDomNode()]},get activeContainer(){return l.getDomNode()},get mainContainerDimension(){return e.getLayoutInfo()},get activeContainerDimension(){return e.getLayoutInfo()},get onDidLayoutMainContainer(){return e.onDidLayoutChange},get onDidLayoutActiveContainer(){return e.onDidLayoutChange},get onDidLayoutContainer(){return lt.map(e.onDidLayoutChange,u=>({container:l.getDomNode(),dimension:u}))},get onDidChangeActiveContainer(){return lt.None},get onDidAddContainer(){return lt.None},get mainContainerOffset(){return{top:0,quickPickTop:0}},get activeContainerOffset(){return{top:0,quickPickTop:0}},focus:()=>e.focus()}}else this.host=void 0}createController(){return super.createController(this.host)}};C$=kFe([xC(1,$t),xC(2,ln),xC(3,jo),xC(4,yi),xC(5,Pn)],C$);let S$=class{get activeService(){const e=this.codeEditorService.getFocusedCodeEditor();if(!e)throw new Error("Quick input service needs a focused editor to work.");let t=this.mapEditorToService.get(e);if(!t){const i=t=this.instantiationService.createInstance(C$,e);this.mapEditorToService.set(e,t),hw(e.onDidDispose)(()=>{i.dispose(),this.mapEditorToService.delete(e)})}return t}get quickAccess(){return this.activeService.quickAccess}constructor(e,t){this.instantiationService=e,this.codeEditorService=t,this.mapEditorToService=new Map}pick(e,t={},i=Yn.None){return this.activeService.pick(e,t,i)}createQuickPick(){return this.activeService.createQuickPick()}createInputBox(){return this.activeService.createInputBox()}};S$=kFe([xC(0,$t),xC(1,yi)],S$);class Ox{static get(e){return e.getContribution(Ox.ID)}constructor(e){this.editor=e,this.widget=new BV(this.editor)}dispose(){this.widget.dispose()}}Ox.ID="editor.controller.quickInput";class BV{constructor(e){this.codeEditor=e,this.domNode=document.createElement("div"),this.codeEditor.addOverlayWidget(this)}getId(){return BV.ID}getDomNode(){return this.domNode}getPosition(){return{preference:2}}dispose(){this.codeEditor.removeOverlayWidget(this)}}BV.ID="editor.contrib.quickInputWidget",vi(Ox.ID,Ox,4);class m3t{constructor(e,t,i,r,o){this._parsedThemeRuleBrand=void 0,this.token=e,this.index=t,this.fontStyle=i,this.foreground=r,this.background=o}}function f3t(n){if(!n||!Array.isArray(n))return[];const e=[];let t=0;for(let i=0,r=n.length;i{const h=C3t(c.token,d.token);return h!==0?h:c.index-d.index});let t=0,i="000000",r="ffffff";for(;n.length>=1&&n[0].token==="";){const c=n.shift();c.fontStyle!==-1&&(t=c.fontStyle),c.foreground!==null&&(i=c.foreground),c.background!==null&&(r=c.background)}const o=new b3t;for(const c of e)o.getId(c);const s=o.getId(i),a=o.getId(r),l=new w$(t,s,a),u=new x$(l);for(let c=0,d=n.length;c"u"){const r=this._match(t),o=v3t(t);i=(r.metadata|o<<8)>>>0,this._cache.set(t,i)}return(i|e<<0)>>>0}}const y3t=/\b(comment|string|regex|regexp)\b/;function v3t(n){const e=n.match(y3t);if(!e)return 0;switch(e[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"regexp":return 3}throw new Error("Unexpected match for standard token type!")}function C3t(n,e){return ne?1:0}class w${constructor(e,t,i){this._themeTrieElementRuleBrand=void 0,this._fontStyle=e,this._foreground=t,this._background=i,this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}clone(){return new w$(this._fontStyle,this._foreground,this._background)}acceptOverwrite(e,t,i){e!==-1&&(this._fontStyle=e),t!==0&&(this._foreground=t),i!==0&&(this._background=i),this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}}class x${constructor(e){this._themeTrieElementBrand=void 0,this._mainRule=e,this._children=new Map}match(e){if(e==="")return this._mainRule;const t=e.indexOf(".");let i,r;t===-1?(i=e,r=""):(i=e.substring(0,t),r=e.substring(t+1));const o=this._children.get(i);return typeof o<"u"?o.match(r):this._mainRule}insert(e,t,i,r){if(e===""){this._mainRule.acceptOverwrite(t,i,r);return}const o=e.indexOf(".");let s,a;o===-1?(s=e,a=""):(s=e.substring(0,o),a=e.substring(o+1));let l=this._children.get(s);typeof l>"u"&&(l=new x$(this._mainRule.clone()),this._children.set(s,l)),l.insert(a,t,i,r)}}function S3t(n){const e=[];for(let t=1,i=n.length;tt.fire())),n&&e.add(n.onDidProductIconThemeChange(()=>t.fire())),{dispose:()=>e.dispose(),onDidChange:t.event,getCSS(){const r=n?n.getProductIconTheme():new EFe,o={},s=l=>{const u=r.getIcon(l);if(!u)return;const c=u.font;return c?(o[c.id]=c.definition,`.codicon-${l.id}:before { content: '${u.fontCharacter}'; font-family: ${G0e(c.id)}; }`):`.codicon-${l.id}:before { content: '${u.fontCharacter}'; }`},a=[];for(const l of i.getIcons()){const u=s(l);u&&a.push(u)}for(const l in o){const u=o[l],c=u.weight?`font-weight: ${u.weight};`:"",d=u.style?`font-style: ${u.style};`:"",h=u.src.map(m=>`${Qb(m.location)} format('${m.format}')`).join(", ");a.push(`@font-face { src: ${h}; font-family: ${G0e(l)};${c}${d} font-display: block; }`)}return a.join(` +`)}}}class EFe{getIcon(e){const t=SSe();let i=e.defaults;for(;sn.isThemeIcon(i);){const r=t.getIcon(i.id);if(!r)return;i=r.defaults}return i}}const v1="vs",XM="vs-dark",Bx="hc-black",zx="hc-light",RFe=Do.as(q1e.ColorContribution),F3t=Do.as(Vye.ThemingContribution);class ZFe{constructor(e,t){this.semanticHighlighting=!1,this.themeData=t;const i=t.base;e.length>0?(zV(e)?this.id=e:this.id=i+" "+e,this.themeName=e):(this.id=i,this.themeName=i),this.colors=null,this.defaultColors=Object.create(null),this._tokenTheme=null}get base(){return this.themeData.base}notifyBaseUpdated(){this.themeData.inherit&&(this.colors=null,this._tokenTheme=null)}getColors(){if(!this.colors){const e=new Map;for(const t in this.themeData.colors)e.set(t,Re.fromHex(this.themeData.colors[t]));if(this.themeData.inherit){const t=_$(this.themeData.base);for(const i in t.colors)e.has(i)||e.set(i,Re.fromHex(t.colors[i]))}this.colors=e}return this.colors}getColor(e,t){const i=this.getColors().get(e);if(i)return i;if(t!==!1)return this.getDefault(e)}getDefault(e){let t=this.defaultColors[e];return t||(t=RFe.resolveDefaultColor(e,this),this.defaultColors[e]=t,t)}defines(e){return this.getColors().has(e)}get type(){switch(this.base){case v1:return Gc.LIGHT;case Bx:return Gc.HIGH_CONTRAST_DARK;case zx:return Gc.HIGH_CONTRAST_LIGHT;default:return Gc.DARK}}get tokenTheme(){if(!this._tokenTheme){let e=[],t=[];if(this.themeData.inherit){const o=_$(this.themeData.base);e=o.rules,o.encodedTokensColors&&(t=o.encodedTokensColors)}const i=this.themeData.colors["editor.foreground"],r=this.themeData.colors["editor.background"];if(i||r){const o={token:""};i&&(o.foreground=i),r&&(o.background=r),e.push(o)}e=e.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(t=this.themeData.encodedTokensColors),this._tokenTheme=TFe.createFromRawTokenTheme(e,t)}return this._tokenTheme}getTokenStyleMetadata(e,t,i){const o=this.tokenTheme._match([e].concat(t).join(".")).metadata,s=hu.getForeground(o),a=hu.getFontStyle(o);return{foreground:s,italic:!!(a&1),bold:!!(a&2),underline:!!(a&4),strikethrough:!!(a&8)}}}function zV(n){return n===v1||n===XM||n===Bx||n===zx}function _$(n){switch(n){case v1:return w3t;case XM:return x3t;case Bx:return _3t;case zx:return L3t}}function HV(n){const e=_$(n);return new ZFe(n,e)}class D3t extends Fe{constructor(){super(),this._onColorThemeChange=this._register(new be),this.onDidColorThemeChange=this._onColorThemeChange.event,this._onProductIconThemeChange=this._register(new be),this.onDidProductIconThemeChange=this._onProductIconThemeChange.event,this._environment=Object.create(null),this._builtInProductIconTheme=new EFe,this._autoDetectHighContrast=!0,this._knownThemes=new Map,this._knownThemes.set(v1,HV(v1)),this._knownThemes.set(XM,HV(XM)),this._knownThemes.set(Bx,HV(Bx)),this._knownThemes.set(zx,HV(zx));const e=this._register(I3t(this));this._codiconCSS=e.getCSS(),this._themeCSS="",this._allCSS=`${this._codiconCSS} +${this._themeCSS}`,this._globalStyleElement=null,this._styleElements=[],this._colorMapOverride=null,this.setTheme(v1),this._onOSSchemeChanged(),this._register(e.onDidChange(()=>{this._codiconCSS=e.getCSS(),this._updateCSS()})),bbe(Zi,"(forced-colors: active)",()=>{this._onOSSchemeChanged()})}registerEditorContainer(e){return a9(e)?this._registerShadowDomContainer(e):this._registerRegularEditorContainer()}_registerRegularEditorContainer(){return this._globalStyleElement||(this._globalStyleElement=Vu(void 0,e=>{e.className="monaco-colors",e.textContent=this._allCSS}),this._styleElements.push(this._globalStyleElement)),Fe.None}_registerShadowDomContainer(e){const t=Vu(e,i=>{i.className="monaco-colors",i.textContent=this._allCSS});return this._styleElements.push(t),{dispose:()=>{for(let i=0;i{i.base===e&&i.notifyBaseUpdated()}),this._theme.themeName===e&&this.setTheme(e)}getColorTheme(){return this._theme}setColorMapOverride(e){this._colorMapOverride=e,this._updateThemeOrColorMap()}setTheme(e){let t;this._knownThemes.has(e)?t=this._knownThemes.get(e):t=this._knownThemes.get(v1),this._updateActualTheme(t)}_updateActualTheme(e){!e||this._theme===e||(this._theme=e,this._updateThemeOrColorMap())}_onOSSchemeChanged(){if(this._autoDetectHighContrast){const e=Zi.matchMedia("(forced-colors: active)").matches;if(e!==rf(this._theme.type)){let t;dZ(this._theme.type)?t=e?Bx:XM:t=e?zx:v1,this._updateActualTheme(this._knownThemes.get(t))}}}setAutoDetectHighContrast(e){this._autoDetectHighContrast=e,this._onOSSchemeChanged()}_updateThemeOrColorMap(){const e=[],t={},i={addRule:s=>{t[s]||(e.push(s),t[s]=!0)}};F3t.getThemingParticipants().forEach(s=>s(this._theme,i,this._environment));const r=[];for(const s of RFe.getColors()){const a=this._theme.getColor(s.id,!0);a&&r.push(`${f6(s.id)}: ${a.toString()};`)}i.addRule(`.monaco-editor, .monaco-diff-editor, .monaco-component { ${r.join(` +`)} }`);const o=this._colorMapOverride||this._theme.tokenTheme.getColorMap();i.addRule(S3t(o)),this._themeCSS=e.join(` `),this._updateCSS(),bo.setColorMap(o),this._onColorThemeChange.fire(this._theme)}_updateCSS(){this._allCSS=`${this._codiconCSS} -${this._themeCSS}`,this._styleElements.forEach(e=>e.textContent=this._allCSS)}getFileIconTheme(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}}getProductIconTheme(){return this._builtInProductIconTheme}}const zd=Un("themeService");var M3t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},_$=function(n,e){return function(t,i){e(t,i,n)}};let F$=class extends Ie{constructor(e,t,i){super(),this._contextKeyService=e,this._layoutService=t,this._configurationService=i,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=new be,this._onDidChangeReducedMotion=new be,this._accessibilityModeEnabledContext=yI.bindTo(this._contextKeyService);const r=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration(s=>{s.affectsConfiguration("editor.accessibilitySupport")&&(r(),this._onDidChangeScreenReaderOptimized.fire()),s.affectsConfiguration("workbench.reduceMotion")&&(this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this._onDidChangeReducedMotion.fire())})),r(),this._register(this.onDidChangeScreenReaderOptimized(()=>r()));const o=Wi.matchMedia("(prefers-reduced-motion: reduce)");this._systemMotionReduced=o.matches,this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this.initReducedMotionListeners(o)}initReducedMotionListeners(e){this._register(Ae(e,"change",()=>{this._systemMotionReduced=e.matches,this._configMotionReduced==="auto"&&this._onDidChangeReducedMotion.fire()}));const t=()=>{const i=this.isMotionReduced();this._layoutService.mainContainer.classList.toggle("reduce-motion",i),this._layoutService.mainContainer.classList.toggle("enable-motion",!i)};t(),this._register(this.onDidChangeReducedMotion(()=>t()))}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){const e=this._configurationService.getValue("editor.accessibilitySupport");return e==="on"||e==="auto"&&this._accessibilitySupport===2}get onDidChangeReducedMotion(){return this._onDidChangeReducedMotion.event}isMotionReduced(){const e=this._configMotionReduced;return e==="on"||e==="auto"&&this._systemMotionReduced}getAccessibilitySupport(){return this._accessibilitySupport}};F$=M3t([_$(0,ln),_$(1,p1),_$(2,Pn)],F$);var YA=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},LC=function(n,e){return function(t,i){e(t,i,n)}},Hx,C1;let I$=class{constructor(e,t){this._commandService=e,this._hiddenStates=new UA(t)}createMenu(e,t,i){return new M$(e,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...i},this._commandService,t)}resetHiddenStates(e){this._hiddenStates.reset(e)}};I$=YA([LC(0,Xr),LC(1,wf)],I$);let UA=Hx=class{constructor(e){this._storageService=e,this._disposables=new Je,this._onDidChange=new be,this.onDidChange=this._onDidChange.event,this._ignoreChangeEvent=!1,this._hiddenByDefaultCache=new Map;try{const t=e.get(Hx._key,0,"{}");this._data=JSON.parse(t)}catch{this._data=Object.create(null)}this._disposables.add(e.onDidChangeValue(0,Hx._key,this._disposables)(()=>{if(!this._ignoreChangeEvent)try{const t=e.get(Hx._key,0,"{}");this._data=JSON.parse(t)}catch{}this._onDidChange.fire()}))}dispose(){this._onDidChange.dispose(),this._disposables.dispose()}_isHiddenByDefault(e,t){var i;return(i=this._hiddenByDefaultCache.get(`${e.id}/${t}`))!==null&&i!==void 0?i:!1}setDefaultState(e,t,i){this._hiddenByDefaultCache.set(`${e.id}/${t}`,i)}isHidden(e,t){var i,r;const o=this._isHiddenByDefault(e,t),s=(r=(i=this._data[e.id])===null||i===void 0?void 0:i.includes(t))!==null&&r!==void 0?r:!1;return o?!s:s}updateHidden(e,t,i){this._isHiddenByDefault(e,t)&&(i=!i);const o=this._data[e.id];if(i)o?o.indexOf(t)<0&&o.push(t):this._data[e.id]=[t];else if(o){const s=o.indexOf(t);s>=0&&kgt(o,s),o.length===0&&delete this._data[e.id]}this._persist()}reset(e){if(e===void 0)this._data=Object.create(null),this._persist();else{for(const{id:t}of e)this._data[t]&&delete this._data[t];this._persist()}}_persist(){try{this._ignoreChangeEvent=!0;const e=JSON.stringify(this._data);this._storageService.store(Hx._key,e,0,0)}finally{this._ignoreChangeEvent=!1}}};UA._key="menu.hiddenCommands",UA=Hx=YA([LC(0,wf)],UA);let D$=C1=class{constructor(e,t,i,r,o){this._id=e,this._hiddenStates=t,this._collectContextKeysForSubmenus=i,this._commandService=r,this._contextKeyService=o,this._menuGroups=[],this._structureContextKeys=new Set,this._preconditionContextKeys=new Set,this._toggledContextKeys=new Set,this.refresh()}get structureContextKeys(){return this._structureContextKeys}get preconditionContextKeys(){return this._preconditionContextKeys}get toggledContextKeys(){return this._toggledContextKeys}refresh(){this._menuGroups.length=0,this._structureContextKeys.clear(),this._preconditionContextKeys.clear(),this._toggledContextKeys.clear();const e=ss.getMenuItems(this._id);let t;e.sort(C1._compareMenuItems);for(const i of e){const r=i.group||"";(!t||t[0]!==r)&&(t=[r,[]],this._menuGroups.push(t)),t[1].push(i),this._collectContextKeys(i)}}_collectContextKeys(e){if(C1._fillInKbExprKeys(e.when,this._structureContextKeys),_S(e)){if(e.command.precondition&&C1._fillInKbExprKeys(e.command.precondition,this._preconditionContextKeys),e.command.toggled){const t=e.command.toggled.condition||e.command.toggled;C1._fillInKbExprKeys(t,this._toggledContextKeys)}}else this._collectContextKeysForSubmenus&&ss.getMenuItems(e.submenu).forEach(this._collectContextKeys,this)}createActionGroups(e){const t=[];for(const i of this._menuGroups){const[r,o]=i,s=[];for(const a of o)if(this._contextKeyService.contextMatchesRules(a.when)){const l=_S(a);l&&this._hiddenStates.setDefaultState(this._id,a.command.id,!!a.isHiddenByDefault);const u=k3t(this._id,l?a.command:a,this._hiddenStates);if(l)s.push(new Xu(a.command,a.alt,e,u,this._contextKeyService,this._commandService));else{const c=new C1(a.submenu,this._hiddenStates,this._collectContextKeysForSubmenus,this._commandService,this._contextKeyService).createActionGroups(e),d=Vo.join(...c.map(h=>h[1]));d.length>0&&s.push(new sI(a,u,d))}}s.length>0&&t.push([r,s])}return t}static _fillInKbExprKeys(e,t){if(e)for(const i of e.keys())t.add(i)}static _compareMenuItems(e,t){const i=e.group,r=t.group;if(i!==r){if(i){if(!r)return-1}else return 1;if(i==="navigation")return-1;if(r==="navigation")return 1;const a=i.localeCompare(r);if(a!==0)return a}const o=e.order||0,s=t.order||0;return os?1:C1._compareTitles(_S(e)?e.command.title:e.title,_S(t)?t.command.title:t.title)}static _compareTitles(e,t){const i=typeof e=="string"?e:e.original,r=typeof t=="string"?t:t.original;return i.localeCompare(r)}};D$=C1=YA([LC(3,Xr),LC(4,ln)],D$);let M$=class{constructor(e,t,i,r,o){this._disposables=new Je,this._menuInfo=new D$(e,t,i.emitEventsForSubmenuChanges,r,o);const s=new Ri(()=>{this._menuInfo.refresh(),this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!0,isToggleChange:!0})},i.eventDebounceDelay);this._disposables.add(s),this._disposables.add(ss.onDidChangeMenu(c=>{c.has(e)&&s.schedule()}));const a=this._disposables.add(new Je),l=c=>{let d=!1,h=!1,m=!1;for(const f of c)if(d=d||f.isStructuralChange,h=h||f.isEnablementChange,m=m||f.isToggleChange,d&&h&&m)break;return{menu:this,isStructuralChange:d,isEnablementChange:h,isToggleChange:m}},u=()=>{a.add(o.onDidChangeContext(c=>{const d=c.affectsSome(this._menuInfo.structureContextKeys),h=c.affectsSome(this._menuInfo.preconditionContextKeys),m=c.affectsSome(this._menuInfo.toggledContextKeys);(d||h||m)&&this._onDidChange.fire({menu:this,isStructuralChange:d,isEnablementChange:h,isToggleChange:m})})),a.add(t.onDidChange(c=>{this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!1,isToggleChange:!1})}))};this._onDidChange=new Rbe({onWillAddFirstListener:u,onDidRemoveLastListener:a.clear.bind(a),delay:i.eventDebounceDelay,merge:l}),this.onDidChange=this._onDidChange.event}getActions(e){return this._menuInfo.createActionGroups(e)}dispose(){this._disposables.dispose(),this._onDidChange.dispose()}};M$=YA([LC(3,Xr),LC(4,ln)],M$);function k3t(n,e,t){const i=sgt(e)?e.submenu.id:e.id,r=typeof e.title=="string"?e.title:e.title.value,o=xS({id:`hide/${n.id}/${i}`,label:L("hide.label","Hide '{0}'",r),run(){t.updateHidden(n,i,!0)}}),s=xS({id:`toggle/${n.id}/${i}`,label:r,get checked(){return!t.isHidden(n,i)},run(){t.updateHidden(n,i,!!this.checked)}});return{hide:o,toggle:s,get isHidden(){return!s.checked}}}var N3t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},RIe=function(n,e){return function(t,i){e(t,i,n)}},k$;let KA=k$=class extends Ie{constructor(e,t){super(),this.layoutService=e,this.logService=t,this.mapTextToType=new Map,this.findText="",this.resources=[],this.resourcesStateHash=void 0,(wg||vbe)&&this.installWebKitWriteTextWorkaround(),this._register(lt.runAndSubscribe(r9,({window:i,disposables:r})=>{r.add(Ae(i.document,"copy",()=>this.clearResources()))},{window:Wi,disposables:this._store}))}installWebKitWriteTextWorkaround(){const e=()=>{const t=new XZ;this.webKitPendingClipboardWritePromise&&!this.webKitPendingClipboardWritePromise.isSettled&&this.webKitPendingClipboardWritePromise.cancel(),this.webKitPendingClipboardWritePromise=t,navigator.clipboard.write([new ClipboardItem({"text/plain":t.p})]).catch(async i=>{(!(i instanceof Error)||i.name!=="NotAllowedError"||!t.isRejected)&&this.logService.error(i)})};this._register(lt.runAndSubscribe(this.layoutService.onDidAddContainer,({container:t,disposables:i})=>{i.add(Ae(t,"click",e)),i.add(Ae(t,"keydown",e))},{container:this.layoutService.mainContainer,disposables:this._store}))}async writeText(e,t){if(this.writeResources([]),t){this.mapTextToType.set(t,e);return}if(this.webKitPendingClipboardWritePromise)return this.webKitPendingClipboardWritePromise.complete(e);try{return await navigator.clipboard.writeText(e)}catch{}this.fallbackWriteText(e)}fallbackWriteText(e){const t=wS(),i=t.activeElement,r=t.body.appendChild(Ct("textarea",{"aria-hidden":!0}));r.style.height="1px",r.style.width="1px",r.style.position="absolute",r.value=e,r.focus(),r.select(),t.execCommand("copy"),i instanceof HTMLElement&&i.focus(),t.body.removeChild(r)}async readText(e){if(e)return this.mapTextToType.get(e)||"";try{return await navigator.clipboard.readText()}catch{}return""}async readFindText(){return this.findText}async writeFindText(e){this.findText=e}async writeResources(e){e.length===0?this.clearResources():(this.resources=e,this.resourcesStateHash=await this.computeResourcesStateHash())}async readResources(){const e=await this.computeResourcesStateHash();return this.resourcesStateHash!==e&&this.clearResources(),this.resources}async computeResourcesStateHash(){if(this.resources.length===0)return;const e=await this.readText();return e9(e.substring(0,k$.MAX_RESOURCE_STATE_SOURCE_LENGTH))}clearResources(){this.resources=[],this.resourcesStateHash=void 0}};KA.MAX_RESOURCE_STATE_SOURCE_LENGTH=1e3,KA=k$=N3t([RIe(0,p1),RIe(1,tl)],KA);var T3t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},E3t=function(n,e){return function(t,i){e(t,i,n)}};const Pk="data-keybinding-context";class N${constructor(e,t){this._id=e,this._parent=t,this._value=Object.create(null),this._value._contextId=e}get value(){return{...this._value}}setValue(e,t){return this._value[e]!==t?(this._value[e]=t,!0):!1}removeValue(e){return e in this._value?(delete this._value[e],!0):!1}getValue(e){const t=this._value[e];return typeof t>"u"&&this._parent?this._parent.getValue(e):t}}class Yx extends N${constructor(){super(-1,null)}setValue(e,t){return!1}removeValue(e){return!1}getValue(e){}}Yx.INSTANCE=new Yx;class Ok extends N${constructor(e,t,i){super(e,null),this._configurationService=t,this._values=G2.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration(r=>{if(r.source===7){const o=Array.from(this._values,([s])=>s);this._values.clear(),i.fire(new AIe(o))}else{const o=[];for(const s of r.affectedKeys){const a=`config.${s}`,l=this._values.findSuperstr(a);l!==void 0&&(o.push(...Qn.map(l,([u])=>u)),this._values.deleteSuperstr(a)),this._values.has(a)&&(o.push(a),this._values.delete(a))}i.fire(new AIe(o))}})}dispose(){this._listener.dispose()}getValue(e){if(e.indexOf(Ok._keyPrefix)!==0)return super.getValue(e);if(this._values.has(e))return this._values.get(e);const t=e.substr(Ok._keyPrefix.length),i=this._configurationService.getValue(t);let r;switch(typeof i){case"number":case"boolean":case"string":r=i;break;default:Array.isArray(i)?r=JSON.stringify(i):r=i}return this._values.set(e,r),r}setValue(e,t){return super.setValue(e,t)}removeValue(e){return super.removeValue(e)}}Ok._keyPrefix="config.";class Z3t{constructor(e,t,i){this._service=e,this._key=t,this._defaultValue=i,this.reset()}set(e){this._service.setContext(this._key,e)}reset(){typeof this._defaultValue>"u"?this._service.removeContext(this._key):this._service.setContext(this._key,this._defaultValue)}get(){return this._service.getContextKeyValue(this._key)}}class VIe{constructor(e){this.key=e}affectsSome(e){return e.has(this.key)}allKeysContainedIn(e){return this.affectsSome(e)}}class AIe{constructor(e){this.keys=e}affectsSome(e){for(const t of this.keys)if(e.has(t))return!0;return!1}allKeysContainedIn(e){return this.keys.every(t=>e.has(t))}}class W3t{constructor(e){this.events=e}affectsSome(e){for(const t of this.events)if(t.affectsSome(e))return!0;return!1}allKeysContainedIn(e){return this.events.every(t=>t.allKeysContainedIn(e))}}function R3t(n,e){return n.allKeysContainedIn(new Set(Object.keys(e)))}class GIe extends Ie{constructor(e){super(),this._onDidChangeContext=this._register(new Ov({merge:t=>new W3t(t)})),this.onDidChangeContext=this._onDidChangeContext.event,this._isDisposed=!1,this._myContextId=e}createKey(e,t){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new Z3t(this,e,t)}bufferChangeEvents(e){this._onDidChangeContext.pause();try{e()}finally{this._onDidChangeContext.resume()}}createScoped(e){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new V3t(this,e)}contextMatchesRules(e){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");const t=this.getContextValuesContainer(this._myContextId);return e?e.evaluate(t):!0}getContextKeyValue(e){if(!this._isDisposed)return this.getContextValuesContainer(this._myContextId).getValue(e)}setContext(e,t){if(this._isDisposed)return;const i=this.getContextValuesContainer(this._myContextId);i&&i.setValue(e,t)&&this._onDidChangeContext.fire(new VIe(e))}removeContext(e){this._isDisposed||this.getContextValuesContainer(this._myContextId).removeValue(e)&&this._onDidChangeContext.fire(new VIe(e))}getContext(e){return this._isDisposed?Yx.INSTANCE:this.getContextValuesContainer(A3t(e))}dispose(){super.dispose(),this._isDisposed=!0}}let T$=class extends GIe{constructor(e){super(0),this._contexts=new Map,this._lastContextId=0;const t=this._register(new Ok(this._myContextId,e,this._onDidChangeContext));this._contexts.set(this._myContextId,t)}getContextValuesContainer(e){return this._isDisposed?Yx.INSTANCE:this._contexts.get(e)||Yx.INSTANCE}createChildContext(e=this._myContextId){if(this._isDisposed)throw new Error("ContextKeyService has been disposed");const t=++this._lastContextId;return this._contexts.set(t,new N$(t,this.getContextValuesContainer(e))),t}disposeContext(e){this._isDisposed||this._contexts.delete(e)}};T$=T3t([E3t(0,Pn)],T$);class V3t extends GIe{constructor(e,t){if(super(e.createChildContext()),this._parentChangeListener=this._register(new Ms),this._parent=e,this._updateParentChangeListener(),this._domNode=t,this._domNode.hasAttribute(Pk)){let i="";this._domNode.classList&&(i=Array.from(this._domNode.classList.values()).join(", "))}this._domNode.setAttribute(Pk,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext(e=>{const i=this._parent.getContextValuesContainer(this._myContextId).value;R3t(e,i)||this._onDidChangeContext.fire(e)})}dispose(){this._isDisposed||(this._parent.disposeContext(this._myContextId),this._domNode.removeAttribute(Pk),super.dispose())}getContextValuesContainer(e){return this._isDisposed?Yx.INSTANCE:this._parent.getContextValuesContainer(e)}createChildContext(e=this._myContextId){if(this._isDisposed)throw new Error("ScopedContextKeyService has been disposed");return this._parent.createChildContext(e)}disposeContext(e){this._isDisposed||this._parent.disposeContext(e)}}function A3t(n){for(;n;){if(n.hasAttribute(Pk)){const e=n.getAttribute(Pk);return e?parseInt(e,10):NaN}n=n.parentElement}return 0}function G3t(n,e,t){n.get(ln).createKey(String(e),X3t(t))}function X3t(n){return U1e(n,e=>{if(typeof e=="object"&&e.$mid===1)return en.revive(e).toString();if(e instanceof en)return e.toString()})}$n.registerCommand("_setContext",G3t),$n.registerCommand({id:"getContextKeyInfo",handler(){return[...wt.all()].sort((n,e)=>n.key.localeCompare(e.key))},metadata:{description:L("getContextKeyInfo","A command that returns information about context keys"),args:[]}}),$n.registerCommand("_generateContextKeyInfo",function(){const n=[],e=new Set;for(const t of wt.all())e.has(t.key)||(e.add(t.key),n.push(t));n.sort((t,i)=>t.key.localeCompare(i.key))});let P3t=class{constructor(e,t){this.key=e,this.data=t,this.incoming=new Map,this.outgoing=new Map}};class XIe{constructor(e){this._hashFn=e,this._nodes=new Map}roots(){const e=[];for(const t of this._nodes.values())t.outgoing.size===0&&e.push(t);return e}insertEdge(e,t){const i=this.lookupOrInsertNode(e),r=this.lookupOrInsertNode(t);i.outgoing.set(r.key,r),r.incoming.set(i.key,i)}removeNode(e){const t=this._hashFn(e);this._nodes.delete(t);for(const i of this._nodes.values())i.outgoing.delete(t),i.incoming.delete(t)}lookupOrInsertNode(e){const t=this._hashFn(e);let i=this._nodes.get(t);return i||(i=new P3t(t,e),this._nodes.set(t,i)),i}isEmpty(){return this._nodes.size===0}toString(){const e=[];for(const[t,i]of this._nodes)e.push(`${t} +${this._themeCSS}`,this._styleElements.forEach(e=>e.textContent=this._allCSS)}getFileIconTheme(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}}getProductIconTheme(){return this._builtInProductIconTheme}}const Bd=Un("themeService");var N3t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},L$=function(n,e){return function(t,i){e(t,i,n)}};let I$=class extends Fe{constructor(e,t,i){super(),this._contextKeyService=e,this._layoutService=t,this._configurationService=i,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=new be,this._onDidChangeReducedMotion=new be,this._accessibilityModeEnabledContext=vF.bindTo(this._contextKeyService);const r=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration(s=>{s.affectsConfiguration("editor.accessibilitySupport")&&(r(),this._onDidChangeScreenReaderOptimized.fire()),s.affectsConfiguration("workbench.reduceMotion")&&(this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this._onDidChangeReducedMotion.fire())})),r(),this._register(this.onDidChangeScreenReaderOptimized(()=>r()));const o=Zi.matchMedia("(prefers-reduced-motion: reduce)");this._systemMotionReduced=o.matches,this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this.initReducedMotionListeners(o)}initReducedMotionListeners(e){this._register(Ve(e,"change",()=>{this._systemMotionReduced=e.matches,this._configMotionReduced==="auto"&&this._onDidChangeReducedMotion.fire()}));const t=()=>{const i=this.isMotionReduced();this._layoutService.mainContainer.classList.toggle("reduce-motion",i),this._layoutService.mainContainer.classList.toggle("enable-motion",!i)};t(),this._register(this.onDidChangeReducedMotion(()=>t()))}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){const e=this._configurationService.getValue("editor.accessibilitySupport");return e==="on"||e==="auto"&&this._accessibilitySupport===2}get onDidChangeReducedMotion(){return this._onDidChangeReducedMotion.event}isMotionReduced(){const e=this._configMotionReduced;return e==="on"||e==="auto"&&this._systemMotionReduced}getAccessibilitySupport(){return this._accessibilitySupport}};I$=N3t([L$(0,ln),L$(1,p1),L$(2,Pn)],I$);var YV=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},_C=function(n,e){return function(t,i){e(t,i,n)}},Hx,C1;let F$=class{constructor(e,t){this._commandService=e,this._hiddenStates=new UV(t)}createMenu(e,t,i){return new N$(e,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...i},this._commandService,t)}resetHiddenStates(e){this._hiddenStates.reset(e)}};F$=YV([_C(0,Xr),_C(1,Sf)],F$);let UV=Hx=class{constructor(e){this._storageService=e,this._disposables=new Je,this._onDidChange=new be,this.onDidChange=this._onDidChange.event,this._ignoreChangeEvent=!1,this._hiddenByDefaultCache=new Map;try{const t=e.get(Hx._key,0,"{}");this._data=JSON.parse(t)}catch{this._data=Object.create(null)}this._disposables.add(e.onDidChangeValue(0,Hx._key,this._disposables)(()=>{if(!this._ignoreChangeEvent)try{const t=e.get(Hx._key,0,"{}");this._data=JSON.parse(t)}catch{}this._onDidChange.fire()}))}dispose(){this._onDidChange.dispose(),this._disposables.dispose()}_isHiddenByDefault(e,t){var i;return(i=this._hiddenByDefaultCache.get(`${e.id}/${t}`))!==null&&i!==void 0?i:!1}setDefaultState(e,t,i){this._hiddenByDefaultCache.set(`${e.id}/${t}`,i)}isHidden(e,t){var i,r;const o=this._isHiddenByDefault(e,t),s=(r=(i=this._data[e.id])===null||i===void 0?void 0:i.includes(t))!==null&&r!==void 0?r:!1;return o?!s:s}updateHidden(e,t,i){this._isHiddenByDefault(e,t)&&(i=!i);const o=this._data[e.id];if(i)o?o.indexOf(t)<0&&o.push(t):this._data[e.id]=[t];else if(o){const s=o.indexOf(t);s>=0&&Mgt(o,s),o.length===0&&delete this._data[e.id]}this._persist()}reset(e){if(e===void 0)this._data=Object.create(null),this._persist();else{for(const{id:t}of e)this._data[t]&&delete this._data[t];this._persist()}}_persist(){try{this._ignoreChangeEvent=!0;const e=JSON.stringify(this._data);this._storageService.store(Hx._key,e,0,0)}finally{this._ignoreChangeEvent=!1}}};UV._key="menu.hiddenCommands",UV=Hx=YV([_C(0,Sf)],UV);let D$=C1=class{constructor(e,t,i,r,o){this._id=e,this._hiddenStates=t,this._collectContextKeysForSubmenus=i,this._commandService=r,this._contextKeyService=o,this._menuGroups=[],this._structureContextKeys=new Set,this._preconditionContextKeys=new Set,this._toggledContextKeys=new Set,this.refresh()}get structureContextKeys(){return this._structureContextKeys}get preconditionContextKeys(){return this._preconditionContextKeys}get toggledContextKeys(){return this._toggledContextKeys}refresh(){this._menuGroups.length=0,this._structureContextKeys.clear(),this._preconditionContextKeys.clear(),this._toggledContextKeys.clear();const e=ss.getMenuItems(this._id);let t;e.sort(C1._compareMenuItems);for(const i of e){const r=i.group||"";(!t||t[0]!==r)&&(t=[r,[]],this._menuGroups.push(t)),t[1].push(i),this._collectContextKeys(i)}}_collectContextKeys(e){if(C1._fillInKbExprKeys(e.when,this._structureContextKeys),Lw(e)){if(e.command.precondition&&C1._fillInKbExprKeys(e.command.precondition,this._preconditionContextKeys),e.command.toggled){const t=e.command.toggled.condition||e.command.toggled;C1._fillInKbExprKeys(t,this._toggledContextKeys)}}else this._collectContextKeysForSubmenus&&ss.getMenuItems(e.submenu).forEach(this._collectContextKeys,this)}createActionGroups(e){const t=[];for(const i of this._menuGroups){const[r,o]=i,s=[];for(const a of o)if(this._contextKeyService.contextMatchesRules(a.when)){const l=Lw(a);l&&this._hiddenStates.setDefaultState(this._id,a.command.id,!!a.isHiddenByDefault);const u=M3t(this._id,l?a.command:a,this._hiddenStates);if(l)s.push(new Xu(a.command,a.alt,e,u,this._contextKeyService,this._commandService));else{const c=new C1(a.submenu,this._hiddenStates,this._collectContextKeysForSubmenus,this._commandService,this._contextKeyService).createActionGroups(e),d=Ao.join(...c.map(h=>h[1]));d.length>0&&s.push(new sF(a,u,d))}}s.length>0&&t.push([r,s])}return t}static _fillInKbExprKeys(e,t){if(e)for(const i of e.keys())t.add(i)}static _compareMenuItems(e,t){const i=e.group,r=t.group;if(i!==r){if(i){if(!r)return-1}else return 1;if(i==="navigation")return-1;if(r==="navigation")return 1;const a=i.localeCompare(r);if(a!==0)return a}const o=e.order||0,s=t.order||0;return os?1:C1._compareTitles(Lw(e)?e.command.title:e.title,Lw(t)?t.command.title:t.title)}static _compareTitles(e,t){const i=typeof e=="string"?e:e.original,r=typeof t=="string"?t:t.original;return i.localeCompare(r)}};D$=C1=YV([_C(3,Xr),_C(4,ln)],D$);let N$=class{constructor(e,t,i,r,o){this._disposables=new Je,this._menuInfo=new D$(e,t,i.emitEventsForSubmenuChanges,r,o);const s=new Wi(()=>{this._menuInfo.refresh(),this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!0,isToggleChange:!0})},i.eventDebounceDelay);this._disposables.add(s),this._disposables.add(ss.onDidChangeMenu(c=>{c.has(e)&&s.schedule()}));const a=this._disposables.add(new Je),l=c=>{let d=!1,h=!1,m=!1;for(const f of c)if(d=d||f.isStructuralChange,h=h||f.isEnablementChange,m=m||f.isToggleChange,d&&h&&m)break;return{menu:this,isStructuralChange:d,isEnablementChange:h,isToggleChange:m}},u=()=>{a.add(o.onDidChangeContext(c=>{const d=c.affectsSome(this._menuInfo.structureContextKeys),h=c.affectsSome(this._menuInfo.preconditionContextKeys),m=c.affectsSome(this._menuInfo.toggledContextKeys);(d||h||m)&&this._onDidChange.fire({menu:this,isStructuralChange:d,isEnablementChange:h,isToggleChange:m})})),a.add(t.onDidChange(c=>{this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!1,isToggleChange:!1})}))};this._onDidChange=new Wbe({onWillAddFirstListener:u,onDidRemoveLastListener:a.clear.bind(a),delay:i.eventDebounceDelay,merge:l}),this.onDidChange=this._onDidChange.event}getActions(e){return this._menuInfo.createActionGroups(e)}dispose(){this._disposables.dispose(),this._onDidChange.dispose()}};N$=YV([_C(3,Xr),_C(4,ln)],N$);function M3t(n,e,t){const i=sgt(e)?e.submenu.id:e.id,r=typeof e.title=="string"?e.title:e.title.value,o=xw({id:`hide/${n.id}/${i}`,label:_("hide.label","Hide '{0}'",r),run(){t.updateHidden(n,i,!0)}}),s=xw({id:`toggle/${n.id}/${i}`,label:r,get checked(){return!t.isHidden(n,i)},run(){t.updateHidden(n,i,!!this.checked)}});return{hide:o,toggle:s,get isHidden(){return!s.checked}}}var k3t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},WFe=function(n,e){return function(t,i){e(t,i,n)}},M$;let KV=M$=class extends Fe{constructor(e,t){super(),this.layoutService=e,this.logService=t,this.mapTextToType=new Map,this.findText="",this.resources=[],this.resourcesStateHash=void 0,(Sg||ybe)&&this.installWebKitWriteTextWorkaround(),this._register(lt.runAndSubscribe(r9,({window:i,disposables:r})=>{r.add(Ve(i.document,"copy",()=>this.clearResources()))},{window:Zi,disposables:this._store}))}installWebKitWriteTextWorkaround(){const e=()=>{const t=new XR;this.webKitPendingClipboardWritePromise&&!this.webKitPendingClipboardWritePromise.isSettled&&this.webKitPendingClipboardWritePromise.cancel(),this.webKitPendingClipboardWritePromise=t,navigator.clipboard.write([new ClipboardItem({"text/plain":t.p})]).catch(async i=>{(!(i instanceof Error)||i.name!=="NotAllowedError"||!t.isRejected)&&this.logService.error(i)})};this._register(lt.runAndSubscribe(this.layoutService.onDidAddContainer,({container:t,disposables:i})=>{i.add(Ve(t,"click",e)),i.add(Ve(t,"keydown",e))},{container:this.layoutService.mainContainer,disposables:this._store}))}async writeText(e,t){if(this.writeResources([]),t){this.mapTextToType.set(t,e);return}if(this.webKitPendingClipboardWritePromise)return this.webKitPendingClipboardWritePromise.complete(e);try{return await navigator.clipboard.writeText(e)}catch{}this.fallbackWriteText(e)}fallbackWriteText(e){const t=Sw(),i=t.activeElement,r=t.body.appendChild(Ct("textarea",{"aria-hidden":!0}));r.style.height="1px",r.style.width="1px",r.style.position="absolute",r.value=e,r.focus(),r.select(),t.execCommand("copy"),i instanceof HTMLElement&&i.focus(),t.body.removeChild(r)}async readText(e){if(e)return this.mapTextToType.get(e)||"";try{return await navigator.clipboard.readText()}catch{}return""}async readFindText(){return this.findText}async writeFindText(e){this.findText=e}async writeResources(e){e.length===0?this.clearResources():(this.resources=e,this.resourcesStateHash=await this.computeResourcesStateHash())}async readResources(){const e=await this.computeResourcesStateHash();return this.resourcesStateHash!==e&&this.clearResources(),this.resources}async computeResourcesStateHash(){if(this.resources.length===0)return;const e=await this.readText();return e9(e.substring(0,M$.MAX_RESOURCE_STATE_SOURCE_LENGTH))}clearResources(){this.resources=[],this.resourcesStateHash=void 0}};KV.MAX_RESOURCE_STATE_SOURCE_LENGTH=1e3,KV=M$=k3t([WFe(0,p1),WFe(1,tl)],KV);var T3t=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},E3t=function(n,e){return function(t,i){e(t,i,n)}};const PM="data-keybinding-context";class k${constructor(e,t){this._id=e,this._parent=t,this._value=Object.create(null),this._value._contextId=e}get value(){return{...this._value}}setValue(e,t){return this._value[e]!==t?(this._value[e]=t,!0):!1}removeValue(e){return e in this._value?(delete this._value[e],!0):!1}getValue(e){const t=this._value[e];return typeof t>"u"&&this._parent?this._parent.getValue(e):t}}class Yx extends k${constructor(){super(-1,null)}setValue(e,t){return!1}removeValue(e){return!1}getValue(e){}}Yx.INSTANCE=new Yx;class OM extends k${constructor(e,t,i){super(e,null),this._configurationService=t,this._values=G2.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration(r=>{if(r.source===7){const o=Array.from(this._values,([s])=>s);this._values.clear(),i.fire(new VFe(o))}else{const o=[];for(const s of r.affectedKeys){const a=`config.${s}`,l=this._values.findSuperstr(a);l!==void 0&&(o.push(...Qn.map(l,([u])=>u)),this._values.deleteSuperstr(a)),this._values.has(a)&&(o.push(a),this._values.delete(a))}i.fire(new VFe(o))}})}dispose(){this._listener.dispose()}getValue(e){if(e.indexOf(OM._keyPrefix)!==0)return super.getValue(e);if(this._values.has(e))return this._values.get(e);const t=e.substr(OM._keyPrefix.length),i=this._configurationService.getValue(t);let r;switch(typeof i){case"number":case"boolean":case"string":r=i;break;default:Array.isArray(i)?r=JSON.stringify(i):r=i}return this._values.set(e,r),r}setValue(e,t){return super.setValue(e,t)}removeValue(e){return super.removeValue(e)}}OM._keyPrefix="config.";class R3t{constructor(e,t,i){this._service=e,this._key=t,this._defaultValue=i,this.reset()}set(e){this._service.setContext(this._key,e)}reset(){typeof this._defaultValue>"u"?this._service.removeContext(this._key):this._service.setContext(this._key,this._defaultValue)}get(){return this._service.getContextKeyValue(this._key)}}class AFe{constructor(e){this.key=e}affectsSome(e){return e.has(this.key)}allKeysContainedIn(e){return this.affectsSome(e)}}class VFe{constructor(e){this.keys=e}affectsSome(e){for(const t of this.keys)if(e.has(t))return!0;return!1}allKeysContainedIn(e){return this.keys.every(t=>e.has(t))}}class Z3t{constructor(e){this.events=e}affectsSome(e){for(const t of this.events)if(t.affectsSome(e))return!0;return!1}allKeysContainedIn(e){return this.events.every(t=>t.allKeysContainedIn(e))}}function W3t(n,e){return n.allKeysContainedIn(new Set(Object.keys(e)))}class GFe extends Fe{constructor(e){super(),this._onDidChangeContext=this._register(new Oy({merge:t=>new Z3t(t)})),this.onDidChangeContext=this._onDidChangeContext.event,this._isDisposed=!1,this._myContextId=e}createKey(e,t){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new R3t(this,e,t)}bufferChangeEvents(e){this._onDidChangeContext.pause();try{e()}finally{this._onDidChangeContext.resume()}}createScoped(e){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new A3t(this,e)}contextMatchesRules(e){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");const t=this.getContextValuesContainer(this._myContextId);return e?e.evaluate(t):!0}getContextKeyValue(e){if(!this._isDisposed)return this.getContextValuesContainer(this._myContextId).getValue(e)}setContext(e,t){if(this._isDisposed)return;const i=this.getContextValuesContainer(this._myContextId);i&&i.setValue(e,t)&&this._onDidChangeContext.fire(new AFe(e))}removeContext(e){this._isDisposed||this.getContextValuesContainer(this._myContextId).removeValue(e)&&this._onDidChangeContext.fire(new AFe(e))}getContext(e){return this._isDisposed?Yx.INSTANCE:this.getContextValuesContainer(V3t(e))}dispose(){super.dispose(),this._isDisposed=!0}}let T$=class extends GFe{constructor(e){super(0),this._contexts=new Map,this._lastContextId=0;const t=this._register(new OM(this._myContextId,e,this._onDidChangeContext));this._contexts.set(this._myContextId,t)}getContextValuesContainer(e){return this._isDisposed?Yx.INSTANCE:this._contexts.get(e)||Yx.INSTANCE}createChildContext(e=this._myContextId){if(this._isDisposed)throw new Error("ContextKeyService has been disposed");const t=++this._lastContextId;return this._contexts.set(t,new k$(t,this.getContextValuesContainer(e))),t}disposeContext(e){this._isDisposed||this._contexts.delete(e)}};T$=T3t([E3t(0,Pn)],T$);class A3t extends GFe{constructor(e,t){if(super(e.createChildContext()),this._parentChangeListener=this._register(new Ns),this._parent=e,this._updateParentChangeListener(),this._domNode=t,this._domNode.hasAttribute(PM)){let i="";this._domNode.classList&&(i=Array.from(this._domNode.classList.values()).join(", "))}this._domNode.setAttribute(PM,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext(e=>{const i=this._parent.getContextValuesContainer(this._myContextId).value;W3t(e,i)||this._onDidChangeContext.fire(e)})}dispose(){this._isDisposed||(this._parent.disposeContext(this._myContextId),this._domNode.removeAttribute(PM),super.dispose())}getContextValuesContainer(e){return this._isDisposed?Yx.INSTANCE:this._parent.getContextValuesContainer(e)}createChildContext(e=this._myContextId){if(this._isDisposed)throw new Error("ScopedContextKeyService has been disposed");return this._parent.createChildContext(e)}disposeContext(e){this._isDisposed||this._parent.disposeContext(e)}}function V3t(n){for(;n;){if(n.hasAttribute(PM)){const e=n.getAttribute(PM);return e?parseInt(e,10):NaN}n=n.parentElement}return 0}function G3t(n,e,t){n.get(ln).createKey(String(e),X3t(t))}function X3t(n){return U1e(n,e=>{if(typeof e=="object"&&e.$mid===1)return en.revive(e).toString();if(e instanceof en)return e.toString()})}$n.registerCommand("_setContext",G3t),$n.registerCommand({id:"getContextKeyInfo",handler(){return[...St.all()].sort((n,e)=>n.key.localeCompare(e.key))},metadata:{description:_("getContextKeyInfo","A command that returns information about context keys"),args:[]}}),$n.registerCommand("_generateContextKeyInfo",function(){const n=[],e=new Set;for(const t of St.all())e.has(t.key)||(e.add(t.key),n.push(t));n.sort((t,i)=>t.key.localeCompare(i.key))});let P3t=class{constructor(e,t){this.key=e,this.data=t,this.incoming=new Map,this.outgoing=new Map}};class XFe{constructor(e){this._hashFn=e,this._nodes=new Map}roots(){const e=[];for(const t of this._nodes.values())t.outgoing.size===0&&e.push(t);return e}insertEdge(e,t){const i=this.lookupOrInsertNode(e),r=this.lookupOrInsertNode(t);i.outgoing.set(r.key,r),r.incoming.set(i.key,i)}removeNode(e){const t=this._hashFn(e);this._nodes.delete(t);for(const i of this._nodes.values())i.outgoing.delete(t),i.incoming.delete(t)}lookupOrInsertNode(e){const t=this._hashFn(e);let i=this._nodes.get(t);return i||(i=new P3t(t,e),this._nodes.set(t,i)),i}isEmpty(){return this._nodes.size===0}toString(){const e=[];for(const[t,i]of this._nodes)e.push(`${t} (-> incoming)[${[...i.incoming.keys()].join(", ")}] (outgoing ->)[${[...i.outgoing.keys()].join(",")}] `);return e.join(` -`)}findCycleSlow(){for(const[e,t]of this._nodes){const i=new Set([e]),r=this._findCycle(t,i);if(r)return r}}_findCycle(e,t){for(const[i,r]of e.outgoing){if(t.has(i))return[...t,i].join(" -> ");t.add(i);const o=this._findCycle(r,t);if(o)return o;t.delete(i)}}}const O3t=!1;class PIe extends Error{constructor(e){var t;super("cyclic dependency between services"),this.message=(t=e.findCycleSlow())!==null&&t!==void 0?t:`UNABLE to detect cycle, dumping graph: -${e.toString()}`}}class JA{constructor(e=new DD,t=!1,i,r=O3t){var o;this._services=e,this._strict=t,this._parent=i,this._enableTracing=r,this._activeInstantiations=new Set,this._services.set($t,this),this._globalGraph=r?(o=i==null?void 0:i._globalGraph)!==null&&o!==void 0?o:new XIe(s=>s):void 0}createChild(e){return new JA(e,this._strict,this,this._enableTracing)}invokeFunction(e,...t){const i=Yl.traceInvocation(this._enableTracing,e);let r=!1;try{return e({get:s=>{if(r)throw ZH("service accessor is only valid during the invocation of its target method");const a=this._getOrCreateServiceInstance(s,i);if(!a)throw new Error(`[invokeFunction] unknown service '${s}'`);return a}},...t)}finally{r=!0,i.stop()}}createInstance(e,...t){let i,r;return e instanceof Km?(i=Yl.traceCreation(this._enableTracing,e.ctor),r=this._createInstance(e.ctor,e.staticArguments.concat(t),i)):(i=Yl.traceCreation(this._enableTracing,e),r=this._createInstance(e,t,i)),i.stop(),r}_createInstance(e,t=[],i){const r=Mh.getServiceDependencies(e).sort((a,l)=>a.index-l.index),o=[];for(const a of r){const l=this._getOrCreateServiceInstance(a.id,i);l||this._throwIfStrict(`[createInstance] ${e.name} depends on UNKNOWN service ${a.id}.`,!1),o.push(l)}const s=r.length>0?r[0].index:t.length;if(t.length!==s){const a=s-t.length;a>0?t=t.concat(new Array(a)):t=t.slice(0,s)}return Reflect.construct(e,t.concat(o))}_setServiceInstance(e,t){if(this._services.get(e)instanceof Km)this._services.set(e,t);else if(this._parent)this._parent._setServiceInstance(e,t);else throw new Error("illegalState - setting UNKNOWN service instance")}_getServiceInstanceOrDescriptor(e){const t=this._services.get(e);return!t&&this._parent?this._parent._getServiceInstanceOrDescriptor(e):t}_getOrCreateServiceInstance(e,t){this._globalGraph&&this._globalGraphImplicitDependency&&this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(e));const i=this._getServiceInstanceOrDescriptor(e);return i instanceof Km?this._safeCreateAndCacheServiceInstance(e,i,t.branch(e,!0)):(t.branch(e,!1),i)}_safeCreateAndCacheServiceInstance(e,t,i){if(this._activeInstantiations.has(e))throw new Error(`illegal state - RECURSIVELY instantiating service '${e}'`);this._activeInstantiations.add(e);try{return this._createAndCacheServiceInstance(e,t,i)}finally{this._activeInstantiations.delete(e)}}_createAndCacheServiceInstance(e,t,i){var r;const o=new XIe(l=>l.id.toString());let s=0;const a=[{id:e,desc:t,_trace:i}];for(;a.length;){const l=a.pop();if(o.lookupOrInsertNode(l),s++>1e3)throw new PIe(o);for(const u of Mh.getServiceDependencies(l.desc.ctor)){const c=this._getServiceInstanceOrDescriptor(u.id);if(c||this._throwIfStrict(`[createInstance] ${e} depends on ${u.id} which is NOT registered.`,!0),(r=this._globalGraph)===null||r===void 0||r.insertEdge(String(l.id),String(u.id)),c instanceof Km){const d={id:u.id,desc:c,_trace:l._trace.branch(u.id,!0)};o.insertEdge(l,d),a.push(d)}}}for(;;){const l=o.roots();if(l.length===0){if(!o.isEmpty())throw new PIe(o);break}for(const{data:u}of l){if(this._getServiceInstanceOrDescriptor(u.id)instanceof Km){const d=this._createServiceInstanceWithOwner(u.id,u.desc.ctor,u.desc.staticArguments,u.desc.supportsDelayedInstantiation,u._trace);this._setServiceInstance(u.id,d)}o.removeNode(u)}}return this._getServiceInstanceOrDescriptor(e)}_createServiceInstanceWithOwner(e,t,i=[],r,o){if(this._services.get(e)instanceof Km)return this._createServiceInstance(e,t,i,r,o);if(this._parent)return this._parent._createServiceInstanceWithOwner(e,t,i,r,o);throw new Error(`illegalState - creating UNKNOWN service instance ${t.name}`)}_createServiceInstance(e,t,i=[],r,o){if(r){const s=new JA(void 0,this._strict,this,this._enableTracing);s._globalGraphImplicitDependency=String(e);const a=new Map,l=new nmt(()=>{const u=s._createInstance(t,i,o);for(const[c,d]of a){const h=u[c];if(typeof h=="function")for(const m of d)m.disposable=h.apply(u,m.listener)}return a.clear(),u});return new Proxy(Object.create(null),{get(u,c){if(!l.isInitialized&&typeof c=="string"&&(c.startsWith("onDid")||c.startsWith("onWill"))){let m=a.get(c);return m||(m=new ja,a.set(c,m)),(g,b,v)=>{if(l.isInitialized)return l.value[c](g,b,v);{const C={listener:[g,b,v],disposable:void 0},S=m.push(C);return jt(()=>{var _;S(),(_=C.disposable)===null||_===void 0||_.dispose()})}}}if(c in u)return u[c];const d=l.value;let h=d[c];return typeof h!="function"||(h=h.bind(d),u[c]=h),h},set(u,c,d){return l.value[c]=d,!0},getPrototypeOf(u){return t.prototype}})}else return this._createInstance(t,i,o)}_throwIfStrict(e,t){if(this._strict)throw new Error(e)}}class Yl{static traceInvocation(e,t){return e?new Yl(2,t.name||new Error().stack.split(` +`)}findCycleSlow(){for(const[e,t]of this._nodes){const i=new Set([e]),r=this._findCycle(t,i);if(r)return r}}_findCycle(e,t){for(const[i,r]of e.outgoing){if(t.has(i))return[...t,i].join(" -> ");t.add(i);const o=this._findCycle(r,t);if(o)return o;t.delete(i)}}}const O3t=!1;class PFe extends Error{constructor(e){var t;super("cyclic dependency between services"),this.message=(t=e.findCycleSlow())!==null&&t!==void 0?t:`UNABLE to detect cycle, dumping graph: +${e.toString()}`}}class JV{constructor(e=new DD,t=!1,i,r=O3t){var o;this._services=e,this._strict=t,this._parent=i,this._enableTracing=r,this._activeInstantiations=new Set,this._services.set($t,this),this._globalGraph=r?(o=i==null?void 0:i._globalGraph)!==null&&o!==void 0?o:new XFe(s=>s):void 0}createChild(e){return new JV(e,this._strict,this,this._enableTracing)}invokeFunction(e,...t){const i=Yl.traceInvocation(this._enableTracing,e);let r=!1;try{return e({get:s=>{if(r)throw RH("service accessor is only valid during the invocation of its target method");const a=this._getOrCreateServiceInstance(s,i);if(!a)throw new Error(`[invokeFunction] unknown service '${s}'`);return a}},...t)}finally{r=!0,i.stop()}}createInstance(e,...t){let i,r;return e instanceof Km?(i=Yl.traceCreation(this._enableTracing,e.ctor),r=this._createInstance(e.ctor,e.staticArguments.concat(t),i)):(i=Yl.traceCreation(this._enableTracing,e),r=this._createInstance(e,t,i)),i.stop(),r}_createInstance(e,t=[],i){const r=Nh.getServiceDependencies(e).sort((a,l)=>a.index-l.index),o=[];for(const a of r){const l=this._getOrCreateServiceInstance(a.id,i);l||this._throwIfStrict(`[createInstance] ${e.name} depends on UNKNOWN service ${a.id}.`,!1),o.push(l)}const s=r.length>0?r[0].index:t.length;if(t.length!==s){const a=s-t.length;a>0?t=t.concat(new Array(a)):t=t.slice(0,s)}return Reflect.construct(e,t.concat(o))}_setServiceInstance(e,t){if(this._services.get(e)instanceof Km)this._services.set(e,t);else if(this._parent)this._parent._setServiceInstance(e,t);else throw new Error("illegalState - setting UNKNOWN service instance")}_getServiceInstanceOrDescriptor(e){const t=this._services.get(e);return!t&&this._parent?this._parent._getServiceInstanceOrDescriptor(e):t}_getOrCreateServiceInstance(e,t){this._globalGraph&&this._globalGraphImplicitDependency&&this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(e));const i=this._getServiceInstanceOrDescriptor(e);return i instanceof Km?this._safeCreateAndCacheServiceInstance(e,i,t.branch(e,!0)):(t.branch(e,!1),i)}_safeCreateAndCacheServiceInstance(e,t,i){if(this._activeInstantiations.has(e))throw new Error(`illegal state - RECURSIVELY instantiating service '${e}'`);this._activeInstantiations.add(e);try{return this._createAndCacheServiceInstance(e,t,i)}finally{this._activeInstantiations.delete(e)}}_createAndCacheServiceInstance(e,t,i){var r;const o=new XFe(l=>l.id.toString());let s=0;const a=[{id:e,desc:t,_trace:i}];for(;a.length;){const l=a.pop();if(o.lookupOrInsertNode(l),s++>1e3)throw new PFe(o);for(const u of Nh.getServiceDependencies(l.desc.ctor)){const c=this._getServiceInstanceOrDescriptor(u.id);if(c||this._throwIfStrict(`[createInstance] ${e} depends on ${u.id} which is NOT registered.`,!0),(r=this._globalGraph)===null||r===void 0||r.insertEdge(String(l.id),String(u.id)),c instanceof Km){const d={id:u.id,desc:c,_trace:l._trace.branch(u.id,!0)};o.insertEdge(l,d),a.push(d)}}}for(;;){const l=o.roots();if(l.length===0){if(!o.isEmpty())throw new PFe(o);break}for(const{data:u}of l){if(this._getServiceInstanceOrDescriptor(u.id)instanceof Km){const d=this._createServiceInstanceWithOwner(u.id,u.desc.ctor,u.desc.staticArguments,u.desc.supportsDelayedInstantiation,u._trace);this._setServiceInstance(u.id,d)}o.removeNode(u)}}return this._getServiceInstanceOrDescriptor(e)}_createServiceInstanceWithOwner(e,t,i=[],r,o){if(this._services.get(e)instanceof Km)return this._createServiceInstance(e,t,i,r,o);if(this._parent)return this._parent._createServiceInstanceWithOwner(e,t,i,r,o);throw new Error(`illegalState - creating UNKNOWN service instance ${t.name}`)}_createServiceInstance(e,t,i=[],r,o){if(r){const s=new JV(void 0,this._strict,this,this._enableTracing);s._globalGraphImplicitDependency=String(e);const a=new Map,l=new nmt(()=>{const u=s._createInstance(t,i,o);for(const[c,d]of a){const h=u[c];if(typeof h=="function")for(const m of d)m.disposable=h.apply(u,m.listener)}return a.clear(),u});return new Proxy(Object.create(null),{get(u,c){if(!l.isInitialized&&typeof c=="string"&&(c.startsWith("onDid")||c.startsWith("onWill"))){let m=a.get(c);return m||(m=new ja,a.set(c,m)),(g,b,y)=>{if(l.isInitialized)return l.value[c](g,b,y);{const C={listener:[g,b,y],disposable:void 0},w=m.push(C);return jt(()=>{var L;w(),(L=C.disposable)===null||L===void 0||L.dispose()})}}}if(c in u)return u[c];const d=l.value;let h=d[c];return typeof h!="function"||(h=h.bind(d),u[c]=h),h},set(u,c,d){return l.value[c]=d,!0},getPrototypeOf(u){return t.prototype}})}else return this._createInstance(t,i,o)}_throwIfStrict(e,t){if(this._strict)throw new Error(e)}}class Yl{static traceInvocation(e,t){return e?new Yl(2,t.name||new Error().stack.split(` `).slice(3,4).join(` `)):Yl._None}static traceCreation(e,t){return e?new Yl(1,t.name):Yl._None}constructor(e,t){this.type=e,this.name=t,this._start=Date.now(),this._dep=[]}branch(e,t){const i=new Yl(3,e.toString());return this._dep.push([e,t,i]),i}stop(){const e=Date.now()-this._start;Yl._totals+=e;let t=!1;function i(o,s){const a=[],l=new Array(o+1).join(" ");for(const[u,c,d]of s._dep)if(c&&d){t=!0,a.push(`${l}CREATES -> ${u}`);const h=i(o+1,d);h&&a.push(h)}else a.push(`${l}uses -> ${u}`);return a.join(` `)}const r=[`${this.type===1?"CREATE":"CALL"} ${this.name}`,`${i(1,this)}`,`DONE, took ${e.toFixed(2)}ms (grand total ${Yl._totals.toFixed(2)}ms)`];(e>2||t)&&Yl.all.add(r.join(` -`))}}Yl.all=new Set,Yl._None=new class extends Yl{constructor(){super(0,null)}stop(){}branch(){return this}},Yl._totals=0;const B3t=new Set([wn.inMemory,wn.vscodeSourceControl,wn.walkThrough,wn.walkThroughSnippet,wn.vscodeChatCodeBlock]);class z3t{constructor(){this._byResource=new to,this._byOwner=new Map}set(e,t,i){let r=this._byResource.get(e);r||(r=new Map,this._byResource.set(e,r)),r.set(t,i);let o=this._byOwner.get(t);o||(o=new to,this._byOwner.set(t,o)),o.set(e,i)}get(e,t){const i=this._byResource.get(e);return i==null?void 0:i.get(t)}delete(e,t){let i=!1,r=!1;const o=this._byResource.get(e);o&&(i=o.delete(t));const s=this._byOwner.get(t);if(s&&(r=s.delete(e)),i!==r)throw new Error("illegal state");return i&&r}values(e){var t,i,r,o;return typeof e=="string"?(i=(t=this._byOwner.get(e))===null||t===void 0?void 0:t.values())!==null&&i!==void 0?i:Qn.empty():en.isUri(e)?(o=(r=this._byResource.get(e))===null||r===void 0?void 0:r.values())!==null&&o!==void 0?o:Qn.empty():Qn.map(Qn.concat(...this._byOwner.values()),s=>s[1])}}class H3t{constructor(e){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=new to,this._service=e,this._subscription=e.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(e){for(const t of e){const i=this._data.get(t);i&&this._substract(i);const r=this._resourceStats(t);this._add(r),this._data.set(t,r)}}_resourceStats(e){const t={errors:0,warnings:0,infos:0,unknowns:0};if(B3t.has(e.scheme))return t;for(const{severity:i}of this._service.read({resource:e}))i===Rr.Error?t.errors+=1:i===Rr.Warning?t.warnings+=1:i===Rr.Info?t.infos+=1:t.unknowns+=1;return t}_substract(e){this.errors-=e.errors,this.warnings-=e.warnings,this.infos-=e.infos,this.unknowns-=e.unknowns}_add(e){this.errors+=e.errors,this.warnings+=e.warnings,this.infos+=e.infos,this.unknowns+=e.unknowns}}class w1{constructor(){this._onMarkerChanged=new Rbe({delay:0,merge:w1._merge}),this.onMarkerChanged=this._onMarkerChanged.event,this._data=new z3t,this._stats=new H3t(this)}dispose(){this._stats.dispose(),this._onMarkerChanged.dispose()}remove(e,t){for(const i of t||[])this.changeOne(e,i,[])}changeOne(e,t,i){if(h1e(i))this._data.delete(t,e)&&this._onMarkerChanged.fire([t]);else{const r=[];for(const o of i){const s=w1._toMarker(e,t,o);s&&r.push(s)}this._data.set(t,e,r),this._onMarkerChanged.fire([t])}}static _toMarker(e,t,i){let{code:r,severity:o,message:s,source:a,startLineNumber:l,startColumn:u,endLineNumber:c,endColumn:d,relatedInformation:h,tags:m}=i;if(s)return l=l>0?l:1,u=u>0?u:1,c=c>=l?c:l,d=d>0?d:u,{resource:t,owner:e,code:r,severity:o,message:s,source:a,startLineNumber:l,startColumn:u,endLineNumber:c,endColumn:d,relatedInformation:h,tags:m}}changeAll(e,t){const i=[],r=this._data.values(e);if(r)for(const o of r){const s=Qn.first(o);s&&(i.push(s.resource),this._data.delete(s.resource,e))}if(ga(t)){const o=new to;for(const{resource:s,marker:a}of t){const l=w1._toMarker(e,s,a);if(!l)continue;const u=o.get(s);u?u.push(l):(o.set(s,[l]),i.push(s))}for(const[s,a]of o)this._data.set(s,e,a)}i.length>0&&this._onMarkerChanged.fire(i)}read(e=Object.create(null)){let{owner:t,resource:i,severities:r,take:o}=e;if((!o||o<0)&&(o=-1),t&&i){const s=this._data.get(i,t);if(s){const a=[];for(const l of s)if(w1._accept(l,r)){const u=a.push(l);if(o>0&&u===o)break}return a}else return[]}else if(!t&&!i){const s=[];for(const a of this._data.values())for(const l of a)if(w1._accept(l,r)){const u=s.push(l);if(o>0&&u===o)return s}return s}else{const s=this._data.values(i??t),a=[];for(const l of s)for(const u of l)if(w1._accept(u,r)){const c=a.push(u);if(o>0&&c===o)return a}return a}}static _accept(e,t){return t===void 0||(t&e.severity)===e.severity}static _merge(e){const t=new to;for(const i of e)for(const r of i)t.set(r,!0);return Array.from(t.keys())}}class Y3t extends Ie{constructor(){super(...arguments),this._configurationModel=new ia}get configurationModel(){return this._configurationModel}reload(){return this.resetConfigurationModel(),this.configurationModel}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=new ia;const e=Do.as(Eh.Configuration).getConfigurationProperties();this.updateConfigurationModel(Object.keys(e),e)}updateConfigurationModel(e,t){const i=this.getConfigurationDefaultOverrides();for(const r of e){const o=i[r],s=t[r];o!==void 0?this._configurationModel.addValue(r,o):s?this._configurationModel.addValue(r,s.default):this._configurationModel.removeValue(r)}}}class U3t extends Ie{constructor(e,t=[]){super(),this.logger=new lgt([e,...t]),this._register(e.onDidChangeLogLevel(i=>this.setLevel(i)))}get onDidChangeLogLevel(){return this.logger.onDidChangeLogLevel}setLevel(e){this.logger.setLevel(e)}getLevel(){return this.logger.getLevel()}trace(e,...t){this.logger.trace(e,...t)}debug(e,...t){this.logger.debug(e,...t)}info(e,...t){this.logger.info(e,...t)}warn(e,...t){this.logger.warn(e,...t)}error(e,...t){this.logger.error(e,...t)}}var S1=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Rs=function(n,e){return function(t,i){e(t,i,n)}};class K3t{constructor(e){this.disposed=!1,this.model=e,this._onWillDispose=new be}get textEditorModel(){return this.model}dispose(){this.disposed=!0,this._onWillDispose.fire()}}let E$=class{constructor(e){this.modelService=e}createModelReference(e){const t=this.modelService.getModel(e);return t?Promise.resolve(new Hht(new K3t(t))):Promise.reject(new Error("Model not found"))}};E$=S1([Rs(0,xr)],E$);class jA{show(){return jA.NULL_PROGRESS_RUNNER}async showWhile(e,t){await e}}jA.NULL_PROGRESS_RUNNER={done:()=>{},total:()=>{},worked:()=>{}};class J3t{withProgress(e,t,i){return t({report:()=>{}})}}class j3t{constructor(){this.isExtensionDevelopment=!1,this.isBuilt=!1}}class Q3t{async confirm(e){return{confirmed:this.doConfirm(e.message,e.detail),checkboxChecked:!1}}doConfirm(e,t){let i=e;return t&&(i=i+` +`))}}Yl.all=new Set,Yl._None=new class extends Yl{constructor(){super(0,null)}stop(){}branch(){return this}},Yl._totals=0;const B3t=new Set([Sn.inMemory,Sn.vscodeSourceControl,Sn.walkThrough,Sn.walkThroughSnippet,Sn.vscodeChatCodeBlock]);class z3t{constructor(){this._byResource=new to,this._byOwner=new Map}set(e,t,i){let r=this._byResource.get(e);r||(r=new Map,this._byResource.set(e,r)),r.set(t,i);let o=this._byOwner.get(t);o||(o=new to,this._byOwner.set(t,o)),o.set(e,i)}get(e,t){const i=this._byResource.get(e);return i==null?void 0:i.get(t)}delete(e,t){let i=!1,r=!1;const o=this._byResource.get(e);o&&(i=o.delete(t));const s=this._byOwner.get(t);if(s&&(r=s.delete(e)),i!==r)throw new Error("illegal state");return i&&r}values(e){var t,i,r,o;return typeof e=="string"?(i=(t=this._byOwner.get(e))===null||t===void 0?void 0:t.values())!==null&&i!==void 0?i:Qn.empty():en.isUri(e)?(o=(r=this._byResource.get(e))===null||r===void 0?void 0:r.values())!==null&&o!==void 0?o:Qn.empty():Qn.map(Qn.concat(...this._byOwner.values()),s=>s[1])}}class H3t{constructor(e){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=new to,this._service=e,this._subscription=e.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(e){for(const t of e){const i=this._data.get(t);i&&this._substract(i);const r=this._resourceStats(t);this._add(r),this._data.set(t,r)}}_resourceStats(e){const t={errors:0,warnings:0,infos:0,unknowns:0};if(B3t.has(e.scheme))return t;for(const{severity:i}of this._service.read({resource:e}))i===Wr.Error?t.errors+=1:i===Wr.Warning?t.warnings+=1:i===Wr.Info?t.infos+=1:t.unknowns+=1;return t}_substract(e){this.errors-=e.errors,this.warnings-=e.warnings,this.infos-=e.infos,this.unknowns-=e.unknowns}_add(e){this.errors+=e.errors,this.warnings+=e.warnings,this.infos+=e.infos,this.unknowns+=e.unknowns}}class S1{constructor(){this._onMarkerChanged=new Wbe({delay:0,merge:S1._merge}),this.onMarkerChanged=this._onMarkerChanged.event,this._data=new z3t,this._stats=new H3t(this)}dispose(){this._stats.dispose(),this._onMarkerChanged.dispose()}remove(e,t){for(const i of t||[])this.changeOne(e,i,[])}changeOne(e,t,i){if(h1e(i))this._data.delete(t,e)&&this._onMarkerChanged.fire([t]);else{const r=[];for(const o of i){const s=S1._toMarker(e,t,o);s&&r.push(s)}this._data.set(t,e,r),this._onMarkerChanged.fire([t])}}static _toMarker(e,t,i){let{code:r,severity:o,message:s,source:a,startLineNumber:l,startColumn:u,endLineNumber:c,endColumn:d,relatedInformation:h,tags:m}=i;if(s)return l=l>0?l:1,u=u>0?u:1,c=c>=l?c:l,d=d>0?d:u,{resource:t,owner:e,code:r,severity:o,message:s,source:a,startLineNumber:l,startColumn:u,endLineNumber:c,endColumn:d,relatedInformation:h,tags:m}}changeAll(e,t){const i=[],r=this._data.values(e);if(r)for(const o of r){const s=Qn.first(o);s&&(i.push(s.resource),this._data.delete(s.resource,e))}if(ga(t)){const o=new to;for(const{resource:s,marker:a}of t){const l=S1._toMarker(e,s,a);if(!l)continue;const u=o.get(s);u?u.push(l):(o.set(s,[l]),i.push(s))}for(const[s,a]of o)this._data.set(s,e,a)}i.length>0&&this._onMarkerChanged.fire(i)}read(e=Object.create(null)){let{owner:t,resource:i,severities:r,take:o}=e;if((!o||o<0)&&(o=-1),t&&i){const s=this._data.get(i,t);if(s){const a=[];for(const l of s)if(S1._accept(l,r)){const u=a.push(l);if(o>0&&u===o)break}return a}else return[]}else if(!t&&!i){const s=[];for(const a of this._data.values())for(const l of a)if(S1._accept(l,r)){const u=s.push(l);if(o>0&&u===o)return s}return s}else{const s=this._data.values(i??t),a=[];for(const l of s)for(const u of l)if(S1._accept(u,r)){const c=a.push(u);if(o>0&&c===o)return a}return a}}static _accept(e,t){return t===void 0||(t&e.severity)===e.severity}static _merge(e){const t=new to;for(const i of e)for(const r of i)t.set(r,!0);return Array.from(t.keys())}}class Y3t extends Fe{constructor(){super(...arguments),this._configurationModel=new ia}get configurationModel(){return this._configurationModel}reload(){return this.resetConfigurationModel(),this.configurationModel}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=new ia;const e=Do.as(Eh.Configuration).getConfigurationProperties();this.updateConfigurationModel(Object.keys(e),e)}updateConfigurationModel(e,t){const i=this.getConfigurationDefaultOverrides();for(const r of e){const o=i[r],s=t[r];o!==void 0?this._configurationModel.addValue(r,o):s?this._configurationModel.addValue(r,s.default):this._configurationModel.removeValue(r)}}}class U3t extends Fe{constructor(e,t=[]){super(),this.logger=new lgt([e,...t]),this._register(e.onDidChangeLogLevel(i=>this.setLevel(i)))}get onDidChangeLogLevel(){return this.logger.onDidChangeLogLevel}setLevel(e){this.logger.setLevel(e)}getLevel(){return this.logger.getLevel()}trace(e,...t){this.logger.trace(e,...t)}debug(e,...t){this.logger.debug(e,...t)}info(e,...t){this.logger.info(e,...t)}warn(e,...t){this.logger.warn(e,...t)}error(e,...t){this.logger.error(e,...t)}}var w1=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Ws=function(n,e){return function(t,i){e(t,i,n)}};class K3t{constructor(e){this.disposed=!1,this.model=e,this._onWillDispose=new be}get textEditorModel(){return this.model}dispose(){this.disposed=!0,this._onWillDispose.fire()}}let E$=class{constructor(e){this.modelService=e}createModelReference(e){const t=this.modelService.getModel(e);return t?Promise.resolve(new Hht(new K3t(t))):Promise.reject(new Error("Model not found"))}};E$=w1([Ws(0,wr)],E$);class jV{show(){return jV.NULL_PROGRESS_RUNNER}async showWhile(e,t){await e}}jV.NULL_PROGRESS_RUNNER={done:()=>{},total:()=>{},worked:()=>{}};class J3t{withProgress(e,t,i){return t({report:()=>{}})}}class j3t{constructor(){this.isExtensionDevelopment=!1,this.isBuilt=!1}}class Q3t{async confirm(e){return{confirmed:this.doConfirm(e.message,e.detail),checkboxChecked:!1}}doConfirm(e,t){let i=e;return t&&(i=i+` -`+t),Wi.confirm(i)}async prompt(e){var t,i;let r;if(this.doConfirm(e.message,e.detail)){const s=[...(t=e.buttons)!==null&&t!==void 0?t:[]];e.cancelButton&&typeof e.cancelButton!="string"&&typeof e.cancelButton!="boolean"&&s.push(e.cancelButton),r=await((i=s[0])===null||i===void 0?void 0:i.run({checkboxChecked:!1}))}return{result:r}}async error(e,t){await this.prompt({type:oo.Error,message:e,detail:t})}}class Bk{info(e){return this.notify({severity:oo.Info,message:e})}warn(e){return this.notify({severity:oo.Warning,message:e})}error(e){return this.notify({severity:oo.Error,message:e})}notify(e){switch(e.severity){case oo.Error:break;case oo.Warning:break;default:break}return Bk.NO_OP}prompt(e,t,i,r){return Bk.NO_OP}status(e,t){return Ie.None}}Bk.NO_OP=new RSt;let Z$=class{constructor(e){this._onWillExecuteCommand=new be,this._onDidExecuteCommand=new be,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this._instantiationService=e}executeCommand(e,...t){const i=$n.getCommand(e);if(!i)return Promise.reject(new Error(`command '${e}' not found`));try{this._onWillExecuteCommand.fire({commandId:e,args:t});const r=this._instantiationService.invokeFunction.apply(this._instantiationService,[i.handler,...t]);return this._onDidExecuteCommand.fire({commandId:e,args:t}),Promise.resolve(r)}catch(r){return Promise.reject(r)}}};Z$=S1([Rs(0,$t)],Z$);let Ux=class extends IRt{constructor(e,t,i,r,o,s){super(e,t,i,r,o),this._cachedResolver=null,this._dynamicKeybindings=[],this._domNodeListeners=[];const a=m=>{const f=new Je;f.add(Ae(m,ot.KEY_DOWN,g=>{const b=new sr(g);this._dispatch(b,b.target)&&(b.preventDefault(),b.stopPropagation())})),f.add(Ae(m,ot.KEY_UP,g=>{const b=new sr(g);this._singleModifierDispatch(b,b.target)&&b.preventDefault()})),this._domNodeListeners.push(new $3t(m,f))},l=m=>{for(let f=0;f{m.getOption(61)||a(m.getContainerDomNode())},c=m=>{m.getOption(61)||l(m.getContainerDomNode())};this._register(s.onCodeEditorAdd(u)),this._register(s.onCodeEditorRemove(c)),s.listCodeEditors().forEach(u);const d=m=>{a(m.getContainerDomNode())},h=m=>{l(m.getContainerDomNode())};this._register(s.onDiffEditorAdd(d)),this._register(s.onDiffEditorRemove(h)),s.listDiffEditors().forEach(d)}addDynamicKeybinding(e,t,i,r){return _d($n.registerCommand(e,i),this.addDynamicKeybindings([{keybinding:t,command:e,when:r}]))}addDynamicKeybindings(e){const t=e.map(i=>{var r;return{keybinding:WH(i.keybinding,ru),command:(r=i.command)!==null&&r!==void 0?r:null,commandArgs:i.commandArgs,when:i.when,weight1:1e3,weight2:0,extensionId:null,isBuiltinExtension:!1}});return this._dynamicKeybindings=this._dynamicKeybindings.concat(t),this.updateResolver(),jt(()=>{for(let i=0;ithis._log(i))}return this._cachedResolver}_documentHasFocus(){return Wi.document.hasFocus()}_toNormalizedKeybindingItems(e,t){const i=[];let r=0;for(const o of e){const s=o.when||void 0,a=o.keybinding;if(!a)i[r++]=new lIe(void 0,o.command,o.commandArgs,s,t,null,!1);else{const l=kk.resolveKeybinding(a,ru);for(const u of l)i[r++]=new lIe(u,o.command,o.commandArgs,s,t,null,!1)}}return i}resolveKeyboardEvent(e){const t=new _g(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,e.keyCode);return new kk([t],ru)}};Ux=S1([Rs(0,ln),Rs(1,Xr),Rs(2,Zl),Rs(3,ko),Rs(4,tl),Rs(5,vi)],Ux);class $3t extends Ie{constructor(e,t){super(),this.domNode=e,this._register(t)}}function OIe(n){return n&&typeof n=="object"&&(!n.overrideIdentifier||typeof n.overrideIdentifier=="string")&&(!n.resource||n.resource instanceof en)}class BIe{constructor(){this._onDidChangeConfiguration=new be,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;const e=new Y3t;this._configuration=new kA(e.reload(),new ia,new ia,new ia),e.dispose()}getValue(e,t){const i=typeof e=="string"?e:void 0,r=OIe(e)?e:OIe(t)?t:{};return this._configuration.getValue(i,r,void 0)}updateValues(e){const t={data:this._configuration.toData()},i=[];for(const r of e){const[o,s]=r;this.getValue(o)!==s&&(this._configuration.updateValue(o,s),i.push(o))}if(i.length>0){const r=new xRt({keys:i,overrides:[]},t,this._configuration);r.source=8,this._onDidChangeConfiguration.fire(r)}return Promise.resolve()}updateValue(e,t,i,r){return this.updateValues([[e,t]])}inspect(e,t={}){return this._configuration.inspect(e,t,void 0)}}let W$=class{constructor(e,t,i){this.configurationService=e,this.modelService=t,this.languageService=i,this._onDidChangeConfiguration=new be,this.configurationService.onDidChangeConfiguration(r=>{this._onDidChangeConfiguration.fire({affectedKeys:r.affectedKeys,affectsConfiguration:(o,s)=>r.affectsConfiguration(s)})})}getValue(e,t,i){const r=ye.isIPosition(t)?t:null,o=r?typeof i=="string"?i:void 0:typeof t=="string"?t:void 0,s=e?this.getLanguage(e,r):void 0;return typeof o>"u"?this.configurationService.getValue({resource:e,overrideIdentifier:s}):this.configurationService.getValue(o,{resource:e,overrideIdentifier:s})}getLanguage(e,t){const i=this.modelService.getModel(e);return i?t?i.getLanguageIdAtPosition(t.lineNumber,t.column):i.getLanguageId():this.languageService.guessLanguageIdByFilepathOrFirstLine(e)}};W$=S1([Rs(0,Pn),Rs(1,xr),Rs(2,vr)],W$);let R$=class{constructor(e){this.configurationService=e}getEOL(e,t){const i=this.configurationService.getValue("files.eol",{overrideIdentifier:t,resource:e});return i&&typeof i=="string"&&i!=="auto"?i:Ja||On?` +`+t),Zi.confirm(i)}async prompt(e){var t,i;let r;if(this.doConfirm(e.message,e.detail)){const s=[...(t=e.buttons)!==null&&t!==void 0?t:[]];e.cancelButton&&typeof e.cancelButton!="string"&&typeof e.cancelButton!="boolean"&&s.push(e.cancelButton),r=await((i=s[0])===null||i===void 0?void 0:i.run({checkboxChecked:!1}))}return{result:r}}async error(e,t){await this.prompt({type:oo.Error,message:e,detail:t})}}class BM{info(e){return this.notify({severity:oo.Info,message:e})}warn(e){return this.notify({severity:oo.Warning,message:e})}error(e){return this.notify({severity:oo.Error,message:e})}notify(e){switch(e.severity){case oo.Error:break;case oo.Warning:break;default:break}return BM.NO_OP}prompt(e,t,i,r){return BM.NO_OP}status(e,t){return Fe.None}}BM.NO_OP=new Wwt;let R$=class{constructor(e){this._onWillExecuteCommand=new be,this._onDidExecuteCommand=new be,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this._instantiationService=e}executeCommand(e,...t){const i=$n.getCommand(e);if(!i)return Promise.reject(new Error(`command '${e}' not found`));try{this._onWillExecuteCommand.fire({commandId:e,args:t});const r=this._instantiationService.invokeFunction.apply(this._instantiationService,[i.handler,...t]);return this._onDidExecuteCommand.fire({commandId:e,args:t}),Promise.resolve(r)}catch(r){return Promise.reject(r)}}};R$=w1([Ws(0,$t)],R$);let Ux=class extends FWt{constructor(e,t,i,r,o,s){super(e,t,i,r,o),this._cachedResolver=null,this._dynamicKeybindings=[],this._domNodeListeners=[];const a=m=>{const f=new Je;f.add(Ve(m,ot.KEY_DOWN,g=>{const b=new or(g);this._dispatch(b,b.target)&&(b.preventDefault(),b.stopPropagation())})),f.add(Ve(m,ot.KEY_UP,g=>{const b=new or(g);this._singleModifierDispatch(b,b.target)&&b.preventDefault()})),this._domNodeListeners.push(new $3t(m,f))},l=m=>{for(let f=0;f{m.getOption(61)||a(m.getContainerDomNode())},c=m=>{m.getOption(61)||l(m.getContainerDomNode())};this._register(s.onCodeEditorAdd(u)),this._register(s.onCodeEditorRemove(c)),s.listCodeEditors().forEach(u);const d=m=>{a(m.getContainerDomNode())},h=m=>{l(m.getContainerDomNode())};this._register(s.onDiffEditorAdd(d)),this._register(s.onDiffEditorRemove(h)),s.listDiffEditors().forEach(d)}addDynamicKeybinding(e,t,i,r){return _d($n.registerCommand(e,i),this.addDynamicKeybindings([{keybinding:t,command:e,when:r}]))}addDynamicKeybindings(e){const t=e.map(i=>{var r;return{keybinding:ZH(i.keybinding,ru),command:(r=i.command)!==null&&r!==void 0?r:null,commandArgs:i.commandArgs,when:i.when,weight1:1e3,weight2:0,extensionId:null,isBuiltinExtension:!1}});return this._dynamicKeybindings=this._dynamicKeybindings.concat(t),this.updateResolver(),jt(()=>{for(let i=0;ithis._log(i))}return this._cachedResolver}_documentHasFocus(){return Zi.document.hasFocus()}_toNormalizedKeybindingItems(e,t){const i=[];let r=0;for(const o of e){const s=o.when||void 0,a=o.keybinding;if(!a)i[r++]=new lFe(void 0,o.command,o.commandArgs,s,t,null,!1);else{const l=MM.resolveKeybinding(a,ru);for(const u of l)i[r++]=new lFe(u,o.command,o.commandArgs,s,t,null,!1)}}return i}resolveKeyboardEvent(e){const t=new Lg(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,e.keyCode);return new MM([t],ru)}};Ux=w1([Ws(0,ln),Ws(1,Xr),Ws(2,Rl),Ws(3,Mo),Ws(4,tl),Ws(5,yi)],Ux);class $3t extends Fe{constructor(e,t){super(),this.domNode=e,this._register(t)}}function OFe(n){return n&&typeof n=="object"&&(!n.overrideIdentifier||typeof n.overrideIdentifier=="string")&&(!n.resource||n.resource instanceof en)}class BFe{constructor(){this._onDidChangeConfiguration=new be,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;const e=new Y3t;this._configuration=new MV(e.reload(),new ia,new ia,new ia),e.dispose()}getValue(e,t){const i=typeof e=="string"?e:void 0,r=OFe(e)?e:OFe(t)?t:{};return this._configuration.getValue(i,r,void 0)}updateValues(e){const t={data:this._configuration.toData()},i=[];for(const r of e){const[o,s]=r;this.getValue(o)!==s&&(this._configuration.updateValue(o,s),i.push(o))}if(i.length>0){const r=new xWt({keys:i,overrides:[]},t,this._configuration);r.source=8,this._onDidChangeConfiguration.fire(r)}return Promise.resolve()}updateValue(e,t,i,r){return this.updateValues([[e,t]])}inspect(e,t={}){return this._configuration.inspect(e,t,void 0)}}let Z$=class{constructor(e,t,i){this.configurationService=e,this.modelService=t,this.languageService=i,this._onDidChangeConfiguration=new be,this.configurationService.onDidChangeConfiguration(r=>{this._onDidChangeConfiguration.fire({affectedKeys:r.affectedKeys,affectsConfiguration:(o,s)=>r.affectsConfiguration(s)})})}getValue(e,t,i){const r=ve.isIPosition(t)?t:null,o=r?typeof i=="string"?i:void 0:typeof t=="string"?t:void 0,s=e?this.getLanguage(e,r):void 0;return typeof o>"u"?this.configurationService.getValue({resource:e,overrideIdentifier:s}):this.configurationService.getValue(o,{resource:e,overrideIdentifier:s})}getLanguage(e,t){const i=this.modelService.getModel(e);return i?t?i.getLanguageIdAtPosition(t.lineNumber,t.column):i.getLanguageId():this.languageService.guessLanguageIdByFilepathOrFirstLine(e)}};Z$=w1([Ws(0,Pn),Ws(1,wr),Ws(2,br)],Z$);let W$=class{constructor(e){this.configurationService=e}getEOL(e,t){const i=this.configurationService.getValue("files.eol",{overrideIdentifier:t,resource:e});return i&&typeof i=="string"&&i!=="auto"?i:Ja||On?` `:`\r -`}};R$=S1([Rs(0,Pn)],R$);class q3t{publicLog2(){}}class zk{constructor(){const e=en.from({scheme:zk.SCHEME,authority:"model",path:"/"});this.workspace={id:_Se,folders:[new gFt({uri:e,name:"",index:0})]}}getWorkspace(){return this.workspace}getWorkspaceFolder(e){return e&&e.scheme===zk.SCHEME?this.workspace.folders[0]:null}}zk.SCHEME="inmemory";function QA(n,e,t){if(!e||!(n instanceof BIe))return;const i=[];Object.keys(e).forEach(r=>{WFt(r)&&i.push([`editor.${r}`,e[r]]),t&&RFt(r)&&i.push([`diffEditor.${r}`,e[r]])}),i.length>0&&n.updateValues(i)}let V$=class{constructor(e){this._modelService=e}hasPreviewHandler(){return!1}async apply(e,t){const i=Array.isArray(e)?e:qU.convert(e),r=new Map;for(const a of i){if(!(a instanceof N0))throw new Error("bad edit - only text edits are supported");const l=this._modelService.getModel(a.resource);if(!l)throw new Error("bad edit - model not found");if(typeof a.versionId=="number"&&l.getVersionId()!==a.versionId)throw new Error("bad state - model changed in the meantime");let u=r.get(l);u||(u=[],r.set(l,u)),u.push(Cr.replaceMove(J.lift(a.textEdit.range),a.textEdit.text))}let o=0,s=0;for(const[a,l]of r)a.pushStackElement(),a.pushEditOperations([],l,()=>[]),a.pushStackElement(),s+=1,o+=l.length;return{ariaSummary:pS(XQ.bulkEditServiceSummary,o,s),isApplied:o>0}}};V$=S1([Rs(0,xr)],V$);class eVt{getUriLabel(e,t){return e.scheme==="file"?e.fsPath:e.path}getUriBasenameLabel(e){return Hc(e)}}let A$=class extends vRt{constructor(e,t){super(e),this._codeEditorService=t}showContextView(e,t,i){if(!t){const r=this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor();r&&(t=r.getContainerDomNode())}return super.showContextView(e,t,i)}};A$=S1([Rs(0,p1),Rs(1,vi)],A$);class tVt{constructor(){this._neverEmitter=new be,this.onDidChangeTrust=this._neverEmitter.event}isWorkspaceTrusted(){return!0}}class nVt extends Tk{constructor(){super()}}class iVt extends U3t{constructor(){super(new agt)}}let G$=class extends i${constructor(e,t,i,r,o,s){super(e,t,i,r,o,s),this.configure({blockMouse:!1})}};G$=S1([Rs(0,Zl),Rs(1,ko),Rs(2,pp),Rs(3,Bi),Rs(4,Gu),Rs(5,ln)],G$);class rVt{async playSignal(e,t){}}qn(Pn,BIe,0),qn(DJ,W$,0),qn(k2e,R$,0),qn(Ry,zk,0),qn(ex,eVt,0),qn(Zl,q3t,0),qn(kQ,Q3t,0),qn(MK,j3t,0),qn(ko,Bk,0),qn(If,w1,0),qn(vr,nVt,0),qn(zd,D3t,0),qn(tl,iVt,0),qn(xr,VA,0),qn(s6,u$,0),qn(ln,T$,0),qn(tSe,J3t,0),qn(M0,jA,0),qn(wf,w_t,0),qn(Jc,MJ,0),qn(tM,V$,0),qn(fFe,tVt,0),qn(Nl,E$,0),qn(Vc,F$,0),qn(qc,IMt,0),qn(Xr,Z$,0),qn(Bi,Ux,0),qn(Ay,w$,0),qn(pp,A$,0),qn(Bl,l$,0),qn(gp,KA,0),qn(fu,G$,0),qn(Gu,I$,0),qn(_0,rVt,0);var an;(function(n){const e=new DD;for(const[l,u]of I1e())e.set(l,u);const t=new JA(e,!0);e.set($t,t);function i(l){r||s({});const u=e.get(l);if(!u)throw new Error("Missing service "+l);return u instanceof Km?t.invokeFunction(c=>c.get(l)):u}n.get=i;let r=!1;const o=new be;function s(l){if(r)return t;r=!0;for(const[c,d]of I1e())e.get(c)||e.set(c,d);for(const c in l)if(l.hasOwnProperty(c)){const d=Un(c);e.get(d)instanceof Km&&e.set(d,l[c])}const u=tDt();for(const c of u)try{t.createInstance(c)}catch(d){vn(d)}return o.fire(),t}n.initialize=s;function a(l){if(r)return l();const u=new Je,c=u.add(o.event(()=>{c.dispose(),u.add(l())}));return u}n.withServices=a})(an||(an={}));var X$=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},wr=function(n,e){return function(t,i){e(t,i,n)}};let oVt=0,zIe=!1;function sVt(n){if(!n){if(zIe)return;zIe=!0}Xft(n||Wi.document.body)}let $A=class extends w2{constructor(e,t,i,r,o,s,a,l,u,c,d,h){const m={...t};m.ariaLabel=m.ariaLabel||CA.editorViewAccessibleLabel,m.ariaLabel=m.ariaLabel+";"+CA.accessibilityHelpMessage,super(e,m,{},i,r,o,s,l,u,c,d,h),a instanceof Ux?this._standaloneKeybindingService=a:this._standaloneKeybindingService=null,sVt(m.ariaContainerElement),m2t((f,g)=>i.createInstance(jD,f,g,{}))}addCommand(e,t,i){if(!this._standaloneKeybindingService)return null;const r="DYNAMIC_"+ ++oVt,o=Oe.deserialize(i);return this._standaloneKeybindingService.addDynamicKeybinding(r,e,t,o),r}createContextKey(e,t){return this._contextKeyService.createKey(e,t)}addAction(e){if(typeof e.id!="string"||typeof e.label!="string"||typeof e.run!="function")throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");if(!this._standaloneKeybindingService)return Ie.None;const t=e.id,i=e.label,r=Oe.and(Oe.equals("editorId",this.getId()),Oe.deserialize(e.precondition)),o=e.keybindings,s=Oe.and(r,Oe.deserialize(e.keybindingContext)),a=e.contextMenuGroupId||null,l=e.contextMenuOrder||0,u=(m,...f)=>Promise.resolve(e.run(this,...f)),c=new Je,d=this.getId()+":"+t;if(c.add($n.registerCommand(d,u)),a){const m={command:{id:d,title:i},when:r,group:a,order:l};c.add(ss.appendMenuItem(Q.EditorContext,m))}if(Array.isArray(o))for(const m of o)c.add(this._standaloneKeybindingService.addDynamicKeybinding(d,m,u,s));const h=new xye(d,i,i,void 0,r,(...m)=>Promise.resolve(e.run(this,...m)),this._contextKeyService);return this._actions.set(t,h),c.add(jt(()=>{this._actions.delete(t)})),c}_triggerCommand(e,t){if(this._codeEditorService instanceof xA)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(e,t)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(e,t)}};$A=X$([wr(2,$t),wr(3,vi),wr(4,Xr),wr(5,ln),wr(6,Bi),wr(7,jo),wr(8,ko),wr(9,Vc),wr(10,tr),wr(11,Zt)],$A);let P$=class extends $A{constructor(e,t,i,r,o,s,a,l,u,c,d,h,m,f,g){const b={...t};QA(c,b,!1);const v=l.registerEditorContainer(e);typeof b.theme=="string"&&l.setTheme(b.theme),typeof b.autoDetectHighContrast<"u"&&l.setAutoDetectHighContrast(!!b.autoDetectHighContrast);const C=b.model;delete b.model,super(e,b,i,r,o,s,a,l,u,d,f,g),this._configurationService=c,this._standaloneThemeService=l,this._register(v);let S;if(typeof C>"u"){const x=m.getLanguageIdByMimeType(b.language)||b.language||Pu;S=HIe(h,m,b.value||"",x,void 0),this._ownsModel=!0}else S=C,this._ownsModel=!1;if(this._attachModel(S),S){const x={oldModelUrl:null,newModelUrl:S.uri};this._onDidChangeModel.fire(x)}}dispose(){super.dispose()}updateOptions(e){QA(this._configurationService,e,!1),typeof e.theme=="string"&&this._standaloneThemeService.setTheme(e.theme),typeof e.autoDetectHighContrast<"u"&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_postDetachModelCleanup(e){super._postDetachModelCleanup(e),e&&this._ownsModel&&(e.dispose(),this._ownsModel=!1)}};P$=X$([wr(2,$t),wr(3,vi),wr(4,Xr),wr(5,ln),wr(6,Bi),wr(7,zd),wr(8,ko),wr(9,Pn),wr(10,Vc),wr(11,xr),wr(12,vr),wr(13,tr),wr(14,Zt)],P$);let O$=class extends yp{constructor(e,t,i,r,o,s,a,l,u,c,d,h){const m={...t};QA(l,m,!0);const f=s.registerEditorContainer(e);typeof m.theme=="string"&&s.setTheme(m.theme),typeof m.autoDetectHighContrast<"u"&&s.setAutoDetectHighContrast(!!m.autoDetectHighContrast),super(e,m,{},r,i,o,h,c),this._configurationService=l,this._standaloneThemeService=s,this._register(f)}dispose(){super.dispose()}updateOptions(e){QA(this._configurationService,e,!0),typeof e.theme=="string"&&this._standaloneThemeService.setTheme(e.theme),typeof e.autoDetectHighContrast<"u"&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_createInnerEditor(e,t,i){return e.createInstance($A,t,i)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(e,t,i){return this.getModifiedEditor().addCommand(e,t,i)}createContextKey(e,t){return this.getModifiedEditor().createContextKey(e,t)}addAction(e){return this.getModifiedEditor().addAction(e)}};O$=X$([wr(2,$t),wr(3,ln),wr(4,vi),wr(5,zd),wr(6,ko),wr(7,Pn),wr(8,fu),wr(9,M0),wr(10,gp),wr(11,_0)],O$);function HIe(n,e,t,i,r){if(t=t||"",!i){const o=t.indexOf(` -`);let s=t;return o!==-1&&(s=t.substring(0,o)),YIe(n,t,e.createByFilepathOrFirstLine(r||null,s),r)}return YIe(n,t,e.createById(i),r)}function YIe(n,e,t,i){return n.createModel(e,t,i)}var aVt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},lVt=function(n,e){return function(t,i){e(t,i,n)}};class uVt{constructor(e,t){this.viewModel=e,this.deltaScrollVertical=t}getId(){return this.viewModel}}let qA=class extends Ie{constructor(e,t,i,r){super(),this._container=e,this._overflowWidgetsDomNode=t,this._workbenchUIElementFactory=i,this._instantiationService=r,this._viewModel=ei(this,void 0),this._collapsed=hn(this,s=>{var a;return(a=this._viewModel.read(s))===null||a===void 0?void 0:a.collapsed.read(s)}),this._editorContentHeight=ei(this,500),this.contentHeight=hn(this,s=>(this._collapsed.read(s)?0:this._editorContentHeight.read(s))+this._outerEditorHeight),this._modifiedContentWidth=ei(this,0),this._modifiedWidth=ei(this,0),this._originalContentWidth=ei(this,0),this._originalWidth=ei(this,0),this.maxScroll=hn(this,s=>{const a=this._modifiedContentWidth.read(s)-this._modifiedWidth.read(s),l=this._originalContentWidth.read(s)-this._originalWidth.read(s);return a>l?{maxScroll:a,width:this._modifiedWidth.read(s)}:{maxScroll:l,width:this._originalWidth.read(s)}}),this._elements=Li("div.multiDiffEntry",[Li("div.header@header",[Li("div.header-content",[Li("div.collapse-button@collapseButton"),Li("div.file-path",[Li("div.title.modified.show-file-icons@primaryPath",[]),Li("div.status.deleted@status",["R"]),Li("div.title.original.show-file-icons@secondaryPath",[])]),Li("div.actions@actions")])]),Li("div.editorParent",[Li("div.editorContainer@editor")])]),this.editor=this._register(this._instantiationService.createInstance(yp,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode},{})),this.isModifedFocused=UIe(this.editor.getModifiedEditor()),this.isOriginalFocused=UIe(this.editor.getOriginalEditor()),this.isFocused=hn(this,s=>this.isModifedFocused.read(s)||this.isOriginalFocused.read(s)),this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.primaryPath)):void 0,this._resourceLabel2=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.secondaryPath)):void 0,this._dataStore=new Je,this._headerHeight=40,this._lastScrollTop=-1,this._isSettingScrollTop=!1;const o=new JR(this._elements.collapseButton,{});this._register(Zn(s=>{o.element.className="",o.icon=this._collapsed.read(s)?ut.chevronRight:ut.chevronDown})),this._register(o.onDidClick(()=>{var s;(s=this._viewModel.get())===null||s===void 0||s.collapsed.set(!this._collapsed.get(),void 0)})),this._register(Zn(s=>{this._elements.editor.style.display=this._collapsed.read(s)?"none":"block"})),this._register(this.editor.getModifiedEditor().onDidLayoutChange(s=>{const a=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(a,void 0)})),this._register(this.editor.getOriginalEditor().onDidLayoutChange(s=>{const a=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(a,void 0)})),this._register(this.editor.onDidContentSizeChange(s=>{nR(a=>{this._editorContentHeight.set(s.contentHeight,a),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),a),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),a)})})),this._register(this.editor.getOriginalEditor().onDidScrollChange(s=>{if(this._isSettingScrollTop||!s.scrollTopChanged||!this._data)return;const a=s.scrollTop-this._lastScrollTop;this._data.deltaScrollVertical(a)})),this._register(Zn(s=>{const a=this.isFocused.read(s);this._elements.root.classList.toggle("focused",a)})),this._container.appendChild(this._elements.root),this._outerEditorHeight=this._headerHeight,this._register(this._instantiationService.createInstance(AR,this._elements.actions,Q.MultiDiffEditorFileToolbar,{actionRunner:this._register(new rSe(()=>{var s;return(s=this._viewModel.get())===null||s===void 0?void 0:s.modifiedUri})),menuOptions:{shouldForwardArgs:!0},toolbarOptions:{primaryGroup:s=>s.startsWith("navigation")},actionViewItemProvider:(s,a)=>uSe(r,s,a)}))}setScrollLeft(e){this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get()?this.editor.getModifiedEditor().setScrollLeft(e):this.editor.getOriginalEditor().setScrollLeft(e)}setData(e){this._data=e;function t(r){return{...r,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0},scrollbar:{vertical:"hidden",horizontal:"hidden",handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0,overviewRulerBorder:!1}}const i=e.viewModel.entry.value;i.onOptionsDidChange&&this._dataStore.add(i.onOptionsDidChange(()=>{var r;this.editor.updateOptions(t((r=i.options)!==null&&r!==void 0?r:{}))})),nR(r=>{var o,s,a,l;(o=this._resourceLabel)===null||o===void 0||o.setUri((s=e.viewModel.modifiedUri)!==null&&s!==void 0?s:e.viewModel.originalUri,{strikethrough:e.viewModel.modifiedUri===void 0});let u=!1,c=!1,d=!1,h="";e.viewModel.modifiedUri&&e.viewModel.originalUri&&e.viewModel.modifiedUri.path!==e.viewModel.originalUri.path?(h="R",u=!0):e.viewModel.modifiedUri?e.viewModel.originalUri||(h="A",d=!0):(h="D",c=!0),this._elements.status.classList.toggle("renamed",u),this._elements.status.classList.toggle("deleted",c),this._elements.status.classList.toggle("added",d),this._elements.status.innerText=h,(a=this._resourceLabel2)===null||a===void 0||a.setUri(u?e.viewModel.originalUri:void 0,{strikethrough:!0}),this._dataStore.clear(),this._viewModel.set(e.viewModel,r),this.editor.setModel(e.viewModel.diffEditorViewModel,r),this.editor.updateOptions(t((l=i.options)!==null&&l!==void 0?l:{}))})}render(e,t,i,r){this._elements.root.style.visibility="visible",this._elements.root.style.top=`${e.start}px`,this._elements.root.style.height=`${e.length}px`,this._elements.root.style.width=`${t}px`,this._elements.root.style.position="absolute";const o=e.length-this._headerHeight,s=Math.max(0,Math.min(r.start-e.start,o));this._elements.header.style.transform=`translateY(${s}px)`,nR(a=>{this.editor.layout({width:t-2*8-2*1,height:e.length-this._outerEditorHeight})});try{this._isSettingScrollTop=!0,this._lastScrollTop=i,this.editor.getOriginalEditor().setScrollTop(i)}finally{this._isSettingScrollTop=!1}this._elements.header.classList.toggle("shadow",s>0||i>0),this._elements.header.classList.toggle("collapsed",s===o)}hide(){this._elements.root.style.top="-100000px",this._elements.root.style.visibility="hidden"}};qA=aVt([lVt(3,$t)],qA);function UIe(n){return Hi(e=>{const t=new Je;return t.add(n.onDidFocusEditorWidget(()=>e(!0))),t.add(n.onDidBlurEditorWidget(()=>e(!1))),t},()=>n.hasTextFocus())}class cVt{constructor(e){this._create=e,this._unused=new Set,this._used=new Set,this._itemData=new Map}getUnusedObj(e){var t;let i;if(this._unused.size===0)i=this._create(e),this._itemData.set(i,e);else{const r=[...this._unused.values()];i=(t=r.find(o=>this._itemData.get(o).getId()===e.getId()))!==null&&t!==void 0?t:r[0],this._unused.delete(i),this._itemData.set(i,e),i.setData(e)}return this._used.add(i),{object:i,dispose:()=>{this._used.delete(i),this._unused.size>5?i.dispose():this._unused.add(i)}}}dispose(){for(const e of this._used)e.dispose();for(const e of this._unused)e.dispose();this._used.clear(),this._unused.clear()}}var dVt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},KIe=function(n,e){return function(t,i){e(t,i,n)}};let B$=class extends Ie{constructor(e,t,i,r,o,s){super(),this._element=e,this._dimension=t,this._viewModel=i,this._workbenchUIElementFactory=r,this._parentContextKeyService=o,this._parentInstantiationService=s,this._elements=Li("div.monaco-component.multiDiffEditor",[Li("div@content",{style:{overflow:"hidden"}}),Li("div.monaco-editor@overflowWidgetsDomNode",{})]),this._sizeObserver=this._register(new gwe(this._element,void 0)),this._objectPool=this._register(new cVt(l=>{const u=this._instantiationService.createInstance(qA,this._elements.content,this._elements.overflowWidgetsDomNode,this._workbenchUIElementFactory);return u.setData(l),u})),this._scrollable=this._register(new o2({forceIntegerValues:!1,scheduleAtNextAnimationFrame:l=>au(Qt(this._element),l),smoothScrollDuration:100})),this._scrollableElement=this._register(new gW(this._elements.root,{vertical:1,horizontal:1,useShadows:!1},this._scrollable)),this.scrollTop=Hi(this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollTop),this.scrollLeft=Hi(this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollLeft),this._viewItems=L2(this,(l,u)=>{const c=this._viewModel.read(l);return c?c.items.read(l).map(h=>{var m;const f=u.add(new hVt(h,this._objectPool,this.scrollLeft,b=>{this._scrollableElement.setScrollPosition({scrollTop:this._scrollableElement.getScrollPosition().scrollTop+b})})),g=(m=this._lastDocStates)===null||m===void 0?void 0:m[f.getKey()];return g&&zi(b=>{f.setViewState(g,b)}),f}):[]}),this._spaceBetweenPx=0,this._totalHeight=this._viewItems.map(this,(l,u)=>l.reduce((c,d)=>c+d.contentHeight.read(u)+this._spaceBetweenPx,0)),this.activeDiffItem=hn(this,l=>this._viewItems.read(l).find(u=>{var c;return(c=u.template.read(l))===null||c===void 0?void 0:c.isFocused.read(l)})),this.lastActiveDiffItem=l2t((l,u)=>{var c;return(c=this.activeDiffItem.read(l))!==null&&c!==void 0?c:u}),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._parentInstantiationService.createChild(new DD([ln,this._contextKeyService])),this._lastDocStates={},this._contextKeyService.createKey(ne.inMultiDiffEditor.key,!0),this._register(Yc((l,u)=>{const c=this._viewModel.read(l);if(c&&c.contextKeys)for(const[d,h]of Object.entries(c.contextKeys)){const m=this._contextKeyService.createKey(d,void 0);m.set(h),u.add(jt(()=>m.reset()))}}));const a=this._parentContextKeyService.createKey(ne.multiDiffEditorAllCollapsed.key,!1);this._register(Zn(l=>{const u=this._viewModel.read(l);if(u){const c=u.items.read(l).every(d=>d.collapsed.read(l));a.set(c)}})),this._register(Zn(l=>{const u=this.lastActiveDiffItem.read(l);zi(c=>{var d;(d=this._viewModel.read(l))===null||d===void 0||d.activeDiffItem.set(u==null?void 0:u.viewModel,c)})})),this._register(Zn(l=>{const u=this._dimension.read(l);this._sizeObserver.observe(u)})),this._elements.content.style.position="relative",this._register(Zn(l=>{const u=this._sizeObserver.height.read(l);this._elements.root.style.height=`${u}px`;const c=this._totalHeight.read(l);this._elements.content.style.height=`${c}px`;const d=this._sizeObserver.width.read(l);let h=d;const m=this._viewItems.read(l),f=B6(m,g=>g.maxScroll.read(l).maxScroll);if(f){const g=f.maxScroll.read(l);h=d+g.maxScroll}this._scrollableElement.setScrollDimensions({width:d,height:u,scrollHeight:c,scrollWidth:h})})),e.replaceChildren(this._scrollableElement.getDomNode()),this._register(jt(()=>{e.replaceChildren()})),this._register(this._register(Zn(l=>{nR(u=>{this.render(l)})})))}render(e){const t=this.scrollTop.read(e);let i=0,r=0,o=0;const s=this._sizeObserver.height.read(e),a=Dn.ofStartAndLength(t,s),l=this._sizeObserver.width.read(e);for(const u of this._viewItems.read(e)){const c=u.contentHeight.read(e),d=Math.min(c,s),h=Dn.ofStartAndLength(r,d),m=Dn.ofStartAndLength(o,c);if(m.isBefore(a))i-=c-d,u.hide();else if(m.isAfter(a))u.hide();else{const f=Math.max(0,Math.min(a.start-m.start,c-d));i-=f;const g=Dn.ofStartAndLength(t+i,s);u.render(h,f,l,g)}r+=d+this._spaceBetweenPx,o+=c+this._spaceBetweenPx}this._elements.content.style.transform=`translateY(${-(t+i)}px)`}};B$=dVt([KIe(4,ln),KIe(5,$t)],B$);class hVt extends Ie{constructor(e,t,i,r){super(),this.viewModel=e,this._objectPool=t,this._scrollLeft=i,this._deltaScrollVertical=r,this._templateRef=this._register(TD(this,void 0)),this.contentHeight=hn(this,o=>{var s,a,l;return(l=(a=(s=this._templateRef.read(o))===null||s===void 0?void 0:s.object.contentHeight)===null||a===void 0?void 0:a.read(o))!==null&&l!==void 0?l:this.viewModel.lastTemplateData.read(o).contentHeight}),this.maxScroll=hn(this,o=>{var s,a;return(a=(s=this._templateRef.read(o))===null||s===void 0?void 0:s.object.maxScroll.read(o))!==null&&a!==void 0?a:{maxScroll:0,scrollWidth:0}}),this.template=hn(this,o=>{var s;return(s=this._templateRef.read(o))===null||s===void 0?void 0:s.object}),this._isHidden=ei(this,!1),this._register(Zn(o=>{var s;const a=this._scrollLeft.read(o);(s=this._templateRef.read(o))===null||s===void 0||s.object.setScrollLeft(a)})),this._register(Zn(o=>{const s=this._templateRef.read(o);!s||!this._isHidden.read(o)||s.object.isFocused.read(o)||this._clear()}))}dispose(){this._clear(),super.dispose()}toString(){var e;return`VirtualViewItem(${(e=this.viewModel.entry.value.modified)===null||e===void 0?void 0:e.uri.toString()})`}getKey(){return this.viewModel.getKey()}setViewState(e,t){var i;this.viewModel.collapsed.set(e.collapsed,t),this._updateTemplateData(t);const r=this.viewModel.lastTemplateData.get(),o=(i=e.selections)===null||i===void 0?void 0:i.map(Wt.liftSelection);this.viewModel.lastTemplateData.set({...r,selections:o},t);const s=this._templateRef.get();s&&o&&s.object.editor.setSelections(o)}_updateTemplateData(e){var t;const i=this._templateRef.get();i&&this.viewModel.lastTemplateData.set({contentHeight:i.object.contentHeight.get(),selections:(t=i.object.editor.getSelections())!==null&&t!==void 0?t:void 0},e)}_clear(){const e=this._templateRef.get();e&&zi(t=>{this._updateTemplateData(t),e.object.hide(),this._templateRef.set(void 0,t)})}hide(){this._isHidden.set(!0,void 0)}render(e,t,i,r){this._isHidden.set(!1,void 0);let o=this._templateRef.get();if(!o){o=this._objectPool.getUnusedObj(new uVt(this.viewModel,this._deltaScrollVertical)),this._templateRef.set(o,void 0);const s=this.viewModel.lastTemplateData.get().selections;s&&o.object.editor.setSelections(s)}o.object.render(e,i,t,r)}}re("multiDiffEditor.headerBackground",{dark:"#262626",light:"tab.inactiveBackground",hcDark:"tab.inactiveBackground",hcLight:"tab.inactiveBackground"},L("multiDiffEditor.headerBackground","The background color of the diff editor's header")),re("multiDiffEditor.background",{dark:"editorBackground",light:"editorBackground",hcDark:"editorBackground",hcLight:"editorBackground"},L("multiDiffEditor.background","The background color of the multi file diff editor")),re("multiDiffEditor.border",{dark:"sideBarSectionHeader.border",light:"#cccccc",hcDark:"sideBarSectionHeader.border",hcLight:"#cccccc"},L("multiDiffEditor.border","The border color of the multi file diff editor"));var mVt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},fVt=function(n,e){return function(t,i){e(t,i,n)}};let z$=class extends Ie{constructor(e,t,i){super(),this._element=e,this._workbenchUIElementFactory=t,this._instantiationService=i,this._dimension=ei(this,void 0),this._viewModel=ei(this,void 0),this._widgetImpl=L2(this,(r,o)=>(Ad(qA,r),o.add(this._instantiationService.createInstance(Ad(B$,r),this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory)))),this._register(ZD(this._widgetImpl))}};z$=mVt([fVt(2,$t)],z$);function gVt(n,e,t){return an.initialize(t||{}).createInstance(P$,n,e)}function pVt(n){return an.get(vi).onCodeEditorAdd(t=>{n(t)})}function bVt(n){return an.get(vi).onDiffEditorAdd(t=>{n(t)})}function vVt(){return an.get(vi).listCodeEditors()}function yVt(){return an.get(vi).listDiffEditors()}function CVt(n,e,t){return an.initialize(t||{}).createInstance(O$,n,e)}function wVt(n,e){const t=an.initialize(e||{});return new z$(n,{},t)}function SVt(n){if(typeof n.id!="string"||typeof n.run!="function")throw new Error("Invalid command descriptor, `id` and `run` are required properties!");return $n.registerCommand(n.id,n.run)}function xVt(n){if(typeof n.id!="string"||typeof n.label!="string"||typeof n.run!="function")throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");const e=Oe.deserialize(n.precondition),t=(r,...o)=>Ko.runEditorCommand(r,o,e,(s,a,l)=>Promise.resolve(n.run(a,...l))),i=new Je;if(i.add($n.registerCommand(n.id,t)),n.contextMenuGroupId){const r={command:{id:n.id,title:n.label},when:e,group:n.contextMenuGroupId,order:n.contextMenuOrder||0};i.add(ss.appendMenuItem(Q.EditorContext,r))}if(Array.isArray(n.keybindings)){const r=an.get(Bi);if(r instanceof Ux){const o=Oe.and(e,Oe.deserialize(n.keybindingContext));i.add(r.addDynamicKeybindings(n.keybindings.map(s=>({keybinding:s,command:n.id,when:o}))))}}return i}function LVt(n){return JIe([n])}function JIe(n){const e=an.get(Bi);return e instanceof Ux?e.addDynamicKeybindings(n.map(t=>({keybinding:t.keybinding,command:t.command,commandArgs:t.commandArgs,when:Oe.deserialize(t.when)}))):Ie.None}function _Vt(n,e,t){const i=an.get(vr),r=i.getLanguageIdByMimeType(e)||e;return HIe(an.get(xr),i,n,r,t)}function FVt(n,e){const t=an.get(vr),i=t.getLanguageIdByMimeType(e)||e||Pu;n.setLanguage(t.createById(i))}function IVt(n,e,t){n&&an.get(If).changeOne(e,n.uri,t)}function DVt(n){an.get(If).changeAll(n,[])}function MVt(n){return an.get(If).read(n)}function kVt(n){return an.get(If).onMarkerChanged(n)}function NVt(n){return an.get(xr).getModel(n)}function TVt(){return an.get(xr).getModels()}function EVt(n){return an.get(xr).onModelAdded(n)}function ZVt(n){return an.get(xr).onModelRemoved(n)}function WVt(n){return an.get(xr).onModelLanguageChanged(t=>{n({model:t.model,oldLanguage:t.oldLanguageId})})}function RVt(n){return UWt(an.get(xr),an.get(tr),n)}function VVt(n,e){const t=an.get(vr),i=an.get(zd);return BQ.colorizeElement(i,t,n,e).then(()=>{i.registerEditorContainer(n)})}function AVt(n,e,t){const i=an.get(vr);return an.get(zd).registerEditorContainer(Wi.document.body),BQ.colorize(i,n,e,t)}function GVt(n,e,t=4){return an.get(zd).registerEditorContainer(Wi.document.body),BQ.colorizeModelLine(n,e,t)}function XVt(n){const e=bo.get(n);return e||{getInitialState:()=>yD,tokenize:(t,i,r)=>oCe(n,r)}}function PVt(n,e){bo.getOrCreate(e);const t=XVt(e),i=Pm(n),r=[];let o=t.getInitialState();for(let s=0,a=i.length;s{var o;if(!i)return null;const s=(o=t.options)===null||o===void 0?void 0:o.selection;let a;return s&&typeof s.endLineNumber=="number"&&typeof s.endColumn=="number"?a=s:s&&(a={lineNumber:s.startLineNumber,column:s.startColumn}),await n.openCodeEditor(i,t.resource,a)?i:null})}function KVt(){return{create:gVt,getEditors:vVt,getDiffEditors:yVt,onDidCreateEditor:pVt,onDidCreateDiffEditor:bVt,createDiffEditor:CVt,addCommand:SVt,addEditorAction:xVt,addKeybindingRule:LVt,addKeybindingRules:JIe,createModel:_Vt,setModelLanguage:FVt,setModelMarkers:IVt,getModelMarkers:MVt,removeAllMarkers:DVt,onDidChangeMarkers:kVt,getModels:TVt,getModel:NVt,onDidCreateModel:EVt,onWillDisposeModel:ZVt,onDidChangeModelLanguage:WVt,createWebWorker:RVt,colorizeElement:VVt,colorize:AVt,colorizeModelLine:GVt,tokenize:PVt,defineTheme:OVt,setTheme:BVt,remeasureFonts:zVt,registerCommand:HVt,registerLinkOpener:YVt,registerEditorOpener:UVt,AccessibilitySupport:ZK,ContentWidgetPositionPreference:XK,CursorChangeReason:PK,DefaultEndOfLine:OK,EditorAutoIndentStrategy:zK,EditorOption:HK,EndOfLinePreference:YK,EndOfLineSequence:UK,MinimapPosition:iJ,MinimapSectionHeaderStyle:rJ,MouseTargetType:oJ,OverlayWidgetPositionPreference:aJ,OverviewRulerLane:lJ,GlyphMarginLane:KK,RenderLineNumbersType:dJ,RenderMinimap:hJ,ScrollbarVisibility:fJ,ScrollType:mJ,TextEditorCursorBlinkingStyle:CJ,TextEditorCursorStyle:wJ,TrackedRangeStickiness:SJ,WrappingIndent:xJ,InjectedTextCursorStops:jK,PositionAffinity:cJ,ShowLightbulbIconMode:pJ,ConfigurationChangedEvent:J1e,BareFontInfo:sy,FontInfo:d6,TextModelResolvedOptions:FW,FindMatch:KI,ApplyUpdateResult:bI,EditorZoom:Rc,createMultiFileDiffEditor:wVt,EditorType:lD,EditorOptions:Rh}}function JVt(n,e){if(!e||!Array.isArray(e))return!1;for(const t of e)if(!n(t))return!1;return!0}function eG(n,e){return typeof n=="boolean"?n:e}function jIe(n,e){return typeof n=="string"?n:e}function jVt(n){const e={};for(const t of n)e[t]=!0;return e}function QIe(n,e=!1){e&&(n=n.map(function(i){return i.toLowerCase()}));const t=jVt(n);return e?function(i){return t[i.toLowerCase()]!==void 0&&t.hasOwnProperty(i.toLowerCase())}:function(i){return t[i]!==void 0&&t.hasOwnProperty(i)}}function H$(n,e,t){e=e.replace(/@@/g,"");let i=0,r;do r=!1,e=e.replace(/@(\w+)/g,function(s,a){r=!0;let l="";if(typeof n[a]=="string")l=n[a];else if(n[a]&&n[a]instanceof RegExp)l=n[a].source;else throw n[a]===void 0?br(n,"language definition does not contain attribute '"+a+"', used at: "+e):br(n,"attribute reference '"+a+"' must be a string, used at: "+e);return wC(l)?"":"(?:"+l+")"}),i++;while(r&&i<5);e=e.replace(/\x01/g,"@");const o=(n.ignoreCase?"i":"")+(n.unicode?"u":"");if(t&&e.match(/\$[sS](\d\d?)/g)){let a=null,l=null;return u=>(l&&a===u||(a=u,l=new RegExp(QWt(n,e,u),o)),l)}return new RegExp(e,o)}function QVt(n,e,t,i){if(i<0)return n;if(i=100){i=i-100;const r=t.split(".");if(r.unshift(t),i=0&&(i.tokenSubst=!0),typeof t.bracket=="string")if(t.bracket==="@open")i.bracket=1;else if(t.bracket==="@close")i.bracket=-1;else throw br(n,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+e);if(t.next){if(typeof t.next!="string")throw br(n,"the next state must be a string value in rule: "+e);{let r=t.next;if(!/^(@pop|@push|@popall)$/.test(r)&&(r[0]==="@"&&(r=r.substr(1)),r.indexOf("$")<0&&!$Wt(n,f1(n,r,"",[],""))))throw br(n,"the next state '"+t.next+"' is not defined in rule: "+e);i.next=r}}return typeof t.goBack=="number"&&(i.goBack=t.goBack),typeof t.switchTo=="string"&&(i.switchTo=t.switchTo),typeof t.log=="string"&&(i.log=t.log),typeof t.nextEmbedded=="string"&&(i.nextEmbedded=t.nextEmbedded,n.usesEmbedded=!0),i}}else if(Array.isArray(t)){const i=[];for(let r=0,o=t.length;r0&&i[0]==="^",this.name=this.name+": "+i,this.regex=H$(e,"^(?:"+(this.matchOnlyAtLineStart?i.substr(1):i)+")",!0)}setAction(e,t){this.action=Y$(e,this.name,t)}resolveRegex(e){return this.regex instanceof RegExp?this.regex:this.regex(e)}}function $Ie(n,e){if(!e||typeof e!="object")throw new Error("Monarch: expecting a language definition object");const t={};t.languageId=n,t.includeLF=eG(e.includeLF,!1),t.noThrow=!1,t.maxStack=100,t.start=typeof e.start=="string"?e.start:null,t.ignoreCase=eG(e.ignoreCase,!1),t.unicode=eG(e.unicode,!1),t.tokenPostfix=jIe(e.tokenPostfix,"."+t.languageId),t.defaultToken=jIe(e.defaultToken,"source"),t.usesEmbedded=!1;const i=e;i.languageId=n,i.includeLF=t.includeLF,i.ignoreCase=t.ignoreCase,i.unicode=t.unicode,i.noThrow=t.noThrow,i.usesEmbedded=t.usesEmbedded,i.stateNames=e.tokenizer,i.defaultToken=t.defaultToken;function r(s,a,l){for(const u of l){let c=u.include;if(c){if(typeof c!="string")throw br(t,"an 'include' attribute must be a string at: "+s);if(c[0]==="@"&&(c=c.substr(1)),!e.tokenizer[c])throw br(t,"include target '"+c+"' is not defined at: "+s);r(s+"."+c,a,e.tokenizer[c])}else{const d=new qVt(s);if(Array.isArray(u)&&u.length>=1&&u.length<=3)if(d.setRegex(i,u[0]),u.length>=3)if(typeof u[1]=="string")d.setAction(i,{token:u[1],next:u[2]});else if(typeof u[1]=="object"){const h=u[1];h.next=u[2],d.setAction(i,h)}else throw br(t,"a next state as the last element of a rule can only be given if the action is either an object or a string, at: "+s);else d.setAction(i,u[1]);else{if(!u.regex)throw br(t,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+s);u.name&&typeof u.name=="string"&&(d.name=u.name),u.matchOnlyAtStart&&(d.matchOnlyAtLineStart=eG(u.matchOnlyAtLineStart,!1)),d.setRegex(i,u.regex),d.setAction(i,u.action)}a.push(d)}}}if(!e.tokenizer||typeof e.tokenizer!="object")throw br(t,"a language definition must define the 'tokenizer' attribute as an object");t.tokenizer=[];for(const s in e.tokenizer)if(e.tokenizer.hasOwnProperty(s)){t.start||(t.start=s);const a=e.tokenizer[s];t.tokenizer[s]=new Array,r("tokenizer."+s,t.tokenizer[s],a)}if(t.usesEmbedded=i.usesEmbedded,e.brackets){if(!Array.isArray(e.brackets))throw br(t,"the 'brackets' attribute must be defined as an array")}else e.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];const o=[];for(const s of e.brackets){let a=s;if(a&&Array.isArray(a)&&a.length===3&&(a={token:a[2],open:a[0],close:a[1]}),a.open===a.close)throw br(t,"open and close brackets in a 'brackets' attribute must be different: "+a.open+` - hint: use the 'bracket' attribute if matching on equal brackets is required.`);if(typeof a.open=="string"&&typeof a.token=="string"&&typeof a.close=="string")o.push({token:a.token+t.tokenPostfix,open:Xp(t,a.open),close:Xp(t,a.close)});else throw br(t,"every element in the 'brackets' array must be a '{open,close,token}' object or array")}return t.brackets=o,t.noThrow=!0,t}function eAt(n){ZS.registerLanguage(n)}function tAt(){let n=[];return n=n.concat(ZS.getLanguages()),n}function nAt(n){return an.get(vr).languageIdCodec.encodeLanguageId(n)}function iAt(n,e){return an.withServices(()=>{const i=an.get(vr).onDidRequestRichLanguageFeatures(r=>{r===n&&(i.dispose(),e())});return i})}function rAt(n,e){return an.withServices(()=>{const i=an.get(vr).onDidRequestBasicLanguageFeatures(r=>{r===n&&(i.dispose(),e())});return i})}function oAt(n,e){if(!an.get(vr).isRegisteredLanguageId(n))throw new Error(`Cannot set configuration for unknown language ${n}`);return an.get(tr).register(n,e,100)}class sAt{constructor(e,t){this._languageId=e,this._actual=t}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,i){if(typeof this._actual.tokenize=="function")return Hk.adaptTokenize(this._languageId,this._actual,e,i);throw new Error("Not supported!")}tokenizeEncoded(e,t,i){const r=this._actual.tokenizeEncoded(e,i);return new SW(r.tokens,r.endState)}}class Hk{constructor(e,t,i,r){this._languageId=e,this._actual=t,this._languageService=i,this._standaloneThemeService=r}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t){const i=[];let r=0;for(let o=0,s=e.length;o0&&o[s-1]===h)continue;let m=d.startIndex;u===0?m=0:m{const i=await Promise.resolve(e.create());return i?aAt(i)?eDe(n,i):new _k(an.get(vr),an.get(zd),n,$Ie(n,i),an.get(Pn)):null});return bo.registerFactory(n,t)}function cAt(n,e){if(!an.get(vr).isRegisteredLanguageId(n))throw new Error(`Cannot set tokens provider for unknown language ${n}`);return qIe(e)?U$(n,{create:()=>e}):bo.register(n,eDe(n,e))}function dAt(n,e){const t=i=>new _k(an.get(vr),an.get(zd),n,$Ie(n,i),an.get(Pn));return qIe(e)?U$(n,{create:()=>e}):bo.register(n,t(e))}function hAt(n,e){return an.get(Zt).referenceProvider.register(n,e)}function mAt(n,e){return an.get(Zt).renameProvider.register(n,e)}function fAt(n,e){return an.get(Zt).newSymbolNamesProvider.register(n,e)}function gAt(n,e){return an.get(Zt).signatureHelpProvider.register(n,e)}function pAt(n,e){return an.get(Zt).hoverProvider.register(n,{provideHover:(i,r,o)=>{const s=i.getWordAtPosition(r);return Promise.resolve(e.provideHover(i,r,o)).then(a=>{if(a)return!a.range&&s&&(a.range=new J(r.lineNumber,s.startColumn,r.lineNumber,s.endColumn)),a.range||(a.range=new J(r.lineNumber,r.column,r.lineNumber,r.column)),a})}})}function bAt(n,e){return an.get(Zt).documentSymbolProvider.register(n,e)}function vAt(n,e){return an.get(Zt).documentHighlightProvider.register(n,e)}function yAt(n,e){return an.get(Zt).linkedEditingRangeProvider.register(n,e)}function CAt(n,e){return an.get(Zt).definitionProvider.register(n,e)}function wAt(n,e){return an.get(Zt).implementationProvider.register(n,e)}function SAt(n,e){return an.get(Zt).typeDefinitionProvider.register(n,e)}function xAt(n,e){return an.get(Zt).codeLensProvider.register(n,e)}function LAt(n,e,t){return an.get(Zt).codeActionProvider.register(n,{providedCodeActionKinds:t==null?void 0:t.providedCodeActionKinds,documentation:t==null?void 0:t.documentation,provideCodeActions:(r,o,s,a)=>{const u=an.get(If).read({resource:r.uri}).filter(c=>J.areIntersectingOrTouching(c,o));return e.provideCodeActions(r,o,{markers:u,only:s.only,trigger:s.trigger},a)},resolveCodeAction:e.resolveCodeAction})}function _At(n,e){return an.get(Zt).documentFormattingEditProvider.register(n,e)}function FAt(n,e){return an.get(Zt).documentRangeFormattingEditProvider.register(n,e)}function IAt(n,e){return an.get(Zt).onTypeFormattingEditProvider.register(n,e)}function DAt(n,e){return an.get(Zt).linkProvider.register(n,e)}function MAt(n,e){return an.get(Zt).completionProvider.register(n,e)}function kAt(n,e){return an.get(Zt).colorProvider.register(n,e)}function NAt(n,e){return an.get(Zt).foldingRangeProvider.register(n,e)}function TAt(n,e){return an.get(Zt).declarationProvider.register(n,e)}function EAt(n,e){return an.get(Zt).selectionRangeProvider.register(n,e)}function ZAt(n,e){return an.get(Zt).documentSemanticTokensProvider.register(n,e)}function WAt(n,e){return an.get(Zt).documentRangeSemanticTokensProvider.register(n,e)}function RAt(n,e){return an.get(Zt).inlineCompletionsProvider.register(n,e)}function VAt(n,e){return an.get(Zt).inlineEditProvider.register(n,e)}function AAt(n,e){return an.get(Zt).inlayHintsProvider.register(n,e)}function GAt(){return{register:eAt,getLanguages:tAt,onLanguage:iAt,onLanguageEncountered:rAt,getEncodedLanguageId:nAt,setLanguageConfiguration:oAt,setColorMap:uAt,registerTokensProviderFactory:U$,setTokensProvider:cAt,setMonarchTokensProvider:dAt,registerReferenceProvider:hAt,registerRenameProvider:mAt,registerNewSymbolNameProvider:fAt,registerCompletionItemProvider:MAt,registerSignatureHelpProvider:gAt,registerHoverProvider:pAt,registerDocumentSymbolProvider:bAt,registerDocumentHighlightProvider:vAt,registerLinkedEditingRangeProvider:yAt,registerDefinitionProvider:CAt,registerImplementationProvider:wAt,registerTypeDefinitionProvider:SAt,registerCodeLensProvider:xAt,registerCodeActionProvider:LAt,registerDocumentFormattingEditProvider:_At,registerDocumentRangeFormattingEditProvider:FAt,registerOnTypeFormattingEditProvider:IAt,registerLinkProvider:DAt,registerColorProvider:kAt,registerFoldingRangeProvider:NAt,registerDeclarationProvider:TAt,registerSelectionRangeProvider:EAt,registerDocumentSemanticTokensProvider:ZAt,registerDocumentRangeSemanticTokensProvider:WAt,registerInlineCompletionsProvider:RAt,registerInlineEditProvider:VAt,registerInlayHintsProvider:AAt,DocumentHighlightKind:BK,CompletionItemKind:VK,CompletionItemTag:AK,CompletionItemInsertTextRule:RK,SymbolKind:vJ,SymbolTag:yJ,IndentAction:JK,CompletionTriggerKind:GK,SignatureHelpTriggerKind:bJ,InlayHintKind:QK,InlineCompletionTriggerKind:$K,InlineEditTriggerKind:qK,CodeActionTriggerType:WK,NewSymbolNameTag:sJ,PartialAcceptTriggerKind:uJ,FoldingRangeKind:Zd,SelectedSuggestionInfo:jve}}Rh.wrappingIndent.defaultValue=0,Rh.glyphMargin.defaultValue=!1,Rh.autoIndent.defaultValue=3,Rh.overviewRulerLanes.defaultValue=2,uC.setFormatterSelector((n,e,t)=>Promise.resolve(n[0]));const fl=v2e();fl.editor=KVt(),fl.languages=GAt();const XAt=fl.CancellationTokenSource,tDe=fl.Emitter,PAt=fl.KeyCode,OAt=fl.KeyMod,BAt=fl.Position,zAt=fl.Range,HAt=fl.Selection,YAt=fl.SelectionDirection,UAt=fl.MarkerSeverity,KAt=fl.MarkerTag,JAt=fl.Uri,jAt=fl.Token,QAt=fl.editor,tG=fl.languages,K$=globalThis.MonacoEnvironment;(K$!=null&&K$.globalAPI||typeof define=="function"&&define.amd)&&(globalThis.monaco=fl),typeof globalThis.require<"u"&&typeof globalThis.require.config=="function"&&globalThis.require.config({ignoreDuplicateModules:["vscode-languageserver-types","vscode-languageserver-types/main","vscode-languageserver-textdocument","vscode-languageserver-textdocument/main","vscode-nls","vscode-nls/vscode-nls","jsonc-parser","jsonc-parser/main","vscode-uri","vscode-uri/index","vs/basic-languages/typescript/typescript"]});const nDe=Object.freeze(Object.defineProperty({__proto__:null,CancellationTokenSource:XAt,Emitter:tDe,KeyCode:PAt,KeyMod:OAt,MarkerSeverity:UAt,MarkerTag:KAt,Position:BAt,Range:zAt,Selection:HAt,SelectionDirection:YAt,Token:jAt,Uri:JAt,editor:QAt,languages:tG},Symbol.toStringTag,{value:"Module"})),iDe="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2NsYXNzIFFze2NvbnN0cnVjdG9yKCl7dGhpcy5saXN0ZW5lcnM9W10sdGhpcy51bmV4cGVjdGVkRXJyb3JIYW5kbGVyPWZ1bmN0aW9uKHQpe3NldFRpbWVvdXQoKCk9Pnt0aHJvdyB0LnN0YWNrP0FlLmlzRXJyb3JOb1RlbGVtZXRyeSh0KT9uZXcgQWUodC5tZXNzYWdlK2AKCmArdC5zdGFjayk6bmV3IEVycm9yKHQubWVzc2FnZStgCgpgK3Quc3RhY2spOnR9LDApfX1lbWl0KHQpe3RoaXMubGlzdGVuZXJzLmZvckVhY2gobj0+e24odCl9KX1vblVuZXhwZWN0ZWRFcnJvcih0KXt0aGlzLnVuZXhwZWN0ZWRFcnJvckhhbmRsZXIodCksdGhpcy5lbWl0KHQpfW9uVW5leHBlY3RlZEV4dGVybmFsRXJyb3IodCl7dGhpcy51bmV4cGVjdGVkRXJyb3JIYW5kbGVyKHQpfX1jb25zdCBZcz1uZXcgUXM7ZnVuY3Rpb24gSnQoZSl7SnMoZSl8fFlzLm9uVW5leHBlY3RlZEVycm9yKGUpfWZ1bmN0aW9uIFp0KGUpe2lmKGUgaW5zdGFuY2VvZiBFcnJvcil7Y29uc3R7bmFtZTp0LG1lc3NhZ2U6bn09ZSxzPWUuc3RhY2t0cmFjZXx8ZS5zdGFjaztyZXR1cm57JGlzRXJyb3I6ITAsbmFtZTp0LG1lc3NhZ2U6bixzdGFjazpzLG5vVGVsZW1ldHJ5OkFlLmlzRXJyb3JOb1RlbGVtZXRyeShlKX19cmV0dXJuIGV9Y29uc3QgYnQ9IkNhbmNlbGVkIjtmdW5jdGlvbiBKcyhlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIFpzPyEwOmUgaW5zdGFuY2VvZiBFcnJvciYmZS5uYW1lPT09YnQmJmUubWVzc2FnZT09PWJ0fWNsYXNzIFpzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoKXtzdXBlcihidCksdGhpcy5uYW1lPXRoaXMubWVzc2FnZX19Y2xhc3MgQWUgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLm5hbWU9IkNvZGVFeHBlY3RlZEVycm9yIn1zdGF0aWMgZnJvbUVycm9yKHQpe2lmKHQgaW5zdGFuY2VvZiBBZSlyZXR1cm4gdDtjb25zdCBuPW5ldyBBZTtyZXR1cm4gbi5tZXNzYWdlPXQubWVzc2FnZSxuLnN0YWNrPXQuc3RhY2ssbn1zdGF0aWMgaXNFcnJvck5vVGVsZW1ldHJ5KHQpe3JldHVybiB0Lm5hbWU9PT0iQ29kZUV4cGVjdGVkRXJyb3IifX1jbGFzcyBjZSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQpe3N1cGVyKHR8fCJBbiB1bmV4cGVjdGVkIGJ1ZyBvY2N1cnJlZC4iKSxPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxjZS5wcm90b3R5cGUpfX1mdW5jdGlvbiBLcyhlLHQpe2NvbnN0IG49dGhpcztsZXQgcz0hMSxyO3JldHVybiBmdW5jdGlvbigpe2lmKHMpcmV0dXJuIHI7aWYocz0hMCx0KXRyeXtyPWUuYXBwbHkobixhcmd1bWVudHMpfWZpbmFsbHl7dCgpfWVsc2Ugcj1lLmFwcGx5KG4sYXJndW1lbnRzKTtyZXR1cm4gcn19dmFyIFplOyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KF8pe3JldHVybiBfJiZ0eXBlb2YgXz09Im9iamVjdCImJnR5cGVvZiBfW1N5bWJvbC5pdGVyYXRvcl09PSJmdW5jdGlvbiJ9ZS5pcz10O2NvbnN0IG49T2JqZWN0LmZyZWV6ZShbXSk7ZnVuY3Rpb24gcygpe3JldHVybiBufWUuZW1wdHk9cztmdW5jdGlvbipyKF8pe3lpZWxkIF99ZS5zaW5nbGU9cjtmdW5jdGlvbiBpKF8pe3JldHVybiB0KF8pP186cihfKX1lLndyYXA9aTtmdW5jdGlvbiBsKF8pe3JldHVybiBffHxufWUuZnJvbT1sO2Z1bmN0aW9uKm8oXyl7Zm9yKGxldCB3PV8ubGVuZ3RoLTE7dz49MDt3LS0peWllbGQgX1t3XX1lLnJldmVyc2U9bztmdW5jdGlvbiB1KF8pe3JldHVybiFffHxfW1N5bWJvbC5pdGVyYXRvcl0oKS5uZXh0KCkuZG9uZT09PSEwfWUuaXNFbXB0eT11O2Z1bmN0aW9uIGMoXyl7cmV0dXJuIF9bU3ltYm9sLml0ZXJhdG9yXSgpLm5leHQoKS52YWx1ZX1lLmZpcnN0PWM7ZnVuY3Rpb24gaChfLHcpe2Zvcihjb25zdCBwIG9mIF8paWYodyhwKSlyZXR1cm4hMDtyZXR1cm4hMX1lLnNvbWU9aDtmdW5jdGlvbiBmKF8sdyl7Zm9yKGNvbnN0IHAgb2YgXylpZih3KHApKXJldHVybiBwfWUuZmluZD1mO2Z1bmN0aW9uKmQoXyx3KXtmb3IoY29uc3QgcCBvZiBfKXcocCkmJih5aWVsZCBwKX1lLmZpbHRlcj1kO2Z1bmN0aW9uKm0oXyx3KXtsZXQgcD0wO2Zvcihjb25zdCB5IG9mIF8peWllbGQgdyh5LHArKyl9ZS5tYXA9bTtmdW5jdGlvbipnKC4uLl8pe2Zvcihjb25zdCB3IG9mIF8peWllbGQqd31lLmNvbmNhdD1nO2Z1bmN0aW9uIHgoXyx3LHApe2xldCB5PXA7Zm9yKGNvbnN0IFIgb2YgXyl5PXcoeSxSKTtyZXR1cm4geX1lLnJlZHVjZT14O2Z1bmN0aW9uKnYoXyx3LHA9Xy5sZW5ndGgpe2Zvcih3PDAmJih3Kz1fLmxlbmd0aCkscDwwP3ArPV8ubGVuZ3RoOnA+Xy5sZW5ndGgmJihwPV8ubGVuZ3RoKTt3PHA7dysrKXlpZWxkIF9bd119ZS5zbGljZT12O2Z1bmN0aW9uIE4oXyx3PU51bWJlci5QT1NJVElWRV9JTkZJTklUWSl7Y29uc3QgcD1bXTtpZih3PT09MClyZXR1cm5bcCxfXTtjb25zdCB5PV9bU3ltYm9sLml0ZXJhdG9yXSgpO2ZvcihsZXQgUj0wO1I8dztSKyspe2NvbnN0IEU9eS5uZXh0KCk7aWYoRS5kb25lKXJldHVybltwLGUuZW1wdHkoKV07cC5wdXNoKEUudmFsdWUpfXJldHVybltwLHtbU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiB5fX1dfWUuY29uc3VtZT1OO2FzeW5jIGZ1bmN0aW9uIFMoXyl7Y29uc3Qgdz1bXTtmb3IgYXdhaXQoY29uc3QgcCBvZiBfKXcucHVzaChwKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHcpfWUuYXN5bmNUb0FycmF5PVN9KShaZXx8KFplPXt9KSk7ZnVuY3Rpb24gTmEoZSl7cmV0dXJuIGV9ZnVuY3Rpb24gU2EoZSx0KXt9ZnVuY3Rpb24gS3QoZSl7aWYoWmUuaXMoZSkpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IG4gb2YgZSlpZihuKXRyeXtuLmRpc3Bvc2UoKX1jYXRjaChzKXt0LnB1c2gocyl9aWYodC5sZW5ndGg9PT0xKXRocm93IHRbMF07aWYodC5sZW5ndGg+MSl0aHJvdyBuZXcgQWdncmVnYXRlRXJyb3IodCwiRW5jb3VudGVyZWQgZXJyb3JzIHdoaWxlIGRpc3Bvc2luZyBvZiBzdG9yZSIpO3JldHVybiBBcnJheS5pc0FycmF5KGUpP1tdOmV9ZWxzZSBpZihlKXJldHVybiBlLmRpc3Bvc2UoKSxlfWZ1bmN0aW9uIGVyKC4uLmUpe3JldHVybiBLZSgoKT0+S3QoZSkpfWZ1bmN0aW9uIEtlKGUpe3JldHVybntkaXNwb3NlOktzKCgpPT57ZSgpfSl9fWNsYXNzIHlle2NvbnN0cnVjdG9yKCl7dGhpcy5fdG9EaXNwb3NlPW5ldyBTZXQsdGhpcy5faXNEaXNwb3NlZD0hMX1kaXNwb3NlKCl7dGhpcy5faXNEaXNwb3NlZHx8KHRoaXMuX2lzRGlzcG9zZWQ9ITAsdGhpcy5jbGVhcigpKX1nZXQgaXNEaXNwb3NlZCgpe3JldHVybiB0aGlzLl9pc0Rpc3Bvc2VkfWNsZWFyKCl7aWYodGhpcy5fdG9EaXNwb3NlLnNpemUhPT0wKXRyeXtLdCh0aGlzLl90b0Rpc3Bvc2UpfWZpbmFsbHl7dGhpcy5fdG9EaXNwb3NlLmNsZWFyKCl9fWFkZCh0KXtpZighdClyZXR1cm4gdDtpZih0PT09dGhpcyl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCByZWdpc3RlciBhIGRpc3Bvc2FibGUgb24gaXRzZWxmISIpO3JldHVybiB0aGlzLl9pc0Rpc3Bvc2VkP3llLkRJU0FCTEVfRElTUE9TRURfV0FSTklORzp0aGlzLl90b0Rpc3Bvc2UuYWRkKHQpLHR9ZGVsZXRlQW5kTGVhayh0KXt0JiZ0aGlzLl90b0Rpc3Bvc2UuaGFzKHQpJiZ0aGlzLl90b0Rpc3Bvc2UuZGVsZXRlKHQpfX15ZS5ESVNBQkxFX0RJU1BPU0VEX1dBUk5JTkc9ITE7Y2xhc3MgV2V7Y29uc3RydWN0b3IoKXt0aGlzLl9zdG9yZT1uZXcgeWUsdGhpcy5fc3RvcmV9ZGlzcG9zZSgpe3RoaXMuX3N0b3JlLmRpc3Bvc2UoKX1fcmVnaXN0ZXIodCl7aWYodD09PXRoaXMpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgcmVnaXN0ZXIgYSBkaXNwb3NhYmxlIG9uIGl0c2VsZiEiKTtyZXR1cm4gdGhpcy5fc3RvcmUuYWRkKHQpfX1XZS5Ob25lPU9iamVjdC5mcmVlemUoe2Rpc3Bvc2UoKXt9fSk7Y2xhc3MgcXtjb25zdHJ1Y3Rvcih0KXt0aGlzLmVsZW1lbnQ9dCx0aGlzLm5leHQ9cS5VbmRlZmluZWQsdGhpcy5wcmV2PXEuVW5kZWZpbmVkfX1xLlVuZGVmaW5lZD1uZXcgcSh2b2lkIDApO2NsYXNzIHRye2NvbnN0cnVjdG9yKCl7dGhpcy5fZmlyc3Q9cS5VbmRlZmluZWQsdGhpcy5fbGFzdD1xLlVuZGVmaW5lZCx0aGlzLl9zaXplPTB9Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy5fc2l6ZX1pc0VtcHR5KCl7cmV0dXJuIHRoaXMuX2ZpcnN0PT09cS5VbmRlZmluZWR9Y2xlYXIoKXtsZXQgdD10aGlzLl9maXJzdDtmb3IoO3QhPT1xLlVuZGVmaW5lZDspe2NvbnN0IG49dC5uZXh0O3QucHJldj1xLlVuZGVmaW5lZCx0Lm5leHQ9cS5VbmRlZmluZWQsdD1ufXRoaXMuX2ZpcnN0PXEuVW5kZWZpbmVkLHRoaXMuX2xhc3Q9cS5VbmRlZmluZWQsdGhpcy5fc2l6ZT0wfXVuc2hpZnQodCl7cmV0dXJuIHRoaXMuX2luc2VydCh0LCExKX1wdXNoKHQpe3JldHVybiB0aGlzLl9pbnNlcnQodCwhMCl9X2luc2VydCh0LG4pe2NvbnN0IHM9bmV3IHEodCk7aWYodGhpcy5fZmlyc3Q9PT1xLlVuZGVmaW5lZCl0aGlzLl9maXJzdD1zLHRoaXMuX2xhc3Q9cztlbHNlIGlmKG4pe2NvbnN0IGk9dGhpcy5fbGFzdDt0aGlzLl9sYXN0PXMscy5wcmV2PWksaS5uZXh0PXN9ZWxzZXtjb25zdCBpPXRoaXMuX2ZpcnN0O3RoaXMuX2ZpcnN0PXMscy5uZXh0PWksaS5wcmV2PXN9dGhpcy5fc2l6ZSs9MTtsZXQgcj0hMTtyZXR1cm4oKT0+e3J8fChyPSEwLHRoaXMuX3JlbW92ZShzKSl9fXNoaWZ0KCl7aWYodGhpcy5fZmlyc3QhPT1xLlVuZGVmaW5lZCl7Y29uc3QgdD10aGlzLl9maXJzdC5lbGVtZW50O3JldHVybiB0aGlzLl9yZW1vdmUodGhpcy5fZmlyc3QpLHR9fXBvcCgpe2lmKHRoaXMuX2xhc3QhPT1xLlVuZGVmaW5lZCl7Y29uc3QgdD10aGlzLl9sYXN0LmVsZW1lbnQ7cmV0dXJuIHRoaXMuX3JlbW92ZSh0aGlzLl9sYXN0KSx0fX1fcmVtb3ZlKHQpe2lmKHQucHJldiE9PXEuVW5kZWZpbmVkJiZ0Lm5leHQhPT1xLlVuZGVmaW5lZCl7Y29uc3Qgbj10LnByZXY7bi5uZXh0PXQubmV4dCx0Lm5leHQucHJldj1ufWVsc2UgdC5wcmV2PT09cS5VbmRlZmluZWQmJnQubmV4dD09PXEuVW5kZWZpbmVkPyh0aGlzLl9maXJzdD1xLlVuZGVmaW5lZCx0aGlzLl9sYXN0PXEuVW5kZWZpbmVkKTp0Lm5leHQ9PT1xLlVuZGVmaW5lZD8odGhpcy5fbGFzdD10aGlzLl9sYXN0LnByZXYsdGhpcy5fbGFzdC5uZXh0PXEuVW5kZWZpbmVkKTp0LnByZXY9PT1xLlVuZGVmaW5lZCYmKHRoaXMuX2ZpcnN0PXRoaXMuX2ZpcnN0Lm5leHQsdGhpcy5fZmlyc3QucHJldj1xLlVuZGVmaW5lZCk7dGhpcy5fc2l6ZS09MX0qW1N5bWJvbC5pdGVyYXRvcl0oKXtsZXQgdD10aGlzLl9maXJzdDtmb3IoO3QhPT1xLlVuZGVmaW5lZDspeWllbGQgdC5lbGVtZW50LHQ9dC5uZXh0fX1jb25zdCBucj1nbG9iYWxUaGlzLnBlcmZvcm1hbmNlJiZ0eXBlb2YgZ2xvYmFsVGhpcy5wZXJmb3JtYW5jZS5ub3c9PSJmdW5jdGlvbiI7Y2xhc3MgZXR7c3RhdGljIGNyZWF0ZSh0KXtyZXR1cm4gbmV3IGV0KHQpfWNvbnN0cnVjdG9yKHQpe3RoaXMuX25vdz1uciYmdD09PSExP0RhdGUubm93Omdsb2JhbFRoaXMucGVyZm9ybWFuY2Uubm93LmJpbmQoZ2xvYmFsVGhpcy5wZXJmb3JtYW5jZSksdGhpcy5fc3RhcnRUaW1lPXRoaXMuX25vdygpLHRoaXMuX3N0b3BUaW1lPS0xfXN0b3AoKXt0aGlzLl9zdG9wVGltZT10aGlzLl9ub3coKX1yZXNldCgpe3RoaXMuX3N0YXJ0VGltZT10aGlzLl9ub3coKSx0aGlzLl9zdG9wVGltZT0tMX1lbGFwc2VkKCl7cmV0dXJuIHRoaXMuX3N0b3BUaW1lIT09LTE/dGhpcy5fc3RvcFRpbWUtdGhpcy5fc3RhcnRUaW1lOnRoaXMuX25vdygpLXRoaXMuX3N0YXJ0VGltZX19dmFyIF90OyhmdW5jdGlvbihlKXtlLk5vbmU9KCk9PldlLk5vbmU7ZnVuY3Rpb24gdChMLGIpe3JldHVybiBmKEwsKCk9Pnt9LDAsdm9pZCAwLCEwLHZvaWQgMCxiKX1lLmRlZmVyPXQ7ZnVuY3Rpb24gbihMKXtyZXR1cm4oYixDPW51bGwsQSk9PntsZXQgaz0hMSxUO3JldHVybiBUPUwoST0+e2lmKCFrKXJldHVybiBUP1QuZGlzcG9zZSgpOms9ITAsYi5jYWxsKEMsSSl9LG51bGwsQSksayYmVC5kaXNwb3NlKCksVH19ZS5vbmNlPW47ZnVuY3Rpb24gcyhMLGIsQyl7cmV0dXJuIGMoKEEsaz1udWxsLFQpPT5MKEk9PkEuY2FsbChrLGIoSSkpLG51bGwsVCksQyl9ZS5tYXA9cztmdW5jdGlvbiByKEwsYixDKXtyZXR1cm4gYygoQSxrPW51bGwsVCk9PkwoST0+e2IoSSksQS5jYWxsKGssSSl9LG51bGwsVCksQyl9ZS5mb3JFYWNoPXI7ZnVuY3Rpb24gaShMLGIsQyl7cmV0dXJuIGMoKEEsaz1udWxsLFQpPT5MKEk9PmIoSSkmJkEuY2FsbChrLEkpLG51bGwsVCksQyl9ZS5maWx0ZXI9aTtmdW5jdGlvbiBsKEwpe3JldHVybiBMfWUuc2lnbmFsPWw7ZnVuY3Rpb24gbyguLi5MKXtyZXR1cm4oYixDPW51bGwsQSk9Pntjb25zdCBrPWVyKC4uLkwubWFwKFQ9PlQoST0+Yi5jYWxsKEMsSSkpKSk7cmV0dXJuIGgoayxBKX19ZS5hbnk9bztmdW5jdGlvbiB1KEwsYixDLEEpe2xldCBrPUM7cmV0dXJuIHMoTCxUPT4oaz1iKGssVCksayksQSl9ZS5yZWR1Y2U9dTtmdW5jdGlvbiBjKEwsYil7bGV0IEM7Y29uc3QgQT17b25XaWxsQWRkRmlyc3RMaXN0ZW5lcigpe0M9TChrLmZpcmUsayl9LG9uRGlkUmVtb3ZlTGFzdExpc3RlbmVyKCl7Qz09bnVsbHx8Qy5kaXNwb3NlKCl9fSxrPW5ldyByZShBKTtyZXR1cm4gYj09bnVsbHx8Yi5hZGQoayksay5ldmVudH1mdW5jdGlvbiBoKEwsYil7cmV0dXJuIGIgaW5zdGFuY2VvZiBBcnJheT9iLnB1c2goTCk6YiYmYi5hZGQoTCksTH1mdW5jdGlvbiBmKEwsYixDPTEwMCxBPSExLGs9ITEsVCxJKXtsZXQgWCxKLEhlLG10PTAsQ2U7Y29uc3QgdmE9e2xlYWtXYXJuaW5nVGhyZXNob2xkOlQsb25XaWxsQWRkRmlyc3RMaXN0ZW5lcigpe1g9TChMYT0+e210KyssSj1iKEosTGEpLEEmJiFIZSYmKGd0LmZpcmUoSiksSj12b2lkIDApLENlPSgpPT57Y29uc3Qgd2E9SjtKPXZvaWQgMCxIZT12b2lkIDAsKCFBfHxtdD4xKSYmZ3QuZmlyZSh3YSksbXQ9MH0sdHlwZW9mIEM9PSJudW1iZXIiPyhjbGVhclRpbWVvdXQoSGUpLEhlPXNldFRpbWVvdXQoQ2UsQykpOkhlPT09dm9pZCAwJiYoSGU9MCxxdWV1ZU1pY3JvdGFzayhDZSkpfSl9LG9uV2lsbFJlbW92ZUxpc3RlbmVyKCl7ayYmbXQ+MCYmKENlPT1udWxsfHxDZSgpKX0sb25EaWRSZW1vdmVMYXN0TGlzdGVuZXIoKXtDZT12b2lkIDAsWC5kaXNwb3NlKCl9fSxndD1uZXcgcmUodmEpO3JldHVybiBJPT1udWxsfHxJLmFkZChndCksZ3QuZXZlbnR9ZS5kZWJvdW5jZT1mO2Z1bmN0aW9uIGQoTCxiPTAsQyl7cmV0dXJuIGUuZGVib3VuY2UoTCwoQSxrKT0+QT8oQS5wdXNoKGspLEEpOltrXSxiLHZvaWQgMCwhMCx2b2lkIDAsQyl9ZS5hY2N1bXVsYXRlPWQ7ZnVuY3Rpb24gbShMLGI9KEEsayk9PkE9PT1rLEMpe2xldCBBPSEwLGs7cmV0dXJuIGkoTCxUPT57Y29uc3QgST1BfHwhYihULGspO3JldHVybiBBPSExLGs9VCxJfSxDKX1lLmxhdGNoPW07ZnVuY3Rpb24gZyhMLGIsQyl7cmV0dXJuW2UuZmlsdGVyKEwsYixDKSxlLmZpbHRlcihMLEE9PiFiKEEpLEMpXX1lLnNwbGl0PWc7ZnVuY3Rpb24geChMLGI9ITEsQz1bXSxBKXtsZXQgaz1DLnNsaWNlKCksVD1MKEo9PntrP2sucHVzaChKKTpYLmZpcmUoSil9KTtBJiZBLmFkZChUKTtjb25zdCBJPSgpPT57az09bnVsbHx8ay5mb3JFYWNoKEo9PlguZmlyZShKKSksaz1udWxsfSxYPW5ldyByZSh7b25XaWxsQWRkRmlyc3RMaXN0ZW5lcigpe1R8fChUPUwoSj0+WC5maXJlKEopKSxBJiZBLmFkZChUKSl9LG9uRGlkQWRkRmlyc3RMaXN0ZW5lcigpe2smJihiP3NldFRpbWVvdXQoSSk6SSgpKX0sb25EaWRSZW1vdmVMYXN0TGlzdGVuZXIoKXtUJiZULmRpc3Bvc2UoKSxUPW51bGx9fSk7cmV0dXJuIEEmJkEuYWRkKFgpLFguZXZlbnR9ZS5idWZmZXI9eDtmdW5jdGlvbiB2KEwsYil7cmV0dXJuKEEsayxUKT0+e2NvbnN0IEk9YihuZXcgUyk7cmV0dXJuIEwoZnVuY3Rpb24oWCl7Y29uc3QgSj1JLmV2YWx1YXRlKFgpO0ohPT1OJiZBLmNhbGwoayxKKX0sdm9pZCAwLFQpfX1lLmNoYWluPXY7Y29uc3QgTj1TeW1ib2woIkhhbHRDaGFpbmFibGUiKTtjbGFzcyBTe2NvbnN0cnVjdG9yKCl7dGhpcy5zdGVwcz1bXX1tYXAoYil7cmV0dXJuIHRoaXMuc3RlcHMucHVzaChiKSx0aGlzfWZvckVhY2goYil7cmV0dXJuIHRoaXMuc3RlcHMucHVzaChDPT4oYihDKSxDKSksdGhpc31maWx0ZXIoYil7cmV0dXJuIHRoaXMuc3RlcHMucHVzaChDPT5iKEMpP0M6TiksdGhpc31yZWR1Y2UoYixDKXtsZXQgQT1DO3JldHVybiB0aGlzLnN0ZXBzLnB1c2goaz0+KEE9YihBLGspLEEpKSx0aGlzfWxhdGNoKGI9KEMsQSk9PkM9PT1BKXtsZXQgQz0hMCxBO3JldHVybiB0aGlzLnN0ZXBzLnB1c2goaz0+e2NvbnN0IFQ9Q3x8IWIoayxBKTtyZXR1cm4gQz0hMSxBPWssVD9rOk59KSx0aGlzfWV2YWx1YXRlKGIpe2Zvcihjb25zdCBDIG9mIHRoaXMuc3RlcHMpaWYoYj1DKGIpLGI9PT1OKWJyZWFrO3JldHVybiBifX1mdW5jdGlvbiBfKEwsYixDPUE9PkEpe2NvbnN0IEE9KC4uLlgpPT5JLmZpcmUoQyguLi5YKSksaz0oKT0+TC5vbihiLEEpLFQ9KCk9PkwucmVtb3ZlTGlzdGVuZXIoYixBKSxJPW5ldyByZSh7b25XaWxsQWRkRmlyc3RMaXN0ZW5lcjprLG9uRGlkUmVtb3ZlTGFzdExpc3RlbmVyOlR9KTtyZXR1cm4gSS5ldmVudH1lLmZyb21Ob2RlRXZlbnRFbWl0dGVyPV87ZnVuY3Rpb24gdyhMLGIsQz1BPT5BKXtjb25zdCBBPSguLi5YKT0+SS5maXJlKEMoLi4uWCkpLGs9KCk9PkwuYWRkRXZlbnRMaXN0ZW5lcihiLEEpLFQ9KCk9PkwucmVtb3ZlRXZlbnRMaXN0ZW5lcihiLEEpLEk9bmV3IHJlKHtvbldpbGxBZGRGaXJzdExpc3RlbmVyOmssb25EaWRSZW1vdmVMYXN0TGlzdGVuZXI6VH0pO3JldHVybiBJLmV2ZW50fWUuZnJvbURPTUV2ZW50RW1pdHRlcj13O2Z1bmN0aW9uIHAoTCl7cmV0dXJuIG5ldyBQcm9taXNlKGI9Pm4oTCkoYikpfWUudG9Qcm9taXNlPXA7ZnVuY3Rpb24geShMKXtjb25zdCBiPW5ldyByZTtyZXR1cm4gTC50aGVuKEM9PntiLmZpcmUoQyl9LCgpPT57Yi5maXJlKHZvaWQgMCl9KS5maW5hbGx5KCgpPT57Yi5kaXNwb3NlKCl9KSxiLmV2ZW50fWUuZnJvbVByb21pc2U9eTtmdW5jdGlvbiBSKEwsYixDKXtyZXR1cm4gYihDKSxMKEE9PmIoQSkpfWUucnVuQW5kU3Vic2NyaWJlPVI7Y2xhc3MgRXtjb25zdHJ1Y3RvcihiLEMpe3RoaXMuX29ic2VydmFibGU9Yix0aGlzLl9jb3VudGVyPTAsdGhpcy5faGFzQ2hhbmdlZD0hMTtjb25zdCBBPXtvbldpbGxBZGRGaXJzdExpc3RlbmVyOigpPT57Yi5hZGRPYnNlcnZlcih0aGlzKX0sb25EaWRSZW1vdmVMYXN0TGlzdGVuZXI6KCk9PntiLnJlbW92ZU9ic2VydmVyKHRoaXMpfX07dGhpcy5lbWl0dGVyPW5ldyByZShBKSxDJiZDLmFkZCh0aGlzLmVtaXR0ZXIpfWJlZ2luVXBkYXRlKGIpe3RoaXMuX2NvdW50ZXIrK31oYW5kbGVQb3NzaWJsZUNoYW5nZShiKXt9aGFuZGxlQ2hhbmdlKGIsQyl7dGhpcy5faGFzQ2hhbmdlZD0hMH1lbmRVcGRhdGUoYil7dGhpcy5fY291bnRlci0tLHRoaXMuX2NvdW50ZXI9PT0wJiYodGhpcy5fb2JzZXJ2YWJsZS5yZXBvcnRDaGFuZ2VzKCksdGhpcy5faGFzQ2hhbmdlZCYmKHRoaXMuX2hhc0NoYW5nZWQ9ITEsdGhpcy5lbWl0dGVyLmZpcmUodGhpcy5fb2JzZXJ2YWJsZS5nZXQoKSkpKX19ZnVuY3Rpb24gQihMLGIpe3JldHVybiBuZXcgRShMLGIpLmVtaXR0ZXIuZXZlbnR9ZS5mcm9tT2JzZXJ2YWJsZT1CO2Z1bmN0aW9uIEcoTCl7cmV0dXJuKGIsQyxBKT0+e2xldCBrPTAsVD0hMTtjb25zdCBJPXtiZWdpblVwZGF0ZSgpe2srK30sZW5kVXBkYXRlKCl7ay0tLGs9PT0wJiYoTC5yZXBvcnRDaGFuZ2VzKCksVCYmKFQ9ITEsYi5jYWxsKEMpKSl9LGhhbmRsZVBvc3NpYmxlQ2hhbmdlKCl7fSxoYW5kbGVDaGFuZ2UoKXtUPSEwfX07TC5hZGRPYnNlcnZlcihJKSxMLnJlcG9ydENoYW5nZXMoKTtjb25zdCBYPXtkaXNwb3NlKCl7TC5yZW1vdmVPYnNlcnZlcihJKX19O3JldHVybiBBIGluc3RhbmNlb2YgeWU/QS5hZGQoWCk6QXJyYXkuaXNBcnJheShBKSYmQS5wdXNoKFgpLFh9fWUuZnJvbU9ic2VydmFibGVMaWdodD1HfSkoX3R8fChfdD17fSkpO2NsYXNzIFJle2NvbnN0cnVjdG9yKHQpe3RoaXMubGlzdGVuZXJDb3VudD0wLHRoaXMuaW52b2NhdGlvbkNvdW50PTAsdGhpcy5lbGFwc2VkT3ZlcmFsbD0wLHRoaXMuZHVyYXRpb25zPVtdLHRoaXMubmFtZT1gJHt0fV8ke1JlLl9pZFBvb2wrK31gLFJlLmFsbC5hZGQodGhpcyl9c3RhcnQodCl7dGhpcy5fc3RvcFdhdGNoPW5ldyBldCx0aGlzLmxpc3RlbmVyQ291bnQ9dH1zdG9wKCl7aWYodGhpcy5fc3RvcFdhdGNoKXtjb25zdCB0PXRoaXMuX3N0b3BXYXRjaC5lbGFwc2VkKCk7dGhpcy5kdXJhdGlvbnMucHVzaCh0KSx0aGlzLmVsYXBzZWRPdmVyYWxsKz10LHRoaXMuaW52b2NhdGlvbkNvdW50Kz0xLHRoaXMuX3N0b3BXYXRjaD12b2lkIDB9fX1SZS5hbGw9bmV3IFNldCxSZS5faWRQb29sPTA7bGV0IHNyPS0xO2NsYXNzIHJye2NvbnN0cnVjdG9yKHQsbj1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDE4KS5zbGljZSgyLDUpKXt0aGlzLnRocmVzaG9sZD10LHRoaXMubmFtZT1uLHRoaXMuX3dhcm5Db3VudGRvd249MH1kaXNwb3NlKCl7dmFyIHQ7KHQ9dGhpcy5fc3RhY2tzKT09PW51bGx8fHQ9PT12b2lkIDB8fHQuY2xlYXIoKX1jaGVjayh0LG4pe2NvbnN0IHM9dGhpcy50aHJlc2hvbGQ7aWYoczw9MHx8bjxzKXJldHVybjt0aGlzLl9zdGFja3N8fCh0aGlzLl9zdGFja3M9bmV3IE1hcCk7Y29uc3Qgcj10aGlzLl9zdGFja3MuZ2V0KHQudmFsdWUpfHwwO2lmKHRoaXMuX3N0YWNrcy5zZXQodC52YWx1ZSxyKzEpLHRoaXMuX3dhcm5Db3VudGRvd24tPTEsdGhpcy5fd2FybkNvdW50ZG93bjw9MCl7dGhpcy5fd2FybkNvdW50ZG93bj1zKi41O2xldCBpLGw9MDtmb3IoY29uc3Rbbyx1XW9mIHRoaXMuX3N0YWNrcykoIWl8fGw8dSkmJihpPW8sbD11KX1yZXR1cm4oKT0+e2NvbnN0IGk9dGhpcy5fc3RhY2tzLmdldCh0LnZhbHVlKXx8MDt0aGlzLl9zdGFja3Muc2V0KHQudmFsdWUsaS0xKX19fWNsYXNzIHh0e3N0YXRpYyBjcmVhdGUoKXt2YXIgdDtyZXR1cm4gbmV3IHh0KCh0PW5ldyBFcnJvcigpLnN0YWNrKSE9PW51bGwmJnQhPT12b2lkIDA/dDoiIil9Y29uc3RydWN0b3IodCl7dGhpcy52YWx1ZT10fXByaW50KCl7fX1jbGFzcyBwdHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnZhbHVlPXR9fWNvbnN0IGlyPTI7Y2xhc3MgcmV7Y29uc3RydWN0b3IodCl7dmFyIG4scyxyLGksbDt0aGlzLl9zaXplPTAsdGhpcy5fb3B0aW9ucz10LHRoaXMuX2xlYWthZ2VNb249ISgobj10aGlzLl9vcHRpb25zKT09PW51bGx8fG49PT12b2lkIDApJiZuLmxlYWtXYXJuaW5nVGhyZXNob2xkP25ldyBycigocj0ocz10aGlzLl9vcHRpb25zKT09PW51bGx8fHM9PT12b2lkIDA/dm9pZCAwOnMubGVha1dhcm5pbmdUaHJlc2hvbGQpIT09bnVsbCYmciE9PXZvaWQgMD9yOnNyKTp2b2lkIDAsdGhpcy5fcGVyZk1vbj0hKChpPXRoaXMuX29wdGlvbnMpPT09bnVsbHx8aT09PXZvaWQgMCkmJmkuX3Byb2ZOYW1lP25ldyBSZSh0aGlzLl9vcHRpb25zLl9wcm9mTmFtZSk6dm9pZCAwLHRoaXMuX2RlbGl2ZXJ5UXVldWU9KGw9dGhpcy5fb3B0aW9ucyk9PT1udWxsfHxsPT09dm9pZCAwP3ZvaWQgMDpsLmRlbGl2ZXJ5UXVldWV9ZGlzcG9zZSgpe3ZhciB0LG4scyxyO3RoaXMuX2Rpc3Bvc2VkfHwodGhpcy5fZGlzcG9zZWQ9ITAsKCh0PXRoaXMuX2RlbGl2ZXJ5UXVldWUpPT09bnVsbHx8dD09PXZvaWQgMD92b2lkIDA6dC5jdXJyZW50KT09PXRoaXMmJnRoaXMuX2RlbGl2ZXJ5UXVldWUucmVzZXQoKSx0aGlzLl9saXN0ZW5lcnMmJih0aGlzLl9saXN0ZW5lcnM9dm9pZCAwLHRoaXMuX3NpemU9MCksKHM9KG49dGhpcy5fb3B0aW9ucyk9PT1udWxsfHxuPT09dm9pZCAwP3ZvaWQgMDpuLm9uRGlkUmVtb3ZlTGFzdExpc3RlbmVyKT09PW51bGx8fHM9PT12b2lkIDB8fHMuY2FsbChuKSwocj10aGlzLl9sZWFrYWdlTW9uKT09PW51bGx8fHI9PT12b2lkIDB8fHIuZGlzcG9zZSgpKX1nZXQgZXZlbnQoKXt2YXIgdDtyZXR1cm4odD10aGlzLl9ldmVudCkhPT1udWxsJiZ0IT09dm9pZCAwfHwodGhpcy5fZXZlbnQ9KG4scyxyKT0+e3ZhciBpLGwsbyx1LGM7aWYodGhpcy5fbGVha2FnZU1vbiYmdGhpcy5fc2l6ZT50aGlzLl9sZWFrYWdlTW9uLnRocmVzaG9sZCozfHx0aGlzLl9kaXNwb3NlZClyZXR1cm4gV2UuTm9uZTtzJiYobj1uLmJpbmQocykpO2NvbnN0IGg9bmV3IHB0KG4pO2xldCBmO3RoaXMuX2xlYWthZ2VNb24mJnRoaXMuX3NpemU+PU1hdGguY2VpbCh0aGlzLl9sZWFrYWdlTW9uLnRocmVzaG9sZCouMikmJihoLnN0YWNrPXh0LmNyZWF0ZSgpLGY9dGhpcy5fbGVha2FnZU1vbi5jaGVjayhoLnN0YWNrLHRoaXMuX3NpemUrMSkpLHRoaXMuX2xpc3RlbmVycz90aGlzLl9saXN0ZW5lcnMgaW5zdGFuY2VvZiBwdD8oKGM9dGhpcy5fZGVsaXZlcnlRdWV1ZSkhPT1udWxsJiZjIT09dm9pZCAwfHwodGhpcy5fZGVsaXZlcnlRdWV1ZT1uZXcgYXIpLHRoaXMuX2xpc3RlbmVycz1bdGhpcy5fbGlzdGVuZXJzLGhdKTp0aGlzLl9saXN0ZW5lcnMucHVzaChoKTooKGw9KGk9dGhpcy5fb3B0aW9ucyk9PT1udWxsfHxpPT09dm9pZCAwP3ZvaWQgMDppLm9uV2lsbEFkZEZpcnN0TGlzdGVuZXIpPT09bnVsbHx8bD09PXZvaWQgMHx8bC5jYWxsKGksdGhpcyksdGhpcy5fbGlzdGVuZXJzPWgsKHU9KG89dGhpcy5fb3B0aW9ucyk9PT1udWxsfHxvPT09dm9pZCAwP3ZvaWQgMDpvLm9uRGlkQWRkRmlyc3RMaXN0ZW5lcik9PT1udWxsfHx1PT09dm9pZCAwfHx1LmNhbGwobyx0aGlzKSksdGhpcy5fc2l6ZSsrO2NvbnN0IGQ9S2UoKCk9PntmPT1udWxsfHxmKCksdGhpcy5fcmVtb3ZlTGlzdGVuZXIoaCl9KTtyZXR1cm4gciBpbnN0YW5jZW9mIHllP3IuYWRkKGQpOkFycmF5LmlzQXJyYXkocikmJnIucHVzaChkKSxkfSksdGhpcy5fZXZlbnR9X3JlbW92ZUxpc3RlbmVyKHQpe3ZhciBuLHMscixpO2lmKChzPShuPXRoaXMuX29wdGlvbnMpPT09bnVsbHx8bj09PXZvaWQgMD92b2lkIDA6bi5vbldpbGxSZW1vdmVMaXN0ZW5lcik9PT1udWxsfHxzPT09dm9pZCAwfHxzLmNhbGwobix0aGlzKSwhdGhpcy5fbGlzdGVuZXJzKXJldHVybjtpZih0aGlzLl9zaXplPT09MSl7dGhpcy5fbGlzdGVuZXJzPXZvaWQgMCwoaT0ocj10aGlzLl9vcHRpb25zKT09PW51bGx8fHI9PT12b2lkIDA/dm9pZCAwOnIub25EaWRSZW1vdmVMYXN0TGlzdGVuZXIpPT09bnVsbHx8aT09PXZvaWQgMHx8aS5jYWxsKHIsdGhpcyksdGhpcy5fc2l6ZT0wO3JldHVybn1jb25zdCBsPXRoaXMuX2xpc3RlbmVycyxvPWwuaW5kZXhPZih0KTtpZihvPT09LTEpdGhyb3cgbmV3IEVycm9yKCJBdHRlbXB0ZWQgdG8gZGlzcG9zZSB1bmtub3duIGxpc3RlbmVyIik7dGhpcy5fc2l6ZS0tLGxbb109dm9pZCAwO2NvbnN0IHU9dGhpcy5fZGVsaXZlcnlRdWV1ZS5jdXJyZW50PT09dGhpcztpZih0aGlzLl9zaXplKmlyPD1sLmxlbmd0aCl7bGV0IGM9MDtmb3IobGV0IGg9MDtoPGwubGVuZ3RoO2grKylsW2hdP2xbYysrXT1sW2hdOnUmJih0aGlzLl9kZWxpdmVyeVF1ZXVlLmVuZC0tLGM8dGhpcy5fZGVsaXZlcnlRdWV1ZS5pJiZ0aGlzLl9kZWxpdmVyeVF1ZXVlLmktLSk7bC5sZW5ndGg9Y319X2RlbGl2ZXIodCxuKXt2YXIgcztpZighdClyZXR1cm47Y29uc3Qgcj0oKHM9dGhpcy5fb3B0aW9ucyk9PT1udWxsfHxzPT09dm9pZCAwP3ZvaWQgMDpzLm9uTGlzdGVuZXJFcnJvcil8fEp0O2lmKCFyKXt0LnZhbHVlKG4pO3JldHVybn10cnl7dC52YWx1ZShuKX1jYXRjaChpKXtyKGkpfX1fZGVsaXZlclF1ZXVlKHQpe2NvbnN0IG49dC5jdXJyZW50Ll9saXN0ZW5lcnM7Zm9yKDt0Lmk8dC5lbmQ7KXRoaXMuX2RlbGl2ZXIoblt0LmkrK10sdC52YWx1ZSk7dC5yZXNldCgpfWZpcmUodCl7dmFyIG4scyxyLGk7aWYoISgobj10aGlzLl9kZWxpdmVyeVF1ZXVlKT09PW51bGx8fG49PT12b2lkIDApJiZuLmN1cnJlbnQmJih0aGlzLl9kZWxpdmVyUXVldWUodGhpcy5fZGVsaXZlcnlRdWV1ZSksKHM9dGhpcy5fcGVyZk1vbik9PT1udWxsfHxzPT09dm9pZCAwfHxzLnN0b3AoKSksKHI9dGhpcy5fcGVyZk1vbik9PT1udWxsfHxyPT09dm9pZCAwfHxyLnN0YXJ0KHRoaXMuX3NpemUpLHRoaXMuX2xpc3RlbmVycylpZih0aGlzLl9saXN0ZW5lcnMgaW5zdGFuY2VvZiBwdCl0aGlzLl9kZWxpdmVyKHRoaXMuX2xpc3RlbmVycyx0KTtlbHNle2NvbnN0IGw9dGhpcy5fZGVsaXZlcnlRdWV1ZTtsLmVucXVldWUodGhpcyx0LHRoaXMuX2xpc3RlbmVycy5sZW5ndGgpLHRoaXMuX2RlbGl2ZXJRdWV1ZShsKX0oaT10aGlzLl9wZXJmTW9uKT09PW51bGx8fGk9PT12b2lkIDB8fGkuc3RvcCgpfWhhc0xpc3RlbmVycygpe3JldHVybiB0aGlzLl9zaXplPjB9fWNsYXNzIGFye2NvbnN0cnVjdG9yKCl7dGhpcy5pPS0xLHRoaXMuZW5kPTB9ZW5xdWV1ZSh0LG4scyl7dGhpcy5pPTAsdGhpcy5lbmQ9cyx0aGlzLmN1cnJlbnQ9dCx0aGlzLnZhbHVlPW59cmVzZXQoKXt0aGlzLmk9dGhpcy5lbmQsdGhpcy5jdXJyZW50PXZvaWQgMCx0aGlzLnZhbHVlPXZvaWQgMH19ZnVuY3Rpb24gbHIoZSl7cmV0dXJuIHR5cGVvZiBlPT0ic3RyaW5nIn1mdW5jdGlvbiBvcihlKXtsZXQgdD1bXTtmb3IoO09iamVjdC5wcm90b3R5cGUhPT1lOyl0PXQuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGUpKSxlPU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTtyZXR1cm4gdH1mdW5jdGlvbiB2dChlKXtjb25zdCB0PVtdO2Zvcihjb25zdCBuIG9mIG9yKGUpKXR5cGVvZiBlW25dPT0iZnVuY3Rpb24iJiZ0LnB1c2gobik7cmV0dXJuIHR9ZnVuY3Rpb24gdXIoZSx0KXtjb25zdCBuPXI9PmZ1bmN0aW9uKCl7Y29uc3QgaT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMCk7cmV0dXJuIHQocixpKX0scz17fTtmb3IoY29uc3QgciBvZiBlKXNbcl09bihyKTtyZXR1cm4gc31sZXQgY3I9dHlwZW9mIGRvY3VtZW50PCJ1IiYmZG9jdW1lbnQubG9jYXRpb24mJmRvY3VtZW50LmxvY2F0aW9uLmhhc2guaW5kZXhPZigicHNldWRvPXRydWUiKT49MDtmdW5jdGlvbiBocihlLHQpe2xldCBuO3JldHVybiB0Lmxlbmd0aD09PTA/bj1lOm49ZS5yZXBsYWNlKC9ceyhcZCspXH0vZywocyxyKT0+e2NvbnN0IGk9clswXSxsPXRbaV07bGV0IG89cztyZXR1cm4gdHlwZW9mIGw9PSJzdHJpbmciP289bDoodHlwZW9mIGw9PSJudW1iZXIifHx0eXBlb2YgbD09ImJvb2xlYW4ifHxsPT09dm9pZCAwfHxsPT09bnVsbCkmJihvPVN0cmluZyhsKSksb30pLGNyJiYobj0i77y7IituLnJlcGxhY2UoL1thb3VlaV0vZywiJCYkJiIpKyLvvL0iKSxufWZ1bmN0aW9uIEgoZSx0LC4uLm4pe3JldHVybiBocih0LG4pfWZ1bmN0aW9uIENhKGUpe312YXIgTHQsd3Q7Y29uc3QgRWU9ImVuIjtsZXQgTnQ9ITEsU3Q9ITEsQ3Q9ITEsdHQsQXQ9RWUsZW49RWUsZnIsaWU7Y29uc3QgTGU9Z2xvYmFsVGhpcztsZXQgUTt0eXBlb2YgTGUudnNjb2RlPCJ1IiYmdHlwZW9mIExlLnZzY29kZS5wcm9jZXNzPCJ1Ij9RPUxlLnZzY29kZS5wcm9jZXNzOnR5cGVvZiBwcm9jZXNzPCJ1IiYmdHlwZW9mKChMdD1wcm9jZXNzPT1udWxsP3ZvaWQgMDpwcm9jZXNzLnZlcnNpb25zKT09PW51bGx8fEx0PT09dm9pZCAwP3ZvaWQgMDpMdC5ub2RlKT09InN0cmluZyImJihRPXByb2Nlc3MpO2NvbnN0IGRyPXR5cGVvZigod3Q9UT09bnVsbD92b2lkIDA6US52ZXJzaW9ucyk9PT1udWxsfHx3dD09PXZvaWQgMD92b2lkIDA6d3QuZWxlY3Ryb24pPT0ic3RyaW5nIiYmKFE9PW51bGw/dm9pZCAwOlEudHlwZSk9PT0icmVuZGVyZXIiO2lmKHR5cGVvZiBRPT0ib2JqZWN0Iil7TnQ9US5wbGF0Zm9ybT09PSJ3aW4zMiIsU3Q9US5wbGF0Zm9ybT09PSJkYXJ3aW4iLEN0PVEucGxhdGZvcm09PT0ibGludXgiLEN0JiZRLmVudi5TTkFQJiZRLmVudi5TTkFQX1JFVklTSU9OLFEuZW52LkNJfHxRLmVudi5CVUlMRF9BUlRJRkFDVFNUQUdJTkdESVJFQ1RPUlksdHQ9RWUsQXQ9RWU7Y29uc3QgZT1RLmVudi5WU0NPREVfTkxTX0NPTkZJRztpZihlKXRyeXtjb25zdCB0PUpTT04ucGFyc2UoZSksbj10LmF2YWlsYWJsZUxhbmd1YWdlc1siKiJdO3R0PXQubG9jYWxlLGVuPXQub3NMb2NhbGUsQXQ9bnx8RWUsZnI9dC5fdHJhbnNsYXRpb25zQ29uZmlnRmlsZX1jYXRjaHt9fWVsc2UgdHlwZW9mIG5hdmlnYXRvcj09Im9iamVjdCImJiFkciYmKGllPW5hdmlnYXRvci51c2VyQWdlbnQsTnQ9aWUuaW5kZXhPZigiV2luZG93cyIpPj0wLFN0PWllLmluZGV4T2YoIk1hY2ludG9zaCIpPj0wLChpZS5pbmRleE9mKCJNYWNpbnRvc2giKT49MHx8aWUuaW5kZXhPZigiaVBhZCIpPj0wfHxpZS5pbmRleE9mKCJpUGhvbmUiKT49MCkmJm5hdmlnYXRvci5tYXhUb3VjaFBvaW50cyYmbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzPjAsQ3Q9aWUuaW5kZXhPZigiTGludXgiKT49MCwoaWU9PW51bGw/dm9pZCAwOmllLmluZGV4T2YoIk1vYmkiKSk+PTAsSCh7a2V5OiJlbnN1cmVMb2FkZXJQbHVnaW5Jc0xvYWRlZCIsY29tbWVudDpbIntMb2NrZWR9Il19LCJfIiksdHQ9RWUsQXQ9dHQsZW49bmF2aWdhdG9yLmxhbmd1YWdlKTtjb25zdCB6ZT1OdCxtcj1TdCxvZT1pZSxncj10eXBlb2YgTGUucG9zdE1lc3NhZ2U9PSJmdW5jdGlvbiImJiFMZS5pbXBvcnRTY3JpcHRzOygoKT0+e2lmKGdyKXtjb25zdCBlPVtdO0xlLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLG49PntpZihuLmRhdGEmJm4uZGF0YS52c2NvZGVTY2hlZHVsZUFzeW5jV29yaylmb3IobGV0IHM9MCxyPWUubGVuZ3RoO3M8cjtzKyspe2NvbnN0IGk9ZVtzXTtpZihpLmlkPT09bi5kYXRhLnZzY29kZVNjaGVkdWxlQXN5bmNXb3JrKXtlLnNwbGljZShzLDEpLGkuY2FsbGJhY2soKTtyZXR1cm59fX0pO2xldCB0PTA7cmV0dXJuIG49Pntjb25zdCBzPSsrdDtlLnB1c2goe2lkOnMsY2FsbGJhY2s6bn0pLExlLnBvc3RNZXNzYWdlKHt2c2NvZGVTY2hlZHVsZUFzeW5jV29yazpzfSwiKiIpfX1yZXR1cm4gZT0+c2V0VGltZW91dChlKX0pKCk7Y29uc3QgYnI9ISEob2UmJm9lLmluZGV4T2YoIkNocm9tZSIpPj0wKTtvZSYmb2UuaW5kZXhPZigiRmlyZWZveCIpPj0wLCFiciYmb2UmJm9lLmluZGV4T2YoIlNhZmFyaSIpPj0wLG9lJiZvZS5pbmRleE9mKCJFZGcvIik+PTAsb2UmJm9lLmluZGV4T2YoIkFuZHJvaWQiKT49MDtjbGFzcyBfcntjb25zdHJ1Y3Rvcih0LG49SlNPTi5zdHJpbmdpZnkpe3RoaXMuZm49dCx0aGlzLl9jb21wdXRlS2V5PW4sdGhpcy5sYXN0Q2FjaGU9dm9pZCAwLHRoaXMubGFzdEFyZ0tleT12b2lkIDB9Z2V0KHQpe2NvbnN0IG49dGhpcy5fY29tcHV0ZUtleSh0KTtyZXR1cm4gdGhpcy5sYXN0QXJnS2V5IT09biYmKHRoaXMubGFzdEFyZ0tleT1uLHRoaXMubGFzdENhY2hlPXRoaXMuZm4odCkpLHRoaXMubGFzdENhY2hlfX1jbGFzcyB0bntjb25zdHJ1Y3Rvcih0KXt0aGlzLmV4ZWN1dG9yPXQsdGhpcy5fZGlkUnVuPSExfWdldCB2YWx1ZSgpe2lmKCF0aGlzLl9kaWRSdW4pdHJ5e3RoaXMuX3ZhbHVlPXRoaXMuZXhlY3V0b3IoKX1jYXRjaCh0KXt0aGlzLl9lcnJvcj10fWZpbmFsbHl7dGhpcy5fZGlkUnVuPSEwfWlmKHRoaXMuX2Vycm9yKXRocm93IHRoaXMuX2Vycm9yO3JldHVybiB0aGlzLl92YWx1ZX1nZXQgcmF3VmFsdWUoKXtyZXR1cm4gdGhpcy5fdmFsdWV9fXZhciBNZTtmdW5jdGlvbiB4cihlKXtyZXR1cm4gZS5yZXBsYWNlKC9bXFxce1x9XCpcK1w/XHxcXlwkXC5cW1xdXChcKV0vZywiXFwkJiIpfWZ1bmN0aW9uIHByKGUpe3JldHVybiBlLnNwbGl0KC9cclxufFxyfFxuLyl9ZnVuY3Rpb24gdnIoZSl7Zm9yKGxldCB0PTAsbj1lLmxlbmd0aDt0PG47dCsrKXtjb25zdCBzPWUuY2hhckNvZGVBdCh0KTtpZihzIT09MzImJnMhPT05KXJldHVybiB0fXJldHVybi0xfWZ1bmN0aW9uIExyKGUsdD1lLmxlbmd0aC0xKXtmb3IobGV0IG49dDtuPj0wO24tLSl7Y29uc3Qgcz1lLmNoYXJDb2RlQXQobik7aWYocyE9PTMyJiZzIT09OSlyZXR1cm4gbn1yZXR1cm4tMX1mdW5jdGlvbiBubihlKXtyZXR1cm4gZT49NjUmJmU8PTkwfWZ1bmN0aW9uIHl0KGUpe3JldHVybiA1NTI5Njw9ZSYmZTw9NTYzMTl9ZnVuY3Rpb24gd3IoZSl7cmV0dXJuIDU2MzIwPD1lJiZlPD01NzM0M31mdW5jdGlvbiBOcihlLHQpe3JldHVybihlLTU1Mjk2PDwxMCkrKHQtNTYzMjApKzY1NTM2fWZ1bmN0aW9uIFNyKGUsdCxuKXtjb25zdCBzPWUuY2hhckNvZGVBdChuKTtpZih5dChzKSYmbisxPHQpe2NvbnN0IHI9ZS5jaGFyQ29kZUF0KG4rMSk7aWYod3IocikpcmV0dXJuIE5yKHMscil9cmV0dXJuIHN9Y29uc3QgQ3I9L15bXHRcblxyXHgyMC1ceDdFXSokLztmdW5jdGlvbiBBcihlKXtyZXR1cm4gQ3IudGVzdChlKX1jbGFzcyB3ZXtzdGF0aWMgZ2V0SW5zdGFuY2UodCl7cmV0dXJuIE1lLmNhY2hlLmdldChBcnJheS5mcm9tKHQpKX1zdGF0aWMgZ2V0TG9jYWxlcygpe3JldHVybiBNZS5fbG9jYWxlcy52YWx1ZX1jb25zdHJ1Y3Rvcih0KXt0aGlzLmNvbmZ1c2FibGVEaWN0aW9uYXJ5PXR9aXNBbWJpZ3VvdXModCl7cmV0dXJuIHRoaXMuY29uZnVzYWJsZURpY3Rpb25hcnkuaGFzKHQpfWdldFByaW1hcnlDb25mdXNhYmxlKHQpe3JldHVybiB0aGlzLmNvbmZ1c2FibGVEaWN0aW9uYXJ5LmdldCh0KX1nZXRDb25mdXNhYmxlQ29kZVBvaW50cygpe3JldHVybiBuZXcgU2V0KHRoaXMuY29uZnVzYWJsZURpY3Rpb25hcnkua2V5cygpKX19TWU9d2Usd2UuYW1iaWd1b3VzQ2hhcmFjdGVyRGF0YT1uZXcgdG4oKCk9PkpTT04ucGFyc2UoJ3siX2NvbW1vbiI6WzgyMzIsMzIsODIzMywzMiw1NzYwLDMyLDgxOTIsMzIsODE5MywzMiw4MTk0LDMyLDgxOTUsMzIsODE5NiwzMiw4MTk3LDMyLDgxOTgsMzIsODIwMCwzMiw4MjAxLDMyLDgyMDIsMzIsODI4NywzMiw4MTk5LDMyLDgyMzksMzIsMjA0Miw5NSw2NTEwMSw5NSw2NTEwMiw5NSw2NTEwMyw5NSw4MjA4LDQ1LDgyMDksNDUsODIxMCw0NSw2NTExMiw0NSwxNzQ4LDQ1LDgyNTksNDUsNzI3LDQ1LDg3MjIsNDUsMTAxMzQsNDUsMTE0NTAsNDUsMTU0OSw0NCwxNjQzLDQ0LDgyMTgsNDQsMTg0LDQ0LDQyMjMzLDQ0LDg5NCw1OSwyMzA3LDU4LDI2OTEsNTgsMTQxNyw1OCwxNzk1LDU4LDE3OTYsNTgsNTg2OCw1OCw2NTA3Miw1OCw2MTQ3LDU4LDYxNTMsNTgsODI4Miw1OCwxNDc1LDU4LDc2MCw1OCw0Mjg4OSw1OCw4NzU4LDU4LDcyMCw1OCw0MjIzNyw1OCw0NTEsMzMsMTE2MDEsMzMsNjYwLDYzLDU3Nyw2MywyNDI5LDYzLDUwMzgsNjMsNDI3MzEsNjMsMTE5MTQ5LDQ2LDgyMjgsNDYsMTc5Myw0NiwxNzk0LDQ2LDQyNTEwLDQ2LDY4MTc2LDQ2LDE2MzIsNDYsMTc3Niw0Niw0MjIzMiw0NiwxMzczLDk2LDY1Mjg3LDk2LDgyMTksOTYsODI0Miw5NiwxMzcwLDk2LDE1MjMsOTYsODE3NSw5Niw2NTM0NCw5Niw5MDAsOTYsODE4OSw5Niw4MTI1LDk2LDgxMjcsOTYsODE5MCw5Niw2OTcsOTYsODg0LDk2LDcxMiw5Niw3MTQsOTYsNzE1LDk2LDc1Niw5Niw2OTksOTYsNzAxLDk2LDcwMCw5Niw3MDIsOTYsNDI4OTIsOTYsMTQ5Nyw5NiwyMDM2LDk2LDIwMzcsOTYsNTE5NCw5Niw1ODM2LDk2LDk0MDMzLDk2LDk0MDM0LDk2LDY1MzM5LDkxLDEwMDg4LDQwLDEwMDk4LDQwLDEyMzA4LDQwLDY0ODMwLDQwLDY1MzQxLDkzLDEwMDg5LDQxLDEwMDk5LDQxLDEyMzA5LDQxLDY0ODMxLDQxLDEwMTAwLDEyMywxMTkwNjAsMTIzLDEwMTAxLDEyNSw2NTM0Miw5NCw4MjcwLDQyLDE2NDUsNDIsODcyNyw0Miw2NjMzNSw0Miw1OTQxLDQ3LDgyNTcsNDcsODcyNSw0Nyw4MjYwLDQ3LDk1ODUsNDcsMTAxODcsNDcsMTA3NDQsNDcsMTE5MzU0LDQ3LDEyNzU1LDQ3LDEyMzM5LDQ3LDExNDYyLDQ3LDIwMDMxLDQ3LDEyMDM1LDQ3LDY1MzQwLDkyLDY1MTI4LDkyLDg3MjYsOTIsMTAxODksOTIsMTA3NDEsOTIsMTA3NDUsOTIsMTE5MzExLDkyLDExOTM1NSw5MiwxMjc1Niw5MiwyMDAyMiw5MiwxMjAzNCw5Miw0Mjg3MiwzOCw3MDgsOTQsNzEwLDk0LDU4NjksNDMsMTAxMzMsNDMsNjYyMDMsNDMsODI0OSw2MCwxMDA5NCw2MCw3MDYsNjAsMTE5MzUwLDYwLDUxNzYsNjAsNTgxMCw2MCw1MTIwLDYxLDExODQwLDYxLDEyNDQ4LDYxLDQyMjM5LDYxLDgyNTAsNjIsMTAwOTUsNjIsNzA3LDYyLDExOTM1MSw2Miw1MTcxLDYyLDk0MDE1LDYyLDgyNzUsMTI2LDczMiwxMjYsODEyOCwxMjYsODc2NCwxMjYsNjUzNzIsMTI0LDY1MjkzLDQ1LDEyMDc4NCw1MCwxMjA3OTQsNTAsMTIwODA0LDUwLDEyMDgxNCw1MCwxMjA4MjQsNTAsMTMwMDM0LDUwLDQyODQyLDUwLDQyMyw1MCwxMDAwLDUwLDQyNTY0LDUwLDUzMTEsNTAsNDI3MzUsNTAsMTE5MzAyLDUxLDEyMDc4NSw1MSwxMjA3OTUsNTEsMTIwODA1LDUxLDEyMDgxNSw1MSwxMjA4MjUsNTEsMTMwMDM1LDUxLDQyOTIzLDUxLDU0MCw1MSw0MzksNTEsNDI4NTgsNTEsMTE0NjgsNTEsMTI0OCw1MSw5NDAxMSw1MSw3MTg4Miw1MSwxMjA3ODYsNTIsMTIwNzk2LDUyLDEyMDgwNiw1MiwxMjA4MTYsNTIsMTIwODI2LDUyLDEzMDAzNiw1Miw1MDcwLDUyLDcxODU1LDUyLDEyMDc4Nyw1MywxMjA3OTcsNTMsMTIwODA3LDUzLDEyMDgxNyw1MywxMjA4MjcsNTMsMTMwMDM3LDUzLDQ0NCw1Myw3MTg2Nyw1MywxMjA3ODgsNTQsMTIwNzk4LDU0LDEyMDgwOCw1NCwxMjA4MTgsNTQsMTIwODI4LDU0LDEzMDAzOCw1NCwxMTQ3NCw1NCw1MTAyLDU0LDcxODkzLDU0LDExOTMxNCw1NSwxMjA3ODksNTUsMTIwNzk5LDU1LDEyMDgwOSw1NSwxMjA4MTksNTUsMTIwODI5LDU1LDEzMDAzOSw1NSw2Njc3MCw1NSw3MTg3OCw1NSwyODE5LDU2LDI1MzgsNTYsMjY2Niw1NiwxMjUxMzEsNTYsMTIwNzkwLDU2LDEyMDgwMCw1NiwxMjA4MTAsNTYsMTIwODIwLDU2LDEyMDgzMCw1NiwxMzAwNDAsNTYsNTQ3LDU2LDU0Niw1Niw2NjMzMCw1NiwyNjYzLDU3LDI5MjAsNTcsMjU0MSw1NywzNDM3LDU3LDEyMDc5MSw1NywxMjA4MDEsNTcsMTIwODExLDU3LDEyMDgyMSw1NywxMjA4MzEsNTcsMTMwMDQxLDU3LDQyODYyLDU3LDExNDY2LDU3LDcxODg0LDU3LDcxODUyLDU3LDcxODk0LDU3LDkwODIsOTcsNjUzNDUsOTcsMTE5ODM0LDk3LDExOTg4Niw5NywxMTk5MzgsOTcsMTE5OTkwLDk3LDEyMDA0Miw5NywxMjAwOTQsOTcsMTIwMTQ2LDk3LDEyMDE5OCw5NywxMjAyNTAsOTcsMTIwMzAyLDk3LDEyMDM1NCw5NywxMjA0MDYsOTcsMTIwNDU4LDk3LDU5Myw5Nyw5NDUsOTcsMTIwNTE0LDk3LDEyMDU3Miw5NywxMjA2MzAsOTcsMTIwNjg4LDk3LDEyMDc0Niw5Nyw2NTMxMyw2NSwxMTk4MDgsNjUsMTE5ODYwLDY1LDExOTkxMiw2NSwxMTk5NjQsNjUsMTIwMDE2LDY1LDEyMDA2OCw2NSwxMjAxMjAsNjUsMTIwMTcyLDY1LDEyMDIyNCw2NSwxMjAyNzYsNjUsMTIwMzI4LDY1LDEyMDM4MCw2NSwxMjA0MzIsNjUsOTEzLDY1LDEyMDQ4OCw2NSwxMjA1NDYsNjUsMTIwNjA0LDY1LDEyMDY2Miw2NSwxMjA3MjAsNjUsNTAzNCw2NSw1NTczLDY1LDQyMjIyLDY1LDk0MDE2LDY1LDY2MjA4LDY1LDExOTgzNSw5OCwxMTk4ODcsOTgsMTE5OTM5LDk4LDExOTk5MSw5OCwxMjAwNDMsOTgsMTIwMDk1LDk4LDEyMDE0Nyw5OCwxMjAxOTksOTgsMTIwMjUxLDk4LDEyMDMwMyw5OCwxMjAzNTUsOTgsMTIwNDA3LDk4LDEyMDQ1OSw5OCwzODgsOTgsNTA3MSw5OCw1MjM0LDk4LDU1NTEsOTgsNjUzMTQsNjYsODQ5Miw2NiwxMTk4MDksNjYsMTE5ODYxLDY2LDExOTkxMyw2NiwxMjAwMTcsNjYsMTIwMDY5LDY2LDEyMDEyMSw2NiwxMjAxNzMsNjYsMTIwMjI1LDY2LDEyMDI3Nyw2NiwxMjAzMjksNjYsMTIwMzgxLDY2LDEyMDQzMyw2Niw0MjkzMiw2Niw5MTQsNjYsMTIwNDg5LDY2LDEyMDU0Nyw2NiwxMjA2MDUsNjYsMTIwNjYzLDY2LDEyMDcyMSw2Niw1MTA4LDY2LDU2MjMsNjYsNDIxOTIsNjYsNjYxNzgsNjYsNjYyMDksNjYsNjYzMDUsNjYsNjUzNDcsOTksODU3Myw5OSwxMTk4MzYsOTksMTE5ODg4LDk5LDExOTk0MCw5OSwxMTk5OTIsOTksMTIwMDQ0LDk5LDEyMDA5Niw5OSwxMjAxNDgsOTksMTIwMjAwLDk5LDEyMDI1Miw5OSwxMjAzMDQsOTksMTIwMzU2LDk5LDEyMDQwOCw5OSwxMjA0NjAsOTksNzQyOCw5OSwxMDEwLDk5LDExNDI5LDk5LDQzOTUxLDk5LDY2NjIxLDk5LDEyODg0NCw2Nyw3MTkyMiw2Nyw3MTkxMyw2Nyw2NTMxNSw2Nyw4NTU3LDY3LDg0NTAsNjcsODQ5Myw2NywxMTk4MTAsNjcsMTE5ODYyLDY3LDExOTkxNCw2NywxMTk5NjYsNjcsMTIwMDE4LDY3LDEyMDE3NCw2NywxMjAyMjYsNjcsMTIwMjc4LDY3LDEyMDMzMCw2NywxMjAzODIsNjcsMTIwNDM0LDY3LDEwMTcsNjcsMTE0MjgsNjcsNTA4Nyw2Nyw0MjIwMiw2Nyw2NjIxMCw2Nyw2NjMwNiw2Nyw2NjU4MSw2Nyw2Njg0NCw2Nyw4NTc0LDEwMCw4NTE4LDEwMCwxMTk4MzcsMTAwLDExOTg4OSwxMDAsMTE5OTQxLDEwMCwxMTk5OTMsMTAwLDEyMDA0NSwxMDAsMTIwMDk3LDEwMCwxMjAxNDksMTAwLDEyMDIwMSwxMDAsMTIwMjUzLDEwMCwxMjAzMDUsMTAwLDEyMDM1NywxMDAsMTIwNDA5LDEwMCwxMjA0NjEsMTAwLDEyODEsMTAwLDUwOTUsMTAwLDUyMzEsMTAwLDQyMTk0LDEwMCw4NTU4LDY4LDg1MTcsNjgsMTE5ODExLDY4LDExOTg2Myw2OCwxMTk5MTUsNjgsMTE5OTY3LDY4LDEyMDAxOSw2OCwxMjAwNzEsNjgsMTIwMTIzLDY4LDEyMDE3NSw2OCwxMjAyMjcsNjgsMTIwMjc5LDY4LDEyMDMzMSw2OCwxMjAzODMsNjgsMTIwNDM1LDY4LDUwMjQsNjgsNTU5OCw2OCw1NjEwLDY4LDQyMTk1LDY4LDg0OTQsMTAxLDY1MzQ5LDEwMSw4NDk1LDEwMSw4NTE5LDEwMSwxMTk4MzgsMTAxLDExOTg5MCwxMDEsMTE5OTQyLDEwMSwxMjAwNDYsMTAxLDEyMDA5OCwxMDEsMTIwMTUwLDEwMSwxMjAyMDIsMTAxLDEyMDI1NCwxMDEsMTIwMzA2LDEwMSwxMjAzNTgsMTAxLDEyMDQxMCwxMDEsMTIwNDYyLDEwMSw0MzgyNiwxMDEsMTIxMywxMDEsODk1OSw2OSw2NTMxNyw2OSw4NDk2LDY5LDExOTgxMiw2OSwxMTk4NjQsNjksMTE5OTE2LDY5LDEyMDAyMCw2OSwxMjAwNzIsNjksMTIwMTI0LDY5LDEyMDE3Niw2OSwxMjAyMjgsNjksMTIwMjgwLDY5LDEyMDMzMiw2OSwxMjAzODQsNjksMTIwNDM2LDY5LDkxNyw2OSwxMjA0OTIsNjksMTIwNTUwLDY5LDEyMDYwOCw2OSwxMjA2NjYsNjksMTIwNzI0LDY5LDExNTc3LDY5LDUwMzYsNjksNDIyMjQsNjksNzE4NDYsNjksNzE4NTQsNjksNjYxODIsNjksMTE5ODM5LDEwMiwxMTk4OTEsMTAyLDExOTk0MywxMDIsMTE5OTk1LDEwMiwxMjAwNDcsMTAyLDEyMDA5OSwxMDIsMTIwMTUxLDEwMiwxMjAyMDMsMTAyLDEyMDI1NSwxMDIsMTIwMzA3LDEwMiwxMjAzNTksMTAyLDEyMDQxMSwxMDIsMTIwNDYzLDEwMiw0MzgyOSwxMDIsNDI5MDUsMTAyLDM4MywxMDIsNzgzNywxMDIsMTQxMiwxMDIsMTE5MzE1LDcwLDg0OTcsNzAsMTE5ODEzLDcwLDExOTg2NSw3MCwxMTk5MTcsNzAsMTIwMDIxLDcwLDEyMDA3Myw3MCwxMjAxMjUsNzAsMTIwMTc3LDcwLDEyMDIyOSw3MCwxMjAyODEsNzAsMTIwMzMzLDcwLDEyMDM4NSw3MCwxMjA0MzcsNzAsNDI5MDQsNzAsOTg4LDcwLDEyMDc3OCw3MCw1NTU2LDcwLDQyMjA1LDcwLDcxODc0LDcwLDcxODQyLDcwLDY2MTgzLDcwLDY2MjEzLDcwLDY2ODUzLDcwLDY1MzUxLDEwMyw4NDU4LDEwMywxMTk4NDAsMTAzLDExOTg5MiwxMDMsMTE5OTQ0LDEwMywxMjAwNDgsMTAzLDEyMDEwMCwxMDMsMTIwMTUyLDEwMywxMjAyMDQsMTAzLDEyMDI1NiwxMDMsMTIwMzA4LDEwMywxMjAzNjAsMTAzLDEyMDQxMiwxMDMsMTIwNDY0LDEwMyw2MDksMTAzLDc1NTUsMTAzLDM5NywxMDMsMTQwOSwxMDMsMTE5ODE0LDcxLDExOTg2Niw3MSwxMTk5MTgsNzEsMTE5OTcwLDcxLDEyMDAyMiw3MSwxMjAwNzQsNzEsMTIwMTI2LDcxLDEyMDE3OCw3MSwxMjAyMzAsNzEsMTIwMjgyLDcxLDEyMDMzNCw3MSwxMjAzODYsNzEsMTIwNDM4LDcxLDEyOTIsNzEsNTA1Niw3MSw1MTA3LDcxLDQyMTk4LDcxLDY1MzUyLDEwNCw4NDYyLDEwNCwxMTk4NDEsMTA0LDExOTk0NSwxMDQsMTE5OTk3LDEwNCwxMjAwNDksMTA0LDEyMDEwMSwxMDQsMTIwMTUzLDEwNCwxMjAyMDUsMTA0LDEyMDI1NywxMDQsMTIwMzA5LDEwNCwxMjAzNjEsMTA0LDEyMDQxMywxMDQsMTIwNDY1LDEwNCwxMjExLDEwNCwxMzkyLDEwNCw1MDU4LDEwNCw2NTMyMCw3Miw4NDU5LDcyLDg0NjAsNzIsODQ2MSw3MiwxMTk4MTUsNzIsMTE5ODY3LDcyLDExOTkxOSw3MiwxMjAwMjMsNzIsMTIwMTc5LDcyLDEyMDIzMSw3MiwxMjAyODMsNzIsMTIwMzM1LDcyLDEyMDM4Nyw3MiwxMjA0MzksNzIsOTE5LDcyLDEyMDQ5NCw3MiwxMjA1NTIsNzIsMTIwNjEwLDcyLDEyMDY2OCw3MiwxMjA3MjYsNzIsMTE0MDYsNzIsNTA1MSw3Miw1NTAwLDcyLDQyMjE1LDcyLDY2MjU1LDcyLDczMSwxMDUsOTA3NSwxMDUsNjUzNTMsMTA1LDg1NjAsMTA1LDg1MDUsMTA1LDg1MjAsMTA1LDExOTg0MiwxMDUsMTE5ODk0LDEwNSwxMTk5NDYsMTA1LDExOTk5OCwxMDUsMTIwMDUwLDEwNSwxMjAxMDIsMTA1LDEyMDE1NCwxMDUsMTIwMjA2LDEwNSwxMjAyNTgsMTA1LDEyMDMxMCwxMDUsMTIwMzYyLDEwNSwxMjA0MTQsMTA1LDEyMDQ2NiwxMDUsMTIwNDg0LDEwNSw2MTgsMTA1LDYxNywxMDUsOTUzLDEwNSw4MTI2LDEwNSw4OTAsMTA1LDEyMDUyMiwxMDUsMTIwNTgwLDEwNSwxMjA2MzgsMTA1LDEyMDY5NiwxMDUsMTIwNzU0LDEwNSwxMTEwLDEwNSw0MjU2NywxMDUsMTIzMSwxMDUsNDM4OTMsMTA1LDUwMjksMTA1LDcxODc1LDEwNSw2NTM1NCwxMDYsODUyMSwxMDYsMTE5ODQzLDEwNiwxMTk4OTUsMTA2LDExOTk0NywxMDYsMTE5OTk5LDEwNiwxMjAwNTEsMTA2LDEyMDEwMywxMDYsMTIwMTU1LDEwNiwxMjAyMDcsMTA2LDEyMDI1OSwxMDYsMTIwMzExLDEwNiwxMjAzNjMsMTA2LDEyMDQxNSwxMDYsMTIwNDY3LDEwNiwxMDExLDEwNiwxMTEyLDEwNiw2NTMyMiw3NCwxMTk4MTcsNzQsMTE5ODY5LDc0LDExOTkyMSw3NCwxMTk5NzMsNzQsMTIwMDI1LDc0LDEyMDA3Nyw3NCwxMjAxMjksNzQsMTIwMTgxLDc0LDEyMDIzMyw3NCwxMjAyODUsNzQsMTIwMzM3LDc0LDEyMDM4OSw3NCwxMjA0NDEsNzQsNDI5MzAsNzQsODk1LDc0LDEwMzIsNzQsNTAzNSw3NCw1MjYxLDc0LDQyMjAxLDc0LDExOTg0NCwxMDcsMTE5ODk2LDEwNywxMTk5NDgsMTA3LDEyMDAwMCwxMDcsMTIwMDUyLDEwNywxMjAxMDQsMTA3LDEyMDE1NiwxMDcsMTIwMjA4LDEwNywxMjAyNjAsMTA3LDEyMDMxMiwxMDcsMTIwMzY0LDEwNywxMjA0MTYsMTA3LDEyMDQ2OCwxMDcsODQ5MCw3NSw2NTMyMyw3NSwxMTk4MTgsNzUsMTE5ODcwLDc1LDExOTkyMiw3NSwxMTk5NzQsNzUsMTIwMDI2LDc1LDEyMDA3OCw3NSwxMjAxMzAsNzUsMTIwMTgyLDc1LDEyMDIzNCw3NSwxMjAyODYsNzUsMTIwMzM4LDc1LDEyMDM5MCw3NSwxMjA0NDIsNzUsOTIyLDc1LDEyMDQ5Nyw3NSwxMjA1NTUsNzUsMTIwNjEzLDc1LDEyMDY3MSw3NSwxMjA3MjksNzUsMTE0MTIsNzUsNTA5NCw3NSw1ODQ1LDc1LDQyMTk5LDc1LDY2ODQwLDc1LDE0NzIsMTA4LDg3MzksNzMsOTIxMyw3Myw2NTUxMiw3MywxNjMzLDEwOCwxNzc3LDczLDY2MzM2LDEwOCwxMjUxMjcsMTA4LDEyMDc4Myw3MywxMjA3OTMsNzMsMTIwODAzLDczLDEyMDgxMyw3MywxMjA4MjMsNzMsMTMwMDMzLDczLDY1MzIxLDczLDg1NDQsNzMsODQ2NCw3Myw4NDY1LDczLDExOTgxNiw3MywxMTk4NjgsNzMsMTE5OTIwLDczLDEyMDAyNCw3MywxMjAxMjgsNzMsMTIwMTgwLDczLDEyMDIzMiw3MywxMjAyODQsNzMsMTIwMzM2LDczLDEyMDM4OCw3MywxMjA0NDAsNzMsNjUzNTYsMTA4LDg1NzIsNzMsODQ2NywxMDgsMTE5ODQ1LDEwOCwxMTk4OTcsMTA4LDExOTk0OSwxMDgsMTIwMDAxLDEwOCwxMjAwNTMsMTA4LDEyMDEwNSw3MywxMjAxNTcsNzMsMTIwMjA5LDczLDEyMDI2MSw3MywxMjAzMTMsNzMsMTIwMzY1LDczLDEyMDQxNyw3MywxMjA0NjksNzMsNDQ4LDczLDEyMDQ5Niw3MywxMjA1NTQsNzMsMTIwNjEyLDczLDEyMDY3MCw3MywxMjA3MjgsNzMsMTE0MTAsNzMsMTAzMCw3MywxMjE2LDczLDE0OTMsMTA4LDE1MDMsMTA4LDE1NzUsMTA4LDEyNjQ2NCwxMDgsMTI2NTkyLDEwOCw2NTE2NiwxMDgsNjUxNjUsMTA4LDE5OTQsMTA4LDExNTk5LDczLDU4MjUsNzMsNDIyMjYsNzMsOTM5OTIsNzMsNjYxODYsMTI0LDY2MzEzLDEyNCwxMTkzMzgsNzYsODU1Niw3Niw4NDY2LDc2LDExOTgxOSw3NiwxMTk4NzEsNzYsMTE5OTIzLDc2LDEyMDAyNyw3NiwxMjAwNzksNzYsMTIwMTMxLDc2LDEyMDE4Myw3NiwxMjAyMzUsNzYsMTIwMjg3LDc2LDEyMDMzOSw3NiwxMjAzOTEsNzYsMTIwNDQzLDc2LDExNDcyLDc2LDUwODYsNzYsNTI5MCw3Niw0MjIwOSw3Niw5Mzk3NCw3Niw3MTg0Myw3Niw3MTg1OCw3Niw2NjU4Nyw3Niw2Njg1NCw3Niw2NTMyNSw3Nyw4NTU5LDc3LDg0OTksNzcsMTE5ODIwLDc3LDExOTg3Miw3NywxMTk5MjQsNzcsMTIwMDI4LDc3LDEyMDA4MCw3NywxMjAxMzIsNzcsMTIwMTg0LDc3LDEyMDIzNiw3NywxMjAyODgsNzcsMTIwMzQwLDc3LDEyMDM5Miw3NywxMjA0NDQsNzcsOTI0LDc3LDEyMDQ5OSw3NywxMjA1NTcsNzcsMTIwNjE1LDc3LDEyMDY3Myw3NywxMjA3MzEsNzcsMTAxOCw3NywxMTQxNiw3Nyw1MDQ3LDc3LDU2MTYsNzcsNTg0Niw3Nyw0MjIwNyw3Nyw2NjIyNCw3Nyw2NjMyMSw3NywxMTk4NDcsMTEwLDExOTg5OSwxMTAsMTE5OTUxLDExMCwxMjAwMDMsMTEwLDEyMDA1NSwxMTAsMTIwMTA3LDExMCwxMjAxNTksMTEwLDEyMDIxMSwxMTAsMTIwMjYzLDExMCwxMjAzMTUsMTEwLDEyMDM2NywxMTAsMTIwNDE5LDExMCwxMjA0NzEsMTEwLDE0MDAsMTEwLDE0MDQsMTEwLDY1MzI2LDc4LDg0NjksNzgsMTE5ODIxLDc4LDExOTg3Myw3OCwxMTk5MjUsNzgsMTE5OTc3LDc4LDEyMDAyOSw3OCwxMjAwODEsNzgsMTIwMTg1LDc4LDEyMDIzNyw3OCwxMjAyODksNzgsMTIwMzQxLDc4LDEyMDM5Myw3OCwxMjA0NDUsNzgsOTI1LDc4LDEyMDUwMCw3OCwxMjA1NTgsNzgsMTIwNjE2LDc4LDEyMDY3NCw3OCwxMjA3MzIsNzgsMTE0MTgsNzgsNDIyMDgsNzgsNjY4MzUsNzgsMzA3NCwxMTEsMzIwMiwxMTEsMzMzMCwxMTEsMzQ1OCwxMTEsMjQwNiwxMTEsMjY2MiwxMTEsMjc5MCwxMTEsMzA0NiwxMTEsMzE3NCwxMTEsMzMwMiwxMTEsMzQzMCwxMTEsMzY2NCwxMTEsMzc5MiwxMTEsNDE2MCwxMTEsMTYzNywxMTEsMTc4MSwxMTEsNjUzNTksMTExLDg1MDAsMTExLDExOTg0OCwxMTEsMTE5OTAwLDExMSwxMTk5NTIsMTExLDEyMDA1NiwxMTEsMTIwMTA4LDExMSwxMjAxNjAsMTExLDEyMDIxMiwxMTEsMTIwMjY0LDExMSwxMjAzMTYsMTExLDEyMDM2OCwxMTEsMTIwNDIwLDExMSwxMjA0NzIsMTExLDc0MzksMTExLDc0NDEsMTExLDQzODM3LDExMSw5NTksMTExLDEyMDUyOCwxMTEsMTIwNTg2LDExMSwxMjA2NDQsMTExLDEyMDcwMiwxMTEsMTIwNzYwLDExMSw5NjMsMTExLDEyMDUzMiwxMTEsMTIwNTkwLDExMSwxMjA2NDgsMTExLDEyMDcwNiwxMTEsMTIwNzY0LDExMSwxMTQyMywxMTEsNDM1MSwxMTEsMTQxMywxMTEsMTUwNSwxMTEsMTYwNywxMTEsMTI2NTAwLDExMSwxMjY1NjQsMTExLDEyNjU5NiwxMTEsNjUyNTksMTExLDY1MjYwLDExMSw2NTI1OCwxMTEsNjUyNTcsMTExLDE3MjYsMTExLDY0NDI4LDExMSw2NDQyOSwxMTEsNjQ0MjcsMTExLDY0NDI2LDExMSwxNzI5LDExMSw2NDQyNCwxMTEsNjQ0MjUsMTExLDY0NDIzLDExMSw2NDQyMiwxMTEsMTc0OSwxMTEsMzM2MCwxMTEsNDEyNSwxMTEsNjY3OTQsMTExLDcxODgwLDExMSw3MTg5NSwxMTEsNjY2MDQsMTExLDE5ODQsNzksMjUzNCw3OSwyOTE4LDc5LDEyMjk1LDc5LDcwODY0LDc5LDcxOTA0LDc5LDEyMDc4Miw3OSwxMjA3OTIsNzksMTIwODAyLDc5LDEyMDgxMiw3OSwxMjA4MjIsNzksMTMwMDMyLDc5LDY1MzI3LDc5LDExOTgyMiw3OSwxMTk4NzQsNzksMTE5OTI2LDc5LDExOTk3OCw3OSwxMjAwMzAsNzksMTIwMDgyLDc5LDEyMDEzNCw3OSwxMjAxODYsNzksMTIwMjM4LDc5LDEyMDI5MCw3OSwxMjAzNDIsNzksMTIwMzk0LDc5LDEyMDQ0Niw3OSw5MjcsNzksMTIwNTAyLDc5LDEyMDU2MCw3OSwxMjA2MTgsNzksMTIwNjc2LDc5LDEyMDczNCw3OSwxMTQyMiw3OSwxMzY1LDc5LDExNjA0LDc5LDQ4MTYsNzksMjg0OCw3OSw2Njc1NCw3OSw0MjIyNyw3OSw3MTg2MSw3OSw2NjE5NCw3OSw2NjIxOSw3OSw2NjU2NCw3OSw2NjgzOCw3OSw5MDc2LDExMiw2NTM2MCwxMTIsMTE5ODQ5LDExMiwxMTk5MDEsMTEyLDExOTk1MywxMTIsMTIwMDA1LDExMiwxMjAwNTcsMTEyLDEyMDEwOSwxMTIsMTIwMTYxLDExMiwxMjAyMTMsMTEyLDEyMDI2NSwxMTIsMTIwMzE3LDExMiwxMjAzNjksMTEyLDEyMDQyMSwxMTIsMTIwNDczLDExMiw5NjEsMTEyLDEyMDUzMCwxMTIsMTIwNTQ0LDExMiwxMjA1ODgsMTEyLDEyMDYwMiwxMTIsMTIwNjQ2LDExMiwxMjA2NjAsMTEyLDEyMDcwNCwxMTIsMTIwNzE4LDExMiwxMjA3NjIsMTEyLDEyMDc3NiwxMTIsMTE0MjcsMTEyLDY1MzI4LDgwLDg0NzMsODAsMTE5ODIzLDgwLDExOTg3NSw4MCwxMTk5MjcsODAsMTE5OTc5LDgwLDEyMDAzMSw4MCwxMjAwODMsODAsMTIwMTg3LDgwLDEyMDIzOSw4MCwxMjAyOTEsODAsMTIwMzQzLDgwLDEyMDM5NSw4MCwxMjA0NDcsODAsOTI5LDgwLDEyMDUwNCw4MCwxMjA1NjIsODAsMTIwNjIwLDgwLDEyMDY3OCw4MCwxMjA3MzYsODAsMTE0MjYsODAsNTA5MCw4MCw1MjI5LDgwLDQyMTkzLDgwLDY2MTk3LDgwLDExOTg1MCwxMTMsMTE5OTAyLDExMywxMTk5NTQsMTEzLDEyMDAwNiwxMTMsMTIwMDU4LDExMywxMjAxMTAsMTEzLDEyMDE2MiwxMTMsMTIwMjE0LDExMywxMjAyNjYsMTEzLDEyMDMxOCwxMTMsMTIwMzcwLDExMywxMjA0MjIsMTEzLDEyMDQ3NCwxMTMsMTMwNywxMTMsMTM3OSwxMTMsMTM4MiwxMTMsODQ3NCw4MSwxMTk4MjQsODEsMTE5ODc2LDgxLDExOTkyOCw4MSwxMTk5ODAsODEsMTIwMDMyLDgxLDEyMDA4NCw4MSwxMjAxODgsODEsMTIwMjQwLDgxLDEyMDI5Miw4MSwxMjAzNDQsODEsMTIwMzk2LDgxLDEyMDQ0OCw4MSwxMTYwNSw4MSwxMTk4NTEsMTE0LDExOTkwMywxMTQsMTE5OTU1LDExNCwxMjAwMDcsMTE0LDEyMDA1OSwxMTQsMTIwMTExLDExNCwxMjAxNjMsMTE0LDEyMDIxNSwxMTQsMTIwMjY3LDExNCwxMjAzMTksMTE0LDEyMDM3MSwxMTQsMTIwNDIzLDExNCwxMjA0NzUsMTE0LDQzODQ3LDExNCw0Mzg0OCwxMTQsNzQ2MiwxMTQsMTEzOTcsMTE0LDQzOTA1LDExNCwxMTkzMTgsODIsODQ3NSw4Miw4NDc2LDgyLDg0NzcsODIsMTE5ODI1LDgyLDExOTg3Nyw4MiwxMTk5MjksODIsMTIwMDMzLDgyLDEyMDE4OSw4MiwxMjAyNDEsODIsMTIwMjkzLDgyLDEyMDM0NSw4MiwxMjAzOTcsODIsMTIwNDQ5LDgyLDQyMiw4Miw1MDI1LDgyLDUwNzQsODIsNjY3NDAsODIsNTUxMSw4Miw0MjIxMSw4Miw5NDAwNSw4Miw2NTM2MywxMTUsMTE5ODUyLDExNSwxMTk5MDQsMTE1LDExOTk1NiwxMTUsMTIwMDA4LDExNSwxMjAwNjAsMTE1LDEyMDExMiwxMTUsMTIwMTY0LDExNSwxMjAyMTYsMTE1LDEyMDI2OCwxMTUsMTIwMzIwLDExNSwxMjAzNzIsMTE1LDEyMDQyNCwxMTUsMTIwNDc2LDExNSw0MjgwMSwxMTUsNDQ1LDExNSwxMTA5LDExNSw0Mzk0NiwxMTUsNzE4NzMsMTE1LDY2NjMyLDExNSw2NTMzMSw4MywxMTk4MjYsODMsMTE5ODc4LDgzLDExOTkzMCw4MywxMTk5ODIsODMsMTIwMDM0LDgzLDEyMDA4Niw4MywxMjAxMzgsODMsMTIwMTkwLDgzLDEyMDI0Miw4MywxMjAyOTQsODMsMTIwMzQ2LDgzLDEyMDM5OCw4MywxMjA0NTAsODMsMTAyOSw4MywxMzU5LDgzLDUwNzcsODMsNTA4Miw4Myw0MjIxMCw4Myw5NDAxMCw4Myw2NjE5OCw4Myw2NjU5Miw4MywxMTk4NTMsMTE2LDExOTkwNSwxMTYsMTE5OTU3LDExNiwxMjAwMDksMTE2LDEyMDA2MSwxMTYsMTIwMTEzLDExNiwxMjAxNjUsMTE2LDEyMDIxNywxMTYsMTIwMjY5LDExNiwxMjAzMjEsMTE2LDEyMDM3MywxMTYsMTIwNDI1LDExNiwxMjA0NzcsMTE2LDg4NjgsODQsMTAyMDEsODQsMTI4ODcyLDg0LDY1MzMyLDg0LDExOTgyNyw4NCwxMTk4NzksODQsMTE5OTMxLDg0LDExOTk4Myw4NCwxMjAwMzUsODQsMTIwMDg3LDg0LDEyMDEzOSw4NCwxMjAxOTEsODQsMTIwMjQzLDg0LDEyMDI5NSw4NCwxMjAzNDcsODQsMTIwMzk5LDg0LDEyMDQ1MSw4NCw5MzIsODQsMTIwNTA3LDg0LDEyMDU2NSw4NCwxMjA2MjMsODQsMTIwNjgxLDg0LDEyMDczOSw4NCwxMTQzMCw4NCw1MDI2LDg0LDQyMTk2LDg0LDkzOTYyLDg0LDcxODY4LDg0LDY2MTk5LDg0LDY2MjI1LDg0LDY2MzI1LDg0LDExOTg1NCwxMTcsMTE5OTA2LDExNywxMTk5NTgsMTE3LDEyMDAxMCwxMTcsMTIwMDYyLDExNywxMjAxMTQsMTE3LDEyMDE2NiwxMTcsMTIwMjE4LDExNywxMjAyNzAsMTE3LDEyMDMyMiwxMTcsMTIwMzc0LDExNywxMjA0MjYsMTE3LDEyMDQ3OCwxMTcsNDI5MTEsMTE3LDc0NTIsMTE3LDQzODU0LDExNyw0Mzg1OCwxMTcsNjUxLDExNyw5NjUsMTE3LDEyMDUzNCwxMTcsMTIwNTkyLDExNywxMjA2NTAsMTE3LDEyMDcwOCwxMTcsMTIwNzY2LDExNywxNDA1LDExNyw2NjgwNiwxMTcsNzE4OTYsMTE3LDg3NDYsODUsODg5OSw4NSwxMTk4MjgsODUsMTE5ODgwLDg1LDExOTkzMiw4NSwxMTk5ODQsODUsMTIwMDM2LDg1LDEyMDA4OCw4NSwxMjAxNDAsODUsMTIwMTkyLDg1LDEyMDI0NCw4NSwxMjAyOTYsODUsMTIwMzQ4LDg1LDEyMDQwMCw4NSwxMjA0NTIsODUsMTM1Nyw4NSw0NjA4LDg1LDY2NzY2LDg1LDUxOTYsODUsNDIyMjgsODUsOTQwMTgsODUsNzE4NjQsODUsODc0NCwxMTgsODg5NywxMTgsNjUzNjYsMTE4LDg1NjQsMTE4LDExOTg1NSwxMTgsMTE5OTA3LDExOCwxMTk5NTksMTE4LDEyMDAxMSwxMTgsMTIwMDYzLDExOCwxMjAxMTUsMTE4LDEyMDE2NywxMTgsMTIwMjE5LDExOCwxMjAyNzEsMTE4LDEyMDMyMywxMTgsMTIwMzc1LDExOCwxMjA0MjcsMTE4LDEyMDQ3OSwxMTgsNzQ1NiwxMTgsOTU3LDExOCwxMjA1MjYsMTE4LDEyMDU4NCwxMTgsMTIwNjQyLDExOCwxMjA3MDAsMTE4LDEyMDc1OCwxMTgsMTE0MSwxMTgsMTQ5NiwxMTgsNzE0MzAsMTE4LDQzOTQ1LDExOCw3MTg3MiwxMTgsMTE5MzA5LDg2LDE2MzksODYsMTc4Myw4Niw4NTQ4LDg2LDExOTgyOSw4NiwxMTk4ODEsODYsMTE5OTMzLDg2LDExOTk4NSw4NiwxMjAwMzcsODYsMTIwMDg5LDg2LDEyMDE0MSw4NiwxMjAxOTMsODYsMTIwMjQ1LDg2LDEyMDI5Nyw4NiwxMjAzNDksODYsMTIwNDAxLDg2LDEyMDQ1Myw4NiwxMTQwLDg2LDExNTc2LDg2LDUwODEsODYsNTE2Nyw4Niw0MjcxOSw4Niw0MjIxNCw4Niw5Mzk2MCw4Niw3MTg0MCw4Niw2Njg0NSw4Niw2MjMsMTE5LDExOTg1NiwxMTksMTE5OTA4LDExOSwxMTk5NjAsMTE5LDEyMDAxMiwxMTksMTIwMDY0LDExOSwxMjAxMTYsMTE5LDEyMDE2OCwxMTksMTIwMjIwLDExOSwxMjAyNzIsMTE5LDEyMDMyNCwxMTksMTIwMzc2LDExOSwxMjA0MjgsMTE5LDEyMDQ4MCwxMTksNzQ1NywxMTksMTEyMSwxMTksMTMwOSwxMTksMTM3NywxMTksNzE0MzQsMTE5LDcxNDM4LDExOSw3MTQzOSwxMTksNDM5MDcsMTE5LDcxOTE5LDg3LDcxOTEwLDg3LDExOTgzMCw4NywxMTk4ODIsODcsMTE5OTM0LDg3LDExOTk4Niw4NywxMjAwMzgsODcsMTIwMDkwLDg3LDEyMDE0Miw4NywxMjAxOTQsODcsMTIwMjQ2LDg3LDEyMDI5OCw4NywxMjAzNTAsODcsMTIwNDAyLDg3LDEyMDQ1NCw4NywxMzA4LDg3LDUwNDMsODcsNTA3Niw4Nyw0MjIxOCw4Nyw1NzQyLDEyMCwxMDUzOSwxMjAsMTA1NDAsMTIwLDEwNzk5LDEyMCw2NTM2OCwxMjAsODU2OSwxMjAsMTE5ODU3LDEyMCwxMTk5MDksMTIwLDExOTk2MSwxMjAsMTIwMDEzLDEyMCwxMjAwNjUsMTIwLDEyMDExNywxMjAsMTIwMTY5LDEyMCwxMjAyMjEsMTIwLDEyMDI3MywxMjAsMTIwMzI1LDEyMCwxMjAzNzcsMTIwLDEyMDQyOSwxMjAsMTIwNDgxLDEyMCw1NDQxLDEyMCw1NTAxLDEyMCw1NzQxLDg4LDk1ODcsODgsNjYzMzgsODgsNzE5MTYsODgsNjUzMzYsODgsODU1Myw4OCwxMTk4MzEsODgsMTE5ODgzLDg4LDExOTkzNSw4OCwxMTk5ODcsODgsMTIwMDM5LDg4LDEyMDA5MSw4OCwxMjAxNDMsODgsMTIwMTk1LDg4LDEyMDI0Nyw4OCwxMjAyOTksODgsMTIwMzUxLDg4LDEyMDQwMyw4OCwxMjA0NTUsODgsNDI5MzEsODgsOTM1LDg4LDEyMDUxMCw4OCwxMjA1NjgsODgsMTIwNjI2LDg4LDEyMDY4NCw4OCwxMjA3NDIsODgsMTE0MzYsODgsMTE2MTMsODgsNTgxNSw4OCw0MjIxOSw4OCw2NjE5Miw4OCw2NjIyOCw4OCw2NjMyNyw4OCw2Njg1NSw4OCw2MTEsMTIxLDc1NjQsMTIxLDY1MzY5LDEyMSwxMTk4NTgsMTIxLDExOTkxMCwxMjEsMTE5OTYyLDEyMSwxMjAwMTQsMTIxLDEyMDA2NiwxMjEsMTIwMTE4LDEyMSwxMjAxNzAsMTIxLDEyMDIyMiwxMjEsMTIwMjc0LDEyMSwxMjAzMjYsMTIxLDEyMDM3OCwxMjEsMTIwNDMwLDEyMSwxMjA0ODIsMTIxLDY1NSwxMjEsNzkzNSwxMjEsNDM4NjYsMTIxLDk0NywxMjEsODUwOSwxMjEsMTIwNTE2LDEyMSwxMjA1NzQsMTIxLDEyMDYzMiwxMjEsMTIwNjkwLDEyMSwxMjA3NDgsMTIxLDExOTksMTIxLDQzMjcsMTIxLDcxOTAwLDEyMSw2NTMzNyw4OSwxMTk4MzIsODksMTE5ODg0LDg5LDExOTkzNiw4OSwxMTk5ODgsODksMTIwMDQwLDg5LDEyMDA5Miw4OSwxMjAxNDQsODksMTIwMTk2LDg5LDEyMDI0OCw4OSwxMjAzMDAsODksMTIwMzUyLDg5LDEyMDQwNCw4OSwxMjA0NTYsODksOTMzLDg5LDk3OCw4OSwxMjA1MDgsODksMTIwNTY2LDg5LDEyMDYyNCw4OSwxMjA2ODIsODksMTIwNzQwLDg5LDExNDMyLDg5LDExOTgsODksNTAzMyw4OSw1MDUzLDg5LDQyMjIwLDg5LDk0MDE5LDg5LDcxODQ0LDg5LDY2MjI2LDg5LDExOTg1OSwxMjIsMTE5OTExLDEyMiwxMTk5NjMsMTIyLDEyMDAxNSwxMjIsMTIwMDY3LDEyMiwxMjAxMTksMTIyLDEyMDE3MSwxMjIsMTIwMjIzLDEyMiwxMjAyNzUsMTIyLDEyMDMyNywxMjIsMTIwMzc5LDEyMiwxMjA0MzEsMTIyLDEyMDQ4MywxMjIsNzQ1OCwxMjIsNDM5MjMsMTIyLDcxODc2LDEyMiw2NjI5Myw5MCw3MTkwOSw5MCw2NTMzOCw5MCw4NDg0LDkwLDg0ODgsOTAsMTE5ODMzLDkwLDExOTg4NSw5MCwxMTk5MzcsOTAsMTE5OTg5LDkwLDEyMDA0MSw5MCwxMjAxOTcsOTAsMTIwMjQ5LDkwLDEyMDMwMSw5MCwxMjAzNTMsOTAsMTIwNDA1LDkwLDEyMDQ1Nyw5MCw5MTgsOTAsMTIwNDkzLDkwLDEyMDU1MSw5MCwxMjA2MDksOTAsMTIwNjY3LDkwLDEyMDcyNSw5MCw1MDU5LDkwLDQyMjA0LDkwLDcxODQ5LDkwLDY1MjgyLDM0LDY1Mjg0LDM2LDY1Mjg1LDM3LDY1Mjg2LDM4LDY1MjkwLDQyLDY1MjkxLDQzLDY1Mjk0LDQ2LDY1Mjk1LDQ3LDY1Mjk2LDQ4LDY1Mjk3LDQ5LDY1Mjk4LDUwLDY1Mjk5LDUxLDY1MzAwLDUyLDY1MzAxLDUzLDY1MzAyLDU0LDY1MzAzLDU1LDY1MzA0LDU2LDY1MzA1LDU3LDY1MzA4LDYwLDY1MzA5LDYxLDY1MzEwLDYyLDY1MzEyLDY0LDY1MzE2LDY4LDY1MzE4LDcwLDY1MzE5LDcxLDY1MzI0LDc2LDY1MzI5LDgxLDY1MzMwLDgyLDY1MzMzLDg1LDY1MzM0LDg2LDY1MzM1LDg3LDY1MzQzLDk1LDY1MzQ2LDk4LDY1MzQ4LDEwMCw2NTM1MCwxMDIsNjUzNTUsMTA3LDY1MzU3LDEwOSw2NTM1OCwxMTAsNjUzNjEsMTEzLDY1MzYyLDExNCw2NTM2NCwxMTYsNjUzNjUsMTE3LDY1MzY3LDExOSw2NTM3MCwxMjIsNjUzNzEsMTIzLDY1MzczLDEyNSwxMTk4NDYsMTA5XSwiX2RlZmF1bHQiOlsxNjAsMzIsODIxMSw0NSw2NTM3NCwxMjYsNjUzMDYsNTgsNjUyODEsMzMsODIxNiw5Niw4MjE3LDk2LDgyNDUsOTYsMTgwLDk2LDEyNDk0LDQ3LDEwNDcsNTEsMTA3Myw1NCwxMDcyLDk3LDEwNDAsNjUsMTA2OCw5OCwxMDQyLDY2LDEwODksOTksMTA1Nyw2NywxMDc3LDEwMSwxMDQ1LDY5LDEwNTMsNzIsMzA1LDEwNSwxMDUwLDc1LDkyMSw3MywxMDUyLDc3LDEwODYsMTExLDEwNTQsNzksMTAwOSwxMTIsMTA4OCwxMTIsMTA1Niw4MCwxMDc1LDExNCwxMDU4LDg0LDIxNSwxMjAsMTA5MywxMjAsMTA2MSw4OCwxMDkxLDEyMSwxMDU5LDg5LDY1MjgzLDM1LDY1Mjg4LDQwLDY1Mjg5LDQxLDY1MjkyLDQ0LDY1MzA3LDU5LDY1MzExLDYzXSwiY3MiOls2NTM3NCwxMjYsNjUzMDYsNTgsNjUyODEsMzMsODIxNiw5Niw4MjE3LDk2LDgyNDUsOTYsMTgwLDk2LDEyNDk0LDQ3LDEwNDcsNTEsMTA3Myw1NCwxMDcyLDk3LDEwNDAsNjUsMTA2OCw5OCwxMDQyLDY2LDEwODksOTksMTA1Nyw2NywxMDc3LDEwMSwxMDQ1LDY5LDEwNTMsNzIsMzA1LDEwNSwxMDUwLDc1LDkyMSw3MywxMDUyLDc3LDEwODYsMTExLDEwNTQsNzksMTAwOSwxMTIsMTA4OCwxMTIsMTA1Niw4MCwxMDc1LDExNCwxMDU4LDg0LDEwOTMsMTIwLDEwNjEsODgsMTA5MSwxMjEsMTA1OSw4OSw2NTI4MywzNSw2NTI4OCw0MCw2NTI4OSw0MSw2NTI5Miw0NCw2NTMwNyw1OSw2NTMxMSw2M10sImRlIjpbNjUzNzQsMTI2LDY1MzA2LDU4LDY1MjgxLDMzLDgyMTYsOTYsODIxNyw5Niw4MjQ1LDk2LDE4MCw5NiwxMjQ5NCw0NywxMDQ3LDUxLDEwNzMsNTQsMTA3Miw5NywxMDQwLDY1LDEwNjgsOTgsMTA0Miw2NiwxMDg5LDk5LDEwNTcsNjcsMTA3NywxMDEsMTA0NSw2OSwxMDUzLDcyLDMwNSwxMDUsMTA1MCw3NSw5MjEsNzMsMTA1Miw3NywxMDg2LDExMSwxMDU0LDc5LDEwMDksMTEyLDEwODgsMTEyLDEwNTYsODAsMTA3NSwxMTQsMTA1OCw4NCwxMDkzLDEyMCwxMDYxLDg4LDEwOTEsMTIxLDEwNTksODksNjUyODMsMzUsNjUyODgsNDAsNjUyODksNDEsNjUyOTIsNDQsNjUzMDcsNTksNjUzMTEsNjNdLCJlcyI6WzgyMTEsNDUsNjUzNzQsMTI2LDY1MzA2LDU4LDY1MjgxLDMzLDgyNDUsOTYsMTgwLDk2LDEyNDk0LDQ3LDEwNDcsNTEsMTA3Myw1NCwxMDcyLDk3LDEwNDAsNjUsMTA2OCw5OCwxMDQyLDY2LDEwODksOTksMTA1Nyw2NywxMDc3LDEwMSwxMDQ1LDY5LDEwNTMsNzIsMzA1LDEwNSwxMDUwLDc1LDEwNTIsNzcsMTA4NiwxMTEsMTA1NCw3OSwxMDA5LDExMiwxMDg4LDExMiwxMDU2LDgwLDEwNzUsMTE0LDEwNTgsODQsMjE1LDEyMCwxMDkzLDEyMCwxMDYxLDg4LDEwOTEsMTIxLDEwNTksODksNjUyODMsMzUsNjUyODgsNDAsNjUyODksNDEsNjUyOTIsNDQsNjUzMDcsNTksNjUzMTEsNjNdLCJmciI6WzY1Mzc0LDEyNiw2NTMwNiw1OCw2NTI4MSwzMyw4MjE2LDk2LDgyNDUsOTYsMTI0OTQsNDcsMTA0Nyw1MSwxMDczLDU0LDEwNzIsOTcsMTA0MCw2NSwxMDY4LDk4LDEwNDIsNjYsMTA4OSw5OSwxMDU3LDY3LDEwNzcsMTAxLDEwNDUsNjksMTA1Myw3MiwzMDUsMTA1LDEwNTAsNzUsOTIxLDczLDEwNTIsNzcsMTA4NiwxMTEsMTA1NCw3OSwxMDA5LDExMiwxMDg4LDExMiwxMDU2LDgwLDEwNzUsMTE0LDEwNTgsODQsMjE1LDEyMCwxMDkzLDEyMCwxMDYxLDg4LDEwOTEsMTIxLDEwNTksODksNjUyODMsMzUsNjUyODgsNDAsNjUyODksNDEsNjUyOTIsNDQsNjUzMDcsNTksNjUzMTEsNjNdLCJpdCI6WzE2MCwzMiw4MjExLDQ1LDY1Mzc0LDEyNiw2NTMwNiw1OCw2NTI4MSwzMyw4MjE2LDk2LDgyNDUsOTYsMTgwLDk2LDEyNDk0LDQ3LDEwNDcsNTEsMTA3Myw1NCwxMDcyLDk3LDEwNDAsNjUsMTA2OCw5OCwxMDQyLDY2LDEwODksOTksMTA1Nyw2NywxMDc3LDEwMSwxMDQ1LDY5LDEwNTMsNzIsMzA1LDEwNSwxMDUwLDc1LDkyMSw3MywxMDUyLDc3LDEwODYsMTExLDEwNTQsNzksMTAwOSwxMTIsMTA4OCwxMTIsMTA1Niw4MCwxMDc1LDExNCwxMDU4LDg0LDIxNSwxMjAsMTA5MywxMjAsMTA2MSw4OCwxMDkxLDEyMSwxMDU5LDg5LDY1MjgzLDM1LDY1Mjg4LDQwLDY1Mjg5LDQxLDY1MjkyLDQ0LDY1MzA3LDU5LDY1MzExLDYzXSwiamEiOls4MjExLDQ1LDY1MzA2LDU4LDY1MjgxLDMzLDgyMTYsOTYsODIxNyw5Niw4MjQ1LDk2LDE4MCw5NiwxMDQ3LDUxLDEwNzMsNTQsMTA3Miw5NywxMDQwLDY1LDEwNjgsOTgsMTA0Miw2NiwxMDg5LDk5LDEwNTcsNjcsMTA3NywxMDEsMTA0NSw2OSwxMDUzLDcyLDMwNSwxMDUsMTA1MCw3NSw5MjEsNzMsMTA1Miw3NywxMDg2LDExMSwxMDU0LDc5LDEwMDksMTEyLDEwODgsMTEyLDEwNTYsODAsMTA3NSwxMTQsMTA1OCw4NCwyMTUsMTIwLDEwOTMsMTIwLDEwNjEsODgsMTA5MSwxMjEsMTA1OSw4OSw2NTI4MywzNSw2NTI5Miw0NCw2NTMwNyw1OV0sImtvIjpbODIxMSw0NSw2NTM3NCwxMjYsNjUzMDYsNTgsNjUyODEsMzMsODI0NSw5NiwxODAsOTYsMTI0OTQsNDcsMTA0Nyw1MSwxMDczLDU0LDEwNzIsOTcsMTA0MCw2NSwxMDY4LDk4LDEwNDIsNjYsMTA4OSw5OSwxMDU3LDY3LDEwNzcsMTAxLDEwNDUsNjksMTA1Myw3MiwzMDUsMTA1LDEwNTAsNzUsOTIxLDczLDEwNTIsNzcsMTA4NiwxMTEsMTA1NCw3OSwxMDA5LDExMiwxMDg4LDExMiwxMDU2LDgwLDEwNzUsMTE0LDEwNTgsODQsMjE1LDEyMCwxMDkzLDEyMCwxMDYxLDg4LDEwOTEsMTIxLDEwNTksODksNjUyODMsMzUsNjUyODgsNDAsNjUyODksNDEsNjUyOTIsNDQsNjUzMDcsNTksNjUzMTEsNjNdLCJwbCI6WzY1Mzc0LDEyNiw2NTMwNiw1OCw2NTI4MSwzMyw4MjE2LDk2LDgyMTcsOTYsODI0NSw5NiwxODAsOTYsMTI0OTQsNDcsMTA0Nyw1MSwxMDczLDU0LDEwNzIsOTcsMTA0MCw2NSwxMDY4LDk4LDEwNDIsNjYsMTA4OSw5OSwxMDU3LDY3LDEwNzcsMTAxLDEwNDUsNjksMTA1Myw3MiwzMDUsMTA1LDEwNTAsNzUsOTIxLDczLDEwNTIsNzcsMTA4NiwxMTEsMTA1NCw3OSwxMDA5LDExMiwxMDg4LDExMiwxMDU2LDgwLDEwNzUsMTE0LDEwNTgsODQsMjE1LDEyMCwxMDkzLDEyMCwxMDYxLDg4LDEwOTEsMTIxLDEwNTksODksNjUyODMsMzUsNjUyODgsNDAsNjUyODksNDEsNjUyOTIsNDQsNjUzMDcsNTksNjUzMTEsNjNdLCJwdC1CUiI6WzY1Mzc0LDEyNiw2NTMwNiw1OCw2NTI4MSwzMyw4MjE2LDk2LDgyMTcsOTYsODI0NSw5NiwxODAsOTYsMTI0OTQsNDcsMTA0Nyw1MSwxMDczLDU0LDEwNzIsOTcsMTA0MCw2NSwxMDY4LDk4LDEwNDIsNjYsMTA4OSw5OSwxMDU3LDY3LDEwNzcsMTAxLDEwNDUsNjksMTA1Myw3MiwzMDUsMTA1LDEwNTAsNzUsOTIxLDczLDEwNTIsNzcsMTA4NiwxMTEsMTA1NCw3OSwxMDA5LDExMiwxMDg4LDExMiwxMDU2LDgwLDEwNzUsMTE0LDEwNTgsODQsMjE1LDEyMCwxMDkzLDEyMCwxMDYxLDg4LDEwOTEsMTIxLDEwNTksODksNjUyODMsMzUsNjUyODgsNDAsNjUyODksNDEsNjUyOTIsNDQsNjUzMDcsNTksNjUzMTEsNjNdLCJxcHMtcGxvYyI6WzE2MCwzMiw4MjExLDQ1LDY1Mzc0LDEyNiw2NTMwNiw1OCw2NTI4MSwzMyw4MjE2LDk2LDgyMTcsOTYsODI0NSw5NiwxODAsOTYsMTI0OTQsNDcsMTA0Nyw1MSwxMDczLDU0LDEwNzIsOTcsMTA0MCw2NSwxMDY4LDk4LDEwNDIsNjYsMTA4OSw5OSwxMDU3LDY3LDEwNzcsMTAxLDEwNDUsNjksMTA1Myw3MiwzMDUsMTA1LDEwNTAsNzUsOTIxLDczLDEwNTIsNzcsMTA4NiwxMTEsMTA1NCw3OSwxMDg4LDExMiwxMDU2LDgwLDEwNzUsMTE0LDEwNTgsODQsMjE1LDEyMCwxMDkzLDEyMCwxMDYxLDg4LDEwOTEsMTIxLDEwNTksODksNjUyODMsMzUsNjUyODgsNDAsNjUyODksNDEsNjUyOTIsNDQsNjUzMDcsNTksNjUzMTEsNjNdLCJydSI6WzY1Mzc0LDEyNiw2NTMwNiw1OCw2NTI4MSwzMyw4MjE2LDk2LDgyMTcsOTYsODI0NSw5NiwxODAsOTYsMTI0OTQsNDcsMzA1LDEwNSw5MjEsNzMsMTAwOSwxMTIsMjE1LDEyMCw2NTI4MywzNSw2NTI4OCw0MCw2NTI4OSw0MSw2NTI5Miw0NCw2NTMwNyw1OSw2NTMxMSw2M10sInRyIjpbMTYwLDMyLDgyMTEsNDUsNjUzNzQsMTI2LDY1MzA2LDU4LDY1MjgxLDMzLDgyNDUsOTYsMTgwLDk2LDEyNDk0LDQ3LDEwNDcsNTEsMTA3Myw1NCwxMDcyLDk3LDEwNDAsNjUsMTA2OCw5OCwxMDQyLDY2LDEwODksOTksMTA1Nyw2NywxMDc3LDEwMSwxMDQ1LDY5LDEwNTMsNzIsMTA1MCw3NSw5MjEsNzMsMTA1Miw3NywxMDg2LDExMSwxMDU0LDc5LDEwMDksMTEyLDEwODgsMTEyLDEwNTYsODAsMTA3NSwxMTQsMTA1OCw4NCwyMTUsMTIwLDEwOTMsMTIwLDEwNjEsODgsMTA5MSwxMjEsMTA1OSw4OSw2NTI4MywzNSw2NTI4OCw0MCw2NTI4OSw0MSw2NTI5Miw0NCw2NTMwNyw1OSw2NTMxMSw2M10sInpoLWhhbnMiOls2NTM3NCwxMjYsNjUzMDYsNTgsNjUyODEsMzMsODI0NSw5NiwxODAsOTYsMTI0OTQsNDcsMTA0Nyw1MSwxMDczLDU0LDEwNzIsOTcsMTA0MCw2NSwxMDY4LDk4LDEwNDIsNjYsMTA4OSw5OSwxMDU3LDY3LDEwNzcsMTAxLDEwNDUsNjksMTA1Myw3MiwzMDUsMTA1LDEwNTAsNzUsOTIxLDczLDEwNTIsNzcsMTA4NiwxMTEsMTA1NCw3OSwxMDA5LDExMiwxMDg4LDExMiwxMDU2LDgwLDEwNzUsMTE0LDEwNTgsODQsMjE1LDEyMCwxMDkzLDEyMCwxMDYxLDg4LDEwOTEsMTIxLDEwNTksODksNjUyODgsNDAsNjUyODksNDFdLCJ6aC1oYW50IjpbODIxMSw0NSw2NTM3NCwxMjYsMTgwLDk2LDEyNDk0LDQ3LDEwNDcsNTEsMTA3Myw1NCwxMDcyLDk3LDEwNDAsNjUsMTA2OCw5OCwxMDQyLDY2LDEwODksOTksMTA1Nyw2NywxMDc3LDEwMSwxMDQ1LDY5LDEwNTMsNzIsMzA1LDEwNSwxMDUwLDc1LDkyMSw3MywxMDUyLDc3LDEwODYsMTExLDEwNTQsNzksMTAwOSwxMTIsMTA4OCwxMTIsMTA1Niw4MCwxMDc1LDExNCwxMDU4LDg0LDIxNSwxMjAsMTA5MywxMjAsMTA2MSw4OCwxMDkxLDEyMSwxMDU5LDg5LDY1MjgzLDM1LDY1MzA3LDU5XX0nKSksd2UuY2FjaGU9bmV3IF9yKGU9PntmdW5jdGlvbiB0KGMpe2NvbnN0IGg9bmV3IE1hcDtmb3IobGV0IGY9MDtmPGMubGVuZ3RoO2YrPTIpaC5zZXQoY1tmXSxjW2YrMV0pO3JldHVybiBofWZ1bmN0aW9uIG4oYyxoKXtjb25zdCBmPW5ldyBNYXAoYyk7Zm9yKGNvbnN0W2QsbV1vZiBoKWYuc2V0KGQsbSk7cmV0dXJuIGZ9ZnVuY3Rpb24gcyhjLGgpe2lmKCFjKXJldHVybiBoO2NvbnN0IGY9bmV3IE1hcDtmb3IoY29uc3RbZCxtXW9mIGMpaC5oYXMoZCkmJmYuc2V0KGQsbSk7cmV0dXJuIGZ9Y29uc3Qgcj1NZS5hbWJpZ3VvdXNDaGFyYWN0ZXJEYXRhLnZhbHVlO2xldCBpPWUuZmlsdGVyKGM9PiFjLnN0YXJ0c1dpdGgoIl8iKSYmYyBpbiByKTtpLmxlbmd0aD09PTAmJihpPVsiX2RlZmF1bHQiXSk7bGV0IGw7Zm9yKGNvbnN0IGMgb2YgaSl7Y29uc3QgaD10KHJbY10pO2w9cyhsLGgpfWNvbnN0IG89dChyLl9jb21tb24pLHU9bihvLGwpO3JldHVybiBuZXcgTWUodSl9KSx3ZS5fbG9jYWxlcz1uZXcgdG4oKCk9Pk9iamVjdC5rZXlzKE1lLmFtYmlndW91c0NoYXJhY3RlckRhdGEudmFsdWUpLmZpbHRlcihlPT4hZS5zdGFydHNXaXRoKCJfIikpKTtjbGFzcyBkZXtzdGF0aWMgZ2V0UmF3RGF0YSgpe3JldHVybiBKU09OLnBhcnNlKCJbOSwxMCwxMSwxMiwxMywzMiwxMjcsMTYwLDE3Myw4NDcsMTU2NCw0NDQ3LDQ0NDgsNjA2OCw2MDY5LDYxNTUsNjE1Niw2MTU3LDYxNTgsNzM1NSw3MzU2LDgxOTIsODE5Myw4MTk0LDgxOTUsODE5Niw4MTk3LDgxOTgsODE5OSw4MjAwLDgyMDEsODIwMiw4MjAzLDgyMDQsODIwNSw4MjA2LDgyMDcsODIzNCw4MjM1LDgyMzYsODIzNyw4MjM4LDgyMzksODI4Nyw4Mjg4LDgyODksODI5MCw4MjkxLDgyOTIsODI5Myw4Mjk0LDgyOTUsODI5Niw4Mjk3LDgyOTgsODI5OSw4MzAwLDgzMDEsODMwMiw4MzAzLDEwMjQwLDEyMjg4LDEyNjQ0LDY1MDI0LDY1MDI1LDY1MDI2LDY1MDI3LDY1MDI4LDY1MDI5LDY1MDMwLDY1MDMxLDY1MDMyLDY1MDMzLDY1MDM0LDY1MDM1LDY1MDM2LDY1MDM3LDY1MDM4LDY1MDM5LDY1Mjc5LDY1NDQwLDY1NTIwLDY1NTIxLDY1NTIyLDY1NTIzLDY1NTI0LDY1NTI1LDY1NTI2LDY1NTI3LDY1NTI4LDY1NTMyLDc4ODQ0LDExOTE1NSwxMTkxNTYsMTE5MTU3LDExOTE1OCwxMTkxNTksMTE5MTYwLDExOTE2MSwxMTkxNjIsOTE3NTA0LDkxNzUwNSw5MTc1MDYsOTE3NTA3LDkxNzUwOCw5MTc1MDksOTE3NTEwLDkxNzUxMSw5MTc1MTIsOTE3NTEzLDkxNzUxNCw5MTc1MTUsOTE3NTE2LDkxNzUxNyw5MTc1MTgsOTE3NTE5LDkxNzUyMCw5MTc1MjEsOTE3NTIyLDkxNzUyMyw5MTc1MjQsOTE3NTI1LDkxNzUyNiw5MTc1MjcsOTE3NTI4LDkxNzUyOSw5MTc1MzAsOTE3NTMxLDkxNzUzMiw5MTc1MzMsOTE3NTM0LDkxNzUzNSw5MTc1MzYsOTE3NTM3LDkxNzUzOCw5MTc1MzksOTE3NTQwLDkxNzU0MSw5MTc1NDIsOTE3NTQzLDkxNzU0NCw5MTc1NDUsOTE3NTQ2LDkxNzU0Nyw5MTc1NDgsOTE3NTQ5LDkxNzU1MCw5MTc1NTEsOTE3NTUyLDkxNzU1Myw5MTc1NTQsOTE3NTU1LDkxNzU1Niw5MTc1NTcsOTE3NTU4LDkxNzU1OSw5MTc1NjAsOTE3NTYxLDkxNzU2Miw5MTc1NjMsOTE3NTY0LDkxNzU2NSw5MTc1NjYsOTE3NTY3LDkxNzU2OCw5MTc1NjksOTE3NTcwLDkxNzU3MSw5MTc1NzIsOTE3NTczLDkxNzU3NCw5MTc1NzUsOTE3NTc2LDkxNzU3Nyw5MTc1NzgsOTE3NTc5LDkxNzU4MCw5MTc1ODEsOTE3NTgyLDkxNzU4Myw5MTc1ODQsOTE3NTg1LDkxNzU4Niw5MTc1ODcsOTE3NTg4LDkxNzU4OSw5MTc1OTAsOTE3NTkxLDkxNzU5Miw5MTc1OTMsOTE3NTk0LDkxNzU5NSw5MTc1OTYsOTE3NTk3LDkxNzU5OCw5MTc1OTksOTE3NjAwLDkxNzYwMSw5MTc2MDIsOTE3NjAzLDkxNzYwNCw5MTc2MDUsOTE3NjA2LDkxNzYwNyw5MTc2MDgsOTE3NjA5LDkxNzYxMCw5MTc2MTEsOTE3NjEyLDkxNzYxMyw5MTc2MTQsOTE3NjE1LDkxNzYxNiw5MTc2MTcsOTE3NjE4LDkxNzYxOSw5MTc2MjAsOTE3NjIxLDkxNzYyMiw5MTc2MjMsOTE3NjI0LDkxNzYyNSw5MTc2MjYsOTE3NjI3LDkxNzYyOCw5MTc2MjksOTE3NjMwLDkxNzYzMSw5MTc3NjAsOTE3NzYxLDkxNzc2Miw5MTc3NjMsOTE3NzY0LDkxNzc2NSw5MTc3NjYsOTE3NzY3LDkxNzc2OCw5MTc3NjksOTE3NzcwLDkxNzc3MSw5MTc3NzIsOTE3NzczLDkxNzc3NCw5MTc3NzUsOTE3Nzc2LDkxNzc3Nyw5MTc3NzgsOTE3Nzc5LDkxNzc4MCw5MTc3ODEsOTE3NzgyLDkxNzc4Myw5MTc3ODQsOTE3Nzg1LDkxNzc4Niw5MTc3ODcsOTE3Nzg4LDkxNzc4OSw5MTc3OTAsOTE3NzkxLDkxNzc5Miw5MTc3OTMsOTE3Nzk0LDkxNzc5NSw5MTc3OTYsOTE3Nzk3LDkxNzc5OCw5MTc3OTksOTE3ODAwLDkxNzgwMSw5MTc4MDIsOTE3ODAzLDkxNzgwNCw5MTc4MDUsOTE3ODA2LDkxNzgwNyw5MTc4MDgsOTE3ODA5LDkxNzgxMCw5MTc4MTEsOTE3ODEyLDkxNzgxMyw5MTc4MTQsOTE3ODE1LDkxNzgxNiw5MTc4MTcsOTE3ODE4LDkxNzgxOSw5MTc4MjAsOTE3ODIxLDkxNzgyMiw5MTc4MjMsOTE3ODI0LDkxNzgyNSw5MTc4MjYsOTE3ODI3LDkxNzgyOCw5MTc4MjksOTE3ODMwLDkxNzgzMSw5MTc4MzIsOTE3ODMzLDkxNzgzNCw5MTc4MzUsOTE3ODM2LDkxNzgzNyw5MTc4MzgsOTE3ODM5LDkxNzg0MCw5MTc4NDEsOTE3ODQyLDkxNzg0Myw5MTc4NDQsOTE3ODQ1LDkxNzg0Niw5MTc4NDcsOTE3ODQ4LDkxNzg0OSw5MTc4NTAsOTE3ODUxLDkxNzg1Miw5MTc4NTMsOTE3ODU0LDkxNzg1NSw5MTc4NTYsOTE3ODU3LDkxNzg1OCw5MTc4NTksOTE3ODYwLDkxNzg2MSw5MTc4NjIsOTE3ODYzLDkxNzg2NCw5MTc4NjUsOTE3ODY2LDkxNzg2Nyw5MTc4NjgsOTE3ODY5LDkxNzg3MCw5MTc4NzEsOTE3ODcyLDkxNzg3Myw5MTc4NzQsOTE3ODc1LDkxNzg3Niw5MTc4NzcsOTE3ODc4LDkxNzg3OSw5MTc4ODAsOTE3ODgxLDkxNzg4Miw5MTc4ODMsOTE3ODg0LDkxNzg4NSw5MTc4ODYsOTE3ODg3LDkxNzg4OCw5MTc4ODksOTE3ODkwLDkxNzg5MSw5MTc4OTIsOTE3ODkzLDkxNzg5NCw5MTc4OTUsOTE3ODk2LDkxNzg5Nyw5MTc4OTgsOTE3ODk5LDkxNzkwMCw5MTc5MDEsOTE3OTAyLDkxNzkwMyw5MTc5MDQsOTE3OTA1LDkxNzkwNiw5MTc5MDcsOTE3OTA4LDkxNzkwOSw5MTc5MTAsOTE3OTExLDkxNzkxMiw5MTc5MTMsOTE3OTE0LDkxNzkxNSw5MTc5MTYsOTE3OTE3LDkxNzkxOCw5MTc5MTksOTE3OTIwLDkxNzkyMSw5MTc5MjIsOTE3OTIzLDkxNzkyNCw5MTc5MjUsOTE3OTI2LDkxNzkyNyw5MTc5MjgsOTE3OTI5LDkxNzkzMCw5MTc5MzEsOTE3OTMyLDkxNzkzMyw5MTc5MzQsOTE3OTM1LDkxNzkzNiw5MTc5MzcsOTE3OTM4LDkxNzkzOSw5MTc5NDAsOTE3OTQxLDkxNzk0Miw5MTc5NDMsOTE3OTQ0LDkxNzk0NSw5MTc5NDYsOTE3OTQ3LDkxNzk0OCw5MTc5NDksOTE3OTUwLDkxNzk1MSw5MTc5NTIsOTE3OTUzLDkxNzk1NCw5MTc5NTUsOTE3OTU2LDkxNzk1Nyw5MTc5NTgsOTE3OTU5LDkxNzk2MCw5MTc5NjEsOTE3OTYyLDkxNzk2Myw5MTc5NjQsOTE3OTY1LDkxNzk2Niw5MTc5NjcsOTE3OTY4LDkxNzk2OSw5MTc5NzAsOTE3OTcxLDkxNzk3Miw5MTc5NzMsOTE3OTc0LDkxNzk3NSw5MTc5NzYsOTE3OTc3LDkxNzk3OCw5MTc5NzksOTE3OTgwLDkxNzk4MSw5MTc5ODIsOTE3OTgzLDkxNzk4NCw5MTc5ODUsOTE3OTg2LDkxNzk4Nyw5MTc5ODgsOTE3OTg5LDkxNzk5MCw5MTc5OTEsOTE3OTkyLDkxNzk5Myw5MTc5OTQsOTE3OTk1LDkxNzk5Niw5MTc5OTcsOTE3OTk4LDkxNzk5OV0iKX1zdGF0aWMgZ2V0RGF0YSgpe3JldHVybiB0aGlzLl9kYXRhfHwodGhpcy5fZGF0YT1uZXcgU2V0KGRlLmdldFJhd0RhdGEoKSkpLHRoaXMuX2RhdGF9c3RhdGljIGlzSW52aXNpYmxlQ2hhcmFjdGVyKHQpe3JldHVybiBkZS5nZXREYXRhKCkuaGFzKHQpfXN0YXRpYyBnZXQgY29kZVBvaW50cygpe3JldHVybiBkZS5nZXREYXRhKCl9fWRlLl9kYXRhPXZvaWQgMDtjb25zdCB5cj0iJGluaXRpYWxpemUiO2NsYXNzIFJye2NvbnN0cnVjdG9yKHQsbixzLHIpe3RoaXMudnNXb3JrZXI9dCx0aGlzLnJlcT1uLHRoaXMubWV0aG9kPXMsdGhpcy5hcmdzPXIsdGhpcy50eXBlPTB9fWNsYXNzIHNue2NvbnN0cnVjdG9yKHQsbixzLHIpe3RoaXMudnNXb3JrZXI9dCx0aGlzLnNlcT1uLHRoaXMucmVzPXMsdGhpcy5lcnI9cix0aGlzLnR5cGU9MX19Y2xhc3MgRXJ7Y29uc3RydWN0b3IodCxuLHMscil7dGhpcy52c1dvcmtlcj10LHRoaXMucmVxPW4sdGhpcy5ldmVudE5hbWU9cyx0aGlzLmFyZz1yLHRoaXMudHlwZT0yfX1jbGFzcyBNcntjb25zdHJ1Y3Rvcih0LG4scyl7dGhpcy52c1dvcmtlcj10LHRoaXMucmVxPW4sdGhpcy5ldmVudD1zLHRoaXMudHlwZT0zfX1jbGFzcyBrcntjb25zdHJ1Y3Rvcih0LG4pe3RoaXMudnNXb3JrZXI9dCx0aGlzLnJlcT1uLHRoaXMudHlwZT00fX1jbGFzcyBQcntjb25zdHJ1Y3Rvcih0KXt0aGlzLl93b3JrZXJJZD0tMSx0aGlzLl9oYW5kbGVyPXQsdGhpcy5fbGFzdFNlbnRSZXE9MCx0aGlzLl9wZW5kaW5nUmVwbGllcz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX3BlbmRpbmdFbWl0dGVycz1uZXcgTWFwLHRoaXMuX3BlbmRpbmdFdmVudHM9bmV3IE1hcH1zZXRXb3JrZXJJZCh0KXt0aGlzLl93b3JrZXJJZD10fXNlbmRNZXNzYWdlKHQsbil7Y29uc3Qgcz1TdHJpbmcoKyt0aGlzLl9sYXN0U2VudFJlcSk7cmV0dXJuIG5ldyBQcm9taXNlKChyLGkpPT57dGhpcy5fcGVuZGluZ1JlcGxpZXNbc109e3Jlc29sdmU6cixyZWplY3Q6aX0sdGhpcy5fc2VuZChuZXcgUnIodGhpcy5fd29ya2VySWQscyx0LG4pKX0pfWxpc3Rlbih0LG4pe2xldCBzPW51bGw7Y29uc3Qgcj1uZXcgcmUoe29uV2lsbEFkZEZpcnN0TGlzdGVuZXI6KCk9PntzPVN0cmluZygrK3RoaXMuX2xhc3RTZW50UmVxKSx0aGlzLl9wZW5kaW5nRW1pdHRlcnMuc2V0KHMsciksdGhpcy5fc2VuZChuZXcgRXIodGhpcy5fd29ya2VySWQscyx0LG4pKX0sb25EaWRSZW1vdmVMYXN0TGlzdGVuZXI6KCk9Pnt0aGlzLl9wZW5kaW5nRW1pdHRlcnMuZGVsZXRlKHMpLHRoaXMuX3NlbmQobmV3IGtyKHRoaXMuX3dvcmtlcklkLHMpKSxzPW51bGx9fSk7cmV0dXJuIHIuZXZlbnR9aGFuZGxlTWVzc2FnZSh0KXshdHx8IXQudnNXb3JrZXJ8fHRoaXMuX3dvcmtlcklkIT09LTEmJnQudnNXb3JrZXIhPT10aGlzLl93b3JrZXJJZHx8dGhpcy5faGFuZGxlTWVzc2FnZSh0KX1faGFuZGxlTWVzc2FnZSh0KXtzd2l0Y2godC50eXBlKXtjYXNlIDE6cmV0dXJuIHRoaXMuX2hhbmRsZVJlcGx5TWVzc2FnZSh0KTtjYXNlIDA6cmV0dXJuIHRoaXMuX2hhbmRsZVJlcXVlc3RNZXNzYWdlKHQpO2Nhc2UgMjpyZXR1cm4gdGhpcy5faGFuZGxlU3Vic2NyaWJlRXZlbnRNZXNzYWdlKHQpO2Nhc2UgMzpyZXR1cm4gdGhpcy5faGFuZGxlRXZlbnRNZXNzYWdlKHQpO2Nhc2UgNDpyZXR1cm4gdGhpcy5faGFuZGxlVW5zdWJzY3JpYmVFdmVudE1lc3NhZ2UodCl9fV9oYW5kbGVSZXBseU1lc3NhZ2UodCl7aWYoIXRoaXMuX3BlbmRpbmdSZXBsaWVzW3Quc2VxXSlyZXR1cm47Y29uc3Qgbj10aGlzLl9wZW5kaW5nUmVwbGllc1t0LnNlcV07aWYoZGVsZXRlIHRoaXMuX3BlbmRpbmdSZXBsaWVzW3Quc2VxXSx0LmVycil7bGV0IHM9dC5lcnI7dC5lcnIuJGlzRXJyb3ImJihzPW5ldyBFcnJvcixzLm5hbWU9dC5lcnIubmFtZSxzLm1lc3NhZ2U9dC5lcnIubWVzc2FnZSxzLnN0YWNrPXQuZXJyLnN0YWNrKSxuLnJlamVjdChzKTtyZXR1cm59bi5yZXNvbHZlKHQucmVzKX1faGFuZGxlUmVxdWVzdE1lc3NhZ2UodCl7Y29uc3Qgbj10LnJlcTt0aGlzLl9oYW5kbGVyLmhhbmRsZU1lc3NhZ2UodC5tZXRob2QsdC5hcmdzKS50aGVuKHI9Pnt0aGlzLl9zZW5kKG5ldyBzbih0aGlzLl93b3JrZXJJZCxuLHIsdm9pZCAwKSl9LHI9PntyLmRldGFpbCBpbnN0YW5jZW9mIEVycm9yJiYoci5kZXRhaWw9WnQoci5kZXRhaWwpKSx0aGlzLl9zZW5kKG5ldyBzbih0aGlzLl93b3JrZXJJZCxuLHZvaWQgMCxadChyKSkpfSl9X2hhbmRsZVN1YnNjcmliZUV2ZW50TWVzc2FnZSh0KXtjb25zdCBuPXQucmVxLHM9dGhpcy5faGFuZGxlci5oYW5kbGVFdmVudCh0LmV2ZW50TmFtZSx0LmFyZykocj0+e3RoaXMuX3NlbmQobmV3IE1yKHRoaXMuX3dvcmtlcklkLG4scikpfSk7dGhpcy5fcGVuZGluZ0V2ZW50cy5zZXQobixzKX1faGFuZGxlRXZlbnRNZXNzYWdlKHQpe3RoaXMuX3BlbmRpbmdFbWl0dGVycy5oYXModC5yZXEpJiZ0aGlzLl9wZW5kaW5nRW1pdHRlcnMuZ2V0KHQucmVxKS5maXJlKHQuZXZlbnQpfV9oYW5kbGVVbnN1YnNjcmliZUV2ZW50TWVzc2FnZSh0KXt0aGlzLl9wZW5kaW5nRXZlbnRzLmhhcyh0LnJlcSkmJih0aGlzLl9wZW5kaW5nRXZlbnRzLmdldCh0LnJlcSkuZGlzcG9zZSgpLHRoaXMuX3BlbmRpbmdFdmVudHMuZGVsZXRlKHQucmVxKSl9X3NlbmQodCl7Y29uc3Qgbj1bXTtpZih0LnR5cGU9PT0wKWZvcihsZXQgcz0wO3M8dC5hcmdzLmxlbmd0aDtzKyspdC5hcmdzW3NdaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmbi5wdXNoKHQuYXJnc1tzXSk7ZWxzZSB0LnR5cGU9PT0xJiZ0LnJlcyBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZuLnB1c2godC5yZXMpO3RoaXMuX2hhbmRsZXIuc2VuZE1lc3NhZ2UodCxuKX19ZnVuY3Rpb24gcm4oZSl7cmV0dXJuIGVbMF09PT0ibyImJmVbMV09PT0ibiImJm5uKGUuY2hhckNvZGVBdCgyKSl9ZnVuY3Rpb24gYW4oZSl7cmV0dXJuL15vbkR5bmFtaWMvLnRlc3QoZSkmJm5uKGUuY2hhckNvZGVBdCg5KSl9ZnVuY3Rpb24gRnIoZSx0LG4pe2NvbnN0IHM9bD0+ZnVuY3Rpb24oKXtjb25zdCBvPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKTtyZXR1cm4gdChsLG8pfSxyPWw9PmZ1bmN0aW9uKG8pe3JldHVybiBuKGwsbyl9LGk9e307Zm9yKGNvbnN0IGwgb2YgZSl7aWYoYW4obCkpe2lbbF09cihsKTtjb250aW51ZX1pZihybihsKSl7aVtsXT1uKGwsdm9pZCAwKTtjb250aW51ZX1pW2xdPXMobCl9cmV0dXJuIGl9Y2xhc3MgRHJ7Y29uc3RydWN0b3IodCxuKXt0aGlzLl9yZXF1ZXN0SGFuZGxlckZhY3Rvcnk9bix0aGlzLl9yZXF1ZXN0SGFuZGxlcj1udWxsLHRoaXMuX3Byb3RvY29sPW5ldyBQcih7c2VuZE1lc3NhZ2U6KHMscik9Pnt0KHMscil9LGhhbmRsZU1lc3NhZ2U6KHMscik9PnRoaXMuX2hhbmRsZU1lc3NhZ2UocyxyKSxoYW5kbGVFdmVudDoocyxyKT0+dGhpcy5faGFuZGxlRXZlbnQocyxyKX0pfW9ubWVzc2FnZSh0KXt0aGlzLl9wcm90b2NvbC5oYW5kbGVNZXNzYWdlKHQpfV9oYW5kbGVNZXNzYWdlKHQsbil7aWYodD09PXlyKXJldHVybiB0aGlzLmluaXRpYWxpemUoblswXSxuWzFdLG5bMl0sblszXSk7aWYoIXRoaXMuX3JlcXVlc3RIYW5kbGVyfHx0eXBlb2YgdGhpcy5fcmVxdWVzdEhhbmRsZXJbdF0hPSJmdW5jdGlvbiIpcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcigiTWlzc2luZyByZXF1ZXN0SGFuZGxlciBvciBtZXRob2Q6ICIrdCkpO3RyeXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX3JlcXVlc3RIYW5kbGVyW3RdLmFwcGx5KHRoaXMuX3JlcXVlc3RIYW5kbGVyLG4pKX1jYXRjaChzKXtyZXR1cm4gUHJvbWlzZS5yZWplY3Qocyl9fV9oYW5kbGVFdmVudCh0LG4pe2lmKCF0aGlzLl9yZXF1ZXN0SGFuZGxlcil0aHJvdyBuZXcgRXJyb3IoIk1pc3NpbmcgcmVxdWVzdEhhbmRsZXIiKTtpZihhbih0KSl7Y29uc3Qgcz10aGlzLl9yZXF1ZXN0SGFuZGxlclt0XS5jYWxsKHRoaXMuX3JlcXVlc3RIYW5kbGVyLG4pO2lmKHR5cGVvZiBzIT0iZnVuY3Rpb24iKXRocm93IG5ldyBFcnJvcihgTWlzc2luZyBkeW5hbWljIGV2ZW50ICR7dH0gb24gcmVxdWVzdCBoYW5kbGVyLmApO3JldHVybiBzfWlmKHJuKHQpKXtjb25zdCBzPXRoaXMuX3JlcXVlc3RIYW5kbGVyW3RdO2lmKHR5cGVvZiBzIT0iZnVuY3Rpb24iKXRocm93IG5ldyBFcnJvcihgTWlzc2luZyBldmVudCAke3R9IG9uIHJlcXVlc3QgaGFuZGxlci5gKTtyZXR1cm4gc310aHJvdyBuZXcgRXJyb3IoYE1hbGZvcm1lZCBldmVudCBuYW1lICR7dH1gKX1pbml0aWFsaXplKHQsbixzLHIpe3RoaXMuX3Byb3RvY29sLnNldFdvcmtlcklkKHQpO2NvbnN0IG89RnIociwodSxjKT0+dGhpcy5fcHJvdG9jb2wuc2VuZE1lc3NhZ2UodSxjKSwodSxjKT0+dGhpcy5fcHJvdG9jb2wubGlzdGVuKHUsYykpO3JldHVybiB0aGlzLl9yZXF1ZXN0SGFuZGxlckZhY3Rvcnk/KHRoaXMuX3JlcXVlc3RIYW5kbGVyPXRoaXMuX3JlcXVlc3RIYW5kbGVyRmFjdG9yeShvKSxQcm9taXNlLnJlc29sdmUodnQodGhpcy5fcmVxdWVzdEhhbmRsZXIpKSk6KG4mJih0eXBlb2Ygbi5iYXNlVXJsPCJ1IiYmZGVsZXRlIG4uYmFzZVVybCx0eXBlb2Ygbi5wYXRoczwidSImJnR5cGVvZiBuLnBhdGhzLnZzPCJ1IiYmZGVsZXRlIG4ucGF0aHMudnMsdHlwZW9mIG4udHJ1c3RlZFR5cGVzUG9saWN5PCJ1IiYmZGVsZXRlIG4udHJ1c3RlZFR5cGVzUG9saWN5LG4uY2F0Y2hFcnJvcj0hMCxnbG9iYWxUaGlzLnJlcXVpcmUuY29uZmlnKG4pKSxuZXcgUHJvbWlzZSgodSxjKT0+e2NvbnN0IGg9Z2xvYmFsVGhpcy5yZXF1aXJlO2goW3NdLGY9PntpZih0aGlzLl9yZXF1ZXN0SGFuZGxlcj1mLmNyZWF0ZShvKSwhdGhpcy5fcmVxdWVzdEhhbmRsZXIpe2MobmV3IEVycm9yKCJObyBSZXF1ZXN0SGFuZGxlciEiKSk7cmV0dXJufXUodnQodGhpcy5fcmVxdWVzdEhhbmRsZXIpKX0sYyl9KSl9fWNsYXNzIG1le2NvbnN0cnVjdG9yKHQsbixzLHIpe3RoaXMub3JpZ2luYWxTdGFydD10LHRoaXMub3JpZ2luYWxMZW5ndGg9bix0aGlzLm1vZGlmaWVkU3RhcnQ9cyx0aGlzLm1vZGlmaWVkTGVuZ3RoPXJ9Z2V0T3JpZ2luYWxFbmQoKXtyZXR1cm4gdGhpcy5vcmlnaW5hbFN0YXJ0K3RoaXMub3JpZ2luYWxMZW5ndGh9Z2V0TW9kaWZpZWRFbmQoKXtyZXR1cm4gdGhpcy5tb2RpZmllZFN0YXJ0K3RoaXMubW9kaWZpZWRMZW5ndGh9fWZ1bmN0aW9uIGxuKGUsdCl7cmV0dXJuKHQ8PDUpLXQrZXwwfWZ1bmN0aW9uIFRyKGUsdCl7dD1sbigxNDk0MTcsdCk7Zm9yKGxldCBuPTAscz1lLmxlbmd0aDtuPHM7bisrKXQ9bG4oZS5jaGFyQ29kZUF0KG4pLHQpO3JldHVybiB0fWNsYXNzIG9ue2NvbnN0cnVjdG9yKHQpe3RoaXMuc291cmNlPXR9Z2V0RWxlbWVudHMoKXtjb25zdCB0PXRoaXMuc291cmNlLG49bmV3IEludDMyQXJyYXkodC5sZW5ndGgpO2ZvcihsZXQgcz0wLHI9dC5sZW5ndGg7czxyO3MrKyluW3NdPXQuY2hhckNvZGVBdChzKTtyZXR1cm4gbn19ZnVuY3Rpb24gVXIoZSx0LG4pe3JldHVybiBuZXcgZ2UobmV3IG9uKGUpLG5ldyBvbih0KSkuQ29tcHV0ZURpZmYobikuY2hhbmdlc31jbGFzcyBrZXtzdGF0aWMgQXNzZXJ0KHQsbil7aWYoIXQpdGhyb3cgbmV3IEVycm9yKG4pfX1jbGFzcyBQZXtzdGF0aWMgQ29weSh0LG4scyxyLGkpe2ZvcihsZXQgbD0wO2w8aTtsKyspc1tyK2xdPXRbbitsXX1zdGF0aWMgQ29weTIodCxuLHMscixpKXtmb3IobGV0IGw9MDtsPGk7bCsrKXNbcitsXT10W24rbF19fWNsYXNzIHVue2NvbnN0cnVjdG9yKCl7dGhpcy5tX2NoYW5nZXM9W10sdGhpcy5tX29yaWdpbmFsU3RhcnQ9MTA3Mzc0MTgyNCx0aGlzLm1fbW9kaWZpZWRTdGFydD0xMDczNzQxODI0LHRoaXMubV9vcmlnaW5hbENvdW50PTAsdGhpcy5tX21vZGlmaWVkQ291bnQ9MH1NYXJrTmV4dENoYW5nZSgpeyh0aGlzLm1fb3JpZ2luYWxDb3VudD4wfHx0aGlzLm1fbW9kaWZpZWRDb3VudD4wKSYmdGhpcy5tX2NoYW5nZXMucHVzaChuZXcgbWUodGhpcy5tX29yaWdpbmFsU3RhcnQsdGhpcy5tX29yaWdpbmFsQ291bnQsdGhpcy5tX21vZGlmaWVkU3RhcnQsdGhpcy5tX21vZGlmaWVkQ291bnQpKSx0aGlzLm1fb3JpZ2luYWxDb3VudD0wLHRoaXMubV9tb2RpZmllZENvdW50PTAsdGhpcy5tX29yaWdpbmFsU3RhcnQ9MTA3Mzc0MTgyNCx0aGlzLm1fbW9kaWZpZWRTdGFydD0xMDczNzQxODI0fUFkZE9yaWdpbmFsRWxlbWVudCh0LG4pe3RoaXMubV9vcmlnaW5hbFN0YXJ0PU1hdGgubWluKHRoaXMubV9vcmlnaW5hbFN0YXJ0LHQpLHRoaXMubV9tb2RpZmllZFN0YXJ0PU1hdGgubWluKHRoaXMubV9tb2RpZmllZFN0YXJ0LG4pLHRoaXMubV9vcmlnaW5hbENvdW50Kyt9QWRkTW9kaWZpZWRFbGVtZW50KHQsbil7dGhpcy5tX29yaWdpbmFsU3RhcnQ9TWF0aC5taW4odGhpcy5tX29yaWdpbmFsU3RhcnQsdCksdGhpcy5tX21vZGlmaWVkU3RhcnQ9TWF0aC5taW4odGhpcy5tX21vZGlmaWVkU3RhcnQsbiksdGhpcy5tX21vZGlmaWVkQ291bnQrK31nZXRDaGFuZ2VzKCl7cmV0dXJuKHRoaXMubV9vcmlnaW5hbENvdW50PjB8fHRoaXMubV9tb2RpZmllZENvdW50PjApJiZ0aGlzLk1hcmtOZXh0Q2hhbmdlKCksdGhpcy5tX2NoYW5nZXN9Z2V0UmV2ZXJzZUNoYW5nZXMoKXtyZXR1cm4odGhpcy5tX29yaWdpbmFsQ291bnQ+MHx8dGhpcy5tX21vZGlmaWVkQ291bnQ+MCkmJnRoaXMuTWFya05leHRDaGFuZ2UoKSx0aGlzLm1fY2hhbmdlcy5yZXZlcnNlKCksdGhpcy5tX2NoYW5nZXN9fWNsYXNzIGdle2NvbnN0cnVjdG9yKHQsbixzPW51bGwpe3RoaXMuQ29udGludWVQcm9jZXNzaW5nUHJlZGljYXRlPXMsdGhpcy5fb3JpZ2luYWxTZXF1ZW5jZT10LHRoaXMuX21vZGlmaWVkU2VxdWVuY2U9bjtjb25zdFtyLGksbF09Z2UuX2dldEVsZW1lbnRzKHQpLFtvLHUsY109Z2UuX2dldEVsZW1lbnRzKG4pO3RoaXMuX2hhc1N0cmluZ3M9bCYmYyx0aGlzLl9vcmlnaW5hbFN0cmluZ0VsZW1lbnRzPXIsdGhpcy5fb3JpZ2luYWxFbGVtZW50c09ySGFzaD1pLHRoaXMuX21vZGlmaWVkU3RyaW5nRWxlbWVudHM9byx0aGlzLl9tb2RpZmllZEVsZW1lbnRzT3JIYXNoPXUsdGhpcy5tX2ZvcndhcmRIaXN0b3J5PVtdLHRoaXMubV9yZXZlcnNlSGlzdG9yeT1bXX1zdGF0aWMgX2lzU3RyaW5nQXJyYXkodCl7cmV0dXJuIHQubGVuZ3RoPjAmJnR5cGVvZiB0WzBdPT0ic3RyaW5nIn1zdGF0aWMgX2dldEVsZW1lbnRzKHQpe2NvbnN0IG49dC5nZXRFbGVtZW50cygpO2lmKGdlLl9pc1N0cmluZ0FycmF5KG4pKXtjb25zdCBzPW5ldyBJbnQzMkFycmF5KG4ubGVuZ3RoKTtmb3IobGV0IHI9MCxpPW4ubGVuZ3RoO3I8aTtyKyspc1tyXT1UcihuW3JdLDApO3JldHVybltuLHMsITBdfXJldHVybiBuIGluc3RhbmNlb2YgSW50MzJBcnJheT9bW10sbiwhMV06W1tdLG5ldyBJbnQzMkFycmF5KG4pLCExXX1FbGVtZW50c0FyZUVxdWFsKHQsbil7cmV0dXJuIHRoaXMuX29yaWdpbmFsRWxlbWVudHNPckhhc2hbdF0hPT10aGlzLl9tb2RpZmllZEVsZW1lbnRzT3JIYXNoW25dPyExOnRoaXMuX2hhc1N0cmluZ3M/dGhpcy5fb3JpZ2luYWxTdHJpbmdFbGVtZW50c1t0XT09PXRoaXMuX21vZGlmaWVkU3RyaW5nRWxlbWVudHNbbl06ITB9RWxlbWVudHNBcmVTdHJpY3RFcXVhbCh0LG4pe2lmKCF0aGlzLkVsZW1lbnRzQXJlRXF1YWwodCxuKSlyZXR1cm4hMTtjb25zdCBzPWdlLl9nZXRTdHJpY3RFbGVtZW50KHRoaXMuX29yaWdpbmFsU2VxdWVuY2UsdCkscj1nZS5fZ2V0U3RyaWN0RWxlbWVudCh0aGlzLl9tb2RpZmllZFNlcXVlbmNlLG4pO3JldHVybiBzPT09cn1zdGF0aWMgX2dldFN0cmljdEVsZW1lbnQodCxuKXtyZXR1cm4gdHlwZW9mIHQuZ2V0U3RyaWN0RWxlbWVudD09ImZ1bmN0aW9uIj90LmdldFN0cmljdEVsZW1lbnQobik6bnVsbH1PcmlnaW5hbEVsZW1lbnRzQXJlRXF1YWwodCxuKXtyZXR1cm4gdGhpcy5fb3JpZ2luYWxFbGVtZW50c09ySGFzaFt0XSE9PXRoaXMuX29yaWdpbmFsRWxlbWVudHNPckhhc2hbbl0/ITE6dGhpcy5faGFzU3RyaW5ncz90aGlzLl9vcmlnaW5hbFN0cmluZ0VsZW1lbnRzW3RdPT09dGhpcy5fb3JpZ2luYWxTdHJpbmdFbGVtZW50c1tuXTohMH1Nb2RpZmllZEVsZW1lbnRzQXJlRXF1YWwodCxuKXtyZXR1cm4gdGhpcy5fbW9kaWZpZWRFbGVtZW50c09ySGFzaFt0XSE9PXRoaXMuX21vZGlmaWVkRWxlbWVudHNPckhhc2hbbl0/ITE6dGhpcy5faGFzU3RyaW5ncz90aGlzLl9tb2RpZmllZFN0cmluZ0VsZW1lbnRzW3RdPT09dGhpcy5fbW9kaWZpZWRTdHJpbmdFbGVtZW50c1tuXTohMH1Db21wdXRlRGlmZih0KXtyZXR1cm4gdGhpcy5fQ29tcHV0ZURpZmYoMCx0aGlzLl9vcmlnaW5hbEVsZW1lbnRzT3JIYXNoLmxlbmd0aC0xLDAsdGhpcy5fbW9kaWZpZWRFbGVtZW50c09ySGFzaC5sZW5ndGgtMSx0KX1fQ29tcHV0ZURpZmYodCxuLHMscixpKXtjb25zdCBsPVshMV07bGV0IG89dGhpcy5Db21wdXRlRGlmZlJlY3Vyc2l2ZSh0LG4scyxyLGwpO3JldHVybiBpJiYobz10aGlzLlByZXR0aWZ5Q2hhbmdlcyhvKSkse3F1aXRFYXJseTpsWzBdLGNoYW5nZXM6b319Q29tcHV0ZURpZmZSZWN1cnNpdmUodCxuLHMscixpKXtmb3IoaVswXT0hMTt0PD1uJiZzPD1yJiZ0aGlzLkVsZW1lbnRzQXJlRXF1YWwodCxzKTspdCsrLHMrKztmb3IoO24+PXQmJnI+PXMmJnRoaXMuRWxlbWVudHNBcmVFcXVhbChuLHIpOyluLS0sci0tO2lmKHQ+bnx8cz5yKXtsZXQgZjtyZXR1cm4gczw9cj8oa2UuQXNzZXJ0KHQ9PT1uKzEsIm9yaWdpbmFsU3RhcnQgc2hvdWxkIG9ubHkgYmUgb25lIG1vcmUgdGhhbiBvcmlnaW5hbEVuZCIpLGY9W25ldyBtZSh0LDAscyxyLXMrMSldKTp0PD1uPyhrZS5Bc3NlcnQocz09PXIrMSwibW9kaWZpZWRTdGFydCBzaG91bGQgb25seSBiZSBvbmUgbW9yZSB0aGFuIG1vZGlmaWVkRW5kIiksZj1bbmV3IG1lKHQsbi10KzEscywwKV0pOihrZS5Bc3NlcnQodD09PW4rMSwib3JpZ2luYWxTdGFydCBzaG91bGQgb25seSBiZSBvbmUgbW9yZSB0aGFuIG9yaWdpbmFsRW5kIiksa2UuQXNzZXJ0KHM9PT1yKzEsIm1vZGlmaWVkU3RhcnQgc2hvdWxkIG9ubHkgYmUgb25lIG1vcmUgdGhhbiBtb2RpZmllZEVuZCIpLGY9W10pLGZ9Y29uc3QgbD1bMF0sbz1bMF0sdT10aGlzLkNvbXB1dGVSZWN1cnNpb25Qb2ludCh0LG4scyxyLGwsbyxpKSxjPWxbMF0saD1vWzBdO2lmKHUhPT1udWxsKXJldHVybiB1O2lmKCFpWzBdKXtjb25zdCBmPXRoaXMuQ29tcHV0ZURpZmZSZWN1cnNpdmUodCxjLHMsaCxpKTtsZXQgZD1bXTtyZXR1cm4gaVswXT9kPVtuZXcgbWUoYysxLG4tKGMrMSkrMSxoKzEsci0oaCsxKSsxKV06ZD10aGlzLkNvbXB1dGVEaWZmUmVjdXJzaXZlKGMrMSxuLGgrMSxyLGkpLHRoaXMuQ29uY2F0ZW5hdGVDaGFuZ2VzKGYsZCl9cmV0dXJuW25ldyBtZSh0LG4tdCsxLHMsci1zKzEpXX1XQUxLVFJBQ0UodCxuLHMscixpLGwsbyx1LGMsaCxmLGQsbSxnLHgsdixOLFMpe2xldCBfPW51bGwsdz1udWxsLHA9bmV3IHVuLHk9bixSPXMsRT1tWzBdLXZbMF0tcixCPS0xMDczNzQxODI0LEc9dGhpcy5tX2ZvcndhcmRIaXN0b3J5Lmxlbmd0aC0xO2Rve2NvbnN0IEw9RSt0O0w9PT15fHxMPFImJmNbTC0xXTxjW0wrMV0/KGY9Y1tMKzFdLGc9Zi1FLXIsZjxCJiZwLk1hcmtOZXh0Q2hhbmdlKCksQj1mLHAuQWRkTW9kaWZpZWRFbGVtZW50KGYrMSxnKSxFPUwrMS10KTooZj1jW0wtMV0rMSxnPWYtRS1yLGY8QiYmcC5NYXJrTmV4dENoYW5nZSgpLEI9Zi0xLHAuQWRkT3JpZ2luYWxFbGVtZW50KGYsZysxKSxFPUwtMS10KSxHPj0wJiYoYz10aGlzLm1fZm9yd2FyZEhpc3RvcnlbR10sdD1jWzBdLHk9MSxSPWMubGVuZ3RoLTEpfXdoaWxlKC0tRz49LTEpO2lmKF89cC5nZXRSZXZlcnNlQ2hhbmdlcygpLFNbMF0pe2xldCBMPW1bMF0rMSxiPXZbMF0rMTtpZihfIT09bnVsbCYmXy5sZW5ndGg+MCl7Y29uc3QgQz1fW18ubGVuZ3RoLTFdO0w9TWF0aC5tYXgoTCxDLmdldE9yaWdpbmFsRW5kKCkpLGI9TWF0aC5tYXgoYixDLmdldE1vZGlmaWVkRW5kKCkpfXc9W25ldyBtZShMLGQtTCsxLGIseC1iKzEpXX1lbHNle3A9bmV3IHVuLHk9bCxSPW8sRT1tWzBdLXZbMF0tdSxCPTEwNzM3NDE4MjQsRz1OP3RoaXMubV9yZXZlcnNlSGlzdG9yeS5sZW5ndGgtMTp0aGlzLm1fcmV2ZXJzZUhpc3RvcnkubGVuZ3RoLTI7ZG97Y29uc3QgTD1FK2k7TD09PXl8fEw8UiYmaFtMLTFdPj1oW0wrMV0/KGY9aFtMKzFdLTEsZz1mLUUtdSxmPkImJnAuTWFya05leHRDaGFuZ2UoKSxCPWYrMSxwLkFkZE9yaWdpbmFsRWxlbWVudChmKzEsZysxKSxFPUwrMS1pKTooZj1oW0wtMV0sZz1mLUUtdSxmPkImJnAuTWFya05leHRDaGFuZ2UoKSxCPWYscC5BZGRNb2RpZmllZEVsZW1lbnQoZisxLGcrMSksRT1MLTEtaSksRz49MCYmKGg9dGhpcy5tX3JldmVyc2VIaXN0b3J5W0ddLGk9aFswXSx5PTEsUj1oLmxlbmd0aC0xKX13aGlsZSgtLUc+PS0xKTt3PXAuZ2V0Q2hhbmdlcygpfXJldHVybiB0aGlzLkNvbmNhdGVuYXRlQ2hhbmdlcyhfLHcpfUNvbXB1dGVSZWN1cnNpb25Qb2ludCh0LG4scyxyLGksbCxvKXtsZXQgdT0wLGM9MCxoPTAsZj0wLGQ9MCxtPTA7dC0tLHMtLSxpWzBdPTAsbFswXT0wLHRoaXMubV9mb3J3YXJkSGlzdG9yeT1bXSx0aGlzLm1fcmV2ZXJzZUhpc3Rvcnk9W107Y29uc3QgZz1uLXQrKHItcykseD1nKzEsdj1uZXcgSW50MzJBcnJheSh4KSxOPW5ldyBJbnQzMkFycmF5KHgpLFM9ci1zLF89bi10LHc9dC1zLHA9bi1yLFI9KF8tUyklMj09PTA7dltTXT10LE5bX109bixvWzBdPSExO2ZvcihsZXQgRT0xO0U8PWcvMisxO0UrKyl7bGV0IEI9MCxHPTA7aD10aGlzLkNsaXBEaWFnb25hbEJvdW5kKFMtRSxFLFMseCksZj10aGlzLkNsaXBEaWFnb25hbEJvdW5kKFMrRSxFLFMseCk7Zm9yKGxldCBiPWg7Yjw9ZjtiKz0yKXtiPT09aHx8YjxmJiZ2W2ItMV08dltiKzFdP3U9dltiKzFdOnU9dltiLTFdKzEsYz11LShiLVMpLXc7Y29uc3QgQz11O2Zvcig7dTxuJiZjPHImJnRoaXMuRWxlbWVudHNBcmVFcXVhbCh1KzEsYysxKTspdSsrLGMrKztpZih2W2JdPXUsdStjPkIrRyYmKEI9dSxHPWMpLCFSJiZNYXRoLmFicyhiLV8pPD1FLTEmJnU+PU5bYl0pcmV0dXJuIGlbMF09dSxsWzBdPWMsQzw9TltiXSYmRTw9MTQ0OD90aGlzLldBTEtUUkFDRShTLGgsZix3LF8sZCxtLHAsdixOLHUsbixpLGMscixsLFIsbyk6bnVsbH1jb25zdCBMPShCLXQrKEctcyktRSkvMjtpZih0aGlzLkNvbnRpbnVlUHJvY2Vzc2luZ1ByZWRpY2F0ZSE9PW51bGwmJiF0aGlzLkNvbnRpbnVlUHJvY2Vzc2luZ1ByZWRpY2F0ZShCLEwpKXJldHVybiBvWzBdPSEwLGlbMF09QixsWzBdPUcsTD4wJiZFPD0xNDQ4P3RoaXMuV0FMS1RSQUNFKFMsaCxmLHcsXyxkLG0scCx2LE4sdSxuLGksYyxyLGwsUixvKToodCsrLHMrKyxbbmV3IG1lKHQsbi10KzEscyxyLXMrMSldKTtkPXRoaXMuQ2xpcERpYWdvbmFsQm91bmQoXy1FLEUsXyx4KSxtPXRoaXMuQ2xpcERpYWdvbmFsQm91bmQoXytFLEUsXyx4KTtmb3IobGV0IGI9ZDtiPD1tO2IrPTIpe2I9PT1kfHxiPG0mJk5bYi0xXT49TltiKzFdP3U9TltiKzFdLTE6dT1OW2ItMV0sYz11LShiLV8pLXA7Y29uc3QgQz11O2Zvcig7dT50JiZjPnMmJnRoaXMuRWxlbWVudHNBcmVFcXVhbCh1LGMpOyl1LS0sYy0tO2lmKE5bYl09dSxSJiZNYXRoLmFicyhiLVMpPD1FJiZ1PD12W2JdKXJldHVybiBpWzBdPXUsbFswXT1jLEM+PXZbYl0mJkU8PTE0NDg/dGhpcy5XQUxLVFJBQ0UoUyxoLGYsdyxfLGQsbSxwLHYsTix1LG4saSxjLHIsbCxSLG8pOm51bGx9aWYoRTw9MTQ0Nyl7bGV0IGI9bmV3IEludDMyQXJyYXkoZi1oKzIpO2JbMF09Uy1oKzEsUGUuQ29weTIodixoLGIsMSxmLWgrMSksdGhpcy5tX2ZvcndhcmRIaXN0b3J5LnB1c2goYiksYj1uZXcgSW50MzJBcnJheShtLWQrMiksYlswXT1fLWQrMSxQZS5Db3B5MihOLGQsYiwxLG0tZCsxKSx0aGlzLm1fcmV2ZXJzZUhpc3RvcnkucHVzaChiKX19cmV0dXJuIHRoaXMuV0FMS1RSQUNFKFMsaCxmLHcsXyxkLG0scCx2LE4sdSxuLGksYyxyLGwsUixvKX1QcmV0dGlmeUNoYW5nZXModCl7Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspe2NvbnN0IHM9dFtuXSxyPW48dC5sZW5ndGgtMT90W24rMV0ub3JpZ2luYWxTdGFydDp0aGlzLl9vcmlnaW5hbEVsZW1lbnRzT3JIYXNoLmxlbmd0aCxpPW48dC5sZW5ndGgtMT90W24rMV0ubW9kaWZpZWRTdGFydDp0aGlzLl9tb2RpZmllZEVsZW1lbnRzT3JIYXNoLmxlbmd0aCxsPXMub3JpZ2luYWxMZW5ndGg+MCxvPXMubW9kaWZpZWRMZW5ndGg+MDtmb3IoO3Mub3JpZ2luYWxTdGFydCtzLm9yaWdpbmFsTGVuZ3RoPHImJnMubW9kaWZpZWRTdGFydCtzLm1vZGlmaWVkTGVuZ3RoPGkmJighbHx8dGhpcy5PcmlnaW5hbEVsZW1lbnRzQXJlRXF1YWwocy5vcmlnaW5hbFN0YXJ0LHMub3JpZ2luYWxTdGFydCtzLm9yaWdpbmFsTGVuZ3RoKSkmJighb3x8dGhpcy5Nb2RpZmllZEVsZW1lbnRzQXJlRXF1YWwocy5tb2RpZmllZFN0YXJ0LHMubW9kaWZpZWRTdGFydCtzLm1vZGlmaWVkTGVuZ3RoKSk7KXtjb25zdCBjPXRoaXMuRWxlbWVudHNBcmVTdHJpY3RFcXVhbChzLm9yaWdpbmFsU3RhcnQscy5tb2RpZmllZFN0YXJ0KTtpZih0aGlzLkVsZW1lbnRzQXJlU3RyaWN0RXF1YWwocy5vcmlnaW5hbFN0YXJ0K3Mub3JpZ2luYWxMZW5ndGgscy5tb2RpZmllZFN0YXJ0K3MubW9kaWZpZWRMZW5ndGgpJiYhYylicmVhaztzLm9yaWdpbmFsU3RhcnQrKyxzLm1vZGlmaWVkU3RhcnQrK31jb25zdCB1PVtudWxsXTtpZihuPHQubGVuZ3RoLTEmJnRoaXMuQ2hhbmdlc092ZXJsYXAodFtuXSx0W24rMV0sdSkpe3Rbbl09dVswXSx0LnNwbGljZShuKzEsMSksbi0tO2NvbnRpbnVlfX1mb3IobGV0IG49dC5sZW5ndGgtMTtuPj0wO24tLSl7Y29uc3Qgcz10W25dO2xldCByPTAsaT0wO2lmKG4+MCl7Y29uc3QgZj10W24tMV07cj1mLm9yaWdpbmFsU3RhcnQrZi5vcmlnaW5hbExlbmd0aCxpPWYubW9kaWZpZWRTdGFydCtmLm1vZGlmaWVkTGVuZ3RofWNvbnN0IGw9cy5vcmlnaW5hbExlbmd0aD4wLG89cy5tb2RpZmllZExlbmd0aD4wO2xldCB1PTAsYz10aGlzLl9ib3VuZGFyeVNjb3JlKHMub3JpZ2luYWxTdGFydCxzLm9yaWdpbmFsTGVuZ3RoLHMubW9kaWZpZWRTdGFydCxzLm1vZGlmaWVkTGVuZ3RoKTtmb3IobGV0IGY9MTs7ZisrKXtjb25zdCBkPXMub3JpZ2luYWxTdGFydC1mLG09cy5tb2RpZmllZFN0YXJ0LWY7aWYoZDxyfHxtPGl8fGwmJiF0aGlzLk9yaWdpbmFsRWxlbWVudHNBcmVFcXVhbChkLGQrcy5vcmlnaW5hbExlbmd0aCl8fG8mJiF0aGlzLk1vZGlmaWVkRWxlbWVudHNBcmVFcXVhbChtLG0rcy5tb2RpZmllZExlbmd0aCkpYnJlYWs7Y29uc3QgeD0oZD09PXImJm09PT1pPzU6MCkrdGhpcy5fYm91bmRhcnlTY29yZShkLHMub3JpZ2luYWxMZW5ndGgsbSxzLm1vZGlmaWVkTGVuZ3RoKTt4PmMmJihjPXgsdT1mKX1zLm9yaWdpbmFsU3RhcnQtPXUscy5tb2RpZmllZFN0YXJ0LT11O2NvbnN0IGg9W251bGxdO2lmKG4+MCYmdGhpcy5DaGFuZ2VzT3ZlcmxhcCh0W24tMV0sdFtuXSxoKSl7dFtuLTFdPWhbMF0sdC5zcGxpY2UobiwxKSxuKys7Y29udGludWV9fWlmKHRoaXMuX2hhc1N0cmluZ3MpZm9yKGxldCBuPTEscz10Lmxlbmd0aDtuPHM7bisrKXtjb25zdCByPXRbbi0xXSxpPXRbbl0sbD1pLm9yaWdpbmFsU3RhcnQtci5vcmlnaW5hbFN0YXJ0LXIub3JpZ2luYWxMZW5ndGgsbz1yLm9yaWdpbmFsU3RhcnQsdT1pLm9yaWdpbmFsU3RhcnQraS5vcmlnaW5hbExlbmd0aCxjPXUtbyxoPXIubW9kaWZpZWRTdGFydCxmPWkubW9kaWZpZWRTdGFydCtpLm1vZGlmaWVkTGVuZ3RoLGQ9Zi1oO2lmKGw8NSYmYzwyMCYmZDwyMCl7Y29uc3QgbT10aGlzLl9maW5kQmV0dGVyQ29udGlndW91c1NlcXVlbmNlKG8sYyxoLGQsbCk7aWYobSl7Y29uc3RbZyx4XT1tOyhnIT09ci5vcmlnaW5hbFN0YXJ0K3Iub3JpZ2luYWxMZW5ndGh8fHghPT1yLm1vZGlmaWVkU3RhcnQrci5tb2RpZmllZExlbmd0aCkmJihyLm9yaWdpbmFsTGVuZ3RoPWctci5vcmlnaW5hbFN0YXJ0LHIubW9kaWZpZWRMZW5ndGg9eC1yLm1vZGlmaWVkU3RhcnQsaS5vcmlnaW5hbFN0YXJ0PWcrbCxpLm1vZGlmaWVkU3RhcnQ9eCtsLGkub3JpZ2luYWxMZW5ndGg9dS1pLm9yaWdpbmFsU3RhcnQsaS5tb2RpZmllZExlbmd0aD1mLWkubW9kaWZpZWRTdGFydCl9fX1yZXR1cm4gdH1fZmluZEJldHRlckNvbnRpZ3VvdXNTZXF1ZW5jZSh0LG4scyxyLGkpe2lmKG48aXx8cjxpKXJldHVybiBudWxsO2NvbnN0IGw9dCtuLWkrMSxvPXMrci1pKzE7bGV0IHU9MCxjPTAsaD0wO2ZvcihsZXQgZj10O2Y8bDtmKyspZm9yKGxldCBkPXM7ZDxvO2QrKyl7Y29uc3QgbT10aGlzLl9jb250aWd1b3VzU2VxdWVuY2VTY29yZShmLGQsaSk7bT4wJiZtPnUmJih1PW0sYz1mLGg9ZCl9cmV0dXJuIHU+MD9bYyxoXTpudWxsfV9jb250aWd1b3VzU2VxdWVuY2VTY29yZSh0LG4scyl7bGV0IHI9MDtmb3IobGV0IGk9MDtpPHM7aSsrKXtpZighdGhpcy5FbGVtZW50c0FyZUVxdWFsKHQraSxuK2kpKXJldHVybiAwO3IrPXRoaXMuX29yaWdpbmFsU3RyaW5nRWxlbWVudHNbdCtpXS5sZW5ndGh9cmV0dXJuIHJ9X09yaWdpbmFsSXNCb3VuZGFyeSh0KXtyZXR1cm4gdDw9MHx8dD49dGhpcy5fb3JpZ2luYWxFbGVtZW50c09ySGFzaC5sZW5ndGgtMT8hMDp0aGlzLl9oYXNTdHJpbmdzJiYvXlxzKiQvLnRlc3QodGhpcy5fb3JpZ2luYWxTdHJpbmdFbGVtZW50c1t0XSl9X09yaWdpbmFsUmVnaW9uSXNCb3VuZGFyeSh0LG4pe2lmKHRoaXMuX09yaWdpbmFsSXNCb3VuZGFyeSh0KXx8dGhpcy5fT3JpZ2luYWxJc0JvdW5kYXJ5KHQtMSkpcmV0dXJuITA7aWYobj4wKXtjb25zdCBzPXQrbjtpZih0aGlzLl9PcmlnaW5hbElzQm91bmRhcnkocy0xKXx8dGhpcy5fT3JpZ2luYWxJc0JvdW5kYXJ5KHMpKXJldHVybiEwfXJldHVybiExfV9Nb2RpZmllZElzQm91bmRhcnkodCl7cmV0dXJuIHQ8PTB8fHQ+PXRoaXMuX21vZGlmaWVkRWxlbWVudHNPckhhc2gubGVuZ3RoLTE/ITA6dGhpcy5faGFzU3RyaW5ncyYmL15ccyokLy50ZXN0KHRoaXMuX21vZGlmaWVkU3RyaW5nRWxlbWVudHNbdF0pfV9Nb2RpZmllZFJlZ2lvbklzQm91bmRhcnkodCxuKXtpZih0aGlzLl9Nb2RpZmllZElzQm91bmRhcnkodCl8fHRoaXMuX01vZGlmaWVkSXNCb3VuZGFyeSh0LTEpKXJldHVybiEwO2lmKG4+MCl7Y29uc3Qgcz10K247aWYodGhpcy5fTW9kaWZpZWRJc0JvdW5kYXJ5KHMtMSl8fHRoaXMuX01vZGlmaWVkSXNCb3VuZGFyeShzKSlyZXR1cm4hMH1yZXR1cm4hMX1fYm91bmRhcnlTY29yZSh0LG4scyxyKXtjb25zdCBpPXRoaXMuX09yaWdpbmFsUmVnaW9uSXNCb3VuZGFyeSh0LG4pPzE6MCxsPXRoaXMuX01vZGlmaWVkUmVnaW9uSXNCb3VuZGFyeShzLHIpPzE6MDtyZXR1cm4gaStsfUNvbmNhdGVuYXRlQ2hhbmdlcyh0LG4pe2NvbnN0IHM9W107aWYodC5sZW5ndGg9PT0wfHxuLmxlbmd0aD09PTApcmV0dXJuIG4ubGVuZ3RoPjA/bjp0O2lmKHRoaXMuQ2hhbmdlc092ZXJsYXAodFt0Lmxlbmd0aC0xXSxuWzBdLHMpKXtjb25zdCByPW5ldyBBcnJheSh0Lmxlbmd0aCtuLmxlbmd0aC0xKTtyZXR1cm4gUGUuQ29weSh0LDAsciwwLHQubGVuZ3RoLTEpLHJbdC5sZW5ndGgtMV09c1swXSxQZS5Db3B5KG4sMSxyLHQubGVuZ3RoLG4ubGVuZ3RoLTEpLHJ9ZWxzZXtjb25zdCByPW5ldyBBcnJheSh0Lmxlbmd0aCtuLmxlbmd0aCk7cmV0dXJuIFBlLkNvcHkodCwwLHIsMCx0Lmxlbmd0aCksUGUuQ29weShuLDAscix0Lmxlbmd0aCxuLmxlbmd0aCkscn19Q2hhbmdlc092ZXJsYXAodCxuLHMpe2lmKGtlLkFzc2VydCh0Lm9yaWdpbmFsU3RhcnQ8PW4ub3JpZ2luYWxTdGFydCwiTGVmdCBjaGFuZ2UgaXMgbm90IGxlc3MgdGhhbiBvciBlcXVhbCB0byByaWdodCBjaGFuZ2UiKSxrZS5Bc3NlcnQodC5tb2RpZmllZFN0YXJ0PD1uLm1vZGlmaWVkU3RhcnQsIkxlZnQgY2hhbmdlIGlzIG5vdCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gcmlnaHQgY2hhbmdlIiksdC5vcmlnaW5hbFN0YXJ0K3Qub3JpZ2luYWxMZW5ndGg+PW4ub3JpZ2luYWxTdGFydHx8dC5tb2RpZmllZFN0YXJ0K3QubW9kaWZpZWRMZW5ndGg+PW4ubW9kaWZpZWRTdGFydCl7Y29uc3Qgcj10Lm9yaWdpbmFsU3RhcnQ7bGV0IGk9dC5vcmlnaW5hbExlbmd0aDtjb25zdCBsPXQubW9kaWZpZWRTdGFydDtsZXQgbz10Lm1vZGlmaWVkTGVuZ3RoO3JldHVybiB0Lm9yaWdpbmFsU3RhcnQrdC5vcmlnaW5hbExlbmd0aD49bi5vcmlnaW5hbFN0YXJ0JiYoaT1uLm9yaWdpbmFsU3RhcnQrbi5vcmlnaW5hbExlbmd0aC10Lm9yaWdpbmFsU3RhcnQpLHQubW9kaWZpZWRTdGFydCt0Lm1vZGlmaWVkTGVuZ3RoPj1uLm1vZGlmaWVkU3RhcnQmJihvPW4ubW9kaWZpZWRTdGFydCtuLm1vZGlmaWVkTGVuZ3RoLXQubW9kaWZpZWRTdGFydCksc1swXT1uZXcgbWUocixpLGwsbyksITB9ZWxzZSByZXR1cm4gc1swXT1udWxsLCExfUNsaXBEaWFnb25hbEJvdW5kKHQsbixzLHIpe2lmKHQ+PTAmJnQ8cilyZXR1cm4gdDtjb25zdCBpPXMsbD1yLXMtMSxvPW4lMj09PTA7aWYodDwwKXtjb25zdCB1PWklMj09PTA7cmV0dXJuIG89PT11PzA6MX1lbHNle2NvbnN0IHU9bCUyPT09MDtyZXR1cm4gbz09PXU/ci0xOnItMn19fXZhciBjbj17VEVSTV9QUk9HUkFNOiJ2c2NvZGUiLE5PREU6Ii9Vc2Vycy9hbGV4YW5kZXIvLm52bS92ZXJzaW9ucy9ub2RlL3YyMC45LjAvYmluL25vZGUiLE5WTV9DRF9GTEFHUzoiLXEiLElOSVRfQ1dEOiIvVXNlcnMvYWxleGFuZGVyL215LWNvZGUvZ2l0aHViL29wZW5hcGktdWkiLFNIRUxMOiIvYmluL3pzaCIsVEVSTToieHRlcm0tMjU2Y29sb3IiLFRNUERJUjoiL3Zhci9mb2xkZXJzLzdiL2YyOGdoODZkMDgzX3hxajlwOWhzOTdrODAwMDBnbi9ULyIsbnBtX2NvbmZpZ19nbG9iYWxfcHJlZml4OiIvVXNlcnMvYWxleGFuZGVyLy5udm0vdmVyc2lvbnMvbm9kZS92MjAuOS4wIixURVJNX1BST0dSQU1fVkVSU0lPTjoiMS44OC4xIixHVk1fUk9PVDoiL1VzZXJzL2FsZXhhbmRlci8uZ3ZtIixNYWxsb2NOYW5vWm9uZToiMCIsT1JJR0lOQUxfWERHX0NVUlJFTlRfREVTS1RPUDoidW5kZWZpbmVkIixaRE9URElSOiIvVXNlcnMvYWxleGFuZGVyIixDT0xPUjoiMSIsbnBtX2NvbmZpZ19ub3Byb3h5OiIiLFpTSDoiL1VzZXJzL2FsZXhhbmRlci8ub2gtbXktenNoIixQTlBNX0hPTUU6Ii9Vc2Vycy9hbGV4YW5kZXIvTGlicmFyeS9wbnBtIixucG1fY29uZmlnX2xvY2FsX3ByZWZpeDoiL1VzZXJzL2FsZXhhbmRlci9teS1jb2RlL2dpdGh1Yi9vcGVuYXBpLXVpIixVU0VSOiJhbGV4YW5kZXIiLE5WTV9ESVI6Ii9Vc2Vycy9hbGV4YW5kZXIvLm52bSIsTERfTElCUkFSWV9QQVRIOiIvVXNlcnMvYWxleGFuZGVyLy5ndm0vcGtnc2V0cy9nbzEuMjEuNi9nbG9iYWwvb3ZlcmxheS9saWI6L1VzZXJzL2FsZXhhbmRlci8uZ3ZtL3BrZ3NldHMvZ28xLjIxLjYvZ2xvYmFsL292ZXJsYXkvbGliOi9Vc2Vycy9hbGV4YW5kZXIvLmd2bS9wa2dzZXRzL2dvMS4yMS42L2dsb2JhbC9vdmVybGF5L2xpYjovVXNlcnMvYWxleGFuZGVyLy5ndm0vcGtnc2V0cy9nbzEuMjEuNi9nbG9iYWwvb3ZlcmxheS9saWI6IixDT01NQU5EX01PREU6InVuaXgyMDAzIixucG1fY29uZmlnX2dsb2JhbGNvbmZpZzoiL1VzZXJzL2FsZXhhbmRlci8ubnZtL3ZlcnNpb25zL25vZGUvdjIwLjkuMC9ldGMvbnBtcmMiLFNTSF9BVVRIX1NPQ0s6Ii9wcml2YXRlL3RtcC9jb20uYXBwbGUubGF1bmNoZC5MZWtnRkYwaXVrL0xpc3RlbmVycyIsX19DRl9VU0VSX1RFWFRfRU5DT0RJTkc6IjB4MUY1OjB4MTk6MHgzNCIsbnBtX2V4ZWNwYXRoOiIvVXNlcnMvYWxleGFuZGVyLy5udm0vdmVyc2lvbnMvbm9kZS92MjAuOS4wL2xpYi9ub2RlX21vZHVsZXMvbnBtL2Jpbi9ucG0tY2xpLmpzIixQQUdFUjoibGVzcyIsTFNDT0xPUlM6Ikd4ZnhjeGR4YnhlZ2VkYWJhZ2FjYWQiLFBBVEg6Ii9Vc2Vycy9hbGV4YW5kZXIvbXktY29kZS9naXRodWIvb3BlbmFwaS11aS9ub2RlX21vZHVsZXMvLmJpbjovVXNlcnMvYWxleGFuZGVyL215LWNvZGUvZ2l0aHViL25vZGVfbW9kdWxlcy8uYmluOi9Vc2Vycy9hbGV4YW5kZXIvbXktY29kZS9ub2RlX21vZHVsZXMvLmJpbjovVXNlcnMvYWxleGFuZGVyL25vZGVfbW9kdWxlcy8uYmluOi9Vc2Vycy9ub2RlX21vZHVsZXMvLmJpbjovbm9kZV9tb2R1bGVzLy5iaW46L1VzZXJzL2FsZXhhbmRlci8ubnZtL3ZlcnNpb25zL25vZGUvdjIwLjkuMC9saWIvbm9kZV9tb2R1bGVzL25wbS9ub2RlX21vZHVsZXMvQG5wbWNsaS9ydW4tc2NyaXB0L2xpYi9ub2RlLWd5cC1iaW46L3Vzci9sb2NhbC9vcHQvcnVieS9iaW46L1VzZXJzL2FsZXhhbmRlci9MaWJyYXJ5L3BucG06L1VzZXJzL2FsZXhhbmRlci8ueWFybi9iaW46L1VzZXJzL2FsZXhhbmRlci8uY29uZmlnL3lhcm4vZ2xvYmFsL25vZGVfbW9kdWxlcy8uYmluOi9Vc2Vycy9hbGV4YW5kZXIvLmd2bS9wa2dzZXRzL2dvMS4yMS42L2dsb2JhbC9iaW46L1VzZXJzL2FsZXhhbmRlci8uZ3ZtL2dvcy9nbzEuMjEuNi9iaW46L1VzZXJzL2FsZXhhbmRlci8uZ3ZtL3BrZ3NldHMvZ28xLjIxLjYvZ2xvYmFsL292ZXJsYXkvYmluOi9Vc2Vycy9hbGV4YW5kZXIvLmd2bS9iaW46L1VzZXJzL2FsZXhhbmRlci8uZ3ZtL2JpbjovVXNlcnMvYWxleGFuZGVyLy5ndm0vcGtnc2V0cy9nbzEuMjEuNi9nbG9iYWwvYmluOi9Vc2Vycy9hbGV4YW5kZXIvLmd2bS9nb3MvZ28xLjIxLjYvYmluOi9Vc2Vycy9hbGV4YW5kZXIvLmd2bS9wa2dzZXRzL2dvMS4yMS42L2dsb2JhbC9vdmVybGF5L2JpbjovVXNlcnMvYWxleGFuZGVyLy5ndm0vYmluOi9Vc2Vycy9hbGV4YW5kZXIvLmd2bS9iaW46L1VzZXJzL2FsZXhhbmRlci9teWdvL2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi91c3Ivc2Jpbjovc2JpbjovVXNlcnMvYWxleGFuZGVyLy5ndm0vZ29zL2dvMS4yMS42L2JpbjovdXNyL2xvY2FsL29wdC9ydWJ5L2JpbjovVXNlcnMvYWxleGFuZGVyL0xpYnJhcnkvcG5wbTovVXNlcnMvYWxleGFuZGVyLy55YXJuL2JpbjovVXNlcnMvYWxleGFuZGVyLy5jb25maWcveWFybi9nbG9iYWwvbm9kZV9tb2R1bGVzLy5iaW46L1VzZXJzL2FsZXhhbmRlci8uZ3ZtL3BrZ3NldHMvZ28xLjIxLjYvZ2xvYmFsL2JpbjovVXNlcnMvYWxleGFuZGVyLy5ndm0vcGtnc2V0cy9nbzEuMjEuNi9nbG9iYWwvb3ZlcmxheS9iaW46L1VzZXJzL2FsZXhhbmRlci8uZ3ZtL2JpbjovVXNlcnMvYWxleGFuZGVyLy5udm0vdmVyc2lvbnMvbm9kZS92MjAuOS4wL2JpbjovVXNlcnMvYWxleGFuZGVyLy5jYXJnby9iaW46L3Vzci9sb2NhbC9teXNxbC9iaW46L1VzZXJzL2FsZXhhbmRlci8uZ2VtL3J1YnkvMy4yLjAvYmluOi91c3IvbG9jYWwvbXlzcWwvYmluOi9Vc2Vycy9hbGV4YW5kZXIvLmdlbS9ydWJ5LzMuMi4wL2JpbiIsbnBtX3BhY2thZ2VfanNvbjoiL1VzZXJzL2FsZXhhbmRlci9teS1jb2RlL2dpdGh1Yi9vcGVuYXBpLXVpL3BhY2thZ2UuanNvbiIsX19DRkJ1bmRsZUlkZW50aWZpZXI6ImNvbS5taWNyb3NvZnQuVlNDb2RlIixVU0VSX1pET1RESVI6Ii9Vc2Vycy9hbGV4YW5kZXIiLG5wbV9jb25maWdfYXV0b19pbnN0YWxsX3BlZXJzOiJ0cnVlIixucG1fY29uZmlnX2luaXRfbW9kdWxlOiIvVXNlcnMvYWxleGFuZGVyLy5ucG0taW5pdC5qcyIsbnBtX2NvbmZpZ191c2VyY29uZmlnOiIvVXNlcnMvYWxleGFuZGVyLy5ucG1yYyIsUFdEOiIvVXNlcnMvYWxleGFuZGVyL215LWNvZGUvZ2l0aHViL29wZW5hcGktdWkiLEdWTV9WRVJTSU9OOiIxLjAuMjIiLG5wbV9jb21tYW5kOiJydW4tc2NyaXB0IixFRElUT1I6InZpIixucG1fbGlmZWN5Y2xlX2V2ZW50OiJidWlsZDpwYWNrYWdlIixMQU5HOiJ6aF9DTi5VVEYtOCIsbnBtX3BhY2thZ2VfbmFtZToib3BlbmFwaS11aS1kaXN0Iixndm1fcGtnc2V0X25hbWU6Imdsb2JhbCIsTk9ERV9QQVRIOiIvVXNlcnMvYWxleGFuZGVyL215LWNvZGUvZ2l0aHViL29wZW5hcGktdWkvbm9kZV9tb2R1bGVzLy5wbnBtL3ZpdGVANS4yLjEwX0B0eXBlcytub2RlQDIwLjEyLjcvbm9kZV9tb2R1bGVzL3ZpdGUvYmluL25vZGVfbW9kdWxlczovVXNlcnMvYWxleGFuZGVyL215LWNvZGUvZ2l0aHViL29wZW5hcGktdWkvbm9kZV9tb2R1bGVzLy5wbnBtL3ZpdGVANS4yLjEwX0B0eXBlcytub2RlQDIwLjEyLjcvbm9kZV9tb2R1bGVzL3ZpdGUvbm9kZV9tb2R1bGVzOi9Vc2Vycy9hbGV4YW5kZXIvbXktY29kZS9naXRodWIvb3BlbmFwaS11aS9ub2RlX21vZHVsZXMvLnBucG0vdml0ZUA1LjIuMTBfQHR5cGVzK25vZGVAMjAuMTIuNy9ub2RlX21vZHVsZXM6L1VzZXJzL2FsZXhhbmRlci9teS1jb2RlL2dpdGh1Yi9vcGVuYXBpLXVpL25vZGVfbW9kdWxlcy8ucG5wbS9ub2RlX21vZHVsZXMiLFhQQ19GTEFHUzoiMHgwIixWU0NPREVfR0lUX0FTS1BBU1NfRVhUUkFfQVJHUzoiIixucG1fY29uZmlnX25wbV92ZXJzaW9uOiIxMC4xLjAiLG5wbV9wYWNrYWdlX2VuZ2luZXNfbm9kZToiXjE4LjAuMCB8fCA+PTIwLjAuMCIsbnBtX2NvbmZpZ19ub2RlX2d5cDoiL1VzZXJzL2FsZXhhbmRlci8ubnZtL3ZlcnNpb25zL25vZGUvdjIwLjkuMC9saWIvbm9kZV9tb2R1bGVzL25wbS9ub2RlX21vZHVsZXMvbm9kZS1neXAvYmluL25vZGUtZ3lwLmpzIixYUENfU0VSVklDRV9OQU1FOiIwIixucG1fcGFja2FnZV92ZXJzaW9uOiIyLjIuMCIsVlNDT0RFX0lOSkVDVElPTjoiMSIsSE9NRToiL1VzZXJzL2FsZXhhbmRlciIsU0hMVkw6IjIiLFZTQ09ERV9HSVRfQVNLUEFTU19NQUlOOiIvQXBwbGljYXRpb25zL1Zpc3VhbCBTdHVkaW8gQ29kZS5hcHAvQ29udGVudHMvUmVzb3VyY2VzL2FwcC9leHRlbnNpb25zL2dpdC9kaXN0L2Fza3Bhc3MtbWFpbi5qcyIsR09ST09UOiIvVXNlcnMvYWxleGFuZGVyLy5ndm0vZ29zL2dvMS4yMS42IixEWUxEX0xJQlJBUllfUEFUSDoiL1VzZXJzL2FsZXhhbmRlci8uZ3ZtL3BrZ3NldHMvZ28xLjIxLjYvZ2xvYmFsL292ZXJsYXkvbGliOi9Vc2Vycy9hbGV4YW5kZXIvLmd2bS9wa2dzZXRzL2dvMS4yMS42L2dsb2JhbC9vdmVybGF5L2xpYjovVXNlcnMvYWxleGFuZGVyLy5ndm0vcGtnc2V0cy9nbzEuMjEuNi9nbG9iYWwvb3ZlcmxheS9saWI6L1VzZXJzL2FsZXhhbmRlci8uZ3ZtL3BrZ3NldHMvZ28xLjIxLjYvZ2xvYmFsL292ZXJsYXkvbGliOiIsZ3ZtX2dvX25hbWU6ImdvMS4yMS42IixMT0dOQU1FOiJhbGV4YW5kZXIiLExFU1M6Ii1SIixWU0NPREVfUEFUSF9QUkVGSVg6Ii9Vc2Vycy9hbGV4YW5kZXIvLmd2bS9nb3MvZ28xLjIxLjYvYmluOiIsbnBtX2NvbmZpZ19jYWNoZToiL1VzZXJzL2FsZXhhbmRlci8ubnBtIixHVk1fT1ZFUkxBWV9QUkVGSVg6Ii9Vc2Vycy9hbGV4YW5kZXIvLmd2bS9wa2dzZXRzL2dvMS4yMS42L2dsb2JhbC9vdmVybGF5IixucG1fbGlmZWN5Y2xlX3NjcmlwdDoidHNjICYmIHZpdGUgYnVpbGQgLS1jb25maWcgdml0ZS5wYWNrYWdlLmNvbmZpZy50cyAtLW1vZGUgcGFja2FnZSIsTENfQ1RZUEU6InpoX0NOLlVURi04IixWU0NPREVfR0lUX0lQQ19IQU5ETEU6Ii92YXIvZm9sZGVycy83Yi9mMjhnaDg2ZDA4M194cWo5cDloczk3azgwMDAwZ24vVC92c2NvZGUtZ2l0LTc5YTE4ZjEwZjIuc29jayIsTlZNX0JJTjoiL1VzZXJzL2FsZXhhbmRlci8ubnZtL3ZlcnNpb25zL25vZGUvdjIwLjkuMC9iaW4iLFBLR19DT05GSUdfUEFUSDoiL1VzZXJzL2FsZXhhbmRlci8uZ3ZtL3BrZ3NldHMvZ28xLjIxLjYvZ2xvYmFsL292ZXJsYXkvbGliL3BrZ2NvbmZpZzovVXNlcnMvYWxleGFuZGVyLy5ndm0vcGtnc2V0cy9nbzEuMjEuNi9nbG9iYWwvb3ZlcmxheS9saWIvcGtnY29uZmlnOi9Vc2Vycy9hbGV4YW5kZXIvLmd2bS9wa2dzZXRzL2dvMS4yMS42L2dsb2JhbC9vdmVybGF5L2xpYi9wa2djb25maWc6L1VzZXJzL2FsZXhhbmRlci8uZ3ZtL3BrZ3NldHMvZ28xLjIxLjYvZ2xvYmFsL292ZXJsYXkvbGliL3BrZ2NvbmZpZzoiLEdPUEFUSDoiL1VzZXJzL2FsZXhhbmRlci9teWdvIixucG1fY29uZmlnX3VzZXJfYWdlbnQ6Im5wbS8xMC4xLjAgbm9kZS92MjAuOS4wIGRhcndpbiB4NjQgd29ya3NwYWNlcy9mYWxzZSIsR0lUX0FTS1BBU1M6Ii9BcHBsaWNhdGlvbnMvVmlzdWFsIFN0dWRpbyBDb2RlLmFwcC9Db250ZW50cy9SZXNvdXJjZXMvYXBwL2V4dGVuc2lvbnMvZ2l0L2Rpc3QvYXNrcGFzcy5zaCIsVlNDT0RFX0dJVF9BU0tQQVNTX05PREU6Ii9BcHBsaWNhdGlvbnMvVmlzdWFsIFN0dWRpbyBDb2RlLmFwcC9Db250ZW50cy9GcmFtZXdvcmtzL0NvZGUgSGVscGVyIChQbHVnaW4pLmFwcC9Db250ZW50cy9NYWNPUy9Db2RlIEhlbHBlciAoUGx1Z2luKSIsR1ZNX1BBVEhfQkFDS1VQOiIvVXNlcnMvYWxleGFuZGVyLy5ndm0vYmluOi9Vc2Vycy9hbGV4YW5kZXIvLmd2bS9wa2dzZXRzL2dvMS4yMS42L2dsb2JhbC9iaW46L1VzZXJzL2FsZXhhbmRlci8uZ3ZtL2dvcy9nbzEuMjEuNi9iaW46L1VzZXJzL2FsZXhhbmRlci8uZ3ZtL3BrZ3NldHMvZ28xLjIxLjYvZ2xvYmFsL292ZXJsYXkvYmluOi9Vc2Vycy9hbGV4YW5kZXIvLmd2bS9iaW46L1VzZXJzL2FsZXhhbmRlci8uZ3ZtL2JpbjovVXNlcnMvYWxleGFuZGVyL215Z28vYmluOi91c3IvbG9jYWwvYmluOi91c3IvYmluOi9iaW46L3Vzci9zYmluOi9zYmluOi9Vc2Vycy9hbGV4YW5kZXIvLmd2bS9nb3MvZ28xLjIxLjYvYmluOi91c3IvbG9jYWwvb3B0L3J1YnkvYmluOi9Vc2Vycy9hbGV4YW5kZXIvTGlicmFyeS9wbnBtOi9Vc2Vycy9hbGV4YW5kZXIvLnlhcm4vYmluOi9Vc2Vycy9hbGV4YW5kZXIvLmNvbmZpZy95YXJuL2dsb2JhbC9ub2RlX21vZHVsZXMvLmJpbjovVXNlcnMvYWxleGFuZGVyLy5ndm0vcGtnc2V0cy9nbzEuMjEuNi9nbG9iYWwvYmluOi9Vc2Vycy9hbGV4YW5kZXIvLmd2bS9wa2dzZXRzL2dvMS4yMS42L2dsb2JhbC9vdmVybGF5L2JpbjovVXNlcnMvYWxleGFuZGVyLy5ndm0vYmluOi9Vc2Vycy9hbGV4YW5kZXIvLm52bS92ZXJzaW9ucy9ub2RlL3YyMC45LjAvYmluOi9Vc2Vycy9hbGV4YW5kZXIvLmNhcmdvL2JpbjovdXNyL2xvY2FsL215c3FsL2JpbjovVXNlcnMvYWxleGFuZGVyLy5nZW0vcnVieS8zLjIuMC9iaW4iLENPTE9SVEVSTToidHJ1ZWNvbG9yIixucG1fY29uZmlnX3ByZWZpeDoiL1VzZXJzL2FsZXhhbmRlci8ubnZtL3ZlcnNpb25zL25vZGUvdjIwLjkuMCIsbnBtX25vZGVfZXhlY3BhdGg6Ii9Vc2Vycy9hbGV4YW5kZXIvLm52bS92ZXJzaW9ucy9ub2RlL3YyMC45LjAvYmluL25vZGUiLE5PREVfRU5WOiJwcm9kdWN0aW9uIn07bGV0IEZlO2NvbnN0IFJ0PWdsb2JhbFRoaXMudnNjb2RlO2lmKHR5cGVvZiBSdDwidSImJnR5cGVvZiBSdC5wcm9jZXNzPCJ1Iil7Y29uc3QgZT1SdC5wcm9jZXNzO0ZlPXtnZXQgcGxhdGZvcm0oKXtyZXR1cm4gZS5wbGF0Zm9ybX0sZ2V0IGFyY2goKXtyZXR1cm4gZS5hcmNofSxnZXQgZW52KCl7cmV0dXJuIGUuZW52fSxjd2QoKXtyZXR1cm4gZS5jd2QoKX19fWVsc2UgdHlwZW9mIHByb2Nlc3M8InUiP0ZlPXtnZXQgcGxhdGZvcm0oKXtyZXR1cm4gcHJvY2Vzcy5wbGF0Zm9ybX0sZ2V0IGFyY2goKXtyZXR1cm4gcHJvY2Vzcy5hcmNofSxnZXQgZW52KCl7cmV0dXJuIGNufSxjd2QoKXtyZXR1cm4gY24uVlNDT0RFX0NXRHx8cHJvY2Vzcy5jd2QoKX19OkZlPXtnZXQgcGxhdGZvcm0oKXtyZXR1cm4gemU/IndpbjMyIjptcj8iZGFyd2luIjoibGludXgifSxnZXQgYXJjaCgpe30sZ2V0IGVudigpe3JldHVybnt9fSxjd2QoKXtyZXR1cm4iLyJ9fTtjb25zdCBudD1GZS5jd2QsVnI9RmUuZW52LElyPUZlLnBsYXRmb3JtLEJyPTY1LHFyPTk3LEhyPTkwLFdyPTEyMixiZT00NixqPTQ3LEs9OTIsX2U9NTgsenI9NjM7Y2xhc3MgaG4gZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcih0LG4scyl7bGV0IHI7dHlwZW9mIG49PSJzdHJpbmciJiZuLmluZGV4T2YoIm5vdCAiKT09PTA/KHI9Im11c3Qgbm90IGJlIixuPW4ucmVwbGFjZSgvXm5vdCAvLCIiKSk6cj0ibXVzdCBiZSI7Y29uc3QgaT10LmluZGV4T2YoIi4iKSE9PS0xPyJwcm9wZXJ0eSI6ImFyZ3VtZW50IjtsZXQgbD1gVGhlICIke3R9IiAke2l9ICR7cn0gb2YgdHlwZSAke259YDtsKz1gLiBSZWNlaXZlZCB0eXBlICR7dHlwZW9mIHN9YCxzdXBlcihsKSx0aGlzLmNvZGU9IkVSUl9JTlZBTElEX0FSR19UWVBFIn19ZnVuY3Rpb24gJHIoZSx0KXtpZihlPT09bnVsbHx8dHlwZW9mIGUhPSJvYmplY3QiKXRocm93IG5ldyBobih0LCJPYmplY3QiLGUpfWZ1bmN0aW9uICQoZSx0KXtpZih0eXBlb2YgZSE9InN0cmluZyIpdGhyb3cgbmV3IGhuKHQsInN0cmluZyIsZSl9Y29uc3QgeGU9SXI9PT0id2luMzIiO2Z1bmN0aW9uIFAoZSl7cmV0dXJuIGU9PT1qfHxlPT09S31mdW5jdGlvbiBFdChlKXtyZXR1cm4gZT09PWp9ZnVuY3Rpb24gcGUoZSl7cmV0dXJuIGU+PUJyJiZlPD1Icnx8ZT49cXImJmU8PVdyfWZ1bmN0aW9uIHN0KGUsdCxuLHMpe2xldCByPSIiLGk9MCxsPS0xLG89MCx1PTA7Zm9yKGxldCBjPTA7Yzw9ZS5sZW5ndGg7KytjKXtpZihjPGUubGVuZ3RoKXU9ZS5jaGFyQ29kZUF0KGMpO2Vsc2V7aWYocyh1KSlicmVhazt1PWp9aWYocyh1KSl7aWYoIShsPT09Yy0xfHxvPT09MSkpaWYobz09PTIpe2lmKHIubGVuZ3RoPDJ8fGkhPT0yfHxyLmNoYXJDb2RlQXQoci5sZW5ndGgtMSkhPT1iZXx8ci5jaGFyQ29kZUF0KHIubGVuZ3RoLTIpIT09YmUpe2lmKHIubGVuZ3RoPjIpe2NvbnN0IGg9ci5sYXN0SW5kZXhPZihuKTtoPT09LTE/KHI9IiIsaT0wKToocj1yLnNsaWNlKDAsaCksaT1yLmxlbmd0aC0xLXIubGFzdEluZGV4T2YobikpLGw9YyxvPTA7Y29udGludWV9ZWxzZSBpZihyLmxlbmd0aCE9PTApe3I9IiIsaT0wLGw9YyxvPTA7Y29udGludWV9fXQmJihyKz1yLmxlbmd0aD4wP2Ake259Li5gOiIuLiIsaT0yKX1lbHNlIHIubGVuZ3RoPjA/cis9YCR7bn0ke2Uuc2xpY2UobCsxLGMpfWA6cj1lLnNsaWNlKGwrMSxjKSxpPWMtbC0xO2w9YyxvPTB9ZWxzZSB1PT09YmUmJm8hPT0tMT8rK286bz0tMX1yZXR1cm4gcn1mdW5jdGlvbiBmbihlLHQpeyRyKHQsInBhdGhPYmplY3QiKTtjb25zdCBuPXQuZGlyfHx0LnJvb3Qscz10LmJhc2V8fGAke3QubmFtZXx8IiJ9JHt0LmV4dHx8IiJ9YDtyZXR1cm4gbj9uPT09dC5yb290P2Ake259JHtzfWA6YCR7bn0ke2V9JHtzfWA6c31jb25zdCBaPXtyZXNvbHZlKC4uLmUpe2xldCB0PSIiLG49IiIscz0hMTtmb3IobGV0IHI9ZS5sZW5ndGgtMTtyPj0tMTtyLS0pe2xldCBpO2lmKHI+PTApe2lmKGk9ZVtyXSwkKGksInBhdGgiKSxpLmxlbmd0aD09PTApY29udGludWV9ZWxzZSB0Lmxlbmd0aD09PTA/aT1udCgpOihpPVZyW2A9JHt0fWBdfHxudCgpLChpPT09dm9pZCAwfHxpLnNsaWNlKDAsMikudG9Mb3dlckNhc2UoKSE9PXQudG9Mb3dlckNhc2UoKSYmaS5jaGFyQ29kZUF0KDIpPT09SykmJihpPWAke3R9XFxgKSk7Y29uc3QgbD1pLmxlbmd0aDtsZXQgbz0wLHU9IiIsYz0hMTtjb25zdCBoPWkuY2hhckNvZGVBdCgwKTtpZihsPT09MSlQKGgpJiYobz0xLGM9ITApO2Vsc2UgaWYoUChoKSlpZihjPSEwLFAoaS5jaGFyQ29kZUF0KDEpKSl7bGV0IGY9MixkPWY7Zm9yKDtmPGwmJiFQKGkuY2hhckNvZGVBdChmKSk7KWYrKztpZihmPGwmJmYhPT1kKXtjb25zdCBtPWkuc2xpY2UoZCxmKTtmb3IoZD1mO2Y8bCYmUChpLmNoYXJDb2RlQXQoZikpOylmKys7aWYoZjxsJiZmIT09ZCl7Zm9yKGQ9ZjtmPGwmJiFQKGkuY2hhckNvZGVBdChmKSk7KWYrKzsoZj09PWx8fGYhPT1kKSYmKHU9YFxcXFwke219XFwke2kuc2xpY2UoZCxmKX1gLG89Zil9fX1lbHNlIG89MTtlbHNlIHBlKGgpJiZpLmNoYXJDb2RlQXQoMSk9PT1fZSYmKHU9aS5zbGljZSgwLDIpLG89MixsPjImJlAoaS5jaGFyQ29kZUF0KDIpKSYmKGM9ITAsbz0zKSk7aWYodS5sZW5ndGg+MClpZih0Lmxlbmd0aD4wKXtpZih1LnRvTG93ZXJDYXNlKCkhPT10LnRvTG93ZXJDYXNlKCkpY29udGludWV9ZWxzZSB0PXU7aWYocyl7aWYodC5sZW5ndGg+MClicmVha31lbHNlIGlmKG49YCR7aS5zbGljZShvKX1cXCR7bn1gLHM9YyxjJiZ0Lmxlbmd0aD4wKWJyZWFrfXJldHVybiBuPXN0KG4sIXMsIlxcIixQKSxzP2Ake3R9XFwke259YDpgJHt0fSR7bn1gfHwiLiJ9LG5vcm1hbGl6ZShlKXskKGUsInBhdGgiKTtjb25zdCB0PWUubGVuZ3RoO2lmKHQ9PT0wKXJldHVybiIuIjtsZXQgbj0wLHMscj0hMTtjb25zdCBpPWUuY2hhckNvZGVBdCgwKTtpZih0PT09MSlyZXR1cm4gRXQoaSk/IlxcIjplO2lmKFAoaSkpaWYocj0hMCxQKGUuY2hhckNvZGVBdCgxKSkpe2xldCBvPTIsdT1vO2Zvcig7bzx0JiYhUChlLmNoYXJDb2RlQXQobykpOylvKys7aWYobzx0JiZvIT09dSl7Y29uc3QgYz1lLnNsaWNlKHUsbyk7Zm9yKHU9bztvPHQmJlAoZS5jaGFyQ29kZUF0KG8pKTspbysrO2lmKG88dCYmbyE9PXUpe2Zvcih1PW87bzx0JiYhUChlLmNoYXJDb2RlQXQobykpOylvKys7aWYobz09PXQpcmV0dXJuYFxcXFwke2N9XFwke2Uuc2xpY2UodSl9XFxgO28hPT11JiYocz1gXFxcXCR7Y31cXCR7ZS5zbGljZSh1LG8pfWAsbj1vKX19fWVsc2Ugbj0xO2Vsc2UgcGUoaSkmJmUuY2hhckNvZGVBdCgxKT09PV9lJiYocz1lLnNsaWNlKDAsMiksbj0yLHQ+MiYmUChlLmNoYXJDb2RlQXQoMikpJiYocj0hMCxuPTMpKTtsZXQgbD1uPHQ/c3QoZS5zbGljZShuKSwhciwiXFwiLFApOiIiO3JldHVybiBsLmxlbmd0aD09PTAmJiFyJiYobD0iLiIpLGwubGVuZ3RoPjAmJlAoZS5jaGFyQ29kZUF0KHQtMSkpJiYobCs9IlxcIikscz09PXZvaWQgMD9yP2BcXCR7bH1gOmw6cj9gJHtzfVxcJHtsfWA6YCR7c30ke2x9YH0saXNBYnNvbHV0ZShlKXskKGUsInBhdGgiKTtjb25zdCB0PWUubGVuZ3RoO2lmKHQ9PT0wKXJldHVybiExO2NvbnN0IG49ZS5jaGFyQ29kZUF0KDApO3JldHVybiBQKG4pfHx0PjImJnBlKG4pJiZlLmNoYXJDb2RlQXQoMSk9PT1fZSYmUChlLmNoYXJDb2RlQXQoMikpfSxqb2luKC4uLmUpe2lmKGUubGVuZ3RoPT09MClyZXR1cm4iLiI7bGV0IHQsbjtmb3IobGV0IGk9MDtpPGUubGVuZ3RoOysraSl7Y29uc3QgbD1lW2ldOyQobCwicGF0aCIpLGwubGVuZ3RoPjAmJih0PT09dm9pZCAwP3Q9bj1sOnQrPWBcXCR7bH1gKX1pZih0PT09dm9pZCAwKXJldHVybiIuIjtsZXQgcz0hMCxyPTA7aWYodHlwZW9mIG49PSJzdHJpbmciJiZQKG4uY2hhckNvZGVBdCgwKSkpeysrcjtjb25zdCBpPW4ubGVuZ3RoO2k+MSYmUChuLmNoYXJDb2RlQXQoMSkpJiYoKytyLGk+MiYmKFAobi5jaGFyQ29kZUF0KDIpKT8rK3I6cz0hMSkpfWlmKHMpe2Zvcig7cjx0Lmxlbmd0aCYmUCh0LmNoYXJDb2RlQXQocikpOylyKys7cj49MiYmKHQ9YFxcJHt0LnNsaWNlKHIpfWApfXJldHVybiBaLm5vcm1hbGl6ZSh0KX0scmVsYXRpdmUoZSx0KXtpZigkKGUsImZyb20iKSwkKHQsInRvIiksZT09PXQpcmV0dXJuIiI7Y29uc3Qgbj1aLnJlc29sdmUoZSkscz1aLnJlc29sdmUodCk7aWYobj09PXN8fChlPW4udG9Mb3dlckNhc2UoKSx0PXMudG9Mb3dlckNhc2UoKSxlPT09dCkpcmV0dXJuIiI7bGV0IHI9MDtmb3IoO3I8ZS5sZW5ndGgmJmUuY2hhckNvZGVBdChyKT09PUs7KXIrKztsZXQgaT1lLmxlbmd0aDtmb3IoO2ktMT5yJiZlLmNoYXJDb2RlQXQoaS0xKT09PUs7KWktLTtjb25zdCBsPWktcjtsZXQgbz0wO2Zvcig7bzx0Lmxlbmd0aCYmdC5jaGFyQ29kZUF0KG8pPT09SzspbysrO2xldCB1PXQubGVuZ3RoO2Zvcig7dS0xPm8mJnQuY2hhckNvZGVBdCh1LTEpPT09SzspdS0tO2NvbnN0IGM9dS1vLGg9bDxjP2w6YztsZXQgZj0tMSxkPTA7Zm9yKDtkPGg7ZCsrKXtjb25zdCBnPWUuY2hhckNvZGVBdChyK2QpO2lmKGchPT10LmNoYXJDb2RlQXQobytkKSlicmVhaztnPT09SyYmKGY9ZCl9aWYoZCE9PWgpe2lmKGY9PT0tMSlyZXR1cm4gc31lbHNle2lmKGM+aCl7aWYodC5jaGFyQ29kZUF0KG8rZCk9PT1LKXJldHVybiBzLnNsaWNlKG8rZCsxKTtpZihkPT09MilyZXR1cm4gcy5zbGljZShvK2QpfWw+aCYmKGUuY2hhckNvZGVBdChyK2QpPT09Sz9mPWQ6ZD09PTImJihmPTMpKSxmPT09LTEmJihmPTApfWxldCBtPSIiO2ZvcihkPXIrZisxO2Q8PWk7KytkKShkPT09aXx8ZS5jaGFyQ29kZUF0KGQpPT09SykmJihtKz1tLmxlbmd0aD09PTA/Ii4uIjoiXFwuLiIpO3JldHVybiBvKz1mLG0ubGVuZ3RoPjA/YCR7bX0ke3Muc2xpY2Uobyx1KX1gOihzLmNoYXJDb2RlQXQobyk9PT1LJiYrK28scy5zbGljZShvLHUpKX0sdG9OYW1lc3BhY2VkUGF0aChlKXtpZih0eXBlb2YgZSE9InN0cmluZyJ8fGUubGVuZ3RoPT09MClyZXR1cm4gZTtjb25zdCB0PVoucmVzb2x2ZShlKTtpZih0Lmxlbmd0aDw9MilyZXR1cm4gZTtpZih0LmNoYXJDb2RlQXQoMCk9PT1LKXtpZih0LmNoYXJDb2RlQXQoMSk9PT1LKXtjb25zdCBuPXQuY2hhckNvZGVBdCgyKTtpZihuIT09enImJm4hPT1iZSlyZXR1cm5gXFxcXD9cXFVOQ1xcJHt0LnNsaWNlKDIpfWB9fWVsc2UgaWYocGUodC5jaGFyQ29kZUF0KDApKSYmdC5jaGFyQ29kZUF0KDEpPT09X2UmJnQuY2hhckNvZGVBdCgyKT09PUspcmV0dXJuYFxcXFw/XFwke3R9YDtyZXR1cm4gZX0sZGlybmFtZShlKXskKGUsInBhdGgiKTtjb25zdCB0PWUubGVuZ3RoO2lmKHQ9PT0wKXJldHVybiIuIjtsZXQgbj0tMSxzPTA7Y29uc3Qgcj1lLmNoYXJDb2RlQXQoMCk7aWYodD09PTEpcmV0dXJuIFAocik/ZToiLiI7aWYoUChyKSl7aWYobj1zPTEsUChlLmNoYXJDb2RlQXQoMSkpKXtsZXQgbz0yLHU9bztmb3IoO288dCYmIVAoZS5jaGFyQ29kZUF0KG8pKTspbysrO2lmKG88dCYmbyE9PXUpe2Zvcih1PW87bzx0JiZQKGUuY2hhckNvZGVBdChvKSk7KW8rKztpZihvPHQmJm8hPT11KXtmb3IodT1vO288dCYmIVAoZS5jaGFyQ29kZUF0KG8pKTspbysrO2lmKG89PT10KXJldHVybiBlO28hPT11JiYobj1zPW8rMSl9fX19ZWxzZSBwZShyKSYmZS5jaGFyQ29kZUF0KDEpPT09X2UmJihuPXQ+MiYmUChlLmNoYXJDb2RlQXQoMikpPzM6MixzPW4pO2xldCBpPS0xLGw9ITA7Zm9yKGxldCBvPXQtMTtvPj1zOy0tbylpZihQKGUuY2hhckNvZGVBdChvKSkpe2lmKCFsKXtpPW87YnJlYWt9fWVsc2UgbD0hMTtpZihpPT09LTEpe2lmKG49PT0tMSlyZXR1cm4iLiI7aT1ufXJldHVybiBlLnNsaWNlKDAsaSl9LGJhc2VuYW1lKGUsdCl7dCE9PXZvaWQgMCYmJCh0LCJleHQiKSwkKGUsInBhdGgiKTtsZXQgbj0wLHM9LTEscj0hMCxpO2lmKGUubGVuZ3RoPj0yJiZwZShlLmNoYXJDb2RlQXQoMCkpJiZlLmNoYXJDb2RlQXQoMSk9PT1fZSYmKG49MiksdCE9PXZvaWQgMCYmdC5sZW5ndGg+MCYmdC5sZW5ndGg8PWUubGVuZ3RoKXtpZih0PT09ZSlyZXR1cm4iIjtsZXQgbD10Lmxlbmd0aC0xLG89LTE7Zm9yKGk9ZS5sZW5ndGgtMTtpPj1uOy0taSl7Y29uc3QgdT1lLmNoYXJDb2RlQXQoaSk7aWYoUCh1KSl7aWYoIXIpe249aSsxO2JyZWFrfX1lbHNlIG89PT0tMSYmKHI9ITEsbz1pKzEpLGw+PTAmJih1PT09dC5jaGFyQ29kZUF0KGwpPy0tbD09PS0xJiYocz1pKToobD0tMSxzPW8pKX1yZXR1cm4gbj09PXM/cz1vOnM9PT0tMSYmKHM9ZS5sZW5ndGgpLGUuc2xpY2UobixzKX1mb3IoaT1lLmxlbmd0aC0xO2k+PW47LS1pKWlmKFAoZS5jaGFyQ29kZUF0KGkpKSl7aWYoIXIpe249aSsxO2JyZWFrfX1lbHNlIHM9PT0tMSYmKHI9ITEscz1pKzEpO3JldHVybiBzPT09LTE/IiI6ZS5zbGljZShuLHMpfSxleHRuYW1lKGUpeyQoZSwicGF0aCIpO2xldCB0PTAsbj0tMSxzPTAscj0tMSxpPSEwLGw9MDtlLmxlbmd0aD49MiYmZS5jaGFyQ29kZUF0KDEpPT09X2UmJnBlKGUuY2hhckNvZGVBdCgwKSkmJih0PXM9Mik7Zm9yKGxldCBvPWUubGVuZ3RoLTE7bz49dDstLW8pe2NvbnN0IHU9ZS5jaGFyQ29kZUF0KG8pO2lmKFAodSkpe2lmKCFpKXtzPW8rMTticmVha31jb250aW51ZX1yPT09LTEmJihpPSExLHI9bysxKSx1PT09YmU/bj09PS0xP249bzpsIT09MSYmKGw9MSk6biE9PS0xJiYobD0tMSl9cmV0dXJuIG49PT0tMXx8cj09PS0xfHxsPT09MHx8bD09PTEmJm49PT1yLTEmJm49PT1zKzE/IiI6ZS5zbGljZShuLHIpfSxmb3JtYXQ6Zm4uYmluZChudWxsLCJcXCIpLHBhcnNlKGUpeyQoZSwicGF0aCIpO2NvbnN0IHQ9e3Jvb3Q6IiIsZGlyOiIiLGJhc2U6IiIsZXh0OiIiLG5hbWU6IiJ9O2lmKGUubGVuZ3RoPT09MClyZXR1cm4gdDtjb25zdCBuPWUubGVuZ3RoO2xldCBzPTAscj1lLmNoYXJDb2RlQXQoMCk7aWYobj09PTEpcmV0dXJuIFAocik/KHQucm9vdD10LmRpcj1lLHQpOih0LmJhc2U9dC5uYW1lPWUsdCk7aWYoUChyKSl7aWYocz0xLFAoZS5jaGFyQ29kZUF0KDEpKSl7bGV0IGY9MixkPWY7Zm9yKDtmPG4mJiFQKGUuY2hhckNvZGVBdChmKSk7KWYrKztpZihmPG4mJmYhPT1kKXtmb3IoZD1mO2Y8biYmUChlLmNoYXJDb2RlQXQoZikpOylmKys7aWYoZjxuJiZmIT09ZCl7Zm9yKGQ9ZjtmPG4mJiFQKGUuY2hhckNvZGVBdChmKSk7KWYrKztmPT09bj9zPWY6ZiE9PWQmJihzPWYrMSl9fX19ZWxzZSBpZihwZShyKSYmZS5jaGFyQ29kZUF0KDEpPT09X2Upe2lmKG48PTIpcmV0dXJuIHQucm9vdD10LmRpcj1lLHQ7aWYocz0yLFAoZS5jaGFyQ29kZUF0KDIpKSl7aWYobj09PTMpcmV0dXJuIHQucm9vdD10LmRpcj1lLHQ7cz0zfX1zPjAmJih0LnJvb3Q9ZS5zbGljZSgwLHMpKTtsZXQgaT0tMSxsPXMsbz0tMSx1PSEwLGM9ZS5sZW5ndGgtMSxoPTA7Zm9yKDtjPj1zOy0tYyl7aWYocj1lLmNoYXJDb2RlQXQoYyksUChyKSl7aWYoIXUpe2w9YysxO2JyZWFrfWNvbnRpbnVlfW89PT0tMSYmKHU9ITEsbz1jKzEpLHI9PT1iZT9pPT09LTE/aT1jOmghPT0xJiYoaD0xKTppIT09LTEmJihoPS0xKX1yZXR1cm4gbyE9PS0xJiYoaT09PS0xfHxoPT09MHx8aD09PTEmJmk9PT1vLTEmJmk9PT1sKzE/dC5iYXNlPXQubmFtZT1lLnNsaWNlKGwsbyk6KHQubmFtZT1lLnNsaWNlKGwsaSksdC5iYXNlPWUuc2xpY2UobCxvKSx0LmV4dD1lLnNsaWNlKGksbykpKSxsPjAmJmwhPT1zP3QuZGlyPWUuc2xpY2UoMCxsLTEpOnQuZGlyPXQucm9vdCx0fSxzZXA6IlxcIixkZWxpbWl0ZXI6IjsiLHdpbjMyOm51bGwscG9zaXg6bnVsbH0sT3I9KCgpPT57aWYoeGUpe2NvbnN0IGU9L1xcL2c7cmV0dXJuKCk9Pntjb25zdCB0PW50KCkucmVwbGFjZShlLCIvIik7cmV0dXJuIHQuc2xpY2UodC5pbmRleE9mKCIvIikpfX1yZXR1cm4oKT0+bnQoKX0pKCksZWU9e3Jlc29sdmUoLi4uZSl7bGV0IHQ9IiIsbj0hMTtmb3IobGV0IHM9ZS5sZW5ndGgtMTtzPj0tMSYmIW47cy0tKXtjb25zdCByPXM+PTA/ZVtzXTpPcigpOyQociwicGF0aCIpLHIubGVuZ3RoIT09MCYmKHQ9YCR7cn0vJHt0fWAsbj1yLmNoYXJDb2RlQXQoMCk9PT1qKX1yZXR1cm4gdD1zdCh0LCFuLCIvIixFdCksbj9gLyR7dH1gOnQubGVuZ3RoPjA/dDoiLiJ9LG5vcm1hbGl6ZShlKXtpZigkKGUsInBhdGgiKSxlLmxlbmd0aD09PTApcmV0dXJuIi4iO2NvbnN0IHQ9ZS5jaGFyQ29kZUF0KDApPT09aixuPWUuY2hhckNvZGVBdChlLmxlbmd0aC0xKT09PWo7cmV0dXJuIGU9c3QoZSwhdCwiLyIsRXQpLGUubGVuZ3RoPT09MD90PyIvIjpuPyIuLyI6Ii4iOihuJiYoZSs9Ii8iKSx0P2AvJHtlfWA6ZSl9LGlzQWJzb2x1dGUoZSl7cmV0dXJuICQoZSwicGF0aCIpLGUubGVuZ3RoPjAmJmUuY2hhckNvZGVBdCgwKT09PWp9LGpvaW4oLi4uZSl7aWYoZS5sZW5ndGg9PT0wKXJldHVybiIuIjtsZXQgdDtmb3IobGV0IG49MDtuPGUubGVuZ3RoOysrbil7Y29uc3Qgcz1lW25dOyQocywicGF0aCIpLHMubGVuZ3RoPjAmJih0PT09dm9pZCAwP3Q9czp0Kz1gLyR7c31gKX1yZXR1cm4gdD09PXZvaWQgMD8iLiI6ZWUubm9ybWFsaXplKHQpfSxyZWxhdGl2ZShlLHQpe2lmKCQoZSwiZnJvbSIpLCQodCwidG8iKSxlPT09dHx8KGU9ZWUucmVzb2x2ZShlKSx0PWVlLnJlc29sdmUodCksZT09PXQpKXJldHVybiIiO2NvbnN0IG49MSxzPWUubGVuZ3RoLHI9cy1uLGk9MSxsPXQubGVuZ3RoLWksbz1yPGw/cjpsO2xldCB1PS0xLGM9MDtmb3IoO2M8bztjKyspe2NvbnN0IGY9ZS5jaGFyQ29kZUF0KG4rYyk7aWYoZiE9PXQuY2hhckNvZGVBdChpK2MpKWJyZWFrO2Y9PT1qJiYodT1jKX1pZihjPT09bylpZihsPm8pe2lmKHQuY2hhckNvZGVBdChpK2MpPT09ailyZXR1cm4gdC5zbGljZShpK2MrMSk7aWYoYz09PTApcmV0dXJuIHQuc2xpY2UoaStjKX1lbHNlIHI+byYmKGUuY2hhckNvZGVBdChuK2MpPT09aj91PWM6Yz09PTAmJih1PTApKTtsZXQgaD0iIjtmb3IoYz1uK3UrMTtjPD1zOysrYykoYz09PXN8fGUuY2hhckNvZGVBdChjKT09PWopJiYoaCs9aC5sZW5ndGg9PT0wPyIuLiI6Ii8uLiIpO3JldHVybmAke2h9JHt0LnNsaWNlKGkrdSl9YH0sdG9OYW1lc3BhY2VkUGF0aChlKXtyZXR1cm4gZX0sZGlybmFtZShlKXtpZigkKGUsInBhdGgiKSxlLmxlbmd0aD09PTApcmV0dXJuIi4iO2NvbnN0IHQ9ZS5jaGFyQ29kZUF0KDApPT09ajtsZXQgbj0tMSxzPSEwO2ZvcihsZXQgcj1lLmxlbmd0aC0xO3I+PTE7LS1yKWlmKGUuY2hhckNvZGVBdChyKT09PWope2lmKCFzKXtuPXI7YnJlYWt9fWVsc2Ugcz0hMTtyZXR1cm4gbj09PS0xP3Q/Ii8iOiIuIjp0JiZuPT09MT8iLy8iOmUuc2xpY2UoMCxuKX0sYmFzZW5hbWUoZSx0KXt0IT09dm9pZCAwJiYkKHQsImV4dCIpLCQoZSwicGF0aCIpO2xldCBuPTAscz0tMSxyPSEwLGk7aWYodCE9PXZvaWQgMCYmdC5sZW5ndGg+MCYmdC5sZW5ndGg8PWUubGVuZ3RoKXtpZih0PT09ZSlyZXR1cm4iIjtsZXQgbD10Lmxlbmd0aC0xLG89LTE7Zm9yKGk9ZS5sZW5ndGgtMTtpPj0wOy0taSl7Y29uc3QgdT1lLmNoYXJDb2RlQXQoaSk7aWYodT09PWope2lmKCFyKXtuPWkrMTticmVha319ZWxzZSBvPT09LTEmJihyPSExLG89aSsxKSxsPj0wJiYodT09PXQuY2hhckNvZGVBdChsKT8tLWw9PT0tMSYmKHM9aSk6KGw9LTEscz1vKSl9cmV0dXJuIG49PT1zP3M9bzpzPT09LTEmJihzPWUubGVuZ3RoKSxlLnNsaWNlKG4scyl9Zm9yKGk9ZS5sZW5ndGgtMTtpPj0wOy0taSlpZihlLmNoYXJDb2RlQXQoaSk9PT1qKXtpZighcil7bj1pKzE7YnJlYWt9fWVsc2Ugcz09PS0xJiYocj0hMSxzPWkrMSk7cmV0dXJuIHM9PT0tMT8iIjplLnNsaWNlKG4scyl9LGV4dG5hbWUoZSl7JChlLCJwYXRoIik7bGV0IHQ9LTEsbj0wLHM9LTEscj0hMCxpPTA7Zm9yKGxldCBsPWUubGVuZ3RoLTE7bD49MDstLWwpe2NvbnN0IG89ZS5jaGFyQ29kZUF0KGwpO2lmKG89PT1qKXtpZighcil7bj1sKzE7YnJlYWt9Y29udGludWV9cz09PS0xJiYocj0hMSxzPWwrMSksbz09PWJlP3Q9PT0tMT90PWw6aSE9PTEmJihpPTEpOnQhPT0tMSYmKGk9LTEpfXJldHVybiB0PT09LTF8fHM9PT0tMXx8aT09PTB8fGk9PT0xJiZ0PT09cy0xJiZ0PT09bisxPyIiOmUuc2xpY2UodCxzKX0sZm9ybWF0OmZuLmJpbmQobnVsbCwiLyIpLHBhcnNlKGUpeyQoZSwicGF0aCIpO2NvbnN0IHQ9e3Jvb3Q6IiIsZGlyOiIiLGJhc2U6IiIsZXh0OiIiLG5hbWU6IiJ9O2lmKGUubGVuZ3RoPT09MClyZXR1cm4gdDtjb25zdCBuPWUuY2hhckNvZGVBdCgwKT09PWo7bGV0IHM7bj8odC5yb290PSIvIixzPTEpOnM9MDtsZXQgcj0tMSxpPTAsbD0tMSxvPSEwLHU9ZS5sZW5ndGgtMSxjPTA7Zm9yKDt1Pj1zOy0tdSl7Y29uc3QgaD1lLmNoYXJDb2RlQXQodSk7aWYoaD09PWope2lmKCFvKXtpPXUrMTticmVha31jb250aW51ZX1sPT09LTEmJihvPSExLGw9dSsxKSxoPT09YmU/cj09PS0xP3I9dTpjIT09MSYmKGM9MSk6ciE9PS0xJiYoYz0tMSl9aWYobCE9PS0xKXtjb25zdCBoPWk9PT0wJiZuPzE6aTtyPT09LTF8fGM9PT0wfHxjPT09MSYmcj09PWwtMSYmcj09PWkrMT90LmJhc2U9dC5uYW1lPWUuc2xpY2UoaCxsKToodC5uYW1lPWUuc2xpY2UoaCxyKSx0LmJhc2U9ZS5zbGljZShoLGwpLHQuZXh0PWUuc2xpY2UocixsKSl9cmV0dXJuIGk+MD90LmRpcj1lLnNsaWNlKDAsaS0xKTpuJiYodC5kaXI9Ii8iKSx0fSxzZXA6Ii8iLGRlbGltaXRlcjoiOiIsd2luMzI6bnVsbCxwb3NpeDpudWxsfTtlZS53aW4zMj1aLndpbjMyPVosZWUucG9zaXg9Wi5wb3NpeD1lZSx4ZT9aLm5vcm1hbGl6ZTplZS5ub3JtYWxpemUseGU/Wi5yZXNvbHZlOmVlLnJlc29sdmUseGU/Wi5yZWxhdGl2ZTplZS5yZWxhdGl2ZSx4ZT9aLmRpcm5hbWU6ZWUuZGlybmFtZSx4ZT9aLmJhc2VuYW1lOmVlLmJhc2VuYW1lLHhlP1ouZXh0bmFtZTplZS5leHRuYW1lLHhlP1ouc2VwOmVlLnNlcDtjb25zdCBHcj0vXlx3W1x3XGQrLi1dKiQvLGpyPS9eXC8vLFhyPS9eXC9cLy87ZnVuY3Rpb24gUXIoZSx0KXtpZighZS5zY2hlbWUmJnQpdGhyb3cgbmV3IEVycm9yKGBbVXJpRXJyb3JdOiBTY2hlbWUgaXMgbWlzc2luZzoge3NjaGVtZTogIiIsIGF1dGhvcml0eTogIiR7ZS5hdXRob3JpdHl9IiwgcGF0aDogIiR7ZS5wYXRofSIsIHF1ZXJ5OiAiJHtlLnF1ZXJ5fSIsIGZyYWdtZW50OiAiJHtlLmZyYWdtZW50fSJ9YCk7aWYoZS5zY2hlbWUmJiFHci50ZXN0KGUuc2NoZW1lKSl0aHJvdyBuZXcgRXJyb3IoIltVcmlFcnJvcl06IFNjaGVtZSBjb250YWlucyBpbGxlZ2FsIGNoYXJhY3RlcnMuIik7aWYoZS5wYXRoKXtpZihlLmF1dGhvcml0eSl7aWYoIWpyLnRlc3QoZS5wYXRoKSl0aHJvdyBuZXcgRXJyb3IoJ1tVcmlFcnJvcl06IElmIGEgVVJJIGNvbnRhaW5zIGFuIGF1dGhvcml0eSBjb21wb25lbnQsIHRoZW4gdGhlIHBhdGggY29tcG9uZW50IG11c3QgZWl0aGVyIGJlIGVtcHR5IG9yIGJlZ2luIHdpdGggYSBzbGFzaCAoIi8iKSBjaGFyYWN0ZXInKX1lbHNlIGlmKFhyLnRlc3QoZS5wYXRoKSl0aHJvdyBuZXcgRXJyb3IoJ1tVcmlFcnJvcl06IElmIGEgVVJJIGRvZXMgbm90IGNvbnRhaW4gYW4gYXV0aG9yaXR5IGNvbXBvbmVudCwgdGhlbiB0aGUgcGF0aCBjYW5ub3QgYmVnaW4gd2l0aCB0d28gc2xhc2ggY2hhcmFjdGVycyAoIi8vIiknKX19ZnVuY3Rpb24gWXIoZSx0KXtyZXR1cm4hZSYmIXQ/ImZpbGUiOmV9ZnVuY3Rpb24gSnIoZSx0KXtzd2l0Y2goZSl7Y2FzZSJodHRwcyI6Y2FzZSJodHRwIjpjYXNlImZpbGUiOnQ/dFswXSE9PWFlJiYodD1hZSt0KTp0PWFlO2JyZWFrfXJldHVybiB0fWNvbnN0IFc9IiIsYWU9Ii8iLFpyPS9eKChbXjovPyNdKz8pOik/KFwvXC8oW14vPyNdKikpPyhbXj8jXSopKFw/KFteI10qKSk/KCMoLiopKT8vO2NsYXNzIE5le3N0YXRpYyBpc1VyaSh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIE5lPyEwOnQ/dHlwZW9mIHQuYXV0aG9yaXR5PT0ic3RyaW5nIiYmdHlwZW9mIHQuZnJhZ21lbnQ9PSJzdHJpbmciJiZ0eXBlb2YgdC5wYXRoPT0ic3RyaW5nIiYmdHlwZW9mIHQucXVlcnk9PSJzdHJpbmciJiZ0eXBlb2YgdC5zY2hlbWU9PSJzdHJpbmciJiZ0eXBlb2YgdC5mc1BhdGg9PSJzdHJpbmciJiZ0eXBlb2YgdC53aXRoPT0iZnVuY3Rpb24iJiZ0eXBlb2YgdC50b1N0cmluZz09ImZ1bmN0aW9uIjohMX1jb25zdHJ1Y3Rvcih0LG4scyxyLGksbD0hMSl7dHlwZW9mIHQ9PSJvYmplY3QiPyh0aGlzLnNjaGVtZT10LnNjaGVtZXx8Vyx0aGlzLmF1dGhvcml0eT10LmF1dGhvcml0eXx8Vyx0aGlzLnBhdGg9dC5wYXRofHxXLHRoaXMucXVlcnk9dC5xdWVyeXx8Vyx0aGlzLmZyYWdtZW50PXQuZnJhZ21lbnR8fFcpOih0aGlzLnNjaGVtZT1Zcih0LGwpLHRoaXMuYXV0aG9yaXR5PW58fFcsdGhpcy5wYXRoPUpyKHRoaXMuc2NoZW1lLHN8fFcpLHRoaXMucXVlcnk9cnx8Vyx0aGlzLmZyYWdtZW50PWl8fFcsUXIodGhpcyxsKSl9Z2V0IGZzUGF0aCgpe3JldHVybiBNdCh0aGlzLCExKX13aXRoKHQpe2lmKCF0KXJldHVybiB0aGlzO2xldHtzY2hlbWU6bixhdXRob3JpdHk6cyxwYXRoOnIscXVlcnk6aSxmcmFnbWVudDpsfT10O3JldHVybiBuPT09dm9pZCAwP249dGhpcy5zY2hlbWU6bj09PW51bGwmJihuPVcpLHM9PT12b2lkIDA/cz10aGlzLmF1dGhvcml0eTpzPT09bnVsbCYmKHM9Vykscj09PXZvaWQgMD9yPXRoaXMucGF0aDpyPT09bnVsbCYmKHI9VyksaT09PXZvaWQgMD9pPXRoaXMucXVlcnk6aT09PW51bGwmJihpPVcpLGw9PT12b2lkIDA/bD10aGlzLmZyYWdtZW50Omw9PT1udWxsJiYobD1XKSxuPT09dGhpcy5zY2hlbWUmJnM9PT10aGlzLmF1dGhvcml0eSYmcj09PXRoaXMucGF0aCYmaT09PXRoaXMucXVlcnkmJmw9PT10aGlzLmZyYWdtZW50P3RoaXM6bmV3IERlKG4scyxyLGksbCl9c3RhdGljIHBhcnNlKHQsbj0hMSl7Y29uc3Qgcz1aci5leGVjKHQpO3JldHVybiBzP25ldyBEZShzWzJdfHxXLHJ0KHNbNF18fFcpLHJ0KHNbNV18fFcpLHJ0KHNbN118fFcpLHJ0KHNbOV18fFcpLG4pOm5ldyBEZShXLFcsVyxXLFcpfXN0YXRpYyBmaWxlKHQpe2xldCBuPVc7aWYoemUmJih0PXQucmVwbGFjZSgvXFwvZyxhZSkpLHRbMF09PT1hZSYmdFsxXT09PWFlKXtjb25zdCBzPXQuaW5kZXhPZihhZSwyKTtzPT09LTE/KG49dC5zdWJzdHJpbmcoMiksdD1hZSk6KG49dC5zdWJzdHJpbmcoMixzKSx0PXQuc3Vic3RyaW5nKHMpfHxhZSl9cmV0dXJuIG5ldyBEZSgiZmlsZSIsbix0LFcsVyl9c3RhdGljIGZyb20odCxuKXtyZXR1cm4gbmV3IERlKHQuc2NoZW1lLHQuYXV0aG9yaXR5LHQucGF0aCx0LnF1ZXJ5LHQuZnJhZ21lbnQsbil9c3RhdGljIGpvaW5QYXRoKHQsLi4ubil7aWYoIXQucGF0aCl0aHJvdyBuZXcgRXJyb3IoIltVcmlFcnJvcl06IGNhbm5vdCBjYWxsIGpvaW5QYXRoIG9uIFVSSSB3aXRob3V0IHBhdGgiKTtsZXQgcztyZXR1cm4gemUmJnQuc2NoZW1lPT09ImZpbGUiP3M9TmUuZmlsZShaLmpvaW4oTXQodCwhMCksLi4ubikpLnBhdGg6cz1lZS5qb2luKHQucGF0aCwuLi5uKSx0LndpdGgoe3BhdGg6c30pfXRvU3RyaW5nKHQ9ITEpe3JldHVybiBrdCh0aGlzLHQpfXRvSlNPTigpe3JldHVybiB0aGlzfXN0YXRpYyByZXZpdmUodCl7dmFyIG4scztpZih0KXtpZih0IGluc3RhbmNlb2YgTmUpcmV0dXJuIHQ7e2NvbnN0IHI9bmV3IERlKHQpO3JldHVybiByLl9mb3JtYXR0ZWQ9KG49dC5leHRlcm5hbCkhPT1udWxsJiZuIT09dm9pZCAwP246bnVsbCxyLl9mc1BhdGg9dC5fc2VwPT09ZG4mJihzPXQuZnNQYXRoKSE9PW51bGwmJnMhPT12b2lkIDA/czpudWxsLHJ9fWVsc2UgcmV0dXJuIHR9fWNvbnN0IGRuPXplPzE6dm9pZCAwO2NsYXNzIERlIGV4dGVuZHMgTmV7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2Zvcm1hdHRlZD1udWxsLHRoaXMuX2ZzUGF0aD1udWxsfWdldCBmc1BhdGgoKXtyZXR1cm4gdGhpcy5fZnNQYXRofHwodGhpcy5fZnNQYXRoPU10KHRoaXMsITEpKSx0aGlzLl9mc1BhdGh9dG9TdHJpbmcodD0hMSl7cmV0dXJuIHQ/a3QodGhpcywhMCk6KHRoaXMuX2Zvcm1hdHRlZHx8KHRoaXMuX2Zvcm1hdHRlZD1rdCh0aGlzLCExKSksdGhpcy5fZm9ybWF0dGVkKX10b0pTT04oKXtjb25zdCB0PXskbWlkOjF9O3JldHVybiB0aGlzLl9mc1BhdGgmJih0LmZzUGF0aD10aGlzLl9mc1BhdGgsdC5fc2VwPWRuKSx0aGlzLl9mb3JtYXR0ZWQmJih0LmV4dGVybmFsPXRoaXMuX2Zvcm1hdHRlZCksdGhpcy5wYXRoJiYodC5wYXRoPXRoaXMucGF0aCksdGhpcy5zY2hlbWUmJih0LnNjaGVtZT10aGlzLnNjaGVtZSksdGhpcy5hdXRob3JpdHkmJih0LmF1dGhvcml0eT10aGlzLmF1dGhvcml0eSksdGhpcy5xdWVyeSYmKHQucXVlcnk9dGhpcy5xdWVyeSksdGhpcy5mcmFnbWVudCYmKHQuZnJhZ21lbnQ9dGhpcy5mcmFnbWVudCksdH19Y29uc3QgbW49ezU4OiIlM0EiLDQ3OiIlMkYiLDYzOiIlM0YiLDM1OiIlMjMiLDkxOiIlNUIiLDkzOiIlNUQiLDY0OiIlNDAiLDMzOiIlMjEiLDM2OiIlMjQiLDM4OiIlMjYiLDM5OiIlMjciLDQwOiIlMjgiLDQxOiIlMjkiLDQyOiIlMkEiLDQzOiIlMkIiLDQ0OiIlMkMiLDU5OiIlM0IiLDYxOiIlM0QiLDMyOiIlMjAifTtmdW5jdGlvbiBnbihlLHQsbil7bGV0IHMscj0tMTtmb3IobGV0IGk9MDtpPGUubGVuZ3RoO2krKyl7Y29uc3QgbD1lLmNoYXJDb2RlQXQoaSk7aWYobD49OTcmJmw8PTEyMnx8bD49NjUmJmw8PTkwfHxsPj00OCYmbDw9NTd8fGw9PT00NXx8bD09PTQ2fHxsPT09OTV8fGw9PT0xMjZ8fHQmJmw9PT00N3x8biYmbD09PTkxfHxuJiZsPT09OTN8fG4mJmw9PT01OClyIT09LTEmJihzKz1lbmNvZGVVUklDb21wb25lbnQoZS5zdWJzdHJpbmcocixpKSkscj0tMSkscyE9PXZvaWQgMCYmKHMrPWUuY2hhckF0KGkpKTtlbHNle3M9PT12b2lkIDAmJihzPWUuc3Vic3RyKDAsaSkpO2NvbnN0IG89bW5bbF07byE9PXZvaWQgMD8ociE9PS0xJiYocys9ZW5jb2RlVVJJQ29tcG9uZW50KGUuc3Vic3RyaW5nKHIsaSkpLHI9LTEpLHMrPW8pOnI9PT0tMSYmKHI9aSl9fXJldHVybiByIT09LTEmJihzKz1lbmNvZGVVUklDb21wb25lbnQoZS5zdWJzdHJpbmcocikpKSxzIT09dm9pZCAwP3M6ZX1mdW5jdGlvbiBLcihlKXtsZXQgdDtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKyl7Y29uc3Qgcz1lLmNoYXJDb2RlQXQobik7cz09PTM1fHxzPT09NjM/KHQ9PT12b2lkIDAmJih0PWUuc3Vic3RyKDAsbikpLHQrPW1uW3NdKTp0IT09dm9pZCAwJiYodCs9ZVtuXSl9cmV0dXJuIHQhPT12b2lkIDA/dDplfWZ1bmN0aW9uIE10KGUsdCl7bGV0IG47cmV0dXJuIGUuYXV0aG9yaXR5JiZlLnBhdGgubGVuZ3RoPjEmJmUuc2NoZW1lPT09ImZpbGUiP249YC8vJHtlLmF1dGhvcml0eX0ke2UucGF0aH1gOmUucGF0aC5jaGFyQ29kZUF0KDApPT09NDcmJihlLnBhdGguY2hhckNvZGVBdCgxKT49NjUmJmUucGF0aC5jaGFyQ29kZUF0KDEpPD05MHx8ZS5wYXRoLmNoYXJDb2RlQXQoMSk+PTk3JiZlLnBhdGguY2hhckNvZGVBdCgxKTw9MTIyKSYmZS5wYXRoLmNoYXJDb2RlQXQoMik9PT01OD90P249ZS5wYXRoLnN1YnN0cigxKTpuPWUucGF0aFsxXS50b0xvd2VyQ2FzZSgpK2UucGF0aC5zdWJzdHIoMik6bj1lLnBhdGgsemUmJihuPW4ucmVwbGFjZSgvXC8vZywiXFwiKSksbn1mdW5jdGlvbiBrdChlLHQpe2NvbnN0IG49dD9LcjpnbjtsZXQgcz0iIix7c2NoZW1lOnIsYXV0aG9yaXR5OmkscGF0aDpsLHF1ZXJ5Om8sZnJhZ21lbnQ6dX09ZTtpZihyJiYocys9cixzKz0iOiIpLChpfHxyPT09ImZpbGUiKSYmKHMrPWFlLHMrPWFlKSxpKXtsZXQgYz1pLmluZGV4T2YoIkAiKTtpZihjIT09LTEpe2NvbnN0IGg9aS5zdWJzdHIoMCxjKTtpPWkuc3Vic3RyKGMrMSksYz1oLmxhc3RJbmRleE9mKCI6IiksYz09PS0xP3MrPW4oaCwhMSwhMSk6KHMrPW4oaC5zdWJzdHIoMCxjKSwhMSwhMSkscys9IjoiLHMrPW4oaC5zdWJzdHIoYysxKSwhMSwhMCkpLHMrPSJAIn1pPWkudG9Mb3dlckNhc2UoKSxjPWkubGFzdEluZGV4T2YoIjoiKSxjPT09LTE/cys9bihpLCExLCEwKToocys9bihpLnN1YnN0cigwLGMpLCExLCEwKSxzKz1pLnN1YnN0cihjKSl9aWYobCl7aWYobC5sZW5ndGg+PTMmJmwuY2hhckNvZGVBdCgwKT09PTQ3JiZsLmNoYXJDb2RlQXQoMik9PT01OCl7Y29uc3QgYz1sLmNoYXJDb2RlQXQoMSk7Yz49NjUmJmM8PTkwJiYobD1gLyR7U3RyaW5nLmZyb21DaGFyQ29kZShjKzMyKX06JHtsLnN1YnN0cigzKX1gKX1lbHNlIGlmKGwubGVuZ3RoPj0yJiZsLmNoYXJDb2RlQXQoMSk9PT01OCl7Y29uc3QgYz1sLmNoYXJDb2RlQXQoMCk7Yz49NjUmJmM8PTkwJiYobD1gJHtTdHJpbmcuZnJvbUNoYXJDb2RlKGMrMzIpfToke2wuc3Vic3RyKDIpfWApfXMrPW4obCwhMCwhMSl9cmV0dXJuIG8mJihzKz0iPyIscys9bihvLCExLCExKSksdSYmKHMrPSIjIixzKz10P3U6Z24odSwhMSwhMSkpLHN9ZnVuY3Rpb24gYm4oZSl7dHJ5e3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoZSl9Y2F0Y2h7cmV0dXJuIGUubGVuZ3RoPjM/ZS5zdWJzdHIoMCwzKStibihlLnN1YnN0cigzKSk6ZX19Y29uc3QgX249LyglWzAtOUEtWmEtel1bMC05QS1aYS16XSkrL2c7ZnVuY3Rpb24gcnQoZSl7cmV0dXJuIGUubWF0Y2goX24pP2UucmVwbGFjZShfbix0PT5ibih0KSk6ZX1jbGFzcyBZe2NvbnN0cnVjdG9yKHQsbil7dGhpcy5saW5lTnVtYmVyPXQsdGhpcy5jb2x1bW49bn13aXRoKHQ9dGhpcy5saW5lTnVtYmVyLG49dGhpcy5jb2x1bW4pe3JldHVybiB0PT09dGhpcy5saW5lTnVtYmVyJiZuPT09dGhpcy5jb2x1bW4/dGhpczpuZXcgWSh0LG4pfWRlbHRhKHQ9MCxuPTApe3JldHVybiB0aGlzLndpdGgodGhpcy5saW5lTnVtYmVyK3QsdGhpcy5jb2x1bW4rbil9ZXF1YWxzKHQpe3JldHVybiBZLmVxdWFscyh0aGlzLHQpfXN0YXRpYyBlcXVhbHModCxuKXtyZXR1cm4hdCYmIW4/ITA6ISF0JiYhIW4mJnQubGluZU51bWJlcj09PW4ubGluZU51bWJlciYmdC5jb2x1bW49PT1uLmNvbHVtbn1pc0JlZm9yZSh0KXtyZXR1cm4gWS5pc0JlZm9yZSh0aGlzLHQpfXN0YXRpYyBpc0JlZm9yZSh0LG4pe3JldHVybiB0LmxpbmVOdW1iZXI8bi5saW5lTnVtYmVyPyEwOm4ubGluZU51bWJlcjx0LmxpbmVOdW1iZXI/ITE6dC5jb2x1bW48bi5jb2x1bW59aXNCZWZvcmVPckVxdWFsKHQpe3JldHVybiBZLmlzQmVmb3JlT3JFcXVhbCh0aGlzLHQpfXN0YXRpYyBpc0JlZm9yZU9yRXF1YWwodCxuKXtyZXR1cm4gdC5saW5lTnVtYmVyPG4ubGluZU51bWJlcj8hMDpuLmxpbmVOdW1iZXI8dC5saW5lTnVtYmVyPyExOnQuY29sdW1uPD1uLmNvbHVtbn1zdGF0aWMgY29tcGFyZSh0LG4pe2NvbnN0IHM9dC5saW5lTnVtYmVyfDAscj1uLmxpbmVOdW1iZXJ8MDtpZihzPT09cil7Y29uc3QgaT10LmNvbHVtbnwwLGw9bi5jb2x1bW58MDtyZXR1cm4gaS1sfXJldHVybiBzLXJ9Y2xvbmUoKXtyZXR1cm4gbmV3IFkodGhpcy5saW5lTnVtYmVyLHRoaXMuY29sdW1uKX10b1N0cmluZygpe3JldHVybiIoIit0aGlzLmxpbmVOdW1iZXIrIiwiK3RoaXMuY29sdW1uKyIpIn1zdGF0aWMgbGlmdCh0KXtyZXR1cm4gbmV3IFkodC5saW5lTnVtYmVyLHQuY29sdW1uKX1zdGF0aWMgaXNJUG9zaXRpb24odCl7cmV0dXJuIHQmJnR5cGVvZiB0LmxpbmVOdW1iZXI9PSJudW1iZXIiJiZ0eXBlb2YgdC5jb2x1bW49PSJudW1iZXIifXRvSlNPTigpe3JldHVybntsaW5lTnVtYmVyOnRoaXMubGluZU51bWJlcixjb2x1bW46dGhpcy5jb2x1bW59fX1jbGFzcyBGe2NvbnN0cnVjdG9yKHQsbixzLHIpe3Q+c3x8dD09PXMmJm4+cj8odGhpcy5zdGFydExpbmVOdW1iZXI9cyx0aGlzLnN0YXJ0Q29sdW1uPXIsdGhpcy5lbmRMaW5lTnVtYmVyPXQsdGhpcy5lbmRDb2x1bW49bik6KHRoaXMuc3RhcnRMaW5lTnVtYmVyPXQsdGhpcy5zdGFydENvbHVtbj1uLHRoaXMuZW5kTGluZU51bWJlcj1zLHRoaXMuZW5kQ29sdW1uPXIpfWlzRW1wdHkoKXtyZXR1cm4gRi5pc0VtcHR5KHRoaXMpfXN0YXRpYyBpc0VtcHR5KHQpe3JldHVybiB0LnN0YXJ0TGluZU51bWJlcj09PXQuZW5kTGluZU51bWJlciYmdC5zdGFydENvbHVtbj09PXQuZW5kQ29sdW1ufWNvbnRhaW5zUG9zaXRpb24odCl7cmV0dXJuIEYuY29udGFpbnNQb3NpdGlvbih0aGlzLHQpfXN0YXRpYyBjb250YWluc1Bvc2l0aW9uKHQsbil7cmV0dXJuIShuLmxpbmVOdW1iZXI8dC5zdGFydExpbmVOdW1iZXJ8fG4ubGluZU51bWJlcj50LmVuZExpbmVOdW1iZXJ8fG4ubGluZU51bWJlcj09PXQuc3RhcnRMaW5lTnVtYmVyJiZuLmNvbHVtbjx0LnN0YXJ0Q29sdW1ufHxuLmxpbmVOdW1iZXI9PT10LmVuZExpbmVOdW1iZXImJm4uY29sdW1uPnQuZW5kQ29sdW1uKX1zdGF0aWMgc3RyaWN0Q29udGFpbnNQb3NpdGlvbih0LG4pe3JldHVybiEobi5saW5lTnVtYmVyPHQuc3RhcnRMaW5lTnVtYmVyfHxuLmxpbmVOdW1iZXI+dC5lbmRMaW5lTnVtYmVyfHxuLmxpbmVOdW1iZXI9PT10LnN0YXJ0TGluZU51bWJlciYmbi5jb2x1bW48PXQuc3RhcnRDb2x1bW58fG4ubGluZU51bWJlcj09PXQuZW5kTGluZU51bWJlciYmbi5jb2x1bW4+PXQuZW5kQ29sdW1uKX1jb250YWluc1JhbmdlKHQpe3JldHVybiBGLmNvbnRhaW5zUmFuZ2UodGhpcyx0KX1zdGF0aWMgY29udGFpbnNSYW5nZSh0LG4pe3JldHVybiEobi5zdGFydExpbmVOdW1iZXI8dC5zdGFydExpbmVOdW1iZXJ8fG4uZW5kTGluZU51bWJlcjx0LnN0YXJ0TGluZU51bWJlcnx8bi5zdGFydExpbmVOdW1iZXI+dC5lbmRMaW5lTnVtYmVyfHxuLmVuZExpbmVOdW1iZXI+dC5lbmRMaW5lTnVtYmVyfHxuLnN0YXJ0TGluZU51bWJlcj09PXQuc3RhcnRMaW5lTnVtYmVyJiZuLnN0YXJ0Q29sdW1uPHQuc3RhcnRDb2x1bW58fG4uZW5kTGluZU51bWJlcj09PXQuZW5kTGluZU51bWJlciYmbi5lbmRDb2x1bW4+dC5lbmRDb2x1bW4pfXN0cmljdENvbnRhaW5zUmFuZ2UodCl7cmV0dXJuIEYuc3RyaWN0Q29udGFpbnNSYW5nZSh0aGlzLHQpfXN0YXRpYyBzdHJpY3RDb250YWluc1JhbmdlKHQsbil7cmV0dXJuIShuLnN0YXJ0TGluZU51bWJlcjx0LnN0YXJ0TGluZU51bWJlcnx8bi5lbmRMaW5lTnVtYmVyPHQuc3RhcnRMaW5lTnVtYmVyfHxuLnN0YXJ0TGluZU51bWJlcj50LmVuZExpbmVOdW1iZXJ8fG4uZW5kTGluZU51bWJlcj50LmVuZExpbmVOdW1iZXJ8fG4uc3RhcnRMaW5lTnVtYmVyPT09dC5zdGFydExpbmVOdW1iZXImJm4uc3RhcnRDb2x1bW48PXQuc3RhcnRDb2x1bW58fG4uZW5kTGluZU51bWJlcj09PXQuZW5kTGluZU51bWJlciYmbi5lbmRDb2x1bW4+PXQuZW5kQ29sdW1uKX1wbHVzUmFuZ2UodCl7cmV0dXJuIEYucGx1c1JhbmdlKHRoaXMsdCl9c3RhdGljIHBsdXNSYW5nZSh0LG4pe2xldCBzLHIsaSxsO3JldHVybiBuLnN0YXJ0TGluZU51bWJlcjx0LnN0YXJ0TGluZU51bWJlcj8ocz1uLnN0YXJ0TGluZU51bWJlcixyPW4uc3RhcnRDb2x1bW4pOm4uc3RhcnRMaW5lTnVtYmVyPT09dC5zdGFydExpbmVOdW1iZXI/KHM9bi5zdGFydExpbmVOdW1iZXIscj1NYXRoLm1pbihuLnN0YXJ0Q29sdW1uLHQuc3RhcnRDb2x1bW4pKToocz10LnN0YXJ0TGluZU51bWJlcixyPXQuc3RhcnRDb2x1bW4pLG4uZW5kTGluZU51bWJlcj50LmVuZExpbmVOdW1iZXI/KGk9bi5lbmRMaW5lTnVtYmVyLGw9bi5lbmRDb2x1bW4pOm4uZW5kTGluZU51bWJlcj09PXQuZW5kTGluZU51bWJlcj8oaT1uLmVuZExpbmVOdW1iZXIsbD1NYXRoLm1heChuLmVuZENvbHVtbix0LmVuZENvbHVtbikpOihpPXQuZW5kTGluZU51bWJlcixsPXQuZW5kQ29sdW1uKSxuZXcgRihzLHIsaSxsKX1pbnRlcnNlY3RSYW5nZXModCl7cmV0dXJuIEYuaW50ZXJzZWN0UmFuZ2VzKHRoaXMsdCl9c3RhdGljIGludGVyc2VjdFJhbmdlcyh0LG4pe2xldCBzPXQuc3RhcnRMaW5lTnVtYmVyLHI9dC5zdGFydENvbHVtbixpPXQuZW5kTGluZU51bWJlcixsPXQuZW5kQ29sdW1uO2NvbnN0IG89bi5zdGFydExpbmVOdW1iZXIsdT1uLnN0YXJ0Q29sdW1uLGM9bi5lbmRMaW5lTnVtYmVyLGg9bi5lbmRDb2x1bW47cmV0dXJuIHM8bz8ocz1vLHI9dSk6cz09PW8mJihyPU1hdGgubWF4KHIsdSkpLGk+Yz8oaT1jLGw9aCk6aT09PWMmJihsPU1hdGgubWluKGwsaCkpLHM+aXx8cz09PWkmJnI+bD9udWxsOm5ldyBGKHMscixpLGwpfWVxdWFsc1JhbmdlKHQpe3JldHVybiBGLmVxdWFsc1JhbmdlKHRoaXMsdCl9c3RhdGljIGVxdWFsc1JhbmdlKHQsbil7cmV0dXJuIXQmJiFuPyEwOiEhdCYmISFuJiZ0LnN0YXJ0TGluZU51bWJlcj09PW4uc3RhcnRMaW5lTnVtYmVyJiZ0LnN0YXJ0Q29sdW1uPT09bi5zdGFydENvbHVtbiYmdC5lbmRMaW5lTnVtYmVyPT09bi5lbmRMaW5lTnVtYmVyJiZ0LmVuZENvbHVtbj09PW4uZW5kQ29sdW1ufWdldEVuZFBvc2l0aW9uKCl7cmV0dXJuIEYuZ2V0RW5kUG9zaXRpb24odGhpcyl9c3RhdGljIGdldEVuZFBvc2l0aW9uKHQpe3JldHVybiBuZXcgWSh0LmVuZExpbmVOdW1iZXIsdC5lbmRDb2x1bW4pfWdldFN0YXJ0UG9zaXRpb24oKXtyZXR1cm4gRi5nZXRTdGFydFBvc2l0aW9uKHRoaXMpfXN0YXRpYyBnZXRTdGFydFBvc2l0aW9uKHQpe3JldHVybiBuZXcgWSh0LnN0YXJ0TGluZU51bWJlcix0LnN0YXJ0Q29sdW1uKX10b1N0cmluZygpe3JldHVybiJbIit0aGlzLnN0YXJ0TGluZU51bWJlcisiLCIrdGhpcy5zdGFydENvbHVtbisiIC0+ICIrdGhpcy5lbmRMaW5lTnVtYmVyKyIsIit0aGlzLmVuZENvbHVtbisiXSJ9c2V0RW5kUG9zaXRpb24odCxuKXtyZXR1cm4gbmV3IEYodGhpcy5zdGFydExpbmVOdW1iZXIsdGhpcy5zdGFydENvbHVtbix0LG4pfXNldFN0YXJ0UG9zaXRpb24odCxuKXtyZXR1cm4gbmV3IEYodCxuLHRoaXMuZW5kTGluZU51bWJlcix0aGlzLmVuZENvbHVtbil9Y29sbGFwc2VUb1N0YXJ0KCl7cmV0dXJuIEYuY29sbGFwc2VUb1N0YXJ0KHRoaXMpfXN0YXRpYyBjb2xsYXBzZVRvU3RhcnQodCl7cmV0dXJuIG5ldyBGKHQuc3RhcnRMaW5lTnVtYmVyLHQuc3RhcnRDb2x1bW4sdC5zdGFydExpbmVOdW1iZXIsdC5zdGFydENvbHVtbil9Y29sbGFwc2VUb0VuZCgpe3JldHVybiBGLmNvbGxhcHNlVG9FbmQodGhpcyl9c3RhdGljIGNvbGxhcHNlVG9FbmQodCl7cmV0dXJuIG5ldyBGKHQuZW5kTGluZU51bWJlcix0LmVuZENvbHVtbix0LmVuZExpbmVOdW1iZXIsdC5lbmRDb2x1bW4pfWRlbHRhKHQpe3JldHVybiBuZXcgRih0aGlzLnN0YXJ0TGluZU51bWJlcit0LHRoaXMuc3RhcnRDb2x1bW4sdGhpcy5lbmRMaW5lTnVtYmVyK3QsdGhpcy5lbmRDb2x1bW4pfXN0YXRpYyBmcm9tUG9zaXRpb25zKHQsbj10KXtyZXR1cm4gbmV3IEYodC5saW5lTnVtYmVyLHQuY29sdW1uLG4ubGluZU51bWJlcixuLmNvbHVtbil9c3RhdGljIGxpZnQodCl7cmV0dXJuIHQ/bmV3IEYodC5zdGFydExpbmVOdW1iZXIsdC5zdGFydENvbHVtbix0LmVuZExpbmVOdW1iZXIsdC5lbmRDb2x1bW4pOm51bGx9c3RhdGljIGlzSVJhbmdlKHQpe3JldHVybiB0JiZ0eXBlb2YgdC5zdGFydExpbmVOdW1iZXI9PSJudW1iZXIiJiZ0eXBlb2YgdC5zdGFydENvbHVtbj09Im51bWJlciImJnR5cGVvZiB0LmVuZExpbmVOdW1iZXI9PSJudW1iZXIiJiZ0eXBlb2YgdC5lbmRDb2x1bW49PSJudW1iZXIifXN0YXRpYyBhcmVJbnRlcnNlY3RpbmdPclRvdWNoaW5nKHQsbil7cmV0dXJuISh0LmVuZExpbmVOdW1iZXI8bi5zdGFydExpbmVOdW1iZXJ8fHQuZW5kTGluZU51bWJlcj09PW4uc3RhcnRMaW5lTnVtYmVyJiZ0LmVuZENvbHVtbjxuLnN0YXJ0Q29sdW1ufHxuLmVuZExpbmVOdW1iZXI8dC5zdGFydExpbmVOdW1iZXJ8fG4uZW5kTGluZU51bWJlcj09PXQuc3RhcnRMaW5lTnVtYmVyJiZuLmVuZENvbHVtbjx0LnN0YXJ0Q29sdW1uKX1zdGF0aWMgYXJlSW50ZXJzZWN0aW5nKHQsbil7cmV0dXJuISh0LmVuZExpbmVOdW1iZXI8bi5zdGFydExpbmVOdW1iZXJ8fHQuZW5kTGluZU51bWJlcj09PW4uc3RhcnRMaW5lTnVtYmVyJiZ0LmVuZENvbHVtbjw9bi5zdGFydENvbHVtbnx8bi5lbmRMaW5lTnVtYmVyPHQuc3RhcnRMaW5lTnVtYmVyfHxuLmVuZExpbmVOdW1iZXI9PT10LnN0YXJ0TGluZU51bWJlciYmbi5lbmRDb2x1bW48PXQuc3RhcnRDb2x1bW4pfXN0YXRpYyBjb21wYXJlUmFuZ2VzVXNpbmdTdGFydHModCxuKXtpZih0JiZuKXtjb25zdCBpPXQuc3RhcnRMaW5lTnVtYmVyfDAsbD1uLnN0YXJ0TGluZU51bWJlcnwwO2lmKGk9PT1sKXtjb25zdCBvPXQuc3RhcnRDb2x1bW58MCx1PW4uc3RhcnRDb2x1bW58MDtpZihvPT09dSl7Y29uc3QgYz10LmVuZExpbmVOdW1iZXJ8MCxoPW4uZW5kTGluZU51bWJlcnwwO2lmKGM9PT1oKXtjb25zdCBmPXQuZW5kQ29sdW1ufDAsZD1uLmVuZENvbHVtbnwwO3JldHVybiBmLWR9cmV0dXJuIGMtaH1yZXR1cm4gby11fXJldHVybiBpLWx9cmV0dXJuKHQ/MTowKS0obj8xOjApfXN0YXRpYyBjb21wYXJlUmFuZ2VzVXNpbmdFbmRzKHQsbil7cmV0dXJuIHQuZW5kTGluZU51bWJlcj09PW4uZW5kTGluZU51bWJlcj90LmVuZENvbHVtbj09PW4uZW5kQ29sdW1uP3Quc3RhcnRMaW5lTnVtYmVyPT09bi5zdGFydExpbmVOdW1iZXI/dC5zdGFydENvbHVtbi1uLnN0YXJ0Q29sdW1uOnQuc3RhcnRMaW5lTnVtYmVyLW4uc3RhcnRMaW5lTnVtYmVyOnQuZW5kQ29sdW1uLW4uZW5kQ29sdW1uOnQuZW5kTGluZU51bWJlci1uLmVuZExpbmVOdW1iZXJ9c3RhdGljIHNwYW5zTXVsdGlwbGVMaW5lcyh0KXtyZXR1cm4gdC5lbmRMaW5lTnVtYmVyPnQuc3RhcnRMaW5lTnVtYmVyfXRvSlNPTigpe3JldHVybiB0aGlzfX1mdW5jdGlvbiBlaShlLHQsbj0ocyxyKT0+cz09PXIpe2lmKGU9PT10KXJldHVybiEwO2lmKCFlfHwhdHx8ZS5sZW5ndGghPT10Lmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IHM9MCxyPWUubGVuZ3RoO3M8cjtzKyspaWYoIW4oZVtzXSx0W3NdKSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbip0aShlLHQpe2xldCBuLHM7Zm9yKGNvbnN0IHIgb2YgZSlzIT09dm9pZCAwJiZ0KHMscik/bi5wdXNoKHIpOihuJiYoeWllbGQgbiksbj1bcl0pLHM9cjtuJiYoeWllbGQgbil9ZnVuY3Rpb24gbmkoZSx0KXtmb3IobGV0IG49MDtuPD1lLmxlbmd0aDtuKyspdChuPT09MD92b2lkIDA6ZVtuLTFdLG49PT1lLmxlbmd0aD92b2lkIDA6ZVtuXSl9ZnVuY3Rpb24gc2koZSx0KXtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKyl0KG49PT0wP3ZvaWQgMDplW24tMV0sZVtuXSxuKzE9PT1lLmxlbmd0aD92b2lkIDA6ZVtuKzFdKX1mdW5jdGlvbiByaShlLHQpe2Zvcihjb25zdCBuIG9mIHQpZS5wdXNoKG4pfXZhciB4bjsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChpKXtyZXR1cm4gaTwwfWUuaXNMZXNzVGhhbj10O2Z1bmN0aW9uIG4oaSl7cmV0dXJuIGk8PTB9ZS5pc0xlc3NUaGFuT3JFcXVhbD1uO2Z1bmN0aW9uIHMoaSl7cmV0dXJuIGk+MH1lLmlzR3JlYXRlclRoYW49cztmdW5jdGlvbiByKGkpe3JldHVybiBpPT09MH1lLmlzTmVpdGhlckxlc3NPckdyZWF0ZXJUaGFuPXIsZS5ncmVhdGVyVGhhbj0xLGUubGVzc1RoYW49LTEsZS5uZWl0aGVyTGVzc09yR3JlYXRlclRoYW49MH0pKHhufHwoeG49e30pKTtmdW5jdGlvbiBpdChlLHQpe3JldHVybihuLHMpPT50KGUobiksZShzKSl9Y29uc3QgYXQ9KGUsdCk9PmUtdDtmdW5jdGlvbiBpaShlKXtyZXR1cm4odCxuKT0+LWUodCxuKX1mdW5jdGlvbiBwbihlKXtyZXR1cm4gZTwwPzA6ZT4yNTU/MjU1OmV8MH1mdW5jdGlvbiBUZShlKXtyZXR1cm4gZTwwPzA6ZT40Mjk0OTY3Mjk1PzQyOTQ5NjcyOTU6ZXwwfWNsYXNzIGFpe2NvbnN0cnVjdG9yKHQpe3RoaXMudmFsdWVzPXQsdGhpcy5wcmVmaXhTdW09bmV3IFVpbnQzMkFycmF5KHQubGVuZ3RoKSx0aGlzLnByZWZpeFN1bVZhbGlkSW5kZXg9bmV3IEludDMyQXJyYXkoMSksdGhpcy5wcmVmaXhTdW1WYWxpZEluZGV4WzBdPS0xfWluc2VydFZhbHVlcyh0LG4pe3Q9VGUodCk7Y29uc3Qgcz10aGlzLnZhbHVlcyxyPXRoaXMucHJlZml4U3VtLGk9bi5sZW5ndGg7cmV0dXJuIGk9PT0wPyExOih0aGlzLnZhbHVlcz1uZXcgVWludDMyQXJyYXkocy5sZW5ndGgraSksdGhpcy52YWx1ZXMuc2V0KHMuc3ViYXJyYXkoMCx0KSwwKSx0aGlzLnZhbHVlcy5zZXQocy5zdWJhcnJheSh0KSx0K2kpLHRoaXMudmFsdWVzLnNldChuLHQpLHQtMTx0aGlzLnByZWZpeFN1bVZhbGlkSW5kZXhbMF0mJih0aGlzLnByZWZpeFN1bVZhbGlkSW5kZXhbMF09dC0xKSx0aGlzLnByZWZpeFN1bT1uZXcgVWludDMyQXJyYXkodGhpcy52YWx1ZXMubGVuZ3RoKSx0aGlzLnByZWZpeFN1bVZhbGlkSW5kZXhbMF0+PTAmJnRoaXMucHJlZml4U3VtLnNldChyLnN1YmFycmF5KDAsdGhpcy5wcmVmaXhTdW1WYWxpZEluZGV4WzBdKzEpKSwhMCl9c2V0VmFsdWUodCxuKXtyZXR1cm4gdD1UZSh0KSxuPVRlKG4pLHRoaXMudmFsdWVzW3RdPT09bj8hMToodGhpcy52YWx1ZXNbdF09bix0LTE8dGhpcy5wcmVmaXhTdW1WYWxpZEluZGV4WzBdJiYodGhpcy5wcmVmaXhTdW1WYWxpZEluZGV4WzBdPXQtMSksITApfXJlbW92ZVZhbHVlcyh0LG4pe3Q9VGUodCksbj1UZShuKTtjb25zdCBzPXRoaXMudmFsdWVzLHI9dGhpcy5wcmVmaXhTdW07aWYodD49cy5sZW5ndGgpcmV0dXJuITE7Y29uc3QgaT1zLmxlbmd0aC10O3JldHVybiBuPj1pJiYobj1pKSxuPT09MD8hMToodGhpcy52YWx1ZXM9bmV3IFVpbnQzMkFycmF5KHMubGVuZ3RoLW4pLHRoaXMudmFsdWVzLnNldChzLnN1YmFycmF5KDAsdCksMCksdGhpcy52YWx1ZXMuc2V0KHMuc3ViYXJyYXkodCtuKSx0KSx0aGlzLnByZWZpeFN1bT1uZXcgVWludDMyQXJyYXkodGhpcy52YWx1ZXMubGVuZ3RoKSx0LTE8dGhpcy5wcmVmaXhTdW1WYWxpZEluZGV4WzBdJiYodGhpcy5wcmVmaXhTdW1WYWxpZEluZGV4WzBdPXQtMSksdGhpcy5wcmVmaXhTdW1WYWxpZEluZGV4WzBdPj0wJiZ0aGlzLnByZWZpeFN1bS5zZXQoci5zdWJhcnJheSgwLHRoaXMucHJlZml4U3VtVmFsaWRJbmRleFswXSsxKSksITApfWdldFRvdGFsU3VtKCl7cmV0dXJuIHRoaXMudmFsdWVzLmxlbmd0aD09PTA/MDp0aGlzLl9nZXRQcmVmaXhTdW0odGhpcy52YWx1ZXMubGVuZ3RoLTEpfWdldFByZWZpeFN1bSh0KXtyZXR1cm4gdDwwPzA6KHQ9VGUodCksdGhpcy5fZ2V0UHJlZml4U3VtKHQpKX1fZ2V0UHJlZml4U3VtKHQpe2lmKHQ8PXRoaXMucHJlZml4U3VtVmFsaWRJbmRleFswXSlyZXR1cm4gdGhpcy5wcmVmaXhTdW1bdF07bGV0IG49dGhpcy5wcmVmaXhTdW1WYWxpZEluZGV4WzBdKzE7bj09PTAmJih0aGlzLnByZWZpeFN1bVswXT10aGlzLnZhbHVlc1swXSxuKyspLHQ+PXRoaXMudmFsdWVzLmxlbmd0aCYmKHQ9dGhpcy52YWx1ZXMubGVuZ3RoLTEpO2ZvcihsZXQgcz1uO3M8PXQ7cysrKXRoaXMucHJlZml4U3VtW3NdPXRoaXMucHJlZml4U3VtW3MtMV0rdGhpcy52YWx1ZXNbc107cmV0dXJuIHRoaXMucHJlZml4U3VtVmFsaWRJbmRleFswXT1NYXRoLm1heCh0aGlzLnByZWZpeFN1bVZhbGlkSW5kZXhbMF0sdCksdGhpcy5wcmVmaXhTdW1bdF19Z2V0SW5kZXhPZih0KXt0PU1hdGguZmxvb3IodCksdGhpcy5nZXRUb3RhbFN1bSgpO2xldCBuPTAscz10aGlzLnZhbHVlcy5sZW5ndGgtMSxyPTAsaT0wLGw9MDtmb3IoO248PXM7KWlmKHI9bisocy1uKS8yfDAsaT10aGlzLnByZWZpeFN1bVtyXSxsPWktdGhpcy52YWx1ZXNbcl0sdDxsKXM9ci0xO2Vsc2UgaWYodD49aSluPXIrMTtlbHNlIGJyZWFrO3JldHVybiBuZXcgbGkocix0LWwpfX1jbGFzcyBsaXtjb25zdHJ1Y3Rvcih0LG4pe3RoaXMuaW5kZXg9dCx0aGlzLnJlbWFpbmRlcj1uLHRoaXMuX3ByZWZpeFN1bUluZGV4T2ZSZXN1bHRCcmFuZD12b2lkIDAsdGhpcy5pbmRleD10LHRoaXMucmVtYWluZGVyPW59fWNsYXNzIG9pe2NvbnN0cnVjdG9yKHQsbixzLHIpe3RoaXMuX3VyaT10LHRoaXMuX2xpbmVzPW4sdGhpcy5fZW9sPXMsdGhpcy5fdmVyc2lvbklkPXIsdGhpcy5fbGluZVN0YXJ0cz1udWxsLHRoaXMuX2NhY2hlZFRleHRWYWx1ZT1udWxsfWRpc3Bvc2UoKXt0aGlzLl9saW5lcy5sZW5ndGg9MH1nZXQgdmVyc2lvbigpe3JldHVybiB0aGlzLl92ZXJzaW9uSWR9Z2V0VGV4dCgpe3JldHVybiB0aGlzLl9jYWNoZWRUZXh0VmFsdWU9PT1udWxsJiYodGhpcy5fY2FjaGVkVGV4dFZhbHVlPXRoaXMuX2xpbmVzLmpvaW4odGhpcy5fZW9sKSksdGhpcy5fY2FjaGVkVGV4dFZhbHVlfW9uRXZlbnRzKHQpe3QuZW9sJiZ0LmVvbCE9PXRoaXMuX2VvbCYmKHRoaXMuX2VvbD10LmVvbCx0aGlzLl9saW5lU3RhcnRzPW51bGwpO2NvbnN0IG49dC5jaGFuZ2VzO2Zvcihjb25zdCBzIG9mIG4pdGhpcy5fYWNjZXB0RGVsZXRlUmFuZ2Uocy5yYW5nZSksdGhpcy5fYWNjZXB0SW5zZXJ0VGV4dChuZXcgWShzLnJhbmdlLnN0YXJ0TGluZU51bWJlcixzLnJhbmdlLnN0YXJ0Q29sdW1uKSxzLnRleHQpO3RoaXMuX3ZlcnNpb25JZD10LnZlcnNpb25JZCx0aGlzLl9jYWNoZWRUZXh0VmFsdWU9bnVsbH1fZW5zdXJlTGluZVN0YXJ0cygpe2lmKCF0aGlzLl9saW5lU3RhcnRzKXtjb25zdCB0PXRoaXMuX2VvbC5sZW5ndGgsbj10aGlzLl9saW5lcy5sZW5ndGgscz1uZXcgVWludDMyQXJyYXkobik7Zm9yKGxldCByPTA7cjxuO3IrKylzW3JdPXRoaXMuX2xpbmVzW3JdLmxlbmd0aCt0O3RoaXMuX2xpbmVTdGFydHM9bmV3IGFpKHMpfX1fc2V0TGluZVRleHQodCxuKXt0aGlzLl9saW5lc1t0XT1uLHRoaXMuX2xpbmVTdGFydHMmJnRoaXMuX2xpbmVTdGFydHMuc2V0VmFsdWUodCx0aGlzLl9saW5lc1t0XS5sZW5ndGgrdGhpcy5fZW9sLmxlbmd0aCl9X2FjY2VwdERlbGV0ZVJhbmdlKHQpe2lmKHQuc3RhcnRMaW5lTnVtYmVyPT09dC5lbmRMaW5lTnVtYmVyKXtpZih0LnN0YXJ0Q29sdW1uPT09dC5lbmRDb2x1bW4pcmV0dXJuO3RoaXMuX3NldExpbmVUZXh0KHQuc3RhcnRMaW5lTnVtYmVyLTEsdGhpcy5fbGluZXNbdC5zdGFydExpbmVOdW1iZXItMV0uc3Vic3RyaW5nKDAsdC5zdGFydENvbHVtbi0xKSt0aGlzLl9saW5lc1t0LnN0YXJ0TGluZU51bWJlci0xXS5zdWJzdHJpbmcodC5lbmRDb2x1bW4tMSkpO3JldHVybn10aGlzLl9zZXRMaW5lVGV4dCh0LnN0YXJ0TGluZU51bWJlci0xLHRoaXMuX2xpbmVzW3Quc3RhcnRMaW5lTnVtYmVyLTFdLnN1YnN0cmluZygwLHQuc3RhcnRDb2x1bW4tMSkrdGhpcy5fbGluZXNbdC5lbmRMaW5lTnVtYmVyLTFdLnN1YnN0cmluZyh0LmVuZENvbHVtbi0xKSksdGhpcy5fbGluZXMuc3BsaWNlKHQuc3RhcnRMaW5lTnVtYmVyLHQuZW5kTGluZU51bWJlci10LnN0YXJ0TGluZU51bWJlciksdGhpcy5fbGluZVN0YXJ0cyYmdGhpcy5fbGluZVN0YXJ0cy5yZW1vdmVWYWx1ZXModC5zdGFydExpbmVOdW1iZXIsdC5lbmRMaW5lTnVtYmVyLXQuc3RhcnRMaW5lTnVtYmVyKX1fYWNjZXB0SW5zZXJ0VGV4dCh0LG4pe2lmKG4ubGVuZ3RoPT09MClyZXR1cm47Y29uc3Qgcz1wcihuKTtpZihzLmxlbmd0aD09PTEpe3RoaXMuX3NldExpbmVUZXh0KHQubGluZU51bWJlci0xLHRoaXMuX2xpbmVzW3QubGluZU51bWJlci0xXS5zdWJzdHJpbmcoMCx0LmNvbHVtbi0xKStzWzBdK3RoaXMuX2xpbmVzW3QubGluZU51bWJlci0xXS5zdWJzdHJpbmcodC5jb2x1bW4tMSkpO3JldHVybn1zW3MubGVuZ3RoLTFdKz10aGlzLl9saW5lc1t0LmxpbmVOdW1iZXItMV0uc3Vic3RyaW5nKHQuY29sdW1uLTEpLHRoaXMuX3NldExpbmVUZXh0KHQubGluZU51bWJlci0xLHRoaXMuX2xpbmVzW3QubGluZU51bWJlci0xXS5zdWJzdHJpbmcoMCx0LmNvbHVtbi0xKStzWzBdKTtjb25zdCByPW5ldyBVaW50MzJBcnJheShzLmxlbmd0aC0xKTtmb3IobGV0IGk9MTtpPHMubGVuZ3RoO2krKyl0aGlzLl9saW5lcy5zcGxpY2UodC5saW5lTnVtYmVyK2ktMSwwLHNbaV0pLHJbaS0xXT1zW2ldLmxlbmd0aCt0aGlzLl9lb2wubGVuZ3RoO3RoaXMuX2xpbmVTdGFydHMmJnRoaXMuX2xpbmVTdGFydHMuaW5zZXJ0VmFsdWVzKHQubGluZU51bWJlcixyKX19Y29uc3QgdWk9ImB+IUAjJCVeJiooKS09K1t7XX1cXHw7OidcIiwuPD4vPyI7ZnVuY3Rpb24gY2koZT0iIil7bGV0IHQ9IigtP1xcZCpcXC5cXGRcXHcqKXwoW14iO2Zvcihjb25zdCBuIG9mIHVpKWUuaW5kZXhPZihuKT49MHx8KHQrPSJcXCIrbik7cmV0dXJuIHQrPSJcXHNdKykiLG5ldyBSZWdFeHAodCwiZyIpfWNvbnN0IHZuPWNpKCk7ZnVuY3Rpb24gTG4oZSl7bGV0IHQ9dm47aWYoZSYmZSBpbnN0YW5jZW9mIFJlZ0V4cClpZihlLmdsb2JhbCl0PWU7ZWxzZXtsZXQgbj0iZyI7ZS5pZ25vcmVDYXNlJiYobis9ImkiKSxlLm11bHRpbGluZSYmKG4rPSJtIiksZS51bmljb2RlJiYobis9InUiKSx0PW5ldyBSZWdFeHAoZS5zb3VyY2Usbil9cmV0dXJuIHQubGFzdEluZGV4PTAsdH1jb25zdCB3bj1uZXcgdHI7d24udW5zaGlmdCh7bWF4TGVuOjFlMyx3aW5kb3dTaXplOjE1LHRpbWVCdWRnZXQ6MTUwfSk7ZnVuY3Rpb24gUHQoZSx0LG4scyxyKXtpZih0PUxuKHQpLHJ8fChyPVplLmZpcnN0KHduKSksbi5sZW5ndGg+ci5tYXhMZW4pe2xldCBjPWUtci5tYXhMZW4vMjtyZXR1cm4gYzwwP2M9MDpzKz1jLG49bi5zdWJzdHJpbmcoYyxlK3IubWF4TGVuLzIpLFB0KGUsdCxuLHMscil9Y29uc3QgaT1EYXRlLm5vdygpLGw9ZS0xLXM7bGV0IG89LTEsdT1udWxsO2ZvcihsZXQgYz0xOyEoRGF0ZS5ub3coKS1pPj1yLnRpbWVCdWRnZXQpO2MrKyl7Y29uc3QgaD1sLXIud2luZG93U2l6ZSpjO3QubGFzdEluZGV4PU1hdGgubWF4KDAsaCk7Y29uc3QgZj1oaSh0LG4sbCxvKTtpZighZiYmdXx8KHU9ZixoPD0wKSlicmVhaztvPWh9aWYodSl7Y29uc3QgYz17d29yZDp1WzBdLHN0YXJ0Q29sdW1uOnMrMSt1LmluZGV4LGVuZENvbHVtbjpzKzErdS5pbmRleCt1WzBdLmxlbmd0aH07cmV0dXJuIHQubGFzdEluZGV4PTAsY31yZXR1cm4gbnVsbH1mdW5jdGlvbiBoaShlLHQsbixzKXtsZXQgcjtmb3IoO3I9ZS5leGVjKHQpOyl7Y29uc3QgaT1yLmluZGV4fHwwO2lmKGk8PW4mJmUubGFzdEluZGV4Pj1uKXJldHVybiByO2lmKHM+MCYmaT5zKXJldHVybiBudWxsfXJldHVybiBudWxsfWNsYXNzIEZ0e2NvbnN0cnVjdG9yKHQpe2NvbnN0IG49cG4odCk7dGhpcy5fZGVmYXVsdFZhbHVlPW4sdGhpcy5fYXNjaWlNYXA9RnQuX2NyZWF0ZUFzY2lpTWFwKG4pLHRoaXMuX21hcD1uZXcgTWFwfXN0YXRpYyBfY3JlYXRlQXNjaWlNYXAodCl7Y29uc3Qgbj1uZXcgVWludDhBcnJheSgyNTYpO3JldHVybiBuLmZpbGwodCksbn1zZXQodCxuKXtjb25zdCBzPXBuKG4pO3Q+PTAmJnQ8MjU2P3RoaXMuX2FzY2lpTWFwW3RdPXM6dGhpcy5fbWFwLnNldCh0LHMpfWdldCh0KXtyZXR1cm4gdD49MCYmdDwyNTY/dGhpcy5fYXNjaWlNYXBbdF06dGhpcy5fbWFwLmdldCh0KXx8dGhpcy5fZGVmYXVsdFZhbHVlfWNsZWFyKCl7dGhpcy5fYXNjaWlNYXAuZmlsbCh0aGlzLl9kZWZhdWx0VmFsdWUpLHRoaXMuX21hcC5jbGVhcigpfX1jbGFzcyBmaXtjb25zdHJ1Y3Rvcih0LG4scyl7Y29uc3Qgcj1uZXcgVWludDhBcnJheSh0Km4pO2ZvcihsZXQgaT0wLGw9dCpuO2k8bDtpKyspcltpXT1zO3RoaXMuX2RhdGE9cix0aGlzLnJvd3M9dCx0aGlzLmNvbHM9bn1nZXQodCxuKXtyZXR1cm4gdGhpcy5fZGF0YVt0KnRoaXMuY29scytuXX1zZXQodCxuLHMpe3RoaXMuX2RhdGFbdCp0aGlzLmNvbHMrbl09c319Y2xhc3MgZGl7Y29uc3RydWN0b3IodCl7bGV0IG49MCxzPTA7Zm9yKGxldCBpPTAsbD10Lmxlbmd0aDtpPGw7aSsrKXtjb25zdFtvLHUsY109dFtpXTt1Pm4mJihuPXUpLG8+cyYmKHM9byksYz5zJiYocz1jKX1uKysscysrO2NvbnN0IHI9bmV3IGZpKHMsbiwwKTtmb3IobGV0IGk9MCxsPXQubGVuZ3RoO2k8bDtpKyspe2NvbnN0W28sdSxjXT10W2ldO3Iuc2V0KG8sdSxjKX10aGlzLl9zdGF0ZXM9cix0aGlzLl9tYXhDaGFyQ29kZT1ufW5leHRTdGF0ZSh0LG4pe3JldHVybiBuPDB8fG4+PXRoaXMuX21heENoYXJDb2RlPzA6dGhpcy5fc3RhdGVzLmdldCh0LG4pfX1sZXQgRHQ9bnVsbDtmdW5jdGlvbiBtaSgpe3JldHVybiBEdD09PW51bGwmJihEdD1uZXcgZGkoW1sxLDEwNCwyXSxbMSw3MiwyXSxbMSwxMDIsNl0sWzEsNzAsNl0sWzIsMTE2LDNdLFsyLDg0LDNdLFszLDExNiw0XSxbMyw4NCw0XSxbNCwxMTIsNV0sWzQsODAsNV0sWzUsMTE1LDldLFs1LDgzLDldLFs1LDU4LDEwXSxbNiwxMDUsN10sWzYsNzMsN10sWzcsMTA4LDhdLFs3LDc2LDhdLFs4LDEwMSw5XSxbOCw2OSw5XSxbOSw1OCwxMF0sWzEwLDQ3LDExXSxbMTEsNDcsMTJdXSkpLER0fWxldCAkZT1udWxsO2Z1bmN0aW9uIGdpKCl7aWYoJGU9PT1udWxsKXskZT1uZXcgRnQoMCk7Y29uc3QgZT1gIAk8Pici44CB44CC772h772k77yM77yO77ya77yb4oCY44CI44CM44CO44CU77yI77y7772b772i772j772d77y977yJ44CV44CP44CN44CJ4oCZ772A772e4oCmYDtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKykkZS5zZXQoZS5jaGFyQ29kZUF0KG4pLDEpO2NvbnN0IHQ9Ii4sOzoiO2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKSRlLnNldCh0LmNoYXJDb2RlQXQobiksMil9cmV0dXJuICRlfWNsYXNzIGx0e3N0YXRpYyBfY3JlYXRlTGluayh0LG4scyxyLGkpe2xldCBsPWktMTtkb3tjb25zdCBvPW4uY2hhckNvZGVBdChsKTtpZih0LmdldChvKSE9PTIpYnJlYWs7bC0tfXdoaWxlKGw+cik7aWYocj4wKXtjb25zdCBvPW4uY2hhckNvZGVBdChyLTEpLHU9bi5jaGFyQ29kZUF0KGwpOyhvPT09NDAmJnU9PT00MXx8bz09PTkxJiZ1PT09OTN8fG89PT0xMjMmJnU9PT0xMjUpJiZsLS19cmV0dXJue3JhbmdlOntzdGFydExpbmVOdW1iZXI6cyxzdGFydENvbHVtbjpyKzEsZW5kTGluZU51bWJlcjpzLGVuZENvbHVtbjpsKzJ9LHVybDpuLnN1YnN0cmluZyhyLGwrMSl9fXN0YXRpYyBjb21wdXRlTGlua3ModCxuPW1pKCkpe2NvbnN0IHM9Z2koKSxyPVtdO2ZvcihsZXQgaT0xLGw9dC5nZXRMaW5lQ291bnQoKTtpPD1sO2krKyl7Y29uc3Qgbz10LmdldExpbmVDb250ZW50KGkpLHU9by5sZW5ndGg7bGV0IGM9MCxoPTAsZj0wLGQ9MSxtPSExLGc9ITEseD0hMSx2PSExO2Zvcig7Yzx1Oyl7bGV0IE49ITE7Y29uc3QgUz1vLmNoYXJDb2RlQXQoYyk7aWYoZD09PTEzKXtsZXQgXztzd2l0Y2goUyl7Y2FzZSA0MDptPSEwLF89MDticmVhaztjYXNlIDQxOl89bT8wOjE7YnJlYWs7Y2FzZSA5MTp4PSEwLGc9ITAsXz0wO2JyZWFrO2Nhc2UgOTM6eD0hMSxfPWc/MDoxO2JyZWFrO2Nhc2UgMTIzOnY9ITAsXz0wO2JyZWFrO2Nhc2UgMTI1Ol89dj8wOjE7YnJlYWs7Y2FzZSAzOTpjYXNlIDM0OmNhc2UgOTY6Zj09PVM/Xz0xOmY9PT0zOXx8Zj09PTM0fHxmPT09OTY/Xz0wOl89MTticmVhaztjYXNlIDQyOl89Zj09PTQyPzE6MDticmVhaztjYXNlIDEyNDpfPWY9PT0xMjQ/MTowO2JyZWFrO2Nhc2UgMzI6Xz14PzA6MTticmVhaztkZWZhdWx0Ol89cy5nZXQoUyl9Xz09PTEmJihyLnB1c2gobHQuX2NyZWF0ZUxpbmsocyxvLGksaCxjKSksTj0hMCl9ZWxzZSBpZihkPT09MTIpe2xldCBfO1M9PT05MT8oZz0hMCxfPTApOl89cy5nZXQoUyksXz09PTE/Tj0hMDpkPTEzfWVsc2UgZD1uLm5leHRTdGF0ZShkLFMpLGQ9PT0wJiYoTj0hMCk7TiYmKGQ9MSxtPSExLGc9ITEsdj0hMSxoPWMrMSxmPVMpLGMrK31kPT09MTMmJnIucHVzaChsdC5fY3JlYXRlTGluayhzLG8saSxoLHUpKX1yZXR1cm4gcn19ZnVuY3Rpb24gYmkoZSl7cmV0dXJuIWV8fHR5cGVvZiBlLmdldExpbmVDb3VudCE9ImZ1bmN0aW9uInx8dHlwZW9mIGUuZ2V0TGluZUNvbnRlbnQhPSJmdW5jdGlvbiI/W106bHQuY29tcHV0ZUxpbmtzKGUpfWNsYXNzIFR0e2NvbnN0cnVjdG9yKCl7dGhpcy5fZGVmYXVsdFZhbHVlU2V0PVtbInRydWUiLCJmYWxzZSJdLFsiVHJ1ZSIsIkZhbHNlIl0sWyJQcml2YXRlIiwiUHVibGljIiwiRnJpZW5kIiwiUmVhZE9ubHkiLCJQYXJ0aWFsIiwiUHJvdGVjdGVkIiwiV3JpdGVPbmx5Il0sWyJwdWJsaWMiLCJwcm90ZWN0ZWQiLCJwcml2YXRlIl1dfW5hdmlnYXRlVmFsdWVTZXQodCxuLHMscixpKXtpZih0JiZuKXtjb25zdCBsPXRoaXMuZG9OYXZpZ2F0ZVZhbHVlU2V0KG4saSk7aWYobClyZXR1cm57cmFuZ2U6dCx2YWx1ZTpsfX1pZihzJiZyKXtjb25zdCBsPXRoaXMuZG9OYXZpZ2F0ZVZhbHVlU2V0KHIsaSk7aWYobClyZXR1cm57cmFuZ2U6cyx2YWx1ZTpsfX1yZXR1cm4gbnVsbH1kb05hdmlnYXRlVmFsdWVTZXQodCxuKXtjb25zdCBzPXRoaXMubnVtYmVyUmVwbGFjZSh0LG4pO3JldHVybiBzIT09bnVsbD9zOnRoaXMudGV4dFJlcGxhY2UodCxuKX1udW1iZXJSZXBsYWNlKHQsbil7Y29uc3Qgcz1NYXRoLnBvdygxMCx0Lmxlbmd0aC0odC5sYXN0SW5kZXhPZigiLiIpKzEpKTtsZXQgcj1OdW1iZXIodCk7Y29uc3QgaT1wYXJzZUZsb2F0KHQpO3JldHVybiFpc05hTihyKSYmIWlzTmFOKGkpJiZyPT09aT9yPT09MCYmIW4/bnVsbDoocj1NYXRoLmZsb29yKHIqcykscis9bj9zOi1zLFN0cmluZyhyL3MpKTpudWxsfXRleHRSZXBsYWNlKHQsbil7cmV0dXJuIHRoaXMudmFsdWVTZXRzUmVwbGFjZSh0aGlzLl9kZWZhdWx0VmFsdWVTZXQsdCxuKX12YWx1ZVNldHNSZXBsYWNlKHQsbixzKXtsZXQgcj1udWxsO2ZvcihsZXQgaT0wLGw9dC5sZW5ndGg7cj09PW51bGwmJmk8bDtpKyspcj10aGlzLnZhbHVlU2V0UmVwbGFjZSh0W2ldLG4scyk7cmV0dXJuIHJ9dmFsdWVTZXRSZXBsYWNlKHQsbixzKXtsZXQgcj10LmluZGV4T2Yobik7cmV0dXJuIHI+PTA/KHIrPXM/MTotMSxyPDA/cj10Lmxlbmd0aC0xOnIlPXQubGVuZ3RoLHRbcl0pOm51bGx9fVR0LklOU1RBTkNFPW5ldyBUdDtjb25zdCBObj1PYmplY3QuZnJlZXplKGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1zZXRUaW1lb3V0KGUuYmluZCh0KSwwKTtyZXR1cm57ZGlzcG9zZSgpe2NsZWFyVGltZW91dChuKX19fSk7dmFyIG90OyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KG4pe3JldHVybiBuPT09ZS5Ob25lfHxuPT09ZS5DYW5jZWxsZWR8fG4gaW5zdGFuY2VvZiB1dD8hMDohbnx8dHlwZW9mIG4hPSJvYmplY3QiPyExOnR5cGVvZiBuLmlzQ2FuY2VsbGF0aW9uUmVxdWVzdGVkPT0iYm9vbGVhbiImJnR5cGVvZiBuLm9uQ2FuY2VsbGF0aW9uUmVxdWVzdGVkPT0iZnVuY3Rpb24ifWUuaXNDYW5jZWxsYXRpb25Ub2tlbj10LGUuTm9uZT1PYmplY3QuZnJlZXplKHtpc0NhbmNlbGxhdGlvblJlcXVlc3RlZDohMSxvbkNhbmNlbGxhdGlvblJlcXVlc3RlZDpfdC5Ob25lfSksZS5DYW5jZWxsZWQ9T2JqZWN0LmZyZWV6ZSh7aXNDYW5jZWxsYXRpb25SZXF1ZXN0ZWQ6ITAsb25DYW5jZWxsYXRpb25SZXF1ZXN0ZWQ6Tm59KX0pKG90fHwob3Q9e30pKTtjbGFzcyB1dHtjb25zdHJ1Y3Rvcigpe3RoaXMuX2lzQ2FuY2VsbGVkPSExLHRoaXMuX2VtaXR0ZXI9bnVsbH1jYW5jZWwoKXt0aGlzLl9pc0NhbmNlbGxlZHx8KHRoaXMuX2lzQ2FuY2VsbGVkPSEwLHRoaXMuX2VtaXR0ZXImJih0aGlzLl9lbWl0dGVyLmZpcmUodm9pZCAwKSx0aGlzLmRpc3Bvc2UoKSkpfWdldCBpc0NhbmNlbGxhdGlvblJlcXVlc3RlZCgpe3JldHVybiB0aGlzLl9pc0NhbmNlbGxlZH1nZXQgb25DYW5jZWxsYXRpb25SZXF1ZXN0ZWQoKXtyZXR1cm4gdGhpcy5faXNDYW5jZWxsZWQ/Tm46KHRoaXMuX2VtaXR0ZXJ8fCh0aGlzLl9lbWl0dGVyPW5ldyByZSksdGhpcy5fZW1pdHRlci5ldmVudCl9ZGlzcG9zZSgpe3RoaXMuX2VtaXR0ZXImJih0aGlzLl9lbWl0dGVyLmRpc3Bvc2UoKSx0aGlzLl9lbWl0dGVyPW51bGwpfX1jbGFzcyBfaXtjb25zdHJ1Y3Rvcih0KXt0aGlzLl90b2tlbj12b2lkIDAsdGhpcy5fcGFyZW50TGlzdGVuZXI9dm9pZCAwLHRoaXMuX3BhcmVudExpc3RlbmVyPXQmJnQub25DYW5jZWxsYXRpb25SZXF1ZXN0ZWQodGhpcy5jYW5jZWwsdGhpcyl9Z2V0IHRva2VuKCl7cmV0dXJuIHRoaXMuX3Rva2VufHwodGhpcy5fdG9rZW49bmV3IHV0KSx0aGlzLl90b2tlbn1jYW5jZWwoKXt0aGlzLl90b2tlbj90aGlzLl90b2tlbiBpbnN0YW5jZW9mIHV0JiZ0aGlzLl90b2tlbi5jYW5jZWwoKTp0aGlzLl90b2tlbj1vdC5DYW5jZWxsZWR9ZGlzcG9zZSh0PSExKXt2YXIgbjt0JiZ0aGlzLmNhbmNlbCgpLChuPXRoaXMuX3BhcmVudExpc3RlbmVyKT09PW51bGx8fG49PT12b2lkIDB8fG4uZGlzcG9zZSgpLHRoaXMuX3Rva2VuP3RoaXMuX3Rva2VuIGluc3RhbmNlb2YgdXQmJnRoaXMuX3Rva2VuLmRpc3Bvc2UoKTp0aGlzLl90b2tlbj1vdC5Ob25lfX1jbGFzcyBVdHtjb25zdHJ1Y3Rvcigpe3RoaXMuX2tleUNvZGVUb1N0cj1bXSx0aGlzLl9zdHJUb0tleUNvZGU9T2JqZWN0LmNyZWF0ZShudWxsKX1kZWZpbmUodCxuKXt0aGlzLl9rZXlDb2RlVG9TdHJbdF09bix0aGlzLl9zdHJUb0tleUNvZGVbbi50b0xvd2VyQ2FzZSgpXT10fWtleUNvZGVUb1N0cih0KXtyZXR1cm4gdGhpcy5fa2V5Q29kZVRvU3RyW3RdfXN0clRvS2V5Q29kZSh0KXtyZXR1cm4gdGhpcy5fc3RyVG9LZXlDb2RlW3QudG9Mb3dlckNhc2UoKV18fDB9fWNvbnN0IGN0PW5ldyBVdCxWdD1uZXcgVXQsSXQ9bmV3IFV0LHhpPW5ldyBBcnJheSgyMzApLHBpPU9iamVjdC5jcmVhdGUobnVsbCksdmk9T2JqZWN0LmNyZWF0ZShudWxsKTsoZnVuY3Rpb24oKXtjb25zdCBlPSIiLHQ9W1sxLDAsIk5vbmUiLDAsInVua25vd24iLDAsIlZLX1VOS05PV04iLGUsZV0sWzEsMSwiSHlwZXIiLDAsZSwwLGUsZSxlXSxbMSwyLCJTdXBlciIsMCxlLDAsZSxlLGVdLFsxLDMsIkZuIiwwLGUsMCxlLGUsZV0sWzEsNCwiRm5Mb2NrIiwwLGUsMCxlLGUsZV0sWzEsNSwiU3VzcGVuZCIsMCxlLDAsZSxlLGVdLFsxLDYsIlJlc3VtZSIsMCxlLDAsZSxlLGVdLFsxLDcsIlR1cmJvIiwwLGUsMCxlLGUsZV0sWzEsOCwiU2xlZXAiLDAsZSwwLCJWS19TTEVFUCIsZSxlXSxbMSw5LCJXYWtlVXAiLDAsZSwwLGUsZSxlXSxbMCwxMCwiS2V5QSIsMzEsIkEiLDY1LCJWS19BIixlLGVdLFswLDExLCJLZXlCIiwzMiwiQiIsNjYsIlZLX0IiLGUsZV0sWzAsMTIsIktleUMiLDMzLCJDIiw2NywiVktfQyIsZSxlXSxbMCwxMywiS2V5RCIsMzQsIkQiLDY4LCJWS19EIixlLGVdLFswLDE0LCJLZXlFIiwzNSwiRSIsNjksIlZLX0UiLGUsZV0sWzAsMTUsIktleUYiLDM2LCJGIiw3MCwiVktfRiIsZSxlXSxbMCwxNiwiS2V5RyIsMzcsIkciLDcxLCJWS19HIixlLGVdLFswLDE3LCJLZXlIIiwzOCwiSCIsNzIsIlZLX0giLGUsZV0sWzAsMTgsIktleUkiLDM5LCJJIiw3MywiVktfSSIsZSxlXSxbMCwxOSwiS2V5SiIsNDAsIkoiLDc0LCJWS19KIixlLGVdLFswLDIwLCJLZXlLIiw0MSwiSyIsNzUsIlZLX0siLGUsZV0sWzAsMjEsIktleUwiLDQyLCJMIiw3NiwiVktfTCIsZSxlXSxbMCwyMiwiS2V5TSIsNDMsIk0iLDc3LCJWS19NIixlLGVdLFswLDIzLCJLZXlOIiw0NCwiTiIsNzgsIlZLX04iLGUsZV0sWzAsMjQsIktleU8iLDQ1LCJPIiw3OSwiVktfTyIsZSxlXSxbMCwyNSwiS2V5UCIsNDYsIlAiLDgwLCJWS19QIixlLGVdLFswLDI2LCJLZXlRIiw0NywiUSIsODEsIlZLX1EiLGUsZV0sWzAsMjcsIktleVIiLDQ4LCJSIiw4MiwiVktfUiIsZSxlXSxbMCwyOCwiS2V5UyIsNDksIlMiLDgzLCJWS19TIixlLGVdLFswLDI5LCJLZXlUIiw1MCwiVCIsODQsIlZLX1QiLGUsZV0sWzAsMzAsIktleVUiLDUxLCJVIiw4NSwiVktfVSIsZSxlXSxbMCwzMSwiS2V5ViIsNTIsIlYiLDg2LCJWS19WIixlLGVdLFswLDMyLCJLZXlXIiw1MywiVyIsODcsIlZLX1ciLGUsZV0sWzAsMzMsIktleVgiLDU0LCJYIiw4OCwiVktfWCIsZSxlXSxbMCwzNCwiS2V5WSIsNTUsIlkiLDg5LCJWS19ZIixlLGVdLFswLDM1LCJLZXlaIiw1NiwiWiIsOTAsIlZLX1oiLGUsZV0sWzAsMzYsIkRpZ2l0MSIsMjIsIjEiLDQ5LCJWS18xIixlLGVdLFswLDM3LCJEaWdpdDIiLDIzLCIyIiw1MCwiVktfMiIsZSxlXSxbMCwzOCwiRGlnaXQzIiwyNCwiMyIsNTEsIlZLXzMiLGUsZV0sWzAsMzksIkRpZ2l0NCIsMjUsIjQiLDUyLCJWS180IixlLGVdLFswLDQwLCJEaWdpdDUiLDI2LCI1Iiw1MywiVktfNSIsZSxlXSxbMCw0MSwiRGlnaXQ2IiwyNywiNiIsNTQsIlZLXzYiLGUsZV0sWzAsNDIsIkRpZ2l0NyIsMjgsIjciLDU1LCJWS183IixlLGVdLFswLDQzLCJEaWdpdDgiLDI5LCI4Iiw1NiwiVktfOCIsZSxlXSxbMCw0NCwiRGlnaXQ5IiwzMCwiOSIsNTcsIlZLXzkiLGUsZV0sWzAsNDUsIkRpZ2l0MCIsMjEsIjAiLDQ4LCJWS18wIixlLGVdLFsxLDQ2LCJFbnRlciIsMywiRW50ZXIiLDEzLCJWS19SRVRVUk4iLGUsZV0sWzEsNDcsIkVzY2FwZSIsOSwiRXNjYXBlIiwyNywiVktfRVNDQVBFIixlLGVdLFsxLDQ4LCJCYWNrc3BhY2UiLDEsIkJhY2tzcGFjZSIsOCwiVktfQkFDSyIsZSxlXSxbMSw0OSwiVGFiIiwyLCJUYWIiLDksIlZLX1RBQiIsZSxlXSxbMSw1MCwiU3BhY2UiLDEwLCJTcGFjZSIsMzIsIlZLX1NQQUNFIixlLGVdLFswLDUxLCJNaW51cyIsODgsIi0iLDE4OSwiVktfT0VNX01JTlVTIiwiLSIsIk9FTV9NSU5VUyJdLFswLDUyLCJFcXVhbCIsODYsIj0iLDE4NywiVktfT0VNX1BMVVMiLCI9IiwiT0VNX1BMVVMiXSxbMCw1MywiQnJhY2tldExlZnQiLDkyLCJbIiwyMTksIlZLX09FTV80IiwiWyIsIk9FTV80Il0sWzAsNTQsIkJyYWNrZXRSaWdodCIsOTQsIl0iLDIyMSwiVktfT0VNXzYiLCJdIiwiT0VNXzYiXSxbMCw1NSwiQmFja3NsYXNoIiw5MywiXFwiLDIyMCwiVktfT0VNXzUiLCJcXCIsIk9FTV81Il0sWzAsNTYsIkludGxIYXNoIiwwLGUsMCxlLGUsZV0sWzAsNTcsIlNlbWljb2xvbiIsODUsIjsiLDE4NiwiVktfT0VNXzEiLCI7IiwiT0VNXzEiXSxbMCw1OCwiUXVvdGUiLDk1LCInIiwyMjIsIlZLX09FTV83IiwiJyIsIk9FTV83Il0sWzAsNTksIkJhY2txdW90ZSIsOTEsImAiLDE5MiwiVktfT0VNXzMiLCJgIiwiT0VNXzMiXSxbMCw2MCwiQ29tbWEiLDg3LCIsIiwxODgsIlZLX09FTV9DT01NQSIsIiwiLCJPRU1fQ09NTUEiXSxbMCw2MSwiUGVyaW9kIiw4OSwiLiIsMTkwLCJWS19PRU1fUEVSSU9EIiwiLiIsIk9FTV9QRVJJT0QiXSxbMCw2MiwiU2xhc2giLDkwLCIvIiwxOTEsIlZLX09FTV8yIiwiLyIsIk9FTV8yIl0sWzEsNjMsIkNhcHNMb2NrIiw4LCJDYXBzTG9jayIsMjAsIlZLX0NBUElUQUwiLGUsZV0sWzEsNjQsIkYxIiw1OSwiRjEiLDExMiwiVktfRjEiLGUsZV0sWzEsNjUsIkYyIiw2MCwiRjIiLDExMywiVktfRjIiLGUsZV0sWzEsNjYsIkYzIiw2MSwiRjMiLDExNCwiVktfRjMiLGUsZV0sWzEsNjcsIkY0Iiw2MiwiRjQiLDExNSwiVktfRjQiLGUsZV0sWzEsNjgsIkY1Iiw2MywiRjUiLDExNiwiVktfRjUiLGUsZV0sWzEsNjksIkY2Iiw2NCwiRjYiLDExNywiVktfRjYiLGUsZV0sWzEsNzAsIkY3Iiw2NSwiRjciLDExOCwiVktfRjciLGUsZV0sWzEsNzEsIkY4Iiw2NiwiRjgiLDExOSwiVktfRjgiLGUsZV0sWzEsNzIsIkY5Iiw2NywiRjkiLDEyMCwiVktfRjkiLGUsZV0sWzEsNzMsIkYxMCIsNjgsIkYxMCIsMTIxLCJWS19GMTAiLGUsZV0sWzEsNzQsIkYxMSIsNjksIkYxMSIsMTIyLCJWS19GMTEiLGUsZV0sWzEsNzUsIkYxMiIsNzAsIkYxMiIsMTIzLCJWS19GMTIiLGUsZV0sWzEsNzYsIlByaW50U2NyZWVuIiwwLGUsMCxlLGUsZV0sWzEsNzcsIlNjcm9sbExvY2siLDg0LCJTY3JvbGxMb2NrIiwxNDUsIlZLX1NDUk9MTCIsZSxlXSxbMSw3OCwiUGF1c2UiLDcsIlBhdXNlQnJlYWsiLDE5LCJWS19QQVVTRSIsZSxlXSxbMSw3OSwiSW5zZXJ0IiwxOSwiSW5zZXJ0Iiw0NSwiVktfSU5TRVJUIixlLGVdLFsxLDgwLCJIb21lIiwxNCwiSG9tZSIsMzYsIlZLX0hPTUUiLGUsZV0sWzEsODEsIlBhZ2VVcCIsMTEsIlBhZ2VVcCIsMzMsIlZLX1BSSU9SIixlLGVdLFsxLDgyLCJEZWxldGUiLDIwLCJEZWxldGUiLDQ2LCJWS19ERUxFVEUiLGUsZV0sWzEsODMsIkVuZCIsMTMsIkVuZCIsMzUsIlZLX0VORCIsZSxlXSxbMSw4NCwiUGFnZURvd24iLDEyLCJQYWdlRG93biIsMzQsIlZLX05FWFQiLGUsZV0sWzEsODUsIkFycm93UmlnaHQiLDE3LCJSaWdodEFycm93IiwzOSwiVktfUklHSFQiLCJSaWdodCIsZV0sWzEsODYsIkFycm93TGVmdCIsMTUsIkxlZnRBcnJvdyIsMzcsIlZLX0xFRlQiLCJMZWZ0IixlXSxbMSw4NywiQXJyb3dEb3duIiwxOCwiRG93bkFycm93Iiw0MCwiVktfRE9XTiIsIkRvd24iLGVdLFsxLDg4LCJBcnJvd1VwIiwxNiwiVXBBcnJvdyIsMzgsIlZLX1VQIiwiVXAiLGVdLFsxLDg5LCJOdW1Mb2NrIiw4MywiTnVtTG9jayIsMTQ0LCJWS19OVU1MT0NLIixlLGVdLFsxLDkwLCJOdW1wYWREaXZpZGUiLDExMywiTnVtUGFkX0RpdmlkZSIsMTExLCJWS19ESVZJREUiLGUsZV0sWzEsOTEsIk51bXBhZE11bHRpcGx5IiwxMDgsIk51bVBhZF9NdWx0aXBseSIsMTA2LCJWS19NVUxUSVBMWSIsZSxlXSxbMSw5MiwiTnVtcGFkU3VidHJhY3QiLDExMSwiTnVtUGFkX1N1YnRyYWN0IiwxMDksIlZLX1NVQlRSQUNUIixlLGVdLFsxLDkzLCJOdW1wYWRBZGQiLDEwOSwiTnVtUGFkX0FkZCIsMTA3LCJWS19BREQiLGUsZV0sWzEsOTQsIk51bXBhZEVudGVyIiwzLGUsMCxlLGUsZV0sWzEsOTUsIk51bXBhZDEiLDk5LCJOdW1QYWQxIiw5NywiVktfTlVNUEFEMSIsZSxlXSxbMSw5NiwiTnVtcGFkMiIsMTAwLCJOdW1QYWQyIiw5OCwiVktfTlVNUEFEMiIsZSxlXSxbMSw5NywiTnVtcGFkMyIsMTAxLCJOdW1QYWQzIiw5OSwiVktfTlVNUEFEMyIsZSxlXSxbMSw5OCwiTnVtcGFkNCIsMTAyLCJOdW1QYWQ0IiwxMDAsIlZLX05VTVBBRDQiLGUsZV0sWzEsOTksIk51bXBhZDUiLDEwMywiTnVtUGFkNSIsMTAxLCJWS19OVU1QQUQ1IixlLGVdLFsxLDEwMCwiTnVtcGFkNiIsMTA0LCJOdW1QYWQ2IiwxMDIsIlZLX05VTVBBRDYiLGUsZV0sWzEsMTAxLCJOdW1wYWQ3IiwxMDUsIk51bVBhZDciLDEwMywiVktfTlVNUEFENyIsZSxlXSxbMSwxMDIsIk51bXBhZDgiLDEwNiwiTnVtUGFkOCIsMTA0LCJWS19OVU1QQUQ4IixlLGVdLFsxLDEwMywiTnVtcGFkOSIsMTA3LCJOdW1QYWQ5IiwxMDUsIlZLX05VTVBBRDkiLGUsZV0sWzEsMTA0LCJOdW1wYWQwIiw5OCwiTnVtUGFkMCIsOTYsIlZLX05VTVBBRDAiLGUsZV0sWzEsMTA1LCJOdW1wYWREZWNpbWFsIiwxMTIsIk51bVBhZF9EZWNpbWFsIiwxMTAsIlZLX0RFQ0lNQUwiLGUsZV0sWzAsMTA2LCJJbnRsQmFja3NsYXNoIiw5NywiT0VNXzEwMiIsMjI2LCJWS19PRU1fMTAyIixlLGVdLFsxLDEwNywiQ29udGV4dE1lbnUiLDU4LCJDb250ZXh0TWVudSIsOTMsZSxlLGVdLFsxLDEwOCwiUG93ZXIiLDAsZSwwLGUsZSxlXSxbMSwxMDksIk51bXBhZEVxdWFsIiwwLGUsMCxlLGUsZV0sWzEsMTEwLCJGMTMiLDcxLCJGMTMiLDEyNCwiVktfRjEzIixlLGVdLFsxLDExMSwiRjE0Iiw3MiwiRjE0IiwxMjUsIlZLX0YxNCIsZSxlXSxbMSwxMTIsIkYxNSIsNzMsIkYxNSIsMTI2LCJWS19GMTUiLGUsZV0sWzEsMTEzLCJGMTYiLDc0LCJGMTYiLDEyNywiVktfRjE2IixlLGVdLFsxLDExNCwiRjE3Iiw3NSwiRjE3IiwxMjgsIlZLX0YxNyIsZSxlXSxbMSwxMTUsIkYxOCIsNzYsIkYxOCIsMTI5LCJWS19GMTgiLGUsZV0sWzEsMTE2LCJGMTkiLDc3LCJGMTkiLDEzMCwiVktfRjE5IixlLGVdLFsxLDExNywiRjIwIiw3OCwiRjIwIiwxMzEsIlZLX0YyMCIsZSxlXSxbMSwxMTgsIkYyMSIsNzksIkYyMSIsMTMyLCJWS19GMjEiLGUsZV0sWzEsMTE5LCJGMjIiLDgwLCJGMjIiLDEzMywiVktfRjIyIixlLGVdLFsxLDEyMCwiRjIzIiw4MSwiRjIzIiwxMzQsIlZLX0YyMyIsZSxlXSxbMSwxMjEsIkYyNCIsODIsIkYyNCIsMTM1LCJWS19GMjQiLGUsZV0sWzEsMTIyLCJPcGVuIiwwLGUsMCxlLGUsZV0sWzEsMTIzLCJIZWxwIiwwLGUsMCxlLGUsZV0sWzEsMTI0LCJTZWxlY3QiLDAsZSwwLGUsZSxlXSxbMSwxMjUsIkFnYWluIiwwLGUsMCxlLGUsZV0sWzEsMTI2LCJVbmRvIiwwLGUsMCxlLGUsZV0sWzEsMTI3LCJDdXQiLDAsZSwwLGUsZSxlXSxbMSwxMjgsIkNvcHkiLDAsZSwwLGUsZSxlXSxbMSwxMjksIlBhc3RlIiwwLGUsMCxlLGUsZV0sWzEsMTMwLCJGaW5kIiwwLGUsMCxlLGUsZV0sWzEsMTMxLCJBdWRpb1ZvbHVtZU11dGUiLDExNywiQXVkaW9Wb2x1bWVNdXRlIiwxNzMsIlZLX1ZPTFVNRV9NVVRFIixlLGVdLFsxLDEzMiwiQXVkaW9Wb2x1bWVVcCIsMTE4LCJBdWRpb1ZvbHVtZVVwIiwxNzUsIlZLX1ZPTFVNRV9VUCIsZSxlXSxbMSwxMzMsIkF1ZGlvVm9sdW1lRG93biIsMTE5LCJBdWRpb1ZvbHVtZURvd24iLDE3NCwiVktfVk9MVU1FX0RPV04iLGUsZV0sWzEsMTM0LCJOdW1wYWRDb21tYSIsMTEwLCJOdW1QYWRfU2VwYXJhdG9yIiwxMDgsIlZLX1NFUEFSQVRPUiIsZSxlXSxbMCwxMzUsIkludGxSbyIsMTE1LCJBQk5UX0MxIiwxOTMsIlZLX0FCTlRfQzEiLGUsZV0sWzEsMTM2LCJLYW5hTW9kZSIsMCxlLDAsZSxlLGVdLFswLDEzNywiSW50bFllbiIsMCxlLDAsZSxlLGVdLFsxLDEzOCwiQ29udmVydCIsMCxlLDAsZSxlLGVdLFsxLDEzOSwiTm9uQ29udmVydCIsMCxlLDAsZSxlLGVdLFsxLDE0MCwiTGFuZzEiLDAsZSwwLGUsZSxlXSxbMSwxNDEsIkxhbmcyIiwwLGUsMCxlLGUsZV0sWzEsMTQyLCJMYW5nMyIsMCxlLDAsZSxlLGVdLFsxLDE0MywiTGFuZzQiLDAsZSwwLGUsZSxlXSxbMSwxNDQsIkxhbmc1IiwwLGUsMCxlLGUsZV0sWzEsMTQ1LCJBYm9ydCIsMCxlLDAsZSxlLGVdLFsxLDE0NiwiUHJvcHMiLDAsZSwwLGUsZSxlXSxbMSwxNDcsIk51bXBhZFBhcmVuTGVmdCIsMCxlLDAsZSxlLGVdLFsxLDE0OCwiTnVtcGFkUGFyZW5SaWdodCIsMCxlLDAsZSxlLGVdLFsxLDE0OSwiTnVtcGFkQmFja3NwYWNlIiwwLGUsMCxlLGUsZV0sWzEsMTUwLCJOdW1wYWRNZW1vcnlTdG9yZSIsMCxlLDAsZSxlLGVdLFsxLDE1MSwiTnVtcGFkTWVtb3J5UmVjYWxsIiwwLGUsMCxlLGUsZV0sWzEsMTUyLCJOdW1wYWRNZW1vcnlDbGVhciIsMCxlLDAsZSxlLGVdLFsxLDE1MywiTnVtcGFkTWVtb3J5QWRkIiwwLGUsMCxlLGUsZV0sWzEsMTU0LCJOdW1wYWRNZW1vcnlTdWJ0cmFjdCIsMCxlLDAsZSxlLGVdLFsxLDE1NSwiTnVtcGFkQ2xlYXIiLDEzMSwiQ2xlYXIiLDEyLCJWS19DTEVBUiIsZSxlXSxbMSwxNTYsIk51bXBhZENsZWFyRW50cnkiLDAsZSwwLGUsZSxlXSxbMSwwLGUsNSwiQ3RybCIsMTcsIlZLX0NPTlRST0wiLGUsZV0sWzEsMCxlLDQsIlNoaWZ0IiwxNiwiVktfU0hJRlQiLGUsZV0sWzEsMCxlLDYsIkFsdCIsMTgsIlZLX01FTlUiLGUsZV0sWzEsMCxlLDU3LCJNZXRhIiw5MSwiVktfQ09NTUFORCIsZSxlXSxbMSwxNTcsIkNvbnRyb2xMZWZ0Iiw1LGUsMCwiVktfTENPTlRST0wiLGUsZV0sWzEsMTU4LCJTaGlmdExlZnQiLDQsZSwwLCJWS19MU0hJRlQiLGUsZV0sWzEsMTU5LCJBbHRMZWZ0Iiw2LGUsMCwiVktfTE1FTlUiLGUsZV0sWzEsMTYwLCJNZXRhTGVmdCIsNTcsZSwwLCJWS19MV0lOIixlLGVdLFsxLDE2MSwiQ29udHJvbFJpZ2h0Iiw1LGUsMCwiVktfUkNPTlRST0wiLGUsZV0sWzEsMTYyLCJTaGlmdFJpZ2h0Iiw0LGUsMCwiVktfUlNISUZUIixlLGVdLFsxLDE2MywiQWx0UmlnaHQiLDYsZSwwLCJWS19STUVOVSIsZSxlXSxbMSwxNjQsIk1ldGFSaWdodCIsNTcsZSwwLCJWS19SV0lOIixlLGVdLFsxLDE2NSwiQnJpZ2h0bmVzc1VwIiwwLGUsMCxlLGUsZV0sWzEsMTY2LCJCcmlnaHRuZXNzRG93biIsMCxlLDAsZSxlLGVdLFsxLDE2NywiTWVkaWFQbGF5IiwwLGUsMCxlLGUsZV0sWzEsMTY4LCJNZWRpYVJlY29yZCIsMCxlLDAsZSxlLGVdLFsxLDE2OSwiTWVkaWFGYXN0Rm9yd2FyZCIsMCxlLDAsZSxlLGVdLFsxLDE3MCwiTWVkaWFSZXdpbmQiLDAsZSwwLGUsZSxlXSxbMSwxNzEsIk1lZGlhVHJhY2tOZXh0IiwxMjQsIk1lZGlhVHJhY2tOZXh0IiwxNzYsIlZLX01FRElBX05FWFRfVFJBQ0siLGUsZV0sWzEsMTcyLCJNZWRpYVRyYWNrUHJldmlvdXMiLDEyNSwiTWVkaWFUcmFja1ByZXZpb3VzIiwxNzcsIlZLX01FRElBX1BSRVZfVFJBQ0siLGUsZV0sWzEsMTczLCJNZWRpYVN0b3AiLDEyNiwiTWVkaWFTdG9wIiwxNzgsIlZLX01FRElBX1NUT1AiLGUsZV0sWzEsMTc0LCJFamVjdCIsMCxlLDAsZSxlLGVdLFsxLDE3NSwiTWVkaWFQbGF5UGF1c2UiLDEyNywiTWVkaWFQbGF5UGF1c2UiLDE3OSwiVktfTUVESUFfUExBWV9QQVVTRSIsZSxlXSxbMSwxNzYsIk1lZGlhU2VsZWN0IiwxMjgsIkxhdW5jaE1lZGlhUGxheWVyIiwxODEsIlZLX01FRElBX0xBVU5DSF9NRURJQV9TRUxFQ1QiLGUsZV0sWzEsMTc3LCJMYXVuY2hNYWlsIiwxMjksIkxhdW5jaE1haWwiLDE4MCwiVktfTUVESUFfTEFVTkNIX01BSUwiLGUsZV0sWzEsMTc4LCJMYXVuY2hBcHAyIiwxMzAsIkxhdW5jaEFwcDIiLDE4MywiVktfTUVESUFfTEFVTkNIX0FQUDIiLGUsZV0sWzEsMTc5LCJMYXVuY2hBcHAxIiwwLGUsMCwiVktfTUVESUFfTEFVTkNIX0FQUDEiLGUsZV0sWzEsMTgwLCJTZWxlY3RUYXNrIiwwLGUsMCxlLGUsZV0sWzEsMTgxLCJMYXVuY2hTY3JlZW5TYXZlciIsMCxlLDAsZSxlLGVdLFsxLDE4MiwiQnJvd3NlclNlYXJjaCIsMTIwLCJCcm93c2VyU2VhcmNoIiwxNzAsIlZLX0JST1dTRVJfU0VBUkNIIixlLGVdLFsxLDE4MywiQnJvd3NlckhvbWUiLDEyMSwiQnJvd3NlckhvbWUiLDE3MiwiVktfQlJPV1NFUl9IT01FIixlLGVdLFsxLDE4NCwiQnJvd3NlckJhY2siLDEyMiwiQnJvd3NlckJhY2siLDE2NiwiVktfQlJPV1NFUl9CQUNLIixlLGVdLFsxLDE4NSwiQnJvd3NlckZvcndhcmQiLDEyMywiQnJvd3NlckZvcndhcmQiLDE2NywiVktfQlJPV1NFUl9GT1JXQVJEIixlLGVdLFsxLDE4NiwiQnJvd3NlclN0b3AiLDAsZSwwLCJWS19CUk9XU0VSX1NUT1AiLGUsZV0sWzEsMTg3LCJCcm93c2VyUmVmcmVzaCIsMCxlLDAsIlZLX0JST1dTRVJfUkVGUkVTSCIsZSxlXSxbMSwxODgsIkJyb3dzZXJGYXZvcml0ZXMiLDAsZSwwLCJWS19CUk9XU0VSX0ZBVk9SSVRFUyIsZSxlXSxbMSwxODksIlpvb21Ub2dnbGUiLDAsZSwwLGUsZSxlXSxbMSwxOTAsIk1haWxSZXBseSIsMCxlLDAsZSxlLGVdLFsxLDE5MSwiTWFpbEZvcndhcmQiLDAsZSwwLGUsZSxlXSxbMSwxOTIsIk1haWxTZW5kIiwwLGUsMCxlLGUsZV0sWzEsMCxlLDExNCwiS2V5SW5Db21wb3NpdGlvbiIsMjI5LGUsZSxlXSxbMSwwLGUsMTE2LCJBQk5UX0MyIiwxOTQsIlZLX0FCTlRfQzIiLGUsZV0sWzEsMCxlLDk2LCJPRU1fOCIsMjIzLCJWS19PRU1fOCIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX0tBTkEiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19IQU5HVUwiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19KVU5KQSIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX0ZJTkFMIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfSEFOSkEiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19LQU5KSSIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX0NPTlZFUlQiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19OT05DT05WRVJUIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfQUNDRVBUIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfTU9ERUNIQU5HRSIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX1NFTEVDVCIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX1BSSU5UIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfRVhFQ1VURSIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX1NOQVBTSE9UIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfSEVMUCIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX0FQUFMiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19QUk9DRVNTS0VZIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfUEFDS0VUIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfREJFX1NCQ1NDSEFSIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfREJFX0RCQ1NDSEFSIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfQVRUTiIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX0NSU0VMIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfRVhTRUwiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19FUkVPRiIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX1BMQVkiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19aT09NIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfTk9OQU1FIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfUEExIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfT0VNX0NMRUFSIixlLGVdXSxuPVtdLHM9W107Zm9yKGNvbnN0IHIgb2YgdCl7Y29uc3RbaSxsLG8sdSxjLGgsZixkLG1dPXI7aWYoc1tsXXx8KHNbbF09ITAscGlbb109bCx2aVtvLnRvTG93ZXJDYXNlKCldPWwpLCFuW3VdKXtpZihuW3VdPSEwLCFjKXRocm93IG5ldyBFcnJvcihgU3RyaW5nIHJlcHJlc2VudGF0aW9uIG1pc3NpbmcgZm9yIGtleSBjb2RlICR7dX0gYXJvdW5kIHNjYW4gY29kZSAke299YCk7Y3QuZGVmaW5lKHUsYyksVnQuZGVmaW5lKHUsZHx8YyksSXQuZGVmaW5lKHUsbXx8ZHx8Yyl9aCYmKHhpW2hdPXUpfX0pKCk7dmFyIFNuOyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KG8pe3JldHVybiBjdC5rZXlDb2RlVG9TdHIobyl9ZS50b1N0cmluZz10O2Z1bmN0aW9uIG4obyl7cmV0dXJuIGN0LnN0clRvS2V5Q29kZShvKX1lLmZyb21TdHJpbmc9bjtmdW5jdGlvbiBzKG8pe3JldHVybiBWdC5rZXlDb2RlVG9TdHIobyl9ZS50b1VzZXJTZXR0aW5nc1VTPXM7ZnVuY3Rpb24gcihvKXtyZXR1cm4gSXQua2V5Q29kZVRvU3RyKG8pfWUudG9Vc2VyU2V0dGluZ3NHZW5lcmFsPXI7ZnVuY3Rpb24gaShvKXtyZXR1cm4gVnQuc3RyVG9LZXlDb2RlKG8pfHxJdC5zdHJUb0tleUNvZGUobyl9ZS5mcm9tVXNlclNldHRpbmdzPWk7ZnVuY3Rpb24gbChvKXtpZihvPj05OCYmbzw9MTEzKXJldHVybiBudWxsO3N3aXRjaChvKXtjYXNlIDE2OnJldHVybiJVcCI7Y2FzZSAxODpyZXR1cm4iRG93biI7Y2FzZSAxNTpyZXR1cm4iTGVmdCI7Y2FzZSAxNzpyZXR1cm4iUmlnaHQifXJldHVybiBjdC5rZXlDb2RlVG9TdHIobyl9ZS50b0VsZWN0cm9uQWNjZWxlcmF0b3I9bH0pKFNufHwoU249e30pKTtmdW5jdGlvbiBMaShlLHQpe2NvbnN0IG49KHQmNjU1MzUpPDwxNj4+PjA7cmV0dXJuKGV8bik+Pj4wfWNsYXNzIHRlIGV4dGVuZHMgRntjb25zdHJ1Y3Rvcih0LG4scyxyKXtzdXBlcih0LG4scyxyKSx0aGlzLnNlbGVjdGlvblN0YXJ0TGluZU51bWJlcj10LHRoaXMuc2VsZWN0aW9uU3RhcnRDb2x1bW49bix0aGlzLnBvc2l0aW9uTGluZU51bWJlcj1zLHRoaXMucG9zaXRpb25Db2x1bW49cn10b1N0cmluZygpe3JldHVybiJbIit0aGlzLnNlbGVjdGlvblN0YXJ0TGluZU51bWJlcisiLCIrdGhpcy5zZWxlY3Rpb25TdGFydENvbHVtbisiIC0+ICIrdGhpcy5wb3NpdGlvbkxpbmVOdW1iZXIrIiwiK3RoaXMucG9zaXRpb25Db2x1bW4rIl0ifWVxdWFsc1NlbGVjdGlvbih0KXtyZXR1cm4gdGUuc2VsZWN0aW9uc0VxdWFsKHRoaXMsdCl9c3RhdGljIHNlbGVjdGlvbnNFcXVhbCh0LG4pe3JldHVybiB0LnNlbGVjdGlvblN0YXJ0TGluZU51bWJlcj09PW4uc2VsZWN0aW9uU3RhcnRMaW5lTnVtYmVyJiZ0LnNlbGVjdGlvblN0YXJ0Q29sdW1uPT09bi5zZWxlY3Rpb25TdGFydENvbHVtbiYmdC5wb3NpdGlvbkxpbmVOdW1iZXI9PT1uLnBvc2l0aW9uTGluZU51bWJlciYmdC5wb3NpdGlvbkNvbHVtbj09PW4ucG9zaXRpb25Db2x1bW59Z2V0RGlyZWN0aW9uKCl7cmV0dXJuIHRoaXMuc2VsZWN0aW9uU3RhcnRMaW5lTnVtYmVyPT09dGhpcy5zdGFydExpbmVOdW1iZXImJnRoaXMuc2VsZWN0aW9uU3RhcnRDb2x1bW49PT10aGlzLnN0YXJ0Q29sdW1uPzA6MX1zZXRFbmRQb3NpdGlvbih0LG4pe3JldHVybiB0aGlzLmdldERpcmVjdGlvbigpPT09MD9uZXcgdGUodGhpcy5zdGFydExpbmVOdW1iZXIsdGhpcy5zdGFydENvbHVtbix0LG4pOm5ldyB0ZSh0LG4sdGhpcy5zdGFydExpbmVOdW1iZXIsdGhpcy5zdGFydENvbHVtbil9Z2V0UG9zaXRpb24oKXtyZXR1cm4gbmV3IFkodGhpcy5wb3NpdGlvbkxpbmVOdW1iZXIsdGhpcy5wb3NpdGlvbkNvbHVtbil9Z2V0U2VsZWN0aW9uU3RhcnQoKXtyZXR1cm4gbmV3IFkodGhpcy5zZWxlY3Rpb25TdGFydExpbmVOdW1iZXIsdGhpcy5zZWxlY3Rpb25TdGFydENvbHVtbil9c2V0U3RhcnRQb3NpdGlvbih0LG4pe3JldHVybiB0aGlzLmdldERpcmVjdGlvbigpPT09MD9uZXcgdGUodCxuLHRoaXMuZW5kTGluZU51bWJlcix0aGlzLmVuZENvbHVtbik6bmV3IHRlKHRoaXMuZW5kTGluZU51bWJlcix0aGlzLmVuZENvbHVtbix0LG4pfXN0YXRpYyBmcm9tUG9zaXRpb25zKHQsbj10KXtyZXR1cm4gbmV3IHRlKHQubGluZU51bWJlcix0LmNvbHVtbixuLmxpbmVOdW1iZXIsbi5jb2x1bW4pfXN0YXRpYyBmcm9tUmFuZ2UodCxuKXtyZXR1cm4gbj09PTA/bmV3IHRlKHQuc3RhcnRMaW5lTnVtYmVyLHQuc3RhcnRDb2x1bW4sdC5lbmRMaW5lTnVtYmVyLHQuZW5kQ29sdW1uKTpuZXcgdGUodC5lbmRMaW5lTnVtYmVyLHQuZW5kQ29sdW1uLHQuc3RhcnRMaW5lTnVtYmVyLHQuc3RhcnRDb2x1bW4pfXN0YXRpYyBsaWZ0U2VsZWN0aW9uKHQpe3JldHVybiBuZXcgdGUodC5zZWxlY3Rpb25TdGFydExpbmVOdW1iZXIsdC5zZWxlY3Rpb25TdGFydENvbHVtbix0LnBvc2l0aW9uTGluZU51bWJlcix0LnBvc2l0aW9uQ29sdW1uKX1zdGF0aWMgc2VsZWN0aW9uc0FyckVxdWFsKHQsbil7aWYodCYmIW58fCF0JiZuKXJldHVybiExO2lmKCF0JiYhbilyZXR1cm4hMDtpZih0Lmxlbmd0aCE9PW4ubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgcz0wLHI9dC5sZW5ndGg7czxyO3MrKylpZighdGhpcy5zZWxlY3Rpb25zRXF1YWwodFtzXSxuW3NdKSlyZXR1cm4hMTtyZXR1cm4hMH1zdGF0aWMgaXNJU2VsZWN0aW9uKHQpe3JldHVybiB0JiZ0eXBlb2YgdC5zZWxlY3Rpb25TdGFydExpbmVOdW1iZXI9PSJudW1iZXIiJiZ0eXBlb2YgdC5zZWxlY3Rpb25TdGFydENvbHVtbj09Im51bWJlciImJnR5cGVvZiB0LnBvc2l0aW9uTGluZU51bWJlcj09Im51bWJlciImJnR5cGVvZiB0LnBvc2l0aW9uQ29sdW1uPT0ibnVtYmVyIn1zdGF0aWMgY3JlYXRlV2l0aERpcmVjdGlvbih0LG4scyxyLGkpe3JldHVybiBpPT09MD9uZXcgdGUodCxuLHMscik6bmV3IHRlKHMscix0LG4pfX1jb25zdCBDbj1PYmplY3QuY3JlYXRlKG51bGwpO2Z1bmN0aW9uIGEoZSx0KXtpZihscih0KSl7Y29uc3Qgbj1Dblt0XTtpZihuPT09dm9pZCAwKXRocm93IG5ldyBFcnJvcihgJHtlfSByZWZlcmVuY2VzIGFuIHVua25vd24gY29kaWNvbjogJHt0fWApO3Q9bn1yZXR1cm4gQ25bZV09dCx7aWQ6ZX19Y29uc3Qgd2k9e2FkZDphKCJhZGQiLDZlNCkscGx1czphKCJwbHVzIiw2ZTQpLGdpc3ROZXc6YSgiZ2lzdC1uZXciLDZlNCkscmVwb0NyZWF0ZTphKCJyZXBvLWNyZWF0ZSIsNmU0KSxsaWdodGJ1bGI6YSgibGlnaHRidWxiIiw2MDAwMSksbGlnaHRCdWxiOmEoImxpZ2h0LWJ1bGIiLDYwMDAxKSxyZXBvOmEoInJlcG8iLDYwMDAyKSxyZXBvRGVsZXRlOmEoInJlcG8tZGVsZXRlIiw2MDAwMiksZ2lzdEZvcms6YSgiZ2lzdC1mb3JrIiw2MDAwMykscmVwb0ZvcmtlZDphKCJyZXBvLWZvcmtlZCIsNjAwMDMpLGdpdFB1bGxSZXF1ZXN0OmEoImdpdC1wdWxsLXJlcXVlc3QiLDYwMDA0KSxnaXRQdWxsUmVxdWVzdEFiYW5kb25lZDphKCJnaXQtcHVsbC1yZXF1ZXN0LWFiYW5kb25lZCIsNjAwMDQpLHJlY29yZEtleXM6YSgicmVjb3JkLWtleXMiLDYwMDA1KSxrZXlib2FyZDphKCJrZXlib2FyZCIsNjAwMDUpLHRhZzphKCJ0YWciLDYwMDA2KSxnaXRQdWxsUmVxdWVzdExhYmVsOmEoImdpdC1wdWxsLXJlcXVlc3QtbGFiZWwiLDYwMDA2KSx0YWdBZGQ6YSgidGFnLWFkZCIsNjAwMDYpLHRhZ1JlbW92ZTphKCJ0YWctcmVtb3ZlIiw2MDAwNikscGVyc29uOmEoInBlcnNvbiIsNjAwMDcpLHBlcnNvbkZvbGxvdzphKCJwZXJzb24tZm9sbG93Iiw2MDAwNykscGVyc29uT3V0bGluZTphKCJwZXJzb24tb3V0bGluZSIsNjAwMDcpLHBlcnNvbkZpbGxlZDphKCJwZXJzb24tZmlsbGVkIiw2MDAwNyksZ2l0QnJhbmNoOmEoImdpdC1icmFuY2giLDYwMDA4KSxnaXRCcmFuY2hDcmVhdGU6YSgiZ2l0LWJyYW5jaC1jcmVhdGUiLDYwMDA4KSxnaXRCcmFuY2hEZWxldGU6YSgiZ2l0LWJyYW5jaC1kZWxldGUiLDYwMDA4KSxzb3VyY2VDb250cm9sOmEoInNvdXJjZS1jb250cm9sIiw2MDAwOCksbWlycm9yOmEoIm1pcnJvciIsNjAwMDkpLG1pcnJvclB1YmxpYzphKCJtaXJyb3ItcHVibGljIiw2MDAwOSksc3RhcjphKCJzdGFyIiw2MDAxMCksc3RhckFkZDphKCJzdGFyLWFkZCIsNjAwMTApLHN0YXJEZWxldGU6YSgic3Rhci1kZWxldGUiLDYwMDEwKSxzdGFyRW1wdHk6YSgic3Rhci1lbXB0eSIsNjAwMTApLGNvbW1lbnQ6YSgiY29tbWVudCIsNjAwMTEpLGNvbW1lbnRBZGQ6YSgiY29tbWVudC1hZGQiLDYwMDExKSxhbGVydDphKCJhbGVydCIsNjAwMTIpLHdhcm5pbmc6YSgid2FybmluZyIsNjAwMTIpLHNlYXJjaDphKCJzZWFyY2giLDYwMDEzKSxzZWFyY2hTYXZlOmEoInNlYXJjaC1zYXZlIiw2MDAxMyksbG9nT3V0OmEoImxvZy1vdXQiLDYwMDE0KSxzaWduT3V0OmEoInNpZ24tb3V0Iiw2MDAxNCksbG9nSW46YSgibG9nLWluIiw2MDAxNSksc2lnbkluOmEoInNpZ24taW4iLDYwMDE1KSxleWU6YSgiZXllIiw2MDAxNiksZXllVW53YXRjaDphKCJleWUtdW53YXRjaCIsNjAwMTYpLGV5ZVdhdGNoOmEoImV5ZS13YXRjaCIsNjAwMTYpLGNpcmNsZUZpbGxlZDphKCJjaXJjbGUtZmlsbGVkIiw2MDAxNykscHJpbWl0aXZlRG90OmEoInByaW1pdGl2ZS1kb3QiLDYwMDE3KSxjbG9zZURpcnR5OmEoImNsb3NlLWRpcnR5Iiw2MDAxNyksZGVidWdCcmVha3BvaW50OmEoImRlYnVnLWJyZWFrcG9pbnQiLDYwMDE3KSxkZWJ1Z0JyZWFrcG9pbnREaXNhYmxlZDphKCJkZWJ1Zy1icmVha3BvaW50LWRpc2FibGVkIiw2MDAxNyksZGVidWdIaW50OmEoImRlYnVnLWhpbnQiLDYwMDE3KSx0ZXJtaW5hbERlY29yYXRpb25TdWNjZXNzOmEoInRlcm1pbmFsLWRlY29yYXRpb24tc3VjY2VzcyIsNjAwMTcpLHByaW1pdGl2ZVNxdWFyZTphKCJwcmltaXRpdmUtc3F1YXJlIiw2MDAxOCksZWRpdDphKCJlZGl0Iiw2MDAxOSkscGVuY2lsOmEoInBlbmNpbCIsNjAwMTkpLGluZm86YSgiaW5mbyIsNjAwMjApLGlzc3VlT3BlbmVkOmEoImlzc3VlLW9wZW5lZCIsNjAwMjApLGdpc3RQcml2YXRlOmEoImdpc3QtcHJpdmF0ZSIsNjAwMjEpLGdpdEZvcmtQcml2YXRlOmEoImdpdC1mb3JrLXByaXZhdGUiLDYwMDIxKSxsb2NrOmEoImxvY2siLDYwMDIxKSxtaXJyb3JQcml2YXRlOmEoIm1pcnJvci1wcml2YXRlIiw2MDAyMSksY2xvc2U6YSgiY2xvc2UiLDYwMDIyKSxyZW1vdmVDbG9zZTphKCJyZW1vdmUtY2xvc2UiLDYwMDIyKSx4OmEoIngiLDYwMDIyKSxyZXBvU3luYzphKCJyZXBvLXN5bmMiLDYwMDIzKSxzeW5jOmEoInN5bmMiLDYwMDIzKSxjbG9uZTphKCJjbG9uZSIsNjAwMjQpLGRlc2t0b3BEb3dubG9hZDphKCJkZXNrdG9wLWRvd25sb2FkIiw2MDAyNCksYmVha2VyOmEoImJlYWtlciIsNjAwMjUpLG1pY3Jvc2NvcGU6YSgibWljcm9zY29wZSIsNjAwMjUpLHZtOmEoInZtIiw2MDAyNiksZGV2aWNlRGVza3RvcDphKCJkZXZpY2UtZGVza3RvcCIsNjAwMjYpLGZpbGU6YSgiZmlsZSIsNjAwMjcpLGZpbGVUZXh0OmEoImZpbGUtdGV4dCIsNjAwMjcpLG1vcmU6YSgibW9yZSIsNjAwMjgpLGVsbGlwc2lzOmEoImVsbGlwc2lzIiw2MDAyOCksa2ViYWJIb3Jpem9udGFsOmEoImtlYmFiLWhvcml6b250YWwiLDYwMDI4KSxtYWlsUmVwbHk6YSgibWFpbC1yZXBseSIsNjAwMjkpLHJlcGx5OmEoInJlcGx5Iiw2MDAyOSksb3JnYW5pemF0aW9uOmEoIm9yZ2FuaXphdGlvbiIsNjAwMzApLG9yZ2FuaXphdGlvbkZpbGxlZDphKCJvcmdhbml6YXRpb24tZmlsbGVkIiw2MDAzMCksb3JnYW5pemF0aW9uT3V0bGluZTphKCJvcmdhbml6YXRpb24tb3V0bGluZSIsNjAwMzApLG5ld0ZpbGU6YSgibmV3LWZpbGUiLDYwMDMxKSxmaWxlQWRkOmEoImZpbGUtYWRkIiw2MDAzMSksbmV3Rm9sZGVyOmEoIm5ldy1mb2xkZXIiLDYwMDMyKSxmaWxlRGlyZWN0b3J5Q3JlYXRlOmEoImZpbGUtZGlyZWN0b3J5LWNyZWF0ZSIsNjAwMzIpLHRyYXNoOmEoInRyYXNoIiw2MDAzMyksdHJhc2hjYW46YSgidHJhc2hjYW4iLDYwMDMzKSxoaXN0b3J5OmEoImhpc3RvcnkiLDYwMDM0KSxjbG9jazphKCJjbG9jayIsNjAwMzQpLGZvbGRlcjphKCJmb2xkZXIiLDYwMDM1KSxmaWxlRGlyZWN0b3J5OmEoImZpbGUtZGlyZWN0b3J5Iiw2MDAzNSksc3ltYm9sRm9sZGVyOmEoInN5bWJvbC1mb2xkZXIiLDYwMDM1KSxsb2dvR2l0aHViOmEoImxvZ28tZ2l0aHViIiw2MDAzNiksbWFya0dpdGh1YjphKCJtYXJrLWdpdGh1YiIsNjAwMzYpLGdpdGh1YjphKCJnaXRodWIiLDYwMDM2KSx0ZXJtaW5hbDphKCJ0ZXJtaW5hbCIsNjAwMzcpLGNvbnNvbGU6YSgiY29uc29sZSIsNjAwMzcpLHJlcGw6YSgicmVwbCIsNjAwMzcpLHphcDphKCJ6YXAiLDYwMDM4KSxzeW1ib2xFdmVudDphKCJzeW1ib2wtZXZlbnQiLDYwMDM4KSxlcnJvcjphKCJlcnJvciIsNjAwMzkpLHN0b3A6YSgic3RvcCIsNjAwMzkpLHZhcmlhYmxlOmEoInZhcmlhYmxlIiw2MDA0MCksc3ltYm9sVmFyaWFibGU6YSgic3ltYm9sLXZhcmlhYmxlIiw2MDA0MCksYXJyYXk6YSgiYXJyYXkiLDYwMDQyKSxzeW1ib2xBcnJheTphKCJzeW1ib2wtYXJyYXkiLDYwMDQyKSxzeW1ib2xNb2R1bGU6YSgic3ltYm9sLW1vZHVsZSIsNjAwNDMpLHN5bWJvbFBhY2thZ2U6YSgic3ltYm9sLXBhY2thZ2UiLDYwMDQzKSxzeW1ib2xOYW1lc3BhY2U6YSgic3ltYm9sLW5hbWVzcGFjZSIsNjAwNDMpLHN5bWJvbE9iamVjdDphKCJzeW1ib2wtb2JqZWN0Iiw2MDA0Myksc3ltYm9sTWV0aG9kOmEoInN5bWJvbC1tZXRob2QiLDYwMDQ0KSxzeW1ib2xGdW5jdGlvbjphKCJzeW1ib2wtZnVuY3Rpb24iLDYwMDQ0KSxzeW1ib2xDb25zdHJ1Y3RvcjphKCJzeW1ib2wtY29uc3RydWN0b3IiLDYwMDQ0KSxzeW1ib2xCb29sZWFuOmEoInN5bWJvbC1ib29sZWFuIiw2MDA0Nyksc3ltYm9sTnVsbDphKCJzeW1ib2wtbnVsbCIsNjAwNDcpLHN5bWJvbE51bWVyaWM6YSgic3ltYm9sLW51bWVyaWMiLDYwMDQ4KSxzeW1ib2xOdW1iZXI6YSgic3ltYm9sLW51bWJlciIsNjAwNDgpLHN5bWJvbFN0cnVjdHVyZTphKCJzeW1ib2wtc3RydWN0dXJlIiw2MDA0OSksc3ltYm9sU3RydWN0OmEoInN5bWJvbC1zdHJ1Y3QiLDYwMDQ5KSxzeW1ib2xQYXJhbWV0ZXI6YSgic3ltYm9sLXBhcmFtZXRlciIsNjAwNTApLHN5bWJvbFR5cGVQYXJhbWV0ZXI6YSgic3ltYm9sLXR5cGUtcGFyYW1ldGVyIiw2MDA1MCksc3ltYm9sS2V5OmEoInN5bWJvbC1rZXkiLDYwMDUxKSxzeW1ib2xUZXh0OmEoInN5bWJvbC10ZXh0Iiw2MDA1MSksc3ltYm9sUmVmZXJlbmNlOmEoInN5bWJvbC1yZWZlcmVuY2UiLDYwMDUyKSxnb1RvRmlsZTphKCJnby10by1maWxlIiw2MDA1Miksc3ltYm9sRW51bTphKCJzeW1ib2wtZW51bSIsNjAwNTMpLHN5bWJvbFZhbHVlOmEoInN5bWJvbC12YWx1ZSIsNjAwNTMpLHN5bWJvbFJ1bGVyOmEoInN5bWJvbC1ydWxlciIsNjAwNTQpLHN5bWJvbFVuaXQ6YSgic3ltYm9sLXVuaXQiLDYwMDU0KSxhY3RpdmF0ZUJyZWFrcG9pbnRzOmEoImFjdGl2YXRlLWJyZWFrcG9pbnRzIiw2MDA1NSksYXJjaGl2ZTphKCJhcmNoaXZlIiw2MDA1NiksYXJyb3dCb3RoOmEoImFycm93LWJvdGgiLDYwMDU3KSxhcnJvd0Rvd246YSgiYXJyb3ctZG93biIsNjAwNTgpLGFycm93TGVmdDphKCJhcnJvdy1sZWZ0Iiw2MDA1OSksYXJyb3dSaWdodDphKCJhcnJvdy1yaWdodCIsNjAwNjApLGFycm93U21hbGxEb3duOmEoImFycm93LXNtYWxsLWRvd24iLDYwMDYxKSxhcnJvd1NtYWxsTGVmdDphKCJhcnJvdy1zbWFsbC1sZWZ0Iiw2MDA2MiksYXJyb3dTbWFsbFJpZ2h0OmEoImFycm93LXNtYWxsLXJpZ2h0Iiw2MDA2MyksYXJyb3dTbWFsbFVwOmEoImFycm93LXNtYWxsLXVwIiw2MDA2NCksYXJyb3dVcDphKCJhcnJvdy11cCIsNjAwNjUpLGJlbGw6YSgiYmVsbCIsNjAwNjYpLGJvbGQ6YSgiYm9sZCIsNjAwNjcpLGJvb2s6YSgiYm9vayIsNjAwNjgpLGJvb2ttYXJrOmEoImJvb2ttYXJrIiw2MDA2OSksZGVidWdCcmVha3BvaW50Q29uZGl0aW9uYWxVbnZlcmlmaWVkOmEoImRlYnVnLWJyZWFrcG9pbnQtY29uZGl0aW9uYWwtdW52ZXJpZmllZCIsNjAwNzApLGRlYnVnQnJlYWtwb2ludENvbmRpdGlvbmFsOmEoImRlYnVnLWJyZWFrcG9pbnQtY29uZGl0aW9uYWwiLDYwMDcxKSxkZWJ1Z0JyZWFrcG9pbnRDb25kaXRpb25hbERpc2FibGVkOmEoImRlYnVnLWJyZWFrcG9pbnQtY29uZGl0aW9uYWwtZGlzYWJsZWQiLDYwMDcxKSxkZWJ1Z0JyZWFrcG9pbnREYXRhVW52ZXJpZmllZDphKCJkZWJ1Zy1icmVha3BvaW50LWRhdGEtdW52ZXJpZmllZCIsNjAwNzIpLGRlYnVnQnJlYWtwb2ludERhdGE6YSgiZGVidWctYnJlYWtwb2ludC1kYXRhIiw2MDA3MyksZGVidWdCcmVha3BvaW50RGF0YURpc2FibGVkOmEoImRlYnVnLWJyZWFrcG9pbnQtZGF0YS1kaXNhYmxlZCIsNjAwNzMpLGRlYnVnQnJlYWtwb2ludExvZ1VudmVyaWZpZWQ6YSgiZGVidWctYnJlYWtwb2ludC1sb2ctdW52ZXJpZmllZCIsNjAwNzQpLGRlYnVnQnJlYWtwb2ludExvZzphKCJkZWJ1Zy1icmVha3BvaW50LWxvZyIsNjAwNzUpLGRlYnVnQnJlYWtwb2ludExvZ0Rpc2FibGVkOmEoImRlYnVnLWJyZWFrcG9pbnQtbG9nLWRpc2FibGVkIiw2MDA3NSksYnJpZWZjYXNlOmEoImJyaWVmY2FzZSIsNjAwNzYpLGJyb2FkY2FzdDphKCJicm9hZGNhc3QiLDYwMDc3KSxicm93c2VyOmEoImJyb3dzZXIiLDYwMDc4KSxidWc6YSgiYnVnIiw2MDA3OSksY2FsZW5kYXI6YSgiY2FsZW5kYXIiLDYwMDgwKSxjYXNlU2Vuc2l0aXZlOmEoImNhc2Utc2Vuc2l0aXZlIiw2MDA4MSksY2hlY2s6YSgiY2hlY2siLDYwMDgyKSxjaGVja2xpc3Q6YSgiY2hlY2tsaXN0Iiw2MDA4MyksY2hldnJvbkRvd246YSgiY2hldnJvbi1kb3duIiw2MDA4NCksY2hldnJvbkxlZnQ6YSgiY2hldnJvbi1sZWZ0Iiw2MDA4NSksY2hldnJvblJpZ2h0OmEoImNoZXZyb24tcmlnaHQiLDYwMDg2KSxjaGV2cm9uVXA6YSgiY2hldnJvbi11cCIsNjAwODcpLGNocm9tZUNsb3NlOmEoImNocm9tZS1jbG9zZSIsNjAwODgpLGNocm9tZU1heGltaXplOmEoImNocm9tZS1tYXhpbWl6ZSIsNjAwODkpLGNocm9tZU1pbmltaXplOmEoImNocm9tZS1taW5pbWl6ZSIsNjAwOTApLGNocm9tZVJlc3RvcmU6YSgiY2hyb21lLXJlc3RvcmUiLDYwMDkxKSxjaXJjbGVPdXRsaW5lOmEoImNpcmNsZS1vdXRsaW5lIiw2MDA5MiksY2lyY2xlOmEoImNpcmNsZSIsNjAwOTIpLGRlYnVnQnJlYWtwb2ludFVudmVyaWZpZWQ6YSgiZGVidWctYnJlYWtwb2ludC11bnZlcmlmaWVkIiw2MDA5MiksdGVybWluYWxEZWNvcmF0aW9uSW5jb21wbGV0ZTphKCJ0ZXJtaW5hbC1kZWNvcmF0aW9uLWluY29tcGxldGUiLDYwMDkyKSxjaXJjbGVTbGFzaDphKCJjaXJjbGUtc2xhc2giLDYwMDkzKSxjaXJjdWl0Qm9hcmQ6YSgiY2lyY3VpdC1ib2FyZCIsNjAwOTQpLGNsZWFyQWxsOmEoImNsZWFyLWFsbCIsNjAwOTUpLGNsaXBweTphKCJjbGlwcHkiLDYwMDk2KSxjbG9zZUFsbDphKCJjbG9zZS1hbGwiLDYwMDk3KSxjbG91ZERvd25sb2FkOmEoImNsb3VkLWRvd25sb2FkIiw2MDA5OCksY2xvdWRVcGxvYWQ6YSgiY2xvdWQtdXBsb2FkIiw2MDA5OSksY29kZTphKCJjb2RlIiw2MDEwMCksY29sbGFwc2VBbGw6YSgiY29sbGFwc2UtYWxsIiw2MDEwMSksY29sb3JNb2RlOmEoImNvbG9yLW1vZGUiLDYwMTAyKSxjb21tZW50RGlzY3Vzc2lvbjphKCJjb21tZW50LWRpc2N1c3Npb24iLDYwMTAzKSxjcmVkaXRDYXJkOmEoImNyZWRpdC1jYXJkIiw2MDEwNSksZGFzaDphKCJkYXNoIiw2MDEwOCksZGFzaGJvYXJkOmEoImRhc2hib2FyZCIsNjAxMDkpLGRhdGFiYXNlOmEoImRhdGFiYXNlIiw2MDExMCksZGVidWdDb250aW51ZTphKCJkZWJ1Zy1jb250aW51ZSIsNjAxMTEpLGRlYnVnRGlzY29ubmVjdDphKCJkZWJ1Zy1kaXNjb25uZWN0Iiw2MDExMiksZGVidWdQYXVzZTphKCJkZWJ1Zy1wYXVzZSIsNjAxMTMpLGRlYnVnUmVzdGFydDphKCJkZWJ1Zy1yZXN0YXJ0Iiw2MDExNCksZGVidWdTdGFydDphKCJkZWJ1Zy1zdGFydCIsNjAxMTUpLGRlYnVnU3RlcEludG86YSgiZGVidWctc3RlcC1pbnRvIiw2MDExNiksZGVidWdTdGVwT3V0OmEoImRlYnVnLXN0ZXAtb3V0Iiw2MDExNyksZGVidWdTdGVwT3ZlcjphKCJkZWJ1Zy1zdGVwLW92ZXIiLDYwMTE4KSxkZWJ1Z1N0b3A6YSgiZGVidWctc3RvcCIsNjAxMTkpLGRlYnVnOmEoImRlYnVnIiw2MDEyMCksZGV2aWNlQ2FtZXJhVmlkZW86YSgiZGV2aWNlLWNhbWVyYS12aWRlbyIsNjAxMjEpLGRldmljZUNhbWVyYTphKCJkZXZpY2UtY2FtZXJhIiw2MDEyMiksZGV2aWNlTW9iaWxlOmEoImRldmljZS1tb2JpbGUiLDYwMTIzKSxkaWZmQWRkZWQ6YSgiZGlmZi1hZGRlZCIsNjAxMjQpLGRpZmZJZ25vcmVkOmEoImRpZmYtaWdub3JlZCIsNjAxMjUpLGRpZmZNb2RpZmllZDphKCJkaWZmLW1vZGlmaWVkIiw2MDEyNiksZGlmZlJlbW92ZWQ6YSgiZGlmZi1yZW1vdmVkIiw2MDEyNyksZGlmZlJlbmFtZWQ6YSgiZGlmZi1yZW5hbWVkIiw2MDEyOCksZGlmZjphKCJkaWZmIiw2MDEyOSksZGlmZlNpZGVieXNpZGU6YSgiZGlmZi1zaWRlYnlzaWRlIiw2MDEyOSksZGlzY2FyZDphKCJkaXNjYXJkIiw2MDEzMCksZWRpdG9yTGF5b3V0OmEoImVkaXRvci1sYXlvdXQiLDYwMTMxKSxlbXB0eVdpbmRvdzphKCJlbXB0eS13aW5kb3ciLDYwMTMyKSxleGNsdWRlOmEoImV4Y2x1ZGUiLDYwMTMzKSxleHRlbnNpb25zOmEoImV4dGVuc2lvbnMiLDYwMTM0KSxleWVDbG9zZWQ6YSgiZXllLWNsb3NlZCIsNjAxMzUpLGZpbGVCaW5hcnk6YSgiZmlsZS1iaW5hcnkiLDYwMTM2KSxmaWxlQ29kZTphKCJmaWxlLWNvZGUiLDYwMTM3KSxmaWxlTWVkaWE6YSgiZmlsZS1tZWRpYSIsNjAxMzgpLGZpbGVQZGY6YSgiZmlsZS1wZGYiLDYwMTM5KSxmaWxlU3VibW9kdWxlOmEoImZpbGUtc3VibW9kdWxlIiw2MDE0MCksZmlsZVN5bWxpbmtEaXJlY3Rvcnk6YSgiZmlsZS1zeW1saW5rLWRpcmVjdG9yeSIsNjAxNDEpLGZpbGVTeW1saW5rRmlsZTphKCJmaWxlLXN5bWxpbmstZmlsZSIsNjAxNDIpLGZpbGVaaXA6YSgiZmlsZS16aXAiLDYwMTQzKSxmaWxlczphKCJmaWxlcyIsNjAxNDQpLGZpbHRlcjphKCJmaWx0ZXIiLDYwMTQ1KSxmbGFtZTphKCJmbGFtZSIsNjAxNDYpLGZvbGREb3duOmEoImZvbGQtZG93biIsNjAxNDcpLGZvbGRVcDphKCJmb2xkLXVwIiw2MDE0OCksZm9sZDphKCJmb2xkIiw2MDE0OSksZm9sZGVyQWN0aXZlOmEoImZvbGRlci1hY3RpdmUiLDYwMTUwKSxmb2xkZXJPcGVuZWQ6YSgiZm9sZGVyLW9wZW5lZCIsNjAxNTEpLGdlYXI6YSgiZ2VhciIsNjAxNTIpLGdpZnQ6YSgiZ2lmdCIsNjAxNTMpLGdpc3RTZWNyZXQ6YSgiZ2lzdC1zZWNyZXQiLDYwMTU0KSxnaXN0OmEoImdpc3QiLDYwMTU1KSxnaXRDb21taXQ6YSgiZ2l0LWNvbW1pdCIsNjAxNTYpLGdpdENvbXBhcmU6YSgiZ2l0LWNvbXBhcmUiLDYwMTU3KSxjb21wYXJlQ2hhbmdlczphKCJjb21wYXJlLWNoYW5nZXMiLDYwMTU3KSxnaXRNZXJnZTphKCJnaXQtbWVyZ2UiLDYwMTU4KSxnaXRodWJBY3Rpb246YSgiZ2l0aHViLWFjdGlvbiIsNjAxNTkpLGdpdGh1YkFsdDphKCJnaXRodWItYWx0Iiw2MDE2MCksZ2xvYmU6YSgiZ2xvYmUiLDYwMTYxKSxncmFiYmVyOmEoImdyYWJiZXIiLDYwMTYyKSxncmFwaDphKCJncmFwaCIsNjAxNjMpLGdyaXBwZXI6YSgiZ3JpcHBlciIsNjAxNjQpLGhlYXJ0OmEoImhlYXJ0Iiw2MDE2NSksaG9tZTphKCJob21lIiw2MDE2NiksaG9yaXpvbnRhbFJ1bGU6YSgiaG9yaXpvbnRhbC1ydWxlIiw2MDE2NyksaHVib3Q6YSgiaHVib3QiLDYwMTY4KSxpbmJveDphKCJpbmJveCIsNjAxNjkpLGlzc3VlUmVvcGVuZWQ6YSgiaXNzdWUtcmVvcGVuZWQiLDYwMTcxKSxpc3N1ZXM6YSgiaXNzdWVzIiw2MDE3MiksaXRhbGljOmEoIml0YWxpYyIsNjAxNzMpLGplcnNleTphKCJqZXJzZXkiLDYwMTc0KSxqc29uOmEoImpzb24iLDYwMTc1KSxrZWJhYlZlcnRpY2FsOmEoImtlYmFiLXZlcnRpY2FsIiw2MDE3Niksa2V5OmEoImtleSIsNjAxNzcpLGxhdzphKCJsYXciLDYwMTc4KSxsaWdodGJ1bGJBdXRvZml4OmEoImxpZ2h0YnVsYi1hdXRvZml4Iiw2MDE3OSksbGlua0V4dGVybmFsOmEoImxpbmstZXh0ZXJuYWwiLDYwMTgwKSxsaW5rOmEoImxpbmsiLDYwMTgxKSxsaXN0T3JkZXJlZDphKCJsaXN0LW9yZGVyZWQiLDYwMTgyKSxsaXN0VW5vcmRlcmVkOmEoImxpc3QtdW5vcmRlcmVkIiw2MDE4MyksbGl2ZVNoYXJlOmEoImxpdmUtc2hhcmUiLDYwMTg0KSxsb2FkaW5nOmEoImxvYWRpbmciLDYwMTg1KSxsb2NhdGlvbjphKCJsb2NhdGlvbiIsNjAxODYpLG1haWxSZWFkOmEoIm1haWwtcmVhZCIsNjAxODcpLG1haWw6YSgibWFpbCIsNjAxODgpLG1hcmtkb3duOmEoIm1hcmtkb3duIiw2MDE4OSksbWVnYXBob25lOmEoIm1lZ2FwaG9uZSIsNjAxOTApLG1lbnRpb246YSgibWVudGlvbiIsNjAxOTEpLG1pbGVzdG9uZTphKCJtaWxlc3RvbmUiLDYwMTkyKSxnaXRQdWxsUmVxdWVzdE1pbGVzdG9uZTphKCJnaXQtcHVsbC1yZXF1ZXN0LW1pbGVzdG9uZSIsNjAxOTIpLG1vcnRhckJvYXJkOmEoIm1vcnRhci1ib2FyZCIsNjAxOTMpLG1vdmU6YSgibW92ZSIsNjAxOTQpLG11bHRpcGxlV2luZG93czphKCJtdWx0aXBsZS13aW5kb3dzIiw2MDE5NSksbXV0ZTphKCJtdXRlIiw2MDE5Niksbm9OZXdsaW5lOmEoIm5vLW5ld2xpbmUiLDYwMTk3KSxub3RlOmEoIm5vdGUiLDYwMTk4KSxvY3RvZmFjZTphKCJvY3RvZmFjZSIsNjAxOTkpLG9wZW5QcmV2aWV3OmEoIm9wZW4tcHJldmlldyIsNjAyMDApLHBhY2thZ2U6YSgicGFja2FnZSIsNjAyMDEpLHBhaW50Y2FuOmEoInBhaW50Y2FuIiw2MDIwMikscGluOmEoInBpbiIsNjAyMDMpLHBsYXk6YSgicGxheSIsNjAyMDQpLHJ1bjphKCJydW4iLDYwMjA0KSxwbHVnOmEoInBsdWciLDYwMjA1KSxwcmVzZXJ2ZUNhc2U6YSgicHJlc2VydmUtY2FzZSIsNjAyMDYpLHByZXZpZXc6YSgicHJldmlldyIsNjAyMDcpLHByb2plY3Q6YSgicHJvamVjdCIsNjAyMDgpLHB1bHNlOmEoInB1bHNlIiw2MDIwOSkscXVlc3Rpb246YSgicXVlc3Rpb24iLDYwMjEwKSxxdW90ZTphKCJxdW90ZSIsNjAyMTEpLHJhZGlvVG93ZXI6YSgicmFkaW8tdG93ZXIiLDYwMjEyKSxyZWFjdGlvbnM6YSgicmVhY3Rpb25zIiw2MDIxMykscmVmZXJlbmNlczphKCJyZWZlcmVuY2VzIiw2MDIxNCkscmVmcmVzaDphKCJyZWZyZXNoIiw2MDIxNSkscmVnZXg6YSgicmVnZXgiLDYwMjE2KSxyZW1vdGVFeHBsb3JlcjphKCJyZW1vdGUtZXhwbG9yZXIiLDYwMjE3KSxyZW1vdGU6YSgicmVtb3RlIiw2MDIxOCkscmVtb3ZlOmEoInJlbW92ZSIsNjAyMTkpLHJlcGxhY2VBbGw6YSgicmVwbGFjZS1hbGwiLDYwMjIwKSxyZXBsYWNlOmEoInJlcGxhY2UiLDYwMjIxKSxyZXBvQ2xvbmU6YSgicmVwby1jbG9uZSIsNjAyMjIpLHJlcG9Gb3JjZVB1c2g6YSgicmVwby1mb3JjZS1wdXNoIiw2MDIyMykscmVwb1B1bGw6YSgicmVwby1wdWxsIiw2MDIyNCkscmVwb1B1c2g6YSgicmVwby1wdXNoIiw2MDIyNSkscmVwb3J0OmEoInJlcG9ydCIsNjAyMjYpLHJlcXVlc3RDaGFuZ2VzOmEoInJlcXVlc3QtY2hhbmdlcyIsNjAyMjcpLHJvY2tldDphKCJyb2NrZXQiLDYwMjI4KSxyb290Rm9sZGVyT3BlbmVkOmEoInJvb3QtZm9sZGVyLW9wZW5lZCIsNjAyMjkpLHJvb3RGb2xkZXI6YSgicm9vdC1mb2xkZXIiLDYwMjMwKSxyc3M6YSgicnNzIiw2MDIzMSkscnVieTphKCJydWJ5Iiw2MDIzMiksc2F2ZUFsbDphKCJzYXZlLWFsbCIsNjAyMzMpLHNhdmVBczphKCJzYXZlLWFzIiw2MDIzNCksc2F2ZTphKCJzYXZlIiw2MDIzNSksc2NyZWVuRnVsbDphKCJzY3JlZW4tZnVsbCIsNjAyMzYpLHNjcmVlbk5vcm1hbDphKCJzY3JlZW4tbm9ybWFsIiw2MDIzNyksc2VhcmNoU3RvcDphKCJzZWFyY2gtc3RvcCIsNjAyMzgpLHNlcnZlcjphKCJzZXJ2ZXIiLDYwMjQwKSxzZXR0aW5nc0dlYXI6YSgic2V0dGluZ3MtZ2VhciIsNjAyNDEpLHNldHRpbmdzOmEoInNldHRpbmdzIiw2MDI0Miksc2hpZWxkOmEoInNoaWVsZCIsNjAyNDMpLHNtaWxleTphKCJzbWlsZXkiLDYwMjQ0KSxzb3J0UHJlY2VkZW5jZTphKCJzb3J0LXByZWNlZGVuY2UiLDYwMjQ1KSxzcGxpdEhvcml6b250YWw6YSgic3BsaXQtaG9yaXpvbnRhbCIsNjAyNDYpLHNwbGl0VmVydGljYWw6YSgic3BsaXQtdmVydGljYWwiLDYwMjQ3KSxzcXVpcnJlbDphKCJzcXVpcnJlbCIsNjAyNDgpLHN0YXJGdWxsOmEoInN0YXItZnVsbCIsNjAyNDkpLHN0YXJIYWxmOmEoInN0YXItaGFsZiIsNjAyNTApLHN5bWJvbENsYXNzOmEoInN5bWJvbC1jbGFzcyIsNjAyNTEpLHN5bWJvbENvbG9yOmEoInN5bWJvbC1jb2xvciIsNjAyNTIpLHN5bWJvbENvbnN0YW50OmEoInN5bWJvbC1jb25zdGFudCIsNjAyNTMpLHN5bWJvbEVudW1NZW1iZXI6YSgic3ltYm9sLWVudW0tbWVtYmVyIiw2MDI1NCksc3ltYm9sRmllbGQ6YSgic3ltYm9sLWZpZWxkIiw2MDI1NSksc3ltYm9sRmlsZTphKCJzeW1ib2wtZmlsZSIsNjAyNTYpLHN5bWJvbEludGVyZmFjZTphKCJzeW1ib2wtaW50ZXJmYWNlIiw2MDI1Nyksc3ltYm9sS2V5d29yZDphKCJzeW1ib2wta2V5d29yZCIsNjAyNTgpLHN5bWJvbE1pc2M6YSgic3ltYm9sLW1pc2MiLDYwMjU5KSxzeW1ib2xPcGVyYXRvcjphKCJzeW1ib2wtb3BlcmF0b3IiLDYwMjYwKSxzeW1ib2xQcm9wZXJ0eTphKCJzeW1ib2wtcHJvcGVydHkiLDYwMjYxKSx3cmVuY2g6YSgid3JlbmNoIiw2MDI2MSksd3JlbmNoU3ViYWN0aW9uOmEoIndyZW5jaC1zdWJhY3Rpb24iLDYwMjYxKSxzeW1ib2xTbmlwcGV0OmEoInN5bWJvbC1zbmlwcGV0Iiw2MDI2MiksdGFza2xpc3Q6YSgidGFza2xpc3QiLDYwMjYzKSx0ZWxlc2NvcGU6YSgidGVsZXNjb3BlIiw2MDI2NCksdGV4dFNpemU6YSgidGV4dC1zaXplIiw2MDI2NSksdGhyZWVCYXJzOmEoInRocmVlLWJhcnMiLDYwMjY2KSx0aHVtYnNkb3duOmEoInRodW1ic2Rvd24iLDYwMjY3KSx0aHVtYnN1cDphKCJ0aHVtYnN1cCIsNjAyNjgpLHRvb2xzOmEoInRvb2xzIiw2MDI2OSksdHJpYW5nbGVEb3duOmEoInRyaWFuZ2xlLWRvd24iLDYwMjcwKSx0cmlhbmdsZUxlZnQ6YSgidHJpYW5nbGUtbGVmdCIsNjAyNzEpLHRyaWFuZ2xlUmlnaHQ6YSgidHJpYW5nbGUtcmlnaHQiLDYwMjcyKSx0cmlhbmdsZVVwOmEoInRyaWFuZ2xlLXVwIiw2MDI3MyksdHdpdHRlcjphKCJ0d2l0dGVyIiw2MDI3NCksdW5mb2xkOmEoInVuZm9sZCIsNjAyNzUpLHVubG9jazphKCJ1bmxvY2siLDYwMjc2KSx1bm11dGU6YSgidW5tdXRlIiw2MDI3NyksdW52ZXJpZmllZDphKCJ1bnZlcmlmaWVkIiw2MDI3OCksdmVyaWZpZWQ6YSgidmVyaWZpZWQiLDYwMjc5KSx2ZXJzaW9uczphKCJ2ZXJzaW9ucyIsNjAyODApLHZtQWN0aXZlOmEoInZtLWFjdGl2ZSIsNjAyODEpLHZtT3V0bGluZTphKCJ2bS1vdXRsaW5lIiw2MDI4Miksdm1SdW5uaW5nOmEoInZtLXJ1bm5pbmciLDYwMjgzKSx3YXRjaDphKCJ3YXRjaCIsNjAyODQpLHdoaXRlc3BhY2U6YSgid2hpdGVzcGFjZSIsNjAyODUpLHdob2xlV29yZDphKCJ3aG9sZS13b3JkIiw2MDI4Niksd2luZG93OmEoIndpbmRvdyIsNjAyODcpLHdvcmRXcmFwOmEoIndvcmQtd3JhcCIsNjAyODgpLHpvb21JbjphKCJ6b29tLWluIiw2MDI4OSksem9vbU91dDphKCJ6b29tLW91dCIsNjAyOTApLGxpc3RGaWx0ZXI6YSgibGlzdC1maWx0ZXIiLDYwMjkxKSxsaXN0RmxhdDphKCJsaXN0LWZsYXQiLDYwMjkyKSxsaXN0U2VsZWN0aW9uOmEoImxpc3Qtc2VsZWN0aW9uIiw2MDI5Myksc2VsZWN0aW9uOmEoInNlbGVjdGlvbiIsNjAyOTMpLGxpc3RUcmVlOmEoImxpc3QtdHJlZSIsNjAyOTQpLGRlYnVnQnJlYWtwb2ludEZ1bmN0aW9uVW52ZXJpZmllZDphKCJkZWJ1Zy1icmVha3BvaW50LWZ1bmN0aW9uLXVudmVyaWZpZWQiLDYwMjk1KSxkZWJ1Z0JyZWFrcG9pbnRGdW5jdGlvbjphKCJkZWJ1Zy1icmVha3BvaW50LWZ1bmN0aW9uIiw2MDI5NiksZGVidWdCcmVha3BvaW50RnVuY3Rpb25EaXNhYmxlZDphKCJkZWJ1Zy1icmVha3BvaW50LWZ1bmN0aW9uLWRpc2FibGVkIiw2MDI5NiksZGVidWdTdGFja2ZyYW1lQWN0aXZlOmEoImRlYnVnLXN0YWNrZnJhbWUtYWN0aXZlIiw2MDI5NyksY2lyY2xlU21hbGxGaWxsZWQ6YSgiY2lyY2xlLXNtYWxsLWZpbGxlZCIsNjAyOTgpLGRlYnVnU3RhY2tmcmFtZURvdDphKCJkZWJ1Zy1zdGFja2ZyYW1lLWRvdCIsNjAyOTgpLHRlcm1pbmFsRGVjb3JhdGlvbk1hcms6YSgidGVybWluYWwtZGVjb3JhdGlvbi1tYXJrIiw2MDI5OCksZGVidWdTdGFja2ZyYW1lOmEoImRlYnVnLXN0YWNrZnJhbWUiLDYwMjk5KSxkZWJ1Z1N0YWNrZnJhbWVGb2N1c2VkOmEoImRlYnVnLXN0YWNrZnJhbWUtZm9jdXNlZCIsNjAyOTkpLGRlYnVnQnJlYWtwb2ludFVuc3VwcG9ydGVkOmEoImRlYnVnLWJyZWFrcG9pbnQtdW5zdXBwb3J0ZWQiLDYwMzAwKSxzeW1ib2xTdHJpbmc6YSgic3ltYm9sLXN0cmluZyIsNjAzMDEpLGRlYnVnUmV2ZXJzZUNvbnRpbnVlOmEoImRlYnVnLXJldmVyc2UtY29udGludWUiLDYwMzAyKSxkZWJ1Z1N0ZXBCYWNrOmEoImRlYnVnLXN0ZXAtYmFjayIsNjAzMDMpLGRlYnVnUmVzdGFydEZyYW1lOmEoImRlYnVnLXJlc3RhcnQtZnJhbWUiLDYwMzA0KSxkZWJ1Z0FsdDphKCJkZWJ1Zy1hbHQiLDYwMzA1KSxjYWxsSW5jb21pbmc6YSgiY2FsbC1pbmNvbWluZyIsNjAzMDYpLGNhbGxPdXRnb2luZzphKCJjYWxsLW91dGdvaW5nIiw2MDMwNyksbWVudTphKCJtZW51Iiw2MDMwOCksZXhwYW5kQWxsOmEoImV4cGFuZC1hbGwiLDYwMzA5KSxmZWVkYmFjazphKCJmZWVkYmFjayIsNjAzMTApLGdpdFB1bGxSZXF1ZXN0UmV2aWV3ZXI6YSgiZ2l0LXB1bGwtcmVxdWVzdC1yZXZpZXdlciIsNjAzMTApLGdyb3VwQnlSZWZUeXBlOmEoImdyb3VwLWJ5LXJlZi10eXBlIiw2MDMxMSksdW5ncm91cEJ5UmVmVHlwZTphKCJ1bmdyb3VwLWJ5LXJlZi10eXBlIiw2MDMxMiksYWNjb3VudDphKCJhY2NvdW50Iiw2MDMxMyksZ2l0UHVsbFJlcXVlc3RBc3NpZ25lZTphKCJnaXQtcHVsbC1yZXF1ZXN0LWFzc2lnbmVlIiw2MDMxMyksYmVsbERvdDphKCJiZWxsLWRvdCIsNjAzMTQpLGRlYnVnQ29uc29sZTphKCJkZWJ1Zy1jb25zb2xlIiw2MDMxNSksbGlicmFyeTphKCJsaWJyYXJ5Iiw2MDMxNiksb3V0cHV0OmEoIm91dHB1dCIsNjAzMTcpLHJ1bkFsbDphKCJydW4tYWxsIiw2MDMxOCksc3luY0lnbm9yZWQ6YSgic3luYy1pZ25vcmVkIiw2MDMxOSkscGlubmVkOmEoInBpbm5lZCIsNjAzMjApLGdpdGh1YkludmVydGVkOmEoImdpdGh1Yi1pbnZlcnRlZCIsNjAzMjEpLHNlcnZlclByb2Nlc3M6YSgic2VydmVyLXByb2Nlc3MiLDYwMzIyKSxzZXJ2ZXJFbnZpcm9ubWVudDphKCJzZXJ2ZXItZW52aXJvbm1lbnQiLDYwMzIzKSxwYXNzOmEoInBhc3MiLDYwMzI0KSxpc3N1ZUNsb3NlZDphKCJpc3N1ZS1jbG9zZWQiLDYwMzI0KSxzdG9wQ2lyY2xlOmEoInN0b3AtY2lyY2xlIiw2MDMyNSkscGxheUNpcmNsZTphKCJwbGF5LWNpcmNsZSIsNjAzMjYpLHJlY29yZDphKCJyZWNvcmQiLDYwMzI3KSxkZWJ1Z0FsdFNtYWxsOmEoImRlYnVnLWFsdC1zbWFsbCIsNjAzMjgpLHZtQ29ubmVjdDphKCJ2bS1jb25uZWN0Iiw2MDMyOSksY2xvdWQ6YSgiY2xvdWQiLDYwMzMwKSxtZXJnZTphKCJtZXJnZSIsNjAzMzEpLGV4cG9ydDphKCJleHBvcnQiLDYwMzMyKSxncmFwaExlZnQ6YSgiZ3JhcGgtbGVmdCIsNjAzMzMpLG1hZ25ldDphKCJtYWduZXQiLDYwMzM0KSxub3RlYm9vazphKCJub3RlYm9vayIsNjAzMzUpLHJlZG86YSgicmVkbyIsNjAzMzYpLGNoZWNrQWxsOmEoImNoZWNrLWFsbCIsNjAzMzcpLHBpbm5lZERpcnR5OmEoInBpbm5lZC1kaXJ0eSIsNjAzMzgpLHBhc3NGaWxsZWQ6YSgicGFzcy1maWxsZWQiLDYwMzM5KSxjaXJjbGVMYXJnZUZpbGxlZDphKCJjaXJjbGUtbGFyZ2UtZmlsbGVkIiw2MDM0MCksY2lyY2xlTGFyZ2U6YSgiY2lyY2xlLWxhcmdlIiw2MDM0MSksY2lyY2xlTGFyZ2VPdXRsaW5lOmEoImNpcmNsZS1sYXJnZS1vdXRsaW5lIiw2MDM0MSksY29tYmluZTphKCJjb21iaW5lIiw2MDM0MiksZ2F0aGVyOmEoImdhdGhlciIsNjAzNDIpLHRhYmxlOmEoInRhYmxlIiw2MDM0MyksdmFyaWFibGVHcm91cDphKCJ2YXJpYWJsZS1ncm91cCIsNjAzNDQpLHR5cGVIaWVyYXJjaHk6YSgidHlwZS1oaWVyYXJjaHkiLDYwMzQ1KSx0eXBlSGllcmFyY2h5U3ViOmEoInR5cGUtaGllcmFyY2h5LXN1YiIsNjAzNDYpLHR5cGVIaWVyYXJjaHlTdXBlcjphKCJ0eXBlLWhpZXJhcmNoeS1zdXBlciIsNjAzNDcpLGdpdFB1bGxSZXF1ZXN0Q3JlYXRlOmEoImdpdC1wdWxsLXJlcXVlc3QtY3JlYXRlIiw2MDM0OCkscnVuQWJvdmU6YSgicnVuLWFib3ZlIiw2MDM0OSkscnVuQmVsb3c6YSgicnVuLWJlbG93Iiw2MDM1MCksbm90ZWJvb2tUZW1wbGF0ZTphKCJub3RlYm9vay10ZW1wbGF0ZSIsNjAzNTEpLGRlYnVnUmVydW46YSgiZGVidWctcmVydW4iLDYwMzUyKSx3b3Jrc3BhY2VUcnVzdGVkOmEoIndvcmtzcGFjZS10cnVzdGVkIiw2MDM1Myksd29ya3NwYWNlVW50cnVzdGVkOmEoIndvcmtzcGFjZS11bnRydXN0ZWQiLDYwMzU0KSx3b3Jrc3BhY2VVbmtub3duOmEoIndvcmtzcGFjZS11bmtub3duIiw2MDM1NSksdGVybWluYWxDbWQ6YSgidGVybWluYWwtY21kIiw2MDM1NiksdGVybWluYWxEZWJpYW46YSgidGVybWluYWwtZGViaWFuIiw2MDM1NyksdGVybWluYWxMaW51eDphKCJ0ZXJtaW5hbC1saW51eCIsNjAzNTgpLHRlcm1pbmFsUG93ZXJzaGVsbDphKCJ0ZXJtaW5hbC1wb3dlcnNoZWxsIiw2MDM1OSksdGVybWluYWxUbXV4OmEoInRlcm1pbmFsLXRtdXgiLDYwMzYwKSx0ZXJtaW5hbFVidW50dTphKCJ0ZXJtaW5hbC11YnVudHUiLDYwMzYxKSx0ZXJtaW5hbEJhc2g6YSgidGVybWluYWwtYmFzaCIsNjAzNjIpLGFycm93U3dhcDphKCJhcnJvdy1zd2FwIiw2MDM2MyksY29weTphKCJjb3B5Iiw2MDM2NCkscGVyc29uQWRkOmEoInBlcnNvbi1hZGQiLDYwMzY1KSxmaWx0ZXJGaWxsZWQ6YSgiZmlsdGVyLWZpbGxlZCIsNjAzNjYpLHdhbmQ6YSgid2FuZCIsNjAzNjcpLGRlYnVnTGluZUJ5TGluZTphKCJkZWJ1Zy1saW5lLWJ5LWxpbmUiLDYwMzY4KSxpbnNwZWN0OmEoImluc3BlY3QiLDYwMzY5KSxsYXllcnM6YSgibGF5ZXJzIiw2MDM3MCksbGF5ZXJzRG90OmEoImxheWVycy1kb3QiLDYwMzcxKSxsYXllcnNBY3RpdmU6YSgibGF5ZXJzLWFjdGl2ZSIsNjAzNzIpLGNvbXBhc3M6YSgiY29tcGFzcyIsNjAzNzMpLGNvbXBhc3NEb3Q6YSgiY29tcGFzcy1kb3QiLDYwMzc0KSxjb21wYXNzQWN0aXZlOmEoImNvbXBhc3MtYWN0aXZlIiw2MDM3NSksYXp1cmU6YSgiYXp1cmUiLDYwMzc2KSxpc3N1ZURyYWZ0OmEoImlzc3VlLWRyYWZ0Iiw2MDM3NyksZ2l0UHVsbFJlcXVlc3RDbG9zZWQ6YSgiZ2l0LXB1bGwtcmVxdWVzdC1jbG9zZWQiLDYwMzc4KSxnaXRQdWxsUmVxdWVzdERyYWZ0OmEoImdpdC1wdWxsLXJlcXVlc3QtZHJhZnQiLDYwMzc5KSxkZWJ1Z0FsbDphKCJkZWJ1Zy1hbGwiLDYwMzgwKSxkZWJ1Z0NvdmVyYWdlOmEoImRlYnVnLWNvdmVyYWdlIiw2MDM4MSkscnVuRXJyb3JzOmEoInJ1bi1lcnJvcnMiLDYwMzgyKSxmb2xkZXJMaWJyYXJ5OmEoImZvbGRlci1saWJyYXJ5Iiw2MDM4MyksZGVidWdDb250aW51ZVNtYWxsOmEoImRlYnVnLWNvbnRpbnVlLXNtYWxsIiw2MDM4NCksYmVha2VyU3RvcDphKCJiZWFrZXItc3RvcCIsNjAzODUpLGdyYXBoTGluZTphKCJncmFwaC1saW5lIiw2MDM4NiksZ3JhcGhTY2F0dGVyOmEoImdyYXBoLXNjYXR0ZXIiLDYwMzg3KSxwaWVDaGFydDphKCJwaWUtY2hhcnQiLDYwMzg4KSxicmFja2V0OmEoImJyYWNrZXQiLDYwMTc1KSxicmFja2V0RG90OmEoImJyYWNrZXQtZG90Iiw2MDM4OSksYnJhY2tldEVycm9yOmEoImJyYWNrZXQtZXJyb3IiLDYwMzkwKSxsb2NrU21hbGw6YSgibG9jay1zbWFsbCIsNjAzOTEpLGF6dXJlRGV2b3BzOmEoImF6dXJlLWRldm9wcyIsNjAzOTIpLHZlcmlmaWVkRmlsbGVkOmEoInZlcmlmaWVkLWZpbGxlZCIsNjAzOTMpLG5ld2xpbmU6YSgibmV3bGluZSIsNjAzOTQpLGxheW91dDphKCJsYXlvdXQiLDYwMzk1KSxsYXlvdXRBY3Rpdml0eWJhckxlZnQ6YSgibGF5b3V0LWFjdGl2aXR5YmFyLWxlZnQiLDYwMzk2KSxsYXlvdXRBY3Rpdml0eWJhclJpZ2h0OmEoImxheW91dC1hY3Rpdml0eWJhci1yaWdodCIsNjAzOTcpLGxheW91dFBhbmVsTGVmdDphKCJsYXlvdXQtcGFuZWwtbGVmdCIsNjAzOTgpLGxheW91dFBhbmVsQ2VudGVyOmEoImxheW91dC1wYW5lbC1jZW50ZXIiLDYwMzk5KSxsYXlvdXRQYW5lbEp1c3RpZnk6YSgibGF5b3V0LXBhbmVsLWp1c3RpZnkiLDYwNDAwKSxsYXlvdXRQYW5lbFJpZ2h0OmEoImxheW91dC1wYW5lbC1yaWdodCIsNjA0MDEpLGxheW91dFBhbmVsOmEoImxheW91dC1wYW5lbCIsNjA0MDIpLGxheW91dFNpZGViYXJMZWZ0OmEoImxheW91dC1zaWRlYmFyLWxlZnQiLDYwNDAzKSxsYXlvdXRTaWRlYmFyUmlnaHQ6YSgibGF5b3V0LXNpZGViYXItcmlnaHQiLDYwNDA0KSxsYXlvdXRTdGF0dXNiYXI6YSgibGF5b3V0LXN0YXR1c2JhciIsNjA0MDUpLGxheW91dE1lbnViYXI6YSgibGF5b3V0LW1lbnViYXIiLDYwNDA2KSxsYXlvdXRDZW50ZXJlZDphKCJsYXlvdXQtY2VudGVyZWQiLDYwNDA3KSx0YXJnZXQ6YSgidGFyZ2V0Iiw2MDQwOCksaW5kZW50OmEoImluZGVudCIsNjA0MDkpLHJlY29yZFNtYWxsOmEoInJlY29yZC1zbWFsbCIsNjA0MTApLGVycm9yU21hbGw6YSgiZXJyb3Itc21hbGwiLDYwNDExKSx0ZXJtaW5hbERlY29yYXRpb25FcnJvcjphKCJ0ZXJtaW5hbC1kZWNvcmF0aW9uLWVycm9yIiw2MDQxMSksYXJyb3dDaXJjbGVEb3duOmEoImFycm93LWNpcmNsZS1kb3duIiw2MDQxMiksYXJyb3dDaXJjbGVMZWZ0OmEoImFycm93LWNpcmNsZS1sZWZ0Iiw2MDQxMyksYXJyb3dDaXJjbGVSaWdodDphKCJhcnJvdy1jaXJjbGUtcmlnaHQiLDYwNDE0KSxhcnJvd0NpcmNsZVVwOmEoImFycm93LWNpcmNsZS11cCIsNjA0MTUpLGxheW91dFNpZGViYXJSaWdodE9mZjphKCJsYXlvdXQtc2lkZWJhci1yaWdodC1vZmYiLDYwNDE2KSxsYXlvdXRQYW5lbE9mZjphKCJsYXlvdXQtcGFuZWwtb2ZmIiw2MDQxNyksbGF5b3V0U2lkZWJhckxlZnRPZmY6YSgibGF5b3V0LXNpZGViYXItbGVmdC1vZmYiLDYwNDE4KSxibGFuazphKCJibGFuayIsNjA0MTkpLGhlYXJ0RmlsbGVkOmEoImhlYXJ0LWZpbGxlZCIsNjA0MjApLG1hcDphKCJtYXAiLDYwNDIxKSxtYXBIb3Jpem9udGFsOmEoIm1hcC1ob3Jpem9udGFsIiw2MDQyMSksZm9sZEhvcml6b250YWw6YSgiZm9sZC1ob3Jpem9udGFsIiw2MDQyMSksbWFwRmlsbGVkOmEoIm1hcC1maWxsZWQiLDYwNDIyKSxtYXBIb3Jpem9udGFsRmlsbGVkOmEoIm1hcC1ob3Jpem9udGFsLWZpbGxlZCIsNjA0MjIpLGZvbGRIb3Jpem9udGFsRmlsbGVkOmEoImZvbGQtaG9yaXpvbnRhbC1maWxsZWQiLDYwNDIyKSxjaXJjbGVTbWFsbDphKCJjaXJjbGUtc21hbGwiLDYwNDIzKSxiZWxsU2xhc2g6YSgiYmVsbC1zbGFzaCIsNjA0MjQpLGJlbGxTbGFzaERvdDphKCJiZWxsLXNsYXNoLWRvdCIsNjA0MjUpLGNvbW1lbnRVbnJlc29sdmVkOmEoImNvbW1lbnQtdW5yZXNvbHZlZCIsNjA0MjYpLGdpdFB1bGxSZXF1ZXN0R29Ub0NoYW5nZXM6YSgiZ2l0LXB1bGwtcmVxdWVzdC1nby10by1jaGFuZ2VzIiw2MDQyNyksZ2l0UHVsbFJlcXVlc3ROZXdDaGFuZ2VzOmEoImdpdC1wdWxsLXJlcXVlc3QtbmV3LWNoYW5nZXMiLDYwNDI4KSxzZWFyY2hGdXp6eTphKCJzZWFyY2gtZnV6enkiLDYwNDI5KSxjb21tZW50RHJhZnQ6YSgiY29tbWVudC1kcmFmdCIsNjA0MzApLHNlbmQ6YSgic2VuZCIsNjA0MzEpLHNwYXJrbGU6YSgic3BhcmtsZSIsNjA0MzIpLGluc2VydDphKCJpbnNlcnQiLDYwNDMzKSxtaWM6YSgibWljIiw2MDQzNCksdGh1bWJzZG93bkZpbGxlZDphKCJ0aHVtYnNkb3duLWZpbGxlZCIsNjA0MzUpLHRodW1ic3VwRmlsbGVkOmEoInRodW1ic3VwLWZpbGxlZCIsNjA0MzYpLGNvZmZlZTphKCJjb2ZmZWUiLDYwNDM3KSxzbmFrZTphKCJzbmFrZSIsNjA0MzgpLGdhbWU6YSgiZ2FtZSIsNjA0MzkpLHZyOmEoInZyIiw2MDQ0MCksY2hpcDphKCJjaGlwIiw2MDQ0MSkscGlhbm86YSgicGlhbm8iLDYwNDQyKSxtdXNpYzphKCJtdXNpYyIsNjA0NDMpLG1pY0ZpbGxlZDphKCJtaWMtZmlsbGVkIiw2MDQ0NCkscmVwb0ZldGNoOmEoInJlcG8tZmV0Y2giLDYwNDQ1KSxjb3BpbG90OmEoImNvcGlsb3QiLDYwNDQ2KSxsaWdodGJ1bGJTcGFya2xlOmEoImxpZ2h0YnVsYi1zcGFya2xlIiw2MDQ0Nykscm9ib3Q6YSgicm9ib3QiLDYwNDQ4KSxzcGFya2xlRmlsbGVkOmEoInNwYXJrbGUtZmlsbGVkIiw2MDQ0OSksZGlmZlNpbmdsZTphKCJkaWZmLXNpbmdsZSIsNjA0NTApLGRpZmZNdWx0aXBsZTphKCJkaWZmLW11bHRpcGxlIiw2MDQ1MSksc3Vycm91bmRXaXRoOmEoInN1cnJvdW5kLXdpdGgiLDYwNDUyKSxzaGFyZTphKCJzaGFyZSIsNjA0NTMpLGdpdFN0YXNoOmEoImdpdC1zdGFzaCIsNjA0NTQpLGdpdFN0YXNoQXBwbHk6YSgiZ2l0LXN0YXNoLWFwcGx5Iiw2MDQ1NSksZ2l0U3Rhc2hQb3A6YSgiZ2l0LXN0YXNoLXBvcCIsNjA0NTYpLHZzY29kZTphKCJ2c2NvZGUiLDYwNDU3KSx2c2NvZGVJbnNpZGVyczphKCJ2c2NvZGUtaW5zaWRlcnMiLDYwNDU4KSxjb2RlT3NzOmEoImNvZGUtb3NzIiw2MDQ1OSkscnVuQ292ZXJhZ2U6YSgicnVuLWNvdmVyYWdlIiw2MDQ2MCkscnVuQWxsQ292ZXJhZ2U6YSgicnVuLWFsbC1jb3ZlcmFnZSIsNjA0NjEpLGNvdmVyYWdlOmEoImNvdmVyYWdlIiw2MDQ2MiksZ2l0aHViUHJvamVjdDphKCJnaXRodWItcHJvamVjdCIsNjA0NjMpLG1hcFZlcnRpY2FsOmEoIm1hcC12ZXJ0aWNhbCIsNjA0NjQpLGZvbGRWZXJ0aWNhbDphKCJmb2xkLXZlcnRpY2FsIiw2MDQ2NCksbWFwVmVydGljYWxGaWxsZWQ6YSgibWFwLXZlcnRpY2FsLWZpbGxlZCIsNjA0NjUpLGZvbGRWZXJ0aWNhbEZpbGxlZDphKCJmb2xkLXZlcnRpY2FsLWZpbGxlZCIsNjA0NjUpfSxOaT17ZGlhbG9nRXJyb3I6YSgiZGlhbG9nLWVycm9yIiwiZXJyb3IiKSxkaWFsb2dXYXJuaW5nOmEoImRpYWxvZy13YXJuaW5nIiwid2FybmluZyIpLGRpYWxvZ0luZm86YSgiZGlhbG9nLWluZm8iLCJpbmZvIiksZGlhbG9nQ2xvc2U6YSgiZGlhbG9nLWNsb3NlIiwiY2xvc2UiKSx0cmVlSXRlbUV4cGFuZGVkOmEoInRyZWUtaXRlbS1leHBhbmRlZCIsImNoZXZyb24tZG93biIpLHRyZWVGaWx0ZXJPblR5cGVPbjphKCJ0cmVlLWZpbHRlci1vbi10eXBlLW9uIiwibGlzdC1maWx0ZXIiKSx0cmVlRmlsdGVyT25UeXBlT2ZmOmEoInRyZWUtZmlsdGVyLW9uLXR5cGUtb2ZmIiwibGlzdC1zZWxlY3Rpb24iKSx0cmVlRmlsdGVyQ2xlYXI6YSgidHJlZS1maWx0ZXItY2xlYXIiLCJjbG9zZSIpLHRyZWVJdGVtTG9hZGluZzphKCJ0cmVlLWl0ZW0tbG9hZGluZyIsImxvYWRpbmciKSxtZW51U2VsZWN0aW9uOmEoIm1lbnUtc2VsZWN0aW9uIiwiY2hlY2siKSxtZW51U3VibWVudTphKCJtZW51LXN1Ym1lbnUiLCJjaGV2cm9uLXJpZ2h0IiksbWVudUJhck1vcmU6YSgibWVudWJhci1tb3JlIiwibW9yZSIpLHNjcm9sbGJhckJ1dHRvbkxlZnQ6YSgic2Nyb2xsYmFyLWJ1dHRvbi1sZWZ0IiwidHJpYW5nbGUtbGVmdCIpLHNjcm9sbGJhckJ1dHRvblJpZ2h0OmEoInNjcm9sbGJhci1idXR0b24tcmlnaHQiLCJ0cmlhbmdsZS1yaWdodCIpLHNjcm9sbGJhckJ1dHRvblVwOmEoInNjcm9sbGJhci1idXR0b24tdXAiLCJ0cmlhbmdsZS11cCIpLHNjcm9sbGJhckJ1dHRvbkRvd246YSgic2Nyb2xsYmFyLWJ1dHRvbi1kb3duIiwidHJpYW5nbGUtZG93biIpLHRvb2xCYXJNb3JlOmEoInRvb2xiYXItbW9yZSIsIm1vcmUiKSxxdWlja0lucHV0QmFjazphKCJxdWljay1pbnB1dC1iYWNrIiwiYXJyb3ctbGVmdCIpLGRyb3BEb3duQnV0dG9uOmEoImRyb3AtZG93bi1idXR0b24iLDYwMDg0KSxzeW1ib2xDdXN0b21Db2xvcjphKCJzeW1ib2wtY3VzdG9tY29sb3IiLDYwMjUyKSxleHBvcnRJY29uOmEoImV4cG9ydCIsNjAzMzIpLHdvcmtzcGFjZVVuc3BlY2lmaWVkOmEoIndvcmtzcGFjZS11bnNwZWNpZmllZCIsNjAzNTUpLG5ld0xpbmU6YSgibmV3bGluZSIsNjAzOTQpLHRodW1ic0Rvd25GaWxsZWQ6YSgidGh1bWJzZG93bi1maWxsZWQiLDYwNDM1KSx0aHVtYnNVcEZpbGxlZDphKCJ0aHVtYnN1cC1maWxsZWQiLDYwNDM2KSxnaXRGZXRjaDphKCJnaXQtZmV0Y2giLDYwNDQ1KSxsaWdodGJ1bGJTcGFya2xlQXV0b2ZpeDphKCJsaWdodGJ1bGItc3BhcmtsZS1hdXRvZml4Iiw2MDQ0NyksZGVidWdCcmVha3BvaW50UGVuZGluZzphKCJkZWJ1Zy1icmVha3BvaW50LXBlbmRpbmciLDYwMzc3KX0sTT17Li4ud2ksLi4uTml9O2NsYXNzIFNpe2NvbnN0cnVjdG9yKCl7dGhpcy5fdG9rZW5pemF0aW9uU3VwcG9ydHM9bmV3IE1hcCx0aGlzLl9mYWN0b3JpZXM9bmV3IE1hcCx0aGlzLl9vbkRpZENoYW5nZT1uZXcgcmUsdGhpcy5vbkRpZENoYW5nZT10aGlzLl9vbkRpZENoYW5nZS5ldmVudCx0aGlzLl9jb2xvck1hcD1udWxsfWhhbmRsZUNoYW5nZSh0KXt0aGlzLl9vbkRpZENoYW5nZS5maXJlKHtjaGFuZ2VkTGFuZ3VhZ2VzOnQsY2hhbmdlZENvbG9yTWFwOiExfSl9cmVnaXN0ZXIodCxuKXtyZXR1cm4gdGhpcy5fdG9rZW5pemF0aW9uU3VwcG9ydHMuc2V0KHQsbiksdGhpcy5oYW5kbGVDaGFuZ2UoW3RdKSxLZSgoKT0+e3RoaXMuX3Rva2VuaXphdGlvblN1cHBvcnRzLmdldCh0KT09PW4mJih0aGlzLl90b2tlbml6YXRpb25TdXBwb3J0cy5kZWxldGUodCksdGhpcy5oYW5kbGVDaGFuZ2UoW3RdKSl9KX1nZXQodCl7cmV0dXJuIHRoaXMuX3Rva2VuaXphdGlvblN1cHBvcnRzLmdldCh0KXx8bnVsbH1yZWdpc3RlckZhY3RvcnkodCxuKXt2YXIgczsocz10aGlzLl9mYWN0b3JpZXMuZ2V0KHQpKT09PW51bGx8fHM9PT12b2lkIDB8fHMuZGlzcG9zZSgpO2NvbnN0IHI9bmV3IENpKHRoaXMsdCxuKTtyZXR1cm4gdGhpcy5fZmFjdG9yaWVzLnNldCh0LHIpLEtlKCgpPT57Y29uc3QgaT10aGlzLl9mYWN0b3JpZXMuZ2V0KHQpOyFpfHxpIT09cnx8KHRoaXMuX2ZhY3Rvcmllcy5kZWxldGUodCksaS5kaXNwb3NlKCkpfSl9YXN5bmMgZ2V0T3JDcmVhdGUodCl7Y29uc3Qgbj10aGlzLmdldCh0KTtpZihuKXJldHVybiBuO2NvbnN0IHM9dGhpcy5fZmFjdG9yaWVzLmdldCh0KTtyZXR1cm4hc3x8cy5pc1Jlc29sdmVkP251bGw6KGF3YWl0IHMucmVzb2x2ZSgpLHRoaXMuZ2V0KHQpKX1pc1Jlc29sdmVkKHQpe2lmKHRoaXMuZ2V0KHQpKXJldHVybiEwO2NvbnN0IHM9dGhpcy5fZmFjdG9yaWVzLmdldCh0KTtyZXR1cm4hISghc3x8cy5pc1Jlc29sdmVkKX1zZXRDb2xvck1hcCh0KXt0aGlzLl9jb2xvck1hcD10LHRoaXMuX29uRGlkQ2hhbmdlLmZpcmUoe2NoYW5nZWRMYW5ndWFnZXM6QXJyYXkuZnJvbSh0aGlzLl90b2tlbml6YXRpb25TdXBwb3J0cy5rZXlzKCkpLGNoYW5nZWRDb2xvck1hcDohMH0pfWdldENvbG9yTWFwKCl7cmV0dXJuIHRoaXMuX2NvbG9yTWFwfWdldERlZmF1bHRCYWNrZ3JvdW5kKCl7cmV0dXJuIHRoaXMuX2NvbG9yTWFwJiZ0aGlzLl9jb2xvck1hcC5sZW5ndGg+Mj90aGlzLl9jb2xvck1hcFsyXTpudWxsfX1jbGFzcyBDaSBleHRlbmRzIFdle2dldCBpc1Jlc29sdmVkKCl7cmV0dXJuIHRoaXMuX2lzUmVzb2x2ZWR9Y29uc3RydWN0b3IodCxuLHMpe3N1cGVyKCksdGhpcy5fcmVnaXN0cnk9dCx0aGlzLl9sYW5ndWFnZUlkPW4sdGhpcy5fZmFjdG9yeT1zLHRoaXMuX2lzRGlzcG9zZWQ9ITEsdGhpcy5fcmVzb2x2ZVByb21pc2U9bnVsbCx0aGlzLl9pc1Jlc29sdmVkPSExfWRpc3Bvc2UoKXt0aGlzLl9pc0Rpc3Bvc2VkPSEwLHN1cGVyLmRpc3Bvc2UoKX1hc3luYyByZXNvbHZlKCl7cmV0dXJuIHRoaXMuX3Jlc29sdmVQcm9taXNlfHwodGhpcy5fcmVzb2x2ZVByb21pc2U9dGhpcy5fY3JlYXRlKCkpLHRoaXMuX3Jlc29sdmVQcm9taXNlfWFzeW5jIF9jcmVhdGUoKXtjb25zdCB0PWF3YWl0IHRoaXMuX2ZhY3RvcnkudG9rZW5pemF0aW9uU3VwcG9ydDt0aGlzLl9pc1Jlc29sdmVkPSEwLHQmJiF0aGlzLl9pc0Rpc3Bvc2VkJiZ0aGlzLl9yZWdpc3Rlcih0aGlzLl9yZWdpc3RyeS5yZWdpc3Rlcih0aGlzLl9sYW5ndWFnZUlkLHQpKX19Y2xhc3MgQWl7Y29uc3RydWN0b3IodCxuLHMpe3RoaXMub2Zmc2V0PXQsdGhpcy50eXBlPW4sdGhpcy5sYW5ndWFnZT1zLHRoaXMuX3Rva2VuQnJhbmQ9dm9pZCAwfXRvU3RyaW5nKCl7cmV0dXJuIigiK3RoaXMub2Zmc2V0KyIsICIrdGhpcy50eXBlKyIpIn19dmFyIEFuOyhmdW5jdGlvbihlKXtjb25zdCB0PW5ldyBNYXA7dC5zZXQoMCxNLnN5bWJvbE1ldGhvZCksdC5zZXQoMSxNLnN5bWJvbEZ1bmN0aW9uKSx0LnNldCgyLE0uc3ltYm9sQ29uc3RydWN0b3IpLHQuc2V0KDMsTS5zeW1ib2xGaWVsZCksdC5zZXQoNCxNLnN5bWJvbFZhcmlhYmxlKSx0LnNldCg1LE0uc3ltYm9sQ2xhc3MpLHQuc2V0KDYsTS5zeW1ib2xTdHJ1Y3QpLHQuc2V0KDcsTS5zeW1ib2xJbnRlcmZhY2UpLHQuc2V0KDgsTS5zeW1ib2xNb2R1bGUpLHQuc2V0KDksTS5zeW1ib2xQcm9wZXJ0eSksdC5zZXQoMTAsTS5zeW1ib2xFdmVudCksdC5zZXQoMTEsTS5zeW1ib2xPcGVyYXRvciksdC5zZXQoMTIsTS5zeW1ib2xVbml0KSx0LnNldCgxMyxNLnN5bWJvbFZhbHVlKSx0LnNldCgxNSxNLnN5bWJvbEVudW0pLHQuc2V0KDE0LE0uc3ltYm9sQ29uc3RhbnQpLHQuc2V0KDE1LE0uc3ltYm9sRW51bSksdC5zZXQoMTYsTS5zeW1ib2xFbnVtTWVtYmVyKSx0LnNldCgxNyxNLnN5bWJvbEtleXdvcmQpLHQuc2V0KDI3LE0uc3ltYm9sU25pcHBldCksdC5zZXQoMTgsTS5zeW1ib2xUZXh0KSx0LnNldCgxOSxNLnN5bWJvbENvbG9yKSx0LnNldCgyMCxNLnN5bWJvbEZpbGUpLHQuc2V0KDIxLE0uc3ltYm9sUmVmZXJlbmNlKSx0LnNldCgyMixNLnN5bWJvbEN1c3RvbUNvbG9yKSx0LnNldCgyMyxNLnN5bWJvbEZvbGRlciksdC5zZXQoMjQsTS5zeW1ib2xUeXBlUGFyYW1ldGVyKSx0LnNldCgyNSxNLmFjY291bnQpLHQuc2V0KDI2LE0uaXNzdWVzKTtmdW5jdGlvbiBuKGkpe2xldCBsPXQuZ2V0KGkpO3JldHVybiBsfHwobD1NLnN5bWJvbFByb3BlcnR5KSxsfWUudG9JY29uPW47Y29uc3Qgcz1uZXcgTWFwO3Muc2V0KCJtZXRob2QiLDApLHMuc2V0KCJmdW5jdGlvbiIsMSkscy5zZXQoImNvbnN0cnVjdG9yIiwyKSxzLnNldCgiZmllbGQiLDMpLHMuc2V0KCJ2YXJpYWJsZSIsNCkscy5zZXQoImNsYXNzIiw1KSxzLnNldCgic3RydWN0Iiw2KSxzLnNldCgiaW50ZXJmYWNlIiw3KSxzLnNldCgibW9kdWxlIiw4KSxzLnNldCgicHJvcGVydHkiLDkpLHMuc2V0KCJldmVudCIsMTApLHMuc2V0KCJvcGVyYXRvciIsMTEpLHMuc2V0KCJ1bml0IiwxMikscy5zZXQoInZhbHVlIiwxMykscy5zZXQoImNvbnN0YW50IiwxNCkscy5zZXQoImVudW0iLDE1KSxzLnNldCgiZW51bS1tZW1iZXIiLDE2KSxzLnNldCgiZW51bU1lbWJlciIsMTYpLHMuc2V0KCJrZXl3b3JkIiwxNykscy5zZXQoInNuaXBwZXQiLDI3KSxzLnNldCgidGV4dCIsMTgpLHMuc2V0KCJjb2xvciIsMTkpLHMuc2V0KCJmaWxlIiwyMCkscy5zZXQoInJlZmVyZW5jZSIsMjEpLHMuc2V0KCJjdXN0b21jb2xvciIsMjIpLHMuc2V0KCJmb2xkZXIiLDIzKSxzLnNldCgidHlwZS1wYXJhbWV0ZXIiLDI0KSxzLnNldCgidHlwZVBhcmFtZXRlciIsMjQpLHMuc2V0KCJhY2NvdW50IiwyNSkscy5zZXQoImlzc3VlIiwyNik7ZnVuY3Rpb24gcihpLGwpe2xldCBvPXMuZ2V0KGkpO3JldHVybiB0eXBlb2Ygbz4idSImJiFsJiYobz05KSxvfWUuZnJvbVN0cmluZz1yfSkoQW58fChBbj17fSkpO3ZhciB5bjsoZnVuY3Rpb24oZSl7ZVtlLkF1dG9tYXRpYz0wXT0iQXV0b21hdGljIixlW2UuRXhwbGljaXQ9MV09IkV4cGxpY2l0In0pKHlufHwoeW49e30pKTt2YXIgUm47KGZ1bmN0aW9uKGUpe2VbZS5BdXRvbWF0aWM9MF09IkF1dG9tYXRpYyIsZVtlLlBhc3RlQXM9MV09IlBhc3RlQXMifSkoUm58fChSbj17fSkpO3ZhciBFbjsoZnVuY3Rpb24oZSl7ZVtlLkludm9rZT0xXT0iSW52b2tlIixlW2UuVHJpZ2dlckNoYXJhY3Rlcj0yXT0iVHJpZ2dlckNoYXJhY3RlciIsZVtlLkNvbnRlbnRDaGFuZ2U9M109IkNvbnRlbnRDaGFuZ2UifSkoRW58fChFbj17fSkpO3ZhciBNbjsoZnVuY3Rpb24oZSl7ZVtlLlRleHQ9MF09IlRleHQiLGVbZS5SZWFkPTFdPSJSZWFkIixlW2UuV3JpdGU9Ml09IldyaXRlIn0pKE1ufHwoTW49e30pKSxIKCJBcnJheSIsImFycmF5IiksSCgiQm9vbGVhbiIsImJvb2xlYW4iKSxIKCJDbGFzcyIsImNsYXNzIiksSCgiQ29uc3RhbnQiLCJjb25zdGFudCIpLEgoIkNvbnN0cnVjdG9yIiwiY29uc3RydWN0b3IiKSxIKCJFbnVtIiwiZW51bWVyYXRpb24iKSxIKCJFbnVtTWVtYmVyIiwiZW51bWVyYXRpb24gbWVtYmVyIiksSCgiRXZlbnQiLCJldmVudCIpLEgoIkZpZWxkIiwiZmllbGQiKSxIKCJGaWxlIiwiZmlsZSIpLEgoIkZ1bmN0aW9uIiwiZnVuY3Rpb24iKSxIKCJJbnRlcmZhY2UiLCJpbnRlcmZhY2UiKSxIKCJLZXkiLCJrZXkiKSxIKCJNZXRob2QiLCJtZXRob2QiKSxIKCJNb2R1bGUiLCJtb2R1bGUiKSxIKCJOYW1lc3BhY2UiLCJuYW1lc3BhY2UiKSxIKCJOdWxsIiwibnVsbCIpLEgoIk51bWJlciIsIm51bWJlciIpLEgoIk9iamVjdCIsIm9iamVjdCIpLEgoIk9wZXJhdG9yIiwib3BlcmF0b3IiKSxIKCJQYWNrYWdlIiwicGFja2FnZSIpLEgoIlByb3BlcnR5IiwicHJvcGVydHkiKSxIKCJTdHJpbmciLCJzdHJpbmciKSxIKCJTdHJ1Y3QiLCJzdHJ1Y3QiKSxIKCJUeXBlUGFyYW1ldGVyIiwidHlwZSBwYXJhbWV0ZXIiKSxIKCJWYXJpYWJsZSIsInZhcmlhYmxlIik7dmFyIGtuOyhmdW5jdGlvbihlKXtjb25zdCB0PW5ldyBNYXA7dC5zZXQoMCxNLnN5bWJvbEZpbGUpLHQuc2V0KDEsTS5zeW1ib2xNb2R1bGUpLHQuc2V0KDIsTS5zeW1ib2xOYW1lc3BhY2UpLHQuc2V0KDMsTS5zeW1ib2xQYWNrYWdlKSx0LnNldCg0LE0uc3ltYm9sQ2xhc3MpLHQuc2V0KDUsTS5zeW1ib2xNZXRob2QpLHQuc2V0KDYsTS5zeW1ib2xQcm9wZXJ0eSksdC5zZXQoNyxNLnN5bWJvbEZpZWxkKSx0LnNldCg4LE0uc3ltYm9sQ29uc3RydWN0b3IpLHQuc2V0KDksTS5zeW1ib2xFbnVtKSx0LnNldCgxMCxNLnN5bWJvbEludGVyZmFjZSksdC5zZXQoMTEsTS5zeW1ib2xGdW5jdGlvbiksdC5zZXQoMTIsTS5zeW1ib2xWYXJpYWJsZSksdC5zZXQoMTMsTS5zeW1ib2xDb25zdGFudCksdC5zZXQoMTQsTS5zeW1ib2xTdHJpbmcpLHQuc2V0KDE1LE0uc3ltYm9sTnVtYmVyKSx0LnNldCgxNixNLnN5bWJvbEJvb2xlYW4pLHQuc2V0KDE3LE0uc3ltYm9sQXJyYXkpLHQuc2V0KDE4LE0uc3ltYm9sT2JqZWN0KSx0LnNldCgxOSxNLnN5bWJvbEtleSksdC5zZXQoMjAsTS5zeW1ib2xOdWxsKSx0LnNldCgyMSxNLnN5bWJvbEVudW1NZW1iZXIpLHQuc2V0KDIyLE0uc3ltYm9sU3RydWN0KSx0LnNldCgyMyxNLnN5bWJvbEV2ZW50KSx0LnNldCgyNCxNLnN5bWJvbE9wZXJhdG9yKSx0LnNldCgyNSxNLnN5bWJvbFR5cGVQYXJhbWV0ZXIpO2Z1bmN0aW9uIG4ocyl7bGV0IHI9dC5nZXQocyk7cmV0dXJuIHJ8fChyPU0uc3ltYm9sUHJvcGVydHkpLHJ9ZS50b0ljb249bn0pKGtufHwoa249e30pKTt2YXIgUG47KGZ1bmN0aW9uKGUpe2VbZS5BSUdlbmVyYXRlZD0xXT0iQUlHZW5lcmF0ZWQifSkoUG58fChQbj17fSkpO3ZhciBGbjsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChuKXtyZXR1cm4hbnx8dHlwZW9mIG4hPSJvYmplY3QiPyExOnR5cGVvZiBuLmlkPT0ic3RyaW5nIiYmdHlwZW9mIG4udGl0bGU9PSJzdHJpbmcifWUuaXM9dH0pKEZufHwoRm49e30pKTt2YXIgRG47KGZ1bmN0aW9uKGUpe2VbZS5UeXBlPTFdPSJUeXBlIixlW2UuUGFyYW1ldGVyPTJdPSJQYXJhbWV0ZXIifSkoRG58fChEbj17fSkpLG5ldyBTaTt2YXIgVG47KGZ1bmN0aW9uKGUpe2VbZS5JbnZva2U9MF09Ikludm9rZSIsZVtlLkF1dG9tYXRpYz0xXT0iQXV0b21hdGljIn0pKFRufHwoVG49e30pKTt2YXIgVW47KGZ1bmN0aW9uKGUpe2VbZS5Vbmtub3duPTBdPSJVbmtub3duIixlW2UuRGlzYWJsZWQ9MV09IkRpc2FibGVkIixlW2UuRW5hYmxlZD0yXT0iRW5hYmxlZCJ9KShVbnx8KFVuPXt9KSk7dmFyIFZuOyhmdW5jdGlvbihlKXtlW2UuSW52b2tlPTFdPSJJbnZva2UiLGVbZS5BdXRvPTJdPSJBdXRvIn0pKFZufHwoVm49e30pKTt2YXIgSW47KGZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuS2VlcFdoaXRlc3BhY2U9MV09IktlZXBXaGl0ZXNwYWNlIixlW2UuSW5zZXJ0QXNTbmlwcGV0PTRdPSJJbnNlcnRBc1NuaXBwZXQifSkoSW58fChJbj17fSkpO3ZhciBCbjsoZnVuY3Rpb24oZSl7ZVtlLk1ldGhvZD0wXT0iTWV0aG9kIixlW2UuRnVuY3Rpb249MV09IkZ1bmN0aW9uIixlW2UuQ29uc3RydWN0b3I9Ml09IkNvbnN0cnVjdG9yIixlW2UuRmllbGQ9M109IkZpZWxkIixlW2UuVmFyaWFibGU9NF09IlZhcmlhYmxlIixlW2UuQ2xhc3M9NV09IkNsYXNzIixlW2UuU3RydWN0PTZdPSJTdHJ1Y3QiLGVbZS5JbnRlcmZhY2U9N109IkludGVyZmFjZSIsZVtlLk1vZHVsZT04XT0iTW9kdWxlIixlW2UuUHJvcGVydHk9OV09IlByb3BlcnR5IixlW2UuRXZlbnQ9MTBdPSJFdmVudCIsZVtlLk9wZXJhdG9yPTExXT0iT3BlcmF0b3IiLGVbZS5Vbml0PTEyXT0iVW5pdCIsZVtlLlZhbHVlPTEzXT0iVmFsdWUiLGVbZS5Db25zdGFudD0xNF09IkNvbnN0YW50IixlW2UuRW51bT0xNV09IkVudW0iLGVbZS5FbnVtTWVtYmVyPTE2XT0iRW51bU1lbWJlciIsZVtlLktleXdvcmQ9MTddPSJLZXl3b3JkIixlW2UuVGV4dD0xOF09IlRleHQiLGVbZS5Db2xvcj0xOV09IkNvbG9yIixlW2UuRmlsZT0yMF09IkZpbGUiLGVbZS5SZWZlcmVuY2U9MjFdPSJSZWZlcmVuY2UiLGVbZS5DdXN0b21jb2xvcj0yMl09IkN1c3RvbWNvbG9yIixlW2UuRm9sZGVyPTIzXT0iRm9sZGVyIixlW2UuVHlwZVBhcmFtZXRlcj0yNF09IlR5cGVQYXJhbWV0ZXIiLGVbZS5Vc2VyPTI1XT0iVXNlciIsZVtlLklzc3VlPTI2XT0iSXNzdWUiLGVbZS5TbmlwcGV0PTI3XT0iU25pcHBldCJ9KShCbnx8KEJuPXt9KSk7dmFyIHFuOyhmdW5jdGlvbihlKXtlW2UuRGVwcmVjYXRlZD0xXT0iRGVwcmVjYXRlZCJ9KShxbnx8KHFuPXt9KSk7dmFyIEhuOyhmdW5jdGlvbihlKXtlW2UuSW52b2tlPTBdPSJJbnZva2UiLGVbZS5UcmlnZ2VyQ2hhcmFjdGVyPTFdPSJUcmlnZ2VyQ2hhcmFjdGVyIixlW2UuVHJpZ2dlckZvckluY29tcGxldGVDb21wbGV0aW9ucz0yXT0iVHJpZ2dlckZvckluY29tcGxldGVDb21wbGV0aW9ucyJ9KShIbnx8KEhuPXt9KSk7dmFyIFduOyhmdW5jdGlvbihlKXtlW2UuRVhBQ1Q9MF09IkVYQUNUIixlW2UuQUJPVkU9MV09IkFCT1ZFIixlW2UuQkVMT1c9Ml09IkJFTE9XIn0pKFdufHwoV249e30pKTt2YXIgem47KGZ1bmN0aW9uKGUpe2VbZS5Ob3RTZXQ9MF09Ik5vdFNldCIsZVtlLkNvbnRlbnRGbHVzaD0xXT0iQ29udGVudEZsdXNoIixlW2UuUmVjb3ZlckZyb21NYXJrZXJzPTJdPSJSZWNvdmVyRnJvbU1hcmtlcnMiLGVbZS5FeHBsaWNpdD0zXT0iRXhwbGljaXQiLGVbZS5QYXN0ZT00XT0iUGFzdGUiLGVbZS5VbmRvPTVdPSJVbmRvIixlW2UuUmVkbz02XT0iUmVkbyJ9KSh6bnx8KHpuPXt9KSk7dmFyICRuOyhmdW5jdGlvbihlKXtlW2UuTEY9MV09IkxGIixlW2UuQ1JMRj0yXT0iQ1JMRiJ9KSgkbnx8KCRuPXt9KSk7dmFyIE9uOyhmdW5jdGlvbihlKXtlW2UuVGV4dD0wXT0iVGV4dCIsZVtlLlJlYWQ9MV09IlJlYWQiLGVbZS5Xcml0ZT0yXT0iV3JpdGUifSkoT258fChPbj17fSkpO3ZhciBHbjsoZnVuY3Rpb24oZSl7ZVtlLk5vbmU9MF09Ik5vbmUiLGVbZS5LZWVwPTFdPSJLZWVwIixlW2UuQnJhY2tldHM9Ml09IkJyYWNrZXRzIixlW2UuQWR2YW5jZWQ9M109IkFkdmFuY2VkIixlW2UuRnVsbD00XT0iRnVsbCJ9KShHbnx8KEduPXt9KSk7dmFyIGpuOyhmdW5jdGlvbihlKXtlW2UuYWNjZXB0U3VnZ2VzdGlvbk9uQ29tbWl0Q2hhcmFjdGVyPTBdPSJhY2NlcHRTdWdnZXN0aW9uT25Db21taXRDaGFyYWN0ZXIiLGVbZS5hY2NlcHRTdWdnZXN0aW9uT25FbnRlcj0xXT0iYWNjZXB0U3VnZ2VzdGlvbk9uRW50ZXIiLGVbZS5hY2Nlc3NpYmlsaXR5U3VwcG9ydD0yXT0iYWNjZXNzaWJpbGl0eVN1cHBvcnQiLGVbZS5hY2Nlc3NpYmlsaXR5UGFnZVNpemU9M109ImFjY2Vzc2liaWxpdHlQYWdlU2l6ZSIsZVtlLmFyaWFMYWJlbD00XT0iYXJpYUxhYmVsIixlW2UuYXJpYVJlcXVpcmVkPTVdPSJhcmlhUmVxdWlyZWQiLGVbZS5hdXRvQ2xvc2luZ0JyYWNrZXRzPTZdPSJhdXRvQ2xvc2luZ0JyYWNrZXRzIixlW2UuYXV0b0Nsb3NpbmdDb21tZW50cz03XT0iYXV0b0Nsb3NpbmdDb21tZW50cyIsZVtlLnNjcmVlblJlYWRlckFubm91bmNlSW5saW5lU3VnZ2VzdGlvbj04XT0ic2NyZWVuUmVhZGVyQW5ub3VuY2VJbmxpbmVTdWdnZXN0aW9uIixlW2UuYXV0b0Nsb3NpbmdEZWxldGU9OV09ImF1dG9DbG9zaW5nRGVsZXRlIixlW2UuYXV0b0Nsb3NpbmdPdmVydHlwZT0xMF09ImF1dG9DbG9zaW5nT3ZlcnR5cGUiLGVbZS5hdXRvQ2xvc2luZ1F1b3Rlcz0xMV09ImF1dG9DbG9zaW5nUXVvdGVzIixlW2UuYXV0b0luZGVudD0xMl09ImF1dG9JbmRlbnQiLGVbZS5hdXRvbWF0aWNMYXlvdXQ9MTNdPSJhdXRvbWF0aWNMYXlvdXQiLGVbZS5hdXRvU3Vycm91bmQ9MTRdPSJhdXRvU3Vycm91bmQiLGVbZS5icmFja2V0UGFpckNvbG9yaXphdGlvbj0xNV09ImJyYWNrZXRQYWlyQ29sb3JpemF0aW9uIixlW2UuZ3VpZGVzPTE2XT0iZ3VpZGVzIixlW2UuY29kZUxlbnM9MTddPSJjb2RlTGVucyIsZVtlLmNvZGVMZW5zRm9udEZhbWlseT0xOF09ImNvZGVMZW5zRm9udEZhbWlseSIsZVtlLmNvZGVMZW5zRm9udFNpemU9MTldPSJjb2RlTGVuc0ZvbnRTaXplIixlW2UuY29sb3JEZWNvcmF0b3JzPTIwXT0iY29sb3JEZWNvcmF0b3JzIixlW2UuY29sb3JEZWNvcmF0b3JzTGltaXQ9MjFdPSJjb2xvckRlY29yYXRvcnNMaW1pdCIsZVtlLmNvbHVtblNlbGVjdGlvbj0yMl09ImNvbHVtblNlbGVjdGlvbiIsZVtlLmNvbW1lbnRzPTIzXT0iY29tbWVudHMiLGVbZS5jb250ZXh0bWVudT0yNF09ImNvbnRleHRtZW51IixlW2UuY29weVdpdGhTeW50YXhIaWdobGlnaHRpbmc9MjVdPSJjb3B5V2l0aFN5bnRheEhpZ2hsaWdodGluZyIsZVtlLmN1cnNvckJsaW5raW5nPTI2XT0iY3Vyc29yQmxpbmtpbmciLGVbZS5jdXJzb3JTbW9vdGhDYXJldEFuaW1hdGlvbj0yN109ImN1cnNvclNtb290aENhcmV0QW5pbWF0aW9uIixlW2UuY3Vyc29yU3R5bGU9MjhdPSJjdXJzb3JTdHlsZSIsZVtlLmN1cnNvclN1cnJvdW5kaW5nTGluZXM9MjldPSJjdXJzb3JTdXJyb3VuZGluZ0xpbmVzIixlW2UuY3Vyc29yU3Vycm91bmRpbmdMaW5lc1N0eWxlPTMwXT0iY3Vyc29yU3Vycm91bmRpbmdMaW5lc1N0eWxlIixlW2UuY3Vyc29yV2lkdGg9MzFdPSJjdXJzb3JXaWR0aCIsZVtlLmRpc2FibGVMYXllckhpbnRpbmc9MzJdPSJkaXNhYmxlTGF5ZXJIaW50aW5nIixlW2UuZGlzYWJsZU1vbm9zcGFjZU9wdGltaXphdGlvbnM9MzNdPSJkaXNhYmxlTW9ub3NwYWNlT3B0aW1pemF0aW9ucyIsZVtlLmRvbVJlYWRPbmx5PTM0XT0iZG9tUmVhZE9ubHkiLGVbZS5kcmFnQW5kRHJvcD0zNV09ImRyYWdBbmREcm9wIixlW2UuZHJvcEludG9FZGl0b3I9MzZdPSJkcm9wSW50b0VkaXRvciIsZVtlLmVtcHR5U2VsZWN0aW9uQ2xpcGJvYXJkPTM3XT0iZW1wdHlTZWxlY3Rpb25DbGlwYm9hcmQiLGVbZS5leHBlcmltZW50YWxXaGl0ZXNwYWNlUmVuZGVyaW5nPTM4XT0iZXhwZXJpbWVudGFsV2hpdGVzcGFjZVJlbmRlcmluZyIsZVtlLmV4dHJhRWRpdG9yQ2xhc3NOYW1lPTM5XT0iZXh0cmFFZGl0b3JDbGFzc05hbWUiLGVbZS5mYXN0U2Nyb2xsU2Vuc2l0aXZpdHk9NDBdPSJmYXN0U2Nyb2xsU2Vuc2l0aXZpdHkiLGVbZS5maW5kPTQxXT0iZmluZCIsZVtlLmZpeGVkT3ZlcmZsb3dXaWRnZXRzPTQyXT0iZml4ZWRPdmVyZmxvd1dpZGdldHMiLGVbZS5mb2xkaW5nPTQzXT0iZm9sZGluZyIsZVtlLmZvbGRpbmdTdHJhdGVneT00NF09ImZvbGRpbmdTdHJhdGVneSIsZVtlLmZvbGRpbmdIaWdobGlnaHQ9NDVdPSJmb2xkaW5nSGlnaGxpZ2h0IixlW2UuZm9sZGluZ0ltcG9ydHNCeURlZmF1bHQ9NDZdPSJmb2xkaW5nSW1wb3J0c0J5RGVmYXVsdCIsZVtlLmZvbGRpbmdNYXhpbXVtUmVnaW9ucz00N109ImZvbGRpbmdNYXhpbXVtUmVnaW9ucyIsZVtlLnVuZm9sZE9uQ2xpY2tBZnRlckVuZE9mTGluZT00OF09InVuZm9sZE9uQ2xpY2tBZnRlckVuZE9mTGluZSIsZVtlLmZvbnRGYW1pbHk9NDldPSJmb250RmFtaWx5IixlW2UuZm9udEluZm89NTBdPSJmb250SW5mbyIsZVtlLmZvbnRMaWdhdHVyZXM9NTFdPSJmb250TGlnYXR1cmVzIixlW2UuZm9udFNpemU9NTJdPSJmb250U2l6ZSIsZVtlLmZvbnRXZWlnaHQ9NTNdPSJmb250V2VpZ2h0IixlW2UuZm9udFZhcmlhdGlvbnM9NTRdPSJmb250VmFyaWF0aW9ucyIsZVtlLmZvcm1hdE9uUGFzdGU9NTVdPSJmb3JtYXRPblBhc3RlIixlW2UuZm9ybWF0T25UeXBlPTU2XT0iZm9ybWF0T25UeXBlIixlW2UuZ2x5cGhNYXJnaW49NTddPSJnbHlwaE1hcmdpbiIsZVtlLmdvdG9Mb2NhdGlvbj01OF09ImdvdG9Mb2NhdGlvbiIsZVtlLmhpZGVDdXJzb3JJbk92ZXJ2aWV3UnVsZXI9NTldPSJoaWRlQ3Vyc29ySW5PdmVydmlld1J1bGVyIixlW2UuaG92ZXI9NjBdPSJob3ZlciIsZVtlLmluRGlmZkVkaXRvcj02MV09ImluRGlmZkVkaXRvciIsZVtlLmlubGluZVN1Z2dlc3Q9NjJdPSJpbmxpbmVTdWdnZXN0IixlW2UuaW5saW5lRWRpdD02M109ImlubGluZUVkaXQiLGVbZS5sZXR0ZXJTcGFjaW5nPTY0XT0ibGV0dGVyU3BhY2luZyIsZVtlLmxpZ2h0YnVsYj02NV09ImxpZ2h0YnVsYiIsZVtlLmxpbmVEZWNvcmF0aW9uc1dpZHRoPTY2XT0ibGluZURlY29yYXRpb25zV2lkdGgiLGVbZS5saW5lSGVpZ2h0PTY3XT0ibGluZUhlaWdodCIsZVtlLmxpbmVOdW1iZXJzPTY4XT0ibGluZU51bWJlcnMiLGVbZS5saW5lTnVtYmVyc01pbkNoYXJzPTY5XT0ibGluZU51bWJlcnNNaW5DaGFycyIsZVtlLmxpbmtlZEVkaXRpbmc9NzBdPSJsaW5rZWRFZGl0aW5nIixlW2UubGlua3M9NzFdPSJsaW5rcyIsZVtlLm1hdGNoQnJhY2tldHM9NzJdPSJtYXRjaEJyYWNrZXRzIixlW2UubWluaW1hcD03M109Im1pbmltYXAiLGVbZS5tb3VzZVN0eWxlPTc0XT0ibW91c2VTdHlsZSIsZVtlLm1vdXNlV2hlZWxTY3JvbGxTZW5zaXRpdml0eT03NV09Im1vdXNlV2hlZWxTY3JvbGxTZW5zaXRpdml0eSIsZVtlLm1vdXNlV2hlZWxab29tPTc2XT0ibW91c2VXaGVlbFpvb20iLGVbZS5tdWx0aUN1cnNvck1lcmdlT3ZlcmxhcHBpbmc9NzddPSJtdWx0aUN1cnNvck1lcmdlT3ZlcmxhcHBpbmciLGVbZS5tdWx0aUN1cnNvck1vZGlmaWVyPTc4XT0ibXVsdGlDdXJzb3JNb2RpZmllciIsZVtlLm11bHRpQ3Vyc29yUGFzdGU9NzldPSJtdWx0aUN1cnNvclBhc3RlIixlW2UubXVsdGlDdXJzb3JMaW1pdD04MF09Im11bHRpQ3Vyc29yTGltaXQiLGVbZS5vY2N1cnJlbmNlc0hpZ2hsaWdodD04MV09Im9jY3VycmVuY2VzSGlnaGxpZ2h0IixlW2Uub3ZlcnZpZXdSdWxlckJvcmRlcj04Ml09Im92ZXJ2aWV3UnVsZXJCb3JkZXIiLGVbZS5vdmVydmlld1J1bGVyTGFuZXM9ODNdPSJvdmVydmlld1J1bGVyTGFuZXMiLGVbZS5wYWRkaW5nPTg0XT0icGFkZGluZyIsZVtlLnBhc3RlQXM9ODVdPSJwYXN0ZUFzIixlW2UucGFyYW1ldGVySGludHM9ODZdPSJwYXJhbWV0ZXJIaW50cyIsZVtlLnBlZWtXaWRnZXREZWZhdWx0Rm9jdXM9ODddPSJwZWVrV2lkZ2V0RGVmYXVsdEZvY3VzIixlW2UuZGVmaW5pdGlvbkxpbmtPcGVuc0luUGVlaz04OF09ImRlZmluaXRpb25MaW5rT3BlbnNJblBlZWsiLGVbZS5xdWlja1N1Z2dlc3Rpb25zPTg5XT0icXVpY2tTdWdnZXN0aW9ucyIsZVtlLnF1aWNrU3VnZ2VzdGlvbnNEZWxheT05MF09InF1aWNrU3VnZ2VzdGlvbnNEZWxheSIsZVtlLnJlYWRPbmx5PTkxXT0icmVhZE9ubHkiLGVbZS5yZWFkT25seU1lc3NhZ2U9OTJdPSJyZWFkT25seU1lc3NhZ2UiLGVbZS5yZW5hbWVPblR5cGU9OTNdPSJyZW5hbWVPblR5cGUiLGVbZS5yZW5kZXJDb250cm9sQ2hhcmFjdGVycz05NF09InJlbmRlckNvbnRyb2xDaGFyYWN0ZXJzIixlW2UucmVuZGVyRmluYWxOZXdsaW5lPTk1XT0icmVuZGVyRmluYWxOZXdsaW5lIixlW2UucmVuZGVyTGluZUhpZ2hsaWdodD05Nl09InJlbmRlckxpbmVIaWdobGlnaHQiLGVbZS5yZW5kZXJMaW5lSGlnaGxpZ2h0T25seVdoZW5Gb2N1cz05N109InJlbmRlckxpbmVIaWdobGlnaHRPbmx5V2hlbkZvY3VzIixlW2UucmVuZGVyVmFsaWRhdGlvbkRlY29yYXRpb25zPTk4XT0icmVuZGVyVmFsaWRhdGlvbkRlY29yYXRpb25zIixlW2UucmVuZGVyV2hpdGVzcGFjZT05OV09InJlbmRlcldoaXRlc3BhY2UiLGVbZS5yZXZlYWxIb3Jpem9udGFsUmlnaHRQYWRkaW5nPTEwMF09InJldmVhbEhvcml6b250YWxSaWdodFBhZGRpbmciLGVbZS5yb3VuZGVkU2VsZWN0aW9uPTEwMV09InJvdW5kZWRTZWxlY3Rpb24iLGVbZS5ydWxlcnM9MTAyXT0icnVsZXJzIixlW2Uuc2Nyb2xsYmFyPTEwM109InNjcm9sbGJhciIsZVtlLnNjcm9sbEJleW9uZExhc3RDb2x1bW49MTA0XT0ic2Nyb2xsQmV5b25kTGFzdENvbHVtbiIsZVtlLnNjcm9sbEJleW9uZExhc3RMaW5lPTEwNV09InNjcm9sbEJleW9uZExhc3RMaW5lIixlW2Uuc2Nyb2xsUHJlZG9taW5hbnRBeGlzPTEwNl09InNjcm9sbFByZWRvbWluYW50QXhpcyIsZVtlLnNlbGVjdGlvbkNsaXBib2FyZD0xMDddPSJzZWxlY3Rpb25DbGlwYm9hcmQiLGVbZS5zZWxlY3Rpb25IaWdobGlnaHQ9MTA4XT0ic2VsZWN0aW9uSGlnaGxpZ2h0IixlW2Uuc2VsZWN0T25MaW5lTnVtYmVycz0xMDldPSJzZWxlY3RPbkxpbmVOdW1iZXJzIixlW2Uuc2hvd0ZvbGRpbmdDb250cm9scz0xMTBdPSJzaG93Rm9sZGluZ0NvbnRyb2xzIixlW2Uuc2hvd1VudXNlZD0xMTFdPSJzaG93VW51c2VkIixlW2Uuc25pcHBldFN1Z2dlc3Rpb25zPTExMl09InNuaXBwZXRTdWdnZXN0aW9ucyIsZVtlLnNtYXJ0U2VsZWN0PTExM109InNtYXJ0U2VsZWN0IixlW2Uuc21vb3RoU2Nyb2xsaW5nPTExNF09InNtb290aFNjcm9sbGluZyIsZVtlLnN0aWNreVNjcm9sbD0xMTVdPSJzdGlja3lTY3JvbGwiLGVbZS5zdGlja3lUYWJTdG9wcz0xMTZdPSJzdGlja3lUYWJTdG9wcyIsZVtlLnN0b3BSZW5kZXJpbmdMaW5lQWZ0ZXI9MTE3XT0ic3RvcFJlbmRlcmluZ0xpbmVBZnRlciIsZVtlLnN1Z2dlc3Q9MTE4XT0ic3VnZ2VzdCIsZVtlLnN1Z2dlc3RGb250U2l6ZT0xMTldPSJzdWdnZXN0Rm9udFNpemUiLGVbZS5zdWdnZXN0TGluZUhlaWdodD0xMjBdPSJzdWdnZXN0TGluZUhlaWdodCIsZVtlLnN1Z2dlc3RPblRyaWdnZXJDaGFyYWN0ZXJzPTEyMV09InN1Z2dlc3RPblRyaWdnZXJDaGFyYWN0ZXJzIixlW2Uuc3VnZ2VzdFNlbGVjdGlvbj0xMjJdPSJzdWdnZXN0U2VsZWN0aW9uIixlW2UudGFiQ29tcGxldGlvbj0xMjNdPSJ0YWJDb21wbGV0aW9uIixlW2UudGFiSW5kZXg9MTI0XT0idGFiSW5kZXgiLGVbZS51bmljb2RlSGlnaGxpZ2h0aW5nPTEyNV09InVuaWNvZGVIaWdobGlnaHRpbmciLGVbZS51bnVzdWFsTGluZVRlcm1pbmF0b3JzPTEyNl09InVudXN1YWxMaW5lVGVybWluYXRvcnMiLGVbZS51c2VTaGFkb3dET009MTI3XT0idXNlU2hhZG93RE9NIixlW2UudXNlVGFiU3RvcHM9MTI4XT0idXNlVGFiU3RvcHMiLGVbZS53b3JkQnJlYWs9MTI5XT0id29yZEJyZWFrIixlW2Uud29yZFNlZ21lbnRlckxvY2FsZXM9MTMwXT0id29yZFNlZ21lbnRlckxvY2FsZXMiLGVbZS53b3JkU2VwYXJhdG9ycz0xMzFdPSJ3b3JkU2VwYXJhdG9ycyIsZVtlLndvcmRXcmFwPTEzMl09IndvcmRXcmFwIixlW2Uud29yZFdyYXBCcmVha0FmdGVyQ2hhcmFjdGVycz0xMzNdPSJ3b3JkV3JhcEJyZWFrQWZ0ZXJDaGFyYWN0ZXJzIixlW2Uud29yZFdyYXBCcmVha0JlZm9yZUNoYXJhY3RlcnM9MTM0XT0id29yZFdyYXBCcmVha0JlZm9yZUNoYXJhY3RlcnMiLGVbZS53b3JkV3JhcENvbHVtbj0xMzVdPSJ3b3JkV3JhcENvbHVtbiIsZVtlLndvcmRXcmFwT3ZlcnJpZGUxPTEzNl09IndvcmRXcmFwT3ZlcnJpZGUxIixlW2Uud29yZFdyYXBPdmVycmlkZTI9MTM3XT0id29yZFdyYXBPdmVycmlkZTIiLGVbZS53cmFwcGluZ0luZGVudD0xMzhdPSJ3cmFwcGluZ0luZGVudCIsZVtlLndyYXBwaW5nU3RyYXRlZ3k9MTM5XT0id3JhcHBpbmdTdHJhdGVneSIsZVtlLnNob3dEZXByZWNhdGVkPTE0MF09InNob3dEZXByZWNhdGVkIixlW2UuaW5sYXlIaW50cz0xNDFdPSJpbmxheUhpbnRzIixlW2UuZWRpdG9yQ2xhc3NOYW1lPTE0Ml09ImVkaXRvckNsYXNzTmFtZSIsZVtlLnBpeGVsUmF0aW89MTQzXT0icGl4ZWxSYXRpbyIsZVtlLnRhYkZvY3VzTW9kZT0xNDRdPSJ0YWJGb2N1c01vZGUiLGVbZS5sYXlvdXRJbmZvPTE0NV09ImxheW91dEluZm8iLGVbZS53cmFwcGluZ0luZm89MTQ2XT0id3JhcHBpbmdJbmZvIixlW2UuZGVmYXVsdENvbG9yRGVjb3JhdG9ycz0xNDddPSJkZWZhdWx0Q29sb3JEZWNvcmF0b3JzIixlW2UuY29sb3JEZWNvcmF0b3JzQWN0aXZhdGVkT249MTQ4XT0iY29sb3JEZWNvcmF0b3JzQWN0aXZhdGVkT24iLGVbZS5pbmxpbmVDb21wbGV0aW9uc0FjY2Vzc2liaWxpdHlWZXJib3NlPTE0OV09ImlubGluZUNvbXBsZXRpb25zQWNjZXNzaWJpbGl0eVZlcmJvc2UifSkoam58fChqbj17fSkpO3ZhciBYbjsoZnVuY3Rpb24oZSl7ZVtlLlRleHREZWZpbmVkPTBdPSJUZXh0RGVmaW5lZCIsZVtlLkxGPTFdPSJMRiIsZVtlLkNSTEY9Ml09IkNSTEYifSkoWG58fChYbj17fSkpO3ZhciBRbjsoZnVuY3Rpb24oZSl7ZVtlLkxGPTBdPSJMRiIsZVtlLkNSTEY9MV09IkNSTEYifSkoUW58fChRbj17fSkpO3ZhciBZbjsoZnVuY3Rpb24oZSl7ZVtlLkxlZnQ9MV09IkxlZnQiLGVbZS5DZW50ZXI9Ml09IkNlbnRlciIsZVtlLlJpZ2h0PTNdPSJSaWdodCJ9KShZbnx8KFluPXt9KSk7dmFyIEpuOyhmdW5jdGlvbihlKXtlW2UuTm9uZT0wXT0iTm9uZSIsZVtlLkluZGVudD0xXT0iSW5kZW50IixlW2UuSW5kZW50T3V0ZGVudD0yXT0iSW5kZW50T3V0ZGVudCIsZVtlLk91dGRlbnQ9M109Ik91dGRlbnQifSkoSm58fChKbj17fSkpO3ZhciBabjsoZnVuY3Rpb24oZSl7ZVtlLkJvdGg9MF09IkJvdGgiLGVbZS5SaWdodD0xXT0iUmlnaHQiLGVbZS5MZWZ0PTJdPSJMZWZ0IixlW2UuTm9uZT0zXT0iTm9uZSJ9KShabnx8KFpuPXt9KSk7dmFyIEtuOyhmdW5jdGlvbihlKXtlW2UuVHlwZT0xXT0iVHlwZSIsZVtlLlBhcmFtZXRlcj0yXT0iUGFyYW1ldGVyIn0pKEtufHwoS249e30pKTt2YXIgZXM7KGZ1bmN0aW9uKGUpe2VbZS5BdXRvbWF0aWM9MF09IkF1dG9tYXRpYyIsZVtlLkV4cGxpY2l0PTFdPSJFeHBsaWNpdCJ9KShlc3x8KGVzPXt9KSk7dmFyIHRzOyhmdW5jdGlvbihlKXtlW2UuSW52b2tlPTBdPSJJbnZva2UiLGVbZS5BdXRvbWF0aWM9MV09IkF1dG9tYXRpYyJ9KSh0c3x8KHRzPXt9KSk7dmFyIEJ0OyhmdW5jdGlvbihlKXtlW2UuRGVwZW5kc09uS2JMYXlvdXQ9LTFdPSJEZXBlbmRzT25LYkxheW91dCIsZVtlLlVua25vd249MF09IlVua25vd24iLGVbZS5CYWNrc3BhY2U9MV09IkJhY2tzcGFjZSIsZVtlLlRhYj0yXT0iVGFiIixlW2UuRW50ZXI9M109IkVudGVyIixlW2UuU2hpZnQ9NF09IlNoaWZ0IixlW2UuQ3RybD01XT0iQ3RybCIsZVtlLkFsdD02XT0iQWx0IixlW2UuUGF1c2VCcmVhaz03XT0iUGF1c2VCcmVhayIsZVtlLkNhcHNMb2NrPThdPSJDYXBzTG9jayIsZVtlLkVzY2FwZT05XT0iRXNjYXBlIixlW2UuU3BhY2U9MTBdPSJTcGFjZSIsZVtlLlBhZ2VVcD0xMV09IlBhZ2VVcCIsZVtlLlBhZ2VEb3duPTEyXT0iUGFnZURvd24iLGVbZS5FbmQ9MTNdPSJFbmQiLGVbZS5Ib21lPTE0XT0iSG9tZSIsZVtlLkxlZnRBcnJvdz0xNV09IkxlZnRBcnJvdyIsZVtlLlVwQXJyb3c9MTZdPSJVcEFycm93IixlW2UuUmlnaHRBcnJvdz0xN109IlJpZ2h0QXJyb3ciLGVbZS5Eb3duQXJyb3c9MThdPSJEb3duQXJyb3ciLGVbZS5JbnNlcnQ9MTldPSJJbnNlcnQiLGVbZS5EZWxldGU9MjBdPSJEZWxldGUiLGVbZS5EaWdpdDA9MjFdPSJEaWdpdDAiLGVbZS5EaWdpdDE9MjJdPSJEaWdpdDEiLGVbZS5EaWdpdDI9MjNdPSJEaWdpdDIiLGVbZS5EaWdpdDM9MjRdPSJEaWdpdDMiLGVbZS5EaWdpdDQ9MjVdPSJEaWdpdDQiLGVbZS5EaWdpdDU9MjZdPSJEaWdpdDUiLGVbZS5EaWdpdDY9MjddPSJEaWdpdDYiLGVbZS5EaWdpdDc9MjhdPSJEaWdpdDciLGVbZS5EaWdpdDg9MjldPSJEaWdpdDgiLGVbZS5EaWdpdDk9MzBdPSJEaWdpdDkiLGVbZS5LZXlBPTMxXT0iS2V5QSIsZVtlLktleUI9MzJdPSJLZXlCIixlW2UuS2V5Qz0zM109IktleUMiLGVbZS5LZXlEPTM0XT0iS2V5RCIsZVtlLktleUU9MzVdPSJLZXlFIixlW2UuS2V5Rj0zNl09IktleUYiLGVbZS5LZXlHPTM3XT0iS2V5RyIsZVtlLktleUg9MzhdPSJLZXlIIixlW2UuS2V5ST0zOV09IktleUkiLGVbZS5LZXlKPTQwXT0iS2V5SiIsZVtlLktleUs9NDFdPSJLZXlLIixlW2UuS2V5TD00Ml09IktleUwiLGVbZS5LZXlNPTQzXT0iS2V5TSIsZVtlLktleU49NDRdPSJLZXlOIixlW2UuS2V5Tz00NV09IktleU8iLGVbZS5LZXlQPTQ2XT0iS2V5UCIsZVtlLktleVE9NDddPSJLZXlRIixlW2UuS2V5Uj00OF09IktleVIiLGVbZS5LZXlTPTQ5XT0iS2V5UyIsZVtlLktleVQ9NTBdPSJLZXlUIixlW2UuS2V5VT01MV09IktleVUiLGVbZS5LZXlWPTUyXT0iS2V5ViIsZVtlLktleVc9NTNdPSJLZXlXIixlW2UuS2V5WD01NF09IktleVgiLGVbZS5LZXlZPTU1XT0iS2V5WSIsZVtlLktleVo9NTZdPSJLZXlaIixlW2UuTWV0YT01N109Ik1ldGEiLGVbZS5Db250ZXh0TWVudT01OF09IkNvbnRleHRNZW51IixlW2UuRjE9NTldPSJGMSIsZVtlLkYyPTYwXT0iRjIiLGVbZS5GMz02MV09IkYzIixlW2UuRjQ9NjJdPSJGNCIsZVtlLkY1PTYzXT0iRjUiLGVbZS5GNj02NF09IkY2IixlW2UuRjc9NjVdPSJGNyIsZVtlLkY4PTY2XT0iRjgiLGVbZS5GOT02N109IkY5IixlW2UuRjEwPTY4XT0iRjEwIixlW2UuRjExPTY5XT0iRjExIixlW2UuRjEyPTcwXT0iRjEyIixlW2UuRjEzPTcxXT0iRjEzIixlW2UuRjE0PTcyXT0iRjE0IixlW2UuRjE1PTczXT0iRjE1IixlW2UuRjE2PTc0XT0iRjE2IixlW2UuRjE3PTc1XT0iRjE3IixlW2UuRjE4PTc2XT0iRjE4IixlW2UuRjE5PTc3XT0iRjE5IixlW2UuRjIwPTc4XT0iRjIwIixlW2UuRjIxPTc5XT0iRjIxIixlW2UuRjIyPTgwXT0iRjIyIixlW2UuRjIzPTgxXT0iRjIzIixlW2UuRjI0PTgyXT0iRjI0IixlW2UuTnVtTG9jaz04M109Ik51bUxvY2siLGVbZS5TY3JvbGxMb2NrPTg0XT0iU2Nyb2xsTG9jayIsZVtlLlNlbWljb2xvbj04NV09IlNlbWljb2xvbiIsZVtlLkVxdWFsPTg2XT0iRXF1YWwiLGVbZS5Db21tYT04N109IkNvbW1hIixlW2UuTWludXM9ODhdPSJNaW51cyIsZVtlLlBlcmlvZD04OV09IlBlcmlvZCIsZVtlLlNsYXNoPTkwXT0iU2xhc2giLGVbZS5CYWNrcXVvdGU9OTFdPSJCYWNrcXVvdGUiLGVbZS5CcmFja2V0TGVmdD05Ml09IkJyYWNrZXRMZWZ0IixlW2UuQmFja3NsYXNoPTkzXT0iQmFja3NsYXNoIixlW2UuQnJhY2tldFJpZ2h0PTk0XT0iQnJhY2tldFJpZ2h0IixlW2UuUXVvdGU9OTVdPSJRdW90ZSIsZVtlLk9FTV84PTk2XT0iT0VNXzgiLGVbZS5JbnRsQmFja3NsYXNoPTk3XT0iSW50bEJhY2tzbGFzaCIsZVtlLk51bXBhZDA9OThdPSJOdW1wYWQwIixlW2UuTnVtcGFkMT05OV09Ik51bXBhZDEiLGVbZS5OdW1wYWQyPTEwMF09Ik51bXBhZDIiLGVbZS5OdW1wYWQzPTEwMV09Ik51bXBhZDMiLGVbZS5OdW1wYWQ0PTEwMl09Ik51bXBhZDQiLGVbZS5OdW1wYWQ1PTEwM109Ik51bXBhZDUiLGVbZS5OdW1wYWQ2PTEwNF09Ik51bXBhZDYiLGVbZS5OdW1wYWQ3PTEwNV09Ik51bXBhZDciLGVbZS5OdW1wYWQ4PTEwNl09Ik51bXBhZDgiLGVbZS5OdW1wYWQ5PTEwN109Ik51bXBhZDkiLGVbZS5OdW1wYWRNdWx0aXBseT0xMDhdPSJOdW1wYWRNdWx0aXBseSIsZVtlLk51bXBhZEFkZD0xMDldPSJOdW1wYWRBZGQiLGVbZS5OVU1QQURfU0VQQVJBVE9SPTExMF09Ik5VTVBBRF9TRVBBUkFUT1IiLGVbZS5OdW1wYWRTdWJ0cmFjdD0xMTFdPSJOdW1wYWRTdWJ0cmFjdCIsZVtlLk51bXBhZERlY2ltYWw9MTEyXT0iTnVtcGFkRGVjaW1hbCIsZVtlLk51bXBhZERpdmlkZT0xMTNdPSJOdW1wYWREaXZpZGUiLGVbZS5LRVlfSU5fQ09NUE9TSVRJT049MTE0XT0iS0VZX0lOX0NPTVBPU0lUSU9OIixlW2UuQUJOVF9DMT0xMTVdPSJBQk5UX0MxIixlW2UuQUJOVF9DMj0xMTZdPSJBQk5UX0MyIixlW2UuQXVkaW9Wb2x1bWVNdXRlPTExN109IkF1ZGlvVm9sdW1lTXV0ZSIsZVtlLkF1ZGlvVm9sdW1lVXA9MTE4XT0iQXVkaW9Wb2x1bWVVcCIsZVtlLkF1ZGlvVm9sdW1lRG93bj0xMTldPSJBdWRpb1ZvbHVtZURvd24iLGVbZS5Ccm93c2VyU2VhcmNoPTEyMF09IkJyb3dzZXJTZWFyY2giLGVbZS5Ccm93c2VySG9tZT0xMjFdPSJCcm93c2VySG9tZSIsZVtlLkJyb3dzZXJCYWNrPTEyMl09IkJyb3dzZXJCYWNrIixlW2UuQnJvd3NlckZvcndhcmQ9MTIzXT0iQnJvd3NlckZvcndhcmQiLGVbZS5NZWRpYVRyYWNrTmV4dD0xMjRdPSJNZWRpYVRyYWNrTmV4dCIsZVtlLk1lZGlhVHJhY2tQcmV2aW91cz0xMjVdPSJNZWRpYVRyYWNrUHJldmlvdXMiLGVbZS5NZWRpYVN0b3A9MTI2XT0iTWVkaWFTdG9wIixlW2UuTWVkaWFQbGF5UGF1c2U9MTI3XT0iTWVkaWFQbGF5UGF1c2UiLGVbZS5MYXVuY2hNZWRpYVBsYXllcj0xMjhdPSJMYXVuY2hNZWRpYVBsYXllciIsZVtlLkxhdW5jaE1haWw9MTI5XT0iTGF1bmNoTWFpbCIsZVtlLkxhdW5jaEFwcDI9MTMwXT0iTGF1bmNoQXBwMiIsZVtlLkNsZWFyPTEzMV09IkNsZWFyIixlW2UuTUFYX1ZBTFVFPTEzMl09Ik1BWF9WQUxVRSJ9KShCdHx8KEJ0PXt9KSk7dmFyIHF0OyhmdW5jdGlvbihlKXtlW2UuSGludD0xXT0iSGludCIsZVtlLkluZm89Ml09IkluZm8iLGVbZS5XYXJuaW5nPTRdPSJXYXJuaW5nIixlW2UuRXJyb3I9OF09IkVycm9yIn0pKHF0fHwocXQ9e30pKTt2YXIgSHQ7KGZ1bmN0aW9uKGUpe2VbZS5Vbm5lY2Vzc2FyeT0xXT0iVW5uZWNlc3NhcnkiLGVbZS5EZXByZWNhdGVkPTJdPSJEZXByZWNhdGVkIn0pKEh0fHwoSHQ9e30pKTt2YXIgbnM7KGZ1bmN0aW9uKGUpe2VbZS5JbmxpbmU9MV09IklubGluZSIsZVtlLkd1dHRlcj0yXT0iR3V0dGVyIn0pKG5zfHwobnM9e30pKTt2YXIgc3M7KGZ1bmN0aW9uKGUpe2VbZS5Ob3JtYWw9MV09Ik5vcm1hbCIsZVtlLlVuZGVybGluZWQ9Ml09IlVuZGVybGluZWQifSkoc3N8fChzcz17fSkpO3ZhciByczsoZnVuY3Rpb24oZSl7ZVtlLlVOS05PV049MF09IlVOS05PV04iLGVbZS5URVhUQVJFQT0xXT0iVEVYVEFSRUEiLGVbZS5HVVRURVJfR0xZUEhfTUFSR0lOPTJdPSJHVVRURVJfR0xZUEhfTUFSR0lOIixlW2UuR1VUVEVSX0xJTkVfTlVNQkVSUz0zXT0iR1VUVEVSX0xJTkVfTlVNQkVSUyIsZVtlLkdVVFRFUl9MSU5FX0RFQ09SQVRJT05TPTRdPSJHVVRURVJfTElORV9ERUNPUkFUSU9OUyIsZVtlLkdVVFRFUl9WSUVXX1pPTkU9NV09IkdVVFRFUl9WSUVXX1pPTkUiLGVbZS5DT05URU5UX1RFWFQ9Nl09IkNPTlRFTlRfVEVYVCIsZVtlLkNPTlRFTlRfRU1QVFk9N109IkNPTlRFTlRfRU1QVFkiLGVbZS5DT05URU5UX1ZJRVdfWk9ORT04XT0iQ09OVEVOVF9WSUVXX1pPTkUiLGVbZS5DT05URU5UX1dJREdFVD05XT0iQ09OVEVOVF9XSURHRVQiLGVbZS5PVkVSVklFV19SVUxFUj0xMF09Ik9WRVJWSUVXX1JVTEVSIixlW2UuU0NST0xMQkFSPTExXT0iU0NST0xMQkFSIixlW2UuT1ZFUkxBWV9XSURHRVQ9MTJdPSJPVkVSTEFZX1dJREdFVCIsZVtlLk9VVFNJREVfRURJVE9SPTEzXT0iT1VUU0lERV9FRElUT1IifSkocnN8fChycz17fSkpO3ZhciBpczsoZnVuY3Rpb24oZSl7ZVtlLkFJR2VuZXJhdGVkPTFdPSJBSUdlbmVyYXRlZCJ9KShpc3x8KGlzPXt9KSk7dmFyIGFzOyhmdW5jdGlvbihlKXtlW2UuVE9QX1JJR0hUX0NPUk5FUj0wXT0iVE9QX1JJR0hUX0NPUk5FUiIsZVtlLkJPVFRPTV9SSUdIVF9DT1JORVI9MV09IkJPVFRPTV9SSUdIVF9DT1JORVIiLGVbZS5UT1BfQ0VOVEVSPTJdPSJUT1BfQ0VOVEVSIn0pKGFzfHwoYXM9e30pKTt2YXIgbHM7KGZ1bmN0aW9uKGUpe2VbZS5MZWZ0PTFdPSJMZWZ0IixlW2UuQ2VudGVyPTJdPSJDZW50ZXIiLGVbZS5SaWdodD00XT0iUmlnaHQiLGVbZS5GdWxsPTddPSJGdWxsIn0pKGxzfHwobHM9e30pKTt2YXIgb3M7KGZ1bmN0aW9uKGUpe2VbZS5Xb3JkPTBdPSJXb3JkIixlW2UuTGluZT0xXT0iTGluZSIsZVtlLlN1Z2dlc3Q9Ml09IlN1Z2dlc3QifSkob3N8fChvcz17fSkpO3ZhciB1czsoZnVuY3Rpb24oZSl7ZVtlLkxlZnQ9MF09IkxlZnQiLGVbZS5SaWdodD0xXT0iUmlnaHQiLGVbZS5Ob25lPTJdPSJOb25lIixlW2UuTGVmdE9mSW5qZWN0ZWRUZXh0PTNdPSJMZWZ0T2ZJbmplY3RlZFRleHQiLGVbZS5SaWdodE9mSW5qZWN0ZWRUZXh0PTRdPSJSaWdodE9mSW5qZWN0ZWRUZXh0In0pKHVzfHwodXM9e30pKTt2YXIgY3M7KGZ1bmN0aW9uKGUpe2VbZS5PZmY9MF09Ik9mZiIsZVtlLk9uPTFdPSJPbiIsZVtlLlJlbGF0aXZlPTJdPSJSZWxhdGl2ZSIsZVtlLkludGVydmFsPTNdPSJJbnRlcnZhbCIsZVtlLkN1c3RvbT00XT0iQ3VzdG9tIn0pKGNzfHwoY3M9e30pKTt2YXIgaHM7KGZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuVGV4dD0xXT0iVGV4dCIsZVtlLkJsb2Nrcz0yXT0iQmxvY2tzIn0pKGhzfHwoaHM9e30pKTt2YXIgZnM7KGZ1bmN0aW9uKGUpe2VbZS5TbW9vdGg9MF09IlNtb290aCIsZVtlLkltbWVkaWF0ZT0xXT0iSW1tZWRpYXRlIn0pKGZzfHwoZnM9e30pKTt2YXIgZHM7KGZ1bmN0aW9uKGUpe2VbZS5BdXRvPTFdPSJBdXRvIixlW2UuSGlkZGVuPTJdPSJIaWRkZW4iLGVbZS5WaXNpYmxlPTNdPSJWaXNpYmxlIn0pKGRzfHwoZHM9e30pKTt2YXIgV3Q7KGZ1bmN0aW9uKGUpe2VbZS5MVFI9MF09IkxUUiIsZVtlLlJUTD0xXT0iUlRMIn0pKFd0fHwoV3Q9e30pKTt2YXIgbXM7KGZ1bmN0aW9uKGUpe2UuT2ZmPSJvZmYiLGUuT25Db2RlPSJvbkNvZGUiLGUuT249Im9uIn0pKG1zfHwobXM9e30pKTt2YXIgZ3M7KGZ1bmN0aW9uKGUpe2VbZS5JbnZva2U9MV09Ikludm9rZSIsZVtlLlRyaWdnZXJDaGFyYWN0ZXI9Ml09IlRyaWdnZXJDaGFyYWN0ZXIiLGVbZS5Db250ZW50Q2hhbmdlPTNdPSJDb250ZW50Q2hhbmdlIn0pKGdzfHwoZ3M9e30pKTt2YXIgYnM7KGZ1bmN0aW9uKGUpe2VbZS5GaWxlPTBdPSJGaWxlIixlW2UuTW9kdWxlPTFdPSJNb2R1bGUiLGVbZS5OYW1lc3BhY2U9Ml09Ik5hbWVzcGFjZSIsZVtlLlBhY2thZ2U9M109IlBhY2thZ2UiLGVbZS5DbGFzcz00XT0iQ2xhc3MiLGVbZS5NZXRob2Q9NV09Ik1ldGhvZCIsZVtlLlByb3BlcnR5PTZdPSJQcm9wZXJ0eSIsZVtlLkZpZWxkPTddPSJGaWVsZCIsZVtlLkNvbnN0cnVjdG9yPThdPSJDb25zdHJ1Y3RvciIsZVtlLkVudW09OV09IkVudW0iLGVbZS5JbnRlcmZhY2U9MTBdPSJJbnRlcmZhY2UiLGVbZS5GdW5jdGlvbj0xMV09IkZ1bmN0aW9uIixlW2UuVmFyaWFibGU9MTJdPSJWYXJpYWJsZSIsZVtlLkNvbnN0YW50PTEzXT0iQ29uc3RhbnQiLGVbZS5TdHJpbmc9MTRdPSJTdHJpbmciLGVbZS5OdW1iZXI9MTVdPSJOdW1iZXIiLGVbZS5Cb29sZWFuPTE2XT0iQm9vbGVhbiIsZVtlLkFycmF5PTE3XT0iQXJyYXkiLGVbZS5PYmplY3Q9MThdPSJPYmplY3QiLGVbZS5LZXk9MTldPSJLZXkiLGVbZS5OdWxsPTIwXT0iTnVsbCIsZVtlLkVudW1NZW1iZXI9MjFdPSJFbnVtTWVtYmVyIixlW2UuU3RydWN0PTIyXT0iU3RydWN0IixlW2UuRXZlbnQ9MjNdPSJFdmVudCIsZVtlLk9wZXJhdG9yPTI0XT0iT3BlcmF0b3IiLGVbZS5UeXBlUGFyYW1ldGVyPTI1XT0iVHlwZVBhcmFtZXRlciJ9KShic3x8KGJzPXt9KSk7dmFyIF9zOyhmdW5jdGlvbihlKXtlW2UuRGVwcmVjYXRlZD0xXT0iRGVwcmVjYXRlZCJ9KShfc3x8KF9zPXt9KSk7dmFyIHhzOyhmdW5jdGlvbihlKXtlW2UuSGlkZGVuPTBdPSJIaWRkZW4iLGVbZS5CbGluaz0xXT0iQmxpbmsiLGVbZS5TbW9vdGg9Ml09IlNtb290aCIsZVtlLlBoYXNlPTNdPSJQaGFzZSIsZVtlLkV4cGFuZD00XT0iRXhwYW5kIixlW2UuU29saWQ9NV09IlNvbGlkIn0pKHhzfHwoeHM9e30pKTt2YXIgcHM7KGZ1bmN0aW9uKGUpe2VbZS5MaW5lPTFdPSJMaW5lIixlW2UuQmxvY2s9Ml09IkJsb2NrIixlW2UuVW5kZXJsaW5lPTNdPSJVbmRlcmxpbmUiLGVbZS5MaW5lVGhpbj00XT0iTGluZVRoaW4iLGVbZS5CbG9ja091dGxpbmU9NV09IkJsb2NrT3V0bGluZSIsZVtlLlVuZGVybGluZVRoaW49Nl09IlVuZGVybGluZVRoaW4ifSkocHN8fChwcz17fSkpO3ZhciB2czsoZnVuY3Rpb24oZSl7ZVtlLkFsd2F5c0dyb3dzV2hlblR5cGluZ0F0RWRnZXM9MF09IkFsd2F5c0dyb3dzV2hlblR5cGluZ0F0RWRnZXMiLGVbZS5OZXZlckdyb3dzV2hlblR5cGluZ0F0RWRnZXM9MV09Ik5ldmVyR3Jvd3NXaGVuVHlwaW5nQXRFZGdlcyIsZVtlLkdyb3dzT25seVdoZW5UeXBpbmdCZWZvcmU9Ml09Ikdyb3dzT25seVdoZW5UeXBpbmdCZWZvcmUiLGVbZS5Hcm93c09ubHlXaGVuVHlwaW5nQWZ0ZXI9M109Ikdyb3dzT25seVdoZW5UeXBpbmdBZnRlciJ9KSh2c3x8KHZzPXt9KSk7dmFyIExzOyhmdW5jdGlvbihlKXtlW2UuTm9uZT0wXT0iTm9uZSIsZVtlLlNhbWU9MV09IlNhbWUiLGVbZS5JbmRlbnQ9Ml09IkluZGVudCIsZVtlLkRlZXBJbmRlbnQ9M109IkRlZXBJbmRlbnQifSkoTHN8fChMcz17fSkpO2NsYXNzIE9le3N0YXRpYyBjaG9yZCh0LG4pe3JldHVybiBMaSh0LG4pfX1PZS5DdHJsQ21kPTIwNDgsT2UuU2hpZnQ9MTAyNCxPZS5BbHQ9NTEyLE9lLldpbkN0cmw9MjU2O2Z1bmN0aW9uIHlpKCl7cmV0dXJue2VkaXRvcjp2b2lkIDAsbGFuZ3VhZ2VzOnZvaWQgMCxDYW5jZWxsYXRpb25Ub2tlblNvdXJjZTpfaSxFbWl0dGVyOnJlLEtleUNvZGU6QnQsS2V5TW9kOk9lLFBvc2l0aW9uOlksUmFuZ2U6RixTZWxlY3Rpb246dGUsU2VsZWN0aW9uRGlyZWN0aW9uOld0LE1hcmtlclNldmVyaXR5OnF0LE1hcmtlclRhZzpIdCxVcmk6TmUsVG9rZW46QWl9fXZhciB3cztjbGFzcyBSaXtjb25zdHJ1Y3Rvcigpe3RoaXNbd3NdPSJMaW5rZWRNYXAiLHRoaXMuX21hcD1uZXcgTWFwLHRoaXMuX2hlYWQ9dm9pZCAwLHRoaXMuX3RhaWw9dm9pZCAwLHRoaXMuX3NpemU9MCx0aGlzLl9zdGF0ZT0wfWNsZWFyKCl7dGhpcy5fbWFwLmNsZWFyKCksdGhpcy5faGVhZD12b2lkIDAsdGhpcy5fdGFpbD12b2lkIDAsdGhpcy5fc2l6ZT0wLHRoaXMuX3N0YXRlKyt9aXNFbXB0eSgpe3JldHVybiF0aGlzLl9oZWFkJiYhdGhpcy5fdGFpbH1nZXQgc2l6ZSgpe3JldHVybiB0aGlzLl9zaXplfWdldCBmaXJzdCgpe3ZhciB0O3JldHVybih0PXRoaXMuX2hlYWQpPT09bnVsbHx8dD09PXZvaWQgMD92b2lkIDA6dC52YWx1ZX1nZXQgbGFzdCgpe3ZhciB0O3JldHVybih0PXRoaXMuX3RhaWwpPT09bnVsbHx8dD09PXZvaWQgMD92b2lkIDA6dC52YWx1ZX1oYXModCl7cmV0dXJuIHRoaXMuX21hcC5oYXModCl9Z2V0KHQsbj0wKXtjb25zdCBzPXRoaXMuX21hcC5nZXQodCk7aWYocylyZXR1cm4gbiE9PTAmJnRoaXMudG91Y2gocyxuKSxzLnZhbHVlfXNldCh0LG4scz0wKXtsZXQgcj10aGlzLl9tYXAuZ2V0KHQpO2lmKHIpci52YWx1ZT1uLHMhPT0wJiZ0aGlzLnRvdWNoKHIscyk7ZWxzZXtzd2l0Y2gocj17a2V5OnQsdmFsdWU6bixuZXh0OnZvaWQgMCxwcmV2aW91czp2b2lkIDB9LHMpe2Nhc2UgMDp0aGlzLmFkZEl0ZW1MYXN0KHIpO2JyZWFrO2Nhc2UgMTp0aGlzLmFkZEl0ZW1GaXJzdChyKTticmVhaztjYXNlIDI6dGhpcy5hZGRJdGVtTGFzdChyKTticmVhaztkZWZhdWx0OnRoaXMuYWRkSXRlbUxhc3Qocik7YnJlYWt9dGhpcy5fbWFwLnNldCh0LHIpLHRoaXMuX3NpemUrK31yZXR1cm4gdGhpc31kZWxldGUodCl7cmV0dXJuISF0aGlzLnJlbW92ZSh0KX1yZW1vdmUodCl7Y29uc3Qgbj10aGlzLl9tYXAuZ2V0KHQpO2lmKG4pcmV0dXJuIHRoaXMuX21hcC5kZWxldGUodCksdGhpcy5yZW1vdmVJdGVtKG4pLHRoaXMuX3NpemUtLSxuLnZhbHVlfXNoaWZ0KCl7aWYoIXRoaXMuX2hlYWQmJiF0aGlzLl90YWlsKXJldHVybjtpZighdGhpcy5faGVhZHx8IXRoaXMuX3RhaWwpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGxpc3QiKTtjb25zdCB0PXRoaXMuX2hlYWQ7cmV0dXJuIHRoaXMuX21hcC5kZWxldGUodC5rZXkpLHRoaXMucmVtb3ZlSXRlbSh0KSx0aGlzLl9zaXplLS0sdC52YWx1ZX1mb3JFYWNoKHQsbil7Y29uc3Qgcz10aGlzLl9zdGF0ZTtsZXQgcj10aGlzLl9oZWFkO2Zvcig7cjspe2lmKG4/dC5iaW5kKG4pKHIudmFsdWUsci5rZXksdGhpcyk6dChyLnZhbHVlLHIua2V5LHRoaXMpLHRoaXMuX3N0YXRlIT09cyl0aHJvdyBuZXcgRXJyb3IoIkxpbmtlZE1hcCBnb3QgbW9kaWZpZWQgZHVyaW5nIGl0ZXJhdGlvbi4iKTtyPXIubmV4dH19a2V5cygpe2NvbnN0IHQ9dGhpcyxuPXRoaXMuX3N0YXRlO2xldCBzPXRoaXMuX2hlYWQ7Y29uc3Qgcj17W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gcn0sbmV4dCgpe2lmKHQuX3N0YXRlIT09bil0aHJvdyBuZXcgRXJyb3IoIkxpbmtlZE1hcCBnb3QgbW9kaWZpZWQgZHVyaW5nIGl0ZXJhdGlvbi4iKTtpZihzKXtjb25zdCBpPXt2YWx1ZTpzLmtleSxkb25lOiExfTtyZXR1cm4gcz1zLm5leHQsaX1lbHNlIHJldHVybnt2YWx1ZTp2b2lkIDAsZG9uZTohMH19fTtyZXR1cm4gcn12YWx1ZXMoKXtjb25zdCB0PXRoaXMsbj10aGlzLl9zdGF0ZTtsZXQgcz10aGlzLl9oZWFkO2NvbnN0IHI9e1tTeW1ib2wuaXRlcmF0b3JdKCl7cmV0dXJuIHJ9LG5leHQoKXtpZih0Ll9zdGF0ZSE9PW4pdGhyb3cgbmV3IEVycm9yKCJMaW5rZWRNYXAgZ290IG1vZGlmaWVkIGR1cmluZyBpdGVyYXRpb24uIik7aWYocyl7Y29uc3QgaT17dmFsdWU6cy52YWx1ZSxkb25lOiExfTtyZXR1cm4gcz1zLm5leHQsaX1lbHNlIHJldHVybnt2YWx1ZTp2b2lkIDAsZG9uZTohMH19fTtyZXR1cm4gcn1lbnRyaWVzKCl7Y29uc3QgdD10aGlzLG49dGhpcy5fc3RhdGU7bGV0IHM9dGhpcy5faGVhZDtjb25zdCByPXtbU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiByfSxuZXh0KCl7aWYodC5fc3RhdGUhPT1uKXRocm93IG5ldyBFcnJvcigiTGlua2VkTWFwIGdvdCBtb2RpZmllZCBkdXJpbmcgaXRlcmF0aW9uLiIpO2lmKHMpe2NvbnN0IGk9e3ZhbHVlOltzLmtleSxzLnZhbHVlXSxkb25lOiExfTtyZXR1cm4gcz1zLm5leHQsaX1lbHNlIHJldHVybnt2YWx1ZTp2b2lkIDAsZG9uZTohMH19fTtyZXR1cm4gcn1bKHdzPVN5bWJvbC50b1N0cmluZ1RhZyxTeW1ib2wuaXRlcmF0b3IpXSgpe3JldHVybiB0aGlzLmVudHJpZXMoKX10cmltT2xkKHQpe2lmKHQ+PXRoaXMuc2l6ZSlyZXR1cm47aWYodD09PTApe3RoaXMuY2xlYXIoKTtyZXR1cm59bGV0IG49dGhpcy5faGVhZCxzPXRoaXMuc2l6ZTtmb3IoO24mJnM+dDspdGhpcy5fbWFwLmRlbGV0ZShuLmtleSksbj1uLm5leHQscy0tO3RoaXMuX2hlYWQ9bix0aGlzLl9zaXplPXMsbiYmKG4ucHJldmlvdXM9dm9pZCAwKSx0aGlzLl9zdGF0ZSsrfWFkZEl0ZW1GaXJzdCh0KXtpZighdGhpcy5faGVhZCYmIXRoaXMuX3RhaWwpdGhpcy5fdGFpbD10O2Vsc2UgaWYodGhpcy5faGVhZCl0Lm5leHQ9dGhpcy5faGVhZCx0aGlzLl9oZWFkLnByZXZpb3VzPXQ7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgbGlzdCIpO3RoaXMuX2hlYWQ9dCx0aGlzLl9zdGF0ZSsrfWFkZEl0ZW1MYXN0KHQpe2lmKCF0aGlzLl9oZWFkJiYhdGhpcy5fdGFpbCl0aGlzLl9oZWFkPXQ7ZWxzZSBpZih0aGlzLl90YWlsKXQucHJldmlvdXM9dGhpcy5fdGFpbCx0aGlzLl90YWlsLm5leHQ9dDtlbHNlIHRocm93IG5ldyBFcnJvcigiSW52YWxpZCBsaXN0Iik7dGhpcy5fdGFpbD10LHRoaXMuX3N0YXRlKyt9cmVtb3ZlSXRlbSh0KXtpZih0PT09dGhpcy5faGVhZCYmdD09PXRoaXMuX3RhaWwpdGhpcy5faGVhZD12b2lkIDAsdGhpcy5fdGFpbD12b2lkIDA7ZWxzZSBpZih0PT09dGhpcy5faGVhZCl7aWYoIXQubmV4dCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgbGlzdCIpO3QubmV4dC5wcmV2aW91cz12b2lkIDAsdGhpcy5faGVhZD10Lm5leHR9ZWxzZSBpZih0PT09dGhpcy5fdGFpbCl7aWYoIXQucHJldmlvdXMpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGxpc3QiKTt0LnByZXZpb3VzLm5leHQ9dm9pZCAwLHRoaXMuX3RhaWw9dC5wcmV2aW91c31lbHNle2NvbnN0IG49dC5uZXh0LHM9dC5wcmV2aW91cztpZighbnx8IXMpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGxpc3QiKTtuLnByZXZpb3VzPXMscy5uZXh0PW59dC5uZXh0PXZvaWQgMCx0LnByZXZpb3VzPXZvaWQgMCx0aGlzLl9zdGF0ZSsrfXRvdWNoKHQsbil7aWYoIXRoaXMuX2hlYWR8fCF0aGlzLl90YWlsKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBsaXN0Iik7aWYoIShuIT09MSYmbiE9PTIpKXtpZihuPT09MSl7aWYodD09PXRoaXMuX2hlYWQpcmV0dXJuO2NvbnN0IHM9dC5uZXh0LHI9dC5wcmV2aW91czt0PT09dGhpcy5fdGFpbD8oci5uZXh0PXZvaWQgMCx0aGlzLl90YWlsPXIpOihzLnByZXZpb3VzPXIsci5uZXh0PXMpLHQucHJldmlvdXM9dm9pZCAwLHQubmV4dD10aGlzLl9oZWFkLHRoaXMuX2hlYWQucHJldmlvdXM9dCx0aGlzLl9oZWFkPXQsdGhpcy5fc3RhdGUrK31lbHNlIGlmKG49PT0yKXtpZih0PT09dGhpcy5fdGFpbClyZXR1cm47Y29uc3Qgcz10Lm5leHQscj10LnByZXZpb3VzO3Q9PT10aGlzLl9oZWFkPyhzLnByZXZpb3VzPXZvaWQgMCx0aGlzLl9oZWFkPXMpOihzLnByZXZpb3VzPXIsci5uZXh0PXMpLHQubmV4dD12b2lkIDAsdC5wcmV2aW91cz10aGlzLl90YWlsLHRoaXMuX3RhaWwubmV4dD10LHRoaXMuX3RhaWw9dCx0aGlzLl9zdGF0ZSsrfX19dG9KU09OKCl7Y29uc3QgdD1bXTtyZXR1cm4gdGhpcy5mb3JFYWNoKChuLHMpPT57dC5wdXNoKFtzLG5dKX0pLHR9ZnJvbUpTT04odCl7dGhpcy5jbGVhcigpO2Zvcihjb25zdFtuLHNdb2YgdCl0aGlzLnNldChuLHMpfX1jbGFzcyBFaSBleHRlbmRzIFJpe2NvbnN0cnVjdG9yKHQsbj0xKXtzdXBlcigpLHRoaXMuX2xpbWl0PXQsdGhpcy5fcmF0aW89TWF0aC5taW4oTWF0aC5tYXgoMCxuKSwxKX1nZXQgbGltaXQoKXtyZXR1cm4gdGhpcy5fbGltaXR9c2V0IGxpbWl0KHQpe3RoaXMuX2xpbWl0PXQsdGhpcy5jaGVja1RyaW0oKX1nZXQodCxuPTIpe3JldHVybiBzdXBlci5nZXQodCxuKX1wZWVrKHQpe3JldHVybiBzdXBlci5nZXQodCwwKX1zZXQodCxuKXtyZXR1cm4gc3VwZXIuc2V0KHQsbiwyKSx0aGlzLmNoZWNrVHJpbSgpLHRoaXN9Y2hlY2tUcmltKCl7dGhpcy5zaXplPnRoaXMuX2xpbWl0JiZ0aGlzLnRyaW1PbGQoTWF0aC5yb3VuZCh0aGlzLl9saW1pdCp0aGlzLl9yYXRpbykpfX1jbGFzcyBNaXtjb25zdHJ1Y3Rvcigpe3RoaXMubWFwPW5ldyBNYXB9YWRkKHQsbil7bGV0IHM9dGhpcy5tYXAuZ2V0KHQpO3N8fChzPW5ldyBTZXQsdGhpcy5tYXAuc2V0KHQscykpLHMuYWRkKG4pfWRlbGV0ZSh0LG4pe2NvbnN0IHM9dGhpcy5tYXAuZ2V0KHQpO3MmJihzLmRlbGV0ZShuKSxzLnNpemU9PT0wJiZ0aGlzLm1hcC5kZWxldGUodCkpfWZvckVhY2godCxuKXtjb25zdCBzPXRoaXMubWFwLmdldCh0KTtzJiZzLmZvckVhY2gobil9Z2V0KHQpe2NvbnN0IG49dGhpcy5tYXAuZ2V0KHQpO3JldHVybiBufHxuZXcgU2V0fX1uZXcgRWkoMTApO3ZhciBOczsoZnVuY3Rpb24oZSl7ZVtlLkxlZnQ9MV09IkxlZnQiLGVbZS5DZW50ZXI9Ml09IkNlbnRlciIsZVtlLlJpZ2h0PTRdPSJSaWdodCIsZVtlLkZ1bGw9N109IkZ1bGwifSkoTnN8fChOcz17fSkpO3ZhciBTczsoZnVuY3Rpb24oZSl7ZVtlLkxlZnQ9MV09IkxlZnQiLGVbZS5DZW50ZXI9Ml09IkNlbnRlciIsZVtlLlJpZ2h0PTNdPSJSaWdodCJ9KShTc3x8KFNzPXt9KSk7dmFyIENzOyhmdW5jdGlvbihlKXtlW2UuQm90aD0wXT0iQm90aCIsZVtlLlJpZ2h0PTFdPSJSaWdodCIsZVtlLkxlZnQ9Ml09IkxlZnQiLGVbZS5Ob25lPTNdPSJOb25lIn0pKENzfHwoQ3M9e30pKTtmdW5jdGlvbiBraShlLHQsbixzLHIpe2lmKHM9PT0wKXJldHVybiEwO2NvbnN0IGk9dC5jaGFyQ29kZUF0KHMtMSk7aWYoZS5nZXQoaSkhPT0wfHxpPT09MTN8fGk9PT0xMClyZXR1cm4hMDtpZihyPjApe2NvbnN0IGw9dC5jaGFyQ29kZUF0KHMpO2lmKGUuZ2V0KGwpIT09MClyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBQaShlLHQsbixzLHIpe2lmKHMrcj09PW4pcmV0dXJuITA7Y29uc3QgaT10LmNoYXJDb2RlQXQocytyKTtpZihlLmdldChpKSE9PTB8fGk9PT0xM3x8aT09PTEwKXJldHVybiEwO2lmKHI+MCl7Y29uc3QgbD10LmNoYXJDb2RlQXQocytyLTEpO2lmKGUuZ2V0KGwpIT09MClyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBGaShlLHQsbixzLHIpe3JldHVybiBraShlLHQsbixzLHIpJiZQaShlLHQsbixzLHIpfWNsYXNzIERpe2NvbnN0cnVjdG9yKHQsbil7dGhpcy5fd29yZFNlcGFyYXRvcnM9dCx0aGlzLl9zZWFyY2hSZWdleD1uLHRoaXMuX3ByZXZNYXRjaFN0YXJ0SW5kZXg9LTEsdGhpcy5fcHJldk1hdGNoTGVuZ3RoPTB9cmVzZXQodCl7dGhpcy5fc2VhcmNoUmVnZXgubGFzdEluZGV4PXQsdGhpcy5fcHJldk1hdGNoU3RhcnRJbmRleD0tMSx0aGlzLl9wcmV2TWF0Y2hMZW5ndGg9MH1uZXh0KHQpe2NvbnN0IG49dC5sZW5ndGg7bGV0IHM7ZG97aWYodGhpcy5fcHJldk1hdGNoU3RhcnRJbmRleCt0aGlzLl9wcmV2TWF0Y2hMZW5ndGg9PT1ufHwocz10aGlzLl9zZWFyY2hSZWdleC5leGVjKHQpLCFzKSlyZXR1cm4gbnVsbDtjb25zdCByPXMuaW5kZXgsaT1zWzBdLmxlbmd0aDtpZihyPT09dGhpcy5fcHJldk1hdGNoU3RhcnRJbmRleCYmaT09PXRoaXMuX3ByZXZNYXRjaExlbmd0aCl7aWYoaT09PTApe1NyKHQsbix0aGlzLl9zZWFyY2hSZWdleC5sYXN0SW5kZXgpPjY1NTM1P3RoaXMuX3NlYXJjaFJlZ2V4Lmxhc3RJbmRleCs9Mjp0aGlzLl9zZWFyY2hSZWdleC5sYXN0SW5kZXgrPTE7Y29udGludWV9cmV0dXJuIG51bGx9aWYodGhpcy5fcHJldk1hdGNoU3RhcnRJbmRleD1yLHRoaXMuX3ByZXZNYXRjaExlbmd0aD1pLCF0aGlzLl93b3JkU2VwYXJhdG9yc3x8RmkodGhpcy5fd29yZFNlcGFyYXRvcnMsdCxuLHIsaSkpcmV0dXJuIHN9d2hpbGUocyk7cmV0dXJuIG51bGx9fWZ1bmN0aW9uIFRpKGUsdD0iVW5yZWFjaGFibGUiKXt0aHJvdyBuZXcgRXJyb3IodCl9ZnVuY3Rpb24gaHQoZSl7ZSgpfHwoZSgpLEp0KG5ldyBjZSgiQXNzZXJ0aW9uIEZhaWxlZCIpKSl9ZnVuY3Rpb24gQXMoZSx0KXtsZXQgbj0wO2Zvcig7bjxlLmxlbmd0aC0xOyl7Y29uc3Qgcz1lW25dLHI9ZVtuKzFdO2lmKCF0KHMscikpcmV0dXJuITE7bisrfXJldHVybiEwfWNsYXNzIFVpe3N0YXRpYyBjb21wdXRlVW5pY29kZUhpZ2hsaWdodHModCxuLHMpe2NvbnN0IHI9cz9zLnN0YXJ0TGluZU51bWJlcjoxLGk9cz9zLmVuZExpbmVOdW1iZXI6dC5nZXRMaW5lQ291bnQoKSxsPW5ldyB5cyhuKSxvPWwuZ2V0Q2FuZGlkYXRlQ29kZVBvaW50cygpO2xldCB1O289PT0iYWxsTm9uQmFzaWNBc2NpaSI/dT1uZXcgUmVnRXhwKCJbXlxcdFxcblxcclxceDIwLVxceDdFXSIsImciKTp1PW5ldyBSZWdFeHAoYCR7VmkoQXJyYXkuZnJvbShvKSl9YCwiZyIpO2NvbnN0IGM9bmV3IERpKG51bGwsdSksaD1bXTtsZXQgZj0hMSxkLG09MCxnPTAseD0wO2U6Zm9yKGxldCB2PXIsTj1pO3Y8PU47disrKXtjb25zdCBTPXQuZ2V0TGluZUNvbnRlbnQodiksXz1TLmxlbmd0aDtjLnJlc2V0KDApO2RvIGlmKGQ9Yy5uZXh0KFMpLGQpe2xldCB3PWQuaW5kZXgscD1kLmluZGV4K2RbMF0ubGVuZ3RoO2lmKHc+MCl7Y29uc3QgQj1TLmNoYXJDb2RlQXQody0xKTt5dChCKSYmdy0tfWlmKHArMTxfKXtjb25zdCBCPVMuY2hhckNvZGVBdChwLTEpO3l0KEIpJiZwKyt9Y29uc3QgeT1TLnN1YnN0cmluZyh3LHApO2xldCBSPVB0KHcrMSx2bixTLDApO1ImJlIuZW5kQ29sdW1uPD13KzEmJihSPW51bGwpO2NvbnN0IEU9bC5zaG91bGRIaWdobGlnaHROb25CYXNpY0FTQ0lJKHksUj9SLndvcmQ6bnVsbCk7aWYoRSE9PTApe2lmKEU9PT0zP20rKzpFPT09Mj9nKys6RT09PTE/eCsrOlRpKCksaC5sZW5ndGg+PTFlMyl7Zj0hMDticmVhayBlfWgucHVzaChuZXcgRih2LHcrMSx2LHArMSkpfX13aGlsZShkKX1yZXR1cm57cmFuZ2VzOmgsaGFzTW9yZTpmLGFtYmlndW91c0NoYXJhY3RlckNvdW50Om0saW52aXNpYmxlQ2hhcmFjdGVyQ291bnQ6Zyxub25CYXNpY0FzY2lpQ2hhcmFjdGVyQ291bnQ6eH19c3RhdGljIGNvbXB1dGVVbmljb2RlSGlnaGxpZ2h0UmVhc29uKHQsbil7Y29uc3Qgcz1uZXcgeXMobik7c3dpdGNoKHMuc2hvdWxkSGlnaGxpZ2h0Tm9uQmFzaWNBU0NJSSh0LG51bGwpKXtjYXNlIDA6cmV0dXJuIG51bGw7Y2FzZSAyOnJldHVybntraW5kOjF9O2Nhc2UgMzp7Y29uc3QgaT10LmNvZGVQb2ludEF0KDApLGw9cy5hbWJpZ3VvdXNDaGFyYWN0ZXJzLmdldFByaW1hcnlDb25mdXNhYmxlKGkpLG89d2UuZ2V0TG9jYWxlcygpLmZpbHRlcih1PT4hd2UuZ2V0SW5zdGFuY2UobmV3IFNldChbLi4ubi5hbGxvd2VkTG9jYWxlcyx1XSkpLmlzQW1iaWd1b3VzKGkpKTtyZXR1cm57a2luZDowLGNvbmZ1c2FibGVXaXRoOlN0cmluZy5mcm9tQ29kZVBvaW50KGwpLG5vdEFtYmlndW91c0luTG9jYWxlczpvfX1jYXNlIDE6cmV0dXJue2tpbmQ6Mn19fX1mdW5jdGlvbiBWaShlLHQpe3JldHVybmBbJHt4cihlLm1hcChzPT5TdHJpbmcuZnJvbUNvZGVQb2ludChzKSkuam9pbigiIikpfV1gfWNsYXNzIHlze2NvbnN0cnVjdG9yKHQpe3RoaXMub3B0aW9ucz10LHRoaXMuYWxsb3dlZENvZGVQb2ludHM9bmV3IFNldCh0LmFsbG93ZWRDb2RlUG9pbnRzKSx0aGlzLmFtYmlndW91c0NoYXJhY3RlcnM9d2UuZ2V0SW5zdGFuY2UobmV3IFNldCh0LmFsbG93ZWRMb2NhbGVzKSl9Z2V0Q2FuZGlkYXRlQ29kZVBvaW50cygpe2lmKHRoaXMub3B0aW9ucy5ub25CYXNpY0FTQ0lJKXJldHVybiJhbGxOb25CYXNpY0FzY2lpIjtjb25zdCB0PW5ldyBTZXQ7aWYodGhpcy5vcHRpb25zLmludmlzaWJsZUNoYXJhY3RlcnMpZm9yKGNvbnN0IG4gb2YgZGUuY29kZVBvaW50cylScyhTdHJpbmcuZnJvbUNvZGVQb2ludChuKSl8fHQuYWRkKG4pO2lmKHRoaXMub3B0aW9ucy5hbWJpZ3VvdXNDaGFyYWN0ZXJzKWZvcihjb25zdCBuIG9mIHRoaXMuYW1iaWd1b3VzQ2hhcmFjdGVycy5nZXRDb25mdXNhYmxlQ29kZVBvaW50cygpKXQuYWRkKG4pO2Zvcihjb25zdCBuIG9mIHRoaXMuYWxsb3dlZENvZGVQb2ludHMpdC5kZWxldGUobik7cmV0dXJuIHR9c2hvdWxkSGlnaGxpZ2h0Tm9uQmFzaWNBU0NJSSh0LG4pe2NvbnN0IHM9dC5jb2RlUG9pbnRBdCgwKTtpZih0aGlzLmFsbG93ZWRDb2RlUG9pbnRzLmhhcyhzKSlyZXR1cm4gMDtpZih0aGlzLm9wdGlvbnMubm9uQmFzaWNBU0NJSSlyZXR1cm4gMTtsZXQgcj0hMSxpPSExO2lmKG4pZm9yKGNvbnN0IGwgb2Ygbil7Y29uc3Qgbz1sLmNvZGVQb2ludEF0KDApLHU9QXIobCk7cj1yfHx1LCF1JiYhdGhpcy5hbWJpZ3VvdXNDaGFyYWN0ZXJzLmlzQW1iaWd1b3VzKG8pJiYhZGUuaXNJbnZpc2libGVDaGFyYWN0ZXIobykmJihpPSEwKX1yZXR1cm4hciYmaT8wOnRoaXMub3B0aW9ucy5pbnZpc2libGVDaGFyYWN0ZXJzJiYhUnModCkmJmRlLmlzSW52aXNpYmxlQ2hhcmFjdGVyKHMpPzI6dGhpcy5vcHRpb25zLmFtYmlndW91c0NoYXJhY3RlcnMmJnRoaXMuYW1iaWd1b3VzQ2hhcmFjdGVycy5pc0FtYmlndW91cyhzKT8zOjB9fWZ1bmN0aW9uIFJzKGUpe3JldHVybiBlPT09IiAifHxlPT09YApgfHxlPT09IgkifWNsYXNzIGZ0e2NvbnN0cnVjdG9yKHQsbixzKXt0aGlzLmNoYW5nZXM9dCx0aGlzLm1vdmVzPW4sdGhpcy5oaXRUaW1lb3V0PXN9fWNsYXNzIElpe2NvbnN0cnVjdG9yKHQsbil7dGhpcy5saW5lUmFuZ2VNYXBwaW5nPXQsdGhpcy5jaGFuZ2VzPW59fWNsYXNzIFV7c3RhdGljIGFkZFJhbmdlKHQsbil7bGV0IHM9MDtmb3IoO3M8bi5sZW5ndGgmJm5bc10uZW5kRXhjbHVzaXZlPHQuc3RhcnQ7KXMrKztsZXQgcj1zO2Zvcig7cjxuLmxlbmd0aCYmbltyXS5zdGFydDw9dC5lbmRFeGNsdXNpdmU7KXIrKztpZihzPT09ciluLnNwbGljZShzLDAsdCk7ZWxzZXtjb25zdCBpPU1hdGgubWluKHQuc3RhcnQsbltzXS5zdGFydCksbD1NYXRoLm1heCh0LmVuZEV4Y2x1c2l2ZSxuW3ItMV0uZW5kRXhjbHVzaXZlKTtuLnNwbGljZShzLHItcyxuZXcgVShpLGwpKX19c3RhdGljIHRyeUNyZWF0ZSh0LG4pe2lmKCEodD5uKSlyZXR1cm4gbmV3IFUodCxuKX1zdGF0aWMgb2ZMZW5ndGgodCl7cmV0dXJuIG5ldyBVKDAsdCl9c3RhdGljIG9mU3RhcnRBbmRMZW5ndGgodCxuKXtyZXR1cm4gbmV3IFUodCx0K24pfWNvbnN0cnVjdG9yKHQsbil7aWYodGhpcy5zdGFydD10LHRoaXMuZW5kRXhjbHVzaXZlPW4sdD5uKXRocm93IG5ldyBjZShgSW52YWxpZCByYW5nZTogJHt0aGlzLnRvU3RyaW5nKCl9YCl9Z2V0IGlzRW1wdHkoKXtyZXR1cm4gdGhpcy5zdGFydD09PXRoaXMuZW5kRXhjbHVzaXZlfWRlbHRhKHQpe3JldHVybiBuZXcgVSh0aGlzLnN0YXJ0K3QsdGhpcy5lbmRFeGNsdXNpdmUrdCl9ZGVsdGFTdGFydCh0KXtyZXR1cm4gbmV3IFUodGhpcy5zdGFydCt0LHRoaXMuZW5kRXhjbHVzaXZlKX1kZWx0YUVuZCh0KXtyZXR1cm4gbmV3IFUodGhpcy5zdGFydCx0aGlzLmVuZEV4Y2x1c2l2ZSt0KX1nZXQgbGVuZ3RoKCl7cmV0dXJuIHRoaXMuZW5kRXhjbHVzaXZlLXRoaXMuc3RhcnR9dG9TdHJpbmcoKXtyZXR1cm5gWyR7dGhpcy5zdGFydH0sICR7dGhpcy5lbmRFeGNsdXNpdmV9KWB9Y29udGFpbnModCl7cmV0dXJuIHRoaXMuc3RhcnQ8PXQmJnQ8dGhpcy5lbmRFeGNsdXNpdmV9am9pbih0KXtyZXR1cm4gbmV3IFUoTWF0aC5taW4odGhpcy5zdGFydCx0LnN0YXJ0KSxNYXRoLm1heCh0aGlzLmVuZEV4Y2x1c2l2ZSx0LmVuZEV4Y2x1c2l2ZSkpfWludGVyc2VjdCh0KXtjb25zdCBuPU1hdGgubWF4KHRoaXMuc3RhcnQsdC5zdGFydCkscz1NYXRoLm1pbih0aGlzLmVuZEV4Y2x1c2l2ZSx0LmVuZEV4Y2x1c2l2ZSk7aWYobjw9cylyZXR1cm4gbmV3IFUobixzKX1pbnRlcnNlY3RzKHQpe2NvbnN0IG49TWF0aC5tYXgodGhpcy5zdGFydCx0LnN0YXJ0KSxzPU1hdGgubWluKHRoaXMuZW5kRXhjbHVzaXZlLHQuZW5kRXhjbHVzaXZlKTtyZXR1cm4gbjxzfWlzQmVmb3JlKHQpe3JldHVybiB0aGlzLmVuZEV4Y2x1c2l2ZTw9dC5zdGFydH1pc0FmdGVyKHQpe3JldHVybiB0aGlzLnN0YXJ0Pj10LmVuZEV4Y2x1c2l2ZX1zbGljZSh0KXtyZXR1cm4gdC5zbGljZSh0aGlzLnN0YXJ0LHRoaXMuZW5kRXhjbHVzaXZlKX1zdWJzdHJpbmcodCl7cmV0dXJuIHQuc3Vic3RyaW5nKHRoaXMuc3RhcnQsdGhpcy5lbmRFeGNsdXNpdmUpfWNsaXAodCl7aWYodGhpcy5pc0VtcHR5KXRocm93IG5ldyBjZShgSW52YWxpZCBjbGlwcGluZyByYW5nZTogJHt0aGlzLnRvU3RyaW5nKCl9YCk7cmV0dXJuIE1hdGgubWF4KHRoaXMuc3RhcnQsTWF0aC5taW4odGhpcy5lbmRFeGNsdXNpdmUtMSx0KSl9Y2xpcEN5Y2xpYyh0KXtpZih0aGlzLmlzRW1wdHkpdGhyb3cgbmV3IGNlKGBJbnZhbGlkIGNsaXBwaW5nIHJhbmdlOiAke3RoaXMudG9TdHJpbmcoKX1gKTtyZXR1cm4gdDx0aGlzLnN0YXJ0P3RoaXMuZW5kRXhjbHVzaXZlLSh0aGlzLnN0YXJ0LXQpJXRoaXMubGVuZ3RoOnQ+PXRoaXMuZW5kRXhjbHVzaXZlP3RoaXMuc3RhcnQrKHQtdGhpcy5zdGFydCkldGhpcy5sZW5ndGg6dH1mb3JFYWNoKHQpe2ZvcihsZXQgbj10aGlzLnN0YXJ0O248dGhpcy5lbmRFeGNsdXNpdmU7bisrKXQobil9fWZ1bmN0aW9uIFVlKGUsdCl7Y29uc3Qgbj1HZShlLHQpO3JldHVybiBuPT09LTE/dm9pZCAwOmVbbl19ZnVuY3Rpb24gR2UoZSx0LG49MCxzPWUubGVuZ3RoKXtsZXQgcj1uLGk9cztmb3IoO3I8aTspe2NvbnN0IGw9TWF0aC5mbG9vcigocitpKS8yKTt0KGVbbF0pP3I9bCsxOmk9bH1yZXR1cm4gci0xfWZ1bmN0aW9uIEJpKGUsdCl7Y29uc3Qgbj16dChlLHQpO3JldHVybiBuPT09ZS5sZW5ndGg/dm9pZCAwOmVbbl19ZnVuY3Rpb24genQoZSx0LG49MCxzPWUubGVuZ3RoKXtsZXQgcj1uLGk9cztmb3IoO3I8aTspe2NvbnN0IGw9TWF0aC5mbG9vcigocitpKS8yKTt0KGVbbF0pP2k9bDpyPWwrMX1yZXR1cm4gcn1jbGFzcyBqZXtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9hcnJheT10LHRoaXMuX2ZpbmRMYXN0TW9ub3Rvbm91c0xhc3RJZHg9MH1maW5kTGFzdE1vbm90b25vdXModCl7aWYoamUuYXNzZXJ0SW52YXJpYW50cyl7aWYodGhpcy5fcHJldkZpbmRMYXN0UHJlZGljYXRlKXtmb3IoY29uc3QgcyBvZiB0aGlzLl9hcnJheSlpZih0aGlzLl9wcmV2RmluZExhc3RQcmVkaWNhdGUocykmJiF0KHMpKXRocm93IG5ldyBFcnJvcigiTW9ub3Rvbm91c0FycmF5OiBjdXJyZW50IHByZWRpY2F0ZSBtdXN0IGJlIHdlYWtlciB0aGFuIChvciBlcXVhbCB0bykgdGhlIHByZXZpb3VzIHByZWRpY2F0ZS4iKX10aGlzLl9wcmV2RmluZExhc3RQcmVkaWNhdGU9dH1jb25zdCBuPUdlKHRoaXMuX2FycmF5LHQsdGhpcy5fZmluZExhc3RNb25vdG9ub3VzTGFzdElkeCk7cmV0dXJuIHRoaXMuX2ZpbmRMYXN0TW9ub3Rvbm91c0xhc3RJZHg9bisxLG49PT0tMT92b2lkIDA6dGhpcy5fYXJyYXlbbl19fWplLmFzc2VydEludmFyaWFudHM9ITE7Y2xhc3MgRHtzdGF0aWMgZnJvbVJhbmdlSW5jbHVzaXZlKHQpe3JldHVybiBuZXcgRCh0LnN0YXJ0TGluZU51bWJlcix0LmVuZExpbmVOdW1iZXIrMSl9c3RhdGljIGpvaW5NYW55KHQpe2lmKHQubGVuZ3RoPT09MClyZXR1cm5bXTtsZXQgbj1uZXcgdWUodFswXS5zbGljZSgpKTtmb3IobGV0IHM9MTtzPHQubGVuZ3RoO3MrKyluPW4uZ2V0VW5pb24obmV3IHVlKHRbc10uc2xpY2UoKSkpO3JldHVybiBuLnJhbmdlc31zdGF0aWMgam9pbih0KXtpZih0Lmxlbmd0aD09PTApdGhyb3cgbmV3IGNlKCJsaW5lUmFuZ2VzIGNhbm5vdCBiZSBlbXB0eSIpO2xldCBuPXRbMF0uc3RhcnRMaW5lTnVtYmVyLHM9dFswXS5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlO2ZvcihsZXQgcj0xO3I8dC5sZW5ndGg7cisrKW49TWF0aC5taW4obix0W3JdLnN0YXJ0TGluZU51bWJlcikscz1NYXRoLm1heChzLHRbcl0uZW5kTGluZU51bWJlckV4Y2x1c2l2ZSk7cmV0dXJuIG5ldyBEKG4scyl9c3RhdGljIG9mTGVuZ3RoKHQsbil7cmV0dXJuIG5ldyBEKHQsdCtuKX1zdGF0aWMgZGVzZXJpYWxpemUodCl7cmV0dXJuIG5ldyBEKHRbMF0sdFsxXSl9Y29uc3RydWN0b3IodCxuKXtpZih0Pm4pdGhyb3cgbmV3IGNlKGBzdGFydExpbmVOdW1iZXIgJHt0fSBjYW5ub3QgYmUgYWZ0ZXIgZW5kTGluZU51bWJlckV4Y2x1c2l2ZSAke259YCk7dGhpcy5zdGFydExpbmVOdW1iZXI9dCx0aGlzLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU9bn1jb250YWlucyh0KXtyZXR1cm4gdGhpcy5zdGFydExpbmVOdW1iZXI8PXQmJnQ8dGhpcy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlfWdldCBpc0VtcHR5KCl7cmV0dXJuIHRoaXMuc3RhcnRMaW5lTnVtYmVyPT09dGhpcy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlfWRlbHRhKHQpe3JldHVybiBuZXcgRCh0aGlzLnN0YXJ0TGluZU51bWJlcit0LHRoaXMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSt0KX1kZWx0YUxlbmd0aCh0KXtyZXR1cm4gbmV3IEQodGhpcy5zdGFydExpbmVOdW1iZXIsdGhpcy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlK3QpfWdldCBsZW5ndGgoKXtyZXR1cm4gdGhpcy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLXRoaXMuc3RhcnRMaW5lTnVtYmVyfWpvaW4odCl7cmV0dXJuIG5ldyBEKE1hdGgubWluKHRoaXMuc3RhcnRMaW5lTnVtYmVyLHQuc3RhcnRMaW5lTnVtYmVyKSxNYXRoLm1heCh0aGlzLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUsdC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlKSl9dG9TdHJpbmcoKXtyZXR1cm5gWyR7dGhpcy5zdGFydExpbmVOdW1iZXJ9LCR7dGhpcy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlfSlgfWludGVyc2VjdCh0KXtjb25zdCBuPU1hdGgubWF4KHRoaXMuc3RhcnRMaW5lTnVtYmVyLHQuc3RhcnRMaW5lTnVtYmVyKSxzPU1hdGgubWluKHRoaXMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSx0LmVuZExpbmVOdW1iZXJFeGNsdXNpdmUpO2lmKG48PXMpcmV0dXJuIG5ldyBEKG4scyl9aW50ZXJzZWN0c1N0cmljdCh0KXtyZXR1cm4gdGhpcy5zdGFydExpbmVOdW1iZXI8dC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlJiZ0LnN0YXJ0TGluZU51bWJlcjx0aGlzLmVuZExpbmVOdW1iZXJFeGNsdXNpdmV9b3ZlcmxhcE9yVG91Y2godCl7cmV0dXJuIHRoaXMuc3RhcnRMaW5lTnVtYmVyPD10LmVuZExpbmVOdW1iZXJFeGNsdXNpdmUmJnQuc3RhcnRMaW5lTnVtYmVyPD10aGlzLmVuZExpbmVOdW1iZXJFeGNsdXNpdmV9ZXF1YWxzKHQpe3JldHVybiB0aGlzLnN0YXJ0TGluZU51bWJlcj09PXQuc3RhcnRMaW5lTnVtYmVyJiZ0aGlzLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU9PT10LmVuZExpbmVOdW1iZXJFeGNsdXNpdmV9dG9JbmNsdXNpdmVSYW5nZSgpe3JldHVybiB0aGlzLmlzRW1wdHk/bnVsbDpuZXcgRih0aGlzLnN0YXJ0TGluZU51bWJlciwxLHRoaXMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZS0xLE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKX10b0V4Y2x1c2l2ZVJhbmdlKCl7cmV0dXJuIG5ldyBGKHRoaXMuc3RhcnRMaW5lTnVtYmVyLDEsdGhpcy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLDEpfW1hcFRvTGluZUFycmF5KHQpe2NvbnN0IG49W107Zm9yKGxldCBzPXRoaXMuc3RhcnRMaW5lTnVtYmVyO3M8dGhpcy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlO3MrKyluLnB1c2godChzKSk7cmV0dXJuIG59Zm9yRWFjaCh0KXtmb3IobGV0IG49dGhpcy5zdGFydExpbmVOdW1iZXI7bjx0aGlzLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU7bisrKXQobil9c2VyaWFsaXplKCl7cmV0dXJuW3RoaXMuc3RhcnRMaW5lTnVtYmVyLHRoaXMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZV19aW5jbHVkZXModCl7cmV0dXJuIHRoaXMuc3RhcnRMaW5lTnVtYmVyPD10JiZ0PHRoaXMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZX10b09mZnNldFJhbmdlKCl7cmV0dXJuIG5ldyBVKHRoaXMuc3RhcnRMaW5lTnVtYmVyLTEsdGhpcy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLTEpfX1jbGFzcyB1ZXtjb25zdHJ1Y3Rvcih0PVtdKXt0aGlzLl9ub3JtYWxpemVkUmFuZ2VzPXR9Z2V0IHJhbmdlcygpe3JldHVybiB0aGlzLl9ub3JtYWxpemVkUmFuZ2VzfWFkZFJhbmdlKHQpe2lmKHQubGVuZ3RoPT09MClyZXR1cm47Y29uc3Qgbj16dCh0aGlzLl9ub3JtYWxpemVkUmFuZ2VzLHI9PnIuZW5kTGluZU51bWJlckV4Y2x1c2l2ZT49dC5zdGFydExpbmVOdW1iZXIpLHM9R2UodGhpcy5fbm9ybWFsaXplZFJhbmdlcyxyPT5yLnN0YXJ0TGluZU51bWJlcjw9dC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlKSsxO2lmKG49PT1zKXRoaXMuX25vcm1hbGl6ZWRSYW5nZXMuc3BsaWNlKG4sMCx0KTtlbHNlIGlmKG49PT1zLTEpe2NvbnN0IHI9dGhpcy5fbm9ybWFsaXplZFJhbmdlc1tuXTt0aGlzLl9ub3JtYWxpemVkUmFuZ2VzW25dPXIuam9pbih0KX1lbHNle2NvbnN0IHI9dGhpcy5fbm9ybWFsaXplZFJhbmdlc1tuXS5qb2luKHRoaXMuX25vcm1hbGl6ZWRSYW5nZXNbcy0xXSkuam9pbih0KTt0aGlzLl9ub3JtYWxpemVkUmFuZ2VzLnNwbGljZShuLHMtbixyKX19Y29udGFpbnModCl7Y29uc3Qgbj1VZSh0aGlzLl9ub3JtYWxpemVkUmFuZ2VzLHM9PnMuc3RhcnRMaW5lTnVtYmVyPD10KTtyZXR1cm4hIW4mJm4uZW5kTGluZU51bWJlckV4Y2x1c2l2ZT50fWludGVyc2VjdHModCl7Y29uc3Qgbj1VZSh0aGlzLl9ub3JtYWxpemVkUmFuZ2VzLHM9PnMuc3RhcnRMaW5lTnVtYmVyPHQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSk7cmV0dXJuISFuJiZuLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU+dC5zdGFydExpbmVOdW1iZXJ9Z2V0VW5pb24odCl7aWYodGhpcy5fbm9ybWFsaXplZFJhbmdlcy5sZW5ndGg9PT0wKXJldHVybiB0O2lmKHQuX25vcm1hbGl6ZWRSYW5nZXMubGVuZ3RoPT09MClyZXR1cm4gdGhpcztjb25zdCBuPVtdO2xldCBzPTAscj0wLGk9bnVsbDtmb3IoO3M8dGhpcy5fbm9ybWFsaXplZFJhbmdlcy5sZW5ndGh8fHI8dC5fbm9ybWFsaXplZFJhbmdlcy5sZW5ndGg7KXtsZXQgbD1udWxsO2lmKHM8dGhpcy5fbm9ybWFsaXplZFJhbmdlcy5sZW5ndGgmJnI8dC5fbm9ybWFsaXplZFJhbmdlcy5sZW5ndGgpe2NvbnN0IG89dGhpcy5fbm9ybWFsaXplZFJhbmdlc1tzXSx1PXQuX25vcm1hbGl6ZWRSYW5nZXNbcl07by5zdGFydExpbmVOdW1iZXI8dS5zdGFydExpbmVOdW1iZXI/KGw9byxzKyspOihsPXUscisrKX1lbHNlIHM8dGhpcy5fbm9ybWFsaXplZFJhbmdlcy5sZW5ndGg/KGw9dGhpcy5fbm9ybWFsaXplZFJhbmdlc1tzXSxzKyspOihsPXQuX25vcm1hbGl6ZWRSYW5nZXNbcl0scisrKTtpPT09bnVsbD9pPWw6aS5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlPj1sLnN0YXJ0TGluZU51bWJlcj9pPW5ldyBEKGkuc3RhcnRMaW5lTnVtYmVyLE1hdGgubWF4KGkuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSxsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUpKToobi5wdXNoKGkpLGk9bCl9cmV0dXJuIGkhPT1udWxsJiZuLnB1c2goaSksbmV3IHVlKG4pfXN1YnRyYWN0RnJvbSh0KXtjb25zdCBuPXp0KHRoaXMuX25vcm1hbGl6ZWRSYW5nZXMsbD0+bC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlPj10LnN0YXJ0TGluZU51bWJlcikscz1HZSh0aGlzLl9ub3JtYWxpemVkUmFuZ2VzLGw9Pmwuc3RhcnRMaW5lTnVtYmVyPD10LmVuZExpbmVOdW1iZXJFeGNsdXNpdmUpKzE7aWYobj09PXMpcmV0dXJuIG5ldyB1ZShbdF0pO2NvbnN0IHI9W107bGV0IGk9dC5zdGFydExpbmVOdW1iZXI7Zm9yKGxldCBsPW47bDxzO2wrKyl7Y29uc3Qgbz10aGlzLl9ub3JtYWxpemVkUmFuZ2VzW2xdO28uc3RhcnRMaW5lTnVtYmVyPmkmJnIucHVzaChuZXcgRChpLG8uc3RhcnRMaW5lTnVtYmVyKSksaT1vLmVuZExpbmVOdW1iZXJFeGNsdXNpdmV9cmV0dXJuIGk8dC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlJiZyLnB1c2gobmV3IEQoaSx0LmVuZExpbmVOdW1iZXJFeGNsdXNpdmUpKSxuZXcgdWUocil9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5fbm9ybWFsaXplZFJhbmdlcy5tYXAodD0+dC50b1N0cmluZygpKS5qb2luKCIsICIpfWdldEludGVyc2VjdGlvbih0KXtjb25zdCBuPVtdO2xldCBzPTAscj0wO2Zvcig7czx0aGlzLl9ub3JtYWxpemVkUmFuZ2VzLmxlbmd0aCYmcjx0Ll9ub3JtYWxpemVkUmFuZ2VzLmxlbmd0aDspe2NvbnN0IGk9dGhpcy5fbm9ybWFsaXplZFJhbmdlc1tzXSxsPXQuX25vcm1hbGl6ZWRSYW5nZXNbcl0sbz1pLmludGVyc2VjdChsKTtvJiYhby5pc0VtcHR5JiZuLnB1c2gobyksaS5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlPGwuZW5kTGluZU51bWJlckV4Y2x1c2l2ZT9zKys6cisrfXJldHVybiBuZXcgdWUobil9Z2V0V2l0aERlbHRhKHQpe3JldHVybiBuZXcgdWUodGhpcy5fbm9ybWFsaXplZFJhbmdlcy5tYXAobj0+bi5kZWx0YSh0KSkpfX1jbGFzcyBsZXtzdGF0aWMgaW52ZXJzZSh0LG4scyl7Y29uc3Qgcj1bXTtsZXQgaT0xLGw9MTtmb3IoY29uc3QgdSBvZiB0KXtjb25zdCBjPW5ldyBsZShuZXcgRChpLHUub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyKSxuZXcgRChsLHUubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyKSk7Yy5tb2RpZmllZC5pc0VtcHR5fHxyLnB1c2goYyksaT11Lm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUsbD11Lm1vZGlmaWVkLmVuZExpbmVOdW1iZXJFeGNsdXNpdmV9Y29uc3Qgbz1uZXcgbGUobmV3IEQoaSxuKzEpLG5ldyBEKGwscysxKSk7cmV0dXJuIG8ubW9kaWZpZWQuaXNFbXB0eXx8ci5wdXNoKG8pLHJ9c3RhdGljIGNsaXAodCxuLHMpe2NvbnN0IHI9W107Zm9yKGNvbnN0IGkgb2YgdCl7Y29uc3QgbD1pLm9yaWdpbmFsLmludGVyc2VjdChuKSxvPWkubW9kaWZpZWQuaW50ZXJzZWN0KHMpO2wmJiFsLmlzRW1wdHkmJm8mJiFvLmlzRW1wdHkmJnIucHVzaChuZXcgbGUobCxvKSl9cmV0dXJuIHJ9Y29uc3RydWN0b3IodCxuKXt0aGlzLm9yaWdpbmFsPXQsdGhpcy5tb2RpZmllZD1ufXRvU3RyaW5nKCl7cmV0dXJuYHske3RoaXMub3JpZ2luYWwudG9TdHJpbmcoKX0tPiR7dGhpcy5tb2RpZmllZC50b1N0cmluZygpfX1gfWZsaXAoKXtyZXR1cm4gbmV3IGxlKHRoaXMubW9kaWZpZWQsdGhpcy5vcmlnaW5hbCl9am9pbih0KXtyZXR1cm4gbmV3IGxlKHRoaXMub3JpZ2luYWwuam9pbih0Lm9yaWdpbmFsKSx0aGlzLm1vZGlmaWVkLmpvaW4odC5tb2RpZmllZCkpfX1jbGFzcyBoZSBleHRlbmRzIGxle3N0YXRpYyBmcm9tUmFuZ2VNYXBwaW5ncyh0KXtjb25zdCBuPUQuam9pbih0Lm1hcChyPT5ELmZyb21SYW5nZUluY2x1c2l2ZShyLm9yaWdpbmFsUmFuZ2UpKSkscz1ELmpvaW4odC5tYXAocj0+RC5mcm9tUmFuZ2VJbmNsdXNpdmUoci5tb2RpZmllZFJhbmdlKSkpO3JldHVybiBuZXcgaGUobixzLHQpfWNvbnN0cnVjdG9yKHQsbixzKXtzdXBlcih0LG4pLHRoaXMuaW5uZXJDaGFuZ2VzPXN9ZmxpcCgpe3ZhciB0O3JldHVybiBuZXcgaGUodGhpcy5tb2RpZmllZCx0aGlzLm9yaWdpbmFsLCh0PXRoaXMuaW5uZXJDaGFuZ2VzKT09PW51bGx8fHQ9PT12b2lkIDA/dm9pZCAwOnQubWFwKG49Pm4uZmxpcCgpKSl9d2l0aElubmVyQ2hhbmdlc0Zyb21MaW5lUmFuZ2VzKCl7cmV0dXJuIG5ldyBoZSh0aGlzLm9yaWdpbmFsLHRoaXMubW9kaWZpZWQsW25ldyBWZSh0aGlzLm9yaWdpbmFsLnRvRXhjbHVzaXZlUmFuZ2UoKSx0aGlzLm1vZGlmaWVkLnRvRXhjbHVzaXZlUmFuZ2UoKSldKX19Y2xhc3MgVmV7Y29uc3RydWN0b3IodCxuKXt0aGlzLm9yaWdpbmFsUmFuZ2U9dCx0aGlzLm1vZGlmaWVkUmFuZ2U9bn10b1N0cmluZygpe3JldHVybmB7JHt0aGlzLm9yaWdpbmFsUmFuZ2UudG9TdHJpbmcoKX0tPiR7dGhpcy5tb2RpZmllZFJhbmdlLnRvU3RyaW5nKCl9fWB9ZmxpcCgpe3JldHVybiBuZXcgVmUodGhpcy5tb2RpZmllZFJhbmdlLHRoaXMub3JpZ2luYWxSYW5nZSl9fWNvbnN0IHFpPTM7Y2xhc3MgSGl7Y29tcHV0ZURpZmYodCxuLHMpe3ZhciByO2NvbnN0IGw9bmV3ICRpKHQsbix7bWF4Q29tcHV0YXRpb25UaW1lOnMubWF4Q29tcHV0YXRpb25UaW1lTXMsc2hvdWxkSWdub3JlVHJpbVdoaXRlc3BhY2U6cy5pZ25vcmVUcmltV2hpdGVzcGFjZSxzaG91bGRDb21wdXRlQ2hhckNoYW5nZXM6ITAsc2hvdWxkTWFrZVByZXR0eURpZmY6ITAsc2hvdWxkUG9zdFByb2Nlc3NDaGFyQ2hhbmdlczohMH0pLmNvbXB1dGVEaWZmKCksbz1bXTtsZXQgdT1udWxsO2Zvcihjb25zdCBjIG9mIGwuY2hhbmdlcyl7bGV0IGg7Yy5vcmlnaW5hbEVuZExpbmVOdW1iZXI9PT0wP2g9bmV3IEQoYy5vcmlnaW5hbFN0YXJ0TGluZU51bWJlcisxLGMub3JpZ2luYWxTdGFydExpbmVOdW1iZXIrMSk6aD1uZXcgRChjLm9yaWdpbmFsU3RhcnRMaW5lTnVtYmVyLGMub3JpZ2luYWxFbmRMaW5lTnVtYmVyKzEpO2xldCBmO2MubW9kaWZpZWRFbmRMaW5lTnVtYmVyPT09MD9mPW5ldyBEKGMubW9kaWZpZWRTdGFydExpbmVOdW1iZXIrMSxjLm1vZGlmaWVkU3RhcnRMaW5lTnVtYmVyKzEpOmY9bmV3IEQoYy5tb2RpZmllZFN0YXJ0TGluZU51bWJlcixjLm1vZGlmaWVkRW5kTGluZU51bWJlcisxKTtsZXQgZD1uZXcgaGUoaCxmLChyPWMuY2hhckNoYW5nZXMpPT09bnVsbHx8cj09PXZvaWQgMD92b2lkIDA6ci5tYXAobT0+bmV3IFZlKG5ldyBGKG0ub3JpZ2luYWxTdGFydExpbmVOdW1iZXIsbS5vcmlnaW5hbFN0YXJ0Q29sdW1uLG0ub3JpZ2luYWxFbmRMaW5lTnVtYmVyLG0ub3JpZ2luYWxFbmRDb2x1bW4pLG5ldyBGKG0ubW9kaWZpZWRTdGFydExpbmVOdW1iZXIsbS5tb2RpZmllZFN0YXJ0Q29sdW1uLG0ubW9kaWZpZWRFbmRMaW5lTnVtYmVyLG0ubW9kaWZpZWRFbmRDb2x1bW4pKSkpO3UmJih1Lm1vZGlmaWVkLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU9PT1kLm1vZGlmaWVkLnN0YXJ0TGluZU51bWJlcnx8dS5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlPT09ZC5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXIpJiYoZD1uZXcgaGUodS5vcmlnaW5hbC5qb2luKGQub3JpZ2luYWwpLHUubW9kaWZpZWQuam9pbihkLm1vZGlmaWVkKSx1LmlubmVyQ2hhbmdlcyYmZC5pbm5lckNoYW5nZXM/dS5pbm5lckNoYW5nZXMuY29uY2F0KGQuaW5uZXJDaGFuZ2VzKTp2b2lkIDApLG8ucG9wKCkpLG8ucHVzaChkKSx1PWR9cmV0dXJuIGh0KCgpPT5BcyhvLChjLGgpPT5oLm9yaWdpbmFsLnN0YXJ0TGluZU51bWJlci1jLm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU9PT1oLm1vZGlmaWVkLnN0YXJ0TGluZU51bWJlci1jLm1vZGlmaWVkLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUmJmMub3JpZ2luYWwuZW5kTGluZU51bWJlckV4Y2x1c2l2ZTxoLm9yaWdpbmFsLnN0YXJ0TGluZU51bWJlciYmYy5tb2RpZmllZC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlPGgubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyKSksbmV3IGZ0KG8sW10sbC5xdWl0RWFybHkpfX1mdW5jdGlvbiBFcyhlLHQsbixzKXtyZXR1cm4gbmV3IGdlKGUsdCxuKS5Db21wdXRlRGlmZihzKX1sZXQgTXM9Y2xhc3N7Y29uc3RydWN0b3IodCl7Y29uc3Qgbj1bXSxzPVtdO2ZvcihsZXQgcj0wLGk9dC5sZW5ndGg7cjxpO3IrKyluW3JdPSR0KHRbcl0sMSksc1tyXT1PdCh0W3JdLDEpO3RoaXMubGluZXM9dCx0aGlzLl9zdGFydENvbHVtbnM9bix0aGlzLl9lbmRDb2x1bW5zPXN9Z2V0RWxlbWVudHMoKXtjb25zdCB0PVtdO2ZvcihsZXQgbj0wLHM9dGhpcy5saW5lcy5sZW5ndGg7bjxzO24rKyl0W25dPXRoaXMubGluZXNbbl0uc3Vic3RyaW5nKHRoaXMuX3N0YXJ0Q29sdW1uc1tuXS0xLHRoaXMuX2VuZENvbHVtbnNbbl0tMSk7cmV0dXJuIHR9Z2V0U3RyaWN0RWxlbWVudCh0KXtyZXR1cm4gdGhpcy5saW5lc1t0XX1nZXRTdGFydExpbmVOdW1iZXIodCl7cmV0dXJuIHQrMX1nZXRFbmRMaW5lTnVtYmVyKHQpe3JldHVybiB0KzF9Y3JlYXRlQ2hhclNlcXVlbmNlKHQsbixzKXtjb25zdCByPVtdLGk9W10sbD1bXTtsZXQgbz0wO2ZvcihsZXQgdT1uO3U8PXM7dSsrKXtjb25zdCBjPXRoaXMubGluZXNbdV0saD10P3RoaXMuX3N0YXJ0Q29sdW1uc1t1XToxLGY9dD90aGlzLl9lbmRDb2x1bW5zW3VdOmMubGVuZ3RoKzE7Zm9yKGxldCBkPWg7ZDxmO2QrKylyW29dPWMuY2hhckNvZGVBdChkLTEpLGlbb109dSsxLGxbb109ZCxvKys7IXQmJnU8cyYmKHJbb109MTAsaVtvXT11KzEsbFtvXT1jLmxlbmd0aCsxLG8rKyl9cmV0dXJuIG5ldyBXaShyLGksbCl9fTtjbGFzcyBXaXtjb25zdHJ1Y3Rvcih0LG4scyl7dGhpcy5fY2hhckNvZGVzPXQsdGhpcy5fbGluZU51bWJlcnM9bix0aGlzLl9jb2x1bW5zPXN9dG9TdHJpbmcoKXtyZXR1cm4iWyIrdGhpcy5fY2hhckNvZGVzLm1hcCgodCxuKT0+KHQ9PT0xMD8iXFxuIjpTdHJpbmcuZnJvbUNoYXJDb2RlKHQpKStgLSgke3RoaXMuX2xpbmVOdW1iZXJzW25dfSwke3RoaXMuX2NvbHVtbnNbbl19KWApLmpvaW4oIiwgIikrIl0ifV9hc3NlcnRJbmRleCh0LG4pe2lmKHQ8MHx8dD49bi5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJJbGxlZ2FsIGluZGV4Iil9Z2V0RWxlbWVudHMoKXtyZXR1cm4gdGhpcy5fY2hhckNvZGVzfWdldFN0YXJ0TGluZU51bWJlcih0KXtyZXR1cm4gdD4wJiZ0PT09dGhpcy5fbGluZU51bWJlcnMubGVuZ3RoP3RoaXMuZ2V0RW5kTGluZU51bWJlcih0LTEpOih0aGlzLl9hc3NlcnRJbmRleCh0LHRoaXMuX2xpbmVOdW1iZXJzKSx0aGlzLl9saW5lTnVtYmVyc1t0XSl9Z2V0RW5kTGluZU51bWJlcih0KXtyZXR1cm4gdD09PS0xP3RoaXMuZ2V0U3RhcnRMaW5lTnVtYmVyKHQrMSk6KHRoaXMuX2Fzc2VydEluZGV4KHQsdGhpcy5fbGluZU51bWJlcnMpLHRoaXMuX2NoYXJDb2Rlc1t0XT09PTEwP3RoaXMuX2xpbmVOdW1iZXJzW3RdKzE6dGhpcy5fbGluZU51bWJlcnNbdF0pfWdldFN0YXJ0Q29sdW1uKHQpe3JldHVybiB0PjAmJnQ9PT10aGlzLl9jb2x1bW5zLmxlbmd0aD90aGlzLmdldEVuZENvbHVtbih0LTEpOih0aGlzLl9hc3NlcnRJbmRleCh0LHRoaXMuX2NvbHVtbnMpLHRoaXMuX2NvbHVtbnNbdF0pfWdldEVuZENvbHVtbih0KXtyZXR1cm4gdD09PS0xP3RoaXMuZ2V0U3RhcnRDb2x1bW4odCsxKToodGhpcy5fYXNzZXJ0SW5kZXgodCx0aGlzLl9jb2x1bW5zKSx0aGlzLl9jaGFyQ29kZXNbdF09PT0xMD8xOnRoaXMuX2NvbHVtbnNbdF0rMSl9fWNsYXNzIElle2NvbnN0cnVjdG9yKHQsbixzLHIsaSxsLG8sdSl7dGhpcy5vcmlnaW5hbFN0YXJ0TGluZU51bWJlcj10LHRoaXMub3JpZ2luYWxTdGFydENvbHVtbj1uLHRoaXMub3JpZ2luYWxFbmRMaW5lTnVtYmVyPXMsdGhpcy5vcmlnaW5hbEVuZENvbHVtbj1yLHRoaXMubW9kaWZpZWRTdGFydExpbmVOdW1iZXI9aSx0aGlzLm1vZGlmaWVkU3RhcnRDb2x1bW49bCx0aGlzLm1vZGlmaWVkRW5kTGluZU51bWJlcj1vLHRoaXMubW9kaWZpZWRFbmRDb2x1bW49dX1zdGF0aWMgY3JlYXRlRnJvbURpZmZDaGFuZ2UodCxuLHMpe2NvbnN0IHI9bi5nZXRTdGFydExpbmVOdW1iZXIodC5vcmlnaW5hbFN0YXJ0KSxpPW4uZ2V0U3RhcnRDb2x1bW4odC5vcmlnaW5hbFN0YXJ0KSxsPW4uZ2V0RW5kTGluZU51bWJlcih0Lm9yaWdpbmFsU3RhcnQrdC5vcmlnaW5hbExlbmd0aC0xKSxvPW4uZ2V0RW5kQ29sdW1uKHQub3JpZ2luYWxTdGFydCt0Lm9yaWdpbmFsTGVuZ3RoLTEpLHU9cy5nZXRTdGFydExpbmVOdW1iZXIodC5tb2RpZmllZFN0YXJ0KSxjPXMuZ2V0U3RhcnRDb2x1bW4odC5tb2RpZmllZFN0YXJ0KSxoPXMuZ2V0RW5kTGluZU51bWJlcih0Lm1vZGlmaWVkU3RhcnQrdC5tb2RpZmllZExlbmd0aC0xKSxmPXMuZ2V0RW5kQ29sdW1uKHQubW9kaWZpZWRTdGFydCt0Lm1vZGlmaWVkTGVuZ3RoLTEpO3JldHVybiBuZXcgSWUocixpLGwsbyx1LGMsaCxmKX19ZnVuY3Rpb24gemkoZSl7aWYoZS5sZW5ndGg8PTEpcmV0dXJuIGU7Y29uc3QgdD1bZVswXV07bGV0IG49dFswXTtmb3IobGV0IHM9MSxyPWUubGVuZ3RoO3M8cjtzKyspe2NvbnN0IGk9ZVtzXSxsPWkub3JpZ2luYWxTdGFydC0obi5vcmlnaW5hbFN0YXJ0K24ub3JpZ2luYWxMZW5ndGgpLG89aS5tb2RpZmllZFN0YXJ0LShuLm1vZGlmaWVkU3RhcnQrbi5tb2RpZmllZExlbmd0aCk7TWF0aC5taW4obCxvKTxxaT8obi5vcmlnaW5hbExlbmd0aD1pLm9yaWdpbmFsU3RhcnQraS5vcmlnaW5hbExlbmd0aC1uLm9yaWdpbmFsU3RhcnQsbi5tb2RpZmllZExlbmd0aD1pLm1vZGlmaWVkU3RhcnQraS5tb2RpZmllZExlbmd0aC1uLm1vZGlmaWVkU3RhcnQpOih0LnB1c2goaSksbj1pKX1yZXR1cm4gdH1jbGFzcyBYZXtjb25zdHJ1Y3Rvcih0LG4scyxyLGkpe3RoaXMub3JpZ2luYWxTdGFydExpbmVOdW1iZXI9dCx0aGlzLm9yaWdpbmFsRW5kTGluZU51bWJlcj1uLHRoaXMubW9kaWZpZWRTdGFydExpbmVOdW1iZXI9cyx0aGlzLm1vZGlmaWVkRW5kTGluZU51bWJlcj1yLHRoaXMuY2hhckNoYW5nZXM9aX1zdGF0aWMgY3JlYXRlRnJvbURpZmZSZXN1bHQodCxuLHMscixpLGwsbyl7bGV0IHUsYyxoLGYsZDtpZihuLm9yaWdpbmFsTGVuZ3RoPT09MD8odT1zLmdldFN0YXJ0TGluZU51bWJlcihuLm9yaWdpbmFsU3RhcnQpLTEsYz0wKToodT1zLmdldFN0YXJ0TGluZU51bWJlcihuLm9yaWdpbmFsU3RhcnQpLGM9cy5nZXRFbmRMaW5lTnVtYmVyKG4ub3JpZ2luYWxTdGFydCtuLm9yaWdpbmFsTGVuZ3RoLTEpKSxuLm1vZGlmaWVkTGVuZ3RoPT09MD8oaD1yLmdldFN0YXJ0TGluZU51bWJlcihuLm1vZGlmaWVkU3RhcnQpLTEsZj0wKTooaD1yLmdldFN0YXJ0TGluZU51bWJlcihuLm1vZGlmaWVkU3RhcnQpLGY9ci5nZXRFbmRMaW5lTnVtYmVyKG4ubW9kaWZpZWRTdGFydCtuLm1vZGlmaWVkTGVuZ3RoLTEpKSxsJiZuLm9yaWdpbmFsTGVuZ3RoPjAmJm4ub3JpZ2luYWxMZW5ndGg8MjAmJm4ubW9kaWZpZWRMZW5ndGg+MCYmbi5tb2RpZmllZExlbmd0aDwyMCYmaSgpKXtjb25zdCBtPXMuY3JlYXRlQ2hhclNlcXVlbmNlKHQsbi5vcmlnaW5hbFN0YXJ0LG4ub3JpZ2luYWxTdGFydCtuLm9yaWdpbmFsTGVuZ3RoLTEpLGc9ci5jcmVhdGVDaGFyU2VxdWVuY2UodCxuLm1vZGlmaWVkU3RhcnQsbi5tb2RpZmllZFN0YXJ0K24ubW9kaWZpZWRMZW5ndGgtMSk7aWYobS5nZXRFbGVtZW50cygpLmxlbmd0aD4wJiZnLmdldEVsZW1lbnRzKCkubGVuZ3RoPjApe2xldCB4PUVzKG0sZyxpLCEwKS5jaGFuZ2VzO28mJih4PXppKHgpKSxkPVtdO2ZvcihsZXQgdj0wLE49eC5sZW5ndGg7djxOO3YrKylkLnB1c2goSWUuY3JlYXRlRnJvbURpZmZDaGFuZ2UoeFt2XSxtLGcpKX19cmV0dXJuIG5ldyBYZSh1LGMsaCxmLGQpfX1jbGFzcyAkaXtjb25zdHJ1Y3Rvcih0LG4scyl7dGhpcy5zaG91bGRDb21wdXRlQ2hhckNoYW5nZXM9cy5zaG91bGRDb21wdXRlQ2hhckNoYW5nZXMsdGhpcy5zaG91bGRQb3N0UHJvY2Vzc0NoYXJDaGFuZ2VzPXMuc2hvdWxkUG9zdFByb2Nlc3NDaGFyQ2hhbmdlcyx0aGlzLnNob3VsZElnbm9yZVRyaW1XaGl0ZXNwYWNlPXMuc2hvdWxkSWdub3JlVHJpbVdoaXRlc3BhY2UsdGhpcy5zaG91bGRNYWtlUHJldHR5RGlmZj1zLnNob3VsZE1ha2VQcmV0dHlEaWZmLHRoaXMub3JpZ2luYWxMaW5lcz10LHRoaXMubW9kaWZpZWRMaW5lcz1uLHRoaXMub3JpZ2luYWw9bmV3IE1zKHQpLHRoaXMubW9kaWZpZWQ9bmV3IE1zKG4pLHRoaXMuY29udGludWVMaW5lRGlmZj1rcyhzLm1heENvbXB1dGF0aW9uVGltZSksdGhpcy5jb250aW51ZUNoYXJEaWZmPWtzKHMubWF4Q29tcHV0YXRpb25UaW1lPT09MD8wOk1hdGgubWluKHMubWF4Q29tcHV0YXRpb25UaW1lLDVlMykpfWNvbXB1dGVEaWZmKCl7aWYodGhpcy5vcmlnaW5hbC5saW5lcy5sZW5ndGg9PT0xJiZ0aGlzLm9yaWdpbmFsLmxpbmVzWzBdLmxlbmd0aD09PTApcmV0dXJuIHRoaXMubW9kaWZpZWQubGluZXMubGVuZ3RoPT09MSYmdGhpcy5tb2RpZmllZC5saW5lc1swXS5sZW5ndGg9PT0wP3txdWl0RWFybHk6ITEsY2hhbmdlczpbXX06e3F1aXRFYXJseTohMSxjaGFuZ2VzOlt7b3JpZ2luYWxTdGFydExpbmVOdW1iZXI6MSxvcmlnaW5hbEVuZExpbmVOdW1iZXI6MSxtb2RpZmllZFN0YXJ0TGluZU51bWJlcjoxLG1vZGlmaWVkRW5kTGluZU51bWJlcjp0aGlzLm1vZGlmaWVkLmxpbmVzLmxlbmd0aCxjaGFyQ2hhbmdlczp2b2lkIDB9XX07aWYodGhpcy5tb2RpZmllZC5saW5lcy5sZW5ndGg9PT0xJiZ0aGlzLm1vZGlmaWVkLmxpbmVzWzBdLmxlbmd0aD09PTApcmV0dXJue3F1aXRFYXJseTohMSxjaGFuZ2VzOlt7b3JpZ2luYWxTdGFydExpbmVOdW1iZXI6MSxvcmlnaW5hbEVuZExpbmVOdW1iZXI6dGhpcy5vcmlnaW5hbC5saW5lcy5sZW5ndGgsbW9kaWZpZWRTdGFydExpbmVOdW1iZXI6MSxtb2RpZmllZEVuZExpbmVOdW1iZXI6MSxjaGFyQ2hhbmdlczp2b2lkIDB9XX07Y29uc3QgdD1Fcyh0aGlzLm9yaWdpbmFsLHRoaXMubW9kaWZpZWQsdGhpcy5jb250aW51ZUxpbmVEaWZmLHRoaXMuc2hvdWxkTWFrZVByZXR0eURpZmYpLG49dC5jaGFuZ2VzLHM9dC5xdWl0RWFybHk7aWYodGhpcy5zaG91bGRJZ25vcmVUcmltV2hpdGVzcGFjZSl7Y29uc3Qgbz1bXTtmb3IobGV0IHU9MCxjPW4ubGVuZ3RoO3U8Yzt1Kyspby5wdXNoKFhlLmNyZWF0ZUZyb21EaWZmUmVzdWx0KHRoaXMuc2hvdWxkSWdub3JlVHJpbVdoaXRlc3BhY2Usblt1XSx0aGlzLm9yaWdpbmFsLHRoaXMubW9kaWZpZWQsdGhpcy5jb250aW51ZUNoYXJEaWZmLHRoaXMuc2hvdWxkQ29tcHV0ZUNoYXJDaGFuZ2VzLHRoaXMuc2hvdWxkUG9zdFByb2Nlc3NDaGFyQ2hhbmdlcykpO3JldHVybntxdWl0RWFybHk6cyxjaGFuZ2VzOm99fWNvbnN0IHI9W107bGV0IGk9MCxsPTA7Zm9yKGxldCBvPS0xLHU9bi5sZW5ndGg7bzx1O28rKyl7Y29uc3QgYz1vKzE8dT9uW28rMV06bnVsbCxoPWM/Yy5vcmlnaW5hbFN0YXJ0OnRoaXMub3JpZ2luYWxMaW5lcy5sZW5ndGgsZj1jP2MubW9kaWZpZWRTdGFydDp0aGlzLm1vZGlmaWVkTGluZXMubGVuZ3RoO2Zvcig7aTxoJiZsPGY7KXtjb25zdCBkPXRoaXMub3JpZ2luYWxMaW5lc1tpXSxtPXRoaXMubW9kaWZpZWRMaW5lc1tsXTtpZihkIT09bSl7e2xldCBnPSR0KGQsMSkseD0kdChtLDEpO2Zvcig7Zz4xJiZ4PjE7KXtjb25zdCB2PWQuY2hhckNvZGVBdChnLTIpLE49bS5jaGFyQ29kZUF0KHgtMik7aWYodiE9PU4pYnJlYWs7Zy0tLHgtLX0oZz4xfHx4PjEpJiZ0aGlzLl9wdXNoVHJpbVdoaXRlc3BhY2VDaGFyQ2hhbmdlKHIsaSsxLDEsZyxsKzEsMSx4KX17bGV0IGc9T3QoZCwxKSx4PU90KG0sMSk7Y29uc3Qgdj1kLmxlbmd0aCsxLE49bS5sZW5ndGgrMTtmb3IoO2c8diYmeDxOOyl7Y29uc3QgUz1kLmNoYXJDb2RlQXQoZy0xKSxfPWQuY2hhckNvZGVBdCh4LTEpO2lmKFMhPT1fKWJyZWFrO2crKyx4Kyt9KGc8dnx8eDxOKSYmdGhpcy5fcHVzaFRyaW1XaGl0ZXNwYWNlQ2hhckNoYW5nZShyLGkrMSxnLHYsbCsxLHgsTil9fWkrKyxsKyt9YyYmKHIucHVzaChYZS5jcmVhdGVGcm9tRGlmZlJlc3VsdCh0aGlzLnNob3VsZElnbm9yZVRyaW1XaGl0ZXNwYWNlLGMsdGhpcy5vcmlnaW5hbCx0aGlzLm1vZGlmaWVkLHRoaXMuY29udGludWVDaGFyRGlmZix0aGlzLnNob3VsZENvbXB1dGVDaGFyQ2hhbmdlcyx0aGlzLnNob3VsZFBvc3RQcm9jZXNzQ2hhckNoYW5nZXMpKSxpKz1jLm9yaWdpbmFsTGVuZ3RoLGwrPWMubW9kaWZpZWRMZW5ndGgpfXJldHVybntxdWl0RWFybHk6cyxjaGFuZ2VzOnJ9fV9wdXNoVHJpbVdoaXRlc3BhY2VDaGFyQ2hhbmdlKHQsbixzLHIsaSxsLG8pe2lmKHRoaXMuX21lcmdlVHJpbVdoaXRlc3BhY2VDaGFyQ2hhbmdlKHQsbixzLHIsaSxsLG8pKXJldHVybjtsZXQgdTt0aGlzLnNob3VsZENvbXB1dGVDaGFyQ2hhbmdlcyYmKHU9W25ldyBJZShuLHMsbixyLGksbCxpLG8pXSksdC5wdXNoKG5ldyBYZShuLG4saSxpLHUpKX1fbWVyZ2VUcmltV2hpdGVzcGFjZUNoYXJDaGFuZ2UodCxuLHMscixpLGwsbyl7Y29uc3QgdT10Lmxlbmd0aDtpZih1PT09MClyZXR1cm4hMTtjb25zdCBjPXRbdS0xXTtyZXR1cm4gYy5vcmlnaW5hbEVuZExpbmVOdW1iZXI9PT0wfHxjLm1vZGlmaWVkRW5kTGluZU51bWJlcj09PTA/ITE6Yy5vcmlnaW5hbEVuZExpbmVOdW1iZXI9PT1uJiZjLm1vZGlmaWVkRW5kTGluZU51bWJlcj09PWk/KHRoaXMuc2hvdWxkQ29tcHV0ZUNoYXJDaGFuZ2VzJiZjLmNoYXJDaGFuZ2VzJiZjLmNoYXJDaGFuZ2VzLnB1c2gobmV3IEllKG4scyxuLHIsaSxsLGksbykpLCEwKTpjLm9yaWdpbmFsRW5kTGluZU51bWJlcisxPT09biYmYy5tb2RpZmllZEVuZExpbmVOdW1iZXIrMT09PWk/KGMub3JpZ2luYWxFbmRMaW5lTnVtYmVyPW4sYy5tb2RpZmllZEVuZExpbmVOdW1iZXI9aSx0aGlzLnNob3VsZENvbXB1dGVDaGFyQ2hhbmdlcyYmYy5jaGFyQ2hhbmdlcyYmYy5jaGFyQ2hhbmdlcy5wdXNoKG5ldyBJZShuLHMsbixyLGksbCxpLG8pKSwhMCk6ITF9fWZ1bmN0aW9uICR0KGUsdCl7Y29uc3Qgbj12cihlKTtyZXR1cm4gbj09PS0xP3Q6bisxfWZ1bmN0aW9uIE90KGUsdCl7Y29uc3Qgbj1McihlKTtyZXR1cm4gbj09PS0xP3Q6bisyfWZ1bmN0aW9uIGtzKGUpe2lmKGU9PT0wKXJldHVybigpPT4hMDtjb25zdCB0PURhdGUubm93KCk7cmV0dXJuKCk9PkRhdGUubm93KCktdDxlfWNsYXNzIGZle3N0YXRpYyB0cml2aWFsKHQsbil7cmV0dXJuIG5ldyBmZShbbmV3IHooVS5vZkxlbmd0aCh0Lmxlbmd0aCksVS5vZkxlbmd0aChuLmxlbmd0aCkpXSwhMSl9c3RhdGljIHRyaXZpYWxUaW1lZE91dCh0LG4pe3JldHVybiBuZXcgZmUoW25ldyB6KFUub2ZMZW5ndGgodC5sZW5ndGgpLFUub2ZMZW5ndGgobi5sZW5ndGgpKV0sITApfWNvbnN0cnVjdG9yKHQsbil7dGhpcy5kaWZmcz10LHRoaXMuaGl0VGltZW91dD1ufX1jbGFzcyB6e3N0YXRpYyBpbnZlcnQodCxuKXtjb25zdCBzPVtdO3JldHVybiBuaSh0LChyLGkpPT57cy5wdXNoKHouZnJvbU9mZnNldFBhaXJzKHI/ci5nZXRFbmRFeGNsdXNpdmVzKCk6bmUuemVybyxpP2kuZ2V0U3RhcnRzKCk6bmV3IG5lKG4sKHI/ci5zZXEyUmFuZ2UuZW5kRXhjbHVzaXZlLXIuc2VxMVJhbmdlLmVuZEV4Y2x1c2l2ZTowKStuKSkpfSksc31zdGF0aWMgZnJvbU9mZnNldFBhaXJzKHQsbil7cmV0dXJuIG5ldyB6KG5ldyBVKHQub2Zmc2V0MSxuLm9mZnNldDEpLG5ldyBVKHQub2Zmc2V0MixuLm9mZnNldDIpKX1jb25zdHJ1Y3Rvcih0LG4pe3RoaXMuc2VxMVJhbmdlPXQsdGhpcy5zZXEyUmFuZ2U9bn1zd2FwKCl7cmV0dXJuIG5ldyB6KHRoaXMuc2VxMlJhbmdlLHRoaXMuc2VxMVJhbmdlKX10b1N0cmluZygpe3JldHVybmAke3RoaXMuc2VxMVJhbmdlfSA8LT4gJHt0aGlzLnNlcTJSYW5nZX1gfWpvaW4odCl7cmV0dXJuIG5ldyB6KHRoaXMuc2VxMVJhbmdlLmpvaW4odC5zZXExUmFuZ2UpLHRoaXMuc2VxMlJhbmdlLmpvaW4odC5zZXEyUmFuZ2UpKX1kZWx0YSh0KXtyZXR1cm4gdD09PTA/dGhpczpuZXcgeih0aGlzLnNlcTFSYW5nZS5kZWx0YSh0KSx0aGlzLnNlcTJSYW5nZS5kZWx0YSh0KSl9ZGVsdGFTdGFydCh0KXtyZXR1cm4gdD09PTA/dGhpczpuZXcgeih0aGlzLnNlcTFSYW5nZS5kZWx0YVN0YXJ0KHQpLHRoaXMuc2VxMlJhbmdlLmRlbHRhU3RhcnQodCkpfWRlbHRhRW5kKHQpe3JldHVybiB0PT09MD90aGlzOm5ldyB6KHRoaXMuc2VxMVJhbmdlLmRlbHRhRW5kKHQpLHRoaXMuc2VxMlJhbmdlLmRlbHRhRW5kKHQpKX1pbnRlcnNlY3QodCl7Y29uc3Qgbj10aGlzLnNlcTFSYW5nZS5pbnRlcnNlY3QodC5zZXExUmFuZ2UpLHM9dGhpcy5zZXEyUmFuZ2UuaW50ZXJzZWN0KHQuc2VxMlJhbmdlKTtpZighKCFufHwhcykpcmV0dXJuIG5ldyB6KG4scyl9Z2V0U3RhcnRzKCl7cmV0dXJuIG5ldyBuZSh0aGlzLnNlcTFSYW5nZS5zdGFydCx0aGlzLnNlcTJSYW5nZS5zdGFydCl9Z2V0RW5kRXhjbHVzaXZlcygpe3JldHVybiBuZXcgbmUodGhpcy5zZXExUmFuZ2UuZW5kRXhjbHVzaXZlLHRoaXMuc2VxMlJhbmdlLmVuZEV4Y2x1c2l2ZSl9fWNsYXNzIG5le2NvbnN0cnVjdG9yKHQsbil7dGhpcy5vZmZzZXQxPXQsdGhpcy5vZmZzZXQyPW59dG9TdHJpbmcoKXtyZXR1cm5gJHt0aGlzLm9mZnNldDF9IDwtPiAke3RoaXMub2Zmc2V0Mn1gfWRlbHRhKHQpe3JldHVybiB0PT09MD90aGlzOm5ldyBuZSh0aGlzLm9mZnNldDErdCx0aGlzLm9mZnNldDIrdCl9ZXF1YWxzKHQpe3JldHVybiB0aGlzLm9mZnNldDE9PT10Lm9mZnNldDEmJnRoaXMub2Zmc2V0Mj09PXQub2Zmc2V0Mn19bmUuemVybz1uZXcgbmUoMCwwKSxuZS5tYXg9bmV3IG5lKE51bWJlci5NQVhfU0FGRV9JTlRFR0VSLE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKTtjbGFzcyBRZXtpc1ZhbGlkKCl7cmV0dXJuITB9fVFlLmluc3RhbmNlPW5ldyBRZTtjbGFzcyBPaXtjb25zdHJ1Y3Rvcih0KXtpZih0aGlzLnRpbWVvdXQ9dCx0aGlzLnN0YXJ0VGltZT1EYXRlLm5vdygpLHRoaXMudmFsaWQ9ITAsdDw9MCl0aHJvdyBuZXcgY2UoInRpbWVvdXQgbXVzdCBiZSBwb3NpdGl2ZSIpfWlzVmFsaWQoKXtyZXR1cm4hKERhdGUubm93KCktdGhpcy5zdGFydFRpbWU8dGhpcy50aW1lb3V0KSYmdGhpcy52YWxpZCYmKHRoaXMudmFsaWQ9ITEpLHRoaXMudmFsaWR9fWNsYXNzIEd0e2NvbnN0cnVjdG9yKHQsbil7dGhpcy53aWR0aD10LHRoaXMuaGVpZ2h0PW4sdGhpcy5hcnJheT1bXSx0aGlzLmFycmF5PW5ldyBBcnJheSh0Km4pfWdldCh0LG4pe3JldHVybiB0aGlzLmFycmF5W3Qrbip0aGlzLndpZHRoXX1zZXQodCxuLHMpe3RoaXMuYXJyYXlbdCtuKnRoaXMud2lkdGhdPXN9fWZ1bmN0aW9uIGp0KGUpe3JldHVybiBlPT09MzJ8fGU9PT05fWNsYXNzIEJle3N0YXRpYyBnZXRLZXkodCl7bGV0IG49dGhpcy5jaHJLZXlzLmdldCh0KTtyZXR1cm4gbj09PXZvaWQgMCYmKG49dGhpcy5jaHJLZXlzLnNpemUsdGhpcy5jaHJLZXlzLnNldCh0LG4pKSxufWNvbnN0cnVjdG9yKHQsbixzKXt0aGlzLnJhbmdlPXQsdGhpcy5saW5lcz1uLHRoaXMuc291cmNlPXMsdGhpcy5oaXN0b2dyYW09W107bGV0IHI9MDtmb3IobGV0IGk9dC5zdGFydExpbmVOdW1iZXItMTtpPHQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZS0xO2krKyl7Y29uc3QgbD1uW2ldO2ZvcihsZXQgdT0wO3U8bC5sZW5ndGg7dSsrKXtyKys7Y29uc3QgYz1sW3VdLGg9QmUuZ2V0S2V5KGMpO3RoaXMuaGlzdG9ncmFtW2hdPSh0aGlzLmhpc3RvZ3JhbVtoXXx8MCkrMX1yKys7Y29uc3Qgbz1CZS5nZXRLZXkoYApgKTt0aGlzLmhpc3RvZ3JhbVtvXT0odGhpcy5oaXN0b2dyYW1bb118fDApKzF9dGhpcy50b3RhbENvdW50PXJ9Y29tcHV0ZVNpbWlsYXJpdHkodCl7dmFyIG4scztsZXQgcj0wO2NvbnN0IGk9TWF0aC5tYXgodGhpcy5oaXN0b2dyYW0ubGVuZ3RoLHQuaGlzdG9ncmFtLmxlbmd0aCk7Zm9yKGxldCBsPTA7bDxpO2wrKylyKz1NYXRoLmFicygoKG49dGhpcy5oaXN0b2dyYW1bbF0pIT09bnVsbCYmbiE9PXZvaWQgMD9uOjApLSgocz10Lmhpc3RvZ3JhbVtsXSkhPT1udWxsJiZzIT09dm9pZCAwP3M6MCkpO3JldHVybiAxLXIvKHRoaXMudG90YWxDb3VudCt0LnRvdGFsQ291bnQpfX1CZS5jaHJLZXlzPW5ldyBNYXA7Y2xhc3MgR2l7Y29tcHV0ZSh0LG4scz1RZS5pbnN0YW5jZSxyKXtpZih0Lmxlbmd0aD09PTB8fG4ubGVuZ3RoPT09MClyZXR1cm4gZmUudHJpdmlhbCh0LG4pO2NvbnN0IGk9bmV3IEd0KHQubGVuZ3RoLG4ubGVuZ3RoKSxsPW5ldyBHdCh0Lmxlbmd0aCxuLmxlbmd0aCksbz1uZXcgR3QodC5sZW5ndGgsbi5sZW5ndGgpO2ZvcihsZXQgZz0wO2c8dC5sZW5ndGg7ZysrKWZvcihsZXQgeD0wO3g8bi5sZW5ndGg7eCsrKXtpZighcy5pc1ZhbGlkKCkpcmV0dXJuIGZlLnRyaXZpYWxUaW1lZE91dCh0LG4pO2NvbnN0IHY9Zz09PTA/MDppLmdldChnLTEseCksTj14PT09MD8wOmkuZ2V0KGcseC0xKTtsZXQgUzt0LmdldEVsZW1lbnQoZyk9PT1uLmdldEVsZW1lbnQoeCk/KGc9PT0wfHx4PT09MD9TPTA6Uz1pLmdldChnLTEseC0xKSxnPjAmJng+MCYmbC5nZXQoZy0xLHgtMSk9PT0zJiYoUys9by5nZXQoZy0xLHgtMSkpLFMrPXI/cihnLHgpOjEpOlM9LTE7Y29uc3QgXz1NYXRoLm1heCh2LE4sUyk7aWYoXz09PVMpe2NvbnN0IHc9Zz4wJiZ4PjA/by5nZXQoZy0xLHgtMSk6MDtvLnNldChnLHgsdysxKSxsLnNldChnLHgsMyl9ZWxzZSBfPT09dj8oby5zZXQoZyx4LDApLGwuc2V0KGcseCwxKSk6Xz09PU4mJihvLnNldChnLHgsMCksbC5zZXQoZyx4LDIpKTtpLnNldChnLHgsXyl9Y29uc3QgdT1bXTtsZXQgYz10Lmxlbmd0aCxoPW4ubGVuZ3RoO2Z1bmN0aW9uIGYoZyx4KXsoZysxIT09Y3x8eCsxIT09aCkmJnUucHVzaChuZXcgeihuZXcgVShnKzEsYyksbmV3IFUoeCsxLGgpKSksYz1nLGg9eH1sZXQgZD10Lmxlbmd0aC0xLG09bi5sZW5ndGgtMTtmb3IoO2Q+PTAmJm0+PTA7KWwuZ2V0KGQsbSk9PT0zPyhmKGQsbSksZC0tLG0tLSk6bC5nZXQoZCxtKT09PTE/ZC0tOm0tLTtyZXR1cm4gZigtMSwtMSksdS5yZXZlcnNlKCksbmV3IGZlKHUsITEpfX1jbGFzcyBQc3tjb21wdXRlKHQsbixzPVFlLmluc3RhbmNlKXtpZih0Lmxlbmd0aD09PTB8fG4ubGVuZ3RoPT09MClyZXR1cm4gZmUudHJpdmlhbCh0LG4pO2NvbnN0IHI9dCxpPW47ZnVuY3Rpb24gbCh4LHYpe2Zvcig7eDxyLmxlbmd0aCYmdjxpLmxlbmd0aCYmci5nZXRFbGVtZW50KHgpPT09aS5nZXRFbGVtZW50KHYpOyl4KyssdisrO3JldHVybiB4fWxldCBvPTA7Y29uc3QgdT1uZXcgamk7dS5zZXQoMCxsKDAsMCkpO2NvbnN0IGM9bmV3IFhpO2Muc2V0KDAsdS5nZXQoMCk9PT0wP251bGw6bmV3IEZzKG51bGwsMCwwLHUuZ2V0KDApKSk7bGV0IGg9MDtlOmZvcig7Oyl7aWYobysrLCFzLmlzVmFsaWQoKSlyZXR1cm4gZmUudHJpdmlhbFRpbWVkT3V0KHIsaSk7Y29uc3QgeD0tTWF0aC5taW4obyxpLmxlbmd0aCtvJTIpLHY9TWF0aC5taW4obyxyLmxlbmd0aCtvJTIpO2ZvcihoPXg7aDw9djtoKz0yKXtjb25zdCBOPWg9PT12Py0xOnUuZ2V0KGgrMSksUz1oPT09eD8tMTp1LmdldChoLTEpKzEsXz1NYXRoLm1pbihNYXRoLm1heChOLFMpLHIubGVuZ3RoKSx3PV8taDtpZihfPnIubGVuZ3RofHx3PmkubGVuZ3RoKWNvbnRpbnVlO2NvbnN0IHA9bChfLHcpO3Uuc2V0KGgscCk7Y29uc3QgeT1fPT09Tj9jLmdldChoKzEpOmMuZ2V0KGgtMSk7aWYoYy5zZXQoaCxwIT09Xz9uZXcgRnMoeSxfLHcscC1fKTp5KSx1LmdldChoKT09PXIubGVuZ3RoJiZ1LmdldChoKS1oPT09aS5sZW5ndGgpYnJlYWsgZX19bGV0IGY9Yy5nZXQoaCk7Y29uc3QgZD1bXTtsZXQgbT1yLmxlbmd0aCxnPWkubGVuZ3RoO2Zvcig7Oyl7Y29uc3QgeD1mP2YueCtmLmxlbmd0aDowLHY9Zj9mLnkrZi5sZW5ndGg6MDtpZigoeCE9PW18fHYhPT1nKSYmZC5wdXNoKG5ldyB6KG5ldyBVKHgsbSksbmV3IFUodixnKSkpLCFmKWJyZWFrO209Zi54LGc9Zi55LGY9Zi5wcmV2fXJldHVybiBkLnJldmVyc2UoKSxuZXcgZmUoZCwhMSl9fWNsYXNzIEZze2NvbnN0cnVjdG9yKHQsbixzLHIpe3RoaXMucHJldj10LHRoaXMueD1uLHRoaXMueT1zLHRoaXMubGVuZ3RoPXJ9fWNsYXNzIGppe2NvbnN0cnVjdG9yKCl7dGhpcy5wb3NpdGl2ZUFycj1uZXcgSW50MzJBcnJheSgxMCksdGhpcy5uZWdhdGl2ZUFycj1uZXcgSW50MzJBcnJheSgxMCl9Z2V0KHQpe3JldHVybiB0PDA/KHQ9LXQtMSx0aGlzLm5lZ2F0aXZlQXJyW3RdKTp0aGlzLnBvc2l0aXZlQXJyW3RdfXNldCh0LG4pe2lmKHQ8MCl7aWYodD0tdC0xLHQ+PXRoaXMubmVnYXRpdmVBcnIubGVuZ3RoKXtjb25zdCBzPXRoaXMubmVnYXRpdmVBcnI7dGhpcy5uZWdhdGl2ZUFycj1uZXcgSW50MzJBcnJheShzLmxlbmd0aCoyKSx0aGlzLm5lZ2F0aXZlQXJyLnNldChzKX10aGlzLm5lZ2F0aXZlQXJyW3RdPW59ZWxzZXtpZih0Pj10aGlzLnBvc2l0aXZlQXJyLmxlbmd0aCl7Y29uc3Qgcz10aGlzLnBvc2l0aXZlQXJyO3RoaXMucG9zaXRpdmVBcnI9bmV3IEludDMyQXJyYXkocy5sZW5ndGgqMiksdGhpcy5wb3NpdGl2ZUFyci5zZXQocyl9dGhpcy5wb3NpdGl2ZUFyclt0XT1ufX19Y2xhc3MgWGl7Y29uc3RydWN0b3IoKXt0aGlzLnBvc2l0aXZlQXJyPVtdLHRoaXMubmVnYXRpdmVBcnI9W119Z2V0KHQpe3JldHVybiB0PDA/KHQ9LXQtMSx0aGlzLm5lZ2F0aXZlQXJyW3RdKTp0aGlzLnBvc2l0aXZlQXJyW3RdfXNldCh0LG4pe3Q8MD8odD0tdC0xLHRoaXMubmVnYXRpdmVBcnJbdF09bik6dGhpcy5wb3NpdGl2ZUFyclt0XT1ufX1jbGFzcyBkdHtjb25zdHJ1Y3Rvcih0LG4scyl7dGhpcy5saW5lcz10LHRoaXMuY29uc2lkZXJXaGl0ZXNwYWNlQ2hhbmdlcz1zLHRoaXMuZWxlbWVudHM9W10sdGhpcy5maXJzdENoYXJPZmZzZXRCeUxpbmU9W10sdGhpcy5hZGRpdGlvbmFsT2Zmc2V0QnlMaW5lPVtdO2xldCByPSExO24uc3RhcnQ+MCYmbi5lbmRFeGNsdXNpdmU+PXQubGVuZ3RoJiYobj1uZXcgVShuLnN0YXJ0LTEsbi5lbmRFeGNsdXNpdmUpLHI9ITApLHRoaXMubGluZVJhbmdlPW4sdGhpcy5maXJzdENoYXJPZmZzZXRCeUxpbmVbMF09MDtmb3IobGV0IGk9dGhpcy5saW5lUmFuZ2Uuc3RhcnQ7aTx0aGlzLmxpbmVSYW5nZS5lbmRFeGNsdXNpdmU7aSsrKXtsZXQgbD10W2ldLG89MDtpZihyKW89bC5sZW5ndGgsbD0iIixyPSExO2Vsc2UgaWYoIXMpe2NvbnN0IHU9bC50cmltU3RhcnQoKTtvPWwubGVuZ3RoLXUubGVuZ3RoLGw9dS50cmltRW5kKCl9dGhpcy5hZGRpdGlvbmFsT2Zmc2V0QnlMaW5lLnB1c2gobyk7Zm9yKGxldCB1PTA7dTxsLmxlbmd0aDt1KyspdGhpcy5lbGVtZW50cy5wdXNoKGwuY2hhckNvZGVBdCh1KSk7aTx0Lmxlbmd0aC0xJiYodGhpcy5lbGVtZW50cy5wdXNoKDEwKSx0aGlzLmZpcnN0Q2hhck9mZnNldEJ5TGluZVtpLXRoaXMubGluZVJhbmdlLnN0YXJ0KzFdPXRoaXMuZWxlbWVudHMubGVuZ3RoKX10aGlzLmFkZGl0aW9uYWxPZmZzZXRCeUxpbmUucHVzaCgwKX10b1N0cmluZygpe3JldHVybmBTbGljZTogIiR7dGhpcy50ZXh0fSJgfWdldCB0ZXh0KCl7cmV0dXJuIHRoaXMuZ2V0VGV4dChuZXcgVSgwLHRoaXMubGVuZ3RoKSl9Z2V0VGV4dCh0KXtyZXR1cm4gdGhpcy5lbGVtZW50cy5zbGljZSh0LnN0YXJ0LHQuZW5kRXhjbHVzaXZlKS5tYXAobj0+U3RyaW5nLmZyb21DaGFyQ29kZShuKSkuam9pbigiIil9Z2V0RWxlbWVudCh0KXtyZXR1cm4gdGhpcy5lbGVtZW50c1t0XX1nZXQgbGVuZ3RoKCl7cmV0dXJuIHRoaXMuZWxlbWVudHMubGVuZ3RofWdldEJvdW5kYXJ5U2NvcmUodCl7Y29uc3Qgbj1Ucyh0PjA/dGhpcy5lbGVtZW50c1t0LTFdOi0xKSxzPVRzKHQ8dGhpcy5lbGVtZW50cy5sZW5ndGg/dGhpcy5lbGVtZW50c1t0XTotMSk7aWYobj09PTcmJnM9PT04KXJldHVybiAwO2lmKG49PT04KXJldHVybiAxNTA7bGV0IHI9MDtyZXR1cm4gbiE9PXMmJihyKz0xMCxuPT09MCYmcz09PTEmJihyKz0xKSkscis9RHMobikscis9RHMocykscn10cmFuc2xhdGVPZmZzZXQodCl7aWYodGhpcy5saW5lUmFuZ2UuaXNFbXB0eSlyZXR1cm4gbmV3IFkodGhpcy5saW5lUmFuZ2Uuc3RhcnQrMSwxKTtjb25zdCBuPUdlKHRoaXMuZmlyc3RDaGFyT2Zmc2V0QnlMaW5lLHM9PnM8PXQpO3JldHVybiBuZXcgWSh0aGlzLmxpbmVSYW5nZS5zdGFydCtuKzEsdC10aGlzLmZpcnN0Q2hhck9mZnNldEJ5TGluZVtuXSt0aGlzLmFkZGl0aW9uYWxPZmZzZXRCeUxpbmVbbl0rMSl9dHJhbnNsYXRlUmFuZ2UodCl7cmV0dXJuIEYuZnJvbVBvc2l0aW9ucyh0aGlzLnRyYW5zbGF0ZU9mZnNldCh0LnN0YXJ0KSx0aGlzLnRyYW5zbGF0ZU9mZnNldCh0LmVuZEV4Y2x1c2l2ZSkpfWZpbmRXb3JkQ29udGFpbmluZyh0KXtpZih0PDB8fHQ+PXRoaXMuZWxlbWVudHMubGVuZ3RofHwhWHQodGhpcy5lbGVtZW50c1t0XSkpcmV0dXJuO2xldCBuPXQ7Zm9yKDtuPjAmJlh0KHRoaXMuZWxlbWVudHNbbi0xXSk7KW4tLTtsZXQgcz10O2Zvcig7czx0aGlzLmVsZW1lbnRzLmxlbmd0aCYmWHQodGhpcy5lbGVtZW50c1tzXSk7KXMrKztyZXR1cm4gbmV3IFUobixzKX1jb3VudExpbmVzSW4odCl7cmV0dXJuIHRoaXMudHJhbnNsYXRlT2Zmc2V0KHQuZW5kRXhjbHVzaXZlKS5saW5lTnVtYmVyLXRoaXMudHJhbnNsYXRlT2Zmc2V0KHQuc3RhcnQpLmxpbmVOdW1iZXJ9aXNTdHJvbmdseUVxdWFsKHQsbil7cmV0dXJuIHRoaXMuZWxlbWVudHNbdF09PT10aGlzLmVsZW1lbnRzW25dfWV4dGVuZFRvRnVsbExpbmVzKHQpe3ZhciBuLHM7Y29uc3Qgcj0obj1VZSh0aGlzLmZpcnN0Q2hhck9mZnNldEJ5TGluZSxsPT5sPD10LnN0YXJ0KSkhPT1udWxsJiZuIT09dm9pZCAwP246MCxpPShzPUJpKHRoaXMuZmlyc3RDaGFyT2Zmc2V0QnlMaW5lLGw9PnQuZW5kRXhjbHVzaXZlPD1sKSkhPT1udWxsJiZzIT09dm9pZCAwP3M6dGhpcy5lbGVtZW50cy5sZW5ndGg7cmV0dXJuIG5ldyBVKHIsaSl9fWZ1bmN0aW9uIFh0KGUpe3JldHVybiBlPj05NyYmZTw9MTIyfHxlPj02NSYmZTw9OTB8fGU+PTQ4JiZlPD01N31jb25zdCBRaT17MDowLDE6MCwyOjAsMzoxMCw0OjIsNTozMCw2OjMsNzoxMCw4OjEwfTtmdW5jdGlvbiBEcyhlKXtyZXR1cm4gUWlbZV19ZnVuY3Rpb24gVHMoZSl7cmV0dXJuIGU9PT0xMD84OmU9PT0xMz83Omp0KGUpPzY6ZT49OTcmJmU8PTEyMj8wOmU+PTY1JiZlPD05MD8xOmU+PTQ4JiZlPD01Nz8yOmU9PT0tMT8zOmU9PT00NHx8ZT09PTU5PzU6NH1mdW5jdGlvbiBZaShlLHQsbixzLHIsaSl7bGV0e21vdmVzOmwsZXhjbHVkZWRDaGFuZ2VzOm99PVppKGUsdCxuLGkpO2lmKCFpLmlzVmFsaWQoKSlyZXR1cm5bXTtjb25zdCB1PWUuZmlsdGVyKGg9PiFvLmhhcyhoKSksYz1LaSh1LHMscix0LG4saSk7cmV0dXJuIHJpKGwsYyksbD1lYShsKSxsPWwuZmlsdGVyKGg9Pntjb25zdCBmPWgub3JpZ2luYWwudG9PZmZzZXRSYW5nZSgpLnNsaWNlKHQpLm1hcChtPT5tLnRyaW0oKSk7cmV0dXJuIGYuam9pbihgCmApLmxlbmd0aD49MTUmJkppKGYsbT0+bS5sZW5ndGg+PTIpPj0yfSksbD10YShlLGwpLGx9ZnVuY3Rpb24gSmkoZSx0KXtsZXQgbj0wO2Zvcihjb25zdCBzIG9mIGUpdChzKSYmbisrO3JldHVybiBufWZ1bmN0aW9uIFppKGUsdCxuLHMpe2NvbnN0IHI9W10saT1lLmZpbHRlcih1PT51Lm1vZGlmaWVkLmlzRW1wdHkmJnUub3JpZ2luYWwubGVuZ3RoPj0zKS5tYXAodT0+bmV3IEJlKHUub3JpZ2luYWwsdCx1KSksbD1uZXcgU2V0KGUuZmlsdGVyKHU9PnUub3JpZ2luYWwuaXNFbXB0eSYmdS5tb2RpZmllZC5sZW5ndGg+PTMpLm1hcCh1PT5uZXcgQmUodS5tb2RpZmllZCxuLHUpKSksbz1uZXcgU2V0O2Zvcihjb25zdCB1IG9mIGkpe2xldCBjPS0xLGg7Zm9yKGNvbnN0IGYgb2YgbCl7Y29uc3QgZD11LmNvbXB1dGVTaW1pbGFyaXR5KGYpO2Q+YyYmKGM9ZCxoPWYpfWlmKGM+LjkmJmgmJihsLmRlbGV0ZShoKSxyLnB1c2gobmV3IGxlKHUucmFuZ2UsaC5yYW5nZSkpLG8uYWRkKHUuc291cmNlKSxvLmFkZChoLnNvdXJjZSkpLCFzLmlzVmFsaWQoKSlyZXR1cm57bW92ZXM6cixleGNsdWRlZENoYW5nZXM6b319cmV0dXJue21vdmVzOnIsZXhjbHVkZWRDaGFuZ2VzOm99fWZ1bmN0aW9uIEtpKGUsdCxuLHMscixpKXtjb25zdCBsPVtdLG89bmV3IE1pO2Zvcihjb25zdCBkIG9mIGUpZm9yKGxldCBtPWQub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyO208ZC5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLTI7bSsrKXtjb25zdCBnPWAke3RbbS0xXX06JHt0W20rMS0xXX06JHt0W20rMi0xXX1gO28uYWRkKGcse3JhbmdlOm5ldyBEKG0sbSszKX0pfWNvbnN0IHU9W107ZS5zb3J0KGl0KGQ9PmQubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyLGF0KSk7Zm9yKGNvbnN0IGQgb2YgZSl7bGV0IG09W107Zm9yKGxldCBnPWQubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyO2c8ZC5tb2RpZmllZC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLTI7ZysrKXtjb25zdCB4PWAke25bZy0xXX06JHtuW2crMS0xXX06JHtuW2crMi0xXX1gLHY9bmV3IEQoZyxnKzMpLE49W107by5mb3JFYWNoKHgsKHtyYW5nZTpTfSk9Pntmb3IoY29uc3QgdyBvZiBtKWlmKHcub3JpZ2luYWxMaW5lUmFuZ2UuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSsxPT09Uy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlJiZ3Lm1vZGlmaWVkTGluZVJhbmdlLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUrMT09PXYuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSl7dy5vcmlnaW5hbExpbmVSYW5nZT1uZXcgRCh3Lm9yaWdpbmFsTGluZVJhbmdlLnN0YXJ0TGluZU51bWJlcixTLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUpLHcubW9kaWZpZWRMaW5lUmFuZ2U9bmV3IEQody5tb2RpZmllZExpbmVSYW5nZS5zdGFydExpbmVOdW1iZXIsdi5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlKSxOLnB1c2godyk7cmV0dXJufWNvbnN0IF89e21vZGlmaWVkTGluZVJhbmdlOnYsb3JpZ2luYWxMaW5lUmFuZ2U6U307dS5wdXNoKF8pLE4ucHVzaChfKX0pLG09Tn1pZighaS5pc1ZhbGlkKCkpcmV0dXJuW119dS5zb3J0KGlpKGl0KGQ9PmQubW9kaWZpZWRMaW5lUmFuZ2UubGVuZ3RoLGF0KSkpO2NvbnN0IGM9bmV3IHVlLGg9bmV3IHVlO2Zvcihjb25zdCBkIG9mIHUpe2NvbnN0IG09ZC5tb2RpZmllZExpbmVSYW5nZS5zdGFydExpbmVOdW1iZXItZC5vcmlnaW5hbExpbmVSYW5nZS5zdGFydExpbmVOdW1iZXIsZz1jLnN1YnRyYWN0RnJvbShkLm1vZGlmaWVkTGluZVJhbmdlKSx4PWguc3VidHJhY3RGcm9tKGQub3JpZ2luYWxMaW5lUmFuZ2UpLmdldFdpdGhEZWx0YShtKSx2PWcuZ2V0SW50ZXJzZWN0aW9uKHgpO2Zvcihjb25zdCBOIG9mIHYucmFuZ2VzKXtpZihOLmxlbmd0aDwzKWNvbnRpbnVlO2NvbnN0IFM9TixfPU4uZGVsdGEoLW0pO2wucHVzaChuZXcgbGUoXyxTKSksYy5hZGRSYW5nZShTKSxoLmFkZFJhbmdlKF8pfX1sLnNvcnQoaXQoZD0+ZC5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXIsYXQpKTtjb25zdCBmPW5ldyBqZShlKTtmb3IobGV0IGQ9MDtkPGwubGVuZ3RoO2QrKyl7Y29uc3QgbT1sW2RdLGc9Zi5maW5kTGFzdE1vbm90b25vdXMoeT0+eS5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXI8PW0ub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyKSx4PVVlKGUseT0+eS5tb2RpZmllZC5zdGFydExpbmVOdW1iZXI8PW0ubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyKSx2PU1hdGgubWF4KG0ub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyLWcub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyLG0ubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyLXgubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyKSxOPWYuZmluZExhc3RNb25vdG9ub3VzKHk9Pnkub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyPG0ub3JpZ2luYWwuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSksUz1VZShlLHk9PnkubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyPG0ubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSksXz1NYXRoLm1heChOLm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUtbS5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLFMubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZS1tLm1vZGlmaWVkLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUpO2xldCB3O2Zvcih3PTA7dzx2O3crKyl7Y29uc3QgeT1tLm9yaWdpbmFsLnN0YXJ0TGluZU51bWJlci13LTEsUj1tLm1vZGlmaWVkLnN0YXJ0TGluZU51bWJlci13LTE7aWYoeT5zLmxlbmd0aHx8Uj5yLmxlbmd0aHx8Yy5jb250YWlucyhSKXx8aC5jb250YWlucyh5KXx8IVVzKHNbeS0xXSxyW1ItMV0saSkpYnJlYWt9dz4wJiYoaC5hZGRSYW5nZShuZXcgRChtLm9yaWdpbmFsLnN0YXJ0TGluZU51bWJlci13LG0ub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyKSksYy5hZGRSYW5nZShuZXcgRChtLm1vZGlmaWVkLnN0YXJ0TGluZU51bWJlci13LG0ubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyKSkpO2xldCBwO2ZvcihwPTA7cDxfO3ArKyl7Y29uc3QgeT1tLm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUrcCxSPW0ubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZStwO2lmKHk+cy5sZW5ndGh8fFI+ci5sZW5ndGh8fGMuY29udGFpbnMoUil8fGguY29udGFpbnMoeSl8fCFVcyhzW3ktMV0scltSLTFdLGkpKWJyZWFrfXA+MCYmKGguYWRkUmFuZ2UobmV3IEQobS5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLG0ub3JpZ2luYWwuZW5kTGluZU51bWJlckV4Y2x1c2l2ZStwKSksYy5hZGRSYW5nZShuZXcgRChtLm1vZGlmaWVkLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUsbS5tb2RpZmllZC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlK3ApKSksKHc+MHx8cD4wKSYmKGxbZF09bmV3IGxlKG5ldyBEKG0ub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyLXcsbS5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlK3ApLG5ldyBEKG0ubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyLXcsbS5tb2RpZmllZC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlK3ApKSl9cmV0dXJuIGx9ZnVuY3Rpb24gVXMoZSx0LG4pe2lmKGUudHJpbSgpPT09dC50cmltKCkpcmV0dXJuITA7aWYoZS5sZW5ndGg+MzAwJiZ0Lmxlbmd0aD4zMDApcmV0dXJuITE7Y29uc3Qgcj1uZXcgUHMoKS5jb21wdXRlKG5ldyBkdChbZV0sbmV3IFUoMCwxKSwhMSksbmV3IGR0KFt0XSxuZXcgVSgwLDEpLCExKSxuKTtsZXQgaT0wO2NvbnN0IGw9ei5pbnZlcnQoci5kaWZmcyxlLmxlbmd0aCk7Zm9yKGNvbnN0IGggb2YgbCloLnNlcTFSYW5nZS5mb3JFYWNoKGY9PntqdChlLmNoYXJDb2RlQXQoZikpfHxpKyt9KTtmdW5jdGlvbiBvKGgpe2xldCBmPTA7Zm9yKGxldCBkPTA7ZDxlLmxlbmd0aDtkKyspanQoaC5jaGFyQ29kZUF0KGQpKXx8ZisrO3JldHVybiBmfWNvbnN0IHU9byhlLmxlbmd0aD50Lmxlbmd0aD9lOnQpO3JldHVybiBpL3U+LjYmJnU+MTB9ZnVuY3Rpb24gZWEoZSl7aWYoZS5sZW5ndGg9PT0wKXJldHVybiBlO2Uuc29ydChpdChuPT5uLm9yaWdpbmFsLnN0YXJ0TGluZU51bWJlcixhdCkpO2NvbnN0IHQ9W2VbMF1dO2ZvcihsZXQgbj0xO248ZS5sZW5ndGg7bisrKXtjb25zdCBzPXRbdC5sZW5ndGgtMV0scj1lW25dLGk9ci5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXItcy5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLGw9ci5tb2RpZmllZC5zdGFydExpbmVOdW1iZXItcy5tb2RpZmllZC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlO2lmKGk+PTAmJmw+PTAmJmkrbDw9Mil7dFt0Lmxlbmd0aC0xXT1zLmpvaW4ocik7Y29udGludWV9dC5wdXNoKHIpfXJldHVybiB0fWZ1bmN0aW9uIHRhKGUsdCl7Y29uc3Qgbj1uZXcgamUoZSk7cmV0dXJuIHQ9dC5maWx0ZXIocz0+e2NvbnN0IHI9bi5maW5kTGFzdE1vbm90b25vdXMobz0+by5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXI8cy5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlKXx8bmV3IGxlKG5ldyBEKDEsMSksbmV3IEQoMSwxKSksaT1VZShlLG89Pm8ubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyPHMubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSk7cmV0dXJuIHIhPT1pfSksdH1mdW5jdGlvbiBWcyhlLHQsbil7bGV0IHM9bjtyZXR1cm4gcz1JcyhlLHQscykscz1JcyhlLHQscykscz1uYShlLHQscyksc31mdW5jdGlvbiBJcyhlLHQsbil7aWYobi5sZW5ndGg9PT0wKXJldHVybiBuO2NvbnN0IHM9W107cy5wdXNoKG5bMF0pO2ZvcihsZXQgaT0xO2k8bi5sZW5ndGg7aSsrKXtjb25zdCBsPXNbcy5sZW5ndGgtMV07bGV0IG89bltpXTtpZihvLnNlcTFSYW5nZS5pc0VtcHR5fHxvLnNlcTJSYW5nZS5pc0VtcHR5KXtjb25zdCB1PW8uc2VxMVJhbmdlLnN0YXJ0LWwuc2VxMVJhbmdlLmVuZEV4Y2x1c2l2ZTtsZXQgYztmb3IoYz0xO2M8PXUmJiEoZS5nZXRFbGVtZW50KG8uc2VxMVJhbmdlLnN0YXJ0LWMpIT09ZS5nZXRFbGVtZW50KG8uc2VxMVJhbmdlLmVuZEV4Y2x1c2l2ZS1jKXx8dC5nZXRFbGVtZW50KG8uc2VxMlJhbmdlLnN0YXJ0LWMpIT09dC5nZXRFbGVtZW50KG8uc2VxMlJhbmdlLmVuZEV4Y2x1c2l2ZS1jKSk7YysrKTtpZihjLS0sYz09PXUpe3Nbcy5sZW5ndGgtMV09bmV3IHoobmV3IFUobC5zZXExUmFuZ2Uuc3RhcnQsby5zZXExUmFuZ2UuZW5kRXhjbHVzaXZlLXUpLG5ldyBVKGwuc2VxMlJhbmdlLnN0YXJ0LG8uc2VxMlJhbmdlLmVuZEV4Y2x1c2l2ZS11KSk7Y29udGludWV9bz1vLmRlbHRhKC1jKX1zLnB1c2gobyl9Y29uc3Qgcj1bXTtmb3IobGV0IGk9MDtpPHMubGVuZ3RoLTE7aSsrKXtjb25zdCBsPXNbaSsxXTtsZXQgbz1zW2ldO2lmKG8uc2VxMVJhbmdlLmlzRW1wdHl8fG8uc2VxMlJhbmdlLmlzRW1wdHkpe2NvbnN0IHU9bC5zZXExUmFuZ2Uuc3RhcnQtby5zZXExUmFuZ2UuZW5kRXhjbHVzaXZlO2xldCBjO2ZvcihjPTA7Yzx1JiYhKCFlLmlzU3Ryb25nbHlFcXVhbChvLnNlcTFSYW5nZS5zdGFydCtjLG8uc2VxMVJhbmdlLmVuZEV4Y2x1c2l2ZStjKXx8IXQuaXNTdHJvbmdseUVxdWFsKG8uc2VxMlJhbmdlLnN0YXJ0K2Msby5zZXEyUmFuZ2UuZW5kRXhjbHVzaXZlK2MpKTtjKyspO2lmKGM9PT11KXtzW2krMV09bmV3IHoobmV3IFUoby5zZXExUmFuZ2Uuc3RhcnQrdSxsLnNlcTFSYW5nZS5lbmRFeGNsdXNpdmUpLG5ldyBVKG8uc2VxMlJhbmdlLnN0YXJ0K3UsbC5zZXEyUmFuZ2UuZW5kRXhjbHVzaXZlKSk7Y29udGludWV9Yz4wJiYobz1vLmRlbHRhKGMpKX1yLnB1c2gobyl9cmV0dXJuIHMubGVuZ3RoPjAmJnIucHVzaChzW3MubGVuZ3RoLTFdKSxyfWZ1bmN0aW9uIG5hKGUsdCxuKXtpZighZS5nZXRCb3VuZGFyeVNjb3JlfHwhdC5nZXRCb3VuZGFyeVNjb3JlKXJldHVybiBuO2ZvcihsZXQgcz0wO3M8bi5sZW5ndGg7cysrKXtjb25zdCByPXM+MD9uW3MtMV06dm9pZCAwLGk9bltzXSxsPXMrMTxuLmxlbmd0aD9uW3MrMV06dm9pZCAwLG89bmV3IFUocj9yLnNlcTFSYW5nZS5lbmRFeGNsdXNpdmUrMTowLGw/bC5zZXExUmFuZ2Uuc3RhcnQtMTplLmxlbmd0aCksdT1uZXcgVShyP3Iuc2VxMlJhbmdlLmVuZEV4Y2x1c2l2ZSsxOjAsbD9sLnNlcTJSYW5nZS5zdGFydC0xOnQubGVuZ3RoKTtpLnNlcTFSYW5nZS5pc0VtcHR5P25bc109QnMoaSxlLHQsbyx1KTppLnNlcTJSYW5nZS5pc0VtcHR5JiYobltzXT1CcyhpLnN3YXAoKSx0LGUsdSxvKS5zd2FwKCkpfXJldHVybiBufWZ1bmN0aW9uIEJzKGUsdCxuLHMscil7bGV0IGw9MTtmb3IoO2Uuc2VxMVJhbmdlLnN0YXJ0LWw+PXMuc3RhcnQmJmUuc2VxMlJhbmdlLnN0YXJ0LWw+PXIuc3RhcnQmJm4uaXNTdHJvbmdseUVxdWFsKGUuc2VxMlJhbmdlLnN0YXJ0LWwsZS5zZXEyUmFuZ2UuZW5kRXhjbHVzaXZlLWwpJiZsPDEwMDspbCsrO2wtLTtsZXQgbz0wO2Zvcig7ZS5zZXExUmFuZ2Uuc3RhcnQrbzxzLmVuZEV4Y2x1c2l2ZSYmZS5zZXEyUmFuZ2UuZW5kRXhjbHVzaXZlK288ci5lbmRFeGNsdXNpdmUmJm4uaXNTdHJvbmdseUVxdWFsKGUuc2VxMlJhbmdlLnN0YXJ0K28sZS5zZXEyUmFuZ2UuZW5kRXhjbHVzaXZlK28pJiZvPDEwMDspbysrO2lmKGw9PT0wJiZvPT09MClyZXR1cm4gZTtsZXQgdT0wLGM9LTE7Zm9yKGxldCBoPS1sO2g8PW87aCsrKXtjb25zdCBmPWUuc2VxMlJhbmdlLnN0YXJ0K2gsZD1lLnNlcTJSYW5nZS5lbmRFeGNsdXNpdmUraCxtPWUuc2VxMVJhbmdlLnN0YXJ0K2gsZz10LmdldEJvdW5kYXJ5U2NvcmUobSkrbi5nZXRCb3VuZGFyeVNjb3JlKGYpK24uZ2V0Qm91bmRhcnlTY29yZShkKTtnPmMmJihjPWcsdT1oKX1yZXR1cm4gZS5kZWx0YSh1KX1mdW5jdGlvbiBzYShlLHQsbil7Y29uc3Qgcz1bXTtmb3IoY29uc3QgciBvZiBuKXtjb25zdCBpPXNbcy5sZW5ndGgtMV07aWYoIWkpe3MucHVzaChyKTtjb250aW51ZX1yLnNlcTFSYW5nZS5zdGFydC1pLnNlcTFSYW5nZS5lbmRFeGNsdXNpdmU8PTJ8fHIuc2VxMlJhbmdlLnN0YXJ0LWkuc2VxMlJhbmdlLmVuZEV4Y2x1c2l2ZTw9Mj9zW3MubGVuZ3RoLTFdPW5ldyB6KGkuc2VxMVJhbmdlLmpvaW4oci5zZXExUmFuZ2UpLGkuc2VxMlJhbmdlLmpvaW4oci5zZXEyUmFuZ2UpKTpzLnB1c2gocil9cmV0dXJuIHN9ZnVuY3Rpb24gcmEoZSx0LG4pe2NvbnN0IHM9ei5pbnZlcnQobixlLmxlbmd0aCkscj1bXTtsZXQgaT1uZXcgbmUoMCwwKTtmdW5jdGlvbiBsKHUsYyl7aWYodS5vZmZzZXQxPGkub2Zmc2V0MXx8dS5vZmZzZXQyPGkub2Zmc2V0MilyZXR1cm47Y29uc3QgaD1lLmZpbmRXb3JkQ29udGFpbmluZyh1Lm9mZnNldDEpLGY9dC5maW5kV29yZENvbnRhaW5pbmcodS5vZmZzZXQyKTtpZighaHx8IWYpcmV0dXJuO2xldCBkPW5ldyB6KGgsZik7Y29uc3QgbT1kLmludGVyc2VjdChjKTtsZXQgZz1tLnNlcTFSYW5nZS5sZW5ndGgseD1tLnNlcTJSYW5nZS5sZW5ndGg7Zm9yKDtzLmxlbmd0aD4wOyl7Y29uc3Qgdj1zWzBdO2lmKCEodi5zZXExUmFuZ2UuaW50ZXJzZWN0cyhkLnNlcTFSYW5nZSl8fHYuc2VxMlJhbmdlLmludGVyc2VjdHMoZC5zZXEyUmFuZ2UpKSlicmVhaztjb25zdCBTPWUuZmluZFdvcmRDb250YWluaW5nKHYuc2VxMVJhbmdlLnN0YXJ0KSxfPXQuZmluZFdvcmRDb250YWluaW5nKHYuc2VxMlJhbmdlLnN0YXJ0KSx3PW5ldyB6KFMsXykscD13LmludGVyc2VjdCh2KTtpZihnKz1wLnNlcTFSYW5nZS5sZW5ndGgseCs9cC5zZXEyUmFuZ2UubGVuZ3RoLGQ9ZC5qb2luKHcpLGQuc2VxMVJhbmdlLmVuZEV4Y2x1c2l2ZT49di5zZXExUmFuZ2UuZW5kRXhjbHVzaXZlKXMuc2hpZnQoKTtlbHNlIGJyZWFrfWcreDwoZC5zZXExUmFuZ2UubGVuZ3RoK2Quc2VxMlJhbmdlLmxlbmd0aCkqMi8zJiZyLnB1c2goZCksaT1kLmdldEVuZEV4Y2x1c2l2ZXMoKX1mb3IoO3MubGVuZ3RoPjA7KXtjb25zdCB1PXMuc2hpZnQoKTt1LnNlcTFSYW5nZS5pc0VtcHR5fHwobCh1LmdldFN0YXJ0cygpLHUpLGwodS5nZXRFbmRFeGNsdXNpdmVzKCkuZGVsdGEoLTEpLHUpKX1yZXR1cm4gaWEobixyKX1mdW5jdGlvbiBpYShlLHQpe2NvbnN0IG49W107Zm9yKDtlLmxlbmd0aD4wfHx0Lmxlbmd0aD4wOyl7Y29uc3Qgcz1lWzBdLHI9dFswXTtsZXQgaTtzJiYoIXJ8fHMuc2VxMVJhbmdlLnN0YXJ0PHIuc2VxMVJhbmdlLnN0YXJ0KT9pPWUuc2hpZnQoKTppPXQuc2hpZnQoKSxuLmxlbmd0aD4wJiZuW24ubGVuZ3RoLTFdLnNlcTFSYW5nZS5lbmRFeGNsdXNpdmU+PWkuc2VxMVJhbmdlLnN0YXJ0P25bbi5sZW5ndGgtMV09bltuLmxlbmd0aC0xXS5qb2luKGkpOm4ucHVzaChpKX1yZXR1cm4gbn1mdW5jdGlvbiBhYShlLHQsbil7bGV0IHM9bjtpZihzLmxlbmd0aD09PTApcmV0dXJuIHM7bGV0IHI9MCxpO2Rve2k9ITE7Y29uc3QgbD1bc1swXV07Zm9yKGxldCBvPTE7bzxzLmxlbmd0aDtvKyspe2xldCBoPWZ1bmN0aW9uKGQsbSl7Y29uc3QgZz1uZXcgVShjLnNlcTFSYW5nZS5lbmRFeGNsdXNpdmUsdS5zZXExUmFuZ2Uuc3RhcnQpO3JldHVybiBlLmdldFRleHQoZykucmVwbGFjZSgvXHMvZywiIikubGVuZ3RoPD00JiYoZC5zZXExUmFuZ2UubGVuZ3RoK2Quc2VxMlJhbmdlLmxlbmd0aD41fHxtLnNlcTFSYW5nZS5sZW5ndGgrbS5zZXEyUmFuZ2UubGVuZ3RoPjUpfTtjb25zdCB1PXNbb10sYz1sW2wubGVuZ3RoLTFdO2goYyx1KT8oaT0hMCxsW2wubGVuZ3RoLTFdPWxbbC5sZW5ndGgtMV0uam9pbih1KSk6bC5wdXNoKHUpfXM9bH13aGlsZShyKys8MTAmJmkpO3JldHVybiBzfWZ1bmN0aW9uIGxhKGUsdCxuKXtsZXQgcz1uO2lmKHMubGVuZ3RoPT09MClyZXR1cm4gcztsZXQgcj0wLGk7ZG97aT0hMTtjb25zdCBvPVtzWzBdXTtmb3IobGV0IHU9MTt1PHMubGVuZ3RoO3UrKyl7bGV0IGY9ZnVuY3Rpb24obSxnKXtjb25zdCB4PW5ldyBVKGguc2VxMVJhbmdlLmVuZEV4Y2x1c2l2ZSxjLnNlcTFSYW5nZS5zdGFydCk7aWYoZS5jb3VudExpbmVzSW4oeCk+NXx8eC5sZW5ndGg+NTAwKXJldHVybiExO2NvbnN0IE49ZS5nZXRUZXh0KHgpLnRyaW0oKTtpZihOLmxlbmd0aD4yMHx8Ti5zcGxpdCgvXHJcbnxccnxcbi8pLmxlbmd0aD4xKXJldHVybiExO2NvbnN0IFM9ZS5jb3VudExpbmVzSW4obS5zZXExUmFuZ2UpLF89bS5zZXExUmFuZ2UubGVuZ3RoLHc9dC5jb3VudExpbmVzSW4obS5zZXEyUmFuZ2UpLHA9bS5zZXEyUmFuZ2UubGVuZ3RoLHk9ZS5jb3VudExpbmVzSW4oZy5zZXExUmFuZ2UpLFI9Zy5zZXExUmFuZ2UubGVuZ3RoLEU9dC5jb3VudExpbmVzSW4oZy5zZXEyUmFuZ2UpLEI9Zy5zZXEyUmFuZ2UubGVuZ3RoLEc9Mio0MCs1MDtmdW5jdGlvbiBMKGIpe3JldHVybiBNYXRoLm1pbihiLEcpfXJldHVybiBNYXRoLnBvdyhNYXRoLnBvdyhMKFMqNDArXyksMS41KStNYXRoLnBvdyhMKHcqNDArcCksMS41KSwxLjUpK01hdGgucG93KE1hdGgucG93KEwoeSo0MCtSKSwxLjUpK01hdGgucG93KEwoRSo0MCtCKSwxLjUpLDEuNSk+KEcqKjEuNSkqKjEuNSoxLjN9O2NvbnN0IGM9c1t1XSxoPW9bby5sZW5ndGgtMV07ZihoLGMpPyhpPSEwLG9bby5sZW5ndGgtMV09b1tvLmxlbmd0aC0xXS5qb2luKGMpKTpvLnB1c2goYyl9cz1vfXdoaWxlKHIrKzwxMCYmaSk7Y29uc3QgbD1bXTtyZXR1cm4gc2kocywobyx1LGMpPT57bGV0IGg9dTtmdW5jdGlvbiBmKE4pe3JldHVybiBOLmxlbmd0aD4wJiZOLnRyaW0oKS5sZW5ndGg8PTMmJnUuc2VxMVJhbmdlLmxlbmd0aCt1LnNlcTJSYW5nZS5sZW5ndGg+MTAwfWNvbnN0IGQ9ZS5leHRlbmRUb0Z1bGxMaW5lcyh1LnNlcTFSYW5nZSksbT1lLmdldFRleHQobmV3IFUoZC5zdGFydCx1LnNlcTFSYW5nZS5zdGFydCkpO2YobSkmJihoPWguZGVsdGFTdGFydCgtbS5sZW5ndGgpKTtjb25zdCBnPWUuZ2V0VGV4dChuZXcgVSh1LnNlcTFSYW5nZS5lbmRFeGNsdXNpdmUsZC5lbmRFeGNsdXNpdmUpKTtmKGcpJiYoaD1oLmRlbHRhRW5kKGcubGVuZ3RoKSk7Y29uc3QgeD16LmZyb21PZmZzZXRQYWlycyhvP28uZ2V0RW5kRXhjbHVzaXZlcygpOm5lLnplcm8sYz9jLmdldFN0YXJ0cygpOm5lLm1heCksdj1oLmludGVyc2VjdCh4KTtsLmxlbmd0aD4wJiZ2LmdldFN0YXJ0cygpLmVxdWFscyhsW2wubGVuZ3RoLTFdLmdldEVuZEV4Y2x1c2l2ZXMoKSk/bFtsLmxlbmd0aC0xXT1sW2wubGVuZ3RoLTFdLmpvaW4odik6bC5wdXNoKHYpfSksbH1jbGFzcyBxc3tjb25zdHJ1Y3Rvcih0LG4pe3RoaXMudHJpbW1lZEhhc2g9dCx0aGlzLmxpbmVzPW59Z2V0RWxlbWVudCh0KXtyZXR1cm4gdGhpcy50cmltbWVkSGFzaFt0XX1nZXQgbGVuZ3RoKCl7cmV0dXJuIHRoaXMudHJpbW1lZEhhc2gubGVuZ3RofWdldEJvdW5kYXJ5U2NvcmUodCl7Y29uc3Qgbj10PT09MD8wOkhzKHRoaXMubGluZXNbdC0xXSkscz10PT09dGhpcy5saW5lcy5sZW5ndGg/MDpIcyh0aGlzLmxpbmVzW3RdKTtyZXR1cm4gMWUzLShuK3MpfWdldFRleHQodCl7cmV0dXJuIHRoaXMubGluZXMuc2xpY2UodC5zdGFydCx0LmVuZEV4Y2x1c2l2ZSkuam9pbihgCmApfWlzU3Ryb25nbHlFcXVhbCh0LG4pe3JldHVybiB0aGlzLmxpbmVzW3RdPT09dGhpcy5saW5lc1tuXX19ZnVuY3Rpb24gSHMoZSl7bGV0IHQ9MDtmb3IoO3Q8ZS5sZW5ndGgmJihlLmNoYXJDb2RlQXQodCk9PT0zMnx8ZS5jaGFyQ29kZUF0KHQpPT09OSk7KXQrKztyZXR1cm4gdH1jbGFzcyBvYXtjb25zdHJ1Y3Rvcigpe3RoaXMuZHluYW1pY1Byb2dyYW1taW5nRGlmZmluZz1uZXcgR2ksdGhpcy5teWVyc0RpZmZpbmdBbGdvcml0aG09bmV3IFBzfWNvbXB1dGVEaWZmKHQsbixzKXtpZih0Lmxlbmd0aDw9MSYmZWkodCxuLChwLHkpPT5wPT09eSkpcmV0dXJuIG5ldyBmdChbXSxbXSwhMSk7aWYodC5sZW5ndGg9PT0xJiZ0WzBdLmxlbmd0aD09PTB8fG4ubGVuZ3RoPT09MSYmblswXS5sZW5ndGg9PT0wKXJldHVybiBuZXcgZnQoW25ldyBoZShuZXcgRCgxLHQubGVuZ3RoKzEpLG5ldyBEKDEsbi5sZW5ndGgrMSksW25ldyBWZShuZXcgRigxLDEsdC5sZW5ndGgsdFswXS5sZW5ndGgrMSksbmV3IEYoMSwxLG4ubGVuZ3RoLG5bMF0ubGVuZ3RoKzEpKV0pXSxbXSwhMSk7Y29uc3Qgcj1zLm1heENvbXB1dGF0aW9uVGltZU1zPT09MD9RZS5pbnN0YW5jZTpuZXcgT2kocy5tYXhDb21wdXRhdGlvblRpbWVNcyksaT0hcy5pZ25vcmVUcmltV2hpdGVzcGFjZSxsPW5ldyBNYXA7ZnVuY3Rpb24gbyhwKXtsZXQgeT1sLmdldChwKTtyZXR1cm4geT09PXZvaWQgMCYmKHk9bC5zaXplLGwuc2V0KHAseSkpLHl9Y29uc3QgdT10Lm1hcChwPT5vKHAudHJpbSgpKSksYz1uLm1hcChwPT5vKHAudHJpbSgpKSksaD1uZXcgcXModSx0KSxmPW5ldyBxcyhjLG4pLGQ9aC5sZW5ndGgrZi5sZW5ndGg8MTcwMD90aGlzLmR5bmFtaWNQcm9ncmFtbWluZ0RpZmZpbmcuY29tcHV0ZShoLGYsciwocCx5KT0+dFtwXT09PW5beV0/blt5XS5sZW5ndGg9PT0wPy4xOjErTWF0aC5sb2coMStuW3ldLmxlbmd0aCk6Ljk5KTp0aGlzLm15ZXJzRGlmZmluZ0FsZ29yaXRobS5jb21wdXRlKGgsZik7bGV0IG09ZC5kaWZmcyxnPWQuaGl0VGltZW91dDttPVZzKGgsZixtKSxtPWFhKGgsZixtKTtjb25zdCB4PVtdLHY9cD0+e2lmKGkpZm9yKGxldCB5PTA7eTxwO3krKyl7Y29uc3QgUj1OK3ksRT1TK3k7aWYodFtSXSE9PW5bRV0pe2NvbnN0IEI9dGhpcy5yZWZpbmVEaWZmKHQsbixuZXcgeihuZXcgVShSLFIrMSksbmV3IFUoRSxFKzEpKSxyLGkpO2Zvcihjb25zdCBHIG9mIEIubWFwcGluZ3MpeC5wdXNoKEcpO0IuaGl0VGltZW91dCYmKGc9ITApfX19O2xldCBOPTAsUz0wO2Zvcihjb25zdCBwIG9mIG0pe2h0KCgpPT5wLnNlcTFSYW5nZS5zdGFydC1OPT09cC5zZXEyUmFuZ2Uuc3RhcnQtUyk7Y29uc3QgeT1wLnNlcTFSYW5nZS5zdGFydC1OO3YoeSksTj1wLnNlcTFSYW5nZS5lbmRFeGNsdXNpdmUsUz1wLnNlcTJSYW5nZS5lbmRFeGNsdXNpdmU7Y29uc3QgUj10aGlzLnJlZmluZURpZmYodCxuLHAscixpKTtSLmhpdFRpbWVvdXQmJihnPSEwKTtmb3IoY29uc3QgRSBvZiBSLm1hcHBpbmdzKXgucHVzaChFKX12KHQubGVuZ3RoLU4pO2NvbnN0IF89V3MoeCx0LG4pO2xldCB3PVtdO3JldHVybiBzLmNvbXB1dGVNb3ZlcyYmKHc9dGhpcy5jb21wdXRlTW92ZXMoXyx0LG4sdSxjLHIsaSkpLGh0KCgpPT57ZnVuY3Rpb24gcChSLEUpe2lmKFIubGluZU51bWJlcjwxfHxSLmxpbmVOdW1iZXI+RS5sZW5ndGgpcmV0dXJuITE7Y29uc3QgQj1FW1IubGluZU51bWJlci0xXTtyZXR1cm4hKFIuY29sdW1uPDF8fFIuY29sdW1uPkIubGVuZ3RoKzEpfWZ1bmN0aW9uIHkoUixFKXtyZXR1cm4hKFIuc3RhcnRMaW5lTnVtYmVyPDF8fFIuc3RhcnRMaW5lTnVtYmVyPkUubGVuZ3RoKzF8fFIuZW5kTGluZU51bWJlckV4Y2x1c2l2ZTwxfHxSLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU+RS5sZW5ndGgrMSl9Zm9yKGNvbnN0IFIgb2YgXyl7aWYoIVIuaW5uZXJDaGFuZ2VzKXJldHVybiExO2Zvcihjb25zdCBFIG9mIFIuaW5uZXJDaGFuZ2VzKWlmKCEocChFLm1vZGlmaWVkUmFuZ2UuZ2V0U3RhcnRQb3NpdGlvbigpLG4pJiZwKEUubW9kaWZpZWRSYW5nZS5nZXRFbmRQb3NpdGlvbigpLG4pJiZwKEUub3JpZ2luYWxSYW5nZS5nZXRTdGFydFBvc2l0aW9uKCksdCkmJnAoRS5vcmlnaW5hbFJhbmdlLmdldEVuZFBvc2l0aW9uKCksdCkpKXJldHVybiExO2lmKCF5KFIubW9kaWZpZWQsbil8fCF5KFIub3JpZ2luYWwsdCkpcmV0dXJuITF9cmV0dXJuITB9KSxuZXcgZnQoXyx3LGcpfWNvbXB1dGVNb3Zlcyh0LG4scyxyLGksbCxvKXtyZXR1cm4gWWkodCxuLHMscixpLGwpLm1hcChoPT57Y29uc3QgZj10aGlzLnJlZmluZURpZmYobixzLG5ldyB6KGgub3JpZ2luYWwudG9PZmZzZXRSYW5nZSgpLGgubW9kaWZpZWQudG9PZmZzZXRSYW5nZSgpKSxsLG8pLGQ9V3MoZi5tYXBwaW5ncyxuLHMsITApO3JldHVybiBuZXcgSWkoaCxkKX0pfXJlZmluZURpZmYodCxuLHMscixpKXtjb25zdCBsPW5ldyBkdCh0LHMuc2VxMVJhbmdlLGkpLG89bmV3IGR0KG4scy5zZXEyUmFuZ2UsaSksdT1sLmxlbmd0aCtvLmxlbmd0aDw1MDA/dGhpcy5keW5hbWljUHJvZ3JhbW1pbmdEaWZmaW5nLmNvbXB1dGUobCxvLHIpOnRoaXMubXllcnNEaWZmaW5nQWxnb3JpdGhtLmNvbXB1dGUobCxvLHIpO2xldCBjPXUuZGlmZnM7cmV0dXJuIGM9VnMobCxvLGMpLGM9cmEobCxvLGMpLGM9c2EobCxvLGMpLGM9bGEobCxvLGMpLHttYXBwaW5nczpjLm1hcChmPT5uZXcgVmUobC50cmFuc2xhdGVSYW5nZShmLnNlcTFSYW5nZSksby50cmFuc2xhdGVSYW5nZShmLnNlcTJSYW5nZSkpKSxoaXRUaW1lb3V0OnUuaGl0VGltZW91dH19fWZ1bmN0aW9uIFdzKGUsdCxuLHM9ITEpe2NvbnN0IHI9W107Zm9yKGNvbnN0IGkgb2YgdGkoZS5tYXAobD0+dWEobCx0LG4pKSwobCxvKT0+bC5vcmlnaW5hbC5vdmVybGFwT3JUb3VjaChvLm9yaWdpbmFsKXx8bC5tb2RpZmllZC5vdmVybGFwT3JUb3VjaChvLm1vZGlmaWVkKSkpe2NvbnN0IGw9aVswXSxvPWlbaS5sZW5ndGgtMV07ci5wdXNoKG5ldyBoZShsLm9yaWdpbmFsLmpvaW4oby5vcmlnaW5hbCksbC5tb2RpZmllZC5qb2luKG8ubW9kaWZpZWQpLGkubWFwKHU9PnUuaW5uZXJDaGFuZ2VzWzBdKSkpfXJldHVybiBodCgoKT0+IXMmJnIubGVuZ3RoPjAmJihyWzBdLm1vZGlmaWVkLnN0YXJ0TGluZU51bWJlciE9PXJbMF0ub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyfHxuLmxlbmd0aC1yW3IubGVuZ3RoLTFdLm1vZGlmaWVkLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUhPT10Lmxlbmd0aC1yW3IubGVuZ3RoLTFdLm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUpPyExOkFzKHIsKGksbCk9Pmwub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyLWkub3JpZ2luYWwuZW5kTGluZU51bWJlckV4Y2x1c2l2ZT09PWwubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyLWkubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSYmaS5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlPGwub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyJiZpLm1vZGlmaWVkLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU8bC5tb2RpZmllZC5zdGFydExpbmVOdW1iZXIpKSxyfWZ1bmN0aW9uIHVhKGUsdCxuKXtsZXQgcz0wLHI9MDtlLm1vZGlmaWVkUmFuZ2UuZW5kQ29sdW1uPT09MSYmZS5vcmlnaW5hbFJhbmdlLmVuZENvbHVtbj09PTEmJmUub3JpZ2luYWxSYW5nZS5zdGFydExpbmVOdW1iZXIrczw9ZS5vcmlnaW5hbFJhbmdlLmVuZExpbmVOdW1iZXImJmUubW9kaWZpZWRSYW5nZS5zdGFydExpbmVOdW1iZXIrczw9ZS5tb2RpZmllZFJhbmdlLmVuZExpbmVOdW1iZXImJihyPS0xKSxlLm1vZGlmaWVkUmFuZ2Uuc3RhcnRDb2x1bW4tMT49bltlLm1vZGlmaWVkUmFuZ2Uuc3RhcnRMaW5lTnVtYmVyLTFdLmxlbmd0aCYmZS5vcmlnaW5hbFJhbmdlLnN0YXJ0Q29sdW1uLTE+PXRbZS5vcmlnaW5hbFJhbmdlLnN0YXJ0TGluZU51bWJlci0xXS5sZW5ndGgmJmUub3JpZ2luYWxSYW5nZS5zdGFydExpbmVOdW1iZXI8PWUub3JpZ2luYWxSYW5nZS5lbmRMaW5lTnVtYmVyK3ImJmUubW9kaWZpZWRSYW5nZS5zdGFydExpbmVOdW1iZXI8PWUubW9kaWZpZWRSYW5nZS5lbmRMaW5lTnVtYmVyK3ImJihzPTEpO2NvbnN0IGk9bmV3IEQoZS5vcmlnaW5hbFJhbmdlLnN0YXJ0TGluZU51bWJlcitzLGUub3JpZ2luYWxSYW5nZS5lbmRMaW5lTnVtYmVyKzErciksbD1uZXcgRChlLm1vZGlmaWVkUmFuZ2Uuc3RhcnRMaW5lTnVtYmVyK3MsZS5tb2RpZmllZFJhbmdlLmVuZExpbmVOdW1iZXIrMStyKTtyZXR1cm4gbmV3IGhlKGksbCxbZV0pfWNvbnN0IHpzPXtnZXRMZWdhY3k6KCk9Pm5ldyBIaSxnZXREZWZhdWx0OigpPT5uZXcgb2F9O2Z1bmN0aW9uIHZlKGUsdCl7Y29uc3Qgbj1NYXRoLnBvdygxMCx0KTtyZXR1cm4gTWF0aC5yb3VuZChlKm4pL259Y2xhc3MgT3tjb25zdHJ1Y3Rvcih0LG4scyxyPTEpe3RoaXMuX3JnYmFCcmFuZD12b2lkIDAsdGhpcy5yPU1hdGgubWluKDI1NSxNYXRoLm1heCgwLHQpKXwwLHRoaXMuZz1NYXRoLm1pbigyNTUsTWF0aC5tYXgoMCxuKSl8MCx0aGlzLmI9TWF0aC5taW4oMjU1LE1hdGgubWF4KDAscykpfDAsdGhpcy5hPXZlKE1hdGgubWF4KE1hdGgubWluKDEsciksMCksMyl9c3RhdGljIGVxdWFscyh0LG4pe3JldHVybiB0LnI9PT1uLnImJnQuZz09PW4uZyYmdC5iPT09bi5iJiZ0LmE9PT1uLmF9fWNsYXNzIHNle2NvbnN0cnVjdG9yKHQsbixzLHIpe3RoaXMuX2hzbGFCcmFuZD12b2lkIDAsdGhpcy5oPU1hdGgubWF4KE1hdGgubWluKDM2MCx0KSwwKXwwLHRoaXMucz12ZShNYXRoLm1heChNYXRoLm1pbigxLG4pLDApLDMpLHRoaXMubD12ZShNYXRoLm1heChNYXRoLm1pbigxLHMpLDApLDMpLHRoaXMuYT12ZShNYXRoLm1heChNYXRoLm1pbigxLHIpLDApLDMpfXN0YXRpYyBlcXVhbHModCxuKXtyZXR1cm4gdC5oPT09bi5oJiZ0LnM9PT1uLnMmJnQubD09PW4ubCYmdC5hPT09bi5hfXN0YXRpYyBmcm9tUkdCQSh0KXtjb25zdCBuPXQuci8yNTUscz10LmcvMjU1LHI9dC5iLzI1NSxpPXQuYSxsPU1hdGgubWF4KG4scyxyKSxvPU1hdGgubWluKG4scyxyKTtsZXQgdT0wLGM9MDtjb25zdCBoPShvK2wpLzIsZj1sLW87aWYoZj4wKXtzd2l0Y2goYz1NYXRoLm1pbihoPD0uNT9mLygyKmgpOmYvKDItMipoKSwxKSxsKXtjYXNlIG46dT0ocy1yKS9mKyhzPHI/NjowKTticmVhaztjYXNlIHM6dT0oci1uKS9mKzI7YnJlYWs7Y2FzZSByOnU9KG4tcykvZis0O2JyZWFrfXUqPTYwLHU9TWF0aC5yb3VuZCh1KX1yZXR1cm4gbmV3IHNlKHUsYyxoLGkpfXN0YXRpYyBfaHVlMnJnYih0LG4scyl7cmV0dXJuIHM8MCYmKHMrPTEpLHM+MSYmKHMtPTEpLHM8MS82P3QrKG4tdCkqNipzOnM8MS8yP246czwyLzM/dCsobi10KSooMi8zLXMpKjY6dH1zdGF0aWMgdG9SR0JBKHQpe2NvbnN0IG49dC5oLzM2MCx7cyxsOnIsYTppfT10O2xldCBsLG8sdTtpZihzPT09MClsPW89dT1yO2Vsc2V7Y29uc3QgYz1yPC41P3IqKDErcyk6citzLXIqcyxoPTIqci1jO2w9c2UuX2h1ZTJyZ2IoaCxjLG4rMS8zKSxvPXNlLl9odWUycmdiKGgsYyxuKSx1PXNlLl9odWUycmdiKGgsYyxuLTEvMyl9cmV0dXJuIG5ldyBPKE1hdGgucm91bmQobCoyNTUpLE1hdGgucm91bmQobyoyNTUpLE1hdGgucm91bmQodSoyNTUpLGkpfX1jbGFzcyBxZXtjb25zdHJ1Y3Rvcih0LG4scyxyKXt0aGlzLl9oc3ZhQnJhbmQ9dm9pZCAwLHRoaXMuaD1NYXRoLm1heChNYXRoLm1pbigzNjAsdCksMCl8MCx0aGlzLnM9dmUoTWF0aC5tYXgoTWF0aC5taW4oMSxuKSwwKSwzKSx0aGlzLnY9dmUoTWF0aC5tYXgoTWF0aC5taW4oMSxzKSwwKSwzKSx0aGlzLmE9dmUoTWF0aC5tYXgoTWF0aC5taW4oMSxyKSwwKSwzKX1zdGF0aWMgZXF1YWxzKHQsbil7cmV0dXJuIHQuaD09PW4uaCYmdC5zPT09bi5zJiZ0LnY9PT1uLnYmJnQuYT09PW4uYX1zdGF0aWMgZnJvbVJHQkEodCl7Y29uc3Qgbj10LnIvMjU1LHM9dC5nLzI1NSxyPXQuYi8yNTUsaT1NYXRoLm1heChuLHMsciksbD1NYXRoLm1pbihuLHMsciksbz1pLWwsdT1pPT09MD8wOm8vaTtsZXQgYztyZXR1cm4gbz09PTA/Yz0wOmk9PT1uP2M9KChzLXIpL28lNis2KSU2Omk9PT1zP2M9KHItbikvbysyOmM9KG4tcykvbys0LG5ldyBxZShNYXRoLnJvdW5kKGMqNjApLHUsaSx0LmEpfXN0YXRpYyB0b1JHQkEodCl7Y29uc3R7aDpuLHMsdjpyLGE6aX09dCxsPXIqcyxvPWwqKDEtTWF0aC5hYnMobi82MCUyLTEpKSx1PXItbDtsZXRbYyxoLGZdPVswLDAsMF07cmV0dXJuIG48NjA/KGM9bCxoPW8pOm48MTIwPyhjPW8saD1sKTpuPDE4MD8oaD1sLGY9byk6bjwyNDA/KGg9byxmPWwpOm48MzAwPyhjPW8sZj1sKTpuPD0zNjAmJihjPWwsZj1vKSxjPU1hdGgucm91bmQoKGMrdSkqMjU1KSxoPU1hdGgucm91bmQoKGgrdSkqMjU1KSxmPU1hdGgucm91bmQoKGYrdSkqMjU1KSxuZXcgTyhjLGgsZixpKX19Y2xhc3MgVntzdGF0aWMgZnJvbUhleCh0KXtyZXR1cm4gVi5Gb3JtYXQuQ1NTLnBhcnNlSGV4KHQpfHxWLnJlZH1zdGF0aWMgZXF1YWxzKHQsbil7cmV0dXJuIXQmJiFuPyEwOiF0fHwhbj8hMTp0LmVxdWFscyhuKX1nZXQgaHNsYSgpe3JldHVybiB0aGlzLl9oc2xhP3RoaXMuX2hzbGE6c2UuZnJvbVJHQkEodGhpcy5yZ2JhKX1nZXQgaHN2YSgpe3JldHVybiB0aGlzLl9oc3ZhP3RoaXMuX2hzdmE6cWUuZnJvbVJHQkEodGhpcy5yZ2JhKX1jb25zdHJ1Y3Rvcih0KXtpZih0KWlmKHQgaW5zdGFuY2VvZiBPKXRoaXMucmdiYT10O2Vsc2UgaWYodCBpbnN0YW5jZW9mIHNlKXRoaXMuX2hzbGE9dCx0aGlzLnJnYmE9c2UudG9SR0JBKHQpO2Vsc2UgaWYodCBpbnN0YW5jZW9mIHFlKXRoaXMuX2hzdmE9dCx0aGlzLnJnYmE9cWUudG9SR0JBKHQpO2Vsc2UgdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGNvbG9yIGN0b3IgYXJndW1lbnQiKTtlbHNlIHRocm93IG5ldyBFcnJvcigiQ29sb3IgbmVlZHMgYSB2YWx1ZSIpfWVxdWFscyh0KXtyZXR1cm4hIXQmJk8uZXF1YWxzKHRoaXMucmdiYSx0LnJnYmEpJiZzZS5lcXVhbHModGhpcy5oc2xhLHQuaHNsYSkmJnFlLmVxdWFscyh0aGlzLmhzdmEsdC5oc3ZhKX1nZXRSZWxhdGl2ZUx1bWluYW5jZSgpe2NvbnN0IHQ9Vi5fcmVsYXRpdmVMdW1pbmFuY2VGb3JDb21wb25lbnQodGhpcy5yZ2JhLnIpLG49Vi5fcmVsYXRpdmVMdW1pbmFuY2VGb3JDb21wb25lbnQodGhpcy5yZ2JhLmcpLHM9Vi5fcmVsYXRpdmVMdW1pbmFuY2VGb3JDb21wb25lbnQodGhpcy5yZ2JhLmIpLHI9LjIxMjYqdCsuNzE1MipuKy4wNzIyKnM7cmV0dXJuIHZlKHIsNCl9c3RhdGljIF9yZWxhdGl2ZUx1bWluYW5jZUZvckNvbXBvbmVudCh0KXtjb25zdCBuPXQvMjU1O3JldHVybiBuPD0uMDM5Mjg/bi8xMi45MjpNYXRoLnBvdygobisuMDU1KS8xLjA1NSwyLjQpfWlzTGlnaHRlcigpe3JldHVybih0aGlzLnJnYmEucioyOTkrdGhpcy5yZ2JhLmcqNTg3K3RoaXMucmdiYS5iKjExNCkvMWUzPj0xMjh9aXNMaWdodGVyVGhhbih0KXtjb25zdCBuPXRoaXMuZ2V0UmVsYXRpdmVMdW1pbmFuY2UoKSxzPXQuZ2V0UmVsYXRpdmVMdW1pbmFuY2UoKTtyZXR1cm4gbj5zfWlzRGFya2VyVGhhbih0KXtjb25zdCBuPXRoaXMuZ2V0UmVsYXRpdmVMdW1pbmFuY2UoKSxzPXQuZ2V0UmVsYXRpdmVMdW1pbmFuY2UoKTtyZXR1cm4gbjxzfWxpZ2h0ZW4odCl7cmV0dXJuIG5ldyBWKG5ldyBzZSh0aGlzLmhzbGEuaCx0aGlzLmhzbGEucyx0aGlzLmhzbGEubCt0aGlzLmhzbGEubCp0LHRoaXMuaHNsYS5hKSl9ZGFya2VuKHQpe3JldHVybiBuZXcgVihuZXcgc2UodGhpcy5oc2xhLmgsdGhpcy5oc2xhLnMsdGhpcy5oc2xhLmwtdGhpcy5oc2xhLmwqdCx0aGlzLmhzbGEuYSkpfXRyYW5zcGFyZW50KHQpe2NvbnN0e3I6bixnOnMsYjpyLGE6aX09dGhpcy5yZ2JhO3JldHVybiBuZXcgVihuZXcgTyhuLHMscixpKnQpKX1pc1RyYW5zcGFyZW50KCl7cmV0dXJuIHRoaXMucmdiYS5hPT09MH1pc09wYXF1ZSgpe3JldHVybiB0aGlzLnJnYmEuYT09PTF9b3Bwb3NpdGUoKXtyZXR1cm4gbmV3IFYobmV3IE8oMjU1LXRoaXMucmdiYS5yLDI1NS10aGlzLnJnYmEuZywyNTUtdGhpcy5yZ2JhLmIsdGhpcy5yZ2JhLmEpKX1tYWtlT3BhcXVlKHQpe2lmKHRoaXMuaXNPcGFxdWUoKXx8dC5yZ2JhLmEhPT0xKXJldHVybiB0aGlzO2NvbnN0e3I6bixnOnMsYjpyLGE6aX09dGhpcy5yZ2JhO3JldHVybiBuZXcgVihuZXcgTyh0LnJnYmEuci1pKih0LnJnYmEuci1uKSx0LnJnYmEuZy1pKih0LnJnYmEuZy1zKSx0LnJnYmEuYi1pKih0LnJnYmEuYi1yKSwxKSl9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5fdG9TdHJpbmd8fCh0aGlzLl90b1N0cmluZz1WLkZvcm1hdC5DU1MuZm9ybWF0KHRoaXMpKSx0aGlzLl90b1N0cmluZ31zdGF0aWMgZ2V0TGlnaHRlckNvbG9yKHQsbixzKXtpZih0LmlzTGlnaHRlclRoYW4obikpcmV0dXJuIHQ7cz1zfHwuNTtjb25zdCByPXQuZ2V0UmVsYXRpdmVMdW1pbmFuY2UoKSxpPW4uZ2V0UmVsYXRpdmVMdW1pbmFuY2UoKTtyZXR1cm4gcz1zKihpLXIpL2ksdC5saWdodGVuKHMpfXN0YXRpYyBnZXREYXJrZXJDb2xvcih0LG4scyl7aWYodC5pc0RhcmtlclRoYW4obikpcmV0dXJuIHQ7cz1zfHwuNTtjb25zdCByPXQuZ2V0UmVsYXRpdmVMdW1pbmFuY2UoKSxpPW4uZ2V0UmVsYXRpdmVMdW1pbmFuY2UoKTtyZXR1cm4gcz1zKihyLWkpL3IsdC5kYXJrZW4ocyl9fVYud2hpdGU9bmV3IFYobmV3IE8oMjU1LDI1NSwyNTUsMSkpLFYuYmxhY2s9bmV3IFYobmV3IE8oMCwwLDAsMSkpLFYucmVkPW5ldyBWKG5ldyBPKDI1NSwwLDAsMSkpLFYuYmx1ZT1uZXcgVihuZXcgTygwLDAsMjU1LDEpKSxWLmdyZWVuPW5ldyBWKG5ldyBPKDAsMjU1LDAsMSkpLFYuY3lhbj1uZXcgVihuZXcgTygwLDI1NSwyNTUsMSkpLFYubGlnaHRncmV5PW5ldyBWKG5ldyBPKDIxMSwyMTEsMjExLDEpKSxWLnRyYW5zcGFyZW50PW5ldyBWKG5ldyBPKDAsMCwwLDApKSxmdW5jdGlvbihlKXsoZnVuY3Rpb24odCl7KGZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHMobSl7cmV0dXJuIG0ucmdiYS5hPT09MT9gcmdiKCR7bS5yZ2JhLnJ9LCAke20ucmdiYS5nfSwgJHttLnJnYmEuYn0pYDplLkZvcm1hdC5DU1MuZm9ybWF0UkdCQShtKX1uLmZvcm1hdFJHQj1zO2Z1bmN0aW9uIHIobSl7cmV0dXJuYHJnYmEoJHttLnJnYmEucn0sICR7bS5yZ2JhLmd9LCAke20ucmdiYS5ifSwgJHsrbS5yZ2JhLmEudG9GaXhlZCgyKX0pYH1uLmZvcm1hdFJHQkE9cjtmdW5jdGlvbiBpKG0pe3JldHVybiBtLmhzbGEuYT09PTE/YGhzbCgke20uaHNsYS5ofSwgJHsobS5oc2xhLnMqMTAwKS50b0ZpeGVkKDIpfSUsICR7KG0uaHNsYS5sKjEwMCkudG9GaXhlZCgyKX0lKWA6ZS5Gb3JtYXQuQ1NTLmZvcm1hdEhTTEEobSl9bi5mb3JtYXRIU0w9aTtmdW5jdGlvbiBsKG0pe3JldHVybmBoc2xhKCR7bS5oc2xhLmh9LCAkeyhtLmhzbGEucyoxMDApLnRvRml4ZWQoMil9JSwgJHsobS5oc2xhLmwqMTAwKS50b0ZpeGVkKDIpfSUsICR7bS5oc2xhLmEudG9GaXhlZCgyKX0pYH1uLmZvcm1hdEhTTEE9bDtmdW5jdGlvbiBvKG0pe2NvbnN0IGc9bS50b1N0cmluZygxNik7cmV0dXJuIGcubGVuZ3RoIT09Mj8iMCIrZzpnfWZ1bmN0aW9uIHUobSl7cmV0dXJuYCMke28obS5yZ2JhLnIpfSR7byhtLnJnYmEuZyl9JHtvKG0ucmdiYS5iKX1gfW4uZm9ybWF0SGV4PXU7ZnVuY3Rpb24gYyhtLGc9ITEpe3JldHVybiBnJiZtLnJnYmEuYT09PTE/ZS5Gb3JtYXQuQ1NTLmZvcm1hdEhleChtKTpgIyR7byhtLnJnYmEucil9JHtvKG0ucmdiYS5nKX0ke28obS5yZ2JhLmIpfSR7byhNYXRoLnJvdW5kKG0ucmdiYS5hKjI1NSkpfWB9bi5mb3JtYXRIZXhBPWM7ZnVuY3Rpb24gaChtKXtyZXR1cm4gbS5pc09wYXF1ZSgpP2UuRm9ybWF0LkNTUy5mb3JtYXRIZXgobSk6ZS5Gb3JtYXQuQ1NTLmZvcm1hdFJHQkEobSl9bi5mb3JtYXQ9aDtmdW5jdGlvbiBmKG0pe2NvbnN0IGc9bS5sZW5ndGg7aWYoZz09PTB8fG0uY2hhckNvZGVBdCgwKSE9PTM1KXJldHVybiBudWxsO2lmKGc9PT03KXtjb25zdCB4PTE2KmQobS5jaGFyQ29kZUF0KDEpKStkKG0uY2hhckNvZGVBdCgyKSksdj0xNipkKG0uY2hhckNvZGVBdCgzKSkrZChtLmNoYXJDb2RlQXQoNCkpLE49MTYqZChtLmNoYXJDb2RlQXQoNSkpK2QobS5jaGFyQ29kZUF0KDYpKTtyZXR1cm4gbmV3IGUobmV3IE8oeCx2LE4sMSkpfWlmKGc9PT05KXtjb25zdCB4PTE2KmQobS5jaGFyQ29kZUF0KDEpKStkKG0uY2hhckNvZGVBdCgyKSksdj0xNipkKG0uY2hhckNvZGVBdCgzKSkrZChtLmNoYXJDb2RlQXQoNCkpLE49MTYqZChtLmNoYXJDb2RlQXQoNSkpK2QobS5jaGFyQ29kZUF0KDYpKSxTPTE2KmQobS5jaGFyQ29kZUF0KDcpKStkKG0uY2hhckNvZGVBdCg4KSk7cmV0dXJuIG5ldyBlKG5ldyBPKHgsdixOLFMvMjU1KSl9aWYoZz09PTQpe2NvbnN0IHg9ZChtLmNoYXJDb2RlQXQoMSkpLHY9ZChtLmNoYXJDb2RlQXQoMikpLE49ZChtLmNoYXJDb2RlQXQoMykpO3JldHVybiBuZXcgZShuZXcgTygxNip4K3gsMTYqdit2LDE2Kk4rTikpfWlmKGc9PT01KXtjb25zdCB4PWQobS5jaGFyQ29kZUF0KDEpKSx2PWQobS5jaGFyQ29kZUF0KDIpKSxOPWQobS5jaGFyQ29kZUF0KDMpKSxTPWQobS5jaGFyQ29kZUF0KDQpKTtyZXR1cm4gbmV3IGUobmV3IE8oMTYqeCt4LDE2KnYrdiwxNipOK04sKDE2KlMrUykvMjU1KSl9cmV0dXJuIG51bGx9bi5wYXJzZUhleD1mO2Z1bmN0aW9uIGQobSl7c3dpdGNoKG0pe2Nhc2UgNDg6cmV0dXJuIDA7Y2FzZSA0OTpyZXR1cm4gMTtjYXNlIDUwOnJldHVybiAyO2Nhc2UgNTE6cmV0dXJuIDM7Y2FzZSA1MjpyZXR1cm4gNDtjYXNlIDUzOnJldHVybiA1O2Nhc2UgNTQ6cmV0dXJuIDY7Y2FzZSA1NTpyZXR1cm4gNztjYXNlIDU2OnJldHVybiA4O2Nhc2UgNTc6cmV0dXJuIDk7Y2FzZSA5NzpyZXR1cm4gMTA7Y2FzZSA2NTpyZXR1cm4gMTA7Y2FzZSA5ODpyZXR1cm4gMTE7Y2FzZSA2NjpyZXR1cm4gMTE7Y2FzZSA5OTpyZXR1cm4gMTI7Y2FzZSA2NzpyZXR1cm4gMTI7Y2FzZSAxMDA6cmV0dXJuIDEzO2Nhc2UgNjg6cmV0dXJuIDEzO2Nhc2UgMTAxOnJldHVybiAxNDtjYXNlIDY5OnJldHVybiAxNDtjYXNlIDEwMjpyZXR1cm4gMTU7Y2FzZSA3MDpyZXR1cm4gMTV9cmV0dXJuIDB9fSkodC5DU1N8fCh0LkNTUz17fSkpfSkoZS5Gb3JtYXR8fChlLkZvcm1hdD17fSkpfShWfHwoVj17fSkpO2Z1bmN0aW9uICRzKGUpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IG4gb2YgZSl7Y29uc3Qgcz1OdW1iZXIobik7KHN8fHM9PT0wJiZuLnJlcGxhY2UoL1xzL2csIiIpIT09IiIpJiZ0LnB1c2gocyl9cmV0dXJuIHR9ZnVuY3Rpb24gUXQoZSx0LG4scyl7cmV0dXJue3JlZDplLzI1NSxibHVlOm4vMjU1LGdyZWVuOnQvMjU1LGFscGhhOnN9fWZ1bmN0aW9uIFllKGUsdCl7Y29uc3Qgbj10LmluZGV4LHM9dFswXS5sZW5ndGg7aWYoIW4pcmV0dXJuO2NvbnN0IHI9ZS5wb3NpdGlvbkF0KG4pO3JldHVybntzdGFydExpbmVOdW1iZXI6ci5saW5lTnVtYmVyLHN0YXJ0Q29sdW1uOnIuY29sdW1uLGVuZExpbmVOdW1iZXI6ci5saW5lTnVtYmVyLGVuZENvbHVtbjpyLmNvbHVtbitzfX1mdW5jdGlvbiBjYShlLHQpe2lmKCFlKXJldHVybjtjb25zdCBuPVYuRm9ybWF0LkNTUy5wYXJzZUhleCh0KTtpZihuKXJldHVybntyYW5nZTplLGNvbG9yOlF0KG4ucmdiYS5yLG4ucmdiYS5nLG4ucmdiYS5iLG4ucmdiYS5hKX19ZnVuY3Rpb24gT3MoZSx0LG4pe2lmKCFlfHx0Lmxlbmd0aCE9PTEpcmV0dXJuO2NvbnN0IHI9dFswXS52YWx1ZXMoKSxpPSRzKHIpO3JldHVybntyYW5nZTplLGNvbG9yOlF0KGlbMF0saVsxXSxpWzJdLG4/aVszXToxKX19ZnVuY3Rpb24gR3MoZSx0LG4pe2lmKCFlfHx0Lmxlbmd0aCE9PTEpcmV0dXJuO2NvbnN0IHI9dFswXS52YWx1ZXMoKSxpPSRzKHIpLGw9bmV3IFYobmV3IHNlKGlbMF0saVsxXS8xMDAsaVsyXS8xMDAsbj9pWzNdOjEpKTtyZXR1cm57cmFuZ2U6ZSxjb2xvcjpRdChsLnJnYmEucixsLnJnYmEuZyxsLnJnYmEuYixsLnJnYmEuYSl9fWZ1bmN0aW9uIEplKGUsdCl7cmV0dXJuIHR5cGVvZiBlPT0ic3RyaW5nIj9bLi4uZS5tYXRjaEFsbCh0KV06ZS5maW5kTWF0Y2hlcyh0KX1mdW5jdGlvbiBoYShlKXtjb25zdCB0PVtdLHM9SmUoZSwvXGIocmdifHJnYmF8aHNsfGhzbGEpKFwoWzAtOVxzLC5cJV0qXCkpfCgjKShbQS1GYS1mMC05XXszfSlcYnwoIykoW0EtRmEtZjAtOV17NH0pXGJ8KCMpKFtBLUZhLWYwLTldezZ9KVxifCgjKShbQS1GYS1mMC05XXs4fSlcYi9nbSk7aWYocy5sZW5ndGg+MClmb3IoY29uc3QgciBvZiBzKXtjb25zdCBpPXIuZmlsdGVyKGM9PmMhPT12b2lkIDApLGw9aVsxXSxvPWlbMl07aWYoIW8pY29udGludWU7bGV0IHU7aWYobD09PSJyZ2IiKXtjb25zdCBjPS9eXChccyooMjVbMC01XXwyWzAtNF1bMC05XXwxWzAtOV17Mn18WzEtOV1bMC05XXxbMC05XSlccyosXHMqKDI1WzAtNV18MlswLTRdWzAtOV18MVswLTldezJ9fFsxLTldWzAtOV18WzAtOV0pXHMqLFxzKigyNVswLTVdfDJbMC00XVswLTldfDFbMC05XXsyfXxbMS05XVswLTldfFswLTldKVxzKlwpJC9nbTt1PU9zKFllKGUsciksSmUobyxjKSwhMSl9ZWxzZSBpZihsPT09InJnYmEiKXtjb25zdCBjPS9eXChccyooMjVbMC01XXwyWzAtNF1bMC05XXwxWzAtOV17Mn18WzEtOV1bMC05XXxbMC05XSlccyosXHMqKDI1WzAtNV18MlswLTRdWzAtOV18MVswLTldezJ9fFsxLTldWzAtOV18WzAtOV0pXHMqLFxzKigyNVswLTVdfDJbMC00XVswLTldfDFbMC05XXsyfXxbMS05XVswLTldfFswLTldKVxzKixccyooMFsuXVswLTldK3xbLl1bMC05XSt8WzAxXVsuXXxbMDFdKVxzKlwpJC9nbTt1PU9zKFllKGUsciksSmUobyxjKSwhMCl9ZWxzZSBpZihsPT09ImhzbCIpe2NvbnN0IGM9L15cKFxzKigzNlswXXwzWzAtNV1bMC05XXxbMTJdWzAtOV1bMC05XXxbMS05XT9bMC05XSlccyosXHMqKDEwMHxcZHsxLDJ9Wy5dXGQqfFxkezEsMn0pJVxzKixccyooMTAwfFxkezEsMn1bLl1cZCp8XGR7MSwyfSklXHMqXCkkL2dtO3U9R3MoWWUoZSxyKSxKZShvLGMpLCExKX1lbHNlIGlmKGw9PT0iaHNsYSIpe2NvbnN0IGM9L15cKFxzKigzNlswXXwzWzAtNV1bMC05XXxbMTJdWzAtOV1bMC05XXxbMS05XT9bMC05XSlccyosXHMqKDEwMHxcZHsxLDJ9Wy5dXGQqfFxkezEsMn0pJVxzKixccyooMTAwfFxkezEsMn1bLl1cZCp8XGR7MSwyfSklXHMqLFxzKigwWy5dWzAtOV0rfFsuXVswLTldK3xbMDFdWy5dfFswMV0pXHMqXCkkL2dtO3U9R3MoWWUoZSxyKSxKZShvLGMpLCEwKX1lbHNlIGw9PT0iIyImJih1PWNhKFllKGUsciksbCtvKSk7dSYmdC5wdXNoKHUpfXJldHVybiB0fWZ1bmN0aW9uIGZhKGUpe3JldHVybiFlfHx0eXBlb2YgZS5nZXRWYWx1ZSE9ImZ1bmN0aW9uInx8dHlwZW9mIGUucG9zaXRpb25BdCE9ImZ1bmN0aW9uIj9bXTpoYShlKX1jb25zdCBqcz1uZXcgUmVnRXhwKCJcXGJNQVJLOlxccyooLiopJCIsImQiKSxkYT0vXi0rfC0rJC9nO2Z1bmN0aW9uIG1hKGUsdCl7dmFyIG47bGV0IHM9W107aWYodC5maW5kUmVnaW9uU2VjdGlvbkhlYWRlcnMmJighKChuPXQuZm9sZGluZ1J1bGVzKT09PW51bGx8fG49PT12b2lkIDApJiZuLm1hcmtlcnMpKXtjb25zdCByPWdhKGUsdCk7cz1zLmNvbmNhdChyKX1pZih0LmZpbmRNYXJrU2VjdGlvbkhlYWRlcnMpe2NvbnN0IHI9YmEoZSk7cz1zLmNvbmNhdChyKX1yZXR1cm4gc31mdW5jdGlvbiBnYShlLHQpe2NvbnN0IG49W10scz1lLmdldExpbmVDb3VudCgpO2ZvcihsZXQgcj0xO3I8PXM7cisrKXtjb25zdCBpPWUuZ2V0TGluZUNvbnRlbnQociksbD1pLm1hdGNoKHQuZm9sZGluZ1J1bGVzLm1hcmtlcnMuc3RhcnQpO2lmKGwpe2NvbnN0IG89e3N0YXJ0TGluZU51bWJlcjpyLHN0YXJ0Q29sdW1uOmxbMF0ubGVuZ3RoKzEsZW5kTGluZU51bWJlcjpyLGVuZENvbHVtbjppLmxlbmd0aCsxfTtpZihvLmVuZENvbHVtbj5vLnN0YXJ0Q29sdW1uKXtjb25zdCB1PXtyYW5nZTpvLC4uLlhzKGkuc3Vic3RyaW5nKGxbMF0ubGVuZ3RoKSksc2hvdWxkQmVJbkNvbW1lbnRzOiExfTsodS50ZXh0fHx1Lmhhc1NlcGFyYXRvckxpbmUpJiZuLnB1c2godSl9fX1yZXR1cm4gbn1mdW5jdGlvbiBiYShlKXtjb25zdCB0PVtdLG49ZS5nZXRMaW5lQ291bnQoKTtmb3IobGV0IHM9MTtzPD1uO3MrKyl7Y29uc3Qgcj1lLmdldExpbmVDb250ZW50KHMpO19hKHIscyx0KX1yZXR1cm4gdH1mdW5jdGlvbiBfYShlLHQsbil7anMubGFzdEluZGV4PTA7Y29uc3Qgcz1qcy5leGVjKGUpO2lmKHMpe2NvbnN0IHI9cy5pbmRpY2VzWzFdWzBdKzEsaT1zLmluZGljZXNbMV1bMV0rMSxsPXtzdGFydExpbmVOdW1iZXI6dCxzdGFydENvbHVtbjpyLGVuZExpbmVOdW1iZXI6dCxlbmRDb2x1bW46aX07aWYobC5lbmRDb2x1bW4+bC5zdGFydENvbHVtbil7Y29uc3Qgbz17cmFuZ2U6bCwuLi5YcyhzWzFdKSxzaG91bGRCZUluQ29tbWVudHM6ITB9OyhvLnRleHR8fG8uaGFzU2VwYXJhdG9yTGluZSkmJm4ucHVzaChvKX19fWZ1bmN0aW9uIFhzKGUpe2U9ZS50cmltKCk7Y29uc3QgdD1lLnN0YXJ0c1dpdGgoIi0iKTtyZXR1cm4gZT1lLnJlcGxhY2UoZGEsIiIpLHt0ZXh0OmUsaGFzU2VwYXJhdG9yTGluZTp0fX1jbGFzcyB4YSBleHRlbmRzIG9pe2dldCB1cmkoKXtyZXR1cm4gdGhpcy5fdXJpfWdldCBlb2woKXtyZXR1cm4gdGhpcy5fZW9sfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMuZ2V0VGV4dCgpfWZpbmRNYXRjaGVzKHQpe2NvbnN0IG49W107Zm9yKGxldCBzPTA7czx0aGlzLl9saW5lcy5sZW5ndGg7cysrKXtjb25zdCByPXRoaXMuX2xpbmVzW3NdLGk9dGhpcy5vZmZzZXRBdChuZXcgWShzKzEsMSkpLGw9ci5tYXRjaEFsbCh0KTtmb3IoY29uc3QgbyBvZiBsKShvLmluZGV4fHxvLmluZGV4PT09MCkmJihvLmluZGV4PW8uaW5kZXgraSksbi5wdXNoKG8pfXJldHVybiBufWdldExpbmVzQ29udGVudCgpe3JldHVybiB0aGlzLl9saW5lcy5zbGljZSgwKX1nZXRMaW5lQ291bnQoKXtyZXR1cm4gdGhpcy5fbGluZXMubGVuZ3RofWdldExpbmVDb250ZW50KHQpe3JldHVybiB0aGlzLl9saW5lc1t0LTFdfWdldFdvcmRBdFBvc2l0aW9uKHQsbil7Y29uc3Qgcz1QdCh0LmNvbHVtbixMbihuKSx0aGlzLl9saW5lc1t0LmxpbmVOdW1iZXItMV0sMCk7cmV0dXJuIHM/bmV3IEYodC5saW5lTnVtYmVyLHMuc3RhcnRDb2x1bW4sdC5saW5lTnVtYmVyLHMuZW5kQ29sdW1uKTpudWxsfXdvcmRzKHQpe2NvbnN0IG49dGhpcy5fbGluZXMscz10aGlzLl93b3JkZW5pemUuYmluZCh0aGlzKTtsZXQgcj0wLGk9IiIsbD0wLG89W107cmV0dXJueypbU3ltYm9sLml0ZXJhdG9yXSgpe2Zvcig7OylpZihsPG8ubGVuZ3RoKXtjb25zdCB1PWkuc3Vic3RyaW5nKG9bbF0uc3RhcnQsb1tsXS5lbmQpO2wrPTEseWllbGQgdX1lbHNlIGlmKHI8bi5sZW5ndGgpaT1uW3JdLG89cyhpLHQpLGw9MCxyKz0xO2Vsc2UgYnJlYWt9fX1nZXRMaW5lV29yZHModCxuKXtjb25zdCBzPXRoaXMuX2xpbmVzW3QtMV0scj10aGlzLl93b3JkZW5pemUocyxuKSxpPVtdO2Zvcihjb25zdCBsIG9mIHIpaS5wdXNoKHt3b3JkOnMuc3Vic3RyaW5nKGwuc3RhcnQsbC5lbmQpLHN0YXJ0Q29sdW1uOmwuc3RhcnQrMSxlbmRDb2x1bW46bC5lbmQrMX0pO3JldHVybiBpfV93b3JkZW5pemUodCxuKXtjb25zdCBzPVtdO2xldCByO2ZvcihuLmxhc3RJbmRleD0wOyhyPW4uZXhlYyh0KSkmJnJbMF0ubGVuZ3RoIT09MDspcy5wdXNoKHtzdGFydDpyLmluZGV4LGVuZDpyLmluZGV4K3JbMF0ubGVuZ3RofSk7cmV0dXJuIHN9Z2V0VmFsdWVJblJhbmdlKHQpe2lmKHQ9dGhpcy5fdmFsaWRhdGVSYW5nZSh0KSx0LnN0YXJ0TGluZU51bWJlcj09PXQuZW5kTGluZU51bWJlcilyZXR1cm4gdGhpcy5fbGluZXNbdC5zdGFydExpbmVOdW1iZXItMV0uc3Vic3RyaW5nKHQuc3RhcnRDb2x1bW4tMSx0LmVuZENvbHVtbi0xKTtjb25zdCBuPXRoaXMuX2VvbCxzPXQuc3RhcnRMaW5lTnVtYmVyLTEscj10LmVuZExpbmVOdW1iZXItMSxpPVtdO2kucHVzaCh0aGlzLl9saW5lc1tzXS5zdWJzdHJpbmcodC5zdGFydENvbHVtbi0xKSk7Zm9yKGxldCBsPXMrMTtsPHI7bCsrKWkucHVzaCh0aGlzLl9saW5lc1tsXSk7cmV0dXJuIGkucHVzaCh0aGlzLl9saW5lc1tyXS5zdWJzdHJpbmcoMCx0LmVuZENvbHVtbi0xKSksaS5qb2luKG4pfW9mZnNldEF0KHQpe3JldHVybiB0PXRoaXMuX3ZhbGlkYXRlUG9zaXRpb24odCksdGhpcy5fZW5zdXJlTGluZVN0YXJ0cygpLHRoaXMuX2xpbmVTdGFydHMuZ2V0UHJlZml4U3VtKHQubGluZU51bWJlci0yKSsodC5jb2x1bW4tMSl9cG9zaXRpb25BdCh0KXt0PU1hdGguZmxvb3IodCksdD1NYXRoLm1heCgwLHQpLHRoaXMuX2Vuc3VyZUxpbmVTdGFydHMoKTtjb25zdCBuPXRoaXMuX2xpbmVTdGFydHMuZ2V0SW5kZXhPZih0KSxzPXRoaXMuX2xpbmVzW24uaW5kZXhdLmxlbmd0aDtyZXR1cm57bGluZU51bWJlcjoxK24uaW5kZXgsY29sdW1uOjErTWF0aC5taW4obi5yZW1haW5kZXIscyl9fV92YWxpZGF0ZVJhbmdlKHQpe2NvbnN0IG49dGhpcy5fdmFsaWRhdGVQb3NpdGlvbih7bGluZU51bWJlcjp0LnN0YXJ0TGluZU51bWJlcixjb2x1bW46dC5zdGFydENvbHVtbn0pLHM9dGhpcy5fdmFsaWRhdGVQb3NpdGlvbih7bGluZU51bWJlcjp0LmVuZExpbmVOdW1iZXIsY29sdW1uOnQuZW5kQ29sdW1ufSk7cmV0dXJuIG4ubGluZU51bWJlciE9PXQuc3RhcnRMaW5lTnVtYmVyfHxuLmNvbHVtbiE9PXQuc3RhcnRDb2x1bW58fHMubGluZU51bWJlciE9PXQuZW5kTGluZU51bWJlcnx8cy5jb2x1bW4hPT10LmVuZENvbHVtbj97c3RhcnRMaW5lTnVtYmVyOm4ubGluZU51bWJlcixzdGFydENvbHVtbjpuLmNvbHVtbixlbmRMaW5lTnVtYmVyOnMubGluZU51bWJlcixlbmRDb2x1bW46cy5jb2x1bW59OnR9X3ZhbGlkYXRlUG9zaXRpb24odCl7aWYoIVkuaXNJUG9zaXRpb24odCkpdGhyb3cgbmV3IEVycm9yKCJiYWQgcG9zaXRpb24iKTtsZXR7bGluZU51bWJlcjpuLGNvbHVtbjpzfT10LHI9ITE7aWYobjwxKW49MSxzPTEscj0hMDtlbHNlIGlmKG4+dGhpcy5fbGluZXMubGVuZ3RoKW49dGhpcy5fbGluZXMubGVuZ3RoLHM9dGhpcy5fbGluZXNbbi0xXS5sZW5ndGgrMSxyPSEwO2Vsc2V7Y29uc3QgaT10aGlzLl9saW5lc1tuLTFdLmxlbmd0aCsxO3M8MT8ocz0xLHI9ITApOnM+aSYmKHM9aSxyPSEwKX1yZXR1cm4gcj97bGluZU51bWJlcjpuLGNvbHVtbjpzfTp0fX1jbGFzcyBTZXtjb25zdHJ1Y3Rvcih0LG4pe3RoaXMuX2hvc3Q9dCx0aGlzLl9tb2RlbHM9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLl9mb3JlaWduTW9kdWxlRmFjdG9yeT1uLHRoaXMuX2ZvcmVpZ25Nb2R1bGU9bnVsbH1kaXNwb3NlKCl7dGhpcy5fbW9kZWxzPU9iamVjdC5jcmVhdGUobnVsbCl9X2dldE1vZGVsKHQpe3JldHVybiB0aGlzLl9tb2RlbHNbdF19X2dldE1vZGVscygpe2NvbnN0IHQ9W107cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuX21vZGVscykuZm9yRWFjaChuPT50LnB1c2godGhpcy5fbW9kZWxzW25dKSksdH1hY2NlcHROZXdNb2RlbCh0KXt0aGlzLl9tb2RlbHNbdC51cmxdPW5ldyB4YShOZS5wYXJzZSh0LnVybCksdC5saW5lcyx0LkVPTCx0LnZlcnNpb25JZCl9YWNjZXB0TW9kZWxDaGFuZ2VkKHQsbil7aWYoIXRoaXMuX21vZGVsc1t0XSlyZXR1cm47dGhpcy5fbW9kZWxzW3RdLm9uRXZlbnRzKG4pfWFjY2VwdFJlbW92ZWRNb2RlbCh0KXt0aGlzLl9tb2RlbHNbdF0mJmRlbGV0ZSB0aGlzLl9tb2RlbHNbdF19YXN5bmMgY29tcHV0ZVVuaWNvZGVIaWdobGlnaHRzKHQsbixzKXtjb25zdCByPXRoaXMuX2dldE1vZGVsKHQpO3JldHVybiByP1VpLmNvbXB1dGVVbmljb2RlSGlnaGxpZ2h0cyhyLG4scyk6e3JhbmdlczpbXSxoYXNNb3JlOiExLGFtYmlndW91c0NoYXJhY3RlckNvdW50OjAsaW52aXNpYmxlQ2hhcmFjdGVyQ291bnQ6MCxub25CYXNpY0FzY2lpQ2hhcmFjdGVyQ291bnQ6MH19YXN5bmMgZmluZFNlY3Rpb25IZWFkZXJzKHQsbil7Y29uc3Qgcz10aGlzLl9nZXRNb2RlbCh0KTtyZXR1cm4gcz9tYShzLG4pOltdfWFzeW5jIGNvbXB1dGVEaWZmKHQsbixzLHIpe2NvbnN0IGk9dGhpcy5fZ2V0TW9kZWwodCksbD10aGlzLl9nZXRNb2RlbChuKTtyZXR1cm4haXx8IWw/bnVsbDpTZS5jb21wdXRlRGlmZihpLGwscyxyKX1zdGF0aWMgY29tcHV0ZURpZmYodCxuLHMscil7Y29uc3QgaT1yPT09ImFkdmFuY2VkIj96cy5nZXREZWZhdWx0KCk6enMuZ2V0TGVnYWN5KCksbD10LmdldExpbmVzQ29udGVudCgpLG89bi5nZXRMaW5lc0NvbnRlbnQoKSx1PWkuY29tcHV0ZURpZmYobCxvLHMpLGM9dS5jaGFuZ2VzLmxlbmd0aD4wPyExOnRoaXMuX21vZGVsc0FyZUlkZW50aWNhbCh0LG4pO2Z1bmN0aW9uIGgoZil7cmV0dXJuIGYubWFwKGQ9Pnt2YXIgbTtyZXR1cm5bZC5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXIsZC5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLGQubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyLGQubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSwobT1kLmlubmVyQ2hhbmdlcyk9PT1udWxsfHxtPT09dm9pZCAwP3ZvaWQgMDptLm1hcChnPT5bZy5vcmlnaW5hbFJhbmdlLnN0YXJ0TGluZU51bWJlcixnLm9yaWdpbmFsUmFuZ2Uuc3RhcnRDb2x1bW4sZy5vcmlnaW5hbFJhbmdlLmVuZExpbmVOdW1iZXIsZy5vcmlnaW5hbFJhbmdlLmVuZENvbHVtbixnLm1vZGlmaWVkUmFuZ2Uuc3RhcnRMaW5lTnVtYmVyLGcubW9kaWZpZWRSYW5nZS5zdGFydENvbHVtbixnLm1vZGlmaWVkUmFuZ2UuZW5kTGluZU51bWJlcixnLm1vZGlmaWVkUmFuZ2UuZW5kQ29sdW1uXSldfSl9cmV0dXJue2lkZW50aWNhbDpjLHF1aXRFYXJseTp1LmhpdFRpbWVvdXQsY2hhbmdlczpoKHUuY2hhbmdlcyksbW92ZXM6dS5tb3Zlcy5tYXAoZj0+W2YubGluZVJhbmdlTWFwcGluZy5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXIsZi5saW5lUmFuZ2VNYXBwaW5nLm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUsZi5saW5lUmFuZ2VNYXBwaW5nLm1vZGlmaWVkLnN0YXJ0TGluZU51bWJlcixmLmxpbmVSYW5nZU1hcHBpbmcubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSxoKGYuY2hhbmdlcyldKX19c3RhdGljIF9tb2RlbHNBcmVJZGVudGljYWwodCxuKXtjb25zdCBzPXQuZ2V0TGluZUNvdW50KCkscj1uLmdldExpbmVDb3VudCgpO2lmKHMhPT1yKXJldHVybiExO2ZvcihsZXQgaT0xO2k8PXM7aSsrKXtjb25zdCBsPXQuZ2V0TGluZUNvbnRlbnQoaSksbz1uLmdldExpbmVDb250ZW50KGkpO2lmKGwhPT1vKXJldHVybiExfXJldHVybiEwfWFzeW5jIGNvbXB1dGVNb3JlTWluaW1hbEVkaXRzKHQsbixzKXtjb25zdCByPXRoaXMuX2dldE1vZGVsKHQpO2lmKCFyKXJldHVybiBuO2NvbnN0IGk9W107bGV0IGw7bj1uLnNsaWNlKDApLnNvcnQoKHUsYyk9PntpZih1LnJhbmdlJiZjLnJhbmdlKXJldHVybiBGLmNvbXBhcmVSYW5nZXNVc2luZ1N0YXJ0cyh1LnJhbmdlLGMucmFuZ2UpO2NvbnN0IGg9dS5yYW5nZT8wOjEsZj1jLnJhbmdlPzA6MTtyZXR1cm4gaC1mfSk7bGV0IG89MDtmb3IobGV0IHU9MTt1PG4ubGVuZ3RoO3UrKylGLmdldEVuZFBvc2l0aW9uKG5bb10ucmFuZ2UpLmVxdWFscyhGLmdldFN0YXJ0UG9zaXRpb24oblt1XS5yYW5nZSkpPyhuW29dLnJhbmdlPUYuZnJvbVBvc2l0aW9ucyhGLmdldFN0YXJ0UG9zaXRpb24obltvXS5yYW5nZSksRi5nZXRFbmRQb3NpdGlvbihuW3VdLnJhbmdlKSksbltvXS50ZXh0Kz1uW3VdLnRleHQpOihvKyssbltvXT1uW3VdKTtuLmxlbmd0aD1vKzE7Zm9yKGxldHtyYW5nZTp1LHRleHQ6Yyxlb2w6aH1vZiBuKXtpZih0eXBlb2YgaD09Im51bWJlciImJihsPWgpLEYuaXNFbXB0eSh1KSYmIWMpY29udGludWU7Y29uc3QgZj1yLmdldFZhbHVlSW5SYW5nZSh1KTtpZihjPWMucmVwbGFjZSgvXHJcbnxcbnxcci9nLHIuZW9sKSxmPT09Yyljb250aW51ZTtpZihNYXRoLm1heChjLmxlbmd0aCxmLmxlbmd0aCk+U2UuX2RpZmZMaW1pdCl7aS5wdXNoKHtyYW5nZTp1LHRleHQ6Y30pO2NvbnRpbnVlfWNvbnN0IGQ9VXIoZixjLHMpLG09ci5vZmZzZXRBdChGLmxpZnQodSkuZ2V0U3RhcnRQb3NpdGlvbigpKTtmb3IoY29uc3QgZyBvZiBkKXtjb25zdCB4PXIucG9zaXRpb25BdChtK2cub3JpZ2luYWxTdGFydCksdj1yLnBvc2l0aW9uQXQobStnLm9yaWdpbmFsU3RhcnQrZy5vcmlnaW5hbExlbmd0aCksTj17dGV4dDpjLnN1YnN0cihnLm1vZGlmaWVkU3RhcnQsZy5tb2RpZmllZExlbmd0aCkscmFuZ2U6e3N0YXJ0TGluZU51bWJlcjp4LmxpbmVOdW1iZXIsc3RhcnRDb2x1bW46eC5jb2x1bW4sZW5kTGluZU51bWJlcjp2LmxpbmVOdW1iZXIsZW5kQ29sdW1uOnYuY29sdW1ufX07ci5nZXRWYWx1ZUluUmFuZ2UoTi5yYW5nZSkhPT1OLnRleHQmJmkucHVzaChOKX19cmV0dXJuIHR5cGVvZiBsPT0ibnVtYmVyIiYmaS5wdXNoKHtlb2w6bCx0ZXh0OiIiLHJhbmdlOntzdGFydExpbmVOdW1iZXI6MCxzdGFydENvbHVtbjowLGVuZExpbmVOdW1iZXI6MCxlbmRDb2x1bW46MH19KSxpfWFzeW5jIGNvbXB1dGVMaW5rcyh0KXtjb25zdCBuPXRoaXMuX2dldE1vZGVsKHQpO3JldHVybiBuP2JpKG4pOm51bGx9YXN5bmMgY29tcHV0ZURlZmF1bHREb2N1bWVudENvbG9ycyh0KXtjb25zdCBuPXRoaXMuX2dldE1vZGVsKHQpO3JldHVybiBuP2ZhKG4pOm51bGx9YXN5bmMgdGV4dHVhbFN1Z2dlc3QodCxuLHMscil7Y29uc3QgaT1uZXcgZXQsbD1uZXcgUmVnRXhwKHMsciksbz1uZXcgU2V0O2U6Zm9yKGNvbnN0IHUgb2YgdCl7Y29uc3QgYz10aGlzLl9nZXRNb2RlbCh1KTtpZihjKXtmb3IoY29uc3QgaCBvZiBjLndvcmRzKGwpKWlmKCEoaD09PW58fCFpc05hTihOdW1iZXIoaCkpKSYmKG8uYWRkKGgpLG8uc2l6ZT5TZS5fc3VnZ2VzdGlvbnNMaW1pdCkpYnJlYWsgZX19cmV0dXJue3dvcmRzOkFycmF5LmZyb20obyksZHVyYXRpb246aS5lbGFwc2VkKCl9fWFzeW5jIGNvbXB1dGVXb3JkUmFuZ2VzKHQsbixzLHIpe2NvbnN0IGk9dGhpcy5fZ2V0TW9kZWwodCk7aWYoIWkpcmV0dXJuIE9iamVjdC5jcmVhdGUobnVsbCk7Y29uc3QgbD1uZXcgUmVnRXhwKHMsciksbz1PYmplY3QuY3JlYXRlKG51bGwpO2ZvcihsZXQgdT1uLnN0YXJ0TGluZU51bWJlcjt1PG4uZW5kTGluZU51bWJlcjt1Kyspe2NvbnN0IGM9aS5nZXRMaW5lV29yZHModSxsKTtmb3IoY29uc3QgaCBvZiBjKXtpZighaXNOYU4oTnVtYmVyKGgud29yZCkpKWNvbnRpbnVlO2xldCBmPW9baC53b3JkXTtmfHwoZj1bXSxvW2gud29yZF09ZiksZi5wdXNoKHtzdGFydExpbmVOdW1iZXI6dSxzdGFydENvbHVtbjpoLnN0YXJ0Q29sdW1uLGVuZExpbmVOdW1iZXI6dSxlbmRDb2x1bW46aC5lbmRDb2x1bW59KX19cmV0dXJuIG99YXN5bmMgbmF2aWdhdGVWYWx1ZVNldCh0LG4scyxyLGkpe2NvbnN0IGw9dGhpcy5fZ2V0TW9kZWwodCk7aWYoIWwpcmV0dXJuIG51bGw7Y29uc3Qgbz1uZXcgUmVnRXhwKHIsaSk7bi5zdGFydENvbHVtbj09PW4uZW5kQ29sdW1uJiYobj17c3RhcnRMaW5lTnVtYmVyOm4uc3RhcnRMaW5lTnVtYmVyLHN0YXJ0Q29sdW1uOm4uc3RhcnRDb2x1bW4sZW5kTGluZU51bWJlcjpuLmVuZExpbmVOdW1iZXIsZW5kQ29sdW1uOm4uZW5kQ29sdW1uKzF9KTtjb25zdCB1PWwuZ2V0VmFsdWVJblJhbmdlKG4pLGM9bC5nZXRXb3JkQXRQb3NpdGlvbih7bGluZU51bWJlcjpuLnN0YXJ0TGluZU51bWJlcixjb2x1bW46bi5zdGFydENvbHVtbn0sbyk7aWYoIWMpcmV0dXJuIG51bGw7Y29uc3QgaD1sLmdldFZhbHVlSW5SYW5nZShjKTtyZXR1cm4gVHQuSU5TVEFOQ0UubmF2aWdhdGVWYWx1ZVNldChuLHUsYyxoLHMpfWxvYWRGb3JlaWduTW9kdWxlKHQsbixzKXtjb25zdCBsPXtob3N0OnVyKHMsKG8sdSk9PnRoaXMuX2hvc3QuZmhyKG8sdSkpLGdldE1pcnJvck1vZGVsczooKT0+dGhpcy5fZ2V0TW9kZWxzKCl9O3JldHVybiB0aGlzLl9mb3JlaWduTW9kdWxlRmFjdG9yeT8odGhpcy5fZm9yZWlnbk1vZHVsZT10aGlzLl9mb3JlaWduTW9kdWxlRmFjdG9yeShsLG4pLFByb21pc2UucmVzb2x2ZSh2dCh0aGlzLl9mb3JlaWduTW9kdWxlKSkpOlByb21pc2UucmVqZWN0KG5ldyBFcnJvcigiVW5leHBlY3RlZCB1c2FnZSIpKX1mbXIodCxuKXtpZighdGhpcy5fZm9yZWlnbk1vZHVsZXx8dHlwZW9mIHRoaXMuX2ZvcmVpZ25Nb2R1bGVbdF0hPSJmdW5jdGlvbiIpcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcigiTWlzc2luZyByZXF1ZXN0SGFuZGxlciBvciBtZXRob2Q6ICIrdCkpO3RyeXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2ZvcmVpZ25Nb2R1bGVbdF0uYXBwbHkodGhpcy5fZm9yZWlnbk1vZHVsZSxuKSl9Y2F0Y2gocyl7cmV0dXJuIFByb21pc2UucmVqZWN0KHMpfX19U2UuX2RpZmZMaW1pdD0xZTUsU2UuX3N1Z2dlc3Rpb25zTGltaXQ9MWU0LHR5cGVvZiBpbXBvcnRTY3JpcHRzPT0iZnVuY3Rpb24iJiYoZ2xvYmFsVGhpcy5tb25hY289eWkoKSk7bGV0IFl0PSExO2Z1bmN0aW9uIHBhKGUpe2lmKFl0KXJldHVybjtZdD0hMDtjb25zdCB0PW5ldyBEcihuPT57Z2xvYmFsVGhpcy5wb3N0TWVzc2FnZShuKX0sbj0+bmV3IFNlKG4sZSkpO2dsb2JhbFRoaXMub25tZXNzYWdlPW49Pnt0Lm9ubWVzc2FnZShuLmRhdGEpfX1nbG9iYWxUaGlzLm9ubWVzc2FnZT1lPT57WXR8fHBhKG51bGwpfX0pKCk7Cg==",$At=n=>Uint8Array.from(atob(n),e=>e.charCodeAt(0)),rDe=typeof window<"u"&&window.Blob&&new Blob([$At(iDe)],{type:"text/javascript;charset=utf-8"});function qAt(n){let e;try{if(e=rDe&&(window.URL||window.webkitURL).createObjectURL(rDe),!e)throw"";const t=new Worker(e,{name:n==null?void 0:n.name});return t.addEventListener("error",()=>{(window.URL||window.webkitURL).revokeObjectURL(e)}),t}catch{return new Worker("data:text/javascript;base64,"+iDe,{name:n==null?void 0:n.name})}finally{e&&(window.URL||window.webkitURL).revokeObjectURL(e)}}const oDe="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2NsYXNzIFBhe2NvbnN0cnVjdG9yKCl7dGhpcy5saXN0ZW5lcnM9W10sdGhpcy51bmV4cGVjdGVkRXJyb3JIYW5kbGVyPWZ1bmN0aW9uKHQpe3NldFRpbWVvdXQoKCk9Pnt0aHJvdyB0LnN0YWNrP3V0LmlzRXJyb3JOb1RlbGVtZXRyeSh0KT9uZXcgdXQodC5tZXNzYWdlK2AKCmArdC5zdGFjayk6bmV3IEVycm9yKHQubWVzc2FnZStgCgpgK3Quc3RhY2spOnR9LDApfX1lbWl0KHQpe3RoaXMubGlzdGVuZXJzLmZvckVhY2gobj0+e24odCl9KX1vblVuZXhwZWN0ZWRFcnJvcih0KXt0aGlzLnVuZXhwZWN0ZWRFcnJvckhhbmRsZXIodCksdGhpcy5lbWl0KHQpfW9uVW5leHBlY3RlZEV4dGVybmFsRXJyb3IodCl7dGhpcy51bmV4cGVjdGVkRXJyb3JIYW5kbGVyKHQpfX1jb25zdCBGYT1uZXcgUGE7ZnVuY3Rpb24gRHIoZSl7SWEoZSl8fEZhLm9uVW5leHBlY3RlZEVycm9yKGUpfWZ1bmN0aW9uIFZyKGUpe2lmKGUgaW5zdGFuY2VvZiBFcnJvcil7Y29uc3R7bmFtZTp0LG1lc3NhZ2U6bn09ZSxyPWUuc3RhY2t0cmFjZXx8ZS5zdGFjaztyZXR1cm57JGlzRXJyb3I6ITAsbmFtZTp0LG1lc3NhZ2U6bixzdGFjazpyLG5vVGVsZW1ldHJ5OnV0LmlzRXJyb3JOb1RlbGVtZXRyeShlKX19cmV0dXJuIGV9Y29uc3Qga249IkNhbmNlbGVkIjtmdW5jdGlvbiBJYShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIERhPyEwOmUgaW5zdGFuY2VvZiBFcnJvciYmZS5uYW1lPT09a24mJmUubWVzc2FnZT09PWtufWNsYXNzIERhIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoKXtzdXBlcihrbiksdGhpcy5uYW1lPXRoaXMubWVzc2FnZX19Y2xhc3MgdXQgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLm5hbWU9IkNvZGVFeHBlY3RlZEVycm9yIn1zdGF0aWMgZnJvbUVycm9yKHQpe2lmKHQgaW5zdGFuY2VvZiB1dClyZXR1cm4gdDtjb25zdCBuPW5ldyB1dDtyZXR1cm4gbi5tZXNzYWdlPXQubWVzc2FnZSxuLnN0YWNrPXQuc3RhY2ssbn1zdGF0aWMgaXNFcnJvck5vVGVsZW1ldHJ5KHQpe3JldHVybiB0Lm5hbWU9PT0iQ29kZUV4cGVjdGVkRXJyb3IifX1jbGFzcyBVZSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQpe3N1cGVyKHR8fCJBbiB1bmV4cGVjdGVkIGJ1ZyBvY2N1cnJlZC4iKSxPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxVZS5wcm90b3R5cGUpfX1mdW5jdGlvbiBWYShlLHQpe2NvbnN0IG49dGhpcztsZXQgcj0hMSxpO3JldHVybiBmdW5jdGlvbigpe2lmKHIpcmV0dXJuIGk7aWYocj0hMCx0KXRyeXtpPWUuYXBwbHkobixhcmd1bWVudHMpfWZpbmFsbHl7dCgpfWVsc2UgaT1lLmFwcGx5KG4sYXJndW1lbnRzKTtyZXR1cm4gaX19dmFyIFF0OyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KGIpe3JldHVybiBiJiZ0eXBlb2YgYj09Im9iamVjdCImJnR5cGVvZiBiW1N5bWJvbC5pdGVyYXRvcl09PSJmdW5jdGlvbiJ9ZS5pcz10O2NvbnN0IG49T2JqZWN0LmZyZWV6ZShbXSk7ZnVuY3Rpb24gcigpe3JldHVybiBufWUuZW1wdHk9cjtmdW5jdGlvbippKGIpe3lpZWxkIGJ9ZS5zaW5nbGU9aTtmdW5jdGlvbiBzKGIpe3JldHVybiB0KGIpP2I6aShiKX1lLndyYXA9cztmdW5jdGlvbiBhKGIpe3JldHVybiBifHxufWUuZnJvbT1hO2Z1bmN0aW9uKm8oYil7Zm9yKGxldCBMPWIubGVuZ3RoLTE7TD49MDtMLS0peWllbGQgYltMXX1lLnJldmVyc2U9bztmdW5jdGlvbiBsKGIpe3JldHVybiFifHxiW1N5bWJvbC5pdGVyYXRvcl0oKS5uZXh0KCkuZG9uZT09PSEwfWUuaXNFbXB0eT1sO2Z1bmN0aW9uIHUoYil7cmV0dXJuIGJbU3ltYm9sLml0ZXJhdG9yXSgpLm5leHQoKS52YWx1ZX1lLmZpcnN0PXU7ZnVuY3Rpb24gZihiLEwpe2Zvcihjb25zdCBTIG9mIGIpaWYoTChTKSlyZXR1cm4hMDtyZXR1cm4hMX1lLnNvbWU9ZjtmdW5jdGlvbiBoKGIsTCl7Zm9yKGNvbnN0IFMgb2YgYilpZihMKFMpKXJldHVybiBTfWUuZmluZD1oO2Z1bmN0aW9uKmQoYixMKXtmb3IoY29uc3QgUyBvZiBiKUwoUykmJih5aWVsZCBTKX1lLmZpbHRlcj1kO2Z1bmN0aW9uKmcoYixMKXtsZXQgUz0wO2Zvcihjb25zdCB3IG9mIGIpeWllbGQgTCh3LFMrKyl9ZS5tYXA9ZztmdW5jdGlvbiptKC4uLmIpe2Zvcihjb25zdCBMIG9mIGIpeWllbGQqTH1lLmNvbmNhdD1tO2Z1bmN0aW9uIHYoYixMLFMpe2xldCB3PVM7Zm9yKGNvbnN0IE4gb2YgYil3PUwodyxOKTtyZXR1cm4gd31lLnJlZHVjZT12O2Z1bmN0aW9uKnAoYixMLFM9Yi5sZW5ndGgpe2ZvcihMPDAmJihMKz1iLmxlbmd0aCksUzwwP1MrPWIubGVuZ3RoOlM+Yi5sZW5ndGgmJihTPWIubGVuZ3RoKTtMPFM7TCsrKXlpZWxkIGJbTF19ZS5zbGljZT1wO2Z1bmN0aW9uIHgoYixMPU51bWJlci5QT1NJVElWRV9JTkZJTklUWSl7Y29uc3QgUz1bXTtpZihMPT09MClyZXR1cm5bUyxiXTtjb25zdCB3PWJbU3ltYm9sLml0ZXJhdG9yXSgpO2ZvcihsZXQgTj0wO048TDtOKyspe2NvbnN0IEE9dy5uZXh0KCk7aWYoQS5kb25lKXJldHVybltTLGUuZW1wdHkoKV07Uy5wdXNoKEEudmFsdWUpfXJldHVybltTLHtbU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiB3fX1dfWUuY29uc3VtZT14O2FzeW5jIGZ1bmN0aW9uIHkoYil7Y29uc3QgTD1bXTtmb3IgYXdhaXQoY29uc3QgUyBvZiBiKUwucHVzaChTKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKEwpfWUuYXN5bmNUb0FycmF5PXl9KShRdHx8KFF0PXt9KSk7ZnVuY3Rpb24gY2MoZSl7cmV0dXJuIGV9ZnVuY3Rpb24gZmMoZSx0KXt9ZnVuY3Rpb24gT3IoZSl7aWYoUXQuaXMoZSkpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IG4gb2YgZSlpZihuKXRyeXtuLmRpc3Bvc2UoKX1jYXRjaChyKXt0LnB1c2gocil9aWYodC5sZW5ndGg9PT0xKXRocm93IHRbMF07aWYodC5sZW5ndGg+MSl0aHJvdyBuZXcgQWdncmVnYXRlRXJyb3IodCwiRW5jb3VudGVyZWQgZXJyb3JzIHdoaWxlIGRpc3Bvc2luZyBvZiBzdG9yZSIpO3JldHVybiBBcnJheS5pc0FycmF5KGUpP1tdOmV9ZWxzZSBpZihlKXJldHVybiBlLmRpc3Bvc2UoKSxlfWZ1bmN0aW9uIE9hKC4uLmUpe3JldHVybiBadCgoKT0+T3IoZSkpfWZ1bmN0aW9uIFp0KGUpe3JldHVybntkaXNwb3NlOlZhKCgpPT57ZSgpfSl9fWNsYXNzIGN0e2NvbnN0cnVjdG9yKCl7dGhpcy5fdG9EaXNwb3NlPW5ldyBTZXQsdGhpcy5faXNEaXNwb3NlZD0hMX1kaXNwb3NlKCl7dGhpcy5faXNEaXNwb3NlZHx8KHRoaXMuX2lzRGlzcG9zZWQ9ITAsdGhpcy5jbGVhcigpKX1nZXQgaXNEaXNwb3NlZCgpe3JldHVybiB0aGlzLl9pc0Rpc3Bvc2VkfWNsZWFyKCl7aWYodGhpcy5fdG9EaXNwb3NlLnNpemUhPT0wKXRyeXtPcih0aGlzLl90b0Rpc3Bvc2UpfWZpbmFsbHl7dGhpcy5fdG9EaXNwb3NlLmNsZWFyKCl9fWFkZCh0KXtpZighdClyZXR1cm4gdDtpZih0PT09dGhpcyl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCByZWdpc3RlciBhIGRpc3Bvc2FibGUgb24gaXRzZWxmISIpO3JldHVybiB0aGlzLl9pc0Rpc3Bvc2VkP2N0LkRJU0FCTEVfRElTUE9TRURfV0FSTklORzp0aGlzLl90b0Rpc3Bvc2UuYWRkKHQpLHR9ZGVsZXRlQW5kTGVhayh0KXt0JiZ0aGlzLl90b0Rpc3Bvc2UuaGFzKHQpJiZ0aGlzLl90b0Rpc3Bvc2UuZGVsZXRlKHQpfX1jdC5ESVNBQkxFX0RJU1BPU0VEX1dBUk5JTkc9ITE7Y2xhc3MgRXR7Y29uc3RydWN0b3IoKXt0aGlzLl9zdG9yZT1uZXcgY3QsdGhpcy5fc3RvcmV9ZGlzcG9zZSgpe3RoaXMuX3N0b3JlLmRpc3Bvc2UoKX1fcmVnaXN0ZXIodCl7aWYodD09PXRoaXMpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgcmVnaXN0ZXIgYSBkaXNwb3NhYmxlIG9uIGl0c2VsZiEiKTtyZXR1cm4gdGhpcy5fc3RvcmUuYWRkKHQpfX1FdC5Ob25lPU9iamVjdC5mcmVlemUoe2Rpc3Bvc2UoKXt9fSk7Y2xhc3MgUXtjb25zdHJ1Y3Rvcih0KXt0aGlzLmVsZW1lbnQ9dCx0aGlzLm5leHQ9US5VbmRlZmluZWQsdGhpcy5wcmV2PVEuVW5kZWZpbmVkfX1RLlVuZGVmaW5lZD1uZXcgUSh2b2lkIDApO2NsYXNzIFVhe2NvbnN0cnVjdG9yKCl7dGhpcy5fZmlyc3Q9US5VbmRlZmluZWQsdGhpcy5fbGFzdD1RLlVuZGVmaW5lZCx0aGlzLl9zaXplPTB9Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy5fc2l6ZX1pc0VtcHR5KCl7cmV0dXJuIHRoaXMuX2ZpcnN0PT09US5VbmRlZmluZWR9Y2xlYXIoKXtsZXQgdD10aGlzLl9maXJzdDtmb3IoO3QhPT1RLlVuZGVmaW5lZDspe2NvbnN0IG49dC5uZXh0O3QucHJldj1RLlVuZGVmaW5lZCx0Lm5leHQ9US5VbmRlZmluZWQsdD1ufXRoaXMuX2ZpcnN0PVEuVW5kZWZpbmVkLHRoaXMuX2xhc3Q9US5VbmRlZmluZWQsdGhpcy5fc2l6ZT0wfXVuc2hpZnQodCl7cmV0dXJuIHRoaXMuX2luc2VydCh0LCExKX1wdXNoKHQpe3JldHVybiB0aGlzLl9pbnNlcnQodCwhMCl9X2luc2VydCh0LG4pe2NvbnN0IHI9bmV3IFEodCk7aWYodGhpcy5fZmlyc3Q9PT1RLlVuZGVmaW5lZCl0aGlzLl9maXJzdD1yLHRoaXMuX2xhc3Q9cjtlbHNlIGlmKG4pe2NvbnN0IHM9dGhpcy5fbGFzdDt0aGlzLl9sYXN0PXIsci5wcmV2PXMscy5uZXh0PXJ9ZWxzZXtjb25zdCBzPXRoaXMuX2ZpcnN0O3RoaXMuX2ZpcnN0PXIsci5uZXh0PXMscy5wcmV2PXJ9dGhpcy5fc2l6ZSs9MTtsZXQgaT0hMTtyZXR1cm4oKT0+e2l8fChpPSEwLHRoaXMuX3JlbW92ZShyKSl9fXNoaWZ0KCl7aWYodGhpcy5fZmlyc3QhPT1RLlVuZGVmaW5lZCl7Y29uc3QgdD10aGlzLl9maXJzdC5lbGVtZW50O3JldHVybiB0aGlzLl9yZW1vdmUodGhpcy5fZmlyc3QpLHR9fXBvcCgpe2lmKHRoaXMuX2xhc3QhPT1RLlVuZGVmaW5lZCl7Y29uc3QgdD10aGlzLl9sYXN0LmVsZW1lbnQ7cmV0dXJuIHRoaXMuX3JlbW92ZSh0aGlzLl9sYXN0KSx0fX1fcmVtb3ZlKHQpe2lmKHQucHJldiE9PVEuVW5kZWZpbmVkJiZ0Lm5leHQhPT1RLlVuZGVmaW5lZCl7Y29uc3Qgbj10LnByZXY7bi5uZXh0PXQubmV4dCx0Lm5leHQucHJldj1ufWVsc2UgdC5wcmV2PT09US5VbmRlZmluZWQmJnQubmV4dD09PVEuVW5kZWZpbmVkPyh0aGlzLl9maXJzdD1RLlVuZGVmaW5lZCx0aGlzLl9sYXN0PVEuVW5kZWZpbmVkKTp0Lm5leHQ9PT1RLlVuZGVmaW5lZD8odGhpcy5fbGFzdD10aGlzLl9sYXN0LnByZXYsdGhpcy5fbGFzdC5uZXh0PVEuVW5kZWZpbmVkKTp0LnByZXY9PT1RLlVuZGVmaW5lZCYmKHRoaXMuX2ZpcnN0PXRoaXMuX2ZpcnN0Lm5leHQsdGhpcy5fZmlyc3QucHJldj1RLlVuZGVmaW5lZCk7dGhpcy5fc2l6ZS09MX0qW1N5bWJvbC5pdGVyYXRvcl0oKXtsZXQgdD10aGlzLl9maXJzdDtmb3IoO3QhPT1RLlVuZGVmaW5lZDspeWllbGQgdC5lbGVtZW50LHQ9dC5uZXh0fX1jb25zdCBqYT1nbG9iYWxUaGlzLnBlcmZvcm1hbmNlJiZ0eXBlb2YgZ2xvYmFsVGhpcy5wZXJmb3JtYW5jZS5ub3c9PSJmdW5jdGlvbiI7Y2xhc3MgWXR7c3RhdGljIGNyZWF0ZSh0KXtyZXR1cm4gbmV3IFl0KHQpfWNvbnN0cnVjdG9yKHQpe3RoaXMuX25vdz1qYSYmdD09PSExP0RhdGUubm93Omdsb2JhbFRoaXMucGVyZm9ybWFuY2Uubm93LmJpbmQoZ2xvYmFsVGhpcy5wZXJmb3JtYW5jZSksdGhpcy5fc3RhcnRUaW1lPXRoaXMuX25vdygpLHRoaXMuX3N0b3BUaW1lPS0xfXN0b3AoKXt0aGlzLl9zdG9wVGltZT10aGlzLl9ub3coKX1yZXNldCgpe3RoaXMuX3N0YXJ0VGltZT10aGlzLl9ub3coKSx0aGlzLl9zdG9wVGltZT0tMX1lbGFwc2VkKCl7cmV0dXJuIHRoaXMuX3N0b3BUaW1lIT09LTE/dGhpcy5fc3RvcFRpbWUtdGhpcy5fc3RhcnRUaW1lOnRoaXMuX25vdygpLXRoaXMuX3N0YXJ0VGltZX19dmFyIEVuOyhmdW5jdGlvbihlKXtlLk5vbmU9KCk9PkV0Lk5vbmU7ZnVuY3Rpb24gdChDLF8pe3JldHVybiBoKEMsKCk9Pnt9LDAsdm9pZCAwLCEwLHZvaWQgMCxfKX1lLmRlZmVyPXQ7ZnVuY3Rpb24gbihDKXtyZXR1cm4oXyxUPW51bGwsRik9PntsZXQgVj0hMSxPO3JldHVybiBPPUMoTT0+e2lmKCFWKXJldHVybiBPP08uZGlzcG9zZSgpOlY9ITAsXy5jYWxsKFQsTSl9LG51bGwsRiksViYmTy5kaXNwb3NlKCksT319ZS5vbmNlPW47ZnVuY3Rpb24gcihDLF8sVCl7cmV0dXJuIHUoKEYsVj1udWxsLE8pPT5DKE09PkYuY2FsbChWLF8oTSkpLG51bGwsTyksVCl9ZS5tYXA9cjtmdW5jdGlvbiBpKEMsXyxUKXtyZXR1cm4gdSgoRixWPW51bGwsTyk9PkMoTT0+e18oTSksRi5jYWxsKFYsTSl9LG51bGwsTyksVCl9ZS5mb3JFYWNoPWk7ZnVuY3Rpb24gcyhDLF8sVCl7cmV0dXJuIHUoKEYsVj1udWxsLE8pPT5DKE09Pl8oTSkmJkYuY2FsbChWLE0pLG51bGwsTyksVCl9ZS5maWx0ZXI9cztmdW5jdGlvbiBhKEMpe3JldHVybiBDfWUuc2lnbmFsPWE7ZnVuY3Rpb24gbyguLi5DKXtyZXR1cm4oXyxUPW51bGwsRik9Pntjb25zdCBWPU9hKC4uLkMubWFwKE89Pk8oTT0+Xy5jYWxsKFQsTSkpKSk7cmV0dXJuIGYoVixGKX19ZS5hbnk9bztmdW5jdGlvbiBsKEMsXyxULEYpe2xldCBWPVQ7cmV0dXJuIHIoQyxPPT4oVj1fKFYsTyksViksRil9ZS5yZWR1Y2U9bDtmdW5jdGlvbiB1KEMsXyl7bGV0IFQ7Y29uc3QgRj17b25XaWxsQWRkRmlyc3RMaXN0ZW5lcigpe1Q9QyhWLmZpcmUsVil9LG9uRGlkUmVtb3ZlTGFzdExpc3RlbmVyKCl7VD09bnVsbHx8VC5kaXNwb3NlKCl9fSxWPW5ldyBBZShGKTtyZXR1cm4gXz09bnVsbHx8Xy5hZGQoViksVi5ldmVudH1mdW5jdGlvbiBmKEMsXyl7cmV0dXJuIF8gaW5zdGFuY2VvZiBBcnJheT9fLnB1c2goQyk6XyYmXy5hZGQoQyksQ31mdW5jdGlvbiBoKEMsXyxUPTEwMCxGPSExLFY9ITEsTyxNKXtsZXQgayxQLEQscT0wLEI7Y29uc3QgRz17bGVha1dhcm5pbmdUaHJlc2hvbGQ6TyxvbldpbGxBZGRGaXJzdExpc3RlbmVyKCl7az1DKGxlPT57cSsrLFA9XyhQLGxlKSxGJiYhRCYmKGRlLmZpcmUoUCksUD12b2lkIDApLEI9KCk9Pntjb25zdCBiZT1QO1A9dm9pZCAwLEQ9dm9pZCAwLCghRnx8cT4xKSYmZGUuZmlyZShiZSkscT0wfSx0eXBlb2YgVD09Im51bWJlciI/KGNsZWFyVGltZW91dChEKSxEPXNldFRpbWVvdXQoQixUKSk6RD09PXZvaWQgMCYmKEQ9MCxxdWV1ZU1pY3JvdGFzayhCKSl9KX0sb25XaWxsUmVtb3ZlTGlzdGVuZXIoKXtWJiZxPjAmJihCPT1udWxsfHxCKCkpfSxvbkRpZFJlbW92ZUxhc3RMaXN0ZW5lcigpe0I9dm9pZCAwLGsuZGlzcG9zZSgpfX0sZGU9bmV3IEFlKEcpO3JldHVybiBNPT1udWxsfHxNLmFkZChkZSksZGUuZXZlbnR9ZS5kZWJvdW5jZT1oO2Z1bmN0aW9uIGQoQyxfPTAsVCl7cmV0dXJuIGUuZGVib3VuY2UoQywoRixWKT0+Rj8oRi5wdXNoKFYpLEYpOltWXSxfLHZvaWQgMCwhMCx2b2lkIDAsVCl9ZS5hY2N1bXVsYXRlPWQ7ZnVuY3Rpb24gZyhDLF89KEYsVik9PkY9PT1WLFQpe2xldCBGPSEwLFY7cmV0dXJuIHMoQyxPPT57Y29uc3QgTT1GfHwhXyhPLFYpO3JldHVybiBGPSExLFY9TyxNfSxUKX1lLmxhdGNoPWc7ZnVuY3Rpb24gbShDLF8sVCl7cmV0dXJuW2UuZmlsdGVyKEMsXyxUKSxlLmZpbHRlcihDLEY9PiFfKEYpLFQpXX1lLnNwbGl0PW07ZnVuY3Rpb24gdihDLF89ITEsVD1bXSxGKXtsZXQgVj1ULnNsaWNlKCksTz1DKFA9PntWP1YucHVzaChQKTprLmZpcmUoUCl9KTtGJiZGLmFkZChPKTtjb25zdCBNPSgpPT57Vj09bnVsbHx8Vi5mb3JFYWNoKFA9PmsuZmlyZShQKSksVj1udWxsfSxrPW5ldyBBZSh7b25XaWxsQWRkRmlyc3RMaXN0ZW5lcigpe098fChPPUMoUD0+ay5maXJlKFApKSxGJiZGLmFkZChPKSl9LG9uRGlkQWRkRmlyc3RMaXN0ZW5lcigpe1YmJihfP3NldFRpbWVvdXQoTSk6TSgpKX0sb25EaWRSZW1vdmVMYXN0TGlzdGVuZXIoKXtPJiZPLmRpc3Bvc2UoKSxPPW51bGx9fSk7cmV0dXJuIEYmJkYuYWRkKGspLGsuZXZlbnR9ZS5idWZmZXI9djtmdW5jdGlvbiBwKEMsXyl7cmV0dXJuKEYsVixPKT0+e2NvbnN0IE09XyhuZXcgeSk7cmV0dXJuIEMoZnVuY3Rpb24oayl7Y29uc3QgUD1NLmV2YWx1YXRlKGspO1AhPT14JiZGLmNhbGwoVixQKX0sdm9pZCAwLE8pfX1lLmNoYWluPXA7Y29uc3QgeD1TeW1ib2woIkhhbHRDaGFpbmFibGUiKTtjbGFzcyB5e2NvbnN0cnVjdG9yKCl7dGhpcy5zdGVwcz1bXX1tYXAoXyl7cmV0dXJuIHRoaXMuc3RlcHMucHVzaChfKSx0aGlzfWZvckVhY2goXyl7cmV0dXJuIHRoaXMuc3RlcHMucHVzaChUPT4oXyhUKSxUKSksdGhpc31maWx0ZXIoXyl7cmV0dXJuIHRoaXMuc3RlcHMucHVzaChUPT5fKFQpP1Q6eCksdGhpc31yZWR1Y2UoXyxUKXtsZXQgRj1UO3JldHVybiB0aGlzLnN0ZXBzLnB1c2goVj0+KEY9XyhGLFYpLEYpKSx0aGlzfWxhdGNoKF89KFQsRik9PlQ9PT1GKXtsZXQgVD0hMCxGO3JldHVybiB0aGlzLnN0ZXBzLnB1c2goVj0+e2NvbnN0IE89VHx8IV8oVixGKTtyZXR1cm4gVD0hMSxGPVYsTz9WOnh9KSx0aGlzfWV2YWx1YXRlKF8pe2Zvcihjb25zdCBUIG9mIHRoaXMuc3RlcHMpaWYoXz1UKF8pLF89PT14KWJyZWFrO3JldHVybiBffX1mdW5jdGlvbiBiKEMsXyxUPUY9PkYpe2NvbnN0IEY9KC4uLmspPT5NLmZpcmUoVCguLi5rKSksVj0oKT0+Qy5vbihfLEYpLE89KCk9PkMucmVtb3ZlTGlzdGVuZXIoXyxGKSxNPW5ldyBBZSh7b25XaWxsQWRkRmlyc3RMaXN0ZW5lcjpWLG9uRGlkUmVtb3ZlTGFzdExpc3RlbmVyOk99KTtyZXR1cm4gTS5ldmVudH1lLmZyb21Ob2RlRXZlbnRFbWl0dGVyPWI7ZnVuY3Rpb24gTChDLF8sVD1GPT5GKXtjb25zdCBGPSguLi5rKT0+TS5maXJlKFQoLi4uaykpLFY9KCk9PkMuYWRkRXZlbnRMaXN0ZW5lcihfLEYpLE89KCk9PkMucmVtb3ZlRXZlbnRMaXN0ZW5lcihfLEYpLE09bmV3IEFlKHtvbldpbGxBZGRGaXJzdExpc3RlbmVyOlYsb25EaWRSZW1vdmVMYXN0TGlzdGVuZXI6T30pO3JldHVybiBNLmV2ZW50fWUuZnJvbURPTUV2ZW50RW1pdHRlcj1MO2Z1bmN0aW9uIFMoQyl7cmV0dXJuIG5ldyBQcm9taXNlKF89Pm4oQykoXykpfWUudG9Qcm9taXNlPVM7ZnVuY3Rpb24gdyhDKXtjb25zdCBfPW5ldyBBZTtyZXR1cm4gQy50aGVuKFQ9PntfLmZpcmUoVCl9LCgpPT57Xy5maXJlKHZvaWQgMCl9KS5maW5hbGx5KCgpPT57Xy5kaXNwb3NlKCl9KSxfLmV2ZW50fWUuZnJvbVByb21pc2U9dztmdW5jdGlvbiBOKEMsXyxUKXtyZXR1cm4gXyhUKSxDKEY9Pl8oRikpfWUucnVuQW5kU3Vic2NyaWJlPU47Y2xhc3MgQXtjb25zdHJ1Y3RvcihfLFQpe3RoaXMuX29ic2VydmFibGU9Xyx0aGlzLl9jb3VudGVyPTAsdGhpcy5faGFzQ2hhbmdlZD0hMTtjb25zdCBGPXtvbldpbGxBZGRGaXJzdExpc3RlbmVyOigpPT57Xy5hZGRPYnNlcnZlcih0aGlzKX0sb25EaWRSZW1vdmVMYXN0TGlzdGVuZXI6KCk9PntfLnJlbW92ZU9ic2VydmVyKHRoaXMpfX07dGhpcy5lbWl0dGVyPW5ldyBBZShGKSxUJiZULmFkZCh0aGlzLmVtaXR0ZXIpfWJlZ2luVXBkYXRlKF8pe3RoaXMuX2NvdW50ZXIrK31oYW5kbGVQb3NzaWJsZUNoYW5nZShfKXt9aGFuZGxlQ2hhbmdlKF8sVCl7dGhpcy5faGFzQ2hhbmdlZD0hMH1lbmRVcGRhdGUoXyl7dGhpcy5fY291bnRlci0tLHRoaXMuX2NvdW50ZXI9PT0wJiYodGhpcy5fb2JzZXJ2YWJsZS5yZXBvcnRDaGFuZ2VzKCksdGhpcy5faGFzQ2hhbmdlZCYmKHRoaXMuX2hhc0NoYW5nZWQ9ITEsdGhpcy5lbWl0dGVyLmZpcmUodGhpcy5fb2JzZXJ2YWJsZS5nZXQoKSkpKX19ZnVuY3Rpb24gUihDLF8pe3JldHVybiBuZXcgQShDLF8pLmVtaXR0ZXIuZXZlbnR9ZS5mcm9tT2JzZXJ2YWJsZT1SO2Z1bmN0aW9uIEkoQyl7cmV0dXJuKF8sVCxGKT0+e2xldCBWPTAsTz0hMTtjb25zdCBNPXtiZWdpblVwZGF0ZSgpe1YrK30sZW5kVXBkYXRlKCl7Vi0tLFY9PT0wJiYoQy5yZXBvcnRDaGFuZ2VzKCksTyYmKE89ITEsXy5jYWxsKFQpKSl9LGhhbmRsZVBvc3NpYmxlQ2hhbmdlKCl7fSxoYW5kbGVDaGFuZ2UoKXtPPSEwfX07Qy5hZGRPYnNlcnZlcihNKSxDLnJlcG9ydENoYW5nZXMoKTtjb25zdCBrPXtkaXNwb3NlKCl7Qy5yZW1vdmVPYnNlcnZlcihNKX19O3JldHVybiBGIGluc3RhbmNlb2YgY3Q/Ri5hZGQoayk6QXJyYXkuaXNBcnJheShGKSYmRi5wdXNoKGspLGt9fWUuZnJvbU9ic2VydmFibGVMaWdodD1JfSkoRW58fChFbj17fSkpO2NsYXNzIGZ0e2NvbnN0cnVjdG9yKHQpe3RoaXMubGlzdGVuZXJDb3VudD0wLHRoaXMuaW52b2NhdGlvbkNvdW50PTAsdGhpcy5lbGFwc2VkT3ZlcmFsbD0wLHRoaXMuZHVyYXRpb25zPVtdLHRoaXMubmFtZT1gJHt0fV8ke2Z0Ll9pZFBvb2wrK31gLGZ0LmFsbC5hZGQodGhpcyl9c3RhcnQodCl7dGhpcy5fc3RvcFdhdGNoPW5ldyBZdCx0aGlzLmxpc3RlbmVyQ291bnQ9dH1zdG9wKCl7aWYodGhpcy5fc3RvcFdhdGNoKXtjb25zdCB0PXRoaXMuX3N0b3BXYXRjaC5lbGFwc2VkKCk7dGhpcy5kdXJhdGlvbnMucHVzaCh0KSx0aGlzLmVsYXBzZWRPdmVyYWxsKz10LHRoaXMuaW52b2NhdGlvbkNvdW50Kz0xLHRoaXMuX3N0b3BXYXRjaD12b2lkIDB9fX1mdC5hbGw9bmV3IFNldCxmdC5faWRQb29sPTA7bGV0IHFhPS0xO2NsYXNzIEJhe2NvbnN0cnVjdG9yKHQsbj1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDE4KS5zbGljZSgyLDUpKXt0aGlzLnRocmVzaG9sZD10LHRoaXMubmFtZT1uLHRoaXMuX3dhcm5Db3VudGRvd249MH1kaXNwb3NlKCl7dmFyIHQ7KHQ9dGhpcy5fc3RhY2tzKT09PW51bGx8fHQ9PT12b2lkIDB8fHQuY2xlYXIoKX1jaGVjayh0LG4pe2NvbnN0IHI9dGhpcy50aHJlc2hvbGQ7aWYocjw9MHx8bjxyKXJldHVybjt0aGlzLl9zdGFja3N8fCh0aGlzLl9zdGFja3M9bmV3IE1hcCk7Y29uc3QgaT10aGlzLl9zdGFja3MuZ2V0KHQudmFsdWUpfHwwO2lmKHRoaXMuX3N0YWNrcy5zZXQodC52YWx1ZSxpKzEpLHRoaXMuX3dhcm5Db3VudGRvd24tPTEsdGhpcy5fd2FybkNvdW50ZG93bjw9MCl7dGhpcy5fd2FybkNvdW50ZG93bj1yKi41O2xldCBzLGE9MDtmb3IoY29uc3RbbyxsXW9mIHRoaXMuX3N0YWNrcykoIXN8fGE8bCkmJihzPW8sYT1sKX1yZXR1cm4oKT0+e2NvbnN0IHM9dGhpcy5fc3RhY2tzLmdldCh0LnZhbHVlKXx8MDt0aGlzLl9zdGFja3Muc2V0KHQudmFsdWUscy0xKX19fWNsYXNzIFJue3N0YXRpYyBjcmVhdGUoKXt2YXIgdDtyZXR1cm4gbmV3IFJuKCh0PW5ldyBFcnJvcigpLnN0YWNrKSE9PW51bGwmJnQhPT12b2lkIDA/dDoiIil9Y29uc3RydWN0b3IodCl7dGhpcy52YWx1ZT10fXByaW50KCl7fX1jbGFzcyBNbntjb25zdHJ1Y3Rvcih0KXt0aGlzLnZhbHVlPXR9fWNvbnN0ICRhPTI7Y2xhc3MgQWV7Y29uc3RydWN0b3IodCl7dmFyIG4scixpLHMsYTt0aGlzLl9zaXplPTAsdGhpcy5fb3B0aW9ucz10LHRoaXMuX2xlYWthZ2VNb249ISgobj10aGlzLl9vcHRpb25zKT09PW51bGx8fG49PT12b2lkIDApJiZuLmxlYWtXYXJuaW5nVGhyZXNob2xkP25ldyBCYSgoaT0ocj10aGlzLl9vcHRpb25zKT09PW51bGx8fHI9PT12b2lkIDA/dm9pZCAwOnIubGVha1dhcm5pbmdUaHJlc2hvbGQpIT09bnVsbCYmaSE9PXZvaWQgMD9pOnFhKTp2b2lkIDAsdGhpcy5fcGVyZk1vbj0hKChzPXRoaXMuX29wdGlvbnMpPT09bnVsbHx8cz09PXZvaWQgMCkmJnMuX3Byb2ZOYW1lP25ldyBmdCh0aGlzLl9vcHRpb25zLl9wcm9mTmFtZSk6dm9pZCAwLHRoaXMuX2RlbGl2ZXJ5UXVldWU9KGE9dGhpcy5fb3B0aW9ucyk9PT1udWxsfHxhPT09dm9pZCAwP3ZvaWQgMDphLmRlbGl2ZXJ5UXVldWV9ZGlzcG9zZSgpe3ZhciB0LG4scixpO3RoaXMuX2Rpc3Bvc2VkfHwodGhpcy5fZGlzcG9zZWQ9ITAsKCh0PXRoaXMuX2RlbGl2ZXJ5UXVldWUpPT09bnVsbHx8dD09PXZvaWQgMD92b2lkIDA6dC5jdXJyZW50KT09PXRoaXMmJnRoaXMuX2RlbGl2ZXJ5UXVldWUucmVzZXQoKSx0aGlzLl9saXN0ZW5lcnMmJih0aGlzLl9saXN0ZW5lcnM9dm9pZCAwLHRoaXMuX3NpemU9MCksKHI9KG49dGhpcy5fb3B0aW9ucyk9PT1udWxsfHxuPT09dm9pZCAwP3ZvaWQgMDpuLm9uRGlkUmVtb3ZlTGFzdExpc3RlbmVyKT09PW51bGx8fHI9PT12b2lkIDB8fHIuY2FsbChuKSwoaT10aGlzLl9sZWFrYWdlTW9uKT09PW51bGx8fGk9PT12b2lkIDB8fGkuZGlzcG9zZSgpKX1nZXQgZXZlbnQoKXt2YXIgdDtyZXR1cm4odD10aGlzLl9ldmVudCkhPT1udWxsJiZ0IT09dm9pZCAwfHwodGhpcy5fZXZlbnQ9KG4scixpKT0+e3ZhciBzLGEsbyxsLHU7aWYodGhpcy5fbGVha2FnZU1vbiYmdGhpcy5fc2l6ZT50aGlzLl9sZWFrYWdlTW9uLnRocmVzaG9sZCozfHx0aGlzLl9kaXNwb3NlZClyZXR1cm4gRXQuTm9uZTtyJiYobj1uLmJpbmQocikpO2NvbnN0IGY9bmV3IE1uKG4pO2xldCBoO3RoaXMuX2xlYWthZ2VNb24mJnRoaXMuX3NpemU+PU1hdGguY2VpbCh0aGlzLl9sZWFrYWdlTW9uLnRocmVzaG9sZCouMikmJihmLnN0YWNrPVJuLmNyZWF0ZSgpLGg9dGhpcy5fbGVha2FnZU1vbi5jaGVjayhmLnN0YWNrLHRoaXMuX3NpemUrMSkpLHRoaXMuX2xpc3RlbmVycz90aGlzLl9saXN0ZW5lcnMgaW5zdGFuY2VvZiBNbj8oKHU9dGhpcy5fZGVsaXZlcnlRdWV1ZSkhPT1udWxsJiZ1IT09dm9pZCAwfHwodGhpcy5fZGVsaXZlcnlRdWV1ZT1uZXcgV2EpLHRoaXMuX2xpc3RlbmVycz1bdGhpcy5fbGlzdGVuZXJzLGZdKTp0aGlzLl9saXN0ZW5lcnMucHVzaChmKTooKGE9KHM9dGhpcy5fb3B0aW9ucyk9PT1udWxsfHxzPT09dm9pZCAwP3ZvaWQgMDpzLm9uV2lsbEFkZEZpcnN0TGlzdGVuZXIpPT09bnVsbHx8YT09PXZvaWQgMHx8YS5jYWxsKHMsdGhpcyksdGhpcy5fbGlzdGVuZXJzPWYsKGw9KG89dGhpcy5fb3B0aW9ucyk9PT1udWxsfHxvPT09dm9pZCAwP3ZvaWQgMDpvLm9uRGlkQWRkRmlyc3RMaXN0ZW5lcik9PT1udWxsfHxsPT09dm9pZCAwfHxsLmNhbGwobyx0aGlzKSksdGhpcy5fc2l6ZSsrO2NvbnN0IGQ9WnQoKCk9PntoPT1udWxsfHxoKCksdGhpcy5fcmVtb3ZlTGlzdGVuZXIoZil9KTtyZXR1cm4gaSBpbnN0YW5jZW9mIGN0P2kuYWRkKGQpOkFycmF5LmlzQXJyYXkoaSkmJmkucHVzaChkKSxkfSksdGhpcy5fZXZlbnR9X3JlbW92ZUxpc3RlbmVyKHQpe3ZhciBuLHIsaSxzO2lmKChyPShuPXRoaXMuX29wdGlvbnMpPT09bnVsbHx8bj09PXZvaWQgMD92b2lkIDA6bi5vbldpbGxSZW1vdmVMaXN0ZW5lcik9PT1udWxsfHxyPT09dm9pZCAwfHxyLmNhbGwobix0aGlzKSwhdGhpcy5fbGlzdGVuZXJzKXJldHVybjtpZih0aGlzLl9zaXplPT09MSl7dGhpcy5fbGlzdGVuZXJzPXZvaWQgMCwocz0oaT10aGlzLl9vcHRpb25zKT09PW51bGx8fGk9PT12b2lkIDA/dm9pZCAwOmkub25EaWRSZW1vdmVMYXN0TGlzdGVuZXIpPT09bnVsbHx8cz09PXZvaWQgMHx8cy5jYWxsKGksdGhpcyksdGhpcy5fc2l6ZT0wO3JldHVybn1jb25zdCBhPXRoaXMuX2xpc3RlbmVycyxvPWEuaW5kZXhPZih0KTtpZihvPT09LTEpdGhyb3cgbmV3IEVycm9yKCJBdHRlbXB0ZWQgdG8gZGlzcG9zZSB1bmtub3duIGxpc3RlbmVyIik7dGhpcy5fc2l6ZS0tLGFbb109dm9pZCAwO2NvbnN0IGw9dGhpcy5fZGVsaXZlcnlRdWV1ZS5jdXJyZW50PT09dGhpcztpZih0aGlzLl9zaXplKiRhPD1hLmxlbmd0aCl7bGV0IHU9MDtmb3IobGV0IGY9MDtmPGEubGVuZ3RoO2YrKylhW2ZdP2FbdSsrXT1hW2ZdOmwmJih0aGlzLl9kZWxpdmVyeVF1ZXVlLmVuZC0tLHU8dGhpcy5fZGVsaXZlcnlRdWV1ZS5pJiZ0aGlzLl9kZWxpdmVyeVF1ZXVlLmktLSk7YS5sZW5ndGg9dX19X2RlbGl2ZXIodCxuKXt2YXIgcjtpZighdClyZXR1cm47Y29uc3QgaT0oKHI9dGhpcy5fb3B0aW9ucyk9PT1udWxsfHxyPT09dm9pZCAwP3ZvaWQgMDpyLm9uTGlzdGVuZXJFcnJvcil8fERyO2lmKCFpKXt0LnZhbHVlKG4pO3JldHVybn10cnl7dC52YWx1ZShuKX1jYXRjaChzKXtpKHMpfX1fZGVsaXZlclF1ZXVlKHQpe2NvbnN0IG49dC5jdXJyZW50Ll9saXN0ZW5lcnM7Zm9yKDt0Lmk8dC5lbmQ7KXRoaXMuX2RlbGl2ZXIoblt0LmkrK10sdC52YWx1ZSk7dC5yZXNldCgpfWZpcmUodCl7dmFyIG4scixpLHM7aWYoISgobj10aGlzLl9kZWxpdmVyeVF1ZXVlKT09PW51bGx8fG49PT12b2lkIDApJiZuLmN1cnJlbnQmJih0aGlzLl9kZWxpdmVyUXVldWUodGhpcy5fZGVsaXZlcnlRdWV1ZSksKHI9dGhpcy5fcGVyZk1vbik9PT1udWxsfHxyPT09dm9pZCAwfHxyLnN0b3AoKSksKGk9dGhpcy5fcGVyZk1vbik9PT1udWxsfHxpPT09dm9pZCAwfHxpLnN0YXJ0KHRoaXMuX3NpemUpLHRoaXMuX2xpc3RlbmVycylpZih0aGlzLl9saXN0ZW5lcnMgaW5zdGFuY2VvZiBNbil0aGlzLl9kZWxpdmVyKHRoaXMuX2xpc3RlbmVycyx0KTtlbHNle2NvbnN0IGE9dGhpcy5fZGVsaXZlcnlRdWV1ZTthLmVucXVldWUodGhpcyx0LHRoaXMuX2xpc3RlbmVycy5sZW5ndGgpLHRoaXMuX2RlbGl2ZXJRdWV1ZShhKX0ocz10aGlzLl9wZXJmTW9uKT09PW51bGx8fHM9PT12b2lkIDB8fHMuc3RvcCgpfWhhc0xpc3RlbmVycygpe3JldHVybiB0aGlzLl9zaXplPjB9fWNsYXNzIFdhe2NvbnN0cnVjdG9yKCl7dGhpcy5pPS0xLHRoaXMuZW5kPTB9ZW5xdWV1ZSh0LG4scil7dGhpcy5pPTAsdGhpcy5lbmQ9cix0aGlzLmN1cnJlbnQ9dCx0aGlzLnZhbHVlPW59cmVzZXQoKXt0aGlzLmk9dGhpcy5lbmQsdGhpcy5jdXJyZW50PXZvaWQgMCx0aGlzLnZhbHVlPXZvaWQgMH19ZnVuY3Rpb24gSGEoZSl7cmV0dXJuIHR5cGVvZiBlPT0ic3RyaW5nIn1mdW5jdGlvbiB6YShlKXtsZXQgdD1bXTtmb3IoO09iamVjdC5wcm90b3R5cGUhPT1lOyl0PXQuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGUpKSxlPU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTtyZXR1cm4gdH1mdW5jdGlvbiBUbihlKXtjb25zdCB0PVtdO2Zvcihjb25zdCBuIG9mIHphKGUpKXR5cGVvZiBlW25dPT0iZnVuY3Rpb24iJiZ0LnB1c2gobik7cmV0dXJuIHR9ZnVuY3Rpb24gR2EoZSx0KXtjb25zdCBuPWk9PmZ1bmN0aW9uKCl7Y29uc3Qgcz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMCk7cmV0dXJuIHQoaSxzKX0scj17fTtmb3IoY29uc3QgaSBvZiBlKXJbaV09bihpKTtyZXR1cm4gcn1sZXQgSmE9dHlwZW9mIGRvY3VtZW50PCJ1IiYmZG9jdW1lbnQubG9jYXRpb24mJmRvY3VtZW50LmxvY2F0aW9uLmhhc2guaW5kZXhPZigicHNldWRvPXRydWUiKT49MDtmdW5jdGlvbiBYYShlLHQpe2xldCBuO3JldHVybiB0Lmxlbmd0aD09PTA/bj1lOm49ZS5yZXBsYWNlKC9ceyhcZCspXH0vZywocixpKT0+e2NvbnN0IHM9aVswXSxhPXRbc107bGV0IG89cjtyZXR1cm4gdHlwZW9mIGE9PSJzdHJpbmciP289YToodHlwZW9mIGE9PSJudW1iZXIifHx0eXBlb2YgYT09ImJvb2xlYW4ifHxhPT09dm9pZCAwfHxhPT09bnVsbCkmJihvPVN0cmluZyhhKSksb30pLEphJiYobj0i77y7IituLnJlcGxhY2UoL1thb3VlaV0vZywiJCYkJiIpKyLvvL0iKSxufWZ1bmN0aW9uIFooZSx0LC4uLm4pe3JldHVybiBYYSh0LG4pfWZ1bmN0aW9uIGhjKGUpe312YXIgUG4sRm47Y29uc3QgaHQ9ImVuIjtsZXQgSW49ITEsRG49ITEsVm49ITEsS3QsT249aHQsVXI9aHQsUWEsQ2U7Y29uc3QgbnQ9Z2xvYmFsVGhpcztsZXQgdWU7dHlwZW9mIG50LnZzY29kZTwidSImJnR5cGVvZiBudC52c2NvZGUucHJvY2VzczwidSI/dWU9bnQudnNjb2RlLnByb2Nlc3M6dHlwZW9mIHByb2Nlc3M8InUiJiZ0eXBlb2YoKFBuPXByb2Nlc3M9PW51bGw/dm9pZCAwOnByb2Nlc3MudmVyc2lvbnMpPT09bnVsbHx8UG49PT12b2lkIDA/dm9pZCAwOlBuLm5vZGUpPT0ic3RyaW5nIiYmKHVlPXByb2Nlc3MpO2NvbnN0IFphPXR5cGVvZigoRm49dWU9PW51bGw/dm9pZCAwOnVlLnZlcnNpb25zKT09PW51bGx8fEZuPT09dm9pZCAwP3ZvaWQgMDpGbi5lbGVjdHJvbik9PSJzdHJpbmciJiYodWU9PW51bGw/dm9pZCAwOnVlLnR5cGUpPT09InJlbmRlcmVyIjtpZih0eXBlb2YgdWU9PSJvYmplY3QiKXtJbj11ZS5wbGF0Zm9ybT09PSJ3aW4zMiIsRG49dWUucGxhdGZvcm09PT0iZGFyd2luIixWbj11ZS5wbGF0Zm9ybT09PSJsaW51eCIsVm4mJnVlLmVudi5TTkFQJiZ1ZS5lbnYuU05BUF9SRVZJU0lPTix1ZS5lbnYuQ0l8fHVlLmVudi5CVUlMRF9BUlRJRkFDVFNUQUdJTkdESVJFQ1RPUlksS3Q9aHQsT249aHQ7Y29uc3QgZT11ZS5lbnYuVlNDT0RFX05MU19DT05GSUc7aWYoZSl0cnl7Y29uc3QgdD1KU09OLnBhcnNlKGUpLG49dC5hdmFpbGFibGVMYW5ndWFnZXNbIioiXTtLdD10LmxvY2FsZSxVcj10Lm9zTG9jYWxlLE9uPW58fGh0LFFhPXQuX3RyYW5zbGF0aW9uc0NvbmZpZ0ZpbGV9Y2F0Y2h7fX1lbHNlIHR5cGVvZiBuYXZpZ2F0b3I9PSJvYmplY3QiJiYhWmEmJihDZT1uYXZpZ2F0b3IudXNlckFnZW50LEluPUNlLmluZGV4T2YoIldpbmRvd3MiKT49MCxEbj1DZS5pbmRleE9mKCJNYWNpbnRvc2giKT49MCwoQ2UuaW5kZXhPZigiTWFjaW50b3NoIik+PTB8fENlLmluZGV4T2YoImlQYWQiKT49MHx8Q2UuaW5kZXhPZigiaVBob25lIik+PTApJiZuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMmJm5hdmlnYXRvci5tYXhUb3VjaFBvaW50cz4wLFZuPUNlLmluZGV4T2YoIkxpbnV4Iik+PTAsKENlPT1udWxsP3ZvaWQgMDpDZS5pbmRleE9mKCJNb2JpIikpPj0wLFooe2tleToiZW5zdXJlTG9hZGVyUGx1Z2luSXNMb2FkZWQiLGNvbW1lbnQ6WyJ7TG9ja2VkfSJdfSwiXyIpLEt0PWh0LE9uPUt0LFVyPW5hdmlnYXRvci5sYW5ndWFnZSk7Y29uc3QgUnQ9SW4sWWE9RG4sVGU9Q2UsS2E9dHlwZW9mIG50LnBvc3RNZXNzYWdlPT0iZnVuY3Rpb24iJiYhbnQuaW1wb3J0U2NyaXB0czsoKCk9PntpZihLYSl7Y29uc3QgZT1bXTtudC5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixuPT57aWYobi5kYXRhJiZuLmRhdGEudnNjb2RlU2NoZWR1bGVBc3luY1dvcmspZm9yKGxldCByPTAsaT1lLmxlbmd0aDtyPGk7cisrKXtjb25zdCBzPWVbcl07aWYocy5pZD09PW4uZGF0YS52c2NvZGVTY2hlZHVsZUFzeW5jV29yayl7ZS5zcGxpY2UociwxKSxzLmNhbGxiYWNrKCk7cmV0dXJufX19KTtsZXQgdD0wO3JldHVybiBuPT57Y29uc3Qgcj0rK3Q7ZS5wdXNoKHtpZDpyLGNhbGxiYWNrOm59KSxudC5wb3N0TWVzc2FnZSh7dnNjb2RlU2NoZWR1bGVBc3luY1dvcms6cn0sIioiKX19cmV0dXJuIGU9PnNldFRpbWVvdXQoZSl9KSgpO2NvbnN0IGVvPSEhKFRlJiZUZS5pbmRleE9mKCJDaHJvbWUiKT49MCk7VGUmJlRlLmluZGV4T2YoIkZpcmVmb3giKT49MCwhZW8mJlRlJiZUZS5pbmRleE9mKCJTYWZhcmkiKT49MCxUZSYmVGUuaW5kZXhPZigiRWRnLyIpPj0wLFRlJiZUZS5pbmRleE9mKCJBbmRyb2lkIik+PTA7Y2xhc3MgdG97Y29uc3RydWN0b3IodCxuPUpTT04uc3RyaW5naWZ5KXt0aGlzLmZuPXQsdGhpcy5fY29tcHV0ZUtleT1uLHRoaXMubGFzdENhY2hlPXZvaWQgMCx0aGlzLmxhc3RBcmdLZXk9dm9pZCAwfWdldCh0KXtjb25zdCBuPXRoaXMuX2NvbXB1dGVLZXkodCk7cmV0dXJuIHRoaXMubGFzdEFyZ0tleSE9PW4mJih0aGlzLmxhc3RBcmdLZXk9bix0aGlzLmxhc3RDYWNoZT10aGlzLmZuKHQpKSx0aGlzLmxhc3RDYWNoZX19Y2xhc3MganJ7Y29uc3RydWN0b3IodCl7dGhpcy5leGVjdXRvcj10LHRoaXMuX2RpZFJ1bj0hMX1nZXQgdmFsdWUoKXtpZighdGhpcy5fZGlkUnVuKXRyeXt0aGlzLl92YWx1ZT10aGlzLmV4ZWN1dG9yKCl9Y2F0Y2godCl7dGhpcy5fZXJyb3I9dH1maW5hbGx5e3RoaXMuX2RpZFJ1bj0hMH1pZih0aGlzLl9lcnJvcil0aHJvdyB0aGlzLl9lcnJvcjtyZXR1cm4gdGhpcy5fdmFsdWV9Z2V0IHJhd1ZhbHVlKCl7cmV0dXJuIHRoaXMuX3ZhbHVlfX12YXIgZHQ7ZnVuY3Rpb24gbm8oZSl7cmV0dXJuIGUucmVwbGFjZSgvW1xcXHtcfVwqXCtcP1x8XF5cJFwuXFtcXVwoXCldL2csIlxcJCYiKX1mdW5jdGlvbiBybyhlKXtyZXR1cm4gZS5zcGxpdCgvXHJcbnxccnxcbi8pfWZ1bmN0aW9uIGlvKGUpe2ZvcihsZXQgdD0wLG49ZS5sZW5ndGg7dDxuO3QrKyl7Y29uc3Qgcj1lLmNoYXJDb2RlQXQodCk7aWYociE9PTMyJiZyIT09OSlyZXR1cm4gdH1yZXR1cm4tMX1mdW5jdGlvbiBzbyhlLHQ9ZS5sZW5ndGgtMSl7Zm9yKGxldCBuPXQ7bj49MDtuLS0pe2NvbnN0IHI9ZS5jaGFyQ29kZUF0KG4pO2lmKHIhPT0zMiYmciE9PTkpcmV0dXJuIG59cmV0dXJuLTF9ZnVuY3Rpb24gcXIoZSl7cmV0dXJuIGU+PTY1JiZlPD05MH1mdW5jdGlvbiBVbihlKXtyZXR1cm4gNTUyOTY8PWUmJmU8PTU2MzE5fWZ1bmN0aW9uIGFvKGUpe3JldHVybiA1NjMyMDw9ZSYmZTw9NTczNDN9ZnVuY3Rpb24gb28oZSx0KXtyZXR1cm4oZS01NTI5Njw8MTApKyh0LTU2MzIwKSs2NTUzNn1mdW5jdGlvbiBsbyhlLHQsbil7Y29uc3Qgcj1lLmNoYXJDb2RlQXQobik7aWYoVW4ocikmJm4rMTx0KXtjb25zdCBpPWUuY2hhckNvZGVBdChuKzEpO2lmKGFvKGkpKXJldHVybiBvbyhyLGkpfXJldHVybiByfWNvbnN0IHVvPS9eW1x0XG5cclx4MjAtXHg3RV0qJC87ZnVuY3Rpb24gY28oZSl7cmV0dXJuIHVvLnRlc3QoZSl9Y2xhc3MgcnR7c3RhdGljIGdldEluc3RhbmNlKHQpe3JldHVybiBkdC5jYWNoZS5nZXQoQXJyYXkuZnJvbSh0KSl9c3RhdGljIGdldExvY2FsZXMoKXtyZXR1cm4gZHQuX2xvY2FsZXMudmFsdWV9Y29uc3RydWN0b3IodCl7dGhpcy5jb25mdXNhYmxlRGljdGlvbmFyeT10fWlzQW1iaWd1b3VzKHQpe3JldHVybiB0aGlzLmNvbmZ1c2FibGVEaWN0aW9uYXJ5Lmhhcyh0KX1nZXRQcmltYXJ5Q29uZnVzYWJsZSh0KXtyZXR1cm4gdGhpcy5jb25mdXNhYmxlRGljdGlvbmFyeS5nZXQodCl9Z2V0Q29uZnVzYWJsZUNvZGVQb2ludHMoKXtyZXR1cm4gbmV3IFNldCh0aGlzLmNvbmZ1c2FibGVEaWN0aW9uYXJ5LmtleXMoKSl9fWR0PXJ0LHJ0LmFtYmlndW91c0NoYXJhY3RlckRhdGE9bmV3IGpyKCgpPT5KU09OLnBhcnNlKCd7Il9jb21tb24iOls4MjMyLDMyLDgyMzMsMzIsNTc2MCwzMiw4MTkyLDMyLDgxOTMsMzIsODE5NCwzMiw4MTk1LDMyLDgxOTYsMzIsODE5NywzMiw4MTk4LDMyLDgyMDAsMzIsODIwMSwzMiw4MjAyLDMyLDgyODcsMzIsODE5OSwzMiw4MjM5LDMyLDIwNDIsOTUsNjUxMDEsOTUsNjUxMDIsOTUsNjUxMDMsOTUsODIwOCw0NSw4MjA5LDQ1LDgyMTAsNDUsNjUxMTIsNDUsMTc0OCw0NSw4MjU5LDQ1LDcyNyw0NSw4NzIyLDQ1LDEwMTM0LDQ1LDExNDUwLDQ1LDE1NDksNDQsMTY0Myw0NCw4MjE4LDQ0LDE4NCw0NCw0MjIzMyw0NCw4OTQsNTksMjMwNyw1OCwyNjkxLDU4LDE0MTcsNTgsMTc5NSw1OCwxNzk2LDU4LDU4NjgsNTgsNjUwNzIsNTgsNjE0Nyw1OCw2MTUzLDU4LDgyODIsNTgsMTQ3NSw1OCw3NjAsNTgsNDI4ODksNTgsODc1OCw1OCw3MjAsNTgsNDIyMzcsNTgsNDUxLDMzLDExNjAxLDMzLDY2MCw2Myw1NzcsNjMsMjQyOSw2Myw1MDM4LDYzLDQyNzMxLDYzLDExOTE0OSw0Niw4MjI4LDQ2LDE3OTMsNDYsMTc5NCw0Niw0MjUxMCw0Niw2ODE3Niw0NiwxNjMyLDQ2LDE3NzYsNDYsNDIyMzIsNDYsMTM3Myw5Niw2NTI4Nyw5Niw4MjE5LDk2LDgyNDIsOTYsMTM3MCw5NiwxNTIzLDk2LDgxNzUsOTYsNjUzNDQsOTYsOTAwLDk2LDgxODksOTYsODEyNSw5Niw4MTI3LDk2LDgxOTAsOTYsNjk3LDk2LDg4NCw5Niw3MTIsOTYsNzE0LDk2LDcxNSw5Niw3NTYsOTYsNjk5LDk2LDcwMSw5Niw3MDAsOTYsNzAyLDk2LDQyODkyLDk2LDE0OTcsOTYsMjAzNiw5NiwyMDM3LDk2LDUxOTQsOTYsNTgzNiw5Niw5NDAzMyw5Niw5NDAzNCw5Niw2NTMzOSw5MSwxMDA4OCw0MCwxMDA5OCw0MCwxMjMwOCw0MCw2NDgzMCw0MCw2NTM0MSw5MywxMDA4OSw0MSwxMDA5OSw0MSwxMjMwOSw0MSw2NDgzMSw0MSwxMDEwMCwxMjMsMTE5MDYwLDEyMywxMDEwMSwxMjUsNjUzNDIsOTQsODI3MCw0MiwxNjQ1LDQyLDg3MjcsNDIsNjYzMzUsNDIsNTk0MSw0Nyw4MjU3LDQ3LDg3MjUsNDcsODI2MCw0Nyw5NTg1LDQ3LDEwMTg3LDQ3LDEwNzQ0LDQ3LDExOTM1NCw0NywxMjc1NSw0NywxMjMzOSw0NywxMTQ2Miw0NywyMDAzMSw0NywxMjAzNSw0Nyw2NTM0MCw5Miw2NTEyOCw5Miw4NzI2LDkyLDEwMTg5LDkyLDEwNzQxLDkyLDEwNzQ1LDkyLDExOTMxMSw5MiwxMTkzNTUsOTIsMTI3NTYsOTIsMjAwMjIsOTIsMTIwMzQsOTIsNDI4NzIsMzgsNzA4LDk0LDcxMCw5NCw1ODY5LDQzLDEwMTMzLDQzLDY2MjAzLDQzLDgyNDksNjAsMTAwOTQsNjAsNzA2LDYwLDExOTM1MCw2MCw1MTc2LDYwLDU4MTAsNjAsNTEyMCw2MSwxMTg0MCw2MSwxMjQ0OCw2MSw0MjIzOSw2MSw4MjUwLDYyLDEwMDk1LDYyLDcwNyw2MiwxMTkzNTEsNjIsNTE3MSw2Miw5NDAxNSw2Miw4Mjc1LDEyNiw3MzIsMTI2LDgxMjgsMTI2LDg3NjQsMTI2LDY1MzcyLDEyNCw2NTI5Myw0NSwxMjA3ODQsNTAsMTIwNzk0LDUwLDEyMDgwNCw1MCwxMjA4MTQsNTAsMTIwODI0LDUwLDEzMDAzNCw1MCw0Mjg0Miw1MCw0MjMsNTAsMTAwMCw1MCw0MjU2NCw1MCw1MzExLDUwLDQyNzM1LDUwLDExOTMwMiw1MSwxMjA3ODUsNTEsMTIwNzk1LDUxLDEyMDgwNSw1MSwxMjA4MTUsNTEsMTIwODI1LDUxLDEzMDAzNSw1MSw0MjkyMyw1MSw1NDAsNTEsNDM5LDUxLDQyODU4LDUxLDExNDY4LDUxLDEyNDgsNTEsOTQwMTEsNTEsNzE4ODIsNTEsMTIwNzg2LDUyLDEyMDc5Niw1MiwxMjA4MDYsNTIsMTIwODE2LDUyLDEyMDgyNiw1MiwxMzAwMzYsNTIsNTA3MCw1Miw3MTg1NSw1MiwxMjA3ODcsNTMsMTIwNzk3LDUzLDEyMDgwNyw1MywxMjA4MTcsNTMsMTIwODI3LDUzLDEzMDAzNyw1Myw0NDQsNTMsNzE4NjcsNTMsMTIwNzg4LDU0LDEyMDc5OCw1NCwxMjA4MDgsNTQsMTIwODE4LDU0LDEyMDgyOCw1NCwxMzAwMzgsNTQsMTE0NzQsNTQsNTEwMiw1NCw3MTg5Myw1NCwxMTkzMTQsNTUsMTIwNzg5LDU1LDEyMDc5OSw1NSwxMjA4MDksNTUsMTIwODE5LDU1LDEyMDgyOSw1NSwxMzAwMzksNTUsNjY3NzAsNTUsNzE4NzgsNTUsMjgxOSw1NiwyNTM4LDU2LDI2NjYsNTYsMTI1MTMxLDU2LDEyMDc5MCw1NiwxMjA4MDAsNTYsMTIwODEwLDU2LDEyMDgyMCw1NiwxMjA4MzAsNTYsMTMwMDQwLDU2LDU0Nyw1Niw1NDYsNTYsNjYzMzAsNTYsMjY2Myw1NywyOTIwLDU3LDI1NDEsNTcsMzQzNyw1NywxMjA3OTEsNTcsMTIwODAxLDU3LDEyMDgxMSw1NywxMjA4MjEsNTcsMTIwODMxLDU3LDEzMDA0MSw1Nyw0Mjg2Miw1NywxMTQ2Niw1Nyw3MTg4NCw1Nyw3MTg1Miw1Nyw3MTg5NCw1Nyw5MDgyLDk3LDY1MzQ1LDk3LDExOTgzNCw5NywxMTk4ODYsOTcsMTE5OTM4LDk3LDExOTk5MCw5NywxMjAwNDIsOTcsMTIwMDk0LDk3LDEyMDE0Niw5NywxMjAxOTgsOTcsMTIwMjUwLDk3LDEyMDMwMiw5NywxMjAzNTQsOTcsMTIwNDA2LDk3LDEyMDQ1OCw5Nyw1OTMsOTcsOTQ1LDk3LDEyMDUxNCw5NywxMjA1NzIsOTcsMTIwNjMwLDk3LDEyMDY4OCw5NywxMjA3NDYsOTcsNjUzMTMsNjUsMTE5ODA4LDY1LDExOTg2MCw2NSwxMTk5MTIsNjUsMTE5OTY0LDY1LDEyMDAxNiw2NSwxMjAwNjgsNjUsMTIwMTIwLDY1LDEyMDE3Miw2NSwxMjAyMjQsNjUsMTIwMjc2LDY1LDEyMDMyOCw2NSwxMjAzODAsNjUsMTIwNDMyLDY1LDkxMyw2NSwxMjA0ODgsNjUsMTIwNTQ2LDY1LDEyMDYwNCw2NSwxMjA2NjIsNjUsMTIwNzIwLDY1LDUwMzQsNjUsNTU3Myw2NSw0MjIyMiw2NSw5NDAxNiw2NSw2NjIwOCw2NSwxMTk4MzUsOTgsMTE5ODg3LDk4LDExOTkzOSw5OCwxMTk5OTEsOTgsMTIwMDQzLDk4LDEyMDA5NSw5OCwxMjAxNDcsOTgsMTIwMTk5LDk4LDEyMDI1MSw5OCwxMjAzMDMsOTgsMTIwMzU1LDk4LDEyMDQwNyw5OCwxMjA0NTksOTgsMzg4LDk4LDUwNzEsOTgsNTIzNCw5OCw1NTUxLDk4LDY1MzE0LDY2LDg0OTIsNjYsMTE5ODA5LDY2LDExOTg2MSw2NiwxMTk5MTMsNjYsMTIwMDE3LDY2LDEyMDA2OSw2NiwxMjAxMjEsNjYsMTIwMTczLDY2LDEyMDIyNSw2NiwxMjAyNzcsNjYsMTIwMzI5LDY2LDEyMDM4MSw2NiwxMjA0MzMsNjYsNDI5MzIsNjYsOTE0LDY2LDEyMDQ4OSw2NiwxMjA1NDcsNjYsMTIwNjA1LDY2LDEyMDY2Myw2NiwxMjA3MjEsNjYsNTEwOCw2Niw1NjIzLDY2LDQyMTkyLDY2LDY2MTc4LDY2LDY2MjA5LDY2LDY2MzA1LDY2LDY1MzQ3LDk5LDg1NzMsOTksMTE5ODM2LDk5LDExOTg4OCw5OSwxMTk5NDAsOTksMTE5OTkyLDk5LDEyMDA0NCw5OSwxMjAwOTYsOTksMTIwMTQ4LDk5LDEyMDIwMCw5OSwxMjAyNTIsOTksMTIwMzA0LDk5LDEyMDM1Niw5OSwxMjA0MDgsOTksMTIwNDYwLDk5LDc0MjgsOTksMTAxMCw5OSwxMTQyOSw5OSw0Mzk1MSw5OSw2NjYyMSw5OSwxMjg4NDQsNjcsNzE5MjIsNjcsNzE5MTMsNjcsNjUzMTUsNjcsODU1Nyw2Nyw4NDUwLDY3LDg0OTMsNjcsMTE5ODEwLDY3LDExOTg2Miw2NywxMTk5MTQsNjcsMTE5OTY2LDY3LDEyMDAxOCw2NywxMjAxNzQsNjcsMTIwMjI2LDY3LDEyMDI3OCw2NywxMjAzMzAsNjcsMTIwMzgyLDY3LDEyMDQzNCw2NywxMDE3LDY3LDExNDI4LDY3LDUwODcsNjcsNDIyMDIsNjcsNjYyMTAsNjcsNjYzMDYsNjcsNjY1ODEsNjcsNjY4NDQsNjcsODU3NCwxMDAsODUxOCwxMDAsMTE5ODM3LDEwMCwxMTk4ODksMTAwLDExOTk0MSwxMDAsMTE5OTkzLDEwMCwxMjAwNDUsMTAwLDEyMDA5NywxMDAsMTIwMTQ5LDEwMCwxMjAyMDEsMTAwLDEyMDI1MywxMDAsMTIwMzA1LDEwMCwxMjAzNTcsMTAwLDEyMDQwOSwxMDAsMTIwNDYxLDEwMCwxMjgxLDEwMCw1MDk1LDEwMCw1MjMxLDEwMCw0MjE5NCwxMDAsODU1OCw2OCw4NTE3LDY4LDExOTgxMSw2OCwxMTk4NjMsNjgsMTE5OTE1LDY4LDExOTk2Nyw2OCwxMjAwMTksNjgsMTIwMDcxLDY4LDEyMDEyMyw2OCwxMjAxNzUsNjgsMTIwMjI3LDY4LDEyMDI3OSw2OCwxMjAzMzEsNjgsMTIwMzgzLDY4LDEyMDQzNSw2OCw1MDI0LDY4LDU1OTgsNjgsNTYxMCw2OCw0MjE5NSw2OCw4NDk0LDEwMSw2NTM0OSwxMDEsODQ5NSwxMDEsODUxOSwxMDEsMTE5ODM4LDEwMSwxMTk4OTAsMTAxLDExOTk0MiwxMDEsMTIwMDQ2LDEwMSwxMjAwOTgsMTAxLDEyMDE1MCwxMDEsMTIwMjAyLDEwMSwxMjAyNTQsMTAxLDEyMDMwNiwxMDEsMTIwMzU4LDEwMSwxMjA0MTAsMTAxLDEyMDQ2MiwxMDEsNDM4MjYsMTAxLDEyMTMsMTAxLDg5NTksNjksNjUzMTcsNjksODQ5Niw2OSwxMTk4MTIsNjksMTE5ODY0LDY5LDExOTkxNiw2OSwxMjAwMjAsNjksMTIwMDcyLDY5LDEyMDEyNCw2OSwxMjAxNzYsNjksMTIwMjI4LDY5LDEyMDI4MCw2OSwxMjAzMzIsNjksMTIwMzg0LDY5LDEyMDQzNiw2OSw5MTcsNjksMTIwNDkyLDY5LDEyMDU1MCw2OSwxMjA2MDgsNjksMTIwNjY2LDY5LDEyMDcyNCw2OSwxMTU3Nyw2OSw1MDM2LDY5LDQyMjI0LDY5LDcxODQ2LDY5LDcxODU0LDY5LDY2MTgyLDY5LDExOTgzOSwxMDIsMTE5ODkxLDEwMiwxMTk5NDMsMTAyLDExOTk5NSwxMDIsMTIwMDQ3LDEwMiwxMjAwOTksMTAyLDEyMDE1MSwxMDIsMTIwMjAzLDEwMiwxMjAyNTUsMTAyLDEyMDMwNywxMDIsMTIwMzU5LDEwMiwxMjA0MTEsMTAyLDEyMDQ2MywxMDIsNDM4MjksMTAyLDQyOTA1LDEwMiwzODMsMTAyLDc4MzcsMTAyLDE0MTIsMTAyLDExOTMxNSw3MCw4NDk3LDcwLDExOTgxMyw3MCwxMTk4NjUsNzAsMTE5OTE3LDcwLDEyMDAyMSw3MCwxMjAwNzMsNzAsMTIwMTI1LDcwLDEyMDE3Nyw3MCwxMjAyMjksNzAsMTIwMjgxLDcwLDEyMDMzMyw3MCwxMjAzODUsNzAsMTIwNDM3LDcwLDQyOTA0LDcwLDk4OCw3MCwxMjA3NzgsNzAsNTU1Niw3MCw0MjIwNSw3MCw3MTg3NCw3MCw3MTg0Miw3MCw2NjE4Myw3MCw2NjIxMyw3MCw2Njg1Myw3MCw2NTM1MSwxMDMsODQ1OCwxMDMsMTE5ODQwLDEwMywxMTk4OTIsMTAzLDExOTk0NCwxMDMsMTIwMDQ4LDEwMywxMjAxMDAsMTAzLDEyMDE1MiwxMDMsMTIwMjA0LDEwMywxMjAyNTYsMTAzLDEyMDMwOCwxMDMsMTIwMzYwLDEwMywxMjA0MTIsMTAzLDEyMDQ2NCwxMDMsNjA5LDEwMyw3NTU1LDEwMywzOTcsMTAzLDE0MDksMTAzLDExOTgxNCw3MSwxMTk4NjYsNzEsMTE5OTE4LDcxLDExOTk3MCw3MSwxMjAwMjIsNzEsMTIwMDc0LDcxLDEyMDEyNiw3MSwxMjAxNzgsNzEsMTIwMjMwLDcxLDEyMDI4Miw3MSwxMjAzMzQsNzEsMTIwMzg2LDcxLDEyMDQzOCw3MSwxMjkyLDcxLDUwNTYsNzEsNTEwNyw3MSw0MjE5OCw3MSw2NTM1MiwxMDQsODQ2MiwxMDQsMTE5ODQxLDEwNCwxMTk5NDUsMTA0LDExOTk5NywxMDQsMTIwMDQ5LDEwNCwxMjAxMDEsMTA0LDEyMDE1MywxMDQsMTIwMjA1LDEwNCwxMjAyNTcsMTA0LDEyMDMwOSwxMDQsMTIwMzYxLDEwNCwxMjA0MTMsMTA0LDEyMDQ2NSwxMDQsMTIxMSwxMDQsMTM5MiwxMDQsNTA1OCwxMDQsNjUzMjAsNzIsODQ1OSw3Miw4NDYwLDcyLDg0NjEsNzIsMTE5ODE1LDcyLDExOTg2Nyw3MiwxMTk5MTksNzIsMTIwMDIzLDcyLDEyMDE3OSw3MiwxMjAyMzEsNzIsMTIwMjgzLDcyLDEyMDMzNSw3MiwxMjAzODcsNzIsMTIwNDM5LDcyLDkxOSw3MiwxMjA0OTQsNzIsMTIwNTUyLDcyLDEyMDYxMCw3MiwxMjA2NjgsNzIsMTIwNzI2LDcyLDExNDA2LDcyLDUwNTEsNzIsNTUwMCw3Miw0MjIxNSw3Miw2NjI1NSw3Miw3MzEsMTA1LDkwNzUsMTA1LDY1MzUzLDEwNSw4NTYwLDEwNSw4NTA1LDEwNSw4NTIwLDEwNSwxMTk4NDIsMTA1LDExOTg5NCwxMDUsMTE5OTQ2LDEwNSwxMTk5OTgsMTA1LDEyMDA1MCwxMDUsMTIwMTAyLDEwNSwxMjAxNTQsMTA1LDEyMDIwNiwxMDUsMTIwMjU4LDEwNSwxMjAzMTAsMTA1LDEyMDM2MiwxMDUsMTIwNDE0LDEwNSwxMjA0NjYsMTA1LDEyMDQ4NCwxMDUsNjE4LDEwNSw2MTcsMTA1LDk1MywxMDUsODEyNiwxMDUsODkwLDEwNSwxMjA1MjIsMTA1LDEyMDU4MCwxMDUsMTIwNjM4LDEwNSwxMjA2OTYsMTA1LDEyMDc1NCwxMDUsMTExMCwxMDUsNDI1NjcsMTA1LDEyMzEsMTA1LDQzODkzLDEwNSw1MDI5LDEwNSw3MTg3NSwxMDUsNjUzNTQsMTA2LDg1MjEsMTA2LDExOTg0MywxMDYsMTE5ODk1LDEwNiwxMTk5NDcsMTA2LDExOTk5OSwxMDYsMTIwMDUxLDEwNiwxMjAxMDMsMTA2LDEyMDE1NSwxMDYsMTIwMjA3LDEwNiwxMjAyNTksMTA2LDEyMDMxMSwxMDYsMTIwMzYzLDEwNiwxMjA0MTUsMTA2LDEyMDQ2NywxMDYsMTAxMSwxMDYsMTExMiwxMDYsNjUzMjIsNzQsMTE5ODE3LDc0LDExOTg2OSw3NCwxMTk5MjEsNzQsMTE5OTczLDc0LDEyMDAyNSw3NCwxMjAwNzcsNzQsMTIwMTI5LDc0LDEyMDE4MSw3NCwxMjAyMzMsNzQsMTIwMjg1LDc0LDEyMDMzNyw3NCwxMjAzODksNzQsMTIwNDQxLDc0LDQyOTMwLDc0LDg5NSw3NCwxMDMyLDc0LDUwMzUsNzQsNTI2MSw3NCw0MjIwMSw3NCwxMTk4NDQsMTA3LDExOTg5NiwxMDcsMTE5OTQ4LDEwNywxMjAwMDAsMTA3LDEyMDA1MiwxMDcsMTIwMTA0LDEwNywxMjAxNTYsMTA3LDEyMDIwOCwxMDcsMTIwMjYwLDEwNywxMjAzMTIsMTA3LDEyMDM2NCwxMDcsMTIwNDE2LDEwNywxMjA0NjgsMTA3LDg0OTAsNzUsNjUzMjMsNzUsMTE5ODE4LDc1LDExOTg3MCw3NSwxMTk5MjIsNzUsMTE5OTc0LDc1LDEyMDAyNiw3NSwxMjAwNzgsNzUsMTIwMTMwLDc1LDEyMDE4Miw3NSwxMjAyMzQsNzUsMTIwMjg2LDc1LDEyMDMzOCw3NSwxMjAzOTAsNzUsMTIwNDQyLDc1LDkyMiw3NSwxMjA0OTcsNzUsMTIwNTU1LDc1LDEyMDYxMyw3NSwxMjA2NzEsNzUsMTIwNzI5LDc1LDExNDEyLDc1LDUwOTQsNzUsNTg0NSw3NSw0MjE5OSw3NSw2Njg0MCw3NSwxNDcyLDEwOCw4NzM5LDczLDkyMTMsNzMsNjU1MTIsNzMsMTYzMywxMDgsMTc3Nyw3Myw2NjMzNiwxMDgsMTI1MTI3LDEwOCwxMjA3ODMsNzMsMTIwNzkzLDczLDEyMDgwMyw3MywxMjA4MTMsNzMsMTIwODIzLDczLDEzMDAzMyw3Myw2NTMyMSw3Myw4NTQ0LDczLDg0NjQsNzMsODQ2NSw3MywxMTk4MTYsNzMsMTE5ODY4LDczLDExOTkyMCw3MywxMjAwMjQsNzMsMTIwMTI4LDczLDEyMDE4MCw3MywxMjAyMzIsNzMsMTIwMjg0LDczLDEyMDMzNiw3MywxMjAzODgsNzMsMTIwNDQwLDczLDY1MzU2LDEwOCw4NTcyLDczLDg0NjcsMTA4LDExOTg0NSwxMDgsMTE5ODk3LDEwOCwxMTk5NDksMTA4LDEyMDAwMSwxMDgsMTIwMDUzLDEwOCwxMjAxMDUsNzMsMTIwMTU3LDczLDEyMDIwOSw3MywxMjAyNjEsNzMsMTIwMzEzLDczLDEyMDM2NSw3MywxMjA0MTcsNzMsMTIwNDY5LDczLDQ0OCw3MywxMjA0OTYsNzMsMTIwNTU0LDczLDEyMDYxMiw3MywxMjA2NzAsNzMsMTIwNzI4LDczLDExNDEwLDczLDEwMzAsNzMsMTIxNiw3MywxNDkzLDEwOCwxNTAzLDEwOCwxNTc1LDEwOCwxMjY0NjQsMTA4LDEyNjU5MiwxMDgsNjUxNjYsMTA4LDY1MTY1LDEwOCwxOTk0LDEwOCwxMTU5OSw3Myw1ODI1LDczLDQyMjI2LDczLDkzOTkyLDczLDY2MTg2LDEyNCw2NjMxMywxMjQsMTE5MzM4LDc2LDg1NTYsNzYsODQ2Niw3NiwxMTk4MTksNzYsMTE5ODcxLDc2LDExOTkyMyw3NiwxMjAwMjcsNzYsMTIwMDc5LDc2LDEyMDEzMSw3NiwxMjAxODMsNzYsMTIwMjM1LDc2LDEyMDI4Nyw3NiwxMjAzMzksNzYsMTIwMzkxLDc2LDEyMDQ0Myw3NiwxMTQ3Miw3Niw1MDg2LDc2LDUyOTAsNzYsNDIyMDksNzYsOTM5NzQsNzYsNzE4NDMsNzYsNzE4NTgsNzYsNjY1ODcsNzYsNjY4NTQsNzYsNjUzMjUsNzcsODU1OSw3Nyw4NDk5LDc3LDExOTgyMCw3NywxMTk4NzIsNzcsMTE5OTI0LDc3LDEyMDAyOCw3NywxMjAwODAsNzcsMTIwMTMyLDc3LDEyMDE4NCw3NywxMjAyMzYsNzcsMTIwMjg4LDc3LDEyMDM0MCw3NywxMjAzOTIsNzcsMTIwNDQ0LDc3LDkyNCw3NywxMjA0OTksNzcsMTIwNTU3LDc3LDEyMDYxNSw3NywxMjA2NzMsNzcsMTIwNzMxLDc3LDEwMTgsNzcsMTE0MTYsNzcsNTA0Nyw3Nyw1NjE2LDc3LDU4NDYsNzcsNDIyMDcsNzcsNjYyMjQsNzcsNjYzMjEsNzcsMTE5ODQ3LDExMCwxMTk4OTksMTEwLDExOTk1MSwxMTAsMTIwMDAzLDExMCwxMjAwNTUsMTEwLDEyMDEwNywxMTAsMTIwMTU5LDExMCwxMjAyMTEsMTEwLDEyMDI2MywxMTAsMTIwMzE1LDExMCwxMjAzNjcsMTEwLDEyMDQxOSwxMTAsMTIwNDcxLDExMCwxNDAwLDExMCwxNDA0LDExMCw2NTMyNiw3OCw4NDY5LDc4LDExOTgyMSw3OCwxMTk4NzMsNzgsMTE5OTI1LDc4LDExOTk3Nyw3OCwxMjAwMjksNzgsMTIwMDgxLDc4LDEyMDE4NSw3OCwxMjAyMzcsNzgsMTIwMjg5LDc4LDEyMDM0MSw3OCwxMjAzOTMsNzgsMTIwNDQ1LDc4LDkyNSw3OCwxMjA1MDAsNzgsMTIwNTU4LDc4LDEyMDYxNiw3OCwxMjA2NzQsNzgsMTIwNzMyLDc4LDExNDE4LDc4LDQyMjA4LDc4LDY2ODM1LDc4LDMwNzQsMTExLDMyMDIsMTExLDMzMzAsMTExLDM0NTgsMTExLDI0MDYsMTExLDI2NjIsMTExLDI3OTAsMTExLDMwNDYsMTExLDMxNzQsMTExLDMzMDIsMTExLDM0MzAsMTExLDM2NjQsMTExLDM3OTIsMTExLDQxNjAsMTExLDE2MzcsMTExLDE3ODEsMTExLDY1MzU5LDExMSw4NTAwLDExMSwxMTk4NDgsMTExLDExOTkwMCwxMTEsMTE5OTUyLDExMSwxMjAwNTYsMTExLDEyMDEwOCwxMTEsMTIwMTYwLDExMSwxMjAyMTIsMTExLDEyMDI2NCwxMTEsMTIwMzE2LDExMSwxMjAzNjgsMTExLDEyMDQyMCwxMTEsMTIwNDcyLDExMSw3NDM5LDExMSw3NDQxLDExMSw0MzgzNywxMTEsOTU5LDExMSwxMjA1MjgsMTExLDEyMDU4NiwxMTEsMTIwNjQ0LDExMSwxMjA3MDIsMTExLDEyMDc2MCwxMTEsOTYzLDExMSwxMjA1MzIsMTExLDEyMDU5MCwxMTEsMTIwNjQ4LDExMSwxMjA3MDYsMTExLDEyMDc2NCwxMTEsMTE0MjMsMTExLDQzNTEsMTExLDE0MTMsMTExLDE1MDUsMTExLDE2MDcsMTExLDEyNjUwMCwxMTEsMTI2NTY0LDExMSwxMjY1OTYsMTExLDY1MjU5LDExMSw2NTI2MCwxMTEsNjUyNTgsMTExLDY1MjU3LDExMSwxNzI2LDExMSw2NDQyOCwxMTEsNjQ0MjksMTExLDY0NDI3LDExMSw2NDQyNiwxMTEsMTcyOSwxMTEsNjQ0MjQsMTExLDY0NDI1LDExMSw2NDQyMywxMTEsNjQ0MjIsMTExLDE3NDksMTExLDMzNjAsMTExLDQxMjUsMTExLDY2Nzk0LDExMSw3MTg4MCwxMTEsNzE4OTUsMTExLDY2NjA0LDExMSwxOTg0LDc5LDI1MzQsNzksMjkxOCw3OSwxMjI5NSw3OSw3MDg2NCw3OSw3MTkwNCw3OSwxMjA3ODIsNzksMTIwNzkyLDc5LDEyMDgwMiw3OSwxMjA4MTIsNzksMTIwODIyLDc5LDEzMDAzMiw3OSw2NTMyNyw3OSwxMTk4MjIsNzksMTE5ODc0LDc5LDExOTkyNiw3OSwxMTk5NzgsNzksMTIwMDMwLDc5LDEyMDA4Miw3OSwxMjAxMzQsNzksMTIwMTg2LDc5LDEyMDIzOCw3OSwxMjAyOTAsNzksMTIwMzQyLDc5LDEyMDM5NCw3OSwxMjA0NDYsNzksOTI3LDc5LDEyMDUwMiw3OSwxMjA1NjAsNzksMTIwNjE4LDc5LDEyMDY3Niw3OSwxMjA3MzQsNzksMTE0MjIsNzksMTM2NSw3OSwxMTYwNCw3OSw0ODE2LDc5LDI4NDgsNzksNjY3NTQsNzksNDIyMjcsNzksNzE4NjEsNzksNjYxOTQsNzksNjYyMTksNzksNjY1NjQsNzksNjY4MzgsNzksOTA3NiwxMTIsNjUzNjAsMTEyLDExOTg0OSwxMTIsMTE5OTAxLDExMiwxMTk5NTMsMTEyLDEyMDAwNSwxMTIsMTIwMDU3LDExMiwxMjAxMDksMTEyLDEyMDE2MSwxMTIsMTIwMjEzLDExMiwxMjAyNjUsMTEyLDEyMDMxNywxMTIsMTIwMzY5LDExMiwxMjA0MjEsMTEyLDEyMDQ3MywxMTIsOTYxLDExMiwxMjA1MzAsMTEyLDEyMDU0NCwxMTIsMTIwNTg4LDExMiwxMjA2MDIsMTEyLDEyMDY0NiwxMTIsMTIwNjYwLDExMiwxMjA3MDQsMTEyLDEyMDcxOCwxMTIsMTIwNzYyLDExMiwxMjA3NzYsMTEyLDExNDI3LDExMiw2NTMyOCw4MCw4NDczLDgwLDExOTgyMyw4MCwxMTk4NzUsODAsMTE5OTI3LDgwLDExOTk3OSw4MCwxMjAwMzEsODAsMTIwMDgzLDgwLDEyMDE4Nyw4MCwxMjAyMzksODAsMTIwMjkxLDgwLDEyMDM0Myw4MCwxMjAzOTUsODAsMTIwNDQ3LDgwLDkyOSw4MCwxMjA1MDQsODAsMTIwNTYyLDgwLDEyMDYyMCw4MCwxMjA2NzgsODAsMTIwNzM2LDgwLDExNDI2LDgwLDUwOTAsODAsNTIyOSw4MCw0MjE5Myw4MCw2NjE5Nyw4MCwxMTk4NTAsMTEzLDExOTkwMiwxMTMsMTE5OTU0LDExMywxMjAwMDYsMTEzLDEyMDA1OCwxMTMsMTIwMTEwLDExMywxMjAxNjIsMTEzLDEyMDIxNCwxMTMsMTIwMjY2LDExMywxMjAzMTgsMTEzLDEyMDM3MCwxMTMsMTIwNDIyLDExMywxMjA0NzQsMTEzLDEzMDcsMTEzLDEzNzksMTEzLDEzODIsMTEzLDg0NzQsODEsMTE5ODI0LDgxLDExOTg3Niw4MSwxMTk5MjgsODEsMTE5OTgwLDgxLDEyMDAzMiw4MSwxMjAwODQsODEsMTIwMTg4LDgxLDEyMDI0MCw4MSwxMjAyOTIsODEsMTIwMzQ0LDgxLDEyMDM5Niw4MSwxMjA0NDgsODEsMTE2MDUsODEsMTE5ODUxLDExNCwxMTk5MDMsMTE0LDExOTk1NSwxMTQsMTIwMDA3LDExNCwxMjAwNTksMTE0LDEyMDExMSwxMTQsMTIwMTYzLDExNCwxMjAyMTUsMTE0LDEyMDI2NywxMTQsMTIwMzE5LDExNCwxMjAzNzEsMTE0LDEyMDQyMywxMTQsMTIwNDc1LDExNCw0Mzg0NywxMTQsNDM4NDgsMTE0LDc0NjIsMTE0LDExMzk3LDExNCw0MzkwNSwxMTQsMTE5MzE4LDgyLDg0NzUsODIsODQ3Niw4Miw4NDc3LDgyLDExOTgyNSw4MiwxMTk4NzcsODIsMTE5OTI5LDgyLDEyMDAzMyw4MiwxMjAxODksODIsMTIwMjQxLDgyLDEyMDI5Myw4MiwxMjAzNDUsODIsMTIwMzk3LDgyLDEyMDQ0OSw4Miw0MjIsODIsNTAyNSw4Miw1MDc0LDgyLDY2NzQwLDgyLDU1MTEsODIsNDIyMTEsODIsOTQwMDUsODIsNjUzNjMsMTE1LDExOTg1MiwxMTUsMTE5OTA0LDExNSwxMTk5NTYsMTE1LDEyMDAwOCwxMTUsMTIwMDYwLDExNSwxMjAxMTIsMTE1LDEyMDE2NCwxMTUsMTIwMjE2LDExNSwxMjAyNjgsMTE1LDEyMDMyMCwxMTUsMTIwMzcyLDExNSwxMjA0MjQsMTE1LDEyMDQ3NiwxMTUsNDI4MDEsMTE1LDQ0NSwxMTUsMTEwOSwxMTUsNDM5NDYsMTE1LDcxODczLDExNSw2NjYzMiwxMTUsNjUzMzEsODMsMTE5ODI2LDgzLDExOTg3OCw4MywxMTk5MzAsODMsMTE5OTgyLDgzLDEyMDAzNCw4MywxMjAwODYsODMsMTIwMTM4LDgzLDEyMDE5MCw4MywxMjAyNDIsODMsMTIwMjk0LDgzLDEyMDM0Niw4MywxMjAzOTgsODMsMTIwNDUwLDgzLDEwMjksODMsMTM1OSw4Myw1MDc3LDgzLDUwODIsODMsNDIyMTAsODMsOTQwMTAsODMsNjYxOTgsODMsNjY1OTIsODMsMTE5ODUzLDExNiwxMTk5MDUsMTE2LDExOTk1NywxMTYsMTIwMDA5LDExNiwxMjAwNjEsMTE2LDEyMDExMywxMTYsMTIwMTY1LDExNiwxMjAyMTcsMTE2LDEyMDI2OSwxMTYsMTIwMzIxLDExNiwxMjAzNzMsMTE2LDEyMDQyNSwxMTYsMTIwNDc3LDExNiw4ODY4LDg0LDEwMjAxLDg0LDEyODg3Miw4NCw2NTMzMiw4NCwxMTk4MjcsODQsMTE5ODc5LDg0LDExOTkzMSw4NCwxMTk5ODMsODQsMTIwMDM1LDg0LDEyMDA4Nyw4NCwxMjAxMzksODQsMTIwMTkxLDg0LDEyMDI0Myw4NCwxMjAyOTUsODQsMTIwMzQ3LDg0LDEyMDM5OSw4NCwxMjA0NTEsODQsOTMyLDg0LDEyMDUwNyw4NCwxMjA1NjUsODQsMTIwNjIzLDg0LDEyMDY4MSw4NCwxMjA3MzksODQsMTE0MzAsODQsNTAyNiw4NCw0MjE5Niw4NCw5Mzk2Miw4NCw3MTg2OCw4NCw2NjE5OSw4NCw2NjIyNSw4NCw2NjMyNSw4NCwxMTk4NTQsMTE3LDExOTkwNiwxMTcsMTE5OTU4LDExNywxMjAwMTAsMTE3LDEyMDA2MiwxMTcsMTIwMTE0LDExNywxMjAxNjYsMTE3LDEyMDIxOCwxMTcsMTIwMjcwLDExNywxMjAzMjIsMTE3LDEyMDM3NCwxMTcsMTIwNDI2LDExNywxMjA0NzgsMTE3LDQyOTExLDExNyw3NDUyLDExNyw0Mzg1NCwxMTcsNDM4NTgsMTE3LDY1MSwxMTcsOTY1LDExNywxMjA1MzQsMTE3LDEyMDU5MiwxMTcsMTIwNjUwLDExNywxMjA3MDgsMTE3LDEyMDc2NiwxMTcsMTQwNSwxMTcsNjY4MDYsMTE3LDcxODk2LDExNyw4NzQ2LDg1LDg4OTksODUsMTE5ODI4LDg1LDExOTg4MCw4NSwxMTk5MzIsODUsMTE5OTg0LDg1LDEyMDAzNiw4NSwxMjAwODgsODUsMTIwMTQwLDg1LDEyMDE5Miw4NSwxMjAyNDQsODUsMTIwMjk2LDg1LDEyMDM0OCw4NSwxMjA0MDAsODUsMTIwNDUyLDg1LDEzNTcsODUsNDYwOCw4NSw2Njc2Niw4NSw1MTk2LDg1LDQyMjI4LDg1LDk0MDE4LDg1LDcxODY0LDg1LDg3NDQsMTE4LDg4OTcsMTE4LDY1MzY2LDExOCw4NTY0LDExOCwxMTk4NTUsMTE4LDExOTkwNywxMTgsMTE5OTU5LDExOCwxMjAwMTEsMTE4LDEyMDA2MywxMTgsMTIwMTE1LDExOCwxMjAxNjcsMTE4LDEyMDIxOSwxMTgsMTIwMjcxLDExOCwxMjAzMjMsMTE4LDEyMDM3NSwxMTgsMTIwNDI3LDExOCwxMjA0NzksMTE4LDc0NTYsMTE4LDk1NywxMTgsMTIwNTI2LDExOCwxMjA1ODQsMTE4LDEyMDY0MiwxMTgsMTIwNzAwLDExOCwxMjA3NTgsMTE4LDExNDEsMTE4LDE0OTYsMTE4LDcxNDMwLDExOCw0Mzk0NSwxMTgsNzE4NzIsMTE4LDExOTMwOSw4NiwxNjM5LDg2LDE3ODMsODYsODU0OCw4NiwxMTk4MjksODYsMTE5ODgxLDg2LDExOTkzMyw4NiwxMTk5ODUsODYsMTIwMDM3LDg2LDEyMDA4OSw4NiwxMjAxNDEsODYsMTIwMTkzLDg2LDEyMDI0NSw4NiwxMjAyOTcsODYsMTIwMzQ5LDg2LDEyMDQwMSw4NiwxMjA0NTMsODYsMTE0MCw4NiwxMTU3Niw4Niw1MDgxLDg2LDUxNjcsODYsNDI3MTksODYsNDIyMTQsODYsOTM5NjAsODYsNzE4NDAsODYsNjY4NDUsODYsNjIzLDExOSwxMTk4NTYsMTE5LDExOTkwOCwxMTksMTE5OTYwLDExOSwxMjAwMTIsMTE5LDEyMDA2NCwxMTksMTIwMTE2LDExOSwxMjAxNjgsMTE5LDEyMDIyMCwxMTksMTIwMjcyLDExOSwxMjAzMjQsMTE5LDEyMDM3NiwxMTksMTIwNDI4LDExOSwxMjA0ODAsMTE5LDc0NTcsMTE5LDExMjEsMTE5LDEzMDksMTE5LDEzNzcsMTE5LDcxNDM0LDExOSw3MTQzOCwxMTksNzE0MzksMTE5LDQzOTA3LDExOSw3MTkxOSw4Nyw3MTkxMCw4NywxMTk4MzAsODcsMTE5ODgyLDg3LDExOTkzNCw4NywxMTk5ODYsODcsMTIwMDM4LDg3LDEyMDA5MCw4NywxMjAxNDIsODcsMTIwMTk0LDg3LDEyMDI0Niw4NywxMjAyOTgsODcsMTIwMzUwLDg3LDEyMDQwMiw4NywxMjA0NTQsODcsMTMwOCw4Nyw1MDQzLDg3LDUwNzYsODcsNDIyMTgsODcsNTc0MiwxMjAsMTA1MzksMTIwLDEwNTQwLDEyMCwxMDc5OSwxMjAsNjUzNjgsMTIwLDg1NjksMTIwLDExOTg1NywxMjAsMTE5OTA5LDEyMCwxMTk5NjEsMTIwLDEyMDAxMywxMjAsMTIwMDY1LDEyMCwxMjAxMTcsMTIwLDEyMDE2OSwxMjAsMTIwMjIxLDEyMCwxMjAyNzMsMTIwLDEyMDMyNSwxMjAsMTIwMzc3LDEyMCwxMjA0MjksMTIwLDEyMDQ4MSwxMjAsNTQ0MSwxMjAsNTUwMSwxMjAsNTc0MSw4OCw5NTg3LDg4LDY2MzM4LDg4LDcxOTE2LDg4LDY1MzM2LDg4LDg1NTMsODgsMTE5ODMxLDg4LDExOTg4Myw4OCwxMTk5MzUsODgsMTE5OTg3LDg4LDEyMDAzOSw4OCwxMjAwOTEsODgsMTIwMTQzLDg4LDEyMDE5NSw4OCwxMjAyNDcsODgsMTIwMjk5LDg4LDEyMDM1MSw4OCwxMjA0MDMsODgsMTIwNDU1LDg4LDQyOTMxLDg4LDkzNSw4OCwxMjA1MTAsODgsMTIwNTY4LDg4LDEyMDYyNiw4OCwxMjA2ODQsODgsMTIwNzQyLDg4LDExNDM2LDg4LDExNjEzLDg4LDU4MTUsODgsNDIyMTksODgsNjYxOTIsODgsNjYyMjgsODgsNjYzMjcsODgsNjY4NTUsODgsNjExLDEyMSw3NTY0LDEyMSw2NTM2OSwxMjEsMTE5ODU4LDEyMSwxMTk5MTAsMTIxLDExOTk2MiwxMjEsMTIwMDE0LDEyMSwxMjAwNjYsMTIxLDEyMDExOCwxMjEsMTIwMTcwLDEyMSwxMjAyMjIsMTIxLDEyMDI3NCwxMjEsMTIwMzI2LDEyMSwxMjAzNzgsMTIxLDEyMDQzMCwxMjEsMTIwNDgyLDEyMSw2NTUsMTIxLDc5MzUsMTIxLDQzODY2LDEyMSw5NDcsMTIxLDg1MDksMTIxLDEyMDUxNiwxMjEsMTIwNTc0LDEyMSwxMjA2MzIsMTIxLDEyMDY5MCwxMjEsMTIwNzQ4LDEyMSwxMTk5LDEyMSw0MzI3LDEyMSw3MTkwMCwxMjEsNjUzMzcsODksMTE5ODMyLDg5LDExOTg4NCw4OSwxMTk5MzYsODksMTE5OTg4LDg5LDEyMDA0MCw4OSwxMjAwOTIsODksMTIwMTQ0LDg5LDEyMDE5Niw4OSwxMjAyNDgsODksMTIwMzAwLDg5LDEyMDM1Miw4OSwxMjA0MDQsODksMTIwNDU2LDg5LDkzMyw4OSw5NzgsODksMTIwNTA4LDg5LDEyMDU2Niw4OSwxMjA2MjQsODksMTIwNjgyLDg5LDEyMDc0MCw4OSwxMTQzMiw4OSwxMTk4LDg5LDUwMzMsODksNTA1Myw4OSw0MjIyMCw4OSw5NDAxOSw4OSw3MTg0NCw4OSw2NjIyNiw4OSwxMTk4NTksMTIyLDExOTkxMSwxMjIsMTE5OTYzLDEyMiwxMjAwMTUsMTIyLDEyMDA2NywxMjIsMTIwMTE5LDEyMiwxMjAxNzEsMTIyLDEyMDIyMywxMjIsMTIwMjc1LDEyMiwxMjAzMjcsMTIyLDEyMDM3OSwxMjIsMTIwNDMxLDEyMiwxMjA0ODMsMTIyLDc0NTgsMTIyLDQzOTIzLDEyMiw3MTg3NiwxMjIsNjYyOTMsOTAsNzE5MDksOTAsNjUzMzgsOTAsODQ4NCw5MCw4NDg4LDkwLDExOTgzMyw5MCwxMTk4ODUsOTAsMTE5OTM3LDkwLDExOTk4OSw5MCwxMjAwNDEsOTAsMTIwMTk3LDkwLDEyMDI0OSw5MCwxMjAzMDEsOTAsMTIwMzUzLDkwLDEyMDQwNSw5MCwxMjA0NTcsOTAsOTE4LDkwLDEyMDQ5Myw5MCwxMjA1NTEsOTAsMTIwNjA5LDkwLDEyMDY2Nyw5MCwxMjA3MjUsOTAsNTA1OSw5MCw0MjIwNCw5MCw3MTg0OSw5MCw2NTI4MiwzNCw2NTI4NCwzNiw2NTI4NSwzNyw2NTI4NiwzOCw2NTI5MCw0Miw2NTI5MSw0Myw2NTI5NCw0Niw2NTI5NSw0Nyw2NTI5Niw0OCw2NTI5Nyw0OSw2NTI5OCw1MCw2NTI5OSw1MSw2NTMwMCw1Miw2NTMwMSw1Myw2NTMwMiw1NCw2NTMwMyw1NSw2NTMwNCw1Niw2NTMwNSw1Nyw2NTMwOCw2MCw2NTMwOSw2MSw2NTMxMCw2Miw2NTMxMiw2NCw2NTMxNiw2OCw2NTMxOCw3MCw2NTMxOSw3MSw2NTMyNCw3Niw2NTMyOSw4MSw2NTMzMCw4Miw2NTMzMyw4NSw2NTMzNCw4Niw2NTMzNSw4Nyw2NTM0Myw5NSw2NTM0Niw5OCw2NTM0OCwxMDAsNjUzNTAsMTAyLDY1MzU1LDEwNyw2NTM1NywxMDksNjUzNTgsMTEwLDY1MzYxLDExMyw2NTM2MiwxMTQsNjUzNjQsMTE2LDY1MzY1LDExNyw2NTM2NywxMTksNjUzNzAsMTIyLDY1MzcxLDEyMyw2NTM3MywxMjUsMTE5ODQ2LDEwOV0sIl9kZWZhdWx0IjpbMTYwLDMyLDgyMTEsNDUsNjUzNzQsMTI2LDY1MzA2LDU4LDY1MjgxLDMzLDgyMTYsOTYsODIxNyw5Niw4MjQ1LDk2LDE4MCw5NiwxMjQ5NCw0NywxMDQ3LDUxLDEwNzMsNTQsMTA3Miw5NywxMDQwLDY1LDEwNjgsOTgsMTA0Miw2NiwxMDg5LDk5LDEwNTcsNjcsMTA3NywxMDEsMTA0NSw2OSwxMDUzLDcyLDMwNSwxMDUsMTA1MCw3NSw5MjEsNzMsMTA1Miw3NywxMDg2LDExMSwxMDU0LDc5LDEwMDksMTEyLDEwODgsMTEyLDEwNTYsODAsMTA3NSwxMTQsMTA1OCw4NCwyMTUsMTIwLDEwOTMsMTIwLDEwNjEsODgsMTA5MSwxMjEsMTA1OSw4OSw2NTI4MywzNSw2NTI4OCw0MCw2NTI4OSw0MSw2NTI5Miw0NCw2NTMwNyw1OSw2NTMxMSw2M10sImNzIjpbNjUzNzQsMTI2LDY1MzA2LDU4LDY1MjgxLDMzLDgyMTYsOTYsODIxNyw5Niw4MjQ1LDk2LDE4MCw5NiwxMjQ5NCw0NywxMDQ3LDUxLDEwNzMsNTQsMTA3Miw5NywxMDQwLDY1LDEwNjgsOTgsMTA0Miw2NiwxMDg5LDk5LDEwNTcsNjcsMTA3NywxMDEsMTA0NSw2OSwxMDUzLDcyLDMwNSwxMDUsMTA1MCw3NSw5MjEsNzMsMTA1Miw3NywxMDg2LDExMSwxMDU0LDc5LDEwMDksMTEyLDEwODgsMTEyLDEwNTYsODAsMTA3NSwxMTQsMTA1OCw4NCwxMDkzLDEyMCwxMDYxLDg4LDEwOTEsMTIxLDEwNTksODksNjUyODMsMzUsNjUyODgsNDAsNjUyODksNDEsNjUyOTIsNDQsNjUzMDcsNTksNjUzMTEsNjNdLCJkZSI6WzY1Mzc0LDEyNiw2NTMwNiw1OCw2NTI4MSwzMyw4MjE2LDk2LDgyMTcsOTYsODI0NSw5NiwxODAsOTYsMTI0OTQsNDcsMTA0Nyw1MSwxMDczLDU0LDEwNzIsOTcsMTA0MCw2NSwxMDY4LDk4LDEwNDIsNjYsMTA4OSw5OSwxMDU3LDY3LDEwNzcsMTAxLDEwNDUsNjksMTA1Myw3MiwzMDUsMTA1LDEwNTAsNzUsOTIxLDczLDEwNTIsNzcsMTA4NiwxMTEsMTA1NCw3OSwxMDA5LDExMiwxMDg4LDExMiwxMDU2LDgwLDEwNzUsMTE0LDEwNTgsODQsMTA5MywxMjAsMTA2MSw4OCwxMDkxLDEyMSwxMDU5LDg5LDY1MjgzLDM1LDY1Mjg4LDQwLDY1Mjg5LDQxLDY1MjkyLDQ0LDY1MzA3LDU5LDY1MzExLDYzXSwiZXMiOls4MjExLDQ1LDY1Mzc0LDEyNiw2NTMwNiw1OCw2NTI4MSwzMyw4MjQ1LDk2LDE4MCw5NiwxMjQ5NCw0NywxMDQ3LDUxLDEwNzMsNTQsMTA3Miw5NywxMDQwLDY1LDEwNjgsOTgsMTA0Miw2NiwxMDg5LDk5LDEwNTcsNjcsMTA3NywxMDEsMTA0NSw2OSwxMDUzLDcyLDMwNSwxMDUsMTA1MCw3NSwxMDUyLDc3LDEwODYsMTExLDEwNTQsNzksMTAwOSwxMTIsMTA4OCwxMTIsMTA1Niw4MCwxMDc1LDExNCwxMDU4LDg0LDIxNSwxMjAsMTA5MywxMjAsMTA2MSw4OCwxMDkxLDEyMSwxMDU5LDg5LDY1MjgzLDM1LDY1Mjg4LDQwLDY1Mjg5LDQxLDY1MjkyLDQ0LDY1MzA3LDU5LDY1MzExLDYzXSwiZnIiOls2NTM3NCwxMjYsNjUzMDYsNTgsNjUyODEsMzMsODIxNiw5Niw4MjQ1LDk2LDEyNDk0LDQ3LDEwNDcsNTEsMTA3Myw1NCwxMDcyLDk3LDEwNDAsNjUsMTA2OCw5OCwxMDQyLDY2LDEwODksOTksMTA1Nyw2NywxMDc3LDEwMSwxMDQ1LDY5LDEwNTMsNzIsMzA1LDEwNSwxMDUwLDc1LDkyMSw3MywxMDUyLDc3LDEwODYsMTExLDEwNTQsNzksMTAwOSwxMTIsMTA4OCwxMTIsMTA1Niw4MCwxMDc1LDExNCwxMDU4LDg0LDIxNSwxMjAsMTA5MywxMjAsMTA2MSw4OCwxMDkxLDEyMSwxMDU5LDg5LDY1MjgzLDM1LDY1Mjg4LDQwLDY1Mjg5LDQxLDY1MjkyLDQ0LDY1MzA3LDU5LDY1MzExLDYzXSwiaXQiOlsxNjAsMzIsODIxMSw0NSw2NTM3NCwxMjYsNjUzMDYsNTgsNjUyODEsMzMsODIxNiw5Niw4MjQ1LDk2LDE4MCw5NiwxMjQ5NCw0NywxMDQ3LDUxLDEwNzMsNTQsMTA3Miw5NywxMDQwLDY1LDEwNjgsOTgsMTA0Miw2NiwxMDg5LDk5LDEwNTcsNjcsMTA3NywxMDEsMTA0NSw2OSwxMDUzLDcyLDMwNSwxMDUsMTA1MCw3NSw5MjEsNzMsMTA1Miw3NywxMDg2LDExMSwxMDU0LDc5LDEwMDksMTEyLDEwODgsMTEyLDEwNTYsODAsMTA3NSwxMTQsMTA1OCw4NCwyMTUsMTIwLDEwOTMsMTIwLDEwNjEsODgsMTA5MSwxMjEsMTA1OSw4OSw2NTI4MywzNSw2NTI4OCw0MCw2NTI4OSw0MSw2NTI5Miw0NCw2NTMwNyw1OSw2NTMxMSw2M10sImphIjpbODIxMSw0NSw2NTMwNiw1OCw2NTI4MSwzMyw4MjE2LDk2LDgyMTcsOTYsODI0NSw5NiwxODAsOTYsMTA0Nyw1MSwxMDczLDU0LDEwNzIsOTcsMTA0MCw2NSwxMDY4LDk4LDEwNDIsNjYsMTA4OSw5OSwxMDU3LDY3LDEwNzcsMTAxLDEwNDUsNjksMTA1Myw3MiwzMDUsMTA1LDEwNTAsNzUsOTIxLDczLDEwNTIsNzcsMTA4NiwxMTEsMTA1NCw3OSwxMDA5LDExMiwxMDg4LDExMiwxMDU2LDgwLDEwNzUsMTE0LDEwNTgsODQsMjE1LDEyMCwxMDkzLDEyMCwxMDYxLDg4LDEwOTEsMTIxLDEwNTksODksNjUyODMsMzUsNjUyOTIsNDQsNjUzMDcsNTldLCJrbyI6WzgyMTEsNDUsNjUzNzQsMTI2LDY1MzA2LDU4LDY1MjgxLDMzLDgyNDUsOTYsMTgwLDk2LDEyNDk0LDQ3LDEwNDcsNTEsMTA3Myw1NCwxMDcyLDk3LDEwNDAsNjUsMTA2OCw5OCwxMDQyLDY2LDEwODksOTksMTA1Nyw2NywxMDc3LDEwMSwxMDQ1LDY5LDEwNTMsNzIsMzA1LDEwNSwxMDUwLDc1LDkyMSw3MywxMDUyLDc3LDEwODYsMTExLDEwNTQsNzksMTAwOSwxMTIsMTA4OCwxMTIsMTA1Niw4MCwxMDc1LDExNCwxMDU4LDg0LDIxNSwxMjAsMTA5MywxMjAsMTA2MSw4OCwxMDkxLDEyMSwxMDU5LDg5LDY1MjgzLDM1LDY1Mjg4LDQwLDY1Mjg5LDQxLDY1MjkyLDQ0LDY1MzA3LDU5LDY1MzExLDYzXSwicGwiOls2NTM3NCwxMjYsNjUzMDYsNTgsNjUyODEsMzMsODIxNiw5Niw4MjE3LDk2LDgyNDUsOTYsMTgwLDk2LDEyNDk0LDQ3LDEwNDcsNTEsMTA3Myw1NCwxMDcyLDk3LDEwNDAsNjUsMTA2OCw5OCwxMDQyLDY2LDEwODksOTksMTA1Nyw2NywxMDc3LDEwMSwxMDQ1LDY5LDEwNTMsNzIsMzA1LDEwNSwxMDUwLDc1LDkyMSw3MywxMDUyLDc3LDEwODYsMTExLDEwNTQsNzksMTAwOSwxMTIsMTA4OCwxMTIsMTA1Niw4MCwxMDc1LDExNCwxMDU4LDg0LDIxNSwxMjAsMTA5MywxMjAsMTA2MSw4OCwxMDkxLDEyMSwxMDU5LDg5LDY1MjgzLDM1LDY1Mjg4LDQwLDY1Mjg5LDQxLDY1MjkyLDQ0LDY1MzA3LDU5LDY1MzExLDYzXSwicHQtQlIiOls2NTM3NCwxMjYsNjUzMDYsNTgsNjUyODEsMzMsODIxNiw5Niw4MjE3LDk2LDgyNDUsOTYsMTgwLDk2LDEyNDk0LDQ3LDEwNDcsNTEsMTA3Myw1NCwxMDcyLDk3LDEwNDAsNjUsMTA2OCw5OCwxMDQyLDY2LDEwODksOTksMTA1Nyw2NywxMDc3LDEwMSwxMDQ1LDY5LDEwNTMsNzIsMzA1LDEwNSwxMDUwLDc1LDkyMSw3MywxMDUyLDc3LDEwODYsMTExLDEwNTQsNzksMTAwOSwxMTIsMTA4OCwxMTIsMTA1Niw4MCwxMDc1LDExNCwxMDU4LDg0LDIxNSwxMjAsMTA5MywxMjAsMTA2MSw4OCwxMDkxLDEyMSwxMDU5LDg5LDY1MjgzLDM1LDY1Mjg4LDQwLDY1Mjg5LDQxLDY1MjkyLDQ0LDY1MzA3LDU5LDY1MzExLDYzXSwicXBzLXBsb2MiOlsxNjAsMzIsODIxMSw0NSw2NTM3NCwxMjYsNjUzMDYsNTgsNjUyODEsMzMsODIxNiw5Niw4MjE3LDk2LDgyNDUsOTYsMTgwLDk2LDEyNDk0LDQ3LDEwNDcsNTEsMTA3Myw1NCwxMDcyLDk3LDEwNDAsNjUsMTA2OCw5OCwxMDQyLDY2LDEwODksOTksMTA1Nyw2NywxMDc3LDEwMSwxMDQ1LDY5LDEwNTMsNzIsMzA1LDEwNSwxMDUwLDc1LDkyMSw3MywxMDUyLDc3LDEwODYsMTExLDEwNTQsNzksMTA4OCwxMTIsMTA1Niw4MCwxMDc1LDExNCwxMDU4LDg0LDIxNSwxMjAsMTA5MywxMjAsMTA2MSw4OCwxMDkxLDEyMSwxMDU5LDg5LDY1MjgzLDM1LDY1Mjg4LDQwLDY1Mjg5LDQxLDY1MjkyLDQ0LDY1MzA3LDU5LDY1MzExLDYzXSwicnUiOls2NTM3NCwxMjYsNjUzMDYsNTgsNjUyODEsMzMsODIxNiw5Niw4MjE3LDk2LDgyNDUsOTYsMTgwLDk2LDEyNDk0LDQ3LDMwNSwxMDUsOTIxLDczLDEwMDksMTEyLDIxNSwxMjAsNjUyODMsMzUsNjUyODgsNDAsNjUyODksNDEsNjUyOTIsNDQsNjUzMDcsNTksNjUzMTEsNjNdLCJ0ciI6WzE2MCwzMiw4MjExLDQ1LDY1Mzc0LDEyNiw2NTMwNiw1OCw2NTI4MSwzMyw4MjQ1LDk2LDE4MCw5NiwxMjQ5NCw0NywxMDQ3LDUxLDEwNzMsNTQsMTA3Miw5NywxMDQwLDY1LDEwNjgsOTgsMTA0Miw2NiwxMDg5LDk5LDEwNTcsNjcsMTA3NywxMDEsMTA0NSw2OSwxMDUzLDcyLDEwNTAsNzUsOTIxLDczLDEwNTIsNzcsMTA4NiwxMTEsMTA1NCw3OSwxMDA5LDExMiwxMDg4LDExMiwxMDU2LDgwLDEwNzUsMTE0LDEwNTgsODQsMjE1LDEyMCwxMDkzLDEyMCwxMDYxLDg4LDEwOTEsMTIxLDEwNTksODksNjUyODMsMzUsNjUyODgsNDAsNjUyODksNDEsNjUyOTIsNDQsNjUzMDcsNTksNjUzMTEsNjNdLCJ6aC1oYW5zIjpbNjUzNzQsMTI2LDY1MzA2LDU4LDY1MjgxLDMzLDgyNDUsOTYsMTgwLDk2LDEyNDk0LDQ3LDEwNDcsNTEsMTA3Myw1NCwxMDcyLDk3LDEwNDAsNjUsMTA2OCw5OCwxMDQyLDY2LDEwODksOTksMTA1Nyw2NywxMDc3LDEwMSwxMDQ1LDY5LDEwNTMsNzIsMzA1LDEwNSwxMDUwLDc1LDkyMSw3MywxMDUyLDc3LDEwODYsMTExLDEwNTQsNzksMTAwOSwxMTIsMTA4OCwxMTIsMTA1Niw4MCwxMDc1LDExNCwxMDU4LDg0LDIxNSwxMjAsMTA5MywxMjAsMTA2MSw4OCwxMDkxLDEyMSwxMDU5LDg5LDY1Mjg4LDQwLDY1Mjg5LDQxXSwiemgtaGFudCI6WzgyMTEsNDUsNjUzNzQsMTI2LDE4MCw5NiwxMjQ5NCw0NywxMDQ3LDUxLDEwNzMsNTQsMTA3Miw5NywxMDQwLDY1LDEwNjgsOTgsMTA0Miw2NiwxMDg5LDk5LDEwNTcsNjcsMTA3NywxMDEsMTA0NSw2OSwxMDUzLDcyLDMwNSwxMDUsMTA1MCw3NSw5MjEsNzMsMTA1Miw3NywxMDg2LDExMSwxMDU0LDc5LDEwMDksMTEyLDEwODgsMTEyLDEwNTYsODAsMTA3NSwxMTQsMTA1OCw4NCwyMTUsMTIwLDEwOTMsMTIwLDEwNjEsODgsMTA5MSwxMjEsMTA1OSw4OSw2NTI4MywzNSw2NTMwNyw1OV19JykpLHJ0LmNhY2hlPW5ldyB0byhlPT57ZnVuY3Rpb24gdCh1KXtjb25zdCBmPW5ldyBNYXA7Zm9yKGxldCBoPTA7aDx1Lmxlbmd0aDtoKz0yKWYuc2V0KHVbaF0sdVtoKzFdKTtyZXR1cm4gZn1mdW5jdGlvbiBuKHUsZil7Y29uc3QgaD1uZXcgTWFwKHUpO2Zvcihjb25zdFtkLGddb2YgZiloLnNldChkLGcpO3JldHVybiBofWZ1bmN0aW9uIHIodSxmKXtpZighdSlyZXR1cm4gZjtjb25zdCBoPW5ldyBNYXA7Zm9yKGNvbnN0W2QsZ11vZiB1KWYuaGFzKGQpJiZoLnNldChkLGcpO3JldHVybiBofWNvbnN0IGk9ZHQuYW1iaWd1b3VzQ2hhcmFjdGVyRGF0YS52YWx1ZTtsZXQgcz1lLmZpbHRlcih1PT4hdS5zdGFydHNXaXRoKCJfIikmJnUgaW4gaSk7cy5sZW5ndGg9PT0wJiYocz1bIl9kZWZhdWx0Il0pO2xldCBhO2Zvcihjb25zdCB1IG9mIHMpe2NvbnN0IGY9dChpW3VdKTthPXIoYSxmKX1jb25zdCBvPXQoaS5fY29tbW9uKSxsPW4obyxhKTtyZXR1cm4gbmV3IGR0KGwpfSkscnQuX2xvY2FsZXM9bmV3IGpyKCgpPT5PYmplY3Qua2V5cyhkdC5hbWJpZ3VvdXNDaGFyYWN0ZXJEYXRhLnZhbHVlKS5maWx0ZXIoZT0+IWUuc3RhcnRzV2l0aCgiXyIpKSk7Y2xhc3MgSGV7c3RhdGljIGdldFJhd0RhdGEoKXtyZXR1cm4gSlNPTi5wYXJzZSgiWzksMTAsMTEsMTIsMTMsMzIsMTI3LDE2MCwxNzMsODQ3LDE1NjQsNDQ0Nyw0NDQ4LDYwNjgsNjA2OSw2MTU1LDYxNTYsNjE1Nyw2MTU4LDczNTUsNzM1Niw4MTkyLDgxOTMsODE5NCw4MTk1LDgxOTYsODE5Nyw4MTk4LDgxOTksODIwMCw4MjAxLDgyMDIsODIwMyw4MjA0LDgyMDUsODIwNiw4MjA3LDgyMzQsODIzNSw4MjM2LDgyMzcsODIzOCw4MjM5LDgyODcsODI4OCw4Mjg5LDgyOTAsODI5MSw4MjkyLDgyOTMsODI5NCw4Mjk1LDgyOTYsODI5Nyw4Mjk4LDgyOTksODMwMCw4MzAxLDgzMDIsODMwMywxMDI0MCwxMjI4OCwxMjY0NCw2NTAyNCw2NTAyNSw2NTAyNiw2NTAyNyw2NTAyOCw2NTAyOSw2NTAzMCw2NTAzMSw2NTAzMiw2NTAzMyw2NTAzNCw2NTAzNSw2NTAzNiw2NTAzNyw2NTAzOCw2NTAzOSw2NTI3OSw2NTQ0MCw2NTUyMCw2NTUyMSw2NTUyMiw2NTUyMyw2NTUyNCw2NTUyNSw2NTUyNiw2NTUyNyw2NTUyOCw2NTUzMiw3ODg0NCwxMTkxNTUsMTE5MTU2LDExOTE1NywxMTkxNTgsMTE5MTU5LDExOTE2MCwxMTkxNjEsMTE5MTYyLDkxNzUwNCw5MTc1MDUsOTE3NTA2LDkxNzUwNyw5MTc1MDgsOTE3NTA5LDkxNzUxMCw5MTc1MTEsOTE3NTEyLDkxNzUxMyw5MTc1MTQsOTE3NTE1LDkxNzUxNiw5MTc1MTcsOTE3NTE4LDkxNzUxOSw5MTc1MjAsOTE3NTIxLDkxNzUyMiw5MTc1MjMsOTE3NTI0LDkxNzUyNSw5MTc1MjYsOTE3NTI3LDkxNzUyOCw5MTc1MjksOTE3NTMwLDkxNzUzMSw5MTc1MzIsOTE3NTMzLDkxNzUzNCw5MTc1MzUsOTE3NTM2LDkxNzUzNyw5MTc1MzgsOTE3NTM5LDkxNzU0MCw5MTc1NDEsOTE3NTQyLDkxNzU0Myw5MTc1NDQsOTE3NTQ1LDkxNzU0Niw5MTc1NDcsOTE3NTQ4LDkxNzU0OSw5MTc1NTAsOTE3NTUxLDkxNzU1Miw5MTc1NTMsOTE3NTU0LDkxNzU1NSw5MTc1NTYsOTE3NTU3LDkxNzU1OCw5MTc1NTksOTE3NTYwLDkxNzU2MSw5MTc1NjIsOTE3NTYzLDkxNzU2NCw5MTc1NjUsOTE3NTY2LDkxNzU2Nyw5MTc1NjgsOTE3NTY5LDkxNzU3MCw5MTc1NzEsOTE3NTcyLDkxNzU3Myw5MTc1NzQsOTE3NTc1LDkxNzU3Niw5MTc1NzcsOTE3NTc4LDkxNzU3OSw5MTc1ODAsOTE3NTgxLDkxNzU4Miw5MTc1ODMsOTE3NTg0LDkxNzU4NSw5MTc1ODYsOTE3NTg3LDkxNzU4OCw5MTc1ODksOTE3NTkwLDkxNzU5MSw5MTc1OTIsOTE3NTkzLDkxNzU5NCw5MTc1OTUsOTE3NTk2LDkxNzU5Nyw5MTc1OTgsOTE3NTk5LDkxNzYwMCw5MTc2MDEsOTE3NjAyLDkxNzYwMyw5MTc2MDQsOTE3NjA1LDkxNzYwNiw5MTc2MDcsOTE3NjA4LDkxNzYwOSw5MTc2MTAsOTE3NjExLDkxNzYxMiw5MTc2MTMsOTE3NjE0LDkxNzYxNSw5MTc2MTYsOTE3NjE3LDkxNzYxOCw5MTc2MTksOTE3NjIwLDkxNzYyMSw5MTc2MjIsOTE3NjIzLDkxNzYyNCw5MTc2MjUsOTE3NjI2LDkxNzYyNyw5MTc2MjgsOTE3NjI5LDkxNzYzMCw5MTc2MzEsOTE3NzYwLDkxNzc2MSw5MTc3NjIsOTE3NzYzLDkxNzc2NCw5MTc3NjUsOTE3NzY2LDkxNzc2Nyw5MTc3NjgsOTE3NzY5LDkxNzc3MCw5MTc3NzEsOTE3NzcyLDkxNzc3Myw5MTc3NzQsOTE3Nzc1LDkxNzc3Niw5MTc3NzcsOTE3Nzc4LDkxNzc3OSw5MTc3ODAsOTE3NzgxLDkxNzc4Miw5MTc3ODMsOTE3Nzg0LDkxNzc4NSw5MTc3ODYsOTE3Nzg3LDkxNzc4OCw5MTc3ODksOTE3NzkwLDkxNzc5MSw5MTc3OTIsOTE3NzkzLDkxNzc5NCw5MTc3OTUsOTE3Nzk2LDkxNzc5Nyw5MTc3OTgsOTE3Nzk5LDkxNzgwMCw5MTc4MDEsOTE3ODAyLDkxNzgwMyw5MTc4MDQsOTE3ODA1LDkxNzgwNiw5MTc4MDcsOTE3ODA4LDkxNzgwOSw5MTc4MTAsOTE3ODExLDkxNzgxMiw5MTc4MTMsOTE3ODE0LDkxNzgxNSw5MTc4MTYsOTE3ODE3LDkxNzgxOCw5MTc4MTksOTE3ODIwLDkxNzgyMSw5MTc4MjIsOTE3ODIzLDkxNzgyNCw5MTc4MjUsOTE3ODI2LDkxNzgyNyw5MTc4MjgsOTE3ODI5LDkxNzgzMCw5MTc4MzEsOTE3ODMyLDkxNzgzMyw5MTc4MzQsOTE3ODM1LDkxNzgzNiw5MTc4MzcsOTE3ODM4LDkxNzgzOSw5MTc4NDAsOTE3ODQxLDkxNzg0Miw5MTc4NDMsOTE3ODQ0LDkxNzg0NSw5MTc4NDYsOTE3ODQ3LDkxNzg0OCw5MTc4NDksOTE3ODUwLDkxNzg1MSw5MTc4NTIsOTE3ODUzLDkxNzg1NCw5MTc4NTUsOTE3ODU2LDkxNzg1Nyw5MTc4NTgsOTE3ODU5LDkxNzg2MCw5MTc4NjEsOTE3ODYyLDkxNzg2Myw5MTc4NjQsOTE3ODY1LDkxNzg2Niw5MTc4NjcsOTE3ODY4LDkxNzg2OSw5MTc4NzAsOTE3ODcxLDkxNzg3Miw5MTc4NzMsOTE3ODc0LDkxNzg3NSw5MTc4NzYsOTE3ODc3LDkxNzg3OCw5MTc4NzksOTE3ODgwLDkxNzg4MSw5MTc4ODIsOTE3ODgzLDkxNzg4NCw5MTc4ODUsOTE3ODg2LDkxNzg4Nyw5MTc4ODgsOTE3ODg5LDkxNzg5MCw5MTc4OTEsOTE3ODkyLDkxNzg5Myw5MTc4OTQsOTE3ODk1LDkxNzg5Niw5MTc4OTcsOTE3ODk4LDkxNzg5OSw5MTc5MDAsOTE3OTAxLDkxNzkwMiw5MTc5MDMsOTE3OTA0LDkxNzkwNSw5MTc5MDYsOTE3OTA3LDkxNzkwOCw5MTc5MDksOTE3OTEwLDkxNzkxMSw5MTc5MTIsOTE3OTEzLDkxNzkxNCw5MTc5MTUsOTE3OTE2LDkxNzkxNyw5MTc5MTgsOTE3OTE5LDkxNzkyMCw5MTc5MjEsOTE3OTIyLDkxNzkyMyw5MTc5MjQsOTE3OTI1LDkxNzkyNiw5MTc5MjcsOTE3OTI4LDkxNzkyOSw5MTc5MzAsOTE3OTMxLDkxNzkzMiw5MTc5MzMsOTE3OTM0LDkxNzkzNSw5MTc5MzYsOTE3OTM3LDkxNzkzOCw5MTc5MzksOTE3OTQwLDkxNzk0MSw5MTc5NDIsOTE3OTQzLDkxNzk0NCw5MTc5NDUsOTE3OTQ2LDkxNzk0Nyw5MTc5NDgsOTE3OTQ5LDkxNzk1MCw5MTc5NTEsOTE3OTUyLDkxNzk1Myw5MTc5NTQsOTE3OTU1LDkxNzk1Niw5MTc5NTcsOTE3OTU4LDkxNzk1OSw5MTc5NjAsOTE3OTYxLDkxNzk2Miw5MTc5NjMsOTE3OTY0LDkxNzk2NSw5MTc5NjYsOTE3OTY3LDkxNzk2OCw5MTc5NjksOTE3OTcwLDkxNzk3MSw5MTc5NzIsOTE3OTczLDkxNzk3NCw5MTc5NzUsOTE3OTc2LDkxNzk3Nyw5MTc5NzgsOTE3OTc5LDkxNzk4MCw5MTc5ODEsOTE3OTgyLDkxNzk4Myw5MTc5ODQsOTE3OTg1LDkxNzk4Niw5MTc5ODcsOTE3OTg4LDkxNzk4OSw5MTc5OTAsOTE3OTkxLDkxNzk5Miw5MTc5OTMsOTE3OTk0LDkxNzk5NSw5MTc5OTYsOTE3OTk3LDkxNzk5OCw5MTc5OTldIil9c3RhdGljIGdldERhdGEoKXtyZXR1cm4gdGhpcy5fZGF0YXx8KHRoaXMuX2RhdGE9bmV3IFNldChIZS5nZXRSYXdEYXRhKCkpKSx0aGlzLl9kYXRhfXN0YXRpYyBpc0ludmlzaWJsZUNoYXJhY3Rlcih0KXtyZXR1cm4gSGUuZ2V0RGF0YSgpLmhhcyh0KX1zdGF0aWMgZ2V0IGNvZGVQb2ludHMoKXtyZXR1cm4gSGUuZ2V0RGF0YSgpfX1IZS5fZGF0YT12b2lkIDA7Y29uc3QgZm89IiRpbml0aWFsaXplIjtjbGFzcyBob3tjb25zdHJ1Y3Rvcih0LG4scixpKXt0aGlzLnZzV29ya2VyPXQsdGhpcy5yZXE9bix0aGlzLm1ldGhvZD1yLHRoaXMuYXJncz1pLHRoaXMudHlwZT0wfX1jbGFzcyBCcntjb25zdHJ1Y3Rvcih0LG4scixpKXt0aGlzLnZzV29ya2VyPXQsdGhpcy5zZXE9bix0aGlzLnJlcz1yLHRoaXMuZXJyPWksdGhpcy50eXBlPTF9fWNsYXNzIGdve2NvbnN0cnVjdG9yKHQsbixyLGkpe3RoaXMudnNXb3JrZXI9dCx0aGlzLnJlcT1uLHRoaXMuZXZlbnROYW1lPXIsdGhpcy5hcmc9aSx0aGlzLnR5cGU9Mn19Y2xhc3MgbW97Y29uc3RydWN0b3IodCxuLHIpe3RoaXMudnNXb3JrZXI9dCx0aGlzLnJlcT1uLHRoaXMuZXZlbnQ9cix0aGlzLnR5cGU9M319Y2xhc3MgcG97Y29uc3RydWN0b3IodCxuKXt0aGlzLnZzV29ya2VyPXQsdGhpcy5yZXE9bix0aGlzLnR5cGU9NH19Y2xhc3Mgdm97Y29uc3RydWN0b3IodCl7dGhpcy5fd29ya2VySWQ9LTEsdGhpcy5faGFuZGxlcj10LHRoaXMuX2xhc3RTZW50UmVxPTAsdGhpcy5fcGVuZGluZ1JlcGxpZXM9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLl9wZW5kaW5nRW1pdHRlcnM9bmV3IE1hcCx0aGlzLl9wZW5kaW5nRXZlbnRzPW5ldyBNYXB9c2V0V29ya2VySWQodCl7dGhpcy5fd29ya2VySWQ9dH1zZW5kTWVzc2FnZSh0LG4pe2NvbnN0IHI9U3RyaW5nKCsrdGhpcy5fbGFzdFNlbnRSZXEpO3JldHVybiBuZXcgUHJvbWlzZSgoaSxzKT0+e3RoaXMuX3BlbmRpbmdSZXBsaWVzW3JdPXtyZXNvbHZlOmkscmVqZWN0OnN9LHRoaXMuX3NlbmQobmV3IGhvKHRoaXMuX3dvcmtlcklkLHIsdCxuKSl9KX1saXN0ZW4odCxuKXtsZXQgcj1udWxsO2NvbnN0IGk9bmV3IEFlKHtvbldpbGxBZGRGaXJzdExpc3RlbmVyOigpPT57cj1TdHJpbmcoKyt0aGlzLl9sYXN0U2VudFJlcSksdGhpcy5fcGVuZGluZ0VtaXR0ZXJzLnNldChyLGkpLHRoaXMuX3NlbmQobmV3IGdvKHRoaXMuX3dvcmtlcklkLHIsdCxuKSl9LG9uRGlkUmVtb3ZlTGFzdExpc3RlbmVyOigpPT57dGhpcy5fcGVuZGluZ0VtaXR0ZXJzLmRlbGV0ZShyKSx0aGlzLl9zZW5kKG5ldyBwbyh0aGlzLl93b3JrZXJJZCxyKSkscj1udWxsfX0pO3JldHVybiBpLmV2ZW50fWhhbmRsZU1lc3NhZ2UodCl7IXR8fCF0LnZzV29ya2VyfHx0aGlzLl93b3JrZXJJZCE9PS0xJiZ0LnZzV29ya2VyIT09dGhpcy5fd29ya2VySWR8fHRoaXMuX2hhbmRsZU1lc3NhZ2UodCl9X2hhbmRsZU1lc3NhZ2UodCl7c3dpdGNoKHQudHlwZSl7Y2FzZSAxOnJldHVybiB0aGlzLl9oYW5kbGVSZXBseU1lc3NhZ2UodCk7Y2FzZSAwOnJldHVybiB0aGlzLl9oYW5kbGVSZXF1ZXN0TWVzc2FnZSh0KTtjYXNlIDI6cmV0dXJuIHRoaXMuX2hhbmRsZVN1YnNjcmliZUV2ZW50TWVzc2FnZSh0KTtjYXNlIDM6cmV0dXJuIHRoaXMuX2hhbmRsZUV2ZW50TWVzc2FnZSh0KTtjYXNlIDQ6cmV0dXJuIHRoaXMuX2hhbmRsZVVuc3Vic2NyaWJlRXZlbnRNZXNzYWdlKHQpfX1faGFuZGxlUmVwbHlNZXNzYWdlKHQpe2lmKCF0aGlzLl9wZW5kaW5nUmVwbGllc1t0LnNlcV0pcmV0dXJuO2NvbnN0IG49dGhpcy5fcGVuZGluZ1JlcGxpZXNbdC5zZXFdO2lmKGRlbGV0ZSB0aGlzLl9wZW5kaW5nUmVwbGllc1t0LnNlcV0sdC5lcnIpe2xldCByPXQuZXJyO3QuZXJyLiRpc0Vycm9yJiYocj1uZXcgRXJyb3Isci5uYW1lPXQuZXJyLm5hbWUsci5tZXNzYWdlPXQuZXJyLm1lc3NhZ2Usci5zdGFjaz10LmVyci5zdGFjayksbi5yZWplY3Qocik7cmV0dXJufW4ucmVzb2x2ZSh0LnJlcyl9X2hhbmRsZVJlcXVlc3RNZXNzYWdlKHQpe2NvbnN0IG49dC5yZXE7dGhpcy5faGFuZGxlci5oYW5kbGVNZXNzYWdlKHQubWV0aG9kLHQuYXJncykudGhlbihpPT57dGhpcy5fc2VuZChuZXcgQnIodGhpcy5fd29ya2VySWQsbixpLHZvaWQgMCkpfSxpPT57aS5kZXRhaWwgaW5zdGFuY2VvZiBFcnJvciYmKGkuZGV0YWlsPVZyKGkuZGV0YWlsKSksdGhpcy5fc2VuZChuZXcgQnIodGhpcy5fd29ya2VySWQsbix2b2lkIDAsVnIoaSkpKX0pfV9oYW5kbGVTdWJzY3JpYmVFdmVudE1lc3NhZ2UodCl7Y29uc3Qgbj10LnJlcSxyPXRoaXMuX2hhbmRsZXIuaGFuZGxlRXZlbnQodC5ldmVudE5hbWUsdC5hcmcpKGk9Pnt0aGlzLl9zZW5kKG5ldyBtbyh0aGlzLl93b3JrZXJJZCxuLGkpKX0pO3RoaXMuX3BlbmRpbmdFdmVudHMuc2V0KG4scil9X2hhbmRsZUV2ZW50TWVzc2FnZSh0KXt0aGlzLl9wZW5kaW5nRW1pdHRlcnMuaGFzKHQucmVxKSYmdGhpcy5fcGVuZGluZ0VtaXR0ZXJzLmdldCh0LnJlcSkuZmlyZSh0LmV2ZW50KX1faGFuZGxlVW5zdWJzY3JpYmVFdmVudE1lc3NhZ2UodCl7dGhpcy5fcGVuZGluZ0V2ZW50cy5oYXModC5yZXEpJiYodGhpcy5fcGVuZGluZ0V2ZW50cy5nZXQodC5yZXEpLmRpc3Bvc2UoKSx0aGlzLl9wZW5kaW5nRXZlbnRzLmRlbGV0ZSh0LnJlcSkpfV9zZW5kKHQpe2NvbnN0IG49W107aWYodC50eXBlPT09MClmb3IobGV0IHI9MDtyPHQuYXJncy5sZW5ndGg7cisrKXQuYXJnc1tyXWluc3RhbmNlb2YgQXJyYXlCdWZmZXImJm4ucHVzaCh0LmFyZ3Nbcl0pO2Vsc2UgdC50eXBlPT09MSYmdC5yZXMgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmbi5wdXNoKHQucmVzKTt0aGlzLl9oYW5kbGVyLnNlbmRNZXNzYWdlKHQsbil9fWZ1bmN0aW9uICRyKGUpe3JldHVybiBlWzBdPT09Im8iJiZlWzFdPT09Im4iJiZxcihlLmNoYXJDb2RlQXQoMikpfWZ1bmN0aW9uIFdyKGUpe3JldHVybi9eb25EeW5hbWljLy50ZXN0KGUpJiZxcihlLmNoYXJDb2RlQXQoOSkpfWZ1bmN0aW9uIGJvKGUsdCxuKXtjb25zdCByPWE9PmZ1bmN0aW9uKCl7Y29uc3Qgbz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMCk7cmV0dXJuIHQoYSxvKX0saT1hPT5mdW5jdGlvbihvKXtyZXR1cm4gbihhLG8pfSxzPXt9O2Zvcihjb25zdCBhIG9mIGUpe2lmKFdyKGEpKXtzW2FdPWkoYSk7Y29udGludWV9aWYoJHIoYSkpe3NbYV09bihhLHZvaWQgMCk7Y29udGludWV9c1thXT1yKGEpfXJldHVybiBzfWNsYXNzIHhve2NvbnN0cnVjdG9yKHQsbil7dGhpcy5fcmVxdWVzdEhhbmRsZXJGYWN0b3J5PW4sdGhpcy5fcmVxdWVzdEhhbmRsZXI9bnVsbCx0aGlzLl9wcm90b2NvbD1uZXcgdm8oe3NlbmRNZXNzYWdlOihyLGkpPT57dChyLGkpfSxoYW5kbGVNZXNzYWdlOihyLGkpPT50aGlzLl9oYW5kbGVNZXNzYWdlKHIsaSksaGFuZGxlRXZlbnQ6KHIsaSk9PnRoaXMuX2hhbmRsZUV2ZW50KHIsaSl9KX1vbm1lc3NhZ2UodCl7dGhpcy5fcHJvdG9jb2wuaGFuZGxlTWVzc2FnZSh0KX1faGFuZGxlTWVzc2FnZSh0LG4pe2lmKHQ9PT1mbylyZXR1cm4gdGhpcy5pbml0aWFsaXplKG5bMF0sblsxXSxuWzJdLG5bM10pO2lmKCF0aGlzLl9yZXF1ZXN0SGFuZGxlcnx8dHlwZW9mIHRoaXMuX3JlcXVlc3RIYW5kbGVyW3RdIT0iZnVuY3Rpb24iKXJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoIk1pc3NpbmcgcmVxdWVzdEhhbmRsZXIgb3IgbWV0aG9kOiAiK3QpKTt0cnl7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl9yZXF1ZXN0SGFuZGxlclt0XS5hcHBseSh0aGlzLl9yZXF1ZXN0SGFuZGxlcixuKSl9Y2F0Y2gocil7cmV0dXJuIFByb21pc2UucmVqZWN0KHIpfX1faGFuZGxlRXZlbnQodCxuKXtpZighdGhpcy5fcmVxdWVzdEhhbmRsZXIpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIHJlcXVlc3RIYW5kbGVyIik7aWYoV3IodCkpe2NvbnN0IHI9dGhpcy5fcmVxdWVzdEhhbmRsZXJbdF0uY2FsbCh0aGlzLl9yZXF1ZXN0SGFuZGxlcixuKTtpZih0eXBlb2YgciE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgZHluYW1pYyBldmVudCAke3R9IG9uIHJlcXVlc3QgaGFuZGxlci5gKTtyZXR1cm4gcn1pZigkcih0KSl7Y29uc3Qgcj10aGlzLl9yZXF1ZXN0SGFuZGxlclt0XTtpZih0eXBlb2YgciE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgZXZlbnQgJHt0fSBvbiByZXF1ZXN0IGhhbmRsZXIuYCk7cmV0dXJuIHJ9dGhyb3cgbmV3IEVycm9yKGBNYWxmb3JtZWQgZXZlbnQgbmFtZSAke3R9YCl9aW5pdGlhbGl6ZSh0LG4scixpKXt0aGlzLl9wcm90b2NvbC5zZXRXb3JrZXJJZCh0KTtjb25zdCBvPWJvKGksKGwsdSk9PnRoaXMuX3Byb3RvY29sLnNlbmRNZXNzYWdlKGwsdSksKGwsdSk9PnRoaXMuX3Byb3RvY29sLmxpc3RlbihsLHUpKTtyZXR1cm4gdGhpcy5fcmVxdWVzdEhhbmRsZXJGYWN0b3J5Pyh0aGlzLl9yZXF1ZXN0SGFuZGxlcj10aGlzLl9yZXF1ZXN0SGFuZGxlckZhY3RvcnkobyksUHJvbWlzZS5yZXNvbHZlKFRuKHRoaXMuX3JlcXVlc3RIYW5kbGVyKSkpOihuJiYodHlwZW9mIG4uYmFzZVVybDwidSImJmRlbGV0ZSBuLmJhc2VVcmwsdHlwZW9mIG4ucGF0aHM8InUiJiZ0eXBlb2Ygbi5wYXRocy52czwidSImJmRlbGV0ZSBuLnBhdGhzLnZzLHR5cGVvZiBuLnRydXN0ZWRUeXBlc1BvbGljeTwidSImJmRlbGV0ZSBuLnRydXN0ZWRUeXBlc1BvbGljeSxuLmNhdGNoRXJyb3I9ITAsZ2xvYmFsVGhpcy5yZXF1aXJlLmNvbmZpZyhuKSksbmV3IFByb21pc2UoKGwsdSk9Pntjb25zdCBmPWdsb2JhbFRoaXMucmVxdWlyZTtmKFtyXSxoPT57aWYodGhpcy5fcmVxdWVzdEhhbmRsZXI9aC5jcmVhdGUobyksIXRoaXMuX3JlcXVlc3RIYW5kbGVyKXt1KG5ldyBFcnJvcigiTm8gUmVxdWVzdEhhbmRsZXIhIikpO3JldHVybn1sKFRuKHRoaXMuX3JlcXVlc3RIYW5kbGVyKSl9LHUpfSkpfX1jbGFzcyB6ZXtjb25zdHJ1Y3Rvcih0LG4scixpKXt0aGlzLm9yaWdpbmFsU3RhcnQ9dCx0aGlzLm9yaWdpbmFsTGVuZ3RoPW4sdGhpcy5tb2RpZmllZFN0YXJ0PXIsdGhpcy5tb2RpZmllZExlbmd0aD1pfWdldE9yaWdpbmFsRW5kKCl7cmV0dXJuIHRoaXMub3JpZ2luYWxTdGFydCt0aGlzLm9yaWdpbmFsTGVuZ3RofWdldE1vZGlmaWVkRW5kKCl7cmV0dXJuIHRoaXMubW9kaWZpZWRTdGFydCt0aGlzLm1vZGlmaWVkTGVuZ3RofX1mdW5jdGlvbiBIcihlLHQpe3JldHVybih0PDw1KS10K2V8MH1mdW5jdGlvbiB5byhlLHQpe3Q9SHIoMTQ5NDE3LHQpO2ZvcihsZXQgbj0wLHI9ZS5sZW5ndGg7bjxyO24rKyl0PUhyKGUuY2hhckNvZGVBdChuKSx0KTtyZXR1cm4gdH1jbGFzcyB6cntjb25zdHJ1Y3Rvcih0KXt0aGlzLnNvdXJjZT10fWdldEVsZW1lbnRzKCl7Y29uc3QgdD10aGlzLnNvdXJjZSxuPW5ldyBJbnQzMkFycmF5KHQubGVuZ3RoKTtmb3IobGV0IHI9MCxpPXQubGVuZ3RoO3I8aTtyKyspbltyXT10LmNoYXJDb2RlQXQocik7cmV0dXJuIG59fWZ1bmN0aW9uIF9vKGUsdCxuKXtyZXR1cm4gbmV3IEdlKG5ldyB6cihlKSxuZXcgenIodCkpLkNvbXB1dGVEaWZmKG4pLmNoYW5nZXN9Y2xhc3MgZ3R7c3RhdGljIEFzc2VydCh0LG4pe2lmKCF0KXRocm93IG5ldyBFcnJvcihuKX19Y2xhc3MgbXR7c3RhdGljIENvcHkodCxuLHIsaSxzKXtmb3IobGV0IGE9MDthPHM7YSsrKXJbaSthXT10W24rYV19c3RhdGljIENvcHkyKHQsbixyLGkscyl7Zm9yKGxldCBhPTA7YTxzO2ErKylyW2krYV09dFtuK2FdfX1jbGFzcyBHcntjb25zdHJ1Y3Rvcigpe3RoaXMubV9jaGFuZ2VzPVtdLHRoaXMubV9vcmlnaW5hbFN0YXJ0PTEwNzM3NDE4MjQsdGhpcy5tX21vZGlmaWVkU3RhcnQ9MTA3Mzc0MTgyNCx0aGlzLm1fb3JpZ2luYWxDb3VudD0wLHRoaXMubV9tb2RpZmllZENvdW50PTB9TWFya05leHRDaGFuZ2UoKXsodGhpcy5tX29yaWdpbmFsQ291bnQ+MHx8dGhpcy5tX21vZGlmaWVkQ291bnQ+MCkmJnRoaXMubV9jaGFuZ2VzLnB1c2gobmV3IHplKHRoaXMubV9vcmlnaW5hbFN0YXJ0LHRoaXMubV9vcmlnaW5hbENvdW50LHRoaXMubV9tb2RpZmllZFN0YXJ0LHRoaXMubV9tb2RpZmllZENvdW50KSksdGhpcy5tX29yaWdpbmFsQ291bnQ9MCx0aGlzLm1fbW9kaWZpZWRDb3VudD0wLHRoaXMubV9vcmlnaW5hbFN0YXJ0PTEwNzM3NDE4MjQsdGhpcy5tX21vZGlmaWVkU3RhcnQ9MTA3Mzc0MTgyNH1BZGRPcmlnaW5hbEVsZW1lbnQodCxuKXt0aGlzLm1fb3JpZ2luYWxTdGFydD1NYXRoLm1pbih0aGlzLm1fb3JpZ2luYWxTdGFydCx0KSx0aGlzLm1fbW9kaWZpZWRTdGFydD1NYXRoLm1pbih0aGlzLm1fbW9kaWZpZWRTdGFydCxuKSx0aGlzLm1fb3JpZ2luYWxDb3VudCsrfUFkZE1vZGlmaWVkRWxlbWVudCh0LG4pe3RoaXMubV9vcmlnaW5hbFN0YXJ0PU1hdGgubWluKHRoaXMubV9vcmlnaW5hbFN0YXJ0LHQpLHRoaXMubV9tb2RpZmllZFN0YXJ0PU1hdGgubWluKHRoaXMubV9tb2RpZmllZFN0YXJ0LG4pLHRoaXMubV9tb2RpZmllZENvdW50Kyt9Z2V0Q2hhbmdlcygpe3JldHVybih0aGlzLm1fb3JpZ2luYWxDb3VudD4wfHx0aGlzLm1fbW9kaWZpZWRDb3VudD4wKSYmdGhpcy5NYXJrTmV4dENoYW5nZSgpLHRoaXMubV9jaGFuZ2VzfWdldFJldmVyc2VDaGFuZ2VzKCl7cmV0dXJuKHRoaXMubV9vcmlnaW5hbENvdW50PjB8fHRoaXMubV9tb2RpZmllZENvdW50PjApJiZ0aGlzLk1hcmtOZXh0Q2hhbmdlKCksdGhpcy5tX2NoYW5nZXMucmV2ZXJzZSgpLHRoaXMubV9jaGFuZ2VzfX1jbGFzcyBHZXtjb25zdHJ1Y3Rvcih0LG4scj1udWxsKXt0aGlzLkNvbnRpbnVlUHJvY2Vzc2luZ1ByZWRpY2F0ZT1yLHRoaXMuX29yaWdpbmFsU2VxdWVuY2U9dCx0aGlzLl9tb2RpZmllZFNlcXVlbmNlPW47Y29uc3RbaSxzLGFdPUdlLl9nZXRFbGVtZW50cyh0KSxbbyxsLHVdPUdlLl9nZXRFbGVtZW50cyhuKTt0aGlzLl9oYXNTdHJpbmdzPWEmJnUsdGhpcy5fb3JpZ2luYWxTdHJpbmdFbGVtZW50cz1pLHRoaXMuX29yaWdpbmFsRWxlbWVudHNPckhhc2g9cyx0aGlzLl9tb2RpZmllZFN0cmluZ0VsZW1lbnRzPW8sdGhpcy5fbW9kaWZpZWRFbGVtZW50c09ySGFzaD1sLHRoaXMubV9mb3J3YXJkSGlzdG9yeT1bXSx0aGlzLm1fcmV2ZXJzZUhpc3Rvcnk9W119c3RhdGljIF9pc1N0cmluZ0FycmF5KHQpe3JldHVybiB0Lmxlbmd0aD4wJiZ0eXBlb2YgdFswXT09InN0cmluZyJ9c3RhdGljIF9nZXRFbGVtZW50cyh0KXtjb25zdCBuPXQuZ2V0RWxlbWVudHMoKTtpZihHZS5faXNTdHJpbmdBcnJheShuKSl7Y29uc3Qgcj1uZXcgSW50MzJBcnJheShuLmxlbmd0aCk7Zm9yKGxldCBpPTAscz1uLmxlbmd0aDtpPHM7aSsrKXJbaV09eW8obltpXSwwKTtyZXR1cm5bbixyLCEwXX1yZXR1cm4gbiBpbnN0YW5jZW9mIEludDMyQXJyYXk/W1tdLG4sITFdOltbXSxuZXcgSW50MzJBcnJheShuKSwhMV19RWxlbWVudHNBcmVFcXVhbCh0LG4pe3JldHVybiB0aGlzLl9vcmlnaW5hbEVsZW1lbnRzT3JIYXNoW3RdIT09dGhpcy5fbW9kaWZpZWRFbGVtZW50c09ySGFzaFtuXT8hMTp0aGlzLl9oYXNTdHJpbmdzP3RoaXMuX29yaWdpbmFsU3RyaW5nRWxlbWVudHNbdF09PT10aGlzLl9tb2RpZmllZFN0cmluZ0VsZW1lbnRzW25dOiEwfUVsZW1lbnRzQXJlU3RyaWN0RXF1YWwodCxuKXtpZighdGhpcy5FbGVtZW50c0FyZUVxdWFsKHQsbikpcmV0dXJuITE7Y29uc3Qgcj1HZS5fZ2V0U3RyaWN0RWxlbWVudCh0aGlzLl9vcmlnaW5hbFNlcXVlbmNlLHQpLGk9R2UuX2dldFN0cmljdEVsZW1lbnQodGhpcy5fbW9kaWZpZWRTZXF1ZW5jZSxuKTtyZXR1cm4gcj09PWl9c3RhdGljIF9nZXRTdHJpY3RFbGVtZW50KHQsbil7cmV0dXJuIHR5cGVvZiB0LmdldFN0cmljdEVsZW1lbnQ9PSJmdW5jdGlvbiI/dC5nZXRTdHJpY3RFbGVtZW50KG4pOm51bGx9T3JpZ2luYWxFbGVtZW50c0FyZUVxdWFsKHQsbil7cmV0dXJuIHRoaXMuX29yaWdpbmFsRWxlbWVudHNPckhhc2hbdF0hPT10aGlzLl9vcmlnaW5hbEVsZW1lbnRzT3JIYXNoW25dPyExOnRoaXMuX2hhc1N0cmluZ3M/dGhpcy5fb3JpZ2luYWxTdHJpbmdFbGVtZW50c1t0XT09PXRoaXMuX29yaWdpbmFsU3RyaW5nRWxlbWVudHNbbl06ITB9TW9kaWZpZWRFbGVtZW50c0FyZUVxdWFsKHQsbil7cmV0dXJuIHRoaXMuX21vZGlmaWVkRWxlbWVudHNPckhhc2hbdF0hPT10aGlzLl9tb2RpZmllZEVsZW1lbnRzT3JIYXNoW25dPyExOnRoaXMuX2hhc1N0cmluZ3M/dGhpcy5fbW9kaWZpZWRTdHJpbmdFbGVtZW50c1t0XT09PXRoaXMuX21vZGlmaWVkU3RyaW5nRWxlbWVudHNbbl06ITB9Q29tcHV0ZURpZmYodCl7cmV0dXJuIHRoaXMuX0NvbXB1dGVEaWZmKDAsdGhpcy5fb3JpZ2luYWxFbGVtZW50c09ySGFzaC5sZW5ndGgtMSwwLHRoaXMuX21vZGlmaWVkRWxlbWVudHNPckhhc2gubGVuZ3RoLTEsdCl9X0NvbXB1dGVEaWZmKHQsbixyLGkscyl7Y29uc3QgYT1bITFdO2xldCBvPXRoaXMuQ29tcHV0ZURpZmZSZWN1cnNpdmUodCxuLHIsaSxhKTtyZXR1cm4gcyYmKG89dGhpcy5QcmV0dGlmeUNoYW5nZXMobykpLHtxdWl0RWFybHk6YVswXSxjaGFuZ2VzOm99fUNvbXB1dGVEaWZmUmVjdXJzaXZlKHQsbixyLGkscyl7Zm9yKHNbMF09ITE7dDw9biYmcjw9aSYmdGhpcy5FbGVtZW50c0FyZUVxdWFsKHQscik7KXQrKyxyKys7Zm9yKDtuPj10JiZpPj1yJiZ0aGlzLkVsZW1lbnRzQXJlRXF1YWwobixpKTspbi0tLGktLTtpZih0Pm58fHI+aSl7bGV0IGg7cmV0dXJuIHI8PWk/KGd0LkFzc2VydCh0PT09bisxLCJvcmlnaW5hbFN0YXJ0IHNob3VsZCBvbmx5IGJlIG9uZSBtb3JlIHRoYW4gb3JpZ2luYWxFbmQiKSxoPVtuZXcgemUodCwwLHIsaS1yKzEpXSk6dDw9bj8oZ3QuQXNzZXJ0KHI9PT1pKzEsIm1vZGlmaWVkU3RhcnQgc2hvdWxkIG9ubHkgYmUgb25lIG1vcmUgdGhhbiBtb2RpZmllZEVuZCIpLGg9W25ldyB6ZSh0LG4tdCsxLHIsMCldKTooZ3QuQXNzZXJ0KHQ9PT1uKzEsIm9yaWdpbmFsU3RhcnQgc2hvdWxkIG9ubHkgYmUgb25lIG1vcmUgdGhhbiBvcmlnaW5hbEVuZCIpLGd0LkFzc2VydChyPT09aSsxLCJtb2RpZmllZFN0YXJ0IHNob3VsZCBvbmx5IGJlIG9uZSBtb3JlIHRoYW4gbW9kaWZpZWRFbmQiKSxoPVtdKSxofWNvbnN0IGE9WzBdLG89WzBdLGw9dGhpcy5Db21wdXRlUmVjdXJzaW9uUG9pbnQodCxuLHIsaSxhLG8scyksdT1hWzBdLGY9b1swXTtpZihsIT09bnVsbClyZXR1cm4gbDtpZighc1swXSl7Y29uc3QgaD10aGlzLkNvbXB1dGVEaWZmUmVjdXJzaXZlKHQsdSxyLGYscyk7bGV0IGQ9W107cmV0dXJuIHNbMF0/ZD1bbmV3IHplKHUrMSxuLSh1KzEpKzEsZisxLGktKGYrMSkrMSldOmQ9dGhpcy5Db21wdXRlRGlmZlJlY3Vyc2l2ZSh1KzEsbixmKzEsaSxzKSx0aGlzLkNvbmNhdGVuYXRlQ2hhbmdlcyhoLGQpfXJldHVybltuZXcgemUodCxuLXQrMSxyLGktcisxKV19V0FMS1RSQUNFKHQsbixyLGkscyxhLG8sbCx1LGYsaCxkLGcsbSx2LHAseCx5KXtsZXQgYj1udWxsLEw9bnVsbCxTPW5ldyBHcix3PW4sTj1yLEE9Z1swXS1wWzBdLWksUj0tMTA3Mzc0MTgyNCxJPXRoaXMubV9mb3J3YXJkSGlzdG9yeS5sZW5ndGgtMTtkb3tjb25zdCBDPUErdDtDPT09d3x8QzxOJiZ1W0MtMV08dVtDKzFdPyhoPXVbQysxXSxtPWgtQS1pLGg8UiYmUy5NYXJrTmV4dENoYW5nZSgpLFI9aCxTLkFkZE1vZGlmaWVkRWxlbWVudChoKzEsbSksQT1DKzEtdCk6KGg9dVtDLTFdKzEsbT1oLUEtaSxoPFImJlMuTWFya05leHRDaGFuZ2UoKSxSPWgtMSxTLkFkZE9yaWdpbmFsRWxlbWVudChoLG0rMSksQT1DLTEtdCksST49MCYmKHU9dGhpcy5tX2ZvcndhcmRIaXN0b3J5W0ldLHQ9dVswXSx3PTEsTj11Lmxlbmd0aC0xKX13aGlsZSgtLUk+PS0xKTtpZihiPVMuZ2V0UmV2ZXJzZUNoYW5nZXMoKSx5WzBdKXtsZXQgQz1nWzBdKzEsXz1wWzBdKzE7aWYoYiE9PW51bGwmJmIubGVuZ3RoPjApe2NvbnN0IFQ9YltiLmxlbmd0aC0xXTtDPU1hdGgubWF4KEMsVC5nZXRPcmlnaW5hbEVuZCgpKSxfPU1hdGgubWF4KF8sVC5nZXRNb2RpZmllZEVuZCgpKX1MPVtuZXcgemUoQyxkLUMrMSxfLHYtXysxKV19ZWxzZXtTPW5ldyBHcix3PWEsTj1vLEE9Z1swXS1wWzBdLWwsUj0xMDczNzQxODI0LEk9eD90aGlzLm1fcmV2ZXJzZUhpc3RvcnkubGVuZ3RoLTE6dGhpcy5tX3JldmVyc2VIaXN0b3J5Lmxlbmd0aC0yO2Rve2NvbnN0IEM9QStzO0M9PT13fHxDPE4mJmZbQy0xXT49ZltDKzFdPyhoPWZbQysxXS0xLG09aC1BLWwsaD5SJiZTLk1hcmtOZXh0Q2hhbmdlKCksUj1oKzEsUy5BZGRPcmlnaW5hbEVsZW1lbnQoaCsxLG0rMSksQT1DKzEtcyk6KGg9ZltDLTFdLG09aC1BLWwsaD5SJiZTLk1hcmtOZXh0Q2hhbmdlKCksUj1oLFMuQWRkTW9kaWZpZWRFbGVtZW50KGgrMSxtKzEpLEE9Qy0xLXMpLEk+PTAmJihmPXRoaXMubV9yZXZlcnNlSGlzdG9yeVtJXSxzPWZbMF0sdz0xLE49Zi5sZW5ndGgtMSl9d2hpbGUoLS1JPj0tMSk7TD1TLmdldENoYW5nZXMoKX1yZXR1cm4gdGhpcy5Db25jYXRlbmF0ZUNoYW5nZXMoYixMKX1Db21wdXRlUmVjdXJzaW9uUG9pbnQodCxuLHIsaSxzLGEsbyl7bGV0IGw9MCx1PTAsZj0wLGg9MCxkPTAsZz0wO3QtLSxyLS0sc1swXT0wLGFbMF09MCx0aGlzLm1fZm9yd2FyZEhpc3Rvcnk9W10sdGhpcy5tX3JldmVyc2VIaXN0b3J5PVtdO2NvbnN0IG09bi10KyhpLXIpLHY9bSsxLHA9bmV3IEludDMyQXJyYXkodikseD1uZXcgSW50MzJBcnJheSh2KSx5PWktcixiPW4tdCxMPXQtcixTPW4taSxOPShiLXkpJTI9PT0wO3BbeV09dCx4W2JdPW4sb1swXT0hMTtmb3IobGV0IEE9MTtBPD1tLzIrMTtBKyspe2xldCBSPTAsST0wO2Y9dGhpcy5DbGlwRGlhZ29uYWxCb3VuZCh5LUEsQSx5LHYpLGg9dGhpcy5DbGlwRGlhZ29uYWxCb3VuZCh5K0EsQSx5LHYpO2ZvcihsZXQgXz1mO188PWg7Xys9Mil7Xz09PWZ8fF88aCYmcFtfLTFdPHBbXysxXT9sPXBbXysxXTpsPXBbXy0xXSsxLHU9bC0oXy15KS1MO2NvbnN0IFQ9bDtmb3IoO2w8biYmdTxpJiZ0aGlzLkVsZW1lbnRzQXJlRXF1YWwobCsxLHUrMSk7KWwrKyx1Kys7aWYocFtfXT1sLGwrdT5SK0kmJihSPWwsST11KSwhTiYmTWF0aC5hYnMoXy1iKTw9QS0xJiZsPj14W19dKXJldHVybiBzWzBdPWwsYVswXT11LFQ8PXhbX10mJkE8PTE0NDg/dGhpcy5XQUxLVFJBQ0UoeSxmLGgsTCxiLGQsZyxTLHAseCxsLG4scyx1LGksYSxOLG8pOm51bGx9Y29uc3QgQz0oUi10KyhJLXIpLUEpLzI7aWYodGhpcy5Db250aW51ZVByb2Nlc3NpbmdQcmVkaWNhdGUhPT1udWxsJiYhdGhpcy5Db250aW51ZVByb2Nlc3NpbmdQcmVkaWNhdGUoUixDKSlyZXR1cm4gb1swXT0hMCxzWzBdPVIsYVswXT1JLEM+MCYmQTw9MTQ0OD90aGlzLldBTEtUUkFDRSh5LGYsaCxMLGIsZCxnLFMscCx4LGwsbixzLHUsaSxhLE4sbyk6KHQrKyxyKyssW25ldyB6ZSh0LG4tdCsxLHIsaS1yKzEpXSk7ZD10aGlzLkNsaXBEaWFnb25hbEJvdW5kKGItQSxBLGIsdiksZz10aGlzLkNsaXBEaWFnb25hbEJvdW5kKGIrQSxBLGIsdik7Zm9yKGxldCBfPWQ7Xzw9ZztfKz0yKXtfPT09ZHx8XzxnJiZ4W18tMV0+PXhbXysxXT9sPXhbXysxXS0xOmw9eFtfLTFdLHU9bC0oXy1iKS1TO2NvbnN0IFQ9bDtmb3IoO2w+dCYmdT5yJiZ0aGlzLkVsZW1lbnRzQXJlRXF1YWwobCx1KTspbC0tLHUtLTtpZih4W19dPWwsTiYmTWF0aC5hYnMoXy15KTw9QSYmbDw9cFtfXSlyZXR1cm4gc1swXT1sLGFbMF09dSxUPj1wW19dJiZBPD0xNDQ4P3RoaXMuV0FMS1RSQUNFKHksZixoLEwsYixkLGcsUyxwLHgsbCxuLHMsdSxpLGEsTixvKTpudWxsfWlmKEE8PTE0NDcpe2xldCBfPW5ldyBJbnQzMkFycmF5KGgtZisyKTtfWzBdPXktZisxLG10LkNvcHkyKHAsZixfLDEsaC1mKzEpLHRoaXMubV9mb3J3YXJkSGlzdG9yeS5wdXNoKF8pLF89bmV3IEludDMyQXJyYXkoZy1kKzIpLF9bMF09Yi1kKzEsbXQuQ29weTIoeCxkLF8sMSxnLWQrMSksdGhpcy5tX3JldmVyc2VIaXN0b3J5LnB1c2goXyl9fXJldHVybiB0aGlzLldBTEtUUkFDRSh5LGYsaCxMLGIsZCxnLFMscCx4LGwsbixzLHUsaSxhLE4sbyl9UHJldHRpZnlDaGFuZ2VzKHQpe2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtjb25zdCByPXRbbl0saT1uPHQubGVuZ3RoLTE/dFtuKzFdLm9yaWdpbmFsU3RhcnQ6dGhpcy5fb3JpZ2luYWxFbGVtZW50c09ySGFzaC5sZW5ndGgscz1uPHQubGVuZ3RoLTE/dFtuKzFdLm1vZGlmaWVkU3RhcnQ6dGhpcy5fbW9kaWZpZWRFbGVtZW50c09ySGFzaC5sZW5ndGgsYT1yLm9yaWdpbmFsTGVuZ3RoPjAsbz1yLm1vZGlmaWVkTGVuZ3RoPjA7Zm9yKDtyLm9yaWdpbmFsU3RhcnQrci5vcmlnaW5hbExlbmd0aDxpJiZyLm1vZGlmaWVkU3RhcnQrci5tb2RpZmllZExlbmd0aDxzJiYoIWF8fHRoaXMuT3JpZ2luYWxFbGVtZW50c0FyZUVxdWFsKHIub3JpZ2luYWxTdGFydCxyLm9yaWdpbmFsU3RhcnQrci5vcmlnaW5hbExlbmd0aCkpJiYoIW98fHRoaXMuTW9kaWZpZWRFbGVtZW50c0FyZUVxdWFsKHIubW9kaWZpZWRTdGFydCxyLm1vZGlmaWVkU3RhcnQrci5tb2RpZmllZExlbmd0aCkpOyl7Y29uc3QgdT10aGlzLkVsZW1lbnRzQXJlU3RyaWN0RXF1YWwoci5vcmlnaW5hbFN0YXJ0LHIubW9kaWZpZWRTdGFydCk7aWYodGhpcy5FbGVtZW50c0FyZVN0cmljdEVxdWFsKHIub3JpZ2luYWxTdGFydCtyLm9yaWdpbmFsTGVuZ3RoLHIubW9kaWZpZWRTdGFydCtyLm1vZGlmaWVkTGVuZ3RoKSYmIXUpYnJlYWs7ci5vcmlnaW5hbFN0YXJ0Kyssci5tb2RpZmllZFN0YXJ0Kyt9Y29uc3QgbD1bbnVsbF07aWYobjx0Lmxlbmd0aC0xJiZ0aGlzLkNoYW5nZXNPdmVybGFwKHRbbl0sdFtuKzFdLGwpKXt0W25dPWxbMF0sdC5zcGxpY2UobisxLDEpLG4tLTtjb250aW51ZX19Zm9yKGxldCBuPXQubGVuZ3RoLTE7bj49MDtuLS0pe2NvbnN0IHI9dFtuXTtsZXQgaT0wLHM9MDtpZihuPjApe2NvbnN0IGg9dFtuLTFdO2k9aC5vcmlnaW5hbFN0YXJ0K2gub3JpZ2luYWxMZW5ndGgscz1oLm1vZGlmaWVkU3RhcnQraC5tb2RpZmllZExlbmd0aH1jb25zdCBhPXIub3JpZ2luYWxMZW5ndGg+MCxvPXIubW9kaWZpZWRMZW5ndGg+MDtsZXQgbD0wLHU9dGhpcy5fYm91bmRhcnlTY29yZShyLm9yaWdpbmFsU3RhcnQsci5vcmlnaW5hbExlbmd0aCxyLm1vZGlmaWVkU3RhcnQsci5tb2RpZmllZExlbmd0aCk7Zm9yKGxldCBoPTE7O2grKyl7Y29uc3QgZD1yLm9yaWdpbmFsU3RhcnQtaCxnPXIubW9kaWZpZWRTdGFydC1oO2lmKGQ8aXx8ZzxzfHxhJiYhdGhpcy5PcmlnaW5hbEVsZW1lbnRzQXJlRXF1YWwoZCxkK3Iub3JpZ2luYWxMZW5ndGgpfHxvJiYhdGhpcy5Nb2RpZmllZEVsZW1lbnRzQXJlRXF1YWwoZyxnK3IubW9kaWZpZWRMZW5ndGgpKWJyZWFrO2NvbnN0IHY9KGQ9PT1pJiZnPT09cz81OjApK3RoaXMuX2JvdW5kYXJ5U2NvcmUoZCxyLm9yaWdpbmFsTGVuZ3RoLGcsci5tb2RpZmllZExlbmd0aCk7dj51JiYodT12LGw9aCl9ci5vcmlnaW5hbFN0YXJ0LT1sLHIubW9kaWZpZWRTdGFydC09bDtjb25zdCBmPVtudWxsXTtpZihuPjAmJnRoaXMuQ2hhbmdlc092ZXJsYXAodFtuLTFdLHRbbl0sZikpe3Rbbi0xXT1mWzBdLHQuc3BsaWNlKG4sMSksbisrO2NvbnRpbnVlfX1pZih0aGlzLl9oYXNTdHJpbmdzKWZvcihsZXQgbj0xLHI9dC5sZW5ndGg7bjxyO24rKyl7Y29uc3QgaT10W24tMV0scz10W25dLGE9cy5vcmlnaW5hbFN0YXJ0LWkub3JpZ2luYWxTdGFydC1pLm9yaWdpbmFsTGVuZ3RoLG89aS5vcmlnaW5hbFN0YXJ0LGw9cy5vcmlnaW5hbFN0YXJ0K3Mub3JpZ2luYWxMZW5ndGgsdT1sLW8sZj1pLm1vZGlmaWVkU3RhcnQsaD1zLm1vZGlmaWVkU3RhcnQrcy5tb2RpZmllZExlbmd0aCxkPWgtZjtpZihhPDUmJnU8MjAmJmQ8MjApe2NvbnN0IGc9dGhpcy5fZmluZEJldHRlckNvbnRpZ3VvdXNTZXF1ZW5jZShvLHUsZixkLGEpO2lmKGcpe2NvbnN0W20sdl09ZzsobSE9PWkub3JpZ2luYWxTdGFydCtpLm9yaWdpbmFsTGVuZ3RofHx2IT09aS5tb2RpZmllZFN0YXJ0K2kubW9kaWZpZWRMZW5ndGgpJiYoaS5vcmlnaW5hbExlbmd0aD1tLWkub3JpZ2luYWxTdGFydCxpLm1vZGlmaWVkTGVuZ3RoPXYtaS5tb2RpZmllZFN0YXJ0LHMub3JpZ2luYWxTdGFydD1tK2Escy5tb2RpZmllZFN0YXJ0PXYrYSxzLm9yaWdpbmFsTGVuZ3RoPWwtcy5vcmlnaW5hbFN0YXJ0LHMubW9kaWZpZWRMZW5ndGg9aC1zLm1vZGlmaWVkU3RhcnQpfX19cmV0dXJuIHR9X2ZpbmRCZXR0ZXJDb250aWd1b3VzU2VxdWVuY2UodCxuLHIsaSxzKXtpZihuPHN8fGk8cylyZXR1cm4gbnVsbDtjb25zdCBhPXQrbi1zKzEsbz1yK2ktcysxO2xldCBsPTAsdT0wLGY9MDtmb3IobGV0IGg9dDtoPGE7aCsrKWZvcihsZXQgZD1yO2Q8bztkKyspe2NvbnN0IGc9dGhpcy5fY29udGlndW91c1NlcXVlbmNlU2NvcmUoaCxkLHMpO2c+MCYmZz5sJiYobD1nLHU9aCxmPWQpfXJldHVybiBsPjA/W3UsZl06bnVsbH1fY29udGlndW91c1NlcXVlbmNlU2NvcmUodCxuLHIpe2xldCBpPTA7Zm9yKGxldCBzPTA7czxyO3MrKyl7aWYoIXRoaXMuRWxlbWVudHNBcmVFcXVhbCh0K3MsbitzKSlyZXR1cm4gMDtpKz10aGlzLl9vcmlnaW5hbFN0cmluZ0VsZW1lbnRzW3Qrc10ubGVuZ3RofXJldHVybiBpfV9PcmlnaW5hbElzQm91bmRhcnkodCl7cmV0dXJuIHQ8PTB8fHQ+PXRoaXMuX29yaWdpbmFsRWxlbWVudHNPckhhc2gubGVuZ3RoLTE/ITA6dGhpcy5faGFzU3RyaW5ncyYmL15ccyokLy50ZXN0KHRoaXMuX29yaWdpbmFsU3RyaW5nRWxlbWVudHNbdF0pfV9PcmlnaW5hbFJlZ2lvbklzQm91bmRhcnkodCxuKXtpZih0aGlzLl9PcmlnaW5hbElzQm91bmRhcnkodCl8fHRoaXMuX09yaWdpbmFsSXNCb3VuZGFyeSh0LTEpKXJldHVybiEwO2lmKG4+MCl7Y29uc3Qgcj10K247aWYodGhpcy5fT3JpZ2luYWxJc0JvdW5kYXJ5KHItMSl8fHRoaXMuX09yaWdpbmFsSXNCb3VuZGFyeShyKSlyZXR1cm4hMH1yZXR1cm4hMX1fTW9kaWZpZWRJc0JvdW5kYXJ5KHQpe3JldHVybiB0PD0wfHx0Pj10aGlzLl9tb2RpZmllZEVsZW1lbnRzT3JIYXNoLmxlbmd0aC0xPyEwOnRoaXMuX2hhc1N0cmluZ3MmJi9eXHMqJC8udGVzdCh0aGlzLl9tb2RpZmllZFN0cmluZ0VsZW1lbnRzW3RdKX1fTW9kaWZpZWRSZWdpb25Jc0JvdW5kYXJ5KHQsbil7aWYodGhpcy5fTW9kaWZpZWRJc0JvdW5kYXJ5KHQpfHx0aGlzLl9Nb2RpZmllZElzQm91bmRhcnkodC0xKSlyZXR1cm4hMDtpZihuPjApe2NvbnN0IHI9dCtuO2lmKHRoaXMuX01vZGlmaWVkSXNCb3VuZGFyeShyLTEpfHx0aGlzLl9Nb2RpZmllZElzQm91bmRhcnkocikpcmV0dXJuITB9cmV0dXJuITF9X2JvdW5kYXJ5U2NvcmUodCxuLHIsaSl7Y29uc3Qgcz10aGlzLl9PcmlnaW5hbFJlZ2lvbklzQm91bmRhcnkodCxuKT8xOjAsYT10aGlzLl9Nb2RpZmllZFJlZ2lvbklzQm91bmRhcnkocixpKT8xOjA7cmV0dXJuIHMrYX1Db25jYXRlbmF0ZUNoYW5nZXModCxuKXtjb25zdCByPVtdO2lmKHQubGVuZ3RoPT09MHx8bi5sZW5ndGg9PT0wKXJldHVybiBuLmxlbmd0aD4wP246dDtpZih0aGlzLkNoYW5nZXNPdmVybGFwKHRbdC5sZW5ndGgtMV0sblswXSxyKSl7Y29uc3QgaT1uZXcgQXJyYXkodC5sZW5ndGgrbi5sZW5ndGgtMSk7cmV0dXJuIG10LkNvcHkodCwwLGksMCx0Lmxlbmd0aC0xKSxpW3QubGVuZ3RoLTFdPXJbMF0sbXQuQ29weShuLDEsaSx0Lmxlbmd0aCxuLmxlbmd0aC0xKSxpfWVsc2V7Y29uc3QgaT1uZXcgQXJyYXkodC5sZW5ndGgrbi5sZW5ndGgpO3JldHVybiBtdC5Db3B5KHQsMCxpLDAsdC5sZW5ndGgpLG10LkNvcHkobiwwLGksdC5sZW5ndGgsbi5sZW5ndGgpLGl9fUNoYW5nZXNPdmVybGFwKHQsbixyKXtpZihndC5Bc3NlcnQodC5vcmlnaW5hbFN0YXJ0PD1uLm9yaWdpbmFsU3RhcnQsIkxlZnQgY2hhbmdlIGlzIG5vdCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gcmlnaHQgY2hhbmdlIiksZ3QuQXNzZXJ0KHQubW9kaWZpZWRTdGFydDw9bi5tb2RpZmllZFN0YXJ0LCJMZWZ0IGNoYW5nZSBpcyBub3QgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHJpZ2h0IGNoYW5nZSIpLHQub3JpZ2luYWxTdGFydCt0Lm9yaWdpbmFsTGVuZ3RoPj1uLm9yaWdpbmFsU3RhcnR8fHQubW9kaWZpZWRTdGFydCt0Lm1vZGlmaWVkTGVuZ3RoPj1uLm1vZGlmaWVkU3RhcnQpe2NvbnN0IGk9dC5vcmlnaW5hbFN0YXJ0O2xldCBzPXQub3JpZ2luYWxMZW5ndGg7Y29uc3QgYT10Lm1vZGlmaWVkU3RhcnQ7bGV0IG89dC5tb2RpZmllZExlbmd0aDtyZXR1cm4gdC5vcmlnaW5hbFN0YXJ0K3Qub3JpZ2luYWxMZW5ndGg+PW4ub3JpZ2luYWxTdGFydCYmKHM9bi5vcmlnaW5hbFN0YXJ0K24ub3JpZ2luYWxMZW5ndGgtdC5vcmlnaW5hbFN0YXJ0KSx0Lm1vZGlmaWVkU3RhcnQrdC5tb2RpZmllZExlbmd0aD49bi5tb2RpZmllZFN0YXJ0JiYobz1uLm1vZGlmaWVkU3RhcnQrbi5tb2RpZmllZExlbmd0aC10Lm1vZGlmaWVkU3RhcnQpLHJbMF09bmV3IHplKGkscyxhLG8pLCEwfWVsc2UgcmV0dXJuIHJbMF09bnVsbCwhMX1DbGlwRGlhZ29uYWxCb3VuZCh0LG4scixpKXtpZih0Pj0wJiZ0PGkpcmV0dXJuIHQ7Y29uc3Qgcz1yLGE9aS1yLTEsbz1uJTI9PT0wO2lmKHQ8MCl7Y29uc3QgbD1zJTI9PT0wO3JldHVybiBvPT09bD8wOjF9ZWxzZXtjb25zdCBsPWElMj09PTA7cmV0dXJuIG89PT1sP2ktMTppLTJ9fX12YXIgSnI9e1RFUk1fUFJPR1JBTToidnNjb2RlIixOT0RFOiIvVXNlcnMvYWxleGFuZGVyLy5udm0vdmVyc2lvbnMvbm9kZS92MjAuOS4wL2Jpbi9ub2RlIixOVk1fQ0RfRkxBR1M6Ii1xIixJTklUX0NXRDoiL1VzZXJzL2FsZXhhbmRlci9teS1jb2RlL2dpdGh1Yi9vcGVuYXBpLXVpIixTSEVMTDoiL2Jpbi96c2giLFRFUk06Inh0ZXJtLTI1NmNvbG9yIixUTVBESVI6Ii92YXIvZm9sZGVycy83Yi9mMjhnaDg2ZDA4M194cWo5cDloczk3azgwMDAwZ24vVC8iLG5wbV9jb25maWdfZ2xvYmFsX3ByZWZpeDoiL1VzZXJzL2FsZXhhbmRlci8ubnZtL3ZlcnNpb25zL25vZGUvdjIwLjkuMCIsVEVSTV9QUk9HUkFNX1ZFUlNJT046IjEuODguMSIsR1ZNX1JPT1Q6Ii9Vc2Vycy9hbGV4YW5kZXIvLmd2bSIsTWFsbG9jTmFub1pvbmU6IjAiLE9SSUdJTkFMX1hER19DVVJSRU5UX0RFU0tUT1A6InVuZGVmaW5lZCIsWkRPVERJUjoiL1VzZXJzL2FsZXhhbmRlciIsQ09MT1I6IjEiLG5wbV9jb25maWdfbm9wcm94eToiIixaU0g6Ii9Vc2Vycy9hbGV4YW5kZXIvLm9oLW15LXpzaCIsUE5QTV9IT01FOiIvVXNlcnMvYWxleGFuZGVyL0xpYnJhcnkvcG5wbSIsbnBtX2NvbmZpZ19sb2NhbF9wcmVmaXg6Ii9Vc2Vycy9hbGV4YW5kZXIvbXktY29kZS9naXRodWIvb3BlbmFwaS11aSIsVVNFUjoiYWxleGFuZGVyIixOVk1fRElSOiIvVXNlcnMvYWxleGFuZGVyLy5udm0iLExEX0xJQlJBUllfUEFUSDoiL1VzZXJzL2FsZXhhbmRlci8uZ3ZtL3BrZ3NldHMvZ28xLjIxLjYvZ2xvYmFsL292ZXJsYXkvbGliOi9Vc2Vycy9hbGV4YW5kZXIvLmd2bS9wa2dzZXRzL2dvMS4yMS42L2dsb2JhbC9vdmVybGF5L2xpYjovVXNlcnMvYWxleGFuZGVyLy5ndm0vcGtnc2V0cy9nbzEuMjEuNi9nbG9iYWwvb3ZlcmxheS9saWI6L1VzZXJzL2FsZXhhbmRlci8uZ3ZtL3BrZ3NldHMvZ28xLjIxLjYvZ2xvYmFsL292ZXJsYXkvbGliOiIsQ09NTUFORF9NT0RFOiJ1bml4MjAwMyIsbnBtX2NvbmZpZ19nbG9iYWxjb25maWc6Ii9Vc2Vycy9hbGV4YW5kZXIvLm52bS92ZXJzaW9ucy9ub2RlL3YyMC45LjAvZXRjL25wbXJjIixTU0hfQVVUSF9TT0NLOiIvcHJpdmF0ZS90bXAvY29tLmFwcGxlLmxhdW5jaGQuTGVrZ0ZGMGl1ay9MaXN0ZW5lcnMiLF9fQ0ZfVVNFUl9URVhUX0VOQ09ESU5HOiIweDFGNToweDE5OjB4MzQiLG5wbV9leGVjcGF0aDoiL1VzZXJzL2FsZXhhbmRlci8ubnZtL3ZlcnNpb25zL25vZGUvdjIwLjkuMC9saWIvbm9kZV9tb2R1bGVzL25wbS9iaW4vbnBtLWNsaS5qcyIsUEFHRVI6Imxlc3MiLExTQ09MT1JTOiJHeGZ4Y3hkeGJ4ZWdlZGFiYWdhY2FkIixQQVRIOiIvVXNlcnMvYWxleGFuZGVyL215LWNvZGUvZ2l0aHViL29wZW5hcGktdWkvbm9kZV9tb2R1bGVzLy5iaW46L1VzZXJzL2FsZXhhbmRlci9teS1jb2RlL2dpdGh1Yi9ub2RlX21vZHVsZXMvLmJpbjovVXNlcnMvYWxleGFuZGVyL215LWNvZGUvbm9kZV9tb2R1bGVzLy5iaW46L1VzZXJzL2FsZXhhbmRlci9ub2RlX21vZHVsZXMvLmJpbjovVXNlcnMvbm9kZV9tb2R1bGVzLy5iaW46L25vZGVfbW9kdWxlcy8uYmluOi9Vc2Vycy9hbGV4YW5kZXIvLm52bS92ZXJzaW9ucy9ub2RlL3YyMC45LjAvbGliL25vZGVfbW9kdWxlcy9ucG0vbm9kZV9tb2R1bGVzL0BucG1jbGkvcnVuLXNjcmlwdC9saWIvbm9kZS1neXAtYmluOi91c3IvbG9jYWwvb3B0L3J1YnkvYmluOi9Vc2Vycy9hbGV4YW5kZXIvTGlicmFyeS9wbnBtOi9Vc2Vycy9hbGV4YW5kZXIvLnlhcm4vYmluOi9Vc2Vycy9hbGV4YW5kZXIvLmNvbmZpZy95YXJuL2dsb2JhbC9ub2RlX21vZHVsZXMvLmJpbjovVXNlcnMvYWxleGFuZGVyLy5ndm0vcGtnc2V0cy9nbzEuMjEuNi9nbG9iYWwvYmluOi9Vc2Vycy9hbGV4YW5kZXIvLmd2bS9nb3MvZ28xLjIxLjYvYmluOi9Vc2Vycy9hbGV4YW5kZXIvLmd2bS9wa2dzZXRzL2dvMS4yMS42L2dsb2JhbC9vdmVybGF5L2JpbjovVXNlcnMvYWxleGFuZGVyLy5ndm0vYmluOi9Vc2Vycy9hbGV4YW5kZXIvLmd2bS9iaW46L1VzZXJzL2FsZXhhbmRlci8uZ3ZtL3BrZ3NldHMvZ28xLjIxLjYvZ2xvYmFsL2JpbjovVXNlcnMvYWxleGFuZGVyLy5ndm0vZ29zL2dvMS4yMS42L2JpbjovVXNlcnMvYWxleGFuZGVyLy5ndm0vcGtnc2V0cy9nbzEuMjEuNi9nbG9iYWwvb3ZlcmxheS9iaW46L1VzZXJzL2FsZXhhbmRlci8uZ3ZtL2JpbjovVXNlcnMvYWxleGFuZGVyLy5ndm0vYmluOi9Vc2Vycy9hbGV4YW5kZXIvbXlnby9iaW46L3Vzci9sb2NhbC9iaW46L3Vzci9iaW46L2JpbjovdXNyL3NiaW46L3NiaW46L1VzZXJzL2FsZXhhbmRlci8uZ3ZtL2dvcy9nbzEuMjEuNi9iaW46L3Vzci9sb2NhbC9vcHQvcnVieS9iaW46L1VzZXJzL2FsZXhhbmRlci9MaWJyYXJ5L3BucG06L1VzZXJzL2FsZXhhbmRlci8ueWFybi9iaW46L1VzZXJzL2FsZXhhbmRlci8uY29uZmlnL3lhcm4vZ2xvYmFsL25vZGVfbW9kdWxlcy8uYmluOi9Vc2Vycy9hbGV4YW5kZXIvLmd2bS9wa2dzZXRzL2dvMS4yMS42L2dsb2JhbC9iaW46L1VzZXJzL2FsZXhhbmRlci8uZ3ZtL3BrZ3NldHMvZ28xLjIxLjYvZ2xvYmFsL292ZXJsYXkvYmluOi9Vc2Vycy9hbGV4YW5kZXIvLmd2bS9iaW46L1VzZXJzL2FsZXhhbmRlci8ubnZtL3ZlcnNpb25zL25vZGUvdjIwLjkuMC9iaW46L1VzZXJzL2FsZXhhbmRlci8uY2FyZ28vYmluOi91c3IvbG9jYWwvbXlzcWwvYmluOi9Vc2Vycy9hbGV4YW5kZXIvLmdlbS9ydWJ5LzMuMi4wL2JpbjovdXNyL2xvY2FsL215c3FsL2JpbjovVXNlcnMvYWxleGFuZGVyLy5nZW0vcnVieS8zLjIuMC9iaW4iLG5wbV9wYWNrYWdlX2pzb246Ii9Vc2Vycy9hbGV4YW5kZXIvbXktY29kZS9naXRodWIvb3BlbmFwaS11aS9wYWNrYWdlLmpzb24iLF9fQ0ZCdW5kbGVJZGVudGlmaWVyOiJjb20ubWljcm9zb2Z0LlZTQ29kZSIsVVNFUl9aRE9URElSOiIvVXNlcnMvYWxleGFuZGVyIixucG1fY29uZmlnX2F1dG9faW5zdGFsbF9wZWVyczoidHJ1ZSIsbnBtX2NvbmZpZ19pbml0X21vZHVsZToiL1VzZXJzL2FsZXhhbmRlci8ubnBtLWluaXQuanMiLG5wbV9jb25maWdfdXNlcmNvbmZpZzoiL1VzZXJzL2FsZXhhbmRlci8ubnBtcmMiLFBXRDoiL1VzZXJzL2FsZXhhbmRlci9teS1jb2RlL2dpdGh1Yi9vcGVuYXBpLXVpIixHVk1fVkVSU0lPTjoiMS4wLjIyIixucG1fY29tbWFuZDoicnVuLXNjcmlwdCIsRURJVE9SOiJ2aSIsbnBtX2xpZmVjeWNsZV9ldmVudDoiYnVpbGQ6cGFja2FnZSIsTEFORzoiemhfQ04uVVRGLTgiLG5wbV9wYWNrYWdlX25hbWU6Im9wZW5hcGktdWktZGlzdCIsZ3ZtX3BrZ3NldF9uYW1lOiJnbG9iYWwiLE5PREVfUEFUSDoiL1VzZXJzL2FsZXhhbmRlci9teS1jb2RlL2dpdGh1Yi9vcGVuYXBpLXVpL25vZGVfbW9kdWxlcy8ucG5wbS92aXRlQDUuMi4xMF9AdHlwZXMrbm9kZUAyMC4xMi43L25vZGVfbW9kdWxlcy92aXRlL2Jpbi9ub2RlX21vZHVsZXM6L1VzZXJzL2FsZXhhbmRlci9teS1jb2RlL2dpdGh1Yi9vcGVuYXBpLXVpL25vZGVfbW9kdWxlcy8ucG5wbS92aXRlQDUuMi4xMF9AdHlwZXMrbm9kZUAyMC4xMi43L25vZGVfbW9kdWxlcy92aXRlL25vZGVfbW9kdWxlczovVXNlcnMvYWxleGFuZGVyL215LWNvZGUvZ2l0aHViL29wZW5hcGktdWkvbm9kZV9tb2R1bGVzLy5wbnBtL3ZpdGVANS4yLjEwX0B0eXBlcytub2RlQDIwLjEyLjcvbm9kZV9tb2R1bGVzOi9Vc2Vycy9hbGV4YW5kZXIvbXktY29kZS9naXRodWIvb3BlbmFwaS11aS9ub2RlX21vZHVsZXMvLnBucG0vbm9kZV9tb2R1bGVzIixYUENfRkxBR1M6IjB4MCIsVlNDT0RFX0dJVF9BU0tQQVNTX0VYVFJBX0FSR1M6IiIsbnBtX2NvbmZpZ19ucG1fdmVyc2lvbjoiMTAuMS4wIixucG1fcGFja2FnZV9lbmdpbmVzX25vZGU6Il4xOC4wLjAgfHwgPj0yMC4wLjAiLG5wbV9jb25maWdfbm9kZV9neXA6Ii9Vc2Vycy9hbGV4YW5kZXIvLm52bS92ZXJzaW9ucy9ub2RlL3YyMC45LjAvbGliL25vZGVfbW9kdWxlcy9ucG0vbm9kZV9tb2R1bGVzL25vZGUtZ3lwL2Jpbi9ub2RlLWd5cC5qcyIsWFBDX1NFUlZJQ0VfTkFNRToiMCIsbnBtX3BhY2thZ2VfdmVyc2lvbjoiMi4yLjAiLFZTQ09ERV9JTkpFQ1RJT046IjEiLEhPTUU6Ii9Vc2Vycy9hbGV4YW5kZXIiLFNITFZMOiIyIixWU0NPREVfR0lUX0FTS1BBU1NfTUFJTjoiL0FwcGxpY2F0aW9ucy9WaXN1YWwgU3R1ZGlvIENvZGUuYXBwL0NvbnRlbnRzL1Jlc291cmNlcy9hcHAvZXh0ZW5zaW9ucy9naXQvZGlzdC9hc2twYXNzLW1haW4uanMiLEdPUk9PVDoiL1VzZXJzL2FsZXhhbmRlci8uZ3ZtL2dvcy9nbzEuMjEuNiIsRFlMRF9MSUJSQVJZX1BBVEg6Ii9Vc2Vycy9hbGV4YW5kZXIvLmd2bS9wa2dzZXRzL2dvMS4yMS42L2dsb2JhbC9vdmVybGF5L2xpYjovVXNlcnMvYWxleGFuZGVyLy5ndm0vcGtnc2V0cy9nbzEuMjEuNi9nbG9iYWwvb3ZlcmxheS9saWI6L1VzZXJzL2FsZXhhbmRlci8uZ3ZtL3BrZ3NldHMvZ28xLjIxLjYvZ2xvYmFsL292ZXJsYXkvbGliOi9Vc2Vycy9hbGV4YW5kZXIvLmd2bS9wa2dzZXRzL2dvMS4yMS42L2dsb2JhbC9vdmVybGF5L2xpYjoiLGd2bV9nb19uYW1lOiJnbzEuMjEuNiIsTE9HTkFNRToiYWxleGFuZGVyIixMRVNTOiItUiIsVlNDT0RFX1BBVEhfUFJFRklYOiIvVXNlcnMvYWxleGFuZGVyLy5ndm0vZ29zL2dvMS4yMS42L2JpbjoiLG5wbV9jb25maWdfY2FjaGU6Ii9Vc2Vycy9hbGV4YW5kZXIvLm5wbSIsR1ZNX09WRVJMQVlfUFJFRklYOiIvVXNlcnMvYWxleGFuZGVyLy5ndm0vcGtnc2V0cy9nbzEuMjEuNi9nbG9iYWwvb3ZlcmxheSIsbnBtX2xpZmVjeWNsZV9zY3JpcHQ6InRzYyAmJiB2aXRlIGJ1aWxkIC0tY29uZmlnIHZpdGUucGFja2FnZS5jb25maWcudHMgLS1tb2RlIHBhY2thZ2UiLExDX0NUWVBFOiJ6aF9DTi5VVEYtOCIsVlNDT0RFX0dJVF9JUENfSEFORExFOiIvdmFyL2ZvbGRlcnMvN2IvZjI4Z2g4NmQwODNfeHFqOXA5aHM5N2s4MDAwMGduL1QvdnNjb2RlLWdpdC03OWExOGYxMGYyLnNvY2siLE5WTV9CSU46Ii9Vc2Vycy9hbGV4YW5kZXIvLm52bS92ZXJzaW9ucy9ub2RlL3YyMC45LjAvYmluIixQS0dfQ09ORklHX1BBVEg6Ii9Vc2Vycy9hbGV4YW5kZXIvLmd2bS9wa2dzZXRzL2dvMS4yMS42L2dsb2JhbC9vdmVybGF5L2xpYi9wa2djb25maWc6L1VzZXJzL2FsZXhhbmRlci8uZ3ZtL3BrZ3NldHMvZ28xLjIxLjYvZ2xvYmFsL292ZXJsYXkvbGliL3BrZ2NvbmZpZzovVXNlcnMvYWxleGFuZGVyLy5ndm0vcGtnc2V0cy9nbzEuMjEuNi9nbG9iYWwvb3ZlcmxheS9saWIvcGtnY29uZmlnOi9Vc2Vycy9hbGV4YW5kZXIvLmd2bS9wa2dzZXRzL2dvMS4yMS42L2dsb2JhbC9vdmVybGF5L2xpYi9wa2djb25maWc6IixHT1BBVEg6Ii9Vc2Vycy9hbGV4YW5kZXIvbXlnbyIsbnBtX2NvbmZpZ191c2VyX2FnZW50OiJucG0vMTAuMS4wIG5vZGUvdjIwLjkuMCBkYXJ3aW4geDY0IHdvcmtzcGFjZXMvZmFsc2UiLEdJVF9BU0tQQVNTOiIvQXBwbGljYXRpb25zL1Zpc3VhbCBTdHVkaW8gQ29kZS5hcHAvQ29udGVudHMvUmVzb3VyY2VzL2FwcC9leHRlbnNpb25zL2dpdC9kaXN0L2Fza3Bhc3Muc2giLFZTQ09ERV9HSVRfQVNLUEFTU19OT0RFOiIvQXBwbGljYXRpb25zL1Zpc3VhbCBTdHVkaW8gQ29kZS5hcHAvQ29udGVudHMvRnJhbWV3b3Jrcy9Db2RlIEhlbHBlciAoUGx1Z2luKS5hcHAvQ29udGVudHMvTWFjT1MvQ29kZSBIZWxwZXIgKFBsdWdpbikiLEdWTV9QQVRIX0JBQ0tVUDoiL1VzZXJzL2FsZXhhbmRlci8uZ3ZtL2JpbjovVXNlcnMvYWxleGFuZGVyLy5ndm0vcGtnc2V0cy9nbzEuMjEuNi9nbG9iYWwvYmluOi9Vc2Vycy9hbGV4YW5kZXIvLmd2bS9nb3MvZ28xLjIxLjYvYmluOi9Vc2Vycy9hbGV4YW5kZXIvLmd2bS9wa2dzZXRzL2dvMS4yMS42L2dsb2JhbC9vdmVybGF5L2JpbjovVXNlcnMvYWxleGFuZGVyLy5ndm0vYmluOi9Vc2Vycy9hbGV4YW5kZXIvLmd2bS9iaW46L1VzZXJzL2FsZXhhbmRlci9teWdvL2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi91c3Ivc2Jpbjovc2JpbjovVXNlcnMvYWxleGFuZGVyLy5ndm0vZ29zL2dvMS4yMS42L2JpbjovdXNyL2xvY2FsL29wdC9ydWJ5L2JpbjovVXNlcnMvYWxleGFuZGVyL0xpYnJhcnkvcG5wbTovVXNlcnMvYWxleGFuZGVyLy55YXJuL2JpbjovVXNlcnMvYWxleGFuZGVyLy5jb25maWcveWFybi9nbG9iYWwvbm9kZV9tb2R1bGVzLy5iaW46L1VzZXJzL2FsZXhhbmRlci8uZ3ZtL3BrZ3NldHMvZ28xLjIxLjYvZ2xvYmFsL2JpbjovVXNlcnMvYWxleGFuZGVyLy5ndm0vcGtnc2V0cy9nbzEuMjEuNi9nbG9iYWwvb3ZlcmxheS9iaW46L1VzZXJzL2FsZXhhbmRlci8uZ3ZtL2JpbjovVXNlcnMvYWxleGFuZGVyLy5udm0vdmVyc2lvbnMvbm9kZS92MjAuOS4wL2JpbjovVXNlcnMvYWxleGFuZGVyLy5jYXJnby9iaW46L3Vzci9sb2NhbC9teXNxbC9iaW46L1VzZXJzL2FsZXhhbmRlci8uZ2VtL3J1YnkvMy4yLjAvYmluIixDT0xPUlRFUk06InRydWVjb2xvciIsbnBtX2NvbmZpZ19wcmVmaXg6Ii9Vc2Vycy9hbGV4YW5kZXIvLm52bS92ZXJzaW9ucy9ub2RlL3YyMC45LjAiLG5wbV9ub2RlX2V4ZWNwYXRoOiIvVXNlcnMvYWxleGFuZGVyLy5udm0vdmVyc2lvbnMvbm9kZS92MjAuOS4wL2Jpbi9ub2RlIixOT0RFX0VOVjoicHJvZHVjdGlvbiJ9O2xldCBwdDtjb25zdCBqbj1nbG9iYWxUaGlzLnZzY29kZTtpZih0eXBlb2Ygam48InUiJiZ0eXBlb2Ygam4ucHJvY2VzczwidSIpe2NvbnN0IGU9am4ucHJvY2VzcztwdD17Z2V0IHBsYXRmb3JtKCl7cmV0dXJuIGUucGxhdGZvcm19LGdldCBhcmNoKCl7cmV0dXJuIGUuYXJjaH0sZ2V0IGVudigpe3JldHVybiBlLmVudn0sY3dkKCl7cmV0dXJuIGUuY3dkKCl9fX1lbHNlIHR5cGVvZiBwcm9jZXNzPCJ1Ij9wdD17Z2V0IHBsYXRmb3JtKCl7cmV0dXJuIHByb2Nlc3MucGxhdGZvcm19LGdldCBhcmNoKCl7cmV0dXJuIHByb2Nlc3MuYXJjaH0sZ2V0IGVudigpe3JldHVybiBKcn0sY3dkKCl7cmV0dXJuIEpyLlZTQ09ERV9DV0R8fHByb2Nlc3MuY3dkKCl9fTpwdD17Z2V0IHBsYXRmb3JtKCl7cmV0dXJuIFJ0PyJ3aW4zMiI6WWE/ImRhcndpbiI6ImxpbnV4In0sZ2V0IGFyY2goKXt9LGdldCBlbnYoKXtyZXR1cm57fX0sY3dkKCl7cmV0dXJuIi8ifX07Y29uc3QgZW49cHQuY3dkLHdvPXB0LmVudixTbz1wdC5wbGF0Zm9ybSxMbz02NSxObz05NyxBbz05MCxDbz0xMjIsSmU9NDYsb2U9NDcsZ2U9OTIsWGU9NTgsa289NjM7Y2xhc3MgWHIgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcih0LG4scil7bGV0IGk7dHlwZW9mIG49PSJzdHJpbmciJiZuLmluZGV4T2YoIm5vdCAiKT09PTA/KGk9Im11c3Qgbm90IGJlIixuPW4ucmVwbGFjZSgvXm5vdCAvLCIiKSk6aT0ibXVzdCBiZSI7Y29uc3Qgcz10LmluZGV4T2YoIi4iKSE9PS0xPyJwcm9wZXJ0eSI6ImFyZ3VtZW50IjtsZXQgYT1gVGhlICIke3R9IiAke3N9ICR7aX0gb2YgdHlwZSAke259YDthKz1gLiBSZWNlaXZlZCB0eXBlICR7dHlwZW9mIHJ9YCxzdXBlcihhKSx0aGlzLmNvZGU9IkVSUl9JTlZBTElEX0FSR19UWVBFIn19ZnVuY3Rpb24gRW8oZSx0KXtpZihlPT09bnVsbHx8dHlwZW9mIGUhPSJvYmplY3QiKXRocm93IG5ldyBYcih0LCJPYmplY3QiLGUpfWZ1bmN0aW9uIGVlKGUsdCl7aWYodHlwZW9mIGUhPSJzdHJpbmciKXRocm93IG5ldyBYcih0LCJzdHJpbmciLGUpfWNvbnN0IFFlPVNvPT09IndpbjMyIjtmdW5jdGlvbiBXKGUpe3JldHVybiBlPT09b2V8fGU9PT1nZX1mdW5jdGlvbiBxbihlKXtyZXR1cm4gZT09PW9lfWZ1bmN0aW9uIFplKGUpe3JldHVybiBlPj1MbyYmZTw9QW98fGU+PU5vJiZlPD1Db31mdW5jdGlvbiB0bihlLHQsbixyKXtsZXQgaT0iIixzPTAsYT0tMSxvPTAsbD0wO2ZvcihsZXQgdT0wO3U8PWUubGVuZ3RoOysrdSl7aWYodTxlLmxlbmd0aClsPWUuY2hhckNvZGVBdCh1KTtlbHNle2lmKHIobCkpYnJlYWs7bD1vZX1pZihyKGwpKXtpZighKGE9PT11LTF8fG89PT0xKSlpZihvPT09Mil7aWYoaS5sZW5ndGg8Mnx8cyE9PTJ8fGkuY2hhckNvZGVBdChpLmxlbmd0aC0xKSE9PUplfHxpLmNoYXJDb2RlQXQoaS5sZW5ndGgtMikhPT1KZSl7aWYoaS5sZW5ndGg+Mil7Y29uc3QgZj1pLmxhc3RJbmRleE9mKG4pO2Y9PT0tMT8oaT0iIixzPTApOihpPWkuc2xpY2UoMCxmKSxzPWkubGVuZ3RoLTEtaS5sYXN0SW5kZXhPZihuKSksYT11LG89MDtjb250aW51ZX1lbHNlIGlmKGkubGVuZ3RoIT09MCl7aT0iIixzPTAsYT11LG89MDtjb250aW51ZX19dCYmKGkrPWkubGVuZ3RoPjA/YCR7bn0uLmA6Ii4uIixzPTIpfWVsc2UgaS5sZW5ndGg+MD9pKz1gJHtufSR7ZS5zbGljZShhKzEsdSl9YDppPWUuc2xpY2UoYSsxLHUpLHM9dS1hLTE7YT11LG89MH1lbHNlIGw9PT1KZSYmbyE9PS0xPysrbzpvPS0xfXJldHVybiBpfWZ1bmN0aW9uIFFyKGUsdCl7RW8odCwicGF0aE9iamVjdCIpO2NvbnN0IG49dC5kaXJ8fHQucm9vdCxyPXQuYmFzZXx8YCR7dC5uYW1lfHwiIn0ke3QuZXh0fHwiIn1gO3JldHVybiBuP249PT10LnJvb3Q/YCR7bn0ke3J9YDpgJHtufSR7ZX0ke3J9YDpyfWNvbnN0IGhlPXtyZXNvbHZlKC4uLmUpe2xldCB0PSIiLG49IiIscj0hMTtmb3IobGV0IGk9ZS5sZW5ndGgtMTtpPj0tMTtpLS0pe2xldCBzO2lmKGk+PTApe2lmKHM9ZVtpXSxlZShzLCJwYXRoIikscy5sZW5ndGg9PT0wKWNvbnRpbnVlfWVsc2UgdC5sZW5ndGg9PT0wP3M9ZW4oKToocz13b1tgPSR7dH1gXXx8ZW4oKSwocz09PXZvaWQgMHx8cy5zbGljZSgwLDIpLnRvTG93ZXJDYXNlKCkhPT10LnRvTG93ZXJDYXNlKCkmJnMuY2hhckNvZGVBdCgyKT09PWdlKSYmKHM9YCR7dH1cXGApKTtjb25zdCBhPXMubGVuZ3RoO2xldCBvPTAsbD0iIix1PSExO2NvbnN0IGY9cy5jaGFyQ29kZUF0KDApO2lmKGE9PT0xKVcoZikmJihvPTEsdT0hMCk7ZWxzZSBpZihXKGYpKWlmKHU9ITAsVyhzLmNoYXJDb2RlQXQoMSkpKXtsZXQgaD0yLGQ9aDtmb3IoO2g8YSYmIVcocy5jaGFyQ29kZUF0KGgpKTspaCsrO2lmKGg8YSYmaCE9PWQpe2NvbnN0IGc9cy5zbGljZShkLGgpO2ZvcihkPWg7aDxhJiZXKHMuY2hhckNvZGVBdChoKSk7KWgrKztpZihoPGEmJmghPT1kKXtmb3IoZD1oO2g8YSYmIVcocy5jaGFyQ29kZUF0KGgpKTspaCsrOyhoPT09YXx8aCE9PWQpJiYobD1gXFxcXCR7Z31cXCR7cy5zbGljZShkLGgpfWAsbz1oKX19fWVsc2Ugbz0xO2Vsc2UgWmUoZikmJnMuY2hhckNvZGVBdCgxKT09PVhlJiYobD1zLnNsaWNlKDAsMiksbz0yLGE+MiYmVyhzLmNoYXJDb2RlQXQoMikpJiYodT0hMCxvPTMpKTtpZihsLmxlbmd0aD4wKWlmKHQubGVuZ3RoPjApe2lmKGwudG9Mb3dlckNhc2UoKSE9PXQudG9Mb3dlckNhc2UoKSljb250aW51ZX1lbHNlIHQ9bDtpZihyKXtpZih0Lmxlbmd0aD4wKWJyZWFrfWVsc2UgaWYobj1gJHtzLnNsaWNlKG8pfVxcJHtufWAscj11LHUmJnQubGVuZ3RoPjApYnJlYWt9cmV0dXJuIG49dG4obiwhciwiXFwiLFcpLHI/YCR7dH1cXCR7bn1gOmAke3R9JHtufWB8fCIuIn0sbm9ybWFsaXplKGUpe2VlKGUsInBhdGgiKTtjb25zdCB0PWUubGVuZ3RoO2lmKHQ9PT0wKXJldHVybiIuIjtsZXQgbj0wLHIsaT0hMTtjb25zdCBzPWUuY2hhckNvZGVBdCgwKTtpZih0PT09MSlyZXR1cm4gcW4ocyk/IlxcIjplO2lmKFcocykpaWYoaT0hMCxXKGUuY2hhckNvZGVBdCgxKSkpe2xldCBvPTIsbD1vO2Zvcig7bzx0JiYhVyhlLmNoYXJDb2RlQXQobykpOylvKys7aWYobzx0JiZvIT09bCl7Y29uc3QgdT1lLnNsaWNlKGwsbyk7Zm9yKGw9bztvPHQmJlcoZS5jaGFyQ29kZUF0KG8pKTspbysrO2lmKG88dCYmbyE9PWwpe2ZvcihsPW87bzx0JiYhVyhlLmNoYXJDb2RlQXQobykpOylvKys7aWYobz09PXQpcmV0dXJuYFxcXFwke3V9XFwke2Uuc2xpY2UobCl9XFxgO28hPT1sJiYocj1gXFxcXCR7dX1cXCR7ZS5zbGljZShsLG8pfWAsbj1vKX19fWVsc2Ugbj0xO2Vsc2UgWmUocykmJmUuY2hhckNvZGVBdCgxKT09PVhlJiYocj1lLnNsaWNlKDAsMiksbj0yLHQ+MiYmVyhlLmNoYXJDb2RlQXQoMikpJiYoaT0hMCxuPTMpKTtsZXQgYT1uPHQ/dG4oZS5zbGljZShuKSwhaSwiXFwiLFcpOiIiO3JldHVybiBhLmxlbmd0aD09PTAmJiFpJiYoYT0iLiIpLGEubGVuZ3RoPjAmJlcoZS5jaGFyQ29kZUF0KHQtMSkpJiYoYSs9IlxcIikscj09PXZvaWQgMD9pP2BcXCR7YX1gOmE6aT9gJHtyfVxcJHthfWA6YCR7cn0ke2F9YH0saXNBYnNvbHV0ZShlKXtlZShlLCJwYXRoIik7Y29uc3QgdD1lLmxlbmd0aDtpZih0PT09MClyZXR1cm4hMTtjb25zdCBuPWUuY2hhckNvZGVBdCgwKTtyZXR1cm4gVyhuKXx8dD4yJiZaZShuKSYmZS5jaGFyQ29kZUF0KDEpPT09WGUmJlcoZS5jaGFyQ29kZUF0KDIpKX0sam9pbiguLi5lKXtpZihlLmxlbmd0aD09PTApcmV0dXJuIi4iO2xldCB0LG47Zm9yKGxldCBzPTA7czxlLmxlbmd0aDsrK3Mpe2NvbnN0IGE9ZVtzXTtlZShhLCJwYXRoIiksYS5sZW5ndGg+MCYmKHQ9PT12b2lkIDA/dD1uPWE6dCs9YFxcJHthfWApfWlmKHQ9PT12b2lkIDApcmV0dXJuIi4iO2xldCByPSEwLGk9MDtpZih0eXBlb2Ygbj09InN0cmluZyImJlcobi5jaGFyQ29kZUF0KDApKSl7KytpO2NvbnN0IHM9bi5sZW5ndGg7cz4xJiZXKG4uY2hhckNvZGVBdCgxKSkmJigrK2kscz4yJiYoVyhuLmNoYXJDb2RlQXQoMikpPysraTpyPSExKSl9aWYocil7Zm9yKDtpPHQubGVuZ3RoJiZXKHQuY2hhckNvZGVBdChpKSk7KWkrKztpPj0yJiYodD1gXFwke3Quc2xpY2UoaSl9YCl9cmV0dXJuIGhlLm5vcm1hbGl6ZSh0KX0scmVsYXRpdmUoZSx0KXtpZihlZShlLCJmcm9tIiksZWUodCwidG8iKSxlPT09dClyZXR1cm4iIjtjb25zdCBuPWhlLnJlc29sdmUoZSkscj1oZS5yZXNvbHZlKHQpO2lmKG49PT1yfHwoZT1uLnRvTG93ZXJDYXNlKCksdD1yLnRvTG93ZXJDYXNlKCksZT09PXQpKXJldHVybiIiO2xldCBpPTA7Zm9yKDtpPGUubGVuZ3RoJiZlLmNoYXJDb2RlQXQoaSk9PT1nZTspaSsrO2xldCBzPWUubGVuZ3RoO2Zvcig7cy0xPmkmJmUuY2hhckNvZGVBdChzLTEpPT09Z2U7KXMtLTtjb25zdCBhPXMtaTtsZXQgbz0wO2Zvcig7bzx0Lmxlbmd0aCYmdC5jaGFyQ29kZUF0KG8pPT09Z2U7KW8rKztsZXQgbD10Lmxlbmd0aDtmb3IoO2wtMT5vJiZ0LmNoYXJDb2RlQXQobC0xKT09PWdlOylsLS07Y29uc3QgdT1sLW8sZj1hPHU/YTp1O2xldCBoPS0xLGQ9MDtmb3IoO2Q8ZjtkKyspe2NvbnN0IG09ZS5jaGFyQ29kZUF0KGkrZCk7aWYobSE9PXQuY2hhckNvZGVBdChvK2QpKWJyZWFrO209PT1nZSYmKGg9ZCl9aWYoZCE9PWYpe2lmKGg9PT0tMSlyZXR1cm4gcn1lbHNle2lmKHU+Zil7aWYodC5jaGFyQ29kZUF0KG8rZCk9PT1nZSlyZXR1cm4gci5zbGljZShvK2QrMSk7aWYoZD09PTIpcmV0dXJuIHIuc2xpY2UobytkKX1hPmYmJihlLmNoYXJDb2RlQXQoaStkKT09PWdlP2g9ZDpkPT09MiYmKGg9MykpLGg9PT0tMSYmKGg9MCl9bGV0IGc9IiI7Zm9yKGQ9aStoKzE7ZDw9czsrK2QpKGQ9PT1zfHxlLmNoYXJDb2RlQXQoZCk9PT1nZSkmJihnKz1nLmxlbmd0aD09PTA/Ii4uIjoiXFwuLiIpO3JldHVybiBvKz1oLGcubGVuZ3RoPjA/YCR7Z30ke3Iuc2xpY2UobyxsKX1gOihyLmNoYXJDb2RlQXQobyk9PT1nZSYmKytvLHIuc2xpY2UobyxsKSl9LHRvTmFtZXNwYWNlZFBhdGgoZSl7aWYodHlwZW9mIGUhPSJzdHJpbmcifHxlLmxlbmd0aD09PTApcmV0dXJuIGU7Y29uc3QgdD1oZS5yZXNvbHZlKGUpO2lmKHQubGVuZ3RoPD0yKXJldHVybiBlO2lmKHQuY2hhckNvZGVBdCgwKT09PWdlKXtpZih0LmNoYXJDb2RlQXQoMSk9PT1nZSl7Y29uc3Qgbj10LmNoYXJDb2RlQXQoMik7aWYobiE9PWtvJiZuIT09SmUpcmV0dXJuYFxcXFw/XFxVTkNcXCR7dC5zbGljZSgyKX1gfX1lbHNlIGlmKFplKHQuY2hhckNvZGVBdCgwKSkmJnQuY2hhckNvZGVBdCgxKT09PVhlJiZ0LmNoYXJDb2RlQXQoMik9PT1nZSlyZXR1cm5gXFxcXD9cXCR7dH1gO3JldHVybiBlfSxkaXJuYW1lKGUpe2VlKGUsInBhdGgiKTtjb25zdCB0PWUubGVuZ3RoO2lmKHQ9PT0wKXJldHVybiIuIjtsZXQgbj0tMSxyPTA7Y29uc3QgaT1lLmNoYXJDb2RlQXQoMCk7aWYodD09PTEpcmV0dXJuIFcoaSk/ZToiLiI7aWYoVyhpKSl7aWYobj1yPTEsVyhlLmNoYXJDb2RlQXQoMSkpKXtsZXQgbz0yLGw9bztmb3IoO288dCYmIVcoZS5jaGFyQ29kZUF0KG8pKTspbysrO2lmKG88dCYmbyE9PWwpe2ZvcihsPW87bzx0JiZXKGUuY2hhckNvZGVBdChvKSk7KW8rKztpZihvPHQmJm8hPT1sKXtmb3IobD1vO288dCYmIVcoZS5jaGFyQ29kZUF0KG8pKTspbysrO2lmKG89PT10KXJldHVybiBlO28hPT1sJiYobj1yPW8rMSl9fX19ZWxzZSBaZShpKSYmZS5jaGFyQ29kZUF0KDEpPT09WGUmJihuPXQ+MiYmVyhlLmNoYXJDb2RlQXQoMikpPzM6MixyPW4pO2xldCBzPS0xLGE9ITA7Zm9yKGxldCBvPXQtMTtvPj1yOy0tbylpZihXKGUuY2hhckNvZGVBdChvKSkpe2lmKCFhKXtzPW87YnJlYWt9fWVsc2UgYT0hMTtpZihzPT09LTEpe2lmKG49PT0tMSlyZXR1cm4iLiI7cz1ufXJldHVybiBlLnNsaWNlKDAscyl9LGJhc2VuYW1lKGUsdCl7dCE9PXZvaWQgMCYmZWUodCwiZXh0IiksZWUoZSwicGF0aCIpO2xldCBuPTAscj0tMSxpPSEwLHM7aWYoZS5sZW5ndGg+PTImJlplKGUuY2hhckNvZGVBdCgwKSkmJmUuY2hhckNvZGVBdCgxKT09PVhlJiYobj0yKSx0IT09dm9pZCAwJiZ0Lmxlbmd0aD4wJiZ0Lmxlbmd0aDw9ZS5sZW5ndGgpe2lmKHQ9PT1lKXJldHVybiIiO2xldCBhPXQubGVuZ3RoLTEsbz0tMTtmb3Iocz1lLmxlbmd0aC0xO3M+PW47LS1zKXtjb25zdCBsPWUuY2hhckNvZGVBdChzKTtpZihXKGwpKXtpZighaSl7bj1zKzE7YnJlYWt9fWVsc2Ugbz09PS0xJiYoaT0hMSxvPXMrMSksYT49MCYmKGw9PT10LmNoYXJDb2RlQXQoYSk/LS1hPT09LTEmJihyPXMpOihhPS0xLHI9bykpfXJldHVybiBuPT09cj9yPW86cj09PS0xJiYocj1lLmxlbmd0aCksZS5zbGljZShuLHIpfWZvcihzPWUubGVuZ3RoLTE7cz49bjstLXMpaWYoVyhlLmNoYXJDb2RlQXQocykpKXtpZighaSl7bj1zKzE7YnJlYWt9fWVsc2Ugcj09PS0xJiYoaT0hMSxyPXMrMSk7cmV0dXJuIHI9PT0tMT8iIjplLnNsaWNlKG4scil9LGV4dG5hbWUoZSl7ZWUoZSwicGF0aCIpO2xldCB0PTAsbj0tMSxyPTAsaT0tMSxzPSEwLGE9MDtlLmxlbmd0aD49MiYmZS5jaGFyQ29kZUF0KDEpPT09WGUmJlplKGUuY2hhckNvZGVBdCgwKSkmJih0PXI9Mik7Zm9yKGxldCBvPWUubGVuZ3RoLTE7bz49dDstLW8pe2NvbnN0IGw9ZS5jaGFyQ29kZUF0KG8pO2lmKFcobCkpe2lmKCFzKXtyPW8rMTticmVha31jb250aW51ZX1pPT09LTEmJihzPSExLGk9bysxKSxsPT09SmU/bj09PS0xP249bzphIT09MSYmKGE9MSk6biE9PS0xJiYoYT0tMSl9cmV0dXJuIG49PT0tMXx8aT09PS0xfHxhPT09MHx8YT09PTEmJm49PT1pLTEmJm49PT1yKzE/IiI6ZS5zbGljZShuLGkpfSxmb3JtYXQ6UXIuYmluZChudWxsLCJcXCIpLHBhcnNlKGUpe2VlKGUsInBhdGgiKTtjb25zdCB0PXtyb290OiIiLGRpcjoiIixiYXNlOiIiLGV4dDoiIixuYW1lOiIifTtpZihlLmxlbmd0aD09PTApcmV0dXJuIHQ7Y29uc3Qgbj1lLmxlbmd0aDtsZXQgcj0wLGk9ZS5jaGFyQ29kZUF0KDApO2lmKG49PT0xKXJldHVybiBXKGkpPyh0LnJvb3Q9dC5kaXI9ZSx0KToodC5iYXNlPXQubmFtZT1lLHQpO2lmKFcoaSkpe2lmKHI9MSxXKGUuY2hhckNvZGVBdCgxKSkpe2xldCBoPTIsZD1oO2Zvcig7aDxuJiYhVyhlLmNoYXJDb2RlQXQoaCkpOyloKys7aWYoaDxuJiZoIT09ZCl7Zm9yKGQ9aDtoPG4mJlcoZS5jaGFyQ29kZUF0KGgpKTspaCsrO2lmKGg8biYmaCE9PWQpe2ZvcihkPWg7aDxuJiYhVyhlLmNoYXJDb2RlQXQoaCkpOyloKys7aD09PW4/cj1oOmghPT1kJiYocj1oKzEpfX19fWVsc2UgaWYoWmUoaSkmJmUuY2hhckNvZGVBdCgxKT09PVhlKXtpZihuPD0yKXJldHVybiB0LnJvb3Q9dC5kaXI9ZSx0O2lmKHI9MixXKGUuY2hhckNvZGVBdCgyKSkpe2lmKG49PT0zKXJldHVybiB0LnJvb3Q9dC5kaXI9ZSx0O3I9M319cj4wJiYodC5yb290PWUuc2xpY2UoMCxyKSk7bGV0IHM9LTEsYT1yLG89LTEsbD0hMCx1PWUubGVuZ3RoLTEsZj0wO2Zvcig7dT49cjstLXUpe2lmKGk9ZS5jaGFyQ29kZUF0KHUpLFcoaSkpe2lmKCFsKXthPXUrMTticmVha31jb250aW51ZX1vPT09LTEmJihsPSExLG89dSsxKSxpPT09SmU/cz09PS0xP3M9dTpmIT09MSYmKGY9MSk6cyE9PS0xJiYoZj0tMSl9cmV0dXJuIG8hPT0tMSYmKHM9PT0tMXx8Zj09PTB8fGY9PT0xJiZzPT09by0xJiZzPT09YSsxP3QuYmFzZT10Lm5hbWU9ZS5zbGljZShhLG8pOih0Lm5hbWU9ZS5zbGljZShhLHMpLHQuYmFzZT1lLnNsaWNlKGEsbyksdC5leHQ9ZS5zbGljZShzLG8pKSksYT4wJiZhIT09cj90LmRpcj1lLnNsaWNlKDAsYS0xKTp0LmRpcj10LnJvb3QsdH0sc2VwOiJcXCIsZGVsaW1pdGVyOiI7Iix3aW4zMjpudWxsLHBvc2l4Om51bGx9LFJvPSgoKT0+e2lmKFFlKXtjb25zdCBlPS9cXC9nO3JldHVybigpPT57Y29uc3QgdD1lbigpLnJlcGxhY2UoZSwiLyIpO3JldHVybiB0LnNsaWNlKHQuaW5kZXhPZigiLyIpKX19cmV0dXJuKCk9PmVuKCl9KSgpLG1lPXtyZXNvbHZlKC4uLmUpe2xldCB0PSIiLG49ITE7Zm9yKGxldCByPWUubGVuZ3RoLTE7cj49LTEmJiFuO3ItLSl7Y29uc3QgaT1yPj0wP2Vbcl06Um8oKTtlZShpLCJwYXRoIiksaS5sZW5ndGghPT0wJiYodD1gJHtpfS8ke3R9YCxuPWkuY2hhckNvZGVBdCgwKT09PW9lKX1yZXR1cm4gdD10bih0LCFuLCIvIixxbiksbj9gLyR7dH1gOnQubGVuZ3RoPjA/dDoiLiJ9LG5vcm1hbGl6ZShlKXtpZihlZShlLCJwYXRoIiksZS5sZW5ndGg9PT0wKXJldHVybiIuIjtjb25zdCB0PWUuY2hhckNvZGVBdCgwKT09PW9lLG49ZS5jaGFyQ29kZUF0KGUubGVuZ3RoLTEpPT09b2U7cmV0dXJuIGU9dG4oZSwhdCwiLyIscW4pLGUubGVuZ3RoPT09MD90PyIvIjpuPyIuLyI6Ii4iOihuJiYoZSs9Ii8iKSx0P2AvJHtlfWA6ZSl9LGlzQWJzb2x1dGUoZSl7cmV0dXJuIGVlKGUsInBhdGgiKSxlLmxlbmd0aD4wJiZlLmNoYXJDb2RlQXQoMCk9PT1vZX0sam9pbiguLi5lKXtpZihlLmxlbmd0aD09PTApcmV0dXJuIi4iO2xldCB0O2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7KytuKXtjb25zdCByPWVbbl07ZWUociwicGF0aCIpLHIubGVuZ3RoPjAmJih0PT09dm9pZCAwP3Q9cjp0Kz1gLyR7cn1gKX1yZXR1cm4gdD09PXZvaWQgMD8iLiI6bWUubm9ybWFsaXplKHQpfSxyZWxhdGl2ZShlLHQpe2lmKGVlKGUsImZyb20iKSxlZSh0LCJ0byIpLGU9PT10fHwoZT1tZS5yZXNvbHZlKGUpLHQ9bWUucmVzb2x2ZSh0KSxlPT09dCkpcmV0dXJuIiI7Y29uc3Qgbj0xLHI9ZS5sZW5ndGgsaT1yLW4scz0xLGE9dC5sZW5ndGgtcyxvPWk8YT9pOmE7bGV0IGw9LTEsdT0wO2Zvcig7dTxvO3UrKyl7Y29uc3QgaD1lLmNoYXJDb2RlQXQobit1KTtpZihoIT09dC5jaGFyQ29kZUF0KHMrdSkpYnJlYWs7aD09PW9lJiYobD11KX1pZih1PT09bylpZihhPm8pe2lmKHQuY2hhckNvZGVBdChzK3UpPT09b2UpcmV0dXJuIHQuc2xpY2Uocyt1KzEpO2lmKHU9PT0wKXJldHVybiB0LnNsaWNlKHMrdSl9ZWxzZSBpPm8mJihlLmNoYXJDb2RlQXQobit1KT09PW9lP2w9dTp1PT09MCYmKGw9MCkpO2xldCBmPSIiO2Zvcih1PW4rbCsxO3U8PXI7Kyt1KSh1PT09cnx8ZS5jaGFyQ29kZUF0KHUpPT09b2UpJiYoZis9Zi5sZW5ndGg9PT0wPyIuLiI6Ii8uLiIpO3JldHVybmAke2Z9JHt0LnNsaWNlKHMrbCl9YH0sdG9OYW1lc3BhY2VkUGF0aChlKXtyZXR1cm4gZX0sZGlybmFtZShlKXtpZihlZShlLCJwYXRoIiksZS5sZW5ndGg9PT0wKXJldHVybiIuIjtjb25zdCB0PWUuY2hhckNvZGVBdCgwKT09PW9lO2xldCBuPS0xLHI9ITA7Zm9yKGxldCBpPWUubGVuZ3RoLTE7aT49MTstLWkpaWYoZS5jaGFyQ29kZUF0KGkpPT09b2Upe2lmKCFyKXtuPWk7YnJlYWt9fWVsc2Ugcj0hMTtyZXR1cm4gbj09PS0xP3Q/Ii8iOiIuIjp0JiZuPT09MT8iLy8iOmUuc2xpY2UoMCxuKX0sYmFzZW5hbWUoZSx0KXt0IT09dm9pZCAwJiZlZSh0LCJleHQiKSxlZShlLCJwYXRoIik7bGV0IG49MCxyPS0xLGk9ITAscztpZih0IT09dm9pZCAwJiZ0Lmxlbmd0aD4wJiZ0Lmxlbmd0aDw9ZS5sZW5ndGgpe2lmKHQ9PT1lKXJldHVybiIiO2xldCBhPXQubGVuZ3RoLTEsbz0tMTtmb3Iocz1lLmxlbmd0aC0xO3M+PTA7LS1zKXtjb25zdCBsPWUuY2hhckNvZGVBdChzKTtpZihsPT09b2Upe2lmKCFpKXtuPXMrMTticmVha319ZWxzZSBvPT09LTEmJihpPSExLG89cysxKSxhPj0wJiYobD09PXQuY2hhckNvZGVBdChhKT8tLWE9PT0tMSYmKHI9cyk6KGE9LTEscj1vKSl9cmV0dXJuIG49PT1yP3I9bzpyPT09LTEmJihyPWUubGVuZ3RoKSxlLnNsaWNlKG4scil9Zm9yKHM9ZS5sZW5ndGgtMTtzPj0wOy0tcylpZihlLmNoYXJDb2RlQXQocyk9PT1vZSl7aWYoIWkpe249cysxO2JyZWFrfX1lbHNlIHI9PT0tMSYmKGk9ITEscj1zKzEpO3JldHVybiByPT09LTE/IiI6ZS5zbGljZShuLHIpfSxleHRuYW1lKGUpe2VlKGUsInBhdGgiKTtsZXQgdD0tMSxuPTAscj0tMSxpPSEwLHM9MDtmb3IobGV0IGE9ZS5sZW5ndGgtMTthPj0wOy0tYSl7Y29uc3Qgbz1lLmNoYXJDb2RlQXQoYSk7aWYobz09PW9lKXtpZighaSl7bj1hKzE7YnJlYWt9Y29udGludWV9cj09PS0xJiYoaT0hMSxyPWErMSksbz09PUplP3Q9PT0tMT90PWE6cyE9PTEmJihzPTEpOnQhPT0tMSYmKHM9LTEpfXJldHVybiB0PT09LTF8fHI9PT0tMXx8cz09PTB8fHM9PT0xJiZ0PT09ci0xJiZ0PT09bisxPyIiOmUuc2xpY2UodCxyKX0sZm9ybWF0OlFyLmJpbmQobnVsbCwiLyIpLHBhcnNlKGUpe2VlKGUsInBhdGgiKTtjb25zdCB0PXtyb290OiIiLGRpcjoiIixiYXNlOiIiLGV4dDoiIixuYW1lOiIifTtpZihlLmxlbmd0aD09PTApcmV0dXJuIHQ7Y29uc3Qgbj1lLmNoYXJDb2RlQXQoMCk9PT1vZTtsZXQgcjtuPyh0LnJvb3Q9Ii8iLHI9MSk6cj0wO2xldCBpPS0xLHM9MCxhPS0xLG89ITAsbD1lLmxlbmd0aC0xLHU9MDtmb3IoO2w+PXI7LS1sKXtjb25zdCBmPWUuY2hhckNvZGVBdChsKTtpZihmPT09b2Upe2lmKCFvKXtzPWwrMTticmVha31jb250aW51ZX1hPT09LTEmJihvPSExLGE9bCsxKSxmPT09SmU/aT09PS0xP2k9bDp1IT09MSYmKHU9MSk6aSE9PS0xJiYodT0tMSl9aWYoYSE9PS0xKXtjb25zdCBmPXM9PT0wJiZuPzE6cztpPT09LTF8fHU9PT0wfHx1PT09MSYmaT09PWEtMSYmaT09PXMrMT90LmJhc2U9dC5uYW1lPWUuc2xpY2UoZixhKToodC5uYW1lPWUuc2xpY2UoZixpKSx0LmJhc2U9ZS5zbGljZShmLGEpLHQuZXh0PWUuc2xpY2UoaSxhKSl9cmV0dXJuIHM+MD90LmRpcj1lLnNsaWNlKDAscy0xKTpuJiYodC5kaXI9Ii8iKSx0fSxzZXA6Ii8iLGRlbGltaXRlcjoiOiIsd2luMzI6bnVsbCxwb3NpeDpudWxsfTttZS53aW4zMj1oZS53aW4zMj1oZSxtZS5wb3NpeD1oZS5wb3NpeD1tZSxRZT9oZS5ub3JtYWxpemU6bWUubm9ybWFsaXplLFFlP2hlLnJlc29sdmU6bWUucmVzb2x2ZSxRZT9oZS5yZWxhdGl2ZTptZS5yZWxhdGl2ZSxRZT9oZS5kaXJuYW1lOm1lLmRpcm5hbWUsUWU/aGUuYmFzZW5hbWU6bWUuYmFzZW5hbWUsUWU/aGUuZXh0bmFtZTptZS5leHRuYW1lLFFlP2hlLnNlcDptZS5zZXA7Y29uc3QgTW89L15cd1tcd1xkKy4tXSokLyxUbz0vXlwvLyxQbz0vXlwvXC8vO2Z1bmN0aW9uIEZvKGUsdCl7aWYoIWUuc2NoZW1lJiZ0KXRocm93IG5ldyBFcnJvcihgW1VyaUVycm9yXTogU2NoZW1lIGlzIG1pc3Npbmc6IHtzY2hlbWU6ICIiLCBhdXRob3JpdHk6ICIke2UuYXV0aG9yaXR5fSIsIHBhdGg6ICIke2UucGF0aH0iLCBxdWVyeTogIiR7ZS5xdWVyeX0iLCBmcmFnbWVudDogIiR7ZS5mcmFnbWVudH0ifWApO2lmKGUuc2NoZW1lJiYhTW8udGVzdChlLnNjaGVtZSkpdGhyb3cgbmV3IEVycm9yKCJbVXJpRXJyb3JdOiBTY2hlbWUgY29udGFpbnMgaWxsZWdhbCBjaGFyYWN0ZXJzLiIpO2lmKGUucGF0aCl7aWYoZS5hdXRob3JpdHkpe2lmKCFUby50ZXN0KGUucGF0aCkpdGhyb3cgbmV3IEVycm9yKCdbVXJpRXJyb3JdOiBJZiBhIFVSSSBjb250YWlucyBhbiBhdXRob3JpdHkgY29tcG9uZW50LCB0aGVuIHRoZSBwYXRoIGNvbXBvbmVudCBtdXN0IGVpdGhlciBiZSBlbXB0eSBvciBiZWdpbiB3aXRoIGEgc2xhc2ggKCIvIikgY2hhcmFjdGVyJyl9ZWxzZSBpZihQby50ZXN0KGUucGF0aCkpdGhyb3cgbmV3IEVycm9yKCdbVXJpRXJyb3JdOiBJZiBhIFVSSSBkb2VzIG5vdCBjb250YWluIGFuIGF1dGhvcml0eSBjb21wb25lbnQsIHRoZW4gdGhlIHBhdGggY2Fubm90IGJlZ2luIHdpdGggdHdvIHNsYXNoIGNoYXJhY3RlcnMgKCIvLyIpJyl9fWZ1bmN0aW9uIElvKGUsdCl7cmV0dXJuIWUmJiF0PyJmaWxlIjplfWZ1bmN0aW9uIERvKGUsdCl7c3dpdGNoKGUpe2Nhc2UiaHR0cHMiOmNhc2UiaHR0cCI6Y2FzZSJmaWxlIjp0P3RbMF0hPT1rZSYmKHQ9a2UrdCk6dD1rZTticmVha31yZXR1cm4gdH1jb25zdCBZPSIiLGtlPSIvIixWbz0vXigoW146Lz8jXSs/KTopPyhcL1wvKFteLz8jXSopKT8oW14/I10qKShcPyhbXiNdKikpPygjKC4qKSk/LztsZXQgQm49Y2xhc3MgQ257c3RhdGljIGlzVXJpKHQpe3JldHVybiB0IGluc3RhbmNlb2YgQ24/ITA6dD90eXBlb2YgdC5hdXRob3JpdHk9PSJzdHJpbmciJiZ0eXBlb2YgdC5mcmFnbWVudD09InN0cmluZyImJnR5cGVvZiB0LnBhdGg9PSJzdHJpbmciJiZ0eXBlb2YgdC5xdWVyeT09InN0cmluZyImJnR5cGVvZiB0LnNjaGVtZT09InN0cmluZyImJnR5cGVvZiB0LmZzUGF0aD09InN0cmluZyImJnR5cGVvZiB0LndpdGg9PSJmdW5jdGlvbiImJnR5cGVvZiB0LnRvU3RyaW5nPT0iZnVuY3Rpb24iOiExfWNvbnN0cnVjdG9yKHQsbixyLGkscyxhPSExKXt0eXBlb2YgdD09Im9iamVjdCI/KHRoaXMuc2NoZW1lPXQuc2NoZW1lfHxZLHRoaXMuYXV0aG9yaXR5PXQuYXV0aG9yaXR5fHxZLHRoaXMucGF0aD10LnBhdGh8fFksdGhpcy5xdWVyeT10LnF1ZXJ5fHxZLHRoaXMuZnJhZ21lbnQ9dC5mcmFnbWVudHx8WSk6KHRoaXMuc2NoZW1lPUlvKHQsYSksdGhpcy5hdXRob3JpdHk9bnx8WSx0aGlzLnBhdGg9RG8odGhpcy5zY2hlbWUscnx8WSksdGhpcy5xdWVyeT1pfHxZLHRoaXMuZnJhZ21lbnQ9c3x8WSxGbyh0aGlzLGEpKX1nZXQgZnNQYXRoKCl7cmV0dXJuICRuKHRoaXMsITEpfXdpdGgodCl7aWYoIXQpcmV0dXJuIHRoaXM7bGV0e3NjaGVtZTpuLGF1dGhvcml0eTpyLHBhdGg6aSxxdWVyeTpzLGZyYWdtZW50OmF9PXQ7cmV0dXJuIG49PT12b2lkIDA/bj10aGlzLnNjaGVtZTpuPT09bnVsbCYmKG49WSkscj09PXZvaWQgMD9yPXRoaXMuYXV0aG9yaXR5OnI9PT1udWxsJiYocj1ZKSxpPT09dm9pZCAwP2k9dGhpcy5wYXRoOmk9PT1udWxsJiYoaT1ZKSxzPT09dm9pZCAwP3M9dGhpcy5xdWVyeTpzPT09bnVsbCYmKHM9WSksYT09PXZvaWQgMD9hPXRoaXMuZnJhZ21lbnQ6YT09PW51bGwmJihhPVkpLG49PT10aGlzLnNjaGVtZSYmcj09PXRoaXMuYXV0aG9yaXR5JiZpPT09dGhpcy5wYXRoJiZzPT09dGhpcy5xdWVyeSYmYT09PXRoaXMuZnJhZ21lbnQ/dGhpczpuZXcgdnQobixyLGkscyxhKX1zdGF0aWMgcGFyc2UodCxuPSExKXtjb25zdCByPVZvLmV4ZWModCk7cmV0dXJuIHI/bmV3IHZ0KHJbMl18fFksbm4ocls0XXx8WSksbm4ocls1XXx8WSksbm4ocls3XXx8WSksbm4ocls5XXx8WSksbik6bmV3IHZ0KFksWSxZLFksWSl9c3RhdGljIGZpbGUodCl7bGV0IG49WTtpZihSdCYmKHQ9dC5yZXBsYWNlKC9cXC9nLGtlKSksdFswXT09PWtlJiZ0WzFdPT09a2Upe2NvbnN0IHI9dC5pbmRleE9mKGtlLDIpO3I9PT0tMT8obj10LnN1YnN0cmluZygyKSx0PWtlKToobj10LnN1YnN0cmluZygyLHIpLHQ9dC5zdWJzdHJpbmcocil8fGtlKX1yZXR1cm4gbmV3IHZ0KCJmaWxlIixuLHQsWSxZKX1zdGF0aWMgZnJvbSh0LG4pe3JldHVybiBuZXcgdnQodC5zY2hlbWUsdC5hdXRob3JpdHksdC5wYXRoLHQucXVlcnksdC5mcmFnbWVudCxuKX1zdGF0aWMgam9pblBhdGgodCwuLi5uKXtpZighdC5wYXRoKXRocm93IG5ldyBFcnJvcigiW1VyaUVycm9yXTogY2Fubm90IGNhbGwgam9pblBhdGggb24gVVJJIHdpdGhvdXQgcGF0aCIpO2xldCByO3JldHVybiBSdCYmdC5zY2hlbWU9PT0iZmlsZSI/cj1Dbi5maWxlKGhlLmpvaW4oJG4odCwhMCksLi4ubikpLnBhdGg6cj1tZS5qb2luKHQucGF0aCwuLi5uKSx0LndpdGgoe3BhdGg6cn0pfXRvU3RyaW5nKHQ9ITEpe3JldHVybiBXbih0aGlzLHQpfXRvSlNPTigpe3JldHVybiB0aGlzfXN0YXRpYyByZXZpdmUodCl7dmFyIG4scjtpZih0KXtpZih0IGluc3RhbmNlb2YgQ24pcmV0dXJuIHQ7e2NvbnN0IGk9bmV3IHZ0KHQpO3JldHVybiBpLl9mb3JtYXR0ZWQ9KG49dC5leHRlcm5hbCkhPT1udWxsJiZuIT09dm9pZCAwP246bnVsbCxpLl9mc1BhdGg9dC5fc2VwPT09WnImJihyPXQuZnNQYXRoKSE9PW51bGwmJnIhPT12b2lkIDA/cjpudWxsLGl9fWVsc2UgcmV0dXJuIHR9fTtjb25zdCBacj1SdD8xOnZvaWQgMDtjbGFzcyB2dCBleHRlbmRzIEJue2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9mb3JtYXR0ZWQ9bnVsbCx0aGlzLl9mc1BhdGg9bnVsbH1nZXQgZnNQYXRoKCl7cmV0dXJuIHRoaXMuX2ZzUGF0aHx8KHRoaXMuX2ZzUGF0aD0kbih0aGlzLCExKSksdGhpcy5fZnNQYXRofXRvU3RyaW5nKHQ9ITEpe3JldHVybiB0P1duKHRoaXMsITApOih0aGlzLl9mb3JtYXR0ZWR8fCh0aGlzLl9mb3JtYXR0ZWQ9V24odGhpcywhMSkpLHRoaXMuX2Zvcm1hdHRlZCl9dG9KU09OKCl7Y29uc3QgdD17JG1pZDoxfTtyZXR1cm4gdGhpcy5fZnNQYXRoJiYodC5mc1BhdGg9dGhpcy5fZnNQYXRoLHQuX3NlcD1aciksdGhpcy5fZm9ybWF0dGVkJiYodC5leHRlcm5hbD10aGlzLl9mb3JtYXR0ZWQpLHRoaXMucGF0aCYmKHQucGF0aD10aGlzLnBhdGgpLHRoaXMuc2NoZW1lJiYodC5zY2hlbWU9dGhpcy5zY2hlbWUpLHRoaXMuYXV0aG9yaXR5JiYodC5hdXRob3JpdHk9dGhpcy5hdXRob3JpdHkpLHRoaXMucXVlcnkmJih0LnF1ZXJ5PXRoaXMucXVlcnkpLHRoaXMuZnJhZ21lbnQmJih0LmZyYWdtZW50PXRoaXMuZnJhZ21lbnQpLHR9fWNvbnN0IFlyPXs1ODoiJTNBIiw0NzoiJTJGIiw2MzoiJTNGIiwzNToiJTIzIiw5MToiJTVCIiw5MzoiJTVEIiw2NDoiJTQwIiwzMzoiJTIxIiwzNjoiJTI0IiwzODoiJTI2IiwzOToiJTI3Iiw0MDoiJTI4Iiw0MToiJTI5Iiw0MjoiJTJBIiw0MzoiJTJCIiw0NDoiJTJDIiw1OToiJTNCIiw2MToiJTNEIiwzMjoiJTIwIn07ZnVuY3Rpb24gS3IoZSx0LG4pe2xldCByLGk9LTE7Zm9yKGxldCBzPTA7czxlLmxlbmd0aDtzKyspe2NvbnN0IGE9ZS5jaGFyQ29kZUF0KHMpO2lmKGE+PTk3JiZhPD0xMjJ8fGE+PTY1JiZhPD05MHx8YT49NDgmJmE8PTU3fHxhPT09NDV8fGE9PT00Nnx8YT09PTk1fHxhPT09MTI2fHx0JiZhPT09NDd8fG4mJmE9PT05MXx8biYmYT09PTkzfHxuJiZhPT09NTgpaSE9PS0xJiYocis9ZW5jb2RlVVJJQ29tcG9uZW50KGUuc3Vic3RyaW5nKGkscykpLGk9LTEpLHIhPT12b2lkIDAmJihyKz1lLmNoYXJBdChzKSk7ZWxzZXtyPT09dm9pZCAwJiYocj1lLnN1YnN0cigwLHMpKTtjb25zdCBvPVlyW2FdO28hPT12b2lkIDA/KGkhPT0tMSYmKHIrPWVuY29kZVVSSUNvbXBvbmVudChlLnN1YnN0cmluZyhpLHMpKSxpPS0xKSxyKz1vKTppPT09LTEmJihpPXMpfX1yZXR1cm4gaSE9PS0xJiYocis9ZW5jb2RlVVJJQ29tcG9uZW50KGUuc3Vic3RyaW5nKGkpKSksciE9PXZvaWQgMD9yOmV9ZnVuY3Rpb24gT28oZSl7bGV0IHQ7Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDtuKyspe2NvbnN0IHI9ZS5jaGFyQ29kZUF0KG4pO3I9PT0zNXx8cj09PTYzPyh0PT09dm9pZCAwJiYodD1lLnN1YnN0cigwLG4pKSx0Kz1ZcltyXSk6dCE9PXZvaWQgMCYmKHQrPWVbbl0pfXJldHVybiB0IT09dm9pZCAwP3Q6ZX1mdW5jdGlvbiAkbihlLHQpe2xldCBuO3JldHVybiBlLmF1dGhvcml0eSYmZS5wYXRoLmxlbmd0aD4xJiZlLnNjaGVtZT09PSJmaWxlIj9uPWAvLyR7ZS5hdXRob3JpdHl9JHtlLnBhdGh9YDplLnBhdGguY2hhckNvZGVBdCgwKT09PTQ3JiYoZS5wYXRoLmNoYXJDb2RlQXQoMSk+PTY1JiZlLnBhdGguY2hhckNvZGVBdCgxKTw9OTB8fGUucGF0aC5jaGFyQ29kZUF0KDEpPj05NyYmZS5wYXRoLmNoYXJDb2RlQXQoMSk8PTEyMikmJmUucGF0aC5jaGFyQ29kZUF0KDIpPT09NTg/dD9uPWUucGF0aC5zdWJzdHIoMSk6bj1lLnBhdGhbMV0udG9Mb3dlckNhc2UoKStlLnBhdGguc3Vic3RyKDIpOm49ZS5wYXRoLFJ0JiYobj1uLnJlcGxhY2UoL1wvL2csIlxcIikpLG59ZnVuY3Rpb24gV24oZSx0KXtjb25zdCBuPXQ/T286S3I7bGV0IHI9IiIse3NjaGVtZTppLGF1dGhvcml0eTpzLHBhdGg6YSxxdWVyeTpvLGZyYWdtZW50Omx9PWU7aWYoaSYmKHIrPWkscis9IjoiKSwoc3x8aT09PSJmaWxlIikmJihyKz1rZSxyKz1rZSkscyl7bGV0IHU9cy5pbmRleE9mKCJAIik7aWYodSE9PS0xKXtjb25zdCBmPXMuc3Vic3RyKDAsdSk7cz1zLnN1YnN0cih1KzEpLHU9Zi5sYXN0SW5kZXhPZigiOiIpLHU9PT0tMT9yKz1uKGYsITEsITEpOihyKz1uKGYuc3Vic3RyKDAsdSksITEsITEpLHIrPSI6IixyKz1uKGYuc3Vic3RyKHUrMSksITEsITApKSxyKz0iQCJ9cz1zLnRvTG93ZXJDYXNlKCksdT1zLmxhc3RJbmRleE9mKCI6IiksdT09PS0xP3IrPW4ocywhMSwhMCk6KHIrPW4ocy5zdWJzdHIoMCx1KSwhMSwhMCkscis9cy5zdWJzdHIodSkpfWlmKGEpe2lmKGEubGVuZ3RoPj0zJiZhLmNoYXJDb2RlQXQoMCk9PT00NyYmYS5jaGFyQ29kZUF0KDIpPT09NTgpe2NvbnN0IHU9YS5jaGFyQ29kZUF0KDEpO3U+PTY1JiZ1PD05MCYmKGE9YC8ke1N0cmluZy5mcm9tQ2hhckNvZGUodSszMil9OiR7YS5zdWJzdHIoMyl9YCl9ZWxzZSBpZihhLmxlbmd0aD49MiYmYS5jaGFyQ29kZUF0KDEpPT09NTgpe2NvbnN0IHU9YS5jaGFyQ29kZUF0KDApO3U+PTY1JiZ1PD05MCYmKGE9YCR7U3RyaW5nLmZyb21DaGFyQ29kZSh1KzMyKX06JHthLnN1YnN0cigyKX1gKX1yKz1uKGEsITAsITEpfXJldHVybiBvJiYocis9Ij8iLHIrPW4obywhMSwhMSkpLGwmJihyKz0iIyIscis9dD9sOktyKGwsITEsITEpKSxyfWZ1bmN0aW9uIGVpKGUpe3RyeXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGUpfWNhdGNoe3JldHVybiBlLmxlbmd0aD4zP2Uuc3Vic3RyKDAsMykrZWkoZS5zdWJzdHIoMykpOmV9fWNvbnN0IHRpPS8oJVswLTlBLVphLXpdWzAtOUEtWmEtel0pKy9nO2Z1bmN0aW9uIG5uKGUpe3JldHVybiBlLm1hdGNoKHRpKT9lLnJlcGxhY2UodGksdD0+ZWkodCkpOmV9bGV0IFBlPWNsYXNzIGx0e2NvbnN0cnVjdG9yKHQsbil7dGhpcy5saW5lTnVtYmVyPXQsdGhpcy5jb2x1bW49bn13aXRoKHQ9dGhpcy5saW5lTnVtYmVyLG49dGhpcy5jb2x1bW4pe3JldHVybiB0PT09dGhpcy5saW5lTnVtYmVyJiZuPT09dGhpcy5jb2x1bW4/dGhpczpuZXcgbHQodCxuKX1kZWx0YSh0PTAsbj0wKXtyZXR1cm4gdGhpcy53aXRoKHRoaXMubGluZU51bWJlcit0LHRoaXMuY29sdW1uK24pfWVxdWFscyh0KXtyZXR1cm4gbHQuZXF1YWxzKHRoaXMsdCl9c3RhdGljIGVxdWFscyh0LG4pe3JldHVybiF0JiYhbj8hMDohIXQmJiEhbiYmdC5saW5lTnVtYmVyPT09bi5saW5lTnVtYmVyJiZ0LmNvbHVtbj09PW4uY29sdW1ufWlzQmVmb3JlKHQpe3JldHVybiBsdC5pc0JlZm9yZSh0aGlzLHQpfXN0YXRpYyBpc0JlZm9yZSh0LG4pe3JldHVybiB0LmxpbmVOdW1iZXI8bi5saW5lTnVtYmVyPyEwOm4ubGluZU51bWJlcjx0LmxpbmVOdW1iZXI/ITE6dC5jb2x1bW48bi5jb2x1bW59aXNCZWZvcmVPckVxdWFsKHQpe3JldHVybiBsdC5pc0JlZm9yZU9yRXF1YWwodGhpcyx0KX1zdGF0aWMgaXNCZWZvcmVPckVxdWFsKHQsbil7cmV0dXJuIHQubGluZU51bWJlcjxuLmxpbmVOdW1iZXI/ITA6bi5saW5lTnVtYmVyPHQubGluZU51bWJlcj8hMTp0LmNvbHVtbjw9bi5jb2x1bW59c3RhdGljIGNvbXBhcmUodCxuKXtjb25zdCByPXQubGluZU51bWJlcnwwLGk9bi5saW5lTnVtYmVyfDA7aWYocj09PWkpe2NvbnN0IHM9dC5jb2x1bW58MCxhPW4uY29sdW1ufDA7cmV0dXJuIHMtYX1yZXR1cm4gci1pfWNsb25lKCl7cmV0dXJuIG5ldyBsdCh0aGlzLmxpbmVOdW1iZXIsdGhpcy5jb2x1bW4pfXRvU3RyaW5nKCl7cmV0dXJuIigiK3RoaXMubGluZU51bWJlcisiLCIrdGhpcy5jb2x1bW4rIikifXN0YXRpYyBsaWZ0KHQpe3JldHVybiBuZXcgbHQodC5saW5lTnVtYmVyLHQuY29sdW1uKX1zdGF0aWMgaXNJUG9zaXRpb24odCl7cmV0dXJuIHQmJnR5cGVvZiB0LmxpbmVOdW1iZXI9PSJudW1iZXIiJiZ0eXBlb2YgdC5jb2x1bW49PSJudW1iZXIifXRvSlNPTigpe3JldHVybntsaW5lTnVtYmVyOnRoaXMubGluZU51bWJlcixjb2x1bW46dGhpcy5jb2x1bW59fX0sc2U9Y2xhc3MgbmV7Y29uc3RydWN0b3IodCxuLHIsaSl7dD5yfHx0PT09ciYmbj5pPyh0aGlzLnN0YXJ0TGluZU51bWJlcj1yLHRoaXMuc3RhcnRDb2x1bW49aSx0aGlzLmVuZExpbmVOdW1iZXI9dCx0aGlzLmVuZENvbHVtbj1uKToodGhpcy5zdGFydExpbmVOdW1iZXI9dCx0aGlzLnN0YXJ0Q29sdW1uPW4sdGhpcy5lbmRMaW5lTnVtYmVyPXIsdGhpcy5lbmRDb2x1bW49aSl9aXNFbXB0eSgpe3JldHVybiBuZS5pc0VtcHR5KHRoaXMpfXN0YXRpYyBpc0VtcHR5KHQpe3JldHVybiB0LnN0YXJ0TGluZU51bWJlcj09PXQuZW5kTGluZU51bWJlciYmdC5zdGFydENvbHVtbj09PXQuZW5kQ29sdW1ufWNvbnRhaW5zUG9zaXRpb24odCl7cmV0dXJuIG5lLmNvbnRhaW5zUG9zaXRpb24odGhpcyx0KX1zdGF0aWMgY29udGFpbnNQb3NpdGlvbih0LG4pe3JldHVybiEobi5saW5lTnVtYmVyPHQuc3RhcnRMaW5lTnVtYmVyfHxuLmxpbmVOdW1iZXI+dC5lbmRMaW5lTnVtYmVyfHxuLmxpbmVOdW1iZXI9PT10LnN0YXJ0TGluZU51bWJlciYmbi5jb2x1bW48dC5zdGFydENvbHVtbnx8bi5saW5lTnVtYmVyPT09dC5lbmRMaW5lTnVtYmVyJiZuLmNvbHVtbj50LmVuZENvbHVtbil9c3RhdGljIHN0cmljdENvbnRhaW5zUG9zaXRpb24odCxuKXtyZXR1cm4hKG4ubGluZU51bWJlcjx0LnN0YXJ0TGluZU51bWJlcnx8bi5saW5lTnVtYmVyPnQuZW5kTGluZU51bWJlcnx8bi5saW5lTnVtYmVyPT09dC5zdGFydExpbmVOdW1iZXImJm4uY29sdW1uPD10LnN0YXJ0Q29sdW1ufHxuLmxpbmVOdW1iZXI9PT10LmVuZExpbmVOdW1iZXImJm4uY29sdW1uPj10LmVuZENvbHVtbil9Y29udGFpbnNSYW5nZSh0KXtyZXR1cm4gbmUuY29udGFpbnNSYW5nZSh0aGlzLHQpfXN0YXRpYyBjb250YWluc1JhbmdlKHQsbil7cmV0dXJuIShuLnN0YXJ0TGluZU51bWJlcjx0LnN0YXJ0TGluZU51bWJlcnx8bi5lbmRMaW5lTnVtYmVyPHQuc3RhcnRMaW5lTnVtYmVyfHxuLnN0YXJ0TGluZU51bWJlcj50LmVuZExpbmVOdW1iZXJ8fG4uZW5kTGluZU51bWJlcj50LmVuZExpbmVOdW1iZXJ8fG4uc3RhcnRMaW5lTnVtYmVyPT09dC5zdGFydExpbmVOdW1iZXImJm4uc3RhcnRDb2x1bW48dC5zdGFydENvbHVtbnx8bi5lbmRMaW5lTnVtYmVyPT09dC5lbmRMaW5lTnVtYmVyJiZuLmVuZENvbHVtbj50LmVuZENvbHVtbil9c3RyaWN0Q29udGFpbnNSYW5nZSh0KXtyZXR1cm4gbmUuc3RyaWN0Q29udGFpbnNSYW5nZSh0aGlzLHQpfXN0YXRpYyBzdHJpY3RDb250YWluc1JhbmdlKHQsbil7cmV0dXJuIShuLnN0YXJ0TGluZU51bWJlcjx0LnN0YXJ0TGluZU51bWJlcnx8bi5lbmRMaW5lTnVtYmVyPHQuc3RhcnRMaW5lTnVtYmVyfHxuLnN0YXJ0TGluZU51bWJlcj50LmVuZExpbmVOdW1iZXJ8fG4uZW5kTGluZU51bWJlcj50LmVuZExpbmVOdW1iZXJ8fG4uc3RhcnRMaW5lTnVtYmVyPT09dC5zdGFydExpbmVOdW1iZXImJm4uc3RhcnRDb2x1bW48PXQuc3RhcnRDb2x1bW58fG4uZW5kTGluZU51bWJlcj09PXQuZW5kTGluZU51bWJlciYmbi5lbmRDb2x1bW4+PXQuZW5kQ29sdW1uKX1wbHVzUmFuZ2UodCl7cmV0dXJuIG5lLnBsdXNSYW5nZSh0aGlzLHQpfXN0YXRpYyBwbHVzUmFuZ2UodCxuKXtsZXQgcixpLHMsYTtyZXR1cm4gbi5zdGFydExpbmVOdW1iZXI8dC5zdGFydExpbmVOdW1iZXI/KHI9bi5zdGFydExpbmVOdW1iZXIsaT1uLnN0YXJ0Q29sdW1uKTpuLnN0YXJ0TGluZU51bWJlcj09PXQuc3RhcnRMaW5lTnVtYmVyPyhyPW4uc3RhcnRMaW5lTnVtYmVyLGk9TWF0aC5taW4obi5zdGFydENvbHVtbix0LnN0YXJ0Q29sdW1uKSk6KHI9dC5zdGFydExpbmVOdW1iZXIsaT10LnN0YXJ0Q29sdW1uKSxuLmVuZExpbmVOdW1iZXI+dC5lbmRMaW5lTnVtYmVyPyhzPW4uZW5kTGluZU51bWJlcixhPW4uZW5kQ29sdW1uKTpuLmVuZExpbmVOdW1iZXI9PT10LmVuZExpbmVOdW1iZXI/KHM9bi5lbmRMaW5lTnVtYmVyLGE9TWF0aC5tYXgobi5lbmRDb2x1bW4sdC5lbmRDb2x1bW4pKToocz10LmVuZExpbmVOdW1iZXIsYT10LmVuZENvbHVtbiksbmV3IG5lKHIsaSxzLGEpfWludGVyc2VjdFJhbmdlcyh0KXtyZXR1cm4gbmUuaW50ZXJzZWN0UmFuZ2VzKHRoaXMsdCl9c3RhdGljIGludGVyc2VjdFJhbmdlcyh0LG4pe2xldCByPXQuc3RhcnRMaW5lTnVtYmVyLGk9dC5zdGFydENvbHVtbixzPXQuZW5kTGluZU51bWJlcixhPXQuZW5kQ29sdW1uO2NvbnN0IG89bi5zdGFydExpbmVOdW1iZXIsbD1uLnN0YXJ0Q29sdW1uLHU9bi5lbmRMaW5lTnVtYmVyLGY9bi5lbmRDb2x1bW47cmV0dXJuIHI8bz8ocj1vLGk9bCk6cj09PW8mJihpPU1hdGgubWF4KGksbCkpLHM+dT8ocz11LGE9Zik6cz09PXUmJihhPU1hdGgubWluKGEsZikpLHI+c3x8cj09PXMmJmk+YT9udWxsOm5ldyBuZShyLGkscyxhKX1lcXVhbHNSYW5nZSh0KXtyZXR1cm4gbmUuZXF1YWxzUmFuZ2UodGhpcyx0KX1zdGF0aWMgZXF1YWxzUmFuZ2UodCxuKXtyZXR1cm4hdCYmIW4/ITA6ISF0JiYhIW4mJnQuc3RhcnRMaW5lTnVtYmVyPT09bi5zdGFydExpbmVOdW1iZXImJnQuc3RhcnRDb2x1bW49PT1uLnN0YXJ0Q29sdW1uJiZ0LmVuZExpbmVOdW1iZXI9PT1uLmVuZExpbmVOdW1iZXImJnQuZW5kQ29sdW1uPT09bi5lbmRDb2x1bW59Z2V0RW5kUG9zaXRpb24oKXtyZXR1cm4gbmUuZ2V0RW5kUG9zaXRpb24odGhpcyl9c3RhdGljIGdldEVuZFBvc2l0aW9uKHQpe3JldHVybiBuZXcgUGUodC5lbmRMaW5lTnVtYmVyLHQuZW5kQ29sdW1uKX1nZXRTdGFydFBvc2l0aW9uKCl7cmV0dXJuIG5lLmdldFN0YXJ0UG9zaXRpb24odGhpcyl9c3RhdGljIGdldFN0YXJ0UG9zaXRpb24odCl7cmV0dXJuIG5ldyBQZSh0LnN0YXJ0TGluZU51bWJlcix0LnN0YXJ0Q29sdW1uKX10b1N0cmluZygpe3JldHVybiJbIit0aGlzLnN0YXJ0TGluZU51bWJlcisiLCIrdGhpcy5zdGFydENvbHVtbisiIC0+ICIrdGhpcy5lbmRMaW5lTnVtYmVyKyIsIit0aGlzLmVuZENvbHVtbisiXSJ9c2V0RW5kUG9zaXRpb24odCxuKXtyZXR1cm4gbmV3IG5lKHRoaXMuc3RhcnRMaW5lTnVtYmVyLHRoaXMuc3RhcnRDb2x1bW4sdCxuKX1zZXRTdGFydFBvc2l0aW9uKHQsbil7cmV0dXJuIG5ldyBuZSh0LG4sdGhpcy5lbmRMaW5lTnVtYmVyLHRoaXMuZW5kQ29sdW1uKX1jb2xsYXBzZVRvU3RhcnQoKXtyZXR1cm4gbmUuY29sbGFwc2VUb1N0YXJ0KHRoaXMpfXN0YXRpYyBjb2xsYXBzZVRvU3RhcnQodCl7cmV0dXJuIG5ldyBuZSh0LnN0YXJ0TGluZU51bWJlcix0LnN0YXJ0Q29sdW1uLHQuc3RhcnRMaW5lTnVtYmVyLHQuc3RhcnRDb2x1bW4pfWNvbGxhcHNlVG9FbmQoKXtyZXR1cm4gbmUuY29sbGFwc2VUb0VuZCh0aGlzKX1zdGF0aWMgY29sbGFwc2VUb0VuZCh0KXtyZXR1cm4gbmV3IG5lKHQuZW5kTGluZU51bWJlcix0LmVuZENvbHVtbix0LmVuZExpbmVOdW1iZXIsdC5lbmRDb2x1bW4pfWRlbHRhKHQpe3JldHVybiBuZXcgbmUodGhpcy5zdGFydExpbmVOdW1iZXIrdCx0aGlzLnN0YXJ0Q29sdW1uLHRoaXMuZW5kTGluZU51bWJlcit0LHRoaXMuZW5kQ29sdW1uKX1zdGF0aWMgZnJvbVBvc2l0aW9ucyh0LG49dCl7cmV0dXJuIG5ldyBuZSh0LmxpbmVOdW1iZXIsdC5jb2x1bW4sbi5saW5lTnVtYmVyLG4uY29sdW1uKX1zdGF0aWMgbGlmdCh0KXtyZXR1cm4gdD9uZXcgbmUodC5zdGFydExpbmVOdW1iZXIsdC5zdGFydENvbHVtbix0LmVuZExpbmVOdW1iZXIsdC5lbmRDb2x1bW4pOm51bGx9c3RhdGljIGlzSVJhbmdlKHQpe3JldHVybiB0JiZ0eXBlb2YgdC5zdGFydExpbmVOdW1iZXI9PSJudW1iZXIiJiZ0eXBlb2YgdC5zdGFydENvbHVtbj09Im51bWJlciImJnR5cGVvZiB0LmVuZExpbmVOdW1iZXI9PSJudW1iZXIiJiZ0eXBlb2YgdC5lbmRDb2x1bW49PSJudW1iZXIifXN0YXRpYyBhcmVJbnRlcnNlY3RpbmdPclRvdWNoaW5nKHQsbil7cmV0dXJuISh0LmVuZExpbmVOdW1iZXI8bi5zdGFydExpbmVOdW1iZXJ8fHQuZW5kTGluZU51bWJlcj09PW4uc3RhcnRMaW5lTnVtYmVyJiZ0LmVuZENvbHVtbjxuLnN0YXJ0Q29sdW1ufHxuLmVuZExpbmVOdW1iZXI8dC5zdGFydExpbmVOdW1iZXJ8fG4uZW5kTGluZU51bWJlcj09PXQuc3RhcnRMaW5lTnVtYmVyJiZuLmVuZENvbHVtbjx0LnN0YXJ0Q29sdW1uKX1zdGF0aWMgYXJlSW50ZXJzZWN0aW5nKHQsbil7cmV0dXJuISh0LmVuZExpbmVOdW1iZXI8bi5zdGFydExpbmVOdW1iZXJ8fHQuZW5kTGluZU51bWJlcj09PW4uc3RhcnRMaW5lTnVtYmVyJiZ0LmVuZENvbHVtbjw9bi5zdGFydENvbHVtbnx8bi5lbmRMaW5lTnVtYmVyPHQuc3RhcnRMaW5lTnVtYmVyfHxuLmVuZExpbmVOdW1iZXI9PT10LnN0YXJ0TGluZU51bWJlciYmbi5lbmRDb2x1bW48PXQuc3RhcnRDb2x1bW4pfXN0YXRpYyBjb21wYXJlUmFuZ2VzVXNpbmdTdGFydHModCxuKXtpZih0JiZuKXtjb25zdCBzPXQuc3RhcnRMaW5lTnVtYmVyfDAsYT1uLnN0YXJ0TGluZU51bWJlcnwwO2lmKHM9PT1hKXtjb25zdCBvPXQuc3RhcnRDb2x1bW58MCxsPW4uc3RhcnRDb2x1bW58MDtpZihvPT09bCl7Y29uc3QgdT10LmVuZExpbmVOdW1iZXJ8MCxmPW4uZW5kTGluZU51bWJlcnwwO2lmKHU9PT1mKXtjb25zdCBoPXQuZW5kQ29sdW1ufDAsZD1uLmVuZENvbHVtbnwwO3JldHVybiBoLWR9cmV0dXJuIHUtZn1yZXR1cm4gby1sfXJldHVybiBzLWF9cmV0dXJuKHQ/MTowKS0obj8xOjApfXN0YXRpYyBjb21wYXJlUmFuZ2VzVXNpbmdFbmRzKHQsbil7cmV0dXJuIHQuZW5kTGluZU51bWJlcj09PW4uZW5kTGluZU51bWJlcj90LmVuZENvbHVtbj09PW4uZW5kQ29sdW1uP3Quc3RhcnRMaW5lTnVtYmVyPT09bi5zdGFydExpbmVOdW1iZXI/dC5zdGFydENvbHVtbi1uLnN0YXJ0Q29sdW1uOnQuc3RhcnRMaW5lTnVtYmVyLW4uc3RhcnRMaW5lTnVtYmVyOnQuZW5kQ29sdW1uLW4uZW5kQ29sdW1uOnQuZW5kTGluZU51bWJlci1uLmVuZExpbmVOdW1iZXJ9c3RhdGljIHNwYW5zTXVsdGlwbGVMaW5lcyh0KXtyZXR1cm4gdC5lbmRMaW5lTnVtYmVyPnQuc3RhcnRMaW5lTnVtYmVyfXRvSlNPTigpe3JldHVybiB0aGlzfX07ZnVuY3Rpb24gVW8oZSx0LG49KHIsaSk9PnI9PT1pKXtpZihlPT09dClyZXR1cm4hMDtpZighZXx8IXR8fGUubGVuZ3RoIT09dC5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCByPTAsaT1lLmxlbmd0aDtyPGk7cisrKWlmKCFuKGVbcl0sdFtyXSkpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24qam8oZSx0KXtsZXQgbixyO2Zvcihjb25zdCBpIG9mIGUpciE9PXZvaWQgMCYmdChyLGkpP24ucHVzaChpKToobiYmKHlpZWxkIG4pLG49W2ldKSxyPWk7biYmKHlpZWxkIG4pfWZ1bmN0aW9uIHFvKGUsdCl7Zm9yKGxldCBuPTA7bjw9ZS5sZW5ndGg7bisrKXQobj09PTA/dm9pZCAwOmVbbi0xXSxuPT09ZS5sZW5ndGg/dm9pZCAwOmVbbl0pfWZ1bmN0aW9uIEJvKGUsdCl7Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDtuKyspdChuPT09MD92b2lkIDA6ZVtuLTFdLGVbbl0sbisxPT09ZS5sZW5ndGg/dm9pZCAwOmVbbisxXSl9ZnVuY3Rpb24gJG8oZSx0KXtmb3IoY29uc3QgbiBvZiB0KWUucHVzaChuKX12YXIgbmk7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQocyl7cmV0dXJuIHM8MH1lLmlzTGVzc1RoYW49dDtmdW5jdGlvbiBuKHMpe3JldHVybiBzPD0wfWUuaXNMZXNzVGhhbk9yRXF1YWw9bjtmdW5jdGlvbiByKHMpe3JldHVybiBzPjB9ZS5pc0dyZWF0ZXJUaGFuPXI7ZnVuY3Rpb24gaShzKXtyZXR1cm4gcz09PTB9ZS5pc05laXRoZXJMZXNzT3JHcmVhdGVyVGhhbj1pLGUuZ3JlYXRlclRoYW49MSxlLmxlc3NUaGFuPS0xLGUubmVpdGhlckxlc3NPckdyZWF0ZXJUaGFuPTB9KShuaXx8KG5pPXt9KSk7ZnVuY3Rpb24gcm4oZSx0KXtyZXR1cm4obixyKT0+dChlKG4pLGUocikpfWNvbnN0IHNuPShlLHQpPT5lLXQ7ZnVuY3Rpb24gV28oZSl7cmV0dXJuKHQsbik9Pi1lKHQsbil9ZnVuY3Rpb24gcmkoZSl7cmV0dXJuIGU8MD8wOmU+MjU1PzI1NTplfDB9ZnVuY3Rpb24gYnQoZSl7cmV0dXJuIGU8MD8wOmU+NDI5NDk2NzI5NT80Mjk0OTY3Mjk1OmV8MH1jbGFzcyBIb3tjb25zdHJ1Y3Rvcih0KXt0aGlzLnZhbHVlcz10LHRoaXMucHJlZml4U3VtPW5ldyBVaW50MzJBcnJheSh0Lmxlbmd0aCksdGhpcy5wcmVmaXhTdW1WYWxpZEluZGV4PW5ldyBJbnQzMkFycmF5KDEpLHRoaXMucHJlZml4U3VtVmFsaWRJbmRleFswXT0tMX1pbnNlcnRWYWx1ZXModCxuKXt0PWJ0KHQpO2NvbnN0IHI9dGhpcy52YWx1ZXMsaT10aGlzLnByZWZpeFN1bSxzPW4ubGVuZ3RoO3JldHVybiBzPT09MD8hMToodGhpcy52YWx1ZXM9bmV3IFVpbnQzMkFycmF5KHIubGVuZ3RoK3MpLHRoaXMudmFsdWVzLnNldChyLnN1YmFycmF5KDAsdCksMCksdGhpcy52YWx1ZXMuc2V0KHIuc3ViYXJyYXkodCksdCtzKSx0aGlzLnZhbHVlcy5zZXQobix0KSx0LTE8dGhpcy5wcmVmaXhTdW1WYWxpZEluZGV4WzBdJiYodGhpcy5wcmVmaXhTdW1WYWxpZEluZGV4WzBdPXQtMSksdGhpcy5wcmVmaXhTdW09bmV3IFVpbnQzMkFycmF5KHRoaXMudmFsdWVzLmxlbmd0aCksdGhpcy5wcmVmaXhTdW1WYWxpZEluZGV4WzBdPj0wJiZ0aGlzLnByZWZpeFN1bS5zZXQoaS5zdWJhcnJheSgwLHRoaXMucHJlZml4U3VtVmFsaWRJbmRleFswXSsxKSksITApfXNldFZhbHVlKHQsbil7cmV0dXJuIHQ9YnQodCksbj1idChuKSx0aGlzLnZhbHVlc1t0XT09PW4/ITE6KHRoaXMudmFsdWVzW3RdPW4sdC0xPHRoaXMucHJlZml4U3VtVmFsaWRJbmRleFswXSYmKHRoaXMucHJlZml4U3VtVmFsaWRJbmRleFswXT10LTEpLCEwKX1yZW1vdmVWYWx1ZXModCxuKXt0PWJ0KHQpLG49YnQobik7Y29uc3Qgcj10aGlzLnZhbHVlcyxpPXRoaXMucHJlZml4U3VtO2lmKHQ+PXIubGVuZ3RoKXJldHVybiExO2NvbnN0IHM9ci5sZW5ndGgtdDtyZXR1cm4gbj49cyYmKG49cyksbj09PTA/ITE6KHRoaXMudmFsdWVzPW5ldyBVaW50MzJBcnJheShyLmxlbmd0aC1uKSx0aGlzLnZhbHVlcy5zZXQoci5zdWJhcnJheSgwLHQpLDApLHRoaXMudmFsdWVzLnNldChyLnN1YmFycmF5KHQrbiksdCksdGhpcy5wcmVmaXhTdW09bmV3IFVpbnQzMkFycmF5KHRoaXMudmFsdWVzLmxlbmd0aCksdC0xPHRoaXMucHJlZml4U3VtVmFsaWRJbmRleFswXSYmKHRoaXMucHJlZml4U3VtVmFsaWRJbmRleFswXT10LTEpLHRoaXMucHJlZml4U3VtVmFsaWRJbmRleFswXT49MCYmdGhpcy5wcmVmaXhTdW0uc2V0KGkuc3ViYXJyYXkoMCx0aGlzLnByZWZpeFN1bVZhbGlkSW5kZXhbMF0rMSkpLCEwKX1nZXRUb3RhbFN1bSgpe3JldHVybiB0aGlzLnZhbHVlcy5sZW5ndGg9PT0wPzA6dGhpcy5fZ2V0UHJlZml4U3VtKHRoaXMudmFsdWVzLmxlbmd0aC0xKX1nZXRQcmVmaXhTdW0odCl7cmV0dXJuIHQ8MD8wOih0PWJ0KHQpLHRoaXMuX2dldFByZWZpeFN1bSh0KSl9X2dldFByZWZpeFN1bSh0KXtpZih0PD10aGlzLnByZWZpeFN1bVZhbGlkSW5kZXhbMF0pcmV0dXJuIHRoaXMucHJlZml4U3VtW3RdO2xldCBuPXRoaXMucHJlZml4U3VtVmFsaWRJbmRleFswXSsxO249PT0wJiYodGhpcy5wcmVmaXhTdW1bMF09dGhpcy52YWx1ZXNbMF0sbisrKSx0Pj10aGlzLnZhbHVlcy5sZW5ndGgmJih0PXRoaXMudmFsdWVzLmxlbmd0aC0xKTtmb3IobGV0IHI9bjtyPD10O3IrKyl0aGlzLnByZWZpeFN1bVtyXT10aGlzLnByZWZpeFN1bVtyLTFdK3RoaXMudmFsdWVzW3JdO3JldHVybiB0aGlzLnByZWZpeFN1bVZhbGlkSW5kZXhbMF09TWF0aC5tYXgodGhpcy5wcmVmaXhTdW1WYWxpZEluZGV4WzBdLHQpLHRoaXMucHJlZml4U3VtW3RdfWdldEluZGV4T2YodCl7dD1NYXRoLmZsb29yKHQpLHRoaXMuZ2V0VG90YWxTdW0oKTtsZXQgbj0wLHI9dGhpcy52YWx1ZXMubGVuZ3RoLTEsaT0wLHM9MCxhPTA7Zm9yKDtuPD1yOylpZihpPW4rKHItbikvMnwwLHM9dGhpcy5wcmVmaXhTdW1baV0sYT1zLXRoaXMudmFsdWVzW2ldLHQ8YSlyPWktMTtlbHNlIGlmKHQ+PXMpbj1pKzE7ZWxzZSBicmVhaztyZXR1cm4gbmV3IHpvKGksdC1hKX19Y2xhc3Mgem97Y29uc3RydWN0b3IodCxuKXt0aGlzLmluZGV4PXQsdGhpcy5yZW1haW5kZXI9bix0aGlzLl9wcmVmaXhTdW1JbmRleE9mUmVzdWx0QnJhbmQ9dm9pZCAwLHRoaXMuaW5kZXg9dCx0aGlzLnJlbWFpbmRlcj1ufX1jbGFzcyBHb3tjb25zdHJ1Y3Rvcih0LG4scixpKXt0aGlzLl91cmk9dCx0aGlzLl9saW5lcz1uLHRoaXMuX2VvbD1yLHRoaXMuX3ZlcnNpb25JZD1pLHRoaXMuX2xpbmVTdGFydHM9bnVsbCx0aGlzLl9jYWNoZWRUZXh0VmFsdWU9bnVsbH1kaXNwb3NlKCl7dGhpcy5fbGluZXMubGVuZ3RoPTB9Z2V0IHZlcnNpb24oKXtyZXR1cm4gdGhpcy5fdmVyc2lvbklkfWdldFRleHQoKXtyZXR1cm4gdGhpcy5fY2FjaGVkVGV4dFZhbHVlPT09bnVsbCYmKHRoaXMuX2NhY2hlZFRleHRWYWx1ZT10aGlzLl9saW5lcy5qb2luKHRoaXMuX2VvbCkpLHRoaXMuX2NhY2hlZFRleHRWYWx1ZX1vbkV2ZW50cyh0KXt0LmVvbCYmdC5lb2whPT10aGlzLl9lb2wmJih0aGlzLl9lb2w9dC5lb2wsdGhpcy5fbGluZVN0YXJ0cz1udWxsKTtjb25zdCBuPXQuY2hhbmdlcztmb3IoY29uc3QgciBvZiBuKXRoaXMuX2FjY2VwdERlbGV0ZVJhbmdlKHIucmFuZ2UpLHRoaXMuX2FjY2VwdEluc2VydFRleHQobmV3IFBlKHIucmFuZ2Uuc3RhcnRMaW5lTnVtYmVyLHIucmFuZ2Uuc3RhcnRDb2x1bW4pLHIudGV4dCk7dGhpcy5fdmVyc2lvbklkPXQudmVyc2lvbklkLHRoaXMuX2NhY2hlZFRleHRWYWx1ZT1udWxsfV9lbnN1cmVMaW5lU3RhcnRzKCl7aWYoIXRoaXMuX2xpbmVTdGFydHMpe2NvbnN0IHQ9dGhpcy5fZW9sLmxlbmd0aCxuPXRoaXMuX2xpbmVzLmxlbmd0aCxyPW5ldyBVaW50MzJBcnJheShuKTtmb3IobGV0IGk9MDtpPG47aSsrKXJbaV09dGhpcy5fbGluZXNbaV0ubGVuZ3RoK3Q7dGhpcy5fbGluZVN0YXJ0cz1uZXcgSG8ocil9fV9zZXRMaW5lVGV4dCh0LG4pe3RoaXMuX2xpbmVzW3RdPW4sdGhpcy5fbGluZVN0YXJ0cyYmdGhpcy5fbGluZVN0YXJ0cy5zZXRWYWx1ZSh0LHRoaXMuX2xpbmVzW3RdLmxlbmd0aCt0aGlzLl9lb2wubGVuZ3RoKX1fYWNjZXB0RGVsZXRlUmFuZ2UodCl7aWYodC5zdGFydExpbmVOdW1iZXI9PT10LmVuZExpbmVOdW1iZXIpe2lmKHQuc3RhcnRDb2x1bW49PT10LmVuZENvbHVtbilyZXR1cm47dGhpcy5fc2V0TGluZVRleHQodC5zdGFydExpbmVOdW1iZXItMSx0aGlzLl9saW5lc1t0LnN0YXJ0TGluZU51bWJlci0xXS5zdWJzdHJpbmcoMCx0LnN0YXJ0Q29sdW1uLTEpK3RoaXMuX2xpbmVzW3Quc3RhcnRMaW5lTnVtYmVyLTFdLnN1YnN0cmluZyh0LmVuZENvbHVtbi0xKSk7cmV0dXJufXRoaXMuX3NldExpbmVUZXh0KHQuc3RhcnRMaW5lTnVtYmVyLTEsdGhpcy5fbGluZXNbdC5zdGFydExpbmVOdW1iZXItMV0uc3Vic3RyaW5nKDAsdC5zdGFydENvbHVtbi0xKSt0aGlzLl9saW5lc1t0LmVuZExpbmVOdW1iZXItMV0uc3Vic3RyaW5nKHQuZW5kQ29sdW1uLTEpKSx0aGlzLl9saW5lcy5zcGxpY2UodC5zdGFydExpbmVOdW1iZXIsdC5lbmRMaW5lTnVtYmVyLXQuc3RhcnRMaW5lTnVtYmVyKSx0aGlzLl9saW5lU3RhcnRzJiZ0aGlzLl9saW5lU3RhcnRzLnJlbW92ZVZhbHVlcyh0LnN0YXJ0TGluZU51bWJlcix0LmVuZExpbmVOdW1iZXItdC5zdGFydExpbmVOdW1iZXIpfV9hY2NlcHRJbnNlcnRUZXh0KHQsbil7aWYobi5sZW5ndGg9PT0wKXJldHVybjtjb25zdCByPXJvKG4pO2lmKHIubGVuZ3RoPT09MSl7dGhpcy5fc2V0TGluZVRleHQodC5saW5lTnVtYmVyLTEsdGhpcy5fbGluZXNbdC5saW5lTnVtYmVyLTFdLnN1YnN0cmluZygwLHQuY29sdW1uLTEpK3JbMF0rdGhpcy5fbGluZXNbdC5saW5lTnVtYmVyLTFdLnN1YnN0cmluZyh0LmNvbHVtbi0xKSk7cmV0dXJufXJbci5sZW5ndGgtMV0rPXRoaXMuX2xpbmVzW3QubGluZU51bWJlci0xXS5zdWJzdHJpbmcodC5jb2x1bW4tMSksdGhpcy5fc2V0TGluZVRleHQodC5saW5lTnVtYmVyLTEsdGhpcy5fbGluZXNbdC5saW5lTnVtYmVyLTFdLnN1YnN0cmluZygwLHQuY29sdW1uLTEpK3JbMF0pO2NvbnN0IGk9bmV3IFVpbnQzMkFycmF5KHIubGVuZ3RoLTEpO2ZvcihsZXQgcz0xO3M8ci5sZW5ndGg7cysrKXRoaXMuX2xpbmVzLnNwbGljZSh0LmxpbmVOdW1iZXIrcy0xLDAscltzXSksaVtzLTFdPXJbc10ubGVuZ3RoK3RoaXMuX2VvbC5sZW5ndGg7dGhpcy5fbGluZVN0YXJ0cyYmdGhpcy5fbGluZVN0YXJ0cy5pbnNlcnRWYWx1ZXModC5saW5lTnVtYmVyLGkpfX1jb25zdCBKbz0iYH4hQCMkJV4mKigpLT0rW3tdfVxcfDs6J1wiLC48Pi8/IjtmdW5jdGlvbiBYbyhlPSIiKXtsZXQgdD0iKC0/XFxkKlxcLlxcZFxcdyopfChbXiI7Zm9yKGNvbnN0IG4gb2YgSm8pZS5pbmRleE9mKG4pPj0wfHwodCs9IlxcIituKTtyZXR1cm4gdCs9Ilxcc10rKSIsbmV3IFJlZ0V4cCh0LCJnIil9Y29uc3QgaWk9WG8oKTtmdW5jdGlvbiBzaShlKXtsZXQgdD1paTtpZihlJiZlIGluc3RhbmNlb2YgUmVnRXhwKWlmKGUuZ2xvYmFsKXQ9ZTtlbHNle2xldCBuPSJnIjtlLmlnbm9yZUNhc2UmJihuKz0iaSIpLGUubXVsdGlsaW5lJiYobis9Im0iKSxlLnVuaWNvZGUmJihuKz0idSIpLHQ9bmV3IFJlZ0V4cChlLnNvdXJjZSxuKX1yZXR1cm4gdC5sYXN0SW5kZXg9MCx0fWNvbnN0IGFpPW5ldyBVYTthaS51bnNoaWZ0KHttYXhMZW46MWUzLHdpbmRvd1NpemU6MTUsdGltZUJ1ZGdldDoxNTB9KTtmdW5jdGlvbiBIbihlLHQsbixyLGkpe2lmKHQ9c2kodCksaXx8KGk9UXQuZmlyc3QoYWkpKSxuLmxlbmd0aD5pLm1heExlbil7bGV0IHU9ZS1pLm1heExlbi8yO3JldHVybiB1PDA/dT0wOnIrPXUsbj1uLnN1YnN0cmluZyh1LGUraS5tYXhMZW4vMiksSG4oZSx0LG4scixpKX1jb25zdCBzPURhdGUubm93KCksYT1lLTEtcjtsZXQgbz0tMSxsPW51bGw7Zm9yKGxldCB1PTE7IShEYXRlLm5vdygpLXM+PWkudGltZUJ1ZGdldCk7dSsrKXtjb25zdCBmPWEtaS53aW5kb3dTaXplKnU7dC5sYXN0SW5kZXg9TWF0aC5tYXgoMCxmKTtjb25zdCBoPVFvKHQsbixhLG8pO2lmKCFoJiZsfHwobD1oLGY8PTApKWJyZWFrO289Zn1pZihsKXtjb25zdCB1PXt3b3JkOmxbMF0sc3RhcnRDb2x1bW46cisxK2wuaW5kZXgsZW5kQ29sdW1uOnIrMStsLmluZGV4K2xbMF0ubGVuZ3RofTtyZXR1cm4gdC5sYXN0SW5kZXg9MCx1fXJldHVybiBudWxsfWZ1bmN0aW9uIFFvKGUsdCxuLHIpe2xldCBpO2Zvcig7aT1lLmV4ZWModCk7KXtjb25zdCBzPWkuaW5kZXh8fDA7aWYoczw9biYmZS5sYXN0SW5kZXg+PW4pcmV0dXJuIGk7aWYocj4wJiZzPnIpcmV0dXJuIG51bGx9cmV0dXJuIG51bGx9Y2xhc3Mgem57Y29uc3RydWN0b3IodCl7Y29uc3Qgbj1yaSh0KTt0aGlzLl9kZWZhdWx0VmFsdWU9bix0aGlzLl9hc2NpaU1hcD16bi5fY3JlYXRlQXNjaWlNYXAobiksdGhpcy5fbWFwPW5ldyBNYXB9c3RhdGljIF9jcmVhdGVBc2NpaU1hcCh0KXtjb25zdCBuPW5ldyBVaW50OEFycmF5KDI1Nik7cmV0dXJuIG4uZmlsbCh0KSxufXNldCh0LG4pe2NvbnN0IHI9cmkobik7dD49MCYmdDwyNTY/dGhpcy5fYXNjaWlNYXBbdF09cjp0aGlzLl9tYXAuc2V0KHQscil9Z2V0KHQpe3JldHVybiB0Pj0wJiZ0PDI1Nj90aGlzLl9hc2NpaU1hcFt0XTp0aGlzLl9tYXAuZ2V0KHQpfHx0aGlzLl9kZWZhdWx0VmFsdWV9Y2xlYXIoKXt0aGlzLl9hc2NpaU1hcC5maWxsKHRoaXMuX2RlZmF1bHRWYWx1ZSksdGhpcy5fbWFwLmNsZWFyKCl9fWNsYXNzIFpve2NvbnN0cnVjdG9yKHQsbixyKXtjb25zdCBpPW5ldyBVaW50OEFycmF5KHQqbik7Zm9yKGxldCBzPTAsYT10Km47czxhO3MrKylpW3NdPXI7dGhpcy5fZGF0YT1pLHRoaXMucm93cz10LHRoaXMuY29scz1ufWdldCh0LG4pe3JldHVybiB0aGlzLl9kYXRhW3QqdGhpcy5jb2xzK25dfXNldCh0LG4scil7dGhpcy5fZGF0YVt0KnRoaXMuY29scytuXT1yfX1jbGFzcyBZb3tjb25zdHJ1Y3Rvcih0KXtsZXQgbj0wLHI9MDtmb3IobGV0IHM9MCxhPXQubGVuZ3RoO3M8YTtzKyspe2NvbnN0W28sbCx1XT10W3NdO2w+biYmKG49bCksbz5yJiYocj1vKSx1PnImJihyPXUpfW4rKyxyKys7Y29uc3QgaT1uZXcgWm8ocixuLDApO2ZvcihsZXQgcz0wLGE9dC5sZW5ndGg7czxhO3MrKyl7Y29uc3RbbyxsLHVdPXRbc107aS5zZXQobyxsLHUpfXRoaXMuX3N0YXRlcz1pLHRoaXMuX21heENoYXJDb2RlPW59bmV4dFN0YXRlKHQsbil7cmV0dXJuIG48MHx8bj49dGhpcy5fbWF4Q2hhckNvZGU/MDp0aGlzLl9zdGF0ZXMuZ2V0KHQsbil9fWxldCBHbj1udWxsO2Z1bmN0aW9uIEtvKCl7cmV0dXJuIEduPT09bnVsbCYmKEduPW5ldyBZbyhbWzEsMTA0LDJdLFsxLDcyLDJdLFsxLDEwMiw2XSxbMSw3MCw2XSxbMiwxMTYsM10sWzIsODQsM10sWzMsMTE2LDRdLFszLDg0LDRdLFs0LDExMiw1XSxbNCw4MCw1XSxbNSwxMTUsOV0sWzUsODMsOV0sWzUsNTgsMTBdLFs2LDEwNSw3XSxbNiw3Myw3XSxbNywxMDgsOF0sWzcsNzYsOF0sWzgsMTAxLDldLFs4LDY5LDldLFs5LDU4LDEwXSxbMTAsNDcsMTFdLFsxMSw0NywxMl1dKSksR259bGV0IE10PW51bGw7ZnVuY3Rpb24gZWwoKXtpZihNdD09PW51bGwpe010PW5ldyB6bigwKTtjb25zdCBlPWAgCTw+JyLjgIHjgILvvaHvvaTvvIzvvI7vvJrvvJvigJjjgIjjgIzjgI7jgJTvvIjvvLvvvZvvvaLvvaPvvZ3vvL3vvInjgJXjgI/jgI3jgInigJnvvYDvvZ7igKZgO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKU10LnNldChlLmNoYXJDb2RlQXQobiksMSk7Y29uc3QgdD0iLiw7OiI7Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspTXQuc2V0KHQuY2hhckNvZGVBdChuKSwyKX1yZXR1cm4gTXR9Y2xhc3MgYW57c3RhdGljIF9jcmVhdGVMaW5rKHQsbixyLGkscyl7bGV0IGE9cy0xO2Rve2NvbnN0IG89bi5jaGFyQ29kZUF0KGEpO2lmKHQuZ2V0KG8pIT09MilicmVhazthLS19d2hpbGUoYT5pKTtpZihpPjApe2NvbnN0IG89bi5jaGFyQ29kZUF0KGktMSksbD1uLmNoYXJDb2RlQXQoYSk7KG89PT00MCYmbD09PTQxfHxvPT09OTEmJmw9PT05M3x8bz09PTEyMyYmbD09PTEyNSkmJmEtLX1yZXR1cm57cmFuZ2U6e3N0YXJ0TGluZU51bWJlcjpyLHN0YXJ0Q29sdW1uOmkrMSxlbmRMaW5lTnVtYmVyOnIsZW5kQ29sdW1uOmErMn0sdXJsOm4uc3Vic3RyaW5nKGksYSsxKX19c3RhdGljIGNvbXB1dGVMaW5rcyh0LG49S28oKSl7Y29uc3Qgcj1lbCgpLGk9W107Zm9yKGxldCBzPTEsYT10LmdldExpbmVDb3VudCgpO3M8PWE7cysrKXtjb25zdCBvPXQuZ2V0TGluZUNvbnRlbnQocyksbD1vLmxlbmd0aDtsZXQgdT0wLGY9MCxoPTAsZD0xLGc9ITEsbT0hMSx2PSExLHA9ITE7Zm9yKDt1PGw7KXtsZXQgeD0hMTtjb25zdCB5PW8uY2hhckNvZGVBdCh1KTtpZihkPT09MTMpe2xldCBiO3N3aXRjaCh5KXtjYXNlIDQwOmc9ITAsYj0wO2JyZWFrO2Nhc2UgNDE6Yj1nPzA6MTticmVhaztjYXNlIDkxOnY9ITAsbT0hMCxiPTA7YnJlYWs7Y2FzZSA5Mzp2PSExLGI9bT8wOjE7YnJlYWs7Y2FzZSAxMjM6cD0hMCxiPTA7YnJlYWs7Y2FzZSAxMjU6Yj1wPzA6MTticmVhaztjYXNlIDM5OmNhc2UgMzQ6Y2FzZSA5NjpoPT09eT9iPTE6aD09PTM5fHxoPT09MzR8fGg9PT05Nj9iPTA6Yj0xO2JyZWFrO2Nhc2UgNDI6Yj1oPT09NDI/MTowO2JyZWFrO2Nhc2UgMTI0OmI9aD09PTEyND8xOjA7YnJlYWs7Y2FzZSAzMjpiPXY/MDoxO2JyZWFrO2RlZmF1bHQ6Yj1yLmdldCh5KX1iPT09MSYmKGkucHVzaChhbi5fY3JlYXRlTGluayhyLG8scyxmLHUpKSx4PSEwKX1lbHNlIGlmKGQ9PT0xMil7bGV0IGI7eT09PTkxPyhtPSEwLGI9MCk6Yj1yLmdldCh5KSxiPT09MT94PSEwOmQ9MTN9ZWxzZSBkPW4ubmV4dFN0YXRlKGQseSksZD09PTAmJih4PSEwKTt4JiYoZD0xLGc9ITEsbT0hMSxwPSExLGY9dSsxLGg9eSksdSsrfWQ9PT0xMyYmaS5wdXNoKGFuLl9jcmVhdGVMaW5rKHIsbyxzLGYsbCkpfXJldHVybiBpfX1mdW5jdGlvbiB0bChlKXtyZXR1cm4hZXx8dHlwZW9mIGUuZ2V0TGluZUNvdW50IT0iZnVuY3Rpb24ifHx0eXBlb2YgZS5nZXRMaW5lQ29udGVudCE9ImZ1bmN0aW9uIj9bXTphbi5jb21wdXRlTGlua3MoZSl9Y2xhc3MgSm57Y29uc3RydWN0b3IoKXt0aGlzLl9kZWZhdWx0VmFsdWVTZXQ9W1sidHJ1ZSIsImZhbHNlIl0sWyJUcnVlIiwiRmFsc2UiXSxbIlByaXZhdGUiLCJQdWJsaWMiLCJGcmllbmQiLCJSZWFkT25seSIsIlBhcnRpYWwiLCJQcm90ZWN0ZWQiLCJXcml0ZU9ubHkiXSxbInB1YmxpYyIsInByb3RlY3RlZCIsInByaXZhdGUiXV19bmF2aWdhdGVWYWx1ZVNldCh0LG4scixpLHMpe2lmKHQmJm4pe2NvbnN0IGE9dGhpcy5kb05hdmlnYXRlVmFsdWVTZXQobixzKTtpZihhKXJldHVybntyYW5nZTp0LHZhbHVlOmF9fWlmKHImJmkpe2NvbnN0IGE9dGhpcy5kb05hdmlnYXRlVmFsdWVTZXQoaSxzKTtpZihhKXJldHVybntyYW5nZTpyLHZhbHVlOmF9fXJldHVybiBudWxsfWRvTmF2aWdhdGVWYWx1ZVNldCh0LG4pe2NvbnN0IHI9dGhpcy5udW1iZXJSZXBsYWNlKHQsbik7cmV0dXJuIHIhPT1udWxsP3I6dGhpcy50ZXh0UmVwbGFjZSh0LG4pfW51bWJlclJlcGxhY2UodCxuKXtjb25zdCByPU1hdGgucG93KDEwLHQubGVuZ3RoLSh0Lmxhc3RJbmRleE9mKCIuIikrMSkpO2xldCBpPU51bWJlcih0KTtjb25zdCBzPXBhcnNlRmxvYXQodCk7cmV0dXJuIWlzTmFOKGkpJiYhaXNOYU4ocykmJmk9PT1zP2k9PT0wJiYhbj9udWxsOihpPU1hdGguZmxvb3IoaSpyKSxpKz1uP3I6LXIsU3RyaW5nKGkvcikpOm51bGx9dGV4dFJlcGxhY2UodCxuKXtyZXR1cm4gdGhpcy52YWx1ZVNldHNSZXBsYWNlKHRoaXMuX2RlZmF1bHRWYWx1ZVNldCx0LG4pfXZhbHVlU2V0c1JlcGxhY2UodCxuLHIpe2xldCBpPW51bGw7Zm9yKGxldCBzPTAsYT10Lmxlbmd0aDtpPT09bnVsbCYmczxhO3MrKylpPXRoaXMudmFsdWVTZXRSZXBsYWNlKHRbc10sbixyKTtyZXR1cm4gaX12YWx1ZVNldFJlcGxhY2UodCxuLHIpe2xldCBpPXQuaW5kZXhPZihuKTtyZXR1cm4gaT49MD8oaSs9cj8xOi0xLGk8MD9pPXQubGVuZ3RoLTE6aSU9dC5sZW5ndGgsdFtpXSk6bnVsbH19Sm4uSU5TVEFOQ0U9bmV3IEpuO2NvbnN0IG9pPU9iamVjdC5mcmVlemUoZnVuY3Rpb24oZSx0KXtjb25zdCBuPXNldFRpbWVvdXQoZS5iaW5kKHQpLDApO3JldHVybntkaXNwb3NlKCl7Y2xlYXJUaW1lb3V0KG4pfX19KTt2YXIgb247KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQobil7cmV0dXJuIG49PT1lLk5vbmV8fG49PT1lLkNhbmNlbGxlZHx8biBpbnN0YW5jZW9mIGxuPyEwOiFufHx0eXBlb2YgbiE9Im9iamVjdCI/ITE6dHlwZW9mIG4uaXNDYW5jZWxsYXRpb25SZXF1ZXN0ZWQ9PSJib29sZWFuIiYmdHlwZW9mIG4ub25DYW5jZWxsYXRpb25SZXF1ZXN0ZWQ9PSJmdW5jdGlvbiJ9ZS5pc0NhbmNlbGxhdGlvblRva2VuPXQsZS5Ob25lPU9iamVjdC5mcmVlemUoe2lzQ2FuY2VsbGF0aW9uUmVxdWVzdGVkOiExLG9uQ2FuY2VsbGF0aW9uUmVxdWVzdGVkOkVuLk5vbmV9KSxlLkNhbmNlbGxlZD1PYmplY3QuZnJlZXplKHtpc0NhbmNlbGxhdGlvblJlcXVlc3RlZDohMCxvbkNhbmNlbGxhdGlvblJlcXVlc3RlZDpvaX0pfSkob258fChvbj17fSkpO2NsYXNzIGxue2NvbnN0cnVjdG9yKCl7dGhpcy5faXNDYW5jZWxsZWQ9ITEsdGhpcy5fZW1pdHRlcj1udWxsfWNhbmNlbCgpe3RoaXMuX2lzQ2FuY2VsbGVkfHwodGhpcy5faXNDYW5jZWxsZWQ9ITAsdGhpcy5fZW1pdHRlciYmKHRoaXMuX2VtaXR0ZXIuZmlyZSh2b2lkIDApLHRoaXMuZGlzcG9zZSgpKSl9Z2V0IGlzQ2FuY2VsbGF0aW9uUmVxdWVzdGVkKCl7cmV0dXJuIHRoaXMuX2lzQ2FuY2VsbGVkfWdldCBvbkNhbmNlbGxhdGlvblJlcXVlc3RlZCgpe3JldHVybiB0aGlzLl9pc0NhbmNlbGxlZD9vaToodGhpcy5fZW1pdHRlcnx8KHRoaXMuX2VtaXR0ZXI9bmV3IEFlKSx0aGlzLl9lbWl0dGVyLmV2ZW50KX1kaXNwb3NlKCl7dGhpcy5fZW1pdHRlciYmKHRoaXMuX2VtaXR0ZXIuZGlzcG9zZSgpLHRoaXMuX2VtaXR0ZXI9bnVsbCl9fWNsYXNzIG5se2NvbnN0cnVjdG9yKHQpe3RoaXMuX3Rva2VuPXZvaWQgMCx0aGlzLl9wYXJlbnRMaXN0ZW5lcj12b2lkIDAsdGhpcy5fcGFyZW50TGlzdGVuZXI9dCYmdC5vbkNhbmNlbGxhdGlvblJlcXVlc3RlZCh0aGlzLmNhbmNlbCx0aGlzKX1nZXQgdG9rZW4oKXtyZXR1cm4gdGhpcy5fdG9rZW58fCh0aGlzLl90b2tlbj1uZXcgbG4pLHRoaXMuX3Rva2VufWNhbmNlbCgpe3RoaXMuX3Rva2VuP3RoaXMuX3Rva2VuIGluc3RhbmNlb2YgbG4mJnRoaXMuX3Rva2VuLmNhbmNlbCgpOnRoaXMuX3Rva2VuPW9uLkNhbmNlbGxlZH1kaXNwb3NlKHQ9ITEpe3ZhciBuO3QmJnRoaXMuY2FuY2VsKCksKG49dGhpcy5fcGFyZW50TGlzdGVuZXIpPT09bnVsbHx8bj09PXZvaWQgMHx8bi5kaXNwb3NlKCksdGhpcy5fdG9rZW4/dGhpcy5fdG9rZW4gaW5zdGFuY2VvZiBsbiYmdGhpcy5fdG9rZW4uZGlzcG9zZSgpOnRoaXMuX3Rva2VuPW9uLk5vbmV9fWNsYXNzIFhue2NvbnN0cnVjdG9yKCl7dGhpcy5fa2V5Q29kZVRvU3RyPVtdLHRoaXMuX3N0clRvS2V5Q29kZT1PYmplY3QuY3JlYXRlKG51bGwpfWRlZmluZSh0LG4pe3RoaXMuX2tleUNvZGVUb1N0clt0XT1uLHRoaXMuX3N0clRvS2V5Q29kZVtuLnRvTG93ZXJDYXNlKCldPXR9a2V5Q29kZVRvU3RyKHQpe3JldHVybiB0aGlzLl9rZXlDb2RlVG9TdHJbdF19c3RyVG9LZXlDb2RlKHQpe3JldHVybiB0aGlzLl9zdHJUb0tleUNvZGVbdC50b0xvd2VyQ2FzZSgpXXx8MH19Y29uc3QgdW49bmV3IFhuLFFuPW5ldyBYbixabj1uZXcgWG4scmw9bmV3IEFycmF5KDIzMCksaWw9T2JqZWN0LmNyZWF0ZShudWxsKSxzbD1PYmplY3QuY3JlYXRlKG51bGwpOyhmdW5jdGlvbigpe2NvbnN0IGU9IiIsdD1bWzEsMCwiTm9uZSIsMCwidW5rbm93biIsMCwiVktfVU5LTk9XTiIsZSxlXSxbMSwxLCJIeXBlciIsMCxlLDAsZSxlLGVdLFsxLDIsIlN1cGVyIiwwLGUsMCxlLGUsZV0sWzEsMywiRm4iLDAsZSwwLGUsZSxlXSxbMSw0LCJGbkxvY2siLDAsZSwwLGUsZSxlXSxbMSw1LCJTdXNwZW5kIiwwLGUsMCxlLGUsZV0sWzEsNiwiUmVzdW1lIiwwLGUsMCxlLGUsZV0sWzEsNywiVHVyYm8iLDAsZSwwLGUsZSxlXSxbMSw4LCJTbGVlcCIsMCxlLDAsIlZLX1NMRUVQIixlLGVdLFsxLDksIldha2VVcCIsMCxlLDAsZSxlLGVdLFswLDEwLCJLZXlBIiwzMSwiQSIsNjUsIlZLX0EiLGUsZV0sWzAsMTEsIktleUIiLDMyLCJCIiw2NiwiVktfQiIsZSxlXSxbMCwxMiwiS2V5QyIsMzMsIkMiLDY3LCJWS19DIixlLGVdLFswLDEzLCJLZXlEIiwzNCwiRCIsNjgsIlZLX0QiLGUsZV0sWzAsMTQsIktleUUiLDM1LCJFIiw2OSwiVktfRSIsZSxlXSxbMCwxNSwiS2V5RiIsMzYsIkYiLDcwLCJWS19GIixlLGVdLFswLDE2LCJLZXlHIiwzNywiRyIsNzEsIlZLX0ciLGUsZV0sWzAsMTcsIktleUgiLDM4LCJIIiw3MiwiVktfSCIsZSxlXSxbMCwxOCwiS2V5SSIsMzksIkkiLDczLCJWS19JIixlLGVdLFswLDE5LCJLZXlKIiw0MCwiSiIsNzQsIlZLX0oiLGUsZV0sWzAsMjAsIktleUsiLDQxLCJLIiw3NSwiVktfSyIsZSxlXSxbMCwyMSwiS2V5TCIsNDIsIkwiLDc2LCJWS19MIixlLGVdLFswLDIyLCJLZXlNIiw0MywiTSIsNzcsIlZLX00iLGUsZV0sWzAsMjMsIktleU4iLDQ0LCJOIiw3OCwiVktfTiIsZSxlXSxbMCwyNCwiS2V5TyIsNDUsIk8iLDc5LCJWS19PIixlLGVdLFswLDI1LCJLZXlQIiw0NiwiUCIsODAsIlZLX1AiLGUsZV0sWzAsMjYsIktleVEiLDQ3LCJRIiw4MSwiVktfUSIsZSxlXSxbMCwyNywiS2V5UiIsNDgsIlIiLDgyLCJWS19SIixlLGVdLFswLDI4LCJLZXlTIiw0OSwiUyIsODMsIlZLX1MiLGUsZV0sWzAsMjksIktleVQiLDUwLCJUIiw4NCwiVktfVCIsZSxlXSxbMCwzMCwiS2V5VSIsNTEsIlUiLDg1LCJWS19VIixlLGVdLFswLDMxLCJLZXlWIiw1MiwiViIsODYsIlZLX1YiLGUsZV0sWzAsMzIsIktleVciLDUzLCJXIiw4NywiVktfVyIsZSxlXSxbMCwzMywiS2V5WCIsNTQsIlgiLDg4LCJWS19YIixlLGVdLFswLDM0LCJLZXlZIiw1NSwiWSIsODksIlZLX1kiLGUsZV0sWzAsMzUsIktleVoiLDU2LCJaIiw5MCwiVktfWiIsZSxlXSxbMCwzNiwiRGlnaXQxIiwyMiwiMSIsNDksIlZLXzEiLGUsZV0sWzAsMzcsIkRpZ2l0MiIsMjMsIjIiLDUwLCJWS18yIixlLGVdLFswLDM4LCJEaWdpdDMiLDI0LCIzIiw1MSwiVktfMyIsZSxlXSxbMCwzOSwiRGlnaXQ0IiwyNSwiNCIsNTIsIlZLXzQiLGUsZV0sWzAsNDAsIkRpZ2l0NSIsMjYsIjUiLDUzLCJWS181IixlLGVdLFswLDQxLCJEaWdpdDYiLDI3LCI2Iiw1NCwiVktfNiIsZSxlXSxbMCw0MiwiRGlnaXQ3IiwyOCwiNyIsNTUsIlZLXzciLGUsZV0sWzAsNDMsIkRpZ2l0OCIsMjksIjgiLDU2LCJWS184IixlLGVdLFswLDQ0LCJEaWdpdDkiLDMwLCI5Iiw1NywiVktfOSIsZSxlXSxbMCw0NSwiRGlnaXQwIiwyMSwiMCIsNDgsIlZLXzAiLGUsZV0sWzEsNDYsIkVudGVyIiwzLCJFbnRlciIsMTMsIlZLX1JFVFVSTiIsZSxlXSxbMSw0NywiRXNjYXBlIiw5LCJFc2NhcGUiLDI3LCJWS19FU0NBUEUiLGUsZV0sWzEsNDgsIkJhY2tzcGFjZSIsMSwiQmFja3NwYWNlIiw4LCJWS19CQUNLIixlLGVdLFsxLDQ5LCJUYWIiLDIsIlRhYiIsOSwiVktfVEFCIixlLGVdLFsxLDUwLCJTcGFjZSIsMTAsIlNwYWNlIiwzMiwiVktfU1BBQ0UiLGUsZV0sWzAsNTEsIk1pbnVzIiw4OCwiLSIsMTg5LCJWS19PRU1fTUlOVVMiLCItIiwiT0VNX01JTlVTIl0sWzAsNTIsIkVxdWFsIiw4NiwiPSIsMTg3LCJWS19PRU1fUExVUyIsIj0iLCJPRU1fUExVUyJdLFswLDUzLCJCcmFja2V0TGVmdCIsOTIsIlsiLDIxOSwiVktfT0VNXzQiLCJbIiwiT0VNXzQiXSxbMCw1NCwiQnJhY2tldFJpZ2h0Iiw5NCwiXSIsMjIxLCJWS19PRU1fNiIsIl0iLCJPRU1fNiJdLFswLDU1LCJCYWNrc2xhc2giLDkzLCJcXCIsMjIwLCJWS19PRU1fNSIsIlxcIiwiT0VNXzUiXSxbMCw1NiwiSW50bEhhc2giLDAsZSwwLGUsZSxlXSxbMCw1NywiU2VtaWNvbG9uIiw4NSwiOyIsMTg2LCJWS19PRU1fMSIsIjsiLCJPRU1fMSJdLFswLDU4LCJRdW90ZSIsOTUsIiciLDIyMiwiVktfT0VNXzciLCInIiwiT0VNXzciXSxbMCw1OSwiQmFja3F1b3RlIiw5MSwiYCIsMTkyLCJWS19PRU1fMyIsImAiLCJPRU1fMyJdLFswLDYwLCJDb21tYSIsODcsIiwiLDE4OCwiVktfT0VNX0NPTU1BIiwiLCIsIk9FTV9DT01NQSJdLFswLDYxLCJQZXJpb2QiLDg5LCIuIiwxOTAsIlZLX09FTV9QRVJJT0QiLCIuIiwiT0VNX1BFUklPRCJdLFswLDYyLCJTbGFzaCIsOTAsIi8iLDE5MSwiVktfT0VNXzIiLCIvIiwiT0VNXzIiXSxbMSw2MywiQ2Fwc0xvY2siLDgsIkNhcHNMb2NrIiwyMCwiVktfQ0FQSVRBTCIsZSxlXSxbMSw2NCwiRjEiLDU5LCJGMSIsMTEyLCJWS19GMSIsZSxlXSxbMSw2NSwiRjIiLDYwLCJGMiIsMTEzLCJWS19GMiIsZSxlXSxbMSw2NiwiRjMiLDYxLCJGMyIsMTE0LCJWS19GMyIsZSxlXSxbMSw2NywiRjQiLDYyLCJGNCIsMTE1LCJWS19GNCIsZSxlXSxbMSw2OCwiRjUiLDYzLCJGNSIsMTE2LCJWS19GNSIsZSxlXSxbMSw2OSwiRjYiLDY0LCJGNiIsMTE3LCJWS19GNiIsZSxlXSxbMSw3MCwiRjciLDY1LCJGNyIsMTE4LCJWS19GNyIsZSxlXSxbMSw3MSwiRjgiLDY2LCJGOCIsMTE5LCJWS19GOCIsZSxlXSxbMSw3MiwiRjkiLDY3LCJGOSIsMTIwLCJWS19GOSIsZSxlXSxbMSw3MywiRjEwIiw2OCwiRjEwIiwxMjEsIlZLX0YxMCIsZSxlXSxbMSw3NCwiRjExIiw2OSwiRjExIiwxMjIsIlZLX0YxMSIsZSxlXSxbMSw3NSwiRjEyIiw3MCwiRjEyIiwxMjMsIlZLX0YxMiIsZSxlXSxbMSw3NiwiUHJpbnRTY3JlZW4iLDAsZSwwLGUsZSxlXSxbMSw3NywiU2Nyb2xsTG9jayIsODQsIlNjcm9sbExvY2siLDE0NSwiVktfU0NST0xMIixlLGVdLFsxLDc4LCJQYXVzZSIsNywiUGF1c2VCcmVhayIsMTksIlZLX1BBVVNFIixlLGVdLFsxLDc5LCJJbnNlcnQiLDE5LCJJbnNlcnQiLDQ1LCJWS19JTlNFUlQiLGUsZV0sWzEsODAsIkhvbWUiLDE0LCJIb21lIiwzNiwiVktfSE9NRSIsZSxlXSxbMSw4MSwiUGFnZVVwIiwxMSwiUGFnZVVwIiwzMywiVktfUFJJT1IiLGUsZV0sWzEsODIsIkRlbGV0ZSIsMjAsIkRlbGV0ZSIsNDYsIlZLX0RFTEVURSIsZSxlXSxbMSw4MywiRW5kIiwxMywiRW5kIiwzNSwiVktfRU5EIixlLGVdLFsxLDg0LCJQYWdlRG93biIsMTIsIlBhZ2VEb3duIiwzNCwiVktfTkVYVCIsZSxlXSxbMSw4NSwiQXJyb3dSaWdodCIsMTcsIlJpZ2h0QXJyb3ciLDM5LCJWS19SSUdIVCIsIlJpZ2h0IixlXSxbMSw4NiwiQXJyb3dMZWZ0IiwxNSwiTGVmdEFycm93IiwzNywiVktfTEVGVCIsIkxlZnQiLGVdLFsxLDg3LCJBcnJvd0Rvd24iLDE4LCJEb3duQXJyb3ciLDQwLCJWS19ET1dOIiwiRG93biIsZV0sWzEsODgsIkFycm93VXAiLDE2LCJVcEFycm93IiwzOCwiVktfVVAiLCJVcCIsZV0sWzEsODksIk51bUxvY2siLDgzLCJOdW1Mb2NrIiwxNDQsIlZLX05VTUxPQ0siLGUsZV0sWzEsOTAsIk51bXBhZERpdmlkZSIsMTEzLCJOdW1QYWRfRGl2aWRlIiwxMTEsIlZLX0RJVklERSIsZSxlXSxbMSw5MSwiTnVtcGFkTXVsdGlwbHkiLDEwOCwiTnVtUGFkX011bHRpcGx5IiwxMDYsIlZLX01VTFRJUExZIixlLGVdLFsxLDkyLCJOdW1wYWRTdWJ0cmFjdCIsMTExLCJOdW1QYWRfU3VidHJhY3QiLDEwOSwiVktfU1VCVFJBQ1QiLGUsZV0sWzEsOTMsIk51bXBhZEFkZCIsMTA5LCJOdW1QYWRfQWRkIiwxMDcsIlZLX0FERCIsZSxlXSxbMSw5NCwiTnVtcGFkRW50ZXIiLDMsZSwwLGUsZSxlXSxbMSw5NSwiTnVtcGFkMSIsOTksIk51bVBhZDEiLDk3LCJWS19OVU1QQUQxIixlLGVdLFsxLDk2LCJOdW1wYWQyIiwxMDAsIk51bVBhZDIiLDk4LCJWS19OVU1QQUQyIixlLGVdLFsxLDk3LCJOdW1wYWQzIiwxMDEsIk51bVBhZDMiLDk5LCJWS19OVU1QQUQzIixlLGVdLFsxLDk4LCJOdW1wYWQ0IiwxMDIsIk51bVBhZDQiLDEwMCwiVktfTlVNUEFENCIsZSxlXSxbMSw5OSwiTnVtcGFkNSIsMTAzLCJOdW1QYWQ1IiwxMDEsIlZLX05VTVBBRDUiLGUsZV0sWzEsMTAwLCJOdW1wYWQ2IiwxMDQsIk51bVBhZDYiLDEwMiwiVktfTlVNUEFENiIsZSxlXSxbMSwxMDEsIk51bXBhZDciLDEwNSwiTnVtUGFkNyIsMTAzLCJWS19OVU1QQUQ3IixlLGVdLFsxLDEwMiwiTnVtcGFkOCIsMTA2LCJOdW1QYWQ4IiwxMDQsIlZLX05VTVBBRDgiLGUsZV0sWzEsMTAzLCJOdW1wYWQ5IiwxMDcsIk51bVBhZDkiLDEwNSwiVktfTlVNUEFEOSIsZSxlXSxbMSwxMDQsIk51bXBhZDAiLDk4LCJOdW1QYWQwIiw5NiwiVktfTlVNUEFEMCIsZSxlXSxbMSwxMDUsIk51bXBhZERlY2ltYWwiLDExMiwiTnVtUGFkX0RlY2ltYWwiLDExMCwiVktfREVDSU1BTCIsZSxlXSxbMCwxMDYsIkludGxCYWNrc2xhc2giLDk3LCJPRU1fMTAyIiwyMjYsIlZLX09FTV8xMDIiLGUsZV0sWzEsMTA3LCJDb250ZXh0TWVudSIsNTgsIkNvbnRleHRNZW51Iiw5MyxlLGUsZV0sWzEsMTA4LCJQb3dlciIsMCxlLDAsZSxlLGVdLFsxLDEwOSwiTnVtcGFkRXF1YWwiLDAsZSwwLGUsZSxlXSxbMSwxMTAsIkYxMyIsNzEsIkYxMyIsMTI0LCJWS19GMTMiLGUsZV0sWzEsMTExLCJGMTQiLDcyLCJGMTQiLDEyNSwiVktfRjE0IixlLGVdLFsxLDExMiwiRjE1Iiw3MywiRjE1IiwxMjYsIlZLX0YxNSIsZSxlXSxbMSwxMTMsIkYxNiIsNzQsIkYxNiIsMTI3LCJWS19GMTYiLGUsZV0sWzEsMTE0LCJGMTciLDc1LCJGMTciLDEyOCwiVktfRjE3IixlLGVdLFsxLDExNSwiRjE4Iiw3NiwiRjE4IiwxMjksIlZLX0YxOCIsZSxlXSxbMSwxMTYsIkYxOSIsNzcsIkYxOSIsMTMwLCJWS19GMTkiLGUsZV0sWzEsMTE3LCJGMjAiLDc4LCJGMjAiLDEzMSwiVktfRjIwIixlLGVdLFsxLDExOCwiRjIxIiw3OSwiRjIxIiwxMzIsIlZLX0YyMSIsZSxlXSxbMSwxMTksIkYyMiIsODAsIkYyMiIsMTMzLCJWS19GMjIiLGUsZV0sWzEsMTIwLCJGMjMiLDgxLCJGMjMiLDEzNCwiVktfRjIzIixlLGVdLFsxLDEyMSwiRjI0Iiw4MiwiRjI0IiwxMzUsIlZLX0YyNCIsZSxlXSxbMSwxMjIsIk9wZW4iLDAsZSwwLGUsZSxlXSxbMSwxMjMsIkhlbHAiLDAsZSwwLGUsZSxlXSxbMSwxMjQsIlNlbGVjdCIsMCxlLDAsZSxlLGVdLFsxLDEyNSwiQWdhaW4iLDAsZSwwLGUsZSxlXSxbMSwxMjYsIlVuZG8iLDAsZSwwLGUsZSxlXSxbMSwxMjcsIkN1dCIsMCxlLDAsZSxlLGVdLFsxLDEyOCwiQ29weSIsMCxlLDAsZSxlLGVdLFsxLDEyOSwiUGFzdGUiLDAsZSwwLGUsZSxlXSxbMSwxMzAsIkZpbmQiLDAsZSwwLGUsZSxlXSxbMSwxMzEsIkF1ZGlvVm9sdW1lTXV0ZSIsMTE3LCJBdWRpb1ZvbHVtZU11dGUiLDE3MywiVktfVk9MVU1FX01VVEUiLGUsZV0sWzEsMTMyLCJBdWRpb1ZvbHVtZVVwIiwxMTgsIkF1ZGlvVm9sdW1lVXAiLDE3NSwiVktfVk9MVU1FX1VQIixlLGVdLFsxLDEzMywiQXVkaW9Wb2x1bWVEb3duIiwxMTksIkF1ZGlvVm9sdW1lRG93biIsMTc0LCJWS19WT0xVTUVfRE9XTiIsZSxlXSxbMSwxMzQsIk51bXBhZENvbW1hIiwxMTAsIk51bVBhZF9TZXBhcmF0b3IiLDEwOCwiVktfU0VQQVJBVE9SIixlLGVdLFswLDEzNSwiSW50bFJvIiwxMTUsIkFCTlRfQzEiLDE5MywiVktfQUJOVF9DMSIsZSxlXSxbMSwxMzYsIkthbmFNb2RlIiwwLGUsMCxlLGUsZV0sWzAsMTM3LCJJbnRsWWVuIiwwLGUsMCxlLGUsZV0sWzEsMTM4LCJDb252ZXJ0IiwwLGUsMCxlLGUsZV0sWzEsMTM5LCJOb25Db252ZXJ0IiwwLGUsMCxlLGUsZV0sWzEsMTQwLCJMYW5nMSIsMCxlLDAsZSxlLGVdLFsxLDE0MSwiTGFuZzIiLDAsZSwwLGUsZSxlXSxbMSwxNDIsIkxhbmczIiwwLGUsMCxlLGUsZV0sWzEsMTQzLCJMYW5nNCIsMCxlLDAsZSxlLGVdLFsxLDE0NCwiTGFuZzUiLDAsZSwwLGUsZSxlXSxbMSwxNDUsIkFib3J0IiwwLGUsMCxlLGUsZV0sWzEsMTQ2LCJQcm9wcyIsMCxlLDAsZSxlLGVdLFsxLDE0NywiTnVtcGFkUGFyZW5MZWZ0IiwwLGUsMCxlLGUsZV0sWzEsMTQ4LCJOdW1wYWRQYXJlblJpZ2h0IiwwLGUsMCxlLGUsZV0sWzEsMTQ5LCJOdW1wYWRCYWNrc3BhY2UiLDAsZSwwLGUsZSxlXSxbMSwxNTAsIk51bXBhZE1lbW9yeVN0b3JlIiwwLGUsMCxlLGUsZV0sWzEsMTUxLCJOdW1wYWRNZW1vcnlSZWNhbGwiLDAsZSwwLGUsZSxlXSxbMSwxNTIsIk51bXBhZE1lbW9yeUNsZWFyIiwwLGUsMCxlLGUsZV0sWzEsMTUzLCJOdW1wYWRNZW1vcnlBZGQiLDAsZSwwLGUsZSxlXSxbMSwxNTQsIk51bXBhZE1lbW9yeVN1YnRyYWN0IiwwLGUsMCxlLGUsZV0sWzEsMTU1LCJOdW1wYWRDbGVhciIsMTMxLCJDbGVhciIsMTIsIlZLX0NMRUFSIixlLGVdLFsxLDE1NiwiTnVtcGFkQ2xlYXJFbnRyeSIsMCxlLDAsZSxlLGVdLFsxLDAsZSw1LCJDdHJsIiwxNywiVktfQ09OVFJPTCIsZSxlXSxbMSwwLGUsNCwiU2hpZnQiLDE2LCJWS19TSElGVCIsZSxlXSxbMSwwLGUsNiwiQWx0IiwxOCwiVktfTUVOVSIsZSxlXSxbMSwwLGUsNTcsIk1ldGEiLDkxLCJWS19DT01NQU5EIixlLGVdLFsxLDE1NywiQ29udHJvbExlZnQiLDUsZSwwLCJWS19MQ09OVFJPTCIsZSxlXSxbMSwxNTgsIlNoaWZ0TGVmdCIsNCxlLDAsIlZLX0xTSElGVCIsZSxlXSxbMSwxNTksIkFsdExlZnQiLDYsZSwwLCJWS19MTUVOVSIsZSxlXSxbMSwxNjAsIk1ldGFMZWZ0Iiw1NyxlLDAsIlZLX0xXSU4iLGUsZV0sWzEsMTYxLCJDb250cm9sUmlnaHQiLDUsZSwwLCJWS19SQ09OVFJPTCIsZSxlXSxbMSwxNjIsIlNoaWZ0UmlnaHQiLDQsZSwwLCJWS19SU0hJRlQiLGUsZV0sWzEsMTYzLCJBbHRSaWdodCIsNixlLDAsIlZLX1JNRU5VIixlLGVdLFsxLDE2NCwiTWV0YVJpZ2h0Iiw1NyxlLDAsIlZLX1JXSU4iLGUsZV0sWzEsMTY1LCJCcmlnaHRuZXNzVXAiLDAsZSwwLGUsZSxlXSxbMSwxNjYsIkJyaWdodG5lc3NEb3duIiwwLGUsMCxlLGUsZV0sWzEsMTY3LCJNZWRpYVBsYXkiLDAsZSwwLGUsZSxlXSxbMSwxNjgsIk1lZGlhUmVjb3JkIiwwLGUsMCxlLGUsZV0sWzEsMTY5LCJNZWRpYUZhc3RGb3J3YXJkIiwwLGUsMCxlLGUsZV0sWzEsMTcwLCJNZWRpYVJld2luZCIsMCxlLDAsZSxlLGVdLFsxLDE3MSwiTWVkaWFUcmFja05leHQiLDEyNCwiTWVkaWFUcmFja05leHQiLDE3NiwiVktfTUVESUFfTkVYVF9UUkFDSyIsZSxlXSxbMSwxNzIsIk1lZGlhVHJhY2tQcmV2aW91cyIsMTI1LCJNZWRpYVRyYWNrUHJldmlvdXMiLDE3NywiVktfTUVESUFfUFJFVl9UUkFDSyIsZSxlXSxbMSwxNzMsIk1lZGlhU3RvcCIsMTI2LCJNZWRpYVN0b3AiLDE3OCwiVktfTUVESUFfU1RPUCIsZSxlXSxbMSwxNzQsIkVqZWN0IiwwLGUsMCxlLGUsZV0sWzEsMTc1LCJNZWRpYVBsYXlQYXVzZSIsMTI3LCJNZWRpYVBsYXlQYXVzZSIsMTc5LCJWS19NRURJQV9QTEFZX1BBVVNFIixlLGVdLFsxLDE3NiwiTWVkaWFTZWxlY3QiLDEyOCwiTGF1bmNoTWVkaWFQbGF5ZXIiLDE4MSwiVktfTUVESUFfTEFVTkNIX01FRElBX1NFTEVDVCIsZSxlXSxbMSwxNzcsIkxhdW5jaE1haWwiLDEyOSwiTGF1bmNoTWFpbCIsMTgwLCJWS19NRURJQV9MQVVOQ0hfTUFJTCIsZSxlXSxbMSwxNzgsIkxhdW5jaEFwcDIiLDEzMCwiTGF1bmNoQXBwMiIsMTgzLCJWS19NRURJQV9MQVVOQ0hfQVBQMiIsZSxlXSxbMSwxNzksIkxhdW5jaEFwcDEiLDAsZSwwLCJWS19NRURJQV9MQVVOQ0hfQVBQMSIsZSxlXSxbMSwxODAsIlNlbGVjdFRhc2siLDAsZSwwLGUsZSxlXSxbMSwxODEsIkxhdW5jaFNjcmVlblNhdmVyIiwwLGUsMCxlLGUsZV0sWzEsMTgyLCJCcm93c2VyU2VhcmNoIiwxMjAsIkJyb3dzZXJTZWFyY2giLDE3MCwiVktfQlJPV1NFUl9TRUFSQ0giLGUsZV0sWzEsMTgzLCJCcm93c2VySG9tZSIsMTIxLCJCcm93c2VySG9tZSIsMTcyLCJWS19CUk9XU0VSX0hPTUUiLGUsZV0sWzEsMTg0LCJCcm93c2VyQmFjayIsMTIyLCJCcm93c2VyQmFjayIsMTY2LCJWS19CUk9XU0VSX0JBQ0siLGUsZV0sWzEsMTg1LCJCcm93c2VyRm9yd2FyZCIsMTIzLCJCcm93c2VyRm9yd2FyZCIsMTY3LCJWS19CUk9XU0VSX0ZPUldBUkQiLGUsZV0sWzEsMTg2LCJCcm93c2VyU3RvcCIsMCxlLDAsIlZLX0JST1dTRVJfU1RPUCIsZSxlXSxbMSwxODcsIkJyb3dzZXJSZWZyZXNoIiwwLGUsMCwiVktfQlJPV1NFUl9SRUZSRVNIIixlLGVdLFsxLDE4OCwiQnJvd3NlckZhdm9yaXRlcyIsMCxlLDAsIlZLX0JST1dTRVJfRkFWT1JJVEVTIixlLGVdLFsxLDE4OSwiWm9vbVRvZ2dsZSIsMCxlLDAsZSxlLGVdLFsxLDE5MCwiTWFpbFJlcGx5IiwwLGUsMCxlLGUsZV0sWzEsMTkxLCJNYWlsRm9yd2FyZCIsMCxlLDAsZSxlLGVdLFsxLDE5MiwiTWFpbFNlbmQiLDAsZSwwLGUsZSxlXSxbMSwwLGUsMTE0LCJLZXlJbkNvbXBvc2l0aW9uIiwyMjksZSxlLGVdLFsxLDAsZSwxMTYsIkFCTlRfQzIiLDE5NCwiVktfQUJOVF9DMiIsZSxlXSxbMSwwLGUsOTYsIk9FTV84IiwyMjMsIlZLX09FTV84IixlLGVdLFsxLDAsZSwwLGUsMCwiVktfS0FOQSIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX0hBTkdVTCIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX0pVTkpBIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfRklOQUwiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19IQU5KQSIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX0tBTkpJIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfQ09OVkVSVCIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX05PTkNPTlZFUlQiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19BQ0NFUFQiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19NT0RFQ0hBTkdFIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfU0VMRUNUIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfUFJJTlQiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19FWEVDVVRFIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfU05BUFNIT1QiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19IRUxQIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfQVBQUyIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX1BST0NFU1NLRVkiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19QQUNLRVQiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19EQkVfU0JDU0NIQVIiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19EQkVfREJDU0NIQVIiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19BVFROIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfQ1JTRUwiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19FWFNFTCIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX0VSRU9GIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfUExBWSIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX1pPT00iLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19OT05BTUUiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19QQTEiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19PRU1fQ0xFQVIiLGUsZV1dLG49W10scj1bXTtmb3IoY29uc3QgaSBvZiB0KXtjb25zdFtzLGEsbyxsLHUsZixoLGQsZ109aTtpZihyW2FdfHwoclthXT0hMCxpbFtvXT1hLHNsW28udG9Mb3dlckNhc2UoKV09YSksIW5bbF0pe2lmKG5bbF09ITAsIXUpdGhyb3cgbmV3IEVycm9yKGBTdHJpbmcgcmVwcmVzZW50YXRpb24gbWlzc2luZyBmb3Iga2V5IGNvZGUgJHtsfSBhcm91bmQgc2NhbiBjb2RlICR7b31gKTt1bi5kZWZpbmUobCx1KSxRbi5kZWZpbmUobCxkfHx1KSxabi5kZWZpbmUobCxnfHxkfHx1KX1mJiYocmxbZl09bCl9fSkoKTt2YXIgbGk7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQobyl7cmV0dXJuIHVuLmtleUNvZGVUb1N0cihvKX1lLnRvU3RyaW5nPXQ7ZnVuY3Rpb24gbihvKXtyZXR1cm4gdW4uc3RyVG9LZXlDb2RlKG8pfWUuZnJvbVN0cmluZz1uO2Z1bmN0aW9uIHIobyl7cmV0dXJuIFFuLmtleUNvZGVUb1N0cihvKX1lLnRvVXNlclNldHRpbmdzVVM9cjtmdW5jdGlvbiBpKG8pe3JldHVybiBabi5rZXlDb2RlVG9TdHIobyl9ZS50b1VzZXJTZXR0aW5nc0dlbmVyYWw9aTtmdW5jdGlvbiBzKG8pe3JldHVybiBRbi5zdHJUb0tleUNvZGUobyl8fFpuLnN0clRvS2V5Q29kZShvKX1lLmZyb21Vc2VyU2V0dGluZ3M9cztmdW5jdGlvbiBhKG8pe2lmKG8+PTk4JiZvPD0xMTMpcmV0dXJuIG51bGw7c3dpdGNoKG8pe2Nhc2UgMTY6cmV0dXJuIlVwIjtjYXNlIDE4OnJldHVybiJEb3duIjtjYXNlIDE1OnJldHVybiJMZWZ0IjtjYXNlIDE3OnJldHVybiJSaWdodCJ9cmV0dXJuIHVuLmtleUNvZGVUb1N0cihvKX1lLnRvRWxlY3Ryb25BY2NlbGVyYXRvcj1hfSkobGl8fChsaT17fSkpO2Z1bmN0aW9uIGFsKGUsdCl7Y29uc3Qgbj0odCY2NTUzNSk8PDE2Pj4+MDtyZXR1cm4oZXxuKT4+PjB9Y2xhc3MgeGUgZXh0ZW5kcyBzZXtjb25zdHJ1Y3Rvcih0LG4scixpKXtzdXBlcih0LG4scixpKSx0aGlzLnNlbGVjdGlvblN0YXJ0TGluZU51bWJlcj10LHRoaXMuc2VsZWN0aW9uU3RhcnRDb2x1bW49bix0aGlzLnBvc2l0aW9uTGluZU51bWJlcj1yLHRoaXMucG9zaXRpb25Db2x1bW49aX10b1N0cmluZygpe3JldHVybiJbIit0aGlzLnNlbGVjdGlvblN0YXJ0TGluZU51bWJlcisiLCIrdGhpcy5zZWxlY3Rpb25TdGFydENvbHVtbisiIC0+ICIrdGhpcy5wb3NpdGlvbkxpbmVOdW1iZXIrIiwiK3RoaXMucG9zaXRpb25Db2x1bW4rIl0ifWVxdWFsc1NlbGVjdGlvbih0KXtyZXR1cm4geGUuc2VsZWN0aW9uc0VxdWFsKHRoaXMsdCl9c3RhdGljIHNlbGVjdGlvbnNFcXVhbCh0LG4pe3JldHVybiB0LnNlbGVjdGlvblN0YXJ0TGluZU51bWJlcj09PW4uc2VsZWN0aW9uU3RhcnRMaW5lTnVtYmVyJiZ0LnNlbGVjdGlvblN0YXJ0Q29sdW1uPT09bi5zZWxlY3Rpb25TdGFydENvbHVtbiYmdC5wb3NpdGlvbkxpbmVOdW1iZXI9PT1uLnBvc2l0aW9uTGluZU51bWJlciYmdC5wb3NpdGlvbkNvbHVtbj09PW4ucG9zaXRpb25Db2x1bW59Z2V0RGlyZWN0aW9uKCl7cmV0dXJuIHRoaXMuc2VsZWN0aW9uU3RhcnRMaW5lTnVtYmVyPT09dGhpcy5zdGFydExpbmVOdW1iZXImJnRoaXMuc2VsZWN0aW9uU3RhcnRDb2x1bW49PT10aGlzLnN0YXJ0Q29sdW1uPzA6MX1zZXRFbmRQb3NpdGlvbih0LG4pe3JldHVybiB0aGlzLmdldERpcmVjdGlvbigpPT09MD9uZXcgeGUodGhpcy5zdGFydExpbmVOdW1iZXIsdGhpcy5zdGFydENvbHVtbix0LG4pOm5ldyB4ZSh0LG4sdGhpcy5zdGFydExpbmVOdW1iZXIsdGhpcy5zdGFydENvbHVtbil9Z2V0UG9zaXRpb24oKXtyZXR1cm4gbmV3IFBlKHRoaXMucG9zaXRpb25MaW5lTnVtYmVyLHRoaXMucG9zaXRpb25Db2x1bW4pfWdldFNlbGVjdGlvblN0YXJ0KCl7cmV0dXJuIG5ldyBQZSh0aGlzLnNlbGVjdGlvblN0YXJ0TGluZU51bWJlcix0aGlzLnNlbGVjdGlvblN0YXJ0Q29sdW1uKX1zZXRTdGFydFBvc2l0aW9uKHQsbil7cmV0dXJuIHRoaXMuZ2V0RGlyZWN0aW9uKCk9PT0wP25ldyB4ZSh0LG4sdGhpcy5lbmRMaW5lTnVtYmVyLHRoaXMuZW5kQ29sdW1uKTpuZXcgeGUodGhpcy5lbmRMaW5lTnVtYmVyLHRoaXMuZW5kQ29sdW1uLHQsbil9c3RhdGljIGZyb21Qb3NpdGlvbnModCxuPXQpe3JldHVybiBuZXcgeGUodC5saW5lTnVtYmVyLHQuY29sdW1uLG4ubGluZU51bWJlcixuLmNvbHVtbil9c3RhdGljIGZyb21SYW5nZSh0LG4pe3JldHVybiBuPT09MD9uZXcgeGUodC5zdGFydExpbmVOdW1iZXIsdC5zdGFydENvbHVtbix0LmVuZExpbmVOdW1iZXIsdC5lbmRDb2x1bW4pOm5ldyB4ZSh0LmVuZExpbmVOdW1iZXIsdC5lbmRDb2x1bW4sdC5zdGFydExpbmVOdW1iZXIsdC5zdGFydENvbHVtbil9c3RhdGljIGxpZnRTZWxlY3Rpb24odCl7cmV0dXJuIG5ldyB4ZSh0LnNlbGVjdGlvblN0YXJ0TGluZU51bWJlcix0LnNlbGVjdGlvblN0YXJ0Q29sdW1uLHQucG9zaXRpb25MaW5lTnVtYmVyLHQucG9zaXRpb25Db2x1bW4pfXN0YXRpYyBzZWxlY3Rpb25zQXJyRXF1YWwodCxuKXtpZih0JiYhbnx8IXQmJm4pcmV0dXJuITE7aWYoIXQmJiFuKXJldHVybiEwO2lmKHQubGVuZ3RoIT09bi5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCByPTAsaT10Lmxlbmd0aDtyPGk7cisrKWlmKCF0aGlzLnNlbGVjdGlvbnNFcXVhbCh0W3JdLG5bcl0pKXJldHVybiExO3JldHVybiEwfXN0YXRpYyBpc0lTZWxlY3Rpb24odCl7cmV0dXJuIHQmJnR5cGVvZiB0LnNlbGVjdGlvblN0YXJ0TGluZU51bWJlcj09Im51bWJlciImJnR5cGVvZiB0LnNlbGVjdGlvblN0YXJ0Q29sdW1uPT0ibnVtYmVyIiYmdHlwZW9mIHQucG9zaXRpb25MaW5lTnVtYmVyPT0ibnVtYmVyIiYmdHlwZW9mIHQucG9zaXRpb25Db2x1bW49PSJudW1iZXIifXN0YXRpYyBjcmVhdGVXaXRoRGlyZWN0aW9uKHQsbixyLGkscyl7cmV0dXJuIHM9PT0wP25ldyB4ZSh0LG4scixpKTpuZXcgeGUocixpLHQsbil9fWNvbnN0IHVpPU9iamVjdC5jcmVhdGUobnVsbCk7ZnVuY3Rpb24gYyhlLHQpe2lmKEhhKHQpKXtjb25zdCBuPXVpW3RdO2lmKG49PT12b2lkIDApdGhyb3cgbmV3IEVycm9yKGAke2V9IHJlZmVyZW5jZXMgYW4gdW5rbm93biBjb2RpY29uOiAke3R9YCk7dD1ufXJldHVybiB1aVtlXT10LHtpZDplfX1jb25zdCBvbD17YWRkOmMoImFkZCIsNmU0KSxwbHVzOmMoInBsdXMiLDZlNCksZ2lzdE5ldzpjKCJnaXN0LW5ldyIsNmU0KSxyZXBvQ3JlYXRlOmMoInJlcG8tY3JlYXRlIiw2ZTQpLGxpZ2h0YnVsYjpjKCJsaWdodGJ1bGIiLDYwMDAxKSxsaWdodEJ1bGI6YygibGlnaHQtYnVsYiIsNjAwMDEpLHJlcG86YygicmVwbyIsNjAwMDIpLHJlcG9EZWxldGU6YygicmVwby1kZWxldGUiLDYwMDAyKSxnaXN0Rm9yazpjKCJnaXN0LWZvcmsiLDYwMDAzKSxyZXBvRm9ya2VkOmMoInJlcG8tZm9ya2VkIiw2MDAwMyksZ2l0UHVsbFJlcXVlc3Q6YygiZ2l0LXB1bGwtcmVxdWVzdCIsNjAwMDQpLGdpdFB1bGxSZXF1ZXN0QWJhbmRvbmVkOmMoImdpdC1wdWxsLXJlcXVlc3QtYWJhbmRvbmVkIiw2MDAwNCkscmVjb3JkS2V5czpjKCJyZWNvcmQta2V5cyIsNjAwMDUpLGtleWJvYXJkOmMoImtleWJvYXJkIiw2MDAwNSksdGFnOmMoInRhZyIsNjAwMDYpLGdpdFB1bGxSZXF1ZXN0TGFiZWw6YygiZ2l0LXB1bGwtcmVxdWVzdC1sYWJlbCIsNjAwMDYpLHRhZ0FkZDpjKCJ0YWctYWRkIiw2MDAwNiksdGFnUmVtb3ZlOmMoInRhZy1yZW1vdmUiLDYwMDA2KSxwZXJzb246YygicGVyc29uIiw2MDAwNykscGVyc29uRm9sbG93OmMoInBlcnNvbi1mb2xsb3ciLDYwMDA3KSxwZXJzb25PdXRsaW5lOmMoInBlcnNvbi1vdXRsaW5lIiw2MDAwNykscGVyc29uRmlsbGVkOmMoInBlcnNvbi1maWxsZWQiLDYwMDA3KSxnaXRCcmFuY2g6YygiZ2l0LWJyYW5jaCIsNjAwMDgpLGdpdEJyYW5jaENyZWF0ZTpjKCJnaXQtYnJhbmNoLWNyZWF0ZSIsNjAwMDgpLGdpdEJyYW5jaERlbGV0ZTpjKCJnaXQtYnJhbmNoLWRlbGV0ZSIsNjAwMDgpLHNvdXJjZUNvbnRyb2w6Yygic291cmNlLWNvbnRyb2wiLDYwMDA4KSxtaXJyb3I6YygibWlycm9yIiw2MDAwOSksbWlycm9yUHVibGljOmMoIm1pcnJvci1wdWJsaWMiLDYwMDA5KSxzdGFyOmMoInN0YXIiLDYwMDEwKSxzdGFyQWRkOmMoInN0YXItYWRkIiw2MDAxMCksc3RhckRlbGV0ZTpjKCJzdGFyLWRlbGV0ZSIsNjAwMTApLHN0YXJFbXB0eTpjKCJzdGFyLWVtcHR5Iiw2MDAxMCksY29tbWVudDpjKCJjb21tZW50Iiw2MDAxMSksY29tbWVudEFkZDpjKCJjb21tZW50LWFkZCIsNjAwMTEpLGFsZXJ0OmMoImFsZXJ0Iiw2MDAxMiksd2FybmluZzpjKCJ3YXJuaW5nIiw2MDAxMiksc2VhcmNoOmMoInNlYXJjaCIsNjAwMTMpLHNlYXJjaFNhdmU6Yygic2VhcmNoLXNhdmUiLDYwMDEzKSxsb2dPdXQ6YygibG9nLW91dCIsNjAwMTQpLHNpZ25PdXQ6Yygic2lnbi1vdXQiLDYwMDE0KSxsb2dJbjpjKCJsb2ctaW4iLDYwMDE1KSxzaWduSW46Yygic2lnbi1pbiIsNjAwMTUpLGV5ZTpjKCJleWUiLDYwMDE2KSxleWVVbndhdGNoOmMoImV5ZS11bndhdGNoIiw2MDAxNiksZXllV2F0Y2g6YygiZXllLXdhdGNoIiw2MDAxNiksY2lyY2xlRmlsbGVkOmMoImNpcmNsZS1maWxsZWQiLDYwMDE3KSxwcmltaXRpdmVEb3Q6YygicHJpbWl0aXZlLWRvdCIsNjAwMTcpLGNsb3NlRGlydHk6YygiY2xvc2UtZGlydHkiLDYwMDE3KSxkZWJ1Z0JyZWFrcG9pbnQ6YygiZGVidWctYnJlYWtwb2ludCIsNjAwMTcpLGRlYnVnQnJlYWtwb2ludERpc2FibGVkOmMoImRlYnVnLWJyZWFrcG9pbnQtZGlzYWJsZWQiLDYwMDE3KSxkZWJ1Z0hpbnQ6YygiZGVidWctaGludCIsNjAwMTcpLHRlcm1pbmFsRGVjb3JhdGlvblN1Y2Nlc3M6YygidGVybWluYWwtZGVjb3JhdGlvbi1zdWNjZXNzIiw2MDAxNykscHJpbWl0aXZlU3F1YXJlOmMoInByaW1pdGl2ZS1zcXVhcmUiLDYwMDE4KSxlZGl0OmMoImVkaXQiLDYwMDE5KSxwZW5jaWw6YygicGVuY2lsIiw2MDAxOSksaW5mbzpjKCJpbmZvIiw2MDAyMCksaXNzdWVPcGVuZWQ6YygiaXNzdWUtb3BlbmVkIiw2MDAyMCksZ2lzdFByaXZhdGU6YygiZ2lzdC1wcml2YXRlIiw2MDAyMSksZ2l0Rm9ya1ByaXZhdGU6YygiZ2l0LWZvcmstcHJpdmF0ZSIsNjAwMjEpLGxvY2s6YygibG9jayIsNjAwMjEpLG1pcnJvclByaXZhdGU6YygibWlycm9yLXByaXZhdGUiLDYwMDIxKSxjbG9zZTpjKCJjbG9zZSIsNjAwMjIpLHJlbW92ZUNsb3NlOmMoInJlbW92ZS1jbG9zZSIsNjAwMjIpLHg6YygieCIsNjAwMjIpLHJlcG9TeW5jOmMoInJlcG8tc3luYyIsNjAwMjMpLHN5bmM6Yygic3luYyIsNjAwMjMpLGNsb25lOmMoImNsb25lIiw2MDAyNCksZGVza3RvcERvd25sb2FkOmMoImRlc2t0b3AtZG93bmxvYWQiLDYwMDI0KSxiZWFrZXI6YygiYmVha2VyIiw2MDAyNSksbWljcm9zY29wZTpjKCJtaWNyb3Njb3BlIiw2MDAyNSksdm06Yygidm0iLDYwMDI2KSxkZXZpY2VEZXNrdG9wOmMoImRldmljZS1kZXNrdG9wIiw2MDAyNiksZmlsZTpjKCJmaWxlIiw2MDAyNyksZmlsZVRleHQ6YygiZmlsZS10ZXh0Iiw2MDAyNyksbW9yZTpjKCJtb3JlIiw2MDAyOCksZWxsaXBzaXM6YygiZWxsaXBzaXMiLDYwMDI4KSxrZWJhYkhvcml6b250YWw6Yygia2ViYWItaG9yaXpvbnRhbCIsNjAwMjgpLG1haWxSZXBseTpjKCJtYWlsLXJlcGx5Iiw2MDAyOSkscmVwbHk6YygicmVwbHkiLDYwMDI5KSxvcmdhbml6YXRpb246Yygib3JnYW5pemF0aW9uIiw2MDAzMCksb3JnYW5pemF0aW9uRmlsbGVkOmMoIm9yZ2FuaXphdGlvbi1maWxsZWQiLDYwMDMwKSxvcmdhbml6YXRpb25PdXRsaW5lOmMoIm9yZ2FuaXphdGlvbi1vdXRsaW5lIiw2MDAzMCksbmV3RmlsZTpjKCJuZXctZmlsZSIsNjAwMzEpLGZpbGVBZGQ6YygiZmlsZS1hZGQiLDYwMDMxKSxuZXdGb2xkZXI6YygibmV3LWZvbGRlciIsNjAwMzIpLGZpbGVEaXJlY3RvcnlDcmVhdGU6YygiZmlsZS1kaXJlY3RvcnktY3JlYXRlIiw2MDAzMiksdHJhc2g6YygidHJhc2giLDYwMDMzKSx0cmFzaGNhbjpjKCJ0cmFzaGNhbiIsNjAwMzMpLGhpc3Rvcnk6YygiaGlzdG9yeSIsNjAwMzQpLGNsb2NrOmMoImNsb2NrIiw2MDAzNCksZm9sZGVyOmMoImZvbGRlciIsNjAwMzUpLGZpbGVEaXJlY3Rvcnk6YygiZmlsZS1kaXJlY3RvcnkiLDYwMDM1KSxzeW1ib2xGb2xkZXI6Yygic3ltYm9sLWZvbGRlciIsNjAwMzUpLGxvZ29HaXRodWI6YygibG9nby1naXRodWIiLDYwMDM2KSxtYXJrR2l0aHViOmMoIm1hcmstZ2l0aHViIiw2MDAzNiksZ2l0aHViOmMoImdpdGh1YiIsNjAwMzYpLHRlcm1pbmFsOmMoInRlcm1pbmFsIiw2MDAzNyksY29uc29sZTpjKCJjb25zb2xlIiw2MDAzNykscmVwbDpjKCJyZXBsIiw2MDAzNyksemFwOmMoInphcCIsNjAwMzgpLHN5bWJvbEV2ZW50OmMoInN5bWJvbC1ldmVudCIsNjAwMzgpLGVycm9yOmMoImVycm9yIiw2MDAzOSksc3RvcDpjKCJzdG9wIiw2MDAzOSksdmFyaWFibGU6YygidmFyaWFibGUiLDYwMDQwKSxzeW1ib2xWYXJpYWJsZTpjKCJzeW1ib2wtdmFyaWFibGUiLDYwMDQwKSxhcnJheTpjKCJhcnJheSIsNjAwNDIpLHN5bWJvbEFycmF5OmMoInN5bWJvbC1hcnJheSIsNjAwNDIpLHN5bWJvbE1vZHVsZTpjKCJzeW1ib2wtbW9kdWxlIiw2MDA0Myksc3ltYm9sUGFja2FnZTpjKCJzeW1ib2wtcGFja2FnZSIsNjAwNDMpLHN5bWJvbE5hbWVzcGFjZTpjKCJzeW1ib2wtbmFtZXNwYWNlIiw2MDA0Myksc3ltYm9sT2JqZWN0OmMoInN5bWJvbC1vYmplY3QiLDYwMDQzKSxzeW1ib2xNZXRob2Q6Yygic3ltYm9sLW1ldGhvZCIsNjAwNDQpLHN5bWJvbEZ1bmN0aW9uOmMoInN5bWJvbC1mdW5jdGlvbiIsNjAwNDQpLHN5bWJvbENvbnN0cnVjdG9yOmMoInN5bWJvbC1jb25zdHJ1Y3RvciIsNjAwNDQpLHN5bWJvbEJvb2xlYW46Yygic3ltYm9sLWJvb2xlYW4iLDYwMDQ3KSxzeW1ib2xOdWxsOmMoInN5bWJvbC1udWxsIiw2MDA0Nyksc3ltYm9sTnVtZXJpYzpjKCJzeW1ib2wtbnVtZXJpYyIsNjAwNDgpLHN5bWJvbE51bWJlcjpjKCJzeW1ib2wtbnVtYmVyIiw2MDA0OCksc3ltYm9sU3RydWN0dXJlOmMoInN5bWJvbC1zdHJ1Y3R1cmUiLDYwMDQ5KSxzeW1ib2xTdHJ1Y3Q6Yygic3ltYm9sLXN0cnVjdCIsNjAwNDkpLHN5bWJvbFBhcmFtZXRlcjpjKCJzeW1ib2wtcGFyYW1ldGVyIiw2MDA1MCksc3ltYm9sVHlwZVBhcmFtZXRlcjpjKCJzeW1ib2wtdHlwZS1wYXJhbWV0ZXIiLDYwMDUwKSxzeW1ib2xLZXk6Yygic3ltYm9sLWtleSIsNjAwNTEpLHN5bWJvbFRleHQ6Yygic3ltYm9sLXRleHQiLDYwMDUxKSxzeW1ib2xSZWZlcmVuY2U6Yygic3ltYm9sLXJlZmVyZW5jZSIsNjAwNTIpLGdvVG9GaWxlOmMoImdvLXRvLWZpbGUiLDYwMDUyKSxzeW1ib2xFbnVtOmMoInN5bWJvbC1lbnVtIiw2MDA1Myksc3ltYm9sVmFsdWU6Yygic3ltYm9sLXZhbHVlIiw2MDA1Myksc3ltYm9sUnVsZXI6Yygic3ltYm9sLXJ1bGVyIiw2MDA1NCksc3ltYm9sVW5pdDpjKCJzeW1ib2wtdW5pdCIsNjAwNTQpLGFjdGl2YXRlQnJlYWtwb2ludHM6YygiYWN0aXZhdGUtYnJlYWtwb2ludHMiLDYwMDU1KSxhcmNoaXZlOmMoImFyY2hpdmUiLDYwMDU2KSxhcnJvd0JvdGg6YygiYXJyb3ctYm90aCIsNjAwNTcpLGFycm93RG93bjpjKCJhcnJvdy1kb3duIiw2MDA1OCksYXJyb3dMZWZ0OmMoImFycm93LWxlZnQiLDYwMDU5KSxhcnJvd1JpZ2h0OmMoImFycm93LXJpZ2h0Iiw2MDA2MCksYXJyb3dTbWFsbERvd246YygiYXJyb3ctc21hbGwtZG93biIsNjAwNjEpLGFycm93U21hbGxMZWZ0OmMoImFycm93LXNtYWxsLWxlZnQiLDYwMDYyKSxhcnJvd1NtYWxsUmlnaHQ6YygiYXJyb3ctc21hbGwtcmlnaHQiLDYwMDYzKSxhcnJvd1NtYWxsVXA6YygiYXJyb3ctc21hbGwtdXAiLDYwMDY0KSxhcnJvd1VwOmMoImFycm93LXVwIiw2MDA2NSksYmVsbDpjKCJiZWxsIiw2MDA2NiksYm9sZDpjKCJib2xkIiw2MDA2NyksYm9vazpjKCJib29rIiw2MDA2OCksYm9va21hcms6YygiYm9va21hcmsiLDYwMDY5KSxkZWJ1Z0JyZWFrcG9pbnRDb25kaXRpb25hbFVudmVyaWZpZWQ6YygiZGVidWctYnJlYWtwb2ludC1jb25kaXRpb25hbC11bnZlcmlmaWVkIiw2MDA3MCksZGVidWdCcmVha3BvaW50Q29uZGl0aW9uYWw6YygiZGVidWctYnJlYWtwb2ludC1jb25kaXRpb25hbCIsNjAwNzEpLGRlYnVnQnJlYWtwb2ludENvbmRpdGlvbmFsRGlzYWJsZWQ6YygiZGVidWctYnJlYWtwb2ludC1jb25kaXRpb25hbC1kaXNhYmxlZCIsNjAwNzEpLGRlYnVnQnJlYWtwb2ludERhdGFVbnZlcmlmaWVkOmMoImRlYnVnLWJyZWFrcG9pbnQtZGF0YS11bnZlcmlmaWVkIiw2MDA3MiksZGVidWdCcmVha3BvaW50RGF0YTpjKCJkZWJ1Zy1icmVha3BvaW50LWRhdGEiLDYwMDczKSxkZWJ1Z0JyZWFrcG9pbnREYXRhRGlzYWJsZWQ6YygiZGVidWctYnJlYWtwb2ludC1kYXRhLWRpc2FibGVkIiw2MDA3MyksZGVidWdCcmVha3BvaW50TG9nVW52ZXJpZmllZDpjKCJkZWJ1Zy1icmVha3BvaW50LWxvZy11bnZlcmlmaWVkIiw2MDA3NCksZGVidWdCcmVha3BvaW50TG9nOmMoImRlYnVnLWJyZWFrcG9pbnQtbG9nIiw2MDA3NSksZGVidWdCcmVha3BvaW50TG9nRGlzYWJsZWQ6YygiZGVidWctYnJlYWtwb2ludC1sb2ctZGlzYWJsZWQiLDYwMDc1KSxicmllZmNhc2U6YygiYnJpZWZjYXNlIiw2MDA3NiksYnJvYWRjYXN0OmMoImJyb2FkY2FzdCIsNjAwNzcpLGJyb3dzZXI6YygiYnJvd3NlciIsNjAwNzgpLGJ1ZzpjKCJidWciLDYwMDc5KSxjYWxlbmRhcjpjKCJjYWxlbmRhciIsNjAwODApLGNhc2VTZW5zaXRpdmU6YygiY2FzZS1zZW5zaXRpdmUiLDYwMDgxKSxjaGVjazpjKCJjaGVjayIsNjAwODIpLGNoZWNrbGlzdDpjKCJjaGVja2xpc3QiLDYwMDgzKSxjaGV2cm9uRG93bjpjKCJjaGV2cm9uLWRvd24iLDYwMDg0KSxjaGV2cm9uTGVmdDpjKCJjaGV2cm9uLWxlZnQiLDYwMDg1KSxjaGV2cm9uUmlnaHQ6YygiY2hldnJvbi1yaWdodCIsNjAwODYpLGNoZXZyb25VcDpjKCJjaGV2cm9uLXVwIiw2MDA4NyksY2hyb21lQ2xvc2U6YygiY2hyb21lLWNsb3NlIiw2MDA4OCksY2hyb21lTWF4aW1pemU6YygiY2hyb21lLW1heGltaXplIiw2MDA4OSksY2hyb21lTWluaW1pemU6YygiY2hyb21lLW1pbmltaXplIiw2MDA5MCksY2hyb21lUmVzdG9yZTpjKCJjaHJvbWUtcmVzdG9yZSIsNjAwOTEpLGNpcmNsZU91dGxpbmU6YygiY2lyY2xlLW91dGxpbmUiLDYwMDkyKSxjaXJjbGU6YygiY2lyY2xlIiw2MDA5MiksZGVidWdCcmVha3BvaW50VW52ZXJpZmllZDpjKCJkZWJ1Zy1icmVha3BvaW50LXVudmVyaWZpZWQiLDYwMDkyKSx0ZXJtaW5hbERlY29yYXRpb25JbmNvbXBsZXRlOmMoInRlcm1pbmFsLWRlY29yYXRpb24taW5jb21wbGV0ZSIsNjAwOTIpLGNpcmNsZVNsYXNoOmMoImNpcmNsZS1zbGFzaCIsNjAwOTMpLGNpcmN1aXRCb2FyZDpjKCJjaXJjdWl0LWJvYXJkIiw2MDA5NCksY2xlYXJBbGw6YygiY2xlYXItYWxsIiw2MDA5NSksY2xpcHB5OmMoImNsaXBweSIsNjAwOTYpLGNsb3NlQWxsOmMoImNsb3NlLWFsbCIsNjAwOTcpLGNsb3VkRG93bmxvYWQ6YygiY2xvdWQtZG93bmxvYWQiLDYwMDk4KSxjbG91ZFVwbG9hZDpjKCJjbG91ZC11cGxvYWQiLDYwMDk5KSxjb2RlOmMoImNvZGUiLDYwMTAwKSxjb2xsYXBzZUFsbDpjKCJjb2xsYXBzZS1hbGwiLDYwMTAxKSxjb2xvck1vZGU6YygiY29sb3ItbW9kZSIsNjAxMDIpLGNvbW1lbnREaXNjdXNzaW9uOmMoImNvbW1lbnQtZGlzY3Vzc2lvbiIsNjAxMDMpLGNyZWRpdENhcmQ6YygiY3JlZGl0LWNhcmQiLDYwMTA1KSxkYXNoOmMoImRhc2giLDYwMTA4KSxkYXNoYm9hcmQ6YygiZGFzaGJvYXJkIiw2MDEwOSksZGF0YWJhc2U6YygiZGF0YWJhc2UiLDYwMTEwKSxkZWJ1Z0NvbnRpbnVlOmMoImRlYnVnLWNvbnRpbnVlIiw2MDExMSksZGVidWdEaXNjb25uZWN0OmMoImRlYnVnLWRpc2Nvbm5lY3QiLDYwMTEyKSxkZWJ1Z1BhdXNlOmMoImRlYnVnLXBhdXNlIiw2MDExMyksZGVidWdSZXN0YXJ0OmMoImRlYnVnLXJlc3RhcnQiLDYwMTE0KSxkZWJ1Z1N0YXJ0OmMoImRlYnVnLXN0YXJ0Iiw2MDExNSksZGVidWdTdGVwSW50bzpjKCJkZWJ1Zy1zdGVwLWludG8iLDYwMTE2KSxkZWJ1Z1N0ZXBPdXQ6YygiZGVidWctc3RlcC1vdXQiLDYwMTE3KSxkZWJ1Z1N0ZXBPdmVyOmMoImRlYnVnLXN0ZXAtb3ZlciIsNjAxMTgpLGRlYnVnU3RvcDpjKCJkZWJ1Zy1zdG9wIiw2MDExOSksZGVidWc6YygiZGVidWciLDYwMTIwKSxkZXZpY2VDYW1lcmFWaWRlbzpjKCJkZXZpY2UtY2FtZXJhLXZpZGVvIiw2MDEyMSksZGV2aWNlQ2FtZXJhOmMoImRldmljZS1jYW1lcmEiLDYwMTIyKSxkZXZpY2VNb2JpbGU6YygiZGV2aWNlLW1vYmlsZSIsNjAxMjMpLGRpZmZBZGRlZDpjKCJkaWZmLWFkZGVkIiw2MDEyNCksZGlmZklnbm9yZWQ6YygiZGlmZi1pZ25vcmVkIiw2MDEyNSksZGlmZk1vZGlmaWVkOmMoImRpZmYtbW9kaWZpZWQiLDYwMTI2KSxkaWZmUmVtb3ZlZDpjKCJkaWZmLXJlbW92ZWQiLDYwMTI3KSxkaWZmUmVuYW1lZDpjKCJkaWZmLXJlbmFtZWQiLDYwMTI4KSxkaWZmOmMoImRpZmYiLDYwMTI5KSxkaWZmU2lkZWJ5c2lkZTpjKCJkaWZmLXNpZGVieXNpZGUiLDYwMTI5KSxkaXNjYXJkOmMoImRpc2NhcmQiLDYwMTMwKSxlZGl0b3JMYXlvdXQ6YygiZWRpdG9yLWxheW91dCIsNjAxMzEpLGVtcHR5V2luZG93OmMoImVtcHR5LXdpbmRvdyIsNjAxMzIpLGV4Y2x1ZGU6YygiZXhjbHVkZSIsNjAxMzMpLGV4dGVuc2lvbnM6YygiZXh0ZW5zaW9ucyIsNjAxMzQpLGV5ZUNsb3NlZDpjKCJleWUtY2xvc2VkIiw2MDEzNSksZmlsZUJpbmFyeTpjKCJmaWxlLWJpbmFyeSIsNjAxMzYpLGZpbGVDb2RlOmMoImZpbGUtY29kZSIsNjAxMzcpLGZpbGVNZWRpYTpjKCJmaWxlLW1lZGlhIiw2MDEzOCksZmlsZVBkZjpjKCJmaWxlLXBkZiIsNjAxMzkpLGZpbGVTdWJtb2R1bGU6YygiZmlsZS1zdWJtb2R1bGUiLDYwMTQwKSxmaWxlU3ltbGlua0RpcmVjdG9yeTpjKCJmaWxlLXN5bWxpbmstZGlyZWN0b3J5Iiw2MDE0MSksZmlsZVN5bWxpbmtGaWxlOmMoImZpbGUtc3ltbGluay1maWxlIiw2MDE0MiksZmlsZVppcDpjKCJmaWxlLXppcCIsNjAxNDMpLGZpbGVzOmMoImZpbGVzIiw2MDE0NCksZmlsdGVyOmMoImZpbHRlciIsNjAxNDUpLGZsYW1lOmMoImZsYW1lIiw2MDE0NiksZm9sZERvd246YygiZm9sZC1kb3duIiw2MDE0NyksZm9sZFVwOmMoImZvbGQtdXAiLDYwMTQ4KSxmb2xkOmMoImZvbGQiLDYwMTQ5KSxmb2xkZXJBY3RpdmU6YygiZm9sZGVyLWFjdGl2ZSIsNjAxNTApLGZvbGRlck9wZW5lZDpjKCJmb2xkZXItb3BlbmVkIiw2MDE1MSksZ2VhcjpjKCJnZWFyIiw2MDE1MiksZ2lmdDpjKCJnaWZ0Iiw2MDE1MyksZ2lzdFNlY3JldDpjKCJnaXN0LXNlY3JldCIsNjAxNTQpLGdpc3Q6YygiZ2lzdCIsNjAxNTUpLGdpdENvbW1pdDpjKCJnaXQtY29tbWl0Iiw2MDE1NiksZ2l0Q29tcGFyZTpjKCJnaXQtY29tcGFyZSIsNjAxNTcpLGNvbXBhcmVDaGFuZ2VzOmMoImNvbXBhcmUtY2hhbmdlcyIsNjAxNTcpLGdpdE1lcmdlOmMoImdpdC1tZXJnZSIsNjAxNTgpLGdpdGh1YkFjdGlvbjpjKCJnaXRodWItYWN0aW9uIiw2MDE1OSksZ2l0aHViQWx0OmMoImdpdGh1Yi1hbHQiLDYwMTYwKSxnbG9iZTpjKCJnbG9iZSIsNjAxNjEpLGdyYWJiZXI6YygiZ3JhYmJlciIsNjAxNjIpLGdyYXBoOmMoImdyYXBoIiw2MDE2MyksZ3JpcHBlcjpjKCJncmlwcGVyIiw2MDE2NCksaGVhcnQ6YygiaGVhcnQiLDYwMTY1KSxob21lOmMoImhvbWUiLDYwMTY2KSxob3Jpem9udGFsUnVsZTpjKCJob3Jpem9udGFsLXJ1bGUiLDYwMTY3KSxodWJvdDpjKCJodWJvdCIsNjAxNjgpLGluYm94OmMoImluYm94Iiw2MDE2OSksaXNzdWVSZW9wZW5lZDpjKCJpc3N1ZS1yZW9wZW5lZCIsNjAxNzEpLGlzc3VlczpjKCJpc3N1ZXMiLDYwMTcyKSxpdGFsaWM6YygiaXRhbGljIiw2MDE3MyksamVyc2V5OmMoImplcnNleSIsNjAxNzQpLGpzb246YygianNvbiIsNjAxNzUpLGtlYmFiVmVydGljYWw6Yygia2ViYWItdmVydGljYWwiLDYwMTc2KSxrZXk6Yygia2V5Iiw2MDE3NyksbGF3OmMoImxhdyIsNjAxNzgpLGxpZ2h0YnVsYkF1dG9maXg6YygibGlnaHRidWxiLWF1dG9maXgiLDYwMTc5KSxsaW5rRXh0ZXJuYWw6YygibGluay1leHRlcm5hbCIsNjAxODApLGxpbms6YygibGluayIsNjAxODEpLGxpc3RPcmRlcmVkOmMoImxpc3Qtb3JkZXJlZCIsNjAxODIpLGxpc3RVbm9yZGVyZWQ6YygibGlzdC11bm9yZGVyZWQiLDYwMTgzKSxsaXZlU2hhcmU6YygibGl2ZS1zaGFyZSIsNjAxODQpLGxvYWRpbmc6YygibG9hZGluZyIsNjAxODUpLGxvY2F0aW9uOmMoImxvY2F0aW9uIiw2MDE4NiksbWFpbFJlYWQ6YygibWFpbC1yZWFkIiw2MDE4NyksbWFpbDpjKCJtYWlsIiw2MDE4OCksbWFya2Rvd246YygibWFya2Rvd24iLDYwMTg5KSxtZWdhcGhvbmU6YygibWVnYXBob25lIiw2MDE5MCksbWVudGlvbjpjKCJtZW50aW9uIiw2MDE5MSksbWlsZXN0b25lOmMoIm1pbGVzdG9uZSIsNjAxOTIpLGdpdFB1bGxSZXF1ZXN0TWlsZXN0b25lOmMoImdpdC1wdWxsLXJlcXVlc3QtbWlsZXN0b25lIiw2MDE5MiksbW9ydGFyQm9hcmQ6YygibW9ydGFyLWJvYXJkIiw2MDE5MyksbW92ZTpjKCJtb3ZlIiw2MDE5NCksbXVsdGlwbGVXaW5kb3dzOmMoIm11bHRpcGxlLXdpbmRvd3MiLDYwMTk1KSxtdXRlOmMoIm11dGUiLDYwMTk2KSxub05ld2xpbmU6Yygibm8tbmV3bGluZSIsNjAxOTcpLG5vdGU6Yygibm90ZSIsNjAxOTgpLG9jdG9mYWNlOmMoIm9jdG9mYWNlIiw2MDE5OSksb3BlblByZXZpZXc6Yygib3Blbi1wcmV2aWV3Iiw2MDIwMCkscGFja2FnZTpjKCJwYWNrYWdlIiw2MDIwMSkscGFpbnRjYW46YygicGFpbnRjYW4iLDYwMjAyKSxwaW46YygicGluIiw2MDIwMykscGxheTpjKCJwbGF5Iiw2MDIwNCkscnVuOmMoInJ1biIsNjAyMDQpLHBsdWc6YygicGx1ZyIsNjAyMDUpLHByZXNlcnZlQ2FzZTpjKCJwcmVzZXJ2ZS1jYXNlIiw2MDIwNikscHJldmlldzpjKCJwcmV2aWV3Iiw2MDIwNykscHJvamVjdDpjKCJwcm9qZWN0Iiw2MDIwOCkscHVsc2U6YygicHVsc2UiLDYwMjA5KSxxdWVzdGlvbjpjKCJxdWVzdGlvbiIsNjAyMTApLHF1b3RlOmMoInF1b3RlIiw2MDIxMSkscmFkaW9Ub3dlcjpjKCJyYWRpby10b3dlciIsNjAyMTIpLHJlYWN0aW9uczpjKCJyZWFjdGlvbnMiLDYwMjEzKSxyZWZlcmVuY2VzOmMoInJlZmVyZW5jZXMiLDYwMjE0KSxyZWZyZXNoOmMoInJlZnJlc2giLDYwMjE1KSxyZWdleDpjKCJyZWdleCIsNjAyMTYpLHJlbW90ZUV4cGxvcmVyOmMoInJlbW90ZS1leHBsb3JlciIsNjAyMTcpLHJlbW90ZTpjKCJyZW1vdGUiLDYwMjE4KSxyZW1vdmU6YygicmVtb3ZlIiw2MDIxOSkscmVwbGFjZUFsbDpjKCJyZXBsYWNlLWFsbCIsNjAyMjApLHJlcGxhY2U6YygicmVwbGFjZSIsNjAyMjEpLHJlcG9DbG9uZTpjKCJyZXBvLWNsb25lIiw2MDIyMikscmVwb0ZvcmNlUHVzaDpjKCJyZXBvLWZvcmNlLXB1c2giLDYwMjIzKSxyZXBvUHVsbDpjKCJyZXBvLXB1bGwiLDYwMjI0KSxyZXBvUHVzaDpjKCJyZXBvLXB1c2giLDYwMjI1KSxyZXBvcnQ6YygicmVwb3J0Iiw2MDIyNikscmVxdWVzdENoYW5nZXM6YygicmVxdWVzdC1jaGFuZ2VzIiw2MDIyNykscm9ja2V0OmMoInJvY2tldCIsNjAyMjgpLHJvb3RGb2xkZXJPcGVuZWQ6Yygicm9vdC1mb2xkZXItb3BlbmVkIiw2MDIyOSkscm9vdEZvbGRlcjpjKCJyb290LWZvbGRlciIsNjAyMzApLHJzczpjKCJyc3MiLDYwMjMxKSxydWJ5OmMoInJ1YnkiLDYwMjMyKSxzYXZlQWxsOmMoInNhdmUtYWxsIiw2MDIzMyksc2F2ZUFzOmMoInNhdmUtYXMiLDYwMjM0KSxzYXZlOmMoInNhdmUiLDYwMjM1KSxzY3JlZW5GdWxsOmMoInNjcmVlbi1mdWxsIiw2MDIzNiksc2NyZWVuTm9ybWFsOmMoInNjcmVlbi1ub3JtYWwiLDYwMjM3KSxzZWFyY2hTdG9wOmMoInNlYXJjaC1zdG9wIiw2MDIzOCksc2VydmVyOmMoInNlcnZlciIsNjAyNDApLHNldHRpbmdzR2VhcjpjKCJzZXR0aW5ncy1nZWFyIiw2MDI0MSksc2V0dGluZ3M6Yygic2V0dGluZ3MiLDYwMjQyKSxzaGllbGQ6Yygic2hpZWxkIiw2MDI0Myksc21pbGV5OmMoInNtaWxleSIsNjAyNDQpLHNvcnRQcmVjZWRlbmNlOmMoInNvcnQtcHJlY2VkZW5jZSIsNjAyNDUpLHNwbGl0SG9yaXpvbnRhbDpjKCJzcGxpdC1ob3Jpem9udGFsIiw2MDI0Niksc3BsaXRWZXJ0aWNhbDpjKCJzcGxpdC12ZXJ0aWNhbCIsNjAyNDcpLHNxdWlycmVsOmMoInNxdWlycmVsIiw2MDI0OCksc3RhckZ1bGw6Yygic3Rhci1mdWxsIiw2MDI0OSksc3RhckhhbGY6Yygic3Rhci1oYWxmIiw2MDI1MCksc3ltYm9sQ2xhc3M6Yygic3ltYm9sLWNsYXNzIiw2MDI1MSksc3ltYm9sQ29sb3I6Yygic3ltYm9sLWNvbG9yIiw2MDI1Miksc3ltYm9sQ29uc3RhbnQ6Yygic3ltYm9sLWNvbnN0YW50Iiw2MDI1Myksc3ltYm9sRW51bU1lbWJlcjpjKCJzeW1ib2wtZW51bS1tZW1iZXIiLDYwMjU0KSxzeW1ib2xGaWVsZDpjKCJzeW1ib2wtZmllbGQiLDYwMjU1KSxzeW1ib2xGaWxlOmMoInN5bWJvbC1maWxlIiw2MDI1Niksc3ltYm9sSW50ZXJmYWNlOmMoInN5bWJvbC1pbnRlcmZhY2UiLDYwMjU3KSxzeW1ib2xLZXl3b3JkOmMoInN5bWJvbC1rZXl3b3JkIiw2MDI1OCksc3ltYm9sTWlzYzpjKCJzeW1ib2wtbWlzYyIsNjAyNTkpLHN5bWJvbE9wZXJhdG9yOmMoInN5bWJvbC1vcGVyYXRvciIsNjAyNjApLHN5bWJvbFByb3BlcnR5OmMoInN5bWJvbC1wcm9wZXJ0eSIsNjAyNjEpLHdyZW5jaDpjKCJ3cmVuY2giLDYwMjYxKSx3cmVuY2hTdWJhY3Rpb246Yygid3JlbmNoLXN1YmFjdGlvbiIsNjAyNjEpLHN5bWJvbFNuaXBwZXQ6Yygic3ltYm9sLXNuaXBwZXQiLDYwMjYyKSx0YXNrbGlzdDpjKCJ0YXNrbGlzdCIsNjAyNjMpLHRlbGVzY29wZTpjKCJ0ZWxlc2NvcGUiLDYwMjY0KSx0ZXh0U2l6ZTpjKCJ0ZXh0LXNpemUiLDYwMjY1KSx0aHJlZUJhcnM6YygidGhyZWUtYmFycyIsNjAyNjYpLHRodW1ic2Rvd246YygidGh1bWJzZG93biIsNjAyNjcpLHRodW1ic3VwOmMoInRodW1ic3VwIiw2MDI2OCksdG9vbHM6YygidG9vbHMiLDYwMjY5KSx0cmlhbmdsZURvd246YygidHJpYW5nbGUtZG93biIsNjAyNzApLHRyaWFuZ2xlTGVmdDpjKCJ0cmlhbmdsZS1sZWZ0Iiw2MDI3MSksdHJpYW5nbGVSaWdodDpjKCJ0cmlhbmdsZS1yaWdodCIsNjAyNzIpLHRyaWFuZ2xlVXA6YygidHJpYW5nbGUtdXAiLDYwMjczKSx0d2l0dGVyOmMoInR3aXR0ZXIiLDYwMjc0KSx1bmZvbGQ6YygidW5mb2xkIiw2MDI3NSksdW5sb2NrOmMoInVubG9jayIsNjAyNzYpLHVubXV0ZTpjKCJ1bm11dGUiLDYwMjc3KSx1bnZlcmlmaWVkOmMoInVudmVyaWZpZWQiLDYwMjc4KSx2ZXJpZmllZDpjKCJ2ZXJpZmllZCIsNjAyNzkpLHZlcnNpb25zOmMoInZlcnNpb25zIiw2MDI4MCksdm1BY3RpdmU6Yygidm0tYWN0aXZlIiw2MDI4MSksdm1PdXRsaW5lOmMoInZtLW91dGxpbmUiLDYwMjgyKSx2bVJ1bm5pbmc6Yygidm0tcnVubmluZyIsNjAyODMpLHdhdGNoOmMoIndhdGNoIiw2MDI4NCksd2hpdGVzcGFjZTpjKCJ3aGl0ZXNwYWNlIiw2MDI4NSksd2hvbGVXb3JkOmMoIndob2xlLXdvcmQiLDYwMjg2KSx3aW5kb3c6Yygid2luZG93Iiw2MDI4Nyksd29yZFdyYXA6Yygid29yZC13cmFwIiw2MDI4OCksem9vbUluOmMoInpvb20taW4iLDYwMjg5KSx6b29tT3V0OmMoInpvb20tb3V0Iiw2MDI5MCksbGlzdEZpbHRlcjpjKCJsaXN0LWZpbHRlciIsNjAyOTEpLGxpc3RGbGF0OmMoImxpc3QtZmxhdCIsNjAyOTIpLGxpc3RTZWxlY3Rpb246YygibGlzdC1zZWxlY3Rpb24iLDYwMjkzKSxzZWxlY3Rpb246Yygic2VsZWN0aW9uIiw2MDI5MyksbGlzdFRyZWU6YygibGlzdC10cmVlIiw2MDI5NCksZGVidWdCcmVha3BvaW50RnVuY3Rpb25VbnZlcmlmaWVkOmMoImRlYnVnLWJyZWFrcG9pbnQtZnVuY3Rpb24tdW52ZXJpZmllZCIsNjAyOTUpLGRlYnVnQnJlYWtwb2ludEZ1bmN0aW9uOmMoImRlYnVnLWJyZWFrcG9pbnQtZnVuY3Rpb24iLDYwMjk2KSxkZWJ1Z0JyZWFrcG9pbnRGdW5jdGlvbkRpc2FibGVkOmMoImRlYnVnLWJyZWFrcG9pbnQtZnVuY3Rpb24tZGlzYWJsZWQiLDYwMjk2KSxkZWJ1Z1N0YWNrZnJhbWVBY3RpdmU6YygiZGVidWctc3RhY2tmcmFtZS1hY3RpdmUiLDYwMjk3KSxjaXJjbGVTbWFsbEZpbGxlZDpjKCJjaXJjbGUtc21hbGwtZmlsbGVkIiw2MDI5OCksZGVidWdTdGFja2ZyYW1lRG90OmMoImRlYnVnLXN0YWNrZnJhbWUtZG90Iiw2MDI5OCksdGVybWluYWxEZWNvcmF0aW9uTWFyazpjKCJ0ZXJtaW5hbC1kZWNvcmF0aW9uLW1hcmsiLDYwMjk4KSxkZWJ1Z1N0YWNrZnJhbWU6YygiZGVidWctc3RhY2tmcmFtZSIsNjAyOTkpLGRlYnVnU3RhY2tmcmFtZUZvY3VzZWQ6YygiZGVidWctc3RhY2tmcmFtZS1mb2N1c2VkIiw2MDI5OSksZGVidWdCcmVha3BvaW50VW5zdXBwb3J0ZWQ6YygiZGVidWctYnJlYWtwb2ludC11bnN1cHBvcnRlZCIsNjAzMDApLHN5bWJvbFN0cmluZzpjKCJzeW1ib2wtc3RyaW5nIiw2MDMwMSksZGVidWdSZXZlcnNlQ29udGludWU6YygiZGVidWctcmV2ZXJzZS1jb250aW51ZSIsNjAzMDIpLGRlYnVnU3RlcEJhY2s6YygiZGVidWctc3RlcC1iYWNrIiw2MDMwMyksZGVidWdSZXN0YXJ0RnJhbWU6YygiZGVidWctcmVzdGFydC1mcmFtZSIsNjAzMDQpLGRlYnVnQWx0OmMoImRlYnVnLWFsdCIsNjAzMDUpLGNhbGxJbmNvbWluZzpjKCJjYWxsLWluY29taW5nIiw2MDMwNiksY2FsbE91dGdvaW5nOmMoImNhbGwtb3V0Z29pbmciLDYwMzA3KSxtZW51OmMoIm1lbnUiLDYwMzA4KSxleHBhbmRBbGw6YygiZXhwYW5kLWFsbCIsNjAzMDkpLGZlZWRiYWNrOmMoImZlZWRiYWNrIiw2MDMxMCksZ2l0UHVsbFJlcXVlc3RSZXZpZXdlcjpjKCJnaXQtcHVsbC1yZXF1ZXN0LXJldmlld2VyIiw2MDMxMCksZ3JvdXBCeVJlZlR5cGU6YygiZ3JvdXAtYnktcmVmLXR5cGUiLDYwMzExKSx1bmdyb3VwQnlSZWZUeXBlOmMoInVuZ3JvdXAtYnktcmVmLXR5cGUiLDYwMzEyKSxhY2NvdW50OmMoImFjY291bnQiLDYwMzEzKSxnaXRQdWxsUmVxdWVzdEFzc2lnbmVlOmMoImdpdC1wdWxsLXJlcXVlc3QtYXNzaWduZWUiLDYwMzEzKSxiZWxsRG90OmMoImJlbGwtZG90Iiw2MDMxNCksZGVidWdDb25zb2xlOmMoImRlYnVnLWNvbnNvbGUiLDYwMzE1KSxsaWJyYXJ5OmMoImxpYnJhcnkiLDYwMzE2KSxvdXRwdXQ6Yygib3V0cHV0Iiw2MDMxNykscnVuQWxsOmMoInJ1bi1hbGwiLDYwMzE4KSxzeW5jSWdub3JlZDpjKCJzeW5jLWlnbm9yZWQiLDYwMzE5KSxwaW5uZWQ6YygicGlubmVkIiw2MDMyMCksZ2l0aHViSW52ZXJ0ZWQ6YygiZ2l0aHViLWludmVydGVkIiw2MDMyMSksc2VydmVyUHJvY2VzczpjKCJzZXJ2ZXItcHJvY2VzcyIsNjAzMjIpLHNlcnZlckVudmlyb25tZW50OmMoInNlcnZlci1lbnZpcm9ubWVudCIsNjAzMjMpLHBhc3M6YygicGFzcyIsNjAzMjQpLGlzc3VlQ2xvc2VkOmMoImlzc3VlLWNsb3NlZCIsNjAzMjQpLHN0b3BDaXJjbGU6Yygic3RvcC1jaXJjbGUiLDYwMzI1KSxwbGF5Q2lyY2xlOmMoInBsYXktY2lyY2xlIiw2MDMyNikscmVjb3JkOmMoInJlY29yZCIsNjAzMjcpLGRlYnVnQWx0U21hbGw6YygiZGVidWctYWx0LXNtYWxsIiw2MDMyOCksdm1Db25uZWN0OmMoInZtLWNvbm5lY3QiLDYwMzI5KSxjbG91ZDpjKCJjbG91ZCIsNjAzMzApLG1lcmdlOmMoIm1lcmdlIiw2MDMzMSksZXhwb3J0OmMoImV4cG9ydCIsNjAzMzIpLGdyYXBoTGVmdDpjKCJncmFwaC1sZWZ0Iiw2MDMzMyksbWFnbmV0OmMoIm1hZ25ldCIsNjAzMzQpLG5vdGVib29rOmMoIm5vdGVib29rIiw2MDMzNSkscmVkbzpjKCJyZWRvIiw2MDMzNiksY2hlY2tBbGw6YygiY2hlY2stYWxsIiw2MDMzNykscGlubmVkRGlydHk6YygicGlubmVkLWRpcnR5Iiw2MDMzOCkscGFzc0ZpbGxlZDpjKCJwYXNzLWZpbGxlZCIsNjAzMzkpLGNpcmNsZUxhcmdlRmlsbGVkOmMoImNpcmNsZS1sYXJnZS1maWxsZWQiLDYwMzQwKSxjaXJjbGVMYXJnZTpjKCJjaXJjbGUtbGFyZ2UiLDYwMzQxKSxjaXJjbGVMYXJnZU91dGxpbmU6YygiY2lyY2xlLWxhcmdlLW91dGxpbmUiLDYwMzQxKSxjb21iaW5lOmMoImNvbWJpbmUiLDYwMzQyKSxnYXRoZXI6YygiZ2F0aGVyIiw2MDM0MiksdGFibGU6YygidGFibGUiLDYwMzQzKSx2YXJpYWJsZUdyb3VwOmMoInZhcmlhYmxlLWdyb3VwIiw2MDM0NCksdHlwZUhpZXJhcmNoeTpjKCJ0eXBlLWhpZXJhcmNoeSIsNjAzNDUpLHR5cGVIaWVyYXJjaHlTdWI6YygidHlwZS1oaWVyYXJjaHktc3ViIiw2MDM0NiksdHlwZUhpZXJhcmNoeVN1cGVyOmMoInR5cGUtaGllcmFyY2h5LXN1cGVyIiw2MDM0NyksZ2l0UHVsbFJlcXVlc3RDcmVhdGU6YygiZ2l0LXB1bGwtcmVxdWVzdC1jcmVhdGUiLDYwMzQ4KSxydW5BYm92ZTpjKCJydW4tYWJvdmUiLDYwMzQ5KSxydW5CZWxvdzpjKCJydW4tYmVsb3ciLDYwMzUwKSxub3RlYm9va1RlbXBsYXRlOmMoIm5vdGVib29rLXRlbXBsYXRlIiw2MDM1MSksZGVidWdSZXJ1bjpjKCJkZWJ1Zy1yZXJ1biIsNjAzNTIpLHdvcmtzcGFjZVRydXN0ZWQ6Yygid29ya3NwYWNlLXRydXN0ZWQiLDYwMzUzKSx3b3Jrc3BhY2VVbnRydXN0ZWQ6Yygid29ya3NwYWNlLXVudHJ1c3RlZCIsNjAzNTQpLHdvcmtzcGFjZVVua25vd246Yygid29ya3NwYWNlLXVua25vd24iLDYwMzU1KSx0ZXJtaW5hbENtZDpjKCJ0ZXJtaW5hbC1jbWQiLDYwMzU2KSx0ZXJtaW5hbERlYmlhbjpjKCJ0ZXJtaW5hbC1kZWJpYW4iLDYwMzU3KSx0ZXJtaW5hbExpbnV4OmMoInRlcm1pbmFsLWxpbnV4Iiw2MDM1OCksdGVybWluYWxQb3dlcnNoZWxsOmMoInRlcm1pbmFsLXBvd2Vyc2hlbGwiLDYwMzU5KSx0ZXJtaW5hbFRtdXg6YygidGVybWluYWwtdG11eCIsNjAzNjApLHRlcm1pbmFsVWJ1bnR1OmMoInRlcm1pbmFsLXVidW50dSIsNjAzNjEpLHRlcm1pbmFsQmFzaDpjKCJ0ZXJtaW5hbC1iYXNoIiw2MDM2MiksYXJyb3dTd2FwOmMoImFycm93LXN3YXAiLDYwMzYzKSxjb3B5OmMoImNvcHkiLDYwMzY0KSxwZXJzb25BZGQ6YygicGVyc29uLWFkZCIsNjAzNjUpLGZpbHRlckZpbGxlZDpjKCJmaWx0ZXItZmlsbGVkIiw2MDM2Niksd2FuZDpjKCJ3YW5kIiw2MDM2NyksZGVidWdMaW5lQnlMaW5lOmMoImRlYnVnLWxpbmUtYnktbGluZSIsNjAzNjgpLGluc3BlY3Q6YygiaW5zcGVjdCIsNjAzNjkpLGxheWVyczpjKCJsYXllcnMiLDYwMzcwKSxsYXllcnNEb3Q6YygibGF5ZXJzLWRvdCIsNjAzNzEpLGxheWVyc0FjdGl2ZTpjKCJsYXllcnMtYWN0aXZlIiw2MDM3MiksY29tcGFzczpjKCJjb21wYXNzIiw2MDM3MyksY29tcGFzc0RvdDpjKCJjb21wYXNzLWRvdCIsNjAzNzQpLGNvbXBhc3NBY3RpdmU6YygiY29tcGFzcy1hY3RpdmUiLDYwMzc1KSxhenVyZTpjKCJhenVyZSIsNjAzNzYpLGlzc3VlRHJhZnQ6YygiaXNzdWUtZHJhZnQiLDYwMzc3KSxnaXRQdWxsUmVxdWVzdENsb3NlZDpjKCJnaXQtcHVsbC1yZXF1ZXN0LWNsb3NlZCIsNjAzNzgpLGdpdFB1bGxSZXF1ZXN0RHJhZnQ6YygiZ2l0LXB1bGwtcmVxdWVzdC1kcmFmdCIsNjAzNzkpLGRlYnVnQWxsOmMoImRlYnVnLWFsbCIsNjAzODApLGRlYnVnQ292ZXJhZ2U6YygiZGVidWctY292ZXJhZ2UiLDYwMzgxKSxydW5FcnJvcnM6YygicnVuLWVycm9ycyIsNjAzODIpLGZvbGRlckxpYnJhcnk6YygiZm9sZGVyLWxpYnJhcnkiLDYwMzgzKSxkZWJ1Z0NvbnRpbnVlU21hbGw6YygiZGVidWctY29udGludWUtc21hbGwiLDYwMzg0KSxiZWFrZXJTdG9wOmMoImJlYWtlci1zdG9wIiw2MDM4NSksZ3JhcGhMaW5lOmMoImdyYXBoLWxpbmUiLDYwMzg2KSxncmFwaFNjYXR0ZXI6YygiZ3JhcGgtc2NhdHRlciIsNjAzODcpLHBpZUNoYXJ0OmMoInBpZS1jaGFydCIsNjAzODgpLGJyYWNrZXQ6YygiYnJhY2tldCIsNjAxNzUpLGJyYWNrZXREb3Q6YygiYnJhY2tldC1kb3QiLDYwMzg5KSxicmFja2V0RXJyb3I6YygiYnJhY2tldC1lcnJvciIsNjAzOTApLGxvY2tTbWFsbDpjKCJsb2NrLXNtYWxsIiw2MDM5MSksYXp1cmVEZXZvcHM6YygiYXp1cmUtZGV2b3BzIiw2MDM5MiksdmVyaWZpZWRGaWxsZWQ6YygidmVyaWZpZWQtZmlsbGVkIiw2MDM5MyksbmV3bGluZTpjKCJuZXdsaW5lIiw2MDM5NCksbGF5b3V0OmMoImxheW91dCIsNjAzOTUpLGxheW91dEFjdGl2aXR5YmFyTGVmdDpjKCJsYXlvdXQtYWN0aXZpdHliYXItbGVmdCIsNjAzOTYpLGxheW91dEFjdGl2aXR5YmFyUmlnaHQ6YygibGF5b3V0LWFjdGl2aXR5YmFyLXJpZ2h0Iiw2MDM5NyksbGF5b3V0UGFuZWxMZWZ0OmMoImxheW91dC1wYW5lbC1sZWZ0Iiw2MDM5OCksbGF5b3V0UGFuZWxDZW50ZXI6YygibGF5b3V0LXBhbmVsLWNlbnRlciIsNjAzOTkpLGxheW91dFBhbmVsSnVzdGlmeTpjKCJsYXlvdXQtcGFuZWwtanVzdGlmeSIsNjA0MDApLGxheW91dFBhbmVsUmlnaHQ6YygibGF5b3V0LXBhbmVsLXJpZ2h0Iiw2MDQwMSksbGF5b3V0UGFuZWw6YygibGF5b3V0LXBhbmVsIiw2MDQwMiksbGF5b3V0U2lkZWJhckxlZnQ6YygibGF5b3V0LXNpZGViYXItbGVmdCIsNjA0MDMpLGxheW91dFNpZGViYXJSaWdodDpjKCJsYXlvdXQtc2lkZWJhci1yaWdodCIsNjA0MDQpLGxheW91dFN0YXR1c2JhcjpjKCJsYXlvdXQtc3RhdHVzYmFyIiw2MDQwNSksbGF5b3V0TWVudWJhcjpjKCJsYXlvdXQtbWVudWJhciIsNjA0MDYpLGxheW91dENlbnRlcmVkOmMoImxheW91dC1jZW50ZXJlZCIsNjA0MDcpLHRhcmdldDpjKCJ0YXJnZXQiLDYwNDA4KSxpbmRlbnQ6YygiaW5kZW50Iiw2MDQwOSkscmVjb3JkU21hbGw6YygicmVjb3JkLXNtYWxsIiw2MDQxMCksZXJyb3JTbWFsbDpjKCJlcnJvci1zbWFsbCIsNjA0MTEpLHRlcm1pbmFsRGVjb3JhdGlvbkVycm9yOmMoInRlcm1pbmFsLWRlY29yYXRpb24tZXJyb3IiLDYwNDExKSxhcnJvd0NpcmNsZURvd246YygiYXJyb3ctY2lyY2xlLWRvd24iLDYwNDEyKSxhcnJvd0NpcmNsZUxlZnQ6YygiYXJyb3ctY2lyY2xlLWxlZnQiLDYwNDEzKSxhcnJvd0NpcmNsZVJpZ2h0OmMoImFycm93LWNpcmNsZS1yaWdodCIsNjA0MTQpLGFycm93Q2lyY2xlVXA6YygiYXJyb3ctY2lyY2xlLXVwIiw2MDQxNSksbGF5b3V0U2lkZWJhclJpZ2h0T2ZmOmMoImxheW91dC1zaWRlYmFyLXJpZ2h0LW9mZiIsNjA0MTYpLGxheW91dFBhbmVsT2ZmOmMoImxheW91dC1wYW5lbC1vZmYiLDYwNDE3KSxsYXlvdXRTaWRlYmFyTGVmdE9mZjpjKCJsYXlvdXQtc2lkZWJhci1sZWZ0LW9mZiIsNjA0MTgpLGJsYW5rOmMoImJsYW5rIiw2MDQxOSksaGVhcnRGaWxsZWQ6YygiaGVhcnQtZmlsbGVkIiw2MDQyMCksbWFwOmMoIm1hcCIsNjA0MjEpLG1hcEhvcml6b250YWw6YygibWFwLWhvcml6b250YWwiLDYwNDIxKSxmb2xkSG9yaXpvbnRhbDpjKCJmb2xkLWhvcml6b250YWwiLDYwNDIxKSxtYXBGaWxsZWQ6YygibWFwLWZpbGxlZCIsNjA0MjIpLG1hcEhvcml6b250YWxGaWxsZWQ6YygibWFwLWhvcml6b250YWwtZmlsbGVkIiw2MDQyMiksZm9sZEhvcml6b250YWxGaWxsZWQ6YygiZm9sZC1ob3Jpem9udGFsLWZpbGxlZCIsNjA0MjIpLGNpcmNsZVNtYWxsOmMoImNpcmNsZS1zbWFsbCIsNjA0MjMpLGJlbGxTbGFzaDpjKCJiZWxsLXNsYXNoIiw2MDQyNCksYmVsbFNsYXNoRG90OmMoImJlbGwtc2xhc2gtZG90Iiw2MDQyNSksY29tbWVudFVucmVzb2x2ZWQ6YygiY29tbWVudC11bnJlc29sdmVkIiw2MDQyNiksZ2l0UHVsbFJlcXVlc3RHb1RvQ2hhbmdlczpjKCJnaXQtcHVsbC1yZXF1ZXN0LWdvLXRvLWNoYW5nZXMiLDYwNDI3KSxnaXRQdWxsUmVxdWVzdE5ld0NoYW5nZXM6YygiZ2l0LXB1bGwtcmVxdWVzdC1uZXctY2hhbmdlcyIsNjA0MjgpLHNlYXJjaEZ1enp5OmMoInNlYXJjaC1mdXp6eSIsNjA0MjkpLGNvbW1lbnREcmFmdDpjKCJjb21tZW50LWRyYWZ0Iiw2MDQzMCksc2VuZDpjKCJzZW5kIiw2MDQzMSksc3BhcmtsZTpjKCJzcGFya2xlIiw2MDQzMiksaW5zZXJ0OmMoImluc2VydCIsNjA0MzMpLG1pYzpjKCJtaWMiLDYwNDM0KSx0aHVtYnNkb3duRmlsbGVkOmMoInRodW1ic2Rvd24tZmlsbGVkIiw2MDQzNSksdGh1bWJzdXBGaWxsZWQ6YygidGh1bWJzdXAtZmlsbGVkIiw2MDQzNiksY29mZmVlOmMoImNvZmZlZSIsNjA0MzcpLHNuYWtlOmMoInNuYWtlIiw2MDQzOCksZ2FtZTpjKCJnYW1lIiw2MDQzOSksdnI6YygidnIiLDYwNDQwKSxjaGlwOmMoImNoaXAiLDYwNDQxKSxwaWFubzpjKCJwaWFubyIsNjA0NDIpLG11c2ljOmMoIm11c2ljIiw2MDQ0MyksbWljRmlsbGVkOmMoIm1pYy1maWxsZWQiLDYwNDQ0KSxyZXBvRmV0Y2g6YygicmVwby1mZXRjaCIsNjA0NDUpLGNvcGlsb3Q6YygiY29waWxvdCIsNjA0NDYpLGxpZ2h0YnVsYlNwYXJrbGU6YygibGlnaHRidWxiLXNwYXJrbGUiLDYwNDQ3KSxyb2JvdDpjKCJyb2JvdCIsNjA0NDgpLHNwYXJrbGVGaWxsZWQ6Yygic3BhcmtsZS1maWxsZWQiLDYwNDQ5KSxkaWZmU2luZ2xlOmMoImRpZmYtc2luZ2xlIiw2MDQ1MCksZGlmZk11bHRpcGxlOmMoImRpZmYtbXVsdGlwbGUiLDYwNDUxKSxzdXJyb3VuZFdpdGg6Yygic3Vycm91bmQtd2l0aCIsNjA0NTIpLHNoYXJlOmMoInNoYXJlIiw2MDQ1MyksZ2l0U3Rhc2g6YygiZ2l0LXN0YXNoIiw2MDQ1NCksZ2l0U3Rhc2hBcHBseTpjKCJnaXQtc3Rhc2gtYXBwbHkiLDYwNDU1KSxnaXRTdGFzaFBvcDpjKCJnaXQtc3Rhc2gtcG9wIiw2MDQ1NiksdnNjb2RlOmMoInZzY29kZSIsNjA0NTcpLHZzY29kZUluc2lkZXJzOmMoInZzY29kZS1pbnNpZGVycyIsNjA0NTgpLGNvZGVPc3M6YygiY29kZS1vc3MiLDYwNDU5KSxydW5Db3ZlcmFnZTpjKCJydW4tY292ZXJhZ2UiLDYwNDYwKSxydW5BbGxDb3ZlcmFnZTpjKCJydW4tYWxsLWNvdmVyYWdlIiw2MDQ2MSksY292ZXJhZ2U6YygiY292ZXJhZ2UiLDYwNDYyKSxnaXRodWJQcm9qZWN0OmMoImdpdGh1Yi1wcm9qZWN0Iiw2MDQ2MyksbWFwVmVydGljYWw6YygibWFwLXZlcnRpY2FsIiw2MDQ2NCksZm9sZFZlcnRpY2FsOmMoImZvbGQtdmVydGljYWwiLDYwNDY0KSxtYXBWZXJ0aWNhbEZpbGxlZDpjKCJtYXAtdmVydGljYWwtZmlsbGVkIiw2MDQ2NSksZm9sZFZlcnRpY2FsRmlsbGVkOmMoImZvbGQtdmVydGljYWwtZmlsbGVkIiw2MDQ2NSl9LGxsPXtkaWFsb2dFcnJvcjpjKCJkaWFsb2ctZXJyb3IiLCJlcnJvciIpLGRpYWxvZ1dhcm5pbmc6YygiZGlhbG9nLXdhcm5pbmciLCJ3YXJuaW5nIiksZGlhbG9nSW5mbzpjKCJkaWFsb2ctaW5mbyIsImluZm8iKSxkaWFsb2dDbG9zZTpjKCJkaWFsb2ctY2xvc2UiLCJjbG9zZSIpLHRyZWVJdGVtRXhwYW5kZWQ6YygidHJlZS1pdGVtLWV4cGFuZGVkIiwiY2hldnJvbi1kb3duIiksdHJlZUZpbHRlck9uVHlwZU9uOmMoInRyZWUtZmlsdGVyLW9uLXR5cGUtb24iLCJsaXN0LWZpbHRlciIpLHRyZWVGaWx0ZXJPblR5cGVPZmY6YygidHJlZS1maWx0ZXItb24tdHlwZS1vZmYiLCJsaXN0LXNlbGVjdGlvbiIpLHRyZWVGaWx0ZXJDbGVhcjpjKCJ0cmVlLWZpbHRlci1jbGVhciIsImNsb3NlIiksdHJlZUl0ZW1Mb2FkaW5nOmMoInRyZWUtaXRlbS1sb2FkaW5nIiwibG9hZGluZyIpLG1lbnVTZWxlY3Rpb246YygibWVudS1zZWxlY3Rpb24iLCJjaGVjayIpLG1lbnVTdWJtZW51OmMoIm1lbnUtc3VibWVudSIsImNoZXZyb24tcmlnaHQiKSxtZW51QmFyTW9yZTpjKCJtZW51YmFyLW1vcmUiLCJtb3JlIiksc2Nyb2xsYmFyQnV0dG9uTGVmdDpjKCJzY3JvbGxiYXItYnV0dG9uLWxlZnQiLCJ0cmlhbmdsZS1sZWZ0Iiksc2Nyb2xsYmFyQnV0dG9uUmlnaHQ6Yygic2Nyb2xsYmFyLWJ1dHRvbi1yaWdodCIsInRyaWFuZ2xlLXJpZ2h0Iiksc2Nyb2xsYmFyQnV0dG9uVXA6Yygic2Nyb2xsYmFyLWJ1dHRvbi11cCIsInRyaWFuZ2xlLXVwIiksc2Nyb2xsYmFyQnV0dG9uRG93bjpjKCJzY3JvbGxiYXItYnV0dG9uLWRvd24iLCJ0cmlhbmdsZS1kb3duIiksdG9vbEJhck1vcmU6YygidG9vbGJhci1tb3JlIiwibW9yZSIpLHF1aWNrSW5wdXRCYWNrOmMoInF1aWNrLWlucHV0LWJhY2siLCJhcnJvdy1sZWZ0IiksZHJvcERvd25CdXR0b246YygiZHJvcC1kb3duLWJ1dHRvbiIsNjAwODQpLHN5bWJvbEN1c3RvbUNvbG9yOmMoInN5bWJvbC1jdXN0b21jb2xvciIsNjAyNTIpLGV4cG9ydEljb246YygiZXhwb3J0Iiw2MDMzMiksd29ya3NwYWNlVW5zcGVjaWZpZWQ6Yygid29ya3NwYWNlLXVuc3BlY2lmaWVkIiw2MDM1NSksbmV3TGluZTpjKCJuZXdsaW5lIiw2MDM5NCksdGh1bWJzRG93bkZpbGxlZDpjKCJ0aHVtYnNkb3duLWZpbGxlZCIsNjA0MzUpLHRodW1ic1VwRmlsbGVkOmMoInRodW1ic3VwLWZpbGxlZCIsNjA0MzYpLGdpdEZldGNoOmMoImdpdC1mZXRjaCIsNjA0NDUpLGxpZ2h0YnVsYlNwYXJrbGVBdXRvZml4OmMoImxpZ2h0YnVsYi1zcGFya2xlLWF1dG9maXgiLDYwNDQ3KSxkZWJ1Z0JyZWFrcG9pbnRQZW5kaW5nOmMoImRlYnVnLWJyZWFrcG9pbnQtcGVuZGluZyIsNjAzNzcpfSxqPXsuLi5vbCwuLi5sbH07Y2xhc3MgdWx7Y29uc3RydWN0b3IoKXt0aGlzLl90b2tlbml6YXRpb25TdXBwb3J0cz1uZXcgTWFwLHRoaXMuX2ZhY3Rvcmllcz1uZXcgTWFwLHRoaXMuX29uRGlkQ2hhbmdlPW5ldyBBZSx0aGlzLm9uRGlkQ2hhbmdlPXRoaXMuX29uRGlkQ2hhbmdlLmV2ZW50LHRoaXMuX2NvbG9yTWFwPW51bGx9aGFuZGxlQ2hhbmdlKHQpe3RoaXMuX29uRGlkQ2hhbmdlLmZpcmUoe2NoYW5nZWRMYW5ndWFnZXM6dCxjaGFuZ2VkQ29sb3JNYXA6ITF9KX1yZWdpc3Rlcih0LG4pe3JldHVybiB0aGlzLl90b2tlbml6YXRpb25TdXBwb3J0cy5zZXQodCxuKSx0aGlzLmhhbmRsZUNoYW5nZShbdF0pLFp0KCgpPT57dGhpcy5fdG9rZW5pemF0aW9uU3VwcG9ydHMuZ2V0KHQpPT09biYmKHRoaXMuX3Rva2VuaXphdGlvblN1cHBvcnRzLmRlbGV0ZSh0KSx0aGlzLmhhbmRsZUNoYW5nZShbdF0pKX0pfWdldCh0KXtyZXR1cm4gdGhpcy5fdG9rZW5pemF0aW9uU3VwcG9ydHMuZ2V0KHQpfHxudWxsfXJlZ2lzdGVyRmFjdG9yeSh0LG4pe3ZhciByOyhyPXRoaXMuX2ZhY3Rvcmllcy5nZXQodCkpPT09bnVsbHx8cj09PXZvaWQgMHx8ci5kaXNwb3NlKCk7Y29uc3QgaT1uZXcgY2wodGhpcyx0LG4pO3JldHVybiB0aGlzLl9mYWN0b3JpZXMuc2V0KHQsaSksWnQoKCk9Pntjb25zdCBzPXRoaXMuX2ZhY3Rvcmllcy5nZXQodCk7IXN8fHMhPT1pfHwodGhpcy5fZmFjdG9yaWVzLmRlbGV0ZSh0KSxzLmRpc3Bvc2UoKSl9KX1hc3luYyBnZXRPckNyZWF0ZSh0KXtjb25zdCBuPXRoaXMuZ2V0KHQpO2lmKG4pcmV0dXJuIG47Y29uc3Qgcj10aGlzLl9mYWN0b3JpZXMuZ2V0KHQpO3JldHVybiFyfHxyLmlzUmVzb2x2ZWQ/bnVsbDooYXdhaXQgci5yZXNvbHZlKCksdGhpcy5nZXQodCkpfWlzUmVzb2x2ZWQodCl7aWYodGhpcy5nZXQodCkpcmV0dXJuITA7Y29uc3Qgcj10aGlzLl9mYWN0b3JpZXMuZ2V0KHQpO3JldHVybiEhKCFyfHxyLmlzUmVzb2x2ZWQpfXNldENvbG9yTWFwKHQpe3RoaXMuX2NvbG9yTWFwPXQsdGhpcy5fb25EaWRDaGFuZ2UuZmlyZSh7Y2hhbmdlZExhbmd1YWdlczpBcnJheS5mcm9tKHRoaXMuX3Rva2VuaXphdGlvblN1cHBvcnRzLmtleXMoKSksY2hhbmdlZENvbG9yTWFwOiEwfSl9Z2V0Q29sb3JNYXAoKXtyZXR1cm4gdGhpcy5fY29sb3JNYXB9Z2V0RGVmYXVsdEJhY2tncm91bmQoKXtyZXR1cm4gdGhpcy5fY29sb3JNYXAmJnRoaXMuX2NvbG9yTWFwLmxlbmd0aD4yP3RoaXMuX2NvbG9yTWFwWzJdOm51bGx9fWNsYXNzIGNsIGV4dGVuZHMgRXR7Z2V0IGlzUmVzb2x2ZWQoKXtyZXR1cm4gdGhpcy5faXNSZXNvbHZlZH1jb25zdHJ1Y3Rvcih0LG4scil7c3VwZXIoKSx0aGlzLl9yZWdpc3RyeT10LHRoaXMuX2xhbmd1YWdlSWQ9bix0aGlzLl9mYWN0b3J5PXIsdGhpcy5faXNEaXNwb3NlZD0hMSx0aGlzLl9yZXNvbHZlUHJvbWlzZT1udWxsLHRoaXMuX2lzUmVzb2x2ZWQ9ITF9ZGlzcG9zZSgpe3RoaXMuX2lzRGlzcG9zZWQ9ITAsc3VwZXIuZGlzcG9zZSgpfWFzeW5jIHJlc29sdmUoKXtyZXR1cm4gdGhpcy5fcmVzb2x2ZVByb21pc2V8fCh0aGlzLl9yZXNvbHZlUHJvbWlzZT10aGlzLl9jcmVhdGUoKSksdGhpcy5fcmVzb2x2ZVByb21pc2V9YXN5bmMgX2NyZWF0ZSgpe2NvbnN0IHQ9YXdhaXQgdGhpcy5fZmFjdG9yeS50b2tlbml6YXRpb25TdXBwb3J0O3RoaXMuX2lzUmVzb2x2ZWQ9ITAsdCYmIXRoaXMuX2lzRGlzcG9zZWQmJnRoaXMuX3JlZ2lzdGVyKHRoaXMuX3JlZ2lzdHJ5LnJlZ2lzdGVyKHRoaXMuX2xhbmd1YWdlSWQsdCkpfX1jbGFzcyBmbHtjb25zdHJ1Y3Rvcih0LG4scil7dGhpcy5vZmZzZXQ9dCx0aGlzLnR5cGU9bix0aGlzLmxhbmd1YWdlPXIsdGhpcy5fdG9rZW5CcmFuZD12b2lkIDB9dG9TdHJpbmcoKXtyZXR1cm4iKCIrdGhpcy5vZmZzZXQrIiwgIit0aGlzLnR5cGUrIikifX12YXIgY2k7KGZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IE1hcDt0LnNldCgwLGouc3ltYm9sTWV0aG9kKSx0LnNldCgxLGouc3ltYm9sRnVuY3Rpb24pLHQuc2V0KDIsai5zeW1ib2xDb25zdHJ1Y3RvciksdC5zZXQoMyxqLnN5bWJvbEZpZWxkKSx0LnNldCg0LGouc3ltYm9sVmFyaWFibGUpLHQuc2V0KDUsai5zeW1ib2xDbGFzcyksdC5zZXQoNixqLnN5bWJvbFN0cnVjdCksdC5zZXQoNyxqLnN5bWJvbEludGVyZmFjZSksdC5zZXQoOCxqLnN5bWJvbE1vZHVsZSksdC5zZXQoOSxqLnN5bWJvbFByb3BlcnR5KSx0LnNldCgxMCxqLnN5bWJvbEV2ZW50KSx0LnNldCgxMSxqLnN5bWJvbE9wZXJhdG9yKSx0LnNldCgxMixqLnN5bWJvbFVuaXQpLHQuc2V0KDEzLGouc3ltYm9sVmFsdWUpLHQuc2V0KDE1LGouc3ltYm9sRW51bSksdC5zZXQoMTQsai5zeW1ib2xDb25zdGFudCksdC5zZXQoMTUsai5zeW1ib2xFbnVtKSx0LnNldCgxNixqLnN5bWJvbEVudW1NZW1iZXIpLHQuc2V0KDE3LGouc3ltYm9sS2V5d29yZCksdC5zZXQoMjcsai5zeW1ib2xTbmlwcGV0KSx0LnNldCgxOCxqLnN5bWJvbFRleHQpLHQuc2V0KDE5LGouc3ltYm9sQ29sb3IpLHQuc2V0KDIwLGouc3ltYm9sRmlsZSksdC5zZXQoMjEsai5zeW1ib2xSZWZlcmVuY2UpLHQuc2V0KDIyLGouc3ltYm9sQ3VzdG9tQ29sb3IpLHQuc2V0KDIzLGouc3ltYm9sRm9sZGVyKSx0LnNldCgyNCxqLnN5bWJvbFR5cGVQYXJhbWV0ZXIpLHQuc2V0KDI1LGouYWNjb3VudCksdC5zZXQoMjYsai5pc3N1ZXMpO2Z1bmN0aW9uIG4ocyl7bGV0IGE9dC5nZXQocyk7cmV0dXJuIGF8fChhPWouc3ltYm9sUHJvcGVydHkpLGF9ZS50b0ljb249bjtjb25zdCByPW5ldyBNYXA7ci5zZXQoIm1ldGhvZCIsMCksci5zZXQoImZ1bmN0aW9uIiwxKSxyLnNldCgiY29uc3RydWN0b3IiLDIpLHIuc2V0KCJmaWVsZCIsMyksci5zZXQoInZhcmlhYmxlIiw0KSxyLnNldCgiY2xhc3MiLDUpLHIuc2V0KCJzdHJ1Y3QiLDYpLHIuc2V0KCJpbnRlcmZhY2UiLDcpLHIuc2V0KCJtb2R1bGUiLDgpLHIuc2V0KCJwcm9wZXJ0eSIsOSksci5zZXQoImV2ZW50IiwxMCksci5zZXQoIm9wZXJhdG9yIiwxMSksci5zZXQoInVuaXQiLDEyKSxyLnNldCgidmFsdWUiLDEzKSxyLnNldCgiY29uc3RhbnQiLDE0KSxyLnNldCgiZW51bSIsMTUpLHIuc2V0KCJlbnVtLW1lbWJlciIsMTYpLHIuc2V0KCJlbnVtTWVtYmVyIiwxNiksci5zZXQoImtleXdvcmQiLDE3KSxyLnNldCgic25pcHBldCIsMjcpLHIuc2V0KCJ0ZXh0IiwxOCksci5zZXQoImNvbG9yIiwxOSksci5zZXQoImZpbGUiLDIwKSxyLnNldCgicmVmZXJlbmNlIiwyMSksci5zZXQoImN1c3RvbWNvbG9yIiwyMiksci5zZXQoImZvbGRlciIsMjMpLHIuc2V0KCJ0eXBlLXBhcmFtZXRlciIsMjQpLHIuc2V0KCJ0eXBlUGFyYW1ldGVyIiwyNCksci5zZXQoImFjY291bnQiLDI1KSxyLnNldCgiaXNzdWUiLDI2KTtmdW5jdGlvbiBpKHMsYSl7bGV0IG89ci5nZXQocyk7cmV0dXJuIHR5cGVvZiBvPiJ1IiYmIWEmJihvPTkpLG99ZS5mcm9tU3RyaW5nPWl9KShjaXx8KGNpPXt9KSk7dmFyIGZpOyhmdW5jdGlvbihlKXtlW2UuQXV0b21hdGljPTBdPSJBdXRvbWF0aWMiLGVbZS5FeHBsaWNpdD0xXT0iRXhwbGljaXQifSkoZml8fChmaT17fSkpO3ZhciBoaTsoZnVuY3Rpb24oZSl7ZVtlLkF1dG9tYXRpYz0wXT0iQXV0b21hdGljIixlW2UuUGFzdGVBcz0xXT0iUGFzdGVBcyJ9KShoaXx8KGhpPXt9KSk7dmFyIGRpOyhmdW5jdGlvbihlKXtlW2UuSW52b2tlPTFdPSJJbnZva2UiLGVbZS5UcmlnZ2VyQ2hhcmFjdGVyPTJdPSJUcmlnZ2VyQ2hhcmFjdGVyIixlW2UuQ29udGVudENoYW5nZT0zXT0iQ29udGVudENoYW5nZSJ9KShkaXx8KGRpPXt9KSk7dmFyIGdpOyhmdW5jdGlvbihlKXtlW2UuVGV4dD0wXT0iVGV4dCIsZVtlLlJlYWQ9MV09IlJlYWQiLGVbZS5Xcml0ZT0yXT0iV3JpdGUifSkoZ2l8fChnaT17fSkpLFooIkFycmF5IiwiYXJyYXkiKSxaKCJCb29sZWFuIiwiYm9vbGVhbiIpLFooIkNsYXNzIiwiY2xhc3MiKSxaKCJDb25zdGFudCIsImNvbnN0YW50IiksWigiQ29uc3RydWN0b3IiLCJjb25zdHJ1Y3RvciIpLFooIkVudW0iLCJlbnVtZXJhdGlvbiIpLFooIkVudW1NZW1iZXIiLCJlbnVtZXJhdGlvbiBtZW1iZXIiKSxaKCJFdmVudCIsImV2ZW50IiksWigiRmllbGQiLCJmaWVsZCIpLFooIkZpbGUiLCJmaWxlIiksWigiRnVuY3Rpb24iLCJmdW5jdGlvbiIpLFooIkludGVyZmFjZSIsImludGVyZmFjZSIpLFooIktleSIsImtleSIpLFooIk1ldGhvZCIsIm1ldGhvZCIpLFooIk1vZHVsZSIsIm1vZHVsZSIpLFooIk5hbWVzcGFjZSIsIm5hbWVzcGFjZSIpLFooIk51bGwiLCJudWxsIiksWigiTnVtYmVyIiwibnVtYmVyIiksWigiT2JqZWN0Iiwib2JqZWN0IiksWigiT3BlcmF0b3IiLCJvcGVyYXRvciIpLFooIlBhY2thZ2UiLCJwYWNrYWdlIiksWigiUHJvcGVydHkiLCJwcm9wZXJ0eSIpLFooIlN0cmluZyIsInN0cmluZyIpLFooIlN0cnVjdCIsInN0cnVjdCIpLFooIlR5cGVQYXJhbWV0ZXIiLCJ0eXBlIHBhcmFtZXRlciIpLFooIlZhcmlhYmxlIiwidmFyaWFibGUiKTt2YXIgbWk7KGZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IE1hcDt0LnNldCgwLGouc3ltYm9sRmlsZSksdC5zZXQoMSxqLnN5bWJvbE1vZHVsZSksdC5zZXQoMixqLnN5bWJvbE5hbWVzcGFjZSksdC5zZXQoMyxqLnN5bWJvbFBhY2thZ2UpLHQuc2V0KDQsai5zeW1ib2xDbGFzcyksdC5zZXQoNSxqLnN5bWJvbE1ldGhvZCksdC5zZXQoNixqLnN5bWJvbFByb3BlcnR5KSx0LnNldCg3LGouc3ltYm9sRmllbGQpLHQuc2V0KDgsai5zeW1ib2xDb25zdHJ1Y3RvciksdC5zZXQoOSxqLnN5bWJvbEVudW0pLHQuc2V0KDEwLGouc3ltYm9sSW50ZXJmYWNlKSx0LnNldCgxMSxqLnN5bWJvbEZ1bmN0aW9uKSx0LnNldCgxMixqLnN5bWJvbFZhcmlhYmxlKSx0LnNldCgxMyxqLnN5bWJvbENvbnN0YW50KSx0LnNldCgxNCxqLnN5bWJvbFN0cmluZyksdC5zZXQoMTUsai5zeW1ib2xOdW1iZXIpLHQuc2V0KDE2LGouc3ltYm9sQm9vbGVhbiksdC5zZXQoMTcsai5zeW1ib2xBcnJheSksdC5zZXQoMTgsai5zeW1ib2xPYmplY3QpLHQuc2V0KDE5LGouc3ltYm9sS2V5KSx0LnNldCgyMCxqLnN5bWJvbE51bGwpLHQuc2V0KDIxLGouc3ltYm9sRW51bU1lbWJlciksdC5zZXQoMjIsai5zeW1ib2xTdHJ1Y3QpLHQuc2V0KDIzLGouc3ltYm9sRXZlbnQpLHQuc2V0KDI0LGouc3ltYm9sT3BlcmF0b3IpLHQuc2V0KDI1LGouc3ltYm9sVHlwZVBhcmFtZXRlcik7ZnVuY3Rpb24gbihyKXtsZXQgaT10LmdldChyKTtyZXR1cm4gaXx8KGk9ai5zeW1ib2xQcm9wZXJ0eSksaX1lLnRvSWNvbj1ufSkobWl8fChtaT17fSkpO3ZhciBwaTsoZnVuY3Rpb24oZSl7ZVtlLkFJR2VuZXJhdGVkPTFdPSJBSUdlbmVyYXRlZCJ9KShwaXx8KHBpPXt9KSk7dmFyIHZpOyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KG4pe3JldHVybiFufHx0eXBlb2YgbiE9Im9iamVjdCI/ITE6dHlwZW9mIG4uaWQ9PSJzdHJpbmciJiZ0eXBlb2Ygbi50aXRsZT09InN0cmluZyJ9ZS5pcz10fSkodml8fCh2aT17fSkpO3ZhciBiaTsoZnVuY3Rpb24oZSl7ZVtlLlR5cGU9MV09IlR5cGUiLGVbZS5QYXJhbWV0ZXI9Ml09IlBhcmFtZXRlciJ9KShiaXx8KGJpPXt9KSksbmV3IHVsO3ZhciB4aTsoZnVuY3Rpb24oZSl7ZVtlLkludm9rZT0wXT0iSW52b2tlIixlW2UuQXV0b21hdGljPTFdPSJBdXRvbWF0aWMifSkoeGl8fCh4aT17fSkpO3ZhciB5aTsoZnVuY3Rpb24oZSl7ZVtlLlVua25vd249MF09IlVua25vd24iLGVbZS5EaXNhYmxlZD0xXT0iRGlzYWJsZWQiLGVbZS5FbmFibGVkPTJdPSJFbmFibGVkIn0pKHlpfHwoeWk9e30pKTt2YXIgX2k7KGZ1bmN0aW9uKGUpe2VbZS5JbnZva2U9MV09Ikludm9rZSIsZVtlLkF1dG89Ml09IkF1dG8ifSkoX2l8fChfaT17fSkpO3ZhciB3aTsoZnVuY3Rpb24oZSl7ZVtlLk5vbmU9MF09Ik5vbmUiLGVbZS5LZWVwV2hpdGVzcGFjZT0xXT0iS2VlcFdoaXRlc3BhY2UiLGVbZS5JbnNlcnRBc1NuaXBwZXQ9NF09Ikluc2VydEFzU25pcHBldCJ9KSh3aXx8KHdpPXt9KSk7dmFyIFNpOyhmdW5jdGlvbihlKXtlW2UuTWV0aG9kPTBdPSJNZXRob2QiLGVbZS5GdW5jdGlvbj0xXT0iRnVuY3Rpb24iLGVbZS5Db25zdHJ1Y3Rvcj0yXT0iQ29uc3RydWN0b3IiLGVbZS5GaWVsZD0zXT0iRmllbGQiLGVbZS5WYXJpYWJsZT00XT0iVmFyaWFibGUiLGVbZS5DbGFzcz01XT0iQ2xhc3MiLGVbZS5TdHJ1Y3Q9Nl09IlN0cnVjdCIsZVtlLkludGVyZmFjZT03XT0iSW50ZXJmYWNlIixlW2UuTW9kdWxlPThdPSJNb2R1bGUiLGVbZS5Qcm9wZXJ0eT05XT0iUHJvcGVydHkiLGVbZS5FdmVudD0xMF09IkV2ZW50IixlW2UuT3BlcmF0b3I9MTFdPSJPcGVyYXRvciIsZVtlLlVuaXQ9MTJdPSJVbml0IixlW2UuVmFsdWU9MTNdPSJWYWx1ZSIsZVtlLkNvbnN0YW50PTE0XT0iQ29uc3RhbnQiLGVbZS5FbnVtPTE1XT0iRW51bSIsZVtlLkVudW1NZW1iZXI9MTZdPSJFbnVtTWVtYmVyIixlW2UuS2V5d29yZD0xN109IktleXdvcmQiLGVbZS5UZXh0PTE4XT0iVGV4dCIsZVtlLkNvbG9yPTE5XT0iQ29sb3IiLGVbZS5GaWxlPTIwXT0iRmlsZSIsZVtlLlJlZmVyZW5jZT0yMV09IlJlZmVyZW5jZSIsZVtlLkN1c3RvbWNvbG9yPTIyXT0iQ3VzdG9tY29sb3IiLGVbZS5Gb2xkZXI9MjNdPSJGb2xkZXIiLGVbZS5UeXBlUGFyYW1ldGVyPTI0XT0iVHlwZVBhcmFtZXRlciIsZVtlLlVzZXI9MjVdPSJVc2VyIixlW2UuSXNzdWU9MjZdPSJJc3N1ZSIsZVtlLlNuaXBwZXQ9MjddPSJTbmlwcGV0In0pKFNpfHwoU2k9e30pKTt2YXIgTGk7KGZ1bmN0aW9uKGUpe2VbZS5EZXByZWNhdGVkPTFdPSJEZXByZWNhdGVkIn0pKExpfHwoTGk9e30pKTt2YXIgTmk7KGZ1bmN0aW9uKGUpe2VbZS5JbnZva2U9MF09Ikludm9rZSIsZVtlLlRyaWdnZXJDaGFyYWN0ZXI9MV09IlRyaWdnZXJDaGFyYWN0ZXIiLGVbZS5UcmlnZ2VyRm9ySW5jb21wbGV0ZUNvbXBsZXRpb25zPTJdPSJUcmlnZ2VyRm9ySW5jb21wbGV0ZUNvbXBsZXRpb25zIn0pKE5pfHwoTmk9e30pKTt2YXIgQWk7KGZ1bmN0aW9uKGUpe2VbZS5FWEFDVD0wXT0iRVhBQ1QiLGVbZS5BQk9WRT0xXT0iQUJPVkUiLGVbZS5CRUxPVz0yXT0iQkVMT1cifSkoQWl8fChBaT17fSkpO3ZhciBDaTsoZnVuY3Rpb24oZSl7ZVtlLk5vdFNldD0wXT0iTm90U2V0IixlW2UuQ29udGVudEZsdXNoPTFdPSJDb250ZW50Rmx1c2giLGVbZS5SZWNvdmVyRnJvbU1hcmtlcnM9Ml09IlJlY292ZXJGcm9tTWFya2VycyIsZVtlLkV4cGxpY2l0PTNdPSJFeHBsaWNpdCIsZVtlLlBhc3RlPTRdPSJQYXN0ZSIsZVtlLlVuZG89NV09IlVuZG8iLGVbZS5SZWRvPTZdPSJSZWRvIn0pKENpfHwoQ2k9e30pKTt2YXIga2k7KGZ1bmN0aW9uKGUpe2VbZS5MRj0xXT0iTEYiLGVbZS5DUkxGPTJdPSJDUkxGIn0pKGtpfHwoa2k9e30pKTt2YXIgRWk7KGZ1bmN0aW9uKGUpe2VbZS5UZXh0PTBdPSJUZXh0IixlW2UuUmVhZD0xXT0iUmVhZCIsZVtlLldyaXRlPTJdPSJXcml0ZSJ9KShFaXx8KEVpPXt9KSk7dmFyIFJpOyhmdW5jdGlvbihlKXtlW2UuTm9uZT0wXT0iTm9uZSIsZVtlLktlZXA9MV09IktlZXAiLGVbZS5CcmFja2V0cz0yXT0iQnJhY2tldHMiLGVbZS5BZHZhbmNlZD0zXT0iQWR2YW5jZWQiLGVbZS5GdWxsPTRdPSJGdWxsIn0pKFJpfHwoUmk9e30pKTt2YXIgTWk7KGZ1bmN0aW9uKGUpe2VbZS5hY2NlcHRTdWdnZXN0aW9uT25Db21taXRDaGFyYWN0ZXI9MF09ImFjY2VwdFN1Z2dlc3Rpb25PbkNvbW1pdENoYXJhY3RlciIsZVtlLmFjY2VwdFN1Z2dlc3Rpb25PbkVudGVyPTFdPSJhY2NlcHRTdWdnZXN0aW9uT25FbnRlciIsZVtlLmFjY2Vzc2liaWxpdHlTdXBwb3J0PTJdPSJhY2Nlc3NpYmlsaXR5U3VwcG9ydCIsZVtlLmFjY2Vzc2liaWxpdHlQYWdlU2l6ZT0zXT0iYWNjZXNzaWJpbGl0eVBhZ2VTaXplIixlW2UuYXJpYUxhYmVsPTRdPSJhcmlhTGFiZWwiLGVbZS5hcmlhUmVxdWlyZWQ9NV09ImFyaWFSZXF1aXJlZCIsZVtlLmF1dG9DbG9zaW5nQnJhY2tldHM9Nl09ImF1dG9DbG9zaW5nQnJhY2tldHMiLGVbZS5hdXRvQ2xvc2luZ0NvbW1lbnRzPTddPSJhdXRvQ2xvc2luZ0NvbW1lbnRzIixlW2Uuc2NyZWVuUmVhZGVyQW5ub3VuY2VJbmxpbmVTdWdnZXN0aW9uPThdPSJzY3JlZW5SZWFkZXJBbm5vdW5jZUlubGluZVN1Z2dlc3Rpb24iLGVbZS5hdXRvQ2xvc2luZ0RlbGV0ZT05XT0iYXV0b0Nsb3NpbmdEZWxldGUiLGVbZS5hdXRvQ2xvc2luZ092ZXJ0eXBlPTEwXT0iYXV0b0Nsb3NpbmdPdmVydHlwZSIsZVtlLmF1dG9DbG9zaW5nUXVvdGVzPTExXT0iYXV0b0Nsb3NpbmdRdW90ZXMiLGVbZS5hdXRvSW5kZW50PTEyXT0iYXV0b0luZGVudCIsZVtlLmF1dG9tYXRpY0xheW91dD0xM109ImF1dG9tYXRpY0xheW91dCIsZVtlLmF1dG9TdXJyb3VuZD0xNF09ImF1dG9TdXJyb3VuZCIsZVtlLmJyYWNrZXRQYWlyQ29sb3JpemF0aW9uPTE1XT0iYnJhY2tldFBhaXJDb2xvcml6YXRpb24iLGVbZS5ndWlkZXM9MTZdPSJndWlkZXMiLGVbZS5jb2RlTGVucz0xN109ImNvZGVMZW5zIixlW2UuY29kZUxlbnNGb250RmFtaWx5PTE4XT0iY29kZUxlbnNGb250RmFtaWx5IixlW2UuY29kZUxlbnNGb250U2l6ZT0xOV09ImNvZGVMZW5zRm9udFNpemUiLGVbZS5jb2xvckRlY29yYXRvcnM9MjBdPSJjb2xvckRlY29yYXRvcnMiLGVbZS5jb2xvckRlY29yYXRvcnNMaW1pdD0yMV09ImNvbG9yRGVjb3JhdG9yc0xpbWl0IixlW2UuY29sdW1uU2VsZWN0aW9uPTIyXT0iY29sdW1uU2VsZWN0aW9uIixlW2UuY29tbWVudHM9MjNdPSJjb21tZW50cyIsZVtlLmNvbnRleHRtZW51PTI0XT0iY29udGV4dG1lbnUiLGVbZS5jb3B5V2l0aFN5bnRheEhpZ2hsaWdodGluZz0yNV09ImNvcHlXaXRoU3ludGF4SGlnaGxpZ2h0aW5nIixlW2UuY3Vyc29yQmxpbmtpbmc9MjZdPSJjdXJzb3JCbGlua2luZyIsZVtlLmN1cnNvclNtb290aENhcmV0QW5pbWF0aW9uPTI3XT0iY3Vyc29yU21vb3RoQ2FyZXRBbmltYXRpb24iLGVbZS5jdXJzb3JTdHlsZT0yOF09ImN1cnNvclN0eWxlIixlW2UuY3Vyc29yU3Vycm91bmRpbmdMaW5lcz0yOV09ImN1cnNvclN1cnJvdW5kaW5nTGluZXMiLGVbZS5jdXJzb3JTdXJyb3VuZGluZ0xpbmVzU3R5bGU9MzBdPSJjdXJzb3JTdXJyb3VuZGluZ0xpbmVzU3R5bGUiLGVbZS5jdXJzb3JXaWR0aD0zMV09ImN1cnNvcldpZHRoIixlW2UuZGlzYWJsZUxheWVySGludGluZz0zMl09ImRpc2FibGVMYXllckhpbnRpbmciLGVbZS5kaXNhYmxlTW9ub3NwYWNlT3B0aW1pemF0aW9ucz0zM109ImRpc2FibGVNb25vc3BhY2VPcHRpbWl6YXRpb25zIixlW2UuZG9tUmVhZE9ubHk9MzRdPSJkb21SZWFkT25seSIsZVtlLmRyYWdBbmREcm9wPTM1XT0iZHJhZ0FuZERyb3AiLGVbZS5kcm9wSW50b0VkaXRvcj0zNl09ImRyb3BJbnRvRWRpdG9yIixlW2UuZW1wdHlTZWxlY3Rpb25DbGlwYm9hcmQ9MzddPSJlbXB0eVNlbGVjdGlvbkNsaXBib2FyZCIsZVtlLmV4cGVyaW1lbnRhbFdoaXRlc3BhY2VSZW5kZXJpbmc9MzhdPSJleHBlcmltZW50YWxXaGl0ZXNwYWNlUmVuZGVyaW5nIixlW2UuZXh0cmFFZGl0b3JDbGFzc05hbWU9MzldPSJleHRyYUVkaXRvckNsYXNzTmFtZSIsZVtlLmZhc3RTY3JvbGxTZW5zaXRpdml0eT00MF09ImZhc3RTY3JvbGxTZW5zaXRpdml0eSIsZVtlLmZpbmQ9NDFdPSJmaW5kIixlW2UuZml4ZWRPdmVyZmxvd1dpZGdldHM9NDJdPSJmaXhlZE92ZXJmbG93V2lkZ2V0cyIsZVtlLmZvbGRpbmc9NDNdPSJmb2xkaW5nIixlW2UuZm9sZGluZ1N0cmF0ZWd5PTQ0XT0iZm9sZGluZ1N0cmF0ZWd5IixlW2UuZm9sZGluZ0hpZ2hsaWdodD00NV09ImZvbGRpbmdIaWdobGlnaHQiLGVbZS5mb2xkaW5nSW1wb3J0c0J5RGVmYXVsdD00Nl09ImZvbGRpbmdJbXBvcnRzQnlEZWZhdWx0IixlW2UuZm9sZGluZ01heGltdW1SZWdpb25zPTQ3XT0iZm9sZGluZ01heGltdW1SZWdpb25zIixlW2UudW5mb2xkT25DbGlja0FmdGVyRW5kT2ZMaW5lPTQ4XT0idW5mb2xkT25DbGlja0FmdGVyRW5kT2ZMaW5lIixlW2UuZm9udEZhbWlseT00OV09ImZvbnRGYW1pbHkiLGVbZS5mb250SW5mbz01MF09ImZvbnRJbmZvIixlW2UuZm9udExpZ2F0dXJlcz01MV09ImZvbnRMaWdhdHVyZXMiLGVbZS5mb250U2l6ZT01Ml09ImZvbnRTaXplIixlW2UuZm9udFdlaWdodD01M109ImZvbnRXZWlnaHQiLGVbZS5mb250VmFyaWF0aW9ucz01NF09ImZvbnRWYXJpYXRpb25zIixlW2UuZm9ybWF0T25QYXN0ZT01NV09ImZvcm1hdE9uUGFzdGUiLGVbZS5mb3JtYXRPblR5cGU9NTZdPSJmb3JtYXRPblR5cGUiLGVbZS5nbHlwaE1hcmdpbj01N109ImdseXBoTWFyZ2luIixlW2UuZ290b0xvY2F0aW9uPTU4XT0iZ290b0xvY2F0aW9uIixlW2UuaGlkZUN1cnNvckluT3ZlcnZpZXdSdWxlcj01OV09ImhpZGVDdXJzb3JJbk92ZXJ2aWV3UnVsZXIiLGVbZS5ob3Zlcj02MF09ImhvdmVyIixlW2UuaW5EaWZmRWRpdG9yPTYxXT0iaW5EaWZmRWRpdG9yIixlW2UuaW5saW5lU3VnZ2VzdD02Ml09ImlubGluZVN1Z2dlc3QiLGVbZS5pbmxpbmVFZGl0PTYzXT0iaW5saW5lRWRpdCIsZVtlLmxldHRlclNwYWNpbmc9NjRdPSJsZXR0ZXJTcGFjaW5nIixlW2UubGlnaHRidWxiPTY1XT0ibGlnaHRidWxiIixlW2UubGluZURlY29yYXRpb25zV2lkdGg9NjZdPSJsaW5lRGVjb3JhdGlvbnNXaWR0aCIsZVtlLmxpbmVIZWlnaHQ9NjddPSJsaW5lSGVpZ2h0IixlW2UubGluZU51bWJlcnM9NjhdPSJsaW5lTnVtYmVycyIsZVtlLmxpbmVOdW1iZXJzTWluQ2hhcnM9NjldPSJsaW5lTnVtYmVyc01pbkNoYXJzIixlW2UubGlua2VkRWRpdGluZz03MF09ImxpbmtlZEVkaXRpbmciLGVbZS5saW5rcz03MV09ImxpbmtzIixlW2UubWF0Y2hCcmFja2V0cz03Ml09Im1hdGNoQnJhY2tldHMiLGVbZS5taW5pbWFwPTczXT0ibWluaW1hcCIsZVtlLm1vdXNlU3R5bGU9NzRdPSJtb3VzZVN0eWxlIixlW2UubW91c2VXaGVlbFNjcm9sbFNlbnNpdGl2aXR5PTc1XT0ibW91c2VXaGVlbFNjcm9sbFNlbnNpdGl2aXR5IixlW2UubW91c2VXaGVlbFpvb209NzZdPSJtb3VzZVdoZWVsWm9vbSIsZVtlLm11bHRpQ3Vyc29yTWVyZ2VPdmVybGFwcGluZz03N109Im11bHRpQ3Vyc29yTWVyZ2VPdmVybGFwcGluZyIsZVtlLm11bHRpQ3Vyc29yTW9kaWZpZXI9NzhdPSJtdWx0aUN1cnNvck1vZGlmaWVyIixlW2UubXVsdGlDdXJzb3JQYXN0ZT03OV09Im11bHRpQ3Vyc29yUGFzdGUiLGVbZS5tdWx0aUN1cnNvckxpbWl0PTgwXT0ibXVsdGlDdXJzb3JMaW1pdCIsZVtlLm9jY3VycmVuY2VzSGlnaGxpZ2h0PTgxXT0ib2NjdXJyZW5jZXNIaWdobGlnaHQiLGVbZS5vdmVydmlld1J1bGVyQm9yZGVyPTgyXT0ib3ZlcnZpZXdSdWxlckJvcmRlciIsZVtlLm92ZXJ2aWV3UnVsZXJMYW5lcz04M109Im92ZXJ2aWV3UnVsZXJMYW5lcyIsZVtlLnBhZGRpbmc9ODRdPSJwYWRkaW5nIixlW2UucGFzdGVBcz04NV09InBhc3RlQXMiLGVbZS5wYXJhbWV0ZXJIaW50cz04Nl09InBhcmFtZXRlckhpbnRzIixlW2UucGVla1dpZGdldERlZmF1bHRGb2N1cz04N109InBlZWtXaWRnZXREZWZhdWx0Rm9jdXMiLGVbZS5kZWZpbml0aW9uTGlua09wZW5zSW5QZWVrPTg4XT0iZGVmaW5pdGlvbkxpbmtPcGVuc0luUGVlayIsZVtlLnF1aWNrU3VnZ2VzdGlvbnM9ODldPSJxdWlja1N1Z2dlc3Rpb25zIixlW2UucXVpY2tTdWdnZXN0aW9uc0RlbGF5PTkwXT0icXVpY2tTdWdnZXN0aW9uc0RlbGF5IixlW2UucmVhZE9ubHk9OTFdPSJyZWFkT25seSIsZVtlLnJlYWRPbmx5TWVzc2FnZT05Ml09InJlYWRPbmx5TWVzc2FnZSIsZVtlLnJlbmFtZU9uVHlwZT05M109InJlbmFtZU9uVHlwZSIsZVtlLnJlbmRlckNvbnRyb2xDaGFyYWN0ZXJzPTk0XT0icmVuZGVyQ29udHJvbENoYXJhY3RlcnMiLGVbZS5yZW5kZXJGaW5hbE5ld2xpbmU9OTVdPSJyZW5kZXJGaW5hbE5ld2xpbmUiLGVbZS5yZW5kZXJMaW5lSGlnaGxpZ2h0PTk2XT0icmVuZGVyTGluZUhpZ2hsaWdodCIsZVtlLnJlbmRlckxpbmVIaWdobGlnaHRPbmx5V2hlbkZvY3VzPTk3XT0icmVuZGVyTGluZUhpZ2hsaWdodE9ubHlXaGVuRm9jdXMiLGVbZS5yZW5kZXJWYWxpZGF0aW9uRGVjb3JhdGlvbnM9OThdPSJyZW5kZXJWYWxpZGF0aW9uRGVjb3JhdGlvbnMiLGVbZS5yZW5kZXJXaGl0ZXNwYWNlPTk5XT0icmVuZGVyV2hpdGVzcGFjZSIsZVtlLnJldmVhbEhvcml6b250YWxSaWdodFBhZGRpbmc9MTAwXT0icmV2ZWFsSG9yaXpvbnRhbFJpZ2h0UGFkZGluZyIsZVtlLnJvdW5kZWRTZWxlY3Rpb249MTAxXT0icm91bmRlZFNlbGVjdGlvbiIsZVtlLnJ1bGVycz0xMDJdPSJydWxlcnMiLGVbZS5zY3JvbGxiYXI9MTAzXT0ic2Nyb2xsYmFyIixlW2Uuc2Nyb2xsQmV5b25kTGFzdENvbHVtbj0xMDRdPSJzY3JvbGxCZXlvbmRMYXN0Q29sdW1uIixlW2Uuc2Nyb2xsQmV5b25kTGFzdExpbmU9MTA1XT0ic2Nyb2xsQmV5b25kTGFzdExpbmUiLGVbZS5zY3JvbGxQcmVkb21pbmFudEF4aXM9MTA2XT0ic2Nyb2xsUHJlZG9taW5hbnRBeGlzIixlW2Uuc2VsZWN0aW9uQ2xpcGJvYXJkPTEwN109InNlbGVjdGlvbkNsaXBib2FyZCIsZVtlLnNlbGVjdGlvbkhpZ2hsaWdodD0xMDhdPSJzZWxlY3Rpb25IaWdobGlnaHQiLGVbZS5zZWxlY3RPbkxpbmVOdW1iZXJzPTEwOV09InNlbGVjdE9uTGluZU51bWJlcnMiLGVbZS5zaG93Rm9sZGluZ0NvbnRyb2xzPTExMF09InNob3dGb2xkaW5nQ29udHJvbHMiLGVbZS5zaG93VW51c2VkPTExMV09InNob3dVbnVzZWQiLGVbZS5zbmlwcGV0U3VnZ2VzdGlvbnM9MTEyXT0ic25pcHBldFN1Z2dlc3Rpb25zIixlW2Uuc21hcnRTZWxlY3Q9MTEzXT0ic21hcnRTZWxlY3QiLGVbZS5zbW9vdGhTY3JvbGxpbmc9MTE0XT0ic21vb3RoU2Nyb2xsaW5nIixlW2Uuc3RpY2t5U2Nyb2xsPTExNV09InN0aWNreVNjcm9sbCIsZVtlLnN0aWNreVRhYlN0b3BzPTExNl09InN0aWNreVRhYlN0b3BzIixlW2Uuc3RvcFJlbmRlcmluZ0xpbmVBZnRlcj0xMTddPSJzdG9wUmVuZGVyaW5nTGluZUFmdGVyIixlW2Uuc3VnZ2VzdD0xMThdPSJzdWdnZXN0IixlW2Uuc3VnZ2VzdEZvbnRTaXplPTExOV09InN1Z2dlc3RGb250U2l6ZSIsZVtlLnN1Z2dlc3RMaW5lSGVpZ2h0PTEyMF09InN1Z2dlc3RMaW5lSGVpZ2h0IixlW2Uuc3VnZ2VzdE9uVHJpZ2dlckNoYXJhY3RlcnM9MTIxXT0ic3VnZ2VzdE9uVHJpZ2dlckNoYXJhY3RlcnMiLGVbZS5zdWdnZXN0U2VsZWN0aW9uPTEyMl09InN1Z2dlc3RTZWxlY3Rpb24iLGVbZS50YWJDb21wbGV0aW9uPTEyM109InRhYkNvbXBsZXRpb24iLGVbZS50YWJJbmRleD0xMjRdPSJ0YWJJbmRleCIsZVtlLnVuaWNvZGVIaWdobGlnaHRpbmc9MTI1XT0idW5pY29kZUhpZ2hsaWdodGluZyIsZVtlLnVudXN1YWxMaW5lVGVybWluYXRvcnM9MTI2XT0idW51c3VhbExpbmVUZXJtaW5hdG9ycyIsZVtlLnVzZVNoYWRvd0RPTT0xMjddPSJ1c2VTaGFkb3dET00iLGVbZS51c2VUYWJTdG9wcz0xMjhdPSJ1c2VUYWJTdG9wcyIsZVtlLndvcmRCcmVhaz0xMjldPSJ3b3JkQnJlYWsiLGVbZS53b3JkU2VnbWVudGVyTG9jYWxlcz0xMzBdPSJ3b3JkU2VnbWVudGVyTG9jYWxlcyIsZVtlLndvcmRTZXBhcmF0b3JzPTEzMV09IndvcmRTZXBhcmF0b3JzIixlW2Uud29yZFdyYXA9MTMyXT0id29yZFdyYXAiLGVbZS53b3JkV3JhcEJyZWFrQWZ0ZXJDaGFyYWN0ZXJzPTEzM109IndvcmRXcmFwQnJlYWtBZnRlckNoYXJhY3RlcnMiLGVbZS53b3JkV3JhcEJyZWFrQmVmb3JlQ2hhcmFjdGVycz0xMzRdPSJ3b3JkV3JhcEJyZWFrQmVmb3JlQ2hhcmFjdGVycyIsZVtlLndvcmRXcmFwQ29sdW1uPTEzNV09IndvcmRXcmFwQ29sdW1uIixlW2Uud29yZFdyYXBPdmVycmlkZTE9MTM2XT0id29yZFdyYXBPdmVycmlkZTEiLGVbZS53b3JkV3JhcE92ZXJyaWRlMj0xMzddPSJ3b3JkV3JhcE92ZXJyaWRlMiIsZVtlLndyYXBwaW5nSW5kZW50PTEzOF09IndyYXBwaW5nSW5kZW50IixlW2Uud3JhcHBpbmdTdHJhdGVneT0xMzldPSJ3cmFwcGluZ1N0cmF0ZWd5IixlW2Uuc2hvd0RlcHJlY2F0ZWQ9MTQwXT0ic2hvd0RlcHJlY2F0ZWQiLGVbZS5pbmxheUhpbnRzPTE0MV09ImlubGF5SGludHMiLGVbZS5lZGl0b3JDbGFzc05hbWU9MTQyXT0iZWRpdG9yQ2xhc3NOYW1lIixlW2UucGl4ZWxSYXRpbz0xNDNdPSJwaXhlbFJhdGlvIixlW2UudGFiRm9jdXNNb2RlPTE0NF09InRhYkZvY3VzTW9kZSIsZVtlLmxheW91dEluZm89MTQ1XT0ibGF5b3V0SW5mbyIsZVtlLndyYXBwaW5nSW5mbz0xNDZdPSJ3cmFwcGluZ0luZm8iLGVbZS5kZWZhdWx0Q29sb3JEZWNvcmF0b3JzPTE0N109ImRlZmF1bHRDb2xvckRlY29yYXRvcnMiLGVbZS5jb2xvckRlY29yYXRvcnNBY3RpdmF0ZWRPbj0xNDhdPSJjb2xvckRlY29yYXRvcnNBY3RpdmF0ZWRPbiIsZVtlLmlubGluZUNvbXBsZXRpb25zQWNjZXNzaWJpbGl0eVZlcmJvc2U9MTQ5XT0iaW5saW5lQ29tcGxldGlvbnNBY2Nlc3NpYmlsaXR5VmVyYm9zZSJ9KShNaXx8KE1pPXt9KSk7dmFyIFRpOyhmdW5jdGlvbihlKXtlW2UuVGV4dERlZmluZWQ9MF09IlRleHREZWZpbmVkIixlW2UuTEY9MV09IkxGIixlW2UuQ1JMRj0yXT0iQ1JMRiJ9KShUaXx8KFRpPXt9KSk7dmFyIFBpOyhmdW5jdGlvbihlKXtlW2UuTEY9MF09IkxGIixlW2UuQ1JMRj0xXT0iQ1JMRiJ9KShQaXx8KFBpPXt9KSk7dmFyIEZpOyhmdW5jdGlvbihlKXtlW2UuTGVmdD0xXT0iTGVmdCIsZVtlLkNlbnRlcj0yXT0iQ2VudGVyIixlW2UuUmlnaHQ9M109IlJpZ2h0In0pKEZpfHwoRmk9e30pKTt2YXIgSWk7KGZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuSW5kZW50PTFdPSJJbmRlbnQiLGVbZS5JbmRlbnRPdXRkZW50PTJdPSJJbmRlbnRPdXRkZW50IixlW2UuT3V0ZGVudD0zXT0iT3V0ZGVudCJ9KShJaXx8KElpPXt9KSk7dmFyIERpOyhmdW5jdGlvbihlKXtlW2UuQm90aD0wXT0iQm90aCIsZVtlLlJpZ2h0PTFdPSJSaWdodCIsZVtlLkxlZnQ9Ml09IkxlZnQiLGVbZS5Ob25lPTNdPSJOb25lIn0pKERpfHwoRGk9e30pKTt2YXIgVmk7KGZ1bmN0aW9uKGUpe2VbZS5UeXBlPTFdPSJUeXBlIixlW2UuUGFyYW1ldGVyPTJdPSJQYXJhbWV0ZXIifSkoVml8fChWaT17fSkpO3ZhciBPaTsoZnVuY3Rpb24oZSl7ZVtlLkF1dG9tYXRpYz0wXT0iQXV0b21hdGljIixlW2UuRXhwbGljaXQ9MV09IkV4cGxpY2l0In0pKE9pfHwoT2k9e30pKTt2YXIgVWk7KGZ1bmN0aW9uKGUpe2VbZS5JbnZva2U9MF09Ikludm9rZSIsZVtlLkF1dG9tYXRpYz0xXT0iQXV0b21hdGljIn0pKFVpfHwoVWk9e30pKTt2YXIgWW47KGZ1bmN0aW9uKGUpe2VbZS5EZXBlbmRzT25LYkxheW91dD0tMV09IkRlcGVuZHNPbktiTGF5b3V0IixlW2UuVW5rbm93bj0wXT0iVW5rbm93biIsZVtlLkJhY2tzcGFjZT0xXT0iQmFja3NwYWNlIixlW2UuVGFiPTJdPSJUYWIiLGVbZS5FbnRlcj0zXT0iRW50ZXIiLGVbZS5TaGlmdD00XT0iU2hpZnQiLGVbZS5DdHJsPTVdPSJDdHJsIixlW2UuQWx0PTZdPSJBbHQiLGVbZS5QYXVzZUJyZWFrPTddPSJQYXVzZUJyZWFrIixlW2UuQ2Fwc0xvY2s9OF09IkNhcHNMb2NrIixlW2UuRXNjYXBlPTldPSJFc2NhcGUiLGVbZS5TcGFjZT0xMF09IlNwYWNlIixlW2UuUGFnZVVwPTExXT0iUGFnZVVwIixlW2UuUGFnZURvd249MTJdPSJQYWdlRG93biIsZVtlLkVuZD0xM109IkVuZCIsZVtlLkhvbWU9MTRdPSJIb21lIixlW2UuTGVmdEFycm93PTE1XT0iTGVmdEFycm93IixlW2UuVXBBcnJvdz0xNl09IlVwQXJyb3ciLGVbZS5SaWdodEFycm93PTE3XT0iUmlnaHRBcnJvdyIsZVtlLkRvd25BcnJvdz0xOF09IkRvd25BcnJvdyIsZVtlLkluc2VydD0xOV09Ikluc2VydCIsZVtlLkRlbGV0ZT0yMF09IkRlbGV0ZSIsZVtlLkRpZ2l0MD0yMV09IkRpZ2l0MCIsZVtlLkRpZ2l0MT0yMl09IkRpZ2l0MSIsZVtlLkRpZ2l0Mj0yM109IkRpZ2l0MiIsZVtlLkRpZ2l0Mz0yNF09IkRpZ2l0MyIsZVtlLkRpZ2l0ND0yNV09IkRpZ2l0NCIsZVtlLkRpZ2l0NT0yNl09IkRpZ2l0NSIsZVtlLkRpZ2l0Nj0yN109IkRpZ2l0NiIsZVtlLkRpZ2l0Nz0yOF09IkRpZ2l0NyIsZVtlLkRpZ2l0OD0yOV09IkRpZ2l0OCIsZVtlLkRpZ2l0OT0zMF09IkRpZ2l0OSIsZVtlLktleUE9MzFdPSJLZXlBIixlW2UuS2V5Qj0zMl09IktleUIiLGVbZS5LZXlDPTMzXT0iS2V5QyIsZVtlLktleUQ9MzRdPSJLZXlEIixlW2UuS2V5RT0zNV09IktleUUiLGVbZS5LZXlGPTM2XT0iS2V5RiIsZVtlLktleUc9MzddPSJLZXlHIixlW2UuS2V5SD0zOF09IktleUgiLGVbZS5LZXlJPTM5XT0iS2V5SSIsZVtlLktleUo9NDBdPSJLZXlKIixlW2UuS2V5Sz00MV09IktleUsiLGVbZS5LZXlMPTQyXT0iS2V5TCIsZVtlLktleU09NDNdPSJLZXlNIixlW2UuS2V5Tj00NF09IktleU4iLGVbZS5LZXlPPTQ1XT0iS2V5TyIsZVtlLktleVA9NDZdPSJLZXlQIixlW2UuS2V5UT00N109IktleVEiLGVbZS5LZXlSPTQ4XT0iS2V5UiIsZVtlLktleVM9NDldPSJLZXlTIixlW2UuS2V5VD01MF09IktleVQiLGVbZS5LZXlVPTUxXT0iS2V5VSIsZVtlLktleVY9NTJdPSJLZXlWIixlW2UuS2V5Vz01M109IktleVciLGVbZS5LZXlYPTU0XT0iS2V5WCIsZVtlLktleVk9NTVdPSJLZXlZIixlW2UuS2V5Wj01Nl09IktleVoiLGVbZS5NZXRhPTU3XT0iTWV0YSIsZVtlLkNvbnRleHRNZW51PTU4XT0iQ29udGV4dE1lbnUiLGVbZS5GMT01OV09IkYxIixlW2UuRjI9NjBdPSJGMiIsZVtlLkYzPTYxXT0iRjMiLGVbZS5GND02Ml09IkY0IixlW2UuRjU9NjNdPSJGNSIsZVtlLkY2PTY0XT0iRjYiLGVbZS5GNz02NV09IkY3IixlW2UuRjg9NjZdPSJGOCIsZVtlLkY5PTY3XT0iRjkiLGVbZS5GMTA9NjhdPSJGMTAiLGVbZS5GMTE9NjldPSJGMTEiLGVbZS5GMTI9NzBdPSJGMTIiLGVbZS5GMTM9NzFdPSJGMTMiLGVbZS5GMTQ9NzJdPSJGMTQiLGVbZS5GMTU9NzNdPSJGMTUiLGVbZS5GMTY9NzRdPSJGMTYiLGVbZS5GMTc9NzVdPSJGMTciLGVbZS5GMTg9NzZdPSJGMTgiLGVbZS5GMTk9NzddPSJGMTkiLGVbZS5GMjA9NzhdPSJGMjAiLGVbZS5GMjE9NzldPSJGMjEiLGVbZS5GMjI9ODBdPSJGMjIiLGVbZS5GMjM9ODFdPSJGMjMiLGVbZS5GMjQ9ODJdPSJGMjQiLGVbZS5OdW1Mb2NrPTgzXT0iTnVtTG9jayIsZVtlLlNjcm9sbExvY2s9ODRdPSJTY3JvbGxMb2NrIixlW2UuU2VtaWNvbG9uPTg1XT0iU2VtaWNvbG9uIixlW2UuRXF1YWw9ODZdPSJFcXVhbCIsZVtlLkNvbW1hPTg3XT0iQ29tbWEiLGVbZS5NaW51cz04OF09Ik1pbnVzIixlW2UuUGVyaW9kPTg5XT0iUGVyaW9kIixlW2UuU2xhc2g9OTBdPSJTbGFzaCIsZVtlLkJhY2txdW90ZT05MV09IkJhY2txdW90ZSIsZVtlLkJyYWNrZXRMZWZ0PTkyXT0iQnJhY2tldExlZnQiLGVbZS5CYWNrc2xhc2g9OTNdPSJCYWNrc2xhc2giLGVbZS5CcmFja2V0UmlnaHQ9OTRdPSJCcmFja2V0UmlnaHQiLGVbZS5RdW90ZT05NV09IlF1b3RlIixlW2UuT0VNXzg9OTZdPSJPRU1fOCIsZVtlLkludGxCYWNrc2xhc2g9OTddPSJJbnRsQmFja3NsYXNoIixlW2UuTnVtcGFkMD05OF09Ik51bXBhZDAiLGVbZS5OdW1wYWQxPTk5XT0iTnVtcGFkMSIsZVtlLk51bXBhZDI9MTAwXT0iTnVtcGFkMiIsZVtlLk51bXBhZDM9MTAxXT0iTnVtcGFkMyIsZVtlLk51bXBhZDQ9MTAyXT0iTnVtcGFkNCIsZVtlLk51bXBhZDU9MTAzXT0iTnVtcGFkNSIsZVtlLk51bXBhZDY9MTA0XT0iTnVtcGFkNiIsZVtlLk51bXBhZDc9MTA1XT0iTnVtcGFkNyIsZVtlLk51bXBhZDg9MTA2XT0iTnVtcGFkOCIsZVtlLk51bXBhZDk9MTA3XT0iTnVtcGFkOSIsZVtlLk51bXBhZE11bHRpcGx5PTEwOF09Ik51bXBhZE11bHRpcGx5IixlW2UuTnVtcGFkQWRkPTEwOV09Ik51bXBhZEFkZCIsZVtlLk5VTVBBRF9TRVBBUkFUT1I9MTEwXT0iTlVNUEFEX1NFUEFSQVRPUiIsZVtlLk51bXBhZFN1YnRyYWN0PTExMV09Ik51bXBhZFN1YnRyYWN0IixlW2UuTnVtcGFkRGVjaW1hbD0xMTJdPSJOdW1wYWREZWNpbWFsIixlW2UuTnVtcGFkRGl2aWRlPTExM109Ik51bXBhZERpdmlkZSIsZVtlLktFWV9JTl9DT01QT1NJVElPTj0xMTRdPSJLRVlfSU5fQ09NUE9TSVRJT04iLGVbZS5BQk5UX0MxPTExNV09IkFCTlRfQzEiLGVbZS5BQk5UX0MyPTExNl09IkFCTlRfQzIiLGVbZS5BdWRpb1ZvbHVtZU11dGU9MTE3XT0iQXVkaW9Wb2x1bWVNdXRlIixlW2UuQXVkaW9Wb2x1bWVVcD0xMThdPSJBdWRpb1ZvbHVtZVVwIixlW2UuQXVkaW9Wb2x1bWVEb3duPTExOV09IkF1ZGlvVm9sdW1lRG93biIsZVtlLkJyb3dzZXJTZWFyY2g9MTIwXT0iQnJvd3NlclNlYXJjaCIsZVtlLkJyb3dzZXJIb21lPTEyMV09IkJyb3dzZXJIb21lIixlW2UuQnJvd3NlckJhY2s9MTIyXT0iQnJvd3NlckJhY2siLGVbZS5Ccm93c2VyRm9yd2FyZD0xMjNdPSJCcm93c2VyRm9yd2FyZCIsZVtlLk1lZGlhVHJhY2tOZXh0PTEyNF09Ik1lZGlhVHJhY2tOZXh0IixlW2UuTWVkaWFUcmFja1ByZXZpb3VzPTEyNV09Ik1lZGlhVHJhY2tQcmV2aW91cyIsZVtlLk1lZGlhU3RvcD0xMjZdPSJNZWRpYVN0b3AiLGVbZS5NZWRpYVBsYXlQYXVzZT0xMjddPSJNZWRpYVBsYXlQYXVzZSIsZVtlLkxhdW5jaE1lZGlhUGxheWVyPTEyOF09IkxhdW5jaE1lZGlhUGxheWVyIixlW2UuTGF1bmNoTWFpbD0xMjldPSJMYXVuY2hNYWlsIixlW2UuTGF1bmNoQXBwMj0xMzBdPSJMYXVuY2hBcHAyIixlW2UuQ2xlYXI9MTMxXT0iQ2xlYXIiLGVbZS5NQVhfVkFMVUU9MTMyXT0iTUFYX1ZBTFVFIn0pKFlufHwoWW49e30pKTt2YXIgS247KGZ1bmN0aW9uKGUpe2VbZS5IaW50PTFdPSJIaW50IixlW2UuSW5mbz0yXT0iSW5mbyIsZVtlLldhcm5pbmc9NF09Ildhcm5pbmciLGVbZS5FcnJvcj04XT0iRXJyb3IifSkoS258fChLbj17fSkpO3ZhciBlcjsoZnVuY3Rpb24oZSl7ZVtlLlVubmVjZXNzYXJ5PTFdPSJVbm5lY2Vzc2FyeSIsZVtlLkRlcHJlY2F0ZWQ9Ml09IkRlcHJlY2F0ZWQifSkoZXJ8fChlcj17fSkpO3ZhciBqaTsoZnVuY3Rpb24oZSl7ZVtlLklubGluZT0xXT0iSW5saW5lIixlW2UuR3V0dGVyPTJdPSJHdXR0ZXIifSkoaml8fChqaT17fSkpO3ZhciBxaTsoZnVuY3Rpb24oZSl7ZVtlLk5vcm1hbD0xXT0iTm9ybWFsIixlW2UuVW5kZXJsaW5lZD0yXT0iVW5kZXJsaW5lZCJ9KShxaXx8KHFpPXt9KSk7dmFyIEJpOyhmdW5jdGlvbihlKXtlW2UuVU5LTk9XTj0wXT0iVU5LTk9XTiIsZVtlLlRFWFRBUkVBPTFdPSJURVhUQVJFQSIsZVtlLkdVVFRFUl9HTFlQSF9NQVJHSU49Ml09IkdVVFRFUl9HTFlQSF9NQVJHSU4iLGVbZS5HVVRURVJfTElORV9OVU1CRVJTPTNdPSJHVVRURVJfTElORV9OVU1CRVJTIixlW2UuR1VUVEVSX0xJTkVfREVDT1JBVElPTlM9NF09IkdVVFRFUl9MSU5FX0RFQ09SQVRJT05TIixlW2UuR1VUVEVSX1ZJRVdfWk9ORT01XT0iR1VUVEVSX1ZJRVdfWk9ORSIsZVtlLkNPTlRFTlRfVEVYVD02XT0iQ09OVEVOVF9URVhUIixlW2UuQ09OVEVOVF9FTVBUWT03XT0iQ09OVEVOVF9FTVBUWSIsZVtlLkNPTlRFTlRfVklFV19aT05FPThdPSJDT05URU5UX1ZJRVdfWk9ORSIsZVtlLkNPTlRFTlRfV0lER0VUPTldPSJDT05URU5UX1dJREdFVCIsZVtlLk9WRVJWSUVXX1JVTEVSPTEwXT0iT1ZFUlZJRVdfUlVMRVIiLGVbZS5TQ1JPTExCQVI9MTFdPSJTQ1JPTExCQVIiLGVbZS5PVkVSTEFZX1dJREdFVD0xMl09Ik9WRVJMQVlfV0lER0VUIixlW2UuT1VUU0lERV9FRElUT1I9MTNdPSJPVVRTSURFX0VESVRPUiJ9KShCaXx8KEJpPXt9KSk7dmFyICRpOyhmdW5jdGlvbihlKXtlW2UuQUlHZW5lcmF0ZWQ9MV09IkFJR2VuZXJhdGVkIn0pKCRpfHwoJGk9e30pKTt2YXIgV2k7KGZ1bmN0aW9uKGUpe2VbZS5UT1BfUklHSFRfQ09STkVSPTBdPSJUT1BfUklHSFRfQ09STkVSIixlW2UuQk9UVE9NX1JJR0hUX0NPUk5FUj0xXT0iQk9UVE9NX1JJR0hUX0NPUk5FUiIsZVtlLlRPUF9DRU5URVI9Ml09IlRPUF9DRU5URVIifSkoV2l8fChXaT17fSkpO3ZhciBIaTsoZnVuY3Rpb24oZSl7ZVtlLkxlZnQ9MV09IkxlZnQiLGVbZS5DZW50ZXI9Ml09IkNlbnRlciIsZVtlLlJpZ2h0PTRdPSJSaWdodCIsZVtlLkZ1bGw9N109IkZ1bGwifSkoSGl8fChIaT17fSkpO3ZhciB6aTsoZnVuY3Rpb24oZSl7ZVtlLldvcmQ9MF09IldvcmQiLGVbZS5MaW5lPTFdPSJMaW5lIixlW2UuU3VnZ2VzdD0yXT0iU3VnZ2VzdCJ9KSh6aXx8KHppPXt9KSk7dmFyIEdpOyhmdW5jdGlvbihlKXtlW2UuTGVmdD0wXT0iTGVmdCIsZVtlLlJpZ2h0PTFdPSJSaWdodCIsZVtlLk5vbmU9Ml09Ik5vbmUiLGVbZS5MZWZ0T2ZJbmplY3RlZFRleHQ9M109IkxlZnRPZkluamVjdGVkVGV4dCIsZVtlLlJpZ2h0T2ZJbmplY3RlZFRleHQ9NF09IlJpZ2h0T2ZJbmplY3RlZFRleHQifSkoR2l8fChHaT17fSkpO3ZhciBKaTsoZnVuY3Rpb24oZSl7ZVtlLk9mZj0wXT0iT2ZmIixlW2UuT249MV09Ik9uIixlW2UuUmVsYXRpdmU9Ml09IlJlbGF0aXZlIixlW2UuSW50ZXJ2YWw9M109IkludGVydmFsIixlW2UuQ3VzdG9tPTRdPSJDdXN0b20ifSkoSml8fChKaT17fSkpO3ZhciBYaTsoZnVuY3Rpb24oZSl7ZVtlLk5vbmU9MF09Ik5vbmUiLGVbZS5UZXh0PTFdPSJUZXh0IixlW2UuQmxvY2tzPTJdPSJCbG9ja3MifSkoWGl8fChYaT17fSkpO3ZhciBRaTsoZnVuY3Rpb24oZSl7ZVtlLlNtb290aD0wXT0iU21vb3RoIixlW2UuSW1tZWRpYXRlPTFdPSJJbW1lZGlhdGUifSkoUWl8fChRaT17fSkpO3ZhciBaaTsoZnVuY3Rpb24oZSl7ZVtlLkF1dG89MV09IkF1dG8iLGVbZS5IaWRkZW49Ml09IkhpZGRlbiIsZVtlLlZpc2libGU9M109IlZpc2libGUifSkoWml8fChaaT17fSkpO3ZhciB0cjsoZnVuY3Rpb24oZSl7ZVtlLkxUUj0wXT0iTFRSIixlW2UuUlRMPTFdPSJSVEwifSkodHJ8fCh0cj17fSkpO3ZhciBZaTsoZnVuY3Rpb24oZSl7ZS5PZmY9Im9mZiIsZS5PbkNvZGU9Im9uQ29kZSIsZS5Pbj0ib24ifSkoWWl8fChZaT17fSkpO3ZhciBLaTsoZnVuY3Rpb24oZSl7ZVtlLkludm9rZT0xXT0iSW52b2tlIixlW2UuVHJpZ2dlckNoYXJhY3Rlcj0yXT0iVHJpZ2dlckNoYXJhY3RlciIsZVtlLkNvbnRlbnRDaGFuZ2U9M109IkNvbnRlbnRDaGFuZ2UifSkoS2l8fChLaT17fSkpO3ZhciBlczsoZnVuY3Rpb24oZSl7ZVtlLkZpbGU9MF09IkZpbGUiLGVbZS5Nb2R1bGU9MV09Ik1vZHVsZSIsZVtlLk5hbWVzcGFjZT0yXT0iTmFtZXNwYWNlIixlW2UuUGFja2FnZT0zXT0iUGFja2FnZSIsZVtlLkNsYXNzPTRdPSJDbGFzcyIsZVtlLk1ldGhvZD01XT0iTWV0aG9kIixlW2UuUHJvcGVydHk9Nl09IlByb3BlcnR5IixlW2UuRmllbGQ9N109IkZpZWxkIixlW2UuQ29uc3RydWN0b3I9OF09IkNvbnN0cnVjdG9yIixlW2UuRW51bT05XT0iRW51bSIsZVtlLkludGVyZmFjZT0xMF09IkludGVyZmFjZSIsZVtlLkZ1bmN0aW9uPTExXT0iRnVuY3Rpb24iLGVbZS5WYXJpYWJsZT0xMl09IlZhcmlhYmxlIixlW2UuQ29uc3RhbnQ9MTNdPSJDb25zdGFudCIsZVtlLlN0cmluZz0xNF09IlN0cmluZyIsZVtlLk51bWJlcj0xNV09Ik51bWJlciIsZVtlLkJvb2xlYW49MTZdPSJCb29sZWFuIixlW2UuQXJyYXk9MTddPSJBcnJheSIsZVtlLk9iamVjdD0xOF09Ik9iamVjdCIsZVtlLktleT0xOV09IktleSIsZVtlLk51bGw9MjBdPSJOdWxsIixlW2UuRW51bU1lbWJlcj0yMV09IkVudW1NZW1iZXIiLGVbZS5TdHJ1Y3Q9MjJdPSJTdHJ1Y3QiLGVbZS5FdmVudD0yM109IkV2ZW50IixlW2UuT3BlcmF0b3I9MjRdPSJPcGVyYXRvciIsZVtlLlR5cGVQYXJhbWV0ZXI9MjVdPSJUeXBlUGFyYW1ldGVyIn0pKGVzfHwoZXM9e30pKTt2YXIgdHM7KGZ1bmN0aW9uKGUpe2VbZS5EZXByZWNhdGVkPTFdPSJEZXByZWNhdGVkIn0pKHRzfHwodHM9e30pKTt2YXIgbnM7KGZ1bmN0aW9uKGUpe2VbZS5IaWRkZW49MF09IkhpZGRlbiIsZVtlLkJsaW5rPTFdPSJCbGluayIsZVtlLlNtb290aD0yXT0iU21vb3RoIixlW2UuUGhhc2U9M109IlBoYXNlIixlW2UuRXhwYW5kPTRdPSJFeHBhbmQiLGVbZS5Tb2xpZD01XT0iU29saWQifSkobnN8fChucz17fSkpO3ZhciByczsoZnVuY3Rpb24oZSl7ZVtlLkxpbmU9MV09IkxpbmUiLGVbZS5CbG9jaz0yXT0iQmxvY2siLGVbZS5VbmRlcmxpbmU9M109IlVuZGVybGluZSIsZVtlLkxpbmVUaGluPTRdPSJMaW5lVGhpbiIsZVtlLkJsb2NrT3V0bGluZT01XT0iQmxvY2tPdXRsaW5lIixlW2UuVW5kZXJsaW5lVGhpbj02XT0iVW5kZXJsaW5lVGhpbiJ9KShyc3x8KHJzPXt9KSk7dmFyIGlzOyhmdW5jdGlvbihlKXtlW2UuQWx3YXlzR3Jvd3NXaGVuVHlwaW5nQXRFZGdlcz0wXT0iQWx3YXlzR3Jvd3NXaGVuVHlwaW5nQXRFZGdlcyIsZVtlLk5ldmVyR3Jvd3NXaGVuVHlwaW5nQXRFZGdlcz0xXT0iTmV2ZXJHcm93c1doZW5UeXBpbmdBdEVkZ2VzIixlW2UuR3Jvd3NPbmx5V2hlblR5cGluZ0JlZm9yZT0yXT0iR3Jvd3NPbmx5V2hlblR5cGluZ0JlZm9yZSIsZVtlLkdyb3dzT25seVdoZW5UeXBpbmdBZnRlcj0zXT0iR3Jvd3NPbmx5V2hlblR5cGluZ0FmdGVyIn0pKGlzfHwoaXM9e30pKTt2YXIgc3M7KGZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuU2FtZT0xXT0iU2FtZSIsZVtlLkluZGVudD0yXT0iSW5kZW50IixlW2UuRGVlcEluZGVudD0zXT0iRGVlcEluZGVudCJ9KShzc3x8KHNzPXt9KSk7Y2xhc3MgVHR7c3RhdGljIGNob3JkKHQsbil7cmV0dXJuIGFsKHQsbil9fVR0LkN0cmxDbWQ9MjA0OCxUdC5TaGlmdD0xMDI0LFR0LkFsdD01MTIsVHQuV2luQ3RybD0yNTY7ZnVuY3Rpb24gaGwoKXtyZXR1cm57ZWRpdG9yOnZvaWQgMCxsYW5ndWFnZXM6dm9pZCAwLENhbmNlbGxhdGlvblRva2VuU291cmNlOm5sLEVtaXR0ZXI6QWUsS2V5Q29kZTpZbixLZXlNb2Q6VHQsUG9zaXRpb246UGUsUmFuZ2U6c2UsU2VsZWN0aW9uOnhlLFNlbGVjdGlvbkRpcmVjdGlvbjp0cixNYXJrZXJTZXZlcml0eTpLbixNYXJrZXJUYWc6ZXIsVXJpOkJuLFRva2VuOmZsfX12YXIgYXM7Y2xhc3MgZGx7Y29uc3RydWN0b3IoKXt0aGlzW2FzXT0iTGlua2VkTWFwIix0aGlzLl9tYXA9bmV3IE1hcCx0aGlzLl9oZWFkPXZvaWQgMCx0aGlzLl90YWlsPXZvaWQgMCx0aGlzLl9zaXplPTAsdGhpcy5fc3RhdGU9MH1jbGVhcigpe3RoaXMuX21hcC5jbGVhcigpLHRoaXMuX2hlYWQ9dm9pZCAwLHRoaXMuX3RhaWw9dm9pZCAwLHRoaXMuX3NpemU9MCx0aGlzLl9zdGF0ZSsrfWlzRW1wdHkoKXtyZXR1cm4hdGhpcy5faGVhZCYmIXRoaXMuX3RhaWx9Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy5fc2l6ZX1nZXQgZmlyc3QoKXt2YXIgdDtyZXR1cm4odD10aGlzLl9oZWFkKT09PW51bGx8fHQ9PT12b2lkIDA/dm9pZCAwOnQudmFsdWV9Z2V0IGxhc3QoKXt2YXIgdDtyZXR1cm4odD10aGlzLl90YWlsKT09PW51bGx8fHQ9PT12b2lkIDA/dm9pZCAwOnQudmFsdWV9aGFzKHQpe3JldHVybiB0aGlzLl9tYXAuaGFzKHQpfWdldCh0LG49MCl7Y29uc3Qgcj10aGlzLl9tYXAuZ2V0KHQpO2lmKHIpcmV0dXJuIG4hPT0wJiZ0aGlzLnRvdWNoKHIsbiksci52YWx1ZX1zZXQodCxuLHI9MCl7bGV0IGk9dGhpcy5fbWFwLmdldCh0KTtpZihpKWkudmFsdWU9bixyIT09MCYmdGhpcy50b3VjaChpLHIpO2Vsc2V7c3dpdGNoKGk9e2tleTp0LHZhbHVlOm4sbmV4dDp2b2lkIDAscHJldmlvdXM6dm9pZCAwfSxyKXtjYXNlIDA6dGhpcy5hZGRJdGVtTGFzdChpKTticmVhaztjYXNlIDE6dGhpcy5hZGRJdGVtRmlyc3QoaSk7YnJlYWs7Y2FzZSAyOnRoaXMuYWRkSXRlbUxhc3QoaSk7YnJlYWs7ZGVmYXVsdDp0aGlzLmFkZEl0ZW1MYXN0KGkpO2JyZWFrfXRoaXMuX21hcC5zZXQodCxpKSx0aGlzLl9zaXplKyt9cmV0dXJuIHRoaXN9ZGVsZXRlKHQpe3JldHVybiEhdGhpcy5yZW1vdmUodCl9cmVtb3ZlKHQpe2NvbnN0IG49dGhpcy5fbWFwLmdldCh0KTtpZihuKXJldHVybiB0aGlzLl9tYXAuZGVsZXRlKHQpLHRoaXMucmVtb3ZlSXRlbShuKSx0aGlzLl9zaXplLS0sbi52YWx1ZX1zaGlmdCgpe2lmKCF0aGlzLl9oZWFkJiYhdGhpcy5fdGFpbClyZXR1cm47aWYoIXRoaXMuX2hlYWR8fCF0aGlzLl90YWlsKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBsaXN0Iik7Y29uc3QgdD10aGlzLl9oZWFkO3JldHVybiB0aGlzLl9tYXAuZGVsZXRlKHQua2V5KSx0aGlzLnJlbW92ZUl0ZW0odCksdGhpcy5fc2l6ZS0tLHQudmFsdWV9Zm9yRWFjaCh0LG4pe2NvbnN0IHI9dGhpcy5fc3RhdGU7bGV0IGk9dGhpcy5faGVhZDtmb3IoO2k7KXtpZihuP3QuYmluZChuKShpLnZhbHVlLGkua2V5LHRoaXMpOnQoaS52YWx1ZSxpLmtleSx0aGlzKSx0aGlzLl9zdGF0ZSE9PXIpdGhyb3cgbmV3IEVycm9yKCJMaW5rZWRNYXAgZ290IG1vZGlmaWVkIGR1cmluZyBpdGVyYXRpb24uIik7aT1pLm5leHR9fWtleXMoKXtjb25zdCB0PXRoaXMsbj10aGlzLl9zdGF0ZTtsZXQgcj10aGlzLl9oZWFkO2NvbnN0IGk9e1tTeW1ib2wuaXRlcmF0b3JdKCl7cmV0dXJuIGl9LG5leHQoKXtpZih0Ll9zdGF0ZSE9PW4pdGhyb3cgbmV3IEVycm9yKCJMaW5rZWRNYXAgZ290IG1vZGlmaWVkIGR1cmluZyBpdGVyYXRpb24uIik7aWYocil7Y29uc3Qgcz17dmFsdWU6ci5rZXksZG9uZTohMX07cmV0dXJuIHI9ci5uZXh0LHN9ZWxzZSByZXR1cm57dmFsdWU6dm9pZCAwLGRvbmU6ITB9fX07cmV0dXJuIGl9dmFsdWVzKCl7Y29uc3QgdD10aGlzLG49dGhpcy5fc3RhdGU7bGV0IHI9dGhpcy5faGVhZDtjb25zdCBpPXtbU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiBpfSxuZXh0KCl7aWYodC5fc3RhdGUhPT1uKXRocm93IG5ldyBFcnJvcigiTGlua2VkTWFwIGdvdCBtb2RpZmllZCBkdXJpbmcgaXRlcmF0aW9uLiIpO2lmKHIpe2NvbnN0IHM9e3ZhbHVlOnIudmFsdWUsZG9uZTohMX07cmV0dXJuIHI9ci5uZXh0LHN9ZWxzZSByZXR1cm57dmFsdWU6dm9pZCAwLGRvbmU6ITB9fX07cmV0dXJuIGl9ZW50cmllcygpe2NvbnN0IHQ9dGhpcyxuPXRoaXMuX3N0YXRlO2xldCByPXRoaXMuX2hlYWQ7Y29uc3QgaT17W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gaX0sbmV4dCgpe2lmKHQuX3N0YXRlIT09bil0aHJvdyBuZXcgRXJyb3IoIkxpbmtlZE1hcCBnb3QgbW9kaWZpZWQgZHVyaW5nIGl0ZXJhdGlvbi4iKTtpZihyKXtjb25zdCBzPXt2YWx1ZTpbci5rZXksci52YWx1ZV0sZG9uZTohMX07cmV0dXJuIHI9ci5uZXh0LHN9ZWxzZSByZXR1cm57dmFsdWU6dm9pZCAwLGRvbmU6ITB9fX07cmV0dXJuIGl9Wyhhcz1TeW1ib2wudG9TdHJpbmdUYWcsU3ltYm9sLml0ZXJhdG9yKV0oKXtyZXR1cm4gdGhpcy5lbnRyaWVzKCl9dHJpbU9sZCh0KXtpZih0Pj10aGlzLnNpemUpcmV0dXJuO2lmKHQ9PT0wKXt0aGlzLmNsZWFyKCk7cmV0dXJufWxldCBuPXRoaXMuX2hlYWQscj10aGlzLnNpemU7Zm9yKDtuJiZyPnQ7KXRoaXMuX21hcC5kZWxldGUobi5rZXkpLG49bi5uZXh0LHItLTt0aGlzLl9oZWFkPW4sdGhpcy5fc2l6ZT1yLG4mJihuLnByZXZpb3VzPXZvaWQgMCksdGhpcy5fc3RhdGUrK31hZGRJdGVtRmlyc3QodCl7aWYoIXRoaXMuX2hlYWQmJiF0aGlzLl90YWlsKXRoaXMuX3RhaWw9dDtlbHNlIGlmKHRoaXMuX2hlYWQpdC5uZXh0PXRoaXMuX2hlYWQsdGhpcy5faGVhZC5wcmV2aW91cz10O2Vsc2UgdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGxpc3QiKTt0aGlzLl9oZWFkPXQsdGhpcy5fc3RhdGUrK31hZGRJdGVtTGFzdCh0KXtpZighdGhpcy5faGVhZCYmIXRoaXMuX3RhaWwpdGhpcy5faGVhZD10O2Vsc2UgaWYodGhpcy5fdGFpbCl0LnByZXZpb3VzPXRoaXMuX3RhaWwsdGhpcy5fdGFpbC5uZXh0PXQ7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgbGlzdCIpO3RoaXMuX3RhaWw9dCx0aGlzLl9zdGF0ZSsrfXJlbW92ZUl0ZW0odCl7aWYodD09PXRoaXMuX2hlYWQmJnQ9PT10aGlzLl90YWlsKXRoaXMuX2hlYWQ9dm9pZCAwLHRoaXMuX3RhaWw9dm9pZCAwO2Vsc2UgaWYodD09PXRoaXMuX2hlYWQpe2lmKCF0Lm5leHQpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGxpc3QiKTt0Lm5leHQucHJldmlvdXM9dm9pZCAwLHRoaXMuX2hlYWQ9dC5uZXh0fWVsc2UgaWYodD09PXRoaXMuX3RhaWwpe2lmKCF0LnByZXZpb3VzKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBsaXN0Iik7dC5wcmV2aW91cy5uZXh0PXZvaWQgMCx0aGlzLl90YWlsPXQucHJldmlvdXN9ZWxzZXtjb25zdCBuPXQubmV4dCxyPXQucHJldmlvdXM7aWYoIW58fCFyKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBsaXN0Iik7bi5wcmV2aW91cz1yLHIubmV4dD1ufXQubmV4dD12b2lkIDAsdC5wcmV2aW91cz12b2lkIDAsdGhpcy5fc3RhdGUrK310b3VjaCh0LG4pe2lmKCF0aGlzLl9oZWFkfHwhdGhpcy5fdGFpbCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgbGlzdCIpO2lmKCEobiE9PTEmJm4hPT0yKSl7aWYobj09PTEpe2lmKHQ9PT10aGlzLl9oZWFkKXJldHVybjtjb25zdCByPXQubmV4dCxpPXQucHJldmlvdXM7dD09PXRoaXMuX3RhaWw/KGkubmV4dD12b2lkIDAsdGhpcy5fdGFpbD1pKTooci5wcmV2aW91cz1pLGkubmV4dD1yKSx0LnByZXZpb3VzPXZvaWQgMCx0Lm5leHQ9dGhpcy5faGVhZCx0aGlzLl9oZWFkLnByZXZpb3VzPXQsdGhpcy5faGVhZD10LHRoaXMuX3N0YXRlKyt9ZWxzZSBpZihuPT09Mil7aWYodD09PXRoaXMuX3RhaWwpcmV0dXJuO2NvbnN0IHI9dC5uZXh0LGk9dC5wcmV2aW91czt0PT09dGhpcy5faGVhZD8oci5wcmV2aW91cz12b2lkIDAsdGhpcy5faGVhZD1yKTooci5wcmV2aW91cz1pLGkubmV4dD1yKSx0Lm5leHQ9dm9pZCAwLHQucHJldmlvdXM9dGhpcy5fdGFpbCx0aGlzLl90YWlsLm5leHQ9dCx0aGlzLl90YWlsPXQsdGhpcy5fc3RhdGUrK319fXRvSlNPTigpe2NvbnN0IHQ9W107cmV0dXJuIHRoaXMuZm9yRWFjaCgobixyKT0+e3QucHVzaChbcixuXSl9KSx0fWZyb21KU09OKHQpe3RoaXMuY2xlYXIoKTtmb3IoY29uc3RbbixyXW9mIHQpdGhpcy5zZXQobixyKX19Y2xhc3MgZ2wgZXh0ZW5kcyBkbHtjb25zdHJ1Y3Rvcih0LG49MSl7c3VwZXIoKSx0aGlzLl9saW1pdD10LHRoaXMuX3JhdGlvPU1hdGgubWluKE1hdGgubWF4KDAsbiksMSl9Z2V0IGxpbWl0KCl7cmV0dXJuIHRoaXMuX2xpbWl0fXNldCBsaW1pdCh0KXt0aGlzLl9saW1pdD10LHRoaXMuY2hlY2tUcmltKCl9Z2V0KHQsbj0yKXtyZXR1cm4gc3VwZXIuZ2V0KHQsbil9cGVlayh0KXtyZXR1cm4gc3VwZXIuZ2V0KHQsMCl9c2V0KHQsbil7cmV0dXJuIHN1cGVyLnNldCh0LG4sMiksdGhpcy5jaGVja1RyaW0oKSx0aGlzfWNoZWNrVHJpbSgpe3RoaXMuc2l6ZT50aGlzLl9saW1pdCYmdGhpcy50cmltT2xkKE1hdGgucm91bmQodGhpcy5fbGltaXQqdGhpcy5fcmF0aW8pKX19Y2xhc3MgbWx7Y29uc3RydWN0b3IoKXt0aGlzLm1hcD1uZXcgTWFwfWFkZCh0LG4pe2xldCByPXRoaXMubWFwLmdldCh0KTtyfHwocj1uZXcgU2V0LHRoaXMubWFwLnNldCh0LHIpKSxyLmFkZChuKX1kZWxldGUodCxuKXtjb25zdCByPXRoaXMubWFwLmdldCh0KTtyJiYoci5kZWxldGUobiksci5zaXplPT09MCYmdGhpcy5tYXAuZGVsZXRlKHQpKX1mb3JFYWNoKHQsbil7Y29uc3Qgcj10aGlzLm1hcC5nZXQodCk7ciYmci5mb3JFYWNoKG4pfWdldCh0KXtjb25zdCBuPXRoaXMubWFwLmdldCh0KTtyZXR1cm4gbnx8bmV3IFNldH19bmV3IGdsKDEwKTt2YXIgb3M7KGZ1bmN0aW9uKGUpe2VbZS5MZWZ0PTFdPSJMZWZ0IixlW2UuQ2VudGVyPTJdPSJDZW50ZXIiLGVbZS5SaWdodD00XT0iUmlnaHQiLGVbZS5GdWxsPTddPSJGdWxsIn0pKG9zfHwob3M9e30pKTt2YXIgbHM7KGZ1bmN0aW9uKGUpe2VbZS5MZWZ0PTFdPSJMZWZ0IixlW2UuQ2VudGVyPTJdPSJDZW50ZXIiLGVbZS5SaWdodD0zXT0iUmlnaHQifSkobHN8fChscz17fSkpO3ZhciB1czsoZnVuY3Rpb24oZSl7ZVtlLkJvdGg9MF09IkJvdGgiLGVbZS5SaWdodD0xXT0iUmlnaHQiLGVbZS5MZWZ0PTJdPSJMZWZ0IixlW2UuTm9uZT0zXT0iTm9uZSJ9KSh1c3x8KHVzPXt9KSk7ZnVuY3Rpb24gcGwoZSx0LG4scixpKXtpZihyPT09MClyZXR1cm4hMDtjb25zdCBzPXQuY2hhckNvZGVBdChyLTEpO2lmKGUuZ2V0KHMpIT09MHx8cz09PTEzfHxzPT09MTApcmV0dXJuITA7aWYoaT4wKXtjb25zdCBhPXQuY2hhckNvZGVBdChyKTtpZihlLmdldChhKSE9PTApcmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gdmwoZSx0LG4scixpKXtpZihyK2k9PT1uKXJldHVybiEwO2NvbnN0IHM9dC5jaGFyQ29kZUF0KHIraSk7aWYoZS5nZXQocykhPT0wfHxzPT09MTN8fHM9PT0xMClyZXR1cm4hMDtpZihpPjApe2NvbnN0IGE9dC5jaGFyQ29kZUF0KHIraS0xKTtpZihlLmdldChhKSE9PTApcmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gYmwoZSx0LG4scixpKXtyZXR1cm4gcGwoZSx0LG4scixpKSYmdmwoZSx0LG4scixpKX1jbGFzcyB4bHtjb25zdHJ1Y3Rvcih0LG4pe3RoaXMuX3dvcmRTZXBhcmF0b3JzPXQsdGhpcy5fc2VhcmNoUmVnZXg9bix0aGlzLl9wcmV2TWF0Y2hTdGFydEluZGV4PS0xLHRoaXMuX3ByZXZNYXRjaExlbmd0aD0wfXJlc2V0KHQpe3RoaXMuX3NlYXJjaFJlZ2V4Lmxhc3RJbmRleD10LHRoaXMuX3ByZXZNYXRjaFN0YXJ0SW5kZXg9LTEsdGhpcy5fcHJldk1hdGNoTGVuZ3RoPTB9bmV4dCh0KXtjb25zdCBuPXQubGVuZ3RoO2xldCByO2Rve2lmKHRoaXMuX3ByZXZNYXRjaFN0YXJ0SW5kZXgrdGhpcy5fcHJldk1hdGNoTGVuZ3RoPT09bnx8KHI9dGhpcy5fc2VhcmNoUmVnZXguZXhlYyh0KSwhcikpcmV0dXJuIG51bGw7Y29uc3QgaT1yLmluZGV4LHM9clswXS5sZW5ndGg7aWYoaT09PXRoaXMuX3ByZXZNYXRjaFN0YXJ0SW5kZXgmJnM9PT10aGlzLl9wcmV2TWF0Y2hMZW5ndGgpe2lmKHM9PT0wKXtsbyh0LG4sdGhpcy5fc2VhcmNoUmVnZXgubGFzdEluZGV4KT42NTUzNT90aGlzLl9zZWFyY2hSZWdleC5sYXN0SW5kZXgrPTI6dGhpcy5fc2VhcmNoUmVnZXgubGFzdEluZGV4Kz0xO2NvbnRpbnVlfXJldHVybiBudWxsfWlmKHRoaXMuX3ByZXZNYXRjaFN0YXJ0SW5kZXg9aSx0aGlzLl9wcmV2TWF0Y2hMZW5ndGg9cywhdGhpcy5fd29yZFNlcGFyYXRvcnN8fGJsKHRoaXMuX3dvcmRTZXBhcmF0b3JzLHQsbixpLHMpKXJldHVybiByfXdoaWxlKHIpO3JldHVybiBudWxsfX1mdW5jdGlvbiB5bChlLHQ9IlVucmVhY2hhYmxlIil7dGhyb3cgbmV3IEVycm9yKHQpfWZ1bmN0aW9uIGNuKGUpe2UoKXx8KGUoKSxEcihuZXcgVWUoIkFzc2VydGlvbiBGYWlsZWQiKSkpfWZ1bmN0aW9uIGNzKGUsdCl7bGV0IG49MDtmb3IoO248ZS5sZW5ndGgtMTspe2NvbnN0IHI9ZVtuXSxpPWVbbisxXTtpZighdChyLGkpKXJldHVybiExO24rK31yZXR1cm4hMH1jbGFzcyBfbHtzdGF0aWMgY29tcHV0ZVVuaWNvZGVIaWdobGlnaHRzKHQsbixyKXtjb25zdCBpPXI/ci5zdGFydExpbmVOdW1iZXI6MSxzPXI/ci5lbmRMaW5lTnVtYmVyOnQuZ2V0TGluZUNvdW50KCksYT1uZXcgZnMobiksbz1hLmdldENhbmRpZGF0ZUNvZGVQb2ludHMoKTtsZXQgbDtvPT09ImFsbE5vbkJhc2ljQXNjaWkiP2w9bmV3IFJlZ0V4cCgiW15cXHRcXG5cXHJcXHgyMC1cXHg3RV0iLCJnIik6bD1uZXcgUmVnRXhwKGAke3dsKEFycmF5LmZyb20obykpfWAsImciKTtjb25zdCB1PW5ldyB4bChudWxsLGwpLGY9W107bGV0IGg9ITEsZCxnPTAsbT0wLHY9MDtlOmZvcihsZXQgcD1pLHg9cztwPD14O3ArKyl7Y29uc3QgeT10LmdldExpbmVDb250ZW50KHApLGI9eS5sZW5ndGg7dS5yZXNldCgwKTtkbyBpZihkPXUubmV4dCh5KSxkKXtsZXQgTD1kLmluZGV4LFM9ZC5pbmRleCtkWzBdLmxlbmd0aDtpZihMPjApe2NvbnN0IFI9eS5jaGFyQ29kZUF0KEwtMSk7VW4oUikmJkwtLX1pZihTKzE8Yil7Y29uc3QgUj15LmNoYXJDb2RlQXQoUy0xKTtVbihSKSYmUysrfWNvbnN0IHc9eS5zdWJzdHJpbmcoTCxTKTtsZXQgTj1IbihMKzEsaWkseSwwKTtOJiZOLmVuZENvbHVtbjw9TCsxJiYoTj1udWxsKTtjb25zdCBBPWEuc2hvdWxkSGlnaGxpZ2h0Tm9uQmFzaWNBU0NJSSh3LE4/Ti53b3JkOm51bGwpO2lmKEEhPT0wKXtpZihBPT09Mz9nKys6QT09PTI/bSsrOkE9PT0xP3YrKzp5bCgpLGYubGVuZ3RoPj0xZTMpe2g9ITA7YnJlYWsgZX1mLnB1c2gobmV3IHNlKHAsTCsxLHAsUysxKSl9fXdoaWxlKGQpfXJldHVybntyYW5nZXM6ZixoYXNNb3JlOmgsYW1iaWd1b3VzQ2hhcmFjdGVyQ291bnQ6ZyxpbnZpc2libGVDaGFyYWN0ZXJDb3VudDptLG5vbkJhc2ljQXNjaWlDaGFyYWN0ZXJDb3VudDp2fX1zdGF0aWMgY29tcHV0ZVVuaWNvZGVIaWdobGlnaHRSZWFzb24odCxuKXtjb25zdCByPW5ldyBmcyhuKTtzd2l0Y2goci5zaG91bGRIaWdobGlnaHROb25CYXNpY0FTQ0lJKHQsbnVsbCkpe2Nhc2UgMDpyZXR1cm4gbnVsbDtjYXNlIDI6cmV0dXJue2tpbmQ6MX07Y2FzZSAzOntjb25zdCBzPXQuY29kZVBvaW50QXQoMCksYT1yLmFtYmlndW91c0NoYXJhY3RlcnMuZ2V0UHJpbWFyeUNvbmZ1c2FibGUocyksbz1ydC5nZXRMb2NhbGVzKCkuZmlsdGVyKGw9PiFydC5nZXRJbnN0YW5jZShuZXcgU2V0KFsuLi5uLmFsbG93ZWRMb2NhbGVzLGxdKSkuaXNBbWJpZ3VvdXMocykpO3JldHVybntraW5kOjAsY29uZnVzYWJsZVdpdGg6U3RyaW5nLmZyb21Db2RlUG9pbnQoYSksbm90QW1iaWd1b3VzSW5Mb2NhbGVzOm99fWNhc2UgMTpyZXR1cm57a2luZDoyfX19fWZ1bmN0aW9uIHdsKGUsdCl7cmV0dXJuYFske25vKGUubWFwKHI9PlN0cmluZy5mcm9tQ29kZVBvaW50KHIpKS5qb2luKCIiKSl9XWB9Y2xhc3MgZnN7Y29uc3RydWN0b3IodCl7dGhpcy5vcHRpb25zPXQsdGhpcy5hbGxvd2VkQ29kZVBvaW50cz1uZXcgU2V0KHQuYWxsb3dlZENvZGVQb2ludHMpLHRoaXMuYW1iaWd1b3VzQ2hhcmFjdGVycz1ydC5nZXRJbnN0YW5jZShuZXcgU2V0KHQuYWxsb3dlZExvY2FsZXMpKX1nZXRDYW5kaWRhdGVDb2RlUG9pbnRzKCl7aWYodGhpcy5vcHRpb25zLm5vbkJhc2ljQVNDSUkpcmV0dXJuImFsbE5vbkJhc2ljQXNjaWkiO2NvbnN0IHQ9bmV3IFNldDtpZih0aGlzLm9wdGlvbnMuaW52aXNpYmxlQ2hhcmFjdGVycylmb3IoY29uc3QgbiBvZiBIZS5jb2RlUG9pbnRzKWhzKFN0cmluZy5mcm9tQ29kZVBvaW50KG4pKXx8dC5hZGQobik7aWYodGhpcy5vcHRpb25zLmFtYmlndW91c0NoYXJhY3RlcnMpZm9yKGNvbnN0IG4gb2YgdGhpcy5hbWJpZ3VvdXNDaGFyYWN0ZXJzLmdldENvbmZ1c2FibGVDb2RlUG9pbnRzKCkpdC5hZGQobik7Zm9yKGNvbnN0IG4gb2YgdGhpcy5hbGxvd2VkQ29kZVBvaW50cyl0LmRlbGV0ZShuKTtyZXR1cm4gdH1zaG91bGRIaWdobGlnaHROb25CYXNpY0FTQ0lJKHQsbil7Y29uc3Qgcj10LmNvZGVQb2ludEF0KDApO2lmKHRoaXMuYWxsb3dlZENvZGVQb2ludHMuaGFzKHIpKXJldHVybiAwO2lmKHRoaXMub3B0aW9ucy5ub25CYXNpY0FTQ0lJKXJldHVybiAxO2xldCBpPSExLHM9ITE7aWYobilmb3IoY29uc3QgYSBvZiBuKXtjb25zdCBvPWEuY29kZVBvaW50QXQoMCksbD1jbyhhKTtpPWl8fGwsIWwmJiF0aGlzLmFtYmlndW91c0NoYXJhY3RlcnMuaXNBbWJpZ3VvdXMobykmJiFIZS5pc0ludmlzaWJsZUNoYXJhY3RlcihvKSYmKHM9ITApfXJldHVybiFpJiZzPzA6dGhpcy5vcHRpb25zLmludmlzaWJsZUNoYXJhY3RlcnMmJiFocyh0KSYmSGUuaXNJbnZpc2libGVDaGFyYWN0ZXIocik/Mjp0aGlzLm9wdGlvbnMuYW1iaWd1b3VzQ2hhcmFjdGVycyYmdGhpcy5hbWJpZ3VvdXNDaGFyYWN0ZXJzLmlzQW1iaWd1b3VzKHIpPzM6MH19ZnVuY3Rpb24gaHMoZSl7cmV0dXJuIGU9PT0iICJ8fGU9PT1gCmB8fGU9PT0iCSJ9Y2xhc3MgZm57Y29uc3RydWN0b3IodCxuLHIpe3RoaXMuY2hhbmdlcz10LHRoaXMubW92ZXM9bix0aGlzLmhpdFRpbWVvdXQ9cn19Y2xhc3MgU2x7Y29uc3RydWN0b3IodCxuKXt0aGlzLmxpbmVSYW5nZU1hcHBpbmc9dCx0aGlzLmNoYW5nZXM9bn19Y2xhc3MgentzdGF0aWMgYWRkUmFuZ2UodCxuKXtsZXQgcj0wO2Zvcig7cjxuLmxlbmd0aCYmbltyXS5lbmRFeGNsdXNpdmU8dC5zdGFydDspcisrO2xldCBpPXI7Zm9yKDtpPG4ubGVuZ3RoJiZuW2ldLnN0YXJ0PD10LmVuZEV4Y2x1c2l2ZTspaSsrO2lmKHI9PT1pKW4uc3BsaWNlKHIsMCx0KTtlbHNle2NvbnN0IHM9TWF0aC5taW4odC5zdGFydCxuW3JdLnN0YXJ0KSxhPU1hdGgubWF4KHQuZW5kRXhjbHVzaXZlLG5baS0xXS5lbmRFeGNsdXNpdmUpO24uc3BsaWNlKHIsaS1yLG5ldyB6KHMsYSkpfX1zdGF0aWMgdHJ5Q3JlYXRlKHQsbil7aWYoISh0Pm4pKXJldHVybiBuZXcgeih0LG4pfXN0YXRpYyBvZkxlbmd0aCh0KXtyZXR1cm4gbmV3IHooMCx0KX1zdGF0aWMgb2ZTdGFydEFuZExlbmd0aCh0LG4pe3JldHVybiBuZXcgeih0LHQrbil9Y29uc3RydWN0b3IodCxuKXtpZih0aGlzLnN0YXJ0PXQsdGhpcy5lbmRFeGNsdXNpdmU9bix0Pm4pdGhyb3cgbmV3IFVlKGBJbnZhbGlkIHJhbmdlOiAke3RoaXMudG9TdHJpbmcoKX1gKX1nZXQgaXNFbXB0eSgpe3JldHVybiB0aGlzLnN0YXJ0PT09dGhpcy5lbmRFeGNsdXNpdmV9ZGVsdGEodCl7cmV0dXJuIG5ldyB6KHRoaXMuc3RhcnQrdCx0aGlzLmVuZEV4Y2x1c2l2ZSt0KX1kZWx0YVN0YXJ0KHQpe3JldHVybiBuZXcgeih0aGlzLnN0YXJ0K3QsdGhpcy5lbmRFeGNsdXNpdmUpfWRlbHRhRW5kKHQpe3JldHVybiBuZXcgeih0aGlzLnN0YXJ0LHRoaXMuZW5kRXhjbHVzaXZlK3QpfWdldCBsZW5ndGgoKXtyZXR1cm4gdGhpcy5lbmRFeGNsdXNpdmUtdGhpcy5zdGFydH10b1N0cmluZygpe3JldHVybmBbJHt0aGlzLnN0YXJ0fSwgJHt0aGlzLmVuZEV4Y2x1c2l2ZX0pYH1jb250YWlucyh0KXtyZXR1cm4gdGhpcy5zdGFydDw9dCYmdDx0aGlzLmVuZEV4Y2x1c2l2ZX1qb2luKHQpe3JldHVybiBuZXcgeihNYXRoLm1pbih0aGlzLnN0YXJ0LHQuc3RhcnQpLE1hdGgubWF4KHRoaXMuZW5kRXhjbHVzaXZlLHQuZW5kRXhjbHVzaXZlKSl9aW50ZXJzZWN0KHQpe2NvbnN0IG49TWF0aC5tYXgodGhpcy5zdGFydCx0LnN0YXJ0KSxyPU1hdGgubWluKHRoaXMuZW5kRXhjbHVzaXZlLHQuZW5kRXhjbHVzaXZlKTtpZihuPD1yKXJldHVybiBuZXcgeihuLHIpfWludGVyc2VjdHModCl7Y29uc3Qgbj1NYXRoLm1heCh0aGlzLnN0YXJ0LHQuc3RhcnQpLHI9TWF0aC5taW4odGhpcy5lbmRFeGNsdXNpdmUsdC5lbmRFeGNsdXNpdmUpO3JldHVybiBuPHJ9aXNCZWZvcmUodCl7cmV0dXJuIHRoaXMuZW5kRXhjbHVzaXZlPD10LnN0YXJ0fWlzQWZ0ZXIodCl7cmV0dXJuIHRoaXMuc3RhcnQ+PXQuZW5kRXhjbHVzaXZlfXNsaWNlKHQpe3JldHVybiB0LnNsaWNlKHRoaXMuc3RhcnQsdGhpcy5lbmRFeGNsdXNpdmUpfXN1YnN0cmluZyh0KXtyZXR1cm4gdC5zdWJzdHJpbmcodGhpcy5zdGFydCx0aGlzLmVuZEV4Y2x1c2l2ZSl9Y2xpcCh0KXtpZih0aGlzLmlzRW1wdHkpdGhyb3cgbmV3IFVlKGBJbnZhbGlkIGNsaXBwaW5nIHJhbmdlOiAke3RoaXMudG9TdHJpbmcoKX1gKTtyZXR1cm4gTWF0aC5tYXgodGhpcy5zdGFydCxNYXRoLm1pbih0aGlzLmVuZEV4Y2x1c2l2ZS0xLHQpKX1jbGlwQ3ljbGljKHQpe2lmKHRoaXMuaXNFbXB0eSl0aHJvdyBuZXcgVWUoYEludmFsaWQgY2xpcHBpbmcgcmFuZ2U6ICR7dGhpcy50b1N0cmluZygpfWApO3JldHVybiB0PHRoaXMuc3RhcnQ/dGhpcy5lbmRFeGNsdXNpdmUtKHRoaXMuc3RhcnQtdCkldGhpcy5sZW5ndGg6dD49dGhpcy5lbmRFeGNsdXNpdmU/dGhpcy5zdGFydCsodC10aGlzLnN0YXJ0KSV0aGlzLmxlbmd0aDp0fWZvckVhY2godCl7Zm9yKGxldCBuPXRoaXMuc3RhcnQ7bjx0aGlzLmVuZEV4Y2x1c2l2ZTtuKyspdChuKX19ZnVuY3Rpb24geHQoZSx0KXtjb25zdCBuPVB0KGUsdCk7cmV0dXJuIG49PT0tMT92b2lkIDA6ZVtuXX1mdW5jdGlvbiBQdChlLHQsbj0wLHI9ZS5sZW5ndGgpe2xldCBpPW4scz1yO2Zvcig7aTxzOyl7Y29uc3QgYT1NYXRoLmZsb29yKChpK3MpLzIpO3QoZVthXSk/aT1hKzE6cz1hfXJldHVybiBpLTF9ZnVuY3Rpb24gTGwoZSx0KXtjb25zdCBuPW5yKGUsdCk7cmV0dXJuIG49PT1lLmxlbmd0aD92b2lkIDA6ZVtuXX1mdW5jdGlvbiBucihlLHQsbj0wLHI9ZS5sZW5ndGgpe2xldCBpPW4scz1yO2Zvcig7aTxzOyl7Y29uc3QgYT1NYXRoLmZsb29yKChpK3MpLzIpO3QoZVthXSk/cz1hOmk9YSsxfXJldHVybiBpfWNsYXNzIEZ0e2NvbnN0cnVjdG9yKHQpe3RoaXMuX2FycmF5PXQsdGhpcy5fZmluZExhc3RNb25vdG9ub3VzTGFzdElkeD0wfWZpbmRMYXN0TW9ub3Rvbm91cyh0KXtpZihGdC5hc3NlcnRJbnZhcmlhbnRzKXtpZih0aGlzLl9wcmV2RmluZExhc3RQcmVkaWNhdGUpe2Zvcihjb25zdCByIG9mIHRoaXMuX2FycmF5KWlmKHRoaXMuX3ByZXZGaW5kTGFzdFByZWRpY2F0ZShyKSYmIXQocikpdGhyb3cgbmV3IEVycm9yKCJNb25vdG9ub3VzQXJyYXk6IGN1cnJlbnQgcHJlZGljYXRlIG11c3QgYmUgd2Vha2VyIHRoYW4gKG9yIGVxdWFsIHRvKSB0aGUgcHJldmlvdXMgcHJlZGljYXRlLiIpfXRoaXMuX3ByZXZGaW5kTGFzdFByZWRpY2F0ZT10fWNvbnN0IG49UHQodGhpcy5fYXJyYXksdCx0aGlzLl9maW5kTGFzdE1vbm90b25vdXNMYXN0SWR4KTtyZXR1cm4gdGhpcy5fZmluZExhc3RNb25vdG9ub3VzTGFzdElkeD1uKzEsbj09PS0xP3ZvaWQgMDp0aGlzLl9hcnJheVtuXX19RnQuYXNzZXJ0SW52YXJpYW50cz0hMTtjbGFzcyBIe3N0YXRpYyBmcm9tUmFuZ2VJbmNsdXNpdmUodCl7cmV0dXJuIG5ldyBIKHQuc3RhcnRMaW5lTnVtYmVyLHQuZW5kTGluZU51bWJlcisxKX1zdGF0aWMgam9pbk1hbnkodCl7aWYodC5sZW5ndGg9PT0wKXJldHVybltdO2xldCBuPW5ldyBGZSh0WzBdLnNsaWNlKCkpO2ZvcihsZXQgcj0xO3I8dC5sZW5ndGg7cisrKW49bi5nZXRVbmlvbihuZXcgRmUodFtyXS5zbGljZSgpKSk7cmV0dXJuIG4ucmFuZ2VzfXN0YXRpYyBqb2luKHQpe2lmKHQubGVuZ3RoPT09MCl0aHJvdyBuZXcgVWUoImxpbmVSYW5nZXMgY2Fubm90IGJlIGVtcHR5Iik7bGV0IG49dFswXS5zdGFydExpbmVOdW1iZXIscj10WzBdLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU7Zm9yKGxldCBpPTE7aTx0Lmxlbmd0aDtpKyspbj1NYXRoLm1pbihuLHRbaV0uc3RhcnRMaW5lTnVtYmVyKSxyPU1hdGgubWF4KHIsdFtpXS5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlKTtyZXR1cm4gbmV3IEgobixyKX1zdGF0aWMgb2ZMZW5ndGgodCxuKXtyZXR1cm4gbmV3IEgodCx0K24pfXN0YXRpYyBkZXNlcmlhbGl6ZSh0KXtyZXR1cm4gbmV3IEgodFswXSx0WzFdKX1jb25zdHJ1Y3Rvcih0LG4pe2lmKHQ+bil0aHJvdyBuZXcgVWUoYHN0YXJ0TGluZU51bWJlciAke3R9IGNhbm5vdCBiZSBhZnRlciBlbmRMaW5lTnVtYmVyRXhjbHVzaXZlICR7bn1gKTt0aGlzLnN0YXJ0TGluZU51bWJlcj10LHRoaXMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZT1ufWNvbnRhaW5zKHQpe3JldHVybiB0aGlzLnN0YXJ0TGluZU51bWJlcjw9dCYmdDx0aGlzLmVuZExpbmVOdW1iZXJFeGNsdXNpdmV9Z2V0IGlzRW1wdHkoKXtyZXR1cm4gdGhpcy5zdGFydExpbmVOdW1iZXI9PT10aGlzLmVuZExpbmVOdW1iZXJFeGNsdXNpdmV9ZGVsdGEodCl7cmV0dXJuIG5ldyBIKHRoaXMuc3RhcnRMaW5lTnVtYmVyK3QsdGhpcy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlK3QpfWRlbHRhTGVuZ3RoKHQpe3JldHVybiBuZXcgSCh0aGlzLnN0YXJ0TGluZU51bWJlcix0aGlzLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUrdCl9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUtdGhpcy5zdGFydExpbmVOdW1iZXJ9am9pbih0KXtyZXR1cm4gbmV3IEgoTWF0aC5taW4odGhpcy5zdGFydExpbmVOdW1iZXIsdC5zdGFydExpbmVOdW1iZXIpLE1hdGgubWF4KHRoaXMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSx0LmVuZExpbmVOdW1iZXJFeGNsdXNpdmUpKX10b1N0cmluZygpe3JldHVybmBbJHt0aGlzLnN0YXJ0TGluZU51bWJlcn0sJHt0aGlzLmVuZExpbmVOdW1iZXJFeGNsdXNpdmV9KWB9aW50ZXJzZWN0KHQpe2NvbnN0IG49TWF0aC5tYXgodGhpcy5zdGFydExpbmVOdW1iZXIsdC5zdGFydExpbmVOdW1iZXIpLHI9TWF0aC5taW4odGhpcy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLHQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSk7aWYobjw9cilyZXR1cm4gbmV3IEgobixyKX1pbnRlcnNlY3RzU3RyaWN0KHQpe3JldHVybiB0aGlzLnN0YXJ0TGluZU51bWJlcjx0LmVuZExpbmVOdW1iZXJFeGNsdXNpdmUmJnQuc3RhcnRMaW5lTnVtYmVyPHRoaXMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZX1vdmVybGFwT3JUb3VjaCh0KXtyZXR1cm4gdGhpcy5zdGFydExpbmVOdW1iZXI8PXQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSYmdC5zdGFydExpbmVOdW1iZXI8PXRoaXMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZX1lcXVhbHModCl7cmV0dXJuIHRoaXMuc3RhcnRMaW5lTnVtYmVyPT09dC5zdGFydExpbmVOdW1iZXImJnRoaXMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZT09PXQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZX10b0luY2x1c2l2ZVJhbmdlKCl7cmV0dXJuIHRoaXMuaXNFbXB0eT9udWxsOm5ldyBzZSh0aGlzLnN0YXJ0TGluZU51bWJlciwxLHRoaXMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZS0xLE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKX10b0V4Y2x1c2l2ZVJhbmdlKCl7cmV0dXJuIG5ldyBzZSh0aGlzLnN0YXJ0TGluZU51bWJlciwxLHRoaXMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSwxKX1tYXBUb0xpbmVBcnJheSh0KXtjb25zdCBuPVtdO2ZvcihsZXQgcj10aGlzLnN0YXJ0TGluZU51bWJlcjtyPHRoaXMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZTtyKyspbi5wdXNoKHQocikpO3JldHVybiBufWZvckVhY2godCl7Zm9yKGxldCBuPXRoaXMuc3RhcnRMaW5lTnVtYmVyO248dGhpcy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlO24rKyl0KG4pfXNlcmlhbGl6ZSgpe3JldHVyblt0aGlzLnN0YXJ0TGluZU51bWJlcix0aGlzLmVuZExpbmVOdW1iZXJFeGNsdXNpdmVdfWluY2x1ZGVzKHQpe3JldHVybiB0aGlzLnN0YXJ0TGluZU51bWJlcjw9dCYmdDx0aGlzLmVuZExpbmVOdW1iZXJFeGNsdXNpdmV9dG9PZmZzZXRSYW5nZSgpe3JldHVybiBuZXcgeih0aGlzLnN0YXJ0TGluZU51bWJlci0xLHRoaXMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZS0xKX19Y2xhc3MgRmV7Y29uc3RydWN0b3IodD1bXSl7dGhpcy5fbm9ybWFsaXplZFJhbmdlcz10fWdldCByYW5nZXMoKXtyZXR1cm4gdGhpcy5fbm9ybWFsaXplZFJhbmdlc31hZGRSYW5nZSh0KXtpZih0Lmxlbmd0aD09PTApcmV0dXJuO2NvbnN0IG49bnIodGhpcy5fbm9ybWFsaXplZFJhbmdlcyxpPT5pLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU+PXQuc3RhcnRMaW5lTnVtYmVyKSxyPVB0KHRoaXMuX25vcm1hbGl6ZWRSYW5nZXMsaT0+aS5zdGFydExpbmVOdW1iZXI8PXQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSkrMTtpZihuPT09cil0aGlzLl9ub3JtYWxpemVkUmFuZ2VzLnNwbGljZShuLDAsdCk7ZWxzZSBpZihuPT09ci0xKXtjb25zdCBpPXRoaXMuX25vcm1hbGl6ZWRSYW5nZXNbbl07dGhpcy5fbm9ybWFsaXplZFJhbmdlc1tuXT1pLmpvaW4odCl9ZWxzZXtjb25zdCBpPXRoaXMuX25vcm1hbGl6ZWRSYW5nZXNbbl0uam9pbih0aGlzLl9ub3JtYWxpemVkUmFuZ2VzW3ItMV0pLmpvaW4odCk7dGhpcy5fbm9ybWFsaXplZFJhbmdlcy5zcGxpY2UobixyLW4saSl9fWNvbnRhaW5zKHQpe2NvbnN0IG49eHQodGhpcy5fbm9ybWFsaXplZFJhbmdlcyxyPT5yLnN0YXJ0TGluZU51bWJlcjw9dCk7cmV0dXJuISFuJiZuLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU+dH1pbnRlcnNlY3RzKHQpe2NvbnN0IG49eHQodGhpcy5fbm9ybWFsaXplZFJhbmdlcyxyPT5yLnN0YXJ0TGluZU51bWJlcjx0LmVuZExpbmVOdW1iZXJFeGNsdXNpdmUpO3JldHVybiEhbiYmbi5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlPnQuc3RhcnRMaW5lTnVtYmVyfWdldFVuaW9uKHQpe2lmKHRoaXMuX25vcm1hbGl6ZWRSYW5nZXMubGVuZ3RoPT09MClyZXR1cm4gdDtpZih0Ll9ub3JtYWxpemVkUmFuZ2VzLmxlbmd0aD09PTApcmV0dXJuIHRoaXM7Y29uc3Qgbj1bXTtsZXQgcj0wLGk9MCxzPW51bGw7Zm9yKDtyPHRoaXMuX25vcm1hbGl6ZWRSYW5nZXMubGVuZ3RofHxpPHQuX25vcm1hbGl6ZWRSYW5nZXMubGVuZ3RoOyl7bGV0IGE9bnVsbDtpZihyPHRoaXMuX25vcm1hbGl6ZWRSYW5nZXMubGVuZ3RoJiZpPHQuX25vcm1hbGl6ZWRSYW5nZXMubGVuZ3RoKXtjb25zdCBvPXRoaXMuX25vcm1hbGl6ZWRSYW5nZXNbcl0sbD10Ll9ub3JtYWxpemVkUmFuZ2VzW2ldO28uc3RhcnRMaW5lTnVtYmVyPGwuc3RhcnRMaW5lTnVtYmVyPyhhPW8scisrKTooYT1sLGkrKyl9ZWxzZSByPHRoaXMuX25vcm1hbGl6ZWRSYW5nZXMubGVuZ3RoPyhhPXRoaXMuX25vcm1hbGl6ZWRSYW5nZXNbcl0scisrKTooYT10Ll9ub3JtYWxpemVkUmFuZ2VzW2ldLGkrKyk7cz09PW51bGw/cz1hOnMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZT49YS5zdGFydExpbmVOdW1iZXI/cz1uZXcgSChzLnN0YXJ0TGluZU51bWJlcixNYXRoLm1heChzLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUsYS5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlKSk6KG4ucHVzaChzKSxzPWEpfXJldHVybiBzIT09bnVsbCYmbi5wdXNoKHMpLG5ldyBGZShuKX1zdWJ0cmFjdEZyb20odCl7Y29uc3Qgbj1ucih0aGlzLl9ub3JtYWxpemVkUmFuZ2VzLGE9PmEuZW5kTGluZU51bWJlckV4Y2x1c2l2ZT49dC5zdGFydExpbmVOdW1iZXIpLHI9UHQodGhpcy5fbm9ybWFsaXplZFJhbmdlcyxhPT5hLnN0YXJ0TGluZU51bWJlcjw9dC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlKSsxO2lmKG49PT1yKXJldHVybiBuZXcgRmUoW3RdKTtjb25zdCBpPVtdO2xldCBzPXQuc3RhcnRMaW5lTnVtYmVyO2ZvcihsZXQgYT1uO2E8cjthKyspe2NvbnN0IG89dGhpcy5fbm9ybWFsaXplZFJhbmdlc1thXTtvLnN0YXJ0TGluZU51bWJlcj5zJiZpLnB1c2gobmV3IEgocyxvLnN0YXJ0TGluZU51bWJlcikpLHM9by5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlfXJldHVybiBzPHQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSYmaS5wdXNoKG5ldyBIKHMsdC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlKSksbmV3IEZlKGkpfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuX25vcm1hbGl6ZWRSYW5nZXMubWFwKHQ9PnQudG9TdHJpbmcoKSkuam9pbigiLCAiKX1nZXRJbnRlcnNlY3Rpb24odCl7Y29uc3Qgbj1bXTtsZXQgcj0wLGk9MDtmb3IoO3I8dGhpcy5fbm9ybWFsaXplZFJhbmdlcy5sZW5ndGgmJmk8dC5fbm9ybWFsaXplZFJhbmdlcy5sZW5ndGg7KXtjb25zdCBzPXRoaXMuX25vcm1hbGl6ZWRSYW5nZXNbcl0sYT10Ll9ub3JtYWxpemVkUmFuZ2VzW2ldLG89cy5pbnRlcnNlY3QoYSk7byYmIW8uaXNFbXB0eSYmbi5wdXNoKG8pLHMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZTxhLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU/cisrOmkrK31yZXR1cm4gbmV3IEZlKG4pfWdldFdpdGhEZWx0YSh0KXtyZXR1cm4gbmV3IEZlKHRoaXMuX25vcm1hbGl6ZWRSYW5nZXMubWFwKG49Pm4uZGVsdGEodCkpKX19Y2xhc3MgRWV7c3RhdGljIGludmVyc2UodCxuLHIpe2NvbnN0IGk9W107bGV0IHM9MSxhPTE7Zm9yKGNvbnN0IGwgb2YgdCl7Y29uc3QgdT1uZXcgRWUobmV3IEgocyxsLm9yaWdpbmFsLnN0YXJ0TGluZU51bWJlciksbmV3IEgoYSxsLm1vZGlmaWVkLnN0YXJ0TGluZU51bWJlcikpO3UubW9kaWZpZWQuaXNFbXB0eXx8aS5wdXNoKHUpLHM9bC5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLGE9bC5tb2RpZmllZC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlfWNvbnN0IG89bmV3IEVlKG5ldyBIKHMsbisxKSxuZXcgSChhLHIrMSkpO3JldHVybiBvLm1vZGlmaWVkLmlzRW1wdHl8fGkucHVzaChvKSxpfXN0YXRpYyBjbGlwKHQsbixyKXtjb25zdCBpPVtdO2Zvcihjb25zdCBzIG9mIHQpe2NvbnN0IGE9cy5vcmlnaW5hbC5pbnRlcnNlY3Qobiksbz1zLm1vZGlmaWVkLmludGVyc2VjdChyKTthJiYhYS5pc0VtcHR5JiZvJiYhby5pc0VtcHR5JiZpLnB1c2gobmV3IEVlKGEsbykpfXJldHVybiBpfWNvbnN0cnVjdG9yKHQsbil7dGhpcy5vcmlnaW5hbD10LHRoaXMubW9kaWZpZWQ9bn10b1N0cmluZygpe3JldHVybmB7JHt0aGlzLm9yaWdpbmFsLnRvU3RyaW5nKCl9LT4ke3RoaXMubW9kaWZpZWQudG9TdHJpbmcoKX19YH1mbGlwKCl7cmV0dXJuIG5ldyBFZSh0aGlzLm1vZGlmaWVkLHRoaXMub3JpZ2luYWwpfWpvaW4odCl7cmV0dXJuIG5ldyBFZSh0aGlzLm9yaWdpbmFsLmpvaW4odC5vcmlnaW5hbCksdGhpcy5tb2RpZmllZC5qb2luKHQubW9kaWZpZWQpKX19Y2xhc3MgamUgZXh0ZW5kcyBFZXtzdGF0aWMgZnJvbVJhbmdlTWFwcGluZ3ModCl7Y29uc3Qgbj1ILmpvaW4odC5tYXAoaT0+SC5mcm9tUmFuZ2VJbmNsdXNpdmUoaS5vcmlnaW5hbFJhbmdlKSkpLHI9SC5qb2luKHQubWFwKGk9PkguZnJvbVJhbmdlSW5jbHVzaXZlKGkubW9kaWZpZWRSYW5nZSkpKTtyZXR1cm4gbmV3IGplKG4scix0KX1jb25zdHJ1Y3Rvcih0LG4scil7c3VwZXIodCxuKSx0aGlzLmlubmVyQ2hhbmdlcz1yfWZsaXAoKXt2YXIgdDtyZXR1cm4gbmV3IGplKHRoaXMubW9kaWZpZWQsdGhpcy5vcmlnaW5hbCwodD10aGlzLmlubmVyQ2hhbmdlcyk9PT1udWxsfHx0PT09dm9pZCAwP3ZvaWQgMDp0Lm1hcChuPT5uLmZsaXAoKSkpfXdpdGhJbm5lckNoYW5nZXNGcm9tTGluZVJhbmdlcygpe3JldHVybiBuZXcgamUodGhpcy5vcmlnaW5hbCx0aGlzLm1vZGlmaWVkLFtuZXcgeXQodGhpcy5vcmlnaW5hbC50b0V4Y2x1c2l2ZVJhbmdlKCksdGhpcy5tb2RpZmllZC50b0V4Y2x1c2l2ZVJhbmdlKCkpXSl9fWNsYXNzIHl0e2NvbnN0cnVjdG9yKHQsbil7dGhpcy5vcmlnaW5hbFJhbmdlPXQsdGhpcy5tb2RpZmllZFJhbmdlPW59dG9TdHJpbmcoKXtyZXR1cm5geyR7dGhpcy5vcmlnaW5hbFJhbmdlLnRvU3RyaW5nKCl9LT4ke3RoaXMubW9kaWZpZWRSYW5nZS50b1N0cmluZygpfX1gfWZsaXAoKXtyZXR1cm4gbmV3IHl0KHRoaXMubW9kaWZpZWRSYW5nZSx0aGlzLm9yaWdpbmFsUmFuZ2UpfX1jb25zdCBObD0zO2NsYXNzIEFse2NvbXB1dGVEaWZmKHQsbixyKXt2YXIgaTtjb25zdCBhPW5ldyBFbCh0LG4se21heENvbXB1dGF0aW9uVGltZTpyLm1heENvbXB1dGF0aW9uVGltZU1zLHNob3VsZElnbm9yZVRyaW1XaGl0ZXNwYWNlOnIuaWdub3JlVHJpbVdoaXRlc3BhY2Usc2hvdWxkQ29tcHV0ZUNoYXJDaGFuZ2VzOiEwLHNob3VsZE1ha2VQcmV0dHlEaWZmOiEwLHNob3VsZFBvc3RQcm9jZXNzQ2hhckNoYW5nZXM6ITB9KS5jb21wdXRlRGlmZigpLG89W107bGV0IGw9bnVsbDtmb3IoY29uc3QgdSBvZiBhLmNoYW5nZXMpe2xldCBmO3Uub3JpZ2luYWxFbmRMaW5lTnVtYmVyPT09MD9mPW5ldyBIKHUub3JpZ2luYWxTdGFydExpbmVOdW1iZXIrMSx1Lm9yaWdpbmFsU3RhcnRMaW5lTnVtYmVyKzEpOmY9bmV3IEgodS5vcmlnaW5hbFN0YXJ0TGluZU51bWJlcix1Lm9yaWdpbmFsRW5kTGluZU51bWJlcisxKTtsZXQgaDt1Lm1vZGlmaWVkRW5kTGluZU51bWJlcj09PTA/aD1uZXcgSCh1Lm1vZGlmaWVkU3RhcnRMaW5lTnVtYmVyKzEsdS5tb2RpZmllZFN0YXJ0TGluZU51bWJlcisxKTpoPW5ldyBIKHUubW9kaWZpZWRTdGFydExpbmVOdW1iZXIsdS5tb2RpZmllZEVuZExpbmVOdW1iZXIrMSk7bGV0IGQ9bmV3IGplKGYsaCwoaT11LmNoYXJDaGFuZ2VzKT09PW51bGx8fGk9PT12b2lkIDA/dm9pZCAwOmkubWFwKGc9Pm5ldyB5dChuZXcgc2UoZy5vcmlnaW5hbFN0YXJ0TGluZU51bWJlcixnLm9yaWdpbmFsU3RhcnRDb2x1bW4sZy5vcmlnaW5hbEVuZExpbmVOdW1iZXIsZy5vcmlnaW5hbEVuZENvbHVtbiksbmV3IHNlKGcubW9kaWZpZWRTdGFydExpbmVOdW1iZXIsZy5tb2RpZmllZFN0YXJ0Q29sdW1uLGcubW9kaWZpZWRFbmRMaW5lTnVtYmVyLGcubW9kaWZpZWRFbmRDb2x1bW4pKSkpO2wmJihsLm1vZGlmaWVkLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU9PT1kLm1vZGlmaWVkLnN0YXJ0TGluZU51bWJlcnx8bC5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlPT09ZC5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXIpJiYoZD1uZXcgamUobC5vcmlnaW5hbC5qb2luKGQub3JpZ2luYWwpLGwubW9kaWZpZWQuam9pbihkLm1vZGlmaWVkKSxsLmlubmVyQ2hhbmdlcyYmZC5pbm5lckNoYW5nZXM/bC5pbm5lckNoYW5nZXMuY29uY2F0KGQuaW5uZXJDaGFuZ2VzKTp2b2lkIDApLG8ucG9wKCkpLG8ucHVzaChkKSxsPWR9cmV0dXJuIGNuKCgpPT5jcyhvLCh1LGYpPT5mLm9yaWdpbmFsLnN0YXJ0TGluZU51bWJlci11Lm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU9PT1mLm1vZGlmaWVkLnN0YXJ0TGluZU51bWJlci11Lm1vZGlmaWVkLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUmJnUub3JpZ2luYWwuZW5kTGluZU51bWJlckV4Y2x1c2l2ZTxmLm9yaWdpbmFsLnN0YXJ0TGluZU51bWJlciYmdS5tb2RpZmllZC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlPGYubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyKSksbmV3IGZuKG8sW10sYS5xdWl0RWFybHkpfX1mdW5jdGlvbiBkcyhlLHQsbixyKXtyZXR1cm4gbmV3IEdlKGUsdCxuKS5Db21wdXRlRGlmZihyKX1sZXQgZ3M9Y2xhc3N7Y29uc3RydWN0b3IodCl7Y29uc3Qgbj1bXSxyPVtdO2ZvcihsZXQgaT0wLHM9dC5sZW5ndGg7aTxzO2krKyluW2ldPXJyKHRbaV0sMSkscltpXT1pcih0W2ldLDEpO3RoaXMubGluZXM9dCx0aGlzLl9zdGFydENvbHVtbnM9bix0aGlzLl9lbmRDb2x1bW5zPXJ9Z2V0RWxlbWVudHMoKXtjb25zdCB0PVtdO2ZvcihsZXQgbj0wLHI9dGhpcy5saW5lcy5sZW5ndGg7bjxyO24rKyl0W25dPXRoaXMubGluZXNbbl0uc3Vic3RyaW5nKHRoaXMuX3N0YXJ0Q29sdW1uc1tuXS0xLHRoaXMuX2VuZENvbHVtbnNbbl0tMSk7cmV0dXJuIHR9Z2V0U3RyaWN0RWxlbWVudCh0KXtyZXR1cm4gdGhpcy5saW5lc1t0XX1nZXRTdGFydExpbmVOdW1iZXIodCl7cmV0dXJuIHQrMX1nZXRFbmRMaW5lTnVtYmVyKHQpe3JldHVybiB0KzF9Y3JlYXRlQ2hhclNlcXVlbmNlKHQsbixyKXtjb25zdCBpPVtdLHM9W10sYT1bXTtsZXQgbz0wO2ZvcihsZXQgbD1uO2w8PXI7bCsrKXtjb25zdCB1PXRoaXMubGluZXNbbF0sZj10P3RoaXMuX3N0YXJ0Q29sdW1uc1tsXToxLGg9dD90aGlzLl9lbmRDb2x1bW5zW2xdOnUubGVuZ3RoKzE7Zm9yKGxldCBkPWY7ZDxoO2QrKylpW29dPXUuY2hhckNvZGVBdChkLTEpLHNbb109bCsxLGFbb109ZCxvKys7IXQmJmw8ciYmKGlbb109MTAsc1tvXT1sKzEsYVtvXT11Lmxlbmd0aCsxLG8rKyl9cmV0dXJuIG5ldyBDbChpLHMsYSl9fTtjbGFzcyBDbHtjb25zdHJ1Y3Rvcih0LG4scil7dGhpcy5fY2hhckNvZGVzPXQsdGhpcy5fbGluZU51bWJlcnM9bix0aGlzLl9jb2x1bW5zPXJ9dG9TdHJpbmcoKXtyZXR1cm4iWyIrdGhpcy5fY2hhckNvZGVzLm1hcCgodCxuKT0+KHQ9PT0xMD8iXFxuIjpTdHJpbmcuZnJvbUNoYXJDb2RlKHQpKStgLSgke3RoaXMuX2xpbmVOdW1iZXJzW25dfSwke3RoaXMuX2NvbHVtbnNbbl19KWApLmpvaW4oIiwgIikrIl0ifV9hc3NlcnRJbmRleCh0LG4pe2lmKHQ8MHx8dD49bi5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJJbGxlZ2FsIGluZGV4Iil9Z2V0RWxlbWVudHMoKXtyZXR1cm4gdGhpcy5fY2hhckNvZGVzfWdldFN0YXJ0TGluZU51bWJlcih0KXtyZXR1cm4gdD4wJiZ0PT09dGhpcy5fbGluZU51bWJlcnMubGVuZ3RoP3RoaXMuZ2V0RW5kTGluZU51bWJlcih0LTEpOih0aGlzLl9hc3NlcnRJbmRleCh0LHRoaXMuX2xpbmVOdW1iZXJzKSx0aGlzLl9saW5lTnVtYmVyc1t0XSl9Z2V0RW5kTGluZU51bWJlcih0KXtyZXR1cm4gdD09PS0xP3RoaXMuZ2V0U3RhcnRMaW5lTnVtYmVyKHQrMSk6KHRoaXMuX2Fzc2VydEluZGV4KHQsdGhpcy5fbGluZU51bWJlcnMpLHRoaXMuX2NoYXJDb2Rlc1t0XT09PTEwP3RoaXMuX2xpbmVOdW1iZXJzW3RdKzE6dGhpcy5fbGluZU51bWJlcnNbdF0pfWdldFN0YXJ0Q29sdW1uKHQpe3JldHVybiB0PjAmJnQ9PT10aGlzLl9jb2x1bW5zLmxlbmd0aD90aGlzLmdldEVuZENvbHVtbih0LTEpOih0aGlzLl9hc3NlcnRJbmRleCh0LHRoaXMuX2NvbHVtbnMpLHRoaXMuX2NvbHVtbnNbdF0pfWdldEVuZENvbHVtbih0KXtyZXR1cm4gdD09PS0xP3RoaXMuZ2V0U3RhcnRDb2x1bW4odCsxKToodGhpcy5fYXNzZXJ0SW5kZXgodCx0aGlzLl9jb2x1bW5zKSx0aGlzLl9jaGFyQ29kZXNbdF09PT0xMD8xOnRoaXMuX2NvbHVtbnNbdF0rMSl9fWNsYXNzIF90e2NvbnN0cnVjdG9yKHQsbixyLGkscyxhLG8sbCl7dGhpcy5vcmlnaW5hbFN0YXJ0TGluZU51bWJlcj10LHRoaXMub3JpZ2luYWxTdGFydENvbHVtbj1uLHRoaXMub3JpZ2luYWxFbmRMaW5lTnVtYmVyPXIsdGhpcy5vcmlnaW5hbEVuZENvbHVtbj1pLHRoaXMubW9kaWZpZWRTdGFydExpbmVOdW1iZXI9cyx0aGlzLm1vZGlmaWVkU3RhcnRDb2x1bW49YSx0aGlzLm1vZGlmaWVkRW5kTGluZU51bWJlcj1vLHRoaXMubW9kaWZpZWRFbmRDb2x1bW49bH1zdGF0aWMgY3JlYXRlRnJvbURpZmZDaGFuZ2UodCxuLHIpe2NvbnN0IGk9bi5nZXRTdGFydExpbmVOdW1iZXIodC5vcmlnaW5hbFN0YXJ0KSxzPW4uZ2V0U3RhcnRDb2x1bW4odC5vcmlnaW5hbFN0YXJ0KSxhPW4uZ2V0RW5kTGluZU51bWJlcih0Lm9yaWdpbmFsU3RhcnQrdC5vcmlnaW5hbExlbmd0aC0xKSxvPW4uZ2V0RW5kQ29sdW1uKHQub3JpZ2luYWxTdGFydCt0Lm9yaWdpbmFsTGVuZ3RoLTEpLGw9ci5nZXRTdGFydExpbmVOdW1iZXIodC5tb2RpZmllZFN0YXJ0KSx1PXIuZ2V0U3RhcnRDb2x1bW4odC5tb2RpZmllZFN0YXJ0KSxmPXIuZ2V0RW5kTGluZU51bWJlcih0Lm1vZGlmaWVkU3RhcnQrdC5tb2RpZmllZExlbmd0aC0xKSxoPXIuZ2V0RW5kQ29sdW1uKHQubW9kaWZpZWRTdGFydCt0Lm1vZGlmaWVkTGVuZ3RoLTEpO3JldHVybiBuZXcgX3QoaSxzLGEsbyxsLHUsZixoKX19ZnVuY3Rpb24ga2woZSl7aWYoZS5sZW5ndGg8PTEpcmV0dXJuIGU7Y29uc3QgdD1bZVswXV07bGV0IG49dFswXTtmb3IobGV0IHI9MSxpPWUubGVuZ3RoO3I8aTtyKyspe2NvbnN0IHM9ZVtyXSxhPXMub3JpZ2luYWxTdGFydC0obi5vcmlnaW5hbFN0YXJ0K24ub3JpZ2luYWxMZW5ndGgpLG89cy5tb2RpZmllZFN0YXJ0LShuLm1vZGlmaWVkU3RhcnQrbi5tb2RpZmllZExlbmd0aCk7TWF0aC5taW4oYSxvKTxObD8obi5vcmlnaW5hbExlbmd0aD1zLm9yaWdpbmFsU3RhcnQrcy5vcmlnaW5hbExlbmd0aC1uLm9yaWdpbmFsU3RhcnQsbi5tb2RpZmllZExlbmd0aD1zLm1vZGlmaWVkU3RhcnQrcy5tb2RpZmllZExlbmd0aC1uLm1vZGlmaWVkU3RhcnQpOih0LnB1c2gocyksbj1zKX1yZXR1cm4gdH1jbGFzcyBJdHtjb25zdHJ1Y3Rvcih0LG4scixpLHMpe3RoaXMub3JpZ2luYWxTdGFydExpbmVOdW1iZXI9dCx0aGlzLm9yaWdpbmFsRW5kTGluZU51bWJlcj1uLHRoaXMubW9kaWZpZWRTdGFydExpbmVOdW1iZXI9cix0aGlzLm1vZGlmaWVkRW5kTGluZU51bWJlcj1pLHRoaXMuY2hhckNoYW5nZXM9c31zdGF0aWMgY3JlYXRlRnJvbURpZmZSZXN1bHQodCxuLHIsaSxzLGEsbyl7bGV0IGwsdSxmLGgsZDtpZihuLm9yaWdpbmFsTGVuZ3RoPT09MD8obD1yLmdldFN0YXJ0TGluZU51bWJlcihuLm9yaWdpbmFsU3RhcnQpLTEsdT0wKToobD1yLmdldFN0YXJ0TGluZU51bWJlcihuLm9yaWdpbmFsU3RhcnQpLHU9ci5nZXRFbmRMaW5lTnVtYmVyKG4ub3JpZ2luYWxTdGFydCtuLm9yaWdpbmFsTGVuZ3RoLTEpKSxuLm1vZGlmaWVkTGVuZ3RoPT09MD8oZj1pLmdldFN0YXJ0TGluZU51bWJlcihuLm1vZGlmaWVkU3RhcnQpLTEsaD0wKTooZj1pLmdldFN0YXJ0TGluZU51bWJlcihuLm1vZGlmaWVkU3RhcnQpLGg9aS5nZXRFbmRMaW5lTnVtYmVyKG4ubW9kaWZpZWRTdGFydCtuLm1vZGlmaWVkTGVuZ3RoLTEpKSxhJiZuLm9yaWdpbmFsTGVuZ3RoPjAmJm4ub3JpZ2luYWxMZW5ndGg8MjAmJm4ubW9kaWZpZWRMZW5ndGg+MCYmbi5tb2RpZmllZExlbmd0aDwyMCYmcygpKXtjb25zdCBnPXIuY3JlYXRlQ2hhclNlcXVlbmNlKHQsbi5vcmlnaW5hbFN0YXJ0LG4ub3JpZ2luYWxTdGFydCtuLm9yaWdpbmFsTGVuZ3RoLTEpLG09aS5jcmVhdGVDaGFyU2VxdWVuY2UodCxuLm1vZGlmaWVkU3RhcnQsbi5tb2RpZmllZFN0YXJ0K24ubW9kaWZpZWRMZW5ndGgtMSk7aWYoZy5nZXRFbGVtZW50cygpLmxlbmd0aD4wJiZtLmdldEVsZW1lbnRzKCkubGVuZ3RoPjApe2xldCB2PWRzKGcsbSxzLCEwKS5jaGFuZ2VzO28mJih2PWtsKHYpKSxkPVtdO2ZvcihsZXQgcD0wLHg9di5sZW5ndGg7cDx4O3ArKylkLnB1c2goX3QuY3JlYXRlRnJvbURpZmZDaGFuZ2UodltwXSxnLG0pKX19cmV0dXJuIG5ldyBJdChsLHUsZixoLGQpfX1jbGFzcyBFbHtjb25zdHJ1Y3Rvcih0LG4scil7dGhpcy5zaG91bGRDb21wdXRlQ2hhckNoYW5nZXM9ci5zaG91bGRDb21wdXRlQ2hhckNoYW5nZXMsdGhpcy5zaG91bGRQb3N0UHJvY2Vzc0NoYXJDaGFuZ2VzPXIuc2hvdWxkUG9zdFByb2Nlc3NDaGFyQ2hhbmdlcyx0aGlzLnNob3VsZElnbm9yZVRyaW1XaGl0ZXNwYWNlPXIuc2hvdWxkSWdub3JlVHJpbVdoaXRlc3BhY2UsdGhpcy5zaG91bGRNYWtlUHJldHR5RGlmZj1yLnNob3VsZE1ha2VQcmV0dHlEaWZmLHRoaXMub3JpZ2luYWxMaW5lcz10LHRoaXMubW9kaWZpZWRMaW5lcz1uLHRoaXMub3JpZ2luYWw9bmV3IGdzKHQpLHRoaXMubW9kaWZpZWQ9bmV3IGdzKG4pLHRoaXMuY29udGludWVMaW5lRGlmZj1tcyhyLm1heENvbXB1dGF0aW9uVGltZSksdGhpcy5jb250aW51ZUNoYXJEaWZmPW1zKHIubWF4Q29tcHV0YXRpb25UaW1lPT09MD8wOk1hdGgubWluKHIubWF4Q29tcHV0YXRpb25UaW1lLDVlMykpfWNvbXB1dGVEaWZmKCl7aWYodGhpcy5vcmlnaW5hbC5saW5lcy5sZW5ndGg9PT0xJiZ0aGlzLm9yaWdpbmFsLmxpbmVzWzBdLmxlbmd0aD09PTApcmV0dXJuIHRoaXMubW9kaWZpZWQubGluZXMubGVuZ3RoPT09MSYmdGhpcy5tb2RpZmllZC5saW5lc1swXS5sZW5ndGg9PT0wP3txdWl0RWFybHk6ITEsY2hhbmdlczpbXX06e3F1aXRFYXJseTohMSxjaGFuZ2VzOlt7b3JpZ2luYWxTdGFydExpbmVOdW1iZXI6MSxvcmlnaW5hbEVuZExpbmVOdW1iZXI6MSxtb2RpZmllZFN0YXJ0TGluZU51bWJlcjoxLG1vZGlmaWVkRW5kTGluZU51bWJlcjp0aGlzLm1vZGlmaWVkLmxpbmVzLmxlbmd0aCxjaGFyQ2hhbmdlczp2b2lkIDB9XX07aWYodGhpcy5tb2RpZmllZC5saW5lcy5sZW5ndGg9PT0xJiZ0aGlzLm1vZGlmaWVkLmxpbmVzWzBdLmxlbmd0aD09PTApcmV0dXJue3F1aXRFYXJseTohMSxjaGFuZ2VzOlt7b3JpZ2luYWxTdGFydExpbmVOdW1iZXI6MSxvcmlnaW5hbEVuZExpbmVOdW1iZXI6dGhpcy5vcmlnaW5hbC5saW5lcy5sZW5ndGgsbW9kaWZpZWRTdGFydExpbmVOdW1iZXI6MSxtb2RpZmllZEVuZExpbmVOdW1iZXI6MSxjaGFyQ2hhbmdlczp2b2lkIDB9XX07Y29uc3QgdD1kcyh0aGlzLm9yaWdpbmFsLHRoaXMubW9kaWZpZWQsdGhpcy5jb250aW51ZUxpbmVEaWZmLHRoaXMuc2hvdWxkTWFrZVByZXR0eURpZmYpLG49dC5jaGFuZ2VzLHI9dC5xdWl0RWFybHk7aWYodGhpcy5zaG91bGRJZ25vcmVUcmltV2hpdGVzcGFjZSl7Y29uc3Qgbz1bXTtmb3IobGV0IGw9MCx1PW4ubGVuZ3RoO2w8dTtsKyspby5wdXNoKEl0LmNyZWF0ZUZyb21EaWZmUmVzdWx0KHRoaXMuc2hvdWxkSWdub3JlVHJpbVdoaXRlc3BhY2UsbltsXSx0aGlzLm9yaWdpbmFsLHRoaXMubW9kaWZpZWQsdGhpcy5jb250aW51ZUNoYXJEaWZmLHRoaXMuc2hvdWxkQ29tcHV0ZUNoYXJDaGFuZ2VzLHRoaXMuc2hvdWxkUG9zdFByb2Nlc3NDaGFyQ2hhbmdlcykpO3JldHVybntxdWl0RWFybHk6cixjaGFuZ2VzOm99fWNvbnN0IGk9W107bGV0IHM9MCxhPTA7Zm9yKGxldCBvPS0xLGw9bi5sZW5ndGg7bzxsO28rKyl7Y29uc3QgdT1vKzE8bD9uW28rMV06bnVsbCxmPXU/dS5vcmlnaW5hbFN0YXJ0OnRoaXMub3JpZ2luYWxMaW5lcy5sZW5ndGgsaD11P3UubW9kaWZpZWRTdGFydDp0aGlzLm1vZGlmaWVkTGluZXMubGVuZ3RoO2Zvcig7czxmJiZhPGg7KXtjb25zdCBkPXRoaXMub3JpZ2luYWxMaW5lc1tzXSxnPXRoaXMubW9kaWZpZWRMaW5lc1thXTtpZihkIT09Zyl7e2xldCBtPXJyKGQsMSksdj1ycihnLDEpO2Zvcig7bT4xJiZ2PjE7KXtjb25zdCBwPWQuY2hhckNvZGVBdChtLTIpLHg9Zy5jaGFyQ29kZUF0KHYtMik7aWYocCE9PXgpYnJlYWs7bS0tLHYtLX0obT4xfHx2PjEpJiZ0aGlzLl9wdXNoVHJpbVdoaXRlc3BhY2VDaGFyQ2hhbmdlKGkscysxLDEsbSxhKzEsMSx2KX17bGV0IG09aXIoZCwxKSx2PWlyKGcsMSk7Y29uc3QgcD1kLmxlbmd0aCsxLHg9Zy5sZW5ndGgrMTtmb3IoO208cCYmdjx4Oyl7Y29uc3QgeT1kLmNoYXJDb2RlQXQobS0xKSxiPWQuY2hhckNvZGVBdCh2LTEpO2lmKHkhPT1iKWJyZWFrO20rKyx2Kyt9KG08cHx8djx4KSYmdGhpcy5fcHVzaFRyaW1XaGl0ZXNwYWNlQ2hhckNoYW5nZShpLHMrMSxtLHAsYSsxLHYseCl9fXMrKyxhKyt9dSYmKGkucHVzaChJdC5jcmVhdGVGcm9tRGlmZlJlc3VsdCh0aGlzLnNob3VsZElnbm9yZVRyaW1XaGl0ZXNwYWNlLHUsdGhpcy5vcmlnaW5hbCx0aGlzLm1vZGlmaWVkLHRoaXMuY29udGludWVDaGFyRGlmZix0aGlzLnNob3VsZENvbXB1dGVDaGFyQ2hhbmdlcyx0aGlzLnNob3VsZFBvc3RQcm9jZXNzQ2hhckNoYW5nZXMpKSxzKz11Lm9yaWdpbmFsTGVuZ3RoLGErPXUubW9kaWZpZWRMZW5ndGgpfXJldHVybntxdWl0RWFybHk6cixjaGFuZ2VzOml9fV9wdXNoVHJpbVdoaXRlc3BhY2VDaGFyQ2hhbmdlKHQsbixyLGkscyxhLG8pe2lmKHRoaXMuX21lcmdlVHJpbVdoaXRlc3BhY2VDaGFyQ2hhbmdlKHQsbixyLGkscyxhLG8pKXJldHVybjtsZXQgbDt0aGlzLnNob3VsZENvbXB1dGVDaGFyQ2hhbmdlcyYmKGw9W25ldyBfdChuLHIsbixpLHMsYSxzLG8pXSksdC5wdXNoKG5ldyBJdChuLG4scyxzLGwpKX1fbWVyZ2VUcmltV2hpdGVzcGFjZUNoYXJDaGFuZ2UodCxuLHIsaSxzLGEsbyl7Y29uc3QgbD10Lmxlbmd0aDtpZihsPT09MClyZXR1cm4hMTtjb25zdCB1PXRbbC0xXTtyZXR1cm4gdS5vcmlnaW5hbEVuZExpbmVOdW1iZXI9PT0wfHx1Lm1vZGlmaWVkRW5kTGluZU51bWJlcj09PTA/ITE6dS5vcmlnaW5hbEVuZExpbmVOdW1iZXI9PT1uJiZ1Lm1vZGlmaWVkRW5kTGluZU51bWJlcj09PXM/KHRoaXMuc2hvdWxkQ29tcHV0ZUNoYXJDaGFuZ2VzJiZ1LmNoYXJDaGFuZ2VzJiZ1LmNoYXJDaGFuZ2VzLnB1c2gobmV3IF90KG4scixuLGkscyxhLHMsbykpLCEwKTp1Lm9yaWdpbmFsRW5kTGluZU51bWJlcisxPT09biYmdS5tb2RpZmllZEVuZExpbmVOdW1iZXIrMT09PXM/KHUub3JpZ2luYWxFbmRMaW5lTnVtYmVyPW4sdS5tb2RpZmllZEVuZExpbmVOdW1iZXI9cyx0aGlzLnNob3VsZENvbXB1dGVDaGFyQ2hhbmdlcyYmdS5jaGFyQ2hhbmdlcyYmdS5jaGFyQ2hhbmdlcy5wdXNoKG5ldyBfdChuLHIsbixpLHMsYSxzLG8pKSwhMCk6ITF9fWZ1bmN0aW9uIHJyKGUsdCl7Y29uc3Qgbj1pbyhlKTtyZXR1cm4gbj09PS0xP3Q6bisxfWZ1bmN0aW9uIGlyKGUsdCl7Y29uc3Qgbj1zbyhlKTtyZXR1cm4gbj09PS0xP3Q6bisyfWZ1bmN0aW9uIG1zKGUpe2lmKGU9PT0wKXJldHVybigpPT4hMDtjb25zdCB0PURhdGUubm93KCk7cmV0dXJuKCk9PkRhdGUubm93KCktdDxlfWNsYXNzIHFle3N0YXRpYyB0cml2aWFsKHQsbil7cmV0dXJuIG5ldyBxZShbbmV3IEsoei5vZkxlbmd0aCh0Lmxlbmd0aCksei5vZkxlbmd0aChuLmxlbmd0aCkpXSwhMSl9c3RhdGljIHRyaXZpYWxUaW1lZE91dCh0LG4pe3JldHVybiBuZXcgcWUoW25ldyBLKHoub2ZMZW5ndGgodC5sZW5ndGgpLHoub2ZMZW5ndGgobi5sZW5ndGgpKV0sITApfWNvbnN0cnVjdG9yKHQsbil7dGhpcy5kaWZmcz10LHRoaXMuaGl0VGltZW91dD1ufX1jbGFzcyBLe3N0YXRpYyBpbnZlcnQodCxuKXtjb25zdCByPVtdO3JldHVybiBxbyh0LChpLHMpPT57ci5wdXNoKEsuZnJvbU9mZnNldFBhaXJzKGk/aS5nZXRFbmRFeGNsdXNpdmVzKCk6eWUuemVybyxzP3MuZ2V0U3RhcnRzKCk6bmV3IHllKG4sKGk/aS5zZXEyUmFuZ2UuZW5kRXhjbHVzaXZlLWkuc2VxMVJhbmdlLmVuZEV4Y2x1c2l2ZTowKStuKSkpfSkscn1zdGF0aWMgZnJvbU9mZnNldFBhaXJzKHQsbil7cmV0dXJuIG5ldyBLKG5ldyB6KHQub2Zmc2V0MSxuLm9mZnNldDEpLG5ldyB6KHQub2Zmc2V0MixuLm9mZnNldDIpKX1jb25zdHJ1Y3Rvcih0LG4pe3RoaXMuc2VxMVJhbmdlPXQsdGhpcy5zZXEyUmFuZ2U9bn1zd2FwKCl7cmV0dXJuIG5ldyBLKHRoaXMuc2VxMlJhbmdlLHRoaXMuc2VxMVJhbmdlKX10b1N0cmluZygpe3JldHVybmAke3RoaXMuc2VxMVJhbmdlfSA8LT4gJHt0aGlzLnNlcTJSYW5nZX1gfWpvaW4odCl7cmV0dXJuIG5ldyBLKHRoaXMuc2VxMVJhbmdlLmpvaW4odC5zZXExUmFuZ2UpLHRoaXMuc2VxMlJhbmdlLmpvaW4odC5zZXEyUmFuZ2UpKX1kZWx0YSh0KXtyZXR1cm4gdD09PTA/dGhpczpuZXcgSyh0aGlzLnNlcTFSYW5nZS5kZWx0YSh0KSx0aGlzLnNlcTJSYW5nZS5kZWx0YSh0KSl9ZGVsdGFTdGFydCh0KXtyZXR1cm4gdD09PTA/dGhpczpuZXcgSyh0aGlzLnNlcTFSYW5nZS5kZWx0YVN0YXJ0KHQpLHRoaXMuc2VxMlJhbmdlLmRlbHRhU3RhcnQodCkpfWRlbHRhRW5kKHQpe3JldHVybiB0PT09MD90aGlzOm5ldyBLKHRoaXMuc2VxMVJhbmdlLmRlbHRhRW5kKHQpLHRoaXMuc2VxMlJhbmdlLmRlbHRhRW5kKHQpKX1pbnRlcnNlY3QodCl7Y29uc3Qgbj10aGlzLnNlcTFSYW5nZS5pbnRlcnNlY3QodC5zZXExUmFuZ2UpLHI9dGhpcy5zZXEyUmFuZ2UuaW50ZXJzZWN0KHQuc2VxMlJhbmdlKTtpZighKCFufHwhcikpcmV0dXJuIG5ldyBLKG4scil9Z2V0U3RhcnRzKCl7cmV0dXJuIG5ldyB5ZSh0aGlzLnNlcTFSYW5nZS5zdGFydCx0aGlzLnNlcTJSYW5nZS5zdGFydCl9Z2V0RW5kRXhjbHVzaXZlcygpe3JldHVybiBuZXcgeWUodGhpcy5zZXExUmFuZ2UuZW5kRXhjbHVzaXZlLHRoaXMuc2VxMlJhbmdlLmVuZEV4Y2x1c2l2ZSl9fWNsYXNzIHlle2NvbnN0cnVjdG9yKHQsbil7dGhpcy5vZmZzZXQxPXQsdGhpcy5vZmZzZXQyPW59dG9TdHJpbmcoKXtyZXR1cm5gJHt0aGlzLm9mZnNldDF9IDwtPiAke3RoaXMub2Zmc2V0Mn1gfWRlbHRhKHQpe3JldHVybiB0PT09MD90aGlzOm5ldyB5ZSh0aGlzLm9mZnNldDErdCx0aGlzLm9mZnNldDIrdCl9ZXF1YWxzKHQpe3JldHVybiB0aGlzLm9mZnNldDE9PT10Lm9mZnNldDEmJnRoaXMub2Zmc2V0Mj09PXQub2Zmc2V0Mn19eWUuemVybz1uZXcgeWUoMCwwKSx5ZS5tYXg9bmV3IHllKE51bWJlci5NQVhfU0FGRV9JTlRFR0VSLE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKTtjbGFzcyBEdHtpc1ZhbGlkKCl7cmV0dXJuITB9fUR0Lmluc3RhbmNlPW5ldyBEdDtjbGFzcyBSbHtjb25zdHJ1Y3Rvcih0KXtpZih0aGlzLnRpbWVvdXQ9dCx0aGlzLnN0YXJ0VGltZT1EYXRlLm5vdygpLHRoaXMudmFsaWQ9ITAsdDw9MCl0aHJvdyBuZXcgVWUoInRpbWVvdXQgbXVzdCBiZSBwb3NpdGl2ZSIpfWlzVmFsaWQoKXtyZXR1cm4hKERhdGUubm93KCktdGhpcy5zdGFydFRpbWU8dGhpcy50aW1lb3V0KSYmdGhpcy52YWxpZCYmKHRoaXMudmFsaWQ9ITEpLHRoaXMudmFsaWR9fWNsYXNzIHNye2NvbnN0cnVjdG9yKHQsbil7dGhpcy53aWR0aD10LHRoaXMuaGVpZ2h0PW4sdGhpcy5hcnJheT1bXSx0aGlzLmFycmF5PW5ldyBBcnJheSh0Km4pfWdldCh0LG4pe3JldHVybiB0aGlzLmFycmF5W3Qrbip0aGlzLndpZHRoXX1zZXQodCxuLHIpe3RoaXMuYXJyYXlbdCtuKnRoaXMud2lkdGhdPXJ9fWZ1bmN0aW9uIGFyKGUpe3JldHVybiBlPT09MzJ8fGU9PT05fWNsYXNzIHd0e3N0YXRpYyBnZXRLZXkodCl7bGV0IG49dGhpcy5jaHJLZXlzLmdldCh0KTtyZXR1cm4gbj09PXZvaWQgMCYmKG49dGhpcy5jaHJLZXlzLnNpemUsdGhpcy5jaHJLZXlzLnNldCh0LG4pKSxufWNvbnN0cnVjdG9yKHQsbixyKXt0aGlzLnJhbmdlPXQsdGhpcy5saW5lcz1uLHRoaXMuc291cmNlPXIsdGhpcy5oaXN0b2dyYW09W107bGV0IGk9MDtmb3IobGV0IHM9dC5zdGFydExpbmVOdW1iZXItMTtzPHQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZS0xO3MrKyl7Y29uc3QgYT1uW3NdO2ZvcihsZXQgbD0wO2w8YS5sZW5ndGg7bCsrKXtpKys7Y29uc3QgdT1hW2xdLGY9d3QuZ2V0S2V5KHUpO3RoaXMuaGlzdG9ncmFtW2ZdPSh0aGlzLmhpc3RvZ3JhbVtmXXx8MCkrMX1pKys7Y29uc3Qgbz13dC5nZXRLZXkoYApgKTt0aGlzLmhpc3RvZ3JhbVtvXT0odGhpcy5oaXN0b2dyYW1bb118fDApKzF9dGhpcy50b3RhbENvdW50PWl9Y29tcHV0ZVNpbWlsYXJpdHkodCl7dmFyIG4scjtsZXQgaT0wO2NvbnN0IHM9TWF0aC5tYXgodGhpcy5oaXN0b2dyYW0ubGVuZ3RoLHQuaGlzdG9ncmFtLmxlbmd0aCk7Zm9yKGxldCBhPTA7YTxzO2ErKylpKz1NYXRoLmFicygoKG49dGhpcy5oaXN0b2dyYW1bYV0pIT09bnVsbCYmbiE9PXZvaWQgMD9uOjApLSgocj10Lmhpc3RvZ3JhbVthXSkhPT1udWxsJiZyIT09dm9pZCAwP3I6MCkpO3JldHVybiAxLWkvKHRoaXMudG90YWxDb3VudCt0LnRvdGFsQ291bnQpfX13dC5jaHJLZXlzPW5ldyBNYXA7Y2xhc3MgTWx7Y29tcHV0ZSh0LG4scj1EdC5pbnN0YW5jZSxpKXtpZih0Lmxlbmd0aD09PTB8fG4ubGVuZ3RoPT09MClyZXR1cm4gcWUudHJpdmlhbCh0LG4pO2NvbnN0IHM9bmV3IHNyKHQubGVuZ3RoLG4ubGVuZ3RoKSxhPW5ldyBzcih0Lmxlbmd0aCxuLmxlbmd0aCksbz1uZXcgc3IodC5sZW5ndGgsbi5sZW5ndGgpO2ZvcihsZXQgbT0wO208dC5sZW5ndGg7bSsrKWZvcihsZXQgdj0wO3Y8bi5sZW5ndGg7disrKXtpZighci5pc1ZhbGlkKCkpcmV0dXJuIHFlLnRyaXZpYWxUaW1lZE91dCh0LG4pO2NvbnN0IHA9bT09PTA/MDpzLmdldChtLTEsdikseD12PT09MD8wOnMuZ2V0KG0sdi0xKTtsZXQgeTt0LmdldEVsZW1lbnQobSk9PT1uLmdldEVsZW1lbnQodik/KG09PT0wfHx2PT09MD95PTA6eT1zLmdldChtLTEsdi0xKSxtPjAmJnY+MCYmYS5nZXQobS0xLHYtMSk9PT0zJiYoeSs9by5nZXQobS0xLHYtMSkpLHkrPWk/aShtLHYpOjEpOnk9LTE7Y29uc3QgYj1NYXRoLm1heChwLHgseSk7aWYoYj09PXkpe2NvbnN0IEw9bT4wJiZ2PjA/by5nZXQobS0xLHYtMSk6MDtvLnNldChtLHYsTCsxKSxhLnNldChtLHYsMyl9ZWxzZSBiPT09cD8oby5zZXQobSx2LDApLGEuc2V0KG0sdiwxKSk6Yj09PXgmJihvLnNldChtLHYsMCksYS5zZXQobSx2LDIpKTtzLnNldChtLHYsYil9Y29uc3QgbD1bXTtsZXQgdT10Lmxlbmd0aCxmPW4ubGVuZ3RoO2Z1bmN0aW9uIGgobSx2KXsobSsxIT09dXx8disxIT09ZikmJmwucHVzaChuZXcgSyhuZXcgeihtKzEsdSksbmV3IHoodisxLGYpKSksdT1tLGY9dn1sZXQgZD10Lmxlbmd0aC0xLGc9bi5sZW5ndGgtMTtmb3IoO2Q+PTAmJmc+PTA7KWEuZ2V0KGQsZyk9PT0zPyhoKGQsZyksZC0tLGctLSk6YS5nZXQoZCxnKT09PTE/ZC0tOmctLTtyZXR1cm4gaCgtMSwtMSksbC5yZXZlcnNlKCksbmV3IHFlKGwsITEpfX1jbGFzcyBwc3tjb21wdXRlKHQsbixyPUR0Lmluc3RhbmNlKXtpZih0Lmxlbmd0aD09PTB8fG4ubGVuZ3RoPT09MClyZXR1cm4gcWUudHJpdmlhbCh0LG4pO2NvbnN0IGk9dCxzPW47ZnVuY3Rpb24gYSh2LHApe2Zvcig7djxpLmxlbmd0aCYmcDxzLmxlbmd0aCYmaS5nZXRFbGVtZW50KHYpPT09cy5nZXRFbGVtZW50KHApOyl2KysscCsrO3JldHVybiB2fWxldCBvPTA7Y29uc3QgbD1uZXcgVGw7bC5zZXQoMCxhKDAsMCkpO2NvbnN0IHU9bmV3IFBsO3Uuc2V0KDAsbC5nZXQoMCk9PT0wP251bGw6bmV3IHZzKG51bGwsMCwwLGwuZ2V0KDApKSk7bGV0IGY9MDtlOmZvcig7Oyl7aWYobysrLCFyLmlzVmFsaWQoKSlyZXR1cm4gcWUudHJpdmlhbFRpbWVkT3V0KGkscyk7Y29uc3Qgdj0tTWF0aC5taW4obyxzLmxlbmd0aCtvJTIpLHA9TWF0aC5taW4obyxpLmxlbmd0aCtvJTIpO2ZvcihmPXY7Zjw9cDtmKz0yKXtjb25zdCB4PWY9PT1wPy0xOmwuZ2V0KGYrMSkseT1mPT09dj8tMTpsLmdldChmLTEpKzEsYj1NYXRoLm1pbihNYXRoLm1heCh4LHkpLGkubGVuZ3RoKSxMPWItZjtpZihiPmkubGVuZ3RofHxMPnMubGVuZ3RoKWNvbnRpbnVlO2NvbnN0IFM9YShiLEwpO2wuc2V0KGYsUyk7Y29uc3Qgdz1iPT09eD91LmdldChmKzEpOnUuZ2V0KGYtMSk7aWYodS5zZXQoZixTIT09Yj9uZXcgdnModyxiLEwsUy1iKTp3KSxsLmdldChmKT09PWkubGVuZ3RoJiZsLmdldChmKS1mPT09cy5sZW5ndGgpYnJlYWsgZX19bGV0IGg9dS5nZXQoZik7Y29uc3QgZD1bXTtsZXQgZz1pLmxlbmd0aCxtPXMubGVuZ3RoO2Zvcig7Oyl7Y29uc3Qgdj1oP2gueCtoLmxlbmd0aDowLHA9aD9oLnkraC5sZW5ndGg6MDtpZigodiE9PWd8fHAhPT1tKSYmZC5wdXNoKG5ldyBLKG5ldyB6KHYsZyksbmV3IHoocCxtKSkpLCFoKWJyZWFrO2c9aC54LG09aC55LGg9aC5wcmV2fXJldHVybiBkLnJldmVyc2UoKSxuZXcgcWUoZCwhMSl9fWNsYXNzIHZze2NvbnN0cnVjdG9yKHQsbixyLGkpe3RoaXMucHJldj10LHRoaXMueD1uLHRoaXMueT1yLHRoaXMubGVuZ3RoPWl9fWNsYXNzIFRse2NvbnN0cnVjdG9yKCl7dGhpcy5wb3NpdGl2ZUFycj1uZXcgSW50MzJBcnJheSgxMCksdGhpcy5uZWdhdGl2ZUFycj1uZXcgSW50MzJBcnJheSgxMCl9Z2V0KHQpe3JldHVybiB0PDA/KHQ9LXQtMSx0aGlzLm5lZ2F0aXZlQXJyW3RdKTp0aGlzLnBvc2l0aXZlQXJyW3RdfXNldCh0LG4pe2lmKHQ8MCl7aWYodD0tdC0xLHQ+PXRoaXMubmVnYXRpdmVBcnIubGVuZ3RoKXtjb25zdCByPXRoaXMubmVnYXRpdmVBcnI7dGhpcy5uZWdhdGl2ZUFycj1uZXcgSW50MzJBcnJheShyLmxlbmd0aCoyKSx0aGlzLm5lZ2F0aXZlQXJyLnNldChyKX10aGlzLm5lZ2F0aXZlQXJyW3RdPW59ZWxzZXtpZih0Pj10aGlzLnBvc2l0aXZlQXJyLmxlbmd0aCl7Y29uc3Qgcj10aGlzLnBvc2l0aXZlQXJyO3RoaXMucG9zaXRpdmVBcnI9bmV3IEludDMyQXJyYXkoci5sZW5ndGgqMiksdGhpcy5wb3NpdGl2ZUFyci5zZXQocil9dGhpcy5wb3NpdGl2ZUFyclt0XT1ufX19Y2xhc3MgUGx7Y29uc3RydWN0b3IoKXt0aGlzLnBvc2l0aXZlQXJyPVtdLHRoaXMubmVnYXRpdmVBcnI9W119Z2V0KHQpe3JldHVybiB0PDA/KHQ9LXQtMSx0aGlzLm5lZ2F0aXZlQXJyW3RdKTp0aGlzLnBvc2l0aXZlQXJyW3RdfXNldCh0LG4pe3Q8MD8odD0tdC0xLHRoaXMubmVnYXRpdmVBcnJbdF09bik6dGhpcy5wb3NpdGl2ZUFyclt0XT1ufX1jbGFzcyBobntjb25zdHJ1Y3Rvcih0LG4scil7dGhpcy5saW5lcz10LHRoaXMuY29uc2lkZXJXaGl0ZXNwYWNlQ2hhbmdlcz1yLHRoaXMuZWxlbWVudHM9W10sdGhpcy5maXJzdENoYXJPZmZzZXRCeUxpbmU9W10sdGhpcy5hZGRpdGlvbmFsT2Zmc2V0QnlMaW5lPVtdO2xldCBpPSExO24uc3RhcnQ+MCYmbi5lbmRFeGNsdXNpdmU+PXQubGVuZ3RoJiYobj1uZXcgeihuLnN0YXJ0LTEsbi5lbmRFeGNsdXNpdmUpLGk9ITApLHRoaXMubGluZVJhbmdlPW4sdGhpcy5maXJzdENoYXJPZmZzZXRCeUxpbmVbMF09MDtmb3IobGV0IHM9dGhpcy5saW5lUmFuZ2Uuc3RhcnQ7czx0aGlzLmxpbmVSYW5nZS5lbmRFeGNsdXNpdmU7cysrKXtsZXQgYT10W3NdLG89MDtpZihpKW89YS5sZW5ndGgsYT0iIixpPSExO2Vsc2UgaWYoIXIpe2NvbnN0IGw9YS50cmltU3RhcnQoKTtvPWEubGVuZ3RoLWwubGVuZ3RoLGE9bC50cmltRW5kKCl9dGhpcy5hZGRpdGlvbmFsT2Zmc2V0QnlMaW5lLnB1c2gobyk7Zm9yKGxldCBsPTA7bDxhLmxlbmd0aDtsKyspdGhpcy5lbGVtZW50cy5wdXNoKGEuY2hhckNvZGVBdChsKSk7czx0Lmxlbmd0aC0xJiYodGhpcy5lbGVtZW50cy5wdXNoKDEwKSx0aGlzLmZpcnN0Q2hhck9mZnNldEJ5TGluZVtzLXRoaXMubGluZVJhbmdlLnN0YXJ0KzFdPXRoaXMuZWxlbWVudHMubGVuZ3RoKX10aGlzLmFkZGl0aW9uYWxPZmZzZXRCeUxpbmUucHVzaCgwKX10b1N0cmluZygpe3JldHVybmBTbGljZTogIiR7dGhpcy50ZXh0fSJgfWdldCB0ZXh0KCl7cmV0dXJuIHRoaXMuZ2V0VGV4dChuZXcgeigwLHRoaXMubGVuZ3RoKSl9Z2V0VGV4dCh0KXtyZXR1cm4gdGhpcy5lbGVtZW50cy5zbGljZSh0LnN0YXJ0LHQuZW5kRXhjbHVzaXZlKS5tYXAobj0+U3RyaW5nLmZyb21DaGFyQ29kZShuKSkuam9pbigiIil9Z2V0RWxlbWVudCh0KXtyZXR1cm4gdGhpcy5lbGVtZW50c1t0XX1nZXQgbGVuZ3RoKCl7cmV0dXJuIHRoaXMuZWxlbWVudHMubGVuZ3RofWdldEJvdW5kYXJ5U2NvcmUodCl7Y29uc3Qgbj14cyh0PjA/dGhpcy5lbGVtZW50c1t0LTFdOi0xKSxyPXhzKHQ8dGhpcy5lbGVtZW50cy5sZW5ndGg/dGhpcy5lbGVtZW50c1t0XTotMSk7aWYobj09PTcmJnI9PT04KXJldHVybiAwO2lmKG49PT04KXJldHVybiAxNTA7bGV0IGk9MDtyZXR1cm4gbiE9PXImJihpKz0xMCxuPT09MCYmcj09PTEmJihpKz0xKSksaSs9YnMobiksaSs9YnMociksaX10cmFuc2xhdGVPZmZzZXQodCl7aWYodGhpcy5saW5lUmFuZ2UuaXNFbXB0eSlyZXR1cm4gbmV3IFBlKHRoaXMubGluZVJhbmdlLnN0YXJ0KzEsMSk7Y29uc3Qgbj1QdCh0aGlzLmZpcnN0Q2hhck9mZnNldEJ5TGluZSxyPT5yPD10KTtyZXR1cm4gbmV3IFBlKHRoaXMubGluZVJhbmdlLnN0YXJ0K24rMSx0LXRoaXMuZmlyc3RDaGFyT2Zmc2V0QnlMaW5lW25dK3RoaXMuYWRkaXRpb25hbE9mZnNldEJ5TGluZVtuXSsxKX10cmFuc2xhdGVSYW5nZSh0KXtyZXR1cm4gc2UuZnJvbVBvc2l0aW9ucyh0aGlzLnRyYW5zbGF0ZU9mZnNldCh0LnN0YXJ0KSx0aGlzLnRyYW5zbGF0ZU9mZnNldCh0LmVuZEV4Y2x1c2l2ZSkpfWZpbmRXb3JkQ29udGFpbmluZyh0KXtpZih0PDB8fHQ+PXRoaXMuZWxlbWVudHMubGVuZ3RofHwhb3IodGhpcy5lbGVtZW50c1t0XSkpcmV0dXJuO2xldCBuPXQ7Zm9yKDtuPjAmJm9yKHRoaXMuZWxlbWVudHNbbi0xXSk7KW4tLTtsZXQgcj10O2Zvcig7cjx0aGlzLmVsZW1lbnRzLmxlbmd0aCYmb3IodGhpcy5lbGVtZW50c1tyXSk7KXIrKztyZXR1cm4gbmV3IHoobixyKX1jb3VudExpbmVzSW4odCl7cmV0dXJuIHRoaXMudHJhbnNsYXRlT2Zmc2V0KHQuZW5kRXhjbHVzaXZlKS5saW5lTnVtYmVyLXRoaXMudHJhbnNsYXRlT2Zmc2V0KHQuc3RhcnQpLmxpbmVOdW1iZXJ9aXNTdHJvbmdseUVxdWFsKHQsbil7cmV0dXJuIHRoaXMuZWxlbWVudHNbdF09PT10aGlzLmVsZW1lbnRzW25dfWV4dGVuZFRvRnVsbExpbmVzKHQpe3ZhciBuLHI7Y29uc3QgaT0obj14dCh0aGlzLmZpcnN0Q2hhck9mZnNldEJ5TGluZSxhPT5hPD10LnN0YXJ0KSkhPT1udWxsJiZuIT09dm9pZCAwP246MCxzPShyPUxsKHRoaXMuZmlyc3RDaGFyT2Zmc2V0QnlMaW5lLGE9PnQuZW5kRXhjbHVzaXZlPD1hKSkhPT1udWxsJiZyIT09dm9pZCAwP3I6dGhpcy5lbGVtZW50cy5sZW5ndGg7cmV0dXJuIG5ldyB6KGkscyl9fWZ1bmN0aW9uIG9yKGUpe3JldHVybiBlPj05NyYmZTw9MTIyfHxlPj02NSYmZTw9OTB8fGU+PTQ4JiZlPD01N31jb25zdCBGbD17MDowLDE6MCwyOjAsMzoxMCw0OjIsNTozMCw2OjMsNzoxMCw4OjEwfTtmdW5jdGlvbiBicyhlKXtyZXR1cm4gRmxbZV19ZnVuY3Rpb24geHMoZSl7cmV0dXJuIGU9PT0xMD84OmU9PT0xMz83OmFyKGUpPzY6ZT49OTcmJmU8PTEyMj8wOmU+PTY1JiZlPD05MD8xOmU+PTQ4JiZlPD01Nz8yOmU9PT0tMT8zOmU9PT00NHx8ZT09PTU5PzU6NH1mdW5jdGlvbiBJbChlLHQsbixyLGkscyl7bGV0e21vdmVzOmEsZXhjbHVkZWRDaGFuZ2VzOm99PVZsKGUsdCxuLHMpO2lmKCFzLmlzVmFsaWQoKSlyZXR1cm5bXTtjb25zdCBsPWUuZmlsdGVyKGY9PiFvLmhhcyhmKSksdT1PbChsLHIsaSx0LG4scyk7cmV0dXJuICRvKGEsdSksYT1VbChhKSxhPWEuZmlsdGVyKGY9Pntjb25zdCBoPWYub3JpZ2luYWwudG9PZmZzZXRSYW5nZSgpLnNsaWNlKHQpLm1hcChnPT5nLnRyaW0oKSk7cmV0dXJuIGguam9pbihgCmApLmxlbmd0aD49MTUmJkRsKGgsZz0+Zy5sZW5ndGg+PTIpPj0yfSksYT1qbChlLGEpLGF9ZnVuY3Rpb24gRGwoZSx0KXtsZXQgbj0wO2Zvcihjb25zdCByIG9mIGUpdChyKSYmbisrO3JldHVybiBufWZ1bmN0aW9uIFZsKGUsdCxuLHIpe2NvbnN0IGk9W10scz1lLmZpbHRlcihsPT5sLm1vZGlmaWVkLmlzRW1wdHkmJmwub3JpZ2luYWwubGVuZ3RoPj0zKS5tYXAobD0+bmV3IHd0KGwub3JpZ2luYWwsdCxsKSksYT1uZXcgU2V0KGUuZmlsdGVyKGw9Pmwub3JpZ2luYWwuaXNFbXB0eSYmbC5tb2RpZmllZC5sZW5ndGg+PTMpLm1hcChsPT5uZXcgd3QobC5tb2RpZmllZCxuLGwpKSksbz1uZXcgU2V0O2Zvcihjb25zdCBsIG9mIHMpe2xldCB1PS0xLGY7Zm9yKGNvbnN0IGggb2YgYSl7Y29uc3QgZD1sLmNvbXB1dGVTaW1pbGFyaXR5KGgpO2Q+dSYmKHU9ZCxmPWgpfWlmKHU+LjkmJmYmJihhLmRlbGV0ZShmKSxpLnB1c2gobmV3IEVlKGwucmFuZ2UsZi5yYW5nZSkpLG8uYWRkKGwuc291cmNlKSxvLmFkZChmLnNvdXJjZSkpLCFyLmlzVmFsaWQoKSlyZXR1cm57bW92ZXM6aSxleGNsdWRlZENoYW5nZXM6b319cmV0dXJue21vdmVzOmksZXhjbHVkZWRDaGFuZ2VzOm99fWZ1bmN0aW9uIE9sKGUsdCxuLHIsaSxzKXtjb25zdCBhPVtdLG89bmV3IG1sO2Zvcihjb25zdCBkIG9mIGUpZm9yKGxldCBnPWQub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyO2c8ZC5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLTI7ZysrKXtjb25zdCBtPWAke3RbZy0xXX06JHt0W2crMS0xXX06JHt0W2crMi0xXX1gO28uYWRkKG0se3JhbmdlOm5ldyBIKGcsZyszKX0pfWNvbnN0IGw9W107ZS5zb3J0KHJuKGQ9PmQubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyLHNuKSk7Zm9yKGNvbnN0IGQgb2YgZSl7bGV0IGc9W107Zm9yKGxldCBtPWQubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyO208ZC5tb2RpZmllZC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLTI7bSsrKXtjb25zdCB2PWAke25bbS0xXX06JHtuW20rMS0xXX06JHtuW20rMi0xXX1gLHA9bmV3IEgobSxtKzMpLHg9W107by5mb3JFYWNoKHYsKHtyYW5nZTp5fSk9Pntmb3IoY29uc3QgTCBvZiBnKWlmKEwub3JpZ2luYWxMaW5lUmFuZ2UuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSsxPT09eS5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlJiZMLm1vZGlmaWVkTGluZVJhbmdlLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUrMT09PXAuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSl7TC5vcmlnaW5hbExpbmVSYW5nZT1uZXcgSChMLm9yaWdpbmFsTGluZVJhbmdlLnN0YXJ0TGluZU51bWJlcix5LmVuZExpbmVOdW1iZXJFeGNsdXNpdmUpLEwubW9kaWZpZWRMaW5lUmFuZ2U9bmV3IEgoTC5tb2RpZmllZExpbmVSYW5nZS5zdGFydExpbmVOdW1iZXIscC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlKSx4LnB1c2goTCk7cmV0dXJufWNvbnN0IGI9e21vZGlmaWVkTGluZVJhbmdlOnAsb3JpZ2luYWxMaW5lUmFuZ2U6eX07bC5wdXNoKGIpLHgucHVzaChiKX0pLGc9eH1pZighcy5pc1ZhbGlkKCkpcmV0dXJuW119bC5zb3J0KFdvKHJuKGQ9PmQubW9kaWZpZWRMaW5lUmFuZ2UubGVuZ3RoLHNuKSkpO2NvbnN0IHU9bmV3IEZlLGY9bmV3IEZlO2Zvcihjb25zdCBkIG9mIGwpe2NvbnN0IGc9ZC5tb2RpZmllZExpbmVSYW5nZS5zdGFydExpbmVOdW1iZXItZC5vcmlnaW5hbExpbmVSYW5nZS5zdGFydExpbmVOdW1iZXIsbT11LnN1YnRyYWN0RnJvbShkLm1vZGlmaWVkTGluZVJhbmdlKSx2PWYuc3VidHJhY3RGcm9tKGQub3JpZ2luYWxMaW5lUmFuZ2UpLmdldFdpdGhEZWx0YShnKSxwPW0uZ2V0SW50ZXJzZWN0aW9uKHYpO2Zvcihjb25zdCB4IG9mIHAucmFuZ2VzKXtpZih4Lmxlbmd0aDwzKWNvbnRpbnVlO2NvbnN0IHk9eCxiPXguZGVsdGEoLWcpO2EucHVzaChuZXcgRWUoYix5KSksdS5hZGRSYW5nZSh5KSxmLmFkZFJhbmdlKGIpfX1hLnNvcnQocm4oZD0+ZC5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXIsc24pKTtjb25zdCBoPW5ldyBGdChlKTtmb3IobGV0IGQ9MDtkPGEubGVuZ3RoO2QrKyl7Y29uc3QgZz1hW2RdLG09aC5maW5kTGFzdE1vbm90b25vdXModz0+dy5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXI8PWcub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyKSx2PXh0KGUsdz0+dy5tb2RpZmllZC5zdGFydExpbmVOdW1iZXI8PWcubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyKSxwPU1hdGgubWF4KGcub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyLW0ub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyLGcubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyLXYubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyKSx4PWguZmluZExhc3RNb25vdG9ub3VzKHc9Pncub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyPGcub3JpZ2luYWwuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSkseT14dChlLHc9PncubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyPGcubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSksYj1NYXRoLm1heCh4Lm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUtZy5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLHkubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZS1nLm1vZGlmaWVkLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUpO2xldCBMO2ZvcihMPTA7TDxwO0wrKyl7Y29uc3Qgdz1nLm9yaWdpbmFsLnN0YXJ0TGluZU51bWJlci1MLTEsTj1nLm1vZGlmaWVkLnN0YXJ0TGluZU51bWJlci1MLTE7aWYodz5yLmxlbmd0aHx8Tj5pLmxlbmd0aHx8dS5jb250YWlucyhOKXx8Zi5jb250YWlucyh3KXx8IXlzKHJbdy0xXSxpW04tMV0scykpYnJlYWt9TD4wJiYoZi5hZGRSYW5nZShuZXcgSChnLm9yaWdpbmFsLnN0YXJ0TGluZU51bWJlci1MLGcub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyKSksdS5hZGRSYW5nZShuZXcgSChnLm1vZGlmaWVkLnN0YXJ0TGluZU51bWJlci1MLGcubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyKSkpO2xldCBTO2ZvcihTPTA7UzxiO1MrKyl7Y29uc3Qgdz1nLm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUrUyxOPWcubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZStTO2lmKHc+ci5sZW5ndGh8fE4+aS5sZW5ndGh8fHUuY29udGFpbnMoTil8fGYuY29udGFpbnModyl8fCF5cyhyW3ctMV0saVtOLTFdLHMpKWJyZWFrfVM+MCYmKGYuYWRkUmFuZ2UobmV3IEgoZy5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLGcub3JpZ2luYWwuZW5kTGluZU51bWJlckV4Y2x1c2l2ZStTKSksdS5hZGRSYW5nZShuZXcgSChnLm1vZGlmaWVkLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUsZy5tb2RpZmllZC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlK1MpKSksKEw+MHx8Uz4wKSYmKGFbZF09bmV3IEVlKG5ldyBIKGcub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyLUwsZy5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlK1MpLG5ldyBIKGcubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyLUwsZy5tb2RpZmllZC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlK1MpKSl9cmV0dXJuIGF9ZnVuY3Rpb24geXMoZSx0LG4pe2lmKGUudHJpbSgpPT09dC50cmltKCkpcmV0dXJuITA7aWYoZS5sZW5ndGg+MzAwJiZ0Lmxlbmd0aD4zMDApcmV0dXJuITE7Y29uc3QgaT1uZXcgcHMoKS5jb21wdXRlKG5ldyBobihbZV0sbmV3IHooMCwxKSwhMSksbmV3IGhuKFt0XSxuZXcgeigwLDEpLCExKSxuKTtsZXQgcz0wO2NvbnN0IGE9Sy5pbnZlcnQoaS5kaWZmcyxlLmxlbmd0aCk7Zm9yKGNvbnN0IGYgb2YgYSlmLnNlcTFSYW5nZS5mb3JFYWNoKGg9PnthcihlLmNoYXJDb2RlQXQoaCkpfHxzKyt9KTtmdW5jdGlvbiBvKGYpe2xldCBoPTA7Zm9yKGxldCBkPTA7ZDxlLmxlbmd0aDtkKyspYXIoZi5jaGFyQ29kZUF0KGQpKXx8aCsrO3JldHVybiBofWNvbnN0IGw9byhlLmxlbmd0aD50Lmxlbmd0aD9lOnQpO3JldHVybiBzL2w+LjYmJmw+MTB9ZnVuY3Rpb24gVWwoZSl7aWYoZS5sZW5ndGg9PT0wKXJldHVybiBlO2Uuc29ydChybihuPT5uLm9yaWdpbmFsLnN0YXJ0TGluZU51bWJlcixzbikpO2NvbnN0IHQ9W2VbMF1dO2ZvcihsZXQgbj0xO248ZS5sZW5ndGg7bisrKXtjb25zdCByPXRbdC5sZW5ndGgtMV0saT1lW25dLHM9aS5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXItci5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLGE9aS5tb2RpZmllZC5zdGFydExpbmVOdW1iZXItci5tb2RpZmllZC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlO2lmKHM+PTAmJmE+PTAmJnMrYTw9Mil7dFt0Lmxlbmd0aC0xXT1yLmpvaW4oaSk7Y29udGludWV9dC5wdXNoKGkpfXJldHVybiB0fWZ1bmN0aW9uIGpsKGUsdCl7Y29uc3Qgbj1uZXcgRnQoZSk7cmV0dXJuIHQ9dC5maWx0ZXIocj0+e2NvbnN0IGk9bi5maW5kTGFzdE1vbm90b25vdXMobz0+by5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXI8ci5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlKXx8bmV3IEVlKG5ldyBIKDEsMSksbmV3IEgoMSwxKSkscz14dChlLG89Pm8ubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyPHIubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSk7cmV0dXJuIGkhPT1zfSksdH1mdW5jdGlvbiBfcyhlLHQsbil7bGV0IHI9bjtyZXR1cm4gcj13cyhlLHQscikscj13cyhlLHQscikscj1xbChlLHQscikscn1mdW5jdGlvbiB3cyhlLHQsbil7aWYobi5sZW5ndGg9PT0wKXJldHVybiBuO2NvbnN0IHI9W107ci5wdXNoKG5bMF0pO2ZvcihsZXQgcz0xO3M8bi5sZW5ndGg7cysrKXtjb25zdCBhPXJbci5sZW5ndGgtMV07bGV0IG89bltzXTtpZihvLnNlcTFSYW5nZS5pc0VtcHR5fHxvLnNlcTJSYW5nZS5pc0VtcHR5KXtjb25zdCBsPW8uc2VxMVJhbmdlLnN0YXJ0LWEuc2VxMVJhbmdlLmVuZEV4Y2x1c2l2ZTtsZXQgdTtmb3IodT0xO3U8PWwmJiEoZS5nZXRFbGVtZW50KG8uc2VxMVJhbmdlLnN0YXJ0LXUpIT09ZS5nZXRFbGVtZW50KG8uc2VxMVJhbmdlLmVuZEV4Y2x1c2l2ZS11KXx8dC5nZXRFbGVtZW50KG8uc2VxMlJhbmdlLnN0YXJ0LXUpIT09dC5nZXRFbGVtZW50KG8uc2VxMlJhbmdlLmVuZEV4Y2x1c2l2ZS11KSk7dSsrKTtpZih1LS0sdT09PWwpe3Jbci5sZW5ndGgtMV09bmV3IEsobmV3IHooYS5zZXExUmFuZ2Uuc3RhcnQsby5zZXExUmFuZ2UuZW5kRXhjbHVzaXZlLWwpLG5ldyB6KGEuc2VxMlJhbmdlLnN0YXJ0LG8uc2VxMlJhbmdlLmVuZEV4Y2x1c2l2ZS1sKSk7Y29udGludWV9bz1vLmRlbHRhKC11KX1yLnB1c2gobyl9Y29uc3QgaT1bXTtmb3IobGV0IHM9MDtzPHIubGVuZ3RoLTE7cysrKXtjb25zdCBhPXJbcysxXTtsZXQgbz1yW3NdO2lmKG8uc2VxMVJhbmdlLmlzRW1wdHl8fG8uc2VxMlJhbmdlLmlzRW1wdHkpe2NvbnN0IGw9YS5zZXExUmFuZ2Uuc3RhcnQtby5zZXExUmFuZ2UuZW5kRXhjbHVzaXZlO2xldCB1O2Zvcih1PTA7dTxsJiYhKCFlLmlzU3Ryb25nbHlFcXVhbChvLnNlcTFSYW5nZS5zdGFydCt1LG8uc2VxMVJhbmdlLmVuZEV4Y2x1c2l2ZSt1KXx8IXQuaXNTdHJvbmdseUVxdWFsKG8uc2VxMlJhbmdlLnN0YXJ0K3Usby5zZXEyUmFuZ2UuZW5kRXhjbHVzaXZlK3UpKTt1KyspO2lmKHU9PT1sKXtyW3MrMV09bmV3IEsobmV3IHooby5zZXExUmFuZ2Uuc3RhcnQrbCxhLnNlcTFSYW5nZS5lbmRFeGNsdXNpdmUpLG5ldyB6KG8uc2VxMlJhbmdlLnN0YXJ0K2wsYS5zZXEyUmFuZ2UuZW5kRXhjbHVzaXZlKSk7Y29udGludWV9dT4wJiYobz1vLmRlbHRhKHUpKX1pLnB1c2gobyl9cmV0dXJuIHIubGVuZ3RoPjAmJmkucHVzaChyW3IubGVuZ3RoLTFdKSxpfWZ1bmN0aW9uIHFsKGUsdCxuKXtpZighZS5nZXRCb3VuZGFyeVNjb3JlfHwhdC5nZXRCb3VuZGFyeVNjb3JlKXJldHVybiBuO2ZvcihsZXQgcj0wO3I8bi5sZW5ndGg7cisrKXtjb25zdCBpPXI+MD9uW3ItMV06dm9pZCAwLHM9bltyXSxhPXIrMTxuLmxlbmd0aD9uW3IrMV06dm9pZCAwLG89bmV3IHooaT9pLnNlcTFSYW5nZS5lbmRFeGNsdXNpdmUrMTowLGE/YS5zZXExUmFuZ2Uuc3RhcnQtMTplLmxlbmd0aCksbD1uZXcgeihpP2kuc2VxMlJhbmdlLmVuZEV4Y2x1c2l2ZSsxOjAsYT9hLnNlcTJSYW5nZS5zdGFydC0xOnQubGVuZ3RoKTtzLnNlcTFSYW5nZS5pc0VtcHR5P25bcl09U3MocyxlLHQsbyxsKTpzLnNlcTJSYW5nZS5pc0VtcHR5JiYobltyXT1TcyhzLnN3YXAoKSx0LGUsbCxvKS5zd2FwKCkpfXJldHVybiBufWZ1bmN0aW9uIFNzKGUsdCxuLHIsaSl7bGV0IGE9MTtmb3IoO2Uuc2VxMVJhbmdlLnN0YXJ0LWE+PXIuc3RhcnQmJmUuc2VxMlJhbmdlLnN0YXJ0LWE+PWkuc3RhcnQmJm4uaXNTdHJvbmdseUVxdWFsKGUuc2VxMlJhbmdlLnN0YXJ0LWEsZS5zZXEyUmFuZ2UuZW5kRXhjbHVzaXZlLWEpJiZhPDEwMDspYSsrO2EtLTtsZXQgbz0wO2Zvcig7ZS5zZXExUmFuZ2Uuc3RhcnQrbzxyLmVuZEV4Y2x1c2l2ZSYmZS5zZXEyUmFuZ2UuZW5kRXhjbHVzaXZlK288aS5lbmRFeGNsdXNpdmUmJm4uaXNTdHJvbmdseUVxdWFsKGUuc2VxMlJhbmdlLnN0YXJ0K28sZS5zZXEyUmFuZ2UuZW5kRXhjbHVzaXZlK28pJiZvPDEwMDspbysrO2lmKGE9PT0wJiZvPT09MClyZXR1cm4gZTtsZXQgbD0wLHU9LTE7Zm9yKGxldCBmPS1hO2Y8PW87ZisrKXtjb25zdCBoPWUuc2VxMlJhbmdlLnN0YXJ0K2YsZD1lLnNlcTJSYW5nZS5lbmRFeGNsdXNpdmUrZixnPWUuc2VxMVJhbmdlLnN0YXJ0K2YsbT10LmdldEJvdW5kYXJ5U2NvcmUoZykrbi5nZXRCb3VuZGFyeVNjb3JlKGgpK24uZ2V0Qm91bmRhcnlTY29yZShkKTttPnUmJih1PW0sbD1mKX1yZXR1cm4gZS5kZWx0YShsKX1mdW5jdGlvbiBCbChlLHQsbil7Y29uc3Qgcj1bXTtmb3IoY29uc3QgaSBvZiBuKXtjb25zdCBzPXJbci5sZW5ndGgtMV07aWYoIXMpe3IucHVzaChpKTtjb250aW51ZX1pLnNlcTFSYW5nZS5zdGFydC1zLnNlcTFSYW5nZS5lbmRFeGNsdXNpdmU8PTJ8fGkuc2VxMlJhbmdlLnN0YXJ0LXMuc2VxMlJhbmdlLmVuZEV4Y2x1c2l2ZTw9Mj9yW3IubGVuZ3RoLTFdPW5ldyBLKHMuc2VxMVJhbmdlLmpvaW4oaS5zZXExUmFuZ2UpLHMuc2VxMlJhbmdlLmpvaW4oaS5zZXEyUmFuZ2UpKTpyLnB1c2goaSl9cmV0dXJuIHJ9ZnVuY3Rpb24gJGwoZSx0LG4pe2NvbnN0IHI9Sy5pbnZlcnQobixlLmxlbmd0aCksaT1bXTtsZXQgcz1uZXcgeWUoMCwwKTtmdW5jdGlvbiBhKGwsdSl7aWYobC5vZmZzZXQxPHMub2Zmc2V0MXx8bC5vZmZzZXQyPHMub2Zmc2V0MilyZXR1cm47Y29uc3QgZj1lLmZpbmRXb3JkQ29udGFpbmluZyhsLm9mZnNldDEpLGg9dC5maW5kV29yZENvbnRhaW5pbmcobC5vZmZzZXQyKTtpZighZnx8IWgpcmV0dXJuO2xldCBkPW5ldyBLKGYsaCk7Y29uc3QgZz1kLmludGVyc2VjdCh1KTtsZXQgbT1nLnNlcTFSYW5nZS5sZW5ndGgsdj1nLnNlcTJSYW5nZS5sZW5ndGg7Zm9yKDtyLmxlbmd0aD4wOyl7Y29uc3QgcD1yWzBdO2lmKCEocC5zZXExUmFuZ2UuaW50ZXJzZWN0cyhkLnNlcTFSYW5nZSl8fHAuc2VxMlJhbmdlLmludGVyc2VjdHMoZC5zZXEyUmFuZ2UpKSlicmVhaztjb25zdCB5PWUuZmluZFdvcmRDb250YWluaW5nKHAuc2VxMVJhbmdlLnN0YXJ0KSxiPXQuZmluZFdvcmRDb250YWluaW5nKHAuc2VxMlJhbmdlLnN0YXJ0KSxMPW5ldyBLKHksYiksUz1MLmludGVyc2VjdChwKTtpZihtKz1TLnNlcTFSYW5nZS5sZW5ndGgsdis9Uy5zZXEyUmFuZ2UubGVuZ3RoLGQ9ZC5qb2luKEwpLGQuc2VxMVJhbmdlLmVuZEV4Y2x1c2l2ZT49cC5zZXExUmFuZ2UuZW5kRXhjbHVzaXZlKXIuc2hpZnQoKTtlbHNlIGJyZWFrfW0rdjwoZC5zZXExUmFuZ2UubGVuZ3RoK2Quc2VxMlJhbmdlLmxlbmd0aCkqMi8zJiZpLnB1c2goZCkscz1kLmdldEVuZEV4Y2x1c2l2ZXMoKX1mb3IoO3IubGVuZ3RoPjA7KXtjb25zdCBsPXIuc2hpZnQoKTtsLnNlcTFSYW5nZS5pc0VtcHR5fHwoYShsLmdldFN0YXJ0cygpLGwpLGEobC5nZXRFbmRFeGNsdXNpdmVzKCkuZGVsdGEoLTEpLGwpKX1yZXR1cm4gV2wobixpKX1mdW5jdGlvbiBXbChlLHQpe2NvbnN0IG49W107Zm9yKDtlLmxlbmd0aD4wfHx0Lmxlbmd0aD4wOyl7Y29uc3Qgcj1lWzBdLGk9dFswXTtsZXQgcztyJiYoIWl8fHIuc2VxMVJhbmdlLnN0YXJ0PGkuc2VxMVJhbmdlLnN0YXJ0KT9zPWUuc2hpZnQoKTpzPXQuc2hpZnQoKSxuLmxlbmd0aD4wJiZuW24ubGVuZ3RoLTFdLnNlcTFSYW5nZS5lbmRFeGNsdXNpdmU+PXMuc2VxMVJhbmdlLnN0YXJ0P25bbi5sZW5ndGgtMV09bltuLmxlbmd0aC0xXS5qb2luKHMpOm4ucHVzaChzKX1yZXR1cm4gbn1mdW5jdGlvbiBIbChlLHQsbil7bGV0IHI9bjtpZihyLmxlbmd0aD09PTApcmV0dXJuIHI7bGV0IGk9MCxzO2Rve3M9ITE7Y29uc3QgYT1bclswXV07Zm9yKGxldCBvPTE7bzxyLmxlbmd0aDtvKyspe2xldCBmPWZ1bmN0aW9uKGQsZyl7Y29uc3QgbT1uZXcgeih1LnNlcTFSYW5nZS5lbmRFeGNsdXNpdmUsbC5zZXExUmFuZ2Uuc3RhcnQpO3JldHVybiBlLmdldFRleHQobSkucmVwbGFjZSgvXHMvZywiIikubGVuZ3RoPD00JiYoZC5zZXExUmFuZ2UubGVuZ3RoK2Quc2VxMlJhbmdlLmxlbmd0aD41fHxnLnNlcTFSYW5nZS5sZW5ndGgrZy5zZXEyUmFuZ2UubGVuZ3RoPjUpfTtjb25zdCBsPXJbb10sdT1hW2EubGVuZ3RoLTFdO2YodSxsKT8ocz0hMCxhW2EubGVuZ3RoLTFdPWFbYS5sZW5ndGgtMV0uam9pbihsKSk6YS5wdXNoKGwpfXI9YX13aGlsZShpKys8MTAmJnMpO3JldHVybiByfWZ1bmN0aW9uIHpsKGUsdCxuKXtsZXQgcj1uO2lmKHIubGVuZ3RoPT09MClyZXR1cm4gcjtsZXQgaT0wLHM7ZG97cz0hMTtjb25zdCBvPVtyWzBdXTtmb3IobGV0IGw9MTtsPHIubGVuZ3RoO2wrKyl7bGV0IGg9ZnVuY3Rpb24oZyxtKXtjb25zdCB2PW5ldyB6KGYuc2VxMVJhbmdlLmVuZEV4Y2x1c2l2ZSx1LnNlcTFSYW5nZS5zdGFydCk7aWYoZS5jb3VudExpbmVzSW4odik+NXx8di5sZW5ndGg+NTAwKXJldHVybiExO2NvbnN0IHg9ZS5nZXRUZXh0KHYpLnRyaW0oKTtpZih4Lmxlbmd0aD4yMHx8eC5zcGxpdCgvXHJcbnxccnxcbi8pLmxlbmd0aD4xKXJldHVybiExO2NvbnN0IHk9ZS5jb3VudExpbmVzSW4oZy5zZXExUmFuZ2UpLGI9Zy5zZXExUmFuZ2UubGVuZ3RoLEw9dC5jb3VudExpbmVzSW4oZy5zZXEyUmFuZ2UpLFM9Zy5zZXEyUmFuZ2UubGVuZ3RoLHc9ZS5jb3VudExpbmVzSW4obS5zZXExUmFuZ2UpLE49bS5zZXExUmFuZ2UubGVuZ3RoLEE9dC5jb3VudExpbmVzSW4obS5zZXEyUmFuZ2UpLFI9bS5zZXEyUmFuZ2UubGVuZ3RoLEk9Mio0MCs1MDtmdW5jdGlvbiBDKF8pe3JldHVybiBNYXRoLm1pbihfLEkpfXJldHVybiBNYXRoLnBvdyhNYXRoLnBvdyhDKHkqNDArYiksMS41KStNYXRoLnBvdyhDKEwqNDArUyksMS41KSwxLjUpK01hdGgucG93KE1hdGgucG93KEModyo0MCtOKSwxLjUpK01hdGgucG93KEMoQSo0MCtSKSwxLjUpLDEuNSk+KEkqKjEuNSkqKjEuNSoxLjN9O2NvbnN0IHU9cltsXSxmPW9bby5sZW5ndGgtMV07aChmLHUpPyhzPSEwLG9bby5sZW5ndGgtMV09b1tvLmxlbmd0aC0xXS5qb2luKHUpKTpvLnB1c2godSl9cj1vfXdoaWxlKGkrKzwxMCYmcyk7Y29uc3QgYT1bXTtyZXR1cm4gQm8ociwobyxsLHUpPT57bGV0IGY9bDtmdW5jdGlvbiBoKHgpe3JldHVybiB4Lmxlbmd0aD4wJiZ4LnRyaW0oKS5sZW5ndGg8PTMmJmwuc2VxMVJhbmdlLmxlbmd0aCtsLnNlcTJSYW5nZS5sZW5ndGg+MTAwfWNvbnN0IGQ9ZS5leHRlbmRUb0Z1bGxMaW5lcyhsLnNlcTFSYW5nZSksZz1lLmdldFRleHQobmV3IHooZC5zdGFydCxsLnNlcTFSYW5nZS5zdGFydCkpO2goZykmJihmPWYuZGVsdGFTdGFydCgtZy5sZW5ndGgpKTtjb25zdCBtPWUuZ2V0VGV4dChuZXcgeihsLnNlcTFSYW5nZS5lbmRFeGNsdXNpdmUsZC5lbmRFeGNsdXNpdmUpKTtoKG0pJiYoZj1mLmRlbHRhRW5kKG0ubGVuZ3RoKSk7Y29uc3Qgdj1LLmZyb21PZmZzZXRQYWlycyhvP28uZ2V0RW5kRXhjbHVzaXZlcygpOnllLnplcm8sdT91LmdldFN0YXJ0cygpOnllLm1heCkscD1mLmludGVyc2VjdCh2KTthLmxlbmd0aD4wJiZwLmdldFN0YXJ0cygpLmVxdWFscyhhW2EubGVuZ3RoLTFdLmdldEVuZEV4Y2x1c2l2ZXMoKSk/YVthLmxlbmd0aC0xXT1hW2EubGVuZ3RoLTFdLmpvaW4ocCk6YS5wdXNoKHApfSksYX1jbGFzcyBMc3tjb25zdHJ1Y3Rvcih0LG4pe3RoaXMudHJpbW1lZEhhc2g9dCx0aGlzLmxpbmVzPW59Z2V0RWxlbWVudCh0KXtyZXR1cm4gdGhpcy50cmltbWVkSGFzaFt0XX1nZXQgbGVuZ3RoKCl7cmV0dXJuIHRoaXMudHJpbW1lZEhhc2gubGVuZ3RofWdldEJvdW5kYXJ5U2NvcmUodCl7Y29uc3Qgbj10PT09MD8wOk5zKHRoaXMubGluZXNbdC0xXSkscj10PT09dGhpcy5saW5lcy5sZW5ndGg/MDpOcyh0aGlzLmxpbmVzW3RdKTtyZXR1cm4gMWUzLShuK3IpfWdldFRleHQodCl7cmV0dXJuIHRoaXMubGluZXMuc2xpY2UodC5zdGFydCx0LmVuZEV4Y2x1c2l2ZSkuam9pbihgCmApfWlzU3Ryb25nbHlFcXVhbCh0LG4pe3JldHVybiB0aGlzLmxpbmVzW3RdPT09dGhpcy5saW5lc1tuXX19ZnVuY3Rpb24gTnMoZSl7bGV0IHQ9MDtmb3IoO3Q8ZS5sZW5ndGgmJihlLmNoYXJDb2RlQXQodCk9PT0zMnx8ZS5jaGFyQ29kZUF0KHQpPT09OSk7KXQrKztyZXR1cm4gdH1jbGFzcyBHbHtjb25zdHJ1Y3Rvcigpe3RoaXMuZHluYW1pY1Byb2dyYW1taW5nRGlmZmluZz1uZXcgTWwsdGhpcy5teWVyc0RpZmZpbmdBbGdvcml0aG09bmV3IHBzfWNvbXB1dGVEaWZmKHQsbixyKXtpZih0Lmxlbmd0aDw9MSYmVW8odCxuLChTLHcpPT5TPT09dykpcmV0dXJuIG5ldyBmbihbXSxbXSwhMSk7aWYodC5sZW5ndGg9PT0xJiZ0WzBdLmxlbmd0aD09PTB8fG4ubGVuZ3RoPT09MSYmblswXS5sZW5ndGg9PT0wKXJldHVybiBuZXcgZm4oW25ldyBqZShuZXcgSCgxLHQubGVuZ3RoKzEpLG5ldyBIKDEsbi5sZW5ndGgrMSksW25ldyB5dChuZXcgc2UoMSwxLHQubGVuZ3RoLHRbMF0ubGVuZ3RoKzEpLG5ldyBzZSgxLDEsbi5sZW5ndGgsblswXS5sZW5ndGgrMSkpXSldLFtdLCExKTtjb25zdCBpPXIubWF4Q29tcHV0YXRpb25UaW1lTXM9PT0wP0R0Lmluc3RhbmNlOm5ldyBSbChyLm1heENvbXB1dGF0aW9uVGltZU1zKSxzPSFyLmlnbm9yZVRyaW1XaGl0ZXNwYWNlLGE9bmV3IE1hcDtmdW5jdGlvbiBvKFMpe2xldCB3PWEuZ2V0KFMpO3JldHVybiB3PT09dm9pZCAwJiYodz1hLnNpemUsYS5zZXQoUyx3KSksd31jb25zdCBsPXQubWFwKFM9Pm8oUy50cmltKCkpKSx1PW4ubWFwKFM9Pm8oUy50cmltKCkpKSxmPW5ldyBMcyhsLHQpLGg9bmV3IExzKHUsbiksZD1mLmxlbmd0aCtoLmxlbmd0aDwxNzAwP3RoaXMuZHluYW1pY1Byb2dyYW1taW5nRGlmZmluZy5jb21wdXRlKGYsaCxpLChTLHcpPT50W1NdPT09blt3XT9uW3ddLmxlbmd0aD09PTA/LjE6MStNYXRoLmxvZygxK25bd10ubGVuZ3RoKTouOTkpOnRoaXMubXllcnNEaWZmaW5nQWxnb3JpdGhtLmNvbXB1dGUoZixoKTtsZXQgZz1kLmRpZmZzLG09ZC5oaXRUaW1lb3V0O2c9X3MoZixoLGcpLGc9SGwoZixoLGcpO2NvbnN0IHY9W10scD1TPT57aWYocylmb3IobGV0IHc9MDt3PFM7dysrKXtjb25zdCBOPXgrdyxBPXkrdztpZih0W05dIT09bltBXSl7Y29uc3QgUj10aGlzLnJlZmluZURpZmYodCxuLG5ldyBLKG5ldyB6KE4sTisxKSxuZXcgeihBLEErMSkpLGkscyk7Zm9yKGNvbnN0IEkgb2YgUi5tYXBwaW5ncyl2LnB1c2goSSk7Ui5oaXRUaW1lb3V0JiYobT0hMCl9fX07bGV0IHg9MCx5PTA7Zm9yKGNvbnN0IFMgb2YgZyl7Y24oKCk9PlMuc2VxMVJhbmdlLnN0YXJ0LXg9PT1TLnNlcTJSYW5nZS5zdGFydC15KTtjb25zdCB3PVMuc2VxMVJhbmdlLnN0YXJ0LXg7cCh3KSx4PVMuc2VxMVJhbmdlLmVuZEV4Y2x1c2l2ZSx5PVMuc2VxMlJhbmdlLmVuZEV4Y2x1c2l2ZTtjb25zdCBOPXRoaXMucmVmaW5lRGlmZih0LG4sUyxpLHMpO04uaGl0VGltZW91dCYmKG09ITApO2Zvcihjb25zdCBBIG9mIE4ubWFwcGluZ3Mpdi5wdXNoKEEpfXAodC5sZW5ndGgteCk7Y29uc3QgYj1Bcyh2LHQsbik7bGV0IEw9W107cmV0dXJuIHIuY29tcHV0ZU1vdmVzJiYoTD10aGlzLmNvbXB1dGVNb3ZlcyhiLHQsbixsLHUsaSxzKSksY24oKCk9PntmdW5jdGlvbiBTKE4sQSl7aWYoTi5saW5lTnVtYmVyPDF8fE4ubGluZU51bWJlcj5BLmxlbmd0aClyZXR1cm4hMTtjb25zdCBSPUFbTi5saW5lTnVtYmVyLTFdO3JldHVybiEoTi5jb2x1bW48MXx8Ti5jb2x1bW4+Ui5sZW5ndGgrMSl9ZnVuY3Rpb24gdyhOLEEpe3JldHVybiEoTi5zdGFydExpbmVOdW1iZXI8MXx8Ti5zdGFydExpbmVOdW1iZXI+QS5sZW5ndGgrMXx8Ti5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlPDF8fE4uZW5kTGluZU51bWJlckV4Y2x1c2l2ZT5BLmxlbmd0aCsxKX1mb3IoY29uc3QgTiBvZiBiKXtpZighTi5pbm5lckNoYW5nZXMpcmV0dXJuITE7Zm9yKGNvbnN0IEEgb2YgTi5pbm5lckNoYW5nZXMpaWYoIShTKEEubW9kaWZpZWRSYW5nZS5nZXRTdGFydFBvc2l0aW9uKCksbikmJlMoQS5tb2RpZmllZFJhbmdlLmdldEVuZFBvc2l0aW9uKCksbikmJlMoQS5vcmlnaW5hbFJhbmdlLmdldFN0YXJ0UG9zaXRpb24oKSx0KSYmUyhBLm9yaWdpbmFsUmFuZ2UuZ2V0RW5kUG9zaXRpb24oKSx0KSkpcmV0dXJuITE7aWYoIXcoTi5tb2RpZmllZCxuKXx8IXcoTi5vcmlnaW5hbCx0KSlyZXR1cm4hMX1yZXR1cm4hMH0pLG5ldyBmbihiLEwsbSl9Y29tcHV0ZU1vdmVzKHQsbixyLGkscyxhLG8pe3JldHVybiBJbCh0LG4scixpLHMsYSkubWFwKGY9Pntjb25zdCBoPXRoaXMucmVmaW5lRGlmZihuLHIsbmV3IEsoZi5vcmlnaW5hbC50b09mZnNldFJhbmdlKCksZi5tb2RpZmllZC50b09mZnNldFJhbmdlKCkpLGEsbyksZD1BcyhoLm1hcHBpbmdzLG4sciwhMCk7cmV0dXJuIG5ldyBTbChmLGQpfSl9cmVmaW5lRGlmZih0LG4scixpLHMpe2NvbnN0IGE9bmV3IGhuKHQsci5zZXExUmFuZ2Uscyksbz1uZXcgaG4obixyLnNlcTJSYW5nZSxzKSxsPWEubGVuZ3RoK28ubGVuZ3RoPDUwMD90aGlzLmR5bmFtaWNQcm9ncmFtbWluZ0RpZmZpbmcuY29tcHV0ZShhLG8saSk6dGhpcy5teWVyc0RpZmZpbmdBbGdvcml0aG0uY29tcHV0ZShhLG8saSk7bGV0IHU9bC5kaWZmcztyZXR1cm4gdT1fcyhhLG8sdSksdT0kbChhLG8sdSksdT1CbChhLG8sdSksdT16bChhLG8sdSkse21hcHBpbmdzOnUubWFwKGg9Pm5ldyB5dChhLnRyYW5zbGF0ZVJhbmdlKGguc2VxMVJhbmdlKSxvLnRyYW5zbGF0ZVJhbmdlKGguc2VxMlJhbmdlKSkpLGhpdFRpbWVvdXQ6bC5oaXRUaW1lb3V0fX19ZnVuY3Rpb24gQXMoZSx0LG4scj0hMSl7Y29uc3QgaT1bXTtmb3IoY29uc3QgcyBvZiBqbyhlLm1hcChhPT5KbChhLHQsbikpLChhLG8pPT5hLm9yaWdpbmFsLm92ZXJsYXBPclRvdWNoKG8ub3JpZ2luYWwpfHxhLm1vZGlmaWVkLm92ZXJsYXBPclRvdWNoKG8ubW9kaWZpZWQpKSl7Y29uc3QgYT1zWzBdLG89c1tzLmxlbmd0aC0xXTtpLnB1c2gobmV3IGplKGEub3JpZ2luYWwuam9pbihvLm9yaWdpbmFsKSxhLm1vZGlmaWVkLmpvaW4oby5tb2RpZmllZCkscy5tYXAobD0+bC5pbm5lckNoYW5nZXNbMF0pKSl9cmV0dXJuIGNuKCgpPT4hciYmaS5sZW5ndGg+MCYmKGlbMF0ubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyIT09aVswXS5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXJ8fG4ubGVuZ3RoLWlbaS5sZW5ndGgtMV0ubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSE9PXQubGVuZ3RoLWlbaS5sZW5ndGgtMV0ub3JpZ2luYWwuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSk/ITE6Y3MoaSwocyxhKT0+YS5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXItcy5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlPT09YS5tb2RpZmllZC5zdGFydExpbmVOdW1iZXItcy5tb2RpZmllZC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlJiZzLm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU8YS5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXImJnMubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZTxhLm1vZGlmaWVkLnN0YXJ0TGluZU51bWJlcikpLGl9ZnVuY3Rpb24gSmwoZSx0LG4pe2xldCByPTAsaT0wO2UubW9kaWZpZWRSYW5nZS5lbmRDb2x1bW49PT0xJiZlLm9yaWdpbmFsUmFuZ2UuZW5kQ29sdW1uPT09MSYmZS5vcmlnaW5hbFJhbmdlLnN0YXJ0TGluZU51bWJlcityPD1lLm9yaWdpbmFsUmFuZ2UuZW5kTGluZU51bWJlciYmZS5tb2RpZmllZFJhbmdlLnN0YXJ0TGluZU51bWJlcityPD1lLm1vZGlmaWVkUmFuZ2UuZW5kTGluZU51bWJlciYmKGk9LTEpLGUubW9kaWZpZWRSYW5nZS5zdGFydENvbHVtbi0xPj1uW2UubW9kaWZpZWRSYW5nZS5zdGFydExpbmVOdW1iZXItMV0ubGVuZ3RoJiZlLm9yaWdpbmFsUmFuZ2Uuc3RhcnRDb2x1bW4tMT49dFtlLm9yaWdpbmFsUmFuZ2Uuc3RhcnRMaW5lTnVtYmVyLTFdLmxlbmd0aCYmZS5vcmlnaW5hbFJhbmdlLnN0YXJ0TGluZU51bWJlcjw9ZS5vcmlnaW5hbFJhbmdlLmVuZExpbmVOdW1iZXIraSYmZS5tb2RpZmllZFJhbmdlLnN0YXJ0TGluZU51bWJlcjw9ZS5tb2RpZmllZFJhbmdlLmVuZExpbmVOdW1iZXIraSYmKHI9MSk7Y29uc3Qgcz1uZXcgSChlLm9yaWdpbmFsUmFuZ2Uuc3RhcnRMaW5lTnVtYmVyK3IsZS5vcmlnaW5hbFJhbmdlLmVuZExpbmVOdW1iZXIrMStpKSxhPW5ldyBIKGUubW9kaWZpZWRSYW5nZS5zdGFydExpbmVOdW1iZXIrcixlLm1vZGlmaWVkUmFuZ2UuZW5kTGluZU51bWJlcisxK2kpO3JldHVybiBuZXcgamUocyxhLFtlXSl9Y29uc3QgQ3M9e2dldExlZ2FjeTooKT0+bmV3IEFsLGdldERlZmF1bHQ6KCk9Pm5ldyBHbH07ZnVuY3Rpb24gWWUoZSx0KXtjb25zdCBuPU1hdGgucG93KDEwLHQpO3JldHVybiBNYXRoLnJvdW5kKGUqbikvbn1jbGFzcyBhZXtjb25zdHJ1Y3Rvcih0LG4scixpPTEpe3RoaXMuX3JnYmFCcmFuZD12b2lkIDAsdGhpcy5yPU1hdGgubWluKDI1NSxNYXRoLm1heCgwLHQpKXwwLHRoaXMuZz1NYXRoLm1pbigyNTUsTWF0aC5tYXgoMCxuKSl8MCx0aGlzLmI9TWF0aC5taW4oMjU1LE1hdGgubWF4KDAscikpfDAsdGhpcy5hPVllKE1hdGgubWF4KE1hdGgubWluKDEsaSksMCksMyl9c3RhdGljIGVxdWFscyh0LG4pe3JldHVybiB0LnI9PT1uLnImJnQuZz09PW4uZyYmdC5iPT09bi5iJiZ0LmE9PT1uLmF9fWNsYXNzIExle2NvbnN0cnVjdG9yKHQsbixyLGkpe3RoaXMuX2hzbGFCcmFuZD12b2lkIDAsdGhpcy5oPU1hdGgubWF4KE1hdGgubWluKDM2MCx0KSwwKXwwLHRoaXMucz1ZZShNYXRoLm1heChNYXRoLm1pbigxLG4pLDApLDMpLHRoaXMubD1ZZShNYXRoLm1heChNYXRoLm1pbigxLHIpLDApLDMpLHRoaXMuYT1ZZShNYXRoLm1heChNYXRoLm1pbigxLGkpLDApLDMpfXN0YXRpYyBlcXVhbHModCxuKXtyZXR1cm4gdC5oPT09bi5oJiZ0LnM9PT1uLnMmJnQubD09PW4ubCYmdC5hPT09bi5hfXN0YXRpYyBmcm9tUkdCQSh0KXtjb25zdCBuPXQuci8yNTUscj10LmcvMjU1LGk9dC5iLzI1NSxzPXQuYSxhPU1hdGgubWF4KG4scixpKSxvPU1hdGgubWluKG4scixpKTtsZXQgbD0wLHU9MDtjb25zdCBmPShvK2EpLzIsaD1hLW87aWYoaD4wKXtzd2l0Y2godT1NYXRoLm1pbihmPD0uNT9oLygyKmYpOmgvKDItMipmKSwxKSxhKXtjYXNlIG46bD0oci1pKS9oKyhyPGk/NjowKTticmVhaztjYXNlIHI6bD0oaS1uKS9oKzI7YnJlYWs7Y2FzZSBpOmw9KG4tcikvaCs0O2JyZWFrfWwqPTYwLGw9TWF0aC5yb3VuZChsKX1yZXR1cm4gbmV3IExlKGwsdSxmLHMpfXN0YXRpYyBfaHVlMnJnYih0LG4scil7cmV0dXJuIHI8MCYmKHIrPTEpLHI+MSYmKHItPTEpLHI8MS82P3QrKG4tdCkqNipyOnI8MS8yP246cjwyLzM/dCsobi10KSooMi8zLXIpKjY6dH1zdGF0aWMgdG9SR0JBKHQpe2NvbnN0IG49dC5oLzM2MCx7czpyLGw6aSxhOnN9PXQ7bGV0IGEsbyxsO2lmKHI9PT0wKWE9bz1sPWk7ZWxzZXtjb25zdCB1PWk8LjU/aSooMStyKTppK3ItaSpyLGY9MippLXU7YT1MZS5faHVlMnJnYihmLHUsbisxLzMpLG89TGUuX2h1ZTJyZ2IoZix1LG4pLGw9TGUuX2h1ZTJyZ2IoZix1LG4tMS8zKX1yZXR1cm4gbmV3IGFlKE1hdGgucm91bmQoYSoyNTUpLE1hdGgucm91bmQobyoyNTUpLE1hdGgucm91bmQobCoyNTUpLHMpfX1jbGFzcyBTdHtjb25zdHJ1Y3Rvcih0LG4scixpKXt0aGlzLl9oc3ZhQnJhbmQ9dm9pZCAwLHRoaXMuaD1NYXRoLm1heChNYXRoLm1pbigzNjAsdCksMCl8MCx0aGlzLnM9WWUoTWF0aC5tYXgoTWF0aC5taW4oMSxuKSwwKSwzKSx0aGlzLnY9WWUoTWF0aC5tYXgoTWF0aC5taW4oMSxyKSwwKSwzKSx0aGlzLmE9WWUoTWF0aC5tYXgoTWF0aC5taW4oMSxpKSwwKSwzKX1zdGF0aWMgZXF1YWxzKHQsbil7cmV0dXJuIHQuaD09PW4uaCYmdC5zPT09bi5zJiZ0LnY9PT1uLnYmJnQuYT09PW4uYX1zdGF0aWMgZnJvbVJHQkEodCl7Y29uc3Qgbj10LnIvMjU1LHI9dC5nLzI1NSxpPXQuYi8yNTUscz1NYXRoLm1heChuLHIsaSksYT1NYXRoLm1pbihuLHIsaSksbz1zLWEsbD1zPT09MD8wOm8vcztsZXQgdTtyZXR1cm4gbz09PTA/dT0wOnM9PT1uP3U9KChyLWkpL28lNis2KSU2OnM9PT1yP3U9KGktbikvbysyOnU9KG4tcikvbys0LG5ldyBTdChNYXRoLnJvdW5kKHUqNjApLGwscyx0LmEpfXN0YXRpYyB0b1JHQkEodCl7Y29uc3R7aDpuLHM6cix2OmksYTpzfT10LGE9aSpyLG89YSooMS1NYXRoLmFicyhuLzYwJTItMSkpLGw9aS1hO2xldFt1LGYsaF09WzAsMCwwXTtyZXR1cm4gbjw2MD8odT1hLGY9byk6bjwxMjA/KHU9byxmPWEpOm48MTgwPyhmPWEsaD1vKTpuPDI0MD8oZj1vLGg9YSk6bjwzMDA/KHU9byxoPWEpOm48PTM2MCYmKHU9YSxoPW8pLHU9TWF0aC5yb3VuZCgodStsKSoyNTUpLGY9TWF0aC5yb3VuZCgoZitsKSoyNTUpLGg9TWF0aC5yb3VuZCgoaCtsKSoyNTUpLG5ldyBhZSh1LGYsaCxzKX19bGV0IHJlPWNsYXNzIE5le3N0YXRpYyBmcm9tSGV4KHQpe3JldHVybiBOZS5Gb3JtYXQuQ1NTLnBhcnNlSGV4KHQpfHxOZS5yZWR9c3RhdGljIGVxdWFscyh0LG4pe3JldHVybiF0JiYhbj8hMDohdHx8IW4/ITE6dC5lcXVhbHMobil9Z2V0IGhzbGEoKXtyZXR1cm4gdGhpcy5faHNsYT90aGlzLl9oc2xhOkxlLmZyb21SR0JBKHRoaXMucmdiYSl9Z2V0IGhzdmEoKXtyZXR1cm4gdGhpcy5faHN2YT90aGlzLl9oc3ZhOlN0LmZyb21SR0JBKHRoaXMucmdiYSl9Y29uc3RydWN0b3IodCl7aWYodClpZih0IGluc3RhbmNlb2YgYWUpdGhpcy5yZ2JhPXQ7ZWxzZSBpZih0IGluc3RhbmNlb2YgTGUpdGhpcy5faHNsYT10LHRoaXMucmdiYT1MZS50b1JHQkEodCk7ZWxzZSBpZih0IGluc3RhbmNlb2YgU3QpdGhpcy5faHN2YT10LHRoaXMucmdiYT1TdC50b1JHQkEodCk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgY29sb3IgY3RvciBhcmd1bWVudCIpO2Vsc2UgdGhyb3cgbmV3IEVycm9yKCJDb2xvciBuZWVkcyBhIHZhbHVlIil9ZXF1YWxzKHQpe3JldHVybiEhdCYmYWUuZXF1YWxzKHRoaXMucmdiYSx0LnJnYmEpJiZMZS5lcXVhbHModGhpcy5oc2xhLHQuaHNsYSkmJlN0LmVxdWFscyh0aGlzLmhzdmEsdC5oc3ZhKX1nZXRSZWxhdGl2ZUx1bWluYW5jZSgpe2NvbnN0IHQ9TmUuX3JlbGF0aXZlTHVtaW5hbmNlRm9yQ29tcG9uZW50KHRoaXMucmdiYS5yKSxuPU5lLl9yZWxhdGl2ZUx1bWluYW5jZUZvckNvbXBvbmVudCh0aGlzLnJnYmEuZykscj1OZS5fcmVsYXRpdmVMdW1pbmFuY2VGb3JDb21wb25lbnQodGhpcy5yZ2JhLmIpLGk9LjIxMjYqdCsuNzE1MipuKy4wNzIyKnI7cmV0dXJuIFllKGksNCl9c3RhdGljIF9yZWxhdGl2ZUx1bWluYW5jZUZvckNvbXBvbmVudCh0KXtjb25zdCBuPXQvMjU1O3JldHVybiBuPD0uMDM5Mjg/bi8xMi45MjpNYXRoLnBvdygobisuMDU1KS8xLjA1NSwyLjQpfWlzTGlnaHRlcigpe3JldHVybih0aGlzLnJnYmEucioyOTkrdGhpcy5yZ2JhLmcqNTg3K3RoaXMucmdiYS5iKjExNCkvMWUzPj0xMjh9aXNMaWdodGVyVGhhbih0KXtjb25zdCBuPXRoaXMuZ2V0UmVsYXRpdmVMdW1pbmFuY2UoKSxyPXQuZ2V0UmVsYXRpdmVMdW1pbmFuY2UoKTtyZXR1cm4gbj5yfWlzRGFya2VyVGhhbih0KXtjb25zdCBuPXRoaXMuZ2V0UmVsYXRpdmVMdW1pbmFuY2UoKSxyPXQuZ2V0UmVsYXRpdmVMdW1pbmFuY2UoKTtyZXR1cm4gbjxyfWxpZ2h0ZW4odCl7cmV0dXJuIG5ldyBOZShuZXcgTGUodGhpcy5oc2xhLmgsdGhpcy5oc2xhLnMsdGhpcy5oc2xhLmwrdGhpcy5oc2xhLmwqdCx0aGlzLmhzbGEuYSkpfWRhcmtlbih0KXtyZXR1cm4gbmV3IE5lKG5ldyBMZSh0aGlzLmhzbGEuaCx0aGlzLmhzbGEucyx0aGlzLmhzbGEubC10aGlzLmhzbGEubCp0LHRoaXMuaHNsYS5hKSl9dHJhbnNwYXJlbnQodCl7Y29uc3R7cjpuLGc6cixiOmksYTpzfT10aGlzLnJnYmE7cmV0dXJuIG5ldyBOZShuZXcgYWUobixyLGkscyp0KSl9aXNUcmFuc3BhcmVudCgpe3JldHVybiB0aGlzLnJnYmEuYT09PTB9aXNPcGFxdWUoKXtyZXR1cm4gdGhpcy5yZ2JhLmE9PT0xfW9wcG9zaXRlKCl7cmV0dXJuIG5ldyBOZShuZXcgYWUoMjU1LXRoaXMucmdiYS5yLDI1NS10aGlzLnJnYmEuZywyNTUtdGhpcy5yZ2JhLmIsdGhpcy5yZ2JhLmEpKX1tYWtlT3BhcXVlKHQpe2lmKHRoaXMuaXNPcGFxdWUoKXx8dC5yZ2JhLmEhPT0xKXJldHVybiB0aGlzO2NvbnN0e3I6bixnOnIsYjppLGE6c309dGhpcy5yZ2JhO3JldHVybiBuZXcgTmUobmV3IGFlKHQucmdiYS5yLXMqKHQucmdiYS5yLW4pLHQucmdiYS5nLXMqKHQucmdiYS5nLXIpLHQucmdiYS5iLXMqKHQucmdiYS5iLWkpLDEpKX10b1N0cmluZygpe3JldHVybiB0aGlzLl90b1N0cmluZ3x8KHRoaXMuX3RvU3RyaW5nPU5lLkZvcm1hdC5DU1MuZm9ybWF0KHRoaXMpKSx0aGlzLl90b1N0cmluZ31zdGF0aWMgZ2V0TGlnaHRlckNvbG9yKHQsbixyKXtpZih0LmlzTGlnaHRlclRoYW4obikpcmV0dXJuIHQ7cj1yfHwuNTtjb25zdCBpPXQuZ2V0UmVsYXRpdmVMdW1pbmFuY2UoKSxzPW4uZ2V0UmVsYXRpdmVMdW1pbmFuY2UoKTtyZXR1cm4gcj1yKihzLWkpL3MsdC5saWdodGVuKHIpfXN0YXRpYyBnZXREYXJrZXJDb2xvcih0LG4scil7aWYodC5pc0RhcmtlclRoYW4obikpcmV0dXJuIHQ7cj1yfHwuNTtjb25zdCBpPXQuZ2V0UmVsYXRpdmVMdW1pbmFuY2UoKSxzPW4uZ2V0UmVsYXRpdmVMdW1pbmFuY2UoKTtyZXR1cm4gcj1yKihpLXMpL2ksdC5kYXJrZW4ocil9fTtyZS53aGl0ZT1uZXcgcmUobmV3IGFlKDI1NSwyNTUsMjU1LDEpKSxyZS5ibGFjaz1uZXcgcmUobmV3IGFlKDAsMCwwLDEpKSxyZS5yZWQ9bmV3IHJlKG5ldyBhZSgyNTUsMCwwLDEpKSxyZS5ibHVlPW5ldyByZShuZXcgYWUoMCwwLDI1NSwxKSkscmUuZ3JlZW49bmV3IHJlKG5ldyBhZSgwLDI1NSwwLDEpKSxyZS5jeWFuPW5ldyByZShuZXcgYWUoMCwyNTUsMjU1LDEpKSxyZS5saWdodGdyZXk9bmV3IHJlKG5ldyBhZSgyMTEsMjExLDIxMSwxKSkscmUudHJhbnNwYXJlbnQ9bmV3IHJlKG5ldyBhZSgwLDAsMCwwKSksZnVuY3Rpb24oZSl7KGZ1bmN0aW9uKHQpeyhmdW5jdGlvbihuKXtmdW5jdGlvbiByKGcpe3JldHVybiBnLnJnYmEuYT09PTE/YHJnYigke2cucmdiYS5yfSwgJHtnLnJnYmEuZ30sICR7Zy5yZ2JhLmJ9KWA6ZS5Gb3JtYXQuQ1NTLmZvcm1hdFJHQkEoZyl9bi5mb3JtYXRSR0I9cjtmdW5jdGlvbiBpKGcpe3JldHVybmByZ2JhKCR7Zy5yZ2JhLnJ9LCAke2cucmdiYS5nfSwgJHtnLnJnYmEuYn0sICR7K2cucmdiYS5hLnRvRml4ZWQoMil9KWB9bi5mb3JtYXRSR0JBPWk7ZnVuY3Rpb24gcyhnKXtyZXR1cm4gZy5oc2xhLmE9PT0xP2Boc2woJHtnLmhzbGEuaH0sICR7KGcuaHNsYS5zKjEwMCkudG9GaXhlZCgyKX0lLCAkeyhnLmhzbGEubCoxMDApLnRvRml4ZWQoMil9JSlgOmUuRm9ybWF0LkNTUy5mb3JtYXRIU0xBKGcpfW4uZm9ybWF0SFNMPXM7ZnVuY3Rpb24gYShnKXtyZXR1cm5gaHNsYSgke2cuaHNsYS5ofSwgJHsoZy5oc2xhLnMqMTAwKS50b0ZpeGVkKDIpfSUsICR7KGcuaHNsYS5sKjEwMCkudG9GaXhlZCgyKX0lLCAke2cuaHNsYS5hLnRvRml4ZWQoMil9KWB9bi5mb3JtYXRIU0xBPWE7ZnVuY3Rpb24gbyhnKXtjb25zdCBtPWcudG9TdHJpbmcoMTYpO3JldHVybiBtLmxlbmd0aCE9PTI/IjAiK206bX1mdW5jdGlvbiBsKGcpe3JldHVybmAjJHtvKGcucmdiYS5yKX0ke28oZy5yZ2JhLmcpfSR7byhnLnJnYmEuYil9YH1uLmZvcm1hdEhleD1sO2Z1bmN0aW9uIHUoZyxtPSExKXtyZXR1cm4gbSYmZy5yZ2JhLmE9PT0xP2UuRm9ybWF0LkNTUy5mb3JtYXRIZXgoZyk6YCMke28oZy5yZ2JhLnIpfSR7byhnLnJnYmEuZyl9JHtvKGcucmdiYS5iKX0ke28oTWF0aC5yb3VuZChnLnJnYmEuYSoyNTUpKX1gfW4uZm9ybWF0SGV4QT11O2Z1bmN0aW9uIGYoZyl7cmV0dXJuIGcuaXNPcGFxdWUoKT9lLkZvcm1hdC5DU1MuZm9ybWF0SGV4KGcpOmUuRm9ybWF0LkNTUy5mb3JtYXRSR0JBKGcpfW4uZm9ybWF0PWY7ZnVuY3Rpb24gaChnKXtjb25zdCBtPWcubGVuZ3RoO2lmKG09PT0wfHxnLmNoYXJDb2RlQXQoMCkhPT0zNSlyZXR1cm4gbnVsbDtpZihtPT09Nyl7Y29uc3Qgdj0xNipkKGcuY2hhckNvZGVBdCgxKSkrZChnLmNoYXJDb2RlQXQoMikpLHA9MTYqZChnLmNoYXJDb2RlQXQoMykpK2QoZy5jaGFyQ29kZUF0KDQpKSx4PTE2KmQoZy5jaGFyQ29kZUF0KDUpKStkKGcuY2hhckNvZGVBdCg2KSk7cmV0dXJuIG5ldyBlKG5ldyBhZSh2LHAseCwxKSl9aWYobT09PTkpe2NvbnN0IHY9MTYqZChnLmNoYXJDb2RlQXQoMSkpK2QoZy5jaGFyQ29kZUF0KDIpKSxwPTE2KmQoZy5jaGFyQ29kZUF0KDMpKStkKGcuY2hhckNvZGVBdCg0KSkseD0xNipkKGcuY2hhckNvZGVBdCg1KSkrZChnLmNoYXJDb2RlQXQoNikpLHk9MTYqZChnLmNoYXJDb2RlQXQoNykpK2QoZy5jaGFyQ29kZUF0KDgpKTtyZXR1cm4gbmV3IGUobmV3IGFlKHYscCx4LHkvMjU1KSl9aWYobT09PTQpe2NvbnN0IHY9ZChnLmNoYXJDb2RlQXQoMSkpLHA9ZChnLmNoYXJDb2RlQXQoMikpLHg9ZChnLmNoYXJDb2RlQXQoMykpO3JldHVybiBuZXcgZShuZXcgYWUoMTYqdit2LDE2KnArcCwxNip4K3gpKX1pZihtPT09NSl7Y29uc3Qgdj1kKGcuY2hhckNvZGVBdCgxKSkscD1kKGcuY2hhckNvZGVBdCgyKSkseD1kKGcuY2hhckNvZGVBdCgzKSkseT1kKGcuY2hhckNvZGVBdCg0KSk7cmV0dXJuIG5ldyBlKG5ldyBhZSgxNip2K3YsMTYqcCtwLDE2KngreCwoMTYqeSt5KS8yNTUpKX1yZXR1cm4gbnVsbH1uLnBhcnNlSGV4PWg7ZnVuY3Rpb24gZChnKXtzd2l0Y2goZyl7Y2FzZSA0ODpyZXR1cm4gMDtjYXNlIDQ5OnJldHVybiAxO2Nhc2UgNTA6cmV0dXJuIDI7Y2FzZSA1MTpyZXR1cm4gMztjYXNlIDUyOnJldHVybiA0O2Nhc2UgNTM6cmV0dXJuIDU7Y2FzZSA1NDpyZXR1cm4gNjtjYXNlIDU1OnJldHVybiA3O2Nhc2UgNTY6cmV0dXJuIDg7Y2FzZSA1NzpyZXR1cm4gOTtjYXNlIDk3OnJldHVybiAxMDtjYXNlIDY1OnJldHVybiAxMDtjYXNlIDk4OnJldHVybiAxMTtjYXNlIDY2OnJldHVybiAxMTtjYXNlIDk5OnJldHVybiAxMjtjYXNlIDY3OnJldHVybiAxMjtjYXNlIDEwMDpyZXR1cm4gMTM7Y2FzZSA2ODpyZXR1cm4gMTM7Y2FzZSAxMDE6cmV0dXJuIDE0O2Nhc2UgNjk6cmV0dXJuIDE0O2Nhc2UgMTAyOnJldHVybiAxNTtjYXNlIDcwOnJldHVybiAxNX1yZXR1cm4gMH19KSh0LkNTU3x8KHQuQ1NTPXt9KSl9KShlLkZvcm1hdHx8KGUuRm9ybWF0PXt9KSl9KHJlfHwocmU9e30pKTtmdW5jdGlvbiBrcyhlKXtjb25zdCB0PVtdO2Zvcihjb25zdCBuIG9mIGUpe2NvbnN0IHI9TnVtYmVyKG4pOyhyfHxyPT09MCYmbi5yZXBsYWNlKC9ccy9nLCIiKSE9PSIiKSYmdC5wdXNoKHIpfXJldHVybiB0fWZ1bmN0aW9uIGxyKGUsdCxuLHIpe3JldHVybntyZWQ6ZS8yNTUsYmx1ZTpuLzI1NSxncmVlbjp0LzI1NSxhbHBoYTpyfX1mdW5jdGlvbiBWdChlLHQpe2NvbnN0IG49dC5pbmRleCxyPXRbMF0ubGVuZ3RoO2lmKCFuKXJldHVybjtjb25zdCBpPWUucG9zaXRpb25BdChuKTtyZXR1cm57c3RhcnRMaW5lTnVtYmVyOmkubGluZU51bWJlcixzdGFydENvbHVtbjppLmNvbHVtbixlbmRMaW5lTnVtYmVyOmkubGluZU51bWJlcixlbmRDb2x1bW46aS5jb2x1bW4rcn19ZnVuY3Rpb24gWGwoZSx0KXtpZighZSlyZXR1cm47Y29uc3Qgbj1yZS5Gb3JtYXQuQ1NTLnBhcnNlSGV4KHQpO2lmKG4pcmV0dXJue3JhbmdlOmUsY29sb3I6bHIobi5yZ2JhLnIsbi5yZ2JhLmcsbi5yZ2JhLmIsbi5yZ2JhLmEpfX1mdW5jdGlvbiBFcyhlLHQsbil7aWYoIWV8fHQubGVuZ3RoIT09MSlyZXR1cm47Y29uc3QgaT10WzBdLnZhbHVlcygpLHM9a3MoaSk7cmV0dXJue3JhbmdlOmUsY29sb3I6bHIoc1swXSxzWzFdLHNbMl0sbj9zWzNdOjEpfX1mdW5jdGlvbiBScyhlLHQsbil7aWYoIWV8fHQubGVuZ3RoIT09MSlyZXR1cm47Y29uc3QgaT10WzBdLnZhbHVlcygpLHM9a3MoaSksYT1uZXcgcmUobmV3IExlKHNbMF0sc1sxXS8xMDAsc1syXS8xMDAsbj9zWzNdOjEpKTtyZXR1cm57cmFuZ2U6ZSxjb2xvcjpscihhLnJnYmEucixhLnJnYmEuZyxhLnJnYmEuYixhLnJnYmEuYSl9fWZ1bmN0aW9uIE90KGUsdCl7cmV0dXJuIHR5cGVvZiBlPT0ic3RyaW5nIj9bLi4uZS5tYXRjaEFsbCh0KV06ZS5maW5kTWF0Y2hlcyh0KX1mdW5jdGlvbiBRbChlKXtjb25zdCB0PVtdLHI9T3QoZSwvXGIocmdifHJnYmF8aHNsfGhzbGEpKFwoWzAtOVxzLC5cJV0qXCkpfCgjKShbQS1GYS1mMC05XXszfSlcYnwoIykoW0EtRmEtZjAtOV17NH0pXGJ8KCMpKFtBLUZhLWYwLTldezZ9KVxifCgjKShbQS1GYS1mMC05XXs4fSlcYi9nbSk7aWYoci5sZW5ndGg+MClmb3IoY29uc3QgaSBvZiByKXtjb25zdCBzPWkuZmlsdGVyKHU9PnUhPT12b2lkIDApLGE9c1sxXSxvPXNbMl07aWYoIW8pY29udGludWU7bGV0IGw7aWYoYT09PSJyZ2IiKXtjb25zdCB1PS9eXChccyooMjVbMC01XXwyWzAtNF1bMC05XXwxWzAtOV17Mn18WzEtOV1bMC05XXxbMC05XSlccyosXHMqKDI1WzAtNV18MlswLTRdWzAtOV18MVswLTldezJ9fFsxLTldWzAtOV18WzAtOV0pXHMqLFxzKigyNVswLTVdfDJbMC00XVswLTldfDFbMC05XXsyfXxbMS05XVswLTldfFswLTldKVxzKlwpJC9nbTtsPUVzKFZ0KGUsaSksT3Qobyx1KSwhMSl9ZWxzZSBpZihhPT09InJnYmEiKXtjb25zdCB1PS9eXChccyooMjVbMC01XXwyWzAtNF1bMC05XXwxWzAtOV17Mn18WzEtOV1bMC05XXxbMC05XSlccyosXHMqKDI1WzAtNV18MlswLTRdWzAtOV18MVswLTldezJ9fFsxLTldWzAtOV18WzAtOV0pXHMqLFxzKigyNVswLTVdfDJbMC00XVswLTldfDFbMC05XXsyfXxbMS05XVswLTldfFswLTldKVxzKixccyooMFsuXVswLTldK3xbLl1bMC05XSt8WzAxXVsuXXxbMDFdKVxzKlwpJC9nbTtsPUVzKFZ0KGUsaSksT3Qobyx1KSwhMCl9ZWxzZSBpZihhPT09ImhzbCIpe2NvbnN0IHU9L15cKFxzKigzNlswXXwzWzAtNV1bMC05XXxbMTJdWzAtOV1bMC05XXxbMS05XT9bMC05XSlccyosXHMqKDEwMHxcZHsxLDJ9Wy5dXGQqfFxkezEsMn0pJVxzKixccyooMTAwfFxkezEsMn1bLl1cZCp8XGR7MSwyfSklXHMqXCkkL2dtO2w9UnMoVnQoZSxpKSxPdChvLHUpLCExKX1lbHNlIGlmKGE9PT0iaHNsYSIpe2NvbnN0IHU9L15cKFxzKigzNlswXXwzWzAtNV1bMC05XXxbMTJdWzAtOV1bMC05XXxbMS05XT9bMC05XSlccyosXHMqKDEwMHxcZHsxLDJ9Wy5dXGQqfFxkezEsMn0pJVxzKixccyooMTAwfFxkezEsMn1bLl1cZCp8XGR7MSwyfSklXHMqLFxzKigwWy5dWzAtOV0rfFsuXVswLTldK3xbMDFdWy5dfFswMV0pXHMqXCkkL2dtO2w9UnMoVnQoZSxpKSxPdChvLHUpLCEwKX1lbHNlIGE9PT0iIyImJihsPVhsKFZ0KGUsaSksYStvKSk7bCYmdC5wdXNoKGwpfXJldHVybiB0fWZ1bmN0aW9uIFpsKGUpe3JldHVybiFlfHx0eXBlb2YgZS5nZXRWYWx1ZSE9ImZ1bmN0aW9uInx8dHlwZW9mIGUucG9zaXRpb25BdCE9ImZ1bmN0aW9uIj9bXTpRbChlKX1jb25zdCBNcz1uZXcgUmVnRXhwKCJcXGJNQVJLOlxccyooLiopJCIsImQiKSxZbD0vXi0rfC0rJC9nO2Z1bmN0aW9uIEtsKGUsdCl7dmFyIG47bGV0IHI9W107aWYodC5maW5kUmVnaW9uU2VjdGlvbkhlYWRlcnMmJighKChuPXQuZm9sZGluZ1J1bGVzKT09PW51bGx8fG49PT12b2lkIDApJiZuLm1hcmtlcnMpKXtjb25zdCBpPWV1KGUsdCk7cj1yLmNvbmNhdChpKX1pZih0LmZpbmRNYXJrU2VjdGlvbkhlYWRlcnMpe2NvbnN0IGk9dHUoZSk7cj1yLmNvbmNhdChpKX1yZXR1cm4gcn1mdW5jdGlvbiBldShlLHQpe2NvbnN0IG49W10scj1lLmdldExpbmVDb3VudCgpO2ZvcihsZXQgaT0xO2k8PXI7aSsrKXtjb25zdCBzPWUuZ2V0TGluZUNvbnRlbnQoaSksYT1zLm1hdGNoKHQuZm9sZGluZ1J1bGVzLm1hcmtlcnMuc3RhcnQpO2lmKGEpe2NvbnN0IG89e3N0YXJ0TGluZU51bWJlcjppLHN0YXJ0Q29sdW1uOmFbMF0ubGVuZ3RoKzEsZW5kTGluZU51bWJlcjppLGVuZENvbHVtbjpzLmxlbmd0aCsxfTtpZihvLmVuZENvbHVtbj5vLnN0YXJ0Q29sdW1uKXtjb25zdCBsPXtyYW5nZTpvLC4uLlRzKHMuc3Vic3RyaW5nKGFbMF0ubGVuZ3RoKSksc2hvdWxkQmVJbkNvbW1lbnRzOiExfTsobC50ZXh0fHxsLmhhc1NlcGFyYXRvckxpbmUpJiZuLnB1c2gobCl9fX1yZXR1cm4gbn1mdW5jdGlvbiB0dShlKXtjb25zdCB0PVtdLG49ZS5nZXRMaW5lQ291bnQoKTtmb3IobGV0IHI9MTtyPD1uO3IrKyl7Y29uc3QgaT1lLmdldExpbmVDb250ZW50KHIpO251KGkscix0KX1yZXR1cm4gdH1mdW5jdGlvbiBudShlLHQsbil7TXMubGFzdEluZGV4PTA7Y29uc3Qgcj1Ncy5leGVjKGUpO2lmKHIpe2NvbnN0IGk9ci5pbmRpY2VzWzFdWzBdKzEscz1yLmluZGljZXNbMV1bMV0rMSxhPXtzdGFydExpbmVOdW1iZXI6dCxzdGFydENvbHVtbjppLGVuZExpbmVOdW1iZXI6dCxlbmRDb2x1bW46c307aWYoYS5lbmRDb2x1bW4+YS5zdGFydENvbHVtbil7Y29uc3Qgbz17cmFuZ2U6YSwuLi5UcyhyWzFdKSxzaG91bGRCZUluQ29tbWVudHM6ITB9OyhvLnRleHR8fG8uaGFzU2VwYXJhdG9yTGluZSkmJm4ucHVzaChvKX19fWZ1bmN0aW9uIFRzKGUpe2U9ZS50cmltKCk7Y29uc3QgdD1lLnN0YXJ0c1dpdGgoIi0iKTtyZXR1cm4gZT1lLnJlcGxhY2UoWWwsIiIpLHt0ZXh0OmUsaGFzU2VwYXJhdG9yTGluZTp0fX1jbGFzcyBydSBleHRlbmRzIEdve2dldCB1cmkoKXtyZXR1cm4gdGhpcy5fdXJpfWdldCBlb2woKXtyZXR1cm4gdGhpcy5fZW9sfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMuZ2V0VGV4dCgpfWZpbmRNYXRjaGVzKHQpe2NvbnN0IG49W107Zm9yKGxldCByPTA7cjx0aGlzLl9saW5lcy5sZW5ndGg7cisrKXtjb25zdCBpPXRoaXMuX2xpbmVzW3JdLHM9dGhpcy5vZmZzZXRBdChuZXcgUGUocisxLDEpKSxhPWkubWF0Y2hBbGwodCk7Zm9yKGNvbnN0IG8gb2YgYSkoby5pbmRleHx8by5pbmRleD09PTApJiYoby5pbmRleD1vLmluZGV4K3MpLG4ucHVzaChvKX1yZXR1cm4gbn1nZXRMaW5lc0NvbnRlbnQoKXtyZXR1cm4gdGhpcy5fbGluZXMuc2xpY2UoMCl9Z2V0TGluZUNvdW50KCl7cmV0dXJuIHRoaXMuX2xpbmVzLmxlbmd0aH1nZXRMaW5lQ29udGVudCh0KXtyZXR1cm4gdGhpcy5fbGluZXNbdC0xXX1nZXRXb3JkQXRQb3NpdGlvbih0LG4pe2NvbnN0IHI9SG4odC5jb2x1bW4sc2kobiksdGhpcy5fbGluZXNbdC5saW5lTnVtYmVyLTFdLDApO3JldHVybiByP25ldyBzZSh0LmxpbmVOdW1iZXIsci5zdGFydENvbHVtbix0LmxpbmVOdW1iZXIsci5lbmRDb2x1bW4pOm51bGx9d29yZHModCl7Y29uc3Qgbj10aGlzLl9saW5lcyxyPXRoaXMuX3dvcmRlbml6ZS5iaW5kKHRoaXMpO2xldCBpPTAscz0iIixhPTAsbz1bXTtyZXR1cm57KltTeW1ib2wuaXRlcmF0b3JdKCl7Zm9yKDs7KWlmKGE8by5sZW5ndGgpe2NvbnN0IGw9cy5zdWJzdHJpbmcob1thXS5zdGFydCxvW2FdLmVuZCk7YSs9MSx5aWVsZCBsfWVsc2UgaWYoaTxuLmxlbmd0aClzPW5baV0sbz1yKHMsdCksYT0wLGkrPTE7ZWxzZSBicmVha319fWdldExpbmVXb3Jkcyh0LG4pe2NvbnN0IHI9dGhpcy5fbGluZXNbdC0xXSxpPXRoaXMuX3dvcmRlbml6ZShyLG4pLHM9W107Zm9yKGNvbnN0IGEgb2YgaSlzLnB1c2goe3dvcmQ6ci5zdWJzdHJpbmcoYS5zdGFydCxhLmVuZCksc3RhcnRDb2x1bW46YS5zdGFydCsxLGVuZENvbHVtbjphLmVuZCsxfSk7cmV0dXJuIHN9X3dvcmRlbml6ZSh0LG4pe2NvbnN0IHI9W107bGV0IGk7Zm9yKG4ubGFzdEluZGV4PTA7KGk9bi5leGVjKHQpKSYmaVswXS5sZW5ndGghPT0wOylyLnB1c2goe3N0YXJ0OmkuaW5kZXgsZW5kOmkuaW5kZXgraVswXS5sZW5ndGh9KTtyZXR1cm4gcn1nZXRWYWx1ZUluUmFuZ2UodCl7aWYodD10aGlzLl92YWxpZGF0ZVJhbmdlKHQpLHQuc3RhcnRMaW5lTnVtYmVyPT09dC5lbmRMaW5lTnVtYmVyKXJldHVybiB0aGlzLl9saW5lc1t0LnN0YXJ0TGluZU51bWJlci0xXS5zdWJzdHJpbmcodC5zdGFydENvbHVtbi0xLHQuZW5kQ29sdW1uLTEpO2NvbnN0IG49dGhpcy5fZW9sLHI9dC5zdGFydExpbmVOdW1iZXItMSxpPXQuZW5kTGluZU51bWJlci0xLHM9W107cy5wdXNoKHRoaXMuX2xpbmVzW3JdLnN1YnN0cmluZyh0LnN0YXJ0Q29sdW1uLTEpKTtmb3IobGV0IGE9cisxO2E8aTthKyspcy5wdXNoKHRoaXMuX2xpbmVzW2FdKTtyZXR1cm4gcy5wdXNoKHRoaXMuX2xpbmVzW2ldLnN1YnN0cmluZygwLHQuZW5kQ29sdW1uLTEpKSxzLmpvaW4obil9b2Zmc2V0QXQodCl7cmV0dXJuIHQ9dGhpcy5fdmFsaWRhdGVQb3NpdGlvbih0KSx0aGlzLl9lbnN1cmVMaW5lU3RhcnRzKCksdGhpcy5fbGluZVN0YXJ0cy5nZXRQcmVmaXhTdW0odC5saW5lTnVtYmVyLTIpKyh0LmNvbHVtbi0xKX1wb3NpdGlvbkF0KHQpe3Q9TWF0aC5mbG9vcih0KSx0PU1hdGgubWF4KDAsdCksdGhpcy5fZW5zdXJlTGluZVN0YXJ0cygpO2NvbnN0IG49dGhpcy5fbGluZVN0YXJ0cy5nZXRJbmRleE9mKHQpLHI9dGhpcy5fbGluZXNbbi5pbmRleF0ubGVuZ3RoO3JldHVybntsaW5lTnVtYmVyOjErbi5pbmRleCxjb2x1bW46MStNYXRoLm1pbihuLnJlbWFpbmRlcixyKX19X3ZhbGlkYXRlUmFuZ2UodCl7Y29uc3Qgbj10aGlzLl92YWxpZGF0ZVBvc2l0aW9uKHtsaW5lTnVtYmVyOnQuc3RhcnRMaW5lTnVtYmVyLGNvbHVtbjp0LnN0YXJ0Q29sdW1ufSkscj10aGlzLl92YWxpZGF0ZVBvc2l0aW9uKHtsaW5lTnVtYmVyOnQuZW5kTGluZU51bWJlcixjb2x1bW46dC5lbmRDb2x1bW59KTtyZXR1cm4gbi5saW5lTnVtYmVyIT09dC5zdGFydExpbmVOdW1iZXJ8fG4uY29sdW1uIT09dC5zdGFydENvbHVtbnx8ci5saW5lTnVtYmVyIT09dC5lbmRMaW5lTnVtYmVyfHxyLmNvbHVtbiE9PXQuZW5kQ29sdW1uP3tzdGFydExpbmVOdW1iZXI6bi5saW5lTnVtYmVyLHN0YXJ0Q29sdW1uOm4uY29sdW1uLGVuZExpbmVOdW1iZXI6ci5saW5lTnVtYmVyLGVuZENvbHVtbjpyLmNvbHVtbn06dH1fdmFsaWRhdGVQb3NpdGlvbih0KXtpZighUGUuaXNJUG9zaXRpb24odCkpdGhyb3cgbmV3IEVycm9yKCJiYWQgcG9zaXRpb24iKTtsZXR7bGluZU51bWJlcjpuLGNvbHVtbjpyfT10LGk9ITE7aWYobjwxKW49MSxyPTEsaT0hMDtlbHNlIGlmKG4+dGhpcy5fbGluZXMubGVuZ3RoKW49dGhpcy5fbGluZXMubGVuZ3RoLHI9dGhpcy5fbGluZXNbbi0xXS5sZW5ndGgrMSxpPSEwO2Vsc2V7Y29uc3Qgcz10aGlzLl9saW5lc1tuLTFdLmxlbmd0aCsxO3I8MT8ocj0xLGk9ITApOnI+cyYmKHI9cyxpPSEwKX1yZXR1cm4gaT97bGluZU51bWJlcjpuLGNvbHVtbjpyfTp0fX1jbGFzcyBpdHtjb25zdHJ1Y3Rvcih0LG4pe3RoaXMuX2hvc3Q9dCx0aGlzLl9tb2RlbHM9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLl9mb3JlaWduTW9kdWxlRmFjdG9yeT1uLHRoaXMuX2ZvcmVpZ25Nb2R1bGU9bnVsbH1kaXNwb3NlKCl7dGhpcy5fbW9kZWxzPU9iamVjdC5jcmVhdGUobnVsbCl9X2dldE1vZGVsKHQpe3JldHVybiB0aGlzLl9tb2RlbHNbdF19X2dldE1vZGVscygpe2NvbnN0IHQ9W107cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuX21vZGVscykuZm9yRWFjaChuPT50LnB1c2godGhpcy5fbW9kZWxzW25dKSksdH1hY2NlcHROZXdNb2RlbCh0KXt0aGlzLl9tb2RlbHNbdC51cmxdPW5ldyBydShCbi5wYXJzZSh0LnVybCksdC5saW5lcyx0LkVPTCx0LnZlcnNpb25JZCl9YWNjZXB0TW9kZWxDaGFuZ2VkKHQsbil7aWYoIXRoaXMuX21vZGVsc1t0XSlyZXR1cm47dGhpcy5fbW9kZWxzW3RdLm9uRXZlbnRzKG4pfWFjY2VwdFJlbW92ZWRNb2RlbCh0KXt0aGlzLl9tb2RlbHNbdF0mJmRlbGV0ZSB0aGlzLl9tb2RlbHNbdF19YXN5bmMgY29tcHV0ZVVuaWNvZGVIaWdobGlnaHRzKHQsbixyKXtjb25zdCBpPXRoaXMuX2dldE1vZGVsKHQpO3JldHVybiBpP19sLmNvbXB1dGVVbmljb2RlSGlnaGxpZ2h0cyhpLG4scik6e3JhbmdlczpbXSxoYXNNb3JlOiExLGFtYmlndW91c0NoYXJhY3RlckNvdW50OjAsaW52aXNpYmxlQ2hhcmFjdGVyQ291bnQ6MCxub25CYXNpY0FzY2lpQ2hhcmFjdGVyQ291bnQ6MH19YXN5bmMgZmluZFNlY3Rpb25IZWFkZXJzKHQsbil7Y29uc3Qgcj10aGlzLl9nZXRNb2RlbCh0KTtyZXR1cm4gcj9LbChyLG4pOltdfWFzeW5jIGNvbXB1dGVEaWZmKHQsbixyLGkpe2NvbnN0IHM9dGhpcy5fZ2V0TW9kZWwodCksYT10aGlzLl9nZXRNb2RlbChuKTtyZXR1cm4hc3x8IWE/bnVsbDppdC5jb21wdXRlRGlmZihzLGEscixpKX1zdGF0aWMgY29tcHV0ZURpZmYodCxuLHIsaSl7Y29uc3Qgcz1pPT09ImFkdmFuY2VkIj9Dcy5nZXREZWZhdWx0KCk6Q3MuZ2V0TGVnYWN5KCksYT10LmdldExpbmVzQ29udGVudCgpLG89bi5nZXRMaW5lc0NvbnRlbnQoKSxsPXMuY29tcHV0ZURpZmYoYSxvLHIpLHU9bC5jaGFuZ2VzLmxlbmd0aD4wPyExOnRoaXMuX21vZGVsc0FyZUlkZW50aWNhbCh0LG4pO2Z1bmN0aW9uIGYoaCl7cmV0dXJuIGgubWFwKGQ9Pnt2YXIgZztyZXR1cm5bZC5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXIsZC5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLGQubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyLGQubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSwoZz1kLmlubmVyQ2hhbmdlcyk9PT1udWxsfHxnPT09dm9pZCAwP3ZvaWQgMDpnLm1hcChtPT5bbS5vcmlnaW5hbFJhbmdlLnN0YXJ0TGluZU51bWJlcixtLm9yaWdpbmFsUmFuZ2Uuc3RhcnRDb2x1bW4sbS5vcmlnaW5hbFJhbmdlLmVuZExpbmVOdW1iZXIsbS5vcmlnaW5hbFJhbmdlLmVuZENvbHVtbixtLm1vZGlmaWVkUmFuZ2Uuc3RhcnRMaW5lTnVtYmVyLG0ubW9kaWZpZWRSYW5nZS5zdGFydENvbHVtbixtLm1vZGlmaWVkUmFuZ2UuZW5kTGluZU51bWJlcixtLm1vZGlmaWVkUmFuZ2UuZW5kQ29sdW1uXSldfSl9cmV0dXJue2lkZW50aWNhbDp1LHF1aXRFYXJseTpsLmhpdFRpbWVvdXQsY2hhbmdlczpmKGwuY2hhbmdlcyksbW92ZXM6bC5tb3Zlcy5tYXAoaD0+W2gubGluZVJhbmdlTWFwcGluZy5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXIsaC5saW5lUmFuZ2VNYXBwaW5nLm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUsaC5saW5lUmFuZ2VNYXBwaW5nLm1vZGlmaWVkLnN0YXJ0TGluZU51bWJlcixoLmxpbmVSYW5nZU1hcHBpbmcubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSxmKGguY2hhbmdlcyldKX19c3RhdGljIF9tb2RlbHNBcmVJZGVudGljYWwodCxuKXtjb25zdCByPXQuZ2V0TGluZUNvdW50KCksaT1uLmdldExpbmVDb3VudCgpO2lmKHIhPT1pKXJldHVybiExO2ZvcihsZXQgcz0xO3M8PXI7cysrKXtjb25zdCBhPXQuZ2V0TGluZUNvbnRlbnQocyksbz1uLmdldExpbmVDb250ZW50KHMpO2lmKGEhPT1vKXJldHVybiExfXJldHVybiEwfWFzeW5jIGNvbXB1dGVNb3JlTWluaW1hbEVkaXRzKHQsbixyKXtjb25zdCBpPXRoaXMuX2dldE1vZGVsKHQpO2lmKCFpKXJldHVybiBuO2NvbnN0IHM9W107bGV0IGE7bj1uLnNsaWNlKDApLnNvcnQoKGwsdSk9PntpZihsLnJhbmdlJiZ1LnJhbmdlKXJldHVybiBzZS5jb21wYXJlUmFuZ2VzVXNpbmdTdGFydHMobC5yYW5nZSx1LnJhbmdlKTtjb25zdCBmPWwucmFuZ2U/MDoxLGg9dS5yYW5nZT8wOjE7cmV0dXJuIGYtaH0pO2xldCBvPTA7Zm9yKGxldCBsPTE7bDxuLmxlbmd0aDtsKyspc2UuZ2V0RW5kUG9zaXRpb24obltvXS5yYW5nZSkuZXF1YWxzKHNlLmdldFN0YXJ0UG9zaXRpb24obltsXS5yYW5nZSkpPyhuW29dLnJhbmdlPXNlLmZyb21Qb3NpdGlvbnMoc2UuZ2V0U3RhcnRQb3NpdGlvbihuW29dLnJhbmdlKSxzZS5nZXRFbmRQb3NpdGlvbihuW2xdLnJhbmdlKSksbltvXS50ZXh0Kz1uW2xdLnRleHQpOihvKyssbltvXT1uW2xdKTtuLmxlbmd0aD1vKzE7Zm9yKGxldHtyYW5nZTpsLHRleHQ6dSxlb2w6Zn1vZiBuKXtpZih0eXBlb2YgZj09Im51bWJlciImJihhPWYpLHNlLmlzRW1wdHkobCkmJiF1KWNvbnRpbnVlO2NvbnN0IGg9aS5nZXRWYWx1ZUluUmFuZ2UobCk7aWYodT11LnJlcGxhY2UoL1xyXG58XG58XHIvZyxpLmVvbCksaD09PXUpY29udGludWU7aWYoTWF0aC5tYXgodS5sZW5ndGgsaC5sZW5ndGgpPml0Ll9kaWZmTGltaXQpe3MucHVzaCh7cmFuZ2U6bCx0ZXh0OnV9KTtjb250aW51ZX1jb25zdCBkPV9vKGgsdSxyKSxnPWkub2Zmc2V0QXQoc2UubGlmdChsKS5nZXRTdGFydFBvc2l0aW9uKCkpO2Zvcihjb25zdCBtIG9mIGQpe2NvbnN0IHY9aS5wb3NpdGlvbkF0KGcrbS5vcmlnaW5hbFN0YXJ0KSxwPWkucG9zaXRpb25BdChnK20ub3JpZ2luYWxTdGFydCttLm9yaWdpbmFsTGVuZ3RoKSx4PXt0ZXh0OnUuc3Vic3RyKG0ubW9kaWZpZWRTdGFydCxtLm1vZGlmaWVkTGVuZ3RoKSxyYW5nZTp7c3RhcnRMaW5lTnVtYmVyOnYubGluZU51bWJlcixzdGFydENvbHVtbjp2LmNvbHVtbixlbmRMaW5lTnVtYmVyOnAubGluZU51bWJlcixlbmRDb2x1bW46cC5jb2x1bW59fTtpLmdldFZhbHVlSW5SYW5nZSh4LnJhbmdlKSE9PXgudGV4dCYmcy5wdXNoKHgpfX1yZXR1cm4gdHlwZW9mIGE9PSJudW1iZXIiJiZzLnB1c2goe2VvbDphLHRleHQ6IiIscmFuZ2U6e3N0YXJ0TGluZU51bWJlcjowLHN0YXJ0Q29sdW1uOjAsZW5kTGluZU51bWJlcjowLGVuZENvbHVtbjowfX0pLHN9YXN5bmMgY29tcHV0ZUxpbmtzKHQpe2NvbnN0IG49dGhpcy5fZ2V0TW9kZWwodCk7cmV0dXJuIG4/dGwobik6bnVsbH1hc3luYyBjb21wdXRlRGVmYXVsdERvY3VtZW50Q29sb3JzKHQpe2NvbnN0IG49dGhpcy5fZ2V0TW9kZWwodCk7cmV0dXJuIG4/Wmwobik6bnVsbH1hc3luYyB0ZXh0dWFsU3VnZ2VzdCh0LG4scixpKXtjb25zdCBzPW5ldyBZdCxhPW5ldyBSZWdFeHAocixpKSxvPW5ldyBTZXQ7ZTpmb3IoY29uc3QgbCBvZiB0KXtjb25zdCB1PXRoaXMuX2dldE1vZGVsKGwpO2lmKHUpe2Zvcihjb25zdCBmIG9mIHUud29yZHMoYSkpaWYoIShmPT09bnx8IWlzTmFOKE51bWJlcihmKSkpJiYoby5hZGQoZiksby5zaXplPml0Ll9zdWdnZXN0aW9uc0xpbWl0KSlicmVhayBlfX1yZXR1cm57d29yZHM6QXJyYXkuZnJvbShvKSxkdXJhdGlvbjpzLmVsYXBzZWQoKX19YXN5bmMgY29tcHV0ZVdvcmRSYW5nZXModCxuLHIsaSl7Y29uc3Qgcz10aGlzLl9nZXRNb2RlbCh0KTtpZighcylyZXR1cm4gT2JqZWN0LmNyZWF0ZShudWxsKTtjb25zdCBhPW5ldyBSZWdFeHAocixpKSxvPU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGxldCBsPW4uc3RhcnRMaW5lTnVtYmVyO2w8bi5lbmRMaW5lTnVtYmVyO2wrKyl7Y29uc3QgdT1zLmdldExpbmVXb3JkcyhsLGEpO2Zvcihjb25zdCBmIG9mIHUpe2lmKCFpc05hTihOdW1iZXIoZi53b3JkKSkpY29udGludWU7bGV0IGg9b1tmLndvcmRdO2h8fChoPVtdLG9bZi53b3JkXT1oKSxoLnB1c2goe3N0YXJ0TGluZU51bWJlcjpsLHN0YXJ0Q29sdW1uOmYuc3RhcnRDb2x1bW4sZW5kTGluZU51bWJlcjpsLGVuZENvbHVtbjpmLmVuZENvbHVtbn0pfX1yZXR1cm4gb31hc3luYyBuYXZpZ2F0ZVZhbHVlU2V0KHQsbixyLGkscyl7Y29uc3QgYT10aGlzLl9nZXRNb2RlbCh0KTtpZighYSlyZXR1cm4gbnVsbDtjb25zdCBvPW5ldyBSZWdFeHAoaSxzKTtuLnN0YXJ0Q29sdW1uPT09bi5lbmRDb2x1bW4mJihuPXtzdGFydExpbmVOdW1iZXI6bi5zdGFydExpbmVOdW1iZXIsc3RhcnRDb2x1bW46bi5zdGFydENvbHVtbixlbmRMaW5lTnVtYmVyOm4uZW5kTGluZU51bWJlcixlbmRDb2x1bW46bi5lbmRDb2x1bW4rMX0pO2NvbnN0IGw9YS5nZXRWYWx1ZUluUmFuZ2UobiksdT1hLmdldFdvcmRBdFBvc2l0aW9uKHtsaW5lTnVtYmVyOm4uc3RhcnRMaW5lTnVtYmVyLGNvbHVtbjpuLnN0YXJ0Q29sdW1ufSxvKTtpZighdSlyZXR1cm4gbnVsbDtjb25zdCBmPWEuZ2V0VmFsdWVJblJhbmdlKHUpO3JldHVybiBKbi5JTlNUQU5DRS5uYXZpZ2F0ZVZhbHVlU2V0KG4sbCx1LGYscil9bG9hZEZvcmVpZ25Nb2R1bGUodCxuLHIpe2NvbnN0IGE9e2hvc3Q6R2EociwobyxsKT0+dGhpcy5faG9zdC5maHIobyxsKSksZ2V0TWlycm9yTW9kZWxzOigpPT50aGlzLl9nZXRNb2RlbHMoKX07cmV0dXJuIHRoaXMuX2ZvcmVpZ25Nb2R1bGVGYWN0b3J5Pyh0aGlzLl9mb3JlaWduTW9kdWxlPXRoaXMuX2ZvcmVpZ25Nb2R1bGVGYWN0b3J5KGEsbiksUHJvbWlzZS5yZXNvbHZlKFRuKHRoaXMuX2ZvcmVpZ25Nb2R1bGUpKSk6UHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJVbmV4cGVjdGVkIHVzYWdlIikpfWZtcih0LG4pe2lmKCF0aGlzLl9mb3JlaWduTW9kdWxlfHx0eXBlb2YgdGhpcy5fZm9yZWlnbk1vZHVsZVt0XSE9ImZ1bmN0aW9uIilyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJNaXNzaW5nIHJlcXVlc3RIYW5kbGVyIG9yIG1ldGhvZDogIit0KSk7dHJ5e3JldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5fZm9yZWlnbk1vZHVsZVt0XS5hcHBseSh0aGlzLl9mb3JlaWduTW9kdWxlLG4pKX1jYXRjaChyKXtyZXR1cm4gUHJvbWlzZS5yZWplY3Qocil9fX1pdC5fZGlmZkxpbWl0PTFlNSxpdC5fc3VnZ2VzdGlvbnNMaW1pdD0xZTQsdHlwZW9mIGltcG9ydFNjcmlwdHM9PSJmdW5jdGlvbiImJihnbG9iYWxUaGlzLm1vbmFjbz1obCgpKTtsZXQgdXI9ITE7ZnVuY3Rpb24gUHMoZSl7aWYodXIpcmV0dXJuO3VyPSEwO2NvbnN0IHQ9bmV3IHhvKG49PntnbG9iYWxUaGlzLnBvc3RNZXNzYWdlKG4pfSxuPT5uZXcgaXQobixlKSk7Z2xvYmFsVGhpcy5vbm1lc3NhZ2U9bj0+e3Qub25tZXNzYWdlKG4uZGF0YSl9fWdsb2JhbFRoaXMub25tZXNzYWdlPWU9Pnt1cnx8UHMobnVsbCl9Oy8qIS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogKiBWZXJzaW9uOiAwLjQ4LjAoMDAzN2IxM2ZiNWQxODZmZGYxZTdkZjUxYTk0MTZhMmRlMmI4YzY3MCkKICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlCiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvbW9uYWNvLWVkaXRvci9ibG9iL21haW4vTElDRU5TRS50eHQKICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovZnVuY3Rpb24gY3IoZSx0KXt0PT09dm9pZCAwJiYodD0hMSk7dmFyIG49ZS5sZW5ndGgscj0wLGk9IiIscz0wLGE9MTYsbz0wLGw9MCx1PTAsZj0wLGg9MDtmdW5jdGlvbiBkKGIsTCl7Zm9yKHZhciBTPTAsdz0wO1M8Ynx8IUw7KXt2YXIgTj1lLmNoYXJDb2RlQXQocik7aWYoTj49NDgmJk48PTU3KXc9dyoxNitOLTQ4O2Vsc2UgaWYoTj49NjUmJk48PTcwKXc9dyoxNitOLTY1KzEwO2Vsc2UgaWYoTj49OTcmJk48PTEwMil3PXcqMTYrTi05NysxMDtlbHNlIGJyZWFrO3IrKyxTKyt9cmV0dXJuIFM8YiYmKHc9LTEpLHd9ZnVuY3Rpb24gZyhiKXtyPWIsaT0iIixzPTAsYT0xNixoPTB9ZnVuY3Rpb24gbSgpe3ZhciBiPXI7aWYoZS5jaGFyQ29kZUF0KHIpPT09NDgpcisrO2Vsc2UgZm9yKHIrKztyPGUubGVuZ3RoJiZMdChlLmNoYXJDb2RlQXQocikpOylyKys7aWYocjxlLmxlbmd0aCYmZS5jaGFyQ29kZUF0KHIpPT09NDYpaWYocisrLHI8ZS5sZW5ndGgmJkx0KGUuY2hhckNvZGVBdChyKSkpZm9yKHIrKztyPGUubGVuZ3RoJiZMdChlLmNoYXJDb2RlQXQocikpOylyKys7ZWxzZSByZXR1cm4gaD0zLGUuc3Vic3RyaW5nKGIscik7dmFyIEw9cjtpZihyPGUubGVuZ3RoJiYoZS5jaGFyQ29kZUF0KHIpPT09Njl8fGUuY2hhckNvZGVBdChyKT09PTEwMSkpaWYocisrLChyPGUubGVuZ3RoJiZlLmNoYXJDb2RlQXQocik9PT00M3x8ZS5jaGFyQ29kZUF0KHIpPT09NDUpJiZyKysscjxlLmxlbmd0aCYmTHQoZS5jaGFyQ29kZUF0KHIpKSl7Zm9yKHIrKztyPGUubGVuZ3RoJiZMdChlLmNoYXJDb2RlQXQocikpOylyKys7TD1yfWVsc2UgaD0zO3JldHVybiBlLnN1YnN0cmluZyhiLEwpfWZ1bmN0aW9uIHYoKXtmb3IodmFyIGI9IiIsTD1yOzspe2lmKHI+PW4pe2IrPWUuc3Vic3RyaW5nKEwsciksaD0yO2JyZWFrfXZhciBTPWUuY2hhckNvZGVBdChyKTtpZihTPT09MzQpe2IrPWUuc3Vic3RyaW5nKEwscikscisrO2JyZWFrfWlmKFM9PT05Mil7aWYoYis9ZS5zdWJzdHJpbmcoTCxyKSxyKysscj49bil7aD0yO2JyZWFrfXZhciB3PWUuY2hhckNvZGVBdChyKyspO3N3aXRjaCh3KXtjYXNlIDM0OmIrPSciJzticmVhaztjYXNlIDkyOmIrPSJcXCI7YnJlYWs7Y2FzZSA0NzpiKz0iLyI7YnJlYWs7Y2FzZSA5ODpiKz0iXGIiO2JyZWFrO2Nhc2UgMTAyOmIrPSJcZiI7YnJlYWs7Y2FzZSAxMTA6Yis9YApgO2JyZWFrO2Nhc2UgMTE0OmIrPSJcciI7YnJlYWs7Y2FzZSAxMTY6Yis9IgkiO2JyZWFrO2Nhc2UgMTE3OnZhciBOPWQoNCwhMCk7Tj49MD9iKz1TdHJpbmcuZnJvbUNoYXJDb2RlKE4pOmg9NDticmVhaztkZWZhdWx0Omg9NX1MPXI7Y29udGludWV9aWYoUz49MCYmUzw9MzEpaWYoVXQoUykpe2IrPWUuc3Vic3RyaW5nKEwsciksaD0yO2JyZWFrfWVsc2UgaD02O3IrK31yZXR1cm4gYn1mdW5jdGlvbiBwKCl7aWYoaT0iIixoPTAscz1yLGw9byxmPXUscj49bilyZXR1cm4gcz1uLGE9MTc7dmFyIGI9ZS5jaGFyQ29kZUF0KHIpO2lmKGZyKGIpKXtkbyByKyssaSs9U3RyaW5nLmZyb21DaGFyQ29kZShiKSxiPWUuY2hhckNvZGVBdChyKTt3aGlsZShmcihiKSk7cmV0dXJuIGE9MTV9aWYoVXQoYikpcmV0dXJuIHIrKyxpKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGIpLGI9PT0xMyYmZS5jaGFyQ29kZUF0KHIpPT09MTAmJihyKyssaSs9YApgKSxvKyssdT1yLGE9MTQ7c3dpdGNoKGIpe2Nhc2UgMTIzOnJldHVybiByKyssYT0xO2Nhc2UgMTI1OnJldHVybiByKyssYT0yO2Nhc2UgOTE6cmV0dXJuIHIrKyxhPTM7Y2FzZSA5MzpyZXR1cm4gcisrLGE9NDtjYXNlIDU4OnJldHVybiByKyssYT02O2Nhc2UgNDQ6cmV0dXJuIHIrKyxhPTU7Y2FzZSAzNDpyZXR1cm4gcisrLGk9digpLGE9MTA7Y2FzZSA0Nzp2YXIgTD1yLTE7aWYoZS5jaGFyQ29kZUF0KHIrMSk9PT00Nyl7Zm9yKHIrPTI7cjxuJiYhVXQoZS5jaGFyQ29kZUF0KHIpKTspcisrO3JldHVybiBpPWUuc3Vic3RyaW5nKEwsciksYT0xMn1pZihlLmNoYXJDb2RlQXQocisxKT09PTQyKXtyKz0yO2Zvcih2YXIgUz1uLTEsdz0hMTtyPFM7KXt2YXIgTj1lLmNoYXJDb2RlQXQocik7aWYoTj09PTQyJiZlLmNoYXJDb2RlQXQocisxKT09PTQ3KXtyKz0yLHc9ITA7YnJlYWt9cisrLFV0KE4pJiYoTj09PTEzJiZlLmNoYXJDb2RlQXQocik9PT0xMCYmcisrLG8rKyx1PXIpfXJldHVybiB3fHwocisrLGg9MSksaT1lLnN1YnN0cmluZyhMLHIpLGE9MTN9cmV0dXJuIGkrPVN0cmluZy5mcm9tQ2hhckNvZGUoYikscisrLGE9MTY7Y2FzZSA0NTppZihpKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGIpLHIrKyxyPT09bnx8IUx0KGUuY2hhckNvZGVBdChyKSkpcmV0dXJuIGE9MTY7Y2FzZSA0ODpjYXNlIDQ5OmNhc2UgNTA6Y2FzZSA1MTpjYXNlIDUyOmNhc2UgNTM6Y2FzZSA1NDpjYXNlIDU1OmNhc2UgNTY6Y2FzZSA1NzpyZXR1cm4gaSs9bSgpLGE9MTE7ZGVmYXVsdDpmb3IoO3I8biYmeChiKTspcisrLGI9ZS5jaGFyQ29kZUF0KHIpO2lmKHMhPT1yKXtzd2l0Y2goaT1lLnN1YnN0cmluZyhzLHIpLGkpe2Nhc2UidHJ1ZSI6cmV0dXJuIGE9ODtjYXNlImZhbHNlIjpyZXR1cm4gYT05O2Nhc2UibnVsbCI6cmV0dXJuIGE9N31yZXR1cm4gYT0xNn1yZXR1cm4gaSs9U3RyaW5nLmZyb21DaGFyQ29kZShiKSxyKyssYT0xNn19ZnVuY3Rpb24geChiKXtpZihmcihiKXx8VXQoYikpcmV0dXJuITE7c3dpdGNoKGIpe2Nhc2UgMTI1OmNhc2UgOTM6Y2FzZSAxMjM6Y2FzZSA5MTpjYXNlIDM0OmNhc2UgNTg6Y2FzZSA0NDpjYXNlIDQ3OnJldHVybiExfXJldHVybiEwfWZ1bmN0aW9uIHkoKXt2YXIgYjtkbyBiPXAoKTt3aGlsZShiPj0xMiYmYjw9MTUpO3JldHVybiBifXJldHVybntzZXRQb3NpdGlvbjpnLGdldFBvc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIHJ9LHNjYW46dD95OnAsZ2V0VG9rZW46ZnVuY3Rpb24oKXtyZXR1cm4gYX0sZ2V0VG9rZW5WYWx1ZTpmdW5jdGlvbigpe3JldHVybiBpfSxnZXRUb2tlbk9mZnNldDpmdW5jdGlvbigpe3JldHVybiBzfSxnZXRUb2tlbkxlbmd0aDpmdW5jdGlvbigpe3JldHVybiByLXN9LGdldFRva2VuU3RhcnRMaW5lOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LGdldFRva2VuU3RhcnRDaGFyYWN0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gcy1mfSxnZXRUb2tlbkVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGh9fX1mdW5jdGlvbiBmcihlKXtyZXR1cm4gZT09PTMyfHxlPT09OXx8ZT09PTExfHxlPT09MTJ8fGU9PT0xNjB8fGU9PT01NzYwfHxlPj04MTkyJiZlPD04MjAzfHxlPT09ODIzOXx8ZT09PTgyODd8fGU9PT0xMjI4OHx8ZT09PTY1Mjc5fWZ1bmN0aW9uIFV0KGUpe3JldHVybiBlPT09MTB8fGU9PT0xM3x8ZT09PTgyMzJ8fGU9PT04MjMzfWZ1bmN0aW9uIEx0KGUpe3JldHVybiBlPj00OCYmZTw9NTd9ZnVuY3Rpb24gaXUoZSx0LG4pe3ZhciByLGkscyxhLG87aWYodCl7Zm9yKGE9dC5vZmZzZXQsbz1hK3QubGVuZ3RoLHM9YTtzPjAmJiFGcyhlLHMtMSk7KXMtLTtmb3IodmFyIGw9bztsPGUubGVuZ3RoJiYhRnMoZSxsKTspbCsrO2k9ZS5zdWJzdHJpbmcocyxsKSxyPXN1KGksbil9ZWxzZSBpPWUscj0wLHM9MCxhPTAsbz1lLmxlbmd0aDt2YXIgdT1hdShuLGUpLGY9ITEsaD0wLGQ7bi5pbnNlcnRTcGFjZXM/ZD1ocigiICIsbi50YWJTaXplfHw0KTpkPSIJIjt2YXIgZz1jcihpLCExKSxtPSExO2Z1bmN0aW9uIHYoKXtyZXR1cm4gdStocihkLHIraCl9ZnVuY3Rpb24gcCgpe3ZhciBfPWcuc2NhbigpO2ZvcihmPSExO189PT0xNXx8Xz09PTE0OylmPWZ8fF89PT0xNCxfPWcuc2NhbigpO3JldHVybiBtPV89PT0xNnx8Zy5nZXRUb2tlbkVycm9yKCkhPT0wLF99dmFyIHg9W107ZnVuY3Rpb24geShfLFQsRil7IW0mJighdHx8VDxvJiZGPmEpJiZlLnN1YnN0cmluZyhULEYpIT09XyYmeC5wdXNoKHtvZmZzZXQ6VCxsZW5ndGg6Ri1ULGNvbnRlbnQ6X30pfXZhciBiPXAoKTtpZihiIT09MTcpe3ZhciBMPWcuZ2V0VG9rZW5PZmZzZXQoKStzLFM9aHIoZCxyKTt5KFMscyxMKX1mb3IoO2IhPT0xNzspe2Zvcih2YXIgdz1nLmdldFRva2VuT2Zmc2V0KCkrZy5nZXRUb2tlbkxlbmd0aCgpK3MsTj1wKCksQT0iIixSPSExOyFmJiYoTj09PTEyfHxOPT09MTMpOyl7dmFyIEk9Zy5nZXRUb2tlbk9mZnNldCgpK3M7eSgiICIsdyxJKSx3PWcuZ2V0VG9rZW5PZmZzZXQoKStnLmdldFRva2VuTGVuZ3RoKCkrcyxSPU49PT0xMixBPVI/digpOiIiLE49cCgpfWlmKE49PT0yKWIhPT0xJiYoaC0tLEE9digpKTtlbHNlIGlmKE49PT00KWIhPT0zJiYoaC0tLEE9digpKTtlbHNle3N3aXRjaChiKXtjYXNlIDM6Y2FzZSAxOmgrKyxBPXYoKTticmVhaztjYXNlIDU6Y2FzZSAxMjpBPXYoKTticmVhaztjYXNlIDEzOmY/QT12KCk6Unx8KEE9IiAiKTticmVhaztjYXNlIDY6Unx8KEE9IiAiKTticmVhaztjYXNlIDEwOmlmKE49PT02KXtSfHwoQT0iIik7YnJlYWt9Y2FzZSA3OmNhc2UgODpjYXNlIDk6Y2FzZSAxMTpjYXNlIDI6Y2FzZSA0Ok49PT0xMnx8Tj09PTEzP1J8fChBPSIgIik6TiE9PTUmJk4hPT0xNyYmKG09ITApO2JyZWFrO2Nhc2UgMTY6bT0hMDticmVha31mJiYoTj09PTEyfHxOPT09MTMpJiYoQT12KCkpfU49PT0xNyYmKEE9bi5pbnNlcnRGaW5hbE5ld2xpbmU/dToiIik7dmFyIEM9Zy5nZXRUb2tlbk9mZnNldCgpK3M7eShBLHcsQyksYj1OfXJldHVybiB4fWZ1bmN0aW9uIGhyKGUsdCl7Zm9yKHZhciBuPSIiLHI9MDtyPHQ7cisrKW4rPWU7cmV0dXJuIG59ZnVuY3Rpb24gc3UoZSx0KXtmb3IodmFyIG49MCxyPTAsaT10LnRhYlNpemV8fDQ7bjxlLmxlbmd0aDspe3ZhciBzPWUuY2hhckF0KG4pO2lmKHM9PT0iICIpcisrO2Vsc2UgaWYocz09PSIJIilyKz1pO2Vsc2UgYnJlYWs7bisrfXJldHVybiBNYXRoLmZsb29yKHIvaSl9ZnVuY3Rpb24gYXUoZSx0KXtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIHI9dC5jaGFyQXQobik7aWYocj09PSJcciIpcmV0dXJuIG4rMTx0Lmxlbmd0aCYmdC5jaGFyQXQobisxKT09PWAKYD9gXHIKYDoiXHIiO2lmKHI9PT1gCmApcmV0dXJuYApgfXJldHVybiBlJiZlLmVvbHx8YApgfWZ1bmN0aW9uIEZzKGUsdCl7cmV0dXJuYFxyCmAuaW5kZXhPZihlLmNoYXJBdCh0KSkhPT0tMX12YXIgZG47KGZ1bmN0aW9uKGUpe2UuREVGQVVMVD17YWxsb3dUcmFpbGluZ0NvbW1hOiExfX0pKGRufHwoZG49e30pKTtmdW5jdGlvbiBvdShlLHQsbil7dD09PXZvaWQgMCYmKHQ9W10pLG49PT12b2lkIDAmJihuPWRuLkRFRkFVTFQpO3ZhciByPW51bGwsaT1bXSxzPVtdO2Z1bmN0aW9uIGEobCl7QXJyYXkuaXNBcnJheShpKT9pLnB1c2gobCk6ciE9PW51bGwmJihpW3JdPWwpfXZhciBvPXtvbk9iamVjdEJlZ2luOmZ1bmN0aW9uKCl7dmFyIGw9e307YShsKSxzLnB1c2goaSksaT1sLHI9bnVsbH0sb25PYmplY3RQcm9wZXJ0eTpmdW5jdGlvbihsKXtyPWx9LG9uT2JqZWN0RW5kOmZ1bmN0aW9uKCl7aT1zLnBvcCgpfSxvbkFycmF5QmVnaW46ZnVuY3Rpb24oKXt2YXIgbD1bXTthKGwpLHMucHVzaChpKSxpPWwscj1udWxsfSxvbkFycmF5RW5kOmZ1bmN0aW9uKCl7aT1zLnBvcCgpfSxvbkxpdGVyYWxWYWx1ZTphLG9uRXJyb3I6ZnVuY3Rpb24obCx1LGYpe3QucHVzaCh7ZXJyb3I6bCxvZmZzZXQ6dSxsZW5ndGg6Zn0pfX07cmV0dXJuIHV1KGUsbyxuKSxpWzBdfWZ1bmN0aW9uIElzKGUpe2lmKCFlLnBhcmVudHx8IWUucGFyZW50LmNoaWxkcmVuKXJldHVybltdO3ZhciB0PUlzKGUucGFyZW50KTtpZihlLnBhcmVudC50eXBlPT09InByb3BlcnR5Iil7dmFyIG49ZS5wYXJlbnQuY2hpbGRyZW5bMF0udmFsdWU7dC5wdXNoKG4pfWVsc2UgaWYoZS5wYXJlbnQudHlwZT09PSJhcnJheSIpe3ZhciByPWUucGFyZW50LmNoaWxkcmVuLmluZGV4T2YoZSk7ciE9PS0xJiZ0LnB1c2gocil9cmV0dXJuIHR9ZnVuY3Rpb24gZHIoZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJhcnJheSI6cmV0dXJuIGUuY2hpbGRyZW4ubWFwKGRyKTtjYXNlIm9iamVjdCI6Zm9yKHZhciB0PU9iamVjdC5jcmVhdGUobnVsbCksbj0wLHI9ZS5jaGlsZHJlbjtuPHIubGVuZ3RoO24rKyl7dmFyIGk9cltuXSxzPWkuY2hpbGRyZW5bMV07cyYmKHRbaS5jaGlsZHJlblswXS52YWx1ZV09ZHIocykpfXJldHVybiB0O2Nhc2UibnVsbCI6Y2FzZSJzdHJpbmciOmNhc2UibnVtYmVyIjpjYXNlImJvb2xlYW4iOnJldHVybiBlLnZhbHVlO2RlZmF1bHQ6cmV0dXJufX1mdW5jdGlvbiBsdShlLHQsbil7cmV0dXJuIG49PT12b2lkIDAmJihuPSExKSx0Pj1lLm9mZnNldCYmdDxlLm9mZnNldCtlLmxlbmd0aHx8biYmdD09PWUub2Zmc2V0K2UubGVuZ3RofWZ1bmN0aW9uIERzKGUsdCxuKXtpZihuPT09dm9pZCAwJiYobj0hMSksbHUoZSx0LG4pKXt2YXIgcj1lLmNoaWxkcmVuO2lmKEFycmF5LmlzQXJyYXkocikpZm9yKHZhciBpPTA7aTxyLmxlbmd0aCYmcltpXS5vZmZzZXQ8PXQ7aSsrKXt2YXIgcz1EcyhyW2ldLHQsbik7aWYocylyZXR1cm4gc31yZXR1cm4gZX19ZnVuY3Rpb24gdXUoZSx0LG4pe249PT12b2lkIDAmJihuPWRuLkRFRkFVTFQpO3ZhciByPWNyKGUsITEpO2Z1bmN0aW9uIGkoUil7cmV0dXJuIFI/ZnVuY3Rpb24oKXtyZXR1cm4gUihyLmdldFRva2VuT2Zmc2V0KCksci5nZXRUb2tlbkxlbmd0aCgpLHIuZ2V0VG9rZW5TdGFydExpbmUoKSxyLmdldFRva2VuU3RhcnRDaGFyYWN0ZXIoKSl9OmZ1bmN0aW9uKCl7cmV0dXJuITB9fWZ1bmN0aW9uIHMoUil7cmV0dXJuIFI/ZnVuY3Rpb24oSSl7cmV0dXJuIFIoSSxyLmdldFRva2VuT2Zmc2V0KCksci5nZXRUb2tlbkxlbmd0aCgpLHIuZ2V0VG9rZW5TdGFydExpbmUoKSxyLmdldFRva2VuU3RhcnRDaGFyYWN0ZXIoKSl9OmZ1bmN0aW9uKCl7cmV0dXJuITB9fXZhciBhPWkodC5vbk9iamVjdEJlZ2luKSxvPXModC5vbk9iamVjdFByb3BlcnR5KSxsPWkodC5vbk9iamVjdEVuZCksdT1pKHQub25BcnJheUJlZ2luKSxmPWkodC5vbkFycmF5RW5kKSxoPXModC5vbkxpdGVyYWxWYWx1ZSksZD1zKHQub25TZXBhcmF0b3IpLGc9aSh0Lm9uQ29tbWVudCksbT1zKHQub25FcnJvciksdj1uJiZuLmRpc2FsbG93Q29tbWVudHMscD1uJiZuLmFsbG93VHJhaWxpbmdDb21tYTtmdW5jdGlvbiB4KCl7Zm9yKDs7KXt2YXIgUj1yLnNjYW4oKTtzd2l0Y2goci5nZXRUb2tlbkVycm9yKCkpe2Nhc2UgNDp5KDE0KTticmVhaztjYXNlIDU6eSgxNSk7YnJlYWs7Y2FzZSAzOnkoMTMpO2JyZWFrO2Nhc2UgMTp2fHx5KDExKTticmVhaztjYXNlIDI6eSgxMik7YnJlYWs7Y2FzZSA2OnkoMTYpO2JyZWFrfXN3aXRjaChSKXtjYXNlIDEyOmNhc2UgMTM6dj95KDEwKTpnKCk7YnJlYWs7Y2FzZSAxNjp5KDEpO2JyZWFrO2Nhc2UgMTU6Y2FzZSAxNDpicmVhaztkZWZhdWx0OnJldHVybiBSfX19ZnVuY3Rpb24geShSLEksQyl7aWYoST09PXZvaWQgMCYmKEk9W10pLEM9PT12b2lkIDAmJihDPVtdKSxtKFIpLEkubGVuZ3RoK0MubGVuZ3RoPjApZm9yKHZhciBfPXIuZ2V0VG9rZW4oKTtfIT09MTc7KXtpZihJLmluZGV4T2YoXykhPT0tMSl7eCgpO2JyZWFrfWVsc2UgaWYoQy5pbmRleE9mKF8pIT09LTEpYnJlYWs7Xz14KCl9fWZ1bmN0aW9uIGIoUil7dmFyIEk9ci5nZXRUb2tlblZhbHVlKCk7cmV0dXJuIFI/aChJKTpvKEkpLHgoKSwhMH1mdW5jdGlvbiBMKCl7c3dpdGNoKHIuZ2V0VG9rZW4oKSl7Y2FzZSAxMTp2YXIgUj1yLmdldFRva2VuVmFsdWUoKSxJPU51bWJlcihSKTtpc05hTihJKSYmKHkoMiksST0wKSxoKEkpO2JyZWFrO2Nhc2UgNzpoKG51bGwpO2JyZWFrO2Nhc2UgODpoKCEwKTticmVhaztjYXNlIDk6aCghMSk7YnJlYWs7ZGVmYXVsdDpyZXR1cm4hMX1yZXR1cm4geCgpLCEwfWZ1bmN0aW9uIFMoKXtyZXR1cm4gci5nZXRUb2tlbigpIT09MTA/KHkoMyxbXSxbMiw1XSksITEpOihiKCExKSxyLmdldFRva2VuKCk9PT02PyhkKCI6IikseCgpLEEoKXx8eSg0LFtdLFsyLDVdKSk6eSg1LFtdLFsyLDVdKSwhMCl9ZnVuY3Rpb24gdygpe2EoKSx4KCk7Zm9yKHZhciBSPSExO3IuZ2V0VG9rZW4oKSE9PTImJnIuZ2V0VG9rZW4oKSE9PTE3Oyl7aWYoci5nZXRUb2tlbigpPT09NSl7aWYoUnx8eSg0LFtdLFtdKSxkKCIsIikseCgpLHIuZ2V0VG9rZW4oKT09PTImJnApYnJlYWt9ZWxzZSBSJiZ5KDYsW10sW10pO1MoKXx8eSg0LFtdLFsyLDVdKSxSPSEwfXJldHVybiBsKCksci5nZXRUb2tlbigpIT09Mj95KDcsWzJdLFtdKTp4KCksITB9ZnVuY3Rpb24gTigpe3UoKSx4KCk7Zm9yKHZhciBSPSExO3IuZ2V0VG9rZW4oKSE9PTQmJnIuZ2V0VG9rZW4oKSE9PTE3Oyl7aWYoci5nZXRUb2tlbigpPT09NSl7aWYoUnx8eSg0LFtdLFtdKSxkKCIsIikseCgpLHIuZ2V0VG9rZW4oKT09PTQmJnApYnJlYWt9ZWxzZSBSJiZ5KDYsW10sW10pO0EoKXx8eSg0LFtdLFs0LDVdKSxSPSEwfXJldHVybiBmKCksci5nZXRUb2tlbigpIT09ND95KDgsWzRdLFtdKTp4KCksITB9ZnVuY3Rpb24gQSgpe3N3aXRjaChyLmdldFRva2VuKCkpe2Nhc2UgMzpyZXR1cm4gTigpO2Nhc2UgMTpyZXR1cm4gdygpO2Nhc2UgMTA6cmV0dXJuIGIoITApO2RlZmF1bHQ6cmV0dXJuIEwoKX19cmV0dXJuIHgoKSxyLmdldFRva2VuKCk9PT0xNz9uLmFsbG93RW1wdHlDb250ZW50PyEwOih5KDQsW10sW10pLCExKTpBKCk/KHIuZ2V0VG9rZW4oKSE9PTE3JiZ5KDksW10sW10pLCEwKTooeSg0LFtdLFtdKSwhMSl9dmFyIE50PWNyLGN1PW91LGZ1PURzLGh1PUlzLGR1PWRyO2Z1bmN0aW9uIGd1KGUsdCxuKXtyZXR1cm4gaXUoZSx0LG4pfWZ1bmN0aW9uIGp0KGUsdCl7aWYoZT09PXQpcmV0dXJuITA7aWYoZT09bnVsbHx8dD09PW51bGx8fHQ9PT12b2lkIDB8fHR5cGVvZiBlIT10eXBlb2YgdHx8dHlwZW9mIGUhPSJvYmplY3QifHxBcnJheS5pc0FycmF5KGUpIT09QXJyYXkuaXNBcnJheSh0KSlyZXR1cm4hMTt2YXIgbixyO2lmKEFycmF5LmlzQXJyYXkoZSkpe2lmKGUubGVuZ3RoIT09dC5sZW5ndGgpcmV0dXJuITE7Zm9yKG49MDtuPGUubGVuZ3RoO24rKylpZighanQoZVtuXSx0W25dKSlyZXR1cm4hMX1lbHNle3ZhciBpPVtdO2ZvcihyIGluIGUpaS5wdXNoKHIpO2kuc29ydCgpO3ZhciBzPVtdO2ZvcihyIGluIHQpcy5wdXNoKHIpO2lmKHMuc29ydCgpLCFqdChpLHMpKXJldHVybiExO2ZvcihuPTA7bjxpLmxlbmd0aDtuKyspaWYoIWp0KGVbaVtuXV0sdFtpW25dXSkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gX2UoZSl7cmV0dXJuIHR5cGVvZiBlPT0ibnVtYmVyIn1mdW5jdGlvbiBCZShlKXtyZXR1cm4gdHlwZW9mIGU8InUifWZ1bmN0aW9uIEllKGUpe3JldHVybiB0eXBlb2YgZT09ImJvb2xlYW4ifWZ1bmN0aW9uIG11KGUpe3JldHVybiB0eXBlb2YgZT09InN0cmluZyJ9ZnVuY3Rpb24gcHUoZSx0KXtpZihlLmxlbmd0aDx0Lmxlbmd0aClyZXR1cm4hMTtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKylpZihlW25dIT09dFtuXSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBxdChlLHQpe3ZhciBuPWUubGVuZ3RoLXQubGVuZ3RoO3JldHVybiBuPjA/ZS5sYXN0SW5kZXhPZih0KT09PW46bj09PTA/ZT09PXQ6ITF9ZnVuY3Rpb24gZ24oZSl7dmFyIHQ9IiI7cHUoZSwiKD9pKSIpJiYoZT1lLnN1YnN0cmluZyg0KSx0PSJpIik7dHJ5e3JldHVybiBuZXcgUmVnRXhwKGUsdCsidSIpfWNhdGNoe3RyeXtyZXR1cm4gbmV3IFJlZ0V4cChlLHQpfWNhdGNoe3JldHVybn19fXZhciBWczsoZnVuY3Rpb24oZSl7ZS5NSU5fVkFMVUU9LTIxNDc0ODM2NDgsZS5NQVhfVkFMVUU9MjE0NzQ4MzY0N30pKFZzfHwoVnM9e30pKTt2YXIgbW47KGZ1bmN0aW9uKGUpe2UuTUlOX1ZBTFVFPTAsZS5NQVhfVkFMVUU9MjE0NzQ4MzY0N30pKG1ufHwobW49e30pKTt2YXIgUmU7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQocixpKXtyZXR1cm4gcj09PU51bWJlci5NQVhfVkFMVUUmJihyPW1uLk1BWF9WQUxVRSksaT09PU51bWJlci5NQVhfVkFMVUUmJihpPW1uLk1BWF9WQUxVRSkse2xpbmU6cixjaGFyYWN0ZXI6aX19ZS5jcmVhdGU9dDtmdW5jdGlvbiBuKHIpe3ZhciBpPXI7cmV0dXJuIEUub2JqZWN0TGl0ZXJhbChpKSYmRS51aW50ZWdlcihpLmxpbmUpJiZFLnVpbnRlZ2VyKGkuY2hhcmFjdGVyKX1lLmlzPW59KShSZXx8KFJlPXt9KSk7dmFyIFg7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQocixpLHMsYSl7aWYoRS51aW50ZWdlcihyKSYmRS51aW50ZWdlcihpKSYmRS51aW50ZWdlcihzKSYmRS51aW50ZWdlcihhKSlyZXR1cm57c3RhcnQ6UmUuY3JlYXRlKHIsaSksZW5kOlJlLmNyZWF0ZShzLGEpfTtpZihSZS5pcyhyKSYmUmUuaXMoaSkpcmV0dXJue3N0YXJ0OnIsZW5kOml9O3Rocm93IG5ldyBFcnJvcigiUmFuZ2UjY3JlYXRlIGNhbGxlZCB3aXRoIGludmFsaWQgYXJndW1lbnRzWyIrcisiLCAiK2krIiwgIitzKyIsICIrYSsiXSIpfWUuY3JlYXRlPXQ7ZnVuY3Rpb24gbihyKXt2YXIgaT1yO3JldHVybiBFLm9iamVjdExpdGVyYWwoaSkmJlJlLmlzKGkuc3RhcnQpJiZSZS5pcyhpLmVuZCl9ZS5pcz1ufSkoWHx8KFg9e30pKTt2YXIgQnQ7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQocixpKXtyZXR1cm57dXJpOnIscmFuZ2U6aX19ZS5jcmVhdGU9dDtmdW5jdGlvbiBuKHIpe3ZhciBpPXI7cmV0dXJuIEUuZGVmaW5lZChpKSYmWC5pcyhpLnJhbmdlKSYmKEUuc3RyaW5nKGkudXJpKXx8RS51bmRlZmluZWQoaS51cmkpKX1lLmlzPW59KShCdHx8KEJ0PXt9KSk7dmFyIE9zOyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KHIsaSxzLGEpe3JldHVybnt0YXJnZXRVcmk6cix0YXJnZXRSYW5nZTppLHRhcmdldFNlbGVjdGlvblJhbmdlOnMsb3JpZ2luU2VsZWN0aW9uUmFuZ2U6YX19ZS5jcmVhdGU9dDtmdW5jdGlvbiBuKHIpe3ZhciBpPXI7cmV0dXJuIEUuZGVmaW5lZChpKSYmWC5pcyhpLnRhcmdldFJhbmdlKSYmRS5zdHJpbmcoaS50YXJnZXRVcmkpJiYoWC5pcyhpLnRhcmdldFNlbGVjdGlvblJhbmdlKXx8RS51bmRlZmluZWQoaS50YXJnZXRTZWxlY3Rpb25SYW5nZSkpJiYoWC5pcyhpLm9yaWdpblNlbGVjdGlvblJhbmdlKXx8RS51bmRlZmluZWQoaS5vcmlnaW5TZWxlY3Rpb25SYW5nZSkpfWUuaXM9bn0pKE9zfHwoT3M9e30pKTt2YXIgZ3I7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQocixpLHMsYSl7cmV0dXJue3JlZDpyLGdyZWVuOmksYmx1ZTpzLGFscGhhOmF9fWUuY3JlYXRlPXQ7ZnVuY3Rpb24gbihyKXt2YXIgaT1yO3JldHVybiBFLm51bWJlclJhbmdlKGkucmVkLDAsMSkmJkUubnVtYmVyUmFuZ2UoaS5ncmVlbiwwLDEpJiZFLm51bWJlclJhbmdlKGkuYmx1ZSwwLDEpJiZFLm51bWJlclJhbmdlKGkuYWxwaGEsMCwxKX1lLmlzPW59KShncnx8KGdyPXt9KSk7dmFyIFVzOyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KHIsaSl7cmV0dXJue3JhbmdlOnIsY29sb3I6aX19ZS5jcmVhdGU9dDtmdW5jdGlvbiBuKHIpe3ZhciBpPXI7cmV0dXJuIFguaXMoaS5yYW5nZSkmJmdyLmlzKGkuY29sb3IpfWUuaXM9bn0pKFVzfHwoVXM9e30pKTt2YXIganM7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQocixpLHMpe3JldHVybntsYWJlbDpyLHRleHRFZGl0OmksYWRkaXRpb25hbFRleHRFZGl0czpzfX1lLmNyZWF0ZT10O2Z1bmN0aW9uIG4ocil7dmFyIGk9cjtyZXR1cm4gRS5zdHJpbmcoaS5sYWJlbCkmJihFLnVuZGVmaW5lZChpLnRleHRFZGl0KXx8TWUuaXMoaSkpJiYoRS51bmRlZmluZWQoaS5hZGRpdGlvbmFsVGV4dEVkaXRzKXx8RS50eXBlZEFycmF5KGkuYWRkaXRpb25hbFRleHRFZGl0cyxNZS5pcykpfWUuaXM9bn0pKGpzfHwoanM9e30pKTt2YXIgJHQ7KGZ1bmN0aW9uKGUpe2UuQ29tbWVudD0iY29tbWVudCIsZS5JbXBvcnRzPSJpbXBvcnRzIixlLlJlZ2lvbj0icmVnaW9uIn0pKCR0fHwoJHQ9e30pKTt2YXIgcXM7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQocixpLHMsYSxvKXt2YXIgbD17c3RhcnRMaW5lOnIsZW5kTGluZTppfTtyZXR1cm4gRS5kZWZpbmVkKHMpJiYobC5zdGFydENoYXJhY3Rlcj1zKSxFLmRlZmluZWQoYSkmJihsLmVuZENoYXJhY3Rlcj1hKSxFLmRlZmluZWQobykmJihsLmtpbmQ9byksbH1lLmNyZWF0ZT10O2Z1bmN0aW9uIG4ocil7dmFyIGk9cjtyZXR1cm4gRS51aW50ZWdlcihpLnN0YXJ0TGluZSkmJkUudWludGVnZXIoaS5zdGFydExpbmUpJiYoRS51bmRlZmluZWQoaS5zdGFydENoYXJhY3Rlcil8fEUudWludGVnZXIoaS5zdGFydENoYXJhY3RlcikpJiYoRS51bmRlZmluZWQoaS5lbmRDaGFyYWN0ZXIpfHxFLnVpbnRlZ2VyKGkuZW5kQ2hhcmFjdGVyKSkmJihFLnVuZGVmaW5lZChpLmtpbmQpfHxFLnN0cmluZyhpLmtpbmQpKX1lLmlzPW59KShxc3x8KHFzPXt9KSk7dmFyIG1yOyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KHIsaSl7cmV0dXJue2xvY2F0aW9uOnIsbWVzc2FnZTppfX1lLmNyZWF0ZT10O2Z1bmN0aW9uIG4ocil7dmFyIGk9cjtyZXR1cm4gRS5kZWZpbmVkKGkpJiZCdC5pcyhpLmxvY2F0aW9uKSYmRS5zdHJpbmcoaS5tZXNzYWdlKX1lLmlzPW59KShtcnx8KG1yPXt9KSk7dmFyIHdlOyhmdW5jdGlvbihlKXtlLkVycm9yPTEsZS5XYXJuaW5nPTIsZS5JbmZvcm1hdGlvbj0zLGUuSGludD00fSkod2V8fCh3ZT17fSkpO3ZhciBCczsoZnVuY3Rpb24oZSl7ZS5Vbm5lY2Vzc2FyeT0xLGUuRGVwcmVjYXRlZD0yfSkoQnN8fChCcz17fSkpO3ZhciAkczsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChuKXt2YXIgcj1uO3JldHVybiByIT1udWxsJiZFLnN0cmluZyhyLmhyZWYpfWUuaXM9dH0pKCRzfHwoJHM9e30pKTt2YXIgJGU7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQocixpLHMsYSxvLGwpe3ZhciB1PXtyYW5nZTpyLG1lc3NhZ2U6aX07cmV0dXJuIEUuZGVmaW5lZChzKSYmKHUuc2V2ZXJpdHk9cyksRS5kZWZpbmVkKGEpJiYodS5jb2RlPWEpLEUuZGVmaW5lZChvKSYmKHUuc291cmNlPW8pLEUuZGVmaW5lZChsKSYmKHUucmVsYXRlZEluZm9ybWF0aW9uPWwpLHV9ZS5jcmVhdGU9dDtmdW5jdGlvbiBuKHIpe3ZhciBpLHM9cjtyZXR1cm4gRS5kZWZpbmVkKHMpJiZYLmlzKHMucmFuZ2UpJiZFLnN0cmluZyhzLm1lc3NhZ2UpJiYoRS5udW1iZXIocy5zZXZlcml0eSl8fEUudW5kZWZpbmVkKHMuc2V2ZXJpdHkpKSYmKEUuaW50ZWdlcihzLmNvZGUpfHxFLnN0cmluZyhzLmNvZGUpfHxFLnVuZGVmaW5lZChzLmNvZGUpKSYmKEUudW5kZWZpbmVkKHMuY29kZURlc2NyaXB0aW9uKXx8RS5zdHJpbmcoKGk9cy5jb2RlRGVzY3JpcHRpb24pPT09bnVsbHx8aT09PXZvaWQgMD92b2lkIDA6aS5ocmVmKSkmJihFLnN0cmluZyhzLnNvdXJjZSl8fEUudW5kZWZpbmVkKHMuc291cmNlKSkmJihFLnVuZGVmaW5lZChzLnJlbGF0ZWRJbmZvcm1hdGlvbil8fEUudHlwZWRBcnJheShzLnJlbGF0ZWRJbmZvcm1hdGlvbixtci5pcykpfWUuaXM9bn0pKCRlfHwoJGU9e30pKTt2YXIgV3Q7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQocixpKXtmb3IodmFyIHM9W10sYT0yO2E8YXJndW1lbnRzLmxlbmd0aDthKyspc1thLTJdPWFyZ3VtZW50c1thXTt2YXIgbz17dGl0bGU6cixjb21tYW5kOml9O3JldHVybiBFLmRlZmluZWQocykmJnMubGVuZ3RoPjAmJihvLmFyZ3VtZW50cz1zKSxvfWUuY3JlYXRlPXQ7ZnVuY3Rpb24gbihyKXt2YXIgaT1yO3JldHVybiBFLmRlZmluZWQoaSkmJkUuc3RyaW5nKGkudGl0bGUpJiZFLnN0cmluZyhpLmNvbW1hbmQpfWUuaXM9bn0pKFd0fHwoV3Q9e30pKTt2YXIgTWU7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQocyxhKXtyZXR1cm57cmFuZ2U6cyxuZXdUZXh0OmF9fWUucmVwbGFjZT10O2Z1bmN0aW9uIG4ocyxhKXtyZXR1cm57cmFuZ2U6e3N0YXJ0OnMsZW5kOnN9LG5ld1RleHQ6YX19ZS5pbnNlcnQ9bjtmdW5jdGlvbiByKHMpe3JldHVybntyYW5nZTpzLG5ld1RleHQ6IiJ9fWUuZGVsPXI7ZnVuY3Rpb24gaShzKXt2YXIgYT1zO3JldHVybiBFLm9iamVjdExpdGVyYWwoYSkmJkUuc3RyaW5nKGEubmV3VGV4dCkmJlguaXMoYS5yYW5nZSl9ZS5pcz1pfSkoTWV8fChNZT17fSkpO3ZhciBBdDsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChyLGkscyl7dmFyIGE9e2xhYmVsOnJ9O3JldHVybiBpIT09dm9pZCAwJiYoYS5uZWVkc0NvbmZpcm1hdGlvbj1pKSxzIT09dm9pZCAwJiYoYS5kZXNjcmlwdGlvbj1zKSxhfWUuY3JlYXRlPXQ7ZnVuY3Rpb24gbihyKXt2YXIgaT1yO3JldHVybiBpIT09dm9pZCAwJiZFLm9iamVjdExpdGVyYWwoaSkmJkUuc3RyaW5nKGkubGFiZWwpJiYoRS5ib29sZWFuKGkubmVlZHNDb25maXJtYXRpb24pfHxpLm5lZWRzQ29uZmlybWF0aW9uPT09dm9pZCAwKSYmKEUuc3RyaW5nKGkuZGVzY3JpcHRpb24pfHxpLmRlc2NyaXB0aW9uPT09dm9pZCAwKX1lLmlzPW59KShBdHx8KEF0PXt9KSk7dmFyIGZlOyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KG4pe3ZhciByPW47cmV0dXJuIHR5cGVvZiByPT0ic3RyaW5nIn1lLmlzPXR9KShmZXx8KGZlPXt9KSk7dmFyIEtlOyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KHMsYSxvKXtyZXR1cm57cmFuZ2U6cyxuZXdUZXh0OmEsYW5ub3RhdGlvbklkOm99fWUucmVwbGFjZT10O2Z1bmN0aW9uIG4ocyxhLG8pe3JldHVybntyYW5nZTp7c3RhcnQ6cyxlbmQ6c30sbmV3VGV4dDphLGFubm90YXRpb25JZDpvfX1lLmluc2VydD1uO2Z1bmN0aW9uIHIocyxhKXtyZXR1cm57cmFuZ2U6cyxuZXdUZXh0OiIiLGFubm90YXRpb25JZDphfX1lLmRlbD1yO2Z1bmN0aW9uIGkocyl7dmFyIGE9cztyZXR1cm4gTWUuaXMoYSkmJihBdC5pcyhhLmFubm90YXRpb25JZCl8fGZlLmlzKGEuYW5ub3RhdGlvbklkKSl9ZS5pcz1pfSkoS2V8fChLZT17fSkpO3ZhciBwbjsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChyLGkpe3JldHVybnt0ZXh0RG9jdW1lbnQ6cixlZGl0czppfX1lLmNyZWF0ZT10O2Z1bmN0aW9uIG4ocil7dmFyIGk9cjtyZXR1cm4gRS5kZWZpbmVkKGkpJiZibi5pcyhpLnRleHREb2N1bWVudCkmJkFycmF5LmlzQXJyYXkoaS5lZGl0cyl9ZS5pcz1ufSkocG58fChwbj17fSkpO3ZhciBIdDsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChyLGkscyl7dmFyIGE9e2tpbmQ6ImNyZWF0ZSIsdXJpOnJ9O3JldHVybiBpIT09dm9pZCAwJiYoaS5vdmVyd3JpdGUhPT12b2lkIDB8fGkuaWdub3JlSWZFeGlzdHMhPT12b2lkIDApJiYoYS5vcHRpb25zPWkpLHMhPT12b2lkIDAmJihhLmFubm90YXRpb25JZD1zKSxhfWUuY3JlYXRlPXQ7ZnVuY3Rpb24gbihyKXt2YXIgaT1yO3JldHVybiBpJiZpLmtpbmQ9PT0iY3JlYXRlIiYmRS5zdHJpbmcoaS51cmkpJiYoaS5vcHRpb25zPT09dm9pZCAwfHwoaS5vcHRpb25zLm92ZXJ3cml0ZT09PXZvaWQgMHx8RS5ib29sZWFuKGkub3B0aW9ucy5vdmVyd3JpdGUpKSYmKGkub3B0aW9ucy5pZ25vcmVJZkV4aXN0cz09PXZvaWQgMHx8RS5ib29sZWFuKGkub3B0aW9ucy5pZ25vcmVJZkV4aXN0cykpKSYmKGkuYW5ub3RhdGlvbklkPT09dm9pZCAwfHxmZS5pcyhpLmFubm90YXRpb25JZCkpfWUuaXM9bn0pKEh0fHwoSHQ9e30pKTt2YXIgenQ7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQocixpLHMsYSl7dmFyIG89e2tpbmQ6InJlbmFtZSIsb2xkVXJpOnIsbmV3VXJpOml9O3JldHVybiBzIT09dm9pZCAwJiYocy5vdmVyd3JpdGUhPT12b2lkIDB8fHMuaWdub3JlSWZFeGlzdHMhPT12b2lkIDApJiYoby5vcHRpb25zPXMpLGEhPT12b2lkIDAmJihvLmFubm90YXRpb25JZD1hKSxvfWUuY3JlYXRlPXQ7ZnVuY3Rpb24gbihyKXt2YXIgaT1yO3JldHVybiBpJiZpLmtpbmQ9PT0icmVuYW1lIiYmRS5zdHJpbmcoaS5vbGRVcmkpJiZFLnN0cmluZyhpLm5ld1VyaSkmJihpLm9wdGlvbnM9PT12b2lkIDB8fChpLm9wdGlvbnMub3ZlcndyaXRlPT09dm9pZCAwfHxFLmJvb2xlYW4oaS5vcHRpb25zLm92ZXJ3cml0ZSkpJiYoaS5vcHRpb25zLmlnbm9yZUlmRXhpc3RzPT09dm9pZCAwfHxFLmJvb2xlYW4oaS5vcHRpb25zLmlnbm9yZUlmRXhpc3RzKSkpJiYoaS5hbm5vdGF0aW9uSWQ9PT12b2lkIDB8fGZlLmlzKGkuYW5ub3RhdGlvbklkKSl9ZS5pcz1ufSkoenR8fCh6dD17fSkpO3ZhciBHdDsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChyLGkscyl7dmFyIGE9e2tpbmQ6ImRlbGV0ZSIsdXJpOnJ9O3JldHVybiBpIT09dm9pZCAwJiYoaS5yZWN1cnNpdmUhPT12b2lkIDB8fGkuaWdub3JlSWZOb3RFeGlzdHMhPT12b2lkIDApJiYoYS5vcHRpb25zPWkpLHMhPT12b2lkIDAmJihhLmFubm90YXRpb25JZD1zKSxhfWUuY3JlYXRlPXQ7ZnVuY3Rpb24gbihyKXt2YXIgaT1yO3JldHVybiBpJiZpLmtpbmQ9PT0iZGVsZXRlIiYmRS5zdHJpbmcoaS51cmkpJiYoaS5vcHRpb25zPT09dm9pZCAwfHwoaS5vcHRpb25zLnJlY3Vyc2l2ZT09PXZvaWQgMHx8RS5ib29sZWFuKGkub3B0aW9ucy5yZWN1cnNpdmUpKSYmKGkub3B0aW9ucy5pZ25vcmVJZk5vdEV4aXN0cz09PXZvaWQgMHx8RS5ib29sZWFuKGkub3B0aW9ucy5pZ25vcmVJZk5vdEV4aXN0cykpKSYmKGkuYW5ub3RhdGlvbklkPT09dm9pZCAwfHxmZS5pcyhpLmFubm90YXRpb25JZCkpfWUuaXM9bn0pKEd0fHwoR3Q9e30pKTt2YXIgcHI7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQobil7dmFyIHI9bjtyZXR1cm4gciYmKHIuY2hhbmdlcyE9PXZvaWQgMHx8ci5kb2N1bWVudENoYW5nZXMhPT12b2lkIDApJiYoci5kb2N1bWVudENoYW5nZXM9PT12b2lkIDB8fHIuZG9jdW1lbnRDaGFuZ2VzLmV2ZXJ5KGZ1bmN0aW9uKGkpe3JldHVybiBFLnN0cmluZyhpLmtpbmQpP0h0LmlzKGkpfHx6dC5pcyhpKXx8R3QuaXMoaSk6cG4uaXMoaSl9KSl9ZS5pcz10fSkocHJ8fChwcj17fSkpO3ZhciB2bj1mdW5jdGlvbigpe2Z1bmN0aW9uIGUodCxuKXt0aGlzLmVkaXRzPXQsdGhpcy5jaGFuZ2VBbm5vdGF0aW9ucz1ufXJldHVybiBlLnByb3RvdHlwZS5pbnNlcnQ9ZnVuY3Rpb24odCxuLHIpe3ZhciBpLHM7aWYocj09PXZvaWQgMD9pPU1lLmluc2VydCh0LG4pOmZlLmlzKHIpPyhzPXIsaT1LZS5pbnNlcnQodCxuLHIpKToodGhpcy5hc3NlcnRDaGFuZ2VBbm5vdGF0aW9ucyh0aGlzLmNoYW5nZUFubm90YXRpb25zKSxzPXRoaXMuY2hhbmdlQW5ub3RhdGlvbnMubWFuYWdlKHIpLGk9S2UuaW5zZXJ0KHQsbixzKSksdGhpcy5lZGl0cy5wdXNoKGkpLHMhPT12b2lkIDApcmV0dXJuIHN9LGUucHJvdG90eXBlLnJlcGxhY2U9ZnVuY3Rpb24odCxuLHIpe3ZhciBpLHM7aWYocj09PXZvaWQgMD9pPU1lLnJlcGxhY2UodCxuKTpmZS5pcyhyKT8ocz1yLGk9S2UucmVwbGFjZSh0LG4scikpOih0aGlzLmFzc2VydENoYW5nZUFubm90YXRpb25zKHRoaXMuY2hhbmdlQW5ub3RhdGlvbnMpLHM9dGhpcy5jaGFuZ2VBbm5vdGF0aW9ucy5tYW5hZ2UociksaT1LZS5yZXBsYWNlKHQsbixzKSksdGhpcy5lZGl0cy5wdXNoKGkpLHMhPT12b2lkIDApcmV0dXJuIHN9LGUucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbih0LG4pe3ZhciByLGk7aWYobj09PXZvaWQgMD9yPU1lLmRlbCh0KTpmZS5pcyhuKT8oaT1uLHI9S2UuZGVsKHQsbikpOih0aGlzLmFzc2VydENoYW5nZUFubm90YXRpb25zKHRoaXMuY2hhbmdlQW5ub3RhdGlvbnMpLGk9dGhpcy5jaGFuZ2VBbm5vdGF0aW9ucy5tYW5hZ2Uobikscj1LZS5kZWwodCxpKSksdGhpcy5lZGl0cy5wdXNoKHIpLGkhPT12b2lkIDApcmV0dXJuIGl9LGUucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0KXt0aGlzLmVkaXRzLnB1c2godCl9LGUucHJvdG90eXBlLmFsbD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVkaXRzfSxlLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuZWRpdHMuc3BsaWNlKDAsdGhpcy5lZGl0cy5sZW5ndGgpfSxlLnByb3RvdHlwZS5hc3NlcnRDaGFuZ2VBbm5vdGF0aW9ucz1mdW5jdGlvbih0KXtpZih0PT09dm9pZCAwKXRocm93IG5ldyBFcnJvcigiVGV4dCBlZGl0IGNoYW5nZSBpcyBub3QgY29uZmlndXJlZCB0byBtYW5hZ2UgY2hhbmdlIGFubm90YXRpb25zLiIpfSxlfSgpLFdzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0KXt0aGlzLl9hbm5vdGF0aW9ucz10PT09dm9pZCAwP09iamVjdC5jcmVhdGUobnVsbCk6dCx0aGlzLl9jb3VudGVyPTAsdGhpcy5fc2l6ZT0wfXJldHVybiBlLnByb3RvdHlwZS5hbGw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYW5ub3RhdGlvbnN9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwic2l6ZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9zaXplfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLGUucHJvdG90eXBlLm1hbmFnZT1mdW5jdGlvbih0LG4pe3ZhciByO2lmKGZlLmlzKHQpP3I9dDoocj10aGlzLm5leHRJZCgpLG49dCksdGhpcy5fYW5ub3RhdGlvbnNbcl0hPT12b2lkIDApdGhyb3cgbmV3IEVycm9yKCJJZCAiK3IrIiBpcyBhbHJlYWR5IGluIHVzZS4iKTtpZihuPT09dm9pZCAwKXRocm93IG5ldyBFcnJvcigiTm8gYW5ub3RhdGlvbiBwcm92aWRlZCBmb3IgaWQgIityKTtyZXR1cm4gdGhpcy5fYW5ub3RhdGlvbnNbcl09bix0aGlzLl9zaXplKysscn0sZS5wcm90b3R5cGUubmV4dElkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvdW50ZXIrKyx0aGlzLl9jb3VudGVyLnRvU3RyaW5nKCl9LGV9KCk7KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0KXt2YXIgbj10aGlzO3RoaXMuX3RleHRFZGl0Q2hhbmdlcz1PYmplY3QuY3JlYXRlKG51bGwpLHQhPT12b2lkIDA/KHRoaXMuX3dvcmtzcGFjZUVkaXQ9dCx0LmRvY3VtZW50Q2hhbmdlcz8odGhpcy5fY2hhbmdlQW5ub3RhdGlvbnM9bmV3IFdzKHQuY2hhbmdlQW5ub3RhdGlvbnMpLHQuY2hhbmdlQW5ub3RhdGlvbnM9dGhpcy5fY2hhbmdlQW5ub3RhdGlvbnMuYWxsKCksdC5kb2N1bWVudENoYW5nZXMuZm9yRWFjaChmdW5jdGlvbihyKXtpZihwbi5pcyhyKSl7dmFyIGk9bmV3IHZuKHIuZWRpdHMsbi5fY2hhbmdlQW5ub3RhdGlvbnMpO24uX3RleHRFZGl0Q2hhbmdlc1tyLnRleHREb2N1bWVudC51cmldPWl9fSkpOnQuY2hhbmdlcyYmT2JqZWN0LmtleXModC5jaGFuZ2VzKS5mb3JFYWNoKGZ1bmN0aW9uKHIpe3ZhciBpPW5ldyB2bih0LmNoYW5nZXNbcl0pO24uX3RleHRFZGl0Q2hhbmdlc1tyXT1pfSkpOnRoaXMuX3dvcmtzcGFjZUVkaXQ9e319cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwiZWRpdCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmluaXREb2N1bWVudENoYW5nZXMoKSx0aGlzLl9jaGFuZ2VBbm5vdGF0aW9ucyE9PXZvaWQgMCYmKHRoaXMuX2NoYW5nZUFubm90YXRpb25zLnNpemU9PT0wP3RoaXMuX3dvcmtzcGFjZUVkaXQuY2hhbmdlQW5ub3RhdGlvbnM9dm9pZCAwOnRoaXMuX3dvcmtzcGFjZUVkaXQuY2hhbmdlQW5ub3RhdGlvbnM9dGhpcy5fY2hhbmdlQW5ub3RhdGlvbnMuYWxsKCkpLHRoaXMuX3dvcmtzcGFjZUVkaXR9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksZS5wcm90b3R5cGUuZ2V0VGV4dEVkaXRDaGFuZ2U9ZnVuY3Rpb24odCl7aWYoYm4uaXModCkpe2lmKHRoaXMuaW5pdERvY3VtZW50Q2hhbmdlcygpLHRoaXMuX3dvcmtzcGFjZUVkaXQuZG9jdW1lbnRDaGFuZ2VzPT09dm9pZCAwKXRocm93IG5ldyBFcnJvcigiV29ya3NwYWNlIGVkaXQgaXMgbm90IGNvbmZpZ3VyZWQgZm9yIGRvY3VtZW50IGNoYW5nZXMuIik7dmFyIG49e3VyaTp0LnVyaSx2ZXJzaW9uOnQudmVyc2lvbn0scj10aGlzLl90ZXh0RWRpdENoYW5nZXNbbi51cmldO2lmKCFyKXt2YXIgaT1bXSxzPXt0ZXh0RG9jdW1lbnQ6bixlZGl0czppfTt0aGlzLl93b3Jrc3BhY2VFZGl0LmRvY3VtZW50Q2hhbmdlcy5wdXNoKHMpLHI9bmV3IHZuKGksdGhpcy5fY2hhbmdlQW5ub3RhdGlvbnMpLHRoaXMuX3RleHRFZGl0Q2hhbmdlc1tuLnVyaV09cn1yZXR1cm4gcn1lbHNle2lmKHRoaXMuaW5pdENoYW5nZXMoKSx0aGlzLl93b3Jrc3BhY2VFZGl0LmNoYW5nZXM9PT12b2lkIDApdGhyb3cgbmV3IEVycm9yKCJXb3Jrc3BhY2UgZWRpdCBpcyBub3QgY29uZmlndXJlZCBmb3Igbm9ybWFsIHRleHQgZWRpdCBjaGFuZ2VzLiIpO3ZhciByPXRoaXMuX3RleHRFZGl0Q2hhbmdlc1t0XTtpZighcil7dmFyIGk9W107dGhpcy5fd29ya3NwYWNlRWRpdC5jaGFuZ2VzW3RdPWkscj1uZXcgdm4oaSksdGhpcy5fdGV4dEVkaXRDaGFuZ2VzW3RdPXJ9cmV0dXJuIHJ9fSxlLnByb3RvdHlwZS5pbml0RG9jdW1lbnRDaGFuZ2VzPWZ1bmN0aW9uKCl7dGhpcy5fd29ya3NwYWNlRWRpdC5kb2N1bWVudENoYW5nZXM9PT12b2lkIDAmJnRoaXMuX3dvcmtzcGFjZUVkaXQuY2hhbmdlcz09PXZvaWQgMCYmKHRoaXMuX2NoYW5nZUFubm90YXRpb25zPW5ldyBXcyx0aGlzLl93b3Jrc3BhY2VFZGl0LmRvY3VtZW50Q2hhbmdlcz1bXSx0aGlzLl93b3Jrc3BhY2VFZGl0LmNoYW5nZUFubm90YXRpb25zPXRoaXMuX2NoYW5nZUFubm90YXRpb25zLmFsbCgpKX0sZS5wcm90b3R5cGUuaW5pdENoYW5nZXM9ZnVuY3Rpb24oKXt0aGlzLl93b3Jrc3BhY2VFZGl0LmRvY3VtZW50Q2hhbmdlcz09PXZvaWQgMCYmdGhpcy5fd29ya3NwYWNlRWRpdC5jaGFuZ2VzPT09dm9pZCAwJiYodGhpcy5fd29ya3NwYWNlRWRpdC5jaGFuZ2VzPU9iamVjdC5jcmVhdGUobnVsbCkpfSxlLnByb3RvdHlwZS5jcmVhdGVGaWxlPWZ1bmN0aW9uKHQsbixyKXtpZih0aGlzLmluaXREb2N1bWVudENoYW5nZXMoKSx0aGlzLl93b3Jrc3BhY2VFZGl0LmRvY3VtZW50Q2hhbmdlcz09PXZvaWQgMCl0aHJvdyBuZXcgRXJyb3IoIldvcmtzcGFjZSBlZGl0IGlzIG5vdCBjb25maWd1cmVkIGZvciBkb2N1bWVudCBjaGFuZ2VzLiIpO3ZhciBpO0F0LmlzKG4pfHxmZS5pcyhuKT9pPW46cj1uO3ZhciBzLGE7aWYoaT09PXZvaWQgMD9zPUh0LmNyZWF0ZSh0LHIpOihhPWZlLmlzKGkpP2k6dGhpcy5fY2hhbmdlQW5ub3RhdGlvbnMubWFuYWdlKGkpLHM9SHQuY3JlYXRlKHQscixhKSksdGhpcy5fd29ya3NwYWNlRWRpdC5kb2N1bWVudENoYW5nZXMucHVzaChzKSxhIT09dm9pZCAwKXJldHVybiBhfSxlLnByb3RvdHlwZS5yZW5hbWVGaWxlPWZ1bmN0aW9uKHQsbixyLGkpe2lmKHRoaXMuaW5pdERvY3VtZW50Q2hhbmdlcygpLHRoaXMuX3dvcmtzcGFjZUVkaXQuZG9jdW1lbnRDaGFuZ2VzPT09dm9pZCAwKXRocm93IG5ldyBFcnJvcigiV29ya3NwYWNlIGVkaXQgaXMgbm90IGNvbmZpZ3VyZWQgZm9yIGRvY3VtZW50IGNoYW5nZXMuIik7dmFyIHM7QXQuaXMocil8fGZlLmlzKHIpP3M9cjppPXI7dmFyIGEsbztpZihzPT09dm9pZCAwP2E9enQuY3JlYXRlKHQsbixpKToobz1mZS5pcyhzKT9zOnRoaXMuX2NoYW5nZUFubm90YXRpb25zLm1hbmFnZShzKSxhPXp0LmNyZWF0ZSh0LG4saSxvKSksdGhpcy5fd29ya3NwYWNlRWRpdC5kb2N1bWVudENoYW5nZXMucHVzaChhKSxvIT09dm9pZCAwKXJldHVybiBvfSxlLnByb3RvdHlwZS5kZWxldGVGaWxlPWZ1bmN0aW9uKHQsbixyKXtpZih0aGlzLmluaXREb2N1bWVudENoYW5nZXMoKSx0aGlzLl93b3Jrc3BhY2VFZGl0LmRvY3VtZW50Q2hhbmdlcz09PXZvaWQgMCl0aHJvdyBuZXcgRXJyb3IoIldvcmtzcGFjZSBlZGl0IGlzIG5vdCBjb25maWd1cmVkIGZvciBkb2N1bWVudCBjaGFuZ2VzLiIpO3ZhciBpO0F0LmlzKG4pfHxmZS5pcyhuKT9pPW46cj1uO3ZhciBzLGE7aWYoaT09PXZvaWQgMD9zPUd0LmNyZWF0ZSh0LHIpOihhPWZlLmlzKGkpP2k6dGhpcy5fY2hhbmdlQW5ub3RhdGlvbnMubWFuYWdlKGkpLHM9R3QuY3JlYXRlKHQscixhKSksdGhpcy5fd29ya3NwYWNlRWRpdC5kb2N1bWVudENoYW5nZXMucHVzaChzKSxhIT09dm9pZCAwKXJldHVybiBhfSxlfSkoKTt2YXIgSHM7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQocil7cmV0dXJue3VyaTpyfX1lLmNyZWF0ZT10O2Z1bmN0aW9uIG4ocil7dmFyIGk9cjtyZXR1cm4gRS5kZWZpbmVkKGkpJiZFLnN0cmluZyhpLnVyaSl9ZS5pcz1ufSkoSHN8fChIcz17fSkpO3ZhciB6czsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChyLGkpe3JldHVybnt1cmk6cix2ZXJzaW9uOml9fWUuY3JlYXRlPXQ7ZnVuY3Rpb24gbihyKXt2YXIgaT1yO3JldHVybiBFLmRlZmluZWQoaSkmJkUuc3RyaW5nKGkudXJpKSYmRS5pbnRlZ2VyKGkudmVyc2lvbil9ZS5pcz1ufSkoenN8fCh6cz17fSkpO3ZhciBibjsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChyLGkpe3JldHVybnt1cmk6cix2ZXJzaW9uOml9fWUuY3JlYXRlPXQ7ZnVuY3Rpb24gbihyKXt2YXIgaT1yO3JldHVybiBFLmRlZmluZWQoaSkmJkUuc3RyaW5nKGkudXJpKSYmKGkudmVyc2lvbj09PW51bGx8fEUuaW50ZWdlcihpLnZlcnNpb24pKX1lLmlzPW59KShibnx8KGJuPXt9KSk7dmFyIEdzOyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KHIsaSxzLGEpe3JldHVybnt1cmk6cixsYW5ndWFnZUlkOmksdmVyc2lvbjpzLHRleHQ6YX19ZS5jcmVhdGU9dDtmdW5jdGlvbiBuKHIpe3ZhciBpPXI7cmV0dXJuIEUuZGVmaW5lZChpKSYmRS5zdHJpbmcoaS51cmkpJiZFLnN0cmluZyhpLmxhbmd1YWdlSWQpJiZFLmludGVnZXIoaS52ZXJzaW9uKSYmRS5zdHJpbmcoaS50ZXh0KX1lLmlzPW59KShHc3x8KEdzPXt9KSk7dmFyIFdlOyhmdW5jdGlvbihlKXtlLlBsYWluVGV4dD0icGxhaW50ZXh0IixlLk1hcmtkb3duPSJtYXJrZG93biJ9KShXZXx8KFdlPXt9KSksZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChuKXt2YXIgcj1uO3JldHVybiByPT09ZS5QbGFpblRleHR8fHI9PT1lLk1hcmtkb3dufWUuaXM9dH0oV2V8fChXZT17fSkpO3ZhciB2cjsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChuKXt2YXIgcj1uO3JldHVybiBFLm9iamVjdExpdGVyYWwobikmJldlLmlzKHIua2luZCkmJkUuc3RyaW5nKHIudmFsdWUpfWUuaXM9dH0pKHZyfHwodnI9e30pKTt2YXIgU2U7KGZ1bmN0aW9uKGUpe2UuVGV4dD0xLGUuTWV0aG9kPTIsZS5GdW5jdGlvbj0zLGUuQ29uc3RydWN0b3I9NCxlLkZpZWxkPTUsZS5WYXJpYWJsZT02LGUuQ2xhc3M9NyxlLkludGVyZmFjZT04LGUuTW9kdWxlPTksZS5Qcm9wZXJ0eT0xMCxlLlVuaXQ9MTEsZS5WYWx1ZT0xMixlLkVudW09MTMsZS5LZXl3b3JkPTE0LGUuU25pcHBldD0xNSxlLkNvbG9yPTE2LGUuRmlsZT0xNyxlLlJlZmVyZW5jZT0xOCxlLkZvbGRlcj0xOSxlLkVudW1NZW1iZXI9MjAsZS5Db25zdGFudD0yMSxlLlN0cnVjdD0yMixlLkV2ZW50PTIzLGUuT3BlcmF0b3I9MjQsZS5UeXBlUGFyYW1ldGVyPTI1fSkoU2V8fChTZT17fSkpO3ZhciBpZTsoZnVuY3Rpb24oZSl7ZS5QbGFpblRleHQ9MSxlLlNuaXBwZXQ9Mn0pKGllfHwoaWU9e30pKTt2YXIgSnM7KGZ1bmN0aW9uKGUpe2UuRGVwcmVjYXRlZD0xfSkoSnN8fChKcz17fSkpO3ZhciBYczsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChyLGkscyl7cmV0dXJue25ld1RleHQ6cixpbnNlcnQ6aSxyZXBsYWNlOnN9fWUuY3JlYXRlPXQ7ZnVuY3Rpb24gbihyKXt2YXIgaT1yO3JldHVybiBpJiZFLnN0cmluZyhpLm5ld1RleHQpJiZYLmlzKGkuaW5zZXJ0KSYmWC5pcyhpLnJlcGxhY2UpfWUuaXM9bn0pKFhzfHwoWHM9e30pKTt2YXIgUXM7KGZ1bmN0aW9uKGUpe2UuYXNJcz0xLGUuYWRqdXN0SW5kZW50YXRpb249Mn0pKFFzfHwoUXM9e30pKTt2YXIgYnI7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQobil7cmV0dXJue2xhYmVsOm59fWUuY3JlYXRlPXR9KShicnx8KGJyPXt9KSk7dmFyIFpzOyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KG4scil7cmV0dXJue2l0ZW1zOm58fFtdLGlzSW5jb21wbGV0ZTohIXJ9fWUuY3JlYXRlPXR9KShac3x8KFpzPXt9KSk7dmFyIHhuOyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KHIpe3JldHVybiByLnJlcGxhY2UoL1tcXGAqX3t9W1xdKCkjK1wtLiFdL2csIlxcJCYiKX1lLmZyb21QbGFpblRleHQ9dDtmdW5jdGlvbiBuKHIpe3ZhciBpPXI7cmV0dXJuIEUuc3RyaW5nKGkpfHxFLm9iamVjdExpdGVyYWwoaSkmJkUuc3RyaW5nKGkubGFuZ3VhZ2UpJiZFLnN0cmluZyhpLnZhbHVlKX1lLmlzPW59KSh4bnx8KHhuPXt9KSk7dmFyIFlzOyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KG4pe3ZhciByPW47cmV0dXJuISFyJiZFLm9iamVjdExpdGVyYWwocikmJih2ci5pcyhyLmNvbnRlbnRzKXx8eG4uaXMoci5jb250ZW50cyl8fEUudHlwZWRBcnJheShyLmNvbnRlbnRzLHhuLmlzKSkmJihuLnJhbmdlPT09dm9pZCAwfHxYLmlzKG4ucmFuZ2UpKX1lLmlzPXR9KShZc3x8KFlzPXt9KSk7dmFyIEtzOyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KG4scil7cmV0dXJuIHI/e2xhYmVsOm4sZG9jdW1lbnRhdGlvbjpyfTp7bGFiZWw6bn19ZS5jcmVhdGU9dH0pKEtzfHwoS3M9e30pKTt2YXIgZWE7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQobixyKXtmb3IodmFyIGk9W10scz0yO3M8YXJndW1lbnRzLmxlbmd0aDtzKyspaVtzLTJdPWFyZ3VtZW50c1tzXTt2YXIgYT17bGFiZWw6bn07cmV0dXJuIEUuZGVmaW5lZChyKSYmKGEuZG9jdW1lbnRhdGlvbj1yKSxFLmRlZmluZWQoaSk/YS5wYXJhbWV0ZXJzPWk6YS5wYXJhbWV0ZXJzPVtdLGF9ZS5jcmVhdGU9dH0pKGVhfHwoZWE9e30pKTt2YXIgdGE7KGZ1bmN0aW9uKGUpe2UuVGV4dD0xLGUuUmVhZD0yLGUuV3JpdGU9M30pKHRhfHwodGE9e30pKTt2YXIgbmE7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQobixyKXt2YXIgaT17cmFuZ2U6bn07cmV0dXJuIEUubnVtYmVyKHIpJiYoaS5raW5kPXIpLGl9ZS5jcmVhdGU9dH0pKG5hfHwobmE9e30pKTt2YXIgRGU7KGZ1bmN0aW9uKGUpe2UuRmlsZT0xLGUuTW9kdWxlPTIsZS5OYW1lc3BhY2U9MyxlLlBhY2thZ2U9NCxlLkNsYXNzPTUsZS5NZXRob2Q9NixlLlByb3BlcnR5PTcsZS5GaWVsZD04LGUuQ29uc3RydWN0b3I9OSxlLkVudW09MTAsZS5JbnRlcmZhY2U9MTEsZS5GdW5jdGlvbj0xMixlLlZhcmlhYmxlPTEzLGUuQ29uc3RhbnQ9MTQsZS5TdHJpbmc9MTUsZS5OdW1iZXI9MTYsZS5Cb29sZWFuPTE3LGUuQXJyYXk9MTgsZS5PYmplY3Q9MTksZS5LZXk9MjAsZS5OdWxsPTIxLGUuRW51bU1lbWJlcj0yMixlLlN0cnVjdD0yMyxlLkV2ZW50PTI0LGUuT3BlcmF0b3I9MjUsZS5UeXBlUGFyYW1ldGVyPTI2fSkoRGV8fChEZT17fSkpO3ZhciByYTsoZnVuY3Rpb24oZSl7ZS5EZXByZWNhdGVkPTF9KShyYXx8KHJhPXt9KSk7dmFyIGlhOyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KG4scixpLHMsYSl7dmFyIG89e25hbWU6bixraW5kOnIsbG9jYXRpb246e3VyaTpzLHJhbmdlOml9fTtyZXR1cm4gYSYmKG8uY29udGFpbmVyTmFtZT1hKSxvfWUuY3JlYXRlPXR9KShpYXx8KGlhPXt9KSk7dmFyIHNhOyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KHIsaSxzLGEsbyxsKXt2YXIgdT17bmFtZTpyLGRldGFpbDppLGtpbmQ6cyxyYW5nZTphLHNlbGVjdGlvblJhbmdlOm99O3JldHVybiBsIT09dm9pZCAwJiYodS5jaGlsZHJlbj1sKSx1fWUuY3JlYXRlPXQ7ZnVuY3Rpb24gbihyKXt2YXIgaT1yO3JldHVybiBpJiZFLnN0cmluZyhpLm5hbWUpJiZFLm51bWJlcihpLmtpbmQpJiZYLmlzKGkucmFuZ2UpJiZYLmlzKGkuc2VsZWN0aW9uUmFuZ2UpJiYoaS5kZXRhaWw9PT12b2lkIDB8fEUuc3RyaW5nKGkuZGV0YWlsKSkmJihpLmRlcHJlY2F0ZWQ9PT12b2lkIDB8fEUuYm9vbGVhbihpLmRlcHJlY2F0ZWQpKSYmKGkuY2hpbGRyZW49PT12b2lkIDB8fEFycmF5LmlzQXJyYXkoaS5jaGlsZHJlbikpJiYoaS50YWdzPT09dm9pZCAwfHxBcnJheS5pc0FycmF5KGkudGFncykpfWUuaXM9bn0pKHNhfHwoc2E9e30pKTt2YXIgYWE7KGZ1bmN0aW9uKGUpe2UuRW1wdHk9IiIsZS5RdWlja0ZpeD0icXVpY2tmaXgiLGUuUmVmYWN0b3I9InJlZmFjdG9yIixlLlJlZmFjdG9yRXh0cmFjdD0icmVmYWN0b3IuZXh0cmFjdCIsZS5SZWZhY3RvcklubGluZT0icmVmYWN0b3IuaW5saW5lIixlLlJlZmFjdG9yUmV3cml0ZT0icmVmYWN0b3IucmV3cml0ZSIsZS5Tb3VyY2U9InNvdXJjZSIsZS5Tb3VyY2VPcmdhbml6ZUltcG9ydHM9InNvdXJjZS5vcmdhbml6ZUltcG9ydHMiLGUuU291cmNlRml4QWxsPSJzb3VyY2UuZml4QWxsIn0pKGFhfHwoYWE9e30pKTt2YXIgb2E7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQocixpKXt2YXIgcz17ZGlhZ25vc3RpY3M6cn07cmV0dXJuIGkhPW51bGwmJihzLm9ubHk9aSksc31lLmNyZWF0ZT10O2Z1bmN0aW9uIG4ocil7dmFyIGk9cjtyZXR1cm4gRS5kZWZpbmVkKGkpJiZFLnR5cGVkQXJyYXkoaS5kaWFnbm9zdGljcywkZS5pcykmJihpLm9ubHk9PT12b2lkIDB8fEUudHlwZWRBcnJheShpLm9ubHksRS5zdHJpbmcpKX1lLmlzPW59KShvYXx8KG9hPXt9KSk7dmFyIGxhOyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KHIsaSxzKXt2YXIgYT17dGl0bGU6cn0sbz0hMDtyZXR1cm4gdHlwZW9mIGk9PSJzdHJpbmciPyhvPSExLGEua2luZD1pKTpXdC5pcyhpKT9hLmNvbW1hbmQ9aTphLmVkaXQ9aSxvJiZzIT09dm9pZCAwJiYoYS5raW5kPXMpLGF9ZS5jcmVhdGU9dDtmdW5jdGlvbiBuKHIpe3ZhciBpPXI7cmV0dXJuIGkmJkUuc3RyaW5nKGkudGl0bGUpJiYoaS5kaWFnbm9zdGljcz09PXZvaWQgMHx8RS50eXBlZEFycmF5KGkuZGlhZ25vc3RpY3MsJGUuaXMpKSYmKGkua2luZD09PXZvaWQgMHx8RS5zdHJpbmcoaS5raW5kKSkmJihpLmVkaXQhPT12b2lkIDB8fGkuY29tbWFuZCE9PXZvaWQgMCkmJihpLmNvbW1hbmQ9PT12b2lkIDB8fFd0LmlzKGkuY29tbWFuZCkpJiYoaS5pc1ByZWZlcnJlZD09PXZvaWQgMHx8RS5ib29sZWFuKGkuaXNQcmVmZXJyZWQpKSYmKGkuZWRpdD09PXZvaWQgMHx8cHIuaXMoaS5lZGl0KSl9ZS5pcz1ufSkobGF8fChsYT17fSkpO3ZhciB1YTsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChyLGkpe3ZhciBzPXtyYW5nZTpyfTtyZXR1cm4gRS5kZWZpbmVkKGkpJiYocy5kYXRhPWkpLHN9ZS5jcmVhdGU9dDtmdW5jdGlvbiBuKHIpe3ZhciBpPXI7cmV0dXJuIEUuZGVmaW5lZChpKSYmWC5pcyhpLnJhbmdlKSYmKEUudW5kZWZpbmVkKGkuY29tbWFuZCl8fFd0LmlzKGkuY29tbWFuZCkpfWUuaXM9bn0pKHVhfHwodWE9e30pKTt2YXIgY2E7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQocixpKXtyZXR1cm57dGFiU2l6ZTpyLGluc2VydFNwYWNlczppfX1lLmNyZWF0ZT10O2Z1bmN0aW9uIG4ocil7dmFyIGk9cjtyZXR1cm4gRS5kZWZpbmVkKGkpJiZFLnVpbnRlZ2VyKGkudGFiU2l6ZSkmJkUuYm9vbGVhbihpLmluc2VydFNwYWNlcyl9ZS5pcz1ufSkoY2F8fChjYT17fSkpO3ZhciBmYTsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChyLGkscyl7cmV0dXJue3JhbmdlOnIsdGFyZ2V0OmksZGF0YTpzfX1lLmNyZWF0ZT10O2Z1bmN0aW9uIG4ocil7dmFyIGk9cjtyZXR1cm4gRS5kZWZpbmVkKGkpJiZYLmlzKGkucmFuZ2UpJiYoRS51bmRlZmluZWQoaS50YXJnZXQpfHxFLnN0cmluZyhpLnRhcmdldCkpfWUuaXM9bn0pKGZhfHwoZmE9e30pKTt2YXIgeW47KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQocixpKXtyZXR1cm57cmFuZ2U6cixwYXJlbnQ6aX19ZS5jcmVhdGU9dDtmdW5jdGlvbiBuKHIpe3ZhciBpPXI7cmV0dXJuIGkhPT12b2lkIDAmJlguaXMoaS5yYW5nZSkmJihpLnBhcmVudD09PXZvaWQgMHx8ZS5pcyhpLnBhcmVudCkpfWUuaXM9bn0pKHlufHwoeW49e30pKTt2YXIgaGE7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQocyxhLG8sbCl7cmV0dXJuIG5ldyB2dShzLGEsbyxsKX1lLmNyZWF0ZT10O2Z1bmN0aW9uIG4ocyl7dmFyIGE9cztyZXR1cm4hIShFLmRlZmluZWQoYSkmJkUuc3RyaW5nKGEudXJpKSYmKEUudW5kZWZpbmVkKGEubGFuZ3VhZ2VJZCl8fEUuc3RyaW5nKGEubGFuZ3VhZ2VJZCkpJiZFLnVpbnRlZ2VyKGEubGluZUNvdW50KSYmRS5mdW5jKGEuZ2V0VGV4dCkmJkUuZnVuYyhhLnBvc2l0aW9uQXQpJiZFLmZ1bmMoYS5vZmZzZXRBdCkpfWUuaXM9bjtmdW5jdGlvbiByKHMsYSl7Zm9yKHZhciBvPXMuZ2V0VGV4dCgpLGw9aShhLGZ1bmN0aW9uKG0sdil7dmFyIHA9bS5yYW5nZS5zdGFydC5saW5lLXYucmFuZ2Uuc3RhcnQubGluZTtyZXR1cm4gcD09PTA/bS5yYW5nZS5zdGFydC5jaGFyYWN0ZXItdi5yYW5nZS5zdGFydC5jaGFyYWN0ZXI6cH0pLHU9by5sZW5ndGgsZj1sLmxlbmd0aC0xO2Y+PTA7Zi0tKXt2YXIgaD1sW2ZdLGQ9cy5vZmZzZXRBdChoLnJhbmdlLnN0YXJ0KSxnPXMub2Zmc2V0QXQoaC5yYW5nZS5lbmQpO2lmKGc8PXUpbz1vLnN1YnN0cmluZygwLGQpK2gubmV3VGV4dCtvLnN1YnN0cmluZyhnLG8ubGVuZ3RoKTtlbHNlIHRocm93IG5ldyBFcnJvcigiT3ZlcmxhcHBpbmcgZWRpdCIpO3U9ZH1yZXR1cm4gb31lLmFwcGx5RWRpdHM9cjtmdW5jdGlvbiBpKHMsYSl7aWYocy5sZW5ndGg8PTEpcmV0dXJuIHM7dmFyIG89cy5sZW5ndGgvMnwwLGw9cy5zbGljZSgwLG8pLHU9cy5zbGljZShvKTtpKGwsYSksaSh1LGEpO2Zvcih2YXIgZj0wLGg9MCxkPTA7ZjxsLmxlbmd0aCYmaDx1Lmxlbmd0aDspe3ZhciBnPWEobFtmXSx1W2hdKTtnPD0wP3NbZCsrXT1sW2YrK106c1tkKytdPXVbaCsrXX1mb3IoO2Y8bC5sZW5ndGg7KXNbZCsrXT1sW2YrK107Zm9yKDtoPHUubGVuZ3RoOylzW2QrK109dVtoKytdO3JldHVybiBzfX0pKGhhfHwoaGE9e30pKTt2YXIgdnU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQsbixyLGkpe3RoaXMuX3VyaT10LHRoaXMuX2xhbmd1YWdlSWQ9bix0aGlzLl92ZXJzaW9uPXIsdGhpcy5fY29udGVudD1pLHRoaXMuX2xpbmVPZmZzZXRzPXZvaWQgMH1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJ1cmkiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdXJpfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwibGFuZ3VhZ2VJZCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9sYW5ndWFnZUlkfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwidmVyc2lvbiIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl92ZXJzaW9ufSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLGUucHJvdG90eXBlLmdldFRleHQ9ZnVuY3Rpb24odCl7aWYodCl7dmFyIG49dGhpcy5vZmZzZXRBdCh0LnN0YXJ0KSxyPXRoaXMub2Zmc2V0QXQodC5lbmQpO3JldHVybiB0aGlzLl9jb250ZW50LnN1YnN0cmluZyhuLHIpfXJldHVybiB0aGlzLl9jb250ZW50fSxlLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24odCxuKXt0aGlzLl9jb250ZW50PXQudGV4dCx0aGlzLl92ZXJzaW9uPW4sdGhpcy5fbGluZU9mZnNldHM9dm9pZCAwfSxlLnByb3RvdHlwZS5nZXRMaW5lT2Zmc2V0cz1mdW5jdGlvbigpe2lmKHRoaXMuX2xpbmVPZmZzZXRzPT09dm9pZCAwKXtmb3IodmFyIHQ9W10sbj10aGlzLl9jb250ZW50LHI9ITAsaT0wO2k8bi5sZW5ndGg7aSsrKXtyJiYodC5wdXNoKGkpLHI9ITEpO3ZhciBzPW4uY2hhckF0KGkpO3I9cz09PSJcciJ8fHM9PT1gCmAscz09PSJcciImJmkrMTxuLmxlbmd0aCYmbi5jaGFyQXQoaSsxKT09PWAKYCYmaSsrfXImJm4ubGVuZ3RoPjAmJnQucHVzaChuLmxlbmd0aCksdGhpcy5fbGluZU9mZnNldHM9dH1yZXR1cm4gdGhpcy5fbGluZU9mZnNldHN9LGUucHJvdG90eXBlLnBvc2l0aW9uQXQ9ZnVuY3Rpb24odCl7dD1NYXRoLm1heChNYXRoLm1pbih0LHRoaXMuX2NvbnRlbnQubGVuZ3RoKSwwKTt2YXIgbj10aGlzLmdldExpbmVPZmZzZXRzKCkscj0wLGk9bi5sZW5ndGg7aWYoaT09PTApcmV0dXJuIFJlLmNyZWF0ZSgwLHQpO2Zvcig7cjxpOyl7dmFyIHM9TWF0aC5mbG9vcigocitpKS8yKTtuW3NdPnQ/aT1zOnI9cysxfXZhciBhPXItMTtyZXR1cm4gUmUuY3JlYXRlKGEsdC1uW2FdKX0sZS5wcm90b3R5cGUub2Zmc2V0QXQ9ZnVuY3Rpb24odCl7dmFyIG49dGhpcy5nZXRMaW5lT2Zmc2V0cygpO2lmKHQubGluZT49bi5sZW5ndGgpcmV0dXJuIHRoaXMuX2NvbnRlbnQubGVuZ3RoO2lmKHQubGluZTwwKXJldHVybiAwO3ZhciByPW5bdC5saW5lXSxpPXQubGluZSsxPG4ubGVuZ3RoP25bdC5saW5lKzFdOnRoaXMuX2NvbnRlbnQubGVuZ3RoO3JldHVybiBNYXRoLm1heChNYXRoLm1pbihyK3QuY2hhcmFjdGVyLGkpLHIpfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsImxpbmVDb3VudCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmdldExpbmVPZmZzZXRzKCkubGVuZ3RofSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLGV9KCksRTsoZnVuY3Rpb24oZSl7dmFyIHQ9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztmdW5jdGlvbiBuKGcpe3JldHVybiB0eXBlb2YgZzwidSJ9ZS5kZWZpbmVkPW47ZnVuY3Rpb24gcihnKXtyZXR1cm4gdHlwZW9mIGc+InUifWUudW5kZWZpbmVkPXI7ZnVuY3Rpb24gaShnKXtyZXR1cm4gZz09PSEwfHxnPT09ITF9ZS5ib29sZWFuPWk7ZnVuY3Rpb24gcyhnKXtyZXR1cm4gdC5jYWxsKGcpPT09IltvYmplY3QgU3RyaW5nXSJ9ZS5zdHJpbmc9cztmdW5jdGlvbiBhKGcpe3JldHVybiB0LmNhbGwoZyk9PT0iW29iamVjdCBOdW1iZXJdIn1lLm51bWJlcj1hO2Z1bmN0aW9uIG8oZyxtLHYpe3JldHVybiB0LmNhbGwoZyk9PT0iW29iamVjdCBOdW1iZXJdIiYmbTw9ZyYmZzw9dn1lLm51bWJlclJhbmdlPW87ZnVuY3Rpb24gbChnKXtyZXR1cm4gdC5jYWxsKGcpPT09IltvYmplY3QgTnVtYmVyXSImJi0yMTQ3NDgzNjQ4PD1nJiZnPD0yMTQ3NDgzNjQ3fWUuaW50ZWdlcj1sO2Z1bmN0aW9uIHUoZyl7cmV0dXJuIHQuY2FsbChnKT09PSJbb2JqZWN0IE51bWJlcl0iJiYwPD1nJiZnPD0yMTQ3NDgzNjQ3fWUudWludGVnZXI9dTtmdW5jdGlvbiBmKGcpe3JldHVybiB0LmNhbGwoZyk9PT0iW29iamVjdCBGdW5jdGlvbl0ifWUuZnVuYz1mO2Z1bmN0aW9uIGgoZyl7cmV0dXJuIGchPT1udWxsJiZ0eXBlb2YgZz09Im9iamVjdCJ9ZS5vYmplY3RMaXRlcmFsPWg7ZnVuY3Rpb24gZChnLG0pe3JldHVybiBBcnJheS5pc0FycmF5KGcpJiZnLmV2ZXJ5KG0pfWUudHlwZWRBcnJheT1kfSkoRXx8KEU9e30pKTt2YXIgZGE9Y2xhc3MgSXJ7Y29uc3RydWN0b3IodCxuLHIsaSl7dGhpcy5fdXJpPXQsdGhpcy5fbGFuZ3VhZ2VJZD1uLHRoaXMuX3ZlcnNpb249cix0aGlzLl9jb250ZW50PWksdGhpcy5fbGluZU9mZnNldHM9dm9pZCAwfWdldCB1cmkoKXtyZXR1cm4gdGhpcy5fdXJpfWdldCBsYW5ndWFnZUlkKCl7cmV0dXJuIHRoaXMuX2xhbmd1YWdlSWR9Z2V0IHZlcnNpb24oKXtyZXR1cm4gdGhpcy5fdmVyc2lvbn1nZXRUZXh0KHQpe2lmKHQpe2NvbnN0IG49dGhpcy5vZmZzZXRBdCh0LnN0YXJ0KSxyPXRoaXMub2Zmc2V0QXQodC5lbmQpO3JldHVybiB0aGlzLl9jb250ZW50LnN1YnN0cmluZyhuLHIpfXJldHVybiB0aGlzLl9jb250ZW50fXVwZGF0ZSh0LG4pe2ZvcihsZXQgciBvZiB0KWlmKElyLmlzSW5jcmVtZW50YWwocikpe2NvbnN0IGk9bWEoci5yYW5nZSkscz10aGlzLm9mZnNldEF0KGkuc3RhcnQpLGE9dGhpcy5vZmZzZXRBdChpLmVuZCk7dGhpcy5fY29udGVudD10aGlzLl9jb250ZW50LnN1YnN0cmluZygwLHMpK3IudGV4dCt0aGlzLl9jb250ZW50LnN1YnN0cmluZyhhLHRoaXMuX2NvbnRlbnQubGVuZ3RoKTtjb25zdCBvPU1hdGgubWF4KGkuc3RhcnQubGluZSwwKSxsPU1hdGgubWF4KGkuZW5kLmxpbmUsMCk7bGV0IHU9dGhpcy5fbGluZU9mZnNldHM7Y29uc3QgZj1nYShyLnRleHQsITEscyk7aWYobC1vPT09Zi5sZW5ndGgpZm9yKGxldCBkPTAsZz1mLmxlbmd0aDtkPGc7ZCsrKXVbZCtvKzFdPWZbZF07ZWxzZSBmLmxlbmd0aDwxZTQ/dS5zcGxpY2UobysxLGwtbywuLi5mKTp0aGlzLl9saW5lT2Zmc2V0cz11PXUuc2xpY2UoMCxvKzEpLmNvbmNhdChmLHUuc2xpY2UobCsxKSk7Y29uc3QgaD1yLnRleHQubGVuZ3RoLShhLXMpO2lmKGghPT0wKWZvcihsZXQgZD1vKzErZi5sZW5ndGgsZz11Lmxlbmd0aDtkPGc7ZCsrKXVbZF09dVtkXStofWVsc2UgaWYoSXIuaXNGdWxsKHIpKXRoaXMuX2NvbnRlbnQ9ci50ZXh0LHRoaXMuX2xpbmVPZmZzZXRzPXZvaWQgMDtlbHNlIHRocm93IG5ldyBFcnJvcigiVW5rbm93biBjaGFuZ2UgZXZlbnQgcmVjZWl2ZWQiKTt0aGlzLl92ZXJzaW9uPW59Z2V0TGluZU9mZnNldHMoKXtyZXR1cm4gdGhpcy5fbGluZU9mZnNldHM9PT12b2lkIDAmJih0aGlzLl9saW5lT2Zmc2V0cz1nYSh0aGlzLl9jb250ZW50LCEwKSksdGhpcy5fbGluZU9mZnNldHN9cG9zaXRpb25BdCh0KXt0PU1hdGgubWF4KE1hdGgubWluKHQsdGhpcy5fY29udGVudC5sZW5ndGgpLDApO2xldCBuPXRoaXMuZ2V0TGluZU9mZnNldHMoKSxyPTAsaT1uLmxlbmd0aDtpZihpPT09MClyZXR1cm57bGluZTowLGNoYXJhY3Rlcjp0fTtmb3IoO3I8aTspe2xldCBhPU1hdGguZmxvb3IoKHIraSkvMik7blthXT50P2k9YTpyPWErMX1sZXQgcz1yLTE7cmV0dXJue2xpbmU6cyxjaGFyYWN0ZXI6dC1uW3NdfX1vZmZzZXRBdCh0KXtsZXQgbj10aGlzLmdldExpbmVPZmZzZXRzKCk7aWYodC5saW5lPj1uLmxlbmd0aClyZXR1cm4gdGhpcy5fY29udGVudC5sZW5ndGg7aWYodC5saW5lPDApcmV0dXJuIDA7bGV0IHI9blt0LmxpbmVdLGk9dC5saW5lKzE8bi5sZW5ndGg/blt0LmxpbmUrMV06dGhpcy5fY29udGVudC5sZW5ndGg7cmV0dXJuIE1hdGgubWF4KE1hdGgubWluKHIrdC5jaGFyYWN0ZXIsaSkscil9Z2V0IGxpbmVDb3VudCgpe3JldHVybiB0aGlzLmdldExpbmVPZmZzZXRzKCkubGVuZ3RofXN0YXRpYyBpc0luY3JlbWVudGFsKHQpe2xldCBuPXQ7cmV0dXJuIG4hPW51bGwmJnR5cGVvZiBuLnRleHQ9PSJzdHJpbmciJiZuLnJhbmdlIT09dm9pZCAwJiYobi5yYW5nZUxlbmd0aD09PXZvaWQgMHx8dHlwZW9mIG4ucmFuZ2VMZW5ndGg9PSJudW1iZXIiKX1zdGF0aWMgaXNGdWxsKHQpe2xldCBuPXQ7cmV0dXJuIG4hPW51bGwmJnR5cGVvZiBuLnRleHQ9PSJzdHJpbmciJiZuLnJhbmdlPT09dm9pZCAwJiZuLnJhbmdlTGVuZ3RoPT09dm9pZCAwfX0seHI7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoaSxzLGEsbyl7cmV0dXJuIG5ldyBkYShpLHMsYSxvKX1lLmNyZWF0ZT10O2Z1bmN0aW9uIG4oaSxzLGEpe2lmKGkgaW5zdGFuY2VvZiBkYSlyZXR1cm4gaS51cGRhdGUocyxhKSxpO3Rocm93IG5ldyBFcnJvcigiVGV4dERvY3VtZW50LnVwZGF0ZTogZG9jdW1lbnQgbXVzdCBiZSBjcmVhdGVkIGJ5IFRleHREb2N1bWVudC5jcmVhdGUiKX1lLnVwZGF0ZT1uO2Z1bmN0aW9uIHIoaSxzKXtsZXQgYT1pLmdldFRleHQoKSxvPXlyKHMubWFwKGJ1KSwoZixoKT0+e2xldCBkPWYucmFuZ2Uuc3RhcnQubGluZS1oLnJhbmdlLnN0YXJ0LmxpbmU7cmV0dXJuIGQ9PT0wP2YucmFuZ2Uuc3RhcnQuY2hhcmFjdGVyLWgucmFuZ2Uuc3RhcnQuY2hhcmFjdGVyOmR9KSxsPTA7Y29uc3QgdT1bXTtmb3IoY29uc3QgZiBvZiBvKXtsZXQgaD1pLm9mZnNldEF0KGYucmFuZ2Uuc3RhcnQpO2lmKGg8bCl0aHJvdyBuZXcgRXJyb3IoIk92ZXJsYXBwaW5nIGVkaXQiKTtoPmwmJnUucHVzaChhLnN1YnN0cmluZyhsLGgpKSxmLm5ld1RleHQubGVuZ3RoJiZ1LnB1c2goZi5uZXdUZXh0KSxsPWkub2Zmc2V0QXQoZi5yYW5nZS5lbmQpfXJldHVybiB1LnB1c2goYS5zdWJzdHIobCkpLHUuam9pbigiIil9ZS5hcHBseUVkaXRzPXJ9KSh4cnx8KHhyPXt9KSk7ZnVuY3Rpb24geXIoZSx0KXtpZihlLmxlbmd0aDw9MSlyZXR1cm4gZTtjb25zdCBuPWUubGVuZ3RoLzJ8MCxyPWUuc2xpY2UoMCxuKSxpPWUuc2xpY2Uobik7eXIocix0KSx5cihpLHQpO2xldCBzPTAsYT0wLG89MDtmb3IoO3M8ci5sZW5ndGgmJmE8aS5sZW5ndGg7KXQocltzXSxpW2FdKTw9MD9lW28rK109cltzKytdOmVbbysrXT1pW2ErK107Zm9yKDtzPHIubGVuZ3RoOyllW28rK109cltzKytdO2Zvcig7YTxpLmxlbmd0aDspZVtvKytdPWlbYSsrXTtyZXR1cm4gZX1mdW5jdGlvbiBnYShlLHQsbj0wKXtjb25zdCByPXQ/W25dOltdO2ZvcihsZXQgaT0wO2k8ZS5sZW5ndGg7aSsrKXtsZXQgcz1lLmNoYXJDb2RlQXQoaSk7KHM9PT0xM3x8cz09PTEwKSYmKHM9PT0xMyYmaSsxPGUubGVuZ3RoJiZlLmNoYXJDb2RlQXQoaSsxKT09PTEwJiZpKyssci5wdXNoKG4raSsxKSl9cmV0dXJuIHJ9ZnVuY3Rpb24gbWEoZSl7Y29uc3QgdD1lLnN0YXJ0LG49ZS5lbmQ7cmV0dXJuIHQubGluZT5uLmxpbmV8fHQubGluZT09PW4ubGluZSYmdC5jaGFyYWN0ZXI+bi5jaGFyYWN0ZXI/e3N0YXJ0Om4sZW5kOnR9OmV9ZnVuY3Rpb24gYnUoZSl7Y29uc3QgdD1tYShlLnJhbmdlKTtyZXR1cm4gdCE9PWUucmFuZ2U/e25ld1RleHQ6ZS5uZXdUZXh0LHJhbmdlOnR9OmV9dmFyIEo7KGZ1bmN0aW9uKGUpe2VbZS5VbmRlZmluZWQ9MF09IlVuZGVmaW5lZCIsZVtlLkVudW1WYWx1ZU1pc21hdGNoPTFdPSJFbnVtVmFsdWVNaXNtYXRjaCIsZVtlLkRlcHJlY2F0ZWQ9Ml09IkRlcHJlY2F0ZWQiLGVbZS5VbmV4cGVjdGVkRW5kT2ZDb21tZW50PTI1N109IlVuZXhwZWN0ZWRFbmRPZkNvbW1lbnQiLGVbZS5VbmV4cGVjdGVkRW5kT2ZTdHJpbmc9MjU4XT0iVW5leHBlY3RlZEVuZE9mU3RyaW5nIixlW2UuVW5leHBlY3RlZEVuZE9mTnVtYmVyPTI1OV09IlVuZXhwZWN0ZWRFbmRPZk51bWJlciIsZVtlLkludmFsaWRVbmljb2RlPTI2MF09IkludmFsaWRVbmljb2RlIixlW2UuSW52YWxpZEVzY2FwZUNoYXJhY3Rlcj0yNjFdPSJJbnZhbGlkRXNjYXBlQ2hhcmFjdGVyIixlW2UuSW52YWxpZENoYXJhY3Rlcj0yNjJdPSJJbnZhbGlkQ2hhcmFjdGVyIixlW2UuUHJvcGVydHlFeHBlY3RlZD01MTNdPSJQcm9wZXJ0eUV4cGVjdGVkIixlW2UuQ29tbWFFeHBlY3RlZD01MTRdPSJDb21tYUV4cGVjdGVkIixlW2UuQ29sb25FeHBlY3RlZD01MTVdPSJDb2xvbkV4cGVjdGVkIixlW2UuVmFsdWVFeHBlY3RlZD01MTZdPSJWYWx1ZUV4cGVjdGVkIixlW2UuQ29tbWFPckNsb3NlQmFja2V0RXhwZWN0ZWQ9NTE3XT0iQ29tbWFPckNsb3NlQmFja2V0RXhwZWN0ZWQiLGVbZS5Db21tYU9yQ2xvc2VCcmFjZUV4cGVjdGVkPTUxOF09IkNvbW1hT3JDbG9zZUJyYWNlRXhwZWN0ZWQiLGVbZS5UcmFpbGluZ0NvbW1hPTUxOV09IlRyYWlsaW5nQ29tbWEiLGVbZS5EdXBsaWNhdGVLZXk9NTIwXT0iRHVwbGljYXRlS2V5IixlW2UuQ29tbWVudE5vdFBlcm1pdHRlZD01MjFdPSJDb21tZW50Tm90UGVybWl0dGVkIixlW2UuU2NoZW1hUmVzb2x2ZUVycm9yPTc2OF09IlNjaGVtYVJlc29sdmVFcnJvciJ9KShKfHwoSj17fSkpO3ZhciBfcjsoZnVuY3Rpb24oZSl7ZS5MQVRFU1Q9e3RleHREb2N1bWVudDp7Y29tcGxldGlvbjp7Y29tcGxldGlvbkl0ZW06e2RvY3VtZW50YXRpb25Gb3JtYXQ6W1dlLk1hcmtkb3duLFdlLlBsYWluVGV4dF0sY29tbWl0Q2hhcmFjdGVyc1N1cHBvcnQ6ITB9fX19fSkoX3J8fChfcj17fSkpO2Z1bmN0aW9uIHh1KGUsdCl7bGV0IG47cmV0dXJuIHQubGVuZ3RoPT09MD9uPWU6bj1lLnJlcGxhY2UoL1x7KFxkKylcfS9nLChyLGkpPT57bGV0IHM9aVswXTtyZXR1cm4gdHlwZW9mIHRbc108InUiP3Rbc106cn0pLG59ZnVuY3Rpb24geXUoZSx0LC4uLm4pe3JldHVybiB4dSh0LG4pfWZ1bmN0aW9uIEp0KGUpe3JldHVybiB5dX12YXIgc3Q9ZnVuY3Rpb24oKXt2YXIgZT1mdW5jdGlvbih0LG4pe3JldHVybiBlPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihyLGkpe3IuX19wcm90b19fPWl9fHxmdW5jdGlvbihyLGkpe2Zvcih2YXIgcyBpbiBpKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChpLHMpJiYocltzXT1pW3NdKX0sZSh0LG4pfTtyZXR1cm4gZnVuY3Rpb24odCxuKXtpZih0eXBlb2YgbiE9ImZ1bmN0aW9uIiYmbiE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhuKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtlKHQsbik7ZnVuY3Rpb24gcigpe3RoaXMuY29uc3RydWN0b3I9dH10LnByb3RvdHlwZT1uPT09bnVsbD9PYmplY3QuY3JlYXRlKG4pOihyLnByb3RvdHlwZT1uLnByb3RvdHlwZSxuZXcgcil9fSgpLFU9SnQoKSxfdT17ImNvbG9yLWhleCI6e2Vycm9yTWVzc2FnZTpVKCJjb2xvckhleEZvcm1hdFdhcm5pbmciLCJJbnZhbGlkIGNvbG9yIGZvcm1hdC4gVXNlICNSR0IsICNSR0JBLCAjUlJHR0JCIG9yICNSUkdHQkJBQS4iKSxwYXR0ZXJuOi9eIyhbMC05QS1GYS1mXXszLDR9fChbMC05QS1GYS1mXXsyfSl7Myw0fSkkL30sImRhdGUtdGltZSI6e2Vycm9yTWVzc2FnZTpVKCJkYXRlVGltZUZvcm1hdFdhcm5pbmciLCJTdHJpbmcgaXMgbm90IGEgUkZDMzMzOSBkYXRlLXRpbWUuIikscGF0dGVybjovXihcZHs0fSktKDBbMS05XXwxWzAtMl0pLSgwWzEtOV18WzEyXVswLTldfDNbMDFdKVQoWzAxXVswLTldfDJbMC0zXSk6KFswLTVdWzAtOV0pOihbMC01XVswLTldfDYwKShcLlswLTldKyk/KFp8KFwrfC0pKFswMV1bMC05XXwyWzAtM10pOihbMC01XVswLTldKSkkL2l9LGRhdGU6e2Vycm9yTWVzc2FnZTpVKCJkYXRlRm9ybWF0V2FybmluZyIsIlN0cmluZyBpcyBub3QgYSBSRkMzMzM5IGRhdGUuIikscGF0dGVybjovXihcZHs0fSktKDBbMS05XXwxWzAtMl0pLSgwWzEtOV18WzEyXVswLTldfDNbMDFdKSQvaX0sdGltZTp7ZXJyb3JNZXNzYWdlOlUoInRpbWVGb3JtYXRXYXJuaW5nIiwiU3RyaW5nIGlzIG5vdCBhIFJGQzMzMzkgdGltZS4iKSxwYXR0ZXJuOi9eKFswMV1bMC05XXwyWzAtM10pOihbMC01XVswLTldKTooWzAtNV1bMC05XXw2MCkoXC5bMC05XSspPyhafChcK3wtKShbMDFdWzAtOV18MlswLTNdKTooWzAtNV1bMC05XSkpJC9pfSxlbWFpbDp7ZXJyb3JNZXNzYWdlOlUoImVtYWlsRm9ybWF0V2FybmluZyIsIlN0cmluZyBpcyBub3QgYW4gZS1tYWlsIGFkZHJlc3MuIikscGF0dGVybjovXigoW148PigpXFtcXVxcLiw7OlxzQCJdKyhcLltePD4oKVxbXF1cXC4sOzpcc0AiXSspKil8KCIuKyIpKUAoKFxbWzAtOV17MSwzfVwuWzAtOV17MSwzfVwuWzAtOV17MSwzfVwuWzAtOV17MSwzfV0pfCgoW2EtekEtWjAtOS1dK1wuKStbYS16QS1aXXsyLH0pKSQvfSxob3N0bmFtZTp7ZXJyb3JNZXNzYWdlOlUoImhvc3RuYW1lRm9ybWF0V2FybmluZyIsIlN0cmluZyBpcyBub3QgYSBob3N0bmFtZS4iKSxwYXR0ZXJuOi9eKD89LnsxLDI1M31cLj8kKVthLXowLTldKD86W2EtejAtOS1dezAsNjF9W2EtejAtOV0pPyg/OlwuW2EtejAtOV0oPzpbLTAtOWEtel17MCw2MX1bMC05YS16XSk/KSpcLj8kL2l9LGlwdjQ6e2Vycm9yTWVzc2FnZTpVKCJpcHY0Rm9ybWF0V2FybmluZyIsIlN0cmluZyBpcyBub3QgYW4gSVB2NCBhZGRyZXNzLiIpLHBhdHRlcm46L14oPzooPzoyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKVwuKXszfSg/OjI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpJC99LGlwdjY6e2Vycm9yTWVzc2FnZTpVKCJpcHY2Rm9ybWF0V2FybmluZyIsIlN0cmluZyBpcyBub3QgYW4gSVB2NiBhZGRyZXNzLiIpLHBhdHRlcm46L14oKChbMC05YS1mXXsxLDR9Oil7N30oWzAtOWEtZl17MSw0fXw6KSl8KChbMC05YS1mXXsxLDR9Oil7Nn0oOlswLTlhLWZdezEsNH18KCgyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKShcLigyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKSl7M30pfDopKXwoKFswLTlhLWZdezEsNH06KXs1fSgoKDpbMC05YS1mXXsxLDR9KXsxLDJ9KXw6KCgyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKShcLigyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKSl7M30pfDopKXwoKFswLTlhLWZdezEsNH06KXs0fSgoKDpbMC05YS1mXXsxLDR9KXsxLDN9KXwoKDpbMC05YS1mXXsxLDR9KT86KCgyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKShcLigyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKSl7M30pKXw6KSl8KChbMC05YS1mXXsxLDR9Oil7M30oKCg6WzAtOWEtZl17MSw0fSl7MSw0fSl8KCg6WzAtOWEtZl17MSw0fSl7MCwyfTooKDI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKFwuKDI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKXszfSkpfDopKXwoKFswLTlhLWZdezEsNH06KXsyfSgoKDpbMC05YS1mXXsxLDR9KXsxLDV9KXwoKDpbMC05YS1mXXsxLDR9KXswLDN9OigoMjVbMC01XXwyWzAtNF1cZHwxXGRcZHxbMS05XT9cZCkoXC4oMjVbMC01XXwyWzAtNF1cZHwxXGRcZHxbMS05XT9cZCkpezN9KSl8OikpfCgoWzAtOWEtZl17MSw0fTopezF9KCgoOlswLTlhLWZdezEsNH0pezEsNn0pfCgoOlswLTlhLWZdezEsNH0pezAsNH06KCgyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKShcLigyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKSl7M30pKXw6KSl8KDooKCg6WzAtOWEtZl17MSw0fSl7MSw3fSl8KCg6WzAtOWEtZl17MSw0fSl7MCw1fTooKDI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKFwuKDI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKXszfSkpfDopKSkkL2l9fSxhdD1mdW5jdGlvbigpe2Z1bmN0aW9uIGUodCxuLHIpe3I9PT12b2lkIDAmJihyPTApLHRoaXMub2Zmc2V0PW4sdGhpcy5sZW5ndGg9cix0aGlzLnBhcmVudD10fXJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsImNoaWxkcmVuIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuW119LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksZS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4idHlwZTogIit0aGlzLnR5cGUrIiAoIit0aGlzLm9mZnNldCsiLyIrdGhpcy5sZW5ndGgrIikiKyh0aGlzLnBhcmVudD8iIHBhcmVudDogeyIrdGhpcy5wYXJlbnQudG9TdHJpbmcoKSsifSI6IiIpfSxlfSgpLHd1PWZ1bmN0aW9uKGUpe3N0KHQsZSk7ZnVuY3Rpb24gdChuLHIpe3ZhciBpPWUuY2FsbCh0aGlzLG4scil8fHRoaXM7cmV0dXJuIGkudHlwZT0ibnVsbCIsaS52YWx1ZT1udWxsLGl9cmV0dXJuIHR9KGF0KSxwYT1mdW5jdGlvbihlKXtzdCh0LGUpO2Z1bmN0aW9uIHQobixyLGkpe3ZhciBzPWUuY2FsbCh0aGlzLG4saSl8fHRoaXM7cmV0dXJuIHMudHlwZT0iYm9vbGVhbiIscy52YWx1ZT1yLHN9cmV0dXJuIHR9KGF0KSxTdT1mdW5jdGlvbihlKXtzdCh0LGUpO2Z1bmN0aW9uIHQobixyKXt2YXIgaT1lLmNhbGwodGhpcyxuLHIpfHx0aGlzO3JldHVybiBpLnR5cGU9ImFycmF5IixpLml0ZW1zPVtdLGl9cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSwiY2hpbGRyZW4iLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVtc30sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSx0fShhdCksTHU9ZnVuY3Rpb24oZSl7c3QodCxlKTtmdW5jdGlvbiB0KG4scil7dmFyIGk9ZS5jYWxsKHRoaXMsbixyKXx8dGhpcztyZXR1cm4gaS50eXBlPSJudW1iZXIiLGkuaXNJbnRlZ2VyPSEwLGkudmFsdWU9TnVtYmVyLk5hTixpfXJldHVybiB0fShhdCksd3I9ZnVuY3Rpb24oZSl7c3QodCxlKTtmdW5jdGlvbiB0KG4scixpKXt2YXIgcz1lLmNhbGwodGhpcyxuLHIsaSl8fHRoaXM7cmV0dXJuIHMudHlwZT0ic3RyaW5nIixzLnZhbHVlPSIiLHN9cmV0dXJuIHR9KGF0KSxOdT1mdW5jdGlvbihlKXtzdCh0LGUpO2Z1bmN0aW9uIHQobixyLGkpe3ZhciBzPWUuY2FsbCh0aGlzLG4scil8fHRoaXM7cmV0dXJuIHMudHlwZT0icHJvcGVydHkiLHMuY29sb25PZmZzZXQ9LTEscy5rZXlOb2RlPWksc31yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLCJjaGlsZHJlbiIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlTm9kZT9bdGhpcy5rZXlOb2RlLHRoaXMudmFsdWVOb2RlXTpbdGhpcy5rZXlOb2RlXX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSx0fShhdCksQXU9ZnVuY3Rpb24oZSl7c3QodCxlKTtmdW5jdGlvbiB0KG4scil7dmFyIGk9ZS5jYWxsKHRoaXMsbixyKXx8dGhpcztyZXR1cm4gaS50eXBlPSJvYmplY3QiLGkucHJvcGVydGllcz1bXSxpfXJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsImNoaWxkcmVuIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJvcGVydGllc30sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSx0fShhdCk7ZnVuY3Rpb24gcGUoZSl7cmV0dXJuIEllKGUpP2U/e306e25vdDp7fX06ZX12YXIgdmE7KGZ1bmN0aW9uKGUpe2VbZS5LZXk9MF09IktleSIsZVtlLkVudW09MV09IkVudW0ifSkodmF8fCh2YT17fSkpO3ZhciBDdT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUodCxuKXt0PT09dm9pZCAwJiYodD0tMSksdGhpcy5mb2N1c09mZnNldD10LHRoaXMuZXhjbHVkZT1uLHRoaXMuc2NoZW1hcz1bXX1yZXR1cm4gZS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKHQpe3RoaXMuc2NoZW1hcy5wdXNoKHQpfSxlLnByb3RvdHlwZS5tZXJnZT1mdW5jdGlvbih0KXtBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseSh0aGlzLnNjaGVtYXMsdC5zY2hlbWFzKX0sZS5wcm90b3R5cGUuaW5jbHVkZT1mdW5jdGlvbih0KXtyZXR1cm4odGhpcy5mb2N1c09mZnNldD09PS0xfHxiYSh0LHRoaXMuZm9jdXNPZmZzZXQpKSYmdCE9PXRoaXMuZXhjbHVkZX0sZS5wcm90b3R5cGUubmV3U3ViPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBlKC0xLHRoaXMuZXhjbHVkZSl9LGV9KCksU3I9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7fXJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsInNjaGVtYXMiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5bXX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxlLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCl7fSxlLnByb3RvdHlwZS5tZXJnZT1mdW5jdGlvbih0KXt9LGUucHJvdG90eXBlLmluY2x1ZGU9ZnVuY3Rpb24odCl7cmV0dXJuITB9LGUucHJvdG90eXBlLm5ld1N1Yj1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxlLmluc3RhbmNlPW5ldyBlLGV9KCksdmU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7dGhpcy5wcm9ibGVtcz1bXSx0aGlzLnByb3BlcnRpZXNNYXRjaGVzPTAsdGhpcy5wcm9wZXJ0aWVzVmFsdWVNYXRjaGVzPTAsdGhpcy5wcmltYXJ5VmFsdWVNYXRjaGVzPTAsdGhpcy5lbnVtVmFsdWVNYXRjaD0hMSx0aGlzLmVudW1WYWx1ZXM9dm9pZCAwfXJldHVybiBlLnByb3RvdHlwZS5oYXNQcm9ibGVtcz1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5wcm9ibGVtcy5sZW5ndGh9LGUucHJvdG90eXBlLm1lcmdlQWxsPWZ1bmN0aW9uKHQpe2Zvcih2YXIgbj0wLHI9dDtuPHIubGVuZ3RoO24rKyl7dmFyIGk9cltuXTt0aGlzLm1lcmdlKGkpfX0sZS5wcm90b3R5cGUubWVyZ2U9ZnVuY3Rpb24odCl7dGhpcy5wcm9ibGVtcz10aGlzLnByb2JsZW1zLmNvbmNhdCh0LnByb2JsZW1zKX0sZS5wcm90b3R5cGUubWVyZ2VFbnVtVmFsdWVzPWZ1bmN0aW9uKHQpe2lmKCF0aGlzLmVudW1WYWx1ZU1hdGNoJiYhdC5lbnVtVmFsdWVNYXRjaCYmdGhpcy5lbnVtVmFsdWVzJiZ0LmVudW1WYWx1ZXMpe3RoaXMuZW51bVZhbHVlcz10aGlzLmVudW1WYWx1ZXMuY29uY2F0KHQuZW51bVZhbHVlcyk7Zm9yKHZhciBuPTAscj10aGlzLnByb2JsZW1zO248ci5sZW5ndGg7bisrKXt2YXIgaT1yW25dO2kuY29kZT09PUouRW51bVZhbHVlTWlzbWF0Y2gmJihpLm1lc3NhZ2U9VSgiZW51bVdhcm5pbmciLCJWYWx1ZSBpcyBub3QgYWNjZXB0ZWQuIFZhbGlkIHZhbHVlczogezB9LiIsdGhpcy5lbnVtVmFsdWVzLm1hcChmdW5jdGlvbihzKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkocyl9KS5qb2luKCIsICIpKSl9fX0sZS5wcm90b3R5cGUubWVyZ2VQcm9wZXJ0eU1hdGNoPWZ1bmN0aW9uKHQpe3RoaXMubWVyZ2UodCksdGhpcy5wcm9wZXJ0aWVzTWF0Y2hlcysrLCh0LmVudW1WYWx1ZU1hdGNofHwhdC5oYXNQcm9ibGVtcygpJiZ0LnByb3BlcnRpZXNNYXRjaGVzKSYmdGhpcy5wcm9wZXJ0aWVzVmFsdWVNYXRjaGVzKyssdC5lbnVtVmFsdWVNYXRjaCYmdC5lbnVtVmFsdWVzJiZ0LmVudW1WYWx1ZXMubGVuZ3RoPT09MSYmdGhpcy5wcmltYXJ5VmFsdWVNYXRjaGVzKyt9LGUucHJvdG90eXBlLmNvbXBhcmU9ZnVuY3Rpb24odCl7dmFyIG49dGhpcy5oYXNQcm9ibGVtcygpO3JldHVybiBuIT09dC5oYXNQcm9ibGVtcygpP24/LTE6MTp0aGlzLmVudW1WYWx1ZU1hdGNoIT09dC5lbnVtVmFsdWVNYXRjaD90LmVudW1WYWx1ZU1hdGNoPy0xOjE6dGhpcy5wcmltYXJ5VmFsdWVNYXRjaGVzIT09dC5wcmltYXJ5VmFsdWVNYXRjaGVzP3RoaXMucHJpbWFyeVZhbHVlTWF0Y2hlcy10LnByaW1hcnlWYWx1ZU1hdGNoZXM6dGhpcy5wcm9wZXJ0aWVzVmFsdWVNYXRjaGVzIT09dC5wcm9wZXJ0aWVzVmFsdWVNYXRjaGVzP3RoaXMucHJvcGVydGllc1ZhbHVlTWF0Y2hlcy10LnByb3BlcnRpZXNWYWx1ZU1hdGNoZXM6dGhpcy5wcm9wZXJ0aWVzTWF0Y2hlcy10LnByb3BlcnRpZXNNYXRjaGVzfSxlfSgpO2Z1bmN0aW9uIGt1KGUsdCl7cmV0dXJuIHQ9PT12b2lkIDAmJih0PVtdKSxuZXcgeGEoZSx0LFtdKX1mdW5jdGlvbiBvdChlKXtyZXR1cm4gZHUoZSl9ZnVuY3Rpb24gTHIoZSl7cmV0dXJuIGh1KGUpfWZ1bmN0aW9uIGJhKGUsdCxuKXtyZXR1cm4gbj09PXZvaWQgMCYmKG49ITEpLHQ+PWUub2Zmc2V0JiZ0PGUub2Zmc2V0K2UubGVuZ3RofHxuJiZ0PT09ZS5vZmZzZXQrZS5sZW5ndGh9dmFyIHhhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0LG4scil7bj09PXZvaWQgMCYmKG49W10pLHI9PT12b2lkIDAmJihyPVtdKSx0aGlzLnJvb3Q9dCx0aGlzLnN5bnRheEVycm9ycz1uLHRoaXMuY29tbWVudHM9cn1yZXR1cm4gZS5wcm90b3R5cGUuZ2V0Tm9kZUZyb21PZmZzZXQ9ZnVuY3Rpb24odCxuKXtpZihuPT09dm9pZCAwJiYobj0hMSksdGhpcy5yb290KXJldHVybiBmdSh0aGlzLnJvb3QsdCxuKX0sZS5wcm90b3R5cGUudmlzaXQ9ZnVuY3Rpb24odCl7aWYodGhpcy5yb290KXt2YXIgbj1mdW5jdGlvbihyKXt2YXIgaT10KHIpLHM9ci5jaGlsZHJlbjtpZihBcnJheS5pc0FycmF5KHMpKWZvcih2YXIgYT0wO2E8cy5sZW5ndGgmJmk7YSsrKWk9bihzW2FdKTtyZXR1cm4gaX07bih0aGlzLnJvb3QpfX0sZS5wcm90b3R5cGUudmFsaWRhdGU9ZnVuY3Rpb24odCxuLHIpe2lmKHI9PT12b2lkIDAmJihyPXdlLldhcm5pbmcpLHRoaXMucm9vdCYmbil7dmFyIGk9bmV3IHZlO3JldHVybiBjZSh0aGlzLnJvb3QsbixpLFNyLmluc3RhbmNlKSxpLnByb2JsZW1zLm1hcChmdW5jdGlvbihzKXt2YXIgYSxvPVguY3JlYXRlKHQucG9zaXRpb25BdChzLmxvY2F0aW9uLm9mZnNldCksdC5wb3NpdGlvbkF0KHMubG9jYXRpb24ub2Zmc2V0K3MubG9jYXRpb24ubGVuZ3RoKSk7cmV0dXJuICRlLmNyZWF0ZShvLHMubWVzc2FnZSwoYT1zLnNldmVyaXR5KSE9PW51bGwmJmEhPT12b2lkIDA/YTpyLHMuY29kZSl9KX19LGUucHJvdG90eXBlLmdldE1hdGNoaW5nU2NoZW1hcz1mdW5jdGlvbih0LG4scil7bj09PXZvaWQgMCYmKG49LTEpO3ZhciBpPW5ldyBDdShuLHIpO3JldHVybiB0aGlzLnJvb3QmJnQmJmNlKHRoaXMucm9vdCx0LG5ldyB2ZSxpKSxpLnNjaGVtYXN9LGV9KCk7ZnVuY3Rpb24gY2UoZSx0LG4scil7aWYoIWV8fCFyLmluY2x1ZGUoZSkpcmV0dXJuO3ZhciBpPWU7c3dpdGNoKGkudHlwZSl7Y2FzZSJvYmplY3QiOnUoaSx0LG4scik7YnJlYWs7Y2FzZSJhcnJheSI6bChpLHQsbixyKTticmVhaztjYXNlInN0cmluZyI6byhpLHQsbik7YnJlYWs7Y2FzZSJudW1iZXIiOmEoaSx0LG4pO2JyZWFrO2Nhc2UicHJvcGVydHkiOnJldHVybiBjZShpLnZhbHVlTm9kZSx0LG4scil9cygpLHIuYWRkKHtub2RlOmksc2NoZW1hOnR9KTtmdW5jdGlvbiBzKCl7ZnVuY3Rpb24gZihUKXtyZXR1cm4gaS50eXBlPT09VHx8VD09PSJpbnRlZ2VyIiYmaS50eXBlPT09Im51bWJlciImJmkuaXNJbnRlZ2VyfWlmKEFycmF5LmlzQXJyYXkodC50eXBlKT90LnR5cGUuc29tZShmKXx8bi5wcm9ibGVtcy5wdXNoKHtsb2NhdGlvbjp7b2Zmc2V0Omkub2Zmc2V0LGxlbmd0aDppLmxlbmd0aH0sbWVzc2FnZTp0LmVycm9yTWVzc2FnZXx8VSgidHlwZUFycmF5TWlzbWF0Y2hXYXJuaW5nIiwiSW5jb3JyZWN0IHR5cGUuIEV4cGVjdGVkIG9uZSBvZiB7MH0uIix0LnR5cGUuam9pbigiLCAiKSl9KTp0LnR5cGUmJihmKHQudHlwZSl8fG4ucHJvYmxlbXMucHVzaCh7bG9jYXRpb246e29mZnNldDppLm9mZnNldCxsZW5ndGg6aS5sZW5ndGh9LG1lc3NhZ2U6dC5lcnJvck1lc3NhZ2V8fFUoInR5cGVNaXNtYXRjaFdhcm5pbmciLCdJbmNvcnJlY3QgdHlwZS4gRXhwZWN0ZWQgInswfSIuJyx0LnR5cGUpfSkpLEFycmF5LmlzQXJyYXkodC5hbGxPZikpZm9yKHZhciBoPTAsZD10LmFsbE9mO2g8ZC5sZW5ndGg7aCsrKXt2YXIgZz1kW2hdO2NlKGkscGUoZyksbixyKX12YXIgbT1wZSh0Lm5vdCk7aWYobSl7dmFyIHY9bmV3IHZlLHA9ci5uZXdTdWIoKTtjZShpLG0sdixwKSx2Lmhhc1Byb2JsZW1zKCl8fG4ucHJvYmxlbXMucHVzaCh7bG9jYXRpb246e29mZnNldDppLm9mZnNldCxsZW5ndGg6aS5sZW5ndGh9LG1lc3NhZ2U6VSgibm90U2NoZW1hV2FybmluZyIsIk1hdGNoZXMgYSBzY2hlbWEgdGhhdCBpcyBub3QgYWxsb3dlZC4iKX0pO2Zvcih2YXIgeD0wLHk9cC5zY2hlbWFzO3g8eS5sZW5ndGg7eCsrKXt2YXIgYj15W3hdO2IuaW52ZXJ0ZWQ9IWIuaW52ZXJ0ZWQsci5hZGQoYil9fXZhciBMPWZ1bmN0aW9uKFQsRil7Zm9yKHZhciBWPVtdLE89dm9pZCAwLE09MCxrPVQ7TTxrLmxlbmd0aDtNKyspe3ZhciBQPWtbTV0sRD1wZShQKSxxPW5ldyB2ZSxCPXIubmV3U3ViKCk7aWYoY2UoaSxELHEsQikscS5oYXNQcm9ibGVtcygpfHxWLnB1c2goRCksIU8pTz17c2NoZW1hOkQsdmFsaWRhdGlvblJlc3VsdDpxLG1hdGNoaW5nU2NoZW1hczpCfTtlbHNlIGlmKCFGJiYhcS5oYXNQcm9ibGVtcygpJiYhTy52YWxpZGF0aW9uUmVzdWx0Lmhhc1Byb2JsZW1zKCkpTy5tYXRjaGluZ1NjaGVtYXMubWVyZ2UoQiksTy52YWxpZGF0aW9uUmVzdWx0LnByb3BlcnRpZXNNYXRjaGVzKz1xLnByb3BlcnRpZXNNYXRjaGVzLE8udmFsaWRhdGlvblJlc3VsdC5wcm9wZXJ0aWVzVmFsdWVNYXRjaGVzKz1xLnByb3BlcnRpZXNWYWx1ZU1hdGNoZXM7ZWxzZXt2YXIgRz1xLmNvbXBhcmUoTy52YWxpZGF0aW9uUmVzdWx0KTtHPjA/Tz17c2NoZW1hOkQsdmFsaWRhdGlvblJlc3VsdDpxLG1hdGNoaW5nU2NoZW1hczpCfTpHPT09MCYmKE8ubWF0Y2hpbmdTY2hlbWFzLm1lcmdlKEIpLE8udmFsaWRhdGlvblJlc3VsdC5tZXJnZUVudW1WYWx1ZXMocSkpfX1yZXR1cm4gVi5sZW5ndGg+MSYmRiYmbi5wcm9ibGVtcy5wdXNoKHtsb2NhdGlvbjp7b2Zmc2V0Omkub2Zmc2V0LGxlbmd0aDoxfSxtZXNzYWdlOlUoIm9uZU9mV2FybmluZyIsIk1hdGNoZXMgbXVsdGlwbGUgc2NoZW1hcyB3aGVuIG9ubHkgb25lIG11c3QgdmFsaWRhdGUuIil9KSxPJiYobi5tZXJnZShPLnZhbGlkYXRpb25SZXN1bHQpLG4ucHJvcGVydGllc01hdGNoZXMrPU8udmFsaWRhdGlvblJlc3VsdC5wcm9wZXJ0aWVzTWF0Y2hlcyxuLnByb3BlcnRpZXNWYWx1ZU1hdGNoZXMrPU8udmFsaWRhdGlvblJlc3VsdC5wcm9wZXJ0aWVzVmFsdWVNYXRjaGVzLHIubWVyZ2UoTy5tYXRjaGluZ1NjaGVtYXMpKSxWLmxlbmd0aH07QXJyYXkuaXNBcnJheSh0LmFueU9mKSYmTCh0LmFueU9mLCExKSxBcnJheS5pc0FycmF5KHQub25lT2YpJiZMKHQub25lT2YsITApO3ZhciBTPWZ1bmN0aW9uKFQpe3ZhciBGPW5ldyB2ZSxWPXIubmV3U3ViKCk7Y2UoaSxwZShUKSxGLFYpLG4ubWVyZ2UoRiksbi5wcm9wZXJ0aWVzTWF0Y2hlcys9Ri5wcm9wZXJ0aWVzTWF0Y2hlcyxuLnByb3BlcnRpZXNWYWx1ZU1hdGNoZXMrPUYucHJvcGVydGllc1ZhbHVlTWF0Y2hlcyxyLm1lcmdlKFYpfSx3PWZ1bmN0aW9uKFQsRixWKXt2YXIgTz1wZShUKSxNPW5ldyB2ZSxrPXIubmV3U3ViKCk7Y2UoaSxPLE0sayksci5tZXJnZShrKSxNLmhhc1Byb2JsZW1zKCk/ViYmUyhWKTpGJiZTKEYpfSxOPXBlKHQuaWYpO2lmKE4mJncoTixwZSh0LnRoZW4pLHBlKHQuZWxzZSkpLEFycmF5LmlzQXJyYXkodC5lbnVtKSl7Zm9yKHZhciBBPW90KGkpLFI9ITEsST0wLEM9dC5lbnVtO0k8Qy5sZW5ndGg7SSsrKXt2YXIgXz1DW0ldO2lmKGp0KEEsXykpe1I9ITA7YnJlYWt9fW4uZW51bVZhbHVlcz10LmVudW0sbi5lbnVtVmFsdWVNYXRjaD1SLFJ8fG4ucHJvYmxlbXMucHVzaCh7bG9jYXRpb246e29mZnNldDppLm9mZnNldCxsZW5ndGg6aS5sZW5ndGh9LGNvZGU6Si5FbnVtVmFsdWVNaXNtYXRjaCxtZXNzYWdlOnQuZXJyb3JNZXNzYWdlfHxVKCJlbnVtV2FybmluZyIsIlZhbHVlIGlzIG5vdCBhY2NlcHRlZC4gVmFsaWQgdmFsdWVzOiB7MH0uIix0LmVudW0ubWFwKGZ1bmN0aW9uKFQpe3JldHVybiBKU09OLnN0cmluZ2lmeShUKX0pLmpvaW4oIiwgIikpfSl9aWYoQmUodC5jb25zdCkpe3ZhciBBPW90KGkpO2p0KEEsdC5jb25zdCk/bi5lbnVtVmFsdWVNYXRjaD0hMDoobi5wcm9ibGVtcy5wdXNoKHtsb2NhdGlvbjp7b2Zmc2V0Omkub2Zmc2V0LGxlbmd0aDppLmxlbmd0aH0sY29kZTpKLkVudW1WYWx1ZU1pc21hdGNoLG1lc3NhZ2U6dC5lcnJvck1lc3NhZ2V8fFUoImNvbnN0V2FybmluZyIsIlZhbHVlIG11c3QgYmUgezB9LiIsSlNPTi5zdHJpbmdpZnkodC5jb25zdCkpfSksbi5lbnVtVmFsdWVNYXRjaD0hMSksbi5lbnVtVmFsdWVzPVt0LmNvbnN0XX10LmRlcHJlY2F0aW9uTWVzc2FnZSYmaS5wYXJlbnQmJm4ucHJvYmxlbXMucHVzaCh7bG9jYXRpb246e29mZnNldDppLnBhcmVudC5vZmZzZXQsbGVuZ3RoOmkucGFyZW50Lmxlbmd0aH0sc2V2ZXJpdHk6d2UuV2FybmluZyxtZXNzYWdlOnQuZGVwcmVjYXRpb25NZXNzYWdlLGNvZGU6Si5EZXByZWNhdGVkfSl9ZnVuY3Rpb24gYShmLGgsZCxnKXt2YXIgbT1mLnZhbHVlO2Z1bmN0aW9uIHYoSSl7dmFyIEMsXz0vXigtP1xkKykoPzpcLihcZCspKT8oPzplKFstK11cZCspKT8kLy5leGVjKEkudG9TdHJpbmcoKSk7cmV0dXJuIF8mJnt2YWx1ZTpOdW1iZXIoX1sxXSsoX1syXXx8IiIpKSxtdWx0aXBsaWVyOigoKEM9X1syXSk9PT1udWxsfHxDPT09dm9pZCAwP3ZvaWQgMDpDLmxlbmd0aCl8fDApLShwYXJzZUludChfWzNdKXx8MCl9fWlmKF9lKGgubXVsdGlwbGVPZikpe3ZhciBwPS0xO2lmKE51bWJlci5pc0ludGVnZXIoaC5tdWx0aXBsZU9mKSlwPW0laC5tdWx0aXBsZU9mO2Vsc2V7dmFyIHg9dihoLm11bHRpcGxlT2YpLHk9dihtKTtpZih4JiZ5KXt2YXIgYj1NYXRoLnBvdygxMCxNYXRoLmFicyh5Lm11bHRpcGxpZXIteC5tdWx0aXBsaWVyKSk7eS5tdWx0aXBsaWVyPHgubXVsdGlwbGllcj95LnZhbHVlKj1iOngudmFsdWUqPWIscD15LnZhbHVlJXgudmFsdWV9fXAhPT0wJiZkLnByb2JsZW1zLnB1c2goe2xvY2F0aW9uOntvZmZzZXQ6Zi5vZmZzZXQsbGVuZ3RoOmYubGVuZ3RofSxtZXNzYWdlOlUoIm11bHRpcGxlT2ZXYXJuaW5nIiwiVmFsdWUgaXMgbm90IGRpdmlzaWJsZSBieSB7MH0uIixoLm11bHRpcGxlT2YpfSl9ZnVuY3Rpb24gTChJLEMpe2lmKF9lKEMpKXJldHVybiBDO2lmKEllKEMpJiZDKXJldHVybiBJfWZ1bmN0aW9uIFMoSSxDKXtpZighSWUoQyl8fCFDKXJldHVybiBJfXZhciB3PUwoaC5taW5pbXVtLGguZXhjbHVzaXZlTWluaW11bSk7X2UodykmJm08PXcmJmQucHJvYmxlbXMucHVzaCh7bG9jYXRpb246e29mZnNldDpmLm9mZnNldCxsZW5ndGg6Zi5sZW5ndGh9LG1lc3NhZ2U6VSgiZXhjbHVzaXZlTWluaW11bVdhcm5pbmciLCJWYWx1ZSBpcyBiZWxvdyB0aGUgZXhjbHVzaXZlIG1pbmltdW0gb2YgezB9LiIsdyl9KTt2YXIgTj1MKGgubWF4aW11bSxoLmV4Y2x1c2l2ZU1heGltdW0pO19lKE4pJiZtPj1OJiZkLnByb2JsZW1zLnB1c2goe2xvY2F0aW9uOntvZmZzZXQ6Zi5vZmZzZXQsbGVuZ3RoOmYubGVuZ3RofSxtZXNzYWdlOlUoImV4Y2x1c2l2ZU1heGltdW1XYXJuaW5nIiwiVmFsdWUgaXMgYWJvdmUgdGhlIGV4Y2x1c2l2ZSBtYXhpbXVtIG9mIHswfS4iLE4pfSk7dmFyIEE9UyhoLm1pbmltdW0saC5leGNsdXNpdmVNaW5pbXVtKTtfZShBKSYmbTxBJiZkLnByb2JsZW1zLnB1c2goe2xvY2F0aW9uOntvZmZzZXQ6Zi5vZmZzZXQsbGVuZ3RoOmYubGVuZ3RofSxtZXNzYWdlOlUoIm1pbmltdW1XYXJuaW5nIiwiVmFsdWUgaXMgYmVsb3cgdGhlIG1pbmltdW0gb2YgezB9LiIsQSl9KTt2YXIgUj1TKGgubWF4aW11bSxoLmV4Y2x1c2l2ZU1heGltdW0pO19lKFIpJiZtPlImJmQucHJvYmxlbXMucHVzaCh7bG9jYXRpb246e29mZnNldDpmLm9mZnNldCxsZW5ndGg6Zi5sZW5ndGh9LG1lc3NhZ2U6VSgibWF4aW11bVdhcm5pbmciLCJWYWx1ZSBpcyBhYm92ZSB0aGUgbWF4aW11bSBvZiB7MH0uIixSKX0pfWZ1bmN0aW9uIG8oZixoLGQsZyl7aWYoX2UoaC5taW5MZW5ndGgpJiZmLnZhbHVlLmxlbmd0aDxoLm1pbkxlbmd0aCYmZC5wcm9ibGVtcy5wdXNoKHtsb2NhdGlvbjp7b2Zmc2V0OmYub2Zmc2V0LGxlbmd0aDpmLmxlbmd0aH0sbWVzc2FnZTpVKCJtaW5MZW5ndGhXYXJuaW5nIiwiU3RyaW5nIGlzIHNob3J0ZXIgdGhhbiB0aGUgbWluaW11bSBsZW5ndGggb2YgezB9LiIsaC5taW5MZW5ndGgpfSksX2UoaC5tYXhMZW5ndGgpJiZmLnZhbHVlLmxlbmd0aD5oLm1heExlbmd0aCYmZC5wcm9ibGVtcy5wdXNoKHtsb2NhdGlvbjp7b2Zmc2V0OmYub2Zmc2V0LGxlbmd0aDpmLmxlbmd0aH0sbWVzc2FnZTpVKCJtYXhMZW5ndGhXYXJuaW5nIiwiU3RyaW5nIGlzIGxvbmdlciB0aGFuIHRoZSBtYXhpbXVtIGxlbmd0aCBvZiB7MH0uIixoLm1heExlbmd0aCl9KSxtdShoLnBhdHRlcm4pKXt2YXIgbT1nbihoLnBhdHRlcm4pO20hPW51bGwmJm0udGVzdChmLnZhbHVlKXx8ZC5wcm9ibGVtcy5wdXNoKHtsb2NhdGlvbjp7b2Zmc2V0OmYub2Zmc2V0LGxlbmd0aDpmLmxlbmd0aH0sbWVzc2FnZTpoLnBhdHRlcm5FcnJvck1lc3NhZ2V8fGguZXJyb3JNZXNzYWdlfHxVKCJwYXR0ZXJuV2FybmluZyIsJ1N0cmluZyBkb2VzIG5vdCBtYXRjaCB0aGUgcGF0dGVybiBvZiAiezB9Ii4nLGgucGF0dGVybil9KX1pZihoLmZvcm1hdClzd2l0Y2goaC5mb3JtYXQpe2Nhc2UidXJpIjpjYXNlInVyaS1yZWZlcmVuY2UiOnt2YXIgdj12b2lkIDA7aWYoIWYudmFsdWUpdj1VKCJ1cmlFbXB0eSIsIlVSSSBleHBlY3RlZC4iKTtlbHNle3ZhciBwPS9eKChbXjovPyNdKz8pOik/KFwvXC8oW14vPyNdKikpPyhbXj8jXSopKFw/KFteI10qKSk/KCMoLiopKT8vLmV4ZWMoZi52YWx1ZSk7cD8hcFsyXSYmaC5mb3JtYXQ9PT0idXJpIiYmKHY9VSgidXJpU2NoZW1lTWlzc2luZyIsIlVSSSB3aXRoIGEgc2NoZW1lIGlzIGV4cGVjdGVkLiIpKTp2PVUoInVyaU1pc3NpbmciLCJVUkkgaXMgZXhwZWN0ZWQuIil9diYmZC5wcm9ibGVtcy5wdXNoKHtsb2NhdGlvbjp7b2Zmc2V0OmYub2Zmc2V0LGxlbmd0aDpmLmxlbmd0aH0sbWVzc2FnZTpoLnBhdHRlcm5FcnJvck1lc3NhZ2V8fGguZXJyb3JNZXNzYWdlfHxVKCJ1cmlGb3JtYXRXYXJuaW5nIiwiU3RyaW5nIGlzIG5vdCBhIFVSSTogezB9Iix2KX0pfWJyZWFrO2Nhc2UiY29sb3ItaGV4IjpjYXNlImRhdGUtdGltZSI6Y2FzZSJkYXRlIjpjYXNlInRpbWUiOmNhc2UiZW1haWwiOmNhc2UiaG9zdG5hbWUiOmNhc2UiaXB2NCI6Y2FzZSJpcHY2Ijp2YXIgeD1fdVtoLmZvcm1hdF07KCFmLnZhbHVlfHwheC5wYXR0ZXJuLmV4ZWMoZi52YWx1ZSkpJiZkLnByb2JsZW1zLnB1c2goe2xvY2F0aW9uOntvZmZzZXQ6Zi5vZmZzZXQsbGVuZ3RoOmYubGVuZ3RofSxtZXNzYWdlOmgucGF0dGVybkVycm9yTWVzc2FnZXx8aC5lcnJvck1lc3NhZ2V8fHguZXJyb3JNZXNzYWdlfSl9fWZ1bmN0aW9uIGwoZixoLGQsZyl7aWYoQXJyYXkuaXNBcnJheShoLml0ZW1zKSl7Zm9yKHZhciBtPWguaXRlbXMsdj0wO3Y8bS5sZW5ndGg7disrKXt2YXIgcD1tW3ZdLHg9cGUocCkseT1uZXcgdmUsYj1mLml0ZW1zW3ZdO2I/KGNlKGIseCx5LGcpLGQubWVyZ2VQcm9wZXJ0eU1hdGNoKHkpKTpmLml0ZW1zLmxlbmd0aD49bS5sZW5ndGgmJmQucHJvcGVydGllc1ZhbHVlTWF0Y2hlcysrfWlmKGYuaXRlbXMubGVuZ3RoPm0ubGVuZ3RoKWlmKHR5cGVvZiBoLmFkZGl0aW9uYWxJdGVtcz09Im9iamVjdCIpZm9yKHZhciBMPW0ubGVuZ3RoO0w8Zi5pdGVtcy5sZW5ndGg7TCsrKXt2YXIgeT1uZXcgdmU7Y2UoZi5pdGVtc1tMXSxoLmFkZGl0aW9uYWxJdGVtcyx5LGcpLGQubWVyZ2VQcm9wZXJ0eU1hdGNoKHkpfWVsc2UgaC5hZGRpdGlvbmFsSXRlbXM9PT0hMSYmZC5wcm9ibGVtcy5wdXNoKHtsb2NhdGlvbjp7b2Zmc2V0OmYub2Zmc2V0LGxlbmd0aDpmLmxlbmd0aH0sbWVzc2FnZTpVKCJhZGRpdGlvbmFsSXRlbXNXYXJuaW5nIiwiQXJyYXkgaGFzIHRvbyBtYW55IGl0ZW1zIGFjY29yZGluZyB0byBzY2hlbWEuIEV4cGVjdGVkIHswfSBvciBmZXdlci4iLG0ubGVuZ3RoKX0pfWVsc2V7dmFyIFM9cGUoaC5pdGVtcyk7aWYoUylmb3IodmFyIHc9MCxOPWYuaXRlbXM7dzxOLmxlbmd0aDt3Kyspe3ZhciBiPU5bd10seT1uZXcgdmU7Y2UoYixTLHksZyksZC5tZXJnZVByb3BlcnR5TWF0Y2goeSl9fXZhciBBPXBlKGguY29udGFpbnMpO2lmKEEpe3ZhciBSPWYuaXRlbXMuc29tZShmdW5jdGlvbihfKXt2YXIgVD1uZXcgdmU7cmV0dXJuIGNlKF8sQSxULFNyLmluc3RhbmNlKSwhVC5oYXNQcm9ibGVtcygpfSk7Unx8ZC5wcm9ibGVtcy5wdXNoKHtsb2NhdGlvbjp7b2Zmc2V0OmYub2Zmc2V0LGxlbmd0aDpmLmxlbmd0aH0sbWVzc2FnZTpoLmVycm9yTWVzc2FnZXx8VSgicmVxdWlyZWRJdGVtTWlzc2luZ1dhcm5pbmciLCJBcnJheSBkb2VzIG5vdCBjb250YWluIHJlcXVpcmVkIGl0ZW0uIil9KX1pZihfZShoLm1pbkl0ZW1zKSYmZi5pdGVtcy5sZW5ndGg8aC5taW5JdGVtcyYmZC5wcm9ibGVtcy5wdXNoKHtsb2NhdGlvbjp7b2Zmc2V0OmYub2Zmc2V0LGxlbmd0aDpmLmxlbmd0aH0sbWVzc2FnZTpVKCJtaW5JdGVtc1dhcm5pbmciLCJBcnJheSBoYXMgdG9vIGZldyBpdGVtcy4gRXhwZWN0ZWQgezB9IG9yIG1vcmUuIixoLm1pbkl0ZW1zKX0pLF9lKGgubWF4SXRlbXMpJiZmLml0ZW1zLmxlbmd0aD5oLm1heEl0ZW1zJiZkLnByb2JsZW1zLnB1c2goe2xvY2F0aW9uOntvZmZzZXQ6Zi5vZmZzZXQsbGVuZ3RoOmYubGVuZ3RofSxtZXNzYWdlOlUoIm1heEl0ZW1zV2FybmluZyIsIkFycmF5IGhhcyB0b28gbWFueSBpdGVtcy4gRXhwZWN0ZWQgezB9IG9yIGZld2VyLiIsaC5tYXhJdGVtcyl9KSxoLnVuaXF1ZUl0ZW1zPT09ITApe3ZhciBJPW90KGYpLEM9SS5zb21lKGZ1bmN0aW9uKF8sVCl7cmV0dXJuIFQhPT1JLmxhc3RJbmRleE9mKF8pfSk7QyYmZC5wcm9ibGVtcy5wdXNoKHtsb2NhdGlvbjp7b2Zmc2V0OmYub2Zmc2V0LGxlbmd0aDpmLmxlbmd0aH0sbWVzc2FnZTpVKCJ1bmlxdWVJdGVtc1dhcm5pbmciLCJBcnJheSBoYXMgZHVwbGljYXRlIGl0ZW1zLiIpfSl9fWZ1bmN0aW9uIHUoZixoLGQsZyl7Zm9yKHZhciBtPU9iamVjdC5jcmVhdGUobnVsbCksdj1bXSxwPTAseD1mLnByb3BlcnRpZXM7cDx4Lmxlbmd0aDtwKyspe3ZhciB5PXhbcF0sYj15LmtleU5vZGUudmFsdWU7bVtiXT15LnZhbHVlTm9kZSx2LnB1c2goYil9aWYoQXJyYXkuaXNBcnJheShoLnJlcXVpcmVkKSlmb3IodmFyIEw9MCxTPWgucmVxdWlyZWQ7TDxTLmxlbmd0aDtMKyspe3ZhciB3PVNbTF07aWYoIW1bd10pe3ZhciBOPWYucGFyZW50JiZmLnBhcmVudC50eXBlPT09InByb3BlcnR5IiYmZi5wYXJlbnQua2V5Tm9kZSxBPU4/e29mZnNldDpOLm9mZnNldCxsZW5ndGg6Ti5sZW5ndGh9OntvZmZzZXQ6Zi5vZmZzZXQsbGVuZ3RoOjF9O2QucHJvYmxlbXMucHVzaCh7bG9jYXRpb246QSxtZXNzYWdlOlUoIk1pc3NpbmdSZXF1aXJlZFByb3BXYXJuaW5nIiwnTWlzc2luZyBwcm9wZXJ0eSAiezB9Ii4nLHcpfSl9fXZhciBSPWZ1bmN0aW9uKFRhKXtmb3IodmFyIEZyPXYuaW5kZXhPZihUYSk7RnI+PTA7KXYuc3BsaWNlKEZyLDEpLEZyPXYuaW5kZXhPZihUYSl9O2lmKGgucHJvcGVydGllcylmb3IodmFyIEk9MCxDPU9iamVjdC5rZXlzKGgucHJvcGVydGllcyk7STxDLmxlbmd0aDtJKyspe3ZhciB3PUNbSV07Uih3KTt2YXIgXz1oLnByb3BlcnRpZXNbd10sVD1tW3ddO2lmKFQpaWYoSWUoXykpaWYoXylkLnByb3BlcnRpZXNNYXRjaGVzKyssZC5wcm9wZXJ0aWVzVmFsdWVNYXRjaGVzKys7ZWxzZXt2YXIgeT1ULnBhcmVudDtkLnByb2JsZW1zLnB1c2goe2xvY2F0aW9uOntvZmZzZXQ6eS5rZXlOb2RlLm9mZnNldCxsZW5ndGg6eS5rZXlOb2RlLmxlbmd0aH0sbWVzc2FnZTpoLmVycm9yTWVzc2FnZXx8VSgiRGlzYWxsb3dlZEV4dHJhUHJvcFdhcm5pbmciLCJQcm9wZXJ0eSB7MH0gaXMgbm90IGFsbG93ZWQuIix3KX0pfWVsc2V7dmFyIEY9bmV3IHZlO2NlKFQsXyxGLGcpLGQubWVyZ2VQcm9wZXJ0eU1hdGNoKEYpfX1pZihoLnBhdHRlcm5Qcm9wZXJ0aWVzKWZvcih2YXIgVj0wLE89T2JqZWN0LmtleXMoaC5wYXR0ZXJuUHJvcGVydGllcyk7VjxPLmxlbmd0aDtWKyspZm9yKHZhciBNPU9bVl0saz1nbihNKSxQPTAsRD12LnNsaWNlKDApO1A8RC5sZW5ndGg7UCsrKXt2YXIgdz1EW1BdO2lmKGshPW51bGwmJmsudGVzdCh3KSl7Uih3KTt2YXIgVD1tW3ddO2lmKFQpe3ZhciBfPWgucGF0dGVyblByb3BlcnRpZXNbTV07aWYoSWUoXykpaWYoXylkLnByb3BlcnRpZXNNYXRjaGVzKyssZC5wcm9wZXJ0aWVzVmFsdWVNYXRjaGVzKys7ZWxzZXt2YXIgeT1ULnBhcmVudDtkLnByb2JsZW1zLnB1c2goe2xvY2F0aW9uOntvZmZzZXQ6eS5rZXlOb2RlLm9mZnNldCxsZW5ndGg6eS5rZXlOb2RlLmxlbmd0aH0sbWVzc2FnZTpoLmVycm9yTWVzc2FnZXx8VSgiRGlzYWxsb3dlZEV4dHJhUHJvcFdhcm5pbmciLCJQcm9wZXJ0eSB7MH0gaXMgbm90IGFsbG93ZWQuIix3KX0pfWVsc2V7dmFyIEY9bmV3IHZlO2NlKFQsXyxGLGcpLGQubWVyZ2VQcm9wZXJ0eU1hdGNoKEYpfX19fWlmKHR5cGVvZiBoLmFkZGl0aW9uYWxQcm9wZXJ0aWVzPT0ib2JqZWN0Iilmb3IodmFyIHE9MCxCPXY7cTxCLmxlbmd0aDtxKyspe3ZhciB3PUJbcV0sVD1tW3ddO2lmKFQpe3ZhciBGPW5ldyB2ZTtjZShULGguYWRkaXRpb25hbFByb3BlcnRpZXMsRixnKSxkLm1lcmdlUHJvcGVydHlNYXRjaChGKX19ZWxzZSBpZihoLmFkZGl0aW9uYWxQcm9wZXJ0aWVzPT09ITEmJnYubGVuZ3RoPjApZm9yKHZhciBHPTAsZGU9djtHPGRlLmxlbmd0aDtHKyspe3ZhciB3PWRlW0ddLFQ9bVt3XTtpZihUKXt2YXIgeT1ULnBhcmVudDtkLnByb2JsZW1zLnB1c2goe2xvY2F0aW9uOntvZmZzZXQ6eS5rZXlOb2RlLm9mZnNldCxsZW5ndGg6eS5rZXlOb2RlLmxlbmd0aH0sbWVzc2FnZTpoLmVycm9yTWVzc2FnZXx8VSgiRGlzYWxsb3dlZEV4dHJhUHJvcFdhcm5pbmciLCJQcm9wZXJ0eSB7MH0gaXMgbm90IGFsbG93ZWQuIix3KX0pfX1pZihfZShoLm1heFByb3BlcnRpZXMpJiZmLnByb3BlcnRpZXMubGVuZ3RoPmgubWF4UHJvcGVydGllcyYmZC5wcm9ibGVtcy5wdXNoKHtsb2NhdGlvbjp7b2Zmc2V0OmYub2Zmc2V0LGxlbmd0aDpmLmxlbmd0aH0sbWVzc2FnZTpVKCJNYXhQcm9wV2FybmluZyIsIk9iamVjdCBoYXMgbW9yZSBwcm9wZXJ0aWVzIHRoYW4gbGltaXQgb2YgezB9LiIsaC5tYXhQcm9wZXJ0aWVzKX0pLF9lKGgubWluUHJvcGVydGllcykmJmYucHJvcGVydGllcy5sZW5ndGg8aC5taW5Qcm9wZXJ0aWVzJiZkLnByb2JsZW1zLnB1c2goe2xvY2F0aW9uOntvZmZzZXQ6Zi5vZmZzZXQsbGVuZ3RoOmYubGVuZ3RofSxtZXNzYWdlOlUoIk1pblByb3BXYXJuaW5nIiwiT2JqZWN0IGhhcyBmZXdlciBwcm9wZXJ0aWVzIHRoYW4gdGhlIHJlcXVpcmVkIG51bWJlciBvZiB7MH0iLGgubWluUHJvcGVydGllcyl9KSxoLmRlcGVuZGVuY2llcylmb3IodmFyIGxlPTAsYmU9T2JqZWN0LmtleXMoaC5kZXBlbmRlbmNpZXMpO2xlPGJlLmxlbmd0aDtsZSsrKXt2YXIgYj1iZVtsZV0sa3Q9bVtiXTtpZihrdCl7dmFyIE9lPWguZGVwZW5kZW5jaWVzW2JdO2lmKEFycmF5LmlzQXJyYXkoT2UpKWZvcih2YXIgVHI9MCxrYT1PZTtUcjxrYS5sZW5ndGg7VHIrKyl7dmFyIEVhPWthW1RyXTttW0VhXT9kLnByb3BlcnRpZXNWYWx1ZU1hdGNoZXMrKzpkLnByb2JsZW1zLnB1c2goe2xvY2F0aW9uOntvZmZzZXQ6Zi5vZmZzZXQsbGVuZ3RoOmYubGVuZ3RofSxtZXNzYWdlOlUoIlJlcXVpcmVkRGVwZW5kZW50UHJvcFdhcm5pbmciLCJPYmplY3QgaXMgbWlzc2luZyBwcm9wZXJ0eSB7MH0gcmVxdWlyZWQgYnkgcHJvcGVydHkgezF9LiIsRWEsYil9KX1lbHNle3ZhciBfPXBlKE9lKTtpZihfKXt2YXIgRj1uZXcgdmU7Y2UoZixfLEYsZyksZC5tZXJnZVByb3BlcnR5TWF0Y2goRil9fX19dmFyIFJhPXBlKGgucHJvcGVydHlOYW1lcyk7aWYoUmEpZm9yKHZhciBQcj0wLE1hPWYucHJvcGVydGllcztQcjxNYS5sZW5ndGg7UHIrKyl7dmFyIHVjPU1hW1ByXSxiPXVjLmtleU5vZGU7YiYmY2UoYixSYSxkLFNyLmluc3RhbmNlKX19fWZ1bmN0aW9uIEV1KGUsdCl7dmFyIG49W10scj0tMSxpPWUuZ2V0VGV4dCgpLHM9TnQoaSwhMSksYT10JiZ0LmNvbGxlY3RDb21tZW50cz9bXTp2b2lkIDA7ZnVuY3Rpb24gbygpe2Zvcig7Oyl7dmFyIHc9cy5zY2FuKCk7c3dpdGNoKGYoKSx3KXtjYXNlIDEyOmNhc2UgMTM6QXJyYXkuaXNBcnJheShhKSYmYS5wdXNoKFguY3JlYXRlKGUucG9zaXRpb25BdChzLmdldFRva2VuT2Zmc2V0KCkpLGUucG9zaXRpb25BdChzLmdldFRva2VuT2Zmc2V0KCkrcy5nZXRUb2tlbkxlbmd0aCgpKSkpO2JyZWFrO2Nhc2UgMTU6Y2FzZSAxNDpicmVhaztkZWZhdWx0OnJldHVybiB3fX19ZnVuY3Rpb24gbCh3LE4sQSxSLEkpe2lmKEk9PT12b2lkIDAmJihJPXdlLkVycm9yKSxuLmxlbmd0aD09PTB8fEEhPT1yKXt2YXIgQz1YLmNyZWF0ZShlLnBvc2l0aW9uQXQoQSksZS5wb3NpdGlvbkF0KFIpKTtuLnB1c2goJGUuY3JlYXRlKEMsdyxJLE4sZS5sYW5ndWFnZUlkKSkscj1BfX1mdW5jdGlvbiB1KHcsTixBLFIsSSl7QT09PXZvaWQgMCYmKEE9dm9pZCAwKSxSPT09dm9pZCAwJiYoUj1bXSksST09PXZvaWQgMCYmKEk9W10pO3ZhciBDPXMuZ2V0VG9rZW5PZmZzZXQoKSxfPXMuZ2V0VG9rZW5PZmZzZXQoKStzLmdldFRva2VuTGVuZ3RoKCk7aWYoQz09PV8mJkM+MCl7Zm9yKEMtLTtDPjAmJi9ccy8udGVzdChpLmNoYXJBdChDKSk7KUMtLTtfPUMrMX1pZihsKHcsTixDLF8pLEEmJmgoQSwhMSksUi5sZW5ndGgrSS5sZW5ndGg+MClmb3IodmFyIFQ9cy5nZXRUb2tlbigpO1QhPT0xNzspe2lmKFIuaW5kZXhPZihUKSE9PS0xKXtvKCk7YnJlYWt9ZWxzZSBpZihJLmluZGV4T2YoVCkhPT0tMSlicmVhaztUPW8oKX1yZXR1cm4gQX1mdW5jdGlvbiBmKCl7c3dpdGNoKHMuZ2V0VG9rZW5FcnJvcigpKXtjYXNlIDQ6cmV0dXJuIHUoVSgiSW52YWxpZFVuaWNvZGUiLCJJbnZhbGlkIHVuaWNvZGUgc2VxdWVuY2UgaW4gc3RyaW5nLiIpLEouSW52YWxpZFVuaWNvZGUpLCEwO2Nhc2UgNTpyZXR1cm4gdShVKCJJbnZhbGlkRXNjYXBlQ2hhcmFjdGVyIiwiSW52YWxpZCBlc2NhcGUgY2hhcmFjdGVyIGluIHN0cmluZy4iKSxKLkludmFsaWRFc2NhcGVDaGFyYWN0ZXIpLCEwO2Nhc2UgMzpyZXR1cm4gdShVKCJVbmV4cGVjdGVkRW5kT2ZOdW1iZXIiLCJVbmV4cGVjdGVkIGVuZCBvZiBudW1iZXIuIiksSi5VbmV4cGVjdGVkRW5kT2ZOdW1iZXIpLCEwO2Nhc2UgMTpyZXR1cm4gdShVKCJVbmV4cGVjdGVkRW5kT2ZDb21tZW50IiwiVW5leHBlY3RlZCBlbmQgb2YgY29tbWVudC4iKSxKLlVuZXhwZWN0ZWRFbmRPZkNvbW1lbnQpLCEwO2Nhc2UgMjpyZXR1cm4gdShVKCJVbmV4cGVjdGVkRW5kT2ZTdHJpbmciLCJVbmV4cGVjdGVkIGVuZCBvZiBzdHJpbmcuIiksSi5VbmV4cGVjdGVkRW5kT2ZTdHJpbmcpLCEwO2Nhc2UgNjpyZXR1cm4gdShVKCJJbnZhbGlkQ2hhcmFjdGVyIiwiSW52YWxpZCBjaGFyYWN0ZXJzIGluIHN0cmluZy4gQ29udHJvbCBjaGFyYWN0ZXJzIG11c3QgYmUgZXNjYXBlZC4iKSxKLkludmFsaWRDaGFyYWN0ZXIpLCEwfXJldHVybiExfWZ1bmN0aW9uIGgodyxOKXtyZXR1cm4gdy5sZW5ndGg9cy5nZXRUb2tlbk9mZnNldCgpK3MuZ2V0VG9rZW5MZW5ndGgoKS13Lm9mZnNldCxOJiZvKCksd31mdW5jdGlvbiBkKHcpe2lmKHMuZ2V0VG9rZW4oKT09PTMpe3ZhciBOPW5ldyBTdSh3LHMuZ2V0VG9rZW5PZmZzZXQoKSk7bygpO2Zvcih2YXIgQT0hMTtzLmdldFRva2VuKCkhPT00JiZzLmdldFRva2VuKCkhPT0xNzspe2lmKHMuZ2V0VG9rZW4oKT09PTUpe0F8fHUoVSgiVmFsdWVFeHBlY3RlZCIsIlZhbHVlIGV4cGVjdGVkIiksSi5WYWx1ZUV4cGVjdGVkKTt2YXIgUj1zLmdldFRva2VuT2Zmc2V0KCk7aWYobygpLHMuZ2V0VG9rZW4oKT09PTQpe0EmJmwoVSgiVHJhaWxpbmdDb21tYSIsIlRyYWlsaW5nIGNvbW1hIiksSi5UcmFpbGluZ0NvbW1hLFIsUisxKTtjb250aW51ZX19ZWxzZSBBJiZ1KFUoIkV4cGVjdGVkQ29tbWEiLCJFeHBlY3RlZCBjb21tYSIpLEouQ29tbWFFeHBlY3RlZCk7dmFyIEk9YihOKTtJP04uaXRlbXMucHVzaChJKTp1KFUoIlByb3BlcnR5RXhwZWN0ZWQiLCJWYWx1ZSBleHBlY3RlZCIpLEouVmFsdWVFeHBlY3RlZCx2b2lkIDAsW10sWzQsNV0pLEE9ITB9cmV0dXJuIHMuZ2V0VG9rZW4oKSE9PTQ/dShVKCJFeHBlY3RlZENsb3NlQnJhY2tldCIsIkV4cGVjdGVkIGNvbW1hIG9yIGNsb3NpbmcgYnJhY2tldCIpLEouQ29tbWFPckNsb3NlQmFja2V0RXhwZWN0ZWQsTik6aChOLCEwKX19dmFyIGc9bmV3IHdyKHZvaWQgMCwwLDApO2Z1bmN0aW9uIG0odyxOKXt2YXIgQT1uZXcgTnUodyxzLmdldFRva2VuT2Zmc2V0KCksZyksUj1wKEEpO2lmKCFSKWlmKHMuZ2V0VG9rZW4oKT09PTE2KXt1KFUoIkRvdWJsZVF1b3Rlc0V4cGVjdGVkIiwiUHJvcGVydHkga2V5cyBtdXN0IGJlIGRvdWJsZXF1b3RlZCIpLEouVW5kZWZpbmVkKTt2YXIgST1uZXcgd3IoQSxzLmdldFRva2VuT2Zmc2V0KCkscy5nZXRUb2tlbkxlbmd0aCgpKTtJLnZhbHVlPXMuZ2V0VG9rZW5WYWx1ZSgpLFI9SSxvKCl9ZWxzZSByZXR1cm47QS5rZXlOb2RlPVI7dmFyIEM9TltSLnZhbHVlXTtpZihDPyhsKFUoIkR1cGxpY2F0ZUtleVdhcm5pbmciLCJEdXBsaWNhdGUgb2JqZWN0IGtleSIpLEouRHVwbGljYXRlS2V5LEEua2V5Tm9kZS5vZmZzZXQsQS5rZXlOb2RlLm9mZnNldCtBLmtleU5vZGUubGVuZ3RoLHdlLldhcm5pbmcpLHR5cGVvZiBDPT0ib2JqZWN0IiYmbChVKCJEdXBsaWNhdGVLZXlXYXJuaW5nIiwiRHVwbGljYXRlIG9iamVjdCBrZXkiKSxKLkR1cGxpY2F0ZUtleSxDLmtleU5vZGUub2Zmc2V0LEMua2V5Tm9kZS5vZmZzZXQrQy5rZXlOb2RlLmxlbmd0aCx3ZS5XYXJuaW5nKSxOW1IudmFsdWVdPSEwKTpOW1IudmFsdWVdPUEscy5nZXRUb2tlbigpPT09NilBLmNvbG9uT2Zmc2V0PXMuZ2V0VG9rZW5PZmZzZXQoKSxvKCk7ZWxzZSBpZih1KFUoIkNvbG9uRXhwZWN0ZWQiLCJDb2xvbiBleHBlY3RlZCIpLEouQ29sb25FeHBlY3RlZCkscy5nZXRUb2tlbigpPT09MTAmJmUucG9zaXRpb25BdChSLm9mZnNldCtSLmxlbmd0aCkubGluZTxlLnBvc2l0aW9uQXQocy5nZXRUb2tlbk9mZnNldCgpKS5saW5lKXJldHVybiBBLmxlbmd0aD1SLmxlbmd0aCxBO3ZhciBfPWIoQSk7cmV0dXJuIF8/KEEudmFsdWVOb2RlPV8sQS5sZW5ndGg9Xy5vZmZzZXQrXy5sZW5ndGgtQS5vZmZzZXQsQSk6dShVKCJWYWx1ZUV4cGVjdGVkIiwiVmFsdWUgZXhwZWN0ZWQiKSxKLlZhbHVlRXhwZWN0ZWQsQSxbXSxbMiw1XSl9ZnVuY3Rpb24gdih3KXtpZihzLmdldFRva2VuKCk9PT0xKXt2YXIgTj1uZXcgQXUodyxzLmdldFRva2VuT2Zmc2V0KCkpLEE9T2JqZWN0LmNyZWF0ZShudWxsKTtvKCk7Zm9yKHZhciBSPSExO3MuZ2V0VG9rZW4oKSE9PTImJnMuZ2V0VG9rZW4oKSE9PTE3Oyl7aWYocy5nZXRUb2tlbigpPT09NSl7Unx8dShVKCJQcm9wZXJ0eUV4cGVjdGVkIiwiUHJvcGVydHkgZXhwZWN0ZWQiKSxKLlByb3BlcnR5RXhwZWN0ZWQpO3ZhciBJPXMuZ2V0VG9rZW5PZmZzZXQoKTtpZihvKCkscy5nZXRUb2tlbigpPT09Mil7UiYmbChVKCJUcmFpbGluZ0NvbW1hIiwiVHJhaWxpbmcgY29tbWEiKSxKLlRyYWlsaW5nQ29tbWEsSSxJKzEpO2NvbnRpbnVlfX1lbHNlIFImJnUoVSgiRXhwZWN0ZWRDb21tYSIsIkV4cGVjdGVkIGNvbW1hIiksSi5Db21tYUV4cGVjdGVkKTt2YXIgQz1tKE4sQSk7Qz9OLnByb3BlcnRpZXMucHVzaChDKTp1KFUoIlByb3BlcnR5RXhwZWN0ZWQiLCJQcm9wZXJ0eSBleHBlY3RlZCIpLEouUHJvcGVydHlFeHBlY3RlZCx2b2lkIDAsW10sWzIsNV0pLFI9ITB9cmV0dXJuIHMuZ2V0VG9rZW4oKSE9PTI/dShVKCJFeHBlY3RlZENsb3NlQnJhY2UiLCJFeHBlY3RlZCBjb21tYSBvciBjbG9zaW5nIGJyYWNlIiksSi5Db21tYU9yQ2xvc2VCcmFjZUV4cGVjdGVkLE4pOmgoTiwhMCl9fWZ1bmN0aW9uIHAodyl7aWYocy5nZXRUb2tlbigpPT09MTApe3ZhciBOPW5ldyB3cih3LHMuZ2V0VG9rZW5PZmZzZXQoKSk7cmV0dXJuIE4udmFsdWU9cy5nZXRUb2tlblZhbHVlKCksaChOLCEwKX19ZnVuY3Rpb24geCh3KXtpZihzLmdldFRva2VuKCk9PT0xMSl7dmFyIE49bmV3IEx1KHcscy5nZXRUb2tlbk9mZnNldCgpKTtpZihzLmdldFRva2VuRXJyb3IoKT09PTApe3ZhciBBPXMuZ2V0VG9rZW5WYWx1ZSgpO3RyeXt2YXIgUj1KU09OLnBhcnNlKEEpO2lmKCFfZShSKSlyZXR1cm4gdShVKCJJbnZhbGlkTnVtYmVyRm9ybWF0IiwiSW52YWxpZCBudW1iZXIgZm9ybWF0LiIpLEouVW5kZWZpbmVkLE4pO04udmFsdWU9Un1jYXRjaHtyZXR1cm4gdShVKCJJbnZhbGlkTnVtYmVyRm9ybWF0IiwiSW52YWxpZCBudW1iZXIgZm9ybWF0LiIpLEouVW5kZWZpbmVkLE4pfU4uaXNJbnRlZ2VyPUEuaW5kZXhPZigiLiIpPT09LTF9cmV0dXJuIGgoTiwhMCl9fWZ1bmN0aW9uIHkodyl7c3dpdGNoKHMuZ2V0VG9rZW4oKSl7Y2FzZSA3OnJldHVybiBoKG5ldyB3dSh3LHMuZ2V0VG9rZW5PZmZzZXQoKSksITApO2Nhc2UgODpyZXR1cm4gaChuZXcgcGEodywhMCxzLmdldFRva2VuT2Zmc2V0KCkpLCEwKTtjYXNlIDk6cmV0dXJuIGgobmV3IHBhKHcsITEscy5nZXRUb2tlbk9mZnNldCgpKSwhMCk7ZGVmYXVsdDpyZXR1cm59fWZ1bmN0aW9uIGIodyl7cmV0dXJuIGQodyl8fHYodyl8fHAodyl8fHgodyl8fHkodyl9dmFyIEw9dm9pZCAwLFM9bygpO3JldHVybiBTIT09MTcmJihMPWIoTCksTD9zLmdldFRva2VuKCkhPT0xNyYmdShVKCJFbmQgb2YgZmlsZSBleHBlY3RlZCIsIkVuZCBvZiBmaWxlIGV4cGVjdGVkLiIpLEouVW5kZWZpbmVkKTp1KFUoIkludmFsaWQgc3ltYm9sIiwiRXhwZWN0ZWQgYSBKU09OIG9iamVjdCwgYXJyYXkgb3IgbGl0ZXJhbC4iKSxKLlVuZGVmaW5lZCkpLG5ldyB4YShMLG4sYSl9ZnVuY3Rpb24gTnIoZSx0LG4pe2lmKGUhPT1udWxsJiZ0eXBlb2YgZT09Im9iamVjdCIpe3ZhciByPXQrIgkiO2lmKEFycmF5LmlzQXJyYXkoZSkpe2lmKGUubGVuZ3RoPT09MClyZXR1cm4iW10iO2Zvcih2YXIgaT1gWwpgLHM9MDtzPGUubGVuZ3RoO3MrKylpKz1yK05yKGVbc10scixuKSxzPGUubGVuZ3RoLTEmJihpKz0iLCIpLGkrPWAKYDtyZXR1cm4gaSs9dCsiXSIsaX1lbHNle3ZhciBhPU9iamVjdC5rZXlzKGUpO2lmKGEubGVuZ3RoPT09MClyZXR1cm4ie30iO2Zvcih2YXIgaT1gewpgLHM9MDtzPGEubGVuZ3RoO3MrKyl7dmFyIG89YVtzXTtpKz1yK0pTT04uc3RyaW5naWZ5KG8pKyI6ICIrTnIoZVtvXSxyLG4pLHM8YS5sZW5ndGgtMSYmKGkrPSIsIiksaSs9YApgfXJldHVybiBpKz10KyJ9IixpfX1yZXR1cm4gbihlKX12YXIgQXI9SnQoKSxSdT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUodCxuLHIsaSl7bj09PXZvaWQgMCYmKG49W10pLHI9PT12b2lkIDAmJihyPVByb21pc2UpLGk9PT12b2lkIDAmJihpPXt9KSx0aGlzLnNjaGVtYVNlcnZpY2U9dCx0aGlzLmNvbnRyaWJ1dGlvbnM9bix0aGlzLnByb21pc2VDb25zdHJ1Y3Rvcj1yLHRoaXMuY2xpZW50Q2FwYWJpbGl0aWVzPWl9cmV0dXJuIGUucHJvdG90eXBlLmRvUmVzb2x2ZT1mdW5jdGlvbih0KXtmb3IodmFyIG49dGhpcy5jb250cmlidXRpb25zLmxlbmd0aC0xO24+PTA7bi0tKXt2YXIgcj10aGlzLmNvbnRyaWJ1dGlvbnNbbl0ucmVzb2x2ZUNvbXBsZXRpb247aWYocil7dmFyIGk9cih0KTtpZihpKXJldHVybiBpfX1yZXR1cm4gdGhpcy5wcm9taXNlQ29uc3RydWN0b3IucmVzb2x2ZSh0KX0sZS5wcm90b3R5cGUuZG9Db21wbGV0ZT1mdW5jdGlvbih0LG4scil7dmFyIGk9dGhpcyxzPXtpdGVtczpbXSxpc0luY29tcGxldGU6ITF9LGE9dC5nZXRUZXh0KCksbz10Lm9mZnNldEF0KG4pLGw9ci5nZXROb2RlRnJvbU9mZnNldChvLCEwKTtpZih0aGlzLmlzSW5Db21tZW50KHQsbD9sLm9mZnNldDowLG8pKXJldHVybiBQcm9taXNlLnJlc29sdmUocyk7aWYobCYmbz09PWwub2Zmc2V0K2wubGVuZ3RoJiZvPjApe3ZhciB1PWFbby0xXTsobC50eXBlPT09Im9iamVjdCImJnU9PT0ifSJ8fGwudHlwZT09PSJhcnJheSImJnU9PT0iXSIpJiYobD1sLnBhcmVudCl9dmFyIGY9dGhpcy5nZXRDdXJyZW50V29yZCh0LG8pLGg7aWYobCYmKGwudHlwZT09PSJzdHJpbmcifHxsLnR5cGU9PT0ibnVtYmVyInx8bC50eXBlPT09ImJvb2xlYW4ifHxsLnR5cGU9PT0ibnVsbCIpKWg9WC5jcmVhdGUodC5wb3NpdGlvbkF0KGwub2Zmc2V0KSx0LnBvc2l0aW9uQXQobC5vZmZzZXQrbC5sZW5ndGgpKTtlbHNle3ZhciBkPW8tZi5sZW5ndGg7ZD4wJiZhW2QtMV09PT0nIicmJmQtLSxoPVguY3JlYXRlKHQucG9zaXRpb25BdChkKSxuKX12YXIgZz17fSxtPXthZGQ6ZnVuY3Rpb24odil7dmFyIHA9di5sYWJlbCx4PWdbcF07aWYoeCl4LmRvY3VtZW50YXRpb258fCh4LmRvY3VtZW50YXRpb249di5kb2N1bWVudGF0aW9uKSx4LmRldGFpbHx8KHguZGV0YWlsPXYuZGV0YWlsKTtlbHNle2lmKHA9cC5yZXBsYWNlKC9bXG5dL2csIuKGtSIpLHAubGVuZ3RoPjYwKXt2YXIgeT1wLnN1YnN0cigwLDU3KS50cmltKCkrIi4uLiI7Z1t5XXx8KHA9eSl9aCYmdi5pbnNlcnRUZXh0IT09dm9pZCAwJiYodi50ZXh0RWRpdD1NZS5yZXBsYWNlKGgsdi5pbnNlcnRUZXh0KSksdi5sYWJlbD1wLGdbcF09dixzLml0ZW1zLnB1c2godil9fSxzZXRBc0luY29tcGxldGU6ZnVuY3Rpb24oKXtzLmlzSW5jb21wbGV0ZT0hMH0sZXJyb3I6ZnVuY3Rpb24odil7fSxsb2c6ZnVuY3Rpb24odil7fSxnZXROdW1iZXJPZlByb3Bvc2FsczpmdW5jdGlvbigpe3JldHVybiBzLml0ZW1zLmxlbmd0aH19O3JldHVybiB0aGlzLnNjaGVtYVNlcnZpY2UuZ2V0U2NoZW1hRm9yUmVzb3VyY2UodC51cmkscikudGhlbihmdW5jdGlvbih2KXt2YXIgcD1bXSx4PSEwLHk9IiIsYj12b2lkIDA7aWYobCYmbC50eXBlPT09InN0cmluZyIpe3ZhciBMPWwucGFyZW50O0wmJkwudHlwZT09PSJwcm9wZXJ0eSImJkwua2V5Tm9kZT09PWwmJih4PSFMLnZhbHVlTm9kZSxiPUwseT1hLnN1YnN0cihsLm9mZnNldCsxLGwubGVuZ3RoLTIpLEwmJihsPUwucGFyZW50KSl9aWYobCYmbC50eXBlPT09Im9iamVjdCIpe2lmKGwub2Zmc2V0PT09bylyZXR1cm4gczt2YXIgUz1sLnByb3BlcnRpZXM7Uy5mb3JFYWNoKGZ1bmN0aW9uKFIpeyghYnx8YiE9PVIpJiYoZ1tSLmtleU5vZGUudmFsdWVdPWJyLmNyZWF0ZSgiX18iKSl9KTt2YXIgdz0iIjt4JiYodz1pLmV2YWx1YXRlU2VwYXJhdG9yQWZ0ZXIodCx0Lm9mZnNldEF0KGguZW5kKSkpLHY/aS5nZXRQcm9wZXJ0eUNvbXBsZXRpb25zKHYscixsLHgsdyxtKTppLmdldFNjaGVtYUxlc3NQcm9wZXJ0eUNvbXBsZXRpb25zKHIsbCx5LG0pO3ZhciBOPUxyKGwpO2kuY29udHJpYnV0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uKFIpe3ZhciBJPVIuY29sbGVjdFByb3BlcnR5Q29tcGxldGlvbnModC51cmksTixmLHgsdz09PSIiLG0pO0kmJnAucHVzaChJKX0pLCF2JiZmLmxlbmd0aD4wJiZhLmNoYXJBdChvLWYubGVuZ3RoLTEpIT09JyInJiYobS5hZGQoe2tpbmQ6U2UuUHJvcGVydHksbGFiZWw6aS5nZXRMYWJlbEZvclZhbHVlKGYpLGluc2VydFRleHQ6aS5nZXRJbnNlcnRUZXh0Rm9yUHJvcGVydHkoZix2b2lkIDAsITEsdyksaW5zZXJ0VGV4dEZvcm1hdDppZS5TbmlwcGV0LGRvY3VtZW50YXRpb246IiJ9KSxtLnNldEFzSW5jb21wbGV0ZSgpKX12YXIgQT17fTtyZXR1cm4gdj9pLmdldFZhbHVlQ29tcGxldGlvbnModixyLGwsbyx0LG0sQSk6aS5nZXRTY2hlbWFMZXNzVmFsdWVDb21wbGV0aW9ucyhyLGwsbyx0LG0pLGkuY29udHJpYnV0aW9ucy5sZW5ndGg+MCYmaS5nZXRDb250cmlidXRlZFZhbHVlQ29tcGxldGlvbnMocixsLG8sdCxtLHApLGkucHJvbWlzZUNvbnN0cnVjdG9yLmFsbChwKS50aGVuKGZ1bmN0aW9uKCl7aWYobS5nZXROdW1iZXJPZlByb3Bvc2FscygpPT09MCl7dmFyIFI9bztsJiYobC50eXBlPT09InN0cmluZyJ8fGwudHlwZT09PSJudW1iZXIifHxsLnR5cGU9PT0iYm9vbGVhbiJ8fGwudHlwZT09PSJudWxsIikmJihSPWwub2Zmc2V0K2wubGVuZ3RoKTt2YXIgST1pLmV2YWx1YXRlU2VwYXJhdG9yQWZ0ZXIodCxSKTtpLmFkZEZpbGxlclZhbHVlQ29tcGxldGlvbnMoQSxJLG0pfXJldHVybiBzfSl9KX0sZS5wcm90b3R5cGUuZ2V0UHJvcGVydHlDb21wbGV0aW9ucz1mdW5jdGlvbih0LG4scixpLHMsYSl7dmFyIG89dGhpcyxsPW4uZ2V0TWF0Y2hpbmdTY2hlbWFzKHQuc2NoZW1hLHIub2Zmc2V0KTtsLmZvckVhY2goZnVuY3Rpb24odSl7aWYodS5ub2RlPT09ciYmIXUuaW52ZXJ0ZWQpe3ZhciBmPXUuc2NoZW1hLnByb3BlcnRpZXM7ZiYmT2JqZWN0LmtleXMoZikuZm9yRWFjaChmdW5jdGlvbih2KXt2YXIgcD1mW3ZdO2lmKHR5cGVvZiBwPT0ib2JqZWN0IiYmIXAuZGVwcmVjYXRpb25NZXNzYWdlJiYhcC5kb05vdFN1Z2dlc3Qpe3ZhciB4PXtraW5kOlNlLlByb3BlcnR5LGxhYmVsOnYsaW5zZXJ0VGV4dDpvLmdldEluc2VydFRleHRGb3JQcm9wZXJ0eSh2LHAsaSxzKSxpbnNlcnRUZXh0Rm9ybWF0OmllLlNuaXBwZXQsZmlsdGVyVGV4dDpvLmdldEZpbHRlclRleHRGb3JWYWx1ZSh2KSxkb2N1bWVudGF0aW9uOm8uZnJvbU1hcmt1cChwLm1hcmtkb3duRGVzY3JpcHRpb24pfHxwLmRlc2NyaXB0aW9ufHwiIn07cC5zdWdnZXN0U29ydFRleHQhPT12b2lkIDAmJih4LnNvcnRUZXh0PXAuc3VnZ2VzdFNvcnRUZXh0KSx4Lmluc2VydFRleHQmJnF0KHguaW5zZXJ0VGV4dCwiJDEiLmNvbmNhdChzKSkmJih4LmNvbW1hbmQ9e3RpdGxlOiJTdWdnZXN0Iixjb21tYW5kOiJlZGl0b3IuYWN0aW9uLnRyaWdnZXJTdWdnZXN0In0pLGEuYWRkKHgpfX0pO3ZhciBoPXUuc2NoZW1hLnByb3BlcnR5TmFtZXM7aWYodHlwZW9mIGg9PSJvYmplY3QiJiYhaC5kZXByZWNhdGlvbk1lc3NhZ2UmJiFoLmRvTm90U3VnZ2VzdCl7dmFyIGQ9ZnVuY3Rpb24odixwKXtwPT09dm9pZCAwJiYocD12b2lkIDApO3ZhciB4PXtraW5kOlNlLlByb3BlcnR5LGxhYmVsOnYsaW5zZXJ0VGV4dDpvLmdldEluc2VydFRleHRGb3JQcm9wZXJ0eSh2LHZvaWQgMCxpLHMpLGluc2VydFRleHRGb3JtYXQ6aWUuU25pcHBldCxmaWx0ZXJUZXh0Om8uZ2V0RmlsdGVyVGV4dEZvclZhbHVlKHYpLGRvY3VtZW50YXRpb246cHx8by5mcm9tTWFya3VwKGgubWFya2Rvd25EZXNjcmlwdGlvbil8fGguZGVzY3JpcHRpb258fCIifTtoLnN1Z2dlc3RTb3J0VGV4dCE9PXZvaWQgMCYmKHguc29ydFRleHQ9aC5zdWdnZXN0U29ydFRleHQpLHguaW5zZXJ0VGV4dCYmcXQoeC5pbnNlcnRUZXh0LCIkMSIuY29uY2F0KHMpKSYmKHguY29tbWFuZD17dGl0bGU6IlN1Z2dlc3QiLGNvbW1hbmQ6ImVkaXRvci5hY3Rpb24udHJpZ2dlclN1Z2dlc3QifSksYS5hZGQoeCl9O2lmKGguZW51bSlmb3IodmFyIGc9MDtnPGguZW51bS5sZW5ndGg7ZysrKXt2YXIgbT12b2lkIDA7aC5tYXJrZG93bkVudW1EZXNjcmlwdGlvbnMmJmc8aC5tYXJrZG93bkVudW1EZXNjcmlwdGlvbnMubGVuZ3RoP209by5mcm9tTWFya3VwKGgubWFya2Rvd25FbnVtRGVzY3JpcHRpb25zW2ddKTpoLmVudW1EZXNjcmlwdGlvbnMmJmc8aC5lbnVtRGVzY3JpcHRpb25zLmxlbmd0aCYmKG09aC5lbnVtRGVzY3JpcHRpb25zW2ddKSxkKGguZW51bVtnXSxtKX1oLmNvbnN0JiZkKGguY29uc3QpfX19KX0sZS5wcm90b3R5cGUuZ2V0U2NoZW1hTGVzc1Byb3BlcnR5Q29tcGxldGlvbnM9ZnVuY3Rpb24odCxuLHIsaSl7dmFyIHM9dGhpcyxhPWZ1bmN0aW9uKGwpe2wucHJvcGVydGllcy5mb3JFYWNoKGZ1bmN0aW9uKHUpe3ZhciBmPXUua2V5Tm9kZS52YWx1ZTtpLmFkZCh7a2luZDpTZS5Qcm9wZXJ0eSxsYWJlbDpmLGluc2VydFRleHQ6cy5nZXRJbnNlcnRUZXh0Rm9yVmFsdWUoZiwiIiksaW5zZXJ0VGV4dEZvcm1hdDppZS5TbmlwcGV0LGZpbHRlclRleHQ6cy5nZXRGaWx0ZXJUZXh0Rm9yVmFsdWUoZiksZG9jdW1lbnRhdGlvbjoiIn0pfSl9O2lmKG4ucGFyZW50KWlmKG4ucGFyZW50LnR5cGU9PT0icHJvcGVydHkiKXt2YXIgbz1uLnBhcmVudC5rZXlOb2RlLnZhbHVlO3QudmlzaXQoZnVuY3Rpb24obCl7cmV0dXJuIGwudHlwZT09PSJwcm9wZXJ0eSImJmwhPT1uLnBhcmVudCYmbC5rZXlOb2RlLnZhbHVlPT09byYmbC52YWx1ZU5vZGUmJmwudmFsdWVOb2RlLnR5cGU9PT0ib2JqZWN0IiYmYShsLnZhbHVlTm9kZSksITB9KX1lbHNlIG4ucGFyZW50LnR5cGU9PT0iYXJyYXkiJiZuLnBhcmVudC5pdGVtcy5mb3JFYWNoKGZ1bmN0aW9uKGwpe2wudHlwZT09PSJvYmplY3QiJiZsIT09biYmYShsKX0pO2Vsc2Ugbi50eXBlPT09Im9iamVjdCImJmkuYWRkKHtraW5kOlNlLlByb3BlcnR5LGxhYmVsOiIkc2NoZW1hIixpbnNlcnRUZXh0OnRoaXMuZ2V0SW5zZXJ0VGV4dEZvclByb3BlcnR5KCIkc2NoZW1hIix2b2lkIDAsITAsIiIpLGluc2VydFRleHRGb3JtYXQ6aWUuU25pcHBldCxkb2N1bWVudGF0aW9uOiIiLGZpbHRlclRleHQ6dGhpcy5nZXRGaWx0ZXJUZXh0Rm9yVmFsdWUoIiRzY2hlbWEiKX0pfSxlLnByb3RvdHlwZS5nZXRTY2hlbWFMZXNzVmFsdWVDb21wbGV0aW9ucz1mdW5jdGlvbih0LG4scixpLHMpe3ZhciBhPXRoaXMsbz1yO2lmKG4mJihuLnR5cGU9PT0ic3RyaW5nInx8bi50eXBlPT09Im51bWJlciJ8fG4udHlwZT09PSJib29sZWFuInx8bi50eXBlPT09Im51bGwiKSYmKG89bi5vZmZzZXQrbi5sZW5ndGgsbj1uLnBhcmVudCksIW4pe3MuYWRkKHtraW5kOnRoaXMuZ2V0U3VnZ2VzdGlvbktpbmQoIm9iamVjdCIpLGxhYmVsOiJFbXB0eSBvYmplY3QiLGluc2VydFRleHQ6dGhpcy5nZXRJbnNlcnRUZXh0Rm9yVmFsdWUoe30sIiIpLGluc2VydFRleHRGb3JtYXQ6aWUuU25pcHBldCxkb2N1bWVudGF0aW9uOiIifSkscy5hZGQoe2tpbmQ6dGhpcy5nZXRTdWdnZXN0aW9uS2luZCgiYXJyYXkiKSxsYWJlbDoiRW1wdHkgYXJyYXkiLGluc2VydFRleHQ6dGhpcy5nZXRJbnNlcnRUZXh0Rm9yVmFsdWUoW10sIiIpLGluc2VydFRleHRGb3JtYXQ6aWUuU25pcHBldCxkb2N1bWVudGF0aW9uOiIifSk7cmV0dXJufXZhciBsPXRoaXMuZXZhbHVhdGVTZXBhcmF0b3JBZnRlcihpLG8pLHU9ZnVuY3Rpb24oZyl7Zy5wYXJlbnQmJiFiYShnLnBhcmVudCxyLCEwKSYmcy5hZGQoe2tpbmQ6YS5nZXRTdWdnZXN0aW9uS2luZChnLnR5cGUpLGxhYmVsOmEuZ2V0TGFiZWxUZXh0Rm9yTWF0Y2hpbmdOb2RlKGcsaSksaW5zZXJ0VGV4dDphLmdldEluc2VydFRleHRGb3JNYXRjaGluZ05vZGUoZyxpLGwpLGluc2VydFRleHRGb3JtYXQ6aWUuU25pcHBldCxkb2N1bWVudGF0aW9uOiIifSksZy50eXBlPT09ImJvb2xlYW4iJiZhLmFkZEJvb2xlYW5WYWx1ZUNvbXBsZXRpb24oIWcudmFsdWUsbCxzKX07aWYobi50eXBlPT09InByb3BlcnR5IiYmcj4obi5jb2xvbk9mZnNldHx8MCkpe3ZhciBmPW4udmFsdWVOb2RlO2lmKGYmJihyPmYub2Zmc2V0K2YubGVuZ3RofHxmLnR5cGU9PT0ib2JqZWN0Inx8Zi50eXBlPT09ImFycmF5IikpcmV0dXJuO3ZhciBoPW4ua2V5Tm9kZS52YWx1ZTt0LnZpc2l0KGZ1bmN0aW9uKGcpe3JldHVybiBnLnR5cGU9PT0icHJvcGVydHkiJiZnLmtleU5vZGUudmFsdWU9PT1oJiZnLnZhbHVlTm9kZSYmdShnLnZhbHVlTm9kZSksITB9KSxoPT09IiRzY2hlbWEiJiZuLnBhcmVudCYmIW4ucGFyZW50LnBhcmVudCYmdGhpcy5hZGREb2xsYXJTY2hlbWFDb21wbGV0aW9ucyhsLHMpfWlmKG4udHlwZT09PSJhcnJheSIpaWYobi5wYXJlbnQmJm4ucGFyZW50LnR5cGU9PT0icHJvcGVydHkiKXt2YXIgZD1uLnBhcmVudC5rZXlOb2RlLnZhbHVlO3QudmlzaXQoZnVuY3Rpb24oZyl7cmV0dXJuIGcudHlwZT09PSJwcm9wZXJ0eSImJmcua2V5Tm9kZS52YWx1ZT09PWQmJmcudmFsdWVOb2RlJiZnLnZhbHVlTm9kZS50eXBlPT09ImFycmF5IiYmZy52YWx1ZU5vZGUuaXRlbXMuZm9yRWFjaCh1KSwhMH0pfWVsc2Ugbi5pdGVtcy5mb3JFYWNoKHUpfSxlLnByb3RvdHlwZS5nZXRWYWx1ZUNvbXBsZXRpb25zPWZ1bmN0aW9uKHQsbixyLGkscyxhLG8pe3ZhciBsPWksdT12b2lkIDAsZj12b2lkIDA7aWYociYmKHIudHlwZT09PSJzdHJpbmcifHxyLnR5cGU9PT0ibnVtYmVyInx8ci50eXBlPT09ImJvb2xlYW4ifHxyLnR5cGU9PT0ibnVsbCIpJiYobD1yLm9mZnNldCtyLmxlbmd0aCxmPXIscj1yLnBhcmVudCksIXIpe3RoaXMuYWRkU2NoZW1hVmFsdWVDb21wbGV0aW9ucyh0LnNjaGVtYSwiIixhLG8pO3JldHVybn1pZihyLnR5cGU9PT0icHJvcGVydHkiJiZpPihyLmNvbG9uT2Zmc2V0fHwwKSl7dmFyIGg9ci52YWx1ZU5vZGU7aWYoaCYmaT5oLm9mZnNldCtoLmxlbmd0aClyZXR1cm47dT1yLmtleU5vZGUudmFsdWUscj1yLnBhcmVudH1pZihyJiYodSE9PXZvaWQgMHx8ci50eXBlPT09ImFycmF5Iikpe2Zvcih2YXIgZD10aGlzLmV2YWx1YXRlU2VwYXJhdG9yQWZ0ZXIocyxsKSxnPW4uZ2V0TWF0Y2hpbmdTY2hlbWFzKHQuc2NoZW1hLHIub2Zmc2V0LGYpLG09MCx2PWc7bTx2Lmxlbmd0aDttKyspe3ZhciBwPXZbbV07aWYocC5ub2RlPT09ciYmIXAuaW52ZXJ0ZWQmJnAuc2NoZW1hKXtpZihyLnR5cGU9PT0iYXJyYXkiJiZwLnNjaGVtYS5pdGVtcylpZihBcnJheS5pc0FycmF5KHAuc2NoZW1hLml0ZW1zKSl7dmFyIHg9dGhpcy5maW5kSXRlbUF0T2Zmc2V0KHIscyxpKTt4PHAuc2NoZW1hLml0ZW1zLmxlbmd0aCYmdGhpcy5hZGRTY2hlbWFWYWx1ZUNvbXBsZXRpb25zKHAuc2NoZW1hLml0ZW1zW3hdLGQsYSxvKX1lbHNlIHRoaXMuYWRkU2NoZW1hVmFsdWVDb21wbGV0aW9ucyhwLnNjaGVtYS5pdGVtcyxkLGEsbyk7aWYodSE9PXZvaWQgMCl7dmFyIHk9ITE7aWYocC5zY2hlbWEucHJvcGVydGllcyl7dmFyIGI9cC5zY2hlbWEucHJvcGVydGllc1t1XTtiJiYoeT0hMCx0aGlzLmFkZFNjaGVtYVZhbHVlQ29tcGxldGlvbnMoYixkLGEsbykpfWlmKHAuc2NoZW1hLnBhdHRlcm5Qcm9wZXJ0aWVzJiYheSlmb3IodmFyIEw9MCxTPU9iamVjdC5rZXlzKHAuc2NoZW1hLnBhdHRlcm5Qcm9wZXJ0aWVzKTtMPFMubGVuZ3RoO0wrKyl7dmFyIHc9U1tMXSxOPWduKHcpO2lmKE4hPW51bGwmJk4udGVzdCh1KSl7eT0hMDt2YXIgYj1wLnNjaGVtYS5wYXR0ZXJuUHJvcGVydGllc1t3XTt0aGlzLmFkZFNjaGVtYVZhbHVlQ29tcGxldGlvbnMoYixkLGEsbyl9fWlmKHAuc2NoZW1hLmFkZGl0aW9uYWxQcm9wZXJ0aWVzJiYheSl7dmFyIGI9cC5zY2hlbWEuYWRkaXRpb25hbFByb3BlcnRpZXM7dGhpcy5hZGRTY2hlbWFWYWx1ZUNvbXBsZXRpb25zKGIsZCxhLG8pfX19fXU9PT0iJHNjaGVtYSImJiFyLnBhcmVudCYmdGhpcy5hZGREb2xsYXJTY2hlbWFDb21wbGV0aW9ucyhkLGEpLG8uYm9vbGVhbiYmKHRoaXMuYWRkQm9vbGVhblZhbHVlQ29tcGxldGlvbighMCxkLGEpLHRoaXMuYWRkQm9vbGVhblZhbHVlQ29tcGxldGlvbighMSxkLGEpKSxvLm51bGwmJnRoaXMuYWRkTnVsbFZhbHVlQ29tcGxldGlvbihkLGEpfX0sZS5wcm90b3R5cGUuZ2V0Q29udHJpYnV0ZWRWYWx1ZUNvbXBsZXRpb25zPWZ1bmN0aW9uKHQsbixyLGkscyxhKXtpZighbil0aGlzLmNvbnRyaWJ1dGlvbnMuZm9yRWFjaChmdW5jdGlvbihmKXt2YXIgaD1mLmNvbGxlY3REZWZhdWx0Q29tcGxldGlvbnMoaS51cmkscyk7aCYmYS5wdXNoKGgpfSk7ZWxzZSBpZigobi50eXBlPT09InN0cmluZyJ8fG4udHlwZT09PSJudW1iZXIifHxuLnR5cGU9PT0iYm9vbGVhbiJ8fG4udHlwZT09PSJudWxsIikmJihuPW4ucGFyZW50KSxuJiZuLnR5cGU9PT0icHJvcGVydHkiJiZyPihuLmNvbG9uT2Zmc2V0fHwwKSl7dmFyIG89bi5rZXlOb2RlLnZhbHVlLGw9bi52YWx1ZU5vZGU7aWYoKCFsfHxyPD1sLm9mZnNldCtsLmxlbmd0aCkmJm4ucGFyZW50KXt2YXIgdT1McihuLnBhcmVudCk7dGhpcy5jb250cmlidXRpb25zLmZvckVhY2goZnVuY3Rpb24oZil7dmFyIGg9Zi5jb2xsZWN0VmFsdWVDb21wbGV0aW9ucyhpLnVyaSx1LG8scyk7aCYmYS5wdXNoKGgpfSl9fX0sZS5wcm90b3R5cGUuYWRkU2NoZW1hVmFsdWVDb21wbGV0aW9ucz1mdW5jdGlvbih0LG4scixpKXt2YXIgcz10aGlzO3R5cGVvZiB0PT0ib2JqZWN0IiYmKHRoaXMuYWRkRW51bVZhbHVlQ29tcGxldGlvbnModCxuLHIpLHRoaXMuYWRkRGVmYXVsdFZhbHVlQ29tcGxldGlvbnModCxuLHIpLHRoaXMuY29sbGVjdFR5cGVzKHQsaSksQXJyYXkuaXNBcnJheSh0LmFsbE9mKSYmdC5hbGxPZi5mb3JFYWNoKGZ1bmN0aW9uKGEpe3JldHVybiBzLmFkZFNjaGVtYVZhbHVlQ29tcGxldGlvbnMoYSxuLHIsaSl9KSxBcnJheS5pc0FycmF5KHQuYW55T2YpJiZ0LmFueU9mLmZvckVhY2goZnVuY3Rpb24oYSl7cmV0dXJuIHMuYWRkU2NoZW1hVmFsdWVDb21wbGV0aW9ucyhhLG4scixpKX0pLEFycmF5LmlzQXJyYXkodC5vbmVPZikmJnQub25lT2YuZm9yRWFjaChmdW5jdGlvbihhKXtyZXR1cm4gcy5hZGRTY2hlbWFWYWx1ZUNvbXBsZXRpb25zKGEsbixyLGkpfSkpfSxlLnByb3RvdHlwZS5hZGREZWZhdWx0VmFsdWVDb21wbGV0aW9ucz1mdW5jdGlvbih0LG4scixpKXt2YXIgcz10aGlzO2k9PT12b2lkIDAmJihpPTApO3ZhciBhPSExO2lmKEJlKHQuZGVmYXVsdCkpe2Zvcih2YXIgbz10LnR5cGUsbD10LmRlZmF1bHQsdT1pO3U+MDt1LS0pbD1bbF0sbz0iYXJyYXkiO3IuYWRkKHtraW5kOnRoaXMuZ2V0U3VnZ2VzdGlvbktpbmQobyksbGFiZWw6dGhpcy5nZXRMYWJlbEZvclZhbHVlKGwpLGluc2VydFRleHQ6dGhpcy5nZXRJbnNlcnRUZXh0Rm9yVmFsdWUobCxuKSxpbnNlcnRUZXh0Rm9ybWF0OmllLlNuaXBwZXQsZGV0YWlsOkFyKCJqc29uLnN1Z2dlc3QuZGVmYXVsdCIsIkRlZmF1bHQgdmFsdWUiKX0pLGE9ITB9QXJyYXkuaXNBcnJheSh0LmV4YW1wbGVzKSYmdC5leGFtcGxlcy5mb3JFYWNoKGZ1bmN0aW9uKGYpe2Zvcih2YXIgaD10LnR5cGUsZD1mLGc9aTtnPjA7Zy0tKWQ9W2RdLGg9ImFycmF5IjtyLmFkZCh7a2luZDpzLmdldFN1Z2dlc3Rpb25LaW5kKGgpLGxhYmVsOnMuZ2V0TGFiZWxGb3JWYWx1ZShkKSxpbnNlcnRUZXh0OnMuZ2V0SW5zZXJ0VGV4dEZvclZhbHVlKGQsbiksaW5zZXJ0VGV4dEZvcm1hdDppZS5TbmlwcGV0fSksYT0hMH0pLEFycmF5LmlzQXJyYXkodC5kZWZhdWx0U25pcHBldHMpJiZ0LmRlZmF1bHRTbmlwcGV0cy5mb3JFYWNoKGZ1bmN0aW9uKGYpe3ZhciBoPXQudHlwZSxkPWYuYm9keSxnPWYubGFiZWwsbSx2O2lmKEJlKGQpKXt0LnR5cGU7Zm9yKHZhciBwPWk7cD4wO3AtLSlkPVtkXTttPXMuZ2V0SW5zZXJ0VGV4dEZvclNuaXBwZXRWYWx1ZShkLG4pLHY9cy5nZXRGaWx0ZXJUZXh0Rm9yU25pcHBldFZhbHVlKGQpLGc9Z3x8cy5nZXRMYWJlbEZvclNuaXBwZXRWYWx1ZShkKX1lbHNlIGlmKHR5cGVvZiBmLmJvZHlUZXh0PT0ic3RyaW5nIil7Zm9yKHZhciB4PSIiLHk9IiIsYj0iIixwPWk7cD4wO3AtLSl4PXgrYitgWwpgLHk9eStgCmArYisiXSIsYis9IgkiLGg9ImFycmF5IjttPXgrYitmLmJvZHlUZXh0LnNwbGl0KGAKYCkuam9pbihgCmArYikreStuLGc9Z3x8bSx2PW0ucmVwbGFjZSgvW1xuXS9nLCIiKX1lbHNlIHJldHVybjtyLmFkZCh7a2luZDpzLmdldFN1Z2dlc3Rpb25LaW5kKGgpLGxhYmVsOmcsZG9jdW1lbnRhdGlvbjpzLmZyb21NYXJrdXAoZi5tYXJrZG93bkRlc2NyaXB0aW9uKXx8Zi5kZXNjcmlwdGlvbixpbnNlcnRUZXh0Om0saW5zZXJ0VGV4dEZvcm1hdDppZS5TbmlwcGV0LGZpbHRlclRleHQ6dn0pLGE9ITB9KSwhYSYmdHlwZW9mIHQuaXRlbXM9PSJvYmplY3QiJiYhQXJyYXkuaXNBcnJheSh0Lml0ZW1zKSYmaTw1JiZ0aGlzLmFkZERlZmF1bHRWYWx1ZUNvbXBsZXRpb25zKHQuaXRlbXMsbixyLGkrMSl9LGUucHJvdG90eXBlLmFkZEVudW1WYWx1ZUNvbXBsZXRpb25zPWZ1bmN0aW9uKHQsbixyKXtpZihCZSh0LmNvbnN0KSYmci5hZGQoe2tpbmQ6dGhpcy5nZXRTdWdnZXN0aW9uS2luZCh0LnR5cGUpLGxhYmVsOnRoaXMuZ2V0TGFiZWxGb3JWYWx1ZSh0LmNvbnN0KSxpbnNlcnRUZXh0OnRoaXMuZ2V0SW5zZXJ0VGV4dEZvclZhbHVlKHQuY29uc3QsbiksaW5zZXJ0VGV4dEZvcm1hdDppZS5TbmlwcGV0LGRvY3VtZW50YXRpb246dGhpcy5mcm9tTWFya3VwKHQubWFya2Rvd25EZXNjcmlwdGlvbil8fHQuZGVzY3JpcHRpb259KSxBcnJheS5pc0FycmF5KHQuZW51bSkpZm9yKHZhciBpPTAscz10LmVudW0ubGVuZ3RoO2k8cztpKyspe3ZhciBhPXQuZW51bVtpXSxvPXRoaXMuZnJvbU1hcmt1cCh0Lm1hcmtkb3duRGVzY3JpcHRpb24pfHx0LmRlc2NyaXB0aW9uO3QubWFya2Rvd25FbnVtRGVzY3JpcHRpb25zJiZpPHQubWFya2Rvd25FbnVtRGVzY3JpcHRpb25zLmxlbmd0aCYmdGhpcy5kb2VzU3VwcG9ydE1hcmtkb3duKCk/bz10aGlzLmZyb21NYXJrdXAodC5tYXJrZG93bkVudW1EZXNjcmlwdGlvbnNbaV0pOnQuZW51bURlc2NyaXB0aW9ucyYmaTx0LmVudW1EZXNjcmlwdGlvbnMubGVuZ3RoJiYobz10LmVudW1EZXNjcmlwdGlvbnNbaV0pLHIuYWRkKHtraW5kOnRoaXMuZ2V0U3VnZ2VzdGlvbktpbmQodC50eXBlKSxsYWJlbDp0aGlzLmdldExhYmVsRm9yVmFsdWUoYSksaW5zZXJ0VGV4dDp0aGlzLmdldEluc2VydFRleHRGb3JWYWx1ZShhLG4pLGluc2VydFRleHRGb3JtYXQ6aWUuU25pcHBldCxkb2N1bWVudGF0aW9uOm99KX19LGUucHJvdG90eXBlLmNvbGxlY3RUeXBlcz1mdW5jdGlvbih0LG4pe2lmKCEoQXJyYXkuaXNBcnJheSh0LmVudW0pfHxCZSh0LmNvbnN0KSkpe3ZhciByPXQudHlwZTtBcnJheS5pc0FycmF5KHIpP3IuZm9yRWFjaChmdW5jdGlvbihpKXtyZXR1cm4gbltpXT0hMH0pOnImJihuW3JdPSEwKX19LGUucHJvdG90eXBlLmFkZEZpbGxlclZhbHVlQ29tcGxldGlvbnM9ZnVuY3Rpb24odCxuLHIpe3Qub2JqZWN0JiZyLmFkZCh7a2luZDp0aGlzLmdldFN1Z2dlc3Rpb25LaW5kKCJvYmplY3QiKSxsYWJlbDoie30iLGluc2VydFRleHQ6dGhpcy5nZXRJbnNlcnRUZXh0Rm9yR3Vlc3NlZFZhbHVlKHt9LG4pLGluc2VydFRleHRGb3JtYXQ6aWUuU25pcHBldCxkZXRhaWw6QXIoImRlZmF1bHRzLm9iamVjdCIsIk5ldyBvYmplY3QiKSxkb2N1bWVudGF0aW9uOiIifSksdC5hcnJheSYmci5hZGQoe2tpbmQ6dGhpcy5nZXRTdWdnZXN0aW9uS2luZCgiYXJyYXkiKSxsYWJlbDoiW10iLGluc2VydFRleHQ6dGhpcy5nZXRJbnNlcnRUZXh0Rm9yR3Vlc3NlZFZhbHVlKFtdLG4pLGluc2VydFRleHRGb3JtYXQ6aWUuU25pcHBldCxkZXRhaWw6QXIoImRlZmF1bHRzLmFycmF5IiwiTmV3IGFycmF5IiksZG9jdW1lbnRhdGlvbjoiIn0pfSxlLnByb3RvdHlwZS5hZGRCb29sZWFuVmFsdWVDb21wbGV0aW9uPWZ1bmN0aW9uKHQsbixyKXtyLmFkZCh7a2luZDp0aGlzLmdldFN1Z2dlc3Rpb25LaW5kKCJib29sZWFuIiksbGFiZWw6dD8idHJ1ZSI6ImZhbHNlIixpbnNlcnRUZXh0OnRoaXMuZ2V0SW5zZXJ0VGV4dEZvclZhbHVlKHQsbiksaW5zZXJ0VGV4dEZvcm1hdDppZS5TbmlwcGV0LGRvY3VtZW50YXRpb246IiJ9KX0sZS5wcm90b3R5cGUuYWRkTnVsbFZhbHVlQ29tcGxldGlvbj1mdW5jdGlvbih0LG4pe24uYWRkKHtraW5kOnRoaXMuZ2V0U3VnZ2VzdGlvbktpbmQoIm51bGwiKSxsYWJlbDoibnVsbCIsaW5zZXJ0VGV4dDoibnVsbCIrdCxpbnNlcnRUZXh0Rm9ybWF0OmllLlNuaXBwZXQsZG9jdW1lbnRhdGlvbjoiIn0pfSxlLnByb3RvdHlwZS5hZGREb2xsYXJTY2hlbWFDb21wbGV0aW9ucz1mdW5jdGlvbih0LG4pe3ZhciByPXRoaXMsaT10aGlzLnNjaGVtYVNlcnZpY2UuZ2V0UmVnaXN0ZXJlZFNjaGVtYUlkcyhmdW5jdGlvbihzKXtyZXR1cm4gcz09PSJodHRwInx8cz09PSJodHRwcyJ9KTtpLmZvckVhY2goZnVuY3Rpb24ocyl7cmV0dXJuIG4uYWRkKHtraW5kOlNlLk1vZHVsZSxsYWJlbDpyLmdldExhYmVsRm9yVmFsdWUocyksZmlsdGVyVGV4dDpyLmdldEZpbHRlclRleHRGb3JWYWx1ZShzKSxpbnNlcnRUZXh0OnIuZ2V0SW5zZXJ0VGV4dEZvclZhbHVlKHMsdCksaW5zZXJ0VGV4dEZvcm1hdDppZS5TbmlwcGV0LGRvY3VtZW50YXRpb246IiJ9KX0pfSxlLnByb3RvdHlwZS5nZXRMYWJlbEZvclZhbHVlPWZ1bmN0aW9uKHQpe3JldHVybiBKU09OLnN0cmluZ2lmeSh0KX0sZS5wcm90b3R5cGUuZ2V0RmlsdGVyVGV4dEZvclZhbHVlPWZ1bmN0aW9uKHQpe3JldHVybiBKU09OLnN0cmluZ2lmeSh0KX0sZS5wcm90b3R5cGUuZ2V0RmlsdGVyVGV4dEZvclNuaXBwZXRWYWx1ZT1mdW5jdGlvbih0KXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodCkucmVwbGFjZSgvXCRce1xkKzooW159XSspXH18XCRcZCsvZywiJDEiKX0sZS5wcm90b3R5cGUuZ2V0TGFiZWxGb3JTbmlwcGV0VmFsdWU9ZnVuY3Rpb24odCl7dmFyIG49SlNPTi5zdHJpbmdpZnkodCk7cmV0dXJuIG4ucmVwbGFjZSgvXCRce1xkKzooW159XSspXH18XCRcZCsvZywiJDEiKX0sZS5wcm90b3R5cGUuZ2V0SW5zZXJ0VGV4dEZvclBsYWluVGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gdC5yZXBsYWNlKC9bXFxcJFx9XS9nLCJcXCQmIil9LGUucHJvdG90eXBlLmdldEluc2VydFRleHRGb3JWYWx1ZT1mdW5jdGlvbih0LG4pe3ZhciByPUpTT04uc3RyaW5naWZ5KHQsbnVsbCwiCSIpO3JldHVybiByPT09Int9Ij8ieyQxfSIrbjpyPT09IltdIj8iWyQxXSIrbjp0aGlzLmdldEluc2VydFRleHRGb3JQbGFpblRleHQocituKX0sZS5wcm90b3R5cGUuZ2V0SW5zZXJ0VGV4dEZvclNuaXBwZXRWYWx1ZT1mdW5jdGlvbih0LG4pe3ZhciByPWZ1bmN0aW9uKGkpe3JldHVybiB0eXBlb2YgaT09InN0cmluZyImJmlbMF09PT0iXiI/aS5zdWJzdHIoMSk6SlNPTi5zdHJpbmdpZnkoaSl9O3JldHVybiBOcih0LCIiLHIpK259LGUucHJvdG90eXBlLmdldEluc2VydFRleHRGb3JHdWVzc2VkVmFsdWU9ZnVuY3Rpb24odCxuKXtzd2l0Y2godHlwZW9mIHQpe2Nhc2Uib2JqZWN0IjpyZXR1cm4gdD09PW51bGw/IiR7MTpudWxsfSIrbjp0aGlzLmdldEluc2VydFRleHRGb3JWYWx1ZSh0LG4pO2Nhc2Uic3RyaW5nIjp2YXIgcj1KU09OLnN0cmluZ2lmeSh0KTtyZXR1cm4gcj1yLnN1YnN0cigxLHIubGVuZ3RoLTIpLHI9dGhpcy5nZXRJbnNlcnRUZXh0Rm9yUGxhaW5UZXh0KHIpLCciJHsxOicrcisnfSInK247Y2FzZSJudW1iZXIiOmNhc2UiYm9vbGVhbiI6cmV0dXJuIiR7MToiK0pTT04uc3RyaW5naWZ5KHQpKyJ9IitufXJldHVybiB0aGlzLmdldEluc2VydFRleHRGb3JWYWx1ZSh0LG4pfSxlLnByb3RvdHlwZS5nZXRTdWdnZXN0aW9uS2luZD1mdW5jdGlvbih0KXtpZihBcnJheS5pc0FycmF5KHQpKXt2YXIgbj10O3Q9bi5sZW5ndGg+MD9uWzBdOnZvaWQgMH1pZighdClyZXR1cm4gU2UuVmFsdWU7c3dpdGNoKHQpe2Nhc2Uic3RyaW5nIjpyZXR1cm4gU2UuVmFsdWU7Y2FzZSJvYmplY3QiOnJldHVybiBTZS5Nb2R1bGU7Y2FzZSJwcm9wZXJ0eSI6cmV0dXJuIFNlLlByb3BlcnR5O2RlZmF1bHQ6cmV0dXJuIFNlLlZhbHVlfX0sZS5wcm90b3R5cGUuZ2V0TGFiZWxUZXh0Rm9yTWF0Y2hpbmdOb2RlPWZ1bmN0aW9uKHQsbil7c3dpdGNoKHQudHlwZSl7Y2FzZSJhcnJheSI6cmV0dXJuIltdIjtjYXNlIm9iamVjdCI6cmV0dXJuInt9IjtkZWZhdWx0OnZhciByPW4uZ2V0VGV4dCgpLnN1YnN0cih0Lm9mZnNldCx0Lmxlbmd0aCk7cmV0dXJuIHJ9fSxlLnByb3RvdHlwZS5nZXRJbnNlcnRUZXh0Rm9yTWF0Y2hpbmdOb2RlPWZ1bmN0aW9uKHQsbixyKXtzd2l0Y2godC50eXBlKXtjYXNlImFycmF5IjpyZXR1cm4gdGhpcy5nZXRJbnNlcnRUZXh0Rm9yVmFsdWUoW10scik7Y2FzZSJvYmplY3QiOnJldHVybiB0aGlzLmdldEluc2VydFRleHRGb3JWYWx1ZSh7fSxyKTtkZWZhdWx0OnZhciBpPW4uZ2V0VGV4dCgpLnN1YnN0cih0Lm9mZnNldCx0Lmxlbmd0aCkrcjtyZXR1cm4gdGhpcy5nZXRJbnNlcnRUZXh0Rm9yUGxhaW5UZXh0KGkpfX0sZS5wcm90b3R5cGUuZ2V0SW5zZXJ0VGV4dEZvclByb3BlcnR5PWZ1bmN0aW9uKHQsbixyLGkpe3ZhciBzPXRoaXMuZ2V0SW5zZXJ0VGV4dEZvclZhbHVlKHQsIiIpO2lmKCFyKXJldHVybiBzO3ZhciBhPXMrIjogIixvLGw9MDtpZihuKXtpZihBcnJheS5pc0FycmF5KG4uZGVmYXVsdFNuaXBwZXRzKSl7aWYobi5kZWZhdWx0U25pcHBldHMubGVuZ3RoPT09MSl7dmFyIHU9bi5kZWZhdWx0U25pcHBldHNbMF0uYm9keTtCZSh1KSYmKG89dGhpcy5nZXRJbnNlcnRUZXh0Rm9yU25pcHBldFZhbHVlKHUsIiIpKX1sKz1uLmRlZmF1bHRTbmlwcGV0cy5sZW5ndGh9aWYobi5lbnVtJiYoIW8mJm4uZW51bS5sZW5ndGg9PT0xJiYobz10aGlzLmdldEluc2VydFRleHRGb3JHdWVzc2VkVmFsdWUobi5lbnVtWzBdLCIiKSksbCs9bi5lbnVtLmxlbmd0aCksQmUobi5kZWZhdWx0KSYmKG98fChvPXRoaXMuZ2V0SW5zZXJ0VGV4dEZvckd1ZXNzZWRWYWx1ZShuLmRlZmF1bHQsIiIpKSxsKyspLEFycmF5LmlzQXJyYXkobi5leGFtcGxlcykmJm4uZXhhbXBsZXMubGVuZ3RoJiYob3x8KG89dGhpcy5nZXRJbnNlcnRUZXh0Rm9yR3Vlc3NlZFZhbHVlKG4uZXhhbXBsZXNbMF0sIiIpKSxsKz1uLmV4YW1wbGVzLmxlbmd0aCksbD09PTApe3ZhciBmPUFycmF5LmlzQXJyYXkobi50eXBlKT9uLnR5cGVbMF06bi50eXBlO3N3aXRjaChmfHwobi5wcm9wZXJ0aWVzP2Y9Im9iamVjdCI6bi5pdGVtcyYmKGY9ImFycmF5IikpLGYpe2Nhc2UiYm9vbGVhbiI6bz0iJDEiO2JyZWFrO2Nhc2Uic3RyaW5nIjpvPSciJDEiJzticmVhaztjYXNlIm9iamVjdCI6bz0ieyQxfSI7YnJlYWs7Y2FzZSJhcnJheSI6bz0iWyQxXSI7YnJlYWs7Y2FzZSJudW1iZXIiOmNhc2UiaW50ZWdlciI6bz0iJHsxOjB9IjticmVhaztjYXNlIm51bGwiOm89IiR7MTpudWxsfSI7YnJlYWs7ZGVmYXVsdDpyZXR1cm4gc319fXJldHVybighb3x8bD4xKSYmKG89IiQxIiksYStvK2l9LGUucHJvdG90eXBlLmdldEN1cnJlbnRXb3JkPWZ1bmN0aW9uKHQsbil7Zm9yKHZhciByPW4tMSxpPXQuZ2V0VGV4dCgpO3I+PTAmJmAgCQpcclx2Ijp7WyxdfWAuaW5kZXhPZihpLmNoYXJBdChyKSk9PT0tMTspci0tO3JldHVybiBpLnN1YnN0cmluZyhyKzEsbil9LGUucHJvdG90eXBlLmV2YWx1YXRlU2VwYXJhdG9yQWZ0ZXI9ZnVuY3Rpb24odCxuKXt2YXIgcj1OdCh0LmdldFRleHQoKSwhMCk7ci5zZXRQb3NpdGlvbihuKTt2YXIgaT1yLnNjYW4oKTtzd2l0Y2goaSl7Y2FzZSA1OmNhc2UgMjpjYXNlIDQ6Y2FzZSAxNzpyZXR1cm4iIjtkZWZhdWx0OnJldHVybiIsIn19LGUucHJvdG90eXBlLmZpbmRJdGVtQXRPZmZzZXQ9ZnVuY3Rpb24odCxuLHIpe2Zvcih2YXIgaT1OdChuLmdldFRleHQoKSwhMCkscz10Lml0ZW1zLGE9cy5sZW5ndGgtMTthPj0wO2EtLSl7dmFyIG89c1thXTtpZihyPm8ub2Zmc2V0K28ubGVuZ3RoKXtpLnNldFBvc2l0aW9uKG8ub2Zmc2V0K28ubGVuZ3RoKTt2YXIgbD1pLnNjYW4oKTtyZXR1cm4gbD09PTUmJnI+PWkuZ2V0VG9rZW5PZmZzZXQoKStpLmdldFRva2VuTGVuZ3RoKCk/YSsxOmF9ZWxzZSBpZihyPj1vLm9mZnNldClyZXR1cm4gYX1yZXR1cm4gMH0sZS5wcm90b3R5cGUuaXNJbkNvbW1lbnQ9ZnVuY3Rpb24odCxuLHIpe3ZhciBpPU50KHQuZ2V0VGV4dCgpLCExKTtpLnNldFBvc2l0aW9uKG4pO2Zvcih2YXIgcz1pLnNjYW4oKTtzIT09MTcmJmkuZ2V0VG9rZW5PZmZzZXQoKStpLmdldFRva2VuTGVuZ3RoKCk8cjspcz1pLnNjYW4oKTtyZXR1cm4ocz09PTEyfHxzPT09MTMpJiZpLmdldFRva2VuT2Zmc2V0KCk8PXJ9LGUucHJvdG90eXBlLmZyb21NYXJrdXA9ZnVuY3Rpb24odCl7aWYodCYmdGhpcy5kb2VzU3VwcG9ydE1hcmtkb3duKCkpcmV0dXJue2tpbmQ6V2UuTWFya2Rvd24sdmFsdWU6dH19LGUucHJvdG90eXBlLmRvZXNTdXBwb3J0TWFya2Rvd249ZnVuY3Rpb24oKXtpZighQmUodGhpcy5zdXBwb3J0c01hcmtkb3duKSl7dmFyIHQ9dGhpcy5jbGllbnRDYXBhYmlsaXRpZXMudGV4dERvY3VtZW50JiZ0aGlzLmNsaWVudENhcGFiaWxpdGllcy50ZXh0RG9jdW1lbnQuY29tcGxldGlvbjt0aGlzLnN1cHBvcnRzTWFya2Rvd249dCYmdC5jb21wbGV0aW9uSXRlbSYmQXJyYXkuaXNBcnJheSh0LmNvbXBsZXRpb25JdGVtLmRvY3VtZW50YXRpb25Gb3JtYXQpJiZ0LmNvbXBsZXRpb25JdGVtLmRvY3VtZW50YXRpb25Gb3JtYXQuaW5kZXhPZihXZS5NYXJrZG93bikhPT0tMX1yZXR1cm4gdGhpcy5zdXBwb3J0c01hcmtkb3dufSxlLnByb3RvdHlwZS5kb2VzU3VwcG9ydHNDb21taXRDaGFyYWN0ZXJzPWZ1bmN0aW9uKCl7aWYoIUJlKHRoaXMuc3VwcG9ydHNDb21taXRDaGFyYWN0ZXJzKSl7dmFyIHQ9dGhpcy5jbGllbnRDYXBhYmlsaXRpZXMudGV4dERvY3VtZW50JiZ0aGlzLmNsaWVudENhcGFiaWxpdGllcy50ZXh0RG9jdW1lbnQuY29tcGxldGlvbjt0aGlzLnN1cHBvcnRzQ29tbWl0Q2hhcmFjdGVycz10JiZ0LmNvbXBsZXRpb25JdGVtJiYhIXQuY29tcGxldGlvbkl0ZW0uY29tbWl0Q2hhcmFjdGVyc1N1cHBvcnR9cmV0dXJuIHRoaXMuc3VwcG9ydHNDb21taXRDaGFyYWN0ZXJzfSxlfSgpLE11PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0LG4scil7bj09PXZvaWQgMCYmKG49W10pLHRoaXMuc2NoZW1hU2VydmljZT10LHRoaXMuY29udHJpYnV0aW9ucz1uLHRoaXMucHJvbWlzZT1yfHxQcm9taXNlfXJldHVybiBlLnByb3RvdHlwZS5kb0hvdmVyPWZ1bmN0aW9uKHQsbixyKXt2YXIgaT10Lm9mZnNldEF0KG4pLHM9ci5nZXROb2RlRnJvbU9mZnNldChpKTtpZighc3x8KHMudHlwZT09PSJvYmplY3QifHxzLnR5cGU9PT0iYXJyYXkiKSYmaT5zLm9mZnNldCsxJiZpPHMub2Zmc2V0K3MubGVuZ3RoLTEpcmV0dXJuIHRoaXMucHJvbWlzZS5yZXNvbHZlKG51bGwpO3ZhciBhPXM7aWYocy50eXBlPT09InN0cmluZyIpe3ZhciBvPXMucGFyZW50O2lmKG8mJm8udHlwZT09PSJwcm9wZXJ0eSImJm8ua2V5Tm9kZT09PXMmJihzPW8udmFsdWVOb2RlLCFzKSlyZXR1cm4gdGhpcy5wcm9taXNlLnJlc29sdmUobnVsbCl9Zm9yKHZhciBsPVguY3JlYXRlKHQucG9zaXRpb25BdChhLm9mZnNldCksdC5wb3NpdGlvbkF0KGEub2Zmc2V0K2EubGVuZ3RoKSksdT1mdW5jdGlvbihtKXt2YXIgdj17Y29udGVudHM6bSxyYW5nZTpsfTtyZXR1cm4gdn0sZj1McihzKSxoPXRoaXMuY29udHJpYnV0aW9ucy5sZW5ndGgtMTtoPj0wO2gtLSl7dmFyIGQ9dGhpcy5jb250cmlidXRpb25zW2hdLGc9ZC5nZXRJbmZvQ29udHJpYnV0aW9uKHQudXJpLGYpO2lmKGcpcmV0dXJuIGcudGhlbihmdW5jdGlvbihtKXtyZXR1cm4gdShtKX0pfXJldHVybiB0aGlzLnNjaGVtYVNlcnZpY2UuZ2V0U2NoZW1hRm9yUmVzb3VyY2UodC51cmkscikudGhlbihmdW5jdGlvbihtKXtpZihtJiZzKXt2YXIgdj1yLmdldE1hdGNoaW5nU2NoZW1hcyhtLnNjaGVtYSxzLm9mZnNldCkscD12b2lkIDAseD12b2lkIDAseT12b2lkIDAsYj12b2lkIDA7di5ldmVyeShmdW5jdGlvbihTKXtpZihTLm5vZGU9PT1zJiYhUy5pbnZlcnRlZCYmUy5zY2hlbWEmJihwPXB8fFMuc2NoZW1hLnRpdGxlLHg9eHx8Uy5zY2hlbWEubWFya2Rvd25EZXNjcmlwdGlvbnx8Q3IoUy5zY2hlbWEuZGVzY3JpcHRpb24pLFMuc2NoZW1hLmVudW0pKXt2YXIgdz1TLnNjaGVtYS5lbnVtLmluZGV4T2Yob3QocykpO1Muc2NoZW1hLm1hcmtkb3duRW51bURlc2NyaXB0aW9ucz95PVMuc2NoZW1hLm1hcmtkb3duRW51bURlc2NyaXB0aW9uc1t3XTpTLnNjaGVtYS5lbnVtRGVzY3JpcHRpb25zJiYoeT1DcihTLnNjaGVtYS5lbnVtRGVzY3JpcHRpb25zW3ddKSkseSYmKGI9Uy5zY2hlbWEuZW51bVt3XSx0eXBlb2YgYiE9InN0cmluZyImJihiPUpTT04uc3RyaW5naWZ5KGIpKSl9cmV0dXJuITB9KTt2YXIgTD0iIjtyZXR1cm4gcCYmKEw9Q3IocCkpLHgmJihMLmxlbmd0aD4wJiYoTCs9YAoKYCksTCs9eCkseSYmKEwubGVuZ3RoPjAmJihMKz1gCgpgKSxMKz0iYCIuY29uY2F0KFR1KGIpLCJgOiAiKS5jb25jYXQoeSkpLHUoW0xdKX1yZXR1cm4gbnVsbH0pfSxlfSgpO2Z1bmN0aW9uIENyKGUpe2lmKGUpe3ZhciB0PWUucmVwbGFjZSgvKFteXG5ccl0pKFxyP1xuKShbXlxuXHJdKS9nbSxgJDEKCiQzYCk7cmV0dXJuIHQucmVwbGFjZSgvW1xcYCpfe31bXF0oKSMrXC0uIV0vZywiXFwkJiIpfX1mdW5jdGlvbiBUdShlKXtyZXR1cm4gZS5pbmRleE9mKCJgIikhPT0tMT8iYGAgIitlKyIgYGAiOmV9dmFyIFB1PUp0KCksRnU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQsbil7dGhpcy5qc29uU2NoZW1hU2VydmljZT10LHRoaXMucHJvbWlzZT1uLHRoaXMudmFsaWRhdGlvbkVuYWJsZWQ9ITB9cmV0dXJuIGUucHJvdG90eXBlLmNvbmZpZ3VyZT1mdW5jdGlvbih0KXt0JiYodGhpcy52YWxpZGF0aW9uRW5hYmxlZD10LnZhbGlkYXRlIT09ITEsdGhpcy5jb21tZW50U2V2ZXJpdHk9dC5hbGxvd0NvbW1lbnRzP3ZvaWQgMDp3ZS5FcnJvcil9LGUucHJvdG90eXBlLmRvVmFsaWRhdGlvbj1mdW5jdGlvbih0LG4scixpKXt2YXIgcz10aGlzO2lmKCF0aGlzLnZhbGlkYXRpb25FbmFibGVkKXJldHVybiB0aGlzLnByb21pc2UucmVzb2x2ZShbXSk7dmFyIGE9W10sbz17fSxsPWZ1bmN0aW9uKGQpe3ZhciBnPWQucmFuZ2Uuc3RhcnQubGluZSsiICIrZC5yYW5nZS5zdGFydC5jaGFyYWN0ZXIrIiAiK2QubWVzc2FnZTtvW2ddfHwob1tnXT0hMCxhLnB1c2goZCkpfSx1PWZ1bmN0aW9uKGQpe3ZhciBnPXIhPW51bGwmJnIudHJhaWxpbmdDb21tYXM/X24oci50cmFpbGluZ0NvbW1hcyk6d2UuRXJyb3IsbT1yIT1udWxsJiZyLmNvbW1lbnRzP19uKHIuY29tbWVudHMpOnMuY29tbWVudFNldmVyaXR5LHY9ciE9bnVsbCYmci5zY2hlbWFWYWxpZGF0aW9uP19uKHIuc2NoZW1hVmFsaWRhdGlvbik6d2UuV2FybmluZyxwPXIhPW51bGwmJnIuc2NoZW1hUmVxdWVzdD9fbihyLnNjaGVtYVJlcXVlc3QpOndlLldhcm5pbmc7aWYoZCl7aWYoZC5lcnJvcnMubGVuZ3RoJiZuLnJvb3QmJnApe3ZhciB4PW4ucm9vdCx5PXgudHlwZT09PSJvYmplY3QiP3gucHJvcGVydGllc1swXTp2b2lkIDA7aWYoeSYmeS5rZXlOb2RlLnZhbHVlPT09IiRzY2hlbWEiKXt2YXIgYj15LnZhbHVlTm9kZXx8eSxMPVguY3JlYXRlKHQucG9zaXRpb25BdChiLm9mZnNldCksdC5wb3NpdGlvbkF0KGIub2Zmc2V0K2IubGVuZ3RoKSk7bCgkZS5jcmVhdGUoTCxkLmVycm9yc1swXSxwLEouU2NoZW1hUmVzb2x2ZUVycm9yKSl9ZWxzZXt2YXIgTD1YLmNyZWF0ZSh0LnBvc2l0aW9uQXQoeC5vZmZzZXQpLHQucG9zaXRpb25BdCh4Lm9mZnNldCsxKSk7bCgkZS5jcmVhdGUoTCxkLmVycm9yc1swXSxwLEouU2NoZW1hUmVzb2x2ZUVycm9yKSl9fWVsc2UgaWYodil7dmFyIFM9bi52YWxpZGF0ZSh0LGQuc2NoZW1hLHYpO1MmJlMuZm9yRWFjaChsKX15YShkLnNjaGVtYSkmJihtPXZvaWQgMCksX2EoZC5zY2hlbWEpJiYoZz12b2lkIDApfWZvcih2YXIgdz0wLE49bi5zeW50YXhFcnJvcnM7dzxOLmxlbmd0aDt3Kyspe3ZhciBBPU5bd107aWYoQS5jb2RlPT09Si5UcmFpbGluZ0NvbW1hKXtpZih0eXBlb2YgZyE9Im51bWJlciIpY29udGludWU7QS5zZXZlcml0eT1nfWwoQSl9aWYodHlwZW9mIG09PSJudW1iZXIiKXt2YXIgUj1QdSgiSW52YWxpZENvbW1lbnRUb2tlbiIsIkNvbW1lbnRzIGFyZSBub3QgcGVybWl0dGVkIGluIEpTT04uIik7bi5jb21tZW50cy5mb3JFYWNoKGZ1bmN0aW9uKEkpe2woJGUuY3JlYXRlKEksUixtLEouQ29tbWVudE5vdFBlcm1pdHRlZCkpfSl9cmV0dXJuIGF9O2lmKGkpe3ZhciBmPWkuaWR8fCJzY2hlbWFzZXJ2aWNlOi8vdW50aXRsZWQvIitJdSsrLGg9dGhpcy5qc29uU2NoZW1hU2VydmljZS5yZWdpc3RlckV4dGVybmFsU2NoZW1hKGYsW10saSk7cmV0dXJuIGguZ2V0UmVzb2x2ZWRTY2hlbWEoKS50aGVuKGZ1bmN0aW9uKGQpe3JldHVybiB1KGQpfSl9cmV0dXJuIHRoaXMuanNvblNjaGVtYVNlcnZpY2UuZ2V0U2NoZW1hRm9yUmVzb3VyY2UodC51cmksbikudGhlbihmdW5jdGlvbihkKXtyZXR1cm4gdShkKX0pfSxlLnByb3RvdHlwZS5nZXRMYW5ndWFnZVN0YXR1cz1mdW5jdGlvbih0LG4pe3JldHVybntzY2hlbWFzOnRoaXMuanNvblNjaGVtYVNlcnZpY2UuZ2V0U2NoZW1hVVJJc0ZvclJlc291cmNlKHQudXJpLG4pfX0sZX0oKSxJdT0wO2Z1bmN0aW9uIHlhKGUpe2lmKGUmJnR5cGVvZiBlPT0ib2JqZWN0Iil7aWYoSWUoZS5hbGxvd0NvbW1lbnRzKSlyZXR1cm4gZS5hbGxvd0NvbW1lbnRzO2lmKGUuYWxsT2YpZm9yKHZhciB0PTAsbj1lLmFsbE9mO3Q8bi5sZW5ndGg7dCsrKXt2YXIgcj1uW3RdLGk9eWEocik7aWYoSWUoaSkpcmV0dXJuIGl9fX1mdW5jdGlvbiBfYShlKXtpZihlJiZ0eXBlb2YgZT09Im9iamVjdCIpe2lmKEllKGUuYWxsb3dUcmFpbGluZ0NvbW1hcykpcmV0dXJuIGUuYWxsb3dUcmFpbGluZ0NvbW1hczt2YXIgdD1lO2lmKEllKHQuYWxsb3dzVHJhaWxpbmdDb21tYXMpKXJldHVybiB0LmFsbG93c1RyYWlsaW5nQ29tbWFzO2lmKGUuYWxsT2YpZm9yKHZhciBuPTAscj1lLmFsbE9mO248ci5sZW5ndGg7bisrKXt2YXIgaT1yW25dLHM9X2EoaSk7aWYoSWUocykpcmV0dXJuIHN9fX1mdW5jdGlvbiBfbihlKXtzd2l0Y2goZSl7Y2FzZSJlcnJvciI6cmV0dXJuIHdlLkVycm9yO2Nhc2Uid2FybmluZyI6cmV0dXJuIHdlLldhcm5pbmc7Y2FzZSJpZ25vcmUiOnJldHVybn19dmFyIHdhPTQ4LER1PTU3LFZ1PTY1LHduPTk3LE91PTEwMjtmdW5jdGlvbiB0ZShlKXtyZXR1cm4gZTx3YT8wOmU8PUR1P2Utd2E6KGU8d24mJihlKz13bi1WdSksZT49d24mJmU8PU91P2Utd24rMTA6MCl9ZnVuY3Rpb24gVXUoZSl7aWYoZVswXT09PSIjIilzd2l0Y2goZS5sZW5ndGgpe2Nhc2UgNDpyZXR1cm57cmVkOnRlKGUuY2hhckNvZGVBdCgxKSkqMTcvMjU1LGdyZWVuOnRlKGUuY2hhckNvZGVBdCgyKSkqMTcvMjU1LGJsdWU6dGUoZS5jaGFyQ29kZUF0KDMpKSoxNy8yNTUsYWxwaGE6MX07Y2FzZSA1OnJldHVybntyZWQ6dGUoZS5jaGFyQ29kZUF0KDEpKSoxNy8yNTUsZ3JlZW46dGUoZS5jaGFyQ29kZUF0KDIpKSoxNy8yNTUsYmx1ZTp0ZShlLmNoYXJDb2RlQXQoMykpKjE3LzI1NSxhbHBoYTp0ZShlLmNoYXJDb2RlQXQoNCkpKjE3LzI1NX07Y2FzZSA3OnJldHVybntyZWQ6KHRlKGUuY2hhckNvZGVBdCgxKSkqMTYrdGUoZS5jaGFyQ29kZUF0KDIpKSkvMjU1LGdyZWVuOih0ZShlLmNoYXJDb2RlQXQoMykpKjE2K3RlKGUuY2hhckNvZGVBdCg0KSkpLzI1NSxibHVlOih0ZShlLmNoYXJDb2RlQXQoNSkpKjE2K3RlKGUuY2hhckNvZGVBdCg2KSkpLzI1NSxhbHBoYToxfTtjYXNlIDk6cmV0dXJue3JlZDoodGUoZS5jaGFyQ29kZUF0KDEpKSoxNit0ZShlLmNoYXJDb2RlQXQoMikpKS8yNTUsZ3JlZW46KHRlKGUuY2hhckNvZGVBdCgzKSkqMTYrdGUoZS5jaGFyQ29kZUF0KDQpKSkvMjU1LGJsdWU6KHRlKGUuY2hhckNvZGVBdCg1KSkqMTYrdGUoZS5jaGFyQ29kZUF0KDYpKSkvMjU1LGFscGhhOih0ZShlLmNoYXJDb2RlQXQoNykpKjE2K3RlKGUuY2hhckNvZGVBdCg4KSkpLzI1NX19fXZhciBqdT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUodCl7dGhpcy5zY2hlbWFTZXJ2aWNlPXR9cmV0dXJuIGUucHJvdG90eXBlLmZpbmREb2N1bWVudFN5bWJvbHM9ZnVuY3Rpb24odCxuLHIpe3ZhciBpPXRoaXM7cj09PXZvaWQgMCYmKHI9e3Jlc3VsdExpbWl0Ok51bWJlci5NQVhfVkFMVUV9KTt2YXIgcz1uLnJvb3Q7aWYoIXMpcmV0dXJuW107dmFyIGE9ci5yZXN1bHRMaW1pdHx8TnVtYmVyLk1BWF9WQUxVRSxvPXQudXJpO2lmKChvPT09InZzY29kZTovL2RlZmF1bHRzZXR0aW5ncy9rZXliaW5kaW5ncy5qc29uInx8cXQoby50b0xvd2VyQ2FzZSgpLCIvdXNlci9rZXliaW5kaW5ncy5qc29uIikpJiZzLnR5cGU9PT0iYXJyYXkiKXtmb3IodmFyIGw9W10sdT0wLGY9cy5pdGVtczt1PGYubGVuZ3RoO3UrKyl7dmFyIGg9Zlt1XTtpZihoLnR5cGU9PT0ib2JqZWN0Iilmb3IodmFyIGQ9MCxnPWgucHJvcGVydGllcztkPGcubGVuZ3RoO2QrKyl7dmFyIG09Z1tkXTtpZihtLmtleU5vZGUudmFsdWU9PT0ia2V5IiYmbS52YWx1ZU5vZGUpe3ZhciB2PUJ0LmNyZWF0ZSh0LnVyaSxldCh0LGgpKTtpZihsLnB1c2goe25hbWU6b3QobS52YWx1ZU5vZGUpLGtpbmQ6RGUuRnVuY3Rpb24sbG9jYXRpb246dn0pLGEtLSxhPD0wKXJldHVybiByJiZyLm9uUmVzdWx0TGltaXRFeGNlZWRlZCYmci5vblJlc3VsdExpbWl0RXhjZWVkZWQobyksbH19fXJldHVybiBsfWZvcih2YXIgcD1be25vZGU6cyxjb250YWluZXJOYW1lOiIifV0seD0wLHk9ITEsYj1bXSxMPWZ1bmN0aW9uKHcsTil7dy50eXBlPT09ImFycmF5Ij93Lml0ZW1zLmZvckVhY2goZnVuY3Rpb24oQSl7QSYmcC5wdXNoKHtub2RlOkEsY29udGFpbmVyTmFtZTpOfSl9KTp3LnR5cGU9PT0ib2JqZWN0IiYmdy5wcm9wZXJ0aWVzLmZvckVhY2goZnVuY3Rpb24oQSl7dmFyIFI9QS52YWx1ZU5vZGU7aWYoUilpZihhPjApe2EtLTt2YXIgST1CdC5jcmVhdGUodC51cmksZXQodCxBKSksQz1OP04rIi4iK0Eua2V5Tm9kZS52YWx1ZTpBLmtleU5vZGUudmFsdWU7Yi5wdXNoKHtuYW1lOmkuZ2V0S2V5TGFiZWwoQSksa2luZDppLmdldFN5bWJvbEtpbmQoUi50eXBlKSxsb2NhdGlvbjpJLGNvbnRhaW5lck5hbWU6Tn0pLHAucHVzaCh7bm9kZTpSLGNvbnRhaW5lck5hbWU6Q30pfWVsc2UgeT0hMH0pfTt4PHAubGVuZ3RoOyl7dmFyIFM9cFt4KytdO0woUy5ub2RlLFMuY29udGFpbmVyTmFtZSl9cmV0dXJuIHkmJnImJnIub25SZXN1bHRMaW1pdEV4Y2VlZGVkJiZyLm9uUmVzdWx0TGltaXRFeGNlZWRlZChvKSxifSxlLnByb3RvdHlwZS5maW5kRG9jdW1lbnRTeW1ib2xzMj1mdW5jdGlvbih0LG4scil7dmFyIGk9dGhpcztyPT09dm9pZCAwJiYocj17cmVzdWx0TGltaXQ6TnVtYmVyLk1BWF9WQUxVRX0pO3ZhciBzPW4ucm9vdDtpZighcylyZXR1cm5bXTt2YXIgYT1yLnJlc3VsdExpbWl0fHxOdW1iZXIuTUFYX1ZBTFVFLG89dC51cmk7aWYoKG89PT0idnNjb2RlOi8vZGVmYXVsdHNldHRpbmdzL2tleWJpbmRpbmdzLmpzb24ifHxxdChvLnRvTG93ZXJDYXNlKCksIi91c2VyL2tleWJpbmRpbmdzLmpzb24iKSkmJnMudHlwZT09PSJhcnJheSIpe2Zvcih2YXIgbD1bXSx1PTAsZj1zLml0ZW1zO3U8Zi5sZW5ndGg7dSsrKXt2YXIgaD1mW3VdO2lmKGgudHlwZT09PSJvYmplY3QiKWZvcih2YXIgZD0wLGc9aC5wcm9wZXJ0aWVzO2Q8Zy5sZW5ndGg7ZCsrKXt2YXIgbT1nW2RdO2lmKG0ua2V5Tm9kZS52YWx1ZT09PSJrZXkiJiZtLnZhbHVlTm9kZSl7dmFyIHY9ZXQodCxoKSxwPWV0KHQsbS5rZXlOb2RlKTtpZihsLnB1c2goe25hbWU6b3QobS52YWx1ZU5vZGUpLGtpbmQ6RGUuRnVuY3Rpb24scmFuZ2U6dixzZWxlY3Rpb25SYW5nZTpwfSksYS0tLGE8PTApcmV0dXJuIHImJnIub25SZXN1bHRMaW1pdEV4Y2VlZGVkJiZyLm9uUmVzdWx0TGltaXRFeGNlZWRlZChvKSxsfX19cmV0dXJuIGx9Zm9yKHZhciB4PVtdLHk9W3tub2RlOnMscmVzdWx0Onh9XSxiPTAsTD0hMSxTPWZ1bmN0aW9uKE4sQSl7Ti50eXBlPT09ImFycmF5Ij9OLml0ZW1zLmZvckVhY2goZnVuY3Rpb24oUixJKXtpZihSKWlmKGE+MCl7YS0tO3ZhciBDPWV0KHQsUiksXz1DLFQ9U3RyaW5nKEkpLEY9e25hbWU6VCxraW5kOmkuZ2V0U3ltYm9sS2luZChSLnR5cGUpLHJhbmdlOkMsc2VsZWN0aW9uUmFuZ2U6XyxjaGlsZHJlbjpbXX07QS5wdXNoKEYpLHkucHVzaCh7cmVzdWx0OkYuY2hpbGRyZW4sbm9kZTpSfSl9ZWxzZSBMPSEwfSk6Ti50eXBlPT09Im9iamVjdCImJk4ucHJvcGVydGllcy5mb3JFYWNoKGZ1bmN0aW9uKFIpe3ZhciBJPVIudmFsdWVOb2RlO2lmKEkpaWYoYT4wKXthLS07dmFyIEM9ZXQodCxSKSxfPWV0KHQsUi5rZXlOb2RlKSxUPVtdLEY9e25hbWU6aS5nZXRLZXlMYWJlbChSKSxraW5kOmkuZ2V0U3ltYm9sS2luZChJLnR5cGUpLHJhbmdlOkMsc2VsZWN0aW9uUmFuZ2U6XyxjaGlsZHJlbjpULGRldGFpbDppLmdldERldGFpbChJKX07QS5wdXNoKEYpLHkucHVzaCh7cmVzdWx0OlQsbm9kZTpJfSl9ZWxzZSBMPSEwfSl9O2I8eS5sZW5ndGg7KXt2YXIgdz15W2IrK107Uyh3Lm5vZGUsdy5yZXN1bHQpfXJldHVybiBMJiZyJiZyLm9uUmVzdWx0TGltaXRFeGNlZWRlZCYmci5vblJlc3VsdExpbWl0RXhjZWVkZWQobykseH0sZS5wcm90b3R5cGUuZ2V0U3ltYm9sS2luZD1mdW5jdGlvbih0KXtzd2l0Y2godCl7Y2FzZSJvYmplY3QiOnJldHVybiBEZS5Nb2R1bGU7Y2FzZSJzdHJpbmciOnJldHVybiBEZS5TdHJpbmc7Y2FzZSJudW1iZXIiOnJldHVybiBEZS5OdW1iZXI7Y2FzZSJhcnJheSI6cmV0dXJuIERlLkFycmF5O2Nhc2UiYm9vbGVhbiI6cmV0dXJuIERlLkJvb2xlYW47ZGVmYXVsdDpyZXR1cm4gRGUuVmFyaWFibGV9fSxlLnByb3RvdHlwZS5nZXRLZXlMYWJlbD1mdW5jdGlvbih0KXt2YXIgbj10LmtleU5vZGUudmFsdWU7cmV0dXJuIG4mJihuPW4ucmVwbGFjZSgvW1xuXS9nLCLihrUiKSksbiYmbi50cmltKCk/bjonIicuY29uY2F0KG4sJyInKX0sZS5wcm90b3R5cGUuZ2V0RGV0YWlsPWZ1bmN0aW9uKHQpe2lmKHQpe2lmKHQudHlwZT09PSJib29sZWFuInx8dC50eXBlPT09Im51bWJlciJ8fHQudHlwZT09PSJudWxsInx8dC50eXBlPT09InN0cmluZyIpcmV0dXJuIFN0cmluZyh0LnZhbHVlKTtpZih0LnR5cGU9PT0iYXJyYXkiKXJldHVybiB0LmNoaWxkcmVuLmxlbmd0aD92b2lkIDA6IltdIjtpZih0LnR5cGU9PT0ib2JqZWN0IilyZXR1cm4gdC5jaGlsZHJlbi5sZW5ndGg/dm9pZCAwOiJ7fSJ9fSxlLnByb3RvdHlwZS5maW5kRG9jdW1lbnRDb2xvcnM9ZnVuY3Rpb24odCxuLHIpe3JldHVybiB0aGlzLnNjaGVtYVNlcnZpY2UuZ2V0U2NoZW1hRm9yUmVzb3VyY2UodC51cmksbikudGhlbihmdW5jdGlvbihpKXt2YXIgcz1bXTtpZihpKWZvcih2YXIgYT1yJiZ0eXBlb2Ygci5yZXN1bHRMaW1pdD09Im51bWJlciI/ci5yZXN1bHRMaW1pdDpOdW1iZXIuTUFYX1ZBTFVFLG89bi5nZXRNYXRjaGluZ1NjaGVtYXMoaS5zY2hlbWEpLGw9e30sdT0wLGY9bzt1PGYubGVuZ3RoO3UrKyl7dmFyIGg9Zlt1XTtpZighaC5pbnZlcnRlZCYmaC5zY2hlbWEmJihoLnNjaGVtYS5mb3JtYXQ9PT0iY29sb3IifHxoLnNjaGVtYS5mb3JtYXQ9PT0iY29sb3ItaGV4IikmJmgubm9kZSYmaC5ub2RlLnR5cGU9PT0ic3RyaW5nIil7dmFyIGQ9U3RyaW5nKGgubm9kZS5vZmZzZXQpO2lmKCFsW2RdKXt2YXIgZz1VdShvdChoLm5vZGUpKTtpZihnKXt2YXIgbT1ldCh0LGgubm9kZSk7cy5wdXNoKHtjb2xvcjpnLHJhbmdlOm19KX1pZihsW2RdPSEwLGEtLSxhPD0wKXJldHVybiByJiZyLm9uUmVzdWx0TGltaXRFeGNlZWRlZCYmci5vblJlc3VsdExpbWl0RXhjZWVkZWQodC51cmkpLHN9fX1yZXR1cm4gc30pfSxlLnByb3RvdHlwZS5nZXRDb2xvclByZXNlbnRhdGlvbnM9ZnVuY3Rpb24odCxuLHIsaSl7dmFyIHM9W10sYT1NYXRoLnJvdW5kKHIucmVkKjI1NSksbz1NYXRoLnJvdW5kKHIuZ3JlZW4qMjU1KSxsPU1hdGgucm91bmQoci5ibHVlKjI1NSk7ZnVuY3Rpb24gdShoKXt2YXIgZD1oLnRvU3RyaW5nKDE2KTtyZXR1cm4gZC5sZW5ndGghPT0yPyIwIitkOmR9dmFyIGY7cmV0dXJuIHIuYWxwaGE9PT0xP2Y9IiMiLmNvbmNhdCh1KGEpKS5jb25jYXQodShvKSkuY29uY2F0KHUobCkpOmY9IiMiLmNvbmNhdCh1KGEpKS5jb25jYXQodShvKSkuY29uY2F0KHUobCkpLmNvbmNhdCh1KE1hdGgucm91bmQoci5hbHBoYSoyNTUpKSkscy5wdXNoKHtsYWJlbDpmLHRleHRFZGl0Ok1lLnJlcGxhY2UoaSxKU09OLnN0cmluZ2lmeShmKSl9KSxzfSxlfSgpO2Z1bmN0aW9uIGV0KGUsdCl7cmV0dXJuIFguY3JlYXRlKGUucG9zaXRpb25BdCh0Lm9mZnNldCksZS5wb3NpdGlvbkF0KHQub2Zmc2V0K3QubGVuZ3RoKSl9dmFyICQ9SnQoKSxrcj17c2NoZW1hQXNzb2NpYXRpb25zOltdLHNjaGVtYXM6eyJodHRwOi8vanNvbi1zY2hlbWEub3JnL3NjaGVtYSMiOnskcmVmOiJodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA3L3NjaGVtYSMifSwiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNC9zY2hlbWEjIjp7JHNjaGVtYToiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNC9zY2hlbWEjIixkZWZpbml0aW9uczp7c2NoZW1hQXJyYXk6e3R5cGU6ImFycmF5IixtaW5JdGVtczoxLGl0ZW1zOnskcmVmOiIjIn19LHBvc2l0aXZlSW50ZWdlcjp7dHlwZToiaW50ZWdlciIsbWluaW11bTowfSxwb3NpdGl2ZUludGVnZXJEZWZhdWx0MDp7YWxsT2Y6W3skcmVmOiIjL2RlZmluaXRpb25zL3Bvc2l0aXZlSW50ZWdlciJ9LHtkZWZhdWx0OjB9XX0sc2ltcGxlVHlwZXM6e3R5cGU6InN0cmluZyIsZW51bTpbImFycmF5IiwiYm9vbGVhbiIsImludGVnZXIiLCJudWxsIiwibnVtYmVyIiwib2JqZWN0Iiwic3RyaW5nIl19LHN0cmluZ0FycmF5Ont0eXBlOiJhcnJheSIsaXRlbXM6e3R5cGU6InN0cmluZyJ9LG1pbkl0ZW1zOjEsdW5pcXVlSXRlbXM6ITB9fSx0eXBlOiJvYmplY3QiLHByb3BlcnRpZXM6e2lkOnt0eXBlOiJzdHJpbmciLGZvcm1hdDoidXJpIn0sJHNjaGVtYTp7dHlwZToic3RyaW5nIixmb3JtYXQ6InVyaSJ9LHRpdGxlOnt0eXBlOiJzdHJpbmcifSxkZXNjcmlwdGlvbjp7dHlwZToic3RyaW5nIn0sZGVmYXVsdDp7fSxtdWx0aXBsZU9mOnt0eXBlOiJudW1iZXIiLG1pbmltdW06MCxleGNsdXNpdmVNaW5pbXVtOiEwfSxtYXhpbXVtOnt0eXBlOiJudW1iZXIifSxleGNsdXNpdmVNYXhpbXVtOnt0eXBlOiJib29sZWFuIixkZWZhdWx0OiExfSxtaW5pbXVtOnt0eXBlOiJudW1iZXIifSxleGNsdXNpdmVNaW5pbXVtOnt0eXBlOiJib29sZWFuIixkZWZhdWx0OiExfSxtYXhMZW5ndGg6e2FsbE9mOlt7JHJlZjoiIy9kZWZpbml0aW9ucy9wb3NpdGl2ZUludGVnZXIifV19LG1pbkxlbmd0aDp7YWxsT2Y6W3skcmVmOiIjL2RlZmluaXRpb25zL3Bvc2l0aXZlSW50ZWdlckRlZmF1bHQwIn1dfSxwYXR0ZXJuOnt0eXBlOiJzdHJpbmciLGZvcm1hdDoicmVnZXgifSxhZGRpdGlvbmFsSXRlbXM6e2FueU9mOlt7dHlwZToiYm9vbGVhbiJ9LHskcmVmOiIjIn1dLGRlZmF1bHQ6e319LGl0ZW1zOnthbnlPZjpbeyRyZWY6IiMifSx7JHJlZjoiIy9kZWZpbml0aW9ucy9zY2hlbWFBcnJheSJ9XSxkZWZhdWx0Ont9fSxtYXhJdGVtczp7YWxsT2Y6W3skcmVmOiIjL2RlZmluaXRpb25zL3Bvc2l0aXZlSW50ZWdlciJ9XX0sbWluSXRlbXM6e2FsbE9mOlt7JHJlZjoiIy9kZWZpbml0aW9ucy9wb3NpdGl2ZUludGVnZXJEZWZhdWx0MCJ9XX0sdW5pcXVlSXRlbXM6e3R5cGU6ImJvb2xlYW4iLGRlZmF1bHQ6ITF9LG1heFByb3BlcnRpZXM6e2FsbE9mOlt7JHJlZjoiIy9kZWZpbml0aW9ucy9wb3NpdGl2ZUludGVnZXIifV19LG1pblByb3BlcnRpZXM6e2FsbE9mOlt7JHJlZjoiIy9kZWZpbml0aW9ucy9wb3NpdGl2ZUludGVnZXJEZWZhdWx0MCJ9XX0scmVxdWlyZWQ6e2FsbE9mOlt7JHJlZjoiIy9kZWZpbml0aW9ucy9zdHJpbmdBcnJheSJ9XX0sYWRkaXRpb25hbFByb3BlcnRpZXM6e2FueU9mOlt7dHlwZToiYm9vbGVhbiJ9LHskcmVmOiIjIn1dLGRlZmF1bHQ6e319LGRlZmluaXRpb25zOnt0eXBlOiJvYmplY3QiLGFkZGl0aW9uYWxQcm9wZXJ0aWVzOnskcmVmOiIjIn0sZGVmYXVsdDp7fX0scHJvcGVydGllczp7dHlwZToib2JqZWN0IixhZGRpdGlvbmFsUHJvcGVydGllczp7JHJlZjoiIyJ9LGRlZmF1bHQ6e319LHBhdHRlcm5Qcm9wZXJ0aWVzOnt0eXBlOiJvYmplY3QiLGFkZGl0aW9uYWxQcm9wZXJ0aWVzOnskcmVmOiIjIn0sZGVmYXVsdDp7fX0sZGVwZW5kZW5jaWVzOnt0eXBlOiJvYmplY3QiLGFkZGl0aW9uYWxQcm9wZXJ0aWVzOnthbnlPZjpbeyRyZWY6IiMifSx7JHJlZjoiIy9kZWZpbml0aW9ucy9zdHJpbmdBcnJheSJ9XX19LGVudW06e3R5cGU6ImFycmF5IixtaW5JdGVtczoxLHVuaXF1ZUl0ZW1zOiEwfSx0eXBlOnthbnlPZjpbeyRyZWY6IiMvZGVmaW5pdGlvbnMvc2ltcGxlVHlwZXMifSx7dHlwZToiYXJyYXkiLGl0ZW1zOnskcmVmOiIjL2RlZmluaXRpb25zL3NpbXBsZVR5cGVzIn0sbWluSXRlbXM6MSx1bmlxdWVJdGVtczohMH1dfSxmb3JtYXQ6e2FueU9mOlt7dHlwZToic3RyaW5nIixlbnVtOlsiZGF0ZS10aW1lIiwidXJpIiwiZW1haWwiLCJob3N0bmFtZSIsImlwdjQiLCJpcHY2IiwicmVnZXgiXX0se3R5cGU6InN0cmluZyJ9XX0sYWxsT2Y6e2FsbE9mOlt7JHJlZjoiIy9kZWZpbml0aW9ucy9zY2hlbWFBcnJheSJ9XX0sYW55T2Y6e2FsbE9mOlt7JHJlZjoiIy9kZWZpbml0aW9ucy9zY2hlbWFBcnJheSJ9XX0sb25lT2Y6e2FsbE9mOlt7JHJlZjoiIy9kZWZpbml0aW9ucy9zY2hlbWFBcnJheSJ9XX0sbm90OnthbGxPZjpbeyRyZWY6IiMifV19fSxkZXBlbmRlbmNpZXM6e2V4Y2x1c2l2ZU1heGltdW06WyJtYXhpbXVtIl0sZXhjbHVzaXZlTWluaW11bTpbIm1pbmltdW0iXX0sZGVmYXVsdDp7fX0sImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIyI6e2RlZmluaXRpb25zOntzY2hlbWFBcnJheTp7dHlwZToiYXJyYXkiLG1pbkl0ZW1zOjEsaXRlbXM6eyRyZWY6IiMifX0sbm9uTmVnYXRpdmVJbnRlZ2VyOnt0eXBlOiJpbnRlZ2VyIixtaW5pbXVtOjB9LG5vbk5lZ2F0aXZlSW50ZWdlckRlZmF1bHQwOnthbGxPZjpbeyRyZWY6IiMvZGVmaW5pdGlvbnMvbm9uTmVnYXRpdmVJbnRlZ2VyIn0se2RlZmF1bHQ6MH1dfSxzaW1wbGVUeXBlczp7ZW51bTpbImFycmF5IiwiYm9vbGVhbiIsImludGVnZXIiLCJudWxsIiwibnVtYmVyIiwib2JqZWN0Iiwic3RyaW5nIl19LHN0cmluZ0FycmF5Ont0eXBlOiJhcnJheSIsaXRlbXM6e3R5cGU6InN0cmluZyJ9LHVuaXF1ZUl0ZW1zOiEwLGRlZmF1bHQ6W119fSx0eXBlOlsib2JqZWN0IiwiYm9vbGVhbiJdLHByb3BlcnRpZXM6eyRpZDp7dHlwZToic3RyaW5nIixmb3JtYXQ6InVyaS1yZWZlcmVuY2UifSwkc2NoZW1hOnt0eXBlOiJzdHJpbmciLGZvcm1hdDoidXJpIn0sJHJlZjp7dHlwZToic3RyaW5nIixmb3JtYXQ6InVyaS1yZWZlcmVuY2UifSwkY29tbWVudDp7dHlwZToic3RyaW5nIn0sdGl0bGU6e3R5cGU6InN0cmluZyJ9LGRlc2NyaXB0aW9uOnt0eXBlOiJzdHJpbmcifSxkZWZhdWx0OiEwLHJlYWRPbmx5Ont0eXBlOiJib29sZWFuIixkZWZhdWx0OiExfSxleGFtcGxlczp7dHlwZToiYXJyYXkiLGl0ZW1zOiEwfSxtdWx0aXBsZU9mOnt0eXBlOiJudW1iZXIiLGV4Y2x1c2l2ZU1pbmltdW06MH0sbWF4aW11bTp7dHlwZToibnVtYmVyIn0sZXhjbHVzaXZlTWF4aW11bTp7dHlwZToibnVtYmVyIn0sbWluaW11bTp7dHlwZToibnVtYmVyIn0sZXhjbHVzaXZlTWluaW11bTp7dHlwZToibnVtYmVyIn0sbWF4TGVuZ3RoOnskcmVmOiIjL2RlZmluaXRpb25zL25vbk5lZ2F0aXZlSW50ZWdlciJ9LG1pbkxlbmd0aDp7JHJlZjoiIy9kZWZpbml0aW9ucy9ub25OZWdhdGl2ZUludGVnZXJEZWZhdWx0MCJ9LHBhdHRlcm46e3R5cGU6InN0cmluZyIsZm9ybWF0OiJyZWdleCJ9LGFkZGl0aW9uYWxJdGVtczp7JHJlZjoiIyJ9LGl0ZW1zOnthbnlPZjpbeyRyZWY6IiMifSx7JHJlZjoiIy9kZWZpbml0aW9ucy9zY2hlbWFBcnJheSJ9XSxkZWZhdWx0OiEwfSxtYXhJdGVtczp7JHJlZjoiIy9kZWZpbml0aW9ucy9ub25OZWdhdGl2ZUludGVnZXIifSxtaW5JdGVtczp7JHJlZjoiIy9kZWZpbml0aW9ucy9ub25OZWdhdGl2ZUludGVnZXJEZWZhdWx0MCJ9LHVuaXF1ZUl0ZW1zOnt0eXBlOiJib29sZWFuIixkZWZhdWx0OiExfSxjb250YWluczp7JHJlZjoiIyJ9LG1heFByb3BlcnRpZXM6eyRyZWY6IiMvZGVmaW5pdGlvbnMvbm9uTmVnYXRpdmVJbnRlZ2VyIn0sbWluUHJvcGVydGllczp7JHJlZjoiIy9kZWZpbml0aW9ucy9ub25OZWdhdGl2ZUludGVnZXJEZWZhdWx0MCJ9LHJlcXVpcmVkOnskcmVmOiIjL2RlZmluaXRpb25zL3N0cmluZ0FycmF5In0sYWRkaXRpb25hbFByb3BlcnRpZXM6eyRyZWY6IiMifSxkZWZpbml0aW9uczp7dHlwZToib2JqZWN0IixhZGRpdGlvbmFsUHJvcGVydGllczp7JHJlZjoiIyJ9LGRlZmF1bHQ6e319LHByb3BlcnRpZXM6e3R5cGU6Im9iamVjdCIsYWRkaXRpb25hbFByb3BlcnRpZXM6eyRyZWY6IiMifSxkZWZhdWx0Ont9fSxwYXR0ZXJuUHJvcGVydGllczp7dHlwZToib2JqZWN0IixhZGRpdGlvbmFsUHJvcGVydGllczp7JHJlZjoiIyJ9LHByb3BlcnR5TmFtZXM6e2Zvcm1hdDoicmVnZXgifSxkZWZhdWx0Ont9fSxkZXBlbmRlbmNpZXM6e3R5cGU6Im9iamVjdCIsYWRkaXRpb25hbFByb3BlcnRpZXM6e2FueU9mOlt7JHJlZjoiIyJ9LHskcmVmOiIjL2RlZmluaXRpb25zL3N0cmluZ0FycmF5In1dfX0scHJvcGVydHlOYW1lczp7JHJlZjoiIyJ9LGNvbnN0OiEwLGVudW06e3R5cGU6ImFycmF5IixpdGVtczohMCxtaW5JdGVtczoxLHVuaXF1ZUl0ZW1zOiEwfSx0eXBlOnthbnlPZjpbeyRyZWY6IiMvZGVmaW5pdGlvbnMvc2ltcGxlVHlwZXMifSx7dHlwZToiYXJyYXkiLGl0ZW1zOnskcmVmOiIjL2RlZmluaXRpb25zL3NpbXBsZVR5cGVzIn0sbWluSXRlbXM6MSx1bmlxdWVJdGVtczohMH1dfSxmb3JtYXQ6e3R5cGU6InN0cmluZyJ9LGNvbnRlbnRNZWRpYVR5cGU6e3R5cGU6InN0cmluZyJ9LGNvbnRlbnRFbmNvZGluZzp7dHlwZToic3RyaW5nIn0saWY6eyRyZWY6IiMifSx0aGVuOnskcmVmOiIjIn0sZWxzZTp7JHJlZjoiIyJ9LGFsbE9mOnskcmVmOiIjL2RlZmluaXRpb25zL3NjaGVtYUFycmF5In0sYW55T2Y6eyRyZWY6IiMvZGVmaW5pdGlvbnMvc2NoZW1hQXJyYXkifSxvbmVPZjp7JHJlZjoiIy9kZWZpbml0aW9ucy9zY2hlbWFBcnJheSJ9LG5vdDp7JHJlZjoiIyJ9fSxkZWZhdWx0OiEwfX19LHF1PXtpZDokKCJzY2hlbWEuanNvbi5pZCIsIkEgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBzY2hlbWEuIiksJHNjaGVtYTokKCJzY2hlbWEuanNvbi4kc2NoZW1hIiwiVGhlIHNjaGVtYSB0byB2ZXJpZnkgdGhpcyBkb2N1bWVudCBhZ2FpbnN0LiIpLHRpdGxlOiQoInNjaGVtYS5qc29uLnRpdGxlIiwiQSBkZXNjcmlwdGl2ZSB0aXRsZSBvZiB0aGUgZWxlbWVudC4iKSxkZXNjcmlwdGlvbjokKCJzY2hlbWEuanNvbi5kZXNjcmlwdGlvbiIsIkEgbG9uZyBkZXNjcmlwdGlvbiBvZiB0aGUgZWxlbWVudC4gVXNlZCBpbiBob3ZlciBtZW51cyBhbmQgc3VnZ2VzdGlvbnMuIiksZGVmYXVsdDokKCJzY2hlbWEuanNvbi5kZWZhdWx0IiwiQSBkZWZhdWx0IHZhbHVlLiBVc2VkIGJ5IHN1Z2dlc3Rpb25zLiIpLG11bHRpcGxlT2Y6JCgic2NoZW1hLmpzb24ubXVsdGlwbGVPZiIsIkEgbnVtYmVyIHRoYXQgc2hvdWxkIGNsZWFubHkgZGl2aWRlIHRoZSBjdXJyZW50IHZhbHVlIChpLmUuIGhhdmUgbm8gcmVtYWluZGVyKS4iKSxtYXhpbXVtOiQoInNjaGVtYS5qc29uLm1heGltdW0iLCJUaGUgbWF4aW11bSBudW1lcmljYWwgdmFsdWUsIGluY2x1c2l2ZSBieSBkZWZhdWx0LiIpLGV4Y2x1c2l2ZU1heGltdW06JCgic2NoZW1hLmpzb24uZXhjbHVzaXZlTWF4aW11bSIsIk1ha2VzIHRoZSBtYXhpbXVtIHByb3BlcnR5IGV4Y2x1c2l2ZS4iKSxtaW5pbXVtOiQoInNjaGVtYS5qc29uLm1pbmltdW0iLCJUaGUgbWluaW11bSBudW1lcmljYWwgdmFsdWUsIGluY2x1c2l2ZSBieSBkZWZhdWx0LiIpLGV4Y2x1c2l2ZU1pbmltdW06JCgic2NoZW1hLmpzb24uZXhjbHVzaXZlTWluaW51bSIsIk1ha2VzIHRoZSBtaW5pbXVtIHByb3BlcnR5IGV4Y2x1c2l2ZS4iKSxtYXhMZW5ndGg6JCgic2NoZW1hLmpzb24ubWF4TGVuZ3RoIiwiVGhlIG1heGltdW0gbGVuZ3RoIG9mIGEgc3RyaW5nLiIpLG1pbkxlbmd0aDokKCJzY2hlbWEuanNvbi5taW5MZW5ndGgiLCJUaGUgbWluaW11bSBsZW5ndGggb2YgYSBzdHJpbmcuIikscGF0dGVybjokKCJzY2hlbWEuanNvbi5wYXR0ZXJuIiwiQSByZWd1bGFyIGV4cHJlc3Npb24gdG8gbWF0Y2ggdGhlIHN0cmluZyBhZ2FpbnN0LiBJdCBpcyBub3QgaW1wbGljaXRseSBhbmNob3JlZC4iKSxhZGRpdGlvbmFsSXRlbXM6JCgic2NoZW1hLmpzb24uYWRkaXRpb25hbEl0ZW1zIiwiRm9yIGFycmF5cywgb25seSB3aGVuIGl0ZW1zIGlzIHNldCBhcyBhbiBhcnJheS4gSWYgaXQgaXMgYSBzY2hlbWEsIHRoZW4gdGhpcyBzY2hlbWEgdmFsaWRhdGVzIGl0ZW1zIGFmdGVyIHRoZSBvbmVzIHNwZWNpZmllZCBieSB0aGUgaXRlbXMgYXJyYXkuIElmIGl0IGlzIGZhbHNlLCB0aGVuIGFkZGl0aW9uYWwgaXRlbXMgd2lsbCBjYXVzZSB2YWxpZGF0aW9uIHRvIGZhaWwuIiksaXRlbXM6JCgic2NoZW1hLmpzb24uaXRlbXMiLCJGb3IgYXJyYXlzLiBDYW4gZWl0aGVyIGJlIGEgc2NoZW1hIHRvIHZhbGlkYXRlIGV2ZXJ5IGVsZW1lbnQgYWdhaW5zdCBvciBhbiBhcnJheSBvZiBzY2hlbWFzIHRvIHZhbGlkYXRlIGVhY2ggaXRlbSBhZ2FpbnN0IGluIG9yZGVyICh0aGUgZmlyc3Qgc2NoZW1hIHdpbGwgdmFsaWRhdGUgdGhlIGZpcnN0IGVsZW1lbnQsIHRoZSBzZWNvbmQgc2NoZW1hIHdpbGwgdmFsaWRhdGUgdGhlIHNlY29uZCBlbGVtZW50LCBhbmQgc28gb24uIiksbWF4SXRlbXM6JCgic2NoZW1hLmpzb24ubWF4SXRlbXMiLCJUaGUgbWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdGhhdCBjYW4gYmUgaW5zaWRlIGFuIGFycmF5LiBJbmNsdXNpdmUuIiksbWluSXRlbXM6JCgic2NoZW1hLmpzb24ubWluSXRlbXMiLCJUaGUgbWluaW11bSBudW1iZXIgb2YgaXRlbXMgdGhhdCBjYW4gYmUgaW5zaWRlIGFuIGFycmF5LiBJbmNsdXNpdmUuIiksdW5pcXVlSXRlbXM6JCgic2NoZW1hLmpzb24udW5pcXVlSXRlbXMiLCJJZiBhbGwgb2YgdGhlIGl0ZW1zIGluIHRoZSBhcnJheSBtdXN0IGJlIHVuaXF1ZS4gRGVmYXVsdHMgdG8gZmFsc2UuIiksbWF4UHJvcGVydGllczokKCJzY2hlbWEuanNvbi5tYXhQcm9wZXJ0aWVzIiwiVGhlIG1heGltdW0gbnVtYmVyIG9mIHByb3BlcnRpZXMgYW4gb2JqZWN0IGNhbiBoYXZlLiBJbmNsdXNpdmUuIiksbWluUHJvcGVydGllczokKCJzY2hlbWEuanNvbi5taW5Qcm9wZXJ0aWVzIiwiVGhlIG1pbmltdW0gbnVtYmVyIG9mIHByb3BlcnRpZXMgYW4gb2JqZWN0IGNhbiBoYXZlLiBJbmNsdXNpdmUuIikscmVxdWlyZWQ6JCgic2NoZW1hLmpzb24ucmVxdWlyZWQiLCJBbiBhcnJheSBvZiBzdHJpbmdzIHRoYXQgbGlzdHMgdGhlIG5hbWVzIG9mIGFsbCBwcm9wZXJ0aWVzIHJlcXVpcmVkIG9uIHRoaXMgb2JqZWN0LiIpLGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiQoInNjaGVtYS5qc29uLmFkZGl0aW9uYWxQcm9wZXJ0aWVzIiwiRWl0aGVyIGEgc2NoZW1hIG9yIGEgYm9vbGVhbi4gSWYgYSBzY2hlbWEsIHRoZW4gdXNlZCB0byB2YWxpZGF0ZSBhbGwgcHJvcGVydGllcyBub3QgbWF0Y2hlZCBieSAncHJvcGVydGllcycgb3IgJ3BhdHRlcm5Qcm9wZXJ0aWVzJy4gSWYgZmFsc2UsIHRoZW4gYW55IHByb3BlcnRpZXMgbm90IG1hdGNoZWQgYnkgZWl0aGVyIHdpbGwgY2F1c2UgdGhpcyBzY2hlbWEgdG8gZmFpbC4iKSxkZWZpbml0aW9uczokKCJzY2hlbWEuanNvbi5kZWZpbml0aW9ucyIsIk5vdCB1c2VkIGZvciB2YWxpZGF0aW9uLiBQbGFjZSBzdWJzY2hlbWFzIGhlcmUgdGhhdCB5b3Ugd2lzaCB0byByZWZlcmVuY2UgaW5saW5lIHdpdGggJHJlZi4iKSxwcm9wZXJ0aWVzOiQoInNjaGVtYS5qc29uLnByb3BlcnRpZXMiLCJBIG1hcCBvZiBwcm9wZXJ0eSBuYW1lcyB0byBzY2hlbWFzIGZvciBlYWNoIHByb3BlcnR5LiIpLHBhdHRlcm5Qcm9wZXJ0aWVzOiQoInNjaGVtYS5qc29uLnBhdHRlcm5Qcm9wZXJ0aWVzIiwiQSBtYXAgb2YgcmVndWxhciBleHByZXNzaW9ucyBvbiBwcm9wZXJ0eSBuYW1lcyB0byBzY2hlbWFzIGZvciBtYXRjaGluZyBwcm9wZXJ0aWVzLiIpLGRlcGVuZGVuY2llczokKCJzY2hlbWEuanNvbi5kZXBlbmRlbmNpZXMiLCJBIG1hcCBvZiBwcm9wZXJ0eSBuYW1lcyB0byBlaXRoZXIgYW4gYXJyYXkgb2YgcHJvcGVydHkgbmFtZXMgb3IgYSBzY2hlbWEuIEFuIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzIG1lYW5zIHRoZSBwcm9wZXJ0eSBuYW1lZCBpbiB0aGUga2V5IGRlcGVuZHMgb24gdGhlIHByb3BlcnRpZXMgaW4gdGhlIGFycmF5IGJlaW5nIHByZXNlbnQgaW4gdGhlIG9iamVjdCBpbiBvcmRlciB0byBiZSB2YWxpZC4gSWYgdGhlIHZhbHVlIGlzIGEgc2NoZW1hLCB0aGVuIHRoZSBzY2hlbWEgaXMgb25seSBhcHBsaWVkIHRvIHRoZSBvYmplY3QgaWYgdGhlIHByb3BlcnR5IGluIHRoZSBrZXkgZXhpc3RzIG9uIHRoZSBvYmplY3QuIiksZW51bTokKCJzY2hlbWEuanNvbi5lbnVtIiwiVGhlIHNldCBvZiBsaXRlcmFsIHZhbHVlcyB0aGF0IGFyZSB2YWxpZC4iKSx0eXBlOiQoInNjaGVtYS5qc29uLnR5cGUiLCJFaXRoZXIgYSBzdHJpbmcgb2Ygb25lIG9mIHRoZSBiYXNpYyBzY2hlbWEgdHlwZXMgKG51bWJlciwgaW50ZWdlciwgbnVsbCwgYXJyYXksIG9iamVjdCwgYm9vbGVhbiwgc3RyaW5nKSBvciBhbiBhcnJheSBvZiBzdHJpbmdzIHNwZWNpZnlpbmcgYSBzdWJzZXQgb2YgdGhvc2UgdHlwZXMuIiksZm9ybWF0OiQoInNjaGVtYS5qc29uLmZvcm1hdCIsIkRlc2NyaWJlcyB0aGUgZm9ybWF0IGV4cGVjdGVkIGZvciB0aGUgdmFsdWUuIiksYWxsT2Y6JCgic2NoZW1hLmpzb24uYWxsT2YiLCJBbiBhcnJheSBvZiBzY2hlbWFzLCBhbGwgb2Ygd2hpY2ggbXVzdCBtYXRjaC4iKSxhbnlPZjokKCJzY2hlbWEuanNvbi5hbnlPZiIsIkFuIGFycmF5IG9mIHNjaGVtYXMsIHdoZXJlIGF0IGxlYXN0IG9uZSBtdXN0IG1hdGNoLiIpLG9uZU9mOiQoInNjaGVtYS5qc29uLm9uZU9mIiwiQW4gYXJyYXkgb2Ygc2NoZW1hcywgZXhhY3RseSBvbmUgb2Ygd2hpY2ggbXVzdCBtYXRjaC4iKSxub3Q6JCgic2NoZW1hLmpzb24ubm90IiwiQSBzY2hlbWEgd2hpY2ggbXVzdCBub3QgbWF0Y2guIiksJGlkOiQoInNjaGVtYS5qc29uLiRpZCIsIkEgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBzY2hlbWEuIiksJHJlZjokKCJzY2hlbWEuanNvbi4kcmVmIiwiUmVmZXJlbmNlIGEgZGVmaW5pdGlvbiBob3N0ZWQgb24gYW55IGxvY2F0aW9uLiIpLCRjb21tZW50OiQoInNjaGVtYS5qc29uLiRjb21tZW50IiwiQ29tbWVudHMgZnJvbSBzY2hlbWEgYXV0aG9ycyB0byByZWFkZXJzIG9yIG1haW50YWluZXJzIG9mIHRoZSBzY2hlbWEuIikscmVhZE9ubHk6JCgic2NoZW1hLmpzb24ucmVhZE9ubHkiLCJJbmRpY2F0ZXMgdGhhdCB0aGUgdmFsdWUgb2YgdGhlIGluc3RhbmNlIGlzIG1hbmFnZWQgZXhjbHVzaXZlbHkgYnkgdGhlIG93bmluZyBhdXRob3JpdHkuIiksZXhhbXBsZXM6JCgic2NoZW1hLmpzb24uZXhhbXBsZXMiLCJTYW1wbGUgSlNPTiB2YWx1ZXMgYXNzb2NpYXRlZCB3aXRoIGEgcGFydGljdWxhciBzY2hlbWEsIGZvciB0aGUgcHVycG9zZSBvZiBpbGx1c3RyYXRpbmcgdXNhZ2UuIiksY29udGFpbnM6JCgic2NoZW1hLmpzb24uY29udGFpbnMiLCdBbiBhcnJheSBpbnN0YW5jZSBpcyB2YWxpZCBhZ2FpbnN0ICJjb250YWlucyIgaWYgYXQgbGVhc3Qgb25lIG9mIGl0cyBlbGVtZW50cyBpcyB2YWxpZCBhZ2FpbnN0IHRoZSBnaXZlbiBzY2hlbWEuJykscHJvcGVydHlOYW1lczokKCJzY2hlbWEuanNvbi5wcm9wZXJ0eU5hbWVzIiwiSWYgdGhlIGluc3RhbmNlIGlzIGFuIG9iamVjdCwgdGhpcyBrZXl3b3JkIHZhbGlkYXRlcyBpZiBldmVyeSBwcm9wZXJ0eSBuYW1lIGluIHRoZSBpbnN0YW5jZSB2YWxpZGF0ZXMgYWdhaW5zdCB0aGUgcHJvdmlkZWQgc2NoZW1hLiIpLGNvbnN0OiQoInNjaGVtYS5qc29uLmNvbnN0IiwiQW4gaW5zdGFuY2UgdmFsaWRhdGVzIHN1Y2Nlc3NmdWxseSBhZ2FpbnN0IHRoaXMga2V5d29yZCBpZiBpdHMgdmFsdWUgaXMgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIHRoZSBrZXl3b3JkLiIpLGNvbnRlbnRNZWRpYVR5cGU6JCgic2NoZW1hLmpzb24uY29udGVudE1lZGlhVHlwZSIsIkRlc2NyaWJlcyB0aGUgbWVkaWEgdHlwZSBvZiBhIHN0cmluZyBwcm9wZXJ0eS4iKSxjb250ZW50RW5jb2Rpbmc6JCgic2NoZW1hLmpzb24uY29udGVudEVuY29kaW5nIiwiRGVzY3JpYmVzIHRoZSBjb250ZW50IGVuY29kaW5nIG9mIGEgc3RyaW5nIHByb3BlcnR5LiIpLGlmOiQoInNjaGVtYS5qc29uLmlmIiwnVGhlIHZhbGlkYXRpb24gb3V0Y29tZSBvZiB0aGUgImlmIiBzdWJzY2hlbWEgY29udHJvbHMgd2hpY2ggb2YgdGhlICJ0aGVuIiBvciAiZWxzZSIga2V5d29yZHMgYXJlIGV2YWx1YXRlZC4nKSx0aGVuOiQoInNjaGVtYS5qc29uLnRoZW4iLCdUaGUgImlmIiBzdWJzY2hlbWEgaXMgdXNlZCBmb3IgdmFsaWRhdGlvbiB3aGVuIHRoZSAiaWYiIHN1YnNjaGVtYSBzdWNjZWVkcy4nKSxlbHNlOiQoInNjaGVtYS5qc29uLmVsc2UiLCdUaGUgImVsc2UiIHN1YnNjaGVtYSBpcyB1c2VkIGZvciB2YWxpZGF0aW9uIHdoZW4gdGhlICJpZiIgc3Vic2NoZW1hIGZhaWxzLicpfTtmb3IoU2EgaW4ga3Iuc2NoZW1hcyl7U249a3Iuc2NoZW1hc1tTYV07Zm9yKE5uIGluIFNuLnByb3BlcnRpZXMpTG49U24ucHJvcGVydGllc1tObl0sdHlwZW9mIExuPT0iYm9vbGVhbiImJihMbj1Tbi5wcm9wZXJ0aWVzW05uXT17fSksRXI9cXVbTm5dLEVyJiYoTG4uZGVzY3JpcHRpb249RXIpfXZhciBTbixMbixFcixObixTYSxMYTtMYT0oKCk9Pnt2YXIgZT17NDcwOnI9PntmdW5jdGlvbiBpKG8pe2lmKHR5cGVvZiBvIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCJQYXRoIG11c3QgYmUgYSBzdHJpbmcuIFJlY2VpdmVkICIrSlNPTi5zdHJpbmdpZnkobykpfWZ1bmN0aW9uIHMobyxsKXtmb3IodmFyIHUsZj0iIixoPTAsZD0tMSxnPTAsbT0wO208PW8ubGVuZ3RoOysrbSl7aWYobTxvLmxlbmd0aCl1PW8uY2hhckNvZGVBdChtKTtlbHNle2lmKHU9PT00NylicmVhazt1PTQ3fWlmKHU9PT00Nyl7aWYoIShkPT09bS0xfHxnPT09MSkpaWYoZCE9PW0tMSYmZz09PTIpe2lmKGYubGVuZ3RoPDJ8fGghPT0yfHxmLmNoYXJDb2RlQXQoZi5sZW5ndGgtMSkhPT00Nnx8Zi5jaGFyQ29kZUF0KGYubGVuZ3RoLTIpIT09NDYpe2lmKGYubGVuZ3RoPjIpe3ZhciB2PWYubGFzdEluZGV4T2YoIi8iKTtpZih2IT09Zi5sZW5ndGgtMSl7dj09PS0xPyhmPSIiLGg9MCk6aD0oZj1mLnNsaWNlKDAsdikpLmxlbmd0aC0xLWYubGFzdEluZGV4T2YoIi8iKSxkPW0sZz0wO2NvbnRpbnVlfX1lbHNlIGlmKGYubGVuZ3RoPT09Mnx8Zi5sZW5ndGg9PT0xKXtmPSIiLGg9MCxkPW0sZz0wO2NvbnRpbnVlfX1sJiYoZi5sZW5ndGg+MD9mKz0iLy4uIjpmPSIuLiIsaD0yKX1lbHNlIGYubGVuZ3RoPjA/Zis9Ii8iK28uc2xpY2UoZCsxLG0pOmY9by5zbGljZShkKzEsbSksaD1tLWQtMTtkPW0sZz0wfWVsc2UgdT09PTQ2JiZnIT09LTE/KytnOmc9LTF9cmV0dXJuIGZ9dmFyIGE9e3Jlc29sdmU6ZnVuY3Rpb24oKXtmb3IodmFyIG8sbD0iIix1PSExLGY9YXJndW1lbnRzLmxlbmd0aC0xO2Y+PS0xJiYhdTtmLS0pe3ZhciBoO2Y+PTA/aD1hcmd1bWVudHNbZl06KG89PT12b2lkIDAmJihvPXByb2Nlc3MuY3dkKCkpLGg9byksaShoKSxoLmxlbmd0aCE9PTAmJihsPWgrIi8iK2wsdT1oLmNoYXJDb2RlQXQoMCk9PT00Nyl9cmV0dXJuIGw9cyhsLCF1KSx1P2wubGVuZ3RoPjA/Ii8iK2w6Ii8iOmwubGVuZ3RoPjA/bDoiLiJ9LG5vcm1hbGl6ZTpmdW5jdGlvbihvKXtpZihpKG8pLG8ubGVuZ3RoPT09MClyZXR1cm4iLiI7dmFyIGw9by5jaGFyQ29kZUF0KDApPT09NDcsdT1vLmNoYXJDb2RlQXQoby5sZW5ndGgtMSk9PT00NztyZXR1cm4obz1zKG8sIWwpKS5sZW5ndGghPT0wfHxsfHwobz0iLiIpLG8ubGVuZ3RoPjAmJnUmJihvKz0iLyIpLGw/Ii8iK286b30saXNBYnNvbHV0ZTpmdW5jdGlvbihvKXtyZXR1cm4gaShvKSxvLmxlbmd0aD4wJiZvLmNoYXJDb2RlQXQoMCk9PT00N30sam9pbjpmdW5jdGlvbigpe2lmKGFyZ3VtZW50cy5sZW5ndGg9PT0wKXJldHVybiIuIjtmb3IodmFyIG8sbD0wO2w8YXJndW1lbnRzLmxlbmd0aDsrK2wpe3ZhciB1PWFyZ3VtZW50c1tsXTtpKHUpLHUubGVuZ3RoPjAmJihvPT09dm9pZCAwP289dTpvKz0iLyIrdSl9cmV0dXJuIG89PT12b2lkIDA/Ii4iOmEubm9ybWFsaXplKG8pfSxyZWxhdGl2ZTpmdW5jdGlvbihvLGwpe2lmKGkobyksaShsKSxvPT09bHx8KG89YS5yZXNvbHZlKG8pKT09PShsPWEucmVzb2x2ZShsKSkpcmV0dXJuIiI7Zm9yKHZhciB1PTE7dTxvLmxlbmd0aCYmby5jaGFyQ29kZUF0KHUpPT09NDc7Kyt1KTtmb3IodmFyIGY9by5sZW5ndGgsaD1mLXUsZD0xO2Q8bC5sZW5ndGgmJmwuY2hhckNvZGVBdChkKT09PTQ3OysrZCk7Zm9yKHZhciBnPWwubGVuZ3RoLWQsbT1oPGc/aDpnLHY9LTEscD0wO3A8PW07KytwKXtpZihwPT09bSl7aWYoZz5tKXtpZihsLmNoYXJDb2RlQXQoZCtwKT09PTQ3KXJldHVybiBsLnNsaWNlKGQrcCsxKTtpZihwPT09MClyZXR1cm4gbC5zbGljZShkK3ApfWVsc2UgaD5tJiYoby5jaGFyQ29kZUF0KHUrcCk9PT00Nz92PXA6cD09PTAmJih2PTApKTticmVha312YXIgeD1vLmNoYXJDb2RlQXQodStwKTtpZih4IT09bC5jaGFyQ29kZUF0KGQrcCkpYnJlYWs7eD09PTQ3JiYodj1wKX12YXIgeT0iIjtmb3IocD11K3YrMTtwPD1mOysrcClwIT09ZiYmby5jaGFyQ29kZUF0KHApIT09NDd8fCh5Lmxlbmd0aD09PTA/eSs9Ii4uIjp5Kz0iLy4uIik7cmV0dXJuIHkubGVuZ3RoPjA/eStsLnNsaWNlKGQrdik6KGQrPXYsbC5jaGFyQ29kZUF0KGQpPT09NDcmJisrZCxsLnNsaWNlKGQpKX0sX21ha2VMb25nOmZ1bmN0aW9uKG8pe3JldHVybiBvfSxkaXJuYW1lOmZ1bmN0aW9uKG8pe2lmKGkobyksby5sZW5ndGg9PT0wKXJldHVybiIuIjtmb3IodmFyIGw9by5jaGFyQ29kZUF0KDApLHU9bD09PTQ3LGY9LTEsaD0hMCxkPW8ubGVuZ3RoLTE7ZD49MTstLWQpaWYoKGw9by5jaGFyQ29kZUF0KGQpKT09PTQ3KXtpZighaCl7Zj1kO2JyZWFrfX1lbHNlIGg9ITE7cmV0dXJuIGY9PT0tMT91PyIvIjoiLiI6dSYmZj09PTE/Ii8vIjpvLnNsaWNlKDAsZil9LGJhc2VuYW1lOmZ1bmN0aW9uKG8sbCl7aWYobCE9PXZvaWQgMCYmdHlwZW9mIGwhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoJyJleHQiIGFyZ3VtZW50IG11c3QgYmUgYSBzdHJpbmcnKTtpKG8pO3ZhciB1LGY9MCxoPS0xLGQ9ITA7aWYobCE9PXZvaWQgMCYmbC5sZW5ndGg+MCYmbC5sZW5ndGg8PW8ubGVuZ3RoKXtpZihsLmxlbmd0aD09PW8ubGVuZ3RoJiZsPT09bylyZXR1cm4iIjt2YXIgZz1sLmxlbmd0aC0xLG09LTE7Zm9yKHU9by5sZW5ndGgtMTt1Pj0wOy0tdSl7dmFyIHY9by5jaGFyQ29kZUF0KHUpO2lmKHY9PT00Nyl7aWYoIWQpe2Y9dSsxO2JyZWFrfX1lbHNlIG09PT0tMSYmKGQ9ITEsbT11KzEpLGc+PTAmJih2PT09bC5jaGFyQ29kZUF0KGcpPy0tZz09LTEmJihoPXUpOihnPS0xLGg9bSkpfXJldHVybiBmPT09aD9oPW06aD09PS0xJiYoaD1vLmxlbmd0aCksby5zbGljZShmLGgpfWZvcih1PW8ubGVuZ3RoLTE7dT49MDstLXUpaWYoby5jaGFyQ29kZUF0KHUpPT09NDcpe2lmKCFkKXtmPXUrMTticmVha319ZWxzZSBoPT09LTEmJihkPSExLGg9dSsxKTtyZXR1cm4gaD09PS0xPyIiOm8uc2xpY2UoZixoKX0sZXh0bmFtZTpmdW5jdGlvbihvKXtpKG8pO2Zvcih2YXIgbD0tMSx1PTAsZj0tMSxoPSEwLGQ9MCxnPW8ubGVuZ3RoLTE7Zz49MDstLWcpe3ZhciBtPW8uY2hhckNvZGVBdChnKTtpZihtIT09NDcpZj09PS0xJiYoaD0hMSxmPWcrMSksbT09PTQ2P2w9PT0tMT9sPWc6ZCE9PTEmJihkPTEpOmwhPT0tMSYmKGQ9LTEpO2Vsc2UgaWYoIWgpe3U9ZysxO2JyZWFrfX1yZXR1cm4gbD09PS0xfHxmPT09LTF8fGQ9PT0wfHxkPT09MSYmbD09PWYtMSYmbD09PXUrMT8iIjpvLnNsaWNlKGwsZil9LGZvcm1hdDpmdW5jdGlvbihvKXtpZihvPT09bnVsbHx8dHlwZW9mIG8hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSAicGF0aE9iamVjdCIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIE9iamVjdC4gUmVjZWl2ZWQgdHlwZSAnK3R5cGVvZiBvKTtyZXR1cm4gZnVuY3Rpb24obCx1KXt2YXIgZj11LmRpcnx8dS5yb290LGg9dS5iYXNlfHwodS5uYW1lfHwiIikrKHUuZXh0fHwiIik7cmV0dXJuIGY/Zj09PXUucm9vdD9mK2g6ZisiLyIraDpofSgwLG8pfSxwYXJzZTpmdW5jdGlvbihvKXtpKG8pO3ZhciBsPXtyb290OiIiLGRpcjoiIixiYXNlOiIiLGV4dDoiIixuYW1lOiIifTtpZihvLmxlbmd0aD09PTApcmV0dXJuIGw7dmFyIHUsZj1vLmNoYXJDb2RlQXQoMCksaD1mPT09NDc7aD8obC5yb290PSIvIix1PTEpOnU9MDtmb3IodmFyIGQ9LTEsZz0wLG09LTEsdj0hMCxwPW8ubGVuZ3RoLTEseD0wO3A+PXU7LS1wKWlmKChmPW8uY2hhckNvZGVBdChwKSkhPT00NyltPT09LTEmJih2PSExLG09cCsxKSxmPT09NDY/ZD09PS0xP2Q9cDp4IT09MSYmKHg9MSk6ZCE9PS0xJiYoeD0tMSk7ZWxzZSBpZighdil7Zz1wKzE7YnJlYWt9cmV0dXJuIGQ9PT0tMXx8bT09PS0xfHx4PT09MHx8eD09PTEmJmQ9PT1tLTEmJmQ9PT1nKzE/bSE9PS0xJiYobC5iYXNlPWwubmFtZT1nPT09MCYmaD9vLnNsaWNlKDEsbSk6by5zbGljZShnLG0pKTooZz09PTAmJmg/KGwubmFtZT1vLnNsaWNlKDEsZCksbC5iYXNlPW8uc2xpY2UoMSxtKSk6KGwubmFtZT1vLnNsaWNlKGcsZCksbC5iYXNlPW8uc2xpY2UoZyxtKSksbC5leHQ9by5zbGljZShkLG0pKSxnPjA/bC5kaXI9by5zbGljZSgwLGctMSk6aCYmKGwuZGlyPSIvIiksbH0sc2VwOiIvIixkZWxpbWl0ZXI6IjoiLHdpbjMyOm51bGwscG9zaXg6bnVsbH07YS5wb3NpeD1hLHIuZXhwb3J0cz1hfSw0NDc6KHIsaSxzKT0+e3ZhciBhO2lmKHMucihpKSxzLmQoaSx7VVJJOigpPT55LFV0aWxzOigpPT5UfSksdHlwZW9mIHByb2Nlc3M9PSJvYmplY3QiKWE9cHJvY2Vzcy5wbGF0Zm9ybT09PSJ3aW4zMiI7ZWxzZSBpZih0eXBlb2YgbmF2aWdhdG9yPT0ib2JqZWN0Iil7dmFyIG89bmF2aWdhdG9yLnVzZXJBZ2VudDthPW8uaW5kZXhPZigiV2luZG93cyIpPj0wfXZhciBsLHUsZj0obD1mdW5jdGlvbihNLGspe3JldHVybihsPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihQLEQpe1AuX19wcm90b19fPUR9fHxmdW5jdGlvbihQLEQpe2Zvcih2YXIgcSBpbiBEKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChELHEpJiYoUFtxXT1EW3FdKX0pKE0sayl9LGZ1bmN0aW9uKE0sayl7aWYodHlwZW9mIGshPSJmdW5jdGlvbiImJmshPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcoaykrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7ZnVuY3Rpb24gUCgpe3RoaXMuY29uc3RydWN0b3I9TX1sKE0sayksTS5wcm90b3R5cGU9az09PW51bGw/T2JqZWN0LmNyZWF0ZShrKTooUC5wcm90b3R5cGU9ay5wcm90b3R5cGUsbmV3IFApfSksaD0vXlx3W1x3XGQrLi1dKiQvLGQ9L15cLy8sZz0vXlwvXC8vO2Z1bmN0aW9uIG0oTSxrKXtpZighTS5zY2hlbWUmJmspdGhyb3cgbmV3IEVycm9yKCdbVXJpRXJyb3JdOiBTY2hlbWUgaXMgbWlzc2luZzoge3NjaGVtZTogIiIsIGF1dGhvcml0eTogIicuY29uY2F0KE0uYXV0aG9yaXR5LCciLCBwYXRoOiAiJykuY29uY2F0KE0ucGF0aCwnIiwgcXVlcnk6ICInKS5jb25jYXQoTS5xdWVyeSwnIiwgZnJhZ21lbnQ6ICInKS5jb25jYXQoTS5mcmFnbWVudCwnIn0nKSk7aWYoTS5zY2hlbWUmJiFoLnRlc3QoTS5zY2hlbWUpKXRocm93IG5ldyBFcnJvcigiW1VyaUVycm9yXTogU2NoZW1lIGNvbnRhaW5zIGlsbGVnYWwgY2hhcmFjdGVycy4iKTtpZihNLnBhdGgpe2lmKE0uYXV0aG9yaXR5KXtpZighZC50ZXN0KE0ucGF0aCkpdGhyb3cgbmV3IEVycm9yKCdbVXJpRXJyb3JdOiBJZiBhIFVSSSBjb250YWlucyBhbiBhdXRob3JpdHkgY29tcG9uZW50LCB0aGVuIHRoZSBwYXRoIGNvbXBvbmVudCBtdXN0IGVpdGhlciBiZSBlbXB0eSBvciBiZWdpbiB3aXRoIGEgc2xhc2ggKCIvIikgY2hhcmFjdGVyJyl9ZWxzZSBpZihnLnRlc3QoTS5wYXRoKSl0aHJvdyBuZXcgRXJyb3IoJ1tVcmlFcnJvcl06IElmIGEgVVJJIGRvZXMgbm90IGNvbnRhaW4gYW4gYXV0aG9yaXR5IGNvbXBvbmVudCwgdGhlbiB0aGUgcGF0aCBjYW5ub3QgYmVnaW4gd2l0aCB0d28gc2xhc2ggY2hhcmFjdGVycyAoIi8vIiknKX19dmFyIHY9IiIscD0iLyIseD0vXigoW146Lz8jXSs/KTopPyhcL1wvKFteLz8jXSopKT8oW14/I10qKShcPyhbXiNdKikpPygjKC4qKSk/Lyx5PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gTShrLFAsRCxxLEIsRyl7Rz09PXZvaWQgMCYmKEc9ITEpLHR5cGVvZiBrPT0ib2JqZWN0Ij8odGhpcy5zY2hlbWU9ay5zY2hlbWV8fHYsdGhpcy5hdXRob3JpdHk9ay5hdXRob3JpdHl8fHYsdGhpcy5wYXRoPWsucGF0aHx8dix0aGlzLnF1ZXJ5PWsucXVlcnl8fHYsdGhpcy5mcmFnbWVudD1rLmZyYWdtZW50fHx2KToodGhpcy5zY2hlbWU9ZnVuY3Rpb24oZGUsbGUpe3JldHVybiBkZXx8bGU/ZGU6ImZpbGUifShrLEcpLHRoaXMuYXV0aG9yaXR5PVB8fHYsdGhpcy5wYXRoPWZ1bmN0aW9uKGRlLGxlKXtzd2l0Y2goZGUpe2Nhc2UiaHR0cHMiOmNhc2UiaHR0cCI6Y2FzZSJmaWxlIjpsZT9sZVswXSE9PXAmJihsZT1wK2xlKTpsZT1wfXJldHVybiBsZX0odGhpcy5zY2hlbWUsRHx8diksdGhpcy5xdWVyeT1xfHx2LHRoaXMuZnJhZ21lbnQ9Qnx8dixtKHRoaXMsRykpfXJldHVybiBNLmlzVXJpPWZ1bmN0aW9uKGspe3JldHVybiBrIGluc3RhbmNlb2YgTXx8ISFrJiZ0eXBlb2Ygay5hdXRob3JpdHk9PSJzdHJpbmciJiZ0eXBlb2Ygay5mcmFnbWVudD09InN0cmluZyImJnR5cGVvZiBrLnBhdGg9PSJzdHJpbmciJiZ0eXBlb2Ygay5xdWVyeT09InN0cmluZyImJnR5cGVvZiBrLnNjaGVtZT09InN0cmluZyImJnR5cGVvZiBrLmZzUGF0aD09InN0cmluZyImJnR5cGVvZiBrLndpdGg9PSJmdW5jdGlvbiImJnR5cGVvZiBrLnRvU3RyaW5nPT0iZnVuY3Rpb24ifSxPYmplY3QuZGVmaW5lUHJvcGVydHkoTS5wcm90b3R5cGUsImZzUGF0aCIse2dldDpmdW5jdGlvbigpe3JldHVybiBBKHRoaXMsITEpfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE0ucHJvdG90eXBlLndpdGg9ZnVuY3Rpb24oayl7aWYoIWspcmV0dXJuIHRoaXM7dmFyIFA9ay5zY2hlbWUsRD1rLmF1dGhvcml0eSxxPWsucGF0aCxCPWsucXVlcnksRz1rLmZyYWdtZW50O3JldHVybiBQPT09dm9pZCAwP1A9dGhpcy5zY2hlbWU6UD09PW51bGwmJihQPXYpLEQ9PT12b2lkIDA/RD10aGlzLmF1dGhvcml0eTpEPT09bnVsbCYmKEQ9dikscT09PXZvaWQgMD9xPXRoaXMucGF0aDpxPT09bnVsbCYmKHE9diksQj09PXZvaWQgMD9CPXRoaXMucXVlcnk6Qj09PW51bGwmJihCPXYpLEc9PT12b2lkIDA/Rz10aGlzLmZyYWdtZW50Okc9PT1udWxsJiYoRz12KSxQPT09dGhpcy5zY2hlbWUmJkQ9PT10aGlzLmF1dGhvcml0eSYmcT09PXRoaXMucGF0aCYmQj09PXRoaXMucXVlcnkmJkc9PT10aGlzLmZyYWdtZW50P3RoaXM6bmV3IEwoUCxELHEsQixHKX0sTS5wYXJzZT1mdW5jdGlvbihrLFApe1A9PT12b2lkIDAmJihQPSExKTt2YXIgRD14LmV4ZWMoayk7cmV0dXJuIEQ/bmV3IEwoRFsyXXx8dixfKERbNF18fHYpLF8oRFs1XXx8diksXyhEWzddfHx2KSxfKERbOV18fHYpLFApOm5ldyBMKHYsdix2LHYsdil9LE0uZmlsZT1mdW5jdGlvbihrKXt2YXIgUD12O2lmKGEmJihrPWsucmVwbGFjZSgvXFwvZyxwKSksa1swXT09PXAmJmtbMV09PT1wKXt2YXIgRD1rLmluZGV4T2YocCwyKTtEPT09LTE/KFA9ay5zdWJzdHJpbmcoMiksaz1wKTooUD1rLnN1YnN0cmluZygyLEQpLGs9ay5zdWJzdHJpbmcoRCl8fHApfXJldHVybiBuZXcgTCgiZmlsZSIsUCxrLHYsdil9LE0uZnJvbT1mdW5jdGlvbihrKXt2YXIgUD1uZXcgTChrLnNjaGVtZSxrLmF1dGhvcml0eSxrLnBhdGgsay5xdWVyeSxrLmZyYWdtZW50KTtyZXR1cm4gbShQLCEwKSxQfSxNLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbihrKXtyZXR1cm4gaz09PXZvaWQgMCYmKGs9ITEpLFIodGhpcyxrKX0sTS5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LE0ucmV2aXZlPWZ1bmN0aW9uKGspe2lmKGspe2lmKGsgaW5zdGFuY2VvZiBNKXJldHVybiBrO3ZhciBQPW5ldyBMKGspO3JldHVybiBQLl9mb3JtYXR0ZWQ9ay5leHRlcm5hbCxQLl9mc1BhdGg9ay5fc2VwPT09Yj9rLmZzUGF0aDpudWxsLFB9cmV0dXJuIGt9LE19KCksYj1hPzE6dm9pZCAwLEw9ZnVuY3Rpb24oTSl7ZnVuY3Rpb24gaygpe3ZhciBQPU0hPT1udWxsJiZNLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpcztyZXR1cm4gUC5fZm9ybWF0dGVkPW51bGwsUC5fZnNQYXRoPW51bGwsUH1yZXR1cm4gZihrLE0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShrLnByb3RvdHlwZSwiZnNQYXRoIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2ZzUGF0aHx8KHRoaXMuX2ZzUGF0aD1BKHRoaXMsITEpKSx0aGlzLl9mc1BhdGh9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksay5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oUCl7cmV0dXJuIFA9PT12b2lkIDAmJihQPSExKSxQP1IodGhpcywhMCk6KHRoaXMuX2Zvcm1hdHRlZHx8KHRoaXMuX2Zvcm1hdHRlZD1SKHRoaXMsITEpKSx0aGlzLl9mb3JtYXR0ZWQpfSxrLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXt2YXIgUD17JG1pZDoxfTtyZXR1cm4gdGhpcy5fZnNQYXRoJiYoUC5mc1BhdGg9dGhpcy5fZnNQYXRoLFAuX3NlcD1iKSx0aGlzLl9mb3JtYXR0ZWQmJihQLmV4dGVybmFsPXRoaXMuX2Zvcm1hdHRlZCksdGhpcy5wYXRoJiYoUC5wYXRoPXRoaXMucGF0aCksdGhpcy5zY2hlbWUmJihQLnNjaGVtZT10aGlzLnNjaGVtZSksdGhpcy5hdXRob3JpdHkmJihQLmF1dGhvcml0eT10aGlzLmF1dGhvcml0eSksdGhpcy5xdWVyeSYmKFAucXVlcnk9dGhpcy5xdWVyeSksdGhpcy5mcmFnbWVudCYmKFAuZnJhZ21lbnQ9dGhpcy5mcmFnbWVudCksUH0sa30oeSksUz0oKHU9e30pWzU4XT0iJTNBIix1WzQ3XT0iJTJGIix1WzYzXT0iJTNGIix1WzM1XT0iJTIzIix1WzkxXT0iJTVCIix1WzkzXT0iJTVEIix1WzY0XT0iJTQwIix1WzMzXT0iJTIxIix1WzM2XT0iJTI0Iix1WzM4XT0iJTI2Iix1WzM5XT0iJTI3Iix1WzQwXT0iJTI4Iix1WzQxXT0iJTI5Iix1WzQyXT0iJTJBIix1WzQzXT0iJTJCIix1WzQ0XT0iJTJDIix1WzU5XT0iJTNCIix1WzYxXT0iJTNEIix1WzMyXT0iJTIwIix1KTtmdW5jdGlvbiB3KE0sayl7Zm9yKHZhciBQPXZvaWQgMCxEPS0xLHE9MDtxPE0ubGVuZ3RoO3ErKyl7dmFyIEI9TS5jaGFyQ29kZUF0KHEpO2lmKEI+PTk3JiZCPD0xMjJ8fEI+PTY1JiZCPD05MHx8Qj49NDgmJkI8PTU3fHxCPT09NDV8fEI9PT00Nnx8Qj09PTk1fHxCPT09MTI2fHxrJiZCPT09NDcpRCE9PS0xJiYoUCs9ZW5jb2RlVVJJQ29tcG9uZW50KE0uc3Vic3RyaW5nKEQscSkpLEQ9LTEpLFAhPT12b2lkIDAmJihQKz1NLmNoYXJBdChxKSk7ZWxzZXtQPT09dm9pZCAwJiYoUD1NLnN1YnN0cigwLHEpKTt2YXIgRz1TW0JdO0chPT12b2lkIDA/KEQhPT0tMSYmKFArPWVuY29kZVVSSUNvbXBvbmVudChNLnN1YnN0cmluZyhELHEpKSxEPS0xKSxQKz1HKTpEPT09LTEmJihEPXEpfX1yZXR1cm4gRCE9PS0xJiYoUCs9ZW5jb2RlVVJJQ29tcG9uZW50KE0uc3Vic3RyaW5nKEQpKSksUCE9PXZvaWQgMD9QOk19ZnVuY3Rpb24gTihNKXtmb3IodmFyIGs9dm9pZCAwLFA9MDtQPE0ubGVuZ3RoO1ArKyl7dmFyIEQ9TS5jaGFyQ29kZUF0KFApO0Q9PT0zNXx8RD09PTYzPyhrPT09dm9pZCAwJiYoaz1NLnN1YnN0cigwLFApKSxrKz1TW0RdKTprIT09dm9pZCAwJiYoays9TVtQXSl9cmV0dXJuIGshPT12b2lkIDA/azpNfWZ1bmN0aW9uIEEoTSxrKXt2YXIgUDtyZXR1cm4gUD1NLmF1dGhvcml0eSYmTS5wYXRoLmxlbmd0aD4xJiZNLnNjaGVtZT09PSJmaWxlIj8iLy8iLmNvbmNhdChNLmF1dGhvcml0eSkuY29uY2F0KE0ucGF0aCk6TS5wYXRoLmNoYXJDb2RlQXQoMCk9PT00NyYmKE0ucGF0aC5jaGFyQ29kZUF0KDEpPj02NSYmTS5wYXRoLmNoYXJDb2RlQXQoMSk8PTkwfHxNLnBhdGguY2hhckNvZGVBdCgxKT49OTcmJk0ucGF0aC5jaGFyQ29kZUF0KDEpPD0xMjIpJiZNLnBhdGguY2hhckNvZGVBdCgyKT09PTU4P2s/TS5wYXRoLnN1YnN0cigxKTpNLnBhdGhbMV0udG9Mb3dlckNhc2UoKStNLnBhdGguc3Vic3RyKDIpOk0ucGF0aCxhJiYoUD1QLnJlcGxhY2UoL1wvL2csIlxcIikpLFB9ZnVuY3Rpb24gUihNLGspe3ZhciBQPWs/Tjp3LEQ9IiIscT1NLnNjaGVtZSxCPU0uYXV0aG9yaXR5LEc9TS5wYXRoLGRlPU0ucXVlcnksbGU9TS5mcmFnbWVudDtpZihxJiYoRCs9cSxEKz0iOiIpLChCfHxxPT09ImZpbGUiKSYmKEQrPXAsRCs9cCksQil7dmFyIGJlPUIuaW5kZXhPZigiQCIpO2lmKGJlIT09LTEpe3ZhciBrdD1CLnN1YnN0cigwLGJlKTtCPUIuc3Vic3RyKGJlKzEpLChiZT1rdC5pbmRleE9mKCI6IikpPT09LTE/RCs9UChrdCwhMSk6KEQrPVAoa3Quc3Vic3RyKDAsYmUpLCExKSxEKz0iOiIsRCs9UChrdC5zdWJzdHIoYmUrMSksITEpKSxEKz0iQCJ9KGJlPShCPUIudG9Mb3dlckNhc2UoKSkuaW5kZXhPZigiOiIpKT09PS0xP0QrPVAoQiwhMSk6KEQrPVAoQi5zdWJzdHIoMCxiZSksITEpLEQrPUIuc3Vic3RyKGJlKSl9aWYoRyl7aWYoRy5sZW5ndGg+PTMmJkcuY2hhckNvZGVBdCgwKT09PTQ3JiZHLmNoYXJDb2RlQXQoMik9PT01OCkoT2U9Ry5jaGFyQ29kZUF0KDEpKT49NjUmJk9lPD05MCYmKEc9Ii8iLmNvbmNhdChTdHJpbmcuZnJvbUNoYXJDb2RlKE9lKzMyKSwiOiIpLmNvbmNhdChHLnN1YnN0cigzKSkpO2Vsc2UgaWYoRy5sZW5ndGg+PTImJkcuY2hhckNvZGVBdCgxKT09PTU4KXt2YXIgT2U7KE9lPUcuY2hhckNvZGVBdCgwKSk+PTY1JiZPZTw9OTAmJihHPSIiLmNvbmNhdChTdHJpbmcuZnJvbUNoYXJDb2RlKE9lKzMyKSwiOiIpLmNvbmNhdChHLnN1YnN0cigyKSkpfUQrPVAoRywhMCl9cmV0dXJuIGRlJiYoRCs9Ij8iLEQrPVAoZGUsITEpKSxsZSYmKEQrPSIjIixEKz1rP2xlOncobGUsITEpKSxEfWZ1bmN0aW9uIEkoTSl7dHJ5e3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoTSl9Y2F0Y2h7cmV0dXJuIE0ubGVuZ3RoPjM/TS5zdWJzdHIoMCwzKStJKE0uc3Vic3RyKDMpKTpNfX12YXIgQz0vKCVbMC05QS1aYS16XVswLTlBLVphLXpdKSsvZztmdW5jdGlvbiBfKE0pe3JldHVybiBNLm1hdGNoKEMpP00ucmVwbGFjZShDLGZ1bmN0aW9uKGspe3JldHVybiBJKGspfSk6TX12YXIgVCxGPXMoNDcwKSxWPWZ1bmN0aW9uKE0sayxQKXtpZihQfHxhcmd1bWVudHMubGVuZ3RoPT09Milmb3IodmFyIEQscT0wLEI9ay5sZW5ndGg7cTxCO3ErKykhRCYmcSBpbiBrfHwoRHx8KEQ9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoaywwLHEpKSxEW3FdPWtbcV0pO3JldHVybiBNLmNvbmNhdChEfHxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChrKSl9LE89Ri5wb3NpeHx8RjsoZnVuY3Rpb24oTSl7TS5qb2luUGF0aD1mdW5jdGlvbihrKXtmb3IodmFyIFA9W10sRD0xO0Q8YXJndW1lbnRzLmxlbmd0aDtEKyspUFtELTFdPWFyZ3VtZW50c1tEXTtyZXR1cm4gay53aXRoKHtwYXRoOk8uam9pbi5hcHBseShPLFYoW2sucGF0aF0sUCwhMSkpfSl9LE0ucmVzb2x2ZVBhdGg9ZnVuY3Rpb24oayl7Zm9yKHZhciBQPVtdLEQ9MTtEPGFyZ3VtZW50cy5sZW5ndGg7RCsrKVBbRC0xXT1hcmd1bWVudHNbRF07dmFyIHE9ay5wYXRofHwiLyI7cmV0dXJuIGsud2l0aCh7cGF0aDpPLnJlc29sdmUuYXBwbHkoTyxWKFtxXSxQLCExKSl9KX0sTS5kaXJuYW1lPWZ1bmN0aW9uKGspe3ZhciBQPU8uZGlybmFtZShrLnBhdGgpO3JldHVybiBQLmxlbmd0aD09PTEmJlAuY2hhckNvZGVBdCgwKT09PTQ2P2s6ay53aXRoKHtwYXRoOlB9KX0sTS5iYXNlbmFtZT1mdW5jdGlvbihrKXtyZXR1cm4gTy5iYXNlbmFtZShrLnBhdGgpfSxNLmV4dG5hbWU9ZnVuY3Rpb24oayl7cmV0dXJuIE8uZXh0bmFtZShrLnBhdGgpfX0pKFR8fChUPXt9KSl9fSx0PXt9O2Z1bmN0aW9uIG4ocil7aWYodFtyXSlyZXR1cm4gdFtyXS5leHBvcnRzO3ZhciBpPXRbcl09e2V4cG9ydHM6e319O3JldHVybiBlW3JdKGksaS5leHBvcnRzLG4pLGkuZXhwb3J0c31yZXR1cm4gbi5kPShyLGkpPT57Zm9yKHZhciBzIGluIGkpbi5vKGkscykmJiFuLm8ocixzKSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIscyx7ZW51bWVyYWJsZTohMCxnZXQ6aVtzXX0pfSxuLm89KHIsaSk9Pk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChyLGkpLG4ucj1yPT57dHlwZW9mIFN5bWJvbDwidSImJlN5bWJvbC50b1N0cmluZ1RhZyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLnRvU3RyaW5nVGFnLHt2YWx1ZToiTW9kdWxlIn0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0sbig0NDcpfSkoKTt2YXJ7VVJJOkN0LFV0aWxzOmdjfT1MYTtmdW5jdGlvbiBCdShlLHQpe2lmKHR5cGVvZiBlIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIHN0cmluZyIpO2Zvcih2YXIgbj1TdHJpbmcoZSkscj0iIixpPXQ/ISF0LmV4dGVuZGVkOiExLHM9dD8hIXQuZ2xvYnN0YXI6ITEsYT0hMSxvPXQmJnR5cGVvZiB0LmZsYWdzPT0ic3RyaW5nIj90LmZsYWdzOiIiLGwsdT0wLGY9bi5sZW5ndGg7dTxmO3UrKylzd2l0Y2gobD1uW3VdLGwpe2Nhc2UiLyI6Y2FzZSIkIjpjYXNlIl4iOmNhc2UiKyI6Y2FzZSIuIjpjYXNlIigiOmNhc2UiKSI6Y2FzZSI9IjpjYXNlIiEiOmNhc2UifCI6cis9IlxcIitsO2JyZWFrO2Nhc2UiPyI6aWYoaSl7cis9Ii4iO2JyZWFrfWNhc2UiWyI6Y2FzZSJdIjppZihpKXtyKz1sO2JyZWFrfWNhc2UieyI6aWYoaSl7YT0hMCxyKz0iKCI7YnJlYWt9Y2FzZSJ9IjppZihpKXthPSExLHIrPSIpIjticmVha31jYXNlIiwiOmlmKGEpe3IrPSJ8IjticmVha31yKz0iXFwiK2w7YnJlYWs7Y2FzZSIqIjpmb3IodmFyIGg9blt1LTFdLGQ9MTtuW3UrMV09PT0iKiI7KWQrKyx1Kys7dmFyIGc9blt1KzFdO2lmKCFzKXIrPSIuKiI7ZWxzZXt2YXIgbT1kPjEmJihoPT09Ii8ifHxoPT09dm9pZCAwfHxoPT09InsifHxoPT09IiwiKSYmKGc9PT0iLyJ8fGc9PT12b2lkIDB8fGc9PT0iLCJ8fGc9PT0ifSIpO20/KGc9PT0iLyI/dSsrOmg9PT0iLyImJnIuZW5kc1dpdGgoIlxcLyIpJiYocj1yLnN1YnN0cigwLHIubGVuZ3RoLTIpKSxyKz0iKCg/OlteL10qKD86L3wkKSkqKSIpOnIrPSIoW14vXSopIn1icmVhaztkZWZhdWx0OnIrPWx9cmV0dXJuKCFvfHwhfm8uaW5kZXhPZigiZyIpKSYmKHI9Il4iK3IrIiQiKSxuZXcgUmVnRXhwKHIsbyl9dmFyIFZlPUp0KCksJHU9IiEiLFd1PSIvIixIdT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUodCxuKXt0aGlzLmdsb2JXcmFwcGVycz1bXTt0cnl7Zm9yKHZhciByPTAsaT10O3I8aS5sZW5ndGg7cisrKXt2YXIgcz1pW3JdLGE9c1swXSE9PSR1O2F8fChzPXMuc3Vic3RyaW5nKDEpKSxzLmxlbmd0aD4wJiYoc1swXT09PVd1JiYocz1zLnN1YnN0cmluZygxKSksdGhpcy5nbG9iV3JhcHBlcnMucHVzaCh7cmVnZXhwOkJ1KCIqKi8iK3Mse2V4dGVuZGVkOiEwLGdsb2JzdGFyOiEwfSksaW5jbHVkZTphfSkpfXRoaXMudXJpcz1ufWNhdGNoe3RoaXMuZ2xvYldyYXBwZXJzLmxlbmd0aD0wLHRoaXMudXJpcz1bXX19cmV0dXJuIGUucHJvdG90eXBlLm1hdGNoZXNQYXR0ZXJuPWZ1bmN0aW9uKHQpe2Zvcih2YXIgbj0hMSxyPTAsaT10aGlzLmdsb2JXcmFwcGVycztyPGkubGVuZ3RoO3IrKyl7dmFyIHM9aVtyXSxhPXMucmVnZXhwLG89cy5pbmNsdWRlO2EudGVzdCh0KSYmKG49byl9cmV0dXJuIG59LGUucHJvdG90eXBlLmdldFVSSXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51cmlzfSxlfSgpLHp1PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0LG4scil7dGhpcy5zZXJ2aWNlPXQsdGhpcy51cmk9bix0aGlzLmRlcGVuZGVuY2llcz1uZXcgU2V0LHRoaXMuYW5jaG9ycz12b2lkIDAsciYmKHRoaXMudW5yZXNvbHZlZFNjaGVtYT10aGlzLnNlcnZpY2UucHJvbWlzZS5yZXNvbHZlKG5ldyBYdChyKSkpfXJldHVybiBlLnByb3RvdHlwZS5nZXRVbnJlc29sdmVkU2NoZW1hPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudW5yZXNvbHZlZFNjaGVtYXx8KHRoaXMudW5yZXNvbHZlZFNjaGVtYT10aGlzLnNlcnZpY2UubG9hZFNjaGVtYSh0aGlzLnVyaSkpLHRoaXMudW5yZXNvbHZlZFNjaGVtYX0sZS5wcm90b3R5cGUuZ2V0UmVzb2x2ZWRTY2hlbWE9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3JldHVybiB0aGlzLnJlc29sdmVkU2NoZW1hfHwodGhpcy5yZXNvbHZlZFNjaGVtYT10aGlzLmdldFVucmVzb2x2ZWRTY2hlbWEoKS50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiB0LnNlcnZpY2UucmVzb2x2ZVNjaGVtYUNvbnRlbnQobix0KX0pKSx0aGlzLnJlc29sdmVkU2NoZW1hfSxlLnByb3RvdHlwZS5jbGVhclNjaGVtYT1mdW5jdGlvbigpe3ZhciB0PSEhdGhpcy51bnJlc29sdmVkU2NoZW1hO3JldHVybiB0aGlzLnJlc29sdmVkU2NoZW1hPXZvaWQgMCx0aGlzLnVucmVzb2x2ZWRTY2hlbWE9dm9pZCAwLHRoaXMuZGVwZW5kZW5jaWVzLmNsZWFyKCksdGhpcy5hbmNob3JzPXZvaWQgMCx0fSxlfSgpLFh0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0LG4pe249PT12b2lkIDAmJihuPVtdKSx0aGlzLnNjaGVtYT10LHRoaXMuZXJyb3JzPW59cmV0dXJuIGV9KCksTmE9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQsbil7bj09PXZvaWQgMCYmKG49W10pLHRoaXMuc2NoZW1hPXQsdGhpcy5lcnJvcnM9bn1yZXR1cm4gZS5wcm90b3R5cGUuZ2V0U2VjdGlvbj1mdW5jdGlvbih0KXt2YXIgbj10aGlzLmdldFNlY3Rpb25SZWN1cnNpdmUodCx0aGlzLnNjaGVtYSk7aWYobilyZXR1cm4gcGUobil9LGUucHJvdG90eXBlLmdldFNlY3Rpb25SZWN1cnNpdmU9ZnVuY3Rpb24odCxuKXtpZighbnx8dHlwZW9mIG49PSJib29sZWFuInx8dC5sZW5ndGg9PT0wKXJldHVybiBuO3ZhciByPXQuc2hpZnQoKTtpZihuLnByb3BlcnRpZXMmJnR5cGVvZiBuLnByb3BlcnRpZXNbcl0pcmV0dXJuIHRoaXMuZ2V0U2VjdGlvblJlY3Vyc2l2ZSh0LG4ucHJvcGVydGllc1tyXSk7aWYobi5wYXR0ZXJuUHJvcGVydGllcylmb3IodmFyIGk9MCxzPU9iamVjdC5rZXlzKG4ucGF0dGVyblByb3BlcnRpZXMpO2k8cy5sZW5ndGg7aSsrKXt2YXIgYT1zW2ldLG89Z24oYSk7aWYobyE9bnVsbCYmby50ZXN0KHIpKXJldHVybiB0aGlzLmdldFNlY3Rpb25SZWN1cnNpdmUodCxuLnBhdHRlcm5Qcm9wZXJ0aWVzW2FdKX1lbHNle2lmKHR5cGVvZiBuLmFkZGl0aW9uYWxQcm9wZXJ0aWVzPT0ib2JqZWN0IilyZXR1cm4gdGhpcy5nZXRTZWN0aW9uUmVjdXJzaXZlKHQsbi5hZGRpdGlvbmFsUHJvcGVydGllcyk7aWYoci5tYXRjaCgiWzAtOV0rIikpe2lmKEFycmF5LmlzQXJyYXkobi5pdGVtcykpe3ZhciBsPXBhcnNlSW50KHIsMTApO2lmKCFpc05hTihsKSYmbi5pdGVtc1tsXSlyZXR1cm4gdGhpcy5nZXRTZWN0aW9uUmVjdXJzaXZlKHQsbi5pdGVtc1tsXSl9ZWxzZSBpZihuLml0ZW1zKXJldHVybiB0aGlzLmdldFNlY3Rpb25SZWN1cnNpdmUodCxuLml0ZW1zKX19fSxlfSgpLEd1PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0LG4scil7dGhpcy5jb250ZXh0U2VydmljZT1uLHRoaXMucmVxdWVzdFNlcnZpY2U9dCx0aGlzLnByb21pc2VDb25zdHJ1Y3Rvcj1yfHxQcm9taXNlLHRoaXMuY2FsbE9uRGlzcG9zZT1bXSx0aGlzLmNvbnRyaWJ1dGlvblNjaGVtYXM9e30sdGhpcy5jb250cmlidXRpb25Bc3NvY2lhdGlvbnM9W10sdGhpcy5zY2hlbWFzQnlJZD17fSx0aGlzLmZpbGVQYXR0ZXJuQXNzb2NpYXRpb25zPVtdLHRoaXMucmVnaXN0ZXJlZFNjaGVtYXNJZHM9e319cmV0dXJuIGUucHJvdG90eXBlLmdldFJlZ2lzdGVyZWRTY2hlbWFJZHM9ZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMucmVnaXN0ZXJlZFNjaGVtYXNJZHMpLmZpbHRlcihmdW5jdGlvbihuKXt2YXIgcj1DdC5wYXJzZShuKS5zY2hlbWU7cmV0dXJuIHIhPT0ic2NoZW1hc2VydmljZSImJighdHx8dChyKSl9KX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJwcm9taXNlIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJvbWlzZUNvbnN0cnVjdG9yfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLGUucHJvdG90eXBlLmRpc3Bvc2U9ZnVuY3Rpb24oKXtmb3IoO3RoaXMuY2FsbE9uRGlzcG9zZS5sZW5ndGg+MDspdGhpcy5jYWxsT25EaXNwb3NlLnBvcCgpKCl9LGUucHJvdG90eXBlLm9uUmVzb3VyY2VDaGFuZ2U9ZnVuY3Rpb24odCl7dmFyIG49dGhpczt0aGlzLmNhY2hlZFNjaGVtYUZvclJlc291cmNlPXZvaWQgMDt2YXIgcj0hMTt0PXR0KHQpO2Zvcih2YXIgaT1bdF0scz1PYmplY3Qua2V5cyh0aGlzLnNjaGVtYXNCeUlkKS5tYXAoZnVuY3Rpb24odSl7cmV0dXJuIG4uc2NoZW1hc0J5SWRbdV19KTtpLmxlbmd0aDspZm9yKHZhciBhPWkucG9wKCksbz0wO288cy5sZW5ndGg7bysrKXt2YXIgbD1zW29dO2wmJihsLnVyaT09PWF8fGwuZGVwZW5kZW5jaWVzLmhhcyhhKSkmJihsLnVyaSE9PWEmJmkucHVzaChsLnVyaSksbC5jbGVhclNjaGVtYSgpJiYocj0hMCksc1tvXT12b2lkIDApfXJldHVybiByfSxlLnByb3RvdHlwZS5zZXRTY2hlbWFDb250cmlidXRpb25zPWZ1bmN0aW9uKHQpe2lmKHQuc2NoZW1hcyl7dmFyIG49dC5zY2hlbWFzO2Zvcih2YXIgciBpbiBuKXt2YXIgaT10dChyKTt0aGlzLmNvbnRyaWJ1dGlvblNjaGVtYXNbaV09dGhpcy5hZGRTY2hlbWFIYW5kbGUoaSxuW3JdKX19aWYoQXJyYXkuaXNBcnJheSh0LnNjaGVtYUFzc29jaWF0aW9ucykpZm9yKHZhciBzPXQuc2NoZW1hQXNzb2NpYXRpb25zLGE9MCxvPXM7YTxvLmxlbmd0aDthKyspe3ZhciBsPW9bYV0sdT1sLnVyaXMubWFwKHR0KSxmPXRoaXMuYWRkRmlsZVBhdHRlcm5Bc3NvY2lhdGlvbihsLnBhdHRlcm4sdSk7dGhpcy5jb250cmlidXRpb25Bc3NvY2lhdGlvbnMucHVzaChmKX19LGUucHJvdG90eXBlLmFkZFNjaGVtYUhhbmRsZT1mdW5jdGlvbih0LG4pe3ZhciByPW5ldyB6dSh0aGlzLHQsbik7cmV0dXJuIHRoaXMuc2NoZW1hc0J5SWRbdF09cixyfSxlLnByb3RvdHlwZS5nZXRPckFkZFNjaGVtYUhhbmRsZT1mdW5jdGlvbih0LG4pe3JldHVybiB0aGlzLnNjaGVtYXNCeUlkW3RdfHx0aGlzLmFkZFNjaGVtYUhhbmRsZSh0LG4pfSxlLnByb3RvdHlwZS5hZGRGaWxlUGF0dGVybkFzc29jaWF0aW9uPWZ1bmN0aW9uKHQsbil7dmFyIHI9bmV3IEh1KHQsbik7cmV0dXJuIHRoaXMuZmlsZVBhdHRlcm5Bc3NvY2lhdGlvbnMucHVzaChyKSxyfSxlLnByb3RvdHlwZS5yZWdpc3RlckV4dGVybmFsU2NoZW1hPWZ1bmN0aW9uKHQsbixyKXt2YXIgaT10dCh0KTtyZXR1cm4gdGhpcy5yZWdpc3RlcmVkU2NoZW1hc0lkc1tpXT0hMCx0aGlzLmNhY2hlZFNjaGVtYUZvclJlc291cmNlPXZvaWQgMCxuJiZ0aGlzLmFkZEZpbGVQYXR0ZXJuQXNzb2NpYXRpb24obixbaV0pLHI/dGhpcy5hZGRTY2hlbWFIYW5kbGUoaSxyKTp0aGlzLmdldE9yQWRkU2NoZW1hSGFuZGxlKGkpfSxlLnByb3RvdHlwZS5jbGVhckV4dGVybmFsU2NoZW1hcz1mdW5jdGlvbigpe3RoaXMuc2NoZW1hc0J5SWQ9e30sdGhpcy5maWxlUGF0dGVybkFzc29jaWF0aW9ucz1bXSx0aGlzLnJlZ2lzdGVyZWRTY2hlbWFzSWRzPXt9LHRoaXMuY2FjaGVkU2NoZW1hRm9yUmVzb3VyY2U9dm9pZCAwO2Zvcih2YXIgdCBpbiB0aGlzLmNvbnRyaWJ1dGlvblNjaGVtYXMpdGhpcy5zY2hlbWFzQnlJZFt0XT10aGlzLmNvbnRyaWJ1dGlvblNjaGVtYXNbdF0sdGhpcy5yZWdpc3RlcmVkU2NoZW1hc0lkc1t0XT0hMDtmb3IodmFyIG49MCxyPXRoaXMuY29udHJpYnV0aW9uQXNzb2NpYXRpb25zO248ci5sZW5ndGg7bisrKXt2YXIgaT1yW25dO3RoaXMuZmlsZVBhdHRlcm5Bc3NvY2lhdGlvbnMucHVzaChpKX19LGUucHJvdG90eXBlLmdldFJlc29sdmVkU2NoZW1hPWZ1bmN0aW9uKHQpe3ZhciBuPXR0KHQpLHI9dGhpcy5zY2hlbWFzQnlJZFtuXTtyZXR1cm4gcj9yLmdldFJlc29sdmVkU2NoZW1hKCk6dGhpcy5wcm9taXNlLnJlc29sdmUodm9pZCAwKX0sZS5wcm90b3R5cGUubG9hZFNjaGVtYT1mdW5jdGlvbih0KXtpZighdGhpcy5yZXF1ZXN0U2VydmljZSl7dmFyIG49VmUoImpzb24uc2NoZW1hLm5vcmVxdWVzdHNlcnZpY2UiLCJVbmFibGUgdG8gbG9hZCBzY2hlbWEgZnJvbSAnezB9Jy4gTm8gc2NoZW1hIHJlcXVlc3Qgc2VydmljZSBhdmFpbGFibGUiLEFuKHQpKTtyZXR1cm4gdGhpcy5wcm9taXNlLnJlc29sdmUobmV3IFh0KHt9LFtuXSkpfXJldHVybiB0aGlzLnJlcXVlc3RTZXJ2aWNlKHQpLnRoZW4oZnVuY3Rpb24ocil7aWYoIXIpe3ZhciBpPVZlKCJqc29uLnNjaGVtYS5ub2NvbnRlbnQiLCJVbmFibGUgdG8gbG9hZCBzY2hlbWEgZnJvbSAnezB9JzogTm8gY29udGVudC4iLEFuKHQpKTtyZXR1cm4gbmV3IFh0KHt9LFtpXSl9dmFyIHM9e30sYT1bXTtzPWN1KHIsYSk7dmFyIG89YS5sZW5ndGg/W1ZlKCJqc29uLnNjaGVtYS5pbnZhbGlkRm9ybWF0IiwiVW5hYmxlIHRvIHBhcnNlIGNvbnRlbnQgZnJvbSAnezB9JzogUGFyc2UgZXJyb3IgYXQgb2Zmc2V0IHsxfS4iLEFuKHQpLGFbMF0ub2Zmc2V0KV06W107cmV0dXJuIG5ldyBYdChzLG8pfSxmdW5jdGlvbihyKXt2YXIgaT1yLnRvU3RyaW5nKCkscz1yLnRvU3RyaW5nKCkuc3BsaXQoIkVycm9yOiAiKTtyZXR1cm4gcy5sZW5ndGg+MSYmKGk9c1sxXSkscXQoaSwiLiIpJiYoaT1pLnN1YnN0cigwLGkubGVuZ3RoLTEpKSxuZXcgWHQoe30sW1ZlKCJqc29uLnNjaGVtYS5ub2NvbnRlbnQiLCJVbmFibGUgdG8gbG9hZCBzY2hlbWEgZnJvbSAnezB9JzogezF9LiIsQW4odCksaSldKX0pfSxlLnByb3RvdHlwZS5yZXNvbHZlU2NoZW1hQ29udGVudD1mdW5jdGlvbih0LG4pe3ZhciByPXRoaXMsaT10LmVycm9ycy5zbGljZSgwKSxzPXQuc2NoZW1hO2lmKHMuJHNjaGVtYSl7dmFyIGE9dHQocy4kc2NoZW1hKTtpZihhPT09Imh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDMvc2NoZW1hIilyZXR1cm4gdGhpcy5wcm9taXNlLnJlc29sdmUobmV3IE5hKHt9LFtWZSgianNvbi5zY2hlbWEuZHJhZnQwMy5ub3RzdXBwb3J0ZWQiLCJEcmFmdC0wMyBzY2hlbWFzIGFyZSBub3Qgc3VwcG9ydGVkLiIpXSkpO2E9PT0iaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQvMjAxOS0wOS9zY2hlbWEiP2kucHVzaChWZSgianNvbi5zY2hlbWEuZHJhZnQyMDE5MDkubm90c3VwcG9ydGVkIiwiRHJhZnQgMjAxOS0wOSBzY2hlbWFzIGFyZSBub3QgeWV0IGZ1bGx5IHN1cHBvcnRlZC4iKSk6YT09PSJodHRwczovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC8yMDIwLTEyL3NjaGVtYSImJmkucHVzaChWZSgianNvbi5zY2hlbWEuZHJhZnQyMDIwMTIubm90c3VwcG9ydGVkIiwiRHJhZnQgMjAyMC0xMiBzY2hlbWFzIGFyZSBub3QgeWV0IGZ1bGx5IHN1cHBvcnRlZC4iKSl9dmFyIG89dGhpcy5jb250ZXh0U2VydmljZSxsPWZ1bmN0aW9uKHYscCl7cD1kZWNvZGVVUklDb21wb25lbnQocCk7dmFyIHg9djtyZXR1cm4gcFswXT09PSIvIiYmKHA9cC5zdWJzdHJpbmcoMSkpLHAuc3BsaXQoIi8iKS5zb21lKGZ1bmN0aW9uKHkpe3JldHVybiB5PXkucmVwbGFjZSgvfjEvZywiLyIpLnJlcGxhY2UoL34wL2csIn4iKSx4PXhbeV0sIXh9KSx4fSx1PWZ1bmN0aW9uKHYscCx4KXtyZXR1cm4gcC5hbmNob3JzfHwocC5hbmNob3JzPW0odikpLHAuYW5jaG9ycy5nZXQoeCl9LGY9ZnVuY3Rpb24odixwKXtmb3IodmFyIHggaW4gcClwLmhhc093blByb3BlcnR5KHgpJiYhdi5oYXNPd25Qcm9wZXJ0eSh4KSYmeCE9PSJpZCImJnghPT0iJGlkIiYmKHZbeF09cFt4XSl9LGg9ZnVuY3Rpb24odixwLHgseSl7dmFyIGI7eT09PXZvaWQgMHx8eS5sZW5ndGg9PT0wP2I9cDp5LmNoYXJBdCgwKT09PSIvIj9iPWwocCx5KTpiPXUocCx4LHkpLGI/Zih2LGIpOmkucHVzaChWZSgianNvbi5zY2hlbWEuaW52YWxpZGlkIiwiJHJlZiAnezB9JyBpbiAnezF9JyBjYW4gbm90IGJlIHJlc29sdmVkLiIseSx4LnVyaSkpfSxkPWZ1bmN0aW9uKHYscCx4LHkpe28mJiEvXltBLVphLXpdW0EtWmEtejAtOStcLS4rXSo6XC9cLy4qLy50ZXN0KHApJiYocD1vLnJlc29sdmVSZWxhdGl2ZVBhdGgocCx5LnVyaSkpLHA9dHQocCk7dmFyIGI9ci5nZXRPckFkZFNjaGVtYUhhbmRsZShwKTtyZXR1cm4gYi5nZXRVbnJlc29sdmVkU2NoZW1hKCkudGhlbihmdW5jdGlvbihMKXtpZih5LmRlcGVuZGVuY2llcy5hZGQocCksTC5lcnJvcnMubGVuZ3RoKXt2YXIgUz14P3ArIiMiK3g6cDtpLnB1c2goVmUoImpzb24uc2NoZW1hLnByb2JsZW1sb2FkaW5ncmVmIiwiUHJvYmxlbXMgbG9hZGluZyByZWZlcmVuY2UgJ3swfSc6IHsxfSIsUyxMLmVycm9yc1swXSkpfXJldHVybiBoKHYsTC5zY2hlbWEsYix4KSxnKHYsTC5zY2hlbWEsYil9KX0sZz1mdW5jdGlvbih2LHAseCl7dmFyIHk9W107cmV0dXJuIHIudHJhdmVyc2VOb2Rlcyh2LGZ1bmN0aW9uKGIpe2Zvcih2YXIgTD1uZXcgU2V0O2IuJHJlZjspe3ZhciBTPWIuJHJlZix3PVMuc3BsaXQoIiMiLDIpO2lmKGRlbGV0ZSBiLiRyZWYsd1swXS5sZW5ndGg+MCl7eS5wdXNoKGQoYix3WzBdLHdbMV0seCkpO3JldHVybn1lbHNlIGlmKCFMLmhhcyhTKSl7dmFyIE49d1sxXTtoKGIscCx4LE4pLEwuYWRkKFMpfX19KSxyLnByb21pc2UuYWxsKHkpfSxtPWZ1bmN0aW9uKHYpe3ZhciBwPW5ldyBNYXA7cmV0dXJuIHIudHJhdmVyc2VOb2Rlcyh2LGZ1bmN0aW9uKHgpe3ZhciB5PXguJGlkfHx4LmlkO2lmKHR5cGVvZiB5PT0ic3RyaW5nIiYmeS5jaGFyQXQoMCk9PT0iIyIpe3ZhciBiPXkuc3Vic3RyaW5nKDEpO3AuaGFzKGIpP2kucHVzaChWZSgianNvbi5zY2hlbWEuZHVwbGljYXRlaWQiLCJEdXBsaWNhdGUgaWQgZGVjbGFyYXRpb246ICd7MH0nIix5KSk6cC5zZXQoYix4KX19KSxwfTtyZXR1cm4gZyhzLHMsbikudGhlbihmdW5jdGlvbih2KXtyZXR1cm4gbmV3IE5hKHMsaSl9KX0sZS5wcm90b3R5cGUudHJhdmVyc2VOb2Rlcz1mdW5jdGlvbih0LG4pe2lmKCF0fHx0eXBlb2YgdCE9Im9iamVjdCIpcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtmb3IodmFyIHI9bmV3IFNldCxpPWZ1bmN0aW9uKCl7Zm9yKHZhciB1PVtdLGY9MDtmPGFyZ3VtZW50cy5sZW5ndGg7ZisrKXVbZl09YXJndW1lbnRzW2ZdO2Zvcih2YXIgaD0wLGQ9dTtoPGQubGVuZ3RoO2grKyl7dmFyIGc9ZFtoXTt0eXBlb2YgZz09Im9iamVjdCImJm8ucHVzaChnKX19LHM9ZnVuY3Rpb24oKXtmb3IodmFyIHU9W10sZj0wO2Y8YXJndW1lbnRzLmxlbmd0aDtmKyspdVtmXT1hcmd1bWVudHNbZl07Zm9yKHZhciBoPTAsZD11O2g8ZC5sZW5ndGg7aCsrKXt2YXIgZz1kW2hdO2lmKHR5cGVvZiBnPT0ib2JqZWN0Iilmb3IodmFyIG0gaW4gZyl7dmFyIHY9bSxwPWdbdl07dHlwZW9mIHA9PSJvYmplY3QiJiZvLnB1c2gocCl9fX0sYT1mdW5jdGlvbigpe2Zvcih2YXIgdT1bXSxmPTA7Zjxhcmd1bWVudHMubGVuZ3RoO2YrKyl1W2ZdPWFyZ3VtZW50c1tmXTtmb3IodmFyIGg9MCxkPXU7aDxkLmxlbmd0aDtoKyspe3ZhciBnPWRbaF07aWYoQXJyYXkuaXNBcnJheShnKSlmb3IodmFyIG09MCx2PWc7bTx2Lmxlbmd0aDttKyspe3ZhciBwPXZbbV07dHlwZW9mIHA9PSJvYmplY3QiJiZvLnB1c2gocCl9fX0sbz1bdF0sbD1vLnBvcCgpO2w7KXIuaGFzKGwpfHwoci5hZGQobCksbihsKSxpKGwuaXRlbXMsbC5hZGRpdGlvbmFsSXRlbXMsbC5hZGRpdGlvbmFsUHJvcGVydGllcyxsLm5vdCxsLmNvbnRhaW5zLGwucHJvcGVydHlOYW1lcyxsLmlmLGwudGhlbixsLmVsc2UpLHMobC5kZWZpbml0aW9ucyxsLnByb3BlcnRpZXMsbC5wYXR0ZXJuUHJvcGVydGllcyxsLmRlcGVuZGVuY2llcyksYShsLmFueU9mLGwuYWxsT2YsbC5vbmVPZixsLml0ZW1zKSksbD1vLnBvcCgpfSxlLnByb3RvdHlwZS5nZXRTY2hlbWFGcm9tUHJvcGVydHk9ZnVuY3Rpb24odCxuKXt2YXIgcixpO2lmKCgocj1uLnJvb3QpPT09bnVsbHx8cj09PXZvaWQgMD92b2lkIDA6ci50eXBlKT09PSJvYmplY3QiKWZvcih2YXIgcz0wLGE9bi5yb290LnByb3BlcnRpZXM7czxhLmxlbmd0aDtzKyspe3ZhciBvPWFbc107aWYoby5rZXlOb2RlLnZhbHVlPT09IiRzY2hlbWEiJiYoKGk9by52YWx1ZU5vZGUpPT09bnVsbHx8aT09PXZvaWQgMD92b2lkIDA6aS50eXBlKT09PSJzdHJpbmciKXt2YXIgbD1vLnZhbHVlTm9kZS52YWx1ZTtyZXR1cm4gdGhpcy5jb250ZXh0U2VydmljZSYmIS9eXHdbXHdcZCsuLV0qOi8udGVzdChsKSYmKGw9dGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlUmVsYXRpdmVQYXRoKGwsdCkpLGx9fX0sZS5wcm90b3R5cGUuZ2V0QXNzb2NpYXRlZFNjaGVtYXM9ZnVuY3Rpb24odCl7Zm9yKHZhciBuPU9iamVjdC5jcmVhdGUobnVsbCkscj1bXSxpPVh1KHQpLHM9MCxhPXRoaXMuZmlsZVBhdHRlcm5Bc3NvY2lhdGlvbnM7czxhLmxlbmd0aDtzKyspe3ZhciBvPWFbc107aWYoby5tYXRjaGVzUGF0dGVybihpKSlmb3IodmFyIGw9MCx1PW8uZ2V0VVJJcygpO2w8dS5sZW5ndGg7bCsrKXt2YXIgZj11W2xdO25bZl18fChyLnB1c2goZiksbltmXT0hMCl9fXJldHVybiByfSxlLnByb3RvdHlwZS5nZXRTY2hlbWFVUklzRm9yUmVzb3VyY2U9ZnVuY3Rpb24odCxuKXt2YXIgcj1uJiZ0aGlzLmdldFNjaGVtYUZyb21Qcm9wZXJ0eSh0LG4pO3JldHVybiByP1tyXTp0aGlzLmdldEFzc29jaWF0ZWRTY2hlbWFzKHQpfSxlLnByb3RvdHlwZS5nZXRTY2hlbWFGb3JSZXNvdXJjZT1mdW5jdGlvbih0LG4pe2lmKG4pe3ZhciByPXRoaXMuZ2V0U2NoZW1hRnJvbVByb3BlcnR5KHQsbik7aWYocil7dmFyIGk9dHQocik7cmV0dXJuIHRoaXMuZ2V0T3JBZGRTY2hlbWFIYW5kbGUoaSkuZ2V0UmVzb2x2ZWRTY2hlbWEoKX19aWYodGhpcy5jYWNoZWRTY2hlbWFGb3JSZXNvdXJjZSYmdGhpcy5jYWNoZWRTY2hlbWFGb3JSZXNvdXJjZS5yZXNvdXJjZT09PXQpcmV0dXJuIHRoaXMuY2FjaGVkU2NoZW1hRm9yUmVzb3VyY2UucmVzb2x2ZWRTY2hlbWE7dmFyIHM9dGhpcy5nZXRBc3NvY2lhdGVkU2NoZW1hcyh0KSxhPXMubGVuZ3RoPjA/dGhpcy5jcmVhdGVDb21iaW5lZFNjaGVtYSh0LHMpLmdldFJlc29sdmVkU2NoZW1hKCk6dGhpcy5wcm9taXNlLnJlc29sdmUodm9pZCAwKTtyZXR1cm4gdGhpcy5jYWNoZWRTY2hlbWFGb3JSZXNvdXJjZT17cmVzb3VyY2U6dCxyZXNvbHZlZFNjaGVtYTphfSxhfSxlLnByb3RvdHlwZS5jcmVhdGVDb21iaW5lZFNjaGVtYT1mdW5jdGlvbih0LG4pe2lmKG4ubGVuZ3RoPT09MSlyZXR1cm4gdGhpcy5nZXRPckFkZFNjaGVtYUhhbmRsZShuWzBdKTt2YXIgcj0ic2NoZW1hc2VydmljZTovL2NvbWJpbmVkU2NoZW1hLyIrZW5jb2RlVVJJQ29tcG9uZW50KHQpLGk9e2FsbE9mOm4ubWFwKGZ1bmN0aW9uKHMpe3JldHVybnskcmVmOnN9fSl9O3JldHVybiB0aGlzLmFkZFNjaGVtYUhhbmRsZShyLGkpfSxlLnByb3RvdHlwZS5nZXRNYXRjaGluZ1NjaGVtYXM9ZnVuY3Rpb24odCxuLHIpe2lmKHIpe3ZhciBpPXIuaWR8fCJzY2hlbWFzZXJ2aWNlOi8vdW50aXRsZWQvbWF0Y2hpbmdTY2hlbWFzLyIrSnUrKyxzPXRoaXMuYWRkU2NoZW1hSGFuZGxlKGkscik7cmV0dXJuIHMuZ2V0UmVzb2x2ZWRTY2hlbWEoKS50aGVuKGZ1bmN0aW9uKGEpe3JldHVybiBuLmdldE1hdGNoaW5nU2NoZW1hcyhhLnNjaGVtYSkuZmlsdGVyKGZ1bmN0aW9uKG8pe3JldHVybiFvLmludmVydGVkfSl9KX1yZXR1cm4gdGhpcy5nZXRTY2hlbWFGb3JSZXNvdXJjZSh0LnVyaSxuKS50aGVuKGZ1bmN0aW9uKGEpe3JldHVybiBhP24uZ2V0TWF0Y2hpbmdTY2hlbWFzKGEuc2NoZW1hKS5maWx0ZXIoZnVuY3Rpb24obyl7cmV0dXJuIW8uaW52ZXJ0ZWR9KTpbXX0pfSxlfSgpLEp1PTA7ZnVuY3Rpb24gdHQoZSl7dHJ5e3JldHVybiBDdC5wYXJzZShlKS50b1N0cmluZyghMCl9Y2F0Y2h7cmV0dXJuIGV9fWZ1bmN0aW9uIFh1KGUpe3RyeXtyZXR1cm4gQ3QucGFyc2UoZSkud2l0aCh7ZnJhZ21lbnQ6bnVsbCxxdWVyeTpudWxsfSkudG9TdHJpbmcoITApfWNhdGNoe3JldHVybiBlfX1mdW5jdGlvbiBBbihlKXt0cnl7dmFyIHQ9Q3QucGFyc2UoZSk7aWYodC5zY2hlbWU9PT0iZmlsZSIpcmV0dXJuIHQuZnNQYXRofWNhdGNoe31yZXR1cm4gZX1mdW5jdGlvbiBRdShlLHQpe3ZhciBuPVtdLHI9W10saT1bXSxzPS0xLGE9TnQoZS5nZXRUZXh0KCksITEpLG89YS5zY2FuKCk7ZnVuY3Rpb24gbChJKXtuLnB1c2goSSksci5wdXNoKGkubGVuZ3RoKX1mb3IoO28hPT0xNzspe3N3aXRjaChvKXtjYXNlIDE6Y2FzZSAzOnt2YXIgdT1lLnBvc2l0aW9uQXQoYS5nZXRUb2tlbk9mZnNldCgpKS5saW5lLGY9e3N0YXJ0TGluZTp1LGVuZExpbmU6dSxraW5kOm89PT0xPyJvYmplY3QiOiJhcnJheSJ9O2kucHVzaChmKTticmVha31jYXNlIDI6Y2FzZSA0Ont2YXIgaD1vPT09Mj8ib2JqZWN0IjoiYXJyYXkiO2lmKGkubGVuZ3RoPjAmJmlbaS5sZW5ndGgtMV0ua2luZD09PWgpe3ZhciBmPWkucG9wKCksZD1lLnBvc2l0aW9uQXQoYS5nZXRUb2tlbk9mZnNldCgpKS5saW5lO2YmJmQ+Zi5zdGFydExpbmUrMSYmcyE9PWYuc3RhcnRMaW5lJiYoZi5lbmRMaW5lPWQtMSxsKGYpLHM9Zi5zdGFydExpbmUpfWJyZWFrfWNhc2UgMTM6e3ZhciB1PWUucG9zaXRpb25BdChhLmdldFRva2VuT2Zmc2V0KCkpLmxpbmUsZz1lLnBvc2l0aW9uQXQoYS5nZXRUb2tlbk9mZnNldCgpK2EuZ2V0VG9rZW5MZW5ndGgoKSkubGluZTthLmdldFRva2VuRXJyb3IoKT09PTEmJnUrMTxlLmxpbmVDb3VudD9hLnNldFBvc2l0aW9uKGUub2Zmc2V0QXQoUmUuY3JlYXRlKHUrMSwwKSkpOnU8ZyYmKGwoe3N0YXJ0TGluZTp1LGVuZExpbmU6ZyxraW5kOiR0LkNvbW1lbnR9KSxzPXUpO2JyZWFrfWNhc2UgMTI6e3ZhciBtPWUuZ2V0VGV4dCgpLnN1YnN0cihhLmdldFRva2VuT2Zmc2V0KCksYS5nZXRUb2tlbkxlbmd0aCgpKSx2PW0ubWF0Y2goL15cL1wvXHMqIyhyZWdpb25cYil8KGVuZHJlZ2lvblxiKS8pO2lmKHYpe3ZhciBkPWUucG9zaXRpb25BdChhLmdldFRva2VuT2Zmc2V0KCkpLmxpbmU7aWYodlsxXSl7dmFyIGY9e3N0YXJ0TGluZTpkLGVuZExpbmU6ZCxraW5kOiR0LlJlZ2lvbn07aS5wdXNoKGYpfWVsc2V7Zm9yKHZhciBwPWkubGVuZ3RoLTE7cD49MCYmaVtwXS5raW5kIT09JHQuUmVnaW9uOylwLS07aWYocD49MCl7dmFyIGY9aVtwXTtpLmxlbmd0aD1wLGQ+Zi5zdGFydExpbmUmJnMhPT1mLnN0YXJ0TGluZSYmKGYuZW5kTGluZT1kLGwoZikscz1mLnN0YXJ0TGluZSl9fX1icmVha319bz1hLnNjYW4oKX12YXIgeD10JiZ0LnJhbmdlTGltaXQ7aWYodHlwZW9mIHghPSJudW1iZXIifHxuLmxlbmd0aDw9eClyZXR1cm4gbjt0JiZ0Lm9uUmFuZ2VMaW1pdEV4Y2VlZGVkJiZ0Lm9uUmFuZ2VMaW1pdEV4Y2VlZGVkKGUudXJpKTtmb3IodmFyIHk9W10sYj0wLEw9cjtiPEwubGVuZ3RoO2IrKyl7dmFyIFM9TFtiXTtTPDMwJiYoeVtTXT0oeVtTXXx8MCkrMSl9Zm9yKHZhciB3PTAsTj0wLHA9MDtwPHkubGVuZ3RoO3ArKyl7dmFyIEE9eVtwXTtpZihBKXtpZihBK3c+eCl7Tj1wO2JyZWFrfXcrPUF9fWZvcih2YXIgUj1bXSxwPTA7cDxuLmxlbmd0aDtwKyspe3ZhciBTPXJbcF07dHlwZW9mIFM9PSJudW1iZXIiJiYoUzxOfHxTPT09TiYmdysrPHgpJiZSLnB1c2gobltwXSl9cmV0dXJuIFJ9ZnVuY3Rpb24gWnUoZSx0LG4pe2Z1bmN0aW9uIHIobyl7Zm9yKHZhciBsPWUub2Zmc2V0QXQobyksdT1uLmdldE5vZGVGcm9tT2Zmc2V0KGwsITApLGY9W107dTspe3N3aXRjaCh1LnR5cGUpe2Nhc2Uic3RyaW5nIjpjYXNlIm9iamVjdCI6Y2FzZSJhcnJheSI6dmFyIGg9dS5vZmZzZXQrMSxkPXUub2Zmc2V0K3UubGVuZ3RoLTE7aDxkJiZsPj1oJiZsPD1kJiZmLnB1c2goaShoLGQpKSxmLnB1c2goaSh1Lm9mZnNldCx1Lm9mZnNldCt1Lmxlbmd0aCkpO2JyZWFrO2Nhc2UibnVtYmVyIjpjYXNlImJvb2xlYW4iOmNhc2UibnVsbCI6Y2FzZSJwcm9wZXJ0eSI6Zi5wdXNoKGkodS5vZmZzZXQsdS5vZmZzZXQrdS5sZW5ndGgpKTticmVha31pZih1LnR5cGU9PT0icHJvcGVydHkifHx1LnBhcmVudCYmdS5wYXJlbnQudHlwZT09PSJhcnJheSIpe3ZhciBnPWEodS5vZmZzZXQrdS5sZW5ndGgsNSk7ZyE9PS0xJiZmLnB1c2goaSh1Lm9mZnNldCxnKSl9dT11LnBhcmVudH1mb3IodmFyIG09dm9pZCAwLHY9Zi5sZW5ndGgtMTt2Pj0wO3YtLSltPXluLmNyZWF0ZShmW3ZdLG0pO3JldHVybiBtfHwobT15bi5jcmVhdGUoWC5jcmVhdGUobyxvKSkpLG19ZnVuY3Rpb24gaShvLGwpe3JldHVybiBYLmNyZWF0ZShlLnBvc2l0aW9uQXQobyksZS5wb3NpdGlvbkF0KGwpKX12YXIgcz1OdChlLmdldFRleHQoKSwhMCk7ZnVuY3Rpb24gYShvLGwpe3Muc2V0UG9zaXRpb24obyk7dmFyIHU9cy5zY2FuKCk7cmV0dXJuIHU9PT1sP3MuZ2V0VG9rZW5PZmZzZXQoKStzLmdldFRva2VuTGVuZ3RoKCk6LTF9cmV0dXJuIHQubWFwKHIpfWZ1bmN0aW9uIFl1KGUsdCl7dmFyIG49W107cmV0dXJuIHQudmlzaXQoZnVuY3Rpb24ocil7dmFyIGk7aWYoci50eXBlPT09InByb3BlcnR5IiYmci5rZXlOb2RlLnZhbHVlPT09IiRyZWYiJiYoKGk9ci52YWx1ZU5vZGUpPT09bnVsbHx8aT09PXZvaWQgMD92b2lkIDA6aS50eXBlKT09PSJzdHJpbmciKXt2YXIgcz1yLnZhbHVlTm9kZS52YWx1ZSxhPWVjKHQscyk7aWYoYSl7dmFyIG89ZS5wb3NpdGlvbkF0KGEub2Zmc2V0KTtuLnB1c2goe3RhcmdldDoiIi5jb25jYXQoZS51cmksIiMiKS5jb25jYXQoby5saW5lKzEsIiwiKS5jb25jYXQoby5jaGFyYWN0ZXIrMSkscmFuZ2U6S3UoZSxyLnZhbHVlTm9kZSl9KX19cmV0dXJuITB9KSxQcm9taXNlLnJlc29sdmUobil9ZnVuY3Rpb24gS3UoZSx0KXtyZXR1cm4gWC5jcmVhdGUoZS5wb3NpdGlvbkF0KHQub2Zmc2V0KzEpLGUucG9zaXRpb25BdCh0Lm9mZnNldCt0Lmxlbmd0aC0xKSl9ZnVuY3Rpb24gZWMoZSx0KXt2YXIgbj10Yyh0KTtyZXR1cm4gbj9ScihuLGUucm9vdCk6bnVsbH1mdW5jdGlvbiBScihlLHQpe2lmKCF0KXJldHVybiBudWxsO2lmKGUubGVuZ3RoPT09MClyZXR1cm4gdDt2YXIgbj1lLnNoaWZ0KCk7aWYodCYmdC50eXBlPT09Im9iamVjdCIpe3ZhciByPXQucHJvcGVydGllcy5maW5kKGZ1bmN0aW9uKGEpe3JldHVybiBhLmtleU5vZGUudmFsdWU9PT1ufSk7cmV0dXJuIHI/UnIoZSxyLnZhbHVlTm9kZSk6bnVsbH1lbHNlIGlmKHQmJnQudHlwZT09PSJhcnJheSImJm4ubWF0Y2goL14oMHxbMS05XVswLTldKikkLykpe3ZhciBpPU51bWJlci5wYXJzZUludChuKSxzPXQuaXRlbXNbaV07cmV0dXJuIHM/UnIoZSxzKTpudWxsfXJldHVybiBudWxsfWZ1bmN0aW9uIHRjKGUpe3JldHVybiBlPT09IiMiP1tdOmVbMF0hPT0iIyJ8fGVbMV0hPT0iLyI/bnVsbDplLnN1YnN0cmluZygyKS5zcGxpdCgvXC8vKS5tYXAobmMpfWZ1bmN0aW9uIG5jKGUpe3JldHVybiBlLnJlcGxhY2UoL34xL2csIi8iKS5yZXBsYWNlKC9+MC9nLCJ+Iil9ZnVuY3Rpb24gcmMoZSl7dmFyIHQ9ZS5wcm9taXNlQ29uc3RydWN0b3J8fFByb21pc2Usbj1uZXcgR3UoZS5zY2hlbWFSZXF1ZXN0U2VydmljZSxlLndvcmtzcGFjZUNvbnRleHQsdCk7bi5zZXRTY2hlbWFDb250cmlidXRpb25zKGtyKTt2YXIgcj1uZXcgUnUobixlLmNvbnRyaWJ1dGlvbnMsdCxlLmNsaWVudENhcGFiaWxpdGllcyksaT1uZXcgTXUobixlLmNvbnRyaWJ1dGlvbnMsdCkscz1uZXcganUobiksYT1uZXcgRnUobix0KTtyZXR1cm57Y29uZmlndXJlOmZ1bmN0aW9uKG8pe24uY2xlYXJFeHRlcm5hbFNjaGVtYXMoKSxvLnNjaGVtYXMmJm8uc2NoZW1hcy5mb3JFYWNoKGZ1bmN0aW9uKGwpe24ucmVnaXN0ZXJFeHRlcm5hbFNjaGVtYShsLnVyaSxsLmZpbGVNYXRjaCxsLnNjaGVtYSl9KSxhLmNvbmZpZ3VyZShvKX0scmVzZXRTY2hlbWE6ZnVuY3Rpb24obyl7cmV0dXJuIG4ub25SZXNvdXJjZUNoYW5nZShvKX0sZG9WYWxpZGF0aW9uOmEuZG9WYWxpZGF0aW9uLmJpbmQoYSksZ2V0TGFuZ3VhZ2VTdGF0dXM6YS5nZXRMYW5ndWFnZVN0YXR1cy5iaW5kKGEpLHBhcnNlSlNPTkRvY3VtZW50OmZ1bmN0aW9uKG8pe3JldHVybiBFdShvLHtjb2xsZWN0Q29tbWVudHM6ITB9KX0sbmV3SlNPTkRvY3VtZW50OmZ1bmN0aW9uKG8sbCl7cmV0dXJuIGt1KG8sbCl9LGdldE1hdGNoaW5nU2NoZW1hczpuLmdldE1hdGNoaW5nU2NoZW1hcy5iaW5kKG4pLGRvUmVzb2x2ZTpyLmRvUmVzb2x2ZS5iaW5kKHIpLGRvQ29tcGxldGU6ci5kb0NvbXBsZXRlLmJpbmQociksZmluZERvY3VtZW50U3ltYm9sczpzLmZpbmREb2N1bWVudFN5bWJvbHMuYmluZChzKSxmaW5kRG9jdW1lbnRTeW1ib2xzMjpzLmZpbmREb2N1bWVudFN5bWJvbHMyLmJpbmQocyksZmluZERvY3VtZW50Q29sb3JzOnMuZmluZERvY3VtZW50Q29sb3JzLmJpbmQocyksZ2V0Q29sb3JQcmVzZW50YXRpb25zOnMuZ2V0Q29sb3JQcmVzZW50YXRpb25zLmJpbmQocyksZG9Ib3ZlcjppLmRvSG92ZXIuYmluZChpKSxnZXRGb2xkaW5nUmFuZ2VzOlF1LGdldFNlbGVjdGlvblJhbmdlczpadSxmaW5kRGVmaW5pdGlvbjpmdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJlc29sdmUoW10pfSxmaW5kTGlua3M6WXUsZm9ybWF0OmZ1bmN0aW9uKG8sbCx1KXt2YXIgZj12b2lkIDA7aWYobCl7dmFyIGg9by5vZmZzZXRBdChsLnN0YXJ0KSxkPW8ub2Zmc2V0QXQobC5lbmQpLWg7Zj17b2Zmc2V0OmgsbGVuZ3RoOmR9fXZhciBnPXt0YWJTaXplOnU/dS50YWJTaXplOjQsaW5zZXJ0U3BhY2VzOih1PT1udWxsP3ZvaWQgMDp1Lmluc2VydFNwYWNlcyk9PT0hMCxpbnNlcnRGaW5hbE5ld2xpbmU6KHU9PW51bGw/dm9pZCAwOnUuaW5zZXJ0RmluYWxOZXdsaW5lKT09PSEwLGVvbDpgCmB9O3JldHVybiBndShvLmdldFRleHQoKSxmLGcpLm1hcChmdW5jdGlvbihtKXtyZXR1cm4gTWUucmVwbGFjZShYLmNyZWF0ZShvLnBvc2l0aW9uQXQobS5vZmZzZXQpLG8ucG9zaXRpb25BdChtLm9mZnNldCttLmxlbmd0aCkpLG0uY29udGVudCl9KX19fXZhciBBYTt0eXBlb2YgZmV0Y2g8InUiJiYoQWE9ZnVuY3Rpb24oZSl7cmV0dXJuIGZldGNoKGUpLnRoZW4odD0+dC50ZXh0KCkpfSk7dmFyIGljPWNsYXNze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fY3R4PWUsdGhpcy5fbGFuZ3VhZ2VTZXR0aW5ncz10Lmxhbmd1YWdlU2V0dGluZ3MsdGhpcy5fbGFuZ3VhZ2VJZD10Lmxhbmd1YWdlSWQsdGhpcy5fbGFuZ3VhZ2VTZXJ2aWNlPXJjKHt3b3Jrc3BhY2VDb250ZXh0OntyZXNvbHZlUmVsYXRpdmVQYXRoOihuLHIpPT57Y29uc3QgaT1yLnN1YnN0cigwLHIubGFzdEluZGV4T2YoIi8iKSsxKTtyZXR1cm4gb2MoaSxuKX19LHNjaGVtYVJlcXVlc3RTZXJ2aWNlOnQuZW5hYmxlU2NoZW1hUmVxdWVzdD9BYTp2b2lkIDAsY2xpZW50Q2FwYWJpbGl0aWVzOl9yLkxBVEVTVH0pLHRoaXMuX2xhbmd1YWdlU2VydmljZS5jb25maWd1cmUodGhpcy5fbGFuZ3VhZ2VTZXR0aW5ncyl9YXN5bmMgZG9WYWxpZGF0aW9uKGUpe2xldCB0PXRoaXMuX2dldFRleHREb2N1bWVudChlKTtpZih0KXtsZXQgbj10aGlzLl9sYW5ndWFnZVNlcnZpY2UucGFyc2VKU09ORG9jdW1lbnQodCk7cmV0dXJuIHRoaXMuX2xhbmd1YWdlU2VydmljZS5kb1ZhbGlkYXRpb24odCxuLHRoaXMuX2xhbmd1YWdlU2V0dGluZ3MpfXJldHVybiBQcm9taXNlLnJlc29sdmUoW10pfWFzeW5jIGRvQ29tcGxldGUoZSx0KXtsZXQgbj10aGlzLl9nZXRUZXh0RG9jdW1lbnQoZSk7aWYoIW4pcmV0dXJuIG51bGw7bGV0IHI9dGhpcy5fbGFuZ3VhZ2VTZXJ2aWNlLnBhcnNlSlNPTkRvY3VtZW50KG4pO3JldHVybiB0aGlzLl9sYW5ndWFnZVNlcnZpY2UuZG9Db21wbGV0ZShuLHQscil9YXN5bmMgZG9SZXNvbHZlKGUpe3JldHVybiB0aGlzLl9sYW5ndWFnZVNlcnZpY2UuZG9SZXNvbHZlKGUpfWFzeW5jIGRvSG92ZXIoZSx0KXtsZXQgbj10aGlzLl9nZXRUZXh0RG9jdW1lbnQoZSk7aWYoIW4pcmV0dXJuIG51bGw7bGV0IHI9dGhpcy5fbGFuZ3VhZ2VTZXJ2aWNlLnBhcnNlSlNPTkRvY3VtZW50KG4pO3JldHVybiB0aGlzLl9sYW5ndWFnZVNlcnZpY2UuZG9Ib3ZlcihuLHQscil9YXN5bmMgZm9ybWF0KGUsdCxuKXtsZXQgcj10aGlzLl9nZXRUZXh0RG9jdW1lbnQoZSk7aWYoIXIpcmV0dXJuW107bGV0IGk9dGhpcy5fbGFuZ3VhZ2VTZXJ2aWNlLmZvcm1hdChyLHQsbik7cmV0dXJuIFByb21pc2UucmVzb2x2ZShpKX1hc3luYyByZXNldFNjaGVtYShlKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2xhbmd1YWdlU2VydmljZS5yZXNldFNjaGVtYShlKSl9YXN5bmMgZmluZERvY3VtZW50U3ltYm9scyhlKXtsZXQgdD10aGlzLl9nZXRUZXh0RG9jdW1lbnQoZSk7aWYoIXQpcmV0dXJuW107bGV0IG49dGhpcy5fbGFuZ3VhZ2VTZXJ2aWNlLnBhcnNlSlNPTkRvY3VtZW50KHQpLHI9dGhpcy5fbGFuZ3VhZ2VTZXJ2aWNlLmZpbmREb2N1bWVudFN5bWJvbHMyKHQsbik7cmV0dXJuIFByb21pc2UucmVzb2x2ZShyKX1hc3luYyBmaW5kRG9jdW1lbnRDb2xvcnMoZSl7bGV0IHQ9dGhpcy5fZ2V0VGV4dERvY3VtZW50KGUpO2lmKCF0KXJldHVybltdO2xldCBuPXRoaXMuX2xhbmd1YWdlU2VydmljZS5wYXJzZUpTT05Eb2N1bWVudCh0KSxyPXRoaXMuX2xhbmd1YWdlU2VydmljZS5maW5kRG9jdW1lbnRDb2xvcnModCxuKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHIpfWFzeW5jIGdldENvbG9yUHJlc2VudGF0aW9ucyhlLHQsbil7bGV0IHI9dGhpcy5fZ2V0VGV4dERvY3VtZW50KGUpO2lmKCFyKXJldHVybltdO2xldCBpPXRoaXMuX2xhbmd1YWdlU2VydmljZS5wYXJzZUpTT05Eb2N1bWVudChyKSxzPXRoaXMuX2xhbmd1YWdlU2VydmljZS5nZXRDb2xvclByZXNlbnRhdGlvbnMocixpLHQsbik7cmV0dXJuIFByb21pc2UucmVzb2x2ZShzKX1hc3luYyBnZXRGb2xkaW5nUmFuZ2VzKGUsdCl7bGV0IG49dGhpcy5fZ2V0VGV4dERvY3VtZW50KGUpO2lmKCFuKXJldHVybltdO2xldCByPXRoaXMuX2xhbmd1YWdlU2VydmljZS5nZXRGb2xkaW5nUmFuZ2VzKG4sdCk7cmV0dXJuIFByb21pc2UucmVzb2x2ZShyKX1hc3luYyBnZXRTZWxlY3Rpb25SYW5nZXMoZSx0KXtsZXQgbj10aGlzLl9nZXRUZXh0RG9jdW1lbnQoZSk7aWYoIW4pcmV0dXJuW107bGV0IHI9dGhpcy5fbGFuZ3VhZ2VTZXJ2aWNlLnBhcnNlSlNPTkRvY3VtZW50KG4pLGk9dGhpcy5fbGFuZ3VhZ2VTZXJ2aWNlLmdldFNlbGVjdGlvblJhbmdlcyhuLHQscik7cmV0dXJuIFByb21pc2UucmVzb2x2ZShpKX1hc3luYyBwYXJzZUpTT05Eb2N1bWVudChlKXtsZXQgdD10aGlzLl9nZXRUZXh0RG9jdW1lbnQoZSk7aWYoIXQpcmV0dXJuIG51bGw7bGV0IG49dGhpcy5fbGFuZ3VhZ2VTZXJ2aWNlLnBhcnNlSlNPTkRvY3VtZW50KHQpO3JldHVybiBQcm9taXNlLnJlc29sdmUobil9YXN5bmMgZ2V0TWF0Y2hpbmdTY2hlbWFzKGUpe2xldCB0PXRoaXMuX2dldFRleHREb2N1bWVudChlKTtpZighdClyZXR1cm5bXTtsZXQgbj10aGlzLl9sYW5ndWFnZVNlcnZpY2UucGFyc2VKU09ORG9jdW1lbnQodCk7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl9sYW5ndWFnZVNlcnZpY2UuZ2V0TWF0Y2hpbmdTY2hlbWFzKHQsbikpfV9nZXRUZXh0RG9jdW1lbnQoZSl7bGV0IHQ9dGhpcy5fY3R4LmdldE1pcnJvck1vZGVscygpO2ZvcihsZXQgbiBvZiB0KWlmKG4udXJpLnRvU3RyaW5nKCk9PT1lKXJldHVybiB4ci5jcmVhdGUoZSx0aGlzLl9sYW5ndWFnZUlkLG4udmVyc2lvbixuLmdldFZhbHVlKCkpO3JldHVybiBudWxsfX0sc2M9NDcsTXI9NDY7ZnVuY3Rpb24gYWMoZSl7cmV0dXJuIGUuY2hhckNvZGVBdCgwKT09PXNjfWZ1bmN0aW9uIG9jKGUsdCl7aWYoYWModCkpe2NvbnN0IG49Q3QucGFyc2UoZSkscj10LnNwbGl0KCIvIik7cmV0dXJuIG4ud2l0aCh7cGF0aDpDYShyKX0pLnRvU3RyaW5nKCl9cmV0dXJuIGxjKGUsdCl9ZnVuY3Rpb24gQ2EoZSl7Y29uc3QgdD1bXTtmb3IoY29uc3QgciBvZiBlKXIubGVuZ3RoPT09MHx8ci5sZW5ndGg9PT0xJiZyLmNoYXJDb2RlQXQoMCk9PT1Ncnx8KHIubGVuZ3RoPT09MiYmci5jaGFyQ29kZUF0KDApPT09TXImJnIuY2hhckNvZGVBdCgxKT09PU1yP3QucG9wKCk6dC5wdXNoKHIpKTtlLmxlbmd0aD4xJiZlW2UubGVuZ3RoLTFdLmxlbmd0aD09PTAmJnQucHVzaCgiIik7bGV0IG49dC5qb2luKCIvIik7cmV0dXJuIGVbMF0ubGVuZ3RoPT09MCYmKG49Ii8iK24pLG59ZnVuY3Rpb24gbGMoZSwuLi50KXtjb25zdCBuPUN0LnBhcnNlKGUpLHI9bi5wYXRoLnNwbGl0KCIvIik7Zm9yKGxldCBpIG9mIHQpci5wdXNoKC4uLmkuc3BsaXQoIi8iKSk7cmV0dXJuIG4ud2l0aCh7cGF0aDpDYShyKX0pLnRvU3RyaW5nKCl9c2VsZi5vbm1lc3NhZ2U9KCk9PntQcygoZSx0KT0+bmV3IGljKGUsdCkpfX0pKCk7Cg==",eGt=n=>Uint8Array.from(atob(n),e=>e.charCodeAt(0)),sDe=typeof window<"u"&&window.Blob&&new Blob([eGt(oDe)],{type:"text/javascript;charset=utf-8"});function tGt(n){let e;try{if(e=sDe&&(window.URL||window.webkitURL).createObjectURL(sDe),!e)throw"";const t=new Worker(e,{name:n==null?void 0:n.name});return t.addEventListener("error",()=>{(window.URL||window.webkitURL).revokeObjectURL(e)}),t}catch{return new Worker("data:text/javascript;base64,"+oDe,{name:n==null?void 0:n.name})}finally{e&&(window.URL||window.webkitURL).revokeObjectURL(e)}}var nGt=class{constructor(n,e,t){this._onDidChange=new tDe,this._languageId=n,this.setDiagnosticsOptions(e),this.setModeConfiguration(t)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(n){this._diagnosticsOptions=n||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(n){this._modeConfiguration=n||Object.create(null),this._onDidChange.fire(this)}},iGt={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},rGt={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},aDe=new nGt("json",iGt,rGt),oGt=()=>lDe().then(n=>n.getWorker());tG.json={jsonDefaults:aDe,getWorker:oGt};function lDe(){return Promise.resolve().then(()=>HYt)}tG.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]}),tG.onLanguage("json",()=>{lDe().then(n=>n.setupMode(aDe))}),self.MonacoEnvironment={getWorker(n,e){return e==="json"?new tGt:new qAt}},SH.config({monaco:nDe});function sGt(n){const e=n.value?JSON.stringify(n.value,null,4):"{}";return se(gbe,{height:"300px",theme:"vs-dark",defaultLanguage:"json",value:e,onChange:t=>{if(!t)return n.onChange(null);try{const i=JSON.parse(t);i&&n.onChange(i)}catch{}},onMount:(t,i)=>{try{i.languages.json.jsonDefaults.setDiagnosticsOptions({validate:!0,schemas:[{uri:"https://json.schemastore.org/schema",fileMatch:["*"],schema:n.schema}]})}catch{}}})}const aGt={path:"URL Path",header:"Header",query:"Query",body:"Body",cookie:"Cookie",formData:"Form Data"};function lGt(n){return{"&:before":{content:JSON.stringify({path:"/",header:"H",query:"?",body:"{}",cookie:"*",formData:"[]"}[n])}}}function uDe({position:n}){const e=lo();return se("span",{css:ON({position:"relative",display:"inline-block",textAlign:"center",borderRadius:2,width:"1.2em",height:"1.5em",lineHeight:"1.3em",bottom:"0.1em",padding:1,backgroundColor:e.color.title,color:e.color.bg,fontSize:"0.8em",marginRight:"0.5em",...lGt(n)},"","")})}function uGt({children:n,required:e}){const t=lo();return se("div",{css:[{color:t.color.title,whiteSpace:"nowrap"},e?{position:"relative",fontWeight:"bold","&:after":{content:'"*"',color:t.color.danger,position:"absolute",top:"15%",marginLeft:1}}:null,"",""],children:n})}function Yk(n){const{schema:e,fieldLabel:t,fieldDesc:i,schemas:r,children:o}=n;return Gt("div",{style:{fontSize:Xi.fontSize.xs},children:[Gt("div",{children:[Gt("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:6},children:[t,i]}),se("div",{children:o})]}),e&&(XF(e)||PF(e))&&se(zpe,{schema:e,schemas:r})]})}var cGt={name:"1886p9b",styles:"width:100%;display:flex;& [role=input]{flex:1;}& [role=btn]{width:2em;display:flex;justify-content:center;cursor:pointer;opacity:0.6;padding-top:10px;}& + &{margin-top:6px;}"};function cDe({children:n}){return se("div",{css:cGt,children:n})}function dDe(n,e){return xo(n,t=>({label:`${e[t]||" "} ${t}`,value:t}))}function J$(n){return n&&(n.type==="file"||n.type==="string"&&n.format==="binary")}function dGt(n){return Iu(Sc(n.name),"time")||Iu(Sc(n.name),"date")||Iu(n.description,"时间")||Iu(n.description,"日期")}function hDe({schema:n,...e}){const t=lo(),i=PF(n),r=aS(n)+wZ(n)+SZ(n);if(n.enum){const o=pH(n);return se(mw,{...e,allowClear:!0,placeholder:r,options:dDe(n.enum,o)})}return n.type==="boolean"?se(mw,{...e,allowClear:!0,placeholder:r,options:[{label:"true",value:!0},{label:"false",value:!1}]}):n.type==="integer"||n.type==="number"?se(zle,{...e,style:{width:"100%"},placeholder:r,min:0,changeOnWheel:!1,controls:!1}):J$(n)||i&&J$(n.items)?se(GO,{...e,multiple:i,maxCount:i?void 0:1,fileList:i?e.value:e.value?[e.value]:[],onChange:o=>{e.onChange(i?o.fileList:o.file)},beforeUpload:()=>!1,children:se(jr,{css:[uZ(),{"&:hover path":{fill:t.color.primary}},"",""],icon:se(EB,{fill:t.color.menuItem}),children:r||"Upload"})}):se(hh,{...e,allowClear:!0,placeholder:r,onChange:o=>e.onChange(o.target.value)})}function hGt({schema:n,...e}){const t=aS(n)+wZ(n)+SZ(n),i=pH(n);return se(mw,{...e,allowClear:!0,mode:"multiple",placeholder:t,options:dDe(n.enum,i)})}function mGt({schema:n,isUnix:e,...t}){const i=aS(n)+wZ(n)+SZ(n),r=(o,s)=>{t.onChange(e?o==null?void 0:o.unix():s)};return se(eue,{allowClear:!0,style:{width:"100%"},placeholder:i,showTime:{showNow:!0,defaultValue:Eo("00:00:00","HH:mm:ss")},value:t.value?e?Eo.unix(t.value):Eo(t.value):void 0,onChange:r})}const j$=({schemas:n,parameter:e,...t})=>{var u;const i=lo(),r=Wm(e.schema||e,n),o=PF(r),s={value:o?t.value?[].concat(t.value):[]:t.value,onChange:t.onChange?t.onChange:()=>{}},a=Gt(uGt,{required:e.required,children:[se(uDe,{position:e.in}),e.name]}),l=se(Bpe,{desc:e.description||r.description||"",ishighLightDesc:!0,isBreakWord:!0});if(XF(r)||o&&XF(r.items))return se(Yk,{schema:r,schemas:n,fieldLabel:a,fieldDesc:l,children:se(sGt,{...s,schema:r})});if(o){const c=!!((u=r.items)!=null&&u.enum),d=J$(r.items);return c?se(Yk,{schema:r,schemas:n,fieldLabel:a,fieldDesc:l,children:se(hGt,{...s,schema:r.items})}):(d&&Is(s.value)&&(s.value=[null]),Gt(Yk,{schema:r,schemas:n,fieldLabel:a,fieldDesc:l,children:[xo(s.value,(h,m)=>Gt(cDe,{children:[se("span",{role:"input",children:se(hDe,{...s,schema:r.items,value:h,onChange:f=>{s.onChange(xo(s.value,(g,b)=>m===b?f:g))}})}),se("a",{role:"btn",onClick:()=>{s.onChange(wb(s.value,(f,g)=>m!==g))},children:se(WB,{fill:i.color.text})})]},m)),se(cDe,{children:Gt(jr,{size:"small",css:[uZ(),{"&:hover path":{fill:i.color.primary}},"",""],onClick:()=>{s.onChange(s.value.concat(null))},children:["   ",se(ZB,{fill:i.color.menuItem}),"   "]})})]}))}else if(dGt(e)){const c=(e==null?void 0:e.schema).type;return se(Yk,{schema:r,schemas:n,fieldLabel:a,fieldDesc:l,children:se(mGt,{...s,schema:r,isUnix:c==="integer"||c==="number"})})}return se(Yk,{schema:r,schemas:n,fieldLabel:a,fieldDesc:l,children:se(hDe,{...s,schema:r})})};var fGt=[{name:"Aegean Airlines",iataCode:"A3"},{name:"Aeroflot",iataCode:"SU"},{name:"Aerolineas Argentinas",iataCode:"AR"},{name:"Aeromexico",iataCode:"AM"},{name:"Air Algerie",iataCode:"AH"},{name:"Air Arabia",iataCode:"G9"},{name:"Air Canada",iataCode:"AC"},{name:"Air China",iataCode:"CA"},{name:"Air Europa",iataCode:"UX"},{name:"Air France-KLM",iataCode:"AF"},{name:"Air India",iataCode:"AI"},{name:"Air Mauritius",iataCode:"MK"},{name:"Air New Zealand",iataCode:"NZ"},{name:"Air Niugini",iataCode:"PX"},{name:"Air Tahiti",iataCode:"VT"},{name:"Air Tahiti Nui",iataCode:"TN"},{name:"Air Transat",iataCode:"TS"},{name:"AirAsia X",iataCode:"D7"},{name:"AirAsia",iataCode:"AK"},{name:"Aircalin",iataCode:"SB"},{name:"Alaska Airlines",iataCode:"AS"},{name:"Alitalia",iataCode:"AZ"},{name:"All Nippon Airways",iataCode:"NH"},{name:"Allegiant Air",iataCode:"G4"},{name:"American Airlines",iataCode:"AA"},{name:"Asiana Airlines",iataCode:"OZ"},{name:"Avianca",iataCode:"AV"},{name:"Azul Linhas Aereas Brasileiras",iataCode:"AD"},{name:"Azur Air",iataCode:"ZF"},{name:"Beijing Capital Airlines",iataCode:"JD"},{name:"Boliviana de Aviacion",iataCode:"OB"},{name:"British Airways",iataCode:"BA"},{name:"Cathay Pacific",iataCode:"CX"},{name:"Cebu Pacific Air",iataCode:"5J"},{name:"China Airlines",iataCode:"CI"},{name:"China Eastern Airlines",iataCode:"MU"},{name:"China Southern Airlines",iataCode:"CZ"},{name:"Condor",iataCode:"DE"},{name:"Copa Airlines",iataCode:"CM"},{name:"Delta Air Lines",iataCode:"DL"},{name:"Easyfly",iataCode:"VE"},{name:"EasyJet",iataCode:"U2"},{name:"EcoJet",iataCode:"8J"},{name:"Egyptair",iataCode:"MS"},{name:"El Al",iataCode:"LY"},{name:"Emirates Airlines",iataCode:"EK"},{name:"Ethiopian Airlines",iataCode:"ET"},{name:"Etihad Airways",iataCode:"EY"},{name:"EVA Air",iataCode:"BR"},{name:"Fiji Airways",iataCode:"FJ"},{name:"Finnair",iataCode:"AY"},{name:"Flybondi",iataCode:"FO"},{name:"Flydubai",iataCode:"FZ"},{name:"FlySafair",iataCode:"FA"},{name:"Frontier Airlines",iataCode:"F9"},{name:"Garuda Indonesia",iataCode:"GA"},{name:"Go First",iataCode:"G8"},{name:"Gol Linhas Aereas Inteligentes",iataCode:"G3"},{name:"Hainan Airlines",iataCode:"HU"},{name:"Hawaiian Airlines",iataCode:"HA"},{name:"IndiGo Airlines",iataCode:"6E"},{name:"Japan Airlines",iataCode:"JL"},{name:"Jeju Air",iataCode:"7C"},{name:"Jet2",iataCode:"LS"},{name:"JetBlue Airways",iataCode:"B6"},{name:"JetSMART",iataCode:"JA"},{name:"Juneyao Airlines",iataCode:"HO"},{name:"Kenya Airways",iataCode:"KQ"},{name:"Korean Air",iataCode:"KE"},{name:"Kulula.com",iataCode:"MN"},{name:"LATAM Airlines",iataCode:"LA"},{name:"Lion Air",iataCode:"JT"},{name:"LOT Polish Airlines",iataCode:"LO"},{name:"Lufthansa",iataCode:"LH"},{name:"Libyan Airlines",iataCode:"LN"},{name:"Linea Aerea Amaszonas",iataCode:"Z8"},{name:"Malaysia Airlines",iataCode:"MH"},{name:"Nordwind Airlines",iataCode:"N4"},{name:"Norwegian Air Shuttle",iataCode:"DY"},{name:"Oman Air",iataCode:"WY"},{name:"Pakistan International Airlines",iataCode:"PK"},{name:"Pegasus Airlines",iataCode:"PC"},{name:"Philippine Airlines",iataCode:"PR"},{name:"Qantas Group",iataCode:"QF"},{name:"Qatar Airways",iataCode:"QR"},{name:"Republic Airways",iataCode:"YX"},{name:"Royal Air Maroc",iataCode:"AT"},{name:"Ryanair",iataCode:"FR"},{name:"S7 Airlines",iataCode:"S7"},{name:"SAS",iataCode:"SK"},{name:"Satena",iataCode:"9R"},{name:"Saudia",iataCode:"SV"},{name:"Shandong Airlines",iataCode:"SC"},{name:"Sichuan Airlines",iataCode:"3U"},{name:"Singapore Airlines",iataCode:"SQ"},{name:"Sky Airline",iataCode:"H2"},{name:"SkyWest Airlines",iataCode:"OO"},{name:"South African Airways",iataCode:"SA"},{name:"Southwest Airlines",iataCode:"WN"},{name:"SpiceJet",iataCode:"SG"},{name:"Spirit Airlines",iataCode:"NK"},{name:"Spring Airlines",iataCode:"9S"},{name:"SriLankan Airlines",iataCode:"UL"},{name:"Star Peru",iataCode:"2I"},{name:"Sun Country Airlines",iataCode:"SY"},{name:"SunExpress",iataCode:"XQ"},{name:"TAP Air Portugal",iataCode:"TP"},{name:"Thai AirAsia",iataCode:"FD"},{name:"Thai Airways",iataCode:"TG"},{name:"TUI Airways",iataCode:"BY"},{name:"Tunisair",iataCode:"TU"},{name:"Turkish Airlines",iataCode:"TK"},{name:"Ukraine International",iataCode:"PS"},{name:"United Airlines",iataCode:"UA"},{name:"Ural Airlines",iataCode:"U6"},{name:"VietJet Air",iataCode:"VJ"},{name:"Vietnam Airlines",iataCode:"VN"},{name:"Virgin Atlantic Airways",iataCode:"VS"},{name:"Virgin Australia",iataCode:"VA"},{name:"VivaAerobus",iataCode:"VB"},{name:"VOEPASS Linhas Aereas",iataCode:"2Z"},{name:"Volaris",iataCode:"Y4"},{name:"WestJet",iataCode:"WS"},{name:"Wingo",iataCode:"P5"},{name:"Wizz Air",iataCode:"W6"}],gGt=[{name:"Aerospatiale/BAC Concorde",iataTypeCode:"SSC"},{name:"Airbus A300",iataTypeCode:"AB3"},{name:"Airbus A310",iataTypeCode:"310"},{name:"Airbus A310-200",iataTypeCode:"312"},{name:"Airbus A310-300",iataTypeCode:"313"},{name:"Airbus A318",iataTypeCode:"318"},{name:"Airbus A319",iataTypeCode:"319"},{name:"Airbus A319neo",iataTypeCode:"31N"},{name:"Airbus A320",iataTypeCode:"320"},{name:"Airbus A320neo",iataTypeCode:"32N"},{name:"Airbus A321",iataTypeCode:"321"},{name:"Airbus A321neo",iataTypeCode:"32Q"},{name:"Airbus A330",iataTypeCode:"330"},{name:"Airbus A330-200",iataTypeCode:"332"},{name:"Airbus A330-300",iataTypeCode:"333"},{name:"Airbus A330-800neo",iataTypeCode:"338"},{name:"Airbus A330-900neo",iataTypeCode:"339"},{name:"Airbus A340",iataTypeCode:"340"},{name:"Airbus A340-200",iataTypeCode:"342"},{name:"Airbus A340-300",iataTypeCode:"343"},{name:"Airbus A340-500",iataTypeCode:"345"},{name:"Airbus A340-600",iataTypeCode:"346"},{name:"Airbus A350",iataTypeCode:"350"},{name:"Airbus A350-900",iataTypeCode:"359"},{name:"Airbus A350-1000",iataTypeCode:"351"},{name:"Airbus A380",iataTypeCode:"380"},{name:"Airbus A380-800",iataTypeCode:"388"},{name:"Antonov An-12",iataTypeCode:"ANF"},{name:"Antonov An-24",iataTypeCode:"AN4"},{name:"Antonov An-26",iataTypeCode:"A26"},{name:"Antonov An-28",iataTypeCode:"A28"},{name:"Antonov An-30",iataTypeCode:"A30"},{name:"Antonov An-32",iataTypeCode:"A32"},{name:"Antonov An-72",iataTypeCode:"AN7"},{name:"Antonov An-124 Ruslan",iataTypeCode:"A4F"},{name:"Antonov An-140",iataTypeCode:"A40"},{name:"Antonov An-148",iataTypeCode:"A81"},{name:"Antonov An-158",iataTypeCode:"A58"},{name:"Antonov An-225 Mriya",iataTypeCode:"A5F"},{name:"Boeing 707",iataTypeCode:"703"},{name:"Boeing 717",iataTypeCode:"717"},{name:"Boeing 720B",iataTypeCode:"B72"},{name:"Boeing 727",iataTypeCode:"727"},{name:"Boeing 727-100",iataTypeCode:"721"},{name:"Boeing 727-200",iataTypeCode:"722"},{name:"Boeing 737 MAX 7",iataTypeCode:"7M7"},{name:"Boeing 737 MAX 8",iataTypeCode:"7M8"},{name:"Boeing 737 MAX 9",iataTypeCode:"7M9"},{name:"Boeing 737 MAX 10",iataTypeCode:"7MJ"},{name:"Boeing 737",iataTypeCode:"737"},{name:"Boeing 737-100",iataTypeCode:"731"},{name:"Boeing 737-200",iataTypeCode:"732"},{name:"Boeing 737-300",iataTypeCode:"733"},{name:"Boeing 737-400",iataTypeCode:"734"},{name:"Boeing 737-500",iataTypeCode:"735"},{name:"Boeing 737-600",iataTypeCode:"736"},{name:"Boeing 737-700",iataTypeCode:"73G"},{name:"Boeing 737-800",iataTypeCode:"738"},{name:"Boeing 737-900",iataTypeCode:"739"},{name:"Boeing 747",iataTypeCode:"747"},{name:"Boeing 747-100",iataTypeCode:"741"},{name:"Boeing 747-200",iataTypeCode:"742"},{name:"Boeing 747-300",iataTypeCode:"743"},{name:"Boeing 747-400",iataTypeCode:"744"},{name:"Boeing 747-400D",iataTypeCode:"74J"},{name:"Boeing 747-8",iataTypeCode:"748"},{name:"Boeing 747SP",iataTypeCode:"74L"},{name:"Boeing 747SR",iataTypeCode:"74R"},{name:"Boeing 757",iataTypeCode:"757"},{name:"Boeing 757-200",iataTypeCode:"752"},{name:"Boeing 757-300",iataTypeCode:"753"},{name:"Boeing 767",iataTypeCode:"767"},{name:"Boeing 767-200",iataTypeCode:"762"},{name:"Boeing 767-300",iataTypeCode:"763"},{name:"Boeing 767-400",iataTypeCode:"764"},{name:"Boeing 777",iataTypeCode:"777"},{name:"Boeing 777-200",iataTypeCode:"772"},{name:"Boeing 777-200LR",iataTypeCode:"77L"},{name:"Boeing 777-300",iataTypeCode:"773"},{name:"Boeing 777-300ER",iataTypeCode:"77W"},{name:"Boeing 787",iataTypeCode:"787"},{name:"Boeing 787-8",iataTypeCode:"788"},{name:"Boeing 787-9",iataTypeCode:"789"},{name:"Boeing 787-10",iataTypeCode:"781"},{name:"Canadair Challenger",iataTypeCode:"CCJ"},{name:"Canadair CL-44",iataTypeCode:"CL4"},{name:"Canadair Regional Jet 100",iataTypeCode:"CR1"},{name:"Canadair Regional Jet 200",iataTypeCode:"CR2"},{name:"Canadair Regional Jet 700",iataTypeCode:"CR7"},{name:"Canadair Regional Jet 705",iataTypeCode:"CRA"},{name:"Canadair Regional Jet 900",iataTypeCode:"CR9"},{name:"Canadair Regional Jet 1000",iataTypeCode:"CRK"},{name:"De Havilland Canada DHC-2 Beaver",iataTypeCode:"DHP"},{name:"De Havilland Canada DHC-2 Turbo-Beaver",iataTypeCode:"DHR"},{name:"De Havilland Canada DHC-3 Otter",iataTypeCode:"DHL"},{name:"De Havilland Canada DHC-4 Caribou",iataTypeCode:"DHC"},{name:"De Havilland Canada DHC-6 Twin Otter",iataTypeCode:"DHT"},{name:"De Havilland Canada DHC-7 Dash 7",iataTypeCode:"DH7"},{name:"De Havilland Canada DHC-8-100 Dash 8 / 8Q",iataTypeCode:"DH1"},{name:"De Havilland Canada DHC-8-200 Dash 8 / 8Q",iataTypeCode:"DH2"},{name:"De Havilland Canada DHC-8-300 Dash 8 / 8Q",iataTypeCode:"DH3"},{name:"De Havilland Canada DHC-8-400 Dash 8Q",iataTypeCode:"DH4"},{name:"De Havilland DH.104 Dove",iataTypeCode:"DHD"},{name:"De Havilland DH.114 Heron",iataTypeCode:"DHH"},{name:"Douglas DC-3",iataTypeCode:"D3F"},{name:"Douglas DC-6",iataTypeCode:"D6F"},{name:"Douglas DC-8-50",iataTypeCode:"D8T"},{name:"Douglas DC-8-62",iataTypeCode:"D8L"},{name:"Douglas DC-8-72",iataTypeCode:"D8Q"},{name:"Douglas DC-9-10",iataTypeCode:"D91"},{name:"Douglas DC-9-20",iataTypeCode:"D92"},{name:"Douglas DC-9-30",iataTypeCode:"D93"},{name:"Douglas DC-9-40",iataTypeCode:"D94"},{name:"Douglas DC-9-50",iataTypeCode:"D95"},{name:"Douglas DC-10",iataTypeCode:"D10"},{name:"Douglas DC-10-10",iataTypeCode:"D1X"},{name:"Douglas DC-10-30",iataTypeCode:"D1Y"},{name:"Embraer 170",iataTypeCode:"E70"},{name:"Embraer 175",iataTypeCode:"E75"},{name:"Embraer 190",iataTypeCode:"E90"},{name:"Embraer 195",iataTypeCode:"E95"},{name:"Embraer E190-E2",iataTypeCode:"290"},{name:"Embraer E195-E2",iataTypeCode:"295"},{name:"Embraer EMB.110 Bandeirante",iataTypeCode:"EMB"},{name:"Embraer EMB.120 Brasilia",iataTypeCode:"EM2"},{name:"Embraer Legacy 600",iataTypeCode:"ER3"},{name:"Embraer Phenom 100",iataTypeCode:"EP1"},{name:"Embraer Phenom 300",iataTypeCode:"EP3"},{name:"Embraer RJ135",iataTypeCode:"ER3"},{name:"Embraer RJ140",iataTypeCode:"ERD"},{name:"Embraer RJ145 Amazon",iataTypeCode:"ER4"},{name:"Ilyushin IL18",iataTypeCode:"IL8"},{name:"Ilyushin IL62",iataTypeCode:"IL6"},{name:"Ilyushin IL76",iataTypeCode:"IL7"},{name:"Ilyushin IL86",iataTypeCode:"ILW"},{name:"Ilyushin IL96-300",iataTypeCode:"I93"},{name:"Ilyushin IL114",iataTypeCode:"I14"},{name:"Lockheed L-182 / 282 / 382 (L-100) Hercules",iataTypeCode:"LOH"},{name:"Lockheed L-188 Electra",iataTypeCode:"LOE"},{name:"Lockheed L-1011 Tristar",iataTypeCode:"L10"},{name:"Lockheed L-1049 Super Constellation",iataTypeCode:"L49"},{name:"McDonnell Douglas MD11",iataTypeCode:"M11"},{name:"McDonnell Douglas MD80",iataTypeCode:"M80"},{name:"McDonnell Douglas MD81",iataTypeCode:"M81"},{name:"McDonnell Douglas MD82",iataTypeCode:"M82"},{name:"McDonnell Douglas MD83",iataTypeCode:"M83"},{name:"McDonnell Douglas MD87",iataTypeCode:"M87"},{name:"McDonnell Douglas MD88",iataTypeCode:"M88"},{name:"McDonnell Douglas MD90",iataTypeCode:"M90"},{name:"Sukhoi Superjet 100-95",iataTypeCode:"SU9"},{name:"Tupolev Tu-134",iataTypeCode:"TU3"},{name:"Tupolev Tu-154",iataTypeCode:"TU5"},{name:"Tupolev Tu-204",iataTypeCode:"T20"},{name:"Yakovlev Yak-40",iataTypeCode:"YK4"},{name:"Yakovlev Yak-42",iataTypeCode:"YK2"}],pGt=[{name:"Adelaide International Airport",iataCode:"ADL"},{name:"Adolfo Suarez Madrid-Barajas Airport",iataCode:"MAD"},{name:"Aeroparque Jorge Newbery Airport",iataCode:"AEP"},{name:"Afonso Pena International Airport",iataCode:"CWB"},{name:"Alfonso Bonilla Aragon International Airport",iataCode:"CLO"},{name:"Amsterdam Airport Schiphol",iataCode:"AMS"},{name:"Arturo Merino Benitez International Airport",iataCode:"SCL"},{name:"Auckland International Airport",iataCode:"AKL"},{name:"Beijing Capital International Airport",iataCode:"PEK"},{name:"Belem Val de Cans International Airport",iataCode:"BEL"},{name:"Belo Horizonte Tancredo Neves International Airport",iataCode:"CNF"},{name:"Berlin-Tegel Airport",iataCode:"TXL"},{name:"Bole International Airport",iataCode:"ADD"},{name:"Brasilia-Presidente Juscelino Kubitschek International Airport",iataCode:"BSB"},{name:"Brisbane International Airport",iataCode:"BNE"},{name:"Brussels Airport",iataCode:"BRU"},{name:"Cairns Airport",iataCode:"CNS"},{name:"Cairo International Airport",iataCode:"CAI"},{name:"Canberra Airport",iataCode:"CBR"},{name:"Capetown International Airport",iataCode:"CPT"},{name:"Charles de Gaulle International Airport",iataCode:"CDG"},{name:"Charlotte Douglas International Airport",iataCode:"CLT"},{name:"Chengdu Shuangliu International Airport",iataCode:"CTU"},{name:"Chhatrapati Shivaji International Airport",iataCode:"BOM"},{name:"Chicago O'Hare International Airport",iataCode:"ORD"},{name:"Chongqing Jiangbei International Airport",iataCode:"CKG"},{name:"Christchurch International Airport",iataCode:"CHC"},{name:"Copenhagen Kastrup Airport",iataCode:"CPH"},{name:"Dallas Fort Worth International Airport",iataCode:"DFW"},{name:"Daniel K. Inouye International Airport",iataCode:"HNL"},{name:"Denver International Airport",iataCode:"DEN"},{name:"Don Mueang International Airport",iataCode:"DMK"},{name:"Dubai International Airport",iataCode:"DXB"},{name:"Dublin Airport",iataCode:"DUB"},{name:"Dusseldorf Airport",iataCode:"DUS"},{name:"El Dorado International Airport",iataCode:"BOG"},{name:"Eleftherios Venizelos International Airport",iataCode:"ATH"},{name:"Faa'a International Airport",iataCode:"PPT"},{name:"Fort Lauderdale Hollywood International Airport",iataCode:"FLL"},{name:"Fortaleza Pinto Martins International Airport",iataCode:"FOR"},{name:"Frankfurt am Main Airport",iataCode:"FRA"},{name:"George Bush Intercontinental Houston Airport",iataCode:"IAH"},{name:"Gold Coast Airport",iataCode:"OOL"},{name:"Guarulhos - Governador Andre Franco Montoro International Airport",iataCode:"GRU"},{name:"Hartsfield-Jackson Atlanta International Airport",iataCode:"ATL"},{name:"Helsinki Vantaa Airport",iataCode:"HEL"},{name:"Hobart International Airport",iataCode:"HBA"},{name:"Hong Kong International Airport",iataCode:"HKG"},{name:"Houari Boumediene Airport",iataCode:"ALG"},{name:"Hurgada International Airport",iataCode:"HRG"},{name:"Incheon International Airport",iataCode:"ICN"},{name:"Indira Gandhi International Airport",iataCode:"DEL"},{name:"Istanbul Airport",iataCode:"IST"},{name:"Jacksons International Airport",iataCode:"POM"},{name:"Jeju International Airport",iataCode:"CJU"},{name:"John F Kennedy International Airport",iataCode:"JFK"},{name:"Jorge Chavez International Airport",iataCode:"LIM"},{name:"Jose Maria Cordova International Airport",iataCode:"MDE"},{name:"Josep Tarradellas Barcelona-El Prat Airport",iataCode:"BCN"},{name:"Kahului Airport",iataCode:"OGG"},{name:"King Abdulaziz International Airport",iataCode:"JED"},{name:"Kuala Lumpur International Airport",iataCode:"KUL"},{name:"Kunming Changshui International Airport",iataCode:"KMG"},{name:"La Tontouta International Airport",iataCode:"NOU"},{name:"Leonardo da Vinci-Fiumicino Airport",iataCode:"FCO"},{name:"London Heathrow Airport",iataCode:"LHR"},{name:"Los Angeles International Airport",iataCode:"LAX"},{name:"McCarran International Airport",iataCode:"LAS"},{name:"Melbourne International Airport",iataCode:"MEL"},{name:"Mexico City International Airport",iataCode:"MEX"},{name:"Miami International Airport",iataCode:"MIA"},{name:"Ministro Pistarini International Airport",iataCode:"EZE"},{name:"Minneapolis-St Paul International/Wold-Chamberlain Airport",iataCode:"MSP"},{name:"Mohammed V International Airport",iataCode:"CMN"},{name:"Moscow Domodedovo Airport",iataCode:"DME"},{name:"Munich Airport",iataCode:"MUC"},{name:"Murtala Muhammed International Airport",iataCode:"LOS"},{name:"Nadi International Airport",iataCode:"NAN"},{name:"Nairobi Jomo Kenyatta International Airport",iataCode:"NBO"},{name:"Narita International Airport",iataCode:"NRT"},{name:"Newark Liberty International Airport",iataCode:"EWR"},{name:"Ninoy Aquino International Airport",iataCode:"MNL"},{name:"Noumea Magenta Airport",iataCode:"GEA"},{name:"O. R. Tambo International Airport",iataCode:"JNB"},{name:"Orlando International Airport",iataCode:"MCO"},{name:"Oslo Lufthavn",iataCode:"OSL"},{name:"Perth Airport",iataCode:"PER"},{name:"Phoenix Sky Harbor International Airport",iataCode:"PHX"},{name:"Recife Guararapes-Gilberto Freyre International Airport",iataCode:"REC"},{name:"Rio de Janeiro Galeao International Airport",iataCode:"GIG"},{name:"Salgado Filho International Airport",iataCode:"POA"},{name:"Salvador Deputado Luis Eduardo Magalhaes International Airport",iataCode:"SSA"},{name:"San Francisco International Airport",iataCode:"SFO"},{name:"Santos Dumont Airport",iataCode:"SDU"},{name:"Sao Paulo-Congonhas Airport",iataCode:"CGH"},{name:"Seattle Tacoma International Airport",iataCode:"SEA"},{name:"Shanghai Hongqiao International Airport",iataCode:"SHA"},{name:"Shanghai Pudong International Airport",iataCode:"PVG"},{name:"Shenzhen Bao'an International Airport",iataCode:"SZX"},{name:"Sheremetyevo International Airport",iataCode:"SVO"},{name:"Singapore Changi Airport",iataCode:"SIN"},{name:"Soekarno-Hatta International Airport",iataCode:"CGK"},{name:'Stockholm-Arlanda Airport"',iataCode:"ARN"},{name:"Suvarnabhumi Airport",iataCode:"BKK"},{name:"Sydney Kingsford Smith International Airport",iataCode:"SYD"},{name:"Taiwan Taoyuan International Airport",iataCode:"TPE"},{name:"Tan Son Nhat International Airport",iataCode:"SGN"},{name:"Tokyo Haneda International Airport",iataCode:"HND"},{name:"Toronto Pearson International Airport",iataCode:"YYZ"},{name:"Tunis Carthage International Airport",iataCode:"TUN"},{name:"Vancouver International Airport",iataCode:"YVR"},{name:"Vienna International Airport",iataCode:"VIE"},{name:"Viracopos International Airport",iataCode:"VCP"},{name:"Vnukovo International Airport",iataCode:"VKO"},{name:"Wellington International Airport",iataCode:"WLG"},{name:"Xi'an Xianyang International Airport",iataCode:"XIY"},{name:"Zhukovsky International Airport",iataCode:"ZIA"},{name:"Zurich Airport",iataCode:"ZRH"}],bGt={airline:fGt,airplane:gGt,airport:pGt},vGt=bGt,yGt=["Giant panda","Spectacled bear","Sun bear","Sloth bear","American black bear","Asian black bear","Brown bear","Polar bear"],CGt=["Red-throated Loon","Arctic Loon","Pacific Loon","Common Loon","Yellow-billed Loon","Least Grebe","Pied-billed Grebe","Horned Grebe","Red-necked Grebe","Eared Grebe","Western Grebe","Clark's Grebe","Yellow-nosed Albatross","Shy Albatross","Black-browed Albatross","Wandering Albatross","Laysan Albatross","Black-footed Albatross","Short-tailed Albatross","Northern Fulmar","Herald Petrel","Murphy's Petrel","Mottled Petrel","Black-capped Petrel","Cook's Petrel","Stejneger's Petrel","White-chinned Petrel","Streaked Shearwater","Cory's Shearwater","Pink-footed Shearwater","Flesh-footed Shearwater","Greater Shearwater","Wedge-tailed Shearwater","Buller's Shearwater","Sooty Shearwater","Short-tailed Shearwater","Manx Shearwater","Black-vented Shearwater","Audubon's Shearwater","Little Shearwater","Wilson's Storm-Petrel","White-faced Storm-Petrel","European Storm-Petrel","Fork-tailed Storm-Petrel","Leach's Storm-Petrel","Ashy Storm-Petrel","Band-rumped Storm-Petrel","Wedge-rumped Storm-Petrel","Black Storm-Petrel","Least Storm-Petrel","White-tailed Tropicbird","Red-billed Tropicbird","Red-tailed Tropicbird","Masked Booby","Blue-footed Booby","Brown Booby","Red-footed Booby","Northern Gannet","American White Pelican","Brown Pelican","Brandt's Cormorant","Neotropic Cormorant","Double-crested Cormorant","Great Cormorant","Red-faced Cormorant","Pelagic Cormorant","Anhinga","Magnificent Frigatebird","Great Frigatebird","Lesser Frigatebird","American Bittern","Yellow Bittern","Least Bittern","Great Blue Heron","Great Egret","Chinese Egret","Little Egret","Western Reef-Heron","Snowy Egret","Little Blue Heron","Tricolored Heron","Reddish Egret","Cattle Egret","Green Heron","Black-crowned Night-Heron","Yellow-crowned Night-Heron","White Ibis","Scarlet Ibis","Glossy Ibis","White-faced Ibis","Roseate Spoonbill","Jabiru","Wood Stork","Black Vulture","Turkey Vulture","California Condor","Greater Flamingo","Black-bellied Whistling-Duck","Fulvous Whistling-Duck","Bean Goose","Pink-footed Goose","Greater White-fronted Goose","Lesser White-fronted Goose","Emperor Goose","Snow Goose","Ross's Goose","Canada Goose","Brant","Barnacle Goose","Mute Swan","Trumpeter Swan","Tundra Swan","Whooper Swan","Muscovy Duck","Wood Duck","Gadwall","Falcated Duck","Eurasian Wigeon","American Wigeon","American Black Duck","Mallard","Mottled Duck","Spot-billed Duck","Blue-winged Teal","Cinnamon Teal","Northern Shoveler","White-cheeked Pintail","Northern Pintail","Garganey","Baikal Teal","Green-winged Teal","Canvasback","Redhead","Common Pochard","Ring-necked Duck","Tufted Duck","Greater Scaup","Lesser Scaup","Steller's Eider","Spectacled Eider","King Eider","Common Eider","Harlequin Duck","Labrador Duck","Surf Scoter","White-winged Scoter","Black Scoter","Oldsquaw","Bufflehead","Common Goldeneye","Barrow's Goldeneye","Smew","Hooded Merganser","Common Merganser","Red-breasted Merganser","Masked Duck","Ruddy Duck","Osprey","Hook-billed Kite","Swallow-tailed Kite","White-tailed Kite","Snail Kite","Mississippi Kite","Bald Eagle","White-tailed Eagle","Steller's Sea-Eagle","Northern Harrier","Sharp-shinned Hawk","Cooper's Hawk","Northern Goshawk","Crane Hawk","Gray Hawk","Common Black-Hawk","Harris's Hawk","Roadside Hawk","Red-shouldered Hawk","Broad-winged Hawk","Short-tailed Hawk","Swainson's Hawk","White-tailed Hawk","Zone-tailed Hawk","Red-tailed Hawk","Ferruginous Hawk","Rough-legged Hawk","Golden Eagle","Collared Forest-Falcon","Crested Caracara","Eurasian Kestrel","American Kestrel","Merlin","Eurasian Hobby","Aplomado Falcon","Gyrfalcon","Peregrine Falcon","Prairie Falcon","Plain Chachalaca","Chukar","Himalayan Snowcock","Gray Partridge","Ring-necked Pheasant","Ruffed Grouse","Sage Grouse","Spruce Grouse","Willow Ptarmigan","Rock Ptarmigan","White-tailed Ptarmigan","Blue Grouse","Sharp-tailed Grouse","Greater Prairie-chicken","Lesser Prairie-chicken","Wild Turkey","Mountain Quail","Scaled Quail","California Quail","Gambel's Quail","Northern Bobwhite","Montezuma Quail","Yellow Rail","Black Rail","Corn Crake","Clapper Rail","King Rail","Virginia Rail","Sora","Paint-billed Crake","Spotted Rail","Purple Gallinule","Azure Gallinule","Common Moorhen","Eurasian Coot","American Coot","Limpkin","Sandhill Crane","Common Crane","Whooping Crane","Double-striped Thick-knee","Northern Lapwing","Black-bellied Plover","European Golden-Plover","American Golden-Plover","Pacific Golden-Plover","Mongolian Plover","Collared Plover","Snowy Plover","Wilson's Plover","Common Ringed Plover","Semipalmated Plover","Piping Plover","Little Ringed Plover","Killdeer","Mountain Plover","Eurasian Dotterel","Eurasian Oystercatcher","American Oystercatcher","Black Oystercatcher","Black-winged Stilt","Black-necked Stilt","American Avocet","Northern Jacana","Common Greenshank","Greater Yellowlegs","Lesser Yellowlegs","Marsh Sandpiper","Spotted Redshank","Wood Sandpiper","Green Sandpiper","Solitary Sandpiper","Willet","Wandering Tattler","Gray-tailed Tattler","Common Sandpiper","Spotted Sandpiper","Terek Sandpiper","Upland Sandpiper","Little Curlew","Eskimo Curlew","Whimbrel","Bristle-thighed Curlew","Far Eastern Curlew","Slender-billed Curlew","Eurasian Curlew","Long-billed Curlew","Black-tailed Godwit","Hudsonian Godwit","Bar-tailed Godwit","Marbled Godwit","Ruddy Turnstone","Black Turnstone","Surfbird","Great Knot","Red Knot","Sanderling","Semipalmated Sandpiper","Western Sandpiper","Red-necked Stint","Little Stint","Temminck's Stint","Long-toed Stint","Least Sandpiper","White-rumped Sandpiper","Baird's Sandpiper","Pectoral Sandpiper","Sharp-tailed Sandpiper","Purple Sandpiper","Rock Sandpiper","Dunlin","Curlew Sandpiper","Stilt Sandpiper","Spoonbill Sandpiper","Broad-billed Sandpiper","Buff-breasted Sandpiper","Ruff","Short-billed Dowitcher","Long-billed Dowitcher","Jack Snipe","Common Snipe","Pin-tailed Snipe","Eurasian Woodcock","American Woodcock","Wilson's Phalarope","Red-necked Phalarope","Red Phalarope","Oriental Pratincole","Great Skua","South Polar Skua","Pomarine Jaeger","Parasitic Jaeger","Long-tailed Jaeger","Laughing Gull","Franklin's Gull","Little Gull","Black-headed Gull","Bonaparte's Gull","Heermann's Gull","Band-tailed Gull","Black-tailed Gull","Mew Gull","Ring-billed Gull","California Gull","Herring Gull","Yellow-legged Gull","Thayer's Gull","Iceland Gull","Lesser Black-backed Gull","Slaty-backed Gull","Yellow-footed Gull","Western Gull","Glaucous-winged Gull","Glaucous Gull","Great Black-backed Gull","Sabine's Gull","Black-legged Kittiwake","Red-legged Kittiwake","Ross's Gull","Ivory Gull","Gull-billed Tern","Caspian Tern","Royal Tern","Elegant Tern","Sandwich Tern","Roseate Tern","Common Tern","Arctic Tern","Forster's Tern","Least Tern","Aleutian Tern","Bridled Tern","Sooty Tern","Large-billed Tern","White-winged Tern","Whiskered Tern","Black Tern","Brown Noddy","Black Noddy","Black Skimmer","Dovekie","Common Murre","Thick-billed Murre","Razorbill","Great Auk","Black Guillemot","Pigeon Guillemot","Long-billed Murrelet","Marbled Murrelet","Kittlitz's Murrelet","Xantus's Murrelet","Craveri's Murrelet","Ancient Murrelet","Cassin's Auklet","Parakeet Auklet","Least Auklet","Whiskered Auklet","Crested Auklet","Rhinoceros Auklet","Atlantic Puffin","Horned Puffin","Tufted Puffin","Rock Dove","Scaly-naped Pigeon","White-crowned Pigeon","Red-billed Pigeon","Band-tailed Pigeon","Oriental Turtle-Dove","European Turtle-Dove","Eurasian Collared-Dove","Spotted Dove","White-winged Dove","Zenaida Dove","Mourning Dove","Passenger Pigeon","Inca Dove","Common Ground-Dove","Ruddy Ground-Dove","White-tipped Dove","Key West Quail-Dove","Ruddy Quail-Dove","Budgerigar","Monk Parakeet","Carolina Parakeet","Thick-billed Parrot","White-winged Parakeet","Red-crowned Parrot","Common Cuckoo","Oriental Cuckoo","Black-billed Cuckoo","Yellow-billed Cuckoo","Mangrove Cuckoo","Greater Roadrunner","Smooth-billed Ani","Groove-billed Ani","Barn Owl","Flammulated Owl","Oriental Scops-Owl","Western Screech-Owl","Eastern Screech-Owl","Whiskered Screech-Owl","Great Horned Owl","Snowy Owl","Northern Hawk Owl","Northern Pygmy-Owl","Ferruginous Pygmy-Owl","Elf Owl","Burrowing Owl","Mottled Owl","Spotted Owl","Barred Owl","Great Gray Owl","Long-eared Owl","Short-eared Owl","Boreal Owl","Northern Saw-whet Owl","Lesser Nighthawk","Common Nighthawk","Antillean Nighthawk","Common Pauraque","Common Poorwill","Chuck-will's-widow","Buff-collared Nightjar","Whip-poor-will","Jungle Nightjar","Black Swift","White-collared Swift","Chimney Swift","Vaux's Swift","White-throated Needletail","Common Swift","Fork-tailed Swift","White-throated Swift","Antillean Palm Swift","Green Violet-ear","Green-breasted Mango","Broad-billed Hummingbird","White-eared Hummingbird","Xantus's Hummingbird","Berylline Hummingbird","Buff-bellied Hummingbird","Cinnamon Hummingbird","Violet-crowned Hummingbird","Blue-throated Hummingbird","Magnificent Hummingbird","Plain-capped Starthroat","Bahama Woodstar","Lucifer Hummingbird","Ruby-throated Hummingbird","Black-chinned Hummingbird","Anna's Hummingbird","Costa's Hummingbird","Calliope Hummingbird","Bumblebee Hummingbird","Broad-tailed Hummingbird","Rufous Hummingbird","Allen's Hummingbird","Elegant Trogon","Eared Trogon","Hoopoe","Ringed Kingfisher","Belted Kingfisher","Green Kingfisher","Eurasian Wryneck","Lewis's Woodpecker","Red-headed Woodpecker","Acorn Woodpecker","Gila Woodpecker","Golden-fronted Woodpecker","Red-bellied Woodpecker","Williamson's Sapsucker","Yellow-bellied Sapsucker","Red-naped Sapsucker","Red-breasted Sapsucker","Great Spotted Woodpecker","Ladder-backed Woodpecker","Nuttall's Woodpecker","Downy Woodpecker","Hairy Woodpecker","Strickland's Woodpecker","Red-cockaded Woodpecker","White-headed Woodpecker","Three-toed Woodpecker","Black-backed Woodpecker","Northern Flicker","Gilded Flicker","Pileated Woodpecker","Ivory-billed Woodpecker","Northern Beardless-Tyrannulet","Greenish Elaenia","Caribbean Elaenia","Tufted Flycatcher","Olive-sided Flycatcher","Greater Pewee","Western Wood-Pewee","Eastern Wood-Pewee","Yellow-bellied Flycatcher","Acadian Flycatcher","Alder Flycatcher","Willow Flycatcher","Least Flycatcher","Hammond's Flycatcher","Dusky Flycatcher","Gray Flycatcher","Pacific-slope Flycatcher","Cordilleran Flycatcher","Buff-breasted Flycatcher","Black Phoebe","Eastern Phoebe","Say's Phoebe","Vermilion Flycatcher","Dusky-capped Flycatcher","Ash-throated Flycatcher","Nutting's Flycatcher","Great Crested Flycatcher","Brown-crested Flycatcher","La Sagra's Flycatcher","Great Kiskadee","Sulphur-bellied Flycatcher","Variegated Flycatcher","Tropical Kingbird","Couch's Kingbird","Cassin's Kingbird","Thick-billed Kingbird","Western Kingbird","Eastern Kingbird","Gray Kingbird","Loggerhead Kingbird","Scissor-tailed Flycatcher","Fork-tailed Flycatcher","Rose-throated Becard","Masked Tityra","Brown Shrike","Loggerhead Shrike","Northern Shrike","White-eyed Vireo","Thick-billed Vireo","Bell's Vireo","Black-capped Vireo","Gray Vireo","Yellow-throated Vireo","Plumbeous Vireo","Cassin's Vireo","Blue-headed Vireo","Hutton's Vireo","Warbling Vireo","Philadelphia Vireo","Red-eyed Vireo","Yellow-green Vireo","Black-whiskered Vireo","Yucatan Vireo","Gray Jay","Steller's Jay","Blue Jay","Green Jay","Brown Jay","Florida Scrub-Jay","Island Scrub-Jay","Western Scrub-Jay","Mexican Jay","Pinyon Jay","Clark's Nutcracker","Black-billed Magpie","Yellow-billed Magpie","Eurasian Jackdaw","American Crow","Northwestern Crow","Tamaulipas Crow","Fish Crow","Chihuahuan Raven","Common Raven","Sky Lark","Horned Lark","Purple Martin","Cuban Martin","Gray-breasted Martin","Southern Martin","Brown-chested Martin","Tree Swallow","Violet-green Swallow","Bahama Swallow","Northern Rough-winged Swallow","Bank Swallow","Cliff Swallow","Cave Swallow","Barn Swallow","Common House-Martin","Carolina Chickadee","Black-capped Chickadee","Mountain Chickadee","Mexican Chickadee","Chestnut-backed Chickadee","Boreal Chickadee","Gray-headed Chickadee","Bridled Titmouse","Oak Titmouse","Juniper Titmouse","Tufted Titmouse","Verdin","Bushtit","Red-breasted Nuthatch","White-breasted Nuthatch","Pygmy Nuthatch","Brown-headed Nuthatch","Brown Creeper","Cactus Wren","Rock Wren","Canyon Wren","Carolina Wren","Bewick's Wren","House Wren","Winter Wren","Sedge Wren","Marsh Wren","American Dipper","Red-whiskered Bulbul","Golden-crowned Kinglet","Ruby-crowned Kinglet","Middendorff's Grasshopper-Warbler","Lanceolated Warbler","Wood Warbler","Dusky Warbler","Arctic Warbler","Blue-gray Gnatcatcher","California Gnatcatcher","Black-tailed Gnatcatcher","Black-capped Gnatcatcher","Narcissus Flycatcher","Mugimaki Flycatcher","Red-breasted Flycatcher","Siberian Flycatcher","Gray-spotted Flycatcher","Asian Brown Flycatcher","Siberian Rubythroat","Bluethroat","Siberian Blue Robin","Red-flanked Bluetail","Northern Wheatear","Stonechat","Eastern Bluebird","Western Bluebird","Mountain Bluebird","Townsend's Solitaire","Veery","Gray-cheeked Thrush","Bicknell's Thrush","Swainson's Thrush","Hermit Thrush","Wood Thrush","Eurasian Blackbird","Eyebrowed Thrush","Dusky Thrush","Fieldfare","Redwing","Clay-colored Robin","White-throated Robin","Rufous-backed Robin","American Robin","Varied Thrush","Aztec Thrush","Wrentit","Gray Catbird","Black Catbird","Northern Mockingbird","Bahama Mockingbird","Sage Thrasher","Brown Thrasher","Long-billed Thrasher","Bendire's Thrasher","Curve-billed Thrasher","California Thrasher","Crissal Thrasher","Le Conte's Thrasher","Blue Mockingbird","European Starling","Crested Myna","Siberian Accentor","Yellow Wagtail","Citrine Wagtail","Gray Wagtail","White Wagtail","Black-backed Wagtail","Tree Pipit","Olive-backed Pipit","Pechora Pipit","Red-throated Pipit","American Pipit","Sprague's Pipit","Bohemian Waxwing","Cedar Waxwing","Gray Silky-flycatcher","Phainopepla","Olive Warbler","Bachman's Warbler","Blue-winged Warbler","Golden-winged Warbler","Tennessee Warbler","Orange-crowned Warbler","Nashville Warbler","Virginia's Warbler","Colima Warbler","Lucy's Warbler","Crescent-chested Warbler","Northern Parula","Tropical Parula","Yellow Warbler","Chestnut-sided Warbler","Magnolia Warbler","Cape May Warbler","Black-throated Blue Warbler","Yellow-rumped Warbler","Black-throated Gray Warbler","Golden-cheeked Warbler","Black-throated Green Warbler","Townsend's Warbler","Hermit Warbler","Blackburnian Warbler","Yellow-throated Warbler","Grace's Warbler","Pine Warbler","Kirtland's Warbler","Prairie Warbler","Palm Warbler","Bay-breasted Warbler","Blackpoll Warbler","Cerulean Warbler","Black-and-white Warbler","American Redstart","Prothonotary Warbler","Worm-eating Warbler","Swainson's Warbler","Ovenbird","Northern Waterthrush","Louisiana Waterthrush","Kentucky Warbler","Connecticut Warbler","Mourning Warbler","MacGillivray's Warbler","Common Yellowthroat","Gray-crowned Yellowthroat","Hooded Warbler","Wilson's Warbler","Canada Warbler","Red-faced Warbler","Painted Redstart","Slate-throated Redstart","Fan-tailed Warbler","Golden-crowned Warbler","Rufous-capped Warbler","Yellow-breasted Chat","Bananaquit","Hepatic Tanager","Summer Tanager","Scarlet Tanager","Western Tanager","Flame-colored Tanager","Stripe-headed Tanager","White-collared Seedeater","Yellow-faced Grassquit","Black-faced Grassquit","Olive Sparrow","Green-tailed Towhee","Spotted Towhee","Eastern Towhee","Canyon Towhee","California Towhee","Abert's Towhee","Rufous-winged Sparrow","Cassin's Sparrow","Bachman's Sparrow","Botteri's Sparrow","Rufous-crowned Sparrow","Five-striped Sparrow","American Tree Sparrow","Chipping Sparrow","Clay-colored Sparrow","Brewer's Sparrow","Field Sparrow","Worthen's Sparrow","Black-chinned Sparrow","Vesper Sparrow","Lark Sparrow","Black-throated Sparrow","Sage Sparrow","Lark Bunting","Savannah Sparrow","Grasshopper Sparrow","Baird's Sparrow","Henslow's Sparrow","Le Conte's Sparrow","Nelson's Sharp-tailed Sparrow","Saltmarsh Sharp-tailed Sparrow","Seaside Sparrow","Fox Sparrow","Song Sparrow","Lincoln's Sparrow","Swamp Sparrow","White-throated Sparrow","Harris's Sparrow","White-crowned Sparrow","Golden-crowned Sparrow","Dark-eyed Junco","Yellow-eyed Junco","McCown's Longspur","Lapland Longspur","Smith's Longspur","Chestnut-collared Longspur","Pine Bunting","Little Bunting","Rustic Bunting","Yellow-breasted Bunting","Gray Bunting","Pallas's Bunting","Reed Bunting","Snow Bunting","McKay's Bunting","Crimson-collared Grosbeak","Northern Cardinal","Pyrrhuloxia","Yellow Grosbeak","Rose-breasted Grosbeak","Black-headed Grosbeak","Blue Bunting","Blue Grosbeak","Lazuli Bunting","Indigo Bunting","Varied Bunting","Painted Bunting","Dickcissel","Bobolink","Red-winged Blackbird","Tricolored Blackbird","Tawny-shouldered Blackbird","Eastern Meadowlark","Western Meadowlark","Yellow-headed Blackbird","Rusty Blackbird","Brewer's Blackbird","Common Grackle","Boat-tailed Grackle","Great-tailed Grackle","Shiny Cowbird","Bronzed Cowbird","Brown-headed Cowbird","Black-vented Oriole","Orchard Oriole","Hooded Oriole","Streak-backed Oriole","Spot-breasted Oriole","Altamira Oriole","Audubon's Oriole","Baltimore Oriole","Bullock's Oriole","Scott's Oriole","Common Chaffinch","Brambling","Gray-crowned Rosy-Finch","Black Rosy-Finch","Brown-capped Rosy-Finch","Pine Grosbeak","Common Rosefinch","Purple Finch","Cassin's Finch","House Finch","Red Crossbill","White-winged Crossbill","Common Redpoll","Hoary Redpoll","Eurasian Siskin","Pine Siskin","Lesser Goldfinch","Lawrence's Goldfinch","American Goldfinch","Oriental Greenfinch","Eurasian Bullfinch","Evening Grosbeak","Hawfinch","House Sparrow","Eurasian Tree Sparrow"],wGt=["Abyssinian","American Bobtail","American Curl","American Shorthair","American Wirehair","Balinese","Bengal","Birman","Bombay","British Shorthair","Burmese","Chartreux","Chausie","Cornish Rex","Devon Rex","Donskoy","Egyptian Mau","Exotic Shorthair","Havana","Highlander","Himalayan","Japanese Bobtail","Korat","Kurilian Bobtail","LaPerm","Maine Coon","Manx","Minskin","Munchkin","Nebelung","Norwegian Forest Cat","Ocicat","Ojos Azules","Oriental","Persian","Peterbald","Pixiebob","Ragdoll","Russian Blue","Savannah","Scottish Fold","Selkirk Rex","Serengeti","Siberian","Siamese","Singapura","Snowshoe","Sokoke","Somali","Sphynx","Thai","Tonkinese","Toyger","Turkish Angora","Turkish Van"],SGt=["Blue Whale","Fin Whale","Sei Whale","Sperm Whale","Bryde’s whale","Omura’s whale","Humpback whale","Long-Beaked Common Dolphin","Short-Beaked Common Dolphin","Bottlenose Dolphin","Indo-Pacific Bottlenose Dolphin","Northern Rightwhale Dolphin","Southern Rightwhale Dolphin","Tucuxi","Costero","Indo-Pacific Hump-backed Dolphin","Chinese White Dolphin","Atlantic Humpbacked Dolphin","Atlantic Spotted Dolphin","Clymene Dolphin","Pantropical Spotted Dolphin","Spinner Dolphin","Striped Dolphin","Rough-Toothed Dolphin","Chilean Dolphin","Commerson’s Dolphin","Heaviside’s Dolphin","Hector’s Dolphin","Risso’s Dolphin","Fraser’s Dolphin","Atlantic White-Sided Dolphin","Dusky Dolphin","Hourglass Dolphin","Pacific White-Sided Dolphin","Peale’s Dolphin","White-Beaked Dolphin","Australian Snubfin Dolphin","Irrawaddy Dolphin","Melon-headed Whale","Killer Whale (Orca)","Pygmy Killer Whale","False Killer Whale","Long-finned Pilot Whale","Short-finned Pilot Whale","Guiana Dolphin","Burrunan Dolphin","Australian humpback Dolphin","Amazon River Dolphin","Chinese River Dolphin","Ganges River Dolphin","La Plata Dolphin","Southern Bottlenose Whale","Longman's Beaked Whale","Arnoux's Beaked Whale"],xGt=["Aberdeen Angus","Abergele","Abigar","Abondance","Abyssinian Shorthorned Zebu","Aceh","Achham","Adamawa","Adaptaur","Afar","Africangus","Afrikaner","Agerolese","Alambadi","Alatau","Albanian","Albera","Alderney","Alentejana","Aleutian wild cattle","Aliad Dinka","Alistana-Sanabresa","Allmogekor","Alur","American","American Angus","American Beef Friesian","American Brown Swiss","American Milking Devon","American White Park","Amerifax","Amrit Mahal","Amsterdam Island cattle","Anatolian Black","Andalusian Black","Andalusian Blond","Andalusian Grey","Angeln","Angoni","Ankina","Ankole","Ankole-Watusi","Aracena","Arado","Argentine Criollo","Argentine Friesian","Armorican","Arouquesa","Arsi","Asturian Mountain","Asturian Valley","Aubrac","Aulie-Ata","Aure et Saint-Girons","Australian Braford","Australian Brangus","Australian Charbray","Australian Friesian Sahiwal","Australian Lowline","Australian Milking Zebu","Australian Shorthorn","Austrian Simmental","Austrian Yellow","Avétonou","Avileña-Negra Ibérica","Aweil Dinka","Ayrshire","Azaouak","Azebuado","Azerbaijan Zebu","Azores","Bedit","Breed","Bachaur cattle","Baherie cattle","Bakosi cattle","Balancer","Baoule","Bargur cattle","Barrosã","Barzona","Bazadaise","Beef Freisian","Beefalo","Beefmaker","Beefmaster","Begayt","Belgian Blue","Belgian Red","Belgian Red Pied","Belgian White-and-Red","Belmont Red","Belted Galloway","Bernese","Berrenda cattle","Betizu","Bianca Modenese","Blaarkop","Black Angus","Black Baldy","Black Hereford","Blanca Cacereña","Blanco Orejinegro BON","Blonde d'Aquitaine","Blue Albion","Blue Grey","Bohuskulla","Bonsmara","Boran","Boškarin","Braford","Brahman","Brahmousin","Brangus","Braunvieh","Brava","British White","British Friesian","Brown Carpathian","Brown Caucasian","Brown Swiss","Bue Lingo","Burlina","Buša cattle","Butana cattle","Bushuyev","Cedit","Cachena","Caldelana","Camargue","Campbell Island cattle","Canadian Speckle Park","Canadienne","Canaria","Canchim","Caracu","Cárdena Andaluza","Carinthian Blondvieh","Carora","Charbray","Charolais","Chateaubriand","Chiangus","Chianina","Chillingham cattle","Chinese Black Pied","Cholistani","Coloursided White Back","Commercial","Corriente","Corsican cattle","Costeño con Cuernos","Crioulo Lageano","Dedit","Dajal","Dangi cattle","Danish Black-Pied","Danish Jersey","Danish Red","Deep Red cattle","Deoni","Devon","Dexter cattle","Dhanni","Doayo cattle","Doela","Drakensberger","Dølafe","Droughtmaster","Dulong'","Dutch Belted","Dutch Friesian","Dwarf Lulu","Eedit","East Anatolian Red","Eastern Finncattle","Eastern Red Polled","Enderby Island cattle","English Longhorn","Ennstaler Bergscheck","Estonian Holstein","Estonian Native","Estonian Red cattle","Évolène cattle","Fedit","Fēng Cattle","Finnish Ayrshire","Finncattle","Finnish Holstein-Friesian","Fjäll","Fleckvieh","Florida Cracker cattle","Fogera","French Simmental","Fribourgeoise","Friesian Red and White","Fulani Sudanese","Gedit","Galician Blond","Galloway cattle","Gangatiri","Gaolao","Garvonesa","Gascon cattle","Gelbvieh","Georgian Mountain cattle","German Angus","German Black Pied cattle","German Black Pied Dairy","German Red Pied","Gir","Glan cattle","Gloucester","Gobra","Greek Shorthorn","Greek Steppe","Greyman cattle","Gudali","Guernsey cattle","Guzerá","Hedit","Hallikar4","Hanwoo","Hariana cattle","Hartón del Valle","Harzer Rotvieh","Hays Converter","Heck cattle","Hereford","Herens","Hybridmaster","Highland cattle","Hinterwald","Holando-Argentino","Holstein Friesian cattle","Horro","Huáng Cattle","Hungarian Grey","Iedit","Iberian cattle","Icelandic","Illawarra cattle","Improved Red and White","Indo-Brazilian","Irish Moiled","Israeli Holstein","Israeli Red","Istoben cattle","Istrian cattle","Jedit","Jamaica Black","Jamaica Hope","Jamaica Red","Japanese Brown","Jarmelista","Javari cattle","Jersey cattle","Jutland cattle","Kedit","Kabin Buri cattle","Kalmyk cattle","Kangayam","Kankrej","Kamphaeng Saen cattle","Karan Swiss","Kasaragod Dwarf cattle","Kathiawadi","Kazakh Whiteheaded","Kenana cattle","Kenkatha cattle","Kerry cattle","Kherigarh","Khillari cattle","Kholomogory","Korat Wagyu","Kostroma cattle","Krishna Valley cattle","Kuri","Kurgan cattle","Ledit","La Reina cattle","Lakenvelder cattle","Lampurger","Latvian Blue","Latvian Brown","Latvian Danish Red","Lebedyn","Levantina","Limia cattle","Limousin","Limpurger","Lincoln Red","Lineback","Lithuanian Black-and-White","Lithuanian Light Grey","Lithuanian Red","Lithuanian White-Backed","Lohani cattle","Lourdais","Lucerna cattle","Luing","Medit","Madagascar Zebu","Madura","Maine-Anjou","Malnad Gidda","Malvi","Mandalong Special","Mantequera Leonesa","Maramureş Brown","Marchigiana","Maremmana","Marinhoa","Maronesa","Masai","Mashona","Menorquina","Mertolenga","Meuse-Rhine-Issel","Mewati","Milking Shorthorn","Minhota","Mirandesa","Mirkadim","Mocăniţă","Mollie","Monchina","Mongolian","Montbéliarde","Morucha","Muturu","Murboden","Murnau-Werdenfels","Murray Grey","Nedit","Nagori","N'Dama","Negra Andaluza","Nelore","Nguni","Nimari","Normande","North Bengal Grey","Northern Finncattle","Northern Shorthorn","Norwegian Red","Oedit]","Ongole","Original Simmental","Pedit","Pajuna","Palmera","Pantaneiro","Parda Alpina","Parthenaise","Pasiega","Pembroke","Philippine Native","Pie Rouge des Plaines","Piedmontese cattle","Pineywoods","Pinzgauer","Pirenaica","Podolac","Podolica","Polish Black-and-White","Polish Red","Polled Hereford","Poll Shorthorn","Polled Shorthorn","Ponwar","Preta","Punganur","Pulikulam","Pustertaler Sprinzen","Qedit","Qinchaun","Queensland Miniature Boran","Redit","Ramo Grande","Randall","Raramuri Criollo","Rathi","Rätisches Grauvieh","Raya","Red Angus","Red Brangus","Red Chittagong","Red Fulani","Red Gorbatov","Red Holstein","Red Kandhari","Red Mingrelian","Red Poll","Red Polled Østland","Red Sindhi","Retinta","Riggit Galloway","Ringamåla","Rohjan","Romagnola","Romanian Bălţata","Romanian Steppe Gray","Romosinuano","Russian Black Pied","RX3","Sedit","Sahiwal","Salers","Salorn","Sanga","Sanhe","Santa Cruz","Santa Gertrudis","Sayaguesa","Schwyz","Selembu","Senepol","Serbian Pied","Serbian Steppe","Sheko","Shetland","Shorthorn","Siboney de Cuba","Simbrah","Simford","Simmental","Siri","South Devon","Spanish Fighting Bull","Speckle Park","Square Meater","Sussex","Swedish Friesian","Swedish Polled","Swedish Red Pied","Swedish Red Polled","Swedish Red-and-White","Tedit","Tabapuã","Tarentaise","Tasmanian Grey","Tauros","Telemark","Texas Longhorn","Texon","Thai Black","Thai Fighting Bull","Thai Friesian","Thai Milking Zebu","Tharparkar","Tswana","Tudanca","Tuli","Tulim","Turkish Grey Steppe","Tux-Zillertal","Tyrol Grey","Uedit","Umblachery","Ukrainian Grey","Vedit","Valdostana Castana","Valdostana Pezzata Nera","Valdostana Pezzata Rossa","Väneko","Vaynol","Vechur8","Vestland Fjord","Vestland Red Polled","Vianesa","Volinian Beef","Vorderwald","Vosgienne","Wedit","Wagyu","Waguli","Wangus","Welsh Black","Western Finncattle","White Cáceres","White Fulani","White Lamphun","White Park","Whitebred Shorthorn","Xedit","Xingjiang Brown","Yedit","Yakutian","Yanbian","Yanhuang","Yurino","Zedit","Żubroń","Zebu"],LGt=["Alligator mississippiensis","Chinese Alligator","Black Caiman","Broad-snouted Caiman","Spectacled Caiman","Yacare Caiman","Cuvier’s Dwarf Caiman","Schneider’s Smooth-fronted Caiman","African Slender-snouted Crocodile","American Crocodile","Australian Freshwater Crocodile","Cuban Crocodile","Dwarf Crocodile","Morelet’s Crocodile","Mugger Crocodile","New Guinea Freshwater Crocodile","Nile Crocodile","West African Crocodile","Orinoco Crocodile","Philippine Crocodile","Saltwater Crocodile","Siamese Crocodile","Gharial","Tomistoma"],_Gt=["Affenpinscher","Afghan Hound","Aidi","Airedale Terrier","Akbash","Akita","Alano Español","Alapaha Blue Blood Bulldog","Alaskan Husky","Alaskan Klee Kai","Alaskan Malamute","Alopekis","Alpine Dachsbracke","American Bulldog","American Bully","American Cocker Spaniel","American English Coonhound","American Foxhound","American Hairless Terrier","American Pit Bull Terrier","American Staffordshire Terrier","American Water Spaniel","Andalusian Hound","Anglo-Français de Petite Vénerie","Appenzeller Sennenhund","Ariegeois","Armant","Armenian Gampr dog","Artois Hound","Australian Cattle Dog","Australian Kelpie","Australian Shepherd","Australian Stumpy Tail Cattle Dog","Australian Terrier","Austrian Black and Tan Hound","Austrian Pinscher","Azawakh","Bakharwal dog","Banjara Hound","Barbado da Terceira","Barbet","Basenji","Basque Shepherd Dog","Basset Artésien Normand","Basset Bleu de Gascogne","Basset Fauve de Bretagne","Basset Hound","Bavarian Mountain Hound","Beagle","Beagle-Harrier","Belgian Shepherd","Bearded Collie","Beauceron","Bedlington Terrier","Bergamasco Shepherd","Berger Picard","Bernese Mountain Dog","Bhotia","Bichon Frisé","Billy","Black and Tan Coonhound","Black Norwegian Elkhound","Black Russian Terrier","Black Mouth Cur","Bloodhound","Blue Lacy","Blue Picardy Spaniel","Bluetick Coonhound","Boerboel","Bohemian Shepherd","Bolognese","Border Collie","Border Terrier","Borzoi","Bosnian Coarse-haired Hound","Boston Terrier","Bouvier des Ardennes","Bouvier des Flandres","Boxer","Boykin Spaniel","Bracco Italiano","Braque d'Auvergne","Braque de l'Ariège","Braque du Bourbonnais","Braque Francais","Braque Saint-Germain","Briard","Briquet Griffon Vendéen","Brittany","Broholmer","Bruno Jura Hound","Brussels Griffon","Bucovina Shepherd Dog","Bull Arab","Bull Terrier","Bulldog","Bullmastiff","Bully Kutta","Burgos Pointer","Cairn Terrier","Campeiro Bulldog","Canaan Dog","Canadian Eskimo Dog","Cane Corso","Cane di Oropa","Cane Paratore","Cantabrian Water Dog","Can de Chira","Cão da Serra de Aires","Cão de Castro Laboreiro","Cão de Gado Transmontano","Cão Fila de São Miguel","Cardigan Welsh Corgi","Carea Castellano Manchego","Carolina Dog","Carpathian Shepherd Dog","Catahoula Leopard Dog","Catalan Sheepdog","Caucasian Shepherd Dog","Cavalier King Charles Spaniel","Central Asian Shepherd Dog","Cesky Fousek","Cesky Terrier","Chesapeake Bay Retriever","Chien Français Blanc et Noir","Chien Français Blanc et Orange","Chien Français Tricolore","Chihuahua","Chilean Terrier","Chinese Chongqing Dog","Chinese Crested Dog","Chinook","Chippiparai","Chongqing dog","Chortai","Chow Chow","Cimarrón Uruguayo","Cirneco dell'Etna","Clumber Spaniel","Colombian fino hound","Coton de Tulear","Cretan Hound","Croatian Sheepdog","Curly-Coated Retriever","Cursinu","Czechoslovakian Wolfdog","Dachshund","Dalmatian","Dandie Dinmont Terrier","Danish-Swedish Farmdog","Denmark Feist","Dingo","Doberman Pinscher","Dogo Argentino","Dogo Guatemalteco","Dogo Sardesco","Dogue Brasileiro","Dogue de Bordeaux","Drentse Patrijshond","Drever","Dunker","Dutch Shepherd","Dutch Smoushond","East Siberian Laika","East European Shepherd","English Cocker Spaniel","English Foxhound","English Mastiff","English Setter","English Shepherd","English Springer Spaniel","English Toy Terrier","Entlebucher Mountain Dog","Estonian Hound","Estrela Mountain Dog","Eurasier","Field Spaniel","Fila Brasileiro","Finnish Hound","Finnish Lapphund","Finnish Spitz","Flat-Coated Retriever","French Bulldog","French Spaniel","Galgo Español","Galician Shepherd Dog","Garafian Shepherd","Gascon Saintongeois","Georgian Shepherd","German Hound","German Longhaired Pointer","German Pinscher","German Roughhaired Pointer","German Shepherd Dog","German Shorthaired Pointer","German Spaniel","German Spitz","German Wirehaired Pointer","Giant Schnauzer","Glen of Imaal Terrier","Golden Retriever","Gończy Polski","Gordon Setter","Grand Anglo-Français Blanc et Noir","Grand Anglo-Français Blanc et Orange","Grand Anglo-Français Tricolore","Grand Basset Griffon Vendéen","Grand Bleu de Gascogne","Grand Griffon Vendéen","Great Dane","Greater Swiss Mountain Dog","Greek Harehound","Greek Shepherd","Greenland Dog","Greyhound","Griffon Bleu de Gascogne","Griffon Fauve de Bretagne","Griffon Nivernais","Gull Dong","Gull Terrier","Hällefors Elkhound","Hamiltonstövare","Hanover Hound","Harrier","Havanese","Hierran Wolfdog","Hokkaido","Hovawart","Huntaway","Hygen Hound","Ibizan Hound","Icelandic Sheepdog","Indian pariah dog","Indian Spitz","Irish Red and White Setter","Irish Setter","Irish Terrier","Irish Water Spaniel","Irish Wolfhound","Istrian Coarse-haired Hound","Istrian Shorthaired Hound","Italian Greyhound","Jack Russell Terrier","Jagdterrier","Japanese Chin","Japanese Spitz","Japanese Terrier","Jindo","Jonangi","Kai Ken","Kaikadi","Kangal Shepherd Dog","Kanni","Karakachan dog","Karelian Bear Dog","Kars","Karst Shepherd","Keeshond","Kerry Beagle","Kerry Blue Terrier","King Charles Spaniel","King Shepherd","Kintamani","Kishu","Kokoni","Kombai","Komondor","Kooikerhondje","Koolie","Koyun dog","Kromfohrländer","Kuchi","Kuvasz","Labrador Retriever","Lagotto Romagnolo","Lakeland Terrier","Lancashire Heeler","Landseer","Lapponian Herder","Large Münsterländer","Leonberger","Levriero Sardo","Lhasa Apso","Lithuanian Hound","Löwchen","Lupo Italiano","Mackenzie River Husky","Magyar agár","Mahratta Greyhound","Maltese","Manchester Terrier","Maremmano-Abruzzese Sheepdog","McNab dog","Miniature American Shepherd","Miniature Bull Terrier","Miniature Fox Terrier","Miniature Pinscher","Miniature Schnauzer","Molossus of Epirus","Montenegrin Mountain Hound","Mountain Cur","Mountain Feist","Mucuchies","Mudhol Hound","Mudi","Neapolitan Mastiff","New Guinea Singing Dog","New Zealand Heading Dog","Newfoundland","Norfolk Terrier","Norrbottenspets","Northern Inuit Dog","Norwegian Buhund","Norwegian Elkhound","Norwegian Lundehund","Norwich Terrier","Nova Scotia Duck Tolling Retriever","Old Croatian Sighthound","Old Danish Pointer","Old English Sheepdog","Old English Terrier","Olde English Bulldogge","Otterhound","Pachon Navarro","Pampas Deerhound","Paisley Terrier","Papillon","Parson Russell Terrier","Pastore della Lessinia e del Lagorai","Patagonian Sheepdog","Patterdale Terrier","Pekingese","Pembroke Welsh Corgi","Perro Majorero","Perro de Pastor Mallorquin","Perro de Presa Canario","Perro de Presa Mallorquin","Peruvian Inca Orchid","Petit Basset Griffon Vendéen","Petit Bleu de Gascogne","Phalène","Pharaoh Hound","Phu Quoc Ridgeback","Picardy Spaniel","Plummer Terrier","Plott Hound","Podenco Canario","Podenco Valenciano","Pointer","Poitevin","Polish Greyhound","Polish Hound","Polish Lowland Sheepdog","Polish Tatra Sheepdog","Pomeranian","Pont-Audemer Spaniel","Poodle","Porcelaine","Portuguese Podengo","Portuguese Pointer","Portuguese Water Dog","Posavac Hound","Pražský Krysařík","Pshdar Dog","Pudelpointer","Pug","Puli","Pumi","Pungsan Dog","Pyrenean Mastiff","Pyrenean Mountain Dog","Pyrenean Sheepdog","Rafeiro do Alentejo","Rajapalayam","Rampur Greyhound","Rat Terrier","Ratonero Bodeguero Andaluz","Ratonero Mallorquin","Ratonero Murciano de Huerta","Ratonero Valenciano","Redbone Coonhound","Rhodesian Ridgeback","Romanian Mioritic Shepherd Dog","Romanian Raven Shepherd Dog","Rottweiler","Rough Collie","Russian Spaniel","Russian Toy","Russo-European Laika","Saarloos Wolfdog","Sabueso Español","Saint Bernard","Saint Hubert Jura Hound","Saint-Usuge Spaniel","Saluki","Samoyed","Sapsali","Sarabi dog","Šarplaninac","Schapendoes","Schillerstövare","Schipperke","Schweizer Laufhund","Schweizerischer Niederlaufhund","Scottish Deerhound","Scottish Terrier","Sealyham Terrier","Segugio dell'Appennino","Segugio Italiano","Segugio Maremmano","Seppala Siberian Sleddog","Serbian Hound","Serbian Tricolour Hound","Serrano Bulldog","Shar Pei","Shetland Sheepdog","Shiba Inu","Shih Tzu","Shikoku","Shiloh Shepherd","Siberian Husky","Silken Windhound","Silky Terrier","Sinhala Hound","Skye Terrier","Sloughi","Slovakian Wirehaired Pointer","Slovenský Cuvac","Slovenský Kopov","Smalandstövare","Small Greek domestic dog","Small Münsterländer","Smooth Collie","Smooth Fox Terrier","Soft-Coated Wheaten Terrier","South Russian Ovcharka","Spanish Mastiff","Spanish Water Dog","Spinone Italiano","Sporting Lucas Terrier","Sardinian Shepherd Dog","Stabyhoun","Staffordshire Bull Terrier","Standard Schnauzer","Stephens Stock","Styrian Coarse-haired Hound","Sussex Spaniel","Swedish Elkhound","Swedish Lapphund","Swedish Vallhund","Swedish White Elkhound","Taigan","Taiwan Dog","Tamaskan Dog","Teddy Roosevelt Terrier","Telomian","Tenterfield Terrier","Terrier Brasileiro","Thai Bangkaew Dog","Thai Ridgeback","Tibetan Mastiff","Tibetan Spaniel","Tibetan Terrier","Tornjak","Tosa","Toy Fox Terrier","Toy Manchester Terrier","Transylvanian Hound","Treeing Cur","Treeing Feist","Treeing Tennessee Brindle","Treeing Walker Coonhound","Trigg Hound","Tyrolean Hound","Vikhan","Villano de Las Encartaciones","Villanuco de Las Encartaciones","Vizsla","Volpino Italiano","Weimaraner","Welsh Sheepdog","Welsh Springer Spaniel","Welsh Terrier","West Highland White Terrier","West Siberian Laika","Westphalian Dachsbracke","Wetterhoun","Whippet","White Shepherd","White Swiss Shepherd Dog","Wire Fox Terrier","Wirehaired Pointing Griffon","Wirehaired Vizsla","Xiasi Dog","Xoloitzcuintli","Yakutian Laika","Yorkshire Terrier"],FGt=["Grass carp","Peruvian anchoveta","Silver carp","Common carp","Asari","Japanese littleneck","Filipino Venus","Japanese cockle","Alaska pollock","Nile tilapia","Whiteleg shrimp","Bighead carp","Skipjack tuna","Catla","Crucian carp","Atlantic salmon","Atlantic herring","Chub mackerel","Rohu","Yellowfin tuna","Japanese anchovy","Largehead hairtail","Atlantic cod","European pilchard","Capelin","Jumbo flying squid","Milkfish","Atlantic mackerel","Rainbow trout","Araucanian herring","Wuchang bream","Gulf menhaden","Indian oil sardine","Black carp","European anchovy","Northern snakehead","Pacific cod","Pacific saury","Pacific herring","Bigeye tuna","Chilean jack mackerel","Yellow croaker","Haddock","Gazami crab","Amur catfish","Japanese common catfish","European sprat","Pink salmon","Mrigal carp","Channel catfish","Blood cockle","Blue whiting","Hilsa shad","Daggertooth pike conger","California pilchard","Cape horse mackerel","Pacific anchoveta","Japanese flying squid","Pollock","Chinese softshell turtle","Kawakawa","Indian mackerel","Asian swamp eel","Argentine hake","Short mackerel","Southern rough shrimp","Southern African anchovy","Pond loach","Iridescent shark","Mandarin fish","Chinese perch","Nile perch","Round sardinella","Japanese pilchard","Bombay-duck","Yellowhead catfish","Korean bullhead","Narrow-barred Spanish mackerel","Albacore","Madeiran sardinella","Bonga shad","Silver cyprinid","Longtail tuna","Atlantic menhaden","North Pacific hake","Atlantic horse mackerel","Japanese jack mackerel","Pacific thread herring","Bigeye scad","Yellowstripe scad","Chum salmon","Blue swimming crab","Pacific sand lance","Pacific sandlance","Goldstripe sardinella"],IGt=["American Albino","Abaco Barb","Abtenauer","Abyssinian","Aegidienberger","Akhal-Teke","Albanian Horse","Altai Horse","Altèr Real","American Cream Draft","American Indian Horse","American Paint Horse","American Quarter Horse","American Saddlebred","American Warmblood","Andalusian Horse","Andravida Horse","Anglo-Arabian","Anglo-Arabo-Sardo","Anglo-Kabarda","Appaloosa","AraAppaloosa","Arabian Horse","Ardennes Horse","Arenberg-Nordkirchen","Argentine Criollo","Asian wild Horse","Assateague Horse","Asturcón","Augeron","Australian Brumby","Australian Draught Horse","Australian Stock Horse","Austrian Warmblood","Auvergne Horse","Auxois","Azerbaijan Horse","Azteca Horse","Baise Horse","Bale","Balearic Horse","Balikun Horse","Baluchi Horse","Banker Horse","Barb Horse","Bardigiano","Bashkir Curly","Basque Mountain Horse","Bavarian Warmblood","Belgian Half-blood","Belgian Horse","Belgian Warmblood ","Bhutia Horse","Black Forest Horse","Blazer Horse","Boerperd","Borana","Boulonnais Horse","Brabant","Brandenburger","Brazilian Sport Horse","Breton Horse","Brumby","Budyonny Horse","Burguete Horse","Burmese Horse","Byelorussian Harness Horse","Calabrese Horse","Camargue Horse","Camarillo White Horse","Campeiro","Campolina","Canadian Horse","Canadian Pacer","Carolina Marsh Tacky","Carthusian Horse","Caspian Horse","Castilian Horse","Castillonnais","Catria Horse","Cavallo Romano della Maremma Laziale","Cerbat Mustang","Chickasaw Horse","Chilean Corralero","Choctaw Horse","Cleveland Bay","Clydesdale Horse","Cob","Coldblood Trotter","Colonial Spanish Horse","Colorado Ranger","Comtois Horse","Corsican Horse","Costa Rican Saddle Horse","Cretan Horse","Criollo Horse","Croatian Coldblood","Cuban Criollo","Cumberland Island Horse","Curly Horse","Czech Warmblood","Daliboz","Danish Warmblood","Danube Delta Horse","Dole Gudbrandsdal","Don","Dongola Horse","Draft Trotter","Dutch Harness Horse","Dutch Heavy Draft","Dutch Warmblood","Dzungarian Horse","East Bulgarian","East Friesian Horse","Estonian Draft","Estonian Horse","Falabella","Faroese","Finnhorse","Fjord Horse","Fleuve","Florida Cracker Horse","Foutanké","Frederiksborg Horse","Freiberger","French Trotter","Friesian Cross","Friesian Horse","Friesian Sporthorse","Furioso-North Star","Galiceño","Galician Pony","Gelderland Horse","Georgian Grande Horse","German Warmblood","Giara Horse","Gidran","Groningen Horse","Gypsy Horse","Hackney Horse","Haflinger","Hanoverian Horse","Heck Horse","Heihe Horse","Henson Horse","Hequ Horse","Hirzai","Hispano-Bretón","Holsteiner Horse","Horro","Hungarian Warmblood","Icelandic Horse","Iomud","Irish Draught","Irish Sport Horse sometimes called Irish Hunter","Italian Heavy Draft","Italian Trotter","Jaca Navarra","Jeju Horse","Jutland Horse","Kabarda Horse","Kafa","Kaimanawa Horses","Kalmyk Horse","Karabair","Karabakh Horse","Karachai Horse","Karossier","Kathiawari","Kazakh Horse","Kentucky Mountain Saddle Horse","Kiger Mustang","Kinsky Horse","Kisber Felver","Kiso Horse","Kladruber","Knabstrupper","Konik","Kundudo","Kustanair","Kyrgyz Horse","Latvian Horse","Lipizzan","Lithuanian Heavy Draught","Lokai","Losino Horse","Lusitano","Lyngshest","M'Bayar","M'Par","Mallorquín","Malopolski","Mangalarga","Mangalarga Marchador","Maremmano","Marismeño Horse","Marsh Tacky","Marwari Horse","Mecklenburger","Međimurje Horse","Menorquín","Mérens Horse","Messara Horse","Metis Trotter","Mezőhegyesi Sport Horse","Miniature Horse","Misaki Horse","Missouri Fox Trotter","Monchina","Mongolian Horse","Mongolian Wild Horse","Monterufolino","Morab","Morgan Horse","Mountain Pleasure Horse","Moyle Horse","Murakoz Horse","Murgese","Mustang Horse","Namib Desert Horse","Nangchen Horse","National Show Horse","Nez Perce Horse","Nivernais Horse","Nokota Horse","Noma","Nonius Horse","Nooitgedachter","Nordlandshest","Noriker Horse","Norman Cob","North American Single-Footer Horse","North Swedish Horse","Norwegian Coldblood Trotter","Norwegian Fjord","Novokirghiz","Oberlander Horse","Ogaden","Oldenburg Horse","Orlov trotter","Ostfriesen","Paint","Pampa Horse","Paso Fino","Pentro Horse","Percheron","Persano Horse","Peruvian Paso","Pintabian","Pleven Horse","Poitevin Horse","Posavac Horse","Pottok","Pryor Mountain Mustang","Przewalski's Horse","Pura Raza Española","Purosangue Orientale","Qatgani","Quarab","Quarter Horse","Racking Horse","Retuerta Horse","Rhenish German Coldblood","Rhinelander Horse","Riwoche Horse","Rocky Mountain Horse","Romanian Sporthorse","Rottaler","Russian Don","Russian Heavy Draft","Russian Trotter","Saddlebred","Salerno Horse","Samolaco Horse","San Fratello Horse","Sarcidano Horse","Sardinian Anglo-Arab","Schleswig Coldblood","Schwarzwälder Kaltblut","Selale","Sella Italiano","Selle Français","Shagya Arabian","Shan Horse","Shire Horse","Siciliano Indigeno","Silesian Horse","Sokolsky Horse","Sorraia","South German Coldblood","Soviet Heavy Draft","Spanish Anglo-Arab","Spanish Barb","Spanish Jennet Horse","Spanish Mustang","Spanish Tarpan","Spanish-Norman Horse","Spiti Horse","Spotted Saddle Horse","Standardbred Horse","Suffolk Punch","Swedish Ardennes","Swedish coldblood trotter","Swedish Warmblood","Swiss Warmblood","Taishū Horse","Takhi","Tawleed","Tchernomor","Tennessee Walking Horse","Tersk Horse","Thoroughbred","Tiger Horse","Tinker Horse","Tolfetano","Tori Horse","Trait Du Nord","Trakehner","Tsushima","Tuigpaard","Ukrainian Riding Horse","Unmol Horse","Uzunyayla","Ventasso Horse","Virginia Highlander","Vlaamperd","Vladimir Heavy Draft","Vyatka","Waler","Waler Horse","Walkaloosa","Warlander","Warmblood","Welsh Cob","Westphalian Horse","Wielkopolski","Württemberger","Xilingol Horse","Yakutian Horse","Yili Horse","Yonaguni Horse","Zaniskari","Žemaitukas","Zhemaichu","Zweibrücker"],DGt=["Acacia-ants","Acorn-plum gall","Aerial yellowjacket","Africanized honey bee","Allegheny mound ant","Almond stone wasp","Ant","Arboreal ant","Argentine ant","Asian paper wasp","Baldfaced hornet","Bee","Bigheaded ant","Black and yellow mud dauber","Black carpenter ant","Black imported fire ant","Blue horntail woodwasp","Blue orchard bee","Braconid wasp","Bumble bee","Carpenter ant","Carpenter wasp","Chalcid wasp","Cicada killer","Citrus blackfly parasitoid","Common paper wasp","Crazy ant","Cuckoo wasp","Cynipid gall wasp","Eastern Carpenter bee","Eastern yellowjacket","Elm sawfly","Encyrtid wasp","Erythrina gall wasp","Eulophid wasp","European hornet","European imported fire ant","False honey ant","Fire ant","Forest bachac","Forest yellowjacket","German yellowjacket","Ghost ant","Giant ichneumon wasp","Giant resin bee","Giant wood wasp","Golden northern bumble bee","Golden paper wasp","Gouty oak gall","Grass Carrying Wasp","Great black wasp","Great golden digger wasp","Hackberry nipple gall parasitoid","Honey bee","Horned oak gall","Horse guard wasp","Hunting wasp","Ichneumonid wasp","Keyhole wasp","Knopper gall","Large garden bumble bee","Large oak-apple gall","Leafcutting bee","Little fire ant","Little yellow ant","Long-horned bees","Long-legged ant","Macao paper wasp","Mallow bee","Marble gall","Mossyrose gall wasp","Mud-daubers","Multiflora rose seed chalcid","Oak apple gall wasp","Oak rough bulletgall wasp","Oak saucer gall","Oak shoot sawfly","Odorous house ant","Orange-tailed bumble bee","Orangetailed potter wasp","Oriental chestnut gall wasp","Paper wasp","Pavement ant","Pigeon tremex","Pip gall wasp","Prairie yellowjacket","Pteromalid wasp","Pyramid ant","Raspberry Horntail","Red ant","Red carpenter ant","Red harvester ant","Red imported fire ant","Red wasp","Red wood ant","Red-tailed wasp","Reddish carpenter ant","Rough harvester ant","Sawfly parasitic wasp","Scale parasitoid","Silky ant","Sirex woodwasp","Siricid woodwasp","Smaller yellow ant","Southeastern blueberry bee","Southern fire ant","Southern yellowjacket","Sphecid wasp","Stony gall","Sweat bee","Texas leafcutting ant","Tiphiid wasp","Torymid wasp","Tramp ant","Valentine ant","Velvet ant","Vespid wasp","Weevil parasitoid","Western harvester ant","Western paper wasp","Western thatching ant","Western yellowjacket","White-horned horntail","Willow shoot sawfly","Woodwasp","Wool sower gall maker","Yellow and black potter wasp","Yellow Crazy Ant","Yellow-horned horntail"],MGt=["Asiatic Lion","Barbary Lion","West African Lion","Northeast Congo Lion","Masai Lion","Transvaal lion","Cape lion"],kGt=["American","American Chinchilla","American Fuzzy Lop","American Sable","Argente Brun","Belgian Hare","Beveren","Blanc de Hotot","Britannia Petite","Californian","Champagne D’Argent","Checkered Giant","Cinnamon","Crème D’Argent","Dutch","Dwarf Hotot","English Angora","English Lop","English Spot","Flemish Giant","Florida White","French Angora","French Lop","Giant Angora","Giant Chinchilla","Harlequin","Havana","Himalayan","Holland Lop","Jersey Wooly","Lilac","Lionhead","Mini Lop","Mini Rex","Mini Satin","Netherland Dwarf","New Zealand","Palomino","Polish","Rex","Rhinelander","Satin","Satin Angora","Silver","Silver Fox","Silver Marten","Standard Chinchilla","Tan","Thrianta"],NGt=["Abrocoma","Abrocoma schistacea","Aconaemys","Aconaemys porteri","African brush-tailed porcupine","Andean mountain cavy","Argentine tuco-tuco","Ashy chinchilla rat","Asiatic brush-tailed porcupine","Atherurus","Azara's agouti","Azara's tuco-tuco","Bahia porcupine","Bathyergus","Bathyergus janetta","Bathyergus suillus","Bennett's chinchilla rat","Bicolored-spined porcupine","Black agouti","Black dwarf porcupine","Black-rumped agouti","Black-tailed hairy dwarf porcupine","Bolivian chinchilla rat","Bolivian tuco-tuco","Bonetto's tuco-tuco","Brandt's yellow-toothed cavy","Brazilian guinea pig","Brazilian porcupine","Brazilian tuco-tuco","Bridge's degu","Brown hairy dwarf porcupine","Budin's chinchilla rat, A. budini","Cape porcupine","Catamarca tuco-tuco","Cavia","Central American agouti","Chacoan tuco-tuco","Chilean rock rat","Chinchilla","Coendou","Coiban agouti","Colburn's tuco-tuco","Collared tuco-tuco","Common degu","Common yellow-toothed cavy","Conover's tuco-tuco","Coruro","Crested agouti","Crested porcupine","Cryptomys","Cryptomys bocagei","Cryptomys damarensis","Cryptomys foxi","Cryptomys hottentotus","Cryptomys mechowi","Cryptomys ochraceocinereus","Cryptomys zechi","Ctenomys","Cuniculus","Cuscomys","Cuscomys ashanika","Dactylomys","Dactylomys boliviensis","Dactylomys dactylinus","Dactylomys peruanus","Dasyprocta","Domestic guinea pig","Emily's tuco-tuco","Erethizon","Famatina chinchilla rat","Frosted hairy dwarf porcupine","Fukomys","Fukomys amatus","Fukomys anselli","Fukomys bocagei","Fukomys damarensis","Fukomys darlingi","Fukomys foxi","Fukomys ilariae","Fukomys kafuensis","Fukomys mechowii","Fukomys micklemi","Fukomys occlusus","Fukomys ochraceocinereus","Fukomys whytei","Fukomys zechi","Furtive tuco-tuco","Galea","Georychus","Georychus capensis","Golden viscacha-rat","Goya tuco-tuco","Greater guinea pig","Green acouchi","Haig's tuco-tuco","Heliophobius","Heliophobius argenteocinereus","Heterocephalus","Heterocephalus glaber","Highland tuco-tuco","Hystrix","Indian porcupine","Isla Mocha degu","Kalinowski agouti","Kannabateomys","Kannabateomys amblyonyx","Lagidium","Lagostomus","Lewis' tuco-tuco","Long-tailed chinchilla","Long-tailed porcupine","Los Chalchaleros' viscacha-rat","Lowland paca","Magellanic tuco-tuco","Malayan porcupine","Maule tuco-tuco","Mendoza tuco-tuco","Mexican agouti","Mexican hairy dwarf porcupine","Microcavia","Montane guinea pig","Moon-toothed degu","Mottled tuco-tuco","Mountain degu","Mountain paca","Mountain viscacha-rat","Myoprocta","Natterer's tuco-tuco","North American porcupine","Northern viscacha","Octodon","Octodontomys","Octomys","Olallamys","Olallamys albicauda","Olallamys edax","Orinoco agouti","Paraguaian hairy dwarf porcupine","Pearson's tuco-tuco","Peruvian tuco-tuco","Philippine porcupine","Pipanacoctomys","Plains viscacha","Plains viscacha-rat","Porteous' tuco-tuco","Punta de Vacas chinchilla rat","Red acouchi","Red-rumped agouti","Reddish tuco-tuco","Rio Negro tuco-tuco","Robust tuco-tuco","Roosmalen's dwarf porcupine","Rothschild's porcupine","Ruatan Island agouti","Sage's rock rat","Salinoctomys","Salta tuco-tuco","San Luis tuco-tuco","Santa Catarina's guinea pig","Shiny guinea pig","Shipton's mountain cavy","Short-tailed chinchilla","Silky tuco-tuco","Social tuco-tuco","Southern mountain cavy","Southern tuco-tuco","Southern viscacha","Spalacopus","Spix's yellow-toothed cavy","Steinbach's tuco-tuco","Streaked dwarf porcupine","Strong tuco-tuco","Stump-tailed porcupine","Sumatran porcupine","Sunda porcupine","Talas tuco-tuco","Tawny tuco-tuco","Thick-spined porcupine","Tiny tuco-tuco","Trichys","Tucuman tuco-tuco","Tympanoctomys","Uspallata chinchilla rat","White-toothed tuco-tuco","Wolffsohn's viscacha"],TGt=["Viper Adder","Common adder","Death Adder","Desert death adder","Horned adder","Long-nosed adder","Many-horned adder","Mountain adder","Mud adder","Namaqua dwarf adder","Nightingale adder","Peringuey's adder","Puff adder","African puff adder","Rhombic night adder","Sand adder","Dwarf sand adder","Namib dwarf sand adder","Water adder","Aesculapian snake","Anaconda","Bolivian anaconda","De Schauensee's anaconda","Green anaconda","Yellow anaconda","Arafura file snake","Asp","European asp","Egyptian asp","African beaked snake","Ball Python","Bird snake","Black-headed snake","Mexican black kingsnake","Black rat snake","Black snake","Red-bellied black snake","Blind snake","Brahminy blind snake","Texas blind snake","Western blind snake","Boa","Abaco Island boa","Amazon tree boa","Boa constrictor","Cuban boa","Dumeril's boa","Dwarf boa","Emerald tree boa","Hogg Island boa","Jamaican boa","Madagascar ground boa","Madagascar tree boa","Puerto Rican boa","Rainbow boa","Red-tailed boa","Rosy boa","Rubber boa","Sand boa","Tree boa","Boiga","Boomslang","Brown snake","Eastern brown snake","Bull snake","Bushmaster","Dwarf beaked snake","Rufous beaked snake","Canebrake","Cantil","Cascabel","Cat-eyed snake","Banded cat-eyed snake","Green cat-eyed snake","Cat snake","Andaman cat snake","Beddome's cat snake","Dog-toothed cat snake","Forsten's cat snake","Gold-ringed cat snake","Gray cat snake","Many-spotted cat snake","Tawny cat snake","Chicken snake","Coachwhip snake","Cobra","Andaman cobra","Arabian cobra","Asian cobra","Banded water cobra","Black-necked cobra","Black-necked spitting cobra","Black tree cobra","Burrowing cobra","Cape cobra","Caspian cobra","Congo water cobra","Common cobra","Eastern water cobra","Egyptian cobra","Equatorial spitting cobra","False cobra","False water cobra","Forest cobra","Gold tree cobra","Indian cobra","Indochinese spitting cobra","Javan spitting cobra","King cobra","Mandalay cobra","Mozambique spitting cobra","North Philippine cobra","Nubian spitting cobra","Philippine cobra","Red spitting cobra","Rinkhals cobra","Shield-nosed cobra","Sinai desert cobra","Southern Indonesian spitting cobra","Southern Philippine cobra","Southwestern black spitting cobra","Snouted cobra","Spectacled cobra","Spitting cobra","Storm water cobra","Thai cobra","Taiwan cobra","Zebra spitting cobra","Collett's snake","Congo snake","Copperhead","American copperhead","Australian copperhead","Coral snake","Arizona coral snake","Beddome's coral snake","Brazilian coral snake","Cape coral snake","Harlequin coral snake","High Woods coral snake","Malayan long-glanded coral snake","Texas Coral Snake","Western coral snake","Corn snake","South eastern corn snake","Cottonmouth","Crowned snake","Cuban wood snake","Eastern hognose snake","Egg-eater","Eastern coral snake","Fer-de-lance","Fierce snake","Fishing snake","Flying snake","Golden tree snake","Indian flying snake","Moluccan flying snake","Ornate flying snake","Paradise flying snake","Twin-Barred tree snake","Banded Flying Snake","Fox snake, three species of Pantherophis","Forest flame snake","Garter snake","Checkered garter snake","Common garter snake","San Francisco garter snake","Texas garter snake","Cape gopher snake","Grass snake","Green snake","Rough green snake","Smooth green snake","Ground snake","Common ground snake","Three-lined ground snake","Western ground snake","Habu","Hognose snake","Blonde hognose snake","Dusty hognose snake","Jan's hognose snake","Giant Malagasy hognose snake","Mexican hognose snake","South American hognose snake","Hundred pacer","Ikaheka snake","Indigo snake","Jamaican Tree Snake","Keelback","Asian keelback","Assam keelback","Black-striped keelback","Buff striped keelback","Burmese keelback","Checkered keelback","Common keelback","Hill keelback","Himalayan keelback","Khasi Hills keelback","Modest keelback","Nicobar Island keelback","Nilgiri keelback","Orange-collared keelback","Red-necked keelback","Sikkim keelback","Speckle-bellied keelback","White-lipped keelback","Wynaad keelback","Yunnan keelback","King brown","King snake","California kingsnake","Desert kingsnake","Grey-banded kingsnake","North eastern king snake","Prairie kingsnake","Scarlet kingsnake","Speckled kingsnake","Krait","Banded krait","Blue krait","Black krait","Burmese krait","Ceylon krait","Indian krait","Lesser black krait","Malayan krait","Many-banded krait","Northeastern hill krait","Red-headed krait","Sind krait","Large shield snake","Lancehead","Common lancehead","Lora","Grey Lora","Lyre snake","Baja California lyresnake","Central American lyre snake","Texas lyre snake","Eastern lyre snake","Machete savane","Mamba","Black mamba","Green mamba","Eastern green mamba","Western green mamba","Mamushi","Mangrove snake","Milk snake","Moccasin snake","Montpellier snake","Mud snake","Eastern mud snake","Western mud snake","Mussurana","Night snake","Cat-eyed night snake","Texas night snake","Nichell snake","Narrowhead Garter Snake","Nose-horned viper","Rhinoceros viper","Vipera ammodytes","Parrot snake","Mexican parrot snake","Patchnose snake","Perrotet's shieldtail snake","Pine snake","Pipe snake","Asian pipe snake","Dwarf pipe snake","Red-tailed pipe snake","Python","African rock python","Amethystine python","Angolan python","Australian scrub python","Ball python","Bismarck ringed python","Black headed python","Blood python","Boelen python","Borneo short-tailed python","Bredl's python","Brown water python","Burmese python","Calabar python","Western carpet python","Centralian carpet python","Coastal carpet python","Inland carpet python","Jungle carpet python","New Guinea carpet python","Northwestern carpet python","Southwestern carpet python","Children's python","Dauan Island water python","Desert woma python","Diamond python","Flinders python","Green tree python","Halmahera python","Indian python","Indonesian water python","Macklot's python","Mollucan python","Oenpelli python","Olive python","Papuan python","Pygmy python","Red blood python","Reticulated python","Kayaudi dwarf reticulated python","Selayer reticulated python","Rough-scaled python","Royal python","Savu python","Spotted python","Stimson's python","Sumatran short-tailed python","Tanimbar python","Timor python","Wetar Island python","White-lipped python","Brown white-lipped python","Northern white-lipped python","Southern white-lipped python","Woma python","Western woma python","Queen snake","Racer","Bimini racer","Buttermilk racer","Eastern racer","Eastern yellowbelly sad racer","Mexican racer","Southern black racer","Tan racer","West Indian racer","Raddysnake","Southwestern blackhead snake","Rat snake","Baird's rat snake","Beauty rat snake","Great Plains rat snake","Green rat snake","Japanese forest rat snake","Japanese rat snake","King rat snake","Mandarin rat snake","Persian rat snake","Red-backed rat snake","Twin-spotted rat snake","Yellow-striped rat snake","Manchurian Black Water Snake","Rattlesnake","Arizona black rattlesnake","Aruba rattlesnake","Chihuahuan ridge-nosed rattlesnake","Coronado Island rattlesnake","Durango rock rattlesnake","Dusky pigmy rattlesnake","Eastern diamondback rattlesnake","Grand Canyon rattlesnake","Great Basin rattlesnake","Hopi rattlesnake","Lance-headed rattlesnake","Long-tailed rattlesnake","Massasauga rattlesnake","Mexican green rattlesnake","Mexican west coast rattlesnake","Midget faded rattlesnake","Mojave rattlesnake","Northern black-tailed rattlesnake","Oaxacan small-headed rattlesnake","Rattler","Red diamond rattlesnake","Southern Pacific rattlesnake","Southwestern speckled rattlesnake","Tancitaran dusky rattlesnake","Tiger rattlesnake","Timber rattlesnake","Tropical rattlesnake","Twin-spotted rattlesnake","Uracoan rattlesnake","Western diamondback rattlesnake","Ribbon snake","Rinkhals","River jack","Sea snake","Annulated sea snake","Beaked sea snake","Dubois's sea snake","Hardwicke's sea snake","Hook Nosed Sea Snake","Olive sea snake","Pelagic sea snake","Stoke's sea snake","Yellow-banded sea snake","Yellow-bellied sea snake","Yellow-lipped sea snake","Shield-tailed snake","Sidewinder","Colorado desert sidewinder","Mojave desert sidewinder","Sonoran sidewinder","Small-eyed snake","Smooth snake","Brazilian smooth snake","European smooth snake","Stiletto snake","Striped snake","Japanese striped snake","Sunbeam snake","Taipan","Central ranges taipan","Coastal taipan","Inland taipan","Paupan taipan","Tentacled snake","Tic polonga","Tiger snake","Chappell Island tiger snake","Common tiger snake","Down's tiger snake","Eastern tiger snake","King Island tiger snake","Krefft's tiger snake","Peninsula tiger snake","Tasmanian tiger snake","Western tiger snake","Tigre snake","Tree snake","Blanding's tree snake","Blunt-headed tree snake","Brown tree snake","Long-nosed tree snake","Many-banded tree snake","Northern tree snake","Trinket snake","Black-banded trinket snake","Twig snake","African twig snake","Twin Headed King Snake","Titanboa","Urutu","Vine snake","Asian Vine Snake, Whip Snake","American Vine Snake","Mexican vine snake","Viper","Asp viper","Bamboo viper","Bluntnose viper","Brazilian mud Viper","Burrowing viper","Bush viper","Great Lakes bush viper","Hairy bush viper","Nitsche's bush viper","Rough-scaled bush viper","Spiny bush viper","Carpet viper","Crossed viper","Cyclades blunt-nosed viper","Eyelash viper","False horned viper","Fea's viper","Fifty pacer","Gaboon viper","Hognosed viper","Horned desert viper","Horned viper","Jumping viper","Kaznakov's viper","Leaf-nosed viper","Leaf viper","Levant viper","Long-nosed viper","McMahon's viper","Mole viper","Palestine viper","Pallas' viper","Palm viper","Amazonian palm viper","Black-speckled palm-pitviper","Eyelash palm-pitviper","Green palm viper","Mexican palm-pitviper","Guatemalan palm viper","Honduran palm viper","Siamese palm viper","Side-striped palm-pitviper","Yellow-lined palm viper","Pit viper","Banded pitviper","Bamboo pitviper","Barbour's pit viper","Black-tailed horned pit viper","Bornean pitviper","Brongersma's pitviper","Brown spotted pitviper[4]","Cantor's pitviper","Elegant pitviper","Eyelash pit viper","Fan-Si-Pan horned pitviper","Flat-nosed pitviper","Godman's pit viper","Green tree pit viper","Habu pit viper","Hagen's pitviper","Horseshoe pitviper","Jerdon's pitviper","Kanburian pit viper","Kaulback's lance-headed pitviper","Kham Plateau pitviper","Large-eyed pitviper","Malabar rock pitviper","Malayan pit viper","Mangrove pit viper","Mangshan pitviper","Motuo bamboo pitviper","Nicobar bamboo pitviper","Philippine pitviper","Pointed-scaled pit viper[5]","Red-tailed bamboo pitviper","Schultze's pitviper","Stejneger's bamboo pitviper","Sri Lankan pit viper","Temple pit viper","Tibetan bamboo pitviper","Tiger pit viper","Undulated pit viper","Wagler's pit viper","Wirot's pit viper","Portuguese viper","Saw-scaled viper","Schlegel's viper","Sedge viper","Sharp-nosed viper","Snorkel viper","Temple viper","Tree viper","Chinese tree viper","Guatemalan tree viper","Hutton's tree viper","Indian tree viper","Large-scaled tree viper","Malcolm's tree viper","Nitsche's tree viper","Pope's tree viper","Rough-scaled tree viper","Rungwe tree viper","Sumatran tree viper","White-lipped tree viper","Ursini's viper","Western hog-nosed viper","Wart snake","Water moccasin","Water snake","Bocourt's water snake","Northern water snake","Whip snake","Long-nosed whip snake","Wolf snake","African wolf snake","Barred wolf snake","Worm snake","Common worm snake","Longnosed worm snake","Wutu","Yarara","Zebra snake"],EGt=["dog","cat","snake","bear","lion","cetacean","insect","crocodilia","cow","bird","fish","rabbit","horse"],ZGt={bear:yGt,bird:CGt,cat:wGt,cetacean:SGt,cow:xGt,crocodilia:LGt,dog:_Gt,fish:FGt,horse:IGt,insect:DGt,lion:MGt,rabbit:kGt,rodent:NGt,snake:TGt,type:EGt},WGt=ZGt,RGt=["{{person.name}}","{{company.name}}"],VGt=["Redhold","Treeflex","Trippledex","Kanlam","Bigtax","Daltfresh","Toughjoyfax","Mat Lam Tam","Otcom","Tres-Zap","Y-Solowarm","Tresom","Voltsillam","Biodex","Greenlam","Viva","Matsoft","Temp","Zoolab","Subin","Rank","Job","Stringtough","Tin","It","Home Ing","Zamit","Sonsing","Konklab","Alpha","Latlux","Voyatouch","Alphazap","Holdlamis","Zaam-Dox","Sub-Ex","Quo Lux","Bamity","Ventosanzap","Lotstring","Hatity","Tempsoft","Overhold","Fixflex","Konklux","Zontrax","Tampflex","Span","Namfix","Transcof","Stim","Fix San","Sonair","Stronghold","Fintone","Y-find","Opela","Lotlux","Ronstring","Zathin","Duobam","Keylex"],AGt=["0.#.#","0.##","#.##","#.#","#.#.#"],GGt={author:RGt,name:VGt,version:AGt},XGt=GGt,PGt=["###-###-####","(###) ###-####","1-###-###-####","###.###.####"],OGt={formats:PGt},BGt=OGt,zGt=["red","green","blue","yellow","purple","mint green","teal","white","black","orange","pink","grey","maroon","violet","turquoise","tan","sky blue","salmon","plum","orchid","olive","magenta","lime","ivory","indigo","gold","fuchsia","cyan","azure","lavender","silver"],HGt={human:zGt},YGt=HGt,UGt=["Books","Movies","Music","Games","Electronics","Computers","Home","Garden","Tools","Grocery","Health","Beauty","Toys","Kids","Baby","Clothing","Shoes","Jewelery","Sports","Outdoors","Automotive","Industrial"],KGt=["Ergonomic executive chair upholstered in bonded black leather and PVC padded seat and back for all-day comfort and support","The automobile layout consists of a front-engine design, with transaxle-type transmissions mounted at the rear of the engine and four wheel drive","New ABC 13 9370, 13.3, 5th Gen CoreA5-8250U, 8GB RAM, 256GB SSD, power UHD Graphics, OS 10 Home, OS Office A & J 2016","The slim & simple Maple Gaming Keyboard from Dev Byte comes with a sleek body and 7- Color RGB LED Back-lighting for smart functionality","The Apollotech B340 is an affordable wireless mouse with reliable connectivity, 12 months battery life and modern design","The Nagasaki Lander is the trademarked name of several series of Nagasaki sport bikes, that started with the 1984 ABC800J","The Football Is Good For Training And Recreational Purposes","Carbonite web goalkeeper gloves are ergonomically designed to give easy fit","Boston's most advanced compression wear technology increases muscle oxygenation, stabilizes active muscles","New range of formal shirts are designed keeping you in mind. With fits and styling that will make you stand apart","The beautiful range of Apple Naturalé that has an exciting mix of natural ingredients. With the Goodness of 100% Natural Ingredients","Andy shoes are designed to keeping in mind durability as well as trends, the most stylish range of shoes & sandals"],JGt={adjective:["Small","Ergonomic","Electronic","Rustic","Intelligent","Gorgeous","Incredible","Elegant","Fantastic","Practical","Modern","Recycled","Sleek","Bespoke","Awesome","Generic","Handcrafted","Handmade","Oriental","Licensed","Luxurious","Refined","Unbranded","Tasty"],material:["Steel","Bronze","Wooden","Concrete","Plastic","Cotton","Granite","Rubber","Metal","Soft","Fresh","Frozen"],product:["Chair","Car","Computer","Keyboard","Mouse","Bike","Ball","Gloves","Pants","Shirt","Table","Shoes","Hat","Towels","Soap","Tuna","Chicken","Fish","Cheese","Bacon","Pizza","Salad","Sausages","Chips"]},jGt={department:UGt,product_description:KGt,product_name:JGt},QGt=jGt,$Gt=["Adaptive","Advanced","Ameliorated","Assimilated","Automated","Balanced","Business-focused","Centralized","Cloned","Compatible","Configurable","Cross-group","Cross-platform","Customer-focused","Customizable","Decentralized","De-engineered","Devolved","Digitized","Distributed","Diverse","Down-sized","Enhanced","Enterprise-wide","Ergonomic","Exclusive","Expanded","Extended","Face to face","Focused","Front-line","Fully-configurable","Function-based","Fundamental","Future-proofed","Grass-roots","Horizontal","Implemented","Innovative","Integrated","Intuitive","Inverse","Managed","Mandatory","Monitored","Multi-channelled","Multi-lateral","Multi-layered","Multi-tiered","Networked","Object-based","Open-architected","Open-source","Operative","Optimized","Optional","Organic","Organized","Persevering","Persistent","Phased","Polarised","Pre-emptive","Proactive","Profit-focused","Profound","Programmable","Progressive","Public-key","Quality-focused","Reactive","Realigned","Re-contextualized","Re-engineered","Reduced","Reverse-engineered","Right-sized","Robust","Seamless","Secured","Self-enabling","Sharable","Stand-alone","Streamlined","Switchable","Synchronised","Synergistic","Synergized","Team-oriented","Total","Triple-buffered","Universal","Up-sized","Upgradable","User-centric","User-friendly","Versatile","Virtual","Visionary","Vision-oriented"],qGt=["clicks-and-mortar","value-added","vertical","proactive","robust","revolutionary","scalable","leading-edge","innovative","intuitive","strategic","e-business","mission-critical","sticky","one-to-one","24/7","end-to-end","global","B2B","B2C","granular","frictionless","virtual","viral","dynamic","24/365","best-of-breed","killer","magnetic","bleeding-edge","web-enabled","interactive","dot-com","sexy","back-end","real-time","efficient","front-end","distributed","seamless","extensible","turn-key","world-class","open-source","cross-platform","cross-media","synergistic","bricks-and-clicks","out-of-the-box","enterprise","integrated","impactful","wireless","transparent","next-generation","cutting-edge","user-centric","visionary","customized","ubiquitous","plug-and-play","collaborative","compelling","holistic","rich"],eXt=["synergies","paradigms","markets","partnerships","infrastructures","platforms","initiatives","channels","eyeballs","communities","ROI","solutions","action-items","portals","niches","technologies","content","supply-chains","convergence","relationships","architectures","interfaces","e-markets","e-commerce","systems","bandwidth","models","mindshare","deliverables","users","schemas","networks","applications","metrics","e-business","functionalities","experiences","web services","methodologies","blockchains","lifetime value"],tXt=["implement","utilize","integrate","streamline","optimize","evolve","transform","embrace","enable","orchestrate","leverage","reinvent","aggregate","architect","enhance","incentivize","morph","empower","envisioneer","monetize","harness","facilitate","seize","disintermediate","synergize","strategize","deploy","brand","grow","target","syndicate","synthesize","deliver","mesh","incubate","engage","maximize","benchmark","expedite","reintermediate","whiteboard","visualize","repurpose","innovate","scale","unleash","drive","extend","engineer","revolutionize","generate","exploit","transition","e-enable","iterate","cultivate","matrix","productize","redefine","recontextualize"],nXt=["24 hour","24/7","3rd generation","4th generation","5th generation","6th generation","actuating","analyzing","asymmetric","asynchronous","attitude-oriented","background","bandwidth-monitored","bi-directional","bifurcated","bottom-line","clear-thinking","client-driven","client-server","coherent","cohesive","composite","context-sensitive","contextually-based","content-based","dedicated","demand-driven","didactic","directional","discrete","disintermediate","dynamic","eco-centric","empowering","encompassing","even-keeled","executive","explicit","exuding","fault-tolerant","foreground","fresh-thinking","full-range","global","grid-enabled","heuristic","high-level","holistic","homogeneous","human-resource","hybrid","impactful","incremental","intangible","interactive","intermediate","leading edge","local","logistical","maximized","methodical","mission-critical","mobile","modular","motivating","multimedia","multi-state","multi-tasking","national","needs-based","neutral","next generation","non-volatile","object-oriented","optimal","optimizing","radical","real-time","reciprocal","regional","responsive","scalable","secondary","solution-oriented","stable","static","systematic","systemic","system-worthy","tangible","tertiary","transitional","uniform","upward-trending","user-facing","value-added","web-enabled","well-modulated","zero administration","zero defect","zero tolerance"],iXt=["{{person.last_name}} {{company.suffix}}","{{person.last_name}} - {{person.last_name}}","{{person.last_name}}, {{person.last_name}} and {{person.last_name}}"],rXt=["ability","access","adapter","algorithm","alliance","analyzer","application","approach","architecture","archive","artificial intelligence","array","attitude","benchmark","budgetary management","capability","capacity","challenge","circuit","collaboration","complexity","concept","conglomeration","contingency","core","customer loyalty","database","data-warehouse","definition","emulation","encoding","encryption","extranet","firmware","flexibility","focus group","forecast","frame","framework","function","functionalities","Graphic Interface","groupware","Graphical User Interface","hardware","help-desk","hierarchy","hub","implementation","info-mediaries","infrastructure","initiative","installation","instruction set","interface","internet solution","intranet","knowledge user","knowledge base","local area network","leverage","matrices","matrix","methodology","middleware","migration","model","moderator","monitoring","moratorium","neural-net","open architecture","open system","orchestration","paradigm","parallelism","policy","portal","pricing structure","process improvement","product","productivity","project","projection","protocol","secured line","service-desk","software","solution","standardization","strategy","structure","success","superstructure","support","synergy","system engine","task-force","throughput","time-frame","toolset","utilisation","website","workforce"],oXt=["Inc","and Sons","LLC","Group"],sXt={adjective:$Gt,buzz_adjective:qGt,buzz_noun:eXt,buzz_verb:tXt,descriptor:nXt,name_pattern:iXt,noun:rXt,suffix:oXt},aXt=sXt,lXt=["id","title","name","email","phone","token","group","category","password","comment","avatar","status","createdAt","updatedAt"],uXt={column:lXt},cXt=uXt,dXt={wide:["January","February","March","April","May","June","July","August","September","October","November","December"],abbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]},hXt={wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],abbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},mXt={month:dXt,weekday:hXt},fXt=mXt,gXt=["Checking","Savings","Money Market","Investment","Home Loan","Credit Card","Auto Loan","Personal Loan"],pXt=["34##-######-####L","37##-######-####L"],bXt=["30[0-5]#-######-###L","36##-######-###L","54##-####-####-###L"],vXt=["6011-####-####-###L","65##-####-####-###L","64[4-9]#-####-####-###L","6011-62##-####-####-###L","65##-62##-####-####-###L","64[4-9]#-62##-####-####-###L"],yXt=["3528-####-####-###L","3529-####-####-###L","35[3-8]#-####-####-###L"],CXt=["5018-#{4}-#{4}-#{3}L","5020-#{4}-#{4}-#{3}L","5038-#{4}-#{4}-#{3}L","5893-#{4}-#{4}-#{3}L","6304-#{4}-#{4}-#{3}L","6759-#{4}-#{4}-#{3}L","676[1-3]-####-####-###L","5018#{11,15}L","5020#{11,15}L","5038#{11,15}L","5893#{11,15}L","6304#{11,15}L","6759#{11,15}L","676[1-3]#{11,15}L"],wXt=["5[1-5]##-####-####-###L","2[221-720]-####-####-###L"],SXt=["4###########L","4###-####-####-###L"],xXt={american_express:pXt,diners_club:bXt,discover:vXt,jcb:yXt,maestro:CXt,mastercard:wXt,visa:SXt},LXt=xXt,_Xt=[{name:"UAE Dirham",code:"AED",symbol:""},{name:"Afghani",code:"AFN",symbol:"؋"},{name:"Lek",code:"ALL",symbol:"Lek"},{name:"Armenian Dram",code:"AMD",symbol:""},{name:"Netherlands Antillian Guilder",code:"ANG",symbol:"ƒ"},{name:"Kwanza",code:"AOA",symbol:""},{name:"Argentine Peso",code:"ARS",symbol:"$"},{name:"Australian Dollar",code:"AUD",symbol:"$"},{name:"Aruban Guilder",code:"AWG",symbol:"ƒ"},{name:"Azerbaijanian Manat",code:"AZN",symbol:"ман"},{name:"Convertible Marks",code:"BAM",symbol:"KM"},{name:"Barbados Dollar",code:"BBD",symbol:"$"},{name:"Taka",code:"BDT",symbol:""},{name:"Bulgarian Lev",code:"BGN",symbol:"лв"},{name:"Bahraini Dinar",code:"BHD",symbol:""},{name:"Burundi Franc",code:"BIF",symbol:""},{name:"Bermudian Dollar (customarily known as Bermuda Dollar)",code:"BMD",symbol:"$"},{name:"Brunei Dollar",code:"BND",symbol:"$"},{name:"Boliviano boliviano",code:"BOB",symbol:"Bs"},{name:"Brazilian Real",code:"BRL",symbol:"R$"},{name:"Bahamian Dollar",code:"BSD",symbol:"$"},{name:"Pula",code:"BWP",symbol:"P"},{name:"Belarusian Ruble",code:"BYN",symbol:"Rbl"},{name:"Belize Dollar",code:"BZD",symbol:"BZ$"},{name:"Canadian Dollar",code:"CAD",symbol:"$"},{name:"Congolese Franc",code:"CDF",symbol:""},{name:"Swiss Franc",code:"CHF",symbol:"CHF"},{name:"Chilean Peso",code:"CLP",symbol:"$"},{name:"Yuan Renminbi",code:"CNY",symbol:"¥"},{name:"Colombian Peso",code:"COP",symbol:"$"},{name:"Costa Rican Colon",code:"CRC",symbol:"₡"},{name:"Cuban Peso",code:"CUP",symbol:"₱"},{name:"Cape Verde Escudo",code:"CVE",symbol:""},{name:"Czech Koruna",code:"CZK",symbol:"Kč"},{name:"Djibouti Franc",code:"DJF",symbol:""},{name:"Danish Krone",code:"DKK",symbol:"kr"},{name:"Dominican Peso",code:"DOP",symbol:"RD$"},{name:"Algerian Dinar",code:"DZD",symbol:""},{name:"Egyptian Pound",code:"EGP",symbol:"£"},{name:"Nakfa",code:"ERN",symbol:""},{name:"Ethiopian Birr",code:"ETB",symbol:""},{name:"Euro",code:"EUR",symbol:"€"},{name:"Fiji Dollar",code:"FJD",symbol:"$"},{name:"Falkland Islands Pound",code:"FKP",symbol:"£"},{name:"Pound Sterling",code:"GBP",symbol:"£"},{name:"Lari",code:"GEL",symbol:""},{name:"Cedi",code:"GHS",symbol:""},{name:"Gibraltar Pound",code:"GIP",symbol:"£"},{name:"Dalasi",code:"GMD",symbol:""},{name:"Guinea Franc",code:"GNF",symbol:""},{name:"Quetzal",code:"GTQ",symbol:"Q"},{name:"Guyana Dollar",code:"GYD",symbol:"$"},{name:"Hong Kong Dollar",code:"HKD",symbol:"$"},{name:"Lempira",code:"HNL",symbol:"L"},{name:"Gourde",code:"HTG",symbol:""},{name:"Forint",code:"HUF",symbol:"Ft"},{name:"Rupiah",code:"IDR",symbol:"Rp"},{name:"New Israeli Sheqel",code:"ILS",symbol:"₪"},{name:"Bhutanese Ngultrum",code:"BTN",symbol:"Nu"},{name:"Indian Rupee",code:"INR",symbol:"₹"},{name:"Iraqi Dinar",code:"IQD",symbol:""},{name:"Iranian Rial",code:"IRR",symbol:"﷼"},{name:"Iceland Krona",code:"ISK",symbol:"kr"},{name:"Jamaican Dollar",code:"JMD",symbol:"J$"},{name:"Jordanian Dinar",code:"JOD",symbol:""},{name:"Yen",code:"JPY",symbol:"¥"},{name:"Kenyan Shilling",code:"KES",symbol:""},{name:"Som",code:"KGS",symbol:"лв"},{name:"Riel",code:"KHR",symbol:"៛"},{name:"Comoro Franc",code:"KMF",symbol:""},{name:"North Korean Won",code:"KPW",symbol:"₩"},{name:"Won",code:"KRW",symbol:"₩"},{name:"Kuwaiti Dinar",code:"KWD",symbol:""},{name:"Cayman Islands Dollar",code:"KYD",symbol:"$"},{name:"Tenge",code:"KZT",symbol:"лв"},{name:"Kip",code:"LAK",symbol:"₭"},{name:"Lebanese Pound",code:"LBP",symbol:"£"},{name:"Sri Lanka Rupee",code:"LKR",symbol:"₨"},{name:"Liberian Dollar",code:"LRD",symbol:"$"},{name:"Libyan Dinar",code:"LYD",symbol:""},{name:"Moroccan Dirham",code:"MAD",symbol:""},{name:"Moldovan Leu",code:"MDL",symbol:""},{name:"Malagasy Ariary",code:"MGA",symbol:""},{name:"Denar",code:"MKD",symbol:"ден"},{name:"Kyat",code:"MMK",symbol:""},{name:"Tugrik",code:"MNT",symbol:"₮"},{name:"Pataca",code:"MOP",symbol:""},{name:"Ouguiya",code:"MRU",symbol:""},{name:"Mauritius Rupee",code:"MUR",symbol:"₨"},{name:"Rufiyaa",code:"MVR",symbol:""},{name:"Kwacha",code:"MWK",symbol:""},{name:"Mexican Peso",code:"MXN",symbol:"$"},{name:"Malaysian Ringgit",code:"MYR",symbol:"RM"},{name:"Metical",code:"MZN",symbol:"MT"},{name:"Naira",code:"NGN",symbol:"₦"},{name:"Cordoba Oro",code:"NIO",symbol:"C$"},{name:"Norwegian Krone",code:"NOK",symbol:"kr"},{name:"Nepalese Rupee",code:"NPR",symbol:"₨"},{name:"New Zealand Dollar",code:"NZD",symbol:"$"},{name:"Rial Omani",code:"OMR",symbol:"﷼"},{name:"Balboa",code:"PAB",symbol:"B/."},{name:"Nuevo Sol",code:"PEN",symbol:"S/."},{name:"Kina",code:"PGK",symbol:""},{name:"Philippine Peso",code:"PHP",symbol:"Php"},{name:"Pakistan Rupee",code:"PKR",symbol:"₨"},{name:"Zloty",code:"PLN",symbol:"zł"},{name:"Guarani",code:"PYG",symbol:"Gs"},{name:"Qatari Rial",code:"QAR",symbol:"﷼"},{name:"New Leu",code:"RON",symbol:"lei"},{name:"Serbian Dinar",code:"RSD",symbol:"Дин."},{name:"Russian Ruble",code:"RUB",symbol:"руб"},{name:"Rwanda Franc",code:"RWF",symbol:""},{name:"Saudi Riyal",code:"SAR",symbol:"﷼"},{name:"Solomon Islands Dollar",code:"SBD",symbol:"$"},{name:"Seychelles Rupee",code:"SCR",symbol:"₨"},{name:"Sudanese Pound",code:"SDG",symbol:""},{name:"Swedish Krona",code:"SEK",symbol:"kr"},{name:"Singapore Dollar",code:"SGD",symbol:"$"},{name:"Saint Helena Pound",code:"SHP",symbol:"£"},{name:"Leone",code:"SLE",symbol:""},{name:"Somali Shilling",code:"SOS",symbol:"S"},{name:"Surinam Dollar",code:"SRD",symbol:"$"},{name:"South Sudanese pound",code:"SSP",symbol:""},{name:"Dobra",code:"STN",symbol:"Db"},{name:"Syrian Pound",code:"SYP",symbol:"£"},{name:"Lilangeni",code:"SZL",symbol:""},{name:"Baht",code:"THB",symbol:"฿"},{name:"Somoni",code:"TJS",symbol:""},{name:"Manat",code:"TMT",symbol:""},{name:"Tunisian Dinar",code:"TND",symbol:""},{name:"Pa'anga",code:"TOP",symbol:""},{name:"Turkish Lira",code:"TRY",symbol:"₺"},{name:"Trinidad and Tobago Dollar",code:"TTD",symbol:"TT$"},{name:"New Taiwan Dollar",code:"TWD",symbol:"NT$"},{name:"Tanzanian Shilling",code:"TZS",symbol:""},{name:"Hryvnia",code:"UAH",symbol:"₴"},{name:"Uganda Shilling",code:"UGX",symbol:""},{name:"US Dollar",code:"USD",symbol:"$"},{name:"Peso Uruguayo",code:"UYU",symbol:"$U"},{name:"Uzbekistan Sum",code:"UZS",symbol:"лв"},{name:"Venezuelan bolívar",code:"VES",symbol:"Bs"},{name:"Dong",code:"VND",symbol:"₫"},{name:"Vatu",code:"VUV",symbol:""},{name:"Tala",code:"WST",symbol:""},{name:"CFA Franc BEAC",code:"XAF",symbol:""},{name:"East Caribbean Dollar",code:"XCD",symbol:"$"},{name:"CFA Franc BCEAO",code:"XOF",symbol:""},{name:"CFP Franc",code:"XPF",symbol:""},{name:"Yemeni Rial",code:"YER",symbol:"﷼"},{name:"Rand",code:"ZAR",symbol:"R"},{name:"Lesotho Loti",code:"LSL",symbol:""},{name:"Namibia Dollar",code:"NAD",symbol:"N$"},{name:"Zambian Kwacha",code:"ZMW",symbol:"K"},{name:"Zimbabwe Dollar",code:"ZWL",symbol:""}],FXt=["deposit","withdrawal","payment","invoice"],IXt={account_type:gXt,credit_card:LXt,currency:_Xt,transaction_type:FXt},DXt=IXt,MXt=["auxiliary","primary","back-end","digital","open-source","virtual","cross-platform","redundant","online","haptic","multi-byte","bluetooth","wireless","1080p","neural","optical","solid state","mobile"],kXt=["backing up","bypassing","hacking","overriding","compressing","copying","navigating","indexing","connecting","generating","quantifying","calculating","synthesizing","transmitting","programming","parsing"],NXt=["driver","protocol","bandwidth","panel","microchip","program","port","card","array","interface","system","sensor","firewall","hard drive","pixel","alarm","feed","monitor","application","transmitter","bus","circuit","capacitor","matrix"],TXt=["If we {{verb}} the {{noun}}, we can get to the {{abbreviation}} {{noun}} through the {{adjective}} {{abbreviation}} {{noun}}!","We need to {{verb}} the {{adjective}} {{abbreviation}} {{noun}}!","Try to {{verb}} the {{abbreviation}} {{noun}}, maybe it will {{verb}} the {{adjective}} {{noun}}!","You can't {{verb}} the {{noun}} without {{ingverb}} the {{adjective}} {{abbreviation}} {{noun}}!","Use the {{adjective}} {{abbreviation}} {{noun}}, then you can {{verb}} the {{adjective}} {{noun}}!","The {{abbreviation}} {{noun}} is down, {{verb}} the {{adjective}} {{noun}} so we can {{verb}} the {{abbreviation}} {{noun}}!","{{ingverb}} the {{noun}} won't do anything, we need to {{verb}} the {{adjective}} {{abbreviation}} {{noun}}!","I'll {{verb}} the {{adjective}} {{abbreviation}} {{noun}}, that should {{noun}} the {{abbreviation}} {{noun}}!"],EXt=["back up","bypass","hack","override","compress","copy","navigate","index","connect","generate","quantify","calculate","synthesize","input","transmit","program","reboot","parse"],ZXt={adjective:MXt,ingverb:kXt,noun:NXt,phrase:TXt,verb:EXt},WXt=ZXt,RXt=["com","biz","info","name","net","org"],VXt=["example.org","example.com","example.net"],AXt=["gmail.com","yahoo.com","hotmail.com"],GXt={domain_suffix:RXt,example_email:VXt,free_email:AXt},XXt=GXt,PXt=["#####","####","###"],OXt=["Abilene","Akron","Alafaya","Alameda","Albany","Albuquerque","Alexandria","Alhambra","Aliso Viejo","Allen","Allentown","Aloha","Alpharetta","Altadena","Altamonte Springs","Altoona","Amarillo","Ames","Anaheim","Anchorage","Anderson","Ankeny","Ann Arbor","Annandale","Antelope","Antioch","Apex","Apopka","Apple Valley","Appleton","Arcadia","Arden-Arcade","Arecibo","Arlington","Arlington Heights","Arvada","Ashburn","Asheville","Aspen Hill","Atascocita","Athens-Clarke County","Atlanta","Attleboro","Auburn","Augusta-Richmond County","Aurora","Austin","Avondale","Azusa","Bakersfield","Baldwin Park","Baltimore","Barnstable Town","Bartlett","Baton Rouge","Battle Creek","Bayamon","Bayonne","Baytown","Beaumont","Beavercreek","Beaverton","Bedford","Bel Air South","Bell Gardens","Belleville","Bellevue","Bellflower","Bellingham","Bend","Bentonville","Berkeley","Berwyn","Bethesda","Bethlehem","Billings","Biloxi","Binghamton","Birmingham","Bismarck","Blacksburg","Blaine","Bloomington","Blue Springs","Boca Raton","Boise City","Bolingbrook","Bonita Springs","Bossier City","Boston","Bothell","Boulder","Bountiful","Bowie","Bowling Green","Boynton Beach","Bozeman","Bradenton","Brandon","Brentwood","Bridgeport","Bristol","Brockton","Broken Arrow","Brookhaven","Brookline","Brooklyn Park","Broomfield","Brownsville","Bryan","Buckeye","Buena Park","Buffalo","Buffalo Grove","Burbank","Burien","Burke","Burleson","Burlington","Burnsville","Caguas","Caldwell","Camarillo","Cambridge","Camden","Canton","Cape Coral","Carlsbad","Carmel","Carmichael","Carolina","Carrollton","Carson","Carson City","Cary","Casa Grande","Casas Adobes","Casper","Castle Rock","Castro Valley","Catalina Foothills","Cathedral City","Catonsville","Cedar Hill","Cedar Park","Cedar Rapids","Centennial","Centreville","Ceres","Cerritos","Champaign","Chandler","Chapel Hill","Charleston","Charlotte","Charlottesville","Chattanooga","Cheektowaga","Chesapeake","Chesterfield","Cheyenne","Chicago","Chico","Chicopee","Chino","Chino Hills","Chula Vista","Cicero","Cincinnati","Citrus Heights","Clarksville","Clearwater","Cleveland","Cleveland Heights","Clifton","Clovis","Coachella","Coconut Creek","Coeur d'Alene","College Station","Collierville","Colorado Springs","Colton","Columbia","Columbus","Commerce City","Compton","Concord","Conroe","Conway","Coon Rapids","Coral Gables","Coral Springs","Corona","Corpus Christi","Corvallis","Costa Mesa","Council Bluffs","Country Club","Covina","Cranston","Cupertino","Cutler Bay","Cuyahoga Falls","Cypress","Dale City","Dallas","Daly City","Danbury","Danville","Davenport","Davie","Davis","Dayton","Daytona Beach","DeKalb","DeSoto","Dearborn","Dearborn Heights","Decatur","Deerfield Beach","Delano","Delray Beach","Deltona","Denton","Denver","Des Moines","Des Plaines","Detroit","Diamond Bar","Doral","Dothan","Downers Grove","Downey","Draper","Dublin","Dubuque","Duluth","Dundalk","Dunwoody","Durham","Eagan","East Hartford","East Honolulu","East Lansing","East Los Angeles","East Orange","East Providence","Eastvale","Eau Claire","Eden Prairie","Edina","Edinburg","Edmond","El Cajon","El Centro","El Dorado Hills","El Monte","El Paso","Elgin","Elizabeth","Elk Grove","Elkhart","Ellicott City","Elmhurst","Elyria","Encinitas","Enid","Enterprise","Erie","Escondido","Euclid","Eugene","Euless","Evanston","Evansville","Everett","Fairfield","Fall River","Fargo","Farmington","Farmington Hills","Fayetteville","Federal Way","Findlay","Fishers","Flagstaff","Flint","Florence-Graham","Florin","Florissant","Flower Mound","Folsom","Fond du Lac","Fontana","Fort Collins","Fort Lauderdale","Fort Myers","Fort Pierce","Fort Smith","Fort Wayne","Fort Worth","Fountain Valley","Fountainebleau","Framingham","Franklin","Frederick","Freeport","Fremont","Fresno","Frisco","Fullerton","Gainesville","Gaithersburg","Galveston","Garden Grove","Gardena","Garland","Gary","Gastonia","Georgetown","Germantown","Gilbert","Gilroy","Glen Burnie","Glendale","Glendora","Glenview","Goodyear","Grand Forks","Grand Island","Grand Junction","Grand Prairie","Grand Rapids","Grapevine","Great Falls","Greeley","Green Bay","Greensboro","Greenville","Greenwood","Gresham","Guaynabo","Gulfport","Hacienda Heights","Hackensack","Haltom City","Hamilton","Hammond","Hampton","Hanford","Harlingen","Harrisburg","Harrisonburg","Hartford","Hattiesburg","Haverhill","Hawthorne","Hayward","Hemet","Hempstead","Henderson","Hendersonville","Hesperia","Hialeah","Hicksville","High Point","Highland","Highlands Ranch","Hillsboro","Hilo","Hoboken","Hoffman Estates","Hollywood","Homestead","Honolulu","Hoover","Houston","Huntersville","Huntington","Huntington Beach","Huntington Park","Huntsville","Hutchinson","Idaho Falls","Independence","Indianapolis","Indio","Inglewood","Iowa City","Irondequoit","Irvine","Irving","Jackson","Jacksonville","Janesville","Jefferson City","Jeffersonville","Jersey City","Johns Creek","Johnson City","Joliet","Jonesboro","Joplin","Jupiter","Jurupa Valley","Kalamazoo","Kannapolis","Kansas City","Kearny","Keller","Kendale Lakes","Kendall","Kenner","Kennewick","Kenosha","Kent","Kentwood","Kettering","Killeen","Kingsport","Kirkland","Kissimmee","Knoxville","Kokomo","La Crosse","La Habra","La Mesa","La Mirada","Lacey","Lafayette","Laguna Niguel","Lake Charles","Lake Elsinore","Lake Forest","Lake Havasu City","Lake Ridge","Lakeland","Lakeville","Lakewood","Lancaster","Lansing","Laredo","Largo","Las Cruces","Las Vegas","Lauderhill","Lawrence","Lawton","Layton","League City","Lee's Summit","Leesburg","Lehi","Lehigh Acres","Lenexa","Levittown","Lewisville","Lexington-Fayette","Lincoln","Linden","Little Rock","Littleton","Livermore","Livonia","Lodi","Logan","Lombard","Lompoc","Long Beach","Longmont","Longview","Lorain","Los Angeles","Louisville/Jefferson County","Loveland","Lowell","Lubbock","Lynchburg","Lynn","Lynwood","Macon-Bibb County","Madera","Madison","Malden","Manchester","Manhattan","Mansfield","Manteca","Maple Grove","Margate","Maricopa","Marietta","Marysville","Mayaguez","McAllen","McKinney","McLean","Medford","Melbourne","Memphis","Menifee","Mentor","Merced","Meriden","Meridian","Mesa","Mesquite","Metairie","Methuen Town","Miami","Miami Beach","Miami Gardens","Middletown","Midland","Midwest City","Milford","Millcreek","Milpitas","Milwaukee","Minneapolis","Minnetonka","Minot","Miramar","Mishawaka","Mission","Mission Viejo","Missoula","Missouri City","Mobile","Modesto","Moline","Monroe","Montebello","Monterey Park","Montgomery","Moore","Moreno Valley","Morgan Hill","Mount Pleasant","Mount Prospect","Mount Vernon","Mountain View","Muncie","Murfreesboro","Murray","Murrieta","Nampa","Napa","Naperville","Nashua","Nashville-Davidson","National City","New Bedford","New Braunfels","New Britain","New Brunswick","New Haven","New Orleans","New Rochelle","New York","Newark","Newport Beach","Newport News","Newton","Niagara Falls","Noblesville","Norfolk","Normal","Norman","North Bethesda","North Charleston","North Highlands","North Las Vegas","North Lauderdale","North Little Rock","North Miami","North Miami Beach","North Port","North Richland Hills","Norwalk","Novato","Novi","O'Fallon","Oak Lawn","Oak Park","Oakland","Oakland Park","Ocala","Oceanside","Odessa","Ogden","Oklahoma City","Olathe","Olympia","Omaha","Ontario","Orange","Orem","Orland Park","Orlando","Oro Valley","Oshkosh","Overland Park","Owensboro","Oxnard","Palatine","Palm Bay","Palm Beach Gardens","Palm Coast","Palm Desert","Palm Harbor","Palm Springs","Palmdale","Palo Alto","Paradise","Paramount","Parker","Parma","Pasadena","Pasco","Passaic","Paterson","Pawtucket","Peabody","Pearl City","Pearland","Pembroke Pines","Pensacola","Peoria","Perris","Perth Amboy","Petaluma","Pflugerville","Pharr","Philadelphia","Phoenix","Pico Rivera","Pine Bluff","Pine Hills","Pinellas Park","Pittsburg","Pittsburgh","Pittsfield","Placentia","Plainfield","Plano","Plantation","Pleasanton","Plymouth","Pocatello","Poinciana","Pomona","Pompano Beach","Ponce","Pontiac","Port Arthur","Port Charlotte","Port Orange","Port St. Lucie","Portage","Porterville","Portland","Portsmouth","Potomac","Poway","Providence","Provo","Pueblo","Quincy","Racine","Raleigh","Rancho Cordova","Rancho Cucamonga","Rancho Palos Verdes","Rancho Santa Margarita","Rapid City","Reading","Redding","Redlands","Redmond","Redondo Beach","Redwood City","Reno","Renton","Reston","Revere","Rialto","Richardson","Richland","Richmond","Rio Rancho","Riverside","Riverton","Riverview","Roanoke","Rochester","Rochester Hills","Rock Hill","Rockford","Rocklin","Rockville","Rockwall","Rocky Mount","Rogers","Rohnert Park","Rosemead","Roseville","Roswell","Round Rock","Rowland Heights","Rowlett","Royal Oak","Sacramento","Saginaw","Salem","Salina","Salinas","Salt Lake City","Sammamish","San Angelo","San Antonio","San Bernardino","San Bruno","San Buenaventura (Ventura)","San Clemente","San Diego","San Francisco","San Jacinto","San Jose","San Juan","San Leandro","San Luis Obispo","San Marcos","San Mateo","San Rafael","San Ramon","San Tan Valley","Sandy","Sandy Springs","Sanford","Santa Ana","Santa Barbara","Santa Clara","Santa Clarita","Santa Cruz","Santa Fe","Santa Maria","Santa Monica","Santa Rosa","Santee","Sarasota","Savannah","Sayreville","Schaumburg","Schenectady","Scottsdale","Scranton","Seattle","Severn","Shawnee","Sheboygan","Shoreline","Shreveport","Sierra Vista","Silver Spring","Simi Valley","Sioux City","Sioux Falls","Skokie","Smyrna","Somerville","South Bend","South Gate","South Hill","South Jordan","South San Francisco","South Valley","South Whittier","Southaven","Southfield","Sparks","Spokane","Spokane Valley","Spring","Spring Hill","Spring Valley","Springdale","Springfield","St. Charles","St. Clair Shores","St. Cloud","St. George","St. Joseph","St. Louis","St. Louis Park","St. Paul","St. Peters","St. Petersburg","Stamford","State College","Sterling Heights","Stillwater","Stockton","Stratford","Strongsville","Suffolk","Sugar Land","Summerville","Sunnyvale","Sunrise","Sunrise Manor","Surprise","Syracuse","Tacoma","Tallahassee","Tamarac","Tamiami","Tampa","Taunton","Taylor","Taylorsville","Temecula","Tempe","Temple","Terre Haute","Texas City","The Hammocks","The Villages","The Woodlands","Thornton","Thousand Oaks","Tigard","Tinley Park","Titusville","Toledo","Toms River","Tonawanda","Topeka","Torrance","Town 'n' Country","Towson","Tracy","Trenton","Troy","Trujillo Alto","Tuckahoe","Tucson","Tulare","Tulsa","Turlock","Tuscaloosa","Tustin","Twin Falls","Tyler","Union City","University","Upland","Urbana","Urbandale","Utica","Vacaville","Valdosta","Vallejo","Vancouver","Victoria","Victorville","Vineland","Virginia Beach","Visalia","Vista","Waco","Waipahu","Waldorf","Walnut Creek","Waltham","Warner Robins","Warren","Warwick","Washington","Waterbury","Waterloo","Watsonville","Waukegan","Waukesha","Wauwatosa","Wellington","Wesley Chapel","West Allis","West Babylon","West Covina","West Des Moines","West Hartford","West Haven","West Jordan","West Lafayette","West New York","West Palm Beach","West Sacramento","West Seneca","West Valley City","Westfield","Westland","Westminster","Weston","Weymouth Town","Wheaton","White Plains","Whittier","Wichita","Wichita Falls","Wilmington","Wilson","Winston-Salem","Woodbury","Woodland","Worcester","Wylie","Wyoming","Yakima","Yonkers","Yorba Linda","York","Youngstown","Yuba City","Yucaipa","Yuma"],BXt=["{{location.city_prefix}} {{person.first_name}}{{location.city_suffix}}","{{location.city_prefix}} {{person.first_name}}","{{person.first_name}}{{location.city_suffix}}","{{person.last_name}}{{location.city_suffix}}","{{location.city_name}}"],zXt=["North","East","West","South","New","Lake","Port","Fort"],HXt=["town","ton","land","ville","berg","burgh","boro","borough","bury","view","port","mouth","stad","stead","furt","chester","cester","fort","field","haven","side","shire","worth"],YXt=["Afghanistan","Aland Islands","Albania","Algeria","American Samoa","Andorra","Angola","Anguilla","Antarctica","Antigua and Barbuda","Argentina","Armenia","Aruba","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarus","Belgium","Belize","Benin","Bermuda","Bhutan","Bolivia","Bonaire, Sint Eustatius and Saba","Bosnia and Herzegovina","Botswana","Bouvet Island","Brazil","British Indian Ocean Territory (Chagos Archipelago)","Brunei Darussalam","Bulgaria","Burkina Faso","Burundi","Cambodia","Cameroon","Canada","Cape Verde","Cayman Islands","Central African Republic","Chad","Chile","China","Christmas Island","Cocos (Keeling) Islands","Colombia","Comoros","Congo","Cook Islands","Costa Rica","Cote d'Ivoire","Croatia","Cuba","Curacao","Cyprus","Czechia","Democratic Republic of the Congo","Denmark","Djibouti","Dominica","Dominican Republic","Ecuador","Egypt","El Salvador","Equatorial Guinea","Eritrea","Estonia","Eswatini","Ethiopia","Faroe Islands","Falkland Islands (Malvinas)","Fiji","Finland","France","French Guiana","French Polynesia","French Southern Territories","Gabon","Gambia","Georgia","Germany","Ghana","Gibraltar","Greece","Greenland","Grenada","Guadeloupe","Guam","Guatemala","Guernsey","Guinea","Guinea-Bissau","Guyana","Haiti","Heard Island and McDonald Islands","Holy See (Vatican City State)","Honduras","Hong Kong","Hungary","Iceland","India","Indonesia","Iran","Iraq","Ireland","Isle of Man","Israel","Italy","Jamaica","Japan","Jersey","Jordan","Kazakhstan","Kenya","Kiribati","Democratic People's Republic of Korea","Republic of Korea","Kuwait","Kyrgyz Republic","Lao People's Democratic Republic","Latvia","Lebanon","Lesotho","Liberia","Libyan Arab Jamahiriya","Liechtenstein","Lithuania","Luxembourg","Macao","Madagascar","Malawi","Malaysia","Maldives","Mali","Malta","Marshall Islands","Martinique","Mauritania","Mauritius","Mayotte","Mexico","Micronesia","Moldova","Monaco","Mongolia","Montenegro","Montserrat","Morocco","Mozambique","Myanmar","Namibia","Nauru","Nepal","Netherlands","New Caledonia","New Zealand","Nicaragua","Niger","Nigeria","Niue","Norfolk Island","North Macedonia","Northern Mariana Islands","Norway","Oman","Pakistan","Palau","Palestine","Panama","Papua New Guinea","Paraguay","Peru","Philippines","Pitcairn Islands","Poland","Portugal","Puerto Rico","Qatar","Reunion","Romania","Russian Federation","Rwanda","Saint Barthelemy","Saint Helena","Saint Kitts and Nevis","Saint Lucia","Saint Martin","Saint Pierre and Miquelon","Saint Vincent and the Grenadines","Samoa","San Marino","Sao Tome and Principe","Saudi Arabia","Senegal","Serbia","Seychelles","Sierra Leone","Singapore","Sint Maarten","Slovakia","Slovenia","Solomon Islands","Somalia","South Africa","South Georgia and the South Sandwich Islands","South Sudan","Spain","Sri Lanka","Sudan","Suriname","Svalbard & Jan Mayen Islands","Sweden","Switzerland","Syrian Arab Republic","Taiwan","Tajikistan","Tanzania","Thailand","Timor-Leste","Togo","Tokelau","Tonga","Trinidad and Tobago","Tunisia","Turkey","Turkmenistan","Turks and Caicos Islands","Tuvalu","Uganda","Ukraine","United Arab Emirates","United Kingdom","United States of America","United States Minor Outlying Islands","Uruguay","Uzbekistan","Vanuatu","Venezuela","Vietnam","Virgin Islands, British","Virgin Islands, U.S.","Wallis and Futuna","Western Sahara","Yemen","Zambia","Zimbabwe"],UXt=["Adams County","Calhoun County","Carroll County","Clark County","Clay County","Crawford County","Douglas County","Fayette County","Franklin County","Grant County","Greene County","Hamilton County","Hancock County","Henry County","Jackson County","Jefferson County","Johnson County","Lake County","Lawrence County","Lee County","Lincoln County","Logan County","Madison County","Marion County","Marshall County","Monroe County","Montgomery County","Morgan County","Perry County","Pike County","Polk County","Scott County","Union County","Warren County","Washington County","Wayne County","Avon","Bedfordshire","Berkshire","Borders","Buckinghamshire","Cambridgeshire","Central","Cheshire","Cleveland","Clwyd","Cornwall","County Antrim","County Armagh","County Down","County Fermanagh","County Londonderry","County Tyrone","Cumbria","Derbyshire","Devon","Dorset","Dumfries and Galloway","Durham","Dyfed","East Sussex","Essex","Fife","Gloucestershire","Grampian","Greater Manchester","Gwent","Gwynedd County","Hampshire","Herefordshire","Hertfordshire","Highlands and Islands","Humberside","Isle of Wight","Kent","Lancashire","Leicestershire","Lincolnshire","Lothian","Merseyside","Mid Glamorgan","Norfolk","North Yorkshire","Northamptonshire","Northumberland","Nottinghamshire","Oxfordshire","Powys","Rutland","Shropshire","Somerset","South Glamorgan","South Yorkshire","Staffordshire","Strathclyde","Suffolk","Surrey","Tayside","Tyne and Wear","Warwickshire","West Glamorgan","West Midlands","West Sussex","West Yorkshire","Wiltshire","Worcestershire"],KXt=["United States of America"],JXt=["North","East","South","West","Northeast","Northwest","Southeast","Southwest"],jXt=["N","E","S","W","NE","NW","SE","SW"],QXt=["#####","#####-####"],$Xt=["Apt. ###","Suite ###"],qXt=["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Carolina","North Dakota","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"],e4t=["AL","AK","AZ","AR","CA","CO","CT","DE","FL","GA","HI","ID","IL","IN","IA","KS","KY","LA","ME","MD","MA","MI","MN","MS","MO","MT","NE","NV","NH","NJ","NM","NY","NC","ND","OH","OK","OR","PA","RI","SC","SD","TN","TX","UT","VT","VA","WA","WV","WI","WY"],t4t={normal:"{{location.buildingNumber}} {{location.street}}",full:"{{location.buildingNumber}} {{location.street}} {{location.secondaryAddress}}"},n4t=["10th Street","11th Street","12th Street","13th Street","14th Street","15th Street","16th Street","1st Avenue","1st Street","2nd Avenue","2nd Street","3rd Avenue","3rd Street","4th Avenue","4th Street","5th Avenue","5th Street","6th Avenue","6th Street","7th Avenue","7th Street","8th Avenue","8th Street","9th Street","A Street","Abbey Road","Adams Avenue","Adams Street","Airport Road","Albany Road","Albert Road","Albion Street","Alexandra Road","Alfred Street","Alma Street","Ash Close","Ash Grove","Ash Road","Ash Street","Aspen Close","Atlantic Avenue","Avenue Road","Back Lane","Baker Street","Balmoral Road","Barn Close","Barton Road","Bath Road","Bath Street","Bay Street","Beach Road","Bedford Road","Beech Close","Beech Drive","Beech Grove","Beech Road","Beechwood Avenue","Bell Lane","Belmont Road","Birch Avenue","Birch Close","Birch Grove","Birch Road","Blind Lane","Bluebell Close","Boundary Road","Bramble Close","Bramley Close","Bridge Road","Bridge Street","Broad Lane","Broad Street","Broadway","Broadway Avenue","Broadway Street","Brook Lane","Brook Road","Brook Street","Brookside","Buckingham Road","Cambridge Street","Canal Street","Castle Close","Castle Lane","Castle Road","Castle Street","Cavendish Road","Cedar Avenue","Cedar Close","Cedar Grove","Cedar Road","Cedar Street","Cemetery Road","Center Avenue","Center Road","Center Street","Central Avenue","Central Street","Chapel Close","Chapel Hill","Chapel Road","Chapel Street","Charles Street","Cherry Close","Cherry Street","Cherry Tree Close","Chester Road","Chestnut Close","Chestnut Drive","Chestnut Grove","Chestnut Street","Church Avenue","Church Close","Church Hill","Church Lane","Church Path","Church Road","Church Street","Church View","Church Walk","Claremont Road","Clarence Road","Clarence Street","Clarendon Road","Clark Street","Clay Lane","Cleveland Street","Cliff Road","Clifton Road","Clinton Street","College Avenue","College Street","Columbia Avenue","Commerce Street","Commercial Road","Commercial Street","Common Lane","Coronation Avenue","Coronation Road","County Line Road","County Road","Court Street","Cow Lane","Crescent Road","Cromwell Road","Cross Lane","Cross Street","Crown Street","Cumberland Street","Dale Street","Dark Lane","Davis Street","Depot Street","Derby Road","Derwent Close","Devonshire Road","Division Street","Douglas Road","Duke Street","E 10th Street","E 11th Street","E 12th Street","E 14th Street","E 1st Street","E 2nd Street","E 3rd Street","E 4th Avenue","E 4th Street","E 5th Street","E 6th Avenue","E 6th Street","E 7th Street","E 8th Street","E 9th Street","E Bridge Street","E Broad Street","E Broadway","E Broadway Street","E Cedar Street","E Center Street","E Central Avenue","E Church Street","E Elm Street","E Franklin Street","E Front Street","E Grand Avenue","E High Street","E Jackson Street","E Jefferson Street","E Main","E Main Street","E Maple Street","E Market Street","E North Street","E Oak Street","E Park Avenue","E Pine Street","E River Road","E South Street","E State Street","E Union Street","E Walnut Street","E Washington Avenue","E Washington Street","E Water Street","East Avenue","East Road","East Street","Edward Street","Elm Close","Elm Grove","Elm Road","Elm Street","Euclid Avenue","Fairfield Road","Farm Close","Ferry Road","Field Close","Field Lane","First Avenue","First Street","Fore Street","Forest Avenue","Forest Road","Fourth Avenue","Franklin Avenue","Franklin Road","Franklin Street","Front Street","Frontage Road","Garden Close","Garden Street","George Street","Gladstone Road","Glebe Close","Gloucester Road","Gordon Road","Gordon Street","Grand Avenue","Grange Avenue","Grange Close","Grange Road","Grant Street","Green Close","Green Lane","Green Street","Greenville Road","Greenway","Greenwood Road","Grove Lane","Grove Road","Grove Street","Hall Lane","Hall Street","Harrison Avenue","Harrison Street","Hawthorn Avenue","Hawthorn Close","Hazel Close","Hazel Grove","Heath Road","Heather Close","Henry Street","Heron Close","Hickory Street","High Road","High Street","Highfield Avenue","Highfield Close","Highfield Road","Highland Avenue","Hill Road","Hill Street","Hillside","Hillside Avenue","Hillside Close","Hillside Road","Holly Close","Honeysuckle Close","Howard Road","Howard Street","Jackson Avenue","Jackson Street","James Street","Jefferson Avenue","Jefferson Street","Johnson Street","Jubilee Close","Juniper Close","Kent Road","Kestrel Close","King Street","King's Road","Kingfisher Close","Kings Highway","Kingsway","Laburnum Grove","Lafayette Street","Lake Avenue","Lake Drive","Lake Road","Lake Street","Lancaster Road","Lansdowne Road","Larch Close","Laurel Close","Lawrence Street","Lee Street","Liberty Street","Lime Grove","Lincoln Avenue","Lincoln Highway","Lincoln Road","Lincoln Street","Locust Street","Lodge Close","Lodge Lane","London Road","Long Lane","Low Road","Madison Avenue","Madison Street","Main","Main Avenue","Main Road","Main Street","Main Street E","Main Street N","Main Street S","Main Street W","Manchester Road","Manor Close","Manor Drive","Manor Gardens","Manor Road","Manor Way","Maple Avenue","Maple Close","Maple Drive","Maple Road","Maple Street","Market Place","Market Square","Market Street","Marlborough Road","Marsh Lane","Martin Luther King Boulevard","Martin Luther King Drive","Martin Luther King Jr Boulevard","Mary Street","Mayfield Road","Meadow Close","Meadow Drive","Meadow Lane","Meadow View","Meadow Way","Memorial Drive","Middle Street","Mill Close","Mill Lane","Mill Road","Mill Street","Milton Road","Milton Street","Monroe Street","Moor Lane","Moss Lane","Mount Pleasant","Mount Street","Mulberry Street","N 1st Street","N 2nd Street","N 3rd Street","N 4th Street","N 5th Street","N 6th Street","N 7th Street","N 8th Street","N 9th Street","N Bridge Street","N Broad Street","N Broadway","N Broadway Street","N Cedar Street","N Center Street","N Central Avenue","N Chestnut Street","N Church Street","N College Street","N Court Street","N Division Street","N East Street","N Elm Street","N Franklin Street","N Front Street","N Harrison Street","N High Street","N Jackson Street","N Jefferson Street","N Lincoln Street","N Locust Street","N Main","N Main Avenue","N Main Street","N Maple Street","N Market Street","N Monroe Street","N Oak Street","N Park Street","N Pearl Street","N Pine Street","N Poplar Street","N Railroad Street","N State Street","N Union Street","N Walnut Street","N Washington Avenue","N Washington Street","N Water Street","Nelson Road","Nelson Street","New Lane","New Road","New Street","Newton Road","Nightingale Close","Norfolk Road","North Avenue","North Lane","North Road","North Street","Northfield Road","Oak Avenue","Oak Drive","Oak Lane","Oak Road","Oak Street","Oakfield Road","Oaklands","Old Lane","Old Military Road","Old Road","Old State Road","Orchard Drive","Orchard Lane","Orchard Road","Orchard Street","Oxford Road","Oxford Street","Park Avenue","Park Crescent","Park Drive","Park Lane","Park Place","Park Road","Park Street","Park View","Parkside","Pearl Street","Pennsylvania Avenue","Pine Close","Pine Grove","Pine Street","Pinfold Lane","Pleasant Street","Poplar Avenue","Poplar Close","Poplar Road","Poplar Street","Post Road","Pound Lane","Princes Street","Princess Street","Priory Close","Priory Road","Prospect Avenue","Prospect Place","Prospect Road","Prospect Street","Quarry Lane","Quarry Road","Queen's Road","Railroad Avenue","Railroad Street","Railway Street","Rectory Close","Rectory Lane","Richmond Close","Richmond Road","Ridge Road","River Road","River Street","Riverside","Riverside Avenue","Riverside Drive","Roman Road","Roman Way","Rowan Close","Russell Street","S 10th Street","S 14th Street","S 1st Avenue","S 1st Street","S 2nd Street","S 3rd Street","S 4th Street","S 5th Street","S 6th Street","S 7th Street","S 8th Street","S 9th Street","S Bridge Street","S Broad Street","S Broadway","S Broadway Street","S Center Street","S Central Avenue","S Chestnut Street","S Church Street","S College Street","S Division Street","S East Street","S Elm Street","S Franklin Street","S Front Street","S Grand Avenue","S High Street","S Jackson Street","S Jefferson Street","S Lincoln Street","S Main","S Main Avenue","S Main Street","S Maple Street","S Market Street","S Mill Street","S Monroe Street","S Oak Street","S Park Street","S Pine Street","S Railroad Street","S State Street","S Union Street","S Walnut Street","S Washington Avenue","S Washington Street","S Water Street","S West Street","Salisbury Road","Sandringham Road","Sandy Lane","School Close","School Lane","School Road","School Street","Second Avenue","Silver Street","Skyline Drive","Smith Street","Somerset Road","South Avenue","South Drive","South Road","South Street","South View","Spring Gardens","Spring Street","Springfield Close","Springfield Road","Spruce Street","St Andrew's Road","St Andrews Close","St George's Road","St John's Road","St Mary's Close","St Mary's Road","Stanley Road","Stanley Street","State Avenue","State Line Road","State Road","State Street","Station Road","Station Street","Stoney Lane","Sycamore Avenue","Sycamore Close","Sycamore Drive","Sycamore Street","Talbot Road","Tennyson Road","The Avenue","The Beeches","The Causeway","The Chase","The Coppice","The Copse","The Crescent","The Croft","The Dell","The Drive","The Fairway","The Glebe","The Grange","The Green","The Grove","The Hawthorns","The Lane","The Laurels","The Limes","The Maltings","The Meadows","The Mews","The Mount","The Oaks","The Orchard","The Oval","The Paddock","The Paddocks","The Poplars","The Ridgeway","The Ridings","The Rise","The Sidings","The Spinney","The Square","The Willows","The Woodlands","Third Avenue","Third Street","Tower Road","Trinity Road","Tudor Close","Union Avenue","Union Street","University Avenue","University Drive","Valley Road","Veterans Memorial Drive","Veterans Memorial Highway","Vicarage Close","Vicarage Lane","Vicarage Road","Victoria Place","Victoria Road","Victoria Street","Vine Street","W 10th Street","W 11th Street","W 12th Street","W 14th Street","W 1st Street","W 2nd Street","W 3rd Street","W 4th Avenue","W 4th Street","W 5th Street","W 6th Avenue","W 6th Street","W 7th Street","W 8th Street","W 9th Street","W Bridge Street","W Broad Street","W Broadway","W Broadway Avenue","W Broadway Street","W Center Street","W Central Avenue","W Chestnut Street","W Church Street","W Division Street","W Elm Street","W Franklin Street","W Front Street","W Grand Avenue","W High Street","W Jackson Street","W Jefferson Street","W Lake Street","W Main","W Main Street","W Maple Street","W Market Street","W Monroe Street","W North Street","W Oak Street","W Park Street","W Pine Street","W River Road","W South Street","W State Street","W Union Street","W Walnut Street","W Washington Avenue","W Washington Street","Walnut Close","Walnut Street","Warren Close","Warren Road","Washington Avenue","Washington Boulevard","Washington Road","Washington Street","Water Lane","Water Street","Waterloo Road","Waterside","Watery Lane","Waverley Road","Well Lane","Wellington Road","Wellington Street","West Avenue","West End","West Lane","West Road","West Street","West View","Western Avenue","Western Road","Westfield Road","Westgate","William Street","Willow Close","Willow Drive","Willow Grove","Willow Road","Willow Street","Windermere Road","Windmill Close","Windmill Lane","Windsor Avenue","Windsor Close","Windsor Drive","Wood Lane","Wood Street","Woodland Close","Woodland Road","Woodlands","Woodlands Avenue","Woodlands Close","Woodlands Road","Woodside","Woodside Road","Wren Close","Yew Tree Close","York Road","York Street"],i4t=["{{person.first_name}} {{location.street_suffix}}","{{person.last_name}} {{location.street_suffix}}","{{location.street_name}}"],r4t=["Alley","Avenue","Branch","Bridge","Brook","Brooks","Burg","Burgs","Bypass","Camp","Canyon","Cape","Causeway","Center","Centers","Circle","Circles","Cliff","Cliffs","Club","Common","Corner","Corners","Course","Court","Courts","Cove","Coves","Creek","Crescent","Crest","Crossing","Crossroad","Curve","Dale","Dam","Divide","Drive","Drives","Estate","Estates","Expressway","Extension","Extensions","Fall","Falls","Ferry","Field","Fields","Flat","Flats","Ford","Fords","Forest","Forge","Forges","Fork","Forks","Fort","Freeway","Garden","Gardens","Gateway","Glen","Glens","Green","Greens","Grove","Groves","Harbor","Harbors","Haven","Heights","Highway","Hill","Hills","Hollow","Inlet","Island","Islands","Isle","Junction","Junctions","Key","Keys","Knoll","Knolls","Lake","Lakes","Land","Landing","Lane","Light","Lights","Loaf","Lock","Locks","Lodge","Loop","Mall","Manor","Manors","Meadow","Meadows","Mews","Mill","Mills","Mission","Motorway","Mount","Mountain","Mountains","Neck","Orchard","Oval","Overpass","Park","Parks","Parkway","Parkways","Pass","Passage","Path","Pike","Pine","Pines","Place","Plain","Plains","Plaza","Point","Points","Port","Ports","Prairie","Radial","Ramp","Ranch","Rapid","Rapids","Rest","Ridge","Ridges","River","Road","Roads","Route","Row","Rue","Run","Shoal","Shoals","Shore","Shores","Skyway","Spring","Springs","Spur","Spurs","Square","Squares","Station","Stravenue","Stream","Street","Streets","Summit","Terrace","Throughway","Trace","Track","Trafficway","Trail","Tunnel","Turnpike","Underpass","Union","Unions","Valley","Valleys","Via","Viaduct","View","Views","Village","Villages","Ville","Vista","Walk","Walks","Wall","Way","Ways","Well","Wells"],o4t={building_number:PXt,city_name:OXt,city_pattern:BXt,city_prefix:zXt,city_suffix:HXt,country:YXt,county:UXt,default_country:KXt,direction:JXt,direction_abbr:jXt,postcode:QXt,secondary_address:$Xt,state:qXt,state_abbr:e4t,street_address:t4t,street_name:n4t,street_pattern:i4t,street_suffix:r4t},s4t=o4t,a4t=["a","ab","abbas","abduco","abeo","abscido","absconditus","absens","absorbeo","absque","abstergo","absum","abundans","abutor","accedo","accendo","acceptus","accommodo","accusamus","accusantium","accusator","acer","acerbitas","acervus","acidus","acies","acquiro","acsi","ad","adamo","adaugeo","addo","adduco","ademptio","adeo","adeptio","adfectus","adfero","adficio","adflicto","adhaero","adhuc","adicio","adimpleo","adinventitias","adipisci","adipiscor","adiuvo","administratio","admiratio","admitto","admoneo","admoveo","adnuo","adopto","adsidue","adstringo","adsuesco","adsum","adulatio","adulescens","aduro","advenio","adversus","advoco","aedificium","aeger","aegre","aegrotatio","aegrus","aeneus","aequitas","aequus","aer","aestas","aestivus","aestus","aetas","aeternus","ager","aggero","aggredior","agnitio","agnosco","ago","ait","aiunt","alias","alienus","alii","alioqui","aliqua","aliquam","aliquid","alius","allatus","alo","alter","altus","alveus","amaritudo","ambitus","ambulo","amet","amicitia","amiculum","amissio","amita","amitto","amo","amor","amoveo","amplexus","amplitudo","amplus","ancilla","angelus","angulus","angustus","animadverto","animi","animus","annus","anser","ante","antea","antepono","antiquus","aperiam","aperio","aperte","apostolus","apparatus","appello","appono","appositus","approbo","apto","aptus","apud","aqua","ara","aranea","arbitro","arbor","arbustum","arca","arceo","arcesso","architecto","arcus","argentum","argumentum","arguo","arma","armarium","aro","ars","articulus","artificiose","arto","arx","ascisco","ascit","asper","asperiores","aspernatur","aspicio","asporto","assentator","assumenda","astrum","at","atavus","ater","atque","atqui","atrocitas","atrox","attero","attollo","attonbitus","auctor","auctus","audacia","audax","audentia","audeo","audio","auditor","aufero","aureus","aurum","aut","autem","autus","auxilium","avaritia","avarus","aveho","averto","baiulus","balbus","barba","bardus","basium","beatae","beatus","bellicus","bellum","bene","beneficium","benevolentia","benigne","bestia","bibo","bis","blandior","blanditiis","bonus","bos","brevis","cado","caecus","caelestis","caelum","calamitas","calcar","calco","calculus","callide","campana","candidus","canis","canonicus","canto","capillus","capio","capitulus","capto","caput","carbo","carcer","careo","caries","cariosus","caritas","carmen","carpo","carus","casso","caste","casus","catena","caterva","cattus","cauda","causa","caute","caveo","cavus","cedo","celebrer","celer","celo","cena","cenaculum","ceno","censura","centum","cerno","cernuus","certe","certus","cervus","cetera","charisma","chirographum","cibo","cibus","cicuta","cilicium","cimentarius","ciminatio","cinis","circumvenio","cito","civis","civitas","clam","clamo","claro","clarus","claudeo","claustrum","clementia","clibanus","coadunatio","coaegresco","coepi","coerceo","cogito","cognatus","cognomen","cogo","cohaero","cohibeo","cohors","colligo","collum","colo","color","coma","combibo","comburo","comedo","comes","cometes","comis","comitatus","commemoro","comminor","commodi","commodo","communis","comparo","compello","complectus","compono","comprehendo","comptus","conatus","concedo","concido","conculco","condico","conduco","confero","confido","conforto","confugo","congregatio","conicio","coniecto","conitor","coniuratio","conor","conqueror","conscendo","consectetur","consequatur","consequuntur","conservo","considero","conspergo","constans","consuasor","contabesco","contego","contigo","contra","conturbo","conventus","convoco","copia","copiose","cornu","corona","corporis","corpus","correptius","corrigo","corroboro","corrumpo","corrupti","coruscus","cotidie","crapula","cras","crastinus","creator","creber","crebro","credo","creo","creptio","crepusculum","cresco","creta","cribro","crinis","cruciamentum","crudelis","cruentus","crur","crustulum","crux","cubicularis","cubitum","cubo","cui","cuius","culpa","culpo","cultellus","cultura","cum","cumque","cunabula","cunae","cunctatio","cupiditas","cupiditate","cupio","cuppedia","cupressus","cur","cura","curatio","curia","curiositas","curis","curo","curriculum","currus","cursim","curso","cursus","curto","curtus","curvo","custodia","damnatio","damno","dapifer","debeo","debilito","debitis","decens","decerno","decet","decimus","decipio","decor","decretum","decumbo","dedecor","dedico","deduco","defaeco","defendo","defero","defessus","defetiscor","deficio","defleo","defluo","defungo","degenero","degero","degusto","deinde","delectatio","delectus","delego","deleniti","deleo","delibero","delicate","delinquo","deludo","demens","demergo","demitto","demo","demonstro","demoror","demulceo","demum","denego","denique","dens","denuncio","denuo","deorsum","depereo","depono","depopulo","deporto","depraedor","deprecator","deprimo","depromo","depulso","deputo","derelinquo","derideo","deripio","deserunt","desidero","desino","desipio","desolo","desparatus","despecto","dicta","dignissimos","distinctio","dolor","dolore","dolorem","doloremque","dolores","doloribus","dolorum","ducimus","ea","eaque","earum","eius","eligendi","enim","eos","error","esse","est","et","eum","eveniet","ex","excepturi","exercitationem","expedita","explicabo","facere","facilis","fuga","fugiat","fugit","harum","hic","id","illo","illum","impedit","in","incidunt","infit","inflammatio","inventore","ipsa","ipsam","ipsum","iste","itaque","iure","iusto","labore","laboriosam","laborum","laudantium","libero","magnam","magni","maiores","maxime","minima","minus","modi","molestiae","molestias","mollitia","nam","natus","necessitatibus","nemo","neque","nesciunt","nihil","nisi","nobis","non","nostrum","nulla","numquam","occaecati","ocer","odio","odit","officia","officiis","omnis","optio","paens","pariatur","patior","patria","patrocinor","patruus","pauci","paulatim","pauper","pax","peccatus","pecco","pecto","pectus","pecus","peior","pel","perferendis","perspiciatis","placeat","porro","possimus","praesentium","provident","quae","quaerat","quam","quas","quasi","qui","quia","quibusdam","quidem","quis","quisquam","quo","quod","quos","ratione","recusandae","reiciendis","rem","repellat","repellendus","reprehenderit","repudiandae","rerum","saepe","sapiente","sed","sequi","similique","sint","sit","socius","sodalitas","sol","soleo","solio","solitudo","solium","sollers","sollicito","solum","solus","soluta","solutio","solvo","somniculosus","somnus","sonitus","sono","sophismata","sopor","sordeo","sortitus","spargo","speciosus","spectaculum","speculum","sperno","spero","spes","spiculum","spiritus","spoliatio","sponte","stabilis","statim","statua","stella","stillicidium","stipes","stips","sto","strenuus","strues","studio","stultus","suadeo","suasoria","sub","subito","subiungo","sublime","subnecto","subseco","substantia","subvenio","succedo","succurro","sufficio","suffoco","suffragium","suggero","sui","sulum","sum","summa","summisse","summopere","sumo","sumptus","sunt","supellex","super","suppellex","supplanto","suppono","supra","surculus","surgo","sursum","suscipio","suscipit","suspendo","sustineo","suus","synagoga","tabella","tabernus","tabesco","tabgo","tabula","taceo","tactus","taedium","talio","talis","talus","tam","tamdiu","tamen","tametsi","tamisium","tamquam","tandem","tantillus","tantum","tardus","tego","temeritas","temperantia","templum","tempora","tempore","temporibus","temptatio","tempus","tenax","tendo","teneo","tener","tenetur","tenuis","tenus","tepesco","tepidus","ter","terebro","teres","terga","tergeo","tergiversatio","tergo","tergum","termes","terminatio","tero","terra","terreo","territo","terror","tersus","tertius","testimonium","texo","textilis","textor","textus","thalassinus","theatrum","theca","thema","theologus","thermae","thesaurus","thesis","thorax","thymbra","thymum","tibi","timidus","timor","titulus","tolero","tollo","tondeo","tonsor","torqueo","torrens","tot","totam","totidem","toties","totus","tracto","trado","traho","trans","tredecim","tremo","trepide","tres","tribuo","tricesimus","triduana","tripudio","tristis","triumphus","trucido","truculenter","tubineus","tui","tum","tumultus","tunc","turba","turbo","turpis","tutamen","tutis","tyrannus","uberrime","ubi","ulciscor","ullam","ullus","ulterius","ultio","ultra","umbra","umerus","umquam","una","unde","undique","universe","unus","urbanus","urbs","uredo","usitas","usque","ustilo","ustulo","usus","ut","uter","uterque","utilis","utique","utor","utpote","utrimque","utroque","utrum","uxor","vaco","vacuus","vado","vae","valde","valens","valeo","valetudo","validus","vallum","vapulus","varietas","varius","vehemens","vel","velit","velociter","velum","velut","venia","veniam","venio","ventito","ventosus","ventus","venustas","ver","verbera","verbum","vere","verecundia","vereor","vergo","veritas","veritatis","vero","versus","verto","verumtamen","verus","vesco","vesica","vesper","vespillo","vester","vestigium","vestrum","vetus","via","vicinus","vicissitudo","victoria","victus","videlicet","video","viduo","vigilo","vigor","vilicus","vilis","vilitas","villa","vinco","vinculum","vindico","vinitor","vinum","vir","virga","virgo","viridis","viriliter","virtus","vis","viscus","vita","vitae","vitiosus","vitium","vito","vivo","vix","vobis","vociferor","voco","volaticus","volo","volubilis","voluntarius","volup","voluptas","voluptate","voluptatem","voluptates","voluptatibus","voluptatum","volutabrum","volva","vomer","vomica","vomito","vorago","vorax","voro","vos","votum","voveo","vox","vulariter","vulgaris","vulgivagus","vulgo","vulgus","vulnero","vulnus","vulpes","vulticulus","xiphias"],l4t={words:a4t},u4t=l4t,c4t={title:"English",code:"en",language:"en",endonym:"English",dir:"ltr",script:"Latn"},d4t=c4t,h4t=["Rock","Metal","Pop","Electronic","Folk","World","Country","Jazz","Funk","Soul","Hip Hop","Classical","Latin","Reggae","Stage And Screen","Blues","Non Music","Rap"],m4t=["White Christmas","Hey Jude","Every Breath You Take","Mack the Knife","Rock Around the Clock","I Want to Hold Your Hand","(I Can't Get No) Satisfaction","The Twist","(Everything I Do) I Do it For You","Bridge Over Troubled Water","When Doves Cry","Call Me","Bette Davis Eyes","I Will Always Love You","Over the Rainbow","American Pie","Flashdance. What a Feeling","The Way We Were","I Heard it Through the Grapevine","You've Lost That Lovin' Feelin'","Nothing Compares 2 U","Endless Love","Yeah!","Let's Get it On","That's What Friends Are For","You Light Up My Life","(Sittin' On) the Dock of the Bay","Joy to the World","Heartbreak Hotel","Theme From 'A Summer Place'","Aquarius/Let The Sunshine In","I Will Survive","It's Too Late","Respect","Sugar Sugar","Stayin' Alive","Maggie May","My Heart Will Go On","Eye of the Tiger","End of the Road","Another One Bites the Dust","Billie Jean","Let's Stay Together","Battle of New Orleans","Oh","Hound Dog","I Love Rock 'n' Roll","Smooth","Good Vibrations","Physical","Light My Fire","Low","Hey Ya!","Let it Be","Don't Be Cruel","Hotel California","We Belong Together","Le Freak","Raindrops Keep Falling On My Head","How High the Moon","My Girl","I Can't Stop Loving You","Killing Me Softly With His Song","Mona Lisa","In the Mood","She Loves You","The Letter","Mister Sandman","Careless Whisper","What's Love Got to Do With It?","I'm a Believer","Wooly Bully","Theme From 'Shaft'","Hot Stuff","Centerfold","Honky Tonk Woman","I'll Be There","Gangsta's Paradise","Yesterday","My Sharona","Tennessee Waltz","Reach Out (I'll Be There)","California Dreamin'","Jailhouse Rock","Irreplaceable","Dancing in the Street","Rolling In The Deep","Tie a Yellow Ribbon 'round the Old Oak Tree","Stand By Me","Sentimental Journey","The First Time Ever I Saw Your Face","Louie Louie","Another Brick in the Wall (part 2)","(Just Like) Starting Over","Night Fever","To Sir","You're So Vain","Be My Baby","Celebration","(They Long to Be) Close to You","Begin the Beguine","I Still Haven't Found What I'm Looking For","I Want You Back","Arthur's Theme (Best That You Can Do)","Boulevard of Broken Dreams","With Or Without You","Tonight's the Night (Gonna Be Alright)","Are You Lonesome Tonight?","Upside Down","Dancing Queen","Sweet Child O' Mine","Where Did Our Love Go","Unchained Melody","Rudolph","Take My Breath Away","I'll Make Love to You","Love Will Keep Us Together","When a Man Loves a Woman","Walk Like an Egyptian","Crazy in Love","Strangers in the Night","You Belong to Me","In Da Club","Say You","We Are the World","Johnny B Goode","Love Theme From 'A Star is Born' (Evergreen)","Shadow Dancing","Superstition","Beat It","Night & Day","Waterfalls","House of the Rising Sun","Paper Doll","Downtown","I Can't Help Myself (Sugar Pie","Kiss From a Rose","Believe","Ballad of the Green Berets","Proud Mary","Too Young","Umbrella","Swanee","Need You Tonight","Like a Rolling Stone","Lady","One Sweet Day","Lean On Me","Tik-Toc","Monday Monday","What'd I Say","How You Remind Me","Silly Love Songs","My Guy","Macarena","Goodnight","Just My Imagination (Running Away With Me)","The Sounds of Silence","Imagine","Me & Bobby McGee","Near You","What's Going On?","Suspicious Minds","Ode To Billie Joe","Wind Beneath My Wings","The Boy is Mine","Mr Tambourine Man","Faith","Green Onions","Mrs Robinson","How Deep is Your Love?","Hey There","Heart of Glass","Pennies From Heaven","Like a Virgin","Midnight Train to Georgia","Help!","Tossing & Turning","The Sign","Born to Be Wild","Layla","I Just Wanna Be Your Everything","War","96 Tears","I Get Around","Because You Loved Me","Summer in the City","Get Back","Secret Love","9 to 5","(Ghost) Riders in the Sky","The Loco-Motion","Play That Funky Music","Bohemian Rhapsody","Little Things Mean a Lot","Cry","All Shook Up","Up Where We Belong","Sledgehammer","Fire & Rain","Stop! in the Name of Love","Sweet Home Alabama","Another Day in Paradise","Bleeding Love","Lady Marmalade (Voulez-Vous Coucher Aver Moi Ce Soir?)","Whispering","Vogue","Under the Bridge","Sixteen Tons","Sugar Shack","Baby Love","What a Fool Believes","Lose Yourself","Hello Dolly","Brown Eyed Girl","Without You","Build Me Up Buttercup","We Found Love","Tears in Heaven","Family Affair","All I Wanna Do","Soul Man","Tequila","Rock With You","Livin' La Vida Loca","Best of My Love","Runaway","Alone Again (Naturally)","Can't Help Falling in Love","My Sweet Lord","Runaround Sue","Swinging On a Star","Gold Digger","Happy Together","Losing My Religion","Heart of Gold","Stardust","Will You Love Me Tomorrow","You Are the Sunshine of My Life","You Were Meant for Me","Take On Me","Hollaback Girl","God Bless America","I Swear","Sunshine of Your Love","Firework","Groovin'","Smells Like Teen Spirit","Big Girls Don't Cry","Jack & Diane","Addicted to Love","The Last Dance","Georgia On My Mind","Money For Nothing","Jump","Vaya Con Dios (may God Be With You)","You'll Never Know","That'll Be the Day","Girls Just Wanna Have Fun","Wheel of Fortune","When You Wish Upon a Star","Don't Fence Me In","Turn! Turn! Turn! (To Everything There is a Season)","Volare","Sweet Dreams (Are Made of This)","Whole Lotta Love","You've Got a Friend","Penny Lane","People Got to Be Free","Nature Boy","Sexyback","Crying","Single Ladies (Put A Ring On It)","Bad Girls","Too Close","I Got You Babe","We've Only Just Begun","Sh-Boom (Life Could Be a Dream)","Shining Star","Kansas City","Like a Prayer","Cheek to Cheek","Papa Was a Rolling Stone","Promiscuous","Love Shack","Funkytown","Crazy","Philadelphia Freedom","Temperature","Somebody That I Used to Know","All I Have to Do is Dream","Jessie's Girl","Rhinestone Cowboy","Blue Suede Shoes","Ebony & Ivory","I'll Never Smile Again","Keep On Loving You","Since U Been Gone","The Way You Look Tonight","Crazy Little Thing Called Love","The Great Pretender","Brown Sugar","Que sera sera (Whatever will be will be)","No One","Bad Day","Boom Boom Pow","Party Rock Anthem","Because of You","Chattanooga Choo Choo","A Whiter Shade of Pale","Love Me Tender","Higher Love","Footloose","Blurred Lines","I Just Called to Say I Love You","Come Together","It's Now Or Never","Under the Boardwalk","Don't You Want Me","You Can't Hurry Love","Fame","Fallin'","Poker Face","Bad Romance","Ruby Tuesday","All Night Long (All Night)","Baby Got Back","Whole Lotta Shakin' Goin' On","Frenesi","December 1963 (Oh What a Night)","Bad Moon Rising","Abracadabra","I Gotta Feeling","The Song From Moulin Rouge (Where Is Your Heart)","Waiting For a Girl Like You","Everybody Loves Somebody","I Can't Go For That (No Can Do)","Buttons & Bows","It's All in the Game","Love Train","Dance to the Music","Candle in the Wind '97","Honey","Kiss","I'll Take You There","Paint it Black","Band of Gold","Just the Way You Are","Spirit in the Sky","Vision of Love","Hips don't lie","Till The End of Time","Duke of Earl","YMCA","Oh My Papa (O Mein Papa)","Pistol Packin' Mama","Gonna Make You Sweat (Everybody Dance Now)","Dilemma","I Need You Now","Wanted","Jumpin' Jack Flash","Against All Odds (Take a Look At Me Now)","Tom Dooley","Goodbye Yellow Brick Road","Rhapsody in Blue","Bennie & the Jets","Call Me Maybe","You Really Got Me","God Bless the Child","I'm Sorry","Bad","I Can't Get Next to You","The Power of Love","Dreamlover","Only The Lonely (Know The Way I Feel)","We Are Family","At Last","Brand New Key","I've Heard That Song Before","Stay (I Missed You)","Do Ya Think I'm Sexy?","Tutti Frutti","This Ole House","Please Mr Postman","Good Times","Something","(I've Had) the Time of My Life","I Don't Want to Miss a Thing","Down Hearted Blues","Rag Doll","Blueberry Hill","Ain't No Sunshine","Wild Thing","Blaze of Glory","Ray of Light","The Hustle","Grenade","Cathy's Clown","Minnie the Moocher","Love Is Blue (L'Amour Est Bleu)","Iris","The Boys of Summer","The Tide is High","She Drives Me Crazy","Save the Best For Last","These Boots Are Made For Walking","I Feel Love","A Woman in Love","We Can Work it Out","The Reason","Locked Out Of Heaven","Do That to Me One More Time","That's the Way Love Goes","A Hard Day's Night","I Believe I Can Fly","Karma Chameleon","One O'Clock Jump","Mule Train","Car Wash","Rapture","Creep","Streets of Philadelphia","West End Girls","Leader of the Pack","T For Texas (Blue Yodel No 1)","Mama Told Me Not to Come","Just Dance","Mercy Mercy Me (The Ecology)","Livin' On a Prayer","Good Lovin'","50 Ways to Leave Your Lover","Stronger","I Can See Clearly Now","We Are the Champions","(I've Got a Gal In) Kalamazoo","No Scrubs","How Do You Mend a Broken Heart","I Got You (I Feel Good)","Don't Let the Stars Get in Your Eyes","The Girl From Ipanema","(Sexual) Healing","Tears of a Clown","We Will Rock You","Hold On","Bye Bye Love","Chapel of Love","White Rabbit","Rock the Boat","The Gypsy","Take The 'A' Train","Crimson & Clover","Crocodile Rock","Make Love to Me","Nothing's Gonna Stop Us Now","Say Say Say","The Christmas Song (Chestnuts Roasting On An Open Fire)","Un-Break My Heart","Cherish","I'll Be Missing You","Drops of Jupiter (Tell Me)","There goes my baby","You Send Me","If (They Made Me a King)","The Prisoner's Song","ABC","Do Wah Diddy Diddy","He's So Fine","A Boy Named Sue","Roll Over Beethoven","Sweet Georgia Brown","Earth Angel","Rehab","(You Keep Me) Hangin' On","This Diamond Ring","Be My Love","Rush Rush","You're Beautiful","Roll With It","Moonlight Serenade","Unbelievable","Peg o' My Heart","This Land is Your Land","Stranger On the Shore","Rum & Coca-Cola","Hit the Road","Without Me","Crazy For You","I Want to Know What Love Is","Bye Bye","Down Under","At the Hop","One Bad Apple","Kiss & Say Goodbye","For What It's Worth (Stop","The Long & Winding Road","Baby One More Time","Stairway to Heaven","How Do I Live?","Hello","Truly Madly Deeply","Great Balls of Fire","King of the Road","I Wanna Dance With Somebody (Who Loves Me)","Reunited","Help Me","Rags to Riches","(It's No) Sin","Say My Name","Nobody Does it Better","Paperback Writer","Don't Worry Be Happy","I Fall to Pieces","Body & Soul","You're Still the One","Stormy Weather (Keeps Rainin' All the Time)","Horse With No Name","American Woman","Chattanoogie Shoe-Shine Boy","Pick Up the Pieces","Everybody Wants to Rule the World","Blue Tango","Hurt So Good","Apologize","Let's Dance","(You're My) Soul & Inspiration","I Only Have Eyes For You","Wichita Lineman","Hanging by a Moment","Spinning Wheel","Look Away","Ironic","Don't Stop 'Til You Get Enough","Empire State Of Mind","Do You Love Me?","Jive Talkin'","You're the One That I Want","Sweet Soul Music","Hey There Delilah","A Whole New World (Aladdin's Theme)","Somethin' Stupid","Knock Three Times","Mickey","The Wanderer","Dancing in the Dark","It's Still Rock 'n' Roll to Me","Boogie Oogie Oogie","Can You Feel the Love Tonight","Harper Valley PTA","Seasons in the Sun","Come On-a My House","Viva La Vida","Walk On By","Drop it Like It's Hot","Private Eyes","Maniac","All My Lovin' (You're Never Gonna Get It)","Take a Bow","Ring of Fire","Save the Last Dance For Me","Make it With You","Don't Speak","I Shot the Sheriff","Say It Right","Sing","Twist & Shout","Walk This Way","A-Tisket A-Tasket","Let Me Love You","I Can Dream","Toxic","The Joker","Hero","In the Year 2525 (Exordium & Terminus)","Your Song","Oh Happy Day","Grease","Love In This Club","Angie","How Much is That Doggy in the Window?","Daydream Believer","Whip It","Boogie Woogie Bugle Boy","Down","Hanky Panky","Total Eclipse of the Heart","Cat's in the Cradle","Strange Fruit","Breathe","On My Own","Dizzy","Ticket to Ride","We Got The Beat","On the Atchison","Always On My Mind","Unforgettable","In the End","Music","Can't Buy Me Love","Chain of Fools","Won't Get Fooled Again","Happy Days Are Here Again","Third Man Theme","Your Cheatin' Heart","Thriller","Venus","Time After Time","That Lucky Old Sun (Just Rolls Around Heaven All Day)","E.T.","Three Coins in the Fountain","Touch Me","You Ain't Seen Nothin' Yet","Gives You Hell","Knock On Wood","One of These Nights","Again","Doo Wop (That Thing)","Whoomp! (There it Is)","Magic","I'm Walking Behind You","We Didn't Start the Fire","Lola","Ghostbusters","Winchester Cathedral","Greatest Love of All","My Love","Wannabe","Miss You","I Feel Fine","Baby Baby","TSOP (The Sound of Philadelphia)","Loving You","This Guy's in Love With You","Till I Waltz Again With You","Why Do Fools Fall in Love?","Nights in White Satin","That's the Way (I Like It)","My Prayer","(Put Another Nickel In) Music! Music! Music!","Colors of the Wind","Morning Train (Nine to Five)","I Went to Your Wedding","Kiss Me","Gypsies","Cracklin' Rosie","Maybellene","Born in the USA","Here Without You","Mony Mony","Mmmbop","You Always Hurt the One You Love","Eight Days a Week","What Goes Around Comes Around","Kung Fu Fighting","Fantasy","Sir Duke","Ain't Misbehavin'","Need You Now","Last Train to Clarksville","Yakety Yak","I'll be seeing you","Hard to Say I'm Sorry","It's My Party","Love to Love You Baby","Miss You Much","Born to Run","Instant Karma","The Rose","Purple Rain","One","Groove is in the Heart","Gimme Some Lovin'","Beautiful Day","Escape (The Pina Colada Song)","Use Somebody","Fortunate Son","Afternoon Delight","Love's Theme","Sailing","Cherry Pink & Apple Blossom White","Georgy Girl","How to Save a Life","I Walk the Line","All You Need is Love","U Can't Touch This","All Out of Love","Where is the Love?","Revolution","The Love You Save","Black Or White","This Used to Be My Playground","Living For the City","School's Out","Disturbia","Riders On the Storm","Some Enchanted Evening","Weak","Maneater","More Than Words","Time of the Season","Mrs Brown You've Got a Lovely Daughter","If You Leave Me Now","Can't Get Enough of Your Love","Na Na Hey Hey (Kiss Him Goodbye)","Mr Brightside","Black Velvet","I'm Yours","My Blue Heaven","It Had to Be You","Tha Crossroads","Ac-cent-tchu-ate the Positive","Everyday People","We Are Young","Take Me Home","Smoke! Smoke! Smoke! (That Cigarette)","In the Summertime","The Tracks of My Tears","Fly Robin Fly","Love is a Many Splendoured Thing","Another Night","Long Tall Sally","You Sexy Thing","The Morning After","Get Off of My Cloud","Roses Are Red","Thank You (Falettinme be Mice Elf Again)","Slow Poke","You Belong With Me","Ain't No Mountain High Enough","Auf Wiederseh'n Sweetheart","Beauty & the Beast","St Louis Blues","Peggy Sue","U Got it Bad","Sweet Caroline (Good Times Never Seemed So Good)","Wedding Bell Blues","Freebird","Wipe Out","California Girls","Being With You","Makin' Whoopee","Shop Around","Smoke On the Water","Hungry Heart","That's Amore","My Life","Brandy (You're A Fine Girl)","Walk Don't Run","Surfin' USA","Ball of Confusion (That's What the World is Today)","Sunshine Superman","Frankenstein","Kiss You All Over","Wishing Well","Piano Man","Ben","In the Ghetto","Hang On Sloopy","Singing The Blues","Cry Like a Baby","I Honestly Love You","Brother","Lookin' Out My Back Door","Candy Man","Burn","Stagger Lee","Moonlight Cocktail","Coming Up","Pop Muzik","As Time Goes By","My Eyes Adored You","Strawberry Fields Forever","Some of These Days","I Think I Love You","Judy in Disguise (With Glasses)","All Along the Watchtower","A Thousand Miles","Fast Car","Red Red Wine","Live & Let Die","Come On Eileen","Right Back Where We Started From","Brother Louie","Ol' Man River","Band On the Run","Rich Girl","Green River","Got to Give it Up","Behind Closed Doors","Don't Go Breaking My Heart","I'm Looking Over a Four Leaf Clover","Mr Big Stuff","Tiger Rag","Kryptonite","Hey Paula","Go Your Own Way","Big Bad John","Wake Me Up Before You Go Go","Tangerine","Wayward Wind","Disco Lady","Spanish Harlem","Wicked Game","Rosanna","Papa Don't Preach","Somebody to Love","Kokomo","Manana (Is Soon Enough For Me)","Puttin' on the Ritz","One More Try","I'll Walk Alone","Shout","Woman","Ballerina","We Built This City","19th Nervous Breakdown","Working My Way Back to You","Superstar","Foolish Games","Get Down Tonight","On Bended Knee","Magic Carpet Ride","Only You (And You Alone)","A String of Pearls","A Tree in the Meadow","So Much in Love","Every Little Thing She Does is Magic","La Bamba","Tighten Up","Three Times a Lady","Airplanes","Don't Leave Me This Way","Rock the Casbah","Feel Good Inc","Love Me Do","Kiss On My List","Give Me Everything","Have You Ever Really Loved a Woman?","Love Letters in the Sand","Ring My Bell","Love Child","I Feel For You","Bye","(Let Me Be Your) Teddy Bear","Soldier Boy","Papa's Got a Brand New Bag","Love Hangover","Spill the Wine","Royals","April Showers","Don't You (Forget About Me)","Travellin' Man","The Thing","You Make Me Feel Brand New","The Glow-Worm","You Don't Bring Me Flowers","Summertime Blues","Straight Up","Sunday","Wake Up Little Susie","She's a Lady","Over There","Little Darlin'","Rag Mop","Shake Down","Up Around the Bend","Harbour Lights","Chances Are","Mood Indigo","Pony Time","After You've Gone","I Wanna Love You","Da Doo Ron Ron (When He Walked Me Home)","If You Don't Know Me By Now","Green Tambourine","My Man","If I Didn't Care","St George & the Dragonette","Why Don't You Believe Me?","How Will I Know","Disco Duck","Lonely Boy","Never Gonna Give You Up","Before The Next Teardrop Falls","Running Scared","Let's Hear it For the Boy","Sleep Walk","Walk On the Wild Side","Memories Are Made of This","Open Arms","Stuck On You","Personality","Feel Like Making Love","Stars & Stripes Forever","Besame Mucho","Let Me Call You Sweetheart","Indian Reservation (The Lament Of The Cherokee Reservation Indian)","Cars","You Make Me Feel Like Dancing","Whatcha Say","Me & Mrs Jones","Bitter Sweet Symphony","Uncle Albert (Admiral Halsey)","More Than a Feeling","My Boyfriend's Back","People","He'll Have to Go","I Can Help","The Streak","Dreams","Hair","Cold","Nothin' on You","The End of the World","Caldonia Boogie (What Makes Your Big Head So Hard)","I Kissed A Girl","Incense & Peppermints","12th Street Rag","West End Blues","The Way You Move","Smoke Gets in Your Eyes","Want Ads","Long Cool Woman in a Black Dress","Hey Baby","(Your Love Keeps Lifting Me) Higher & Higher","He's a Rebel","Alone","Thrift Shop","Don't Let the Sun Go Down On Me","The Sweet Escape","Return to Sender","Here in My Heart","Wabash Cannonball","Ain't That a Shame","Travellin' Band","I'm Your Boogie Man","I Write the Songs","This Love","Lights","Will It Go Round In Circles","Purple Haze","Rock Your Baby","Delicado","Tammy","Check On It","Breaking Up is Hard to Do","1999","Prisoner of Love","Wild Wild West","Walk Like a Man","I Will Follow Him","Glamorous","Yellow Rose of Texas","That Old Black Magic","I'm So Lonesome I Could Cry","Up Up & Away","Baby Come Back","Let it Snow! Let it Snow! Let it Snow!","Pon De Replay","Because I Love You (The Postman Song)","Sleepy Lagoon","Baker Street","Dardanella","You Don't Have to Be a Star (To Be in My Show)","Leaving","Glory of Love","Theme From 'Greatest American Hero' (Believe It Or Not)","Shake You Down","Ole Buttermilk Sky","I Can't Get Started","Freak Me","Hot Child In The City","Man in the Mirror","Queen of Hearts","Let's Groove","Change the World","You make Me Wanna","Someday","Eve of Destruction","One of Us","Honky Tonk","Be Bop a Lula","Two Hearts","Paper Planes"],f4t={genre:h4t,song_name:m4t},g4t=f4t,p4t=["activist","artist","author","blogger","business owner","coach","creator","designer","developer","dreamer","educator","engineer","entrepreneur","environmentalist","film lover","filmmaker","foodie","founder","friend","gamer","geek","grad","inventor","leader","model","musician","nerd","parent","patriot","person","philosopher","photographer","public speaker","scientist","singer","streamer","student","teacher","traveler","veteran","writer"],b4t=["{{person.bio_part}}","{{person.bio_part}}, {{person.bio_part}}","{{person.bio_part}}, {{person.bio_part}}, {{person.bio_part}}","{{person.bio_part}}, {{person.bio_part}}, {{person.bio_part}} {{internet.emoji}}","{{word.noun}} {{person.bio_supporter}}","{{word.noun}} {{person.bio_supporter}} {{internet.emoji}}","{{word.noun}} {{person.bio_supporter}}, {{person.bio_part}}","{{word.noun}} {{person.bio_supporter}}, {{person.bio_part}} {{internet.emoji}}"],v4t=["advocate","devotee","enthusiast","fan","junkie","lover","supporter"],y4t=["Mary","Patricia","Linda","Barbara","Elizabeth","Jennifer","Maria","Susan","Margaret","Dorothy","Lisa","Nancy","Karen","Betty","Helen","Sandra","Donna","Carol","Ruth","Sharon","Michelle","Laura","Sarah","Kimberly","Deborah","Jessica","Shirley","Cynthia","Angela","Melissa","Brenda","Amy","Anna","Rebecca","Virginia","Kathleen","Pamela","Martha","Debra","Amanda","Stephanie","Carolyn","Christine","Marie","Janet","Catherine","Frances","Ann","Joyce","Diane","Alice","Julie","Heather","Teresa","Doris","Gloria","Evelyn","Jean","Cheryl","Mildred","Katherine","Joan","Ashley","Judith","Rose","Janice","Kelly","Nicole","Judy","Christina","Kathy","Theresa","Beverly","Denise","Tammy","Irene","Jane","Lori","Rachel","Marilyn","Andrea","Kathryn","Louise","Sara","Anne","Jacqueline","Wanda","Bonnie","Julia","Ruby","Lois","Tina","Phyllis","Norma","Paula","Diana","Annie","Lillian","Emily","Robin","Peggy","Crystal","Gladys","Rita","Dawn","Connie","Florence","Tracy","Edna","Tiffany","Carmen","Rosa","Cindy","Grace","Wendy","Victoria","Edith","Kim","Sherry","Sylvia","Josephine","Thelma","Shannon","Sheila","Ethel","Ellen","Elaine","Marjorie","Carrie","Charlotte","Monica","Esther","Pauline","Emma","Juanita","Anita","Rhonda","Hazel","Amber","Eva","Debbie","April","Leslie","Clara","Lucille","Jamie","Joanne","Eleanor","Valerie","Danielle","Megan","Alicia","Suzanne","Michele","Gail","Bertha","Darlene","Veronica","Jill","Erin","Geraldine","Lauren","Cathy","Joann","Lorraine","Lynn","Sally","Regina","Erica","Beatrice","Dolores","Bernice","Audrey","Yvonne","Annette","June","Samantha","Marion","Dana","Stacy","Ana","Renee","Ida","Vivian","Roberta","Holly","Brittany","Melanie","Loretta","Yolanda","Jeanette","Laurie","Katie","Kristen","Vanessa","Alma","Sue","Elsie","Beth","Jeanne","Vicki","Carla","Tara","Rosemary","Eileen","Terri","Gertrude","Lucy","Tonya","Ella","Stacey","Wilma","Gina","Kristin","Jessie","Natalie","Agnes","Vera","Willie","Charlene","Bessie","Delores","Melinda","Pearl","Arlene","Maureen","Colleen","Allison","Tamara","Joy","Georgia","Constance","Lillie","Claudia","Jackie","Marcia","Tanya","Nellie","Minnie","Marlene","Heidi","Glenda","Lydia","Viola","Courtney","Marian","Stella","Caroline","Dora","Jo","Vickie","Mattie","Terry","Maxine","Irma","Mabel","Marsha","Myrtle","Lena","Christy","Deanna","Patsy","Hilda","Gwendolyn","Jennie","Nora","Margie","Nina","Cassandra","Leah","Penny","Kay","Priscilla","Naomi","Carole","Brandy","Olga","Billie","Dianne","Tracey","Leona","Jenny","Felicia","Sonia","Miriam","Velma","Becky","Bobbie","Violet","Kristina","Toni","Misty","Mae","Shelly","Daisy","Ramona","Sherri","Erika","Katrina","Claire","Lindsey","Lindsay","Geneva","Guadalupe","Belinda","Margarita","Sheryl","Cora","Faye","Ada","Natasha","Sabrina","Isabel","Marguerite","Hattie","Harriet","Molly","Cecilia","Kristi","Brandi","Blanche","Sandy","Rosie","Joanna","Iris","Eunice","Angie","Inez","Lynda","Madeline","Amelia","Alberta","Genevieve","Monique","Jodi","Janie","Maggie","Kayla","Sonya","Jan","Lee","Kristine","Candace","Fannie","Maryann","Opal","Alison","Yvette","Melody","Luz","Susie","Olivia","Flora","Shelley","Kristy","Mamie","Lula","Lola","Verna","Beulah","Antoinette","Candice","Juana","Jeannette","Pam","Kelli","Hannah","Whitney","Bridget","Karla","Celia","Latoya","Patty","Shelia","Gayle","Della","Vicky","Lynne","Sheri","Marianne","Kara","Jacquelyn","Erma","Blanca","Myra","Leticia","Pat","Krista","Roxanne","Angelica","Johnnie","Robyn","Francis","Adrienne","Rosalie","Alexandra","Brooke","Bethany","Sadie","Bernadette","Traci","Jody","Kendra","Jasmine","Nichole","Rachael","Chelsea","Mable","Ernestine","Muriel","Marcella","Elena","Krystal","Angelina","Nadine","Kari","Estelle","Dianna","Paulette","Lora","Mona","Doreen","Rosemarie","Angel","Desiree","Antonia","Hope","Ginger","Janis","Betsy","Christie","Freda","Mercedes","Meredith","Lynette","Teri","Cristina","Eula","Leigh","Meghan","Sophia","Eloise","Rochelle","Gretchen","Cecelia","Raquel","Henrietta","Alyssa","Jana","Kelley","Gwen","Kerry","Jenna","Tricia","Laverne","Olive","Alexis","Tasha","Silvia","Elvira","Casey","Delia","Sophie","Kate","Patti","Lorena","Kellie","Sonja","Lila","Lana","Darla","May","Mindy","Essie","Mandy","Lorene","Elsa","Josefina","Jeannie","Miranda","Dixie","Lucia","Marta","Faith","Lela","Johanna","Shari","Camille","Tami","Shawna","Elisa","Ebony","Melba","Ora","Nettie","Tabitha","Ollie","Jaime","Winifred","Kristie"],C4t=["Abigail","Adele","Alex","Alice","Alisha","Amber","Amelia","Amora","Anaïs","Angelou","Anika","Anise","Annabel","Anne","Aphrodite","Aretha","Arya","Ashton","Aster","Audrey","Avery","Bailee","Bay","Belle","Beth","Billie","Blair","Blaise","Blake","Blanche","Blue","Bree","Brielle","Brienne","Brooke","Caleen","Candice","Caprice","Carelyn","Caylen","Celine","Cerise","Cia","Claire","Claudia","Clementine","Coral","Coraline","Dahlia","Dakota","Dawn","Della","Demi","Denise","Denver","Devine","Devon","Diana","Dylan","Ebony","Eden","Eleanor","Elein","Elizabeth","Ellen","Elodie","Eloise","Ember","Emma","Erin","Eyre","Faith","Farrah","Fawn","Fayre","Fern","France","Francis","Frida","Genisis","Georgia","Grace","Gwen","Harley","Harper","Hazel","Helen","Hippolyta","Holly","Hope","Imani","Iowa","Ireland","Irene","Iris","Isa","Isla","Ivy","Jade","Jane","Jazz","Jean","Jess","Jett","Jo","Joan","Jolie","Jordan","Josie","Journey","Joy","Jules","Julien","Juliet","Juniper","Justice","Kali","Karma","Kat","Kate","Kennedy","Keva","Kylie","Lake","Lane","Lark","Layla","Lee","Leigh","Leona","Lexi","London","Lou","Louise","Love","Luna","Lux","Lynn","Lyric","Maddie","Mae","Marie","Matilda","Maude","Maybel","Meadow","Medusa","Mercy","Michelle","Mirabel","Monroe","Morgan","Nalia","Naomi","Nova","Olive","Paige","Parker","Pax","Pearl","Penelope","Phoenix","Quinn","Rae","Rain","Raven","Ray","Raye","Rebel","Reese","Reeve","Regan","Riley","River","Robin","Rory","Rose","Royal","Ruth","Rylie","Sage","Sam","Saturn","Scout","Serena","Sky","Skylar","Sofia","Sophia","Storm","Sue","Suzanne","Sydney","Taylen","Taylor","Teagan","Tempest","Tenley","Thea","Trinity","Valerie","Venus","Vera","Violet","Willow","Winter","Xena","Zaylee","Zion","Zoe"],mDe=["Mrs.","Ms.","Miss","Dr."],w4t=["Aaliyah","Aaron","Abagail","Abbey","Abbie","Abbigail","Abby","Abdiel","Abdul","Abdullah","Abe","Abel","Abelardo","Abigail","Abigale","Abigayle","Abner","Abraham","Ada","Adah","Adalberto","Adaline","Adam","Adan","Addie","Addison","Adela","Adelbert","Adele","Adelia","Adeline","Adell","Adella","Adelle","Aditya","Adolf","Adolfo","Adolph","Adolphus","Adonis","Adrain","Adrian","Adriana","Adrianna","Adriel","Adrien","Adrienne","Afton","Aglae","Agnes","Agustin","Agustina","Ahmad","Ahmed","Aida","Aidan","Aiden","Aileen","Aimee","Aisha","Aiyana","Akeem","Al","Alaina","Alan","Alana","Alanis","Alanna","Alayna","Alba","Albert","Alberta","Albertha","Alberto","Albin","Albina","Alda","Alden","Alec","Aleen","Alejandra","Alejandrin","Alek","Alena","Alene","Alessandra","Alessandro","Alessia","Aletha","Alex","Alexa","Alexander","Alexandra","Alexandre","Alexandrea","Alexandria","Alexandrine","Alexandro","Alexane","Alexanne","Alexie","Alexis","Alexys","Alexzander","Alf","Alfonso","Alfonzo","Alford","Alfred","Alfreda","Alfredo","Ali","Alia","Alice","Alicia","Alisa","Alisha","Alison","Alivia","Aliya","Aliyah","Aliza","Alize","Allan","Allen","Allene","Allie","Allison","Ally","Alphonso","Alta","Althea","Alva","Alvah","Alvena","Alvera","Alverta","Alvina","Alvis","Alyce","Alycia","Alysa","Alysha","Alyson","Alysson","Amalia","Amanda","Amani","Amara","Amari","Amaya","Amber","Ambrose","Amelia","Amelie","Amely","America","Americo","Amie","Amina","Amir","Amira","Amiya","Amos","Amparo","Amy","Amya","Ana","Anabel","Anabelle","Anahi","Anais","Anastacio","Anastasia","Anderson","Andre","Andreane","Andreanne","Andres","Andrew","Andy","Angel","Angela","Angelica","Angelina","Angeline","Angelita","Angelo","Angie","Angus","Anibal","Anika","Anissa","Anita","Aniya","Aniyah","Anjali","Anna","Annabel","Annabell","Annabelle","Annalise","Annamae","Annamarie","Anne","Annetta","Annette","Annie","Ansel","Ansley","Anthony","Antoinette","Antone","Antonetta","Antonette","Antonia","Antonietta","Antonina","Antonio","Antwan","Antwon","Anya","April","Ara","Araceli","Aracely","Arch","Archibald","Ardella","Arden","Ardith","Arely","Ari","Ariane","Arianna","Aric","Ariel","Arielle","Arjun","Arlene","Arlie","Arlo","Armand","Armando","Armani","Arnaldo","Arne","Arno","Arnold","Arnoldo","Arnulfo","Aron","Art","Arthur","Arturo","Arvel","Arvid","Arvilla","Aryanna","Asa","Asha","Ashlee","Ashleigh","Ashley","Ashly","Ashlynn","Ashton","Ashtyn","Asia","Assunta","Astrid","Athena","Aubree","Aubrey","Audie","Audra","Audreanne","Audrey","August","Augusta","Augustine","Augustus","Aurelia","Aurelie","Aurelio","Aurore","Austen","Austin","Austyn","Autumn","Ava","Avery","Avis","Axel","Ayana","Ayden","Ayla","Aylin","Baby","Bailee","Bailey","Barbara","Barney","Baron","Barrett","Barry","Bart","Bartholome","Barton","Baylee","Beatrice","Beau","Beaulah","Bell","Bella","Belle","Ben","Benedict","Benjamin","Bennett","Bennie","Benny","Benton","Berenice","Bernadette","Bernadine","Bernard","Bernardo","Berneice","Bernhard","Bernice","Bernie","Berniece","Bernita","Berry","Bert","Berta","Bertha","Bertram","Bertrand","Beryl","Bessie","Beth","Bethany","Bethel","Betsy","Bette","Bettie","Betty","Bettye","Beulah","Beverly","Bianka","Bill","Billie","Billy","Birdie","Blair","Blaise","Blake","Blanca","Blanche","Blaze","Bo","Bobbie","Bobby","Bonita","Bonnie","Boris","Boyd","Brad","Braden","Bradford","Bradley","Bradly","Brady","Braeden","Brain","Brandi","Brando","Brandon","Brandt","Brandy","Brandyn","Brannon","Branson","Brant","Braulio","Braxton","Brayan","Breana","Breanna","Breanne","Brenda","Brendan","Brenden","Brendon","Brenna","Brennan","Brennon","Brent","Bret","Brett","Bria","Brian","Briana","Brianne","Brice","Bridget","Bridgette","Bridie","Brielle","Brigitte","Brionna","Brisa","Britney","Brittany","Brock","Broderick","Brody","Brook","Brooke","Brooklyn","Brooks","Brown","Bruce","Bryana","Bryce","Brycen","Bryon","Buck","Bud","Buddy","Buford","Bulah","Burdette","Burley","Burnice","Buster","Cade","Caden","Caesar","Caitlyn","Cale","Caleb","Caleigh","Cali","Calista","Callie","Camden","Cameron","Camila","Camilla","Camille","Camren","Camron","Camryn","Camylle","Candace","Candelario","Candice","Candida","Candido","Cara","Carey","Carissa","Carlee","Carleton","Carley","Carli","Carlie","Carlo","Carlos","Carlotta","Carmel","Carmela","Carmella","Carmelo","Carmen","Carmine","Carol","Carolanne","Carole","Carolina","Caroline","Carolyn","Carolyne","Carrie","Carroll","Carson","Carter","Cary","Casandra","Casey","Casimer","Casimir","Casper","Cassandra","Cassandre","Cassidy","Cassie","Catalina","Caterina","Catharine","Catherine","Cathrine","Cathryn","Cathy","Cayla","Ceasar","Cecelia","Cecil","Cecile","Cecilia","Cedrick","Celestine","Celestino","Celia","Celine","Cesar","Chad","Chadd","Chadrick","Chaim","Chance","Chandler","Chanel","Chanelle","Charity","Charlene","Charles","Charley","Charlie","Charlotte","Chase","Chasity","Chauncey","Chaya","Chaz","Chelsea","Chelsey","Chelsie","Chesley","Chester","Chet","Cheyanne","Cheyenne","Chloe","Chris","Christ","Christa","Christelle","Christian","Christiana","Christina","Christine","Christop","Christophe","Christopher","Christy","Chyna","Ciara","Cicero","Cielo","Cierra","Cindy","Citlalli","Clair","Claire","Clara","Clarabelle","Clare","Clarissa","Clark","Claud","Claude","Claudia","Claudie","Claudine","Clay","Clemens","Clement","Clementina","Clementine","Clemmie","Cleo","Cleora","Cleta","Cletus","Cleve","Cleveland","Clifford","Clifton","Clint","Clinton","Clotilde","Clovis","Cloyd","Clyde","Coby","Cody","Colby","Cole","Coleman","Colin","Colleen","Collin","Colt","Colten","Colton","Columbus","Concepcion","Conner","Connie","Connor","Conor","Conrad","Constance","Constantin","Consuelo","Cooper","Cora","Coralie","Corbin","Cordelia","Cordell","Cordia","Cordie","Corene","Corine","Cornelius","Cornell","Corrine","Cortez","Cortney","Cory","Coty","Courtney","Coy","Craig","Crawford","Creola","Cristal","Cristian","Cristina","Cristobal","Cristopher","Cruz","Crystal","Crystel","Cullen","Curt","Curtis","Cydney","Cynthia","Cyril","Cyrus","Dagmar","Dahlia","Daija","Daisha","Daisy","Dakota","Dale","Dallas","Dallin","Dalton","Damaris","Dameon","Damian","Damien","Damion","Damon","Dan","Dana","Dandre","Dane","D'angelo","Dangelo","Danial","Daniela","Daniella","Danielle","Danika","Dannie","Danny","Dante","Danyka","Daphne","Daphnee","Daphney","Darby","Daren","Darian","Dariana","Darien","Dario","Darion","Darius","Darlene","Daron","Darrel","Darrell","Darren","Darrick","Darrin","Darrion","Darron","Darryl","Darwin","Daryl","Dashawn","Dasia","Dave","David","Davin","Davion","Davon","Davonte","Dawn","Dawson","Dax","Dayana","Dayna","Dayne","Dayton","Dean","Deangelo","Deanna","Deborah","Declan","Dedric","Dedrick","Dee","Deion","Deja","Dejah","Dejon","Dejuan","Delaney","Delbert","Delfina","Delia","Delilah","Dell","Della","Delmer","Delores","Delpha","Delphia","Delphine","Delta","Demarco","Demarcus","Demario","Demetris","Demetrius","Demond","Dena","Denis","Dennis","Deon","Deondre","Deontae","Deonte","Dereck","Derek","Derick","Deron","Derrick","Deshaun","Deshawn","Desiree","Desmond","Dessie","Destany","Destin","Destinee","Destiney","Destini","Destiny","Devan","Devante","Deven","Devin","Devon","Devonte","Devyn","Dewayne","Dewitt","Dexter","Diamond","Diana","Dianna","Diego","Dillan","Dillon","Dimitri","Dina","Dino","Dion","Dixie","Dock","Dolly","Dolores","Domenic","Domenica","Domenick","Domenico","Domingo","Dominic","Dominique","Don","Donald","Donato","Donavon","Donna","Donnell","Donnie","Donny","Dora","Dorcas","Dorian","Doris","Dorothea","Dorothy","Dorris","Dortha","Dorthy","Doug","Douglas","Dovie","Doyle","Drake","Drew","Duane","Dudley","Dulce","Duncan","Durward","Dustin","Dusty","Dwight","Dylan","Earl","Earlene","Earline","Earnest","Earnestine","Easter","Easton","Ebba","Ebony","Ed","Eda","Edd","Eddie","Eden","Edgar","Edgardo","Edison","Edmond","Edmund","Edna","Eduardo","Edward","Edwardo","Edwin","Edwina","Edyth","Edythe","Effie","Efrain","Efren","Eileen","Einar","Eino","Eladio","Elaina","Elbert","Elda","Eldon","Eldora","Eldred","Eldridge","Eleanora","Eleanore","Eleazar","Electa","Elena","Elenor","Elenora","Eleonore","Elfrieda","Eli","Elian","Eliane","Elias","Eliezer","Elijah","Elinor","Elinore","Elisa","Elisabeth","Elise","Eliseo","Elisha","Elissa","Eliza","Elizabeth","Ella","Ellen","Ellie","Elliot","Elliott","Ellis","Ellsworth","Elmer","Elmira","Elmo","Elmore","Elna","Elnora","Elody","Eloisa","Eloise","Elouise","Eloy","Elroy","Elsa","Else","Elsie","Elta","Elton","Elva","Elvera","Elvie","Elvis","Elwin","Elwyn","Elyse","Elyssa","Elza","Emanuel","Emelia","Emelie","Emely","Emerald","Emerson","Emery","Emie","Emil","Emile","Emilia","Emiliano","Emilie","Emilio","Emily","Emma","Emmalee","Emmanuel","Emmanuelle","Emmet","Emmett","Emmie","Emmitt","Emmy","Emory","Ena","Enid","Enoch","Enola","Enos","Enrico","Enrique","Ephraim","Era","Eriberto","Eric","Erica","Erich","Erick","Ericka","Erik","Erika","Erin","Erling","Erna","Ernest","Ernestina","Ernestine","Ernesto","Ernie","Ervin","Erwin","Eryn","Esmeralda","Esperanza","Esta","Esteban","Estefania","Estel","Estell","Estella","Estelle","Estevan","Esther","Estrella","Etha","Ethan","Ethel","Ethelyn","Ethyl","Ettie","Eudora","Eugene","Eugenia","Eula","Eulah","Eulalia","Euna","Eunice","Eusebio","Eva","Evalyn","Evan","Evangeline","Evans","Eve","Eveline","Evelyn","Everardo","Everett","Everette","Evert","Evie","Ewald","Ewell","Ezekiel","Ezequiel","Ezra","Fabian","Fabiola","Fae","Fannie","Fanny","Fatima","Faustino","Fausto","Favian","Fay","Faye","Federico","Felicia","Felicita","Felicity","Felipa","Felipe","Felix","Felton","Fermin","Fern","Fernando","Ferne","Fidel","Filiberto","Filomena","Finn","Fiona","Flavie","Flavio","Fleta","Fletcher","Flo","Florence","Florencio","Florian","Florida","Florine","Flossie","Floy","Floyd","Ford","Forest","Forrest","Foster","Frances","Francesca","Francesco","Francis","Francisca","Francisco","Franco","Frank","Frankie","Franz","Fred","Freda","Freddie","Freddy","Frederic","Frederick","Frederik","Frederique","Fredrick","Fredy","Freeda","Freeman","Freida","Frida","Frieda","Friedrich","Fritz","Furman","Gabe","Gabriel","Gabriella","Gabrielle","Gaetano","Gage","Gail","Gardner","Garett","Garfield","Garland","Garnet","Garnett","Garret","Garrett","Garrick","Garrison","Garry","Garth","Gaston","Gavin","Gayle","Gene","General","Genesis","Genevieve","Gennaro","Genoveva","Geo","Geoffrey","George","Georgette","Georgiana","Georgianna","Geovanni","Geovanny","Geovany","Gerald","Geraldine","Gerard","Gerardo","Gerda","Gerhard","Germaine","German","Gerry","Gerson","Gertrude","Gia","Gianni","Gideon","Gilbert","Gilberto","Gilda","Giles","Gillian","Gina","Gino","Giovani","Giovanna","Giovanni","Giovanny","Gisselle","Giuseppe","Gladyce","Gladys","Glen","Glenda","Glenna","Glennie","Gloria","Godfrey","Golda","Golden","Gonzalo","Gordon","Grace","Gracie","Graciela","Grady","Graham","Grant","Granville","Grayce","Grayson","Green","Greg","Gregg","Gregoria","Gregorio","Gregory","Greta","Gretchen","Greyson","Griffin","Grover","Guadalupe","Gudrun","Guido","Guillermo","Guiseppe","Gunnar","Gunner","Gus","Gussie","Gust","Gustave","Guy","Gwen","Gwendolyn","Hadley","Hailee","Hailey","Hailie","Hal","Haleigh","Haley","Halie","Halle","Hallie","Hank","Hanna","Hannah","Hans","Hardy","Harley","Harmon","Harmony","Harold","Harrison","Harry","Harvey","Haskell","Hassan","Hassie","Hattie","Haven","Hayden","Haylee","Hayley","Haylie","Hazel","Hazle","Heath","Heather","Heaven","Heber","Hector","Heidi","Helen","Helena","Helene","Helga","Hellen","Helmer","Heloise","Henderson","Henri","Henriette","Henry","Herbert","Herman","Hermann","Hermina","Herminia","Herminio","Hershel","Herta","Hertha","Hester","Hettie","Hilario","Hilbert","Hilda","Hildegard","Hillard","Hillary","Hilma","Hilton","Hipolito","Hiram","Hobart","Holden","Hollie","Hollis","Holly","Hope","Horace","Horacio","Hortense","Hosea","Houston","Howard","Howell","Hoyt","Hubert","Hudson","Hugh","Hulda","Humberto","Hunter","Hyman","Ian","Ibrahim","Icie","Ida","Idell","Idella","Ignacio","Ignatius","Ike","Ila","Ilene","Iliana","Ima","Imani","Imelda","Immanuel","Imogene","Ines","Irma","Irving","Irwin","Isaac","Isabel","Isabell","Isabella","Isabelle","Isac","Isadore","Isai","Isaiah","Isaias","Isidro","Ismael","Isobel","Isom","Israel","Issac","Itzel","Iva","Ivah","Ivory","Ivy","Izabella","Izaiah","Jabari","Jace","Jacey","Jacinthe","Jacinto","Jack","Jackeline","Jackie","Jacklyn","Jackson","Jacky","Jaclyn","Jacquelyn","Jacques","Jacynthe","Jada","Jade","Jaden","Jadon","Jadyn","Jaeden","Jaida","Jaiden","Jailyn","Jaime","Jairo","Jakayla","Jake","Jakob","Jaleel","Jalen","Jalon","Jalyn","Jamaal","Jamal","Jamar","Jamarcus","Jamel","Jameson","Jamey","Jamie","Jamil","Jamir","Jamison","Jammie","Jan","Jana","Janae","Jane","Janelle","Janessa","Janet","Janice","Janick","Janie","Janis","Janiya","Jannie","Jany","Jaquan","Jaquelin","Jaqueline","Jared","Jaren","Jarod","Jaron","Jarred","Jarrell","Jarret","Jarrett","Jarrod","Jarvis","Jasen","Jasmin","Jason","Jasper","Jaunita","Javier","Javon","Javonte","Jay","Jayce","Jaycee","Jayda","Jayde","Jayden","Jaydon","Jaylan","Jaylen","Jaylin","Jaylon","Jayme","Jayne","Jayson","Jazlyn","Jazmin","Jazmyn","Jazmyne","Jean","Jeanette","Jeanie","Jeanne","Jed","Jedediah","Jedidiah","Jeff","Jefferey","Jeffery","Jeffrey","Jeffry","Jena","Jenifer","Jennie","Jennifer","Jennings","Jennyfer","Jensen","Jerad","Jerald","Jeramie","Jeramy","Jerel","Jeremie","Jeremy","Jermain","Jermaine","Jermey","Jerod","Jerome","Jeromy","Jerrell","Jerrod","Jerrold","Jerry","Jess","Jesse","Jessica","Jessie","Jessika","Jessy","Jessyca","Jesus","Jett","Jettie","Jevon","Jewel","Jewell","Jillian","Jimmie","Jimmy","Jo","Joan","Joana","Joanie","Joanne","Joannie","Joanny","Joany","Joaquin","Jocelyn","Jodie","Jody","Joe","Joel","Joelle","Joesph","Joey","Johan","Johann","Johanna","Johathan","John","Johnathan","Johnathon","Johnnie","Johnny","Johnpaul","Johnson","Jolie","Jon","Jonas","Jonatan","Jonathan","Jonathon","Jordan","Jordane","Jordi","Jordon","Jordy","Jordyn","Jorge","Jose","Josefa","Josefina","Joseph","Josephine","Josh","Joshua","Joshuah","Josiah","Josiane","Josianne","Josie","Josue","Jovan","Jovani","Jovanny","Jovany","Joy","Joyce","Juana","Juanita","Judah","Judd","Jude","Judge","Judson","Judy","Jules","Julia","Julian","Juliana","Julianne","Julie","Julien","Juliet","Julio","Julius","June","Junior","Junius","Justen","Justice","Justina","Justine","Juston","Justus","Justyn","Juvenal","Juwan","Kacey","Kaci","Kacie","Kade","Kaden","Kadin","Kaela","Kaelyn","Kaia","Kailee","Kailey","Kailyn","Kaitlin","Kaitlyn","Kale","Kaleb","Kaleigh","Kaley","Kali","Kallie","Kameron","Kamille","Kamren","Kamron","Kamryn","Kane","Kara","Kareem","Karelle","Karen","Kari","Kariane","Karianne","Karina","Karine","Karl","Karlee","Karley","Karli","Karlie","Karolann","Karson","Kasandra","Kasey","Kassandra","Katarina","Katelin","Katelyn","Katelynn","Katharina","Katherine","Katheryn","Kathleen","Kathlyn","Kathryn","Kathryne","Katlyn","Katlynn","Katrina","Katrine","Kattie","Kavon","Kay","Kaya","Kaycee","Kayden","Kayla","Kaylah","Kaylee","Kayleigh","Kayley","Kayli","Kaylie","Kaylin","Keagan","Keanu","Keara","Keaton","Keegan","Keeley","Keely","Keenan","Keira","Keith","Kellen","Kelley","Kelli","Kellie","Kelly","Kelsi","Kelsie","Kelton","Kelvin","Ken","Kendall","Kendra","Kendrick","Kenna","Kennedi","Kennedy","Kenneth","Kennith","Kenny","Kenton","Kenya","Kenyatta","Kenyon","Keon","Keshaun","Keshawn","Keven","Kevin","Kevon","Keyon","Keyshawn","Khalid","Khalil","Kian","Kiana","Kianna","Kiara","Kiarra","Kiel","Kiera","Kieran","Kiley","Kim","Kimberly","King","Kip","Kira","Kirk","Kirsten","Kirstin","Kitty","Kobe","Koby","Kody","Kolby","Kole","Korbin","Korey","Kory","Kraig","Kris","Krista","Kristian","Kristin","Kristina","Kristofer","Kristoffer","Kristopher","Kristy","Krystal","Krystel","Krystina","Kurt","Kurtis","Kyla","Kyle","Kylee","Kyleigh","Kyler","Kylie","Kyra","Lacey","Lacy","Ladarius","Lafayette","Laila","Laisha","Lamar","Lambert","Lamont","Lance","Landen","Lane","Laney","Larissa","Laron","Larry","Larue","Laura","Laurel","Lauren","Laurence","Lauretta","Lauriane","Laurianne","Laurie","Laurine","Laury","Lauryn","Lavada","Lavern","Laverna","Laverne","Lavina","Lavinia","Lavon","Lavonne","Lawrence","Lawson","Layla","Layne","Lazaro","Lea","Leann","Leanna","Leanne","Leatha","Leda","Lee","Leif","Leila","Leilani","Lela","Lelah","Leland","Lelia","Lempi","Lemuel","Lenna","Lennie","Lenny","Lenora","Lenore","Leo","Leola","Leon","Leonard","Leonardo","Leone","Leonel","Leonie","Leonor","Leonora","Leopold","Leopoldo","Leora","Lera","Lesley","Leslie","Lesly","Lessie","Lester","Leta","Letha","Letitia","Levi","Lew","Lewis","Lexi","Lexie","Lexus","Lia","Liam","Liana","Libbie","Libby","Lila","Lilian","Liliana","Liliane","Lilla","Lillian","Lilliana","Lillie","Lilly","Lily","Lilyan","Lina","Lincoln","Linda","Lindsay","Lindsey","Linnea","Linnie","Linwood","Lionel","Lisa","Lisandro","Lisette","Litzy","Liza","Lizeth","Lizzie","Llewellyn","Lloyd","Logan","Lois","Lola","Lolita","Loma","Lon","London","Lonie","Lonnie","Lonny","Lonzo","Lora","Loraine","Loren","Lorena","Lorenz","Lorenza","Lorenzo","Lori","Lorine","Lorna","Lottie","Lou","Louie","Louisa","Lourdes","Louvenia","Lowell","Loy","Loyal","Loyce","Lucas","Luciano","Lucie","Lucienne","Lucile","Lucinda","Lucio","Lucious","Lucius","Lucy","Ludie","Ludwig","Lue","Luella","Luigi","Luis","Luisa","Lukas","Lula","Lulu","Luna","Lupe","Lura","Lurline","Luther","Luz","Lyda","Lydia","Lyla","Lynn","Lyric","Lysanne","Mabel","Mabelle","Mable","Mac","Macey","Maci","Macie","Mack","Mackenzie","Macy","Madaline","Madalyn","Maddison","Madeline","Madelyn","Madelynn","Madge","Madie","Madilyn","Madisen","Madison","Madisyn","Madonna","Madyson","Mae","Maegan","Maeve","Mafalda","Magali","Magdalen","Magdalena","Maggie","Magnolia","Magnus","Maia","Maida","Maiya","Major","Makayla","Makenna","Makenzie","Malachi","Malcolm","Malika","Malinda","Mallie","Mallory","Malvina","Mandy","Manley","Manuel","Manuela","Mara","Marc","Marcel","Marcelina","Marcelino","Marcella","Marcelle","Marcellus","Marcelo","Marcia","Marco","Marcos","Marcus","Margaret","Margarete","Margarett","Margaretta","Margarette","Margarita","Marge","Margie","Margot","Margret","Marguerite","Maria","Mariah","Mariam","Marian","Mariana","Mariane","Marianna","Marianne","Mariano","Maribel","Marie","Mariela","Marielle","Marietta","Marilie","Marilou","Marilyne","Marina","Mario","Marion","Marisa","Marisol","Maritza","Marjolaine","Marjorie","Marjory","Mark","Markus","Marlee","Marlen","Marlene","Marley","Marlin","Marlon","Marques","Marquis","Marquise","Marshall","Marta","Martin","Martina","Martine","Marty","Marvin","Mary","Maryam","Maryjane","Maryse","Mason","Mateo","Mathew","Mathias","Mathilde","Matilda","Matilde","Matt","Matteo","Mattie","Maud","Maude","Maudie","Maureen","Maurice","Mauricio","Maurine","Maverick","Mavis","Max","Maxie","Maxime","Maximilian","Maximillia","Maximillian","Maximo","Maximus","Maxine","Maxwell","May","Maya","Maybell","Maybelle","Maye","Maymie","Maynard","Mayra","Mazie","Mckayla","Mckenna","Mckenzie","Meagan","Meaghan","Meda","Megane","Meggie","Meghan","Mekhi","Melany","Melba","Melisa","Melissa","Mellie","Melody","Melvin","Melvina","Melyna","Melyssa","Mercedes","Meredith","Merl","Merle","Merlin","Merritt","Mertie","Mervin","Meta","Mia","Micaela","Micah","Michael","Michaela","Michale","Micheal","Michel","Michele","Michelle","Miguel","Mikayla","Mike","Mikel","Milan","Miles","Milford","Miller","Millie","Milo","Milton","Mina","Minerva","Minnie","Miracle","Mireille","Mireya","Misael","Missouri","Misty","Mitchel","Mitchell","Mittie","Modesta","Modesto","Mohamed","Mohammad","Mohammed","Moises","Mollie","Molly","Mona","Monica","Monique","Monroe","Monserrat","Monserrate","Montana","Monte","Monty","Morgan","Moriah","Morris","Mortimer","Morton","Mose","Moses","Moshe","Mossie","Mozell","Mozelle","Muhammad","Muriel","Murl","Murphy","Murray","Mustafa","Mya","Myah","Mylene","Myles","Myra","Myriam","Myrl","Myrna","Myron","Myrtice","Myrtie","Myrtis","Myrtle","Nadia","Nakia","Name","Nannie","Naomi","Naomie","Napoleon","Narciso","Nash","Nasir","Nat","Natalia","Natalie","Natasha","Nathan","Nathanael","Nathanial","Nathaniel","Nathen","Nayeli","Neal","Ned","Nedra","Neha","Neil","Nelda","Nella","Nelle","Nellie","Nels","Nelson","Neoma","Nestor","Nettie","Neva","Newell","Newton","Nia","Nicholas","Nicholaus","Nichole","Nick","Nicklaus","Nickolas","Nico","Nicola","Nicolas","Nicole","Nicolette","Nigel","Nikita","Nikki","Nikko","Niko","Nikolas","Nils","Nina","Noah","Noble","Noe","Noel","Noelia","Noemi","Noemie","Noemy","Nola","Nolan","Nona","Nora","Norbert","Norberto","Norene","Norma","Norris","Norval","Norwood","Nova","Novella","Nya","Nyah","Nyasia","Obie","Oceane","Ocie","Octavia","Oda","Odell","Odessa","Odie","Ofelia","Okey","Ola","Olaf","Ole","Olen","Oleta","Olga","Olin","Oliver","Ollie","Oma","Omari","Omer","Ona","Onie","Opal","Ophelia","Ora","Oral","Oran","Oren","Orie","Orin","Orion","Orland","Orlando","Orlo","Orpha","Orrin","Orval","Orville","Osbaldo","Osborne","Oscar","Osvaldo","Oswald","Oswaldo","Otha","Otho","Otilia","Otis","Ottilie","Ottis","Otto","Ova","Owen","Ozella","Pablo","Paige","Palma","Pamela","Pansy","Paolo","Paris","Parker","Pascale","Pasquale","Pat","Patience","Patricia","Patrick","Patsy","Pattie","Paul","Paula","Pauline","Paxton","Payton","Pearl","Pearlie","Pearline","Pedro","Peggie","Penelope","Percival","Percy","Perry","Pete","Peter","Petra","Peyton","Philip","Phoebe","Phyllis","Pierce","Pierre","Pietro","Pink","Pinkie","Piper","Polly","Porter","Precious","Presley","Preston","Price","Prince","Princess","Priscilla","Providenci","Prudence","Queen","Queenie","Quentin","Quincy","Quinn","Quinten","Quinton","Rachael","Rachel","Rachelle","Rae","Raegan","Rafael","Rafaela","Raheem","Rahsaan","Rahul","Raina","Raleigh","Ralph","Ramiro","Ramon","Ramona","Randal","Randall","Randi","Randy","Ransom","Raoul","Raphael","Raphaelle","Raquel","Rashad","Rashawn","Rasheed","Raul","Raven","Ray","Raymond","Raymundo","Reagan","Reanna","Reba","Rebeca","Rebecca","Rebeka","Rebekah","Reece","Reed","Reese","Regan","Reggie","Reginald","Reid","Reilly","Reina","Reinhold","Remington","Rene","Renee","Ressie","Reta","Retha","Retta","Reuben","Reva","Rex","Rey","Reyes","Reymundo","Reyna","Reynold","Rhea","Rhett","Rhianna","Rhiannon","Rhoda","Ricardo","Richard","Richie","Richmond","Rick","Rickey","Rickie","Ricky","Rico","Rigoberto","Riley","Rita","River","Robb","Robbie","Robert","Roberta","Roberto","Robin","Robyn","Rocio","Rocky","Rod","Roderick","Rodger","Rodolfo","Rodrick","Rodrigo","Roel","Rogelio","Roger","Rogers","Rolando","Rollin","Roma","Romaine","Roman","Ron","Ronaldo","Ronny","Roosevelt","Rory","Rosa","Rosalee","Rosalia","Rosalind","Rosalinda","Rosalyn","Rosamond","Rosanna","Rosario","Roscoe","Rose","Rosella","Roselyn","Rosemarie","Rosemary","Rosendo","Rosetta","Rosie","Rosina","Roslyn","Ross","Rossie","Rowan","Rowena","Rowland","Roxane","Roxanne","Roy","Royal","Royce","Rozella","Ruben","Rubie","Ruby","Rubye","Rudolph","Rudy","Rupert","Russ","Russel","Russell","Rusty","Ruth","Ruthe","Ruthie","Ryan","Ryann","Ryder","Rylan","Rylee","Ryleigh","Ryley","Sabina","Sabrina","Sabryna","Sadie","Sadye","Sage","Saige","Sallie","Sally","Salma","Salvador","Salvatore","Sam","Samanta","Samantha","Samara","Samir","Sammie","Sammy","Samson","Sandra","Sandrine","Sandy","Sanford","Santa","Santiago","Santina","Santino","Santos","Sarah","Sarai","Sarina","Sasha","Saul","Savanah","Savanna","Savannah","Savion","Scarlett","Schuyler","Scot","Scottie","Scotty","Seamus","Sean","Sebastian","Sedrick","Selena","Selina","Selmer","Serena","Serenity","Seth","Shad","Shaina","Shakira","Shana","Shane","Shanel","Shanelle","Shania","Shanie","Shaniya","Shanna","Shannon","Shanny","Shanon","Shany","Sharon","Shaun","Shawn","Shawna","Shaylee","Shayna","Shayne","Shea","Sheila","Sheldon","Shemar","Sheridan","Sherman","Sherwood","Shirley","Shyann","Shyanne","Sibyl","Sid","Sidney","Sienna","Sierra","Sigmund","Sigrid","Sigurd","Silas","Sim","Simeon","Simone","Sincere","Sister","Skye","Skyla","Skylar","Sofia","Soledad","Solon","Sonia","Sonny","Sonya","Sophia","Sophie","Spencer","Stacey","Stacy","Stan","Stanford","Stanley","Stanton","Stefan","Stefanie","Stella","Stephan","Stephania","Stephanie","Stephany","Stephen","Stephon","Sterling","Steve","Stevie","Stewart","Stone","Stuart","Summer","Sunny","Susan","Susana","Susanna","Susie","Suzanne","Sven","Syble","Sydnee","Sydney","Sydni","Sydnie","Sylvan","Sylvester","Sylvia","Tabitha","Tad","Talia","Talon","Tamara","Tamia","Tania","Tanner","Tanya","Tara","Taryn","Tate","Tatum","Tatyana","Taurean","Tavares","Taya","Taylor","Teagan","Ted","Telly","Terence","Teresa","Terrance","Terrell","Terrence","Terrill","Terry","Tess","Tessie","Tevin","Thad","Thaddeus","Thalia","Thea","Thelma","Theo","Theodora","Theodore","Theresa","Therese","Theresia","Theron","Thomas","Thora","Thurman","Tia","Tiana","Tianna","Tiara","Tierra","Tiffany","Tillman","Timmothy","Timmy","Timothy","Tina","Tito","Titus","Tobin","Toby","Tod","Tom","Tomas","Tomasa","Tommie","Toney","Toni","Tony","Torey","Torrance","Torrey","Toy","Trace","Tracey","Tracy","Travis","Travon","Tre","Tremaine","Tremayne","Trent","Trenton","Tressa","Tressie","Treva","Trever","Trevion","Trevor","Trey","Trinity","Trisha","Tristian","Tristin","Triston","Troy","Trudie","Trycia","Trystan","Turner","Twila","Tyler","Tyra","Tyree","Tyreek","Tyrel","Tyrell","Tyrese","Tyrique","Tyshawn","Tyson","Ubaldo","Ulices","Ulises","Una","Unique","Urban","Uriah","Uriel","Ursula","Vada","Valentin","Valentina","Valentine","Valerie","Vallie","Van","Vance","Vanessa","Vaughn","Veda","Velda","Vella","Velma","Velva","Vena","Verda","Verdie","Vergie","Verla","Verlie","Vern","Verna","Verner","Vernice","Vernie","Vernon","Verona","Veronica","Vesta","Vicenta","Vicente","Vickie","Vicky","Victor","Victoria","Vida","Vidal","Vilma","Vince","Vincent","Vincenza","Vincenzo","Vinnie","Viola","Violet","Violette","Virgie","Virgil","Virginia","Virginie","Vita","Vito","Viva","Vivian","Viviane","Vivianne","Vivien","Vivienne","Vladimir","Wade","Waino","Waldo","Walker","Wallace","Walter","Walton","Wanda","Ward","Warren","Watson","Wava","Waylon","Wayne","Webster","Weldon","Wellington","Wendell","Wendy","Werner","Westley","Weston","Whitney","Wilber","Wilbert","Wilburn","Wiley","Wilford","Wilfred","Wilfredo","Wilfrid","Wilhelm","Wilhelmine","Will","Willa","Willard","William","Willie","Willis","Willow","Willy","Wilma","Wilmer","Wilson","Wilton","Winfield","Winifred","Winnifred","Winona","Winston","Woodrow","Wyatt","Wyman","Xander","Xavier","Xzavier","Yadira","Yasmeen","Yasmin","Yasmine","Yazmin","Yesenia","Yessenia","Yolanda","Yoshiko","Yvette","Yvonne","Zachariah","Zachary","Zachery","Zack","Zackary","Zackery","Zakary","Zander","Zane","Zaria","Zechariah","Zelda","Zella","Zelma","Zena","Zetta","Zion","Zita","Zoe","Zoey","Zoie","Zoila","Zola","Zora","Zula"],S4t=["Agender","Androgyne","Androgynous","Bigender","Cis female","Cis male","Cis man","Cis woman","Cis","Cisgender female","Cisgender male","Cisgender man","Cisgender woman","Cisgender","Demi-boy","Demi-girl","Demi-man","Demi-woman","Demiflux","Demigender","F2M","FTM","Female to male trans man","Female to male transgender man","Female to male transsexual man","Female to male","Gender fluid","Gender neutral","Gender nonconforming","Gender questioning","Gender variant","Genderflux","Genderqueer","Hermaphrodite","Intersex man","Intersex person","Intersex woman","Intersex","M2F","MTF","Male to female trans woman","Male to female transgender woman","Male to female transsexual woman","Male to female","Man","Multigender","Neither","Neutrois","Non-binary","Omnigender","Other","Pangender","Polygender","T* man","T* woman","Trans female","Trans male","Trans man","Trans person","Trans woman","Trans","Transexual female","Transexual male","Transexual man","Transexual person","Transexual woman","Transexual","Transgender female","Transgender person","Transmasculine","Trigender","Two* person","Two-spirit person","Two-spirit","Woman","Xenogender"],x4t=["{{person.jobDescriptor}} {{person.jobArea}} {{person.jobType}}"],L4t=["Abbott","Abernathy","Abshire","Adams","Altenwerth","Anderson","Ankunding","Armstrong","Auer","Aufderhar","Bahringer","Bailey","Balistreri","Barrows","Bartell","Bartoletti","Barton","Bashirian","Batz","Bauch","Baumbach","Bayer","Beahan","Beatty","Bechtelar","Becker","Bednar","Beer","Beier","Berge","Bergnaum","Bergstrom","Bernhard","Bernier","Bins","Blanda","Blick","Block","Bode","Boehm","Bogan","Bogisich","Borer","Bosco","Botsford","Boyer","Boyle","Bradtke","Brakus","Braun","Breitenberg","Brekke","Brown","Bruen","Buckridge","Carroll","Carter","Cartwright","Casper","Cassin","Champlin","Christiansen","Cole","Collier","Collins","Conn","Connelly","Conroy","Considine","Corkery","Cormier","Corwin","Cremin","Crist","Crona","Cronin","Crooks","Cruickshank","Cummerata","Cummings","Dach","D'Amore","Daniel","Dare","Daugherty","Davis","Deckow","Denesik","Dibbert","Dickens","Dicki","Dickinson","Dietrich","Donnelly","Dooley","Douglas","Doyle","DuBuque","Durgan","Ebert","Effertz","Emard","Emmerich","Erdman","Ernser","Fadel","Fahey","Farrell","Fay","Feeney","Feest","Feil","Ferry","Fisher","Flatley","Frami","Franecki","Franey","Friesen","Fritsch","Funk","Gerhold","Gerlach","Gibson","Gislason","Gleason","Gleichner","Glover","Goldner","Goodwin","Gorczany","Gottlieb","Goyette","Grady","Graham","Grant","Green","Greenfelder","Greenholt","Grimes","Gulgowski","Gusikowski","Gutkowski","Gutmann","Haag","Hackett","Hagenes","Hahn","Haley","Halvorson","Hamill","Hammes","Hand","Hane","Hansen","Harber","Harris","Hartmann","Harvey","Hauck","Hayes","Heaney","Heathcote","Hegmann","Heidenreich","Heller","Herman","Hermann","Hermiston","Herzog","Hessel","Hettinger","Hickle","Hilll","Hills","Hilpert","Hintz","Hirthe","Hodkiewicz","Hoeger","Homenick","Hoppe","Howe","Howell","Hudson","Huel","Huels","Hyatt","Jacobi","Jacobs","Jacobson","Jakubowski","Jaskolski","Jast","Jenkins","Jerde","Johns","Johnson","Johnston","Jones","Kassulke","Kautzer","Keebler","Keeling","Kemmer","Kerluke","Kertzmann","Kessler","Kiehn","Kihn","Kilback","King","Kirlin","Klein","Kling","Klocko","Koch","Koelpin","Koepp","Kohler","Konopelski","Koss","Kovacek","Kozey","Krajcik","Kreiger","Kris","Kshlerin","Kub","Kuhic","Kuhlman","Kuhn","Kulas","Kunde","Kunze","Kuphal","Kutch","Kuvalis","Labadie","Lakin","Lang","Langosh","Langworth","Larkin","Larson","Leannon","Lebsack","Ledner","Leffler","Legros","Lehner","Lemke","Lesch","Leuschke","Lind","Lindgren","Littel","Little","Lockman","Lowe","Lubowitz","Lueilwitz","Luettgen","Lynch","Macejkovic","MacGyver","Maggio","Mann","Mante","Marks","Marquardt","Marvin","Mayer","Mayert","McClure","McCullough","McDermott","McGlynn","McKenzie","McLaughlin","Medhurst","Mertz","Metz","Miller","Mills","Mitchell","Moen","Mohr","Monahan","Moore","Morar","Morissette","Mosciski","Mraz","Mueller","Muller","Murazik","Murphy","Murray","Nader","Nicolas","Nienow","Nikolaus","Nitzsche","Nolan","Oberbrunner","O'Connell","O'Conner","O'Hara","O'Keefe","O'Kon","Okuneva","Olson","Ondricka","O'Reilly","Orn","Ortiz","Osinski","Pacocha","Padberg","Pagac","Parisian","Parker","Paucek","Pfannerstill","Pfeffer","Pollich","Pouros","Powlowski","Predovic","Price","Prohaska","Prosacco","Purdy","Quigley","Quitzon","Rath","Ratke","Rau","Raynor","Reichel","Reichert","Reilly","Reinger","Rempel","Renner","Reynolds","Rice","Rippin","Ritchie","Robel","Roberts","Rodriguez","Rogahn","Rohan","Rolfson","Romaguera","Roob","Rosenbaum","Rowe","Ruecker","Runolfsdottir","Runolfsson","Runte","Russel","Rutherford","Ryan","Sanford","Satterfield","Sauer","Sawayn","Schaden","Schaefer","Schamberger","Schiller","Schimmel","Schinner","Schmeler","Schmidt","Schmitt","Schneider","Schoen","Schowalter","Schroeder","Schulist","Schultz","Schumm","Schuppe","Schuster","Senger","Shanahan","Shields","Simonis","Sipes","Skiles","Smith","Smitham","Spencer","Spinka","Sporer","Stamm","Stanton","Stark","Stehr","Steuber","Stiedemann","Stokes","Stoltenberg","Stracke","Streich","Stroman","Strosin","Swaniawski","Swift","Terry","Thiel","Thompson","Tillman","Torp","Torphy","Towne","Toy","Trantow","Tremblay","Treutel","Tromp","Turcotte","Turner","Ullrich","Upton","Vandervort","Veum","Volkman","Von","VonRueden","Waelchi","Walker","Walsh","Walter","Ward","Waters","Watsica","Weber","Wehner","Weimann","Weissnat","Welch","West","White","Wiegand","Wilderman","Wilkinson","Will","Williamson","Willms","Windler","Wintheiser","Wisoky","Wisozk","Witting","Wiza","Wolf","Wolff","Wuckert","Wunsch","Wyman","Yost","Yundt","Zboncak","Zemlak","Ziemann","Zieme","Zulauf"],_4t=[{value:"{{person.last_name}}",weight:95},{value:"{{person.last_name}}-{{person.last_name}}",weight:5}],F4t=["James","John","Robert","Michael","William","David","Richard","Charles","Joseph","Thomas","Christopher","Daniel","Paul","Mark","Donald","George","Kenneth","Steven","Edward","Brian","Ronald","Anthony","Kevin","Jason","Matthew","Gary","Timothy","Jose","Larry","Jeffrey","Frank","Scott","Eric","Stephen","Andrew","Raymond","Gregory","Joshua","Jerry","Dennis","Walter","Patrick","Peter","Harold","Douglas","Henry","Carl","Arthur","Ryan","Roger","Joe","Juan","Jack","Albert","Jonathan","Justin","Terry","Gerald","Keith","Samuel","Willie","Ralph","Lawrence","Nicholas","Roy","Benjamin","Bruce","Brandon","Adam","Harry","Fred","Wayne","Billy","Steve","Louis","Jeremy","Aaron","Randy","Howard","Eugene","Carlos","Russell","Bobby","Victor","Martin","Ernest","Phillip","Todd","Jesse","Craig","Alan","Shawn","Clarence","Sean","Philip","Chris","Johnny","Earl","Jimmy","Antonio","Danny","Bryan","Tony","Luis","Mike","Stanley","Leonard","Nathan","Dale","Manuel","Rodney","Curtis","Norman","Allen","Marvin","Vincent","Glenn","Jeffery","Travis","Jeff","Chad","Jacob","Lee","Melvin","Alfred","Kyle","Francis","Bradley","Jesus","Herbert","Frederick","Ray","Joel","Edwin","Don","Eddie","Ricky","Troy","Randall","Barry","Alexander","Bernard","Mario","Leroy","Francisco","Marcus","Micheal","Theodore","Clifford","Miguel","Oscar","Jay","Jim","Tom","Calvin","Alex","Jon","Ronnie","Bill","Lloyd","Tommy","Leon","Derek","Warren","Darrell","Jerome","Floyd","Leo","Alvin","Tim","Wesley","Gordon","Dean","Greg","Jorge","Dustin","Pedro","Derrick","Dan","Lewis","Zachary","Corey","Herman","Maurice","Vernon","Roberto","Clyde","Glen","Hector","Shane","Ricardo","Sam","Rick","Lester","Brent","Ramon","Charlie","Tyler","Gilbert","Gene","Marc","Reginald","Ruben","Brett","Angel","Nathaniel","Rafael","Leslie","Edgar","Milton","Raul","Ben","Chester","Cecil","Duane","Franklin","Andre","Elmer","Brad","Gabriel","Ron","Mitchell","Roland","Arnold","Harvey","Jared","Adrian","Karl","Cory","Claude","Erik","Darryl","Jamie","Neil","Jessie","Christian","Javier","Fernando","Clinton","Ted","Mathew","Tyrone","Darren","Lonnie","Lance","Cody","Julio","Kelly","Kurt","Allan","Nelson","Guy","Clayton","Hugh","Max","Dwayne","Dwight","Armando","Felix","Jimmie","Everett","Jordan","Ian","Wallace","Ken","Bob","Jaime","Casey","Alfredo","Alberto","Dave","Ivan","Johnnie","Sidney","Byron","Julian","Isaac","Morris","Clifton","Willard","Daryl","Ross","Virgil","Andy","Marshall","Salvador","Perry","Kirk","Sergio","Marion","Tracy","Seth","Kent","Terrance","Rene","Eduardo","Terrence","Enrique","Freddie","Wade","Austin","Stuart","Fredrick","Arturo","Alejandro","Jackie","Joey","Nick","Luther","Wendell","Jeremiah","Evan","Julius","Dana","Donnie","Otis","Shannon","Trevor","Oliver","Luke","Homer","Gerard","Doug","Kenny","Hubert","Angelo","Shaun","Lyle","Matt","Lynn","Alfonso","Orlando","Rex","Carlton","Ernesto","Cameron","Neal","Pablo","Lorenzo","Omar","Wilbur","Blake","Grant","Horace","Roderick","Kerry","Abraham","Willis","Rickey","Jean","Ira","Andres","Cesar","Johnathan","Malcolm","Rudolph","Damon","Kelvin","Rudy","Preston","Alton","Archie","Marco","Wm","Pete","Randolph","Garry","Geoffrey","Jonathon","Felipe","Bennie","Gerardo","Ed","Dominic","Robin","Loren","Delbert","Colin","Guillermo","Earnest","Lucas","Benny","Noel","Spencer","Rodolfo","Myron","Edmund","Garrett","Salvatore","Cedric","Lowell","Gregg","Sherman","Wilson","Devin","Sylvester","Kim","Roosevelt","Israel","Jermaine","Forrest","Wilbert","Leland","Simon","Guadalupe","Clark","Irving","Carroll","Bryant","Owen","Rufus","Woodrow","Sammy","Kristopher","Mack","Levi","Marcos","Gustavo","Jake","Lionel","Marty","Taylor","Ellis","Dallas","Gilberto","Clint","Nicolas","Laurence","Ismael","Orville","Drew","Jody","Ervin","Dewey","Al","Wilfred","Josh","Hugo","Ignacio","Caleb","Tomas","Sheldon","Erick","Frankie","Stewart","Doyle","Darrel","Rogelio","Terence","Santiago","Alonzo","Elias","Bert","Elbert","Ramiro","Conrad","Pat","Noah","Grady","Phil","Cornelius","Lamar","Rolando","Clay","Percy","Dexter","Bradford","Merle","Darin","Amos","Terrell","Moses","Irvin","Saul","Roman","Darnell","Randal","Tommie","Timmy","Darrin","Winston","Brendan","Toby","Van","Abel","Dominick","Boyd","Courtney","Jan","Emilio","Elijah","Cary","Domingo","Santos","Aubrey","Emmett","Marlon","Emanuel","Jerald","Edmond"],I4t=["Ace","Aiden","Alexander","Ander","Anthony","Asher","August","Aziel","Bear","Beckham","Benjamin","Buddy","Calvin","Carter","Charles","Christopher","Clyde","Cooper","Daniel","David","Dior","Dylan","Elijah","Ellis","Emerson","Ethan","Ezra","Fletcher","Flynn","Gabriel","Grayson","Gus","Hank","Harrison","Hendrix","Henry","Houston","Hudson","Hugh","Isaac","Jack","Jackson","Jacob","Jakobe","James","Jaxon","Jaxtyn","Jayden","John","Joseph","Josiah","Jude","Julian","Karsyn","Kenji","Kobe","Kylo","Lennon","Leo","Levi","Liam","Lincoln","Logan","Louis","Lucas","Lucky","Luke","Mason","Mateo","Matthew","Maverick","Michael","Monroe","Nixon","Ocean","Oliver","Otis","Otto","Owen","Ozzy","Parker","Rocky","Samuel","Sebastian","Sonny","Teddy","Theo","Theodore","Thomas","Truett","Walter","Warren","Watson","William","Wison","Wyatt","Ziggy","Zyair"],fDe=["Mr.","Dr."],D4t=["Addison","Alex","Anderson","Angel","Arden","August","Austin","Avery","Bailey","Billie","Blake","Bowie","Brooklyn","Cameron","Charlie","Corey","Dakota","Drew","Elliott","Ellis","Emerson","Finley","Gray","Greer","Harper","Hayden","Jaden","James","Jamie","Jordan","Jules","Kai","Kendall","Kennedy","Kyle","Leslie","Logan","London","Marlowe","Micah","Nico","Noah","North","Parker","Phoenix","Quinn","Reagan","Reese","Reign","Riley","River","Robin","Rory","Rowan","Ryan","Sage","Sasha","Sawyer","Shawn","Shiloh","Skyler","Taylor"],M4t=[{value:"{{person.firstName}} {{person.lastName}}",weight:49},{value:"{{person.prefix}} {{person.firstName}} {{person.lastName}}",weight:7},{value:"{{person.firstName}} {{person.lastName}} {{person.suffix}}",weight:7},{value:"{{person.prefix}} {{person.firstName}} {{person.lastName}} {{person.suffix}}",weight:1}];function k4t(...n){return[...new Set(n.flat())].sort()}var N4t=k4t(mDe,fDe),T4t=["female","male"],E4t=["Jr.","Sr.","I","II","III","IV","V","MD","DDS","PhD","DVM"],Z4t={descriptor:["Lead","Senior","Direct","Corporate","Dynamic","Future","Product","National","Regional","District","Central","Global","Customer","Investor","International","Legacy","Forward","Internal","Human","Chief","Principal"],level:["Solutions","Program","Brand","Security","Research","Marketing","Directives","Implementation","Integration","Functionality","Response","Paradigm","Tactics","Identity","Markets","Group","Division","Applications","Optimization","Operations","Infrastructure","Intranet","Communications","Web","Branding","Quality","Assurance","Mobility","Accounts","Data","Creative","Configuration","Accountability","Interactions","Factors","Usability","Metrics"],job:["Supervisor","Associate","Executive","Liaison","Officer","Manager","Engineer","Specialist","Director","Coordinator","Administrator","Architect","Analyst","Designer","Planner","Orchestrator","Technician","Developer","Producer","Consultant","Assistant","Facilitator","Agent","Representative","Strategist"]},W4t=["Aquarius","Pisces","Aries","Taurus","Gemini","Cancer","Leo","Virgo","Libra","Scorpio","Sagittarius","Capricorn"],R4t={bio_part:p4t,bio_pattern:b4t,bio_supporter:v4t,female_first_name:y4t,female_middle_name:C4t,female_prefix:mDe,first_name:w4t,gender:S4t,job_title_pattern:x4t,last_name:L4t,last_name_pattern:_4t,male_first_name:F4t,male_middle_name:I4t,male_prefix:fDe,middle_name:D4t,name:M4t,prefix:N4t,sex:T4t,suffix:E4t,title:Z4t,western_zodiac_sign:W4t},V4t=R4t,A4t=["!##-!##-####","(!##) !##-####","1-!##-!##-####","!##.!##.####","!##-!##-#### x###","(!##) !##-#### x###","1-!##-!##-#### x###","!##.!##.#### x###","!##-!##-#### x####","(!##) !##-#### x####","1-!##-!##-#### x####","!##.!##.#### x####","!##-!##-#### x#####","(!##) !##-#### x#####","1-!##-!##-#### x#####","!##.!##.#### x#####"],G4t={formats:A4t},X4t=G4t,P4t=Object.freeze([{symbol:"H",name:"Hydrogen",atomicNumber:1},{symbol:"He",name:"Helium",atomicNumber:2},{symbol:"Li",name:"Lithium",atomicNumber:3},{symbol:"Be",name:"Beryllium",atomicNumber:4},{symbol:"B",name:"Boron",atomicNumber:5},{symbol:"C",name:"Carbon",atomicNumber:6},{symbol:"N",name:"Nitrogen",atomicNumber:7},{symbol:"O",name:"Oxygen",atomicNumber:8},{symbol:"F",name:"Fluorine",atomicNumber:9},{symbol:"Ne",name:"Neon",atomicNumber:10},{symbol:"Na",name:"Sodium",atomicNumber:11},{symbol:"Mg",name:"Magnesium",atomicNumber:12},{symbol:"Al",name:"Aluminium",atomicNumber:13},{symbol:"Si",name:"Silicon",atomicNumber:14},{symbol:"P",name:"Phosphorus",atomicNumber:15},{symbol:"S",name:"Sulfur",atomicNumber:16},{symbol:"Cl",name:"Chlorine",atomicNumber:17},{symbol:"Ar",name:"Argon",atomicNumber:18},{symbol:"K",name:"Potassium",atomicNumber:19},{symbol:"Ca",name:"Calcium",atomicNumber:20},{symbol:"Sc",name:"Scandium",atomicNumber:21},{symbol:"Ti",name:"Titanium",atomicNumber:22},{symbol:"V",name:"Vanadium",atomicNumber:23},{symbol:"Cr",name:"Chromium",atomicNumber:24},{symbol:"Mn",name:"Manganese",atomicNumber:25},{symbol:"Fe",name:"Iron",atomicNumber:26},{symbol:"Co",name:"Cobalt",atomicNumber:27},{symbol:"Ni",name:"Nickel",atomicNumber:28},{symbol:"Cu",name:"Copper",atomicNumber:29},{symbol:"Zn",name:"Zinc",atomicNumber:30},{symbol:"Ga",name:"Gallium",atomicNumber:31},{symbol:"Ge",name:"Germanium",atomicNumber:32},{symbol:"As",name:"Arsenic",atomicNumber:33},{symbol:"Se",name:"Selenium",atomicNumber:34},{symbol:"Br",name:"Bromine",atomicNumber:35},{symbol:"Kr",name:"Krypton",atomicNumber:36},{symbol:"Rb",name:"Rubidium",atomicNumber:37},{symbol:"Sr",name:"Strontium",atomicNumber:38},{symbol:"Y",name:"Yttrium",atomicNumber:39},{symbol:"Zr",name:"Zirconium",atomicNumber:40},{symbol:"Nb",name:"Niobium",atomicNumber:41},{symbol:"Mo",name:"Molybdenum",atomicNumber:42},{symbol:"Tc",name:"Technetium",atomicNumber:43},{symbol:"Ru",name:"Ruthenium",atomicNumber:44},{symbol:"Rh",name:"Rhodium",atomicNumber:45},{symbol:"Pd",name:"Palladium",atomicNumber:46},{symbol:"Ag",name:"Silver",atomicNumber:47},{symbol:"Cd",name:"Cadmium",atomicNumber:48},{symbol:"In",name:"Indium",atomicNumber:49},{symbol:"Sn",name:"Tin",atomicNumber:50},{symbol:"Sb",name:"Antimony",atomicNumber:51},{symbol:"Te",name:"Tellurium",atomicNumber:52},{symbol:"I",name:"Iodine",atomicNumber:53},{symbol:"Xe",name:"Xenon",atomicNumber:54},{symbol:"Cs",name:"Caesium",atomicNumber:55},{symbol:"Ba",name:"Barium",atomicNumber:56},{symbol:"La",name:"Lanthanum",atomicNumber:57},{symbol:"Ce",name:"Cerium",atomicNumber:58},{symbol:"Pr",name:"Praseodymium",atomicNumber:59},{symbol:"Nd",name:"Neodymium",atomicNumber:60},{symbol:"Pm",name:"Promethium",atomicNumber:61},{symbol:"Sm",name:"Samarium",atomicNumber:62},{symbol:"Eu",name:"Europium",atomicNumber:63},{symbol:"Gd",name:"Gadolinium",atomicNumber:64},{symbol:"Tb",name:"Terbium",atomicNumber:65},{symbol:"Dy",name:"Dysprosium",atomicNumber:66},{symbol:"Ho",name:"Holmium",atomicNumber:67},{symbol:"Er",name:"Erbium",atomicNumber:68},{symbol:"Tm",name:"Thulium",atomicNumber:69},{symbol:"Yb",name:"Ytterbium",atomicNumber:70},{symbol:"Lu",name:"Lutetium",atomicNumber:71},{symbol:"Hf",name:"Hafnium",atomicNumber:72},{symbol:"Ta",name:"Tantalum",atomicNumber:73},{symbol:"W",name:"Tungsten",atomicNumber:74},{symbol:"Re",name:"Rhenium",atomicNumber:75},{symbol:"Os",name:"Osmium",atomicNumber:76},{symbol:"Ir",name:"Iridium",atomicNumber:77},{symbol:"Pt",name:"Platinum",atomicNumber:78},{symbol:"Au",name:"Gold",atomicNumber:79},{symbol:"Hg",name:"Mercury",atomicNumber:80},{symbol:"Tl",name:"Thallium",atomicNumber:81},{symbol:"Pb",name:"Lead",atomicNumber:82},{symbol:"Bi",name:"Bismuth",atomicNumber:83},{symbol:"Po",name:"Polonium",atomicNumber:84},{symbol:"At",name:"Astatine",atomicNumber:85},{symbol:"Rn",name:"Radon",atomicNumber:86},{symbol:"Fr",name:"Francium",atomicNumber:87},{symbol:"Ra",name:"Radium",atomicNumber:88},{symbol:"Ac",name:"Actinium",atomicNumber:89},{symbol:"Th",name:"Thorium",atomicNumber:90},{symbol:"Pa",name:"Protactinium",atomicNumber:91},{symbol:"U",name:"Uranium",atomicNumber:92},{symbol:"Np",name:"Neptunium",atomicNumber:93},{symbol:"Pu",name:"Plutonium",atomicNumber:94},{symbol:"Am",name:"Americium",atomicNumber:95},{symbol:"Cm",name:"Curium",atomicNumber:96},{symbol:"Bk",name:"Berkelium",atomicNumber:97},{symbol:"Cf",name:"Californium",atomicNumber:98},{symbol:"Es",name:"Einsteinium",atomicNumber:99},{symbol:"Fm",name:"Fermium",atomicNumber:100},{symbol:"Md",name:"Mendelevium",atomicNumber:101},{symbol:"No",name:"Nobelium",atomicNumber:102},{symbol:"Lr",name:"Lawrencium",atomicNumber:103},{symbol:"Rf",name:"Rutherfordium",atomicNumber:104},{symbol:"Db",name:"Dubnium",atomicNumber:105},{symbol:"Sg",name:"Seaborgium",atomicNumber:106},{symbol:"Bh",name:"Bohrium",atomicNumber:107},{symbol:"Hs",name:"Hassium",atomicNumber:108},{symbol:"Mt",name:"Meitnerium",atomicNumber:109},{symbol:"Ds",name:"Darmstadtium",atomicNumber:110},{symbol:"Rg",name:"Roentgenium",atomicNumber:111},{symbol:"Cn",name:"Copernicium",atomicNumber:112},{symbol:"Nh",name:"Nihonium",atomicNumber:113},{symbol:"Fl",name:"Flerovium",atomicNumber:114},{symbol:"Mc",name:"Moscovium",atomicNumber:115},{symbol:"Lv",name:"Livermorium",atomicNumber:116},{symbol:"Ts",name:"Tennessine",atomicNumber:117},{symbol:"Og",name:"Oganesson",atomicNumber:118}]),O4t=Object.freeze([{name:"meter",symbol:"m"},{name:"second",symbol:"s"},{name:"mole",symbol:"mol"},{name:"ampere",symbol:"A"},{name:"kelvin",symbol:"K"},{name:"candela",symbol:"cd"},{name:"kilogram",symbol:"kg"},{name:"radian",symbol:"rad"},{name:"hertz",symbol:"Hz"},{name:"newton",symbol:"N"},{name:"pascal",symbol:"Pa"},{name:"joule",symbol:"J"},{name:"watt",symbol:"W"},{name:"coulomb",symbol:"C"},{name:"volt",symbol:"V"},{name:"ohm",symbol:"Ω"},{name:"tesla",symbol:"T"},{name:"degree Celsius",symbol:"°C"},{name:"lumen",symbol:"lm"},{name:"becquerel",symbol:"Bq"},{name:"gray",symbol:"Gy"},{name:"sievert",symbol:"Sv"},{name:"steradian",symbol:"sr"},{name:"farad",symbol:"F"},{name:"siemens",symbol:"S"},{name:"weber",symbol:"Wb"},{name:"henry",symbol:"H"},{name:"lux",symbol:"lx"},{name:"katal",symbol:"kat"}]),B4t={chemicalElement:P4t,unit:O4t},z4t=B4t,H4t=["ants","bats","bears","bees","birds","buffalo","cats","chickens","cattle","dogs","dolphins","ducks","elephants","fishes","foxes","frogs","geese","goats","horses","kangaroos","lions","monkeys","owls","oxen","penguins","people","pigs","rabbits","sheep","tigers","whales","wolves","zebras","banshees","crows","black cats","chimeras","ghosts","conspirators","dragons","dwarves","elves","enchanters","exorcists","sons","foes","giants","gnomes","goblins","gooses","griffins","lycanthropes","nemesis","ogres","oracles","prophets","sorcerors","spiders","spirits","vampires","warlocks","vixens","werewolves","witches","worshipers","zombies","druids"],Y4t=["{{location.state}} {{team.creature}}"],U4t={creature:H4t,name:Y4t},K4t=U4t,J4t=["Adventure Road Bicycle","BMX Bicycle","City Bicycle","Cruiser Bicycle","Cyclocross Bicycle","Dual-Sport Bicycle","Fitness Bicycle","Flat-Foot Comfort Bicycle","Folding Bicycle","Hybrid Bicycle","Mountain Bicycle","Recumbent Bicycle","Road Bicycle","Tandem Bicycle","Touring Bicycle","Track/Fixed-Gear Bicycle","Triathlon/Time Trial Bicycle","Tricycle"],j4t=["Diesel","Electric","Gasoline","Hybrid"],Q4t=["Aston Martin","Audi","Bentley","BMW","Bugatti","Cadillac","Chevrolet","Chrysler","Dodge","Ferrari","Fiat","Ford","Honda","Hyundai","Jaguar","Jeep","Kia","Lamborghini","Land Rover","Maserati","Mazda","Mercedes Benz","Mini","Nissan","Polestar","Porsche","Rolls Royce","Smart","Tesla","Toyota","Volkswagen","Volvo"],$4t=["Fiesta","Focus","Taurus","Mustang","Explorer","Expedition","F-150","Model T","Ranchero","Volt","Cruze","Malibu","Impala","Camaro","Corvette","Colorado","Silverado","El Camino","CTS","XTS","ATS","Escalade","Alpine","Charger","LeBaron","PT Cruiser","Challenger","Durango","Grand Caravan","Wrangler","Grand Cherokee","Roadster","Model S","Model 3","Model X","Model Y","Camry","Prius","Land Cruiser","Accord","Civic","Element","Sentra","Altima","A8","A4","Beetle","Jetta","Golf","911","Spyder","Countach","Mercielago","Aventador","1","2","Fortwo","V90","XC90","CX-9"],q4t=["Cargo Van","Convertible","Coupe","Crew Cab Pickup","Extended Cab Pickup","Hatchback","Minivan","Passenger Van","SUV","Sedan","Wagon"],ePt={bicycle_type:J4t,fuel:j4t,manufacturer:Q4t,model:$4t,type:q4t},tPt=ePt,nPt=["abandoned","able","absolute","adorable","adventurous","academic","acceptable","acclaimed","accomplished","accurate","aching","acidic","acrobatic","active","actual","adept","admirable","admired","adolescent","adored","advanced","afraid","affectionate","aged","aggravating","aggressive","agile","agitated","agonizing","agreeable","ajar","alarmed","alarming","alert","alienated","alive","all","altruistic","amazing","ambitious","ample","amused","amusing","anchored","ancient","angelic","angry","anguished","animated","annual","another","antique","anxious","any","apprehensive","appropriate","apt","arctic","arid","aromatic","artistic","ashamed","assured","astonishing","athletic","attached","attentive","attractive","austere","authentic","authorized","automatic","avaricious","average","aware","awesome","awful","awkward","babyish","bad","back","baggy","bare","barren","basic","beautiful","belated","beloved","beneficial","better","best","bewitched","big","big-hearted","biodegradable","bite-sized","bitter","black","black-and-white","bland","blank","blaring","bleak","blind","blissful","blond","blue","blushing","bogus","boiling","bold","bony","boring","bossy","both","bouncy","bountiful","bowed","brave","breakable","brief","bright","brilliant","brisk","broken","bronze","brown","bruised","bubbly","bulky","bumpy","buoyant","burdensome","burly","bustling","busy","buttery","buzzing","calculating","calm","candid","canine","capital","carefree","careful","careless","caring","cautious","cavernous","celebrated","charming","cheap","cheerful","cheery","chief","chilly","chubby","circular","classic","clean","clear","clear-cut","clever","close","closed","cloudy","clueless","clumsy","cluttered","coarse","cold","colorful","colorless","colossal","comfortable","common","compassionate","competent","complete","complex","complicated","composed","concerned","concrete","confused","conscious","considerate","constant","content","conventional","cooked","cool","cooperative","coordinated","corny","corrupt","costly","courageous","courteous","crafty","crazy","creamy","creative","creepy","criminal","crisp","critical","crooked","crowded","cruel","crushing","cuddly","cultivated","cultured","cumbersome","curly","curvy","cute","cylindrical","damaged","damp","dangerous","dapper","daring","darling","dark","dazzling","dead","deadly","deafening","dear","dearest","decent","decimal","decisive","deep","defenseless","defensive","defiant","deficient","definite","definitive","delayed","delectable","delicious","delightful","delirious","demanding","dense","dental","dependable","dependent","descriptive","deserted","detailed","determined","devoted","different","difficult","digital","diligent","dim","dimpled","direct","disastrous","discrete","disgusting","disloyal","dismal","distant","downright","dreary","dirty","disguised","dishonest","distinct","distorted","dizzy","doting","double","drab","drafty","dramatic","droopy","dry","dual","dull","dutiful","each","eager","earnest","early","easy","easy-going","ecstatic","edible","educated","elaborate","elastic","elated","elderly","electric","elegant","elementary","elliptical","embarrassed","embellished","eminent","emotional","empty","enchanted","enchanting","energetic","enlightened","enormous","enraged","entire","envious","equal","equatorial","essential","esteemed","ethical","euphoric","even","evergreen","everlasting","every","evil","exalted","excellent","exemplary","exhausted","excitable","excited","exciting","exotic","expensive","experienced","expert","extraneous","extroverted","extra-large","extra-small","fabulous","failing","faint","fair","faithful","fake","false","familiar","famous","fancy","fantastic","far","faraway","far-flung","far-off","fast","fat","fatal","fatherly","favorable","favorite","fearful","fearless","feisty","feline","female","feminine","few","fickle","filthy","fine","finished","firm","first","firsthand","fitting","fixed","flaky","flamboyant","flashy","flat","flawed","flawless","flickering","flimsy","flippant","flowery","fluffy","fluid","flustered","focused","fond","foolhardy","foolish","forceful","forked","formal","forsaken","forthright","fortunate","fragrant","frail","frank","frayed","free","french","fresh","frequent","friendly","frightened","frightening","frigid","frilly","frizzy","frivolous","front","frosty","frozen","frugal","fruitful","full","fumbling","functional","funny","fussy","fuzzy","gargantuan","gaseous","general","generous","gentle","genuine","giant","giddy","gigantic","gifted","giving","glamorous","glaring","glass","gleaming","gleeful","glistening","glittering","gloomy","glorious","glossy","glum","golden","good","good-natured","gorgeous","graceful","gracious","grand","grandiose","granular","grateful","grave","gray","great","greedy","green","gregarious","grim","grimy","gripping","grizzled","grotesque","grouchy","grounded","growing","growling","grown","grubby","gruesome","grumpy","guilty","gullible","gummy","hairy","half","handmade","handsome","handy","happy","happy-go-lucky","hard","hard-to-find","harmful","harmless","harmonious","harsh","hasty","hateful","haunting","healthy","heartfelt","hearty","heavenly","heavy","hefty","helpful","helpless","hidden","hideous","high","high-level","hilarious","hoarse","hollow","homely","honest","honorable","honored","hopeful","horrible","hospitable","hot","huge","humble","humiliating","humming","humongous","hungry","hurtful","husky","icky","icy","ideal","idealistic","identical","idle","idolized","ignorant","ill","ill-fated","ill-informed","illiterate","illustrious","imaginary","imaginative","immaculate","immaterial","immediate","immense","impassioned","impeccable","impartial","imperfect","imperturbable","impish","impolite","important","impossible","impractical","impressionable","impressive","improbable","impure","inborn","incomparable","incompatible","incomplete","inconsequential","incredible","indelible","inexperienced","indolent","infamous","infantile","infatuated","inferior","infinite","informal","innocent","insecure","insidious","insignificant","insistent","instructive","insubstantial","intelligent","intent","intentional","interesting","internal","international","intrepid","ironclad","irresponsible","irritating","itchy","jaded","jagged","jam-packed","jaunty","jealous","jittery","joint","jolly","jovial","joyful","joyous","jubilant","judicious","juicy","jumbo","junior","jumpy","juvenile","kaleidoscopic","keen","key","kind","kindhearted","kindly","klutzy","knobby","knotty","knowledgeable","knowing","known","kooky","kosher","lanky","large","last","lasting","late","lavish","lawful","lazy","leading","lean","leafy","left","legal","legitimate","light","lighthearted","likable","likely","limited","limp","limping","linear","lined","liquid","little","live","lively","livid","loathsome","lone","lonely","long","long-term","loose","lopsided","lost","loud","lovable","lovely","loving","low","loyal","lucky","lumbering","luminous","lumpy","lustrous","luxurious","mad","made-up","magnificent","majestic","major","male","mammoth","married","marvelous","masculine","massive","mature","meager","mealy","mean","measly","meaty","medical","mediocre","medium","meek","mellow","melodic","memorable","menacing","merry","messy","metallic","mild","milky","mindless","miniature","minor","minty","miserable","miserly","misguided","misty","mixed","modern","modest","moist","monstrous","monthly","monumental","moral","mortified","motherly","motionless","mountainous","muddy","muffled","multicolored","mundane","murky","mushy","musty","muted","mysterious","naive","narrow","natural","naughty","nautical","near","neat","necessary","needy","negative","neglected","negligible","neighboring","nervous","new","next","nice","nifty","nimble","nippy","nocturnal","noisy","nonstop","normal","notable","noted","noteworthy","novel","noxious","numb","nutritious","nutty","obedient","oblong","oily","obvious","occasional","odd","oddball","offbeat","offensive","official","old","old-fashioned","only","open","optimal","optimistic","opulent","orange","orderly","organic","ornate","ornery","ordinary","original","other","our","outlying","outgoing","outlandish","outrageous","outstanding","oval","overcooked","overdue","overjoyed","overlooked","palatable","pale","paltry","parallel","parched","partial","passionate","past","pastel","peaceful","peppery","perfect","perfumed","periodic","perky","personal","pertinent","pesky","pessimistic","petty","phony","physical","piercing","pink","pitiful","plain","plaintive","plastic","playful","pleasant","pleased","pleasing","plump","plush","polished","polite","political","pointed","pointless","poised","poor","popular","portly","posh","positive","possible","potable","powerful","powerless","practical","precious","present","prestigious","pretty","previous","pricey","prickly","primary","prime","pristine","private","prize","probable","productive","profitable","profuse","proper","proud","prudent","punctual","pungent","puny","pure","purple","pushy","putrid","puzzled","puzzling","quaint","qualified","quarrelsome","quarterly","queasy","querulous","questionable","quick","quick-witted","quiet","quintessential","quirky","quixotic","quizzical","radiant","ragged","rapid","rare","rash","raw","recent","reckless","rectangular","ready","real","realistic","reasonable","red","reflecting","regal","regular","reliable","relieved","remarkable","remorseful","remote","repentant","required","respectful","responsible","repulsive","revolving","rewarding","rich","rigid","right","ringed","ripe","roasted","robust","rosy","rotating","rotten","rough","round","rowdy","royal","rubbery","rundown","ruddy","rude","runny","rural","rusty","sad","safe","salty","same","sandy","sane","sarcastic","sardonic","satisfied","scaly","scarce","scared","scary","scented","scholarly","scientific","scornful","scratchy","scrawny","second","secondary","second-hand","secret","self-assured","self-reliant","selfish","sentimental","separate","serene","serious","serpentine","several","severe","shabby","shadowy","shady","shallow","shameful","shameless","sharp","shimmering","shiny","shocked","shocking","shoddy","short","short-term","showy","shrill","shy","sick","silent","silky","silly","silver","similar","simple","simplistic","sinful","single","sizzling","skeletal","skinny","sleepy","slight","slim","slimy","slippery","slow","slushy","small","smart","smoggy","smooth","smug","snappy","snarling","sneaky","sniveling","snoopy","sociable","soft","soggy","solid","somber","some","spherical","sophisticated","sore","sorrowful","soulful","soupy","sour","spanish","sparkling","sparse","specific","spectacular","speedy","spicy","spiffy","spirited","spiteful","splendid","spotless","spotted","spry","square","squeaky","squiggly","stable","staid","stained","stale","standard","starchy","stark","starry","steep","sticky","stiff","stimulating","stingy","stormy","straight","strange","steel","strict","strident","striking","striped","strong","studious","stunning","stupendous","sturdy","stylish","subdued","submissive","substantial","subtle","suburban","sudden","sugary","sunny","super","superb","superficial","superior","supportive","sure-footed","surprised","suspicious","svelte","sweaty","sweet","sweltering","swift","sympathetic","tall","talkative","tame","tan","tangible","tart","tasty","tattered","taut","tedious","teeming","tempting","tender","tense","tepid","terrible","terrific","testy","thankful","that","these","thick","thin","third","thirsty","this","thorough","thorny","those","thoughtful","threadbare","thrifty","thunderous","tidy","tight","timely","tinted","tiny","tired","torn","total","tough","traumatic","treasured","tremendous","tragic","trained","triangular","tricky","trifling","trim","trivial","troubled","true","trusting","trustworthy","trusty","truthful","turbulent","twin","ugly","ultimate","unacceptable","unaware","uncomfortable","uncommon","unconscious","understated","unequaled","uneven","unfinished","unfit","unfolded","unfortunate","unhappy","unhealthy","uniform","unimportant","unique","united","unkempt","unknown","unlawful","unlined","unlucky","unnatural","unpleasant","unrealistic","unripe","unruly","unselfish","unsightly","unsteady","unsung","untidy","untimely","untried","untrue","unused","unusual","unwelcome","unwieldy","unwilling","unwitting","unwritten","upbeat","upright","upset","urban","usable","used","useful","useless","utilized","utter","vacant","vague","vain","valid","valuable","vapid","variable","vast","velvety","venerated","vengeful","verifiable","vibrant","vicious","victorious","vigilant","vigorous","villainous","violet","violent","virtual","virtuous","visible","vital","vivacious","vivid","voluminous","wan","warlike","warm","warmhearted","warped","wary","wasteful","watchful","waterlogged","watery","wavy","wealthy","weak","weary","webbed","wee","weekly","weepy","weighty","weird","welcome","well-documented","well-groomed","well-informed","well-lit","well-made","well-off","well-to-do","well-worn","wet","which","whimsical","whirlwind","whispered","white","whole","whopping","wicked","wide","wide-eyed","wiggly","wild","willing","wilted","winding","windy","winged","wiry","wise","witty","wobbly","woeful","wonderful","wooden","woozy","wordy","worldly","worn","worried","worrisome","worse","worst","worthless","worthwhile","worthy","wrathful","wretched","writhing","wrong","wry","yawning","yearly","yellow","yellowish","young","youthful","yummy","zany","zealous","zesty","zigzag"],iPt=["abnormally","absentmindedly","accidentally","acidly","actually","adventurously","afterwards","almost","always","angrily","annually","anxiously","arrogantly","awkwardly","badly","bashfully","beautifully","bitterly","bleakly","blindly","blissfully","boastfully","boldly","bravely","briefly","brightly","briskly","broadly","busily","calmly","carefully","carelessly","cautiously","certainly","cheerfully","clearly","cleverly","closely","coaxingly","colorfully","commonly","continually","coolly","correctly","courageously","crossly","cruelly","curiously","daily","daintily","dearly","deceivingly","deeply","defiantly","deliberately","delightfully","diligently","dimly","doubtfully","dreamily","easily","elegantly","energetically","enormously","enthusiastically","equally","especially","even","evenly","eventually","exactly","excitedly","extremely","fairly","faithfully","famously","far","fast","fatally","ferociously","fervently","fiercely","fondly","foolishly","fortunately","frankly","frantically","freely","frenetically","frightfully","fully","furiously","generally","generously","gently","gladly","gleefully","gracefully","gratefully","greatly","greedily","happily","hastily","healthily","heavily","helpfully","helplessly","highly","honestly","hopelessly","hourly","hungrily","immediately","innocently","inquisitively","instantly","intensely","intently","interestingly","inwardly","irritably","jaggedly","jealously","joshingly","jovially","joyfully","joyously","jubilantly","judgementally","justly","keenly","kiddingly","kindheartedly","kindly","kissingly","knavishly","knottily","knowingly","knowledgeably","kookily","lazily","less","lightly","likely","limply","lively","loftily","longingly","loosely","loudly","lovingly","loyally","madly","majestically","meaningfully","mechanically","merrily","miserably","mockingly","monthly","more","mortally","mostly","mysteriously","naturally","nearly","neatly","needily","nervously","never","nicely","noisily","not","obediently","obnoxiously","oddly","offensively","officially","often","only","openly","optimistically","overconfidently","owlishly","painfully","partially","patiently","perfectly","physically","playfully","politely","poorly","positively","potentially","powerfully","promptly","properly","punctually","quaintly","quarrelsomely","queasily","questionably","questioningly","quicker","quickly","quietly","quirkily","quizzically","rapidly","rarely","readily","really","reassuringly","recklessly","regularly","reluctantly","repeatedly","reproachfully","restfully","righteously","rightfully","rigidly","roughly","rudely","sadly","safely","scarcely","scarily","searchingly","sedately","seemingly","seldom","selfishly","separately","seriously","shakily","sharply","sheepishly","shrilly","shyly","silently","sleepily","slowly","smoothly","softly","solemnly","solidly","sometimes","soon","speedily","stealthily","sternly","strictly","successfully","suddenly","surprisingly","suspiciously","sweetly","swiftly","sympathetically","tenderly","tensely","terribly","thankfully","thoroughly","thoughtfully","tightly","tomorrow","too","tremendously","triumphantly","truly","truthfully","ultimately","unabashedly","unaccountably","unbearably","unethically","unexpectedly","unfortunately","unimpressively","unnaturally","unnecessarily","upbeat","upliftingly","upright","upside-down","upward","upwardly","urgently","usefully","uselessly","usually","utterly","vacantly","vaguely","vainly","valiantly","vastly","verbally","very","viciously","victoriously","violently","vivaciously","voluntarily","warmly","weakly","wearily","well","wetly","wholly","wildly","willfully","wisely","woefully","wonderfully","worriedly","wrongly","yawningly","yearly","yearningly","yesterday","yieldingly","youthfully"],rPt=["after","although","and","as","because","before","but","consequently","even","finally","for","furthermore","hence","how","however","if","inasmuch","incidentally","indeed","instead","lest","likewise","meanwhile","nor","now","once","or","provided","since","so","supposing","than","that","though","till","unless","until","what","when","whenever","where","whereas","wherever","whether","which","while","who","whoever","whose","why","yet"],oPt=["yuck","oh","phooey","blah","boo","whoa","yowza","huzzah","boohoo","fooey","geez","pfft","ew","ah","yum","brr","hm","yahoo","aha","woot","drat","gah","meh","psst","aw","ugh","yippee","eek","gee","bah","gadzooks","duh","ha","mmm","ouch","phew","ack","uh-huh","gosh","hmph","pish","zowie","er","ick","oof","um"],sPt=["ATM","CD","SUV","TV","aardvark","abacus","abbey","abbreviation","abdomen","ability","abnormality","abolishment","abrogation","absence","abundance","academics","academy","accelerant","accelerator","accent","acceptance","access","accessory","accident","accommodation","accompanist","accomplishment","accord","accordance","accordion","account","accountability","accountant","accounting","accuracy","accusation","acetate","achievement","achiever","acid","acknowledgment","acorn","acoustics","acquaintance","acquisition","acre","acrylic","act","action","activation","activist","activity","actor","actress","acupuncture","ad","adaptation","adapter","addiction","addition","address","adjective","adjustment","admin","administration","administrator","admire","admission","adobe","adoption","adrenalin","adrenaline","adult","adulthood","advance","advancement","advantage","advent","adverb","advertisement","advertising","advice","adviser","advocacy","advocate","affair","affect","affidavit","affiliate","affinity","afoul","afterlife","aftermath","afternoon","aftershave","aftershock","afterthought","age","agency","agenda","agent","aggradation","aggression","aglet","agony","agreement","agriculture","aid","aide","aim","air","airbag","airbus","aircraft","airfare","airfield","airforce","airline","airmail","airman","airplane","airport","airship","airspace","alarm","alb","albatross","album","alcohol","alcove","alder","ale","alert","alfalfa","algebra","algorithm","alias","alibi","alien","allegation","allergist","alley","alliance","alligator","allocation","allowance","alloy","alluvium","almanac","almighty","almond","alpaca","alpenglow","alpenhorn","alpha","alphabet","altar","alteration","alternative","altitude","alto","aluminium","aluminum","amazement","amazon","ambassador","amber","ambience","ambiguity","ambition","ambulance","amendment","amenity","ammunition","amnesty","amount","amusement","anagram","analgesia","analog","analogue","analogy","analysis","analyst","analytics","anarchist","anarchy","anatomy","ancestor","anchovy","android","anesthesiologist","anesthesiology","angel","anger","angina","angle","angora","angstrom","anguish","animal","anime","anise","ankle","anklet","anniversary","announcement","annual","anorak","answer","ant","anteater","antecedent","antechamber","antelope","antennae","anterior","anthropology","antibody","anticipation","anticodon","antigen","antique","antiquity","antler","antling","anxiety","anybody","anyone","anything","anywhere","apartment","ape","aperitif","apology","app","apparatus","apparel","appeal","appearance","appellation","appendix","appetiser","appetite","appetizer","applause","apple","applewood","appliance","application","appointment","appreciation","apprehension","approach","appropriation","approval","apricot","apron","apse","aquarium","aquifer","arcade","arch","arch-rival","archaeologist","archaeology","archeology","archer","architect","architecture","archives","area","arena","argument","arithmetic","ark","arm","arm-rest","armadillo","armament","armchair","armoire","armor","armour","armpit","armrest","army","arrangement","array","arrest","arrival","arrogance","arrow","art","artery","arthur","artichoke","article","artifact","artificer","artist","ascend","ascent","ascot","ash","ashram","ashtray","aside","asparagus","aspect","asphalt","aspic","assassination","assault","assembly","assertion","assessment","asset","assignment","assist","assistance","assistant","associate","association","assumption","assurance","asterisk","astrakhan","astrolabe","astrologer","astrology","astronomy","asymmetry","atelier","atheist","athlete","athletics","atmosphere","atom","atrium","attachment","attack","attacker","attainment","attempt","attendance","attendant","attention","attenuation","attic","attitude","attorney","attraction","attribute","auction","audience","audit","auditorium","aunt","authentication","authenticity","author","authorisation","authority","authorization","auto","autoimmunity","automation","automaton","autumn","availability","avalanche","avenue","average","avocado","award","awareness","awe","axis","azimuth","baboon","babushka","baby","bachelor","back","back-up","backbone","backburn","backdrop","background","backpack","backup","backyard","bacon","bacterium","badge","badger","bafflement","bag","bagel","baggage","baggie","baggy","bagpipe","bail","bait","bake","baker","bakery","bakeware","balaclava","balalaika","balance","balcony","ball","ballet","balloon","balloonist","ballot","ballpark","bamboo","ban","banana","band","bandana","bandanna","bandolier","bandwidth","bangle","banjo","bank","bankbook","banker","banking","bankruptcy","banner","banquette","banyan","baobab","bar","barbecue","barbeque","barber","bargain","barge","baritone","barium","bark","barley","barn","barometer","barracks","barrage","barrel","barrier","barstool","bartender","base","baseball","baseboard","baseline","basement","basics","basil","basin","basis","basket","basketball","bass","bassinet","bassoon","bat","bath","bather","bathhouse","bathrobe","bathroom","bathtub","battalion","batter","battery","batting","battle","battleship","bay","bayou","beach","bead","beak","beam","bean","beancurd","beanie","beanstalk","bear","beard","beast","beastie","beat","beating","beauty","beck","bed","bedrock","bedroom","bee","beech","beef","beet","beetle","beggar","beginner","beginning","begonia","behalf","behavior","behaviour","behest","behold","being","belfry","belief","believer","bell","belligerency","bellows","belly","belt","bench","bend","beneficiary","benefit","beret","berry","best-seller","bestseller","bet","beverage","beyond","bias","bibliography","bicycle","bid","bidder","bidding","bidet","bifocals","bijou","bike","bikini","bill","billboard","billing","billion","bin","binoculars","biology","biopsy","biosphere","biplane","birch","bird","bird-watcher","birdbath","birdcage","birdhouse","birth","birthday","biscuit","bit","bite","bitten","bitter","blackberry","blackbird","blackboard","blackfish","blackness","bladder","blade","blame","blank","blanket","blast","blazer","blend","blessing","blight","blind","blinker","blister","blizzard","block","blocker","blog","blogger","blood","bloodflow","bloom","bloomer","blossom","blouse","blow","blowgun","blowhole","blueberry","blush","boar","board","boat","boatload","boatyard","bob","bobcat","body","bog","bolero","bolt","bond","bonding","bondsman","bone","bonfire","bongo","bonnet","bonsai","bonus","boogeyman","book","bookcase","bookend","booking","booklet","bookmark","boolean","boom","boon","boost","booster","boot","bootie","border","bore","borrower","borrowing","boss","botany","bother","bottle","bottling","bottom","bottom-line","boudoir","bough","boulder","boulevard","boundary","bouquet","bourgeoisie","bout","boutique","bow","bower","bowl","bowler","bowling","bowtie","box","boxer","boxspring","boy","boycott","boyfriend","boyhood","boysenberry","brace","bracelet","bracket","brain","brake","bran","branch","brand","brass","bratwurst","bread","breadcrumb","breadfruit","break","breakdown","breakfast","breakpoint","breakthrough","breastplate","breath","breeze","brewer","bribery","brick","bricklaying","bride","bridge","brief","briefing","briefly","brilliant","brink","brisket","broad","broadcast","broccoli","brochure","brocolli","broiler","broker","bronchitis","bronco","bronze","brooch","brood","brook","broom","brother","brother-in-law","brow","brownie","browser","browsing","brunch","brush","brushfire","brushing","bubble","buck","bucket","buckle","buckwheat","bud","buddy","budget","buffalo","buffer","buffet","bug","buggy","bugle","builder","building","bulb","bulk","bull","bull-fighter","bulldozer","bullet","bump","bumper","bun","bunch","bungalow","bunkhouse","burden","bureau","burglar","burial","burn","burn-out","burning","burrito","burro","burrow","burst","bus","bush","business","businessman","bust","bustle","butane","butcher","butler","butter","butterfly","button","buy","buyer","buying","buzz","buzzard","c-clamp","cabana","cabbage","cabin","cabinet","cable","caboose","cacao","cactus","caddy","cadet","cafe","caffeine","caftan","cage","cake","calcification","calculation","calculator","calculus","calendar","calf","caliber","calibre","calico","call","calm","calorie","camel","cameo","camera","camp","campaign","campaigning","campanile","camper","campus","can","canal","candelabra","candidacy","candidate","candle","candy","cane","cannibal","cannon","canoe","canon","canopy","cantaloupe","canteen","canvas","cap","capability","capacity","cape","caper","capital","capitalism","capitulation","capon","cappelletti","cappuccino","captain","caption","captor","car","carabao","caramel","caravan","carbohydrate","carbon","carboxyl","card","cardboard","cardigan","care","career","cargo","caribou","carload","carnation","carnival","carol","carotene","carp","carpenter","carpet","carpeting","carport","carriage","carrier","carrot","carry","cart","cartel","carter","cartilage","cartload","cartoon","cartridge","carving","cascade","case","casement","cash","cashew","cashier","casino","casket","cassava","casserole","cassock","cast","castanet","castle","casualty","cat","catacomb","catalogue","catalysis","catalyst","catamaran","catastrophe","catch","catcher","category","caterpillar","cathedral","cation","catsup","cattle","cauliflower","causal","cause","causeway","caution","cave","caviar","cayenne","ceiling","celebration","celebrity","celeriac","celery","cell","cellar","cello","celsius","cement","cemetery","cenotaph","census","cent","center","centimeter","centre","centurion","century","cephalopod","ceramic","ceramics","cereal","ceremony","certainty","certificate","certification","cesspool","chafe","chain","chainstay","chair","chairlift","chairman","chairperson","chaise","chalet","chalice","chalk","challenge","chamber","champagne","champion","championship","chance","chandelier","change","channel","chaos","chap","chapel","chaplain","chapter","character","characteristic","characterization","chard","charge","charger","charity","charlatan","charm","charset","chart","charter","chasm","chassis","chastity","chasuble","chateau","chatter","chauffeur","chauvinist","check","checkbook","checking","checkout","checkroom","cheddar","cheek","cheer","cheese","cheesecake","cheetah","chef","chem","chemical","chemistry","chemotaxis","cheque","cherry","chess","chest","chestnut","chick","chicken","chicory","chief","chiffonier","child","childbirth","childhood","chili","chill","chime","chimpanzee","chin","chinchilla","chino","chip","chipmunk","chit-chat","chivalry","chive","chives","chocolate","choice","choir","choker","cholesterol","choosing","chop","chops","chopstick","chopsticks","chord","chorus","chow","chowder","chrome","chromolithograph","chronicle","chronograph","chronometer","chrysalis","chub","chuck","church","churn","chutney","cicada","cigarette","cilantro","cinder","cinema","cinnamon","circadian","circle","circuit","circulation","circumference","circumstance","cirrus","citizen","citizenship","citron","citrus","city","civilian","civilisation","civilization","claim","clam","clamp","clan","clank","clapboard","clarification","clarinet","clarity","clasp","class","classic","classification","classmate","classroom","clause","clave","clavicle","clavier","claw","clay","cleaner","clearance","clearing","cleat","clef","cleft","clergyman","cleric","clerk","click","client","cliff","climate","climb","clinic","clip","clipboard","clipper","cloak","cloakroom","clock","clockwork","clogs","cloister","clone","close","closet","closing","closure","cloth","clothes","clothing","cloud","cloudburst","clove","clover","cloves","club","clue","cluster","clutch","co-producer","coach","coal","coalition","coast","coaster","coat","cob","cobbler","cobweb","cockpit","cockroach","cocktail","cocoa","coconut","cod","code","codepage","codling","codon","coevolution","cofactor","coffee","coffin","cohesion","cohort","coil","coin","coincidence","coinsurance","coke","cold","coleslaw","coliseum","collaboration","collagen","collapse","collar","collard","collateral","colleague","collection","collectivisation","collectivization","collector","college","collision","colloquy","colon","colonial","colonialism","colonisation","colonization","colony","color","colorlessness","colt","column","columnist","comb","combat","combination","combine","comeback","comedy","comestible","comfort","comfortable","comic","comics","comma","command","commander","commandment","comment","commerce","commercial","commission","commitment","committee","commodity","common","commonsense","commotion","communicant","communication","communion","communist","community","commuter","company","comparison","compass","compassion","compassionate","compensation","competence","competition","competitor","complaint","complement","completion","complex","complexity","compliance","complication","complicity","compliment","component","comportment","composer","composite","composition","compost","comprehension","compress","compromise","comptroller","compulsion","computer","comradeship","con","concentrate","concentration","concept","conception","concern","concert","conclusion","concrete","condition","conditioner","condominium","condor","conduct","conductor","cone","confectionery","conference","confidence","confidentiality","configuration","confirmation","conflict","conformation","confusion","conga","congo","congregation","congress","congressman","congressperson","conifer","connection","connotation","conscience","consciousness","consensus","consent","consequence","conservation","conservative","consideration","consignment","consist","consistency","console","consonant","conspiracy","conspirator","constant","constellation","constitution","constraint","construction","consul","consulate","consulting","consumer","consumption","contact","contagion","container","content","contention","contest","context","continent","contingency","continuity","contour","contract","contractor","contrail","contrary","contrast","contribution","contributor","control","controller","controversy","convection","convenience","convention","conversation","conversion","convert","convertible","conviction","cook","cookbook","cookie","cooking","cooperation","coordination","coordinator","cop","cop-out","cope","copper","copy","copying","copyright","copywriter","coral","cord","corduroy","core","cork","cormorant","corn","corner","cornerstone","cornet","cornflakes","cornmeal","corporal","corporation","corporatism","corps","corral","correspondence","correspondent","corridor","corruption","corsage","cosset","cost","costume","cot","cottage","cotton","couch","cougar","cough","council","councilman","councilor","councilperson","counsel","counseling","counselling","counsellor","counselor","count","counter","counter-force","counterpart","countess","country","countryside","county","couple","coupon","courage","course","court","courthouse","courtroom","cousin","covariate","cover","coverage","coverall","cow","cowbell","cowboy","coyote","crab","cradle","craft","craftsman","cranberry","crane","cranky","crate","cravat","craw","crawdad","crayfish","crayon","crazy","cream","creation","creative","creativity","creator","creature","creche","credential","credenza","credibility","credit","creditor","creek","crepe","crest","crew","crewman","crewmate","crewmember","crewmen","cria","crib","cribbage","cricket","cricketer","crime","criminal","crinoline","crisis","crisp","criteria","criterion","critic","criticism","crocodile","crocus","croissant","crook","crop","cross","cross-contamination","cross-stitch","croup","crow","crowd","crown","crude","cruelty","cruise","crumb","crunch","crusader","crush","crust","cry","crystal","crystallography","cub","cube","cuckoo","cucumber","cue","cuff-link","cuisine","cultivar","cultivator","culture","culvert","cummerbund","cup","cupboard","cupcake","cupola","curd","cure","curio","curiosity","curl","curler","currant","currency","current","curriculum","curry","curse","cursor","curtailment","curtain","curve","cushion","custard","custody","custom","customer","cut","cuticle","cutlet","cutover","cutting","cyclamen","cycle","cyclone","cyclooxygenase","cygnet","cylinder","cymbal","cynic","cyst","cytokine","cytoplasm","dad","daddy","daffodil","dagger","dahlia","daikon","daily","dairy","daisy","dam","damage","dame","dance","dancer","dancing","dandelion","danger","dare","dark","darkness","darn","dart","dash","dashboard","data","database","date","daughter","dawn","day","daybed","daylight","dead","deadline","deal","dealer","dealing","dearest","death","deathwatch","debate","debris","debt","debtor","decade","decadence","decency","decimal","decision","decision-making","deck","declaration","declination","decline","decoder","decongestant","decoration","decrease","decryption","dedication","deduce","deduction","deed","deep","deer","default","defeat","defendant","defender","defense","deficit","definition","deformation","degradation","degree","delay","deliberation","delight","delivery","demand","democracy","democrat","demur","den","denim","denominator","density","dentist","deodorant","department","departure","dependency","dependent","deployment","deposit","deposition","depot","depression","depressive","depth","deputy","derby","derivation","derivative","derrick","descendant","descent","description","desert","design","designation","designer","desire","desk","desktop","dessert","destination","destiny","destroyer","destruction","detail","detainee","detainment","detection","detective","detector","detention","determination","detour","devastation","developer","developing","development","developmental","deviance","deviation","device","devil","dew","dhow","diabetes","diadem","diagnosis","diagram","dial","dialect","dialogue","diam","diamond","diaper","diaphragm","diarist","diary","dibble","dickey","dictaphone","dictator","diction","dictionary","die","diesel","diet","difference","differential","difficulty","diffuse","dig","digestion","digestive","digger","digging","digit","dignity","dilapidation","dill","dilution","dime","dimension","dimple","diner","dinghy","dining","dinner","dinosaur","dioxide","dip","diploma","diplomacy","direction","directive","director","directory","dirndl","dirt","disability","disadvantage","disagreement","disappointment","disarmament","disaster","discharge","discipline","disclaimer","disclosure","disco","disconnection","discount","discourse","discovery","discrepancy","discretion","discrimination","discussion","disdain","disease","disembodiment","disengagement","disguise","disgust","dish","dishwasher","disk","disparity","dispatch","displacement","display","disposal","disposer","disposition","dispute","disregard","disruption","dissemination","dissonance","distance","distinction","distortion","distribution","distributor","district","divalent","divan","diver","diversity","divide","dividend","divider","divine","diving","division","divorce","doc","dock","doctor","doctorate","doctrine","document","documentary","documentation","doe","dog","dogsled","dogwood","doing","doll","dollar","dollop","dolman","dolor","dolphin","domain","dome","donation","donkey","donor","donut","door","doorbell","doorknob","doorpost","doorway","dory","dose","dot","double","doubling","doubt","doubter","dough","doughnut","down","downfall","downforce","downgrade","download","downstairs","downtown","downturn","dozen","draft","drag","dragon","dragonfly","dragonfruit","dragster","drain","drainage","drake","drama","dramaturge","drapes","draw","drawbridge","drawer","drawing","dream","dreamer","dredger","dress","dresser","dressing","drill","drink","drinking","drive","driver","driveway","driving","drizzle","dromedary","drop","drudgery","drug","drum","drummer","dryer","duck","duckling","dud","dude","due","duel","dueling","duffel","dugout","dulcimer","dumbwaiter","dump","dune","dungarees","dungeon","duplexer","duration","durian","dusk","dust","duster","duty","dwell","dwelling","dynamics","dynamite","dynamo","dynasty","dysfunction","e-book","e-mail","e-reader","eagle","eaglet","ear","eardrum","earmuffs","earnings","earplug","earring","earrings","earth","earthquake","earthworm","ease","easel","east","eating","eaves","eavesdropper","ecclesia","echidna","eclipse","ecliptic","ecology","economics","economy","ecosystem","ectoderm","ectodermal","ecumenist","eddy","edge","edger","edible","editing","edition","editor","editorial","education","eel","effacement","effect","effective","effectiveness","effector","efficacy","efficiency","effort","egg","egghead","eggnog","eggplant","ego","eicosanoid","ejector","elbow","elderberry","election","electricity","electrocardiogram","electronics","element","elephant","elevation","elevator","eleventh","elf","elicit","eligibility","elimination","elite","elixir","elk","ellipse","elm","elongation","elver","email","emanate","embarrassment","embassy","embellishment","embossing","embryo","emerald","emergence","emergency","emergent","emery","emission","emitter","emotion","emphasis","empire","employ","employee","employer","employment","empowerment","emu","enactment","encirclement","enclave","enclosure","encounter","encouragement","encyclopedia","end","endive","endoderm","endorsement","endothelium","endpoint","enemy","energy","enforcement","engagement","engine","engineer","engineering","enigma","enjoyment","enquiry","enrollment","enterprise","entertainment","enthusiasm","entirety","entity","entrance","entree","entrepreneur","entry","envelope","environment","envy","enzyme","epauliere","epee","ephemera","ephemeris","ephyra","epic","episode","epithelium","epoch","eponym","epoxy","equal","equality","equation","equinox","equipment","equity","equivalent","era","eraser","erosion","error","escalator","escape","espadrille","espalier","essay","essence","essential","establishment","estate","estimate","estrogen","estuary","eternity","ethernet","ethics","ethnicity","ethyl","euphonium","eurocentrism","evaluation","evaluator","evaporation","eve","evening","evening-wear","event","everybody","everyone","everything","eviction","evidence","evil","evocation","evolution","ex-husband","ex-wife","exaggeration","exam","examination","examiner","example","exasperation","excellence","exception","excerpt","excess","exchange","excitement","exclamation","excursion","excuse","execution","executive","executor","exercise","exhaust","exhaustion","exhibit","exhibition","exile","existence","exit","exocrine","expansion","expansionism","expectancy","expectation","expedition","expense","experience","experiment","experimentation","expert","expertise","explanation","exploration","explorer","export","expose","exposition","exposure","expression","extension","extent","exterior","external","extinction","extreme","extremist","eye","eyeball","eyebrow","eyebrows","eyeglasses","eyelash","eyelashes","eyelid","eyelids","eyeliner","eyestrain","eyrie","fabric","face","facelift","facet","facility","facsimile","fact","factor","factory","faculty","fahrenheit","fail","failure","fairness","fairy","faith","faithful","fall","fallacy","falling-out","fame","familiar","familiarity","family","fan","fang","fanlight","fanny-pack","fantasy","farm","farmer","farming","farmland","farrow","fascia","fashion","fat","fate","father","father-in-law","fatigue","fatigues","faucet","fault","fav","fava","favor","favorite","fawn","fax","fear","feast","feather","feature","fedelini","federation","fedora","fee","feed","feedback","feeding","feel","feeling","fellow","felony","female","fen","fence","fencing","fender","feng","fennel","ferret","ferry","ferryboat","fertilizer","festival","fetus","few","fiber","fiberglass","fibre","fibroblast","fibrosis","ficlet","fiction","fiddle","field","fiery","fiesta","fifth","fig","fight","fighter","figure","figurine","file","filing","fill","fillet","filly","film","filter","filth","final","finance","financing","finding","fine","finer","finger","fingerling","fingernail","finish","finisher","fir","fire","fireman","fireplace","firewall","firm","first","fish","fishbone","fisherman","fishery","fishing","fishmonger","fishnet","fit","fitness","fix","fixture","flag","flair","flame","flan","flanker","flare","flash","flat","flatboat","flavor","flax","fleck","fledgling","fleece","flesh","flexibility","flick","flicker","flight","flint","flintlock","flip-flops","flock","flood","floodplain","floor","floozie","flour","flow","flower","flu","flugelhorn","fluke","flume","flung","flute","fly","flytrap","foal","foam","fob","focus","fog","fold","folder","folk","folklore","follower","following","fondue","font","food","foodstuffs","fool","foot","footage","football","footnote","footprint","footrest","footstep","footstool","footwear","forage","forager","foray","force","ford","forearm","forebear","forecast","forehead","foreigner","forelimb","forest","forestry","forever","forgery","fork","form","formal","formamide","format","formation","former","formicarium","formula","fort","forte","fortnight","fortress","fortune","forum","foundation","founder","founding","fountain","fourths","fowl","fox","foxglove","fraction","fragrance","frame","framework","fratricide","fraud","fraudster","freak","freckle","freedom","freelance","freezer","freezing","freight","freighter","frenzy","freon","frequency","fresco","friction","fridge","friend","friendship","fries","frigate","fright","fringe","fritter","frock","frog","front","frontier","frost","frosting","frown","fruit","frustration","fry","fuel","fugato","fulfillment","full","fun","function","functionality","fund","funding","fundraising","fur","furnace","furniture","fusarium","futon","future","gadget","gaffe","gaffer","gain","gaiters","gale","gall-bladder","gallery","galley","gallon","galoshes","gambling","game","gamebird","gaming","gamma-ray","gander","gang","gap","garage","garb","garbage","garden","garlic","garment","garter","gas","gasket","gasoline","gasp","gastronomy","gastropod","gate","gateway","gather","gathering","gator","gauge","gauntlet","gavel","gazebo","gazelle","gear","gearshift","geek","gel","gelatin","gelding","gem","gemsbok","gender","gene","general","generation","generator","generosity","genetics","genie","genius","genre","gentleman","geography","geology","geometry","geranium","gerbil","gesture","geyser","gherkin","ghost","giant","gift","gig","gigantism","giggle","ginger","gingerbread","ginseng","giraffe","girdle","girl","girlfriend","glacier","gladiolus","glance","gland","glass","glasses","glee","glen","glider","gliding","glimpse","globe","glockenspiel","gloom","glory","glove","glow","glucose","glue","glut","glutamate","gnat","gnu","go-kart","goal","goat","gobbler","god","goddess","godfather","godmother","godparent","goggles","going","gold","goldfish","golf","gondola","gong","good","good-bye","goodbye","goodie","goodness","goodnight","goodwill","goose","gopher","gorilla","gosling","gossip","governance","government","governor","gown","grab-bag","grace","grade","gradient","graduate","graduation","graffiti","graft","grain","gram","grammar","gran","grand","grandchild","granddaughter","grandfather","grandma","grandmom","grandmother","grandpa","grandparent","grandson","granny","granola","grant","grape","grapefruit","graph","graphic","grasp","grass","grasshopper","grassland","gratitude","gravel","gravitas","gravity","gravy","gray","grease","great-grandfather","great-grandmother","greatness","greed","green","greenhouse","greens","grenade","grey","grid","grief","grill","grin","grip","gripper","grit","grocery","ground","group","grouper","grouse","grove","growth","grub","guacamole","guarantee","guard","guava","guerrilla","guess","guest","guestbook","guidance","guide","guideline","guilder","guilt","guilty","guinea","guitar","guitarist","gum","gumshoe","gun","gunpowder","gutter","guy","gym","gymnast","gymnastics","gynaecology","gyro","habit","habitat","hacienda","hacksaw","hackwork","hail","hair","haircut","hake","half","half-brother","half-sister","halibut","hall","halloween","hallway","halt","ham","hamburger","hammer","hammock","hamster","hand","hand-holding","handball","handful","handgun","handicap","handle","handlebar","handmaiden","handover","handrail","handsaw","hanger","happening","happiness","harald","harbor","harbour","hard-hat","hardboard","hardcover","hardening","hardhat","hardship","hardware","hare","harm","harmonica","harmonise","harmonize","harmony","harp","harpooner","harpsichord","harvest","harvester","hash","hashtag","hassock","haste","hat","hatbox","hatchet","hatchling","hate","hatred","haunt","haven","haversack","havoc","hawk","hay","haze","hazel","hazelnut","head","headache","headlight","headline","headphones","headquarters","headrest","health","health-care","hearing","hearsay","heart","heart-throb","heartache","heartbeat","hearth","hearthside","heartwood","heat","heater","heating","heaven","heavy","hectare","hedge","hedgehog","heel","heifer","height","heir","heirloom","helicopter","helium","hellcat","hello","helmet","helo","help","hemisphere","hemp","hen","hepatitis","herb","herbs","heritage","hermit","hero","heroine","heron","herring","hesitation","hexagon","heyday","hiccups","hide","hierarchy","high","high-rise","highland","highlight","highway","hike","hiking","hill","hint","hip","hippodrome","hippopotamus","hire","hiring","historian","history","hit","hive","hobbit","hobby","hockey","hog","hold","holder","hole","holiday","home","homeland","homeownership","hometown","homework","homogenate","homonym","honesty","honey","honeybee","honeydew","honor","honoree","hood","hoof","hook","hop","hope","hops","horde","horizon","hormone","horn","hornet","horror","horse","horseradish","horst","hose","hosiery","hospice","hospital","hospitalisation","hospitality","hospitalization","host","hostel","hostess","hotdog","hotel","hound","hour","hourglass","house","houseboat","household","housewife","housework","housing","hovel","hovercraft","howard","howitzer","hub","hubcap","hubris","hug","hugger","hull","human","humanity","humidity","hummus","humor","humour","hundred","hunger","hunt","hunter","hunting","hurdle","hurdler","hurricane","hurry","hurt","husband","hut","hutch","hyacinth","hybridisation","hybridization","hydrant","hydraulics","hydrocarb","hydrocarbon","hydrofoil","hydrogen","hydrolyse","hydrolysis","hydrolyze","hydroxyl","hyena","hygienic","hype","hyphenation","hypochondria","hypothermia","hypothesis","ice","ice-cream","iceberg","icebreaker","icecream","icicle","icing","icon","icy","id","idea","ideal","identification","identity","ideology","idiom","igloo","ignorance","ignorant","ikebana","illiteracy","illness","illusion","illustration","image","imagination","imbalance","imitation","immigrant","immigration","immortal","impact","impairment","impala","impediment","implement","implementation","implication","import","importance","impostor","impress","impression","imprisonment","impropriety","improvement","impudence","impulse","in-joke","in-laws","inability","inauguration","inbox","incandescence","incarnation","incense","incentive","inch","incidence","incident","incision","inclusion","income","incompetence","inconvenience","increase","incubation","independence","independent","index","indication","indicator","indigence","individual","industrialisation","industrialization","industry","inequality","inevitable","infancy","infant","infarction","infection","infiltration","infinite","infix","inflammation","inflation","influence","influx","info","information","infrastructure","infusion","inglenook","ingrate","ingredient","inhabitant","inheritance","inhibition","inhibitor","initial","initialise","initialize","initiative","injunction","injury","injustice","ink","inlay","inn","innervation","innocence","innocent","innovation","input","inquiry","inscription","insect","insectarium","insert","inside","insight","insolence","insomnia","inspection","inspector","inspiration","installation","instance","instant","instinct","institute","institution","instruction","instructor","instrument","instrumentalist","instrumentation","insulation","insurance","insurgence","insurrection","integer","integral","integration","integrity","intellect","intelligence","intensity","intent","intention","intentionality","interaction","interchange","interconnection","interest","interface","interferometer","interior","interject","interloper","internet","interpretation","interpreter","interval","intervenor","intervention","interview","interviewer","intestine","introduction","intuition","invader","invasion","invention","inventor","inventory","inverse","inversion","investigation","investigator","investment","investor","invitation","invite","invoice","involvement","iridescence","iris","iron","ironclad","irony","irrigation","ischemia","island","isogloss","isolation","issue","item","itinerary","ivory","jack","jackal","jacket","jackfruit","jade","jaguar","jail","jailhouse","jalapeño","jam","jar","jasmine","jaw","jazz","jealousy","jeans","jeep","jelly","jellybeans","jellyfish","jet","jewel","jeweller","jewellery","jewelry","jicama","jiffy","job","jockey","jodhpurs","joey","jogging","joint","joke","jot","journal","journalism","journalist","journey","joy","judge","judgment","judo","jug","juggernaut","juice","julienne","jumbo","jump","jumper","jumpsuit","jungle","junior","junk","junker","junket","jury","justice","justification","jute","kale","kangaroo","karate","kayak","kazoo","kebab","keep","keeper","kendo","kennel","ketch","ketchup","kettle","kettledrum","key","keyboard","keyboarding","keystone","kick","kick-off","kid","kidney","kielbasa","kill","killer","killing","kilogram","kilometer","kilt","kimono","kinase","kind","kindness","king","kingdom","kingfish","kiosk","kiss","kit","kitchen","kite","kitsch","kitten","kitty","kiwi","knee","kneejerk","knickers","knife","knife-edge","knight","knitting","knock","knot","know-how","knowledge","knuckle","koala","kohlrabi","lab","label","labor","laboratory","laborer","labour","labourer","lace","lack","lacquerware","lad","ladder","ladle","lady","ladybug","lag","lake","lamb","lambkin","lament","lamp","lanai","land","landform","landing","landmine","landscape","lane","language","lantern","lap","laparoscope","lapdog","laptop","larch","lard","larder","lark","larva","laryngitis","lasagna","lashes","last","latency","latex","lathe","latitude","latte","latter","laugh","laughter","laundry","lava","law","lawmaker","lawn","lawsuit","lawyer","lay","layer","layout","lead","leader","leadership","leading","leaf","league","leaker","leap","learning","leash","leather","leave","leaver","lecture","leek","leeway","left","leg","legacy","legal","legend","legging","legislation","legislator","legislature","legitimacy","legume","leisure","lemon","lemonade","lemur","lender","lending","length","lens","lentil","leopard","leprosy","leptocephalus","lesson","letter","lettuce","level","lever","leverage","leveret","liability","liar","liberty","library","licence","license","licensing","licorice","lid","lie","lieu","lieutenant","life","lifestyle","lifetime","lift","ligand","light","lighting","lightning","lightscreen","ligula","likelihood","likeness","lilac","lily","limb","lime","limestone","limit","limitation","limo","line","linen","liner","linguist","linguistics","lining","link","linkage","linseed","lion","lip","lipid","lipoprotein","lipstick","liquid","liquidity","liquor","list","listening","listing","literate","literature","litigation","litmus","litter","littleneck","liver","livestock","living","lizard","llama","load","loading","loaf","loafer","loan","lobby","lobotomy","lobster","local","locality","location","lock","locker","locket","locomotive","locust","lode","loft","log","loggia","logic","login","logistics","logo","loincloth","lollipop","loneliness","longboat","longitude","look","lookout","loop","loophole","loquat","lord","loss","lot","lotion","lottery","lounge","louse","lout","love","lover","lox","loyalty","luck","luggage","lumber","lumberman","lunch","luncheonette","lunchmeat","lunchroom","lung","lunge","lute","luxury","lychee","lycra","lye","lymphocyte","lynx","lyocell","lyre","lyrics","lysine","mRNA","macadamia","macaroni","macaroon","macaw","machine","machinery","macrame","macro","macrofauna","madam","maelstrom","maestro","magazine","maggot","magic","magnet","magnitude","maid","maiden","mail","mailbox","mailer","mailing","mailman","main","mainland","mainstream","maintainer","maintenance","maize","major","major-league","majority","makeover","maker","makeup","making","male","malice","mall","mallard","mallet","malnutrition","mama","mambo","mammoth","man","manacle","management","manager","manatee","mandarin","mandate","mandolin","mangle","mango","mangrove","manhunt","maniac","manicure","manifestation","manipulation","mankind","manner","manor","mansard","manservant","mansion","mantel","mantle","mantua","manufacturer","manufacturing","many","map","maple","mapping","maracas","marathon","marble","march","mare","margarine","margin","mariachi","marimba","marines","marionberry","mark","marker","market","marketer","marketing","marketplace","marksman","markup","marmalade","marriage","marsh","marshland","marshmallow","marten","marxism","mascara","mask","masonry","mass","massage","mast","masterpiece","mastication","mastoid","mat","match","matchmaker","mate","material","maternity","math","mathematics","matrix","matter","mattock","mattress","max","maximum","maybe","mayonnaise","mayor","meadow","meal","mean","meander","meaning","means","meantime","measles","measure","measurement","meat","meatball","meatloaf","mecca","mechanic","mechanism","med","medal","media","median","medication","medicine","medium","meet","meeting","melatonin","melody","melon","member","membership","membrane","meme","memo","memorial","memory","men","menopause","menorah","mention","mentor","menu","merchandise","merchant","mercury","meridian","meringue","merit","mesenchyme","mess","message","messenger","messy","metabolite","metal","metallurgist","metaphor","meteor","meteorology","meter","methane","method","methodology","metric","metro","metronome","mezzanine","microlending","micronutrient","microphone","microwave","mid-course","midden","middle","middleman","midline","midnight","midwife","might","migrant","migration","mile","mileage","milepost","milestone","military","milk","milkshake","mill","millennium","millet","millimeter","million","millisecond","millstone","mime","mimosa","min","mincemeat","mind","mine","mineral","mineshaft","mini","mini-skirt","minibus","minimalism","minimum","mining","minion","minister","mink","minnow","minor","minor-league","minority","mint","minute","miracle","mirror","miscommunication","misfit","misnomer","misplacement","misreading","misrepresentation","miss","missile","mission","mist","mistake","mister","misunderstand","miter","mitten","mix","mixer","mixture","moai","moat","mob","mobile","mobility","mobster","moccasins","mocha","mochi","mode","model","modeling","modem","modernist","modernity","modification","molar","molasses","molding","mole","molecule","mom","moment","monastery","monasticism","money","monger","monitor","monitoring","monk","monkey","monocle","monopoly","monotheism","monsoon","monster","month","monument","mood","moody","moon","moonlight","moonscape","moose","mop","morale","morbid","morbidity","morning","morphology","morsel","mortal","mortality","mortgage","mortise","mosque","mosquito","most","motel","moth","mother","mother-in-law","motion","motivation","motive","motor","motorboat","motorcar","motorcycle","mound","mountain","mouse","mouser","mousse","moustache","mouth","mouton","movement","mover","movie","mower","mozzarella","mud","muffin","mug","mukluk","mule","multimedia","muscat","muscatel","muscle","musculature","museum","mushroom","music","music-box","music-making","musician","muskrat","mussel","mustache","mustard","mutation","mutt","mutton","mycoplasma","mystery","myth","mythology","nail","name","naming","nanoparticle","napkin","narrative","nasal","nation","nationality","native","naturalisation","nature","navigation","necessity","neck","necklace","necktie","nectar","nectarine","need","needle","neglect","negligee","negotiation","neighbor","neighborhood","neighbour","neighbourhood","neologism","neon","neonate","nephew","nerve","nest","nestling","nestmate","net","netball","netbook","netsuke","network","networking","neurobiologist","neuron","neuropathologist","neuropsychiatry","news","newsletter","newspaper","newsprint","newsstand","nexus","nibble","nicety","niche","nick","nickel","nickname","niece","night","nightclub","nightgown","nightingale","nightlife","nightlight","nightmare","ninja","nit","nitrogen","nobody","nod","node","noir","noise","nonbeliever","nonconformist","nondisclosure","nonsense","noodle","noodles","noon","norm","normal","normalisation","normalization","north","nose","notation","note","notebook","notepad","nothing","notice","notion","notoriety","nougat","noun","nourishment","novel","nucleotidase","nucleotide","nudge","nuke","number","numeracy","numeric","numismatist","nun","nurse","nursery","nursing","nurture","nut","nutmeg","nutrient","nutrition","nylon","oak","oar","oasis","oat","oatmeal","oats","obedience","obesity","obi","object","objection","objective","obligation","oboe","observation","observatory","obsession","obsidian","obstacle","occasion","occupation","occurrence","ocean","ocelot","octagon","octave","octavo","octet","octopus","odometer","odyssey","oeuvre","off-ramp","offence","offense","offer","offering","office","officer","official","offset","oil","okra","oldie","oleo","olive","omega","omelet","omission","omnivore","oncology","onion","online","onset","opening","opera","operating","operation","operator","ophthalmologist","opinion","opossum","opponent","opportunist","opportunity","opposite","opposition","optimal","optimisation","optimist","optimization","option","orange","orangutan","orator","orchard","orchestra","orchid","order","ordinary","ordination","ore","oregano","organ","organisation","organising","organization","organizing","orient","orientation","origin","original","originality","ornament","osmosis","osprey","ostrich","other","otter","ottoman","ounce","outback","outcome","outfielder","outfit","outhouse","outlaw","outlay","outlet","outline","outlook","output","outrage","outrigger","outrun","outset","outside","oval","ovary","oven","overcharge","overclocking","overcoat","overexertion","overflight","overhead","overheard","overload","overnighter","overshoot","oversight","overview","overweight","owl","owner","ownership","ox","oxford","oxygen","oyster","ozone","pace","pacemaker","pack","package","packaging","packet","pad","paddle","paddock","pagan","page","pagoda","pail","pain","paint","painter","painting","paintwork","pair","pajamas","palace","palate","palm","pamphlet","pan","pancake","pancreas","panda","panel","panic","pannier","panpipe","panther","pantologist","pantology","pantry","pants","pantsuit","pantyhose","papa","papaya","paper","paperback","paperwork","parable","parachute","parade","paradise","paragraph","parallelogram","paramecium","paramedic","parameter","paranoia","parcel","parchment","pard","pardon","parent","parenthesis","parenting","park","parka","parking","parliament","parole","parrot","parser","parsley","parsnip","part","participant","participation","particle","particular","partner","partnership","partridge","party","pass","passage","passbook","passenger","passing","passion","passive","passport","password","past","pasta","paste","pastor","pastoralist","pastry","pasture","pat","patch","pate","patent","patentee","path","pathogenesis","pathology","pathway","patience","patient","patina","patio","patriarch","patrimony","patriot","patrol","patroller","patrolling","patron","pattern","patty","pattypan","pause","pavement","pavilion","paw","pawnshop","pay","payee","payment","payoff","pea","peace","peach","peacoat","peacock","peak","peanut","pear","pearl","peasant","pecan","pedal","peek","peen","peer","peer-to-peer","pegboard","pelican","pelt","pen","penalty","pence","pencil","pendant","pendulum","penguin","penicillin","peninsula","pennant","penny","pension","pentagon","peony","people","pepper","pepperoni","percent","percentage","perception","perch","perennial","perfection","performance","perfume","period","periodical","peripheral","permafrost","permission","permit","perp","perpendicular","persimmon","person","personal","personality","personnel","perspective","pest","pet","petal","petition","petitioner","petticoat","pew","pharmacist","pharmacopoeia","phase","pheasant","phenomenon","phenotype","pheromone","philanthropy","philosopher","philosophy","phone","phosphate","photo","photodiode","photograph","photographer","photography","photoreceptor","phrase","phrasing","physical","physics","physiology","pianist","piano","piccolo","pick","pickax","pickaxe","picket","pickle","pickup","picnic","picture","picturesque","pie","piece","pier","piety","pig","pigeon","piglet","pigpen","pigsty","pike","pilaf","pile","pilgrim","pilgrimage","pill","pillar","pillbox","pillow","pilot","pimple","pin","pinafore","pince-nez","pine","pineapple","pinecone","ping","pinkie","pinot","pinstripe","pint","pinto","pinworm","pioneer","pipe","pipeline","piracy","pirate","pit","pita","pitch","pitcher","pitching","pith","pizza","place","placebo","placement","placode","plagiarism","plain","plaintiff","plan","plane","planet","planning","plant","plantation","planter","planula","plaster","plasterboard","plastic","plate","platelet","platform","platinum","platter","platypus","play","player","playground","playroom","playwright","plea","pleasure","pleat","pledge","plenty","plier","pliers","plight","plot","plough","plover","plow","plowman","plug","plugin","plum","plumber","plume","plunger","plywood","pneumonia","pocket","pocket-watch","pocketbook","pod","podcast","poem","poet","poetry","poignance","point","poison","poisoning","poker","polarisation","polarization","pole","polenta","police","policeman","policy","polish","politician","politics","poll","polliwog","pollutant","pollution","polo","polyester","polyp","pomegranate","pomelo","pompom","poncho","pond","pony","pool","poor","pop","popcorn","poppy","popsicle","popularity","population","populist","porcelain","porch","porcupine","pork","porpoise","port","porter","portfolio","porthole","portion","portrait","position","possession","possibility","possible","post","postage","postbox","poster","posterior","postfix","pot","potato","potential","pottery","potty","pouch","poultry","pound","pounding","poverty","powder","power","practice","practitioner","prairie","praise","pray","prayer","precedence","precedent","precipitation","precision","predecessor","preface","preference","prefix","pregnancy","prejudice","prelude","premeditation","premier","premise","premium","preoccupation","preparation","prescription","presence","present","presentation","preservation","preserves","presidency","president","press","pressroom","pressure","pressurisation","pressurization","prestige","presume","pretzel","prevalence","prevention","prey","price","pricing","pride","priest","priesthood","primary","primate","prince","princess","principal","principle","print","printer","printing","prior","priority","prison","prisoner","privacy","private","privilege","prize","prizefight","probability","probation","probe","problem","procedure","proceedings","process","processing","processor","proctor","procurement","produce","producer","product","production","productivity","profession","professional","professor","profile","profit","progenitor","program","programme","programming","progress","progression","prohibition","project","proliferation","promenade","promise","promotion","prompt","pronoun","pronunciation","proof","proof-reader","propane","property","prophet","proponent","proportion","proposal","proposition","proprietor","prose","prosecution","prosecutor","prospect","prosperity","prostacyclin","prostanoid","prostrate","protection","protein","protest","protocol","providence","provider","province","provision","prow","proximal","proximity","prune","pruner","pseudocode","pseudoscience","psychiatrist","psychoanalyst","psychologist","psychology","ptarmigan","pub","public","publication","publicity","publisher","publishing","pudding","puddle","puffin","pug","puggle","pulley","pulse","puma","pump","pumpernickel","pumpkin","pumpkinseed","pun","punch","punctuation","punishment","pup","pupa","pupil","puppet","puppy","purchase","puritan","purity","purpose","purr","purse","pursuit","push","pusher","put","puzzle","pyramid","pyridine","quadrant","quail","qualification","quality","quantity","quart","quarter","quartet","quartz","queen","query","quest","question","questioner","questionnaire","quiche","quicksand","quiet","quill","quilt","quince","quinoa","quit","quiver","quota","quotation","quote","rabbi","rabbit","raccoon","race","racer","racing","rack","radar","radiator","radio","radiosonde","radish","raffle","raft","rag","rage","raid","rail","railing","railroad","railway","raiment","rain","rainbow","raincoat","rainmaker","rainstorm","rainy","raise","raisin","rake","rally","ram","rambler","ramen","ramie","ranch","rancher","randomisation","randomization","range","ranger","rank","rap","raspberry","rat","rate","ratepayer","rating","ratio","rationale","rations","raven","ravioli","rawhide","ray","rayon","razor","reach","reactant","reaction","read","reader","readiness","reading","real","reality","realization","realm","reamer","rear","reason","reasoning","rebel","rebellion","reboot","recall","recapitulation","receipt","receiver","reception","receptor","recess","recession","recipe","recipient","reciprocity","reclamation","recliner","recognition","recollection","recommendation","reconsideration","record","recorder","recording","recovery","recreation","recruit","rectangle","redesign","redhead","redirect","rediscovery","reduction","reef","refectory","reference","referendum","reflection","reform","refreshments","refrigerator","refuge","refund","refusal","refuse","regard","regime","region","regionalism","register","registration","registry","regret","regulation","regulator","rehospitalisation","rehospitalization","reindeer","reinscription","reject","relation","relationship","relative","relaxation","relay","release","reliability","relief","religion","relish","reluctance","remains","remark","reminder","remnant","remote","removal","renaissance","rent","reorganisation","reorganization","repair","reparation","repayment","repeat","replacement","replica","replication","reply","report","reporter","reporting","repository","representation","representative","reprocessing","republic","republican","reputation","request","requirement","resale","rescue","research","researcher","resemblance","reservation","reserve","reservoir","reset","residence","resident","residue","resist","resistance","resolution","resolve","resort","resource","respect","respite","response","responsibility","rest","restaurant","restoration","restriction","restroom","restructuring","result","resume","retailer","retention","rethinking","retina","retirement","retouching","retreat","retrospect","retrospective","retrospectivity","return","reunion","revascularisation","revascularization","reveal","revelation","revenant","revenge","revenue","reversal","reverse","review","revitalisation","revitalization","revival","revolution","revolver","reward","rhetoric","rheumatism","rhinoceros","rhubarb","rhyme","rhythm","rib","ribbon","rice","riddle","ride","rider","ridge","riding","rifle","right","rim","ring","ringworm","riot","rip","ripple","rise","riser","risk","rite","ritual","river","riverbed","rivulet","road","roadway","roar","roast","robe","robin","robot","robotics","rock","rocker","rocket","rocket-ship","rod","role","roll","roller","romaine","romance","roof","room","roommate","rooster","root","rope","rose","rosemary","roster","rostrum","rotation","round","roundabout","route","router","routine","row","rowboat","rowing","rubber","rubbish","rubric","ruby","ruckus","rudiment","ruffle","rug","rugby","ruin","rule","ruler","ruling","rumor","run","runaway","runner","running","runway","rush","rust","rutabaga","rye","sabre","sack","saddle","sadness","safari","safe","safeguard","safety","saffron","sage","sail","sailboat","sailing","sailor","saint","sake","salad","salami","salary","sale","salesman","salmon","salon","saloon","salsa","salt","salute","samovar","sampan","sample","samurai","sanction","sanctity","sanctuary","sand","sandal","sandbar","sandpaper","sandwich","sanity","sardine","sari","sarong","sash","satellite","satin","satire","satisfaction","sauce","saucer","sauerkraut","sausage","savage","savannah","saving","savings","savior","saviour","savory","saw","saxophone","scaffold","scale","scallion","scallops","scalp","scam","scanner","scarecrow","scarf","scarification","scenario","scene","scenery","scent","schedule","scheduling","schema","scheme","schnitzel","scholar","scholarship","school","schoolhouse","schooner","science","scientist","scimitar","scissors","scooter","scope","score","scorn","scorpion","scotch","scout","scow","scrambled","scrap","scraper","scratch","screamer","screen","screening","screenwriting","screw","screw-up","screwdriver","scrim","scrip","script","scripture","scrutiny","sculpting","sculptural","sculpture","sea","seabass","seafood","seagull","seal","seaplane","search","seashore","seaside","season","seat","seaweed","second","secrecy","secret","secretariat","secretary","secretion","section","sectional","sector","security","sediment","seed","seeder","seeker","seep","segment","seizure","selection","self","self-confidence","self-control","self-esteem","seller","selling","semantics","semester","semicircle","semicolon","semiconductor","seminar","senate","senator","sender","senior","sense","sensibility","sensitive","sensitivity","sensor","sentence","sentencing","sentiment","sepal","separation","septicaemia","sequel","sequence","serial","series","sermon","serum","serval","servant","server","service","servitude","sesame","session","set","setback","setting","settlement","settler","severity","sewer","shack","shackle","shade","shadow","shadowbox","shakedown","shaker","shallot","shallows","shame","shampoo","shanty","shape","share","shareholder","shark","shaw","shawl","shear","shearling","sheath","shed","sheep","sheet","shelf","shell","shelter","sherbet","sherry","shield","shift","shin","shine","shingle","ship","shipper","shipping","shipyard","shirt","shirtdress","shoat","shock","shoe","shoe-horn","shoehorn","shoelace","shoemaker","shoes","shoestring","shofar","shoot","shootdown","shop","shopper","shopping","shore","shoreline","short","shortage","shorts","shortwave","shot","shoulder","shout","shovel","show","show-stopper","shower","shred","shrimp","shrine","shutdown","sibling","sick","sickness","side","sideboard","sideburns","sidecar","sidestream","sidewalk","siding","siege","sigh","sight","sightseeing","sign","signal","signature","signet","significance","signify","signup","silence","silica","silicon","silk","silkworm","sill","silly","silo","silver","similarity","simple","simplicity","simplification","simvastatin","sin","singer","singing","singular","sink","sinuosity","sip","sir","sister","sister-in-law","sitar","site","situation","size","skate","skating","skean","skeleton","ski","skiing","skill","skin","skirt","skull","skullcap","skullduggery","skunk","sky","skylight","skyline","skyscraper","skywalk","slang","slapstick","slash","slate","slaw","sled","sledge","sleep","sleepiness","sleeping","sleet","sleuth","slice","slide","slider","slime","slip","slipper","slippers","slope","slot","sloth","slump","smell","smelting","smile","smith","smock","smog","smoke","smoking","smolt","smuggling","snack","snail","snake","snakebite","snap","snarl","sneaker","sneakers","sneeze","sniffle","snob","snorer","snow","snowboarding","snowflake","snowman","snowmobiling","snowplow","snowstorm","snowsuit","snuck","snug","snuggle","soap","soccer","socialism","socialist","society","sociology","sock","socks","soda","sofa","softball","softdrink","softening","software","soil","soldier","sole","solicitation","solicitor","solidarity","solidity","soliloquy","solitaire","solution","solvency","sombrero","somebody","someone","someplace","somersault","something","somewhere","son","sonar","sonata","song","songbird","sonnet","soot","sophomore","soprano","sorbet","sorghum","sorrel","sorrow","sort","soul","soulmate","sound","soundness","soup","source","sourwood","sousaphone","south","southeast","souvenir","sovereignty","sow","soy","soybean","space","spacing","spaghetti","span","spandex","sparerib","spark","sparrow","spasm","spat","spatula","spawn","speaker","speakerphone","speaking","spear","spec","special","specialist","specialty","species","specification","spectacle","spectacles","spectrograph","spectrum","speculation","speech","speed","speedboat","spell","spelling","spelt","spending","sphere","sphynx","spice","spider","spiderling","spike","spill","spinach","spine","spiral","spirit","spiritual","spirituality","spit","spite","spleen","splendor","split","spokesman","spokeswoman","sponge","sponsor","sponsorship","spool","spoon","spork","sport","sportsman","spot","spotlight","spouse","sprag","sprat","spray","spread","spreadsheet","spree","spring","sprinkles","sprinter","sprout","spruce","spud","spume","spur","spy","spyglass","square","squash","squatter","squeegee","squid","squirrel","stab","stability","stable","stack","stacking","stadium","staff","stag","stage","stain","stair","staircase","stake","stalk","stall","stallion","stamen","stamina","stamp","stance","stand","standard","standardisation","standardization","standing","standoff","standpoint","star","starboard","start","starter","state","statement","statin","station","station-wagon","statistic","statistics","statue","status","statute","stay","steak","stealth","steam","steamroller","steel","steeple","stem","stench","stencil","step","step-aunt","step-brother","step-daughter","step-father","step-grandfather","step-grandmother","step-mother","step-sister","step-son","step-uncle","stepdaughter","stepmother","stepping-stone","stepson","stereo","stew","steward","stick","sticker","stiletto","still","stimulation","stimulus","sting","stinger","stir-fry","stitch","stitcher","stock","stock-in-trade","stockings","stole","stomach","stone","stonework","stool","stop","stopsign","stopwatch","storage","store","storey","storm","story","story-telling","storyboard","stot","stove","strait","strand","stranger","strap","strategy","straw","strawberry","strawman","stream","street","streetcar","strength","stress","stretch","strife","strike","string","strip","stripe","strobe","structure","strudel","struggle","stucco","stud","student","studio","study","stuff","stumbling","stump","stupidity","sturgeon","sty","style","styling","stylus","sub","subcomponent","subconscious","subcontractor","subexpression","subgroup","subject","submarine","submitter","subprime","subroutine","subscription","subsection","subset","subsidence","subsidiary","subsidy","substance","substitution","subtitle","suburb","subway","success","succotash","suede","suet","suffocation","sugar","suggestion","suit","suitcase","suite","sulfur","sultan","sum","summary","summer","summit","sun","sunbeam","sunbonnet","sundae","sunday","sundial","sunflower","sunglasses","sunlamp","sunlight","sunrise","sunroom","sunset","sunshine","superiority","supermarket","supernatural","supervision","supervisor","supper","supplement","supplier","supply","support","supporter","suppression","supreme","surface","surfboard","surge","surgeon","surgery","surname","surplus","surprise","surround","surroundings","surrounds","survey","survival","survivor","sushi","suspect","suspenders","suspension","sustainment","sustenance","swamp","swan","swanling","swath","sweat","sweater","sweatshirt","sweatshop","sweatsuit","sweets","swell","swim","swimming","swimsuit","swine","swing","switch","switchboard","switching","swivel","sword","swordfight","swordfish","sycamore","symbol","symmetry","sympathy","symptom","syndicate","syndrome","synergy","synod","synonym","synthesis","syrup","system","t-shirt","tab","tabby","tabernacle","table","tablecloth","tablet","tabletop","tachometer","tackle","taco","tactics","tactile","tadpole","tag","tail","tailbud","tailor","tailspin","take-out","takeover","tale","talent","talk","talking","tam-o'-shanter","tamale","tambour","tambourine","tan","tandem","tangerine","tank","tank-top","tanker","tankful","tap","tape","tapioca","target","taro","tarragon","tart","task","tassel","taste","tatami","tattler","tattoo","tavern","tax","taxi","taxicab","taxpayer","tea","teacher","teaching","team","teammate","teapot","tear","tech","technician","technique","technologist","technology","tectonics","teen","teenager","teepee","telephone","telescreen","teletype","television","tell","teller","temp","temper","temperature","temple","tempo","temporariness","temporary","temptation","temptress","tenant","tendency","tender","tenement","tenet","tennis","tenor","tension","tensor","tent","tentacle","tenth","tepee","teriyaki","term","terminal","termination","terminology","termite","terrace","terracotta","terrapin","terrarium","territory","test","testament","testimonial","testimony","testing","text","textbook","textual","texture","thanks","thaw","theater","theft","theism","theme","theology","theory","therapist","therapy","thermals","thermometer","thermostat","thesis","thickness","thief","thigh","thing","thinking","thirst","thistle","thong","thongs","thorn","thought","thousand","thread","threat","threshold","thrift","thrill","throne","thrush","thumb","thump","thunder","thunderbolt","thunderhead","thunderstorm","thyme","tiara","tic","tick","ticket","tide","tie","tiger","tights","tile","till","tilt","timbale","timber","time","timeline","timeout","timer","timetable","timing","timpani","tin","tinderbox","tintype","tip","tire","tissue","titanium","title","toad","toast","toaster","tobacco","today","toe","toenail","toffee","tofu","tog","toga","toilet","tolerance","tolerant","toll","tom-tom","tomatillo","tomato","tomb","tomography","tomorrow","ton","tonality","tone","tongue","tonic","tonight","tool","toot","tooth","toothbrush","toothpaste","toothpick","top","top-hat","topic","topsail","toque","toreador","tornado","torso","torte","tortellini","tortilla","tortoise","total","tote","touch","tough-guy","tour","tourism","tourist","tournament","tow-truck","towel","tower","town","townhouse","township","toy","trace","trachoma","track","tracking","tracksuit","tract","tractor","trade","trader","trading","tradition","traditionalism","traffic","trafficker","tragedy","trail","trailer","trailpatrol","train","trainer","training","trait","tram","trance","transaction","transcript","transfer","transformation","transit","transition","translation","transmission","transom","transparency","transplantation","transport","transportation","trap","trapdoor","trapezium","trapezoid","trash","travel","traveler","tray","treasure","treasury","treat","treatment","treaty","tree","trek","trellis","tremor","trench","trend","triad","trial","triangle","tribe","tributary","trick","trigger","trigonometry","trillion","trim","trinket","trip","tripod","tritone","triumph","trolley","troop","trooper","trophy","trouble","trousers","trout","trove","trowel","truck","trumpet","trunk","trust","trustee","truth","try","tsunami","tub","tuba","tube","tuber","tug","tugboat","tuition","tulip","tumbler","tummy","tuna","tune","tune-up","tunic","tunnel","turban","turf","turkey","turmeric","turn","turning","turnip","turnover","turnstile","turret","turtle","tusk","tussle","tutu","tuxedo","tweet","tweezers","twig","twilight","twine","twins","twist","twister","twitter","type","typeface","typewriter","typhoon","ukulele","ultimatum","umbrella","unblinking","uncertainty","uncle","underclothes","underestimate","underground","underneath","underpants","underpass","undershirt","understanding","understatement","undertaker","underwear","underweight","underwire","underwriting","unemployment","unibody","uniform","uniformity","union","unique","unit","unity","universe","university","update","upgrade","uplift","upper","upstairs","upward","urge","urgency","urn","usage","use","user","usher","usual","utensil","utilisation","utility","utilization","vacation","vaccine","vacuum","vagrant","valance","valentine","validate","validity","valley","valuable","value","vampire","van","vanadyl","vane","vanilla","vanity","variability","variable","variant","variation","variety","vascular","vase","vault","vaulting","veal","vector","vegetable","vegetarian","vegetarianism","vegetation","vehicle","veil","vein","veldt","vellum","velocity","velodrome","velvet","vendor","veneer","vengeance","venison","venom","venti","venture","venue","veranda","verb","verdict","verification","vermicelli","vernacular","verse","version","vertigo","verve","vessel","vest","vestment","vet","veteran","veterinarian","veto","viability","vibraphone","vibration","vibrissae","vice","vicinity","victim","victory","video","view","viewer","vignette","villa","village","vine","vinegar","vineyard","vintage","vintner","vinyl","viola","violation","violence","violet","violin","virtue","virus","visa","viscose","vise","vision","visit","visitor","visor","vista","visual","vitality","vitamin","vitro","vivo","vogue","voice","void","vol","volatility","volcano","volleyball","volume","volunteer","volunteering","vote","voter","voting","voyage","vulture","wafer","waffle","wage","wagon","waist","waistband","wait","waiter","waiting","waitress","waiver","wake","walk","walker","walking","walkway","wall","wallaby","wallet","walnut","walrus","wampum","wannabe","want","war","warden","wardrobe","warfare","warlock","warlord","warm-up","warming","warmth","warning","warrant","warren","warrior","wasabi","wash","washbasin","washcloth","washer","washtub","wasp","waste","wastebasket","wasting","watch","watcher","watchmaker","water","waterbed","watercress","waterfall","waterfront","watermelon","waterskiing","waterspout","waterwheel","wave","waveform","wax","way","weakness","wealth","weapon","wear","weasel","weather","web","webinar","webmail","webpage","website","wedding","wedge","weeder","weedkiller","week","weekend","weekender","weight","weird","welcome","welfare","well","well-being","west","western","wet-bar","wetland","wetsuit","whack","whale","wharf","wheat","wheel","whelp","whey","whip","whirlpool","whirlwind","whisker","whisper","whistle","whole","wholesale","wholesaler","whorl","wick","widget","widow","width","wife","wifi","wild","wildebeest","wilderness","wildlife","will","willingness","willow","win","wind","wind-chime","windage","window","windscreen","windshield","winery","wing","wingman","wingtip","wink","winner","winter","wire","wiretap","wiring","wisdom","wiseguy","wish","wisteria","wit","witch","witch-hunt","withdrawal","witness","wok","wolf","woman","wombat","wonder","wont","wood","woodchuck","woodland","woodshed","woodwind","wool","woolens","word","wording","work","workbench","worker","workforce","workhorse","working","workout","workplace","workshop","world","worm","worry","worship","worshiper","worth","wound","wrap","wraparound","wrapper","wrapping","wreck","wrecker","wren","wrench","wrestler","wriggler","wrinkle","wrist","writer","writing","wrong","xylophone","yacht","yahoo","yak","yam","yang","yard","yarmulke","yarn","yawl","year","yeast","yellowjacket","yesterday","yew","yin","yoga","yogurt","yoke","yolk","young","youngster","yourself","youth","yoyo","yurt","zampone","zebra","zebrafish","zen","zephyr","zero","ziggurat","zinc","zipper","zither","zombie","zone","zoo","zoologist","zoology","zoot-suit","zucchini"],aPt=["a","abaft","aboard","about","above","absent","across","afore","after","against","along","alongside","amid","amidst","among","amongst","an","anenst","anti","apropos","apud","around","as","aside","astride","at","athwart","atop","barring","before","behind","below","beneath","beside","besides","between","beyond","but","by","circa","concerning","considering","despite","down","during","except","excepting","excluding","failing","following","for","forenenst","from","given","in","including","inside","into","lest","like","mid","midst","minus","modulo","near","next","notwithstanding","of","off","on","onto","opposite","out","outside","over","pace","past","per","plus","pro","qua","regarding","round","sans","save","since","than","the","through","throughout","till","times","to","toward","towards","under","underneath","unlike","until","unto","up","upon","versus","via","vice","with","within","without","worth"],lPt=["abandon","abase","abate","abbreviate","abdicate","abduct","abet","abhor","abide","abjure","abnegate","abolish","abominate","abort","abound","abrade","abridge","abrogate","abscond","abseil","absent","absolve","absorb","abstain","abstract","abut","accede","accelerate","accent","accentuate","accept","access","accessorise","accessorize","acclaim","acclimate","acclimatise","acclimatize","accommodate","accompany","accomplish","accord","accost","account","accouter","accoutre","accredit","accrue","acculturate","accumulate","accuse","accustom","ace","ache","achieve","acidify","acknowledge","acquaint","acquiesce","acquire","acquit","act","action","activate","actualise","actualize","actuate","adapt","add","addle","address","adduce","adhere","adjoin","adjourn","adjudge","adjudicate","adjure","adjust","administer","admire","admit","admonish","adopt","adore","adorn","adsorb","adulterate","adumbrate","advance","advantage","advertise","advise","advocate","aerate","affect","affiliate","affirm","affix","afflict","afford","afforest","affront","age","agglomerate","aggravate","aggregate","agitate","agonise","agonize","agree","aid","ail","aim","air","airbrush","airdrop","airfreight","airlift","alarm","alert","alienate","alight","align","allay","allege","alleviate","allocate","allot","allow","alloy","allude","ally","alphabetise","alphabetize","alter","alternate","amalgamate","amass","amaze","amble","ambush","ameliorate","amend","amortise","amortize","amount","amplify","amputate","amuse","anaesthetise","anaesthetize","analyse","anchor","anesthetize","anger","angle","anglicise","anglicize","animate","anneal","annex","annihilate","annotate","announce","annoy","annul","anodise","anodize","anoint","anonymise","anonymize","answer","antagonise","antagonize","antedate","anthologise","anthologize","anticipate","ape","apologise","apologize","apostrophise","apostrophize","appal","appall","appeal","appear","appease","append","appertain","applaud","apply","appoint","apportion","appraise","appreciate","apprehend","apprentice","apprise","approach","appropriate","approve","approximate","aquaplane","arbitrate","arc","arch","archive","argue","arise","arm","arraign","arrange","array","arrest","arrive","arrogate","art","articulate","ascend","ascertain","ascribe","ask","asphyxiate","aspirate","aspire","assail","assassinate","assault","assay","assemble","assent","assert","assess","assign","assimilate","assist","associate","assuage","assume","assure","asterisk","astonish","astound","atomise","atomize","atone","atrophy","attach","attack","attain","attempt","attend","attenuate","attest","attract","attribute","auction","audit","audition","augment","augur","authenticate","author","authorise","authorize","autograph","automate","autosave","autowind","avail","avenge","aver","average","avert","avoid","avow","await","awake","awaken","award","awe","ax","axe","baa","babble","baby","babysit","back","backcomb","backdate","backfill","backfire","backlight","backpack","backspace","backtrack","badger","baffle","bag","bail","bait","bake","balance","bale","ball","balloon","ballot","balls","bamboozle","ban","band","bandage","bandy","banish","bank","bankroll","bankrupt","banter","baptise","baptize","bar","barbecue","bare","bargain","barge","bark","barnstorm","barrack","barrel","barricade","barter","base","bash","bask","baste","bat","batch","bath","bathe","batten","batter","battle","baulk","bawl","bay","bayonet","be","beach","beam","bean","bear","beard","beat","beatbox","beatboxer","beatify","beautify","beckon","become","bedazzle","bedeck","bedevil","beef","beep","beetle","befall","befit","befog","befriend","beg","beget","beggar","begin","begrudge","beguile","behave","behold","behoove","behove","belabor","belabour","belay","belch","belie","believe","belittle","bellow","belly","bellyache","belong","belt","bemoan","bemuse","benchmark","bend","benefit","bequeath","berate","bereave","berth","beseech","beset","besiege","besmirch","bespatter","bespeak","best","bestir","bestow","bestride","bet","betake","betide","betoken","betray","better","bewail","beware","bewilder","bewitch","bias","bicker","bicycle","bid","bide","biff","bifurcate","big","bike","bilk","bill","billet","billow","bin","bind","binge","biodegrade","bird","bisect","bite","bitmap","bivouac","bivvy","blab","blabber","blacken","blackmail","blag","blame","blanch","blank","blanket","blare","blaspheme","blast","blather","blaze","blazon","bleach","bleat","bleed","bleep","blemish","blench","blend","bless","blight","blind","blindfold","blindfolded","blindside","blink","bliss","blister","blitz","bloat","block","blockade","blog","blood","bloom","bloop","blossom","blot","blow","blub","blubber","bludge","bludgeon","bluff","blunder","blunt","blur","blurt","blush","bluster","board","boast","bob","bobble","bode","bodge","bog","boggle","boil","bolster","bolt","bomb","bombard","bond","bonk","boo","boogie","book","bookmark","boom","boomerang","boost","boot","bootleg","bop","border","bore","born","borrow","boss","botch","bother","bottle","bottleful","bottom","bounce","bound","bow","bowdlerise","bowdlerize","bowl","bowlful","box","boycott","braai","brace","braces","bracket","brag","braid","brain","brainstorm","brainwash","braise","brake","branch","brand","brandish","brave","brawl","bray","brazen","breach","break","breakfast","breathalyse","breathalyze","breathe","breed","breeze","brew","bribe","brick","bridge","bridle","brief","brighten","brim","bring","bristle","broach","broadcast","broaden","broadside","broil","broker","brood","brook","browbeat","browse","bruise","bruit","brush","brutalise","brutalize","bubble","buck","bucket","bucketful","buckle","bud","buddy","budge","budget","buff","buffer","buffet","bug","build","bulge","bulk","bulldoze","bully","bum","bumble","bump","bunch","bundle","bungle","bunk","bunker","bunt","buoy","burble","burden","burgeon","burglarize","burgle","burn","burnish","burp","burrow","burst","bury","bus","bushwhack","busk","bust","bustle","busy","butcher","butt","butter","button","buttonhole","buttress","buy","buzz","buzzing","bypass","cable","cache","cackle","caddie","cadge","cage","cajole","cake","calcify","calculate","calibrate","call","calm","calve","camouflage","camp","campaign","can","canalise","canalize","cancel","cane","cannibalise","cannibalize","cannon","cannulate","canoe","canonise","canonize","canst","cant","canter","canvass","cap","caper","capitalise","capitalize","capitulate","capsize","captain","caption","captivate","capture","caramelise","caramelize","carbonise","carbonize","carburise","carburize","card","care","careen","career","caress","caricature","carjack","carol","carom","carouse","carp","carpet","carpool","carry","cart","cartwheel","carve","cascade","case","cash","cashier","casserole","cast","castigate","catalog","catalogue","catalyse","catalyze","catapult","catch","categorise","categorize","cater","caterwaul","catnap","caucus","caulk","cause","cauterise","cauterize","caution","cave","cavil","cavort","caw","cc","cease","cede","celebrate","cement","censor","censure","centralise","centralize","centre","certificate","certify","chafe","chaff","chain","chair","chalk","challenge","champ","champion","chance","change","channel","chant","chaperon","chaperone","char","characterise","characterize","charbroil","charge","chargesheet","chargrill","charm","chart","charter","chase","chasten","chastise","chat","chatter","chauffeur","cheapen","cheat","cheater","check","checkmate","cheek","cheep","cheer","cherish","chew","chicken","chide","chill","chillax","chime","chip","chirp","chisel","chivvy","chlorinate","choke","chomp","choose","chop","choreograph","chortle","chorus","christen","chromakey","chronicle","chuck","chuckle","chunder","chunter","churn","cinch","circle","circulate","circumnavigate","circumscribe","circumvent","cite","civilise","civilize","clack","claim","clam","clamber","clamor","clamour","clamp","clang","clank","clap","clarify","clash","clasp","class","classify","clatter","claw","clean","cleanse","clear","cleave","clench","clerk","click","climb","clinch","cling","clink","clinking","clip","cloak","clobber","clock","clog","clone","clonk","close","closet","clot","clothe","cloud","clout","clown","club","cluck","clue","clump","clunk","cluster","clutch","clutter","coach","coagulate","coalesce","coarsen","coast","coat","coax","cobble","cocoon","coddle","code","codify","coerce","coexist","cogitate","cohabit","cohere","coil","coin","coincide","collaborate","collapse","collar","collate","collect","collectivise","collectivize","collide","colligate","collocate","collude","colonise","colonize","colorize","colour","comb","combat","combine","combust","come","comfort","command","commandeer","commemorate","commence","commend","comment","commentate","commercialise","commercialize","commingle","commiserate","commission","commit","commune","communicate","commute","compact","compare","compartmentalise","compartmentalize","compel","compensate","compete","compile","complain","complement","complete","complicate","compliment","comply","comport","compose","compost","compound","comprehend","compress","comprise","compromise","compute","computerise","computerize","con","conceal","concede","conceive","concentrate","conceptualise","conceptualize","concern","concertina","conciliate","conclude","concoct","concrete","concur","concuss","condemn","condense","condescend","condition","condone","conduct","cone","confer","confess","confide","configure","confine","confirm","confiscate","conflate","conflict","conform","confound","confront","confuse","confute","congeal","congratulate","congregate","conjecture","conjoin","conjugate","conjure","conk","connect","connive","connote","conquer","conscientise","conscientize","conscript","consecrate","consent","conserve","consider","consign","consist","console","consolidate","consort","conspire","constitute","constrain","constrict","construct","construe","consult","consume","consummate","contact","contain","contaminate","contemplate","contend","content","contest","contextualise","contextualize","continue","contort","contract","contradict","contraindicate","contrast","contravene","contribute","contrive","control","controvert","convalesce","convene","converge","converse","convert","convey","convict","convince","convoke","convulse","coo","cook","cool","coop","cooperate","coordinate","cop","cope","coppice","copy","copyright","cordon","core","cork","corkscrew","corner","corral","correct","correlate","correspond","corrode","corrupt","coruscate","cosh","cosset","cost","cosy","cotton","couch","cough","counsel","count","countenance","counter","counteract","counterbalance","counterfeit","countermand","counterpoint","countersign","couple","courier","course","court","covenant","cover","covet","cow","cower","cozy","crackle","cradle","craft","cram","cramp","crane","crank","crate","crave","crawl","crayon","creak","creaking","cream","crease","create","credential","credit","creep","cremate","creolise","creolize","creosote","crest","crew","crib","crick","criminalise","criminalize","crimp","cringe","crinkle","cripple","crisp","criticise","criticize","critique","croak","crochet","crook","croon","crop","cross","crouch","crow","crowd","crown","cruise","crumble","crumple","crunch","crusade","crush","cry","crystallise","crystallize","cube","cuddle","cudgel","cue","cuff","cull","culminate","cultivate","culture","cup","curate","curb","curdle","cure","curl","curry","curse","curtail","curtain","curtsy","curve","cushion","cuss","customise","customize","cut","cwtch","cycle","dab","dabble","dally","dam","damage","damp","dampen","dance","dandle","dangle","dare","darken","darn","dart","dash","date","daub","daunt","dawdle","dawn","daydream","dazzle","deactivate","deaden","deadhead","deafen","deal","debar","debase","debate","debilitate","debit","debrief","debug","debunk","debut","decamp","decant","decay","deceive","decelerate","decentralise","decentralize","decide","decimalise","decimalize","decimate","decipher","deck","declaim","declare","declassify","decline","declutter","decode","decommission","decompose","decompress","deconsecrate","deconstruct","decontaminate","decontrol","decorate","decouple","decoy","decrease","decree","decriminalise","decriminalize","decry","decrypt","dedicate","deduce","deduct","deejay","deem","deepen","deface","defame","default","defeat","defect","defend","defer","defile","define","deflate","deflect","defog","defoliate","deforest","deform","defrag","defragment","defraud","defray","defrock","defrost","defuse","defy","degenerate","deglaze","degrade","degrease","dehumanise","dehumanize","dehydrate","deify","deign","delay","delegate","delete","deliberate","delight","delimit","delineate","deliquesce","deliver","delouse","delude","deluge","delve","demand","demarcate","demean","demerge","demilitarise","demilitarize","demineralise","demineralize","demist","demo","demob","demobilise","demobilize","democratise","democratize","demolish","demonise","demonize","demonstrate","demoralise","demoralize","demote","demotivate","demur","demystify","denationalise","denationalize","denigrate","denitrify","denominate","denote","denounce","dent","denude","deny","depart","depend","depersonalise","depersonalize","depict","deplane","deplete","deplore","deploy","depopulate","deport","depose","deposit","deprave","deprecate","depreciate","depress","depressurise","depressurize","deprive","depute","deputise","deputize","deracinate","derail","dereference","deregulate","deride","derive","derogate","descale","descend","describe","descry","desecrate","desegregate","deselect","desensitise","desensitize","desert","deserve","design","designate","desire","desist","deskill","desolate","despair","despise","despoil","destabilise","destabilize","destock","destroy","detach","detail","detain","detect","deter","deteriorate","determine","detest","dethrone","detonate","detour","detoxify","detract","detrain","devalue","devastate","develop","deviate","devise","devoice","devolve","devote","devour","diagnose","dial","dice","dicker","dictate","die","diet","differ","differentiate","diffract","diffuse","dig","digest","digitalise","digitalize","digitise","digitize","dignify","digress","dilate","dilute","diluted","dim","diminish","dimple","dine","ding","dip","diphthongise","diphthongize","direct","dirty","dis","disable","disabuse","disadvantage","disaffiliate","disafforest","disagree","disallow","disambiguate","disappear","disappoint","disapprove","disarm","disarrange","disassemble","disassociate","disavow","disband","disbar","disbelieve","disburse","discard","discern","discharge","discipline","disclaim","disclose","discolor","discolour","discomfit","discomfort","discompose","disconcert","disconnect","discontinue","discount","discourage","discourse","discover","discredit","discriminate","discuss","disdain","disembark","disembowel","disenfranchise","disengage","disentangle","disestablish","disgorge","disgrace","disguise","disgust","dish","dishearten","dishonor","dishonour","disillusion","disincentivise","disincentivize","disinfect","disinherit","disinhibit","disintegrate","disinter","disinvest","dislike","dislocate","dislodge","dismantle","dismay","dismember","dismiss","dismount","disobey","disorient","disorientate","disown","disparage","dispatch","dispel","dispense","disperse","displace","display","displease","disport","dispose","dispossess","disprove","dispute","disqualify","disregard","disrespect","disrobe","disrupt","dissect","dissemble","disseminate","dissent","dissimulate","dissipate","dissociate","dissolve","dissuade","distance","distend","distil","distill","distinguish","distort","distract","distress","distribute","distrust","disturb","disunite","ditch","dither","dive","diverge","diversify","divert","divest","divide","divine","divorce","divulge","divvy","do","dob","dock","doctor","document","dodge","doff","dog","dole","doll","dollarise","dollarize","domesticate","dominate","don","donate","doodle","doom","doorstep","dop","dope","dose","doss","dot","dote","double","doubt","douse","dovetail","down","downchange","downgrade","downlink","download","downplay","downshift","downsize","dowse","doze","draft","drag","dragoon","drain","dramatise","dramatize","drape","draught","draw","drawl","dread","dream","dredge","drench","dress","dribble","drift","drill","drink","drip","drive","drivel","drizzle","drone","drool","droop","drop","drown","drowse","drug","drum","dry","dub","duck","duckie","ducks","duel","duff","dull","dumb","dumbfound","dump","dunk","dunt","dupe","duplicate","dust","dwarf","dwell","dwindle","dye","dynamite","earmark","earn","earth","ease","eat","eavesdrop","ebb","echo","eclipse","economise","economize","eddy","edge","edify","edit","editorialise","editorialize","educate","efface","effect","effectuate","egg","eject","eke","elaborate","elapse","elbow","elect","electrify","electrocute","electroplate","elevate","elicit","elide","eliminate","elongate","elope","elucidate","elude","email","emanate","emancipate","embalm","embargo","embark","embarrass","embed","embellish","embezzle","embitter","emblazon","embody","embolden","emboss","embrace","embroider","embroil","emcee","emend","emerge","emigrate","emit","emote","empathise","empathize","emphasise","emphasize","employ","empower","empty","emulate","emulsify","enable","enact","encamp","encapsulate","encase","encash","enchant","encircle","enclose","encode","encompass","encounter","encourage","encroach","encrypt","encumber","end","endanger","endear","endeavor","endeavour","endorse","endow","endure","energise","energize","enervate","enfeeble","enfold","enforce","enfranchise","engage","engender","engineer","engorge","engrave","engross","engulf","enhance","enjoin","enjoy","enlarge","enlighten","enlist","enliven","enmesh","ennoble","enquire","enrage","enrapture","enrich","enrol","enroll","ensconce","enshrine","enshroud","ensnare","ensue","ensure","entail","entangle","enter","entertain","enthral","enthrall","enthrone","enthuse","entice","entitle","entomb","entrance","entrap","entreat","entrench","entrust","entwine","enumerate","enunciate","envelop","envisage","envision","envy","epitomise","epitomize","equal","equalise","equalize","equate","equip","equivocate","eradicate","erase","erode","err","erupt","escalate","escape","eschew","espouse","espy","essay","establish","esteem","estimate","etch","eulogise","eulogize","euthanise","euthanize","evacuate","evade","evaluate","evangelise","evangelize","evaporate","even","eventuate","evict","evidence","evince","eviscerate","evoke","evolve","exacerbate","exact","exaggerate","exalt","examine","exasperate","excavate","exceed","excel","except","excerpt","exchange","excise","excite","exclaim","exclude","excommunicate","excoriate","excrete","exculpate","excuse","execute","exemplify","exempt","exercise","exert","exeunt","exfoliate","exhale","exhaust","exhibit","exhilarate","exhort","exhume","exile","exist","exit","exonerate","exorcise","exorcize","expand","expatiate","expect","expectorate","expedite","expel","expend","experience","experiment","expiate","expire","explain","explicate","explode","exploit","explore","export","expose","expostulate","expound","express","expropriate","expunge","expurgate","extemporise","extemporize","extend","exterminate","externalise","externalize","extinguish","extirpate","extol","extort","extract","extradite","extrapolate","extricate","extrude","exude","exult","eye","eyeball","eyeglasses","fabricate","face","facilitate","factor","factorise","factorize","fade","faff","fail","faint","fake","fall","falsify","falter","familiarise","familiarize","fan","fancy","fantasise","fantasize","fare","farewell","farm","farrow","fascinate","fashion","fast","fasten","father","fathom","fatten","fault","favor","favour","fawn","fax","faze","fear","feast","feather","feature","federate","feed","feel","feign","feint","fell","feminise","feminize","fence","fend","ferment","ferret","ferry","fertilise","fertilize","fess","fester","festoon","fetch","fete","fetter","feud","fib","fictionalise","fictionalize","fiddle","fidget","field","fight","figure","filch","file","filibuster","fill","fillet","film","filter","finagle","finalise","finalize","finance","find","fine","finesse","fingerprint","finish","fire","firebomb","firm","fish","fishtail","fit","fix","fizz","fizzle","flag","flagellate","flail","flake","flame","flank","flap","flare","flash","flat","flatline","flatten","flatter","flaunt","flavour","flay","fleck","flee","fleece","flesh","flex","flick","flicker","flight","flinch","fling","flip","flirt","flit","float","flock","flog","flood","floodlight","floor","flop","floss","flounce","flounder","flour","flourish","flout","flow","flower","flub","fluctuate","fluff","flummox","flunk","flush","fluster","flutter","fly","foal","foam","fob","focalise","focalize","focus","fog","foil","foist","fold","follow","foment","fool","foot","forage","forbear","forbid","force","ford","forearm","forecast","foreclose","foregather","foreground","foresee","foreshadow","foreshorten","forestall","foretell","forewarn","forfeit","forfend","forgather","forge","forget","forgive","forgo","fork","form","formalise","formalize","format","formulate","forsake","forswear","fortify","forward","forwards","fossick","fossilise","fossilize","foster","foul","found","founder","fox","fracture","fragment","frame","franchise","frank","fraternise","fraternize","fray","freak","free","freelance","freeload","freestyle","freewheel","freeze","freight","frequent","freshen","fret","frighten","fringe","frisk","fritter","frizz","frizzle","frogmarch","frolic","front","frost","froth","frown","fruit","frustrate","fry","fudge","fuel","fulfil","fulfill","fulminate","fumble","fume","fumigate","function","fund","funk","funnel","furl","furlough","furnish","furrow","further","fuse","fuss","gab","gabble","gad","gag","gain","gainsay","gall","gallivant","gallop","galumph","galvanise","galvanize","gamble","gambol","gang","gape","garage","garden","gargle","garland","garner","garnish","garrison","garrote","garrotte","gas","gash","gasp","gatecrash","gather","gauge","gawk","gawp","gaze","gazump","gazunder","gear","gee","gel","geld","gen","generalise","generalize","generate","gentrify","genuflect","germinate","gerrymander","gestate","gesticulate","gesture","get","ghost","ghostwrite","gibber","gift","giggle","gild","ginger","gird","girdle","give","gladden","glamorise","glamorize","glance","glare","glass","glaze","gleam","glean","glide","glimmer","glimmering","glimpse","glint","glisten","glister","glitter","gloat","globalise","globalize","glom","glorify","glory","gloss","glow","glower","glue","glug","glut","gnash","gnaw","go","goad","gobble","goggle","goldbrick","goof","google","goose","gore","gorge","gossip","gouge","govern","grab","grace","grade","graduate","graft","grant","grapple","grasp","grass","grate","gratify","gravitate","graze","grease","green","greet","grey","grieve","grill","grimace","grin","grind","grip","gripe","grit","grizzle","groan","grok","groom","grouch","ground","group","grouse","grout","grovel","grow","growl","grub","grudge","grumble","grunt","guarantee","guard","guess","guest","guffaw","guide","guillotine","guilt","gulp","gum","gun","gurgle","gurn","gush","gussy","gust","gut","gutter","guzzle","gybe","gyrate","hack","haemorrhage","haggle","hail","hallmark","halloo","hallucinate","halt","halve","ham","hammer","hamper","hamstring","hand","handcuff","handicap","handle","hang","hanker","happen","harangue","harass","harbor","harbour","harden","hare","hark","harm","harmonise","harmonize","harness","harp","harpoon","harrow","harrumph","harry","harvest","hash","hassle","hasten","hatch","hate","haul","haunt","have","haw","hawk","hazard","haze","head","headbutt","headhunt","headline","heal","heap","hear","hearken","hearten","heat","heave","heckle","hector","hedge","heed","heel","heft","heighten","heist","help","hem","hemorrhage","herald","herd","hesitate","hew","hex","hibernate","hiccough","hiccup","hide","hie","highball","highlight","hightail","hijack","hike","hinder","hinge","hint","hire","hiss","hit","hitch","hitchhike","hive","hoard","hoax","hobble","hobnob","hock","hog","hoick","hoist","hold","hole","holiday","holler","hollow","holster","home","homeschool","homestead","hone","honeymoon","honk","honour","hoodwink","hoof","hook","hoon","hoot","hoover","hop","hope","horn","horrify","horse","horsewhip","hose","hosepipe","hospitalise","hospitalize","host","hot","hotfoot","hound","house","hover","howl","huddle","huff","hug","hull","hum","humanise","humanize","humble","humiliate","humour","hunch","hunger","hunker","hunt","hurdle","hurl","hurry","hurt","hurtle","husband","hush","husk","hustle","hybridise","hybridize","hydrate","hydroplane","hype","hyperventilate","hyphenate","hypnotise","hypnotize","hypothesise","hypothesize","ice","iconify","idealise","idealize","ideate","identify","idle","idolise","idolize","ignite","ignore","illuminate","illumine","illustrate","imagine","imagineer","imbibe","imbue","imitate","immerse","immigrate","immobilise","immobilize","immolate","immortalise","immortalize","immunise","immunize","immure","impact","impair","impale","impanel","impart","impeach","impede","impel","imperil","impersonate","impinge","implant","implement","implicate","implode","implore","imply","import","importune","impose","impound","impoverish","impress","imprint","imprison","improve","improvise","impugn","inactivate","inaugurate","incapacitate","incarcerate","incarnate","incense","incentivise","incentivize","inch","incinerate","incise","incite","incline","include","incommode","inconvenience","incorporate","increase","incriminate","incubate","inculcate","incur","indemnify","indent","index","indicate","indict","individualise","individualize","individuate","indoctrinate","induce","induct","indulge","industrialise","industrialize","infantilise","infantilize","infect","infer","infest","infill","infiltrate","inflame","inflate","inflect","inflict","influence","inform","infringe","infuriate","infuse","ingest","ingratiate","inhabit","inhale","inhere","inherit","inhibit","initial","initialise","initialize","initiate","inject","injure","ink","inlay","innovate","inoculate","input","inscribe","insert","inset","insinuate","insist","inspect","inspire","install","instance","instigate","instil","instill","institute","institutionalise","institutionalize","instruct","insulate","insult","insure","integrate","intend","intensify","inter","interact","intercede","intercept","interchange","interconnect","intercut","interest","interface","interfere","interject","interlace","interleave","interlink","interlock","intermarry","intermesh","intermingle","intermix","intern","internalise","internalize","internationalise","internationalize","interpenetrate","interpolate","interpose","interpret","interrelate","interrogate","interrupt","intersect","intersperse","intertwine","intervene","interview","interweave","interwork","intimate","intimidate","intone","intoxicate","intrigue","introduce","intrude","intubate","intuit","inundate","inure","invade","invalid","invalidate","inveigh","inveigle","invent","inventory","invert","invest","investigate","invigilate","invigorate","invite","invoice","invoke","involve","ionise","ionize","irk","iron","irradiate","irrigate","irritate","irrupt","isolate","issue","italicise","italicize","itch","itemise","itemize","iterate","jab","jabber","jack","jackknife","jail","jam","jangle","jar","jaw","jaywalk","jazz","jeer","jell","jeopardise","jeopardize","jest","jet","jettison","jib","jibe","jiggle","jilt","jingle","jink","jinx","jive","jockey","jog","joggle","join","joint","joke","jol","jolly","jolt","josh","jostle","jot","journey","joust","judder","judge","juggle","juice","jumble","jump","junk","justify","jut","juxtapose","keel","keelhaul","keen","keep","ken","key","keyboard","kibitz","kick","kid","kindle","kip","kiss","kit","kite","klap","kludge","knacker","knead","knee","kneecap","kneel","knife","knight","knit","knock","knot","know","knuckle","kowtow","kvetch","label","labour","lace","lacerate","lack","lacquer","ladder","ladle","lag","lam","lamb","lambast","lambaste","lament","lamp","lampoon","lance","land","lands","landscape","languish","lap","lapse","lard","large","lark","lash","lasso","last","latch","lather","laud","laugh","launch","launder","lavish","lay","layer","laze","leach","lead","leaf","leaflet","leak","lean","leap","leapfrog","learn","lease","leash","leave","leaven","lecture","leer","leg","legalise","legalize","legislate","legitimise","legitimize","lend","lengthen","lessen","let","letter","letterbox","level","lever","leverage","levitate","levy","liaise","libel","liberalise","liberalize","liberate","license","lick","lie","lift","ligate","light","lighten","like","liken","limber","lime","limit","limp","line","linger","link","lionise","lionize","liquefy","liquidate","liquidise","liquidize","lisp","list","listen","litigate","litter","live","liven","load","loads","loaf","loan","loathe","lob","lobby","lobotomise","lobotomize","localise","localize","locate","lock","lodge","loft","log","loiter","loll","lollop","long","look","looks","loom","loop","loose","loosen","loot","lop","lope","lord","lose","lounge","lour","louse","love","low","lowball","lower","lubricate","luck","lug","lull","lumber","lump","lunch","lunge","lurch","lure","lurk","luxuriate","macerate","machine","madden","magic","magnetise","magnetize","magnify","mail","maim","mainline","mainstream","maintain","major","make","malfunction","malign","malinger","maltreat","man","manacle","manage","mandate","mangle","manhandle","manicure","manifest","manipulate","manoeuvre","mantle","manufacture","manure","map","mar","march","marginalise","marginalize","marinate","mark","market","maroon","marry","marshal","martyr","marvel","masculinise","masculinize","mash","mask","masquerade","mass","massacre","massage","master","mastermind","masticate","match","materialise","materialize","matriculate","matter","mature","maul","maunder","max","maximise","maximize","mean","meander","measure","mechanise","mechanize","medal","meddle","mediate","medicate","meditate","meet","meld","mellow","melt","memorialise","memorialize","memorise","memorize","menace","mend","mention","meow","mercerise","mercerize","merchandise","merge","merit","mesh","mesmerise","mesmerize","mess","message","metabolise","metabolize","metamorphose","mete","meter","methinks","mew","mewl","miaow","microblog","microchip","micromanage","microwave","micturate","migrate","militarise","militarize","militate","milk","mill","mime","mimic","mince","mind","mine","mingle","miniaturise","miniaturize","minimise","minimize","minister","minor","mint","minute","mirror","misapply","misappropriate","misbehave","miscalculate","miscast","misconceive","misconstrue","miscount","misdiagnose","misdial","misdirect","misfile","misfire","misgovern","mishandle","mishear","mishit","misinform","misinterpret","misjudge","miskey","mislay","mislead","mismanage","mismatch","misname","misplace","misplay","mispronounce","misquote","misread","misreport","misrepresent","miss","mission","misspell","misspend","mist","mistake","mistime","mistreat","mistrust","misunderstand","misuse","mitigate","mitre","mix","moan","mob","mobilise","mobilize","mock","mod","model","moderate","modernise","modernize","modify","modulate","moisten","moisturise","moisturize","mold","molder","mollify","mollycoddle","molt","monitor","monopolise","monopolize","moo","mooch","moon","moonlight","moonwalk","moor","moot","mop","mope","moralise","moralize","morph","mortar","mortgage","mortify","mosey","mosh","mothball","mother","motion","motivate","motor","mould","moulder","moult","mount","mourn","mouse","mouth","move","movies","mow","muck","muddle","muddy","muffle","mug","mulch","mull","multicast","multiply","multitask","mumble","mumbling","mummify","munch","murmur","murmuring","murmurings","muscle","muse","mushroom","muss","muster","mutate","mute","mutilate","mutiny","mutter","muzzle","mystify","nab","nag","nail","name","namecheck","nap","narrate","narrow","narrowcast","nasalise","nasalize","nationalise","nationalize","natter","naturalise","naturalize","nauseate","navigate","near","nearer","nearest","neaten","necessitate","neck","necklace","need","needle","negate","negative","neglect","negotiate","neigh","nerve","nest","nestle","net","nettle","network","neuter","neutralise","neutralize","nibble","nick","nickname","nitrify","nix","nobble","nod","nominalize","nominate","norm","normalise","normalize","nose","nosedive","nosh","notarise","notarize","notch","note","notice","notify","nourish","nudge","nuke","nullify","numb","number","nurse","nurture","nut","nuzzle","obey","obfuscate","object","objectify","oblige","obliterate","obscure","observe","obsess","obstruct","obtain","obtrude","obviate","occasion","occlude","occupy","occur","off","offend","offer","officiate","offload","offset","offshore","ogle","oil","okay","omit","ooze","open","operate","opine","oppose","oppress","opt","optimise","optimize","option","orbit","orchestrate","ordain","order","organise","organize","orient","orientate","originate","ornament","orphan","oscillate","ossify","ostracise","ostracize","oust","out","outbid","outclass","outdistance","outdo","outface","outfit","outflank","outfox","outgrow","outgun","outlast","outlaw","outline","outlive","outmaneuver","outmanoeuvre","outnumber","outpace","outperform","outplay","outpoint","output","outrage","outrank","outrun","outsell","outshine","outsmart","outsource","outstay","outstrip","outvote","outweigh","outwit","overachieve","overact","overawe","overbalance","overbook","overburden","overcharge","overcome","overcompensate","overcook","overdevelop","overdo","overdose","overdraw","overdub","overeat","overemphasize","overestimate","overexpose","overextend","overfeed","overflow","overfly","overgeneralise","overgeneralize","overgraze","overhang","overhaul","overhear","overheat","overindulge","overlap","overlay","overlie","overload","overlook","overpay","overplay","overpower","overprint","overproduce","overrate","overreach","overreact","override","overrule","overrun","oversee","oversell","overshadow","overshoot","oversimplify","oversleep","overspend","overstate","overstay","overstep","overstock","overstretch","overtake","overtax","overthrow","overtrain","overturn","overuse","overvalue","overwhelm","overwinter","overwork","overwrite","owe","own","oxidise","oxidize","oxygenate","pace","pacify","pack","package","packetise","packetize","pad","paddle","padlock","page","paginate","pailful","pain","paint","pair","pal","palatalise","palatalize","pale","pall","palliate","palm","palpate","palpitate","pamper","pan","pander","panel","panhandle","panic","pant","paper","parachute","parade","parallel","paralyse","paralyze","paraphrase","parboil","parcel","parch","pardon","pare","park","parlay","parley","parody","parole","parrot","parry","parse","part","partake","participate","particularise","particularize","partition","partner","party","pass","passivise","passivize","paste","pasteurise","pasteurize","pasture","pat","patch","patent","patrol","patronise","patronize","patter","pattern","pause","pave","paw","pawn","pay","peak","peal","pedal","peddle","pedestrianise","pedestrianize","peek","peel","peep","peer","peg","pelt","pen","penalise","penalize","pencil","pension","people","pep","pepper","perambulate","perceive","perch","percolate","perfect","perforate","perform","perfume","perish","perjure","perk","perm","permeate","permit","perpetrate","perpetuate","perplex","persecute","persevere","persist","personalise","personalize","personify","perspire","persuade","pertain","perturb","peruse","pervade","pervert","pester","pet","peter","petition","petrify","phase","philosophise","philosophize","phone","photocopy","photograph","photoshop","photosynthesise","photosynthesize","phrase","pick","picket","pickle","picnic","picture","picturise","picturize","piddle","piece","pierce","pig","pigeonhole","piggyback","pike","pile","pilfer","pill","pillage","pillory","pillow","pilot","pin","pinch","pine","ping","pinion","pink","pinpoint","pioneer","pip","pipe","pique","pirate","pirouette","pit","pitch","pity","pivot","pixelate","pixellate","placate","place","plagiarise","plagiarize","plague","plait","plan","plane","plant","plaster","plasticise","plasticize","plate","plateau","play","plead","please","pledge","plight","plod","plonk","plop","plot","plough","pluck","plug","plumb","plummet","plump","plunder","plunge","plunk","pluralise","pluralize","ply","poach","pocket","point","poise","poison","poke","polarise","polarize","pole","poleax","poleaxe","police","polish","politicise","politicize","poll","pollard","pollinate","pollute","polymerise","polymerize","ponce","ponder","pong","pontificate","pony","pooh","pool","pootle","pop","popularise","popularize","populate","pore","port","portend","portion","portray","pose","posit","position","possess","posset","post","postmark","postpone","postulate","posture","pot","potter","pounce","pound","pour","pout","powder","power","practice","practise","praise","praises","prance","prang","prate","prattle","pray","preach","precede","precipitate","precis","preclude","predate","predecease","predetermine","predicate","predict","predispose","predominate","preen","preface","prefer","prefigure","prefix","preheat","prejudge","prejudice","preload","premaster","premiere","preoccupy","prep","prepare","prepone","preregister","presage","prescind","prescribe","preselect","presell","present","preserve","preset","preside","press","pressure","pressurise","pressurize","presume","presuppose","pretend","pretest","prettify","prevail","prevaricate","prevent","preview","prey","price","prickle","pride","prime","primp","print","prioritise","prioritize","prise","privatise","privatize","privilege","prize","probate","probe","proceed","process","proclaim","procrastinate","procreate","proctor","procure","prod","produce","profane","profess","professionalise","professionalize","proffer","profile","profit","program","programme","progress","prohibit","project","proliferate","prolong","promenade","promise","promote","prompt","promulgate","pronounce","proof","proofread","prop","propagandise","propagandize","propagate","propel","prophesy","propitiate","propose","proposition","propound","proscribe","prosecute","proselytise","proselytize","prospect","prosper","prostrate","protect","protest","protrude","prove","provide","provision","provoke","prowl","prune","pry","psych","psychoanalyse","publicise","publicize","publish","pucker","puff","pull","pullulate","pulp","pulsate","pulse","pulverise","pulverize","pummel","pump","pun","punch","punctuate","puncture","punish","punt","pupate","purchase","purge","purify","purl","purloin","purport","purr","purse","pursue","purvey","push","pussyfoot","put","putrefy","putt","putter","puzzle","quack","quadruple","quaff","quail","quake","qualify","quantify","quarantine","quarrel","quarry","quarter","quarterback","quash","quaver","quell","quench","query","quest","question","queue","quibble","quicken","quiet","quieten","quintuple","quip","quirk","quit","quiver","quiz","quote","quoth","rabbit","race","rack","radiate","radicalise","radicalize","radio","raffle","rag","rage","raid","rail","railroad","rain","raise","rake","rally","ram","ramble","ramp","rampage","randomise","randomize","range","rank","rankle","ransack","ransom","rant","rap","rappel","rasp","rasterise","rasterize","rat","ratchet","rate","ratify","ration","rationalise","rationalize","rattle","ravage","rave","ravel","ravish","raze","razz","reach","reacquaint","react","reactivate","read","readdress","readies","readjust","readmit","ready","reaffirm","realign","realise","realize","reallocate","ream","reanimate","reap","reappear","reapply","reappoint","reappraise","rear","rearm","rearrange","reason","reassemble","reassert","reassess","reassign","reassure","reawaken","rebel","reboot","reborn","rebound","rebrand","rebuff","rebuild","rebuke","rebut","recall","recant","recap","recapitulate","recapture","recast","recede","receive","recess","recharge","reciprocate","recite","reckon","reclaim","reclassify","recline","recognise","recognize","recoil","recollect","recommence","recommend","recompense","reconcile","recondition","reconfigure","reconfirm","reconnect","reconnoitre","reconquer","reconsider","reconstitute","reconstruct","reconvene","record","recount","recoup","recover","recreate","recrudesce","recruit","rectify","recuperate","recur","recycle","redact","redden","redecorate","redeem","redefine","redeploy","redesign","redevelop","redial","redirect","rediscover","redistribute","redistrict","redo","redouble","redound","redraft","redraw","redress","reduce","reduplicate","reef","reek","reel","ref","refer","referee","reference","refill","refinance","refine","refit","reflate","reflect","refloat","refocus","reform","reformat","reformulate","refract","refrain","refresh","refrigerate","refuel","refund","refurbish","refuse","refute","regain","regale","regard","regenerate","register","regress","regret","regroup","regularise","regularize","regulate","regurgitate","rehabilitate","rehash","rehear","rehearse","reheat","rehome","rehouse","reign","reignite","reimburse","rein","reincarnate","reinforce","reinstate","reinterpret","reintroduce","reinvent","reinvest","reinvigorate","reissue","reiterate","reject","rejig","rejigger","rejoice","rejoin","rejuvenate","rekindle","relapse","relate","relaunch","relax","relay","release","relegate","relent","relieve","relinquish","relish","relive","reload","relocate","rely","remain","remainder","remake","remand","remap","remark","remarry","remaster","remediate","remedy","remember","remind","reminisce","remit","remix","remodel","remonstrate","remortgage","remould","remount","remove","remunerate","rename","rend","render","rendezvous","renege","renew","renounce","renovate","rent","reoccur","reoffend","reopen","reorder","reorganise","reorganize","reorient","repackage","repair","repatriate","repay","repeal","repeat","repel","repent","rephrase","replace","replay","replenish","replicate","reply","report","repose","repossess","represent","repress","reprieve","reprimand","reprint","reproach","reprocess","reproduce","reprove","repudiate","repulse","repurpose","request","require","requisition","requite","rerun","reschedule","rescind","rescue","research","researches","resect","resell","resemble","resent","reserve","reset","resettle","reshape","reshuffle","reside","resign","resist","resit","resize","reskill","resolve","resonate","resort","resound","resource","respect","respire","respond","respray","rest","restart","restate","restock","restore","restrain","restrict","restring","restructure","result","resume","resupply","resurface","resurrect","resuscitate","retail","retain","retake","retaliate","retch","retell","retest","rethink","retire","retool","retort","retouch","retrace","retract","retrain","retreat","retrench","retrieve","retrofit","retry","return","reunify","reunite","reuse","rev","revalue","revamp","reveal","revel","revenge","reverberate","revere","reverse","revert","review","revile","revise","revisit","revitalise","revitalize","revive","revivify","revoke","revolt","revolutionise","revolutionize","revolve","reward","rewind","rewire","reword","rework","rewrite","rhapsodise","rhapsodize","rhyme","rib","rick","ricochet","rid","riddle","ride","ridge","ridicule","riffle","rifle","rig","right","rightsize","rile","rim","ring","rinse","riot","rip","ripen","riposte","ripple","rise","risk","ritualise","ritualize","rival","rivet","roam","roar","roast","rob","robe","rock","rocket","roger","roll","romance","romanticise","romanticize","romp","roof","room","roost","root","rope","rosin","roster","rot","rotate","rouge","rough","roughen","roughhouse","round","rouse","roust","rout","route","rove","row","rub","rubberneck","rubbish","ruck","rue","ruffle","ruin","ruins","rule","rumble","ruminate","rummage","rumor","rumour","rumple","run","rupture","rush","rust","rustle","sabotage","sack","sacrifice","sadden","saddle","safeguard","sag","sail","salaam","salivate","sally","salt","salute","salvage","salve","sample","sanctify","sanction","sand","sandbag","sandblast","sandpaper","sandwich","sanitise","sanitize","sap","sashay","sass","sate","satiate","satirise","satirize","satisfy","saturate","saunter","savage","save","savor","savour","saw","say","scald","scale","scallop","scalp","scamper","scan","scandalise","scandalize","scapegoat","scar","scare","scarf","scarify","scarper","scatter","scattering","scavenge","scent","schedule","schematise","schematize","scheme","schlep","schlepp","schmooze","school","schtup","schuss","scoff","scold","scoop","scoot","scope","scorch","score","scorn","scotch","scour","scourge","scout","scowl","scrabble","scram","scramble","scrap","scrape","scratch","scrawl","scream","screech","screen","screw","scribble","scrimp","script","scroll","scrounge","scrub","scrummage","scrunch","scruple","scrutinise","scrutinize","scud","scuff","scuffle","scull","sculpt","scupper","scurry","scuttle","scythe","seal","sealift","sear","search","season","seat","secede","seclude","second","secrete","section","secularise","secularize","secure","sedate","see","seed","seek","seep","seethe","segment","segregate","segue","seize","select","sell","sellotape","semaphore","send","sensationalise","sensationalize","sense","sensitise","sensitize","sentence","sentimentalise","sentimentalize","separate","sequence","sequester","sequestrate","serenade","serialise","serialize","sermonise","sermonize","serve","service","set","settle","sever","sew","shack","shackle","shade","shadow","shaft","shake","shalt","sham","shamble","shame","shampoo","shanghai","shape","share","sharpen","shatter","shave","shear","sheathe","shed","sheer","shell","shellac","shelter","shelve","shepherd","shield","shift","shimmer","shimmy","shin","shine","shinny","ship","shipwreck","shirk","shiver","shock","shoe","shoehorn","shoo","shoot","shop","shoplift","shore","short","shorten","shortlist","shoulder","shout","shove","shovel","show","showboat","showcase","shower","shred","shriek","shrill","shrink","shrivel","shroom","shroud","shrug","shuck","shudder","shuffle","shun","shunt","shush","shut","shuttle","shy","sic","sick","sicken","side","sideline","sidestep","sideswipe","sidetrack","sidle","sieve","sift","sigh","sight","sightsee","sign","signal","signify","signpost","silence","silhouette","silt","silver","simmer","simper","simplify","simulate","simulcast","sin","sing","singe","single","sink","sip","siphon","sire","sit","site","situate","size","sizzle","skate","skateboard","skedaddle","sketch","skew","skewer","ski","skid","skim","skimp","skin","skip","skipper","skirmish","skirt","skitter","skive","skivvy","skulk","sky","skyjack","skyrocket","slack","slacken","slake","slam","slander","slap","slash","slate","slather","sledge","sleek","sleep","sleepwalk","sleet","slew","slice","slick","slide","slight","slim","sling","slink","slip","slit","slither","slob","slobber","slog","slop","slope","slosh","slot","slouch","slough","slow","slug","sluice","slum","slumber","slump","slur","slurp","smart","smarten","smash","smear","smell","smelt","smile","smirk","smite","smoke","smooch","smoodge","smooth","smother","smoulder","smudge","smuggle","snack","snaffle","snag","snaggle","snake","snap","snare","snarf","snarl","sneak","sneer","sneeze","snicker","sniff","sniffle","snip","snipe","snitch","snivel","snooker","snoop","snooper","snooze","snore","snorkel","snort","snow","snowball","snowplough","snowplow","snub","snuffle","snuffling","snuggle","soak","soap","soar","sober","socialise","socialize","sock","sod","soften","soil","sojourn","solace","solder","soldier","sole","solemnise","solemnize","solicit","solidify","soliloquize","solve","somersault","soothe","sorrow","sort","sough","sound","soundproof","soup","sour","source","sow","space","span","spangle","spar","spare","spark","sparkle","spatter","spattering","spawn","spay","speak","spear","spearhead","spec","specialise","specialize","specify","spectacles","spectate","speculate","speed","spell","spellcheck","spend","spew","spice","spiff","spike","spill","spin","spiral","spirit","spit","spite","splash","splatter","splay","splice","splinter","split","splosh","splurge","splutter","spoil","sponge","sponsor","spoof","spook","spool","spoon","sport","sports","spot","spotlight","spout","sprain","sprawl","spray","spread","spring","springboard","sprinkle","sprint","spritz","sprout","spruce","spur","spurn","spurt","sputter","spy","squabble","squall","squander","square","squash","squat","squawk","squeak","squeal","squeeze","squelch","squint","squirm","squirrel","squirt","squish","stab","stabilise","stabilize","stable","stables","stack","staff","stage","stagger","stagnate","stain","stake","stalk","stall","stammer","stamp","stampede","stanch","stand","standardise","standardize","staple","star","starch","stare","start","startle","starve","stash","state","statement","station","staunch","stave","stay","steady","steal","steam","steamroller","steel","steep","steepen","steer","stem","stencil","step","stereotype","sterilise","sterilize","stew","stick","stickybeak","stiff","stiffen","stifle","stigmatise","stigmatize","still","stimulate","sting","stinger","stink","stint","stipple","stipulate","stir","stitch","stock","stockpile","stoke","stomach","stomp","stone","stonewall","stoop","stop","stopper","store","storm","storyboard","stow","straddle","strafe","straggle","straighten","strain","strand","strangle","strap","stratify","stravage","stravaig","stray","streak","stream","streamline","strengthen","stress","stretch","stretcher","strew","stride","strike","string","strip","strive","stroll","structure","struggle","strum","strut","stub","stud","study","stuff","stultify","stumble","stump","stun","stunt","stupefy","stutter","style","stymie","sub","subcontract","subdivide","subdue","subedit","subject","sublet","sublimate","submerge","submit","subordinate","suborn","subpoena","subscribe","subside","subsidise","subsidize","subsist","substantiate","substitute","subsume","subtend","subtitle","subtract","subvert","succeed","succor","succour","succumb","suckle","suction","sue","suffer","suffice","suffocate","suffuse","sugar","suggest","suit","sulk","sulks","sully","sum","summarise","summarize","summon","summons","sun","sunbathe","sunder","sunset","sup","superimpose","superintend","superpose","supersede","supersize","supersized","supervene","supervise","supplant","supplement","supply","support","suppose","suppress","suppurate","surcharge","surf","surface","surge","surmise","surmount","surpass","surprise","surrender","surround","survey","survive","suspect","suspend","suspenders","suss","sustain","suture","swab","swaddle","swagger","swamp","swan","swank","swap","swarm","swat","swath","swathe","sway","swear","sweat","sweep","sweeps","sweeten","swell","swelter","swerve","swig","swill","swim","swindle","swing","swipe","swirl","swish","switch","swivel","swoon","swoop","swoosh","swot","symbolise","symbolize","sympathise","sympathize","symptomize","synchronise","synchronize","syndicate","synthesise","synthesize","syringe","systematise","systematize","tab","table","tabulate","tack","tackle","tag","tail","tailgate","tailor","taint","take","talk","tally","tame","tamp","tamper","tan","tangle","tango","tank","tankful","tantalise","tantalize","tap","tape","taper","tar","target","tarmac","tarnish","tarry","tart","task","taste","tattle","tattoo","taunt","tauten","tax","taxi","taxicab","teach","team","tear","tease","tee","teem","teeter","teethe","telecast","telecommute","teleconference","telegraph","telemeter","teleoperate","telephone","teleport","telescope","televise","telex","tell","telnet","temp","temper","temporise","temporize","tempt","tenant","tend","tender","tenderise","tenderize","tense","tension","tergiversate","term","terminate","terraform","terrify","terrorise","terrorize","test","testify","tether","text","thank","thatch","thaw","theorise","theorize","thicken","thin","think","thirst","thrash","thread","threaten","thresh","thrill","thrive","throb","throbbing","throng","throttle","throw","thud","thumb","thump","thunder","thwack","thwart","tick","ticket","tickle","tide","tidy","tie","tighten","tile","till","tilt","time","timetable","tinge","tingle","tingling","tinker","tinkling","tint","tip","tippex","tipple","tiptoe","tire","titillate","titivate","title","titrate","titter","toady","toast","toboggan","toddle","toe","tog","toggle","toil","tolerate","toll","tone","tongue","tonify","tool","toot","tootle","top","topple","torch","torment","torpedo","toss","tot","total","tote","totter","touch","tough","toughen","tour","tousle","tout","tow","towel","tower","toy","trace","track","trade","traduce","traffic","trail","train","traipse","trammel","trample","trampoline","tranquilize","tranquillize","transact","transcend","transcribe","transfer","transfigure","transfix","transform","transfuse","transgress","transit","translate","transliterate","transmit","transmogrify","transmute","transpire","transplant","transport","transpose","trap","trash","traumatise","traumatize","travel","traverse","trawl","tread","treasure","treat","treble","trek","tremble","trembling","trepan","trespass","trial","trick","trickle","trifle","trigger","trill","trim","trip","triple","triumph","trivialise","trivialize","troll","tromp","troop","trot","trouble","troubleshoot","trounce","trouser","truant","truck","trudge","trump","trumpet","truncate","trundle","truss","trust","try","tuck","tug","tugboat","tumble","tune","tunnel","turbocharge","turf","turn","tussle","tut","tutor","twang","tweak","tweet","twiddle","twig","twin","twine","twinkle","twirl","twist","twitch","twitter","twittering","type","typecast","typeset","typify","tyrannise","tyrannize","ulcerate","ululate","ump","umpire","unbalance","unban","unbend","unblock","unbuckle","unburden","unbutton","uncoil","uncork","uncouple","uncover","uncurl","undelete","underachieve","underbid","undercharge","undercook","undercut","underestimate","underestimation","underexpose","undergo","underlie","underline","undermine","underpay","underperform","underpin","underplay","underrate","underscore","undersell","undershoot","underspend","understand","understate","understudy","undertake","undervalue","underwrite","undo","undock","undress","undulate","unearth","unfasten","unfold","unfreeze","unfurl","unhand","unhinge","unhitch","unhook","unify","uninstall","unionise","unionize","unite","unlace","unlearn","unleash","unload","unlock","unloose","unloosen","unmask","unnerve","unpack","unpick","unplug","unravel","unroll","unsaddle","unscramble","unscrew","unseat","unsettle","unsubscribe","untangle","untie","unveil","unwind","unwrap","unzip","up","upbraid","upchange","upchuck","update","upend","upgrade","uphold","upholster","uplift","upload","uproot","upsell","upset","upshift","upskill","upstage","urge","use","usher","usurp","utilise","utilize","utter","vacate","vacation","vaccinate","vacillate","vacuum","valet","validate","value","vamoose","vandalise","vandalize","vanish","vanquish","vaporise","vaporize","varnish","vary","vault","veer","veg","vegetate","veil","vend","veneer","venerate","vent","ventilate","venture","verbalise","verbalize","verge","verify","versify","vest","vet","veto","vex","vibrate","victimise","victimize","vide","video","videotape","vie","view","viewing","vilify","vindicate","violate","visit","visualise","visualize","vitiate","vitrify","vocalize","voice","void","volley","volumise","volumize","volunteer","vote","vouch","vouchsafe","vow","voyage","vulgarise","vulgarize","waddle","wade","waffle","waft","wag","wage","wager","waggle","wail","wait","waive","wake","wakeboard","waken","walk","wall","wallop","wallow","wallpaper","waltz","wander","wane","wangle","want","warble","ward","warm","warn","warp","warrant","wash","wassail","waste","watch","water","waterproof","waterski","wave","waver","wax","waylay","weaken","wean","weaponise","weaponize","wear","weary","weasel","weather","weatherise","weatherize","weave","wed","wedge","weekend","weep","weigh","weight","weird","welch","welcome","weld","well","welly","wend","westernise","westernize","wet","whack","wheedle","wheel","wheeze","whelp","whet","whiff","while","whilst","whimper","whine","whinge","whinny","whip","whirl","whirr","whirring","whisk","whisper","whispering","whistle","whiten","whitewash","whittle","whoop","whoosh","whup","wick","widen","widow","wield","wig","wiggle","wildcat","will","wilt","wimp","win","wince","winch","wind","winds","windsurf","wine","wing","wink","winkle","winnow","winter","wipe","wire","wiretap","wise","wisecrack","wish","withdraw","wither","withhold","withstand","witness","witter","wobble","wolf","wonder","woo","woof","word","work","worm","worry","worsen","worship","worst","wound","wow","wowee","wrangle","wrap","wreak","wreathe","wreck","wrench","wrest","wrestle","wriggle","wring","wrinkle","writ","write","writhe","wrong","wrought","xerox","yack","yak","yap","yaw","yawn","yearn","yell","yellow","yelp","yield","yodel","yoke","yomp","yowl","yuppify","zap","zero","zigzag","zing","zip","zone","zoom"],uPt={adjective:nPt,adverb:iPt,conjunction:rPt,interjection:oPt,noun:sPt,preposition:aPt,verb:lPt},cPt=uPt,dPt={airline:vGt,animal:WGt,app:XGt,cell_phone:BGt,color:YGt,commerce:QGt,company:aXt,database:cXt,date:fXt,finance:DXt,hacker:WXt,internet:XXt,location:s4t,lorem:u4t,metadata:d4t,music:g4t,person:V4t,phone_number:X4t,science:z4t,team:K4t,vehicle:tPt,word:cPt},hPt=dPt,mPt=Object.defineProperty,fPt=(n,e,t)=>e in n?mPt(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,_i=(n,e,t)=>(fPt(n,typeof e!="symbol"?e+"":e,t),t),ti=class extends Error{};function gPt(n){let e=Object.getPrototypeOf(n);do{for(let t of Object.getOwnPropertyNames(e))typeof n[t]=="function"&&t!=="constructor"&&(n[t]=n[t].bind(n));e=Object.getPrototypeOf(e)}while(e!==Object.prototype)}var Kx=class{constructor(e){this.faker=e,gPt(this)}},Vs=class extends Kx{constructor(e){super(e),this.faker=e}},gDe=(n=>(n.Narrowbody="narrowbody",n.Regional="regional",n.Widebody="widebody",n))(gDe||{}),pPt=["0","1","2","3","4","5","6","7","8","9"],bPt=["0","O","1","I","L"],vPt={regional:20,narrowbody:35,widebody:60},yPt={regional:["A","B","C","D"],narrowbody:["A","B","C","D","E","F"],widebody:["A","B","C","D","E","F","G","H","J","K"]},CPt=class extends Vs{airport(){return this.faker.helpers.arrayElement(this.faker.definitions.airline.airport)}airline(){return this.faker.helpers.arrayElement(this.faker.definitions.airline.airline)}airplane(){return this.faker.helpers.arrayElement(this.faker.definitions.airline.airplane)}recordLocator(e={}){let{allowNumerics:t=!1,allowVisuallySimilarCharacters:i=!1}=e,r=[];return t||r.push(...pPt),i||r.push(...bPt),this.faker.string.alphanumeric({length:6,casing:"upper",exclude:r})}seat(e={}){let{aircraftType:t="narrowbody"}=e,i=vPt[t],r=yPt[t],o=this.faker.number.int({min:1,max:i}),s=this.faker.helpers.arrayElement(r);return`${o}${s}`}aircraftType(){return this.faker.helpers.enumValue(gDe)}flightNumber(e={}){let{length:t={min:1,max:4},addLeadingZeros:i=!1}=e,r=this.faker.string.numeric({length:t,allowLeadingZeros:!1});return i?r.padStart(4,"0"):r}},pDe=(n=>(n.SRGB="sRGB",n.DisplayP3="display-p3",n.REC2020="rec2020",n.A98RGB="a98-rgb",n.ProphotoRGB="prophoto-rgb",n))(pDe||{}),bDe=(n=>(n.RGB="rgb",n.RGBA="rgba",n.HSL="hsl",n.HSLA="hsla",n.HWB="hwb",n.CMYK="cmyk",n.LAB="lab",n.LCH="lch",n.COLOR="color",n))(bDe||{});function wPt(n,e){let{prefix:t,casing:i}=e;switch(i){case"upper":n=n.toUpperCase();break;case"lower":n=n.toLowerCase();break}return t&&(n=t+n),n}function vDe(n){return n.map(e=>{if(e%1!==0){let t=new ArrayBuffer(4);new DataView(t).setFloat32(0,e);let i=new Uint8Array(t);return vDe([...i]).replace(/ /g,"")}return(e>>>0).toString(2).padStart(8,"0")}).join(" ")}function SPt(n,e="rgb",t="sRGB"){let i=r=>Math.round(r*100);switch(e){case"rgba":return`rgba(${n[0]}, ${n[1]}, ${n[2]}, ${n[3]})`;case"color":return`color(${t} ${n[0]} ${n[1]} ${n[2]})`;case"cmyk":return`cmyk(${i(n[0])}%, ${i(n[1])}%, ${i(n[2])}%, ${i(n[3])}%)`;case"hsl":return`hsl(${n[0]}deg ${i(n[1])}% ${i(n[2])}%)`;case"hsla":return`hsl(${n[0]}deg ${i(n[1])}% ${i(n[2])}% / ${i(n[3])})`;case"hwb":return`hwb(${n[0]} ${i(n[1])}% ${i(n[2])}%)`;case"lab":return`lab(${i(n[0])}% ${n[1]} ${n[2]})`;case"lch":return`lch(${i(n[0])}% ${n[1]} ${n[2]})`;case"rgb":default:return`rgb(${n[0]}, ${n[1]}, ${n[2]})`}}function _C(n,e,t="rgb",i="sRGB"){switch(e){case"css":return SPt(n,t,i);case"binary":return vDe(n);case"decimal":default:return n}}var xPt=class extends Vs{human(){return this.faker.helpers.arrayElement(this.faker.definitions.color.human)}space(){return this.faker.helpers.arrayElement(this.faker.definitions.color.space)}cssSupportedFunction(){return this.faker.helpers.enumValue(bDe)}cssSupportedSpace(){return this.faker.helpers.enumValue(pDe)}rgb(e={}){let{format:t="hex",includeAlpha:i=!1,prefix:r="#",casing:o="lower"}=e,s,a="rgb";return t==="hex"?(s=this.faker.string.hexadecimal({length:i?8:6,prefix:""}),s=wPt(s,{prefix:r,casing:o}),s):(s=Array.from({length:3},()=>this.faker.number.int(255)),i&&(s.push(this.faker.number.float({multipleOf:.01})),a="rgba"),_C(s,t,a))}cmyk(e){let t=Array.from({length:4},()=>this.faker.number.float({multipleOf:.01}));return _C(t,(e==null?void 0:e.format)||"decimal","cmyk")}hsl(e){let t=[this.faker.number.int(360)];for(let i=0;i<(e!=null&&e.includeAlpha?3:2);i++)t.push(this.faker.number.float({multipleOf:.01}));return _C(t,(e==null?void 0:e.format)||"decimal",e!=null&&e.includeAlpha?"hsla":"hsl")}hwb(e){let t=[this.faker.number.int(360)];for(let i=0;i<2;i++)t.push(this.faker.number.float({multipleOf:.01}));return _C(t,(e==null?void 0:e.format)||"decimal","hwb")}lab(e){let t=[this.faker.number.float({multipleOf:1e-6})];for(let i=0;i<2;i++)t.push(this.faker.number.float({min:-100,max:100,multipleOf:1e-4}));return _C(t,(e==null?void 0:e.format)||"decimal","lab")}lch(e){let t=[this.faker.number.float({multipleOf:1e-6})];for(let i=0;i<2;i++)t.push(this.faker.number.float({max:230,multipleOf:.1}));return _C(t,(e==null?void 0:e.format)||"decimal","lch")}colorByCSSColorSpace(e){(e==null?void 0:e.format)==="css"&&!(e!=null&&e.space)&&(e={...e,space:"sRGB"});let t=Array.from({length:3},()=>this.faker.number.float({multipleOf:1e-4}));return _C(t,(e==null?void 0:e.format)||"decimal","color",e==null?void 0:e.space)}},nG=()=>{throw new ti("You cannot edit the locale data on the faker instance")};function LPt(n){let e={};return new Proxy(n,{has(){return!0},get(t,i){return typeof i=="symbol"||i==="nodeType"?t[i]:i in e?e[i]:e[i]=_Pt(i,t[i])},set:nG,deleteProperty:nG})}function iG(n,...e){if(n===null)throw new ti(`The locale data for '${e.join(".")}' aren't applicable to this locale. +`}};W$=w1([Ws(0,Pn)],W$);class q3t{publicLog2(){}}class zM{constructor(){const e=en.from({scheme:zM.SCHEME,authority:"model",path:"/"});this.workspace={id:Lwe,folders:[new gIt({uri:e,name:"",index:0})]}}getWorkspace(){return this.workspace}getWorkspaceFolder(e){return e&&e.scheme===zM.SCHEME?this.workspace.folders[0]:null}}zM.SCHEME="inmemory";function QV(n,e,t){if(!e||!(n instanceof BFe))return;const i=[];Object.keys(e).forEach(r=>{ZIt(r)&&i.push([`editor.${r}`,e[r]]),t&&WIt(r)&&i.push([`diffEditor.${r}`,e[r]])}),i.length>0&&n.updateValues(i)}let A$=class{constructor(e){this._modelService=e}hasPreviewHandler(){return!1}async apply(e,t){const i=Array.isArray(e)?e:qU.convert(e),r=new Map;for(const a of i){if(!(a instanceof k0))throw new Error("bad edit - only text edits are supported");const l=this._modelService.getModel(a.resource);if(!l)throw new Error("bad edit - model not found");if(typeof a.versionId=="number"&&l.getVersionId()!==a.versionId)throw new Error("bad state - model changed in the meantime");let u=r.get(l);u||(u=[],r.set(l,u)),u.push(vr.replaceMove(J.lift(a.textEdit.range),a.textEdit.text))}let o=0,s=0;for(const[a,l]of r)a.pushStackElement(),a.pushEditOperations([],l,()=>[]),a.pushStackElement(),s+=1,o+=l.length;return{ariaSummary:pw(XQ.bulkEditServiceSummary,o,s),isApplied:o>0}}};A$=w1([Ws(0,wr)],A$);class eAt{getUriLabel(e,t){return e.scheme==="file"?e.fsPath:e.path}getUriBasenameLabel(e){return zc(e)}}let V$=class extends yWt{constructor(e,t){super(e),this._codeEditorService=t}showContextView(e,t,i){if(!t){const r=this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor();r&&(t=r.getContainerDomNode())}return super.showContextView(e,t,i)}};V$=w1([Ws(0,p1),Ws(1,yi)],V$);class tAt{constructor(){this._neverEmitter=new be,this.onDidChangeTrust=this._neverEmitter.event}isWorkspaceTrusted(){return!0}}class nAt extends TM{constructor(){super()}}class iAt extends U3t{constructor(){super(new agt)}}let G$=class extends i${constructor(e,t,i,r,o,s){super(e,t,i,r,o,s),this.configure({blockMouse:!1})}};G$=w1([Ws(0,Rl),Ws(1,Mo),Ws(2,pp),Ws(3,Oi),Ws(4,Gu),Ws(5,ln)],G$);class rAt{async playSignal(e,t){}}qn(Pn,BFe,0),qn(DJ,Z$,0),qn(M2e,W$,0),qn(Wv,zM,0),qn(ex,eAt,0),qn(Rl,q3t,0),qn(MQ,Q3t,0),qn(NK,j3t,0),qn(Mo,BM,0),qn(Ff,S1,0),qn(br,nAt,0),qn(Bd,D3t,0),qn(tl,iAt,0),qn(wr,AV,0),qn(s6,u$,0),qn(ln,T$,0),qn(twe,J3t,0),qn(N0,jV,0),qn(Sf,SLt,0),qn(Kc,NJ,0),qn(tN,A$,0),qn(fIe,tAt,0),qn(kl,E$,0),qn(Wc,I$,0),qn($c,FNt,0),qn(Xr,R$,0),qn(Oi,Ux,0),qn(Vv,S$,0),qn(pp,V$,0),qn(Bl,l$,0),qn(gp,KV,0),qn(fu,G$,0),qn(Gu,F$,0),qn(L0,rAt,0);var an;(function(n){const e=new DD;for(const[l,u]of F1e())e.set(l,u);const t=new JV(e,!0);e.set($t,t);function i(l){r||s({});const u=e.get(l);if(!u)throw new Error("Missing service "+l);return u instanceof Km?t.invokeFunction(c=>c.get(l)):u}n.get=i;let r=!1;const o=new be;function s(l){if(r)return t;r=!0;for(const[c,d]of F1e())e.get(c)||e.set(c,d);for(const c in l)if(l.hasOwnProperty(c)){const d=Un(c);e.get(d)instanceof Km&&e.set(d,l[c])}const u=tDt();for(const c of u)try{t.createInstance(c)}catch(d){yn(d)}return o.fire(),t}n.initialize=s;function a(l){if(r)return l();const u=new Je,c=u.add(o.event(()=>{c.dispose(),u.add(l())}));return u}n.withServices=a})(an||(an={}));var X$=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},Cr=function(n,e){return function(t,i){e(t,i,n)}};let oAt=0,zFe=!1;function sAt(n){if(!n){if(zFe)return;zFe=!0}Xft(n||Zi.document.body)}let $V=class extends S2{constructor(e,t,i,r,o,s,a,l,u,c,d,h){const m={...t};m.ariaLabel=m.ariaLabel||CV.editorViewAccessibleLabel,m.ariaLabel=m.ariaLabel+";"+CV.accessibilityHelpMessage,super(e,m,{},i,r,o,s,l,u,c,d,h),a instanceof Ux?this._standaloneKeybindingService=a:this._standaloneKeybindingService=null,sAt(m.ariaContainerElement),m2t((f,g)=>i.createInstance(jD,f,g,{}))}addCommand(e,t,i){if(!this._standaloneKeybindingService)return null;const r="DYNAMIC_"+ ++oAt,o=Oe.deserialize(i);return this._standaloneKeybindingService.addDynamicKeybinding(r,e,t,o),r}createContextKey(e,t){return this._contextKeyService.createKey(e,t)}addAction(e){if(typeof e.id!="string"||typeof e.label!="string"||typeof e.run!="function")throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");if(!this._standaloneKeybindingService)return Fe.None;const t=e.id,i=e.label,r=Oe.and(Oe.equals("editorId",this.getId()),Oe.deserialize(e.precondition)),o=e.keybindings,s=Oe.and(r,Oe.deserialize(e.keybindingContext)),a=e.contextMenuGroupId||null,l=e.contextMenuOrder||0,u=(m,...f)=>Promise.resolve(e.run(this,...f)),c=new Je,d=this.getId()+":"+t;if(c.add($n.registerCommand(d,u)),a){const m={command:{id:d,title:i},when:r,group:a,order:l};c.add(ss.appendMenuItem(Q.EditorContext,m))}if(Array.isArray(o))for(const m of o)c.add(this._standaloneKeybindingService.addDynamicKeybinding(d,m,u,s));const h=new xve(d,i,i,void 0,r,(...m)=>Promise.resolve(e.run(this,...m)),this._contextKeyService);return this._actions.set(t,h),c.add(jt(()=>{this._actions.delete(t)})),c}_triggerCommand(e,t){if(this._codeEditorService instanceof xV)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(e,t)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(e,t)}};$V=X$([Cr(2,$t),Cr(3,yi),Cr(4,Xr),Cr(5,ln),Cr(6,Oi),Cr(7,jo),Cr(8,Mo),Cr(9,Wc),Cr(10,er),Cr(11,Rt)],$V);let P$=class extends $V{constructor(e,t,i,r,o,s,a,l,u,c,d,h,m,f,g){const b={...t};QV(c,b,!1);const y=l.registerEditorContainer(e);typeof b.theme=="string"&&l.setTheme(b.theme),typeof b.autoDetectHighContrast<"u"&&l.setAutoDetectHighContrast(!!b.autoDetectHighContrast);const C=b.model;delete b.model,super(e,b,i,r,o,s,a,l,u,d,f,g),this._configurationService=c,this._standaloneThemeService=l,this._register(y);let w;if(typeof C>"u"){const x=m.getLanguageIdByMimeType(b.language)||b.language||Pu;w=HFe(h,m,b.value||"",x,void 0),this._ownsModel=!0}else w=C,this._ownsModel=!1;if(this._attachModel(w),w){const x={oldModelUrl:null,newModelUrl:w.uri};this._onDidChangeModel.fire(x)}}dispose(){super.dispose()}updateOptions(e){QV(this._configurationService,e,!1),typeof e.theme=="string"&&this._standaloneThemeService.setTheme(e.theme),typeof e.autoDetectHighContrast<"u"&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_postDetachModelCleanup(e){super._postDetachModelCleanup(e),e&&this._ownsModel&&(e.dispose(),this._ownsModel=!1)}};P$=X$([Cr(2,$t),Cr(3,yi),Cr(4,Xr),Cr(5,ln),Cr(6,Oi),Cr(7,Bd),Cr(8,Mo),Cr(9,Pn),Cr(10,Wc),Cr(11,wr),Cr(12,br),Cr(13,er),Cr(14,Rt)],P$);let O$=class extends vp{constructor(e,t,i,r,o,s,a,l,u,c,d,h){const m={...t};QV(l,m,!0);const f=s.registerEditorContainer(e);typeof m.theme=="string"&&s.setTheme(m.theme),typeof m.autoDetectHighContrast<"u"&&s.setAutoDetectHighContrast(!!m.autoDetectHighContrast),super(e,m,{},r,i,o,h,c),this._configurationService=l,this._standaloneThemeService=s,this._register(f)}dispose(){super.dispose()}updateOptions(e){QV(this._configurationService,e,!0),typeof e.theme=="string"&&this._standaloneThemeService.setTheme(e.theme),typeof e.autoDetectHighContrast<"u"&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_createInnerEditor(e,t,i){return e.createInstance($V,t,i)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(e,t,i){return this.getModifiedEditor().addCommand(e,t,i)}createContextKey(e,t){return this.getModifiedEditor().createContextKey(e,t)}addAction(e){return this.getModifiedEditor().addAction(e)}};O$=X$([Cr(2,$t),Cr(3,ln),Cr(4,yi),Cr(5,Bd),Cr(6,Mo),Cr(7,Pn),Cr(8,fu),Cr(9,N0),Cr(10,gp),Cr(11,L0)],O$);function HFe(n,e,t,i,r){if(t=t||"",!i){const o=t.indexOf(` +`);let s=t;return o!==-1&&(s=t.substring(0,o)),YFe(n,t,e.createByFilepathOrFirstLine(r||null,s),r)}return YFe(n,t,e.createById(i),r)}function YFe(n,e,t,i){return n.createModel(e,t,i)}var aAt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},lAt=function(n,e){return function(t,i){e(t,i,n)}};class uAt{constructor(e,t){this.viewModel=e,this.deltaScrollVertical=t}getId(){return this.viewModel}}let qV=class extends Fe{constructor(e,t,i,r){super(),this._container=e,this._overflowWidgetsDomNode=t,this._workbenchUIElementFactory=i,this._instantiationService=r,this._viewModel=ei(this,void 0),this._collapsed=hn(this,s=>{var a;return(a=this._viewModel.read(s))===null||a===void 0?void 0:a.collapsed.read(s)}),this._editorContentHeight=ei(this,500),this.contentHeight=hn(this,s=>(this._collapsed.read(s)?0:this._editorContentHeight.read(s))+this._outerEditorHeight),this._modifiedContentWidth=ei(this,0),this._modifiedWidth=ei(this,0),this._originalContentWidth=ei(this,0),this._originalWidth=ei(this,0),this.maxScroll=hn(this,s=>{const a=this._modifiedContentWidth.read(s)-this._modifiedWidth.read(s),l=this._originalContentWidth.read(s)-this._originalWidth.read(s);return a>l?{maxScroll:a,width:this._modifiedWidth.read(s)}:{maxScroll:l,width:this._originalWidth.read(s)}}),this._elements=_i("div.multiDiffEntry",[_i("div.header@header",[_i("div.header-content",[_i("div.collapse-button@collapseButton"),_i("div.file-path",[_i("div.title.modified.show-file-icons@primaryPath",[]),_i("div.status.deleted@status",["R"]),_i("div.title.original.show-file-icons@secondaryPath",[])]),_i("div.actions@actions")])]),_i("div.editorParent",[_i("div.editorContainer@editor")])]),this.editor=this._register(this._instantiationService.createInstance(vp,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode},{})),this.isModifedFocused=UFe(this.editor.getModifiedEditor()),this.isOriginalFocused=UFe(this.editor.getOriginalEditor()),this.isFocused=hn(this,s=>this.isModifedFocused.read(s)||this.isOriginalFocused.read(s)),this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.primaryPath)):void 0,this._resourceLabel2=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.secondaryPath)):void 0,this._dataStore=new Je,this._headerHeight=40,this._lastScrollTop=-1,this._isSettingScrollTop=!1;const o=new JW(this._elements.collapseButton,{});this._register(Rn(s=>{o.element.className="",o.icon=this._collapsed.read(s)?ut.chevronRight:ut.chevronDown})),this._register(o.onDidClick(()=>{var s;(s=this._viewModel.get())===null||s===void 0||s.collapsed.set(!this._collapsed.get(),void 0)})),this._register(Rn(s=>{this._elements.editor.style.display=this._collapsed.read(s)?"none":"block"})),this._register(this.editor.getModifiedEditor().onDidLayoutChange(s=>{const a=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(a,void 0)})),this._register(this.editor.getOriginalEditor().onDidLayoutChange(s=>{const a=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(a,void 0)})),this._register(this.editor.onDidContentSizeChange(s=>{nW(a=>{this._editorContentHeight.set(s.contentHeight,a),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),a),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),a)})})),this._register(this.editor.getOriginalEditor().onDidScrollChange(s=>{if(this._isSettingScrollTop||!s.scrollTopChanged||!this._data)return;const a=s.scrollTop-this._lastScrollTop;this._data.deltaScrollVertical(a)})),this._register(Rn(s=>{const a=this.isFocused.read(s);this._elements.root.classList.toggle("focused",a)})),this._container.appendChild(this._elements.root),this._outerEditorHeight=this._headerHeight,this._register(this._instantiationService.createInstance(VW,this._elements.actions,Q.MultiDiffEditorFileToolbar,{actionRunner:this._register(new rwe(()=>{var s;return(s=this._viewModel.get())===null||s===void 0?void 0:s.modifiedUri})),menuOptions:{shouldForwardArgs:!0},toolbarOptions:{primaryGroup:s=>s.startsWith("navigation")},actionViewItemProvider:(s,a)=>uwe(r,s,a)}))}setScrollLeft(e){this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get()?this.editor.getModifiedEditor().setScrollLeft(e):this.editor.getOriginalEditor().setScrollLeft(e)}setData(e){this._data=e;function t(r){return{...r,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0},scrollbar:{vertical:"hidden",horizontal:"hidden",handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0,overviewRulerBorder:!1}}const i=e.viewModel.entry.value;i.onOptionsDidChange&&this._dataStore.add(i.onOptionsDidChange(()=>{var r;this.editor.updateOptions(t((r=i.options)!==null&&r!==void 0?r:{}))})),nW(r=>{var o,s,a,l;(o=this._resourceLabel)===null||o===void 0||o.setUri((s=e.viewModel.modifiedUri)!==null&&s!==void 0?s:e.viewModel.originalUri,{strikethrough:e.viewModel.modifiedUri===void 0});let u=!1,c=!1,d=!1,h="";e.viewModel.modifiedUri&&e.viewModel.originalUri&&e.viewModel.modifiedUri.path!==e.viewModel.originalUri.path?(h="R",u=!0):e.viewModel.modifiedUri?e.viewModel.originalUri||(h="A",d=!0):(h="D",c=!0),this._elements.status.classList.toggle("renamed",u),this._elements.status.classList.toggle("deleted",c),this._elements.status.classList.toggle("added",d),this._elements.status.innerText=h,(a=this._resourceLabel2)===null||a===void 0||a.setUri(u?e.viewModel.originalUri:void 0,{strikethrough:!0}),this._dataStore.clear(),this._viewModel.set(e.viewModel,r),this.editor.setModel(e.viewModel.diffEditorViewModel,r),this.editor.updateOptions(t((l=i.options)!==null&&l!==void 0?l:{}))})}render(e,t,i,r){this._elements.root.style.visibility="visible",this._elements.root.style.top=`${e.start}px`,this._elements.root.style.height=`${e.length}px`,this._elements.root.style.width=`${t}px`,this._elements.root.style.position="absolute";const o=e.length-this._headerHeight,s=Math.max(0,Math.min(r.start-e.start,o));this._elements.header.style.transform=`translateY(${s}px)`,nW(a=>{this.editor.layout({width:t-2*8-2*1,height:e.length-this._outerEditorHeight})});try{this._isSettingScrollTop=!0,this._lastScrollTop=i,this.editor.getOriginalEditor().setScrollTop(i)}finally{this._isSettingScrollTop=!1}this._elements.header.classList.toggle("shadow",s>0||i>0),this._elements.header.classList.toggle("collapsed",s===o)}hide(){this._elements.root.style.top="-100000px",this._elements.root.style.visibility="hidden"}};qV=aAt([lAt(3,$t)],qV);function UFe(n){return zi(e=>{const t=new Je;return t.add(n.onDidFocusEditorWidget(()=>e(!0))),t.add(n.onDidBlurEditorWidget(()=>e(!1))),t},()=>n.hasTextFocus())}class cAt{constructor(e){this._create=e,this._unused=new Set,this._used=new Set,this._itemData=new Map}getUnusedObj(e){var t;let i;if(this._unused.size===0)i=this._create(e),this._itemData.set(i,e);else{const r=[...this._unused.values()];i=(t=r.find(o=>this._itemData.get(o).getId()===e.getId()))!==null&&t!==void 0?t:r[0],this._unused.delete(i),this._itemData.set(i,e),i.setData(e)}return this._used.add(i),{object:i,dispose:()=>{this._used.delete(i),this._unused.size>5?i.dispose():this._unused.add(i)}}}dispose(){for(const e of this._used)e.dispose();for(const e of this._unused)e.dispose();this._used.clear(),this._unused.clear()}}var dAt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},KFe=function(n,e){return function(t,i){e(t,i,n)}};let B$=class extends Fe{constructor(e,t,i,r,o,s){super(),this._element=e,this._dimension=t,this._viewModel=i,this._workbenchUIElementFactory=r,this._parentContextKeyService=o,this._parentInstantiationService=s,this._elements=_i("div.monaco-component.multiDiffEditor",[_i("div@content",{style:{overflow:"hidden"}}),_i("div.monaco-editor@overflowWidgetsDomNode",{})]),this._sizeObserver=this._register(new gSe(this._element,void 0)),this._objectPool=this._register(new cAt(l=>{const u=this._instantiationService.createInstance(qV,this._elements.content,this._elements.overflowWidgetsDomNode,this._workbenchUIElementFactory);return u.setData(l),u})),this._scrollable=this._register(new o2({forceIntegerValues:!1,scheduleAtNextAnimationFrame:l=>au(Qt(this._element),l),smoothScrollDuration:100})),this._scrollableElement=this._register(new gZ(this._elements.root,{vertical:1,horizontal:1,useShadows:!1},this._scrollable)),this.scrollTop=zi(this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollTop),this.scrollLeft=zi(this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollLeft),this._viewItems=_2(this,(l,u)=>{const c=this._viewModel.read(l);return c?c.items.read(l).map(h=>{var m;const f=u.add(new hAt(h,this._objectPool,this.scrollLeft,b=>{this._scrollableElement.setScrollPosition({scrollTop:this._scrollableElement.getScrollPosition().scrollTop+b})})),g=(m=this._lastDocStates)===null||m===void 0?void 0:m[f.getKey()];return g&&Bi(b=>{f.setViewState(g,b)}),f}):[]}),this._spaceBetweenPx=0,this._totalHeight=this._viewItems.map(this,(l,u)=>l.reduce((c,d)=>c+d.contentHeight.read(u)+this._spaceBetweenPx,0)),this.activeDiffItem=hn(this,l=>this._viewItems.read(l).find(u=>{var c;return(c=u.template.read(l))===null||c===void 0?void 0:c.isFocused.read(l)})),this.lastActiveDiffItem=l2t((l,u)=>{var c;return(c=this.activeDiffItem.read(l))!==null&&c!==void 0?c:u}),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._parentInstantiationService.createChild(new DD([ln,this._contextKeyService])),this._lastDocStates={},this._contextKeyService.createKey(ne.inMultiDiffEditor.key,!0),this._register(Hc((l,u)=>{const c=this._viewModel.read(l);if(c&&c.contextKeys)for(const[d,h]of Object.entries(c.contextKeys)){const m=this._contextKeyService.createKey(d,void 0);m.set(h),u.add(jt(()=>m.reset()))}}));const a=this._parentContextKeyService.createKey(ne.multiDiffEditorAllCollapsed.key,!1);this._register(Rn(l=>{const u=this._viewModel.read(l);if(u){const c=u.items.read(l).every(d=>d.collapsed.read(l));a.set(c)}})),this._register(Rn(l=>{const u=this.lastActiveDiffItem.read(l);Bi(c=>{var d;(d=this._viewModel.read(l))===null||d===void 0||d.activeDiffItem.set(u==null?void 0:u.viewModel,c)})})),this._register(Rn(l=>{const u=this._dimension.read(l);this._sizeObserver.observe(u)})),this._elements.content.style.position="relative",this._register(Rn(l=>{const u=this._sizeObserver.height.read(l);this._elements.root.style.height=`${u}px`;const c=this._totalHeight.read(l);this._elements.content.style.height=`${c}px`;const d=this._sizeObserver.width.read(l);let h=d;const m=this._viewItems.read(l),f=B6(m,g=>g.maxScroll.read(l).maxScroll);if(f){const g=f.maxScroll.read(l);h=d+g.maxScroll}this._scrollableElement.setScrollDimensions({width:d,height:u,scrollHeight:c,scrollWidth:h})})),e.replaceChildren(this._scrollableElement.getDomNode()),this._register(jt(()=>{e.replaceChildren()})),this._register(this._register(Rn(l=>{nW(u=>{this.render(l)})})))}render(e){const t=this.scrollTop.read(e);let i=0,r=0,o=0;const s=this._sizeObserver.height.read(e),a=Dn.ofStartAndLength(t,s),l=this._sizeObserver.width.read(e);for(const u of this._viewItems.read(e)){const c=u.contentHeight.read(e),d=Math.min(c,s),h=Dn.ofStartAndLength(r,d),m=Dn.ofStartAndLength(o,c);if(m.isBefore(a))i-=c-d,u.hide();else if(m.isAfter(a))u.hide();else{const f=Math.max(0,Math.min(a.start-m.start,c-d));i-=f;const g=Dn.ofStartAndLength(t+i,s);u.render(h,f,l,g)}r+=d+this._spaceBetweenPx,o+=c+this._spaceBetweenPx}this._elements.content.style.transform=`translateY(${-(t+i)}px)`}};B$=dAt([KFe(4,ln),KFe(5,$t)],B$);class hAt extends Fe{constructor(e,t,i,r){super(),this.viewModel=e,this._objectPool=t,this._scrollLeft=i,this._deltaScrollVertical=r,this._templateRef=this._register(TD(this,void 0)),this.contentHeight=hn(this,o=>{var s,a,l;return(l=(a=(s=this._templateRef.read(o))===null||s===void 0?void 0:s.object.contentHeight)===null||a===void 0?void 0:a.read(o))!==null&&l!==void 0?l:this.viewModel.lastTemplateData.read(o).contentHeight}),this.maxScroll=hn(this,o=>{var s,a;return(a=(s=this._templateRef.read(o))===null||s===void 0?void 0:s.object.maxScroll.read(o))!==null&&a!==void 0?a:{maxScroll:0,scrollWidth:0}}),this.template=hn(this,o=>{var s;return(s=this._templateRef.read(o))===null||s===void 0?void 0:s.object}),this._isHidden=ei(this,!1),this._register(Rn(o=>{var s;const a=this._scrollLeft.read(o);(s=this._templateRef.read(o))===null||s===void 0||s.object.setScrollLeft(a)})),this._register(Rn(o=>{const s=this._templateRef.read(o);!s||!this._isHidden.read(o)||s.object.isFocused.read(o)||this._clear()}))}dispose(){this._clear(),super.dispose()}toString(){var e;return`VirtualViewItem(${(e=this.viewModel.entry.value.modified)===null||e===void 0?void 0:e.uri.toString()})`}getKey(){return this.viewModel.getKey()}setViewState(e,t){var i;this.viewModel.collapsed.set(e.collapsed,t),this._updateTemplateData(t);const r=this.viewModel.lastTemplateData.get(),o=(i=e.selections)===null||i===void 0?void 0:i.map(Zt.liftSelection);this.viewModel.lastTemplateData.set({...r,selections:o},t);const s=this._templateRef.get();s&&o&&s.object.editor.setSelections(o)}_updateTemplateData(e){var t;const i=this._templateRef.get();i&&this.viewModel.lastTemplateData.set({contentHeight:i.object.contentHeight.get(),selections:(t=i.object.editor.getSelections())!==null&&t!==void 0?t:void 0},e)}_clear(){const e=this._templateRef.get();e&&Bi(t=>{this._updateTemplateData(t),e.object.hide(),this._templateRef.set(void 0,t)})}hide(){this._isHidden.set(!0,void 0)}render(e,t,i,r){this._isHidden.set(!1,void 0);let o=this._templateRef.get();if(!o){o=this._objectPool.getUnusedObj(new uAt(this.viewModel,this._deltaScrollVertical)),this._templateRef.set(o,void 0);const s=this.viewModel.lastTemplateData.get().selections;s&&o.object.editor.setSelections(s)}o.object.render(e,i,t,r)}}re("multiDiffEditor.headerBackground",{dark:"#262626",light:"tab.inactiveBackground",hcDark:"tab.inactiveBackground",hcLight:"tab.inactiveBackground"},_("multiDiffEditor.headerBackground","The background color of the diff editor's header")),re("multiDiffEditor.background",{dark:"editorBackground",light:"editorBackground",hcDark:"editorBackground",hcLight:"editorBackground"},_("multiDiffEditor.background","The background color of the multi file diff editor")),re("multiDiffEditor.border",{dark:"sideBarSectionHeader.border",light:"#cccccc",hcDark:"sideBarSectionHeader.border",hcLight:"#cccccc"},_("multiDiffEditor.border","The border color of the multi file diff editor"));var mAt=function(n,e,t,i){var r=arguments.length,o=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(e,t,o):s(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o},fAt=function(n,e){return function(t,i){e(t,i,n)}};let z$=class extends Fe{constructor(e,t,i){super(),this._element=e,this._workbenchUIElementFactory=t,this._instantiationService=i,this._dimension=ei(this,void 0),this._viewModel=ei(this,void 0),this._widgetImpl=_2(this,(r,o)=>(Ad(qV,r),o.add(this._instantiationService.createInstance(Ad(B$,r),this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory)))),this._register(RD(this._widgetImpl))}};z$=mAt([fAt(2,$t)],z$);function gAt(n,e,t){return an.initialize(t||{}).createInstance(P$,n,e)}function pAt(n){return an.get(yi).onCodeEditorAdd(t=>{n(t)})}function bAt(n){return an.get(yi).onDiffEditorAdd(t=>{n(t)})}function yAt(){return an.get(yi).listCodeEditors()}function vAt(){return an.get(yi).listDiffEditors()}function CAt(n,e,t){return an.initialize(t||{}).createInstance(O$,n,e)}function SAt(n,e){const t=an.initialize(e||{});return new z$(n,{},t)}function wAt(n){if(typeof n.id!="string"||typeof n.run!="function")throw new Error("Invalid command descriptor, `id` and `run` are required properties!");return $n.registerCommand(n.id,n.run)}function xAt(n){if(typeof n.id!="string"||typeof n.label!="string"||typeof n.run!="function")throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");const e=Oe.deserialize(n.precondition),t=(r,...o)=>Ko.runEditorCommand(r,o,e,(s,a,l)=>Promise.resolve(n.run(a,...l))),i=new Je;if(i.add($n.registerCommand(n.id,t)),n.contextMenuGroupId){const r={command:{id:n.id,title:n.label},when:e,group:n.contextMenuGroupId,order:n.contextMenuOrder||0};i.add(ss.appendMenuItem(Q.EditorContext,r))}if(Array.isArray(n.keybindings)){const r=an.get(Oi);if(r instanceof Ux){const o=Oe.and(e,Oe.deserialize(n.keybindingContext));i.add(r.addDynamicKeybindings(n.keybindings.map(s=>({keybinding:s,command:n.id,when:o}))))}}return i}function _At(n){return JFe([n])}function JFe(n){const e=an.get(Oi);return e instanceof Ux?e.addDynamicKeybindings(n.map(t=>({keybinding:t.keybinding,command:t.command,commandArgs:t.commandArgs,when:Oe.deserialize(t.when)}))):Fe.None}function LAt(n,e,t){const i=an.get(br),r=i.getLanguageIdByMimeType(e)||e;return HFe(an.get(wr),i,n,r,t)}function IAt(n,e){const t=an.get(br),i=t.getLanguageIdByMimeType(e)||e||Pu;n.setLanguage(t.createById(i))}function FAt(n,e,t){n&&an.get(Ff).changeOne(e,n.uri,t)}function DAt(n){an.get(Ff).changeAll(n,[])}function NAt(n){return an.get(Ff).read(n)}function MAt(n){return an.get(Ff).onMarkerChanged(n)}function kAt(n){return an.get(wr).getModel(n)}function TAt(){return an.get(wr).getModels()}function EAt(n){return an.get(wr).onModelAdded(n)}function RAt(n){return an.get(wr).onModelRemoved(n)}function ZAt(n){return an.get(wr).onModelLanguageChanged(t=>{n({model:t.model,oldLanguage:t.oldLanguageId})})}function WAt(n){return UZt(an.get(wr),an.get(er),n)}function AAt(n,e){const t=an.get(br),i=an.get(Bd);return BQ.colorizeElement(i,t,n,e).then(()=>{i.registerEditorContainer(n)})}function VAt(n,e,t){const i=an.get(br);return an.get(Bd).registerEditorContainer(Zi.document.body),BQ.colorize(i,n,e,t)}function GAt(n,e,t=4){return an.get(Bd).registerEditorContainer(Zi.document.body),BQ.colorizeModelLine(n,e,t)}function XAt(n){const e=bo.get(n);return e||{getInitialState:()=>vD,tokenize:(t,i,r)=>oCe(n,r)}}function PAt(n,e){bo.getOrCreate(e);const t=XAt(e),i=Pm(n),r=[];let o=t.getInitialState();for(let s=0,a=i.length;s{var o;if(!i)return null;const s=(o=t.options)===null||o===void 0?void 0:o.selection;let a;return s&&typeof s.endLineNumber=="number"&&typeof s.endColumn=="number"?a=s:s&&(a={lineNumber:s.startLineNumber,column:s.startColumn}),await n.openCodeEditor(i,t.resource,a)?i:null})}function KAt(){return{create:gAt,getEditors:yAt,getDiffEditors:vAt,onDidCreateEditor:pAt,onDidCreateDiffEditor:bAt,createDiffEditor:CAt,addCommand:wAt,addEditorAction:xAt,addKeybindingRule:_At,addKeybindingRules:JFe,createModel:LAt,setModelLanguage:IAt,setModelMarkers:FAt,getModelMarkers:NAt,removeAllMarkers:DAt,onDidChangeMarkers:MAt,getModels:TAt,getModel:kAt,onDidCreateModel:EAt,onWillDisposeModel:RAt,onDidChangeModelLanguage:ZAt,createWebWorker:WAt,colorizeElement:AAt,colorize:VAt,colorizeModelLine:GAt,tokenize:PAt,defineTheme:OAt,setTheme:BAt,remeasureFonts:zAt,registerCommand:HAt,registerLinkOpener:YAt,registerEditorOpener:UAt,AccessibilitySupport:RK,ContentWidgetPositionPreference:XK,CursorChangeReason:PK,DefaultEndOfLine:OK,EditorAutoIndentStrategy:zK,EditorOption:HK,EndOfLinePreference:YK,EndOfLineSequence:UK,MinimapPosition:iJ,MinimapSectionHeaderStyle:rJ,MouseTargetType:oJ,OverlayWidgetPositionPreference:aJ,OverviewRulerLane:lJ,GlyphMarginLane:KK,RenderLineNumbersType:dJ,RenderMinimap:hJ,ScrollbarVisibility:fJ,ScrollType:mJ,TextEditorCursorBlinkingStyle:CJ,TextEditorCursorStyle:SJ,TrackedRangeStickiness:wJ,WrappingIndent:xJ,InjectedTextCursorStops:jK,PositionAffinity:cJ,ShowLightbulbIconMode:pJ,ConfigurationChangedEvent:J1e,BareFontInfo:sv,FontInfo:d6,TextModelResolvedOptions:IZ,FindMatch:KF,ApplyUpdateResult:bF,EditorZoom:Zc,createMultiFileDiffEditor:SAt,EditorType:lD,EditorOptions:Wh}}function JAt(n,e){if(!e||!Array.isArray(e))return!1;for(const t of e)if(!n(t))return!1;return!0}function eG(n,e){return typeof n=="boolean"?n:e}function jFe(n,e){return typeof n=="string"?n:e}function jAt(n){const e={};for(const t of n)e[t]=!0;return e}function QFe(n,e=!1){e&&(n=n.map(function(i){return i.toLowerCase()}));const t=jAt(n);return e?function(i){return t[i.toLowerCase()]!==void 0&&t.hasOwnProperty(i.toLowerCase())}:function(i){return t[i]!==void 0&&t.hasOwnProperty(i)}}function H$(n,e,t){e=e.replace(/@@/g,"");let i=0,r;do r=!1,e=e.replace(/@(\w+)/g,function(s,a){r=!0;let l="";if(typeof n[a]=="string")l=n[a];else if(n[a]&&n[a]instanceof RegExp)l=n[a].source;else throw n[a]===void 0?pr(n,"language definition does not contain attribute '"+a+"', used at: "+e):pr(n,"attribute reference '"+a+"' must be a string, used at: "+e);return SC(l)?"":"(?:"+l+")"}),i++;while(r&&i<5);e=e.replace(/\x01/g,"@");const o=(n.ignoreCase?"i":"")+(n.unicode?"u":"");if(t&&e.match(/\$[sS](\d\d?)/g)){let a=null,l=null;return u=>(l&&a===u||(a=u,l=new RegExp(QZt(n,e,u),o)),l)}return new RegExp(e,o)}function QAt(n,e,t,i){if(i<0)return n;if(i=100){i=i-100;const r=t.split(".");if(r.unshift(t),i=0&&(i.tokenSubst=!0),typeof t.bracket=="string")if(t.bracket==="@open")i.bracket=1;else if(t.bracket==="@close")i.bracket=-1;else throw pr(n,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+e);if(t.next){if(typeof t.next!="string")throw pr(n,"the next state must be a string value in rule: "+e);{let r=t.next;if(!/^(@pop|@push|@popall)$/.test(r)&&(r[0]==="@"&&(r=r.substr(1)),r.indexOf("$")<0&&!$Zt(n,f1(n,r,"",[],""))))throw pr(n,"the next state '"+t.next+"' is not defined in rule: "+e);i.next=r}}return typeof t.goBack=="number"&&(i.goBack=t.goBack),typeof t.switchTo=="string"&&(i.switchTo=t.switchTo),typeof t.log=="string"&&(i.log=t.log),typeof t.nextEmbedded=="string"&&(i.nextEmbedded=t.nextEmbedded,n.usesEmbedded=!0),i}}else if(Array.isArray(t)){const i=[];for(let r=0,o=t.length;r0&&i[0]==="^",this.name=this.name+": "+i,this.regex=H$(e,"^(?:"+(this.matchOnlyAtLineStart?i.substr(1):i)+")",!0)}setAction(e,t){this.action=Y$(e,this.name,t)}resolveRegex(e){return this.regex instanceof RegExp?this.regex:this.regex(e)}}function $Fe(n,e){if(!e||typeof e!="object")throw new Error("Monarch: expecting a language definition object");const t={};t.languageId=n,t.includeLF=eG(e.includeLF,!1),t.noThrow=!1,t.maxStack=100,t.start=typeof e.start=="string"?e.start:null,t.ignoreCase=eG(e.ignoreCase,!1),t.unicode=eG(e.unicode,!1),t.tokenPostfix=jFe(e.tokenPostfix,"."+t.languageId),t.defaultToken=jFe(e.defaultToken,"source"),t.usesEmbedded=!1;const i=e;i.languageId=n,i.includeLF=t.includeLF,i.ignoreCase=t.ignoreCase,i.unicode=t.unicode,i.noThrow=t.noThrow,i.usesEmbedded=t.usesEmbedded,i.stateNames=e.tokenizer,i.defaultToken=t.defaultToken;function r(s,a,l){for(const u of l){let c=u.include;if(c){if(typeof c!="string")throw pr(t,"an 'include' attribute must be a string at: "+s);if(c[0]==="@"&&(c=c.substr(1)),!e.tokenizer[c])throw pr(t,"include target '"+c+"' is not defined at: "+s);r(s+"."+c,a,e.tokenizer[c])}else{const d=new qAt(s);if(Array.isArray(u)&&u.length>=1&&u.length<=3)if(d.setRegex(i,u[0]),u.length>=3)if(typeof u[1]=="string")d.setAction(i,{token:u[1],next:u[2]});else if(typeof u[1]=="object"){const h=u[1];h.next=u[2],d.setAction(i,h)}else throw pr(t,"a next state as the last element of a rule can only be given if the action is either an object or a string, at: "+s);else d.setAction(i,u[1]);else{if(!u.regex)throw pr(t,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+s);u.name&&typeof u.name=="string"&&(d.name=u.name),u.matchOnlyAtStart&&(d.matchOnlyAtLineStart=eG(u.matchOnlyAtLineStart,!1)),d.setRegex(i,u.regex),d.setAction(i,u.action)}a.push(d)}}}if(!e.tokenizer||typeof e.tokenizer!="object")throw pr(t,"a language definition must define the 'tokenizer' attribute as an object");t.tokenizer=[];for(const s in e.tokenizer)if(e.tokenizer.hasOwnProperty(s)){t.start||(t.start=s);const a=e.tokenizer[s];t.tokenizer[s]=new Array,r("tokenizer."+s,t.tokenizer[s],a)}if(t.usesEmbedded=i.usesEmbedded,e.brackets){if(!Array.isArray(e.brackets))throw pr(t,"the 'brackets' attribute must be defined as an array")}else e.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];const o=[];for(const s of e.brackets){let a=s;if(a&&Array.isArray(a)&&a.length===3&&(a={token:a[2],open:a[0],close:a[1]}),a.open===a.close)throw pr(t,"open and close brackets in a 'brackets' attribute must be different: "+a.open+` + hint: use the 'bracket' attribute if matching on equal brackets is required.`);if(typeof a.open=="string"&&typeof a.token=="string"&&typeof a.close=="string")o.push({token:a.token+t.tokenPostfix,open:Xp(t,a.open),close:Xp(t,a.close)});else throw pr(t,"every element in the 'brackets' array must be a '{open,close,token}' object or array")}return t.brackets=o,t.noThrow=!0,t}function eVt(n){Rw.registerLanguage(n)}function tVt(){let n=[];return n=n.concat(Rw.getLanguages()),n}function nVt(n){return an.get(br).languageIdCodec.encodeLanguageId(n)}function iVt(n,e){return an.withServices(()=>{const i=an.get(br).onDidRequestRichLanguageFeatures(r=>{r===n&&(i.dispose(),e())});return i})}function rVt(n,e){return an.withServices(()=>{const i=an.get(br).onDidRequestBasicLanguageFeatures(r=>{r===n&&(i.dispose(),e())});return i})}function oVt(n,e){if(!an.get(br).isRegisteredLanguageId(n))throw new Error(`Cannot set configuration for unknown language ${n}`);return an.get(er).register(n,e,100)}class sVt{constructor(e,t){this._languageId=e,this._actual=t}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,i){if(typeof this._actual.tokenize=="function")return HM.adaptTokenize(this._languageId,this._actual,e,i);throw new Error("Not supported!")}tokenizeEncoded(e,t,i){const r=this._actual.tokenizeEncoded(e,i);return new wZ(r.tokens,r.endState)}}class HM{constructor(e,t,i,r){this._languageId=e,this._actual=t,this._languageService=i,this._standaloneThemeService=r}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t){const i=[];let r=0;for(let o=0,s=e.length;o0&&o[s-1]===h)continue;let m=d.startIndex;u===0?m=0:m{const i=await Promise.resolve(e.create());return i?aVt(i)?eDe(n,i):new LM(an.get(br),an.get(Bd),n,$Fe(n,i),an.get(Pn)):null});return bo.registerFactory(n,t)}function cVt(n,e){if(!an.get(br).isRegisteredLanguageId(n))throw new Error(`Cannot set tokens provider for unknown language ${n}`);return qFe(e)?U$(n,{create:()=>e}):bo.register(n,eDe(n,e))}function dVt(n,e){const t=i=>new LM(an.get(br),an.get(Bd),n,$Fe(n,i),an.get(Pn));return qFe(e)?U$(n,{create:()=>e}):bo.register(n,t(e))}function hVt(n,e){return an.get(Rt).referenceProvider.register(n,e)}function mVt(n,e){return an.get(Rt).renameProvider.register(n,e)}function fVt(n,e){return an.get(Rt).newSymbolNamesProvider.register(n,e)}function gVt(n,e){return an.get(Rt).signatureHelpProvider.register(n,e)}function pVt(n,e){return an.get(Rt).hoverProvider.register(n,{provideHover:(i,r,o)=>{const s=i.getWordAtPosition(r);return Promise.resolve(e.provideHover(i,r,o)).then(a=>{if(a)return!a.range&&s&&(a.range=new J(r.lineNumber,s.startColumn,r.lineNumber,s.endColumn)),a.range||(a.range=new J(r.lineNumber,r.column,r.lineNumber,r.column)),a})}})}function bVt(n,e){return an.get(Rt).documentSymbolProvider.register(n,e)}function yVt(n,e){return an.get(Rt).documentHighlightProvider.register(n,e)}function vVt(n,e){return an.get(Rt).linkedEditingRangeProvider.register(n,e)}function CVt(n,e){return an.get(Rt).definitionProvider.register(n,e)}function SVt(n,e){return an.get(Rt).implementationProvider.register(n,e)}function wVt(n,e){return an.get(Rt).typeDefinitionProvider.register(n,e)}function xVt(n,e){return an.get(Rt).codeLensProvider.register(n,e)}function _Vt(n,e,t){return an.get(Rt).codeActionProvider.register(n,{providedCodeActionKinds:t==null?void 0:t.providedCodeActionKinds,documentation:t==null?void 0:t.documentation,provideCodeActions:(r,o,s,a)=>{const u=an.get(Ff).read({resource:r.uri}).filter(c=>J.areIntersectingOrTouching(c,o));return e.provideCodeActions(r,o,{markers:u,only:s.only,trigger:s.trigger},a)},resolveCodeAction:e.resolveCodeAction})}function LVt(n,e){return an.get(Rt).documentFormattingEditProvider.register(n,e)}function IVt(n,e){return an.get(Rt).documentRangeFormattingEditProvider.register(n,e)}function FVt(n,e){return an.get(Rt).onTypeFormattingEditProvider.register(n,e)}function DVt(n,e){return an.get(Rt).linkProvider.register(n,e)}function NVt(n,e){return an.get(Rt).completionProvider.register(n,e)}function MVt(n,e){return an.get(Rt).colorProvider.register(n,e)}function kVt(n,e){return an.get(Rt).foldingRangeProvider.register(n,e)}function TVt(n,e){return an.get(Rt).declarationProvider.register(n,e)}function EVt(n,e){return an.get(Rt).selectionRangeProvider.register(n,e)}function RVt(n,e){return an.get(Rt).documentSemanticTokensProvider.register(n,e)}function ZVt(n,e){return an.get(Rt).documentRangeSemanticTokensProvider.register(n,e)}function WVt(n,e){return an.get(Rt).inlineCompletionsProvider.register(n,e)}function AVt(n,e){return an.get(Rt).inlineEditProvider.register(n,e)}function VVt(n,e){return an.get(Rt).inlayHintsProvider.register(n,e)}function GVt(){return{register:eVt,getLanguages:tVt,onLanguage:iVt,onLanguageEncountered:rVt,getEncodedLanguageId:nVt,setLanguageConfiguration:oVt,setColorMap:uVt,registerTokensProviderFactory:U$,setTokensProvider:cVt,setMonarchTokensProvider:dVt,registerReferenceProvider:hVt,registerRenameProvider:mVt,registerNewSymbolNameProvider:fVt,registerCompletionItemProvider:NVt,registerSignatureHelpProvider:gVt,registerHoverProvider:pVt,registerDocumentSymbolProvider:bVt,registerDocumentHighlightProvider:yVt,registerLinkedEditingRangeProvider:vVt,registerDefinitionProvider:CVt,registerImplementationProvider:SVt,registerTypeDefinitionProvider:wVt,registerCodeLensProvider:xVt,registerCodeActionProvider:_Vt,registerDocumentFormattingEditProvider:LVt,registerDocumentRangeFormattingEditProvider:IVt,registerOnTypeFormattingEditProvider:FVt,registerLinkProvider:DVt,registerColorProvider:MVt,registerFoldingRangeProvider:kVt,registerDeclarationProvider:TVt,registerSelectionRangeProvider:EVt,registerDocumentSemanticTokensProvider:RVt,registerDocumentRangeSemanticTokensProvider:ZVt,registerInlineCompletionsProvider:WVt,registerInlineEditProvider:AVt,registerInlayHintsProvider:VVt,DocumentHighlightKind:BK,CompletionItemKind:AK,CompletionItemTag:VK,CompletionItemInsertTextRule:WK,SymbolKind:yJ,SymbolTag:vJ,IndentAction:JK,CompletionTriggerKind:GK,SignatureHelpTriggerKind:bJ,InlayHintKind:QK,InlineCompletionTriggerKind:$K,InlineEditTriggerKind:qK,CodeActionTriggerType:ZK,NewSymbolNameTag:sJ,PartialAcceptTriggerKind:uJ,FoldingRangeKind:Ed,SelectedSuggestionInfo:jye}}Wh.wrappingIndent.defaultValue=0,Wh.glyphMargin.defaultValue=!1,Wh.autoIndent.defaultValue=3,Wh.overviewRulerLanes.defaultValue=2,uC.setFormatterSelector((n,e,t)=>Promise.resolve(n[0]));const fl=y2e();fl.editor=KAt(),fl.languages=GVt();const XVt=fl.CancellationTokenSource,tDe=fl.Emitter,PVt=fl.KeyCode,OVt=fl.KeyMod,BVt=fl.Position,zVt=fl.Range,HVt=fl.Selection,YVt=fl.SelectionDirection,UVt=fl.MarkerSeverity,KVt=fl.MarkerTag,JVt=fl.Uri,jVt=fl.Token,QVt=fl.editor,tG=fl.languages,K$=globalThis.MonacoEnvironment;(K$!=null&&K$.globalAPI||typeof define=="function"&&define.amd)&&(globalThis.monaco=fl),typeof globalThis.require<"u"&&typeof globalThis.require.config=="function"&&globalThis.require.config({ignoreDuplicateModules:["vscode-languageserver-types","vscode-languageserver-types/main","vscode-languageserver-textdocument","vscode-languageserver-textdocument/main","vscode-nls","vscode-nls/vscode-nls","jsonc-parser","jsonc-parser/main","vscode-uri","vscode-uri/index","vs/basic-languages/typescript/typescript"]});const nDe=Object.freeze(Object.defineProperty({__proto__:null,CancellationTokenSource:XVt,Emitter:tDe,KeyCode:PVt,KeyMod:OVt,MarkerSeverity:UVt,MarkerTag:KVt,Position:BVt,Range:zVt,Selection:HVt,SelectionDirection:YVt,Token:jVt,Uri:JVt,editor:QVt,languages:tG},Symbol.toStringTag,{value:"Module"})),iDe="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2NsYXNzIFlye2NvbnN0cnVjdG9yKCl7dGhpcy5saXN0ZW5lcnM9W10sdGhpcy51bmV4cGVjdGVkRXJyb3JIYW5kbGVyPWZ1bmN0aW9uKHQpe3NldFRpbWVvdXQoKCk9Pnt0aHJvdyB0LnN0YWNrP1JlLmlzRXJyb3JOb1RlbGVtZXRyeSh0KT9uZXcgUmUodC5tZXNzYWdlK2AKCmArdC5zdGFjayk6bmV3IEVycm9yKHQubWVzc2FnZStgCgpgK3Quc3RhY2spOnR9LDApfX1lbWl0KHQpe3RoaXMubGlzdGVuZXJzLmZvckVhY2gobj0+e24odCl9KX1vblVuZXhwZWN0ZWRFcnJvcih0KXt0aGlzLnVuZXhwZWN0ZWRFcnJvckhhbmRsZXIodCksdGhpcy5lbWl0KHQpfW9uVW5leHBlY3RlZEV4dGVybmFsRXJyb3IodCl7dGhpcy51bmV4cGVjdGVkRXJyb3JIYW5kbGVyKHQpfX1jb25zdCBKcj1uZXcgWXI7ZnVuY3Rpb24gUXQoZSl7UXIoZSl8fEpyLm9uVW5leHBlY3RlZEVycm9yKGUpfWZ1bmN0aW9uIFp0KGUpe2lmKGUgaW5zdGFuY2VvZiBFcnJvcil7Y29uc3R7bmFtZTp0LG1lc3NhZ2U6bn09ZSxyPWUuc3RhY2t0cmFjZXx8ZS5zdGFjaztyZXR1cm57JGlzRXJyb3I6ITAsbmFtZTp0LG1lc3NhZ2U6bixzdGFjazpyLG5vVGVsZW1ldHJ5OlJlLmlzRXJyb3JOb1RlbGVtZXRyeShlKX19cmV0dXJuIGV9Y29uc3QgYnQ9IkNhbmNlbGVkIjtmdW5jdGlvbiBRcihlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIFpyPyEwOmUgaW5zdGFuY2VvZiBFcnJvciYmZS5uYW1lPT09YnQmJmUubWVzc2FnZT09PWJ0fWNsYXNzIFpyIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoKXtzdXBlcihidCksdGhpcy5uYW1lPXRoaXMubWVzc2FnZX19Y2xhc3MgUmUgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLm5hbWU9IkNvZGVFeHBlY3RlZEVycm9yIn1zdGF0aWMgZnJvbUVycm9yKHQpe2lmKHQgaW5zdGFuY2VvZiBSZSlyZXR1cm4gdDtjb25zdCBuPW5ldyBSZTtyZXR1cm4gbi5tZXNzYWdlPXQubWVzc2FnZSxuLnN0YWNrPXQuc3RhY2ssbn1zdGF0aWMgaXNFcnJvck5vVGVsZW1ldHJ5KHQpe3JldHVybiB0Lm5hbWU9PT0iQ29kZUV4cGVjdGVkRXJyb3IifX1jbGFzcyBjZSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQpe3N1cGVyKHR8fCJBbiB1bmV4cGVjdGVkIGJ1ZyBvY2N1cnJlZC4iKSxPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxjZS5wcm90b3R5cGUpfX1mdW5jdGlvbiBLcihlLHQpe2NvbnN0IG49dGhpcztsZXQgcj0hMSxzO3JldHVybiBmdW5jdGlvbigpe2lmKHIpcmV0dXJuIHM7aWYocj0hMCx0KXRyeXtzPWUuYXBwbHkobixhcmd1bWVudHMpfWZpbmFsbHl7dCgpfWVsc2Ugcz1lLmFwcGx5KG4sYXJndW1lbnRzKTtyZXR1cm4gc319dmFyIFplOyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KF8pe3JldHVybiBfJiZ0eXBlb2YgXz09Im9iamVjdCImJnR5cGVvZiBfW1N5bWJvbC5pdGVyYXRvcl09PSJmdW5jdGlvbiJ9ZS5pcz10O2NvbnN0IG49T2JqZWN0LmZyZWV6ZShbXSk7ZnVuY3Rpb24gcigpe3JldHVybiBufWUuZW1wdHk9cjtmdW5jdGlvbipzKF8pe3lpZWxkIF99ZS5zaW5nbGU9cztmdW5jdGlvbiBpKF8pe3JldHVybiB0KF8pP186cyhfKX1lLndyYXA9aTtmdW5jdGlvbiBvKF8pe3JldHVybiBffHxufWUuZnJvbT1vO2Z1bmN0aW9uKmwoXyl7Zm9yKGxldCB3PV8ubGVuZ3RoLTE7dz49MDt3LS0peWllbGQgX1t3XX1lLnJldmVyc2U9bDtmdW5jdGlvbiB1KF8pe3JldHVybiFffHxfW1N5bWJvbC5pdGVyYXRvcl0oKS5uZXh0KCkuZG9uZT09PSEwfWUuaXNFbXB0eT11O2Z1bmN0aW9uIGMoXyl7cmV0dXJuIF9bU3ltYm9sLml0ZXJhdG9yXSgpLm5leHQoKS52YWx1ZX1lLmZpcnN0PWM7ZnVuY3Rpb24gaChfLHcpe2Zvcihjb25zdCB4IG9mIF8paWYodyh4KSlyZXR1cm4hMDtyZXR1cm4hMX1lLnNvbWU9aDtmdW5jdGlvbiBmKF8sdyl7Zm9yKGNvbnN0IHggb2YgXylpZih3KHgpKXJldHVybiB4fWUuZmluZD1mO2Z1bmN0aW9uKmQoXyx3KXtmb3IoY29uc3QgeCBvZiBfKXcoeCkmJih5aWVsZCB4KX1lLmZpbHRlcj1kO2Z1bmN0aW9uKm0oXyx3KXtsZXQgeD0wO2Zvcihjb25zdCBDIG9mIF8peWllbGQgdyhDLHgrKyl9ZS5tYXA9bTtmdW5jdGlvbipnKC4uLl8pe2Zvcihjb25zdCB3IG9mIF8peWllbGQqd31lLmNvbmNhdD1nO2Z1bmN0aW9uIHAoXyx3LHgpe2xldCBDPXg7Zm9yKGNvbnN0IEUgb2YgXylDPXcoQyxFKTtyZXR1cm4gQ31lLnJlZHVjZT1wO2Z1bmN0aW9uKnYoXyx3LHg9Xy5sZW5ndGgpe2Zvcih3PDAmJih3Kz1fLmxlbmd0aCkseDwwP3grPV8ubGVuZ3RoOng+Xy5sZW5ndGgmJih4PV8ubGVuZ3RoKTt3PHg7dysrKXlpZWxkIF9bd119ZS5zbGljZT12O2Z1bmN0aW9uIE4oXyx3PU51bWJlci5QT1NJVElWRV9JTkZJTklUWSl7Y29uc3QgeD1bXTtpZih3PT09MClyZXR1cm5beCxfXTtjb25zdCBDPV9bU3ltYm9sLml0ZXJhdG9yXSgpO2ZvcihsZXQgRT0wO0U8dztFKyspe2NvbnN0IHk9Qy5uZXh0KCk7aWYoeS5kb25lKXJldHVyblt4LGUuZW1wdHkoKV07eC5wdXNoKHkudmFsdWUpfXJldHVyblt4LHtbU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiBDfX1dfWUuY29uc3VtZT1OO2FzeW5jIGZ1bmN0aW9uIFMoXyl7Y29uc3Qgdz1bXTtmb3IgYXdhaXQoY29uc3QgeCBvZiBfKXcucHVzaCh4KTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHcpfWUuYXN5bmNUb0FycmF5PVN9KShaZXx8KFplPXt9KSk7ZnVuY3Rpb24gTmEoZSl7cmV0dXJuIGV9ZnVuY3Rpb24gU2EoZSx0KXt9ZnVuY3Rpb24gS3QoZSl7aWYoWmUuaXMoZSkpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IG4gb2YgZSlpZihuKXRyeXtuLmRpc3Bvc2UoKX1jYXRjaChyKXt0LnB1c2gocil9aWYodC5sZW5ndGg9PT0xKXRocm93IHRbMF07aWYodC5sZW5ndGg+MSl0aHJvdyBuZXcgQWdncmVnYXRlRXJyb3IodCwiRW5jb3VudGVyZWQgZXJyb3JzIHdoaWxlIGRpc3Bvc2luZyBvZiBzdG9yZSIpO3JldHVybiBBcnJheS5pc0FycmF5KGUpP1tdOmV9ZWxzZSBpZihlKXJldHVybiBlLmRpc3Bvc2UoKSxlfWZ1bmN0aW9uIGVzKC4uLmUpe3JldHVybiBLZSgoKT0+S3QoZSkpfWZ1bmN0aW9uIEtlKGUpe3JldHVybntkaXNwb3NlOktyKCgpPT57ZSgpfSl9fWNsYXNzIENle2NvbnN0cnVjdG9yKCl7dGhpcy5fdG9EaXNwb3NlPW5ldyBTZXQsdGhpcy5faXNEaXNwb3NlZD0hMX1kaXNwb3NlKCl7dGhpcy5faXNEaXNwb3NlZHx8KHRoaXMuX2lzRGlzcG9zZWQ9ITAsdGhpcy5jbGVhcigpKX1nZXQgaXNEaXNwb3NlZCgpe3JldHVybiB0aGlzLl9pc0Rpc3Bvc2VkfWNsZWFyKCl7aWYodGhpcy5fdG9EaXNwb3NlLnNpemUhPT0wKXRyeXtLdCh0aGlzLl90b0Rpc3Bvc2UpfWZpbmFsbHl7dGhpcy5fdG9EaXNwb3NlLmNsZWFyKCl9fWFkZCh0KXtpZighdClyZXR1cm4gdDtpZih0PT09dGhpcyl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCByZWdpc3RlciBhIGRpc3Bvc2FibGUgb24gaXRzZWxmISIpO3JldHVybiB0aGlzLl9pc0Rpc3Bvc2VkP0NlLkRJU0FCTEVfRElTUE9TRURfV0FSTklORzp0aGlzLl90b0Rpc3Bvc2UuYWRkKHQpLHR9ZGVsZXRlQW5kTGVhayh0KXt0JiZ0aGlzLl90b0Rpc3Bvc2UuaGFzKHQpJiZ0aGlzLl90b0Rpc3Bvc2UuZGVsZXRlKHQpfX1DZS5ESVNBQkxFX0RJU1BPU0VEX1dBUk5JTkc9ITE7Y2xhc3MgT2V7Y29uc3RydWN0b3IoKXt0aGlzLl9zdG9yZT1uZXcgQ2UsdGhpcy5fc3RvcmV9ZGlzcG9zZSgpe3RoaXMuX3N0b3JlLmRpc3Bvc2UoKX1fcmVnaXN0ZXIodCl7aWYodD09PXRoaXMpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgcmVnaXN0ZXIgYSBkaXNwb3NhYmxlIG9uIGl0c2VsZiEiKTtyZXR1cm4gdGhpcy5fc3RvcmUuYWRkKHQpfX1PZS5Ob25lPU9iamVjdC5mcmVlemUoe2Rpc3Bvc2UoKXt9fSk7Y2xhc3MgSHtjb25zdHJ1Y3Rvcih0KXt0aGlzLmVsZW1lbnQ9dCx0aGlzLm5leHQ9SC5VbmRlZmluZWQsdGhpcy5wcmV2PUguVW5kZWZpbmVkfX1ILlVuZGVmaW5lZD1uZXcgSCh2b2lkIDApO2NsYXNzIHRze2NvbnN0cnVjdG9yKCl7dGhpcy5fZmlyc3Q9SC5VbmRlZmluZWQsdGhpcy5fbGFzdD1ILlVuZGVmaW5lZCx0aGlzLl9zaXplPTB9Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy5fc2l6ZX1pc0VtcHR5KCl7cmV0dXJuIHRoaXMuX2ZpcnN0PT09SC5VbmRlZmluZWR9Y2xlYXIoKXtsZXQgdD10aGlzLl9maXJzdDtmb3IoO3QhPT1ILlVuZGVmaW5lZDspe2NvbnN0IG49dC5uZXh0O3QucHJldj1ILlVuZGVmaW5lZCx0Lm5leHQ9SC5VbmRlZmluZWQsdD1ufXRoaXMuX2ZpcnN0PUguVW5kZWZpbmVkLHRoaXMuX2xhc3Q9SC5VbmRlZmluZWQsdGhpcy5fc2l6ZT0wfXVuc2hpZnQodCl7cmV0dXJuIHRoaXMuX2luc2VydCh0LCExKX1wdXNoKHQpe3JldHVybiB0aGlzLl9pbnNlcnQodCwhMCl9X2luc2VydCh0LG4pe2NvbnN0IHI9bmV3IEgodCk7aWYodGhpcy5fZmlyc3Q9PT1ILlVuZGVmaW5lZCl0aGlzLl9maXJzdD1yLHRoaXMuX2xhc3Q9cjtlbHNlIGlmKG4pe2NvbnN0IGk9dGhpcy5fbGFzdDt0aGlzLl9sYXN0PXIsci5wcmV2PWksaS5uZXh0PXJ9ZWxzZXtjb25zdCBpPXRoaXMuX2ZpcnN0O3RoaXMuX2ZpcnN0PXIsci5uZXh0PWksaS5wcmV2PXJ9dGhpcy5fc2l6ZSs9MTtsZXQgcz0hMTtyZXR1cm4oKT0+e3N8fChzPSEwLHRoaXMuX3JlbW92ZShyKSl9fXNoaWZ0KCl7aWYodGhpcy5fZmlyc3QhPT1ILlVuZGVmaW5lZCl7Y29uc3QgdD10aGlzLl9maXJzdC5lbGVtZW50O3JldHVybiB0aGlzLl9yZW1vdmUodGhpcy5fZmlyc3QpLHR9fXBvcCgpe2lmKHRoaXMuX2xhc3QhPT1ILlVuZGVmaW5lZCl7Y29uc3QgdD10aGlzLl9sYXN0LmVsZW1lbnQ7cmV0dXJuIHRoaXMuX3JlbW92ZSh0aGlzLl9sYXN0KSx0fX1fcmVtb3ZlKHQpe2lmKHQucHJldiE9PUguVW5kZWZpbmVkJiZ0Lm5leHQhPT1ILlVuZGVmaW5lZCl7Y29uc3Qgbj10LnByZXY7bi5uZXh0PXQubmV4dCx0Lm5leHQucHJldj1ufWVsc2UgdC5wcmV2PT09SC5VbmRlZmluZWQmJnQubmV4dD09PUguVW5kZWZpbmVkPyh0aGlzLl9maXJzdD1ILlVuZGVmaW5lZCx0aGlzLl9sYXN0PUguVW5kZWZpbmVkKTp0Lm5leHQ9PT1ILlVuZGVmaW5lZD8odGhpcy5fbGFzdD10aGlzLl9sYXN0LnByZXYsdGhpcy5fbGFzdC5uZXh0PUguVW5kZWZpbmVkKTp0LnByZXY9PT1ILlVuZGVmaW5lZCYmKHRoaXMuX2ZpcnN0PXRoaXMuX2ZpcnN0Lm5leHQsdGhpcy5fZmlyc3QucHJldj1ILlVuZGVmaW5lZCk7dGhpcy5fc2l6ZS09MX0qW1N5bWJvbC5pdGVyYXRvcl0oKXtsZXQgdD10aGlzLl9maXJzdDtmb3IoO3QhPT1ILlVuZGVmaW5lZDspeWllbGQgdC5lbGVtZW50LHQ9dC5uZXh0fX1jb25zdCBucz1nbG9iYWxUaGlzLnBlcmZvcm1hbmNlJiZ0eXBlb2YgZ2xvYmFsVGhpcy5wZXJmb3JtYW5jZS5ub3c9PSJmdW5jdGlvbiI7Y2xhc3MgZXR7c3RhdGljIGNyZWF0ZSh0KXtyZXR1cm4gbmV3IGV0KHQpfWNvbnN0cnVjdG9yKHQpe3RoaXMuX25vdz1ucyYmdD09PSExP0RhdGUubm93Omdsb2JhbFRoaXMucGVyZm9ybWFuY2Uubm93LmJpbmQoZ2xvYmFsVGhpcy5wZXJmb3JtYW5jZSksdGhpcy5fc3RhcnRUaW1lPXRoaXMuX25vdygpLHRoaXMuX3N0b3BUaW1lPS0xfXN0b3AoKXt0aGlzLl9zdG9wVGltZT10aGlzLl9ub3coKX1yZXNldCgpe3RoaXMuX3N0YXJ0VGltZT10aGlzLl9ub3coKSx0aGlzLl9zdG9wVGltZT0tMX1lbGFwc2VkKCl7cmV0dXJuIHRoaXMuX3N0b3BUaW1lIT09LTE/dGhpcy5fc3RvcFRpbWUtdGhpcy5fc3RhcnRUaW1lOnRoaXMuX25vdygpLXRoaXMuX3N0YXJ0VGltZX19dmFyIF90OyhmdW5jdGlvbihlKXtlLk5vbmU9KCk9Pk9lLk5vbmU7ZnVuY3Rpb24gdChMLGIpe3JldHVybiBmKEwsKCk9Pnt9LDAsdm9pZCAwLCEwLHZvaWQgMCxiKX1lLmRlZmVyPXQ7ZnVuY3Rpb24gbihMKXtyZXR1cm4oYixBPW51bGwsUik9PntsZXQgaz0hMSxGO3JldHVybiBGPUwoVj0+e2lmKCFrKXJldHVybiBGP0YuZGlzcG9zZSgpOms9ITAsYi5jYWxsKEEsVil9LG51bGwsUiksayYmRi5kaXNwb3NlKCksRn19ZS5vbmNlPW47ZnVuY3Rpb24gcihMLGIsQSl7cmV0dXJuIGMoKFIsaz1udWxsLEYpPT5MKFY9PlIuY2FsbChrLGIoVikpLG51bGwsRiksQSl9ZS5tYXA9cjtmdW5jdGlvbiBzKEwsYixBKXtyZXR1cm4gYygoUixrPW51bGwsRik9PkwoVj0+e2IoViksUi5jYWxsKGssVil9LG51bGwsRiksQSl9ZS5mb3JFYWNoPXM7ZnVuY3Rpb24gaShMLGIsQSl7cmV0dXJuIGMoKFIsaz1udWxsLEYpPT5MKFY9PmIoVikmJlIuY2FsbChrLFYpLG51bGwsRiksQSl9ZS5maWx0ZXI9aTtmdW5jdGlvbiBvKEwpe3JldHVybiBMfWUuc2lnbmFsPW87ZnVuY3Rpb24gbCguLi5MKXtyZXR1cm4oYixBPW51bGwsUik9Pntjb25zdCBrPWVzKC4uLkwubWFwKEY9PkYoVj0+Yi5jYWxsKEEsVikpKSk7cmV0dXJuIGgoayxSKX19ZS5hbnk9bDtmdW5jdGlvbiB1KEwsYixBLFIpe2xldCBrPUE7cmV0dXJuIHIoTCxGPT4oaz1iKGssRiksayksUil9ZS5yZWR1Y2U9dTtmdW5jdGlvbiBjKEwsYil7bGV0IEE7Y29uc3QgUj17b25XaWxsQWRkRmlyc3RMaXN0ZW5lcigpe0E9TChrLmZpcmUsayl9LG9uRGlkUmVtb3ZlTGFzdExpc3RlbmVyKCl7QT09bnVsbHx8QS5kaXNwb3NlKCl9fSxrPW5ldyBzZShSKTtyZXR1cm4gYj09bnVsbHx8Yi5hZGQoayksay5ldmVudH1mdW5jdGlvbiBoKEwsYil7cmV0dXJuIGIgaW5zdGFuY2VvZiBBcnJheT9iLnB1c2goTCk6YiYmYi5hZGQoTCksTH1mdW5jdGlvbiBmKEwsYixBPTEwMCxSPSExLGs9ITEsRixWKXtsZXQgWCxRLHFlLG10PTAsQWU7Y29uc3QgdmE9e2xlYWtXYXJuaW5nVGhyZXNob2xkOkYsb25XaWxsQWRkRmlyc3RMaXN0ZW5lcigpe1g9TChMYT0+e210KyssUT1iKFEsTGEpLFImJiFxZSYmKGd0LmZpcmUoUSksUT12b2lkIDApLEFlPSgpPT57Y29uc3Qgd2E9UTtRPXZvaWQgMCxxZT12b2lkIDAsKCFSfHxtdD4xKSYmZ3QuZmlyZSh3YSksbXQ9MH0sdHlwZW9mIEE9PSJudW1iZXIiPyhjbGVhclRpbWVvdXQocWUpLHFlPXNldFRpbWVvdXQoQWUsQSkpOnFlPT09dm9pZCAwJiYocWU9MCxxdWV1ZU1pY3JvdGFzayhBZSkpfSl9LG9uV2lsbFJlbW92ZUxpc3RlbmVyKCl7ayYmbXQ+MCYmKEFlPT1udWxsfHxBZSgpKX0sb25EaWRSZW1vdmVMYXN0TGlzdGVuZXIoKXtBZT12b2lkIDAsWC5kaXNwb3NlKCl9fSxndD1uZXcgc2UodmEpO3JldHVybiBWPT1udWxsfHxWLmFkZChndCksZ3QuZXZlbnR9ZS5kZWJvdW5jZT1mO2Z1bmN0aW9uIGQoTCxiPTAsQSl7cmV0dXJuIGUuZGVib3VuY2UoTCwoUixrKT0+Uj8oUi5wdXNoKGspLFIpOltrXSxiLHZvaWQgMCwhMCx2b2lkIDAsQSl9ZS5hY2N1bXVsYXRlPWQ7ZnVuY3Rpb24gbShMLGI9KFIsayk9PlI9PT1rLEEpe2xldCBSPSEwLGs7cmV0dXJuIGkoTCxGPT57Y29uc3QgVj1SfHwhYihGLGspO3JldHVybiBSPSExLGs9RixWfSxBKX1lLmxhdGNoPW07ZnVuY3Rpb24gZyhMLGIsQSl7cmV0dXJuW2UuZmlsdGVyKEwsYixBKSxlLmZpbHRlcihMLFI9PiFiKFIpLEEpXX1lLnNwbGl0PWc7ZnVuY3Rpb24gcChMLGI9ITEsQT1bXSxSKXtsZXQgaz1BLnNsaWNlKCksRj1MKFE9PntrP2sucHVzaChRKTpYLmZpcmUoUSl9KTtSJiZSLmFkZChGKTtjb25zdCBWPSgpPT57az09bnVsbHx8ay5mb3JFYWNoKFE9PlguZmlyZShRKSksaz1udWxsfSxYPW5ldyBzZSh7b25XaWxsQWRkRmlyc3RMaXN0ZW5lcigpe0Z8fChGPUwoUT0+WC5maXJlKFEpKSxSJiZSLmFkZChGKSl9LG9uRGlkQWRkRmlyc3RMaXN0ZW5lcigpe2smJihiP3NldFRpbWVvdXQoVik6VigpKX0sb25EaWRSZW1vdmVMYXN0TGlzdGVuZXIoKXtGJiZGLmRpc3Bvc2UoKSxGPW51bGx9fSk7cmV0dXJuIFImJlIuYWRkKFgpLFguZXZlbnR9ZS5idWZmZXI9cDtmdW5jdGlvbiB2KEwsYil7cmV0dXJuKFIsayxGKT0+e2NvbnN0IFY9YihuZXcgUyk7cmV0dXJuIEwoZnVuY3Rpb24oWCl7Y29uc3QgUT1WLmV2YWx1YXRlKFgpO1EhPT1OJiZSLmNhbGwoayxRKX0sdm9pZCAwLEYpfX1lLmNoYWluPXY7Y29uc3QgTj1TeW1ib2woIkhhbHRDaGFpbmFibGUiKTtjbGFzcyBTe2NvbnN0cnVjdG9yKCl7dGhpcy5zdGVwcz1bXX1tYXAoYil7cmV0dXJuIHRoaXMuc3RlcHMucHVzaChiKSx0aGlzfWZvckVhY2goYil7cmV0dXJuIHRoaXMuc3RlcHMucHVzaChBPT4oYihBKSxBKSksdGhpc31maWx0ZXIoYil7cmV0dXJuIHRoaXMuc3RlcHMucHVzaChBPT5iKEEpP0E6TiksdGhpc31yZWR1Y2UoYixBKXtsZXQgUj1BO3JldHVybiB0aGlzLnN0ZXBzLnB1c2goaz0+KFI9YihSLGspLFIpKSx0aGlzfWxhdGNoKGI9KEEsUik9PkE9PT1SKXtsZXQgQT0hMCxSO3JldHVybiB0aGlzLnN0ZXBzLnB1c2goaz0+e2NvbnN0IEY9QXx8IWIoayxSKTtyZXR1cm4gQT0hMSxSPWssRj9rOk59KSx0aGlzfWV2YWx1YXRlKGIpe2Zvcihjb25zdCBBIG9mIHRoaXMuc3RlcHMpaWYoYj1BKGIpLGI9PT1OKWJyZWFrO3JldHVybiBifX1mdW5jdGlvbiBfKEwsYixBPVI9PlIpe2NvbnN0IFI9KC4uLlgpPT5WLmZpcmUoQSguLi5YKSksaz0oKT0+TC5vbihiLFIpLEY9KCk9PkwucmVtb3ZlTGlzdGVuZXIoYixSKSxWPW5ldyBzZSh7b25XaWxsQWRkRmlyc3RMaXN0ZW5lcjprLG9uRGlkUmVtb3ZlTGFzdExpc3RlbmVyOkZ9KTtyZXR1cm4gVi5ldmVudH1lLmZyb21Ob2RlRXZlbnRFbWl0dGVyPV87ZnVuY3Rpb24gdyhMLGIsQT1SPT5SKXtjb25zdCBSPSguLi5YKT0+Vi5maXJlKEEoLi4uWCkpLGs9KCk9PkwuYWRkRXZlbnRMaXN0ZW5lcihiLFIpLEY9KCk9PkwucmVtb3ZlRXZlbnRMaXN0ZW5lcihiLFIpLFY9bmV3IHNlKHtvbldpbGxBZGRGaXJzdExpc3RlbmVyOmssb25EaWRSZW1vdmVMYXN0TGlzdGVuZXI6Rn0pO3JldHVybiBWLmV2ZW50fWUuZnJvbURPTUV2ZW50RW1pdHRlcj13O2Z1bmN0aW9uIHgoTCl7cmV0dXJuIG5ldyBQcm9taXNlKGI9Pm4oTCkoYikpfWUudG9Qcm9taXNlPXg7ZnVuY3Rpb24gQyhMKXtjb25zdCBiPW5ldyBzZTtyZXR1cm4gTC50aGVuKEE9PntiLmZpcmUoQSl9LCgpPT57Yi5maXJlKHZvaWQgMCl9KS5maW5hbGx5KCgpPT57Yi5kaXNwb3NlKCl9KSxiLmV2ZW50fWUuZnJvbVByb21pc2U9QztmdW5jdGlvbiBFKEwsYixBKXtyZXR1cm4gYihBKSxMKFI9PmIoUikpfWUucnVuQW5kU3Vic2NyaWJlPUU7Y2xhc3MgeXtjb25zdHJ1Y3RvcihiLEEpe3RoaXMuX29ic2VydmFibGU9Yix0aGlzLl9jb3VudGVyPTAsdGhpcy5faGFzQ2hhbmdlZD0hMTtjb25zdCBSPXtvbldpbGxBZGRGaXJzdExpc3RlbmVyOigpPT57Yi5hZGRPYnNlcnZlcih0aGlzKX0sb25EaWRSZW1vdmVMYXN0TGlzdGVuZXI6KCk9PntiLnJlbW92ZU9ic2VydmVyKHRoaXMpfX07dGhpcy5lbWl0dGVyPW5ldyBzZShSKSxBJiZBLmFkZCh0aGlzLmVtaXR0ZXIpfWJlZ2luVXBkYXRlKGIpe3RoaXMuX2NvdW50ZXIrK31oYW5kbGVQb3NzaWJsZUNoYW5nZShiKXt9aGFuZGxlQ2hhbmdlKGIsQSl7dGhpcy5faGFzQ2hhbmdlZD0hMH1lbmRVcGRhdGUoYil7dGhpcy5fY291bnRlci0tLHRoaXMuX2NvdW50ZXI9PT0wJiYodGhpcy5fb2JzZXJ2YWJsZS5yZXBvcnRDaGFuZ2VzKCksdGhpcy5faGFzQ2hhbmdlZCYmKHRoaXMuX2hhc0NoYW5nZWQ9ITEsdGhpcy5lbWl0dGVyLmZpcmUodGhpcy5fb2JzZXJ2YWJsZS5nZXQoKSkpKX19ZnVuY3Rpb24gVShMLGIpe3JldHVybiBuZXcgeShMLGIpLmVtaXR0ZXIuZXZlbnR9ZS5mcm9tT2JzZXJ2YWJsZT1VO2Z1bmN0aW9uICQoTCl7cmV0dXJuKGIsQSxSKT0+e2xldCBrPTAsRj0hMTtjb25zdCBWPXtiZWdpblVwZGF0ZSgpe2srK30sZW5kVXBkYXRlKCl7ay0tLGs9PT0wJiYoTC5yZXBvcnRDaGFuZ2VzKCksRiYmKEY9ITEsYi5jYWxsKEEpKSl9LGhhbmRsZVBvc3NpYmxlQ2hhbmdlKCl7fSxoYW5kbGVDaGFuZ2UoKXtGPSEwfX07TC5hZGRPYnNlcnZlcihWKSxMLnJlcG9ydENoYW5nZXMoKTtjb25zdCBYPXtkaXNwb3NlKCl7TC5yZW1vdmVPYnNlcnZlcihWKX19O3JldHVybiBSIGluc3RhbmNlb2YgQ2U/Ui5hZGQoWCk6QXJyYXkuaXNBcnJheShSKSYmUi5wdXNoKFgpLFh9fWUuZnJvbU9ic2VydmFibGVMaWdodD0kfSkoX3R8fChfdD17fSkpO2NsYXNzIEVle2NvbnN0cnVjdG9yKHQpe3RoaXMubGlzdGVuZXJDb3VudD0wLHRoaXMuaW52b2NhdGlvbkNvdW50PTAsdGhpcy5lbGFwc2VkT3ZlcmFsbD0wLHRoaXMuZHVyYXRpb25zPVtdLHRoaXMubmFtZT1gJHt0fV8ke0VlLl9pZFBvb2wrK31gLEVlLmFsbC5hZGQodGhpcyl9c3RhcnQodCl7dGhpcy5fc3RvcFdhdGNoPW5ldyBldCx0aGlzLmxpc3RlbmVyQ291bnQ9dH1zdG9wKCl7aWYodGhpcy5fc3RvcFdhdGNoKXtjb25zdCB0PXRoaXMuX3N0b3BXYXRjaC5lbGFwc2VkKCk7dGhpcy5kdXJhdGlvbnMucHVzaCh0KSx0aGlzLmVsYXBzZWRPdmVyYWxsKz10LHRoaXMuaW52b2NhdGlvbkNvdW50Kz0xLHRoaXMuX3N0b3BXYXRjaD12b2lkIDB9fX1FZS5hbGw9bmV3IFNldCxFZS5faWRQb29sPTA7bGV0IHJzPS0xO2NsYXNzIHNze2NvbnN0cnVjdG9yKHQsbj1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDE4KS5zbGljZSgyLDUpKXt0aGlzLnRocmVzaG9sZD10LHRoaXMubmFtZT1uLHRoaXMuX3dhcm5Db3VudGRvd249MH1kaXNwb3NlKCl7dmFyIHQ7KHQ9dGhpcy5fc3RhY2tzKT09PW51bGx8fHQ9PT12b2lkIDB8fHQuY2xlYXIoKX1jaGVjayh0LG4pe2NvbnN0IHI9dGhpcy50aHJlc2hvbGQ7aWYocjw9MHx8bjxyKXJldHVybjt0aGlzLl9zdGFja3N8fCh0aGlzLl9zdGFja3M9bmV3IE1hcCk7Y29uc3Qgcz10aGlzLl9zdGFja3MuZ2V0KHQudmFsdWUpfHwwO2lmKHRoaXMuX3N0YWNrcy5zZXQodC52YWx1ZSxzKzEpLHRoaXMuX3dhcm5Db3VudGRvd24tPTEsdGhpcy5fd2FybkNvdW50ZG93bjw9MCl7dGhpcy5fd2FybkNvdW50ZG93bj1yKi41O2xldCBpLG89MDtmb3IoY29uc3RbbCx1XW9mIHRoaXMuX3N0YWNrcykoIWl8fG88dSkmJihpPWwsbz11KX1yZXR1cm4oKT0+e2NvbnN0IGk9dGhpcy5fc3RhY2tzLmdldCh0LnZhbHVlKXx8MDt0aGlzLl9zdGFja3Muc2V0KHQudmFsdWUsaS0xKX19fWNsYXNzIHB0e3N0YXRpYyBjcmVhdGUoKXt2YXIgdDtyZXR1cm4gbmV3IHB0KCh0PW5ldyBFcnJvcigpLnN0YWNrKSE9PW51bGwmJnQhPT12b2lkIDA/dDoiIil9Y29uc3RydWN0b3IodCl7dGhpcy52YWx1ZT10fXByaW50KCl7fX1jbGFzcyB4dHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnZhbHVlPXR9fWNvbnN0IGlzPTI7Y2xhc3Mgc2V7Y29uc3RydWN0b3IodCl7dmFyIG4scixzLGksbzt0aGlzLl9zaXplPTAsdGhpcy5fb3B0aW9ucz10LHRoaXMuX2xlYWthZ2VNb249ISgobj10aGlzLl9vcHRpb25zKT09PW51bGx8fG49PT12b2lkIDApJiZuLmxlYWtXYXJuaW5nVGhyZXNob2xkP25ldyBzcygocz0ocj10aGlzLl9vcHRpb25zKT09PW51bGx8fHI9PT12b2lkIDA/dm9pZCAwOnIubGVha1dhcm5pbmdUaHJlc2hvbGQpIT09bnVsbCYmcyE9PXZvaWQgMD9zOnJzKTp2b2lkIDAsdGhpcy5fcGVyZk1vbj0hKChpPXRoaXMuX29wdGlvbnMpPT09bnVsbHx8aT09PXZvaWQgMCkmJmkuX3Byb2ZOYW1lP25ldyBFZSh0aGlzLl9vcHRpb25zLl9wcm9mTmFtZSk6dm9pZCAwLHRoaXMuX2RlbGl2ZXJ5UXVldWU9KG89dGhpcy5fb3B0aW9ucyk9PT1udWxsfHxvPT09dm9pZCAwP3ZvaWQgMDpvLmRlbGl2ZXJ5UXVldWV9ZGlzcG9zZSgpe3ZhciB0LG4scixzO3RoaXMuX2Rpc3Bvc2VkfHwodGhpcy5fZGlzcG9zZWQ9ITAsKCh0PXRoaXMuX2RlbGl2ZXJ5UXVldWUpPT09bnVsbHx8dD09PXZvaWQgMD92b2lkIDA6dC5jdXJyZW50KT09PXRoaXMmJnRoaXMuX2RlbGl2ZXJ5UXVldWUucmVzZXQoKSx0aGlzLl9saXN0ZW5lcnMmJih0aGlzLl9saXN0ZW5lcnM9dm9pZCAwLHRoaXMuX3NpemU9MCksKHI9KG49dGhpcy5fb3B0aW9ucyk9PT1udWxsfHxuPT09dm9pZCAwP3ZvaWQgMDpuLm9uRGlkUmVtb3ZlTGFzdExpc3RlbmVyKT09PW51bGx8fHI9PT12b2lkIDB8fHIuY2FsbChuKSwocz10aGlzLl9sZWFrYWdlTW9uKT09PW51bGx8fHM9PT12b2lkIDB8fHMuZGlzcG9zZSgpKX1nZXQgZXZlbnQoKXt2YXIgdDtyZXR1cm4odD10aGlzLl9ldmVudCkhPT1udWxsJiZ0IT09dm9pZCAwfHwodGhpcy5fZXZlbnQ9KG4scixzKT0+e3ZhciBpLG8sbCx1LGM7aWYodGhpcy5fbGVha2FnZU1vbiYmdGhpcy5fc2l6ZT50aGlzLl9sZWFrYWdlTW9uLnRocmVzaG9sZCozfHx0aGlzLl9kaXNwb3NlZClyZXR1cm4gT2UuTm9uZTtyJiYobj1uLmJpbmQocikpO2NvbnN0IGg9bmV3IHh0KG4pO2xldCBmO3RoaXMuX2xlYWthZ2VNb24mJnRoaXMuX3NpemU+PU1hdGguY2VpbCh0aGlzLl9sZWFrYWdlTW9uLnRocmVzaG9sZCouMikmJihoLnN0YWNrPXB0LmNyZWF0ZSgpLGY9dGhpcy5fbGVha2FnZU1vbi5jaGVjayhoLnN0YWNrLHRoaXMuX3NpemUrMSkpLHRoaXMuX2xpc3RlbmVycz90aGlzLl9saXN0ZW5lcnMgaW5zdGFuY2VvZiB4dD8oKGM9dGhpcy5fZGVsaXZlcnlRdWV1ZSkhPT1udWxsJiZjIT09dm9pZCAwfHwodGhpcy5fZGVsaXZlcnlRdWV1ZT1uZXcgYXMpLHRoaXMuX2xpc3RlbmVycz1bdGhpcy5fbGlzdGVuZXJzLGhdKTp0aGlzLl9saXN0ZW5lcnMucHVzaChoKTooKG89KGk9dGhpcy5fb3B0aW9ucyk9PT1udWxsfHxpPT09dm9pZCAwP3ZvaWQgMDppLm9uV2lsbEFkZEZpcnN0TGlzdGVuZXIpPT09bnVsbHx8bz09PXZvaWQgMHx8by5jYWxsKGksdGhpcyksdGhpcy5fbGlzdGVuZXJzPWgsKHU9KGw9dGhpcy5fb3B0aW9ucyk9PT1udWxsfHxsPT09dm9pZCAwP3ZvaWQgMDpsLm9uRGlkQWRkRmlyc3RMaXN0ZW5lcik9PT1udWxsfHx1PT09dm9pZCAwfHx1LmNhbGwobCx0aGlzKSksdGhpcy5fc2l6ZSsrO2NvbnN0IGQ9S2UoKCk9PntmPT1udWxsfHxmKCksdGhpcy5fcmVtb3ZlTGlzdGVuZXIoaCl9KTtyZXR1cm4gcyBpbnN0YW5jZW9mIENlP3MuYWRkKGQpOkFycmF5LmlzQXJyYXkocykmJnMucHVzaChkKSxkfSksdGhpcy5fZXZlbnR9X3JlbW92ZUxpc3RlbmVyKHQpe3ZhciBuLHIscyxpO2lmKChyPShuPXRoaXMuX29wdGlvbnMpPT09bnVsbHx8bj09PXZvaWQgMD92b2lkIDA6bi5vbldpbGxSZW1vdmVMaXN0ZW5lcik9PT1udWxsfHxyPT09dm9pZCAwfHxyLmNhbGwobix0aGlzKSwhdGhpcy5fbGlzdGVuZXJzKXJldHVybjtpZih0aGlzLl9zaXplPT09MSl7dGhpcy5fbGlzdGVuZXJzPXZvaWQgMCwoaT0ocz10aGlzLl9vcHRpb25zKT09PW51bGx8fHM9PT12b2lkIDA/dm9pZCAwOnMub25EaWRSZW1vdmVMYXN0TGlzdGVuZXIpPT09bnVsbHx8aT09PXZvaWQgMHx8aS5jYWxsKHMsdGhpcyksdGhpcy5fc2l6ZT0wO3JldHVybn1jb25zdCBvPXRoaXMuX2xpc3RlbmVycyxsPW8uaW5kZXhPZih0KTtpZihsPT09LTEpdGhyb3cgbmV3IEVycm9yKCJBdHRlbXB0ZWQgdG8gZGlzcG9zZSB1bmtub3duIGxpc3RlbmVyIik7dGhpcy5fc2l6ZS0tLG9bbF09dm9pZCAwO2NvbnN0IHU9dGhpcy5fZGVsaXZlcnlRdWV1ZS5jdXJyZW50PT09dGhpcztpZih0aGlzLl9zaXplKmlzPD1vLmxlbmd0aCl7bGV0IGM9MDtmb3IobGV0IGg9MDtoPG8ubGVuZ3RoO2grKylvW2hdP29bYysrXT1vW2hdOnUmJih0aGlzLl9kZWxpdmVyeVF1ZXVlLmVuZC0tLGM8dGhpcy5fZGVsaXZlcnlRdWV1ZS5pJiZ0aGlzLl9kZWxpdmVyeVF1ZXVlLmktLSk7by5sZW5ndGg9Y319X2RlbGl2ZXIodCxuKXt2YXIgcjtpZighdClyZXR1cm47Y29uc3Qgcz0oKHI9dGhpcy5fb3B0aW9ucyk9PT1udWxsfHxyPT09dm9pZCAwP3ZvaWQgMDpyLm9uTGlzdGVuZXJFcnJvcil8fFF0O2lmKCFzKXt0LnZhbHVlKG4pO3JldHVybn10cnl7dC52YWx1ZShuKX1jYXRjaChpKXtzKGkpfX1fZGVsaXZlclF1ZXVlKHQpe2NvbnN0IG49dC5jdXJyZW50Ll9saXN0ZW5lcnM7Zm9yKDt0Lmk8dC5lbmQ7KXRoaXMuX2RlbGl2ZXIoblt0LmkrK10sdC52YWx1ZSk7dC5yZXNldCgpfWZpcmUodCl7dmFyIG4scixzLGk7aWYoISgobj10aGlzLl9kZWxpdmVyeVF1ZXVlKT09PW51bGx8fG49PT12b2lkIDApJiZuLmN1cnJlbnQmJih0aGlzLl9kZWxpdmVyUXVldWUodGhpcy5fZGVsaXZlcnlRdWV1ZSksKHI9dGhpcy5fcGVyZk1vbik9PT1udWxsfHxyPT09dm9pZCAwfHxyLnN0b3AoKSksKHM9dGhpcy5fcGVyZk1vbik9PT1udWxsfHxzPT09dm9pZCAwfHxzLnN0YXJ0KHRoaXMuX3NpemUpLHRoaXMuX2xpc3RlbmVycylpZih0aGlzLl9saXN0ZW5lcnMgaW5zdGFuY2VvZiB4dCl0aGlzLl9kZWxpdmVyKHRoaXMuX2xpc3RlbmVycyx0KTtlbHNle2NvbnN0IG89dGhpcy5fZGVsaXZlcnlRdWV1ZTtvLmVucXVldWUodGhpcyx0LHRoaXMuX2xpc3RlbmVycy5sZW5ndGgpLHRoaXMuX2RlbGl2ZXJRdWV1ZShvKX0oaT10aGlzLl9wZXJmTW9uKT09PW51bGx8fGk9PT12b2lkIDB8fGkuc3RvcCgpfWhhc0xpc3RlbmVycygpe3JldHVybiB0aGlzLl9zaXplPjB9fWNsYXNzIGFze2NvbnN0cnVjdG9yKCl7dGhpcy5pPS0xLHRoaXMuZW5kPTB9ZW5xdWV1ZSh0LG4scil7dGhpcy5pPTAsdGhpcy5lbmQ9cix0aGlzLmN1cnJlbnQ9dCx0aGlzLnZhbHVlPW59cmVzZXQoKXt0aGlzLmk9dGhpcy5lbmQsdGhpcy5jdXJyZW50PXZvaWQgMCx0aGlzLnZhbHVlPXZvaWQgMH19ZnVuY3Rpb24gb3MoZSl7cmV0dXJuIHR5cGVvZiBlPT0ic3RyaW5nIn1mdW5jdGlvbiBscyhlKXtsZXQgdD1bXTtmb3IoO09iamVjdC5wcm90b3R5cGUhPT1lOyl0PXQuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGUpKSxlPU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTtyZXR1cm4gdH1mdW5jdGlvbiB2dChlKXtjb25zdCB0PVtdO2Zvcihjb25zdCBuIG9mIGxzKGUpKXR5cGVvZiBlW25dPT0iZnVuY3Rpb24iJiZ0LnB1c2gobik7cmV0dXJuIHR9ZnVuY3Rpb24gdXMoZSx0KXtjb25zdCBuPXM9PmZ1bmN0aW9uKCl7Y29uc3QgaT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMCk7cmV0dXJuIHQocyxpKX0scj17fTtmb3IoY29uc3QgcyBvZiBlKXJbc109bihzKTtyZXR1cm4gcn1sZXQgY3M9dHlwZW9mIGRvY3VtZW50PCJ1IiYmZG9jdW1lbnQubG9jYXRpb24mJmRvY3VtZW50LmxvY2F0aW9uLmhhc2guaW5kZXhPZigicHNldWRvPXRydWUiKT49MDtmdW5jdGlvbiBocyhlLHQpe2xldCBuO3JldHVybiB0Lmxlbmd0aD09PTA/bj1lOm49ZS5yZXBsYWNlKC9ceyhcZCspXH0vZywocixzKT0+e2NvbnN0IGk9c1swXSxvPXRbaV07bGV0IGw9cjtyZXR1cm4gdHlwZW9mIG89PSJzdHJpbmciP2w9bzoodHlwZW9mIG89PSJudW1iZXIifHx0eXBlb2Ygbz09ImJvb2xlYW4ifHxvPT09dm9pZCAwfHxvPT09bnVsbCkmJihsPVN0cmluZyhvKSksbH0pLGNzJiYobj0i77y7IituLnJlcGxhY2UoL1thb3VlaV0vZywiJCYkJiIpKyLvvL0iKSxufWZ1bmN0aW9uIHEoZSx0LC4uLm4pe3JldHVybiBocyh0LG4pfWZ1bmN0aW9uIEFhKGUpe312YXIgTHQsd3Q7Y29uc3QgeWU9ImVuIjtsZXQgTnQ9ITEsU3Q9ITEsQXQ9ITEsdHQsUnQ9eWUsZW49eWUsZnMsaWU7Y29uc3QgTGU9Z2xvYmFsVGhpcztsZXQgWTt0eXBlb2YgTGUudnNjb2RlPCJ1IiYmdHlwZW9mIExlLnZzY29kZS5wcm9jZXNzPCJ1Ij9ZPUxlLnZzY29kZS5wcm9jZXNzOnR5cGVvZiBwcm9jZXNzPCJ1IiYmdHlwZW9mKChMdD1wcm9jZXNzPT1udWxsP3ZvaWQgMDpwcm9jZXNzLnZlcnNpb25zKT09PW51bGx8fEx0PT09dm9pZCAwP3ZvaWQgMDpMdC5ub2RlKT09InN0cmluZyImJihZPXByb2Nlc3MpO2NvbnN0IGRzPXR5cGVvZigod3Q9WT09bnVsbD92b2lkIDA6WS52ZXJzaW9ucyk9PT1udWxsfHx3dD09PXZvaWQgMD92b2lkIDA6d3QuZWxlY3Ryb24pPT0ic3RyaW5nIiYmKFk9PW51bGw/dm9pZCAwOlkudHlwZSk9PT0icmVuZGVyZXIiO2lmKHR5cGVvZiBZPT0ib2JqZWN0Iil7TnQ9WS5wbGF0Zm9ybT09PSJ3aW4zMiIsU3Q9WS5wbGF0Zm9ybT09PSJkYXJ3aW4iLEF0PVkucGxhdGZvcm09PT0ibGludXgiLEF0JiZZLmVudi5TTkFQJiZZLmVudi5TTkFQX1JFVklTSU9OLFkuZW52LkNJfHxZLmVudi5CVUlMRF9BUlRJRkFDVFNUQUdJTkdESVJFQ1RPUlksdHQ9eWUsUnQ9eWU7Y29uc3QgZT1ZLmVudi5WU0NPREVfTkxTX0NPTkZJRztpZihlKXRyeXtjb25zdCB0PUpTT04ucGFyc2UoZSksbj10LmF2YWlsYWJsZUxhbmd1YWdlc1siKiJdO3R0PXQubG9jYWxlLGVuPXQub3NMb2NhbGUsUnQ9bnx8eWUsZnM9dC5fdHJhbnNsYXRpb25zQ29uZmlnRmlsZX1jYXRjaHt9fWVsc2UgdHlwZW9mIG5hdmlnYXRvcj09Im9iamVjdCImJiFkcyYmKGllPW5hdmlnYXRvci51c2VyQWdlbnQsTnQ9aWUuaW5kZXhPZigiV2luZG93cyIpPj0wLFN0PWllLmluZGV4T2YoIk1hY2ludG9zaCIpPj0wLChpZS5pbmRleE9mKCJNYWNpbnRvc2giKT49MHx8aWUuaW5kZXhPZigiaVBhZCIpPj0wfHxpZS5pbmRleE9mKCJpUGhvbmUiKT49MCkmJm5hdmlnYXRvci5tYXhUb3VjaFBvaW50cyYmbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzPjAsQXQ9aWUuaW5kZXhPZigiTGludXgiKT49MCwoaWU9PW51bGw/dm9pZCAwOmllLmluZGV4T2YoIk1vYmkiKSk+PTAscSh7a2V5OiJlbnN1cmVMb2FkZXJQbHVnaW5Jc0xvYWRlZCIsY29tbWVudDpbIntMb2NrZWR9Il19LCJfIiksdHQ9eWUsUnQ9dHQsZW49bmF2aWdhdG9yLmxhbmd1YWdlKTtjb25zdCBXZT1OdCxtcz1TdCxsZT1pZSxncz10eXBlb2YgTGUucG9zdE1lc3NhZ2U9PSJmdW5jdGlvbiImJiFMZS5pbXBvcnRTY3JpcHRzOygoKT0+e2lmKGdzKXtjb25zdCBlPVtdO0xlLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLG49PntpZihuLmRhdGEmJm4uZGF0YS52c2NvZGVTY2hlZHVsZUFzeW5jV29yaylmb3IobGV0IHI9MCxzPWUubGVuZ3RoO3I8cztyKyspe2NvbnN0IGk9ZVtyXTtpZihpLmlkPT09bi5kYXRhLnZzY29kZVNjaGVkdWxlQXN5bmNXb3JrKXtlLnNwbGljZShyLDEpLGkuY2FsbGJhY2soKTtyZXR1cm59fX0pO2xldCB0PTA7cmV0dXJuIG49Pntjb25zdCByPSsrdDtlLnB1c2goe2lkOnIsY2FsbGJhY2s6bn0pLExlLnBvc3RNZXNzYWdlKHt2c2NvZGVTY2hlZHVsZUFzeW5jV29yazpyfSwiKiIpfX1yZXR1cm4gZT0+c2V0VGltZW91dChlKX0pKCk7Y29uc3QgYnM9ISEobGUmJmxlLmluZGV4T2YoIkNocm9tZSIpPj0wKTtsZSYmbGUuaW5kZXhPZigiRmlyZWZveCIpPj0wLCFicyYmbGUmJmxlLmluZGV4T2YoIlNhZmFyaSIpPj0wLGxlJiZsZS5pbmRleE9mKCJFZGcvIik+PTAsbGUmJmxlLmluZGV4T2YoIkFuZHJvaWQiKT49MDtjbGFzcyBfc3tjb25zdHJ1Y3Rvcih0LG49SlNPTi5zdHJpbmdpZnkpe3RoaXMuZm49dCx0aGlzLl9jb21wdXRlS2V5PW4sdGhpcy5sYXN0Q2FjaGU9dm9pZCAwLHRoaXMubGFzdEFyZ0tleT12b2lkIDB9Z2V0KHQpe2NvbnN0IG49dGhpcy5fY29tcHV0ZUtleSh0KTtyZXR1cm4gdGhpcy5sYXN0QXJnS2V5IT09biYmKHRoaXMubGFzdEFyZ0tleT1uLHRoaXMubGFzdENhY2hlPXRoaXMuZm4odCkpLHRoaXMubGFzdENhY2hlfX1jbGFzcyB0bntjb25zdHJ1Y3Rvcih0KXt0aGlzLmV4ZWN1dG9yPXQsdGhpcy5fZGlkUnVuPSExfWdldCB2YWx1ZSgpe2lmKCF0aGlzLl9kaWRSdW4pdHJ5e3RoaXMuX3ZhbHVlPXRoaXMuZXhlY3V0b3IoKX1jYXRjaCh0KXt0aGlzLl9lcnJvcj10fWZpbmFsbHl7dGhpcy5fZGlkUnVuPSEwfWlmKHRoaXMuX2Vycm9yKXRocm93IHRoaXMuX2Vycm9yO3JldHVybiB0aGlzLl92YWx1ZX1nZXQgcmF3VmFsdWUoKXtyZXR1cm4gdGhpcy5fdmFsdWV9fXZhciBNZTtmdW5jdGlvbiBwcyhlKXtyZXR1cm4gZS5yZXBsYWNlKC9bXFxce1x9XCpcK1w/XHxcXlwkXC5cW1xdXChcKV0vZywiXFwkJiIpfWZ1bmN0aW9uIHhzKGUpe3JldHVybiBlLnNwbGl0KC9cclxufFxyfFxuLyl9ZnVuY3Rpb24gdnMoZSl7Zm9yKGxldCB0PTAsbj1lLmxlbmd0aDt0PG47dCsrKXtjb25zdCByPWUuY2hhckNvZGVBdCh0KTtpZihyIT09MzImJnIhPT05KXJldHVybiB0fXJldHVybi0xfWZ1bmN0aW9uIExzKGUsdD1lLmxlbmd0aC0xKXtmb3IobGV0IG49dDtuPj0wO24tLSl7Y29uc3Qgcj1lLmNoYXJDb2RlQXQobik7aWYociE9PTMyJiZyIT09OSlyZXR1cm4gbn1yZXR1cm4tMX1mdW5jdGlvbiBubihlKXtyZXR1cm4gZT49NjUmJmU8PTkwfWZ1bmN0aW9uIEN0KGUpe3JldHVybiA1NTI5Njw9ZSYmZTw9NTYzMTl9ZnVuY3Rpb24gd3MoZSl7cmV0dXJuIDU2MzIwPD1lJiZlPD01NzM0M31mdW5jdGlvbiBOcyhlLHQpe3JldHVybihlLTU1Mjk2PDwxMCkrKHQtNTYzMjApKzY1NTM2fWZ1bmN0aW9uIFNzKGUsdCxuKXtjb25zdCByPWUuY2hhckNvZGVBdChuKTtpZihDdChyKSYmbisxPHQpe2NvbnN0IHM9ZS5jaGFyQ29kZUF0KG4rMSk7aWYod3MocykpcmV0dXJuIE5zKHIscyl9cmV0dXJuIHJ9Y29uc3QgQXM9L15bXHRcblxyXHgyMC1ceDdFXSokLztmdW5jdGlvbiBScyhlKXtyZXR1cm4gQXMudGVzdChlKX1jbGFzcyB3ZXtzdGF0aWMgZ2V0SW5zdGFuY2UodCl7cmV0dXJuIE1lLmNhY2hlLmdldChBcnJheS5mcm9tKHQpKX1zdGF0aWMgZ2V0TG9jYWxlcygpe3JldHVybiBNZS5fbG9jYWxlcy52YWx1ZX1jb25zdHJ1Y3Rvcih0KXt0aGlzLmNvbmZ1c2FibGVEaWN0aW9uYXJ5PXR9aXNBbWJpZ3VvdXModCl7cmV0dXJuIHRoaXMuY29uZnVzYWJsZURpY3Rpb25hcnkuaGFzKHQpfWdldFByaW1hcnlDb25mdXNhYmxlKHQpe3JldHVybiB0aGlzLmNvbmZ1c2FibGVEaWN0aW9uYXJ5LmdldCh0KX1nZXRDb25mdXNhYmxlQ29kZVBvaW50cygpe3JldHVybiBuZXcgU2V0KHRoaXMuY29uZnVzYWJsZURpY3Rpb25hcnkua2V5cygpKX19TWU9d2Usd2UuYW1iaWd1b3VzQ2hhcmFjdGVyRGF0YT1uZXcgdG4oKCk9PkpTT04ucGFyc2UoJ3siX2NvbW1vbiI6WzgyMzIsMzIsODIzMywzMiw1NzYwLDMyLDgxOTIsMzIsODE5MywzMiw4MTk0LDMyLDgxOTUsMzIsODE5NiwzMiw4MTk3LDMyLDgxOTgsMzIsODIwMCwzMiw4MjAxLDMyLDgyMDIsMzIsODI4NywzMiw4MTk5LDMyLDgyMzksMzIsMjA0Miw5NSw2NTEwMSw5NSw2NTEwMiw5NSw2NTEwMyw5NSw4MjA4LDQ1LDgyMDksNDUsODIxMCw0NSw2NTExMiw0NSwxNzQ4LDQ1LDgyNTksNDUsNzI3LDQ1LDg3MjIsNDUsMTAxMzQsNDUsMTE0NTAsNDUsMTU0OSw0NCwxNjQzLDQ0LDgyMTgsNDQsMTg0LDQ0LDQyMjMzLDQ0LDg5NCw1OSwyMzA3LDU4LDI2OTEsNTgsMTQxNyw1OCwxNzk1LDU4LDE3OTYsNTgsNTg2OCw1OCw2NTA3Miw1OCw2MTQ3LDU4LDYxNTMsNTgsODI4Miw1OCwxNDc1LDU4LDc2MCw1OCw0Mjg4OSw1OCw4NzU4LDU4LDcyMCw1OCw0MjIzNyw1OCw0NTEsMzMsMTE2MDEsMzMsNjYwLDYzLDU3Nyw2MywyNDI5LDYzLDUwMzgsNjMsNDI3MzEsNjMsMTE5MTQ5LDQ2LDgyMjgsNDYsMTc5Myw0NiwxNzk0LDQ2LDQyNTEwLDQ2LDY4MTc2LDQ2LDE2MzIsNDYsMTc3Niw0Niw0MjIzMiw0NiwxMzczLDk2LDY1Mjg3LDk2LDgyMTksOTYsODI0Miw5NiwxMzcwLDk2LDE1MjMsOTYsODE3NSw5Niw2NTM0NCw5Niw5MDAsOTYsODE4OSw5Niw4MTI1LDk2LDgxMjcsOTYsODE5MCw5Niw2OTcsOTYsODg0LDk2LDcxMiw5Niw3MTQsOTYsNzE1LDk2LDc1Niw5Niw2OTksOTYsNzAxLDk2LDcwMCw5Niw3MDIsOTYsNDI4OTIsOTYsMTQ5Nyw5NiwyMDM2LDk2LDIwMzcsOTYsNTE5NCw5Niw1ODM2LDk2LDk0MDMzLDk2LDk0MDM0LDk2LDY1MzM5LDkxLDEwMDg4LDQwLDEwMDk4LDQwLDEyMzA4LDQwLDY0ODMwLDQwLDY1MzQxLDkzLDEwMDg5LDQxLDEwMDk5LDQxLDEyMzA5LDQxLDY0ODMxLDQxLDEwMTAwLDEyMywxMTkwNjAsMTIzLDEwMTAxLDEyNSw2NTM0Miw5NCw4MjcwLDQyLDE2NDUsNDIsODcyNyw0Miw2NjMzNSw0Miw1OTQxLDQ3LDgyNTcsNDcsODcyNSw0Nyw4MjYwLDQ3LDk1ODUsNDcsMTAxODcsNDcsMTA3NDQsNDcsMTE5MzU0LDQ3LDEyNzU1LDQ3LDEyMzM5LDQ3LDExNDYyLDQ3LDIwMDMxLDQ3LDEyMDM1LDQ3LDY1MzQwLDkyLDY1MTI4LDkyLDg3MjYsOTIsMTAxODksOTIsMTA3NDEsOTIsMTA3NDUsOTIsMTE5MzExLDkyLDExOTM1NSw5MiwxMjc1Niw5MiwyMDAyMiw5MiwxMjAzNCw5Miw0Mjg3MiwzOCw3MDgsOTQsNzEwLDk0LDU4NjksNDMsMTAxMzMsNDMsNjYyMDMsNDMsODI0OSw2MCwxMDA5NCw2MCw3MDYsNjAsMTE5MzUwLDYwLDUxNzYsNjAsNTgxMCw2MCw1MTIwLDYxLDExODQwLDYxLDEyNDQ4LDYxLDQyMjM5LDYxLDgyNTAsNjIsMTAwOTUsNjIsNzA3LDYyLDExOTM1MSw2Miw1MTcxLDYyLDk0MDE1LDYyLDgyNzUsMTI2LDczMiwxMjYsODEyOCwxMjYsODc2NCwxMjYsNjUzNzIsMTI0LDY1MjkzLDQ1LDEyMDc4NCw1MCwxMjA3OTQsNTAsMTIwODA0LDUwLDEyMDgxNCw1MCwxMjA4MjQsNTAsMTMwMDM0LDUwLDQyODQyLDUwLDQyMyw1MCwxMDAwLDUwLDQyNTY0LDUwLDUzMTEsNTAsNDI3MzUsNTAsMTE5MzAyLDUxLDEyMDc4NSw1MSwxMjA3OTUsNTEsMTIwODA1LDUxLDEyMDgxNSw1MSwxMjA4MjUsNTEsMTMwMDM1LDUxLDQyOTIzLDUxLDU0MCw1MSw0MzksNTEsNDI4NTgsNTEsMTE0NjgsNTEsMTI0OCw1MSw5NDAxMSw1MSw3MTg4Miw1MSwxMjA3ODYsNTIsMTIwNzk2LDUyLDEyMDgwNiw1MiwxMjA4MTYsNTIsMTIwODI2LDUyLDEzMDAzNiw1Miw1MDcwLDUyLDcxODU1LDUyLDEyMDc4Nyw1MywxMjA3OTcsNTMsMTIwODA3LDUzLDEyMDgxNyw1MywxMjA4MjcsNTMsMTMwMDM3LDUzLDQ0NCw1Myw3MTg2Nyw1MywxMjA3ODgsNTQsMTIwNzk4LDU0LDEyMDgwOCw1NCwxMjA4MTgsNTQsMTIwODI4LDU0LDEzMDAzOCw1NCwxMTQ3NCw1NCw1MTAyLDU0LDcxODkzLDU0LDExOTMxNCw1NSwxMjA3ODksNTUsMTIwNzk5LDU1LDEyMDgwOSw1NSwxMjA4MTksNTUsMTIwODI5LDU1LDEzMDAzOSw1NSw2Njc3MCw1NSw3MTg3OCw1NSwyODE5LDU2LDI1MzgsNTYsMjY2Niw1NiwxMjUxMzEsNTYsMTIwNzkwLDU2LDEyMDgwMCw1NiwxMjA4MTAsNTYsMTIwODIwLDU2LDEyMDgzMCw1NiwxMzAwNDAsNTYsNTQ3LDU2LDU0Niw1Niw2NjMzMCw1NiwyNjYzLDU3LDI5MjAsNTcsMjU0MSw1NywzNDM3LDU3LDEyMDc5MSw1NywxMjA4MDEsNTcsMTIwODExLDU3LDEyMDgyMSw1NywxMjA4MzEsNTcsMTMwMDQxLDU3LDQyODYyLDU3LDExNDY2LDU3LDcxODg0LDU3LDcxODUyLDU3LDcxODk0LDU3LDkwODIsOTcsNjUzNDUsOTcsMTE5ODM0LDk3LDExOTg4Niw5NywxMTk5MzgsOTcsMTE5OTkwLDk3LDEyMDA0Miw5NywxMjAwOTQsOTcsMTIwMTQ2LDk3LDEyMDE5OCw5NywxMjAyNTAsOTcsMTIwMzAyLDk3LDEyMDM1NCw5NywxMjA0MDYsOTcsMTIwNDU4LDk3LDU5Myw5Nyw5NDUsOTcsMTIwNTE0LDk3LDEyMDU3Miw5NywxMjA2MzAsOTcsMTIwNjg4LDk3LDEyMDc0Niw5Nyw2NTMxMyw2NSwxMTk4MDgsNjUsMTE5ODYwLDY1LDExOTkxMiw2NSwxMTk5NjQsNjUsMTIwMDE2LDY1LDEyMDA2OCw2NSwxMjAxMjAsNjUsMTIwMTcyLDY1LDEyMDIyNCw2NSwxMjAyNzYsNjUsMTIwMzI4LDY1LDEyMDM4MCw2NSwxMjA0MzIsNjUsOTEzLDY1LDEyMDQ4OCw2NSwxMjA1NDYsNjUsMTIwNjA0LDY1LDEyMDY2Miw2NSwxMjA3MjAsNjUsNTAzNCw2NSw1NTczLDY1LDQyMjIyLDY1LDk0MDE2LDY1LDY2MjA4LDY1LDExOTgzNSw5OCwxMTk4ODcsOTgsMTE5OTM5LDk4LDExOTk5MSw5OCwxMjAwNDMsOTgsMTIwMDk1LDk4LDEyMDE0Nyw5OCwxMjAxOTksOTgsMTIwMjUxLDk4LDEyMDMwMyw5OCwxMjAzNTUsOTgsMTIwNDA3LDk4LDEyMDQ1OSw5OCwzODgsOTgsNTA3MSw5OCw1MjM0LDk4LDU1NTEsOTgsNjUzMTQsNjYsODQ5Miw2NiwxMTk4MDksNjYsMTE5ODYxLDY2LDExOTkxMyw2NiwxMjAwMTcsNjYsMTIwMDY5LDY2LDEyMDEyMSw2NiwxMjAxNzMsNjYsMTIwMjI1LDY2LDEyMDI3Nyw2NiwxMjAzMjksNjYsMTIwMzgxLDY2LDEyMDQzMyw2Niw0MjkzMiw2Niw5MTQsNjYsMTIwNDg5LDY2LDEyMDU0Nyw2NiwxMjA2MDUsNjYsMTIwNjYzLDY2LDEyMDcyMSw2Niw1MTA4LDY2LDU2MjMsNjYsNDIxOTIsNjYsNjYxNzgsNjYsNjYyMDksNjYsNjYzMDUsNjYsNjUzNDcsOTksODU3Myw5OSwxMTk4MzYsOTksMTE5ODg4LDk5LDExOTk0MCw5OSwxMTk5OTIsOTksMTIwMDQ0LDk5LDEyMDA5Niw5OSwxMjAxNDgsOTksMTIwMjAwLDk5LDEyMDI1Miw5OSwxMjAzMDQsOTksMTIwMzU2LDk5LDEyMDQwOCw5OSwxMjA0NjAsOTksNzQyOCw5OSwxMDEwLDk5LDExNDI5LDk5LDQzOTUxLDk5LDY2NjIxLDk5LDEyODg0NCw2Nyw3MTkyMiw2Nyw3MTkxMyw2Nyw2NTMxNSw2Nyw4NTU3LDY3LDg0NTAsNjcsODQ5Myw2NywxMTk4MTAsNjcsMTE5ODYyLDY3LDExOTkxNCw2NywxMTk5NjYsNjcsMTIwMDE4LDY3LDEyMDE3NCw2NywxMjAyMjYsNjcsMTIwMjc4LDY3LDEyMDMzMCw2NywxMjAzODIsNjcsMTIwNDM0LDY3LDEwMTcsNjcsMTE0MjgsNjcsNTA4Nyw2Nyw0MjIwMiw2Nyw2NjIxMCw2Nyw2NjMwNiw2Nyw2NjU4MSw2Nyw2Njg0NCw2Nyw4NTc0LDEwMCw4NTE4LDEwMCwxMTk4MzcsMTAwLDExOTg4OSwxMDAsMTE5OTQxLDEwMCwxMTk5OTMsMTAwLDEyMDA0NSwxMDAsMTIwMDk3LDEwMCwxMjAxNDksMTAwLDEyMDIwMSwxMDAsMTIwMjUzLDEwMCwxMjAzMDUsMTAwLDEyMDM1NywxMDAsMTIwNDA5LDEwMCwxMjA0NjEsMTAwLDEyODEsMTAwLDUwOTUsMTAwLDUyMzEsMTAwLDQyMTk0LDEwMCw4NTU4LDY4LDg1MTcsNjgsMTE5ODExLDY4LDExOTg2Myw2OCwxMTk5MTUsNjgsMTE5OTY3LDY4LDEyMDAxOSw2OCwxMjAwNzEsNjgsMTIwMTIzLDY4LDEyMDE3NSw2OCwxMjAyMjcsNjgsMTIwMjc5LDY4LDEyMDMzMSw2OCwxMjAzODMsNjgsMTIwNDM1LDY4LDUwMjQsNjgsNTU5OCw2OCw1NjEwLDY4LDQyMTk1LDY4LDg0OTQsMTAxLDY1MzQ5LDEwMSw4NDk1LDEwMSw4NTE5LDEwMSwxMTk4MzgsMTAxLDExOTg5MCwxMDEsMTE5OTQyLDEwMSwxMjAwNDYsMTAxLDEyMDA5OCwxMDEsMTIwMTUwLDEwMSwxMjAyMDIsMTAxLDEyMDI1NCwxMDEsMTIwMzA2LDEwMSwxMjAzNTgsMTAxLDEyMDQxMCwxMDEsMTIwNDYyLDEwMSw0MzgyNiwxMDEsMTIxMywxMDEsODk1OSw2OSw2NTMxNyw2OSw4NDk2LDY5LDExOTgxMiw2OSwxMTk4NjQsNjksMTE5OTE2LDY5LDEyMDAyMCw2OSwxMjAwNzIsNjksMTIwMTI0LDY5LDEyMDE3Niw2OSwxMjAyMjgsNjksMTIwMjgwLDY5LDEyMDMzMiw2OSwxMjAzODQsNjksMTIwNDM2LDY5LDkxNyw2OSwxMjA0OTIsNjksMTIwNTUwLDY5LDEyMDYwOCw2OSwxMjA2NjYsNjksMTIwNzI0LDY5LDExNTc3LDY5LDUwMzYsNjksNDIyMjQsNjksNzE4NDYsNjksNzE4NTQsNjksNjYxODIsNjksMTE5ODM5LDEwMiwxMTk4OTEsMTAyLDExOTk0MywxMDIsMTE5OTk1LDEwMiwxMjAwNDcsMTAyLDEyMDA5OSwxMDIsMTIwMTUxLDEwMiwxMjAyMDMsMTAyLDEyMDI1NSwxMDIsMTIwMzA3LDEwMiwxMjAzNTksMTAyLDEyMDQxMSwxMDIsMTIwNDYzLDEwMiw0MzgyOSwxMDIsNDI5MDUsMTAyLDM4MywxMDIsNzgzNywxMDIsMTQxMiwxMDIsMTE5MzE1LDcwLDg0OTcsNzAsMTE5ODEzLDcwLDExOTg2NSw3MCwxMTk5MTcsNzAsMTIwMDIxLDcwLDEyMDA3Myw3MCwxMjAxMjUsNzAsMTIwMTc3LDcwLDEyMDIyOSw3MCwxMjAyODEsNzAsMTIwMzMzLDcwLDEyMDM4NSw3MCwxMjA0MzcsNzAsNDI5MDQsNzAsOTg4LDcwLDEyMDc3OCw3MCw1NTU2LDcwLDQyMjA1LDcwLDcxODc0LDcwLDcxODQyLDcwLDY2MTgzLDcwLDY2MjEzLDcwLDY2ODUzLDcwLDY1MzUxLDEwMyw4NDU4LDEwMywxMTk4NDAsMTAzLDExOTg5MiwxMDMsMTE5OTQ0LDEwMywxMjAwNDgsMTAzLDEyMDEwMCwxMDMsMTIwMTUyLDEwMywxMjAyMDQsMTAzLDEyMDI1NiwxMDMsMTIwMzA4LDEwMywxMjAzNjAsMTAzLDEyMDQxMiwxMDMsMTIwNDY0LDEwMyw2MDksMTAzLDc1NTUsMTAzLDM5NywxMDMsMTQwOSwxMDMsMTE5ODE0LDcxLDExOTg2Niw3MSwxMTk5MTgsNzEsMTE5OTcwLDcxLDEyMDAyMiw3MSwxMjAwNzQsNzEsMTIwMTI2LDcxLDEyMDE3OCw3MSwxMjAyMzAsNzEsMTIwMjgyLDcxLDEyMDMzNCw3MSwxMjAzODYsNzEsMTIwNDM4LDcxLDEyOTIsNzEsNTA1Niw3MSw1MTA3LDcxLDQyMTk4LDcxLDY1MzUyLDEwNCw4NDYyLDEwNCwxMTk4NDEsMTA0LDExOTk0NSwxMDQsMTE5OTk3LDEwNCwxMjAwNDksMTA0LDEyMDEwMSwxMDQsMTIwMTUzLDEwNCwxMjAyMDUsMTA0LDEyMDI1NywxMDQsMTIwMzA5LDEwNCwxMjAzNjEsMTA0LDEyMDQxMywxMDQsMTIwNDY1LDEwNCwxMjExLDEwNCwxMzkyLDEwNCw1MDU4LDEwNCw2NTMyMCw3Miw4NDU5LDcyLDg0NjAsNzIsODQ2MSw3MiwxMTk4MTUsNzIsMTE5ODY3LDcyLDExOTkxOSw3MiwxMjAwMjMsNzIsMTIwMTc5LDcyLDEyMDIzMSw3MiwxMjAyODMsNzIsMTIwMzM1LDcyLDEyMDM4Nyw3MiwxMjA0MzksNzIsOTE5LDcyLDEyMDQ5NCw3MiwxMjA1NTIsNzIsMTIwNjEwLDcyLDEyMDY2OCw3MiwxMjA3MjYsNzIsMTE0MDYsNzIsNTA1MSw3Miw1NTAwLDcyLDQyMjE1LDcyLDY2MjU1LDcyLDczMSwxMDUsOTA3NSwxMDUsNjUzNTMsMTA1LDg1NjAsMTA1LDg1MDUsMTA1LDg1MjAsMTA1LDExOTg0MiwxMDUsMTE5ODk0LDEwNSwxMTk5NDYsMTA1LDExOTk5OCwxMDUsMTIwMDUwLDEwNSwxMjAxMDIsMTA1LDEyMDE1NCwxMDUsMTIwMjA2LDEwNSwxMjAyNTgsMTA1LDEyMDMxMCwxMDUsMTIwMzYyLDEwNSwxMjA0MTQsMTA1LDEyMDQ2NiwxMDUsMTIwNDg0LDEwNSw2MTgsMTA1LDYxNywxMDUsOTUzLDEwNSw4MTI2LDEwNSw4OTAsMTA1LDEyMDUyMiwxMDUsMTIwNTgwLDEwNSwxMjA2MzgsMTA1LDEyMDY5NiwxMDUsMTIwNzU0LDEwNSwxMTEwLDEwNSw0MjU2NywxMDUsMTIzMSwxMDUsNDM4OTMsMTA1LDUwMjksMTA1LDcxODc1LDEwNSw2NTM1NCwxMDYsODUyMSwxMDYsMTE5ODQzLDEwNiwxMTk4OTUsMTA2LDExOTk0NywxMDYsMTE5OTk5LDEwNiwxMjAwNTEsMTA2LDEyMDEwMywxMDYsMTIwMTU1LDEwNiwxMjAyMDcsMTA2LDEyMDI1OSwxMDYsMTIwMzExLDEwNiwxMjAzNjMsMTA2LDEyMDQxNSwxMDYsMTIwNDY3LDEwNiwxMDExLDEwNiwxMTEyLDEwNiw2NTMyMiw3NCwxMTk4MTcsNzQsMTE5ODY5LDc0LDExOTkyMSw3NCwxMTk5NzMsNzQsMTIwMDI1LDc0LDEyMDA3Nyw3NCwxMjAxMjksNzQsMTIwMTgxLDc0LDEyMDIzMyw3NCwxMjAyODUsNzQsMTIwMzM3LDc0LDEyMDM4OSw3NCwxMjA0NDEsNzQsNDI5MzAsNzQsODk1LDc0LDEwMzIsNzQsNTAzNSw3NCw1MjYxLDc0LDQyMjAxLDc0LDExOTg0NCwxMDcsMTE5ODk2LDEwNywxMTk5NDgsMTA3LDEyMDAwMCwxMDcsMTIwMDUyLDEwNywxMjAxMDQsMTA3LDEyMDE1NiwxMDcsMTIwMjA4LDEwNywxMjAyNjAsMTA3LDEyMDMxMiwxMDcsMTIwMzY0LDEwNywxMjA0MTYsMTA3LDEyMDQ2OCwxMDcsODQ5MCw3NSw2NTMyMyw3NSwxMTk4MTgsNzUsMTE5ODcwLDc1LDExOTkyMiw3NSwxMTk5NzQsNzUsMTIwMDI2LDc1LDEyMDA3OCw3NSwxMjAxMzAsNzUsMTIwMTgyLDc1LDEyMDIzNCw3NSwxMjAyODYsNzUsMTIwMzM4LDc1LDEyMDM5MCw3NSwxMjA0NDIsNzUsOTIyLDc1LDEyMDQ5Nyw3NSwxMjA1NTUsNzUsMTIwNjEzLDc1LDEyMDY3MSw3NSwxMjA3MjksNzUsMTE0MTIsNzUsNTA5NCw3NSw1ODQ1LDc1LDQyMTk5LDc1LDY2ODQwLDc1LDE0NzIsMTA4LDg3MzksNzMsOTIxMyw3Myw2NTUxMiw3MywxNjMzLDEwOCwxNzc3LDczLDY2MzM2LDEwOCwxMjUxMjcsMTA4LDEyMDc4Myw3MywxMjA3OTMsNzMsMTIwODAzLDczLDEyMDgxMyw3MywxMjA4MjMsNzMsMTMwMDMzLDczLDY1MzIxLDczLDg1NDQsNzMsODQ2NCw3Myw4NDY1LDczLDExOTgxNiw3MywxMTk4NjgsNzMsMTE5OTIwLDczLDEyMDAyNCw3MywxMjAxMjgsNzMsMTIwMTgwLDczLDEyMDIzMiw3MywxMjAyODQsNzMsMTIwMzM2LDczLDEyMDM4OCw3MywxMjA0NDAsNzMsNjUzNTYsMTA4LDg1NzIsNzMsODQ2NywxMDgsMTE5ODQ1LDEwOCwxMTk4OTcsMTA4LDExOTk0OSwxMDgsMTIwMDAxLDEwOCwxMjAwNTMsMTA4LDEyMDEwNSw3MywxMjAxNTcsNzMsMTIwMjA5LDczLDEyMDI2MSw3MywxMjAzMTMsNzMsMTIwMzY1LDczLDEyMDQxNyw3MywxMjA0NjksNzMsNDQ4LDczLDEyMDQ5Niw3MywxMjA1NTQsNzMsMTIwNjEyLDczLDEyMDY3MCw3MywxMjA3MjgsNzMsMTE0MTAsNzMsMTAzMCw3MywxMjE2LDczLDE0OTMsMTA4LDE1MDMsMTA4LDE1NzUsMTA4LDEyNjQ2NCwxMDgsMTI2NTkyLDEwOCw2NTE2NiwxMDgsNjUxNjUsMTA4LDE5OTQsMTA4LDExNTk5LDczLDU4MjUsNzMsNDIyMjYsNzMsOTM5OTIsNzMsNjYxODYsMTI0LDY2MzEzLDEyNCwxMTkzMzgsNzYsODU1Niw3Niw4NDY2LDc2LDExOTgxOSw3NiwxMTk4NzEsNzYsMTE5OTIzLDc2LDEyMDAyNyw3NiwxMjAwNzksNzYsMTIwMTMxLDc2LDEyMDE4Myw3NiwxMjAyMzUsNzYsMTIwMjg3LDc2LDEyMDMzOSw3NiwxMjAzOTEsNzYsMTIwNDQzLDc2LDExNDcyLDc2LDUwODYsNzYsNTI5MCw3Niw0MjIwOSw3Niw5Mzk3NCw3Niw3MTg0Myw3Niw3MTg1OCw3Niw2NjU4Nyw3Niw2Njg1NCw3Niw2NTMyNSw3Nyw4NTU5LDc3LDg0OTksNzcsMTE5ODIwLDc3LDExOTg3Miw3NywxMTk5MjQsNzcsMTIwMDI4LDc3LDEyMDA4MCw3NywxMjAxMzIsNzcsMTIwMTg0LDc3LDEyMDIzNiw3NywxMjAyODgsNzcsMTIwMzQwLDc3LDEyMDM5Miw3NywxMjA0NDQsNzcsOTI0LDc3LDEyMDQ5OSw3NywxMjA1NTcsNzcsMTIwNjE1LDc3LDEyMDY3Myw3NywxMjA3MzEsNzcsMTAxOCw3NywxMTQxNiw3Nyw1MDQ3LDc3LDU2MTYsNzcsNTg0Niw3Nyw0MjIwNyw3Nyw2NjIyNCw3Nyw2NjMyMSw3NywxMTk4NDcsMTEwLDExOTg5OSwxMTAsMTE5OTUxLDExMCwxMjAwMDMsMTEwLDEyMDA1NSwxMTAsMTIwMTA3LDExMCwxMjAxNTksMTEwLDEyMDIxMSwxMTAsMTIwMjYzLDExMCwxMjAzMTUsMTEwLDEyMDM2NywxMTAsMTIwNDE5LDExMCwxMjA0NzEsMTEwLDE0MDAsMTEwLDE0MDQsMTEwLDY1MzI2LDc4LDg0NjksNzgsMTE5ODIxLDc4LDExOTg3Myw3OCwxMTk5MjUsNzgsMTE5OTc3LDc4LDEyMDAyOSw3OCwxMjAwODEsNzgsMTIwMTg1LDc4LDEyMDIzNyw3OCwxMjAyODksNzgsMTIwMzQxLDc4LDEyMDM5Myw3OCwxMjA0NDUsNzgsOTI1LDc4LDEyMDUwMCw3OCwxMjA1NTgsNzgsMTIwNjE2LDc4LDEyMDY3NCw3OCwxMjA3MzIsNzgsMTE0MTgsNzgsNDIyMDgsNzgsNjY4MzUsNzgsMzA3NCwxMTEsMzIwMiwxMTEsMzMzMCwxMTEsMzQ1OCwxMTEsMjQwNiwxMTEsMjY2MiwxMTEsMjc5MCwxMTEsMzA0NiwxMTEsMzE3NCwxMTEsMzMwMiwxMTEsMzQzMCwxMTEsMzY2NCwxMTEsMzc5MiwxMTEsNDE2MCwxMTEsMTYzNywxMTEsMTc4MSwxMTEsNjUzNTksMTExLDg1MDAsMTExLDExOTg0OCwxMTEsMTE5OTAwLDExMSwxMTk5NTIsMTExLDEyMDA1NiwxMTEsMTIwMTA4LDExMSwxMjAxNjAsMTExLDEyMDIxMiwxMTEsMTIwMjY0LDExMSwxMjAzMTYsMTExLDEyMDM2OCwxMTEsMTIwNDIwLDExMSwxMjA0NzIsMTExLDc0MzksMTExLDc0NDEsMTExLDQzODM3LDExMSw5NTksMTExLDEyMDUyOCwxMTEsMTIwNTg2LDExMSwxMjA2NDQsMTExLDEyMDcwMiwxMTEsMTIwNzYwLDExMSw5NjMsMTExLDEyMDUzMiwxMTEsMTIwNTkwLDExMSwxMjA2NDgsMTExLDEyMDcwNiwxMTEsMTIwNzY0LDExMSwxMTQyMywxMTEsNDM1MSwxMTEsMTQxMywxMTEsMTUwNSwxMTEsMTYwNywxMTEsMTI2NTAwLDExMSwxMjY1NjQsMTExLDEyNjU5NiwxMTEsNjUyNTksMTExLDY1MjYwLDExMSw2NTI1OCwxMTEsNjUyNTcsMTExLDE3MjYsMTExLDY0NDI4LDExMSw2NDQyOSwxMTEsNjQ0MjcsMTExLDY0NDI2LDExMSwxNzI5LDExMSw2NDQyNCwxMTEsNjQ0MjUsMTExLDY0NDIzLDExMSw2NDQyMiwxMTEsMTc0OSwxMTEsMzM2MCwxMTEsNDEyNSwxMTEsNjY3OTQsMTExLDcxODgwLDExMSw3MTg5NSwxMTEsNjY2MDQsMTExLDE5ODQsNzksMjUzNCw3OSwyOTE4LDc5LDEyMjk1LDc5LDcwODY0LDc5LDcxOTA0LDc5LDEyMDc4Miw3OSwxMjA3OTIsNzksMTIwODAyLDc5LDEyMDgxMiw3OSwxMjA4MjIsNzksMTMwMDMyLDc5LDY1MzI3LDc5LDExOTgyMiw3OSwxMTk4NzQsNzksMTE5OTI2LDc5LDExOTk3OCw3OSwxMjAwMzAsNzksMTIwMDgyLDc5LDEyMDEzNCw3OSwxMjAxODYsNzksMTIwMjM4LDc5LDEyMDI5MCw3OSwxMjAzNDIsNzksMTIwMzk0LDc5LDEyMDQ0Niw3OSw5MjcsNzksMTIwNTAyLDc5LDEyMDU2MCw3OSwxMjA2MTgsNzksMTIwNjc2LDc5LDEyMDczNCw3OSwxMTQyMiw3OSwxMzY1LDc5LDExNjA0LDc5LDQ4MTYsNzksMjg0OCw3OSw2Njc1NCw3OSw0MjIyNyw3OSw3MTg2MSw3OSw2NjE5NCw3OSw2NjIxOSw3OSw2NjU2NCw3OSw2NjgzOCw3OSw5MDc2LDExMiw2NTM2MCwxMTIsMTE5ODQ5LDExMiwxMTk5MDEsMTEyLDExOTk1MywxMTIsMTIwMDA1LDExMiwxMjAwNTcsMTEyLDEyMDEwOSwxMTIsMTIwMTYxLDExMiwxMjAyMTMsMTEyLDEyMDI2NSwxMTIsMTIwMzE3LDExMiwxMjAzNjksMTEyLDEyMDQyMSwxMTIsMTIwNDczLDExMiw5NjEsMTEyLDEyMDUzMCwxMTIsMTIwNTQ0LDExMiwxMjA1ODgsMTEyLDEyMDYwMiwxMTIsMTIwNjQ2LDExMiwxMjA2NjAsMTEyLDEyMDcwNCwxMTIsMTIwNzE4LDExMiwxMjA3NjIsMTEyLDEyMDc3NiwxMTIsMTE0MjcsMTEyLDY1MzI4LDgwLDg0NzMsODAsMTE5ODIzLDgwLDExOTg3NSw4MCwxMTk5MjcsODAsMTE5OTc5LDgwLDEyMDAzMSw4MCwxMjAwODMsODAsMTIwMTg3LDgwLDEyMDIzOSw4MCwxMjAyOTEsODAsMTIwMzQzLDgwLDEyMDM5NSw4MCwxMjA0NDcsODAsOTI5LDgwLDEyMDUwNCw4MCwxMjA1NjIsODAsMTIwNjIwLDgwLDEyMDY3OCw4MCwxMjA3MzYsODAsMTE0MjYsODAsNTA5MCw4MCw1MjI5LDgwLDQyMTkzLDgwLDY2MTk3LDgwLDExOTg1MCwxMTMsMTE5OTAyLDExMywxMTk5NTQsMTEzLDEyMDAwNiwxMTMsMTIwMDU4LDExMywxMjAxMTAsMTEzLDEyMDE2MiwxMTMsMTIwMjE0LDExMywxMjAyNjYsMTEzLDEyMDMxOCwxMTMsMTIwMzcwLDExMywxMjA0MjIsMTEzLDEyMDQ3NCwxMTMsMTMwNywxMTMsMTM3OSwxMTMsMTM4MiwxMTMsODQ3NCw4MSwxMTk4MjQsODEsMTE5ODc2LDgxLDExOTkyOCw4MSwxMTk5ODAsODEsMTIwMDMyLDgxLDEyMDA4NCw4MSwxMjAxODgsODEsMTIwMjQwLDgxLDEyMDI5Miw4MSwxMjAzNDQsODEsMTIwMzk2LDgxLDEyMDQ0OCw4MSwxMTYwNSw4MSwxMTk4NTEsMTE0LDExOTkwMywxMTQsMTE5OTU1LDExNCwxMjAwMDcsMTE0LDEyMDA1OSwxMTQsMTIwMTExLDExNCwxMjAxNjMsMTE0LDEyMDIxNSwxMTQsMTIwMjY3LDExNCwxMjAzMTksMTE0LDEyMDM3MSwxMTQsMTIwNDIzLDExNCwxMjA0NzUsMTE0LDQzODQ3LDExNCw0Mzg0OCwxMTQsNzQ2MiwxMTQsMTEzOTcsMTE0LDQzOTA1LDExNCwxMTkzMTgsODIsODQ3NSw4Miw4NDc2LDgyLDg0NzcsODIsMTE5ODI1LDgyLDExOTg3Nyw4MiwxMTk5MjksODIsMTIwMDMzLDgyLDEyMDE4OSw4MiwxMjAyNDEsODIsMTIwMjkzLDgyLDEyMDM0NSw4MiwxMjAzOTcsODIsMTIwNDQ5LDgyLDQyMiw4Miw1MDI1LDgyLDUwNzQsODIsNjY3NDAsODIsNTUxMSw4Miw0MjIxMSw4Miw5NDAwNSw4Miw2NTM2MywxMTUsMTE5ODUyLDExNSwxMTk5MDQsMTE1LDExOTk1NiwxMTUsMTIwMDA4LDExNSwxMjAwNjAsMTE1LDEyMDExMiwxMTUsMTIwMTY0LDExNSwxMjAyMTYsMTE1LDEyMDI2OCwxMTUsMTIwMzIwLDExNSwxMjAzNzIsMTE1LDEyMDQyNCwxMTUsMTIwNDc2LDExNSw0MjgwMSwxMTUsNDQ1LDExNSwxMTA5LDExNSw0Mzk0NiwxMTUsNzE4NzMsMTE1LDY2NjMyLDExNSw2NTMzMSw4MywxMTk4MjYsODMsMTE5ODc4LDgzLDExOTkzMCw4MywxMTk5ODIsODMsMTIwMDM0LDgzLDEyMDA4Niw4MywxMjAxMzgsODMsMTIwMTkwLDgzLDEyMDI0Miw4MywxMjAyOTQsODMsMTIwMzQ2LDgzLDEyMDM5OCw4MywxMjA0NTAsODMsMTAyOSw4MywxMzU5LDgzLDUwNzcsODMsNTA4Miw4Myw0MjIxMCw4Myw5NDAxMCw4Myw2NjE5OCw4Myw2NjU5Miw4MywxMTk4NTMsMTE2LDExOTkwNSwxMTYsMTE5OTU3LDExNiwxMjAwMDksMTE2LDEyMDA2MSwxMTYsMTIwMTEzLDExNiwxMjAxNjUsMTE2LDEyMDIxNywxMTYsMTIwMjY5LDExNiwxMjAzMjEsMTE2LDEyMDM3MywxMTYsMTIwNDI1LDExNiwxMjA0NzcsMTE2LDg4NjgsODQsMTAyMDEsODQsMTI4ODcyLDg0LDY1MzMyLDg0LDExOTgyNyw4NCwxMTk4NzksODQsMTE5OTMxLDg0LDExOTk4Myw4NCwxMjAwMzUsODQsMTIwMDg3LDg0LDEyMDEzOSw4NCwxMjAxOTEsODQsMTIwMjQzLDg0LDEyMDI5NSw4NCwxMjAzNDcsODQsMTIwMzk5LDg0LDEyMDQ1MSw4NCw5MzIsODQsMTIwNTA3LDg0LDEyMDU2NSw4NCwxMjA2MjMsODQsMTIwNjgxLDg0LDEyMDczOSw4NCwxMTQzMCw4NCw1MDI2LDg0LDQyMTk2LDg0LDkzOTYyLDg0LDcxODY4LDg0LDY2MTk5LDg0LDY2MjI1LDg0LDY2MzI1LDg0LDExOTg1NCwxMTcsMTE5OTA2LDExNywxMTk5NTgsMTE3LDEyMDAxMCwxMTcsMTIwMDYyLDExNywxMjAxMTQsMTE3LDEyMDE2NiwxMTcsMTIwMjE4LDExNywxMjAyNzAsMTE3LDEyMDMyMiwxMTcsMTIwMzc0LDExNywxMjA0MjYsMTE3LDEyMDQ3OCwxMTcsNDI5MTEsMTE3LDc0NTIsMTE3LDQzODU0LDExNyw0Mzg1OCwxMTcsNjUxLDExNyw5NjUsMTE3LDEyMDUzNCwxMTcsMTIwNTkyLDExNywxMjA2NTAsMTE3LDEyMDcwOCwxMTcsMTIwNzY2LDExNywxNDA1LDExNyw2NjgwNiwxMTcsNzE4OTYsMTE3LDg3NDYsODUsODg5OSw4NSwxMTk4MjgsODUsMTE5ODgwLDg1LDExOTkzMiw4NSwxMTk5ODQsODUsMTIwMDM2LDg1LDEyMDA4OCw4NSwxMjAxNDAsODUsMTIwMTkyLDg1LDEyMDI0NCw4NSwxMjAyOTYsODUsMTIwMzQ4LDg1LDEyMDQwMCw4NSwxMjA0NTIsODUsMTM1Nyw4NSw0NjA4LDg1LDY2NzY2LDg1LDUxOTYsODUsNDIyMjgsODUsOTQwMTgsODUsNzE4NjQsODUsODc0NCwxMTgsODg5NywxMTgsNjUzNjYsMTE4LDg1NjQsMTE4LDExOTg1NSwxMTgsMTE5OTA3LDExOCwxMTk5NTksMTE4LDEyMDAxMSwxMTgsMTIwMDYzLDExOCwxMjAxMTUsMTE4LDEyMDE2NywxMTgsMTIwMjE5LDExOCwxMjAyNzEsMTE4LDEyMDMyMywxMTgsMTIwMzc1LDExOCwxMjA0MjcsMTE4LDEyMDQ3OSwxMTgsNzQ1NiwxMTgsOTU3LDExOCwxMjA1MjYsMTE4LDEyMDU4NCwxMTgsMTIwNjQyLDExOCwxMjA3MDAsMTE4LDEyMDc1OCwxMTgsMTE0MSwxMTgsMTQ5NiwxMTgsNzE0MzAsMTE4LDQzOTQ1LDExOCw3MTg3MiwxMTgsMTE5MzA5LDg2LDE2MzksODYsMTc4Myw4Niw4NTQ4LDg2LDExOTgyOSw4NiwxMTk4ODEsODYsMTE5OTMzLDg2LDExOTk4NSw4NiwxMjAwMzcsODYsMTIwMDg5LDg2LDEyMDE0MSw4NiwxMjAxOTMsODYsMTIwMjQ1LDg2LDEyMDI5Nyw4NiwxMjAzNDksODYsMTIwNDAxLDg2LDEyMDQ1Myw4NiwxMTQwLDg2LDExNTc2LDg2LDUwODEsODYsNTE2Nyw4Niw0MjcxOSw4Niw0MjIxNCw4Niw5Mzk2MCw4Niw3MTg0MCw4Niw2Njg0NSw4Niw2MjMsMTE5LDExOTg1NiwxMTksMTE5OTA4LDExOSwxMTk5NjAsMTE5LDEyMDAxMiwxMTksMTIwMDY0LDExOSwxMjAxMTYsMTE5LDEyMDE2OCwxMTksMTIwMjIwLDExOSwxMjAyNzIsMTE5LDEyMDMyNCwxMTksMTIwMzc2LDExOSwxMjA0MjgsMTE5LDEyMDQ4MCwxMTksNzQ1NywxMTksMTEyMSwxMTksMTMwOSwxMTksMTM3NywxMTksNzE0MzQsMTE5LDcxNDM4LDExOSw3MTQzOSwxMTksNDM5MDcsMTE5LDcxOTE5LDg3LDcxOTEwLDg3LDExOTgzMCw4NywxMTk4ODIsODcsMTE5OTM0LDg3LDExOTk4Niw4NywxMjAwMzgsODcsMTIwMDkwLDg3LDEyMDE0Miw4NywxMjAxOTQsODcsMTIwMjQ2LDg3LDEyMDI5OCw4NywxMjAzNTAsODcsMTIwNDAyLDg3LDEyMDQ1NCw4NywxMzA4LDg3LDUwNDMsODcsNTA3Niw4Nyw0MjIxOCw4Nyw1NzQyLDEyMCwxMDUzOSwxMjAsMTA1NDAsMTIwLDEwNzk5LDEyMCw2NTM2OCwxMjAsODU2OSwxMjAsMTE5ODU3LDEyMCwxMTk5MDksMTIwLDExOTk2MSwxMjAsMTIwMDEzLDEyMCwxMjAwNjUsMTIwLDEyMDExNywxMjAsMTIwMTY5LDEyMCwxMjAyMjEsMTIwLDEyMDI3MywxMjAsMTIwMzI1LDEyMCwxMjAzNzcsMTIwLDEyMDQyOSwxMjAsMTIwNDgxLDEyMCw1NDQxLDEyMCw1NTAxLDEyMCw1NzQxLDg4LDk1ODcsODgsNjYzMzgsODgsNzE5MTYsODgsNjUzMzYsODgsODU1Myw4OCwxMTk4MzEsODgsMTE5ODgzLDg4LDExOTkzNSw4OCwxMTk5ODcsODgsMTIwMDM5LDg4LDEyMDA5MSw4OCwxMjAxNDMsODgsMTIwMTk1LDg4LDEyMDI0Nyw4OCwxMjAyOTksODgsMTIwMzUxLDg4LDEyMDQwMyw4OCwxMjA0NTUsODgsNDI5MzEsODgsOTM1LDg4LDEyMDUxMCw4OCwxMjA1NjgsODgsMTIwNjI2LDg4LDEyMDY4NCw4OCwxMjA3NDIsODgsMTE0MzYsODgsMTE2MTMsODgsNTgxNSw4OCw0MjIxOSw4OCw2NjE5Miw4OCw2NjIyOCw4OCw2NjMyNyw4OCw2Njg1NSw4OCw2MTEsMTIxLDc1NjQsMTIxLDY1MzY5LDEyMSwxMTk4NTgsMTIxLDExOTkxMCwxMjEsMTE5OTYyLDEyMSwxMjAwMTQsMTIxLDEyMDA2NiwxMjEsMTIwMTE4LDEyMSwxMjAxNzAsMTIxLDEyMDIyMiwxMjEsMTIwMjc0LDEyMSwxMjAzMjYsMTIxLDEyMDM3OCwxMjEsMTIwNDMwLDEyMSwxMjA0ODIsMTIxLDY1NSwxMjEsNzkzNSwxMjEsNDM4NjYsMTIxLDk0NywxMjEsODUwOSwxMjEsMTIwNTE2LDEyMSwxMjA1NzQsMTIxLDEyMDYzMiwxMjEsMTIwNjkwLDEyMSwxMjA3NDgsMTIxLDExOTksMTIxLDQzMjcsMTIxLDcxOTAwLDEyMSw2NTMzNyw4OSwxMTk4MzIsODksMTE5ODg0LDg5LDExOTkzNiw4OSwxMTk5ODgsODksMTIwMDQwLDg5LDEyMDA5Miw4OSwxMjAxNDQsODksMTIwMTk2LDg5LDEyMDI0OCw4OSwxMjAzMDAsODksMTIwMzUyLDg5LDEyMDQwNCw4OSwxMjA0NTYsODksOTMzLDg5LDk3OCw4OSwxMjA1MDgsODksMTIwNTY2LDg5LDEyMDYyNCw4OSwxMjA2ODIsODksMTIwNzQwLDg5LDExNDMyLDg5LDExOTgsODksNTAzMyw4OSw1MDUzLDg5LDQyMjIwLDg5LDk0MDE5LDg5LDcxODQ0LDg5LDY2MjI2LDg5LDExOTg1OSwxMjIsMTE5OTExLDEyMiwxMTk5NjMsMTIyLDEyMDAxNSwxMjIsMTIwMDY3LDEyMiwxMjAxMTksMTIyLDEyMDE3MSwxMjIsMTIwMjIzLDEyMiwxMjAyNzUsMTIyLDEyMDMyNywxMjIsMTIwMzc5LDEyMiwxMjA0MzEsMTIyLDEyMDQ4MywxMjIsNzQ1OCwxMjIsNDM5MjMsMTIyLDcxODc2LDEyMiw2NjI5Myw5MCw3MTkwOSw5MCw2NTMzOCw5MCw4NDg0LDkwLDg0ODgsOTAsMTE5ODMzLDkwLDExOTg4NSw5MCwxMTk5MzcsOTAsMTE5OTg5LDkwLDEyMDA0MSw5MCwxMjAxOTcsOTAsMTIwMjQ5LDkwLDEyMDMwMSw5MCwxMjAzNTMsOTAsMTIwNDA1LDkwLDEyMDQ1Nyw5MCw5MTgsOTAsMTIwNDkzLDkwLDEyMDU1MSw5MCwxMjA2MDksOTAsMTIwNjY3LDkwLDEyMDcyNSw5MCw1MDU5LDkwLDQyMjA0LDkwLDcxODQ5LDkwLDY1MjgyLDM0LDY1Mjg0LDM2LDY1Mjg1LDM3LDY1Mjg2LDM4LDY1MjkwLDQyLDY1MjkxLDQzLDY1Mjk0LDQ2LDY1Mjk1LDQ3LDY1Mjk2LDQ4LDY1Mjk3LDQ5LDY1Mjk4LDUwLDY1Mjk5LDUxLDY1MzAwLDUyLDY1MzAxLDUzLDY1MzAyLDU0LDY1MzAzLDU1LDY1MzA0LDU2LDY1MzA1LDU3LDY1MzA4LDYwLDY1MzA5LDYxLDY1MzEwLDYyLDY1MzEyLDY0LDY1MzE2LDY4LDY1MzE4LDcwLDY1MzE5LDcxLDY1MzI0LDc2LDY1MzI5LDgxLDY1MzMwLDgyLDY1MzMzLDg1LDY1MzM0LDg2LDY1MzM1LDg3LDY1MzQzLDk1LDY1MzQ2LDk4LDY1MzQ4LDEwMCw2NTM1MCwxMDIsNjUzNTUsMTA3LDY1MzU3LDEwOSw2NTM1OCwxMTAsNjUzNjEsMTEzLDY1MzYyLDExNCw2NTM2NCwxMTYsNjUzNjUsMTE3LDY1MzY3LDExOSw2NTM3MCwxMjIsNjUzNzEsMTIzLDY1MzczLDEyNSwxMTk4NDYsMTA5XSwiX2RlZmF1bHQiOlsxNjAsMzIsODIxMSw0NSw2NTM3NCwxMjYsNjUzMDYsNTgsNjUyODEsMzMsODIxNiw5Niw4MjE3LDk2LDgyNDUsOTYsMTgwLDk2LDEyNDk0LDQ3LDEwNDcsNTEsMTA3Myw1NCwxMDcyLDk3LDEwNDAsNjUsMTA2OCw5OCwxMDQyLDY2LDEwODksOTksMTA1Nyw2NywxMDc3LDEwMSwxMDQ1LDY5LDEwNTMsNzIsMzA1LDEwNSwxMDUwLDc1LDkyMSw3MywxMDUyLDc3LDEwODYsMTExLDEwNTQsNzksMTAwOSwxMTIsMTA4OCwxMTIsMTA1Niw4MCwxMDc1LDExNCwxMDU4LDg0LDIxNSwxMjAsMTA5MywxMjAsMTA2MSw4OCwxMDkxLDEyMSwxMDU5LDg5LDY1MjgzLDM1LDY1Mjg4LDQwLDY1Mjg5LDQxLDY1MjkyLDQ0LDY1MzA3LDU5LDY1MzExLDYzXSwiY3MiOls2NTM3NCwxMjYsNjUzMDYsNTgsNjUyODEsMzMsODIxNiw5Niw4MjE3LDk2LDgyNDUsOTYsMTgwLDk2LDEyNDk0LDQ3LDEwNDcsNTEsMTA3Myw1NCwxMDcyLDk3LDEwNDAsNjUsMTA2OCw5OCwxMDQyLDY2LDEwODksOTksMTA1Nyw2NywxMDc3LDEwMSwxMDQ1LDY5LDEwNTMsNzIsMzA1LDEwNSwxMDUwLDc1LDkyMSw3MywxMDUyLDc3LDEwODYsMTExLDEwNTQsNzksMTAwOSwxMTIsMTA4OCwxMTIsMTA1Niw4MCwxMDc1LDExNCwxMDU4LDg0LDEwOTMsMTIwLDEwNjEsODgsMTA5MSwxMjEsMTA1OSw4OSw2NTI4MywzNSw2NTI4OCw0MCw2NTI4OSw0MSw2NTI5Miw0NCw2NTMwNyw1OSw2NTMxMSw2M10sImRlIjpbNjUzNzQsMTI2LDY1MzA2LDU4LDY1MjgxLDMzLDgyMTYsOTYsODIxNyw5Niw4MjQ1LDk2LDE4MCw5NiwxMjQ5NCw0NywxMDQ3LDUxLDEwNzMsNTQsMTA3Miw5NywxMDQwLDY1LDEwNjgsOTgsMTA0Miw2NiwxMDg5LDk5LDEwNTcsNjcsMTA3NywxMDEsMTA0NSw2OSwxMDUzLDcyLDMwNSwxMDUsMTA1MCw3NSw5MjEsNzMsMTA1Miw3NywxMDg2LDExMSwxMDU0LDc5LDEwMDksMTEyLDEwODgsMTEyLDEwNTYsODAsMTA3NSwxMTQsMTA1OCw4NCwxMDkzLDEyMCwxMDYxLDg4LDEwOTEsMTIxLDEwNTksODksNjUyODMsMzUsNjUyODgsNDAsNjUyODksNDEsNjUyOTIsNDQsNjUzMDcsNTksNjUzMTEsNjNdLCJlcyI6WzgyMTEsNDUsNjUzNzQsMTI2LDY1MzA2LDU4LDY1MjgxLDMzLDgyNDUsOTYsMTgwLDk2LDEyNDk0LDQ3LDEwNDcsNTEsMTA3Myw1NCwxMDcyLDk3LDEwNDAsNjUsMTA2OCw5OCwxMDQyLDY2LDEwODksOTksMTA1Nyw2NywxMDc3LDEwMSwxMDQ1LDY5LDEwNTMsNzIsMzA1LDEwNSwxMDUwLDc1LDEwNTIsNzcsMTA4NiwxMTEsMTA1NCw3OSwxMDA5LDExMiwxMDg4LDExMiwxMDU2LDgwLDEwNzUsMTE0LDEwNTgsODQsMjE1LDEyMCwxMDkzLDEyMCwxMDYxLDg4LDEwOTEsMTIxLDEwNTksODksNjUyODMsMzUsNjUyODgsNDAsNjUyODksNDEsNjUyOTIsNDQsNjUzMDcsNTksNjUzMTEsNjNdLCJmciI6WzY1Mzc0LDEyNiw2NTMwNiw1OCw2NTI4MSwzMyw4MjE2LDk2LDgyNDUsOTYsMTI0OTQsNDcsMTA0Nyw1MSwxMDczLDU0LDEwNzIsOTcsMTA0MCw2NSwxMDY4LDk4LDEwNDIsNjYsMTA4OSw5OSwxMDU3LDY3LDEwNzcsMTAxLDEwNDUsNjksMTA1Myw3MiwzMDUsMTA1LDEwNTAsNzUsOTIxLDczLDEwNTIsNzcsMTA4NiwxMTEsMTA1NCw3OSwxMDA5LDExMiwxMDg4LDExMiwxMDU2LDgwLDEwNzUsMTE0LDEwNTgsODQsMjE1LDEyMCwxMDkzLDEyMCwxMDYxLDg4LDEwOTEsMTIxLDEwNTksODksNjUyODMsMzUsNjUyODgsNDAsNjUyODksNDEsNjUyOTIsNDQsNjUzMDcsNTksNjUzMTEsNjNdLCJpdCI6WzE2MCwzMiw4MjExLDQ1LDY1Mzc0LDEyNiw2NTMwNiw1OCw2NTI4MSwzMyw4MjE2LDk2LDgyNDUsOTYsMTgwLDk2LDEyNDk0LDQ3LDEwNDcsNTEsMTA3Myw1NCwxMDcyLDk3LDEwNDAsNjUsMTA2OCw5OCwxMDQyLDY2LDEwODksOTksMTA1Nyw2NywxMDc3LDEwMSwxMDQ1LDY5LDEwNTMsNzIsMzA1LDEwNSwxMDUwLDc1LDkyMSw3MywxMDUyLDc3LDEwODYsMTExLDEwNTQsNzksMTAwOSwxMTIsMTA4OCwxMTIsMTA1Niw4MCwxMDc1LDExNCwxMDU4LDg0LDIxNSwxMjAsMTA5MywxMjAsMTA2MSw4OCwxMDkxLDEyMSwxMDU5LDg5LDY1MjgzLDM1LDY1Mjg4LDQwLDY1Mjg5LDQxLDY1MjkyLDQ0LDY1MzA3LDU5LDY1MzExLDYzXSwiamEiOls4MjExLDQ1LDY1MzA2LDU4LDY1MjgxLDMzLDgyMTYsOTYsODIxNyw5Niw4MjQ1LDk2LDE4MCw5NiwxMDQ3LDUxLDEwNzMsNTQsMTA3Miw5NywxMDQwLDY1LDEwNjgsOTgsMTA0Miw2NiwxMDg5LDk5LDEwNTcsNjcsMTA3NywxMDEsMTA0NSw2OSwxMDUzLDcyLDMwNSwxMDUsMTA1MCw3NSw5MjEsNzMsMTA1Miw3NywxMDg2LDExMSwxMDU0LDc5LDEwMDksMTEyLDEwODgsMTEyLDEwNTYsODAsMTA3NSwxMTQsMTA1OCw4NCwyMTUsMTIwLDEwOTMsMTIwLDEwNjEsODgsMTA5MSwxMjEsMTA1OSw4OSw2NTI4MywzNSw2NTI5Miw0NCw2NTMwNyw1OV0sImtvIjpbODIxMSw0NSw2NTM3NCwxMjYsNjUzMDYsNTgsNjUyODEsMzMsODI0NSw5NiwxODAsOTYsMTI0OTQsNDcsMTA0Nyw1MSwxMDczLDU0LDEwNzIsOTcsMTA0MCw2NSwxMDY4LDk4LDEwNDIsNjYsMTA4OSw5OSwxMDU3LDY3LDEwNzcsMTAxLDEwNDUsNjksMTA1Myw3MiwzMDUsMTA1LDEwNTAsNzUsOTIxLDczLDEwNTIsNzcsMTA4NiwxMTEsMTA1NCw3OSwxMDA5LDExMiwxMDg4LDExMiwxMDU2LDgwLDEwNzUsMTE0LDEwNTgsODQsMjE1LDEyMCwxMDkzLDEyMCwxMDYxLDg4LDEwOTEsMTIxLDEwNTksODksNjUyODMsMzUsNjUyODgsNDAsNjUyODksNDEsNjUyOTIsNDQsNjUzMDcsNTksNjUzMTEsNjNdLCJwbCI6WzY1Mzc0LDEyNiw2NTMwNiw1OCw2NTI4MSwzMyw4MjE2LDk2LDgyMTcsOTYsODI0NSw5NiwxODAsOTYsMTI0OTQsNDcsMTA0Nyw1MSwxMDczLDU0LDEwNzIsOTcsMTA0MCw2NSwxMDY4LDk4LDEwNDIsNjYsMTA4OSw5OSwxMDU3LDY3LDEwNzcsMTAxLDEwNDUsNjksMTA1Myw3MiwzMDUsMTA1LDEwNTAsNzUsOTIxLDczLDEwNTIsNzcsMTA4NiwxMTEsMTA1NCw3OSwxMDA5LDExMiwxMDg4LDExMiwxMDU2LDgwLDEwNzUsMTE0LDEwNTgsODQsMjE1LDEyMCwxMDkzLDEyMCwxMDYxLDg4LDEwOTEsMTIxLDEwNTksODksNjUyODMsMzUsNjUyODgsNDAsNjUyODksNDEsNjUyOTIsNDQsNjUzMDcsNTksNjUzMTEsNjNdLCJwdC1CUiI6WzY1Mzc0LDEyNiw2NTMwNiw1OCw2NTI4MSwzMyw4MjE2LDk2LDgyMTcsOTYsODI0NSw5NiwxODAsOTYsMTI0OTQsNDcsMTA0Nyw1MSwxMDczLDU0LDEwNzIsOTcsMTA0MCw2NSwxMDY4LDk4LDEwNDIsNjYsMTA4OSw5OSwxMDU3LDY3LDEwNzcsMTAxLDEwNDUsNjksMTA1Myw3MiwzMDUsMTA1LDEwNTAsNzUsOTIxLDczLDEwNTIsNzcsMTA4NiwxMTEsMTA1NCw3OSwxMDA5LDExMiwxMDg4LDExMiwxMDU2LDgwLDEwNzUsMTE0LDEwNTgsODQsMjE1LDEyMCwxMDkzLDEyMCwxMDYxLDg4LDEwOTEsMTIxLDEwNTksODksNjUyODMsMzUsNjUyODgsNDAsNjUyODksNDEsNjUyOTIsNDQsNjUzMDcsNTksNjUzMTEsNjNdLCJxcHMtcGxvYyI6WzE2MCwzMiw4MjExLDQ1LDY1Mzc0LDEyNiw2NTMwNiw1OCw2NTI4MSwzMyw4MjE2LDk2LDgyMTcsOTYsODI0NSw5NiwxODAsOTYsMTI0OTQsNDcsMTA0Nyw1MSwxMDczLDU0LDEwNzIsOTcsMTA0MCw2NSwxMDY4LDk4LDEwNDIsNjYsMTA4OSw5OSwxMDU3LDY3LDEwNzcsMTAxLDEwNDUsNjksMTA1Myw3MiwzMDUsMTA1LDEwNTAsNzUsOTIxLDczLDEwNTIsNzcsMTA4NiwxMTEsMTA1NCw3OSwxMDg4LDExMiwxMDU2LDgwLDEwNzUsMTE0LDEwNTgsODQsMjE1LDEyMCwxMDkzLDEyMCwxMDYxLDg4LDEwOTEsMTIxLDEwNTksODksNjUyODMsMzUsNjUyODgsNDAsNjUyODksNDEsNjUyOTIsNDQsNjUzMDcsNTksNjUzMTEsNjNdLCJydSI6WzY1Mzc0LDEyNiw2NTMwNiw1OCw2NTI4MSwzMyw4MjE2LDk2LDgyMTcsOTYsODI0NSw5NiwxODAsOTYsMTI0OTQsNDcsMzA1LDEwNSw5MjEsNzMsMTAwOSwxMTIsMjE1LDEyMCw2NTI4MywzNSw2NTI4OCw0MCw2NTI4OSw0MSw2NTI5Miw0NCw2NTMwNyw1OSw2NTMxMSw2M10sInRyIjpbMTYwLDMyLDgyMTEsNDUsNjUzNzQsMTI2LDY1MzA2LDU4LDY1MjgxLDMzLDgyNDUsOTYsMTgwLDk2LDEyNDk0LDQ3LDEwNDcsNTEsMTA3Myw1NCwxMDcyLDk3LDEwNDAsNjUsMTA2OCw5OCwxMDQyLDY2LDEwODksOTksMTA1Nyw2NywxMDc3LDEwMSwxMDQ1LDY5LDEwNTMsNzIsMTA1MCw3NSw5MjEsNzMsMTA1Miw3NywxMDg2LDExMSwxMDU0LDc5LDEwMDksMTEyLDEwODgsMTEyLDEwNTYsODAsMTA3NSwxMTQsMTA1OCw4NCwyMTUsMTIwLDEwOTMsMTIwLDEwNjEsODgsMTA5MSwxMjEsMTA1OSw4OSw2NTI4MywzNSw2NTI4OCw0MCw2NTI4OSw0MSw2NTI5Miw0NCw2NTMwNyw1OSw2NTMxMSw2M10sInpoLWhhbnMiOls2NTM3NCwxMjYsNjUzMDYsNTgsNjUyODEsMzMsODI0NSw5NiwxODAsOTYsMTI0OTQsNDcsMTA0Nyw1MSwxMDczLDU0LDEwNzIsOTcsMTA0MCw2NSwxMDY4LDk4LDEwNDIsNjYsMTA4OSw5OSwxMDU3LDY3LDEwNzcsMTAxLDEwNDUsNjksMTA1Myw3MiwzMDUsMTA1LDEwNTAsNzUsOTIxLDczLDEwNTIsNzcsMTA4NiwxMTEsMTA1NCw3OSwxMDA5LDExMiwxMDg4LDExMiwxMDU2LDgwLDEwNzUsMTE0LDEwNTgsODQsMjE1LDEyMCwxMDkzLDEyMCwxMDYxLDg4LDEwOTEsMTIxLDEwNTksODksNjUyODgsNDAsNjUyODksNDFdLCJ6aC1oYW50IjpbODIxMSw0NSw2NTM3NCwxMjYsMTgwLDk2LDEyNDk0LDQ3LDEwNDcsNTEsMTA3Myw1NCwxMDcyLDk3LDEwNDAsNjUsMTA2OCw5OCwxMDQyLDY2LDEwODksOTksMTA1Nyw2NywxMDc3LDEwMSwxMDQ1LDY5LDEwNTMsNzIsMzA1LDEwNSwxMDUwLDc1LDkyMSw3MywxMDUyLDc3LDEwODYsMTExLDEwNTQsNzksMTAwOSwxMTIsMTA4OCwxMTIsMTA1Niw4MCwxMDc1LDExNCwxMDU4LDg0LDIxNSwxMjAsMTA5MywxMjAsMTA2MSw4OCwxMDkxLDEyMSwxMDU5LDg5LDY1MjgzLDM1LDY1MzA3LDU5XX0nKSksd2UuY2FjaGU9bmV3IF9zKGU9PntmdW5jdGlvbiB0KGMpe2NvbnN0IGg9bmV3IE1hcDtmb3IobGV0IGY9MDtmPGMubGVuZ3RoO2YrPTIpaC5zZXQoY1tmXSxjW2YrMV0pO3JldHVybiBofWZ1bmN0aW9uIG4oYyxoKXtjb25zdCBmPW5ldyBNYXAoYyk7Zm9yKGNvbnN0W2QsbV1vZiBoKWYuc2V0KGQsbSk7cmV0dXJuIGZ9ZnVuY3Rpb24gcihjLGgpe2lmKCFjKXJldHVybiBoO2NvbnN0IGY9bmV3IE1hcDtmb3IoY29uc3RbZCxtXW9mIGMpaC5oYXMoZCkmJmYuc2V0KGQsbSk7cmV0dXJuIGZ9Y29uc3Qgcz1NZS5hbWJpZ3VvdXNDaGFyYWN0ZXJEYXRhLnZhbHVlO2xldCBpPWUuZmlsdGVyKGM9PiFjLnN0YXJ0c1dpdGgoIl8iKSYmYyBpbiBzKTtpLmxlbmd0aD09PTAmJihpPVsiX2RlZmF1bHQiXSk7bGV0IG87Zm9yKGNvbnN0IGMgb2YgaSl7Y29uc3QgaD10KHNbY10pO289cihvLGgpfWNvbnN0IGw9dChzLl9jb21tb24pLHU9bihsLG8pO3JldHVybiBuZXcgTWUodSl9KSx3ZS5fbG9jYWxlcz1uZXcgdG4oKCk9Pk9iamVjdC5rZXlzKE1lLmFtYmlndW91c0NoYXJhY3RlckRhdGEudmFsdWUpLmZpbHRlcihlPT4hZS5zdGFydHNXaXRoKCJfIikpKTtjbGFzcyBkZXtzdGF0aWMgZ2V0UmF3RGF0YSgpe3JldHVybiBKU09OLnBhcnNlKCJbOSwxMCwxMSwxMiwxMywzMiwxMjcsMTYwLDE3Myw4NDcsMTU2NCw0NDQ3LDQ0NDgsNjA2OCw2MDY5LDYxNTUsNjE1Niw2MTU3LDYxNTgsNzM1NSw3MzU2LDgxOTIsODE5Myw4MTk0LDgxOTUsODE5Niw4MTk3LDgxOTgsODE5OSw4MjAwLDgyMDEsODIwMiw4MjAzLDgyMDQsODIwNSw4MjA2LDgyMDcsODIzNCw4MjM1LDgyMzYsODIzNyw4MjM4LDgyMzksODI4Nyw4Mjg4LDgyODksODI5MCw4MjkxLDgyOTIsODI5Myw4Mjk0LDgyOTUsODI5Niw4Mjk3LDgyOTgsODI5OSw4MzAwLDgzMDEsODMwMiw4MzAzLDEwMjQwLDEyMjg4LDEyNjQ0LDY1MDI0LDY1MDI1LDY1MDI2LDY1MDI3LDY1MDI4LDY1MDI5LDY1MDMwLDY1MDMxLDY1MDMyLDY1MDMzLDY1MDM0LDY1MDM1LDY1MDM2LDY1MDM3LDY1MDM4LDY1MDM5LDY1Mjc5LDY1NDQwLDY1NTIwLDY1NTIxLDY1NTIyLDY1NTIzLDY1NTI0LDY1NTI1LDY1NTI2LDY1NTI3LDY1NTI4LDY1NTMyLDc4ODQ0LDExOTE1NSwxMTkxNTYsMTE5MTU3LDExOTE1OCwxMTkxNTksMTE5MTYwLDExOTE2MSwxMTkxNjIsOTE3NTA0LDkxNzUwNSw5MTc1MDYsOTE3NTA3LDkxNzUwOCw5MTc1MDksOTE3NTEwLDkxNzUxMSw5MTc1MTIsOTE3NTEzLDkxNzUxNCw5MTc1MTUsOTE3NTE2LDkxNzUxNyw5MTc1MTgsOTE3NTE5LDkxNzUyMCw5MTc1MjEsOTE3NTIyLDkxNzUyMyw5MTc1MjQsOTE3NTI1LDkxNzUyNiw5MTc1MjcsOTE3NTI4LDkxNzUyOSw5MTc1MzAsOTE3NTMxLDkxNzUzMiw5MTc1MzMsOTE3NTM0LDkxNzUzNSw5MTc1MzYsOTE3NTM3LDkxNzUzOCw5MTc1MzksOTE3NTQwLDkxNzU0MSw5MTc1NDIsOTE3NTQzLDkxNzU0NCw5MTc1NDUsOTE3NTQ2LDkxNzU0Nyw5MTc1NDgsOTE3NTQ5LDkxNzU1MCw5MTc1NTEsOTE3NTUyLDkxNzU1Myw5MTc1NTQsOTE3NTU1LDkxNzU1Niw5MTc1NTcsOTE3NTU4LDkxNzU1OSw5MTc1NjAsOTE3NTYxLDkxNzU2Miw5MTc1NjMsOTE3NTY0LDkxNzU2NSw5MTc1NjYsOTE3NTY3LDkxNzU2OCw5MTc1NjksOTE3NTcwLDkxNzU3MSw5MTc1NzIsOTE3NTczLDkxNzU3NCw5MTc1NzUsOTE3NTc2LDkxNzU3Nyw5MTc1NzgsOTE3NTc5LDkxNzU4MCw5MTc1ODEsOTE3NTgyLDkxNzU4Myw5MTc1ODQsOTE3NTg1LDkxNzU4Niw5MTc1ODcsOTE3NTg4LDkxNzU4OSw5MTc1OTAsOTE3NTkxLDkxNzU5Miw5MTc1OTMsOTE3NTk0LDkxNzU5NSw5MTc1OTYsOTE3NTk3LDkxNzU5OCw5MTc1OTksOTE3NjAwLDkxNzYwMSw5MTc2MDIsOTE3NjAzLDkxNzYwNCw5MTc2MDUsOTE3NjA2LDkxNzYwNyw5MTc2MDgsOTE3NjA5LDkxNzYxMCw5MTc2MTEsOTE3NjEyLDkxNzYxMyw5MTc2MTQsOTE3NjE1LDkxNzYxNiw5MTc2MTcsOTE3NjE4LDkxNzYxOSw5MTc2MjAsOTE3NjIxLDkxNzYyMiw5MTc2MjMsOTE3NjI0LDkxNzYyNSw5MTc2MjYsOTE3NjI3LDkxNzYyOCw5MTc2MjksOTE3NjMwLDkxNzYzMSw5MTc3NjAsOTE3NzYxLDkxNzc2Miw5MTc3NjMsOTE3NzY0LDkxNzc2NSw5MTc3NjYsOTE3NzY3LDkxNzc2OCw5MTc3NjksOTE3NzcwLDkxNzc3MSw5MTc3NzIsOTE3NzczLDkxNzc3NCw5MTc3NzUsOTE3Nzc2LDkxNzc3Nyw5MTc3NzgsOTE3Nzc5LDkxNzc4MCw5MTc3ODEsOTE3NzgyLDkxNzc4Myw5MTc3ODQsOTE3Nzg1LDkxNzc4Niw5MTc3ODcsOTE3Nzg4LDkxNzc4OSw5MTc3OTAsOTE3NzkxLDkxNzc5Miw5MTc3OTMsOTE3Nzk0LDkxNzc5NSw5MTc3OTYsOTE3Nzk3LDkxNzc5OCw5MTc3OTksOTE3ODAwLDkxNzgwMSw5MTc4MDIsOTE3ODAzLDkxNzgwNCw5MTc4MDUsOTE3ODA2LDkxNzgwNyw5MTc4MDgsOTE3ODA5LDkxNzgxMCw5MTc4MTEsOTE3ODEyLDkxNzgxMyw5MTc4MTQsOTE3ODE1LDkxNzgxNiw5MTc4MTcsOTE3ODE4LDkxNzgxOSw5MTc4MjAsOTE3ODIxLDkxNzgyMiw5MTc4MjMsOTE3ODI0LDkxNzgyNSw5MTc4MjYsOTE3ODI3LDkxNzgyOCw5MTc4MjksOTE3ODMwLDkxNzgzMSw5MTc4MzIsOTE3ODMzLDkxNzgzNCw5MTc4MzUsOTE3ODM2LDkxNzgzNyw5MTc4MzgsOTE3ODM5LDkxNzg0MCw5MTc4NDEsOTE3ODQyLDkxNzg0Myw5MTc4NDQsOTE3ODQ1LDkxNzg0Niw5MTc4NDcsOTE3ODQ4LDkxNzg0OSw5MTc4NTAsOTE3ODUxLDkxNzg1Miw5MTc4NTMsOTE3ODU0LDkxNzg1NSw5MTc4NTYsOTE3ODU3LDkxNzg1OCw5MTc4NTksOTE3ODYwLDkxNzg2MSw5MTc4NjIsOTE3ODYzLDkxNzg2NCw5MTc4NjUsOTE3ODY2LDkxNzg2Nyw5MTc4NjgsOTE3ODY5LDkxNzg3MCw5MTc4NzEsOTE3ODcyLDkxNzg3Myw5MTc4NzQsOTE3ODc1LDkxNzg3Niw5MTc4NzcsOTE3ODc4LDkxNzg3OSw5MTc4ODAsOTE3ODgxLDkxNzg4Miw5MTc4ODMsOTE3ODg0LDkxNzg4NSw5MTc4ODYsOTE3ODg3LDkxNzg4OCw5MTc4ODksOTE3ODkwLDkxNzg5MSw5MTc4OTIsOTE3ODkzLDkxNzg5NCw5MTc4OTUsOTE3ODk2LDkxNzg5Nyw5MTc4OTgsOTE3ODk5LDkxNzkwMCw5MTc5MDEsOTE3OTAyLDkxNzkwMyw5MTc5MDQsOTE3OTA1LDkxNzkwNiw5MTc5MDcsOTE3OTA4LDkxNzkwOSw5MTc5MTAsOTE3OTExLDkxNzkxMiw5MTc5MTMsOTE3OTE0LDkxNzkxNSw5MTc5MTYsOTE3OTE3LDkxNzkxOCw5MTc5MTksOTE3OTIwLDkxNzkyMSw5MTc5MjIsOTE3OTIzLDkxNzkyNCw5MTc5MjUsOTE3OTI2LDkxNzkyNyw5MTc5MjgsOTE3OTI5LDkxNzkzMCw5MTc5MzEsOTE3OTMyLDkxNzkzMyw5MTc5MzQsOTE3OTM1LDkxNzkzNiw5MTc5MzcsOTE3OTM4LDkxNzkzOSw5MTc5NDAsOTE3OTQxLDkxNzk0Miw5MTc5NDMsOTE3OTQ0LDkxNzk0NSw5MTc5NDYsOTE3OTQ3LDkxNzk0OCw5MTc5NDksOTE3OTUwLDkxNzk1MSw5MTc5NTIsOTE3OTUzLDkxNzk1NCw5MTc5NTUsOTE3OTU2LDkxNzk1Nyw5MTc5NTgsOTE3OTU5LDkxNzk2MCw5MTc5NjEsOTE3OTYyLDkxNzk2Myw5MTc5NjQsOTE3OTY1LDkxNzk2Niw5MTc5NjcsOTE3OTY4LDkxNzk2OSw5MTc5NzAsOTE3OTcxLDkxNzk3Miw5MTc5NzMsOTE3OTc0LDkxNzk3NSw5MTc5NzYsOTE3OTc3LDkxNzk3OCw5MTc5NzksOTE3OTgwLDkxNzk4MSw5MTc5ODIsOTE3OTgzLDkxNzk4NCw5MTc5ODUsOTE3OTg2LDkxNzk4Nyw5MTc5ODgsOTE3OTg5LDkxNzk5MCw5MTc5OTEsOTE3OTkyLDkxNzk5Myw5MTc5OTQsOTE3OTk1LDkxNzk5Niw5MTc5OTcsOTE3OTk4LDkxNzk5OV0iKX1zdGF0aWMgZ2V0RGF0YSgpe3JldHVybiB0aGlzLl9kYXRhfHwodGhpcy5fZGF0YT1uZXcgU2V0KGRlLmdldFJhd0RhdGEoKSkpLHRoaXMuX2RhdGF9c3RhdGljIGlzSW52aXNpYmxlQ2hhcmFjdGVyKHQpe3JldHVybiBkZS5nZXREYXRhKCkuaGFzKHQpfXN0YXRpYyBnZXQgY29kZVBvaW50cygpe3JldHVybiBkZS5nZXREYXRhKCl9fWRlLl9kYXRhPXZvaWQgMDtjb25zdCBDcz0iJGluaXRpYWxpemUiO2NsYXNzIEVze2NvbnN0cnVjdG9yKHQsbixyLHMpe3RoaXMudnNXb3JrZXI9dCx0aGlzLnJlcT1uLHRoaXMubWV0aG9kPXIsdGhpcy5hcmdzPXMsdGhpcy50eXBlPTB9fWNsYXNzIHJue2NvbnN0cnVjdG9yKHQsbixyLHMpe3RoaXMudnNXb3JrZXI9dCx0aGlzLnNlcT1uLHRoaXMucmVzPXIsdGhpcy5lcnI9cyx0aGlzLnR5cGU9MX19Y2xhc3MgeXN7Y29uc3RydWN0b3IodCxuLHIscyl7dGhpcy52c1dvcmtlcj10LHRoaXMucmVxPW4sdGhpcy5ldmVudE5hbWU9cix0aGlzLmFyZz1zLHRoaXMudHlwZT0yfX1jbGFzcyBNc3tjb25zdHJ1Y3Rvcih0LG4scil7dGhpcy52c1dvcmtlcj10LHRoaXMucmVxPW4sdGhpcy5ldmVudD1yLHRoaXMudHlwZT0zfX1jbGFzcyBrc3tjb25zdHJ1Y3Rvcih0LG4pe3RoaXMudnNXb3JrZXI9dCx0aGlzLnJlcT1uLHRoaXMudHlwZT00fX1jbGFzcyBUc3tjb25zdHJ1Y3Rvcih0KXt0aGlzLl93b3JrZXJJZD0tMSx0aGlzLl9oYW5kbGVyPXQsdGhpcy5fbGFzdFNlbnRSZXE9MCx0aGlzLl9wZW5kaW5nUmVwbGllcz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX3BlbmRpbmdFbWl0dGVycz1uZXcgTWFwLHRoaXMuX3BlbmRpbmdFdmVudHM9bmV3IE1hcH1zZXRXb3JrZXJJZCh0KXt0aGlzLl93b3JrZXJJZD10fXNlbmRNZXNzYWdlKHQsbil7Y29uc3Qgcj1TdHJpbmcoKyt0aGlzLl9sYXN0U2VudFJlcSk7cmV0dXJuIG5ldyBQcm9taXNlKChzLGkpPT57dGhpcy5fcGVuZGluZ1JlcGxpZXNbcl09e3Jlc29sdmU6cyxyZWplY3Q6aX0sdGhpcy5fc2VuZChuZXcgRXModGhpcy5fd29ya2VySWQscix0LG4pKX0pfWxpc3Rlbih0LG4pe2xldCByPW51bGw7Y29uc3Qgcz1uZXcgc2Uoe29uV2lsbEFkZEZpcnN0TGlzdGVuZXI6KCk9PntyPVN0cmluZygrK3RoaXMuX2xhc3RTZW50UmVxKSx0aGlzLl9wZW5kaW5nRW1pdHRlcnMuc2V0KHIscyksdGhpcy5fc2VuZChuZXcgeXModGhpcy5fd29ya2VySWQscix0LG4pKX0sb25EaWRSZW1vdmVMYXN0TGlzdGVuZXI6KCk9Pnt0aGlzLl9wZW5kaW5nRW1pdHRlcnMuZGVsZXRlKHIpLHRoaXMuX3NlbmQobmV3IGtzKHRoaXMuX3dvcmtlcklkLHIpKSxyPW51bGx9fSk7cmV0dXJuIHMuZXZlbnR9aGFuZGxlTWVzc2FnZSh0KXshdHx8IXQudnNXb3JrZXJ8fHRoaXMuX3dvcmtlcklkIT09LTEmJnQudnNXb3JrZXIhPT10aGlzLl93b3JrZXJJZHx8dGhpcy5faGFuZGxlTWVzc2FnZSh0KX1faGFuZGxlTWVzc2FnZSh0KXtzd2l0Y2godC50eXBlKXtjYXNlIDE6cmV0dXJuIHRoaXMuX2hhbmRsZVJlcGx5TWVzc2FnZSh0KTtjYXNlIDA6cmV0dXJuIHRoaXMuX2hhbmRsZVJlcXVlc3RNZXNzYWdlKHQpO2Nhc2UgMjpyZXR1cm4gdGhpcy5faGFuZGxlU3Vic2NyaWJlRXZlbnRNZXNzYWdlKHQpO2Nhc2UgMzpyZXR1cm4gdGhpcy5faGFuZGxlRXZlbnRNZXNzYWdlKHQpO2Nhc2UgNDpyZXR1cm4gdGhpcy5faGFuZGxlVW5zdWJzY3JpYmVFdmVudE1lc3NhZ2UodCl9fV9oYW5kbGVSZXBseU1lc3NhZ2UodCl7aWYoIXRoaXMuX3BlbmRpbmdSZXBsaWVzW3Quc2VxXSlyZXR1cm47Y29uc3Qgbj10aGlzLl9wZW5kaW5nUmVwbGllc1t0LnNlcV07aWYoZGVsZXRlIHRoaXMuX3BlbmRpbmdSZXBsaWVzW3Quc2VxXSx0LmVycil7bGV0IHI9dC5lcnI7dC5lcnIuJGlzRXJyb3ImJihyPW5ldyBFcnJvcixyLm5hbWU9dC5lcnIubmFtZSxyLm1lc3NhZ2U9dC5lcnIubWVzc2FnZSxyLnN0YWNrPXQuZXJyLnN0YWNrKSxuLnJlamVjdChyKTtyZXR1cm59bi5yZXNvbHZlKHQucmVzKX1faGFuZGxlUmVxdWVzdE1lc3NhZ2UodCl7Y29uc3Qgbj10LnJlcTt0aGlzLl9oYW5kbGVyLmhhbmRsZU1lc3NhZ2UodC5tZXRob2QsdC5hcmdzKS50aGVuKHM9Pnt0aGlzLl9zZW5kKG5ldyBybih0aGlzLl93b3JrZXJJZCxuLHMsdm9pZCAwKSl9LHM9PntzLmRldGFpbCBpbnN0YW5jZW9mIEVycm9yJiYocy5kZXRhaWw9WnQocy5kZXRhaWwpKSx0aGlzLl9zZW5kKG5ldyBybih0aGlzLl93b3JrZXJJZCxuLHZvaWQgMCxadChzKSkpfSl9X2hhbmRsZVN1YnNjcmliZUV2ZW50TWVzc2FnZSh0KXtjb25zdCBuPXQucmVxLHI9dGhpcy5faGFuZGxlci5oYW5kbGVFdmVudCh0LmV2ZW50TmFtZSx0LmFyZykocz0+e3RoaXMuX3NlbmQobmV3IE1zKHRoaXMuX3dvcmtlcklkLG4scykpfSk7dGhpcy5fcGVuZGluZ0V2ZW50cy5zZXQobixyKX1faGFuZGxlRXZlbnRNZXNzYWdlKHQpe3RoaXMuX3BlbmRpbmdFbWl0dGVycy5oYXModC5yZXEpJiZ0aGlzLl9wZW5kaW5nRW1pdHRlcnMuZ2V0KHQucmVxKS5maXJlKHQuZXZlbnQpfV9oYW5kbGVVbnN1YnNjcmliZUV2ZW50TWVzc2FnZSh0KXt0aGlzLl9wZW5kaW5nRXZlbnRzLmhhcyh0LnJlcSkmJih0aGlzLl9wZW5kaW5nRXZlbnRzLmdldCh0LnJlcSkuZGlzcG9zZSgpLHRoaXMuX3BlbmRpbmdFdmVudHMuZGVsZXRlKHQucmVxKSl9X3NlbmQodCl7Y29uc3Qgbj1bXTtpZih0LnR5cGU9PT0wKWZvcihsZXQgcj0wO3I8dC5hcmdzLmxlbmd0aDtyKyspdC5hcmdzW3JdaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmbi5wdXNoKHQuYXJnc1tyXSk7ZWxzZSB0LnR5cGU9PT0xJiZ0LnJlcyBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZuLnB1c2godC5yZXMpO3RoaXMuX2hhbmRsZXIuc2VuZE1lc3NhZ2UodCxuKX19ZnVuY3Rpb24gc24oZSl7cmV0dXJuIGVbMF09PT0ibyImJmVbMV09PT0ibiImJm5uKGUuY2hhckNvZGVBdCgyKSl9ZnVuY3Rpb24gYW4oZSl7cmV0dXJuL15vbkR5bmFtaWMvLnRlc3QoZSkmJm5uKGUuY2hhckNvZGVBdCg5KSl9ZnVuY3Rpb24gRHMoZSx0LG4pe2NvbnN0IHI9bz0+ZnVuY3Rpb24oKXtjb25zdCBsPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKTtyZXR1cm4gdChvLGwpfSxzPW89PmZ1bmN0aW9uKGwpe3JldHVybiBuKG8sbCl9LGk9e307Zm9yKGNvbnN0IG8gb2YgZSl7aWYoYW4obykpe2lbb109cyhvKTtjb250aW51ZX1pZihzbihvKSl7aVtvXT1uKG8sdm9pZCAwKTtjb250aW51ZX1pW29dPXIobyl9cmV0dXJuIGl9Y2xhc3MgUHN7Y29uc3RydWN0b3IodCxuKXt0aGlzLl9yZXF1ZXN0SGFuZGxlckZhY3Rvcnk9bix0aGlzLl9yZXF1ZXN0SGFuZGxlcj1udWxsLHRoaXMuX3Byb3RvY29sPW5ldyBUcyh7c2VuZE1lc3NhZ2U6KHIscyk9Pnt0KHIscyl9LGhhbmRsZU1lc3NhZ2U6KHIscyk9PnRoaXMuX2hhbmRsZU1lc3NhZ2UocixzKSxoYW5kbGVFdmVudDoocixzKT0+dGhpcy5faGFuZGxlRXZlbnQocixzKX0pfW9ubWVzc2FnZSh0KXt0aGlzLl9wcm90b2NvbC5oYW5kbGVNZXNzYWdlKHQpfV9oYW5kbGVNZXNzYWdlKHQsbil7aWYodD09PUNzKXJldHVybiB0aGlzLmluaXRpYWxpemUoblswXSxuWzFdLG5bMl0sblszXSk7aWYoIXRoaXMuX3JlcXVlc3RIYW5kbGVyfHx0eXBlb2YgdGhpcy5fcmVxdWVzdEhhbmRsZXJbdF0hPSJmdW5jdGlvbiIpcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcigiTWlzc2luZyByZXF1ZXN0SGFuZGxlciBvciBtZXRob2Q6ICIrdCkpO3RyeXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX3JlcXVlc3RIYW5kbGVyW3RdLmFwcGx5KHRoaXMuX3JlcXVlc3RIYW5kbGVyLG4pKX1jYXRjaChyKXtyZXR1cm4gUHJvbWlzZS5yZWplY3Qocil9fV9oYW5kbGVFdmVudCh0LG4pe2lmKCF0aGlzLl9yZXF1ZXN0SGFuZGxlcil0aHJvdyBuZXcgRXJyb3IoIk1pc3NpbmcgcmVxdWVzdEhhbmRsZXIiKTtpZihhbih0KSl7Y29uc3Qgcj10aGlzLl9yZXF1ZXN0SGFuZGxlclt0XS5jYWxsKHRoaXMuX3JlcXVlc3RIYW5kbGVyLG4pO2lmKHR5cGVvZiByIT0iZnVuY3Rpb24iKXRocm93IG5ldyBFcnJvcihgTWlzc2luZyBkeW5hbWljIGV2ZW50ICR7dH0gb24gcmVxdWVzdCBoYW5kbGVyLmApO3JldHVybiByfWlmKHNuKHQpKXtjb25zdCByPXRoaXMuX3JlcXVlc3RIYW5kbGVyW3RdO2lmKHR5cGVvZiByIT0iZnVuY3Rpb24iKXRocm93IG5ldyBFcnJvcihgTWlzc2luZyBldmVudCAke3R9IG9uIHJlcXVlc3QgaGFuZGxlci5gKTtyZXR1cm4gcn10aHJvdyBuZXcgRXJyb3IoYE1hbGZvcm1lZCBldmVudCBuYW1lICR7dH1gKX1pbml0aWFsaXplKHQsbixyLHMpe3RoaXMuX3Byb3RvY29sLnNldFdvcmtlcklkKHQpO2NvbnN0IGw9RHMocywodSxjKT0+dGhpcy5fcHJvdG9jb2wuc2VuZE1lc3NhZ2UodSxjKSwodSxjKT0+dGhpcy5fcHJvdG9jb2wubGlzdGVuKHUsYykpO3JldHVybiB0aGlzLl9yZXF1ZXN0SGFuZGxlckZhY3Rvcnk/KHRoaXMuX3JlcXVlc3RIYW5kbGVyPXRoaXMuX3JlcXVlc3RIYW5kbGVyRmFjdG9yeShsKSxQcm9taXNlLnJlc29sdmUodnQodGhpcy5fcmVxdWVzdEhhbmRsZXIpKSk6KG4mJih0eXBlb2Ygbi5iYXNlVXJsPCJ1IiYmZGVsZXRlIG4uYmFzZVVybCx0eXBlb2Ygbi5wYXRoczwidSImJnR5cGVvZiBuLnBhdGhzLnZzPCJ1IiYmZGVsZXRlIG4ucGF0aHMudnMsdHlwZW9mIG4udHJ1c3RlZFR5cGVzUG9saWN5PCJ1IiYmZGVsZXRlIG4udHJ1c3RlZFR5cGVzUG9saWN5LG4uY2F0Y2hFcnJvcj0hMCxnbG9iYWxUaGlzLnJlcXVpcmUuY29uZmlnKG4pKSxuZXcgUHJvbWlzZSgodSxjKT0+e2NvbnN0IGg9Z2xvYmFsVGhpcy5yZXF1aXJlO2goW3JdLGY9PntpZih0aGlzLl9yZXF1ZXN0SGFuZGxlcj1mLmNyZWF0ZShsKSwhdGhpcy5fcmVxdWVzdEhhbmRsZXIpe2MobmV3IEVycm9yKCJObyBSZXF1ZXN0SGFuZGxlciEiKSk7cmV0dXJufXUodnQodGhpcy5fcmVxdWVzdEhhbmRsZXIpKX0sYyl9KSl9fWNsYXNzIG1le2NvbnN0cnVjdG9yKHQsbixyLHMpe3RoaXMub3JpZ2luYWxTdGFydD10LHRoaXMub3JpZ2luYWxMZW5ndGg9bix0aGlzLm1vZGlmaWVkU3RhcnQ9cix0aGlzLm1vZGlmaWVkTGVuZ3RoPXN9Z2V0T3JpZ2luYWxFbmQoKXtyZXR1cm4gdGhpcy5vcmlnaW5hbFN0YXJ0K3RoaXMub3JpZ2luYWxMZW5ndGh9Z2V0TW9kaWZpZWRFbmQoKXtyZXR1cm4gdGhpcy5tb2RpZmllZFN0YXJ0K3RoaXMubW9kaWZpZWRMZW5ndGh9fWZ1bmN0aW9uIG9uKGUsdCl7cmV0dXJuKHQ8PDUpLXQrZXwwfWZ1bmN0aW9uIEZzKGUsdCl7dD1vbigxNDk0MTcsdCk7Zm9yKGxldCBuPTAscj1lLmxlbmd0aDtuPHI7bisrKXQ9b24oZS5jaGFyQ29kZUF0KG4pLHQpO3JldHVybiB0fWNsYXNzIGxue2NvbnN0cnVjdG9yKHQpe3RoaXMuc291cmNlPXR9Z2V0RWxlbWVudHMoKXtjb25zdCB0PXRoaXMuc291cmNlLG49bmV3IEludDMyQXJyYXkodC5sZW5ndGgpO2ZvcihsZXQgcj0wLHM9dC5sZW5ndGg7cjxzO3IrKyluW3JdPXQuY2hhckNvZGVBdChyKTtyZXR1cm4gbn19ZnVuY3Rpb24gSXMoZSx0LG4pe3JldHVybiBuZXcgZ2UobmV3IGxuKGUpLG5ldyBsbih0KSkuQ29tcHV0ZURpZmYobikuY2hhbmdlc31jbGFzcyBrZXtzdGF0aWMgQXNzZXJ0KHQsbil7aWYoIXQpdGhyb3cgbmV3IEVycm9yKG4pfX1jbGFzcyBUZXtzdGF0aWMgQ29weSh0LG4scixzLGkpe2ZvcihsZXQgbz0wO288aTtvKyspcltzK29dPXRbbitvXX1zdGF0aWMgQ29weTIodCxuLHIscyxpKXtmb3IobGV0IG89MDtvPGk7bysrKXJbcytvXT10W24rb119fWNsYXNzIHVue2NvbnN0cnVjdG9yKCl7dGhpcy5tX2NoYW5nZXM9W10sdGhpcy5tX29yaWdpbmFsU3RhcnQ9MTA3Mzc0MTgyNCx0aGlzLm1fbW9kaWZpZWRTdGFydD0xMDczNzQxODI0LHRoaXMubV9vcmlnaW5hbENvdW50PTAsdGhpcy5tX21vZGlmaWVkQ291bnQ9MH1NYXJrTmV4dENoYW5nZSgpeyh0aGlzLm1fb3JpZ2luYWxDb3VudD4wfHx0aGlzLm1fbW9kaWZpZWRDb3VudD4wKSYmdGhpcy5tX2NoYW5nZXMucHVzaChuZXcgbWUodGhpcy5tX29yaWdpbmFsU3RhcnQsdGhpcy5tX29yaWdpbmFsQ291bnQsdGhpcy5tX21vZGlmaWVkU3RhcnQsdGhpcy5tX21vZGlmaWVkQ291bnQpKSx0aGlzLm1fb3JpZ2luYWxDb3VudD0wLHRoaXMubV9tb2RpZmllZENvdW50PTAsdGhpcy5tX29yaWdpbmFsU3RhcnQ9MTA3Mzc0MTgyNCx0aGlzLm1fbW9kaWZpZWRTdGFydD0xMDczNzQxODI0fUFkZE9yaWdpbmFsRWxlbWVudCh0LG4pe3RoaXMubV9vcmlnaW5hbFN0YXJ0PU1hdGgubWluKHRoaXMubV9vcmlnaW5hbFN0YXJ0LHQpLHRoaXMubV9tb2RpZmllZFN0YXJ0PU1hdGgubWluKHRoaXMubV9tb2RpZmllZFN0YXJ0LG4pLHRoaXMubV9vcmlnaW5hbENvdW50Kyt9QWRkTW9kaWZpZWRFbGVtZW50KHQsbil7dGhpcy5tX29yaWdpbmFsU3RhcnQ9TWF0aC5taW4odGhpcy5tX29yaWdpbmFsU3RhcnQsdCksdGhpcy5tX21vZGlmaWVkU3RhcnQ9TWF0aC5taW4odGhpcy5tX21vZGlmaWVkU3RhcnQsbiksdGhpcy5tX21vZGlmaWVkQ291bnQrK31nZXRDaGFuZ2VzKCl7cmV0dXJuKHRoaXMubV9vcmlnaW5hbENvdW50PjB8fHRoaXMubV9tb2RpZmllZENvdW50PjApJiZ0aGlzLk1hcmtOZXh0Q2hhbmdlKCksdGhpcy5tX2NoYW5nZXN9Z2V0UmV2ZXJzZUNoYW5nZXMoKXtyZXR1cm4odGhpcy5tX29yaWdpbmFsQ291bnQ+MHx8dGhpcy5tX21vZGlmaWVkQ291bnQ+MCkmJnRoaXMuTWFya05leHRDaGFuZ2UoKSx0aGlzLm1fY2hhbmdlcy5yZXZlcnNlKCksdGhpcy5tX2NoYW5nZXN9fWNsYXNzIGdle2NvbnN0cnVjdG9yKHQsbixyPW51bGwpe3RoaXMuQ29udGludWVQcm9jZXNzaW5nUHJlZGljYXRlPXIsdGhpcy5fb3JpZ2luYWxTZXF1ZW5jZT10LHRoaXMuX21vZGlmaWVkU2VxdWVuY2U9bjtjb25zdFtzLGksb109Z2UuX2dldEVsZW1lbnRzKHQpLFtsLHUsY109Z2UuX2dldEVsZW1lbnRzKG4pO3RoaXMuX2hhc1N0cmluZ3M9byYmYyx0aGlzLl9vcmlnaW5hbFN0cmluZ0VsZW1lbnRzPXMsdGhpcy5fb3JpZ2luYWxFbGVtZW50c09ySGFzaD1pLHRoaXMuX21vZGlmaWVkU3RyaW5nRWxlbWVudHM9bCx0aGlzLl9tb2RpZmllZEVsZW1lbnRzT3JIYXNoPXUsdGhpcy5tX2ZvcndhcmRIaXN0b3J5PVtdLHRoaXMubV9yZXZlcnNlSGlzdG9yeT1bXX1zdGF0aWMgX2lzU3RyaW5nQXJyYXkodCl7cmV0dXJuIHQubGVuZ3RoPjAmJnR5cGVvZiB0WzBdPT0ic3RyaW5nIn1zdGF0aWMgX2dldEVsZW1lbnRzKHQpe2NvbnN0IG49dC5nZXRFbGVtZW50cygpO2lmKGdlLl9pc1N0cmluZ0FycmF5KG4pKXtjb25zdCByPW5ldyBJbnQzMkFycmF5KG4ubGVuZ3RoKTtmb3IobGV0IHM9MCxpPW4ubGVuZ3RoO3M8aTtzKyspcltzXT1GcyhuW3NdLDApO3JldHVybltuLHIsITBdfXJldHVybiBuIGluc3RhbmNlb2YgSW50MzJBcnJheT9bW10sbiwhMV06W1tdLG5ldyBJbnQzMkFycmF5KG4pLCExXX1FbGVtZW50c0FyZUVxdWFsKHQsbil7cmV0dXJuIHRoaXMuX29yaWdpbmFsRWxlbWVudHNPckhhc2hbdF0hPT10aGlzLl9tb2RpZmllZEVsZW1lbnRzT3JIYXNoW25dPyExOnRoaXMuX2hhc1N0cmluZ3M/dGhpcy5fb3JpZ2luYWxTdHJpbmdFbGVtZW50c1t0XT09PXRoaXMuX21vZGlmaWVkU3RyaW5nRWxlbWVudHNbbl06ITB9RWxlbWVudHNBcmVTdHJpY3RFcXVhbCh0LG4pe2lmKCF0aGlzLkVsZW1lbnRzQXJlRXF1YWwodCxuKSlyZXR1cm4hMTtjb25zdCByPWdlLl9nZXRTdHJpY3RFbGVtZW50KHRoaXMuX29yaWdpbmFsU2VxdWVuY2UsdCkscz1nZS5fZ2V0U3RyaWN0RWxlbWVudCh0aGlzLl9tb2RpZmllZFNlcXVlbmNlLG4pO3JldHVybiByPT09c31zdGF0aWMgX2dldFN0cmljdEVsZW1lbnQodCxuKXtyZXR1cm4gdHlwZW9mIHQuZ2V0U3RyaWN0RWxlbWVudD09ImZ1bmN0aW9uIj90LmdldFN0cmljdEVsZW1lbnQobik6bnVsbH1PcmlnaW5hbEVsZW1lbnRzQXJlRXF1YWwodCxuKXtyZXR1cm4gdGhpcy5fb3JpZ2luYWxFbGVtZW50c09ySGFzaFt0XSE9PXRoaXMuX29yaWdpbmFsRWxlbWVudHNPckhhc2hbbl0/ITE6dGhpcy5faGFzU3RyaW5ncz90aGlzLl9vcmlnaW5hbFN0cmluZ0VsZW1lbnRzW3RdPT09dGhpcy5fb3JpZ2luYWxTdHJpbmdFbGVtZW50c1tuXTohMH1Nb2RpZmllZEVsZW1lbnRzQXJlRXF1YWwodCxuKXtyZXR1cm4gdGhpcy5fbW9kaWZpZWRFbGVtZW50c09ySGFzaFt0XSE9PXRoaXMuX21vZGlmaWVkRWxlbWVudHNPckhhc2hbbl0/ITE6dGhpcy5faGFzU3RyaW5ncz90aGlzLl9tb2RpZmllZFN0cmluZ0VsZW1lbnRzW3RdPT09dGhpcy5fbW9kaWZpZWRTdHJpbmdFbGVtZW50c1tuXTohMH1Db21wdXRlRGlmZih0KXtyZXR1cm4gdGhpcy5fQ29tcHV0ZURpZmYoMCx0aGlzLl9vcmlnaW5hbEVsZW1lbnRzT3JIYXNoLmxlbmd0aC0xLDAsdGhpcy5fbW9kaWZpZWRFbGVtZW50c09ySGFzaC5sZW5ndGgtMSx0KX1fQ29tcHV0ZURpZmYodCxuLHIscyxpKXtjb25zdCBvPVshMV07bGV0IGw9dGhpcy5Db21wdXRlRGlmZlJlY3Vyc2l2ZSh0LG4scixzLG8pO3JldHVybiBpJiYobD10aGlzLlByZXR0aWZ5Q2hhbmdlcyhsKSkse3F1aXRFYXJseTpvWzBdLGNoYW5nZXM6bH19Q29tcHV0ZURpZmZSZWN1cnNpdmUodCxuLHIscyxpKXtmb3IoaVswXT0hMTt0PD1uJiZyPD1zJiZ0aGlzLkVsZW1lbnRzQXJlRXF1YWwodCxyKTspdCsrLHIrKztmb3IoO24+PXQmJnM+PXImJnRoaXMuRWxlbWVudHNBcmVFcXVhbChuLHMpOyluLS0scy0tO2lmKHQ+bnx8cj5zKXtsZXQgZjtyZXR1cm4gcjw9cz8oa2UuQXNzZXJ0KHQ9PT1uKzEsIm9yaWdpbmFsU3RhcnQgc2hvdWxkIG9ubHkgYmUgb25lIG1vcmUgdGhhbiBvcmlnaW5hbEVuZCIpLGY9W25ldyBtZSh0LDAscixzLXIrMSldKTp0PD1uPyhrZS5Bc3NlcnQocj09PXMrMSwibW9kaWZpZWRTdGFydCBzaG91bGQgb25seSBiZSBvbmUgbW9yZSB0aGFuIG1vZGlmaWVkRW5kIiksZj1bbmV3IG1lKHQsbi10KzEsciwwKV0pOihrZS5Bc3NlcnQodD09PW4rMSwib3JpZ2luYWxTdGFydCBzaG91bGQgb25seSBiZSBvbmUgbW9yZSB0aGFuIG9yaWdpbmFsRW5kIiksa2UuQXNzZXJ0KHI9PT1zKzEsIm1vZGlmaWVkU3RhcnQgc2hvdWxkIG9ubHkgYmUgb25lIG1vcmUgdGhhbiBtb2RpZmllZEVuZCIpLGY9W10pLGZ9Y29uc3Qgbz1bMF0sbD1bMF0sdT10aGlzLkNvbXB1dGVSZWN1cnNpb25Qb2ludCh0LG4scixzLG8sbCxpKSxjPW9bMF0saD1sWzBdO2lmKHUhPT1udWxsKXJldHVybiB1O2lmKCFpWzBdKXtjb25zdCBmPXRoaXMuQ29tcHV0ZURpZmZSZWN1cnNpdmUodCxjLHIsaCxpKTtsZXQgZD1bXTtyZXR1cm4gaVswXT9kPVtuZXcgbWUoYysxLG4tKGMrMSkrMSxoKzEscy0oaCsxKSsxKV06ZD10aGlzLkNvbXB1dGVEaWZmUmVjdXJzaXZlKGMrMSxuLGgrMSxzLGkpLHRoaXMuQ29uY2F0ZW5hdGVDaGFuZ2VzKGYsZCl9cmV0dXJuW25ldyBtZSh0LG4tdCsxLHIscy1yKzEpXX1XQUxLVFJBQ0UodCxuLHIscyxpLG8sbCx1LGMsaCxmLGQsbSxnLHAsdixOLFMpe2xldCBfPW51bGwsdz1udWxsLHg9bmV3IHVuLEM9bixFPXIseT1tWzBdLXZbMF0tcyxVPS0xMDczNzQxODI0LCQ9dGhpcy5tX2ZvcndhcmRIaXN0b3J5Lmxlbmd0aC0xO2Rve2NvbnN0IEw9eSt0O0w9PT1DfHxMPEUmJmNbTC0xXTxjW0wrMV0/KGY9Y1tMKzFdLGc9Zi15LXMsZjxVJiZ4Lk1hcmtOZXh0Q2hhbmdlKCksVT1mLHguQWRkTW9kaWZpZWRFbGVtZW50KGYrMSxnKSx5PUwrMS10KTooZj1jW0wtMV0rMSxnPWYteS1zLGY8VSYmeC5NYXJrTmV4dENoYW5nZSgpLFU9Zi0xLHguQWRkT3JpZ2luYWxFbGVtZW50KGYsZysxKSx5PUwtMS10KSwkPj0wJiYoYz10aGlzLm1fZm9yd2FyZEhpc3RvcnlbJF0sdD1jWzBdLEM9MSxFPWMubGVuZ3RoLTEpfXdoaWxlKC0tJD49LTEpO2lmKF89eC5nZXRSZXZlcnNlQ2hhbmdlcygpLFNbMF0pe2xldCBMPW1bMF0rMSxiPXZbMF0rMTtpZihfIT09bnVsbCYmXy5sZW5ndGg+MCl7Y29uc3QgQT1fW18ubGVuZ3RoLTFdO0w9TWF0aC5tYXgoTCxBLmdldE9yaWdpbmFsRW5kKCkpLGI9TWF0aC5tYXgoYixBLmdldE1vZGlmaWVkRW5kKCkpfXc9W25ldyBtZShMLGQtTCsxLGIscC1iKzEpXX1lbHNle3g9bmV3IHVuLEM9byxFPWwseT1tWzBdLXZbMF0tdSxVPTEwNzM3NDE4MjQsJD1OP3RoaXMubV9yZXZlcnNlSGlzdG9yeS5sZW5ndGgtMTp0aGlzLm1fcmV2ZXJzZUhpc3RvcnkubGVuZ3RoLTI7ZG97Y29uc3QgTD15K2k7TD09PUN8fEw8RSYmaFtMLTFdPj1oW0wrMV0/KGY9aFtMKzFdLTEsZz1mLXktdSxmPlUmJnguTWFya05leHRDaGFuZ2UoKSxVPWYrMSx4LkFkZE9yaWdpbmFsRWxlbWVudChmKzEsZysxKSx5PUwrMS1pKTooZj1oW0wtMV0sZz1mLXktdSxmPlUmJnguTWFya05leHRDaGFuZ2UoKSxVPWYseC5BZGRNb2RpZmllZEVsZW1lbnQoZisxLGcrMSkseT1MLTEtaSksJD49MCYmKGg9dGhpcy5tX3JldmVyc2VIaXN0b3J5WyRdLGk9aFswXSxDPTEsRT1oLmxlbmd0aC0xKX13aGlsZSgtLSQ+PS0xKTt3PXguZ2V0Q2hhbmdlcygpfXJldHVybiB0aGlzLkNvbmNhdGVuYXRlQ2hhbmdlcyhfLHcpfUNvbXB1dGVSZWN1cnNpb25Qb2ludCh0LG4scixzLGksbyxsKXtsZXQgdT0wLGM9MCxoPTAsZj0wLGQ9MCxtPTA7dC0tLHItLSxpWzBdPTAsb1swXT0wLHRoaXMubV9mb3J3YXJkSGlzdG9yeT1bXSx0aGlzLm1fcmV2ZXJzZUhpc3Rvcnk9W107Y29uc3QgZz1uLXQrKHMtcikscD1nKzEsdj1uZXcgSW50MzJBcnJheShwKSxOPW5ldyBJbnQzMkFycmF5KHApLFM9cy1yLF89bi10LHc9dC1yLHg9bi1zLEU9KF8tUyklMj09PTA7dltTXT10LE5bX109bixsWzBdPSExO2ZvcihsZXQgeT0xO3k8PWcvMisxO3krKyl7bGV0IFU9MCwkPTA7aD10aGlzLkNsaXBEaWFnb25hbEJvdW5kKFMteSx5LFMscCksZj10aGlzLkNsaXBEaWFnb25hbEJvdW5kKFMreSx5LFMscCk7Zm9yKGxldCBiPWg7Yjw9ZjtiKz0yKXtiPT09aHx8YjxmJiZ2W2ItMV08dltiKzFdP3U9dltiKzFdOnU9dltiLTFdKzEsYz11LShiLVMpLXc7Y29uc3QgQT11O2Zvcig7dTxuJiZjPHMmJnRoaXMuRWxlbWVudHNBcmVFcXVhbCh1KzEsYysxKTspdSsrLGMrKztpZih2W2JdPXUsdStjPlUrJCYmKFU9dSwkPWMpLCFFJiZNYXRoLmFicyhiLV8pPD15LTEmJnU+PU5bYl0pcmV0dXJuIGlbMF09dSxvWzBdPWMsQTw9TltiXSYmeTw9MTQ0OD90aGlzLldBTEtUUkFDRShTLGgsZix3LF8sZCxtLHgsdixOLHUsbixpLGMscyxvLEUsbCk6bnVsbH1jb25zdCBMPShVLXQrKCQtcikteSkvMjtpZih0aGlzLkNvbnRpbnVlUHJvY2Vzc2luZ1ByZWRpY2F0ZSE9PW51bGwmJiF0aGlzLkNvbnRpbnVlUHJvY2Vzc2luZ1ByZWRpY2F0ZShVLEwpKXJldHVybiBsWzBdPSEwLGlbMF09VSxvWzBdPSQsTD4wJiZ5PD0xNDQ4P3RoaXMuV0FMS1RSQUNFKFMsaCxmLHcsXyxkLG0seCx2LE4sdSxuLGksYyxzLG8sRSxsKToodCsrLHIrKyxbbmV3IG1lKHQsbi10KzEscixzLXIrMSldKTtkPXRoaXMuQ2xpcERpYWdvbmFsQm91bmQoXy15LHksXyxwKSxtPXRoaXMuQ2xpcERpYWdvbmFsQm91bmQoXyt5LHksXyxwKTtmb3IobGV0IGI9ZDtiPD1tO2IrPTIpe2I9PT1kfHxiPG0mJk5bYi0xXT49TltiKzFdP3U9TltiKzFdLTE6dT1OW2ItMV0sYz11LShiLV8pLXg7Y29uc3QgQT11O2Zvcig7dT50JiZjPnImJnRoaXMuRWxlbWVudHNBcmVFcXVhbCh1LGMpOyl1LS0sYy0tO2lmKE5bYl09dSxFJiZNYXRoLmFicyhiLVMpPD15JiZ1PD12W2JdKXJldHVybiBpWzBdPXUsb1swXT1jLEE+PXZbYl0mJnk8PTE0NDg/dGhpcy5XQUxLVFJBQ0UoUyxoLGYsdyxfLGQsbSx4LHYsTix1LG4saSxjLHMsbyxFLGwpOm51bGx9aWYoeTw9MTQ0Nyl7bGV0IGI9bmV3IEludDMyQXJyYXkoZi1oKzIpO2JbMF09Uy1oKzEsVGUuQ29weTIodixoLGIsMSxmLWgrMSksdGhpcy5tX2ZvcndhcmRIaXN0b3J5LnB1c2goYiksYj1uZXcgSW50MzJBcnJheShtLWQrMiksYlswXT1fLWQrMSxUZS5Db3B5MihOLGQsYiwxLG0tZCsxKSx0aGlzLm1fcmV2ZXJzZUhpc3RvcnkucHVzaChiKX19cmV0dXJuIHRoaXMuV0FMS1RSQUNFKFMsaCxmLHcsXyxkLG0seCx2LE4sdSxuLGksYyxzLG8sRSxsKX1QcmV0dGlmeUNoYW5nZXModCl7Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspe2NvbnN0IHI9dFtuXSxzPW48dC5sZW5ndGgtMT90W24rMV0ub3JpZ2luYWxTdGFydDp0aGlzLl9vcmlnaW5hbEVsZW1lbnRzT3JIYXNoLmxlbmd0aCxpPW48dC5sZW5ndGgtMT90W24rMV0ubW9kaWZpZWRTdGFydDp0aGlzLl9tb2RpZmllZEVsZW1lbnRzT3JIYXNoLmxlbmd0aCxvPXIub3JpZ2luYWxMZW5ndGg+MCxsPXIubW9kaWZpZWRMZW5ndGg+MDtmb3IoO3Iub3JpZ2luYWxTdGFydCtyLm9yaWdpbmFsTGVuZ3RoPHMmJnIubW9kaWZpZWRTdGFydCtyLm1vZGlmaWVkTGVuZ3RoPGkmJighb3x8dGhpcy5PcmlnaW5hbEVsZW1lbnRzQXJlRXF1YWwoci5vcmlnaW5hbFN0YXJ0LHIub3JpZ2luYWxTdGFydCtyLm9yaWdpbmFsTGVuZ3RoKSkmJighbHx8dGhpcy5Nb2RpZmllZEVsZW1lbnRzQXJlRXF1YWwoci5tb2RpZmllZFN0YXJ0LHIubW9kaWZpZWRTdGFydCtyLm1vZGlmaWVkTGVuZ3RoKSk7KXtjb25zdCBjPXRoaXMuRWxlbWVudHNBcmVTdHJpY3RFcXVhbChyLm9yaWdpbmFsU3RhcnQsci5tb2RpZmllZFN0YXJ0KTtpZih0aGlzLkVsZW1lbnRzQXJlU3RyaWN0RXF1YWwoci5vcmlnaW5hbFN0YXJ0K3Iub3JpZ2luYWxMZW5ndGgsci5tb2RpZmllZFN0YXJ0K3IubW9kaWZpZWRMZW5ndGgpJiYhYylicmVhaztyLm9yaWdpbmFsU3RhcnQrKyxyLm1vZGlmaWVkU3RhcnQrK31jb25zdCB1PVtudWxsXTtpZihuPHQubGVuZ3RoLTEmJnRoaXMuQ2hhbmdlc092ZXJsYXAodFtuXSx0W24rMV0sdSkpe3Rbbl09dVswXSx0LnNwbGljZShuKzEsMSksbi0tO2NvbnRpbnVlfX1mb3IobGV0IG49dC5sZW5ndGgtMTtuPj0wO24tLSl7Y29uc3Qgcj10W25dO2xldCBzPTAsaT0wO2lmKG4+MCl7Y29uc3QgZj10W24tMV07cz1mLm9yaWdpbmFsU3RhcnQrZi5vcmlnaW5hbExlbmd0aCxpPWYubW9kaWZpZWRTdGFydCtmLm1vZGlmaWVkTGVuZ3RofWNvbnN0IG89ci5vcmlnaW5hbExlbmd0aD4wLGw9ci5tb2RpZmllZExlbmd0aD4wO2xldCB1PTAsYz10aGlzLl9ib3VuZGFyeVNjb3JlKHIub3JpZ2luYWxTdGFydCxyLm9yaWdpbmFsTGVuZ3RoLHIubW9kaWZpZWRTdGFydCxyLm1vZGlmaWVkTGVuZ3RoKTtmb3IobGV0IGY9MTs7ZisrKXtjb25zdCBkPXIub3JpZ2luYWxTdGFydC1mLG09ci5tb2RpZmllZFN0YXJ0LWY7aWYoZDxzfHxtPGl8fG8mJiF0aGlzLk9yaWdpbmFsRWxlbWVudHNBcmVFcXVhbChkLGQrci5vcmlnaW5hbExlbmd0aCl8fGwmJiF0aGlzLk1vZGlmaWVkRWxlbWVudHNBcmVFcXVhbChtLG0rci5tb2RpZmllZExlbmd0aCkpYnJlYWs7Y29uc3QgcD0oZD09PXMmJm09PT1pPzU6MCkrdGhpcy5fYm91bmRhcnlTY29yZShkLHIub3JpZ2luYWxMZW5ndGgsbSxyLm1vZGlmaWVkTGVuZ3RoKTtwPmMmJihjPXAsdT1mKX1yLm9yaWdpbmFsU3RhcnQtPXUsci5tb2RpZmllZFN0YXJ0LT11O2NvbnN0IGg9W251bGxdO2lmKG4+MCYmdGhpcy5DaGFuZ2VzT3ZlcmxhcCh0W24tMV0sdFtuXSxoKSl7dFtuLTFdPWhbMF0sdC5zcGxpY2UobiwxKSxuKys7Y29udGludWV9fWlmKHRoaXMuX2hhc1N0cmluZ3MpZm9yKGxldCBuPTEscj10Lmxlbmd0aDtuPHI7bisrKXtjb25zdCBzPXRbbi0xXSxpPXRbbl0sbz1pLm9yaWdpbmFsU3RhcnQtcy5vcmlnaW5hbFN0YXJ0LXMub3JpZ2luYWxMZW5ndGgsbD1zLm9yaWdpbmFsU3RhcnQsdT1pLm9yaWdpbmFsU3RhcnQraS5vcmlnaW5hbExlbmd0aCxjPXUtbCxoPXMubW9kaWZpZWRTdGFydCxmPWkubW9kaWZpZWRTdGFydCtpLm1vZGlmaWVkTGVuZ3RoLGQ9Zi1oO2lmKG88NSYmYzwyMCYmZDwyMCl7Y29uc3QgbT10aGlzLl9maW5kQmV0dGVyQ29udGlndW91c1NlcXVlbmNlKGwsYyxoLGQsbyk7aWYobSl7Y29uc3RbZyxwXT1tOyhnIT09cy5vcmlnaW5hbFN0YXJ0K3Mub3JpZ2luYWxMZW5ndGh8fHAhPT1zLm1vZGlmaWVkU3RhcnQrcy5tb2RpZmllZExlbmd0aCkmJihzLm9yaWdpbmFsTGVuZ3RoPWctcy5vcmlnaW5hbFN0YXJ0LHMubW9kaWZpZWRMZW5ndGg9cC1zLm1vZGlmaWVkU3RhcnQsaS5vcmlnaW5hbFN0YXJ0PWcrbyxpLm1vZGlmaWVkU3RhcnQ9cCtvLGkub3JpZ2luYWxMZW5ndGg9dS1pLm9yaWdpbmFsU3RhcnQsaS5tb2RpZmllZExlbmd0aD1mLWkubW9kaWZpZWRTdGFydCl9fX1yZXR1cm4gdH1fZmluZEJldHRlckNvbnRpZ3VvdXNTZXF1ZW5jZSh0LG4scixzLGkpe2lmKG48aXx8czxpKXJldHVybiBudWxsO2NvbnN0IG89dCtuLWkrMSxsPXIrcy1pKzE7bGV0IHU9MCxjPTAsaD0wO2ZvcihsZXQgZj10O2Y8bztmKyspZm9yKGxldCBkPXI7ZDxsO2QrKyl7Y29uc3QgbT10aGlzLl9jb250aWd1b3VzU2VxdWVuY2VTY29yZShmLGQsaSk7bT4wJiZtPnUmJih1PW0sYz1mLGg9ZCl9cmV0dXJuIHU+MD9bYyxoXTpudWxsfV9jb250aWd1b3VzU2VxdWVuY2VTY29yZSh0LG4scil7bGV0IHM9MDtmb3IobGV0IGk9MDtpPHI7aSsrKXtpZighdGhpcy5FbGVtZW50c0FyZUVxdWFsKHQraSxuK2kpKXJldHVybiAwO3MrPXRoaXMuX29yaWdpbmFsU3RyaW5nRWxlbWVudHNbdCtpXS5sZW5ndGh9cmV0dXJuIHN9X09yaWdpbmFsSXNCb3VuZGFyeSh0KXtyZXR1cm4gdDw9MHx8dD49dGhpcy5fb3JpZ2luYWxFbGVtZW50c09ySGFzaC5sZW5ndGgtMT8hMDp0aGlzLl9oYXNTdHJpbmdzJiYvXlxzKiQvLnRlc3QodGhpcy5fb3JpZ2luYWxTdHJpbmdFbGVtZW50c1t0XSl9X09yaWdpbmFsUmVnaW9uSXNCb3VuZGFyeSh0LG4pe2lmKHRoaXMuX09yaWdpbmFsSXNCb3VuZGFyeSh0KXx8dGhpcy5fT3JpZ2luYWxJc0JvdW5kYXJ5KHQtMSkpcmV0dXJuITA7aWYobj4wKXtjb25zdCByPXQrbjtpZih0aGlzLl9PcmlnaW5hbElzQm91bmRhcnkoci0xKXx8dGhpcy5fT3JpZ2luYWxJc0JvdW5kYXJ5KHIpKXJldHVybiEwfXJldHVybiExfV9Nb2RpZmllZElzQm91bmRhcnkodCl7cmV0dXJuIHQ8PTB8fHQ+PXRoaXMuX21vZGlmaWVkRWxlbWVudHNPckhhc2gubGVuZ3RoLTE/ITA6dGhpcy5faGFzU3RyaW5ncyYmL15ccyokLy50ZXN0KHRoaXMuX21vZGlmaWVkU3RyaW5nRWxlbWVudHNbdF0pfV9Nb2RpZmllZFJlZ2lvbklzQm91bmRhcnkodCxuKXtpZih0aGlzLl9Nb2RpZmllZElzQm91bmRhcnkodCl8fHRoaXMuX01vZGlmaWVkSXNCb3VuZGFyeSh0LTEpKXJldHVybiEwO2lmKG4+MCl7Y29uc3Qgcj10K247aWYodGhpcy5fTW9kaWZpZWRJc0JvdW5kYXJ5KHItMSl8fHRoaXMuX01vZGlmaWVkSXNCb3VuZGFyeShyKSlyZXR1cm4hMH1yZXR1cm4hMX1fYm91bmRhcnlTY29yZSh0LG4scixzKXtjb25zdCBpPXRoaXMuX09yaWdpbmFsUmVnaW9uSXNCb3VuZGFyeSh0LG4pPzE6MCxvPXRoaXMuX01vZGlmaWVkUmVnaW9uSXNCb3VuZGFyeShyLHMpPzE6MDtyZXR1cm4gaStvfUNvbmNhdGVuYXRlQ2hhbmdlcyh0LG4pe2NvbnN0IHI9W107aWYodC5sZW5ndGg9PT0wfHxuLmxlbmd0aD09PTApcmV0dXJuIG4ubGVuZ3RoPjA/bjp0O2lmKHRoaXMuQ2hhbmdlc092ZXJsYXAodFt0Lmxlbmd0aC0xXSxuWzBdLHIpKXtjb25zdCBzPW5ldyBBcnJheSh0Lmxlbmd0aCtuLmxlbmd0aC0xKTtyZXR1cm4gVGUuQ29weSh0LDAscywwLHQubGVuZ3RoLTEpLHNbdC5sZW5ndGgtMV09clswXSxUZS5Db3B5KG4sMSxzLHQubGVuZ3RoLG4ubGVuZ3RoLTEpLHN9ZWxzZXtjb25zdCBzPW5ldyBBcnJheSh0Lmxlbmd0aCtuLmxlbmd0aCk7cmV0dXJuIFRlLkNvcHkodCwwLHMsMCx0Lmxlbmd0aCksVGUuQ29weShuLDAscyx0Lmxlbmd0aCxuLmxlbmd0aCksc319Q2hhbmdlc092ZXJsYXAodCxuLHIpe2lmKGtlLkFzc2VydCh0Lm9yaWdpbmFsU3RhcnQ8PW4ub3JpZ2luYWxTdGFydCwiTGVmdCBjaGFuZ2UgaXMgbm90IGxlc3MgdGhhbiBvciBlcXVhbCB0byByaWdodCBjaGFuZ2UiKSxrZS5Bc3NlcnQodC5tb2RpZmllZFN0YXJ0PD1uLm1vZGlmaWVkU3RhcnQsIkxlZnQgY2hhbmdlIGlzIG5vdCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gcmlnaHQgY2hhbmdlIiksdC5vcmlnaW5hbFN0YXJ0K3Qub3JpZ2luYWxMZW5ndGg+PW4ub3JpZ2luYWxTdGFydHx8dC5tb2RpZmllZFN0YXJ0K3QubW9kaWZpZWRMZW5ndGg+PW4ubW9kaWZpZWRTdGFydCl7Y29uc3Qgcz10Lm9yaWdpbmFsU3RhcnQ7bGV0IGk9dC5vcmlnaW5hbExlbmd0aDtjb25zdCBvPXQubW9kaWZpZWRTdGFydDtsZXQgbD10Lm1vZGlmaWVkTGVuZ3RoO3JldHVybiB0Lm9yaWdpbmFsU3RhcnQrdC5vcmlnaW5hbExlbmd0aD49bi5vcmlnaW5hbFN0YXJ0JiYoaT1uLm9yaWdpbmFsU3RhcnQrbi5vcmlnaW5hbExlbmd0aC10Lm9yaWdpbmFsU3RhcnQpLHQubW9kaWZpZWRTdGFydCt0Lm1vZGlmaWVkTGVuZ3RoPj1uLm1vZGlmaWVkU3RhcnQmJihsPW4ubW9kaWZpZWRTdGFydCtuLm1vZGlmaWVkTGVuZ3RoLXQubW9kaWZpZWRTdGFydCksclswXT1uZXcgbWUocyxpLG8sbCksITB9ZWxzZSByZXR1cm4gclswXT1udWxsLCExfUNsaXBEaWFnb25hbEJvdW5kKHQsbixyLHMpe2lmKHQ+PTAmJnQ8cylyZXR1cm4gdDtjb25zdCBpPXIsbz1zLXItMSxsPW4lMj09PTA7aWYodDwwKXtjb25zdCB1PWklMj09PTA7cmV0dXJuIGw9PT11PzA6MX1lbHNle2NvbnN0IHU9byUyPT09MDtyZXR1cm4gbD09PXU/cy0xOnMtMn19fXZhciBjbj17R0lUSFVCX1NUQVRFOiIvaG9tZS9ydW5uZXIvd29yay9fdGVtcC9fcnVubmVyX2ZpbGVfY29tbWFuZHMvc2F2ZV9zdGF0ZV8xZGIyNGQ5OS03NDViLTQ0ZTYtOTExOC05MmRhNzcyOWM5MTQiLFNUQVRTX1RSUDoidHJ1ZSIsREVQTE9ZTUVOVF9CQVNFUEFUSDoiL29wdC9ydW5uZXIiLERPVE5FVF9OT0xPR086IjEiLFVTRVI6InJ1bm5lciIsbnBtX2NvbmZpZ19hbHdheXNfYXV0aDoiIixucG1fY29uZmlnX3VzZXJfYWdlbnQ6Im5wbS8xMC41LjAgbm9kZS92MTguMjAuMiBsaW51eCB4NjQgd29ya3NwYWNlcy9mYWxzZSBjaS9naXRodWItYWN0aW9ucyIsQ0k6InRydWUiLFJVTk5FUl9FTlZJUk9OTUVOVDoiZ2l0aHViLWhvc3RlZCIsR0lUSFVCX0VOVjoiL2hvbWUvcnVubmVyL3dvcmsvX3RlbXAvX3J1bm5lcl9maWxlX2NvbW1hbmRzL3NldF9lbnZfMWRiMjRkOTktNzQ1Yi00NGU2LTkxMTgtOTJkYTc3MjljOTE0IixQSVBYX0hPTUU6Ii9vcHQvcGlweCIsbnBtX25vZGVfZXhlY3BhdGg6Ii9vcHQvaG9zdGVkdG9vbGNhY2hlL25vZGUvMTguMjAuMi94NjQvYmluL25vZGUiLEpBVkFfSE9NRV84X1g2NDoiL3Vzci9saWIvanZtL3RlbXVyaW4tOC1qZGstYW1kNjQiLE5PREVfQVVUSF9UT0tFTjoiWFhYWFgtWFhYWFgtWFhYWFgtWFhYWFgiLFNITFZMOiIxIixucG1fY29uZmlnX25vcHJveHk6IiIsSE9NRToiL2hvbWUvcnVubmVyIixSVU5ORVJfVEVNUDoiL2hvbWUvcnVubmVyL3dvcmsvX3RlbXAiLEdJVEhVQl9FVkVOVF9QQVRIOiIvaG9tZS9ydW5uZXIvd29yay9fdGVtcC9fZ2l0aHViX3dvcmtmbG93L2V2ZW50Lmpzb24iLG5wbV9wYWNrYWdlX2pzb246Ii9ob21lL3J1bm5lci93b3JrL29wZW5hcGktdWkvb3BlbmFwaS11aS9wYWNrYWdlLmpzb24iLEpBVkFfSE9NRV8xMV9YNjQ6Ii91c3IvbGliL2p2bS90ZW11cmluLTExLWpkay1hbWQ2NCIsUElQWF9CSU5fRElSOiIvb3B0L3BpcHhfYmluIixHSVRIVUJfUkVQT1NJVE9SWV9PV05FUjoicm9va2llLWx1b2NoYW8iLG5wbV9jb25maWdfYXV0b19pbnN0YWxsX3BlZXJzOiJ0cnVlIixucG1fcGFja2FnZV9lbmdpbmVzX25vZGU6Il4xOC4wLjAgfHwgPj0yMC4wLjAiLEdSQURMRV9IT01FOiIvdXNyL3NoYXJlL2dyYWRsZS04LjciLEFORFJPSURfTkRLX0xBVEVTVF9IT01FOiIvdXNyL2xvY2FsL2xpYi9hbmRyb2lkL3Nkay9uZGsvMjYuMy4xMTU3OTI2NCIsSkFWQV9IT01FXzIxX1g2NDoiL3Vzci9saWIvanZtL3RlbXVyaW4tMjEtamRrLWFtZDY0IixTVEFUU19SRENMOiJ0cnVlIixHSVRIVUJfUkVURU5USU9OX0RBWVM6IjkwIixHSVRIVUJfUkVQT1NJVE9SWV9PV05FUl9JRDoiMjI5NDgwNzciLFBPV0VSU0hFTExfRElTVFJJQlVUSU9OX0NIQU5ORUw6IkdpdEh1Yi1BY3Rpb25zLXVidW50dTIyIixBWlVSRV9FWFRFTlNJT05fRElSOiIvb3B0L2F6L2F6Y2xpZXh0ZW5zaW9ucyIsR0lUSFVCX0hFQURfUkVGOiIiLG5wbV9jb25maWdfbG9jYWxfcHJlZml4OiIvaG9tZS9ydW5uZXIvd29yay9vcGVuYXBpLXVpL29wZW5hcGktdWkiLFNZU1RFTURfRVhFQ19QSUQ6IjU5MSIsR0lUSFVCX0dSQVBIUUxfVVJMOiJodHRwczovL2FwaS5naXRodWIuY29tL2dyYXBocWwiLENPTE9SOiIwIixHT1JPT1RfMV8yMF9YNjQ6Ii9vcHQvaG9zdGVkdG9vbGNhY2hlL2dvLzEuMjAuMTQveDY0IixOVk1fRElSOiIvaG9tZS9ydW5uZXIvLm52bSIsRE9UTkVUX1NLSVBfRklSU1RfVElNRV9FWFBFUklFTkNFOiIxIixHT1JPT1RfMV8yMV9YNjQ6Ii9vcHQvaG9zdGVkdG9vbGNhY2hlL2dvLzEuMjEuOS94NjQiLEpBVkFfSE9NRV8xN19YNjQ6Ii91c3IvbGliL2p2bS90ZW11cmluLTE3LWpkay1hbWQ2NCIsSW1hZ2VWZXJzaW9uOiIyMDI0MDQyMi4xLjAiLFJVTk5FUl9PUzoiTGludXgiLEdJVEhVQl9BUElfVVJMOiJodHRwczovL2FwaS5naXRodWIuY29tIixHT1JPT1RfMV8yMl9YNjQ6Ii9vcHQvaG9zdGVkdG9vbGNhY2hlL2dvLzEuMjIuMi94NjQiLFNXSUZUX1BBVEg6Ii91c3Ivc2hhcmUvc3dpZnQvdXNyL2JpbiIsUlVOTkVSX1VTRVI6InJ1bm5lciIsU1RBVFNfVjNQUzoidHJ1ZSIsQ0hST01FV0VCRFJJVkVSOiIvdXNyL2xvY2FsL3NoYXJlL2Nocm9tZWRyaXZlci1saW51eDY0IixKT1VSTkFMX1NUUkVBTToiODoxNzM5OSIsR0lUSFVCX1dPUktGTE9XOiJQdWJsaXNoIFBhY2thZ2UgQ0kiLF86Ii9vcHQvaG9zdGVkdG9vbGNhY2hlL25vZGUvMTguMjAuMi94NjQvYmluL25wbSIsbnBtX2NvbmZpZ19wcmVmaXg6Ii9vcHQvaG9zdGVkdG9vbGNhY2hlL25vZGUvMTguMjAuMi94NjQiLG5wbV9jb25maWdfbnBtX3ZlcnNpb246IjEwLjUuMCIsQUNUSU9OU19SVU5ORVJfQUNUSU9OX0FSQ0hJVkVfQ0FDSEU6Ii9vcHQvYWN0aW9uYXJjaGl2ZWNhY2hlIixTVEFUU19EOiJ0cnVlIixHSVRIVUJfUlVOX0lEOiI5MDM0MzYzNTY1IixTVEFUU19WTUZFOiJ0cnVlIixucG1fY29uZmlnX2NhY2hlOiIvaG9tZS9ydW5uZXIvLm5wbSIsR0lUSFVCX1JFRl9UWVBFOiJ0YWciLEJPT1RTVFJBUF9IQVNLRUxMX05PTklOVEVSQUNUSVZFOiIxIixHSVRIVUJfV09SS0ZMT1dfU0hBOiI3ZDA2YWE1OTYyZTI4NTQyNjc0OTZhZjk2NDkwMzcyOWVhMzcxMmVhIixHSVRIVUJfQkFTRV9SRUY6IiIsSW1hZ2VPUzoidWJ1bnR1MjIiLEdJVEhVQl9XT1JLRkxPV19SRUY6InJvb2tpZS1sdW9jaGFvL29wZW5hcGktdWkvLmdpdGh1Yi93b3JrZmxvd3MvcHVibGlzaC1wYWNrYWdlLWNpLnltbEByZWZzL3RhZ3MvdjIuMi4xIixQRVJGTE9HX0xPQ0FUSU9OX1NFVFRJTkc6IlJVTk5FUl9QRVJGTE9HIixHSVRIVUJfQUNUSU9OX1JFUE9TSVRPUlk6IiIsbnBtX2NvbmZpZ19ub2RlX2d5cDoiL29wdC9ob3N0ZWR0b29sY2FjaGUvbm9kZS8xOC4yMC4yL3g2NC9saWIvbm9kZV9tb2R1bGVzL25wbS9ub2RlX21vZHVsZXMvbm9kZS1neXAvYmluL25vZGUtZ3lwLmpzIixQQVRIOiIvaG9tZS9ydW5uZXIvd29yay9vcGVuYXBpLXVpL29wZW5hcGktdWkvbm9kZV9tb2R1bGVzLy5iaW46L2hvbWUvcnVubmVyL3dvcmsvb3BlbmFwaS11aS9ub2RlX21vZHVsZXMvLmJpbjovaG9tZS9ydW5uZXIvd29yay9ub2RlX21vZHVsZXMvLmJpbjovaG9tZS9ydW5uZXIvbm9kZV9tb2R1bGVzLy5iaW46L2hvbWUvbm9kZV9tb2R1bGVzLy5iaW46L25vZGVfbW9kdWxlcy8uYmluOi9vcHQvaG9zdGVkdG9vbGNhY2hlL25vZGUvMTguMjAuMi94NjQvbGliL25vZGVfbW9kdWxlcy9ucG0vbm9kZV9tb2R1bGVzL0BucG1jbGkvcnVuLXNjcmlwdC9saWIvbm9kZS1neXAtYmluOi9vcHQvaG9zdGVkdG9vbGNhY2hlL25vZGUvMTguMjAuMi94NjQvYmluOi9zbmFwL2JpbjovaG9tZS9ydW5uZXIvLmxvY2FsL2Jpbjovb3B0L3BpcHhfYmluOi9ob21lL3J1bm5lci8uY2FyZ28vYmluOi9ob21lL3J1bm5lci8uY29uZmlnL2NvbXBvc2VyL3ZlbmRvci9iaW46L3Vzci9sb2NhbC8uZ2hjdXAvYmluOi9ob21lL3J1bm5lci8uZG90bmV0L3Rvb2xzOi91c3IvbG9jYWwvc2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL3NiaW46L3Vzci9iaW46L3NiaW46L2JpbjovdXNyL2dhbWVzOi91c3IvbG9jYWwvZ2FtZXM6L3NuYXAvYmluIixBTlRfSE9NRToiL3Vzci9zaGFyZS9hbnQiLERPVE5FVF9NVUxUSUxFVkVMX0xPT0tVUDoiMCIsUlVOTkVSX1RSQUNLSU5HX0lEOiJnaXRodWJfOGUzZjA2ZTItMDFlZS00ZGQzLThmZjAtNGFkOTBmMGY1ZjI4IixJTlZPQ0FUSU9OX0lEOiJkMDA1N2MwOTQzMTc0YzRlOTVlMjk5Njg4YjI3MDY4MCIsTlBNX0NPTkZJR19VU0VSQ09ORklHOiIvaG9tZS9ydW5uZXIvd29yay9fdGVtcC8ubnBtcmMiLFJVTk5FUl9UT09MX0NBQ0hFOiIvb3B0L2hvc3RlZHRvb2xjYWNoZSIsTk9ERToiL29wdC9ob3N0ZWR0b29sY2FjaGUvbm9kZS8xOC4yMC4yL3g2NC9iaW4vbm9kZSIsbnBtX3BhY2thZ2VfbmFtZToib3BlbmFwaS11aS1kaXN0IixHSVRIVUJfQUNUSU9OOiJfX3J1bl8zIixHSVRIVUJfUlVOX05VTUJFUjoiNSIsR0lUSFVCX1RSSUdHRVJJTkdfQUNUT1I6InJvb2tpZS1sdW9jaGFvIixSVU5ORVJfQVJDSDoiWDY0IixYREdfUlVOVElNRV9ESVI6Ii9ydW4vdXNlci8xMDAxIixBR0VOVF9UT09MU0RJUkVDVE9SWToiL29wdC9ob3N0ZWR0b29sY2FjaGUiLExBTkc6IkMuVVRGLTgiLFZDUEtHX0lOU1RBTExBVElPTl9ST09UOiIvdXNyL2xvY2FsL3NoYXJlL3ZjcGtnIixDT05EQToiL3Vzci9zaGFyZS9taW5pY29uZGEiLFJVTk5FUl9OQU1FOiJHaXRIdWIgQWN0aW9ucyAxOSIsWERHX0NPTkZJR19IT01FOiIvaG9tZS9ydW5uZXIvLmNvbmZpZyIsU1RBVFNfVk1EOiJ0cnVlIixHSVRIVUJfUkVGX05BTUU6InYyLjIuMSIsR0lUSFVCX1JFUE9TSVRPUlk6InJvb2tpZS1sdW9jaGFvL29wZW5hcGktdWkiLFNUQVRTX0RfRDoidHJ1ZSIsbnBtX2xpZmVjeWNsZV9zY3JpcHQ6InRzYyAmJiB2aXRlIGJ1aWxkIC0tY29uZmlnIHZpdGUucGFja2FnZS5jb25maWcudHMgLS1tb2RlIHBhY2thZ2UiLFNUQVRTX1VFOiJ0cnVlIixBTkRST0lEX05ES19ST09UOiIvdXNyL2xvY2FsL2xpYi9hbmRyb2lkL3Nkay9uZGsvMjUuMi45NTE5NjUzIixHSVRIVUJfQUNUSU9OX1JFRjoiIixERUJJQU5fRlJPTlRFTkQ6Im5vbmludGVyYWN0aXZlIixHSVRIVUJfUkVQT1NJVE9SWV9JRDoiNzMzOTY5MzM4IixHSVRIVUJfQUNUSU9OUzoidHJ1ZSIsbnBtX3BhY2thZ2VfdmVyc2lvbjoiMi4yLjEiLG5wbV9saWZlY3ljbGVfZXZlbnQ6ImJ1aWxkOnBhY2thZ2UiLE5PREVfUEFUSDoiL2hvbWUvcnVubmVyL3dvcmsvb3BlbmFwaS11aS9vcGVuYXBpLXVpL25vZGVfbW9kdWxlcy8ucG5wbS92aXRlQDUuMi4xMV9AdHlwZXMrbm9kZUAyMC4xMi43L25vZGVfbW9kdWxlcy92aXRlL2Jpbi9ub2RlX21vZHVsZXM6L2hvbWUvcnVubmVyL3dvcmsvb3BlbmFwaS11aS9vcGVuYXBpLXVpL25vZGVfbW9kdWxlcy8ucG5wbS92aXRlQDUuMi4xMV9AdHlwZXMrbm9kZUAyMC4xMi43L25vZGVfbW9kdWxlcy92aXRlL25vZGVfbW9kdWxlczovaG9tZS9ydW5uZXIvd29yay9vcGVuYXBpLXVpL29wZW5hcGktdWkvbm9kZV9tb2R1bGVzLy5wbnBtL3ZpdGVANS4yLjExX0B0eXBlcytub2RlQDIwLjEyLjcvbm9kZV9tb2R1bGVzOi9ob21lL3J1bm5lci93b3JrL29wZW5hcGktdWkvb3BlbmFwaS11aS9ub2RlX21vZHVsZXMvLnBucG0vbm9kZV9tb2R1bGVzIixHSVRIVUJfUkVGX1BST1RFQ1RFRDoiZmFsc2UiLEdJVEhVQl9XT1JLU1BBQ0U6Ii9ob21lL3J1bm5lci93b3JrL29wZW5hcGktdWkvb3BlbmFwaS11aSIsQUNDRVBUX0VVTEE6IlkiLEdJVEhVQl9KT0I6ImJ1aWxkIixSVU5ORVJfUEVSRkxPRzoiL2hvbWUvcnVubmVyL3BlcmZsb2ciLEdJVEhVQl9TSEE6IjdkMDZhYTU5NjJlMjg1NDI2NzQ5NmFmOTY0OTAzNzI5ZWEzNzEyZWEiLEdJVEhVQl9SVU5fQVRURU1QVDoiMSIsR0lUSFVCX1JFRjoicmVmcy90YWdzL3YyLjIuMSIsR0lUSFVCX0FDVE9SOiJyb29raWUtbHVvY2hhbyIsQU5EUk9JRF9TREtfUk9PVDoiL3Vzci9sb2NhbC9saWIvYW5kcm9pZC9zZGsiLExFSU5fSE9NRToiL3Vzci9sb2NhbC9saWIvbGVpbiIsbnBtX2NvbmZpZ19nbG9iYWxjb25maWc6Ii9vcHQvaG9zdGVkdG9vbGNhY2hlL25vZGUvMTguMjAuMi94NjQvZXRjL25wbXJjIixucG1fY29uZmlnX2luaXRfbW9kdWxlOiIvaG9tZS9ydW5uZXIvLm5wbS1pbml0LmpzIixHSVRIVUJfUEFUSDoiL2hvbWUvcnVubmVyL3dvcmsvX3RlbXAvX3J1bm5lcl9maWxlX2NvbW1hbmRzL2FkZF9wYXRoXzFkYjI0ZDk5LTc0NWItNDRlNi05MTE4LTkyZGE3NzI5YzkxNCIsSkFWQV9IT01FOiIvdXNyL2xpYi9qdm0vdGVtdXJpbi0xMS1qZGstYW1kNjQiLFBXRDoiL2hvbWUvcnVubmVyL3dvcmsvb3BlbmFwaS11aS9vcGVuYXBpLXVpIixHSVRIVUJfQUNUT1JfSUQ6IjIyOTQ4MDc3IixSVU5ORVJfV09SS1NQQUNFOiIvaG9tZS9ydW5uZXIvd29yay9vcGVuYXBpLXVpIixucG1fZXhlY3BhdGg6Ii9vcHQvaG9zdGVkdG9vbGNhY2hlL25vZGUvMTguMjAuMi94NjQvbGliL25vZGVfbW9kdWxlcy9ucG0vYmluL25wbS1jbGkuanMiLEhPTUVCUkVXX0NMRUFOVVBfUEVSSU9ESUNfRlVMTF9EQVlTOiIzNjUwIixHSVRIVUJfRVZFTlRfTkFNRToicHVzaCIsSE9NRUJSRVdfTk9fQVVUT19VUERBVEU6IjEiLEFORFJPSURfSE9NRToiL3Vzci9sb2NhbC9saWIvYW5kcm9pZC9zZGsiLEdJVEhVQl9TRVJWRVJfVVJMOiJodHRwczovL2dpdGh1Yi5jb20iLEdFQ0tPV0VCRFJJVkVSOiIvdXNyL2xvY2FsL3NoYXJlL2dlY2tvX2RyaXZlciIsTEVJTl9KQVI6Ii91c3IvbG9jYWwvbGliL2xlaW4vc2VsZi1pbnN0YWxscy9sZWluaW5nZW4tMi4xMS4yLXN0YW5kYWxvbmUuamFyIixHSENVUF9JTlNUQUxMX0JBU0VfUFJFRklYOiIvdXNyL2xvY2FsIixHSVRIVUJfT1VUUFVUOiIvaG9tZS9ydW5uZXIvd29yay9fdGVtcC9fcnVubmVyX2ZpbGVfY29tbWFuZHMvc2V0X291dHB1dF8xZGIyNGQ5OS03NDViLTQ0ZTYtOTExOC05MmRhNzcyOWM5MTQiLG5wbV9jb25maWdfZ2xvYmFsX3ByZWZpeDoiL29wdC9ob3N0ZWR0b29sY2FjaGUvbm9kZS8xOC4yMC4yL3g2NCIsRURHRVdFQkRSSVZFUjoiL3Vzci9sb2NhbC9zaGFyZS9lZGdlX2RyaXZlciIsU1RBVFNfRVhUOiJ0cnVlIixucG1fY29tbWFuZDoicnVuLXNjcmlwdCIsQU5EUk9JRF9OREs6Ii91c3IvbG9jYWwvbGliL2FuZHJvaWQvc2RrL25kay8yNS4yLjk1MTk2NTMiLFNHWF9BRVNNX0FERFI6IjEiLENIUk9NRV9CSU46Ii91c3IvYmluL2dvb2dsZS1jaHJvbWUiLFNFTEVOSVVNX0pBUl9QQVRIOiIvdXNyL3NoYXJlL2phdmEvc2VsZW5pdW0tc2VydmVyLmphciIsU1RBVFNfRVhUUDoiaHR0cHM6Ly9wcm92am9iZHNldHRpbmdzY2RuLmJsb2IuY29yZS53aW5kb3dzLm5ldC9zZXR0aW5ncy9wcm92am9iZHNldHRpbmdzLTAuNS4xNzIrMS9wcm92am9iZC5kYXRhIixBTkRST0lEX05ES19IT01FOiIvdXNyL2xvY2FsL2xpYi9hbmRyb2lkL3Nkay9uZGsvMjUuMi45NTE5NjUzIixHSVRIVUJfU1RFUF9TVU1NQVJZOiIvaG9tZS9ydW5uZXIvd29yay9fdGVtcC9fcnVubmVyX2ZpbGVfY29tbWFuZHMvc3RlcF9zdW1tYXJ5XzFkYjI0ZDk5LTc0NWItNDRlNi05MTE4LTkyZGE3NzI5YzkxNCIsSU5JVF9DV0Q6Ii9ob21lL3J1bm5lci93b3JrL29wZW5hcGktdWkvb3BlbmFwaS11aSIsRURJVE9SOiJ2aSIsTk9ERV9FTlY6InByb2R1Y3Rpb24ifTtsZXQgRGU7Y29uc3QgRXQ9Z2xvYmFsVGhpcy52c2NvZGU7aWYodHlwZW9mIEV0PCJ1IiYmdHlwZW9mIEV0LnByb2Nlc3M8InUiKXtjb25zdCBlPUV0LnByb2Nlc3M7RGU9e2dldCBwbGF0Zm9ybSgpe3JldHVybiBlLnBsYXRmb3JtfSxnZXQgYXJjaCgpe3JldHVybiBlLmFyY2h9LGdldCBlbnYoKXtyZXR1cm4gZS5lbnZ9LGN3ZCgpe3JldHVybiBlLmN3ZCgpfX19ZWxzZSB0eXBlb2YgcHJvY2VzczwidSI/RGU9e2dldCBwbGF0Zm9ybSgpe3JldHVybiBwcm9jZXNzLnBsYXRmb3JtfSxnZXQgYXJjaCgpe3JldHVybiBwcm9jZXNzLmFyY2h9LGdldCBlbnYoKXtyZXR1cm4gY259LGN3ZCgpe3JldHVybiBjbi5WU0NPREVfQ1dEfHxwcm9jZXNzLmN3ZCgpfX06RGU9e2dldCBwbGF0Zm9ybSgpe3JldHVybiBXZT8id2luMzIiOm1zPyJkYXJ3aW4iOiJsaW51eCJ9LGdldCBhcmNoKCl7fSxnZXQgZW52KCl7cmV0dXJue319LGN3ZCgpe3JldHVybiIvIn19O2NvbnN0IG50PURlLmN3ZCxCcz1EZS5lbnYsVnM9RGUucGxhdGZvcm0sVXM9NjUsSHM9OTcscXM9OTAsT3M9MTIyLGJlPTQ2LGo9NDcsSz05MixfZT01OCxXcz02MztjbGFzcyBobiBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQsbixyKXtsZXQgczt0eXBlb2Ygbj09InN0cmluZyImJm4uaW5kZXhPZigibm90ICIpPT09MD8ocz0ibXVzdCBub3QgYmUiLG49bi5yZXBsYWNlKC9ebm90IC8sIiIpKTpzPSJtdXN0IGJlIjtjb25zdCBpPXQuaW5kZXhPZigiLiIpIT09LTE/InByb3BlcnR5IjoiYXJndW1lbnQiO2xldCBvPWBUaGUgIiR7dH0iICR7aX0gJHtzfSBvZiB0eXBlICR7bn1gO28rPWAuIFJlY2VpdmVkIHR5cGUgJHt0eXBlb2Ygcn1gLHN1cGVyKG8pLHRoaXMuY29kZT0iRVJSX0lOVkFMSURfQVJHX1RZUEUifX1mdW5jdGlvbiB6cyhlLHQpe2lmKGU9PT1udWxsfHx0eXBlb2YgZSE9Im9iamVjdCIpdGhyb3cgbmV3IGhuKHQsIk9iamVjdCIsZSl9ZnVuY3Rpb24geihlLHQpe2lmKHR5cGVvZiBlIT0ic3RyaW5nIil0aHJvdyBuZXcgaG4odCwic3RyaW5nIixlKX1jb25zdCBwZT1Wcz09PSJ3aW4zMiI7ZnVuY3Rpb24gVChlKXtyZXR1cm4gZT09PWp8fGU9PT1LfWZ1bmN0aW9uIHl0KGUpe3JldHVybiBlPT09an1mdW5jdGlvbiB4ZShlKXtyZXR1cm4gZT49VXMmJmU8PXFzfHxlPj1IcyYmZTw9T3N9ZnVuY3Rpb24gcnQoZSx0LG4scil7bGV0IHM9IiIsaT0wLG89LTEsbD0wLHU9MDtmb3IobGV0IGM9MDtjPD1lLmxlbmd0aDsrK2Mpe2lmKGM8ZS5sZW5ndGgpdT1lLmNoYXJDb2RlQXQoYyk7ZWxzZXtpZihyKHUpKWJyZWFrO3U9an1pZihyKHUpKXtpZighKG89PT1jLTF8fGw9PT0xKSlpZihsPT09Mil7aWYocy5sZW5ndGg8Mnx8aSE9PTJ8fHMuY2hhckNvZGVBdChzLmxlbmd0aC0xKSE9PWJlfHxzLmNoYXJDb2RlQXQocy5sZW5ndGgtMikhPT1iZSl7aWYocy5sZW5ndGg+Mil7Y29uc3QgaD1zLmxhc3RJbmRleE9mKG4pO2g9PT0tMT8ocz0iIixpPTApOihzPXMuc2xpY2UoMCxoKSxpPXMubGVuZ3RoLTEtcy5sYXN0SW5kZXhPZihuKSksbz1jLGw9MDtjb250aW51ZX1lbHNlIGlmKHMubGVuZ3RoIT09MCl7cz0iIixpPTAsbz1jLGw9MDtjb250aW51ZX19dCYmKHMrPXMubGVuZ3RoPjA/YCR7bn0uLmA6Ii4uIixpPTIpfWVsc2Ugcy5sZW5ndGg+MD9zKz1gJHtufSR7ZS5zbGljZShvKzEsYyl9YDpzPWUuc2xpY2UobysxLGMpLGk9Yy1vLTE7bz1jLGw9MH1lbHNlIHU9PT1iZSYmbCE9PS0xPysrbDpsPS0xfXJldHVybiBzfWZ1bmN0aW9uIGZuKGUsdCl7enModCwicGF0aE9iamVjdCIpO2NvbnN0IG49dC5kaXJ8fHQucm9vdCxyPXQuYmFzZXx8YCR7dC5uYW1lfHwiIn0ke3QuZXh0fHwiIn1gO3JldHVybiBuP249PT10LnJvb3Q/YCR7bn0ke3J9YDpgJHtufSR7ZX0ke3J9YDpyfWNvbnN0IFo9e3Jlc29sdmUoLi4uZSl7bGV0IHQ9IiIsbj0iIixyPSExO2ZvcihsZXQgcz1lLmxlbmd0aC0xO3M+PS0xO3MtLSl7bGV0IGk7aWYocz49MCl7aWYoaT1lW3NdLHooaSwicGF0aCIpLGkubGVuZ3RoPT09MCljb250aW51ZX1lbHNlIHQubGVuZ3RoPT09MD9pPW50KCk6KGk9QnNbYD0ke3R9YF18fG50KCksKGk9PT12b2lkIDB8fGkuc2xpY2UoMCwyKS50b0xvd2VyQ2FzZSgpIT09dC50b0xvd2VyQ2FzZSgpJiZpLmNoYXJDb2RlQXQoMik9PT1LKSYmKGk9YCR7dH1cXGApKTtjb25zdCBvPWkubGVuZ3RoO2xldCBsPTAsdT0iIixjPSExO2NvbnN0IGg9aS5jaGFyQ29kZUF0KDApO2lmKG89PT0xKVQoaCkmJihsPTEsYz0hMCk7ZWxzZSBpZihUKGgpKWlmKGM9ITAsVChpLmNoYXJDb2RlQXQoMSkpKXtsZXQgZj0yLGQ9Zjtmb3IoO2Y8byYmIVQoaS5jaGFyQ29kZUF0KGYpKTspZisrO2lmKGY8byYmZiE9PWQpe2NvbnN0IG09aS5zbGljZShkLGYpO2ZvcihkPWY7ZjxvJiZUKGkuY2hhckNvZGVBdChmKSk7KWYrKztpZihmPG8mJmYhPT1kKXtmb3IoZD1mO2Y8byYmIVQoaS5jaGFyQ29kZUF0KGYpKTspZisrOyhmPT09b3x8ZiE9PWQpJiYodT1gXFxcXCR7bX1cXCR7aS5zbGljZShkLGYpfWAsbD1mKX19fWVsc2UgbD0xO2Vsc2UgeGUoaCkmJmkuY2hhckNvZGVBdCgxKT09PV9lJiYodT1pLnNsaWNlKDAsMiksbD0yLG8+MiYmVChpLmNoYXJDb2RlQXQoMikpJiYoYz0hMCxsPTMpKTtpZih1Lmxlbmd0aD4wKWlmKHQubGVuZ3RoPjApe2lmKHUudG9Mb3dlckNhc2UoKSE9PXQudG9Mb3dlckNhc2UoKSljb250aW51ZX1lbHNlIHQ9dTtpZihyKXtpZih0Lmxlbmd0aD4wKWJyZWFrfWVsc2UgaWYobj1gJHtpLnNsaWNlKGwpfVxcJHtufWAscj1jLGMmJnQubGVuZ3RoPjApYnJlYWt9cmV0dXJuIG49cnQobiwhciwiXFwiLFQpLHI/YCR7dH1cXCR7bn1gOmAke3R9JHtufWB8fCIuIn0sbm9ybWFsaXplKGUpe3ooZSwicGF0aCIpO2NvbnN0IHQ9ZS5sZW5ndGg7aWYodD09PTApcmV0dXJuIi4iO2xldCBuPTAscixzPSExO2NvbnN0IGk9ZS5jaGFyQ29kZUF0KDApO2lmKHQ9PT0xKXJldHVybiB5dChpKT8iXFwiOmU7aWYoVChpKSlpZihzPSEwLFQoZS5jaGFyQ29kZUF0KDEpKSl7bGV0IGw9Mix1PWw7Zm9yKDtsPHQmJiFUKGUuY2hhckNvZGVBdChsKSk7KWwrKztpZihsPHQmJmwhPT11KXtjb25zdCBjPWUuc2xpY2UodSxsKTtmb3IodT1sO2w8dCYmVChlLmNoYXJDb2RlQXQobCkpOylsKys7aWYobDx0JiZsIT09dSl7Zm9yKHU9bDtsPHQmJiFUKGUuY2hhckNvZGVBdChsKSk7KWwrKztpZihsPT09dClyZXR1cm5gXFxcXCR7Y31cXCR7ZS5zbGljZSh1KX1cXGA7bCE9PXUmJihyPWBcXFxcJHtjfVxcJHtlLnNsaWNlKHUsbCl9YCxuPWwpfX19ZWxzZSBuPTE7ZWxzZSB4ZShpKSYmZS5jaGFyQ29kZUF0KDEpPT09X2UmJihyPWUuc2xpY2UoMCwyKSxuPTIsdD4yJiZUKGUuY2hhckNvZGVBdCgyKSkmJihzPSEwLG49MykpO2xldCBvPW48dD9ydChlLnNsaWNlKG4pLCFzLCJcXCIsVCk6IiI7cmV0dXJuIG8ubGVuZ3RoPT09MCYmIXMmJihvPSIuIiksby5sZW5ndGg+MCYmVChlLmNoYXJDb2RlQXQodC0xKSkmJihvKz0iXFwiKSxyPT09dm9pZCAwP3M/YFxcJHtvfWA6bzpzP2Ake3J9XFwke299YDpgJHtyfSR7b31gfSxpc0Fic29sdXRlKGUpe3ooZSwicGF0aCIpO2NvbnN0IHQ9ZS5sZW5ndGg7aWYodD09PTApcmV0dXJuITE7Y29uc3Qgbj1lLmNoYXJDb2RlQXQoMCk7cmV0dXJuIFQobil8fHQ+MiYmeGUobikmJmUuY2hhckNvZGVBdCgxKT09PV9lJiZUKGUuY2hhckNvZGVBdCgyKSl9LGpvaW4oLi4uZSl7aWYoZS5sZW5ndGg9PT0wKXJldHVybiIuIjtsZXQgdCxuO2ZvcihsZXQgaT0wO2k8ZS5sZW5ndGg7KytpKXtjb25zdCBvPWVbaV07eihvLCJwYXRoIiksby5sZW5ndGg+MCYmKHQ9PT12b2lkIDA/dD1uPW86dCs9YFxcJHtvfWApfWlmKHQ9PT12b2lkIDApcmV0dXJuIi4iO2xldCByPSEwLHM9MDtpZih0eXBlb2Ygbj09InN0cmluZyImJlQobi5jaGFyQ29kZUF0KDApKSl7KytzO2NvbnN0IGk9bi5sZW5ndGg7aT4xJiZUKG4uY2hhckNvZGVBdCgxKSkmJigrK3MsaT4yJiYoVChuLmNoYXJDb2RlQXQoMikpPysrczpyPSExKSl9aWYocil7Zm9yKDtzPHQubGVuZ3RoJiZUKHQuY2hhckNvZGVBdChzKSk7KXMrKztzPj0yJiYodD1gXFwke3Quc2xpY2Uocyl9YCl9cmV0dXJuIFoubm9ybWFsaXplKHQpfSxyZWxhdGl2ZShlLHQpe2lmKHooZSwiZnJvbSIpLHoodCwidG8iKSxlPT09dClyZXR1cm4iIjtjb25zdCBuPVoucmVzb2x2ZShlKSxyPVoucmVzb2x2ZSh0KTtpZihuPT09cnx8KGU9bi50b0xvd2VyQ2FzZSgpLHQ9ci50b0xvd2VyQ2FzZSgpLGU9PT10KSlyZXR1cm4iIjtsZXQgcz0wO2Zvcig7czxlLmxlbmd0aCYmZS5jaGFyQ29kZUF0KHMpPT09SzspcysrO2xldCBpPWUubGVuZ3RoO2Zvcig7aS0xPnMmJmUuY2hhckNvZGVBdChpLTEpPT09SzspaS0tO2NvbnN0IG89aS1zO2xldCBsPTA7Zm9yKDtsPHQubGVuZ3RoJiZ0LmNoYXJDb2RlQXQobCk9PT1LOylsKys7bGV0IHU9dC5sZW5ndGg7Zm9yKDt1LTE+bCYmdC5jaGFyQ29kZUF0KHUtMSk9PT1LOyl1LS07Y29uc3QgYz11LWwsaD1vPGM/bzpjO2xldCBmPS0xLGQ9MDtmb3IoO2Q8aDtkKyspe2NvbnN0IGc9ZS5jaGFyQ29kZUF0KHMrZCk7aWYoZyE9PXQuY2hhckNvZGVBdChsK2QpKWJyZWFrO2c9PT1LJiYoZj1kKX1pZihkIT09aCl7aWYoZj09PS0xKXJldHVybiByfWVsc2V7aWYoYz5oKXtpZih0LmNoYXJDb2RlQXQobCtkKT09PUspcmV0dXJuIHIuc2xpY2UobCtkKzEpO2lmKGQ9PT0yKXJldHVybiByLnNsaWNlKGwrZCl9bz5oJiYoZS5jaGFyQ29kZUF0KHMrZCk9PT1LP2Y9ZDpkPT09MiYmKGY9MykpLGY9PT0tMSYmKGY9MCl9bGV0IG09IiI7Zm9yKGQ9cytmKzE7ZDw9aTsrK2QpKGQ9PT1pfHxlLmNoYXJDb2RlQXQoZCk9PT1LKSYmKG0rPW0ubGVuZ3RoPT09MD8iLi4iOiJcXC4uIik7cmV0dXJuIGwrPWYsbS5sZW5ndGg+MD9gJHttfSR7ci5zbGljZShsLHUpfWA6KHIuY2hhckNvZGVBdChsKT09PUsmJisrbCxyLnNsaWNlKGwsdSkpfSx0b05hbWVzcGFjZWRQYXRoKGUpe2lmKHR5cGVvZiBlIT0ic3RyaW5nInx8ZS5sZW5ndGg9PT0wKXJldHVybiBlO2NvbnN0IHQ9Wi5yZXNvbHZlKGUpO2lmKHQubGVuZ3RoPD0yKXJldHVybiBlO2lmKHQuY2hhckNvZGVBdCgwKT09PUspe2lmKHQuY2hhckNvZGVBdCgxKT09PUspe2NvbnN0IG49dC5jaGFyQ29kZUF0KDIpO2lmKG4hPT1XcyYmbiE9PWJlKXJldHVybmBcXFxcP1xcVU5DXFwke3Quc2xpY2UoMil9YH19ZWxzZSBpZih4ZSh0LmNoYXJDb2RlQXQoMCkpJiZ0LmNoYXJDb2RlQXQoMSk9PT1fZSYmdC5jaGFyQ29kZUF0KDIpPT09SylyZXR1cm5gXFxcXD9cXCR7dH1gO3JldHVybiBlfSxkaXJuYW1lKGUpe3ooZSwicGF0aCIpO2NvbnN0IHQ9ZS5sZW5ndGg7aWYodD09PTApcmV0dXJuIi4iO2xldCBuPS0xLHI9MDtjb25zdCBzPWUuY2hhckNvZGVBdCgwKTtpZih0PT09MSlyZXR1cm4gVChzKT9lOiIuIjtpZihUKHMpKXtpZihuPXI9MSxUKGUuY2hhckNvZGVBdCgxKSkpe2xldCBsPTIsdT1sO2Zvcig7bDx0JiYhVChlLmNoYXJDb2RlQXQobCkpOylsKys7aWYobDx0JiZsIT09dSl7Zm9yKHU9bDtsPHQmJlQoZS5jaGFyQ29kZUF0KGwpKTspbCsrO2lmKGw8dCYmbCE9PXUpe2Zvcih1PWw7bDx0JiYhVChlLmNoYXJDb2RlQXQobCkpOylsKys7aWYobD09PXQpcmV0dXJuIGU7bCE9PXUmJihuPXI9bCsxKX19fX1lbHNlIHhlKHMpJiZlLmNoYXJDb2RlQXQoMSk9PT1fZSYmKG49dD4yJiZUKGUuY2hhckNvZGVBdCgyKSk/MzoyLHI9bik7bGV0IGk9LTEsbz0hMDtmb3IobGV0IGw9dC0xO2w+PXI7LS1sKWlmKFQoZS5jaGFyQ29kZUF0KGwpKSl7aWYoIW8pe2k9bDticmVha319ZWxzZSBvPSExO2lmKGk9PT0tMSl7aWYobj09PS0xKXJldHVybiIuIjtpPW59cmV0dXJuIGUuc2xpY2UoMCxpKX0sYmFzZW5hbWUoZSx0KXt0IT09dm9pZCAwJiZ6KHQsImV4dCIpLHooZSwicGF0aCIpO2xldCBuPTAscj0tMSxzPSEwLGk7aWYoZS5sZW5ndGg+PTImJnhlKGUuY2hhckNvZGVBdCgwKSkmJmUuY2hhckNvZGVBdCgxKT09PV9lJiYobj0yKSx0IT09dm9pZCAwJiZ0Lmxlbmd0aD4wJiZ0Lmxlbmd0aDw9ZS5sZW5ndGgpe2lmKHQ9PT1lKXJldHVybiIiO2xldCBvPXQubGVuZ3RoLTEsbD0tMTtmb3IoaT1lLmxlbmd0aC0xO2k+PW47LS1pKXtjb25zdCB1PWUuY2hhckNvZGVBdChpKTtpZihUKHUpKXtpZighcyl7bj1pKzE7YnJlYWt9fWVsc2UgbD09PS0xJiYocz0hMSxsPWkrMSksbz49MCYmKHU9PT10LmNoYXJDb2RlQXQobyk/LS1vPT09LTEmJihyPWkpOihvPS0xLHI9bCkpfXJldHVybiBuPT09cj9yPWw6cj09PS0xJiYocj1lLmxlbmd0aCksZS5zbGljZShuLHIpfWZvcihpPWUubGVuZ3RoLTE7aT49bjstLWkpaWYoVChlLmNoYXJDb2RlQXQoaSkpKXtpZighcyl7bj1pKzE7YnJlYWt9fWVsc2Ugcj09PS0xJiYocz0hMSxyPWkrMSk7cmV0dXJuIHI9PT0tMT8iIjplLnNsaWNlKG4scil9LGV4dG5hbWUoZSl7eihlLCJwYXRoIik7bGV0IHQ9MCxuPS0xLHI9MCxzPS0xLGk9ITAsbz0wO2UubGVuZ3RoPj0yJiZlLmNoYXJDb2RlQXQoMSk9PT1fZSYmeGUoZS5jaGFyQ29kZUF0KDApKSYmKHQ9cj0yKTtmb3IobGV0IGw9ZS5sZW5ndGgtMTtsPj10Oy0tbCl7Y29uc3QgdT1lLmNoYXJDb2RlQXQobCk7aWYoVCh1KSl7aWYoIWkpe3I9bCsxO2JyZWFrfWNvbnRpbnVlfXM9PT0tMSYmKGk9ITEscz1sKzEpLHU9PT1iZT9uPT09LTE/bj1sOm8hPT0xJiYobz0xKTpuIT09LTEmJihvPS0xKX1yZXR1cm4gbj09PS0xfHxzPT09LTF8fG89PT0wfHxvPT09MSYmbj09PXMtMSYmbj09PXIrMT8iIjplLnNsaWNlKG4scyl9LGZvcm1hdDpmbi5iaW5kKG51bGwsIlxcIikscGFyc2UoZSl7eihlLCJwYXRoIik7Y29uc3QgdD17cm9vdDoiIixkaXI6IiIsYmFzZToiIixleHQ6IiIsbmFtZToiIn07aWYoZS5sZW5ndGg9PT0wKXJldHVybiB0O2NvbnN0IG49ZS5sZW5ndGg7bGV0IHI9MCxzPWUuY2hhckNvZGVBdCgwKTtpZihuPT09MSlyZXR1cm4gVChzKT8odC5yb290PXQuZGlyPWUsdCk6KHQuYmFzZT10Lm5hbWU9ZSx0KTtpZihUKHMpKXtpZihyPTEsVChlLmNoYXJDb2RlQXQoMSkpKXtsZXQgZj0yLGQ9Zjtmb3IoO2Y8biYmIVQoZS5jaGFyQ29kZUF0KGYpKTspZisrO2lmKGY8biYmZiE9PWQpe2ZvcihkPWY7ZjxuJiZUKGUuY2hhckNvZGVBdChmKSk7KWYrKztpZihmPG4mJmYhPT1kKXtmb3IoZD1mO2Y8biYmIVQoZS5jaGFyQ29kZUF0KGYpKTspZisrO2Y9PT1uP3I9ZjpmIT09ZCYmKHI9ZisxKX19fX1lbHNlIGlmKHhlKHMpJiZlLmNoYXJDb2RlQXQoMSk9PT1fZSl7aWYobjw9MilyZXR1cm4gdC5yb290PXQuZGlyPWUsdDtpZihyPTIsVChlLmNoYXJDb2RlQXQoMikpKXtpZihuPT09MylyZXR1cm4gdC5yb290PXQuZGlyPWUsdDtyPTN9fXI+MCYmKHQucm9vdD1lLnNsaWNlKDAscikpO2xldCBpPS0xLG89cixsPS0xLHU9ITAsYz1lLmxlbmd0aC0xLGg9MDtmb3IoO2M+PXI7LS1jKXtpZihzPWUuY2hhckNvZGVBdChjKSxUKHMpKXtpZighdSl7bz1jKzE7YnJlYWt9Y29udGludWV9bD09PS0xJiYodT0hMSxsPWMrMSkscz09PWJlP2k9PT0tMT9pPWM6aCE9PTEmJihoPTEpOmkhPT0tMSYmKGg9LTEpfXJldHVybiBsIT09LTEmJihpPT09LTF8fGg9PT0wfHxoPT09MSYmaT09PWwtMSYmaT09PW8rMT90LmJhc2U9dC5uYW1lPWUuc2xpY2UobyxsKToodC5uYW1lPWUuc2xpY2UobyxpKSx0LmJhc2U9ZS5zbGljZShvLGwpLHQuZXh0PWUuc2xpY2UoaSxsKSkpLG8+MCYmbyE9PXI/dC5kaXI9ZS5zbGljZSgwLG8tMSk6dC5kaXI9dC5yb290LHR9LHNlcDoiXFwiLGRlbGltaXRlcjoiOyIsd2luMzI6bnVsbCxwb3NpeDpudWxsfSxHcz0oKCk9PntpZihwZSl7Y29uc3QgZT0vXFwvZztyZXR1cm4oKT0+e2NvbnN0IHQ9bnQoKS5yZXBsYWNlKGUsIi8iKTtyZXR1cm4gdC5zbGljZSh0LmluZGV4T2YoIi8iKSl9fXJldHVybigpPT5udCgpfSkoKSxlZT17cmVzb2x2ZSguLi5lKXtsZXQgdD0iIixuPSExO2ZvcihsZXQgcj1lLmxlbmd0aC0xO3I+PS0xJiYhbjtyLS0pe2NvbnN0IHM9cj49MD9lW3JdOkdzKCk7eihzLCJwYXRoIikscy5sZW5ndGghPT0wJiYodD1gJHtzfS8ke3R9YCxuPXMuY2hhckNvZGVBdCgwKT09PWopfXJldHVybiB0PXJ0KHQsIW4sIi8iLHl0KSxuP2AvJHt0fWA6dC5sZW5ndGg+MD90OiIuIn0sbm9ybWFsaXplKGUpe2lmKHooZSwicGF0aCIpLGUubGVuZ3RoPT09MClyZXR1cm4iLiI7Y29uc3QgdD1lLmNoYXJDb2RlQXQoMCk9PT1qLG49ZS5jaGFyQ29kZUF0KGUubGVuZ3RoLTEpPT09ajtyZXR1cm4gZT1ydChlLCF0LCIvIix5dCksZS5sZW5ndGg9PT0wP3Q/Ii8iOm4/Ii4vIjoiLiI6KG4mJihlKz0iLyIpLHQ/YC8ke2V9YDplKX0saXNBYnNvbHV0ZShlKXtyZXR1cm4geihlLCJwYXRoIiksZS5sZW5ndGg+MCYmZS5jaGFyQ29kZUF0KDApPT09an0sam9pbiguLi5lKXtpZihlLmxlbmd0aD09PTApcmV0dXJuIi4iO2xldCB0O2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7KytuKXtjb25zdCByPWVbbl07eihyLCJwYXRoIiksci5sZW5ndGg+MCYmKHQ9PT12b2lkIDA/dD1yOnQrPWAvJHtyfWApfXJldHVybiB0PT09dm9pZCAwPyIuIjplZS5ub3JtYWxpemUodCl9LHJlbGF0aXZlKGUsdCl7aWYoeihlLCJmcm9tIikseih0LCJ0byIpLGU9PT10fHwoZT1lZS5yZXNvbHZlKGUpLHQ9ZWUucmVzb2x2ZSh0KSxlPT09dCkpcmV0dXJuIiI7Y29uc3Qgbj0xLHI9ZS5sZW5ndGgscz1yLW4saT0xLG89dC5sZW5ndGgtaSxsPXM8bz9zOm87bGV0IHU9LTEsYz0wO2Zvcig7YzxsO2MrKyl7Y29uc3QgZj1lLmNoYXJDb2RlQXQobitjKTtpZihmIT09dC5jaGFyQ29kZUF0KGkrYykpYnJlYWs7Zj09PWomJih1PWMpfWlmKGM9PT1sKWlmKG8+bCl7aWYodC5jaGFyQ29kZUF0KGkrYyk9PT1qKXJldHVybiB0LnNsaWNlKGkrYysxKTtpZihjPT09MClyZXR1cm4gdC5zbGljZShpK2MpfWVsc2Ugcz5sJiYoZS5jaGFyQ29kZUF0KG4rYyk9PT1qP3U9YzpjPT09MCYmKHU9MCkpO2xldCBoPSIiO2ZvcihjPW4rdSsxO2M8PXI7KytjKShjPT09cnx8ZS5jaGFyQ29kZUF0KGMpPT09aikmJihoKz1oLmxlbmd0aD09PTA/Ii4uIjoiLy4uIik7cmV0dXJuYCR7aH0ke3Quc2xpY2UoaSt1KX1gfSx0b05hbWVzcGFjZWRQYXRoKGUpe3JldHVybiBlfSxkaXJuYW1lKGUpe2lmKHooZSwicGF0aCIpLGUubGVuZ3RoPT09MClyZXR1cm4iLiI7Y29uc3QgdD1lLmNoYXJDb2RlQXQoMCk9PT1qO2xldCBuPS0xLHI9ITA7Zm9yKGxldCBzPWUubGVuZ3RoLTE7cz49MTstLXMpaWYoZS5jaGFyQ29kZUF0KHMpPT09ail7aWYoIXIpe249czticmVha319ZWxzZSByPSExO3JldHVybiBuPT09LTE/dD8iLyI6Ii4iOnQmJm49PT0xPyIvLyI6ZS5zbGljZSgwLG4pfSxiYXNlbmFtZShlLHQpe3QhPT12b2lkIDAmJnoodCwiZXh0IikseihlLCJwYXRoIik7bGV0IG49MCxyPS0xLHM9ITAsaTtpZih0IT09dm9pZCAwJiZ0Lmxlbmd0aD4wJiZ0Lmxlbmd0aDw9ZS5sZW5ndGgpe2lmKHQ9PT1lKXJldHVybiIiO2xldCBvPXQubGVuZ3RoLTEsbD0tMTtmb3IoaT1lLmxlbmd0aC0xO2k+PTA7LS1pKXtjb25zdCB1PWUuY2hhckNvZGVBdChpKTtpZih1PT09ail7aWYoIXMpe249aSsxO2JyZWFrfX1lbHNlIGw9PT0tMSYmKHM9ITEsbD1pKzEpLG8+PTAmJih1PT09dC5jaGFyQ29kZUF0KG8pPy0tbz09PS0xJiYocj1pKToobz0tMSxyPWwpKX1yZXR1cm4gbj09PXI/cj1sOnI9PT0tMSYmKHI9ZS5sZW5ndGgpLGUuc2xpY2UobixyKX1mb3IoaT1lLmxlbmd0aC0xO2k+PTA7LS1pKWlmKGUuY2hhckNvZGVBdChpKT09PWope2lmKCFzKXtuPWkrMTticmVha319ZWxzZSByPT09LTEmJihzPSExLHI9aSsxKTtyZXR1cm4gcj09PS0xPyIiOmUuc2xpY2UobixyKX0sZXh0bmFtZShlKXt6KGUsInBhdGgiKTtsZXQgdD0tMSxuPTAscj0tMSxzPSEwLGk9MDtmb3IobGV0IG89ZS5sZW5ndGgtMTtvPj0wOy0tbyl7Y29uc3QgbD1lLmNoYXJDb2RlQXQobyk7aWYobD09PWope2lmKCFzKXtuPW8rMTticmVha31jb250aW51ZX1yPT09LTEmJihzPSExLHI9bysxKSxsPT09YmU/dD09PS0xP3Q9bzppIT09MSYmKGk9MSk6dCE9PS0xJiYoaT0tMSl9cmV0dXJuIHQ9PT0tMXx8cj09PS0xfHxpPT09MHx8aT09PTEmJnQ9PT1yLTEmJnQ9PT1uKzE/IiI6ZS5zbGljZSh0LHIpfSxmb3JtYXQ6Zm4uYmluZChudWxsLCIvIikscGFyc2UoZSl7eihlLCJwYXRoIik7Y29uc3QgdD17cm9vdDoiIixkaXI6IiIsYmFzZToiIixleHQ6IiIsbmFtZToiIn07aWYoZS5sZW5ndGg9PT0wKXJldHVybiB0O2NvbnN0IG49ZS5jaGFyQ29kZUF0KDApPT09ajtsZXQgcjtuPyh0LnJvb3Q9Ii8iLHI9MSk6cj0wO2xldCBzPS0xLGk9MCxvPS0xLGw9ITAsdT1lLmxlbmd0aC0xLGM9MDtmb3IoO3U+PXI7LS11KXtjb25zdCBoPWUuY2hhckNvZGVBdCh1KTtpZihoPT09ail7aWYoIWwpe2k9dSsxO2JyZWFrfWNvbnRpbnVlfW89PT0tMSYmKGw9ITEsbz11KzEpLGg9PT1iZT9zPT09LTE/cz11OmMhPT0xJiYoYz0xKTpzIT09LTEmJihjPS0xKX1pZihvIT09LTEpe2NvbnN0IGg9aT09PTAmJm4/MTppO3M9PT0tMXx8Yz09PTB8fGM9PT0xJiZzPT09by0xJiZzPT09aSsxP3QuYmFzZT10Lm5hbWU9ZS5zbGljZShoLG8pOih0Lm5hbWU9ZS5zbGljZShoLHMpLHQuYmFzZT1lLnNsaWNlKGgsbyksdC5leHQ9ZS5zbGljZShzLG8pKX1yZXR1cm4gaT4wP3QuZGlyPWUuc2xpY2UoMCxpLTEpOm4mJih0LmRpcj0iLyIpLHR9LHNlcDoiLyIsZGVsaW1pdGVyOiI6Iix3aW4zMjpudWxsLHBvc2l4Om51bGx9O2VlLndpbjMyPVoud2luMzI9WixlZS5wb3NpeD1aLnBvc2l4PWVlLHBlP1oubm9ybWFsaXplOmVlLm5vcm1hbGl6ZSxwZT9aLnJlc29sdmU6ZWUucmVzb2x2ZSxwZT9aLnJlbGF0aXZlOmVlLnJlbGF0aXZlLHBlP1ouZGlybmFtZTplZS5kaXJuYW1lLHBlP1ouYmFzZW5hbWU6ZWUuYmFzZW5hbWUscGU/Wi5leHRuYW1lOmVlLmV4dG5hbWUscGU/Wi5zZXA6ZWUuc2VwO2NvbnN0ICRzPS9eXHdbXHdcZCsuLV0qJC8sanM9L15cLy8sWHM9L15cL1wvLztmdW5jdGlvbiBZcyhlLHQpe2lmKCFlLnNjaGVtZSYmdCl0aHJvdyBuZXcgRXJyb3IoYFtVcmlFcnJvcl06IFNjaGVtZSBpcyBtaXNzaW5nOiB7c2NoZW1lOiAiIiwgYXV0aG9yaXR5OiAiJHtlLmF1dGhvcml0eX0iLCBwYXRoOiAiJHtlLnBhdGh9IiwgcXVlcnk6ICIke2UucXVlcnl9IiwgZnJhZ21lbnQ6ICIke2UuZnJhZ21lbnR9In1gKTtpZihlLnNjaGVtZSYmISRzLnRlc3QoZS5zY2hlbWUpKXRocm93IG5ldyBFcnJvcigiW1VyaUVycm9yXTogU2NoZW1lIGNvbnRhaW5zIGlsbGVnYWwgY2hhcmFjdGVycy4iKTtpZihlLnBhdGgpe2lmKGUuYXV0aG9yaXR5KXtpZighanMudGVzdChlLnBhdGgpKXRocm93IG5ldyBFcnJvcignW1VyaUVycm9yXTogSWYgYSBVUkkgY29udGFpbnMgYW4gYXV0aG9yaXR5IGNvbXBvbmVudCwgdGhlbiB0aGUgcGF0aCBjb21wb25lbnQgbXVzdCBlaXRoZXIgYmUgZW1wdHkgb3IgYmVnaW4gd2l0aCBhIHNsYXNoICgiLyIpIGNoYXJhY3RlcicpfWVsc2UgaWYoWHMudGVzdChlLnBhdGgpKXRocm93IG5ldyBFcnJvcignW1VyaUVycm9yXTogSWYgYSBVUkkgZG9lcyBub3QgY29udGFpbiBhbiBhdXRob3JpdHkgY29tcG9uZW50LCB0aGVuIHRoZSBwYXRoIGNhbm5vdCBiZWdpbiB3aXRoIHR3byBzbGFzaCBjaGFyYWN0ZXJzICgiLy8iKScpfX1mdW5jdGlvbiBKcyhlLHQpe3JldHVybiFlJiYhdD8iZmlsZSI6ZX1mdW5jdGlvbiBRcyhlLHQpe3N3aXRjaChlKXtjYXNlImh0dHBzIjpjYXNlImh0dHAiOmNhc2UiZmlsZSI6dD90WzBdIT09YWUmJih0PWFlK3QpOnQ9YWU7YnJlYWt9cmV0dXJuIHR9Y29uc3QgTz0iIixhZT0iLyIsWnM9L14oKFteOi8/I10rPyk6KT8oXC9cLyhbXi8/I10qKSk/KFtePyNdKikoXD8oW14jXSopKT8oIyguKikpPy87Y2xhc3MgTmV7c3RhdGljIGlzVXJpKHQpe3JldHVybiB0IGluc3RhbmNlb2YgTmU/ITA6dD90eXBlb2YgdC5hdXRob3JpdHk9PSJzdHJpbmciJiZ0eXBlb2YgdC5mcmFnbWVudD09InN0cmluZyImJnR5cGVvZiB0LnBhdGg9PSJzdHJpbmciJiZ0eXBlb2YgdC5xdWVyeT09InN0cmluZyImJnR5cGVvZiB0LnNjaGVtZT09InN0cmluZyImJnR5cGVvZiB0LmZzUGF0aD09InN0cmluZyImJnR5cGVvZiB0LndpdGg9PSJmdW5jdGlvbiImJnR5cGVvZiB0LnRvU3RyaW5nPT0iZnVuY3Rpb24iOiExfWNvbnN0cnVjdG9yKHQsbixyLHMsaSxvPSExKXt0eXBlb2YgdD09Im9iamVjdCI/KHRoaXMuc2NoZW1lPXQuc2NoZW1lfHxPLHRoaXMuYXV0aG9yaXR5PXQuYXV0aG9yaXR5fHxPLHRoaXMucGF0aD10LnBhdGh8fE8sdGhpcy5xdWVyeT10LnF1ZXJ5fHxPLHRoaXMuZnJhZ21lbnQ9dC5mcmFnbWVudHx8Tyk6KHRoaXMuc2NoZW1lPUpzKHQsbyksdGhpcy5hdXRob3JpdHk9bnx8Tyx0aGlzLnBhdGg9UXModGhpcy5zY2hlbWUscnx8TyksdGhpcy5xdWVyeT1zfHxPLHRoaXMuZnJhZ21lbnQ9aXx8TyxZcyh0aGlzLG8pKX1nZXQgZnNQYXRoKCl7cmV0dXJuIE10KHRoaXMsITEpfXdpdGgodCl7aWYoIXQpcmV0dXJuIHRoaXM7bGV0e3NjaGVtZTpuLGF1dGhvcml0eTpyLHBhdGg6cyxxdWVyeTppLGZyYWdtZW50Om99PXQ7cmV0dXJuIG49PT12b2lkIDA/bj10aGlzLnNjaGVtZTpuPT09bnVsbCYmKG49Tykscj09PXZvaWQgMD9yPXRoaXMuYXV0aG9yaXR5OnI9PT1udWxsJiYocj1PKSxzPT09dm9pZCAwP3M9dGhpcy5wYXRoOnM9PT1udWxsJiYocz1PKSxpPT09dm9pZCAwP2k9dGhpcy5xdWVyeTppPT09bnVsbCYmKGk9Tyksbz09PXZvaWQgMD9vPXRoaXMuZnJhZ21lbnQ6bz09PW51bGwmJihvPU8pLG49PT10aGlzLnNjaGVtZSYmcj09PXRoaXMuYXV0aG9yaXR5JiZzPT09dGhpcy5wYXRoJiZpPT09dGhpcy5xdWVyeSYmbz09PXRoaXMuZnJhZ21lbnQ/dGhpczpuZXcgUGUobixyLHMsaSxvKX1zdGF0aWMgcGFyc2UodCxuPSExKXtjb25zdCByPVpzLmV4ZWModCk7cmV0dXJuIHI/bmV3IFBlKHJbMl18fE8sc3Qocls0XXx8Tyksc3Qocls1XXx8Tyksc3Qocls3XXx8Tyksc3Qocls5XXx8Tyksbik6bmV3IFBlKE8sTyxPLE8sTyl9c3RhdGljIGZpbGUodCl7bGV0IG49TztpZihXZSYmKHQ9dC5yZXBsYWNlKC9cXC9nLGFlKSksdFswXT09PWFlJiZ0WzFdPT09YWUpe2NvbnN0IHI9dC5pbmRleE9mKGFlLDIpO3I9PT0tMT8obj10LnN1YnN0cmluZygyKSx0PWFlKToobj10LnN1YnN0cmluZygyLHIpLHQ9dC5zdWJzdHJpbmcocil8fGFlKX1yZXR1cm4gbmV3IFBlKCJmaWxlIixuLHQsTyxPKX1zdGF0aWMgZnJvbSh0LG4pe3JldHVybiBuZXcgUGUodC5zY2hlbWUsdC5hdXRob3JpdHksdC5wYXRoLHQucXVlcnksdC5mcmFnbWVudCxuKX1zdGF0aWMgam9pblBhdGgodCwuLi5uKXtpZighdC5wYXRoKXRocm93IG5ldyBFcnJvcigiW1VyaUVycm9yXTogY2Fubm90IGNhbGwgam9pblBhdGggb24gVVJJIHdpdGhvdXQgcGF0aCIpO2xldCByO3JldHVybiBXZSYmdC5zY2hlbWU9PT0iZmlsZSI/cj1OZS5maWxlKFouam9pbihNdCh0LCEwKSwuLi5uKSkucGF0aDpyPWVlLmpvaW4odC5wYXRoLC4uLm4pLHQud2l0aCh7cGF0aDpyfSl9dG9TdHJpbmcodD0hMSl7cmV0dXJuIGt0KHRoaXMsdCl9dG9KU09OKCl7cmV0dXJuIHRoaXN9c3RhdGljIHJldml2ZSh0KXt2YXIgbixyO2lmKHQpe2lmKHQgaW5zdGFuY2VvZiBOZSlyZXR1cm4gdDt7Y29uc3Qgcz1uZXcgUGUodCk7cmV0dXJuIHMuX2Zvcm1hdHRlZD0obj10LmV4dGVybmFsKSE9PW51bGwmJm4hPT12b2lkIDA/bjpudWxsLHMuX2ZzUGF0aD10Ll9zZXA9PT1kbiYmKHI9dC5mc1BhdGgpIT09bnVsbCYmciE9PXZvaWQgMD9yOm51bGwsc319ZWxzZSByZXR1cm4gdH19Y29uc3QgZG49V2U/MTp2b2lkIDA7Y2xhc3MgUGUgZXh0ZW5kcyBOZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fZm9ybWF0dGVkPW51bGwsdGhpcy5fZnNQYXRoPW51bGx9Z2V0IGZzUGF0aCgpe3JldHVybiB0aGlzLl9mc1BhdGh8fCh0aGlzLl9mc1BhdGg9TXQodGhpcywhMSkpLHRoaXMuX2ZzUGF0aH10b1N0cmluZyh0PSExKXtyZXR1cm4gdD9rdCh0aGlzLCEwKToodGhpcy5fZm9ybWF0dGVkfHwodGhpcy5fZm9ybWF0dGVkPWt0KHRoaXMsITEpKSx0aGlzLl9mb3JtYXR0ZWQpfXRvSlNPTigpe2NvbnN0IHQ9eyRtaWQ6MX07cmV0dXJuIHRoaXMuX2ZzUGF0aCYmKHQuZnNQYXRoPXRoaXMuX2ZzUGF0aCx0Ll9zZXA9ZG4pLHRoaXMuX2Zvcm1hdHRlZCYmKHQuZXh0ZXJuYWw9dGhpcy5fZm9ybWF0dGVkKSx0aGlzLnBhdGgmJih0LnBhdGg9dGhpcy5wYXRoKSx0aGlzLnNjaGVtZSYmKHQuc2NoZW1lPXRoaXMuc2NoZW1lKSx0aGlzLmF1dGhvcml0eSYmKHQuYXV0aG9yaXR5PXRoaXMuYXV0aG9yaXR5KSx0aGlzLnF1ZXJ5JiYodC5xdWVyeT10aGlzLnF1ZXJ5KSx0aGlzLmZyYWdtZW50JiYodC5mcmFnbWVudD10aGlzLmZyYWdtZW50KSx0fX1jb25zdCBtbj17NTg6IiUzQSIsNDc6IiUyRiIsNjM6IiUzRiIsMzU6IiUyMyIsOTE6IiU1QiIsOTM6IiU1RCIsNjQ6IiU0MCIsMzM6IiUyMSIsMzY6IiUyNCIsMzg6IiUyNiIsMzk6IiUyNyIsNDA6IiUyOCIsNDE6IiUyOSIsNDI6IiUyQSIsNDM6IiUyQiIsNDQ6IiUyQyIsNTk6IiUzQiIsNjE6IiUzRCIsMzI6IiUyMCJ9O2Z1bmN0aW9uIGduKGUsdCxuKXtsZXQgcixzPS0xO2ZvcihsZXQgaT0wO2k8ZS5sZW5ndGg7aSsrKXtjb25zdCBvPWUuY2hhckNvZGVBdChpKTtpZihvPj05NyYmbzw9MTIyfHxvPj02NSYmbzw9OTB8fG8+PTQ4JiZvPD01N3x8bz09PTQ1fHxvPT09NDZ8fG89PT05NXx8bz09PTEyNnx8dCYmbz09PTQ3fHxuJiZvPT09OTF8fG4mJm89PT05M3x8biYmbz09PTU4KXMhPT0tMSYmKHIrPWVuY29kZVVSSUNvbXBvbmVudChlLnN1YnN0cmluZyhzLGkpKSxzPS0xKSxyIT09dm9pZCAwJiYocis9ZS5jaGFyQXQoaSkpO2Vsc2V7cj09PXZvaWQgMCYmKHI9ZS5zdWJzdHIoMCxpKSk7Y29uc3QgbD1tbltvXTtsIT09dm9pZCAwPyhzIT09LTEmJihyKz1lbmNvZGVVUklDb21wb25lbnQoZS5zdWJzdHJpbmcocyxpKSkscz0tMSkscis9bCk6cz09PS0xJiYocz1pKX19cmV0dXJuIHMhPT0tMSYmKHIrPWVuY29kZVVSSUNvbXBvbmVudChlLnN1YnN0cmluZyhzKSkpLHIhPT12b2lkIDA/cjplfWZ1bmN0aW9uIEtzKGUpe2xldCB0O2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKXtjb25zdCByPWUuY2hhckNvZGVBdChuKTtyPT09MzV8fHI9PT02Mz8odD09PXZvaWQgMCYmKHQ9ZS5zdWJzdHIoMCxuKSksdCs9bW5bcl0pOnQhPT12b2lkIDAmJih0Kz1lW25dKX1yZXR1cm4gdCE9PXZvaWQgMD90OmV9ZnVuY3Rpb24gTXQoZSx0KXtsZXQgbjtyZXR1cm4gZS5hdXRob3JpdHkmJmUucGF0aC5sZW5ndGg+MSYmZS5zY2hlbWU9PT0iZmlsZSI/bj1gLy8ke2UuYXV0aG9yaXR5fSR7ZS5wYXRofWA6ZS5wYXRoLmNoYXJDb2RlQXQoMCk9PT00NyYmKGUucGF0aC5jaGFyQ29kZUF0KDEpPj02NSYmZS5wYXRoLmNoYXJDb2RlQXQoMSk8PTkwfHxlLnBhdGguY2hhckNvZGVBdCgxKT49OTcmJmUucGF0aC5jaGFyQ29kZUF0KDEpPD0xMjIpJiZlLnBhdGguY2hhckNvZGVBdCgyKT09PTU4P3Q/bj1lLnBhdGguc3Vic3RyKDEpOm49ZS5wYXRoWzFdLnRvTG93ZXJDYXNlKCkrZS5wYXRoLnN1YnN0cigyKTpuPWUucGF0aCxXZSYmKG49bi5yZXBsYWNlKC9cLy9nLCJcXCIpKSxufWZ1bmN0aW9uIGt0KGUsdCl7Y29uc3Qgbj10P0tzOmduO2xldCByPSIiLHtzY2hlbWU6cyxhdXRob3JpdHk6aSxwYXRoOm8scXVlcnk6bCxmcmFnbWVudDp1fT1lO2lmKHMmJihyKz1zLHIrPSI6IiksKGl8fHM9PT0iZmlsZSIpJiYocis9YWUscis9YWUpLGkpe2xldCBjPWkuaW5kZXhPZigiQCIpO2lmKGMhPT0tMSl7Y29uc3QgaD1pLnN1YnN0cigwLGMpO2k9aS5zdWJzdHIoYysxKSxjPWgubGFzdEluZGV4T2YoIjoiKSxjPT09LTE/cis9bihoLCExLCExKToocis9bihoLnN1YnN0cigwLGMpLCExLCExKSxyKz0iOiIscis9bihoLnN1YnN0cihjKzEpLCExLCEwKSkscis9IkAifWk9aS50b0xvd2VyQ2FzZSgpLGM9aS5sYXN0SW5kZXhPZigiOiIpLGM9PT0tMT9yKz1uKGksITEsITApOihyKz1uKGkuc3Vic3RyKDAsYyksITEsITApLHIrPWkuc3Vic3RyKGMpKX1pZihvKXtpZihvLmxlbmd0aD49MyYmby5jaGFyQ29kZUF0KDApPT09NDcmJm8uY2hhckNvZGVBdCgyKT09PTU4KXtjb25zdCBjPW8uY2hhckNvZGVBdCgxKTtjPj02NSYmYzw9OTAmJihvPWAvJHtTdHJpbmcuZnJvbUNoYXJDb2RlKGMrMzIpfToke28uc3Vic3RyKDMpfWApfWVsc2UgaWYoby5sZW5ndGg+PTImJm8uY2hhckNvZGVBdCgxKT09PTU4KXtjb25zdCBjPW8uY2hhckNvZGVBdCgwKTtjPj02NSYmYzw9OTAmJihvPWAke1N0cmluZy5mcm9tQ2hhckNvZGUoYyszMil9OiR7by5zdWJzdHIoMil9YCl9cis9bihvLCEwLCExKX1yZXR1cm4gbCYmKHIrPSI/IixyKz1uKGwsITEsITEpKSx1JiYocis9IiMiLHIrPXQ/dTpnbih1LCExLCExKSkscn1mdW5jdGlvbiBibihlKXt0cnl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChlKX1jYXRjaHtyZXR1cm4gZS5sZW5ndGg+Mz9lLnN1YnN0cigwLDMpK2JuKGUuc3Vic3RyKDMpKTplfX1jb25zdCBfbj0vKCVbMC05QS1aYS16XVswLTlBLVphLXpdKSsvZztmdW5jdGlvbiBzdChlKXtyZXR1cm4gZS5tYXRjaChfbik/ZS5yZXBsYWNlKF9uLHQ9PmJuKHQpKTplfWNsYXNzIEp7Y29uc3RydWN0b3IodCxuKXt0aGlzLmxpbmVOdW1iZXI9dCx0aGlzLmNvbHVtbj1ufXdpdGgodD10aGlzLmxpbmVOdW1iZXIsbj10aGlzLmNvbHVtbil7cmV0dXJuIHQ9PT10aGlzLmxpbmVOdW1iZXImJm49PT10aGlzLmNvbHVtbj90aGlzOm5ldyBKKHQsbil9ZGVsdGEodD0wLG49MCl7cmV0dXJuIHRoaXMud2l0aCh0aGlzLmxpbmVOdW1iZXIrdCx0aGlzLmNvbHVtbituKX1lcXVhbHModCl7cmV0dXJuIEouZXF1YWxzKHRoaXMsdCl9c3RhdGljIGVxdWFscyh0LG4pe3JldHVybiF0JiYhbj8hMDohIXQmJiEhbiYmdC5saW5lTnVtYmVyPT09bi5saW5lTnVtYmVyJiZ0LmNvbHVtbj09PW4uY29sdW1ufWlzQmVmb3JlKHQpe3JldHVybiBKLmlzQmVmb3JlKHRoaXMsdCl9c3RhdGljIGlzQmVmb3JlKHQsbil7cmV0dXJuIHQubGluZU51bWJlcjxuLmxpbmVOdW1iZXI/ITA6bi5saW5lTnVtYmVyPHQubGluZU51bWJlcj8hMTp0LmNvbHVtbjxuLmNvbHVtbn1pc0JlZm9yZU9yRXF1YWwodCl7cmV0dXJuIEouaXNCZWZvcmVPckVxdWFsKHRoaXMsdCl9c3RhdGljIGlzQmVmb3JlT3JFcXVhbCh0LG4pe3JldHVybiB0LmxpbmVOdW1iZXI8bi5saW5lTnVtYmVyPyEwOm4ubGluZU51bWJlcjx0LmxpbmVOdW1iZXI/ITE6dC5jb2x1bW48PW4uY29sdW1ufXN0YXRpYyBjb21wYXJlKHQsbil7Y29uc3Qgcj10LmxpbmVOdW1iZXJ8MCxzPW4ubGluZU51bWJlcnwwO2lmKHI9PT1zKXtjb25zdCBpPXQuY29sdW1ufDAsbz1uLmNvbHVtbnwwO3JldHVybiBpLW99cmV0dXJuIHItc31jbG9uZSgpe3JldHVybiBuZXcgSih0aGlzLmxpbmVOdW1iZXIsdGhpcy5jb2x1bW4pfXRvU3RyaW5nKCl7cmV0dXJuIigiK3RoaXMubGluZU51bWJlcisiLCIrdGhpcy5jb2x1bW4rIikifXN0YXRpYyBsaWZ0KHQpe3JldHVybiBuZXcgSih0LmxpbmVOdW1iZXIsdC5jb2x1bW4pfXN0YXRpYyBpc0lQb3NpdGlvbih0KXtyZXR1cm4gdCYmdHlwZW9mIHQubGluZU51bWJlcj09Im51bWJlciImJnR5cGVvZiB0LmNvbHVtbj09Im51bWJlciJ9dG9KU09OKCl7cmV0dXJue2xpbmVOdW1iZXI6dGhpcy5saW5lTnVtYmVyLGNvbHVtbjp0aGlzLmNvbHVtbn19fWNsYXNzIER7Y29uc3RydWN0b3IodCxuLHIscyl7dD5yfHx0PT09ciYmbj5zPyh0aGlzLnN0YXJ0TGluZU51bWJlcj1yLHRoaXMuc3RhcnRDb2x1bW49cyx0aGlzLmVuZExpbmVOdW1iZXI9dCx0aGlzLmVuZENvbHVtbj1uKToodGhpcy5zdGFydExpbmVOdW1iZXI9dCx0aGlzLnN0YXJ0Q29sdW1uPW4sdGhpcy5lbmRMaW5lTnVtYmVyPXIsdGhpcy5lbmRDb2x1bW49cyl9aXNFbXB0eSgpe3JldHVybiBELmlzRW1wdHkodGhpcyl9c3RhdGljIGlzRW1wdHkodCl7cmV0dXJuIHQuc3RhcnRMaW5lTnVtYmVyPT09dC5lbmRMaW5lTnVtYmVyJiZ0LnN0YXJ0Q29sdW1uPT09dC5lbmRDb2x1bW59Y29udGFpbnNQb3NpdGlvbih0KXtyZXR1cm4gRC5jb250YWluc1Bvc2l0aW9uKHRoaXMsdCl9c3RhdGljIGNvbnRhaW5zUG9zaXRpb24odCxuKXtyZXR1cm4hKG4ubGluZU51bWJlcjx0LnN0YXJ0TGluZU51bWJlcnx8bi5saW5lTnVtYmVyPnQuZW5kTGluZU51bWJlcnx8bi5saW5lTnVtYmVyPT09dC5zdGFydExpbmVOdW1iZXImJm4uY29sdW1uPHQuc3RhcnRDb2x1bW58fG4ubGluZU51bWJlcj09PXQuZW5kTGluZU51bWJlciYmbi5jb2x1bW4+dC5lbmRDb2x1bW4pfXN0YXRpYyBzdHJpY3RDb250YWluc1Bvc2l0aW9uKHQsbil7cmV0dXJuIShuLmxpbmVOdW1iZXI8dC5zdGFydExpbmVOdW1iZXJ8fG4ubGluZU51bWJlcj50LmVuZExpbmVOdW1iZXJ8fG4ubGluZU51bWJlcj09PXQuc3RhcnRMaW5lTnVtYmVyJiZuLmNvbHVtbjw9dC5zdGFydENvbHVtbnx8bi5saW5lTnVtYmVyPT09dC5lbmRMaW5lTnVtYmVyJiZuLmNvbHVtbj49dC5lbmRDb2x1bW4pfWNvbnRhaW5zUmFuZ2UodCl7cmV0dXJuIEQuY29udGFpbnNSYW5nZSh0aGlzLHQpfXN0YXRpYyBjb250YWluc1JhbmdlKHQsbil7cmV0dXJuIShuLnN0YXJ0TGluZU51bWJlcjx0LnN0YXJ0TGluZU51bWJlcnx8bi5lbmRMaW5lTnVtYmVyPHQuc3RhcnRMaW5lTnVtYmVyfHxuLnN0YXJ0TGluZU51bWJlcj50LmVuZExpbmVOdW1iZXJ8fG4uZW5kTGluZU51bWJlcj50LmVuZExpbmVOdW1iZXJ8fG4uc3RhcnRMaW5lTnVtYmVyPT09dC5zdGFydExpbmVOdW1iZXImJm4uc3RhcnRDb2x1bW48dC5zdGFydENvbHVtbnx8bi5lbmRMaW5lTnVtYmVyPT09dC5lbmRMaW5lTnVtYmVyJiZuLmVuZENvbHVtbj50LmVuZENvbHVtbil9c3RyaWN0Q29udGFpbnNSYW5nZSh0KXtyZXR1cm4gRC5zdHJpY3RDb250YWluc1JhbmdlKHRoaXMsdCl9c3RhdGljIHN0cmljdENvbnRhaW5zUmFuZ2UodCxuKXtyZXR1cm4hKG4uc3RhcnRMaW5lTnVtYmVyPHQuc3RhcnRMaW5lTnVtYmVyfHxuLmVuZExpbmVOdW1iZXI8dC5zdGFydExpbmVOdW1iZXJ8fG4uc3RhcnRMaW5lTnVtYmVyPnQuZW5kTGluZU51bWJlcnx8bi5lbmRMaW5lTnVtYmVyPnQuZW5kTGluZU51bWJlcnx8bi5zdGFydExpbmVOdW1iZXI9PT10LnN0YXJ0TGluZU51bWJlciYmbi5zdGFydENvbHVtbjw9dC5zdGFydENvbHVtbnx8bi5lbmRMaW5lTnVtYmVyPT09dC5lbmRMaW5lTnVtYmVyJiZuLmVuZENvbHVtbj49dC5lbmRDb2x1bW4pfXBsdXNSYW5nZSh0KXtyZXR1cm4gRC5wbHVzUmFuZ2UodGhpcyx0KX1zdGF0aWMgcGx1c1JhbmdlKHQsbil7bGV0IHIscyxpLG87cmV0dXJuIG4uc3RhcnRMaW5lTnVtYmVyPHQuc3RhcnRMaW5lTnVtYmVyPyhyPW4uc3RhcnRMaW5lTnVtYmVyLHM9bi5zdGFydENvbHVtbik6bi5zdGFydExpbmVOdW1iZXI9PT10LnN0YXJ0TGluZU51bWJlcj8ocj1uLnN0YXJ0TGluZU51bWJlcixzPU1hdGgubWluKG4uc3RhcnRDb2x1bW4sdC5zdGFydENvbHVtbikpOihyPXQuc3RhcnRMaW5lTnVtYmVyLHM9dC5zdGFydENvbHVtbiksbi5lbmRMaW5lTnVtYmVyPnQuZW5kTGluZU51bWJlcj8oaT1uLmVuZExpbmVOdW1iZXIsbz1uLmVuZENvbHVtbik6bi5lbmRMaW5lTnVtYmVyPT09dC5lbmRMaW5lTnVtYmVyPyhpPW4uZW5kTGluZU51bWJlcixvPU1hdGgubWF4KG4uZW5kQ29sdW1uLHQuZW5kQ29sdW1uKSk6KGk9dC5lbmRMaW5lTnVtYmVyLG89dC5lbmRDb2x1bW4pLG5ldyBEKHIscyxpLG8pfWludGVyc2VjdFJhbmdlcyh0KXtyZXR1cm4gRC5pbnRlcnNlY3RSYW5nZXModGhpcyx0KX1zdGF0aWMgaW50ZXJzZWN0UmFuZ2VzKHQsbil7bGV0IHI9dC5zdGFydExpbmVOdW1iZXIscz10LnN0YXJ0Q29sdW1uLGk9dC5lbmRMaW5lTnVtYmVyLG89dC5lbmRDb2x1bW47Y29uc3QgbD1uLnN0YXJ0TGluZU51bWJlcix1PW4uc3RhcnRDb2x1bW4sYz1uLmVuZExpbmVOdW1iZXIsaD1uLmVuZENvbHVtbjtyZXR1cm4gcjxsPyhyPWwscz11KTpyPT09bCYmKHM9TWF0aC5tYXgocyx1KSksaT5jPyhpPWMsbz1oKTppPT09YyYmKG89TWF0aC5taW4obyxoKSkscj5pfHxyPT09aSYmcz5vP251bGw6bmV3IEQocixzLGksbyl9ZXF1YWxzUmFuZ2UodCl7cmV0dXJuIEQuZXF1YWxzUmFuZ2UodGhpcyx0KX1zdGF0aWMgZXF1YWxzUmFuZ2UodCxuKXtyZXR1cm4hdCYmIW4/ITA6ISF0JiYhIW4mJnQuc3RhcnRMaW5lTnVtYmVyPT09bi5zdGFydExpbmVOdW1iZXImJnQuc3RhcnRDb2x1bW49PT1uLnN0YXJ0Q29sdW1uJiZ0LmVuZExpbmVOdW1iZXI9PT1uLmVuZExpbmVOdW1iZXImJnQuZW5kQ29sdW1uPT09bi5lbmRDb2x1bW59Z2V0RW5kUG9zaXRpb24oKXtyZXR1cm4gRC5nZXRFbmRQb3NpdGlvbih0aGlzKX1zdGF0aWMgZ2V0RW5kUG9zaXRpb24odCl7cmV0dXJuIG5ldyBKKHQuZW5kTGluZU51bWJlcix0LmVuZENvbHVtbil9Z2V0U3RhcnRQb3NpdGlvbigpe3JldHVybiBELmdldFN0YXJ0UG9zaXRpb24odGhpcyl9c3RhdGljIGdldFN0YXJ0UG9zaXRpb24odCl7cmV0dXJuIG5ldyBKKHQuc3RhcnRMaW5lTnVtYmVyLHQuc3RhcnRDb2x1bW4pfXRvU3RyaW5nKCl7cmV0dXJuIlsiK3RoaXMuc3RhcnRMaW5lTnVtYmVyKyIsIit0aGlzLnN0YXJ0Q29sdW1uKyIgLT4gIit0aGlzLmVuZExpbmVOdW1iZXIrIiwiK3RoaXMuZW5kQ29sdW1uKyJdIn1zZXRFbmRQb3NpdGlvbih0LG4pe3JldHVybiBuZXcgRCh0aGlzLnN0YXJ0TGluZU51bWJlcix0aGlzLnN0YXJ0Q29sdW1uLHQsbil9c2V0U3RhcnRQb3NpdGlvbih0LG4pe3JldHVybiBuZXcgRCh0LG4sdGhpcy5lbmRMaW5lTnVtYmVyLHRoaXMuZW5kQ29sdW1uKX1jb2xsYXBzZVRvU3RhcnQoKXtyZXR1cm4gRC5jb2xsYXBzZVRvU3RhcnQodGhpcyl9c3RhdGljIGNvbGxhcHNlVG9TdGFydCh0KXtyZXR1cm4gbmV3IEQodC5zdGFydExpbmVOdW1iZXIsdC5zdGFydENvbHVtbix0LnN0YXJ0TGluZU51bWJlcix0LnN0YXJ0Q29sdW1uKX1jb2xsYXBzZVRvRW5kKCl7cmV0dXJuIEQuY29sbGFwc2VUb0VuZCh0aGlzKX1zdGF0aWMgY29sbGFwc2VUb0VuZCh0KXtyZXR1cm4gbmV3IEQodC5lbmRMaW5lTnVtYmVyLHQuZW5kQ29sdW1uLHQuZW5kTGluZU51bWJlcix0LmVuZENvbHVtbil9ZGVsdGEodCl7cmV0dXJuIG5ldyBEKHRoaXMuc3RhcnRMaW5lTnVtYmVyK3QsdGhpcy5zdGFydENvbHVtbix0aGlzLmVuZExpbmVOdW1iZXIrdCx0aGlzLmVuZENvbHVtbil9c3RhdGljIGZyb21Qb3NpdGlvbnModCxuPXQpe3JldHVybiBuZXcgRCh0LmxpbmVOdW1iZXIsdC5jb2x1bW4sbi5saW5lTnVtYmVyLG4uY29sdW1uKX1zdGF0aWMgbGlmdCh0KXtyZXR1cm4gdD9uZXcgRCh0LnN0YXJ0TGluZU51bWJlcix0LnN0YXJ0Q29sdW1uLHQuZW5kTGluZU51bWJlcix0LmVuZENvbHVtbik6bnVsbH1zdGF0aWMgaXNJUmFuZ2UodCl7cmV0dXJuIHQmJnR5cGVvZiB0LnN0YXJ0TGluZU51bWJlcj09Im51bWJlciImJnR5cGVvZiB0LnN0YXJ0Q29sdW1uPT0ibnVtYmVyIiYmdHlwZW9mIHQuZW5kTGluZU51bWJlcj09Im51bWJlciImJnR5cGVvZiB0LmVuZENvbHVtbj09Im51bWJlciJ9c3RhdGljIGFyZUludGVyc2VjdGluZ09yVG91Y2hpbmcodCxuKXtyZXR1cm4hKHQuZW5kTGluZU51bWJlcjxuLnN0YXJ0TGluZU51bWJlcnx8dC5lbmRMaW5lTnVtYmVyPT09bi5zdGFydExpbmVOdW1iZXImJnQuZW5kQ29sdW1uPG4uc3RhcnRDb2x1bW58fG4uZW5kTGluZU51bWJlcjx0LnN0YXJ0TGluZU51bWJlcnx8bi5lbmRMaW5lTnVtYmVyPT09dC5zdGFydExpbmVOdW1iZXImJm4uZW5kQ29sdW1uPHQuc3RhcnRDb2x1bW4pfXN0YXRpYyBhcmVJbnRlcnNlY3RpbmcodCxuKXtyZXR1cm4hKHQuZW5kTGluZU51bWJlcjxuLnN0YXJ0TGluZU51bWJlcnx8dC5lbmRMaW5lTnVtYmVyPT09bi5zdGFydExpbmVOdW1iZXImJnQuZW5kQ29sdW1uPD1uLnN0YXJ0Q29sdW1ufHxuLmVuZExpbmVOdW1iZXI8dC5zdGFydExpbmVOdW1iZXJ8fG4uZW5kTGluZU51bWJlcj09PXQuc3RhcnRMaW5lTnVtYmVyJiZuLmVuZENvbHVtbjw9dC5zdGFydENvbHVtbil9c3RhdGljIGNvbXBhcmVSYW5nZXNVc2luZ1N0YXJ0cyh0LG4pe2lmKHQmJm4pe2NvbnN0IGk9dC5zdGFydExpbmVOdW1iZXJ8MCxvPW4uc3RhcnRMaW5lTnVtYmVyfDA7aWYoaT09PW8pe2NvbnN0IGw9dC5zdGFydENvbHVtbnwwLHU9bi5zdGFydENvbHVtbnwwO2lmKGw9PT11KXtjb25zdCBjPXQuZW5kTGluZU51bWJlcnwwLGg9bi5lbmRMaW5lTnVtYmVyfDA7aWYoYz09PWgpe2NvbnN0IGY9dC5lbmRDb2x1bW58MCxkPW4uZW5kQ29sdW1ufDA7cmV0dXJuIGYtZH1yZXR1cm4gYy1ofXJldHVybiBsLXV9cmV0dXJuIGktb31yZXR1cm4odD8xOjApLShuPzE6MCl9c3RhdGljIGNvbXBhcmVSYW5nZXNVc2luZ0VuZHModCxuKXtyZXR1cm4gdC5lbmRMaW5lTnVtYmVyPT09bi5lbmRMaW5lTnVtYmVyP3QuZW5kQ29sdW1uPT09bi5lbmRDb2x1bW4/dC5zdGFydExpbmVOdW1iZXI9PT1uLnN0YXJ0TGluZU51bWJlcj90LnN0YXJ0Q29sdW1uLW4uc3RhcnRDb2x1bW46dC5zdGFydExpbmVOdW1iZXItbi5zdGFydExpbmVOdW1iZXI6dC5lbmRDb2x1bW4tbi5lbmRDb2x1bW46dC5lbmRMaW5lTnVtYmVyLW4uZW5kTGluZU51bWJlcn1zdGF0aWMgc3BhbnNNdWx0aXBsZUxpbmVzKHQpe3JldHVybiB0LmVuZExpbmVOdW1iZXI+dC5zdGFydExpbmVOdW1iZXJ9dG9KU09OKCl7cmV0dXJuIHRoaXN9fWZ1bmN0aW9uIGVpKGUsdCxuPShyLHMpPT5yPT09cyl7aWYoZT09PXQpcmV0dXJuITA7aWYoIWV8fCF0fHxlLmxlbmd0aCE9PXQubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgcj0wLHM9ZS5sZW5ndGg7cjxzO3IrKylpZighbihlW3JdLHRbcl0pKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uKnRpKGUsdCl7bGV0IG4scjtmb3IoY29uc3QgcyBvZiBlKXIhPT12b2lkIDAmJnQocixzKT9uLnB1c2gocyk6KG4mJih5aWVsZCBuKSxuPVtzXSkscj1zO24mJih5aWVsZCBuKX1mdW5jdGlvbiBuaShlLHQpe2ZvcihsZXQgbj0wO248PWUubGVuZ3RoO24rKyl0KG49PT0wP3ZvaWQgMDplW24tMV0sbj09PWUubGVuZ3RoP3ZvaWQgMDplW25dKX1mdW5jdGlvbiByaShlLHQpe2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKXQobj09PTA/dm9pZCAwOmVbbi0xXSxlW25dLG4rMT09PWUubGVuZ3RoP3ZvaWQgMDplW24rMV0pfWZ1bmN0aW9uIHNpKGUsdCl7Zm9yKGNvbnN0IG4gb2YgdCllLnB1c2gobil9dmFyIHBuOyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KGkpe3JldHVybiBpPDB9ZS5pc0xlc3NUaGFuPXQ7ZnVuY3Rpb24gbihpKXtyZXR1cm4gaTw9MH1lLmlzTGVzc1RoYW5PckVxdWFsPW47ZnVuY3Rpb24gcihpKXtyZXR1cm4gaT4wfWUuaXNHcmVhdGVyVGhhbj1yO2Z1bmN0aW9uIHMoaSl7cmV0dXJuIGk9PT0wfWUuaXNOZWl0aGVyTGVzc09yR3JlYXRlclRoYW49cyxlLmdyZWF0ZXJUaGFuPTEsZS5sZXNzVGhhbj0tMSxlLm5laXRoZXJMZXNzT3JHcmVhdGVyVGhhbj0wfSkocG58fChwbj17fSkpO2Z1bmN0aW9uIGl0KGUsdCl7cmV0dXJuKG4scik9PnQoZShuKSxlKHIpKX1jb25zdCBhdD0oZSx0KT0+ZS10O2Z1bmN0aW9uIGlpKGUpe3JldHVybih0LG4pPT4tZSh0LG4pfWZ1bmN0aW9uIHhuKGUpe3JldHVybiBlPDA/MDplPjI1NT8yNTU6ZXwwfWZ1bmN0aW9uIEZlKGUpe3JldHVybiBlPDA/MDplPjQyOTQ5NjcyOTU/NDI5NDk2NzI5NTplfDB9Y2xhc3MgYWl7Y29uc3RydWN0b3IodCl7dGhpcy52YWx1ZXM9dCx0aGlzLnByZWZpeFN1bT1uZXcgVWludDMyQXJyYXkodC5sZW5ndGgpLHRoaXMucHJlZml4U3VtVmFsaWRJbmRleD1uZXcgSW50MzJBcnJheSgxKSx0aGlzLnByZWZpeFN1bVZhbGlkSW5kZXhbMF09LTF9aW5zZXJ0VmFsdWVzKHQsbil7dD1GZSh0KTtjb25zdCByPXRoaXMudmFsdWVzLHM9dGhpcy5wcmVmaXhTdW0saT1uLmxlbmd0aDtyZXR1cm4gaT09PTA/ITE6KHRoaXMudmFsdWVzPW5ldyBVaW50MzJBcnJheShyLmxlbmd0aCtpKSx0aGlzLnZhbHVlcy5zZXQoci5zdWJhcnJheSgwLHQpLDApLHRoaXMudmFsdWVzLnNldChyLnN1YmFycmF5KHQpLHQraSksdGhpcy52YWx1ZXMuc2V0KG4sdCksdC0xPHRoaXMucHJlZml4U3VtVmFsaWRJbmRleFswXSYmKHRoaXMucHJlZml4U3VtVmFsaWRJbmRleFswXT10LTEpLHRoaXMucHJlZml4U3VtPW5ldyBVaW50MzJBcnJheSh0aGlzLnZhbHVlcy5sZW5ndGgpLHRoaXMucHJlZml4U3VtVmFsaWRJbmRleFswXT49MCYmdGhpcy5wcmVmaXhTdW0uc2V0KHMuc3ViYXJyYXkoMCx0aGlzLnByZWZpeFN1bVZhbGlkSW5kZXhbMF0rMSkpLCEwKX1zZXRWYWx1ZSh0LG4pe3JldHVybiB0PUZlKHQpLG49RmUobiksdGhpcy52YWx1ZXNbdF09PT1uPyExOih0aGlzLnZhbHVlc1t0XT1uLHQtMTx0aGlzLnByZWZpeFN1bVZhbGlkSW5kZXhbMF0mJih0aGlzLnByZWZpeFN1bVZhbGlkSW5kZXhbMF09dC0xKSwhMCl9cmVtb3ZlVmFsdWVzKHQsbil7dD1GZSh0KSxuPUZlKG4pO2NvbnN0IHI9dGhpcy52YWx1ZXMscz10aGlzLnByZWZpeFN1bTtpZih0Pj1yLmxlbmd0aClyZXR1cm4hMTtjb25zdCBpPXIubGVuZ3RoLXQ7cmV0dXJuIG4+PWkmJihuPWkpLG49PT0wPyExOih0aGlzLnZhbHVlcz1uZXcgVWludDMyQXJyYXkoci5sZW5ndGgtbiksdGhpcy52YWx1ZXMuc2V0KHIuc3ViYXJyYXkoMCx0KSwwKSx0aGlzLnZhbHVlcy5zZXQoci5zdWJhcnJheSh0K24pLHQpLHRoaXMucHJlZml4U3VtPW5ldyBVaW50MzJBcnJheSh0aGlzLnZhbHVlcy5sZW5ndGgpLHQtMTx0aGlzLnByZWZpeFN1bVZhbGlkSW5kZXhbMF0mJih0aGlzLnByZWZpeFN1bVZhbGlkSW5kZXhbMF09dC0xKSx0aGlzLnByZWZpeFN1bVZhbGlkSW5kZXhbMF0+PTAmJnRoaXMucHJlZml4U3VtLnNldChzLnN1YmFycmF5KDAsdGhpcy5wcmVmaXhTdW1WYWxpZEluZGV4WzBdKzEpKSwhMCl9Z2V0VG90YWxTdW0oKXtyZXR1cm4gdGhpcy52YWx1ZXMubGVuZ3RoPT09MD8wOnRoaXMuX2dldFByZWZpeFN1bSh0aGlzLnZhbHVlcy5sZW5ndGgtMSl9Z2V0UHJlZml4U3VtKHQpe3JldHVybiB0PDA/MDoodD1GZSh0KSx0aGlzLl9nZXRQcmVmaXhTdW0odCkpfV9nZXRQcmVmaXhTdW0odCl7aWYodDw9dGhpcy5wcmVmaXhTdW1WYWxpZEluZGV4WzBdKXJldHVybiB0aGlzLnByZWZpeFN1bVt0XTtsZXQgbj10aGlzLnByZWZpeFN1bVZhbGlkSW5kZXhbMF0rMTtuPT09MCYmKHRoaXMucHJlZml4U3VtWzBdPXRoaXMudmFsdWVzWzBdLG4rKyksdD49dGhpcy52YWx1ZXMubGVuZ3RoJiYodD10aGlzLnZhbHVlcy5sZW5ndGgtMSk7Zm9yKGxldCByPW47cjw9dDtyKyspdGhpcy5wcmVmaXhTdW1bcl09dGhpcy5wcmVmaXhTdW1bci0xXSt0aGlzLnZhbHVlc1tyXTtyZXR1cm4gdGhpcy5wcmVmaXhTdW1WYWxpZEluZGV4WzBdPU1hdGgubWF4KHRoaXMucHJlZml4U3VtVmFsaWRJbmRleFswXSx0KSx0aGlzLnByZWZpeFN1bVt0XX1nZXRJbmRleE9mKHQpe3Q9TWF0aC5mbG9vcih0KSx0aGlzLmdldFRvdGFsU3VtKCk7bGV0IG49MCxyPXRoaXMudmFsdWVzLmxlbmd0aC0xLHM9MCxpPTAsbz0wO2Zvcig7bjw9cjspaWYocz1uKyhyLW4pLzJ8MCxpPXRoaXMucHJlZml4U3VtW3NdLG89aS10aGlzLnZhbHVlc1tzXSx0PG8pcj1zLTE7ZWxzZSBpZih0Pj1pKW49cysxO2Vsc2UgYnJlYWs7cmV0dXJuIG5ldyBvaShzLHQtbyl9fWNsYXNzIG9pe2NvbnN0cnVjdG9yKHQsbil7dGhpcy5pbmRleD10LHRoaXMucmVtYWluZGVyPW4sdGhpcy5fcHJlZml4U3VtSW5kZXhPZlJlc3VsdEJyYW5kPXZvaWQgMCx0aGlzLmluZGV4PXQsdGhpcy5yZW1haW5kZXI9bn19Y2xhc3MgbGl7Y29uc3RydWN0b3IodCxuLHIscyl7dGhpcy5fdXJpPXQsdGhpcy5fbGluZXM9bix0aGlzLl9lb2w9cix0aGlzLl92ZXJzaW9uSWQ9cyx0aGlzLl9saW5lU3RhcnRzPW51bGwsdGhpcy5fY2FjaGVkVGV4dFZhbHVlPW51bGx9ZGlzcG9zZSgpe3RoaXMuX2xpbmVzLmxlbmd0aD0wfWdldCB2ZXJzaW9uKCl7cmV0dXJuIHRoaXMuX3ZlcnNpb25JZH1nZXRUZXh0KCl7cmV0dXJuIHRoaXMuX2NhY2hlZFRleHRWYWx1ZT09PW51bGwmJih0aGlzLl9jYWNoZWRUZXh0VmFsdWU9dGhpcy5fbGluZXMuam9pbih0aGlzLl9lb2wpKSx0aGlzLl9jYWNoZWRUZXh0VmFsdWV9b25FdmVudHModCl7dC5lb2wmJnQuZW9sIT09dGhpcy5fZW9sJiYodGhpcy5fZW9sPXQuZW9sLHRoaXMuX2xpbmVTdGFydHM9bnVsbCk7Y29uc3Qgbj10LmNoYW5nZXM7Zm9yKGNvbnN0IHIgb2Ygbil0aGlzLl9hY2NlcHREZWxldGVSYW5nZShyLnJhbmdlKSx0aGlzLl9hY2NlcHRJbnNlcnRUZXh0KG5ldyBKKHIucmFuZ2Uuc3RhcnRMaW5lTnVtYmVyLHIucmFuZ2Uuc3RhcnRDb2x1bW4pLHIudGV4dCk7dGhpcy5fdmVyc2lvbklkPXQudmVyc2lvbklkLHRoaXMuX2NhY2hlZFRleHRWYWx1ZT1udWxsfV9lbnN1cmVMaW5lU3RhcnRzKCl7aWYoIXRoaXMuX2xpbmVTdGFydHMpe2NvbnN0IHQ9dGhpcy5fZW9sLmxlbmd0aCxuPXRoaXMuX2xpbmVzLmxlbmd0aCxyPW5ldyBVaW50MzJBcnJheShuKTtmb3IobGV0IHM9MDtzPG47cysrKXJbc109dGhpcy5fbGluZXNbc10ubGVuZ3RoK3Q7dGhpcy5fbGluZVN0YXJ0cz1uZXcgYWkocil9fV9zZXRMaW5lVGV4dCh0LG4pe3RoaXMuX2xpbmVzW3RdPW4sdGhpcy5fbGluZVN0YXJ0cyYmdGhpcy5fbGluZVN0YXJ0cy5zZXRWYWx1ZSh0LHRoaXMuX2xpbmVzW3RdLmxlbmd0aCt0aGlzLl9lb2wubGVuZ3RoKX1fYWNjZXB0RGVsZXRlUmFuZ2UodCl7aWYodC5zdGFydExpbmVOdW1iZXI9PT10LmVuZExpbmVOdW1iZXIpe2lmKHQuc3RhcnRDb2x1bW49PT10LmVuZENvbHVtbilyZXR1cm47dGhpcy5fc2V0TGluZVRleHQodC5zdGFydExpbmVOdW1iZXItMSx0aGlzLl9saW5lc1t0LnN0YXJ0TGluZU51bWJlci0xXS5zdWJzdHJpbmcoMCx0LnN0YXJ0Q29sdW1uLTEpK3RoaXMuX2xpbmVzW3Quc3RhcnRMaW5lTnVtYmVyLTFdLnN1YnN0cmluZyh0LmVuZENvbHVtbi0xKSk7cmV0dXJufXRoaXMuX3NldExpbmVUZXh0KHQuc3RhcnRMaW5lTnVtYmVyLTEsdGhpcy5fbGluZXNbdC5zdGFydExpbmVOdW1iZXItMV0uc3Vic3RyaW5nKDAsdC5zdGFydENvbHVtbi0xKSt0aGlzLl9saW5lc1t0LmVuZExpbmVOdW1iZXItMV0uc3Vic3RyaW5nKHQuZW5kQ29sdW1uLTEpKSx0aGlzLl9saW5lcy5zcGxpY2UodC5zdGFydExpbmVOdW1iZXIsdC5lbmRMaW5lTnVtYmVyLXQuc3RhcnRMaW5lTnVtYmVyKSx0aGlzLl9saW5lU3RhcnRzJiZ0aGlzLl9saW5lU3RhcnRzLnJlbW92ZVZhbHVlcyh0LnN0YXJ0TGluZU51bWJlcix0LmVuZExpbmVOdW1iZXItdC5zdGFydExpbmVOdW1iZXIpfV9hY2NlcHRJbnNlcnRUZXh0KHQsbil7aWYobi5sZW5ndGg9PT0wKXJldHVybjtjb25zdCByPXhzKG4pO2lmKHIubGVuZ3RoPT09MSl7dGhpcy5fc2V0TGluZVRleHQodC5saW5lTnVtYmVyLTEsdGhpcy5fbGluZXNbdC5saW5lTnVtYmVyLTFdLnN1YnN0cmluZygwLHQuY29sdW1uLTEpK3JbMF0rdGhpcy5fbGluZXNbdC5saW5lTnVtYmVyLTFdLnN1YnN0cmluZyh0LmNvbHVtbi0xKSk7cmV0dXJufXJbci5sZW5ndGgtMV0rPXRoaXMuX2xpbmVzW3QubGluZU51bWJlci0xXS5zdWJzdHJpbmcodC5jb2x1bW4tMSksdGhpcy5fc2V0TGluZVRleHQodC5saW5lTnVtYmVyLTEsdGhpcy5fbGluZXNbdC5saW5lTnVtYmVyLTFdLnN1YnN0cmluZygwLHQuY29sdW1uLTEpK3JbMF0pO2NvbnN0IHM9bmV3IFVpbnQzMkFycmF5KHIubGVuZ3RoLTEpO2ZvcihsZXQgaT0xO2k8ci5sZW5ndGg7aSsrKXRoaXMuX2xpbmVzLnNwbGljZSh0LmxpbmVOdW1iZXIraS0xLDAscltpXSksc1tpLTFdPXJbaV0ubGVuZ3RoK3RoaXMuX2VvbC5sZW5ndGg7dGhpcy5fbGluZVN0YXJ0cyYmdGhpcy5fbGluZVN0YXJ0cy5pbnNlcnRWYWx1ZXModC5saW5lTnVtYmVyLHMpfX1jb25zdCB1aT0iYH4hQCMkJV4mKigpLT0rW3tdfVxcfDs6J1wiLC48Pi8/IjtmdW5jdGlvbiBjaShlPSIiKXtsZXQgdD0iKC0/XFxkKlxcLlxcZFxcdyopfChbXiI7Zm9yKGNvbnN0IG4gb2YgdWkpZS5pbmRleE9mKG4pPj0wfHwodCs9IlxcIituKTtyZXR1cm4gdCs9Ilxcc10rKSIsbmV3IFJlZ0V4cCh0LCJnIil9Y29uc3Qgdm49Y2koKTtmdW5jdGlvbiBMbihlKXtsZXQgdD12bjtpZihlJiZlIGluc3RhbmNlb2YgUmVnRXhwKWlmKGUuZ2xvYmFsKXQ9ZTtlbHNle2xldCBuPSJnIjtlLmlnbm9yZUNhc2UmJihuKz0iaSIpLGUubXVsdGlsaW5lJiYobis9Im0iKSxlLnVuaWNvZGUmJihuKz0idSIpLHQ9bmV3IFJlZ0V4cChlLnNvdXJjZSxuKX1yZXR1cm4gdC5sYXN0SW5kZXg9MCx0fWNvbnN0IHduPW5ldyB0czt3bi51bnNoaWZ0KHttYXhMZW46MWUzLHdpbmRvd1NpemU6MTUsdGltZUJ1ZGdldDoxNTB9KTtmdW5jdGlvbiBUdChlLHQsbixyLHMpe2lmKHQ9TG4odCksc3x8KHM9WmUuZmlyc3Qod24pKSxuLmxlbmd0aD5zLm1heExlbil7bGV0IGM9ZS1zLm1heExlbi8yO3JldHVybiBjPDA/Yz0wOnIrPWMsbj1uLnN1YnN0cmluZyhjLGUrcy5tYXhMZW4vMiksVHQoZSx0LG4scixzKX1jb25zdCBpPURhdGUubm93KCksbz1lLTEtcjtsZXQgbD0tMSx1PW51bGw7Zm9yKGxldCBjPTE7IShEYXRlLm5vdygpLWk+PXMudGltZUJ1ZGdldCk7YysrKXtjb25zdCBoPW8tcy53aW5kb3dTaXplKmM7dC5sYXN0SW5kZXg9TWF0aC5tYXgoMCxoKTtjb25zdCBmPWhpKHQsbixvLGwpO2lmKCFmJiZ1fHwodT1mLGg8PTApKWJyZWFrO2w9aH1pZih1KXtjb25zdCBjPXt3b3JkOnVbMF0sc3RhcnRDb2x1bW46cisxK3UuaW5kZXgsZW5kQ29sdW1uOnIrMSt1LmluZGV4K3VbMF0ubGVuZ3RofTtyZXR1cm4gdC5sYXN0SW5kZXg9MCxjfXJldHVybiBudWxsfWZ1bmN0aW9uIGhpKGUsdCxuLHIpe2xldCBzO2Zvcig7cz1lLmV4ZWModCk7KXtjb25zdCBpPXMuaW5kZXh8fDA7aWYoaTw9biYmZS5sYXN0SW5kZXg+PW4pcmV0dXJuIHM7aWYocj4wJiZpPnIpcmV0dXJuIG51bGx9cmV0dXJuIG51bGx9Y2xhc3MgRHR7Y29uc3RydWN0b3IodCl7Y29uc3Qgbj14bih0KTt0aGlzLl9kZWZhdWx0VmFsdWU9bix0aGlzLl9hc2NpaU1hcD1EdC5fY3JlYXRlQXNjaWlNYXAobiksdGhpcy5fbWFwPW5ldyBNYXB9c3RhdGljIF9jcmVhdGVBc2NpaU1hcCh0KXtjb25zdCBuPW5ldyBVaW50OEFycmF5KDI1Nik7cmV0dXJuIG4uZmlsbCh0KSxufXNldCh0LG4pe2NvbnN0IHI9eG4obik7dD49MCYmdDwyNTY/dGhpcy5fYXNjaWlNYXBbdF09cjp0aGlzLl9tYXAuc2V0KHQscil9Z2V0KHQpe3JldHVybiB0Pj0wJiZ0PDI1Nj90aGlzLl9hc2NpaU1hcFt0XTp0aGlzLl9tYXAuZ2V0KHQpfHx0aGlzLl9kZWZhdWx0VmFsdWV9Y2xlYXIoKXt0aGlzLl9hc2NpaU1hcC5maWxsKHRoaXMuX2RlZmF1bHRWYWx1ZSksdGhpcy5fbWFwLmNsZWFyKCl9fWNsYXNzIGZpe2NvbnN0cnVjdG9yKHQsbixyKXtjb25zdCBzPW5ldyBVaW50OEFycmF5KHQqbik7Zm9yKGxldCBpPTAsbz10Km47aTxvO2krKylzW2ldPXI7dGhpcy5fZGF0YT1zLHRoaXMucm93cz10LHRoaXMuY29scz1ufWdldCh0LG4pe3JldHVybiB0aGlzLl9kYXRhW3QqdGhpcy5jb2xzK25dfXNldCh0LG4scil7dGhpcy5fZGF0YVt0KnRoaXMuY29scytuXT1yfX1jbGFzcyBkaXtjb25zdHJ1Y3Rvcih0KXtsZXQgbj0wLHI9MDtmb3IobGV0IGk9MCxvPXQubGVuZ3RoO2k8bztpKyspe2NvbnN0W2wsdSxjXT10W2ldO3U+biYmKG49dSksbD5yJiYocj1sKSxjPnImJihyPWMpfW4rKyxyKys7Y29uc3Qgcz1uZXcgZmkocixuLDApO2ZvcihsZXQgaT0wLG89dC5sZW5ndGg7aTxvO2krKyl7Y29uc3RbbCx1LGNdPXRbaV07cy5zZXQobCx1LGMpfXRoaXMuX3N0YXRlcz1zLHRoaXMuX21heENoYXJDb2RlPW59bmV4dFN0YXRlKHQsbil7cmV0dXJuIG48MHx8bj49dGhpcy5fbWF4Q2hhckNvZGU/MDp0aGlzLl9zdGF0ZXMuZ2V0KHQsbil9fWxldCBQdD1udWxsO2Z1bmN0aW9uIG1pKCl7cmV0dXJuIFB0PT09bnVsbCYmKFB0PW5ldyBkaShbWzEsMTA0LDJdLFsxLDcyLDJdLFsxLDEwMiw2XSxbMSw3MCw2XSxbMiwxMTYsM10sWzIsODQsM10sWzMsMTE2LDRdLFszLDg0LDRdLFs0LDExMiw1XSxbNCw4MCw1XSxbNSwxMTUsOV0sWzUsODMsOV0sWzUsNTgsMTBdLFs2LDEwNSw3XSxbNiw3Myw3XSxbNywxMDgsOF0sWzcsNzYsOF0sWzgsMTAxLDldLFs4LDY5LDldLFs5LDU4LDEwXSxbMTAsNDcsMTFdLFsxMSw0NywxMl1dKSksUHR9bGV0IHplPW51bGw7ZnVuY3Rpb24gZ2koKXtpZih6ZT09PW51bGwpe3plPW5ldyBEdCgwKTtjb25zdCBlPWAgCTw+JyLjgIHjgILvvaHvvaTvvIzvvI7vvJrvvJvigJjjgIjjgIzjgI7jgJTvvIjvvLvvvZvvvaLvvaPvvZ3vvL3vvInjgJXjgI/jgI3jgInigJnvvYDvvZ7igKZgO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKXplLnNldChlLmNoYXJDb2RlQXQobiksMSk7Y29uc3QgdD0iLiw7OiI7Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspemUuc2V0KHQuY2hhckNvZGVBdChuKSwyKX1yZXR1cm4gemV9Y2xhc3Mgb3R7c3RhdGljIF9jcmVhdGVMaW5rKHQsbixyLHMsaSl7bGV0IG89aS0xO2Rve2NvbnN0IGw9bi5jaGFyQ29kZUF0KG8pO2lmKHQuZ2V0KGwpIT09MilicmVhaztvLS19d2hpbGUobz5zKTtpZihzPjApe2NvbnN0IGw9bi5jaGFyQ29kZUF0KHMtMSksdT1uLmNoYXJDb2RlQXQobyk7KGw9PT00MCYmdT09PTQxfHxsPT09OTEmJnU9PT05M3x8bD09PTEyMyYmdT09PTEyNSkmJm8tLX1yZXR1cm57cmFuZ2U6e3N0YXJ0TGluZU51bWJlcjpyLHN0YXJ0Q29sdW1uOnMrMSxlbmRMaW5lTnVtYmVyOnIsZW5kQ29sdW1uOm8rMn0sdXJsOm4uc3Vic3RyaW5nKHMsbysxKX19c3RhdGljIGNvbXB1dGVMaW5rcyh0LG49bWkoKSl7Y29uc3Qgcj1naSgpLHM9W107Zm9yKGxldCBpPTEsbz10LmdldExpbmVDb3VudCgpO2k8PW87aSsrKXtjb25zdCBsPXQuZ2V0TGluZUNvbnRlbnQoaSksdT1sLmxlbmd0aDtsZXQgYz0wLGg9MCxmPTAsZD0xLG09ITEsZz0hMSxwPSExLHY9ITE7Zm9yKDtjPHU7KXtsZXQgTj0hMTtjb25zdCBTPWwuY2hhckNvZGVBdChjKTtpZihkPT09MTMpe2xldCBfO3N3aXRjaChTKXtjYXNlIDQwOm09ITAsXz0wO2JyZWFrO2Nhc2UgNDE6Xz1tPzA6MTticmVhaztjYXNlIDkxOnA9ITAsZz0hMCxfPTA7YnJlYWs7Y2FzZSA5MzpwPSExLF89Zz8wOjE7YnJlYWs7Y2FzZSAxMjM6dj0hMCxfPTA7YnJlYWs7Y2FzZSAxMjU6Xz12PzA6MTticmVhaztjYXNlIDM5OmNhc2UgMzQ6Y2FzZSA5NjpmPT09Uz9fPTE6Zj09PTM5fHxmPT09MzR8fGY9PT05Nj9fPTA6Xz0xO2JyZWFrO2Nhc2UgNDI6Xz1mPT09NDI/MTowO2JyZWFrO2Nhc2UgMTI0Ol89Zj09PTEyND8xOjA7YnJlYWs7Y2FzZSAzMjpfPXA/MDoxO2JyZWFrO2RlZmF1bHQ6Xz1yLmdldChTKX1fPT09MSYmKHMucHVzaChvdC5fY3JlYXRlTGluayhyLGwsaSxoLGMpKSxOPSEwKX1lbHNlIGlmKGQ9PT0xMil7bGV0IF87Uz09PTkxPyhnPSEwLF89MCk6Xz1yLmdldChTKSxfPT09MT9OPSEwOmQ9MTN9ZWxzZSBkPW4ubmV4dFN0YXRlKGQsUyksZD09PTAmJihOPSEwKTtOJiYoZD0xLG09ITEsZz0hMSx2PSExLGg9YysxLGY9UyksYysrfWQ9PT0xMyYmcy5wdXNoKG90Ll9jcmVhdGVMaW5rKHIsbCxpLGgsdSkpfXJldHVybiBzfX1mdW5jdGlvbiBiaShlKXtyZXR1cm4hZXx8dHlwZW9mIGUuZ2V0TGluZUNvdW50IT0iZnVuY3Rpb24ifHx0eXBlb2YgZS5nZXRMaW5lQ29udGVudCE9ImZ1bmN0aW9uIj9bXTpvdC5jb21wdXRlTGlua3MoZSl9Y2xhc3MgRnR7Y29uc3RydWN0b3IoKXt0aGlzLl9kZWZhdWx0VmFsdWVTZXQ9W1sidHJ1ZSIsImZhbHNlIl0sWyJUcnVlIiwiRmFsc2UiXSxbIlByaXZhdGUiLCJQdWJsaWMiLCJGcmllbmQiLCJSZWFkT25seSIsIlBhcnRpYWwiLCJQcm90ZWN0ZWQiLCJXcml0ZU9ubHkiXSxbInB1YmxpYyIsInByb3RlY3RlZCIsInByaXZhdGUiXV19bmF2aWdhdGVWYWx1ZVNldCh0LG4scixzLGkpe2lmKHQmJm4pe2NvbnN0IG89dGhpcy5kb05hdmlnYXRlVmFsdWVTZXQobixpKTtpZihvKXJldHVybntyYW5nZTp0LHZhbHVlOm99fWlmKHImJnMpe2NvbnN0IG89dGhpcy5kb05hdmlnYXRlVmFsdWVTZXQocyxpKTtpZihvKXJldHVybntyYW5nZTpyLHZhbHVlOm99fXJldHVybiBudWxsfWRvTmF2aWdhdGVWYWx1ZVNldCh0LG4pe2NvbnN0IHI9dGhpcy5udW1iZXJSZXBsYWNlKHQsbik7cmV0dXJuIHIhPT1udWxsP3I6dGhpcy50ZXh0UmVwbGFjZSh0LG4pfW51bWJlclJlcGxhY2UodCxuKXtjb25zdCByPU1hdGgucG93KDEwLHQubGVuZ3RoLSh0Lmxhc3RJbmRleE9mKCIuIikrMSkpO2xldCBzPU51bWJlcih0KTtjb25zdCBpPXBhcnNlRmxvYXQodCk7cmV0dXJuIWlzTmFOKHMpJiYhaXNOYU4oaSkmJnM9PT1pP3M9PT0wJiYhbj9udWxsOihzPU1hdGguZmxvb3IocypyKSxzKz1uP3I6LXIsU3RyaW5nKHMvcikpOm51bGx9dGV4dFJlcGxhY2UodCxuKXtyZXR1cm4gdGhpcy52YWx1ZVNldHNSZXBsYWNlKHRoaXMuX2RlZmF1bHRWYWx1ZVNldCx0LG4pfXZhbHVlU2V0c1JlcGxhY2UodCxuLHIpe2xldCBzPW51bGw7Zm9yKGxldCBpPTAsbz10Lmxlbmd0aDtzPT09bnVsbCYmaTxvO2krKylzPXRoaXMudmFsdWVTZXRSZXBsYWNlKHRbaV0sbixyKTtyZXR1cm4gc312YWx1ZVNldFJlcGxhY2UodCxuLHIpe2xldCBzPXQuaW5kZXhPZihuKTtyZXR1cm4gcz49MD8ocys9cj8xOi0xLHM8MD9zPXQubGVuZ3RoLTE6cyU9dC5sZW5ndGgsdFtzXSk6bnVsbH19RnQuSU5TVEFOQ0U9bmV3IEZ0O2NvbnN0IE5uPU9iamVjdC5mcmVlemUoZnVuY3Rpb24oZSx0KXtjb25zdCBuPXNldFRpbWVvdXQoZS5iaW5kKHQpLDApO3JldHVybntkaXNwb3NlKCl7Y2xlYXJUaW1lb3V0KG4pfX19KTt2YXIgbHQ7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQobil7cmV0dXJuIG49PT1lLk5vbmV8fG49PT1lLkNhbmNlbGxlZHx8biBpbnN0YW5jZW9mIHV0PyEwOiFufHx0eXBlb2YgbiE9Im9iamVjdCI/ITE6dHlwZW9mIG4uaXNDYW5jZWxsYXRpb25SZXF1ZXN0ZWQ9PSJib29sZWFuIiYmdHlwZW9mIG4ub25DYW5jZWxsYXRpb25SZXF1ZXN0ZWQ9PSJmdW5jdGlvbiJ9ZS5pc0NhbmNlbGxhdGlvblRva2VuPXQsZS5Ob25lPU9iamVjdC5mcmVlemUoe2lzQ2FuY2VsbGF0aW9uUmVxdWVzdGVkOiExLG9uQ2FuY2VsbGF0aW9uUmVxdWVzdGVkOl90Lk5vbmV9KSxlLkNhbmNlbGxlZD1PYmplY3QuZnJlZXplKHtpc0NhbmNlbGxhdGlvblJlcXVlc3RlZDohMCxvbkNhbmNlbGxhdGlvblJlcXVlc3RlZDpObn0pfSkobHR8fChsdD17fSkpO2NsYXNzIHV0e2NvbnN0cnVjdG9yKCl7dGhpcy5faXNDYW5jZWxsZWQ9ITEsdGhpcy5fZW1pdHRlcj1udWxsfWNhbmNlbCgpe3RoaXMuX2lzQ2FuY2VsbGVkfHwodGhpcy5faXNDYW5jZWxsZWQ9ITAsdGhpcy5fZW1pdHRlciYmKHRoaXMuX2VtaXR0ZXIuZmlyZSh2b2lkIDApLHRoaXMuZGlzcG9zZSgpKSl9Z2V0IGlzQ2FuY2VsbGF0aW9uUmVxdWVzdGVkKCl7cmV0dXJuIHRoaXMuX2lzQ2FuY2VsbGVkfWdldCBvbkNhbmNlbGxhdGlvblJlcXVlc3RlZCgpe3JldHVybiB0aGlzLl9pc0NhbmNlbGxlZD9ObjoodGhpcy5fZW1pdHRlcnx8KHRoaXMuX2VtaXR0ZXI9bmV3IHNlKSx0aGlzLl9lbWl0dGVyLmV2ZW50KX1kaXNwb3NlKCl7dGhpcy5fZW1pdHRlciYmKHRoaXMuX2VtaXR0ZXIuZGlzcG9zZSgpLHRoaXMuX2VtaXR0ZXI9bnVsbCl9fWNsYXNzIF9pe2NvbnN0cnVjdG9yKHQpe3RoaXMuX3Rva2VuPXZvaWQgMCx0aGlzLl9wYXJlbnRMaXN0ZW5lcj12b2lkIDAsdGhpcy5fcGFyZW50TGlzdGVuZXI9dCYmdC5vbkNhbmNlbGxhdGlvblJlcXVlc3RlZCh0aGlzLmNhbmNlbCx0aGlzKX1nZXQgdG9rZW4oKXtyZXR1cm4gdGhpcy5fdG9rZW58fCh0aGlzLl90b2tlbj1uZXcgdXQpLHRoaXMuX3Rva2VufWNhbmNlbCgpe3RoaXMuX3Rva2VuP3RoaXMuX3Rva2VuIGluc3RhbmNlb2YgdXQmJnRoaXMuX3Rva2VuLmNhbmNlbCgpOnRoaXMuX3Rva2VuPWx0LkNhbmNlbGxlZH1kaXNwb3NlKHQ9ITEpe3ZhciBuO3QmJnRoaXMuY2FuY2VsKCksKG49dGhpcy5fcGFyZW50TGlzdGVuZXIpPT09bnVsbHx8bj09PXZvaWQgMHx8bi5kaXNwb3NlKCksdGhpcy5fdG9rZW4/dGhpcy5fdG9rZW4gaW5zdGFuY2VvZiB1dCYmdGhpcy5fdG9rZW4uZGlzcG9zZSgpOnRoaXMuX3Rva2VuPWx0Lk5vbmV9fWNsYXNzIEl0e2NvbnN0cnVjdG9yKCl7dGhpcy5fa2V5Q29kZVRvU3RyPVtdLHRoaXMuX3N0clRvS2V5Q29kZT1PYmplY3QuY3JlYXRlKG51bGwpfWRlZmluZSh0LG4pe3RoaXMuX2tleUNvZGVUb1N0clt0XT1uLHRoaXMuX3N0clRvS2V5Q29kZVtuLnRvTG93ZXJDYXNlKCldPXR9a2V5Q29kZVRvU3RyKHQpe3JldHVybiB0aGlzLl9rZXlDb2RlVG9TdHJbdF19c3RyVG9LZXlDb2RlKHQpe3JldHVybiB0aGlzLl9zdHJUb0tleUNvZGVbdC50b0xvd2VyQ2FzZSgpXXx8MH19Y29uc3QgY3Q9bmV3IEl0LEJ0PW5ldyBJdCxWdD1uZXcgSXQscGk9bmV3IEFycmF5KDIzMCkseGk9T2JqZWN0LmNyZWF0ZShudWxsKSx2aT1PYmplY3QuY3JlYXRlKG51bGwpOyhmdW5jdGlvbigpe2NvbnN0IGU9IiIsdD1bWzEsMCwiTm9uZSIsMCwidW5rbm93biIsMCwiVktfVU5LTk9XTiIsZSxlXSxbMSwxLCJIeXBlciIsMCxlLDAsZSxlLGVdLFsxLDIsIlN1cGVyIiwwLGUsMCxlLGUsZV0sWzEsMywiRm4iLDAsZSwwLGUsZSxlXSxbMSw0LCJGbkxvY2siLDAsZSwwLGUsZSxlXSxbMSw1LCJTdXNwZW5kIiwwLGUsMCxlLGUsZV0sWzEsNiwiUmVzdW1lIiwwLGUsMCxlLGUsZV0sWzEsNywiVHVyYm8iLDAsZSwwLGUsZSxlXSxbMSw4LCJTbGVlcCIsMCxlLDAsIlZLX1NMRUVQIixlLGVdLFsxLDksIldha2VVcCIsMCxlLDAsZSxlLGVdLFswLDEwLCJLZXlBIiwzMSwiQSIsNjUsIlZLX0EiLGUsZV0sWzAsMTEsIktleUIiLDMyLCJCIiw2NiwiVktfQiIsZSxlXSxbMCwxMiwiS2V5QyIsMzMsIkMiLDY3LCJWS19DIixlLGVdLFswLDEzLCJLZXlEIiwzNCwiRCIsNjgsIlZLX0QiLGUsZV0sWzAsMTQsIktleUUiLDM1LCJFIiw2OSwiVktfRSIsZSxlXSxbMCwxNSwiS2V5RiIsMzYsIkYiLDcwLCJWS19GIixlLGVdLFswLDE2LCJLZXlHIiwzNywiRyIsNzEsIlZLX0ciLGUsZV0sWzAsMTcsIktleUgiLDM4LCJIIiw3MiwiVktfSCIsZSxlXSxbMCwxOCwiS2V5SSIsMzksIkkiLDczLCJWS19JIixlLGVdLFswLDE5LCJLZXlKIiw0MCwiSiIsNzQsIlZLX0oiLGUsZV0sWzAsMjAsIktleUsiLDQxLCJLIiw3NSwiVktfSyIsZSxlXSxbMCwyMSwiS2V5TCIsNDIsIkwiLDc2LCJWS19MIixlLGVdLFswLDIyLCJLZXlNIiw0MywiTSIsNzcsIlZLX00iLGUsZV0sWzAsMjMsIktleU4iLDQ0LCJOIiw3OCwiVktfTiIsZSxlXSxbMCwyNCwiS2V5TyIsNDUsIk8iLDc5LCJWS19PIixlLGVdLFswLDI1LCJLZXlQIiw0NiwiUCIsODAsIlZLX1AiLGUsZV0sWzAsMjYsIktleVEiLDQ3LCJRIiw4MSwiVktfUSIsZSxlXSxbMCwyNywiS2V5UiIsNDgsIlIiLDgyLCJWS19SIixlLGVdLFswLDI4LCJLZXlTIiw0OSwiUyIsODMsIlZLX1MiLGUsZV0sWzAsMjksIktleVQiLDUwLCJUIiw4NCwiVktfVCIsZSxlXSxbMCwzMCwiS2V5VSIsNTEsIlUiLDg1LCJWS19VIixlLGVdLFswLDMxLCJLZXlWIiw1MiwiViIsODYsIlZLX1YiLGUsZV0sWzAsMzIsIktleVciLDUzLCJXIiw4NywiVktfVyIsZSxlXSxbMCwzMywiS2V5WCIsNTQsIlgiLDg4LCJWS19YIixlLGVdLFswLDM0LCJLZXlZIiw1NSwiWSIsODksIlZLX1kiLGUsZV0sWzAsMzUsIktleVoiLDU2LCJaIiw5MCwiVktfWiIsZSxlXSxbMCwzNiwiRGlnaXQxIiwyMiwiMSIsNDksIlZLXzEiLGUsZV0sWzAsMzcsIkRpZ2l0MiIsMjMsIjIiLDUwLCJWS18yIixlLGVdLFswLDM4LCJEaWdpdDMiLDI0LCIzIiw1MSwiVktfMyIsZSxlXSxbMCwzOSwiRGlnaXQ0IiwyNSwiNCIsNTIsIlZLXzQiLGUsZV0sWzAsNDAsIkRpZ2l0NSIsMjYsIjUiLDUzLCJWS181IixlLGVdLFswLDQxLCJEaWdpdDYiLDI3LCI2Iiw1NCwiVktfNiIsZSxlXSxbMCw0MiwiRGlnaXQ3IiwyOCwiNyIsNTUsIlZLXzciLGUsZV0sWzAsNDMsIkRpZ2l0OCIsMjksIjgiLDU2LCJWS184IixlLGVdLFswLDQ0LCJEaWdpdDkiLDMwLCI5Iiw1NywiVktfOSIsZSxlXSxbMCw0NSwiRGlnaXQwIiwyMSwiMCIsNDgsIlZLXzAiLGUsZV0sWzEsNDYsIkVudGVyIiwzLCJFbnRlciIsMTMsIlZLX1JFVFVSTiIsZSxlXSxbMSw0NywiRXNjYXBlIiw5LCJFc2NhcGUiLDI3LCJWS19FU0NBUEUiLGUsZV0sWzEsNDgsIkJhY2tzcGFjZSIsMSwiQmFja3NwYWNlIiw4LCJWS19CQUNLIixlLGVdLFsxLDQ5LCJUYWIiLDIsIlRhYiIsOSwiVktfVEFCIixlLGVdLFsxLDUwLCJTcGFjZSIsMTAsIlNwYWNlIiwzMiwiVktfU1BBQ0UiLGUsZV0sWzAsNTEsIk1pbnVzIiw4OCwiLSIsMTg5LCJWS19PRU1fTUlOVVMiLCItIiwiT0VNX01JTlVTIl0sWzAsNTIsIkVxdWFsIiw4NiwiPSIsMTg3LCJWS19PRU1fUExVUyIsIj0iLCJPRU1fUExVUyJdLFswLDUzLCJCcmFja2V0TGVmdCIsOTIsIlsiLDIxOSwiVktfT0VNXzQiLCJbIiwiT0VNXzQiXSxbMCw1NCwiQnJhY2tldFJpZ2h0Iiw5NCwiXSIsMjIxLCJWS19PRU1fNiIsIl0iLCJPRU1fNiJdLFswLDU1LCJCYWNrc2xhc2giLDkzLCJcXCIsMjIwLCJWS19PRU1fNSIsIlxcIiwiT0VNXzUiXSxbMCw1NiwiSW50bEhhc2giLDAsZSwwLGUsZSxlXSxbMCw1NywiU2VtaWNvbG9uIiw4NSwiOyIsMTg2LCJWS19PRU1fMSIsIjsiLCJPRU1fMSJdLFswLDU4LCJRdW90ZSIsOTUsIiciLDIyMiwiVktfT0VNXzciLCInIiwiT0VNXzciXSxbMCw1OSwiQmFja3F1b3RlIiw5MSwiYCIsMTkyLCJWS19PRU1fMyIsImAiLCJPRU1fMyJdLFswLDYwLCJDb21tYSIsODcsIiwiLDE4OCwiVktfT0VNX0NPTU1BIiwiLCIsIk9FTV9DT01NQSJdLFswLDYxLCJQZXJpb2QiLDg5LCIuIiwxOTAsIlZLX09FTV9QRVJJT0QiLCIuIiwiT0VNX1BFUklPRCJdLFswLDYyLCJTbGFzaCIsOTAsIi8iLDE5MSwiVktfT0VNXzIiLCIvIiwiT0VNXzIiXSxbMSw2MywiQ2Fwc0xvY2siLDgsIkNhcHNMb2NrIiwyMCwiVktfQ0FQSVRBTCIsZSxlXSxbMSw2NCwiRjEiLDU5LCJGMSIsMTEyLCJWS19GMSIsZSxlXSxbMSw2NSwiRjIiLDYwLCJGMiIsMTEzLCJWS19GMiIsZSxlXSxbMSw2NiwiRjMiLDYxLCJGMyIsMTE0LCJWS19GMyIsZSxlXSxbMSw2NywiRjQiLDYyLCJGNCIsMTE1LCJWS19GNCIsZSxlXSxbMSw2OCwiRjUiLDYzLCJGNSIsMTE2LCJWS19GNSIsZSxlXSxbMSw2OSwiRjYiLDY0LCJGNiIsMTE3LCJWS19GNiIsZSxlXSxbMSw3MCwiRjciLDY1LCJGNyIsMTE4LCJWS19GNyIsZSxlXSxbMSw3MSwiRjgiLDY2LCJGOCIsMTE5LCJWS19GOCIsZSxlXSxbMSw3MiwiRjkiLDY3LCJGOSIsMTIwLCJWS19GOSIsZSxlXSxbMSw3MywiRjEwIiw2OCwiRjEwIiwxMjEsIlZLX0YxMCIsZSxlXSxbMSw3NCwiRjExIiw2OSwiRjExIiwxMjIsIlZLX0YxMSIsZSxlXSxbMSw3NSwiRjEyIiw3MCwiRjEyIiwxMjMsIlZLX0YxMiIsZSxlXSxbMSw3NiwiUHJpbnRTY3JlZW4iLDAsZSwwLGUsZSxlXSxbMSw3NywiU2Nyb2xsTG9jayIsODQsIlNjcm9sbExvY2siLDE0NSwiVktfU0NST0xMIixlLGVdLFsxLDc4LCJQYXVzZSIsNywiUGF1c2VCcmVhayIsMTksIlZLX1BBVVNFIixlLGVdLFsxLDc5LCJJbnNlcnQiLDE5LCJJbnNlcnQiLDQ1LCJWS19JTlNFUlQiLGUsZV0sWzEsODAsIkhvbWUiLDE0LCJIb21lIiwzNiwiVktfSE9NRSIsZSxlXSxbMSw4MSwiUGFnZVVwIiwxMSwiUGFnZVVwIiwzMywiVktfUFJJT1IiLGUsZV0sWzEsODIsIkRlbGV0ZSIsMjAsIkRlbGV0ZSIsNDYsIlZLX0RFTEVURSIsZSxlXSxbMSw4MywiRW5kIiwxMywiRW5kIiwzNSwiVktfRU5EIixlLGVdLFsxLDg0LCJQYWdlRG93biIsMTIsIlBhZ2VEb3duIiwzNCwiVktfTkVYVCIsZSxlXSxbMSw4NSwiQXJyb3dSaWdodCIsMTcsIlJpZ2h0QXJyb3ciLDM5LCJWS19SSUdIVCIsIlJpZ2h0IixlXSxbMSw4NiwiQXJyb3dMZWZ0IiwxNSwiTGVmdEFycm93IiwzNywiVktfTEVGVCIsIkxlZnQiLGVdLFsxLDg3LCJBcnJvd0Rvd24iLDE4LCJEb3duQXJyb3ciLDQwLCJWS19ET1dOIiwiRG93biIsZV0sWzEsODgsIkFycm93VXAiLDE2LCJVcEFycm93IiwzOCwiVktfVVAiLCJVcCIsZV0sWzEsODksIk51bUxvY2siLDgzLCJOdW1Mb2NrIiwxNDQsIlZLX05VTUxPQ0siLGUsZV0sWzEsOTAsIk51bXBhZERpdmlkZSIsMTEzLCJOdW1QYWRfRGl2aWRlIiwxMTEsIlZLX0RJVklERSIsZSxlXSxbMSw5MSwiTnVtcGFkTXVsdGlwbHkiLDEwOCwiTnVtUGFkX011bHRpcGx5IiwxMDYsIlZLX01VTFRJUExZIixlLGVdLFsxLDkyLCJOdW1wYWRTdWJ0cmFjdCIsMTExLCJOdW1QYWRfU3VidHJhY3QiLDEwOSwiVktfU1VCVFJBQ1QiLGUsZV0sWzEsOTMsIk51bXBhZEFkZCIsMTA5LCJOdW1QYWRfQWRkIiwxMDcsIlZLX0FERCIsZSxlXSxbMSw5NCwiTnVtcGFkRW50ZXIiLDMsZSwwLGUsZSxlXSxbMSw5NSwiTnVtcGFkMSIsOTksIk51bVBhZDEiLDk3LCJWS19OVU1QQUQxIixlLGVdLFsxLDk2LCJOdW1wYWQyIiwxMDAsIk51bVBhZDIiLDk4LCJWS19OVU1QQUQyIixlLGVdLFsxLDk3LCJOdW1wYWQzIiwxMDEsIk51bVBhZDMiLDk5LCJWS19OVU1QQUQzIixlLGVdLFsxLDk4LCJOdW1wYWQ0IiwxMDIsIk51bVBhZDQiLDEwMCwiVktfTlVNUEFENCIsZSxlXSxbMSw5OSwiTnVtcGFkNSIsMTAzLCJOdW1QYWQ1IiwxMDEsIlZLX05VTVBBRDUiLGUsZV0sWzEsMTAwLCJOdW1wYWQ2IiwxMDQsIk51bVBhZDYiLDEwMiwiVktfTlVNUEFENiIsZSxlXSxbMSwxMDEsIk51bXBhZDciLDEwNSwiTnVtUGFkNyIsMTAzLCJWS19OVU1QQUQ3IixlLGVdLFsxLDEwMiwiTnVtcGFkOCIsMTA2LCJOdW1QYWQ4IiwxMDQsIlZLX05VTVBBRDgiLGUsZV0sWzEsMTAzLCJOdW1wYWQ5IiwxMDcsIk51bVBhZDkiLDEwNSwiVktfTlVNUEFEOSIsZSxlXSxbMSwxMDQsIk51bXBhZDAiLDk4LCJOdW1QYWQwIiw5NiwiVktfTlVNUEFEMCIsZSxlXSxbMSwxMDUsIk51bXBhZERlY2ltYWwiLDExMiwiTnVtUGFkX0RlY2ltYWwiLDExMCwiVktfREVDSU1BTCIsZSxlXSxbMCwxMDYsIkludGxCYWNrc2xhc2giLDk3LCJPRU1fMTAyIiwyMjYsIlZLX09FTV8xMDIiLGUsZV0sWzEsMTA3LCJDb250ZXh0TWVudSIsNTgsIkNvbnRleHRNZW51Iiw5MyxlLGUsZV0sWzEsMTA4LCJQb3dlciIsMCxlLDAsZSxlLGVdLFsxLDEwOSwiTnVtcGFkRXF1YWwiLDAsZSwwLGUsZSxlXSxbMSwxMTAsIkYxMyIsNzEsIkYxMyIsMTI0LCJWS19GMTMiLGUsZV0sWzEsMTExLCJGMTQiLDcyLCJGMTQiLDEyNSwiVktfRjE0IixlLGVdLFsxLDExMiwiRjE1Iiw3MywiRjE1IiwxMjYsIlZLX0YxNSIsZSxlXSxbMSwxMTMsIkYxNiIsNzQsIkYxNiIsMTI3LCJWS19GMTYiLGUsZV0sWzEsMTE0LCJGMTciLDc1LCJGMTciLDEyOCwiVktfRjE3IixlLGVdLFsxLDExNSwiRjE4Iiw3NiwiRjE4IiwxMjksIlZLX0YxOCIsZSxlXSxbMSwxMTYsIkYxOSIsNzcsIkYxOSIsMTMwLCJWS19GMTkiLGUsZV0sWzEsMTE3LCJGMjAiLDc4LCJGMjAiLDEzMSwiVktfRjIwIixlLGVdLFsxLDExOCwiRjIxIiw3OSwiRjIxIiwxMzIsIlZLX0YyMSIsZSxlXSxbMSwxMTksIkYyMiIsODAsIkYyMiIsMTMzLCJWS19GMjIiLGUsZV0sWzEsMTIwLCJGMjMiLDgxLCJGMjMiLDEzNCwiVktfRjIzIixlLGVdLFsxLDEyMSwiRjI0Iiw4MiwiRjI0IiwxMzUsIlZLX0YyNCIsZSxlXSxbMSwxMjIsIk9wZW4iLDAsZSwwLGUsZSxlXSxbMSwxMjMsIkhlbHAiLDAsZSwwLGUsZSxlXSxbMSwxMjQsIlNlbGVjdCIsMCxlLDAsZSxlLGVdLFsxLDEyNSwiQWdhaW4iLDAsZSwwLGUsZSxlXSxbMSwxMjYsIlVuZG8iLDAsZSwwLGUsZSxlXSxbMSwxMjcsIkN1dCIsMCxlLDAsZSxlLGVdLFsxLDEyOCwiQ29weSIsMCxlLDAsZSxlLGVdLFsxLDEyOSwiUGFzdGUiLDAsZSwwLGUsZSxlXSxbMSwxMzAsIkZpbmQiLDAsZSwwLGUsZSxlXSxbMSwxMzEsIkF1ZGlvVm9sdW1lTXV0ZSIsMTE3LCJBdWRpb1ZvbHVtZU11dGUiLDE3MywiVktfVk9MVU1FX01VVEUiLGUsZV0sWzEsMTMyLCJBdWRpb1ZvbHVtZVVwIiwxMTgsIkF1ZGlvVm9sdW1lVXAiLDE3NSwiVktfVk9MVU1FX1VQIixlLGVdLFsxLDEzMywiQXVkaW9Wb2x1bWVEb3duIiwxMTksIkF1ZGlvVm9sdW1lRG93biIsMTc0LCJWS19WT0xVTUVfRE9XTiIsZSxlXSxbMSwxMzQsIk51bXBhZENvbW1hIiwxMTAsIk51bVBhZF9TZXBhcmF0b3IiLDEwOCwiVktfU0VQQVJBVE9SIixlLGVdLFswLDEzNSwiSW50bFJvIiwxMTUsIkFCTlRfQzEiLDE5MywiVktfQUJOVF9DMSIsZSxlXSxbMSwxMzYsIkthbmFNb2RlIiwwLGUsMCxlLGUsZV0sWzAsMTM3LCJJbnRsWWVuIiwwLGUsMCxlLGUsZV0sWzEsMTM4LCJDb252ZXJ0IiwwLGUsMCxlLGUsZV0sWzEsMTM5LCJOb25Db252ZXJ0IiwwLGUsMCxlLGUsZV0sWzEsMTQwLCJMYW5nMSIsMCxlLDAsZSxlLGVdLFsxLDE0MSwiTGFuZzIiLDAsZSwwLGUsZSxlXSxbMSwxNDIsIkxhbmczIiwwLGUsMCxlLGUsZV0sWzEsMTQzLCJMYW5nNCIsMCxlLDAsZSxlLGVdLFsxLDE0NCwiTGFuZzUiLDAsZSwwLGUsZSxlXSxbMSwxNDUsIkFib3J0IiwwLGUsMCxlLGUsZV0sWzEsMTQ2LCJQcm9wcyIsMCxlLDAsZSxlLGVdLFsxLDE0NywiTnVtcGFkUGFyZW5MZWZ0IiwwLGUsMCxlLGUsZV0sWzEsMTQ4LCJOdW1wYWRQYXJlblJpZ2h0IiwwLGUsMCxlLGUsZV0sWzEsMTQ5LCJOdW1wYWRCYWNrc3BhY2UiLDAsZSwwLGUsZSxlXSxbMSwxNTAsIk51bXBhZE1lbW9yeVN0b3JlIiwwLGUsMCxlLGUsZV0sWzEsMTUxLCJOdW1wYWRNZW1vcnlSZWNhbGwiLDAsZSwwLGUsZSxlXSxbMSwxNTIsIk51bXBhZE1lbW9yeUNsZWFyIiwwLGUsMCxlLGUsZV0sWzEsMTUzLCJOdW1wYWRNZW1vcnlBZGQiLDAsZSwwLGUsZSxlXSxbMSwxNTQsIk51bXBhZE1lbW9yeVN1YnRyYWN0IiwwLGUsMCxlLGUsZV0sWzEsMTU1LCJOdW1wYWRDbGVhciIsMTMxLCJDbGVhciIsMTIsIlZLX0NMRUFSIixlLGVdLFsxLDE1NiwiTnVtcGFkQ2xlYXJFbnRyeSIsMCxlLDAsZSxlLGVdLFsxLDAsZSw1LCJDdHJsIiwxNywiVktfQ09OVFJPTCIsZSxlXSxbMSwwLGUsNCwiU2hpZnQiLDE2LCJWS19TSElGVCIsZSxlXSxbMSwwLGUsNiwiQWx0IiwxOCwiVktfTUVOVSIsZSxlXSxbMSwwLGUsNTcsIk1ldGEiLDkxLCJWS19DT01NQU5EIixlLGVdLFsxLDE1NywiQ29udHJvbExlZnQiLDUsZSwwLCJWS19MQ09OVFJPTCIsZSxlXSxbMSwxNTgsIlNoaWZ0TGVmdCIsNCxlLDAsIlZLX0xTSElGVCIsZSxlXSxbMSwxNTksIkFsdExlZnQiLDYsZSwwLCJWS19MTUVOVSIsZSxlXSxbMSwxNjAsIk1ldGFMZWZ0Iiw1NyxlLDAsIlZLX0xXSU4iLGUsZV0sWzEsMTYxLCJDb250cm9sUmlnaHQiLDUsZSwwLCJWS19SQ09OVFJPTCIsZSxlXSxbMSwxNjIsIlNoaWZ0UmlnaHQiLDQsZSwwLCJWS19SU0hJRlQiLGUsZV0sWzEsMTYzLCJBbHRSaWdodCIsNixlLDAsIlZLX1JNRU5VIixlLGVdLFsxLDE2NCwiTWV0YVJpZ2h0Iiw1NyxlLDAsIlZLX1JXSU4iLGUsZV0sWzEsMTY1LCJCcmlnaHRuZXNzVXAiLDAsZSwwLGUsZSxlXSxbMSwxNjYsIkJyaWdodG5lc3NEb3duIiwwLGUsMCxlLGUsZV0sWzEsMTY3LCJNZWRpYVBsYXkiLDAsZSwwLGUsZSxlXSxbMSwxNjgsIk1lZGlhUmVjb3JkIiwwLGUsMCxlLGUsZV0sWzEsMTY5LCJNZWRpYUZhc3RGb3J3YXJkIiwwLGUsMCxlLGUsZV0sWzEsMTcwLCJNZWRpYVJld2luZCIsMCxlLDAsZSxlLGVdLFsxLDE3MSwiTWVkaWFUcmFja05leHQiLDEyNCwiTWVkaWFUcmFja05leHQiLDE3NiwiVktfTUVESUFfTkVYVF9UUkFDSyIsZSxlXSxbMSwxNzIsIk1lZGlhVHJhY2tQcmV2aW91cyIsMTI1LCJNZWRpYVRyYWNrUHJldmlvdXMiLDE3NywiVktfTUVESUFfUFJFVl9UUkFDSyIsZSxlXSxbMSwxNzMsIk1lZGlhU3RvcCIsMTI2LCJNZWRpYVN0b3AiLDE3OCwiVktfTUVESUFfU1RPUCIsZSxlXSxbMSwxNzQsIkVqZWN0IiwwLGUsMCxlLGUsZV0sWzEsMTc1LCJNZWRpYVBsYXlQYXVzZSIsMTI3LCJNZWRpYVBsYXlQYXVzZSIsMTc5LCJWS19NRURJQV9QTEFZX1BBVVNFIixlLGVdLFsxLDE3NiwiTWVkaWFTZWxlY3QiLDEyOCwiTGF1bmNoTWVkaWFQbGF5ZXIiLDE4MSwiVktfTUVESUFfTEFVTkNIX01FRElBX1NFTEVDVCIsZSxlXSxbMSwxNzcsIkxhdW5jaE1haWwiLDEyOSwiTGF1bmNoTWFpbCIsMTgwLCJWS19NRURJQV9MQVVOQ0hfTUFJTCIsZSxlXSxbMSwxNzgsIkxhdW5jaEFwcDIiLDEzMCwiTGF1bmNoQXBwMiIsMTgzLCJWS19NRURJQV9MQVVOQ0hfQVBQMiIsZSxlXSxbMSwxNzksIkxhdW5jaEFwcDEiLDAsZSwwLCJWS19NRURJQV9MQVVOQ0hfQVBQMSIsZSxlXSxbMSwxODAsIlNlbGVjdFRhc2siLDAsZSwwLGUsZSxlXSxbMSwxODEsIkxhdW5jaFNjcmVlblNhdmVyIiwwLGUsMCxlLGUsZV0sWzEsMTgyLCJCcm93c2VyU2VhcmNoIiwxMjAsIkJyb3dzZXJTZWFyY2giLDE3MCwiVktfQlJPV1NFUl9TRUFSQ0giLGUsZV0sWzEsMTgzLCJCcm93c2VySG9tZSIsMTIxLCJCcm93c2VySG9tZSIsMTcyLCJWS19CUk9XU0VSX0hPTUUiLGUsZV0sWzEsMTg0LCJCcm93c2VyQmFjayIsMTIyLCJCcm93c2VyQmFjayIsMTY2LCJWS19CUk9XU0VSX0JBQ0siLGUsZV0sWzEsMTg1LCJCcm93c2VyRm9yd2FyZCIsMTIzLCJCcm93c2VyRm9yd2FyZCIsMTY3LCJWS19CUk9XU0VSX0ZPUldBUkQiLGUsZV0sWzEsMTg2LCJCcm93c2VyU3RvcCIsMCxlLDAsIlZLX0JST1dTRVJfU1RPUCIsZSxlXSxbMSwxODcsIkJyb3dzZXJSZWZyZXNoIiwwLGUsMCwiVktfQlJPV1NFUl9SRUZSRVNIIixlLGVdLFsxLDE4OCwiQnJvd3NlckZhdm9yaXRlcyIsMCxlLDAsIlZLX0JST1dTRVJfRkFWT1JJVEVTIixlLGVdLFsxLDE4OSwiWm9vbVRvZ2dsZSIsMCxlLDAsZSxlLGVdLFsxLDE5MCwiTWFpbFJlcGx5IiwwLGUsMCxlLGUsZV0sWzEsMTkxLCJNYWlsRm9yd2FyZCIsMCxlLDAsZSxlLGVdLFsxLDE5MiwiTWFpbFNlbmQiLDAsZSwwLGUsZSxlXSxbMSwwLGUsMTE0LCJLZXlJbkNvbXBvc2l0aW9uIiwyMjksZSxlLGVdLFsxLDAsZSwxMTYsIkFCTlRfQzIiLDE5NCwiVktfQUJOVF9DMiIsZSxlXSxbMSwwLGUsOTYsIk9FTV84IiwyMjMsIlZLX09FTV84IixlLGVdLFsxLDAsZSwwLGUsMCwiVktfS0FOQSIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX0hBTkdVTCIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX0pVTkpBIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfRklOQUwiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19IQU5KQSIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX0tBTkpJIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfQ09OVkVSVCIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX05PTkNPTlZFUlQiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19BQ0NFUFQiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19NT0RFQ0hBTkdFIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfU0VMRUNUIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfUFJJTlQiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19FWEVDVVRFIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfU05BUFNIT1QiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19IRUxQIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfQVBQUyIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX1BST0NFU1NLRVkiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19QQUNLRVQiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19EQkVfU0JDU0NIQVIiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19EQkVfREJDU0NIQVIiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19BVFROIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfQ1JTRUwiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19FWFNFTCIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX0VSRU9GIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfUExBWSIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX1pPT00iLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19OT05BTUUiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19QQTEiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19PRU1fQ0xFQVIiLGUsZV1dLG49W10scj1bXTtmb3IoY29uc3QgcyBvZiB0KXtjb25zdFtpLG8sbCx1LGMsaCxmLGQsbV09cztpZihyW29dfHwocltvXT0hMCx4aVtsXT1vLHZpW2wudG9Mb3dlckNhc2UoKV09byksIW5bdV0pe2lmKG5bdV09ITAsIWMpdGhyb3cgbmV3IEVycm9yKGBTdHJpbmcgcmVwcmVzZW50YXRpb24gbWlzc2luZyBmb3Iga2V5IGNvZGUgJHt1fSBhcm91bmQgc2NhbiBjb2RlICR7bH1gKTtjdC5kZWZpbmUodSxjKSxCdC5kZWZpbmUodSxkfHxjKSxWdC5kZWZpbmUodSxtfHxkfHxjKX1oJiYocGlbaF09dSl9fSkoKTt2YXIgU247KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQobCl7cmV0dXJuIGN0LmtleUNvZGVUb1N0cihsKX1lLnRvU3RyaW5nPXQ7ZnVuY3Rpb24gbihsKXtyZXR1cm4gY3Quc3RyVG9LZXlDb2RlKGwpfWUuZnJvbVN0cmluZz1uO2Z1bmN0aW9uIHIobCl7cmV0dXJuIEJ0LmtleUNvZGVUb1N0cihsKX1lLnRvVXNlclNldHRpbmdzVVM9cjtmdW5jdGlvbiBzKGwpe3JldHVybiBWdC5rZXlDb2RlVG9TdHIobCl9ZS50b1VzZXJTZXR0aW5nc0dlbmVyYWw9cztmdW5jdGlvbiBpKGwpe3JldHVybiBCdC5zdHJUb0tleUNvZGUobCl8fFZ0LnN0clRvS2V5Q29kZShsKX1lLmZyb21Vc2VyU2V0dGluZ3M9aTtmdW5jdGlvbiBvKGwpe2lmKGw+PTk4JiZsPD0xMTMpcmV0dXJuIG51bGw7c3dpdGNoKGwpe2Nhc2UgMTY6cmV0dXJuIlVwIjtjYXNlIDE4OnJldHVybiJEb3duIjtjYXNlIDE1OnJldHVybiJMZWZ0IjtjYXNlIDE3OnJldHVybiJSaWdodCJ9cmV0dXJuIGN0LmtleUNvZGVUb1N0cihsKX1lLnRvRWxlY3Ryb25BY2NlbGVyYXRvcj1vfSkoU258fChTbj17fSkpO2Z1bmN0aW9uIExpKGUsdCl7Y29uc3Qgbj0odCY2NTUzNSk8PDE2Pj4+MDtyZXR1cm4oZXxuKT4+PjB9Y2xhc3MgdGUgZXh0ZW5kcyBEe2NvbnN0cnVjdG9yKHQsbixyLHMpe3N1cGVyKHQsbixyLHMpLHRoaXMuc2VsZWN0aW9uU3RhcnRMaW5lTnVtYmVyPXQsdGhpcy5zZWxlY3Rpb25TdGFydENvbHVtbj1uLHRoaXMucG9zaXRpb25MaW5lTnVtYmVyPXIsdGhpcy5wb3NpdGlvbkNvbHVtbj1zfXRvU3RyaW5nKCl7cmV0dXJuIlsiK3RoaXMuc2VsZWN0aW9uU3RhcnRMaW5lTnVtYmVyKyIsIit0aGlzLnNlbGVjdGlvblN0YXJ0Q29sdW1uKyIgLT4gIit0aGlzLnBvc2l0aW9uTGluZU51bWJlcisiLCIrdGhpcy5wb3NpdGlvbkNvbHVtbisiXSJ9ZXF1YWxzU2VsZWN0aW9uKHQpe3JldHVybiB0ZS5zZWxlY3Rpb25zRXF1YWwodGhpcyx0KX1zdGF0aWMgc2VsZWN0aW9uc0VxdWFsKHQsbil7cmV0dXJuIHQuc2VsZWN0aW9uU3RhcnRMaW5lTnVtYmVyPT09bi5zZWxlY3Rpb25TdGFydExpbmVOdW1iZXImJnQuc2VsZWN0aW9uU3RhcnRDb2x1bW49PT1uLnNlbGVjdGlvblN0YXJ0Q29sdW1uJiZ0LnBvc2l0aW9uTGluZU51bWJlcj09PW4ucG9zaXRpb25MaW5lTnVtYmVyJiZ0LnBvc2l0aW9uQ29sdW1uPT09bi5wb3NpdGlvbkNvbHVtbn1nZXREaXJlY3Rpb24oKXtyZXR1cm4gdGhpcy5zZWxlY3Rpb25TdGFydExpbmVOdW1iZXI9PT10aGlzLnN0YXJ0TGluZU51bWJlciYmdGhpcy5zZWxlY3Rpb25TdGFydENvbHVtbj09PXRoaXMuc3RhcnRDb2x1bW4/MDoxfXNldEVuZFBvc2l0aW9uKHQsbil7cmV0dXJuIHRoaXMuZ2V0RGlyZWN0aW9uKCk9PT0wP25ldyB0ZSh0aGlzLnN0YXJ0TGluZU51bWJlcix0aGlzLnN0YXJ0Q29sdW1uLHQsbik6bmV3IHRlKHQsbix0aGlzLnN0YXJ0TGluZU51bWJlcix0aGlzLnN0YXJ0Q29sdW1uKX1nZXRQb3NpdGlvbigpe3JldHVybiBuZXcgSih0aGlzLnBvc2l0aW9uTGluZU51bWJlcix0aGlzLnBvc2l0aW9uQ29sdW1uKX1nZXRTZWxlY3Rpb25TdGFydCgpe3JldHVybiBuZXcgSih0aGlzLnNlbGVjdGlvblN0YXJ0TGluZU51bWJlcix0aGlzLnNlbGVjdGlvblN0YXJ0Q29sdW1uKX1zZXRTdGFydFBvc2l0aW9uKHQsbil7cmV0dXJuIHRoaXMuZ2V0RGlyZWN0aW9uKCk9PT0wP25ldyB0ZSh0LG4sdGhpcy5lbmRMaW5lTnVtYmVyLHRoaXMuZW5kQ29sdW1uKTpuZXcgdGUodGhpcy5lbmRMaW5lTnVtYmVyLHRoaXMuZW5kQ29sdW1uLHQsbil9c3RhdGljIGZyb21Qb3NpdGlvbnModCxuPXQpe3JldHVybiBuZXcgdGUodC5saW5lTnVtYmVyLHQuY29sdW1uLG4ubGluZU51bWJlcixuLmNvbHVtbil9c3RhdGljIGZyb21SYW5nZSh0LG4pe3JldHVybiBuPT09MD9uZXcgdGUodC5zdGFydExpbmVOdW1iZXIsdC5zdGFydENvbHVtbix0LmVuZExpbmVOdW1iZXIsdC5lbmRDb2x1bW4pOm5ldyB0ZSh0LmVuZExpbmVOdW1iZXIsdC5lbmRDb2x1bW4sdC5zdGFydExpbmVOdW1iZXIsdC5zdGFydENvbHVtbil9c3RhdGljIGxpZnRTZWxlY3Rpb24odCl7cmV0dXJuIG5ldyB0ZSh0LnNlbGVjdGlvblN0YXJ0TGluZU51bWJlcix0LnNlbGVjdGlvblN0YXJ0Q29sdW1uLHQucG9zaXRpb25MaW5lTnVtYmVyLHQucG9zaXRpb25Db2x1bW4pfXN0YXRpYyBzZWxlY3Rpb25zQXJyRXF1YWwodCxuKXtpZih0JiYhbnx8IXQmJm4pcmV0dXJuITE7aWYoIXQmJiFuKXJldHVybiEwO2lmKHQubGVuZ3RoIT09bi5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCByPTAscz10Lmxlbmd0aDtyPHM7cisrKWlmKCF0aGlzLnNlbGVjdGlvbnNFcXVhbCh0W3JdLG5bcl0pKXJldHVybiExO3JldHVybiEwfXN0YXRpYyBpc0lTZWxlY3Rpb24odCl7cmV0dXJuIHQmJnR5cGVvZiB0LnNlbGVjdGlvblN0YXJ0TGluZU51bWJlcj09Im51bWJlciImJnR5cGVvZiB0LnNlbGVjdGlvblN0YXJ0Q29sdW1uPT0ibnVtYmVyIiYmdHlwZW9mIHQucG9zaXRpb25MaW5lTnVtYmVyPT0ibnVtYmVyIiYmdHlwZW9mIHQucG9zaXRpb25Db2x1bW49PSJudW1iZXIifXN0YXRpYyBjcmVhdGVXaXRoRGlyZWN0aW9uKHQsbixyLHMsaSl7cmV0dXJuIGk9PT0wP25ldyB0ZSh0LG4scixzKTpuZXcgdGUocixzLHQsbil9fWNvbnN0IEFuPU9iamVjdC5jcmVhdGUobnVsbCk7ZnVuY3Rpb24gYShlLHQpe2lmKG9zKHQpKXtjb25zdCBuPUFuW3RdO2lmKG49PT12b2lkIDApdGhyb3cgbmV3IEVycm9yKGAke2V9IHJlZmVyZW5jZXMgYW4gdW5rbm93biBjb2RpY29uOiAke3R9YCk7dD1ufXJldHVybiBBbltlXT10LHtpZDplfX1jb25zdCB3aT17YWRkOmEoImFkZCIsNmU0KSxwbHVzOmEoInBsdXMiLDZlNCksZ2lzdE5ldzphKCJnaXN0LW5ldyIsNmU0KSxyZXBvQ3JlYXRlOmEoInJlcG8tY3JlYXRlIiw2ZTQpLGxpZ2h0YnVsYjphKCJsaWdodGJ1bGIiLDYwMDAxKSxsaWdodEJ1bGI6YSgibGlnaHQtYnVsYiIsNjAwMDEpLHJlcG86YSgicmVwbyIsNjAwMDIpLHJlcG9EZWxldGU6YSgicmVwby1kZWxldGUiLDYwMDAyKSxnaXN0Rm9yazphKCJnaXN0LWZvcmsiLDYwMDAzKSxyZXBvRm9ya2VkOmEoInJlcG8tZm9ya2VkIiw2MDAwMyksZ2l0UHVsbFJlcXVlc3Q6YSgiZ2l0LXB1bGwtcmVxdWVzdCIsNjAwMDQpLGdpdFB1bGxSZXF1ZXN0QWJhbmRvbmVkOmEoImdpdC1wdWxsLXJlcXVlc3QtYWJhbmRvbmVkIiw2MDAwNCkscmVjb3JkS2V5czphKCJyZWNvcmQta2V5cyIsNjAwMDUpLGtleWJvYXJkOmEoImtleWJvYXJkIiw2MDAwNSksdGFnOmEoInRhZyIsNjAwMDYpLGdpdFB1bGxSZXF1ZXN0TGFiZWw6YSgiZ2l0LXB1bGwtcmVxdWVzdC1sYWJlbCIsNjAwMDYpLHRhZ0FkZDphKCJ0YWctYWRkIiw2MDAwNiksdGFnUmVtb3ZlOmEoInRhZy1yZW1vdmUiLDYwMDA2KSxwZXJzb246YSgicGVyc29uIiw2MDAwNykscGVyc29uRm9sbG93OmEoInBlcnNvbi1mb2xsb3ciLDYwMDA3KSxwZXJzb25PdXRsaW5lOmEoInBlcnNvbi1vdXRsaW5lIiw2MDAwNykscGVyc29uRmlsbGVkOmEoInBlcnNvbi1maWxsZWQiLDYwMDA3KSxnaXRCcmFuY2g6YSgiZ2l0LWJyYW5jaCIsNjAwMDgpLGdpdEJyYW5jaENyZWF0ZTphKCJnaXQtYnJhbmNoLWNyZWF0ZSIsNjAwMDgpLGdpdEJyYW5jaERlbGV0ZTphKCJnaXQtYnJhbmNoLWRlbGV0ZSIsNjAwMDgpLHNvdXJjZUNvbnRyb2w6YSgic291cmNlLWNvbnRyb2wiLDYwMDA4KSxtaXJyb3I6YSgibWlycm9yIiw2MDAwOSksbWlycm9yUHVibGljOmEoIm1pcnJvci1wdWJsaWMiLDYwMDA5KSxzdGFyOmEoInN0YXIiLDYwMDEwKSxzdGFyQWRkOmEoInN0YXItYWRkIiw2MDAxMCksc3RhckRlbGV0ZTphKCJzdGFyLWRlbGV0ZSIsNjAwMTApLHN0YXJFbXB0eTphKCJzdGFyLWVtcHR5Iiw2MDAxMCksY29tbWVudDphKCJjb21tZW50Iiw2MDAxMSksY29tbWVudEFkZDphKCJjb21tZW50LWFkZCIsNjAwMTEpLGFsZXJ0OmEoImFsZXJ0Iiw2MDAxMiksd2FybmluZzphKCJ3YXJuaW5nIiw2MDAxMiksc2VhcmNoOmEoInNlYXJjaCIsNjAwMTMpLHNlYXJjaFNhdmU6YSgic2VhcmNoLXNhdmUiLDYwMDEzKSxsb2dPdXQ6YSgibG9nLW91dCIsNjAwMTQpLHNpZ25PdXQ6YSgic2lnbi1vdXQiLDYwMDE0KSxsb2dJbjphKCJsb2ctaW4iLDYwMDE1KSxzaWduSW46YSgic2lnbi1pbiIsNjAwMTUpLGV5ZTphKCJleWUiLDYwMDE2KSxleWVVbndhdGNoOmEoImV5ZS11bndhdGNoIiw2MDAxNiksZXllV2F0Y2g6YSgiZXllLXdhdGNoIiw2MDAxNiksY2lyY2xlRmlsbGVkOmEoImNpcmNsZS1maWxsZWQiLDYwMDE3KSxwcmltaXRpdmVEb3Q6YSgicHJpbWl0aXZlLWRvdCIsNjAwMTcpLGNsb3NlRGlydHk6YSgiY2xvc2UtZGlydHkiLDYwMDE3KSxkZWJ1Z0JyZWFrcG9pbnQ6YSgiZGVidWctYnJlYWtwb2ludCIsNjAwMTcpLGRlYnVnQnJlYWtwb2ludERpc2FibGVkOmEoImRlYnVnLWJyZWFrcG9pbnQtZGlzYWJsZWQiLDYwMDE3KSxkZWJ1Z0hpbnQ6YSgiZGVidWctaGludCIsNjAwMTcpLHRlcm1pbmFsRGVjb3JhdGlvblN1Y2Nlc3M6YSgidGVybWluYWwtZGVjb3JhdGlvbi1zdWNjZXNzIiw2MDAxNykscHJpbWl0aXZlU3F1YXJlOmEoInByaW1pdGl2ZS1zcXVhcmUiLDYwMDE4KSxlZGl0OmEoImVkaXQiLDYwMDE5KSxwZW5jaWw6YSgicGVuY2lsIiw2MDAxOSksaW5mbzphKCJpbmZvIiw2MDAyMCksaXNzdWVPcGVuZWQ6YSgiaXNzdWUtb3BlbmVkIiw2MDAyMCksZ2lzdFByaXZhdGU6YSgiZ2lzdC1wcml2YXRlIiw2MDAyMSksZ2l0Rm9ya1ByaXZhdGU6YSgiZ2l0LWZvcmstcHJpdmF0ZSIsNjAwMjEpLGxvY2s6YSgibG9jayIsNjAwMjEpLG1pcnJvclByaXZhdGU6YSgibWlycm9yLXByaXZhdGUiLDYwMDIxKSxjbG9zZTphKCJjbG9zZSIsNjAwMjIpLHJlbW92ZUNsb3NlOmEoInJlbW92ZS1jbG9zZSIsNjAwMjIpLHg6YSgieCIsNjAwMjIpLHJlcG9TeW5jOmEoInJlcG8tc3luYyIsNjAwMjMpLHN5bmM6YSgic3luYyIsNjAwMjMpLGNsb25lOmEoImNsb25lIiw2MDAyNCksZGVza3RvcERvd25sb2FkOmEoImRlc2t0b3AtZG93bmxvYWQiLDYwMDI0KSxiZWFrZXI6YSgiYmVha2VyIiw2MDAyNSksbWljcm9zY29wZTphKCJtaWNyb3Njb3BlIiw2MDAyNSksdm06YSgidm0iLDYwMDI2KSxkZXZpY2VEZXNrdG9wOmEoImRldmljZS1kZXNrdG9wIiw2MDAyNiksZmlsZTphKCJmaWxlIiw2MDAyNyksZmlsZVRleHQ6YSgiZmlsZS10ZXh0Iiw2MDAyNyksbW9yZTphKCJtb3JlIiw2MDAyOCksZWxsaXBzaXM6YSgiZWxsaXBzaXMiLDYwMDI4KSxrZWJhYkhvcml6b250YWw6YSgia2ViYWItaG9yaXpvbnRhbCIsNjAwMjgpLG1haWxSZXBseTphKCJtYWlsLXJlcGx5Iiw2MDAyOSkscmVwbHk6YSgicmVwbHkiLDYwMDI5KSxvcmdhbml6YXRpb246YSgib3JnYW5pemF0aW9uIiw2MDAzMCksb3JnYW5pemF0aW9uRmlsbGVkOmEoIm9yZ2FuaXphdGlvbi1maWxsZWQiLDYwMDMwKSxvcmdhbml6YXRpb25PdXRsaW5lOmEoIm9yZ2FuaXphdGlvbi1vdXRsaW5lIiw2MDAzMCksbmV3RmlsZTphKCJuZXctZmlsZSIsNjAwMzEpLGZpbGVBZGQ6YSgiZmlsZS1hZGQiLDYwMDMxKSxuZXdGb2xkZXI6YSgibmV3LWZvbGRlciIsNjAwMzIpLGZpbGVEaXJlY3RvcnlDcmVhdGU6YSgiZmlsZS1kaXJlY3RvcnktY3JlYXRlIiw2MDAzMiksdHJhc2g6YSgidHJhc2giLDYwMDMzKSx0cmFzaGNhbjphKCJ0cmFzaGNhbiIsNjAwMzMpLGhpc3Rvcnk6YSgiaGlzdG9yeSIsNjAwMzQpLGNsb2NrOmEoImNsb2NrIiw2MDAzNCksZm9sZGVyOmEoImZvbGRlciIsNjAwMzUpLGZpbGVEaXJlY3Rvcnk6YSgiZmlsZS1kaXJlY3RvcnkiLDYwMDM1KSxzeW1ib2xGb2xkZXI6YSgic3ltYm9sLWZvbGRlciIsNjAwMzUpLGxvZ29HaXRodWI6YSgibG9nby1naXRodWIiLDYwMDM2KSxtYXJrR2l0aHViOmEoIm1hcmstZ2l0aHViIiw2MDAzNiksZ2l0aHViOmEoImdpdGh1YiIsNjAwMzYpLHRlcm1pbmFsOmEoInRlcm1pbmFsIiw2MDAzNyksY29uc29sZTphKCJjb25zb2xlIiw2MDAzNykscmVwbDphKCJyZXBsIiw2MDAzNyksemFwOmEoInphcCIsNjAwMzgpLHN5bWJvbEV2ZW50OmEoInN5bWJvbC1ldmVudCIsNjAwMzgpLGVycm9yOmEoImVycm9yIiw2MDAzOSksc3RvcDphKCJzdG9wIiw2MDAzOSksdmFyaWFibGU6YSgidmFyaWFibGUiLDYwMDQwKSxzeW1ib2xWYXJpYWJsZTphKCJzeW1ib2wtdmFyaWFibGUiLDYwMDQwKSxhcnJheTphKCJhcnJheSIsNjAwNDIpLHN5bWJvbEFycmF5OmEoInN5bWJvbC1hcnJheSIsNjAwNDIpLHN5bWJvbE1vZHVsZTphKCJzeW1ib2wtbW9kdWxlIiw2MDA0Myksc3ltYm9sUGFja2FnZTphKCJzeW1ib2wtcGFja2FnZSIsNjAwNDMpLHN5bWJvbE5hbWVzcGFjZTphKCJzeW1ib2wtbmFtZXNwYWNlIiw2MDA0Myksc3ltYm9sT2JqZWN0OmEoInN5bWJvbC1vYmplY3QiLDYwMDQzKSxzeW1ib2xNZXRob2Q6YSgic3ltYm9sLW1ldGhvZCIsNjAwNDQpLHN5bWJvbEZ1bmN0aW9uOmEoInN5bWJvbC1mdW5jdGlvbiIsNjAwNDQpLHN5bWJvbENvbnN0cnVjdG9yOmEoInN5bWJvbC1jb25zdHJ1Y3RvciIsNjAwNDQpLHN5bWJvbEJvb2xlYW46YSgic3ltYm9sLWJvb2xlYW4iLDYwMDQ3KSxzeW1ib2xOdWxsOmEoInN5bWJvbC1udWxsIiw2MDA0Nyksc3ltYm9sTnVtZXJpYzphKCJzeW1ib2wtbnVtZXJpYyIsNjAwNDgpLHN5bWJvbE51bWJlcjphKCJzeW1ib2wtbnVtYmVyIiw2MDA0OCksc3ltYm9sU3RydWN0dXJlOmEoInN5bWJvbC1zdHJ1Y3R1cmUiLDYwMDQ5KSxzeW1ib2xTdHJ1Y3Q6YSgic3ltYm9sLXN0cnVjdCIsNjAwNDkpLHN5bWJvbFBhcmFtZXRlcjphKCJzeW1ib2wtcGFyYW1ldGVyIiw2MDA1MCksc3ltYm9sVHlwZVBhcmFtZXRlcjphKCJzeW1ib2wtdHlwZS1wYXJhbWV0ZXIiLDYwMDUwKSxzeW1ib2xLZXk6YSgic3ltYm9sLWtleSIsNjAwNTEpLHN5bWJvbFRleHQ6YSgic3ltYm9sLXRleHQiLDYwMDUxKSxzeW1ib2xSZWZlcmVuY2U6YSgic3ltYm9sLXJlZmVyZW5jZSIsNjAwNTIpLGdvVG9GaWxlOmEoImdvLXRvLWZpbGUiLDYwMDUyKSxzeW1ib2xFbnVtOmEoInN5bWJvbC1lbnVtIiw2MDA1Myksc3ltYm9sVmFsdWU6YSgic3ltYm9sLXZhbHVlIiw2MDA1Myksc3ltYm9sUnVsZXI6YSgic3ltYm9sLXJ1bGVyIiw2MDA1NCksc3ltYm9sVW5pdDphKCJzeW1ib2wtdW5pdCIsNjAwNTQpLGFjdGl2YXRlQnJlYWtwb2ludHM6YSgiYWN0aXZhdGUtYnJlYWtwb2ludHMiLDYwMDU1KSxhcmNoaXZlOmEoImFyY2hpdmUiLDYwMDU2KSxhcnJvd0JvdGg6YSgiYXJyb3ctYm90aCIsNjAwNTcpLGFycm93RG93bjphKCJhcnJvdy1kb3duIiw2MDA1OCksYXJyb3dMZWZ0OmEoImFycm93LWxlZnQiLDYwMDU5KSxhcnJvd1JpZ2h0OmEoImFycm93LXJpZ2h0Iiw2MDA2MCksYXJyb3dTbWFsbERvd246YSgiYXJyb3ctc21hbGwtZG93biIsNjAwNjEpLGFycm93U21hbGxMZWZ0OmEoImFycm93LXNtYWxsLWxlZnQiLDYwMDYyKSxhcnJvd1NtYWxsUmlnaHQ6YSgiYXJyb3ctc21hbGwtcmlnaHQiLDYwMDYzKSxhcnJvd1NtYWxsVXA6YSgiYXJyb3ctc21hbGwtdXAiLDYwMDY0KSxhcnJvd1VwOmEoImFycm93LXVwIiw2MDA2NSksYmVsbDphKCJiZWxsIiw2MDA2NiksYm9sZDphKCJib2xkIiw2MDA2NyksYm9vazphKCJib29rIiw2MDA2OCksYm9va21hcms6YSgiYm9va21hcmsiLDYwMDY5KSxkZWJ1Z0JyZWFrcG9pbnRDb25kaXRpb25hbFVudmVyaWZpZWQ6YSgiZGVidWctYnJlYWtwb2ludC1jb25kaXRpb25hbC11bnZlcmlmaWVkIiw2MDA3MCksZGVidWdCcmVha3BvaW50Q29uZGl0aW9uYWw6YSgiZGVidWctYnJlYWtwb2ludC1jb25kaXRpb25hbCIsNjAwNzEpLGRlYnVnQnJlYWtwb2ludENvbmRpdGlvbmFsRGlzYWJsZWQ6YSgiZGVidWctYnJlYWtwb2ludC1jb25kaXRpb25hbC1kaXNhYmxlZCIsNjAwNzEpLGRlYnVnQnJlYWtwb2ludERhdGFVbnZlcmlmaWVkOmEoImRlYnVnLWJyZWFrcG9pbnQtZGF0YS11bnZlcmlmaWVkIiw2MDA3MiksZGVidWdCcmVha3BvaW50RGF0YTphKCJkZWJ1Zy1icmVha3BvaW50LWRhdGEiLDYwMDczKSxkZWJ1Z0JyZWFrcG9pbnREYXRhRGlzYWJsZWQ6YSgiZGVidWctYnJlYWtwb2ludC1kYXRhLWRpc2FibGVkIiw2MDA3MyksZGVidWdCcmVha3BvaW50TG9nVW52ZXJpZmllZDphKCJkZWJ1Zy1icmVha3BvaW50LWxvZy11bnZlcmlmaWVkIiw2MDA3NCksZGVidWdCcmVha3BvaW50TG9nOmEoImRlYnVnLWJyZWFrcG9pbnQtbG9nIiw2MDA3NSksZGVidWdCcmVha3BvaW50TG9nRGlzYWJsZWQ6YSgiZGVidWctYnJlYWtwb2ludC1sb2ctZGlzYWJsZWQiLDYwMDc1KSxicmllZmNhc2U6YSgiYnJpZWZjYXNlIiw2MDA3NiksYnJvYWRjYXN0OmEoImJyb2FkY2FzdCIsNjAwNzcpLGJyb3dzZXI6YSgiYnJvd3NlciIsNjAwNzgpLGJ1ZzphKCJidWciLDYwMDc5KSxjYWxlbmRhcjphKCJjYWxlbmRhciIsNjAwODApLGNhc2VTZW5zaXRpdmU6YSgiY2FzZS1zZW5zaXRpdmUiLDYwMDgxKSxjaGVjazphKCJjaGVjayIsNjAwODIpLGNoZWNrbGlzdDphKCJjaGVja2xpc3QiLDYwMDgzKSxjaGV2cm9uRG93bjphKCJjaGV2cm9uLWRvd24iLDYwMDg0KSxjaGV2cm9uTGVmdDphKCJjaGV2cm9uLWxlZnQiLDYwMDg1KSxjaGV2cm9uUmlnaHQ6YSgiY2hldnJvbi1yaWdodCIsNjAwODYpLGNoZXZyb25VcDphKCJjaGV2cm9uLXVwIiw2MDA4NyksY2hyb21lQ2xvc2U6YSgiY2hyb21lLWNsb3NlIiw2MDA4OCksY2hyb21lTWF4aW1pemU6YSgiY2hyb21lLW1heGltaXplIiw2MDA4OSksY2hyb21lTWluaW1pemU6YSgiY2hyb21lLW1pbmltaXplIiw2MDA5MCksY2hyb21lUmVzdG9yZTphKCJjaHJvbWUtcmVzdG9yZSIsNjAwOTEpLGNpcmNsZU91dGxpbmU6YSgiY2lyY2xlLW91dGxpbmUiLDYwMDkyKSxjaXJjbGU6YSgiY2lyY2xlIiw2MDA5MiksZGVidWdCcmVha3BvaW50VW52ZXJpZmllZDphKCJkZWJ1Zy1icmVha3BvaW50LXVudmVyaWZpZWQiLDYwMDkyKSx0ZXJtaW5hbERlY29yYXRpb25JbmNvbXBsZXRlOmEoInRlcm1pbmFsLWRlY29yYXRpb24taW5jb21wbGV0ZSIsNjAwOTIpLGNpcmNsZVNsYXNoOmEoImNpcmNsZS1zbGFzaCIsNjAwOTMpLGNpcmN1aXRCb2FyZDphKCJjaXJjdWl0LWJvYXJkIiw2MDA5NCksY2xlYXJBbGw6YSgiY2xlYXItYWxsIiw2MDA5NSksY2xpcHB5OmEoImNsaXBweSIsNjAwOTYpLGNsb3NlQWxsOmEoImNsb3NlLWFsbCIsNjAwOTcpLGNsb3VkRG93bmxvYWQ6YSgiY2xvdWQtZG93bmxvYWQiLDYwMDk4KSxjbG91ZFVwbG9hZDphKCJjbG91ZC11cGxvYWQiLDYwMDk5KSxjb2RlOmEoImNvZGUiLDYwMTAwKSxjb2xsYXBzZUFsbDphKCJjb2xsYXBzZS1hbGwiLDYwMTAxKSxjb2xvck1vZGU6YSgiY29sb3ItbW9kZSIsNjAxMDIpLGNvbW1lbnREaXNjdXNzaW9uOmEoImNvbW1lbnQtZGlzY3Vzc2lvbiIsNjAxMDMpLGNyZWRpdENhcmQ6YSgiY3JlZGl0LWNhcmQiLDYwMTA1KSxkYXNoOmEoImRhc2giLDYwMTA4KSxkYXNoYm9hcmQ6YSgiZGFzaGJvYXJkIiw2MDEwOSksZGF0YWJhc2U6YSgiZGF0YWJhc2UiLDYwMTEwKSxkZWJ1Z0NvbnRpbnVlOmEoImRlYnVnLWNvbnRpbnVlIiw2MDExMSksZGVidWdEaXNjb25uZWN0OmEoImRlYnVnLWRpc2Nvbm5lY3QiLDYwMTEyKSxkZWJ1Z1BhdXNlOmEoImRlYnVnLXBhdXNlIiw2MDExMyksZGVidWdSZXN0YXJ0OmEoImRlYnVnLXJlc3RhcnQiLDYwMTE0KSxkZWJ1Z1N0YXJ0OmEoImRlYnVnLXN0YXJ0Iiw2MDExNSksZGVidWdTdGVwSW50bzphKCJkZWJ1Zy1zdGVwLWludG8iLDYwMTE2KSxkZWJ1Z1N0ZXBPdXQ6YSgiZGVidWctc3RlcC1vdXQiLDYwMTE3KSxkZWJ1Z1N0ZXBPdmVyOmEoImRlYnVnLXN0ZXAtb3ZlciIsNjAxMTgpLGRlYnVnU3RvcDphKCJkZWJ1Zy1zdG9wIiw2MDExOSksZGVidWc6YSgiZGVidWciLDYwMTIwKSxkZXZpY2VDYW1lcmFWaWRlbzphKCJkZXZpY2UtY2FtZXJhLXZpZGVvIiw2MDEyMSksZGV2aWNlQ2FtZXJhOmEoImRldmljZS1jYW1lcmEiLDYwMTIyKSxkZXZpY2VNb2JpbGU6YSgiZGV2aWNlLW1vYmlsZSIsNjAxMjMpLGRpZmZBZGRlZDphKCJkaWZmLWFkZGVkIiw2MDEyNCksZGlmZklnbm9yZWQ6YSgiZGlmZi1pZ25vcmVkIiw2MDEyNSksZGlmZk1vZGlmaWVkOmEoImRpZmYtbW9kaWZpZWQiLDYwMTI2KSxkaWZmUmVtb3ZlZDphKCJkaWZmLXJlbW92ZWQiLDYwMTI3KSxkaWZmUmVuYW1lZDphKCJkaWZmLXJlbmFtZWQiLDYwMTI4KSxkaWZmOmEoImRpZmYiLDYwMTI5KSxkaWZmU2lkZWJ5c2lkZTphKCJkaWZmLXNpZGVieXNpZGUiLDYwMTI5KSxkaXNjYXJkOmEoImRpc2NhcmQiLDYwMTMwKSxlZGl0b3JMYXlvdXQ6YSgiZWRpdG9yLWxheW91dCIsNjAxMzEpLGVtcHR5V2luZG93OmEoImVtcHR5LXdpbmRvdyIsNjAxMzIpLGV4Y2x1ZGU6YSgiZXhjbHVkZSIsNjAxMzMpLGV4dGVuc2lvbnM6YSgiZXh0ZW5zaW9ucyIsNjAxMzQpLGV5ZUNsb3NlZDphKCJleWUtY2xvc2VkIiw2MDEzNSksZmlsZUJpbmFyeTphKCJmaWxlLWJpbmFyeSIsNjAxMzYpLGZpbGVDb2RlOmEoImZpbGUtY29kZSIsNjAxMzcpLGZpbGVNZWRpYTphKCJmaWxlLW1lZGlhIiw2MDEzOCksZmlsZVBkZjphKCJmaWxlLXBkZiIsNjAxMzkpLGZpbGVTdWJtb2R1bGU6YSgiZmlsZS1zdWJtb2R1bGUiLDYwMTQwKSxmaWxlU3ltbGlua0RpcmVjdG9yeTphKCJmaWxlLXN5bWxpbmstZGlyZWN0b3J5Iiw2MDE0MSksZmlsZVN5bWxpbmtGaWxlOmEoImZpbGUtc3ltbGluay1maWxlIiw2MDE0MiksZmlsZVppcDphKCJmaWxlLXppcCIsNjAxNDMpLGZpbGVzOmEoImZpbGVzIiw2MDE0NCksZmlsdGVyOmEoImZpbHRlciIsNjAxNDUpLGZsYW1lOmEoImZsYW1lIiw2MDE0NiksZm9sZERvd246YSgiZm9sZC1kb3duIiw2MDE0NyksZm9sZFVwOmEoImZvbGQtdXAiLDYwMTQ4KSxmb2xkOmEoImZvbGQiLDYwMTQ5KSxmb2xkZXJBY3RpdmU6YSgiZm9sZGVyLWFjdGl2ZSIsNjAxNTApLGZvbGRlck9wZW5lZDphKCJmb2xkZXItb3BlbmVkIiw2MDE1MSksZ2VhcjphKCJnZWFyIiw2MDE1MiksZ2lmdDphKCJnaWZ0Iiw2MDE1MyksZ2lzdFNlY3JldDphKCJnaXN0LXNlY3JldCIsNjAxNTQpLGdpc3Q6YSgiZ2lzdCIsNjAxNTUpLGdpdENvbW1pdDphKCJnaXQtY29tbWl0Iiw2MDE1NiksZ2l0Q29tcGFyZTphKCJnaXQtY29tcGFyZSIsNjAxNTcpLGNvbXBhcmVDaGFuZ2VzOmEoImNvbXBhcmUtY2hhbmdlcyIsNjAxNTcpLGdpdE1lcmdlOmEoImdpdC1tZXJnZSIsNjAxNTgpLGdpdGh1YkFjdGlvbjphKCJnaXRodWItYWN0aW9uIiw2MDE1OSksZ2l0aHViQWx0OmEoImdpdGh1Yi1hbHQiLDYwMTYwKSxnbG9iZTphKCJnbG9iZSIsNjAxNjEpLGdyYWJiZXI6YSgiZ3JhYmJlciIsNjAxNjIpLGdyYXBoOmEoImdyYXBoIiw2MDE2MyksZ3JpcHBlcjphKCJncmlwcGVyIiw2MDE2NCksaGVhcnQ6YSgiaGVhcnQiLDYwMTY1KSxob21lOmEoImhvbWUiLDYwMTY2KSxob3Jpem9udGFsUnVsZTphKCJob3Jpem9udGFsLXJ1bGUiLDYwMTY3KSxodWJvdDphKCJodWJvdCIsNjAxNjgpLGluYm94OmEoImluYm94Iiw2MDE2OSksaXNzdWVSZW9wZW5lZDphKCJpc3N1ZS1yZW9wZW5lZCIsNjAxNzEpLGlzc3VlczphKCJpc3N1ZXMiLDYwMTcyKSxpdGFsaWM6YSgiaXRhbGljIiw2MDE3MyksamVyc2V5OmEoImplcnNleSIsNjAxNzQpLGpzb246YSgianNvbiIsNjAxNzUpLGtlYmFiVmVydGljYWw6YSgia2ViYWItdmVydGljYWwiLDYwMTc2KSxrZXk6YSgia2V5Iiw2MDE3NyksbGF3OmEoImxhdyIsNjAxNzgpLGxpZ2h0YnVsYkF1dG9maXg6YSgibGlnaHRidWxiLWF1dG9maXgiLDYwMTc5KSxsaW5rRXh0ZXJuYWw6YSgibGluay1leHRlcm5hbCIsNjAxODApLGxpbms6YSgibGluayIsNjAxODEpLGxpc3RPcmRlcmVkOmEoImxpc3Qtb3JkZXJlZCIsNjAxODIpLGxpc3RVbm9yZGVyZWQ6YSgibGlzdC11bm9yZGVyZWQiLDYwMTgzKSxsaXZlU2hhcmU6YSgibGl2ZS1zaGFyZSIsNjAxODQpLGxvYWRpbmc6YSgibG9hZGluZyIsNjAxODUpLGxvY2F0aW9uOmEoImxvY2F0aW9uIiw2MDE4NiksbWFpbFJlYWQ6YSgibWFpbC1yZWFkIiw2MDE4NyksbWFpbDphKCJtYWlsIiw2MDE4OCksbWFya2Rvd246YSgibWFya2Rvd24iLDYwMTg5KSxtZWdhcGhvbmU6YSgibWVnYXBob25lIiw2MDE5MCksbWVudGlvbjphKCJtZW50aW9uIiw2MDE5MSksbWlsZXN0b25lOmEoIm1pbGVzdG9uZSIsNjAxOTIpLGdpdFB1bGxSZXF1ZXN0TWlsZXN0b25lOmEoImdpdC1wdWxsLXJlcXVlc3QtbWlsZXN0b25lIiw2MDE5MiksbW9ydGFyQm9hcmQ6YSgibW9ydGFyLWJvYXJkIiw2MDE5MyksbW92ZTphKCJtb3ZlIiw2MDE5NCksbXVsdGlwbGVXaW5kb3dzOmEoIm11bHRpcGxlLXdpbmRvd3MiLDYwMTk1KSxtdXRlOmEoIm11dGUiLDYwMTk2KSxub05ld2xpbmU6YSgibm8tbmV3bGluZSIsNjAxOTcpLG5vdGU6YSgibm90ZSIsNjAxOTgpLG9jdG9mYWNlOmEoIm9jdG9mYWNlIiw2MDE5OSksb3BlblByZXZpZXc6YSgib3Blbi1wcmV2aWV3Iiw2MDIwMCkscGFja2FnZTphKCJwYWNrYWdlIiw2MDIwMSkscGFpbnRjYW46YSgicGFpbnRjYW4iLDYwMjAyKSxwaW46YSgicGluIiw2MDIwMykscGxheTphKCJwbGF5Iiw2MDIwNCkscnVuOmEoInJ1biIsNjAyMDQpLHBsdWc6YSgicGx1ZyIsNjAyMDUpLHByZXNlcnZlQ2FzZTphKCJwcmVzZXJ2ZS1jYXNlIiw2MDIwNikscHJldmlldzphKCJwcmV2aWV3Iiw2MDIwNykscHJvamVjdDphKCJwcm9qZWN0Iiw2MDIwOCkscHVsc2U6YSgicHVsc2UiLDYwMjA5KSxxdWVzdGlvbjphKCJxdWVzdGlvbiIsNjAyMTApLHF1b3RlOmEoInF1b3RlIiw2MDIxMSkscmFkaW9Ub3dlcjphKCJyYWRpby10b3dlciIsNjAyMTIpLHJlYWN0aW9uczphKCJyZWFjdGlvbnMiLDYwMjEzKSxyZWZlcmVuY2VzOmEoInJlZmVyZW5jZXMiLDYwMjE0KSxyZWZyZXNoOmEoInJlZnJlc2giLDYwMjE1KSxyZWdleDphKCJyZWdleCIsNjAyMTYpLHJlbW90ZUV4cGxvcmVyOmEoInJlbW90ZS1leHBsb3JlciIsNjAyMTcpLHJlbW90ZTphKCJyZW1vdGUiLDYwMjE4KSxyZW1vdmU6YSgicmVtb3ZlIiw2MDIxOSkscmVwbGFjZUFsbDphKCJyZXBsYWNlLWFsbCIsNjAyMjApLHJlcGxhY2U6YSgicmVwbGFjZSIsNjAyMjEpLHJlcG9DbG9uZTphKCJyZXBvLWNsb25lIiw2MDIyMikscmVwb0ZvcmNlUHVzaDphKCJyZXBvLWZvcmNlLXB1c2giLDYwMjIzKSxyZXBvUHVsbDphKCJyZXBvLXB1bGwiLDYwMjI0KSxyZXBvUHVzaDphKCJyZXBvLXB1c2giLDYwMjI1KSxyZXBvcnQ6YSgicmVwb3J0Iiw2MDIyNikscmVxdWVzdENoYW5nZXM6YSgicmVxdWVzdC1jaGFuZ2VzIiw2MDIyNykscm9ja2V0OmEoInJvY2tldCIsNjAyMjgpLHJvb3RGb2xkZXJPcGVuZWQ6YSgicm9vdC1mb2xkZXItb3BlbmVkIiw2MDIyOSkscm9vdEZvbGRlcjphKCJyb290LWZvbGRlciIsNjAyMzApLHJzczphKCJyc3MiLDYwMjMxKSxydWJ5OmEoInJ1YnkiLDYwMjMyKSxzYXZlQWxsOmEoInNhdmUtYWxsIiw2MDIzMyksc2F2ZUFzOmEoInNhdmUtYXMiLDYwMjM0KSxzYXZlOmEoInNhdmUiLDYwMjM1KSxzY3JlZW5GdWxsOmEoInNjcmVlbi1mdWxsIiw2MDIzNiksc2NyZWVuTm9ybWFsOmEoInNjcmVlbi1ub3JtYWwiLDYwMjM3KSxzZWFyY2hTdG9wOmEoInNlYXJjaC1zdG9wIiw2MDIzOCksc2VydmVyOmEoInNlcnZlciIsNjAyNDApLHNldHRpbmdzR2VhcjphKCJzZXR0aW5ncy1nZWFyIiw2MDI0MSksc2V0dGluZ3M6YSgic2V0dGluZ3MiLDYwMjQyKSxzaGllbGQ6YSgic2hpZWxkIiw2MDI0Myksc21pbGV5OmEoInNtaWxleSIsNjAyNDQpLHNvcnRQcmVjZWRlbmNlOmEoInNvcnQtcHJlY2VkZW5jZSIsNjAyNDUpLHNwbGl0SG9yaXpvbnRhbDphKCJzcGxpdC1ob3Jpem9udGFsIiw2MDI0Niksc3BsaXRWZXJ0aWNhbDphKCJzcGxpdC12ZXJ0aWNhbCIsNjAyNDcpLHNxdWlycmVsOmEoInNxdWlycmVsIiw2MDI0OCksc3RhckZ1bGw6YSgic3Rhci1mdWxsIiw2MDI0OSksc3RhckhhbGY6YSgic3Rhci1oYWxmIiw2MDI1MCksc3ltYm9sQ2xhc3M6YSgic3ltYm9sLWNsYXNzIiw2MDI1MSksc3ltYm9sQ29sb3I6YSgic3ltYm9sLWNvbG9yIiw2MDI1Miksc3ltYm9sQ29uc3RhbnQ6YSgic3ltYm9sLWNvbnN0YW50Iiw2MDI1Myksc3ltYm9sRW51bU1lbWJlcjphKCJzeW1ib2wtZW51bS1tZW1iZXIiLDYwMjU0KSxzeW1ib2xGaWVsZDphKCJzeW1ib2wtZmllbGQiLDYwMjU1KSxzeW1ib2xGaWxlOmEoInN5bWJvbC1maWxlIiw2MDI1Niksc3ltYm9sSW50ZXJmYWNlOmEoInN5bWJvbC1pbnRlcmZhY2UiLDYwMjU3KSxzeW1ib2xLZXl3b3JkOmEoInN5bWJvbC1rZXl3b3JkIiw2MDI1OCksc3ltYm9sTWlzYzphKCJzeW1ib2wtbWlzYyIsNjAyNTkpLHN5bWJvbE9wZXJhdG9yOmEoInN5bWJvbC1vcGVyYXRvciIsNjAyNjApLHN5bWJvbFByb3BlcnR5OmEoInN5bWJvbC1wcm9wZXJ0eSIsNjAyNjEpLHdyZW5jaDphKCJ3cmVuY2giLDYwMjYxKSx3cmVuY2hTdWJhY3Rpb246YSgid3JlbmNoLXN1YmFjdGlvbiIsNjAyNjEpLHN5bWJvbFNuaXBwZXQ6YSgic3ltYm9sLXNuaXBwZXQiLDYwMjYyKSx0YXNrbGlzdDphKCJ0YXNrbGlzdCIsNjAyNjMpLHRlbGVzY29wZTphKCJ0ZWxlc2NvcGUiLDYwMjY0KSx0ZXh0U2l6ZTphKCJ0ZXh0LXNpemUiLDYwMjY1KSx0aHJlZUJhcnM6YSgidGhyZWUtYmFycyIsNjAyNjYpLHRodW1ic2Rvd246YSgidGh1bWJzZG93biIsNjAyNjcpLHRodW1ic3VwOmEoInRodW1ic3VwIiw2MDI2OCksdG9vbHM6YSgidG9vbHMiLDYwMjY5KSx0cmlhbmdsZURvd246YSgidHJpYW5nbGUtZG93biIsNjAyNzApLHRyaWFuZ2xlTGVmdDphKCJ0cmlhbmdsZS1sZWZ0Iiw2MDI3MSksdHJpYW5nbGVSaWdodDphKCJ0cmlhbmdsZS1yaWdodCIsNjAyNzIpLHRyaWFuZ2xlVXA6YSgidHJpYW5nbGUtdXAiLDYwMjczKSx0d2l0dGVyOmEoInR3aXR0ZXIiLDYwMjc0KSx1bmZvbGQ6YSgidW5mb2xkIiw2MDI3NSksdW5sb2NrOmEoInVubG9jayIsNjAyNzYpLHVubXV0ZTphKCJ1bm11dGUiLDYwMjc3KSx1bnZlcmlmaWVkOmEoInVudmVyaWZpZWQiLDYwMjc4KSx2ZXJpZmllZDphKCJ2ZXJpZmllZCIsNjAyNzkpLHZlcnNpb25zOmEoInZlcnNpb25zIiw2MDI4MCksdm1BY3RpdmU6YSgidm0tYWN0aXZlIiw2MDI4MSksdm1PdXRsaW5lOmEoInZtLW91dGxpbmUiLDYwMjgyKSx2bVJ1bm5pbmc6YSgidm0tcnVubmluZyIsNjAyODMpLHdhdGNoOmEoIndhdGNoIiw2MDI4NCksd2hpdGVzcGFjZTphKCJ3aGl0ZXNwYWNlIiw2MDI4NSksd2hvbGVXb3JkOmEoIndob2xlLXdvcmQiLDYwMjg2KSx3aW5kb3c6YSgid2luZG93Iiw2MDI4Nyksd29yZFdyYXA6YSgid29yZC13cmFwIiw2MDI4OCksem9vbUluOmEoInpvb20taW4iLDYwMjg5KSx6b29tT3V0OmEoInpvb20tb3V0Iiw2MDI5MCksbGlzdEZpbHRlcjphKCJsaXN0LWZpbHRlciIsNjAyOTEpLGxpc3RGbGF0OmEoImxpc3QtZmxhdCIsNjAyOTIpLGxpc3RTZWxlY3Rpb246YSgibGlzdC1zZWxlY3Rpb24iLDYwMjkzKSxzZWxlY3Rpb246YSgic2VsZWN0aW9uIiw2MDI5MyksbGlzdFRyZWU6YSgibGlzdC10cmVlIiw2MDI5NCksZGVidWdCcmVha3BvaW50RnVuY3Rpb25VbnZlcmlmaWVkOmEoImRlYnVnLWJyZWFrcG9pbnQtZnVuY3Rpb24tdW52ZXJpZmllZCIsNjAyOTUpLGRlYnVnQnJlYWtwb2ludEZ1bmN0aW9uOmEoImRlYnVnLWJyZWFrcG9pbnQtZnVuY3Rpb24iLDYwMjk2KSxkZWJ1Z0JyZWFrcG9pbnRGdW5jdGlvbkRpc2FibGVkOmEoImRlYnVnLWJyZWFrcG9pbnQtZnVuY3Rpb24tZGlzYWJsZWQiLDYwMjk2KSxkZWJ1Z1N0YWNrZnJhbWVBY3RpdmU6YSgiZGVidWctc3RhY2tmcmFtZS1hY3RpdmUiLDYwMjk3KSxjaXJjbGVTbWFsbEZpbGxlZDphKCJjaXJjbGUtc21hbGwtZmlsbGVkIiw2MDI5OCksZGVidWdTdGFja2ZyYW1lRG90OmEoImRlYnVnLXN0YWNrZnJhbWUtZG90Iiw2MDI5OCksdGVybWluYWxEZWNvcmF0aW9uTWFyazphKCJ0ZXJtaW5hbC1kZWNvcmF0aW9uLW1hcmsiLDYwMjk4KSxkZWJ1Z1N0YWNrZnJhbWU6YSgiZGVidWctc3RhY2tmcmFtZSIsNjAyOTkpLGRlYnVnU3RhY2tmcmFtZUZvY3VzZWQ6YSgiZGVidWctc3RhY2tmcmFtZS1mb2N1c2VkIiw2MDI5OSksZGVidWdCcmVha3BvaW50VW5zdXBwb3J0ZWQ6YSgiZGVidWctYnJlYWtwb2ludC11bnN1cHBvcnRlZCIsNjAzMDApLHN5bWJvbFN0cmluZzphKCJzeW1ib2wtc3RyaW5nIiw2MDMwMSksZGVidWdSZXZlcnNlQ29udGludWU6YSgiZGVidWctcmV2ZXJzZS1jb250aW51ZSIsNjAzMDIpLGRlYnVnU3RlcEJhY2s6YSgiZGVidWctc3RlcC1iYWNrIiw2MDMwMyksZGVidWdSZXN0YXJ0RnJhbWU6YSgiZGVidWctcmVzdGFydC1mcmFtZSIsNjAzMDQpLGRlYnVnQWx0OmEoImRlYnVnLWFsdCIsNjAzMDUpLGNhbGxJbmNvbWluZzphKCJjYWxsLWluY29taW5nIiw2MDMwNiksY2FsbE91dGdvaW5nOmEoImNhbGwtb3V0Z29pbmciLDYwMzA3KSxtZW51OmEoIm1lbnUiLDYwMzA4KSxleHBhbmRBbGw6YSgiZXhwYW5kLWFsbCIsNjAzMDkpLGZlZWRiYWNrOmEoImZlZWRiYWNrIiw2MDMxMCksZ2l0UHVsbFJlcXVlc3RSZXZpZXdlcjphKCJnaXQtcHVsbC1yZXF1ZXN0LXJldmlld2VyIiw2MDMxMCksZ3JvdXBCeVJlZlR5cGU6YSgiZ3JvdXAtYnktcmVmLXR5cGUiLDYwMzExKSx1bmdyb3VwQnlSZWZUeXBlOmEoInVuZ3JvdXAtYnktcmVmLXR5cGUiLDYwMzEyKSxhY2NvdW50OmEoImFjY291bnQiLDYwMzEzKSxnaXRQdWxsUmVxdWVzdEFzc2lnbmVlOmEoImdpdC1wdWxsLXJlcXVlc3QtYXNzaWduZWUiLDYwMzEzKSxiZWxsRG90OmEoImJlbGwtZG90Iiw2MDMxNCksZGVidWdDb25zb2xlOmEoImRlYnVnLWNvbnNvbGUiLDYwMzE1KSxsaWJyYXJ5OmEoImxpYnJhcnkiLDYwMzE2KSxvdXRwdXQ6YSgib3V0cHV0Iiw2MDMxNykscnVuQWxsOmEoInJ1bi1hbGwiLDYwMzE4KSxzeW5jSWdub3JlZDphKCJzeW5jLWlnbm9yZWQiLDYwMzE5KSxwaW5uZWQ6YSgicGlubmVkIiw2MDMyMCksZ2l0aHViSW52ZXJ0ZWQ6YSgiZ2l0aHViLWludmVydGVkIiw2MDMyMSksc2VydmVyUHJvY2VzczphKCJzZXJ2ZXItcHJvY2VzcyIsNjAzMjIpLHNlcnZlckVudmlyb25tZW50OmEoInNlcnZlci1lbnZpcm9ubWVudCIsNjAzMjMpLHBhc3M6YSgicGFzcyIsNjAzMjQpLGlzc3VlQ2xvc2VkOmEoImlzc3VlLWNsb3NlZCIsNjAzMjQpLHN0b3BDaXJjbGU6YSgic3RvcC1jaXJjbGUiLDYwMzI1KSxwbGF5Q2lyY2xlOmEoInBsYXktY2lyY2xlIiw2MDMyNikscmVjb3JkOmEoInJlY29yZCIsNjAzMjcpLGRlYnVnQWx0U21hbGw6YSgiZGVidWctYWx0LXNtYWxsIiw2MDMyOCksdm1Db25uZWN0OmEoInZtLWNvbm5lY3QiLDYwMzI5KSxjbG91ZDphKCJjbG91ZCIsNjAzMzApLG1lcmdlOmEoIm1lcmdlIiw2MDMzMSksZXhwb3J0OmEoImV4cG9ydCIsNjAzMzIpLGdyYXBoTGVmdDphKCJncmFwaC1sZWZ0Iiw2MDMzMyksbWFnbmV0OmEoIm1hZ25ldCIsNjAzMzQpLG5vdGVib29rOmEoIm5vdGVib29rIiw2MDMzNSkscmVkbzphKCJyZWRvIiw2MDMzNiksY2hlY2tBbGw6YSgiY2hlY2stYWxsIiw2MDMzNykscGlubmVkRGlydHk6YSgicGlubmVkLWRpcnR5Iiw2MDMzOCkscGFzc0ZpbGxlZDphKCJwYXNzLWZpbGxlZCIsNjAzMzkpLGNpcmNsZUxhcmdlRmlsbGVkOmEoImNpcmNsZS1sYXJnZS1maWxsZWQiLDYwMzQwKSxjaXJjbGVMYXJnZTphKCJjaXJjbGUtbGFyZ2UiLDYwMzQxKSxjaXJjbGVMYXJnZU91dGxpbmU6YSgiY2lyY2xlLWxhcmdlLW91dGxpbmUiLDYwMzQxKSxjb21iaW5lOmEoImNvbWJpbmUiLDYwMzQyKSxnYXRoZXI6YSgiZ2F0aGVyIiw2MDM0MiksdGFibGU6YSgidGFibGUiLDYwMzQzKSx2YXJpYWJsZUdyb3VwOmEoInZhcmlhYmxlLWdyb3VwIiw2MDM0NCksdHlwZUhpZXJhcmNoeTphKCJ0eXBlLWhpZXJhcmNoeSIsNjAzNDUpLHR5cGVIaWVyYXJjaHlTdWI6YSgidHlwZS1oaWVyYXJjaHktc3ViIiw2MDM0NiksdHlwZUhpZXJhcmNoeVN1cGVyOmEoInR5cGUtaGllcmFyY2h5LXN1cGVyIiw2MDM0NyksZ2l0UHVsbFJlcXVlc3RDcmVhdGU6YSgiZ2l0LXB1bGwtcmVxdWVzdC1jcmVhdGUiLDYwMzQ4KSxydW5BYm92ZTphKCJydW4tYWJvdmUiLDYwMzQ5KSxydW5CZWxvdzphKCJydW4tYmVsb3ciLDYwMzUwKSxub3RlYm9va1RlbXBsYXRlOmEoIm5vdGVib29rLXRlbXBsYXRlIiw2MDM1MSksZGVidWdSZXJ1bjphKCJkZWJ1Zy1yZXJ1biIsNjAzNTIpLHdvcmtzcGFjZVRydXN0ZWQ6YSgid29ya3NwYWNlLXRydXN0ZWQiLDYwMzUzKSx3b3Jrc3BhY2VVbnRydXN0ZWQ6YSgid29ya3NwYWNlLXVudHJ1c3RlZCIsNjAzNTQpLHdvcmtzcGFjZVVua25vd246YSgid29ya3NwYWNlLXVua25vd24iLDYwMzU1KSx0ZXJtaW5hbENtZDphKCJ0ZXJtaW5hbC1jbWQiLDYwMzU2KSx0ZXJtaW5hbERlYmlhbjphKCJ0ZXJtaW5hbC1kZWJpYW4iLDYwMzU3KSx0ZXJtaW5hbExpbnV4OmEoInRlcm1pbmFsLWxpbnV4Iiw2MDM1OCksdGVybWluYWxQb3dlcnNoZWxsOmEoInRlcm1pbmFsLXBvd2Vyc2hlbGwiLDYwMzU5KSx0ZXJtaW5hbFRtdXg6YSgidGVybWluYWwtdG11eCIsNjAzNjApLHRlcm1pbmFsVWJ1bnR1OmEoInRlcm1pbmFsLXVidW50dSIsNjAzNjEpLHRlcm1pbmFsQmFzaDphKCJ0ZXJtaW5hbC1iYXNoIiw2MDM2MiksYXJyb3dTd2FwOmEoImFycm93LXN3YXAiLDYwMzYzKSxjb3B5OmEoImNvcHkiLDYwMzY0KSxwZXJzb25BZGQ6YSgicGVyc29uLWFkZCIsNjAzNjUpLGZpbHRlckZpbGxlZDphKCJmaWx0ZXItZmlsbGVkIiw2MDM2Niksd2FuZDphKCJ3YW5kIiw2MDM2NyksZGVidWdMaW5lQnlMaW5lOmEoImRlYnVnLWxpbmUtYnktbGluZSIsNjAzNjgpLGluc3BlY3Q6YSgiaW5zcGVjdCIsNjAzNjkpLGxheWVyczphKCJsYXllcnMiLDYwMzcwKSxsYXllcnNEb3Q6YSgibGF5ZXJzLWRvdCIsNjAzNzEpLGxheWVyc0FjdGl2ZTphKCJsYXllcnMtYWN0aXZlIiw2MDM3MiksY29tcGFzczphKCJjb21wYXNzIiw2MDM3MyksY29tcGFzc0RvdDphKCJjb21wYXNzLWRvdCIsNjAzNzQpLGNvbXBhc3NBY3RpdmU6YSgiY29tcGFzcy1hY3RpdmUiLDYwMzc1KSxhenVyZTphKCJhenVyZSIsNjAzNzYpLGlzc3VlRHJhZnQ6YSgiaXNzdWUtZHJhZnQiLDYwMzc3KSxnaXRQdWxsUmVxdWVzdENsb3NlZDphKCJnaXQtcHVsbC1yZXF1ZXN0LWNsb3NlZCIsNjAzNzgpLGdpdFB1bGxSZXF1ZXN0RHJhZnQ6YSgiZ2l0LXB1bGwtcmVxdWVzdC1kcmFmdCIsNjAzNzkpLGRlYnVnQWxsOmEoImRlYnVnLWFsbCIsNjAzODApLGRlYnVnQ292ZXJhZ2U6YSgiZGVidWctY292ZXJhZ2UiLDYwMzgxKSxydW5FcnJvcnM6YSgicnVuLWVycm9ycyIsNjAzODIpLGZvbGRlckxpYnJhcnk6YSgiZm9sZGVyLWxpYnJhcnkiLDYwMzgzKSxkZWJ1Z0NvbnRpbnVlU21hbGw6YSgiZGVidWctY29udGludWUtc21hbGwiLDYwMzg0KSxiZWFrZXJTdG9wOmEoImJlYWtlci1zdG9wIiw2MDM4NSksZ3JhcGhMaW5lOmEoImdyYXBoLWxpbmUiLDYwMzg2KSxncmFwaFNjYXR0ZXI6YSgiZ3JhcGgtc2NhdHRlciIsNjAzODcpLHBpZUNoYXJ0OmEoInBpZS1jaGFydCIsNjAzODgpLGJyYWNrZXQ6YSgiYnJhY2tldCIsNjAxNzUpLGJyYWNrZXREb3Q6YSgiYnJhY2tldC1kb3QiLDYwMzg5KSxicmFja2V0RXJyb3I6YSgiYnJhY2tldC1lcnJvciIsNjAzOTApLGxvY2tTbWFsbDphKCJsb2NrLXNtYWxsIiw2MDM5MSksYXp1cmVEZXZvcHM6YSgiYXp1cmUtZGV2b3BzIiw2MDM5MiksdmVyaWZpZWRGaWxsZWQ6YSgidmVyaWZpZWQtZmlsbGVkIiw2MDM5MyksbmV3bGluZTphKCJuZXdsaW5lIiw2MDM5NCksbGF5b3V0OmEoImxheW91dCIsNjAzOTUpLGxheW91dEFjdGl2aXR5YmFyTGVmdDphKCJsYXlvdXQtYWN0aXZpdHliYXItbGVmdCIsNjAzOTYpLGxheW91dEFjdGl2aXR5YmFyUmlnaHQ6YSgibGF5b3V0LWFjdGl2aXR5YmFyLXJpZ2h0Iiw2MDM5NyksbGF5b3V0UGFuZWxMZWZ0OmEoImxheW91dC1wYW5lbC1sZWZ0Iiw2MDM5OCksbGF5b3V0UGFuZWxDZW50ZXI6YSgibGF5b3V0LXBhbmVsLWNlbnRlciIsNjAzOTkpLGxheW91dFBhbmVsSnVzdGlmeTphKCJsYXlvdXQtcGFuZWwtanVzdGlmeSIsNjA0MDApLGxheW91dFBhbmVsUmlnaHQ6YSgibGF5b3V0LXBhbmVsLXJpZ2h0Iiw2MDQwMSksbGF5b3V0UGFuZWw6YSgibGF5b3V0LXBhbmVsIiw2MDQwMiksbGF5b3V0U2lkZWJhckxlZnQ6YSgibGF5b3V0LXNpZGViYXItbGVmdCIsNjA0MDMpLGxheW91dFNpZGViYXJSaWdodDphKCJsYXlvdXQtc2lkZWJhci1yaWdodCIsNjA0MDQpLGxheW91dFN0YXR1c2JhcjphKCJsYXlvdXQtc3RhdHVzYmFyIiw2MDQwNSksbGF5b3V0TWVudWJhcjphKCJsYXlvdXQtbWVudWJhciIsNjA0MDYpLGxheW91dENlbnRlcmVkOmEoImxheW91dC1jZW50ZXJlZCIsNjA0MDcpLHRhcmdldDphKCJ0YXJnZXQiLDYwNDA4KSxpbmRlbnQ6YSgiaW5kZW50Iiw2MDQwOSkscmVjb3JkU21hbGw6YSgicmVjb3JkLXNtYWxsIiw2MDQxMCksZXJyb3JTbWFsbDphKCJlcnJvci1zbWFsbCIsNjA0MTEpLHRlcm1pbmFsRGVjb3JhdGlvbkVycm9yOmEoInRlcm1pbmFsLWRlY29yYXRpb24tZXJyb3IiLDYwNDExKSxhcnJvd0NpcmNsZURvd246YSgiYXJyb3ctY2lyY2xlLWRvd24iLDYwNDEyKSxhcnJvd0NpcmNsZUxlZnQ6YSgiYXJyb3ctY2lyY2xlLWxlZnQiLDYwNDEzKSxhcnJvd0NpcmNsZVJpZ2h0OmEoImFycm93LWNpcmNsZS1yaWdodCIsNjA0MTQpLGFycm93Q2lyY2xlVXA6YSgiYXJyb3ctY2lyY2xlLXVwIiw2MDQxNSksbGF5b3V0U2lkZWJhclJpZ2h0T2ZmOmEoImxheW91dC1zaWRlYmFyLXJpZ2h0LW9mZiIsNjA0MTYpLGxheW91dFBhbmVsT2ZmOmEoImxheW91dC1wYW5lbC1vZmYiLDYwNDE3KSxsYXlvdXRTaWRlYmFyTGVmdE9mZjphKCJsYXlvdXQtc2lkZWJhci1sZWZ0LW9mZiIsNjA0MTgpLGJsYW5rOmEoImJsYW5rIiw2MDQxOSksaGVhcnRGaWxsZWQ6YSgiaGVhcnQtZmlsbGVkIiw2MDQyMCksbWFwOmEoIm1hcCIsNjA0MjEpLG1hcEhvcml6b250YWw6YSgibWFwLWhvcml6b250YWwiLDYwNDIxKSxmb2xkSG9yaXpvbnRhbDphKCJmb2xkLWhvcml6b250YWwiLDYwNDIxKSxtYXBGaWxsZWQ6YSgibWFwLWZpbGxlZCIsNjA0MjIpLG1hcEhvcml6b250YWxGaWxsZWQ6YSgibWFwLWhvcml6b250YWwtZmlsbGVkIiw2MDQyMiksZm9sZEhvcml6b250YWxGaWxsZWQ6YSgiZm9sZC1ob3Jpem9udGFsLWZpbGxlZCIsNjA0MjIpLGNpcmNsZVNtYWxsOmEoImNpcmNsZS1zbWFsbCIsNjA0MjMpLGJlbGxTbGFzaDphKCJiZWxsLXNsYXNoIiw2MDQyNCksYmVsbFNsYXNoRG90OmEoImJlbGwtc2xhc2gtZG90Iiw2MDQyNSksY29tbWVudFVucmVzb2x2ZWQ6YSgiY29tbWVudC11bnJlc29sdmVkIiw2MDQyNiksZ2l0UHVsbFJlcXVlc3RHb1RvQ2hhbmdlczphKCJnaXQtcHVsbC1yZXF1ZXN0LWdvLXRvLWNoYW5nZXMiLDYwNDI3KSxnaXRQdWxsUmVxdWVzdE5ld0NoYW5nZXM6YSgiZ2l0LXB1bGwtcmVxdWVzdC1uZXctY2hhbmdlcyIsNjA0MjgpLHNlYXJjaEZ1enp5OmEoInNlYXJjaC1mdXp6eSIsNjA0MjkpLGNvbW1lbnREcmFmdDphKCJjb21tZW50LWRyYWZ0Iiw2MDQzMCksc2VuZDphKCJzZW5kIiw2MDQzMSksc3BhcmtsZTphKCJzcGFya2xlIiw2MDQzMiksaW5zZXJ0OmEoImluc2VydCIsNjA0MzMpLG1pYzphKCJtaWMiLDYwNDM0KSx0aHVtYnNkb3duRmlsbGVkOmEoInRodW1ic2Rvd24tZmlsbGVkIiw2MDQzNSksdGh1bWJzdXBGaWxsZWQ6YSgidGh1bWJzdXAtZmlsbGVkIiw2MDQzNiksY29mZmVlOmEoImNvZmZlZSIsNjA0MzcpLHNuYWtlOmEoInNuYWtlIiw2MDQzOCksZ2FtZTphKCJnYW1lIiw2MDQzOSksdnI6YSgidnIiLDYwNDQwKSxjaGlwOmEoImNoaXAiLDYwNDQxKSxwaWFubzphKCJwaWFubyIsNjA0NDIpLG11c2ljOmEoIm11c2ljIiw2MDQ0MyksbWljRmlsbGVkOmEoIm1pYy1maWxsZWQiLDYwNDQ0KSxyZXBvRmV0Y2g6YSgicmVwby1mZXRjaCIsNjA0NDUpLGNvcGlsb3Q6YSgiY29waWxvdCIsNjA0NDYpLGxpZ2h0YnVsYlNwYXJrbGU6YSgibGlnaHRidWxiLXNwYXJrbGUiLDYwNDQ3KSxyb2JvdDphKCJyb2JvdCIsNjA0NDgpLHNwYXJrbGVGaWxsZWQ6YSgic3BhcmtsZS1maWxsZWQiLDYwNDQ5KSxkaWZmU2luZ2xlOmEoImRpZmYtc2luZ2xlIiw2MDQ1MCksZGlmZk11bHRpcGxlOmEoImRpZmYtbXVsdGlwbGUiLDYwNDUxKSxzdXJyb3VuZFdpdGg6YSgic3Vycm91bmQtd2l0aCIsNjA0NTIpLHNoYXJlOmEoInNoYXJlIiw2MDQ1MyksZ2l0U3Rhc2g6YSgiZ2l0LXN0YXNoIiw2MDQ1NCksZ2l0U3Rhc2hBcHBseTphKCJnaXQtc3Rhc2gtYXBwbHkiLDYwNDU1KSxnaXRTdGFzaFBvcDphKCJnaXQtc3Rhc2gtcG9wIiw2MDQ1NiksdnNjb2RlOmEoInZzY29kZSIsNjA0NTcpLHZzY29kZUluc2lkZXJzOmEoInZzY29kZS1pbnNpZGVycyIsNjA0NTgpLGNvZGVPc3M6YSgiY29kZS1vc3MiLDYwNDU5KSxydW5Db3ZlcmFnZTphKCJydW4tY292ZXJhZ2UiLDYwNDYwKSxydW5BbGxDb3ZlcmFnZTphKCJydW4tYWxsLWNvdmVyYWdlIiw2MDQ2MSksY292ZXJhZ2U6YSgiY292ZXJhZ2UiLDYwNDYyKSxnaXRodWJQcm9qZWN0OmEoImdpdGh1Yi1wcm9qZWN0Iiw2MDQ2MyksbWFwVmVydGljYWw6YSgibWFwLXZlcnRpY2FsIiw2MDQ2NCksZm9sZFZlcnRpY2FsOmEoImZvbGQtdmVydGljYWwiLDYwNDY0KSxtYXBWZXJ0aWNhbEZpbGxlZDphKCJtYXAtdmVydGljYWwtZmlsbGVkIiw2MDQ2NSksZm9sZFZlcnRpY2FsRmlsbGVkOmEoImZvbGQtdmVydGljYWwtZmlsbGVkIiw2MDQ2NSl9LE5pPXtkaWFsb2dFcnJvcjphKCJkaWFsb2ctZXJyb3IiLCJlcnJvciIpLGRpYWxvZ1dhcm5pbmc6YSgiZGlhbG9nLXdhcm5pbmciLCJ3YXJuaW5nIiksZGlhbG9nSW5mbzphKCJkaWFsb2ctaW5mbyIsImluZm8iKSxkaWFsb2dDbG9zZTphKCJkaWFsb2ctY2xvc2UiLCJjbG9zZSIpLHRyZWVJdGVtRXhwYW5kZWQ6YSgidHJlZS1pdGVtLWV4cGFuZGVkIiwiY2hldnJvbi1kb3duIiksdHJlZUZpbHRlck9uVHlwZU9uOmEoInRyZWUtZmlsdGVyLW9uLXR5cGUtb24iLCJsaXN0LWZpbHRlciIpLHRyZWVGaWx0ZXJPblR5cGVPZmY6YSgidHJlZS1maWx0ZXItb24tdHlwZS1vZmYiLCJsaXN0LXNlbGVjdGlvbiIpLHRyZWVGaWx0ZXJDbGVhcjphKCJ0cmVlLWZpbHRlci1jbGVhciIsImNsb3NlIiksdHJlZUl0ZW1Mb2FkaW5nOmEoInRyZWUtaXRlbS1sb2FkaW5nIiwibG9hZGluZyIpLG1lbnVTZWxlY3Rpb246YSgibWVudS1zZWxlY3Rpb24iLCJjaGVjayIpLG1lbnVTdWJtZW51OmEoIm1lbnUtc3VibWVudSIsImNoZXZyb24tcmlnaHQiKSxtZW51QmFyTW9yZTphKCJtZW51YmFyLW1vcmUiLCJtb3JlIiksc2Nyb2xsYmFyQnV0dG9uTGVmdDphKCJzY3JvbGxiYXItYnV0dG9uLWxlZnQiLCJ0cmlhbmdsZS1sZWZ0Iiksc2Nyb2xsYmFyQnV0dG9uUmlnaHQ6YSgic2Nyb2xsYmFyLWJ1dHRvbi1yaWdodCIsInRyaWFuZ2xlLXJpZ2h0Iiksc2Nyb2xsYmFyQnV0dG9uVXA6YSgic2Nyb2xsYmFyLWJ1dHRvbi11cCIsInRyaWFuZ2xlLXVwIiksc2Nyb2xsYmFyQnV0dG9uRG93bjphKCJzY3JvbGxiYXItYnV0dG9uLWRvd24iLCJ0cmlhbmdsZS1kb3duIiksdG9vbEJhck1vcmU6YSgidG9vbGJhci1tb3JlIiwibW9yZSIpLHF1aWNrSW5wdXRCYWNrOmEoInF1aWNrLWlucHV0LWJhY2siLCJhcnJvdy1sZWZ0IiksZHJvcERvd25CdXR0b246YSgiZHJvcC1kb3duLWJ1dHRvbiIsNjAwODQpLHN5bWJvbEN1c3RvbUNvbG9yOmEoInN5bWJvbC1jdXN0b21jb2xvciIsNjAyNTIpLGV4cG9ydEljb246YSgiZXhwb3J0Iiw2MDMzMiksd29ya3NwYWNlVW5zcGVjaWZpZWQ6YSgid29ya3NwYWNlLXVuc3BlY2lmaWVkIiw2MDM1NSksbmV3TGluZTphKCJuZXdsaW5lIiw2MDM5NCksdGh1bWJzRG93bkZpbGxlZDphKCJ0aHVtYnNkb3duLWZpbGxlZCIsNjA0MzUpLHRodW1ic1VwRmlsbGVkOmEoInRodW1ic3VwLWZpbGxlZCIsNjA0MzYpLGdpdEZldGNoOmEoImdpdC1mZXRjaCIsNjA0NDUpLGxpZ2h0YnVsYlNwYXJrbGVBdXRvZml4OmEoImxpZ2h0YnVsYi1zcGFya2xlLWF1dG9maXgiLDYwNDQ3KSxkZWJ1Z0JyZWFrcG9pbnRQZW5kaW5nOmEoImRlYnVnLWJyZWFrcG9pbnQtcGVuZGluZyIsNjAzNzcpfSxNPXsuLi53aSwuLi5OaX07Y2xhc3MgU2l7Y29uc3RydWN0b3IoKXt0aGlzLl90b2tlbml6YXRpb25TdXBwb3J0cz1uZXcgTWFwLHRoaXMuX2ZhY3Rvcmllcz1uZXcgTWFwLHRoaXMuX29uRGlkQ2hhbmdlPW5ldyBzZSx0aGlzLm9uRGlkQ2hhbmdlPXRoaXMuX29uRGlkQ2hhbmdlLmV2ZW50LHRoaXMuX2NvbG9yTWFwPW51bGx9aGFuZGxlQ2hhbmdlKHQpe3RoaXMuX29uRGlkQ2hhbmdlLmZpcmUoe2NoYW5nZWRMYW5ndWFnZXM6dCxjaGFuZ2VkQ29sb3JNYXA6ITF9KX1yZWdpc3Rlcih0LG4pe3JldHVybiB0aGlzLl90b2tlbml6YXRpb25TdXBwb3J0cy5zZXQodCxuKSx0aGlzLmhhbmRsZUNoYW5nZShbdF0pLEtlKCgpPT57dGhpcy5fdG9rZW5pemF0aW9uU3VwcG9ydHMuZ2V0KHQpPT09biYmKHRoaXMuX3Rva2VuaXphdGlvblN1cHBvcnRzLmRlbGV0ZSh0KSx0aGlzLmhhbmRsZUNoYW5nZShbdF0pKX0pfWdldCh0KXtyZXR1cm4gdGhpcy5fdG9rZW5pemF0aW9uU3VwcG9ydHMuZ2V0KHQpfHxudWxsfXJlZ2lzdGVyRmFjdG9yeSh0LG4pe3ZhciByOyhyPXRoaXMuX2ZhY3Rvcmllcy5nZXQodCkpPT09bnVsbHx8cj09PXZvaWQgMHx8ci5kaXNwb3NlKCk7Y29uc3Qgcz1uZXcgQWkodGhpcyx0LG4pO3JldHVybiB0aGlzLl9mYWN0b3JpZXMuc2V0KHQscyksS2UoKCk9Pntjb25zdCBpPXRoaXMuX2ZhY3Rvcmllcy5nZXQodCk7IWl8fGkhPT1zfHwodGhpcy5fZmFjdG9yaWVzLmRlbGV0ZSh0KSxpLmRpc3Bvc2UoKSl9KX1hc3luYyBnZXRPckNyZWF0ZSh0KXtjb25zdCBuPXRoaXMuZ2V0KHQpO2lmKG4pcmV0dXJuIG47Y29uc3Qgcj10aGlzLl9mYWN0b3JpZXMuZ2V0KHQpO3JldHVybiFyfHxyLmlzUmVzb2x2ZWQ/bnVsbDooYXdhaXQgci5yZXNvbHZlKCksdGhpcy5nZXQodCkpfWlzUmVzb2x2ZWQodCl7aWYodGhpcy5nZXQodCkpcmV0dXJuITA7Y29uc3Qgcj10aGlzLl9mYWN0b3JpZXMuZ2V0KHQpO3JldHVybiEhKCFyfHxyLmlzUmVzb2x2ZWQpfXNldENvbG9yTWFwKHQpe3RoaXMuX2NvbG9yTWFwPXQsdGhpcy5fb25EaWRDaGFuZ2UuZmlyZSh7Y2hhbmdlZExhbmd1YWdlczpBcnJheS5mcm9tKHRoaXMuX3Rva2VuaXphdGlvblN1cHBvcnRzLmtleXMoKSksY2hhbmdlZENvbG9yTWFwOiEwfSl9Z2V0Q29sb3JNYXAoKXtyZXR1cm4gdGhpcy5fY29sb3JNYXB9Z2V0RGVmYXVsdEJhY2tncm91bmQoKXtyZXR1cm4gdGhpcy5fY29sb3JNYXAmJnRoaXMuX2NvbG9yTWFwLmxlbmd0aD4yP3RoaXMuX2NvbG9yTWFwWzJdOm51bGx9fWNsYXNzIEFpIGV4dGVuZHMgT2V7Z2V0IGlzUmVzb2x2ZWQoKXtyZXR1cm4gdGhpcy5faXNSZXNvbHZlZH1jb25zdHJ1Y3Rvcih0LG4scil7c3VwZXIoKSx0aGlzLl9yZWdpc3RyeT10LHRoaXMuX2xhbmd1YWdlSWQ9bix0aGlzLl9mYWN0b3J5PXIsdGhpcy5faXNEaXNwb3NlZD0hMSx0aGlzLl9yZXNvbHZlUHJvbWlzZT1udWxsLHRoaXMuX2lzUmVzb2x2ZWQ9ITF9ZGlzcG9zZSgpe3RoaXMuX2lzRGlzcG9zZWQ9ITAsc3VwZXIuZGlzcG9zZSgpfWFzeW5jIHJlc29sdmUoKXtyZXR1cm4gdGhpcy5fcmVzb2x2ZVByb21pc2V8fCh0aGlzLl9yZXNvbHZlUHJvbWlzZT10aGlzLl9jcmVhdGUoKSksdGhpcy5fcmVzb2x2ZVByb21pc2V9YXN5bmMgX2NyZWF0ZSgpe2NvbnN0IHQ9YXdhaXQgdGhpcy5fZmFjdG9yeS50b2tlbml6YXRpb25TdXBwb3J0O3RoaXMuX2lzUmVzb2x2ZWQ9ITAsdCYmIXRoaXMuX2lzRGlzcG9zZWQmJnRoaXMuX3JlZ2lzdGVyKHRoaXMuX3JlZ2lzdHJ5LnJlZ2lzdGVyKHRoaXMuX2xhbmd1YWdlSWQsdCkpfX1jbGFzcyBSaXtjb25zdHJ1Y3Rvcih0LG4scil7dGhpcy5vZmZzZXQ9dCx0aGlzLnR5cGU9bix0aGlzLmxhbmd1YWdlPXIsdGhpcy5fdG9rZW5CcmFuZD12b2lkIDB9dG9TdHJpbmcoKXtyZXR1cm4iKCIrdGhpcy5vZmZzZXQrIiwgIit0aGlzLnR5cGUrIikifX12YXIgUm47KGZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IE1hcDt0LnNldCgwLE0uc3ltYm9sTWV0aG9kKSx0LnNldCgxLE0uc3ltYm9sRnVuY3Rpb24pLHQuc2V0KDIsTS5zeW1ib2xDb25zdHJ1Y3RvciksdC5zZXQoMyxNLnN5bWJvbEZpZWxkKSx0LnNldCg0LE0uc3ltYm9sVmFyaWFibGUpLHQuc2V0KDUsTS5zeW1ib2xDbGFzcyksdC5zZXQoNixNLnN5bWJvbFN0cnVjdCksdC5zZXQoNyxNLnN5bWJvbEludGVyZmFjZSksdC5zZXQoOCxNLnN5bWJvbE1vZHVsZSksdC5zZXQoOSxNLnN5bWJvbFByb3BlcnR5KSx0LnNldCgxMCxNLnN5bWJvbEV2ZW50KSx0LnNldCgxMSxNLnN5bWJvbE9wZXJhdG9yKSx0LnNldCgxMixNLnN5bWJvbFVuaXQpLHQuc2V0KDEzLE0uc3ltYm9sVmFsdWUpLHQuc2V0KDE1LE0uc3ltYm9sRW51bSksdC5zZXQoMTQsTS5zeW1ib2xDb25zdGFudCksdC5zZXQoMTUsTS5zeW1ib2xFbnVtKSx0LnNldCgxNixNLnN5bWJvbEVudW1NZW1iZXIpLHQuc2V0KDE3LE0uc3ltYm9sS2V5d29yZCksdC5zZXQoMjcsTS5zeW1ib2xTbmlwcGV0KSx0LnNldCgxOCxNLnN5bWJvbFRleHQpLHQuc2V0KDE5LE0uc3ltYm9sQ29sb3IpLHQuc2V0KDIwLE0uc3ltYm9sRmlsZSksdC5zZXQoMjEsTS5zeW1ib2xSZWZlcmVuY2UpLHQuc2V0KDIyLE0uc3ltYm9sQ3VzdG9tQ29sb3IpLHQuc2V0KDIzLE0uc3ltYm9sRm9sZGVyKSx0LnNldCgyNCxNLnN5bWJvbFR5cGVQYXJhbWV0ZXIpLHQuc2V0KDI1LE0uYWNjb3VudCksdC5zZXQoMjYsTS5pc3N1ZXMpO2Z1bmN0aW9uIG4oaSl7bGV0IG89dC5nZXQoaSk7cmV0dXJuIG98fChvPU0uc3ltYm9sUHJvcGVydHkpLG99ZS50b0ljb249bjtjb25zdCByPW5ldyBNYXA7ci5zZXQoIm1ldGhvZCIsMCksci5zZXQoImZ1bmN0aW9uIiwxKSxyLnNldCgiY29uc3RydWN0b3IiLDIpLHIuc2V0KCJmaWVsZCIsMyksci5zZXQoInZhcmlhYmxlIiw0KSxyLnNldCgiY2xhc3MiLDUpLHIuc2V0KCJzdHJ1Y3QiLDYpLHIuc2V0KCJpbnRlcmZhY2UiLDcpLHIuc2V0KCJtb2R1bGUiLDgpLHIuc2V0KCJwcm9wZXJ0eSIsOSksci5zZXQoImV2ZW50IiwxMCksci5zZXQoIm9wZXJhdG9yIiwxMSksci5zZXQoInVuaXQiLDEyKSxyLnNldCgidmFsdWUiLDEzKSxyLnNldCgiY29uc3RhbnQiLDE0KSxyLnNldCgiZW51bSIsMTUpLHIuc2V0KCJlbnVtLW1lbWJlciIsMTYpLHIuc2V0KCJlbnVtTWVtYmVyIiwxNiksci5zZXQoImtleXdvcmQiLDE3KSxyLnNldCgic25pcHBldCIsMjcpLHIuc2V0KCJ0ZXh0IiwxOCksci5zZXQoImNvbG9yIiwxOSksci5zZXQoImZpbGUiLDIwKSxyLnNldCgicmVmZXJlbmNlIiwyMSksci5zZXQoImN1c3RvbWNvbG9yIiwyMiksci5zZXQoImZvbGRlciIsMjMpLHIuc2V0KCJ0eXBlLXBhcmFtZXRlciIsMjQpLHIuc2V0KCJ0eXBlUGFyYW1ldGVyIiwyNCksci5zZXQoImFjY291bnQiLDI1KSxyLnNldCgiaXNzdWUiLDI2KTtmdW5jdGlvbiBzKGksbyl7bGV0IGw9ci5nZXQoaSk7cmV0dXJuIHR5cGVvZiBsPiJ1IiYmIW8mJihsPTkpLGx9ZS5mcm9tU3RyaW5nPXN9KShSbnx8KFJuPXt9KSk7dmFyIENuOyhmdW5jdGlvbihlKXtlW2UuQXV0b21hdGljPTBdPSJBdXRvbWF0aWMiLGVbZS5FeHBsaWNpdD0xXT0iRXhwbGljaXQifSkoQ258fChDbj17fSkpO3ZhciBFbjsoZnVuY3Rpb24oZSl7ZVtlLkF1dG9tYXRpYz0wXT0iQXV0b21hdGljIixlW2UuUGFzdGVBcz0xXT0iUGFzdGVBcyJ9KShFbnx8KEVuPXt9KSk7dmFyIHluOyhmdW5jdGlvbihlKXtlW2UuSW52b2tlPTFdPSJJbnZva2UiLGVbZS5UcmlnZ2VyQ2hhcmFjdGVyPTJdPSJUcmlnZ2VyQ2hhcmFjdGVyIixlW2UuQ29udGVudENoYW5nZT0zXT0iQ29udGVudENoYW5nZSJ9KSh5bnx8KHluPXt9KSk7dmFyIE1uOyhmdW5jdGlvbihlKXtlW2UuVGV4dD0wXT0iVGV4dCIsZVtlLlJlYWQ9MV09IlJlYWQiLGVbZS5Xcml0ZT0yXT0iV3JpdGUifSkoTW58fChNbj17fSkpLHEoIkFycmF5IiwiYXJyYXkiKSxxKCJCb29sZWFuIiwiYm9vbGVhbiIpLHEoIkNsYXNzIiwiY2xhc3MiKSxxKCJDb25zdGFudCIsImNvbnN0YW50IikscSgiQ29uc3RydWN0b3IiLCJjb25zdHJ1Y3RvciIpLHEoIkVudW0iLCJlbnVtZXJhdGlvbiIpLHEoIkVudW1NZW1iZXIiLCJlbnVtZXJhdGlvbiBtZW1iZXIiKSxxKCJFdmVudCIsImV2ZW50IikscSgiRmllbGQiLCJmaWVsZCIpLHEoIkZpbGUiLCJmaWxlIikscSgiRnVuY3Rpb24iLCJmdW5jdGlvbiIpLHEoIkludGVyZmFjZSIsImludGVyZmFjZSIpLHEoIktleSIsImtleSIpLHEoIk1ldGhvZCIsIm1ldGhvZCIpLHEoIk1vZHVsZSIsIm1vZHVsZSIpLHEoIk5hbWVzcGFjZSIsIm5hbWVzcGFjZSIpLHEoIk51bGwiLCJudWxsIikscSgiTnVtYmVyIiwibnVtYmVyIikscSgiT2JqZWN0Iiwib2JqZWN0IikscSgiT3BlcmF0b3IiLCJvcGVyYXRvciIpLHEoIlBhY2thZ2UiLCJwYWNrYWdlIikscSgiUHJvcGVydHkiLCJwcm9wZXJ0eSIpLHEoIlN0cmluZyIsInN0cmluZyIpLHEoIlN0cnVjdCIsInN0cnVjdCIpLHEoIlR5cGVQYXJhbWV0ZXIiLCJ0eXBlIHBhcmFtZXRlciIpLHEoIlZhcmlhYmxlIiwidmFyaWFibGUiKTt2YXIga247KGZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IE1hcDt0LnNldCgwLE0uc3ltYm9sRmlsZSksdC5zZXQoMSxNLnN5bWJvbE1vZHVsZSksdC5zZXQoMixNLnN5bWJvbE5hbWVzcGFjZSksdC5zZXQoMyxNLnN5bWJvbFBhY2thZ2UpLHQuc2V0KDQsTS5zeW1ib2xDbGFzcyksdC5zZXQoNSxNLnN5bWJvbE1ldGhvZCksdC5zZXQoNixNLnN5bWJvbFByb3BlcnR5KSx0LnNldCg3LE0uc3ltYm9sRmllbGQpLHQuc2V0KDgsTS5zeW1ib2xDb25zdHJ1Y3RvciksdC5zZXQoOSxNLnN5bWJvbEVudW0pLHQuc2V0KDEwLE0uc3ltYm9sSW50ZXJmYWNlKSx0LnNldCgxMSxNLnN5bWJvbEZ1bmN0aW9uKSx0LnNldCgxMixNLnN5bWJvbFZhcmlhYmxlKSx0LnNldCgxMyxNLnN5bWJvbENvbnN0YW50KSx0LnNldCgxNCxNLnN5bWJvbFN0cmluZyksdC5zZXQoMTUsTS5zeW1ib2xOdW1iZXIpLHQuc2V0KDE2LE0uc3ltYm9sQm9vbGVhbiksdC5zZXQoMTcsTS5zeW1ib2xBcnJheSksdC5zZXQoMTgsTS5zeW1ib2xPYmplY3QpLHQuc2V0KDE5LE0uc3ltYm9sS2V5KSx0LnNldCgyMCxNLnN5bWJvbE51bGwpLHQuc2V0KDIxLE0uc3ltYm9sRW51bU1lbWJlciksdC5zZXQoMjIsTS5zeW1ib2xTdHJ1Y3QpLHQuc2V0KDIzLE0uc3ltYm9sRXZlbnQpLHQuc2V0KDI0LE0uc3ltYm9sT3BlcmF0b3IpLHQuc2V0KDI1LE0uc3ltYm9sVHlwZVBhcmFtZXRlcik7ZnVuY3Rpb24gbihyKXtsZXQgcz10LmdldChyKTtyZXR1cm4gc3x8KHM9TS5zeW1ib2xQcm9wZXJ0eSksc31lLnRvSWNvbj1ufSkoa258fChrbj17fSkpO3ZhciBUbjsoZnVuY3Rpb24oZSl7ZVtlLkFJR2VuZXJhdGVkPTFdPSJBSUdlbmVyYXRlZCJ9KShUbnx8KFRuPXt9KSk7dmFyIERuOyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KG4pe3JldHVybiFufHx0eXBlb2YgbiE9Im9iamVjdCI/ITE6dHlwZW9mIG4uaWQ9PSJzdHJpbmciJiZ0eXBlb2Ygbi50aXRsZT09InN0cmluZyJ9ZS5pcz10fSkoRG58fChEbj17fSkpO3ZhciBQbjsoZnVuY3Rpb24oZSl7ZVtlLlR5cGU9MV09IlR5cGUiLGVbZS5QYXJhbWV0ZXI9Ml09IlBhcmFtZXRlciJ9KShQbnx8KFBuPXt9KSksbmV3IFNpO3ZhciBGbjsoZnVuY3Rpb24oZSl7ZVtlLkludm9rZT0wXT0iSW52b2tlIixlW2UuQXV0b21hdGljPTFdPSJBdXRvbWF0aWMifSkoRm58fChGbj17fSkpO3ZhciBJbjsoZnVuY3Rpb24oZSl7ZVtlLlVua25vd249MF09IlVua25vd24iLGVbZS5EaXNhYmxlZD0xXT0iRGlzYWJsZWQiLGVbZS5FbmFibGVkPTJdPSJFbmFibGVkIn0pKElufHwoSW49e30pKTt2YXIgQm47KGZ1bmN0aW9uKGUpe2VbZS5JbnZva2U9MV09Ikludm9rZSIsZVtlLkF1dG89Ml09IkF1dG8ifSkoQm58fChCbj17fSkpO3ZhciBWbjsoZnVuY3Rpb24oZSl7ZVtlLk5vbmU9MF09Ik5vbmUiLGVbZS5LZWVwV2hpdGVzcGFjZT0xXT0iS2VlcFdoaXRlc3BhY2UiLGVbZS5JbnNlcnRBc1NuaXBwZXQ9NF09Ikluc2VydEFzU25pcHBldCJ9KShWbnx8KFZuPXt9KSk7dmFyIFVuOyhmdW5jdGlvbihlKXtlW2UuTWV0aG9kPTBdPSJNZXRob2QiLGVbZS5GdW5jdGlvbj0xXT0iRnVuY3Rpb24iLGVbZS5Db25zdHJ1Y3Rvcj0yXT0iQ29uc3RydWN0b3IiLGVbZS5GaWVsZD0zXT0iRmllbGQiLGVbZS5WYXJpYWJsZT00XT0iVmFyaWFibGUiLGVbZS5DbGFzcz01XT0iQ2xhc3MiLGVbZS5TdHJ1Y3Q9Nl09IlN0cnVjdCIsZVtlLkludGVyZmFjZT03XT0iSW50ZXJmYWNlIixlW2UuTW9kdWxlPThdPSJNb2R1bGUiLGVbZS5Qcm9wZXJ0eT05XT0iUHJvcGVydHkiLGVbZS5FdmVudD0xMF09IkV2ZW50IixlW2UuT3BlcmF0b3I9MTFdPSJPcGVyYXRvciIsZVtlLlVuaXQ9MTJdPSJVbml0IixlW2UuVmFsdWU9MTNdPSJWYWx1ZSIsZVtlLkNvbnN0YW50PTE0XT0iQ29uc3RhbnQiLGVbZS5FbnVtPTE1XT0iRW51bSIsZVtlLkVudW1NZW1iZXI9MTZdPSJFbnVtTWVtYmVyIixlW2UuS2V5d29yZD0xN109IktleXdvcmQiLGVbZS5UZXh0PTE4XT0iVGV4dCIsZVtlLkNvbG9yPTE5XT0iQ29sb3IiLGVbZS5GaWxlPTIwXT0iRmlsZSIsZVtlLlJlZmVyZW5jZT0yMV09IlJlZmVyZW5jZSIsZVtlLkN1c3RvbWNvbG9yPTIyXT0iQ3VzdG9tY29sb3IiLGVbZS5Gb2xkZXI9MjNdPSJGb2xkZXIiLGVbZS5UeXBlUGFyYW1ldGVyPTI0XT0iVHlwZVBhcmFtZXRlciIsZVtlLlVzZXI9MjVdPSJVc2VyIixlW2UuSXNzdWU9MjZdPSJJc3N1ZSIsZVtlLlNuaXBwZXQ9MjddPSJTbmlwcGV0In0pKFVufHwoVW49e30pKTt2YXIgSG47KGZ1bmN0aW9uKGUpe2VbZS5EZXByZWNhdGVkPTFdPSJEZXByZWNhdGVkIn0pKEhufHwoSG49e30pKTt2YXIgcW47KGZ1bmN0aW9uKGUpe2VbZS5JbnZva2U9MF09Ikludm9rZSIsZVtlLlRyaWdnZXJDaGFyYWN0ZXI9MV09IlRyaWdnZXJDaGFyYWN0ZXIiLGVbZS5UcmlnZ2VyRm9ySW5jb21wbGV0ZUNvbXBsZXRpb25zPTJdPSJUcmlnZ2VyRm9ySW5jb21wbGV0ZUNvbXBsZXRpb25zIn0pKHFufHwocW49e30pKTt2YXIgT247KGZ1bmN0aW9uKGUpe2VbZS5FWEFDVD0wXT0iRVhBQ1QiLGVbZS5BQk9WRT0xXT0iQUJPVkUiLGVbZS5CRUxPVz0yXT0iQkVMT1cifSkoT258fChPbj17fSkpO3ZhciBXbjsoZnVuY3Rpb24oZSl7ZVtlLk5vdFNldD0wXT0iTm90U2V0IixlW2UuQ29udGVudEZsdXNoPTFdPSJDb250ZW50Rmx1c2giLGVbZS5SZWNvdmVyRnJvbU1hcmtlcnM9Ml09IlJlY292ZXJGcm9tTWFya2VycyIsZVtlLkV4cGxpY2l0PTNdPSJFeHBsaWNpdCIsZVtlLlBhc3RlPTRdPSJQYXN0ZSIsZVtlLlVuZG89NV09IlVuZG8iLGVbZS5SZWRvPTZdPSJSZWRvIn0pKFdufHwoV249e30pKTt2YXIgem47KGZ1bmN0aW9uKGUpe2VbZS5MRj0xXT0iTEYiLGVbZS5DUkxGPTJdPSJDUkxGIn0pKHpufHwoem49e30pKTt2YXIgR247KGZ1bmN0aW9uKGUpe2VbZS5UZXh0PTBdPSJUZXh0IixlW2UuUmVhZD0xXT0iUmVhZCIsZVtlLldyaXRlPTJdPSJXcml0ZSJ9KShHbnx8KEduPXt9KSk7dmFyICRuOyhmdW5jdGlvbihlKXtlW2UuTm9uZT0wXT0iTm9uZSIsZVtlLktlZXA9MV09IktlZXAiLGVbZS5CcmFja2V0cz0yXT0iQnJhY2tldHMiLGVbZS5BZHZhbmNlZD0zXT0iQWR2YW5jZWQiLGVbZS5GdWxsPTRdPSJGdWxsIn0pKCRufHwoJG49e30pKTt2YXIgam47KGZ1bmN0aW9uKGUpe2VbZS5hY2NlcHRTdWdnZXN0aW9uT25Db21taXRDaGFyYWN0ZXI9MF09ImFjY2VwdFN1Z2dlc3Rpb25PbkNvbW1pdENoYXJhY3RlciIsZVtlLmFjY2VwdFN1Z2dlc3Rpb25PbkVudGVyPTFdPSJhY2NlcHRTdWdnZXN0aW9uT25FbnRlciIsZVtlLmFjY2Vzc2liaWxpdHlTdXBwb3J0PTJdPSJhY2Nlc3NpYmlsaXR5U3VwcG9ydCIsZVtlLmFjY2Vzc2liaWxpdHlQYWdlU2l6ZT0zXT0iYWNjZXNzaWJpbGl0eVBhZ2VTaXplIixlW2UuYXJpYUxhYmVsPTRdPSJhcmlhTGFiZWwiLGVbZS5hcmlhUmVxdWlyZWQ9NV09ImFyaWFSZXF1aXJlZCIsZVtlLmF1dG9DbG9zaW5nQnJhY2tldHM9Nl09ImF1dG9DbG9zaW5nQnJhY2tldHMiLGVbZS5hdXRvQ2xvc2luZ0NvbW1lbnRzPTddPSJhdXRvQ2xvc2luZ0NvbW1lbnRzIixlW2Uuc2NyZWVuUmVhZGVyQW5ub3VuY2VJbmxpbmVTdWdnZXN0aW9uPThdPSJzY3JlZW5SZWFkZXJBbm5vdW5jZUlubGluZVN1Z2dlc3Rpb24iLGVbZS5hdXRvQ2xvc2luZ0RlbGV0ZT05XT0iYXV0b0Nsb3NpbmdEZWxldGUiLGVbZS5hdXRvQ2xvc2luZ092ZXJ0eXBlPTEwXT0iYXV0b0Nsb3NpbmdPdmVydHlwZSIsZVtlLmF1dG9DbG9zaW5nUXVvdGVzPTExXT0iYXV0b0Nsb3NpbmdRdW90ZXMiLGVbZS5hdXRvSW5kZW50PTEyXT0iYXV0b0luZGVudCIsZVtlLmF1dG9tYXRpY0xheW91dD0xM109ImF1dG9tYXRpY0xheW91dCIsZVtlLmF1dG9TdXJyb3VuZD0xNF09ImF1dG9TdXJyb3VuZCIsZVtlLmJyYWNrZXRQYWlyQ29sb3JpemF0aW9uPTE1XT0iYnJhY2tldFBhaXJDb2xvcml6YXRpb24iLGVbZS5ndWlkZXM9MTZdPSJndWlkZXMiLGVbZS5jb2RlTGVucz0xN109ImNvZGVMZW5zIixlW2UuY29kZUxlbnNGb250RmFtaWx5PTE4XT0iY29kZUxlbnNGb250RmFtaWx5IixlW2UuY29kZUxlbnNGb250U2l6ZT0xOV09ImNvZGVMZW5zRm9udFNpemUiLGVbZS5jb2xvckRlY29yYXRvcnM9MjBdPSJjb2xvckRlY29yYXRvcnMiLGVbZS5jb2xvckRlY29yYXRvcnNMaW1pdD0yMV09ImNvbG9yRGVjb3JhdG9yc0xpbWl0IixlW2UuY29sdW1uU2VsZWN0aW9uPTIyXT0iY29sdW1uU2VsZWN0aW9uIixlW2UuY29tbWVudHM9MjNdPSJjb21tZW50cyIsZVtlLmNvbnRleHRtZW51PTI0XT0iY29udGV4dG1lbnUiLGVbZS5jb3B5V2l0aFN5bnRheEhpZ2hsaWdodGluZz0yNV09ImNvcHlXaXRoU3ludGF4SGlnaGxpZ2h0aW5nIixlW2UuY3Vyc29yQmxpbmtpbmc9MjZdPSJjdXJzb3JCbGlua2luZyIsZVtlLmN1cnNvclNtb290aENhcmV0QW5pbWF0aW9uPTI3XT0iY3Vyc29yU21vb3RoQ2FyZXRBbmltYXRpb24iLGVbZS5jdXJzb3JTdHlsZT0yOF09ImN1cnNvclN0eWxlIixlW2UuY3Vyc29yU3Vycm91bmRpbmdMaW5lcz0yOV09ImN1cnNvclN1cnJvdW5kaW5nTGluZXMiLGVbZS5jdXJzb3JTdXJyb3VuZGluZ0xpbmVzU3R5bGU9MzBdPSJjdXJzb3JTdXJyb3VuZGluZ0xpbmVzU3R5bGUiLGVbZS5jdXJzb3JXaWR0aD0zMV09ImN1cnNvcldpZHRoIixlW2UuZGlzYWJsZUxheWVySGludGluZz0zMl09ImRpc2FibGVMYXllckhpbnRpbmciLGVbZS5kaXNhYmxlTW9ub3NwYWNlT3B0aW1pemF0aW9ucz0zM109ImRpc2FibGVNb25vc3BhY2VPcHRpbWl6YXRpb25zIixlW2UuZG9tUmVhZE9ubHk9MzRdPSJkb21SZWFkT25seSIsZVtlLmRyYWdBbmREcm9wPTM1XT0iZHJhZ0FuZERyb3AiLGVbZS5kcm9wSW50b0VkaXRvcj0zNl09ImRyb3BJbnRvRWRpdG9yIixlW2UuZW1wdHlTZWxlY3Rpb25DbGlwYm9hcmQ9MzddPSJlbXB0eVNlbGVjdGlvbkNsaXBib2FyZCIsZVtlLmV4cGVyaW1lbnRhbFdoaXRlc3BhY2VSZW5kZXJpbmc9MzhdPSJleHBlcmltZW50YWxXaGl0ZXNwYWNlUmVuZGVyaW5nIixlW2UuZXh0cmFFZGl0b3JDbGFzc05hbWU9MzldPSJleHRyYUVkaXRvckNsYXNzTmFtZSIsZVtlLmZhc3RTY3JvbGxTZW5zaXRpdml0eT00MF09ImZhc3RTY3JvbGxTZW5zaXRpdml0eSIsZVtlLmZpbmQ9NDFdPSJmaW5kIixlW2UuZml4ZWRPdmVyZmxvd1dpZGdldHM9NDJdPSJmaXhlZE92ZXJmbG93V2lkZ2V0cyIsZVtlLmZvbGRpbmc9NDNdPSJmb2xkaW5nIixlW2UuZm9sZGluZ1N0cmF0ZWd5PTQ0XT0iZm9sZGluZ1N0cmF0ZWd5IixlW2UuZm9sZGluZ0hpZ2hsaWdodD00NV09ImZvbGRpbmdIaWdobGlnaHQiLGVbZS5mb2xkaW5nSW1wb3J0c0J5RGVmYXVsdD00Nl09ImZvbGRpbmdJbXBvcnRzQnlEZWZhdWx0IixlW2UuZm9sZGluZ01heGltdW1SZWdpb25zPTQ3XT0iZm9sZGluZ01heGltdW1SZWdpb25zIixlW2UudW5mb2xkT25DbGlja0FmdGVyRW5kT2ZMaW5lPTQ4XT0idW5mb2xkT25DbGlja0FmdGVyRW5kT2ZMaW5lIixlW2UuZm9udEZhbWlseT00OV09ImZvbnRGYW1pbHkiLGVbZS5mb250SW5mbz01MF09ImZvbnRJbmZvIixlW2UuZm9udExpZ2F0dXJlcz01MV09ImZvbnRMaWdhdHVyZXMiLGVbZS5mb250U2l6ZT01Ml09ImZvbnRTaXplIixlW2UuZm9udFdlaWdodD01M109ImZvbnRXZWlnaHQiLGVbZS5mb250VmFyaWF0aW9ucz01NF09ImZvbnRWYXJpYXRpb25zIixlW2UuZm9ybWF0T25QYXN0ZT01NV09ImZvcm1hdE9uUGFzdGUiLGVbZS5mb3JtYXRPblR5cGU9NTZdPSJmb3JtYXRPblR5cGUiLGVbZS5nbHlwaE1hcmdpbj01N109ImdseXBoTWFyZ2luIixlW2UuZ290b0xvY2F0aW9uPTU4XT0iZ290b0xvY2F0aW9uIixlW2UuaGlkZUN1cnNvckluT3ZlcnZpZXdSdWxlcj01OV09ImhpZGVDdXJzb3JJbk92ZXJ2aWV3UnVsZXIiLGVbZS5ob3Zlcj02MF09ImhvdmVyIixlW2UuaW5EaWZmRWRpdG9yPTYxXT0iaW5EaWZmRWRpdG9yIixlW2UuaW5saW5lU3VnZ2VzdD02Ml09ImlubGluZVN1Z2dlc3QiLGVbZS5pbmxpbmVFZGl0PTYzXT0iaW5saW5lRWRpdCIsZVtlLmxldHRlclNwYWNpbmc9NjRdPSJsZXR0ZXJTcGFjaW5nIixlW2UubGlnaHRidWxiPTY1XT0ibGlnaHRidWxiIixlW2UubGluZURlY29yYXRpb25zV2lkdGg9NjZdPSJsaW5lRGVjb3JhdGlvbnNXaWR0aCIsZVtlLmxpbmVIZWlnaHQ9NjddPSJsaW5lSGVpZ2h0IixlW2UubGluZU51bWJlcnM9NjhdPSJsaW5lTnVtYmVycyIsZVtlLmxpbmVOdW1iZXJzTWluQ2hhcnM9NjldPSJsaW5lTnVtYmVyc01pbkNoYXJzIixlW2UubGlua2VkRWRpdGluZz03MF09ImxpbmtlZEVkaXRpbmciLGVbZS5saW5rcz03MV09ImxpbmtzIixlW2UubWF0Y2hCcmFja2V0cz03Ml09Im1hdGNoQnJhY2tldHMiLGVbZS5taW5pbWFwPTczXT0ibWluaW1hcCIsZVtlLm1vdXNlU3R5bGU9NzRdPSJtb3VzZVN0eWxlIixlW2UubW91c2VXaGVlbFNjcm9sbFNlbnNpdGl2aXR5PTc1XT0ibW91c2VXaGVlbFNjcm9sbFNlbnNpdGl2aXR5IixlW2UubW91c2VXaGVlbFpvb209NzZdPSJtb3VzZVdoZWVsWm9vbSIsZVtlLm11bHRpQ3Vyc29yTWVyZ2VPdmVybGFwcGluZz03N109Im11bHRpQ3Vyc29yTWVyZ2VPdmVybGFwcGluZyIsZVtlLm11bHRpQ3Vyc29yTW9kaWZpZXI9NzhdPSJtdWx0aUN1cnNvck1vZGlmaWVyIixlW2UubXVsdGlDdXJzb3JQYXN0ZT03OV09Im11bHRpQ3Vyc29yUGFzdGUiLGVbZS5tdWx0aUN1cnNvckxpbWl0PTgwXT0ibXVsdGlDdXJzb3JMaW1pdCIsZVtlLm9jY3VycmVuY2VzSGlnaGxpZ2h0PTgxXT0ib2NjdXJyZW5jZXNIaWdobGlnaHQiLGVbZS5vdmVydmlld1J1bGVyQm9yZGVyPTgyXT0ib3ZlcnZpZXdSdWxlckJvcmRlciIsZVtlLm92ZXJ2aWV3UnVsZXJMYW5lcz04M109Im92ZXJ2aWV3UnVsZXJMYW5lcyIsZVtlLnBhZGRpbmc9ODRdPSJwYWRkaW5nIixlW2UucGFzdGVBcz04NV09InBhc3RlQXMiLGVbZS5wYXJhbWV0ZXJIaW50cz04Nl09InBhcmFtZXRlckhpbnRzIixlW2UucGVla1dpZGdldERlZmF1bHRGb2N1cz04N109InBlZWtXaWRnZXREZWZhdWx0Rm9jdXMiLGVbZS5kZWZpbml0aW9uTGlua09wZW5zSW5QZWVrPTg4XT0iZGVmaW5pdGlvbkxpbmtPcGVuc0luUGVlayIsZVtlLnF1aWNrU3VnZ2VzdGlvbnM9ODldPSJxdWlja1N1Z2dlc3Rpb25zIixlW2UucXVpY2tTdWdnZXN0aW9uc0RlbGF5PTkwXT0icXVpY2tTdWdnZXN0aW9uc0RlbGF5IixlW2UucmVhZE9ubHk9OTFdPSJyZWFkT25seSIsZVtlLnJlYWRPbmx5TWVzc2FnZT05Ml09InJlYWRPbmx5TWVzc2FnZSIsZVtlLnJlbmFtZU9uVHlwZT05M109InJlbmFtZU9uVHlwZSIsZVtlLnJlbmRlckNvbnRyb2xDaGFyYWN0ZXJzPTk0XT0icmVuZGVyQ29udHJvbENoYXJhY3RlcnMiLGVbZS5yZW5kZXJGaW5hbE5ld2xpbmU9OTVdPSJyZW5kZXJGaW5hbE5ld2xpbmUiLGVbZS5yZW5kZXJMaW5lSGlnaGxpZ2h0PTk2XT0icmVuZGVyTGluZUhpZ2hsaWdodCIsZVtlLnJlbmRlckxpbmVIaWdobGlnaHRPbmx5V2hlbkZvY3VzPTk3XT0icmVuZGVyTGluZUhpZ2hsaWdodE9ubHlXaGVuRm9jdXMiLGVbZS5yZW5kZXJWYWxpZGF0aW9uRGVjb3JhdGlvbnM9OThdPSJyZW5kZXJWYWxpZGF0aW9uRGVjb3JhdGlvbnMiLGVbZS5yZW5kZXJXaGl0ZXNwYWNlPTk5XT0icmVuZGVyV2hpdGVzcGFjZSIsZVtlLnJldmVhbEhvcml6b250YWxSaWdodFBhZGRpbmc9MTAwXT0icmV2ZWFsSG9yaXpvbnRhbFJpZ2h0UGFkZGluZyIsZVtlLnJvdW5kZWRTZWxlY3Rpb249MTAxXT0icm91bmRlZFNlbGVjdGlvbiIsZVtlLnJ1bGVycz0xMDJdPSJydWxlcnMiLGVbZS5zY3JvbGxiYXI9MTAzXT0ic2Nyb2xsYmFyIixlW2Uuc2Nyb2xsQmV5b25kTGFzdENvbHVtbj0xMDRdPSJzY3JvbGxCZXlvbmRMYXN0Q29sdW1uIixlW2Uuc2Nyb2xsQmV5b25kTGFzdExpbmU9MTA1XT0ic2Nyb2xsQmV5b25kTGFzdExpbmUiLGVbZS5zY3JvbGxQcmVkb21pbmFudEF4aXM9MTA2XT0ic2Nyb2xsUHJlZG9taW5hbnRBeGlzIixlW2Uuc2VsZWN0aW9uQ2xpcGJvYXJkPTEwN109InNlbGVjdGlvbkNsaXBib2FyZCIsZVtlLnNlbGVjdGlvbkhpZ2hsaWdodD0xMDhdPSJzZWxlY3Rpb25IaWdobGlnaHQiLGVbZS5zZWxlY3RPbkxpbmVOdW1iZXJzPTEwOV09InNlbGVjdE9uTGluZU51bWJlcnMiLGVbZS5zaG93Rm9sZGluZ0NvbnRyb2xzPTExMF09InNob3dGb2xkaW5nQ29udHJvbHMiLGVbZS5zaG93VW51c2VkPTExMV09InNob3dVbnVzZWQiLGVbZS5zbmlwcGV0U3VnZ2VzdGlvbnM9MTEyXT0ic25pcHBldFN1Z2dlc3Rpb25zIixlW2Uuc21hcnRTZWxlY3Q9MTEzXT0ic21hcnRTZWxlY3QiLGVbZS5zbW9vdGhTY3JvbGxpbmc9MTE0XT0ic21vb3RoU2Nyb2xsaW5nIixlW2Uuc3RpY2t5U2Nyb2xsPTExNV09InN0aWNreVNjcm9sbCIsZVtlLnN0aWNreVRhYlN0b3BzPTExNl09InN0aWNreVRhYlN0b3BzIixlW2Uuc3RvcFJlbmRlcmluZ0xpbmVBZnRlcj0xMTddPSJzdG9wUmVuZGVyaW5nTGluZUFmdGVyIixlW2Uuc3VnZ2VzdD0xMThdPSJzdWdnZXN0IixlW2Uuc3VnZ2VzdEZvbnRTaXplPTExOV09InN1Z2dlc3RGb250U2l6ZSIsZVtlLnN1Z2dlc3RMaW5lSGVpZ2h0PTEyMF09InN1Z2dlc3RMaW5lSGVpZ2h0IixlW2Uuc3VnZ2VzdE9uVHJpZ2dlckNoYXJhY3RlcnM9MTIxXT0ic3VnZ2VzdE9uVHJpZ2dlckNoYXJhY3RlcnMiLGVbZS5zdWdnZXN0U2VsZWN0aW9uPTEyMl09InN1Z2dlc3RTZWxlY3Rpb24iLGVbZS50YWJDb21wbGV0aW9uPTEyM109InRhYkNvbXBsZXRpb24iLGVbZS50YWJJbmRleD0xMjRdPSJ0YWJJbmRleCIsZVtlLnVuaWNvZGVIaWdobGlnaHRpbmc9MTI1XT0idW5pY29kZUhpZ2hsaWdodGluZyIsZVtlLnVudXN1YWxMaW5lVGVybWluYXRvcnM9MTI2XT0idW51c3VhbExpbmVUZXJtaW5hdG9ycyIsZVtlLnVzZVNoYWRvd0RPTT0xMjddPSJ1c2VTaGFkb3dET00iLGVbZS51c2VUYWJTdG9wcz0xMjhdPSJ1c2VUYWJTdG9wcyIsZVtlLndvcmRCcmVhaz0xMjldPSJ3b3JkQnJlYWsiLGVbZS53b3JkU2VnbWVudGVyTG9jYWxlcz0xMzBdPSJ3b3JkU2VnbWVudGVyTG9jYWxlcyIsZVtlLndvcmRTZXBhcmF0b3JzPTEzMV09IndvcmRTZXBhcmF0b3JzIixlW2Uud29yZFdyYXA9MTMyXT0id29yZFdyYXAiLGVbZS53b3JkV3JhcEJyZWFrQWZ0ZXJDaGFyYWN0ZXJzPTEzM109IndvcmRXcmFwQnJlYWtBZnRlckNoYXJhY3RlcnMiLGVbZS53b3JkV3JhcEJyZWFrQmVmb3JlQ2hhcmFjdGVycz0xMzRdPSJ3b3JkV3JhcEJyZWFrQmVmb3JlQ2hhcmFjdGVycyIsZVtlLndvcmRXcmFwQ29sdW1uPTEzNV09IndvcmRXcmFwQ29sdW1uIixlW2Uud29yZFdyYXBPdmVycmlkZTE9MTM2XT0id29yZFdyYXBPdmVycmlkZTEiLGVbZS53b3JkV3JhcE92ZXJyaWRlMj0xMzddPSJ3b3JkV3JhcE92ZXJyaWRlMiIsZVtlLndyYXBwaW5nSW5kZW50PTEzOF09IndyYXBwaW5nSW5kZW50IixlW2Uud3JhcHBpbmdTdHJhdGVneT0xMzldPSJ3cmFwcGluZ1N0cmF0ZWd5IixlW2Uuc2hvd0RlcHJlY2F0ZWQ9MTQwXT0ic2hvd0RlcHJlY2F0ZWQiLGVbZS5pbmxheUhpbnRzPTE0MV09ImlubGF5SGludHMiLGVbZS5lZGl0b3JDbGFzc05hbWU9MTQyXT0iZWRpdG9yQ2xhc3NOYW1lIixlW2UucGl4ZWxSYXRpbz0xNDNdPSJwaXhlbFJhdGlvIixlW2UudGFiRm9jdXNNb2RlPTE0NF09InRhYkZvY3VzTW9kZSIsZVtlLmxheW91dEluZm89MTQ1XT0ibGF5b3V0SW5mbyIsZVtlLndyYXBwaW5nSW5mbz0xNDZdPSJ3cmFwcGluZ0luZm8iLGVbZS5kZWZhdWx0Q29sb3JEZWNvcmF0b3JzPTE0N109ImRlZmF1bHRDb2xvckRlY29yYXRvcnMiLGVbZS5jb2xvckRlY29yYXRvcnNBY3RpdmF0ZWRPbj0xNDhdPSJjb2xvckRlY29yYXRvcnNBY3RpdmF0ZWRPbiIsZVtlLmlubGluZUNvbXBsZXRpb25zQWNjZXNzaWJpbGl0eVZlcmJvc2U9MTQ5XT0iaW5saW5lQ29tcGxldGlvbnNBY2Nlc3NpYmlsaXR5VmVyYm9zZSJ9KShqbnx8KGpuPXt9KSk7dmFyIFhuOyhmdW5jdGlvbihlKXtlW2UuVGV4dERlZmluZWQ9MF09IlRleHREZWZpbmVkIixlW2UuTEY9MV09IkxGIixlW2UuQ1JMRj0yXT0iQ1JMRiJ9KShYbnx8KFhuPXt9KSk7dmFyIFluOyhmdW5jdGlvbihlKXtlW2UuTEY9MF09IkxGIixlW2UuQ1JMRj0xXT0iQ1JMRiJ9KShZbnx8KFluPXt9KSk7dmFyIEpuOyhmdW5jdGlvbihlKXtlW2UuTGVmdD0xXT0iTGVmdCIsZVtlLkNlbnRlcj0yXT0iQ2VudGVyIixlW2UuUmlnaHQ9M109IlJpZ2h0In0pKEpufHwoSm49e30pKTt2YXIgUW47KGZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuSW5kZW50PTFdPSJJbmRlbnQiLGVbZS5JbmRlbnRPdXRkZW50PTJdPSJJbmRlbnRPdXRkZW50IixlW2UuT3V0ZGVudD0zXT0iT3V0ZGVudCJ9KShRbnx8KFFuPXt9KSk7dmFyIFpuOyhmdW5jdGlvbihlKXtlW2UuQm90aD0wXT0iQm90aCIsZVtlLlJpZ2h0PTFdPSJSaWdodCIsZVtlLkxlZnQ9Ml09IkxlZnQiLGVbZS5Ob25lPTNdPSJOb25lIn0pKFpufHwoWm49e30pKTt2YXIgS247KGZ1bmN0aW9uKGUpe2VbZS5UeXBlPTFdPSJUeXBlIixlW2UuUGFyYW1ldGVyPTJdPSJQYXJhbWV0ZXIifSkoS258fChLbj17fSkpO3ZhciBlcjsoZnVuY3Rpb24oZSl7ZVtlLkF1dG9tYXRpYz0wXT0iQXV0b21hdGljIixlW2UuRXhwbGljaXQ9MV09IkV4cGxpY2l0In0pKGVyfHwoZXI9e30pKTt2YXIgdHI7KGZ1bmN0aW9uKGUpe2VbZS5JbnZva2U9MF09Ikludm9rZSIsZVtlLkF1dG9tYXRpYz0xXT0iQXV0b21hdGljIn0pKHRyfHwodHI9e30pKTt2YXIgVXQ7KGZ1bmN0aW9uKGUpe2VbZS5EZXBlbmRzT25LYkxheW91dD0tMV09IkRlcGVuZHNPbktiTGF5b3V0IixlW2UuVW5rbm93bj0wXT0iVW5rbm93biIsZVtlLkJhY2tzcGFjZT0xXT0iQmFja3NwYWNlIixlW2UuVGFiPTJdPSJUYWIiLGVbZS5FbnRlcj0zXT0iRW50ZXIiLGVbZS5TaGlmdD00XT0iU2hpZnQiLGVbZS5DdHJsPTVdPSJDdHJsIixlW2UuQWx0PTZdPSJBbHQiLGVbZS5QYXVzZUJyZWFrPTddPSJQYXVzZUJyZWFrIixlW2UuQ2Fwc0xvY2s9OF09IkNhcHNMb2NrIixlW2UuRXNjYXBlPTldPSJFc2NhcGUiLGVbZS5TcGFjZT0xMF09IlNwYWNlIixlW2UuUGFnZVVwPTExXT0iUGFnZVVwIixlW2UuUGFnZURvd249MTJdPSJQYWdlRG93biIsZVtlLkVuZD0xM109IkVuZCIsZVtlLkhvbWU9MTRdPSJIb21lIixlW2UuTGVmdEFycm93PTE1XT0iTGVmdEFycm93IixlW2UuVXBBcnJvdz0xNl09IlVwQXJyb3ciLGVbZS5SaWdodEFycm93PTE3XT0iUmlnaHRBcnJvdyIsZVtlLkRvd25BcnJvdz0xOF09IkRvd25BcnJvdyIsZVtlLkluc2VydD0xOV09Ikluc2VydCIsZVtlLkRlbGV0ZT0yMF09IkRlbGV0ZSIsZVtlLkRpZ2l0MD0yMV09IkRpZ2l0MCIsZVtlLkRpZ2l0MT0yMl09IkRpZ2l0MSIsZVtlLkRpZ2l0Mj0yM109IkRpZ2l0MiIsZVtlLkRpZ2l0Mz0yNF09IkRpZ2l0MyIsZVtlLkRpZ2l0ND0yNV09IkRpZ2l0NCIsZVtlLkRpZ2l0NT0yNl09IkRpZ2l0NSIsZVtlLkRpZ2l0Nj0yN109IkRpZ2l0NiIsZVtlLkRpZ2l0Nz0yOF09IkRpZ2l0NyIsZVtlLkRpZ2l0OD0yOV09IkRpZ2l0OCIsZVtlLkRpZ2l0OT0zMF09IkRpZ2l0OSIsZVtlLktleUE9MzFdPSJLZXlBIixlW2UuS2V5Qj0zMl09IktleUIiLGVbZS5LZXlDPTMzXT0iS2V5QyIsZVtlLktleUQ9MzRdPSJLZXlEIixlW2UuS2V5RT0zNV09IktleUUiLGVbZS5LZXlGPTM2XT0iS2V5RiIsZVtlLktleUc9MzddPSJLZXlHIixlW2UuS2V5SD0zOF09IktleUgiLGVbZS5LZXlJPTM5XT0iS2V5SSIsZVtlLktleUo9NDBdPSJLZXlKIixlW2UuS2V5Sz00MV09IktleUsiLGVbZS5LZXlMPTQyXT0iS2V5TCIsZVtlLktleU09NDNdPSJLZXlNIixlW2UuS2V5Tj00NF09IktleU4iLGVbZS5LZXlPPTQ1XT0iS2V5TyIsZVtlLktleVA9NDZdPSJLZXlQIixlW2UuS2V5UT00N109IktleVEiLGVbZS5LZXlSPTQ4XT0iS2V5UiIsZVtlLktleVM9NDldPSJLZXlTIixlW2UuS2V5VD01MF09IktleVQiLGVbZS5LZXlVPTUxXT0iS2V5VSIsZVtlLktleVY9NTJdPSJLZXlWIixlW2UuS2V5Vz01M109IktleVciLGVbZS5LZXlYPTU0XT0iS2V5WCIsZVtlLktleVk9NTVdPSJLZXlZIixlW2UuS2V5Wj01Nl09IktleVoiLGVbZS5NZXRhPTU3XT0iTWV0YSIsZVtlLkNvbnRleHRNZW51PTU4XT0iQ29udGV4dE1lbnUiLGVbZS5GMT01OV09IkYxIixlW2UuRjI9NjBdPSJGMiIsZVtlLkYzPTYxXT0iRjMiLGVbZS5GND02Ml09IkY0IixlW2UuRjU9NjNdPSJGNSIsZVtlLkY2PTY0XT0iRjYiLGVbZS5GNz02NV09IkY3IixlW2UuRjg9NjZdPSJGOCIsZVtlLkY5PTY3XT0iRjkiLGVbZS5GMTA9NjhdPSJGMTAiLGVbZS5GMTE9NjldPSJGMTEiLGVbZS5GMTI9NzBdPSJGMTIiLGVbZS5GMTM9NzFdPSJGMTMiLGVbZS5GMTQ9NzJdPSJGMTQiLGVbZS5GMTU9NzNdPSJGMTUiLGVbZS5GMTY9NzRdPSJGMTYiLGVbZS5GMTc9NzVdPSJGMTciLGVbZS5GMTg9NzZdPSJGMTgiLGVbZS5GMTk9NzddPSJGMTkiLGVbZS5GMjA9NzhdPSJGMjAiLGVbZS5GMjE9NzldPSJGMjEiLGVbZS5GMjI9ODBdPSJGMjIiLGVbZS5GMjM9ODFdPSJGMjMiLGVbZS5GMjQ9ODJdPSJGMjQiLGVbZS5OdW1Mb2NrPTgzXT0iTnVtTG9jayIsZVtlLlNjcm9sbExvY2s9ODRdPSJTY3JvbGxMb2NrIixlW2UuU2VtaWNvbG9uPTg1XT0iU2VtaWNvbG9uIixlW2UuRXF1YWw9ODZdPSJFcXVhbCIsZVtlLkNvbW1hPTg3XT0iQ29tbWEiLGVbZS5NaW51cz04OF09Ik1pbnVzIixlW2UuUGVyaW9kPTg5XT0iUGVyaW9kIixlW2UuU2xhc2g9OTBdPSJTbGFzaCIsZVtlLkJhY2txdW90ZT05MV09IkJhY2txdW90ZSIsZVtlLkJyYWNrZXRMZWZ0PTkyXT0iQnJhY2tldExlZnQiLGVbZS5CYWNrc2xhc2g9OTNdPSJCYWNrc2xhc2giLGVbZS5CcmFja2V0UmlnaHQ9OTRdPSJCcmFja2V0UmlnaHQiLGVbZS5RdW90ZT05NV09IlF1b3RlIixlW2UuT0VNXzg9OTZdPSJPRU1fOCIsZVtlLkludGxCYWNrc2xhc2g9OTddPSJJbnRsQmFja3NsYXNoIixlW2UuTnVtcGFkMD05OF09Ik51bXBhZDAiLGVbZS5OdW1wYWQxPTk5XT0iTnVtcGFkMSIsZVtlLk51bXBhZDI9MTAwXT0iTnVtcGFkMiIsZVtlLk51bXBhZDM9MTAxXT0iTnVtcGFkMyIsZVtlLk51bXBhZDQ9MTAyXT0iTnVtcGFkNCIsZVtlLk51bXBhZDU9MTAzXT0iTnVtcGFkNSIsZVtlLk51bXBhZDY9MTA0XT0iTnVtcGFkNiIsZVtlLk51bXBhZDc9MTA1XT0iTnVtcGFkNyIsZVtlLk51bXBhZDg9MTA2XT0iTnVtcGFkOCIsZVtlLk51bXBhZDk9MTA3XT0iTnVtcGFkOSIsZVtlLk51bXBhZE11bHRpcGx5PTEwOF09Ik51bXBhZE11bHRpcGx5IixlW2UuTnVtcGFkQWRkPTEwOV09Ik51bXBhZEFkZCIsZVtlLk5VTVBBRF9TRVBBUkFUT1I9MTEwXT0iTlVNUEFEX1NFUEFSQVRPUiIsZVtlLk51bXBhZFN1YnRyYWN0PTExMV09Ik51bXBhZFN1YnRyYWN0IixlW2UuTnVtcGFkRGVjaW1hbD0xMTJdPSJOdW1wYWREZWNpbWFsIixlW2UuTnVtcGFkRGl2aWRlPTExM109Ik51bXBhZERpdmlkZSIsZVtlLktFWV9JTl9DT01QT1NJVElPTj0xMTRdPSJLRVlfSU5fQ09NUE9TSVRJT04iLGVbZS5BQk5UX0MxPTExNV09IkFCTlRfQzEiLGVbZS5BQk5UX0MyPTExNl09IkFCTlRfQzIiLGVbZS5BdWRpb1ZvbHVtZU11dGU9MTE3XT0iQXVkaW9Wb2x1bWVNdXRlIixlW2UuQXVkaW9Wb2x1bWVVcD0xMThdPSJBdWRpb1ZvbHVtZVVwIixlW2UuQXVkaW9Wb2x1bWVEb3duPTExOV09IkF1ZGlvVm9sdW1lRG93biIsZVtlLkJyb3dzZXJTZWFyY2g9MTIwXT0iQnJvd3NlclNlYXJjaCIsZVtlLkJyb3dzZXJIb21lPTEyMV09IkJyb3dzZXJIb21lIixlW2UuQnJvd3NlckJhY2s9MTIyXT0iQnJvd3NlckJhY2siLGVbZS5Ccm93c2VyRm9yd2FyZD0xMjNdPSJCcm93c2VyRm9yd2FyZCIsZVtlLk1lZGlhVHJhY2tOZXh0PTEyNF09Ik1lZGlhVHJhY2tOZXh0IixlW2UuTWVkaWFUcmFja1ByZXZpb3VzPTEyNV09Ik1lZGlhVHJhY2tQcmV2aW91cyIsZVtlLk1lZGlhU3RvcD0xMjZdPSJNZWRpYVN0b3AiLGVbZS5NZWRpYVBsYXlQYXVzZT0xMjddPSJNZWRpYVBsYXlQYXVzZSIsZVtlLkxhdW5jaE1lZGlhUGxheWVyPTEyOF09IkxhdW5jaE1lZGlhUGxheWVyIixlW2UuTGF1bmNoTWFpbD0xMjldPSJMYXVuY2hNYWlsIixlW2UuTGF1bmNoQXBwMj0xMzBdPSJMYXVuY2hBcHAyIixlW2UuQ2xlYXI9MTMxXT0iQ2xlYXIiLGVbZS5NQVhfVkFMVUU9MTMyXT0iTUFYX1ZBTFVFIn0pKFV0fHwoVXQ9e30pKTt2YXIgSHQ7KGZ1bmN0aW9uKGUpe2VbZS5IaW50PTFdPSJIaW50IixlW2UuSW5mbz0yXT0iSW5mbyIsZVtlLldhcm5pbmc9NF09Ildhcm5pbmciLGVbZS5FcnJvcj04XT0iRXJyb3IifSkoSHR8fChIdD17fSkpO3ZhciBxdDsoZnVuY3Rpb24oZSl7ZVtlLlVubmVjZXNzYXJ5PTFdPSJVbm5lY2Vzc2FyeSIsZVtlLkRlcHJlY2F0ZWQ9Ml09IkRlcHJlY2F0ZWQifSkocXR8fChxdD17fSkpO3ZhciBucjsoZnVuY3Rpb24oZSl7ZVtlLklubGluZT0xXT0iSW5saW5lIixlW2UuR3V0dGVyPTJdPSJHdXR0ZXIifSkobnJ8fChucj17fSkpO3ZhciBycjsoZnVuY3Rpb24oZSl7ZVtlLk5vcm1hbD0xXT0iTm9ybWFsIixlW2UuVW5kZXJsaW5lZD0yXT0iVW5kZXJsaW5lZCJ9KShycnx8KHJyPXt9KSk7dmFyIHNyOyhmdW5jdGlvbihlKXtlW2UuVU5LTk9XTj0wXT0iVU5LTk9XTiIsZVtlLlRFWFRBUkVBPTFdPSJURVhUQVJFQSIsZVtlLkdVVFRFUl9HTFlQSF9NQVJHSU49Ml09IkdVVFRFUl9HTFlQSF9NQVJHSU4iLGVbZS5HVVRURVJfTElORV9OVU1CRVJTPTNdPSJHVVRURVJfTElORV9OVU1CRVJTIixlW2UuR1VUVEVSX0xJTkVfREVDT1JBVElPTlM9NF09IkdVVFRFUl9MSU5FX0RFQ09SQVRJT05TIixlW2UuR1VUVEVSX1ZJRVdfWk9ORT01XT0iR1VUVEVSX1ZJRVdfWk9ORSIsZVtlLkNPTlRFTlRfVEVYVD02XT0iQ09OVEVOVF9URVhUIixlW2UuQ09OVEVOVF9FTVBUWT03XT0iQ09OVEVOVF9FTVBUWSIsZVtlLkNPTlRFTlRfVklFV19aT05FPThdPSJDT05URU5UX1ZJRVdfWk9ORSIsZVtlLkNPTlRFTlRfV0lER0VUPTldPSJDT05URU5UX1dJREdFVCIsZVtlLk9WRVJWSUVXX1JVTEVSPTEwXT0iT1ZFUlZJRVdfUlVMRVIiLGVbZS5TQ1JPTExCQVI9MTFdPSJTQ1JPTExCQVIiLGVbZS5PVkVSTEFZX1dJREdFVD0xMl09Ik9WRVJMQVlfV0lER0VUIixlW2UuT1VUU0lERV9FRElUT1I9MTNdPSJPVVRTSURFX0VESVRPUiJ9KShzcnx8KHNyPXt9KSk7dmFyIGlyOyhmdW5jdGlvbihlKXtlW2UuQUlHZW5lcmF0ZWQ9MV09IkFJR2VuZXJhdGVkIn0pKGlyfHwoaXI9e30pKTt2YXIgYXI7KGZ1bmN0aW9uKGUpe2VbZS5UT1BfUklHSFRfQ09STkVSPTBdPSJUT1BfUklHSFRfQ09STkVSIixlW2UuQk9UVE9NX1JJR0hUX0NPUk5FUj0xXT0iQk9UVE9NX1JJR0hUX0NPUk5FUiIsZVtlLlRPUF9DRU5URVI9Ml09IlRPUF9DRU5URVIifSkoYXJ8fChhcj17fSkpO3ZhciBvcjsoZnVuY3Rpb24oZSl7ZVtlLkxlZnQ9MV09IkxlZnQiLGVbZS5DZW50ZXI9Ml09IkNlbnRlciIsZVtlLlJpZ2h0PTRdPSJSaWdodCIsZVtlLkZ1bGw9N109IkZ1bGwifSkob3J8fChvcj17fSkpO3ZhciBscjsoZnVuY3Rpb24oZSl7ZVtlLldvcmQ9MF09IldvcmQiLGVbZS5MaW5lPTFdPSJMaW5lIixlW2UuU3VnZ2VzdD0yXT0iU3VnZ2VzdCJ9KShscnx8KGxyPXt9KSk7dmFyIHVyOyhmdW5jdGlvbihlKXtlW2UuTGVmdD0wXT0iTGVmdCIsZVtlLlJpZ2h0PTFdPSJSaWdodCIsZVtlLk5vbmU9Ml09Ik5vbmUiLGVbZS5MZWZ0T2ZJbmplY3RlZFRleHQ9M109IkxlZnRPZkluamVjdGVkVGV4dCIsZVtlLlJpZ2h0T2ZJbmplY3RlZFRleHQ9NF09IlJpZ2h0T2ZJbmplY3RlZFRleHQifSkodXJ8fCh1cj17fSkpO3ZhciBjcjsoZnVuY3Rpb24oZSl7ZVtlLk9mZj0wXT0iT2ZmIixlW2UuT249MV09Ik9uIixlW2UuUmVsYXRpdmU9Ml09IlJlbGF0aXZlIixlW2UuSW50ZXJ2YWw9M109IkludGVydmFsIixlW2UuQ3VzdG9tPTRdPSJDdXN0b20ifSkoY3J8fChjcj17fSkpO3ZhciBocjsoZnVuY3Rpb24oZSl7ZVtlLk5vbmU9MF09Ik5vbmUiLGVbZS5UZXh0PTFdPSJUZXh0IixlW2UuQmxvY2tzPTJdPSJCbG9ja3MifSkoaHJ8fChocj17fSkpO3ZhciBmcjsoZnVuY3Rpb24oZSl7ZVtlLlNtb290aD0wXT0iU21vb3RoIixlW2UuSW1tZWRpYXRlPTFdPSJJbW1lZGlhdGUifSkoZnJ8fChmcj17fSkpO3ZhciBkcjsoZnVuY3Rpb24oZSl7ZVtlLkF1dG89MV09IkF1dG8iLGVbZS5IaWRkZW49Ml09IkhpZGRlbiIsZVtlLlZpc2libGU9M109IlZpc2libGUifSkoZHJ8fChkcj17fSkpO3ZhciBPdDsoZnVuY3Rpb24oZSl7ZVtlLkxUUj0wXT0iTFRSIixlW2UuUlRMPTFdPSJSVEwifSkoT3R8fChPdD17fSkpO3ZhciBtcjsoZnVuY3Rpb24oZSl7ZS5PZmY9Im9mZiIsZS5PbkNvZGU9Im9uQ29kZSIsZS5Pbj0ib24ifSkobXJ8fChtcj17fSkpO3ZhciBncjsoZnVuY3Rpb24oZSl7ZVtlLkludm9rZT0xXT0iSW52b2tlIixlW2UuVHJpZ2dlckNoYXJhY3Rlcj0yXT0iVHJpZ2dlckNoYXJhY3RlciIsZVtlLkNvbnRlbnRDaGFuZ2U9M109IkNvbnRlbnRDaGFuZ2UifSkoZ3J8fChncj17fSkpO3ZhciBicjsoZnVuY3Rpb24oZSl7ZVtlLkZpbGU9MF09IkZpbGUiLGVbZS5Nb2R1bGU9MV09Ik1vZHVsZSIsZVtlLk5hbWVzcGFjZT0yXT0iTmFtZXNwYWNlIixlW2UuUGFja2FnZT0zXT0iUGFja2FnZSIsZVtlLkNsYXNzPTRdPSJDbGFzcyIsZVtlLk1ldGhvZD01XT0iTWV0aG9kIixlW2UuUHJvcGVydHk9Nl09IlByb3BlcnR5IixlW2UuRmllbGQ9N109IkZpZWxkIixlW2UuQ29uc3RydWN0b3I9OF09IkNvbnN0cnVjdG9yIixlW2UuRW51bT05XT0iRW51bSIsZVtlLkludGVyZmFjZT0xMF09IkludGVyZmFjZSIsZVtlLkZ1bmN0aW9uPTExXT0iRnVuY3Rpb24iLGVbZS5WYXJpYWJsZT0xMl09IlZhcmlhYmxlIixlW2UuQ29uc3RhbnQ9MTNdPSJDb25zdGFudCIsZVtlLlN0cmluZz0xNF09IlN0cmluZyIsZVtlLk51bWJlcj0xNV09Ik51bWJlciIsZVtlLkJvb2xlYW49MTZdPSJCb29sZWFuIixlW2UuQXJyYXk9MTddPSJBcnJheSIsZVtlLk9iamVjdD0xOF09Ik9iamVjdCIsZVtlLktleT0xOV09IktleSIsZVtlLk51bGw9MjBdPSJOdWxsIixlW2UuRW51bU1lbWJlcj0yMV09IkVudW1NZW1iZXIiLGVbZS5TdHJ1Y3Q9MjJdPSJTdHJ1Y3QiLGVbZS5FdmVudD0yM109IkV2ZW50IixlW2UuT3BlcmF0b3I9MjRdPSJPcGVyYXRvciIsZVtlLlR5cGVQYXJhbWV0ZXI9MjVdPSJUeXBlUGFyYW1ldGVyIn0pKGJyfHwoYnI9e30pKTt2YXIgX3I7KGZ1bmN0aW9uKGUpe2VbZS5EZXByZWNhdGVkPTFdPSJEZXByZWNhdGVkIn0pKF9yfHwoX3I9e30pKTt2YXIgcHI7KGZ1bmN0aW9uKGUpe2VbZS5IaWRkZW49MF09IkhpZGRlbiIsZVtlLkJsaW5rPTFdPSJCbGluayIsZVtlLlNtb290aD0yXT0iU21vb3RoIixlW2UuUGhhc2U9M109IlBoYXNlIixlW2UuRXhwYW5kPTRdPSJFeHBhbmQiLGVbZS5Tb2xpZD01XT0iU29saWQifSkocHJ8fChwcj17fSkpO3ZhciB4cjsoZnVuY3Rpb24oZSl7ZVtlLkxpbmU9MV09IkxpbmUiLGVbZS5CbG9jaz0yXT0iQmxvY2siLGVbZS5VbmRlcmxpbmU9M109IlVuZGVybGluZSIsZVtlLkxpbmVUaGluPTRdPSJMaW5lVGhpbiIsZVtlLkJsb2NrT3V0bGluZT01XT0iQmxvY2tPdXRsaW5lIixlW2UuVW5kZXJsaW5lVGhpbj02XT0iVW5kZXJsaW5lVGhpbiJ9KSh4cnx8KHhyPXt9KSk7dmFyIHZyOyhmdW5jdGlvbihlKXtlW2UuQWx3YXlzR3Jvd3NXaGVuVHlwaW5nQXRFZGdlcz0wXT0iQWx3YXlzR3Jvd3NXaGVuVHlwaW5nQXRFZGdlcyIsZVtlLk5ldmVyR3Jvd3NXaGVuVHlwaW5nQXRFZGdlcz0xXT0iTmV2ZXJHcm93c1doZW5UeXBpbmdBdEVkZ2VzIixlW2UuR3Jvd3NPbmx5V2hlblR5cGluZ0JlZm9yZT0yXT0iR3Jvd3NPbmx5V2hlblR5cGluZ0JlZm9yZSIsZVtlLkdyb3dzT25seVdoZW5UeXBpbmdBZnRlcj0zXT0iR3Jvd3NPbmx5V2hlblR5cGluZ0FmdGVyIn0pKHZyfHwodnI9e30pKTt2YXIgTHI7KGZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuU2FtZT0xXT0iU2FtZSIsZVtlLkluZGVudD0yXT0iSW5kZW50IixlW2UuRGVlcEluZGVudD0zXT0iRGVlcEluZGVudCJ9KShMcnx8KExyPXt9KSk7Y2xhc3MgR2V7c3RhdGljIGNob3JkKHQsbil7cmV0dXJuIExpKHQsbil9fUdlLkN0cmxDbWQ9MjA0OCxHZS5TaGlmdD0xMDI0LEdlLkFsdD01MTIsR2UuV2luQ3RybD0yNTY7ZnVuY3Rpb24gQ2koKXtyZXR1cm57ZWRpdG9yOnZvaWQgMCxsYW5ndWFnZXM6dm9pZCAwLENhbmNlbGxhdGlvblRva2VuU291cmNlOl9pLEVtaXR0ZXI6c2UsS2V5Q29kZTpVdCxLZXlNb2Q6R2UsUG9zaXRpb246SixSYW5nZTpELFNlbGVjdGlvbjp0ZSxTZWxlY3Rpb25EaXJlY3Rpb246T3QsTWFya2VyU2V2ZXJpdHk6SHQsTWFya2VyVGFnOnF0LFVyaTpOZSxUb2tlbjpSaX19dmFyIHdyO2NsYXNzIEVpe2NvbnN0cnVjdG9yKCl7dGhpc1t3cl09IkxpbmtlZE1hcCIsdGhpcy5fbWFwPW5ldyBNYXAsdGhpcy5faGVhZD12b2lkIDAsdGhpcy5fdGFpbD12b2lkIDAsdGhpcy5fc2l6ZT0wLHRoaXMuX3N0YXRlPTB9Y2xlYXIoKXt0aGlzLl9tYXAuY2xlYXIoKSx0aGlzLl9oZWFkPXZvaWQgMCx0aGlzLl90YWlsPXZvaWQgMCx0aGlzLl9zaXplPTAsdGhpcy5fc3RhdGUrK31pc0VtcHR5KCl7cmV0dXJuIXRoaXMuX2hlYWQmJiF0aGlzLl90YWlsfWdldCBzaXplKCl7cmV0dXJuIHRoaXMuX3NpemV9Z2V0IGZpcnN0KCl7dmFyIHQ7cmV0dXJuKHQ9dGhpcy5faGVhZCk9PT1udWxsfHx0PT09dm9pZCAwP3ZvaWQgMDp0LnZhbHVlfWdldCBsYXN0KCl7dmFyIHQ7cmV0dXJuKHQ9dGhpcy5fdGFpbCk9PT1udWxsfHx0PT09dm9pZCAwP3ZvaWQgMDp0LnZhbHVlfWhhcyh0KXtyZXR1cm4gdGhpcy5fbWFwLmhhcyh0KX1nZXQodCxuPTApe2NvbnN0IHI9dGhpcy5fbWFwLmdldCh0KTtpZihyKXJldHVybiBuIT09MCYmdGhpcy50b3VjaChyLG4pLHIudmFsdWV9c2V0KHQsbixyPTApe2xldCBzPXRoaXMuX21hcC5nZXQodCk7aWYocylzLnZhbHVlPW4sciE9PTAmJnRoaXMudG91Y2gocyxyKTtlbHNle3N3aXRjaChzPXtrZXk6dCx2YWx1ZTpuLG5leHQ6dm9pZCAwLHByZXZpb3VzOnZvaWQgMH0scil7Y2FzZSAwOnRoaXMuYWRkSXRlbUxhc3Qocyk7YnJlYWs7Y2FzZSAxOnRoaXMuYWRkSXRlbUZpcnN0KHMpO2JyZWFrO2Nhc2UgMjp0aGlzLmFkZEl0ZW1MYXN0KHMpO2JyZWFrO2RlZmF1bHQ6dGhpcy5hZGRJdGVtTGFzdChzKTticmVha310aGlzLl9tYXAuc2V0KHQscyksdGhpcy5fc2l6ZSsrfXJldHVybiB0aGlzfWRlbGV0ZSh0KXtyZXR1cm4hIXRoaXMucmVtb3ZlKHQpfXJlbW92ZSh0KXtjb25zdCBuPXRoaXMuX21hcC5nZXQodCk7aWYobilyZXR1cm4gdGhpcy5fbWFwLmRlbGV0ZSh0KSx0aGlzLnJlbW92ZUl0ZW0obiksdGhpcy5fc2l6ZS0tLG4udmFsdWV9c2hpZnQoKXtpZighdGhpcy5faGVhZCYmIXRoaXMuX3RhaWwpcmV0dXJuO2lmKCF0aGlzLl9oZWFkfHwhdGhpcy5fdGFpbCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgbGlzdCIpO2NvbnN0IHQ9dGhpcy5faGVhZDtyZXR1cm4gdGhpcy5fbWFwLmRlbGV0ZSh0LmtleSksdGhpcy5yZW1vdmVJdGVtKHQpLHRoaXMuX3NpemUtLSx0LnZhbHVlfWZvckVhY2godCxuKXtjb25zdCByPXRoaXMuX3N0YXRlO2xldCBzPXRoaXMuX2hlYWQ7Zm9yKDtzOyl7aWYobj90LmJpbmQobikocy52YWx1ZSxzLmtleSx0aGlzKTp0KHMudmFsdWUscy5rZXksdGhpcyksdGhpcy5fc3RhdGUhPT1yKXRocm93IG5ldyBFcnJvcigiTGlua2VkTWFwIGdvdCBtb2RpZmllZCBkdXJpbmcgaXRlcmF0aW9uLiIpO3M9cy5uZXh0fX1rZXlzKCl7Y29uc3QgdD10aGlzLG49dGhpcy5fc3RhdGU7bGV0IHI9dGhpcy5faGVhZDtjb25zdCBzPXtbU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiBzfSxuZXh0KCl7aWYodC5fc3RhdGUhPT1uKXRocm93IG5ldyBFcnJvcigiTGlua2VkTWFwIGdvdCBtb2RpZmllZCBkdXJpbmcgaXRlcmF0aW9uLiIpO2lmKHIpe2NvbnN0IGk9e3ZhbHVlOnIua2V5LGRvbmU6ITF9O3JldHVybiByPXIubmV4dCxpfWVsc2UgcmV0dXJue3ZhbHVlOnZvaWQgMCxkb25lOiEwfX19O3JldHVybiBzfXZhbHVlcygpe2NvbnN0IHQ9dGhpcyxuPXRoaXMuX3N0YXRlO2xldCByPXRoaXMuX2hlYWQ7Y29uc3Qgcz17W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gc30sbmV4dCgpe2lmKHQuX3N0YXRlIT09bil0aHJvdyBuZXcgRXJyb3IoIkxpbmtlZE1hcCBnb3QgbW9kaWZpZWQgZHVyaW5nIGl0ZXJhdGlvbi4iKTtpZihyKXtjb25zdCBpPXt2YWx1ZTpyLnZhbHVlLGRvbmU6ITF9O3JldHVybiByPXIubmV4dCxpfWVsc2UgcmV0dXJue3ZhbHVlOnZvaWQgMCxkb25lOiEwfX19O3JldHVybiBzfWVudHJpZXMoKXtjb25zdCB0PXRoaXMsbj10aGlzLl9zdGF0ZTtsZXQgcj10aGlzLl9oZWFkO2NvbnN0IHM9e1tTeW1ib2wuaXRlcmF0b3JdKCl7cmV0dXJuIHN9LG5leHQoKXtpZih0Ll9zdGF0ZSE9PW4pdGhyb3cgbmV3IEVycm9yKCJMaW5rZWRNYXAgZ290IG1vZGlmaWVkIGR1cmluZyBpdGVyYXRpb24uIik7aWYocil7Y29uc3QgaT17dmFsdWU6W3Iua2V5LHIudmFsdWVdLGRvbmU6ITF9O3JldHVybiByPXIubmV4dCxpfWVsc2UgcmV0dXJue3ZhbHVlOnZvaWQgMCxkb25lOiEwfX19O3JldHVybiBzfVsod3I9U3ltYm9sLnRvU3RyaW5nVGFnLFN5bWJvbC5pdGVyYXRvcildKCl7cmV0dXJuIHRoaXMuZW50cmllcygpfXRyaW1PbGQodCl7aWYodD49dGhpcy5zaXplKXJldHVybjtpZih0PT09MCl7dGhpcy5jbGVhcigpO3JldHVybn1sZXQgbj10aGlzLl9oZWFkLHI9dGhpcy5zaXplO2Zvcig7biYmcj50Oyl0aGlzLl9tYXAuZGVsZXRlKG4ua2V5KSxuPW4ubmV4dCxyLS07dGhpcy5faGVhZD1uLHRoaXMuX3NpemU9cixuJiYobi5wcmV2aW91cz12b2lkIDApLHRoaXMuX3N0YXRlKyt9YWRkSXRlbUZpcnN0KHQpe2lmKCF0aGlzLl9oZWFkJiYhdGhpcy5fdGFpbCl0aGlzLl90YWlsPXQ7ZWxzZSBpZih0aGlzLl9oZWFkKXQubmV4dD10aGlzLl9oZWFkLHRoaXMuX2hlYWQucHJldmlvdXM9dDtlbHNlIHRocm93IG5ldyBFcnJvcigiSW52YWxpZCBsaXN0Iik7dGhpcy5faGVhZD10LHRoaXMuX3N0YXRlKyt9YWRkSXRlbUxhc3QodCl7aWYoIXRoaXMuX2hlYWQmJiF0aGlzLl90YWlsKXRoaXMuX2hlYWQ9dDtlbHNlIGlmKHRoaXMuX3RhaWwpdC5wcmV2aW91cz10aGlzLl90YWlsLHRoaXMuX3RhaWwubmV4dD10O2Vsc2UgdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGxpc3QiKTt0aGlzLl90YWlsPXQsdGhpcy5fc3RhdGUrK31yZW1vdmVJdGVtKHQpe2lmKHQ9PT10aGlzLl9oZWFkJiZ0PT09dGhpcy5fdGFpbCl0aGlzLl9oZWFkPXZvaWQgMCx0aGlzLl90YWlsPXZvaWQgMDtlbHNlIGlmKHQ9PT10aGlzLl9oZWFkKXtpZighdC5uZXh0KXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBsaXN0Iik7dC5uZXh0LnByZXZpb3VzPXZvaWQgMCx0aGlzLl9oZWFkPXQubmV4dH1lbHNlIGlmKHQ9PT10aGlzLl90YWlsKXtpZighdC5wcmV2aW91cyl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgbGlzdCIpO3QucHJldmlvdXMubmV4dD12b2lkIDAsdGhpcy5fdGFpbD10LnByZXZpb3VzfWVsc2V7Y29uc3Qgbj10Lm5leHQscj10LnByZXZpb3VzO2lmKCFufHwhcil0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgbGlzdCIpO24ucHJldmlvdXM9cixyLm5leHQ9bn10Lm5leHQ9dm9pZCAwLHQucHJldmlvdXM9dm9pZCAwLHRoaXMuX3N0YXRlKyt9dG91Y2godCxuKXtpZighdGhpcy5faGVhZHx8IXRoaXMuX3RhaWwpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGxpc3QiKTtpZighKG4hPT0xJiZuIT09Mikpe2lmKG49PT0xKXtpZih0PT09dGhpcy5faGVhZClyZXR1cm47Y29uc3Qgcj10Lm5leHQscz10LnByZXZpb3VzO3Q9PT10aGlzLl90YWlsPyhzLm5leHQ9dm9pZCAwLHRoaXMuX3RhaWw9cyk6KHIucHJldmlvdXM9cyxzLm5leHQ9ciksdC5wcmV2aW91cz12b2lkIDAsdC5uZXh0PXRoaXMuX2hlYWQsdGhpcy5faGVhZC5wcmV2aW91cz10LHRoaXMuX2hlYWQ9dCx0aGlzLl9zdGF0ZSsrfWVsc2UgaWYobj09PTIpe2lmKHQ9PT10aGlzLl90YWlsKXJldHVybjtjb25zdCByPXQubmV4dCxzPXQucHJldmlvdXM7dD09PXRoaXMuX2hlYWQ/KHIucHJldmlvdXM9dm9pZCAwLHRoaXMuX2hlYWQ9cik6KHIucHJldmlvdXM9cyxzLm5leHQ9ciksdC5uZXh0PXZvaWQgMCx0LnByZXZpb3VzPXRoaXMuX3RhaWwsdGhpcy5fdGFpbC5uZXh0PXQsdGhpcy5fdGFpbD10LHRoaXMuX3N0YXRlKyt9fX10b0pTT04oKXtjb25zdCB0PVtdO3JldHVybiB0aGlzLmZvckVhY2goKG4scik9Pnt0LnB1c2goW3Isbl0pfSksdH1mcm9tSlNPTih0KXt0aGlzLmNsZWFyKCk7Zm9yKGNvbnN0W24scl1vZiB0KXRoaXMuc2V0KG4scil9fWNsYXNzIHlpIGV4dGVuZHMgRWl7Y29uc3RydWN0b3IodCxuPTEpe3N1cGVyKCksdGhpcy5fbGltaXQ9dCx0aGlzLl9yYXRpbz1NYXRoLm1pbihNYXRoLm1heCgwLG4pLDEpfWdldCBsaW1pdCgpe3JldHVybiB0aGlzLl9saW1pdH1zZXQgbGltaXQodCl7dGhpcy5fbGltaXQ9dCx0aGlzLmNoZWNrVHJpbSgpfWdldCh0LG49Mil7cmV0dXJuIHN1cGVyLmdldCh0LG4pfXBlZWsodCl7cmV0dXJuIHN1cGVyLmdldCh0LDApfXNldCh0LG4pe3JldHVybiBzdXBlci5zZXQodCxuLDIpLHRoaXMuY2hlY2tUcmltKCksdGhpc31jaGVja1RyaW0oKXt0aGlzLnNpemU+dGhpcy5fbGltaXQmJnRoaXMudHJpbU9sZChNYXRoLnJvdW5kKHRoaXMuX2xpbWl0KnRoaXMuX3JhdGlvKSl9fWNsYXNzIE1pe2NvbnN0cnVjdG9yKCl7dGhpcy5tYXA9bmV3IE1hcH1hZGQodCxuKXtsZXQgcj10aGlzLm1hcC5nZXQodCk7cnx8KHI9bmV3IFNldCx0aGlzLm1hcC5zZXQodCxyKSksci5hZGQobil9ZGVsZXRlKHQsbil7Y29uc3Qgcj10aGlzLm1hcC5nZXQodCk7ciYmKHIuZGVsZXRlKG4pLHIuc2l6ZT09PTAmJnRoaXMubWFwLmRlbGV0ZSh0KSl9Zm9yRWFjaCh0LG4pe2NvbnN0IHI9dGhpcy5tYXAuZ2V0KHQpO3ImJnIuZm9yRWFjaChuKX1nZXQodCl7Y29uc3Qgbj10aGlzLm1hcC5nZXQodCk7cmV0dXJuIG58fG5ldyBTZXR9fW5ldyB5aSgxMCk7dmFyIE5yOyhmdW5jdGlvbihlKXtlW2UuTGVmdD0xXT0iTGVmdCIsZVtlLkNlbnRlcj0yXT0iQ2VudGVyIixlW2UuUmlnaHQ9NF09IlJpZ2h0IixlW2UuRnVsbD03XT0iRnVsbCJ9KShOcnx8KE5yPXt9KSk7dmFyIFNyOyhmdW5jdGlvbihlKXtlW2UuTGVmdD0xXT0iTGVmdCIsZVtlLkNlbnRlcj0yXT0iQ2VudGVyIixlW2UuUmlnaHQ9M109IlJpZ2h0In0pKFNyfHwoU3I9e30pKTt2YXIgQXI7KGZ1bmN0aW9uKGUpe2VbZS5Cb3RoPTBdPSJCb3RoIixlW2UuUmlnaHQ9MV09IlJpZ2h0IixlW2UuTGVmdD0yXT0iTGVmdCIsZVtlLk5vbmU9M109Ik5vbmUifSkoQXJ8fChBcj17fSkpO2Z1bmN0aW9uIGtpKGUsdCxuLHIscyl7aWYocj09PTApcmV0dXJuITA7Y29uc3QgaT10LmNoYXJDb2RlQXQoci0xKTtpZihlLmdldChpKSE9PTB8fGk9PT0xM3x8aT09PTEwKXJldHVybiEwO2lmKHM+MCl7Y29uc3Qgbz10LmNoYXJDb2RlQXQocik7aWYoZS5nZXQobykhPT0wKXJldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIFRpKGUsdCxuLHIscyl7aWYocitzPT09bilyZXR1cm4hMDtjb25zdCBpPXQuY2hhckNvZGVBdChyK3MpO2lmKGUuZ2V0KGkpIT09MHx8aT09PTEzfHxpPT09MTApcmV0dXJuITA7aWYocz4wKXtjb25zdCBvPXQuY2hhckNvZGVBdChyK3MtMSk7aWYoZS5nZXQobykhPT0wKXJldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIERpKGUsdCxuLHIscyl7cmV0dXJuIGtpKGUsdCxuLHIscykmJlRpKGUsdCxuLHIscyl9Y2xhc3MgUGl7Y29uc3RydWN0b3IodCxuKXt0aGlzLl93b3JkU2VwYXJhdG9ycz10LHRoaXMuX3NlYXJjaFJlZ2V4PW4sdGhpcy5fcHJldk1hdGNoU3RhcnRJbmRleD0tMSx0aGlzLl9wcmV2TWF0Y2hMZW5ndGg9MH1yZXNldCh0KXt0aGlzLl9zZWFyY2hSZWdleC5sYXN0SW5kZXg9dCx0aGlzLl9wcmV2TWF0Y2hTdGFydEluZGV4PS0xLHRoaXMuX3ByZXZNYXRjaExlbmd0aD0wfW5leHQodCl7Y29uc3Qgbj10Lmxlbmd0aDtsZXQgcjtkb3tpZih0aGlzLl9wcmV2TWF0Y2hTdGFydEluZGV4K3RoaXMuX3ByZXZNYXRjaExlbmd0aD09PW58fChyPXRoaXMuX3NlYXJjaFJlZ2V4LmV4ZWModCksIXIpKXJldHVybiBudWxsO2NvbnN0IHM9ci5pbmRleCxpPXJbMF0ubGVuZ3RoO2lmKHM9PT10aGlzLl9wcmV2TWF0Y2hTdGFydEluZGV4JiZpPT09dGhpcy5fcHJldk1hdGNoTGVuZ3RoKXtpZihpPT09MCl7U3ModCxuLHRoaXMuX3NlYXJjaFJlZ2V4Lmxhc3RJbmRleCk+NjU1MzU/dGhpcy5fc2VhcmNoUmVnZXgubGFzdEluZGV4Kz0yOnRoaXMuX3NlYXJjaFJlZ2V4Lmxhc3RJbmRleCs9MTtjb250aW51ZX1yZXR1cm4gbnVsbH1pZih0aGlzLl9wcmV2TWF0Y2hTdGFydEluZGV4PXMsdGhpcy5fcHJldk1hdGNoTGVuZ3RoPWksIXRoaXMuX3dvcmRTZXBhcmF0b3JzfHxEaSh0aGlzLl93b3JkU2VwYXJhdG9ycyx0LG4scyxpKSlyZXR1cm4gcn13aGlsZShyKTtyZXR1cm4gbnVsbH19ZnVuY3Rpb24gRmkoZSx0PSJVbnJlYWNoYWJsZSIpe3Rocm93IG5ldyBFcnJvcih0KX1mdW5jdGlvbiBodChlKXtlKCl8fChlKCksUXQobmV3IGNlKCJBc3NlcnRpb24gRmFpbGVkIikpKX1mdW5jdGlvbiBScihlLHQpe2xldCBuPTA7Zm9yKDtuPGUubGVuZ3RoLTE7KXtjb25zdCByPWVbbl0scz1lW24rMV07aWYoIXQocixzKSlyZXR1cm4hMTtuKyt9cmV0dXJuITB9Y2xhc3MgSWl7c3RhdGljIGNvbXB1dGVVbmljb2RlSGlnaGxpZ2h0cyh0LG4scil7Y29uc3Qgcz1yP3Iuc3RhcnRMaW5lTnVtYmVyOjEsaT1yP3IuZW5kTGluZU51bWJlcjp0LmdldExpbmVDb3VudCgpLG89bmV3IENyKG4pLGw9by5nZXRDYW5kaWRhdGVDb2RlUG9pbnRzKCk7bGV0IHU7bD09PSJhbGxOb25CYXNpY0FzY2lpIj91PW5ldyBSZWdFeHAoIlteXFx0XFxuXFxyXFx4MjAtXFx4N0VdIiwiZyIpOnU9bmV3IFJlZ0V4cChgJHtCaShBcnJheS5mcm9tKGwpKX1gLCJnIik7Y29uc3QgYz1uZXcgUGkobnVsbCx1KSxoPVtdO2xldCBmPSExLGQsbT0wLGc9MCxwPTA7ZTpmb3IobGV0IHY9cyxOPWk7djw9Tjt2Kyspe2NvbnN0IFM9dC5nZXRMaW5lQ29udGVudCh2KSxfPVMubGVuZ3RoO2MucmVzZXQoMCk7ZG8gaWYoZD1jLm5leHQoUyksZCl7bGV0IHc9ZC5pbmRleCx4PWQuaW5kZXgrZFswXS5sZW5ndGg7aWYodz4wKXtjb25zdCBVPVMuY2hhckNvZGVBdCh3LTEpO0N0KFUpJiZ3LS19aWYoeCsxPF8pe2NvbnN0IFU9Uy5jaGFyQ29kZUF0KHgtMSk7Q3QoVSkmJngrK31jb25zdCBDPVMuc3Vic3RyaW5nKHcseCk7bGV0IEU9VHQodysxLHZuLFMsMCk7RSYmRS5lbmRDb2x1bW48PXcrMSYmKEU9bnVsbCk7Y29uc3QgeT1vLnNob3VsZEhpZ2hsaWdodE5vbkJhc2ljQVNDSUkoQyxFP0Uud29yZDpudWxsKTtpZih5IT09MCl7aWYoeT09PTM/bSsrOnk9PT0yP2crKzp5PT09MT9wKys6RmkoKSxoLmxlbmd0aD49MWUzKXtmPSEwO2JyZWFrIGV9aC5wdXNoKG5ldyBEKHYsdysxLHYseCsxKSl9fXdoaWxlKGQpfXJldHVybntyYW5nZXM6aCxoYXNNb3JlOmYsYW1iaWd1b3VzQ2hhcmFjdGVyQ291bnQ6bSxpbnZpc2libGVDaGFyYWN0ZXJDb3VudDpnLG5vbkJhc2ljQXNjaWlDaGFyYWN0ZXJDb3VudDpwfX1zdGF0aWMgY29tcHV0ZVVuaWNvZGVIaWdobGlnaHRSZWFzb24odCxuKXtjb25zdCByPW5ldyBDcihuKTtzd2l0Y2goci5zaG91bGRIaWdobGlnaHROb25CYXNpY0FTQ0lJKHQsbnVsbCkpe2Nhc2UgMDpyZXR1cm4gbnVsbDtjYXNlIDI6cmV0dXJue2tpbmQ6MX07Y2FzZSAzOntjb25zdCBpPXQuY29kZVBvaW50QXQoMCksbz1yLmFtYmlndW91c0NoYXJhY3RlcnMuZ2V0UHJpbWFyeUNvbmZ1c2FibGUoaSksbD13ZS5nZXRMb2NhbGVzKCkuZmlsdGVyKHU9PiF3ZS5nZXRJbnN0YW5jZShuZXcgU2V0KFsuLi5uLmFsbG93ZWRMb2NhbGVzLHVdKSkuaXNBbWJpZ3VvdXMoaSkpO3JldHVybntraW5kOjAsY29uZnVzYWJsZVdpdGg6U3RyaW5nLmZyb21Db2RlUG9pbnQobyksbm90QW1iaWd1b3VzSW5Mb2NhbGVzOmx9fWNhc2UgMTpyZXR1cm57a2luZDoyfX19fWZ1bmN0aW9uIEJpKGUsdCl7cmV0dXJuYFske3BzKGUubWFwKHI9PlN0cmluZy5mcm9tQ29kZVBvaW50KHIpKS5qb2luKCIiKSl9XWB9Y2xhc3MgQ3J7Y29uc3RydWN0b3IodCl7dGhpcy5vcHRpb25zPXQsdGhpcy5hbGxvd2VkQ29kZVBvaW50cz1uZXcgU2V0KHQuYWxsb3dlZENvZGVQb2ludHMpLHRoaXMuYW1iaWd1b3VzQ2hhcmFjdGVycz13ZS5nZXRJbnN0YW5jZShuZXcgU2V0KHQuYWxsb3dlZExvY2FsZXMpKX1nZXRDYW5kaWRhdGVDb2RlUG9pbnRzKCl7aWYodGhpcy5vcHRpb25zLm5vbkJhc2ljQVNDSUkpcmV0dXJuImFsbE5vbkJhc2ljQXNjaWkiO2NvbnN0IHQ9bmV3IFNldDtpZih0aGlzLm9wdGlvbnMuaW52aXNpYmxlQ2hhcmFjdGVycylmb3IoY29uc3QgbiBvZiBkZS5jb2RlUG9pbnRzKUVyKFN0cmluZy5mcm9tQ29kZVBvaW50KG4pKXx8dC5hZGQobik7aWYodGhpcy5vcHRpb25zLmFtYmlndW91c0NoYXJhY3RlcnMpZm9yKGNvbnN0IG4gb2YgdGhpcy5hbWJpZ3VvdXNDaGFyYWN0ZXJzLmdldENvbmZ1c2FibGVDb2RlUG9pbnRzKCkpdC5hZGQobik7Zm9yKGNvbnN0IG4gb2YgdGhpcy5hbGxvd2VkQ29kZVBvaW50cyl0LmRlbGV0ZShuKTtyZXR1cm4gdH1zaG91bGRIaWdobGlnaHROb25CYXNpY0FTQ0lJKHQsbil7Y29uc3Qgcj10LmNvZGVQb2ludEF0KDApO2lmKHRoaXMuYWxsb3dlZENvZGVQb2ludHMuaGFzKHIpKXJldHVybiAwO2lmKHRoaXMub3B0aW9ucy5ub25CYXNpY0FTQ0lJKXJldHVybiAxO2xldCBzPSExLGk9ITE7aWYobilmb3IoY29uc3QgbyBvZiBuKXtjb25zdCBsPW8uY29kZVBvaW50QXQoMCksdT1ScyhvKTtzPXN8fHUsIXUmJiF0aGlzLmFtYmlndW91c0NoYXJhY3RlcnMuaXNBbWJpZ3VvdXMobCkmJiFkZS5pc0ludmlzaWJsZUNoYXJhY3RlcihsKSYmKGk9ITApfXJldHVybiFzJiZpPzA6dGhpcy5vcHRpb25zLmludmlzaWJsZUNoYXJhY3RlcnMmJiFFcih0KSYmZGUuaXNJbnZpc2libGVDaGFyYWN0ZXIocik/Mjp0aGlzLm9wdGlvbnMuYW1iaWd1b3VzQ2hhcmFjdGVycyYmdGhpcy5hbWJpZ3VvdXNDaGFyYWN0ZXJzLmlzQW1iaWd1b3VzKHIpPzM6MH19ZnVuY3Rpb24gRXIoZSl7cmV0dXJuIGU9PT0iICJ8fGU9PT1gCmB8fGU9PT0iCSJ9Y2xhc3MgZnR7Y29uc3RydWN0b3IodCxuLHIpe3RoaXMuY2hhbmdlcz10LHRoaXMubW92ZXM9bix0aGlzLmhpdFRpbWVvdXQ9cn19Y2xhc3MgVml7Y29uc3RydWN0b3IodCxuKXt0aGlzLmxpbmVSYW5nZU1hcHBpbmc9dCx0aGlzLmNoYW5nZXM9bn19Y2xhc3MgSXtzdGF0aWMgYWRkUmFuZ2UodCxuKXtsZXQgcj0wO2Zvcig7cjxuLmxlbmd0aCYmbltyXS5lbmRFeGNsdXNpdmU8dC5zdGFydDspcisrO2xldCBzPXI7Zm9yKDtzPG4ubGVuZ3RoJiZuW3NdLnN0YXJ0PD10LmVuZEV4Y2x1c2l2ZTspcysrO2lmKHI9PT1zKW4uc3BsaWNlKHIsMCx0KTtlbHNle2NvbnN0IGk9TWF0aC5taW4odC5zdGFydCxuW3JdLnN0YXJ0KSxvPU1hdGgubWF4KHQuZW5kRXhjbHVzaXZlLG5bcy0xXS5lbmRFeGNsdXNpdmUpO24uc3BsaWNlKHIscy1yLG5ldyBJKGksbykpfX1zdGF0aWMgdHJ5Q3JlYXRlKHQsbil7aWYoISh0Pm4pKXJldHVybiBuZXcgSSh0LG4pfXN0YXRpYyBvZkxlbmd0aCh0KXtyZXR1cm4gbmV3IEkoMCx0KX1zdGF0aWMgb2ZTdGFydEFuZExlbmd0aCh0LG4pe3JldHVybiBuZXcgSSh0LHQrbil9Y29uc3RydWN0b3IodCxuKXtpZih0aGlzLnN0YXJ0PXQsdGhpcy5lbmRFeGNsdXNpdmU9bix0Pm4pdGhyb3cgbmV3IGNlKGBJbnZhbGlkIHJhbmdlOiAke3RoaXMudG9TdHJpbmcoKX1gKX1nZXQgaXNFbXB0eSgpe3JldHVybiB0aGlzLnN0YXJ0PT09dGhpcy5lbmRFeGNsdXNpdmV9ZGVsdGEodCl7cmV0dXJuIG5ldyBJKHRoaXMuc3RhcnQrdCx0aGlzLmVuZEV4Y2x1c2l2ZSt0KX1kZWx0YVN0YXJ0KHQpe3JldHVybiBuZXcgSSh0aGlzLnN0YXJ0K3QsdGhpcy5lbmRFeGNsdXNpdmUpfWRlbHRhRW5kKHQpe3JldHVybiBuZXcgSSh0aGlzLnN0YXJ0LHRoaXMuZW5kRXhjbHVzaXZlK3QpfWdldCBsZW5ndGgoKXtyZXR1cm4gdGhpcy5lbmRFeGNsdXNpdmUtdGhpcy5zdGFydH10b1N0cmluZygpe3JldHVybmBbJHt0aGlzLnN0YXJ0fSwgJHt0aGlzLmVuZEV4Y2x1c2l2ZX0pYH1jb250YWlucyh0KXtyZXR1cm4gdGhpcy5zdGFydDw9dCYmdDx0aGlzLmVuZEV4Y2x1c2l2ZX1qb2luKHQpe3JldHVybiBuZXcgSShNYXRoLm1pbih0aGlzLnN0YXJ0LHQuc3RhcnQpLE1hdGgubWF4KHRoaXMuZW5kRXhjbHVzaXZlLHQuZW5kRXhjbHVzaXZlKSl9aW50ZXJzZWN0KHQpe2NvbnN0IG49TWF0aC5tYXgodGhpcy5zdGFydCx0LnN0YXJ0KSxyPU1hdGgubWluKHRoaXMuZW5kRXhjbHVzaXZlLHQuZW5kRXhjbHVzaXZlKTtpZihuPD1yKXJldHVybiBuZXcgSShuLHIpfWludGVyc2VjdHModCl7Y29uc3Qgbj1NYXRoLm1heCh0aGlzLnN0YXJ0LHQuc3RhcnQpLHI9TWF0aC5taW4odGhpcy5lbmRFeGNsdXNpdmUsdC5lbmRFeGNsdXNpdmUpO3JldHVybiBuPHJ9aXNCZWZvcmUodCl7cmV0dXJuIHRoaXMuZW5kRXhjbHVzaXZlPD10LnN0YXJ0fWlzQWZ0ZXIodCl7cmV0dXJuIHRoaXMuc3RhcnQ+PXQuZW5kRXhjbHVzaXZlfXNsaWNlKHQpe3JldHVybiB0LnNsaWNlKHRoaXMuc3RhcnQsdGhpcy5lbmRFeGNsdXNpdmUpfXN1YnN0cmluZyh0KXtyZXR1cm4gdC5zdWJzdHJpbmcodGhpcy5zdGFydCx0aGlzLmVuZEV4Y2x1c2l2ZSl9Y2xpcCh0KXtpZih0aGlzLmlzRW1wdHkpdGhyb3cgbmV3IGNlKGBJbnZhbGlkIGNsaXBwaW5nIHJhbmdlOiAke3RoaXMudG9TdHJpbmcoKX1gKTtyZXR1cm4gTWF0aC5tYXgodGhpcy5zdGFydCxNYXRoLm1pbih0aGlzLmVuZEV4Y2x1c2l2ZS0xLHQpKX1jbGlwQ3ljbGljKHQpe2lmKHRoaXMuaXNFbXB0eSl0aHJvdyBuZXcgY2UoYEludmFsaWQgY2xpcHBpbmcgcmFuZ2U6ICR7dGhpcy50b1N0cmluZygpfWApO3JldHVybiB0PHRoaXMuc3RhcnQ/dGhpcy5lbmRFeGNsdXNpdmUtKHRoaXMuc3RhcnQtdCkldGhpcy5sZW5ndGg6dD49dGhpcy5lbmRFeGNsdXNpdmU/dGhpcy5zdGFydCsodC10aGlzLnN0YXJ0KSV0aGlzLmxlbmd0aDp0fWZvckVhY2godCl7Zm9yKGxldCBuPXRoaXMuc3RhcnQ7bjx0aGlzLmVuZEV4Y2x1c2l2ZTtuKyspdChuKX19ZnVuY3Rpb24gSWUoZSx0KXtjb25zdCBuPSRlKGUsdCk7cmV0dXJuIG49PT0tMT92b2lkIDA6ZVtuXX1mdW5jdGlvbiAkZShlLHQsbj0wLHI9ZS5sZW5ndGgpe2xldCBzPW4saT1yO2Zvcig7czxpOyl7Y29uc3Qgbz1NYXRoLmZsb29yKChzK2kpLzIpO3QoZVtvXSk/cz1vKzE6aT1vfXJldHVybiBzLTF9ZnVuY3Rpb24gVWkoZSx0KXtjb25zdCBuPVd0KGUsdCk7cmV0dXJuIG49PT1lLmxlbmd0aD92b2lkIDA6ZVtuXX1mdW5jdGlvbiBXdChlLHQsbj0wLHI9ZS5sZW5ndGgpe2xldCBzPW4saT1yO2Zvcig7czxpOyl7Y29uc3Qgbz1NYXRoLmZsb29yKChzK2kpLzIpO3QoZVtvXSk/aT1vOnM9bysxfXJldHVybiBzfWNsYXNzIGple2NvbnN0cnVjdG9yKHQpe3RoaXMuX2FycmF5PXQsdGhpcy5fZmluZExhc3RNb25vdG9ub3VzTGFzdElkeD0wfWZpbmRMYXN0TW9ub3Rvbm91cyh0KXtpZihqZS5hc3NlcnRJbnZhcmlhbnRzKXtpZih0aGlzLl9wcmV2RmluZExhc3RQcmVkaWNhdGUpe2Zvcihjb25zdCByIG9mIHRoaXMuX2FycmF5KWlmKHRoaXMuX3ByZXZGaW5kTGFzdFByZWRpY2F0ZShyKSYmIXQocikpdGhyb3cgbmV3IEVycm9yKCJNb25vdG9ub3VzQXJyYXk6IGN1cnJlbnQgcHJlZGljYXRlIG11c3QgYmUgd2Vha2VyIHRoYW4gKG9yIGVxdWFsIHRvKSB0aGUgcHJldmlvdXMgcHJlZGljYXRlLiIpfXRoaXMuX3ByZXZGaW5kTGFzdFByZWRpY2F0ZT10fWNvbnN0IG49JGUodGhpcy5fYXJyYXksdCx0aGlzLl9maW5kTGFzdE1vbm90b25vdXNMYXN0SWR4KTtyZXR1cm4gdGhpcy5fZmluZExhc3RNb25vdG9ub3VzTGFzdElkeD1uKzEsbj09PS0xP3ZvaWQgMDp0aGlzLl9hcnJheVtuXX19amUuYXNzZXJ0SW52YXJpYW50cz0hMTtjbGFzcyBQe3N0YXRpYyBmcm9tUmFuZ2VJbmNsdXNpdmUodCl7cmV0dXJuIG5ldyBQKHQuc3RhcnRMaW5lTnVtYmVyLHQuZW5kTGluZU51bWJlcisxKX1zdGF0aWMgam9pbk1hbnkodCl7aWYodC5sZW5ndGg9PT0wKXJldHVybltdO2xldCBuPW5ldyB1ZSh0WzBdLnNsaWNlKCkpO2ZvcihsZXQgcj0xO3I8dC5sZW5ndGg7cisrKW49bi5nZXRVbmlvbihuZXcgdWUodFtyXS5zbGljZSgpKSk7cmV0dXJuIG4ucmFuZ2VzfXN0YXRpYyBqb2luKHQpe2lmKHQubGVuZ3RoPT09MCl0aHJvdyBuZXcgY2UoImxpbmVSYW5nZXMgY2Fubm90IGJlIGVtcHR5Iik7bGV0IG49dFswXS5zdGFydExpbmVOdW1iZXIscj10WzBdLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU7Zm9yKGxldCBzPTE7czx0Lmxlbmd0aDtzKyspbj1NYXRoLm1pbihuLHRbc10uc3RhcnRMaW5lTnVtYmVyKSxyPU1hdGgubWF4KHIsdFtzXS5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlKTtyZXR1cm4gbmV3IFAobixyKX1zdGF0aWMgb2ZMZW5ndGgodCxuKXtyZXR1cm4gbmV3IFAodCx0K24pfXN0YXRpYyBkZXNlcmlhbGl6ZSh0KXtyZXR1cm4gbmV3IFAodFswXSx0WzFdKX1jb25zdHJ1Y3Rvcih0LG4pe2lmKHQ+bil0aHJvdyBuZXcgY2UoYHN0YXJ0TGluZU51bWJlciAke3R9IGNhbm5vdCBiZSBhZnRlciBlbmRMaW5lTnVtYmVyRXhjbHVzaXZlICR7bn1gKTt0aGlzLnN0YXJ0TGluZU51bWJlcj10LHRoaXMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZT1ufWNvbnRhaW5zKHQpe3JldHVybiB0aGlzLnN0YXJ0TGluZU51bWJlcjw9dCYmdDx0aGlzLmVuZExpbmVOdW1iZXJFeGNsdXNpdmV9Z2V0IGlzRW1wdHkoKXtyZXR1cm4gdGhpcy5zdGFydExpbmVOdW1iZXI9PT10aGlzLmVuZExpbmVOdW1iZXJFeGNsdXNpdmV9ZGVsdGEodCl7cmV0dXJuIG5ldyBQKHRoaXMuc3RhcnRMaW5lTnVtYmVyK3QsdGhpcy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlK3QpfWRlbHRhTGVuZ3RoKHQpe3JldHVybiBuZXcgUCh0aGlzLnN0YXJ0TGluZU51bWJlcix0aGlzLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUrdCl9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUtdGhpcy5zdGFydExpbmVOdW1iZXJ9am9pbih0KXtyZXR1cm4gbmV3IFAoTWF0aC5taW4odGhpcy5zdGFydExpbmVOdW1iZXIsdC5zdGFydExpbmVOdW1iZXIpLE1hdGgubWF4KHRoaXMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSx0LmVuZExpbmVOdW1iZXJFeGNsdXNpdmUpKX10b1N0cmluZygpe3JldHVybmBbJHt0aGlzLnN0YXJ0TGluZU51bWJlcn0sJHt0aGlzLmVuZExpbmVOdW1iZXJFeGNsdXNpdmV9KWB9aW50ZXJzZWN0KHQpe2NvbnN0IG49TWF0aC5tYXgodGhpcy5zdGFydExpbmVOdW1iZXIsdC5zdGFydExpbmVOdW1iZXIpLHI9TWF0aC5taW4odGhpcy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLHQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSk7aWYobjw9cilyZXR1cm4gbmV3IFAobixyKX1pbnRlcnNlY3RzU3RyaWN0KHQpe3JldHVybiB0aGlzLnN0YXJ0TGluZU51bWJlcjx0LmVuZExpbmVOdW1iZXJFeGNsdXNpdmUmJnQuc3RhcnRMaW5lTnVtYmVyPHRoaXMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZX1vdmVybGFwT3JUb3VjaCh0KXtyZXR1cm4gdGhpcy5zdGFydExpbmVOdW1iZXI8PXQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSYmdC5zdGFydExpbmVOdW1iZXI8PXRoaXMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZX1lcXVhbHModCl7cmV0dXJuIHRoaXMuc3RhcnRMaW5lTnVtYmVyPT09dC5zdGFydExpbmVOdW1iZXImJnRoaXMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZT09PXQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZX10b0luY2x1c2l2ZVJhbmdlKCl7cmV0dXJuIHRoaXMuaXNFbXB0eT9udWxsOm5ldyBEKHRoaXMuc3RhcnRMaW5lTnVtYmVyLDEsdGhpcy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLTEsTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpfXRvRXhjbHVzaXZlUmFuZ2UoKXtyZXR1cm4gbmV3IEQodGhpcy5zdGFydExpbmVOdW1iZXIsMSx0aGlzLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUsMSl9bWFwVG9MaW5lQXJyYXkodCl7Y29uc3Qgbj1bXTtmb3IobGV0IHI9dGhpcy5zdGFydExpbmVOdW1iZXI7cjx0aGlzLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU7cisrKW4ucHVzaCh0KHIpKTtyZXR1cm4gbn1mb3JFYWNoKHQpe2ZvcihsZXQgbj10aGlzLnN0YXJ0TGluZU51bWJlcjtuPHRoaXMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZTtuKyspdChuKX1zZXJpYWxpemUoKXtyZXR1cm5bdGhpcy5zdGFydExpbmVOdW1iZXIsdGhpcy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlXX1pbmNsdWRlcyh0KXtyZXR1cm4gdGhpcy5zdGFydExpbmVOdW1iZXI8PXQmJnQ8dGhpcy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlfXRvT2Zmc2V0UmFuZ2UoKXtyZXR1cm4gbmV3IEkodGhpcy5zdGFydExpbmVOdW1iZXItMSx0aGlzLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUtMSl9fWNsYXNzIHVle2NvbnN0cnVjdG9yKHQ9W10pe3RoaXMuX25vcm1hbGl6ZWRSYW5nZXM9dH1nZXQgcmFuZ2VzKCl7cmV0dXJuIHRoaXMuX25vcm1hbGl6ZWRSYW5nZXN9YWRkUmFuZ2UodCl7aWYodC5sZW5ndGg9PT0wKXJldHVybjtjb25zdCBuPVd0KHRoaXMuX25vcm1hbGl6ZWRSYW5nZXMscz0+cy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlPj10LnN0YXJ0TGluZU51bWJlcikscj0kZSh0aGlzLl9ub3JtYWxpemVkUmFuZ2VzLHM9PnMuc3RhcnRMaW5lTnVtYmVyPD10LmVuZExpbmVOdW1iZXJFeGNsdXNpdmUpKzE7aWYobj09PXIpdGhpcy5fbm9ybWFsaXplZFJhbmdlcy5zcGxpY2UobiwwLHQpO2Vsc2UgaWYobj09PXItMSl7Y29uc3Qgcz10aGlzLl9ub3JtYWxpemVkUmFuZ2VzW25dO3RoaXMuX25vcm1hbGl6ZWRSYW5nZXNbbl09cy5qb2luKHQpfWVsc2V7Y29uc3Qgcz10aGlzLl9ub3JtYWxpemVkUmFuZ2VzW25dLmpvaW4odGhpcy5fbm9ybWFsaXplZFJhbmdlc1tyLTFdKS5qb2luKHQpO3RoaXMuX25vcm1hbGl6ZWRSYW5nZXMuc3BsaWNlKG4sci1uLHMpfX1jb250YWlucyh0KXtjb25zdCBuPUllKHRoaXMuX25vcm1hbGl6ZWRSYW5nZXMscj0+ci5zdGFydExpbmVOdW1iZXI8PXQpO3JldHVybiEhbiYmbi5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlPnR9aW50ZXJzZWN0cyh0KXtjb25zdCBuPUllKHRoaXMuX25vcm1hbGl6ZWRSYW5nZXMscj0+ci5zdGFydExpbmVOdW1iZXI8dC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlKTtyZXR1cm4hIW4mJm4uZW5kTGluZU51bWJlckV4Y2x1c2l2ZT50LnN0YXJ0TGluZU51bWJlcn1nZXRVbmlvbih0KXtpZih0aGlzLl9ub3JtYWxpemVkUmFuZ2VzLmxlbmd0aD09PTApcmV0dXJuIHQ7aWYodC5fbm9ybWFsaXplZFJhbmdlcy5sZW5ndGg9PT0wKXJldHVybiB0aGlzO2NvbnN0IG49W107bGV0IHI9MCxzPTAsaT1udWxsO2Zvcig7cjx0aGlzLl9ub3JtYWxpemVkUmFuZ2VzLmxlbmd0aHx8czx0Ll9ub3JtYWxpemVkUmFuZ2VzLmxlbmd0aDspe2xldCBvPW51bGw7aWYocjx0aGlzLl9ub3JtYWxpemVkUmFuZ2VzLmxlbmd0aCYmczx0Ll9ub3JtYWxpemVkUmFuZ2VzLmxlbmd0aCl7Y29uc3QgbD10aGlzLl9ub3JtYWxpemVkUmFuZ2VzW3JdLHU9dC5fbm9ybWFsaXplZFJhbmdlc1tzXTtsLnN0YXJ0TGluZU51bWJlcjx1LnN0YXJ0TGluZU51bWJlcj8obz1sLHIrKyk6KG89dSxzKyspfWVsc2Ugcjx0aGlzLl9ub3JtYWxpemVkUmFuZ2VzLmxlbmd0aD8obz10aGlzLl9ub3JtYWxpemVkUmFuZ2VzW3JdLHIrKyk6KG89dC5fbm9ybWFsaXplZFJhbmdlc1tzXSxzKyspO2k9PT1udWxsP2k9bzppLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU+PW8uc3RhcnRMaW5lTnVtYmVyP2k9bmV3IFAoaS5zdGFydExpbmVOdW1iZXIsTWF0aC5tYXgoaS5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLG8uZW5kTGluZU51bWJlckV4Y2x1c2l2ZSkpOihuLnB1c2goaSksaT1vKX1yZXR1cm4gaSE9PW51bGwmJm4ucHVzaChpKSxuZXcgdWUobil9c3VidHJhY3RGcm9tKHQpe2NvbnN0IG49V3QodGhpcy5fbm9ybWFsaXplZFJhbmdlcyxvPT5vLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU+PXQuc3RhcnRMaW5lTnVtYmVyKSxyPSRlKHRoaXMuX25vcm1hbGl6ZWRSYW5nZXMsbz0+by5zdGFydExpbmVOdW1iZXI8PXQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSkrMTtpZihuPT09cilyZXR1cm4gbmV3IHVlKFt0XSk7Y29uc3Qgcz1bXTtsZXQgaT10LnN0YXJ0TGluZU51bWJlcjtmb3IobGV0IG89bjtvPHI7bysrKXtjb25zdCBsPXRoaXMuX25vcm1hbGl6ZWRSYW5nZXNbb107bC5zdGFydExpbmVOdW1iZXI+aSYmcy5wdXNoKG5ldyBQKGksbC5zdGFydExpbmVOdW1iZXIpKSxpPWwuZW5kTGluZU51bWJlckV4Y2x1c2l2ZX1yZXR1cm4gaTx0LmVuZExpbmVOdW1iZXJFeGNsdXNpdmUmJnMucHVzaChuZXcgUChpLHQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSkpLG5ldyB1ZShzKX10b1N0cmluZygpe3JldHVybiB0aGlzLl9ub3JtYWxpemVkUmFuZ2VzLm1hcCh0PT50LnRvU3RyaW5nKCkpLmpvaW4oIiwgIil9Z2V0SW50ZXJzZWN0aW9uKHQpe2NvbnN0IG49W107bGV0IHI9MCxzPTA7Zm9yKDtyPHRoaXMuX25vcm1hbGl6ZWRSYW5nZXMubGVuZ3RoJiZzPHQuX25vcm1hbGl6ZWRSYW5nZXMubGVuZ3RoOyl7Y29uc3QgaT10aGlzLl9ub3JtYWxpemVkUmFuZ2VzW3JdLG89dC5fbm9ybWFsaXplZFJhbmdlc1tzXSxsPWkuaW50ZXJzZWN0KG8pO2wmJiFsLmlzRW1wdHkmJm4ucHVzaChsKSxpLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU8by5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlP3IrKzpzKyt9cmV0dXJuIG5ldyB1ZShuKX1nZXRXaXRoRGVsdGEodCl7cmV0dXJuIG5ldyB1ZSh0aGlzLl9ub3JtYWxpemVkUmFuZ2VzLm1hcChuPT5uLmRlbHRhKHQpKSl9fWNsYXNzIG9le3N0YXRpYyBpbnZlcnNlKHQsbixyKXtjb25zdCBzPVtdO2xldCBpPTEsbz0xO2Zvcihjb25zdCB1IG9mIHQpe2NvbnN0IGM9bmV3IG9lKG5ldyBQKGksdS5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXIpLG5ldyBQKG8sdS5tb2RpZmllZC5zdGFydExpbmVOdW1iZXIpKTtjLm1vZGlmaWVkLmlzRW1wdHl8fHMucHVzaChjKSxpPXUub3JpZ2luYWwuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSxvPXUubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZX1jb25zdCBsPW5ldyBvZShuZXcgUChpLG4rMSksbmV3IFAobyxyKzEpKTtyZXR1cm4gbC5tb2RpZmllZC5pc0VtcHR5fHxzLnB1c2gobCksc31zdGF0aWMgY2xpcCh0LG4scil7Y29uc3Qgcz1bXTtmb3IoY29uc3QgaSBvZiB0KXtjb25zdCBvPWkub3JpZ2luYWwuaW50ZXJzZWN0KG4pLGw9aS5tb2RpZmllZC5pbnRlcnNlY3Qocik7byYmIW8uaXNFbXB0eSYmbCYmIWwuaXNFbXB0eSYmcy5wdXNoKG5ldyBvZShvLGwpKX1yZXR1cm4gc31jb25zdHJ1Y3Rvcih0LG4pe3RoaXMub3JpZ2luYWw9dCx0aGlzLm1vZGlmaWVkPW59dG9TdHJpbmcoKXtyZXR1cm5geyR7dGhpcy5vcmlnaW5hbC50b1N0cmluZygpfS0+JHt0aGlzLm1vZGlmaWVkLnRvU3RyaW5nKCl9fWB9ZmxpcCgpe3JldHVybiBuZXcgb2UodGhpcy5tb2RpZmllZCx0aGlzLm9yaWdpbmFsKX1qb2luKHQpe3JldHVybiBuZXcgb2UodGhpcy5vcmlnaW5hbC5qb2luKHQub3JpZ2luYWwpLHRoaXMubW9kaWZpZWQuam9pbih0Lm1vZGlmaWVkKSl9fWNsYXNzIGhlIGV4dGVuZHMgb2V7c3RhdGljIGZyb21SYW5nZU1hcHBpbmdzKHQpe2NvbnN0IG49UC5qb2luKHQubWFwKHM9PlAuZnJvbVJhbmdlSW5jbHVzaXZlKHMub3JpZ2luYWxSYW5nZSkpKSxyPVAuam9pbih0Lm1hcChzPT5QLmZyb21SYW5nZUluY2x1c2l2ZShzLm1vZGlmaWVkUmFuZ2UpKSk7cmV0dXJuIG5ldyBoZShuLHIsdCl9Y29uc3RydWN0b3IodCxuLHIpe3N1cGVyKHQsbiksdGhpcy5pbm5lckNoYW5nZXM9cn1mbGlwKCl7dmFyIHQ7cmV0dXJuIG5ldyBoZSh0aGlzLm1vZGlmaWVkLHRoaXMub3JpZ2luYWwsKHQ9dGhpcy5pbm5lckNoYW5nZXMpPT09bnVsbHx8dD09PXZvaWQgMD92b2lkIDA6dC5tYXAobj0+bi5mbGlwKCkpKX13aXRoSW5uZXJDaGFuZ2VzRnJvbUxpbmVSYW5nZXMoKXtyZXR1cm4gbmV3IGhlKHRoaXMub3JpZ2luYWwsdGhpcy5tb2RpZmllZCxbbmV3IEJlKHRoaXMub3JpZ2luYWwudG9FeGNsdXNpdmVSYW5nZSgpLHRoaXMubW9kaWZpZWQudG9FeGNsdXNpdmVSYW5nZSgpKV0pfX1jbGFzcyBCZXtjb25zdHJ1Y3Rvcih0LG4pe3RoaXMub3JpZ2luYWxSYW5nZT10LHRoaXMubW9kaWZpZWRSYW5nZT1ufXRvU3RyaW5nKCl7cmV0dXJuYHske3RoaXMub3JpZ2luYWxSYW5nZS50b1N0cmluZygpfS0+JHt0aGlzLm1vZGlmaWVkUmFuZ2UudG9TdHJpbmcoKX19YH1mbGlwKCl7cmV0dXJuIG5ldyBCZSh0aGlzLm1vZGlmaWVkUmFuZ2UsdGhpcy5vcmlnaW5hbFJhbmdlKX19Y29uc3QgSGk9MztjbGFzcyBxaXtjb21wdXRlRGlmZih0LG4scil7dmFyIHM7Y29uc3Qgbz1uZXcgemkodCxuLHttYXhDb21wdXRhdGlvblRpbWU6ci5tYXhDb21wdXRhdGlvblRpbWVNcyxzaG91bGRJZ25vcmVUcmltV2hpdGVzcGFjZTpyLmlnbm9yZVRyaW1XaGl0ZXNwYWNlLHNob3VsZENvbXB1dGVDaGFyQ2hhbmdlczohMCxzaG91bGRNYWtlUHJldHR5RGlmZjohMCxzaG91bGRQb3N0UHJvY2Vzc0NoYXJDaGFuZ2VzOiEwfSkuY29tcHV0ZURpZmYoKSxsPVtdO2xldCB1PW51bGw7Zm9yKGNvbnN0IGMgb2Ygby5jaGFuZ2VzKXtsZXQgaDtjLm9yaWdpbmFsRW5kTGluZU51bWJlcj09PTA/aD1uZXcgUChjLm9yaWdpbmFsU3RhcnRMaW5lTnVtYmVyKzEsYy5vcmlnaW5hbFN0YXJ0TGluZU51bWJlcisxKTpoPW5ldyBQKGMub3JpZ2luYWxTdGFydExpbmVOdW1iZXIsYy5vcmlnaW5hbEVuZExpbmVOdW1iZXIrMSk7bGV0IGY7Yy5tb2RpZmllZEVuZExpbmVOdW1iZXI9PT0wP2Y9bmV3IFAoYy5tb2RpZmllZFN0YXJ0TGluZU51bWJlcisxLGMubW9kaWZpZWRTdGFydExpbmVOdW1iZXIrMSk6Zj1uZXcgUChjLm1vZGlmaWVkU3RhcnRMaW5lTnVtYmVyLGMubW9kaWZpZWRFbmRMaW5lTnVtYmVyKzEpO2xldCBkPW5ldyBoZShoLGYsKHM9Yy5jaGFyQ2hhbmdlcyk9PT1udWxsfHxzPT09dm9pZCAwP3ZvaWQgMDpzLm1hcChtPT5uZXcgQmUobmV3IEQobS5vcmlnaW5hbFN0YXJ0TGluZU51bWJlcixtLm9yaWdpbmFsU3RhcnRDb2x1bW4sbS5vcmlnaW5hbEVuZExpbmVOdW1iZXIsbS5vcmlnaW5hbEVuZENvbHVtbiksbmV3IEQobS5tb2RpZmllZFN0YXJ0TGluZU51bWJlcixtLm1vZGlmaWVkU3RhcnRDb2x1bW4sbS5tb2RpZmllZEVuZExpbmVOdW1iZXIsbS5tb2RpZmllZEVuZENvbHVtbikpKSk7dSYmKHUubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZT09PWQubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyfHx1Lm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU9PT1kLm9yaWdpbmFsLnN0YXJ0TGluZU51bWJlcikmJihkPW5ldyBoZSh1Lm9yaWdpbmFsLmpvaW4oZC5vcmlnaW5hbCksdS5tb2RpZmllZC5qb2luKGQubW9kaWZpZWQpLHUuaW5uZXJDaGFuZ2VzJiZkLmlubmVyQ2hhbmdlcz91LmlubmVyQ2hhbmdlcy5jb25jYXQoZC5pbm5lckNoYW5nZXMpOnZvaWQgMCksbC5wb3AoKSksbC5wdXNoKGQpLHU9ZH1yZXR1cm4gaHQoKCk9PlJyKGwsKGMsaCk9Pmgub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyLWMub3JpZ2luYWwuZW5kTGluZU51bWJlckV4Y2x1c2l2ZT09PWgubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyLWMubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSYmYy5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlPGgub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyJiZjLm1vZGlmaWVkLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU8aC5tb2RpZmllZC5zdGFydExpbmVOdW1iZXIpKSxuZXcgZnQobCxbXSxvLnF1aXRFYXJseSl9fWZ1bmN0aW9uIHlyKGUsdCxuLHIpe3JldHVybiBuZXcgZ2UoZSx0LG4pLkNvbXB1dGVEaWZmKHIpfWxldCBNcj1jbGFzc3tjb25zdHJ1Y3Rvcih0KXtjb25zdCBuPVtdLHI9W107Zm9yKGxldCBzPTAsaT10Lmxlbmd0aDtzPGk7cysrKW5bc109enQodFtzXSwxKSxyW3NdPUd0KHRbc10sMSk7dGhpcy5saW5lcz10LHRoaXMuX3N0YXJ0Q29sdW1ucz1uLHRoaXMuX2VuZENvbHVtbnM9cn1nZXRFbGVtZW50cygpe2NvbnN0IHQ9W107Zm9yKGxldCBuPTAscj10aGlzLmxpbmVzLmxlbmd0aDtuPHI7bisrKXRbbl09dGhpcy5saW5lc1tuXS5zdWJzdHJpbmcodGhpcy5fc3RhcnRDb2x1bW5zW25dLTEsdGhpcy5fZW5kQ29sdW1uc1tuXS0xKTtyZXR1cm4gdH1nZXRTdHJpY3RFbGVtZW50KHQpe3JldHVybiB0aGlzLmxpbmVzW3RdfWdldFN0YXJ0TGluZU51bWJlcih0KXtyZXR1cm4gdCsxfWdldEVuZExpbmVOdW1iZXIodCl7cmV0dXJuIHQrMX1jcmVhdGVDaGFyU2VxdWVuY2UodCxuLHIpe2NvbnN0IHM9W10saT1bXSxvPVtdO2xldCBsPTA7Zm9yKGxldCB1PW47dTw9cjt1Kyspe2NvbnN0IGM9dGhpcy5saW5lc1t1XSxoPXQ/dGhpcy5fc3RhcnRDb2x1bW5zW3VdOjEsZj10P3RoaXMuX2VuZENvbHVtbnNbdV06Yy5sZW5ndGgrMTtmb3IobGV0IGQ9aDtkPGY7ZCsrKXNbbF09Yy5jaGFyQ29kZUF0KGQtMSksaVtsXT11KzEsb1tsXT1kLGwrKzshdCYmdTxyJiYoc1tsXT0xMCxpW2xdPXUrMSxvW2xdPWMubGVuZ3RoKzEsbCsrKX1yZXR1cm4gbmV3IE9pKHMsaSxvKX19O2NsYXNzIE9pe2NvbnN0cnVjdG9yKHQsbixyKXt0aGlzLl9jaGFyQ29kZXM9dCx0aGlzLl9saW5lTnVtYmVycz1uLHRoaXMuX2NvbHVtbnM9cn10b1N0cmluZygpe3JldHVybiJbIit0aGlzLl9jaGFyQ29kZXMubWFwKCh0LG4pPT4odD09PTEwPyJcXG4iOlN0cmluZy5mcm9tQ2hhckNvZGUodCkpK2AtKCR7dGhpcy5fbGluZU51bWJlcnNbbl19LCR7dGhpcy5fY29sdW1uc1tuXX0pYCkuam9pbigiLCAiKSsiXSJ9X2Fzc2VydEluZGV4KHQsbil7aWYodDwwfHx0Pj1uLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIklsbGVnYWwgaW5kZXgiKX1nZXRFbGVtZW50cygpe3JldHVybiB0aGlzLl9jaGFyQ29kZXN9Z2V0U3RhcnRMaW5lTnVtYmVyKHQpe3JldHVybiB0PjAmJnQ9PT10aGlzLl9saW5lTnVtYmVycy5sZW5ndGg/dGhpcy5nZXRFbmRMaW5lTnVtYmVyKHQtMSk6KHRoaXMuX2Fzc2VydEluZGV4KHQsdGhpcy5fbGluZU51bWJlcnMpLHRoaXMuX2xpbmVOdW1iZXJzW3RdKX1nZXRFbmRMaW5lTnVtYmVyKHQpe3JldHVybiB0PT09LTE/dGhpcy5nZXRTdGFydExpbmVOdW1iZXIodCsxKToodGhpcy5fYXNzZXJ0SW5kZXgodCx0aGlzLl9saW5lTnVtYmVycyksdGhpcy5fY2hhckNvZGVzW3RdPT09MTA/dGhpcy5fbGluZU51bWJlcnNbdF0rMTp0aGlzLl9saW5lTnVtYmVyc1t0XSl9Z2V0U3RhcnRDb2x1bW4odCl7cmV0dXJuIHQ+MCYmdD09PXRoaXMuX2NvbHVtbnMubGVuZ3RoP3RoaXMuZ2V0RW5kQ29sdW1uKHQtMSk6KHRoaXMuX2Fzc2VydEluZGV4KHQsdGhpcy5fY29sdW1ucyksdGhpcy5fY29sdW1uc1t0XSl9Z2V0RW5kQ29sdW1uKHQpe3JldHVybiB0PT09LTE/dGhpcy5nZXRTdGFydENvbHVtbih0KzEpOih0aGlzLl9hc3NlcnRJbmRleCh0LHRoaXMuX2NvbHVtbnMpLHRoaXMuX2NoYXJDb2Rlc1t0XT09PTEwPzE6dGhpcy5fY29sdW1uc1t0XSsxKX19Y2xhc3MgVmV7Y29uc3RydWN0b3IodCxuLHIscyxpLG8sbCx1KXt0aGlzLm9yaWdpbmFsU3RhcnRMaW5lTnVtYmVyPXQsdGhpcy5vcmlnaW5hbFN0YXJ0Q29sdW1uPW4sdGhpcy5vcmlnaW5hbEVuZExpbmVOdW1iZXI9cix0aGlzLm9yaWdpbmFsRW5kQ29sdW1uPXMsdGhpcy5tb2RpZmllZFN0YXJ0TGluZU51bWJlcj1pLHRoaXMubW9kaWZpZWRTdGFydENvbHVtbj1vLHRoaXMubW9kaWZpZWRFbmRMaW5lTnVtYmVyPWwsdGhpcy5tb2RpZmllZEVuZENvbHVtbj11fXN0YXRpYyBjcmVhdGVGcm9tRGlmZkNoYW5nZSh0LG4scil7Y29uc3Qgcz1uLmdldFN0YXJ0TGluZU51bWJlcih0Lm9yaWdpbmFsU3RhcnQpLGk9bi5nZXRTdGFydENvbHVtbih0Lm9yaWdpbmFsU3RhcnQpLG89bi5nZXRFbmRMaW5lTnVtYmVyKHQub3JpZ2luYWxTdGFydCt0Lm9yaWdpbmFsTGVuZ3RoLTEpLGw9bi5nZXRFbmRDb2x1bW4odC5vcmlnaW5hbFN0YXJ0K3Qub3JpZ2luYWxMZW5ndGgtMSksdT1yLmdldFN0YXJ0TGluZU51bWJlcih0Lm1vZGlmaWVkU3RhcnQpLGM9ci5nZXRTdGFydENvbHVtbih0Lm1vZGlmaWVkU3RhcnQpLGg9ci5nZXRFbmRMaW5lTnVtYmVyKHQubW9kaWZpZWRTdGFydCt0Lm1vZGlmaWVkTGVuZ3RoLTEpLGY9ci5nZXRFbmRDb2x1bW4odC5tb2RpZmllZFN0YXJ0K3QubW9kaWZpZWRMZW5ndGgtMSk7cmV0dXJuIG5ldyBWZShzLGksbyxsLHUsYyxoLGYpfX1mdW5jdGlvbiBXaShlKXtpZihlLmxlbmd0aDw9MSlyZXR1cm4gZTtjb25zdCB0PVtlWzBdXTtsZXQgbj10WzBdO2ZvcihsZXQgcj0xLHM9ZS5sZW5ndGg7cjxzO3IrKyl7Y29uc3QgaT1lW3JdLG89aS5vcmlnaW5hbFN0YXJ0LShuLm9yaWdpbmFsU3RhcnQrbi5vcmlnaW5hbExlbmd0aCksbD1pLm1vZGlmaWVkU3RhcnQtKG4ubW9kaWZpZWRTdGFydCtuLm1vZGlmaWVkTGVuZ3RoKTtNYXRoLm1pbihvLGwpPEhpPyhuLm9yaWdpbmFsTGVuZ3RoPWkub3JpZ2luYWxTdGFydCtpLm9yaWdpbmFsTGVuZ3RoLW4ub3JpZ2luYWxTdGFydCxuLm1vZGlmaWVkTGVuZ3RoPWkubW9kaWZpZWRTdGFydCtpLm1vZGlmaWVkTGVuZ3RoLW4ubW9kaWZpZWRTdGFydCk6KHQucHVzaChpKSxuPWkpfXJldHVybiB0fWNsYXNzIFhle2NvbnN0cnVjdG9yKHQsbixyLHMsaSl7dGhpcy5vcmlnaW5hbFN0YXJ0TGluZU51bWJlcj10LHRoaXMub3JpZ2luYWxFbmRMaW5lTnVtYmVyPW4sdGhpcy5tb2RpZmllZFN0YXJ0TGluZU51bWJlcj1yLHRoaXMubW9kaWZpZWRFbmRMaW5lTnVtYmVyPXMsdGhpcy5jaGFyQ2hhbmdlcz1pfXN0YXRpYyBjcmVhdGVGcm9tRGlmZlJlc3VsdCh0LG4scixzLGksbyxsKXtsZXQgdSxjLGgsZixkO2lmKG4ub3JpZ2luYWxMZW5ndGg9PT0wPyh1PXIuZ2V0U3RhcnRMaW5lTnVtYmVyKG4ub3JpZ2luYWxTdGFydCktMSxjPTApOih1PXIuZ2V0U3RhcnRMaW5lTnVtYmVyKG4ub3JpZ2luYWxTdGFydCksYz1yLmdldEVuZExpbmVOdW1iZXIobi5vcmlnaW5hbFN0YXJ0K24ub3JpZ2luYWxMZW5ndGgtMSkpLG4ubW9kaWZpZWRMZW5ndGg9PT0wPyhoPXMuZ2V0U3RhcnRMaW5lTnVtYmVyKG4ubW9kaWZpZWRTdGFydCktMSxmPTApOihoPXMuZ2V0U3RhcnRMaW5lTnVtYmVyKG4ubW9kaWZpZWRTdGFydCksZj1zLmdldEVuZExpbmVOdW1iZXIobi5tb2RpZmllZFN0YXJ0K24ubW9kaWZpZWRMZW5ndGgtMSkpLG8mJm4ub3JpZ2luYWxMZW5ndGg+MCYmbi5vcmlnaW5hbExlbmd0aDwyMCYmbi5tb2RpZmllZExlbmd0aD4wJiZuLm1vZGlmaWVkTGVuZ3RoPDIwJiZpKCkpe2NvbnN0IG09ci5jcmVhdGVDaGFyU2VxdWVuY2UodCxuLm9yaWdpbmFsU3RhcnQsbi5vcmlnaW5hbFN0YXJ0K24ub3JpZ2luYWxMZW5ndGgtMSksZz1zLmNyZWF0ZUNoYXJTZXF1ZW5jZSh0LG4ubW9kaWZpZWRTdGFydCxuLm1vZGlmaWVkU3RhcnQrbi5tb2RpZmllZExlbmd0aC0xKTtpZihtLmdldEVsZW1lbnRzKCkubGVuZ3RoPjAmJmcuZ2V0RWxlbWVudHMoKS5sZW5ndGg+MCl7bGV0IHA9eXIobSxnLGksITApLmNoYW5nZXM7bCYmKHA9V2kocCkpLGQ9W107Zm9yKGxldCB2PTAsTj1wLmxlbmd0aDt2PE47disrKWQucHVzaChWZS5jcmVhdGVGcm9tRGlmZkNoYW5nZShwW3ZdLG0sZykpfX1yZXR1cm4gbmV3IFhlKHUsYyxoLGYsZCl9fWNsYXNzIHppe2NvbnN0cnVjdG9yKHQsbixyKXt0aGlzLnNob3VsZENvbXB1dGVDaGFyQ2hhbmdlcz1yLnNob3VsZENvbXB1dGVDaGFyQ2hhbmdlcyx0aGlzLnNob3VsZFBvc3RQcm9jZXNzQ2hhckNoYW5nZXM9ci5zaG91bGRQb3N0UHJvY2Vzc0NoYXJDaGFuZ2VzLHRoaXMuc2hvdWxkSWdub3JlVHJpbVdoaXRlc3BhY2U9ci5zaG91bGRJZ25vcmVUcmltV2hpdGVzcGFjZSx0aGlzLnNob3VsZE1ha2VQcmV0dHlEaWZmPXIuc2hvdWxkTWFrZVByZXR0eURpZmYsdGhpcy5vcmlnaW5hbExpbmVzPXQsdGhpcy5tb2RpZmllZExpbmVzPW4sdGhpcy5vcmlnaW5hbD1uZXcgTXIodCksdGhpcy5tb2RpZmllZD1uZXcgTXIobiksdGhpcy5jb250aW51ZUxpbmVEaWZmPWtyKHIubWF4Q29tcHV0YXRpb25UaW1lKSx0aGlzLmNvbnRpbnVlQ2hhckRpZmY9a3Ioci5tYXhDb21wdXRhdGlvblRpbWU9PT0wPzA6TWF0aC5taW4oci5tYXhDb21wdXRhdGlvblRpbWUsNWUzKSl9Y29tcHV0ZURpZmYoKXtpZih0aGlzLm9yaWdpbmFsLmxpbmVzLmxlbmd0aD09PTEmJnRoaXMub3JpZ2luYWwubGluZXNbMF0ubGVuZ3RoPT09MClyZXR1cm4gdGhpcy5tb2RpZmllZC5saW5lcy5sZW5ndGg9PT0xJiZ0aGlzLm1vZGlmaWVkLmxpbmVzWzBdLmxlbmd0aD09PTA/e3F1aXRFYXJseTohMSxjaGFuZ2VzOltdfTp7cXVpdEVhcmx5OiExLGNoYW5nZXM6W3tvcmlnaW5hbFN0YXJ0TGluZU51bWJlcjoxLG9yaWdpbmFsRW5kTGluZU51bWJlcjoxLG1vZGlmaWVkU3RhcnRMaW5lTnVtYmVyOjEsbW9kaWZpZWRFbmRMaW5lTnVtYmVyOnRoaXMubW9kaWZpZWQubGluZXMubGVuZ3RoLGNoYXJDaGFuZ2VzOnZvaWQgMH1dfTtpZih0aGlzLm1vZGlmaWVkLmxpbmVzLmxlbmd0aD09PTEmJnRoaXMubW9kaWZpZWQubGluZXNbMF0ubGVuZ3RoPT09MClyZXR1cm57cXVpdEVhcmx5OiExLGNoYW5nZXM6W3tvcmlnaW5hbFN0YXJ0TGluZU51bWJlcjoxLG9yaWdpbmFsRW5kTGluZU51bWJlcjp0aGlzLm9yaWdpbmFsLmxpbmVzLmxlbmd0aCxtb2RpZmllZFN0YXJ0TGluZU51bWJlcjoxLG1vZGlmaWVkRW5kTGluZU51bWJlcjoxLGNoYXJDaGFuZ2VzOnZvaWQgMH1dfTtjb25zdCB0PXlyKHRoaXMub3JpZ2luYWwsdGhpcy5tb2RpZmllZCx0aGlzLmNvbnRpbnVlTGluZURpZmYsdGhpcy5zaG91bGRNYWtlUHJldHR5RGlmZiksbj10LmNoYW5nZXMscj10LnF1aXRFYXJseTtpZih0aGlzLnNob3VsZElnbm9yZVRyaW1XaGl0ZXNwYWNlKXtjb25zdCBsPVtdO2ZvcihsZXQgdT0wLGM9bi5sZW5ndGg7dTxjO3UrKylsLnB1c2goWGUuY3JlYXRlRnJvbURpZmZSZXN1bHQodGhpcy5zaG91bGRJZ25vcmVUcmltV2hpdGVzcGFjZSxuW3VdLHRoaXMub3JpZ2luYWwsdGhpcy5tb2RpZmllZCx0aGlzLmNvbnRpbnVlQ2hhckRpZmYsdGhpcy5zaG91bGRDb21wdXRlQ2hhckNoYW5nZXMsdGhpcy5zaG91bGRQb3N0UHJvY2Vzc0NoYXJDaGFuZ2VzKSk7cmV0dXJue3F1aXRFYXJseTpyLGNoYW5nZXM6bH19Y29uc3Qgcz1bXTtsZXQgaT0wLG89MDtmb3IobGV0IGw9LTEsdT1uLmxlbmd0aDtsPHU7bCsrKXtjb25zdCBjPWwrMTx1P25bbCsxXTpudWxsLGg9Yz9jLm9yaWdpbmFsU3RhcnQ6dGhpcy5vcmlnaW5hbExpbmVzLmxlbmd0aCxmPWM/Yy5tb2RpZmllZFN0YXJ0OnRoaXMubW9kaWZpZWRMaW5lcy5sZW5ndGg7Zm9yKDtpPGgmJm88Zjspe2NvbnN0IGQ9dGhpcy5vcmlnaW5hbExpbmVzW2ldLG09dGhpcy5tb2RpZmllZExpbmVzW29dO2lmKGQhPT1tKXt7bGV0IGc9enQoZCwxKSxwPXp0KG0sMSk7Zm9yKDtnPjEmJnA+MTspe2NvbnN0IHY9ZC5jaGFyQ29kZUF0KGctMiksTj1tLmNoYXJDb2RlQXQocC0yKTtpZih2IT09TilicmVhaztnLS0scC0tfShnPjF8fHA+MSkmJnRoaXMuX3B1c2hUcmltV2hpdGVzcGFjZUNoYXJDaGFuZ2UocyxpKzEsMSxnLG8rMSwxLHApfXtsZXQgZz1HdChkLDEpLHA9R3QobSwxKTtjb25zdCB2PWQubGVuZ3RoKzEsTj1tLmxlbmd0aCsxO2Zvcig7Zzx2JiZwPE47KXtjb25zdCBTPWQuY2hhckNvZGVBdChnLTEpLF89ZC5jaGFyQ29kZUF0KHAtMSk7aWYoUyE9PV8pYnJlYWs7ZysrLHArK30oZzx2fHxwPE4pJiZ0aGlzLl9wdXNoVHJpbVdoaXRlc3BhY2VDaGFyQ2hhbmdlKHMsaSsxLGcsdixvKzEscCxOKX19aSsrLG8rK31jJiYocy5wdXNoKFhlLmNyZWF0ZUZyb21EaWZmUmVzdWx0KHRoaXMuc2hvdWxkSWdub3JlVHJpbVdoaXRlc3BhY2UsYyx0aGlzLm9yaWdpbmFsLHRoaXMubW9kaWZpZWQsdGhpcy5jb250aW51ZUNoYXJEaWZmLHRoaXMuc2hvdWxkQ29tcHV0ZUNoYXJDaGFuZ2VzLHRoaXMuc2hvdWxkUG9zdFByb2Nlc3NDaGFyQ2hhbmdlcykpLGkrPWMub3JpZ2luYWxMZW5ndGgsbys9Yy5tb2RpZmllZExlbmd0aCl9cmV0dXJue3F1aXRFYXJseTpyLGNoYW5nZXM6c319X3B1c2hUcmltV2hpdGVzcGFjZUNoYXJDaGFuZ2UodCxuLHIscyxpLG8sbCl7aWYodGhpcy5fbWVyZ2VUcmltV2hpdGVzcGFjZUNoYXJDaGFuZ2UodCxuLHIscyxpLG8sbCkpcmV0dXJuO2xldCB1O3RoaXMuc2hvdWxkQ29tcHV0ZUNoYXJDaGFuZ2VzJiYodT1bbmV3IFZlKG4scixuLHMsaSxvLGksbCldKSx0LnB1c2gobmV3IFhlKG4sbixpLGksdSkpfV9tZXJnZVRyaW1XaGl0ZXNwYWNlQ2hhckNoYW5nZSh0LG4scixzLGksbyxsKXtjb25zdCB1PXQubGVuZ3RoO2lmKHU9PT0wKXJldHVybiExO2NvbnN0IGM9dFt1LTFdO3JldHVybiBjLm9yaWdpbmFsRW5kTGluZU51bWJlcj09PTB8fGMubW9kaWZpZWRFbmRMaW5lTnVtYmVyPT09MD8hMTpjLm9yaWdpbmFsRW5kTGluZU51bWJlcj09PW4mJmMubW9kaWZpZWRFbmRMaW5lTnVtYmVyPT09aT8odGhpcy5zaG91bGRDb21wdXRlQ2hhckNoYW5nZXMmJmMuY2hhckNoYW5nZXMmJmMuY2hhckNoYW5nZXMucHVzaChuZXcgVmUobixyLG4scyxpLG8saSxsKSksITApOmMub3JpZ2luYWxFbmRMaW5lTnVtYmVyKzE9PT1uJiZjLm1vZGlmaWVkRW5kTGluZU51bWJlcisxPT09aT8oYy5vcmlnaW5hbEVuZExpbmVOdW1iZXI9bixjLm1vZGlmaWVkRW5kTGluZU51bWJlcj1pLHRoaXMuc2hvdWxkQ29tcHV0ZUNoYXJDaGFuZ2VzJiZjLmNoYXJDaGFuZ2VzJiZjLmNoYXJDaGFuZ2VzLnB1c2gobmV3IFZlKG4scixuLHMsaSxvLGksbCkpLCEwKTohMX19ZnVuY3Rpb24genQoZSx0KXtjb25zdCBuPXZzKGUpO3JldHVybiBuPT09LTE/dDpuKzF9ZnVuY3Rpb24gR3QoZSx0KXtjb25zdCBuPUxzKGUpO3JldHVybiBuPT09LTE/dDpuKzJ9ZnVuY3Rpb24ga3IoZSl7aWYoZT09PTApcmV0dXJuKCk9PiEwO2NvbnN0IHQ9RGF0ZS5ub3coKTtyZXR1cm4oKT0+RGF0ZS5ub3coKS10PGV9Y2xhc3MgZmV7c3RhdGljIHRyaXZpYWwodCxuKXtyZXR1cm4gbmV3IGZlKFtuZXcgVyhJLm9mTGVuZ3RoKHQubGVuZ3RoKSxJLm9mTGVuZ3RoKG4ubGVuZ3RoKSldLCExKX1zdGF0aWMgdHJpdmlhbFRpbWVkT3V0KHQsbil7cmV0dXJuIG5ldyBmZShbbmV3IFcoSS5vZkxlbmd0aCh0Lmxlbmd0aCksSS5vZkxlbmd0aChuLmxlbmd0aCkpXSwhMCl9Y29uc3RydWN0b3IodCxuKXt0aGlzLmRpZmZzPXQsdGhpcy5oaXRUaW1lb3V0PW59fWNsYXNzIFd7c3RhdGljIGludmVydCh0LG4pe2NvbnN0IHI9W107cmV0dXJuIG5pKHQsKHMsaSk9PntyLnB1c2goVy5mcm9tT2Zmc2V0UGFpcnMocz9zLmdldEVuZEV4Y2x1c2l2ZXMoKTpuZS56ZXJvLGk/aS5nZXRTdGFydHMoKTpuZXcgbmUobiwocz9zLnNlcTJSYW5nZS5lbmRFeGNsdXNpdmUtcy5zZXExUmFuZ2UuZW5kRXhjbHVzaXZlOjApK24pKSl9KSxyfXN0YXRpYyBmcm9tT2Zmc2V0UGFpcnModCxuKXtyZXR1cm4gbmV3IFcobmV3IEkodC5vZmZzZXQxLG4ub2Zmc2V0MSksbmV3IEkodC5vZmZzZXQyLG4ub2Zmc2V0MikpfWNvbnN0cnVjdG9yKHQsbil7dGhpcy5zZXExUmFuZ2U9dCx0aGlzLnNlcTJSYW5nZT1ufXN3YXAoKXtyZXR1cm4gbmV3IFcodGhpcy5zZXEyUmFuZ2UsdGhpcy5zZXExUmFuZ2UpfXRvU3RyaW5nKCl7cmV0dXJuYCR7dGhpcy5zZXExUmFuZ2V9IDwtPiAke3RoaXMuc2VxMlJhbmdlfWB9am9pbih0KXtyZXR1cm4gbmV3IFcodGhpcy5zZXExUmFuZ2Uuam9pbih0LnNlcTFSYW5nZSksdGhpcy5zZXEyUmFuZ2Uuam9pbih0LnNlcTJSYW5nZSkpfWRlbHRhKHQpe3JldHVybiB0PT09MD90aGlzOm5ldyBXKHRoaXMuc2VxMVJhbmdlLmRlbHRhKHQpLHRoaXMuc2VxMlJhbmdlLmRlbHRhKHQpKX1kZWx0YVN0YXJ0KHQpe3JldHVybiB0PT09MD90aGlzOm5ldyBXKHRoaXMuc2VxMVJhbmdlLmRlbHRhU3RhcnQodCksdGhpcy5zZXEyUmFuZ2UuZGVsdGFTdGFydCh0KSl9ZGVsdGFFbmQodCl7cmV0dXJuIHQ9PT0wP3RoaXM6bmV3IFcodGhpcy5zZXExUmFuZ2UuZGVsdGFFbmQodCksdGhpcy5zZXEyUmFuZ2UuZGVsdGFFbmQodCkpfWludGVyc2VjdCh0KXtjb25zdCBuPXRoaXMuc2VxMVJhbmdlLmludGVyc2VjdCh0LnNlcTFSYW5nZSkscj10aGlzLnNlcTJSYW5nZS5pbnRlcnNlY3QodC5zZXEyUmFuZ2UpO2lmKCEoIW58fCFyKSlyZXR1cm4gbmV3IFcobixyKX1nZXRTdGFydHMoKXtyZXR1cm4gbmV3IG5lKHRoaXMuc2VxMVJhbmdlLnN0YXJ0LHRoaXMuc2VxMlJhbmdlLnN0YXJ0KX1nZXRFbmRFeGNsdXNpdmVzKCl7cmV0dXJuIG5ldyBuZSh0aGlzLnNlcTFSYW5nZS5lbmRFeGNsdXNpdmUsdGhpcy5zZXEyUmFuZ2UuZW5kRXhjbHVzaXZlKX19Y2xhc3MgbmV7Y29uc3RydWN0b3IodCxuKXt0aGlzLm9mZnNldDE9dCx0aGlzLm9mZnNldDI9bn10b1N0cmluZygpe3JldHVybmAke3RoaXMub2Zmc2V0MX0gPC0+ICR7dGhpcy5vZmZzZXQyfWB9ZGVsdGEodCl7cmV0dXJuIHQ9PT0wP3RoaXM6bmV3IG5lKHRoaXMub2Zmc2V0MSt0LHRoaXMub2Zmc2V0Mit0KX1lcXVhbHModCl7cmV0dXJuIHRoaXMub2Zmc2V0MT09PXQub2Zmc2V0MSYmdGhpcy5vZmZzZXQyPT09dC5vZmZzZXQyfX1uZS56ZXJvPW5ldyBuZSgwLDApLG5lLm1heD1uZXcgbmUoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpO2NsYXNzIFlle2lzVmFsaWQoKXtyZXR1cm4hMH19WWUuaW5zdGFuY2U9bmV3IFllO2NsYXNzIEdpe2NvbnN0cnVjdG9yKHQpe2lmKHRoaXMudGltZW91dD10LHRoaXMuc3RhcnRUaW1lPURhdGUubm93KCksdGhpcy52YWxpZD0hMCx0PD0wKXRocm93IG5ldyBjZSgidGltZW91dCBtdXN0IGJlIHBvc2l0aXZlIil9aXNWYWxpZCgpe3JldHVybiEoRGF0ZS5ub3coKS10aGlzLnN0YXJ0VGltZTx0aGlzLnRpbWVvdXQpJiZ0aGlzLnZhbGlkJiYodGhpcy52YWxpZD0hMSksdGhpcy52YWxpZH19Y2xhc3MgJHR7Y29uc3RydWN0b3IodCxuKXt0aGlzLndpZHRoPXQsdGhpcy5oZWlnaHQ9bix0aGlzLmFycmF5PVtdLHRoaXMuYXJyYXk9bmV3IEFycmF5KHQqbil9Z2V0KHQsbil7cmV0dXJuIHRoaXMuYXJyYXlbdCtuKnRoaXMud2lkdGhdfXNldCh0LG4scil7dGhpcy5hcnJheVt0K24qdGhpcy53aWR0aF09cn19ZnVuY3Rpb24ganQoZSl7cmV0dXJuIGU9PT0zMnx8ZT09PTl9Y2xhc3MgVWV7c3RhdGljIGdldEtleSh0KXtsZXQgbj10aGlzLmNocktleXMuZ2V0KHQpO3JldHVybiBuPT09dm9pZCAwJiYobj10aGlzLmNocktleXMuc2l6ZSx0aGlzLmNocktleXMuc2V0KHQsbikpLG59Y29uc3RydWN0b3IodCxuLHIpe3RoaXMucmFuZ2U9dCx0aGlzLmxpbmVzPW4sdGhpcy5zb3VyY2U9cix0aGlzLmhpc3RvZ3JhbT1bXTtsZXQgcz0wO2ZvcihsZXQgaT10LnN0YXJ0TGluZU51bWJlci0xO2k8dC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLTE7aSsrKXtjb25zdCBvPW5baV07Zm9yKGxldCB1PTA7dTxvLmxlbmd0aDt1Kyspe3MrKztjb25zdCBjPW9bdV0saD1VZS5nZXRLZXkoYyk7dGhpcy5oaXN0b2dyYW1baF09KHRoaXMuaGlzdG9ncmFtW2hdfHwwKSsxfXMrKztjb25zdCBsPVVlLmdldEtleShgCmApO3RoaXMuaGlzdG9ncmFtW2xdPSh0aGlzLmhpc3RvZ3JhbVtsXXx8MCkrMX10aGlzLnRvdGFsQ291bnQ9c31jb21wdXRlU2ltaWxhcml0eSh0KXt2YXIgbixyO2xldCBzPTA7Y29uc3QgaT1NYXRoLm1heCh0aGlzLmhpc3RvZ3JhbS5sZW5ndGgsdC5oaXN0b2dyYW0ubGVuZ3RoKTtmb3IobGV0IG89MDtvPGk7bysrKXMrPU1hdGguYWJzKCgobj10aGlzLmhpc3RvZ3JhbVtvXSkhPT1udWxsJiZuIT09dm9pZCAwP246MCktKChyPXQuaGlzdG9ncmFtW29dKSE9PW51bGwmJnIhPT12b2lkIDA/cjowKSk7cmV0dXJuIDEtcy8odGhpcy50b3RhbENvdW50K3QudG90YWxDb3VudCl9fVVlLmNocktleXM9bmV3IE1hcDtjbGFzcyAkaXtjb21wdXRlKHQsbixyPVllLmluc3RhbmNlLHMpe2lmKHQubGVuZ3RoPT09MHx8bi5sZW5ndGg9PT0wKXJldHVybiBmZS50cml2aWFsKHQsbik7Y29uc3QgaT1uZXcgJHQodC5sZW5ndGgsbi5sZW5ndGgpLG89bmV3ICR0KHQubGVuZ3RoLG4ubGVuZ3RoKSxsPW5ldyAkdCh0Lmxlbmd0aCxuLmxlbmd0aCk7Zm9yKGxldCBnPTA7Zzx0Lmxlbmd0aDtnKyspZm9yKGxldCBwPTA7cDxuLmxlbmd0aDtwKyspe2lmKCFyLmlzVmFsaWQoKSlyZXR1cm4gZmUudHJpdmlhbFRpbWVkT3V0KHQsbik7Y29uc3Qgdj1nPT09MD8wOmkuZ2V0KGctMSxwKSxOPXA9PT0wPzA6aS5nZXQoZyxwLTEpO2xldCBTO3QuZ2V0RWxlbWVudChnKT09PW4uZ2V0RWxlbWVudChwKT8oZz09PTB8fHA9PT0wP1M9MDpTPWkuZ2V0KGctMSxwLTEpLGc+MCYmcD4wJiZvLmdldChnLTEscC0xKT09PTMmJihTKz1sLmdldChnLTEscC0xKSksUys9cz9zKGcscCk6MSk6Uz0tMTtjb25zdCBfPU1hdGgubWF4KHYsTixTKTtpZihfPT09Uyl7Y29uc3Qgdz1nPjAmJnA+MD9sLmdldChnLTEscC0xKTowO2wuc2V0KGcscCx3KzEpLG8uc2V0KGcscCwzKX1lbHNlIF89PT12PyhsLnNldChnLHAsMCksby5zZXQoZyxwLDEpKTpfPT09TiYmKGwuc2V0KGcscCwwKSxvLnNldChnLHAsMikpO2kuc2V0KGcscCxfKX1jb25zdCB1PVtdO2xldCBjPXQubGVuZ3RoLGg9bi5sZW5ndGg7ZnVuY3Rpb24gZihnLHApeyhnKzEhPT1jfHxwKzEhPT1oKSYmdS5wdXNoKG5ldyBXKG5ldyBJKGcrMSxjKSxuZXcgSShwKzEsaCkpKSxjPWcsaD1wfWxldCBkPXQubGVuZ3RoLTEsbT1uLmxlbmd0aC0xO2Zvcig7ZD49MCYmbT49MDspby5nZXQoZCxtKT09PTM/KGYoZCxtKSxkLS0sbS0tKTpvLmdldChkLG0pPT09MT9kLS06bS0tO3JldHVybiBmKC0xLC0xKSx1LnJldmVyc2UoKSxuZXcgZmUodSwhMSl9fWNsYXNzIFRye2NvbXB1dGUodCxuLHI9WWUuaW5zdGFuY2Upe2lmKHQubGVuZ3RoPT09MHx8bi5sZW5ndGg9PT0wKXJldHVybiBmZS50cml2aWFsKHQsbik7Y29uc3Qgcz10LGk9bjtmdW5jdGlvbiBvKHAsdil7Zm9yKDtwPHMubGVuZ3RoJiZ2PGkubGVuZ3RoJiZzLmdldEVsZW1lbnQocCk9PT1pLmdldEVsZW1lbnQodik7KXArKyx2Kys7cmV0dXJuIHB9bGV0IGw9MDtjb25zdCB1PW5ldyBqaTt1LnNldCgwLG8oMCwwKSk7Y29uc3QgYz1uZXcgWGk7Yy5zZXQoMCx1LmdldCgwKT09PTA/bnVsbDpuZXcgRHIobnVsbCwwLDAsdS5nZXQoMCkpKTtsZXQgaD0wO2U6Zm9yKDs7KXtpZihsKyssIXIuaXNWYWxpZCgpKXJldHVybiBmZS50cml2aWFsVGltZWRPdXQocyxpKTtjb25zdCBwPS1NYXRoLm1pbihsLGkubGVuZ3RoK2wlMiksdj1NYXRoLm1pbihsLHMubGVuZ3RoK2wlMik7Zm9yKGg9cDtoPD12O2grPTIpe2NvbnN0IE49aD09PXY/LTE6dS5nZXQoaCsxKSxTPWg9PT1wPy0xOnUuZ2V0KGgtMSkrMSxfPU1hdGgubWluKE1hdGgubWF4KE4sUykscy5sZW5ndGgpLHc9Xy1oO2lmKF8+cy5sZW5ndGh8fHc+aS5sZW5ndGgpY29udGludWU7Y29uc3QgeD1vKF8sdyk7dS5zZXQoaCx4KTtjb25zdCBDPV89PT1OP2MuZ2V0KGgrMSk6Yy5nZXQoaC0xKTtpZihjLnNldChoLHghPT1fP25ldyBEcihDLF8sdyx4LV8pOkMpLHUuZ2V0KGgpPT09cy5sZW5ndGgmJnUuZ2V0KGgpLWg9PT1pLmxlbmd0aClicmVhayBlfX1sZXQgZj1jLmdldChoKTtjb25zdCBkPVtdO2xldCBtPXMubGVuZ3RoLGc9aS5sZW5ndGg7Zm9yKDs7KXtjb25zdCBwPWY/Zi54K2YubGVuZ3RoOjAsdj1mP2YueStmLmxlbmd0aDowO2lmKChwIT09bXx8diE9PWcpJiZkLnB1c2gobmV3IFcobmV3IEkocCxtKSxuZXcgSSh2LGcpKSksIWYpYnJlYWs7bT1mLngsZz1mLnksZj1mLnByZXZ9cmV0dXJuIGQucmV2ZXJzZSgpLG5ldyBmZShkLCExKX19Y2xhc3MgRHJ7Y29uc3RydWN0b3IodCxuLHIscyl7dGhpcy5wcmV2PXQsdGhpcy54PW4sdGhpcy55PXIsdGhpcy5sZW5ndGg9c319Y2xhc3Mgaml7Y29uc3RydWN0b3IoKXt0aGlzLnBvc2l0aXZlQXJyPW5ldyBJbnQzMkFycmF5KDEwKSx0aGlzLm5lZ2F0aXZlQXJyPW5ldyBJbnQzMkFycmF5KDEwKX1nZXQodCl7cmV0dXJuIHQ8MD8odD0tdC0xLHRoaXMubmVnYXRpdmVBcnJbdF0pOnRoaXMucG9zaXRpdmVBcnJbdF19c2V0KHQsbil7aWYodDwwKXtpZih0PS10LTEsdD49dGhpcy5uZWdhdGl2ZUFyci5sZW5ndGgpe2NvbnN0IHI9dGhpcy5uZWdhdGl2ZUFycjt0aGlzLm5lZ2F0aXZlQXJyPW5ldyBJbnQzMkFycmF5KHIubGVuZ3RoKjIpLHRoaXMubmVnYXRpdmVBcnIuc2V0KHIpfXRoaXMubmVnYXRpdmVBcnJbdF09bn1lbHNle2lmKHQ+PXRoaXMucG9zaXRpdmVBcnIubGVuZ3RoKXtjb25zdCByPXRoaXMucG9zaXRpdmVBcnI7dGhpcy5wb3NpdGl2ZUFycj1uZXcgSW50MzJBcnJheShyLmxlbmd0aCoyKSx0aGlzLnBvc2l0aXZlQXJyLnNldChyKX10aGlzLnBvc2l0aXZlQXJyW3RdPW59fX1jbGFzcyBYaXtjb25zdHJ1Y3Rvcigpe3RoaXMucG9zaXRpdmVBcnI9W10sdGhpcy5uZWdhdGl2ZUFycj1bXX1nZXQodCl7cmV0dXJuIHQ8MD8odD0tdC0xLHRoaXMubmVnYXRpdmVBcnJbdF0pOnRoaXMucG9zaXRpdmVBcnJbdF19c2V0KHQsbil7dDwwPyh0PS10LTEsdGhpcy5uZWdhdGl2ZUFyclt0XT1uKTp0aGlzLnBvc2l0aXZlQXJyW3RdPW59fWNsYXNzIGR0e2NvbnN0cnVjdG9yKHQsbixyKXt0aGlzLmxpbmVzPXQsdGhpcy5jb25zaWRlcldoaXRlc3BhY2VDaGFuZ2VzPXIsdGhpcy5lbGVtZW50cz1bXSx0aGlzLmZpcnN0Q2hhck9mZnNldEJ5TGluZT1bXSx0aGlzLmFkZGl0aW9uYWxPZmZzZXRCeUxpbmU9W107bGV0IHM9ITE7bi5zdGFydD4wJiZuLmVuZEV4Y2x1c2l2ZT49dC5sZW5ndGgmJihuPW5ldyBJKG4uc3RhcnQtMSxuLmVuZEV4Y2x1c2l2ZSkscz0hMCksdGhpcy5saW5lUmFuZ2U9bix0aGlzLmZpcnN0Q2hhck9mZnNldEJ5TGluZVswXT0wO2ZvcihsZXQgaT10aGlzLmxpbmVSYW5nZS5zdGFydDtpPHRoaXMubGluZVJhbmdlLmVuZEV4Y2x1c2l2ZTtpKyspe2xldCBvPXRbaV0sbD0wO2lmKHMpbD1vLmxlbmd0aCxvPSIiLHM9ITE7ZWxzZSBpZighcil7Y29uc3QgdT1vLnRyaW1TdGFydCgpO2w9by5sZW5ndGgtdS5sZW5ndGgsbz11LnRyaW1FbmQoKX10aGlzLmFkZGl0aW9uYWxPZmZzZXRCeUxpbmUucHVzaChsKTtmb3IobGV0IHU9MDt1PG8ubGVuZ3RoO3UrKyl0aGlzLmVsZW1lbnRzLnB1c2goby5jaGFyQ29kZUF0KHUpKTtpPHQubGVuZ3RoLTEmJih0aGlzLmVsZW1lbnRzLnB1c2goMTApLHRoaXMuZmlyc3RDaGFyT2Zmc2V0QnlMaW5lW2ktdGhpcy5saW5lUmFuZ2Uuc3RhcnQrMV09dGhpcy5lbGVtZW50cy5sZW5ndGgpfXRoaXMuYWRkaXRpb25hbE9mZnNldEJ5TGluZS5wdXNoKDApfXRvU3RyaW5nKCl7cmV0dXJuYFNsaWNlOiAiJHt0aGlzLnRleHR9ImB9Z2V0IHRleHQoKXtyZXR1cm4gdGhpcy5nZXRUZXh0KG5ldyBJKDAsdGhpcy5sZW5ndGgpKX1nZXRUZXh0KHQpe3JldHVybiB0aGlzLmVsZW1lbnRzLnNsaWNlKHQuc3RhcnQsdC5lbmRFeGNsdXNpdmUpLm1hcChuPT5TdHJpbmcuZnJvbUNoYXJDb2RlKG4pKS5qb2luKCIiKX1nZXRFbGVtZW50KHQpe3JldHVybiB0aGlzLmVsZW1lbnRzW3RdfWdldCBsZW5ndGgoKXtyZXR1cm4gdGhpcy5lbGVtZW50cy5sZW5ndGh9Z2V0Qm91bmRhcnlTY29yZSh0KXtjb25zdCBuPUZyKHQ+MD90aGlzLmVsZW1lbnRzW3QtMV06LTEpLHI9RnIodDx0aGlzLmVsZW1lbnRzLmxlbmd0aD90aGlzLmVsZW1lbnRzW3RdOi0xKTtpZihuPT09NyYmcj09PTgpcmV0dXJuIDA7aWYobj09PTgpcmV0dXJuIDE1MDtsZXQgcz0wO3JldHVybiBuIT09ciYmKHMrPTEwLG49PT0wJiZyPT09MSYmKHMrPTEpKSxzKz1QcihuKSxzKz1QcihyKSxzfXRyYW5zbGF0ZU9mZnNldCh0KXtpZih0aGlzLmxpbmVSYW5nZS5pc0VtcHR5KXJldHVybiBuZXcgSih0aGlzLmxpbmVSYW5nZS5zdGFydCsxLDEpO2NvbnN0IG49JGUodGhpcy5maXJzdENoYXJPZmZzZXRCeUxpbmUscj0+cjw9dCk7cmV0dXJuIG5ldyBKKHRoaXMubGluZVJhbmdlLnN0YXJ0K24rMSx0LXRoaXMuZmlyc3RDaGFyT2Zmc2V0QnlMaW5lW25dK3RoaXMuYWRkaXRpb25hbE9mZnNldEJ5TGluZVtuXSsxKX10cmFuc2xhdGVSYW5nZSh0KXtyZXR1cm4gRC5mcm9tUG9zaXRpb25zKHRoaXMudHJhbnNsYXRlT2Zmc2V0KHQuc3RhcnQpLHRoaXMudHJhbnNsYXRlT2Zmc2V0KHQuZW5kRXhjbHVzaXZlKSl9ZmluZFdvcmRDb250YWluaW5nKHQpe2lmKHQ8MHx8dD49dGhpcy5lbGVtZW50cy5sZW5ndGh8fCFYdCh0aGlzLmVsZW1lbnRzW3RdKSlyZXR1cm47bGV0IG49dDtmb3IoO24+MCYmWHQodGhpcy5lbGVtZW50c1tuLTFdKTspbi0tO2xldCByPXQ7Zm9yKDtyPHRoaXMuZWxlbWVudHMubGVuZ3RoJiZYdCh0aGlzLmVsZW1lbnRzW3JdKTspcisrO3JldHVybiBuZXcgSShuLHIpfWNvdW50TGluZXNJbih0KXtyZXR1cm4gdGhpcy50cmFuc2xhdGVPZmZzZXQodC5lbmRFeGNsdXNpdmUpLmxpbmVOdW1iZXItdGhpcy50cmFuc2xhdGVPZmZzZXQodC5zdGFydCkubGluZU51bWJlcn1pc1N0cm9uZ2x5RXF1YWwodCxuKXtyZXR1cm4gdGhpcy5lbGVtZW50c1t0XT09PXRoaXMuZWxlbWVudHNbbl19ZXh0ZW5kVG9GdWxsTGluZXModCl7dmFyIG4scjtjb25zdCBzPShuPUllKHRoaXMuZmlyc3RDaGFyT2Zmc2V0QnlMaW5lLG89Pm88PXQuc3RhcnQpKSE9PW51bGwmJm4hPT12b2lkIDA/bjowLGk9KHI9VWkodGhpcy5maXJzdENoYXJPZmZzZXRCeUxpbmUsbz0+dC5lbmRFeGNsdXNpdmU8PW8pKSE9PW51bGwmJnIhPT12b2lkIDA/cjp0aGlzLmVsZW1lbnRzLmxlbmd0aDtyZXR1cm4gbmV3IEkocyxpKX19ZnVuY3Rpb24gWHQoZSl7cmV0dXJuIGU+PTk3JiZlPD0xMjJ8fGU+PTY1JiZlPD05MHx8ZT49NDgmJmU8PTU3fWNvbnN0IFlpPXswOjAsMTowLDI6MCwzOjEwLDQ6Miw1OjMwLDY6Myw3OjEwLDg6MTB9O2Z1bmN0aW9uIFByKGUpe3JldHVybiBZaVtlXX1mdW5jdGlvbiBGcihlKXtyZXR1cm4gZT09PTEwPzg6ZT09PTEzPzc6anQoZSk/NjplPj05NyYmZTw9MTIyPzA6ZT49NjUmJmU8PTkwPzE6ZT49NDgmJmU8PTU3PzI6ZT09PS0xPzM6ZT09PTQ0fHxlPT09NTk/NTo0fWZ1bmN0aW9uIEppKGUsdCxuLHIscyxpKXtsZXR7bW92ZXM6byxleGNsdWRlZENoYW5nZXM6bH09WmkoZSx0LG4saSk7aWYoIWkuaXNWYWxpZCgpKXJldHVybltdO2NvbnN0IHU9ZS5maWx0ZXIoaD0+IWwuaGFzKGgpKSxjPUtpKHUscixzLHQsbixpKTtyZXR1cm4gc2kobyxjKSxvPWVhKG8pLG89by5maWx0ZXIoaD0+e2NvbnN0IGY9aC5vcmlnaW5hbC50b09mZnNldFJhbmdlKCkuc2xpY2UodCkubWFwKG09Pm0udHJpbSgpKTtyZXR1cm4gZi5qb2luKGAKYCkubGVuZ3RoPj0xNSYmUWkoZixtPT5tLmxlbmd0aD49Mik+PTJ9KSxvPXRhKGUsbyksb31mdW5jdGlvbiBRaShlLHQpe2xldCBuPTA7Zm9yKGNvbnN0IHIgb2YgZSl0KHIpJiZuKys7cmV0dXJuIG59ZnVuY3Rpb24gWmkoZSx0LG4scil7Y29uc3Qgcz1bXSxpPWUuZmlsdGVyKHU9PnUubW9kaWZpZWQuaXNFbXB0eSYmdS5vcmlnaW5hbC5sZW5ndGg+PTMpLm1hcCh1PT5uZXcgVWUodS5vcmlnaW5hbCx0LHUpKSxvPW5ldyBTZXQoZS5maWx0ZXIodT0+dS5vcmlnaW5hbC5pc0VtcHR5JiZ1Lm1vZGlmaWVkLmxlbmd0aD49MykubWFwKHU9Pm5ldyBVZSh1Lm1vZGlmaWVkLG4sdSkpKSxsPW5ldyBTZXQ7Zm9yKGNvbnN0IHUgb2YgaSl7bGV0IGM9LTEsaDtmb3IoY29uc3QgZiBvZiBvKXtjb25zdCBkPXUuY29tcHV0ZVNpbWlsYXJpdHkoZik7ZD5jJiYoYz1kLGg9Zil9aWYoYz4uOSYmaCYmKG8uZGVsZXRlKGgpLHMucHVzaChuZXcgb2UodS5yYW5nZSxoLnJhbmdlKSksbC5hZGQodS5zb3VyY2UpLGwuYWRkKGguc291cmNlKSksIXIuaXNWYWxpZCgpKXJldHVybnttb3ZlczpzLGV4Y2x1ZGVkQ2hhbmdlczpsfX1yZXR1cm57bW92ZXM6cyxleGNsdWRlZENoYW5nZXM6bH19ZnVuY3Rpb24gS2koZSx0LG4scixzLGkpe2NvbnN0IG89W10sbD1uZXcgTWk7Zm9yKGNvbnN0IGQgb2YgZSlmb3IobGV0IG09ZC5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXI7bTxkLm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUtMjttKyspe2NvbnN0IGc9YCR7dFttLTFdfToke3RbbSsxLTFdfToke3RbbSsyLTFdfWA7bC5hZGQoZyx7cmFuZ2U6bmV3IFAobSxtKzMpfSl9Y29uc3QgdT1bXTtlLnNvcnQoaXQoZD0+ZC5tb2RpZmllZC5zdGFydExpbmVOdW1iZXIsYXQpKTtmb3IoY29uc3QgZCBvZiBlKXtsZXQgbT1bXTtmb3IobGV0IGc9ZC5tb2RpZmllZC5zdGFydExpbmVOdW1iZXI7ZzxkLm1vZGlmaWVkLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUtMjtnKyspe2NvbnN0IHA9YCR7bltnLTFdfToke25bZysxLTFdfToke25bZysyLTFdfWAsdj1uZXcgUChnLGcrMyksTj1bXTtsLmZvckVhY2gocCwoe3JhbmdlOlN9KT0+e2Zvcihjb25zdCB3IG9mIG0paWYody5vcmlnaW5hbExpbmVSYW5nZS5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlKzE9PT1TLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUmJncubW9kaWZpZWRMaW5lUmFuZ2UuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSsxPT09di5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlKXt3Lm9yaWdpbmFsTGluZVJhbmdlPW5ldyBQKHcub3JpZ2luYWxMaW5lUmFuZ2Uuc3RhcnRMaW5lTnVtYmVyLFMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSksdy5tb2RpZmllZExpbmVSYW5nZT1uZXcgUCh3Lm1vZGlmaWVkTGluZVJhbmdlLnN0YXJ0TGluZU51bWJlcix2LmVuZExpbmVOdW1iZXJFeGNsdXNpdmUpLE4ucHVzaCh3KTtyZXR1cm59Y29uc3QgXz17bW9kaWZpZWRMaW5lUmFuZ2U6dixvcmlnaW5hbExpbmVSYW5nZTpTfTt1LnB1c2goXyksTi5wdXNoKF8pfSksbT1OfWlmKCFpLmlzVmFsaWQoKSlyZXR1cm5bXX11LnNvcnQoaWkoaXQoZD0+ZC5tb2RpZmllZExpbmVSYW5nZS5sZW5ndGgsYXQpKSk7Y29uc3QgYz1uZXcgdWUsaD1uZXcgdWU7Zm9yKGNvbnN0IGQgb2YgdSl7Y29uc3QgbT1kLm1vZGlmaWVkTGluZVJhbmdlLnN0YXJ0TGluZU51bWJlci1kLm9yaWdpbmFsTGluZVJhbmdlLnN0YXJ0TGluZU51bWJlcixnPWMuc3VidHJhY3RGcm9tKGQubW9kaWZpZWRMaW5lUmFuZ2UpLHA9aC5zdWJ0cmFjdEZyb20oZC5vcmlnaW5hbExpbmVSYW5nZSkuZ2V0V2l0aERlbHRhKG0pLHY9Zy5nZXRJbnRlcnNlY3Rpb24ocCk7Zm9yKGNvbnN0IE4gb2Ygdi5yYW5nZXMpe2lmKE4ubGVuZ3RoPDMpY29udGludWU7Y29uc3QgUz1OLF89Ti5kZWx0YSgtbSk7by5wdXNoKG5ldyBvZShfLFMpKSxjLmFkZFJhbmdlKFMpLGguYWRkUmFuZ2UoXyl9fW8uc29ydChpdChkPT5kLm9yaWdpbmFsLnN0YXJ0TGluZU51bWJlcixhdCkpO2NvbnN0IGY9bmV3IGplKGUpO2ZvcihsZXQgZD0wO2Q8by5sZW5ndGg7ZCsrKXtjb25zdCBtPW9bZF0sZz1mLmZpbmRMYXN0TW9ub3Rvbm91cyhDPT5DLm9yaWdpbmFsLnN0YXJ0TGluZU51bWJlcjw9bS5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXIpLHA9SWUoZSxDPT5DLm1vZGlmaWVkLnN0YXJ0TGluZU51bWJlcjw9bS5tb2RpZmllZC5zdGFydExpbmVOdW1iZXIpLHY9TWF0aC5tYXgobS5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXItZy5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXIsbS5tb2RpZmllZC5zdGFydExpbmVOdW1iZXItcC5tb2RpZmllZC5zdGFydExpbmVOdW1iZXIpLE49Zi5maW5kTGFzdE1vbm90b25vdXMoQz0+Qy5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXI8bS5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlKSxTPUllKGUsQz0+Qy5tb2RpZmllZC5zdGFydExpbmVOdW1iZXI8bS5tb2RpZmllZC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlKSxfPU1hdGgubWF4KE4ub3JpZ2luYWwuZW5kTGluZU51bWJlckV4Y2x1c2l2ZS1tLm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUsUy5tb2RpZmllZC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLW0ubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSk7bGV0IHc7Zm9yKHc9MDt3PHY7dysrKXtjb25zdCBDPW0ub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyLXctMSxFPW0ubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyLXctMTtpZihDPnIubGVuZ3RofHxFPnMubGVuZ3RofHxjLmNvbnRhaW5zKEUpfHxoLmNvbnRhaW5zKEMpfHwhSXIocltDLTFdLHNbRS0xXSxpKSlicmVha313PjAmJihoLmFkZFJhbmdlKG5ldyBQKG0ub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyLXcsbS5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXIpKSxjLmFkZFJhbmdlKG5ldyBQKG0ubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyLXcsbS5tb2RpZmllZC5zdGFydExpbmVOdW1iZXIpKSk7bGV0IHg7Zm9yKHg9MDt4PF87eCsrKXtjb25zdCBDPW0ub3JpZ2luYWwuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSt4LEU9bS5tb2RpZmllZC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlK3g7aWYoQz5yLmxlbmd0aHx8RT5zLmxlbmd0aHx8Yy5jb250YWlucyhFKXx8aC5jb250YWlucyhDKXx8IUlyKHJbQy0xXSxzW0UtMV0saSkpYnJlYWt9eD4wJiYoaC5hZGRSYW5nZShuZXcgUChtLm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUsbS5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlK3gpKSxjLmFkZFJhbmdlKG5ldyBQKG0ubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSxtLm1vZGlmaWVkLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUreCkpKSwodz4wfHx4PjApJiYob1tkXT1uZXcgb2UobmV3IFAobS5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXItdyxtLm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUreCksbmV3IFAobS5tb2RpZmllZC5zdGFydExpbmVOdW1iZXItdyxtLm1vZGlmaWVkLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUreCkpKX1yZXR1cm4gb31mdW5jdGlvbiBJcihlLHQsbil7aWYoZS50cmltKCk9PT10LnRyaW0oKSlyZXR1cm4hMDtpZihlLmxlbmd0aD4zMDAmJnQubGVuZ3RoPjMwMClyZXR1cm4hMTtjb25zdCBzPW5ldyBUcigpLmNvbXB1dGUobmV3IGR0KFtlXSxuZXcgSSgwLDEpLCExKSxuZXcgZHQoW3RdLG5ldyBJKDAsMSksITEpLG4pO2xldCBpPTA7Y29uc3Qgbz1XLmludmVydChzLmRpZmZzLGUubGVuZ3RoKTtmb3IoY29uc3QgaCBvZiBvKWguc2VxMVJhbmdlLmZvckVhY2goZj0+e2p0KGUuY2hhckNvZGVBdChmKSl8fGkrK30pO2Z1bmN0aW9uIGwoaCl7bGV0IGY9MDtmb3IobGV0IGQ9MDtkPGUubGVuZ3RoO2QrKylqdChoLmNoYXJDb2RlQXQoZCkpfHxmKys7cmV0dXJuIGZ9Y29uc3QgdT1sKGUubGVuZ3RoPnQubGVuZ3RoP2U6dCk7cmV0dXJuIGkvdT4uNiYmdT4xMH1mdW5jdGlvbiBlYShlKXtpZihlLmxlbmd0aD09PTApcmV0dXJuIGU7ZS5zb3J0KGl0KG49Pm4ub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyLGF0KSk7Y29uc3QgdD1bZVswXV07Zm9yKGxldCBuPTE7bjxlLmxlbmd0aDtuKyspe2NvbnN0IHI9dFt0Lmxlbmd0aC0xXSxzPWVbbl0saT1zLm9yaWdpbmFsLnN0YXJ0TGluZU51bWJlci1yLm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUsbz1zLm1vZGlmaWVkLnN0YXJ0TGluZU51bWJlci1yLm1vZGlmaWVkLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU7aWYoaT49MCYmbz49MCYmaStvPD0yKXt0W3QubGVuZ3RoLTFdPXIuam9pbihzKTtjb250aW51ZX10LnB1c2gocyl9cmV0dXJuIHR9ZnVuY3Rpb24gdGEoZSx0KXtjb25zdCBuPW5ldyBqZShlKTtyZXR1cm4gdD10LmZpbHRlcihyPT57Y29uc3Qgcz1uLmZpbmRMYXN0TW9ub3Rvbm91cyhsPT5sLm9yaWdpbmFsLnN0YXJ0TGluZU51bWJlcjxyLm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUpfHxuZXcgb2UobmV3IFAoMSwxKSxuZXcgUCgxLDEpKSxpPUllKGUsbD0+bC5tb2RpZmllZC5zdGFydExpbmVOdW1iZXI8ci5tb2RpZmllZC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlKTtyZXR1cm4gcyE9PWl9KSx0fWZ1bmN0aW9uIEJyKGUsdCxuKXtsZXQgcj1uO3JldHVybiByPVZyKGUsdCxyKSxyPVZyKGUsdCxyKSxyPW5hKGUsdCxyKSxyfWZ1bmN0aW9uIFZyKGUsdCxuKXtpZihuLmxlbmd0aD09PTApcmV0dXJuIG47Y29uc3Qgcj1bXTtyLnB1c2goblswXSk7Zm9yKGxldCBpPTE7aTxuLmxlbmd0aDtpKyspe2NvbnN0IG89cltyLmxlbmd0aC0xXTtsZXQgbD1uW2ldO2lmKGwuc2VxMVJhbmdlLmlzRW1wdHl8fGwuc2VxMlJhbmdlLmlzRW1wdHkpe2NvbnN0IHU9bC5zZXExUmFuZ2Uuc3RhcnQtby5zZXExUmFuZ2UuZW5kRXhjbHVzaXZlO2xldCBjO2ZvcihjPTE7Yzw9dSYmIShlLmdldEVsZW1lbnQobC5zZXExUmFuZ2Uuc3RhcnQtYykhPT1lLmdldEVsZW1lbnQobC5zZXExUmFuZ2UuZW5kRXhjbHVzaXZlLWMpfHx0LmdldEVsZW1lbnQobC5zZXEyUmFuZ2Uuc3RhcnQtYykhPT10LmdldEVsZW1lbnQobC5zZXEyUmFuZ2UuZW5kRXhjbHVzaXZlLWMpKTtjKyspO2lmKGMtLSxjPT09dSl7cltyLmxlbmd0aC0xXT1uZXcgVyhuZXcgSShvLnNlcTFSYW5nZS5zdGFydCxsLnNlcTFSYW5nZS5lbmRFeGNsdXNpdmUtdSksbmV3IEkoby5zZXEyUmFuZ2Uuc3RhcnQsbC5zZXEyUmFuZ2UuZW5kRXhjbHVzaXZlLXUpKTtjb250aW51ZX1sPWwuZGVsdGEoLWMpfXIucHVzaChsKX1jb25zdCBzPVtdO2ZvcihsZXQgaT0wO2k8ci5sZW5ndGgtMTtpKyspe2NvbnN0IG89cltpKzFdO2xldCBsPXJbaV07aWYobC5zZXExUmFuZ2UuaXNFbXB0eXx8bC5zZXEyUmFuZ2UuaXNFbXB0eSl7Y29uc3QgdT1vLnNlcTFSYW5nZS5zdGFydC1sLnNlcTFSYW5nZS5lbmRFeGNsdXNpdmU7bGV0IGM7Zm9yKGM9MDtjPHUmJiEoIWUuaXNTdHJvbmdseUVxdWFsKGwuc2VxMVJhbmdlLnN0YXJ0K2MsbC5zZXExUmFuZ2UuZW5kRXhjbHVzaXZlK2MpfHwhdC5pc1N0cm9uZ2x5RXF1YWwobC5zZXEyUmFuZ2Uuc3RhcnQrYyxsLnNlcTJSYW5nZS5lbmRFeGNsdXNpdmUrYykpO2MrKyk7aWYoYz09PXUpe3JbaSsxXT1uZXcgVyhuZXcgSShsLnNlcTFSYW5nZS5zdGFydCt1LG8uc2VxMVJhbmdlLmVuZEV4Y2x1c2l2ZSksbmV3IEkobC5zZXEyUmFuZ2Uuc3RhcnQrdSxvLnNlcTJSYW5nZS5lbmRFeGNsdXNpdmUpKTtjb250aW51ZX1jPjAmJihsPWwuZGVsdGEoYykpfXMucHVzaChsKX1yZXR1cm4gci5sZW5ndGg+MCYmcy5wdXNoKHJbci5sZW5ndGgtMV0pLHN9ZnVuY3Rpb24gbmEoZSx0LG4pe2lmKCFlLmdldEJvdW5kYXJ5U2NvcmV8fCF0LmdldEJvdW5kYXJ5U2NvcmUpcmV0dXJuIG47Zm9yKGxldCByPTA7cjxuLmxlbmd0aDtyKyspe2NvbnN0IHM9cj4wP25bci0xXTp2b2lkIDAsaT1uW3JdLG89cisxPG4ubGVuZ3RoP25bcisxXTp2b2lkIDAsbD1uZXcgSShzP3Muc2VxMVJhbmdlLmVuZEV4Y2x1c2l2ZSsxOjAsbz9vLnNlcTFSYW5nZS5zdGFydC0xOmUubGVuZ3RoKSx1PW5ldyBJKHM/cy5zZXEyUmFuZ2UuZW5kRXhjbHVzaXZlKzE6MCxvP28uc2VxMlJhbmdlLnN0YXJ0LTE6dC5sZW5ndGgpO2kuc2VxMVJhbmdlLmlzRW1wdHk/bltyXT1VcihpLGUsdCxsLHUpOmkuc2VxMlJhbmdlLmlzRW1wdHkmJihuW3JdPVVyKGkuc3dhcCgpLHQsZSx1LGwpLnN3YXAoKSl9cmV0dXJuIG59ZnVuY3Rpb24gVXIoZSx0LG4scixzKXtsZXQgbz0xO2Zvcig7ZS5zZXExUmFuZ2Uuc3RhcnQtbz49ci5zdGFydCYmZS5zZXEyUmFuZ2Uuc3RhcnQtbz49cy5zdGFydCYmbi5pc1N0cm9uZ2x5RXF1YWwoZS5zZXEyUmFuZ2Uuc3RhcnQtbyxlLnNlcTJSYW5nZS5lbmRFeGNsdXNpdmUtbykmJm88MTAwOylvKys7by0tO2xldCBsPTA7Zm9yKDtlLnNlcTFSYW5nZS5zdGFydCtsPHIuZW5kRXhjbHVzaXZlJiZlLnNlcTJSYW5nZS5lbmRFeGNsdXNpdmUrbDxzLmVuZEV4Y2x1c2l2ZSYmbi5pc1N0cm9uZ2x5RXF1YWwoZS5zZXEyUmFuZ2Uuc3RhcnQrbCxlLnNlcTJSYW5nZS5lbmRFeGNsdXNpdmUrbCkmJmw8MTAwOylsKys7aWYobz09PTAmJmw9PT0wKXJldHVybiBlO2xldCB1PTAsYz0tMTtmb3IobGV0IGg9LW87aDw9bDtoKyspe2NvbnN0IGY9ZS5zZXEyUmFuZ2Uuc3RhcnQraCxkPWUuc2VxMlJhbmdlLmVuZEV4Y2x1c2l2ZStoLG09ZS5zZXExUmFuZ2Uuc3RhcnQraCxnPXQuZ2V0Qm91bmRhcnlTY29yZShtKStuLmdldEJvdW5kYXJ5U2NvcmUoZikrbi5nZXRCb3VuZGFyeVNjb3JlKGQpO2c+YyYmKGM9Zyx1PWgpfXJldHVybiBlLmRlbHRhKHUpfWZ1bmN0aW9uIHJhKGUsdCxuKXtjb25zdCByPVtdO2Zvcihjb25zdCBzIG9mIG4pe2NvbnN0IGk9cltyLmxlbmd0aC0xXTtpZighaSl7ci5wdXNoKHMpO2NvbnRpbnVlfXMuc2VxMVJhbmdlLnN0YXJ0LWkuc2VxMVJhbmdlLmVuZEV4Y2x1c2l2ZTw9Mnx8cy5zZXEyUmFuZ2Uuc3RhcnQtaS5zZXEyUmFuZ2UuZW5kRXhjbHVzaXZlPD0yP3Jbci5sZW5ndGgtMV09bmV3IFcoaS5zZXExUmFuZ2Uuam9pbihzLnNlcTFSYW5nZSksaS5zZXEyUmFuZ2Uuam9pbihzLnNlcTJSYW5nZSkpOnIucHVzaChzKX1yZXR1cm4gcn1mdW5jdGlvbiBzYShlLHQsbil7Y29uc3Qgcj1XLmludmVydChuLGUubGVuZ3RoKSxzPVtdO2xldCBpPW5ldyBuZSgwLDApO2Z1bmN0aW9uIG8odSxjKXtpZih1Lm9mZnNldDE8aS5vZmZzZXQxfHx1Lm9mZnNldDI8aS5vZmZzZXQyKXJldHVybjtjb25zdCBoPWUuZmluZFdvcmRDb250YWluaW5nKHUub2Zmc2V0MSksZj10LmZpbmRXb3JkQ29udGFpbmluZyh1Lm9mZnNldDIpO2lmKCFofHwhZilyZXR1cm47bGV0IGQ9bmV3IFcoaCxmKTtjb25zdCBtPWQuaW50ZXJzZWN0KGMpO2xldCBnPW0uc2VxMVJhbmdlLmxlbmd0aCxwPW0uc2VxMlJhbmdlLmxlbmd0aDtmb3IoO3IubGVuZ3RoPjA7KXtjb25zdCB2PXJbMF07aWYoISh2LnNlcTFSYW5nZS5pbnRlcnNlY3RzKGQuc2VxMVJhbmdlKXx8di5zZXEyUmFuZ2UuaW50ZXJzZWN0cyhkLnNlcTJSYW5nZSkpKWJyZWFrO2NvbnN0IFM9ZS5maW5kV29yZENvbnRhaW5pbmcodi5zZXExUmFuZ2Uuc3RhcnQpLF89dC5maW5kV29yZENvbnRhaW5pbmcodi5zZXEyUmFuZ2Uuc3RhcnQpLHc9bmV3IFcoUyxfKSx4PXcuaW50ZXJzZWN0KHYpO2lmKGcrPXguc2VxMVJhbmdlLmxlbmd0aCxwKz14LnNlcTJSYW5nZS5sZW5ndGgsZD1kLmpvaW4odyksZC5zZXExUmFuZ2UuZW5kRXhjbHVzaXZlPj12LnNlcTFSYW5nZS5lbmRFeGNsdXNpdmUpci5zaGlmdCgpO2Vsc2UgYnJlYWt9ZytwPChkLnNlcTFSYW5nZS5sZW5ndGgrZC5zZXEyUmFuZ2UubGVuZ3RoKSoyLzMmJnMucHVzaChkKSxpPWQuZ2V0RW5kRXhjbHVzaXZlcygpfWZvcig7ci5sZW5ndGg+MDspe2NvbnN0IHU9ci5zaGlmdCgpO3Uuc2VxMVJhbmdlLmlzRW1wdHl8fChvKHUuZ2V0U3RhcnRzKCksdSksbyh1LmdldEVuZEV4Y2x1c2l2ZXMoKS5kZWx0YSgtMSksdSkpfXJldHVybiBpYShuLHMpfWZ1bmN0aW9uIGlhKGUsdCl7Y29uc3Qgbj1bXTtmb3IoO2UubGVuZ3RoPjB8fHQubGVuZ3RoPjA7KXtjb25zdCByPWVbMF0scz10WzBdO2xldCBpO3ImJighc3x8ci5zZXExUmFuZ2Uuc3RhcnQ8cy5zZXExUmFuZ2Uuc3RhcnQpP2k9ZS5zaGlmdCgpOmk9dC5zaGlmdCgpLG4ubGVuZ3RoPjAmJm5bbi5sZW5ndGgtMV0uc2VxMVJhbmdlLmVuZEV4Y2x1c2l2ZT49aS5zZXExUmFuZ2Uuc3RhcnQ/bltuLmxlbmd0aC0xXT1uW24ubGVuZ3RoLTFdLmpvaW4oaSk6bi5wdXNoKGkpfXJldHVybiBufWZ1bmN0aW9uIGFhKGUsdCxuKXtsZXQgcj1uO2lmKHIubGVuZ3RoPT09MClyZXR1cm4gcjtsZXQgcz0wLGk7ZG97aT0hMTtjb25zdCBvPVtyWzBdXTtmb3IobGV0IGw9MTtsPHIubGVuZ3RoO2wrKyl7bGV0IGg9ZnVuY3Rpb24oZCxtKXtjb25zdCBnPW5ldyBJKGMuc2VxMVJhbmdlLmVuZEV4Y2x1c2l2ZSx1LnNlcTFSYW5nZS5zdGFydCk7cmV0dXJuIGUuZ2V0VGV4dChnKS5yZXBsYWNlKC9ccy9nLCIiKS5sZW5ndGg8PTQmJihkLnNlcTFSYW5nZS5sZW5ndGgrZC5zZXEyUmFuZ2UubGVuZ3RoPjV8fG0uc2VxMVJhbmdlLmxlbmd0aCttLnNlcTJSYW5nZS5sZW5ndGg+NSl9O2NvbnN0IHU9cltsXSxjPW9bby5sZW5ndGgtMV07aChjLHUpPyhpPSEwLG9bby5sZW5ndGgtMV09b1tvLmxlbmd0aC0xXS5qb2luKHUpKTpvLnB1c2godSl9cj1vfXdoaWxlKHMrKzwxMCYmaSk7cmV0dXJuIHJ9ZnVuY3Rpb24gb2EoZSx0LG4pe2xldCByPW47aWYoci5sZW5ndGg9PT0wKXJldHVybiByO2xldCBzPTAsaTtkb3tpPSExO2NvbnN0IGw9W3JbMF1dO2ZvcihsZXQgdT0xO3U8ci5sZW5ndGg7dSsrKXtsZXQgZj1mdW5jdGlvbihtLGcpe2NvbnN0IHA9bmV3IEkoaC5zZXExUmFuZ2UuZW5kRXhjbHVzaXZlLGMuc2VxMVJhbmdlLnN0YXJ0KTtpZihlLmNvdW50TGluZXNJbihwKT41fHxwLmxlbmd0aD41MDApcmV0dXJuITE7Y29uc3QgTj1lLmdldFRleHQocCkudHJpbSgpO2lmKE4ubGVuZ3RoPjIwfHxOLnNwbGl0KC9cclxufFxyfFxuLykubGVuZ3RoPjEpcmV0dXJuITE7Y29uc3QgUz1lLmNvdW50TGluZXNJbihtLnNlcTFSYW5nZSksXz1tLnNlcTFSYW5nZS5sZW5ndGgsdz10LmNvdW50TGluZXNJbihtLnNlcTJSYW5nZSkseD1tLnNlcTJSYW5nZS5sZW5ndGgsQz1lLmNvdW50TGluZXNJbihnLnNlcTFSYW5nZSksRT1nLnNlcTFSYW5nZS5sZW5ndGgseT10LmNvdW50TGluZXNJbihnLnNlcTJSYW5nZSksVT1nLnNlcTJSYW5nZS5sZW5ndGgsJD0yKjQwKzUwO2Z1bmN0aW9uIEwoYil7cmV0dXJuIE1hdGgubWluKGIsJCl9cmV0dXJuIE1hdGgucG93KE1hdGgucG93KEwoUyo0MCtfKSwxLjUpK01hdGgucG93KEwodyo0MCt4KSwxLjUpLDEuNSkrTWF0aC5wb3coTWF0aC5wb3coTChDKjQwK0UpLDEuNSkrTWF0aC5wb3coTCh5KjQwK1UpLDEuNSksMS41KT4oJCoqMS41KSoqMS41KjEuM307Y29uc3QgYz1yW3VdLGg9bFtsLmxlbmd0aC0xXTtmKGgsYyk/KGk9ITAsbFtsLmxlbmd0aC0xXT1sW2wubGVuZ3RoLTFdLmpvaW4oYykpOmwucHVzaChjKX1yPWx9d2hpbGUocysrPDEwJiZpKTtjb25zdCBvPVtdO3JldHVybiByaShyLChsLHUsYyk9PntsZXQgaD11O2Z1bmN0aW9uIGYoTil7cmV0dXJuIE4ubGVuZ3RoPjAmJk4udHJpbSgpLmxlbmd0aDw9MyYmdS5zZXExUmFuZ2UubGVuZ3RoK3Uuc2VxMlJhbmdlLmxlbmd0aD4xMDB9Y29uc3QgZD1lLmV4dGVuZFRvRnVsbExpbmVzKHUuc2VxMVJhbmdlKSxtPWUuZ2V0VGV4dChuZXcgSShkLnN0YXJ0LHUuc2VxMVJhbmdlLnN0YXJ0KSk7ZihtKSYmKGg9aC5kZWx0YVN0YXJ0KC1tLmxlbmd0aCkpO2NvbnN0IGc9ZS5nZXRUZXh0KG5ldyBJKHUuc2VxMVJhbmdlLmVuZEV4Y2x1c2l2ZSxkLmVuZEV4Y2x1c2l2ZSkpO2YoZykmJihoPWguZGVsdGFFbmQoZy5sZW5ndGgpKTtjb25zdCBwPVcuZnJvbU9mZnNldFBhaXJzKGw/bC5nZXRFbmRFeGNsdXNpdmVzKCk6bmUuemVybyxjP2MuZ2V0U3RhcnRzKCk6bmUubWF4KSx2PWguaW50ZXJzZWN0KHApO28ubGVuZ3RoPjAmJnYuZ2V0U3RhcnRzKCkuZXF1YWxzKG9bby5sZW5ndGgtMV0uZ2V0RW5kRXhjbHVzaXZlcygpKT9vW28ubGVuZ3RoLTFdPW9bby5sZW5ndGgtMV0uam9pbih2KTpvLnB1c2godil9KSxvfWNsYXNzIEhye2NvbnN0cnVjdG9yKHQsbil7dGhpcy50cmltbWVkSGFzaD10LHRoaXMubGluZXM9bn1nZXRFbGVtZW50KHQpe3JldHVybiB0aGlzLnRyaW1tZWRIYXNoW3RdfWdldCBsZW5ndGgoKXtyZXR1cm4gdGhpcy50cmltbWVkSGFzaC5sZW5ndGh9Z2V0Qm91bmRhcnlTY29yZSh0KXtjb25zdCBuPXQ9PT0wPzA6cXIodGhpcy5saW5lc1t0LTFdKSxyPXQ9PT10aGlzLmxpbmVzLmxlbmd0aD8wOnFyKHRoaXMubGluZXNbdF0pO3JldHVybiAxZTMtKG4rcil9Z2V0VGV4dCh0KXtyZXR1cm4gdGhpcy5saW5lcy5zbGljZSh0LnN0YXJ0LHQuZW5kRXhjbHVzaXZlKS5qb2luKGAKYCl9aXNTdHJvbmdseUVxdWFsKHQsbil7cmV0dXJuIHRoaXMubGluZXNbdF09PT10aGlzLmxpbmVzW25dfX1mdW5jdGlvbiBxcihlKXtsZXQgdD0wO2Zvcig7dDxlLmxlbmd0aCYmKGUuY2hhckNvZGVBdCh0KT09PTMyfHxlLmNoYXJDb2RlQXQodCk9PT05KTspdCsrO3JldHVybiB0fWNsYXNzIGxhe2NvbnN0cnVjdG9yKCl7dGhpcy5keW5hbWljUHJvZ3JhbW1pbmdEaWZmaW5nPW5ldyAkaSx0aGlzLm15ZXJzRGlmZmluZ0FsZ29yaXRobT1uZXcgVHJ9Y29tcHV0ZURpZmYodCxuLHIpe2lmKHQubGVuZ3RoPD0xJiZlaSh0LG4sKHgsQyk9Png9PT1DKSlyZXR1cm4gbmV3IGZ0KFtdLFtdLCExKTtpZih0Lmxlbmd0aD09PTEmJnRbMF0ubGVuZ3RoPT09MHx8bi5sZW5ndGg9PT0xJiZuWzBdLmxlbmd0aD09PTApcmV0dXJuIG5ldyBmdChbbmV3IGhlKG5ldyBQKDEsdC5sZW5ndGgrMSksbmV3IFAoMSxuLmxlbmd0aCsxKSxbbmV3IEJlKG5ldyBEKDEsMSx0Lmxlbmd0aCx0WzBdLmxlbmd0aCsxKSxuZXcgRCgxLDEsbi5sZW5ndGgsblswXS5sZW5ndGgrMSkpXSldLFtdLCExKTtjb25zdCBzPXIubWF4Q29tcHV0YXRpb25UaW1lTXM9PT0wP1llLmluc3RhbmNlOm5ldyBHaShyLm1heENvbXB1dGF0aW9uVGltZU1zKSxpPSFyLmlnbm9yZVRyaW1XaGl0ZXNwYWNlLG89bmV3IE1hcDtmdW5jdGlvbiBsKHgpe2xldCBDPW8uZ2V0KHgpO3JldHVybiBDPT09dm9pZCAwJiYoQz1vLnNpemUsby5zZXQoeCxDKSksQ31jb25zdCB1PXQubWFwKHg9PmwoeC50cmltKCkpKSxjPW4ubWFwKHg9PmwoeC50cmltKCkpKSxoPW5ldyBIcih1LHQpLGY9bmV3IEhyKGMsbiksZD1oLmxlbmd0aCtmLmxlbmd0aDwxNzAwP3RoaXMuZHluYW1pY1Byb2dyYW1taW5nRGlmZmluZy5jb21wdXRlKGgsZixzLCh4LEMpPT50W3hdPT09bltDXT9uW0NdLmxlbmd0aD09PTA/LjE6MStNYXRoLmxvZygxK25bQ10ubGVuZ3RoKTouOTkpOnRoaXMubXllcnNEaWZmaW5nQWxnb3JpdGhtLmNvbXB1dGUoaCxmKTtsZXQgbT1kLmRpZmZzLGc9ZC5oaXRUaW1lb3V0O209QnIoaCxmLG0pLG09YWEoaCxmLG0pO2NvbnN0IHA9W10sdj14PT57aWYoaSlmb3IobGV0IEM9MDtDPHg7QysrKXtjb25zdCBFPU4rQyx5PVMrQztpZih0W0VdIT09blt5XSl7Y29uc3QgVT10aGlzLnJlZmluZURpZmYodCxuLG5ldyBXKG5ldyBJKEUsRSsxKSxuZXcgSSh5LHkrMSkpLHMsaSk7Zm9yKGNvbnN0ICQgb2YgVS5tYXBwaW5ncylwLnB1c2goJCk7VS5oaXRUaW1lb3V0JiYoZz0hMCl9fX07bGV0IE49MCxTPTA7Zm9yKGNvbnN0IHggb2YgbSl7aHQoKCk9Pnguc2VxMVJhbmdlLnN0YXJ0LU49PT14LnNlcTJSYW5nZS5zdGFydC1TKTtjb25zdCBDPXguc2VxMVJhbmdlLnN0YXJ0LU47dihDKSxOPXguc2VxMVJhbmdlLmVuZEV4Y2x1c2l2ZSxTPXguc2VxMlJhbmdlLmVuZEV4Y2x1c2l2ZTtjb25zdCBFPXRoaXMucmVmaW5lRGlmZih0LG4seCxzLGkpO0UuaGl0VGltZW91dCYmKGc9ITApO2Zvcihjb25zdCB5IG9mIEUubWFwcGluZ3MpcC5wdXNoKHkpfXYodC5sZW5ndGgtTik7Y29uc3QgXz1PcihwLHQsbik7bGV0IHc9W107cmV0dXJuIHIuY29tcHV0ZU1vdmVzJiYodz10aGlzLmNvbXB1dGVNb3ZlcyhfLHQsbix1LGMscyxpKSksaHQoKCk9PntmdW5jdGlvbiB4KEUseSl7aWYoRS5saW5lTnVtYmVyPDF8fEUubGluZU51bWJlcj55Lmxlbmd0aClyZXR1cm4hMTtjb25zdCBVPXlbRS5saW5lTnVtYmVyLTFdO3JldHVybiEoRS5jb2x1bW48MXx8RS5jb2x1bW4+VS5sZW5ndGgrMSl9ZnVuY3Rpb24gQyhFLHkpe3JldHVybiEoRS5zdGFydExpbmVOdW1iZXI8MXx8RS5zdGFydExpbmVOdW1iZXI+eS5sZW5ndGgrMXx8RS5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlPDF8fEUuZW5kTGluZU51bWJlckV4Y2x1c2l2ZT55Lmxlbmd0aCsxKX1mb3IoY29uc3QgRSBvZiBfKXtpZighRS5pbm5lckNoYW5nZXMpcmV0dXJuITE7Zm9yKGNvbnN0IHkgb2YgRS5pbm5lckNoYW5nZXMpaWYoISh4KHkubW9kaWZpZWRSYW5nZS5nZXRTdGFydFBvc2l0aW9uKCksbikmJngoeS5tb2RpZmllZFJhbmdlLmdldEVuZFBvc2l0aW9uKCksbikmJngoeS5vcmlnaW5hbFJhbmdlLmdldFN0YXJ0UG9zaXRpb24oKSx0KSYmeCh5Lm9yaWdpbmFsUmFuZ2UuZ2V0RW5kUG9zaXRpb24oKSx0KSkpcmV0dXJuITE7aWYoIUMoRS5tb2RpZmllZCxuKXx8IUMoRS5vcmlnaW5hbCx0KSlyZXR1cm4hMX1yZXR1cm4hMH0pLG5ldyBmdChfLHcsZyl9Y29tcHV0ZU1vdmVzKHQsbixyLHMsaSxvLGwpe3JldHVybiBKaSh0LG4scixzLGksbykubWFwKGg9Pntjb25zdCBmPXRoaXMucmVmaW5lRGlmZihuLHIsbmV3IFcoaC5vcmlnaW5hbC50b09mZnNldFJhbmdlKCksaC5tb2RpZmllZC50b09mZnNldFJhbmdlKCkpLG8sbCksZD1PcihmLm1hcHBpbmdzLG4sciwhMCk7cmV0dXJuIG5ldyBWaShoLGQpfSl9cmVmaW5lRGlmZih0LG4scixzLGkpe2NvbnN0IG89bmV3IGR0KHQsci5zZXExUmFuZ2UsaSksbD1uZXcgZHQobixyLnNlcTJSYW5nZSxpKSx1PW8ubGVuZ3RoK2wubGVuZ3RoPDUwMD90aGlzLmR5bmFtaWNQcm9ncmFtbWluZ0RpZmZpbmcuY29tcHV0ZShvLGwscyk6dGhpcy5teWVyc0RpZmZpbmdBbGdvcml0aG0uY29tcHV0ZShvLGwscyk7bGV0IGM9dS5kaWZmcztyZXR1cm4gYz1CcihvLGwsYyksYz1zYShvLGwsYyksYz1yYShvLGwsYyksYz1vYShvLGwsYykse21hcHBpbmdzOmMubWFwKGY9Pm5ldyBCZShvLnRyYW5zbGF0ZVJhbmdlKGYuc2VxMVJhbmdlKSxsLnRyYW5zbGF0ZVJhbmdlKGYuc2VxMlJhbmdlKSkpLGhpdFRpbWVvdXQ6dS5oaXRUaW1lb3V0fX19ZnVuY3Rpb24gT3IoZSx0LG4scj0hMSl7Y29uc3Qgcz1bXTtmb3IoY29uc3QgaSBvZiB0aShlLm1hcChvPT51YShvLHQsbikpLChvLGwpPT5vLm9yaWdpbmFsLm92ZXJsYXBPclRvdWNoKGwub3JpZ2luYWwpfHxvLm1vZGlmaWVkLm92ZXJsYXBPclRvdWNoKGwubW9kaWZpZWQpKSl7Y29uc3Qgbz1pWzBdLGw9aVtpLmxlbmd0aC0xXTtzLnB1c2gobmV3IGhlKG8ub3JpZ2luYWwuam9pbihsLm9yaWdpbmFsKSxvLm1vZGlmaWVkLmpvaW4obC5tb2RpZmllZCksaS5tYXAodT0+dS5pbm5lckNoYW5nZXNbMF0pKSl9cmV0dXJuIGh0KCgpPT4hciYmcy5sZW5ndGg+MCYmKHNbMF0ubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyIT09c1swXS5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXJ8fG4ubGVuZ3RoLXNbcy5sZW5ndGgtMV0ubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSE9PXQubGVuZ3RoLXNbcy5sZW5ndGgtMV0ub3JpZ2luYWwuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSk/ITE6UnIocywoaSxvKT0+by5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXItaS5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlPT09by5tb2RpZmllZC5zdGFydExpbmVOdW1iZXItaS5tb2RpZmllZC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlJiZpLm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU8by5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXImJmkubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZTxvLm1vZGlmaWVkLnN0YXJ0TGluZU51bWJlcikpLHN9ZnVuY3Rpb24gdWEoZSx0LG4pe2xldCByPTAscz0wO2UubW9kaWZpZWRSYW5nZS5lbmRDb2x1bW49PT0xJiZlLm9yaWdpbmFsUmFuZ2UuZW5kQ29sdW1uPT09MSYmZS5vcmlnaW5hbFJhbmdlLnN0YXJ0TGluZU51bWJlcityPD1lLm9yaWdpbmFsUmFuZ2UuZW5kTGluZU51bWJlciYmZS5tb2RpZmllZFJhbmdlLnN0YXJ0TGluZU51bWJlcityPD1lLm1vZGlmaWVkUmFuZ2UuZW5kTGluZU51bWJlciYmKHM9LTEpLGUubW9kaWZpZWRSYW5nZS5zdGFydENvbHVtbi0xPj1uW2UubW9kaWZpZWRSYW5nZS5zdGFydExpbmVOdW1iZXItMV0ubGVuZ3RoJiZlLm9yaWdpbmFsUmFuZ2Uuc3RhcnRDb2x1bW4tMT49dFtlLm9yaWdpbmFsUmFuZ2Uuc3RhcnRMaW5lTnVtYmVyLTFdLmxlbmd0aCYmZS5vcmlnaW5hbFJhbmdlLnN0YXJ0TGluZU51bWJlcjw9ZS5vcmlnaW5hbFJhbmdlLmVuZExpbmVOdW1iZXIrcyYmZS5tb2RpZmllZFJhbmdlLnN0YXJ0TGluZU51bWJlcjw9ZS5tb2RpZmllZFJhbmdlLmVuZExpbmVOdW1iZXIrcyYmKHI9MSk7Y29uc3QgaT1uZXcgUChlLm9yaWdpbmFsUmFuZ2Uuc3RhcnRMaW5lTnVtYmVyK3IsZS5vcmlnaW5hbFJhbmdlLmVuZExpbmVOdW1iZXIrMStzKSxvPW5ldyBQKGUubW9kaWZpZWRSYW5nZS5zdGFydExpbmVOdW1iZXIrcixlLm1vZGlmaWVkUmFuZ2UuZW5kTGluZU51bWJlcisxK3MpO3JldHVybiBuZXcgaGUoaSxvLFtlXSl9Y29uc3QgV3I9e2dldExlZ2FjeTooKT0+bmV3IHFpLGdldERlZmF1bHQ6KCk9Pm5ldyBsYX07ZnVuY3Rpb24gdmUoZSx0KXtjb25zdCBuPU1hdGgucG93KDEwLHQpO3JldHVybiBNYXRoLnJvdW5kKGUqbikvbn1jbGFzcyBHe2NvbnN0cnVjdG9yKHQsbixyLHM9MSl7dGhpcy5fcmdiYUJyYW5kPXZvaWQgMCx0aGlzLnI9TWF0aC5taW4oMjU1LE1hdGgubWF4KDAsdCkpfDAsdGhpcy5nPU1hdGgubWluKDI1NSxNYXRoLm1heCgwLG4pKXwwLHRoaXMuYj1NYXRoLm1pbigyNTUsTWF0aC5tYXgoMCxyKSl8MCx0aGlzLmE9dmUoTWF0aC5tYXgoTWF0aC5taW4oMSxzKSwwKSwzKX1zdGF0aWMgZXF1YWxzKHQsbil7cmV0dXJuIHQucj09PW4uciYmdC5nPT09bi5nJiZ0LmI9PT1uLmImJnQuYT09PW4uYX19Y2xhc3MgcmV7Y29uc3RydWN0b3IodCxuLHIscyl7dGhpcy5faHNsYUJyYW5kPXZvaWQgMCx0aGlzLmg9TWF0aC5tYXgoTWF0aC5taW4oMzYwLHQpLDApfDAsdGhpcy5zPXZlKE1hdGgubWF4KE1hdGgubWluKDEsbiksMCksMyksdGhpcy5sPXZlKE1hdGgubWF4KE1hdGgubWluKDEsciksMCksMyksdGhpcy5hPXZlKE1hdGgubWF4KE1hdGgubWluKDEscyksMCksMyl9c3RhdGljIGVxdWFscyh0LG4pe3JldHVybiB0Lmg9PT1uLmgmJnQucz09PW4ucyYmdC5sPT09bi5sJiZ0LmE9PT1uLmF9c3RhdGljIGZyb21SR0JBKHQpe2NvbnN0IG49dC5yLzI1NSxyPXQuZy8yNTUscz10LmIvMjU1LGk9dC5hLG89TWF0aC5tYXgobixyLHMpLGw9TWF0aC5taW4obixyLHMpO2xldCB1PTAsYz0wO2NvbnN0IGg9KGwrbykvMixmPW8tbDtpZihmPjApe3N3aXRjaChjPU1hdGgubWluKGg8PS41P2YvKDIqaCk6Zi8oMi0yKmgpLDEpLG8pe2Nhc2Ugbjp1PShyLXMpL2YrKHI8cz82OjApO2JyZWFrO2Nhc2Ugcjp1PShzLW4pL2YrMjticmVhaztjYXNlIHM6dT0obi1yKS9mKzQ7YnJlYWt9dSo9NjAsdT1NYXRoLnJvdW5kKHUpfXJldHVybiBuZXcgcmUodSxjLGgsaSl9c3RhdGljIF9odWUycmdiKHQsbixyKXtyZXR1cm4gcjwwJiYocis9MSkscj4xJiYoci09MSkscjwxLzY/dCsobi10KSo2KnI6cjwxLzI/bjpyPDIvMz90KyhuLXQpKigyLzMtcikqNjp0fXN0YXRpYyB0b1JHQkEodCl7Y29uc3Qgbj10LmgvMzYwLHtzOnIsbDpzLGE6aX09dDtsZXQgbyxsLHU7aWYocj09PTApbz1sPXU9cztlbHNle2NvbnN0IGM9czwuNT9zKigxK3IpOnMrci1zKnIsaD0yKnMtYztvPXJlLl9odWUycmdiKGgsYyxuKzEvMyksbD1yZS5faHVlMnJnYihoLGMsbiksdT1yZS5faHVlMnJnYihoLGMsbi0xLzMpfXJldHVybiBuZXcgRyhNYXRoLnJvdW5kKG8qMjU1KSxNYXRoLnJvdW5kKGwqMjU1KSxNYXRoLnJvdW5kKHUqMjU1KSxpKX19Y2xhc3MgSGV7Y29uc3RydWN0b3IodCxuLHIscyl7dGhpcy5faHN2YUJyYW5kPXZvaWQgMCx0aGlzLmg9TWF0aC5tYXgoTWF0aC5taW4oMzYwLHQpLDApfDAsdGhpcy5zPXZlKE1hdGgubWF4KE1hdGgubWluKDEsbiksMCksMyksdGhpcy52PXZlKE1hdGgubWF4KE1hdGgubWluKDEsciksMCksMyksdGhpcy5hPXZlKE1hdGgubWF4KE1hdGgubWluKDEscyksMCksMyl9c3RhdGljIGVxdWFscyh0LG4pe3JldHVybiB0Lmg9PT1uLmgmJnQucz09PW4ucyYmdC52PT09bi52JiZ0LmE9PT1uLmF9c3RhdGljIGZyb21SR0JBKHQpe2NvbnN0IG49dC5yLzI1NSxyPXQuZy8yNTUscz10LmIvMjU1LGk9TWF0aC5tYXgobixyLHMpLG89TWF0aC5taW4obixyLHMpLGw9aS1vLHU9aT09PTA/MDpsL2k7bGV0IGM7cmV0dXJuIGw9PT0wP2M9MDppPT09bj9jPSgoci1zKS9sJTYrNiklNjppPT09cj9jPShzLW4pL2wrMjpjPShuLXIpL2wrNCxuZXcgSGUoTWF0aC5yb3VuZChjKjYwKSx1LGksdC5hKX1zdGF0aWMgdG9SR0JBKHQpe2NvbnN0e2g6bixzOnIsdjpzLGE6aX09dCxvPXMqcixsPW8qKDEtTWF0aC5hYnMobi82MCUyLTEpKSx1PXMtbztsZXRbYyxoLGZdPVswLDAsMF07cmV0dXJuIG48NjA/KGM9byxoPWwpOm48MTIwPyhjPWwsaD1vKTpuPDE4MD8oaD1vLGY9bCk6bjwyNDA/KGg9bCxmPW8pOm48MzAwPyhjPWwsZj1vKTpuPD0zNjAmJihjPW8sZj1sKSxjPU1hdGgucm91bmQoKGMrdSkqMjU1KSxoPU1hdGgucm91bmQoKGgrdSkqMjU1KSxmPU1hdGgucm91bmQoKGYrdSkqMjU1KSxuZXcgRyhjLGgsZixpKX19Y2xhc3MgQntzdGF0aWMgZnJvbUhleCh0KXtyZXR1cm4gQi5Gb3JtYXQuQ1NTLnBhcnNlSGV4KHQpfHxCLnJlZH1zdGF0aWMgZXF1YWxzKHQsbil7cmV0dXJuIXQmJiFuPyEwOiF0fHwhbj8hMTp0LmVxdWFscyhuKX1nZXQgaHNsYSgpe3JldHVybiB0aGlzLl9oc2xhP3RoaXMuX2hzbGE6cmUuZnJvbVJHQkEodGhpcy5yZ2JhKX1nZXQgaHN2YSgpe3JldHVybiB0aGlzLl9oc3ZhP3RoaXMuX2hzdmE6SGUuZnJvbVJHQkEodGhpcy5yZ2JhKX1jb25zdHJ1Y3Rvcih0KXtpZih0KWlmKHQgaW5zdGFuY2VvZiBHKXRoaXMucmdiYT10O2Vsc2UgaWYodCBpbnN0YW5jZW9mIHJlKXRoaXMuX2hzbGE9dCx0aGlzLnJnYmE9cmUudG9SR0JBKHQpO2Vsc2UgaWYodCBpbnN0YW5jZW9mIEhlKXRoaXMuX2hzdmE9dCx0aGlzLnJnYmE9SGUudG9SR0JBKHQpO2Vsc2UgdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGNvbG9yIGN0b3IgYXJndW1lbnQiKTtlbHNlIHRocm93IG5ldyBFcnJvcigiQ29sb3IgbmVlZHMgYSB2YWx1ZSIpfWVxdWFscyh0KXtyZXR1cm4hIXQmJkcuZXF1YWxzKHRoaXMucmdiYSx0LnJnYmEpJiZyZS5lcXVhbHModGhpcy5oc2xhLHQuaHNsYSkmJkhlLmVxdWFscyh0aGlzLmhzdmEsdC5oc3ZhKX1nZXRSZWxhdGl2ZUx1bWluYW5jZSgpe2NvbnN0IHQ9Qi5fcmVsYXRpdmVMdW1pbmFuY2VGb3JDb21wb25lbnQodGhpcy5yZ2JhLnIpLG49Qi5fcmVsYXRpdmVMdW1pbmFuY2VGb3JDb21wb25lbnQodGhpcy5yZ2JhLmcpLHI9Qi5fcmVsYXRpdmVMdW1pbmFuY2VGb3JDb21wb25lbnQodGhpcy5yZ2JhLmIpLHM9LjIxMjYqdCsuNzE1MipuKy4wNzIyKnI7cmV0dXJuIHZlKHMsNCl9c3RhdGljIF9yZWxhdGl2ZUx1bWluYW5jZUZvckNvbXBvbmVudCh0KXtjb25zdCBuPXQvMjU1O3JldHVybiBuPD0uMDM5Mjg/bi8xMi45MjpNYXRoLnBvdygobisuMDU1KS8xLjA1NSwyLjQpfWlzTGlnaHRlcigpe3JldHVybih0aGlzLnJnYmEucioyOTkrdGhpcy5yZ2JhLmcqNTg3K3RoaXMucmdiYS5iKjExNCkvMWUzPj0xMjh9aXNMaWdodGVyVGhhbih0KXtjb25zdCBuPXRoaXMuZ2V0UmVsYXRpdmVMdW1pbmFuY2UoKSxyPXQuZ2V0UmVsYXRpdmVMdW1pbmFuY2UoKTtyZXR1cm4gbj5yfWlzRGFya2VyVGhhbih0KXtjb25zdCBuPXRoaXMuZ2V0UmVsYXRpdmVMdW1pbmFuY2UoKSxyPXQuZ2V0UmVsYXRpdmVMdW1pbmFuY2UoKTtyZXR1cm4gbjxyfWxpZ2h0ZW4odCl7cmV0dXJuIG5ldyBCKG5ldyByZSh0aGlzLmhzbGEuaCx0aGlzLmhzbGEucyx0aGlzLmhzbGEubCt0aGlzLmhzbGEubCp0LHRoaXMuaHNsYS5hKSl9ZGFya2VuKHQpe3JldHVybiBuZXcgQihuZXcgcmUodGhpcy5oc2xhLmgsdGhpcy5oc2xhLnMsdGhpcy5oc2xhLmwtdGhpcy5oc2xhLmwqdCx0aGlzLmhzbGEuYSkpfXRyYW5zcGFyZW50KHQpe2NvbnN0e3I6bixnOnIsYjpzLGE6aX09dGhpcy5yZ2JhO3JldHVybiBuZXcgQihuZXcgRyhuLHIscyxpKnQpKX1pc1RyYW5zcGFyZW50KCl7cmV0dXJuIHRoaXMucmdiYS5hPT09MH1pc09wYXF1ZSgpe3JldHVybiB0aGlzLnJnYmEuYT09PTF9b3Bwb3NpdGUoKXtyZXR1cm4gbmV3IEIobmV3IEcoMjU1LXRoaXMucmdiYS5yLDI1NS10aGlzLnJnYmEuZywyNTUtdGhpcy5yZ2JhLmIsdGhpcy5yZ2JhLmEpKX1tYWtlT3BhcXVlKHQpe2lmKHRoaXMuaXNPcGFxdWUoKXx8dC5yZ2JhLmEhPT0xKXJldHVybiB0aGlzO2NvbnN0e3I6bixnOnIsYjpzLGE6aX09dGhpcy5yZ2JhO3JldHVybiBuZXcgQihuZXcgRyh0LnJnYmEuci1pKih0LnJnYmEuci1uKSx0LnJnYmEuZy1pKih0LnJnYmEuZy1yKSx0LnJnYmEuYi1pKih0LnJnYmEuYi1zKSwxKSl9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5fdG9TdHJpbmd8fCh0aGlzLl90b1N0cmluZz1CLkZvcm1hdC5DU1MuZm9ybWF0KHRoaXMpKSx0aGlzLl90b1N0cmluZ31zdGF0aWMgZ2V0TGlnaHRlckNvbG9yKHQsbixyKXtpZih0LmlzTGlnaHRlclRoYW4obikpcmV0dXJuIHQ7cj1yfHwuNTtjb25zdCBzPXQuZ2V0UmVsYXRpdmVMdW1pbmFuY2UoKSxpPW4uZ2V0UmVsYXRpdmVMdW1pbmFuY2UoKTtyZXR1cm4gcj1yKihpLXMpL2ksdC5saWdodGVuKHIpfXN0YXRpYyBnZXREYXJrZXJDb2xvcih0LG4scil7aWYodC5pc0RhcmtlclRoYW4obikpcmV0dXJuIHQ7cj1yfHwuNTtjb25zdCBzPXQuZ2V0UmVsYXRpdmVMdW1pbmFuY2UoKSxpPW4uZ2V0UmVsYXRpdmVMdW1pbmFuY2UoKTtyZXR1cm4gcj1yKihzLWkpL3MsdC5kYXJrZW4ocil9fUIud2hpdGU9bmV3IEIobmV3IEcoMjU1LDI1NSwyNTUsMSkpLEIuYmxhY2s9bmV3IEIobmV3IEcoMCwwLDAsMSkpLEIucmVkPW5ldyBCKG5ldyBHKDI1NSwwLDAsMSkpLEIuYmx1ZT1uZXcgQihuZXcgRygwLDAsMjU1LDEpKSxCLmdyZWVuPW5ldyBCKG5ldyBHKDAsMjU1LDAsMSkpLEIuY3lhbj1uZXcgQihuZXcgRygwLDI1NSwyNTUsMSkpLEIubGlnaHRncmV5PW5ldyBCKG5ldyBHKDIxMSwyMTEsMjExLDEpKSxCLnRyYW5zcGFyZW50PW5ldyBCKG5ldyBHKDAsMCwwLDApKSxmdW5jdGlvbihlKXsoZnVuY3Rpb24odCl7KGZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIobSl7cmV0dXJuIG0ucmdiYS5hPT09MT9gcmdiKCR7bS5yZ2JhLnJ9LCAke20ucmdiYS5nfSwgJHttLnJnYmEuYn0pYDplLkZvcm1hdC5DU1MuZm9ybWF0UkdCQShtKX1uLmZvcm1hdFJHQj1yO2Z1bmN0aW9uIHMobSl7cmV0dXJuYHJnYmEoJHttLnJnYmEucn0sICR7bS5yZ2JhLmd9LCAke20ucmdiYS5ifSwgJHsrbS5yZ2JhLmEudG9GaXhlZCgyKX0pYH1uLmZvcm1hdFJHQkE9cztmdW5jdGlvbiBpKG0pe3JldHVybiBtLmhzbGEuYT09PTE/YGhzbCgke20uaHNsYS5ofSwgJHsobS5oc2xhLnMqMTAwKS50b0ZpeGVkKDIpfSUsICR7KG0uaHNsYS5sKjEwMCkudG9GaXhlZCgyKX0lKWA6ZS5Gb3JtYXQuQ1NTLmZvcm1hdEhTTEEobSl9bi5mb3JtYXRIU0w9aTtmdW5jdGlvbiBvKG0pe3JldHVybmBoc2xhKCR7bS5oc2xhLmh9LCAkeyhtLmhzbGEucyoxMDApLnRvRml4ZWQoMil9JSwgJHsobS5oc2xhLmwqMTAwKS50b0ZpeGVkKDIpfSUsICR7bS5oc2xhLmEudG9GaXhlZCgyKX0pYH1uLmZvcm1hdEhTTEE9bztmdW5jdGlvbiBsKG0pe2NvbnN0IGc9bS50b1N0cmluZygxNik7cmV0dXJuIGcubGVuZ3RoIT09Mj8iMCIrZzpnfWZ1bmN0aW9uIHUobSl7cmV0dXJuYCMke2wobS5yZ2JhLnIpfSR7bChtLnJnYmEuZyl9JHtsKG0ucmdiYS5iKX1gfW4uZm9ybWF0SGV4PXU7ZnVuY3Rpb24gYyhtLGc9ITEpe3JldHVybiBnJiZtLnJnYmEuYT09PTE/ZS5Gb3JtYXQuQ1NTLmZvcm1hdEhleChtKTpgIyR7bChtLnJnYmEucil9JHtsKG0ucmdiYS5nKX0ke2wobS5yZ2JhLmIpfSR7bChNYXRoLnJvdW5kKG0ucmdiYS5hKjI1NSkpfWB9bi5mb3JtYXRIZXhBPWM7ZnVuY3Rpb24gaChtKXtyZXR1cm4gbS5pc09wYXF1ZSgpP2UuRm9ybWF0LkNTUy5mb3JtYXRIZXgobSk6ZS5Gb3JtYXQuQ1NTLmZvcm1hdFJHQkEobSl9bi5mb3JtYXQ9aDtmdW5jdGlvbiBmKG0pe2NvbnN0IGc9bS5sZW5ndGg7aWYoZz09PTB8fG0uY2hhckNvZGVBdCgwKSE9PTM1KXJldHVybiBudWxsO2lmKGc9PT03KXtjb25zdCBwPTE2KmQobS5jaGFyQ29kZUF0KDEpKStkKG0uY2hhckNvZGVBdCgyKSksdj0xNipkKG0uY2hhckNvZGVBdCgzKSkrZChtLmNoYXJDb2RlQXQoNCkpLE49MTYqZChtLmNoYXJDb2RlQXQoNSkpK2QobS5jaGFyQ29kZUF0KDYpKTtyZXR1cm4gbmV3IGUobmV3IEcocCx2LE4sMSkpfWlmKGc9PT05KXtjb25zdCBwPTE2KmQobS5jaGFyQ29kZUF0KDEpKStkKG0uY2hhckNvZGVBdCgyKSksdj0xNipkKG0uY2hhckNvZGVBdCgzKSkrZChtLmNoYXJDb2RlQXQoNCkpLE49MTYqZChtLmNoYXJDb2RlQXQoNSkpK2QobS5jaGFyQ29kZUF0KDYpKSxTPTE2KmQobS5jaGFyQ29kZUF0KDcpKStkKG0uY2hhckNvZGVBdCg4KSk7cmV0dXJuIG5ldyBlKG5ldyBHKHAsdixOLFMvMjU1KSl9aWYoZz09PTQpe2NvbnN0IHA9ZChtLmNoYXJDb2RlQXQoMSkpLHY9ZChtLmNoYXJDb2RlQXQoMikpLE49ZChtLmNoYXJDb2RlQXQoMykpO3JldHVybiBuZXcgZShuZXcgRygxNipwK3AsMTYqdit2LDE2Kk4rTikpfWlmKGc9PT01KXtjb25zdCBwPWQobS5jaGFyQ29kZUF0KDEpKSx2PWQobS5jaGFyQ29kZUF0KDIpKSxOPWQobS5jaGFyQ29kZUF0KDMpKSxTPWQobS5jaGFyQ29kZUF0KDQpKTtyZXR1cm4gbmV3IGUobmV3IEcoMTYqcCtwLDE2KnYrdiwxNipOK04sKDE2KlMrUykvMjU1KSl9cmV0dXJuIG51bGx9bi5wYXJzZUhleD1mO2Z1bmN0aW9uIGQobSl7c3dpdGNoKG0pe2Nhc2UgNDg6cmV0dXJuIDA7Y2FzZSA0OTpyZXR1cm4gMTtjYXNlIDUwOnJldHVybiAyO2Nhc2UgNTE6cmV0dXJuIDM7Y2FzZSA1MjpyZXR1cm4gNDtjYXNlIDUzOnJldHVybiA1O2Nhc2UgNTQ6cmV0dXJuIDY7Y2FzZSA1NTpyZXR1cm4gNztjYXNlIDU2OnJldHVybiA4O2Nhc2UgNTc6cmV0dXJuIDk7Y2FzZSA5NzpyZXR1cm4gMTA7Y2FzZSA2NTpyZXR1cm4gMTA7Y2FzZSA5ODpyZXR1cm4gMTE7Y2FzZSA2NjpyZXR1cm4gMTE7Y2FzZSA5OTpyZXR1cm4gMTI7Y2FzZSA2NzpyZXR1cm4gMTI7Y2FzZSAxMDA6cmV0dXJuIDEzO2Nhc2UgNjg6cmV0dXJuIDEzO2Nhc2UgMTAxOnJldHVybiAxNDtjYXNlIDY5OnJldHVybiAxNDtjYXNlIDEwMjpyZXR1cm4gMTU7Y2FzZSA3MDpyZXR1cm4gMTV9cmV0dXJuIDB9fSkodC5DU1N8fCh0LkNTUz17fSkpfSkoZS5Gb3JtYXR8fChlLkZvcm1hdD17fSkpfShCfHwoQj17fSkpO2Z1bmN0aW9uIHpyKGUpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IG4gb2YgZSl7Y29uc3Qgcj1OdW1iZXIobik7KHJ8fHI9PT0wJiZuLnJlcGxhY2UoL1xzL2csIiIpIT09IiIpJiZ0LnB1c2gocil9cmV0dXJuIHR9ZnVuY3Rpb24gWXQoZSx0LG4scil7cmV0dXJue3JlZDplLzI1NSxibHVlOm4vMjU1LGdyZWVuOnQvMjU1LGFscGhhOnJ9fWZ1bmN0aW9uIEplKGUsdCl7Y29uc3Qgbj10LmluZGV4LHI9dFswXS5sZW5ndGg7aWYoIW4pcmV0dXJuO2NvbnN0IHM9ZS5wb3NpdGlvbkF0KG4pO3JldHVybntzdGFydExpbmVOdW1iZXI6cy5saW5lTnVtYmVyLHN0YXJ0Q29sdW1uOnMuY29sdW1uLGVuZExpbmVOdW1iZXI6cy5saW5lTnVtYmVyLGVuZENvbHVtbjpzLmNvbHVtbityfX1mdW5jdGlvbiBjYShlLHQpe2lmKCFlKXJldHVybjtjb25zdCBuPUIuRm9ybWF0LkNTUy5wYXJzZUhleCh0KTtpZihuKXJldHVybntyYW5nZTplLGNvbG9yOll0KG4ucmdiYS5yLG4ucmdiYS5nLG4ucmdiYS5iLG4ucmdiYS5hKX19ZnVuY3Rpb24gR3IoZSx0LG4pe2lmKCFlfHx0Lmxlbmd0aCE9PTEpcmV0dXJuO2NvbnN0IHM9dFswXS52YWx1ZXMoKSxpPXpyKHMpO3JldHVybntyYW5nZTplLGNvbG9yOll0KGlbMF0saVsxXSxpWzJdLG4/aVszXToxKX19ZnVuY3Rpb24gJHIoZSx0LG4pe2lmKCFlfHx0Lmxlbmd0aCE9PTEpcmV0dXJuO2NvbnN0IHM9dFswXS52YWx1ZXMoKSxpPXpyKHMpLG89bmV3IEIobmV3IHJlKGlbMF0saVsxXS8xMDAsaVsyXS8xMDAsbj9pWzNdOjEpKTtyZXR1cm57cmFuZ2U6ZSxjb2xvcjpZdChvLnJnYmEucixvLnJnYmEuZyxvLnJnYmEuYixvLnJnYmEuYSl9fWZ1bmN0aW9uIFFlKGUsdCl7cmV0dXJuIHR5cGVvZiBlPT0ic3RyaW5nIj9bLi4uZS5tYXRjaEFsbCh0KV06ZS5maW5kTWF0Y2hlcyh0KX1mdW5jdGlvbiBoYShlKXtjb25zdCB0PVtdLHI9UWUoZSwvXGIocmdifHJnYmF8aHNsfGhzbGEpKFwoWzAtOVxzLC5cJV0qXCkpfCgjKShbQS1GYS1mMC05XXszfSlcYnwoIykoW0EtRmEtZjAtOV17NH0pXGJ8KCMpKFtBLUZhLWYwLTldezZ9KVxifCgjKShbQS1GYS1mMC05XXs4fSlcYi9nbSk7aWYoci5sZW5ndGg+MClmb3IoY29uc3QgcyBvZiByKXtjb25zdCBpPXMuZmlsdGVyKGM9PmMhPT12b2lkIDApLG89aVsxXSxsPWlbMl07aWYoIWwpY29udGludWU7bGV0IHU7aWYobz09PSJyZ2IiKXtjb25zdCBjPS9eXChccyooMjVbMC01XXwyWzAtNF1bMC05XXwxWzAtOV17Mn18WzEtOV1bMC05XXxbMC05XSlccyosXHMqKDI1WzAtNV18MlswLTRdWzAtOV18MVswLTldezJ9fFsxLTldWzAtOV18WzAtOV0pXHMqLFxzKigyNVswLTVdfDJbMC00XVswLTldfDFbMC05XXsyfXxbMS05XVswLTldfFswLTldKVxzKlwpJC9nbTt1PUdyKEplKGUscyksUWUobCxjKSwhMSl9ZWxzZSBpZihvPT09InJnYmEiKXtjb25zdCBjPS9eXChccyooMjVbMC01XXwyWzAtNF1bMC05XXwxWzAtOV17Mn18WzEtOV1bMC05XXxbMC05XSlccyosXHMqKDI1WzAtNV18MlswLTRdWzAtOV18MVswLTldezJ9fFsxLTldWzAtOV18WzAtOV0pXHMqLFxzKigyNVswLTVdfDJbMC00XVswLTldfDFbMC05XXsyfXxbMS05XVswLTldfFswLTldKVxzKixccyooMFsuXVswLTldK3xbLl1bMC05XSt8WzAxXVsuXXxbMDFdKVxzKlwpJC9nbTt1PUdyKEplKGUscyksUWUobCxjKSwhMCl9ZWxzZSBpZihvPT09ImhzbCIpe2NvbnN0IGM9L15cKFxzKigzNlswXXwzWzAtNV1bMC05XXxbMTJdWzAtOV1bMC05XXxbMS05XT9bMC05XSlccyosXHMqKDEwMHxcZHsxLDJ9Wy5dXGQqfFxkezEsMn0pJVxzKixccyooMTAwfFxkezEsMn1bLl1cZCp8XGR7MSwyfSklXHMqXCkkL2dtO3U9JHIoSmUoZSxzKSxRZShsLGMpLCExKX1lbHNlIGlmKG89PT0iaHNsYSIpe2NvbnN0IGM9L15cKFxzKigzNlswXXwzWzAtNV1bMC05XXxbMTJdWzAtOV1bMC05XXxbMS05XT9bMC05XSlccyosXHMqKDEwMHxcZHsxLDJ9Wy5dXGQqfFxkezEsMn0pJVxzKixccyooMTAwfFxkezEsMn1bLl1cZCp8XGR7MSwyfSklXHMqLFxzKigwWy5dWzAtOV0rfFsuXVswLTldK3xbMDFdWy5dfFswMV0pXHMqXCkkL2dtO3U9JHIoSmUoZSxzKSxRZShsLGMpLCEwKX1lbHNlIG89PT0iIyImJih1PWNhKEplKGUscyksbytsKSk7dSYmdC5wdXNoKHUpfXJldHVybiB0fWZ1bmN0aW9uIGZhKGUpe3JldHVybiFlfHx0eXBlb2YgZS5nZXRWYWx1ZSE9ImZ1bmN0aW9uInx8dHlwZW9mIGUucG9zaXRpb25BdCE9ImZ1bmN0aW9uIj9bXTpoYShlKX1jb25zdCBqcj1uZXcgUmVnRXhwKCJcXGJNQVJLOlxccyooLiopJCIsImQiKSxkYT0vXi0rfC0rJC9nO2Z1bmN0aW9uIG1hKGUsdCl7dmFyIG47bGV0IHI9W107aWYodC5maW5kUmVnaW9uU2VjdGlvbkhlYWRlcnMmJighKChuPXQuZm9sZGluZ1J1bGVzKT09PW51bGx8fG49PT12b2lkIDApJiZuLm1hcmtlcnMpKXtjb25zdCBzPWdhKGUsdCk7cj1yLmNvbmNhdChzKX1pZih0LmZpbmRNYXJrU2VjdGlvbkhlYWRlcnMpe2NvbnN0IHM9YmEoZSk7cj1yLmNvbmNhdChzKX1yZXR1cm4gcn1mdW5jdGlvbiBnYShlLHQpe2NvbnN0IG49W10scj1lLmdldExpbmVDb3VudCgpO2ZvcihsZXQgcz0xO3M8PXI7cysrKXtjb25zdCBpPWUuZ2V0TGluZUNvbnRlbnQocyksbz1pLm1hdGNoKHQuZm9sZGluZ1J1bGVzLm1hcmtlcnMuc3RhcnQpO2lmKG8pe2NvbnN0IGw9e3N0YXJ0TGluZU51bWJlcjpzLHN0YXJ0Q29sdW1uOm9bMF0ubGVuZ3RoKzEsZW5kTGluZU51bWJlcjpzLGVuZENvbHVtbjppLmxlbmd0aCsxfTtpZihsLmVuZENvbHVtbj5sLnN0YXJ0Q29sdW1uKXtjb25zdCB1PXtyYW5nZTpsLC4uLlhyKGkuc3Vic3RyaW5nKG9bMF0ubGVuZ3RoKSksc2hvdWxkQmVJbkNvbW1lbnRzOiExfTsodS50ZXh0fHx1Lmhhc1NlcGFyYXRvckxpbmUpJiZuLnB1c2godSl9fX1yZXR1cm4gbn1mdW5jdGlvbiBiYShlKXtjb25zdCB0PVtdLG49ZS5nZXRMaW5lQ291bnQoKTtmb3IobGV0IHI9MTtyPD1uO3IrKyl7Y29uc3Qgcz1lLmdldExpbmVDb250ZW50KHIpO19hKHMscix0KX1yZXR1cm4gdH1mdW5jdGlvbiBfYShlLHQsbil7anIubGFzdEluZGV4PTA7Y29uc3Qgcj1qci5leGVjKGUpO2lmKHIpe2NvbnN0IHM9ci5pbmRpY2VzWzFdWzBdKzEsaT1yLmluZGljZXNbMV1bMV0rMSxvPXtzdGFydExpbmVOdW1iZXI6dCxzdGFydENvbHVtbjpzLGVuZExpbmVOdW1iZXI6dCxlbmRDb2x1bW46aX07aWYoby5lbmRDb2x1bW4+by5zdGFydENvbHVtbil7Y29uc3QgbD17cmFuZ2U6bywuLi5YcihyWzFdKSxzaG91bGRCZUluQ29tbWVudHM6ITB9OyhsLnRleHR8fGwuaGFzU2VwYXJhdG9yTGluZSkmJm4ucHVzaChsKX19fWZ1bmN0aW9uIFhyKGUpe2U9ZS50cmltKCk7Y29uc3QgdD1lLnN0YXJ0c1dpdGgoIi0iKTtyZXR1cm4gZT1lLnJlcGxhY2UoZGEsIiIpLHt0ZXh0OmUsaGFzU2VwYXJhdG9yTGluZTp0fX1jbGFzcyBwYSBleHRlbmRzIGxpe2dldCB1cmkoKXtyZXR1cm4gdGhpcy5fdXJpfWdldCBlb2woKXtyZXR1cm4gdGhpcy5fZW9sfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMuZ2V0VGV4dCgpfWZpbmRNYXRjaGVzKHQpe2NvbnN0IG49W107Zm9yKGxldCByPTA7cjx0aGlzLl9saW5lcy5sZW5ndGg7cisrKXtjb25zdCBzPXRoaXMuX2xpbmVzW3JdLGk9dGhpcy5vZmZzZXRBdChuZXcgSihyKzEsMSkpLG89cy5tYXRjaEFsbCh0KTtmb3IoY29uc3QgbCBvZiBvKShsLmluZGV4fHxsLmluZGV4PT09MCkmJihsLmluZGV4PWwuaW5kZXgraSksbi5wdXNoKGwpfXJldHVybiBufWdldExpbmVzQ29udGVudCgpe3JldHVybiB0aGlzLl9saW5lcy5zbGljZSgwKX1nZXRMaW5lQ291bnQoKXtyZXR1cm4gdGhpcy5fbGluZXMubGVuZ3RofWdldExpbmVDb250ZW50KHQpe3JldHVybiB0aGlzLl9saW5lc1t0LTFdfWdldFdvcmRBdFBvc2l0aW9uKHQsbil7Y29uc3Qgcj1UdCh0LmNvbHVtbixMbihuKSx0aGlzLl9saW5lc1t0LmxpbmVOdW1iZXItMV0sMCk7cmV0dXJuIHI/bmV3IEQodC5saW5lTnVtYmVyLHIuc3RhcnRDb2x1bW4sdC5saW5lTnVtYmVyLHIuZW5kQ29sdW1uKTpudWxsfXdvcmRzKHQpe2NvbnN0IG49dGhpcy5fbGluZXMscj10aGlzLl93b3JkZW5pemUuYmluZCh0aGlzKTtsZXQgcz0wLGk9IiIsbz0wLGw9W107cmV0dXJueypbU3ltYm9sLml0ZXJhdG9yXSgpe2Zvcig7OylpZihvPGwubGVuZ3RoKXtjb25zdCB1PWkuc3Vic3RyaW5nKGxbb10uc3RhcnQsbFtvXS5lbmQpO28rPTEseWllbGQgdX1lbHNlIGlmKHM8bi5sZW5ndGgpaT1uW3NdLGw9cihpLHQpLG89MCxzKz0xO2Vsc2UgYnJlYWt9fX1nZXRMaW5lV29yZHModCxuKXtjb25zdCByPXRoaXMuX2xpbmVzW3QtMV0scz10aGlzLl93b3JkZW5pemUocixuKSxpPVtdO2Zvcihjb25zdCBvIG9mIHMpaS5wdXNoKHt3b3JkOnIuc3Vic3RyaW5nKG8uc3RhcnQsby5lbmQpLHN0YXJ0Q29sdW1uOm8uc3RhcnQrMSxlbmRDb2x1bW46by5lbmQrMX0pO3JldHVybiBpfV93b3JkZW5pemUodCxuKXtjb25zdCByPVtdO2xldCBzO2ZvcihuLmxhc3RJbmRleD0wOyhzPW4uZXhlYyh0KSkmJnNbMF0ubGVuZ3RoIT09MDspci5wdXNoKHtzdGFydDpzLmluZGV4LGVuZDpzLmluZGV4K3NbMF0ubGVuZ3RofSk7cmV0dXJuIHJ9Z2V0VmFsdWVJblJhbmdlKHQpe2lmKHQ9dGhpcy5fdmFsaWRhdGVSYW5nZSh0KSx0LnN0YXJ0TGluZU51bWJlcj09PXQuZW5kTGluZU51bWJlcilyZXR1cm4gdGhpcy5fbGluZXNbdC5zdGFydExpbmVOdW1iZXItMV0uc3Vic3RyaW5nKHQuc3RhcnRDb2x1bW4tMSx0LmVuZENvbHVtbi0xKTtjb25zdCBuPXRoaXMuX2VvbCxyPXQuc3RhcnRMaW5lTnVtYmVyLTEscz10LmVuZExpbmVOdW1iZXItMSxpPVtdO2kucHVzaCh0aGlzLl9saW5lc1tyXS5zdWJzdHJpbmcodC5zdGFydENvbHVtbi0xKSk7Zm9yKGxldCBvPXIrMTtvPHM7bysrKWkucHVzaCh0aGlzLl9saW5lc1tvXSk7cmV0dXJuIGkucHVzaCh0aGlzLl9saW5lc1tzXS5zdWJzdHJpbmcoMCx0LmVuZENvbHVtbi0xKSksaS5qb2luKG4pfW9mZnNldEF0KHQpe3JldHVybiB0PXRoaXMuX3ZhbGlkYXRlUG9zaXRpb24odCksdGhpcy5fZW5zdXJlTGluZVN0YXJ0cygpLHRoaXMuX2xpbmVTdGFydHMuZ2V0UHJlZml4U3VtKHQubGluZU51bWJlci0yKSsodC5jb2x1bW4tMSl9cG9zaXRpb25BdCh0KXt0PU1hdGguZmxvb3IodCksdD1NYXRoLm1heCgwLHQpLHRoaXMuX2Vuc3VyZUxpbmVTdGFydHMoKTtjb25zdCBuPXRoaXMuX2xpbmVTdGFydHMuZ2V0SW5kZXhPZih0KSxyPXRoaXMuX2xpbmVzW24uaW5kZXhdLmxlbmd0aDtyZXR1cm57bGluZU51bWJlcjoxK24uaW5kZXgsY29sdW1uOjErTWF0aC5taW4obi5yZW1haW5kZXIscil9fV92YWxpZGF0ZVJhbmdlKHQpe2NvbnN0IG49dGhpcy5fdmFsaWRhdGVQb3NpdGlvbih7bGluZU51bWJlcjp0LnN0YXJ0TGluZU51bWJlcixjb2x1bW46dC5zdGFydENvbHVtbn0pLHI9dGhpcy5fdmFsaWRhdGVQb3NpdGlvbih7bGluZU51bWJlcjp0LmVuZExpbmVOdW1iZXIsY29sdW1uOnQuZW5kQ29sdW1ufSk7cmV0dXJuIG4ubGluZU51bWJlciE9PXQuc3RhcnRMaW5lTnVtYmVyfHxuLmNvbHVtbiE9PXQuc3RhcnRDb2x1bW58fHIubGluZU51bWJlciE9PXQuZW5kTGluZU51bWJlcnx8ci5jb2x1bW4hPT10LmVuZENvbHVtbj97c3RhcnRMaW5lTnVtYmVyOm4ubGluZU51bWJlcixzdGFydENvbHVtbjpuLmNvbHVtbixlbmRMaW5lTnVtYmVyOnIubGluZU51bWJlcixlbmRDb2x1bW46ci5jb2x1bW59OnR9X3ZhbGlkYXRlUG9zaXRpb24odCl7aWYoIUouaXNJUG9zaXRpb24odCkpdGhyb3cgbmV3IEVycm9yKCJiYWQgcG9zaXRpb24iKTtsZXR7bGluZU51bWJlcjpuLGNvbHVtbjpyfT10LHM9ITE7aWYobjwxKW49MSxyPTEscz0hMDtlbHNlIGlmKG4+dGhpcy5fbGluZXMubGVuZ3RoKW49dGhpcy5fbGluZXMubGVuZ3RoLHI9dGhpcy5fbGluZXNbbi0xXS5sZW5ndGgrMSxzPSEwO2Vsc2V7Y29uc3QgaT10aGlzLl9saW5lc1tuLTFdLmxlbmd0aCsxO3I8MT8ocj0xLHM9ITApOnI+aSYmKHI9aSxzPSEwKX1yZXR1cm4gcz97bGluZU51bWJlcjpuLGNvbHVtbjpyfTp0fX1jbGFzcyBTZXtjb25zdHJ1Y3Rvcih0LG4pe3RoaXMuX2hvc3Q9dCx0aGlzLl9tb2RlbHM9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLl9mb3JlaWduTW9kdWxlRmFjdG9yeT1uLHRoaXMuX2ZvcmVpZ25Nb2R1bGU9bnVsbH1kaXNwb3NlKCl7dGhpcy5fbW9kZWxzPU9iamVjdC5jcmVhdGUobnVsbCl9X2dldE1vZGVsKHQpe3JldHVybiB0aGlzLl9tb2RlbHNbdF19X2dldE1vZGVscygpe2NvbnN0IHQ9W107cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuX21vZGVscykuZm9yRWFjaChuPT50LnB1c2godGhpcy5fbW9kZWxzW25dKSksdH1hY2NlcHROZXdNb2RlbCh0KXt0aGlzLl9tb2RlbHNbdC51cmxdPW5ldyBwYShOZS5wYXJzZSh0LnVybCksdC5saW5lcyx0LkVPTCx0LnZlcnNpb25JZCl9YWNjZXB0TW9kZWxDaGFuZ2VkKHQsbil7aWYoIXRoaXMuX21vZGVsc1t0XSlyZXR1cm47dGhpcy5fbW9kZWxzW3RdLm9uRXZlbnRzKG4pfWFjY2VwdFJlbW92ZWRNb2RlbCh0KXt0aGlzLl9tb2RlbHNbdF0mJmRlbGV0ZSB0aGlzLl9tb2RlbHNbdF19YXN5bmMgY29tcHV0ZVVuaWNvZGVIaWdobGlnaHRzKHQsbixyKXtjb25zdCBzPXRoaXMuX2dldE1vZGVsKHQpO3JldHVybiBzP0lpLmNvbXB1dGVVbmljb2RlSGlnaGxpZ2h0cyhzLG4scik6e3JhbmdlczpbXSxoYXNNb3JlOiExLGFtYmlndW91c0NoYXJhY3RlckNvdW50OjAsaW52aXNpYmxlQ2hhcmFjdGVyQ291bnQ6MCxub25CYXNpY0FzY2lpQ2hhcmFjdGVyQ291bnQ6MH19YXN5bmMgZmluZFNlY3Rpb25IZWFkZXJzKHQsbil7Y29uc3Qgcj10aGlzLl9nZXRNb2RlbCh0KTtyZXR1cm4gcj9tYShyLG4pOltdfWFzeW5jIGNvbXB1dGVEaWZmKHQsbixyLHMpe2NvbnN0IGk9dGhpcy5fZ2V0TW9kZWwodCksbz10aGlzLl9nZXRNb2RlbChuKTtyZXR1cm4haXx8IW8/bnVsbDpTZS5jb21wdXRlRGlmZihpLG8scixzKX1zdGF0aWMgY29tcHV0ZURpZmYodCxuLHIscyl7Y29uc3QgaT1zPT09ImFkdmFuY2VkIj9Xci5nZXREZWZhdWx0KCk6V3IuZ2V0TGVnYWN5KCksbz10LmdldExpbmVzQ29udGVudCgpLGw9bi5nZXRMaW5lc0NvbnRlbnQoKSx1PWkuY29tcHV0ZURpZmYobyxsLHIpLGM9dS5jaGFuZ2VzLmxlbmd0aD4wPyExOnRoaXMuX21vZGVsc0FyZUlkZW50aWNhbCh0LG4pO2Z1bmN0aW9uIGgoZil7cmV0dXJuIGYubWFwKGQ9Pnt2YXIgbTtyZXR1cm5bZC5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXIsZC5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLGQubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyLGQubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSwobT1kLmlubmVyQ2hhbmdlcyk9PT1udWxsfHxtPT09dm9pZCAwP3ZvaWQgMDptLm1hcChnPT5bZy5vcmlnaW5hbFJhbmdlLnN0YXJ0TGluZU51bWJlcixnLm9yaWdpbmFsUmFuZ2Uuc3RhcnRDb2x1bW4sZy5vcmlnaW5hbFJhbmdlLmVuZExpbmVOdW1iZXIsZy5vcmlnaW5hbFJhbmdlLmVuZENvbHVtbixnLm1vZGlmaWVkUmFuZ2Uuc3RhcnRMaW5lTnVtYmVyLGcubW9kaWZpZWRSYW5nZS5zdGFydENvbHVtbixnLm1vZGlmaWVkUmFuZ2UuZW5kTGluZU51bWJlcixnLm1vZGlmaWVkUmFuZ2UuZW5kQ29sdW1uXSldfSl9cmV0dXJue2lkZW50aWNhbDpjLHF1aXRFYXJseTp1LmhpdFRpbWVvdXQsY2hhbmdlczpoKHUuY2hhbmdlcyksbW92ZXM6dS5tb3Zlcy5tYXAoZj0+W2YubGluZVJhbmdlTWFwcGluZy5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXIsZi5saW5lUmFuZ2VNYXBwaW5nLm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUsZi5saW5lUmFuZ2VNYXBwaW5nLm1vZGlmaWVkLnN0YXJ0TGluZU51bWJlcixmLmxpbmVSYW5nZU1hcHBpbmcubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSxoKGYuY2hhbmdlcyldKX19c3RhdGljIF9tb2RlbHNBcmVJZGVudGljYWwodCxuKXtjb25zdCByPXQuZ2V0TGluZUNvdW50KCkscz1uLmdldExpbmVDb3VudCgpO2lmKHIhPT1zKXJldHVybiExO2ZvcihsZXQgaT0xO2k8PXI7aSsrKXtjb25zdCBvPXQuZ2V0TGluZUNvbnRlbnQoaSksbD1uLmdldExpbmVDb250ZW50KGkpO2lmKG8hPT1sKXJldHVybiExfXJldHVybiEwfWFzeW5jIGNvbXB1dGVNb3JlTWluaW1hbEVkaXRzKHQsbixyKXtjb25zdCBzPXRoaXMuX2dldE1vZGVsKHQpO2lmKCFzKXJldHVybiBuO2NvbnN0IGk9W107bGV0IG87bj1uLnNsaWNlKDApLnNvcnQoKHUsYyk9PntpZih1LnJhbmdlJiZjLnJhbmdlKXJldHVybiBELmNvbXBhcmVSYW5nZXNVc2luZ1N0YXJ0cyh1LnJhbmdlLGMucmFuZ2UpO2NvbnN0IGg9dS5yYW5nZT8wOjEsZj1jLnJhbmdlPzA6MTtyZXR1cm4gaC1mfSk7bGV0IGw9MDtmb3IobGV0IHU9MTt1PG4ubGVuZ3RoO3UrKylELmdldEVuZFBvc2l0aW9uKG5bbF0ucmFuZ2UpLmVxdWFscyhELmdldFN0YXJ0UG9zaXRpb24oblt1XS5yYW5nZSkpPyhuW2xdLnJhbmdlPUQuZnJvbVBvc2l0aW9ucyhELmdldFN0YXJ0UG9zaXRpb24obltsXS5yYW5nZSksRC5nZXRFbmRQb3NpdGlvbihuW3VdLnJhbmdlKSksbltsXS50ZXh0Kz1uW3VdLnRleHQpOihsKyssbltsXT1uW3VdKTtuLmxlbmd0aD1sKzE7Zm9yKGxldHtyYW5nZTp1LHRleHQ6Yyxlb2w6aH1vZiBuKXtpZih0eXBlb2YgaD09Im51bWJlciImJihvPWgpLEQuaXNFbXB0eSh1KSYmIWMpY29udGludWU7Y29uc3QgZj1zLmdldFZhbHVlSW5SYW5nZSh1KTtpZihjPWMucmVwbGFjZSgvXHJcbnxcbnxcci9nLHMuZW9sKSxmPT09Yyljb250aW51ZTtpZihNYXRoLm1heChjLmxlbmd0aCxmLmxlbmd0aCk+U2UuX2RpZmZMaW1pdCl7aS5wdXNoKHtyYW5nZTp1LHRleHQ6Y30pO2NvbnRpbnVlfWNvbnN0IGQ9SXMoZixjLHIpLG09cy5vZmZzZXRBdChELmxpZnQodSkuZ2V0U3RhcnRQb3NpdGlvbigpKTtmb3IoY29uc3QgZyBvZiBkKXtjb25zdCBwPXMucG9zaXRpb25BdChtK2cub3JpZ2luYWxTdGFydCksdj1zLnBvc2l0aW9uQXQobStnLm9yaWdpbmFsU3RhcnQrZy5vcmlnaW5hbExlbmd0aCksTj17dGV4dDpjLnN1YnN0cihnLm1vZGlmaWVkU3RhcnQsZy5tb2RpZmllZExlbmd0aCkscmFuZ2U6e3N0YXJ0TGluZU51bWJlcjpwLmxpbmVOdW1iZXIsc3RhcnRDb2x1bW46cC5jb2x1bW4sZW5kTGluZU51bWJlcjp2LmxpbmVOdW1iZXIsZW5kQ29sdW1uOnYuY29sdW1ufX07cy5nZXRWYWx1ZUluUmFuZ2UoTi5yYW5nZSkhPT1OLnRleHQmJmkucHVzaChOKX19cmV0dXJuIHR5cGVvZiBvPT0ibnVtYmVyIiYmaS5wdXNoKHtlb2w6byx0ZXh0OiIiLHJhbmdlOntzdGFydExpbmVOdW1iZXI6MCxzdGFydENvbHVtbjowLGVuZExpbmVOdW1iZXI6MCxlbmRDb2x1bW46MH19KSxpfWFzeW5jIGNvbXB1dGVMaW5rcyh0KXtjb25zdCBuPXRoaXMuX2dldE1vZGVsKHQpO3JldHVybiBuP2JpKG4pOm51bGx9YXN5bmMgY29tcHV0ZURlZmF1bHREb2N1bWVudENvbG9ycyh0KXtjb25zdCBuPXRoaXMuX2dldE1vZGVsKHQpO3JldHVybiBuP2ZhKG4pOm51bGx9YXN5bmMgdGV4dHVhbFN1Z2dlc3QodCxuLHIscyl7Y29uc3QgaT1uZXcgZXQsbz1uZXcgUmVnRXhwKHIscyksbD1uZXcgU2V0O2U6Zm9yKGNvbnN0IHUgb2YgdCl7Y29uc3QgYz10aGlzLl9nZXRNb2RlbCh1KTtpZihjKXtmb3IoY29uc3QgaCBvZiBjLndvcmRzKG8pKWlmKCEoaD09PW58fCFpc05hTihOdW1iZXIoaCkpKSYmKGwuYWRkKGgpLGwuc2l6ZT5TZS5fc3VnZ2VzdGlvbnNMaW1pdCkpYnJlYWsgZX19cmV0dXJue3dvcmRzOkFycmF5LmZyb20obCksZHVyYXRpb246aS5lbGFwc2VkKCl9fWFzeW5jIGNvbXB1dGVXb3JkUmFuZ2VzKHQsbixyLHMpe2NvbnN0IGk9dGhpcy5fZ2V0TW9kZWwodCk7aWYoIWkpcmV0dXJuIE9iamVjdC5jcmVhdGUobnVsbCk7Y29uc3Qgbz1uZXcgUmVnRXhwKHIscyksbD1PYmplY3QuY3JlYXRlKG51bGwpO2ZvcihsZXQgdT1uLnN0YXJ0TGluZU51bWJlcjt1PG4uZW5kTGluZU51bWJlcjt1Kyspe2NvbnN0IGM9aS5nZXRMaW5lV29yZHModSxvKTtmb3IoY29uc3QgaCBvZiBjKXtpZighaXNOYU4oTnVtYmVyKGgud29yZCkpKWNvbnRpbnVlO2xldCBmPWxbaC53b3JkXTtmfHwoZj1bXSxsW2gud29yZF09ZiksZi5wdXNoKHtzdGFydExpbmVOdW1iZXI6dSxzdGFydENvbHVtbjpoLnN0YXJ0Q29sdW1uLGVuZExpbmVOdW1iZXI6dSxlbmRDb2x1bW46aC5lbmRDb2x1bW59KX19cmV0dXJuIGx9YXN5bmMgbmF2aWdhdGVWYWx1ZVNldCh0LG4scixzLGkpe2NvbnN0IG89dGhpcy5fZ2V0TW9kZWwodCk7aWYoIW8pcmV0dXJuIG51bGw7Y29uc3QgbD1uZXcgUmVnRXhwKHMsaSk7bi5zdGFydENvbHVtbj09PW4uZW5kQ29sdW1uJiYobj17c3RhcnRMaW5lTnVtYmVyOm4uc3RhcnRMaW5lTnVtYmVyLHN0YXJ0Q29sdW1uOm4uc3RhcnRDb2x1bW4sZW5kTGluZU51bWJlcjpuLmVuZExpbmVOdW1iZXIsZW5kQ29sdW1uOm4uZW5kQ29sdW1uKzF9KTtjb25zdCB1PW8uZ2V0VmFsdWVJblJhbmdlKG4pLGM9by5nZXRXb3JkQXRQb3NpdGlvbih7bGluZU51bWJlcjpuLnN0YXJ0TGluZU51bWJlcixjb2x1bW46bi5zdGFydENvbHVtbn0sbCk7aWYoIWMpcmV0dXJuIG51bGw7Y29uc3QgaD1vLmdldFZhbHVlSW5SYW5nZShjKTtyZXR1cm4gRnQuSU5TVEFOQ0UubmF2aWdhdGVWYWx1ZVNldChuLHUsYyxoLHIpfWxvYWRGb3JlaWduTW9kdWxlKHQsbixyKXtjb25zdCBvPXtob3N0OnVzKHIsKGwsdSk9PnRoaXMuX2hvc3QuZmhyKGwsdSkpLGdldE1pcnJvck1vZGVsczooKT0+dGhpcy5fZ2V0TW9kZWxzKCl9O3JldHVybiB0aGlzLl9mb3JlaWduTW9kdWxlRmFjdG9yeT8odGhpcy5fZm9yZWlnbk1vZHVsZT10aGlzLl9mb3JlaWduTW9kdWxlRmFjdG9yeShvLG4pLFByb21pc2UucmVzb2x2ZSh2dCh0aGlzLl9mb3JlaWduTW9kdWxlKSkpOlByb21pc2UucmVqZWN0KG5ldyBFcnJvcigiVW5leHBlY3RlZCB1c2FnZSIpKX1mbXIodCxuKXtpZighdGhpcy5fZm9yZWlnbk1vZHVsZXx8dHlwZW9mIHRoaXMuX2ZvcmVpZ25Nb2R1bGVbdF0hPSJmdW5jdGlvbiIpcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcigiTWlzc2luZyByZXF1ZXN0SGFuZGxlciBvciBtZXRob2Q6ICIrdCkpO3RyeXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2ZvcmVpZ25Nb2R1bGVbdF0uYXBwbHkodGhpcy5fZm9yZWlnbk1vZHVsZSxuKSl9Y2F0Y2gocil7cmV0dXJuIFByb21pc2UucmVqZWN0KHIpfX19U2UuX2RpZmZMaW1pdD0xZTUsU2UuX3N1Z2dlc3Rpb25zTGltaXQ9MWU0LHR5cGVvZiBpbXBvcnRTY3JpcHRzPT0iZnVuY3Rpb24iJiYoZ2xvYmFsVGhpcy5tb25hY289Q2koKSk7bGV0IEp0PSExO2Z1bmN0aW9uIHhhKGUpe2lmKEp0KXJldHVybjtKdD0hMDtjb25zdCB0PW5ldyBQcyhuPT57Z2xvYmFsVGhpcy5wb3N0TWVzc2FnZShuKX0sbj0+bmV3IFNlKG4sZSkpO2dsb2JhbFRoaXMub25tZXNzYWdlPW49Pnt0Lm9ubWVzc2FnZShuLmRhdGEpfX1nbG9iYWxUaGlzLm9ubWVzc2FnZT1lPT57SnR8fHhhKG51bGwpfX0pKCk7Cg==",$Vt=n=>Uint8Array.from(atob(n),e=>e.charCodeAt(0)),rDe=typeof window<"u"&&window.Blob&&new Blob([$Vt(iDe)],{type:"text/javascript;charset=utf-8"});function qVt(n){let e;try{if(e=rDe&&(window.URL||window.webkitURL).createObjectURL(rDe),!e)throw"";const t=new Worker(e,{name:n==null?void 0:n.name});return t.addEventListener("error",()=>{(window.URL||window.webkitURL).revokeObjectURL(e)}),t}catch{return new Worker("data:text/javascript;base64,"+iDe,{name:n==null?void 0:n.name})}finally{e&&(window.URL||window.webkitURL).revokeObjectURL(e)}}const oDe="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2NsYXNzIFBhe2NvbnN0cnVjdG9yKCl7dGhpcy5saXN0ZW5lcnM9W10sdGhpcy51bmV4cGVjdGVkRXJyb3JIYW5kbGVyPWZ1bmN0aW9uKHQpe3NldFRpbWVvdXQoKCk9Pnt0aHJvdyB0LnN0YWNrP3V0LmlzRXJyb3JOb1RlbGVtZXRyeSh0KT9uZXcgdXQodC5tZXNzYWdlK2AKCmArdC5zdGFjayk6bmV3IEVycm9yKHQubWVzc2FnZStgCgpgK3Quc3RhY2spOnR9LDApfX1lbWl0KHQpe3RoaXMubGlzdGVuZXJzLmZvckVhY2gobj0+e24odCl9KX1vblVuZXhwZWN0ZWRFcnJvcih0KXt0aGlzLnVuZXhwZWN0ZWRFcnJvckhhbmRsZXIodCksdGhpcy5lbWl0KHQpfW9uVW5leHBlY3RlZEV4dGVybmFsRXJyb3IodCl7dGhpcy51bmV4cGVjdGVkRXJyb3JIYW5kbGVyKHQpfX1jb25zdCBJYT1uZXcgUGE7ZnVuY3Rpb24gRHIoZSl7RmEoZSl8fElhLm9uVW5leHBlY3RlZEVycm9yKGUpfWZ1bmN0aW9uIE9yKGUpe2lmKGUgaW5zdGFuY2VvZiBFcnJvcil7Y29uc3R7bmFtZTp0LG1lc3NhZ2U6bn09ZSxyPWUuc3RhY2t0cmFjZXx8ZS5zdGFjaztyZXR1cm57JGlzRXJyb3I6ITAsbmFtZTp0LG1lc3NhZ2U6bixzdGFjazpyLG5vVGVsZW1ldHJ5OnV0LmlzRXJyb3JOb1RlbGVtZXRyeShlKX19cmV0dXJuIGV9Y29uc3QgRW49IkNhbmNlbGVkIjtmdW5jdGlvbiBGYShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIERhPyEwOmUgaW5zdGFuY2VvZiBFcnJvciYmZS5uYW1lPT09RW4mJmUubWVzc2FnZT09PUVufWNsYXNzIERhIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoKXtzdXBlcihFbiksdGhpcy5uYW1lPXRoaXMubWVzc2FnZX19Y2xhc3MgdXQgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLm5hbWU9IkNvZGVFeHBlY3RlZEVycm9yIn1zdGF0aWMgZnJvbUVycm9yKHQpe2lmKHQgaW5zdGFuY2VvZiB1dClyZXR1cm4gdDtjb25zdCBuPW5ldyB1dDtyZXR1cm4gbi5tZXNzYWdlPXQubWVzc2FnZSxuLnN0YWNrPXQuc3RhY2ssbn1zdGF0aWMgaXNFcnJvck5vVGVsZW1ldHJ5KHQpe3JldHVybiB0Lm5hbWU9PT0iQ29kZUV4cGVjdGVkRXJyb3IifX1jbGFzcyBVZSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQpe3N1cGVyKHR8fCJBbiB1bmV4cGVjdGVkIGJ1ZyBvY2N1cnJlZC4iKSxPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxVZS5wcm90b3R5cGUpfX1mdW5jdGlvbiBPYShlLHQpe2NvbnN0IG49dGhpcztsZXQgcj0hMSxpO3JldHVybiBmdW5jdGlvbigpe2lmKHIpcmV0dXJuIGk7aWYocj0hMCx0KXRyeXtpPWUuYXBwbHkobixhcmd1bWVudHMpfWZpbmFsbHl7dCgpfWVsc2UgaT1lLmFwcGx5KG4sYXJndW1lbnRzKTtyZXR1cm4gaX19dmFyIFl0OyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KGIpe3JldHVybiBiJiZ0eXBlb2YgYj09Im9iamVjdCImJnR5cGVvZiBiW1N5bWJvbC5pdGVyYXRvcl09PSJmdW5jdGlvbiJ9ZS5pcz10O2NvbnN0IG49T2JqZWN0LmZyZWV6ZShbXSk7ZnVuY3Rpb24gcigpe3JldHVybiBufWUuZW1wdHk9cjtmdW5jdGlvbippKGIpe3lpZWxkIGJ9ZS5zaW5nbGU9aTtmdW5jdGlvbiBzKGIpe3JldHVybiB0KGIpP2I6aShiKX1lLndyYXA9cztmdW5jdGlvbiBhKGIpe3JldHVybiBifHxufWUuZnJvbT1hO2Z1bmN0aW9uKm8oYil7Zm9yKGxldCBTPWIubGVuZ3RoLTE7Uz49MDtTLS0peWllbGQgYltTXX1lLnJldmVyc2U9bztmdW5jdGlvbiBsKGIpe3JldHVybiFifHxiW1N5bWJvbC5pdGVyYXRvcl0oKS5uZXh0KCkuZG9uZT09PSEwfWUuaXNFbXB0eT1sO2Z1bmN0aW9uIHUoYil7cmV0dXJuIGJbU3ltYm9sLml0ZXJhdG9yXSgpLm5leHQoKS52YWx1ZX1lLmZpcnN0PXU7ZnVuY3Rpb24gZihiLFMpe2Zvcihjb25zdCBOIG9mIGIpaWYoUyhOKSlyZXR1cm4hMDtyZXR1cm4hMX1lLnNvbWU9ZjtmdW5jdGlvbiBoKGIsUyl7Zm9yKGNvbnN0IE4gb2YgYilpZihTKE4pKXJldHVybiBOfWUuZmluZD1oO2Z1bmN0aW9uKmQoYixTKXtmb3IoY29uc3QgTiBvZiBiKVMoTikmJih5aWVsZCBOKX1lLmZpbHRlcj1kO2Z1bmN0aW9uKmcoYixTKXtsZXQgTj0wO2Zvcihjb25zdCB3IG9mIGIpeWllbGQgUyh3LE4rKyl9ZS5tYXA9ZztmdW5jdGlvbiptKC4uLmIpe2Zvcihjb25zdCBTIG9mIGIpeWllbGQqU31lLmNvbmNhdD1tO2Z1bmN0aW9uIHYoYixTLE4pe2xldCB3PU47Zm9yKGNvbnN0IEwgb2YgYil3PVModyxMKTtyZXR1cm4gd31lLnJlZHVjZT12O2Z1bmN0aW9uKnAoYixTLE49Yi5sZW5ndGgpe2ZvcihTPDAmJihTKz1iLmxlbmd0aCksTjwwP04rPWIubGVuZ3RoOk4+Yi5sZW5ndGgmJihOPWIubGVuZ3RoKTtTPE47UysrKXlpZWxkIGJbU119ZS5zbGljZT1wO2Z1bmN0aW9uIF8oYixTPU51bWJlci5QT1NJVElWRV9JTkZJTklUWSl7Y29uc3QgTj1bXTtpZihTPT09MClyZXR1cm5bTixiXTtjb25zdCB3PWJbU3ltYm9sLml0ZXJhdG9yXSgpO2ZvcihsZXQgTD0wO0w8UztMKyspe2NvbnN0IEE9dy5uZXh0KCk7aWYoQS5kb25lKXJldHVybltOLGUuZW1wdHkoKV07Ti5wdXNoKEEudmFsdWUpfXJldHVybltOLHtbU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiB3fX1dfWUuY29uc3VtZT1fO2FzeW5jIGZ1bmN0aW9uIHgoYil7Y29uc3QgUz1bXTtmb3IgYXdhaXQoY29uc3QgTiBvZiBiKVMucHVzaChOKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFMpfWUuYXN5bmNUb0FycmF5PXh9KShZdHx8KFl0PXt9KSk7ZnVuY3Rpb24gY2MoZSl7cmV0dXJuIGV9ZnVuY3Rpb24gZmMoZSx0KXt9ZnVuY3Rpb24gVnIoZSl7aWYoWXQuaXMoZSkpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IG4gb2YgZSlpZihuKXRyeXtuLmRpc3Bvc2UoKX1jYXRjaChyKXt0LnB1c2gocil9aWYodC5sZW5ndGg9PT0xKXRocm93IHRbMF07aWYodC5sZW5ndGg+MSl0aHJvdyBuZXcgQWdncmVnYXRlRXJyb3IodCwiRW5jb3VudGVyZWQgZXJyb3JzIHdoaWxlIGRpc3Bvc2luZyBvZiBzdG9yZSIpO3JldHVybiBBcnJheS5pc0FycmF5KGUpP1tdOmV9ZWxzZSBpZihlKXJldHVybiBlLmRpc3Bvc2UoKSxlfWZ1bmN0aW9uIFZhKC4uLmUpe3JldHVybiBRdCgoKT0+VnIoZSkpfWZ1bmN0aW9uIFF0KGUpe3JldHVybntkaXNwb3NlOk9hKCgpPT57ZSgpfSl9fWNsYXNzIGN0e2NvbnN0cnVjdG9yKCl7dGhpcy5fdG9EaXNwb3NlPW5ldyBTZXQsdGhpcy5faXNEaXNwb3NlZD0hMX1kaXNwb3NlKCl7dGhpcy5faXNEaXNwb3NlZHx8KHRoaXMuX2lzRGlzcG9zZWQ9ITAsdGhpcy5jbGVhcigpKX1nZXQgaXNEaXNwb3NlZCgpe3JldHVybiB0aGlzLl9pc0Rpc3Bvc2VkfWNsZWFyKCl7aWYodGhpcy5fdG9EaXNwb3NlLnNpemUhPT0wKXRyeXtWcih0aGlzLl90b0Rpc3Bvc2UpfWZpbmFsbHl7dGhpcy5fdG9EaXNwb3NlLmNsZWFyKCl9fWFkZCh0KXtpZighdClyZXR1cm4gdDtpZih0PT09dGhpcyl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCByZWdpc3RlciBhIGRpc3Bvc2FibGUgb24gaXRzZWxmISIpO3JldHVybiB0aGlzLl9pc0Rpc3Bvc2VkP2N0LkRJU0FCTEVfRElTUE9TRURfV0FSTklORzp0aGlzLl90b0Rpc3Bvc2UuYWRkKHQpLHR9ZGVsZXRlQW5kTGVhayh0KXt0JiZ0aGlzLl90b0Rpc3Bvc2UuaGFzKHQpJiZ0aGlzLl90b0Rpc3Bvc2UuZGVsZXRlKHQpfX1jdC5ESVNBQkxFX0RJU1BPU0VEX1dBUk5JTkc9ITE7Y2xhc3Mga3R7Y29uc3RydWN0b3IoKXt0aGlzLl9zdG9yZT1uZXcgY3QsdGhpcy5fc3RvcmV9ZGlzcG9zZSgpe3RoaXMuX3N0b3JlLmRpc3Bvc2UoKX1fcmVnaXN0ZXIodCl7aWYodD09PXRoaXMpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgcmVnaXN0ZXIgYSBkaXNwb3NhYmxlIG9uIGl0c2VsZiEiKTtyZXR1cm4gdGhpcy5fc3RvcmUuYWRkKHQpfX1rdC5Ob25lPU9iamVjdC5mcmVlemUoe2Rpc3Bvc2UoKXt9fSk7Y2xhc3MgWXtjb25zdHJ1Y3Rvcih0KXt0aGlzLmVsZW1lbnQ9dCx0aGlzLm5leHQ9WS5VbmRlZmluZWQsdGhpcy5wcmV2PVkuVW5kZWZpbmVkfX1ZLlVuZGVmaW5lZD1uZXcgWSh2b2lkIDApO2NsYXNzIFVhe2NvbnN0cnVjdG9yKCl7dGhpcy5fZmlyc3Q9WS5VbmRlZmluZWQsdGhpcy5fbGFzdD1ZLlVuZGVmaW5lZCx0aGlzLl9zaXplPTB9Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy5fc2l6ZX1pc0VtcHR5KCl7cmV0dXJuIHRoaXMuX2ZpcnN0PT09WS5VbmRlZmluZWR9Y2xlYXIoKXtsZXQgdD10aGlzLl9maXJzdDtmb3IoO3QhPT1ZLlVuZGVmaW5lZDspe2NvbnN0IG49dC5uZXh0O3QucHJldj1ZLlVuZGVmaW5lZCx0Lm5leHQ9WS5VbmRlZmluZWQsdD1ufXRoaXMuX2ZpcnN0PVkuVW5kZWZpbmVkLHRoaXMuX2xhc3Q9WS5VbmRlZmluZWQsdGhpcy5fc2l6ZT0wfXVuc2hpZnQodCl7cmV0dXJuIHRoaXMuX2luc2VydCh0LCExKX1wdXNoKHQpe3JldHVybiB0aGlzLl9pbnNlcnQodCwhMCl9X2luc2VydCh0LG4pe2NvbnN0IHI9bmV3IFkodCk7aWYodGhpcy5fZmlyc3Q9PT1ZLlVuZGVmaW5lZCl0aGlzLl9maXJzdD1yLHRoaXMuX2xhc3Q9cjtlbHNlIGlmKG4pe2NvbnN0IHM9dGhpcy5fbGFzdDt0aGlzLl9sYXN0PXIsci5wcmV2PXMscy5uZXh0PXJ9ZWxzZXtjb25zdCBzPXRoaXMuX2ZpcnN0O3RoaXMuX2ZpcnN0PXIsci5uZXh0PXMscy5wcmV2PXJ9dGhpcy5fc2l6ZSs9MTtsZXQgaT0hMTtyZXR1cm4oKT0+e2l8fChpPSEwLHRoaXMuX3JlbW92ZShyKSl9fXNoaWZ0KCl7aWYodGhpcy5fZmlyc3QhPT1ZLlVuZGVmaW5lZCl7Y29uc3QgdD10aGlzLl9maXJzdC5lbGVtZW50O3JldHVybiB0aGlzLl9yZW1vdmUodGhpcy5fZmlyc3QpLHR9fXBvcCgpe2lmKHRoaXMuX2xhc3QhPT1ZLlVuZGVmaW5lZCl7Y29uc3QgdD10aGlzLl9sYXN0LmVsZW1lbnQ7cmV0dXJuIHRoaXMuX3JlbW92ZSh0aGlzLl9sYXN0KSx0fX1fcmVtb3ZlKHQpe2lmKHQucHJldiE9PVkuVW5kZWZpbmVkJiZ0Lm5leHQhPT1ZLlVuZGVmaW5lZCl7Y29uc3Qgbj10LnByZXY7bi5uZXh0PXQubmV4dCx0Lm5leHQucHJldj1ufWVsc2UgdC5wcmV2PT09WS5VbmRlZmluZWQmJnQubmV4dD09PVkuVW5kZWZpbmVkPyh0aGlzLl9maXJzdD1ZLlVuZGVmaW5lZCx0aGlzLl9sYXN0PVkuVW5kZWZpbmVkKTp0Lm5leHQ9PT1ZLlVuZGVmaW5lZD8odGhpcy5fbGFzdD10aGlzLl9sYXN0LnByZXYsdGhpcy5fbGFzdC5uZXh0PVkuVW5kZWZpbmVkKTp0LnByZXY9PT1ZLlVuZGVmaW5lZCYmKHRoaXMuX2ZpcnN0PXRoaXMuX2ZpcnN0Lm5leHQsdGhpcy5fZmlyc3QucHJldj1ZLlVuZGVmaW5lZCk7dGhpcy5fc2l6ZS09MX0qW1N5bWJvbC5pdGVyYXRvcl0oKXtsZXQgdD10aGlzLl9maXJzdDtmb3IoO3QhPT1ZLlVuZGVmaW5lZDspeWllbGQgdC5lbGVtZW50LHQ9dC5uZXh0fX1jb25zdCBCYT1nbG9iYWxUaGlzLnBlcmZvcm1hbmNlJiZ0eXBlb2YgZ2xvYmFsVGhpcy5wZXJmb3JtYW5jZS5ub3c9PSJmdW5jdGlvbiI7Y2xhc3MgWnR7c3RhdGljIGNyZWF0ZSh0KXtyZXR1cm4gbmV3IFp0KHQpfWNvbnN0cnVjdG9yKHQpe3RoaXMuX25vdz1CYSYmdD09PSExP0RhdGUubm93Omdsb2JhbFRoaXMucGVyZm9ybWFuY2Uubm93LmJpbmQoZ2xvYmFsVGhpcy5wZXJmb3JtYW5jZSksdGhpcy5fc3RhcnRUaW1lPXRoaXMuX25vdygpLHRoaXMuX3N0b3BUaW1lPS0xfXN0b3AoKXt0aGlzLl9zdG9wVGltZT10aGlzLl9ub3coKX1yZXNldCgpe3RoaXMuX3N0YXJ0VGltZT10aGlzLl9ub3coKSx0aGlzLl9zdG9wVGltZT0tMX1lbGFwc2VkKCl7cmV0dXJuIHRoaXMuX3N0b3BUaW1lIT09LTE/dGhpcy5fc3RvcFRpbWUtdGhpcy5fc3RhcnRUaW1lOnRoaXMuX25vdygpLXRoaXMuX3N0YXJ0VGltZX19dmFyIGtuOyhmdW5jdGlvbihlKXtlLk5vbmU9KCk9Pmt0Lk5vbmU7ZnVuY3Rpb24gdChDLHkpe3JldHVybiBoKEMsKCk9Pnt9LDAsdm9pZCAwLCEwLHZvaWQgMCx5KX1lLmRlZmVyPXQ7ZnVuY3Rpb24gbihDKXtyZXR1cm4oeSxNPW51bGwsSSk9PntsZXQgTz0hMSxWO3JldHVybiBWPUMoVD0+e2lmKCFPKXJldHVybiBWP1YuZGlzcG9zZSgpOk89ITAseS5jYWxsKE0sVCl9LG51bGwsSSksTyYmVi5kaXNwb3NlKCksVn19ZS5vbmNlPW47ZnVuY3Rpb24gcihDLHksTSl7cmV0dXJuIHUoKEksTz1udWxsLFYpPT5DKFQ9PkkuY2FsbChPLHkoVCkpLG51bGwsViksTSl9ZS5tYXA9cjtmdW5jdGlvbiBpKEMseSxNKXtyZXR1cm4gdSgoSSxPPW51bGwsVik9PkMoVD0+e3koVCksSS5jYWxsKE8sVCl9LG51bGwsViksTSl9ZS5mb3JFYWNoPWk7ZnVuY3Rpb24gcyhDLHksTSl7cmV0dXJuIHUoKEksTz1udWxsLFYpPT5DKFQ9PnkoVCkmJkkuY2FsbChPLFQpLG51bGwsViksTSl9ZS5maWx0ZXI9cztmdW5jdGlvbiBhKEMpe3JldHVybiBDfWUuc2lnbmFsPWE7ZnVuY3Rpb24gbyguLi5DKXtyZXR1cm4oeSxNPW51bGwsSSk9Pntjb25zdCBPPVZhKC4uLkMubWFwKFY9PlYoVD0+eS5jYWxsKE0sVCkpKSk7cmV0dXJuIGYoTyxJKX19ZS5hbnk9bztmdW5jdGlvbiBsKEMseSxNLEkpe2xldCBPPU07cmV0dXJuIHIoQyxWPT4oTz15KE8sViksTyksSSl9ZS5yZWR1Y2U9bDtmdW5jdGlvbiB1KEMseSl7bGV0IE07Y29uc3QgST17b25XaWxsQWRkRmlyc3RMaXN0ZW5lcigpe009QyhPLmZpcmUsTyl9LG9uRGlkUmVtb3ZlTGFzdExpc3RlbmVyKCl7TT09bnVsbHx8TS5kaXNwb3NlKCl9fSxPPW5ldyBBZShJKTtyZXR1cm4geT09bnVsbHx8eS5hZGQoTyksTy5ldmVudH1mdW5jdGlvbiBmKEMseSl7cmV0dXJuIHkgaW5zdGFuY2VvZiBBcnJheT95LnB1c2goQyk6eSYmeS5hZGQoQyksQ31mdW5jdGlvbiBoKEMseSxNPTEwMCxJPSExLE89ITEsVixUKXtsZXQgRSxQLEQsaj0wLHE7Y29uc3QgRz17bGVha1dhcm5pbmdUaHJlc2hvbGQ6VixvbldpbGxBZGRGaXJzdExpc3RlbmVyKCl7RT1DKGxlPT57aisrLFA9eShQLGxlKSxJJiYhRCYmKGRlLmZpcmUoUCksUD12b2lkIDApLHE9KCk9Pntjb25zdCBiZT1QO1A9dm9pZCAwLEQ9dm9pZCAwLCghSXx8aj4xKSYmZGUuZmlyZShiZSksaj0wfSx0eXBlb2YgTT09Im51bWJlciI/KGNsZWFyVGltZW91dChEKSxEPXNldFRpbWVvdXQocSxNKSk6RD09PXZvaWQgMCYmKEQ9MCxxdWV1ZU1pY3JvdGFzayhxKSl9KX0sb25XaWxsUmVtb3ZlTGlzdGVuZXIoKXtPJiZqPjAmJihxPT1udWxsfHxxKCkpfSxvbkRpZFJlbW92ZUxhc3RMaXN0ZW5lcigpe3E9dm9pZCAwLEUuZGlzcG9zZSgpfX0sZGU9bmV3IEFlKEcpO3JldHVybiBUPT1udWxsfHxULmFkZChkZSksZGUuZXZlbnR9ZS5kZWJvdW5jZT1oO2Z1bmN0aW9uIGQoQyx5PTAsTSl7cmV0dXJuIGUuZGVib3VuY2UoQywoSSxPKT0+ST8oSS5wdXNoKE8pLEkpOltPXSx5LHZvaWQgMCwhMCx2b2lkIDAsTSl9ZS5hY2N1bXVsYXRlPWQ7ZnVuY3Rpb24gZyhDLHk9KEksTyk9Pkk9PT1PLE0pe2xldCBJPSEwLE87cmV0dXJuIHMoQyxWPT57Y29uc3QgVD1JfHwheShWLE8pO3JldHVybiBJPSExLE89VixUfSxNKX1lLmxhdGNoPWc7ZnVuY3Rpb24gbShDLHksTSl7cmV0dXJuW2UuZmlsdGVyKEMseSxNKSxlLmZpbHRlcihDLEk9PiF5KEkpLE0pXX1lLnNwbGl0PW07ZnVuY3Rpb24gdihDLHk9ITEsTT1bXSxJKXtsZXQgTz1NLnNsaWNlKCksVj1DKFA9PntPP08ucHVzaChQKTpFLmZpcmUoUCl9KTtJJiZJLmFkZChWKTtjb25zdCBUPSgpPT57Tz09bnVsbHx8Ty5mb3JFYWNoKFA9PkUuZmlyZShQKSksTz1udWxsfSxFPW5ldyBBZSh7b25XaWxsQWRkRmlyc3RMaXN0ZW5lcigpe1Z8fChWPUMoUD0+RS5maXJlKFApKSxJJiZJLmFkZChWKSl9LG9uRGlkQWRkRmlyc3RMaXN0ZW5lcigpe08mJih5P3NldFRpbWVvdXQoVCk6VCgpKX0sb25EaWRSZW1vdmVMYXN0TGlzdGVuZXIoKXtWJiZWLmRpc3Bvc2UoKSxWPW51bGx9fSk7cmV0dXJuIEkmJkkuYWRkKEUpLEUuZXZlbnR9ZS5idWZmZXI9djtmdW5jdGlvbiBwKEMseSl7cmV0dXJuKEksTyxWKT0+e2NvbnN0IFQ9eShuZXcgeCk7cmV0dXJuIEMoZnVuY3Rpb24oRSl7Y29uc3QgUD1ULmV2YWx1YXRlKEUpO1AhPT1fJiZJLmNhbGwoTyxQKX0sdm9pZCAwLFYpfX1lLmNoYWluPXA7Y29uc3QgXz1TeW1ib2woIkhhbHRDaGFpbmFibGUiKTtjbGFzcyB4e2NvbnN0cnVjdG9yKCl7dGhpcy5zdGVwcz1bXX1tYXAoeSl7cmV0dXJuIHRoaXMuc3RlcHMucHVzaCh5KSx0aGlzfWZvckVhY2goeSl7cmV0dXJuIHRoaXMuc3RlcHMucHVzaChNPT4oeShNKSxNKSksdGhpc31maWx0ZXIoeSl7cmV0dXJuIHRoaXMuc3RlcHMucHVzaChNPT55KE0pP006XyksdGhpc31yZWR1Y2UoeSxNKXtsZXQgST1NO3JldHVybiB0aGlzLnN0ZXBzLnB1c2goTz0+KEk9eShJLE8pLEkpKSx0aGlzfWxhdGNoKHk9KE0sSSk9Pk09PT1JKXtsZXQgTT0hMCxJO3JldHVybiB0aGlzLnN0ZXBzLnB1c2goTz0+e2NvbnN0IFY9TXx8IXkoTyxJKTtyZXR1cm4gTT0hMSxJPU8sVj9POl99KSx0aGlzfWV2YWx1YXRlKHkpe2Zvcihjb25zdCBNIG9mIHRoaXMuc3RlcHMpaWYoeT1NKHkpLHk9PT1fKWJyZWFrO3JldHVybiB5fX1mdW5jdGlvbiBiKEMseSxNPUk9Pkkpe2NvbnN0IEk9KC4uLkUpPT5ULmZpcmUoTSguLi5FKSksTz0oKT0+Qy5vbih5LEkpLFY9KCk9PkMucmVtb3ZlTGlzdGVuZXIoeSxJKSxUPW5ldyBBZSh7b25XaWxsQWRkRmlyc3RMaXN0ZW5lcjpPLG9uRGlkUmVtb3ZlTGFzdExpc3RlbmVyOlZ9KTtyZXR1cm4gVC5ldmVudH1lLmZyb21Ob2RlRXZlbnRFbWl0dGVyPWI7ZnVuY3Rpb24gUyhDLHksTT1JPT5JKXtjb25zdCBJPSguLi5FKT0+VC5maXJlKE0oLi4uRSkpLE89KCk9PkMuYWRkRXZlbnRMaXN0ZW5lcih5LEkpLFY9KCk9PkMucmVtb3ZlRXZlbnRMaXN0ZW5lcih5LEkpLFQ9bmV3IEFlKHtvbldpbGxBZGRGaXJzdExpc3RlbmVyOk8sb25EaWRSZW1vdmVMYXN0TGlzdGVuZXI6Vn0pO3JldHVybiBULmV2ZW50fWUuZnJvbURPTUV2ZW50RW1pdHRlcj1TO2Z1bmN0aW9uIE4oQyl7cmV0dXJuIG5ldyBQcm9taXNlKHk9Pm4oQykoeSkpfWUudG9Qcm9taXNlPU47ZnVuY3Rpb24gdyhDKXtjb25zdCB5PW5ldyBBZTtyZXR1cm4gQy50aGVuKE09Pnt5LmZpcmUoTSl9LCgpPT57eS5maXJlKHZvaWQgMCl9KS5maW5hbGx5KCgpPT57eS5kaXNwb3NlKCl9KSx5LmV2ZW50fWUuZnJvbVByb21pc2U9dztmdW5jdGlvbiBMKEMseSxNKXtyZXR1cm4geShNKSxDKEk9PnkoSSkpfWUucnVuQW5kU3Vic2NyaWJlPUw7Y2xhc3MgQXtjb25zdHJ1Y3Rvcih5LE0pe3RoaXMuX29ic2VydmFibGU9eSx0aGlzLl9jb3VudGVyPTAsdGhpcy5faGFzQ2hhbmdlZD0hMTtjb25zdCBJPXtvbldpbGxBZGRGaXJzdExpc3RlbmVyOigpPT57eS5hZGRPYnNlcnZlcih0aGlzKX0sb25EaWRSZW1vdmVMYXN0TGlzdGVuZXI6KCk9Pnt5LnJlbW92ZU9ic2VydmVyKHRoaXMpfX07dGhpcy5lbWl0dGVyPW5ldyBBZShJKSxNJiZNLmFkZCh0aGlzLmVtaXR0ZXIpfWJlZ2luVXBkYXRlKHkpe3RoaXMuX2NvdW50ZXIrK31oYW5kbGVQb3NzaWJsZUNoYW5nZSh5KXt9aGFuZGxlQ2hhbmdlKHksTSl7dGhpcy5faGFzQ2hhbmdlZD0hMH1lbmRVcGRhdGUoeSl7dGhpcy5fY291bnRlci0tLHRoaXMuX2NvdW50ZXI9PT0wJiYodGhpcy5fb2JzZXJ2YWJsZS5yZXBvcnRDaGFuZ2VzKCksdGhpcy5faGFzQ2hhbmdlZCYmKHRoaXMuX2hhc0NoYW5nZWQ9ITEsdGhpcy5lbWl0dGVyLmZpcmUodGhpcy5fb2JzZXJ2YWJsZS5nZXQoKSkpKX19ZnVuY3Rpb24gUihDLHkpe3JldHVybiBuZXcgQShDLHkpLmVtaXR0ZXIuZXZlbnR9ZS5mcm9tT2JzZXJ2YWJsZT1SO2Z1bmN0aW9uIEYoQyl7cmV0dXJuKHksTSxJKT0+e2xldCBPPTAsVj0hMTtjb25zdCBUPXtiZWdpblVwZGF0ZSgpe08rK30sZW5kVXBkYXRlKCl7Ty0tLE89PT0wJiYoQy5yZXBvcnRDaGFuZ2VzKCksViYmKFY9ITEseS5jYWxsKE0pKSl9LGhhbmRsZVBvc3NpYmxlQ2hhbmdlKCl7fSxoYW5kbGVDaGFuZ2UoKXtWPSEwfX07Qy5hZGRPYnNlcnZlcihUKSxDLnJlcG9ydENoYW5nZXMoKTtjb25zdCBFPXtkaXNwb3NlKCl7Qy5yZW1vdmVPYnNlcnZlcihUKX19O3JldHVybiBJIGluc3RhbmNlb2YgY3Q/SS5hZGQoRSk6QXJyYXkuaXNBcnJheShJKSYmSS5wdXNoKEUpLEV9fWUuZnJvbU9ic2VydmFibGVMaWdodD1GfSkoa258fChrbj17fSkpO2NsYXNzIGZ0e2NvbnN0cnVjdG9yKHQpe3RoaXMubGlzdGVuZXJDb3VudD0wLHRoaXMuaW52b2NhdGlvbkNvdW50PTAsdGhpcy5lbGFwc2VkT3ZlcmFsbD0wLHRoaXMuZHVyYXRpb25zPVtdLHRoaXMubmFtZT1gJHt0fV8ke2Z0Ll9pZFBvb2wrK31gLGZ0LmFsbC5hZGQodGhpcyl9c3RhcnQodCl7dGhpcy5fc3RvcFdhdGNoPW5ldyBadCx0aGlzLmxpc3RlbmVyQ291bnQ9dH1zdG9wKCl7aWYodGhpcy5fc3RvcFdhdGNoKXtjb25zdCB0PXRoaXMuX3N0b3BXYXRjaC5lbGFwc2VkKCk7dGhpcy5kdXJhdGlvbnMucHVzaCh0KSx0aGlzLmVsYXBzZWRPdmVyYWxsKz10LHRoaXMuaW52b2NhdGlvbkNvdW50Kz0xLHRoaXMuX3N0b3BXYXRjaD12b2lkIDB9fX1mdC5hbGw9bmV3IFNldCxmdC5faWRQb29sPTA7bGV0IGphPS0xO2NsYXNzIHFhe2NvbnN0cnVjdG9yKHQsbj1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDE4KS5zbGljZSgyLDUpKXt0aGlzLnRocmVzaG9sZD10LHRoaXMubmFtZT1uLHRoaXMuX3dhcm5Db3VudGRvd249MH1kaXNwb3NlKCl7dmFyIHQ7KHQ9dGhpcy5fc3RhY2tzKT09PW51bGx8fHQ9PT12b2lkIDB8fHQuY2xlYXIoKX1jaGVjayh0LG4pe2NvbnN0IHI9dGhpcy50aHJlc2hvbGQ7aWYocjw9MHx8bjxyKXJldHVybjt0aGlzLl9zdGFja3N8fCh0aGlzLl9zdGFja3M9bmV3IE1hcCk7Y29uc3QgaT10aGlzLl9zdGFja3MuZ2V0KHQudmFsdWUpfHwwO2lmKHRoaXMuX3N0YWNrcy5zZXQodC52YWx1ZSxpKzEpLHRoaXMuX3dhcm5Db3VudGRvd24tPTEsdGhpcy5fd2FybkNvdW50ZG93bjw9MCl7dGhpcy5fd2FybkNvdW50ZG93bj1yKi41O2xldCBzLGE9MDtmb3IoY29uc3RbbyxsXW9mIHRoaXMuX3N0YWNrcykoIXN8fGE8bCkmJihzPW8sYT1sKX1yZXR1cm4oKT0+e2NvbnN0IHM9dGhpcy5fc3RhY2tzLmdldCh0LnZhbHVlKXx8MDt0aGlzLl9zdGFja3Muc2V0KHQudmFsdWUscy0xKX19fWNsYXNzIFJue3N0YXRpYyBjcmVhdGUoKXt2YXIgdDtyZXR1cm4gbmV3IFJuKCh0PW5ldyBFcnJvcigpLnN0YWNrKSE9PW51bGwmJnQhPT12b2lkIDA/dDoiIil9Y29uc3RydWN0b3IodCl7dGhpcy52YWx1ZT10fXByaW50KCl7fX1jbGFzcyBUbntjb25zdHJ1Y3Rvcih0KXt0aGlzLnZhbHVlPXR9fWNvbnN0IEhhPTI7Y2xhc3MgQWV7Y29uc3RydWN0b3IodCl7dmFyIG4scixpLHMsYTt0aGlzLl9zaXplPTAsdGhpcy5fb3B0aW9ucz10LHRoaXMuX2xlYWthZ2VNb249ISgobj10aGlzLl9vcHRpb25zKT09PW51bGx8fG49PT12b2lkIDApJiZuLmxlYWtXYXJuaW5nVGhyZXNob2xkP25ldyBxYSgoaT0ocj10aGlzLl9vcHRpb25zKT09PW51bGx8fHI9PT12b2lkIDA/dm9pZCAwOnIubGVha1dhcm5pbmdUaHJlc2hvbGQpIT09bnVsbCYmaSE9PXZvaWQgMD9pOmphKTp2b2lkIDAsdGhpcy5fcGVyZk1vbj0hKChzPXRoaXMuX29wdGlvbnMpPT09bnVsbHx8cz09PXZvaWQgMCkmJnMuX3Byb2ZOYW1lP25ldyBmdCh0aGlzLl9vcHRpb25zLl9wcm9mTmFtZSk6dm9pZCAwLHRoaXMuX2RlbGl2ZXJ5UXVldWU9KGE9dGhpcy5fb3B0aW9ucyk9PT1udWxsfHxhPT09dm9pZCAwP3ZvaWQgMDphLmRlbGl2ZXJ5UXVldWV9ZGlzcG9zZSgpe3ZhciB0LG4scixpO3RoaXMuX2Rpc3Bvc2VkfHwodGhpcy5fZGlzcG9zZWQ9ITAsKCh0PXRoaXMuX2RlbGl2ZXJ5UXVldWUpPT09bnVsbHx8dD09PXZvaWQgMD92b2lkIDA6dC5jdXJyZW50KT09PXRoaXMmJnRoaXMuX2RlbGl2ZXJ5UXVldWUucmVzZXQoKSx0aGlzLl9saXN0ZW5lcnMmJih0aGlzLl9saXN0ZW5lcnM9dm9pZCAwLHRoaXMuX3NpemU9MCksKHI9KG49dGhpcy5fb3B0aW9ucyk9PT1udWxsfHxuPT09dm9pZCAwP3ZvaWQgMDpuLm9uRGlkUmVtb3ZlTGFzdExpc3RlbmVyKT09PW51bGx8fHI9PT12b2lkIDB8fHIuY2FsbChuKSwoaT10aGlzLl9sZWFrYWdlTW9uKT09PW51bGx8fGk9PT12b2lkIDB8fGkuZGlzcG9zZSgpKX1nZXQgZXZlbnQoKXt2YXIgdDtyZXR1cm4odD10aGlzLl9ldmVudCkhPT1udWxsJiZ0IT09dm9pZCAwfHwodGhpcy5fZXZlbnQ9KG4scixpKT0+e3ZhciBzLGEsbyxsLHU7aWYodGhpcy5fbGVha2FnZU1vbiYmdGhpcy5fc2l6ZT50aGlzLl9sZWFrYWdlTW9uLnRocmVzaG9sZCozfHx0aGlzLl9kaXNwb3NlZClyZXR1cm4ga3QuTm9uZTtyJiYobj1uLmJpbmQocikpO2NvbnN0IGY9bmV3IFRuKG4pO2xldCBoO3RoaXMuX2xlYWthZ2VNb24mJnRoaXMuX3NpemU+PU1hdGguY2VpbCh0aGlzLl9sZWFrYWdlTW9uLnRocmVzaG9sZCouMikmJihmLnN0YWNrPVJuLmNyZWF0ZSgpLGg9dGhpcy5fbGVha2FnZU1vbi5jaGVjayhmLnN0YWNrLHRoaXMuX3NpemUrMSkpLHRoaXMuX2xpc3RlbmVycz90aGlzLl9saXN0ZW5lcnMgaW5zdGFuY2VvZiBUbj8oKHU9dGhpcy5fZGVsaXZlcnlRdWV1ZSkhPT1udWxsJiZ1IT09dm9pZCAwfHwodGhpcy5fZGVsaXZlcnlRdWV1ZT1uZXcgJGEpLHRoaXMuX2xpc3RlbmVycz1bdGhpcy5fbGlzdGVuZXJzLGZdKTp0aGlzLl9saXN0ZW5lcnMucHVzaChmKTooKGE9KHM9dGhpcy5fb3B0aW9ucyk9PT1udWxsfHxzPT09dm9pZCAwP3ZvaWQgMDpzLm9uV2lsbEFkZEZpcnN0TGlzdGVuZXIpPT09bnVsbHx8YT09PXZvaWQgMHx8YS5jYWxsKHMsdGhpcyksdGhpcy5fbGlzdGVuZXJzPWYsKGw9KG89dGhpcy5fb3B0aW9ucyk9PT1udWxsfHxvPT09dm9pZCAwP3ZvaWQgMDpvLm9uRGlkQWRkRmlyc3RMaXN0ZW5lcik9PT1udWxsfHxsPT09dm9pZCAwfHxsLmNhbGwobyx0aGlzKSksdGhpcy5fc2l6ZSsrO2NvbnN0IGQ9UXQoKCk9PntoPT1udWxsfHxoKCksdGhpcy5fcmVtb3ZlTGlzdGVuZXIoZil9KTtyZXR1cm4gaSBpbnN0YW5jZW9mIGN0P2kuYWRkKGQpOkFycmF5LmlzQXJyYXkoaSkmJmkucHVzaChkKSxkfSksdGhpcy5fZXZlbnR9X3JlbW92ZUxpc3RlbmVyKHQpe3ZhciBuLHIsaSxzO2lmKChyPShuPXRoaXMuX29wdGlvbnMpPT09bnVsbHx8bj09PXZvaWQgMD92b2lkIDA6bi5vbldpbGxSZW1vdmVMaXN0ZW5lcik9PT1udWxsfHxyPT09dm9pZCAwfHxyLmNhbGwobix0aGlzKSwhdGhpcy5fbGlzdGVuZXJzKXJldHVybjtpZih0aGlzLl9zaXplPT09MSl7dGhpcy5fbGlzdGVuZXJzPXZvaWQgMCwocz0oaT10aGlzLl9vcHRpb25zKT09PW51bGx8fGk9PT12b2lkIDA/dm9pZCAwOmkub25EaWRSZW1vdmVMYXN0TGlzdGVuZXIpPT09bnVsbHx8cz09PXZvaWQgMHx8cy5jYWxsKGksdGhpcyksdGhpcy5fc2l6ZT0wO3JldHVybn1jb25zdCBhPXRoaXMuX2xpc3RlbmVycyxvPWEuaW5kZXhPZih0KTtpZihvPT09LTEpdGhyb3cgbmV3IEVycm9yKCJBdHRlbXB0ZWQgdG8gZGlzcG9zZSB1bmtub3duIGxpc3RlbmVyIik7dGhpcy5fc2l6ZS0tLGFbb109dm9pZCAwO2NvbnN0IGw9dGhpcy5fZGVsaXZlcnlRdWV1ZS5jdXJyZW50PT09dGhpcztpZih0aGlzLl9zaXplKkhhPD1hLmxlbmd0aCl7bGV0IHU9MDtmb3IobGV0IGY9MDtmPGEubGVuZ3RoO2YrKylhW2ZdP2FbdSsrXT1hW2ZdOmwmJih0aGlzLl9kZWxpdmVyeVF1ZXVlLmVuZC0tLHU8dGhpcy5fZGVsaXZlcnlRdWV1ZS5pJiZ0aGlzLl9kZWxpdmVyeVF1ZXVlLmktLSk7YS5sZW5ndGg9dX19X2RlbGl2ZXIodCxuKXt2YXIgcjtpZighdClyZXR1cm47Y29uc3QgaT0oKHI9dGhpcy5fb3B0aW9ucyk9PT1udWxsfHxyPT09dm9pZCAwP3ZvaWQgMDpyLm9uTGlzdGVuZXJFcnJvcil8fERyO2lmKCFpKXt0LnZhbHVlKG4pO3JldHVybn10cnl7dC52YWx1ZShuKX1jYXRjaChzKXtpKHMpfX1fZGVsaXZlclF1ZXVlKHQpe2NvbnN0IG49dC5jdXJyZW50Ll9saXN0ZW5lcnM7Zm9yKDt0Lmk8dC5lbmQ7KXRoaXMuX2RlbGl2ZXIoblt0LmkrK10sdC52YWx1ZSk7dC5yZXNldCgpfWZpcmUodCl7dmFyIG4scixpLHM7aWYoISgobj10aGlzLl9kZWxpdmVyeVF1ZXVlKT09PW51bGx8fG49PT12b2lkIDApJiZuLmN1cnJlbnQmJih0aGlzLl9kZWxpdmVyUXVldWUodGhpcy5fZGVsaXZlcnlRdWV1ZSksKHI9dGhpcy5fcGVyZk1vbik9PT1udWxsfHxyPT09dm9pZCAwfHxyLnN0b3AoKSksKGk9dGhpcy5fcGVyZk1vbik9PT1udWxsfHxpPT09dm9pZCAwfHxpLnN0YXJ0KHRoaXMuX3NpemUpLHRoaXMuX2xpc3RlbmVycylpZih0aGlzLl9saXN0ZW5lcnMgaW5zdGFuY2VvZiBUbil0aGlzLl9kZWxpdmVyKHRoaXMuX2xpc3RlbmVycyx0KTtlbHNle2NvbnN0IGE9dGhpcy5fZGVsaXZlcnlRdWV1ZTthLmVucXVldWUodGhpcyx0LHRoaXMuX2xpc3RlbmVycy5sZW5ndGgpLHRoaXMuX2RlbGl2ZXJRdWV1ZShhKX0ocz10aGlzLl9wZXJmTW9uKT09PW51bGx8fHM9PT12b2lkIDB8fHMuc3RvcCgpfWhhc0xpc3RlbmVycygpe3JldHVybiB0aGlzLl9zaXplPjB9fWNsYXNzICRhe2NvbnN0cnVjdG9yKCl7dGhpcy5pPS0xLHRoaXMuZW5kPTB9ZW5xdWV1ZSh0LG4scil7dGhpcy5pPTAsdGhpcy5lbmQ9cix0aGlzLmN1cnJlbnQ9dCx0aGlzLnZhbHVlPW59cmVzZXQoKXt0aGlzLmk9dGhpcy5lbmQsdGhpcy5jdXJyZW50PXZvaWQgMCx0aGlzLnZhbHVlPXZvaWQgMH19ZnVuY3Rpb24gV2EoZSl7cmV0dXJuIHR5cGVvZiBlPT0ic3RyaW5nIn1mdW5jdGlvbiB6YShlKXtsZXQgdD1bXTtmb3IoO09iamVjdC5wcm90b3R5cGUhPT1lOyl0PXQuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGUpKSxlPU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTtyZXR1cm4gdH1mdW5jdGlvbiBNbihlKXtjb25zdCB0PVtdO2Zvcihjb25zdCBuIG9mIHphKGUpKXR5cGVvZiBlW25dPT0iZnVuY3Rpb24iJiZ0LnB1c2gobik7cmV0dXJuIHR9ZnVuY3Rpb24gR2EoZSx0KXtjb25zdCBuPWk9PmZ1bmN0aW9uKCl7Y29uc3Qgcz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMCk7cmV0dXJuIHQoaSxzKX0scj17fTtmb3IoY29uc3QgaSBvZiBlKXJbaV09bihpKTtyZXR1cm4gcn1sZXQgSmE9dHlwZW9mIGRvY3VtZW50PCJ1IiYmZG9jdW1lbnQubG9jYXRpb24mJmRvY3VtZW50LmxvY2F0aW9uLmhhc2guaW5kZXhPZigicHNldWRvPXRydWUiKT49MDtmdW5jdGlvbiBYYShlLHQpe2xldCBuO3JldHVybiB0Lmxlbmd0aD09PTA/bj1lOm49ZS5yZXBsYWNlKC9ceyhcZCspXH0vZywocixpKT0+e2NvbnN0IHM9aVswXSxhPXRbc107bGV0IG89cjtyZXR1cm4gdHlwZW9mIGE9PSJzdHJpbmciP289YToodHlwZW9mIGE9PSJudW1iZXIifHx0eXBlb2YgYT09ImJvb2xlYW4ifHxhPT09dm9pZCAwfHxhPT09bnVsbCkmJihvPVN0cmluZyhhKSksb30pLEphJiYobj0i77y7IituLnJlcGxhY2UoL1thb3VlaV0vZywiJCYkJiIpKyLvvL0iKSxufWZ1bmN0aW9uIFEoZSx0LC4uLm4pe3JldHVybiBYYSh0LG4pfWZ1bmN0aW9uIGhjKGUpe312YXIgUG4sSW47Y29uc3QgaHQ9ImVuIjtsZXQgRm49ITEsRG49ITEsT249ITEsS3QsVm49aHQsVXI9aHQsWWEsQ2U7Y29uc3QgbnQ9Z2xvYmFsVGhpcztsZXQgdWU7dHlwZW9mIG50LnZzY29kZTwidSImJnR5cGVvZiBudC52c2NvZGUucHJvY2VzczwidSI/dWU9bnQudnNjb2RlLnByb2Nlc3M6dHlwZW9mIHByb2Nlc3M8InUiJiZ0eXBlb2YoKFBuPXByb2Nlc3M9PW51bGw/dm9pZCAwOnByb2Nlc3MudmVyc2lvbnMpPT09bnVsbHx8UG49PT12b2lkIDA/dm9pZCAwOlBuLm5vZGUpPT0ic3RyaW5nIiYmKHVlPXByb2Nlc3MpO2NvbnN0IFFhPXR5cGVvZigoSW49dWU9PW51bGw/dm9pZCAwOnVlLnZlcnNpb25zKT09PW51bGx8fEluPT09dm9pZCAwP3ZvaWQgMDpJbi5lbGVjdHJvbik9PSJzdHJpbmciJiYodWU9PW51bGw/dm9pZCAwOnVlLnR5cGUpPT09InJlbmRlcmVyIjtpZih0eXBlb2YgdWU9PSJvYmplY3QiKXtGbj11ZS5wbGF0Zm9ybT09PSJ3aW4zMiIsRG49dWUucGxhdGZvcm09PT0iZGFyd2luIixPbj11ZS5wbGF0Zm9ybT09PSJsaW51eCIsT24mJnVlLmVudi5TTkFQJiZ1ZS5lbnYuU05BUF9SRVZJU0lPTix1ZS5lbnYuQ0l8fHVlLmVudi5CVUlMRF9BUlRJRkFDVFNUQUdJTkdESVJFQ1RPUlksS3Q9aHQsVm49aHQ7Y29uc3QgZT11ZS5lbnYuVlNDT0RFX05MU19DT05GSUc7aWYoZSl0cnl7Y29uc3QgdD1KU09OLnBhcnNlKGUpLG49dC5hdmFpbGFibGVMYW5ndWFnZXNbIioiXTtLdD10LmxvY2FsZSxVcj10Lm9zTG9jYWxlLFZuPW58fGh0LFlhPXQuX3RyYW5zbGF0aW9uc0NvbmZpZ0ZpbGV9Y2F0Y2h7fX1lbHNlIHR5cGVvZiBuYXZpZ2F0b3I9PSJvYmplY3QiJiYhUWEmJihDZT1uYXZpZ2F0b3IudXNlckFnZW50LEZuPUNlLmluZGV4T2YoIldpbmRvd3MiKT49MCxEbj1DZS5pbmRleE9mKCJNYWNpbnRvc2giKT49MCwoQ2UuaW5kZXhPZigiTWFjaW50b3NoIik+PTB8fENlLmluZGV4T2YoImlQYWQiKT49MHx8Q2UuaW5kZXhPZigiaVBob25lIik+PTApJiZuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMmJm5hdmlnYXRvci5tYXhUb3VjaFBvaW50cz4wLE9uPUNlLmluZGV4T2YoIkxpbnV4Iik+PTAsKENlPT1udWxsP3ZvaWQgMDpDZS5pbmRleE9mKCJNb2JpIikpPj0wLFEoe2tleToiZW5zdXJlTG9hZGVyUGx1Z2luSXNMb2FkZWQiLGNvbW1lbnQ6WyJ7TG9ja2VkfSJdfSwiXyIpLEt0PWh0LFZuPUt0LFVyPW5hdmlnYXRvci5sYW5ndWFnZSk7Y29uc3QgUnQ9Rm4sWmE9RG4sTWU9Q2UsS2E9dHlwZW9mIG50LnBvc3RNZXNzYWdlPT0iZnVuY3Rpb24iJiYhbnQuaW1wb3J0U2NyaXB0czsoKCk9PntpZihLYSl7Y29uc3QgZT1bXTtudC5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixuPT57aWYobi5kYXRhJiZuLmRhdGEudnNjb2RlU2NoZWR1bGVBc3luY1dvcmspZm9yKGxldCByPTAsaT1lLmxlbmd0aDtyPGk7cisrKXtjb25zdCBzPWVbcl07aWYocy5pZD09PW4uZGF0YS52c2NvZGVTY2hlZHVsZUFzeW5jV29yayl7ZS5zcGxpY2UociwxKSxzLmNhbGxiYWNrKCk7cmV0dXJufX19KTtsZXQgdD0wO3JldHVybiBuPT57Y29uc3Qgcj0rK3Q7ZS5wdXNoKHtpZDpyLGNhbGxiYWNrOm59KSxudC5wb3N0TWVzc2FnZSh7dnNjb2RlU2NoZWR1bGVBc3luY1dvcms6cn0sIioiKX19cmV0dXJuIGU9PnNldFRpbWVvdXQoZSl9KSgpO2NvbnN0IGVvPSEhKE1lJiZNZS5pbmRleE9mKCJDaHJvbWUiKT49MCk7TWUmJk1lLmluZGV4T2YoIkZpcmVmb3giKT49MCwhZW8mJk1lJiZNZS5pbmRleE9mKCJTYWZhcmkiKT49MCxNZSYmTWUuaW5kZXhPZigiRWRnLyIpPj0wLE1lJiZNZS5pbmRleE9mKCJBbmRyb2lkIik+PTA7Y2xhc3MgdG97Y29uc3RydWN0b3IodCxuPUpTT04uc3RyaW5naWZ5KXt0aGlzLmZuPXQsdGhpcy5fY29tcHV0ZUtleT1uLHRoaXMubGFzdENhY2hlPXZvaWQgMCx0aGlzLmxhc3RBcmdLZXk9dm9pZCAwfWdldCh0KXtjb25zdCBuPXRoaXMuX2NvbXB1dGVLZXkodCk7cmV0dXJuIHRoaXMubGFzdEFyZ0tleSE9PW4mJih0aGlzLmxhc3RBcmdLZXk9bix0aGlzLmxhc3RDYWNoZT10aGlzLmZuKHQpKSx0aGlzLmxhc3RDYWNoZX19Y2xhc3MgQnJ7Y29uc3RydWN0b3IodCl7dGhpcy5leGVjdXRvcj10LHRoaXMuX2RpZFJ1bj0hMX1nZXQgdmFsdWUoKXtpZighdGhpcy5fZGlkUnVuKXRyeXt0aGlzLl92YWx1ZT10aGlzLmV4ZWN1dG9yKCl9Y2F0Y2godCl7dGhpcy5fZXJyb3I9dH1maW5hbGx5e3RoaXMuX2RpZFJ1bj0hMH1pZih0aGlzLl9lcnJvcil0aHJvdyB0aGlzLl9lcnJvcjtyZXR1cm4gdGhpcy5fdmFsdWV9Z2V0IHJhd1ZhbHVlKCl7cmV0dXJuIHRoaXMuX3ZhbHVlfX12YXIgZHQ7ZnVuY3Rpb24gbm8oZSl7cmV0dXJuIGUucmVwbGFjZSgvW1xcXHtcfVwqXCtcP1x8XF5cJFwuXFtcXVwoXCldL2csIlxcJCYiKX1mdW5jdGlvbiBybyhlKXtyZXR1cm4gZS5zcGxpdCgvXHJcbnxccnxcbi8pfWZ1bmN0aW9uIGlvKGUpe2ZvcihsZXQgdD0wLG49ZS5sZW5ndGg7dDxuO3QrKyl7Y29uc3Qgcj1lLmNoYXJDb2RlQXQodCk7aWYociE9PTMyJiZyIT09OSlyZXR1cm4gdH1yZXR1cm4tMX1mdW5jdGlvbiBzbyhlLHQ9ZS5sZW5ndGgtMSl7Zm9yKGxldCBuPXQ7bj49MDtuLS0pe2NvbnN0IHI9ZS5jaGFyQ29kZUF0KG4pO2lmKHIhPT0zMiYmciE9PTkpcmV0dXJuIG59cmV0dXJuLTF9ZnVuY3Rpb24ganIoZSl7cmV0dXJuIGU+PTY1JiZlPD05MH1mdW5jdGlvbiBVbihlKXtyZXR1cm4gNTUyOTY8PWUmJmU8PTU2MzE5fWZ1bmN0aW9uIGFvKGUpe3JldHVybiA1NjMyMDw9ZSYmZTw9NTczNDN9ZnVuY3Rpb24gb28oZSx0KXtyZXR1cm4oZS01NTI5Njw8MTApKyh0LTU2MzIwKSs2NTUzNn1mdW5jdGlvbiBsbyhlLHQsbil7Y29uc3Qgcj1lLmNoYXJDb2RlQXQobik7aWYoVW4ocikmJm4rMTx0KXtjb25zdCBpPWUuY2hhckNvZGVBdChuKzEpO2lmKGFvKGkpKXJldHVybiBvbyhyLGkpfXJldHVybiByfWNvbnN0IHVvPS9eW1x0XG5cclx4MjAtXHg3RV0qJC87ZnVuY3Rpb24gY28oZSl7cmV0dXJuIHVvLnRlc3QoZSl9Y2xhc3MgcnR7c3RhdGljIGdldEluc3RhbmNlKHQpe3JldHVybiBkdC5jYWNoZS5nZXQoQXJyYXkuZnJvbSh0KSl9c3RhdGljIGdldExvY2FsZXMoKXtyZXR1cm4gZHQuX2xvY2FsZXMudmFsdWV9Y29uc3RydWN0b3IodCl7dGhpcy5jb25mdXNhYmxlRGljdGlvbmFyeT10fWlzQW1iaWd1b3VzKHQpe3JldHVybiB0aGlzLmNvbmZ1c2FibGVEaWN0aW9uYXJ5Lmhhcyh0KX1nZXRQcmltYXJ5Q29uZnVzYWJsZSh0KXtyZXR1cm4gdGhpcy5jb25mdXNhYmxlRGljdGlvbmFyeS5nZXQodCl9Z2V0Q29uZnVzYWJsZUNvZGVQb2ludHMoKXtyZXR1cm4gbmV3IFNldCh0aGlzLmNvbmZ1c2FibGVEaWN0aW9uYXJ5LmtleXMoKSl9fWR0PXJ0LHJ0LmFtYmlndW91c0NoYXJhY3RlckRhdGE9bmV3IEJyKCgpPT5KU09OLnBhcnNlKCd7Il9jb21tb24iOls4MjMyLDMyLDgyMzMsMzIsNTc2MCwzMiw4MTkyLDMyLDgxOTMsMzIsODE5NCwzMiw4MTk1LDMyLDgxOTYsMzIsODE5NywzMiw4MTk4LDMyLDgyMDAsMzIsODIwMSwzMiw4MjAyLDMyLDgyODcsMzIsODE5OSwzMiw4MjM5LDMyLDIwNDIsOTUsNjUxMDEsOTUsNjUxMDIsOTUsNjUxMDMsOTUsODIwOCw0NSw4MjA5LDQ1LDgyMTAsNDUsNjUxMTIsNDUsMTc0OCw0NSw4MjU5LDQ1LDcyNyw0NSw4NzIyLDQ1LDEwMTM0LDQ1LDExNDUwLDQ1LDE1NDksNDQsMTY0Myw0NCw4MjE4LDQ0LDE4NCw0NCw0MjIzMyw0NCw4OTQsNTksMjMwNyw1OCwyNjkxLDU4LDE0MTcsNTgsMTc5NSw1OCwxNzk2LDU4LDU4NjgsNTgsNjUwNzIsNTgsNjE0Nyw1OCw2MTUzLDU4LDgyODIsNTgsMTQ3NSw1OCw3NjAsNTgsNDI4ODksNTgsODc1OCw1OCw3MjAsNTgsNDIyMzcsNTgsNDUxLDMzLDExNjAxLDMzLDY2MCw2Myw1NzcsNjMsMjQyOSw2Myw1MDM4LDYzLDQyNzMxLDYzLDExOTE0OSw0Niw4MjI4LDQ2LDE3OTMsNDYsMTc5NCw0Niw0MjUxMCw0Niw2ODE3Niw0NiwxNjMyLDQ2LDE3NzYsNDYsNDIyMzIsNDYsMTM3Myw5Niw2NTI4Nyw5Niw4MjE5LDk2LDgyNDIsOTYsMTM3MCw5NiwxNTIzLDk2LDgxNzUsOTYsNjUzNDQsOTYsOTAwLDk2LDgxODksOTYsODEyNSw5Niw4MTI3LDk2LDgxOTAsOTYsNjk3LDk2LDg4NCw5Niw3MTIsOTYsNzE0LDk2LDcxNSw5Niw3NTYsOTYsNjk5LDk2LDcwMSw5Niw3MDAsOTYsNzAyLDk2LDQyODkyLDk2LDE0OTcsOTYsMjAzNiw5NiwyMDM3LDk2LDUxOTQsOTYsNTgzNiw5Niw5NDAzMyw5Niw5NDAzNCw5Niw2NTMzOSw5MSwxMDA4OCw0MCwxMDA5OCw0MCwxMjMwOCw0MCw2NDgzMCw0MCw2NTM0MSw5MywxMDA4OSw0MSwxMDA5OSw0MSwxMjMwOSw0MSw2NDgzMSw0MSwxMDEwMCwxMjMsMTE5MDYwLDEyMywxMDEwMSwxMjUsNjUzNDIsOTQsODI3MCw0MiwxNjQ1LDQyLDg3MjcsNDIsNjYzMzUsNDIsNTk0MSw0Nyw4MjU3LDQ3LDg3MjUsNDcsODI2MCw0Nyw5NTg1LDQ3LDEwMTg3LDQ3LDEwNzQ0LDQ3LDExOTM1NCw0NywxMjc1NSw0NywxMjMzOSw0NywxMTQ2Miw0NywyMDAzMSw0NywxMjAzNSw0Nyw2NTM0MCw5Miw2NTEyOCw5Miw4NzI2LDkyLDEwMTg5LDkyLDEwNzQxLDkyLDEwNzQ1LDkyLDExOTMxMSw5MiwxMTkzNTUsOTIsMTI3NTYsOTIsMjAwMjIsOTIsMTIwMzQsOTIsNDI4NzIsMzgsNzA4LDk0LDcxMCw5NCw1ODY5LDQzLDEwMTMzLDQzLDY2MjAzLDQzLDgyNDksNjAsMTAwOTQsNjAsNzA2LDYwLDExOTM1MCw2MCw1MTc2LDYwLDU4MTAsNjAsNTEyMCw2MSwxMTg0MCw2MSwxMjQ0OCw2MSw0MjIzOSw2MSw4MjUwLDYyLDEwMDk1LDYyLDcwNyw2MiwxMTkzNTEsNjIsNTE3MSw2Miw5NDAxNSw2Miw4Mjc1LDEyNiw3MzIsMTI2LDgxMjgsMTI2LDg3NjQsMTI2LDY1MzcyLDEyNCw2NTI5Myw0NSwxMjA3ODQsNTAsMTIwNzk0LDUwLDEyMDgwNCw1MCwxMjA4MTQsNTAsMTIwODI0LDUwLDEzMDAzNCw1MCw0Mjg0Miw1MCw0MjMsNTAsMTAwMCw1MCw0MjU2NCw1MCw1MzExLDUwLDQyNzM1LDUwLDExOTMwMiw1MSwxMjA3ODUsNTEsMTIwNzk1LDUxLDEyMDgwNSw1MSwxMjA4MTUsNTEsMTIwODI1LDUxLDEzMDAzNSw1MSw0MjkyMyw1MSw1NDAsNTEsNDM5LDUxLDQyODU4LDUxLDExNDY4LDUxLDEyNDgsNTEsOTQwMTEsNTEsNzE4ODIsNTEsMTIwNzg2LDUyLDEyMDc5Niw1MiwxMjA4MDYsNTIsMTIwODE2LDUyLDEyMDgyNiw1MiwxMzAwMzYsNTIsNTA3MCw1Miw3MTg1NSw1MiwxMjA3ODcsNTMsMTIwNzk3LDUzLDEyMDgwNyw1MywxMjA4MTcsNTMsMTIwODI3LDUzLDEzMDAzNyw1Myw0NDQsNTMsNzE4NjcsNTMsMTIwNzg4LDU0LDEyMDc5OCw1NCwxMjA4MDgsNTQsMTIwODE4LDU0LDEyMDgyOCw1NCwxMzAwMzgsNTQsMTE0NzQsNTQsNTEwMiw1NCw3MTg5Myw1NCwxMTkzMTQsNTUsMTIwNzg5LDU1LDEyMDc5OSw1NSwxMjA4MDksNTUsMTIwODE5LDU1LDEyMDgyOSw1NSwxMzAwMzksNTUsNjY3NzAsNTUsNzE4NzgsNTUsMjgxOSw1NiwyNTM4LDU2LDI2NjYsNTYsMTI1MTMxLDU2LDEyMDc5MCw1NiwxMjA4MDAsNTYsMTIwODEwLDU2LDEyMDgyMCw1NiwxMjA4MzAsNTYsMTMwMDQwLDU2LDU0Nyw1Niw1NDYsNTYsNjYzMzAsNTYsMjY2Myw1NywyOTIwLDU3LDI1NDEsNTcsMzQzNyw1NywxMjA3OTEsNTcsMTIwODAxLDU3LDEyMDgxMSw1NywxMjA4MjEsNTcsMTIwODMxLDU3LDEzMDA0MSw1Nyw0Mjg2Miw1NywxMTQ2Niw1Nyw3MTg4NCw1Nyw3MTg1Miw1Nyw3MTg5NCw1Nyw5MDgyLDk3LDY1MzQ1LDk3LDExOTgzNCw5NywxMTk4ODYsOTcsMTE5OTM4LDk3LDExOTk5MCw5NywxMjAwNDIsOTcsMTIwMDk0LDk3LDEyMDE0Niw5NywxMjAxOTgsOTcsMTIwMjUwLDk3LDEyMDMwMiw5NywxMjAzNTQsOTcsMTIwNDA2LDk3LDEyMDQ1OCw5Nyw1OTMsOTcsOTQ1LDk3LDEyMDUxNCw5NywxMjA1NzIsOTcsMTIwNjMwLDk3LDEyMDY4OCw5NywxMjA3NDYsOTcsNjUzMTMsNjUsMTE5ODA4LDY1LDExOTg2MCw2NSwxMTk5MTIsNjUsMTE5OTY0LDY1LDEyMDAxNiw2NSwxMjAwNjgsNjUsMTIwMTIwLDY1LDEyMDE3Miw2NSwxMjAyMjQsNjUsMTIwMjc2LDY1LDEyMDMyOCw2NSwxMjAzODAsNjUsMTIwNDMyLDY1LDkxMyw2NSwxMjA0ODgsNjUsMTIwNTQ2LDY1LDEyMDYwNCw2NSwxMjA2NjIsNjUsMTIwNzIwLDY1LDUwMzQsNjUsNTU3Myw2NSw0MjIyMiw2NSw5NDAxNiw2NSw2NjIwOCw2NSwxMTk4MzUsOTgsMTE5ODg3LDk4LDExOTkzOSw5OCwxMTk5OTEsOTgsMTIwMDQzLDk4LDEyMDA5NSw5OCwxMjAxNDcsOTgsMTIwMTk5LDk4LDEyMDI1MSw5OCwxMjAzMDMsOTgsMTIwMzU1LDk4LDEyMDQwNyw5OCwxMjA0NTksOTgsMzg4LDk4LDUwNzEsOTgsNTIzNCw5OCw1NTUxLDk4LDY1MzE0LDY2LDg0OTIsNjYsMTE5ODA5LDY2LDExOTg2MSw2NiwxMTk5MTMsNjYsMTIwMDE3LDY2LDEyMDA2OSw2NiwxMjAxMjEsNjYsMTIwMTczLDY2LDEyMDIyNSw2NiwxMjAyNzcsNjYsMTIwMzI5LDY2LDEyMDM4MSw2NiwxMjA0MzMsNjYsNDI5MzIsNjYsOTE0LDY2LDEyMDQ4OSw2NiwxMjA1NDcsNjYsMTIwNjA1LDY2LDEyMDY2Myw2NiwxMjA3MjEsNjYsNTEwOCw2Niw1NjIzLDY2LDQyMTkyLDY2LDY2MTc4LDY2LDY2MjA5LDY2LDY2MzA1LDY2LDY1MzQ3LDk5LDg1NzMsOTksMTE5ODM2LDk5LDExOTg4OCw5OSwxMTk5NDAsOTksMTE5OTkyLDk5LDEyMDA0NCw5OSwxMjAwOTYsOTksMTIwMTQ4LDk5LDEyMDIwMCw5OSwxMjAyNTIsOTksMTIwMzA0LDk5LDEyMDM1Niw5OSwxMjA0MDgsOTksMTIwNDYwLDk5LDc0MjgsOTksMTAxMCw5OSwxMTQyOSw5OSw0Mzk1MSw5OSw2NjYyMSw5OSwxMjg4NDQsNjcsNzE5MjIsNjcsNzE5MTMsNjcsNjUzMTUsNjcsODU1Nyw2Nyw4NDUwLDY3LDg0OTMsNjcsMTE5ODEwLDY3LDExOTg2Miw2NywxMTk5MTQsNjcsMTE5OTY2LDY3LDEyMDAxOCw2NywxMjAxNzQsNjcsMTIwMjI2LDY3LDEyMDI3OCw2NywxMjAzMzAsNjcsMTIwMzgyLDY3LDEyMDQzNCw2NywxMDE3LDY3LDExNDI4LDY3LDUwODcsNjcsNDIyMDIsNjcsNjYyMTAsNjcsNjYzMDYsNjcsNjY1ODEsNjcsNjY4NDQsNjcsODU3NCwxMDAsODUxOCwxMDAsMTE5ODM3LDEwMCwxMTk4ODksMTAwLDExOTk0MSwxMDAsMTE5OTkzLDEwMCwxMjAwNDUsMTAwLDEyMDA5NywxMDAsMTIwMTQ5LDEwMCwxMjAyMDEsMTAwLDEyMDI1MywxMDAsMTIwMzA1LDEwMCwxMjAzNTcsMTAwLDEyMDQwOSwxMDAsMTIwNDYxLDEwMCwxMjgxLDEwMCw1MDk1LDEwMCw1MjMxLDEwMCw0MjE5NCwxMDAsODU1OCw2OCw4NTE3LDY4LDExOTgxMSw2OCwxMTk4NjMsNjgsMTE5OTE1LDY4LDExOTk2Nyw2OCwxMjAwMTksNjgsMTIwMDcxLDY4LDEyMDEyMyw2OCwxMjAxNzUsNjgsMTIwMjI3LDY4LDEyMDI3OSw2OCwxMjAzMzEsNjgsMTIwMzgzLDY4LDEyMDQzNSw2OCw1MDI0LDY4LDU1OTgsNjgsNTYxMCw2OCw0MjE5NSw2OCw4NDk0LDEwMSw2NTM0OSwxMDEsODQ5NSwxMDEsODUxOSwxMDEsMTE5ODM4LDEwMSwxMTk4OTAsMTAxLDExOTk0MiwxMDEsMTIwMDQ2LDEwMSwxMjAwOTgsMTAxLDEyMDE1MCwxMDEsMTIwMjAyLDEwMSwxMjAyNTQsMTAxLDEyMDMwNiwxMDEsMTIwMzU4LDEwMSwxMjA0MTAsMTAxLDEyMDQ2MiwxMDEsNDM4MjYsMTAxLDEyMTMsMTAxLDg5NTksNjksNjUzMTcsNjksODQ5Niw2OSwxMTk4MTIsNjksMTE5ODY0LDY5LDExOTkxNiw2OSwxMjAwMjAsNjksMTIwMDcyLDY5LDEyMDEyNCw2OSwxMjAxNzYsNjksMTIwMjI4LDY5LDEyMDI4MCw2OSwxMjAzMzIsNjksMTIwMzg0LDY5LDEyMDQzNiw2OSw5MTcsNjksMTIwNDkyLDY5LDEyMDU1MCw2OSwxMjA2MDgsNjksMTIwNjY2LDY5LDEyMDcyNCw2OSwxMTU3Nyw2OSw1MDM2LDY5LDQyMjI0LDY5LDcxODQ2LDY5LDcxODU0LDY5LDY2MTgyLDY5LDExOTgzOSwxMDIsMTE5ODkxLDEwMiwxMTk5NDMsMTAyLDExOTk5NSwxMDIsMTIwMDQ3LDEwMiwxMjAwOTksMTAyLDEyMDE1MSwxMDIsMTIwMjAzLDEwMiwxMjAyNTUsMTAyLDEyMDMwNywxMDIsMTIwMzU5LDEwMiwxMjA0MTEsMTAyLDEyMDQ2MywxMDIsNDM4MjksMTAyLDQyOTA1LDEwMiwzODMsMTAyLDc4MzcsMTAyLDE0MTIsMTAyLDExOTMxNSw3MCw4NDk3LDcwLDExOTgxMyw3MCwxMTk4NjUsNzAsMTE5OTE3LDcwLDEyMDAyMSw3MCwxMjAwNzMsNzAsMTIwMTI1LDcwLDEyMDE3Nyw3MCwxMjAyMjksNzAsMTIwMjgxLDcwLDEyMDMzMyw3MCwxMjAzODUsNzAsMTIwNDM3LDcwLDQyOTA0LDcwLDk4OCw3MCwxMjA3NzgsNzAsNTU1Niw3MCw0MjIwNSw3MCw3MTg3NCw3MCw3MTg0Miw3MCw2NjE4Myw3MCw2NjIxMyw3MCw2Njg1Myw3MCw2NTM1MSwxMDMsODQ1OCwxMDMsMTE5ODQwLDEwMywxMTk4OTIsMTAzLDExOTk0NCwxMDMsMTIwMDQ4LDEwMywxMjAxMDAsMTAzLDEyMDE1MiwxMDMsMTIwMjA0LDEwMywxMjAyNTYsMTAzLDEyMDMwOCwxMDMsMTIwMzYwLDEwMywxMjA0MTIsMTAzLDEyMDQ2NCwxMDMsNjA5LDEwMyw3NTU1LDEwMywzOTcsMTAzLDE0MDksMTAzLDExOTgxNCw3MSwxMTk4NjYsNzEsMTE5OTE4LDcxLDExOTk3MCw3MSwxMjAwMjIsNzEsMTIwMDc0LDcxLDEyMDEyNiw3MSwxMjAxNzgsNzEsMTIwMjMwLDcxLDEyMDI4Miw3MSwxMjAzMzQsNzEsMTIwMzg2LDcxLDEyMDQzOCw3MSwxMjkyLDcxLDUwNTYsNzEsNTEwNyw3MSw0MjE5OCw3MSw2NTM1MiwxMDQsODQ2MiwxMDQsMTE5ODQxLDEwNCwxMTk5NDUsMTA0LDExOTk5NywxMDQsMTIwMDQ5LDEwNCwxMjAxMDEsMTA0LDEyMDE1MywxMDQsMTIwMjA1LDEwNCwxMjAyNTcsMTA0LDEyMDMwOSwxMDQsMTIwMzYxLDEwNCwxMjA0MTMsMTA0LDEyMDQ2NSwxMDQsMTIxMSwxMDQsMTM5MiwxMDQsNTA1OCwxMDQsNjUzMjAsNzIsODQ1OSw3Miw4NDYwLDcyLDg0NjEsNzIsMTE5ODE1LDcyLDExOTg2Nyw3MiwxMTk5MTksNzIsMTIwMDIzLDcyLDEyMDE3OSw3MiwxMjAyMzEsNzIsMTIwMjgzLDcyLDEyMDMzNSw3MiwxMjAzODcsNzIsMTIwNDM5LDcyLDkxOSw3MiwxMjA0OTQsNzIsMTIwNTUyLDcyLDEyMDYxMCw3MiwxMjA2NjgsNzIsMTIwNzI2LDcyLDExNDA2LDcyLDUwNTEsNzIsNTUwMCw3Miw0MjIxNSw3Miw2NjI1NSw3Miw3MzEsMTA1LDkwNzUsMTA1LDY1MzUzLDEwNSw4NTYwLDEwNSw4NTA1LDEwNSw4NTIwLDEwNSwxMTk4NDIsMTA1LDExOTg5NCwxMDUsMTE5OTQ2LDEwNSwxMTk5OTgsMTA1LDEyMDA1MCwxMDUsMTIwMTAyLDEwNSwxMjAxNTQsMTA1LDEyMDIwNiwxMDUsMTIwMjU4LDEwNSwxMjAzMTAsMTA1LDEyMDM2MiwxMDUsMTIwNDE0LDEwNSwxMjA0NjYsMTA1LDEyMDQ4NCwxMDUsNjE4LDEwNSw2MTcsMTA1LDk1MywxMDUsODEyNiwxMDUsODkwLDEwNSwxMjA1MjIsMTA1LDEyMDU4MCwxMDUsMTIwNjM4LDEwNSwxMjA2OTYsMTA1LDEyMDc1NCwxMDUsMTExMCwxMDUsNDI1NjcsMTA1LDEyMzEsMTA1LDQzODkzLDEwNSw1MDI5LDEwNSw3MTg3NSwxMDUsNjUzNTQsMTA2LDg1MjEsMTA2LDExOTg0MywxMDYsMTE5ODk1LDEwNiwxMTk5NDcsMTA2LDExOTk5OSwxMDYsMTIwMDUxLDEwNiwxMjAxMDMsMTA2LDEyMDE1NSwxMDYsMTIwMjA3LDEwNiwxMjAyNTksMTA2LDEyMDMxMSwxMDYsMTIwMzYzLDEwNiwxMjA0MTUsMTA2LDEyMDQ2NywxMDYsMTAxMSwxMDYsMTExMiwxMDYsNjUzMjIsNzQsMTE5ODE3LDc0LDExOTg2OSw3NCwxMTk5MjEsNzQsMTE5OTczLDc0LDEyMDAyNSw3NCwxMjAwNzcsNzQsMTIwMTI5LDc0LDEyMDE4MSw3NCwxMjAyMzMsNzQsMTIwMjg1LDc0LDEyMDMzNyw3NCwxMjAzODksNzQsMTIwNDQxLDc0LDQyOTMwLDc0LDg5NSw3NCwxMDMyLDc0LDUwMzUsNzQsNTI2MSw3NCw0MjIwMSw3NCwxMTk4NDQsMTA3LDExOTg5NiwxMDcsMTE5OTQ4LDEwNywxMjAwMDAsMTA3LDEyMDA1MiwxMDcsMTIwMTA0LDEwNywxMjAxNTYsMTA3LDEyMDIwOCwxMDcsMTIwMjYwLDEwNywxMjAzMTIsMTA3LDEyMDM2NCwxMDcsMTIwNDE2LDEwNywxMjA0NjgsMTA3LDg0OTAsNzUsNjUzMjMsNzUsMTE5ODE4LDc1LDExOTg3MCw3NSwxMTk5MjIsNzUsMTE5OTc0LDc1LDEyMDAyNiw3NSwxMjAwNzgsNzUsMTIwMTMwLDc1LDEyMDE4Miw3NSwxMjAyMzQsNzUsMTIwMjg2LDc1LDEyMDMzOCw3NSwxMjAzOTAsNzUsMTIwNDQyLDc1LDkyMiw3NSwxMjA0OTcsNzUsMTIwNTU1LDc1LDEyMDYxMyw3NSwxMjA2NzEsNzUsMTIwNzI5LDc1LDExNDEyLDc1LDUwOTQsNzUsNTg0NSw3NSw0MjE5OSw3NSw2Njg0MCw3NSwxNDcyLDEwOCw4NzM5LDczLDkyMTMsNzMsNjU1MTIsNzMsMTYzMywxMDgsMTc3Nyw3Myw2NjMzNiwxMDgsMTI1MTI3LDEwOCwxMjA3ODMsNzMsMTIwNzkzLDczLDEyMDgwMyw3MywxMjA4MTMsNzMsMTIwODIzLDczLDEzMDAzMyw3Myw2NTMyMSw3Myw4NTQ0LDczLDg0NjQsNzMsODQ2NSw3MywxMTk4MTYsNzMsMTE5ODY4LDczLDExOTkyMCw3MywxMjAwMjQsNzMsMTIwMTI4LDczLDEyMDE4MCw3MywxMjAyMzIsNzMsMTIwMjg0LDczLDEyMDMzNiw3MywxMjAzODgsNzMsMTIwNDQwLDczLDY1MzU2LDEwOCw4NTcyLDczLDg0NjcsMTA4LDExOTg0NSwxMDgsMTE5ODk3LDEwOCwxMTk5NDksMTA4LDEyMDAwMSwxMDgsMTIwMDUzLDEwOCwxMjAxMDUsNzMsMTIwMTU3LDczLDEyMDIwOSw3MywxMjAyNjEsNzMsMTIwMzEzLDczLDEyMDM2NSw3MywxMjA0MTcsNzMsMTIwNDY5LDczLDQ0OCw3MywxMjA0OTYsNzMsMTIwNTU0LDczLDEyMDYxMiw3MywxMjA2NzAsNzMsMTIwNzI4LDczLDExNDEwLDczLDEwMzAsNzMsMTIxNiw3MywxNDkzLDEwOCwxNTAzLDEwOCwxNTc1LDEwOCwxMjY0NjQsMTA4LDEyNjU5MiwxMDgsNjUxNjYsMTA4LDY1MTY1LDEwOCwxOTk0LDEwOCwxMTU5OSw3Myw1ODI1LDczLDQyMjI2LDczLDkzOTkyLDczLDY2MTg2LDEyNCw2NjMxMywxMjQsMTE5MzM4LDc2LDg1NTYsNzYsODQ2Niw3NiwxMTk4MTksNzYsMTE5ODcxLDc2LDExOTkyMyw3NiwxMjAwMjcsNzYsMTIwMDc5LDc2LDEyMDEzMSw3NiwxMjAxODMsNzYsMTIwMjM1LDc2LDEyMDI4Nyw3NiwxMjAzMzksNzYsMTIwMzkxLDc2LDEyMDQ0Myw3NiwxMTQ3Miw3Niw1MDg2LDc2LDUyOTAsNzYsNDIyMDksNzYsOTM5NzQsNzYsNzE4NDMsNzYsNzE4NTgsNzYsNjY1ODcsNzYsNjY4NTQsNzYsNjUzMjUsNzcsODU1OSw3Nyw4NDk5LDc3LDExOTgyMCw3NywxMTk4NzIsNzcsMTE5OTI0LDc3LDEyMDAyOCw3NywxMjAwODAsNzcsMTIwMTMyLDc3LDEyMDE4NCw3NywxMjAyMzYsNzcsMTIwMjg4LDc3LDEyMDM0MCw3NywxMjAzOTIsNzcsMTIwNDQ0LDc3LDkyNCw3NywxMjA0OTksNzcsMTIwNTU3LDc3LDEyMDYxNSw3NywxMjA2NzMsNzcsMTIwNzMxLDc3LDEwMTgsNzcsMTE0MTYsNzcsNTA0Nyw3Nyw1NjE2LDc3LDU4NDYsNzcsNDIyMDcsNzcsNjYyMjQsNzcsNjYzMjEsNzcsMTE5ODQ3LDExMCwxMTk4OTksMTEwLDExOTk1MSwxMTAsMTIwMDAzLDExMCwxMjAwNTUsMTEwLDEyMDEwNywxMTAsMTIwMTU5LDExMCwxMjAyMTEsMTEwLDEyMDI2MywxMTAsMTIwMzE1LDExMCwxMjAzNjcsMTEwLDEyMDQxOSwxMTAsMTIwNDcxLDExMCwxNDAwLDExMCwxNDA0LDExMCw2NTMyNiw3OCw4NDY5LDc4LDExOTgyMSw3OCwxMTk4NzMsNzgsMTE5OTI1LDc4LDExOTk3Nyw3OCwxMjAwMjksNzgsMTIwMDgxLDc4LDEyMDE4NSw3OCwxMjAyMzcsNzgsMTIwMjg5LDc4LDEyMDM0MSw3OCwxMjAzOTMsNzgsMTIwNDQ1LDc4LDkyNSw3OCwxMjA1MDAsNzgsMTIwNTU4LDc4LDEyMDYxNiw3OCwxMjA2NzQsNzgsMTIwNzMyLDc4LDExNDE4LDc4LDQyMjA4LDc4LDY2ODM1LDc4LDMwNzQsMTExLDMyMDIsMTExLDMzMzAsMTExLDM0NTgsMTExLDI0MDYsMTExLDI2NjIsMTExLDI3OTAsMTExLDMwNDYsMTExLDMxNzQsMTExLDMzMDIsMTExLDM0MzAsMTExLDM2NjQsMTExLDM3OTIsMTExLDQxNjAsMTExLDE2MzcsMTExLDE3ODEsMTExLDY1MzU5LDExMSw4NTAwLDExMSwxMTk4NDgsMTExLDExOTkwMCwxMTEsMTE5OTUyLDExMSwxMjAwNTYsMTExLDEyMDEwOCwxMTEsMTIwMTYwLDExMSwxMjAyMTIsMTExLDEyMDI2NCwxMTEsMTIwMzE2LDExMSwxMjAzNjgsMTExLDEyMDQyMCwxMTEsMTIwNDcyLDExMSw3NDM5LDExMSw3NDQxLDExMSw0MzgzNywxMTEsOTU5LDExMSwxMjA1MjgsMTExLDEyMDU4NiwxMTEsMTIwNjQ0LDExMSwxMjA3MDIsMTExLDEyMDc2MCwxMTEsOTYzLDExMSwxMjA1MzIsMTExLDEyMDU5MCwxMTEsMTIwNjQ4LDExMSwxMjA3MDYsMTExLDEyMDc2NCwxMTEsMTE0MjMsMTExLDQzNTEsMTExLDE0MTMsMTExLDE1MDUsMTExLDE2MDcsMTExLDEyNjUwMCwxMTEsMTI2NTY0LDExMSwxMjY1OTYsMTExLDY1MjU5LDExMSw2NTI2MCwxMTEsNjUyNTgsMTExLDY1MjU3LDExMSwxNzI2LDExMSw2NDQyOCwxMTEsNjQ0MjksMTExLDY0NDI3LDExMSw2NDQyNiwxMTEsMTcyOSwxMTEsNjQ0MjQsMTExLDY0NDI1LDExMSw2NDQyMywxMTEsNjQ0MjIsMTExLDE3NDksMTExLDMzNjAsMTExLDQxMjUsMTExLDY2Nzk0LDExMSw3MTg4MCwxMTEsNzE4OTUsMTExLDY2NjA0LDExMSwxOTg0LDc5LDI1MzQsNzksMjkxOCw3OSwxMjI5NSw3OSw3MDg2NCw3OSw3MTkwNCw3OSwxMjA3ODIsNzksMTIwNzkyLDc5LDEyMDgwMiw3OSwxMjA4MTIsNzksMTIwODIyLDc5LDEzMDAzMiw3OSw2NTMyNyw3OSwxMTk4MjIsNzksMTE5ODc0LDc5LDExOTkyNiw3OSwxMTk5NzgsNzksMTIwMDMwLDc5LDEyMDA4Miw3OSwxMjAxMzQsNzksMTIwMTg2LDc5LDEyMDIzOCw3OSwxMjAyOTAsNzksMTIwMzQyLDc5LDEyMDM5NCw3OSwxMjA0NDYsNzksOTI3LDc5LDEyMDUwMiw3OSwxMjA1NjAsNzksMTIwNjE4LDc5LDEyMDY3Niw3OSwxMjA3MzQsNzksMTE0MjIsNzksMTM2NSw3OSwxMTYwNCw3OSw0ODE2LDc5LDI4NDgsNzksNjY3NTQsNzksNDIyMjcsNzksNzE4NjEsNzksNjYxOTQsNzksNjYyMTksNzksNjY1NjQsNzksNjY4MzgsNzksOTA3NiwxMTIsNjUzNjAsMTEyLDExOTg0OSwxMTIsMTE5OTAxLDExMiwxMTk5NTMsMTEyLDEyMDAwNSwxMTIsMTIwMDU3LDExMiwxMjAxMDksMTEyLDEyMDE2MSwxMTIsMTIwMjEzLDExMiwxMjAyNjUsMTEyLDEyMDMxNywxMTIsMTIwMzY5LDExMiwxMjA0MjEsMTEyLDEyMDQ3MywxMTIsOTYxLDExMiwxMjA1MzAsMTEyLDEyMDU0NCwxMTIsMTIwNTg4LDExMiwxMjA2MDIsMTEyLDEyMDY0NiwxMTIsMTIwNjYwLDExMiwxMjA3MDQsMTEyLDEyMDcxOCwxMTIsMTIwNzYyLDExMiwxMjA3NzYsMTEyLDExNDI3LDExMiw2NTMyOCw4MCw4NDczLDgwLDExOTgyMyw4MCwxMTk4NzUsODAsMTE5OTI3LDgwLDExOTk3OSw4MCwxMjAwMzEsODAsMTIwMDgzLDgwLDEyMDE4Nyw4MCwxMjAyMzksODAsMTIwMjkxLDgwLDEyMDM0Myw4MCwxMjAzOTUsODAsMTIwNDQ3LDgwLDkyOSw4MCwxMjA1MDQsODAsMTIwNTYyLDgwLDEyMDYyMCw4MCwxMjA2NzgsODAsMTIwNzM2LDgwLDExNDI2LDgwLDUwOTAsODAsNTIyOSw4MCw0MjE5Myw4MCw2NjE5Nyw4MCwxMTk4NTAsMTEzLDExOTkwMiwxMTMsMTE5OTU0LDExMywxMjAwMDYsMTEzLDEyMDA1OCwxMTMsMTIwMTEwLDExMywxMjAxNjIsMTEzLDEyMDIxNCwxMTMsMTIwMjY2LDExMywxMjAzMTgsMTEzLDEyMDM3MCwxMTMsMTIwNDIyLDExMywxMjA0NzQsMTEzLDEzMDcsMTEzLDEzNzksMTEzLDEzODIsMTEzLDg0NzQsODEsMTE5ODI0LDgxLDExOTg3Niw4MSwxMTk5MjgsODEsMTE5OTgwLDgxLDEyMDAzMiw4MSwxMjAwODQsODEsMTIwMTg4LDgxLDEyMDI0MCw4MSwxMjAyOTIsODEsMTIwMzQ0LDgxLDEyMDM5Niw4MSwxMjA0NDgsODEsMTE2MDUsODEsMTE5ODUxLDExNCwxMTk5MDMsMTE0LDExOTk1NSwxMTQsMTIwMDA3LDExNCwxMjAwNTksMTE0LDEyMDExMSwxMTQsMTIwMTYzLDExNCwxMjAyMTUsMTE0LDEyMDI2NywxMTQsMTIwMzE5LDExNCwxMjAzNzEsMTE0LDEyMDQyMywxMTQsMTIwNDc1LDExNCw0Mzg0NywxMTQsNDM4NDgsMTE0LDc0NjIsMTE0LDExMzk3LDExNCw0MzkwNSwxMTQsMTE5MzE4LDgyLDg0NzUsODIsODQ3Niw4Miw4NDc3LDgyLDExOTgyNSw4MiwxMTk4NzcsODIsMTE5OTI5LDgyLDEyMDAzMyw4MiwxMjAxODksODIsMTIwMjQxLDgyLDEyMDI5Myw4MiwxMjAzNDUsODIsMTIwMzk3LDgyLDEyMDQ0OSw4Miw0MjIsODIsNTAyNSw4Miw1MDc0LDgyLDY2NzQwLDgyLDU1MTEsODIsNDIyMTEsODIsOTQwMDUsODIsNjUzNjMsMTE1LDExOTg1MiwxMTUsMTE5OTA0LDExNSwxMTk5NTYsMTE1LDEyMDAwOCwxMTUsMTIwMDYwLDExNSwxMjAxMTIsMTE1LDEyMDE2NCwxMTUsMTIwMjE2LDExNSwxMjAyNjgsMTE1LDEyMDMyMCwxMTUsMTIwMzcyLDExNSwxMjA0MjQsMTE1LDEyMDQ3NiwxMTUsNDI4MDEsMTE1LDQ0NSwxMTUsMTEwOSwxMTUsNDM5NDYsMTE1LDcxODczLDExNSw2NjYzMiwxMTUsNjUzMzEsODMsMTE5ODI2LDgzLDExOTg3OCw4MywxMTk5MzAsODMsMTE5OTgyLDgzLDEyMDAzNCw4MywxMjAwODYsODMsMTIwMTM4LDgzLDEyMDE5MCw4MywxMjAyNDIsODMsMTIwMjk0LDgzLDEyMDM0Niw4MywxMjAzOTgsODMsMTIwNDUwLDgzLDEwMjksODMsMTM1OSw4Myw1MDc3LDgzLDUwODIsODMsNDIyMTAsODMsOTQwMTAsODMsNjYxOTgsODMsNjY1OTIsODMsMTE5ODUzLDExNiwxMTk5MDUsMTE2LDExOTk1NywxMTYsMTIwMDA5LDExNiwxMjAwNjEsMTE2LDEyMDExMywxMTYsMTIwMTY1LDExNiwxMjAyMTcsMTE2LDEyMDI2OSwxMTYsMTIwMzIxLDExNiwxMjAzNzMsMTE2LDEyMDQyNSwxMTYsMTIwNDc3LDExNiw4ODY4LDg0LDEwMjAxLDg0LDEyODg3Miw4NCw2NTMzMiw4NCwxMTk4MjcsODQsMTE5ODc5LDg0LDExOTkzMSw4NCwxMTk5ODMsODQsMTIwMDM1LDg0LDEyMDA4Nyw4NCwxMjAxMzksODQsMTIwMTkxLDg0LDEyMDI0Myw4NCwxMjAyOTUsODQsMTIwMzQ3LDg0LDEyMDM5OSw4NCwxMjA0NTEsODQsOTMyLDg0LDEyMDUwNyw4NCwxMjA1NjUsODQsMTIwNjIzLDg0LDEyMDY4MSw4NCwxMjA3MzksODQsMTE0MzAsODQsNTAyNiw4NCw0MjE5Niw4NCw5Mzk2Miw4NCw3MTg2OCw4NCw2NjE5OSw4NCw2NjIyNSw4NCw2NjMyNSw4NCwxMTk4NTQsMTE3LDExOTkwNiwxMTcsMTE5OTU4LDExNywxMjAwMTAsMTE3LDEyMDA2MiwxMTcsMTIwMTE0LDExNywxMjAxNjYsMTE3LDEyMDIxOCwxMTcsMTIwMjcwLDExNywxMjAzMjIsMTE3LDEyMDM3NCwxMTcsMTIwNDI2LDExNywxMjA0NzgsMTE3LDQyOTExLDExNyw3NDUyLDExNyw0Mzg1NCwxMTcsNDM4NTgsMTE3LDY1MSwxMTcsOTY1LDExNywxMjA1MzQsMTE3LDEyMDU5MiwxMTcsMTIwNjUwLDExNywxMjA3MDgsMTE3LDEyMDc2NiwxMTcsMTQwNSwxMTcsNjY4MDYsMTE3LDcxODk2LDExNyw4NzQ2LDg1LDg4OTksODUsMTE5ODI4LDg1LDExOTg4MCw4NSwxMTk5MzIsODUsMTE5OTg0LDg1LDEyMDAzNiw4NSwxMjAwODgsODUsMTIwMTQwLDg1LDEyMDE5Miw4NSwxMjAyNDQsODUsMTIwMjk2LDg1LDEyMDM0OCw4NSwxMjA0MDAsODUsMTIwNDUyLDg1LDEzNTcsODUsNDYwOCw4NSw2Njc2Niw4NSw1MTk2LDg1LDQyMjI4LDg1LDk0MDE4LDg1LDcxODY0LDg1LDg3NDQsMTE4LDg4OTcsMTE4LDY1MzY2LDExOCw4NTY0LDExOCwxMTk4NTUsMTE4LDExOTkwNywxMTgsMTE5OTU5LDExOCwxMjAwMTEsMTE4LDEyMDA2MywxMTgsMTIwMTE1LDExOCwxMjAxNjcsMTE4LDEyMDIxOSwxMTgsMTIwMjcxLDExOCwxMjAzMjMsMTE4LDEyMDM3NSwxMTgsMTIwNDI3LDExOCwxMjA0NzksMTE4LDc0NTYsMTE4LDk1NywxMTgsMTIwNTI2LDExOCwxMjA1ODQsMTE4LDEyMDY0MiwxMTgsMTIwNzAwLDExOCwxMjA3NTgsMTE4LDExNDEsMTE4LDE0OTYsMTE4LDcxNDMwLDExOCw0Mzk0NSwxMTgsNzE4NzIsMTE4LDExOTMwOSw4NiwxNjM5LDg2LDE3ODMsODYsODU0OCw4NiwxMTk4MjksODYsMTE5ODgxLDg2LDExOTkzMyw4NiwxMTk5ODUsODYsMTIwMDM3LDg2LDEyMDA4OSw4NiwxMjAxNDEsODYsMTIwMTkzLDg2LDEyMDI0NSw4NiwxMjAyOTcsODYsMTIwMzQ5LDg2LDEyMDQwMSw4NiwxMjA0NTMsODYsMTE0MCw4NiwxMTU3Niw4Niw1MDgxLDg2LDUxNjcsODYsNDI3MTksODYsNDIyMTQsODYsOTM5NjAsODYsNzE4NDAsODYsNjY4NDUsODYsNjIzLDExOSwxMTk4NTYsMTE5LDExOTkwOCwxMTksMTE5OTYwLDExOSwxMjAwMTIsMTE5LDEyMDA2NCwxMTksMTIwMTE2LDExOSwxMjAxNjgsMTE5LDEyMDIyMCwxMTksMTIwMjcyLDExOSwxMjAzMjQsMTE5LDEyMDM3NiwxMTksMTIwNDI4LDExOSwxMjA0ODAsMTE5LDc0NTcsMTE5LDExMjEsMTE5LDEzMDksMTE5LDEzNzcsMTE5LDcxNDM0LDExOSw3MTQzOCwxMTksNzE0MzksMTE5LDQzOTA3LDExOSw3MTkxOSw4Nyw3MTkxMCw4NywxMTk4MzAsODcsMTE5ODgyLDg3LDExOTkzNCw4NywxMTk5ODYsODcsMTIwMDM4LDg3LDEyMDA5MCw4NywxMjAxNDIsODcsMTIwMTk0LDg3LDEyMDI0Niw4NywxMjAyOTgsODcsMTIwMzUwLDg3LDEyMDQwMiw4NywxMjA0NTQsODcsMTMwOCw4Nyw1MDQzLDg3LDUwNzYsODcsNDIyMTgsODcsNTc0MiwxMjAsMTA1MzksMTIwLDEwNTQwLDEyMCwxMDc5OSwxMjAsNjUzNjgsMTIwLDg1NjksMTIwLDExOTg1NywxMjAsMTE5OTA5LDEyMCwxMTk5NjEsMTIwLDEyMDAxMywxMjAsMTIwMDY1LDEyMCwxMjAxMTcsMTIwLDEyMDE2OSwxMjAsMTIwMjIxLDEyMCwxMjAyNzMsMTIwLDEyMDMyNSwxMjAsMTIwMzc3LDEyMCwxMjA0MjksMTIwLDEyMDQ4MSwxMjAsNTQ0MSwxMjAsNTUwMSwxMjAsNTc0MSw4OCw5NTg3LDg4LDY2MzM4LDg4LDcxOTE2LDg4LDY1MzM2LDg4LDg1NTMsODgsMTE5ODMxLDg4LDExOTg4Myw4OCwxMTk5MzUsODgsMTE5OTg3LDg4LDEyMDAzOSw4OCwxMjAwOTEsODgsMTIwMTQzLDg4LDEyMDE5NSw4OCwxMjAyNDcsODgsMTIwMjk5LDg4LDEyMDM1MSw4OCwxMjA0MDMsODgsMTIwNDU1LDg4LDQyOTMxLDg4LDkzNSw4OCwxMjA1MTAsODgsMTIwNTY4LDg4LDEyMDYyNiw4OCwxMjA2ODQsODgsMTIwNzQyLDg4LDExNDM2LDg4LDExNjEzLDg4LDU4MTUsODgsNDIyMTksODgsNjYxOTIsODgsNjYyMjgsODgsNjYzMjcsODgsNjY4NTUsODgsNjExLDEyMSw3NTY0LDEyMSw2NTM2OSwxMjEsMTE5ODU4LDEyMSwxMTk5MTAsMTIxLDExOTk2MiwxMjEsMTIwMDE0LDEyMSwxMjAwNjYsMTIxLDEyMDExOCwxMjEsMTIwMTcwLDEyMSwxMjAyMjIsMTIxLDEyMDI3NCwxMjEsMTIwMzI2LDEyMSwxMjAzNzgsMTIxLDEyMDQzMCwxMjEsMTIwNDgyLDEyMSw2NTUsMTIxLDc5MzUsMTIxLDQzODY2LDEyMSw5NDcsMTIxLDg1MDksMTIxLDEyMDUxNiwxMjEsMTIwNTc0LDEyMSwxMjA2MzIsMTIxLDEyMDY5MCwxMjEsMTIwNzQ4LDEyMSwxMTk5LDEyMSw0MzI3LDEyMSw3MTkwMCwxMjEsNjUzMzcsODksMTE5ODMyLDg5LDExOTg4NCw4OSwxMTk5MzYsODksMTE5OTg4LDg5LDEyMDA0MCw4OSwxMjAwOTIsODksMTIwMTQ0LDg5LDEyMDE5Niw4OSwxMjAyNDgsODksMTIwMzAwLDg5LDEyMDM1Miw4OSwxMjA0MDQsODksMTIwNDU2LDg5LDkzMyw4OSw5NzgsODksMTIwNTA4LDg5LDEyMDU2Niw4OSwxMjA2MjQsODksMTIwNjgyLDg5LDEyMDc0MCw4OSwxMTQzMiw4OSwxMTk4LDg5LDUwMzMsODksNTA1Myw4OSw0MjIyMCw4OSw5NDAxOSw4OSw3MTg0NCw4OSw2NjIyNiw4OSwxMTk4NTksMTIyLDExOTkxMSwxMjIsMTE5OTYzLDEyMiwxMjAwMTUsMTIyLDEyMDA2NywxMjIsMTIwMTE5LDEyMiwxMjAxNzEsMTIyLDEyMDIyMywxMjIsMTIwMjc1LDEyMiwxMjAzMjcsMTIyLDEyMDM3OSwxMjIsMTIwNDMxLDEyMiwxMjA0ODMsMTIyLDc0NTgsMTIyLDQzOTIzLDEyMiw3MTg3NiwxMjIsNjYyOTMsOTAsNzE5MDksOTAsNjUzMzgsOTAsODQ4NCw5MCw4NDg4LDkwLDExOTgzMyw5MCwxMTk4ODUsOTAsMTE5OTM3LDkwLDExOTk4OSw5MCwxMjAwNDEsOTAsMTIwMTk3LDkwLDEyMDI0OSw5MCwxMjAzMDEsOTAsMTIwMzUzLDkwLDEyMDQwNSw5MCwxMjA0NTcsOTAsOTE4LDkwLDEyMDQ5Myw5MCwxMjA1NTEsOTAsMTIwNjA5LDkwLDEyMDY2Nyw5MCwxMjA3MjUsOTAsNTA1OSw5MCw0MjIwNCw5MCw3MTg0OSw5MCw2NTI4MiwzNCw2NTI4NCwzNiw2NTI4NSwzNyw2NTI4NiwzOCw2NTI5MCw0Miw2NTI5MSw0Myw2NTI5NCw0Niw2NTI5NSw0Nyw2NTI5Niw0OCw2NTI5Nyw0OSw2NTI5OCw1MCw2NTI5OSw1MSw2NTMwMCw1Miw2NTMwMSw1Myw2NTMwMiw1NCw2NTMwMyw1NSw2NTMwNCw1Niw2NTMwNSw1Nyw2NTMwOCw2MCw2NTMwOSw2MSw2NTMxMCw2Miw2NTMxMiw2NCw2NTMxNiw2OCw2NTMxOCw3MCw2NTMxOSw3MSw2NTMyNCw3Niw2NTMyOSw4MSw2NTMzMCw4Miw2NTMzMyw4NSw2NTMzNCw4Niw2NTMzNSw4Nyw2NTM0Myw5NSw2NTM0Niw5OCw2NTM0OCwxMDAsNjUzNTAsMTAyLDY1MzU1LDEwNyw2NTM1NywxMDksNjUzNTgsMTEwLDY1MzYxLDExMyw2NTM2MiwxMTQsNjUzNjQsMTE2LDY1MzY1LDExNyw2NTM2NywxMTksNjUzNzAsMTIyLDY1MzcxLDEyMyw2NTM3MywxMjUsMTE5ODQ2LDEwOV0sIl9kZWZhdWx0IjpbMTYwLDMyLDgyMTEsNDUsNjUzNzQsMTI2LDY1MzA2LDU4LDY1MjgxLDMzLDgyMTYsOTYsODIxNyw5Niw4MjQ1LDk2LDE4MCw5NiwxMjQ5NCw0NywxMDQ3LDUxLDEwNzMsNTQsMTA3Miw5NywxMDQwLDY1LDEwNjgsOTgsMTA0Miw2NiwxMDg5LDk5LDEwNTcsNjcsMTA3NywxMDEsMTA0NSw2OSwxMDUzLDcyLDMwNSwxMDUsMTA1MCw3NSw5MjEsNzMsMTA1Miw3NywxMDg2LDExMSwxMDU0LDc5LDEwMDksMTEyLDEwODgsMTEyLDEwNTYsODAsMTA3NSwxMTQsMTA1OCw4NCwyMTUsMTIwLDEwOTMsMTIwLDEwNjEsODgsMTA5MSwxMjEsMTA1OSw4OSw2NTI4MywzNSw2NTI4OCw0MCw2NTI4OSw0MSw2NTI5Miw0NCw2NTMwNyw1OSw2NTMxMSw2M10sImNzIjpbNjUzNzQsMTI2LDY1MzA2LDU4LDY1MjgxLDMzLDgyMTYsOTYsODIxNyw5Niw4MjQ1LDk2LDE4MCw5NiwxMjQ5NCw0NywxMDQ3LDUxLDEwNzMsNTQsMTA3Miw5NywxMDQwLDY1LDEwNjgsOTgsMTA0Miw2NiwxMDg5LDk5LDEwNTcsNjcsMTA3NywxMDEsMTA0NSw2OSwxMDUzLDcyLDMwNSwxMDUsMTA1MCw3NSw5MjEsNzMsMTA1Miw3NywxMDg2LDExMSwxMDU0LDc5LDEwMDksMTEyLDEwODgsMTEyLDEwNTYsODAsMTA3NSwxMTQsMTA1OCw4NCwxMDkzLDEyMCwxMDYxLDg4LDEwOTEsMTIxLDEwNTksODksNjUyODMsMzUsNjUyODgsNDAsNjUyODksNDEsNjUyOTIsNDQsNjUzMDcsNTksNjUzMTEsNjNdLCJkZSI6WzY1Mzc0LDEyNiw2NTMwNiw1OCw2NTI4MSwzMyw4MjE2LDk2LDgyMTcsOTYsODI0NSw5NiwxODAsOTYsMTI0OTQsNDcsMTA0Nyw1MSwxMDczLDU0LDEwNzIsOTcsMTA0MCw2NSwxMDY4LDk4LDEwNDIsNjYsMTA4OSw5OSwxMDU3LDY3LDEwNzcsMTAxLDEwNDUsNjksMTA1Myw3MiwzMDUsMTA1LDEwNTAsNzUsOTIxLDczLDEwNTIsNzcsMTA4NiwxMTEsMTA1NCw3OSwxMDA5LDExMiwxMDg4LDExMiwxMDU2LDgwLDEwNzUsMTE0LDEwNTgsODQsMTA5MywxMjAsMTA2MSw4OCwxMDkxLDEyMSwxMDU5LDg5LDY1MjgzLDM1LDY1Mjg4LDQwLDY1Mjg5LDQxLDY1MjkyLDQ0LDY1MzA3LDU5LDY1MzExLDYzXSwiZXMiOls4MjExLDQ1LDY1Mzc0LDEyNiw2NTMwNiw1OCw2NTI4MSwzMyw4MjQ1LDk2LDE4MCw5NiwxMjQ5NCw0NywxMDQ3LDUxLDEwNzMsNTQsMTA3Miw5NywxMDQwLDY1LDEwNjgsOTgsMTA0Miw2NiwxMDg5LDk5LDEwNTcsNjcsMTA3NywxMDEsMTA0NSw2OSwxMDUzLDcyLDMwNSwxMDUsMTA1MCw3NSwxMDUyLDc3LDEwODYsMTExLDEwNTQsNzksMTAwOSwxMTIsMTA4OCwxMTIsMTA1Niw4MCwxMDc1LDExNCwxMDU4LDg0LDIxNSwxMjAsMTA5MywxMjAsMTA2MSw4OCwxMDkxLDEyMSwxMDU5LDg5LDY1MjgzLDM1LDY1Mjg4LDQwLDY1Mjg5LDQxLDY1MjkyLDQ0LDY1MzA3LDU5LDY1MzExLDYzXSwiZnIiOls2NTM3NCwxMjYsNjUzMDYsNTgsNjUyODEsMzMsODIxNiw5Niw4MjQ1LDk2LDEyNDk0LDQ3LDEwNDcsNTEsMTA3Myw1NCwxMDcyLDk3LDEwNDAsNjUsMTA2OCw5OCwxMDQyLDY2LDEwODksOTksMTA1Nyw2NywxMDc3LDEwMSwxMDQ1LDY5LDEwNTMsNzIsMzA1LDEwNSwxMDUwLDc1LDkyMSw3MywxMDUyLDc3LDEwODYsMTExLDEwNTQsNzksMTAwOSwxMTIsMTA4OCwxMTIsMTA1Niw4MCwxMDc1LDExNCwxMDU4LDg0LDIxNSwxMjAsMTA5MywxMjAsMTA2MSw4OCwxMDkxLDEyMSwxMDU5LDg5LDY1MjgzLDM1LDY1Mjg4LDQwLDY1Mjg5LDQxLDY1MjkyLDQ0LDY1MzA3LDU5LDY1MzExLDYzXSwiaXQiOlsxNjAsMzIsODIxMSw0NSw2NTM3NCwxMjYsNjUzMDYsNTgsNjUyODEsMzMsODIxNiw5Niw4MjQ1LDk2LDE4MCw5NiwxMjQ5NCw0NywxMDQ3LDUxLDEwNzMsNTQsMTA3Miw5NywxMDQwLDY1LDEwNjgsOTgsMTA0Miw2NiwxMDg5LDk5LDEwNTcsNjcsMTA3NywxMDEsMTA0NSw2OSwxMDUzLDcyLDMwNSwxMDUsMTA1MCw3NSw5MjEsNzMsMTA1Miw3NywxMDg2LDExMSwxMDU0LDc5LDEwMDksMTEyLDEwODgsMTEyLDEwNTYsODAsMTA3NSwxMTQsMTA1OCw4NCwyMTUsMTIwLDEwOTMsMTIwLDEwNjEsODgsMTA5MSwxMjEsMTA1OSw4OSw2NTI4MywzNSw2NTI4OCw0MCw2NTI4OSw0MSw2NTI5Miw0NCw2NTMwNyw1OSw2NTMxMSw2M10sImphIjpbODIxMSw0NSw2NTMwNiw1OCw2NTI4MSwzMyw4MjE2LDk2LDgyMTcsOTYsODI0NSw5NiwxODAsOTYsMTA0Nyw1MSwxMDczLDU0LDEwNzIsOTcsMTA0MCw2NSwxMDY4LDk4LDEwNDIsNjYsMTA4OSw5OSwxMDU3LDY3LDEwNzcsMTAxLDEwNDUsNjksMTA1Myw3MiwzMDUsMTA1LDEwNTAsNzUsOTIxLDczLDEwNTIsNzcsMTA4NiwxMTEsMTA1NCw3OSwxMDA5LDExMiwxMDg4LDExMiwxMDU2LDgwLDEwNzUsMTE0LDEwNTgsODQsMjE1LDEyMCwxMDkzLDEyMCwxMDYxLDg4LDEwOTEsMTIxLDEwNTksODksNjUyODMsMzUsNjUyOTIsNDQsNjUzMDcsNTldLCJrbyI6WzgyMTEsNDUsNjUzNzQsMTI2LDY1MzA2LDU4LDY1MjgxLDMzLDgyNDUsOTYsMTgwLDk2LDEyNDk0LDQ3LDEwNDcsNTEsMTA3Myw1NCwxMDcyLDk3LDEwNDAsNjUsMTA2OCw5OCwxMDQyLDY2LDEwODksOTksMTA1Nyw2NywxMDc3LDEwMSwxMDQ1LDY5LDEwNTMsNzIsMzA1LDEwNSwxMDUwLDc1LDkyMSw3MywxMDUyLDc3LDEwODYsMTExLDEwNTQsNzksMTAwOSwxMTIsMTA4OCwxMTIsMTA1Niw4MCwxMDc1LDExNCwxMDU4LDg0LDIxNSwxMjAsMTA5MywxMjAsMTA2MSw4OCwxMDkxLDEyMSwxMDU5LDg5LDY1MjgzLDM1LDY1Mjg4LDQwLDY1Mjg5LDQxLDY1MjkyLDQ0LDY1MzA3LDU5LDY1MzExLDYzXSwicGwiOls2NTM3NCwxMjYsNjUzMDYsNTgsNjUyODEsMzMsODIxNiw5Niw4MjE3LDk2LDgyNDUsOTYsMTgwLDk2LDEyNDk0LDQ3LDEwNDcsNTEsMTA3Myw1NCwxMDcyLDk3LDEwNDAsNjUsMTA2OCw5OCwxMDQyLDY2LDEwODksOTksMTA1Nyw2NywxMDc3LDEwMSwxMDQ1LDY5LDEwNTMsNzIsMzA1LDEwNSwxMDUwLDc1LDkyMSw3MywxMDUyLDc3LDEwODYsMTExLDEwNTQsNzksMTAwOSwxMTIsMTA4OCwxMTIsMTA1Niw4MCwxMDc1LDExNCwxMDU4LDg0LDIxNSwxMjAsMTA5MywxMjAsMTA2MSw4OCwxMDkxLDEyMSwxMDU5LDg5LDY1MjgzLDM1LDY1Mjg4LDQwLDY1Mjg5LDQxLDY1MjkyLDQ0LDY1MzA3LDU5LDY1MzExLDYzXSwicHQtQlIiOls2NTM3NCwxMjYsNjUzMDYsNTgsNjUyODEsMzMsODIxNiw5Niw4MjE3LDk2LDgyNDUsOTYsMTgwLDk2LDEyNDk0LDQ3LDEwNDcsNTEsMTA3Myw1NCwxMDcyLDk3LDEwNDAsNjUsMTA2OCw5OCwxMDQyLDY2LDEwODksOTksMTA1Nyw2NywxMDc3LDEwMSwxMDQ1LDY5LDEwNTMsNzIsMzA1LDEwNSwxMDUwLDc1LDkyMSw3MywxMDUyLDc3LDEwODYsMTExLDEwNTQsNzksMTAwOSwxMTIsMTA4OCwxMTIsMTA1Niw4MCwxMDc1LDExNCwxMDU4LDg0LDIxNSwxMjAsMTA5MywxMjAsMTA2MSw4OCwxMDkxLDEyMSwxMDU5LDg5LDY1MjgzLDM1LDY1Mjg4LDQwLDY1Mjg5LDQxLDY1MjkyLDQ0LDY1MzA3LDU5LDY1MzExLDYzXSwicXBzLXBsb2MiOlsxNjAsMzIsODIxMSw0NSw2NTM3NCwxMjYsNjUzMDYsNTgsNjUyODEsMzMsODIxNiw5Niw4MjE3LDk2LDgyNDUsOTYsMTgwLDk2LDEyNDk0LDQ3LDEwNDcsNTEsMTA3Myw1NCwxMDcyLDk3LDEwNDAsNjUsMTA2OCw5OCwxMDQyLDY2LDEwODksOTksMTA1Nyw2NywxMDc3LDEwMSwxMDQ1LDY5LDEwNTMsNzIsMzA1LDEwNSwxMDUwLDc1LDkyMSw3MywxMDUyLDc3LDEwODYsMTExLDEwNTQsNzksMTA4OCwxMTIsMTA1Niw4MCwxMDc1LDExNCwxMDU4LDg0LDIxNSwxMjAsMTA5MywxMjAsMTA2MSw4OCwxMDkxLDEyMSwxMDU5LDg5LDY1MjgzLDM1LDY1Mjg4LDQwLDY1Mjg5LDQxLDY1MjkyLDQ0LDY1MzA3LDU5LDY1MzExLDYzXSwicnUiOls2NTM3NCwxMjYsNjUzMDYsNTgsNjUyODEsMzMsODIxNiw5Niw4MjE3LDk2LDgyNDUsOTYsMTgwLDk2LDEyNDk0LDQ3LDMwNSwxMDUsOTIxLDczLDEwMDksMTEyLDIxNSwxMjAsNjUyODMsMzUsNjUyODgsNDAsNjUyODksNDEsNjUyOTIsNDQsNjUzMDcsNTksNjUzMTEsNjNdLCJ0ciI6WzE2MCwzMiw4MjExLDQ1LDY1Mzc0LDEyNiw2NTMwNiw1OCw2NTI4MSwzMyw4MjQ1LDk2LDE4MCw5NiwxMjQ5NCw0NywxMDQ3LDUxLDEwNzMsNTQsMTA3Miw5NywxMDQwLDY1LDEwNjgsOTgsMTA0Miw2NiwxMDg5LDk5LDEwNTcsNjcsMTA3NywxMDEsMTA0NSw2OSwxMDUzLDcyLDEwNTAsNzUsOTIxLDczLDEwNTIsNzcsMTA4NiwxMTEsMTA1NCw3OSwxMDA5LDExMiwxMDg4LDExMiwxMDU2LDgwLDEwNzUsMTE0LDEwNTgsODQsMjE1LDEyMCwxMDkzLDEyMCwxMDYxLDg4LDEwOTEsMTIxLDEwNTksODksNjUyODMsMzUsNjUyODgsNDAsNjUyODksNDEsNjUyOTIsNDQsNjUzMDcsNTksNjUzMTEsNjNdLCJ6aC1oYW5zIjpbNjUzNzQsMTI2LDY1MzA2LDU4LDY1MjgxLDMzLDgyNDUsOTYsMTgwLDk2LDEyNDk0LDQ3LDEwNDcsNTEsMTA3Myw1NCwxMDcyLDk3LDEwNDAsNjUsMTA2OCw5OCwxMDQyLDY2LDEwODksOTksMTA1Nyw2NywxMDc3LDEwMSwxMDQ1LDY5LDEwNTMsNzIsMzA1LDEwNSwxMDUwLDc1LDkyMSw3MywxMDUyLDc3LDEwODYsMTExLDEwNTQsNzksMTAwOSwxMTIsMTA4OCwxMTIsMTA1Niw4MCwxMDc1LDExNCwxMDU4LDg0LDIxNSwxMjAsMTA5MywxMjAsMTA2MSw4OCwxMDkxLDEyMSwxMDU5LDg5LDY1Mjg4LDQwLDY1Mjg5LDQxXSwiemgtaGFudCI6WzgyMTEsNDUsNjUzNzQsMTI2LDE4MCw5NiwxMjQ5NCw0NywxMDQ3LDUxLDEwNzMsNTQsMTA3Miw5NywxMDQwLDY1LDEwNjgsOTgsMTA0Miw2NiwxMDg5LDk5LDEwNTcsNjcsMTA3NywxMDEsMTA0NSw2OSwxMDUzLDcyLDMwNSwxMDUsMTA1MCw3NSw5MjEsNzMsMTA1Miw3NywxMDg2LDExMSwxMDU0LDc5LDEwMDksMTEyLDEwODgsMTEyLDEwNTYsODAsMTA3NSwxMTQsMTA1OCw4NCwyMTUsMTIwLDEwOTMsMTIwLDEwNjEsODgsMTA5MSwxMjEsMTA1OSw4OSw2NTI4MywzNSw2NTMwNyw1OV19JykpLHJ0LmNhY2hlPW5ldyB0byhlPT57ZnVuY3Rpb24gdCh1KXtjb25zdCBmPW5ldyBNYXA7Zm9yKGxldCBoPTA7aDx1Lmxlbmd0aDtoKz0yKWYuc2V0KHVbaF0sdVtoKzFdKTtyZXR1cm4gZn1mdW5jdGlvbiBuKHUsZil7Y29uc3QgaD1uZXcgTWFwKHUpO2Zvcihjb25zdFtkLGddb2YgZiloLnNldChkLGcpO3JldHVybiBofWZ1bmN0aW9uIHIodSxmKXtpZighdSlyZXR1cm4gZjtjb25zdCBoPW5ldyBNYXA7Zm9yKGNvbnN0W2QsZ11vZiB1KWYuaGFzKGQpJiZoLnNldChkLGcpO3JldHVybiBofWNvbnN0IGk9ZHQuYW1iaWd1b3VzQ2hhcmFjdGVyRGF0YS52YWx1ZTtsZXQgcz1lLmZpbHRlcih1PT4hdS5zdGFydHNXaXRoKCJfIikmJnUgaW4gaSk7cy5sZW5ndGg9PT0wJiYocz1bIl9kZWZhdWx0Il0pO2xldCBhO2Zvcihjb25zdCB1IG9mIHMpe2NvbnN0IGY9dChpW3VdKTthPXIoYSxmKX1jb25zdCBvPXQoaS5fY29tbW9uKSxsPW4obyxhKTtyZXR1cm4gbmV3IGR0KGwpfSkscnQuX2xvY2FsZXM9bmV3IEJyKCgpPT5PYmplY3Qua2V5cyhkdC5hbWJpZ3VvdXNDaGFyYWN0ZXJEYXRhLnZhbHVlKS5maWx0ZXIoZT0+IWUuc3RhcnRzV2l0aCgiXyIpKSk7Y2xhc3MgV2V7c3RhdGljIGdldFJhd0RhdGEoKXtyZXR1cm4gSlNPTi5wYXJzZSgiWzksMTAsMTEsMTIsMTMsMzIsMTI3LDE2MCwxNzMsODQ3LDE1NjQsNDQ0Nyw0NDQ4LDYwNjgsNjA2OSw2MTU1LDYxNTYsNjE1Nyw2MTU4LDczNTUsNzM1Niw4MTkyLDgxOTMsODE5NCw4MTk1LDgxOTYsODE5Nyw4MTk4LDgxOTksODIwMCw4MjAxLDgyMDIsODIwMyw4MjA0LDgyMDUsODIwNiw4MjA3LDgyMzQsODIzNSw4MjM2LDgyMzcsODIzOCw4MjM5LDgyODcsODI4OCw4Mjg5LDgyOTAsODI5MSw4MjkyLDgyOTMsODI5NCw4Mjk1LDgyOTYsODI5Nyw4Mjk4LDgyOTksODMwMCw4MzAxLDgzMDIsODMwMywxMDI0MCwxMjI4OCwxMjY0NCw2NTAyNCw2NTAyNSw2NTAyNiw2NTAyNyw2NTAyOCw2NTAyOSw2NTAzMCw2NTAzMSw2NTAzMiw2NTAzMyw2NTAzNCw2NTAzNSw2NTAzNiw2NTAzNyw2NTAzOCw2NTAzOSw2NTI3OSw2NTQ0MCw2NTUyMCw2NTUyMSw2NTUyMiw2NTUyMyw2NTUyNCw2NTUyNSw2NTUyNiw2NTUyNyw2NTUyOCw2NTUzMiw3ODg0NCwxMTkxNTUsMTE5MTU2LDExOTE1NywxMTkxNTgsMTE5MTU5LDExOTE2MCwxMTkxNjEsMTE5MTYyLDkxNzUwNCw5MTc1MDUsOTE3NTA2LDkxNzUwNyw5MTc1MDgsOTE3NTA5LDkxNzUxMCw5MTc1MTEsOTE3NTEyLDkxNzUxMyw5MTc1MTQsOTE3NTE1LDkxNzUxNiw5MTc1MTcsOTE3NTE4LDkxNzUxOSw5MTc1MjAsOTE3NTIxLDkxNzUyMiw5MTc1MjMsOTE3NTI0LDkxNzUyNSw5MTc1MjYsOTE3NTI3LDkxNzUyOCw5MTc1MjksOTE3NTMwLDkxNzUzMSw5MTc1MzIsOTE3NTMzLDkxNzUzNCw5MTc1MzUsOTE3NTM2LDkxNzUzNyw5MTc1MzgsOTE3NTM5LDkxNzU0MCw5MTc1NDEsOTE3NTQyLDkxNzU0Myw5MTc1NDQsOTE3NTQ1LDkxNzU0Niw5MTc1NDcsOTE3NTQ4LDkxNzU0OSw5MTc1NTAsOTE3NTUxLDkxNzU1Miw5MTc1NTMsOTE3NTU0LDkxNzU1NSw5MTc1NTYsOTE3NTU3LDkxNzU1OCw5MTc1NTksOTE3NTYwLDkxNzU2MSw5MTc1NjIsOTE3NTYzLDkxNzU2NCw5MTc1NjUsOTE3NTY2LDkxNzU2Nyw5MTc1NjgsOTE3NTY5LDkxNzU3MCw5MTc1NzEsOTE3NTcyLDkxNzU3Myw5MTc1NzQsOTE3NTc1LDkxNzU3Niw5MTc1NzcsOTE3NTc4LDkxNzU3OSw5MTc1ODAsOTE3NTgxLDkxNzU4Miw5MTc1ODMsOTE3NTg0LDkxNzU4NSw5MTc1ODYsOTE3NTg3LDkxNzU4OCw5MTc1ODksOTE3NTkwLDkxNzU5MSw5MTc1OTIsOTE3NTkzLDkxNzU5NCw5MTc1OTUsOTE3NTk2LDkxNzU5Nyw5MTc1OTgsOTE3NTk5LDkxNzYwMCw5MTc2MDEsOTE3NjAyLDkxNzYwMyw5MTc2MDQsOTE3NjA1LDkxNzYwNiw5MTc2MDcsOTE3NjA4LDkxNzYwOSw5MTc2MTAsOTE3NjExLDkxNzYxMiw5MTc2MTMsOTE3NjE0LDkxNzYxNSw5MTc2MTYsOTE3NjE3LDkxNzYxOCw5MTc2MTksOTE3NjIwLDkxNzYyMSw5MTc2MjIsOTE3NjIzLDkxNzYyNCw5MTc2MjUsOTE3NjI2LDkxNzYyNyw5MTc2MjgsOTE3NjI5LDkxNzYzMCw5MTc2MzEsOTE3NzYwLDkxNzc2MSw5MTc3NjIsOTE3NzYzLDkxNzc2NCw5MTc3NjUsOTE3NzY2LDkxNzc2Nyw5MTc3NjgsOTE3NzY5LDkxNzc3MCw5MTc3NzEsOTE3NzcyLDkxNzc3Myw5MTc3NzQsOTE3Nzc1LDkxNzc3Niw5MTc3NzcsOTE3Nzc4LDkxNzc3OSw5MTc3ODAsOTE3NzgxLDkxNzc4Miw5MTc3ODMsOTE3Nzg0LDkxNzc4NSw5MTc3ODYsOTE3Nzg3LDkxNzc4OCw5MTc3ODksOTE3NzkwLDkxNzc5MSw5MTc3OTIsOTE3NzkzLDkxNzc5NCw5MTc3OTUsOTE3Nzk2LDkxNzc5Nyw5MTc3OTgsOTE3Nzk5LDkxNzgwMCw5MTc4MDEsOTE3ODAyLDkxNzgwMyw5MTc4MDQsOTE3ODA1LDkxNzgwNiw5MTc4MDcsOTE3ODA4LDkxNzgwOSw5MTc4MTAsOTE3ODExLDkxNzgxMiw5MTc4MTMsOTE3ODE0LDkxNzgxNSw5MTc4MTYsOTE3ODE3LDkxNzgxOCw5MTc4MTksOTE3ODIwLDkxNzgyMSw5MTc4MjIsOTE3ODIzLDkxNzgyNCw5MTc4MjUsOTE3ODI2LDkxNzgyNyw5MTc4MjgsOTE3ODI5LDkxNzgzMCw5MTc4MzEsOTE3ODMyLDkxNzgzMyw5MTc4MzQsOTE3ODM1LDkxNzgzNiw5MTc4MzcsOTE3ODM4LDkxNzgzOSw5MTc4NDAsOTE3ODQxLDkxNzg0Miw5MTc4NDMsOTE3ODQ0LDkxNzg0NSw5MTc4NDYsOTE3ODQ3LDkxNzg0OCw5MTc4NDksOTE3ODUwLDkxNzg1MSw5MTc4NTIsOTE3ODUzLDkxNzg1NCw5MTc4NTUsOTE3ODU2LDkxNzg1Nyw5MTc4NTgsOTE3ODU5LDkxNzg2MCw5MTc4NjEsOTE3ODYyLDkxNzg2Myw5MTc4NjQsOTE3ODY1LDkxNzg2Niw5MTc4NjcsOTE3ODY4LDkxNzg2OSw5MTc4NzAsOTE3ODcxLDkxNzg3Miw5MTc4NzMsOTE3ODc0LDkxNzg3NSw5MTc4NzYsOTE3ODc3LDkxNzg3OCw5MTc4NzksOTE3ODgwLDkxNzg4MSw5MTc4ODIsOTE3ODgzLDkxNzg4NCw5MTc4ODUsOTE3ODg2LDkxNzg4Nyw5MTc4ODgsOTE3ODg5LDkxNzg5MCw5MTc4OTEsOTE3ODkyLDkxNzg5Myw5MTc4OTQsOTE3ODk1LDkxNzg5Niw5MTc4OTcsOTE3ODk4LDkxNzg5OSw5MTc5MDAsOTE3OTAxLDkxNzkwMiw5MTc5MDMsOTE3OTA0LDkxNzkwNSw5MTc5MDYsOTE3OTA3LDkxNzkwOCw5MTc5MDksOTE3OTEwLDkxNzkxMSw5MTc5MTIsOTE3OTEzLDkxNzkxNCw5MTc5MTUsOTE3OTE2LDkxNzkxNyw5MTc5MTgsOTE3OTE5LDkxNzkyMCw5MTc5MjEsOTE3OTIyLDkxNzkyMyw5MTc5MjQsOTE3OTI1LDkxNzkyNiw5MTc5MjcsOTE3OTI4LDkxNzkyOSw5MTc5MzAsOTE3OTMxLDkxNzkzMiw5MTc5MzMsOTE3OTM0LDkxNzkzNSw5MTc5MzYsOTE3OTM3LDkxNzkzOCw5MTc5MzksOTE3OTQwLDkxNzk0MSw5MTc5NDIsOTE3OTQzLDkxNzk0NCw5MTc5NDUsOTE3OTQ2LDkxNzk0Nyw5MTc5NDgsOTE3OTQ5LDkxNzk1MCw5MTc5NTEsOTE3OTUyLDkxNzk1Myw5MTc5NTQsOTE3OTU1LDkxNzk1Niw5MTc5NTcsOTE3OTU4LDkxNzk1OSw5MTc5NjAsOTE3OTYxLDkxNzk2Miw5MTc5NjMsOTE3OTY0LDkxNzk2NSw5MTc5NjYsOTE3OTY3LDkxNzk2OCw5MTc5NjksOTE3OTcwLDkxNzk3MSw5MTc5NzIsOTE3OTczLDkxNzk3NCw5MTc5NzUsOTE3OTc2LDkxNzk3Nyw5MTc5NzgsOTE3OTc5LDkxNzk4MCw5MTc5ODEsOTE3OTgyLDkxNzk4Myw5MTc5ODQsOTE3OTg1LDkxNzk4Niw5MTc5ODcsOTE3OTg4LDkxNzk4OSw5MTc5OTAsOTE3OTkxLDkxNzk5Miw5MTc5OTMsOTE3OTk0LDkxNzk5NSw5MTc5OTYsOTE3OTk3LDkxNzk5OCw5MTc5OTldIil9c3RhdGljIGdldERhdGEoKXtyZXR1cm4gdGhpcy5fZGF0YXx8KHRoaXMuX2RhdGE9bmV3IFNldChXZS5nZXRSYXdEYXRhKCkpKSx0aGlzLl9kYXRhfXN0YXRpYyBpc0ludmlzaWJsZUNoYXJhY3Rlcih0KXtyZXR1cm4gV2UuZ2V0RGF0YSgpLmhhcyh0KX1zdGF0aWMgZ2V0IGNvZGVQb2ludHMoKXtyZXR1cm4gV2UuZ2V0RGF0YSgpfX1XZS5fZGF0YT12b2lkIDA7Y29uc3QgZm89IiRpbml0aWFsaXplIjtjbGFzcyBob3tjb25zdHJ1Y3Rvcih0LG4scixpKXt0aGlzLnZzV29ya2VyPXQsdGhpcy5yZXE9bix0aGlzLm1ldGhvZD1yLHRoaXMuYXJncz1pLHRoaXMudHlwZT0wfX1jbGFzcyBxcntjb25zdHJ1Y3Rvcih0LG4scixpKXt0aGlzLnZzV29ya2VyPXQsdGhpcy5zZXE9bix0aGlzLnJlcz1yLHRoaXMuZXJyPWksdGhpcy50eXBlPTF9fWNsYXNzIGdve2NvbnN0cnVjdG9yKHQsbixyLGkpe3RoaXMudnNXb3JrZXI9dCx0aGlzLnJlcT1uLHRoaXMuZXZlbnROYW1lPXIsdGhpcy5hcmc9aSx0aGlzLnR5cGU9Mn19Y2xhc3MgbW97Y29uc3RydWN0b3IodCxuLHIpe3RoaXMudnNXb3JrZXI9dCx0aGlzLnJlcT1uLHRoaXMuZXZlbnQ9cix0aGlzLnR5cGU9M319Y2xhc3MgcG97Y29uc3RydWN0b3IodCxuKXt0aGlzLnZzV29ya2VyPXQsdGhpcy5yZXE9bix0aGlzLnR5cGU9NH19Y2xhc3Mgdm97Y29uc3RydWN0b3IodCl7dGhpcy5fd29ya2VySWQ9LTEsdGhpcy5faGFuZGxlcj10LHRoaXMuX2xhc3RTZW50UmVxPTAsdGhpcy5fcGVuZGluZ1JlcGxpZXM9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLl9wZW5kaW5nRW1pdHRlcnM9bmV3IE1hcCx0aGlzLl9wZW5kaW5nRXZlbnRzPW5ldyBNYXB9c2V0V29ya2VySWQodCl7dGhpcy5fd29ya2VySWQ9dH1zZW5kTWVzc2FnZSh0LG4pe2NvbnN0IHI9U3RyaW5nKCsrdGhpcy5fbGFzdFNlbnRSZXEpO3JldHVybiBuZXcgUHJvbWlzZSgoaSxzKT0+e3RoaXMuX3BlbmRpbmdSZXBsaWVzW3JdPXtyZXNvbHZlOmkscmVqZWN0OnN9LHRoaXMuX3NlbmQobmV3IGhvKHRoaXMuX3dvcmtlcklkLHIsdCxuKSl9KX1saXN0ZW4odCxuKXtsZXQgcj1udWxsO2NvbnN0IGk9bmV3IEFlKHtvbldpbGxBZGRGaXJzdExpc3RlbmVyOigpPT57cj1TdHJpbmcoKyt0aGlzLl9sYXN0U2VudFJlcSksdGhpcy5fcGVuZGluZ0VtaXR0ZXJzLnNldChyLGkpLHRoaXMuX3NlbmQobmV3IGdvKHRoaXMuX3dvcmtlcklkLHIsdCxuKSl9LG9uRGlkUmVtb3ZlTGFzdExpc3RlbmVyOigpPT57dGhpcy5fcGVuZGluZ0VtaXR0ZXJzLmRlbGV0ZShyKSx0aGlzLl9zZW5kKG5ldyBwbyh0aGlzLl93b3JrZXJJZCxyKSkscj1udWxsfX0pO3JldHVybiBpLmV2ZW50fWhhbmRsZU1lc3NhZ2UodCl7IXR8fCF0LnZzV29ya2VyfHx0aGlzLl93b3JrZXJJZCE9PS0xJiZ0LnZzV29ya2VyIT09dGhpcy5fd29ya2VySWR8fHRoaXMuX2hhbmRsZU1lc3NhZ2UodCl9X2hhbmRsZU1lc3NhZ2UodCl7c3dpdGNoKHQudHlwZSl7Y2FzZSAxOnJldHVybiB0aGlzLl9oYW5kbGVSZXBseU1lc3NhZ2UodCk7Y2FzZSAwOnJldHVybiB0aGlzLl9oYW5kbGVSZXF1ZXN0TWVzc2FnZSh0KTtjYXNlIDI6cmV0dXJuIHRoaXMuX2hhbmRsZVN1YnNjcmliZUV2ZW50TWVzc2FnZSh0KTtjYXNlIDM6cmV0dXJuIHRoaXMuX2hhbmRsZUV2ZW50TWVzc2FnZSh0KTtjYXNlIDQ6cmV0dXJuIHRoaXMuX2hhbmRsZVVuc3Vic2NyaWJlRXZlbnRNZXNzYWdlKHQpfX1faGFuZGxlUmVwbHlNZXNzYWdlKHQpe2lmKCF0aGlzLl9wZW5kaW5nUmVwbGllc1t0LnNlcV0pcmV0dXJuO2NvbnN0IG49dGhpcy5fcGVuZGluZ1JlcGxpZXNbdC5zZXFdO2lmKGRlbGV0ZSB0aGlzLl9wZW5kaW5nUmVwbGllc1t0LnNlcV0sdC5lcnIpe2xldCByPXQuZXJyO3QuZXJyLiRpc0Vycm9yJiYocj1uZXcgRXJyb3Isci5uYW1lPXQuZXJyLm5hbWUsci5tZXNzYWdlPXQuZXJyLm1lc3NhZ2Usci5zdGFjaz10LmVyci5zdGFjayksbi5yZWplY3Qocik7cmV0dXJufW4ucmVzb2x2ZSh0LnJlcyl9X2hhbmRsZVJlcXVlc3RNZXNzYWdlKHQpe2NvbnN0IG49dC5yZXE7dGhpcy5faGFuZGxlci5oYW5kbGVNZXNzYWdlKHQubWV0aG9kLHQuYXJncykudGhlbihpPT57dGhpcy5fc2VuZChuZXcgcXIodGhpcy5fd29ya2VySWQsbixpLHZvaWQgMCkpfSxpPT57aS5kZXRhaWwgaW5zdGFuY2VvZiBFcnJvciYmKGkuZGV0YWlsPU9yKGkuZGV0YWlsKSksdGhpcy5fc2VuZChuZXcgcXIodGhpcy5fd29ya2VySWQsbix2b2lkIDAsT3IoaSkpKX0pfV9oYW5kbGVTdWJzY3JpYmVFdmVudE1lc3NhZ2UodCl7Y29uc3Qgbj10LnJlcSxyPXRoaXMuX2hhbmRsZXIuaGFuZGxlRXZlbnQodC5ldmVudE5hbWUsdC5hcmcpKGk9Pnt0aGlzLl9zZW5kKG5ldyBtbyh0aGlzLl93b3JrZXJJZCxuLGkpKX0pO3RoaXMuX3BlbmRpbmdFdmVudHMuc2V0KG4scil9X2hhbmRsZUV2ZW50TWVzc2FnZSh0KXt0aGlzLl9wZW5kaW5nRW1pdHRlcnMuaGFzKHQucmVxKSYmdGhpcy5fcGVuZGluZ0VtaXR0ZXJzLmdldCh0LnJlcSkuZmlyZSh0LmV2ZW50KX1faGFuZGxlVW5zdWJzY3JpYmVFdmVudE1lc3NhZ2UodCl7dGhpcy5fcGVuZGluZ0V2ZW50cy5oYXModC5yZXEpJiYodGhpcy5fcGVuZGluZ0V2ZW50cy5nZXQodC5yZXEpLmRpc3Bvc2UoKSx0aGlzLl9wZW5kaW5nRXZlbnRzLmRlbGV0ZSh0LnJlcSkpfV9zZW5kKHQpe2NvbnN0IG49W107aWYodC50eXBlPT09MClmb3IobGV0IHI9MDtyPHQuYXJncy5sZW5ndGg7cisrKXQuYXJnc1tyXWluc3RhbmNlb2YgQXJyYXlCdWZmZXImJm4ucHVzaCh0LmFyZ3Nbcl0pO2Vsc2UgdC50eXBlPT09MSYmdC5yZXMgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmbi5wdXNoKHQucmVzKTt0aGlzLl9oYW5kbGVyLnNlbmRNZXNzYWdlKHQsbil9fWZ1bmN0aW9uIEhyKGUpe3JldHVybiBlWzBdPT09Im8iJiZlWzFdPT09Im4iJiZqcihlLmNoYXJDb2RlQXQoMikpfWZ1bmN0aW9uICRyKGUpe3JldHVybi9eb25EeW5hbWljLy50ZXN0KGUpJiZqcihlLmNoYXJDb2RlQXQoOSkpfWZ1bmN0aW9uIGJvKGUsdCxuKXtjb25zdCByPWE9PmZ1bmN0aW9uKCl7Y29uc3Qgbz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMCk7cmV0dXJuIHQoYSxvKX0saT1hPT5mdW5jdGlvbihvKXtyZXR1cm4gbihhLG8pfSxzPXt9O2Zvcihjb25zdCBhIG9mIGUpe2lmKCRyKGEpKXtzW2FdPWkoYSk7Y29udGludWV9aWYoSHIoYSkpe3NbYV09bihhLHZvaWQgMCk7Y29udGludWV9c1thXT1yKGEpfXJldHVybiBzfWNsYXNzIF9ve2NvbnN0cnVjdG9yKHQsbil7dGhpcy5fcmVxdWVzdEhhbmRsZXJGYWN0b3J5PW4sdGhpcy5fcmVxdWVzdEhhbmRsZXI9bnVsbCx0aGlzLl9wcm90b2NvbD1uZXcgdm8oe3NlbmRNZXNzYWdlOihyLGkpPT57dChyLGkpfSxoYW5kbGVNZXNzYWdlOihyLGkpPT50aGlzLl9oYW5kbGVNZXNzYWdlKHIsaSksaGFuZGxlRXZlbnQ6KHIsaSk9PnRoaXMuX2hhbmRsZUV2ZW50KHIsaSl9KX1vbm1lc3NhZ2UodCl7dGhpcy5fcHJvdG9jb2wuaGFuZGxlTWVzc2FnZSh0KX1faGFuZGxlTWVzc2FnZSh0LG4pe2lmKHQ9PT1mbylyZXR1cm4gdGhpcy5pbml0aWFsaXplKG5bMF0sblsxXSxuWzJdLG5bM10pO2lmKCF0aGlzLl9yZXF1ZXN0SGFuZGxlcnx8dHlwZW9mIHRoaXMuX3JlcXVlc3RIYW5kbGVyW3RdIT0iZnVuY3Rpb24iKXJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoIk1pc3NpbmcgcmVxdWVzdEhhbmRsZXIgb3IgbWV0aG9kOiAiK3QpKTt0cnl7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl9yZXF1ZXN0SGFuZGxlclt0XS5hcHBseSh0aGlzLl9yZXF1ZXN0SGFuZGxlcixuKSl9Y2F0Y2gocil7cmV0dXJuIFByb21pc2UucmVqZWN0KHIpfX1faGFuZGxlRXZlbnQodCxuKXtpZighdGhpcy5fcmVxdWVzdEhhbmRsZXIpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIHJlcXVlc3RIYW5kbGVyIik7aWYoJHIodCkpe2NvbnN0IHI9dGhpcy5fcmVxdWVzdEhhbmRsZXJbdF0uY2FsbCh0aGlzLl9yZXF1ZXN0SGFuZGxlcixuKTtpZih0eXBlb2YgciE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgZHluYW1pYyBldmVudCAke3R9IG9uIHJlcXVlc3QgaGFuZGxlci5gKTtyZXR1cm4gcn1pZihIcih0KSl7Y29uc3Qgcj10aGlzLl9yZXF1ZXN0SGFuZGxlclt0XTtpZih0eXBlb2YgciE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgZXZlbnQgJHt0fSBvbiByZXF1ZXN0IGhhbmRsZXIuYCk7cmV0dXJuIHJ9dGhyb3cgbmV3IEVycm9yKGBNYWxmb3JtZWQgZXZlbnQgbmFtZSAke3R9YCl9aW5pdGlhbGl6ZSh0LG4scixpKXt0aGlzLl9wcm90b2NvbC5zZXRXb3JrZXJJZCh0KTtjb25zdCBvPWJvKGksKGwsdSk9PnRoaXMuX3Byb3RvY29sLnNlbmRNZXNzYWdlKGwsdSksKGwsdSk9PnRoaXMuX3Byb3RvY29sLmxpc3RlbihsLHUpKTtyZXR1cm4gdGhpcy5fcmVxdWVzdEhhbmRsZXJGYWN0b3J5Pyh0aGlzLl9yZXF1ZXN0SGFuZGxlcj10aGlzLl9yZXF1ZXN0SGFuZGxlckZhY3RvcnkobyksUHJvbWlzZS5yZXNvbHZlKE1uKHRoaXMuX3JlcXVlc3RIYW5kbGVyKSkpOihuJiYodHlwZW9mIG4uYmFzZVVybDwidSImJmRlbGV0ZSBuLmJhc2VVcmwsdHlwZW9mIG4ucGF0aHM8InUiJiZ0eXBlb2Ygbi5wYXRocy52czwidSImJmRlbGV0ZSBuLnBhdGhzLnZzLHR5cGVvZiBuLnRydXN0ZWRUeXBlc1BvbGljeTwidSImJmRlbGV0ZSBuLnRydXN0ZWRUeXBlc1BvbGljeSxuLmNhdGNoRXJyb3I9ITAsZ2xvYmFsVGhpcy5yZXF1aXJlLmNvbmZpZyhuKSksbmV3IFByb21pc2UoKGwsdSk9Pntjb25zdCBmPWdsb2JhbFRoaXMucmVxdWlyZTtmKFtyXSxoPT57aWYodGhpcy5fcmVxdWVzdEhhbmRsZXI9aC5jcmVhdGUobyksIXRoaXMuX3JlcXVlc3RIYW5kbGVyKXt1KG5ldyBFcnJvcigiTm8gUmVxdWVzdEhhbmRsZXIhIikpO3JldHVybn1sKE1uKHRoaXMuX3JlcXVlc3RIYW5kbGVyKSl9LHUpfSkpfX1jbGFzcyB6ZXtjb25zdHJ1Y3Rvcih0LG4scixpKXt0aGlzLm9yaWdpbmFsU3RhcnQ9dCx0aGlzLm9yaWdpbmFsTGVuZ3RoPW4sdGhpcy5tb2RpZmllZFN0YXJ0PXIsdGhpcy5tb2RpZmllZExlbmd0aD1pfWdldE9yaWdpbmFsRW5kKCl7cmV0dXJuIHRoaXMub3JpZ2luYWxTdGFydCt0aGlzLm9yaWdpbmFsTGVuZ3RofWdldE1vZGlmaWVkRW5kKCl7cmV0dXJuIHRoaXMubW9kaWZpZWRTdGFydCt0aGlzLm1vZGlmaWVkTGVuZ3RofX1mdW5jdGlvbiBXcihlLHQpe3JldHVybih0PDw1KS10K2V8MH1mdW5jdGlvbiB4byhlLHQpe3Q9V3IoMTQ5NDE3LHQpO2ZvcihsZXQgbj0wLHI9ZS5sZW5ndGg7bjxyO24rKyl0PVdyKGUuY2hhckNvZGVBdChuKSx0KTtyZXR1cm4gdH1jbGFzcyB6cntjb25zdHJ1Y3Rvcih0KXt0aGlzLnNvdXJjZT10fWdldEVsZW1lbnRzKCl7Y29uc3QgdD10aGlzLnNvdXJjZSxuPW5ldyBJbnQzMkFycmF5KHQubGVuZ3RoKTtmb3IobGV0IHI9MCxpPXQubGVuZ3RoO3I8aTtyKyspbltyXT10LmNoYXJDb2RlQXQocik7cmV0dXJuIG59fWZ1bmN0aW9uIHlvKGUsdCxuKXtyZXR1cm4gbmV3IEdlKG5ldyB6cihlKSxuZXcgenIodCkpLkNvbXB1dGVEaWZmKG4pLmNoYW5nZXN9Y2xhc3MgZ3R7c3RhdGljIEFzc2VydCh0LG4pe2lmKCF0KXRocm93IG5ldyBFcnJvcihuKX19Y2xhc3MgbXR7c3RhdGljIENvcHkodCxuLHIsaSxzKXtmb3IobGV0IGE9MDthPHM7YSsrKXJbaSthXT10W24rYV19c3RhdGljIENvcHkyKHQsbixyLGkscyl7Zm9yKGxldCBhPTA7YTxzO2ErKylyW2krYV09dFtuK2FdfX1jbGFzcyBHcntjb25zdHJ1Y3Rvcigpe3RoaXMubV9jaGFuZ2VzPVtdLHRoaXMubV9vcmlnaW5hbFN0YXJ0PTEwNzM3NDE4MjQsdGhpcy5tX21vZGlmaWVkU3RhcnQ9MTA3Mzc0MTgyNCx0aGlzLm1fb3JpZ2luYWxDb3VudD0wLHRoaXMubV9tb2RpZmllZENvdW50PTB9TWFya05leHRDaGFuZ2UoKXsodGhpcy5tX29yaWdpbmFsQ291bnQ+MHx8dGhpcy5tX21vZGlmaWVkQ291bnQ+MCkmJnRoaXMubV9jaGFuZ2VzLnB1c2gobmV3IHplKHRoaXMubV9vcmlnaW5hbFN0YXJ0LHRoaXMubV9vcmlnaW5hbENvdW50LHRoaXMubV9tb2RpZmllZFN0YXJ0LHRoaXMubV9tb2RpZmllZENvdW50KSksdGhpcy5tX29yaWdpbmFsQ291bnQ9MCx0aGlzLm1fbW9kaWZpZWRDb3VudD0wLHRoaXMubV9vcmlnaW5hbFN0YXJ0PTEwNzM3NDE4MjQsdGhpcy5tX21vZGlmaWVkU3RhcnQ9MTA3Mzc0MTgyNH1BZGRPcmlnaW5hbEVsZW1lbnQodCxuKXt0aGlzLm1fb3JpZ2luYWxTdGFydD1NYXRoLm1pbih0aGlzLm1fb3JpZ2luYWxTdGFydCx0KSx0aGlzLm1fbW9kaWZpZWRTdGFydD1NYXRoLm1pbih0aGlzLm1fbW9kaWZpZWRTdGFydCxuKSx0aGlzLm1fb3JpZ2luYWxDb3VudCsrfUFkZE1vZGlmaWVkRWxlbWVudCh0LG4pe3RoaXMubV9vcmlnaW5hbFN0YXJ0PU1hdGgubWluKHRoaXMubV9vcmlnaW5hbFN0YXJ0LHQpLHRoaXMubV9tb2RpZmllZFN0YXJ0PU1hdGgubWluKHRoaXMubV9tb2RpZmllZFN0YXJ0LG4pLHRoaXMubV9tb2RpZmllZENvdW50Kyt9Z2V0Q2hhbmdlcygpe3JldHVybih0aGlzLm1fb3JpZ2luYWxDb3VudD4wfHx0aGlzLm1fbW9kaWZpZWRDb3VudD4wKSYmdGhpcy5NYXJrTmV4dENoYW5nZSgpLHRoaXMubV9jaGFuZ2VzfWdldFJldmVyc2VDaGFuZ2VzKCl7cmV0dXJuKHRoaXMubV9vcmlnaW5hbENvdW50PjB8fHRoaXMubV9tb2RpZmllZENvdW50PjApJiZ0aGlzLk1hcmtOZXh0Q2hhbmdlKCksdGhpcy5tX2NoYW5nZXMucmV2ZXJzZSgpLHRoaXMubV9jaGFuZ2VzfX1jbGFzcyBHZXtjb25zdHJ1Y3Rvcih0LG4scj1udWxsKXt0aGlzLkNvbnRpbnVlUHJvY2Vzc2luZ1ByZWRpY2F0ZT1yLHRoaXMuX29yaWdpbmFsU2VxdWVuY2U9dCx0aGlzLl9tb2RpZmllZFNlcXVlbmNlPW47Y29uc3RbaSxzLGFdPUdlLl9nZXRFbGVtZW50cyh0KSxbbyxsLHVdPUdlLl9nZXRFbGVtZW50cyhuKTt0aGlzLl9oYXNTdHJpbmdzPWEmJnUsdGhpcy5fb3JpZ2luYWxTdHJpbmdFbGVtZW50cz1pLHRoaXMuX29yaWdpbmFsRWxlbWVudHNPckhhc2g9cyx0aGlzLl9tb2RpZmllZFN0cmluZ0VsZW1lbnRzPW8sdGhpcy5fbW9kaWZpZWRFbGVtZW50c09ySGFzaD1sLHRoaXMubV9mb3J3YXJkSGlzdG9yeT1bXSx0aGlzLm1fcmV2ZXJzZUhpc3Rvcnk9W119c3RhdGljIF9pc1N0cmluZ0FycmF5KHQpe3JldHVybiB0Lmxlbmd0aD4wJiZ0eXBlb2YgdFswXT09InN0cmluZyJ9c3RhdGljIF9nZXRFbGVtZW50cyh0KXtjb25zdCBuPXQuZ2V0RWxlbWVudHMoKTtpZihHZS5faXNTdHJpbmdBcnJheShuKSl7Y29uc3Qgcj1uZXcgSW50MzJBcnJheShuLmxlbmd0aCk7Zm9yKGxldCBpPTAscz1uLmxlbmd0aDtpPHM7aSsrKXJbaV09eG8obltpXSwwKTtyZXR1cm5bbixyLCEwXX1yZXR1cm4gbiBpbnN0YW5jZW9mIEludDMyQXJyYXk/W1tdLG4sITFdOltbXSxuZXcgSW50MzJBcnJheShuKSwhMV19RWxlbWVudHNBcmVFcXVhbCh0LG4pe3JldHVybiB0aGlzLl9vcmlnaW5hbEVsZW1lbnRzT3JIYXNoW3RdIT09dGhpcy5fbW9kaWZpZWRFbGVtZW50c09ySGFzaFtuXT8hMTp0aGlzLl9oYXNTdHJpbmdzP3RoaXMuX29yaWdpbmFsU3RyaW5nRWxlbWVudHNbdF09PT10aGlzLl9tb2RpZmllZFN0cmluZ0VsZW1lbnRzW25dOiEwfUVsZW1lbnRzQXJlU3RyaWN0RXF1YWwodCxuKXtpZighdGhpcy5FbGVtZW50c0FyZUVxdWFsKHQsbikpcmV0dXJuITE7Y29uc3Qgcj1HZS5fZ2V0U3RyaWN0RWxlbWVudCh0aGlzLl9vcmlnaW5hbFNlcXVlbmNlLHQpLGk9R2UuX2dldFN0cmljdEVsZW1lbnQodGhpcy5fbW9kaWZpZWRTZXF1ZW5jZSxuKTtyZXR1cm4gcj09PWl9c3RhdGljIF9nZXRTdHJpY3RFbGVtZW50KHQsbil7cmV0dXJuIHR5cGVvZiB0LmdldFN0cmljdEVsZW1lbnQ9PSJmdW5jdGlvbiI/dC5nZXRTdHJpY3RFbGVtZW50KG4pOm51bGx9T3JpZ2luYWxFbGVtZW50c0FyZUVxdWFsKHQsbil7cmV0dXJuIHRoaXMuX29yaWdpbmFsRWxlbWVudHNPckhhc2hbdF0hPT10aGlzLl9vcmlnaW5hbEVsZW1lbnRzT3JIYXNoW25dPyExOnRoaXMuX2hhc1N0cmluZ3M/dGhpcy5fb3JpZ2luYWxTdHJpbmdFbGVtZW50c1t0XT09PXRoaXMuX29yaWdpbmFsU3RyaW5nRWxlbWVudHNbbl06ITB9TW9kaWZpZWRFbGVtZW50c0FyZUVxdWFsKHQsbil7cmV0dXJuIHRoaXMuX21vZGlmaWVkRWxlbWVudHNPckhhc2hbdF0hPT10aGlzLl9tb2RpZmllZEVsZW1lbnRzT3JIYXNoW25dPyExOnRoaXMuX2hhc1N0cmluZ3M/dGhpcy5fbW9kaWZpZWRTdHJpbmdFbGVtZW50c1t0XT09PXRoaXMuX21vZGlmaWVkU3RyaW5nRWxlbWVudHNbbl06ITB9Q29tcHV0ZURpZmYodCl7cmV0dXJuIHRoaXMuX0NvbXB1dGVEaWZmKDAsdGhpcy5fb3JpZ2luYWxFbGVtZW50c09ySGFzaC5sZW5ndGgtMSwwLHRoaXMuX21vZGlmaWVkRWxlbWVudHNPckhhc2gubGVuZ3RoLTEsdCl9X0NvbXB1dGVEaWZmKHQsbixyLGkscyl7Y29uc3QgYT1bITFdO2xldCBvPXRoaXMuQ29tcHV0ZURpZmZSZWN1cnNpdmUodCxuLHIsaSxhKTtyZXR1cm4gcyYmKG89dGhpcy5QcmV0dGlmeUNoYW5nZXMobykpLHtxdWl0RWFybHk6YVswXSxjaGFuZ2VzOm99fUNvbXB1dGVEaWZmUmVjdXJzaXZlKHQsbixyLGkscyl7Zm9yKHNbMF09ITE7dDw9biYmcjw9aSYmdGhpcy5FbGVtZW50c0FyZUVxdWFsKHQscik7KXQrKyxyKys7Zm9yKDtuPj10JiZpPj1yJiZ0aGlzLkVsZW1lbnRzQXJlRXF1YWwobixpKTspbi0tLGktLTtpZih0Pm58fHI+aSl7bGV0IGg7cmV0dXJuIHI8PWk/KGd0LkFzc2VydCh0PT09bisxLCJvcmlnaW5hbFN0YXJ0IHNob3VsZCBvbmx5IGJlIG9uZSBtb3JlIHRoYW4gb3JpZ2luYWxFbmQiKSxoPVtuZXcgemUodCwwLHIsaS1yKzEpXSk6dDw9bj8oZ3QuQXNzZXJ0KHI9PT1pKzEsIm1vZGlmaWVkU3RhcnQgc2hvdWxkIG9ubHkgYmUgb25lIG1vcmUgdGhhbiBtb2RpZmllZEVuZCIpLGg9W25ldyB6ZSh0LG4tdCsxLHIsMCldKTooZ3QuQXNzZXJ0KHQ9PT1uKzEsIm9yaWdpbmFsU3RhcnQgc2hvdWxkIG9ubHkgYmUgb25lIG1vcmUgdGhhbiBvcmlnaW5hbEVuZCIpLGd0LkFzc2VydChyPT09aSsxLCJtb2RpZmllZFN0YXJ0IHNob3VsZCBvbmx5IGJlIG9uZSBtb3JlIHRoYW4gbW9kaWZpZWRFbmQiKSxoPVtdKSxofWNvbnN0IGE9WzBdLG89WzBdLGw9dGhpcy5Db21wdXRlUmVjdXJzaW9uUG9pbnQodCxuLHIsaSxhLG8scyksdT1hWzBdLGY9b1swXTtpZihsIT09bnVsbClyZXR1cm4gbDtpZighc1swXSl7Y29uc3QgaD10aGlzLkNvbXB1dGVEaWZmUmVjdXJzaXZlKHQsdSxyLGYscyk7bGV0IGQ9W107cmV0dXJuIHNbMF0/ZD1bbmV3IHplKHUrMSxuLSh1KzEpKzEsZisxLGktKGYrMSkrMSldOmQ9dGhpcy5Db21wdXRlRGlmZlJlY3Vyc2l2ZSh1KzEsbixmKzEsaSxzKSx0aGlzLkNvbmNhdGVuYXRlQ2hhbmdlcyhoLGQpfXJldHVybltuZXcgemUodCxuLXQrMSxyLGktcisxKV19V0FMS1RSQUNFKHQsbixyLGkscyxhLG8sbCx1LGYsaCxkLGcsbSx2LHAsXyx4KXtsZXQgYj1udWxsLFM9bnVsbCxOPW5ldyBHcix3PW4sTD1yLEE9Z1swXS1wWzBdLWksUj0tMTA3Mzc0MTgyNCxGPXRoaXMubV9mb3J3YXJkSGlzdG9yeS5sZW5ndGgtMTtkb3tjb25zdCBDPUErdDtDPT09d3x8QzxMJiZ1W0MtMV08dVtDKzFdPyhoPXVbQysxXSxtPWgtQS1pLGg8UiYmTi5NYXJrTmV4dENoYW5nZSgpLFI9aCxOLkFkZE1vZGlmaWVkRWxlbWVudChoKzEsbSksQT1DKzEtdCk6KGg9dVtDLTFdKzEsbT1oLUEtaSxoPFImJk4uTWFya05leHRDaGFuZ2UoKSxSPWgtMSxOLkFkZE9yaWdpbmFsRWxlbWVudChoLG0rMSksQT1DLTEtdCksRj49MCYmKHU9dGhpcy5tX2ZvcndhcmRIaXN0b3J5W0ZdLHQ9dVswXSx3PTEsTD11Lmxlbmd0aC0xKX13aGlsZSgtLUY+PS0xKTtpZihiPU4uZ2V0UmV2ZXJzZUNoYW5nZXMoKSx4WzBdKXtsZXQgQz1nWzBdKzEseT1wWzBdKzE7aWYoYiE9PW51bGwmJmIubGVuZ3RoPjApe2NvbnN0IE09YltiLmxlbmd0aC0xXTtDPU1hdGgubWF4KEMsTS5nZXRPcmlnaW5hbEVuZCgpKSx5PU1hdGgubWF4KHksTS5nZXRNb2RpZmllZEVuZCgpKX1TPVtuZXcgemUoQyxkLUMrMSx5LHYteSsxKV19ZWxzZXtOPW5ldyBHcix3PWEsTD1vLEE9Z1swXS1wWzBdLWwsUj0xMDczNzQxODI0LEY9Xz90aGlzLm1fcmV2ZXJzZUhpc3RvcnkubGVuZ3RoLTE6dGhpcy5tX3JldmVyc2VIaXN0b3J5Lmxlbmd0aC0yO2Rve2NvbnN0IEM9QStzO0M9PT13fHxDPEwmJmZbQy0xXT49ZltDKzFdPyhoPWZbQysxXS0xLG09aC1BLWwsaD5SJiZOLk1hcmtOZXh0Q2hhbmdlKCksUj1oKzEsTi5BZGRPcmlnaW5hbEVsZW1lbnQoaCsxLG0rMSksQT1DKzEtcyk6KGg9ZltDLTFdLG09aC1BLWwsaD5SJiZOLk1hcmtOZXh0Q2hhbmdlKCksUj1oLE4uQWRkTW9kaWZpZWRFbGVtZW50KGgrMSxtKzEpLEE9Qy0xLXMpLEY+PTAmJihmPXRoaXMubV9yZXZlcnNlSGlzdG9yeVtGXSxzPWZbMF0sdz0xLEw9Zi5sZW5ndGgtMSl9d2hpbGUoLS1GPj0tMSk7Uz1OLmdldENoYW5nZXMoKX1yZXR1cm4gdGhpcy5Db25jYXRlbmF0ZUNoYW5nZXMoYixTKX1Db21wdXRlUmVjdXJzaW9uUG9pbnQodCxuLHIsaSxzLGEsbyl7bGV0IGw9MCx1PTAsZj0wLGg9MCxkPTAsZz0wO3QtLSxyLS0sc1swXT0wLGFbMF09MCx0aGlzLm1fZm9yd2FyZEhpc3Rvcnk9W10sdGhpcy5tX3JldmVyc2VIaXN0b3J5PVtdO2NvbnN0IG09bi10KyhpLXIpLHY9bSsxLHA9bmV3IEludDMyQXJyYXkodiksXz1uZXcgSW50MzJBcnJheSh2KSx4PWktcixiPW4tdCxTPXQtcixOPW4taSxMPShiLXgpJTI9PT0wO3BbeF09dCxfW2JdPW4sb1swXT0hMTtmb3IobGV0IEE9MTtBPD1tLzIrMTtBKyspe2xldCBSPTAsRj0wO2Y9dGhpcy5DbGlwRGlhZ29uYWxCb3VuZCh4LUEsQSx4LHYpLGg9dGhpcy5DbGlwRGlhZ29uYWxCb3VuZCh4K0EsQSx4LHYpO2ZvcihsZXQgeT1mO3k8PWg7eSs9Mil7eT09PWZ8fHk8aCYmcFt5LTFdPHBbeSsxXT9sPXBbeSsxXTpsPXBbeS0xXSsxLHU9bC0oeS14KS1TO2NvbnN0IE09bDtmb3IoO2w8biYmdTxpJiZ0aGlzLkVsZW1lbnRzQXJlRXF1YWwobCsxLHUrMSk7KWwrKyx1Kys7aWYocFt5XT1sLGwrdT5SK0YmJihSPWwsRj11KSwhTCYmTWF0aC5hYnMoeS1iKTw9QS0xJiZsPj1fW3ldKXJldHVybiBzWzBdPWwsYVswXT11LE08PV9beV0mJkE8PTE0NDg/dGhpcy5XQUxLVFJBQ0UoeCxmLGgsUyxiLGQsZyxOLHAsXyxsLG4scyx1LGksYSxMLG8pOm51bGx9Y29uc3QgQz0oUi10KyhGLXIpLUEpLzI7aWYodGhpcy5Db250aW51ZVByb2Nlc3NpbmdQcmVkaWNhdGUhPT1udWxsJiYhdGhpcy5Db250aW51ZVByb2Nlc3NpbmdQcmVkaWNhdGUoUixDKSlyZXR1cm4gb1swXT0hMCxzWzBdPVIsYVswXT1GLEM+MCYmQTw9MTQ0OD90aGlzLldBTEtUUkFDRSh4LGYsaCxTLGIsZCxnLE4scCxfLGwsbixzLHUsaSxhLEwsbyk6KHQrKyxyKyssW25ldyB6ZSh0LG4tdCsxLHIsaS1yKzEpXSk7ZD10aGlzLkNsaXBEaWFnb25hbEJvdW5kKGItQSxBLGIsdiksZz10aGlzLkNsaXBEaWFnb25hbEJvdW5kKGIrQSxBLGIsdik7Zm9yKGxldCB5PWQ7eTw9Zzt5Kz0yKXt5PT09ZHx8eTxnJiZfW3ktMV0+PV9beSsxXT9sPV9beSsxXS0xOmw9X1t5LTFdLHU9bC0oeS1iKS1OO2NvbnN0IE09bDtmb3IoO2w+dCYmdT5yJiZ0aGlzLkVsZW1lbnRzQXJlRXF1YWwobCx1KTspbC0tLHUtLTtpZihfW3ldPWwsTCYmTWF0aC5hYnMoeS14KTw9QSYmbDw9cFt5XSlyZXR1cm4gc1swXT1sLGFbMF09dSxNPj1wW3ldJiZBPD0xNDQ4P3RoaXMuV0FMS1RSQUNFKHgsZixoLFMsYixkLGcsTixwLF8sbCxuLHMsdSxpLGEsTCxvKTpudWxsfWlmKEE8PTE0NDcpe2xldCB5PW5ldyBJbnQzMkFycmF5KGgtZisyKTt5WzBdPXgtZisxLG10LkNvcHkyKHAsZix5LDEsaC1mKzEpLHRoaXMubV9mb3J3YXJkSGlzdG9yeS5wdXNoKHkpLHk9bmV3IEludDMyQXJyYXkoZy1kKzIpLHlbMF09Yi1kKzEsbXQuQ29weTIoXyxkLHksMSxnLWQrMSksdGhpcy5tX3JldmVyc2VIaXN0b3J5LnB1c2goeSl9fXJldHVybiB0aGlzLldBTEtUUkFDRSh4LGYsaCxTLGIsZCxnLE4scCxfLGwsbixzLHUsaSxhLEwsbyl9UHJldHRpZnlDaGFuZ2VzKHQpe2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtjb25zdCByPXRbbl0saT1uPHQubGVuZ3RoLTE/dFtuKzFdLm9yaWdpbmFsU3RhcnQ6dGhpcy5fb3JpZ2luYWxFbGVtZW50c09ySGFzaC5sZW5ndGgscz1uPHQubGVuZ3RoLTE/dFtuKzFdLm1vZGlmaWVkU3RhcnQ6dGhpcy5fbW9kaWZpZWRFbGVtZW50c09ySGFzaC5sZW5ndGgsYT1yLm9yaWdpbmFsTGVuZ3RoPjAsbz1yLm1vZGlmaWVkTGVuZ3RoPjA7Zm9yKDtyLm9yaWdpbmFsU3RhcnQrci5vcmlnaW5hbExlbmd0aDxpJiZyLm1vZGlmaWVkU3RhcnQrci5tb2RpZmllZExlbmd0aDxzJiYoIWF8fHRoaXMuT3JpZ2luYWxFbGVtZW50c0FyZUVxdWFsKHIub3JpZ2luYWxTdGFydCxyLm9yaWdpbmFsU3RhcnQrci5vcmlnaW5hbExlbmd0aCkpJiYoIW98fHRoaXMuTW9kaWZpZWRFbGVtZW50c0FyZUVxdWFsKHIubW9kaWZpZWRTdGFydCxyLm1vZGlmaWVkU3RhcnQrci5tb2RpZmllZExlbmd0aCkpOyl7Y29uc3QgdT10aGlzLkVsZW1lbnRzQXJlU3RyaWN0RXF1YWwoci5vcmlnaW5hbFN0YXJ0LHIubW9kaWZpZWRTdGFydCk7aWYodGhpcy5FbGVtZW50c0FyZVN0cmljdEVxdWFsKHIub3JpZ2luYWxTdGFydCtyLm9yaWdpbmFsTGVuZ3RoLHIubW9kaWZpZWRTdGFydCtyLm1vZGlmaWVkTGVuZ3RoKSYmIXUpYnJlYWs7ci5vcmlnaW5hbFN0YXJ0Kyssci5tb2RpZmllZFN0YXJ0Kyt9Y29uc3QgbD1bbnVsbF07aWYobjx0Lmxlbmd0aC0xJiZ0aGlzLkNoYW5nZXNPdmVybGFwKHRbbl0sdFtuKzFdLGwpKXt0W25dPWxbMF0sdC5zcGxpY2UobisxLDEpLG4tLTtjb250aW51ZX19Zm9yKGxldCBuPXQubGVuZ3RoLTE7bj49MDtuLS0pe2NvbnN0IHI9dFtuXTtsZXQgaT0wLHM9MDtpZihuPjApe2NvbnN0IGg9dFtuLTFdO2k9aC5vcmlnaW5hbFN0YXJ0K2gub3JpZ2luYWxMZW5ndGgscz1oLm1vZGlmaWVkU3RhcnQraC5tb2RpZmllZExlbmd0aH1jb25zdCBhPXIub3JpZ2luYWxMZW5ndGg+MCxvPXIubW9kaWZpZWRMZW5ndGg+MDtsZXQgbD0wLHU9dGhpcy5fYm91bmRhcnlTY29yZShyLm9yaWdpbmFsU3RhcnQsci5vcmlnaW5hbExlbmd0aCxyLm1vZGlmaWVkU3RhcnQsci5tb2RpZmllZExlbmd0aCk7Zm9yKGxldCBoPTE7O2grKyl7Y29uc3QgZD1yLm9yaWdpbmFsU3RhcnQtaCxnPXIubW9kaWZpZWRTdGFydC1oO2lmKGQ8aXx8ZzxzfHxhJiYhdGhpcy5PcmlnaW5hbEVsZW1lbnRzQXJlRXF1YWwoZCxkK3Iub3JpZ2luYWxMZW5ndGgpfHxvJiYhdGhpcy5Nb2RpZmllZEVsZW1lbnRzQXJlRXF1YWwoZyxnK3IubW9kaWZpZWRMZW5ndGgpKWJyZWFrO2NvbnN0IHY9KGQ9PT1pJiZnPT09cz81OjApK3RoaXMuX2JvdW5kYXJ5U2NvcmUoZCxyLm9yaWdpbmFsTGVuZ3RoLGcsci5tb2RpZmllZExlbmd0aCk7dj51JiYodT12LGw9aCl9ci5vcmlnaW5hbFN0YXJ0LT1sLHIubW9kaWZpZWRTdGFydC09bDtjb25zdCBmPVtudWxsXTtpZihuPjAmJnRoaXMuQ2hhbmdlc092ZXJsYXAodFtuLTFdLHRbbl0sZikpe3Rbbi0xXT1mWzBdLHQuc3BsaWNlKG4sMSksbisrO2NvbnRpbnVlfX1pZih0aGlzLl9oYXNTdHJpbmdzKWZvcihsZXQgbj0xLHI9dC5sZW5ndGg7bjxyO24rKyl7Y29uc3QgaT10W24tMV0scz10W25dLGE9cy5vcmlnaW5hbFN0YXJ0LWkub3JpZ2luYWxTdGFydC1pLm9yaWdpbmFsTGVuZ3RoLG89aS5vcmlnaW5hbFN0YXJ0LGw9cy5vcmlnaW5hbFN0YXJ0K3Mub3JpZ2luYWxMZW5ndGgsdT1sLW8sZj1pLm1vZGlmaWVkU3RhcnQsaD1zLm1vZGlmaWVkU3RhcnQrcy5tb2RpZmllZExlbmd0aCxkPWgtZjtpZihhPDUmJnU8MjAmJmQ8MjApe2NvbnN0IGc9dGhpcy5fZmluZEJldHRlckNvbnRpZ3VvdXNTZXF1ZW5jZShvLHUsZixkLGEpO2lmKGcpe2NvbnN0W20sdl09ZzsobSE9PWkub3JpZ2luYWxTdGFydCtpLm9yaWdpbmFsTGVuZ3RofHx2IT09aS5tb2RpZmllZFN0YXJ0K2kubW9kaWZpZWRMZW5ndGgpJiYoaS5vcmlnaW5hbExlbmd0aD1tLWkub3JpZ2luYWxTdGFydCxpLm1vZGlmaWVkTGVuZ3RoPXYtaS5tb2RpZmllZFN0YXJ0LHMub3JpZ2luYWxTdGFydD1tK2Escy5tb2RpZmllZFN0YXJ0PXYrYSxzLm9yaWdpbmFsTGVuZ3RoPWwtcy5vcmlnaW5hbFN0YXJ0LHMubW9kaWZpZWRMZW5ndGg9aC1zLm1vZGlmaWVkU3RhcnQpfX19cmV0dXJuIHR9X2ZpbmRCZXR0ZXJDb250aWd1b3VzU2VxdWVuY2UodCxuLHIsaSxzKXtpZihuPHN8fGk8cylyZXR1cm4gbnVsbDtjb25zdCBhPXQrbi1zKzEsbz1yK2ktcysxO2xldCBsPTAsdT0wLGY9MDtmb3IobGV0IGg9dDtoPGE7aCsrKWZvcihsZXQgZD1yO2Q8bztkKyspe2NvbnN0IGc9dGhpcy5fY29udGlndW91c1NlcXVlbmNlU2NvcmUoaCxkLHMpO2c+MCYmZz5sJiYobD1nLHU9aCxmPWQpfXJldHVybiBsPjA/W3UsZl06bnVsbH1fY29udGlndW91c1NlcXVlbmNlU2NvcmUodCxuLHIpe2xldCBpPTA7Zm9yKGxldCBzPTA7czxyO3MrKyl7aWYoIXRoaXMuRWxlbWVudHNBcmVFcXVhbCh0K3MsbitzKSlyZXR1cm4gMDtpKz10aGlzLl9vcmlnaW5hbFN0cmluZ0VsZW1lbnRzW3Qrc10ubGVuZ3RofXJldHVybiBpfV9PcmlnaW5hbElzQm91bmRhcnkodCl7cmV0dXJuIHQ8PTB8fHQ+PXRoaXMuX29yaWdpbmFsRWxlbWVudHNPckhhc2gubGVuZ3RoLTE/ITA6dGhpcy5faGFzU3RyaW5ncyYmL15ccyokLy50ZXN0KHRoaXMuX29yaWdpbmFsU3RyaW5nRWxlbWVudHNbdF0pfV9PcmlnaW5hbFJlZ2lvbklzQm91bmRhcnkodCxuKXtpZih0aGlzLl9PcmlnaW5hbElzQm91bmRhcnkodCl8fHRoaXMuX09yaWdpbmFsSXNCb3VuZGFyeSh0LTEpKXJldHVybiEwO2lmKG4+MCl7Y29uc3Qgcj10K247aWYodGhpcy5fT3JpZ2luYWxJc0JvdW5kYXJ5KHItMSl8fHRoaXMuX09yaWdpbmFsSXNCb3VuZGFyeShyKSlyZXR1cm4hMH1yZXR1cm4hMX1fTW9kaWZpZWRJc0JvdW5kYXJ5KHQpe3JldHVybiB0PD0wfHx0Pj10aGlzLl9tb2RpZmllZEVsZW1lbnRzT3JIYXNoLmxlbmd0aC0xPyEwOnRoaXMuX2hhc1N0cmluZ3MmJi9eXHMqJC8udGVzdCh0aGlzLl9tb2RpZmllZFN0cmluZ0VsZW1lbnRzW3RdKX1fTW9kaWZpZWRSZWdpb25Jc0JvdW5kYXJ5KHQsbil7aWYodGhpcy5fTW9kaWZpZWRJc0JvdW5kYXJ5KHQpfHx0aGlzLl9Nb2RpZmllZElzQm91bmRhcnkodC0xKSlyZXR1cm4hMDtpZihuPjApe2NvbnN0IHI9dCtuO2lmKHRoaXMuX01vZGlmaWVkSXNCb3VuZGFyeShyLTEpfHx0aGlzLl9Nb2RpZmllZElzQm91bmRhcnkocikpcmV0dXJuITB9cmV0dXJuITF9X2JvdW5kYXJ5U2NvcmUodCxuLHIsaSl7Y29uc3Qgcz10aGlzLl9PcmlnaW5hbFJlZ2lvbklzQm91bmRhcnkodCxuKT8xOjAsYT10aGlzLl9Nb2RpZmllZFJlZ2lvbklzQm91bmRhcnkocixpKT8xOjA7cmV0dXJuIHMrYX1Db25jYXRlbmF0ZUNoYW5nZXModCxuKXtjb25zdCByPVtdO2lmKHQubGVuZ3RoPT09MHx8bi5sZW5ndGg9PT0wKXJldHVybiBuLmxlbmd0aD4wP246dDtpZih0aGlzLkNoYW5nZXNPdmVybGFwKHRbdC5sZW5ndGgtMV0sblswXSxyKSl7Y29uc3QgaT1uZXcgQXJyYXkodC5sZW5ndGgrbi5sZW5ndGgtMSk7cmV0dXJuIG10LkNvcHkodCwwLGksMCx0Lmxlbmd0aC0xKSxpW3QubGVuZ3RoLTFdPXJbMF0sbXQuQ29weShuLDEsaSx0Lmxlbmd0aCxuLmxlbmd0aC0xKSxpfWVsc2V7Y29uc3QgaT1uZXcgQXJyYXkodC5sZW5ndGgrbi5sZW5ndGgpO3JldHVybiBtdC5Db3B5KHQsMCxpLDAsdC5sZW5ndGgpLG10LkNvcHkobiwwLGksdC5sZW5ndGgsbi5sZW5ndGgpLGl9fUNoYW5nZXNPdmVybGFwKHQsbixyKXtpZihndC5Bc3NlcnQodC5vcmlnaW5hbFN0YXJ0PD1uLm9yaWdpbmFsU3RhcnQsIkxlZnQgY2hhbmdlIGlzIG5vdCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gcmlnaHQgY2hhbmdlIiksZ3QuQXNzZXJ0KHQubW9kaWZpZWRTdGFydDw9bi5tb2RpZmllZFN0YXJ0LCJMZWZ0IGNoYW5nZSBpcyBub3QgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHJpZ2h0IGNoYW5nZSIpLHQub3JpZ2luYWxTdGFydCt0Lm9yaWdpbmFsTGVuZ3RoPj1uLm9yaWdpbmFsU3RhcnR8fHQubW9kaWZpZWRTdGFydCt0Lm1vZGlmaWVkTGVuZ3RoPj1uLm1vZGlmaWVkU3RhcnQpe2NvbnN0IGk9dC5vcmlnaW5hbFN0YXJ0O2xldCBzPXQub3JpZ2luYWxMZW5ndGg7Y29uc3QgYT10Lm1vZGlmaWVkU3RhcnQ7bGV0IG89dC5tb2RpZmllZExlbmd0aDtyZXR1cm4gdC5vcmlnaW5hbFN0YXJ0K3Qub3JpZ2luYWxMZW5ndGg+PW4ub3JpZ2luYWxTdGFydCYmKHM9bi5vcmlnaW5hbFN0YXJ0K24ub3JpZ2luYWxMZW5ndGgtdC5vcmlnaW5hbFN0YXJ0KSx0Lm1vZGlmaWVkU3RhcnQrdC5tb2RpZmllZExlbmd0aD49bi5tb2RpZmllZFN0YXJ0JiYobz1uLm1vZGlmaWVkU3RhcnQrbi5tb2RpZmllZExlbmd0aC10Lm1vZGlmaWVkU3RhcnQpLHJbMF09bmV3IHplKGkscyxhLG8pLCEwfWVsc2UgcmV0dXJuIHJbMF09bnVsbCwhMX1DbGlwRGlhZ29uYWxCb3VuZCh0LG4scixpKXtpZih0Pj0wJiZ0PGkpcmV0dXJuIHQ7Y29uc3Qgcz1yLGE9aS1yLTEsbz1uJTI9PT0wO2lmKHQ8MCl7Y29uc3QgbD1zJTI9PT0wO3JldHVybiBvPT09bD8wOjF9ZWxzZXtjb25zdCBsPWElMj09PTA7cmV0dXJuIG89PT1sP2ktMTppLTJ9fX12YXIgSnI9e0dJVEhVQl9TVEFURToiL2hvbWUvcnVubmVyL3dvcmsvX3RlbXAvX3J1bm5lcl9maWxlX2NvbW1hbmRzL3NhdmVfc3RhdGVfMWRiMjRkOTktNzQ1Yi00NGU2LTkxMTgtOTJkYTc3MjljOTE0IixTVEFUU19UUlA6InRydWUiLERFUExPWU1FTlRfQkFTRVBBVEg6Ii9vcHQvcnVubmVyIixET1RORVRfTk9MT0dPOiIxIixVU0VSOiJydW5uZXIiLG5wbV9jb25maWdfYWx3YXlzX2F1dGg6IiIsbnBtX2NvbmZpZ191c2VyX2FnZW50OiJucG0vMTAuNS4wIG5vZGUvdjE4LjIwLjIgbGludXggeDY0IHdvcmtzcGFjZXMvZmFsc2UgY2kvZ2l0aHViLWFjdGlvbnMiLENJOiJ0cnVlIixSVU5ORVJfRU5WSVJPTk1FTlQ6ImdpdGh1Yi1ob3N0ZWQiLEdJVEhVQl9FTlY6Ii9ob21lL3J1bm5lci93b3JrL190ZW1wL19ydW5uZXJfZmlsZV9jb21tYW5kcy9zZXRfZW52XzFkYjI0ZDk5LTc0NWItNDRlNi05MTE4LTkyZGE3NzI5YzkxNCIsUElQWF9IT01FOiIvb3B0L3BpcHgiLG5wbV9ub2RlX2V4ZWNwYXRoOiIvb3B0L2hvc3RlZHRvb2xjYWNoZS9ub2RlLzE4LjIwLjIveDY0L2Jpbi9ub2RlIixKQVZBX0hPTUVfOF9YNjQ6Ii91c3IvbGliL2p2bS90ZW11cmluLTgtamRrLWFtZDY0IixOT0RFX0FVVEhfVE9LRU46IlhYWFhYLVhYWFhYLVhYWFhYLVhYWFhYIixTSExWTDoiMSIsbnBtX2NvbmZpZ19ub3Byb3h5OiIiLEhPTUU6Ii9ob21lL3J1bm5lciIsUlVOTkVSX1RFTVA6Ii9ob21lL3J1bm5lci93b3JrL190ZW1wIixHSVRIVUJfRVZFTlRfUEFUSDoiL2hvbWUvcnVubmVyL3dvcmsvX3RlbXAvX2dpdGh1Yl93b3JrZmxvdy9ldmVudC5qc29uIixucG1fcGFja2FnZV9qc29uOiIvaG9tZS9ydW5uZXIvd29yay9vcGVuYXBpLXVpL29wZW5hcGktdWkvcGFja2FnZS5qc29uIixKQVZBX0hPTUVfMTFfWDY0OiIvdXNyL2xpYi9qdm0vdGVtdXJpbi0xMS1qZGstYW1kNjQiLFBJUFhfQklOX0RJUjoiL29wdC9waXB4X2JpbiIsR0lUSFVCX1JFUE9TSVRPUllfT1dORVI6InJvb2tpZS1sdW9jaGFvIixucG1fY29uZmlnX2F1dG9faW5zdGFsbF9wZWVyczoidHJ1ZSIsbnBtX3BhY2thZ2VfZW5naW5lc19ub2RlOiJeMTguMC4wIHx8ID49MjAuMC4wIixHUkFETEVfSE9NRToiL3Vzci9zaGFyZS9ncmFkbGUtOC43IixBTkRST0lEX05ES19MQVRFU1RfSE9NRToiL3Vzci9sb2NhbC9saWIvYW5kcm9pZC9zZGsvbmRrLzI2LjMuMTE1NzkyNjQiLEpBVkFfSE9NRV8yMV9YNjQ6Ii91c3IvbGliL2p2bS90ZW11cmluLTIxLWpkay1hbWQ2NCIsU1RBVFNfUkRDTDoidHJ1ZSIsR0lUSFVCX1JFVEVOVElPTl9EQVlTOiI5MCIsR0lUSFVCX1JFUE9TSVRPUllfT1dORVJfSUQ6IjIyOTQ4MDc3IixQT1dFUlNIRUxMX0RJU1RSSUJVVElPTl9DSEFOTkVMOiJHaXRIdWItQWN0aW9ucy11YnVudHUyMiIsQVpVUkVfRVhURU5TSU9OX0RJUjoiL29wdC9hei9hemNsaWV4dGVuc2lvbnMiLEdJVEhVQl9IRUFEX1JFRjoiIixucG1fY29uZmlnX2xvY2FsX3ByZWZpeDoiL2hvbWUvcnVubmVyL3dvcmsvb3BlbmFwaS11aS9vcGVuYXBpLXVpIixTWVNURU1EX0VYRUNfUElEOiI1OTEiLEdJVEhVQl9HUkFQSFFMX1VSTDoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9ncmFwaHFsIixDT0xPUjoiMCIsR09ST09UXzFfMjBfWDY0OiIvb3B0L2hvc3RlZHRvb2xjYWNoZS9nby8xLjIwLjE0L3g2NCIsTlZNX0RJUjoiL2hvbWUvcnVubmVyLy5udm0iLERPVE5FVF9TS0lQX0ZJUlNUX1RJTUVfRVhQRVJJRU5DRToiMSIsR09ST09UXzFfMjFfWDY0OiIvb3B0L2hvc3RlZHRvb2xjYWNoZS9nby8xLjIxLjkveDY0IixKQVZBX0hPTUVfMTdfWDY0OiIvdXNyL2xpYi9qdm0vdGVtdXJpbi0xNy1qZGstYW1kNjQiLEltYWdlVmVyc2lvbjoiMjAyNDA0MjIuMS4wIixSVU5ORVJfT1M6IkxpbnV4IixHSVRIVUJfQVBJX1VSTDoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbSIsR09ST09UXzFfMjJfWDY0OiIvb3B0L2hvc3RlZHRvb2xjYWNoZS9nby8xLjIyLjIveDY0IixTV0lGVF9QQVRIOiIvdXNyL3NoYXJlL3N3aWZ0L3Vzci9iaW4iLFJVTk5FUl9VU0VSOiJydW5uZXIiLFNUQVRTX1YzUFM6InRydWUiLENIUk9NRVdFQkRSSVZFUjoiL3Vzci9sb2NhbC9zaGFyZS9jaHJvbWVkcml2ZXItbGludXg2NCIsSk9VUk5BTF9TVFJFQU06Ijg6MTczOTkiLEdJVEhVQl9XT1JLRkxPVzoiUHVibGlzaCBQYWNrYWdlIENJIixfOiIvb3B0L2hvc3RlZHRvb2xjYWNoZS9ub2RlLzE4LjIwLjIveDY0L2Jpbi9ucG0iLG5wbV9jb25maWdfcHJlZml4OiIvb3B0L2hvc3RlZHRvb2xjYWNoZS9ub2RlLzE4LjIwLjIveDY0IixucG1fY29uZmlnX25wbV92ZXJzaW9uOiIxMC41LjAiLEFDVElPTlNfUlVOTkVSX0FDVElPTl9BUkNISVZFX0NBQ0hFOiIvb3B0L2FjdGlvbmFyY2hpdmVjYWNoZSIsU1RBVFNfRDoidHJ1ZSIsR0lUSFVCX1JVTl9JRDoiOTAzNDM2MzU2NSIsU1RBVFNfVk1GRToidHJ1ZSIsbnBtX2NvbmZpZ19jYWNoZToiL2hvbWUvcnVubmVyLy5ucG0iLEdJVEhVQl9SRUZfVFlQRToidGFnIixCT09UU1RSQVBfSEFTS0VMTF9OT05JTlRFUkFDVElWRToiMSIsR0lUSFVCX1dPUktGTE9XX1NIQToiN2QwNmFhNTk2MmUyODU0MjY3NDk2YWY5NjQ5MDM3MjllYTM3MTJlYSIsR0lUSFVCX0JBU0VfUkVGOiIiLEltYWdlT1M6InVidW50dTIyIixHSVRIVUJfV09SS0ZMT1dfUkVGOiJyb29raWUtbHVvY2hhby9vcGVuYXBpLXVpLy5naXRodWIvd29ya2Zsb3dzL3B1Ymxpc2gtcGFja2FnZS1jaS55bWxAcmVmcy90YWdzL3YyLjIuMSIsUEVSRkxPR19MT0NBVElPTl9TRVRUSU5HOiJSVU5ORVJfUEVSRkxPRyIsR0lUSFVCX0FDVElPTl9SRVBPU0lUT1JZOiIiLG5wbV9jb25maWdfbm9kZV9neXA6Ii9vcHQvaG9zdGVkdG9vbGNhY2hlL25vZGUvMTguMjAuMi94NjQvbGliL25vZGVfbW9kdWxlcy9ucG0vbm9kZV9tb2R1bGVzL25vZGUtZ3lwL2Jpbi9ub2RlLWd5cC5qcyIsUEFUSDoiL2hvbWUvcnVubmVyL3dvcmsvb3BlbmFwaS11aS9vcGVuYXBpLXVpL25vZGVfbW9kdWxlcy8uYmluOi9ob21lL3J1bm5lci93b3JrL29wZW5hcGktdWkvbm9kZV9tb2R1bGVzLy5iaW46L2hvbWUvcnVubmVyL3dvcmsvbm9kZV9tb2R1bGVzLy5iaW46L2hvbWUvcnVubmVyL25vZGVfbW9kdWxlcy8uYmluOi9ob21lL25vZGVfbW9kdWxlcy8uYmluOi9ub2RlX21vZHVsZXMvLmJpbjovb3B0L2hvc3RlZHRvb2xjYWNoZS9ub2RlLzE4LjIwLjIveDY0L2xpYi9ub2RlX21vZHVsZXMvbnBtL25vZGVfbW9kdWxlcy9AbnBtY2xpL3J1bi1zY3JpcHQvbGliL25vZGUtZ3lwLWJpbjovb3B0L2hvc3RlZHRvb2xjYWNoZS9ub2RlLzE4LjIwLjIveDY0L2Jpbjovc25hcC9iaW46L2hvbWUvcnVubmVyLy5sb2NhbC9iaW46L29wdC9waXB4X2JpbjovaG9tZS9ydW5uZXIvLmNhcmdvL2JpbjovaG9tZS9ydW5uZXIvLmNvbmZpZy9jb21wb3Nlci92ZW5kb3IvYmluOi91c3IvbG9jYWwvLmdoY3VwL2JpbjovaG9tZS9ydW5uZXIvLmRvdG5ldC90b29sczovdXNyL2xvY2FsL3NiaW46L3Vzci9sb2NhbC9iaW46L3Vzci9zYmluOi91c3IvYmluOi9zYmluOi9iaW46L3Vzci9nYW1lczovdXNyL2xvY2FsL2dhbWVzOi9zbmFwL2JpbiIsQU5UX0hPTUU6Ii91c3Ivc2hhcmUvYW50IixET1RORVRfTVVMVElMRVZFTF9MT09LVVA6IjAiLFJVTk5FUl9UUkFDS0lOR19JRDoiZ2l0aHViXzhlM2YwNmUyLTAxZWUtNGRkMy04ZmYwLTRhZDkwZjBmNWYyOCIsSU5WT0NBVElPTl9JRDoiZDAwNTdjMDk0MzE3NGM0ZTk1ZTI5OTY4OGIyNzA2ODAiLE5QTV9DT05GSUdfVVNFUkNPTkZJRzoiL2hvbWUvcnVubmVyL3dvcmsvX3RlbXAvLm5wbXJjIixSVU5ORVJfVE9PTF9DQUNIRToiL29wdC9ob3N0ZWR0b29sY2FjaGUiLE5PREU6Ii9vcHQvaG9zdGVkdG9vbGNhY2hlL25vZGUvMTguMjAuMi94NjQvYmluL25vZGUiLG5wbV9wYWNrYWdlX25hbWU6Im9wZW5hcGktdWktZGlzdCIsR0lUSFVCX0FDVElPTjoiX19ydW5fMyIsR0lUSFVCX1JVTl9OVU1CRVI6IjUiLEdJVEhVQl9UUklHR0VSSU5HX0FDVE9SOiJyb29raWUtbHVvY2hhbyIsUlVOTkVSX0FSQ0g6Ilg2NCIsWERHX1JVTlRJTUVfRElSOiIvcnVuL3VzZXIvMTAwMSIsQUdFTlRfVE9PTFNESVJFQ1RPUlk6Ii9vcHQvaG9zdGVkdG9vbGNhY2hlIixMQU5HOiJDLlVURi04IixWQ1BLR19JTlNUQUxMQVRJT05fUk9PVDoiL3Vzci9sb2NhbC9zaGFyZS92Y3BrZyIsQ09OREE6Ii91c3Ivc2hhcmUvbWluaWNvbmRhIixSVU5ORVJfTkFNRToiR2l0SHViIEFjdGlvbnMgMTkiLFhER19DT05GSUdfSE9NRToiL2hvbWUvcnVubmVyLy5jb25maWciLFNUQVRTX1ZNRDoidHJ1ZSIsR0lUSFVCX1JFRl9OQU1FOiJ2Mi4yLjEiLEdJVEhVQl9SRVBPU0lUT1JZOiJyb29raWUtbHVvY2hhby9vcGVuYXBpLXVpIixTVEFUU19EX0Q6InRydWUiLG5wbV9saWZlY3ljbGVfc2NyaXB0OiJ0c2MgJiYgdml0ZSBidWlsZCAtLWNvbmZpZyB2aXRlLnBhY2thZ2UuY29uZmlnLnRzIC0tbW9kZSBwYWNrYWdlIixTVEFUU19VRToidHJ1ZSIsQU5EUk9JRF9OREtfUk9PVDoiL3Vzci9sb2NhbC9saWIvYW5kcm9pZC9zZGsvbmRrLzI1LjIuOTUxOTY1MyIsR0lUSFVCX0FDVElPTl9SRUY6IiIsREVCSUFOX0ZST05URU5EOiJub25pbnRlcmFjdGl2ZSIsR0lUSFVCX1JFUE9TSVRPUllfSUQ6IjczMzk2OTMzOCIsR0lUSFVCX0FDVElPTlM6InRydWUiLG5wbV9wYWNrYWdlX3ZlcnNpb246IjIuMi4xIixucG1fbGlmZWN5Y2xlX2V2ZW50OiJidWlsZDpwYWNrYWdlIixOT0RFX1BBVEg6Ii9ob21lL3J1bm5lci93b3JrL29wZW5hcGktdWkvb3BlbmFwaS11aS9ub2RlX21vZHVsZXMvLnBucG0vdml0ZUA1LjIuMTFfQHR5cGVzK25vZGVAMjAuMTIuNy9ub2RlX21vZHVsZXMvdml0ZS9iaW4vbm9kZV9tb2R1bGVzOi9ob21lL3J1bm5lci93b3JrL29wZW5hcGktdWkvb3BlbmFwaS11aS9ub2RlX21vZHVsZXMvLnBucG0vdml0ZUA1LjIuMTFfQHR5cGVzK25vZGVAMjAuMTIuNy9ub2RlX21vZHVsZXMvdml0ZS9ub2RlX21vZHVsZXM6L2hvbWUvcnVubmVyL3dvcmsvb3BlbmFwaS11aS9vcGVuYXBpLXVpL25vZGVfbW9kdWxlcy8ucG5wbS92aXRlQDUuMi4xMV9AdHlwZXMrbm9kZUAyMC4xMi43L25vZGVfbW9kdWxlczovaG9tZS9ydW5uZXIvd29yay9vcGVuYXBpLXVpL29wZW5hcGktdWkvbm9kZV9tb2R1bGVzLy5wbnBtL25vZGVfbW9kdWxlcyIsR0lUSFVCX1JFRl9QUk9URUNURUQ6ImZhbHNlIixHSVRIVUJfV09SS1NQQUNFOiIvaG9tZS9ydW5uZXIvd29yay9vcGVuYXBpLXVpL29wZW5hcGktdWkiLEFDQ0VQVF9FVUxBOiJZIixHSVRIVUJfSk9COiJidWlsZCIsUlVOTkVSX1BFUkZMT0c6Ii9ob21lL3J1bm5lci9wZXJmbG9nIixHSVRIVUJfU0hBOiI3ZDA2YWE1OTYyZTI4NTQyNjc0OTZhZjk2NDkwMzcyOWVhMzcxMmVhIixHSVRIVUJfUlVOX0FUVEVNUFQ6IjEiLEdJVEhVQl9SRUY6InJlZnMvdGFncy92Mi4yLjEiLEdJVEhVQl9BQ1RPUjoicm9va2llLWx1b2NoYW8iLEFORFJPSURfU0RLX1JPT1Q6Ii91c3IvbG9jYWwvbGliL2FuZHJvaWQvc2RrIixMRUlOX0hPTUU6Ii91c3IvbG9jYWwvbGliL2xlaW4iLG5wbV9jb25maWdfZ2xvYmFsY29uZmlnOiIvb3B0L2hvc3RlZHRvb2xjYWNoZS9ub2RlLzE4LjIwLjIveDY0L2V0Yy9ucG1yYyIsbnBtX2NvbmZpZ19pbml0X21vZHVsZToiL2hvbWUvcnVubmVyLy5ucG0taW5pdC5qcyIsR0lUSFVCX1BBVEg6Ii9ob21lL3J1bm5lci93b3JrL190ZW1wL19ydW5uZXJfZmlsZV9jb21tYW5kcy9hZGRfcGF0aF8xZGIyNGQ5OS03NDViLTQ0ZTYtOTExOC05MmRhNzcyOWM5MTQiLEpBVkFfSE9NRToiL3Vzci9saWIvanZtL3RlbXVyaW4tMTEtamRrLWFtZDY0IixQV0Q6Ii9ob21lL3J1bm5lci93b3JrL29wZW5hcGktdWkvb3BlbmFwaS11aSIsR0lUSFVCX0FDVE9SX0lEOiIyMjk0ODA3NyIsUlVOTkVSX1dPUktTUEFDRToiL2hvbWUvcnVubmVyL3dvcmsvb3BlbmFwaS11aSIsbnBtX2V4ZWNwYXRoOiIvb3B0L2hvc3RlZHRvb2xjYWNoZS9ub2RlLzE4LjIwLjIveDY0L2xpYi9ub2RlX21vZHVsZXMvbnBtL2Jpbi9ucG0tY2xpLmpzIixIT01FQlJFV19DTEVBTlVQX1BFUklPRElDX0ZVTExfREFZUzoiMzY1MCIsR0lUSFVCX0VWRU5UX05BTUU6InB1c2giLEhPTUVCUkVXX05PX0FVVE9fVVBEQVRFOiIxIixBTkRST0lEX0hPTUU6Ii91c3IvbG9jYWwvbGliL2FuZHJvaWQvc2RrIixHSVRIVUJfU0VSVkVSX1VSTDoiaHR0cHM6Ly9naXRodWIuY29tIixHRUNLT1dFQkRSSVZFUjoiL3Vzci9sb2NhbC9zaGFyZS9nZWNrb19kcml2ZXIiLExFSU5fSkFSOiIvdXNyL2xvY2FsL2xpYi9sZWluL3NlbGYtaW5zdGFsbHMvbGVpbmluZ2VuLTIuMTEuMi1zdGFuZGFsb25lLmphciIsR0hDVVBfSU5TVEFMTF9CQVNFX1BSRUZJWDoiL3Vzci9sb2NhbCIsR0lUSFVCX09VVFBVVDoiL2hvbWUvcnVubmVyL3dvcmsvX3RlbXAvX3J1bm5lcl9maWxlX2NvbW1hbmRzL3NldF9vdXRwdXRfMWRiMjRkOTktNzQ1Yi00NGU2LTkxMTgtOTJkYTc3MjljOTE0IixucG1fY29uZmlnX2dsb2JhbF9wcmVmaXg6Ii9vcHQvaG9zdGVkdG9vbGNhY2hlL25vZGUvMTguMjAuMi94NjQiLEVER0VXRUJEUklWRVI6Ii91c3IvbG9jYWwvc2hhcmUvZWRnZV9kcml2ZXIiLFNUQVRTX0VYVDoidHJ1ZSIsbnBtX2NvbW1hbmQ6InJ1bi1zY3JpcHQiLEFORFJPSURfTkRLOiIvdXNyL2xvY2FsL2xpYi9hbmRyb2lkL3Nkay9uZGsvMjUuMi45NTE5NjUzIixTR1hfQUVTTV9BRERSOiIxIixDSFJPTUVfQklOOiIvdXNyL2Jpbi9nb29nbGUtY2hyb21lIixTRUxFTklVTV9KQVJfUEFUSDoiL3Vzci9zaGFyZS9qYXZhL3NlbGVuaXVtLXNlcnZlci5qYXIiLFNUQVRTX0VYVFA6Imh0dHBzOi8vcHJvdmpvYmRzZXR0aW5nc2Nkbi5ibG9iLmNvcmUud2luZG93cy5uZXQvc2V0dGluZ3MvcHJvdmpvYmRzZXR0aW5ncy0wLjUuMTcyKzEvcHJvdmpvYmQuZGF0YSIsQU5EUk9JRF9OREtfSE9NRToiL3Vzci9sb2NhbC9saWIvYW5kcm9pZC9zZGsvbmRrLzI1LjIuOTUxOTY1MyIsR0lUSFVCX1NURVBfU1VNTUFSWToiL2hvbWUvcnVubmVyL3dvcmsvX3RlbXAvX3J1bm5lcl9maWxlX2NvbW1hbmRzL3N0ZXBfc3VtbWFyeV8xZGIyNGQ5OS03NDViLTQ0ZTYtOTExOC05MmRhNzcyOWM5MTQiLElOSVRfQ1dEOiIvaG9tZS9ydW5uZXIvd29yay9vcGVuYXBpLXVpL29wZW5hcGktdWkiLEVESVRPUjoidmkiLE5PREVfRU5WOiJwcm9kdWN0aW9uIn07bGV0IHB0O2NvbnN0IEJuPWdsb2JhbFRoaXMudnNjb2RlO2lmKHR5cGVvZiBCbjwidSImJnR5cGVvZiBCbi5wcm9jZXNzPCJ1Iil7Y29uc3QgZT1Cbi5wcm9jZXNzO3B0PXtnZXQgcGxhdGZvcm0oKXtyZXR1cm4gZS5wbGF0Zm9ybX0sZ2V0IGFyY2goKXtyZXR1cm4gZS5hcmNofSxnZXQgZW52KCl7cmV0dXJuIGUuZW52fSxjd2QoKXtyZXR1cm4gZS5jd2QoKX19fWVsc2UgdHlwZW9mIHByb2Nlc3M8InUiP3B0PXtnZXQgcGxhdGZvcm0oKXtyZXR1cm4gcHJvY2Vzcy5wbGF0Zm9ybX0sZ2V0IGFyY2goKXtyZXR1cm4gcHJvY2Vzcy5hcmNofSxnZXQgZW52KCl7cmV0dXJuIEpyfSxjd2QoKXtyZXR1cm4gSnIuVlNDT0RFX0NXRHx8cHJvY2Vzcy5jd2QoKX19OnB0PXtnZXQgcGxhdGZvcm0oKXtyZXR1cm4gUnQ/IndpbjMyIjpaYT8iZGFyd2luIjoibGludXgifSxnZXQgYXJjaCgpe30sZ2V0IGVudigpe3JldHVybnt9fSxjd2QoKXtyZXR1cm4iLyJ9fTtjb25zdCBlbj1wdC5jd2Qsd289cHQuZW52LE5vPXB0LnBsYXRmb3JtLFNvPTY1LExvPTk3LEFvPTkwLENvPTEyMixKZT00NixvZT00NyxnZT05MixYZT01OCxFbz02MztjbGFzcyBYciBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQsbixyKXtsZXQgaTt0eXBlb2Ygbj09InN0cmluZyImJm4uaW5kZXhPZigibm90ICIpPT09MD8oaT0ibXVzdCBub3QgYmUiLG49bi5yZXBsYWNlKC9ebm90IC8sIiIpKTppPSJtdXN0IGJlIjtjb25zdCBzPXQuaW5kZXhPZigiLiIpIT09LTE/InByb3BlcnR5IjoiYXJndW1lbnQiO2xldCBhPWBUaGUgIiR7dH0iICR7c30gJHtpfSBvZiB0eXBlICR7bn1gO2ErPWAuIFJlY2VpdmVkIHR5cGUgJHt0eXBlb2Ygcn1gLHN1cGVyKGEpLHRoaXMuY29kZT0iRVJSX0lOVkFMSURfQVJHX1RZUEUifX1mdW5jdGlvbiBrbyhlLHQpe2lmKGU9PT1udWxsfHx0eXBlb2YgZSE9Im9iamVjdCIpdGhyb3cgbmV3IFhyKHQsIk9iamVjdCIsZSl9ZnVuY3Rpb24gZWUoZSx0KXtpZih0eXBlb2YgZSE9InN0cmluZyIpdGhyb3cgbmV3IFhyKHQsInN0cmluZyIsZSl9Y29uc3QgWWU9Tm89PT0id2luMzIiO2Z1bmN0aW9uICQoZSl7cmV0dXJuIGU9PT1vZXx8ZT09PWdlfWZ1bmN0aW9uIGpuKGUpe3JldHVybiBlPT09b2V9ZnVuY3Rpb24gUWUoZSl7cmV0dXJuIGU+PVNvJiZlPD1Bb3x8ZT49TG8mJmU8PUNvfWZ1bmN0aW9uIHRuKGUsdCxuLHIpe2xldCBpPSIiLHM9MCxhPS0xLG89MCxsPTA7Zm9yKGxldCB1PTA7dTw9ZS5sZW5ndGg7Kyt1KXtpZih1PGUubGVuZ3RoKWw9ZS5jaGFyQ29kZUF0KHUpO2Vsc2V7aWYocihsKSlicmVhaztsPW9lfWlmKHIobCkpe2lmKCEoYT09PXUtMXx8bz09PTEpKWlmKG89PT0yKXtpZihpLmxlbmd0aDwyfHxzIT09Mnx8aS5jaGFyQ29kZUF0KGkubGVuZ3RoLTEpIT09SmV8fGkuY2hhckNvZGVBdChpLmxlbmd0aC0yKSE9PUplKXtpZihpLmxlbmd0aD4yKXtjb25zdCBmPWkubGFzdEluZGV4T2Yobik7Zj09PS0xPyhpPSIiLHM9MCk6KGk9aS5zbGljZSgwLGYpLHM9aS5sZW5ndGgtMS1pLmxhc3RJbmRleE9mKG4pKSxhPXUsbz0wO2NvbnRpbnVlfWVsc2UgaWYoaS5sZW5ndGghPT0wKXtpPSIiLHM9MCxhPXUsbz0wO2NvbnRpbnVlfX10JiYoaSs9aS5sZW5ndGg+MD9gJHtufS4uYDoiLi4iLHM9Mil9ZWxzZSBpLmxlbmd0aD4wP2krPWAke259JHtlLnNsaWNlKGErMSx1KX1gOmk9ZS5zbGljZShhKzEsdSkscz11LWEtMTthPXUsbz0wfWVsc2UgbD09PUplJiZvIT09LTE/KytvOm89LTF9cmV0dXJuIGl9ZnVuY3Rpb24gWXIoZSx0KXtrbyh0LCJwYXRoT2JqZWN0Iik7Y29uc3Qgbj10LmRpcnx8dC5yb290LHI9dC5iYXNlfHxgJHt0Lm5hbWV8fCIifSR7dC5leHR8fCIifWA7cmV0dXJuIG4/bj09PXQucm9vdD9gJHtufSR7cn1gOmAke259JHtlfSR7cn1gOnJ9Y29uc3QgaGU9e3Jlc29sdmUoLi4uZSl7bGV0IHQ9IiIsbj0iIixyPSExO2ZvcihsZXQgaT1lLmxlbmd0aC0xO2k+PS0xO2ktLSl7bGV0IHM7aWYoaT49MCl7aWYocz1lW2ldLGVlKHMsInBhdGgiKSxzLmxlbmd0aD09PTApY29udGludWV9ZWxzZSB0Lmxlbmd0aD09PTA/cz1lbigpOihzPXdvW2A9JHt0fWBdfHxlbigpLChzPT09dm9pZCAwfHxzLnNsaWNlKDAsMikudG9Mb3dlckNhc2UoKSE9PXQudG9Mb3dlckNhc2UoKSYmcy5jaGFyQ29kZUF0KDIpPT09Z2UpJiYocz1gJHt0fVxcYCkpO2NvbnN0IGE9cy5sZW5ndGg7bGV0IG89MCxsPSIiLHU9ITE7Y29uc3QgZj1zLmNoYXJDb2RlQXQoMCk7aWYoYT09PTEpJChmKSYmKG89MSx1PSEwKTtlbHNlIGlmKCQoZikpaWYodT0hMCwkKHMuY2hhckNvZGVBdCgxKSkpe2xldCBoPTIsZD1oO2Zvcig7aDxhJiYhJChzLmNoYXJDb2RlQXQoaCkpOyloKys7aWYoaDxhJiZoIT09ZCl7Y29uc3QgZz1zLnNsaWNlKGQsaCk7Zm9yKGQ9aDtoPGEmJiQocy5jaGFyQ29kZUF0KGgpKTspaCsrO2lmKGg8YSYmaCE9PWQpe2ZvcihkPWg7aDxhJiYhJChzLmNoYXJDb2RlQXQoaCkpOyloKys7KGg9PT1hfHxoIT09ZCkmJihsPWBcXFxcJHtnfVxcJHtzLnNsaWNlKGQsaCl9YCxvPWgpfX19ZWxzZSBvPTE7ZWxzZSBRZShmKSYmcy5jaGFyQ29kZUF0KDEpPT09WGUmJihsPXMuc2xpY2UoMCwyKSxvPTIsYT4yJiYkKHMuY2hhckNvZGVBdCgyKSkmJih1PSEwLG89MykpO2lmKGwubGVuZ3RoPjApaWYodC5sZW5ndGg+MCl7aWYobC50b0xvd2VyQ2FzZSgpIT09dC50b0xvd2VyQ2FzZSgpKWNvbnRpbnVlfWVsc2UgdD1sO2lmKHIpe2lmKHQubGVuZ3RoPjApYnJlYWt9ZWxzZSBpZihuPWAke3Muc2xpY2Uobyl9XFwke259YCxyPXUsdSYmdC5sZW5ndGg+MClicmVha31yZXR1cm4gbj10bihuLCFyLCJcXCIsJCkscj9gJHt0fVxcJHtufWA6YCR7dH0ke259YHx8Ii4ifSxub3JtYWxpemUoZSl7ZWUoZSwicGF0aCIpO2NvbnN0IHQ9ZS5sZW5ndGg7aWYodD09PTApcmV0dXJuIi4iO2xldCBuPTAscixpPSExO2NvbnN0IHM9ZS5jaGFyQ29kZUF0KDApO2lmKHQ9PT0xKXJldHVybiBqbihzKT8iXFwiOmU7aWYoJChzKSlpZihpPSEwLCQoZS5jaGFyQ29kZUF0KDEpKSl7bGV0IG89MixsPW87Zm9yKDtvPHQmJiEkKGUuY2hhckNvZGVBdChvKSk7KW8rKztpZihvPHQmJm8hPT1sKXtjb25zdCB1PWUuc2xpY2UobCxvKTtmb3IobD1vO288dCYmJChlLmNoYXJDb2RlQXQobykpOylvKys7aWYobzx0JiZvIT09bCl7Zm9yKGw9bztvPHQmJiEkKGUuY2hhckNvZGVBdChvKSk7KW8rKztpZihvPT09dClyZXR1cm5gXFxcXCR7dX1cXCR7ZS5zbGljZShsKX1cXGA7byE9PWwmJihyPWBcXFxcJHt1fVxcJHtlLnNsaWNlKGwsbyl9YCxuPW8pfX19ZWxzZSBuPTE7ZWxzZSBRZShzKSYmZS5jaGFyQ29kZUF0KDEpPT09WGUmJihyPWUuc2xpY2UoMCwyKSxuPTIsdD4yJiYkKGUuY2hhckNvZGVBdCgyKSkmJihpPSEwLG49MykpO2xldCBhPW48dD90bihlLnNsaWNlKG4pLCFpLCJcXCIsJCk6IiI7cmV0dXJuIGEubGVuZ3RoPT09MCYmIWkmJihhPSIuIiksYS5sZW5ndGg+MCYmJChlLmNoYXJDb2RlQXQodC0xKSkmJihhKz0iXFwiKSxyPT09dm9pZCAwP2k/YFxcJHthfWA6YTppP2Ake3J9XFwke2F9YDpgJHtyfSR7YX1gfSxpc0Fic29sdXRlKGUpe2VlKGUsInBhdGgiKTtjb25zdCB0PWUubGVuZ3RoO2lmKHQ9PT0wKXJldHVybiExO2NvbnN0IG49ZS5jaGFyQ29kZUF0KDApO3JldHVybiAkKG4pfHx0PjImJlFlKG4pJiZlLmNoYXJDb2RlQXQoMSk9PT1YZSYmJChlLmNoYXJDb2RlQXQoMikpfSxqb2luKC4uLmUpe2lmKGUubGVuZ3RoPT09MClyZXR1cm4iLiI7bGV0IHQsbjtmb3IobGV0IHM9MDtzPGUubGVuZ3RoOysrcyl7Y29uc3QgYT1lW3NdO2VlKGEsInBhdGgiKSxhLmxlbmd0aD4wJiYodD09PXZvaWQgMD90PW49YTp0Kz1gXFwke2F9YCl9aWYodD09PXZvaWQgMClyZXR1cm4iLiI7bGV0IHI9ITAsaT0wO2lmKHR5cGVvZiBuPT0ic3RyaW5nIiYmJChuLmNoYXJDb2RlQXQoMCkpKXsrK2k7Y29uc3Qgcz1uLmxlbmd0aDtzPjEmJiQobi5jaGFyQ29kZUF0KDEpKSYmKCsraSxzPjImJigkKG4uY2hhckNvZGVBdCgyKSk/KytpOnI9ITEpKX1pZihyKXtmb3IoO2k8dC5sZW5ndGgmJiQodC5jaGFyQ29kZUF0KGkpKTspaSsrO2k+PTImJih0PWBcXCR7dC5zbGljZShpKX1gKX1yZXR1cm4gaGUubm9ybWFsaXplKHQpfSxyZWxhdGl2ZShlLHQpe2lmKGVlKGUsImZyb20iKSxlZSh0LCJ0byIpLGU9PT10KXJldHVybiIiO2NvbnN0IG49aGUucmVzb2x2ZShlKSxyPWhlLnJlc29sdmUodCk7aWYobj09PXJ8fChlPW4udG9Mb3dlckNhc2UoKSx0PXIudG9Mb3dlckNhc2UoKSxlPT09dCkpcmV0dXJuIiI7bGV0IGk9MDtmb3IoO2k8ZS5sZW5ndGgmJmUuY2hhckNvZGVBdChpKT09PWdlOylpKys7bGV0IHM9ZS5sZW5ndGg7Zm9yKDtzLTE+aSYmZS5jaGFyQ29kZUF0KHMtMSk9PT1nZTspcy0tO2NvbnN0IGE9cy1pO2xldCBvPTA7Zm9yKDtvPHQubGVuZ3RoJiZ0LmNoYXJDb2RlQXQobyk9PT1nZTspbysrO2xldCBsPXQubGVuZ3RoO2Zvcig7bC0xPm8mJnQuY2hhckNvZGVBdChsLTEpPT09Z2U7KWwtLTtjb25zdCB1PWwtbyxmPWE8dT9hOnU7bGV0IGg9LTEsZD0wO2Zvcig7ZDxmO2QrKyl7Y29uc3QgbT1lLmNoYXJDb2RlQXQoaStkKTtpZihtIT09dC5jaGFyQ29kZUF0KG8rZCkpYnJlYWs7bT09PWdlJiYoaD1kKX1pZihkIT09Zil7aWYoaD09PS0xKXJldHVybiByfWVsc2V7aWYodT5mKXtpZih0LmNoYXJDb2RlQXQobytkKT09PWdlKXJldHVybiByLnNsaWNlKG8rZCsxKTtpZihkPT09MilyZXR1cm4gci5zbGljZShvK2QpfWE+ZiYmKGUuY2hhckNvZGVBdChpK2QpPT09Z2U/aD1kOmQ9PT0yJiYoaD0zKSksaD09PS0xJiYoaD0wKX1sZXQgZz0iIjtmb3IoZD1pK2grMTtkPD1zOysrZCkoZD09PXN8fGUuY2hhckNvZGVBdChkKT09PWdlKSYmKGcrPWcubGVuZ3RoPT09MD8iLi4iOiJcXC4uIik7cmV0dXJuIG8rPWgsZy5sZW5ndGg+MD9gJHtnfSR7ci5zbGljZShvLGwpfWA6KHIuY2hhckNvZGVBdChvKT09PWdlJiYrK28sci5zbGljZShvLGwpKX0sdG9OYW1lc3BhY2VkUGF0aChlKXtpZih0eXBlb2YgZSE9InN0cmluZyJ8fGUubGVuZ3RoPT09MClyZXR1cm4gZTtjb25zdCB0PWhlLnJlc29sdmUoZSk7aWYodC5sZW5ndGg8PTIpcmV0dXJuIGU7aWYodC5jaGFyQ29kZUF0KDApPT09Z2Upe2lmKHQuY2hhckNvZGVBdCgxKT09PWdlKXtjb25zdCBuPXQuY2hhckNvZGVBdCgyKTtpZihuIT09RW8mJm4hPT1KZSlyZXR1cm5gXFxcXD9cXFVOQ1xcJHt0LnNsaWNlKDIpfWB9fWVsc2UgaWYoUWUodC5jaGFyQ29kZUF0KDApKSYmdC5jaGFyQ29kZUF0KDEpPT09WGUmJnQuY2hhckNvZGVBdCgyKT09PWdlKXJldHVybmBcXFxcP1xcJHt0fWA7cmV0dXJuIGV9LGRpcm5hbWUoZSl7ZWUoZSwicGF0aCIpO2NvbnN0IHQ9ZS5sZW5ndGg7aWYodD09PTApcmV0dXJuIi4iO2xldCBuPS0xLHI9MDtjb25zdCBpPWUuY2hhckNvZGVBdCgwKTtpZih0PT09MSlyZXR1cm4gJChpKT9lOiIuIjtpZigkKGkpKXtpZihuPXI9MSwkKGUuY2hhckNvZGVBdCgxKSkpe2xldCBvPTIsbD1vO2Zvcig7bzx0JiYhJChlLmNoYXJDb2RlQXQobykpOylvKys7aWYobzx0JiZvIT09bCl7Zm9yKGw9bztvPHQmJiQoZS5jaGFyQ29kZUF0KG8pKTspbysrO2lmKG88dCYmbyE9PWwpe2ZvcihsPW87bzx0JiYhJChlLmNoYXJDb2RlQXQobykpOylvKys7aWYobz09PXQpcmV0dXJuIGU7byE9PWwmJihuPXI9bysxKX19fX1lbHNlIFFlKGkpJiZlLmNoYXJDb2RlQXQoMSk9PT1YZSYmKG49dD4yJiYkKGUuY2hhckNvZGVBdCgyKSk/MzoyLHI9bik7bGV0IHM9LTEsYT0hMDtmb3IobGV0IG89dC0xO28+PXI7LS1vKWlmKCQoZS5jaGFyQ29kZUF0KG8pKSl7aWYoIWEpe3M9bzticmVha319ZWxzZSBhPSExO2lmKHM9PT0tMSl7aWYobj09PS0xKXJldHVybiIuIjtzPW59cmV0dXJuIGUuc2xpY2UoMCxzKX0sYmFzZW5hbWUoZSx0KXt0IT09dm9pZCAwJiZlZSh0LCJleHQiKSxlZShlLCJwYXRoIik7bGV0IG49MCxyPS0xLGk9ITAscztpZihlLmxlbmd0aD49MiYmUWUoZS5jaGFyQ29kZUF0KDApKSYmZS5jaGFyQ29kZUF0KDEpPT09WGUmJihuPTIpLHQhPT12b2lkIDAmJnQubGVuZ3RoPjAmJnQubGVuZ3RoPD1lLmxlbmd0aCl7aWYodD09PWUpcmV0dXJuIiI7bGV0IGE9dC5sZW5ndGgtMSxvPS0xO2ZvcihzPWUubGVuZ3RoLTE7cz49bjstLXMpe2NvbnN0IGw9ZS5jaGFyQ29kZUF0KHMpO2lmKCQobCkpe2lmKCFpKXtuPXMrMTticmVha319ZWxzZSBvPT09LTEmJihpPSExLG89cysxKSxhPj0wJiYobD09PXQuY2hhckNvZGVBdChhKT8tLWE9PT0tMSYmKHI9cyk6KGE9LTEscj1vKSl9cmV0dXJuIG49PT1yP3I9bzpyPT09LTEmJihyPWUubGVuZ3RoKSxlLnNsaWNlKG4scil9Zm9yKHM9ZS5sZW5ndGgtMTtzPj1uOy0tcylpZigkKGUuY2hhckNvZGVBdChzKSkpe2lmKCFpKXtuPXMrMTticmVha319ZWxzZSByPT09LTEmJihpPSExLHI9cysxKTtyZXR1cm4gcj09PS0xPyIiOmUuc2xpY2UobixyKX0sZXh0bmFtZShlKXtlZShlLCJwYXRoIik7bGV0IHQ9MCxuPS0xLHI9MCxpPS0xLHM9ITAsYT0wO2UubGVuZ3RoPj0yJiZlLmNoYXJDb2RlQXQoMSk9PT1YZSYmUWUoZS5jaGFyQ29kZUF0KDApKSYmKHQ9cj0yKTtmb3IobGV0IG89ZS5sZW5ndGgtMTtvPj10Oy0tbyl7Y29uc3QgbD1lLmNoYXJDb2RlQXQobyk7aWYoJChsKSl7aWYoIXMpe3I9bysxO2JyZWFrfWNvbnRpbnVlfWk9PT0tMSYmKHM9ITEsaT1vKzEpLGw9PT1KZT9uPT09LTE/bj1vOmEhPT0xJiYoYT0xKTpuIT09LTEmJihhPS0xKX1yZXR1cm4gbj09PS0xfHxpPT09LTF8fGE9PT0wfHxhPT09MSYmbj09PWktMSYmbj09PXIrMT8iIjplLnNsaWNlKG4saSl9LGZvcm1hdDpZci5iaW5kKG51bGwsIlxcIikscGFyc2UoZSl7ZWUoZSwicGF0aCIpO2NvbnN0IHQ9e3Jvb3Q6IiIsZGlyOiIiLGJhc2U6IiIsZXh0OiIiLG5hbWU6IiJ9O2lmKGUubGVuZ3RoPT09MClyZXR1cm4gdDtjb25zdCBuPWUubGVuZ3RoO2xldCByPTAsaT1lLmNoYXJDb2RlQXQoMCk7aWYobj09PTEpcmV0dXJuICQoaSk/KHQucm9vdD10LmRpcj1lLHQpOih0LmJhc2U9dC5uYW1lPWUsdCk7aWYoJChpKSl7aWYocj0xLCQoZS5jaGFyQ29kZUF0KDEpKSl7bGV0IGg9MixkPWg7Zm9yKDtoPG4mJiEkKGUuY2hhckNvZGVBdChoKSk7KWgrKztpZihoPG4mJmghPT1kKXtmb3IoZD1oO2g8biYmJChlLmNoYXJDb2RlQXQoaCkpOyloKys7aWYoaDxuJiZoIT09ZCl7Zm9yKGQ9aDtoPG4mJiEkKGUuY2hhckNvZGVBdChoKSk7KWgrKztoPT09bj9yPWg6aCE9PWQmJihyPWgrMSl9fX19ZWxzZSBpZihRZShpKSYmZS5jaGFyQ29kZUF0KDEpPT09WGUpe2lmKG48PTIpcmV0dXJuIHQucm9vdD10LmRpcj1lLHQ7aWYocj0yLCQoZS5jaGFyQ29kZUF0KDIpKSl7aWYobj09PTMpcmV0dXJuIHQucm9vdD10LmRpcj1lLHQ7cj0zfX1yPjAmJih0LnJvb3Q9ZS5zbGljZSgwLHIpKTtsZXQgcz0tMSxhPXIsbz0tMSxsPSEwLHU9ZS5sZW5ndGgtMSxmPTA7Zm9yKDt1Pj1yOy0tdSl7aWYoaT1lLmNoYXJDb2RlQXQodSksJChpKSl7aWYoIWwpe2E9dSsxO2JyZWFrfWNvbnRpbnVlfW89PT0tMSYmKGw9ITEsbz11KzEpLGk9PT1KZT9zPT09LTE/cz11OmYhPT0xJiYoZj0xKTpzIT09LTEmJihmPS0xKX1yZXR1cm4gbyE9PS0xJiYocz09PS0xfHxmPT09MHx8Zj09PTEmJnM9PT1vLTEmJnM9PT1hKzE/dC5iYXNlPXQubmFtZT1lLnNsaWNlKGEsbyk6KHQubmFtZT1lLnNsaWNlKGEscyksdC5iYXNlPWUuc2xpY2UoYSxvKSx0LmV4dD1lLnNsaWNlKHMsbykpKSxhPjAmJmEhPT1yP3QuZGlyPWUuc2xpY2UoMCxhLTEpOnQuZGlyPXQucm9vdCx0fSxzZXA6IlxcIixkZWxpbWl0ZXI6IjsiLHdpbjMyOm51bGwscG9zaXg6bnVsbH0sUm89KCgpPT57aWYoWWUpe2NvbnN0IGU9L1xcL2c7cmV0dXJuKCk9Pntjb25zdCB0PWVuKCkucmVwbGFjZShlLCIvIik7cmV0dXJuIHQuc2xpY2UodC5pbmRleE9mKCIvIikpfX1yZXR1cm4oKT0+ZW4oKX0pKCksbWU9e3Jlc29sdmUoLi4uZSl7bGV0IHQ9IiIsbj0hMTtmb3IobGV0IHI9ZS5sZW5ndGgtMTtyPj0tMSYmIW47ci0tKXtjb25zdCBpPXI+PTA/ZVtyXTpSbygpO2VlKGksInBhdGgiKSxpLmxlbmd0aCE9PTAmJih0PWAke2l9LyR7dH1gLG49aS5jaGFyQ29kZUF0KDApPT09b2UpfXJldHVybiB0PXRuKHQsIW4sIi8iLGpuKSxuP2AvJHt0fWA6dC5sZW5ndGg+MD90OiIuIn0sbm9ybWFsaXplKGUpe2lmKGVlKGUsInBhdGgiKSxlLmxlbmd0aD09PTApcmV0dXJuIi4iO2NvbnN0IHQ9ZS5jaGFyQ29kZUF0KDApPT09b2Usbj1lLmNoYXJDb2RlQXQoZS5sZW5ndGgtMSk9PT1vZTtyZXR1cm4gZT10bihlLCF0LCIvIixqbiksZS5sZW5ndGg9PT0wP3Q/Ii8iOm4/Ii4vIjoiLiI6KG4mJihlKz0iLyIpLHQ/YC8ke2V9YDplKX0saXNBYnNvbHV0ZShlKXtyZXR1cm4gZWUoZSwicGF0aCIpLGUubGVuZ3RoPjAmJmUuY2hhckNvZGVBdCgwKT09PW9lfSxqb2luKC4uLmUpe2lmKGUubGVuZ3RoPT09MClyZXR1cm4iLiI7bGV0IHQ7Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDsrK24pe2NvbnN0IHI9ZVtuXTtlZShyLCJwYXRoIiksci5sZW5ndGg+MCYmKHQ9PT12b2lkIDA/dD1yOnQrPWAvJHtyfWApfXJldHVybiB0PT09dm9pZCAwPyIuIjptZS5ub3JtYWxpemUodCl9LHJlbGF0aXZlKGUsdCl7aWYoZWUoZSwiZnJvbSIpLGVlKHQsInRvIiksZT09PXR8fChlPW1lLnJlc29sdmUoZSksdD1tZS5yZXNvbHZlKHQpLGU9PT10KSlyZXR1cm4iIjtjb25zdCBuPTEscj1lLmxlbmd0aCxpPXItbixzPTEsYT10Lmxlbmd0aC1zLG89aTxhP2k6YTtsZXQgbD0tMSx1PTA7Zm9yKDt1PG87dSsrKXtjb25zdCBoPWUuY2hhckNvZGVBdChuK3UpO2lmKGghPT10LmNoYXJDb2RlQXQocyt1KSlicmVhaztoPT09b2UmJihsPXUpfWlmKHU9PT1vKWlmKGE+byl7aWYodC5jaGFyQ29kZUF0KHMrdSk9PT1vZSlyZXR1cm4gdC5zbGljZShzK3UrMSk7aWYodT09PTApcmV0dXJuIHQuc2xpY2Uocyt1KX1lbHNlIGk+byYmKGUuY2hhckNvZGVBdChuK3UpPT09b2U/bD11OnU9PT0wJiYobD0wKSk7bGV0IGY9IiI7Zm9yKHU9bitsKzE7dTw9cjsrK3UpKHU9PT1yfHxlLmNoYXJDb2RlQXQodSk9PT1vZSkmJihmKz1mLmxlbmd0aD09PTA/Ii4uIjoiLy4uIik7cmV0dXJuYCR7Zn0ke3Quc2xpY2UocytsKX1gfSx0b05hbWVzcGFjZWRQYXRoKGUpe3JldHVybiBlfSxkaXJuYW1lKGUpe2lmKGVlKGUsInBhdGgiKSxlLmxlbmd0aD09PTApcmV0dXJuIi4iO2NvbnN0IHQ9ZS5jaGFyQ29kZUF0KDApPT09b2U7bGV0IG49LTEscj0hMDtmb3IobGV0IGk9ZS5sZW5ndGgtMTtpPj0xOy0taSlpZihlLmNoYXJDb2RlQXQoaSk9PT1vZSl7aWYoIXIpe249aTticmVha319ZWxzZSByPSExO3JldHVybiBuPT09LTE/dD8iLyI6Ii4iOnQmJm49PT0xPyIvLyI6ZS5zbGljZSgwLG4pfSxiYXNlbmFtZShlLHQpe3QhPT12b2lkIDAmJmVlKHQsImV4dCIpLGVlKGUsInBhdGgiKTtsZXQgbj0wLHI9LTEsaT0hMCxzO2lmKHQhPT12b2lkIDAmJnQubGVuZ3RoPjAmJnQubGVuZ3RoPD1lLmxlbmd0aCl7aWYodD09PWUpcmV0dXJuIiI7bGV0IGE9dC5sZW5ndGgtMSxvPS0xO2ZvcihzPWUubGVuZ3RoLTE7cz49MDstLXMpe2NvbnN0IGw9ZS5jaGFyQ29kZUF0KHMpO2lmKGw9PT1vZSl7aWYoIWkpe249cysxO2JyZWFrfX1lbHNlIG89PT0tMSYmKGk9ITEsbz1zKzEpLGE+PTAmJihsPT09dC5jaGFyQ29kZUF0KGEpPy0tYT09PS0xJiYocj1zKTooYT0tMSxyPW8pKX1yZXR1cm4gbj09PXI/cj1vOnI9PT0tMSYmKHI9ZS5sZW5ndGgpLGUuc2xpY2UobixyKX1mb3Iocz1lLmxlbmd0aC0xO3M+PTA7LS1zKWlmKGUuY2hhckNvZGVBdChzKT09PW9lKXtpZighaSl7bj1zKzE7YnJlYWt9fWVsc2Ugcj09PS0xJiYoaT0hMSxyPXMrMSk7cmV0dXJuIHI9PT0tMT8iIjplLnNsaWNlKG4scil9LGV4dG5hbWUoZSl7ZWUoZSwicGF0aCIpO2xldCB0PS0xLG49MCxyPS0xLGk9ITAscz0wO2ZvcihsZXQgYT1lLmxlbmd0aC0xO2E+PTA7LS1hKXtjb25zdCBvPWUuY2hhckNvZGVBdChhKTtpZihvPT09b2Upe2lmKCFpKXtuPWErMTticmVha31jb250aW51ZX1yPT09LTEmJihpPSExLHI9YSsxKSxvPT09SmU/dD09PS0xP3Q9YTpzIT09MSYmKHM9MSk6dCE9PS0xJiYocz0tMSl9cmV0dXJuIHQ9PT0tMXx8cj09PS0xfHxzPT09MHx8cz09PTEmJnQ9PT1yLTEmJnQ9PT1uKzE/IiI6ZS5zbGljZSh0LHIpfSxmb3JtYXQ6WXIuYmluZChudWxsLCIvIikscGFyc2UoZSl7ZWUoZSwicGF0aCIpO2NvbnN0IHQ9e3Jvb3Q6IiIsZGlyOiIiLGJhc2U6IiIsZXh0OiIiLG5hbWU6IiJ9O2lmKGUubGVuZ3RoPT09MClyZXR1cm4gdDtjb25zdCBuPWUuY2hhckNvZGVBdCgwKT09PW9lO2xldCByO24/KHQucm9vdD0iLyIscj0xKTpyPTA7bGV0IGk9LTEscz0wLGE9LTEsbz0hMCxsPWUubGVuZ3RoLTEsdT0wO2Zvcig7bD49cjstLWwpe2NvbnN0IGY9ZS5jaGFyQ29kZUF0KGwpO2lmKGY9PT1vZSl7aWYoIW8pe3M9bCsxO2JyZWFrfWNvbnRpbnVlfWE9PT0tMSYmKG89ITEsYT1sKzEpLGY9PT1KZT9pPT09LTE/aT1sOnUhPT0xJiYodT0xKTppIT09LTEmJih1PS0xKX1pZihhIT09LTEpe2NvbnN0IGY9cz09PTAmJm4/MTpzO2k9PT0tMXx8dT09PTB8fHU9PT0xJiZpPT09YS0xJiZpPT09cysxP3QuYmFzZT10Lm5hbWU9ZS5zbGljZShmLGEpOih0Lm5hbWU9ZS5zbGljZShmLGkpLHQuYmFzZT1lLnNsaWNlKGYsYSksdC5leHQ9ZS5zbGljZShpLGEpKX1yZXR1cm4gcz4wP3QuZGlyPWUuc2xpY2UoMCxzLTEpOm4mJih0LmRpcj0iLyIpLHR9LHNlcDoiLyIsZGVsaW1pdGVyOiI6Iix3aW4zMjpudWxsLHBvc2l4Om51bGx9O21lLndpbjMyPWhlLndpbjMyPWhlLG1lLnBvc2l4PWhlLnBvc2l4PW1lLFllP2hlLm5vcm1hbGl6ZTptZS5ub3JtYWxpemUsWWU/aGUucmVzb2x2ZTptZS5yZXNvbHZlLFllP2hlLnJlbGF0aXZlOm1lLnJlbGF0aXZlLFllP2hlLmRpcm5hbWU6bWUuZGlybmFtZSxZZT9oZS5iYXNlbmFtZTptZS5iYXNlbmFtZSxZZT9oZS5leHRuYW1lOm1lLmV4dG5hbWUsWWU/aGUuc2VwOm1lLnNlcDtjb25zdCBUbz0vXlx3W1x3XGQrLi1dKiQvLE1vPS9eXC8vLFBvPS9eXC9cLy87ZnVuY3Rpb24gSW8oZSx0KXtpZighZS5zY2hlbWUmJnQpdGhyb3cgbmV3IEVycm9yKGBbVXJpRXJyb3JdOiBTY2hlbWUgaXMgbWlzc2luZzoge3NjaGVtZTogIiIsIGF1dGhvcml0eTogIiR7ZS5hdXRob3JpdHl9IiwgcGF0aDogIiR7ZS5wYXRofSIsIHF1ZXJ5OiAiJHtlLnF1ZXJ5fSIsIGZyYWdtZW50OiAiJHtlLmZyYWdtZW50fSJ9YCk7aWYoZS5zY2hlbWUmJiFUby50ZXN0KGUuc2NoZW1lKSl0aHJvdyBuZXcgRXJyb3IoIltVcmlFcnJvcl06IFNjaGVtZSBjb250YWlucyBpbGxlZ2FsIGNoYXJhY3RlcnMuIik7aWYoZS5wYXRoKXtpZihlLmF1dGhvcml0eSl7aWYoIU1vLnRlc3QoZS5wYXRoKSl0aHJvdyBuZXcgRXJyb3IoJ1tVcmlFcnJvcl06IElmIGEgVVJJIGNvbnRhaW5zIGFuIGF1dGhvcml0eSBjb21wb25lbnQsIHRoZW4gdGhlIHBhdGggY29tcG9uZW50IG11c3QgZWl0aGVyIGJlIGVtcHR5IG9yIGJlZ2luIHdpdGggYSBzbGFzaCAoIi8iKSBjaGFyYWN0ZXInKX1lbHNlIGlmKFBvLnRlc3QoZS5wYXRoKSl0aHJvdyBuZXcgRXJyb3IoJ1tVcmlFcnJvcl06IElmIGEgVVJJIGRvZXMgbm90IGNvbnRhaW4gYW4gYXV0aG9yaXR5IGNvbXBvbmVudCwgdGhlbiB0aGUgcGF0aCBjYW5ub3QgYmVnaW4gd2l0aCB0d28gc2xhc2ggY2hhcmFjdGVycyAoIi8vIiknKX19ZnVuY3Rpb24gRm8oZSx0KXtyZXR1cm4hZSYmIXQ/ImZpbGUiOmV9ZnVuY3Rpb24gRG8oZSx0KXtzd2l0Y2goZSl7Y2FzZSJodHRwcyI6Y2FzZSJodHRwIjpjYXNlImZpbGUiOnQ/dFswXSE9PUVlJiYodD1FZSt0KTp0PUVlO2JyZWFrfXJldHVybiB0fWNvbnN0IFo9IiIsRWU9Ii8iLE9vPS9eKChbXjovPyNdKz8pOik/KFwvXC8oW14vPyNdKikpPyhbXj8jXSopKFw/KFteI10qKSk/KCMoLiopKT8vO2xldCBxbj1jbGFzcyBDbntzdGF0aWMgaXNVcmkodCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBDbj8hMDp0P3R5cGVvZiB0LmF1dGhvcml0eT09InN0cmluZyImJnR5cGVvZiB0LmZyYWdtZW50PT0ic3RyaW5nIiYmdHlwZW9mIHQucGF0aD09InN0cmluZyImJnR5cGVvZiB0LnF1ZXJ5PT0ic3RyaW5nIiYmdHlwZW9mIHQuc2NoZW1lPT0ic3RyaW5nIiYmdHlwZW9mIHQuZnNQYXRoPT0ic3RyaW5nIiYmdHlwZW9mIHQud2l0aD09ImZ1bmN0aW9uIiYmdHlwZW9mIHQudG9TdHJpbmc9PSJmdW5jdGlvbiI6ITF9Y29uc3RydWN0b3IodCxuLHIsaSxzLGE9ITEpe3R5cGVvZiB0PT0ib2JqZWN0Ij8odGhpcy5zY2hlbWU9dC5zY2hlbWV8fFosdGhpcy5hdXRob3JpdHk9dC5hdXRob3JpdHl8fFosdGhpcy5wYXRoPXQucGF0aHx8Wix0aGlzLnF1ZXJ5PXQucXVlcnl8fFosdGhpcy5mcmFnbWVudD10LmZyYWdtZW50fHxaKToodGhpcy5zY2hlbWU9Rm8odCxhKSx0aGlzLmF1dGhvcml0eT1ufHxaLHRoaXMucGF0aD1Ebyh0aGlzLnNjaGVtZSxyfHxaKSx0aGlzLnF1ZXJ5PWl8fFosdGhpcy5mcmFnbWVudD1zfHxaLElvKHRoaXMsYSkpfWdldCBmc1BhdGgoKXtyZXR1cm4gSG4odGhpcywhMSl9d2l0aCh0KXtpZighdClyZXR1cm4gdGhpcztsZXR7c2NoZW1lOm4sYXV0aG9yaXR5OnIscGF0aDppLHF1ZXJ5OnMsZnJhZ21lbnQ6YX09dDtyZXR1cm4gbj09PXZvaWQgMD9uPXRoaXMuc2NoZW1lOm49PT1udWxsJiYobj1aKSxyPT09dm9pZCAwP3I9dGhpcy5hdXRob3JpdHk6cj09PW51bGwmJihyPVopLGk9PT12b2lkIDA/aT10aGlzLnBhdGg6aT09PW51bGwmJihpPVopLHM9PT12b2lkIDA/cz10aGlzLnF1ZXJ5OnM9PT1udWxsJiYocz1aKSxhPT09dm9pZCAwP2E9dGhpcy5mcmFnbWVudDphPT09bnVsbCYmKGE9Wiksbj09PXRoaXMuc2NoZW1lJiZyPT09dGhpcy5hdXRob3JpdHkmJmk9PT10aGlzLnBhdGgmJnM9PT10aGlzLnF1ZXJ5JiZhPT09dGhpcy5mcmFnbWVudD90aGlzOm5ldyB2dChuLHIsaSxzLGEpfXN0YXRpYyBwYXJzZSh0LG49ITEpe2NvbnN0IHI9T28uZXhlYyh0KTtyZXR1cm4gcj9uZXcgdnQoclsyXXx8WixubihyWzRdfHxaKSxubihyWzVdfHxaKSxubihyWzddfHxaKSxubihyWzldfHxaKSxuKTpuZXcgdnQoWixaLFosWixaKX1zdGF0aWMgZmlsZSh0KXtsZXQgbj1aO2lmKFJ0JiYodD10LnJlcGxhY2UoL1xcL2csRWUpKSx0WzBdPT09RWUmJnRbMV09PT1FZSl7Y29uc3Qgcj10LmluZGV4T2YoRWUsMik7cj09PS0xPyhuPXQuc3Vic3RyaW5nKDIpLHQ9RWUpOihuPXQuc3Vic3RyaW5nKDIsciksdD10LnN1YnN0cmluZyhyKXx8RWUpfXJldHVybiBuZXcgdnQoImZpbGUiLG4sdCxaLFopfXN0YXRpYyBmcm9tKHQsbil7cmV0dXJuIG5ldyB2dCh0LnNjaGVtZSx0LmF1dGhvcml0eSx0LnBhdGgsdC5xdWVyeSx0LmZyYWdtZW50LG4pfXN0YXRpYyBqb2luUGF0aCh0LC4uLm4pe2lmKCF0LnBhdGgpdGhyb3cgbmV3IEVycm9yKCJbVXJpRXJyb3JdOiBjYW5ub3QgY2FsbCBqb2luUGF0aCBvbiBVUkkgd2l0aG91dCBwYXRoIik7bGV0IHI7cmV0dXJuIFJ0JiZ0LnNjaGVtZT09PSJmaWxlIj9yPUNuLmZpbGUoaGUuam9pbihIbih0LCEwKSwuLi5uKSkucGF0aDpyPW1lLmpvaW4odC5wYXRoLC4uLm4pLHQud2l0aCh7cGF0aDpyfSl9dG9TdHJpbmcodD0hMSl7cmV0dXJuICRuKHRoaXMsdCl9dG9KU09OKCl7cmV0dXJuIHRoaXN9c3RhdGljIHJldml2ZSh0KXt2YXIgbixyO2lmKHQpe2lmKHQgaW5zdGFuY2VvZiBDbilyZXR1cm4gdDt7Y29uc3QgaT1uZXcgdnQodCk7cmV0dXJuIGkuX2Zvcm1hdHRlZD0obj10LmV4dGVybmFsKSE9PW51bGwmJm4hPT12b2lkIDA/bjpudWxsLGkuX2ZzUGF0aD10Ll9zZXA9PT1RciYmKHI9dC5mc1BhdGgpIT09bnVsbCYmciE9PXZvaWQgMD9yOm51bGwsaX19ZWxzZSByZXR1cm4gdH19O2NvbnN0IFFyPVJ0PzE6dm9pZCAwO2NsYXNzIHZ0IGV4dGVuZHMgcW57Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2Zvcm1hdHRlZD1udWxsLHRoaXMuX2ZzUGF0aD1udWxsfWdldCBmc1BhdGgoKXtyZXR1cm4gdGhpcy5fZnNQYXRofHwodGhpcy5fZnNQYXRoPUhuKHRoaXMsITEpKSx0aGlzLl9mc1BhdGh9dG9TdHJpbmcodD0hMSl7cmV0dXJuIHQ/JG4odGhpcywhMCk6KHRoaXMuX2Zvcm1hdHRlZHx8KHRoaXMuX2Zvcm1hdHRlZD0kbih0aGlzLCExKSksdGhpcy5fZm9ybWF0dGVkKX10b0pTT04oKXtjb25zdCB0PXskbWlkOjF9O3JldHVybiB0aGlzLl9mc1BhdGgmJih0LmZzUGF0aD10aGlzLl9mc1BhdGgsdC5fc2VwPVFyKSx0aGlzLl9mb3JtYXR0ZWQmJih0LmV4dGVybmFsPXRoaXMuX2Zvcm1hdHRlZCksdGhpcy5wYXRoJiYodC5wYXRoPXRoaXMucGF0aCksdGhpcy5zY2hlbWUmJih0LnNjaGVtZT10aGlzLnNjaGVtZSksdGhpcy5hdXRob3JpdHkmJih0LmF1dGhvcml0eT10aGlzLmF1dGhvcml0eSksdGhpcy5xdWVyeSYmKHQucXVlcnk9dGhpcy5xdWVyeSksdGhpcy5mcmFnbWVudCYmKHQuZnJhZ21lbnQ9dGhpcy5mcmFnbWVudCksdH19Y29uc3QgWnI9ezU4OiIlM0EiLDQ3OiIlMkYiLDYzOiIlM0YiLDM1OiIlMjMiLDkxOiIlNUIiLDkzOiIlNUQiLDY0OiIlNDAiLDMzOiIlMjEiLDM2OiIlMjQiLDM4OiIlMjYiLDM5OiIlMjciLDQwOiIlMjgiLDQxOiIlMjkiLDQyOiIlMkEiLDQzOiIlMkIiLDQ0OiIlMkMiLDU5OiIlM0IiLDYxOiIlM0QiLDMyOiIlMjAifTtmdW5jdGlvbiBLcihlLHQsbil7bGV0IHIsaT0tMTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrKyl7Y29uc3QgYT1lLmNoYXJDb2RlQXQocyk7aWYoYT49OTcmJmE8PTEyMnx8YT49NjUmJmE8PTkwfHxhPj00OCYmYTw9NTd8fGE9PT00NXx8YT09PTQ2fHxhPT09OTV8fGE9PT0xMjZ8fHQmJmE9PT00N3x8biYmYT09PTkxfHxuJiZhPT09OTN8fG4mJmE9PT01OClpIT09LTEmJihyKz1lbmNvZGVVUklDb21wb25lbnQoZS5zdWJzdHJpbmcoaSxzKSksaT0tMSksciE9PXZvaWQgMCYmKHIrPWUuY2hhckF0KHMpKTtlbHNle3I9PT12b2lkIDAmJihyPWUuc3Vic3RyKDAscykpO2NvbnN0IG89WnJbYV07byE9PXZvaWQgMD8oaSE9PS0xJiYocis9ZW5jb2RlVVJJQ29tcG9uZW50KGUuc3Vic3RyaW5nKGkscykpLGk9LTEpLHIrPW8pOmk9PT0tMSYmKGk9cyl9fXJldHVybiBpIT09LTEmJihyKz1lbmNvZGVVUklDb21wb25lbnQoZS5zdWJzdHJpbmcoaSkpKSxyIT09dm9pZCAwP3I6ZX1mdW5jdGlvbiBWbyhlKXtsZXQgdDtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKyl7Y29uc3Qgcj1lLmNoYXJDb2RlQXQobik7cj09PTM1fHxyPT09NjM/KHQ9PT12b2lkIDAmJih0PWUuc3Vic3RyKDAsbikpLHQrPVpyW3JdKTp0IT09dm9pZCAwJiYodCs9ZVtuXSl9cmV0dXJuIHQhPT12b2lkIDA/dDplfWZ1bmN0aW9uIEhuKGUsdCl7bGV0IG47cmV0dXJuIGUuYXV0aG9yaXR5JiZlLnBhdGgubGVuZ3RoPjEmJmUuc2NoZW1lPT09ImZpbGUiP249YC8vJHtlLmF1dGhvcml0eX0ke2UucGF0aH1gOmUucGF0aC5jaGFyQ29kZUF0KDApPT09NDcmJihlLnBhdGguY2hhckNvZGVBdCgxKT49NjUmJmUucGF0aC5jaGFyQ29kZUF0KDEpPD05MHx8ZS5wYXRoLmNoYXJDb2RlQXQoMSk+PTk3JiZlLnBhdGguY2hhckNvZGVBdCgxKTw9MTIyKSYmZS5wYXRoLmNoYXJDb2RlQXQoMik9PT01OD90P249ZS5wYXRoLnN1YnN0cigxKTpuPWUucGF0aFsxXS50b0xvd2VyQ2FzZSgpK2UucGF0aC5zdWJzdHIoMik6bj1lLnBhdGgsUnQmJihuPW4ucmVwbGFjZSgvXC8vZywiXFwiKSksbn1mdW5jdGlvbiAkbihlLHQpe2NvbnN0IG49dD9WbzpLcjtsZXQgcj0iIix7c2NoZW1lOmksYXV0aG9yaXR5OnMscGF0aDphLHF1ZXJ5Om8sZnJhZ21lbnQ6bH09ZTtpZihpJiYocis9aSxyKz0iOiIpLChzfHxpPT09ImZpbGUiKSYmKHIrPUVlLHIrPUVlKSxzKXtsZXQgdT1zLmluZGV4T2YoIkAiKTtpZih1IT09LTEpe2NvbnN0IGY9cy5zdWJzdHIoMCx1KTtzPXMuc3Vic3RyKHUrMSksdT1mLmxhc3RJbmRleE9mKCI6IiksdT09PS0xP3IrPW4oZiwhMSwhMSk6KHIrPW4oZi5zdWJzdHIoMCx1KSwhMSwhMSkscis9IjoiLHIrPW4oZi5zdWJzdHIodSsxKSwhMSwhMCkpLHIrPSJAIn1zPXMudG9Mb3dlckNhc2UoKSx1PXMubGFzdEluZGV4T2YoIjoiKSx1PT09LTE/cis9bihzLCExLCEwKToocis9bihzLnN1YnN0cigwLHUpLCExLCEwKSxyKz1zLnN1YnN0cih1KSl9aWYoYSl7aWYoYS5sZW5ndGg+PTMmJmEuY2hhckNvZGVBdCgwKT09PTQ3JiZhLmNoYXJDb2RlQXQoMik9PT01OCl7Y29uc3QgdT1hLmNoYXJDb2RlQXQoMSk7dT49NjUmJnU8PTkwJiYoYT1gLyR7U3RyaW5nLmZyb21DaGFyQ29kZSh1KzMyKX06JHthLnN1YnN0cigzKX1gKX1lbHNlIGlmKGEubGVuZ3RoPj0yJiZhLmNoYXJDb2RlQXQoMSk9PT01OCl7Y29uc3QgdT1hLmNoYXJDb2RlQXQoMCk7dT49NjUmJnU8PTkwJiYoYT1gJHtTdHJpbmcuZnJvbUNoYXJDb2RlKHUrMzIpfToke2Euc3Vic3RyKDIpfWApfXIrPW4oYSwhMCwhMSl9cmV0dXJuIG8mJihyKz0iPyIscis9bihvLCExLCExKSksbCYmKHIrPSIjIixyKz10P2w6S3IobCwhMSwhMSkpLHJ9ZnVuY3Rpb24gZWkoZSl7dHJ5e3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoZSl9Y2F0Y2h7cmV0dXJuIGUubGVuZ3RoPjM/ZS5zdWJzdHIoMCwzKStlaShlLnN1YnN0cigzKSk6ZX19Y29uc3QgdGk9LyglWzAtOUEtWmEtel1bMC05QS1aYS16XSkrL2c7ZnVuY3Rpb24gbm4oZSl7cmV0dXJuIGUubWF0Y2godGkpP2UucmVwbGFjZSh0aSx0PT5laSh0KSk6ZX1sZXQgUGU9Y2xhc3MgbHR7Y29uc3RydWN0b3IodCxuKXt0aGlzLmxpbmVOdW1iZXI9dCx0aGlzLmNvbHVtbj1ufXdpdGgodD10aGlzLmxpbmVOdW1iZXIsbj10aGlzLmNvbHVtbil7cmV0dXJuIHQ9PT10aGlzLmxpbmVOdW1iZXImJm49PT10aGlzLmNvbHVtbj90aGlzOm5ldyBsdCh0LG4pfWRlbHRhKHQ9MCxuPTApe3JldHVybiB0aGlzLndpdGgodGhpcy5saW5lTnVtYmVyK3QsdGhpcy5jb2x1bW4rbil9ZXF1YWxzKHQpe3JldHVybiBsdC5lcXVhbHModGhpcyx0KX1zdGF0aWMgZXF1YWxzKHQsbil7cmV0dXJuIXQmJiFuPyEwOiEhdCYmISFuJiZ0LmxpbmVOdW1iZXI9PT1uLmxpbmVOdW1iZXImJnQuY29sdW1uPT09bi5jb2x1bW59aXNCZWZvcmUodCl7cmV0dXJuIGx0LmlzQmVmb3JlKHRoaXMsdCl9c3RhdGljIGlzQmVmb3JlKHQsbil7cmV0dXJuIHQubGluZU51bWJlcjxuLmxpbmVOdW1iZXI/ITA6bi5saW5lTnVtYmVyPHQubGluZU51bWJlcj8hMTp0LmNvbHVtbjxuLmNvbHVtbn1pc0JlZm9yZU9yRXF1YWwodCl7cmV0dXJuIGx0LmlzQmVmb3JlT3JFcXVhbCh0aGlzLHQpfXN0YXRpYyBpc0JlZm9yZU9yRXF1YWwodCxuKXtyZXR1cm4gdC5saW5lTnVtYmVyPG4ubGluZU51bWJlcj8hMDpuLmxpbmVOdW1iZXI8dC5saW5lTnVtYmVyPyExOnQuY29sdW1uPD1uLmNvbHVtbn1zdGF0aWMgY29tcGFyZSh0LG4pe2NvbnN0IHI9dC5saW5lTnVtYmVyfDAsaT1uLmxpbmVOdW1iZXJ8MDtpZihyPT09aSl7Y29uc3Qgcz10LmNvbHVtbnwwLGE9bi5jb2x1bW58MDtyZXR1cm4gcy1hfXJldHVybiByLWl9Y2xvbmUoKXtyZXR1cm4gbmV3IGx0KHRoaXMubGluZU51bWJlcix0aGlzLmNvbHVtbil9dG9TdHJpbmcoKXtyZXR1cm4iKCIrdGhpcy5saW5lTnVtYmVyKyIsIit0aGlzLmNvbHVtbisiKSJ9c3RhdGljIGxpZnQodCl7cmV0dXJuIG5ldyBsdCh0LmxpbmVOdW1iZXIsdC5jb2x1bW4pfXN0YXRpYyBpc0lQb3NpdGlvbih0KXtyZXR1cm4gdCYmdHlwZW9mIHQubGluZU51bWJlcj09Im51bWJlciImJnR5cGVvZiB0LmNvbHVtbj09Im51bWJlciJ9dG9KU09OKCl7cmV0dXJue2xpbmVOdW1iZXI6dGhpcy5saW5lTnVtYmVyLGNvbHVtbjp0aGlzLmNvbHVtbn19fSxzZT1jbGFzcyBuZXtjb25zdHJ1Y3Rvcih0LG4scixpKXt0PnJ8fHQ9PT1yJiZuPmk/KHRoaXMuc3RhcnRMaW5lTnVtYmVyPXIsdGhpcy5zdGFydENvbHVtbj1pLHRoaXMuZW5kTGluZU51bWJlcj10LHRoaXMuZW5kQ29sdW1uPW4pOih0aGlzLnN0YXJ0TGluZU51bWJlcj10LHRoaXMuc3RhcnRDb2x1bW49bix0aGlzLmVuZExpbmVOdW1iZXI9cix0aGlzLmVuZENvbHVtbj1pKX1pc0VtcHR5KCl7cmV0dXJuIG5lLmlzRW1wdHkodGhpcyl9c3RhdGljIGlzRW1wdHkodCl7cmV0dXJuIHQuc3RhcnRMaW5lTnVtYmVyPT09dC5lbmRMaW5lTnVtYmVyJiZ0LnN0YXJ0Q29sdW1uPT09dC5lbmRDb2x1bW59Y29udGFpbnNQb3NpdGlvbih0KXtyZXR1cm4gbmUuY29udGFpbnNQb3NpdGlvbih0aGlzLHQpfXN0YXRpYyBjb250YWluc1Bvc2l0aW9uKHQsbil7cmV0dXJuIShuLmxpbmVOdW1iZXI8dC5zdGFydExpbmVOdW1iZXJ8fG4ubGluZU51bWJlcj50LmVuZExpbmVOdW1iZXJ8fG4ubGluZU51bWJlcj09PXQuc3RhcnRMaW5lTnVtYmVyJiZuLmNvbHVtbjx0LnN0YXJ0Q29sdW1ufHxuLmxpbmVOdW1iZXI9PT10LmVuZExpbmVOdW1iZXImJm4uY29sdW1uPnQuZW5kQ29sdW1uKX1zdGF0aWMgc3RyaWN0Q29udGFpbnNQb3NpdGlvbih0LG4pe3JldHVybiEobi5saW5lTnVtYmVyPHQuc3RhcnRMaW5lTnVtYmVyfHxuLmxpbmVOdW1iZXI+dC5lbmRMaW5lTnVtYmVyfHxuLmxpbmVOdW1iZXI9PT10LnN0YXJ0TGluZU51bWJlciYmbi5jb2x1bW48PXQuc3RhcnRDb2x1bW58fG4ubGluZU51bWJlcj09PXQuZW5kTGluZU51bWJlciYmbi5jb2x1bW4+PXQuZW5kQ29sdW1uKX1jb250YWluc1JhbmdlKHQpe3JldHVybiBuZS5jb250YWluc1JhbmdlKHRoaXMsdCl9c3RhdGljIGNvbnRhaW5zUmFuZ2UodCxuKXtyZXR1cm4hKG4uc3RhcnRMaW5lTnVtYmVyPHQuc3RhcnRMaW5lTnVtYmVyfHxuLmVuZExpbmVOdW1iZXI8dC5zdGFydExpbmVOdW1iZXJ8fG4uc3RhcnRMaW5lTnVtYmVyPnQuZW5kTGluZU51bWJlcnx8bi5lbmRMaW5lTnVtYmVyPnQuZW5kTGluZU51bWJlcnx8bi5zdGFydExpbmVOdW1iZXI9PT10LnN0YXJ0TGluZU51bWJlciYmbi5zdGFydENvbHVtbjx0LnN0YXJ0Q29sdW1ufHxuLmVuZExpbmVOdW1iZXI9PT10LmVuZExpbmVOdW1iZXImJm4uZW5kQ29sdW1uPnQuZW5kQ29sdW1uKX1zdHJpY3RDb250YWluc1JhbmdlKHQpe3JldHVybiBuZS5zdHJpY3RDb250YWluc1JhbmdlKHRoaXMsdCl9c3RhdGljIHN0cmljdENvbnRhaW5zUmFuZ2UodCxuKXtyZXR1cm4hKG4uc3RhcnRMaW5lTnVtYmVyPHQuc3RhcnRMaW5lTnVtYmVyfHxuLmVuZExpbmVOdW1iZXI8dC5zdGFydExpbmVOdW1iZXJ8fG4uc3RhcnRMaW5lTnVtYmVyPnQuZW5kTGluZU51bWJlcnx8bi5lbmRMaW5lTnVtYmVyPnQuZW5kTGluZU51bWJlcnx8bi5zdGFydExpbmVOdW1iZXI9PT10LnN0YXJ0TGluZU51bWJlciYmbi5zdGFydENvbHVtbjw9dC5zdGFydENvbHVtbnx8bi5lbmRMaW5lTnVtYmVyPT09dC5lbmRMaW5lTnVtYmVyJiZuLmVuZENvbHVtbj49dC5lbmRDb2x1bW4pfXBsdXNSYW5nZSh0KXtyZXR1cm4gbmUucGx1c1JhbmdlKHRoaXMsdCl9c3RhdGljIHBsdXNSYW5nZSh0LG4pe2xldCByLGkscyxhO3JldHVybiBuLnN0YXJ0TGluZU51bWJlcjx0LnN0YXJ0TGluZU51bWJlcj8ocj1uLnN0YXJ0TGluZU51bWJlcixpPW4uc3RhcnRDb2x1bW4pOm4uc3RhcnRMaW5lTnVtYmVyPT09dC5zdGFydExpbmVOdW1iZXI/KHI9bi5zdGFydExpbmVOdW1iZXIsaT1NYXRoLm1pbihuLnN0YXJ0Q29sdW1uLHQuc3RhcnRDb2x1bW4pKToocj10LnN0YXJ0TGluZU51bWJlcixpPXQuc3RhcnRDb2x1bW4pLG4uZW5kTGluZU51bWJlcj50LmVuZExpbmVOdW1iZXI/KHM9bi5lbmRMaW5lTnVtYmVyLGE9bi5lbmRDb2x1bW4pOm4uZW5kTGluZU51bWJlcj09PXQuZW5kTGluZU51bWJlcj8ocz1uLmVuZExpbmVOdW1iZXIsYT1NYXRoLm1heChuLmVuZENvbHVtbix0LmVuZENvbHVtbikpOihzPXQuZW5kTGluZU51bWJlcixhPXQuZW5kQ29sdW1uKSxuZXcgbmUocixpLHMsYSl9aW50ZXJzZWN0UmFuZ2VzKHQpe3JldHVybiBuZS5pbnRlcnNlY3RSYW5nZXModGhpcyx0KX1zdGF0aWMgaW50ZXJzZWN0UmFuZ2VzKHQsbil7bGV0IHI9dC5zdGFydExpbmVOdW1iZXIsaT10LnN0YXJ0Q29sdW1uLHM9dC5lbmRMaW5lTnVtYmVyLGE9dC5lbmRDb2x1bW47Y29uc3Qgbz1uLnN0YXJ0TGluZU51bWJlcixsPW4uc3RhcnRDb2x1bW4sdT1uLmVuZExpbmVOdW1iZXIsZj1uLmVuZENvbHVtbjtyZXR1cm4gcjxvPyhyPW8saT1sKTpyPT09byYmKGk9TWF0aC5tYXgoaSxsKSkscz51PyhzPXUsYT1mKTpzPT09dSYmKGE9TWF0aC5taW4oYSxmKSkscj5zfHxyPT09cyYmaT5hP251bGw6bmV3IG5lKHIsaSxzLGEpfWVxdWFsc1JhbmdlKHQpe3JldHVybiBuZS5lcXVhbHNSYW5nZSh0aGlzLHQpfXN0YXRpYyBlcXVhbHNSYW5nZSh0LG4pe3JldHVybiF0JiYhbj8hMDohIXQmJiEhbiYmdC5zdGFydExpbmVOdW1iZXI9PT1uLnN0YXJ0TGluZU51bWJlciYmdC5zdGFydENvbHVtbj09PW4uc3RhcnRDb2x1bW4mJnQuZW5kTGluZU51bWJlcj09PW4uZW5kTGluZU51bWJlciYmdC5lbmRDb2x1bW49PT1uLmVuZENvbHVtbn1nZXRFbmRQb3NpdGlvbigpe3JldHVybiBuZS5nZXRFbmRQb3NpdGlvbih0aGlzKX1zdGF0aWMgZ2V0RW5kUG9zaXRpb24odCl7cmV0dXJuIG5ldyBQZSh0LmVuZExpbmVOdW1iZXIsdC5lbmRDb2x1bW4pfWdldFN0YXJ0UG9zaXRpb24oKXtyZXR1cm4gbmUuZ2V0U3RhcnRQb3NpdGlvbih0aGlzKX1zdGF0aWMgZ2V0U3RhcnRQb3NpdGlvbih0KXtyZXR1cm4gbmV3IFBlKHQuc3RhcnRMaW5lTnVtYmVyLHQuc3RhcnRDb2x1bW4pfXRvU3RyaW5nKCl7cmV0dXJuIlsiK3RoaXMuc3RhcnRMaW5lTnVtYmVyKyIsIit0aGlzLnN0YXJ0Q29sdW1uKyIgLT4gIit0aGlzLmVuZExpbmVOdW1iZXIrIiwiK3RoaXMuZW5kQ29sdW1uKyJdIn1zZXRFbmRQb3NpdGlvbih0LG4pe3JldHVybiBuZXcgbmUodGhpcy5zdGFydExpbmVOdW1iZXIsdGhpcy5zdGFydENvbHVtbix0LG4pfXNldFN0YXJ0UG9zaXRpb24odCxuKXtyZXR1cm4gbmV3IG5lKHQsbix0aGlzLmVuZExpbmVOdW1iZXIsdGhpcy5lbmRDb2x1bW4pfWNvbGxhcHNlVG9TdGFydCgpe3JldHVybiBuZS5jb2xsYXBzZVRvU3RhcnQodGhpcyl9c3RhdGljIGNvbGxhcHNlVG9TdGFydCh0KXtyZXR1cm4gbmV3IG5lKHQuc3RhcnRMaW5lTnVtYmVyLHQuc3RhcnRDb2x1bW4sdC5zdGFydExpbmVOdW1iZXIsdC5zdGFydENvbHVtbil9Y29sbGFwc2VUb0VuZCgpe3JldHVybiBuZS5jb2xsYXBzZVRvRW5kKHRoaXMpfXN0YXRpYyBjb2xsYXBzZVRvRW5kKHQpe3JldHVybiBuZXcgbmUodC5lbmRMaW5lTnVtYmVyLHQuZW5kQ29sdW1uLHQuZW5kTGluZU51bWJlcix0LmVuZENvbHVtbil9ZGVsdGEodCl7cmV0dXJuIG5ldyBuZSh0aGlzLnN0YXJ0TGluZU51bWJlcit0LHRoaXMuc3RhcnRDb2x1bW4sdGhpcy5lbmRMaW5lTnVtYmVyK3QsdGhpcy5lbmRDb2x1bW4pfXN0YXRpYyBmcm9tUG9zaXRpb25zKHQsbj10KXtyZXR1cm4gbmV3IG5lKHQubGluZU51bWJlcix0LmNvbHVtbixuLmxpbmVOdW1iZXIsbi5jb2x1bW4pfXN0YXRpYyBsaWZ0KHQpe3JldHVybiB0P25ldyBuZSh0LnN0YXJ0TGluZU51bWJlcix0LnN0YXJ0Q29sdW1uLHQuZW5kTGluZU51bWJlcix0LmVuZENvbHVtbik6bnVsbH1zdGF0aWMgaXNJUmFuZ2UodCl7cmV0dXJuIHQmJnR5cGVvZiB0LnN0YXJ0TGluZU51bWJlcj09Im51bWJlciImJnR5cGVvZiB0LnN0YXJ0Q29sdW1uPT0ibnVtYmVyIiYmdHlwZW9mIHQuZW5kTGluZU51bWJlcj09Im51bWJlciImJnR5cGVvZiB0LmVuZENvbHVtbj09Im51bWJlciJ9c3RhdGljIGFyZUludGVyc2VjdGluZ09yVG91Y2hpbmcodCxuKXtyZXR1cm4hKHQuZW5kTGluZU51bWJlcjxuLnN0YXJ0TGluZU51bWJlcnx8dC5lbmRMaW5lTnVtYmVyPT09bi5zdGFydExpbmVOdW1iZXImJnQuZW5kQ29sdW1uPG4uc3RhcnRDb2x1bW58fG4uZW5kTGluZU51bWJlcjx0LnN0YXJ0TGluZU51bWJlcnx8bi5lbmRMaW5lTnVtYmVyPT09dC5zdGFydExpbmVOdW1iZXImJm4uZW5kQ29sdW1uPHQuc3RhcnRDb2x1bW4pfXN0YXRpYyBhcmVJbnRlcnNlY3RpbmcodCxuKXtyZXR1cm4hKHQuZW5kTGluZU51bWJlcjxuLnN0YXJ0TGluZU51bWJlcnx8dC5lbmRMaW5lTnVtYmVyPT09bi5zdGFydExpbmVOdW1iZXImJnQuZW5kQ29sdW1uPD1uLnN0YXJ0Q29sdW1ufHxuLmVuZExpbmVOdW1iZXI8dC5zdGFydExpbmVOdW1iZXJ8fG4uZW5kTGluZU51bWJlcj09PXQuc3RhcnRMaW5lTnVtYmVyJiZuLmVuZENvbHVtbjw9dC5zdGFydENvbHVtbil9c3RhdGljIGNvbXBhcmVSYW5nZXNVc2luZ1N0YXJ0cyh0LG4pe2lmKHQmJm4pe2NvbnN0IHM9dC5zdGFydExpbmVOdW1iZXJ8MCxhPW4uc3RhcnRMaW5lTnVtYmVyfDA7aWYocz09PWEpe2NvbnN0IG89dC5zdGFydENvbHVtbnwwLGw9bi5zdGFydENvbHVtbnwwO2lmKG89PT1sKXtjb25zdCB1PXQuZW5kTGluZU51bWJlcnwwLGY9bi5lbmRMaW5lTnVtYmVyfDA7aWYodT09PWYpe2NvbnN0IGg9dC5lbmRDb2x1bW58MCxkPW4uZW5kQ29sdW1ufDA7cmV0dXJuIGgtZH1yZXR1cm4gdS1mfXJldHVybiBvLWx9cmV0dXJuIHMtYX1yZXR1cm4odD8xOjApLShuPzE6MCl9c3RhdGljIGNvbXBhcmVSYW5nZXNVc2luZ0VuZHModCxuKXtyZXR1cm4gdC5lbmRMaW5lTnVtYmVyPT09bi5lbmRMaW5lTnVtYmVyP3QuZW5kQ29sdW1uPT09bi5lbmRDb2x1bW4/dC5zdGFydExpbmVOdW1iZXI9PT1uLnN0YXJ0TGluZU51bWJlcj90LnN0YXJ0Q29sdW1uLW4uc3RhcnRDb2x1bW46dC5zdGFydExpbmVOdW1iZXItbi5zdGFydExpbmVOdW1iZXI6dC5lbmRDb2x1bW4tbi5lbmRDb2x1bW46dC5lbmRMaW5lTnVtYmVyLW4uZW5kTGluZU51bWJlcn1zdGF0aWMgc3BhbnNNdWx0aXBsZUxpbmVzKHQpe3JldHVybiB0LmVuZExpbmVOdW1iZXI+dC5zdGFydExpbmVOdW1iZXJ9dG9KU09OKCl7cmV0dXJuIHRoaXN9fTtmdW5jdGlvbiBVbyhlLHQsbj0ocixpKT0+cj09PWkpe2lmKGU9PT10KXJldHVybiEwO2lmKCFlfHwhdHx8ZS5sZW5ndGghPT10Lmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IHI9MCxpPWUubGVuZ3RoO3I8aTtyKyspaWYoIW4oZVtyXSx0W3JdKSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbipCbyhlLHQpe2xldCBuLHI7Zm9yKGNvbnN0IGkgb2YgZSlyIT09dm9pZCAwJiZ0KHIsaSk/bi5wdXNoKGkpOihuJiYoeWllbGQgbiksbj1baV0pLHI9aTtuJiYoeWllbGQgbil9ZnVuY3Rpb24gam8oZSx0KXtmb3IobGV0IG49MDtuPD1lLmxlbmd0aDtuKyspdChuPT09MD92b2lkIDA6ZVtuLTFdLG49PT1lLmxlbmd0aD92b2lkIDA6ZVtuXSl9ZnVuY3Rpb24gcW8oZSx0KXtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKyl0KG49PT0wP3ZvaWQgMDplW24tMV0sZVtuXSxuKzE9PT1lLmxlbmd0aD92b2lkIDA6ZVtuKzFdKX1mdW5jdGlvbiBIbyhlLHQpe2Zvcihjb25zdCBuIG9mIHQpZS5wdXNoKG4pfXZhciBuaTsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChzKXtyZXR1cm4gczwwfWUuaXNMZXNzVGhhbj10O2Z1bmN0aW9uIG4ocyl7cmV0dXJuIHM8PTB9ZS5pc0xlc3NUaGFuT3JFcXVhbD1uO2Z1bmN0aW9uIHIocyl7cmV0dXJuIHM+MH1lLmlzR3JlYXRlclRoYW49cjtmdW5jdGlvbiBpKHMpe3JldHVybiBzPT09MH1lLmlzTmVpdGhlckxlc3NPckdyZWF0ZXJUaGFuPWksZS5ncmVhdGVyVGhhbj0xLGUubGVzc1RoYW49LTEsZS5uZWl0aGVyTGVzc09yR3JlYXRlclRoYW49MH0pKG5pfHwobmk9e30pKTtmdW5jdGlvbiBybihlLHQpe3JldHVybihuLHIpPT50KGUobiksZShyKSl9Y29uc3Qgc249KGUsdCk9PmUtdDtmdW5jdGlvbiAkbyhlKXtyZXR1cm4odCxuKT0+LWUodCxuKX1mdW5jdGlvbiByaShlKXtyZXR1cm4gZTwwPzA6ZT4yNTU/MjU1OmV8MH1mdW5jdGlvbiBidChlKXtyZXR1cm4gZTwwPzA6ZT40Mjk0OTY3Mjk1PzQyOTQ5NjcyOTU6ZXwwfWNsYXNzIFdve2NvbnN0cnVjdG9yKHQpe3RoaXMudmFsdWVzPXQsdGhpcy5wcmVmaXhTdW09bmV3IFVpbnQzMkFycmF5KHQubGVuZ3RoKSx0aGlzLnByZWZpeFN1bVZhbGlkSW5kZXg9bmV3IEludDMyQXJyYXkoMSksdGhpcy5wcmVmaXhTdW1WYWxpZEluZGV4WzBdPS0xfWluc2VydFZhbHVlcyh0LG4pe3Q9YnQodCk7Y29uc3Qgcj10aGlzLnZhbHVlcyxpPXRoaXMucHJlZml4U3VtLHM9bi5sZW5ndGg7cmV0dXJuIHM9PT0wPyExOih0aGlzLnZhbHVlcz1uZXcgVWludDMyQXJyYXkoci5sZW5ndGgrcyksdGhpcy52YWx1ZXMuc2V0KHIuc3ViYXJyYXkoMCx0KSwwKSx0aGlzLnZhbHVlcy5zZXQoci5zdWJhcnJheSh0KSx0K3MpLHRoaXMudmFsdWVzLnNldChuLHQpLHQtMTx0aGlzLnByZWZpeFN1bVZhbGlkSW5kZXhbMF0mJih0aGlzLnByZWZpeFN1bVZhbGlkSW5kZXhbMF09dC0xKSx0aGlzLnByZWZpeFN1bT1uZXcgVWludDMyQXJyYXkodGhpcy52YWx1ZXMubGVuZ3RoKSx0aGlzLnByZWZpeFN1bVZhbGlkSW5kZXhbMF0+PTAmJnRoaXMucHJlZml4U3VtLnNldChpLnN1YmFycmF5KDAsdGhpcy5wcmVmaXhTdW1WYWxpZEluZGV4WzBdKzEpKSwhMCl9c2V0VmFsdWUodCxuKXtyZXR1cm4gdD1idCh0KSxuPWJ0KG4pLHRoaXMudmFsdWVzW3RdPT09bj8hMToodGhpcy52YWx1ZXNbdF09bix0LTE8dGhpcy5wcmVmaXhTdW1WYWxpZEluZGV4WzBdJiYodGhpcy5wcmVmaXhTdW1WYWxpZEluZGV4WzBdPXQtMSksITApfXJlbW92ZVZhbHVlcyh0LG4pe3Q9YnQodCksbj1idChuKTtjb25zdCByPXRoaXMudmFsdWVzLGk9dGhpcy5wcmVmaXhTdW07aWYodD49ci5sZW5ndGgpcmV0dXJuITE7Y29uc3Qgcz1yLmxlbmd0aC10O3JldHVybiBuPj1zJiYobj1zKSxuPT09MD8hMToodGhpcy52YWx1ZXM9bmV3IFVpbnQzMkFycmF5KHIubGVuZ3RoLW4pLHRoaXMudmFsdWVzLnNldChyLnN1YmFycmF5KDAsdCksMCksdGhpcy52YWx1ZXMuc2V0KHIuc3ViYXJyYXkodCtuKSx0KSx0aGlzLnByZWZpeFN1bT1uZXcgVWludDMyQXJyYXkodGhpcy52YWx1ZXMubGVuZ3RoKSx0LTE8dGhpcy5wcmVmaXhTdW1WYWxpZEluZGV4WzBdJiYodGhpcy5wcmVmaXhTdW1WYWxpZEluZGV4WzBdPXQtMSksdGhpcy5wcmVmaXhTdW1WYWxpZEluZGV4WzBdPj0wJiZ0aGlzLnByZWZpeFN1bS5zZXQoaS5zdWJhcnJheSgwLHRoaXMucHJlZml4U3VtVmFsaWRJbmRleFswXSsxKSksITApfWdldFRvdGFsU3VtKCl7cmV0dXJuIHRoaXMudmFsdWVzLmxlbmd0aD09PTA/MDp0aGlzLl9nZXRQcmVmaXhTdW0odGhpcy52YWx1ZXMubGVuZ3RoLTEpfWdldFByZWZpeFN1bSh0KXtyZXR1cm4gdDwwPzA6KHQ9YnQodCksdGhpcy5fZ2V0UHJlZml4U3VtKHQpKX1fZ2V0UHJlZml4U3VtKHQpe2lmKHQ8PXRoaXMucHJlZml4U3VtVmFsaWRJbmRleFswXSlyZXR1cm4gdGhpcy5wcmVmaXhTdW1bdF07bGV0IG49dGhpcy5wcmVmaXhTdW1WYWxpZEluZGV4WzBdKzE7bj09PTAmJih0aGlzLnByZWZpeFN1bVswXT10aGlzLnZhbHVlc1swXSxuKyspLHQ+PXRoaXMudmFsdWVzLmxlbmd0aCYmKHQ9dGhpcy52YWx1ZXMubGVuZ3RoLTEpO2ZvcihsZXQgcj1uO3I8PXQ7cisrKXRoaXMucHJlZml4U3VtW3JdPXRoaXMucHJlZml4U3VtW3ItMV0rdGhpcy52YWx1ZXNbcl07cmV0dXJuIHRoaXMucHJlZml4U3VtVmFsaWRJbmRleFswXT1NYXRoLm1heCh0aGlzLnByZWZpeFN1bVZhbGlkSW5kZXhbMF0sdCksdGhpcy5wcmVmaXhTdW1bdF19Z2V0SW5kZXhPZih0KXt0PU1hdGguZmxvb3IodCksdGhpcy5nZXRUb3RhbFN1bSgpO2xldCBuPTAscj10aGlzLnZhbHVlcy5sZW5ndGgtMSxpPTAscz0wLGE9MDtmb3IoO248PXI7KWlmKGk9bisoci1uKS8yfDAscz10aGlzLnByZWZpeFN1bVtpXSxhPXMtdGhpcy52YWx1ZXNbaV0sdDxhKXI9aS0xO2Vsc2UgaWYodD49cyluPWkrMTtlbHNlIGJyZWFrO3JldHVybiBuZXcgem8oaSx0LWEpfX1jbGFzcyB6b3tjb25zdHJ1Y3Rvcih0LG4pe3RoaXMuaW5kZXg9dCx0aGlzLnJlbWFpbmRlcj1uLHRoaXMuX3ByZWZpeFN1bUluZGV4T2ZSZXN1bHRCcmFuZD12b2lkIDAsdGhpcy5pbmRleD10LHRoaXMucmVtYWluZGVyPW59fWNsYXNzIEdve2NvbnN0cnVjdG9yKHQsbixyLGkpe3RoaXMuX3VyaT10LHRoaXMuX2xpbmVzPW4sdGhpcy5fZW9sPXIsdGhpcy5fdmVyc2lvbklkPWksdGhpcy5fbGluZVN0YXJ0cz1udWxsLHRoaXMuX2NhY2hlZFRleHRWYWx1ZT1udWxsfWRpc3Bvc2UoKXt0aGlzLl9saW5lcy5sZW5ndGg9MH1nZXQgdmVyc2lvbigpe3JldHVybiB0aGlzLl92ZXJzaW9uSWR9Z2V0VGV4dCgpe3JldHVybiB0aGlzLl9jYWNoZWRUZXh0VmFsdWU9PT1udWxsJiYodGhpcy5fY2FjaGVkVGV4dFZhbHVlPXRoaXMuX2xpbmVzLmpvaW4odGhpcy5fZW9sKSksdGhpcy5fY2FjaGVkVGV4dFZhbHVlfW9uRXZlbnRzKHQpe3QuZW9sJiZ0LmVvbCE9PXRoaXMuX2VvbCYmKHRoaXMuX2VvbD10LmVvbCx0aGlzLl9saW5lU3RhcnRzPW51bGwpO2NvbnN0IG49dC5jaGFuZ2VzO2Zvcihjb25zdCByIG9mIG4pdGhpcy5fYWNjZXB0RGVsZXRlUmFuZ2Uoci5yYW5nZSksdGhpcy5fYWNjZXB0SW5zZXJ0VGV4dChuZXcgUGUoci5yYW5nZS5zdGFydExpbmVOdW1iZXIsci5yYW5nZS5zdGFydENvbHVtbiksci50ZXh0KTt0aGlzLl92ZXJzaW9uSWQ9dC52ZXJzaW9uSWQsdGhpcy5fY2FjaGVkVGV4dFZhbHVlPW51bGx9X2Vuc3VyZUxpbmVTdGFydHMoKXtpZighdGhpcy5fbGluZVN0YXJ0cyl7Y29uc3QgdD10aGlzLl9lb2wubGVuZ3RoLG49dGhpcy5fbGluZXMubGVuZ3RoLHI9bmV3IFVpbnQzMkFycmF5KG4pO2ZvcihsZXQgaT0wO2k8bjtpKyspcltpXT10aGlzLl9saW5lc1tpXS5sZW5ndGgrdDt0aGlzLl9saW5lU3RhcnRzPW5ldyBXbyhyKX19X3NldExpbmVUZXh0KHQsbil7dGhpcy5fbGluZXNbdF09bix0aGlzLl9saW5lU3RhcnRzJiZ0aGlzLl9saW5lU3RhcnRzLnNldFZhbHVlKHQsdGhpcy5fbGluZXNbdF0ubGVuZ3RoK3RoaXMuX2VvbC5sZW5ndGgpfV9hY2NlcHREZWxldGVSYW5nZSh0KXtpZih0LnN0YXJ0TGluZU51bWJlcj09PXQuZW5kTGluZU51bWJlcil7aWYodC5zdGFydENvbHVtbj09PXQuZW5kQ29sdW1uKXJldHVybjt0aGlzLl9zZXRMaW5lVGV4dCh0LnN0YXJ0TGluZU51bWJlci0xLHRoaXMuX2xpbmVzW3Quc3RhcnRMaW5lTnVtYmVyLTFdLnN1YnN0cmluZygwLHQuc3RhcnRDb2x1bW4tMSkrdGhpcy5fbGluZXNbdC5zdGFydExpbmVOdW1iZXItMV0uc3Vic3RyaW5nKHQuZW5kQ29sdW1uLTEpKTtyZXR1cm59dGhpcy5fc2V0TGluZVRleHQodC5zdGFydExpbmVOdW1iZXItMSx0aGlzLl9saW5lc1t0LnN0YXJ0TGluZU51bWJlci0xXS5zdWJzdHJpbmcoMCx0LnN0YXJ0Q29sdW1uLTEpK3RoaXMuX2xpbmVzW3QuZW5kTGluZU51bWJlci0xXS5zdWJzdHJpbmcodC5lbmRDb2x1bW4tMSkpLHRoaXMuX2xpbmVzLnNwbGljZSh0LnN0YXJ0TGluZU51bWJlcix0LmVuZExpbmVOdW1iZXItdC5zdGFydExpbmVOdW1iZXIpLHRoaXMuX2xpbmVTdGFydHMmJnRoaXMuX2xpbmVTdGFydHMucmVtb3ZlVmFsdWVzKHQuc3RhcnRMaW5lTnVtYmVyLHQuZW5kTGluZU51bWJlci10LnN0YXJ0TGluZU51bWJlcil9X2FjY2VwdEluc2VydFRleHQodCxuKXtpZihuLmxlbmd0aD09PTApcmV0dXJuO2NvbnN0IHI9cm8obik7aWYoci5sZW5ndGg9PT0xKXt0aGlzLl9zZXRMaW5lVGV4dCh0LmxpbmVOdW1iZXItMSx0aGlzLl9saW5lc1t0LmxpbmVOdW1iZXItMV0uc3Vic3RyaW5nKDAsdC5jb2x1bW4tMSkrclswXSt0aGlzLl9saW5lc1t0LmxpbmVOdW1iZXItMV0uc3Vic3RyaW5nKHQuY29sdW1uLTEpKTtyZXR1cm59cltyLmxlbmd0aC0xXSs9dGhpcy5fbGluZXNbdC5saW5lTnVtYmVyLTFdLnN1YnN0cmluZyh0LmNvbHVtbi0xKSx0aGlzLl9zZXRMaW5lVGV4dCh0LmxpbmVOdW1iZXItMSx0aGlzLl9saW5lc1t0LmxpbmVOdW1iZXItMV0uc3Vic3RyaW5nKDAsdC5jb2x1bW4tMSkrclswXSk7Y29uc3QgaT1uZXcgVWludDMyQXJyYXkoci5sZW5ndGgtMSk7Zm9yKGxldCBzPTE7czxyLmxlbmd0aDtzKyspdGhpcy5fbGluZXMuc3BsaWNlKHQubGluZU51bWJlcitzLTEsMCxyW3NdKSxpW3MtMV09cltzXS5sZW5ndGgrdGhpcy5fZW9sLmxlbmd0aDt0aGlzLl9saW5lU3RhcnRzJiZ0aGlzLl9saW5lU3RhcnRzLmluc2VydFZhbHVlcyh0LmxpbmVOdW1iZXIsaSl9fWNvbnN0IEpvPSJgfiFAIyQlXiYqKCktPStbe119XFx8OzonXCIsLjw+Lz8iO2Z1bmN0aW9uIFhvKGU9IiIpe2xldCB0PSIoLT9cXGQqXFwuXFxkXFx3Kil8KFteIjtmb3IoY29uc3QgbiBvZiBKbyllLmluZGV4T2Yobik+PTB8fCh0Kz0iXFwiK24pO3JldHVybiB0Kz0iXFxzXSspIixuZXcgUmVnRXhwKHQsImciKX1jb25zdCBpaT1YbygpO2Z1bmN0aW9uIHNpKGUpe2xldCB0PWlpO2lmKGUmJmUgaW5zdGFuY2VvZiBSZWdFeHApaWYoZS5nbG9iYWwpdD1lO2Vsc2V7bGV0IG49ImciO2UuaWdub3JlQ2FzZSYmKG4rPSJpIiksZS5tdWx0aWxpbmUmJihuKz0ibSIpLGUudW5pY29kZSYmKG4rPSJ1IiksdD1uZXcgUmVnRXhwKGUuc291cmNlLG4pfXJldHVybiB0Lmxhc3RJbmRleD0wLHR9Y29uc3QgYWk9bmV3IFVhO2FpLnVuc2hpZnQoe21heExlbjoxZTMsd2luZG93U2l6ZToxNSx0aW1lQnVkZ2V0OjE1MH0pO2Z1bmN0aW9uIFduKGUsdCxuLHIsaSl7aWYodD1zaSh0KSxpfHwoaT1ZdC5maXJzdChhaSkpLG4ubGVuZ3RoPmkubWF4TGVuKXtsZXQgdT1lLWkubWF4TGVuLzI7cmV0dXJuIHU8MD91PTA6cis9dSxuPW4uc3Vic3RyaW5nKHUsZStpLm1heExlbi8yKSxXbihlLHQsbixyLGkpfWNvbnN0IHM9RGF0ZS5ub3coKSxhPWUtMS1yO2xldCBvPS0xLGw9bnVsbDtmb3IobGV0IHU9MTshKERhdGUubm93KCktcz49aS50aW1lQnVkZ2V0KTt1Kyspe2NvbnN0IGY9YS1pLndpbmRvd1NpemUqdTt0Lmxhc3RJbmRleD1NYXRoLm1heCgwLGYpO2NvbnN0IGg9WW8odCxuLGEsbyk7aWYoIWgmJmx8fChsPWgsZjw9MCkpYnJlYWs7bz1mfWlmKGwpe2NvbnN0IHU9e3dvcmQ6bFswXSxzdGFydENvbHVtbjpyKzErbC5pbmRleCxlbmRDb2x1bW46cisxK2wuaW5kZXgrbFswXS5sZW5ndGh9O3JldHVybiB0Lmxhc3RJbmRleD0wLHV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gWW8oZSx0LG4scil7bGV0IGk7Zm9yKDtpPWUuZXhlYyh0KTspe2NvbnN0IHM9aS5pbmRleHx8MDtpZihzPD1uJiZlLmxhc3RJbmRleD49bilyZXR1cm4gaTtpZihyPjAmJnM+cilyZXR1cm4gbnVsbH1yZXR1cm4gbnVsbH1jbGFzcyB6bntjb25zdHJ1Y3Rvcih0KXtjb25zdCBuPXJpKHQpO3RoaXMuX2RlZmF1bHRWYWx1ZT1uLHRoaXMuX2FzY2lpTWFwPXpuLl9jcmVhdGVBc2NpaU1hcChuKSx0aGlzLl9tYXA9bmV3IE1hcH1zdGF0aWMgX2NyZWF0ZUFzY2lpTWFwKHQpe2NvbnN0IG49bmV3IFVpbnQ4QXJyYXkoMjU2KTtyZXR1cm4gbi5maWxsKHQpLG59c2V0KHQsbil7Y29uc3Qgcj1yaShuKTt0Pj0wJiZ0PDI1Nj90aGlzLl9hc2NpaU1hcFt0XT1yOnRoaXMuX21hcC5zZXQodCxyKX1nZXQodCl7cmV0dXJuIHQ+PTAmJnQ8MjU2P3RoaXMuX2FzY2lpTWFwW3RdOnRoaXMuX21hcC5nZXQodCl8fHRoaXMuX2RlZmF1bHRWYWx1ZX1jbGVhcigpe3RoaXMuX2FzY2lpTWFwLmZpbGwodGhpcy5fZGVmYXVsdFZhbHVlKSx0aGlzLl9tYXAuY2xlYXIoKX19Y2xhc3MgUW97Y29uc3RydWN0b3IodCxuLHIpe2NvbnN0IGk9bmV3IFVpbnQ4QXJyYXkodCpuKTtmb3IobGV0IHM9MCxhPXQqbjtzPGE7cysrKWlbc109cjt0aGlzLl9kYXRhPWksdGhpcy5yb3dzPXQsdGhpcy5jb2xzPW59Z2V0KHQsbil7cmV0dXJuIHRoaXMuX2RhdGFbdCp0aGlzLmNvbHMrbl19c2V0KHQsbixyKXt0aGlzLl9kYXRhW3QqdGhpcy5jb2xzK25dPXJ9fWNsYXNzIFpve2NvbnN0cnVjdG9yKHQpe2xldCBuPTAscj0wO2ZvcihsZXQgcz0wLGE9dC5sZW5ndGg7czxhO3MrKyl7Y29uc3RbbyxsLHVdPXRbc107bD5uJiYobj1sKSxvPnImJihyPW8pLHU+ciYmKHI9dSl9bisrLHIrKztjb25zdCBpPW5ldyBRbyhyLG4sMCk7Zm9yKGxldCBzPTAsYT10Lmxlbmd0aDtzPGE7cysrKXtjb25zdFtvLGwsdV09dFtzXTtpLnNldChvLGwsdSl9dGhpcy5fc3RhdGVzPWksdGhpcy5fbWF4Q2hhckNvZGU9bn1uZXh0U3RhdGUodCxuKXtyZXR1cm4gbjwwfHxuPj10aGlzLl9tYXhDaGFyQ29kZT8wOnRoaXMuX3N0YXRlcy5nZXQodCxuKX19bGV0IEduPW51bGw7ZnVuY3Rpb24gS28oKXtyZXR1cm4gR249PT1udWxsJiYoR249bmV3IFpvKFtbMSwxMDQsMl0sWzEsNzIsMl0sWzEsMTAyLDZdLFsxLDcwLDZdLFsyLDExNiwzXSxbMiw4NCwzXSxbMywxMTYsNF0sWzMsODQsNF0sWzQsMTEyLDVdLFs0LDgwLDVdLFs1LDExNSw5XSxbNSw4Myw5XSxbNSw1OCwxMF0sWzYsMTA1LDddLFs2LDczLDddLFs3LDEwOCw4XSxbNyw3Niw4XSxbOCwxMDEsOV0sWzgsNjksOV0sWzksNTgsMTBdLFsxMCw0NywxMV0sWzExLDQ3LDEyXV0pKSxHbn1sZXQgVHQ9bnVsbDtmdW5jdGlvbiBlbCgpe2lmKFR0PT09bnVsbCl7VHQ9bmV3IHpuKDApO2NvbnN0IGU9YCAJPD4nIuOAgeOAgu+9oe+9pO+8jO+8ju+8mu+8m+KAmOOAiOOAjOOAjuOAlO+8iO+8u++9m++9ou+9o++9ne+8ve+8ieOAleOAj+OAjeOAieKAme+9gO+9nuKApmA7Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDtuKyspVHQuc2V0KGUuY2hhckNvZGVBdChuKSwxKTtjb25zdCB0PSIuLDs6Ijtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKylUdC5zZXQodC5jaGFyQ29kZUF0KG4pLDIpfXJldHVybiBUdH1jbGFzcyBhbntzdGF0aWMgX2NyZWF0ZUxpbmsodCxuLHIsaSxzKXtsZXQgYT1zLTE7ZG97Y29uc3Qgbz1uLmNoYXJDb2RlQXQoYSk7aWYodC5nZXQobykhPT0yKWJyZWFrO2EtLX13aGlsZShhPmkpO2lmKGk+MCl7Y29uc3Qgbz1uLmNoYXJDb2RlQXQoaS0xKSxsPW4uY2hhckNvZGVBdChhKTsobz09PTQwJiZsPT09NDF8fG89PT05MSYmbD09PTkzfHxvPT09MTIzJiZsPT09MTI1KSYmYS0tfXJldHVybntyYW5nZTp7c3RhcnRMaW5lTnVtYmVyOnIsc3RhcnRDb2x1bW46aSsxLGVuZExpbmVOdW1iZXI6cixlbmRDb2x1bW46YSsyfSx1cmw6bi5zdWJzdHJpbmcoaSxhKzEpfX1zdGF0aWMgY29tcHV0ZUxpbmtzKHQsbj1LbygpKXtjb25zdCByPWVsKCksaT1bXTtmb3IobGV0IHM9MSxhPXQuZ2V0TGluZUNvdW50KCk7czw9YTtzKyspe2NvbnN0IG89dC5nZXRMaW5lQ29udGVudChzKSxsPW8ubGVuZ3RoO2xldCB1PTAsZj0wLGg9MCxkPTEsZz0hMSxtPSExLHY9ITEscD0hMTtmb3IoO3U8bDspe2xldCBfPSExO2NvbnN0IHg9by5jaGFyQ29kZUF0KHUpO2lmKGQ9PT0xMyl7bGV0IGI7c3dpdGNoKHgpe2Nhc2UgNDA6Zz0hMCxiPTA7YnJlYWs7Y2FzZSA0MTpiPWc/MDoxO2JyZWFrO2Nhc2UgOTE6dj0hMCxtPSEwLGI9MDticmVhaztjYXNlIDkzOnY9ITEsYj1tPzA6MTticmVhaztjYXNlIDEyMzpwPSEwLGI9MDticmVhaztjYXNlIDEyNTpiPXA/MDoxO2JyZWFrO2Nhc2UgMzk6Y2FzZSAzNDpjYXNlIDk2Omg9PT14P2I9MTpoPT09Mzl8fGg9PT0zNHx8aD09PTk2P2I9MDpiPTE7YnJlYWs7Y2FzZSA0MjpiPWg9PT00Mj8xOjA7YnJlYWs7Y2FzZSAxMjQ6Yj1oPT09MTI0PzE6MDticmVhaztjYXNlIDMyOmI9dj8wOjE7YnJlYWs7ZGVmYXVsdDpiPXIuZ2V0KHgpfWI9PT0xJiYoaS5wdXNoKGFuLl9jcmVhdGVMaW5rKHIsbyxzLGYsdSkpLF89ITApfWVsc2UgaWYoZD09PTEyKXtsZXQgYjt4PT09OTE/KG09ITAsYj0wKTpiPXIuZ2V0KHgpLGI9PT0xP189ITA6ZD0xM31lbHNlIGQ9bi5uZXh0U3RhdGUoZCx4KSxkPT09MCYmKF89ITApO18mJihkPTEsZz0hMSxtPSExLHA9ITEsZj11KzEsaD14KSx1Kyt9ZD09PTEzJiZpLnB1c2goYW4uX2NyZWF0ZUxpbmsocixvLHMsZixsKSl9cmV0dXJuIGl9fWZ1bmN0aW9uIHRsKGUpe3JldHVybiFlfHx0eXBlb2YgZS5nZXRMaW5lQ291bnQhPSJmdW5jdGlvbiJ8fHR5cGVvZiBlLmdldExpbmVDb250ZW50IT0iZnVuY3Rpb24iP1tdOmFuLmNvbXB1dGVMaW5rcyhlKX1jbGFzcyBKbntjb25zdHJ1Y3Rvcigpe3RoaXMuX2RlZmF1bHRWYWx1ZVNldD1bWyJ0cnVlIiwiZmFsc2UiXSxbIlRydWUiLCJGYWxzZSJdLFsiUHJpdmF0ZSIsIlB1YmxpYyIsIkZyaWVuZCIsIlJlYWRPbmx5IiwiUGFydGlhbCIsIlByb3RlY3RlZCIsIldyaXRlT25seSJdLFsicHVibGljIiwicHJvdGVjdGVkIiwicHJpdmF0ZSJdXX1uYXZpZ2F0ZVZhbHVlU2V0KHQsbixyLGkscyl7aWYodCYmbil7Y29uc3QgYT10aGlzLmRvTmF2aWdhdGVWYWx1ZVNldChuLHMpO2lmKGEpcmV0dXJue3JhbmdlOnQsdmFsdWU6YX19aWYociYmaSl7Y29uc3QgYT10aGlzLmRvTmF2aWdhdGVWYWx1ZVNldChpLHMpO2lmKGEpcmV0dXJue3JhbmdlOnIsdmFsdWU6YX19cmV0dXJuIG51bGx9ZG9OYXZpZ2F0ZVZhbHVlU2V0KHQsbil7Y29uc3Qgcj10aGlzLm51bWJlclJlcGxhY2UodCxuKTtyZXR1cm4gciE9PW51bGw/cjp0aGlzLnRleHRSZXBsYWNlKHQsbil9bnVtYmVyUmVwbGFjZSh0LG4pe2NvbnN0IHI9TWF0aC5wb3coMTAsdC5sZW5ndGgtKHQubGFzdEluZGV4T2YoIi4iKSsxKSk7bGV0IGk9TnVtYmVyKHQpO2NvbnN0IHM9cGFyc2VGbG9hdCh0KTtyZXR1cm4haXNOYU4oaSkmJiFpc05hTihzKSYmaT09PXM/aT09PTAmJiFuP251bGw6KGk9TWF0aC5mbG9vcihpKnIpLGkrPW4/cjotcixTdHJpbmcoaS9yKSk6bnVsbH10ZXh0UmVwbGFjZSh0LG4pe3JldHVybiB0aGlzLnZhbHVlU2V0c1JlcGxhY2UodGhpcy5fZGVmYXVsdFZhbHVlU2V0LHQsbil9dmFsdWVTZXRzUmVwbGFjZSh0LG4scil7bGV0IGk9bnVsbDtmb3IobGV0IHM9MCxhPXQubGVuZ3RoO2k9PT1udWxsJiZzPGE7cysrKWk9dGhpcy52YWx1ZVNldFJlcGxhY2UodFtzXSxuLHIpO3JldHVybiBpfXZhbHVlU2V0UmVwbGFjZSh0LG4scil7bGV0IGk9dC5pbmRleE9mKG4pO3JldHVybiBpPj0wPyhpKz1yPzE6LTEsaTwwP2k9dC5sZW5ndGgtMTppJT10Lmxlbmd0aCx0W2ldKTpudWxsfX1Kbi5JTlNUQU5DRT1uZXcgSm47Y29uc3Qgb2k9T2JqZWN0LmZyZWV6ZShmdW5jdGlvbihlLHQpe2NvbnN0IG49c2V0VGltZW91dChlLmJpbmQodCksMCk7cmV0dXJue2Rpc3Bvc2UoKXtjbGVhclRpbWVvdXQobil9fX0pO3ZhciBvbjsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChuKXtyZXR1cm4gbj09PWUuTm9uZXx8bj09PWUuQ2FuY2VsbGVkfHxuIGluc3RhbmNlb2YgbG4/ITA6IW58fHR5cGVvZiBuIT0ib2JqZWN0Ij8hMTp0eXBlb2Ygbi5pc0NhbmNlbGxhdGlvblJlcXVlc3RlZD09ImJvb2xlYW4iJiZ0eXBlb2Ygbi5vbkNhbmNlbGxhdGlvblJlcXVlc3RlZD09ImZ1bmN0aW9uIn1lLmlzQ2FuY2VsbGF0aW9uVG9rZW49dCxlLk5vbmU9T2JqZWN0LmZyZWV6ZSh7aXNDYW5jZWxsYXRpb25SZXF1ZXN0ZWQ6ITEsb25DYW5jZWxsYXRpb25SZXF1ZXN0ZWQ6a24uTm9uZX0pLGUuQ2FuY2VsbGVkPU9iamVjdC5mcmVlemUoe2lzQ2FuY2VsbGF0aW9uUmVxdWVzdGVkOiEwLG9uQ2FuY2VsbGF0aW9uUmVxdWVzdGVkOm9pfSl9KShvbnx8KG9uPXt9KSk7Y2xhc3MgbG57Y29uc3RydWN0b3IoKXt0aGlzLl9pc0NhbmNlbGxlZD0hMSx0aGlzLl9lbWl0dGVyPW51bGx9Y2FuY2VsKCl7dGhpcy5faXNDYW5jZWxsZWR8fCh0aGlzLl9pc0NhbmNlbGxlZD0hMCx0aGlzLl9lbWl0dGVyJiYodGhpcy5fZW1pdHRlci5maXJlKHZvaWQgMCksdGhpcy5kaXNwb3NlKCkpKX1nZXQgaXNDYW5jZWxsYXRpb25SZXF1ZXN0ZWQoKXtyZXR1cm4gdGhpcy5faXNDYW5jZWxsZWR9Z2V0IG9uQ2FuY2VsbGF0aW9uUmVxdWVzdGVkKCl7cmV0dXJuIHRoaXMuX2lzQ2FuY2VsbGVkP29pOih0aGlzLl9lbWl0dGVyfHwodGhpcy5fZW1pdHRlcj1uZXcgQWUpLHRoaXMuX2VtaXR0ZXIuZXZlbnQpfWRpc3Bvc2UoKXt0aGlzLl9lbWl0dGVyJiYodGhpcy5fZW1pdHRlci5kaXNwb3NlKCksdGhpcy5fZW1pdHRlcj1udWxsKX19Y2xhc3Mgbmx7Y29uc3RydWN0b3IodCl7dGhpcy5fdG9rZW49dm9pZCAwLHRoaXMuX3BhcmVudExpc3RlbmVyPXZvaWQgMCx0aGlzLl9wYXJlbnRMaXN0ZW5lcj10JiZ0Lm9uQ2FuY2VsbGF0aW9uUmVxdWVzdGVkKHRoaXMuY2FuY2VsLHRoaXMpfWdldCB0b2tlbigpe3JldHVybiB0aGlzLl90b2tlbnx8KHRoaXMuX3Rva2VuPW5ldyBsbiksdGhpcy5fdG9rZW59Y2FuY2VsKCl7dGhpcy5fdG9rZW4/dGhpcy5fdG9rZW4gaW5zdGFuY2VvZiBsbiYmdGhpcy5fdG9rZW4uY2FuY2VsKCk6dGhpcy5fdG9rZW49b24uQ2FuY2VsbGVkfWRpc3Bvc2UodD0hMSl7dmFyIG47dCYmdGhpcy5jYW5jZWwoKSwobj10aGlzLl9wYXJlbnRMaXN0ZW5lcik9PT1udWxsfHxuPT09dm9pZCAwfHxuLmRpc3Bvc2UoKSx0aGlzLl90b2tlbj90aGlzLl90b2tlbiBpbnN0YW5jZW9mIGxuJiZ0aGlzLl90b2tlbi5kaXNwb3NlKCk6dGhpcy5fdG9rZW49b24uTm9uZX19Y2xhc3MgWG57Y29uc3RydWN0b3IoKXt0aGlzLl9rZXlDb2RlVG9TdHI9W10sdGhpcy5fc3RyVG9LZXlDb2RlPU9iamVjdC5jcmVhdGUobnVsbCl9ZGVmaW5lKHQsbil7dGhpcy5fa2V5Q29kZVRvU3RyW3RdPW4sdGhpcy5fc3RyVG9LZXlDb2RlW24udG9Mb3dlckNhc2UoKV09dH1rZXlDb2RlVG9TdHIodCl7cmV0dXJuIHRoaXMuX2tleUNvZGVUb1N0clt0XX1zdHJUb0tleUNvZGUodCl7cmV0dXJuIHRoaXMuX3N0clRvS2V5Q29kZVt0LnRvTG93ZXJDYXNlKCldfHwwfX1jb25zdCB1bj1uZXcgWG4sWW49bmV3IFhuLFFuPW5ldyBYbixybD1uZXcgQXJyYXkoMjMwKSxpbD1PYmplY3QuY3JlYXRlKG51bGwpLHNsPU9iamVjdC5jcmVhdGUobnVsbCk7KGZ1bmN0aW9uKCl7Y29uc3QgZT0iIix0PVtbMSwwLCJOb25lIiwwLCJ1bmtub3duIiwwLCJWS19VTktOT1dOIixlLGVdLFsxLDEsIkh5cGVyIiwwLGUsMCxlLGUsZV0sWzEsMiwiU3VwZXIiLDAsZSwwLGUsZSxlXSxbMSwzLCJGbiIsMCxlLDAsZSxlLGVdLFsxLDQsIkZuTG9jayIsMCxlLDAsZSxlLGVdLFsxLDUsIlN1c3BlbmQiLDAsZSwwLGUsZSxlXSxbMSw2LCJSZXN1bWUiLDAsZSwwLGUsZSxlXSxbMSw3LCJUdXJibyIsMCxlLDAsZSxlLGVdLFsxLDgsIlNsZWVwIiwwLGUsMCwiVktfU0xFRVAiLGUsZV0sWzEsOSwiV2FrZVVwIiwwLGUsMCxlLGUsZV0sWzAsMTAsIktleUEiLDMxLCJBIiw2NSwiVktfQSIsZSxlXSxbMCwxMSwiS2V5QiIsMzIsIkIiLDY2LCJWS19CIixlLGVdLFswLDEyLCJLZXlDIiwzMywiQyIsNjcsIlZLX0MiLGUsZV0sWzAsMTMsIktleUQiLDM0LCJEIiw2OCwiVktfRCIsZSxlXSxbMCwxNCwiS2V5RSIsMzUsIkUiLDY5LCJWS19FIixlLGVdLFswLDE1LCJLZXlGIiwzNiwiRiIsNzAsIlZLX0YiLGUsZV0sWzAsMTYsIktleUciLDM3LCJHIiw3MSwiVktfRyIsZSxlXSxbMCwxNywiS2V5SCIsMzgsIkgiLDcyLCJWS19IIixlLGVdLFswLDE4LCJLZXlJIiwzOSwiSSIsNzMsIlZLX0kiLGUsZV0sWzAsMTksIktleUoiLDQwLCJKIiw3NCwiVktfSiIsZSxlXSxbMCwyMCwiS2V5SyIsNDEsIksiLDc1LCJWS19LIixlLGVdLFswLDIxLCJLZXlMIiw0MiwiTCIsNzYsIlZLX0wiLGUsZV0sWzAsMjIsIktleU0iLDQzLCJNIiw3NywiVktfTSIsZSxlXSxbMCwyMywiS2V5TiIsNDQsIk4iLDc4LCJWS19OIixlLGVdLFswLDI0LCJLZXlPIiw0NSwiTyIsNzksIlZLX08iLGUsZV0sWzAsMjUsIktleVAiLDQ2LCJQIiw4MCwiVktfUCIsZSxlXSxbMCwyNiwiS2V5USIsNDcsIlEiLDgxLCJWS19RIixlLGVdLFswLDI3LCJLZXlSIiw0OCwiUiIsODIsIlZLX1IiLGUsZV0sWzAsMjgsIktleVMiLDQ5LCJTIiw4MywiVktfUyIsZSxlXSxbMCwyOSwiS2V5VCIsNTAsIlQiLDg0LCJWS19UIixlLGVdLFswLDMwLCJLZXlVIiw1MSwiVSIsODUsIlZLX1UiLGUsZV0sWzAsMzEsIktleVYiLDUyLCJWIiw4NiwiVktfViIsZSxlXSxbMCwzMiwiS2V5VyIsNTMsIlciLDg3LCJWS19XIixlLGVdLFswLDMzLCJLZXlYIiw1NCwiWCIsODgsIlZLX1giLGUsZV0sWzAsMzQsIktleVkiLDU1LCJZIiw4OSwiVktfWSIsZSxlXSxbMCwzNSwiS2V5WiIsNTYsIloiLDkwLCJWS19aIixlLGVdLFswLDM2LCJEaWdpdDEiLDIyLCIxIiw0OSwiVktfMSIsZSxlXSxbMCwzNywiRGlnaXQyIiwyMywiMiIsNTAsIlZLXzIiLGUsZV0sWzAsMzgsIkRpZ2l0MyIsMjQsIjMiLDUxLCJWS18zIixlLGVdLFswLDM5LCJEaWdpdDQiLDI1LCI0Iiw1MiwiVktfNCIsZSxlXSxbMCw0MCwiRGlnaXQ1IiwyNiwiNSIsNTMsIlZLXzUiLGUsZV0sWzAsNDEsIkRpZ2l0NiIsMjcsIjYiLDU0LCJWS182IixlLGVdLFswLDQyLCJEaWdpdDciLDI4LCI3Iiw1NSwiVktfNyIsZSxlXSxbMCw0MywiRGlnaXQ4IiwyOSwiOCIsNTYsIlZLXzgiLGUsZV0sWzAsNDQsIkRpZ2l0OSIsMzAsIjkiLDU3LCJWS185IixlLGVdLFswLDQ1LCJEaWdpdDAiLDIxLCIwIiw0OCwiVktfMCIsZSxlXSxbMSw0NiwiRW50ZXIiLDMsIkVudGVyIiwxMywiVktfUkVUVVJOIixlLGVdLFsxLDQ3LCJFc2NhcGUiLDksIkVzY2FwZSIsMjcsIlZLX0VTQ0FQRSIsZSxlXSxbMSw0OCwiQmFja3NwYWNlIiwxLCJCYWNrc3BhY2UiLDgsIlZLX0JBQ0siLGUsZV0sWzEsNDksIlRhYiIsMiwiVGFiIiw5LCJWS19UQUIiLGUsZV0sWzEsNTAsIlNwYWNlIiwxMCwiU3BhY2UiLDMyLCJWS19TUEFDRSIsZSxlXSxbMCw1MSwiTWludXMiLDg4LCItIiwxODksIlZLX09FTV9NSU5VUyIsIi0iLCJPRU1fTUlOVVMiXSxbMCw1MiwiRXF1YWwiLDg2LCI9IiwxODcsIlZLX09FTV9QTFVTIiwiPSIsIk9FTV9QTFVTIl0sWzAsNTMsIkJyYWNrZXRMZWZ0Iiw5MiwiWyIsMjE5LCJWS19PRU1fNCIsIlsiLCJPRU1fNCJdLFswLDU0LCJCcmFja2V0UmlnaHQiLDk0LCJdIiwyMjEsIlZLX09FTV82IiwiXSIsIk9FTV82Il0sWzAsNTUsIkJhY2tzbGFzaCIsOTMsIlxcIiwyMjAsIlZLX09FTV81IiwiXFwiLCJPRU1fNSJdLFswLDU2LCJJbnRsSGFzaCIsMCxlLDAsZSxlLGVdLFswLDU3LCJTZW1pY29sb24iLDg1LCI7IiwxODYsIlZLX09FTV8xIiwiOyIsIk9FTV8xIl0sWzAsNTgsIlF1b3RlIiw5NSwiJyIsMjIyLCJWS19PRU1fNyIsIiciLCJPRU1fNyJdLFswLDU5LCJCYWNrcXVvdGUiLDkxLCJgIiwxOTIsIlZLX09FTV8zIiwiYCIsIk9FTV8zIl0sWzAsNjAsIkNvbW1hIiw4NywiLCIsMTg4LCJWS19PRU1fQ09NTUEiLCIsIiwiT0VNX0NPTU1BIl0sWzAsNjEsIlBlcmlvZCIsODksIi4iLDE5MCwiVktfT0VNX1BFUklPRCIsIi4iLCJPRU1fUEVSSU9EIl0sWzAsNjIsIlNsYXNoIiw5MCwiLyIsMTkxLCJWS19PRU1fMiIsIi8iLCJPRU1fMiJdLFsxLDYzLCJDYXBzTG9jayIsOCwiQ2Fwc0xvY2siLDIwLCJWS19DQVBJVEFMIixlLGVdLFsxLDY0LCJGMSIsNTksIkYxIiwxMTIsIlZLX0YxIixlLGVdLFsxLDY1LCJGMiIsNjAsIkYyIiwxMTMsIlZLX0YyIixlLGVdLFsxLDY2LCJGMyIsNjEsIkYzIiwxMTQsIlZLX0YzIixlLGVdLFsxLDY3LCJGNCIsNjIsIkY0IiwxMTUsIlZLX0Y0IixlLGVdLFsxLDY4LCJGNSIsNjMsIkY1IiwxMTYsIlZLX0Y1IixlLGVdLFsxLDY5LCJGNiIsNjQsIkY2IiwxMTcsIlZLX0Y2IixlLGVdLFsxLDcwLCJGNyIsNjUsIkY3IiwxMTgsIlZLX0Y3IixlLGVdLFsxLDcxLCJGOCIsNjYsIkY4IiwxMTksIlZLX0Y4IixlLGVdLFsxLDcyLCJGOSIsNjcsIkY5IiwxMjAsIlZLX0Y5IixlLGVdLFsxLDczLCJGMTAiLDY4LCJGMTAiLDEyMSwiVktfRjEwIixlLGVdLFsxLDc0LCJGMTEiLDY5LCJGMTEiLDEyMiwiVktfRjExIixlLGVdLFsxLDc1LCJGMTIiLDcwLCJGMTIiLDEyMywiVktfRjEyIixlLGVdLFsxLDc2LCJQcmludFNjcmVlbiIsMCxlLDAsZSxlLGVdLFsxLDc3LCJTY3JvbGxMb2NrIiw4NCwiU2Nyb2xsTG9jayIsMTQ1LCJWS19TQ1JPTEwiLGUsZV0sWzEsNzgsIlBhdXNlIiw3LCJQYXVzZUJyZWFrIiwxOSwiVktfUEFVU0UiLGUsZV0sWzEsNzksIkluc2VydCIsMTksIkluc2VydCIsNDUsIlZLX0lOU0VSVCIsZSxlXSxbMSw4MCwiSG9tZSIsMTQsIkhvbWUiLDM2LCJWS19IT01FIixlLGVdLFsxLDgxLCJQYWdlVXAiLDExLCJQYWdlVXAiLDMzLCJWS19QUklPUiIsZSxlXSxbMSw4MiwiRGVsZXRlIiwyMCwiRGVsZXRlIiw0NiwiVktfREVMRVRFIixlLGVdLFsxLDgzLCJFbmQiLDEzLCJFbmQiLDM1LCJWS19FTkQiLGUsZV0sWzEsODQsIlBhZ2VEb3duIiwxMiwiUGFnZURvd24iLDM0LCJWS19ORVhUIixlLGVdLFsxLDg1LCJBcnJvd1JpZ2h0IiwxNywiUmlnaHRBcnJvdyIsMzksIlZLX1JJR0hUIiwiUmlnaHQiLGVdLFsxLDg2LCJBcnJvd0xlZnQiLDE1LCJMZWZ0QXJyb3ciLDM3LCJWS19MRUZUIiwiTGVmdCIsZV0sWzEsODcsIkFycm93RG93biIsMTgsIkRvd25BcnJvdyIsNDAsIlZLX0RPV04iLCJEb3duIixlXSxbMSw4OCwiQXJyb3dVcCIsMTYsIlVwQXJyb3ciLDM4LCJWS19VUCIsIlVwIixlXSxbMSw4OSwiTnVtTG9jayIsODMsIk51bUxvY2siLDE0NCwiVktfTlVNTE9DSyIsZSxlXSxbMSw5MCwiTnVtcGFkRGl2aWRlIiwxMTMsIk51bVBhZF9EaXZpZGUiLDExMSwiVktfRElWSURFIixlLGVdLFsxLDkxLCJOdW1wYWRNdWx0aXBseSIsMTA4LCJOdW1QYWRfTXVsdGlwbHkiLDEwNiwiVktfTVVMVElQTFkiLGUsZV0sWzEsOTIsIk51bXBhZFN1YnRyYWN0IiwxMTEsIk51bVBhZF9TdWJ0cmFjdCIsMTA5LCJWS19TVUJUUkFDVCIsZSxlXSxbMSw5MywiTnVtcGFkQWRkIiwxMDksIk51bVBhZF9BZGQiLDEwNywiVktfQUREIixlLGVdLFsxLDk0LCJOdW1wYWRFbnRlciIsMyxlLDAsZSxlLGVdLFsxLDk1LCJOdW1wYWQxIiw5OSwiTnVtUGFkMSIsOTcsIlZLX05VTVBBRDEiLGUsZV0sWzEsOTYsIk51bXBhZDIiLDEwMCwiTnVtUGFkMiIsOTgsIlZLX05VTVBBRDIiLGUsZV0sWzEsOTcsIk51bXBhZDMiLDEwMSwiTnVtUGFkMyIsOTksIlZLX05VTVBBRDMiLGUsZV0sWzEsOTgsIk51bXBhZDQiLDEwMiwiTnVtUGFkNCIsMTAwLCJWS19OVU1QQUQ0IixlLGVdLFsxLDk5LCJOdW1wYWQ1IiwxMDMsIk51bVBhZDUiLDEwMSwiVktfTlVNUEFENSIsZSxlXSxbMSwxMDAsIk51bXBhZDYiLDEwNCwiTnVtUGFkNiIsMTAyLCJWS19OVU1QQUQ2IixlLGVdLFsxLDEwMSwiTnVtcGFkNyIsMTA1LCJOdW1QYWQ3IiwxMDMsIlZLX05VTVBBRDciLGUsZV0sWzEsMTAyLCJOdW1wYWQ4IiwxMDYsIk51bVBhZDgiLDEwNCwiVktfTlVNUEFEOCIsZSxlXSxbMSwxMDMsIk51bXBhZDkiLDEwNywiTnVtUGFkOSIsMTA1LCJWS19OVU1QQUQ5IixlLGVdLFsxLDEwNCwiTnVtcGFkMCIsOTgsIk51bVBhZDAiLDk2LCJWS19OVU1QQUQwIixlLGVdLFsxLDEwNSwiTnVtcGFkRGVjaW1hbCIsMTEyLCJOdW1QYWRfRGVjaW1hbCIsMTEwLCJWS19ERUNJTUFMIixlLGVdLFswLDEwNiwiSW50bEJhY2tzbGFzaCIsOTcsIk9FTV8xMDIiLDIyNiwiVktfT0VNXzEwMiIsZSxlXSxbMSwxMDcsIkNvbnRleHRNZW51Iiw1OCwiQ29udGV4dE1lbnUiLDkzLGUsZSxlXSxbMSwxMDgsIlBvd2VyIiwwLGUsMCxlLGUsZV0sWzEsMTA5LCJOdW1wYWRFcXVhbCIsMCxlLDAsZSxlLGVdLFsxLDExMCwiRjEzIiw3MSwiRjEzIiwxMjQsIlZLX0YxMyIsZSxlXSxbMSwxMTEsIkYxNCIsNzIsIkYxNCIsMTI1LCJWS19GMTQiLGUsZV0sWzEsMTEyLCJGMTUiLDczLCJGMTUiLDEyNiwiVktfRjE1IixlLGVdLFsxLDExMywiRjE2Iiw3NCwiRjE2IiwxMjcsIlZLX0YxNiIsZSxlXSxbMSwxMTQsIkYxNyIsNzUsIkYxNyIsMTI4LCJWS19GMTciLGUsZV0sWzEsMTE1LCJGMTgiLDc2LCJGMTgiLDEyOSwiVktfRjE4IixlLGVdLFsxLDExNiwiRjE5Iiw3NywiRjE5IiwxMzAsIlZLX0YxOSIsZSxlXSxbMSwxMTcsIkYyMCIsNzgsIkYyMCIsMTMxLCJWS19GMjAiLGUsZV0sWzEsMTE4LCJGMjEiLDc5LCJGMjEiLDEzMiwiVktfRjIxIixlLGVdLFsxLDExOSwiRjIyIiw4MCwiRjIyIiwxMzMsIlZLX0YyMiIsZSxlXSxbMSwxMjAsIkYyMyIsODEsIkYyMyIsMTM0LCJWS19GMjMiLGUsZV0sWzEsMTIxLCJGMjQiLDgyLCJGMjQiLDEzNSwiVktfRjI0IixlLGVdLFsxLDEyMiwiT3BlbiIsMCxlLDAsZSxlLGVdLFsxLDEyMywiSGVscCIsMCxlLDAsZSxlLGVdLFsxLDEyNCwiU2VsZWN0IiwwLGUsMCxlLGUsZV0sWzEsMTI1LCJBZ2FpbiIsMCxlLDAsZSxlLGVdLFsxLDEyNiwiVW5kbyIsMCxlLDAsZSxlLGVdLFsxLDEyNywiQ3V0IiwwLGUsMCxlLGUsZV0sWzEsMTI4LCJDb3B5IiwwLGUsMCxlLGUsZV0sWzEsMTI5LCJQYXN0ZSIsMCxlLDAsZSxlLGVdLFsxLDEzMCwiRmluZCIsMCxlLDAsZSxlLGVdLFsxLDEzMSwiQXVkaW9Wb2x1bWVNdXRlIiwxMTcsIkF1ZGlvVm9sdW1lTXV0ZSIsMTczLCJWS19WT0xVTUVfTVVURSIsZSxlXSxbMSwxMzIsIkF1ZGlvVm9sdW1lVXAiLDExOCwiQXVkaW9Wb2x1bWVVcCIsMTc1LCJWS19WT0xVTUVfVVAiLGUsZV0sWzEsMTMzLCJBdWRpb1ZvbHVtZURvd24iLDExOSwiQXVkaW9Wb2x1bWVEb3duIiwxNzQsIlZLX1ZPTFVNRV9ET1dOIixlLGVdLFsxLDEzNCwiTnVtcGFkQ29tbWEiLDExMCwiTnVtUGFkX1NlcGFyYXRvciIsMTA4LCJWS19TRVBBUkFUT1IiLGUsZV0sWzAsMTM1LCJJbnRsUm8iLDExNSwiQUJOVF9DMSIsMTkzLCJWS19BQk5UX0MxIixlLGVdLFsxLDEzNiwiS2FuYU1vZGUiLDAsZSwwLGUsZSxlXSxbMCwxMzcsIkludGxZZW4iLDAsZSwwLGUsZSxlXSxbMSwxMzgsIkNvbnZlcnQiLDAsZSwwLGUsZSxlXSxbMSwxMzksIk5vbkNvbnZlcnQiLDAsZSwwLGUsZSxlXSxbMSwxNDAsIkxhbmcxIiwwLGUsMCxlLGUsZV0sWzEsMTQxLCJMYW5nMiIsMCxlLDAsZSxlLGVdLFsxLDE0MiwiTGFuZzMiLDAsZSwwLGUsZSxlXSxbMSwxNDMsIkxhbmc0IiwwLGUsMCxlLGUsZV0sWzEsMTQ0LCJMYW5nNSIsMCxlLDAsZSxlLGVdLFsxLDE0NSwiQWJvcnQiLDAsZSwwLGUsZSxlXSxbMSwxNDYsIlByb3BzIiwwLGUsMCxlLGUsZV0sWzEsMTQ3LCJOdW1wYWRQYXJlbkxlZnQiLDAsZSwwLGUsZSxlXSxbMSwxNDgsIk51bXBhZFBhcmVuUmlnaHQiLDAsZSwwLGUsZSxlXSxbMSwxNDksIk51bXBhZEJhY2tzcGFjZSIsMCxlLDAsZSxlLGVdLFsxLDE1MCwiTnVtcGFkTWVtb3J5U3RvcmUiLDAsZSwwLGUsZSxlXSxbMSwxNTEsIk51bXBhZE1lbW9yeVJlY2FsbCIsMCxlLDAsZSxlLGVdLFsxLDE1MiwiTnVtcGFkTWVtb3J5Q2xlYXIiLDAsZSwwLGUsZSxlXSxbMSwxNTMsIk51bXBhZE1lbW9yeUFkZCIsMCxlLDAsZSxlLGVdLFsxLDE1NCwiTnVtcGFkTWVtb3J5U3VidHJhY3QiLDAsZSwwLGUsZSxlXSxbMSwxNTUsIk51bXBhZENsZWFyIiwxMzEsIkNsZWFyIiwxMiwiVktfQ0xFQVIiLGUsZV0sWzEsMTU2LCJOdW1wYWRDbGVhckVudHJ5IiwwLGUsMCxlLGUsZV0sWzEsMCxlLDUsIkN0cmwiLDE3LCJWS19DT05UUk9MIixlLGVdLFsxLDAsZSw0LCJTaGlmdCIsMTYsIlZLX1NISUZUIixlLGVdLFsxLDAsZSw2LCJBbHQiLDE4LCJWS19NRU5VIixlLGVdLFsxLDAsZSw1NywiTWV0YSIsOTEsIlZLX0NPTU1BTkQiLGUsZV0sWzEsMTU3LCJDb250cm9sTGVmdCIsNSxlLDAsIlZLX0xDT05UUk9MIixlLGVdLFsxLDE1OCwiU2hpZnRMZWZ0Iiw0LGUsMCwiVktfTFNISUZUIixlLGVdLFsxLDE1OSwiQWx0TGVmdCIsNixlLDAsIlZLX0xNRU5VIixlLGVdLFsxLDE2MCwiTWV0YUxlZnQiLDU3LGUsMCwiVktfTFdJTiIsZSxlXSxbMSwxNjEsIkNvbnRyb2xSaWdodCIsNSxlLDAsIlZLX1JDT05UUk9MIixlLGVdLFsxLDE2MiwiU2hpZnRSaWdodCIsNCxlLDAsIlZLX1JTSElGVCIsZSxlXSxbMSwxNjMsIkFsdFJpZ2h0Iiw2LGUsMCwiVktfUk1FTlUiLGUsZV0sWzEsMTY0LCJNZXRhUmlnaHQiLDU3LGUsMCwiVktfUldJTiIsZSxlXSxbMSwxNjUsIkJyaWdodG5lc3NVcCIsMCxlLDAsZSxlLGVdLFsxLDE2NiwiQnJpZ2h0bmVzc0Rvd24iLDAsZSwwLGUsZSxlXSxbMSwxNjcsIk1lZGlhUGxheSIsMCxlLDAsZSxlLGVdLFsxLDE2OCwiTWVkaWFSZWNvcmQiLDAsZSwwLGUsZSxlXSxbMSwxNjksIk1lZGlhRmFzdEZvcndhcmQiLDAsZSwwLGUsZSxlXSxbMSwxNzAsIk1lZGlhUmV3aW5kIiwwLGUsMCxlLGUsZV0sWzEsMTcxLCJNZWRpYVRyYWNrTmV4dCIsMTI0LCJNZWRpYVRyYWNrTmV4dCIsMTc2LCJWS19NRURJQV9ORVhUX1RSQUNLIixlLGVdLFsxLDE3MiwiTWVkaWFUcmFja1ByZXZpb3VzIiwxMjUsIk1lZGlhVHJhY2tQcmV2aW91cyIsMTc3LCJWS19NRURJQV9QUkVWX1RSQUNLIixlLGVdLFsxLDE3MywiTWVkaWFTdG9wIiwxMjYsIk1lZGlhU3RvcCIsMTc4LCJWS19NRURJQV9TVE9QIixlLGVdLFsxLDE3NCwiRWplY3QiLDAsZSwwLGUsZSxlXSxbMSwxNzUsIk1lZGlhUGxheVBhdXNlIiwxMjcsIk1lZGlhUGxheVBhdXNlIiwxNzksIlZLX01FRElBX1BMQVlfUEFVU0UiLGUsZV0sWzEsMTc2LCJNZWRpYVNlbGVjdCIsMTI4LCJMYXVuY2hNZWRpYVBsYXllciIsMTgxLCJWS19NRURJQV9MQVVOQ0hfTUVESUFfU0VMRUNUIixlLGVdLFsxLDE3NywiTGF1bmNoTWFpbCIsMTI5LCJMYXVuY2hNYWlsIiwxODAsIlZLX01FRElBX0xBVU5DSF9NQUlMIixlLGVdLFsxLDE3OCwiTGF1bmNoQXBwMiIsMTMwLCJMYXVuY2hBcHAyIiwxODMsIlZLX01FRElBX0xBVU5DSF9BUFAyIixlLGVdLFsxLDE3OSwiTGF1bmNoQXBwMSIsMCxlLDAsIlZLX01FRElBX0xBVU5DSF9BUFAxIixlLGVdLFsxLDE4MCwiU2VsZWN0VGFzayIsMCxlLDAsZSxlLGVdLFsxLDE4MSwiTGF1bmNoU2NyZWVuU2F2ZXIiLDAsZSwwLGUsZSxlXSxbMSwxODIsIkJyb3dzZXJTZWFyY2giLDEyMCwiQnJvd3NlclNlYXJjaCIsMTcwLCJWS19CUk9XU0VSX1NFQVJDSCIsZSxlXSxbMSwxODMsIkJyb3dzZXJIb21lIiwxMjEsIkJyb3dzZXJIb21lIiwxNzIsIlZLX0JST1dTRVJfSE9NRSIsZSxlXSxbMSwxODQsIkJyb3dzZXJCYWNrIiwxMjIsIkJyb3dzZXJCYWNrIiwxNjYsIlZLX0JST1dTRVJfQkFDSyIsZSxlXSxbMSwxODUsIkJyb3dzZXJGb3J3YXJkIiwxMjMsIkJyb3dzZXJGb3J3YXJkIiwxNjcsIlZLX0JST1dTRVJfRk9SV0FSRCIsZSxlXSxbMSwxODYsIkJyb3dzZXJTdG9wIiwwLGUsMCwiVktfQlJPV1NFUl9TVE9QIixlLGVdLFsxLDE4NywiQnJvd3NlclJlZnJlc2giLDAsZSwwLCJWS19CUk9XU0VSX1JFRlJFU0giLGUsZV0sWzEsMTg4LCJCcm93c2VyRmF2b3JpdGVzIiwwLGUsMCwiVktfQlJPV1NFUl9GQVZPUklURVMiLGUsZV0sWzEsMTg5LCJab29tVG9nZ2xlIiwwLGUsMCxlLGUsZV0sWzEsMTkwLCJNYWlsUmVwbHkiLDAsZSwwLGUsZSxlXSxbMSwxOTEsIk1haWxGb3J3YXJkIiwwLGUsMCxlLGUsZV0sWzEsMTkyLCJNYWlsU2VuZCIsMCxlLDAsZSxlLGVdLFsxLDAsZSwxMTQsIktleUluQ29tcG9zaXRpb24iLDIyOSxlLGUsZV0sWzEsMCxlLDExNiwiQUJOVF9DMiIsMTk0LCJWS19BQk5UX0MyIixlLGVdLFsxLDAsZSw5NiwiT0VNXzgiLDIyMywiVktfT0VNXzgiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19LQU5BIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfSEFOR1VMIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfSlVOSkEiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19GSU5BTCIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX0hBTkpBIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfS0FOSkkiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19DT05WRVJUIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfTk9OQ09OVkVSVCIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX0FDQ0VQVCIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX01PREVDSEFOR0UiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19TRUxFQ1QiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19QUklOVCIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX0VYRUNVVEUiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19TTkFQU0hPVCIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX0hFTFAiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19BUFBTIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfUFJPQ0VTU0tFWSIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX1BBQ0tFVCIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX0RCRV9TQkNTQ0hBUiIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX0RCRV9EQkNTQ0hBUiIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX0FUVE4iLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19DUlNFTCIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX0VYU0VMIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfRVJFT0YiLGUsZV0sWzEsMCxlLDAsZSwwLCJWS19QTEFZIixlLGVdLFsxLDAsZSwwLGUsMCwiVktfWk9PTSIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX05PTkFNRSIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX1BBMSIsZSxlXSxbMSwwLGUsMCxlLDAsIlZLX09FTV9DTEVBUiIsZSxlXV0sbj1bXSxyPVtdO2Zvcihjb25zdCBpIG9mIHQpe2NvbnN0W3MsYSxvLGwsdSxmLGgsZCxnXT1pO2lmKHJbYV18fChyW2FdPSEwLGlsW29dPWEsc2xbby50b0xvd2VyQ2FzZSgpXT1hKSwhbltsXSl7aWYobltsXT0hMCwhdSl0aHJvdyBuZXcgRXJyb3IoYFN0cmluZyByZXByZXNlbnRhdGlvbiBtaXNzaW5nIGZvciBrZXkgY29kZSAke2x9IGFyb3VuZCBzY2FuIGNvZGUgJHtvfWApO3VuLmRlZmluZShsLHUpLFluLmRlZmluZShsLGR8fHUpLFFuLmRlZmluZShsLGd8fGR8fHUpfWYmJihybFtmXT1sKX19KSgpO3ZhciBsaTsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChvKXtyZXR1cm4gdW4ua2V5Q29kZVRvU3RyKG8pfWUudG9TdHJpbmc9dDtmdW5jdGlvbiBuKG8pe3JldHVybiB1bi5zdHJUb0tleUNvZGUobyl9ZS5mcm9tU3RyaW5nPW47ZnVuY3Rpb24gcihvKXtyZXR1cm4gWW4ua2V5Q29kZVRvU3RyKG8pfWUudG9Vc2VyU2V0dGluZ3NVUz1yO2Z1bmN0aW9uIGkobyl7cmV0dXJuIFFuLmtleUNvZGVUb1N0cihvKX1lLnRvVXNlclNldHRpbmdzR2VuZXJhbD1pO2Z1bmN0aW9uIHMobyl7cmV0dXJuIFluLnN0clRvS2V5Q29kZShvKXx8UW4uc3RyVG9LZXlDb2RlKG8pfWUuZnJvbVVzZXJTZXR0aW5ncz1zO2Z1bmN0aW9uIGEobyl7aWYobz49OTgmJm88PTExMylyZXR1cm4gbnVsbDtzd2l0Y2gobyl7Y2FzZSAxNjpyZXR1cm4iVXAiO2Nhc2UgMTg6cmV0dXJuIkRvd24iO2Nhc2UgMTU6cmV0dXJuIkxlZnQiO2Nhc2UgMTc6cmV0dXJuIlJpZ2h0In1yZXR1cm4gdW4ua2V5Q29kZVRvU3RyKG8pfWUudG9FbGVjdHJvbkFjY2VsZXJhdG9yPWF9KShsaXx8KGxpPXt9KSk7ZnVuY3Rpb24gYWwoZSx0KXtjb25zdCBuPSh0JjY1NTM1KTw8MTY+Pj4wO3JldHVybihlfG4pPj4+MH1jbGFzcyBfZSBleHRlbmRzIHNle2NvbnN0cnVjdG9yKHQsbixyLGkpe3N1cGVyKHQsbixyLGkpLHRoaXMuc2VsZWN0aW9uU3RhcnRMaW5lTnVtYmVyPXQsdGhpcy5zZWxlY3Rpb25TdGFydENvbHVtbj1uLHRoaXMucG9zaXRpb25MaW5lTnVtYmVyPXIsdGhpcy5wb3NpdGlvbkNvbHVtbj1pfXRvU3RyaW5nKCl7cmV0dXJuIlsiK3RoaXMuc2VsZWN0aW9uU3RhcnRMaW5lTnVtYmVyKyIsIit0aGlzLnNlbGVjdGlvblN0YXJ0Q29sdW1uKyIgLT4gIit0aGlzLnBvc2l0aW9uTGluZU51bWJlcisiLCIrdGhpcy5wb3NpdGlvbkNvbHVtbisiXSJ9ZXF1YWxzU2VsZWN0aW9uKHQpe3JldHVybiBfZS5zZWxlY3Rpb25zRXF1YWwodGhpcyx0KX1zdGF0aWMgc2VsZWN0aW9uc0VxdWFsKHQsbil7cmV0dXJuIHQuc2VsZWN0aW9uU3RhcnRMaW5lTnVtYmVyPT09bi5zZWxlY3Rpb25TdGFydExpbmVOdW1iZXImJnQuc2VsZWN0aW9uU3RhcnRDb2x1bW49PT1uLnNlbGVjdGlvblN0YXJ0Q29sdW1uJiZ0LnBvc2l0aW9uTGluZU51bWJlcj09PW4ucG9zaXRpb25MaW5lTnVtYmVyJiZ0LnBvc2l0aW9uQ29sdW1uPT09bi5wb3NpdGlvbkNvbHVtbn1nZXREaXJlY3Rpb24oKXtyZXR1cm4gdGhpcy5zZWxlY3Rpb25TdGFydExpbmVOdW1iZXI9PT10aGlzLnN0YXJ0TGluZU51bWJlciYmdGhpcy5zZWxlY3Rpb25TdGFydENvbHVtbj09PXRoaXMuc3RhcnRDb2x1bW4/MDoxfXNldEVuZFBvc2l0aW9uKHQsbil7cmV0dXJuIHRoaXMuZ2V0RGlyZWN0aW9uKCk9PT0wP25ldyBfZSh0aGlzLnN0YXJ0TGluZU51bWJlcix0aGlzLnN0YXJ0Q29sdW1uLHQsbik6bmV3IF9lKHQsbix0aGlzLnN0YXJ0TGluZU51bWJlcix0aGlzLnN0YXJ0Q29sdW1uKX1nZXRQb3NpdGlvbigpe3JldHVybiBuZXcgUGUodGhpcy5wb3NpdGlvbkxpbmVOdW1iZXIsdGhpcy5wb3NpdGlvbkNvbHVtbil9Z2V0U2VsZWN0aW9uU3RhcnQoKXtyZXR1cm4gbmV3IFBlKHRoaXMuc2VsZWN0aW9uU3RhcnRMaW5lTnVtYmVyLHRoaXMuc2VsZWN0aW9uU3RhcnRDb2x1bW4pfXNldFN0YXJ0UG9zaXRpb24odCxuKXtyZXR1cm4gdGhpcy5nZXREaXJlY3Rpb24oKT09PTA/bmV3IF9lKHQsbix0aGlzLmVuZExpbmVOdW1iZXIsdGhpcy5lbmRDb2x1bW4pOm5ldyBfZSh0aGlzLmVuZExpbmVOdW1iZXIsdGhpcy5lbmRDb2x1bW4sdCxuKX1zdGF0aWMgZnJvbVBvc2l0aW9ucyh0LG49dCl7cmV0dXJuIG5ldyBfZSh0LmxpbmVOdW1iZXIsdC5jb2x1bW4sbi5saW5lTnVtYmVyLG4uY29sdW1uKX1zdGF0aWMgZnJvbVJhbmdlKHQsbil7cmV0dXJuIG49PT0wP25ldyBfZSh0LnN0YXJ0TGluZU51bWJlcix0LnN0YXJ0Q29sdW1uLHQuZW5kTGluZU51bWJlcix0LmVuZENvbHVtbik6bmV3IF9lKHQuZW5kTGluZU51bWJlcix0LmVuZENvbHVtbix0LnN0YXJ0TGluZU51bWJlcix0LnN0YXJ0Q29sdW1uKX1zdGF0aWMgbGlmdFNlbGVjdGlvbih0KXtyZXR1cm4gbmV3IF9lKHQuc2VsZWN0aW9uU3RhcnRMaW5lTnVtYmVyLHQuc2VsZWN0aW9uU3RhcnRDb2x1bW4sdC5wb3NpdGlvbkxpbmVOdW1iZXIsdC5wb3NpdGlvbkNvbHVtbil9c3RhdGljIHNlbGVjdGlvbnNBcnJFcXVhbCh0LG4pe2lmKHQmJiFufHwhdCYmbilyZXR1cm4hMTtpZighdCYmIW4pcmV0dXJuITA7aWYodC5sZW5ndGghPT1uLmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IHI9MCxpPXQubGVuZ3RoO3I8aTtyKyspaWYoIXRoaXMuc2VsZWN0aW9uc0VxdWFsKHRbcl0sbltyXSkpcmV0dXJuITE7cmV0dXJuITB9c3RhdGljIGlzSVNlbGVjdGlvbih0KXtyZXR1cm4gdCYmdHlwZW9mIHQuc2VsZWN0aW9uU3RhcnRMaW5lTnVtYmVyPT0ibnVtYmVyIiYmdHlwZW9mIHQuc2VsZWN0aW9uU3RhcnRDb2x1bW49PSJudW1iZXIiJiZ0eXBlb2YgdC5wb3NpdGlvbkxpbmVOdW1iZXI9PSJudW1iZXIiJiZ0eXBlb2YgdC5wb3NpdGlvbkNvbHVtbj09Im51bWJlciJ9c3RhdGljIGNyZWF0ZVdpdGhEaXJlY3Rpb24odCxuLHIsaSxzKXtyZXR1cm4gcz09PTA/bmV3IF9lKHQsbixyLGkpOm5ldyBfZShyLGksdCxuKX19Y29uc3QgdWk9T2JqZWN0LmNyZWF0ZShudWxsKTtmdW5jdGlvbiBjKGUsdCl7aWYoV2EodCkpe2NvbnN0IG49dWlbdF07aWYobj09PXZvaWQgMCl0aHJvdyBuZXcgRXJyb3IoYCR7ZX0gcmVmZXJlbmNlcyBhbiB1bmtub3duIGNvZGljb246ICR7dH1gKTt0PW59cmV0dXJuIHVpW2VdPXQse2lkOmV9fWNvbnN0IG9sPXthZGQ6YygiYWRkIiw2ZTQpLHBsdXM6YygicGx1cyIsNmU0KSxnaXN0TmV3OmMoImdpc3QtbmV3Iiw2ZTQpLHJlcG9DcmVhdGU6YygicmVwby1jcmVhdGUiLDZlNCksbGlnaHRidWxiOmMoImxpZ2h0YnVsYiIsNjAwMDEpLGxpZ2h0QnVsYjpjKCJsaWdodC1idWxiIiw2MDAwMSkscmVwbzpjKCJyZXBvIiw2MDAwMikscmVwb0RlbGV0ZTpjKCJyZXBvLWRlbGV0ZSIsNjAwMDIpLGdpc3RGb3JrOmMoImdpc3QtZm9yayIsNjAwMDMpLHJlcG9Gb3JrZWQ6YygicmVwby1mb3JrZWQiLDYwMDAzKSxnaXRQdWxsUmVxdWVzdDpjKCJnaXQtcHVsbC1yZXF1ZXN0Iiw2MDAwNCksZ2l0UHVsbFJlcXVlc3RBYmFuZG9uZWQ6YygiZ2l0LXB1bGwtcmVxdWVzdC1hYmFuZG9uZWQiLDYwMDA0KSxyZWNvcmRLZXlzOmMoInJlY29yZC1rZXlzIiw2MDAwNSksa2V5Ym9hcmQ6Yygia2V5Ym9hcmQiLDYwMDA1KSx0YWc6YygidGFnIiw2MDAwNiksZ2l0UHVsbFJlcXVlc3RMYWJlbDpjKCJnaXQtcHVsbC1yZXF1ZXN0LWxhYmVsIiw2MDAwNiksdGFnQWRkOmMoInRhZy1hZGQiLDYwMDA2KSx0YWdSZW1vdmU6YygidGFnLXJlbW92ZSIsNjAwMDYpLHBlcnNvbjpjKCJwZXJzb24iLDYwMDA3KSxwZXJzb25Gb2xsb3c6YygicGVyc29uLWZvbGxvdyIsNjAwMDcpLHBlcnNvbk91dGxpbmU6YygicGVyc29uLW91dGxpbmUiLDYwMDA3KSxwZXJzb25GaWxsZWQ6YygicGVyc29uLWZpbGxlZCIsNjAwMDcpLGdpdEJyYW5jaDpjKCJnaXQtYnJhbmNoIiw2MDAwOCksZ2l0QnJhbmNoQ3JlYXRlOmMoImdpdC1icmFuY2gtY3JlYXRlIiw2MDAwOCksZ2l0QnJhbmNoRGVsZXRlOmMoImdpdC1icmFuY2gtZGVsZXRlIiw2MDAwOCksc291cmNlQ29udHJvbDpjKCJzb3VyY2UtY29udHJvbCIsNjAwMDgpLG1pcnJvcjpjKCJtaXJyb3IiLDYwMDA5KSxtaXJyb3JQdWJsaWM6YygibWlycm9yLXB1YmxpYyIsNjAwMDkpLHN0YXI6Yygic3RhciIsNjAwMTApLHN0YXJBZGQ6Yygic3Rhci1hZGQiLDYwMDEwKSxzdGFyRGVsZXRlOmMoInN0YXItZGVsZXRlIiw2MDAxMCksc3RhckVtcHR5OmMoInN0YXItZW1wdHkiLDYwMDEwKSxjb21tZW50OmMoImNvbW1lbnQiLDYwMDExKSxjb21tZW50QWRkOmMoImNvbW1lbnQtYWRkIiw2MDAxMSksYWxlcnQ6YygiYWxlcnQiLDYwMDEyKSx3YXJuaW5nOmMoIndhcm5pbmciLDYwMDEyKSxzZWFyY2g6Yygic2VhcmNoIiw2MDAxMyksc2VhcmNoU2F2ZTpjKCJzZWFyY2gtc2F2ZSIsNjAwMTMpLGxvZ091dDpjKCJsb2ctb3V0Iiw2MDAxNCksc2lnbk91dDpjKCJzaWduLW91dCIsNjAwMTQpLGxvZ0luOmMoImxvZy1pbiIsNjAwMTUpLHNpZ25JbjpjKCJzaWduLWluIiw2MDAxNSksZXllOmMoImV5ZSIsNjAwMTYpLGV5ZVVud2F0Y2g6YygiZXllLXVud2F0Y2giLDYwMDE2KSxleWVXYXRjaDpjKCJleWUtd2F0Y2giLDYwMDE2KSxjaXJjbGVGaWxsZWQ6YygiY2lyY2xlLWZpbGxlZCIsNjAwMTcpLHByaW1pdGl2ZURvdDpjKCJwcmltaXRpdmUtZG90Iiw2MDAxNyksY2xvc2VEaXJ0eTpjKCJjbG9zZS1kaXJ0eSIsNjAwMTcpLGRlYnVnQnJlYWtwb2ludDpjKCJkZWJ1Zy1icmVha3BvaW50Iiw2MDAxNyksZGVidWdCcmVha3BvaW50RGlzYWJsZWQ6YygiZGVidWctYnJlYWtwb2ludC1kaXNhYmxlZCIsNjAwMTcpLGRlYnVnSGludDpjKCJkZWJ1Zy1oaW50Iiw2MDAxNyksdGVybWluYWxEZWNvcmF0aW9uU3VjY2VzczpjKCJ0ZXJtaW5hbC1kZWNvcmF0aW9uLXN1Y2Nlc3MiLDYwMDE3KSxwcmltaXRpdmVTcXVhcmU6YygicHJpbWl0aXZlLXNxdWFyZSIsNjAwMTgpLGVkaXQ6YygiZWRpdCIsNjAwMTkpLHBlbmNpbDpjKCJwZW5jaWwiLDYwMDE5KSxpbmZvOmMoImluZm8iLDYwMDIwKSxpc3N1ZU9wZW5lZDpjKCJpc3N1ZS1vcGVuZWQiLDYwMDIwKSxnaXN0UHJpdmF0ZTpjKCJnaXN0LXByaXZhdGUiLDYwMDIxKSxnaXRGb3JrUHJpdmF0ZTpjKCJnaXQtZm9yay1wcml2YXRlIiw2MDAyMSksbG9jazpjKCJsb2NrIiw2MDAyMSksbWlycm9yUHJpdmF0ZTpjKCJtaXJyb3ItcHJpdmF0ZSIsNjAwMjEpLGNsb3NlOmMoImNsb3NlIiw2MDAyMikscmVtb3ZlQ2xvc2U6YygicmVtb3ZlLWNsb3NlIiw2MDAyMikseDpjKCJ4Iiw2MDAyMikscmVwb1N5bmM6YygicmVwby1zeW5jIiw2MDAyMyksc3luYzpjKCJzeW5jIiw2MDAyMyksY2xvbmU6YygiY2xvbmUiLDYwMDI0KSxkZXNrdG9wRG93bmxvYWQ6YygiZGVza3RvcC1kb3dubG9hZCIsNjAwMjQpLGJlYWtlcjpjKCJiZWFrZXIiLDYwMDI1KSxtaWNyb3Njb3BlOmMoIm1pY3Jvc2NvcGUiLDYwMDI1KSx2bTpjKCJ2bSIsNjAwMjYpLGRldmljZURlc2t0b3A6YygiZGV2aWNlLWRlc2t0b3AiLDYwMDI2KSxmaWxlOmMoImZpbGUiLDYwMDI3KSxmaWxlVGV4dDpjKCJmaWxlLXRleHQiLDYwMDI3KSxtb3JlOmMoIm1vcmUiLDYwMDI4KSxlbGxpcHNpczpjKCJlbGxpcHNpcyIsNjAwMjgpLGtlYmFiSG9yaXpvbnRhbDpjKCJrZWJhYi1ob3Jpem9udGFsIiw2MDAyOCksbWFpbFJlcGx5OmMoIm1haWwtcmVwbHkiLDYwMDI5KSxyZXBseTpjKCJyZXBseSIsNjAwMjkpLG9yZ2FuaXphdGlvbjpjKCJvcmdhbml6YXRpb24iLDYwMDMwKSxvcmdhbml6YXRpb25GaWxsZWQ6Yygib3JnYW5pemF0aW9uLWZpbGxlZCIsNjAwMzApLG9yZ2FuaXphdGlvbk91dGxpbmU6Yygib3JnYW5pemF0aW9uLW91dGxpbmUiLDYwMDMwKSxuZXdGaWxlOmMoIm5ldy1maWxlIiw2MDAzMSksZmlsZUFkZDpjKCJmaWxlLWFkZCIsNjAwMzEpLG5ld0ZvbGRlcjpjKCJuZXctZm9sZGVyIiw2MDAzMiksZmlsZURpcmVjdG9yeUNyZWF0ZTpjKCJmaWxlLWRpcmVjdG9yeS1jcmVhdGUiLDYwMDMyKSx0cmFzaDpjKCJ0cmFzaCIsNjAwMzMpLHRyYXNoY2FuOmMoInRyYXNoY2FuIiw2MDAzMyksaGlzdG9yeTpjKCJoaXN0b3J5Iiw2MDAzNCksY2xvY2s6YygiY2xvY2siLDYwMDM0KSxmb2xkZXI6YygiZm9sZGVyIiw2MDAzNSksZmlsZURpcmVjdG9yeTpjKCJmaWxlLWRpcmVjdG9yeSIsNjAwMzUpLHN5bWJvbEZvbGRlcjpjKCJzeW1ib2wtZm9sZGVyIiw2MDAzNSksbG9nb0dpdGh1YjpjKCJsb2dvLWdpdGh1YiIsNjAwMzYpLG1hcmtHaXRodWI6YygibWFyay1naXRodWIiLDYwMDM2KSxnaXRodWI6YygiZ2l0aHViIiw2MDAzNiksdGVybWluYWw6YygidGVybWluYWwiLDYwMDM3KSxjb25zb2xlOmMoImNvbnNvbGUiLDYwMDM3KSxyZXBsOmMoInJlcGwiLDYwMDM3KSx6YXA6YygiemFwIiw2MDAzOCksc3ltYm9sRXZlbnQ6Yygic3ltYm9sLWV2ZW50Iiw2MDAzOCksZXJyb3I6YygiZXJyb3IiLDYwMDM5KSxzdG9wOmMoInN0b3AiLDYwMDM5KSx2YXJpYWJsZTpjKCJ2YXJpYWJsZSIsNjAwNDApLHN5bWJvbFZhcmlhYmxlOmMoInN5bWJvbC12YXJpYWJsZSIsNjAwNDApLGFycmF5OmMoImFycmF5Iiw2MDA0Miksc3ltYm9sQXJyYXk6Yygic3ltYm9sLWFycmF5Iiw2MDA0Miksc3ltYm9sTW9kdWxlOmMoInN5bWJvbC1tb2R1bGUiLDYwMDQzKSxzeW1ib2xQYWNrYWdlOmMoInN5bWJvbC1wYWNrYWdlIiw2MDA0Myksc3ltYm9sTmFtZXNwYWNlOmMoInN5bWJvbC1uYW1lc3BhY2UiLDYwMDQzKSxzeW1ib2xPYmplY3Q6Yygic3ltYm9sLW9iamVjdCIsNjAwNDMpLHN5bWJvbE1ldGhvZDpjKCJzeW1ib2wtbWV0aG9kIiw2MDA0NCksc3ltYm9sRnVuY3Rpb246Yygic3ltYm9sLWZ1bmN0aW9uIiw2MDA0NCksc3ltYm9sQ29uc3RydWN0b3I6Yygic3ltYm9sLWNvbnN0cnVjdG9yIiw2MDA0NCksc3ltYm9sQm9vbGVhbjpjKCJzeW1ib2wtYm9vbGVhbiIsNjAwNDcpLHN5bWJvbE51bGw6Yygic3ltYm9sLW51bGwiLDYwMDQ3KSxzeW1ib2xOdW1lcmljOmMoInN5bWJvbC1udW1lcmljIiw2MDA0OCksc3ltYm9sTnVtYmVyOmMoInN5bWJvbC1udW1iZXIiLDYwMDQ4KSxzeW1ib2xTdHJ1Y3R1cmU6Yygic3ltYm9sLXN0cnVjdHVyZSIsNjAwNDkpLHN5bWJvbFN0cnVjdDpjKCJzeW1ib2wtc3RydWN0Iiw2MDA0OSksc3ltYm9sUGFyYW1ldGVyOmMoInN5bWJvbC1wYXJhbWV0ZXIiLDYwMDUwKSxzeW1ib2xUeXBlUGFyYW1ldGVyOmMoInN5bWJvbC10eXBlLXBhcmFtZXRlciIsNjAwNTApLHN5bWJvbEtleTpjKCJzeW1ib2wta2V5Iiw2MDA1MSksc3ltYm9sVGV4dDpjKCJzeW1ib2wtdGV4dCIsNjAwNTEpLHN5bWJvbFJlZmVyZW5jZTpjKCJzeW1ib2wtcmVmZXJlbmNlIiw2MDA1MiksZ29Ub0ZpbGU6YygiZ28tdG8tZmlsZSIsNjAwNTIpLHN5bWJvbEVudW06Yygic3ltYm9sLWVudW0iLDYwMDUzKSxzeW1ib2xWYWx1ZTpjKCJzeW1ib2wtdmFsdWUiLDYwMDUzKSxzeW1ib2xSdWxlcjpjKCJzeW1ib2wtcnVsZXIiLDYwMDU0KSxzeW1ib2xVbml0OmMoInN5bWJvbC11bml0Iiw2MDA1NCksYWN0aXZhdGVCcmVha3BvaW50czpjKCJhY3RpdmF0ZS1icmVha3BvaW50cyIsNjAwNTUpLGFyY2hpdmU6YygiYXJjaGl2ZSIsNjAwNTYpLGFycm93Qm90aDpjKCJhcnJvdy1ib3RoIiw2MDA1NyksYXJyb3dEb3duOmMoImFycm93LWRvd24iLDYwMDU4KSxhcnJvd0xlZnQ6YygiYXJyb3ctbGVmdCIsNjAwNTkpLGFycm93UmlnaHQ6YygiYXJyb3ctcmlnaHQiLDYwMDYwKSxhcnJvd1NtYWxsRG93bjpjKCJhcnJvdy1zbWFsbC1kb3duIiw2MDA2MSksYXJyb3dTbWFsbExlZnQ6YygiYXJyb3ctc21hbGwtbGVmdCIsNjAwNjIpLGFycm93U21hbGxSaWdodDpjKCJhcnJvdy1zbWFsbC1yaWdodCIsNjAwNjMpLGFycm93U21hbGxVcDpjKCJhcnJvdy1zbWFsbC11cCIsNjAwNjQpLGFycm93VXA6YygiYXJyb3ctdXAiLDYwMDY1KSxiZWxsOmMoImJlbGwiLDYwMDY2KSxib2xkOmMoImJvbGQiLDYwMDY3KSxib29rOmMoImJvb2siLDYwMDY4KSxib29rbWFyazpjKCJib29rbWFyayIsNjAwNjkpLGRlYnVnQnJlYWtwb2ludENvbmRpdGlvbmFsVW52ZXJpZmllZDpjKCJkZWJ1Zy1icmVha3BvaW50LWNvbmRpdGlvbmFsLXVudmVyaWZpZWQiLDYwMDcwKSxkZWJ1Z0JyZWFrcG9pbnRDb25kaXRpb25hbDpjKCJkZWJ1Zy1icmVha3BvaW50LWNvbmRpdGlvbmFsIiw2MDA3MSksZGVidWdCcmVha3BvaW50Q29uZGl0aW9uYWxEaXNhYmxlZDpjKCJkZWJ1Zy1icmVha3BvaW50LWNvbmRpdGlvbmFsLWRpc2FibGVkIiw2MDA3MSksZGVidWdCcmVha3BvaW50RGF0YVVudmVyaWZpZWQ6YygiZGVidWctYnJlYWtwb2ludC1kYXRhLXVudmVyaWZpZWQiLDYwMDcyKSxkZWJ1Z0JyZWFrcG9pbnREYXRhOmMoImRlYnVnLWJyZWFrcG9pbnQtZGF0YSIsNjAwNzMpLGRlYnVnQnJlYWtwb2ludERhdGFEaXNhYmxlZDpjKCJkZWJ1Zy1icmVha3BvaW50LWRhdGEtZGlzYWJsZWQiLDYwMDczKSxkZWJ1Z0JyZWFrcG9pbnRMb2dVbnZlcmlmaWVkOmMoImRlYnVnLWJyZWFrcG9pbnQtbG9nLXVudmVyaWZpZWQiLDYwMDc0KSxkZWJ1Z0JyZWFrcG9pbnRMb2c6YygiZGVidWctYnJlYWtwb2ludC1sb2ciLDYwMDc1KSxkZWJ1Z0JyZWFrcG9pbnRMb2dEaXNhYmxlZDpjKCJkZWJ1Zy1icmVha3BvaW50LWxvZy1kaXNhYmxlZCIsNjAwNzUpLGJyaWVmY2FzZTpjKCJicmllZmNhc2UiLDYwMDc2KSxicm9hZGNhc3Q6YygiYnJvYWRjYXN0Iiw2MDA3NyksYnJvd3NlcjpjKCJicm93c2VyIiw2MDA3OCksYnVnOmMoImJ1ZyIsNjAwNzkpLGNhbGVuZGFyOmMoImNhbGVuZGFyIiw2MDA4MCksY2FzZVNlbnNpdGl2ZTpjKCJjYXNlLXNlbnNpdGl2ZSIsNjAwODEpLGNoZWNrOmMoImNoZWNrIiw2MDA4MiksY2hlY2tsaXN0OmMoImNoZWNrbGlzdCIsNjAwODMpLGNoZXZyb25Eb3duOmMoImNoZXZyb24tZG93biIsNjAwODQpLGNoZXZyb25MZWZ0OmMoImNoZXZyb24tbGVmdCIsNjAwODUpLGNoZXZyb25SaWdodDpjKCJjaGV2cm9uLXJpZ2h0Iiw2MDA4NiksY2hldnJvblVwOmMoImNoZXZyb24tdXAiLDYwMDg3KSxjaHJvbWVDbG9zZTpjKCJjaHJvbWUtY2xvc2UiLDYwMDg4KSxjaHJvbWVNYXhpbWl6ZTpjKCJjaHJvbWUtbWF4aW1pemUiLDYwMDg5KSxjaHJvbWVNaW5pbWl6ZTpjKCJjaHJvbWUtbWluaW1pemUiLDYwMDkwKSxjaHJvbWVSZXN0b3JlOmMoImNocm9tZS1yZXN0b3JlIiw2MDA5MSksY2lyY2xlT3V0bGluZTpjKCJjaXJjbGUtb3V0bGluZSIsNjAwOTIpLGNpcmNsZTpjKCJjaXJjbGUiLDYwMDkyKSxkZWJ1Z0JyZWFrcG9pbnRVbnZlcmlmaWVkOmMoImRlYnVnLWJyZWFrcG9pbnQtdW52ZXJpZmllZCIsNjAwOTIpLHRlcm1pbmFsRGVjb3JhdGlvbkluY29tcGxldGU6YygidGVybWluYWwtZGVjb3JhdGlvbi1pbmNvbXBsZXRlIiw2MDA5MiksY2lyY2xlU2xhc2g6YygiY2lyY2xlLXNsYXNoIiw2MDA5MyksY2lyY3VpdEJvYXJkOmMoImNpcmN1aXQtYm9hcmQiLDYwMDk0KSxjbGVhckFsbDpjKCJjbGVhci1hbGwiLDYwMDk1KSxjbGlwcHk6YygiY2xpcHB5Iiw2MDA5NiksY2xvc2VBbGw6YygiY2xvc2UtYWxsIiw2MDA5NyksY2xvdWREb3dubG9hZDpjKCJjbG91ZC1kb3dubG9hZCIsNjAwOTgpLGNsb3VkVXBsb2FkOmMoImNsb3VkLXVwbG9hZCIsNjAwOTkpLGNvZGU6YygiY29kZSIsNjAxMDApLGNvbGxhcHNlQWxsOmMoImNvbGxhcHNlLWFsbCIsNjAxMDEpLGNvbG9yTW9kZTpjKCJjb2xvci1tb2RlIiw2MDEwMiksY29tbWVudERpc2N1c3Npb246YygiY29tbWVudC1kaXNjdXNzaW9uIiw2MDEwMyksY3JlZGl0Q2FyZDpjKCJjcmVkaXQtY2FyZCIsNjAxMDUpLGRhc2g6YygiZGFzaCIsNjAxMDgpLGRhc2hib2FyZDpjKCJkYXNoYm9hcmQiLDYwMTA5KSxkYXRhYmFzZTpjKCJkYXRhYmFzZSIsNjAxMTApLGRlYnVnQ29udGludWU6YygiZGVidWctY29udGludWUiLDYwMTExKSxkZWJ1Z0Rpc2Nvbm5lY3Q6YygiZGVidWctZGlzY29ubmVjdCIsNjAxMTIpLGRlYnVnUGF1c2U6YygiZGVidWctcGF1c2UiLDYwMTEzKSxkZWJ1Z1Jlc3RhcnQ6YygiZGVidWctcmVzdGFydCIsNjAxMTQpLGRlYnVnU3RhcnQ6YygiZGVidWctc3RhcnQiLDYwMTE1KSxkZWJ1Z1N0ZXBJbnRvOmMoImRlYnVnLXN0ZXAtaW50byIsNjAxMTYpLGRlYnVnU3RlcE91dDpjKCJkZWJ1Zy1zdGVwLW91dCIsNjAxMTcpLGRlYnVnU3RlcE92ZXI6YygiZGVidWctc3RlcC1vdmVyIiw2MDExOCksZGVidWdTdG9wOmMoImRlYnVnLXN0b3AiLDYwMTE5KSxkZWJ1ZzpjKCJkZWJ1ZyIsNjAxMjApLGRldmljZUNhbWVyYVZpZGVvOmMoImRldmljZS1jYW1lcmEtdmlkZW8iLDYwMTIxKSxkZXZpY2VDYW1lcmE6YygiZGV2aWNlLWNhbWVyYSIsNjAxMjIpLGRldmljZU1vYmlsZTpjKCJkZXZpY2UtbW9iaWxlIiw2MDEyMyksZGlmZkFkZGVkOmMoImRpZmYtYWRkZWQiLDYwMTI0KSxkaWZmSWdub3JlZDpjKCJkaWZmLWlnbm9yZWQiLDYwMTI1KSxkaWZmTW9kaWZpZWQ6YygiZGlmZi1tb2RpZmllZCIsNjAxMjYpLGRpZmZSZW1vdmVkOmMoImRpZmYtcmVtb3ZlZCIsNjAxMjcpLGRpZmZSZW5hbWVkOmMoImRpZmYtcmVuYW1lZCIsNjAxMjgpLGRpZmY6YygiZGlmZiIsNjAxMjkpLGRpZmZTaWRlYnlzaWRlOmMoImRpZmYtc2lkZWJ5c2lkZSIsNjAxMjkpLGRpc2NhcmQ6YygiZGlzY2FyZCIsNjAxMzApLGVkaXRvckxheW91dDpjKCJlZGl0b3ItbGF5b3V0Iiw2MDEzMSksZW1wdHlXaW5kb3c6YygiZW1wdHktd2luZG93Iiw2MDEzMiksZXhjbHVkZTpjKCJleGNsdWRlIiw2MDEzMyksZXh0ZW5zaW9uczpjKCJleHRlbnNpb25zIiw2MDEzNCksZXllQ2xvc2VkOmMoImV5ZS1jbG9zZWQiLDYwMTM1KSxmaWxlQmluYXJ5OmMoImZpbGUtYmluYXJ5Iiw2MDEzNiksZmlsZUNvZGU6YygiZmlsZS1jb2RlIiw2MDEzNyksZmlsZU1lZGlhOmMoImZpbGUtbWVkaWEiLDYwMTM4KSxmaWxlUGRmOmMoImZpbGUtcGRmIiw2MDEzOSksZmlsZVN1Ym1vZHVsZTpjKCJmaWxlLXN1Ym1vZHVsZSIsNjAxNDApLGZpbGVTeW1saW5rRGlyZWN0b3J5OmMoImZpbGUtc3ltbGluay1kaXJlY3RvcnkiLDYwMTQxKSxmaWxlU3ltbGlua0ZpbGU6YygiZmlsZS1zeW1saW5rLWZpbGUiLDYwMTQyKSxmaWxlWmlwOmMoImZpbGUtemlwIiw2MDE0MyksZmlsZXM6YygiZmlsZXMiLDYwMTQ0KSxmaWx0ZXI6YygiZmlsdGVyIiw2MDE0NSksZmxhbWU6YygiZmxhbWUiLDYwMTQ2KSxmb2xkRG93bjpjKCJmb2xkLWRvd24iLDYwMTQ3KSxmb2xkVXA6YygiZm9sZC11cCIsNjAxNDgpLGZvbGQ6YygiZm9sZCIsNjAxNDkpLGZvbGRlckFjdGl2ZTpjKCJmb2xkZXItYWN0aXZlIiw2MDE1MCksZm9sZGVyT3BlbmVkOmMoImZvbGRlci1vcGVuZWQiLDYwMTUxKSxnZWFyOmMoImdlYXIiLDYwMTUyKSxnaWZ0OmMoImdpZnQiLDYwMTUzKSxnaXN0U2VjcmV0OmMoImdpc3Qtc2VjcmV0Iiw2MDE1NCksZ2lzdDpjKCJnaXN0Iiw2MDE1NSksZ2l0Q29tbWl0OmMoImdpdC1jb21taXQiLDYwMTU2KSxnaXRDb21wYXJlOmMoImdpdC1jb21wYXJlIiw2MDE1NyksY29tcGFyZUNoYW5nZXM6YygiY29tcGFyZS1jaGFuZ2VzIiw2MDE1NyksZ2l0TWVyZ2U6YygiZ2l0LW1lcmdlIiw2MDE1OCksZ2l0aHViQWN0aW9uOmMoImdpdGh1Yi1hY3Rpb24iLDYwMTU5KSxnaXRodWJBbHQ6YygiZ2l0aHViLWFsdCIsNjAxNjApLGdsb2JlOmMoImdsb2JlIiw2MDE2MSksZ3JhYmJlcjpjKCJncmFiYmVyIiw2MDE2MiksZ3JhcGg6YygiZ3JhcGgiLDYwMTYzKSxncmlwcGVyOmMoImdyaXBwZXIiLDYwMTY0KSxoZWFydDpjKCJoZWFydCIsNjAxNjUpLGhvbWU6YygiaG9tZSIsNjAxNjYpLGhvcml6b250YWxSdWxlOmMoImhvcml6b250YWwtcnVsZSIsNjAxNjcpLGh1Ym90OmMoImh1Ym90Iiw2MDE2OCksaW5ib3g6YygiaW5ib3giLDYwMTY5KSxpc3N1ZVJlb3BlbmVkOmMoImlzc3VlLXJlb3BlbmVkIiw2MDE3MSksaXNzdWVzOmMoImlzc3VlcyIsNjAxNzIpLGl0YWxpYzpjKCJpdGFsaWMiLDYwMTczKSxqZXJzZXk6YygiamVyc2V5Iiw2MDE3NCksanNvbjpjKCJqc29uIiw2MDE3NSksa2ViYWJWZXJ0aWNhbDpjKCJrZWJhYi12ZXJ0aWNhbCIsNjAxNzYpLGtleTpjKCJrZXkiLDYwMTc3KSxsYXc6YygibGF3Iiw2MDE3OCksbGlnaHRidWxiQXV0b2ZpeDpjKCJsaWdodGJ1bGItYXV0b2ZpeCIsNjAxNzkpLGxpbmtFeHRlcm5hbDpjKCJsaW5rLWV4dGVybmFsIiw2MDE4MCksbGluazpjKCJsaW5rIiw2MDE4MSksbGlzdE9yZGVyZWQ6YygibGlzdC1vcmRlcmVkIiw2MDE4MiksbGlzdFVub3JkZXJlZDpjKCJsaXN0LXVub3JkZXJlZCIsNjAxODMpLGxpdmVTaGFyZTpjKCJsaXZlLXNoYXJlIiw2MDE4NCksbG9hZGluZzpjKCJsb2FkaW5nIiw2MDE4NSksbG9jYXRpb246YygibG9jYXRpb24iLDYwMTg2KSxtYWlsUmVhZDpjKCJtYWlsLXJlYWQiLDYwMTg3KSxtYWlsOmMoIm1haWwiLDYwMTg4KSxtYXJrZG93bjpjKCJtYXJrZG93biIsNjAxODkpLG1lZ2FwaG9uZTpjKCJtZWdhcGhvbmUiLDYwMTkwKSxtZW50aW9uOmMoIm1lbnRpb24iLDYwMTkxKSxtaWxlc3RvbmU6YygibWlsZXN0b25lIiw2MDE5MiksZ2l0UHVsbFJlcXVlc3RNaWxlc3RvbmU6YygiZ2l0LXB1bGwtcmVxdWVzdC1taWxlc3RvbmUiLDYwMTkyKSxtb3J0YXJCb2FyZDpjKCJtb3J0YXItYm9hcmQiLDYwMTkzKSxtb3ZlOmMoIm1vdmUiLDYwMTk0KSxtdWx0aXBsZVdpbmRvd3M6YygibXVsdGlwbGUtd2luZG93cyIsNjAxOTUpLG11dGU6YygibXV0ZSIsNjAxOTYpLG5vTmV3bGluZTpjKCJuby1uZXdsaW5lIiw2MDE5Nyksbm90ZTpjKCJub3RlIiw2MDE5OCksb2N0b2ZhY2U6Yygib2N0b2ZhY2UiLDYwMTk5KSxvcGVuUHJldmlldzpjKCJvcGVuLXByZXZpZXciLDYwMjAwKSxwYWNrYWdlOmMoInBhY2thZ2UiLDYwMjAxKSxwYWludGNhbjpjKCJwYWludGNhbiIsNjAyMDIpLHBpbjpjKCJwaW4iLDYwMjAzKSxwbGF5OmMoInBsYXkiLDYwMjA0KSxydW46YygicnVuIiw2MDIwNCkscGx1ZzpjKCJwbHVnIiw2MDIwNSkscHJlc2VydmVDYXNlOmMoInByZXNlcnZlLWNhc2UiLDYwMjA2KSxwcmV2aWV3OmMoInByZXZpZXciLDYwMjA3KSxwcm9qZWN0OmMoInByb2plY3QiLDYwMjA4KSxwdWxzZTpjKCJwdWxzZSIsNjAyMDkpLHF1ZXN0aW9uOmMoInF1ZXN0aW9uIiw2MDIxMCkscXVvdGU6YygicXVvdGUiLDYwMjExKSxyYWRpb1Rvd2VyOmMoInJhZGlvLXRvd2VyIiw2MDIxMikscmVhY3Rpb25zOmMoInJlYWN0aW9ucyIsNjAyMTMpLHJlZmVyZW5jZXM6YygicmVmZXJlbmNlcyIsNjAyMTQpLHJlZnJlc2g6YygicmVmcmVzaCIsNjAyMTUpLHJlZ2V4OmMoInJlZ2V4Iiw2MDIxNikscmVtb3RlRXhwbG9yZXI6YygicmVtb3RlLWV4cGxvcmVyIiw2MDIxNykscmVtb3RlOmMoInJlbW90ZSIsNjAyMTgpLHJlbW92ZTpjKCJyZW1vdmUiLDYwMjE5KSxyZXBsYWNlQWxsOmMoInJlcGxhY2UtYWxsIiw2MDIyMCkscmVwbGFjZTpjKCJyZXBsYWNlIiw2MDIyMSkscmVwb0Nsb25lOmMoInJlcG8tY2xvbmUiLDYwMjIyKSxyZXBvRm9yY2VQdXNoOmMoInJlcG8tZm9yY2UtcHVzaCIsNjAyMjMpLHJlcG9QdWxsOmMoInJlcG8tcHVsbCIsNjAyMjQpLHJlcG9QdXNoOmMoInJlcG8tcHVzaCIsNjAyMjUpLHJlcG9ydDpjKCJyZXBvcnQiLDYwMjI2KSxyZXF1ZXN0Q2hhbmdlczpjKCJyZXF1ZXN0LWNoYW5nZXMiLDYwMjI3KSxyb2NrZXQ6Yygicm9ja2V0Iiw2MDIyOCkscm9vdEZvbGRlck9wZW5lZDpjKCJyb290LWZvbGRlci1vcGVuZWQiLDYwMjI5KSxyb290Rm9sZGVyOmMoInJvb3QtZm9sZGVyIiw2MDIzMCkscnNzOmMoInJzcyIsNjAyMzEpLHJ1Ynk6YygicnVieSIsNjAyMzIpLHNhdmVBbGw6Yygic2F2ZS1hbGwiLDYwMjMzKSxzYXZlQXM6Yygic2F2ZS1hcyIsNjAyMzQpLHNhdmU6Yygic2F2ZSIsNjAyMzUpLHNjcmVlbkZ1bGw6Yygic2NyZWVuLWZ1bGwiLDYwMjM2KSxzY3JlZW5Ob3JtYWw6Yygic2NyZWVuLW5vcm1hbCIsNjAyMzcpLHNlYXJjaFN0b3A6Yygic2VhcmNoLXN0b3AiLDYwMjM4KSxzZXJ2ZXI6Yygic2VydmVyIiw2MDI0MCksc2V0dGluZ3NHZWFyOmMoInNldHRpbmdzLWdlYXIiLDYwMjQxKSxzZXR0aW5nczpjKCJzZXR0aW5ncyIsNjAyNDIpLHNoaWVsZDpjKCJzaGllbGQiLDYwMjQzKSxzbWlsZXk6Yygic21pbGV5Iiw2MDI0NCksc29ydFByZWNlZGVuY2U6Yygic29ydC1wcmVjZWRlbmNlIiw2MDI0NSksc3BsaXRIb3Jpem9udGFsOmMoInNwbGl0LWhvcml6b250YWwiLDYwMjQ2KSxzcGxpdFZlcnRpY2FsOmMoInNwbGl0LXZlcnRpY2FsIiw2MDI0Nyksc3F1aXJyZWw6Yygic3F1aXJyZWwiLDYwMjQ4KSxzdGFyRnVsbDpjKCJzdGFyLWZ1bGwiLDYwMjQ5KSxzdGFySGFsZjpjKCJzdGFyLWhhbGYiLDYwMjUwKSxzeW1ib2xDbGFzczpjKCJzeW1ib2wtY2xhc3MiLDYwMjUxKSxzeW1ib2xDb2xvcjpjKCJzeW1ib2wtY29sb3IiLDYwMjUyKSxzeW1ib2xDb25zdGFudDpjKCJzeW1ib2wtY29uc3RhbnQiLDYwMjUzKSxzeW1ib2xFbnVtTWVtYmVyOmMoInN5bWJvbC1lbnVtLW1lbWJlciIsNjAyNTQpLHN5bWJvbEZpZWxkOmMoInN5bWJvbC1maWVsZCIsNjAyNTUpLHN5bWJvbEZpbGU6Yygic3ltYm9sLWZpbGUiLDYwMjU2KSxzeW1ib2xJbnRlcmZhY2U6Yygic3ltYm9sLWludGVyZmFjZSIsNjAyNTcpLHN5bWJvbEtleXdvcmQ6Yygic3ltYm9sLWtleXdvcmQiLDYwMjU4KSxzeW1ib2xNaXNjOmMoInN5bWJvbC1taXNjIiw2MDI1OSksc3ltYm9sT3BlcmF0b3I6Yygic3ltYm9sLW9wZXJhdG9yIiw2MDI2MCksc3ltYm9sUHJvcGVydHk6Yygic3ltYm9sLXByb3BlcnR5Iiw2MDI2MSksd3JlbmNoOmMoIndyZW5jaCIsNjAyNjEpLHdyZW5jaFN1YmFjdGlvbjpjKCJ3cmVuY2gtc3ViYWN0aW9uIiw2MDI2MSksc3ltYm9sU25pcHBldDpjKCJzeW1ib2wtc25pcHBldCIsNjAyNjIpLHRhc2tsaXN0OmMoInRhc2tsaXN0Iiw2MDI2MyksdGVsZXNjb3BlOmMoInRlbGVzY29wZSIsNjAyNjQpLHRleHRTaXplOmMoInRleHQtc2l6ZSIsNjAyNjUpLHRocmVlQmFyczpjKCJ0aHJlZS1iYXJzIiw2MDI2NiksdGh1bWJzZG93bjpjKCJ0aHVtYnNkb3duIiw2MDI2NyksdGh1bWJzdXA6YygidGh1bWJzdXAiLDYwMjY4KSx0b29sczpjKCJ0b29scyIsNjAyNjkpLHRyaWFuZ2xlRG93bjpjKCJ0cmlhbmdsZS1kb3duIiw2MDI3MCksdHJpYW5nbGVMZWZ0OmMoInRyaWFuZ2xlLWxlZnQiLDYwMjcxKSx0cmlhbmdsZVJpZ2h0OmMoInRyaWFuZ2xlLXJpZ2h0Iiw2MDI3MiksdHJpYW5nbGVVcDpjKCJ0cmlhbmdsZS11cCIsNjAyNzMpLHR3aXR0ZXI6YygidHdpdHRlciIsNjAyNzQpLHVuZm9sZDpjKCJ1bmZvbGQiLDYwMjc1KSx1bmxvY2s6YygidW5sb2NrIiw2MDI3NiksdW5tdXRlOmMoInVubXV0ZSIsNjAyNzcpLHVudmVyaWZpZWQ6YygidW52ZXJpZmllZCIsNjAyNzgpLHZlcmlmaWVkOmMoInZlcmlmaWVkIiw2MDI3OSksdmVyc2lvbnM6YygidmVyc2lvbnMiLDYwMjgwKSx2bUFjdGl2ZTpjKCJ2bS1hY3RpdmUiLDYwMjgxKSx2bU91dGxpbmU6Yygidm0tb3V0bGluZSIsNjAyODIpLHZtUnVubmluZzpjKCJ2bS1ydW5uaW5nIiw2MDI4Myksd2F0Y2g6Yygid2F0Y2giLDYwMjg0KSx3aGl0ZXNwYWNlOmMoIndoaXRlc3BhY2UiLDYwMjg1KSx3aG9sZVdvcmQ6Yygid2hvbGUtd29yZCIsNjAyODYpLHdpbmRvdzpjKCJ3aW5kb3ciLDYwMjg3KSx3b3JkV3JhcDpjKCJ3b3JkLXdyYXAiLDYwMjg4KSx6b29tSW46Yygiem9vbS1pbiIsNjAyODkpLHpvb21PdXQ6Yygiem9vbS1vdXQiLDYwMjkwKSxsaXN0RmlsdGVyOmMoImxpc3QtZmlsdGVyIiw2MDI5MSksbGlzdEZsYXQ6YygibGlzdC1mbGF0Iiw2MDI5MiksbGlzdFNlbGVjdGlvbjpjKCJsaXN0LXNlbGVjdGlvbiIsNjAyOTMpLHNlbGVjdGlvbjpjKCJzZWxlY3Rpb24iLDYwMjkzKSxsaXN0VHJlZTpjKCJsaXN0LXRyZWUiLDYwMjk0KSxkZWJ1Z0JyZWFrcG9pbnRGdW5jdGlvblVudmVyaWZpZWQ6YygiZGVidWctYnJlYWtwb2ludC1mdW5jdGlvbi11bnZlcmlmaWVkIiw2MDI5NSksZGVidWdCcmVha3BvaW50RnVuY3Rpb246YygiZGVidWctYnJlYWtwb2ludC1mdW5jdGlvbiIsNjAyOTYpLGRlYnVnQnJlYWtwb2ludEZ1bmN0aW9uRGlzYWJsZWQ6YygiZGVidWctYnJlYWtwb2ludC1mdW5jdGlvbi1kaXNhYmxlZCIsNjAyOTYpLGRlYnVnU3RhY2tmcmFtZUFjdGl2ZTpjKCJkZWJ1Zy1zdGFja2ZyYW1lLWFjdGl2ZSIsNjAyOTcpLGNpcmNsZVNtYWxsRmlsbGVkOmMoImNpcmNsZS1zbWFsbC1maWxsZWQiLDYwMjk4KSxkZWJ1Z1N0YWNrZnJhbWVEb3Q6YygiZGVidWctc3RhY2tmcmFtZS1kb3QiLDYwMjk4KSx0ZXJtaW5hbERlY29yYXRpb25NYXJrOmMoInRlcm1pbmFsLWRlY29yYXRpb24tbWFyayIsNjAyOTgpLGRlYnVnU3RhY2tmcmFtZTpjKCJkZWJ1Zy1zdGFja2ZyYW1lIiw2MDI5OSksZGVidWdTdGFja2ZyYW1lRm9jdXNlZDpjKCJkZWJ1Zy1zdGFja2ZyYW1lLWZvY3VzZWQiLDYwMjk5KSxkZWJ1Z0JyZWFrcG9pbnRVbnN1cHBvcnRlZDpjKCJkZWJ1Zy1icmVha3BvaW50LXVuc3VwcG9ydGVkIiw2MDMwMCksc3ltYm9sU3RyaW5nOmMoInN5bWJvbC1zdHJpbmciLDYwMzAxKSxkZWJ1Z1JldmVyc2VDb250aW51ZTpjKCJkZWJ1Zy1yZXZlcnNlLWNvbnRpbnVlIiw2MDMwMiksZGVidWdTdGVwQmFjazpjKCJkZWJ1Zy1zdGVwLWJhY2siLDYwMzAzKSxkZWJ1Z1Jlc3RhcnRGcmFtZTpjKCJkZWJ1Zy1yZXN0YXJ0LWZyYW1lIiw2MDMwNCksZGVidWdBbHQ6YygiZGVidWctYWx0Iiw2MDMwNSksY2FsbEluY29taW5nOmMoImNhbGwtaW5jb21pbmciLDYwMzA2KSxjYWxsT3V0Z29pbmc6YygiY2FsbC1vdXRnb2luZyIsNjAzMDcpLG1lbnU6YygibWVudSIsNjAzMDgpLGV4cGFuZEFsbDpjKCJleHBhbmQtYWxsIiw2MDMwOSksZmVlZGJhY2s6YygiZmVlZGJhY2siLDYwMzEwKSxnaXRQdWxsUmVxdWVzdFJldmlld2VyOmMoImdpdC1wdWxsLXJlcXVlc3QtcmV2aWV3ZXIiLDYwMzEwKSxncm91cEJ5UmVmVHlwZTpjKCJncm91cC1ieS1yZWYtdHlwZSIsNjAzMTEpLHVuZ3JvdXBCeVJlZlR5cGU6YygidW5ncm91cC1ieS1yZWYtdHlwZSIsNjAzMTIpLGFjY291bnQ6YygiYWNjb3VudCIsNjAzMTMpLGdpdFB1bGxSZXF1ZXN0QXNzaWduZWU6YygiZ2l0LXB1bGwtcmVxdWVzdC1hc3NpZ25lZSIsNjAzMTMpLGJlbGxEb3Q6YygiYmVsbC1kb3QiLDYwMzE0KSxkZWJ1Z0NvbnNvbGU6YygiZGVidWctY29uc29sZSIsNjAzMTUpLGxpYnJhcnk6YygibGlicmFyeSIsNjAzMTYpLG91dHB1dDpjKCJvdXRwdXQiLDYwMzE3KSxydW5BbGw6YygicnVuLWFsbCIsNjAzMTgpLHN5bmNJZ25vcmVkOmMoInN5bmMtaWdub3JlZCIsNjAzMTkpLHBpbm5lZDpjKCJwaW5uZWQiLDYwMzIwKSxnaXRodWJJbnZlcnRlZDpjKCJnaXRodWItaW52ZXJ0ZWQiLDYwMzIxKSxzZXJ2ZXJQcm9jZXNzOmMoInNlcnZlci1wcm9jZXNzIiw2MDMyMiksc2VydmVyRW52aXJvbm1lbnQ6Yygic2VydmVyLWVudmlyb25tZW50Iiw2MDMyMykscGFzczpjKCJwYXNzIiw2MDMyNCksaXNzdWVDbG9zZWQ6YygiaXNzdWUtY2xvc2VkIiw2MDMyNCksc3RvcENpcmNsZTpjKCJzdG9wLWNpcmNsZSIsNjAzMjUpLHBsYXlDaXJjbGU6YygicGxheS1jaXJjbGUiLDYwMzI2KSxyZWNvcmQ6YygicmVjb3JkIiw2MDMyNyksZGVidWdBbHRTbWFsbDpjKCJkZWJ1Zy1hbHQtc21hbGwiLDYwMzI4KSx2bUNvbm5lY3Q6Yygidm0tY29ubmVjdCIsNjAzMjkpLGNsb3VkOmMoImNsb3VkIiw2MDMzMCksbWVyZ2U6YygibWVyZ2UiLDYwMzMxKSxleHBvcnQ6YygiZXhwb3J0Iiw2MDMzMiksZ3JhcGhMZWZ0OmMoImdyYXBoLWxlZnQiLDYwMzMzKSxtYWduZXQ6YygibWFnbmV0Iiw2MDMzNCksbm90ZWJvb2s6Yygibm90ZWJvb2siLDYwMzM1KSxyZWRvOmMoInJlZG8iLDYwMzM2KSxjaGVja0FsbDpjKCJjaGVjay1hbGwiLDYwMzM3KSxwaW5uZWREaXJ0eTpjKCJwaW5uZWQtZGlydHkiLDYwMzM4KSxwYXNzRmlsbGVkOmMoInBhc3MtZmlsbGVkIiw2MDMzOSksY2lyY2xlTGFyZ2VGaWxsZWQ6YygiY2lyY2xlLWxhcmdlLWZpbGxlZCIsNjAzNDApLGNpcmNsZUxhcmdlOmMoImNpcmNsZS1sYXJnZSIsNjAzNDEpLGNpcmNsZUxhcmdlT3V0bGluZTpjKCJjaXJjbGUtbGFyZ2Utb3V0bGluZSIsNjAzNDEpLGNvbWJpbmU6YygiY29tYmluZSIsNjAzNDIpLGdhdGhlcjpjKCJnYXRoZXIiLDYwMzQyKSx0YWJsZTpjKCJ0YWJsZSIsNjAzNDMpLHZhcmlhYmxlR3JvdXA6YygidmFyaWFibGUtZ3JvdXAiLDYwMzQ0KSx0eXBlSGllcmFyY2h5OmMoInR5cGUtaGllcmFyY2h5Iiw2MDM0NSksdHlwZUhpZXJhcmNoeVN1YjpjKCJ0eXBlLWhpZXJhcmNoeS1zdWIiLDYwMzQ2KSx0eXBlSGllcmFyY2h5U3VwZXI6YygidHlwZS1oaWVyYXJjaHktc3VwZXIiLDYwMzQ3KSxnaXRQdWxsUmVxdWVzdENyZWF0ZTpjKCJnaXQtcHVsbC1yZXF1ZXN0LWNyZWF0ZSIsNjAzNDgpLHJ1bkFib3ZlOmMoInJ1bi1hYm92ZSIsNjAzNDkpLHJ1bkJlbG93OmMoInJ1bi1iZWxvdyIsNjAzNTApLG5vdGVib29rVGVtcGxhdGU6Yygibm90ZWJvb2stdGVtcGxhdGUiLDYwMzUxKSxkZWJ1Z1JlcnVuOmMoImRlYnVnLXJlcnVuIiw2MDM1Miksd29ya3NwYWNlVHJ1c3RlZDpjKCJ3b3Jrc3BhY2UtdHJ1c3RlZCIsNjAzNTMpLHdvcmtzcGFjZVVudHJ1c3RlZDpjKCJ3b3Jrc3BhY2UtdW50cnVzdGVkIiw2MDM1NCksd29ya3NwYWNlVW5rbm93bjpjKCJ3b3Jrc3BhY2UtdW5rbm93biIsNjAzNTUpLHRlcm1pbmFsQ21kOmMoInRlcm1pbmFsLWNtZCIsNjAzNTYpLHRlcm1pbmFsRGViaWFuOmMoInRlcm1pbmFsLWRlYmlhbiIsNjAzNTcpLHRlcm1pbmFsTGludXg6YygidGVybWluYWwtbGludXgiLDYwMzU4KSx0ZXJtaW5hbFBvd2Vyc2hlbGw6YygidGVybWluYWwtcG93ZXJzaGVsbCIsNjAzNTkpLHRlcm1pbmFsVG11eDpjKCJ0ZXJtaW5hbC10bXV4Iiw2MDM2MCksdGVybWluYWxVYnVudHU6YygidGVybWluYWwtdWJ1bnR1Iiw2MDM2MSksdGVybWluYWxCYXNoOmMoInRlcm1pbmFsLWJhc2giLDYwMzYyKSxhcnJvd1N3YXA6YygiYXJyb3ctc3dhcCIsNjAzNjMpLGNvcHk6YygiY29weSIsNjAzNjQpLHBlcnNvbkFkZDpjKCJwZXJzb24tYWRkIiw2MDM2NSksZmlsdGVyRmlsbGVkOmMoImZpbHRlci1maWxsZWQiLDYwMzY2KSx3YW5kOmMoIndhbmQiLDYwMzY3KSxkZWJ1Z0xpbmVCeUxpbmU6YygiZGVidWctbGluZS1ieS1saW5lIiw2MDM2OCksaW5zcGVjdDpjKCJpbnNwZWN0Iiw2MDM2OSksbGF5ZXJzOmMoImxheWVycyIsNjAzNzApLGxheWVyc0RvdDpjKCJsYXllcnMtZG90Iiw2MDM3MSksbGF5ZXJzQWN0aXZlOmMoImxheWVycy1hY3RpdmUiLDYwMzcyKSxjb21wYXNzOmMoImNvbXBhc3MiLDYwMzczKSxjb21wYXNzRG90OmMoImNvbXBhc3MtZG90Iiw2MDM3NCksY29tcGFzc0FjdGl2ZTpjKCJjb21wYXNzLWFjdGl2ZSIsNjAzNzUpLGF6dXJlOmMoImF6dXJlIiw2MDM3NiksaXNzdWVEcmFmdDpjKCJpc3N1ZS1kcmFmdCIsNjAzNzcpLGdpdFB1bGxSZXF1ZXN0Q2xvc2VkOmMoImdpdC1wdWxsLXJlcXVlc3QtY2xvc2VkIiw2MDM3OCksZ2l0UHVsbFJlcXVlc3REcmFmdDpjKCJnaXQtcHVsbC1yZXF1ZXN0LWRyYWZ0Iiw2MDM3OSksZGVidWdBbGw6YygiZGVidWctYWxsIiw2MDM4MCksZGVidWdDb3ZlcmFnZTpjKCJkZWJ1Zy1jb3ZlcmFnZSIsNjAzODEpLHJ1bkVycm9yczpjKCJydW4tZXJyb3JzIiw2MDM4MiksZm9sZGVyTGlicmFyeTpjKCJmb2xkZXItbGlicmFyeSIsNjAzODMpLGRlYnVnQ29udGludWVTbWFsbDpjKCJkZWJ1Zy1jb250aW51ZS1zbWFsbCIsNjAzODQpLGJlYWtlclN0b3A6YygiYmVha2VyLXN0b3AiLDYwMzg1KSxncmFwaExpbmU6YygiZ3JhcGgtbGluZSIsNjAzODYpLGdyYXBoU2NhdHRlcjpjKCJncmFwaC1zY2F0dGVyIiw2MDM4NykscGllQ2hhcnQ6YygicGllLWNoYXJ0Iiw2MDM4OCksYnJhY2tldDpjKCJicmFja2V0Iiw2MDE3NSksYnJhY2tldERvdDpjKCJicmFja2V0LWRvdCIsNjAzODkpLGJyYWNrZXRFcnJvcjpjKCJicmFja2V0LWVycm9yIiw2MDM5MCksbG9ja1NtYWxsOmMoImxvY2stc21hbGwiLDYwMzkxKSxhenVyZURldm9wczpjKCJhenVyZS1kZXZvcHMiLDYwMzkyKSx2ZXJpZmllZEZpbGxlZDpjKCJ2ZXJpZmllZC1maWxsZWQiLDYwMzkzKSxuZXdsaW5lOmMoIm5ld2xpbmUiLDYwMzk0KSxsYXlvdXQ6YygibGF5b3V0Iiw2MDM5NSksbGF5b3V0QWN0aXZpdHliYXJMZWZ0OmMoImxheW91dC1hY3Rpdml0eWJhci1sZWZ0Iiw2MDM5NiksbGF5b3V0QWN0aXZpdHliYXJSaWdodDpjKCJsYXlvdXQtYWN0aXZpdHliYXItcmlnaHQiLDYwMzk3KSxsYXlvdXRQYW5lbExlZnQ6YygibGF5b3V0LXBhbmVsLWxlZnQiLDYwMzk4KSxsYXlvdXRQYW5lbENlbnRlcjpjKCJsYXlvdXQtcGFuZWwtY2VudGVyIiw2MDM5OSksbGF5b3V0UGFuZWxKdXN0aWZ5OmMoImxheW91dC1wYW5lbC1qdXN0aWZ5Iiw2MDQwMCksbGF5b3V0UGFuZWxSaWdodDpjKCJsYXlvdXQtcGFuZWwtcmlnaHQiLDYwNDAxKSxsYXlvdXRQYW5lbDpjKCJsYXlvdXQtcGFuZWwiLDYwNDAyKSxsYXlvdXRTaWRlYmFyTGVmdDpjKCJsYXlvdXQtc2lkZWJhci1sZWZ0Iiw2MDQwMyksbGF5b3V0U2lkZWJhclJpZ2h0OmMoImxheW91dC1zaWRlYmFyLXJpZ2h0Iiw2MDQwNCksbGF5b3V0U3RhdHVzYmFyOmMoImxheW91dC1zdGF0dXNiYXIiLDYwNDA1KSxsYXlvdXRNZW51YmFyOmMoImxheW91dC1tZW51YmFyIiw2MDQwNiksbGF5b3V0Q2VudGVyZWQ6YygibGF5b3V0LWNlbnRlcmVkIiw2MDQwNyksdGFyZ2V0OmMoInRhcmdldCIsNjA0MDgpLGluZGVudDpjKCJpbmRlbnQiLDYwNDA5KSxyZWNvcmRTbWFsbDpjKCJyZWNvcmQtc21hbGwiLDYwNDEwKSxlcnJvclNtYWxsOmMoImVycm9yLXNtYWxsIiw2MDQxMSksdGVybWluYWxEZWNvcmF0aW9uRXJyb3I6YygidGVybWluYWwtZGVjb3JhdGlvbi1lcnJvciIsNjA0MTEpLGFycm93Q2lyY2xlRG93bjpjKCJhcnJvdy1jaXJjbGUtZG93biIsNjA0MTIpLGFycm93Q2lyY2xlTGVmdDpjKCJhcnJvdy1jaXJjbGUtbGVmdCIsNjA0MTMpLGFycm93Q2lyY2xlUmlnaHQ6YygiYXJyb3ctY2lyY2xlLXJpZ2h0Iiw2MDQxNCksYXJyb3dDaXJjbGVVcDpjKCJhcnJvdy1jaXJjbGUtdXAiLDYwNDE1KSxsYXlvdXRTaWRlYmFyUmlnaHRPZmY6YygibGF5b3V0LXNpZGViYXItcmlnaHQtb2ZmIiw2MDQxNiksbGF5b3V0UGFuZWxPZmY6YygibGF5b3V0LXBhbmVsLW9mZiIsNjA0MTcpLGxheW91dFNpZGViYXJMZWZ0T2ZmOmMoImxheW91dC1zaWRlYmFyLWxlZnQtb2ZmIiw2MDQxOCksYmxhbms6YygiYmxhbmsiLDYwNDE5KSxoZWFydEZpbGxlZDpjKCJoZWFydC1maWxsZWQiLDYwNDIwKSxtYXA6YygibWFwIiw2MDQyMSksbWFwSG9yaXpvbnRhbDpjKCJtYXAtaG9yaXpvbnRhbCIsNjA0MjEpLGZvbGRIb3Jpem9udGFsOmMoImZvbGQtaG9yaXpvbnRhbCIsNjA0MjEpLG1hcEZpbGxlZDpjKCJtYXAtZmlsbGVkIiw2MDQyMiksbWFwSG9yaXpvbnRhbEZpbGxlZDpjKCJtYXAtaG9yaXpvbnRhbC1maWxsZWQiLDYwNDIyKSxmb2xkSG9yaXpvbnRhbEZpbGxlZDpjKCJmb2xkLWhvcml6b250YWwtZmlsbGVkIiw2MDQyMiksY2lyY2xlU21hbGw6YygiY2lyY2xlLXNtYWxsIiw2MDQyMyksYmVsbFNsYXNoOmMoImJlbGwtc2xhc2giLDYwNDI0KSxiZWxsU2xhc2hEb3Q6YygiYmVsbC1zbGFzaC1kb3QiLDYwNDI1KSxjb21tZW50VW5yZXNvbHZlZDpjKCJjb21tZW50LXVucmVzb2x2ZWQiLDYwNDI2KSxnaXRQdWxsUmVxdWVzdEdvVG9DaGFuZ2VzOmMoImdpdC1wdWxsLXJlcXVlc3QtZ28tdG8tY2hhbmdlcyIsNjA0MjcpLGdpdFB1bGxSZXF1ZXN0TmV3Q2hhbmdlczpjKCJnaXQtcHVsbC1yZXF1ZXN0LW5ldy1jaGFuZ2VzIiw2MDQyOCksc2VhcmNoRnV6enk6Yygic2VhcmNoLWZ1enp5Iiw2MDQyOSksY29tbWVudERyYWZ0OmMoImNvbW1lbnQtZHJhZnQiLDYwNDMwKSxzZW5kOmMoInNlbmQiLDYwNDMxKSxzcGFya2xlOmMoInNwYXJrbGUiLDYwNDMyKSxpbnNlcnQ6YygiaW5zZXJ0Iiw2MDQzMyksbWljOmMoIm1pYyIsNjA0MzQpLHRodW1ic2Rvd25GaWxsZWQ6YygidGh1bWJzZG93bi1maWxsZWQiLDYwNDM1KSx0aHVtYnN1cEZpbGxlZDpjKCJ0aHVtYnN1cC1maWxsZWQiLDYwNDM2KSxjb2ZmZWU6YygiY29mZmVlIiw2MDQzNyksc25ha2U6Yygic25ha2UiLDYwNDM4KSxnYW1lOmMoImdhbWUiLDYwNDM5KSx2cjpjKCJ2ciIsNjA0NDApLGNoaXA6YygiY2hpcCIsNjA0NDEpLHBpYW5vOmMoInBpYW5vIiw2MDQ0MiksbXVzaWM6YygibXVzaWMiLDYwNDQzKSxtaWNGaWxsZWQ6YygibWljLWZpbGxlZCIsNjA0NDQpLHJlcG9GZXRjaDpjKCJyZXBvLWZldGNoIiw2MDQ0NSksY29waWxvdDpjKCJjb3BpbG90Iiw2MDQ0NiksbGlnaHRidWxiU3BhcmtsZTpjKCJsaWdodGJ1bGItc3BhcmtsZSIsNjA0NDcpLHJvYm90OmMoInJvYm90Iiw2MDQ0OCksc3BhcmtsZUZpbGxlZDpjKCJzcGFya2xlLWZpbGxlZCIsNjA0NDkpLGRpZmZTaW5nbGU6YygiZGlmZi1zaW5nbGUiLDYwNDUwKSxkaWZmTXVsdGlwbGU6YygiZGlmZi1tdWx0aXBsZSIsNjA0NTEpLHN1cnJvdW5kV2l0aDpjKCJzdXJyb3VuZC13aXRoIiw2MDQ1Miksc2hhcmU6Yygic2hhcmUiLDYwNDUzKSxnaXRTdGFzaDpjKCJnaXQtc3Rhc2giLDYwNDU0KSxnaXRTdGFzaEFwcGx5OmMoImdpdC1zdGFzaC1hcHBseSIsNjA0NTUpLGdpdFN0YXNoUG9wOmMoImdpdC1zdGFzaC1wb3AiLDYwNDU2KSx2c2NvZGU6YygidnNjb2RlIiw2MDQ1NyksdnNjb2RlSW5zaWRlcnM6YygidnNjb2RlLWluc2lkZXJzIiw2MDQ1OCksY29kZU9zczpjKCJjb2RlLW9zcyIsNjA0NTkpLHJ1bkNvdmVyYWdlOmMoInJ1bi1jb3ZlcmFnZSIsNjA0NjApLHJ1bkFsbENvdmVyYWdlOmMoInJ1bi1hbGwtY292ZXJhZ2UiLDYwNDYxKSxjb3ZlcmFnZTpjKCJjb3ZlcmFnZSIsNjA0NjIpLGdpdGh1YlByb2plY3Q6YygiZ2l0aHViLXByb2plY3QiLDYwNDYzKSxtYXBWZXJ0aWNhbDpjKCJtYXAtdmVydGljYWwiLDYwNDY0KSxmb2xkVmVydGljYWw6YygiZm9sZC12ZXJ0aWNhbCIsNjA0NjQpLG1hcFZlcnRpY2FsRmlsbGVkOmMoIm1hcC12ZXJ0aWNhbC1maWxsZWQiLDYwNDY1KSxmb2xkVmVydGljYWxGaWxsZWQ6YygiZm9sZC12ZXJ0aWNhbC1maWxsZWQiLDYwNDY1KX0sbGw9e2RpYWxvZ0Vycm9yOmMoImRpYWxvZy1lcnJvciIsImVycm9yIiksZGlhbG9nV2FybmluZzpjKCJkaWFsb2ctd2FybmluZyIsIndhcm5pbmciKSxkaWFsb2dJbmZvOmMoImRpYWxvZy1pbmZvIiwiaW5mbyIpLGRpYWxvZ0Nsb3NlOmMoImRpYWxvZy1jbG9zZSIsImNsb3NlIiksdHJlZUl0ZW1FeHBhbmRlZDpjKCJ0cmVlLWl0ZW0tZXhwYW5kZWQiLCJjaGV2cm9uLWRvd24iKSx0cmVlRmlsdGVyT25UeXBlT246YygidHJlZS1maWx0ZXItb24tdHlwZS1vbiIsImxpc3QtZmlsdGVyIiksdHJlZUZpbHRlck9uVHlwZU9mZjpjKCJ0cmVlLWZpbHRlci1vbi10eXBlLW9mZiIsImxpc3Qtc2VsZWN0aW9uIiksdHJlZUZpbHRlckNsZWFyOmMoInRyZWUtZmlsdGVyLWNsZWFyIiwiY2xvc2UiKSx0cmVlSXRlbUxvYWRpbmc6YygidHJlZS1pdGVtLWxvYWRpbmciLCJsb2FkaW5nIiksbWVudVNlbGVjdGlvbjpjKCJtZW51LXNlbGVjdGlvbiIsImNoZWNrIiksbWVudVN1Ym1lbnU6YygibWVudS1zdWJtZW51IiwiY2hldnJvbi1yaWdodCIpLG1lbnVCYXJNb3JlOmMoIm1lbnViYXItbW9yZSIsIm1vcmUiKSxzY3JvbGxiYXJCdXR0b25MZWZ0OmMoInNjcm9sbGJhci1idXR0b24tbGVmdCIsInRyaWFuZ2xlLWxlZnQiKSxzY3JvbGxiYXJCdXR0b25SaWdodDpjKCJzY3JvbGxiYXItYnV0dG9uLXJpZ2h0IiwidHJpYW5nbGUtcmlnaHQiKSxzY3JvbGxiYXJCdXR0b25VcDpjKCJzY3JvbGxiYXItYnV0dG9uLXVwIiwidHJpYW5nbGUtdXAiKSxzY3JvbGxiYXJCdXR0b25Eb3duOmMoInNjcm9sbGJhci1idXR0b24tZG93biIsInRyaWFuZ2xlLWRvd24iKSx0b29sQmFyTW9yZTpjKCJ0b29sYmFyLW1vcmUiLCJtb3JlIikscXVpY2tJbnB1dEJhY2s6YygicXVpY2staW5wdXQtYmFjayIsImFycm93LWxlZnQiKSxkcm9wRG93bkJ1dHRvbjpjKCJkcm9wLWRvd24tYnV0dG9uIiw2MDA4NCksc3ltYm9sQ3VzdG9tQ29sb3I6Yygic3ltYm9sLWN1c3RvbWNvbG9yIiw2MDI1MiksZXhwb3J0SWNvbjpjKCJleHBvcnQiLDYwMzMyKSx3b3Jrc3BhY2VVbnNwZWNpZmllZDpjKCJ3b3Jrc3BhY2UtdW5zcGVjaWZpZWQiLDYwMzU1KSxuZXdMaW5lOmMoIm5ld2xpbmUiLDYwMzk0KSx0aHVtYnNEb3duRmlsbGVkOmMoInRodW1ic2Rvd24tZmlsbGVkIiw2MDQzNSksdGh1bWJzVXBGaWxsZWQ6YygidGh1bWJzdXAtZmlsbGVkIiw2MDQzNiksZ2l0RmV0Y2g6YygiZ2l0LWZldGNoIiw2MDQ0NSksbGlnaHRidWxiU3BhcmtsZUF1dG9maXg6YygibGlnaHRidWxiLXNwYXJrbGUtYXV0b2ZpeCIsNjA0NDcpLGRlYnVnQnJlYWtwb2ludFBlbmRpbmc6YygiZGVidWctYnJlYWtwb2ludC1wZW5kaW5nIiw2MDM3Nyl9LEI9ey4uLm9sLC4uLmxsfTtjbGFzcyB1bHtjb25zdHJ1Y3Rvcigpe3RoaXMuX3Rva2VuaXphdGlvblN1cHBvcnRzPW5ldyBNYXAsdGhpcy5fZmFjdG9yaWVzPW5ldyBNYXAsdGhpcy5fb25EaWRDaGFuZ2U9bmV3IEFlLHRoaXMub25EaWRDaGFuZ2U9dGhpcy5fb25EaWRDaGFuZ2UuZXZlbnQsdGhpcy5fY29sb3JNYXA9bnVsbH1oYW5kbGVDaGFuZ2UodCl7dGhpcy5fb25EaWRDaGFuZ2UuZmlyZSh7Y2hhbmdlZExhbmd1YWdlczp0LGNoYW5nZWRDb2xvck1hcDohMX0pfXJlZ2lzdGVyKHQsbil7cmV0dXJuIHRoaXMuX3Rva2VuaXphdGlvblN1cHBvcnRzLnNldCh0LG4pLHRoaXMuaGFuZGxlQ2hhbmdlKFt0XSksUXQoKCk9Pnt0aGlzLl90b2tlbml6YXRpb25TdXBwb3J0cy5nZXQodCk9PT1uJiYodGhpcy5fdG9rZW5pemF0aW9uU3VwcG9ydHMuZGVsZXRlKHQpLHRoaXMuaGFuZGxlQ2hhbmdlKFt0XSkpfSl9Z2V0KHQpe3JldHVybiB0aGlzLl90b2tlbml6YXRpb25TdXBwb3J0cy5nZXQodCl8fG51bGx9cmVnaXN0ZXJGYWN0b3J5KHQsbil7dmFyIHI7KHI9dGhpcy5fZmFjdG9yaWVzLmdldCh0KSk9PT1udWxsfHxyPT09dm9pZCAwfHxyLmRpc3Bvc2UoKTtjb25zdCBpPW5ldyBjbCh0aGlzLHQsbik7cmV0dXJuIHRoaXMuX2ZhY3Rvcmllcy5zZXQodCxpKSxRdCgoKT0+e2NvbnN0IHM9dGhpcy5fZmFjdG9yaWVzLmdldCh0KTshc3x8cyE9PWl8fCh0aGlzLl9mYWN0b3JpZXMuZGVsZXRlKHQpLHMuZGlzcG9zZSgpKX0pfWFzeW5jIGdldE9yQ3JlYXRlKHQpe2NvbnN0IG49dGhpcy5nZXQodCk7aWYobilyZXR1cm4gbjtjb25zdCByPXRoaXMuX2ZhY3Rvcmllcy5nZXQodCk7cmV0dXJuIXJ8fHIuaXNSZXNvbHZlZD9udWxsOihhd2FpdCByLnJlc29sdmUoKSx0aGlzLmdldCh0KSl9aXNSZXNvbHZlZCh0KXtpZih0aGlzLmdldCh0KSlyZXR1cm4hMDtjb25zdCByPXRoaXMuX2ZhY3Rvcmllcy5nZXQodCk7cmV0dXJuISEoIXJ8fHIuaXNSZXNvbHZlZCl9c2V0Q29sb3JNYXAodCl7dGhpcy5fY29sb3JNYXA9dCx0aGlzLl9vbkRpZENoYW5nZS5maXJlKHtjaGFuZ2VkTGFuZ3VhZ2VzOkFycmF5LmZyb20odGhpcy5fdG9rZW5pemF0aW9uU3VwcG9ydHMua2V5cygpKSxjaGFuZ2VkQ29sb3JNYXA6ITB9KX1nZXRDb2xvck1hcCgpe3JldHVybiB0aGlzLl9jb2xvck1hcH1nZXREZWZhdWx0QmFja2dyb3VuZCgpe3JldHVybiB0aGlzLl9jb2xvck1hcCYmdGhpcy5fY29sb3JNYXAubGVuZ3RoPjI/dGhpcy5fY29sb3JNYXBbMl06bnVsbH19Y2xhc3MgY2wgZXh0ZW5kcyBrdHtnZXQgaXNSZXNvbHZlZCgpe3JldHVybiB0aGlzLl9pc1Jlc29sdmVkfWNvbnN0cnVjdG9yKHQsbixyKXtzdXBlcigpLHRoaXMuX3JlZ2lzdHJ5PXQsdGhpcy5fbGFuZ3VhZ2VJZD1uLHRoaXMuX2ZhY3Rvcnk9cix0aGlzLl9pc0Rpc3Bvc2VkPSExLHRoaXMuX3Jlc29sdmVQcm9taXNlPW51bGwsdGhpcy5faXNSZXNvbHZlZD0hMX1kaXNwb3NlKCl7dGhpcy5faXNEaXNwb3NlZD0hMCxzdXBlci5kaXNwb3NlKCl9YXN5bmMgcmVzb2x2ZSgpe3JldHVybiB0aGlzLl9yZXNvbHZlUHJvbWlzZXx8KHRoaXMuX3Jlc29sdmVQcm9taXNlPXRoaXMuX2NyZWF0ZSgpKSx0aGlzLl9yZXNvbHZlUHJvbWlzZX1hc3luYyBfY3JlYXRlKCl7Y29uc3QgdD1hd2FpdCB0aGlzLl9mYWN0b3J5LnRva2VuaXphdGlvblN1cHBvcnQ7dGhpcy5faXNSZXNvbHZlZD0hMCx0JiYhdGhpcy5faXNEaXNwb3NlZCYmdGhpcy5fcmVnaXN0ZXIodGhpcy5fcmVnaXN0cnkucmVnaXN0ZXIodGhpcy5fbGFuZ3VhZ2VJZCx0KSl9fWNsYXNzIGZse2NvbnN0cnVjdG9yKHQsbixyKXt0aGlzLm9mZnNldD10LHRoaXMudHlwZT1uLHRoaXMubGFuZ3VhZ2U9cix0aGlzLl90b2tlbkJyYW5kPXZvaWQgMH10b1N0cmluZygpe3JldHVybiIoIit0aGlzLm9mZnNldCsiLCAiK3RoaXMudHlwZSsiKSJ9fXZhciBjaTsoZnVuY3Rpb24oZSl7Y29uc3QgdD1uZXcgTWFwO3Quc2V0KDAsQi5zeW1ib2xNZXRob2QpLHQuc2V0KDEsQi5zeW1ib2xGdW5jdGlvbiksdC5zZXQoMixCLnN5bWJvbENvbnN0cnVjdG9yKSx0LnNldCgzLEIuc3ltYm9sRmllbGQpLHQuc2V0KDQsQi5zeW1ib2xWYXJpYWJsZSksdC5zZXQoNSxCLnN5bWJvbENsYXNzKSx0LnNldCg2LEIuc3ltYm9sU3RydWN0KSx0LnNldCg3LEIuc3ltYm9sSW50ZXJmYWNlKSx0LnNldCg4LEIuc3ltYm9sTW9kdWxlKSx0LnNldCg5LEIuc3ltYm9sUHJvcGVydHkpLHQuc2V0KDEwLEIuc3ltYm9sRXZlbnQpLHQuc2V0KDExLEIuc3ltYm9sT3BlcmF0b3IpLHQuc2V0KDEyLEIuc3ltYm9sVW5pdCksdC5zZXQoMTMsQi5zeW1ib2xWYWx1ZSksdC5zZXQoMTUsQi5zeW1ib2xFbnVtKSx0LnNldCgxNCxCLnN5bWJvbENvbnN0YW50KSx0LnNldCgxNSxCLnN5bWJvbEVudW0pLHQuc2V0KDE2LEIuc3ltYm9sRW51bU1lbWJlciksdC5zZXQoMTcsQi5zeW1ib2xLZXl3b3JkKSx0LnNldCgyNyxCLnN5bWJvbFNuaXBwZXQpLHQuc2V0KDE4LEIuc3ltYm9sVGV4dCksdC5zZXQoMTksQi5zeW1ib2xDb2xvciksdC5zZXQoMjAsQi5zeW1ib2xGaWxlKSx0LnNldCgyMSxCLnN5bWJvbFJlZmVyZW5jZSksdC5zZXQoMjIsQi5zeW1ib2xDdXN0b21Db2xvciksdC5zZXQoMjMsQi5zeW1ib2xGb2xkZXIpLHQuc2V0KDI0LEIuc3ltYm9sVHlwZVBhcmFtZXRlciksdC5zZXQoMjUsQi5hY2NvdW50KSx0LnNldCgyNixCLmlzc3Vlcyk7ZnVuY3Rpb24gbihzKXtsZXQgYT10LmdldChzKTtyZXR1cm4gYXx8KGE9Qi5zeW1ib2xQcm9wZXJ0eSksYX1lLnRvSWNvbj1uO2NvbnN0IHI9bmV3IE1hcDtyLnNldCgibWV0aG9kIiwwKSxyLnNldCgiZnVuY3Rpb24iLDEpLHIuc2V0KCJjb25zdHJ1Y3RvciIsMiksci5zZXQoImZpZWxkIiwzKSxyLnNldCgidmFyaWFibGUiLDQpLHIuc2V0KCJjbGFzcyIsNSksci5zZXQoInN0cnVjdCIsNiksci5zZXQoImludGVyZmFjZSIsNyksci5zZXQoIm1vZHVsZSIsOCksci5zZXQoInByb3BlcnR5Iiw5KSxyLnNldCgiZXZlbnQiLDEwKSxyLnNldCgib3BlcmF0b3IiLDExKSxyLnNldCgidW5pdCIsMTIpLHIuc2V0KCJ2YWx1ZSIsMTMpLHIuc2V0KCJjb25zdGFudCIsMTQpLHIuc2V0KCJlbnVtIiwxNSksci5zZXQoImVudW0tbWVtYmVyIiwxNiksci5zZXQoImVudW1NZW1iZXIiLDE2KSxyLnNldCgia2V5d29yZCIsMTcpLHIuc2V0KCJzbmlwcGV0IiwyNyksci5zZXQoInRleHQiLDE4KSxyLnNldCgiY29sb3IiLDE5KSxyLnNldCgiZmlsZSIsMjApLHIuc2V0KCJyZWZlcmVuY2UiLDIxKSxyLnNldCgiY3VzdG9tY29sb3IiLDIyKSxyLnNldCgiZm9sZGVyIiwyMyksci5zZXQoInR5cGUtcGFyYW1ldGVyIiwyNCksci5zZXQoInR5cGVQYXJhbWV0ZXIiLDI0KSxyLnNldCgiYWNjb3VudCIsMjUpLHIuc2V0KCJpc3N1ZSIsMjYpO2Z1bmN0aW9uIGkocyxhKXtsZXQgbz1yLmdldChzKTtyZXR1cm4gdHlwZW9mIG8+InUiJiYhYSYmKG89OSksb31lLmZyb21TdHJpbmc9aX0pKGNpfHwoY2k9e30pKTt2YXIgZmk7KGZ1bmN0aW9uKGUpe2VbZS5BdXRvbWF0aWM9MF09IkF1dG9tYXRpYyIsZVtlLkV4cGxpY2l0PTFdPSJFeHBsaWNpdCJ9KShmaXx8KGZpPXt9KSk7dmFyIGhpOyhmdW5jdGlvbihlKXtlW2UuQXV0b21hdGljPTBdPSJBdXRvbWF0aWMiLGVbZS5QYXN0ZUFzPTFdPSJQYXN0ZUFzIn0pKGhpfHwoaGk9e30pKTt2YXIgZGk7KGZ1bmN0aW9uKGUpe2VbZS5JbnZva2U9MV09Ikludm9rZSIsZVtlLlRyaWdnZXJDaGFyYWN0ZXI9Ml09IlRyaWdnZXJDaGFyYWN0ZXIiLGVbZS5Db250ZW50Q2hhbmdlPTNdPSJDb250ZW50Q2hhbmdlIn0pKGRpfHwoZGk9e30pKTt2YXIgZ2k7KGZ1bmN0aW9uKGUpe2VbZS5UZXh0PTBdPSJUZXh0IixlW2UuUmVhZD0xXT0iUmVhZCIsZVtlLldyaXRlPTJdPSJXcml0ZSJ9KShnaXx8KGdpPXt9KSksUSgiQXJyYXkiLCJhcnJheSIpLFEoIkJvb2xlYW4iLCJib29sZWFuIiksUSgiQ2xhc3MiLCJjbGFzcyIpLFEoIkNvbnN0YW50IiwiY29uc3RhbnQiKSxRKCJDb25zdHJ1Y3RvciIsImNvbnN0cnVjdG9yIiksUSgiRW51bSIsImVudW1lcmF0aW9uIiksUSgiRW51bU1lbWJlciIsImVudW1lcmF0aW9uIG1lbWJlciIpLFEoIkV2ZW50IiwiZXZlbnQiKSxRKCJGaWVsZCIsImZpZWxkIiksUSgiRmlsZSIsImZpbGUiKSxRKCJGdW5jdGlvbiIsImZ1bmN0aW9uIiksUSgiSW50ZXJmYWNlIiwiaW50ZXJmYWNlIiksUSgiS2V5Iiwia2V5IiksUSgiTWV0aG9kIiwibWV0aG9kIiksUSgiTW9kdWxlIiwibW9kdWxlIiksUSgiTmFtZXNwYWNlIiwibmFtZXNwYWNlIiksUSgiTnVsbCIsIm51bGwiKSxRKCJOdW1iZXIiLCJudW1iZXIiKSxRKCJPYmplY3QiLCJvYmplY3QiKSxRKCJPcGVyYXRvciIsIm9wZXJhdG9yIiksUSgiUGFja2FnZSIsInBhY2thZ2UiKSxRKCJQcm9wZXJ0eSIsInByb3BlcnR5IiksUSgiU3RyaW5nIiwic3RyaW5nIiksUSgiU3RydWN0Iiwic3RydWN0IiksUSgiVHlwZVBhcmFtZXRlciIsInR5cGUgcGFyYW1ldGVyIiksUSgiVmFyaWFibGUiLCJ2YXJpYWJsZSIpO3ZhciBtaTsoZnVuY3Rpb24oZSl7Y29uc3QgdD1uZXcgTWFwO3Quc2V0KDAsQi5zeW1ib2xGaWxlKSx0LnNldCgxLEIuc3ltYm9sTW9kdWxlKSx0LnNldCgyLEIuc3ltYm9sTmFtZXNwYWNlKSx0LnNldCgzLEIuc3ltYm9sUGFja2FnZSksdC5zZXQoNCxCLnN5bWJvbENsYXNzKSx0LnNldCg1LEIuc3ltYm9sTWV0aG9kKSx0LnNldCg2LEIuc3ltYm9sUHJvcGVydHkpLHQuc2V0KDcsQi5zeW1ib2xGaWVsZCksdC5zZXQoOCxCLnN5bWJvbENvbnN0cnVjdG9yKSx0LnNldCg5LEIuc3ltYm9sRW51bSksdC5zZXQoMTAsQi5zeW1ib2xJbnRlcmZhY2UpLHQuc2V0KDExLEIuc3ltYm9sRnVuY3Rpb24pLHQuc2V0KDEyLEIuc3ltYm9sVmFyaWFibGUpLHQuc2V0KDEzLEIuc3ltYm9sQ29uc3RhbnQpLHQuc2V0KDE0LEIuc3ltYm9sU3RyaW5nKSx0LnNldCgxNSxCLnN5bWJvbE51bWJlciksdC5zZXQoMTYsQi5zeW1ib2xCb29sZWFuKSx0LnNldCgxNyxCLnN5bWJvbEFycmF5KSx0LnNldCgxOCxCLnN5bWJvbE9iamVjdCksdC5zZXQoMTksQi5zeW1ib2xLZXkpLHQuc2V0KDIwLEIuc3ltYm9sTnVsbCksdC5zZXQoMjEsQi5zeW1ib2xFbnVtTWVtYmVyKSx0LnNldCgyMixCLnN5bWJvbFN0cnVjdCksdC5zZXQoMjMsQi5zeW1ib2xFdmVudCksdC5zZXQoMjQsQi5zeW1ib2xPcGVyYXRvciksdC5zZXQoMjUsQi5zeW1ib2xUeXBlUGFyYW1ldGVyKTtmdW5jdGlvbiBuKHIpe2xldCBpPXQuZ2V0KHIpO3JldHVybiBpfHwoaT1CLnN5bWJvbFByb3BlcnR5KSxpfWUudG9JY29uPW59KShtaXx8KG1pPXt9KSk7dmFyIHBpOyhmdW5jdGlvbihlKXtlW2UuQUlHZW5lcmF0ZWQ9MV09IkFJR2VuZXJhdGVkIn0pKHBpfHwocGk9e30pKTt2YXIgdmk7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQobil7cmV0dXJuIW58fHR5cGVvZiBuIT0ib2JqZWN0Ij8hMTp0eXBlb2Ygbi5pZD09InN0cmluZyImJnR5cGVvZiBuLnRpdGxlPT0ic3RyaW5nIn1lLmlzPXR9KSh2aXx8KHZpPXt9KSk7dmFyIGJpOyhmdW5jdGlvbihlKXtlW2UuVHlwZT0xXT0iVHlwZSIsZVtlLlBhcmFtZXRlcj0yXT0iUGFyYW1ldGVyIn0pKGJpfHwoYmk9e30pKSxuZXcgdWw7dmFyIF9pOyhmdW5jdGlvbihlKXtlW2UuSW52b2tlPTBdPSJJbnZva2UiLGVbZS5BdXRvbWF0aWM9MV09IkF1dG9tYXRpYyJ9KShfaXx8KF9pPXt9KSk7dmFyIHhpOyhmdW5jdGlvbihlKXtlW2UuVW5rbm93bj0wXT0iVW5rbm93biIsZVtlLkRpc2FibGVkPTFdPSJEaXNhYmxlZCIsZVtlLkVuYWJsZWQ9Ml09IkVuYWJsZWQifSkoeGl8fCh4aT17fSkpO3ZhciB5aTsoZnVuY3Rpb24oZSl7ZVtlLkludm9rZT0xXT0iSW52b2tlIixlW2UuQXV0bz0yXT0iQXV0byJ9KSh5aXx8KHlpPXt9KSk7dmFyIHdpOyhmdW5jdGlvbihlKXtlW2UuTm9uZT0wXT0iTm9uZSIsZVtlLktlZXBXaGl0ZXNwYWNlPTFdPSJLZWVwV2hpdGVzcGFjZSIsZVtlLkluc2VydEFzU25pcHBldD00XT0iSW5zZXJ0QXNTbmlwcGV0In0pKHdpfHwod2k9e30pKTt2YXIgTmk7KGZ1bmN0aW9uKGUpe2VbZS5NZXRob2Q9MF09Ik1ldGhvZCIsZVtlLkZ1bmN0aW9uPTFdPSJGdW5jdGlvbiIsZVtlLkNvbnN0cnVjdG9yPTJdPSJDb25zdHJ1Y3RvciIsZVtlLkZpZWxkPTNdPSJGaWVsZCIsZVtlLlZhcmlhYmxlPTRdPSJWYXJpYWJsZSIsZVtlLkNsYXNzPTVdPSJDbGFzcyIsZVtlLlN0cnVjdD02XT0iU3RydWN0IixlW2UuSW50ZXJmYWNlPTddPSJJbnRlcmZhY2UiLGVbZS5Nb2R1bGU9OF09Ik1vZHVsZSIsZVtlLlByb3BlcnR5PTldPSJQcm9wZXJ0eSIsZVtlLkV2ZW50PTEwXT0iRXZlbnQiLGVbZS5PcGVyYXRvcj0xMV09Ik9wZXJhdG9yIixlW2UuVW5pdD0xMl09IlVuaXQiLGVbZS5WYWx1ZT0xM109IlZhbHVlIixlW2UuQ29uc3RhbnQ9MTRdPSJDb25zdGFudCIsZVtlLkVudW09MTVdPSJFbnVtIixlW2UuRW51bU1lbWJlcj0xNl09IkVudW1NZW1iZXIiLGVbZS5LZXl3b3JkPTE3XT0iS2V5d29yZCIsZVtlLlRleHQ9MThdPSJUZXh0IixlW2UuQ29sb3I9MTldPSJDb2xvciIsZVtlLkZpbGU9MjBdPSJGaWxlIixlW2UuUmVmZXJlbmNlPTIxXT0iUmVmZXJlbmNlIixlW2UuQ3VzdG9tY29sb3I9MjJdPSJDdXN0b21jb2xvciIsZVtlLkZvbGRlcj0yM109IkZvbGRlciIsZVtlLlR5cGVQYXJhbWV0ZXI9MjRdPSJUeXBlUGFyYW1ldGVyIixlW2UuVXNlcj0yNV09IlVzZXIiLGVbZS5Jc3N1ZT0yNl09Iklzc3VlIixlW2UuU25pcHBldD0yN109IlNuaXBwZXQifSkoTml8fChOaT17fSkpO3ZhciBTaTsoZnVuY3Rpb24oZSl7ZVtlLkRlcHJlY2F0ZWQ9MV09IkRlcHJlY2F0ZWQifSkoU2l8fChTaT17fSkpO3ZhciBMaTsoZnVuY3Rpb24oZSl7ZVtlLkludm9rZT0wXT0iSW52b2tlIixlW2UuVHJpZ2dlckNoYXJhY3Rlcj0xXT0iVHJpZ2dlckNoYXJhY3RlciIsZVtlLlRyaWdnZXJGb3JJbmNvbXBsZXRlQ29tcGxldGlvbnM9Ml09IlRyaWdnZXJGb3JJbmNvbXBsZXRlQ29tcGxldGlvbnMifSkoTGl8fChMaT17fSkpO3ZhciBBaTsoZnVuY3Rpb24oZSl7ZVtlLkVYQUNUPTBdPSJFWEFDVCIsZVtlLkFCT1ZFPTFdPSJBQk9WRSIsZVtlLkJFTE9XPTJdPSJCRUxPVyJ9KShBaXx8KEFpPXt9KSk7dmFyIENpOyhmdW5jdGlvbihlKXtlW2UuTm90U2V0PTBdPSJOb3RTZXQiLGVbZS5Db250ZW50Rmx1c2g9MV09IkNvbnRlbnRGbHVzaCIsZVtlLlJlY292ZXJGcm9tTWFya2Vycz0yXT0iUmVjb3ZlckZyb21NYXJrZXJzIixlW2UuRXhwbGljaXQ9M109IkV4cGxpY2l0IixlW2UuUGFzdGU9NF09IlBhc3RlIixlW2UuVW5kbz01XT0iVW5kbyIsZVtlLlJlZG89Nl09IlJlZG8ifSkoQ2l8fChDaT17fSkpO3ZhciBFaTsoZnVuY3Rpb24oZSl7ZVtlLkxGPTFdPSJMRiIsZVtlLkNSTEY9Ml09IkNSTEYifSkoRWl8fChFaT17fSkpO3ZhciBraTsoZnVuY3Rpb24oZSl7ZVtlLlRleHQ9MF09IlRleHQiLGVbZS5SZWFkPTFdPSJSZWFkIixlW2UuV3JpdGU9Ml09IldyaXRlIn0pKGtpfHwoa2k9e30pKTt2YXIgUmk7KGZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuS2VlcD0xXT0iS2VlcCIsZVtlLkJyYWNrZXRzPTJdPSJCcmFja2V0cyIsZVtlLkFkdmFuY2VkPTNdPSJBZHZhbmNlZCIsZVtlLkZ1bGw9NF09IkZ1bGwifSkoUml8fChSaT17fSkpO3ZhciBUaTsoZnVuY3Rpb24oZSl7ZVtlLmFjY2VwdFN1Z2dlc3Rpb25PbkNvbW1pdENoYXJhY3Rlcj0wXT0iYWNjZXB0U3VnZ2VzdGlvbk9uQ29tbWl0Q2hhcmFjdGVyIixlW2UuYWNjZXB0U3VnZ2VzdGlvbk9uRW50ZXI9MV09ImFjY2VwdFN1Z2dlc3Rpb25PbkVudGVyIixlW2UuYWNjZXNzaWJpbGl0eVN1cHBvcnQ9Ml09ImFjY2Vzc2liaWxpdHlTdXBwb3J0IixlW2UuYWNjZXNzaWJpbGl0eVBhZ2VTaXplPTNdPSJhY2Nlc3NpYmlsaXR5UGFnZVNpemUiLGVbZS5hcmlhTGFiZWw9NF09ImFyaWFMYWJlbCIsZVtlLmFyaWFSZXF1aXJlZD01XT0iYXJpYVJlcXVpcmVkIixlW2UuYXV0b0Nsb3NpbmdCcmFja2V0cz02XT0iYXV0b0Nsb3NpbmdCcmFja2V0cyIsZVtlLmF1dG9DbG9zaW5nQ29tbWVudHM9N109ImF1dG9DbG9zaW5nQ29tbWVudHMiLGVbZS5zY3JlZW5SZWFkZXJBbm5vdW5jZUlubGluZVN1Z2dlc3Rpb249OF09InNjcmVlblJlYWRlckFubm91bmNlSW5saW5lU3VnZ2VzdGlvbiIsZVtlLmF1dG9DbG9zaW5nRGVsZXRlPTldPSJhdXRvQ2xvc2luZ0RlbGV0ZSIsZVtlLmF1dG9DbG9zaW5nT3ZlcnR5cGU9MTBdPSJhdXRvQ2xvc2luZ092ZXJ0eXBlIixlW2UuYXV0b0Nsb3NpbmdRdW90ZXM9MTFdPSJhdXRvQ2xvc2luZ1F1b3RlcyIsZVtlLmF1dG9JbmRlbnQ9MTJdPSJhdXRvSW5kZW50IixlW2UuYXV0b21hdGljTGF5b3V0PTEzXT0iYXV0b21hdGljTGF5b3V0IixlW2UuYXV0b1N1cnJvdW5kPTE0XT0iYXV0b1N1cnJvdW5kIixlW2UuYnJhY2tldFBhaXJDb2xvcml6YXRpb249MTVdPSJicmFja2V0UGFpckNvbG9yaXphdGlvbiIsZVtlLmd1aWRlcz0xNl09Imd1aWRlcyIsZVtlLmNvZGVMZW5zPTE3XT0iY29kZUxlbnMiLGVbZS5jb2RlTGVuc0ZvbnRGYW1pbHk9MThdPSJjb2RlTGVuc0ZvbnRGYW1pbHkiLGVbZS5jb2RlTGVuc0ZvbnRTaXplPTE5XT0iY29kZUxlbnNGb250U2l6ZSIsZVtlLmNvbG9yRGVjb3JhdG9ycz0yMF09ImNvbG9yRGVjb3JhdG9ycyIsZVtlLmNvbG9yRGVjb3JhdG9yc0xpbWl0PTIxXT0iY29sb3JEZWNvcmF0b3JzTGltaXQiLGVbZS5jb2x1bW5TZWxlY3Rpb249MjJdPSJjb2x1bW5TZWxlY3Rpb24iLGVbZS5jb21tZW50cz0yM109ImNvbW1lbnRzIixlW2UuY29udGV4dG1lbnU9MjRdPSJjb250ZXh0bWVudSIsZVtlLmNvcHlXaXRoU3ludGF4SGlnaGxpZ2h0aW5nPTI1XT0iY29weVdpdGhTeW50YXhIaWdobGlnaHRpbmciLGVbZS5jdXJzb3JCbGlua2luZz0yNl09ImN1cnNvckJsaW5raW5nIixlW2UuY3Vyc29yU21vb3RoQ2FyZXRBbmltYXRpb249MjddPSJjdXJzb3JTbW9vdGhDYXJldEFuaW1hdGlvbiIsZVtlLmN1cnNvclN0eWxlPTI4XT0iY3Vyc29yU3R5bGUiLGVbZS5jdXJzb3JTdXJyb3VuZGluZ0xpbmVzPTI5XT0iY3Vyc29yU3Vycm91bmRpbmdMaW5lcyIsZVtlLmN1cnNvclN1cnJvdW5kaW5nTGluZXNTdHlsZT0zMF09ImN1cnNvclN1cnJvdW5kaW5nTGluZXNTdHlsZSIsZVtlLmN1cnNvcldpZHRoPTMxXT0iY3Vyc29yV2lkdGgiLGVbZS5kaXNhYmxlTGF5ZXJIaW50aW5nPTMyXT0iZGlzYWJsZUxheWVySGludGluZyIsZVtlLmRpc2FibGVNb25vc3BhY2VPcHRpbWl6YXRpb25zPTMzXT0iZGlzYWJsZU1vbm9zcGFjZU9wdGltaXphdGlvbnMiLGVbZS5kb21SZWFkT25seT0zNF09ImRvbVJlYWRPbmx5IixlW2UuZHJhZ0FuZERyb3A9MzVdPSJkcmFnQW5kRHJvcCIsZVtlLmRyb3BJbnRvRWRpdG9yPTM2XT0iZHJvcEludG9FZGl0b3IiLGVbZS5lbXB0eVNlbGVjdGlvbkNsaXBib2FyZD0zN109ImVtcHR5U2VsZWN0aW9uQ2xpcGJvYXJkIixlW2UuZXhwZXJpbWVudGFsV2hpdGVzcGFjZVJlbmRlcmluZz0zOF09ImV4cGVyaW1lbnRhbFdoaXRlc3BhY2VSZW5kZXJpbmciLGVbZS5leHRyYUVkaXRvckNsYXNzTmFtZT0zOV09ImV4dHJhRWRpdG9yQ2xhc3NOYW1lIixlW2UuZmFzdFNjcm9sbFNlbnNpdGl2aXR5PTQwXT0iZmFzdFNjcm9sbFNlbnNpdGl2aXR5IixlW2UuZmluZD00MV09ImZpbmQiLGVbZS5maXhlZE92ZXJmbG93V2lkZ2V0cz00Ml09ImZpeGVkT3ZlcmZsb3dXaWRnZXRzIixlW2UuZm9sZGluZz00M109ImZvbGRpbmciLGVbZS5mb2xkaW5nU3RyYXRlZ3k9NDRdPSJmb2xkaW5nU3RyYXRlZ3kiLGVbZS5mb2xkaW5nSGlnaGxpZ2h0PTQ1XT0iZm9sZGluZ0hpZ2hsaWdodCIsZVtlLmZvbGRpbmdJbXBvcnRzQnlEZWZhdWx0PTQ2XT0iZm9sZGluZ0ltcG9ydHNCeURlZmF1bHQiLGVbZS5mb2xkaW5nTWF4aW11bVJlZ2lvbnM9NDddPSJmb2xkaW5nTWF4aW11bVJlZ2lvbnMiLGVbZS51bmZvbGRPbkNsaWNrQWZ0ZXJFbmRPZkxpbmU9NDhdPSJ1bmZvbGRPbkNsaWNrQWZ0ZXJFbmRPZkxpbmUiLGVbZS5mb250RmFtaWx5PTQ5XT0iZm9udEZhbWlseSIsZVtlLmZvbnRJbmZvPTUwXT0iZm9udEluZm8iLGVbZS5mb250TGlnYXR1cmVzPTUxXT0iZm9udExpZ2F0dXJlcyIsZVtlLmZvbnRTaXplPTUyXT0iZm9udFNpemUiLGVbZS5mb250V2VpZ2h0PTUzXT0iZm9udFdlaWdodCIsZVtlLmZvbnRWYXJpYXRpb25zPTU0XT0iZm9udFZhcmlhdGlvbnMiLGVbZS5mb3JtYXRPblBhc3RlPTU1XT0iZm9ybWF0T25QYXN0ZSIsZVtlLmZvcm1hdE9uVHlwZT01Nl09ImZvcm1hdE9uVHlwZSIsZVtlLmdseXBoTWFyZ2luPTU3XT0iZ2x5cGhNYXJnaW4iLGVbZS5nb3RvTG9jYXRpb249NThdPSJnb3RvTG9jYXRpb24iLGVbZS5oaWRlQ3Vyc29ySW5PdmVydmlld1J1bGVyPTU5XT0iaGlkZUN1cnNvckluT3ZlcnZpZXdSdWxlciIsZVtlLmhvdmVyPTYwXT0iaG92ZXIiLGVbZS5pbkRpZmZFZGl0b3I9NjFdPSJpbkRpZmZFZGl0b3IiLGVbZS5pbmxpbmVTdWdnZXN0PTYyXT0iaW5saW5lU3VnZ2VzdCIsZVtlLmlubGluZUVkaXQ9NjNdPSJpbmxpbmVFZGl0IixlW2UubGV0dGVyU3BhY2luZz02NF09ImxldHRlclNwYWNpbmciLGVbZS5saWdodGJ1bGI9NjVdPSJsaWdodGJ1bGIiLGVbZS5saW5lRGVjb3JhdGlvbnNXaWR0aD02Nl09ImxpbmVEZWNvcmF0aW9uc1dpZHRoIixlW2UubGluZUhlaWdodD02N109ImxpbmVIZWlnaHQiLGVbZS5saW5lTnVtYmVycz02OF09ImxpbmVOdW1iZXJzIixlW2UubGluZU51bWJlcnNNaW5DaGFycz02OV09ImxpbmVOdW1iZXJzTWluQ2hhcnMiLGVbZS5saW5rZWRFZGl0aW5nPTcwXT0ibGlua2VkRWRpdGluZyIsZVtlLmxpbmtzPTcxXT0ibGlua3MiLGVbZS5tYXRjaEJyYWNrZXRzPTcyXT0ibWF0Y2hCcmFja2V0cyIsZVtlLm1pbmltYXA9NzNdPSJtaW5pbWFwIixlW2UubW91c2VTdHlsZT03NF09Im1vdXNlU3R5bGUiLGVbZS5tb3VzZVdoZWVsU2Nyb2xsU2Vuc2l0aXZpdHk9NzVdPSJtb3VzZVdoZWVsU2Nyb2xsU2Vuc2l0aXZpdHkiLGVbZS5tb3VzZVdoZWVsWm9vbT03Nl09Im1vdXNlV2hlZWxab29tIixlW2UubXVsdGlDdXJzb3JNZXJnZU92ZXJsYXBwaW5nPTc3XT0ibXVsdGlDdXJzb3JNZXJnZU92ZXJsYXBwaW5nIixlW2UubXVsdGlDdXJzb3JNb2RpZmllcj03OF09Im11bHRpQ3Vyc29yTW9kaWZpZXIiLGVbZS5tdWx0aUN1cnNvclBhc3RlPTc5XT0ibXVsdGlDdXJzb3JQYXN0ZSIsZVtlLm11bHRpQ3Vyc29yTGltaXQ9ODBdPSJtdWx0aUN1cnNvckxpbWl0IixlW2Uub2NjdXJyZW5jZXNIaWdobGlnaHQ9ODFdPSJvY2N1cnJlbmNlc0hpZ2hsaWdodCIsZVtlLm92ZXJ2aWV3UnVsZXJCb3JkZXI9ODJdPSJvdmVydmlld1J1bGVyQm9yZGVyIixlW2Uub3ZlcnZpZXdSdWxlckxhbmVzPTgzXT0ib3ZlcnZpZXdSdWxlckxhbmVzIixlW2UucGFkZGluZz04NF09InBhZGRpbmciLGVbZS5wYXN0ZUFzPTg1XT0icGFzdGVBcyIsZVtlLnBhcmFtZXRlckhpbnRzPTg2XT0icGFyYW1ldGVySGludHMiLGVbZS5wZWVrV2lkZ2V0RGVmYXVsdEZvY3VzPTg3XT0icGVla1dpZGdldERlZmF1bHRGb2N1cyIsZVtlLmRlZmluaXRpb25MaW5rT3BlbnNJblBlZWs9ODhdPSJkZWZpbml0aW9uTGlua09wZW5zSW5QZWVrIixlW2UucXVpY2tTdWdnZXN0aW9ucz04OV09InF1aWNrU3VnZ2VzdGlvbnMiLGVbZS5xdWlja1N1Z2dlc3Rpb25zRGVsYXk9OTBdPSJxdWlja1N1Z2dlc3Rpb25zRGVsYXkiLGVbZS5yZWFkT25seT05MV09InJlYWRPbmx5IixlW2UucmVhZE9ubHlNZXNzYWdlPTkyXT0icmVhZE9ubHlNZXNzYWdlIixlW2UucmVuYW1lT25UeXBlPTkzXT0icmVuYW1lT25UeXBlIixlW2UucmVuZGVyQ29udHJvbENoYXJhY3RlcnM9OTRdPSJyZW5kZXJDb250cm9sQ2hhcmFjdGVycyIsZVtlLnJlbmRlckZpbmFsTmV3bGluZT05NV09InJlbmRlckZpbmFsTmV3bGluZSIsZVtlLnJlbmRlckxpbmVIaWdobGlnaHQ9OTZdPSJyZW5kZXJMaW5lSGlnaGxpZ2h0IixlW2UucmVuZGVyTGluZUhpZ2hsaWdodE9ubHlXaGVuRm9jdXM9OTddPSJyZW5kZXJMaW5lSGlnaGxpZ2h0T25seVdoZW5Gb2N1cyIsZVtlLnJlbmRlclZhbGlkYXRpb25EZWNvcmF0aW9ucz05OF09InJlbmRlclZhbGlkYXRpb25EZWNvcmF0aW9ucyIsZVtlLnJlbmRlcldoaXRlc3BhY2U9OTldPSJyZW5kZXJXaGl0ZXNwYWNlIixlW2UucmV2ZWFsSG9yaXpvbnRhbFJpZ2h0UGFkZGluZz0xMDBdPSJyZXZlYWxIb3Jpem9udGFsUmlnaHRQYWRkaW5nIixlW2Uucm91bmRlZFNlbGVjdGlvbj0xMDFdPSJyb3VuZGVkU2VsZWN0aW9uIixlW2UucnVsZXJzPTEwMl09InJ1bGVycyIsZVtlLnNjcm9sbGJhcj0xMDNdPSJzY3JvbGxiYXIiLGVbZS5zY3JvbGxCZXlvbmRMYXN0Q29sdW1uPTEwNF09InNjcm9sbEJleW9uZExhc3RDb2x1bW4iLGVbZS5zY3JvbGxCZXlvbmRMYXN0TGluZT0xMDVdPSJzY3JvbGxCZXlvbmRMYXN0TGluZSIsZVtlLnNjcm9sbFByZWRvbWluYW50QXhpcz0xMDZdPSJzY3JvbGxQcmVkb21pbmFudEF4aXMiLGVbZS5zZWxlY3Rpb25DbGlwYm9hcmQ9MTA3XT0ic2VsZWN0aW9uQ2xpcGJvYXJkIixlW2Uuc2VsZWN0aW9uSGlnaGxpZ2h0PTEwOF09InNlbGVjdGlvbkhpZ2hsaWdodCIsZVtlLnNlbGVjdE9uTGluZU51bWJlcnM9MTA5XT0ic2VsZWN0T25MaW5lTnVtYmVycyIsZVtlLnNob3dGb2xkaW5nQ29udHJvbHM9MTEwXT0ic2hvd0ZvbGRpbmdDb250cm9scyIsZVtlLnNob3dVbnVzZWQ9MTExXT0ic2hvd1VudXNlZCIsZVtlLnNuaXBwZXRTdWdnZXN0aW9ucz0xMTJdPSJzbmlwcGV0U3VnZ2VzdGlvbnMiLGVbZS5zbWFydFNlbGVjdD0xMTNdPSJzbWFydFNlbGVjdCIsZVtlLnNtb290aFNjcm9sbGluZz0xMTRdPSJzbW9vdGhTY3JvbGxpbmciLGVbZS5zdGlja3lTY3JvbGw9MTE1XT0ic3RpY2t5U2Nyb2xsIixlW2Uuc3RpY2t5VGFiU3RvcHM9MTE2XT0ic3RpY2t5VGFiU3RvcHMiLGVbZS5zdG9wUmVuZGVyaW5nTGluZUFmdGVyPTExN109InN0b3BSZW5kZXJpbmdMaW5lQWZ0ZXIiLGVbZS5zdWdnZXN0PTExOF09InN1Z2dlc3QiLGVbZS5zdWdnZXN0Rm9udFNpemU9MTE5XT0ic3VnZ2VzdEZvbnRTaXplIixlW2Uuc3VnZ2VzdExpbmVIZWlnaHQ9MTIwXT0ic3VnZ2VzdExpbmVIZWlnaHQiLGVbZS5zdWdnZXN0T25UcmlnZ2VyQ2hhcmFjdGVycz0xMjFdPSJzdWdnZXN0T25UcmlnZ2VyQ2hhcmFjdGVycyIsZVtlLnN1Z2dlc3RTZWxlY3Rpb249MTIyXT0ic3VnZ2VzdFNlbGVjdGlvbiIsZVtlLnRhYkNvbXBsZXRpb249MTIzXT0idGFiQ29tcGxldGlvbiIsZVtlLnRhYkluZGV4PTEyNF09InRhYkluZGV4IixlW2UudW5pY29kZUhpZ2hsaWdodGluZz0xMjVdPSJ1bmljb2RlSGlnaGxpZ2h0aW5nIixlW2UudW51c3VhbExpbmVUZXJtaW5hdG9ycz0xMjZdPSJ1bnVzdWFsTGluZVRlcm1pbmF0b3JzIixlW2UudXNlU2hhZG93RE9NPTEyN109InVzZVNoYWRvd0RPTSIsZVtlLnVzZVRhYlN0b3BzPTEyOF09InVzZVRhYlN0b3BzIixlW2Uud29yZEJyZWFrPTEyOV09IndvcmRCcmVhayIsZVtlLndvcmRTZWdtZW50ZXJMb2NhbGVzPTEzMF09IndvcmRTZWdtZW50ZXJMb2NhbGVzIixlW2Uud29yZFNlcGFyYXRvcnM9MTMxXT0id29yZFNlcGFyYXRvcnMiLGVbZS53b3JkV3JhcD0xMzJdPSJ3b3JkV3JhcCIsZVtlLndvcmRXcmFwQnJlYWtBZnRlckNoYXJhY3RlcnM9MTMzXT0id29yZFdyYXBCcmVha0FmdGVyQ2hhcmFjdGVycyIsZVtlLndvcmRXcmFwQnJlYWtCZWZvcmVDaGFyYWN0ZXJzPTEzNF09IndvcmRXcmFwQnJlYWtCZWZvcmVDaGFyYWN0ZXJzIixlW2Uud29yZFdyYXBDb2x1bW49MTM1XT0id29yZFdyYXBDb2x1bW4iLGVbZS53b3JkV3JhcE92ZXJyaWRlMT0xMzZdPSJ3b3JkV3JhcE92ZXJyaWRlMSIsZVtlLndvcmRXcmFwT3ZlcnJpZGUyPTEzN109IndvcmRXcmFwT3ZlcnJpZGUyIixlW2Uud3JhcHBpbmdJbmRlbnQ9MTM4XT0id3JhcHBpbmdJbmRlbnQiLGVbZS53cmFwcGluZ1N0cmF0ZWd5PTEzOV09IndyYXBwaW5nU3RyYXRlZ3kiLGVbZS5zaG93RGVwcmVjYXRlZD0xNDBdPSJzaG93RGVwcmVjYXRlZCIsZVtlLmlubGF5SGludHM9MTQxXT0iaW5sYXlIaW50cyIsZVtlLmVkaXRvckNsYXNzTmFtZT0xNDJdPSJlZGl0b3JDbGFzc05hbWUiLGVbZS5waXhlbFJhdGlvPTE0M109InBpeGVsUmF0aW8iLGVbZS50YWJGb2N1c01vZGU9MTQ0XT0idGFiRm9jdXNNb2RlIixlW2UubGF5b3V0SW5mbz0xNDVdPSJsYXlvdXRJbmZvIixlW2Uud3JhcHBpbmdJbmZvPTE0Nl09IndyYXBwaW5nSW5mbyIsZVtlLmRlZmF1bHRDb2xvckRlY29yYXRvcnM9MTQ3XT0iZGVmYXVsdENvbG9yRGVjb3JhdG9ycyIsZVtlLmNvbG9yRGVjb3JhdG9yc0FjdGl2YXRlZE9uPTE0OF09ImNvbG9yRGVjb3JhdG9yc0FjdGl2YXRlZE9uIixlW2UuaW5saW5lQ29tcGxldGlvbnNBY2Nlc3NpYmlsaXR5VmVyYm9zZT0xNDldPSJpbmxpbmVDb21wbGV0aW9uc0FjY2Vzc2liaWxpdHlWZXJib3NlIn0pKFRpfHwoVGk9e30pKTt2YXIgTWk7KGZ1bmN0aW9uKGUpe2VbZS5UZXh0RGVmaW5lZD0wXT0iVGV4dERlZmluZWQiLGVbZS5MRj0xXT0iTEYiLGVbZS5DUkxGPTJdPSJDUkxGIn0pKE1pfHwoTWk9e30pKTt2YXIgUGk7KGZ1bmN0aW9uKGUpe2VbZS5MRj0wXT0iTEYiLGVbZS5DUkxGPTFdPSJDUkxGIn0pKFBpfHwoUGk9e30pKTt2YXIgSWk7KGZ1bmN0aW9uKGUpe2VbZS5MZWZ0PTFdPSJMZWZ0IixlW2UuQ2VudGVyPTJdPSJDZW50ZXIiLGVbZS5SaWdodD0zXT0iUmlnaHQifSkoSWl8fChJaT17fSkpO3ZhciBGaTsoZnVuY3Rpb24oZSl7ZVtlLk5vbmU9MF09Ik5vbmUiLGVbZS5JbmRlbnQ9MV09IkluZGVudCIsZVtlLkluZGVudE91dGRlbnQ9Ml09IkluZGVudE91dGRlbnQiLGVbZS5PdXRkZW50PTNdPSJPdXRkZW50In0pKEZpfHwoRmk9e30pKTt2YXIgRGk7KGZ1bmN0aW9uKGUpe2VbZS5Cb3RoPTBdPSJCb3RoIixlW2UuUmlnaHQ9MV09IlJpZ2h0IixlW2UuTGVmdD0yXT0iTGVmdCIsZVtlLk5vbmU9M109Ik5vbmUifSkoRGl8fChEaT17fSkpO3ZhciBPaTsoZnVuY3Rpb24oZSl7ZVtlLlR5cGU9MV09IlR5cGUiLGVbZS5QYXJhbWV0ZXI9Ml09IlBhcmFtZXRlciJ9KShPaXx8KE9pPXt9KSk7dmFyIFZpOyhmdW5jdGlvbihlKXtlW2UuQXV0b21hdGljPTBdPSJBdXRvbWF0aWMiLGVbZS5FeHBsaWNpdD0xXT0iRXhwbGljaXQifSkoVml8fChWaT17fSkpO3ZhciBVaTsoZnVuY3Rpb24oZSl7ZVtlLkludm9rZT0wXT0iSW52b2tlIixlW2UuQXV0b21hdGljPTFdPSJBdXRvbWF0aWMifSkoVWl8fChVaT17fSkpO3ZhciBabjsoZnVuY3Rpb24oZSl7ZVtlLkRlcGVuZHNPbktiTGF5b3V0PS0xXT0iRGVwZW5kc09uS2JMYXlvdXQiLGVbZS5Vbmtub3duPTBdPSJVbmtub3duIixlW2UuQmFja3NwYWNlPTFdPSJCYWNrc3BhY2UiLGVbZS5UYWI9Ml09IlRhYiIsZVtlLkVudGVyPTNdPSJFbnRlciIsZVtlLlNoaWZ0PTRdPSJTaGlmdCIsZVtlLkN0cmw9NV09IkN0cmwiLGVbZS5BbHQ9Nl09IkFsdCIsZVtlLlBhdXNlQnJlYWs9N109IlBhdXNlQnJlYWsiLGVbZS5DYXBzTG9jaz04XT0iQ2Fwc0xvY2siLGVbZS5Fc2NhcGU9OV09IkVzY2FwZSIsZVtlLlNwYWNlPTEwXT0iU3BhY2UiLGVbZS5QYWdlVXA9MTFdPSJQYWdlVXAiLGVbZS5QYWdlRG93bj0xMl09IlBhZ2VEb3duIixlW2UuRW5kPTEzXT0iRW5kIixlW2UuSG9tZT0xNF09IkhvbWUiLGVbZS5MZWZ0QXJyb3c9MTVdPSJMZWZ0QXJyb3ciLGVbZS5VcEFycm93PTE2XT0iVXBBcnJvdyIsZVtlLlJpZ2h0QXJyb3c9MTddPSJSaWdodEFycm93IixlW2UuRG93bkFycm93PTE4XT0iRG93bkFycm93IixlW2UuSW5zZXJ0PTE5XT0iSW5zZXJ0IixlW2UuRGVsZXRlPTIwXT0iRGVsZXRlIixlW2UuRGlnaXQwPTIxXT0iRGlnaXQwIixlW2UuRGlnaXQxPTIyXT0iRGlnaXQxIixlW2UuRGlnaXQyPTIzXT0iRGlnaXQyIixlW2UuRGlnaXQzPTI0XT0iRGlnaXQzIixlW2UuRGlnaXQ0PTI1XT0iRGlnaXQ0IixlW2UuRGlnaXQ1PTI2XT0iRGlnaXQ1IixlW2UuRGlnaXQ2PTI3XT0iRGlnaXQ2IixlW2UuRGlnaXQ3PTI4XT0iRGlnaXQ3IixlW2UuRGlnaXQ4PTI5XT0iRGlnaXQ4IixlW2UuRGlnaXQ5PTMwXT0iRGlnaXQ5IixlW2UuS2V5QT0zMV09IktleUEiLGVbZS5LZXlCPTMyXT0iS2V5QiIsZVtlLktleUM9MzNdPSJLZXlDIixlW2UuS2V5RD0zNF09IktleUQiLGVbZS5LZXlFPTM1XT0iS2V5RSIsZVtlLktleUY9MzZdPSJLZXlGIixlW2UuS2V5Rz0zN109IktleUciLGVbZS5LZXlIPTM4XT0iS2V5SCIsZVtlLktleUk9MzldPSJLZXlJIixlW2UuS2V5Sj00MF09IktleUoiLGVbZS5LZXlLPTQxXT0iS2V5SyIsZVtlLktleUw9NDJdPSJLZXlMIixlW2UuS2V5TT00M109IktleU0iLGVbZS5LZXlOPTQ0XT0iS2V5TiIsZVtlLktleU89NDVdPSJLZXlPIixlW2UuS2V5UD00Nl09IktleVAiLGVbZS5LZXlRPTQ3XT0iS2V5USIsZVtlLktleVI9NDhdPSJLZXlSIixlW2UuS2V5Uz00OV09IktleVMiLGVbZS5LZXlUPTUwXT0iS2V5VCIsZVtlLktleVU9NTFdPSJLZXlVIixlW2UuS2V5Vj01Ml09IktleVYiLGVbZS5LZXlXPTUzXT0iS2V5VyIsZVtlLktleVg9NTRdPSJLZXlYIixlW2UuS2V5WT01NV09IktleVkiLGVbZS5LZXlaPTU2XT0iS2V5WiIsZVtlLk1ldGE9NTddPSJNZXRhIixlW2UuQ29udGV4dE1lbnU9NThdPSJDb250ZXh0TWVudSIsZVtlLkYxPTU5XT0iRjEiLGVbZS5GMj02MF09IkYyIixlW2UuRjM9NjFdPSJGMyIsZVtlLkY0PTYyXT0iRjQiLGVbZS5GNT02M109IkY1IixlW2UuRjY9NjRdPSJGNiIsZVtlLkY3PTY1XT0iRjciLGVbZS5GOD02Nl09IkY4IixlW2UuRjk9NjddPSJGOSIsZVtlLkYxMD02OF09IkYxMCIsZVtlLkYxMT02OV09IkYxMSIsZVtlLkYxMj03MF09IkYxMiIsZVtlLkYxMz03MV09IkYxMyIsZVtlLkYxND03Ml09IkYxNCIsZVtlLkYxNT03M109IkYxNSIsZVtlLkYxNj03NF09IkYxNiIsZVtlLkYxNz03NV09IkYxNyIsZVtlLkYxOD03Nl09IkYxOCIsZVtlLkYxOT03N109IkYxOSIsZVtlLkYyMD03OF09IkYyMCIsZVtlLkYyMT03OV09IkYyMSIsZVtlLkYyMj04MF09IkYyMiIsZVtlLkYyMz04MV09IkYyMyIsZVtlLkYyND04Ml09IkYyNCIsZVtlLk51bUxvY2s9ODNdPSJOdW1Mb2NrIixlW2UuU2Nyb2xsTG9jaz04NF09IlNjcm9sbExvY2siLGVbZS5TZW1pY29sb249ODVdPSJTZW1pY29sb24iLGVbZS5FcXVhbD04Nl09IkVxdWFsIixlW2UuQ29tbWE9ODddPSJDb21tYSIsZVtlLk1pbnVzPTg4XT0iTWludXMiLGVbZS5QZXJpb2Q9ODldPSJQZXJpb2QiLGVbZS5TbGFzaD05MF09IlNsYXNoIixlW2UuQmFja3F1b3RlPTkxXT0iQmFja3F1b3RlIixlW2UuQnJhY2tldExlZnQ9OTJdPSJCcmFja2V0TGVmdCIsZVtlLkJhY2tzbGFzaD05M109IkJhY2tzbGFzaCIsZVtlLkJyYWNrZXRSaWdodD05NF09IkJyYWNrZXRSaWdodCIsZVtlLlF1b3RlPTk1XT0iUXVvdGUiLGVbZS5PRU1fOD05Nl09Ik9FTV84IixlW2UuSW50bEJhY2tzbGFzaD05N109IkludGxCYWNrc2xhc2giLGVbZS5OdW1wYWQwPTk4XT0iTnVtcGFkMCIsZVtlLk51bXBhZDE9OTldPSJOdW1wYWQxIixlW2UuTnVtcGFkMj0xMDBdPSJOdW1wYWQyIixlW2UuTnVtcGFkMz0xMDFdPSJOdW1wYWQzIixlW2UuTnVtcGFkND0xMDJdPSJOdW1wYWQ0IixlW2UuTnVtcGFkNT0xMDNdPSJOdW1wYWQ1IixlW2UuTnVtcGFkNj0xMDRdPSJOdW1wYWQ2IixlW2UuTnVtcGFkNz0xMDVdPSJOdW1wYWQ3IixlW2UuTnVtcGFkOD0xMDZdPSJOdW1wYWQ4IixlW2UuTnVtcGFkOT0xMDddPSJOdW1wYWQ5IixlW2UuTnVtcGFkTXVsdGlwbHk9MTA4XT0iTnVtcGFkTXVsdGlwbHkiLGVbZS5OdW1wYWRBZGQ9MTA5XT0iTnVtcGFkQWRkIixlW2UuTlVNUEFEX1NFUEFSQVRPUj0xMTBdPSJOVU1QQURfU0VQQVJBVE9SIixlW2UuTnVtcGFkU3VidHJhY3Q9MTExXT0iTnVtcGFkU3VidHJhY3QiLGVbZS5OdW1wYWREZWNpbWFsPTExMl09Ik51bXBhZERlY2ltYWwiLGVbZS5OdW1wYWREaXZpZGU9MTEzXT0iTnVtcGFkRGl2aWRlIixlW2UuS0VZX0lOX0NPTVBPU0lUSU9OPTExNF09IktFWV9JTl9DT01QT1NJVElPTiIsZVtlLkFCTlRfQzE9MTE1XT0iQUJOVF9DMSIsZVtlLkFCTlRfQzI9MTE2XT0iQUJOVF9DMiIsZVtlLkF1ZGlvVm9sdW1lTXV0ZT0xMTddPSJBdWRpb1ZvbHVtZU11dGUiLGVbZS5BdWRpb1ZvbHVtZVVwPTExOF09IkF1ZGlvVm9sdW1lVXAiLGVbZS5BdWRpb1ZvbHVtZURvd249MTE5XT0iQXVkaW9Wb2x1bWVEb3duIixlW2UuQnJvd3NlclNlYXJjaD0xMjBdPSJCcm93c2VyU2VhcmNoIixlW2UuQnJvd3NlckhvbWU9MTIxXT0iQnJvd3NlckhvbWUiLGVbZS5Ccm93c2VyQmFjaz0xMjJdPSJCcm93c2VyQmFjayIsZVtlLkJyb3dzZXJGb3J3YXJkPTEyM109IkJyb3dzZXJGb3J3YXJkIixlW2UuTWVkaWFUcmFja05leHQ9MTI0XT0iTWVkaWFUcmFja05leHQiLGVbZS5NZWRpYVRyYWNrUHJldmlvdXM9MTI1XT0iTWVkaWFUcmFja1ByZXZpb3VzIixlW2UuTWVkaWFTdG9wPTEyNl09Ik1lZGlhU3RvcCIsZVtlLk1lZGlhUGxheVBhdXNlPTEyN109Ik1lZGlhUGxheVBhdXNlIixlW2UuTGF1bmNoTWVkaWFQbGF5ZXI9MTI4XT0iTGF1bmNoTWVkaWFQbGF5ZXIiLGVbZS5MYXVuY2hNYWlsPTEyOV09IkxhdW5jaE1haWwiLGVbZS5MYXVuY2hBcHAyPTEzMF09IkxhdW5jaEFwcDIiLGVbZS5DbGVhcj0xMzFdPSJDbGVhciIsZVtlLk1BWF9WQUxVRT0xMzJdPSJNQVhfVkFMVUUifSkoWm58fChabj17fSkpO3ZhciBLbjsoZnVuY3Rpb24oZSl7ZVtlLkhpbnQ9MV09IkhpbnQiLGVbZS5JbmZvPTJdPSJJbmZvIixlW2UuV2FybmluZz00XT0iV2FybmluZyIsZVtlLkVycm9yPThdPSJFcnJvciJ9KShLbnx8KEtuPXt9KSk7dmFyIGVyOyhmdW5jdGlvbihlKXtlW2UuVW5uZWNlc3Nhcnk9MV09IlVubmVjZXNzYXJ5IixlW2UuRGVwcmVjYXRlZD0yXT0iRGVwcmVjYXRlZCJ9KShlcnx8KGVyPXt9KSk7dmFyIEJpOyhmdW5jdGlvbihlKXtlW2UuSW5saW5lPTFdPSJJbmxpbmUiLGVbZS5HdXR0ZXI9Ml09Ikd1dHRlciJ9KShCaXx8KEJpPXt9KSk7dmFyIGppOyhmdW5jdGlvbihlKXtlW2UuTm9ybWFsPTFdPSJOb3JtYWwiLGVbZS5VbmRlcmxpbmVkPTJdPSJVbmRlcmxpbmVkIn0pKGppfHwoamk9e30pKTt2YXIgcWk7KGZ1bmN0aW9uKGUpe2VbZS5VTktOT1dOPTBdPSJVTktOT1dOIixlW2UuVEVYVEFSRUE9MV09IlRFWFRBUkVBIixlW2UuR1VUVEVSX0dMWVBIX01BUkdJTj0yXT0iR1VUVEVSX0dMWVBIX01BUkdJTiIsZVtlLkdVVFRFUl9MSU5FX05VTUJFUlM9M109IkdVVFRFUl9MSU5FX05VTUJFUlMiLGVbZS5HVVRURVJfTElORV9ERUNPUkFUSU9OUz00XT0iR1VUVEVSX0xJTkVfREVDT1JBVElPTlMiLGVbZS5HVVRURVJfVklFV19aT05FPTVdPSJHVVRURVJfVklFV19aT05FIixlW2UuQ09OVEVOVF9URVhUPTZdPSJDT05URU5UX1RFWFQiLGVbZS5DT05URU5UX0VNUFRZPTddPSJDT05URU5UX0VNUFRZIixlW2UuQ09OVEVOVF9WSUVXX1pPTkU9OF09IkNPTlRFTlRfVklFV19aT05FIixlW2UuQ09OVEVOVF9XSURHRVQ9OV09IkNPTlRFTlRfV0lER0VUIixlW2UuT1ZFUlZJRVdfUlVMRVI9MTBdPSJPVkVSVklFV19SVUxFUiIsZVtlLlNDUk9MTEJBUj0xMV09IlNDUk9MTEJBUiIsZVtlLk9WRVJMQVlfV0lER0VUPTEyXT0iT1ZFUkxBWV9XSURHRVQiLGVbZS5PVVRTSURFX0VESVRPUj0xM109Ik9VVFNJREVfRURJVE9SIn0pKHFpfHwocWk9e30pKTt2YXIgSGk7KGZ1bmN0aW9uKGUpe2VbZS5BSUdlbmVyYXRlZD0xXT0iQUlHZW5lcmF0ZWQifSkoSGl8fChIaT17fSkpO3ZhciAkaTsoZnVuY3Rpb24oZSl7ZVtlLlRPUF9SSUdIVF9DT1JORVI9MF09IlRPUF9SSUdIVF9DT1JORVIiLGVbZS5CT1RUT01fUklHSFRfQ09STkVSPTFdPSJCT1RUT01fUklHSFRfQ09STkVSIixlW2UuVE9QX0NFTlRFUj0yXT0iVE9QX0NFTlRFUiJ9KSgkaXx8KCRpPXt9KSk7dmFyIFdpOyhmdW5jdGlvbihlKXtlW2UuTGVmdD0xXT0iTGVmdCIsZVtlLkNlbnRlcj0yXT0iQ2VudGVyIixlW2UuUmlnaHQ9NF09IlJpZ2h0IixlW2UuRnVsbD03XT0iRnVsbCJ9KShXaXx8KFdpPXt9KSk7dmFyIHppOyhmdW5jdGlvbihlKXtlW2UuV29yZD0wXT0iV29yZCIsZVtlLkxpbmU9MV09IkxpbmUiLGVbZS5TdWdnZXN0PTJdPSJTdWdnZXN0In0pKHppfHwoemk9e30pKTt2YXIgR2k7KGZ1bmN0aW9uKGUpe2VbZS5MZWZ0PTBdPSJMZWZ0IixlW2UuUmlnaHQ9MV09IlJpZ2h0IixlW2UuTm9uZT0yXT0iTm9uZSIsZVtlLkxlZnRPZkluamVjdGVkVGV4dD0zXT0iTGVmdE9mSW5qZWN0ZWRUZXh0IixlW2UuUmlnaHRPZkluamVjdGVkVGV4dD00XT0iUmlnaHRPZkluamVjdGVkVGV4dCJ9KShHaXx8KEdpPXt9KSk7dmFyIEppOyhmdW5jdGlvbihlKXtlW2UuT2ZmPTBdPSJPZmYiLGVbZS5Pbj0xXT0iT24iLGVbZS5SZWxhdGl2ZT0yXT0iUmVsYXRpdmUiLGVbZS5JbnRlcnZhbD0zXT0iSW50ZXJ2YWwiLGVbZS5DdXN0b209NF09IkN1c3RvbSJ9KShKaXx8KEppPXt9KSk7dmFyIFhpOyhmdW5jdGlvbihlKXtlW2UuTm9uZT0wXT0iTm9uZSIsZVtlLlRleHQ9MV09IlRleHQiLGVbZS5CbG9ja3M9Ml09IkJsb2NrcyJ9KShYaXx8KFhpPXt9KSk7dmFyIFlpOyhmdW5jdGlvbihlKXtlW2UuU21vb3RoPTBdPSJTbW9vdGgiLGVbZS5JbW1lZGlhdGU9MV09IkltbWVkaWF0ZSJ9KShZaXx8KFlpPXt9KSk7dmFyIFFpOyhmdW5jdGlvbihlKXtlW2UuQXV0bz0xXT0iQXV0byIsZVtlLkhpZGRlbj0yXT0iSGlkZGVuIixlW2UuVmlzaWJsZT0zXT0iVmlzaWJsZSJ9KShRaXx8KFFpPXt9KSk7dmFyIHRyOyhmdW5jdGlvbihlKXtlW2UuTFRSPTBdPSJMVFIiLGVbZS5SVEw9MV09IlJUTCJ9KSh0cnx8KHRyPXt9KSk7dmFyIFppOyhmdW5jdGlvbihlKXtlLk9mZj0ib2ZmIixlLk9uQ29kZT0ib25Db2RlIixlLk9uPSJvbiJ9KShaaXx8KFppPXt9KSk7dmFyIEtpOyhmdW5jdGlvbihlKXtlW2UuSW52b2tlPTFdPSJJbnZva2UiLGVbZS5UcmlnZ2VyQ2hhcmFjdGVyPTJdPSJUcmlnZ2VyQ2hhcmFjdGVyIixlW2UuQ29udGVudENoYW5nZT0zXT0iQ29udGVudENoYW5nZSJ9KShLaXx8KEtpPXt9KSk7dmFyIGVzOyhmdW5jdGlvbihlKXtlW2UuRmlsZT0wXT0iRmlsZSIsZVtlLk1vZHVsZT0xXT0iTW9kdWxlIixlW2UuTmFtZXNwYWNlPTJdPSJOYW1lc3BhY2UiLGVbZS5QYWNrYWdlPTNdPSJQYWNrYWdlIixlW2UuQ2xhc3M9NF09IkNsYXNzIixlW2UuTWV0aG9kPTVdPSJNZXRob2QiLGVbZS5Qcm9wZXJ0eT02XT0iUHJvcGVydHkiLGVbZS5GaWVsZD03XT0iRmllbGQiLGVbZS5Db25zdHJ1Y3Rvcj04XT0iQ29uc3RydWN0b3IiLGVbZS5FbnVtPTldPSJFbnVtIixlW2UuSW50ZXJmYWNlPTEwXT0iSW50ZXJmYWNlIixlW2UuRnVuY3Rpb249MTFdPSJGdW5jdGlvbiIsZVtlLlZhcmlhYmxlPTEyXT0iVmFyaWFibGUiLGVbZS5Db25zdGFudD0xM109IkNvbnN0YW50IixlW2UuU3RyaW5nPTE0XT0iU3RyaW5nIixlW2UuTnVtYmVyPTE1XT0iTnVtYmVyIixlW2UuQm9vbGVhbj0xNl09IkJvb2xlYW4iLGVbZS5BcnJheT0xN109IkFycmF5IixlW2UuT2JqZWN0PTE4XT0iT2JqZWN0IixlW2UuS2V5PTE5XT0iS2V5IixlW2UuTnVsbD0yMF09Ik51bGwiLGVbZS5FbnVtTWVtYmVyPTIxXT0iRW51bU1lbWJlciIsZVtlLlN0cnVjdD0yMl09IlN0cnVjdCIsZVtlLkV2ZW50PTIzXT0iRXZlbnQiLGVbZS5PcGVyYXRvcj0yNF09Ik9wZXJhdG9yIixlW2UuVHlwZVBhcmFtZXRlcj0yNV09IlR5cGVQYXJhbWV0ZXIifSkoZXN8fChlcz17fSkpO3ZhciB0czsoZnVuY3Rpb24oZSl7ZVtlLkRlcHJlY2F0ZWQ9MV09IkRlcHJlY2F0ZWQifSkodHN8fCh0cz17fSkpO3ZhciBuczsoZnVuY3Rpb24oZSl7ZVtlLkhpZGRlbj0wXT0iSGlkZGVuIixlW2UuQmxpbms9MV09IkJsaW5rIixlW2UuU21vb3RoPTJdPSJTbW9vdGgiLGVbZS5QaGFzZT0zXT0iUGhhc2UiLGVbZS5FeHBhbmQ9NF09IkV4cGFuZCIsZVtlLlNvbGlkPTVdPSJTb2xpZCJ9KShuc3x8KG5zPXt9KSk7dmFyIHJzOyhmdW5jdGlvbihlKXtlW2UuTGluZT0xXT0iTGluZSIsZVtlLkJsb2NrPTJdPSJCbG9jayIsZVtlLlVuZGVybGluZT0zXT0iVW5kZXJsaW5lIixlW2UuTGluZVRoaW49NF09IkxpbmVUaGluIixlW2UuQmxvY2tPdXRsaW5lPTVdPSJCbG9ja091dGxpbmUiLGVbZS5VbmRlcmxpbmVUaGluPTZdPSJVbmRlcmxpbmVUaGluIn0pKHJzfHwocnM9e30pKTt2YXIgaXM7KGZ1bmN0aW9uKGUpe2VbZS5BbHdheXNHcm93c1doZW5UeXBpbmdBdEVkZ2VzPTBdPSJBbHdheXNHcm93c1doZW5UeXBpbmdBdEVkZ2VzIixlW2UuTmV2ZXJHcm93c1doZW5UeXBpbmdBdEVkZ2VzPTFdPSJOZXZlckdyb3dzV2hlblR5cGluZ0F0RWRnZXMiLGVbZS5Hcm93c09ubHlXaGVuVHlwaW5nQmVmb3JlPTJdPSJHcm93c09ubHlXaGVuVHlwaW5nQmVmb3JlIixlW2UuR3Jvd3NPbmx5V2hlblR5cGluZ0FmdGVyPTNdPSJHcm93c09ubHlXaGVuVHlwaW5nQWZ0ZXIifSkoaXN8fChpcz17fSkpO3ZhciBzczsoZnVuY3Rpb24oZSl7ZVtlLk5vbmU9MF09Ik5vbmUiLGVbZS5TYW1lPTFdPSJTYW1lIixlW2UuSW5kZW50PTJdPSJJbmRlbnQiLGVbZS5EZWVwSW5kZW50PTNdPSJEZWVwSW5kZW50In0pKHNzfHwoc3M9e30pKTtjbGFzcyBNdHtzdGF0aWMgY2hvcmQodCxuKXtyZXR1cm4gYWwodCxuKX19TXQuQ3RybENtZD0yMDQ4LE10LlNoaWZ0PTEwMjQsTXQuQWx0PTUxMixNdC5XaW5DdHJsPTI1NjtmdW5jdGlvbiBobCgpe3JldHVybntlZGl0b3I6dm9pZCAwLGxhbmd1YWdlczp2b2lkIDAsQ2FuY2VsbGF0aW9uVG9rZW5Tb3VyY2U6bmwsRW1pdHRlcjpBZSxLZXlDb2RlOlpuLEtleU1vZDpNdCxQb3NpdGlvbjpQZSxSYW5nZTpzZSxTZWxlY3Rpb246X2UsU2VsZWN0aW9uRGlyZWN0aW9uOnRyLE1hcmtlclNldmVyaXR5OktuLE1hcmtlclRhZzplcixVcmk6cW4sVG9rZW46Zmx9fXZhciBhcztjbGFzcyBkbHtjb25zdHJ1Y3Rvcigpe3RoaXNbYXNdPSJMaW5rZWRNYXAiLHRoaXMuX21hcD1uZXcgTWFwLHRoaXMuX2hlYWQ9dm9pZCAwLHRoaXMuX3RhaWw9dm9pZCAwLHRoaXMuX3NpemU9MCx0aGlzLl9zdGF0ZT0wfWNsZWFyKCl7dGhpcy5fbWFwLmNsZWFyKCksdGhpcy5faGVhZD12b2lkIDAsdGhpcy5fdGFpbD12b2lkIDAsdGhpcy5fc2l6ZT0wLHRoaXMuX3N0YXRlKyt9aXNFbXB0eSgpe3JldHVybiF0aGlzLl9oZWFkJiYhdGhpcy5fdGFpbH1nZXQgc2l6ZSgpe3JldHVybiB0aGlzLl9zaXplfWdldCBmaXJzdCgpe3ZhciB0O3JldHVybih0PXRoaXMuX2hlYWQpPT09bnVsbHx8dD09PXZvaWQgMD92b2lkIDA6dC52YWx1ZX1nZXQgbGFzdCgpe3ZhciB0O3JldHVybih0PXRoaXMuX3RhaWwpPT09bnVsbHx8dD09PXZvaWQgMD92b2lkIDA6dC52YWx1ZX1oYXModCl7cmV0dXJuIHRoaXMuX21hcC5oYXModCl9Z2V0KHQsbj0wKXtjb25zdCByPXRoaXMuX21hcC5nZXQodCk7aWYocilyZXR1cm4gbiE9PTAmJnRoaXMudG91Y2gocixuKSxyLnZhbHVlfXNldCh0LG4scj0wKXtsZXQgaT10aGlzLl9tYXAuZ2V0KHQpO2lmKGkpaS52YWx1ZT1uLHIhPT0wJiZ0aGlzLnRvdWNoKGkscik7ZWxzZXtzd2l0Y2goaT17a2V5OnQsdmFsdWU6bixuZXh0OnZvaWQgMCxwcmV2aW91czp2b2lkIDB9LHIpe2Nhc2UgMDp0aGlzLmFkZEl0ZW1MYXN0KGkpO2JyZWFrO2Nhc2UgMTp0aGlzLmFkZEl0ZW1GaXJzdChpKTticmVhaztjYXNlIDI6dGhpcy5hZGRJdGVtTGFzdChpKTticmVhaztkZWZhdWx0OnRoaXMuYWRkSXRlbUxhc3QoaSk7YnJlYWt9dGhpcy5fbWFwLnNldCh0LGkpLHRoaXMuX3NpemUrK31yZXR1cm4gdGhpc31kZWxldGUodCl7cmV0dXJuISF0aGlzLnJlbW92ZSh0KX1yZW1vdmUodCl7Y29uc3Qgbj10aGlzLl9tYXAuZ2V0KHQpO2lmKG4pcmV0dXJuIHRoaXMuX21hcC5kZWxldGUodCksdGhpcy5yZW1vdmVJdGVtKG4pLHRoaXMuX3NpemUtLSxuLnZhbHVlfXNoaWZ0KCl7aWYoIXRoaXMuX2hlYWQmJiF0aGlzLl90YWlsKXJldHVybjtpZighdGhpcy5faGVhZHx8IXRoaXMuX3RhaWwpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGxpc3QiKTtjb25zdCB0PXRoaXMuX2hlYWQ7cmV0dXJuIHRoaXMuX21hcC5kZWxldGUodC5rZXkpLHRoaXMucmVtb3ZlSXRlbSh0KSx0aGlzLl9zaXplLS0sdC52YWx1ZX1mb3JFYWNoKHQsbil7Y29uc3Qgcj10aGlzLl9zdGF0ZTtsZXQgaT10aGlzLl9oZWFkO2Zvcig7aTspe2lmKG4/dC5iaW5kKG4pKGkudmFsdWUsaS5rZXksdGhpcyk6dChpLnZhbHVlLGkua2V5LHRoaXMpLHRoaXMuX3N0YXRlIT09cil0aHJvdyBuZXcgRXJyb3IoIkxpbmtlZE1hcCBnb3QgbW9kaWZpZWQgZHVyaW5nIGl0ZXJhdGlvbi4iKTtpPWkubmV4dH19a2V5cygpe2NvbnN0IHQ9dGhpcyxuPXRoaXMuX3N0YXRlO2xldCByPXRoaXMuX2hlYWQ7Y29uc3QgaT17W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gaX0sbmV4dCgpe2lmKHQuX3N0YXRlIT09bil0aHJvdyBuZXcgRXJyb3IoIkxpbmtlZE1hcCBnb3QgbW9kaWZpZWQgZHVyaW5nIGl0ZXJhdGlvbi4iKTtpZihyKXtjb25zdCBzPXt2YWx1ZTpyLmtleSxkb25lOiExfTtyZXR1cm4gcj1yLm5leHQsc31lbHNlIHJldHVybnt2YWx1ZTp2b2lkIDAsZG9uZTohMH19fTtyZXR1cm4gaX12YWx1ZXMoKXtjb25zdCB0PXRoaXMsbj10aGlzLl9zdGF0ZTtsZXQgcj10aGlzLl9oZWFkO2NvbnN0IGk9e1tTeW1ib2wuaXRlcmF0b3JdKCl7cmV0dXJuIGl9LG5leHQoKXtpZih0Ll9zdGF0ZSE9PW4pdGhyb3cgbmV3IEVycm9yKCJMaW5rZWRNYXAgZ290IG1vZGlmaWVkIGR1cmluZyBpdGVyYXRpb24uIik7aWYocil7Y29uc3Qgcz17dmFsdWU6ci52YWx1ZSxkb25lOiExfTtyZXR1cm4gcj1yLm5leHQsc31lbHNlIHJldHVybnt2YWx1ZTp2b2lkIDAsZG9uZTohMH19fTtyZXR1cm4gaX1lbnRyaWVzKCl7Y29uc3QgdD10aGlzLG49dGhpcy5fc3RhdGU7bGV0IHI9dGhpcy5faGVhZDtjb25zdCBpPXtbU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiBpfSxuZXh0KCl7aWYodC5fc3RhdGUhPT1uKXRocm93IG5ldyBFcnJvcigiTGlua2VkTWFwIGdvdCBtb2RpZmllZCBkdXJpbmcgaXRlcmF0aW9uLiIpO2lmKHIpe2NvbnN0IHM9e3ZhbHVlOltyLmtleSxyLnZhbHVlXSxkb25lOiExfTtyZXR1cm4gcj1yLm5leHQsc31lbHNlIHJldHVybnt2YWx1ZTp2b2lkIDAsZG9uZTohMH19fTtyZXR1cm4gaX1bKGFzPVN5bWJvbC50b1N0cmluZ1RhZyxTeW1ib2wuaXRlcmF0b3IpXSgpe3JldHVybiB0aGlzLmVudHJpZXMoKX10cmltT2xkKHQpe2lmKHQ+PXRoaXMuc2l6ZSlyZXR1cm47aWYodD09PTApe3RoaXMuY2xlYXIoKTtyZXR1cm59bGV0IG49dGhpcy5faGVhZCxyPXRoaXMuc2l6ZTtmb3IoO24mJnI+dDspdGhpcy5fbWFwLmRlbGV0ZShuLmtleSksbj1uLm5leHQsci0tO3RoaXMuX2hlYWQ9bix0aGlzLl9zaXplPXIsbiYmKG4ucHJldmlvdXM9dm9pZCAwKSx0aGlzLl9zdGF0ZSsrfWFkZEl0ZW1GaXJzdCh0KXtpZighdGhpcy5faGVhZCYmIXRoaXMuX3RhaWwpdGhpcy5fdGFpbD10O2Vsc2UgaWYodGhpcy5faGVhZCl0Lm5leHQ9dGhpcy5faGVhZCx0aGlzLl9oZWFkLnByZXZpb3VzPXQ7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgbGlzdCIpO3RoaXMuX2hlYWQ9dCx0aGlzLl9zdGF0ZSsrfWFkZEl0ZW1MYXN0KHQpe2lmKCF0aGlzLl9oZWFkJiYhdGhpcy5fdGFpbCl0aGlzLl9oZWFkPXQ7ZWxzZSBpZih0aGlzLl90YWlsKXQucHJldmlvdXM9dGhpcy5fdGFpbCx0aGlzLl90YWlsLm5leHQ9dDtlbHNlIHRocm93IG5ldyBFcnJvcigiSW52YWxpZCBsaXN0Iik7dGhpcy5fdGFpbD10LHRoaXMuX3N0YXRlKyt9cmVtb3ZlSXRlbSh0KXtpZih0PT09dGhpcy5faGVhZCYmdD09PXRoaXMuX3RhaWwpdGhpcy5faGVhZD12b2lkIDAsdGhpcy5fdGFpbD12b2lkIDA7ZWxzZSBpZih0PT09dGhpcy5faGVhZCl7aWYoIXQubmV4dCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgbGlzdCIpO3QubmV4dC5wcmV2aW91cz12b2lkIDAsdGhpcy5faGVhZD10Lm5leHR9ZWxzZSBpZih0PT09dGhpcy5fdGFpbCl7aWYoIXQucHJldmlvdXMpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGxpc3QiKTt0LnByZXZpb3VzLm5leHQ9dm9pZCAwLHRoaXMuX3RhaWw9dC5wcmV2aW91c31lbHNle2NvbnN0IG49dC5uZXh0LHI9dC5wcmV2aW91cztpZighbnx8IXIpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGxpc3QiKTtuLnByZXZpb3VzPXIsci5uZXh0PW59dC5uZXh0PXZvaWQgMCx0LnByZXZpb3VzPXZvaWQgMCx0aGlzLl9zdGF0ZSsrfXRvdWNoKHQsbil7aWYoIXRoaXMuX2hlYWR8fCF0aGlzLl90YWlsKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBsaXN0Iik7aWYoIShuIT09MSYmbiE9PTIpKXtpZihuPT09MSl7aWYodD09PXRoaXMuX2hlYWQpcmV0dXJuO2NvbnN0IHI9dC5uZXh0LGk9dC5wcmV2aW91czt0PT09dGhpcy5fdGFpbD8oaS5uZXh0PXZvaWQgMCx0aGlzLl90YWlsPWkpOihyLnByZXZpb3VzPWksaS5uZXh0PXIpLHQucHJldmlvdXM9dm9pZCAwLHQubmV4dD10aGlzLl9oZWFkLHRoaXMuX2hlYWQucHJldmlvdXM9dCx0aGlzLl9oZWFkPXQsdGhpcy5fc3RhdGUrK31lbHNlIGlmKG49PT0yKXtpZih0PT09dGhpcy5fdGFpbClyZXR1cm47Y29uc3Qgcj10Lm5leHQsaT10LnByZXZpb3VzO3Q9PT10aGlzLl9oZWFkPyhyLnByZXZpb3VzPXZvaWQgMCx0aGlzLl9oZWFkPXIpOihyLnByZXZpb3VzPWksaS5uZXh0PXIpLHQubmV4dD12b2lkIDAsdC5wcmV2aW91cz10aGlzLl90YWlsLHRoaXMuX3RhaWwubmV4dD10LHRoaXMuX3RhaWw9dCx0aGlzLl9zdGF0ZSsrfX19dG9KU09OKCl7Y29uc3QgdD1bXTtyZXR1cm4gdGhpcy5mb3JFYWNoKChuLHIpPT57dC5wdXNoKFtyLG5dKX0pLHR9ZnJvbUpTT04odCl7dGhpcy5jbGVhcigpO2Zvcihjb25zdFtuLHJdb2YgdCl0aGlzLnNldChuLHIpfX1jbGFzcyBnbCBleHRlbmRzIGRse2NvbnN0cnVjdG9yKHQsbj0xKXtzdXBlcigpLHRoaXMuX2xpbWl0PXQsdGhpcy5fcmF0aW89TWF0aC5taW4oTWF0aC5tYXgoMCxuKSwxKX1nZXQgbGltaXQoKXtyZXR1cm4gdGhpcy5fbGltaXR9c2V0IGxpbWl0KHQpe3RoaXMuX2xpbWl0PXQsdGhpcy5jaGVja1RyaW0oKX1nZXQodCxuPTIpe3JldHVybiBzdXBlci5nZXQodCxuKX1wZWVrKHQpe3JldHVybiBzdXBlci5nZXQodCwwKX1zZXQodCxuKXtyZXR1cm4gc3VwZXIuc2V0KHQsbiwyKSx0aGlzLmNoZWNrVHJpbSgpLHRoaXN9Y2hlY2tUcmltKCl7dGhpcy5zaXplPnRoaXMuX2xpbWl0JiZ0aGlzLnRyaW1PbGQoTWF0aC5yb3VuZCh0aGlzLl9saW1pdCp0aGlzLl9yYXRpbykpfX1jbGFzcyBtbHtjb25zdHJ1Y3Rvcigpe3RoaXMubWFwPW5ldyBNYXB9YWRkKHQsbil7bGV0IHI9dGhpcy5tYXAuZ2V0KHQpO3J8fChyPW5ldyBTZXQsdGhpcy5tYXAuc2V0KHQscikpLHIuYWRkKG4pfWRlbGV0ZSh0LG4pe2NvbnN0IHI9dGhpcy5tYXAuZ2V0KHQpO3ImJihyLmRlbGV0ZShuKSxyLnNpemU9PT0wJiZ0aGlzLm1hcC5kZWxldGUodCkpfWZvckVhY2godCxuKXtjb25zdCByPXRoaXMubWFwLmdldCh0KTtyJiZyLmZvckVhY2gobil9Z2V0KHQpe2NvbnN0IG49dGhpcy5tYXAuZ2V0KHQpO3JldHVybiBufHxuZXcgU2V0fX1uZXcgZ2woMTApO3ZhciBvczsoZnVuY3Rpb24oZSl7ZVtlLkxlZnQ9MV09IkxlZnQiLGVbZS5DZW50ZXI9Ml09IkNlbnRlciIsZVtlLlJpZ2h0PTRdPSJSaWdodCIsZVtlLkZ1bGw9N109IkZ1bGwifSkob3N8fChvcz17fSkpO3ZhciBsczsoZnVuY3Rpb24oZSl7ZVtlLkxlZnQ9MV09IkxlZnQiLGVbZS5DZW50ZXI9Ml09IkNlbnRlciIsZVtlLlJpZ2h0PTNdPSJSaWdodCJ9KShsc3x8KGxzPXt9KSk7dmFyIHVzOyhmdW5jdGlvbihlKXtlW2UuQm90aD0wXT0iQm90aCIsZVtlLlJpZ2h0PTFdPSJSaWdodCIsZVtlLkxlZnQ9Ml09IkxlZnQiLGVbZS5Ob25lPTNdPSJOb25lIn0pKHVzfHwodXM9e30pKTtmdW5jdGlvbiBwbChlLHQsbixyLGkpe2lmKHI9PT0wKXJldHVybiEwO2NvbnN0IHM9dC5jaGFyQ29kZUF0KHItMSk7aWYoZS5nZXQocykhPT0wfHxzPT09MTN8fHM9PT0xMClyZXR1cm4hMDtpZihpPjApe2NvbnN0IGE9dC5jaGFyQ29kZUF0KHIpO2lmKGUuZ2V0KGEpIT09MClyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiB2bChlLHQsbixyLGkpe2lmKHIraT09PW4pcmV0dXJuITA7Y29uc3Qgcz10LmNoYXJDb2RlQXQocitpKTtpZihlLmdldChzKSE9PTB8fHM9PT0xM3x8cz09PTEwKXJldHVybiEwO2lmKGk+MCl7Y29uc3QgYT10LmNoYXJDb2RlQXQocitpLTEpO2lmKGUuZ2V0KGEpIT09MClyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBibChlLHQsbixyLGkpe3JldHVybiBwbChlLHQsbixyLGkpJiZ2bChlLHQsbixyLGkpfWNsYXNzIF9se2NvbnN0cnVjdG9yKHQsbil7dGhpcy5fd29yZFNlcGFyYXRvcnM9dCx0aGlzLl9zZWFyY2hSZWdleD1uLHRoaXMuX3ByZXZNYXRjaFN0YXJ0SW5kZXg9LTEsdGhpcy5fcHJldk1hdGNoTGVuZ3RoPTB9cmVzZXQodCl7dGhpcy5fc2VhcmNoUmVnZXgubGFzdEluZGV4PXQsdGhpcy5fcHJldk1hdGNoU3RhcnRJbmRleD0tMSx0aGlzLl9wcmV2TWF0Y2hMZW5ndGg9MH1uZXh0KHQpe2NvbnN0IG49dC5sZW5ndGg7bGV0IHI7ZG97aWYodGhpcy5fcHJldk1hdGNoU3RhcnRJbmRleCt0aGlzLl9wcmV2TWF0Y2hMZW5ndGg9PT1ufHwocj10aGlzLl9zZWFyY2hSZWdleC5leGVjKHQpLCFyKSlyZXR1cm4gbnVsbDtjb25zdCBpPXIuaW5kZXgscz1yWzBdLmxlbmd0aDtpZihpPT09dGhpcy5fcHJldk1hdGNoU3RhcnRJbmRleCYmcz09PXRoaXMuX3ByZXZNYXRjaExlbmd0aCl7aWYocz09PTApe2xvKHQsbix0aGlzLl9zZWFyY2hSZWdleC5sYXN0SW5kZXgpPjY1NTM1P3RoaXMuX3NlYXJjaFJlZ2V4Lmxhc3RJbmRleCs9Mjp0aGlzLl9zZWFyY2hSZWdleC5sYXN0SW5kZXgrPTE7Y29udGludWV9cmV0dXJuIG51bGx9aWYodGhpcy5fcHJldk1hdGNoU3RhcnRJbmRleD1pLHRoaXMuX3ByZXZNYXRjaExlbmd0aD1zLCF0aGlzLl93b3JkU2VwYXJhdG9yc3x8YmwodGhpcy5fd29yZFNlcGFyYXRvcnMsdCxuLGkscykpcmV0dXJuIHJ9d2hpbGUocik7cmV0dXJuIG51bGx9fWZ1bmN0aW9uIHhsKGUsdD0iVW5yZWFjaGFibGUiKXt0aHJvdyBuZXcgRXJyb3IodCl9ZnVuY3Rpb24gY24oZSl7ZSgpfHwoZSgpLERyKG5ldyBVZSgiQXNzZXJ0aW9uIEZhaWxlZCIpKSl9ZnVuY3Rpb24gY3MoZSx0KXtsZXQgbj0wO2Zvcig7bjxlLmxlbmd0aC0xOyl7Y29uc3Qgcj1lW25dLGk9ZVtuKzFdO2lmKCF0KHIsaSkpcmV0dXJuITE7bisrfXJldHVybiEwfWNsYXNzIHlse3N0YXRpYyBjb21wdXRlVW5pY29kZUhpZ2hsaWdodHModCxuLHIpe2NvbnN0IGk9cj9yLnN0YXJ0TGluZU51bWJlcjoxLHM9cj9yLmVuZExpbmVOdW1iZXI6dC5nZXRMaW5lQ291bnQoKSxhPW5ldyBmcyhuKSxvPWEuZ2V0Q2FuZGlkYXRlQ29kZVBvaW50cygpO2xldCBsO289PT0iYWxsTm9uQmFzaWNBc2NpaSI/bD1uZXcgUmVnRXhwKCJbXlxcdFxcblxcclxceDIwLVxceDdFXSIsImciKTpsPW5ldyBSZWdFeHAoYCR7d2woQXJyYXkuZnJvbShvKSl9YCwiZyIpO2NvbnN0IHU9bmV3IF9sKG51bGwsbCksZj1bXTtsZXQgaD0hMSxkLGc9MCxtPTAsdj0wO2U6Zm9yKGxldCBwPWksXz1zO3A8PV87cCsrKXtjb25zdCB4PXQuZ2V0TGluZUNvbnRlbnQocCksYj14Lmxlbmd0aDt1LnJlc2V0KDApO2RvIGlmKGQ9dS5uZXh0KHgpLGQpe2xldCBTPWQuaW5kZXgsTj1kLmluZGV4K2RbMF0ubGVuZ3RoO2lmKFM+MCl7Y29uc3QgUj14LmNoYXJDb2RlQXQoUy0xKTtVbihSKSYmUy0tfWlmKE4rMTxiKXtjb25zdCBSPXguY2hhckNvZGVBdChOLTEpO1VuKFIpJiZOKyt9Y29uc3Qgdz14LnN1YnN0cmluZyhTLE4pO2xldCBMPVduKFMrMSxpaSx4LDApO0wmJkwuZW5kQ29sdW1uPD1TKzEmJihMPW51bGwpO2NvbnN0IEE9YS5zaG91bGRIaWdobGlnaHROb25CYXNpY0FTQ0lJKHcsTD9MLndvcmQ6bnVsbCk7aWYoQSE9PTApe2lmKEE9PT0zP2crKzpBPT09Mj9tKys6QT09PTE/disrOnhsKCksZi5sZW5ndGg+PTFlMyl7aD0hMDticmVhayBlfWYucHVzaChuZXcgc2UocCxTKzEscCxOKzEpKX19d2hpbGUoZCl9cmV0dXJue3JhbmdlczpmLGhhc01vcmU6aCxhbWJpZ3VvdXNDaGFyYWN0ZXJDb3VudDpnLGludmlzaWJsZUNoYXJhY3RlckNvdW50Om0sbm9uQmFzaWNBc2NpaUNoYXJhY3RlckNvdW50OnZ9fXN0YXRpYyBjb21wdXRlVW5pY29kZUhpZ2hsaWdodFJlYXNvbih0LG4pe2NvbnN0IHI9bmV3IGZzKG4pO3N3aXRjaChyLnNob3VsZEhpZ2hsaWdodE5vbkJhc2ljQVNDSUkodCxudWxsKSl7Y2FzZSAwOnJldHVybiBudWxsO2Nhc2UgMjpyZXR1cm57a2luZDoxfTtjYXNlIDM6e2NvbnN0IHM9dC5jb2RlUG9pbnRBdCgwKSxhPXIuYW1iaWd1b3VzQ2hhcmFjdGVycy5nZXRQcmltYXJ5Q29uZnVzYWJsZShzKSxvPXJ0LmdldExvY2FsZXMoKS5maWx0ZXIobD0+IXJ0LmdldEluc3RhbmNlKG5ldyBTZXQoWy4uLm4uYWxsb3dlZExvY2FsZXMsbF0pKS5pc0FtYmlndW91cyhzKSk7cmV0dXJue2tpbmQ6MCxjb25mdXNhYmxlV2l0aDpTdHJpbmcuZnJvbUNvZGVQb2ludChhKSxub3RBbWJpZ3VvdXNJbkxvY2FsZXM6b319Y2FzZSAxOnJldHVybntraW5kOjJ9fX19ZnVuY3Rpb24gd2woZSx0KXtyZXR1cm5gWyR7bm8oZS5tYXAocj0+U3RyaW5nLmZyb21Db2RlUG9pbnQocikpLmpvaW4oIiIpKX1dYH1jbGFzcyBmc3tjb25zdHJ1Y3Rvcih0KXt0aGlzLm9wdGlvbnM9dCx0aGlzLmFsbG93ZWRDb2RlUG9pbnRzPW5ldyBTZXQodC5hbGxvd2VkQ29kZVBvaW50cyksdGhpcy5hbWJpZ3VvdXNDaGFyYWN0ZXJzPXJ0LmdldEluc3RhbmNlKG5ldyBTZXQodC5hbGxvd2VkTG9jYWxlcykpfWdldENhbmRpZGF0ZUNvZGVQb2ludHMoKXtpZih0aGlzLm9wdGlvbnMubm9uQmFzaWNBU0NJSSlyZXR1cm4iYWxsTm9uQmFzaWNBc2NpaSI7Y29uc3QgdD1uZXcgU2V0O2lmKHRoaXMub3B0aW9ucy5pbnZpc2libGVDaGFyYWN0ZXJzKWZvcihjb25zdCBuIG9mIFdlLmNvZGVQb2ludHMpaHMoU3RyaW5nLmZyb21Db2RlUG9pbnQobikpfHx0LmFkZChuKTtpZih0aGlzLm9wdGlvbnMuYW1iaWd1b3VzQ2hhcmFjdGVycylmb3IoY29uc3QgbiBvZiB0aGlzLmFtYmlndW91c0NoYXJhY3RlcnMuZ2V0Q29uZnVzYWJsZUNvZGVQb2ludHMoKSl0LmFkZChuKTtmb3IoY29uc3QgbiBvZiB0aGlzLmFsbG93ZWRDb2RlUG9pbnRzKXQuZGVsZXRlKG4pO3JldHVybiB0fXNob3VsZEhpZ2hsaWdodE5vbkJhc2ljQVNDSUkodCxuKXtjb25zdCByPXQuY29kZVBvaW50QXQoMCk7aWYodGhpcy5hbGxvd2VkQ29kZVBvaW50cy5oYXMocikpcmV0dXJuIDA7aWYodGhpcy5vcHRpb25zLm5vbkJhc2ljQVNDSUkpcmV0dXJuIDE7bGV0IGk9ITEscz0hMTtpZihuKWZvcihjb25zdCBhIG9mIG4pe2NvbnN0IG89YS5jb2RlUG9pbnRBdCgwKSxsPWNvKGEpO2k9aXx8bCwhbCYmIXRoaXMuYW1iaWd1b3VzQ2hhcmFjdGVycy5pc0FtYmlndW91cyhvKSYmIVdlLmlzSW52aXNpYmxlQ2hhcmFjdGVyKG8pJiYocz0hMCl9cmV0dXJuIWkmJnM/MDp0aGlzLm9wdGlvbnMuaW52aXNpYmxlQ2hhcmFjdGVycyYmIWhzKHQpJiZXZS5pc0ludmlzaWJsZUNoYXJhY3RlcihyKT8yOnRoaXMub3B0aW9ucy5hbWJpZ3VvdXNDaGFyYWN0ZXJzJiZ0aGlzLmFtYmlndW91c0NoYXJhY3RlcnMuaXNBbWJpZ3VvdXMocik/MzowfX1mdW5jdGlvbiBocyhlKXtyZXR1cm4gZT09PSIgInx8ZT09PWAKYHx8ZT09PSIJIn1jbGFzcyBmbntjb25zdHJ1Y3Rvcih0LG4scil7dGhpcy5jaGFuZ2VzPXQsdGhpcy5tb3Zlcz1uLHRoaXMuaGl0VGltZW91dD1yfX1jbGFzcyBObHtjb25zdHJ1Y3Rvcih0LG4pe3RoaXMubGluZVJhbmdlTWFwcGluZz10LHRoaXMuY2hhbmdlcz1ufX1jbGFzcyB6e3N0YXRpYyBhZGRSYW5nZSh0LG4pe2xldCByPTA7Zm9yKDtyPG4ubGVuZ3RoJiZuW3JdLmVuZEV4Y2x1c2l2ZTx0LnN0YXJ0OylyKys7bGV0IGk9cjtmb3IoO2k8bi5sZW5ndGgmJm5baV0uc3RhcnQ8PXQuZW5kRXhjbHVzaXZlOylpKys7aWYocj09PWkpbi5zcGxpY2UociwwLHQpO2Vsc2V7Y29uc3Qgcz1NYXRoLm1pbih0LnN0YXJ0LG5bcl0uc3RhcnQpLGE9TWF0aC5tYXgodC5lbmRFeGNsdXNpdmUsbltpLTFdLmVuZEV4Y2x1c2l2ZSk7bi5zcGxpY2UocixpLXIsbmV3IHoocyxhKSl9fXN0YXRpYyB0cnlDcmVhdGUodCxuKXtpZighKHQ+bikpcmV0dXJuIG5ldyB6KHQsbil9c3RhdGljIG9mTGVuZ3RoKHQpe3JldHVybiBuZXcgeigwLHQpfXN0YXRpYyBvZlN0YXJ0QW5kTGVuZ3RoKHQsbil7cmV0dXJuIG5ldyB6KHQsdCtuKX1jb25zdHJ1Y3Rvcih0LG4pe2lmKHRoaXMuc3RhcnQ9dCx0aGlzLmVuZEV4Y2x1c2l2ZT1uLHQ+bil0aHJvdyBuZXcgVWUoYEludmFsaWQgcmFuZ2U6ICR7dGhpcy50b1N0cmluZygpfWApfWdldCBpc0VtcHR5KCl7cmV0dXJuIHRoaXMuc3RhcnQ9PT10aGlzLmVuZEV4Y2x1c2l2ZX1kZWx0YSh0KXtyZXR1cm4gbmV3IHoodGhpcy5zdGFydCt0LHRoaXMuZW5kRXhjbHVzaXZlK3QpfWRlbHRhU3RhcnQodCl7cmV0dXJuIG5ldyB6KHRoaXMuc3RhcnQrdCx0aGlzLmVuZEV4Y2x1c2l2ZSl9ZGVsdGFFbmQodCl7cmV0dXJuIG5ldyB6KHRoaXMuc3RhcnQsdGhpcy5lbmRFeGNsdXNpdmUrdCl9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLmVuZEV4Y2x1c2l2ZS10aGlzLnN0YXJ0fXRvU3RyaW5nKCl7cmV0dXJuYFske3RoaXMuc3RhcnR9LCAke3RoaXMuZW5kRXhjbHVzaXZlfSlgfWNvbnRhaW5zKHQpe3JldHVybiB0aGlzLnN0YXJ0PD10JiZ0PHRoaXMuZW5kRXhjbHVzaXZlfWpvaW4odCl7cmV0dXJuIG5ldyB6KE1hdGgubWluKHRoaXMuc3RhcnQsdC5zdGFydCksTWF0aC5tYXgodGhpcy5lbmRFeGNsdXNpdmUsdC5lbmRFeGNsdXNpdmUpKX1pbnRlcnNlY3QodCl7Y29uc3Qgbj1NYXRoLm1heCh0aGlzLnN0YXJ0LHQuc3RhcnQpLHI9TWF0aC5taW4odGhpcy5lbmRFeGNsdXNpdmUsdC5lbmRFeGNsdXNpdmUpO2lmKG48PXIpcmV0dXJuIG5ldyB6KG4scil9aW50ZXJzZWN0cyh0KXtjb25zdCBuPU1hdGgubWF4KHRoaXMuc3RhcnQsdC5zdGFydCkscj1NYXRoLm1pbih0aGlzLmVuZEV4Y2x1c2l2ZSx0LmVuZEV4Y2x1c2l2ZSk7cmV0dXJuIG48cn1pc0JlZm9yZSh0KXtyZXR1cm4gdGhpcy5lbmRFeGNsdXNpdmU8PXQuc3RhcnR9aXNBZnRlcih0KXtyZXR1cm4gdGhpcy5zdGFydD49dC5lbmRFeGNsdXNpdmV9c2xpY2UodCl7cmV0dXJuIHQuc2xpY2UodGhpcy5zdGFydCx0aGlzLmVuZEV4Y2x1c2l2ZSl9c3Vic3RyaW5nKHQpe3JldHVybiB0LnN1YnN0cmluZyh0aGlzLnN0YXJ0LHRoaXMuZW5kRXhjbHVzaXZlKX1jbGlwKHQpe2lmKHRoaXMuaXNFbXB0eSl0aHJvdyBuZXcgVWUoYEludmFsaWQgY2xpcHBpbmcgcmFuZ2U6ICR7dGhpcy50b1N0cmluZygpfWApO3JldHVybiBNYXRoLm1heCh0aGlzLnN0YXJ0LE1hdGgubWluKHRoaXMuZW5kRXhjbHVzaXZlLTEsdCkpfWNsaXBDeWNsaWModCl7aWYodGhpcy5pc0VtcHR5KXRocm93IG5ldyBVZShgSW52YWxpZCBjbGlwcGluZyByYW5nZTogJHt0aGlzLnRvU3RyaW5nKCl9YCk7cmV0dXJuIHQ8dGhpcy5zdGFydD90aGlzLmVuZEV4Y2x1c2l2ZS0odGhpcy5zdGFydC10KSV0aGlzLmxlbmd0aDp0Pj10aGlzLmVuZEV4Y2x1c2l2ZT90aGlzLnN0YXJ0Kyh0LXRoaXMuc3RhcnQpJXRoaXMubGVuZ3RoOnR9Zm9yRWFjaCh0KXtmb3IobGV0IG49dGhpcy5zdGFydDtuPHRoaXMuZW5kRXhjbHVzaXZlO24rKyl0KG4pfX1mdW5jdGlvbiBfdChlLHQpe2NvbnN0IG49UHQoZSx0KTtyZXR1cm4gbj09PS0xP3ZvaWQgMDplW25dfWZ1bmN0aW9uIFB0KGUsdCxuPTAscj1lLmxlbmd0aCl7bGV0IGk9bixzPXI7Zm9yKDtpPHM7KXtjb25zdCBhPU1hdGguZmxvb3IoKGkrcykvMik7dChlW2FdKT9pPWErMTpzPWF9cmV0dXJuIGktMX1mdW5jdGlvbiBTbChlLHQpe2NvbnN0IG49bnIoZSx0KTtyZXR1cm4gbj09PWUubGVuZ3RoP3ZvaWQgMDplW25dfWZ1bmN0aW9uIG5yKGUsdCxuPTAscj1lLmxlbmd0aCl7bGV0IGk9bixzPXI7Zm9yKDtpPHM7KXtjb25zdCBhPU1hdGguZmxvb3IoKGkrcykvMik7dChlW2FdKT9zPWE6aT1hKzF9cmV0dXJuIGl9Y2xhc3MgSXR7Y29uc3RydWN0b3IodCl7dGhpcy5fYXJyYXk9dCx0aGlzLl9maW5kTGFzdE1vbm90b25vdXNMYXN0SWR4PTB9ZmluZExhc3RNb25vdG9ub3VzKHQpe2lmKEl0LmFzc2VydEludmFyaWFudHMpe2lmKHRoaXMuX3ByZXZGaW5kTGFzdFByZWRpY2F0ZSl7Zm9yKGNvbnN0IHIgb2YgdGhpcy5fYXJyYXkpaWYodGhpcy5fcHJldkZpbmRMYXN0UHJlZGljYXRlKHIpJiYhdChyKSl0aHJvdyBuZXcgRXJyb3IoIk1vbm90b25vdXNBcnJheTogY3VycmVudCBwcmVkaWNhdGUgbXVzdCBiZSB3ZWFrZXIgdGhhbiAob3IgZXF1YWwgdG8pIHRoZSBwcmV2aW91cyBwcmVkaWNhdGUuIil9dGhpcy5fcHJldkZpbmRMYXN0UHJlZGljYXRlPXR9Y29uc3Qgbj1QdCh0aGlzLl9hcnJheSx0LHRoaXMuX2ZpbmRMYXN0TW9ub3Rvbm91c0xhc3RJZHgpO3JldHVybiB0aGlzLl9maW5kTGFzdE1vbm90b25vdXNMYXN0SWR4PW4rMSxuPT09LTE/dm9pZCAwOnRoaXMuX2FycmF5W25dfX1JdC5hc3NlcnRJbnZhcmlhbnRzPSExO2NsYXNzIFd7c3RhdGljIGZyb21SYW5nZUluY2x1c2l2ZSh0KXtyZXR1cm4gbmV3IFcodC5zdGFydExpbmVOdW1iZXIsdC5lbmRMaW5lTnVtYmVyKzEpfXN0YXRpYyBqb2luTWFueSh0KXtpZih0Lmxlbmd0aD09PTApcmV0dXJuW107bGV0IG49bmV3IEllKHRbMF0uc2xpY2UoKSk7Zm9yKGxldCByPTE7cjx0Lmxlbmd0aDtyKyspbj1uLmdldFVuaW9uKG5ldyBJZSh0W3JdLnNsaWNlKCkpKTtyZXR1cm4gbi5yYW5nZXN9c3RhdGljIGpvaW4odCl7aWYodC5sZW5ndGg9PT0wKXRocm93IG5ldyBVZSgibGluZVJhbmdlcyBjYW5ub3QgYmUgZW1wdHkiKTtsZXQgbj10WzBdLnN0YXJ0TGluZU51bWJlcixyPXRbMF0uZW5kTGluZU51bWJlckV4Y2x1c2l2ZTtmb3IobGV0IGk9MTtpPHQubGVuZ3RoO2krKyluPU1hdGgubWluKG4sdFtpXS5zdGFydExpbmVOdW1iZXIpLHI9TWF0aC5tYXgocix0W2ldLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUpO3JldHVybiBuZXcgVyhuLHIpfXN0YXRpYyBvZkxlbmd0aCh0LG4pe3JldHVybiBuZXcgVyh0LHQrbil9c3RhdGljIGRlc2VyaWFsaXplKHQpe3JldHVybiBuZXcgVyh0WzBdLHRbMV0pfWNvbnN0cnVjdG9yKHQsbil7aWYodD5uKXRocm93IG5ldyBVZShgc3RhcnRMaW5lTnVtYmVyICR7dH0gY2Fubm90IGJlIGFmdGVyIGVuZExpbmVOdW1iZXJFeGNsdXNpdmUgJHtufWApO3RoaXMuc3RhcnRMaW5lTnVtYmVyPXQsdGhpcy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlPW59Y29udGFpbnModCl7cmV0dXJuIHRoaXMuc3RhcnRMaW5lTnVtYmVyPD10JiZ0PHRoaXMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZX1nZXQgaXNFbXB0eSgpe3JldHVybiB0aGlzLnN0YXJ0TGluZU51bWJlcj09PXRoaXMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZX1kZWx0YSh0KXtyZXR1cm4gbmV3IFcodGhpcy5zdGFydExpbmVOdW1iZXIrdCx0aGlzLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUrdCl9ZGVsdGFMZW5ndGgodCl7cmV0dXJuIG5ldyBXKHRoaXMuc3RhcnRMaW5lTnVtYmVyLHRoaXMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSt0KX1nZXQgbGVuZ3RoKCl7cmV0dXJuIHRoaXMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZS10aGlzLnN0YXJ0TGluZU51bWJlcn1qb2luKHQpe3JldHVybiBuZXcgVyhNYXRoLm1pbih0aGlzLnN0YXJ0TGluZU51bWJlcix0LnN0YXJ0TGluZU51bWJlciksTWF0aC5tYXgodGhpcy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLHQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSkpfXRvU3RyaW5nKCl7cmV0dXJuYFske3RoaXMuc3RhcnRMaW5lTnVtYmVyfSwke3RoaXMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZX0pYH1pbnRlcnNlY3QodCl7Y29uc3Qgbj1NYXRoLm1heCh0aGlzLnN0YXJ0TGluZU51bWJlcix0LnN0YXJ0TGluZU51bWJlcikscj1NYXRoLm1pbih0aGlzLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUsdC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlKTtpZihuPD1yKXJldHVybiBuZXcgVyhuLHIpfWludGVyc2VjdHNTdHJpY3QodCl7cmV0dXJuIHRoaXMuc3RhcnRMaW5lTnVtYmVyPHQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSYmdC5zdGFydExpbmVOdW1iZXI8dGhpcy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlfW92ZXJsYXBPclRvdWNoKHQpe3JldHVybiB0aGlzLnN0YXJ0TGluZU51bWJlcjw9dC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlJiZ0LnN0YXJ0TGluZU51bWJlcjw9dGhpcy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlfWVxdWFscyh0KXtyZXR1cm4gdGhpcy5zdGFydExpbmVOdW1iZXI9PT10LnN0YXJ0TGluZU51bWJlciYmdGhpcy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlPT09dC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlfXRvSW5jbHVzaXZlUmFuZ2UoKXtyZXR1cm4gdGhpcy5pc0VtcHR5P251bGw6bmV3IHNlKHRoaXMuc3RhcnRMaW5lTnVtYmVyLDEsdGhpcy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLTEsTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpfXRvRXhjbHVzaXZlUmFuZ2UoKXtyZXR1cm4gbmV3IHNlKHRoaXMuc3RhcnRMaW5lTnVtYmVyLDEsdGhpcy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLDEpfW1hcFRvTGluZUFycmF5KHQpe2NvbnN0IG49W107Zm9yKGxldCByPXRoaXMuc3RhcnRMaW5lTnVtYmVyO3I8dGhpcy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlO3IrKyluLnB1c2godChyKSk7cmV0dXJuIG59Zm9yRWFjaCh0KXtmb3IobGV0IG49dGhpcy5zdGFydExpbmVOdW1iZXI7bjx0aGlzLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU7bisrKXQobil9c2VyaWFsaXplKCl7cmV0dXJuW3RoaXMuc3RhcnRMaW5lTnVtYmVyLHRoaXMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZV19aW5jbHVkZXModCl7cmV0dXJuIHRoaXMuc3RhcnRMaW5lTnVtYmVyPD10JiZ0PHRoaXMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZX10b09mZnNldFJhbmdlKCl7cmV0dXJuIG5ldyB6KHRoaXMuc3RhcnRMaW5lTnVtYmVyLTEsdGhpcy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLTEpfX1jbGFzcyBJZXtjb25zdHJ1Y3Rvcih0PVtdKXt0aGlzLl9ub3JtYWxpemVkUmFuZ2VzPXR9Z2V0IHJhbmdlcygpe3JldHVybiB0aGlzLl9ub3JtYWxpemVkUmFuZ2VzfWFkZFJhbmdlKHQpe2lmKHQubGVuZ3RoPT09MClyZXR1cm47Y29uc3Qgbj1ucih0aGlzLl9ub3JtYWxpemVkUmFuZ2VzLGk9PmkuZW5kTGluZU51bWJlckV4Y2x1c2l2ZT49dC5zdGFydExpbmVOdW1iZXIpLHI9UHQodGhpcy5fbm9ybWFsaXplZFJhbmdlcyxpPT5pLnN0YXJ0TGluZU51bWJlcjw9dC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlKSsxO2lmKG49PT1yKXRoaXMuX25vcm1hbGl6ZWRSYW5nZXMuc3BsaWNlKG4sMCx0KTtlbHNlIGlmKG49PT1yLTEpe2NvbnN0IGk9dGhpcy5fbm9ybWFsaXplZFJhbmdlc1tuXTt0aGlzLl9ub3JtYWxpemVkUmFuZ2VzW25dPWkuam9pbih0KX1lbHNle2NvbnN0IGk9dGhpcy5fbm9ybWFsaXplZFJhbmdlc1tuXS5qb2luKHRoaXMuX25vcm1hbGl6ZWRSYW5nZXNbci0xXSkuam9pbih0KTt0aGlzLl9ub3JtYWxpemVkUmFuZ2VzLnNwbGljZShuLHItbixpKX19Y29udGFpbnModCl7Y29uc3Qgbj1fdCh0aGlzLl9ub3JtYWxpemVkUmFuZ2VzLHI9PnIuc3RhcnRMaW5lTnVtYmVyPD10KTtyZXR1cm4hIW4mJm4uZW5kTGluZU51bWJlckV4Y2x1c2l2ZT50fWludGVyc2VjdHModCl7Y29uc3Qgbj1fdCh0aGlzLl9ub3JtYWxpemVkUmFuZ2VzLHI9PnIuc3RhcnRMaW5lTnVtYmVyPHQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSk7cmV0dXJuISFuJiZuLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU+dC5zdGFydExpbmVOdW1iZXJ9Z2V0VW5pb24odCl7aWYodGhpcy5fbm9ybWFsaXplZFJhbmdlcy5sZW5ndGg9PT0wKXJldHVybiB0O2lmKHQuX25vcm1hbGl6ZWRSYW5nZXMubGVuZ3RoPT09MClyZXR1cm4gdGhpcztjb25zdCBuPVtdO2xldCByPTAsaT0wLHM9bnVsbDtmb3IoO3I8dGhpcy5fbm9ybWFsaXplZFJhbmdlcy5sZW5ndGh8fGk8dC5fbm9ybWFsaXplZFJhbmdlcy5sZW5ndGg7KXtsZXQgYT1udWxsO2lmKHI8dGhpcy5fbm9ybWFsaXplZFJhbmdlcy5sZW5ndGgmJmk8dC5fbm9ybWFsaXplZFJhbmdlcy5sZW5ndGgpe2NvbnN0IG89dGhpcy5fbm9ybWFsaXplZFJhbmdlc1tyXSxsPXQuX25vcm1hbGl6ZWRSYW5nZXNbaV07by5zdGFydExpbmVOdW1iZXI8bC5zdGFydExpbmVOdW1iZXI/KGE9byxyKyspOihhPWwsaSsrKX1lbHNlIHI8dGhpcy5fbm9ybWFsaXplZFJhbmdlcy5sZW5ndGg/KGE9dGhpcy5fbm9ybWFsaXplZFJhbmdlc1tyXSxyKyspOihhPXQuX25vcm1hbGl6ZWRSYW5nZXNbaV0saSsrKTtzPT09bnVsbD9zPWE6cy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlPj1hLnN0YXJ0TGluZU51bWJlcj9zPW5ldyBXKHMuc3RhcnRMaW5lTnVtYmVyLE1hdGgubWF4KHMuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSxhLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUpKToobi5wdXNoKHMpLHM9YSl9cmV0dXJuIHMhPT1udWxsJiZuLnB1c2gocyksbmV3IEllKG4pfXN1YnRyYWN0RnJvbSh0KXtjb25zdCBuPW5yKHRoaXMuX25vcm1hbGl6ZWRSYW5nZXMsYT0+YS5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlPj10LnN0YXJ0TGluZU51bWJlcikscj1QdCh0aGlzLl9ub3JtYWxpemVkUmFuZ2VzLGE9PmEuc3RhcnRMaW5lTnVtYmVyPD10LmVuZExpbmVOdW1iZXJFeGNsdXNpdmUpKzE7aWYobj09PXIpcmV0dXJuIG5ldyBJZShbdF0pO2NvbnN0IGk9W107bGV0IHM9dC5zdGFydExpbmVOdW1iZXI7Zm9yKGxldCBhPW47YTxyO2ErKyl7Y29uc3Qgbz10aGlzLl9ub3JtYWxpemVkUmFuZ2VzW2FdO28uc3RhcnRMaW5lTnVtYmVyPnMmJmkucHVzaChuZXcgVyhzLG8uc3RhcnRMaW5lTnVtYmVyKSkscz1vLmVuZExpbmVOdW1iZXJFeGNsdXNpdmV9cmV0dXJuIHM8dC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlJiZpLnB1c2gobmV3IFcocyx0LmVuZExpbmVOdW1iZXJFeGNsdXNpdmUpKSxuZXcgSWUoaSl9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5fbm9ybWFsaXplZFJhbmdlcy5tYXAodD0+dC50b1N0cmluZygpKS5qb2luKCIsICIpfWdldEludGVyc2VjdGlvbih0KXtjb25zdCBuPVtdO2xldCByPTAsaT0wO2Zvcig7cjx0aGlzLl9ub3JtYWxpemVkUmFuZ2VzLmxlbmd0aCYmaTx0Ll9ub3JtYWxpemVkUmFuZ2VzLmxlbmd0aDspe2NvbnN0IHM9dGhpcy5fbm9ybWFsaXplZFJhbmdlc1tyXSxhPXQuX25vcm1hbGl6ZWRSYW5nZXNbaV0sbz1zLmludGVyc2VjdChhKTtvJiYhby5pc0VtcHR5JiZuLnB1c2gobykscy5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlPGEuZW5kTGluZU51bWJlckV4Y2x1c2l2ZT9yKys6aSsrfXJldHVybiBuZXcgSWUobil9Z2V0V2l0aERlbHRhKHQpe3JldHVybiBuZXcgSWUodGhpcy5fbm9ybWFsaXplZFJhbmdlcy5tYXAobj0+bi5kZWx0YSh0KSkpfX1jbGFzcyBrZXtzdGF0aWMgaW52ZXJzZSh0LG4scil7Y29uc3QgaT1bXTtsZXQgcz0xLGE9MTtmb3IoY29uc3QgbCBvZiB0KXtjb25zdCB1PW5ldyBrZShuZXcgVyhzLGwub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyKSxuZXcgVyhhLGwubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyKSk7dS5tb2RpZmllZC5pc0VtcHR5fHxpLnB1c2godSkscz1sLm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUsYT1sLm1vZGlmaWVkLmVuZExpbmVOdW1iZXJFeGNsdXNpdmV9Y29uc3Qgbz1uZXcga2UobmV3IFcocyxuKzEpLG5ldyBXKGEscisxKSk7cmV0dXJuIG8ubW9kaWZpZWQuaXNFbXB0eXx8aS5wdXNoKG8pLGl9c3RhdGljIGNsaXAodCxuLHIpe2NvbnN0IGk9W107Zm9yKGNvbnN0IHMgb2YgdCl7Y29uc3QgYT1zLm9yaWdpbmFsLmludGVyc2VjdChuKSxvPXMubW9kaWZpZWQuaW50ZXJzZWN0KHIpO2EmJiFhLmlzRW1wdHkmJm8mJiFvLmlzRW1wdHkmJmkucHVzaChuZXcga2UoYSxvKSl9cmV0dXJuIGl9Y29uc3RydWN0b3IodCxuKXt0aGlzLm9yaWdpbmFsPXQsdGhpcy5tb2RpZmllZD1ufXRvU3RyaW5nKCl7cmV0dXJuYHske3RoaXMub3JpZ2luYWwudG9TdHJpbmcoKX0tPiR7dGhpcy5tb2RpZmllZC50b1N0cmluZygpfX1gfWZsaXAoKXtyZXR1cm4gbmV3IGtlKHRoaXMubW9kaWZpZWQsdGhpcy5vcmlnaW5hbCl9am9pbih0KXtyZXR1cm4gbmV3IGtlKHRoaXMub3JpZ2luYWwuam9pbih0Lm9yaWdpbmFsKSx0aGlzLm1vZGlmaWVkLmpvaW4odC5tb2RpZmllZCkpfX1jbGFzcyBCZSBleHRlbmRzIGtle3N0YXRpYyBmcm9tUmFuZ2VNYXBwaW5ncyh0KXtjb25zdCBuPVcuam9pbih0Lm1hcChpPT5XLmZyb21SYW5nZUluY2x1c2l2ZShpLm9yaWdpbmFsUmFuZ2UpKSkscj1XLmpvaW4odC5tYXAoaT0+Vy5mcm9tUmFuZ2VJbmNsdXNpdmUoaS5tb2RpZmllZFJhbmdlKSkpO3JldHVybiBuZXcgQmUobixyLHQpfWNvbnN0cnVjdG9yKHQsbixyKXtzdXBlcih0LG4pLHRoaXMuaW5uZXJDaGFuZ2VzPXJ9ZmxpcCgpe3ZhciB0O3JldHVybiBuZXcgQmUodGhpcy5tb2RpZmllZCx0aGlzLm9yaWdpbmFsLCh0PXRoaXMuaW5uZXJDaGFuZ2VzKT09PW51bGx8fHQ9PT12b2lkIDA/dm9pZCAwOnQubWFwKG49Pm4uZmxpcCgpKSl9d2l0aElubmVyQ2hhbmdlc0Zyb21MaW5lUmFuZ2VzKCl7cmV0dXJuIG5ldyBCZSh0aGlzLm9yaWdpbmFsLHRoaXMubW9kaWZpZWQsW25ldyB4dCh0aGlzLm9yaWdpbmFsLnRvRXhjbHVzaXZlUmFuZ2UoKSx0aGlzLm1vZGlmaWVkLnRvRXhjbHVzaXZlUmFuZ2UoKSldKX19Y2xhc3MgeHR7Y29uc3RydWN0b3IodCxuKXt0aGlzLm9yaWdpbmFsUmFuZ2U9dCx0aGlzLm1vZGlmaWVkUmFuZ2U9bn10b1N0cmluZygpe3JldHVybmB7JHt0aGlzLm9yaWdpbmFsUmFuZ2UudG9TdHJpbmcoKX0tPiR7dGhpcy5tb2RpZmllZFJhbmdlLnRvU3RyaW5nKCl9fWB9ZmxpcCgpe3JldHVybiBuZXcgeHQodGhpcy5tb2RpZmllZFJhbmdlLHRoaXMub3JpZ2luYWxSYW5nZSl9fWNvbnN0IExsPTM7Y2xhc3MgQWx7Y29tcHV0ZURpZmYodCxuLHIpe3ZhciBpO2NvbnN0IGE9bmV3IGtsKHQsbix7bWF4Q29tcHV0YXRpb25UaW1lOnIubWF4Q29tcHV0YXRpb25UaW1lTXMsc2hvdWxkSWdub3JlVHJpbVdoaXRlc3BhY2U6ci5pZ25vcmVUcmltV2hpdGVzcGFjZSxzaG91bGRDb21wdXRlQ2hhckNoYW5nZXM6ITAsc2hvdWxkTWFrZVByZXR0eURpZmY6ITAsc2hvdWxkUG9zdFByb2Nlc3NDaGFyQ2hhbmdlczohMH0pLmNvbXB1dGVEaWZmKCksbz1bXTtsZXQgbD1udWxsO2Zvcihjb25zdCB1IG9mIGEuY2hhbmdlcyl7bGV0IGY7dS5vcmlnaW5hbEVuZExpbmVOdW1iZXI9PT0wP2Y9bmV3IFcodS5vcmlnaW5hbFN0YXJ0TGluZU51bWJlcisxLHUub3JpZ2luYWxTdGFydExpbmVOdW1iZXIrMSk6Zj1uZXcgVyh1Lm9yaWdpbmFsU3RhcnRMaW5lTnVtYmVyLHUub3JpZ2luYWxFbmRMaW5lTnVtYmVyKzEpO2xldCBoO3UubW9kaWZpZWRFbmRMaW5lTnVtYmVyPT09MD9oPW5ldyBXKHUubW9kaWZpZWRTdGFydExpbmVOdW1iZXIrMSx1Lm1vZGlmaWVkU3RhcnRMaW5lTnVtYmVyKzEpOmg9bmV3IFcodS5tb2RpZmllZFN0YXJ0TGluZU51bWJlcix1Lm1vZGlmaWVkRW5kTGluZU51bWJlcisxKTtsZXQgZD1uZXcgQmUoZixoLChpPXUuY2hhckNoYW5nZXMpPT09bnVsbHx8aT09PXZvaWQgMD92b2lkIDA6aS5tYXAoZz0+bmV3IHh0KG5ldyBzZShnLm9yaWdpbmFsU3RhcnRMaW5lTnVtYmVyLGcub3JpZ2luYWxTdGFydENvbHVtbixnLm9yaWdpbmFsRW5kTGluZU51bWJlcixnLm9yaWdpbmFsRW5kQ29sdW1uKSxuZXcgc2UoZy5tb2RpZmllZFN0YXJ0TGluZU51bWJlcixnLm1vZGlmaWVkU3RhcnRDb2x1bW4sZy5tb2RpZmllZEVuZExpbmVOdW1iZXIsZy5tb2RpZmllZEVuZENvbHVtbikpKSk7bCYmKGwubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZT09PWQubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyfHxsLm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU9PT1kLm9yaWdpbmFsLnN0YXJ0TGluZU51bWJlcikmJihkPW5ldyBCZShsLm9yaWdpbmFsLmpvaW4oZC5vcmlnaW5hbCksbC5tb2RpZmllZC5qb2luKGQubW9kaWZpZWQpLGwuaW5uZXJDaGFuZ2VzJiZkLmlubmVyQ2hhbmdlcz9sLmlubmVyQ2hhbmdlcy5jb25jYXQoZC5pbm5lckNoYW5nZXMpOnZvaWQgMCksby5wb3AoKSksby5wdXNoKGQpLGw9ZH1yZXR1cm4gY24oKCk9PmNzKG8sKHUsZik9PmYub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyLXUub3JpZ2luYWwuZW5kTGluZU51bWJlckV4Y2x1c2l2ZT09PWYubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyLXUubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSYmdS5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlPGYub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyJiZ1Lm1vZGlmaWVkLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU8Zi5tb2RpZmllZC5zdGFydExpbmVOdW1iZXIpKSxuZXcgZm4obyxbXSxhLnF1aXRFYXJseSl9fWZ1bmN0aW9uIGRzKGUsdCxuLHIpe3JldHVybiBuZXcgR2UoZSx0LG4pLkNvbXB1dGVEaWZmKHIpfWxldCBncz1jbGFzc3tjb25zdHJ1Y3Rvcih0KXtjb25zdCBuPVtdLHI9W107Zm9yKGxldCBpPTAscz10Lmxlbmd0aDtpPHM7aSsrKW5baV09cnIodFtpXSwxKSxyW2ldPWlyKHRbaV0sMSk7dGhpcy5saW5lcz10LHRoaXMuX3N0YXJ0Q29sdW1ucz1uLHRoaXMuX2VuZENvbHVtbnM9cn1nZXRFbGVtZW50cygpe2NvbnN0IHQ9W107Zm9yKGxldCBuPTAscj10aGlzLmxpbmVzLmxlbmd0aDtuPHI7bisrKXRbbl09dGhpcy5saW5lc1tuXS5zdWJzdHJpbmcodGhpcy5fc3RhcnRDb2x1bW5zW25dLTEsdGhpcy5fZW5kQ29sdW1uc1tuXS0xKTtyZXR1cm4gdH1nZXRTdHJpY3RFbGVtZW50KHQpe3JldHVybiB0aGlzLmxpbmVzW3RdfWdldFN0YXJ0TGluZU51bWJlcih0KXtyZXR1cm4gdCsxfWdldEVuZExpbmVOdW1iZXIodCl7cmV0dXJuIHQrMX1jcmVhdGVDaGFyU2VxdWVuY2UodCxuLHIpe2NvbnN0IGk9W10scz1bXSxhPVtdO2xldCBvPTA7Zm9yKGxldCBsPW47bDw9cjtsKyspe2NvbnN0IHU9dGhpcy5saW5lc1tsXSxmPXQ/dGhpcy5fc3RhcnRDb2x1bW5zW2xdOjEsaD10P3RoaXMuX2VuZENvbHVtbnNbbF06dS5sZW5ndGgrMTtmb3IobGV0IGQ9ZjtkPGg7ZCsrKWlbb109dS5jaGFyQ29kZUF0KGQtMSksc1tvXT1sKzEsYVtvXT1kLG8rKzshdCYmbDxyJiYoaVtvXT0xMCxzW29dPWwrMSxhW29dPXUubGVuZ3RoKzEsbysrKX1yZXR1cm4gbmV3IENsKGkscyxhKX19O2NsYXNzIENse2NvbnN0cnVjdG9yKHQsbixyKXt0aGlzLl9jaGFyQ29kZXM9dCx0aGlzLl9saW5lTnVtYmVycz1uLHRoaXMuX2NvbHVtbnM9cn10b1N0cmluZygpe3JldHVybiJbIit0aGlzLl9jaGFyQ29kZXMubWFwKCh0LG4pPT4odD09PTEwPyJcXG4iOlN0cmluZy5mcm9tQ2hhckNvZGUodCkpK2AtKCR7dGhpcy5fbGluZU51bWJlcnNbbl19LCR7dGhpcy5fY29sdW1uc1tuXX0pYCkuam9pbigiLCAiKSsiXSJ9X2Fzc2VydEluZGV4KHQsbil7aWYodDwwfHx0Pj1uLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIklsbGVnYWwgaW5kZXgiKX1nZXRFbGVtZW50cygpe3JldHVybiB0aGlzLl9jaGFyQ29kZXN9Z2V0U3RhcnRMaW5lTnVtYmVyKHQpe3JldHVybiB0PjAmJnQ9PT10aGlzLl9saW5lTnVtYmVycy5sZW5ndGg/dGhpcy5nZXRFbmRMaW5lTnVtYmVyKHQtMSk6KHRoaXMuX2Fzc2VydEluZGV4KHQsdGhpcy5fbGluZU51bWJlcnMpLHRoaXMuX2xpbmVOdW1iZXJzW3RdKX1nZXRFbmRMaW5lTnVtYmVyKHQpe3JldHVybiB0PT09LTE/dGhpcy5nZXRTdGFydExpbmVOdW1iZXIodCsxKToodGhpcy5fYXNzZXJ0SW5kZXgodCx0aGlzLl9saW5lTnVtYmVycyksdGhpcy5fY2hhckNvZGVzW3RdPT09MTA/dGhpcy5fbGluZU51bWJlcnNbdF0rMTp0aGlzLl9saW5lTnVtYmVyc1t0XSl9Z2V0U3RhcnRDb2x1bW4odCl7cmV0dXJuIHQ+MCYmdD09PXRoaXMuX2NvbHVtbnMubGVuZ3RoP3RoaXMuZ2V0RW5kQ29sdW1uKHQtMSk6KHRoaXMuX2Fzc2VydEluZGV4KHQsdGhpcy5fY29sdW1ucyksdGhpcy5fY29sdW1uc1t0XSl9Z2V0RW5kQ29sdW1uKHQpe3JldHVybiB0PT09LTE/dGhpcy5nZXRTdGFydENvbHVtbih0KzEpOih0aGlzLl9hc3NlcnRJbmRleCh0LHRoaXMuX2NvbHVtbnMpLHRoaXMuX2NoYXJDb2Rlc1t0XT09PTEwPzE6dGhpcy5fY29sdW1uc1t0XSsxKX19Y2xhc3MgeXR7Y29uc3RydWN0b3IodCxuLHIsaSxzLGEsbyxsKXt0aGlzLm9yaWdpbmFsU3RhcnRMaW5lTnVtYmVyPXQsdGhpcy5vcmlnaW5hbFN0YXJ0Q29sdW1uPW4sdGhpcy5vcmlnaW5hbEVuZExpbmVOdW1iZXI9cix0aGlzLm9yaWdpbmFsRW5kQ29sdW1uPWksdGhpcy5tb2RpZmllZFN0YXJ0TGluZU51bWJlcj1zLHRoaXMubW9kaWZpZWRTdGFydENvbHVtbj1hLHRoaXMubW9kaWZpZWRFbmRMaW5lTnVtYmVyPW8sdGhpcy5tb2RpZmllZEVuZENvbHVtbj1sfXN0YXRpYyBjcmVhdGVGcm9tRGlmZkNoYW5nZSh0LG4scil7Y29uc3QgaT1uLmdldFN0YXJ0TGluZU51bWJlcih0Lm9yaWdpbmFsU3RhcnQpLHM9bi5nZXRTdGFydENvbHVtbih0Lm9yaWdpbmFsU3RhcnQpLGE9bi5nZXRFbmRMaW5lTnVtYmVyKHQub3JpZ2luYWxTdGFydCt0Lm9yaWdpbmFsTGVuZ3RoLTEpLG89bi5nZXRFbmRDb2x1bW4odC5vcmlnaW5hbFN0YXJ0K3Qub3JpZ2luYWxMZW5ndGgtMSksbD1yLmdldFN0YXJ0TGluZU51bWJlcih0Lm1vZGlmaWVkU3RhcnQpLHU9ci5nZXRTdGFydENvbHVtbih0Lm1vZGlmaWVkU3RhcnQpLGY9ci5nZXRFbmRMaW5lTnVtYmVyKHQubW9kaWZpZWRTdGFydCt0Lm1vZGlmaWVkTGVuZ3RoLTEpLGg9ci5nZXRFbmRDb2x1bW4odC5tb2RpZmllZFN0YXJ0K3QubW9kaWZpZWRMZW5ndGgtMSk7cmV0dXJuIG5ldyB5dChpLHMsYSxvLGwsdSxmLGgpfX1mdW5jdGlvbiBFbChlKXtpZihlLmxlbmd0aDw9MSlyZXR1cm4gZTtjb25zdCB0PVtlWzBdXTtsZXQgbj10WzBdO2ZvcihsZXQgcj0xLGk9ZS5sZW5ndGg7cjxpO3IrKyl7Y29uc3Qgcz1lW3JdLGE9cy5vcmlnaW5hbFN0YXJ0LShuLm9yaWdpbmFsU3RhcnQrbi5vcmlnaW5hbExlbmd0aCksbz1zLm1vZGlmaWVkU3RhcnQtKG4ubW9kaWZpZWRTdGFydCtuLm1vZGlmaWVkTGVuZ3RoKTtNYXRoLm1pbihhLG8pPExsPyhuLm9yaWdpbmFsTGVuZ3RoPXMub3JpZ2luYWxTdGFydCtzLm9yaWdpbmFsTGVuZ3RoLW4ub3JpZ2luYWxTdGFydCxuLm1vZGlmaWVkTGVuZ3RoPXMubW9kaWZpZWRTdGFydCtzLm1vZGlmaWVkTGVuZ3RoLW4ubW9kaWZpZWRTdGFydCk6KHQucHVzaChzKSxuPXMpfXJldHVybiB0fWNsYXNzIEZ0e2NvbnN0cnVjdG9yKHQsbixyLGkscyl7dGhpcy5vcmlnaW5hbFN0YXJ0TGluZU51bWJlcj10LHRoaXMub3JpZ2luYWxFbmRMaW5lTnVtYmVyPW4sdGhpcy5tb2RpZmllZFN0YXJ0TGluZU51bWJlcj1yLHRoaXMubW9kaWZpZWRFbmRMaW5lTnVtYmVyPWksdGhpcy5jaGFyQ2hhbmdlcz1zfXN0YXRpYyBjcmVhdGVGcm9tRGlmZlJlc3VsdCh0LG4scixpLHMsYSxvKXtsZXQgbCx1LGYsaCxkO2lmKG4ub3JpZ2luYWxMZW5ndGg9PT0wPyhsPXIuZ2V0U3RhcnRMaW5lTnVtYmVyKG4ub3JpZ2luYWxTdGFydCktMSx1PTApOihsPXIuZ2V0U3RhcnRMaW5lTnVtYmVyKG4ub3JpZ2luYWxTdGFydCksdT1yLmdldEVuZExpbmVOdW1iZXIobi5vcmlnaW5hbFN0YXJ0K24ub3JpZ2luYWxMZW5ndGgtMSkpLG4ubW9kaWZpZWRMZW5ndGg9PT0wPyhmPWkuZ2V0U3RhcnRMaW5lTnVtYmVyKG4ubW9kaWZpZWRTdGFydCktMSxoPTApOihmPWkuZ2V0U3RhcnRMaW5lTnVtYmVyKG4ubW9kaWZpZWRTdGFydCksaD1pLmdldEVuZExpbmVOdW1iZXIobi5tb2RpZmllZFN0YXJ0K24ubW9kaWZpZWRMZW5ndGgtMSkpLGEmJm4ub3JpZ2luYWxMZW5ndGg+MCYmbi5vcmlnaW5hbExlbmd0aDwyMCYmbi5tb2RpZmllZExlbmd0aD4wJiZuLm1vZGlmaWVkTGVuZ3RoPDIwJiZzKCkpe2NvbnN0IGc9ci5jcmVhdGVDaGFyU2VxdWVuY2UodCxuLm9yaWdpbmFsU3RhcnQsbi5vcmlnaW5hbFN0YXJ0K24ub3JpZ2luYWxMZW5ndGgtMSksbT1pLmNyZWF0ZUNoYXJTZXF1ZW5jZSh0LG4ubW9kaWZpZWRTdGFydCxuLm1vZGlmaWVkU3RhcnQrbi5tb2RpZmllZExlbmd0aC0xKTtpZihnLmdldEVsZW1lbnRzKCkubGVuZ3RoPjAmJm0uZ2V0RWxlbWVudHMoKS5sZW5ndGg+MCl7bGV0IHY9ZHMoZyxtLHMsITApLmNoYW5nZXM7byYmKHY9RWwodikpLGQ9W107Zm9yKGxldCBwPTAsXz12Lmxlbmd0aDtwPF87cCsrKWQucHVzaCh5dC5jcmVhdGVGcm9tRGlmZkNoYW5nZSh2W3BdLGcsbSkpfX1yZXR1cm4gbmV3IEZ0KGwsdSxmLGgsZCl9fWNsYXNzIGtse2NvbnN0cnVjdG9yKHQsbixyKXt0aGlzLnNob3VsZENvbXB1dGVDaGFyQ2hhbmdlcz1yLnNob3VsZENvbXB1dGVDaGFyQ2hhbmdlcyx0aGlzLnNob3VsZFBvc3RQcm9jZXNzQ2hhckNoYW5nZXM9ci5zaG91bGRQb3N0UHJvY2Vzc0NoYXJDaGFuZ2VzLHRoaXMuc2hvdWxkSWdub3JlVHJpbVdoaXRlc3BhY2U9ci5zaG91bGRJZ25vcmVUcmltV2hpdGVzcGFjZSx0aGlzLnNob3VsZE1ha2VQcmV0dHlEaWZmPXIuc2hvdWxkTWFrZVByZXR0eURpZmYsdGhpcy5vcmlnaW5hbExpbmVzPXQsdGhpcy5tb2RpZmllZExpbmVzPW4sdGhpcy5vcmlnaW5hbD1uZXcgZ3ModCksdGhpcy5tb2RpZmllZD1uZXcgZ3MobiksdGhpcy5jb250aW51ZUxpbmVEaWZmPW1zKHIubWF4Q29tcHV0YXRpb25UaW1lKSx0aGlzLmNvbnRpbnVlQ2hhckRpZmY9bXMoci5tYXhDb21wdXRhdGlvblRpbWU9PT0wPzA6TWF0aC5taW4oci5tYXhDb21wdXRhdGlvblRpbWUsNWUzKSl9Y29tcHV0ZURpZmYoKXtpZih0aGlzLm9yaWdpbmFsLmxpbmVzLmxlbmd0aD09PTEmJnRoaXMub3JpZ2luYWwubGluZXNbMF0ubGVuZ3RoPT09MClyZXR1cm4gdGhpcy5tb2RpZmllZC5saW5lcy5sZW5ndGg9PT0xJiZ0aGlzLm1vZGlmaWVkLmxpbmVzWzBdLmxlbmd0aD09PTA/e3F1aXRFYXJseTohMSxjaGFuZ2VzOltdfTp7cXVpdEVhcmx5OiExLGNoYW5nZXM6W3tvcmlnaW5hbFN0YXJ0TGluZU51bWJlcjoxLG9yaWdpbmFsRW5kTGluZU51bWJlcjoxLG1vZGlmaWVkU3RhcnRMaW5lTnVtYmVyOjEsbW9kaWZpZWRFbmRMaW5lTnVtYmVyOnRoaXMubW9kaWZpZWQubGluZXMubGVuZ3RoLGNoYXJDaGFuZ2VzOnZvaWQgMH1dfTtpZih0aGlzLm1vZGlmaWVkLmxpbmVzLmxlbmd0aD09PTEmJnRoaXMubW9kaWZpZWQubGluZXNbMF0ubGVuZ3RoPT09MClyZXR1cm57cXVpdEVhcmx5OiExLGNoYW5nZXM6W3tvcmlnaW5hbFN0YXJ0TGluZU51bWJlcjoxLG9yaWdpbmFsRW5kTGluZU51bWJlcjp0aGlzLm9yaWdpbmFsLmxpbmVzLmxlbmd0aCxtb2RpZmllZFN0YXJ0TGluZU51bWJlcjoxLG1vZGlmaWVkRW5kTGluZU51bWJlcjoxLGNoYXJDaGFuZ2VzOnZvaWQgMH1dfTtjb25zdCB0PWRzKHRoaXMub3JpZ2luYWwsdGhpcy5tb2RpZmllZCx0aGlzLmNvbnRpbnVlTGluZURpZmYsdGhpcy5zaG91bGRNYWtlUHJldHR5RGlmZiksbj10LmNoYW5nZXMscj10LnF1aXRFYXJseTtpZih0aGlzLnNob3VsZElnbm9yZVRyaW1XaGl0ZXNwYWNlKXtjb25zdCBvPVtdO2ZvcihsZXQgbD0wLHU9bi5sZW5ndGg7bDx1O2wrKylvLnB1c2goRnQuY3JlYXRlRnJvbURpZmZSZXN1bHQodGhpcy5zaG91bGRJZ25vcmVUcmltV2hpdGVzcGFjZSxuW2xdLHRoaXMub3JpZ2luYWwsdGhpcy5tb2RpZmllZCx0aGlzLmNvbnRpbnVlQ2hhckRpZmYsdGhpcy5zaG91bGRDb21wdXRlQ2hhckNoYW5nZXMsdGhpcy5zaG91bGRQb3N0UHJvY2Vzc0NoYXJDaGFuZ2VzKSk7cmV0dXJue3F1aXRFYXJseTpyLGNoYW5nZXM6b319Y29uc3QgaT1bXTtsZXQgcz0wLGE9MDtmb3IobGV0IG89LTEsbD1uLmxlbmd0aDtvPGw7bysrKXtjb25zdCB1PW8rMTxsP25bbysxXTpudWxsLGY9dT91Lm9yaWdpbmFsU3RhcnQ6dGhpcy5vcmlnaW5hbExpbmVzLmxlbmd0aCxoPXU/dS5tb2RpZmllZFN0YXJ0OnRoaXMubW9kaWZpZWRMaW5lcy5sZW5ndGg7Zm9yKDtzPGYmJmE8aDspe2NvbnN0IGQ9dGhpcy5vcmlnaW5hbExpbmVzW3NdLGc9dGhpcy5tb2RpZmllZExpbmVzW2FdO2lmKGQhPT1nKXt7bGV0IG09cnIoZCwxKSx2PXJyKGcsMSk7Zm9yKDttPjEmJnY+MTspe2NvbnN0IHA9ZC5jaGFyQ29kZUF0KG0tMiksXz1nLmNoYXJDb2RlQXQodi0yKTtpZihwIT09XylicmVhazttLS0sdi0tfShtPjF8fHY+MSkmJnRoaXMuX3B1c2hUcmltV2hpdGVzcGFjZUNoYXJDaGFuZ2UoaSxzKzEsMSxtLGErMSwxLHYpfXtsZXQgbT1pcihkLDEpLHY9aXIoZywxKTtjb25zdCBwPWQubGVuZ3RoKzEsXz1nLmxlbmd0aCsxO2Zvcig7bTxwJiZ2PF87KXtjb25zdCB4PWQuY2hhckNvZGVBdChtLTEpLGI9ZC5jaGFyQ29kZUF0KHYtMSk7aWYoeCE9PWIpYnJlYWs7bSsrLHYrK30obTxwfHx2PF8pJiZ0aGlzLl9wdXNoVHJpbVdoaXRlc3BhY2VDaGFyQ2hhbmdlKGkscysxLG0scCxhKzEsdixfKX19cysrLGErK311JiYoaS5wdXNoKEZ0LmNyZWF0ZUZyb21EaWZmUmVzdWx0KHRoaXMuc2hvdWxkSWdub3JlVHJpbVdoaXRlc3BhY2UsdSx0aGlzLm9yaWdpbmFsLHRoaXMubW9kaWZpZWQsdGhpcy5jb250aW51ZUNoYXJEaWZmLHRoaXMuc2hvdWxkQ29tcHV0ZUNoYXJDaGFuZ2VzLHRoaXMuc2hvdWxkUG9zdFByb2Nlc3NDaGFyQ2hhbmdlcykpLHMrPXUub3JpZ2luYWxMZW5ndGgsYSs9dS5tb2RpZmllZExlbmd0aCl9cmV0dXJue3F1aXRFYXJseTpyLGNoYW5nZXM6aX19X3B1c2hUcmltV2hpdGVzcGFjZUNoYXJDaGFuZ2UodCxuLHIsaSxzLGEsbyl7aWYodGhpcy5fbWVyZ2VUcmltV2hpdGVzcGFjZUNoYXJDaGFuZ2UodCxuLHIsaSxzLGEsbykpcmV0dXJuO2xldCBsO3RoaXMuc2hvdWxkQ29tcHV0ZUNoYXJDaGFuZ2VzJiYobD1bbmV3IHl0KG4scixuLGkscyxhLHMsbyldKSx0LnB1c2gobmV3IEZ0KG4sbixzLHMsbCkpfV9tZXJnZVRyaW1XaGl0ZXNwYWNlQ2hhckNoYW5nZSh0LG4scixpLHMsYSxvKXtjb25zdCBsPXQubGVuZ3RoO2lmKGw9PT0wKXJldHVybiExO2NvbnN0IHU9dFtsLTFdO3JldHVybiB1Lm9yaWdpbmFsRW5kTGluZU51bWJlcj09PTB8fHUubW9kaWZpZWRFbmRMaW5lTnVtYmVyPT09MD8hMTp1Lm9yaWdpbmFsRW5kTGluZU51bWJlcj09PW4mJnUubW9kaWZpZWRFbmRMaW5lTnVtYmVyPT09cz8odGhpcy5zaG91bGRDb21wdXRlQ2hhckNoYW5nZXMmJnUuY2hhckNoYW5nZXMmJnUuY2hhckNoYW5nZXMucHVzaChuZXcgeXQobixyLG4saSxzLGEscyxvKSksITApOnUub3JpZ2luYWxFbmRMaW5lTnVtYmVyKzE9PT1uJiZ1Lm1vZGlmaWVkRW5kTGluZU51bWJlcisxPT09cz8odS5vcmlnaW5hbEVuZExpbmVOdW1iZXI9bix1Lm1vZGlmaWVkRW5kTGluZU51bWJlcj1zLHRoaXMuc2hvdWxkQ29tcHV0ZUNoYXJDaGFuZ2VzJiZ1LmNoYXJDaGFuZ2VzJiZ1LmNoYXJDaGFuZ2VzLnB1c2gobmV3IHl0KG4scixuLGkscyxhLHMsbykpLCEwKTohMX19ZnVuY3Rpb24gcnIoZSx0KXtjb25zdCBuPWlvKGUpO3JldHVybiBuPT09LTE/dDpuKzF9ZnVuY3Rpb24gaXIoZSx0KXtjb25zdCBuPXNvKGUpO3JldHVybiBuPT09LTE/dDpuKzJ9ZnVuY3Rpb24gbXMoZSl7aWYoZT09PTApcmV0dXJuKCk9PiEwO2NvbnN0IHQ9RGF0ZS5ub3coKTtyZXR1cm4oKT0+RGF0ZS5ub3coKS10PGV9Y2xhc3MgamV7c3RhdGljIHRyaXZpYWwodCxuKXtyZXR1cm4gbmV3IGplKFtuZXcgSyh6Lm9mTGVuZ3RoKHQubGVuZ3RoKSx6Lm9mTGVuZ3RoKG4ubGVuZ3RoKSldLCExKX1zdGF0aWMgdHJpdmlhbFRpbWVkT3V0KHQsbil7cmV0dXJuIG5ldyBqZShbbmV3IEsoei5vZkxlbmd0aCh0Lmxlbmd0aCksei5vZkxlbmd0aChuLmxlbmd0aCkpXSwhMCl9Y29uc3RydWN0b3IodCxuKXt0aGlzLmRpZmZzPXQsdGhpcy5oaXRUaW1lb3V0PW59fWNsYXNzIEt7c3RhdGljIGludmVydCh0LG4pe2NvbnN0IHI9W107cmV0dXJuIGpvKHQsKGkscyk9PntyLnB1c2goSy5mcm9tT2Zmc2V0UGFpcnMoaT9pLmdldEVuZEV4Y2x1c2l2ZXMoKTp4ZS56ZXJvLHM/cy5nZXRTdGFydHMoKTpuZXcgeGUobiwoaT9pLnNlcTJSYW5nZS5lbmRFeGNsdXNpdmUtaS5zZXExUmFuZ2UuZW5kRXhjbHVzaXZlOjApK24pKSl9KSxyfXN0YXRpYyBmcm9tT2Zmc2V0UGFpcnModCxuKXtyZXR1cm4gbmV3IEsobmV3IHoodC5vZmZzZXQxLG4ub2Zmc2V0MSksbmV3IHoodC5vZmZzZXQyLG4ub2Zmc2V0MikpfWNvbnN0cnVjdG9yKHQsbil7dGhpcy5zZXExUmFuZ2U9dCx0aGlzLnNlcTJSYW5nZT1ufXN3YXAoKXtyZXR1cm4gbmV3IEsodGhpcy5zZXEyUmFuZ2UsdGhpcy5zZXExUmFuZ2UpfXRvU3RyaW5nKCl7cmV0dXJuYCR7dGhpcy5zZXExUmFuZ2V9IDwtPiAke3RoaXMuc2VxMlJhbmdlfWB9am9pbih0KXtyZXR1cm4gbmV3IEsodGhpcy5zZXExUmFuZ2Uuam9pbih0LnNlcTFSYW5nZSksdGhpcy5zZXEyUmFuZ2Uuam9pbih0LnNlcTJSYW5nZSkpfWRlbHRhKHQpe3JldHVybiB0PT09MD90aGlzOm5ldyBLKHRoaXMuc2VxMVJhbmdlLmRlbHRhKHQpLHRoaXMuc2VxMlJhbmdlLmRlbHRhKHQpKX1kZWx0YVN0YXJ0KHQpe3JldHVybiB0PT09MD90aGlzOm5ldyBLKHRoaXMuc2VxMVJhbmdlLmRlbHRhU3RhcnQodCksdGhpcy5zZXEyUmFuZ2UuZGVsdGFTdGFydCh0KSl9ZGVsdGFFbmQodCl7cmV0dXJuIHQ9PT0wP3RoaXM6bmV3IEsodGhpcy5zZXExUmFuZ2UuZGVsdGFFbmQodCksdGhpcy5zZXEyUmFuZ2UuZGVsdGFFbmQodCkpfWludGVyc2VjdCh0KXtjb25zdCBuPXRoaXMuc2VxMVJhbmdlLmludGVyc2VjdCh0LnNlcTFSYW5nZSkscj10aGlzLnNlcTJSYW5nZS5pbnRlcnNlY3QodC5zZXEyUmFuZ2UpO2lmKCEoIW58fCFyKSlyZXR1cm4gbmV3IEsobixyKX1nZXRTdGFydHMoKXtyZXR1cm4gbmV3IHhlKHRoaXMuc2VxMVJhbmdlLnN0YXJ0LHRoaXMuc2VxMlJhbmdlLnN0YXJ0KX1nZXRFbmRFeGNsdXNpdmVzKCl7cmV0dXJuIG5ldyB4ZSh0aGlzLnNlcTFSYW5nZS5lbmRFeGNsdXNpdmUsdGhpcy5zZXEyUmFuZ2UuZW5kRXhjbHVzaXZlKX19Y2xhc3MgeGV7Y29uc3RydWN0b3IodCxuKXt0aGlzLm9mZnNldDE9dCx0aGlzLm9mZnNldDI9bn10b1N0cmluZygpe3JldHVybmAke3RoaXMub2Zmc2V0MX0gPC0+ICR7dGhpcy5vZmZzZXQyfWB9ZGVsdGEodCl7cmV0dXJuIHQ9PT0wP3RoaXM6bmV3IHhlKHRoaXMub2Zmc2V0MSt0LHRoaXMub2Zmc2V0Mit0KX1lcXVhbHModCl7cmV0dXJuIHRoaXMub2Zmc2V0MT09PXQub2Zmc2V0MSYmdGhpcy5vZmZzZXQyPT09dC5vZmZzZXQyfX14ZS56ZXJvPW5ldyB4ZSgwLDApLHhlLm1heD1uZXcgeGUoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpO2NsYXNzIER0e2lzVmFsaWQoKXtyZXR1cm4hMH19RHQuaW5zdGFuY2U9bmV3IER0O2NsYXNzIFJse2NvbnN0cnVjdG9yKHQpe2lmKHRoaXMudGltZW91dD10LHRoaXMuc3RhcnRUaW1lPURhdGUubm93KCksdGhpcy52YWxpZD0hMCx0PD0wKXRocm93IG5ldyBVZSgidGltZW91dCBtdXN0IGJlIHBvc2l0aXZlIil9aXNWYWxpZCgpe3JldHVybiEoRGF0ZS5ub3coKS10aGlzLnN0YXJ0VGltZTx0aGlzLnRpbWVvdXQpJiZ0aGlzLnZhbGlkJiYodGhpcy52YWxpZD0hMSksdGhpcy52YWxpZH19Y2xhc3Mgc3J7Y29uc3RydWN0b3IodCxuKXt0aGlzLndpZHRoPXQsdGhpcy5oZWlnaHQ9bix0aGlzLmFycmF5PVtdLHRoaXMuYXJyYXk9bmV3IEFycmF5KHQqbil9Z2V0KHQsbil7cmV0dXJuIHRoaXMuYXJyYXlbdCtuKnRoaXMud2lkdGhdfXNldCh0LG4scil7dGhpcy5hcnJheVt0K24qdGhpcy53aWR0aF09cn19ZnVuY3Rpb24gYXIoZSl7cmV0dXJuIGU9PT0zMnx8ZT09PTl9Y2xhc3Mgd3R7c3RhdGljIGdldEtleSh0KXtsZXQgbj10aGlzLmNocktleXMuZ2V0KHQpO3JldHVybiBuPT09dm9pZCAwJiYobj10aGlzLmNocktleXMuc2l6ZSx0aGlzLmNocktleXMuc2V0KHQsbikpLG59Y29uc3RydWN0b3IodCxuLHIpe3RoaXMucmFuZ2U9dCx0aGlzLmxpbmVzPW4sdGhpcy5zb3VyY2U9cix0aGlzLmhpc3RvZ3JhbT1bXTtsZXQgaT0wO2ZvcihsZXQgcz10LnN0YXJ0TGluZU51bWJlci0xO3M8dC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLTE7cysrKXtjb25zdCBhPW5bc107Zm9yKGxldCBsPTA7bDxhLmxlbmd0aDtsKyspe2krKztjb25zdCB1PWFbbF0sZj13dC5nZXRLZXkodSk7dGhpcy5oaXN0b2dyYW1bZl09KHRoaXMuaGlzdG9ncmFtW2ZdfHwwKSsxfWkrKztjb25zdCBvPXd0LmdldEtleShgCmApO3RoaXMuaGlzdG9ncmFtW29dPSh0aGlzLmhpc3RvZ3JhbVtvXXx8MCkrMX10aGlzLnRvdGFsQ291bnQ9aX1jb21wdXRlU2ltaWxhcml0eSh0KXt2YXIgbixyO2xldCBpPTA7Y29uc3Qgcz1NYXRoLm1heCh0aGlzLmhpc3RvZ3JhbS5sZW5ndGgsdC5oaXN0b2dyYW0ubGVuZ3RoKTtmb3IobGV0IGE9MDthPHM7YSsrKWkrPU1hdGguYWJzKCgobj10aGlzLmhpc3RvZ3JhbVthXSkhPT1udWxsJiZuIT09dm9pZCAwP246MCktKChyPXQuaGlzdG9ncmFtW2FdKSE9PW51bGwmJnIhPT12b2lkIDA/cjowKSk7cmV0dXJuIDEtaS8odGhpcy50b3RhbENvdW50K3QudG90YWxDb3VudCl9fXd0LmNocktleXM9bmV3IE1hcDtjbGFzcyBUbHtjb21wdXRlKHQsbixyPUR0Lmluc3RhbmNlLGkpe2lmKHQubGVuZ3RoPT09MHx8bi5sZW5ndGg9PT0wKXJldHVybiBqZS50cml2aWFsKHQsbik7Y29uc3Qgcz1uZXcgc3IodC5sZW5ndGgsbi5sZW5ndGgpLGE9bmV3IHNyKHQubGVuZ3RoLG4ubGVuZ3RoKSxvPW5ldyBzcih0Lmxlbmd0aCxuLmxlbmd0aCk7Zm9yKGxldCBtPTA7bTx0Lmxlbmd0aDttKyspZm9yKGxldCB2PTA7djxuLmxlbmd0aDt2Kyspe2lmKCFyLmlzVmFsaWQoKSlyZXR1cm4gamUudHJpdmlhbFRpbWVkT3V0KHQsbik7Y29uc3QgcD1tPT09MD8wOnMuZ2V0KG0tMSx2KSxfPXY9PT0wPzA6cy5nZXQobSx2LTEpO2xldCB4O3QuZ2V0RWxlbWVudChtKT09PW4uZ2V0RWxlbWVudCh2KT8obT09PTB8fHY9PT0wP3g9MDp4PXMuZ2V0KG0tMSx2LTEpLG0+MCYmdj4wJiZhLmdldChtLTEsdi0xKT09PTMmJih4Kz1vLmdldChtLTEsdi0xKSkseCs9aT9pKG0sdik6MSk6eD0tMTtjb25zdCBiPU1hdGgubWF4KHAsXyx4KTtpZihiPT09eCl7Y29uc3QgUz1tPjAmJnY+MD9vLmdldChtLTEsdi0xKTowO28uc2V0KG0sdixTKzEpLGEuc2V0KG0sdiwzKX1lbHNlIGI9PT1wPyhvLnNldChtLHYsMCksYS5zZXQobSx2LDEpKTpiPT09XyYmKG8uc2V0KG0sdiwwKSxhLnNldChtLHYsMikpO3Muc2V0KG0sdixiKX1jb25zdCBsPVtdO2xldCB1PXQubGVuZ3RoLGY9bi5sZW5ndGg7ZnVuY3Rpb24gaChtLHYpeyhtKzEhPT11fHx2KzEhPT1mKSYmbC5wdXNoKG5ldyBLKG5ldyB6KG0rMSx1KSxuZXcgeih2KzEsZikpKSx1PW0sZj12fWxldCBkPXQubGVuZ3RoLTEsZz1uLmxlbmd0aC0xO2Zvcig7ZD49MCYmZz49MDspYS5nZXQoZCxnKT09PTM/KGgoZCxnKSxkLS0sZy0tKTphLmdldChkLGcpPT09MT9kLS06Zy0tO3JldHVybiBoKC0xLC0xKSxsLnJldmVyc2UoKSxuZXcgamUobCwhMSl9fWNsYXNzIHBze2NvbXB1dGUodCxuLHI9RHQuaW5zdGFuY2Upe2lmKHQubGVuZ3RoPT09MHx8bi5sZW5ndGg9PT0wKXJldHVybiBqZS50cml2aWFsKHQsbik7Y29uc3QgaT10LHM9bjtmdW5jdGlvbiBhKHYscCl7Zm9yKDt2PGkubGVuZ3RoJiZwPHMubGVuZ3RoJiZpLmdldEVsZW1lbnQodik9PT1zLmdldEVsZW1lbnQocCk7KXYrKyxwKys7cmV0dXJuIHZ9bGV0IG89MDtjb25zdCBsPW5ldyBNbDtsLnNldCgwLGEoMCwwKSk7Y29uc3QgdT1uZXcgUGw7dS5zZXQoMCxsLmdldCgwKT09PTA/bnVsbDpuZXcgdnMobnVsbCwwLDAsbC5nZXQoMCkpKTtsZXQgZj0wO2U6Zm9yKDs7KXtpZihvKyssIXIuaXNWYWxpZCgpKXJldHVybiBqZS50cml2aWFsVGltZWRPdXQoaSxzKTtjb25zdCB2PS1NYXRoLm1pbihvLHMubGVuZ3RoK28lMikscD1NYXRoLm1pbihvLGkubGVuZ3RoK28lMik7Zm9yKGY9djtmPD1wO2YrPTIpe2NvbnN0IF89Zj09PXA/LTE6bC5nZXQoZisxKSx4PWY9PT12Py0xOmwuZ2V0KGYtMSkrMSxiPU1hdGgubWluKE1hdGgubWF4KF8seCksaS5sZW5ndGgpLFM9Yi1mO2lmKGI+aS5sZW5ndGh8fFM+cy5sZW5ndGgpY29udGludWU7Y29uc3QgTj1hKGIsUyk7bC5zZXQoZixOKTtjb25zdCB3PWI9PT1fP3UuZ2V0KGYrMSk6dS5nZXQoZi0xKTtpZih1LnNldChmLE4hPT1iP25ldyB2cyh3LGIsUyxOLWIpOncpLGwuZ2V0KGYpPT09aS5sZW5ndGgmJmwuZ2V0KGYpLWY9PT1zLmxlbmd0aClicmVhayBlfX1sZXQgaD11LmdldChmKTtjb25zdCBkPVtdO2xldCBnPWkubGVuZ3RoLG09cy5sZW5ndGg7Zm9yKDs7KXtjb25zdCB2PWg/aC54K2gubGVuZ3RoOjAscD1oP2gueStoLmxlbmd0aDowO2lmKCh2IT09Z3x8cCE9PW0pJiZkLnB1c2gobmV3IEsobmV3IHoodixnKSxuZXcgeihwLG0pKSksIWgpYnJlYWs7Zz1oLngsbT1oLnksaD1oLnByZXZ9cmV0dXJuIGQucmV2ZXJzZSgpLG5ldyBqZShkLCExKX19Y2xhc3MgdnN7Y29uc3RydWN0b3IodCxuLHIsaSl7dGhpcy5wcmV2PXQsdGhpcy54PW4sdGhpcy55PXIsdGhpcy5sZW5ndGg9aX19Y2xhc3MgTWx7Y29uc3RydWN0b3IoKXt0aGlzLnBvc2l0aXZlQXJyPW5ldyBJbnQzMkFycmF5KDEwKSx0aGlzLm5lZ2F0aXZlQXJyPW5ldyBJbnQzMkFycmF5KDEwKX1nZXQodCl7cmV0dXJuIHQ8MD8odD0tdC0xLHRoaXMubmVnYXRpdmVBcnJbdF0pOnRoaXMucG9zaXRpdmVBcnJbdF19c2V0KHQsbil7aWYodDwwKXtpZih0PS10LTEsdD49dGhpcy5uZWdhdGl2ZUFyci5sZW5ndGgpe2NvbnN0IHI9dGhpcy5uZWdhdGl2ZUFycjt0aGlzLm5lZ2F0aXZlQXJyPW5ldyBJbnQzMkFycmF5KHIubGVuZ3RoKjIpLHRoaXMubmVnYXRpdmVBcnIuc2V0KHIpfXRoaXMubmVnYXRpdmVBcnJbdF09bn1lbHNle2lmKHQ+PXRoaXMucG9zaXRpdmVBcnIubGVuZ3RoKXtjb25zdCByPXRoaXMucG9zaXRpdmVBcnI7dGhpcy5wb3NpdGl2ZUFycj1uZXcgSW50MzJBcnJheShyLmxlbmd0aCoyKSx0aGlzLnBvc2l0aXZlQXJyLnNldChyKX10aGlzLnBvc2l0aXZlQXJyW3RdPW59fX1jbGFzcyBQbHtjb25zdHJ1Y3Rvcigpe3RoaXMucG9zaXRpdmVBcnI9W10sdGhpcy5uZWdhdGl2ZUFycj1bXX1nZXQodCl7cmV0dXJuIHQ8MD8odD0tdC0xLHRoaXMubmVnYXRpdmVBcnJbdF0pOnRoaXMucG9zaXRpdmVBcnJbdF19c2V0KHQsbil7dDwwPyh0PS10LTEsdGhpcy5uZWdhdGl2ZUFyclt0XT1uKTp0aGlzLnBvc2l0aXZlQXJyW3RdPW59fWNsYXNzIGhue2NvbnN0cnVjdG9yKHQsbixyKXt0aGlzLmxpbmVzPXQsdGhpcy5jb25zaWRlcldoaXRlc3BhY2VDaGFuZ2VzPXIsdGhpcy5lbGVtZW50cz1bXSx0aGlzLmZpcnN0Q2hhck9mZnNldEJ5TGluZT1bXSx0aGlzLmFkZGl0aW9uYWxPZmZzZXRCeUxpbmU9W107bGV0IGk9ITE7bi5zdGFydD4wJiZuLmVuZEV4Y2x1c2l2ZT49dC5sZW5ndGgmJihuPW5ldyB6KG4uc3RhcnQtMSxuLmVuZEV4Y2x1c2l2ZSksaT0hMCksdGhpcy5saW5lUmFuZ2U9bix0aGlzLmZpcnN0Q2hhck9mZnNldEJ5TGluZVswXT0wO2ZvcihsZXQgcz10aGlzLmxpbmVSYW5nZS5zdGFydDtzPHRoaXMubGluZVJhbmdlLmVuZEV4Y2x1c2l2ZTtzKyspe2xldCBhPXRbc10sbz0wO2lmKGkpbz1hLmxlbmd0aCxhPSIiLGk9ITE7ZWxzZSBpZighcil7Y29uc3QgbD1hLnRyaW1TdGFydCgpO289YS5sZW5ndGgtbC5sZW5ndGgsYT1sLnRyaW1FbmQoKX10aGlzLmFkZGl0aW9uYWxPZmZzZXRCeUxpbmUucHVzaChvKTtmb3IobGV0IGw9MDtsPGEubGVuZ3RoO2wrKyl0aGlzLmVsZW1lbnRzLnB1c2goYS5jaGFyQ29kZUF0KGwpKTtzPHQubGVuZ3RoLTEmJih0aGlzLmVsZW1lbnRzLnB1c2goMTApLHRoaXMuZmlyc3RDaGFyT2Zmc2V0QnlMaW5lW3MtdGhpcy5saW5lUmFuZ2Uuc3RhcnQrMV09dGhpcy5lbGVtZW50cy5sZW5ndGgpfXRoaXMuYWRkaXRpb25hbE9mZnNldEJ5TGluZS5wdXNoKDApfXRvU3RyaW5nKCl7cmV0dXJuYFNsaWNlOiAiJHt0aGlzLnRleHR9ImB9Z2V0IHRleHQoKXtyZXR1cm4gdGhpcy5nZXRUZXh0KG5ldyB6KDAsdGhpcy5sZW5ndGgpKX1nZXRUZXh0KHQpe3JldHVybiB0aGlzLmVsZW1lbnRzLnNsaWNlKHQuc3RhcnQsdC5lbmRFeGNsdXNpdmUpLm1hcChuPT5TdHJpbmcuZnJvbUNoYXJDb2RlKG4pKS5qb2luKCIiKX1nZXRFbGVtZW50KHQpe3JldHVybiB0aGlzLmVsZW1lbnRzW3RdfWdldCBsZW5ndGgoKXtyZXR1cm4gdGhpcy5lbGVtZW50cy5sZW5ndGh9Z2V0Qm91bmRhcnlTY29yZSh0KXtjb25zdCBuPV9zKHQ+MD90aGlzLmVsZW1lbnRzW3QtMV06LTEpLHI9X3ModDx0aGlzLmVsZW1lbnRzLmxlbmd0aD90aGlzLmVsZW1lbnRzW3RdOi0xKTtpZihuPT09NyYmcj09PTgpcmV0dXJuIDA7aWYobj09PTgpcmV0dXJuIDE1MDtsZXQgaT0wO3JldHVybiBuIT09ciYmKGkrPTEwLG49PT0wJiZyPT09MSYmKGkrPTEpKSxpKz1icyhuKSxpKz1icyhyKSxpfXRyYW5zbGF0ZU9mZnNldCh0KXtpZih0aGlzLmxpbmVSYW5nZS5pc0VtcHR5KXJldHVybiBuZXcgUGUodGhpcy5saW5lUmFuZ2Uuc3RhcnQrMSwxKTtjb25zdCBuPVB0KHRoaXMuZmlyc3RDaGFyT2Zmc2V0QnlMaW5lLHI9PnI8PXQpO3JldHVybiBuZXcgUGUodGhpcy5saW5lUmFuZ2Uuc3RhcnQrbisxLHQtdGhpcy5maXJzdENoYXJPZmZzZXRCeUxpbmVbbl0rdGhpcy5hZGRpdGlvbmFsT2Zmc2V0QnlMaW5lW25dKzEpfXRyYW5zbGF0ZVJhbmdlKHQpe3JldHVybiBzZS5mcm9tUG9zaXRpb25zKHRoaXMudHJhbnNsYXRlT2Zmc2V0KHQuc3RhcnQpLHRoaXMudHJhbnNsYXRlT2Zmc2V0KHQuZW5kRXhjbHVzaXZlKSl9ZmluZFdvcmRDb250YWluaW5nKHQpe2lmKHQ8MHx8dD49dGhpcy5lbGVtZW50cy5sZW5ndGh8fCFvcih0aGlzLmVsZW1lbnRzW3RdKSlyZXR1cm47bGV0IG49dDtmb3IoO24+MCYmb3IodGhpcy5lbGVtZW50c1tuLTFdKTspbi0tO2xldCByPXQ7Zm9yKDtyPHRoaXMuZWxlbWVudHMubGVuZ3RoJiZvcih0aGlzLmVsZW1lbnRzW3JdKTspcisrO3JldHVybiBuZXcgeihuLHIpfWNvdW50TGluZXNJbih0KXtyZXR1cm4gdGhpcy50cmFuc2xhdGVPZmZzZXQodC5lbmRFeGNsdXNpdmUpLmxpbmVOdW1iZXItdGhpcy50cmFuc2xhdGVPZmZzZXQodC5zdGFydCkubGluZU51bWJlcn1pc1N0cm9uZ2x5RXF1YWwodCxuKXtyZXR1cm4gdGhpcy5lbGVtZW50c1t0XT09PXRoaXMuZWxlbWVudHNbbl19ZXh0ZW5kVG9GdWxsTGluZXModCl7dmFyIG4scjtjb25zdCBpPShuPV90KHRoaXMuZmlyc3RDaGFyT2Zmc2V0QnlMaW5lLGE9PmE8PXQuc3RhcnQpKSE9PW51bGwmJm4hPT12b2lkIDA/bjowLHM9KHI9U2wodGhpcy5maXJzdENoYXJPZmZzZXRCeUxpbmUsYT0+dC5lbmRFeGNsdXNpdmU8PWEpKSE9PW51bGwmJnIhPT12b2lkIDA/cjp0aGlzLmVsZW1lbnRzLmxlbmd0aDtyZXR1cm4gbmV3IHooaSxzKX19ZnVuY3Rpb24gb3IoZSl7cmV0dXJuIGU+PTk3JiZlPD0xMjJ8fGU+PTY1JiZlPD05MHx8ZT49NDgmJmU8PTU3fWNvbnN0IElsPXswOjAsMTowLDI6MCwzOjEwLDQ6Miw1OjMwLDY6Myw3OjEwLDg6MTB9O2Z1bmN0aW9uIGJzKGUpe3JldHVybiBJbFtlXX1mdW5jdGlvbiBfcyhlKXtyZXR1cm4gZT09PTEwPzg6ZT09PTEzPzc6YXIoZSk/NjplPj05NyYmZTw9MTIyPzA6ZT49NjUmJmU8PTkwPzE6ZT49NDgmJmU8PTU3PzI6ZT09PS0xPzM6ZT09PTQ0fHxlPT09NTk/NTo0fWZ1bmN0aW9uIEZsKGUsdCxuLHIsaSxzKXtsZXR7bW92ZXM6YSxleGNsdWRlZENoYW5nZXM6b309T2woZSx0LG4scyk7aWYoIXMuaXNWYWxpZCgpKXJldHVybltdO2NvbnN0IGw9ZS5maWx0ZXIoZj0+IW8uaGFzKGYpKSx1PVZsKGwscixpLHQsbixzKTtyZXR1cm4gSG8oYSx1KSxhPVVsKGEpLGE9YS5maWx0ZXIoZj0+e2NvbnN0IGg9Zi5vcmlnaW5hbC50b09mZnNldFJhbmdlKCkuc2xpY2UodCkubWFwKGc9PmcudHJpbSgpKTtyZXR1cm4gaC5qb2luKGAKYCkubGVuZ3RoPj0xNSYmRGwoaCxnPT5nLmxlbmd0aD49Mik+PTJ9KSxhPUJsKGUsYSksYX1mdW5jdGlvbiBEbChlLHQpe2xldCBuPTA7Zm9yKGNvbnN0IHIgb2YgZSl0KHIpJiZuKys7cmV0dXJuIG59ZnVuY3Rpb24gT2woZSx0LG4scil7Y29uc3QgaT1bXSxzPWUuZmlsdGVyKGw9PmwubW9kaWZpZWQuaXNFbXB0eSYmbC5vcmlnaW5hbC5sZW5ndGg+PTMpLm1hcChsPT5uZXcgd3QobC5vcmlnaW5hbCx0LGwpKSxhPW5ldyBTZXQoZS5maWx0ZXIobD0+bC5vcmlnaW5hbC5pc0VtcHR5JiZsLm1vZGlmaWVkLmxlbmd0aD49MykubWFwKGw9Pm5ldyB3dChsLm1vZGlmaWVkLG4sbCkpKSxvPW5ldyBTZXQ7Zm9yKGNvbnN0IGwgb2Ygcyl7bGV0IHU9LTEsZjtmb3IoY29uc3QgaCBvZiBhKXtjb25zdCBkPWwuY29tcHV0ZVNpbWlsYXJpdHkoaCk7ZD51JiYodT1kLGY9aCl9aWYodT4uOSYmZiYmKGEuZGVsZXRlKGYpLGkucHVzaChuZXcga2UobC5yYW5nZSxmLnJhbmdlKSksby5hZGQobC5zb3VyY2UpLG8uYWRkKGYuc291cmNlKSksIXIuaXNWYWxpZCgpKXJldHVybnttb3ZlczppLGV4Y2x1ZGVkQ2hhbmdlczpvfX1yZXR1cm57bW92ZXM6aSxleGNsdWRlZENoYW5nZXM6b319ZnVuY3Rpb24gVmwoZSx0LG4scixpLHMpe2NvbnN0IGE9W10sbz1uZXcgbWw7Zm9yKGNvbnN0IGQgb2YgZSlmb3IobGV0IGc9ZC5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXI7ZzxkLm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUtMjtnKyspe2NvbnN0IG09YCR7dFtnLTFdfToke3RbZysxLTFdfToke3RbZysyLTFdfWA7by5hZGQobSx7cmFuZ2U6bmV3IFcoZyxnKzMpfSl9Y29uc3QgbD1bXTtlLnNvcnQocm4oZD0+ZC5tb2RpZmllZC5zdGFydExpbmVOdW1iZXIsc24pKTtmb3IoY29uc3QgZCBvZiBlKXtsZXQgZz1bXTtmb3IobGV0IG09ZC5tb2RpZmllZC5zdGFydExpbmVOdW1iZXI7bTxkLm1vZGlmaWVkLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUtMjttKyspe2NvbnN0IHY9YCR7blttLTFdfToke25bbSsxLTFdfToke25bbSsyLTFdfWAscD1uZXcgVyhtLG0rMyksXz1bXTtvLmZvckVhY2godiwoe3JhbmdlOnh9KT0+e2Zvcihjb25zdCBTIG9mIGcpaWYoUy5vcmlnaW5hbExpbmVSYW5nZS5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlKzE9PT14LmVuZExpbmVOdW1iZXJFeGNsdXNpdmUmJlMubW9kaWZpZWRMaW5lUmFuZ2UuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSsxPT09cC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlKXtTLm9yaWdpbmFsTGluZVJhbmdlPW5ldyBXKFMub3JpZ2luYWxMaW5lUmFuZ2Uuc3RhcnRMaW5lTnVtYmVyLHguZW5kTGluZU51bWJlckV4Y2x1c2l2ZSksUy5tb2RpZmllZExpbmVSYW5nZT1uZXcgVyhTLm1vZGlmaWVkTGluZVJhbmdlLnN0YXJ0TGluZU51bWJlcixwLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUpLF8ucHVzaChTKTtyZXR1cm59Y29uc3QgYj17bW9kaWZpZWRMaW5lUmFuZ2U6cCxvcmlnaW5hbExpbmVSYW5nZTp4fTtsLnB1c2goYiksXy5wdXNoKGIpfSksZz1ffWlmKCFzLmlzVmFsaWQoKSlyZXR1cm5bXX1sLnNvcnQoJG8ocm4oZD0+ZC5tb2RpZmllZExpbmVSYW5nZS5sZW5ndGgsc24pKSk7Y29uc3QgdT1uZXcgSWUsZj1uZXcgSWU7Zm9yKGNvbnN0IGQgb2YgbCl7Y29uc3QgZz1kLm1vZGlmaWVkTGluZVJhbmdlLnN0YXJ0TGluZU51bWJlci1kLm9yaWdpbmFsTGluZVJhbmdlLnN0YXJ0TGluZU51bWJlcixtPXUuc3VidHJhY3RGcm9tKGQubW9kaWZpZWRMaW5lUmFuZ2UpLHY9Zi5zdWJ0cmFjdEZyb20oZC5vcmlnaW5hbExpbmVSYW5nZSkuZ2V0V2l0aERlbHRhKGcpLHA9bS5nZXRJbnRlcnNlY3Rpb24odik7Zm9yKGNvbnN0IF8gb2YgcC5yYW5nZXMpe2lmKF8ubGVuZ3RoPDMpY29udGludWU7Y29uc3QgeD1fLGI9Xy5kZWx0YSgtZyk7YS5wdXNoKG5ldyBrZShiLHgpKSx1LmFkZFJhbmdlKHgpLGYuYWRkUmFuZ2UoYil9fWEuc29ydChybihkPT5kLm9yaWdpbmFsLnN0YXJ0TGluZU51bWJlcixzbikpO2NvbnN0IGg9bmV3IEl0KGUpO2ZvcihsZXQgZD0wO2Q8YS5sZW5ndGg7ZCsrKXtjb25zdCBnPWFbZF0sbT1oLmZpbmRMYXN0TW9ub3Rvbm91cyh3PT53Lm9yaWdpbmFsLnN0YXJ0TGluZU51bWJlcjw9Zy5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXIpLHY9X3QoZSx3PT53Lm1vZGlmaWVkLnN0YXJ0TGluZU51bWJlcjw9Zy5tb2RpZmllZC5zdGFydExpbmVOdW1iZXIpLHA9TWF0aC5tYXgoZy5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXItbS5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXIsZy5tb2RpZmllZC5zdGFydExpbmVOdW1iZXItdi5tb2RpZmllZC5zdGFydExpbmVOdW1iZXIpLF89aC5maW5kTGFzdE1vbm90b25vdXModz0+dy5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXI8Zy5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlKSx4PV90KGUsdz0+dy5tb2RpZmllZC5zdGFydExpbmVOdW1iZXI8Zy5tb2RpZmllZC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlKSxiPU1hdGgubWF4KF8ub3JpZ2luYWwuZW5kTGluZU51bWJlckV4Y2x1c2l2ZS1nLm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUseC5tb2RpZmllZC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLWcubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSk7bGV0IFM7Zm9yKFM9MDtTPHA7UysrKXtjb25zdCB3PWcub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyLVMtMSxMPWcubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyLVMtMTtpZih3PnIubGVuZ3RofHxMPmkubGVuZ3RofHx1LmNvbnRhaW5zKEwpfHxmLmNvbnRhaW5zKHcpfHwheHMoclt3LTFdLGlbTC0xXSxzKSlicmVha31TPjAmJihmLmFkZFJhbmdlKG5ldyBXKGcub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyLVMsZy5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXIpKSx1LmFkZFJhbmdlKG5ldyBXKGcubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyLVMsZy5tb2RpZmllZC5zdGFydExpbmVOdW1iZXIpKSk7bGV0IE47Zm9yKE49MDtOPGI7TisrKXtjb25zdCB3PWcub3JpZ2luYWwuZW5kTGluZU51bWJlckV4Y2x1c2l2ZStOLEw9Zy5tb2RpZmllZC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlK047aWYodz5yLmxlbmd0aHx8TD5pLmxlbmd0aHx8dS5jb250YWlucyhMKXx8Zi5jb250YWlucyh3KXx8IXhzKHJbdy0xXSxpW0wtMV0scykpYnJlYWt9Tj4wJiYoZi5hZGRSYW5nZShuZXcgVyhnLm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUsZy5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlK04pKSx1LmFkZFJhbmdlKG5ldyBXKGcubW9kaWZpZWQuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSxnLm1vZGlmaWVkLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUrTikpKSwoUz4wfHxOPjApJiYoYVtkXT1uZXcga2UobmV3IFcoZy5vcmlnaW5hbC5zdGFydExpbmVOdW1iZXItUyxnLm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUrTiksbmV3IFcoZy5tb2RpZmllZC5zdGFydExpbmVOdW1iZXItUyxnLm1vZGlmaWVkLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUrTikpKX1yZXR1cm4gYX1mdW5jdGlvbiB4cyhlLHQsbil7aWYoZS50cmltKCk9PT10LnRyaW0oKSlyZXR1cm4hMDtpZihlLmxlbmd0aD4zMDAmJnQubGVuZ3RoPjMwMClyZXR1cm4hMTtjb25zdCBpPW5ldyBwcygpLmNvbXB1dGUobmV3IGhuKFtlXSxuZXcgeigwLDEpLCExKSxuZXcgaG4oW3RdLG5ldyB6KDAsMSksITEpLG4pO2xldCBzPTA7Y29uc3QgYT1LLmludmVydChpLmRpZmZzLGUubGVuZ3RoKTtmb3IoY29uc3QgZiBvZiBhKWYuc2VxMVJhbmdlLmZvckVhY2goaD0+e2FyKGUuY2hhckNvZGVBdChoKSl8fHMrK30pO2Z1bmN0aW9uIG8oZil7bGV0IGg9MDtmb3IobGV0IGQ9MDtkPGUubGVuZ3RoO2QrKylhcihmLmNoYXJDb2RlQXQoZCkpfHxoKys7cmV0dXJuIGh9Y29uc3QgbD1vKGUubGVuZ3RoPnQubGVuZ3RoP2U6dCk7cmV0dXJuIHMvbD4uNiYmbD4xMH1mdW5jdGlvbiBVbChlKXtpZihlLmxlbmd0aD09PTApcmV0dXJuIGU7ZS5zb3J0KHJuKG49Pm4ub3JpZ2luYWwuc3RhcnRMaW5lTnVtYmVyLHNuKSk7Y29uc3QgdD1bZVswXV07Zm9yKGxldCBuPTE7bjxlLmxlbmd0aDtuKyspe2NvbnN0IHI9dFt0Lmxlbmd0aC0xXSxpPWVbbl0scz1pLm9yaWdpbmFsLnN0YXJ0TGluZU51bWJlci1yLm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUsYT1pLm1vZGlmaWVkLnN0YXJ0TGluZU51bWJlci1yLm1vZGlmaWVkLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU7aWYocz49MCYmYT49MCYmcythPD0yKXt0W3QubGVuZ3RoLTFdPXIuam9pbihpKTtjb250aW51ZX10LnB1c2goaSl9cmV0dXJuIHR9ZnVuY3Rpb24gQmwoZSx0KXtjb25zdCBuPW5ldyBJdChlKTtyZXR1cm4gdD10LmZpbHRlcihyPT57Y29uc3QgaT1uLmZpbmRMYXN0TW9ub3Rvbm91cyhvPT5vLm9yaWdpbmFsLnN0YXJ0TGluZU51bWJlcjxyLm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUpfHxuZXcga2UobmV3IFcoMSwxKSxuZXcgVygxLDEpKSxzPV90KGUsbz0+by5tb2RpZmllZC5zdGFydExpbmVOdW1iZXI8ci5tb2RpZmllZC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlKTtyZXR1cm4gaSE9PXN9KSx0fWZ1bmN0aW9uIHlzKGUsdCxuKXtsZXQgcj1uO3JldHVybiByPXdzKGUsdCxyKSxyPXdzKGUsdCxyKSxyPWpsKGUsdCxyKSxyfWZ1bmN0aW9uIHdzKGUsdCxuKXtpZihuLmxlbmd0aD09PTApcmV0dXJuIG47Y29uc3Qgcj1bXTtyLnB1c2goblswXSk7Zm9yKGxldCBzPTE7czxuLmxlbmd0aDtzKyspe2NvbnN0IGE9cltyLmxlbmd0aC0xXTtsZXQgbz1uW3NdO2lmKG8uc2VxMVJhbmdlLmlzRW1wdHl8fG8uc2VxMlJhbmdlLmlzRW1wdHkpe2NvbnN0IGw9by5zZXExUmFuZ2Uuc3RhcnQtYS5zZXExUmFuZ2UuZW5kRXhjbHVzaXZlO2xldCB1O2Zvcih1PTE7dTw9bCYmIShlLmdldEVsZW1lbnQoby5zZXExUmFuZ2Uuc3RhcnQtdSkhPT1lLmdldEVsZW1lbnQoby5zZXExUmFuZ2UuZW5kRXhjbHVzaXZlLXUpfHx0LmdldEVsZW1lbnQoby5zZXEyUmFuZ2Uuc3RhcnQtdSkhPT10LmdldEVsZW1lbnQoby5zZXEyUmFuZ2UuZW5kRXhjbHVzaXZlLXUpKTt1KyspO2lmKHUtLSx1PT09bCl7cltyLmxlbmd0aC0xXT1uZXcgSyhuZXcgeihhLnNlcTFSYW5nZS5zdGFydCxvLnNlcTFSYW5nZS5lbmRFeGNsdXNpdmUtbCksbmV3IHooYS5zZXEyUmFuZ2Uuc3RhcnQsby5zZXEyUmFuZ2UuZW5kRXhjbHVzaXZlLWwpKTtjb250aW51ZX1vPW8uZGVsdGEoLXUpfXIucHVzaChvKX1jb25zdCBpPVtdO2ZvcihsZXQgcz0wO3M8ci5sZW5ndGgtMTtzKyspe2NvbnN0IGE9cltzKzFdO2xldCBvPXJbc107aWYoby5zZXExUmFuZ2UuaXNFbXB0eXx8by5zZXEyUmFuZ2UuaXNFbXB0eSl7Y29uc3QgbD1hLnNlcTFSYW5nZS5zdGFydC1vLnNlcTFSYW5nZS5lbmRFeGNsdXNpdmU7bGV0IHU7Zm9yKHU9MDt1PGwmJiEoIWUuaXNTdHJvbmdseUVxdWFsKG8uc2VxMVJhbmdlLnN0YXJ0K3Usby5zZXExUmFuZ2UuZW5kRXhjbHVzaXZlK3UpfHwhdC5pc1N0cm9uZ2x5RXF1YWwoby5zZXEyUmFuZ2Uuc3RhcnQrdSxvLnNlcTJSYW5nZS5lbmRFeGNsdXNpdmUrdSkpO3UrKyk7aWYodT09PWwpe3JbcysxXT1uZXcgSyhuZXcgeihvLnNlcTFSYW5nZS5zdGFydCtsLGEuc2VxMVJhbmdlLmVuZEV4Y2x1c2l2ZSksbmV3IHooby5zZXEyUmFuZ2Uuc3RhcnQrbCxhLnNlcTJSYW5nZS5lbmRFeGNsdXNpdmUpKTtjb250aW51ZX11PjAmJihvPW8uZGVsdGEodSkpfWkucHVzaChvKX1yZXR1cm4gci5sZW5ndGg+MCYmaS5wdXNoKHJbci5sZW5ndGgtMV0pLGl9ZnVuY3Rpb24gamwoZSx0LG4pe2lmKCFlLmdldEJvdW5kYXJ5U2NvcmV8fCF0LmdldEJvdW5kYXJ5U2NvcmUpcmV0dXJuIG47Zm9yKGxldCByPTA7cjxuLmxlbmd0aDtyKyspe2NvbnN0IGk9cj4wP25bci0xXTp2b2lkIDAscz1uW3JdLGE9cisxPG4ubGVuZ3RoP25bcisxXTp2b2lkIDAsbz1uZXcgeihpP2kuc2VxMVJhbmdlLmVuZEV4Y2x1c2l2ZSsxOjAsYT9hLnNlcTFSYW5nZS5zdGFydC0xOmUubGVuZ3RoKSxsPW5ldyB6KGk/aS5zZXEyUmFuZ2UuZW5kRXhjbHVzaXZlKzE6MCxhP2Euc2VxMlJhbmdlLnN0YXJ0LTE6dC5sZW5ndGgpO3Muc2VxMVJhbmdlLmlzRW1wdHk/bltyXT1OcyhzLGUsdCxvLGwpOnMuc2VxMlJhbmdlLmlzRW1wdHkmJihuW3JdPU5zKHMuc3dhcCgpLHQsZSxsLG8pLnN3YXAoKSl9cmV0dXJuIG59ZnVuY3Rpb24gTnMoZSx0LG4scixpKXtsZXQgYT0xO2Zvcig7ZS5zZXExUmFuZ2Uuc3RhcnQtYT49ci5zdGFydCYmZS5zZXEyUmFuZ2Uuc3RhcnQtYT49aS5zdGFydCYmbi5pc1N0cm9uZ2x5RXF1YWwoZS5zZXEyUmFuZ2Uuc3RhcnQtYSxlLnNlcTJSYW5nZS5lbmRFeGNsdXNpdmUtYSkmJmE8MTAwOylhKys7YS0tO2xldCBvPTA7Zm9yKDtlLnNlcTFSYW5nZS5zdGFydCtvPHIuZW5kRXhjbHVzaXZlJiZlLnNlcTJSYW5nZS5lbmRFeGNsdXNpdmUrbzxpLmVuZEV4Y2x1c2l2ZSYmbi5pc1N0cm9uZ2x5RXF1YWwoZS5zZXEyUmFuZ2Uuc3RhcnQrbyxlLnNlcTJSYW5nZS5lbmRFeGNsdXNpdmUrbykmJm88MTAwOylvKys7aWYoYT09PTAmJm89PT0wKXJldHVybiBlO2xldCBsPTAsdT0tMTtmb3IobGV0IGY9LWE7Zjw9bztmKyspe2NvbnN0IGg9ZS5zZXEyUmFuZ2Uuc3RhcnQrZixkPWUuc2VxMlJhbmdlLmVuZEV4Y2x1c2l2ZStmLGc9ZS5zZXExUmFuZ2Uuc3RhcnQrZixtPXQuZ2V0Qm91bmRhcnlTY29yZShnKStuLmdldEJvdW5kYXJ5U2NvcmUoaCkrbi5nZXRCb3VuZGFyeVNjb3JlKGQpO20+dSYmKHU9bSxsPWYpfXJldHVybiBlLmRlbHRhKGwpfWZ1bmN0aW9uIHFsKGUsdCxuKXtjb25zdCByPVtdO2Zvcihjb25zdCBpIG9mIG4pe2NvbnN0IHM9cltyLmxlbmd0aC0xXTtpZighcyl7ci5wdXNoKGkpO2NvbnRpbnVlfWkuc2VxMVJhbmdlLnN0YXJ0LXMuc2VxMVJhbmdlLmVuZEV4Y2x1c2l2ZTw9Mnx8aS5zZXEyUmFuZ2Uuc3RhcnQtcy5zZXEyUmFuZ2UuZW5kRXhjbHVzaXZlPD0yP3Jbci5sZW5ndGgtMV09bmV3IEsocy5zZXExUmFuZ2Uuam9pbihpLnNlcTFSYW5nZSkscy5zZXEyUmFuZ2Uuam9pbihpLnNlcTJSYW5nZSkpOnIucHVzaChpKX1yZXR1cm4gcn1mdW5jdGlvbiBIbChlLHQsbil7Y29uc3Qgcj1LLmludmVydChuLGUubGVuZ3RoKSxpPVtdO2xldCBzPW5ldyB4ZSgwLDApO2Z1bmN0aW9uIGEobCx1KXtpZihsLm9mZnNldDE8cy5vZmZzZXQxfHxsLm9mZnNldDI8cy5vZmZzZXQyKXJldHVybjtjb25zdCBmPWUuZmluZFdvcmRDb250YWluaW5nKGwub2Zmc2V0MSksaD10LmZpbmRXb3JkQ29udGFpbmluZyhsLm9mZnNldDIpO2lmKCFmfHwhaClyZXR1cm47bGV0IGQ9bmV3IEsoZixoKTtjb25zdCBnPWQuaW50ZXJzZWN0KHUpO2xldCBtPWcuc2VxMVJhbmdlLmxlbmd0aCx2PWcuc2VxMlJhbmdlLmxlbmd0aDtmb3IoO3IubGVuZ3RoPjA7KXtjb25zdCBwPXJbMF07aWYoIShwLnNlcTFSYW5nZS5pbnRlcnNlY3RzKGQuc2VxMVJhbmdlKXx8cC5zZXEyUmFuZ2UuaW50ZXJzZWN0cyhkLnNlcTJSYW5nZSkpKWJyZWFrO2NvbnN0IHg9ZS5maW5kV29yZENvbnRhaW5pbmcocC5zZXExUmFuZ2Uuc3RhcnQpLGI9dC5maW5kV29yZENvbnRhaW5pbmcocC5zZXEyUmFuZ2Uuc3RhcnQpLFM9bmV3IEsoeCxiKSxOPVMuaW50ZXJzZWN0KHApO2lmKG0rPU4uc2VxMVJhbmdlLmxlbmd0aCx2Kz1OLnNlcTJSYW5nZS5sZW5ndGgsZD1kLmpvaW4oUyksZC5zZXExUmFuZ2UuZW5kRXhjbHVzaXZlPj1wLnNlcTFSYW5nZS5lbmRFeGNsdXNpdmUpci5zaGlmdCgpO2Vsc2UgYnJlYWt9bSt2PChkLnNlcTFSYW5nZS5sZW5ndGgrZC5zZXEyUmFuZ2UubGVuZ3RoKSoyLzMmJmkucHVzaChkKSxzPWQuZ2V0RW5kRXhjbHVzaXZlcygpfWZvcig7ci5sZW5ndGg+MDspe2NvbnN0IGw9ci5zaGlmdCgpO2wuc2VxMVJhbmdlLmlzRW1wdHl8fChhKGwuZ2V0U3RhcnRzKCksbCksYShsLmdldEVuZEV4Y2x1c2l2ZXMoKS5kZWx0YSgtMSksbCkpfXJldHVybiAkbChuLGkpfWZ1bmN0aW9uICRsKGUsdCl7Y29uc3Qgbj1bXTtmb3IoO2UubGVuZ3RoPjB8fHQubGVuZ3RoPjA7KXtjb25zdCByPWVbMF0saT10WzBdO2xldCBzO3ImJighaXx8ci5zZXExUmFuZ2Uuc3RhcnQ8aS5zZXExUmFuZ2Uuc3RhcnQpP3M9ZS5zaGlmdCgpOnM9dC5zaGlmdCgpLG4ubGVuZ3RoPjAmJm5bbi5sZW5ndGgtMV0uc2VxMVJhbmdlLmVuZEV4Y2x1c2l2ZT49cy5zZXExUmFuZ2Uuc3RhcnQ/bltuLmxlbmd0aC0xXT1uW24ubGVuZ3RoLTFdLmpvaW4ocyk6bi5wdXNoKHMpfXJldHVybiBufWZ1bmN0aW9uIFdsKGUsdCxuKXtsZXQgcj1uO2lmKHIubGVuZ3RoPT09MClyZXR1cm4gcjtsZXQgaT0wLHM7ZG97cz0hMTtjb25zdCBhPVtyWzBdXTtmb3IobGV0IG89MTtvPHIubGVuZ3RoO28rKyl7bGV0IGY9ZnVuY3Rpb24oZCxnKXtjb25zdCBtPW5ldyB6KHUuc2VxMVJhbmdlLmVuZEV4Y2x1c2l2ZSxsLnNlcTFSYW5nZS5zdGFydCk7cmV0dXJuIGUuZ2V0VGV4dChtKS5yZXBsYWNlKC9ccy9nLCIiKS5sZW5ndGg8PTQmJihkLnNlcTFSYW5nZS5sZW5ndGgrZC5zZXEyUmFuZ2UubGVuZ3RoPjV8fGcuc2VxMVJhbmdlLmxlbmd0aCtnLnNlcTJSYW5nZS5sZW5ndGg+NSl9O2NvbnN0IGw9cltvXSx1PWFbYS5sZW5ndGgtMV07Zih1LGwpPyhzPSEwLGFbYS5sZW5ndGgtMV09YVthLmxlbmd0aC0xXS5qb2luKGwpKTphLnB1c2gobCl9cj1hfXdoaWxlKGkrKzwxMCYmcyk7cmV0dXJuIHJ9ZnVuY3Rpb24gemwoZSx0LG4pe2xldCByPW47aWYoci5sZW5ndGg9PT0wKXJldHVybiByO2xldCBpPTAscztkb3tzPSExO2NvbnN0IG89W3JbMF1dO2ZvcihsZXQgbD0xO2w8ci5sZW5ndGg7bCsrKXtsZXQgaD1mdW5jdGlvbihnLG0pe2NvbnN0IHY9bmV3IHooZi5zZXExUmFuZ2UuZW5kRXhjbHVzaXZlLHUuc2VxMVJhbmdlLnN0YXJ0KTtpZihlLmNvdW50TGluZXNJbih2KT41fHx2Lmxlbmd0aD41MDApcmV0dXJuITE7Y29uc3QgXz1lLmdldFRleHQodikudHJpbSgpO2lmKF8ubGVuZ3RoPjIwfHxfLnNwbGl0KC9cclxufFxyfFxuLykubGVuZ3RoPjEpcmV0dXJuITE7Y29uc3QgeD1lLmNvdW50TGluZXNJbihnLnNlcTFSYW5nZSksYj1nLnNlcTFSYW5nZS5sZW5ndGgsUz10LmNvdW50TGluZXNJbihnLnNlcTJSYW5nZSksTj1nLnNlcTJSYW5nZS5sZW5ndGgsdz1lLmNvdW50TGluZXNJbihtLnNlcTFSYW5nZSksTD1tLnNlcTFSYW5nZS5sZW5ndGgsQT10LmNvdW50TGluZXNJbihtLnNlcTJSYW5nZSksUj1tLnNlcTJSYW5nZS5sZW5ndGgsRj0yKjQwKzUwO2Z1bmN0aW9uIEMoeSl7cmV0dXJuIE1hdGgubWluKHksRil9cmV0dXJuIE1hdGgucG93KE1hdGgucG93KEMoeCo0MCtiKSwxLjUpK01hdGgucG93KEMoUyo0MCtOKSwxLjUpLDEuNSkrTWF0aC5wb3coTWF0aC5wb3coQyh3KjQwK0wpLDEuNSkrTWF0aC5wb3coQyhBKjQwK1IpLDEuNSksMS41KT4oRioqMS41KSoqMS41KjEuM307Y29uc3QgdT1yW2xdLGY9b1tvLmxlbmd0aC0xXTtoKGYsdSk/KHM9ITAsb1tvLmxlbmd0aC0xXT1vW28ubGVuZ3RoLTFdLmpvaW4odSkpOm8ucHVzaCh1KX1yPW99d2hpbGUoaSsrPDEwJiZzKTtjb25zdCBhPVtdO3JldHVybiBxbyhyLChvLGwsdSk9PntsZXQgZj1sO2Z1bmN0aW9uIGgoXyl7cmV0dXJuIF8ubGVuZ3RoPjAmJl8udHJpbSgpLmxlbmd0aDw9MyYmbC5zZXExUmFuZ2UubGVuZ3RoK2wuc2VxMlJhbmdlLmxlbmd0aD4xMDB9Y29uc3QgZD1lLmV4dGVuZFRvRnVsbExpbmVzKGwuc2VxMVJhbmdlKSxnPWUuZ2V0VGV4dChuZXcgeihkLnN0YXJ0LGwuc2VxMVJhbmdlLnN0YXJ0KSk7aChnKSYmKGY9Zi5kZWx0YVN0YXJ0KC1nLmxlbmd0aCkpO2NvbnN0IG09ZS5nZXRUZXh0KG5ldyB6KGwuc2VxMVJhbmdlLmVuZEV4Y2x1c2l2ZSxkLmVuZEV4Y2x1c2l2ZSkpO2gobSkmJihmPWYuZGVsdGFFbmQobS5sZW5ndGgpKTtjb25zdCB2PUsuZnJvbU9mZnNldFBhaXJzKG8/by5nZXRFbmRFeGNsdXNpdmVzKCk6eGUuemVybyx1P3UuZ2V0U3RhcnRzKCk6eGUubWF4KSxwPWYuaW50ZXJzZWN0KHYpO2EubGVuZ3RoPjAmJnAuZ2V0U3RhcnRzKCkuZXF1YWxzKGFbYS5sZW5ndGgtMV0uZ2V0RW5kRXhjbHVzaXZlcygpKT9hW2EubGVuZ3RoLTFdPWFbYS5sZW5ndGgtMV0uam9pbihwKTphLnB1c2gocCl9KSxhfWNsYXNzIFNze2NvbnN0cnVjdG9yKHQsbil7dGhpcy50cmltbWVkSGFzaD10LHRoaXMubGluZXM9bn1nZXRFbGVtZW50KHQpe3JldHVybiB0aGlzLnRyaW1tZWRIYXNoW3RdfWdldCBsZW5ndGgoKXtyZXR1cm4gdGhpcy50cmltbWVkSGFzaC5sZW5ndGh9Z2V0Qm91bmRhcnlTY29yZSh0KXtjb25zdCBuPXQ9PT0wPzA6THModGhpcy5saW5lc1t0LTFdKSxyPXQ9PT10aGlzLmxpbmVzLmxlbmd0aD8wOkxzKHRoaXMubGluZXNbdF0pO3JldHVybiAxZTMtKG4rcil9Z2V0VGV4dCh0KXtyZXR1cm4gdGhpcy5saW5lcy5zbGljZSh0LnN0YXJ0LHQuZW5kRXhjbHVzaXZlKS5qb2luKGAKYCl9aXNTdHJvbmdseUVxdWFsKHQsbil7cmV0dXJuIHRoaXMubGluZXNbdF09PT10aGlzLmxpbmVzW25dfX1mdW5jdGlvbiBMcyhlKXtsZXQgdD0wO2Zvcig7dDxlLmxlbmd0aCYmKGUuY2hhckNvZGVBdCh0KT09PTMyfHxlLmNoYXJDb2RlQXQodCk9PT05KTspdCsrO3JldHVybiB0fWNsYXNzIEdse2NvbnN0cnVjdG9yKCl7dGhpcy5keW5hbWljUHJvZ3JhbW1pbmdEaWZmaW5nPW5ldyBUbCx0aGlzLm15ZXJzRGlmZmluZ0FsZ29yaXRobT1uZXcgcHN9Y29tcHV0ZURpZmYodCxuLHIpe2lmKHQubGVuZ3RoPD0xJiZVbyh0LG4sKE4sdyk9Pk49PT13KSlyZXR1cm4gbmV3IGZuKFtdLFtdLCExKTtpZih0Lmxlbmd0aD09PTEmJnRbMF0ubGVuZ3RoPT09MHx8bi5sZW5ndGg9PT0xJiZuWzBdLmxlbmd0aD09PTApcmV0dXJuIG5ldyBmbihbbmV3IEJlKG5ldyBXKDEsdC5sZW5ndGgrMSksbmV3IFcoMSxuLmxlbmd0aCsxKSxbbmV3IHh0KG5ldyBzZSgxLDEsdC5sZW5ndGgsdFswXS5sZW5ndGgrMSksbmV3IHNlKDEsMSxuLmxlbmd0aCxuWzBdLmxlbmd0aCsxKSldKV0sW10sITEpO2NvbnN0IGk9ci5tYXhDb21wdXRhdGlvblRpbWVNcz09PTA/RHQuaW5zdGFuY2U6bmV3IFJsKHIubWF4Q29tcHV0YXRpb25UaW1lTXMpLHM9IXIuaWdub3JlVHJpbVdoaXRlc3BhY2UsYT1uZXcgTWFwO2Z1bmN0aW9uIG8oTil7bGV0IHc9YS5nZXQoTik7cmV0dXJuIHc9PT12b2lkIDAmJih3PWEuc2l6ZSxhLnNldChOLHcpKSx3fWNvbnN0IGw9dC5tYXAoTj0+byhOLnRyaW0oKSkpLHU9bi5tYXAoTj0+byhOLnRyaW0oKSkpLGY9bmV3IFNzKGwsdCksaD1uZXcgU3ModSxuKSxkPWYubGVuZ3RoK2gubGVuZ3RoPDE3MDA/dGhpcy5keW5hbWljUHJvZ3JhbW1pbmdEaWZmaW5nLmNvbXB1dGUoZixoLGksKE4sdyk9PnRbTl09PT1uW3ddP25bd10ubGVuZ3RoPT09MD8uMToxK01hdGgubG9nKDErblt3XS5sZW5ndGgpOi45OSk6dGhpcy5teWVyc0RpZmZpbmdBbGdvcml0aG0uY29tcHV0ZShmLGgpO2xldCBnPWQuZGlmZnMsbT1kLmhpdFRpbWVvdXQ7Zz15cyhmLGgsZyksZz1XbChmLGgsZyk7Y29uc3Qgdj1bXSxwPU49PntpZihzKWZvcihsZXQgdz0wO3c8Tjt3Kyspe2NvbnN0IEw9Xyt3LEE9eCt3O2lmKHRbTF0hPT1uW0FdKXtjb25zdCBSPXRoaXMucmVmaW5lRGlmZih0LG4sbmV3IEsobmV3IHooTCxMKzEpLG5ldyB6KEEsQSsxKSksaSxzKTtmb3IoY29uc3QgRiBvZiBSLm1hcHBpbmdzKXYucHVzaChGKTtSLmhpdFRpbWVvdXQmJihtPSEwKX19fTtsZXQgXz0wLHg9MDtmb3IoY29uc3QgTiBvZiBnKXtjbigoKT0+Ti5zZXExUmFuZ2Uuc3RhcnQtXz09PU4uc2VxMlJhbmdlLnN0YXJ0LXgpO2NvbnN0IHc9Ti5zZXExUmFuZ2Uuc3RhcnQtXztwKHcpLF89Ti5zZXExUmFuZ2UuZW5kRXhjbHVzaXZlLHg9Ti5zZXEyUmFuZ2UuZW5kRXhjbHVzaXZlO2NvbnN0IEw9dGhpcy5yZWZpbmVEaWZmKHQsbixOLGkscyk7TC5oaXRUaW1lb3V0JiYobT0hMCk7Zm9yKGNvbnN0IEEgb2YgTC5tYXBwaW5ncyl2LnB1c2goQSl9cCh0Lmxlbmd0aC1fKTtjb25zdCBiPUFzKHYsdCxuKTtsZXQgUz1bXTtyZXR1cm4gci5jb21wdXRlTW92ZXMmJihTPXRoaXMuY29tcHV0ZU1vdmVzKGIsdCxuLGwsdSxpLHMpKSxjbigoKT0+e2Z1bmN0aW9uIE4oTCxBKXtpZihMLmxpbmVOdW1iZXI8MXx8TC5saW5lTnVtYmVyPkEubGVuZ3RoKXJldHVybiExO2NvbnN0IFI9QVtMLmxpbmVOdW1iZXItMV07cmV0dXJuIShMLmNvbHVtbjwxfHxMLmNvbHVtbj5SLmxlbmd0aCsxKX1mdW5jdGlvbiB3KEwsQSl7cmV0dXJuIShMLnN0YXJ0TGluZU51bWJlcjwxfHxMLnN0YXJ0TGluZU51bWJlcj5BLmxlbmd0aCsxfHxMLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU8MXx8TC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlPkEubGVuZ3RoKzEpfWZvcihjb25zdCBMIG9mIGIpe2lmKCFMLmlubmVyQ2hhbmdlcylyZXR1cm4hMTtmb3IoY29uc3QgQSBvZiBMLmlubmVyQ2hhbmdlcylpZighKE4oQS5tb2RpZmllZFJhbmdlLmdldFN0YXJ0UG9zaXRpb24oKSxuKSYmTihBLm1vZGlmaWVkUmFuZ2UuZ2V0RW5kUG9zaXRpb24oKSxuKSYmTihBLm9yaWdpbmFsUmFuZ2UuZ2V0U3RhcnRQb3NpdGlvbigpLHQpJiZOKEEub3JpZ2luYWxSYW5nZS5nZXRFbmRQb3NpdGlvbigpLHQpKSlyZXR1cm4hMTtpZighdyhMLm1vZGlmaWVkLG4pfHwhdyhMLm9yaWdpbmFsLHQpKXJldHVybiExfXJldHVybiEwfSksbmV3IGZuKGIsUyxtKX1jb21wdXRlTW92ZXModCxuLHIsaSxzLGEsbyl7cmV0dXJuIEZsKHQsbixyLGkscyxhKS5tYXAoZj0+e2NvbnN0IGg9dGhpcy5yZWZpbmVEaWZmKG4scixuZXcgSyhmLm9yaWdpbmFsLnRvT2Zmc2V0UmFuZ2UoKSxmLm1vZGlmaWVkLnRvT2Zmc2V0UmFuZ2UoKSksYSxvKSxkPUFzKGgubWFwcGluZ3MsbixyLCEwKTtyZXR1cm4gbmV3IE5sKGYsZCl9KX1yZWZpbmVEaWZmKHQsbixyLGkscyl7Y29uc3QgYT1uZXcgaG4odCxyLnNlcTFSYW5nZSxzKSxvPW5ldyBobihuLHIuc2VxMlJhbmdlLHMpLGw9YS5sZW5ndGgrby5sZW5ndGg8NTAwP3RoaXMuZHluYW1pY1Byb2dyYW1taW5nRGlmZmluZy5jb21wdXRlKGEsbyxpKTp0aGlzLm15ZXJzRGlmZmluZ0FsZ29yaXRobS5jb21wdXRlKGEsbyxpKTtsZXQgdT1sLmRpZmZzO3JldHVybiB1PXlzKGEsbyx1KSx1PUhsKGEsbyx1KSx1PXFsKGEsbyx1KSx1PXpsKGEsbyx1KSx7bWFwcGluZ3M6dS5tYXAoaD0+bmV3IHh0KGEudHJhbnNsYXRlUmFuZ2UoaC5zZXExUmFuZ2UpLG8udHJhbnNsYXRlUmFuZ2UoaC5zZXEyUmFuZ2UpKSksaGl0VGltZW91dDpsLmhpdFRpbWVvdXR9fX1mdW5jdGlvbiBBcyhlLHQsbixyPSExKXtjb25zdCBpPVtdO2Zvcihjb25zdCBzIG9mIEJvKGUubWFwKGE9PkpsKGEsdCxuKSksKGEsbyk9PmEub3JpZ2luYWwub3ZlcmxhcE9yVG91Y2goby5vcmlnaW5hbCl8fGEubW9kaWZpZWQub3ZlcmxhcE9yVG91Y2goby5tb2RpZmllZCkpKXtjb25zdCBhPXNbMF0sbz1zW3MubGVuZ3RoLTFdO2kucHVzaChuZXcgQmUoYS5vcmlnaW5hbC5qb2luKG8ub3JpZ2luYWwpLGEubW9kaWZpZWQuam9pbihvLm1vZGlmaWVkKSxzLm1hcChsPT5sLmlubmVyQ2hhbmdlc1swXSkpKX1yZXR1cm4gY24oKCk9PiFyJiZpLmxlbmd0aD4wJiYoaVswXS5tb2RpZmllZC5zdGFydExpbmVOdW1iZXIhPT1pWzBdLm9yaWdpbmFsLnN0YXJ0TGluZU51bWJlcnx8bi5sZW5ndGgtaVtpLmxlbmd0aC0xXS5tb2RpZmllZC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlIT09dC5sZW5ndGgtaVtpLmxlbmd0aC0xXS5vcmlnaW5hbC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlKT8hMTpjcyhpLChzLGEpPT5hLm9yaWdpbmFsLnN0YXJ0TGluZU51bWJlci1zLm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmU9PT1hLm1vZGlmaWVkLnN0YXJ0TGluZU51bWJlci1zLm1vZGlmaWVkLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUmJnMub3JpZ2luYWwuZW5kTGluZU51bWJlckV4Y2x1c2l2ZTxhLm9yaWdpbmFsLnN0YXJ0TGluZU51bWJlciYmcy5tb2RpZmllZC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlPGEubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyKSksaX1mdW5jdGlvbiBKbChlLHQsbil7bGV0IHI9MCxpPTA7ZS5tb2RpZmllZFJhbmdlLmVuZENvbHVtbj09PTEmJmUub3JpZ2luYWxSYW5nZS5lbmRDb2x1bW49PT0xJiZlLm9yaWdpbmFsUmFuZ2Uuc3RhcnRMaW5lTnVtYmVyK3I8PWUub3JpZ2luYWxSYW5nZS5lbmRMaW5lTnVtYmVyJiZlLm1vZGlmaWVkUmFuZ2Uuc3RhcnRMaW5lTnVtYmVyK3I8PWUubW9kaWZpZWRSYW5nZS5lbmRMaW5lTnVtYmVyJiYoaT0tMSksZS5tb2RpZmllZFJhbmdlLnN0YXJ0Q29sdW1uLTE+PW5bZS5tb2RpZmllZFJhbmdlLnN0YXJ0TGluZU51bWJlci0xXS5sZW5ndGgmJmUub3JpZ2luYWxSYW5nZS5zdGFydENvbHVtbi0xPj10W2Uub3JpZ2luYWxSYW5nZS5zdGFydExpbmVOdW1iZXItMV0ubGVuZ3RoJiZlLm9yaWdpbmFsUmFuZ2Uuc3RhcnRMaW5lTnVtYmVyPD1lLm9yaWdpbmFsUmFuZ2UuZW5kTGluZU51bWJlcitpJiZlLm1vZGlmaWVkUmFuZ2Uuc3RhcnRMaW5lTnVtYmVyPD1lLm1vZGlmaWVkUmFuZ2UuZW5kTGluZU51bWJlcitpJiYocj0xKTtjb25zdCBzPW5ldyBXKGUub3JpZ2luYWxSYW5nZS5zdGFydExpbmVOdW1iZXIrcixlLm9yaWdpbmFsUmFuZ2UuZW5kTGluZU51bWJlcisxK2kpLGE9bmV3IFcoZS5tb2RpZmllZFJhbmdlLnN0YXJ0TGluZU51bWJlcityLGUubW9kaWZpZWRSYW5nZS5lbmRMaW5lTnVtYmVyKzEraSk7cmV0dXJuIG5ldyBCZShzLGEsW2VdKX1jb25zdCBDcz17Z2V0TGVnYWN5OigpPT5uZXcgQWwsZ2V0RGVmYXVsdDooKT0+bmV3IEdsfTtmdW5jdGlvbiBaZShlLHQpe2NvbnN0IG49TWF0aC5wb3coMTAsdCk7cmV0dXJuIE1hdGgucm91bmQoZSpuKS9ufWNsYXNzIGFle2NvbnN0cnVjdG9yKHQsbixyLGk9MSl7dGhpcy5fcmdiYUJyYW5kPXZvaWQgMCx0aGlzLnI9TWF0aC5taW4oMjU1LE1hdGgubWF4KDAsdCkpfDAsdGhpcy5nPU1hdGgubWluKDI1NSxNYXRoLm1heCgwLG4pKXwwLHRoaXMuYj1NYXRoLm1pbigyNTUsTWF0aC5tYXgoMCxyKSl8MCx0aGlzLmE9WmUoTWF0aC5tYXgoTWF0aC5taW4oMSxpKSwwKSwzKX1zdGF0aWMgZXF1YWxzKHQsbil7cmV0dXJuIHQucj09PW4uciYmdC5nPT09bi5nJiZ0LmI9PT1uLmImJnQuYT09PW4uYX19Y2xhc3MgU2V7Y29uc3RydWN0b3IodCxuLHIsaSl7dGhpcy5faHNsYUJyYW5kPXZvaWQgMCx0aGlzLmg9TWF0aC5tYXgoTWF0aC5taW4oMzYwLHQpLDApfDAsdGhpcy5zPVplKE1hdGgubWF4KE1hdGgubWluKDEsbiksMCksMyksdGhpcy5sPVplKE1hdGgubWF4KE1hdGgubWluKDEsciksMCksMyksdGhpcy5hPVplKE1hdGgubWF4KE1hdGgubWluKDEsaSksMCksMyl9c3RhdGljIGVxdWFscyh0LG4pe3JldHVybiB0Lmg9PT1uLmgmJnQucz09PW4ucyYmdC5sPT09bi5sJiZ0LmE9PT1uLmF9c3RhdGljIGZyb21SR0JBKHQpe2NvbnN0IG49dC5yLzI1NSxyPXQuZy8yNTUsaT10LmIvMjU1LHM9dC5hLGE9TWF0aC5tYXgobixyLGkpLG89TWF0aC5taW4obixyLGkpO2xldCBsPTAsdT0wO2NvbnN0IGY9KG8rYSkvMixoPWEtbztpZihoPjApe3N3aXRjaCh1PU1hdGgubWluKGY8PS41P2gvKDIqZik6aC8oMi0yKmYpLDEpLGEpe2Nhc2UgbjpsPShyLWkpL2grKHI8aT82OjApO2JyZWFrO2Nhc2UgcjpsPShpLW4pL2grMjticmVhaztjYXNlIGk6bD0obi1yKS9oKzQ7YnJlYWt9bCo9NjAsbD1NYXRoLnJvdW5kKGwpfXJldHVybiBuZXcgU2UobCx1LGYscyl9c3RhdGljIF9odWUycmdiKHQsbixyKXtyZXR1cm4gcjwwJiYocis9MSkscj4xJiYoci09MSkscjwxLzY/dCsobi10KSo2KnI6cjwxLzI/bjpyPDIvMz90KyhuLXQpKigyLzMtcikqNjp0fXN0YXRpYyB0b1JHQkEodCl7Y29uc3Qgbj10LmgvMzYwLHtzOnIsbDppLGE6c309dDtsZXQgYSxvLGw7aWYocj09PTApYT1vPWw9aTtlbHNle2NvbnN0IHU9aTwuNT9pKigxK3IpOmkrci1pKnIsZj0yKmktdTthPVNlLl9odWUycmdiKGYsdSxuKzEvMyksbz1TZS5faHVlMnJnYihmLHUsbiksbD1TZS5faHVlMnJnYihmLHUsbi0xLzMpfXJldHVybiBuZXcgYWUoTWF0aC5yb3VuZChhKjI1NSksTWF0aC5yb3VuZChvKjI1NSksTWF0aC5yb3VuZChsKjI1NSkscyl9fWNsYXNzIE50e2NvbnN0cnVjdG9yKHQsbixyLGkpe3RoaXMuX2hzdmFCcmFuZD12b2lkIDAsdGhpcy5oPU1hdGgubWF4KE1hdGgubWluKDM2MCx0KSwwKXwwLHRoaXMucz1aZShNYXRoLm1heChNYXRoLm1pbigxLG4pLDApLDMpLHRoaXMudj1aZShNYXRoLm1heChNYXRoLm1pbigxLHIpLDApLDMpLHRoaXMuYT1aZShNYXRoLm1heChNYXRoLm1pbigxLGkpLDApLDMpfXN0YXRpYyBlcXVhbHModCxuKXtyZXR1cm4gdC5oPT09bi5oJiZ0LnM9PT1uLnMmJnQudj09PW4udiYmdC5hPT09bi5hfXN0YXRpYyBmcm9tUkdCQSh0KXtjb25zdCBuPXQuci8yNTUscj10LmcvMjU1LGk9dC5iLzI1NSxzPU1hdGgubWF4KG4scixpKSxhPU1hdGgubWluKG4scixpKSxvPXMtYSxsPXM9PT0wPzA6by9zO2xldCB1O3JldHVybiBvPT09MD91PTA6cz09PW4/dT0oKHItaSkvbyU2KzYpJTY6cz09PXI/dT0oaS1uKS9vKzI6dT0obi1yKS9vKzQsbmV3IE50KE1hdGgucm91bmQodSo2MCksbCxzLHQuYSl9c3RhdGljIHRvUkdCQSh0KXtjb25zdHtoOm4sczpyLHY6aSxhOnN9PXQsYT1pKnIsbz1hKigxLU1hdGguYWJzKG4vNjAlMi0xKSksbD1pLWE7bGV0W3UsZixoXT1bMCwwLDBdO3JldHVybiBuPDYwPyh1PWEsZj1vKTpuPDEyMD8odT1vLGY9YSk6bjwxODA/KGY9YSxoPW8pOm48MjQwPyhmPW8saD1hKTpuPDMwMD8odT1vLGg9YSk6bjw9MzYwJiYodT1hLGg9byksdT1NYXRoLnJvdW5kKCh1K2wpKjI1NSksZj1NYXRoLnJvdW5kKChmK2wpKjI1NSksaD1NYXRoLnJvdW5kKChoK2wpKjI1NSksbmV3IGFlKHUsZixoLHMpfX1sZXQgcmU9Y2xhc3MgTGV7c3RhdGljIGZyb21IZXgodCl7cmV0dXJuIExlLkZvcm1hdC5DU1MucGFyc2VIZXgodCl8fExlLnJlZH1zdGF0aWMgZXF1YWxzKHQsbil7cmV0dXJuIXQmJiFuPyEwOiF0fHwhbj8hMTp0LmVxdWFscyhuKX1nZXQgaHNsYSgpe3JldHVybiB0aGlzLl9oc2xhP3RoaXMuX2hzbGE6U2UuZnJvbVJHQkEodGhpcy5yZ2JhKX1nZXQgaHN2YSgpe3JldHVybiB0aGlzLl9oc3ZhP3RoaXMuX2hzdmE6TnQuZnJvbVJHQkEodGhpcy5yZ2JhKX1jb25zdHJ1Y3Rvcih0KXtpZih0KWlmKHQgaW5zdGFuY2VvZiBhZSl0aGlzLnJnYmE9dDtlbHNlIGlmKHQgaW5zdGFuY2VvZiBTZSl0aGlzLl9oc2xhPXQsdGhpcy5yZ2JhPVNlLnRvUkdCQSh0KTtlbHNlIGlmKHQgaW5zdGFuY2VvZiBOdCl0aGlzLl9oc3ZhPXQsdGhpcy5yZ2JhPU50LnRvUkdCQSh0KTtlbHNlIHRocm93IG5ldyBFcnJvcigiSW52YWxpZCBjb2xvciBjdG9yIGFyZ3VtZW50Iik7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkNvbG9yIG5lZWRzIGEgdmFsdWUiKX1lcXVhbHModCl7cmV0dXJuISF0JiZhZS5lcXVhbHModGhpcy5yZ2JhLHQucmdiYSkmJlNlLmVxdWFscyh0aGlzLmhzbGEsdC5oc2xhKSYmTnQuZXF1YWxzKHRoaXMuaHN2YSx0LmhzdmEpfWdldFJlbGF0aXZlTHVtaW5hbmNlKCl7Y29uc3QgdD1MZS5fcmVsYXRpdmVMdW1pbmFuY2VGb3JDb21wb25lbnQodGhpcy5yZ2JhLnIpLG49TGUuX3JlbGF0aXZlTHVtaW5hbmNlRm9yQ29tcG9uZW50KHRoaXMucmdiYS5nKSxyPUxlLl9yZWxhdGl2ZUx1bWluYW5jZUZvckNvbXBvbmVudCh0aGlzLnJnYmEuYiksaT0uMjEyNip0Ky43MTUyKm4rLjA3MjIqcjtyZXR1cm4gWmUoaSw0KX1zdGF0aWMgX3JlbGF0aXZlTHVtaW5hbmNlRm9yQ29tcG9uZW50KHQpe2NvbnN0IG49dC8yNTU7cmV0dXJuIG48PS4wMzkyOD9uLzEyLjkyOk1hdGgucG93KChuKy4wNTUpLzEuMDU1LDIuNCl9aXNMaWdodGVyKCl7cmV0dXJuKHRoaXMucmdiYS5yKjI5OSt0aGlzLnJnYmEuZyo1ODcrdGhpcy5yZ2JhLmIqMTE0KS8xZTM+PTEyOH1pc0xpZ2h0ZXJUaGFuKHQpe2NvbnN0IG49dGhpcy5nZXRSZWxhdGl2ZUx1bWluYW5jZSgpLHI9dC5nZXRSZWxhdGl2ZUx1bWluYW5jZSgpO3JldHVybiBuPnJ9aXNEYXJrZXJUaGFuKHQpe2NvbnN0IG49dGhpcy5nZXRSZWxhdGl2ZUx1bWluYW5jZSgpLHI9dC5nZXRSZWxhdGl2ZUx1bWluYW5jZSgpO3JldHVybiBuPHJ9bGlnaHRlbih0KXtyZXR1cm4gbmV3IExlKG5ldyBTZSh0aGlzLmhzbGEuaCx0aGlzLmhzbGEucyx0aGlzLmhzbGEubCt0aGlzLmhzbGEubCp0LHRoaXMuaHNsYS5hKSl9ZGFya2VuKHQpe3JldHVybiBuZXcgTGUobmV3IFNlKHRoaXMuaHNsYS5oLHRoaXMuaHNsYS5zLHRoaXMuaHNsYS5sLXRoaXMuaHNsYS5sKnQsdGhpcy5oc2xhLmEpKX10cmFuc3BhcmVudCh0KXtjb25zdHtyOm4sZzpyLGI6aSxhOnN9PXRoaXMucmdiYTtyZXR1cm4gbmV3IExlKG5ldyBhZShuLHIsaSxzKnQpKX1pc1RyYW5zcGFyZW50KCl7cmV0dXJuIHRoaXMucmdiYS5hPT09MH1pc09wYXF1ZSgpe3JldHVybiB0aGlzLnJnYmEuYT09PTF9b3Bwb3NpdGUoKXtyZXR1cm4gbmV3IExlKG5ldyBhZSgyNTUtdGhpcy5yZ2JhLnIsMjU1LXRoaXMucmdiYS5nLDI1NS10aGlzLnJnYmEuYix0aGlzLnJnYmEuYSkpfW1ha2VPcGFxdWUodCl7aWYodGhpcy5pc09wYXF1ZSgpfHx0LnJnYmEuYSE9PTEpcmV0dXJuIHRoaXM7Y29uc3R7cjpuLGc6cixiOmksYTpzfT10aGlzLnJnYmE7cmV0dXJuIG5ldyBMZShuZXcgYWUodC5yZ2JhLnItcyoodC5yZ2JhLnItbiksdC5yZ2JhLmctcyoodC5yZ2JhLmctciksdC5yZ2JhLmItcyoodC5yZ2JhLmItaSksMSkpfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuX3RvU3RyaW5nfHwodGhpcy5fdG9TdHJpbmc9TGUuRm9ybWF0LkNTUy5mb3JtYXQodGhpcykpLHRoaXMuX3RvU3RyaW5nfXN0YXRpYyBnZXRMaWdodGVyQ29sb3IodCxuLHIpe2lmKHQuaXNMaWdodGVyVGhhbihuKSlyZXR1cm4gdDtyPXJ8fC41O2NvbnN0IGk9dC5nZXRSZWxhdGl2ZUx1bWluYW5jZSgpLHM9bi5nZXRSZWxhdGl2ZUx1bWluYW5jZSgpO3JldHVybiByPXIqKHMtaSkvcyx0LmxpZ2h0ZW4ocil9c3RhdGljIGdldERhcmtlckNvbG9yKHQsbixyKXtpZih0LmlzRGFya2VyVGhhbihuKSlyZXR1cm4gdDtyPXJ8fC41O2NvbnN0IGk9dC5nZXRSZWxhdGl2ZUx1bWluYW5jZSgpLHM9bi5nZXRSZWxhdGl2ZUx1bWluYW5jZSgpO3JldHVybiByPXIqKGktcykvaSx0LmRhcmtlbihyKX19O3JlLndoaXRlPW5ldyByZShuZXcgYWUoMjU1LDI1NSwyNTUsMSkpLHJlLmJsYWNrPW5ldyByZShuZXcgYWUoMCwwLDAsMSkpLHJlLnJlZD1uZXcgcmUobmV3IGFlKDI1NSwwLDAsMSkpLHJlLmJsdWU9bmV3IHJlKG5ldyBhZSgwLDAsMjU1LDEpKSxyZS5ncmVlbj1uZXcgcmUobmV3IGFlKDAsMjU1LDAsMSkpLHJlLmN5YW49bmV3IHJlKG5ldyBhZSgwLDI1NSwyNTUsMSkpLHJlLmxpZ2h0Z3JleT1uZXcgcmUobmV3IGFlKDIxMSwyMTEsMjExLDEpKSxyZS50cmFuc3BhcmVudD1uZXcgcmUobmV3IGFlKDAsMCwwLDApKSxmdW5jdGlvbihlKXsoZnVuY3Rpb24odCl7KGZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIoZyl7cmV0dXJuIGcucmdiYS5hPT09MT9gcmdiKCR7Zy5yZ2JhLnJ9LCAke2cucmdiYS5nfSwgJHtnLnJnYmEuYn0pYDplLkZvcm1hdC5DU1MuZm9ybWF0UkdCQShnKX1uLmZvcm1hdFJHQj1yO2Z1bmN0aW9uIGkoZyl7cmV0dXJuYHJnYmEoJHtnLnJnYmEucn0sICR7Zy5yZ2JhLmd9LCAke2cucmdiYS5ifSwgJHsrZy5yZ2JhLmEudG9GaXhlZCgyKX0pYH1uLmZvcm1hdFJHQkE9aTtmdW5jdGlvbiBzKGcpe3JldHVybiBnLmhzbGEuYT09PTE/YGhzbCgke2cuaHNsYS5ofSwgJHsoZy5oc2xhLnMqMTAwKS50b0ZpeGVkKDIpfSUsICR7KGcuaHNsYS5sKjEwMCkudG9GaXhlZCgyKX0lKWA6ZS5Gb3JtYXQuQ1NTLmZvcm1hdEhTTEEoZyl9bi5mb3JtYXRIU0w9cztmdW5jdGlvbiBhKGcpe3JldHVybmBoc2xhKCR7Zy5oc2xhLmh9LCAkeyhnLmhzbGEucyoxMDApLnRvRml4ZWQoMil9JSwgJHsoZy5oc2xhLmwqMTAwKS50b0ZpeGVkKDIpfSUsICR7Zy5oc2xhLmEudG9GaXhlZCgyKX0pYH1uLmZvcm1hdEhTTEE9YTtmdW5jdGlvbiBvKGcpe2NvbnN0IG09Zy50b1N0cmluZygxNik7cmV0dXJuIG0ubGVuZ3RoIT09Mj8iMCIrbTptfWZ1bmN0aW9uIGwoZyl7cmV0dXJuYCMke28oZy5yZ2JhLnIpfSR7byhnLnJnYmEuZyl9JHtvKGcucmdiYS5iKX1gfW4uZm9ybWF0SGV4PWw7ZnVuY3Rpb24gdShnLG09ITEpe3JldHVybiBtJiZnLnJnYmEuYT09PTE/ZS5Gb3JtYXQuQ1NTLmZvcm1hdEhleChnKTpgIyR7byhnLnJnYmEucil9JHtvKGcucmdiYS5nKX0ke28oZy5yZ2JhLmIpfSR7byhNYXRoLnJvdW5kKGcucmdiYS5hKjI1NSkpfWB9bi5mb3JtYXRIZXhBPXU7ZnVuY3Rpb24gZihnKXtyZXR1cm4gZy5pc09wYXF1ZSgpP2UuRm9ybWF0LkNTUy5mb3JtYXRIZXgoZyk6ZS5Gb3JtYXQuQ1NTLmZvcm1hdFJHQkEoZyl9bi5mb3JtYXQ9ZjtmdW5jdGlvbiBoKGcpe2NvbnN0IG09Zy5sZW5ndGg7aWYobT09PTB8fGcuY2hhckNvZGVBdCgwKSE9PTM1KXJldHVybiBudWxsO2lmKG09PT03KXtjb25zdCB2PTE2KmQoZy5jaGFyQ29kZUF0KDEpKStkKGcuY2hhckNvZGVBdCgyKSkscD0xNipkKGcuY2hhckNvZGVBdCgzKSkrZChnLmNoYXJDb2RlQXQoNCkpLF89MTYqZChnLmNoYXJDb2RlQXQoNSkpK2QoZy5jaGFyQ29kZUF0KDYpKTtyZXR1cm4gbmV3IGUobmV3IGFlKHYscCxfLDEpKX1pZihtPT09OSl7Y29uc3Qgdj0xNipkKGcuY2hhckNvZGVBdCgxKSkrZChnLmNoYXJDb2RlQXQoMikpLHA9MTYqZChnLmNoYXJDb2RlQXQoMykpK2QoZy5jaGFyQ29kZUF0KDQpKSxfPTE2KmQoZy5jaGFyQ29kZUF0KDUpKStkKGcuY2hhckNvZGVBdCg2KSkseD0xNipkKGcuY2hhckNvZGVBdCg3KSkrZChnLmNoYXJDb2RlQXQoOCkpO3JldHVybiBuZXcgZShuZXcgYWUodixwLF8seC8yNTUpKX1pZihtPT09NCl7Y29uc3Qgdj1kKGcuY2hhckNvZGVBdCgxKSkscD1kKGcuY2hhckNvZGVBdCgyKSksXz1kKGcuY2hhckNvZGVBdCgzKSk7cmV0dXJuIG5ldyBlKG5ldyBhZSgxNip2K3YsMTYqcCtwLDE2Kl8rXykpfWlmKG09PT01KXtjb25zdCB2PWQoZy5jaGFyQ29kZUF0KDEpKSxwPWQoZy5jaGFyQ29kZUF0KDIpKSxfPWQoZy5jaGFyQ29kZUF0KDMpKSx4PWQoZy5jaGFyQ29kZUF0KDQpKTtyZXR1cm4gbmV3IGUobmV3IGFlKDE2KnYrdiwxNipwK3AsMTYqXytfLCgxNip4K3gpLzI1NSkpfXJldHVybiBudWxsfW4ucGFyc2VIZXg9aDtmdW5jdGlvbiBkKGcpe3N3aXRjaChnKXtjYXNlIDQ4OnJldHVybiAwO2Nhc2UgNDk6cmV0dXJuIDE7Y2FzZSA1MDpyZXR1cm4gMjtjYXNlIDUxOnJldHVybiAzO2Nhc2UgNTI6cmV0dXJuIDQ7Y2FzZSA1MzpyZXR1cm4gNTtjYXNlIDU0OnJldHVybiA2O2Nhc2UgNTU6cmV0dXJuIDc7Y2FzZSA1NjpyZXR1cm4gODtjYXNlIDU3OnJldHVybiA5O2Nhc2UgOTc6cmV0dXJuIDEwO2Nhc2UgNjU6cmV0dXJuIDEwO2Nhc2UgOTg6cmV0dXJuIDExO2Nhc2UgNjY6cmV0dXJuIDExO2Nhc2UgOTk6cmV0dXJuIDEyO2Nhc2UgNjc6cmV0dXJuIDEyO2Nhc2UgMTAwOnJldHVybiAxMztjYXNlIDY4OnJldHVybiAxMztjYXNlIDEwMTpyZXR1cm4gMTQ7Y2FzZSA2OTpyZXR1cm4gMTQ7Y2FzZSAxMDI6cmV0dXJuIDE1O2Nhc2UgNzA6cmV0dXJuIDE1fXJldHVybiAwfX0pKHQuQ1NTfHwodC5DU1M9e30pKX0pKGUuRm9ybWF0fHwoZS5Gb3JtYXQ9e30pKX0ocmV8fChyZT17fSkpO2Z1bmN0aW9uIEVzKGUpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IG4gb2YgZSl7Y29uc3Qgcj1OdW1iZXIobik7KHJ8fHI9PT0wJiZuLnJlcGxhY2UoL1xzL2csIiIpIT09IiIpJiZ0LnB1c2gocil9cmV0dXJuIHR9ZnVuY3Rpb24gbHIoZSx0LG4scil7cmV0dXJue3JlZDplLzI1NSxibHVlOm4vMjU1LGdyZWVuOnQvMjU1LGFscGhhOnJ9fWZ1bmN0aW9uIE90KGUsdCl7Y29uc3Qgbj10LmluZGV4LHI9dFswXS5sZW5ndGg7aWYoIW4pcmV0dXJuO2NvbnN0IGk9ZS5wb3NpdGlvbkF0KG4pO3JldHVybntzdGFydExpbmVOdW1iZXI6aS5saW5lTnVtYmVyLHN0YXJ0Q29sdW1uOmkuY29sdW1uLGVuZExpbmVOdW1iZXI6aS5saW5lTnVtYmVyLGVuZENvbHVtbjppLmNvbHVtbityfX1mdW5jdGlvbiBYbChlLHQpe2lmKCFlKXJldHVybjtjb25zdCBuPXJlLkZvcm1hdC5DU1MucGFyc2VIZXgodCk7aWYobilyZXR1cm57cmFuZ2U6ZSxjb2xvcjpscihuLnJnYmEucixuLnJnYmEuZyxuLnJnYmEuYixuLnJnYmEuYSl9fWZ1bmN0aW9uIGtzKGUsdCxuKXtpZighZXx8dC5sZW5ndGghPT0xKXJldHVybjtjb25zdCBpPXRbMF0udmFsdWVzKCkscz1FcyhpKTtyZXR1cm57cmFuZ2U6ZSxjb2xvcjpscihzWzBdLHNbMV0sc1syXSxuP3NbM106MSl9fWZ1bmN0aW9uIFJzKGUsdCxuKXtpZighZXx8dC5sZW5ndGghPT0xKXJldHVybjtjb25zdCBpPXRbMF0udmFsdWVzKCkscz1FcyhpKSxhPW5ldyByZShuZXcgU2Uoc1swXSxzWzFdLzEwMCxzWzJdLzEwMCxuP3NbM106MSkpO3JldHVybntyYW5nZTplLGNvbG9yOmxyKGEucmdiYS5yLGEucmdiYS5nLGEucmdiYS5iLGEucmdiYS5hKX19ZnVuY3Rpb24gVnQoZSx0KXtyZXR1cm4gdHlwZW9mIGU9PSJzdHJpbmciP1suLi5lLm1hdGNoQWxsKHQpXTplLmZpbmRNYXRjaGVzKHQpfWZ1bmN0aW9uIFlsKGUpe2NvbnN0IHQ9W10scj1WdChlLC9cYihyZ2J8cmdiYXxoc2x8aHNsYSkoXChbMC05XHMsLlwlXSpcKSl8KCMpKFtBLUZhLWYwLTldezN9KVxifCgjKShbQS1GYS1mMC05XXs0fSlcYnwoIykoW0EtRmEtZjAtOV17Nn0pXGJ8KCMpKFtBLUZhLWYwLTldezh9KVxiL2dtKTtpZihyLmxlbmd0aD4wKWZvcihjb25zdCBpIG9mIHIpe2NvbnN0IHM9aS5maWx0ZXIodT0+dSE9PXZvaWQgMCksYT1zWzFdLG89c1syXTtpZighbyljb250aW51ZTtsZXQgbDtpZihhPT09InJnYiIpe2NvbnN0IHU9L15cKFxzKigyNVswLTVdfDJbMC00XVswLTldfDFbMC05XXsyfXxbMS05XVswLTldfFswLTldKVxzKixccyooMjVbMC01XXwyWzAtNF1bMC05XXwxWzAtOV17Mn18WzEtOV1bMC05XXxbMC05XSlccyosXHMqKDI1WzAtNV18MlswLTRdWzAtOV18MVswLTldezJ9fFsxLTldWzAtOV18WzAtOV0pXHMqXCkkL2dtO2w9a3MoT3QoZSxpKSxWdChvLHUpLCExKX1lbHNlIGlmKGE9PT0icmdiYSIpe2NvbnN0IHU9L15cKFxzKigyNVswLTVdfDJbMC00XVswLTldfDFbMC05XXsyfXxbMS05XVswLTldfFswLTldKVxzKixccyooMjVbMC01XXwyWzAtNF1bMC05XXwxWzAtOV17Mn18WzEtOV1bMC05XXxbMC05XSlccyosXHMqKDI1WzAtNV18MlswLTRdWzAtOV18MVswLTldezJ9fFsxLTldWzAtOV18WzAtOV0pXHMqLFxzKigwWy5dWzAtOV0rfFsuXVswLTldK3xbMDFdWy5dfFswMV0pXHMqXCkkL2dtO2w9a3MoT3QoZSxpKSxWdChvLHUpLCEwKX1lbHNlIGlmKGE9PT0iaHNsIil7Y29uc3QgdT0vXlwoXHMqKDM2WzBdfDNbMC01XVswLTldfFsxMl1bMC05XVswLTldfFsxLTldP1swLTldKVxzKixccyooMTAwfFxkezEsMn1bLl1cZCp8XGR7MSwyfSklXHMqLFxzKigxMDB8XGR7MSwyfVsuXVxkKnxcZHsxLDJ9KSVccypcKSQvZ207bD1ScyhPdChlLGkpLFZ0KG8sdSksITEpfWVsc2UgaWYoYT09PSJoc2xhIil7Y29uc3QgdT0vXlwoXHMqKDM2WzBdfDNbMC01XVswLTldfFsxMl1bMC05XVswLTldfFsxLTldP1swLTldKVxzKixccyooMTAwfFxkezEsMn1bLl1cZCp8XGR7MSwyfSklXHMqLFxzKigxMDB8XGR7MSwyfVsuXVxkKnxcZHsxLDJ9KSVccyosXHMqKDBbLl1bMC05XSt8Wy5dWzAtOV0rfFswMV1bLl18WzAxXSlccypcKSQvZ207bD1ScyhPdChlLGkpLFZ0KG8sdSksITApfWVsc2UgYT09PSIjIiYmKGw9WGwoT3QoZSxpKSxhK28pKTtsJiZ0LnB1c2gobCl9cmV0dXJuIHR9ZnVuY3Rpb24gUWwoZSl7cmV0dXJuIWV8fHR5cGVvZiBlLmdldFZhbHVlIT0iZnVuY3Rpb24ifHx0eXBlb2YgZS5wb3NpdGlvbkF0IT0iZnVuY3Rpb24iP1tdOllsKGUpfWNvbnN0IFRzPW5ldyBSZWdFeHAoIlxcYk1BUks6XFxzKiguKikkIiwiZCIpLFpsPS9eLSt8LSskL2c7ZnVuY3Rpb24gS2woZSx0KXt2YXIgbjtsZXQgcj1bXTtpZih0LmZpbmRSZWdpb25TZWN0aW9uSGVhZGVycyYmKCEoKG49dC5mb2xkaW5nUnVsZXMpPT09bnVsbHx8bj09PXZvaWQgMCkmJm4ubWFya2Vycykpe2NvbnN0IGk9ZXUoZSx0KTtyPXIuY29uY2F0KGkpfWlmKHQuZmluZE1hcmtTZWN0aW9uSGVhZGVycyl7Y29uc3QgaT10dShlKTtyPXIuY29uY2F0KGkpfXJldHVybiByfWZ1bmN0aW9uIGV1KGUsdCl7Y29uc3Qgbj1bXSxyPWUuZ2V0TGluZUNvdW50KCk7Zm9yKGxldCBpPTE7aTw9cjtpKyspe2NvbnN0IHM9ZS5nZXRMaW5lQ29udGVudChpKSxhPXMubWF0Y2godC5mb2xkaW5nUnVsZXMubWFya2Vycy5zdGFydCk7aWYoYSl7Y29uc3Qgbz17c3RhcnRMaW5lTnVtYmVyOmksc3RhcnRDb2x1bW46YVswXS5sZW5ndGgrMSxlbmRMaW5lTnVtYmVyOmksZW5kQ29sdW1uOnMubGVuZ3RoKzF9O2lmKG8uZW5kQ29sdW1uPm8uc3RhcnRDb2x1bW4pe2NvbnN0IGw9e3JhbmdlOm8sLi4uTXMocy5zdWJzdHJpbmcoYVswXS5sZW5ndGgpKSxzaG91bGRCZUluQ29tbWVudHM6ITF9OyhsLnRleHR8fGwuaGFzU2VwYXJhdG9yTGluZSkmJm4ucHVzaChsKX19fXJldHVybiBufWZ1bmN0aW9uIHR1KGUpe2NvbnN0IHQ9W10sbj1lLmdldExpbmVDb3VudCgpO2ZvcihsZXQgcj0xO3I8PW47cisrKXtjb25zdCBpPWUuZ2V0TGluZUNvbnRlbnQocik7bnUoaSxyLHQpfXJldHVybiB0fWZ1bmN0aW9uIG51KGUsdCxuKXtUcy5sYXN0SW5kZXg9MDtjb25zdCByPVRzLmV4ZWMoZSk7aWYocil7Y29uc3QgaT1yLmluZGljZXNbMV1bMF0rMSxzPXIuaW5kaWNlc1sxXVsxXSsxLGE9e3N0YXJ0TGluZU51bWJlcjp0LHN0YXJ0Q29sdW1uOmksZW5kTGluZU51bWJlcjp0LGVuZENvbHVtbjpzfTtpZihhLmVuZENvbHVtbj5hLnN0YXJ0Q29sdW1uKXtjb25zdCBvPXtyYW5nZTphLC4uLk1zKHJbMV0pLHNob3VsZEJlSW5Db21tZW50czohMH07KG8udGV4dHx8by5oYXNTZXBhcmF0b3JMaW5lKSYmbi5wdXNoKG8pfX19ZnVuY3Rpb24gTXMoZSl7ZT1lLnRyaW0oKTtjb25zdCB0PWUuc3RhcnRzV2l0aCgiLSIpO3JldHVybiBlPWUucmVwbGFjZShabCwiIikse3RleHQ6ZSxoYXNTZXBhcmF0b3JMaW5lOnR9fWNsYXNzIHJ1IGV4dGVuZHMgR297Z2V0IHVyaSgpe3JldHVybiB0aGlzLl91cml9Z2V0IGVvbCgpe3JldHVybiB0aGlzLl9lb2x9Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy5nZXRUZXh0KCl9ZmluZE1hdGNoZXModCl7Y29uc3Qgbj1bXTtmb3IobGV0IHI9MDtyPHRoaXMuX2xpbmVzLmxlbmd0aDtyKyspe2NvbnN0IGk9dGhpcy5fbGluZXNbcl0scz10aGlzLm9mZnNldEF0KG5ldyBQZShyKzEsMSkpLGE9aS5tYXRjaEFsbCh0KTtmb3IoY29uc3QgbyBvZiBhKShvLmluZGV4fHxvLmluZGV4PT09MCkmJihvLmluZGV4PW8uaW5kZXgrcyksbi5wdXNoKG8pfXJldHVybiBufWdldExpbmVzQ29udGVudCgpe3JldHVybiB0aGlzLl9saW5lcy5zbGljZSgwKX1nZXRMaW5lQ291bnQoKXtyZXR1cm4gdGhpcy5fbGluZXMubGVuZ3RofWdldExpbmVDb250ZW50KHQpe3JldHVybiB0aGlzLl9saW5lc1t0LTFdfWdldFdvcmRBdFBvc2l0aW9uKHQsbil7Y29uc3Qgcj1Xbih0LmNvbHVtbixzaShuKSx0aGlzLl9saW5lc1t0LmxpbmVOdW1iZXItMV0sMCk7cmV0dXJuIHI/bmV3IHNlKHQubGluZU51bWJlcixyLnN0YXJ0Q29sdW1uLHQubGluZU51bWJlcixyLmVuZENvbHVtbik6bnVsbH13b3Jkcyh0KXtjb25zdCBuPXRoaXMuX2xpbmVzLHI9dGhpcy5fd29yZGVuaXplLmJpbmQodGhpcyk7bGV0IGk9MCxzPSIiLGE9MCxvPVtdO3JldHVybnsqW1N5bWJvbC5pdGVyYXRvcl0oKXtmb3IoOzspaWYoYTxvLmxlbmd0aCl7Y29uc3QgbD1zLnN1YnN0cmluZyhvW2FdLnN0YXJ0LG9bYV0uZW5kKTthKz0xLHlpZWxkIGx9ZWxzZSBpZihpPG4ubGVuZ3RoKXM9bltpXSxvPXIocyx0KSxhPTAsaSs9MTtlbHNlIGJyZWFrfX19Z2V0TGluZVdvcmRzKHQsbil7Y29uc3Qgcj10aGlzLl9saW5lc1t0LTFdLGk9dGhpcy5fd29yZGVuaXplKHIsbikscz1bXTtmb3IoY29uc3QgYSBvZiBpKXMucHVzaCh7d29yZDpyLnN1YnN0cmluZyhhLnN0YXJ0LGEuZW5kKSxzdGFydENvbHVtbjphLnN0YXJ0KzEsZW5kQ29sdW1uOmEuZW5kKzF9KTtyZXR1cm4gc31fd29yZGVuaXplKHQsbil7Y29uc3Qgcj1bXTtsZXQgaTtmb3Iobi5sYXN0SW5kZXg9MDsoaT1uLmV4ZWModCkpJiZpWzBdLmxlbmd0aCE9PTA7KXIucHVzaCh7c3RhcnQ6aS5pbmRleCxlbmQ6aS5pbmRleCtpWzBdLmxlbmd0aH0pO3JldHVybiByfWdldFZhbHVlSW5SYW5nZSh0KXtpZih0PXRoaXMuX3ZhbGlkYXRlUmFuZ2UodCksdC5zdGFydExpbmVOdW1iZXI9PT10LmVuZExpbmVOdW1iZXIpcmV0dXJuIHRoaXMuX2xpbmVzW3Quc3RhcnRMaW5lTnVtYmVyLTFdLnN1YnN0cmluZyh0LnN0YXJ0Q29sdW1uLTEsdC5lbmRDb2x1bW4tMSk7Y29uc3Qgbj10aGlzLl9lb2wscj10LnN0YXJ0TGluZU51bWJlci0xLGk9dC5lbmRMaW5lTnVtYmVyLTEscz1bXTtzLnB1c2godGhpcy5fbGluZXNbcl0uc3Vic3RyaW5nKHQuc3RhcnRDb2x1bW4tMSkpO2ZvcihsZXQgYT1yKzE7YTxpO2ErKylzLnB1c2godGhpcy5fbGluZXNbYV0pO3JldHVybiBzLnB1c2godGhpcy5fbGluZXNbaV0uc3Vic3RyaW5nKDAsdC5lbmRDb2x1bW4tMSkpLHMuam9pbihuKX1vZmZzZXRBdCh0KXtyZXR1cm4gdD10aGlzLl92YWxpZGF0ZVBvc2l0aW9uKHQpLHRoaXMuX2Vuc3VyZUxpbmVTdGFydHMoKSx0aGlzLl9saW5lU3RhcnRzLmdldFByZWZpeFN1bSh0LmxpbmVOdW1iZXItMikrKHQuY29sdW1uLTEpfXBvc2l0aW9uQXQodCl7dD1NYXRoLmZsb29yKHQpLHQ9TWF0aC5tYXgoMCx0KSx0aGlzLl9lbnN1cmVMaW5lU3RhcnRzKCk7Y29uc3Qgbj10aGlzLl9saW5lU3RhcnRzLmdldEluZGV4T2YodCkscj10aGlzLl9saW5lc1tuLmluZGV4XS5sZW5ndGg7cmV0dXJue2xpbmVOdW1iZXI6MStuLmluZGV4LGNvbHVtbjoxK01hdGgubWluKG4ucmVtYWluZGVyLHIpfX1fdmFsaWRhdGVSYW5nZSh0KXtjb25zdCBuPXRoaXMuX3ZhbGlkYXRlUG9zaXRpb24oe2xpbmVOdW1iZXI6dC5zdGFydExpbmVOdW1iZXIsY29sdW1uOnQuc3RhcnRDb2x1bW59KSxyPXRoaXMuX3ZhbGlkYXRlUG9zaXRpb24oe2xpbmVOdW1iZXI6dC5lbmRMaW5lTnVtYmVyLGNvbHVtbjp0LmVuZENvbHVtbn0pO3JldHVybiBuLmxpbmVOdW1iZXIhPT10LnN0YXJ0TGluZU51bWJlcnx8bi5jb2x1bW4hPT10LnN0YXJ0Q29sdW1ufHxyLmxpbmVOdW1iZXIhPT10LmVuZExpbmVOdW1iZXJ8fHIuY29sdW1uIT09dC5lbmRDb2x1bW4/e3N0YXJ0TGluZU51bWJlcjpuLmxpbmVOdW1iZXIsc3RhcnRDb2x1bW46bi5jb2x1bW4sZW5kTGluZU51bWJlcjpyLmxpbmVOdW1iZXIsZW5kQ29sdW1uOnIuY29sdW1ufTp0fV92YWxpZGF0ZVBvc2l0aW9uKHQpe2lmKCFQZS5pc0lQb3NpdGlvbih0KSl0aHJvdyBuZXcgRXJyb3IoImJhZCBwb3NpdGlvbiIpO2xldHtsaW5lTnVtYmVyOm4sY29sdW1uOnJ9PXQsaT0hMTtpZihuPDEpbj0xLHI9MSxpPSEwO2Vsc2UgaWYobj50aGlzLl9saW5lcy5sZW5ndGgpbj10aGlzLl9saW5lcy5sZW5ndGgscj10aGlzLl9saW5lc1tuLTFdLmxlbmd0aCsxLGk9ITA7ZWxzZXtjb25zdCBzPXRoaXMuX2xpbmVzW24tMV0ubGVuZ3RoKzE7cjwxPyhyPTEsaT0hMCk6cj5zJiYocj1zLGk9ITApfXJldHVybiBpP3tsaW5lTnVtYmVyOm4sY29sdW1uOnJ9OnR9fWNsYXNzIGl0e2NvbnN0cnVjdG9yKHQsbil7dGhpcy5faG9zdD10LHRoaXMuX21vZGVscz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX2ZvcmVpZ25Nb2R1bGVGYWN0b3J5PW4sdGhpcy5fZm9yZWlnbk1vZHVsZT1udWxsfWRpc3Bvc2UoKXt0aGlzLl9tb2RlbHM9T2JqZWN0LmNyZWF0ZShudWxsKX1fZ2V0TW9kZWwodCl7cmV0dXJuIHRoaXMuX21vZGVsc1t0XX1fZ2V0TW9kZWxzKCl7Y29uc3QgdD1bXTtyZXR1cm4gT2JqZWN0LmtleXModGhpcy5fbW9kZWxzKS5mb3JFYWNoKG49PnQucHVzaCh0aGlzLl9tb2RlbHNbbl0pKSx0fWFjY2VwdE5ld01vZGVsKHQpe3RoaXMuX21vZGVsc1t0LnVybF09bmV3IHJ1KHFuLnBhcnNlKHQudXJsKSx0LmxpbmVzLHQuRU9MLHQudmVyc2lvbklkKX1hY2NlcHRNb2RlbENoYW5nZWQodCxuKXtpZighdGhpcy5fbW9kZWxzW3RdKXJldHVybjt0aGlzLl9tb2RlbHNbdF0ub25FdmVudHMobil9YWNjZXB0UmVtb3ZlZE1vZGVsKHQpe3RoaXMuX21vZGVsc1t0XSYmZGVsZXRlIHRoaXMuX21vZGVsc1t0XX1hc3luYyBjb21wdXRlVW5pY29kZUhpZ2hsaWdodHModCxuLHIpe2NvbnN0IGk9dGhpcy5fZ2V0TW9kZWwodCk7cmV0dXJuIGk/eWwuY29tcHV0ZVVuaWNvZGVIaWdobGlnaHRzKGksbixyKTp7cmFuZ2VzOltdLGhhc01vcmU6ITEsYW1iaWd1b3VzQ2hhcmFjdGVyQ291bnQ6MCxpbnZpc2libGVDaGFyYWN0ZXJDb3VudDowLG5vbkJhc2ljQXNjaWlDaGFyYWN0ZXJDb3VudDowfX1hc3luYyBmaW5kU2VjdGlvbkhlYWRlcnModCxuKXtjb25zdCByPXRoaXMuX2dldE1vZGVsKHQpO3JldHVybiByP0tsKHIsbik6W119YXN5bmMgY29tcHV0ZURpZmYodCxuLHIsaSl7Y29uc3Qgcz10aGlzLl9nZXRNb2RlbCh0KSxhPXRoaXMuX2dldE1vZGVsKG4pO3JldHVybiFzfHwhYT9udWxsOml0LmNvbXB1dGVEaWZmKHMsYSxyLGkpfXN0YXRpYyBjb21wdXRlRGlmZih0LG4scixpKXtjb25zdCBzPWk9PT0iYWR2YW5jZWQiP0NzLmdldERlZmF1bHQoKTpDcy5nZXRMZWdhY3koKSxhPXQuZ2V0TGluZXNDb250ZW50KCksbz1uLmdldExpbmVzQ29udGVudCgpLGw9cy5jb21wdXRlRGlmZihhLG8sciksdT1sLmNoYW5nZXMubGVuZ3RoPjA/ITE6dGhpcy5fbW9kZWxzQXJlSWRlbnRpY2FsKHQsbik7ZnVuY3Rpb24gZihoKXtyZXR1cm4gaC5tYXAoZD0+e3ZhciBnO3JldHVybltkLm9yaWdpbmFsLnN0YXJ0TGluZU51bWJlcixkLm9yaWdpbmFsLmVuZExpbmVOdW1iZXJFeGNsdXNpdmUsZC5tb2RpZmllZC5zdGFydExpbmVOdW1iZXIsZC5tb2RpZmllZC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLChnPWQuaW5uZXJDaGFuZ2VzKT09PW51bGx8fGc9PT12b2lkIDA/dm9pZCAwOmcubWFwKG09PlttLm9yaWdpbmFsUmFuZ2Uuc3RhcnRMaW5lTnVtYmVyLG0ub3JpZ2luYWxSYW5nZS5zdGFydENvbHVtbixtLm9yaWdpbmFsUmFuZ2UuZW5kTGluZU51bWJlcixtLm9yaWdpbmFsUmFuZ2UuZW5kQ29sdW1uLG0ubW9kaWZpZWRSYW5nZS5zdGFydExpbmVOdW1iZXIsbS5tb2RpZmllZFJhbmdlLnN0YXJ0Q29sdW1uLG0ubW9kaWZpZWRSYW5nZS5lbmRMaW5lTnVtYmVyLG0ubW9kaWZpZWRSYW5nZS5lbmRDb2x1bW5dKV19KX1yZXR1cm57aWRlbnRpY2FsOnUscXVpdEVhcmx5OmwuaGl0VGltZW91dCxjaGFuZ2VzOmYobC5jaGFuZ2VzKSxtb3ZlczpsLm1vdmVzLm1hcChoPT5baC5saW5lUmFuZ2VNYXBwaW5nLm9yaWdpbmFsLnN0YXJ0TGluZU51bWJlcixoLmxpbmVSYW5nZU1hcHBpbmcub3JpZ2luYWwuZW5kTGluZU51bWJlckV4Y2x1c2l2ZSxoLmxpbmVSYW5nZU1hcHBpbmcubW9kaWZpZWQuc3RhcnRMaW5lTnVtYmVyLGgubGluZVJhbmdlTWFwcGluZy5tb2RpZmllZC5lbmRMaW5lTnVtYmVyRXhjbHVzaXZlLGYoaC5jaGFuZ2VzKV0pfX1zdGF0aWMgX21vZGVsc0FyZUlkZW50aWNhbCh0LG4pe2NvbnN0IHI9dC5nZXRMaW5lQ291bnQoKSxpPW4uZ2V0TGluZUNvdW50KCk7aWYociE9PWkpcmV0dXJuITE7Zm9yKGxldCBzPTE7czw9cjtzKyspe2NvbnN0IGE9dC5nZXRMaW5lQ29udGVudChzKSxvPW4uZ2V0TGluZUNvbnRlbnQocyk7aWYoYSE9PW8pcmV0dXJuITF9cmV0dXJuITB9YXN5bmMgY29tcHV0ZU1vcmVNaW5pbWFsRWRpdHModCxuLHIpe2NvbnN0IGk9dGhpcy5fZ2V0TW9kZWwodCk7aWYoIWkpcmV0dXJuIG47Y29uc3Qgcz1bXTtsZXQgYTtuPW4uc2xpY2UoMCkuc29ydCgobCx1KT0+e2lmKGwucmFuZ2UmJnUucmFuZ2UpcmV0dXJuIHNlLmNvbXBhcmVSYW5nZXNVc2luZ1N0YXJ0cyhsLnJhbmdlLHUucmFuZ2UpO2NvbnN0IGY9bC5yYW5nZT8wOjEsaD11LnJhbmdlPzA6MTtyZXR1cm4gZi1ofSk7bGV0IG89MDtmb3IobGV0IGw9MTtsPG4ubGVuZ3RoO2wrKylzZS5nZXRFbmRQb3NpdGlvbihuW29dLnJhbmdlKS5lcXVhbHMoc2UuZ2V0U3RhcnRQb3NpdGlvbihuW2xdLnJhbmdlKSk/KG5bb10ucmFuZ2U9c2UuZnJvbVBvc2l0aW9ucyhzZS5nZXRTdGFydFBvc2l0aW9uKG5bb10ucmFuZ2UpLHNlLmdldEVuZFBvc2l0aW9uKG5bbF0ucmFuZ2UpKSxuW29dLnRleHQrPW5bbF0udGV4dCk6KG8rKyxuW29dPW5bbF0pO24ubGVuZ3RoPW8rMTtmb3IobGV0e3JhbmdlOmwsdGV4dDp1LGVvbDpmfW9mIG4pe2lmKHR5cGVvZiBmPT0ibnVtYmVyIiYmKGE9Ziksc2UuaXNFbXB0eShsKSYmIXUpY29udGludWU7Y29uc3QgaD1pLmdldFZhbHVlSW5SYW5nZShsKTtpZih1PXUucmVwbGFjZSgvXHJcbnxcbnxcci9nLGkuZW9sKSxoPT09dSljb250aW51ZTtpZihNYXRoLm1heCh1Lmxlbmd0aCxoLmxlbmd0aCk+aXQuX2RpZmZMaW1pdCl7cy5wdXNoKHtyYW5nZTpsLHRleHQ6dX0pO2NvbnRpbnVlfWNvbnN0IGQ9eW8oaCx1LHIpLGc9aS5vZmZzZXRBdChzZS5saWZ0KGwpLmdldFN0YXJ0UG9zaXRpb24oKSk7Zm9yKGNvbnN0IG0gb2YgZCl7Y29uc3Qgdj1pLnBvc2l0aW9uQXQoZyttLm9yaWdpbmFsU3RhcnQpLHA9aS5wb3NpdGlvbkF0KGcrbS5vcmlnaW5hbFN0YXJ0K20ub3JpZ2luYWxMZW5ndGgpLF89e3RleHQ6dS5zdWJzdHIobS5tb2RpZmllZFN0YXJ0LG0ubW9kaWZpZWRMZW5ndGgpLHJhbmdlOntzdGFydExpbmVOdW1iZXI6di5saW5lTnVtYmVyLHN0YXJ0Q29sdW1uOnYuY29sdW1uLGVuZExpbmVOdW1iZXI6cC5saW5lTnVtYmVyLGVuZENvbHVtbjpwLmNvbHVtbn19O2kuZ2V0VmFsdWVJblJhbmdlKF8ucmFuZ2UpIT09Xy50ZXh0JiZzLnB1c2goXyl9fXJldHVybiB0eXBlb2YgYT09Im51bWJlciImJnMucHVzaCh7ZW9sOmEsdGV4dDoiIixyYW5nZTp7c3RhcnRMaW5lTnVtYmVyOjAsc3RhcnRDb2x1bW46MCxlbmRMaW5lTnVtYmVyOjAsZW5kQ29sdW1uOjB9fSksc31hc3luYyBjb21wdXRlTGlua3ModCl7Y29uc3Qgbj10aGlzLl9nZXRNb2RlbCh0KTtyZXR1cm4gbj90bChuKTpudWxsfWFzeW5jIGNvbXB1dGVEZWZhdWx0RG9jdW1lbnRDb2xvcnModCl7Y29uc3Qgbj10aGlzLl9nZXRNb2RlbCh0KTtyZXR1cm4gbj9RbChuKTpudWxsfWFzeW5jIHRleHR1YWxTdWdnZXN0KHQsbixyLGkpe2NvbnN0IHM9bmV3IFp0LGE9bmV3IFJlZ0V4cChyLGkpLG89bmV3IFNldDtlOmZvcihjb25zdCBsIG9mIHQpe2NvbnN0IHU9dGhpcy5fZ2V0TW9kZWwobCk7aWYodSl7Zm9yKGNvbnN0IGYgb2YgdS53b3JkcyhhKSlpZighKGY9PT1ufHwhaXNOYU4oTnVtYmVyKGYpKSkmJihvLmFkZChmKSxvLnNpemU+aXQuX3N1Z2dlc3Rpb25zTGltaXQpKWJyZWFrIGV9fXJldHVybnt3b3JkczpBcnJheS5mcm9tKG8pLGR1cmF0aW9uOnMuZWxhcHNlZCgpfX1hc3luYyBjb21wdXRlV29yZFJhbmdlcyh0LG4scixpKXtjb25zdCBzPXRoaXMuX2dldE1vZGVsKHQpO2lmKCFzKXJldHVybiBPYmplY3QuY3JlYXRlKG51bGwpO2NvbnN0IGE9bmV3IFJlZ0V4cChyLGkpLG89T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IobGV0IGw9bi5zdGFydExpbmVOdW1iZXI7bDxuLmVuZExpbmVOdW1iZXI7bCsrKXtjb25zdCB1PXMuZ2V0TGluZVdvcmRzKGwsYSk7Zm9yKGNvbnN0IGYgb2YgdSl7aWYoIWlzTmFOKE51bWJlcihmLndvcmQpKSljb250aW51ZTtsZXQgaD1vW2Yud29yZF07aHx8KGg9W10sb1tmLndvcmRdPWgpLGgucHVzaCh7c3RhcnRMaW5lTnVtYmVyOmwsc3RhcnRDb2x1bW46Zi5zdGFydENvbHVtbixlbmRMaW5lTnVtYmVyOmwsZW5kQ29sdW1uOmYuZW5kQ29sdW1ufSl9fXJldHVybiBvfWFzeW5jIG5hdmlnYXRlVmFsdWVTZXQodCxuLHIsaSxzKXtjb25zdCBhPXRoaXMuX2dldE1vZGVsKHQpO2lmKCFhKXJldHVybiBudWxsO2NvbnN0IG89bmV3IFJlZ0V4cChpLHMpO24uc3RhcnRDb2x1bW49PT1uLmVuZENvbHVtbiYmKG49e3N0YXJ0TGluZU51bWJlcjpuLnN0YXJ0TGluZU51bWJlcixzdGFydENvbHVtbjpuLnN0YXJ0Q29sdW1uLGVuZExpbmVOdW1iZXI6bi5lbmRMaW5lTnVtYmVyLGVuZENvbHVtbjpuLmVuZENvbHVtbisxfSk7Y29uc3QgbD1hLmdldFZhbHVlSW5SYW5nZShuKSx1PWEuZ2V0V29yZEF0UG9zaXRpb24oe2xpbmVOdW1iZXI6bi5zdGFydExpbmVOdW1iZXIsY29sdW1uOm4uc3RhcnRDb2x1bW59LG8pO2lmKCF1KXJldHVybiBudWxsO2NvbnN0IGY9YS5nZXRWYWx1ZUluUmFuZ2UodSk7cmV0dXJuIEpuLklOU1RBTkNFLm5hdmlnYXRlVmFsdWVTZXQobixsLHUsZixyKX1sb2FkRm9yZWlnbk1vZHVsZSh0LG4scil7Y29uc3QgYT17aG9zdDpHYShyLChvLGwpPT50aGlzLl9ob3N0LmZocihvLGwpKSxnZXRNaXJyb3JNb2RlbHM6KCk9PnRoaXMuX2dldE1vZGVscygpfTtyZXR1cm4gdGhpcy5fZm9yZWlnbk1vZHVsZUZhY3Rvcnk/KHRoaXMuX2ZvcmVpZ25Nb2R1bGU9dGhpcy5fZm9yZWlnbk1vZHVsZUZhY3RvcnkoYSxuKSxQcm9taXNlLnJlc29sdmUoTW4odGhpcy5fZm9yZWlnbk1vZHVsZSkpKTpQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoIlVuZXhwZWN0ZWQgdXNhZ2UiKSl9Zm1yKHQsbil7aWYoIXRoaXMuX2ZvcmVpZ25Nb2R1bGV8fHR5cGVvZiB0aGlzLl9mb3JlaWduTW9kdWxlW3RdIT0iZnVuY3Rpb24iKXJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoIk1pc3NpbmcgcmVxdWVzdEhhbmRsZXIgb3IgbWV0aG9kOiAiK3QpKTt0cnl7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl9mb3JlaWduTW9kdWxlW3RdLmFwcGx5KHRoaXMuX2ZvcmVpZ25Nb2R1bGUsbikpfWNhdGNoKHIpe3JldHVybiBQcm9taXNlLnJlamVjdChyKX19fWl0Ll9kaWZmTGltaXQ9MWU1LGl0Ll9zdWdnZXN0aW9uc0xpbWl0PTFlNCx0eXBlb2YgaW1wb3J0U2NyaXB0cz09ImZ1bmN0aW9uIiYmKGdsb2JhbFRoaXMubW9uYWNvPWhsKCkpO2xldCB1cj0hMTtmdW5jdGlvbiBQcyhlKXtpZih1cilyZXR1cm47dXI9ITA7Y29uc3QgdD1uZXcgX28obj0+e2dsb2JhbFRoaXMucG9zdE1lc3NhZ2Uobil9LG49Pm5ldyBpdChuLGUpKTtnbG9iYWxUaGlzLm9ubWVzc2FnZT1uPT57dC5vbm1lc3NhZ2Uobi5kYXRhKX19Z2xvYmFsVGhpcy5vbm1lc3NhZ2U9ZT0+e3VyfHxQcyhudWxsKX07LyohLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICogQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAqIFZlcnNpb246IDAuNDguMCgwMDM3YjEzZmI1ZDE4NmZkZjFlN2RmNTFhOTQxNmEyZGUyYjhjNjcwKQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UKICogaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC9tb25hY28tZWRpdG9yL2Jsb2IvbWFpbi9MSUNFTlNFLnR4dAogKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9mdW5jdGlvbiBjcihlLHQpe3Q9PT12b2lkIDAmJih0PSExKTt2YXIgbj1lLmxlbmd0aCxyPTAsaT0iIixzPTAsYT0xNixvPTAsbD0wLHU9MCxmPTAsaD0wO2Z1bmN0aW9uIGQoYixTKXtmb3IodmFyIE49MCx3PTA7TjxifHwhUzspe3ZhciBMPWUuY2hhckNvZGVBdChyKTtpZihMPj00OCYmTDw9NTcpdz13KjE2K0wtNDg7ZWxzZSBpZihMPj02NSYmTDw9NzApdz13KjE2K0wtNjUrMTA7ZWxzZSBpZihMPj05NyYmTDw9MTAyKXc9dyoxNitMLTk3KzEwO2Vsc2UgYnJlYWs7cisrLE4rK31yZXR1cm4gTjxiJiYodz0tMSksd31mdW5jdGlvbiBnKGIpe3I9YixpPSIiLHM9MCxhPTE2LGg9MH1mdW5jdGlvbiBtKCl7dmFyIGI9cjtpZihlLmNoYXJDb2RlQXQocik9PT00OClyKys7ZWxzZSBmb3IocisrO3I8ZS5sZW5ndGgmJlN0KGUuY2hhckNvZGVBdChyKSk7KXIrKztpZihyPGUubGVuZ3RoJiZlLmNoYXJDb2RlQXQocik9PT00NilpZihyKysscjxlLmxlbmd0aCYmU3QoZS5jaGFyQ29kZUF0KHIpKSlmb3IocisrO3I8ZS5sZW5ndGgmJlN0KGUuY2hhckNvZGVBdChyKSk7KXIrKztlbHNlIHJldHVybiBoPTMsZS5zdWJzdHJpbmcoYixyKTt2YXIgUz1yO2lmKHI8ZS5sZW5ndGgmJihlLmNoYXJDb2RlQXQocik9PT02OXx8ZS5jaGFyQ29kZUF0KHIpPT09MTAxKSlpZihyKyssKHI8ZS5sZW5ndGgmJmUuY2hhckNvZGVBdChyKT09PTQzfHxlLmNoYXJDb2RlQXQocik9PT00NSkmJnIrKyxyPGUubGVuZ3RoJiZTdChlLmNoYXJDb2RlQXQocikpKXtmb3IocisrO3I8ZS5sZW5ndGgmJlN0KGUuY2hhckNvZGVBdChyKSk7KXIrKztTPXJ9ZWxzZSBoPTM7cmV0dXJuIGUuc3Vic3RyaW5nKGIsUyl9ZnVuY3Rpb24gdigpe2Zvcih2YXIgYj0iIixTPXI7Oyl7aWYocj49bil7Yis9ZS5zdWJzdHJpbmcoUyxyKSxoPTI7YnJlYWt9dmFyIE49ZS5jaGFyQ29kZUF0KHIpO2lmKE49PT0zNCl7Yis9ZS5zdWJzdHJpbmcoUyxyKSxyKys7YnJlYWt9aWYoTj09PTkyKXtpZihiKz1lLnN1YnN0cmluZyhTLHIpLHIrKyxyPj1uKXtoPTI7YnJlYWt9dmFyIHc9ZS5jaGFyQ29kZUF0KHIrKyk7c3dpdGNoKHcpe2Nhc2UgMzQ6Yis9JyInO2JyZWFrO2Nhc2UgOTI6Yis9IlxcIjticmVhaztjYXNlIDQ3OmIrPSIvIjticmVhaztjYXNlIDk4OmIrPSJcYiI7YnJlYWs7Y2FzZSAxMDI6Yis9IlxmIjticmVhaztjYXNlIDExMDpiKz1gCmA7YnJlYWs7Y2FzZSAxMTQ6Yis9IlxyIjticmVhaztjYXNlIDExNjpiKz0iCSI7YnJlYWs7Y2FzZSAxMTc6dmFyIEw9ZCg0LCEwKTtMPj0wP2IrPVN0cmluZy5mcm9tQ2hhckNvZGUoTCk6aD00O2JyZWFrO2RlZmF1bHQ6aD01fVM9cjtjb250aW51ZX1pZihOPj0wJiZOPD0zMSlpZihVdChOKSl7Yis9ZS5zdWJzdHJpbmcoUyxyKSxoPTI7YnJlYWt9ZWxzZSBoPTY7cisrfXJldHVybiBifWZ1bmN0aW9uIHAoKXtpZihpPSIiLGg9MCxzPXIsbD1vLGY9dSxyPj1uKXJldHVybiBzPW4sYT0xNzt2YXIgYj1lLmNoYXJDb2RlQXQocik7aWYoZnIoYikpe2RvIHIrKyxpKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGIpLGI9ZS5jaGFyQ29kZUF0KHIpO3doaWxlKGZyKGIpKTtyZXR1cm4gYT0xNX1pZihVdChiKSlyZXR1cm4gcisrLGkrPVN0cmluZy5mcm9tQ2hhckNvZGUoYiksYj09PTEzJiZlLmNoYXJDb2RlQXQocik9PT0xMCYmKHIrKyxpKz1gCmApLG8rKyx1PXIsYT0xNDtzd2l0Y2goYil7Y2FzZSAxMjM6cmV0dXJuIHIrKyxhPTE7Y2FzZSAxMjU6cmV0dXJuIHIrKyxhPTI7Y2FzZSA5MTpyZXR1cm4gcisrLGE9MztjYXNlIDkzOnJldHVybiByKyssYT00O2Nhc2UgNTg6cmV0dXJuIHIrKyxhPTY7Y2FzZSA0NDpyZXR1cm4gcisrLGE9NTtjYXNlIDM0OnJldHVybiByKyssaT12KCksYT0xMDtjYXNlIDQ3OnZhciBTPXItMTtpZihlLmNoYXJDb2RlQXQocisxKT09PTQ3KXtmb3Iocis9MjtyPG4mJiFVdChlLmNoYXJDb2RlQXQocikpOylyKys7cmV0dXJuIGk9ZS5zdWJzdHJpbmcoUyxyKSxhPTEyfWlmKGUuY2hhckNvZGVBdChyKzEpPT09NDIpe3IrPTI7Zm9yKHZhciBOPW4tMSx3PSExO3I8Tjspe3ZhciBMPWUuY2hhckNvZGVBdChyKTtpZihMPT09NDImJmUuY2hhckNvZGVBdChyKzEpPT09NDcpe3IrPTIsdz0hMDticmVha31yKyssVXQoTCkmJihMPT09MTMmJmUuY2hhckNvZGVBdChyKT09PTEwJiZyKyssbysrLHU9cil9cmV0dXJuIHd8fChyKyssaD0xKSxpPWUuc3Vic3RyaW5nKFMsciksYT0xM31yZXR1cm4gaSs9U3RyaW5nLmZyb21DaGFyQ29kZShiKSxyKyssYT0xNjtjYXNlIDQ1OmlmKGkrPVN0cmluZy5mcm9tQ2hhckNvZGUoYikscisrLHI9PT1ufHwhU3QoZS5jaGFyQ29kZUF0KHIpKSlyZXR1cm4gYT0xNjtjYXNlIDQ4OmNhc2UgNDk6Y2FzZSA1MDpjYXNlIDUxOmNhc2UgNTI6Y2FzZSA1MzpjYXNlIDU0OmNhc2UgNTU6Y2FzZSA1NjpjYXNlIDU3OnJldHVybiBpKz1tKCksYT0xMTtkZWZhdWx0OmZvcig7cjxuJiZfKGIpOylyKyssYj1lLmNoYXJDb2RlQXQocik7aWYocyE9PXIpe3N3aXRjaChpPWUuc3Vic3RyaW5nKHMsciksaSl7Y2FzZSJ0cnVlIjpyZXR1cm4gYT04O2Nhc2UiZmFsc2UiOnJldHVybiBhPTk7Y2FzZSJudWxsIjpyZXR1cm4gYT03fXJldHVybiBhPTE2fXJldHVybiBpKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGIpLHIrKyxhPTE2fX1mdW5jdGlvbiBfKGIpe2lmKGZyKGIpfHxVdChiKSlyZXR1cm4hMTtzd2l0Y2goYil7Y2FzZSAxMjU6Y2FzZSA5MzpjYXNlIDEyMzpjYXNlIDkxOmNhc2UgMzQ6Y2FzZSA1ODpjYXNlIDQ0OmNhc2UgNDc6cmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24geCgpe3ZhciBiO2RvIGI9cCgpO3doaWxlKGI+PTEyJiZiPD0xNSk7cmV0dXJuIGJ9cmV0dXJue3NldFBvc2l0aW9uOmcsZ2V0UG9zaXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gcn0sc2Nhbjp0P3g6cCxnZXRUb2tlbjpmdW5jdGlvbigpe3JldHVybiBhfSxnZXRUb2tlblZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGdldFRva2VuT2Zmc2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHN9LGdldFRva2VuTGVuZ3RoOmZ1bmN0aW9uKCl7cmV0dXJuIHItc30sZ2V0VG9rZW5TdGFydExpbmU6ZnVuY3Rpb24oKXtyZXR1cm4gbH0sZ2V0VG9rZW5TdGFydENoYXJhY3RlcjpmdW5jdGlvbigpe3JldHVybiBzLWZ9LGdldFRva2VuRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gaH19fWZ1bmN0aW9uIGZyKGUpe3JldHVybiBlPT09MzJ8fGU9PT05fHxlPT09MTF8fGU9PT0xMnx8ZT09PTE2MHx8ZT09PTU3NjB8fGU+PTgxOTImJmU8PTgyMDN8fGU9PT04MjM5fHxlPT09ODI4N3x8ZT09PTEyMjg4fHxlPT09NjUyNzl9ZnVuY3Rpb24gVXQoZSl7cmV0dXJuIGU9PT0xMHx8ZT09PTEzfHxlPT09ODIzMnx8ZT09PTgyMzN9ZnVuY3Rpb24gU3QoZSl7cmV0dXJuIGU+PTQ4JiZlPD01N31mdW5jdGlvbiBpdShlLHQsbil7dmFyIHIsaSxzLGEsbztpZih0KXtmb3IoYT10Lm9mZnNldCxvPWErdC5sZW5ndGgscz1hO3M+MCYmIUlzKGUscy0xKTspcy0tO2Zvcih2YXIgbD1vO2w8ZS5sZW5ndGgmJiFJcyhlLGwpOylsKys7aT1lLnN1YnN0cmluZyhzLGwpLHI9c3UoaSxuKX1lbHNlIGk9ZSxyPTAscz0wLGE9MCxvPWUubGVuZ3RoO3ZhciB1PWF1KG4sZSksZj0hMSxoPTAsZDtuLmluc2VydFNwYWNlcz9kPWhyKCIgIixuLnRhYlNpemV8fDQpOmQ9IgkiO3ZhciBnPWNyKGksITEpLG09ITE7ZnVuY3Rpb24gdigpe3JldHVybiB1K2hyKGQscitoKX1mdW5jdGlvbiBwKCl7dmFyIHk9Zy5zY2FuKCk7Zm9yKGY9ITE7eT09PTE1fHx5PT09MTQ7KWY9Znx8eT09PTE0LHk9Zy5zY2FuKCk7cmV0dXJuIG09eT09PTE2fHxnLmdldFRva2VuRXJyb3IoKSE9PTAseX12YXIgXz1bXTtmdW5jdGlvbiB4KHksTSxJKXshbSYmKCF0fHxNPG8mJkk+YSkmJmUuc3Vic3RyaW5nKE0sSSkhPT15JiZfLnB1c2goe29mZnNldDpNLGxlbmd0aDpJLU0sY29udGVudDp5fSl9dmFyIGI9cCgpO2lmKGIhPT0xNyl7dmFyIFM9Zy5nZXRUb2tlbk9mZnNldCgpK3MsTj1ocihkLHIpO3goTixzLFMpfWZvcig7YiE9PTE3Oyl7Zm9yKHZhciB3PWcuZ2V0VG9rZW5PZmZzZXQoKStnLmdldFRva2VuTGVuZ3RoKCkrcyxMPXAoKSxBPSIiLFI9ITE7IWYmJihMPT09MTJ8fEw9PT0xMyk7KXt2YXIgRj1nLmdldFRva2VuT2Zmc2V0KCkrczt4KCIgIix3LEYpLHc9Zy5nZXRUb2tlbk9mZnNldCgpK2cuZ2V0VG9rZW5MZW5ndGgoKStzLFI9TD09PTEyLEE9Uj92KCk6IiIsTD1wKCl9aWYoTD09PTIpYiE9PTEmJihoLS0sQT12KCkpO2Vsc2UgaWYoTD09PTQpYiE9PTMmJihoLS0sQT12KCkpO2Vsc2V7c3dpdGNoKGIpe2Nhc2UgMzpjYXNlIDE6aCsrLEE9digpO2JyZWFrO2Nhc2UgNTpjYXNlIDEyOkE9digpO2JyZWFrO2Nhc2UgMTM6Zj9BPXYoKTpSfHwoQT0iICIpO2JyZWFrO2Nhc2UgNjpSfHwoQT0iICIpO2JyZWFrO2Nhc2UgMTA6aWYoTD09PTYpe1J8fChBPSIiKTticmVha31jYXNlIDc6Y2FzZSA4OmNhc2UgOTpjYXNlIDExOmNhc2UgMjpjYXNlIDQ6TD09PTEyfHxMPT09MTM/Unx8KEE9IiAiKTpMIT09NSYmTCE9PTE3JiYobT0hMCk7YnJlYWs7Y2FzZSAxNjptPSEwO2JyZWFrfWYmJihMPT09MTJ8fEw9PT0xMykmJihBPXYoKSl9TD09PTE3JiYoQT1uLmluc2VydEZpbmFsTmV3bGluZT91OiIiKTt2YXIgQz1nLmdldFRva2VuT2Zmc2V0KCkrczt4KEEsdyxDKSxiPUx9cmV0dXJuIF99ZnVuY3Rpb24gaHIoZSx0KXtmb3IodmFyIG49IiIscj0wO3I8dDtyKyspbis9ZTtyZXR1cm4gbn1mdW5jdGlvbiBzdShlLHQpe2Zvcih2YXIgbj0wLHI9MCxpPXQudGFiU2l6ZXx8NDtuPGUubGVuZ3RoOyl7dmFyIHM9ZS5jaGFyQXQobik7aWYocz09PSIgIilyKys7ZWxzZSBpZihzPT09IgkiKXIrPWk7ZWxzZSBicmVhaztuKyt9cmV0dXJuIE1hdGguZmxvb3Ioci9pKX1mdW5jdGlvbiBhdShlLHQpe2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXt2YXIgcj10LmNoYXJBdChuKTtpZihyPT09IlxyIilyZXR1cm4gbisxPHQubGVuZ3RoJiZ0LmNoYXJBdChuKzEpPT09YApgP2BccgpgOiJcciI7aWYocj09PWAKYClyZXR1cm5gCmB9cmV0dXJuIGUmJmUuZW9sfHxgCmB9ZnVuY3Rpb24gSXMoZSx0KXtyZXR1cm5gXHIKYC5pbmRleE9mKGUuY2hhckF0KHQpKSE9PS0xfXZhciBkbjsoZnVuY3Rpb24oZSl7ZS5ERUZBVUxUPXthbGxvd1RyYWlsaW5nQ29tbWE6ITF9fSkoZG58fChkbj17fSkpO2Z1bmN0aW9uIG91KGUsdCxuKXt0PT09dm9pZCAwJiYodD1bXSksbj09PXZvaWQgMCYmKG49ZG4uREVGQVVMVCk7dmFyIHI9bnVsbCxpPVtdLHM9W107ZnVuY3Rpb24gYShsKXtBcnJheS5pc0FycmF5KGkpP2kucHVzaChsKTpyIT09bnVsbCYmKGlbcl09bCl9dmFyIG89e29uT2JqZWN0QmVnaW46ZnVuY3Rpb24oKXt2YXIgbD17fTthKGwpLHMucHVzaChpKSxpPWwscj1udWxsfSxvbk9iamVjdFByb3BlcnR5OmZ1bmN0aW9uKGwpe3I9bH0sb25PYmplY3RFbmQ6ZnVuY3Rpb24oKXtpPXMucG9wKCl9LG9uQXJyYXlCZWdpbjpmdW5jdGlvbigpe3ZhciBsPVtdO2EobCkscy5wdXNoKGkpLGk9bCxyPW51bGx9LG9uQXJyYXlFbmQ6ZnVuY3Rpb24oKXtpPXMucG9wKCl9LG9uTGl0ZXJhbFZhbHVlOmEsb25FcnJvcjpmdW5jdGlvbihsLHUsZil7dC5wdXNoKHtlcnJvcjpsLG9mZnNldDp1LGxlbmd0aDpmfSl9fTtyZXR1cm4gdXUoZSxvLG4pLGlbMF19ZnVuY3Rpb24gRnMoZSl7aWYoIWUucGFyZW50fHwhZS5wYXJlbnQuY2hpbGRyZW4pcmV0dXJuW107dmFyIHQ9RnMoZS5wYXJlbnQpO2lmKGUucGFyZW50LnR5cGU9PT0icHJvcGVydHkiKXt2YXIgbj1lLnBhcmVudC5jaGlsZHJlblswXS52YWx1ZTt0LnB1c2gobil9ZWxzZSBpZihlLnBhcmVudC50eXBlPT09ImFycmF5Iil7dmFyIHI9ZS5wYXJlbnQuY2hpbGRyZW4uaW5kZXhPZihlKTtyIT09LTEmJnQucHVzaChyKX1yZXR1cm4gdH1mdW5jdGlvbiBkcihlKXtzd2l0Y2goZS50eXBlKXtjYXNlImFycmF5IjpyZXR1cm4gZS5jaGlsZHJlbi5tYXAoZHIpO2Nhc2Uib2JqZWN0Ijpmb3IodmFyIHQ9T2JqZWN0LmNyZWF0ZShudWxsKSxuPTAscj1lLmNoaWxkcmVuO248ci5sZW5ndGg7bisrKXt2YXIgaT1yW25dLHM9aS5jaGlsZHJlblsxXTtzJiYodFtpLmNoaWxkcmVuWzBdLnZhbHVlXT1kcihzKSl9cmV0dXJuIHQ7Y2FzZSJudWxsIjpjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOmNhc2UiYm9vbGVhbiI6cmV0dXJuIGUudmFsdWU7ZGVmYXVsdDpyZXR1cm59fWZ1bmN0aW9uIGx1KGUsdCxuKXtyZXR1cm4gbj09PXZvaWQgMCYmKG49ITEpLHQ+PWUub2Zmc2V0JiZ0PGUub2Zmc2V0K2UubGVuZ3RofHxuJiZ0PT09ZS5vZmZzZXQrZS5sZW5ndGh9ZnVuY3Rpb24gRHMoZSx0LG4pe2lmKG49PT12b2lkIDAmJihuPSExKSxsdShlLHQsbikpe3ZhciByPWUuY2hpbGRyZW47aWYoQXJyYXkuaXNBcnJheShyKSlmb3IodmFyIGk9MDtpPHIubGVuZ3RoJiZyW2ldLm9mZnNldDw9dDtpKyspe3ZhciBzPURzKHJbaV0sdCxuKTtpZihzKXJldHVybiBzfXJldHVybiBlfX1mdW5jdGlvbiB1dShlLHQsbil7bj09PXZvaWQgMCYmKG49ZG4uREVGQVVMVCk7dmFyIHI9Y3IoZSwhMSk7ZnVuY3Rpb24gaShSKXtyZXR1cm4gUj9mdW5jdGlvbigpe3JldHVybiBSKHIuZ2V0VG9rZW5PZmZzZXQoKSxyLmdldFRva2VuTGVuZ3RoKCksci5nZXRUb2tlblN0YXJ0TGluZSgpLHIuZ2V0VG9rZW5TdGFydENoYXJhY3RlcigpKX06ZnVuY3Rpb24oKXtyZXR1cm4hMH19ZnVuY3Rpb24gcyhSKXtyZXR1cm4gUj9mdW5jdGlvbihGKXtyZXR1cm4gUihGLHIuZ2V0VG9rZW5PZmZzZXQoKSxyLmdldFRva2VuTGVuZ3RoKCksci5nZXRUb2tlblN0YXJ0TGluZSgpLHIuZ2V0VG9rZW5TdGFydENoYXJhY3RlcigpKX06ZnVuY3Rpb24oKXtyZXR1cm4hMH19dmFyIGE9aSh0Lm9uT2JqZWN0QmVnaW4pLG89cyh0Lm9uT2JqZWN0UHJvcGVydHkpLGw9aSh0Lm9uT2JqZWN0RW5kKSx1PWkodC5vbkFycmF5QmVnaW4pLGY9aSh0Lm9uQXJyYXlFbmQpLGg9cyh0Lm9uTGl0ZXJhbFZhbHVlKSxkPXModC5vblNlcGFyYXRvciksZz1pKHQub25Db21tZW50KSxtPXModC5vbkVycm9yKSx2PW4mJm4uZGlzYWxsb3dDb21tZW50cyxwPW4mJm4uYWxsb3dUcmFpbGluZ0NvbW1hO2Z1bmN0aW9uIF8oKXtmb3IoOzspe3ZhciBSPXIuc2NhbigpO3N3aXRjaChyLmdldFRva2VuRXJyb3IoKSl7Y2FzZSA0OngoMTQpO2JyZWFrO2Nhc2UgNTp4KDE1KTticmVhaztjYXNlIDM6eCgxMyk7YnJlYWs7Y2FzZSAxOnZ8fHgoMTEpO2JyZWFrO2Nhc2UgMjp4KDEyKTticmVhaztjYXNlIDY6eCgxNik7YnJlYWt9c3dpdGNoKFIpe2Nhc2UgMTI6Y2FzZSAxMzp2P3goMTApOmcoKTticmVhaztjYXNlIDE2OngoMSk7YnJlYWs7Y2FzZSAxNTpjYXNlIDE0OmJyZWFrO2RlZmF1bHQ6cmV0dXJuIFJ9fX1mdW5jdGlvbiB4KFIsRixDKXtpZihGPT09dm9pZCAwJiYoRj1bXSksQz09PXZvaWQgMCYmKEM9W10pLG0oUiksRi5sZW5ndGgrQy5sZW5ndGg+MClmb3IodmFyIHk9ci5nZXRUb2tlbigpO3khPT0xNzspe2lmKEYuaW5kZXhPZih5KSE9PS0xKXtfKCk7YnJlYWt9ZWxzZSBpZihDLmluZGV4T2YoeSkhPT0tMSlicmVhazt5PV8oKX19ZnVuY3Rpb24gYihSKXt2YXIgRj1yLmdldFRva2VuVmFsdWUoKTtyZXR1cm4gUj9oKEYpOm8oRiksXygpLCEwfWZ1bmN0aW9uIFMoKXtzd2l0Y2goci5nZXRUb2tlbigpKXtjYXNlIDExOnZhciBSPXIuZ2V0VG9rZW5WYWx1ZSgpLEY9TnVtYmVyKFIpO2lzTmFOKEYpJiYoeCgyKSxGPTApLGgoRik7YnJlYWs7Y2FzZSA3OmgobnVsbCk7YnJlYWs7Y2FzZSA4OmgoITApO2JyZWFrO2Nhc2UgOTpoKCExKTticmVhaztkZWZhdWx0OnJldHVybiExfXJldHVybiBfKCksITB9ZnVuY3Rpb24gTigpe3JldHVybiByLmdldFRva2VuKCkhPT0xMD8oeCgzLFtdLFsyLDVdKSwhMSk6KGIoITEpLHIuZ2V0VG9rZW4oKT09PTY/KGQoIjoiKSxfKCksQSgpfHx4KDQsW10sWzIsNV0pKTp4KDUsW10sWzIsNV0pLCEwKX1mdW5jdGlvbiB3KCl7YSgpLF8oKTtmb3IodmFyIFI9ITE7ci5nZXRUb2tlbigpIT09MiYmci5nZXRUb2tlbigpIT09MTc7KXtpZihyLmdldFRva2VuKCk9PT01KXtpZihSfHx4KDQsW10sW10pLGQoIiwiKSxfKCksci5nZXRUb2tlbigpPT09MiYmcClicmVha31lbHNlIFImJngoNixbXSxbXSk7TigpfHx4KDQsW10sWzIsNV0pLFI9ITB9cmV0dXJuIGwoKSxyLmdldFRva2VuKCkhPT0yP3goNyxbMl0sW10pOl8oKSwhMH1mdW5jdGlvbiBMKCl7dSgpLF8oKTtmb3IodmFyIFI9ITE7ci5nZXRUb2tlbigpIT09NCYmci5nZXRUb2tlbigpIT09MTc7KXtpZihyLmdldFRva2VuKCk9PT01KXtpZihSfHx4KDQsW10sW10pLGQoIiwiKSxfKCksci5nZXRUb2tlbigpPT09NCYmcClicmVha31lbHNlIFImJngoNixbXSxbXSk7QSgpfHx4KDQsW10sWzQsNV0pLFI9ITB9cmV0dXJuIGYoKSxyLmdldFRva2VuKCkhPT00P3goOCxbNF0sW10pOl8oKSwhMH1mdW5jdGlvbiBBKCl7c3dpdGNoKHIuZ2V0VG9rZW4oKSl7Y2FzZSAzOnJldHVybiBMKCk7Y2FzZSAxOnJldHVybiB3KCk7Y2FzZSAxMDpyZXR1cm4gYighMCk7ZGVmYXVsdDpyZXR1cm4gUygpfX1yZXR1cm4gXygpLHIuZ2V0VG9rZW4oKT09PTE3P24uYWxsb3dFbXB0eUNvbnRlbnQ/ITA6KHgoNCxbXSxbXSksITEpOkEoKT8oci5nZXRUb2tlbigpIT09MTcmJngoOSxbXSxbXSksITApOih4KDQsW10sW10pLCExKX12YXIgTHQ9Y3IsY3U9b3UsZnU9RHMsaHU9RnMsZHU9ZHI7ZnVuY3Rpb24gZ3UoZSx0LG4pe3JldHVybiBpdShlLHQsbil9ZnVuY3Rpb24gQnQoZSx0KXtpZihlPT09dClyZXR1cm4hMDtpZihlPT1udWxsfHx0PT09bnVsbHx8dD09PXZvaWQgMHx8dHlwZW9mIGUhPXR5cGVvZiB0fHx0eXBlb2YgZSE9Im9iamVjdCJ8fEFycmF5LmlzQXJyYXkoZSkhPT1BcnJheS5pc0FycmF5KHQpKXJldHVybiExO3ZhciBuLHI7aWYoQXJyYXkuaXNBcnJheShlKSl7aWYoZS5sZW5ndGghPT10Lmxlbmd0aClyZXR1cm4hMTtmb3Iobj0wO248ZS5sZW5ndGg7bisrKWlmKCFCdChlW25dLHRbbl0pKXJldHVybiExfWVsc2V7dmFyIGk9W107Zm9yKHIgaW4gZSlpLnB1c2gocik7aS5zb3J0KCk7dmFyIHM9W107Zm9yKHIgaW4gdClzLnB1c2gocik7aWYocy5zb3J0KCksIUJ0KGkscykpcmV0dXJuITE7Zm9yKG49MDtuPGkubGVuZ3RoO24rKylpZighQnQoZVtpW25dXSx0W2lbbl1dKSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiB5ZShlKXtyZXR1cm4gdHlwZW9mIGU9PSJudW1iZXIifWZ1bmN0aW9uIHFlKGUpe3JldHVybiB0eXBlb2YgZTwidSJ9ZnVuY3Rpb24gRmUoZSl7cmV0dXJuIHR5cGVvZiBlPT0iYm9vbGVhbiJ9ZnVuY3Rpb24gbXUoZSl7cmV0dXJuIHR5cGVvZiBlPT0ic3RyaW5nIn1mdW5jdGlvbiBwdShlLHQpe2lmKGUubGVuZ3RoPHQubGVuZ3RoKXJldHVybiExO2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKWlmKGVbbl0hPT10W25dKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIGp0KGUsdCl7dmFyIG49ZS5sZW5ndGgtdC5sZW5ndGg7cmV0dXJuIG4+MD9lLmxhc3RJbmRleE9mKHQpPT09bjpuPT09MD9lPT09dDohMX1mdW5jdGlvbiBnbihlKXt2YXIgdD0iIjtwdShlLCIoP2kpIikmJihlPWUuc3Vic3RyaW5nKDQpLHQ9ImkiKTt0cnl7cmV0dXJuIG5ldyBSZWdFeHAoZSx0KyJ1Iil9Y2F0Y2h7dHJ5e3JldHVybiBuZXcgUmVnRXhwKGUsdCl9Y2F0Y2h7cmV0dXJufX19dmFyIE9zOyhmdW5jdGlvbihlKXtlLk1JTl9WQUxVRT0tMjE0NzQ4MzY0OCxlLk1BWF9WQUxVRT0yMTQ3NDgzNjQ3fSkoT3N8fChPcz17fSkpO3ZhciBtbjsoZnVuY3Rpb24oZSl7ZS5NSU5fVkFMVUU9MCxlLk1BWF9WQUxVRT0yMTQ3NDgzNjQ3fSkobW58fChtbj17fSkpO3ZhciBSZTsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChyLGkpe3JldHVybiByPT09TnVtYmVyLk1BWF9WQUxVRSYmKHI9bW4uTUFYX1ZBTFVFKSxpPT09TnVtYmVyLk1BWF9WQUxVRSYmKGk9bW4uTUFYX1ZBTFVFKSx7bGluZTpyLGNoYXJhY3RlcjppfX1lLmNyZWF0ZT10O2Z1bmN0aW9uIG4ocil7dmFyIGk9cjtyZXR1cm4gay5vYmplY3RMaXRlcmFsKGkpJiZrLnVpbnRlZ2VyKGkubGluZSkmJmsudWludGVnZXIoaS5jaGFyYWN0ZXIpfWUuaXM9bn0pKFJlfHwoUmU9e30pKTt2YXIgWDsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChyLGkscyxhKXtpZihrLnVpbnRlZ2VyKHIpJiZrLnVpbnRlZ2VyKGkpJiZrLnVpbnRlZ2VyKHMpJiZrLnVpbnRlZ2VyKGEpKXJldHVybntzdGFydDpSZS5jcmVhdGUocixpKSxlbmQ6UmUuY3JlYXRlKHMsYSl9O2lmKFJlLmlzKHIpJiZSZS5pcyhpKSlyZXR1cm57c3RhcnQ6cixlbmQ6aX07dGhyb3cgbmV3IEVycm9yKCJSYW5nZSNjcmVhdGUgY2FsbGVkIHdpdGggaW52YWxpZCBhcmd1bWVudHNbIityKyIsICIraSsiLCAiK3MrIiwgIithKyJdIil9ZS5jcmVhdGU9dDtmdW5jdGlvbiBuKHIpe3ZhciBpPXI7cmV0dXJuIGsub2JqZWN0TGl0ZXJhbChpKSYmUmUuaXMoaS5zdGFydCkmJlJlLmlzKGkuZW5kKX1lLmlzPW59KShYfHwoWD17fSkpO3ZhciBxdDsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChyLGkpe3JldHVybnt1cmk6cixyYW5nZTppfX1lLmNyZWF0ZT10O2Z1bmN0aW9uIG4ocil7dmFyIGk9cjtyZXR1cm4gay5kZWZpbmVkKGkpJiZYLmlzKGkucmFuZ2UpJiYoay5zdHJpbmcoaS51cmkpfHxrLnVuZGVmaW5lZChpLnVyaSkpfWUuaXM9bn0pKHF0fHwocXQ9e30pKTt2YXIgVnM7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQocixpLHMsYSl7cmV0dXJue3RhcmdldFVyaTpyLHRhcmdldFJhbmdlOmksdGFyZ2V0U2VsZWN0aW9uUmFuZ2U6cyxvcmlnaW5TZWxlY3Rpb25SYW5nZTphfX1lLmNyZWF0ZT10O2Z1bmN0aW9uIG4ocil7dmFyIGk9cjtyZXR1cm4gay5kZWZpbmVkKGkpJiZYLmlzKGkudGFyZ2V0UmFuZ2UpJiZrLnN0cmluZyhpLnRhcmdldFVyaSkmJihYLmlzKGkudGFyZ2V0U2VsZWN0aW9uUmFuZ2UpfHxrLnVuZGVmaW5lZChpLnRhcmdldFNlbGVjdGlvblJhbmdlKSkmJihYLmlzKGkub3JpZ2luU2VsZWN0aW9uUmFuZ2UpfHxrLnVuZGVmaW5lZChpLm9yaWdpblNlbGVjdGlvblJhbmdlKSl9ZS5pcz1ufSkoVnN8fChWcz17fSkpO3ZhciBncjsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChyLGkscyxhKXtyZXR1cm57cmVkOnIsZ3JlZW46aSxibHVlOnMsYWxwaGE6YX19ZS5jcmVhdGU9dDtmdW5jdGlvbiBuKHIpe3ZhciBpPXI7cmV0dXJuIGsubnVtYmVyUmFuZ2UoaS5yZWQsMCwxKSYmay5udW1iZXJSYW5nZShpLmdyZWVuLDAsMSkmJmsubnVtYmVyUmFuZ2UoaS5ibHVlLDAsMSkmJmsubnVtYmVyUmFuZ2UoaS5hbHBoYSwwLDEpfWUuaXM9bn0pKGdyfHwoZ3I9e30pKTt2YXIgVXM7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQocixpKXtyZXR1cm57cmFuZ2U6cixjb2xvcjppfX1lLmNyZWF0ZT10O2Z1bmN0aW9uIG4ocil7dmFyIGk9cjtyZXR1cm4gWC5pcyhpLnJhbmdlKSYmZ3IuaXMoaS5jb2xvcil9ZS5pcz1ufSkoVXN8fChVcz17fSkpO3ZhciBCczsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChyLGkscyl7cmV0dXJue2xhYmVsOnIsdGV4dEVkaXQ6aSxhZGRpdGlvbmFsVGV4dEVkaXRzOnN9fWUuY3JlYXRlPXQ7ZnVuY3Rpb24gbihyKXt2YXIgaT1yO3JldHVybiBrLnN0cmluZyhpLmxhYmVsKSYmKGsudW5kZWZpbmVkKGkudGV4dEVkaXQpfHxUZS5pcyhpKSkmJihrLnVuZGVmaW5lZChpLmFkZGl0aW9uYWxUZXh0RWRpdHMpfHxrLnR5cGVkQXJyYXkoaS5hZGRpdGlvbmFsVGV4dEVkaXRzLFRlLmlzKSl9ZS5pcz1ufSkoQnN8fChCcz17fSkpO3ZhciBIdDsoZnVuY3Rpb24oZSl7ZS5Db21tZW50PSJjb21tZW50IixlLkltcG9ydHM9ImltcG9ydHMiLGUuUmVnaW9uPSJyZWdpb24ifSkoSHR8fChIdD17fSkpO3ZhciBqczsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChyLGkscyxhLG8pe3ZhciBsPXtzdGFydExpbmU6cixlbmRMaW5lOml9O3JldHVybiBrLmRlZmluZWQocykmJihsLnN0YXJ0Q2hhcmFjdGVyPXMpLGsuZGVmaW5lZChhKSYmKGwuZW5kQ2hhcmFjdGVyPWEpLGsuZGVmaW5lZChvKSYmKGwua2luZD1vKSxsfWUuY3JlYXRlPXQ7ZnVuY3Rpb24gbihyKXt2YXIgaT1yO3JldHVybiBrLnVpbnRlZ2VyKGkuc3RhcnRMaW5lKSYmay51aW50ZWdlcihpLnN0YXJ0TGluZSkmJihrLnVuZGVmaW5lZChpLnN0YXJ0Q2hhcmFjdGVyKXx8ay51aW50ZWdlcihpLnN0YXJ0Q2hhcmFjdGVyKSkmJihrLnVuZGVmaW5lZChpLmVuZENoYXJhY3Rlcil8fGsudWludGVnZXIoaS5lbmRDaGFyYWN0ZXIpKSYmKGsudW5kZWZpbmVkKGkua2luZCl8fGsuc3RyaW5nKGkua2luZCkpfWUuaXM9bn0pKGpzfHwoanM9e30pKTt2YXIgbXI7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQocixpKXtyZXR1cm57bG9jYXRpb246cixtZXNzYWdlOml9fWUuY3JlYXRlPXQ7ZnVuY3Rpb24gbihyKXt2YXIgaT1yO3JldHVybiBrLmRlZmluZWQoaSkmJnF0LmlzKGkubG9jYXRpb24pJiZrLnN0cmluZyhpLm1lc3NhZ2UpfWUuaXM9bn0pKG1yfHwobXI9e30pKTt2YXIgd2U7KGZ1bmN0aW9uKGUpe2UuRXJyb3I9MSxlLldhcm5pbmc9MixlLkluZm9ybWF0aW9uPTMsZS5IaW50PTR9KSh3ZXx8KHdlPXt9KSk7dmFyIHFzOyhmdW5jdGlvbihlKXtlLlVubmVjZXNzYXJ5PTEsZS5EZXByZWNhdGVkPTJ9KShxc3x8KHFzPXt9KSk7dmFyIEhzOyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KG4pe3ZhciByPW47cmV0dXJuIHIhPW51bGwmJmsuc3RyaW5nKHIuaHJlZil9ZS5pcz10fSkoSHN8fChIcz17fSkpO3ZhciBIZTsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChyLGkscyxhLG8sbCl7dmFyIHU9e3JhbmdlOnIsbWVzc2FnZTppfTtyZXR1cm4gay5kZWZpbmVkKHMpJiYodS5zZXZlcml0eT1zKSxrLmRlZmluZWQoYSkmJih1LmNvZGU9YSksay5kZWZpbmVkKG8pJiYodS5zb3VyY2U9byksay5kZWZpbmVkKGwpJiYodS5yZWxhdGVkSW5mb3JtYXRpb249bCksdX1lLmNyZWF0ZT10O2Z1bmN0aW9uIG4ocil7dmFyIGkscz1yO3JldHVybiBrLmRlZmluZWQocykmJlguaXMocy5yYW5nZSkmJmsuc3RyaW5nKHMubWVzc2FnZSkmJihrLm51bWJlcihzLnNldmVyaXR5KXx8ay51bmRlZmluZWQocy5zZXZlcml0eSkpJiYoay5pbnRlZ2VyKHMuY29kZSl8fGsuc3RyaW5nKHMuY29kZSl8fGsudW5kZWZpbmVkKHMuY29kZSkpJiYoay51bmRlZmluZWQocy5jb2RlRGVzY3JpcHRpb24pfHxrLnN0cmluZygoaT1zLmNvZGVEZXNjcmlwdGlvbik9PT1udWxsfHxpPT09dm9pZCAwP3ZvaWQgMDppLmhyZWYpKSYmKGsuc3RyaW5nKHMuc291cmNlKXx8ay51bmRlZmluZWQocy5zb3VyY2UpKSYmKGsudW5kZWZpbmVkKHMucmVsYXRlZEluZm9ybWF0aW9uKXx8ay50eXBlZEFycmF5KHMucmVsYXRlZEluZm9ybWF0aW9uLG1yLmlzKSl9ZS5pcz1ufSkoSGV8fChIZT17fSkpO3ZhciAkdDsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChyLGkpe2Zvcih2YXIgcz1bXSxhPTI7YTxhcmd1bWVudHMubGVuZ3RoO2ErKylzW2EtMl09YXJndW1lbnRzW2FdO3ZhciBvPXt0aXRsZTpyLGNvbW1hbmQ6aX07cmV0dXJuIGsuZGVmaW5lZChzKSYmcy5sZW5ndGg+MCYmKG8uYXJndW1lbnRzPXMpLG99ZS5jcmVhdGU9dDtmdW5jdGlvbiBuKHIpe3ZhciBpPXI7cmV0dXJuIGsuZGVmaW5lZChpKSYmay5zdHJpbmcoaS50aXRsZSkmJmsuc3RyaW5nKGkuY29tbWFuZCl9ZS5pcz1ufSkoJHR8fCgkdD17fSkpO3ZhciBUZTsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChzLGEpe3JldHVybntyYW5nZTpzLG5ld1RleHQ6YX19ZS5yZXBsYWNlPXQ7ZnVuY3Rpb24gbihzLGEpe3JldHVybntyYW5nZTp7c3RhcnQ6cyxlbmQ6c30sbmV3VGV4dDphfX1lLmluc2VydD1uO2Z1bmN0aW9uIHIocyl7cmV0dXJue3JhbmdlOnMsbmV3VGV4dDoiIn19ZS5kZWw9cjtmdW5jdGlvbiBpKHMpe3ZhciBhPXM7cmV0dXJuIGsub2JqZWN0TGl0ZXJhbChhKSYmay5zdHJpbmcoYS5uZXdUZXh0KSYmWC5pcyhhLnJhbmdlKX1lLmlzPWl9KShUZXx8KFRlPXt9KSk7dmFyIEF0OyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KHIsaSxzKXt2YXIgYT17bGFiZWw6cn07cmV0dXJuIGkhPT12b2lkIDAmJihhLm5lZWRzQ29uZmlybWF0aW9uPWkpLHMhPT12b2lkIDAmJihhLmRlc2NyaXB0aW9uPXMpLGF9ZS5jcmVhdGU9dDtmdW5jdGlvbiBuKHIpe3ZhciBpPXI7cmV0dXJuIGkhPT12b2lkIDAmJmsub2JqZWN0TGl0ZXJhbChpKSYmay5zdHJpbmcoaS5sYWJlbCkmJihrLmJvb2xlYW4oaS5uZWVkc0NvbmZpcm1hdGlvbil8fGkubmVlZHNDb25maXJtYXRpb249PT12b2lkIDApJiYoay5zdHJpbmcoaS5kZXNjcmlwdGlvbil8fGkuZGVzY3JpcHRpb249PT12b2lkIDApfWUuaXM9bn0pKEF0fHwoQXQ9e30pKTt2YXIgZmU7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQobil7dmFyIHI9bjtyZXR1cm4gdHlwZW9mIHI9PSJzdHJpbmcifWUuaXM9dH0pKGZlfHwoZmU9e30pKTt2YXIgS2U7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQocyxhLG8pe3JldHVybntyYW5nZTpzLG5ld1RleHQ6YSxhbm5vdGF0aW9uSWQ6b319ZS5yZXBsYWNlPXQ7ZnVuY3Rpb24gbihzLGEsbyl7cmV0dXJue3JhbmdlOntzdGFydDpzLGVuZDpzfSxuZXdUZXh0OmEsYW5ub3RhdGlvbklkOm99fWUuaW5zZXJ0PW47ZnVuY3Rpb24gcihzLGEpe3JldHVybntyYW5nZTpzLG5ld1RleHQ6IiIsYW5ub3RhdGlvbklkOmF9fWUuZGVsPXI7ZnVuY3Rpb24gaShzKXt2YXIgYT1zO3JldHVybiBUZS5pcyhhKSYmKEF0LmlzKGEuYW5ub3RhdGlvbklkKXx8ZmUuaXMoYS5hbm5vdGF0aW9uSWQpKX1lLmlzPWl9KShLZXx8KEtlPXt9KSk7dmFyIHBuOyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KHIsaSl7cmV0dXJue3RleHREb2N1bWVudDpyLGVkaXRzOml9fWUuY3JlYXRlPXQ7ZnVuY3Rpb24gbihyKXt2YXIgaT1yO3JldHVybiBrLmRlZmluZWQoaSkmJmJuLmlzKGkudGV4dERvY3VtZW50KSYmQXJyYXkuaXNBcnJheShpLmVkaXRzKX1lLmlzPW59KShwbnx8KHBuPXt9KSk7dmFyIFd0OyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KHIsaSxzKXt2YXIgYT17a2luZDoiY3JlYXRlIix1cmk6cn07cmV0dXJuIGkhPT12b2lkIDAmJihpLm92ZXJ3cml0ZSE9PXZvaWQgMHx8aS5pZ25vcmVJZkV4aXN0cyE9PXZvaWQgMCkmJihhLm9wdGlvbnM9aSkscyE9PXZvaWQgMCYmKGEuYW5ub3RhdGlvbklkPXMpLGF9ZS5jcmVhdGU9dDtmdW5jdGlvbiBuKHIpe3ZhciBpPXI7cmV0dXJuIGkmJmkua2luZD09PSJjcmVhdGUiJiZrLnN0cmluZyhpLnVyaSkmJihpLm9wdGlvbnM9PT12b2lkIDB8fChpLm9wdGlvbnMub3ZlcndyaXRlPT09dm9pZCAwfHxrLmJvb2xlYW4oaS5vcHRpb25zLm92ZXJ3cml0ZSkpJiYoaS5vcHRpb25zLmlnbm9yZUlmRXhpc3RzPT09dm9pZCAwfHxrLmJvb2xlYW4oaS5vcHRpb25zLmlnbm9yZUlmRXhpc3RzKSkpJiYoaS5hbm5vdGF0aW9uSWQ9PT12b2lkIDB8fGZlLmlzKGkuYW5ub3RhdGlvbklkKSl9ZS5pcz1ufSkoV3R8fChXdD17fSkpO3ZhciB6dDsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChyLGkscyxhKXt2YXIgbz17a2luZDoicmVuYW1lIixvbGRVcmk6cixuZXdVcmk6aX07cmV0dXJuIHMhPT12b2lkIDAmJihzLm92ZXJ3cml0ZSE9PXZvaWQgMHx8cy5pZ25vcmVJZkV4aXN0cyE9PXZvaWQgMCkmJihvLm9wdGlvbnM9cyksYSE9PXZvaWQgMCYmKG8uYW5ub3RhdGlvbklkPWEpLG99ZS5jcmVhdGU9dDtmdW5jdGlvbiBuKHIpe3ZhciBpPXI7cmV0dXJuIGkmJmkua2luZD09PSJyZW5hbWUiJiZrLnN0cmluZyhpLm9sZFVyaSkmJmsuc3RyaW5nKGkubmV3VXJpKSYmKGkub3B0aW9ucz09PXZvaWQgMHx8KGkub3B0aW9ucy5vdmVyd3JpdGU9PT12b2lkIDB8fGsuYm9vbGVhbihpLm9wdGlvbnMub3ZlcndyaXRlKSkmJihpLm9wdGlvbnMuaWdub3JlSWZFeGlzdHM9PT12b2lkIDB8fGsuYm9vbGVhbihpLm9wdGlvbnMuaWdub3JlSWZFeGlzdHMpKSkmJihpLmFubm90YXRpb25JZD09PXZvaWQgMHx8ZmUuaXMoaS5hbm5vdGF0aW9uSWQpKX1lLmlzPW59KSh6dHx8KHp0PXt9KSk7dmFyIEd0OyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KHIsaSxzKXt2YXIgYT17a2luZDoiZGVsZXRlIix1cmk6cn07cmV0dXJuIGkhPT12b2lkIDAmJihpLnJlY3Vyc2l2ZSE9PXZvaWQgMHx8aS5pZ25vcmVJZk5vdEV4aXN0cyE9PXZvaWQgMCkmJihhLm9wdGlvbnM9aSkscyE9PXZvaWQgMCYmKGEuYW5ub3RhdGlvbklkPXMpLGF9ZS5jcmVhdGU9dDtmdW5jdGlvbiBuKHIpe3ZhciBpPXI7cmV0dXJuIGkmJmkua2luZD09PSJkZWxldGUiJiZrLnN0cmluZyhpLnVyaSkmJihpLm9wdGlvbnM9PT12b2lkIDB8fChpLm9wdGlvbnMucmVjdXJzaXZlPT09dm9pZCAwfHxrLmJvb2xlYW4oaS5vcHRpb25zLnJlY3Vyc2l2ZSkpJiYoaS5vcHRpb25zLmlnbm9yZUlmTm90RXhpc3RzPT09dm9pZCAwfHxrLmJvb2xlYW4oaS5vcHRpb25zLmlnbm9yZUlmTm90RXhpc3RzKSkpJiYoaS5hbm5vdGF0aW9uSWQ9PT12b2lkIDB8fGZlLmlzKGkuYW5ub3RhdGlvbklkKSl9ZS5pcz1ufSkoR3R8fChHdD17fSkpO3ZhciBwcjsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChuKXt2YXIgcj1uO3JldHVybiByJiYoci5jaGFuZ2VzIT09dm9pZCAwfHxyLmRvY3VtZW50Q2hhbmdlcyE9PXZvaWQgMCkmJihyLmRvY3VtZW50Q2hhbmdlcz09PXZvaWQgMHx8ci5kb2N1bWVudENoYW5nZXMuZXZlcnkoZnVuY3Rpb24oaSl7cmV0dXJuIGsuc3RyaW5nKGkua2luZCk/V3QuaXMoaSl8fHp0LmlzKGkpfHxHdC5pcyhpKTpwbi5pcyhpKX0pKX1lLmlzPXR9KShwcnx8KHByPXt9KSk7dmFyIHZuPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0LG4pe3RoaXMuZWRpdHM9dCx0aGlzLmNoYW5nZUFubm90YXRpb25zPW59cmV0dXJuIGUucHJvdG90eXBlLmluc2VydD1mdW5jdGlvbih0LG4scil7dmFyIGkscztpZihyPT09dm9pZCAwP2k9VGUuaW5zZXJ0KHQsbik6ZmUuaXMocik/KHM9cixpPUtlLmluc2VydCh0LG4scikpOih0aGlzLmFzc2VydENoYW5nZUFubm90YXRpb25zKHRoaXMuY2hhbmdlQW5ub3RhdGlvbnMpLHM9dGhpcy5jaGFuZ2VBbm5vdGF0aW9ucy5tYW5hZ2UociksaT1LZS5pbnNlcnQodCxuLHMpKSx0aGlzLmVkaXRzLnB1c2goaSkscyE9PXZvaWQgMClyZXR1cm4gc30sZS5wcm90b3R5cGUucmVwbGFjZT1mdW5jdGlvbih0LG4scil7dmFyIGkscztpZihyPT09dm9pZCAwP2k9VGUucmVwbGFjZSh0LG4pOmZlLmlzKHIpPyhzPXIsaT1LZS5yZXBsYWNlKHQsbixyKSk6KHRoaXMuYXNzZXJ0Q2hhbmdlQW5ub3RhdGlvbnModGhpcy5jaGFuZ2VBbm5vdGF0aW9ucykscz10aGlzLmNoYW5nZUFubm90YXRpb25zLm1hbmFnZShyKSxpPUtlLnJlcGxhY2UodCxuLHMpKSx0aGlzLmVkaXRzLnB1c2goaSkscyE9PXZvaWQgMClyZXR1cm4gc30sZS5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKHQsbil7dmFyIHIsaTtpZihuPT09dm9pZCAwP3I9VGUuZGVsKHQpOmZlLmlzKG4pPyhpPW4scj1LZS5kZWwodCxuKSk6KHRoaXMuYXNzZXJ0Q2hhbmdlQW5ub3RhdGlvbnModGhpcy5jaGFuZ2VBbm5vdGF0aW9ucyksaT10aGlzLmNoYW5nZUFubm90YXRpb25zLm1hbmFnZShuKSxyPUtlLmRlbCh0LGkpKSx0aGlzLmVkaXRzLnB1c2gociksaSE9PXZvaWQgMClyZXR1cm4gaX0sZS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKHQpe3RoaXMuZWRpdHMucHVzaCh0KX0sZS5wcm90b3R5cGUuYWxsPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWRpdHN9LGUucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5lZGl0cy5zcGxpY2UoMCx0aGlzLmVkaXRzLmxlbmd0aCl9LGUucHJvdG90eXBlLmFzc2VydENoYW5nZUFubm90YXRpb25zPWZ1bmN0aW9uKHQpe2lmKHQ9PT12b2lkIDApdGhyb3cgbmV3IEVycm9yKCJUZXh0IGVkaXQgY2hhbmdlIGlzIG5vdCBjb25maWd1cmVkIHRvIG1hbmFnZSBjaGFuZ2UgYW5ub3RhdGlvbnMuIil9LGV9KCksJHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQpe3RoaXMuX2Fubm90YXRpb25zPXQ9PT12b2lkIDA/T2JqZWN0LmNyZWF0ZShudWxsKTp0LHRoaXMuX2NvdW50ZXI9MCx0aGlzLl9zaXplPTB9cmV0dXJuIGUucHJvdG90eXBlLmFsbD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9hbm5vdGF0aW9uc30sT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJzaXplIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NpemV9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksZS5wcm90b3R5cGUubWFuYWdlPWZ1bmN0aW9uKHQsbil7dmFyIHI7aWYoZmUuaXModCk/cj10OihyPXRoaXMubmV4dElkKCksbj10KSx0aGlzLl9hbm5vdGF0aW9uc1tyXSE9PXZvaWQgMCl0aHJvdyBuZXcgRXJyb3IoIklkICIrcisiIGlzIGFscmVhZHkgaW4gdXNlLiIpO2lmKG49PT12b2lkIDApdGhyb3cgbmV3IEVycm9yKCJObyBhbm5vdGF0aW9uIHByb3ZpZGVkIGZvciBpZCAiK3IpO3JldHVybiB0aGlzLl9hbm5vdGF0aW9uc1tyXT1uLHRoaXMuX3NpemUrKyxyfSxlLnByb3RvdHlwZS5uZXh0SWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY291bnRlcisrLHRoaXMuX2NvdW50ZXIudG9TdHJpbmcoKX0sZX0oKTsoZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQpe3ZhciBuPXRoaXM7dGhpcy5fdGV4dEVkaXRDaGFuZ2VzPU9iamVjdC5jcmVhdGUobnVsbCksdCE9PXZvaWQgMD8odGhpcy5fd29ya3NwYWNlRWRpdD10LHQuZG9jdW1lbnRDaGFuZ2VzPyh0aGlzLl9jaGFuZ2VBbm5vdGF0aW9ucz1uZXcgJHModC5jaGFuZ2VBbm5vdGF0aW9ucyksdC5jaGFuZ2VBbm5vdGF0aW9ucz10aGlzLl9jaGFuZ2VBbm5vdGF0aW9ucy5hbGwoKSx0LmRvY3VtZW50Q2hhbmdlcy5mb3JFYWNoKGZ1bmN0aW9uKHIpe2lmKHBuLmlzKHIpKXt2YXIgaT1uZXcgdm4oci5lZGl0cyxuLl9jaGFuZ2VBbm5vdGF0aW9ucyk7bi5fdGV4dEVkaXRDaGFuZ2VzW3IudGV4dERvY3VtZW50LnVyaV09aX19KSk6dC5jaGFuZ2VzJiZPYmplY3Qua2V5cyh0LmNoYW5nZXMpLmZvckVhY2goZnVuY3Rpb24ocil7dmFyIGk9bmV3IHZuKHQuY2hhbmdlc1tyXSk7bi5fdGV4dEVkaXRDaGFuZ2VzW3JdPWl9KSk6dGhpcy5fd29ya3NwYWNlRWRpdD17fX1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJlZGl0Iix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5pdERvY3VtZW50Q2hhbmdlcygpLHRoaXMuX2NoYW5nZUFubm90YXRpb25zIT09dm9pZCAwJiYodGhpcy5fY2hhbmdlQW5ub3RhdGlvbnMuc2l6ZT09PTA/dGhpcy5fd29ya3NwYWNlRWRpdC5jaGFuZ2VBbm5vdGF0aW9ucz12b2lkIDA6dGhpcy5fd29ya3NwYWNlRWRpdC5jaGFuZ2VBbm5vdGF0aW9ucz10aGlzLl9jaGFuZ2VBbm5vdGF0aW9ucy5hbGwoKSksdGhpcy5fd29ya3NwYWNlRWRpdH0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxlLnByb3RvdHlwZS5nZXRUZXh0RWRpdENoYW5nZT1mdW5jdGlvbih0KXtpZihibi5pcyh0KSl7aWYodGhpcy5pbml0RG9jdW1lbnRDaGFuZ2VzKCksdGhpcy5fd29ya3NwYWNlRWRpdC5kb2N1bWVudENoYW5nZXM9PT12b2lkIDApdGhyb3cgbmV3IEVycm9yKCJXb3Jrc3BhY2UgZWRpdCBpcyBub3QgY29uZmlndXJlZCBmb3IgZG9jdW1lbnQgY2hhbmdlcy4iKTt2YXIgbj17dXJpOnQudXJpLHZlcnNpb246dC52ZXJzaW9ufSxyPXRoaXMuX3RleHRFZGl0Q2hhbmdlc1tuLnVyaV07aWYoIXIpe3ZhciBpPVtdLHM9e3RleHREb2N1bWVudDpuLGVkaXRzOml9O3RoaXMuX3dvcmtzcGFjZUVkaXQuZG9jdW1lbnRDaGFuZ2VzLnB1c2gocykscj1uZXcgdm4oaSx0aGlzLl9jaGFuZ2VBbm5vdGF0aW9ucyksdGhpcy5fdGV4dEVkaXRDaGFuZ2VzW24udXJpXT1yfXJldHVybiByfWVsc2V7aWYodGhpcy5pbml0Q2hhbmdlcygpLHRoaXMuX3dvcmtzcGFjZUVkaXQuY2hhbmdlcz09PXZvaWQgMCl0aHJvdyBuZXcgRXJyb3IoIldvcmtzcGFjZSBlZGl0IGlzIG5vdCBjb25maWd1cmVkIGZvciBub3JtYWwgdGV4dCBlZGl0IGNoYW5nZXMuIik7dmFyIHI9dGhpcy5fdGV4dEVkaXRDaGFuZ2VzW3RdO2lmKCFyKXt2YXIgaT1bXTt0aGlzLl93b3Jrc3BhY2VFZGl0LmNoYW5nZXNbdF09aSxyPW5ldyB2bihpKSx0aGlzLl90ZXh0RWRpdENoYW5nZXNbdF09cn1yZXR1cm4gcn19LGUucHJvdG90eXBlLmluaXREb2N1bWVudENoYW5nZXM9ZnVuY3Rpb24oKXt0aGlzLl93b3Jrc3BhY2VFZGl0LmRvY3VtZW50Q2hhbmdlcz09PXZvaWQgMCYmdGhpcy5fd29ya3NwYWNlRWRpdC5jaGFuZ2VzPT09dm9pZCAwJiYodGhpcy5fY2hhbmdlQW5ub3RhdGlvbnM9bmV3ICRzLHRoaXMuX3dvcmtzcGFjZUVkaXQuZG9jdW1lbnRDaGFuZ2VzPVtdLHRoaXMuX3dvcmtzcGFjZUVkaXQuY2hhbmdlQW5ub3RhdGlvbnM9dGhpcy5fY2hhbmdlQW5ub3RhdGlvbnMuYWxsKCkpfSxlLnByb3RvdHlwZS5pbml0Q2hhbmdlcz1mdW5jdGlvbigpe3RoaXMuX3dvcmtzcGFjZUVkaXQuZG9jdW1lbnRDaGFuZ2VzPT09dm9pZCAwJiZ0aGlzLl93b3Jrc3BhY2VFZGl0LmNoYW5nZXM9PT12b2lkIDAmJih0aGlzLl93b3Jrc3BhY2VFZGl0LmNoYW5nZXM9T2JqZWN0LmNyZWF0ZShudWxsKSl9LGUucHJvdG90eXBlLmNyZWF0ZUZpbGU9ZnVuY3Rpb24odCxuLHIpe2lmKHRoaXMuaW5pdERvY3VtZW50Q2hhbmdlcygpLHRoaXMuX3dvcmtzcGFjZUVkaXQuZG9jdW1lbnRDaGFuZ2VzPT09dm9pZCAwKXRocm93IG5ldyBFcnJvcigiV29ya3NwYWNlIGVkaXQgaXMgbm90IGNvbmZpZ3VyZWQgZm9yIGRvY3VtZW50IGNoYW5nZXMuIik7dmFyIGk7QXQuaXMobil8fGZlLmlzKG4pP2k9bjpyPW47dmFyIHMsYTtpZihpPT09dm9pZCAwP3M9V3QuY3JlYXRlKHQscik6KGE9ZmUuaXMoaSk/aTp0aGlzLl9jaGFuZ2VBbm5vdGF0aW9ucy5tYW5hZ2UoaSkscz1XdC5jcmVhdGUodCxyLGEpKSx0aGlzLl93b3Jrc3BhY2VFZGl0LmRvY3VtZW50Q2hhbmdlcy5wdXNoKHMpLGEhPT12b2lkIDApcmV0dXJuIGF9LGUucHJvdG90eXBlLnJlbmFtZUZpbGU9ZnVuY3Rpb24odCxuLHIsaSl7aWYodGhpcy5pbml0RG9jdW1lbnRDaGFuZ2VzKCksdGhpcy5fd29ya3NwYWNlRWRpdC5kb2N1bWVudENoYW5nZXM9PT12b2lkIDApdGhyb3cgbmV3IEVycm9yKCJXb3Jrc3BhY2UgZWRpdCBpcyBub3QgY29uZmlndXJlZCBmb3IgZG9jdW1lbnQgY2hhbmdlcy4iKTt2YXIgcztBdC5pcyhyKXx8ZmUuaXMocik/cz1yOmk9cjt2YXIgYSxvO2lmKHM9PT12b2lkIDA/YT16dC5jcmVhdGUodCxuLGkpOihvPWZlLmlzKHMpP3M6dGhpcy5fY2hhbmdlQW5ub3RhdGlvbnMubWFuYWdlKHMpLGE9enQuY3JlYXRlKHQsbixpLG8pKSx0aGlzLl93b3Jrc3BhY2VFZGl0LmRvY3VtZW50Q2hhbmdlcy5wdXNoKGEpLG8hPT12b2lkIDApcmV0dXJuIG99LGUucHJvdG90eXBlLmRlbGV0ZUZpbGU9ZnVuY3Rpb24odCxuLHIpe2lmKHRoaXMuaW5pdERvY3VtZW50Q2hhbmdlcygpLHRoaXMuX3dvcmtzcGFjZUVkaXQuZG9jdW1lbnRDaGFuZ2VzPT09dm9pZCAwKXRocm93IG5ldyBFcnJvcigiV29ya3NwYWNlIGVkaXQgaXMgbm90IGNvbmZpZ3VyZWQgZm9yIGRvY3VtZW50IGNoYW5nZXMuIik7dmFyIGk7QXQuaXMobil8fGZlLmlzKG4pP2k9bjpyPW47dmFyIHMsYTtpZihpPT09dm9pZCAwP3M9R3QuY3JlYXRlKHQscik6KGE9ZmUuaXMoaSk/aTp0aGlzLl9jaGFuZ2VBbm5vdGF0aW9ucy5tYW5hZ2UoaSkscz1HdC5jcmVhdGUodCxyLGEpKSx0aGlzLl93b3Jrc3BhY2VFZGl0LmRvY3VtZW50Q2hhbmdlcy5wdXNoKHMpLGEhPT12b2lkIDApcmV0dXJuIGF9LGV9KSgpO3ZhciBXczsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChyKXtyZXR1cm57dXJpOnJ9fWUuY3JlYXRlPXQ7ZnVuY3Rpb24gbihyKXt2YXIgaT1yO3JldHVybiBrLmRlZmluZWQoaSkmJmsuc3RyaW5nKGkudXJpKX1lLmlzPW59KShXc3x8KFdzPXt9KSk7dmFyIHpzOyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KHIsaSl7cmV0dXJue3VyaTpyLHZlcnNpb246aX19ZS5jcmVhdGU9dDtmdW5jdGlvbiBuKHIpe3ZhciBpPXI7cmV0dXJuIGsuZGVmaW5lZChpKSYmay5zdHJpbmcoaS51cmkpJiZrLmludGVnZXIoaS52ZXJzaW9uKX1lLmlzPW59KSh6c3x8KHpzPXt9KSk7dmFyIGJuOyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KHIsaSl7cmV0dXJue3VyaTpyLHZlcnNpb246aX19ZS5jcmVhdGU9dDtmdW5jdGlvbiBuKHIpe3ZhciBpPXI7cmV0dXJuIGsuZGVmaW5lZChpKSYmay5zdHJpbmcoaS51cmkpJiYoaS52ZXJzaW9uPT09bnVsbHx8ay5pbnRlZ2VyKGkudmVyc2lvbikpfWUuaXM9bn0pKGJufHwoYm49e30pKTt2YXIgR3M7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQocixpLHMsYSl7cmV0dXJue3VyaTpyLGxhbmd1YWdlSWQ6aSx2ZXJzaW9uOnMsdGV4dDphfX1lLmNyZWF0ZT10O2Z1bmN0aW9uIG4ocil7dmFyIGk9cjtyZXR1cm4gay5kZWZpbmVkKGkpJiZrLnN0cmluZyhpLnVyaSkmJmsuc3RyaW5nKGkubGFuZ3VhZ2VJZCkmJmsuaW50ZWdlcihpLnZlcnNpb24pJiZrLnN0cmluZyhpLnRleHQpfWUuaXM9bn0pKEdzfHwoR3M9e30pKTt2YXIgJGU7KGZ1bmN0aW9uKGUpe2UuUGxhaW5UZXh0PSJwbGFpbnRleHQiLGUuTWFya2Rvd249Im1hcmtkb3duIn0pKCRlfHwoJGU9e30pKSxmdW5jdGlvbihlKXtmdW5jdGlvbiB0KG4pe3ZhciByPW47cmV0dXJuIHI9PT1lLlBsYWluVGV4dHx8cj09PWUuTWFya2Rvd259ZS5pcz10fSgkZXx8KCRlPXt9KSk7dmFyIHZyOyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KG4pe3ZhciByPW47cmV0dXJuIGsub2JqZWN0TGl0ZXJhbChuKSYmJGUuaXMoci5raW5kKSYmay5zdHJpbmcoci52YWx1ZSl9ZS5pcz10fSkodnJ8fCh2cj17fSkpO3ZhciBOZTsoZnVuY3Rpb24oZSl7ZS5UZXh0PTEsZS5NZXRob2Q9MixlLkZ1bmN0aW9uPTMsZS5Db25zdHJ1Y3Rvcj00LGUuRmllbGQ9NSxlLlZhcmlhYmxlPTYsZS5DbGFzcz03LGUuSW50ZXJmYWNlPTgsZS5Nb2R1bGU9OSxlLlByb3BlcnR5PTEwLGUuVW5pdD0xMSxlLlZhbHVlPTEyLGUuRW51bT0xMyxlLktleXdvcmQ9MTQsZS5TbmlwcGV0PTE1LGUuQ29sb3I9MTYsZS5GaWxlPTE3LGUuUmVmZXJlbmNlPTE4LGUuRm9sZGVyPTE5LGUuRW51bU1lbWJlcj0yMCxlLkNvbnN0YW50PTIxLGUuU3RydWN0PTIyLGUuRXZlbnQ9MjMsZS5PcGVyYXRvcj0yNCxlLlR5cGVQYXJhbWV0ZXI9MjV9KShOZXx8KE5lPXt9KSk7dmFyIGllOyhmdW5jdGlvbihlKXtlLlBsYWluVGV4dD0xLGUuU25pcHBldD0yfSkoaWV8fChpZT17fSkpO3ZhciBKczsoZnVuY3Rpb24oZSl7ZS5EZXByZWNhdGVkPTF9KShKc3x8KEpzPXt9KSk7dmFyIFhzOyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KHIsaSxzKXtyZXR1cm57bmV3VGV4dDpyLGluc2VydDppLHJlcGxhY2U6c319ZS5jcmVhdGU9dDtmdW5jdGlvbiBuKHIpe3ZhciBpPXI7cmV0dXJuIGkmJmsuc3RyaW5nKGkubmV3VGV4dCkmJlguaXMoaS5pbnNlcnQpJiZYLmlzKGkucmVwbGFjZSl9ZS5pcz1ufSkoWHN8fChYcz17fSkpO3ZhciBZczsoZnVuY3Rpb24oZSl7ZS5hc0lzPTEsZS5hZGp1c3RJbmRlbnRhdGlvbj0yfSkoWXN8fChZcz17fSkpO3ZhciBicjsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChuKXtyZXR1cm57bGFiZWw6bn19ZS5jcmVhdGU9dH0pKGJyfHwoYnI9e30pKTt2YXIgUXM7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQobixyKXtyZXR1cm57aXRlbXM6bnx8W10saXNJbmNvbXBsZXRlOiEhcn19ZS5jcmVhdGU9dH0pKFFzfHwoUXM9e30pKTt2YXIgX247KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQocil7cmV0dXJuIHIucmVwbGFjZSgvW1xcYCpfe31bXF0oKSMrXC0uIV0vZywiXFwkJiIpfWUuZnJvbVBsYWluVGV4dD10O2Z1bmN0aW9uIG4ocil7dmFyIGk9cjtyZXR1cm4gay5zdHJpbmcoaSl8fGsub2JqZWN0TGl0ZXJhbChpKSYmay5zdHJpbmcoaS5sYW5ndWFnZSkmJmsuc3RyaW5nKGkudmFsdWUpfWUuaXM9bn0pKF9ufHwoX249e30pKTt2YXIgWnM7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQobil7dmFyIHI9bjtyZXR1cm4hIXImJmsub2JqZWN0TGl0ZXJhbChyKSYmKHZyLmlzKHIuY29udGVudHMpfHxfbi5pcyhyLmNvbnRlbnRzKXx8ay50eXBlZEFycmF5KHIuY29udGVudHMsX24uaXMpKSYmKG4ucmFuZ2U9PT12b2lkIDB8fFguaXMobi5yYW5nZSkpfWUuaXM9dH0pKFpzfHwoWnM9e30pKTt2YXIgS3M7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQobixyKXtyZXR1cm4gcj97bGFiZWw6bixkb2N1bWVudGF0aW9uOnJ9OntsYWJlbDpufX1lLmNyZWF0ZT10fSkoS3N8fChLcz17fSkpO3ZhciBlYTsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChuLHIpe2Zvcih2YXIgaT1bXSxzPTI7czxhcmd1bWVudHMubGVuZ3RoO3MrKylpW3MtMl09YXJndW1lbnRzW3NdO3ZhciBhPXtsYWJlbDpufTtyZXR1cm4gay5kZWZpbmVkKHIpJiYoYS5kb2N1bWVudGF0aW9uPXIpLGsuZGVmaW5lZChpKT9hLnBhcmFtZXRlcnM9aTphLnBhcmFtZXRlcnM9W10sYX1lLmNyZWF0ZT10fSkoZWF8fChlYT17fSkpO3ZhciB0YTsoZnVuY3Rpb24oZSl7ZS5UZXh0PTEsZS5SZWFkPTIsZS5Xcml0ZT0zfSkodGF8fCh0YT17fSkpO3ZhciBuYTsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChuLHIpe3ZhciBpPXtyYW5nZTpufTtyZXR1cm4gay5udW1iZXIocikmJihpLmtpbmQ9ciksaX1lLmNyZWF0ZT10fSkobmF8fChuYT17fSkpO3ZhciBEZTsoZnVuY3Rpb24oZSl7ZS5GaWxlPTEsZS5Nb2R1bGU9MixlLk5hbWVzcGFjZT0zLGUuUGFja2FnZT00LGUuQ2xhc3M9NSxlLk1ldGhvZD02LGUuUHJvcGVydHk9NyxlLkZpZWxkPTgsZS5Db25zdHJ1Y3Rvcj05LGUuRW51bT0xMCxlLkludGVyZmFjZT0xMSxlLkZ1bmN0aW9uPTEyLGUuVmFyaWFibGU9MTMsZS5Db25zdGFudD0xNCxlLlN0cmluZz0xNSxlLk51bWJlcj0xNixlLkJvb2xlYW49MTcsZS5BcnJheT0xOCxlLk9iamVjdD0xOSxlLktleT0yMCxlLk51bGw9MjEsZS5FbnVtTWVtYmVyPTIyLGUuU3RydWN0PTIzLGUuRXZlbnQ9MjQsZS5PcGVyYXRvcj0yNSxlLlR5cGVQYXJhbWV0ZXI9MjZ9KShEZXx8KERlPXt9KSk7dmFyIHJhOyhmdW5jdGlvbihlKXtlLkRlcHJlY2F0ZWQ9MX0pKHJhfHwocmE9e30pKTt2YXIgaWE7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQobixyLGkscyxhKXt2YXIgbz17bmFtZTpuLGtpbmQ6cixsb2NhdGlvbjp7dXJpOnMscmFuZ2U6aX19O3JldHVybiBhJiYoby5jb250YWluZXJOYW1lPWEpLG99ZS5jcmVhdGU9dH0pKGlhfHwoaWE9e30pKTt2YXIgc2E7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQocixpLHMsYSxvLGwpe3ZhciB1PXtuYW1lOnIsZGV0YWlsOmksa2luZDpzLHJhbmdlOmEsc2VsZWN0aW9uUmFuZ2U6b307cmV0dXJuIGwhPT12b2lkIDAmJih1LmNoaWxkcmVuPWwpLHV9ZS5jcmVhdGU9dDtmdW5jdGlvbiBuKHIpe3ZhciBpPXI7cmV0dXJuIGkmJmsuc3RyaW5nKGkubmFtZSkmJmsubnVtYmVyKGkua2luZCkmJlguaXMoaS5yYW5nZSkmJlguaXMoaS5zZWxlY3Rpb25SYW5nZSkmJihpLmRldGFpbD09PXZvaWQgMHx8ay5zdHJpbmcoaS5kZXRhaWwpKSYmKGkuZGVwcmVjYXRlZD09PXZvaWQgMHx8ay5ib29sZWFuKGkuZGVwcmVjYXRlZCkpJiYoaS5jaGlsZHJlbj09PXZvaWQgMHx8QXJyYXkuaXNBcnJheShpLmNoaWxkcmVuKSkmJihpLnRhZ3M9PT12b2lkIDB8fEFycmF5LmlzQXJyYXkoaS50YWdzKSl9ZS5pcz1ufSkoc2F8fChzYT17fSkpO3ZhciBhYTsoZnVuY3Rpb24oZSl7ZS5FbXB0eT0iIixlLlF1aWNrRml4PSJxdWlja2ZpeCIsZS5SZWZhY3Rvcj0icmVmYWN0b3IiLGUuUmVmYWN0b3JFeHRyYWN0PSJyZWZhY3Rvci5leHRyYWN0IixlLlJlZmFjdG9ySW5saW5lPSJyZWZhY3Rvci5pbmxpbmUiLGUuUmVmYWN0b3JSZXdyaXRlPSJyZWZhY3Rvci5yZXdyaXRlIixlLlNvdXJjZT0ic291cmNlIixlLlNvdXJjZU9yZ2FuaXplSW1wb3J0cz0ic291cmNlLm9yZ2FuaXplSW1wb3J0cyIsZS5Tb3VyY2VGaXhBbGw9InNvdXJjZS5maXhBbGwifSkoYWF8fChhYT17fSkpO3ZhciBvYTsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChyLGkpe3ZhciBzPXtkaWFnbm9zdGljczpyfTtyZXR1cm4gaSE9bnVsbCYmKHMub25seT1pKSxzfWUuY3JlYXRlPXQ7ZnVuY3Rpb24gbihyKXt2YXIgaT1yO3JldHVybiBrLmRlZmluZWQoaSkmJmsudHlwZWRBcnJheShpLmRpYWdub3N0aWNzLEhlLmlzKSYmKGkub25seT09PXZvaWQgMHx8ay50eXBlZEFycmF5KGkub25seSxrLnN0cmluZykpfWUuaXM9bn0pKG9hfHwob2E9e30pKTt2YXIgbGE7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQocixpLHMpe3ZhciBhPXt0aXRsZTpyfSxvPSEwO3JldHVybiB0eXBlb2YgaT09InN0cmluZyI/KG89ITEsYS5raW5kPWkpOiR0LmlzKGkpP2EuY29tbWFuZD1pOmEuZWRpdD1pLG8mJnMhPT12b2lkIDAmJihhLmtpbmQ9cyksYX1lLmNyZWF0ZT10O2Z1bmN0aW9uIG4ocil7dmFyIGk9cjtyZXR1cm4gaSYmay5zdHJpbmcoaS50aXRsZSkmJihpLmRpYWdub3N0aWNzPT09dm9pZCAwfHxrLnR5cGVkQXJyYXkoaS5kaWFnbm9zdGljcyxIZS5pcykpJiYoaS5raW5kPT09dm9pZCAwfHxrLnN0cmluZyhpLmtpbmQpKSYmKGkuZWRpdCE9PXZvaWQgMHx8aS5jb21tYW5kIT09dm9pZCAwKSYmKGkuY29tbWFuZD09PXZvaWQgMHx8JHQuaXMoaS5jb21tYW5kKSkmJihpLmlzUHJlZmVycmVkPT09dm9pZCAwfHxrLmJvb2xlYW4oaS5pc1ByZWZlcnJlZCkpJiYoaS5lZGl0PT09dm9pZCAwfHxwci5pcyhpLmVkaXQpKX1lLmlzPW59KShsYXx8KGxhPXt9KSk7dmFyIHVhOyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KHIsaSl7dmFyIHM9e3JhbmdlOnJ9O3JldHVybiBrLmRlZmluZWQoaSkmJihzLmRhdGE9aSksc31lLmNyZWF0ZT10O2Z1bmN0aW9uIG4ocil7dmFyIGk9cjtyZXR1cm4gay5kZWZpbmVkKGkpJiZYLmlzKGkucmFuZ2UpJiYoay51bmRlZmluZWQoaS5jb21tYW5kKXx8JHQuaXMoaS5jb21tYW5kKSl9ZS5pcz1ufSkodWF8fCh1YT17fSkpO3ZhciBjYTsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChyLGkpe3JldHVybnt0YWJTaXplOnIsaW5zZXJ0U3BhY2VzOml9fWUuY3JlYXRlPXQ7ZnVuY3Rpb24gbihyKXt2YXIgaT1yO3JldHVybiBrLmRlZmluZWQoaSkmJmsudWludGVnZXIoaS50YWJTaXplKSYmay5ib29sZWFuKGkuaW5zZXJ0U3BhY2VzKX1lLmlzPW59KShjYXx8KGNhPXt9KSk7dmFyIGZhOyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KHIsaSxzKXtyZXR1cm57cmFuZ2U6cix0YXJnZXQ6aSxkYXRhOnN9fWUuY3JlYXRlPXQ7ZnVuY3Rpb24gbihyKXt2YXIgaT1yO3JldHVybiBrLmRlZmluZWQoaSkmJlguaXMoaS5yYW5nZSkmJihrLnVuZGVmaW5lZChpLnRhcmdldCl8fGsuc3RyaW5nKGkudGFyZ2V0KSl9ZS5pcz1ufSkoZmF8fChmYT17fSkpO3ZhciB4bjsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChyLGkpe3JldHVybntyYW5nZTpyLHBhcmVudDppfX1lLmNyZWF0ZT10O2Z1bmN0aW9uIG4ocil7dmFyIGk9cjtyZXR1cm4gaSE9PXZvaWQgMCYmWC5pcyhpLnJhbmdlKSYmKGkucGFyZW50PT09dm9pZCAwfHxlLmlzKGkucGFyZW50KSl9ZS5pcz1ufSkoeG58fCh4bj17fSkpO3ZhciBoYTsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChzLGEsbyxsKXtyZXR1cm4gbmV3IHZ1KHMsYSxvLGwpfWUuY3JlYXRlPXQ7ZnVuY3Rpb24gbihzKXt2YXIgYT1zO3JldHVybiEhKGsuZGVmaW5lZChhKSYmay5zdHJpbmcoYS51cmkpJiYoay51bmRlZmluZWQoYS5sYW5ndWFnZUlkKXx8ay5zdHJpbmcoYS5sYW5ndWFnZUlkKSkmJmsudWludGVnZXIoYS5saW5lQ291bnQpJiZrLmZ1bmMoYS5nZXRUZXh0KSYmay5mdW5jKGEucG9zaXRpb25BdCkmJmsuZnVuYyhhLm9mZnNldEF0KSl9ZS5pcz1uO2Z1bmN0aW9uIHIocyxhKXtmb3IodmFyIG89cy5nZXRUZXh0KCksbD1pKGEsZnVuY3Rpb24obSx2KXt2YXIgcD1tLnJhbmdlLnN0YXJ0LmxpbmUtdi5yYW5nZS5zdGFydC5saW5lO3JldHVybiBwPT09MD9tLnJhbmdlLnN0YXJ0LmNoYXJhY3Rlci12LnJhbmdlLnN0YXJ0LmNoYXJhY3RlcjpwfSksdT1vLmxlbmd0aCxmPWwubGVuZ3RoLTE7Zj49MDtmLS0pe3ZhciBoPWxbZl0sZD1zLm9mZnNldEF0KGgucmFuZ2Uuc3RhcnQpLGc9cy5vZmZzZXRBdChoLnJhbmdlLmVuZCk7aWYoZzw9dSlvPW8uc3Vic3RyaW5nKDAsZCkraC5uZXdUZXh0K28uc3Vic3RyaW5nKGcsby5sZW5ndGgpO2Vsc2UgdGhyb3cgbmV3IEVycm9yKCJPdmVybGFwcGluZyBlZGl0Iik7dT1kfXJldHVybiBvfWUuYXBwbHlFZGl0cz1yO2Z1bmN0aW9uIGkocyxhKXtpZihzLmxlbmd0aDw9MSlyZXR1cm4gczt2YXIgbz1zLmxlbmd0aC8yfDAsbD1zLnNsaWNlKDAsbyksdT1zLnNsaWNlKG8pO2kobCxhKSxpKHUsYSk7Zm9yKHZhciBmPTAsaD0wLGQ9MDtmPGwubGVuZ3RoJiZoPHUubGVuZ3RoOyl7dmFyIGc9YShsW2ZdLHVbaF0pO2c8PTA/c1tkKytdPWxbZisrXTpzW2QrK109dVtoKytdfWZvcig7ZjxsLmxlbmd0aDspc1tkKytdPWxbZisrXTtmb3IoO2g8dS5sZW5ndGg7KXNbZCsrXT11W2grK107cmV0dXJuIHN9fSkoaGF8fChoYT17fSkpO3ZhciB2dT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUodCxuLHIsaSl7dGhpcy5fdXJpPXQsdGhpcy5fbGFuZ3VhZ2VJZD1uLHRoaXMuX3ZlcnNpb249cix0aGlzLl9jb250ZW50PWksdGhpcy5fbGluZU9mZnNldHM9dm9pZCAwfXJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsInVyaSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl91cml9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJsYW5ndWFnZUlkIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2xhbmd1YWdlSWR9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJ2ZXJzaW9uIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3ZlcnNpb259LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksZS5wcm90b3R5cGUuZ2V0VGV4dD1mdW5jdGlvbih0KXtpZih0KXt2YXIgbj10aGlzLm9mZnNldEF0KHQuc3RhcnQpLHI9dGhpcy5vZmZzZXRBdCh0LmVuZCk7cmV0dXJuIHRoaXMuX2NvbnRlbnQuc3Vic3RyaW5nKG4scil9cmV0dXJuIHRoaXMuX2NvbnRlbnR9LGUucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbih0LG4pe3RoaXMuX2NvbnRlbnQ9dC50ZXh0LHRoaXMuX3ZlcnNpb249bix0aGlzLl9saW5lT2Zmc2V0cz12b2lkIDB9LGUucHJvdG90eXBlLmdldExpbmVPZmZzZXRzPWZ1bmN0aW9uKCl7aWYodGhpcy5fbGluZU9mZnNldHM9PT12b2lkIDApe2Zvcih2YXIgdD1bXSxuPXRoaXMuX2NvbnRlbnQscj0hMCxpPTA7aTxuLmxlbmd0aDtpKyspe3ImJih0LnB1c2goaSkscj0hMSk7dmFyIHM9bi5jaGFyQXQoaSk7cj1zPT09IlxyInx8cz09PWAKYCxzPT09IlxyIiYmaSsxPG4ubGVuZ3RoJiZuLmNoYXJBdChpKzEpPT09YApgJiZpKyt9ciYmbi5sZW5ndGg+MCYmdC5wdXNoKG4ubGVuZ3RoKSx0aGlzLl9saW5lT2Zmc2V0cz10fXJldHVybiB0aGlzLl9saW5lT2Zmc2V0c30sZS5wcm90b3R5cGUucG9zaXRpb25BdD1mdW5jdGlvbih0KXt0PU1hdGgubWF4KE1hdGgubWluKHQsdGhpcy5fY29udGVudC5sZW5ndGgpLDApO3ZhciBuPXRoaXMuZ2V0TGluZU9mZnNldHMoKSxyPTAsaT1uLmxlbmd0aDtpZihpPT09MClyZXR1cm4gUmUuY3JlYXRlKDAsdCk7Zm9yKDtyPGk7KXt2YXIgcz1NYXRoLmZsb29yKChyK2kpLzIpO25bc10+dD9pPXM6cj1zKzF9dmFyIGE9ci0xO3JldHVybiBSZS5jcmVhdGUoYSx0LW5bYV0pfSxlLnByb3RvdHlwZS5vZmZzZXRBdD1mdW5jdGlvbih0KXt2YXIgbj10aGlzLmdldExpbmVPZmZzZXRzKCk7aWYodC5saW5lPj1uLmxlbmd0aClyZXR1cm4gdGhpcy5fY29udGVudC5sZW5ndGg7aWYodC5saW5lPDApcmV0dXJuIDA7dmFyIHI9blt0LmxpbmVdLGk9dC5saW5lKzE8bi5sZW5ndGg/blt0LmxpbmUrMV06dGhpcy5fY29udGVudC5sZW5ndGg7cmV0dXJuIE1hdGgubWF4KE1hdGgubWluKHIrdC5jaGFyYWN0ZXIsaSkscil9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwibGluZUNvdW50Iix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0TGluZU9mZnNldHMoKS5sZW5ndGh9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksZX0oKSxrOyhmdW5jdGlvbihlKXt2YXIgdD1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO2Z1bmN0aW9uIG4oZyl7cmV0dXJuIHR5cGVvZiBnPCJ1In1lLmRlZmluZWQ9bjtmdW5jdGlvbiByKGcpe3JldHVybiB0eXBlb2YgZz4idSJ9ZS51bmRlZmluZWQ9cjtmdW5jdGlvbiBpKGcpe3JldHVybiBnPT09ITB8fGc9PT0hMX1lLmJvb2xlYW49aTtmdW5jdGlvbiBzKGcpe3JldHVybiB0LmNhbGwoZyk9PT0iW29iamVjdCBTdHJpbmddIn1lLnN0cmluZz1zO2Z1bmN0aW9uIGEoZyl7cmV0dXJuIHQuY2FsbChnKT09PSJbb2JqZWN0IE51bWJlcl0ifWUubnVtYmVyPWE7ZnVuY3Rpb24gbyhnLG0sdil7cmV0dXJuIHQuY2FsbChnKT09PSJbb2JqZWN0IE51bWJlcl0iJiZtPD1nJiZnPD12fWUubnVtYmVyUmFuZ2U9bztmdW5jdGlvbiBsKGcpe3JldHVybiB0LmNhbGwoZyk9PT0iW29iamVjdCBOdW1iZXJdIiYmLTIxNDc0ODM2NDg8PWcmJmc8PTIxNDc0ODM2NDd9ZS5pbnRlZ2VyPWw7ZnVuY3Rpb24gdShnKXtyZXR1cm4gdC5jYWxsKGcpPT09IltvYmplY3QgTnVtYmVyXSImJjA8PWcmJmc8PTIxNDc0ODM2NDd9ZS51aW50ZWdlcj11O2Z1bmN0aW9uIGYoZyl7cmV0dXJuIHQuY2FsbChnKT09PSJbb2JqZWN0IEZ1bmN0aW9uXSJ9ZS5mdW5jPWY7ZnVuY3Rpb24gaChnKXtyZXR1cm4gZyE9PW51bGwmJnR5cGVvZiBnPT0ib2JqZWN0In1lLm9iamVjdExpdGVyYWw9aDtmdW5jdGlvbiBkKGcsbSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZykmJmcuZXZlcnkobSl9ZS50eXBlZEFycmF5PWR9KShrfHwoaz17fSkpO3ZhciBkYT1jbGFzcyBGcntjb25zdHJ1Y3Rvcih0LG4scixpKXt0aGlzLl91cmk9dCx0aGlzLl9sYW5ndWFnZUlkPW4sdGhpcy5fdmVyc2lvbj1yLHRoaXMuX2NvbnRlbnQ9aSx0aGlzLl9saW5lT2Zmc2V0cz12b2lkIDB9Z2V0IHVyaSgpe3JldHVybiB0aGlzLl91cml9Z2V0IGxhbmd1YWdlSWQoKXtyZXR1cm4gdGhpcy5fbGFuZ3VhZ2VJZH1nZXQgdmVyc2lvbigpe3JldHVybiB0aGlzLl92ZXJzaW9ufWdldFRleHQodCl7aWYodCl7Y29uc3Qgbj10aGlzLm9mZnNldEF0KHQuc3RhcnQpLHI9dGhpcy5vZmZzZXRBdCh0LmVuZCk7cmV0dXJuIHRoaXMuX2NvbnRlbnQuc3Vic3RyaW5nKG4scil9cmV0dXJuIHRoaXMuX2NvbnRlbnR9dXBkYXRlKHQsbil7Zm9yKGxldCByIG9mIHQpaWYoRnIuaXNJbmNyZW1lbnRhbChyKSl7Y29uc3QgaT1tYShyLnJhbmdlKSxzPXRoaXMub2Zmc2V0QXQoaS5zdGFydCksYT10aGlzLm9mZnNldEF0KGkuZW5kKTt0aGlzLl9jb250ZW50PXRoaXMuX2NvbnRlbnQuc3Vic3RyaW5nKDAscykrci50ZXh0K3RoaXMuX2NvbnRlbnQuc3Vic3RyaW5nKGEsdGhpcy5fY29udGVudC5sZW5ndGgpO2NvbnN0IG89TWF0aC5tYXgoaS5zdGFydC5saW5lLDApLGw9TWF0aC5tYXgoaS5lbmQubGluZSwwKTtsZXQgdT10aGlzLl9saW5lT2Zmc2V0cztjb25zdCBmPWdhKHIudGV4dCwhMSxzKTtpZihsLW89PT1mLmxlbmd0aClmb3IobGV0IGQ9MCxnPWYubGVuZ3RoO2Q8ZztkKyspdVtkK28rMV09ZltkXTtlbHNlIGYubGVuZ3RoPDFlND91LnNwbGljZShvKzEsbC1vLC4uLmYpOnRoaXMuX2xpbmVPZmZzZXRzPXU9dS5zbGljZSgwLG8rMSkuY29uY2F0KGYsdS5zbGljZShsKzEpKTtjb25zdCBoPXIudGV4dC5sZW5ndGgtKGEtcyk7aWYoaCE9PTApZm9yKGxldCBkPW8rMStmLmxlbmd0aCxnPXUubGVuZ3RoO2Q8ZztkKyspdVtkXT11W2RdK2h9ZWxzZSBpZihGci5pc0Z1bGwocikpdGhpcy5fY29udGVudD1yLnRleHQsdGhpcy5fbGluZU9mZnNldHM9dm9pZCAwO2Vsc2UgdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIGNoYW5nZSBldmVudCByZWNlaXZlZCIpO3RoaXMuX3ZlcnNpb249bn1nZXRMaW5lT2Zmc2V0cygpe3JldHVybiB0aGlzLl9saW5lT2Zmc2V0cz09PXZvaWQgMCYmKHRoaXMuX2xpbmVPZmZzZXRzPWdhKHRoaXMuX2NvbnRlbnQsITApKSx0aGlzLl9saW5lT2Zmc2V0c31wb3NpdGlvbkF0KHQpe3Q9TWF0aC5tYXgoTWF0aC5taW4odCx0aGlzLl9jb250ZW50Lmxlbmd0aCksMCk7bGV0IG49dGhpcy5nZXRMaW5lT2Zmc2V0cygpLHI9MCxpPW4ubGVuZ3RoO2lmKGk9PT0wKXJldHVybntsaW5lOjAsY2hhcmFjdGVyOnR9O2Zvcig7cjxpOyl7bGV0IGE9TWF0aC5mbG9vcigocitpKS8yKTtuW2FdPnQ/aT1hOnI9YSsxfWxldCBzPXItMTtyZXR1cm57bGluZTpzLGNoYXJhY3Rlcjp0LW5bc119fW9mZnNldEF0KHQpe2xldCBuPXRoaXMuZ2V0TGluZU9mZnNldHMoKTtpZih0LmxpbmU+PW4ubGVuZ3RoKXJldHVybiB0aGlzLl9jb250ZW50Lmxlbmd0aDtpZih0LmxpbmU8MClyZXR1cm4gMDtsZXQgcj1uW3QubGluZV0saT10LmxpbmUrMTxuLmxlbmd0aD9uW3QubGluZSsxXTp0aGlzLl9jb250ZW50Lmxlbmd0aDtyZXR1cm4gTWF0aC5tYXgoTWF0aC5taW4ocit0LmNoYXJhY3RlcixpKSxyKX1nZXQgbGluZUNvdW50KCl7cmV0dXJuIHRoaXMuZ2V0TGluZU9mZnNldHMoKS5sZW5ndGh9c3RhdGljIGlzSW5jcmVtZW50YWwodCl7bGV0IG49dDtyZXR1cm4gbiE9bnVsbCYmdHlwZW9mIG4udGV4dD09InN0cmluZyImJm4ucmFuZ2UhPT12b2lkIDAmJihuLnJhbmdlTGVuZ3RoPT09dm9pZCAwfHx0eXBlb2Ygbi5yYW5nZUxlbmd0aD09Im51bWJlciIpfXN0YXRpYyBpc0Z1bGwodCl7bGV0IG49dDtyZXR1cm4gbiE9bnVsbCYmdHlwZW9mIG4udGV4dD09InN0cmluZyImJm4ucmFuZ2U9PT12b2lkIDAmJm4ucmFuZ2VMZW5ndGg9PT12b2lkIDB9fSxfcjsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChpLHMsYSxvKXtyZXR1cm4gbmV3IGRhKGkscyxhLG8pfWUuY3JlYXRlPXQ7ZnVuY3Rpb24gbihpLHMsYSl7aWYoaSBpbnN0YW5jZW9mIGRhKXJldHVybiBpLnVwZGF0ZShzLGEpLGk7dGhyb3cgbmV3IEVycm9yKCJUZXh0RG9jdW1lbnQudXBkYXRlOiBkb2N1bWVudCBtdXN0IGJlIGNyZWF0ZWQgYnkgVGV4dERvY3VtZW50LmNyZWF0ZSIpfWUudXBkYXRlPW47ZnVuY3Rpb24gcihpLHMpe2xldCBhPWkuZ2V0VGV4dCgpLG89eHIocy5tYXAoYnUpLChmLGgpPT57bGV0IGQ9Zi5yYW5nZS5zdGFydC5saW5lLWgucmFuZ2Uuc3RhcnQubGluZTtyZXR1cm4gZD09PTA/Zi5yYW5nZS5zdGFydC5jaGFyYWN0ZXItaC5yYW5nZS5zdGFydC5jaGFyYWN0ZXI6ZH0pLGw9MDtjb25zdCB1PVtdO2Zvcihjb25zdCBmIG9mIG8pe2xldCBoPWkub2Zmc2V0QXQoZi5yYW5nZS5zdGFydCk7aWYoaDxsKXRocm93IG5ldyBFcnJvcigiT3ZlcmxhcHBpbmcgZWRpdCIpO2g+bCYmdS5wdXNoKGEuc3Vic3RyaW5nKGwsaCkpLGYubmV3VGV4dC5sZW5ndGgmJnUucHVzaChmLm5ld1RleHQpLGw9aS5vZmZzZXRBdChmLnJhbmdlLmVuZCl9cmV0dXJuIHUucHVzaChhLnN1YnN0cihsKSksdS5qb2luKCIiKX1lLmFwcGx5RWRpdHM9cn0pKF9yfHwoX3I9e30pKTtmdW5jdGlvbiB4cihlLHQpe2lmKGUubGVuZ3RoPD0xKXJldHVybiBlO2NvbnN0IG49ZS5sZW5ndGgvMnwwLHI9ZS5zbGljZSgwLG4pLGk9ZS5zbGljZShuKTt4cihyLHQpLHhyKGksdCk7bGV0IHM9MCxhPTAsbz0wO2Zvcig7czxyLmxlbmd0aCYmYTxpLmxlbmd0aDspdChyW3NdLGlbYV0pPD0wP2VbbysrXT1yW3MrK106ZVtvKytdPWlbYSsrXTtmb3IoO3M8ci5sZW5ndGg7KWVbbysrXT1yW3MrK107Zm9yKDthPGkubGVuZ3RoOyllW28rK109aVthKytdO3JldHVybiBlfWZ1bmN0aW9uIGdhKGUsdCxuPTApe2NvbnN0IHI9dD9bbl06W107Zm9yKGxldCBpPTA7aTxlLmxlbmd0aDtpKyspe2xldCBzPWUuY2hhckNvZGVBdChpKTsocz09PTEzfHxzPT09MTApJiYocz09PTEzJiZpKzE8ZS5sZW5ndGgmJmUuY2hhckNvZGVBdChpKzEpPT09MTAmJmkrKyxyLnB1c2gobitpKzEpKX1yZXR1cm4gcn1mdW5jdGlvbiBtYShlKXtjb25zdCB0PWUuc3RhcnQsbj1lLmVuZDtyZXR1cm4gdC5saW5lPm4ubGluZXx8dC5saW5lPT09bi5saW5lJiZ0LmNoYXJhY3Rlcj5uLmNoYXJhY3Rlcj97c3RhcnQ6bixlbmQ6dH06ZX1mdW5jdGlvbiBidShlKXtjb25zdCB0PW1hKGUucmFuZ2UpO3JldHVybiB0IT09ZS5yYW5nZT97bmV3VGV4dDplLm5ld1RleHQscmFuZ2U6dH06ZX12YXIgSjsoZnVuY3Rpb24oZSl7ZVtlLlVuZGVmaW5lZD0wXT0iVW5kZWZpbmVkIixlW2UuRW51bVZhbHVlTWlzbWF0Y2g9MV09IkVudW1WYWx1ZU1pc21hdGNoIixlW2UuRGVwcmVjYXRlZD0yXT0iRGVwcmVjYXRlZCIsZVtlLlVuZXhwZWN0ZWRFbmRPZkNvbW1lbnQ9MjU3XT0iVW5leHBlY3RlZEVuZE9mQ29tbWVudCIsZVtlLlVuZXhwZWN0ZWRFbmRPZlN0cmluZz0yNThdPSJVbmV4cGVjdGVkRW5kT2ZTdHJpbmciLGVbZS5VbmV4cGVjdGVkRW5kT2ZOdW1iZXI9MjU5XT0iVW5leHBlY3RlZEVuZE9mTnVtYmVyIixlW2UuSW52YWxpZFVuaWNvZGU9MjYwXT0iSW52YWxpZFVuaWNvZGUiLGVbZS5JbnZhbGlkRXNjYXBlQ2hhcmFjdGVyPTI2MV09IkludmFsaWRFc2NhcGVDaGFyYWN0ZXIiLGVbZS5JbnZhbGlkQ2hhcmFjdGVyPTI2Ml09IkludmFsaWRDaGFyYWN0ZXIiLGVbZS5Qcm9wZXJ0eUV4cGVjdGVkPTUxM109IlByb3BlcnR5RXhwZWN0ZWQiLGVbZS5Db21tYUV4cGVjdGVkPTUxNF09IkNvbW1hRXhwZWN0ZWQiLGVbZS5Db2xvbkV4cGVjdGVkPTUxNV09IkNvbG9uRXhwZWN0ZWQiLGVbZS5WYWx1ZUV4cGVjdGVkPTUxNl09IlZhbHVlRXhwZWN0ZWQiLGVbZS5Db21tYU9yQ2xvc2VCYWNrZXRFeHBlY3RlZD01MTddPSJDb21tYU9yQ2xvc2VCYWNrZXRFeHBlY3RlZCIsZVtlLkNvbW1hT3JDbG9zZUJyYWNlRXhwZWN0ZWQ9NTE4XT0iQ29tbWFPckNsb3NlQnJhY2VFeHBlY3RlZCIsZVtlLlRyYWlsaW5nQ29tbWE9NTE5XT0iVHJhaWxpbmdDb21tYSIsZVtlLkR1cGxpY2F0ZUtleT01MjBdPSJEdXBsaWNhdGVLZXkiLGVbZS5Db21tZW50Tm90UGVybWl0dGVkPTUyMV09IkNvbW1lbnROb3RQZXJtaXR0ZWQiLGVbZS5TY2hlbWFSZXNvbHZlRXJyb3I9NzY4XT0iU2NoZW1hUmVzb2x2ZUVycm9yIn0pKEp8fChKPXt9KSk7dmFyIHlyOyhmdW5jdGlvbihlKXtlLkxBVEVTVD17dGV4dERvY3VtZW50Ontjb21wbGV0aW9uOntjb21wbGV0aW9uSXRlbTp7ZG9jdW1lbnRhdGlvbkZvcm1hdDpbJGUuTWFya2Rvd24sJGUuUGxhaW5UZXh0XSxjb21taXRDaGFyYWN0ZXJzU3VwcG9ydDohMH19fX19KSh5cnx8KHlyPXt9KSk7ZnVuY3Rpb24gX3UoZSx0KXtsZXQgbjtyZXR1cm4gdC5sZW5ndGg9PT0wP249ZTpuPWUucmVwbGFjZSgvXHsoXGQrKVx9L2csKHIsaSk9PntsZXQgcz1pWzBdO3JldHVybiB0eXBlb2YgdFtzXTwidSI/dFtzXTpyfSksbn1mdW5jdGlvbiB4dShlLHQsLi4ubil7cmV0dXJuIF91KHQsbil9ZnVuY3Rpb24gSnQoZSl7cmV0dXJuIHh1fXZhciBzdD1mdW5jdGlvbigpe3ZhciBlPWZ1bmN0aW9uKHQsbil7cmV0dXJuIGU9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKHIsaSl7ci5fX3Byb3RvX189aX18fGZ1bmN0aW9uKHIsaSl7Zm9yKHZhciBzIGluIGkpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGkscykmJihyW3NdPWlbc10pfSxlKHQsbil9O3JldHVybiBmdW5jdGlvbih0LG4pe2lmKHR5cGVvZiBuIT0iZnVuY3Rpb24iJiZuIT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDbGFzcyBleHRlbmRzIHZhbHVlICIrU3RyaW5nKG4pKyIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpO2UodCxuKTtmdW5jdGlvbiByKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fXQucHJvdG90eXBlPW49PT1udWxsP09iamVjdC5jcmVhdGUobik6KHIucHJvdG90eXBlPW4ucHJvdG90eXBlLG5ldyByKX19KCksVT1KdCgpLHl1PXsiY29sb3ItaGV4Ijp7ZXJyb3JNZXNzYWdlOlUoImNvbG9ySGV4Rm9ybWF0V2FybmluZyIsIkludmFsaWQgY29sb3IgZm9ybWF0LiBVc2UgI1JHQiwgI1JHQkEsICNSUkdHQkIgb3IgI1JSR0dCQkFBLiIpLHBhdHRlcm46L14jKFswLTlBLUZhLWZdezMsNH18KFswLTlBLUZhLWZdezJ9KXszLDR9KSQvfSwiZGF0ZS10aW1lIjp7ZXJyb3JNZXNzYWdlOlUoImRhdGVUaW1lRm9ybWF0V2FybmluZyIsIlN0cmluZyBpcyBub3QgYSBSRkMzMzM5IGRhdGUtdGltZS4iKSxwYXR0ZXJuOi9eKFxkezR9KS0oMFsxLTldfDFbMC0yXSktKDBbMS05XXxbMTJdWzAtOV18M1swMV0pVChbMDFdWzAtOV18MlswLTNdKTooWzAtNV1bMC05XSk6KFswLTVdWzAtOV18NjApKFwuWzAtOV0rKT8oWnwoXCt8LSkoWzAxXVswLTldfDJbMC0zXSk6KFswLTVdWzAtOV0pKSQvaX0sZGF0ZTp7ZXJyb3JNZXNzYWdlOlUoImRhdGVGb3JtYXRXYXJuaW5nIiwiU3RyaW5nIGlzIG5vdCBhIFJGQzMzMzkgZGF0ZS4iKSxwYXR0ZXJuOi9eKFxkezR9KS0oMFsxLTldfDFbMC0yXSktKDBbMS05XXxbMTJdWzAtOV18M1swMV0pJC9pfSx0aW1lOntlcnJvck1lc3NhZ2U6VSgidGltZUZvcm1hdFdhcm5pbmciLCJTdHJpbmcgaXMgbm90IGEgUkZDMzMzOSB0aW1lLiIpLHBhdHRlcm46L14oWzAxXVswLTldfDJbMC0zXSk6KFswLTVdWzAtOV0pOihbMC01XVswLTldfDYwKShcLlswLTldKyk/KFp8KFwrfC0pKFswMV1bMC05XXwyWzAtM10pOihbMC01XVswLTldKSkkL2l9LGVtYWlsOntlcnJvck1lc3NhZ2U6VSgiZW1haWxGb3JtYXRXYXJuaW5nIiwiU3RyaW5nIGlzIG5vdCBhbiBlLW1haWwgYWRkcmVzcy4iKSxwYXR0ZXJuOi9eKChbXjw+KClcW1xdXFwuLDs6XHNAIl0rKFwuW148PigpXFtcXVxcLiw7OlxzQCJdKykqKXwoIi4rIikpQCgoXFtbMC05XXsxLDN9XC5bMC05XXsxLDN9XC5bMC05XXsxLDN9XC5bMC05XXsxLDN9XSl8KChbYS16QS1aMC05LV0rXC4pK1thLXpBLVpdezIsfSkpJC99LGhvc3RuYW1lOntlcnJvck1lc3NhZ2U6VSgiaG9zdG5hbWVGb3JtYXRXYXJuaW5nIiwiU3RyaW5nIGlzIG5vdCBhIGhvc3RuYW1lLiIpLHBhdHRlcm46L14oPz0uezEsMjUzfVwuPyQpW2EtejAtOV0oPzpbYS16MC05LV17MCw2MX1bYS16MC05XSk/KD86XC5bYS16MC05XSg/OlstMC05YS16XXswLDYxfVswLTlhLXpdKT8pKlwuPyQvaX0saXB2NDp7ZXJyb3JNZXNzYWdlOlUoImlwdjRGb3JtYXRXYXJuaW5nIiwiU3RyaW5nIGlzIG5vdCBhbiBJUHY0IGFkZHJlc3MuIikscGF0dGVybjovXig/Oig/OjI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpXC4pezN9KD86MjVbMC01XXwyWzAtNF1cZHwxXGRcZHxbMS05XT9cZCkkL30saXB2Njp7ZXJyb3JNZXNzYWdlOlUoImlwdjZGb3JtYXRXYXJuaW5nIiwiU3RyaW5nIGlzIG5vdCBhbiBJUHY2IGFkZHJlc3MuIikscGF0dGVybjovXigoKFswLTlhLWZdezEsNH06KXs3fShbMC05YS1mXXsxLDR9fDopKXwoKFswLTlhLWZdezEsNH06KXs2fSg6WzAtOWEtZl17MSw0fXwoKDI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKFwuKDI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKXszfSl8OikpfCgoWzAtOWEtZl17MSw0fTopezV9KCgoOlswLTlhLWZdezEsNH0pezEsMn0pfDooKDI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKFwuKDI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKXszfSl8OikpfCgoWzAtOWEtZl17MSw0fTopezR9KCgoOlswLTlhLWZdezEsNH0pezEsM30pfCgoOlswLTlhLWZdezEsNH0pPzooKDI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKFwuKDI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKXszfSkpfDopKXwoKFswLTlhLWZdezEsNH06KXszfSgoKDpbMC05YS1mXXsxLDR9KXsxLDR9KXwoKDpbMC05YS1mXXsxLDR9KXswLDJ9OigoMjVbMC01XXwyWzAtNF1cZHwxXGRcZHxbMS05XT9cZCkoXC4oMjVbMC01XXwyWzAtNF1cZHwxXGRcZHxbMS05XT9cZCkpezN9KSl8OikpfCgoWzAtOWEtZl17MSw0fTopezJ9KCgoOlswLTlhLWZdezEsNH0pezEsNX0pfCgoOlswLTlhLWZdezEsNH0pezAsM306KCgyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKShcLigyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKSl7M30pKXw6KSl8KChbMC05YS1mXXsxLDR9Oil7MX0oKCg6WzAtOWEtZl17MSw0fSl7MSw2fSl8KCg6WzAtOWEtZl17MSw0fSl7MCw0fTooKDI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKFwuKDI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKXszfSkpfDopKXwoOigoKDpbMC05YS1mXXsxLDR9KXsxLDd9KXwoKDpbMC05YS1mXXsxLDR9KXswLDV9OigoMjVbMC01XXwyWzAtNF1cZHwxXGRcZHxbMS05XT9cZCkoXC4oMjVbMC01XXwyWzAtNF1cZHwxXGRcZHxbMS05XT9cZCkpezN9KSl8OikpKSQvaX19LGF0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0LG4scil7cj09PXZvaWQgMCYmKHI9MCksdGhpcy5vZmZzZXQ9bix0aGlzLmxlbmd0aD1yLHRoaXMucGFyZW50PXR9cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwiY2hpbGRyZW4iLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5bXX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxlLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiJ0eXBlOiAiK3RoaXMudHlwZSsiICgiK3RoaXMub2Zmc2V0KyIvIit0aGlzLmxlbmd0aCsiKSIrKHRoaXMucGFyZW50PyIgcGFyZW50OiB7Iit0aGlzLnBhcmVudC50b1N0cmluZygpKyJ9IjoiIil9LGV9KCksd3U9ZnVuY3Rpb24oZSl7c3QodCxlKTtmdW5jdGlvbiB0KG4scil7dmFyIGk9ZS5jYWxsKHRoaXMsbixyKXx8dGhpcztyZXR1cm4gaS50eXBlPSJudWxsIixpLnZhbHVlPW51bGwsaX1yZXR1cm4gdH0oYXQpLHBhPWZ1bmN0aW9uKGUpe3N0KHQsZSk7ZnVuY3Rpb24gdChuLHIsaSl7dmFyIHM9ZS5jYWxsKHRoaXMsbixpKXx8dGhpcztyZXR1cm4gcy50eXBlPSJib29sZWFuIixzLnZhbHVlPXIsc31yZXR1cm4gdH0oYXQpLE51PWZ1bmN0aW9uKGUpe3N0KHQsZSk7ZnVuY3Rpb24gdChuLHIpe3ZhciBpPWUuY2FsbCh0aGlzLG4scil8fHRoaXM7cmV0dXJuIGkudHlwZT0iYXJyYXkiLGkuaXRlbXM9W10saX1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLCJjaGlsZHJlbiIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLml0ZW1zfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLHR9KGF0KSxTdT1mdW5jdGlvbihlKXtzdCh0LGUpO2Z1bmN0aW9uIHQobixyKXt2YXIgaT1lLmNhbGwodGhpcyxuLHIpfHx0aGlzO3JldHVybiBpLnR5cGU9Im51bWJlciIsaS5pc0ludGVnZXI9ITAsaS52YWx1ZT1OdW1iZXIuTmFOLGl9cmV0dXJuIHR9KGF0KSx3cj1mdW5jdGlvbihlKXtzdCh0LGUpO2Z1bmN0aW9uIHQobixyLGkpe3ZhciBzPWUuY2FsbCh0aGlzLG4scixpKXx8dGhpcztyZXR1cm4gcy50eXBlPSJzdHJpbmciLHMudmFsdWU9IiIsc31yZXR1cm4gdH0oYXQpLEx1PWZ1bmN0aW9uKGUpe3N0KHQsZSk7ZnVuY3Rpb24gdChuLHIsaSl7dmFyIHM9ZS5jYWxsKHRoaXMsbixyKXx8dGhpcztyZXR1cm4gcy50eXBlPSJwcm9wZXJ0eSIscy5jb2xvbk9mZnNldD0tMSxzLmtleU5vZGU9aSxzfXJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsImNoaWxkcmVuIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVOb2RlP1t0aGlzLmtleU5vZGUsdGhpcy52YWx1ZU5vZGVdOlt0aGlzLmtleU5vZGVdfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLHR9KGF0KSxBdT1mdW5jdGlvbihlKXtzdCh0LGUpO2Z1bmN0aW9uIHQobixyKXt2YXIgaT1lLmNhbGwodGhpcyxuLHIpfHx0aGlzO3JldHVybiBpLnR5cGU9Im9iamVjdCIsaS5wcm9wZXJ0aWVzPVtdLGl9cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSwiY2hpbGRyZW4iLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLHR9KGF0KTtmdW5jdGlvbiBwZShlKXtyZXR1cm4gRmUoZSk/ZT97fTp7bm90Ont9fTplfXZhciB2YTsoZnVuY3Rpb24oZSl7ZVtlLktleT0wXT0iS2V5IixlW2UuRW51bT0xXT0iRW51bSJ9KSh2YXx8KHZhPXt9KSk7dmFyIEN1PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0LG4pe3Q9PT12b2lkIDAmJih0PS0xKSx0aGlzLmZvY3VzT2Zmc2V0PXQsdGhpcy5leGNsdWRlPW4sdGhpcy5zY2hlbWFzPVtdfXJldHVybiBlLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCl7dGhpcy5zY2hlbWFzLnB1c2godCl9LGUucHJvdG90eXBlLm1lcmdlPWZ1bmN0aW9uKHQpe0FycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KHRoaXMuc2NoZW1hcyx0LnNjaGVtYXMpfSxlLnByb3RvdHlwZS5pbmNsdWRlPWZ1bmN0aW9uKHQpe3JldHVybih0aGlzLmZvY3VzT2Zmc2V0PT09LTF8fGJhKHQsdGhpcy5mb2N1c09mZnNldCkpJiZ0IT09dGhpcy5leGNsdWRlfSxlLnByb3RvdHlwZS5uZXdTdWI9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGUoLTEsdGhpcy5leGNsdWRlKX0sZX0oKSxOcj1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXt9cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwic2NoZW1hcyIse2dldDpmdW5jdGlvbigpe3JldHVybltdfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLGUucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0KXt9LGUucHJvdG90eXBlLm1lcmdlPWZ1bmN0aW9uKHQpe30sZS5wcm90b3R5cGUuaW5jbHVkZT1mdW5jdGlvbih0KXtyZXR1cm4hMH0sZS5wcm90b3R5cGUubmV3U3ViPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LGUuaW5zdGFuY2U9bmV3IGUsZX0oKSx2ZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXt0aGlzLnByb2JsZW1zPVtdLHRoaXMucHJvcGVydGllc01hdGNoZXM9MCx0aGlzLnByb3BlcnRpZXNWYWx1ZU1hdGNoZXM9MCx0aGlzLnByaW1hcnlWYWx1ZU1hdGNoZXM9MCx0aGlzLmVudW1WYWx1ZU1hdGNoPSExLHRoaXMuZW51bVZhbHVlcz12b2lkIDB9cmV0dXJuIGUucHJvdG90eXBlLmhhc1Byb2JsZW1zPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLnByb2JsZW1zLmxlbmd0aH0sZS5wcm90b3R5cGUubWVyZ2VBbGw9ZnVuY3Rpb24odCl7Zm9yKHZhciBuPTAscj10O248ci5sZW5ndGg7bisrKXt2YXIgaT1yW25dO3RoaXMubWVyZ2UoaSl9fSxlLnByb3RvdHlwZS5tZXJnZT1mdW5jdGlvbih0KXt0aGlzLnByb2JsZW1zPXRoaXMucHJvYmxlbXMuY29uY2F0KHQucHJvYmxlbXMpfSxlLnByb3RvdHlwZS5tZXJnZUVudW1WYWx1ZXM9ZnVuY3Rpb24odCl7aWYoIXRoaXMuZW51bVZhbHVlTWF0Y2gmJiF0LmVudW1WYWx1ZU1hdGNoJiZ0aGlzLmVudW1WYWx1ZXMmJnQuZW51bVZhbHVlcyl7dGhpcy5lbnVtVmFsdWVzPXRoaXMuZW51bVZhbHVlcy5jb25jYXQodC5lbnVtVmFsdWVzKTtmb3IodmFyIG49MCxyPXRoaXMucHJvYmxlbXM7bjxyLmxlbmd0aDtuKyspe3ZhciBpPXJbbl07aS5jb2RlPT09Si5FbnVtVmFsdWVNaXNtYXRjaCYmKGkubWVzc2FnZT1VKCJlbnVtV2FybmluZyIsIlZhbHVlIGlzIG5vdCBhY2NlcHRlZC4gVmFsaWQgdmFsdWVzOiB7MH0uIix0aGlzLmVudW1WYWx1ZXMubWFwKGZ1bmN0aW9uKHMpe3JldHVybiBKU09OLnN0cmluZ2lmeShzKX0pLmpvaW4oIiwgIikpKX19fSxlLnByb3RvdHlwZS5tZXJnZVByb3BlcnR5TWF0Y2g9ZnVuY3Rpb24odCl7dGhpcy5tZXJnZSh0KSx0aGlzLnByb3BlcnRpZXNNYXRjaGVzKyssKHQuZW51bVZhbHVlTWF0Y2h8fCF0Lmhhc1Byb2JsZW1zKCkmJnQucHJvcGVydGllc01hdGNoZXMpJiZ0aGlzLnByb3BlcnRpZXNWYWx1ZU1hdGNoZXMrKyx0LmVudW1WYWx1ZU1hdGNoJiZ0LmVudW1WYWx1ZXMmJnQuZW51bVZhbHVlcy5sZW5ndGg9PT0xJiZ0aGlzLnByaW1hcnlWYWx1ZU1hdGNoZXMrK30sZS5wcm90b3R5cGUuY29tcGFyZT1mdW5jdGlvbih0KXt2YXIgbj10aGlzLmhhc1Byb2JsZW1zKCk7cmV0dXJuIG4hPT10Lmhhc1Byb2JsZW1zKCk/bj8tMToxOnRoaXMuZW51bVZhbHVlTWF0Y2ghPT10LmVudW1WYWx1ZU1hdGNoP3QuZW51bVZhbHVlTWF0Y2g/LTE6MTp0aGlzLnByaW1hcnlWYWx1ZU1hdGNoZXMhPT10LnByaW1hcnlWYWx1ZU1hdGNoZXM/dGhpcy5wcmltYXJ5VmFsdWVNYXRjaGVzLXQucHJpbWFyeVZhbHVlTWF0Y2hlczp0aGlzLnByb3BlcnRpZXNWYWx1ZU1hdGNoZXMhPT10LnByb3BlcnRpZXNWYWx1ZU1hdGNoZXM/dGhpcy5wcm9wZXJ0aWVzVmFsdWVNYXRjaGVzLXQucHJvcGVydGllc1ZhbHVlTWF0Y2hlczp0aGlzLnByb3BlcnRpZXNNYXRjaGVzLXQucHJvcGVydGllc01hdGNoZXN9LGV9KCk7ZnVuY3Rpb24gRXUoZSx0KXtyZXR1cm4gdD09PXZvaWQgMCYmKHQ9W10pLG5ldyBfYShlLHQsW10pfWZ1bmN0aW9uIG90KGUpe3JldHVybiBkdShlKX1mdW5jdGlvbiBTcihlKXtyZXR1cm4gaHUoZSl9ZnVuY3Rpb24gYmEoZSx0LG4pe3JldHVybiBuPT09dm9pZCAwJiYobj0hMSksdD49ZS5vZmZzZXQmJnQ8ZS5vZmZzZXQrZS5sZW5ndGh8fG4mJnQ9PT1lLm9mZnNldCtlLmxlbmd0aH12YXIgX2E9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQsbixyKXtuPT09dm9pZCAwJiYobj1bXSkscj09PXZvaWQgMCYmKHI9W10pLHRoaXMucm9vdD10LHRoaXMuc3ludGF4RXJyb3JzPW4sdGhpcy5jb21tZW50cz1yfXJldHVybiBlLnByb3RvdHlwZS5nZXROb2RlRnJvbU9mZnNldD1mdW5jdGlvbih0LG4pe2lmKG49PT12b2lkIDAmJihuPSExKSx0aGlzLnJvb3QpcmV0dXJuIGZ1KHRoaXMucm9vdCx0LG4pfSxlLnByb3RvdHlwZS52aXNpdD1mdW5jdGlvbih0KXtpZih0aGlzLnJvb3Qpe3ZhciBuPWZ1bmN0aW9uKHIpe3ZhciBpPXQocikscz1yLmNoaWxkcmVuO2lmKEFycmF5LmlzQXJyYXkocykpZm9yKHZhciBhPTA7YTxzLmxlbmd0aCYmaTthKyspaT1uKHNbYV0pO3JldHVybiBpfTtuKHRoaXMucm9vdCl9fSxlLnByb3RvdHlwZS52YWxpZGF0ZT1mdW5jdGlvbih0LG4scil7aWYocj09PXZvaWQgMCYmKHI9d2UuV2FybmluZyksdGhpcy5yb290JiZuKXt2YXIgaT1uZXcgdmU7cmV0dXJuIGNlKHRoaXMucm9vdCxuLGksTnIuaW5zdGFuY2UpLGkucHJvYmxlbXMubWFwKGZ1bmN0aW9uKHMpe3ZhciBhLG89WC5jcmVhdGUodC5wb3NpdGlvbkF0KHMubG9jYXRpb24ub2Zmc2V0KSx0LnBvc2l0aW9uQXQocy5sb2NhdGlvbi5vZmZzZXQrcy5sb2NhdGlvbi5sZW5ndGgpKTtyZXR1cm4gSGUuY3JlYXRlKG8scy5tZXNzYWdlLChhPXMuc2V2ZXJpdHkpIT09bnVsbCYmYSE9PXZvaWQgMD9hOnIscy5jb2RlKX0pfX0sZS5wcm90b3R5cGUuZ2V0TWF0Y2hpbmdTY2hlbWFzPWZ1bmN0aW9uKHQsbixyKXtuPT09dm9pZCAwJiYobj0tMSk7dmFyIGk9bmV3IEN1KG4scik7cmV0dXJuIHRoaXMucm9vdCYmdCYmY2UodGhpcy5yb290LHQsbmV3IHZlLGkpLGkuc2NoZW1hc30sZX0oKTtmdW5jdGlvbiBjZShlLHQsbixyKXtpZighZXx8IXIuaW5jbHVkZShlKSlyZXR1cm47dmFyIGk9ZTtzd2l0Y2goaS50eXBlKXtjYXNlIm9iamVjdCI6dShpLHQsbixyKTticmVhaztjYXNlImFycmF5IjpsKGksdCxuLHIpO2JyZWFrO2Nhc2Uic3RyaW5nIjpvKGksdCxuKTticmVhaztjYXNlIm51bWJlciI6YShpLHQsbik7YnJlYWs7Y2FzZSJwcm9wZXJ0eSI6cmV0dXJuIGNlKGkudmFsdWVOb2RlLHQsbixyKX1zKCksci5hZGQoe25vZGU6aSxzY2hlbWE6dH0pO2Z1bmN0aW9uIHMoKXtmdW5jdGlvbiBmKE0pe3JldHVybiBpLnR5cGU9PT1NfHxNPT09ImludGVnZXIiJiZpLnR5cGU9PT0ibnVtYmVyIiYmaS5pc0ludGVnZXJ9aWYoQXJyYXkuaXNBcnJheSh0LnR5cGUpP3QudHlwZS5zb21lKGYpfHxuLnByb2JsZW1zLnB1c2goe2xvY2F0aW9uOntvZmZzZXQ6aS5vZmZzZXQsbGVuZ3RoOmkubGVuZ3RofSxtZXNzYWdlOnQuZXJyb3JNZXNzYWdlfHxVKCJ0eXBlQXJyYXlNaXNtYXRjaFdhcm5pbmciLCJJbmNvcnJlY3QgdHlwZS4gRXhwZWN0ZWQgb25lIG9mIHswfS4iLHQudHlwZS5qb2luKCIsICIpKX0pOnQudHlwZSYmKGYodC50eXBlKXx8bi5wcm9ibGVtcy5wdXNoKHtsb2NhdGlvbjp7b2Zmc2V0Omkub2Zmc2V0LGxlbmd0aDppLmxlbmd0aH0sbWVzc2FnZTp0LmVycm9yTWVzc2FnZXx8VSgidHlwZU1pc21hdGNoV2FybmluZyIsJ0luY29ycmVjdCB0eXBlLiBFeHBlY3RlZCAiezB9Ii4nLHQudHlwZSl9KSksQXJyYXkuaXNBcnJheSh0LmFsbE9mKSlmb3IodmFyIGg9MCxkPXQuYWxsT2Y7aDxkLmxlbmd0aDtoKyspe3ZhciBnPWRbaF07Y2UoaSxwZShnKSxuLHIpfXZhciBtPXBlKHQubm90KTtpZihtKXt2YXIgdj1uZXcgdmUscD1yLm5ld1N1YigpO2NlKGksbSx2LHApLHYuaGFzUHJvYmxlbXMoKXx8bi5wcm9ibGVtcy5wdXNoKHtsb2NhdGlvbjp7b2Zmc2V0Omkub2Zmc2V0LGxlbmd0aDppLmxlbmd0aH0sbWVzc2FnZTpVKCJub3RTY2hlbWFXYXJuaW5nIiwiTWF0Y2hlcyBhIHNjaGVtYSB0aGF0IGlzIG5vdCBhbGxvd2VkLiIpfSk7Zm9yKHZhciBfPTAseD1wLnNjaGVtYXM7Xzx4Lmxlbmd0aDtfKyspe3ZhciBiPXhbX107Yi5pbnZlcnRlZD0hYi5pbnZlcnRlZCxyLmFkZChiKX19dmFyIFM9ZnVuY3Rpb24oTSxJKXtmb3IodmFyIE89W10sVj12b2lkIDAsVD0wLEU9TTtUPEUubGVuZ3RoO1QrKyl7dmFyIFA9RVtUXSxEPXBlKFApLGo9bmV3IHZlLHE9ci5uZXdTdWIoKTtpZihjZShpLEQsaixxKSxqLmhhc1Byb2JsZW1zKCl8fE8ucHVzaChEKSwhVilWPXtzY2hlbWE6RCx2YWxpZGF0aW9uUmVzdWx0OmosbWF0Y2hpbmdTY2hlbWFzOnF9O2Vsc2UgaWYoIUkmJiFqLmhhc1Byb2JsZW1zKCkmJiFWLnZhbGlkYXRpb25SZXN1bHQuaGFzUHJvYmxlbXMoKSlWLm1hdGNoaW5nU2NoZW1hcy5tZXJnZShxKSxWLnZhbGlkYXRpb25SZXN1bHQucHJvcGVydGllc01hdGNoZXMrPWoucHJvcGVydGllc01hdGNoZXMsVi52YWxpZGF0aW9uUmVzdWx0LnByb3BlcnRpZXNWYWx1ZU1hdGNoZXMrPWoucHJvcGVydGllc1ZhbHVlTWF0Y2hlcztlbHNle3ZhciBHPWouY29tcGFyZShWLnZhbGlkYXRpb25SZXN1bHQpO0c+MD9WPXtzY2hlbWE6RCx2YWxpZGF0aW9uUmVzdWx0OmosbWF0Y2hpbmdTY2hlbWFzOnF9Okc9PT0wJiYoVi5tYXRjaGluZ1NjaGVtYXMubWVyZ2UocSksVi52YWxpZGF0aW9uUmVzdWx0Lm1lcmdlRW51bVZhbHVlcyhqKSl9fXJldHVybiBPLmxlbmd0aD4xJiZJJiZuLnByb2JsZW1zLnB1c2goe2xvY2F0aW9uOntvZmZzZXQ6aS5vZmZzZXQsbGVuZ3RoOjF9LG1lc3NhZ2U6VSgib25lT2ZXYXJuaW5nIiwiTWF0Y2hlcyBtdWx0aXBsZSBzY2hlbWFzIHdoZW4gb25seSBvbmUgbXVzdCB2YWxpZGF0ZS4iKX0pLFYmJihuLm1lcmdlKFYudmFsaWRhdGlvblJlc3VsdCksbi5wcm9wZXJ0aWVzTWF0Y2hlcys9Vi52YWxpZGF0aW9uUmVzdWx0LnByb3BlcnRpZXNNYXRjaGVzLG4ucHJvcGVydGllc1ZhbHVlTWF0Y2hlcys9Vi52YWxpZGF0aW9uUmVzdWx0LnByb3BlcnRpZXNWYWx1ZU1hdGNoZXMsci5tZXJnZShWLm1hdGNoaW5nU2NoZW1hcykpLE8ubGVuZ3RofTtBcnJheS5pc0FycmF5KHQuYW55T2YpJiZTKHQuYW55T2YsITEpLEFycmF5LmlzQXJyYXkodC5vbmVPZikmJlModC5vbmVPZiwhMCk7dmFyIE49ZnVuY3Rpb24oTSl7dmFyIEk9bmV3IHZlLE89ci5uZXdTdWIoKTtjZShpLHBlKE0pLEksTyksbi5tZXJnZShJKSxuLnByb3BlcnRpZXNNYXRjaGVzKz1JLnByb3BlcnRpZXNNYXRjaGVzLG4ucHJvcGVydGllc1ZhbHVlTWF0Y2hlcys9SS5wcm9wZXJ0aWVzVmFsdWVNYXRjaGVzLHIubWVyZ2UoTyl9LHc9ZnVuY3Rpb24oTSxJLE8pe3ZhciBWPXBlKE0pLFQ9bmV3IHZlLEU9ci5uZXdTdWIoKTtjZShpLFYsVCxFKSxyLm1lcmdlKEUpLFQuaGFzUHJvYmxlbXMoKT9PJiZOKE8pOkkmJk4oSSl9LEw9cGUodC5pZik7aWYoTCYmdyhMLHBlKHQudGhlbikscGUodC5lbHNlKSksQXJyYXkuaXNBcnJheSh0LmVudW0pKXtmb3IodmFyIEE9b3QoaSksUj0hMSxGPTAsQz10LmVudW07RjxDLmxlbmd0aDtGKyspe3ZhciB5PUNbRl07aWYoQnQoQSx5KSl7Uj0hMDticmVha319bi5lbnVtVmFsdWVzPXQuZW51bSxuLmVudW1WYWx1ZU1hdGNoPVIsUnx8bi5wcm9ibGVtcy5wdXNoKHtsb2NhdGlvbjp7b2Zmc2V0Omkub2Zmc2V0LGxlbmd0aDppLmxlbmd0aH0sY29kZTpKLkVudW1WYWx1ZU1pc21hdGNoLG1lc3NhZ2U6dC5lcnJvck1lc3NhZ2V8fFUoImVudW1XYXJuaW5nIiwiVmFsdWUgaXMgbm90IGFjY2VwdGVkLiBWYWxpZCB2YWx1ZXM6IHswfS4iLHQuZW51bS5tYXAoZnVuY3Rpb24oTSl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KE0pfSkuam9pbigiLCAiKSl9KX1pZihxZSh0LmNvbnN0KSl7dmFyIEE9b3QoaSk7QnQoQSx0LmNvbnN0KT9uLmVudW1WYWx1ZU1hdGNoPSEwOihuLnByb2JsZW1zLnB1c2goe2xvY2F0aW9uOntvZmZzZXQ6aS5vZmZzZXQsbGVuZ3RoOmkubGVuZ3RofSxjb2RlOkouRW51bVZhbHVlTWlzbWF0Y2gsbWVzc2FnZTp0LmVycm9yTWVzc2FnZXx8VSgiY29uc3RXYXJuaW5nIiwiVmFsdWUgbXVzdCBiZSB7MH0uIixKU09OLnN0cmluZ2lmeSh0LmNvbnN0KSl9KSxuLmVudW1WYWx1ZU1hdGNoPSExKSxuLmVudW1WYWx1ZXM9W3QuY29uc3RdfXQuZGVwcmVjYXRpb25NZXNzYWdlJiZpLnBhcmVudCYmbi5wcm9ibGVtcy5wdXNoKHtsb2NhdGlvbjp7b2Zmc2V0OmkucGFyZW50Lm9mZnNldCxsZW5ndGg6aS5wYXJlbnQubGVuZ3RofSxzZXZlcml0eTp3ZS5XYXJuaW5nLG1lc3NhZ2U6dC5kZXByZWNhdGlvbk1lc3NhZ2UsY29kZTpKLkRlcHJlY2F0ZWR9KX1mdW5jdGlvbiBhKGYsaCxkLGcpe3ZhciBtPWYudmFsdWU7ZnVuY3Rpb24gdihGKXt2YXIgQyx5PS9eKC0/XGQrKSg/OlwuKFxkKykpPyg/OmUoWy0rXVxkKykpPyQvLmV4ZWMoRi50b1N0cmluZygpKTtyZXR1cm4geSYme3ZhbHVlOk51bWJlcih5WzFdKyh5WzJdfHwiIikpLG11bHRpcGxpZXI6KCgoQz15WzJdKT09PW51bGx8fEM9PT12b2lkIDA/dm9pZCAwOkMubGVuZ3RoKXx8MCktKHBhcnNlSW50KHlbM10pfHwwKX19aWYoeWUoaC5tdWx0aXBsZU9mKSl7dmFyIHA9LTE7aWYoTnVtYmVyLmlzSW50ZWdlcihoLm11bHRpcGxlT2YpKXA9bSVoLm11bHRpcGxlT2Y7ZWxzZXt2YXIgXz12KGgubXVsdGlwbGVPZikseD12KG0pO2lmKF8mJngpe3ZhciBiPU1hdGgucG93KDEwLE1hdGguYWJzKHgubXVsdGlwbGllci1fLm11bHRpcGxpZXIpKTt4Lm11bHRpcGxpZXI8Xy5tdWx0aXBsaWVyP3gudmFsdWUqPWI6Xy52YWx1ZSo9YixwPXgudmFsdWUlXy52YWx1ZX19cCE9PTAmJmQucHJvYmxlbXMucHVzaCh7bG9jYXRpb246e29mZnNldDpmLm9mZnNldCxsZW5ndGg6Zi5sZW5ndGh9LG1lc3NhZ2U6VSgibXVsdGlwbGVPZldhcm5pbmciLCJWYWx1ZSBpcyBub3QgZGl2aXNpYmxlIGJ5IHswfS4iLGgubXVsdGlwbGVPZil9KX1mdW5jdGlvbiBTKEYsQyl7aWYoeWUoQykpcmV0dXJuIEM7aWYoRmUoQykmJkMpcmV0dXJuIEZ9ZnVuY3Rpb24gTihGLEMpe2lmKCFGZShDKXx8IUMpcmV0dXJuIEZ9dmFyIHc9UyhoLm1pbmltdW0saC5leGNsdXNpdmVNaW5pbXVtKTt5ZSh3KSYmbTw9dyYmZC5wcm9ibGVtcy5wdXNoKHtsb2NhdGlvbjp7b2Zmc2V0OmYub2Zmc2V0LGxlbmd0aDpmLmxlbmd0aH0sbWVzc2FnZTpVKCJleGNsdXNpdmVNaW5pbXVtV2FybmluZyIsIlZhbHVlIGlzIGJlbG93IHRoZSBleGNsdXNpdmUgbWluaW11bSBvZiB7MH0uIix3KX0pO3ZhciBMPVMoaC5tYXhpbXVtLGguZXhjbHVzaXZlTWF4aW11bSk7eWUoTCkmJm0+PUwmJmQucHJvYmxlbXMucHVzaCh7bG9jYXRpb246e29mZnNldDpmLm9mZnNldCxsZW5ndGg6Zi5sZW5ndGh9LG1lc3NhZ2U6VSgiZXhjbHVzaXZlTWF4aW11bVdhcm5pbmciLCJWYWx1ZSBpcyBhYm92ZSB0aGUgZXhjbHVzaXZlIG1heGltdW0gb2YgezB9LiIsTCl9KTt2YXIgQT1OKGgubWluaW11bSxoLmV4Y2x1c2l2ZU1pbmltdW0pO3llKEEpJiZtPEEmJmQucHJvYmxlbXMucHVzaCh7bG9jYXRpb246e29mZnNldDpmLm9mZnNldCxsZW5ndGg6Zi5sZW5ndGh9LG1lc3NhZ2U6VSgibWluaW11bVdhcm5pbmciLCJWYWx1ZSBpcyBiZWxvdyB0aGUgbWluaW11bSBvZiB7MH0uIixBKX0pO3ZhciBSPU4oaC5tYXhpbXVtLGguZXhjbHVzaXZlTWF4aW11bSk7eWUoUikmJm0+UiYmZC5wcm9ibGVtcy5wdXNoKHtsb2NhdGlvbjp7b2Zmc2V0OmYub2Zmc2V0LGxlbmd0aDpmLmxlbmd0aH0sbWVzc2FnZTpVKCJtYXhpbXVtV2FybmluZyIsIlZhbHVlIGlzIGFib3ZlIHRoZSBtYXhpbXVtIG9mIHswfS4iLFIpfSl9ZnVuY3Rpb24gbyhmLGgsZCxnKXtpZih5ZShoLm1pbkxlbmd0aCkmJmYudmFsdWUubGVuZ3RoPGgubWluTGVuZ3RoJiZkLnByb2JsZW1zLnB1c2goe2xvY2F0aW9uOntvZmZzZXQ6Zi5vZmZzZXQsbGVuZ3RoOmYubGVuZ3RofSxtZXNzYWdlOlUoIm1pbkxlbmd0aFdhcm5pbmciLCJTdHJpbmcgaXMgc2hvcnRlciB0aGFuIHRoZSBtaW5pbXVtIGxlbmd0aCBvZiB7MH0uIixoLm1pbkxlbmd0aCl9KSx5ZShoLm1heExlbmd0aCkmJmYudmFsdWUubGVuZ3RoPmgubWF4TGVuZ3RoJiZkLnByb2JsZW1zLnB1c2goe2xvY2F0aW9uOntvZmZzZXQ6Zi5vZmZzZXQsbGVuZ3RoOmYubGVuZ3RofSxtZXNzYWdlOlUoIm1heExlbmd0aFdhcm5pbmciLCJTdHJpbmcgaXMgbG9uZ2VyIHRoYW4gdGhlIG1heGltdW0gbGVuZ3RoIG9mIHswfS4iLGgubWF4TGVuZ3RoKX0pLG11KGgucGF0dGVybikpe3ZhciBtPWduKGgucGF0dGVybik7bSE9bnVsbCYmbS50ZXN0KGYudmFsdWUpfHxkLnByb2JsZW1zLnB1c2goe2xvY2F0aW9uOntvZmZzZXQ6Zi5vZmZzZXQsbGVuZ3RoOmYubGVuZ3RofSxtZXNzYWdlOmgucGF0dGVybkVycm9yTWVzc2FnZXx8aC5lcnJvck1lc3NhZ2V8fFUoInBhdHRlcm5XYXJuaW5nIiwnU3RyaW5nIGRvZXMgbm90IG1hdGNoIHRoZSBwYXR0ZXJuIG9mICJ7MH0iLicsaC5wYXR0ZXJuKX0pfWlmKGguZm9ybWF0KXN3aXRjaChoLmZvcm1hdCl7Y2FzZSJ1cmkiOmNhc2UidXJpLXJlZmVyZW5jZSI6e3ZhciB2PXZvaWQgMDtpZighZi52YWx1ZSl2PVUoInVyaUVtcHR5IiwiVVJJIGV4cGVjdGVkLiIpO2Vsc2V7dmFyIHA9L14oKFteOi8/I10rPyk6KT8oXC9cLyhbXi8/I10qKSk/KFtePyNdKikoXD8oW14jXSopKT8oIyguKikpPy8uZXhlYyhmLnZhbHVlKTtwPyFwWzJdJiZoLmZvcm1hdD09PSJ1cmkiJiYodj1VKCJ1cmlTY2hlbWVNaXNzaW5nIiwiVVJJIHdpdGggYSBzY2hlbWUgaXMgZXhwZWN0ZWQuIikpOnY9VSgidXJpTWlzc2luZyIsIlVSSSBpcyBleHBlY3RlZC4iKX12JiZkLnByb2JsZW1zLnB1c2goe2xvY2F0aW9uOntvZmZzZXQ6Zi5vZmZzZXQsbGVuZ3RoOmYubGVuZ3RofSxtZXNzYWdlOmgucGF0dGVybkVycm9yTWVzc2FnZXx8aC5lcnJvck1lc3NhZ2V8fFUoInVyaUZvcm1hdFdhcm5pbmciLCJTdHJpbmcgaXMgbm90IGEgVVJJOiB7MH0iLHYpfSl9YnJlYWs7Y2FzZSJjb2xvci1oZXgiOmNhc2UiZGF0ZS10aW1lIjpjYXNlImRhdGUiOmNhc2UidGltZSI6Y2FzZSJlbWFpbCI6Y2FzZSJob3N0bmFtZSI6Y2FzZSJpcHY0IjpjYXNlImlwdjYiOnZhciBfPXl1W2guZm9ybWF0XTsoIWYudmFsdWV8fCFfLnBhdHRlcm4uZXhlYyhmLnZhbHVlKSkmJmQucHJvYmxlbXMucHVzaCh7bG9jYXRpb246e29mZnNldDpmLm9mZnNldCxsZW5ndGg6Zi5sZW5ndGh9LG1lc3NhZ2U6aC5wYXR0ZXJuRXJyb3JNZXNzYWdlfHxoLmVycm9yTWVzc2FnZXx8Xy5lcnJvck1lc3NhZ2V9KX19ZnVuY3Rpb24gbChmLGgsZCxnKXtpZihBcnJheS5pc0FycmF5KGguaXRlbXMpKXtmb3IodmFyIG09aC5pdGVtcyx2PTA7djxtLmxlbmd0aDt2Kyspe3ZhciBwPW1bdl0sXz1wZShwKSx4PW5ldyB2ZSxiPWYuaXRlbXNbdl07Yj8oY2UoYixfLHgsZyksZC5tZXJnZVByb3BlcnR5TWF0Y2goeCkpOmYuaXRlbXMubGVuZ3RoPj1tLmxlbmd0aCYmZC5wcm9wZXJ0aWVzVmFsdWVNYXRjaGVzKyt9aWYoZi5pdGVtcy5sZW5ndGg+bS5sZW5ndGgpaWYodHlwZW9mIGguYWRkaXRpb25hbEl0ZW1zPT0ib2JqZWN0Iilmb3IodmFyIFM9bS5sZW5ndGg7UzxmLml0ZW1zLmxlbmd0aDtTKyspe3ZhciB4PW5ldyB2ZTtjZShmLml0ZW1zW1NdLGguYWRkaXRpb25hbEl0ZW1zLHgsZyksZC5tZXJnZVByb3BlcnR5TWF0Y2goeCl9ZWxzZSBoLmFkZGl0aW9uYWxJdGVtcz09PSExJiZkLnByb2JsZW1zLnB1c2goe2xvY2F0aW9uOntvZmZzZXQ6Zi5vZmZzZXQsbGVuZ3RoOmYubGVuZ3RofSxtZXNzYWdlOlUoImFkZGl0aW9uYWxJdGVtc1dhcm5pbmciLCJBcnJheSBoYXMgdG9vIG1hbnkgaXRlbXMgYWNjb3JkaW5nIHRvIHNjaGVtYS4gRXhwZWN0ZWQgezB9IG9yIGZld2VyLiIsbS5sZW5ndGgpfSl9ZWxzZXt2YXIgTj1wZShoLml0ZW1zKTtpZihOKWZvcih2YXIgdz0wLEw9Zi5pdGVtczt3PEwubGVuZ3RoO3crKyl7dmFyIGI9TFt3XSx4PW5ldyB2ZTtjZShiLE4seCxnKSxkLm1lcmdlUHJvcGVydHlNYXRjaCh4KX19dmFyIEE9cGUoaC5jb250YWlucyk7aWYoQSl7dmFyIFI9Zi5pdGVtcy5zb21lKGZ1bmN0aW9uKHkpe3ZhciBNPW5ldyB2ZTtyZXR1cm4gY2UoeSxBLE0sTnIuaW5zdGFuY2UpLCFNLmhhc1Byb2JsZW1zKCl9KTtSfHxkLnByb2JsZW1zLnB1c2goe2xvY2F0aW9uOntvZmZzZXQ6Zi5vZmZzZXQsbGVuZ3RoOmYubGVuZ3RofSxtZXNzYWdlOmguZXJyb3JNZXNzYWdlfHxVKCJyZXF1aXJlZEl0ZW1NaXNzaW5nV2FybmluZyIsIkFycmF5IGRvZXMgbm90IGNvbnRhaW4gcmVxdWlyZWQgaXRlbS4iKX0pfWlmKHllKGgubWluSXRlbXMpJiZmLml0ZW1zLmxlbmd0aDxoLm1pbkl0ZW1zJiZkLnByb2JsZW1zLnB1c2goe2xvY2F0aW9uOntvZmZzZXQ6Zi5vZmZzZXQsbGVuZ3RoOmYubGVuZ3RofSxtZXNzYWdlOlUoIm1pbkl0ZW1zV2FybmluZyIsIkFycmF5IGhhcyB0b28gZmV3IGl0ZW1zLiBFeHBlY3RlZCB7MH0gb3IgbW9yZS4iLGgubWluSXRlbXMpfSkseWUoaC5tYXhJdGVtcykmJmYuaXRlbXMubGVuZ3RoPmgubWF4SXRlbXMmJmQucHJvYmxlbXMucHVzaCh7bG9jYXRpb246e29mZnNldDpmLm9mZnNldCxsZW5ndGg6Zi5sZW5ndGh9LG1lc3NhZ2U6VSgibWF4SXRlbXNXYXJuaW5nIiwiQXJyYXkgaGFzIHRvbyBtYW55IGl0ZW1zLiBFeHBlY3RlZCB7MH0gb3IgZmV3ZXIuIixoLm1heEl0ZW1zKX0pLGgudW5pcXVlSXRlbXM9PT0hMCl7dmFyIEY9b3QoZiksQz1GLnNvbWUoZnVuY3Rpb24oeSxNKXtyZXR1cm4gTSE9PUYubGFzdEluZGV4T2YoeSl9KTtDJiZkLnByb2JsZW1zLnB1c2goe2xvY2F0aW9uOntvZmZzZXQ6Zi5vZmZzZXQsbGVuZ3RoOmYubGVuZ3RofSxtZXNzYWdlOlUoInVuaXF1ZUl0ZW1zV2FybmluZyIsIkFycmF5IGhhcyBkdXBsaWNhdGUgaXRlbXMuIil9KX19ZnVuY3Rpb24gdShmLGgsZCxnKXtmb3IodmFyIG09T2JqZWN0LmNyZWF0ZShudWxsKSx2PVtdLHA9MCxfPWYucHJvcGVydGllcztwPF8ubGVuZ3RoO3ArKyl7dmFyIHg9X1twXSxiPXgua2V5Tm9kZS52YWx1ZTttW2JdPXgudmFsdWVOb2RlLHYucHVzaChiKX1pZihBcnJheS5pc0FycmF5KGgucmVxdWlyZWQpKWZvcih2YXIgUz0wLE49aC5yZXF1aXJlZDtTPE4ubGVuZ3RoO1MrKyl7dmFyIHc9TltTXTtpZighbVt3XSl7dmFyIEw9Zi5wYXJlbnQmJmYucGFyZW50LnR5cGU9PT0icHJvcGVydHkiJiZmLnBhcmVudC5rZXlOb2RlLEE9TD97b2Zmc2V0Okwub2Zmc2V0LGxlbmd0aDpMLmxlbmd0aH06e29mZnNldDpmLm9mZnNldCxsZW5ndGg6MX07ZC5wcm9ibGVtcy5wdXNoKHtsb2NhdGlvbjpBLG1lc3NhZ2U6VSgiTWlzc2luZ1JlcXVpcmVkUHJvcFdhcm5pbmciLCdNaXNzaW5nIHByb3BlcnR5ICJ7MH0iLicsdyl9KX19dmFyIFI9ZnVuY3Rpb24oTWEpe2Zvcih2YXIgSXI9di5pbmRleE9mKE1hKTtJcj49MDspdi5zcGxpY2UoSXIsMSksSXI9di5pbmRleE9mKE1hKX07aWYoaC5wcm9wZXJ0aWVzKWZvcih2YXIgRj0wLEM9T2JqZWN0LmtleXMoaC5wcm9wZXJ0aWVzKTtGPEMubGVuZ3RoO0YrKyl7dmFyIHc9Q1tGXTtSKHcpO3ZhciB5PWgucHJvcGVydGllc1t3XSxNPW1bd107aWYoTSlpZihGZSh5KSlpZih5KWQucHJvcGVydGllc01hdGNoZXMrKyxkLnByb3BlcnRpZXNWYWx1ZU1hdGNoZXMrKztlbHNle3ZhciB4PU0ucGFyZW50O2QucHJvYmxlbXMucHVzaCh7bG9jYXRpb246e29mZnNldDp4LmtleU5vZGUub2Zmc2V0LGxlbmd0aDp4LmtleU5vZGUubGVuZ3RofSxtZXNzYWdlOmguZXJyb3JNZXNzYWdlfHxVKCJEaXNhbGxvd2VkRXh0cmFQcm9wV2FybmluZyIsIlByb3BlcnR5IHswfSBpcyBub3QgYWxsb3dlZC4iLHcpfSl9ZWxzZXt2YXIgST1uZXcgdmU7Y2UoTSx5LEksZyksZC5tZXJnZVByb3BlcnR5TWF0Y2goSSl9fWlmKGgucGF0dGVyblByb3BlcnRpZXMpZm9yKHZhciBPPTAsVj1PYmplY3Qua2V5cyhoLnBhdHRlcm5Qcm9wZXJ0aWVzKTtPPFYubGVuZ3RoO08rKylmb3IodmFyIFQ9VltPXSxFPWduKFQpLFA9MCxEPXYuc2xpY2UoMCk7UDxELmxlbmd0aDtQKyspe3ZhciB3PURbUF07aWYoRSE9bnVsbCYmRS50ZXN0KHcpKXtSKHcpO3ZhciBNPW1bd107aWYoTSl7dmFyIHk9aC5wYXR0ZXJuUHJvcGVydGllc1tUXTtpZihGZSh5KSlpZih5KWQucHJvcGVydGllc01hdGNoZXMrKyxkLnByb3BlcnRpZXNWYWx1ZU1hdGNoZXMrKztlbHNle3ZhciB4PU0ucGFyZW50O2QucHJvYmxlbXMucHVzaCh7bG9jYXRpb246e29mZnNldDp4LmtleU5vZGUub2Zmc2V0LGxlbmd0aDp4LmtleU5vZGUubGVuZ3RofSxtZXNzYWdlOmguZXJyb3JNZXNzYWdlfHxVKCJEaXNhbGxvd2VkRXh0cmFQcm9wV2FybmluZyIsIlByb3BlcnR5IHswfSBpcyBub3QgYWxsb3dlZC4iLHcpfSl9ZWxzZXt2YXIgST1uZXcgdmU7Y2UoTSx5LEksZyksZC5tZXJnZVByb3BlcnR5TWF0Y2goSSl9fX19aWYodHlwZW9mIGguYWRkaXRpb25hbFByb3BlcnRpZXM9PSJvYmplY3QiKWZvcih2YXIgaj0wLHE9djtqPHEubGVuZ3RoO2orKyl7dmFyIHc9cVtqXSxNPW1bd107aWYoTSl7dmFyIEk9bmV3IHZlO2NlKE0saC5hZGRpdGlvbmFsUHJvcGVydGllcyxJLGcpLGQubWVyZ2VQcm9wZXJ0eU1hdGNoKEkpfX1lbHNlIGlmKGguYWRkaXRpb25hbFByb3BlcnRpZXM9PT0hMSYmdi5sZW5ndGg+MClmb3IodmFyIEc9MCxkZT12O0c8ZGUubGVuZ3RoO0crKyl7dmFyIHc9ZGVbR10sTT1tW3ddO2lmKE0pe3ZhciB4PU0ucGFyZW50O2QucHJvYmxlbXMucHVzaCh7bG9jYXRpb246e29mZnNldDp4LmtleU5vZGUub2Zmc2V0LGxlbmd0aDp4LmtleU5vZGUubGVuZ3RofSxtZXNzYWdlOmguZXJyb3JNZXNzYWdlfHxVKCJEaXNhbGxvd2VkRXh0cmFQcm9wV2FybmluZyIsIlByb3BlcnR5IHswfSBpcyBub3QgYWxsb3dlZC4iLHcpfSl9fWlmKHllKGgubWF4UHJvcGVydGllcykmJmYucHJvcGVydGllcy5sZW5ndGg+aC5tYXhQcm9wZXJ0aWVzJiZkLnByb2JsZW1zLnB1c2goe2xvY2F0aW9uOntvZmZzZXQ6Zi5vZmZzZXQsbGVuZ3RoOmYubGVuZ3RofSxtZXNzYWdlOlUoIk1heFByb3BXYXJuaW5nIiwiT2JqZWN0IGhhcyBtb3JlIHByb3BlcnRpZXMgdGhhbiBsaW1pdCBvZiB7MH0uIixoLm1heFByb3BlcnRpZXMpfSkseWUoaC5taW5Qcm9wZXJ0aWVzKSYmZi5wcm9wZXJ0aWVzLmxlbmd0aDxoLm1pblByb3BlcnRpZXMmJmQucHJvYmxlbXMucHVzaCh7bG9jYXRpb246e29mZnNldDpmLm9mZnNldCxsZW5ndGg6Zi5sZW5ndGh9LG1lc3NhZ2U6VSgiTWluUHJvcFdhcm5pbmciLCJPYmplY3QgaGFzIGZld2VyIHByb3BlcnRpZXMgdGhhbiB0aGUgcmVxdWlyZWQgbnVtYmVyIG9mIHswfSIsaC5taW5Qcm9wZXJ0aWVzKX0pLGguZGVwZW5kZW5jaWVzKWZvcih2YXIgbGU9MCxiZT1PYmplY3Qua2V5cyhoLmRlcGVuZGVuY2llcyk7bGU8YmUubGVuZ3RoO2xlKyspe3ZhciBiPWJlW2xlXSxFdD1tW2JdO2lmKEV0KXt2YXIgVmU9aC5kZXBlbmRlbmNpZXNbYl07aWYoQXJyYXkuaXNBcnJheShWZSkpZm9yKHZhciBNcj0wLEVhPVZlO01yPEVhLmxlbmd0aDtNcisrKXt2YXIga2E9RWFbTXJdO21ba2FdP2QucHJvcGVydGllc1ZhbHVlTWF0Y2hlcysrOmQucHJvYmxlbXMucHVzaCh7bG9jYXRpb246e29mZnNldDpmLm9mZnNldCxsZW5ndGg6Zi5sZW5ndGh9LG1lc3NhZ2U6VSgiUmVxdWlyZWREZXBlbmRlbnRQcm9wV2FybmluZyIsIk9iamVjdCBpcyBtaXNzaW5nIHByb3BlcnR5IHswfSByZXF1aXJlZCBieSBwcm9wZXJ0eSB7MX0uIixrYSxiKX0pfWVsc2V7dmFyIHk9cGUoVmUpO2lmKHkpe3ZhciBJPW5ldyB2ZTtjZShmLHksSSxnKSxkLm1lcmdlUHJvcGVydHlNYXRjaChJKX19fX12YXIgUmE9cGUoaC5wcm9wZXJ0eU5hbWVzKTtpZihSYSlmb3IodmFyIFByPTAsVGE9Zi5wcm9wZXJ0aWVzO1ByPFRhLmxlbmd0aDtQcisrKXt2YXIgdWM9VGFbUHJdLGI9dWMua2V5Tm9kZTtiJiZjZShiLFJhLGQsTnIuaW5zdGFuY2UpfX19ZnVuY3Rpb24ga3UoZSx0KXt2YXIgbj1bXSxyPS0xLGk9ZS5nZXRUZXh0KCkscz1MdChpLCExKSxhPXQmJnQuY29sbGVjdENvbW1lbnRzP1tdOnZvaWQgMDtmdW5jdGlvbiBvKCl7Zm9yKDs7KXt2YXIgdz1zLnNjYW4oKTtzd2l0Y2goZigpLHcpe2Nhc2UgMTI6Y2FzZSAxMzpBcnJheS5pc0FycmF5KGEpJiZhLnB1c2goWC5jcmVhdGUoZS5wb3NpdGlvbkF0KHMuZ2V0VG9rZW5PZmZzZXQoKSksZS5wb3NpdGlvbkF0KHMuZ2V0VG9rZW5PZmZzZXQoKStzLmdldFRva2VuTGVuZ3RoKCkpKSk7YnJlYWs7Y2FzZSAxNTpjYXNlIDE0OmJyZWFrO2RlZmF1bHQ6cmV0dXJuIHd9fX1mdW5jdGlvbiBsKHcsTCxBLFIsRil7aWYoRj09PXZvaWQgMCYmKEY9d2UuRXJyb3IpLG4ubGVuZ3RoPT09MHx8QSE9PXIpe3ZhciBDPVguY3JlYXRlKGUucG9zaXRpb25BdChBKSxlLnBvc2l0aW9uQXQoUikpO24ucHVzaChIZS5jcmVhdGUoQyx3LEYsTCxlLmxhbmd1YWdlSWQpKSxyPUF9fWZ1bmN0aW9uIHUodyxMLEEsUixGKXtBPT09dm9pZCAwJiYoQT12b2lkIDApLFI9PT12b2lkIDAmJihSPVtdKSxGPT09dm9pZCAwJiYoRj1bXSk7dmFyIEM9cy5nZXRUb2tlbk9mZnNldCgpLHk9cy5nZXRUb2tlbk9mZnNldCgpK3MuZ2V0VG9rZW5MZW5ndGgoKTtpZihDPT09eSYmQz4wKXtmb3IoQy0tO0M+MCYmL1xzLy50ZXN0KGkuY2hhckF0KEMpKTspQy0tO3k9QysxfWlmKGwodyxMLEMseSksQSYmaChBLCExKSxSLmxlbmd0aCtGLmxlbmd0aD4wKWZvcih2YXIgTT1zLmdldFRva2VuKCk7TSE9PTE3Oyl7aWYoUi5pbmRleE9mKE0pIT09LTEpe28oKTticmVha31lbHNlIGlmKEYuaW5kZXhPZihNKSE9PS0xKWJyZWFrO009bygpfXJldHVybiBBfWZ1bmN0aW9uIGYoKXtzd2l0Y2gocy5nZXRUb2tlbkVycm9yKCkpe2Nhc2UgNDpyZXR1cm4gdShVKCJJbnZhbGlkVW5pY29kZSIsIkludmFsaWQgdW5pY29kZSBzZXF1ZW5jZSBpbiBzdHJpbmcuIiksSi5JbnZhbGlkVW5pY29kZSksITA7Y2FzZSA1OnJldHVybiB1KFUoIkludmFsaWRFc2NhcGVDaGFyYWN0ZXIiLCJJbnZhbGlkIGVzY2FwZSBjaGFyYWN0ZXIgaW4gc3RyaW5nLiIpLEouSW52YWxpZEVzY2FwZUNoYXJhY3RlciksITA7Y2FzZSAzOnJldHVybiB1KFUoIlVuZXhwZWN0ZWRFbmRPZk51bWJlciIsIlVuZXhwZWN0ZWQgZW5kIG9mIG51bWJlci4iKSxKLlVuZXhwZWN0ZWRFbmRPZk51bWJlciksITA7Y2FzZSAxOnJldHVybiB1KFUoIlVuZXhwZWN0ZWRFbmRPZkNvbW1lbnQiLCJVbmV4cGVjdGVkIGVuZCBvZiBjb21tZW50LiIpLEouVW5leHBlY3RlZEVuZE9mQ29tbWVudCksITA7Y2FzZSAyOnJldHVybiB1KFUoIlVuZXhwZWN0ZWRFbmRPZlN0cmluZyIsIlVuZXhwZWN0ZWQgZW5kIG9mIHN0cmluZy4iKSxKLlVuZXhwZWN0ZWRFbmRPZlN0cmluZyksITA7Y2FzZSA2OnJldHVybiB1KFUoIkludmFsaWRDaGFyYWN0ZXIiLCJJbnZhbGlkIGNoYXJhY3RlcnMgaW4gc3RyaW5nLiBDb250cm9sIGNoYXJhY3RlcnMgbXVzdCBiZSBlc2NhcGVkLiIpLEouSW52YWxpZENoYXJhY3RlciksITB9cmV0dXJuITF9ZnVuY3Rpb24gaCh3LEwpe3JldHVybiB3Lmxlbmd0aD1zLmdldFRva2VuT2Zmc2V0KCkrcy5nZXRUb2tlbkxlbmd0aCgpLXcub2Zmc2V0LEwmJm8oKSx3fWZ1bmN0aW9uIGQodyl7aWYocy5nZXRUb2tlbigpPT09Myl7dmFyIEw9bmV3IE51KHcscy5nZXRUb2tlbk9mZnNldCgpKTtvKCk7Zm9yKHZhciBBPSExO3MuZ2V0VG9rZW4oKSE9PTQmJnMuZ2V0VG9rZW4oKSE9PTE3Oyl7aWYocy5nZXRUb2tlbigpPT09NSl7QXx8dShVKCJWYWx1ZUV4cGVjdGVkIiwiVmFsdWUgZXhwZWN0ZWQiKSxKLlZhbHVlRXhwZWN0ZWQpO3ZhciBSPXMuZ2V0VG9rZW5PZmZzZXQoKTtpZihvKCkscy5nZXRUb2tlbigpPT09NCl7QSYmbChVKCJUcmFpbGluZ0NvbW1hIiwiVHJhaWxpbmcgY29tbWEiKSxKLlRyYWlsaW5nQ29tbWEsUixSKzEpO2NvbnRpbnVlfX1lbHNlIEEmJnUoVSgiRXhwZWN0ZWRDb21tYSIsIkV4cGVjdGVkIGNvbW1hIiksSi5Db21tYUV4cGVjdGVkKTt2YXIgRj1iKEwpO0Y/TC5pdGVtcy5wdXNoKEYpOnUoVSgiUHJvcGVydHlFeHBlY3RlZCIsIlZhbHVlIGV4cGVjdGVkIiksSi5WYWx1ZUV4cGVjdGVkLHZvaWQgMCxbXSxbNCw1XSksQT0hMH1yZXR1cm4gcy5nZXRUb2tlbigpIT09ND91KFUoIkV4cGVjdGVkQ2xvc2VCcmFja2V0IiwiRXhwZWN0ZWQgY29tbWEgb3IgY2xvc2luZyBicmFja2V0IiksSi5Db21tYU9yQ2xvc2VCYWNrZXRFeHBlY3RlZCxMKTpoKEwsITApfX12YXIgZz1uZXcgd3Iodm9pZCAwLDAsMCk7ZnVuY3Rpb24gbSh3LEwpe3ZhciBBPW5ldyBMdSh3LHMuZ2V0VG9rZW5PZmZzZXQoKSxnKSxSPXAoQSk7aWYoIVIpaWYocy5nZXRUb2tlbigpPT09MTYpe3UoVSgiRG91YmxlUXVvdGVzRXhwZWN0ZWQiLCJQcm9wZXJ0eSBrZXlzIG11c3QgYmUgZG91YmxlcXVvdGVkIiksSi5VbmRlZmluZWQpO3ZhciBGPW5ldyB3cihBLHMuZ2V0VG9rZW5PZmZzZXQoKSxzLmdldFRva2VuTGVuZ3RoKCkpO0YudmFsdWU9cy5nZXRUb2tlblZhbHVlKCksUj1GLG8oKX1lbHNlIHJldHVybjtBLmtleU5vZGU9Ujt2YXIgQz1MW1IudmFsdWVdO2lmKEM/KGwoVSgiRHVwbGljYXRlS2V5V2FybmluZyIsIkR1cGxpY2F0ZSBvYmplY3Qga2V5IiksSi5EdXBsaWNhdGVLZXksQS5rZXlOb2RlLm9mZnNldCxBLmtleU5vZGUub2Zmc2V0K0Eua2V5Tm9kZS5sZW5ndGgsd2UuV2FybmluZyksdHlwZW9mIEM9PSJvYmplY3QiJiZsKFUoIkR1cGxpY2F0ZUtleVdhcm5pbmciLCJEdXBsaWNhdGUgb2JqZWN0IGtleSIpLEouRHVwbGljYXRlS2V5LEMua2V5Tm9kZS5vZmZzZXQsQy5rZXlOb2RlLm9mZnNldCtDLmtleU5vZGUubGVuZ3RoLHdlLldhcm5pbmcpLExbUi52YWx1ZV09ITApOkxbUi52YWx1ZV09QSxzLmdldFRva2VuKCk9PT02KUEuY29sb25PZmZzZXQ9cy5nZXRUb2tlbk9mZnNldCgpLG8oKTtlbHNlIGlmKHUoVSgiQ29sb25FeHBlY3RlZCIsIkNvbG9uIGV4cGVjdGVkIiksSi5Db2xvbkV4cGVjdGVkKSxzLmdldFRva2VuKCk9PT0xMCYmZS5wb3NpdGlvbkF0KFIub2Zmc2V0K1IubGVuZ3RoKS5saW5lPGUucG9zaXRpb25BdChzLmdldFRva2VuT2Zmc2V0KCkpLmxpbmUpcmV0dXJuIEEubGVuZ3RoPVIubGVuZ3RoLEE7dmFyIHk9YihBKTtyZXR1cm4geT8oQS52YWx1ZU5vZGU9eSxBLmxlbmd0aD15Lm9mZnNldCt5Lmxlbmd0aC1BLm9mZnNldCxBKTp1KFUoIlZhbHVlRXhwZWN0ZWQiLCJWYWx1ZSBleHBlY3RlZCIpLEouVmFsdWVFeHBlY3RlZCxBLFtdLFsyLDVdKX1mdW5jdGlvbiB2KHcpe2lmKHMuZ2V0VG9rZW4oKT09PTEpe3ZhciBMPW5ldyBBdSh3LHMuZ2V0VG9rZW5PZmZzZXQoKSksQT1PYmplY3QuY3JlYXRlKG51bGwpO28oKTtmb3IodmFyIFI9ITE7cy5nZXRUb2tlbigpIT09MiYmcy5nZXRUb2tlbigpIT09MTc7KXtpZihzLmdldFRva2VuKCk9PT01KXtSfHx1KFUoIlByb3BlcnR5RXhwZWN0ZWQiLCJQcm9wZXJ0eSBleHBlY3RlZCIpLEouUHJvcGVydHlFeHBlY3RlZCk7dmFyIEY9cy5nZXRUb2tlbk9mZnNldCgpO2lmKG8oKSxzLmdldFRva2VuKCk9PT0yKXtSJiZsKFUoIlRyYWlsaW5nQ29tbWEiLCJUcmFpbGluZyBjb21tYSIpLEouVHJhaWxpbmdDb21tYSxGLEYrMSk7Y29udGludWV9fWVsc2UgUiYmdShVKCJFeHBlY3RlZENvbW1hIiwiRXhwZWN0ZWQgY29tbWEiKSxKLkNvbW1hRXhwZWN0ZWQpO3ZhciBDPW0oTCxBKTtDP0wucHJvcGVydGllcy5wdXNoKEMpOnUoVSgiUHJvcGVydHlFeHBlY3RlZCIsIlByb3BlcnR5IGV4cGVjdGVkIiksSi5Qcm9wZXJ0eUV4cGVjdGVkLHZvaWQgMCxbXSxbMiw1XSksUj0hMH1yZXR1cm4gcy5nZXRUb2tlbigpIT09Mj91KFUoIkV4cGVjdGVkQ2xvc2VCcmFjZSIsIkV4cGVjdGVkIGNvbW1hIG9yIGNsb3NpbmcgYnJhY2UiKSxKLkNvbW1hT3JDbG9zZUJyYWNlRXhwZWN0ZWQsTCk6aChMLCEwKX19ZnVuY3Rpb24gcCh3KXtpZihzLmdldFRva2VuKCk9PT0xMCl7dmFyIEw9bmV3IHdyKHcscy5nZXRUb2tlbk9mZnNldCgpKTtyZXR1cm4gTC52YWx1ZT1zLmdldFRva2VuVmFsdWUoKSxoKEwsITApfX1mdW5jdGlvbiBfKHcpe2lmKHMuZ2V0VG9rZW4oKT09PTExKXt2YXIgTD1uZXcgU3UodyxzLmdldFRva2VuT2Zmc2V0KCkpO2lmKHMuZ2V0VG9rZW5FcnJvcigpPT09MCl7dmFyIEE9cy5nZXRUb2tlblZhbHVlKCk7dHJ5e3ZhciBSPUpTT04ucGFyc2UoQSk7aWYoIXllKFIpKXJldHVybiB1KFUoIkludmFsaWROdW1iZXJGb3JtYXQiLCJJbnZhbGlkIG51bWJlciBmb3JtYXQuIiksSi5VbmRlZmluZWQsTCk7TC52YWx1ZT1SfWNhdGNoe3JldHVybiB1KFUoIkludmFsaWROdW1iZXJGb3JtYXQiLCJJbnZhbGlkIG51bWJlciBmb3JtYXQuIiksSi5VbmRlZmluZWQsTCl9TC5pc0ludGVnZXI9QS5pbmRleE9mKCIuIik9PT0tMX1yZXR1cm4gaChMLCEwKX19ZnVuY3Rpb24geCh3KXtzd2l0Y2gocy5nZXRUb2tlbigpKXtjYXNlIDc6cmV0dXJuIGgobmV3IHd1KHcscy5nZXRUb2tlbk9mZnNldCgpKSwhMCk7Y2FzZSA4OnJldHVybiBoKG5ldyBwYSh3LCEwLHMuZ2V0VG9rZW5PZmZzZXQoKSksITApO2Nhc2UgOTpyZXR1cm4gaChuZXcgcGEodywhMSxzLmdldFRva2VuT2Zmc2V0KCkpLCEwKTtkZWZhdWx0OnJldHVybn19ZnVuY3Rpb24gYih3KXtyZXR1cm4gZCh3KXx8dih3KXx8cCh3KXx8Xyh3KXx8eCh3KX12YXIgUz12b2lkIDAsTj1vKCk7cmV0dXJuIE4hPT0xNyYmKFM9YihTKSxTP3MuZ2V0VG9rZW4oKSE9PTE3JiZ1KFUoIkVuZCBvZiBmaWxlIGV4cGVjdGVkIiwiRW5kIG9mIGZpbGUgZXhwZWN0ZWQuIiksSi5VbmRlZmluZWQpOnUoVSgiSW52YWxpZCBzeW1ib2wiLCJFeHBlY3RlZCBhIEpTT04gb2JqZWN0LCBhcnJheSBvciBsaXRlcmFsLiIpLEouVW5kZWZpbmVkKSksbmV3IF9hKFMsbixhKX1mdW5jdGlvbiBMcihlLHQsbil7aWYoZSE9PW51bGwmJnR5cGVvZiBlPT0ib2JqZWN0Iil7dmFyIHI9dCsiCSI7aWYoQXJyYXkuaXNBcnJheShlKSl7aWYoZS5sZW5ndGg9PT0wKXJldHVybiJbXSI7Zm9yKHZhciBpPWBbCmAscz0wO3M8ZS5sZW5ndGg7cysrKWkrPXIrTHIoZVtzXSxyLG4pLHM8ZS5sZW5ndGgtMSYmKGkrPSIsIiksaSs9YApgO3JldHVybiBpKz10KyJdIixpfWVsc2V7dmFyIGE9T2JqZWN0LmtleXMoZSk7aWYoYS5sZW5ndGg9PT0wKXJldHVybiJ7fSI7Zm9yKHZhciBpPWB7CmAscz0wO3M8YS5sZW5ndGg7cysrKXt2YXIgbz1hW3NdO2krPXIrSlNPTi5zdHJpbmdpZnkobykrIjogIitMcihlW29dLHIsbiksczxhLmxlbmd0aC0xJiYoaSs9IiwiKSxpKz1gCmB9cmV0dXJuIGkrPXQrIn0iLGl9fXJldHVybiBuKGUpfXZhciBBcj1KdCgpLFJ1PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0LG4scixpKXtuPT09dm9pZCAwJiYobj1bXSkscj09PXZvaWQgMCYmKHI9UHJvbWlzZSksaT09PXZvaWQgMCYmKGk9e30pLHRoaXMuc2NoZW1hU2VydmljZT10LHRoaXMuY29udHJpYnV0aW9ucz1uLHRoaXMucHJvbWlzZUNvbnN0cnVjdG9yPXIsdGhpcy5jbGllbnRDYXBhYmlsaXRpZXM9aX1yZXR1cm4gZS5wcm90b3R5cGUuZG9SZXNvbHZlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgbj10aGlzLmNvbnRyaWJ1dGlvbnMubGVuZ3RoLTE7bj49MDtuLS0pe3ZhciByPXRoaXMuY29udHJpYnV0aW9uc1tuXS5yZXNvbHZlQ29tcGxldGlvbjtpZihyKXt2YXIgaT1yKHQpO2lmKGkpcmV0dXJuIGl9fXJldHVybiB0aGlzLnByb21pc2VDb25zdHJ1Y3Rvci5yZXNvbHZlKHQpfSxlLnByb3RvdHlwZS5kb0NvbXBsZXRlPWZ1bmN0aW9uKHQsbixyKXt2YXIgaT10aGlzLHM9e2l0ZW1zOltdLGlzSW5jb21wbGV0ZTohMX0sYT10LmdldFRleHQoKSxvPXQub2Zmc2V0QXQobiksbD1yLmdldE5vZGVGcm9tT2Zmc2V0KG8sITApO2lmKHRoaXMuaXNJbkNvbW1lbnQodCxsP2wub2Zmc2V0OjAsbykpcmV0dXJuIFByb21pc2UucmVzb2x2ZShzKTtpZihsJiZvPT09bC5vZmZzZXQrbC5sZW5ndGgmJm8+MCl7dmFyIHU9YVtvLTFdOyhsLnR5cGU9PT0ib2JqZWN0IiYmdT09PSJ9Inx8bC50eXBlPT09ImFycmF5IiYmdT09PSJdIikmJihsPWwucGFyZW50KX12YXIgZj10aGlzLmdldEN1cnJlbnRXb3JkKHQsbyksaDtpZihsJiYobC50eXBlPT09InN0cmluZyJ8fGwudHlwZT09PSJudW1iZXIifHxsLnR5cGU9PT0iYm9vbGVhbiJ8fGwudHlwZT09PSJudWxsIikpaD1YLmNyZWF0ZSh0LnBvc2l0aW9uQXQobC5vZmZzZXQpLHQucG9zaXRpb25BdChsLm9mZnNldCtsLmxlbmd0aCkpO2Vsc2V7dmFyIGQ9by1mLmxlbmd0aDtkPjAmJmFbZC0xXT09PSciJyYmZC0tLGg9WC5jcmVhdGUodC5wb3NpdGlvbkF0KGQpLG4pfXZhciBnPXt9LG09e2FkZDpmdW5jdGlvbih2KXt2YXIgcD12LmxhYmVsLF89Z1twXTtpZihfKV8uZG9jdW1lbnRhdGlvbnx8KF8uZG9jdW1lbnRhdGlvbj12LmRvY3VtZW50YXRpb24pLF8uZGV0YWlsfHwoXy5kZXRhaWw9di5kZXRhaWwpO2Vsc2V7aWYocD1wLnJlcGxhY2UoL1tcbl0vZywi4oa1IikscC5sZW5ndGg+NjApe3ZhciB4PXAuc3Vic3RyKDAsNTcpLnRyaW0oKSsiLi4uIjtnW3hdfHwocD14KX1oJiZ2Lmluc2VydFRleHQhPT12b2lkIDAmJih2LnRleHRFZGl0PVRlLnJlcGxhY2UoaCx2Lmluc2VydFRleHQpKSx2LmxhYmVsPXAsZ1twXT12LHMuaXRlbXMucHVzaCh2KX19LHNldEFzSW5jb21wbGV0ZTpmdW5jdGlvbigpe3MuaXNJbmNvbXBsZXRlPSEwfSxlcnJvcjpmdW5jdGlvbih2KXt9LGxvZzpmdW5jdGlvbih2KXt9LGdldE51bWJlck9mUHJvcG9zYWxzOmZ1bmN0aW9uKCl7cmV0dXJuIHMuaXRlbXMubGVuZ3RofX07cmV0dXJuIHRoaXMuc2NoZW1hU2VydmljZS5nZXRTY2hlbWFGb3JSZXNvdXJjZSh0LnVyaSxyKS50aGVuKGZ1bmN0aW9uKHYpe3ZhciBwPVtdLF89ITAseD0iIixiPXZvaWQgMDtpZihsJiZsLnR5cGU9PT0ic3RyaW5nIil7dmFyIFM9bC5wYXJlbnQ7UyYmUy50eXBlPT09InByb3BlcnR5IiYmUy5rZXlOb2RlPT09bCYmKF89IVMudmFsdWVOb2RlLGI9Uyx4PWEuc3Vic3RyKGwub2Zmc2V0KzEsbC5sZW5ndGgtMiksUyYmKGw9Uy5wYXJlbnQpKX1pZihsJiZsLnR5cGU9PT0ib2JqZWN0Iil7aWYobC5vZmZzZXQ9PT1vKXJldHVybiBzO3ZhciBOPWwucHJvcGVydGllcztOLmZvckVhY2goZnVuY3Rpb24oUil7KCFifHxiIT09UikmJihnW1Iua2V5Tm9kZS52YWx1ZV09YnIuY3JlYXRlKCJfXyIpKX0pO3ZhciB3PSIiO18mJih3PWkuZXZhbHVhdGVTZXBhcmF0b3JBZnRlcih0LHQub2Zmc2V0QXQoaC5lbmQpKSksdj9pLmdldFByb3BlcnR5Q29tcGxldGlvbnModixyLGwsXyx3LG0pOmkuZ2V0U2NoZW1hTGVzc1Byb3BlcnR5Q29tcGxldGlvbnMocixsLHgsbSk7dmFyIEw9U3IobCk7aS5jb250cmlidXRpb25zLmZvckVhY2goZnVuY3Rpb24oUil7dmFyIEY9Ui5jb2xsZWN0UHJvcGVydHlDb21wbGV0aW9ucyh0LnVyaSxMLGYsXyx3PT09IiIsbSk7RiYmcC5wdXNoKEYpfSksIXYmJmYubGVuZ3RoPjAmJmEuY2hhckF0KG8tZi5sZW5ndGgtMSkhPT0nIicmJihtLmFkZCh7a2luZDpOZS5Qcm9wZXJ0eSxsYWJlbDppLmdldExhYmVsRm9yVmFsdWUoZiksaW5zZXJ0VGV4dDppLmdldEluc2VydFRleHRGb3JQcm9wZXJ0eShmLHZvaWQgMCwhMSx3KSxpbnNlcnRUZXh0Rm9ybWF0OmllLlNuaXBwZXQsZG9jdW1lbnRhdGlvbjoiIn0pLG0uc2V0QXNJbmNvbXBsZXRlKCkpfXZhciBBPXt9O3JldHVybiB2P2kuZ2V0VmFsdWVDb21wbGV0aW9ucyh2LHIsbCxvLHQsbSxBKTppLmdldFNjaGVtYUxlc3NWYWx1ZUNvbXBsZXRpb25zKHIsbCxvLHQsbSksaS5jb250cmlidXRpb25zLmxlbmd0aD4wJiZpLmdldENvbnRyaWJ1dGVkVmFsdWVDb21wbGV0aW9ucyhyLGwsbyx0LG0scCksaS5wcm9taXNlQ29uc3RydWN0b3IuYWxsKHApLnRoZW4oZnVuY3Rpb24oKXtpZihtLmdldE51bWJlck9mUHJvcG9zYWxzKCk9PT0wKXt2YXIgUj1vO2wmJihsLnR5cGU9PT0ic3RyaW5nInx8bC50eXBlPT09Im51bWJlciJ8fGwudHlwZT09PSJib29sZWFuInx8bC50eXBlPT09Im51bGwiKSYmKFI9bC5vZmZzZXQrbC5sZW5ndGgpO3ZhciBGPWkuZXZhbHVhdGVTZXBhcmF0b3JBZnRlcih0LFIpO2kuYWRkRmlsbGVyVmFsdWVDb21wbGV0aW9ucyhBLEYsbSl9cmV0dXJuIHN9KX0pfSxlLnByb3RvdHlwZS5nZXRQcm9wZXJ0eUNvbXBsZXRpb25zPWZ1bmN0aW9uKHQsbixyLGkscyxhKXt2YXIgbz10aGlzLGw9bi5nZXRNYXRjaGluZ1NjaGVtYXModC5zY2hlbWEsci5vZmZzZXQpO2wuZm9yRWFjaChmdW5jdGlvbih1KXtpZih1Lm5vZGU9PT1yJiYhdS5pbnZlcnRlZCl7dmFyIGY9dS5zY2hlbWEucHJvcGVydGllcztmJiZPYmplY3Qua2V5cyhmKS5mb3JFYWNoKGZ1bmN0aW9uKHYpe3ZhciBwPWZbdl07aWYodHlwZW9mIHA9PSJvYmplY3QiJiYhcC5kZXByZWNhdGlvbk1lc3NhZ2UmJiFwLmRvTm90U3VnZ2VzdCl7dmFyIF89e2tpbmQ6TmUuUHJvcGVydHksbGFiZWw6dixpbnNlcnRUZXh0Om8uZ2V0SW5zZXJ0VGV4dEZvclByb3BlcnR5KHYscCxpLHMpLGluc2VydFRleHRGb3JtYXQ6aWUuU25pcHBldCxmaWx0ZXJUZXh0Om8uZ2V0RmlsdGVyVGV4dEZvclZhbHVlKHYpLGRvY3VtZW50YXRpb246by5mcm9tTWFya3VwKHAubWFya2Rvd25EZXNjcmlwdGlvbil8fHAuZGVzY3JpcHRpb258fCIifTtwLnN1Z2dlc3RTb3J0VGV4dCE9PXZvaWQgMCYmKF8uc29ydFRleHQ9cC5zdWdnZXN0U29ydFRleHQpLF8uaW5zZXJ0VGV4dCYmanQoXy5pbnNlcnRUZXh0LCIkMSIuY29uY2F0KHMpKSYmKF8uY29tbWFuZD17dGl0bGU6IlN1Z2dlc3QiLGNvbW1hbmQ6ImVkaXRvci5hY3Rpb24udHJpZ2dlclN1Z2dlc3QifSksYS5hZGQoXyl9fSk7dmFyIGg9dS5zY2hlbWEucHJvcGVydHlOYW1lcztpZih0eXBlb2YgaD09Im9iamVjdCImJiFoLmRlcHJlY2F0aW9uTWVzc2FnZSYmIWguZG9Ob3RTdWdnZXN0KXt2YXIgZD1mdW5jdGlvbih2LHApe3A9PT12b2lkIDAmJihwPXZvaWQgMCk7dmFyIF89e2tpbmQ6TmUuUHJvcGVydHksbGFiZWw6dixpbnNlcnRUZXh0Om8uZ2V0SW5zZXJ0VGV4dEZvclByb3BlcnR5KHYsdm9pZCAwLGkscyksaW5zZXJ0VGV4dEZvcm1hdDppZS5TbmlwcGV0LGZpbHRlclRleHQ6by5nZXRGaWx0ZXJUZXh0Rm9yVmFsdWUodiksZG9jdW1lbnRhdGlvbjpwfHxvLmZyb21NYXJrdXAoaC5tYXJrZG93bkRlc2NyaXB0aW9uKXx8aC5kZXNjcmlwdGlvbnx8IiJ9O2guc3VnZ2VzdFNvcnRUZXh0IT09dm9pZCAwJiYoXy5zb3J0VGV4dD1oLnN1Z2dlc3RTb3J0VGV4dCksXy5pbnNlcnRUZXh0JiZqdChfLmluc2VydFRleHQsIiQxIi5jb25jYXQocykpJiYoXy5jb21tYW5kPXt0aXRsZToiU3VnZ2VzdCIsY29tbWFuZDoiZWRpdG9yLmFjdGlvbi50cmlnZ2VyU3VnZ2VzdCJ9KSxhLmFkZChfKX07aWYoaC5lbnVtKWZvcih2YXIgZz0wO2c8aC5lbnVtLmxlbmd0aDtnKyspe3ZhciBtPXZvaWQgMDtoLm1hcmtkb3duRW51bURlc2NyaXB0aW9ucyYmZzxoLm1hcmtkb3duRW51bURlc2NyaXB0aW9ucy5sZW5ndGg/bT1vLmZyb21NYXJrdXAoaC5tYXJrZG93bkVudW1EZXNjcmlwdGlvbnNbZ10pOmguZW51bURlc2NyaXB0aW9ucyYmZzxoLmVudW1EZXNjcmlwdGlvbnMubGVuZ3RoJiYobT1oLmVudW1EZXNjcmlwdGlvbnNbZ10pLGQoaC5lbnVtW2ddLG0pfWguY29uc3QmJmQoaC5jb25zdCl9fX0pfSxlLnByb3RvdHlwZS5nZXRTY2hlbWFMZXNzUHJvcGVydHlDb21wbGV0aW9ucz1mdW5jdGlvbih0LG4scixpKXt2YXIgcz10aGlzLGE9ZnVuY3Rpb24obCl7bC5wcm9wZXJ0aWVzLmZvckVhY2goZnVuY3Rpb24odSl7dmFyIGY9dS5rZXlOb2RlLnZhbHVlO2kuYWRkKHtraW5kOk5lLlByb3BlcnR5LGxhYmVsOmYsaW5zZXJ0VGV4dDpzLmdldEluc2VydFRleHRGb3JWYWx1ZShmLCIiKSxpbnNlcnRUZXh0Rm9ybWF0OmllLlNuaXBwZXQsZmlsdGVyVGV4dDpzLmdldEZpbHRlclRleHRGb3JWYWx1ZShmKSxkb2N1bWVudGF0aW9uOiIifSl9KX07aWYobi5wYXJlbnQpaWYobi5wYXJlbnQudHlwZT09PSJwcm9wZXJ0eSIpe3ZhciBvPW4ucGFyZW50LmtleU5vZGUudmFsdWU7dC52aXNpdChmdW5jdGlvbihsKXtyZXR1cm4gbC50eXBlPT09InByb3BlcnR5IiYmbCE9PW4ucGFyZW50JiZsLmtleU5vZGUudmFsdWU9PT1vJiZsLnZhbHVlTm9kZSYmbC52YWx1ZU5vZGUudHlwZT09PSJvYmplY3QiJiZhKGwudmFsdWVOb2RlKSwhMH0pfWVsc2Ugbi5wYXJlbnQudHlwZT09PSJhcnJheSImJm4ucGFyZW50Lml0ZW1zLmZvckVhY2goZnVuY3Rpb24obCl7bC50eXBlPT09Im9iamVjdCImJmwhPT1uJiZhKGwpfSk7ZWxzZSBuLnR5cGU9PT0ib2JqZWN0IiYmaS5hZGQoe2tpbmQ6TmUuUHJvcGVydHksbGFiZWw6IiRzY2hlbWEiLGluc2VydFRleHQ6dGhpcy5nZXRJbnNlcnRUZXh0Rm9yUHJvcGVydHkoIiRzY2hlbWEiLHZvaWQgMCwhMCwiIiksaW5zZXJ0VGV4dEZvcm1hdDppZS5TbmlwcGV0LGRvY3VtZW50YXRpb246IiIsZmlsdGVyVGV4dDp0aGlzLmdldEZpbHRlclRleHRGb3JWYWx1ZSgiJHNjaGVtYSIpfSl9LGUucHJvdG90eXBlLmdldFNjaGVtYUxlc3NWYWx1ZUNvbXBsZXRpb25zPWZ1bmN0aW9uKHQsbixyLGkscyl7dmFyIGE9dGhpcyxvPXI7aWYobiYmKG4udHlwZT09PSJzdHJpbmcifHxuLnR5cGU9PT0ibnVtYmVyInx8bi50eXBlPT09ImJvb2xlYW4ifHxuLnR5cGU9PT0ibnVsbCIpJiYobz1uLm9mZnNldCtuLmxlbmd0aCxuPW4ucGFyZW50KSwhbil7cy5hZGQoe2tpbmQ6dGhpcy5nZXRTdWdnZXN0aW9uS2luZCgib2JqZWN0IiksbGFiZWw6IkVtcHR5IG9iamVjdCIsaW5zZXJ0VGV4dDp0aGlzLmdldEluc2VydFRleHRGb3JWYWx1ZSh7fSwiIiksaW5zZXJ0VGV4dEZvcm1hdDppZS5TbmlwcGV0LGRvY3VtZW50YXRpb246IiJ9KSxzLmFkZCh7a2luZDp0aGlzLmdldFN1Z2dlc3Rpb25LaW5kKCJhcnJheSIpLGxhYmVsOiJFbXB0eSBhcnJheSIsaW5zZXJ0VGV4dDp0aGlzLmdldEluc2VydFRleHRGb3JWYWx1ZShbXSwiIiksaW5zZXJ0VGV4dEZvcm1hdDppZS5TbmlwcGV0LGRvY3VtZW50YXRpb246IiJ9KTtyZXR1cm59dmFyIGw9dGhpcy5ldmFsdWF0ZVNlcGFyYXRvckFmdGVyKGksbyksdT1mdW5jdGlvbihnKXtnLnBhcmVudCYmIWJhKGcucGFyZW50LHIsITApJiZzLmFkZCh7a2luZDphLmdldFN1Z2dlc3Rpb25LaW5kKGcudHlwZSksbGFiZWw6YS5nZXRMYWJlbFRleHRGb3JNYXRjaGluZ05vZGUoZyxpKSxpbnNlcnRUZXh0OmEuZ2V0SW5zZXJ0VGV4dEZvck1hdGNoaW5nTm9kZShnLGksbCksaW5zZXJ0VGV4dEZvcm1hdDppZS5TbmlwcGV0LGRvY3VtZW50YXRpb246IiJ9KSxnLnR5cGU9PT0iYm9vbGVhbiImJmEuYWRkQm9vbGVhblZhbHVlQ29tcGxldGlvbighZy52YWx1ZSxsLHMpfTtpZihuLnR5cGU9PT0icHJvcGVydHkiJiZyPihuLmNvbG9uT2Zmc2V0fHwwKSl7dmFyIGY9bi52YWx1ZU5vZGU7aWYoZiYmKHI+Zi5vZmZzZXQrZi5sZW5ndGh8fGYudHlwZT09PSJvYmplY3QifHxmLnR5cGU9PT0iYXJyYXkiKSlyZXR1cm47dmFyIGg9bi5rZXlOb2RlLnZhbHVlO3QudmlzaXQoZnVuY3Rpb24oZyl7cmV0dXJuIGcudHlwZT09PSJwcm9wZXJ0eSImJmcua2V5Tm9kZS52YWx1ZT09PWgmJmcudmFsdWVOb2RlJiZ1KGcudmFsdWVOb2RlKSwhMH0pLGg9PT0iJHNjaGVtYSImJm4ucGFyZW50JiYhbi5wYXJlbnQucGFyZW50JiZ0aGlzLmFkZERvbGxhclNjaGVtYUNvbXBsZXRpb25zKGwscyl9aWYobi50eXBlPT09ImFycmF5IilpZihuLnBhcmVudCYmbi5wYXJlbnQudHlwZT09PSJwcm9wZXJ0eSIpe3ZhciBkPW4ucGFyZW50LmtleU5vZGUudmFsdWU7dC52aXNpdChmdW5jdGlvbihnKXtyZXR1cm4gZy50eXBlPT09InByb3BlcnR5IiYmZy5rZXlOb2RlLnZhbHVlPT09ZCYmZy52YWx1ZU5vZGUmJmcudmFsdWVOb2RlLnR5cGU9PT0iYXJyYXkiJiZnLnZhbHVlTm9kZS5pdGVtcy5mb3JFYWNoKHUpLCEwfSl9ZWxzZSBuLml0ZW1zLmZvckVhY2godSl9LGUucHJvdG90eXBlLmdldFZhbHVlQ29tcGxldGlvbnM9ZnVuY3Rpb24odCxuLHIsaSxzLGEsbyl7dmFyIGw9aSx1PXZvaWQgMCxmPXZvaWQgMDtpZihyJiYoci50eXBlPT09InN0cmluZyJ8fHIudHlwZT09PSJudW1iZXIifHxyLnR5cGU9PT0iYm9vbGVhbiJ8fHIudHlwZT09PSJudWxsIikmJihsPXIub2Zmc2V0K3IubGVuZ3RoLGY9cixyPXIucGFyZW50KSwhcil7dGhpcy5hZGRTY2hlbWFWYWx1ZUNvbXBsZXRpb25zKHQuc2NoZW1hLCIiLGEsbyk7cmV0dXJufWlmKHIudHlwZT09PSJwcm9wZXJ0eSImJmk+KHIuY29sb25PZmZzZXR8fDApKXt2YXIgaD1yLnZhbHVlTm9kZTtpZihoJiZpPmgub2Zmc2V0K2gubGVuZ3RoKXJldHVybjt1PXIua2V5Tm9kZS52YWx1ZSxyPXIucGFyZW50fWlmKHImJih1IT09dm9pZCAwfHxyLnR5cGU9PT0iYXJyYXkiKSl7Zm9yKHZhciBkPXRoaXMuZXZhbHVhdGVTZXBhcmF0b3JBZnRlcihzLGwpLGc9bi5nZXRNYXRjaGluZ1NjaGVtYXModC5zY2hlbWEsci5vZmZzZXQsZiksbT0wLHY9ZzttPHYubGVuZ3RoO20rKyl7dmFyIHA9dlttXTtpZihwLm5vZGU9PT1yJiYhcC5pbnZlcnRlZCYmcC5zY2hlbWEpe2lmKHIudHlwZT09PSJhcnJheSImJnAuc2NoZW1hLml0ZW1zKWlmKEFycmF5LmlzQXJyYXkocC5zY2hlbWEuaXRlbXMpKXt2YXIgXz10aGlzLmZpbmRJdGVtQXRPZmZzZXQocixzLGkpO188cC5zY2hlbWEuaXRlbXMubGVuZ3RoJiZ0aGlzLmFkZFNjaGVtYVZhbHVlQ29tcGxldGlvbnMocC5zY2hlbWEuaXRlbXNbX10sZCxhLG8pfWVsc2UgdGhpcy5hZGRTY2hlbWFWYWx1ZUNvbXBsZXRpb25zKHAuc2NoZW1hLml0ZW1zLGQsYSxvKTtpZih1IT09dm9pZCAwKXt2YXIgeD0hMTtpZihwLnNjaGVtYS5wcm9wZXJ0aWVzKXt2YXIgYj1wLnNjaGVtYS5wcm9wZXJ0aWVzW3VdO2ImJih4PSEwLHRoaXMuYWRkU2NoZW1hVmFsdWVDb21wbGV0aW9ucyhiLGQsYSxvKSl9aWYocC5zY2hlbWEucGF0dGVyblByb3BlcnRpZXMmJiF4KWZvcih2YXIgUz0wLE49T2JqZWN0LmtleXMocC5zY2hlbWEucGF0dGVyblByb3BlcnRpZXMpO1M8Ti5sZW5ndGg7UysrKXt2YXIgdz1OW1NdLEw9Z24odyk7aWYoTCE9bnVsbCYmTC50ZXN0KHUpKXt4PSEwO3ZhciBiPXAuc2NoZW1hLnBhdHRlcm5Qcm9wZXJ0aWVzW3ddO3RoaXMuYWRkU2NoZW1hVmFsdWVDb21wbGV0aW9ucyhiLGQsYSxvKX19aWYocC5zY2hlbWEuYWRkaXRpb25hbFByb3BlcnRpZXMmJiF4KXt2YXIgYj1wLnNjaGVtYS5hZGRpdGlvbmFsUHJvcGVydGllczt0aGlzLmFkZFNjaGVtYVZhbHVlQ29tcGxldGlvbnMoYixkLGEsbyl9fX19dT09PSIkc2NoZW1hIiYmIXIucGFyZW50JiZ0aGlzLmFkZERvbGxhclNjaGVtYUNvbXBsZXRpb25zKGQsYSksby5ib29sZWFuJiYodGhpcy5hZGRCb29sZWFuVmFsdWVDb21wbGV0aW9uKCEwLGQsYSksdGhpcy5hZGRCb29sZWFuVmFsdWVDb21wbGV0aW9uKCExLGQsYSkpLG8ubnVsbCYmdGhpcy5hZGROdWxsVmFsdWVDb21wbGV0aW9uKGQsYSl9fSxlLnByb3RvdHlwZS5nZXRDb250cmlidXRlZFZhbHVlQ29tcGxldGlvbnM9ZnVuY3Rpb24odCxuLHIsaSxzLGEpe2lmKCFuKXRoaXMuY29udHJpYnV0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uKGYpe3ZhciBoPWYuY29sbGVjdERlZmF1bHRDb21wbGV0aW9ucyhpLnVyaSxzKTtoJiZhLnB1c2goaCl9KTtlbHNlIGlmKChuLnR5cGU9PT0ic3RyaW5nInx8bi50eXBlPT09Im51bWJlciJ8fG4udHlwZT09PSJib29sZWFuInx8bi50eXBlPT09Im51bGwiKSYmKG49bi5wYXJlbnQpLG4mJm4udHlwZT09PSJwcm9wZXJ0eSImJnI+KG4uY29sb25PZmZzZXR8fDApKXt2YXIgbz1uLmtleU5vZGUudmFsdWUsbD1uLnZhbHVlTm9kZTtpZigoIWx8fHI8PWwub2Zmc2V0K2wubGVuZ3RoKSYmbi5wYXJlbnQpe3ZhciB1PVNyKG4ucGFyZW50KTt0aGlzLmNvbnRyaWJ1dGlvbnMuZm9yRWFjaChmdW5jdGlvbihmKXt2YXIgaD1mLmNvbGxlY3RWYWx1ZUNvbXBsZXRpb25zKGkudXJpLHUsbyxzKTtoJiZhLnB1c2goaCl9KX19fSxlLnByb3RvdHlwZS5hZGRTY2hlbWFWYWx1ZUNvbXBsZXRpb25zPWZ1bmN0aW9uKHQsbixyLGkpe3ZhciBzPXRoaXM7dHlwZW9mIHQ9PSJvYmplY3QiJiYodGhpcy5hZGRFbnVtVmFsdWVDb21wbGV0aW9ucyh0LG4sciksdGhpcy5hZGREZWZhdWx0VmFsdWVDb21wbGV0aW9ucyh0LG4sciksdGhpcy5jb2xsZWN0VHlwZXModCxpKSxBcnJheS5pc0FycmF5KHQuYWxsT2YpJiZ0LmFsbE9mLmZvckVhY2goZnVuY3Rpb24oYSl7cmV0dXJuIHMuYWRkU2NoZW1hVmFsdWVDb21wbGV0aW9ucyhhLG4scixpKX0pLEFycmF5LmlzQXJyYXkodC5hbnlPZikmJnQuYW55T2YuZm9yRWFjaChmdW5jdGlvbihhKXtyZXR1cm4gcy5hZGRTY2hlbWFWYWx1ZUNvbXBsZXRpb25zKGEsbixyLGkpfSksQXJyYXkuaXNBcnJheSh0Lm9uZU9mKSYmdC5vbmVPZi5mb3JFYWNoKGZ1bmN0aW9uKGEpe3JldHVybiBzLmFkZFNjaGVtYVZhbHVlQ29tcGxldGlvbnMoYSxuLHIsaSl9KSl9LGUucHJvdG90eXBlLmFkZERlZmF1bHRWYWx1ZUNvbXBsZXRpb25zPWZ1bmN0aW9uKHQsbixyLGkpe3ZhciBzPXRoaXM7aT09PXZvaWQgMCYmKGk9MCk7dmFyIGE9ITE7aWYocWUodC5kZWZhdWx0KSl7Zm9yKHZhciBvPXQudHlwZSxsPXQuZGVmYXVsdCx1PWk7dT4wO3UtLSlsPVtsXSxvPSJhcnJheSI7ci5hZGQoe2tpbmQ6dGhpcy5nZXRTdWdnZXN0aW9uS2luZChvKSxsYWJlbDp0aGlzLmdldExhYmVsRm9yVmFsdWUobCksaW5zZXJ0VGV4dDp0aGlzLmdldEluc2VydFRleHRGb3JWYWx1ZShsLG4pLGluc2VydFRleHRGb3JtYXQ6aWUuU25pcHBldCxkZXRhaWw6QXIoImpzb24uc3VnZ2VzdC5kZWZhdWx0IiwiRGVmYXVsdCB2YWx1ZSIpfSksYT0hMH1BcnJheS5pc0FycmF5KHQuZXhhbXBsZXMpJiZ0LmV4YW1wbGVzLmZvckVhY2goZnVuY3Rpb24oZil7Zm9yKHZhciBoPXQudHlwZSxkPWYsZz1pO2c+MDtnLS0pZD1bZF0saD0iYXJyYXkiO3IuYWRkKHtraW5kOnMuZ2V0U3VnZ2VzdGlvbktpbmQoaCksbGFiZWw6cy5nZXRMYWJlbEZvclZhbHVlKGQpLGluc2VydFRleHQ6cy5nZXRJbnNlcnRUZXh0Rm9yVmFsdWUoZCxuKSxpbnNlcnRUZXh0Rm9ybWF0OmllLlNuaXBwZXR9KSxhPSEwfSksQXJyYXkuaXNBcnJheSh0LmRlZmF1bHRTbmlwcGV0cykmJnQuZGVmYXVsdFNuaXBwZXRzLmZvckVhY2goZnVuY3Rpb24oZil7dmFyIGg9dC50eXBlLGQ9Zi5ib2R5LGc9Zi5sYWJlbCxtLHY7aWYocWUoZCkpe3QudHlwZTtmb3IodmFyIHA9aTtwPjA7cC0tKWQ9W2RdO209cy5nZXRJbnNlcnRUZXh0Rm9yU25pcHBldFZhbHVlKGQsbiksdj1zLmdldEZpbHRlclRleHRGb3JTbmlwcGV0VmFsdWUoZCksZz1nfHxzLmdldExhYmVsRm9yU25pcHBldFZhbHVlKGQpfWVsc2UgaWYodHlwZW9mIGYuYm9keVRleHQ9PSJzdHJpbmciKXtmb3IodmFyIF89IiIseD0iIixiPSIiLHA9aTtwPjA7cC0tKV89XytiK2BbCmAseD14K2AKYCtiKyJdIixiKz0iCSIsaD0iYXJyYXkiO209XytiK2YuYm9keVRleHQuc3BsaXQoYApgKS5qb2luKGAKYCtiKSt4K24sZz1nfHxtLHY9bS5yZXBsYWNlKC9bXG5dL2csIiIpfWVsc2UgcmV0dXJuO3IuYWRkKHtraW5kOnMuZ2V0U3VnZ2VzdGlvbktpbmQoaCksbGFiZWw6Zyxkb2N1bWVudGF0aW9uOnMuZnJvbU1hcmt1cChmLm1hcmtkb3duRGVzY3JpcHRpb24pfHxmLmRlc2NyaXB0aW9uLGluc2VydFRleHQ6bSxpbnNlcnRUZXh0Rm9ybWF0OmllLlNuaXBwZXQsZmlsdGVyVGV4dDp2fSksYT0hMH0pLCFhJiZ0eXBlb2YgdC5pdGVtcz09Im9iamVjdCImJiFBcnJheS5pc0FycmF5KHQuaXRlbXMpJiZpPDUmJnRoaXMuYWRkRGVmYXVsdFZhbHVlQ29tcGxldGlvbnModC5pdGVtcyxuLHIsaSsxKX0sZS5wcm90b3R5cGUuYWRkRW51bVZhbHVlQ29tcGxldGlvbnM9ZnVuY3Rpb24odCxuLHIpe2lmKHFlKHQuY29uc3QpJiZyLmFkZCh7a2luZDp0aGlzLmdldFN1Z2dlc3Rpb25LaW5kKHQudHlwZSksbGFiZWw6dGhpcy5nZXRMYWJlbEZvclZhbHVlKHQuY29uc3QpLGluc2VydFRleHQ6dGhpcy5nZXRJbnNlcnRUZXh0Rm9yVmFsdWUodC5jb25zdCxuKSxpbnNlcnRUZXh0Rm9ybWF0OmllLlNuaXBwZXQsZG9jdW1lbnRhdGlvbjp0aGlzLmZyb21NYXJrdXAodC5tYXJrZG93bkRlc2NyaXB0aW9uKXx8dC5kZXNjcmlwdGlvbn0pLEFycmF5LmlzQXJyYXkodC5lbnVtKSlmb3IodmFyIGk9MCxzPXQuZW51bS5sZW5ndGg7aTxzO2krKyl7dmFyIGE9dC5lbnVtW2ldLG89dGhpcy5mcm9tTWFya3VwKHQubWFya2Rvd25EZXNjcmlwdGlvbil8fHQuZGVzY3JpcHRpb247dC5tYXJrZG93bkVudW1EZXNjcmlwdGlvbnMmJmk8dC5tYXJrZG93bkVudW1EZXNjcmlwdGlvbnMubGVuZ3RoJiZ0aGlzLmRvZXNTdXBwb3J0TWFya2Rvd24oKT9vPXRoaXMuZnJvbU1hcmt1cCh0Lm1hcmtkb3duRW51bURlc2NyaXB0aW9uc1tpXSk6dC5lbnVtRGVzY3JpcHRpb25zJiZpPHQuZW51bURlc2NyaXB0aW9ucy5sZW5ndGgmJihvPXQuZW51bURlc2NyaXB0aW9uc1tpXSksci5hZGQoe2tpbmQ6dGhpcy5nZXRTdWdnZXN0aW9uS2luZCh0LnR5cGUpLGxhYmVsOnRoaXMuZ2V0TGFiZWxGb3JWYWx1ZShhKSxpbnNlcnRUZXh0OnRoaXMuZ2V0SW5zZXJ0VGV4dEZvclZhbHVlKGEsbiksaW5zZXJ0VGV4dEZvcm1hdDppZS5TbmlwcGV0LGRvY3VtZW50YXRpb246b30pfX0sZS5wcm90b3R5cGUuY29sbGVjdFR5cGVzPWZ1bmN0aW9uKHQsbil7aWYoIShBcnJheS5pc0FycmF5KHQuZW51bSl8fHFlKHQuY29uc3QpKSl7dmFyIHI9dC50eXBlO0FycmF5LmlzQXJyYXkocik/ci5mb3JFYWNoKGZ1bmN0aW9uKGkpe3JldHVybiBuW2ldPSEwfSk6ciYmKG5bcl09ITApfX0sZS5wcm90b3R5cGUuYWRkRmlsbGVyVmFsdWVDb21wbGV0aW9ucz1mdW5jdGlvbih0LG4scil7dC5vYmplY3QmJnIuYWRkKHtraW5kOnRoaXMuZ2V0U3VnZ2VzdGlvbktpbmQoIm9iamVjdCIpLGxhYmVsOiJ7fSIsaW5zZXJ0VGV4dDp0aGlzLmdldEluc2VydFRleHRGb3JHdWVzc2VkVmFsdWUoe30sbiksaW5zZXJ0VGV4dEZvcm1hdDppZS5TbmlwcGV0LGRldGFpbDpBcigiZGVmYXVsdHMub2JqZWN0IiwiTmV3IG9iamVjdCIpLGRvY3VtZW50YXRpb246IiJ9KSx0LmFycmF5JiZyLmFkZCh7a2luZDp0aGlzLmdldFN1Z2dlc3Rpb25LaW5kKCJhcnJheSIpLGxhYmVsOiJbXSIsaW5zZXJ0VGV4dDp0aGlzLmdldEluc2VydFRleHRGb3JHdWVzc2VkVmFsdWUoW10sbiksaW5zZXJ0VGV4dEZvcm1hdDppZS5TbmlwcGV0LGRldGFpbDpBcigiZGVmYXVsdHMuYXJyYXkiLCJOZXcgYXJyYXkiKSxkb2N1bWVudGF0aW9uOiIifSl9LGUucHJvdG90eXBlLmFkZEJvb2xlYW5WYWx1ZUNvbXBsZXRpb249ZnVuY3Rpb24odCxuLHIpe3IuYWRkKHtraW5kOnRoaXMuZ2V0U3VnZ2VzdGlvbktpbmQoImJvb2xlYW4iKSxsYWJlbDp0PyJ0cnVlIjoiZmFsc2UiLGluc2VydFRleHQ6dGhpcy5nZXRJbnNlcnRUZXh0Rm9yVmFsdWUodCxuKSxpbnNlcnRUZXh0Rm9ybWF0OmllLlNuaXBwZXQsZG9jdW1lbnRhdGlvbjoiIn0pfSxlLnByb3RvdHlwZS5hZGROdWxsVmFsdWVDb21wbGV0aW9uPWZ1bmN0aW9uKHQsbil7bi5hZGQoe2tpbmQ6dGhpcy5nZXRTdWdnZXN0aW9uS2luZCgibnVsbCIpLGxhYmVsOiJudWxsIixpbnNlcnRUZXh0OiJudWxsIit0LGluc2VydFRleHRGb3JtYXQ6aWUuU25pcHBldCxkb2N1bWVudGF0aW9uOiIifSl9LGUucHJvdG90eXBlLmFkZERvbGxhclNjaGVtYUNvbXBsZXRpb25zPWZ1bmN0aW9uKHQsbil7dmFyIHI9dGhpcyxpPXRoaXMuc2NoZW1hU2VydmljZS5nZXRSZWdpc3RlcmVkU2NoZW1hSWRzKGZ1bmN0aW9uKHMpe3JldHVybiBzPT09Imh0dHAifHxzPT09Imh0dHBzIn0pO2kuZm9yRWFjaChmdW5jdGlvbihzKXtyZXR1cm4gbi5hZGQoe2tpbmQ6TmUuTW9kdWxlLGxhYmVsOnIuZ2V0TGFiZWxGb3JWYWx1ZShzKSxmaWx0ZXJUZXh0OnIuZ2V0RmlsdGVyVGV4dEZvclZhbHVlKHMpLGluc2VydFRleHQ6ci5nZXRJbnNlcnRUZXh0Rm9yVmFsdWUocyx0KSxpbnNlcnRUZXh0Rm9ybWF0OmllLlNuaXBwZXQsZG9jdW1lbnRhdGlvbjoiIn0pfSl9LGUucHJvdG90eXBlLmdldExhYmVsRm9yVmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHQpfSxlLnByb3RvdHlwZS5nZXRGaWx0ZXJUZXh0Rm9yVmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHQpfSxlLnByb3RvdHlwZS5nZXRGaWx0ZXJUZXh0Rm9yU25pcHBldFZhbHVlPWZ1bmN0aW9uKHQpe3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5yZXBsYWNlKC9cJFx7XGQrOihbXn1dKylcfXxcJFxkKy9nLCIkMSIpfSxlLnByb3RvdHlwZS5nZXRMYWJlbEZvclNuaXBwZXRWYWx1ZT1mdW5jdGlvbih0KXt2YXIgbj1KU09OLnN0cmluZ2lmeSh0KTtyZXR1cm4gbi5yZXBsYWNlKC9cJFx7XGQrOihbXn1dKylcfXxcJFxkKy9nLCIkMSIpfSxlLnByb3RvdHlwZS5nZXRJbnNlcnRUZXh0Rm9yUGxhaW5UZXh0PWZ1bmN0aW9uKHQpe3JldHVybiB0LnJlcGxhY2UoL1tcXFwkXH1dL2csIlxcJCYiKX0sZS5wcm90b3R5cGUuZ2V0SW5zZXJ0VGV4dEZvclZhbHVlPWZ1bmN0aW9uKHQsbil7dmFyIHI9SlNPTi5zdHJpbmdpZnkodCxudWxsLCIJIik7cmV0dXJuIHI9PT0ie30iPyJ7JDF9IituOnI9PT0iW10iPyJbJDFdIituOnRoaXMuZ2V0SW5zZXJ0VGV4dEZvclBsYWluVGV4dChyK24pfSxlLnByb3RvdHlwZS5nZXRJbnNlcnRUZXh0Rm9yU25pcHBldFZhbHVlPWZ1bmN0aW9uKHQsbil7dmFyIHI9ZnVuY3Rpb24oaSl7cmV0dXJuIHR5cGVvZiBpPT0ic3RyaW5nIiYmaVswXT09PSJeIj9pLnN1YnN0cigxKTpKU09OLnN0cmluZ2lmeShpKX07cmV0dXJuIExyKHQsIiIscikrbn0sZS5wcm90b3R5cGUuZ2V0SW5zZXJ0VGV4dEZvckd1ZXNzZWRWYWx1ZT1mdW5jdGlvbih0LG4pe3N3aXRjaCh0eXBlb2YgdCl7Y2FzZSJvYmplY3QiOnJldHVybiB0PT09bnVsbD8iJHsxOm51bGx9IituOnRoaXMuZ2V0SW5zZXJ0VGV4dEZvclZhbHVlKHQsbik7Y2FzZSJzdHJpbmciOnZhciByPUpTT04uc3RyaW5naWZ5KHQpO3JldHVybiByPXIuc3Vic3RyKDEsci5sZW5ndGgtMikscj10aGlzLmdldEluc2VydFRleHRGb3JQbGFpblRleHQociksJyIkezE6JytyKyd9IicrbjtjYXNlIm51bWJlciI6Y2FzZSJib29sZWFuIjpyZXR1cm4iJHsxOiIrSlNPTi5zdHJpbmdpZnkodCkrIn0iK259cmV0dXJuIHRoaXMuZ2V0SW5zZXJ0VGV4dEZvclZhbHVlKHQsbil9LGUucHJvdG90eXBlLmdldFN1Z2dlc3Rpb25LaW5kPWZ1bmN0aW9uKHQpe2lmKEFycmF5LmlzQXJyYXkodCkpe3ZhciBuPXQ7dD1uLmxlbmd0aD4wP25bMF06dm9pZCAwfWlmKCF0KXJldHVybiBOZS5WYWx1ZTtzd2l0Y2godCl7Y2FzZSJzdHJpbmciOnJldHVybiBOZS5WYWx1ZTtjYXNlIm9iamVjdCI6cmV0dXJuIE5lLk1vZHVsZTtjYXNlInByb3BlcnR5IjpyZXR1cm4gTmUuUHJvcGVydHk7ZGVmYXVsdDpyZXR1cm4gTmUuVmFsdWV9fSxlLnByb3RvdHlwZS5nZXRMYWJlbFRleHRGb3JNYXRjaGluZ05vZGU9ZnVuY3Rpb24odCxuKXtzd2l0Y2godC50eXBlKXtjYXNlImFycmF5IjpyZXR1cm4iW10iO2Nhc2Uib2JqZWN0IjpyZXR1cm4ie30iO2RlZmF1bHQ6dmFyIHI9bi5nZXRUZXh0KCkuc3Vic3RyKHQub2Zmc2V0LHQubGVuZ3RoKTtyZXR1cm4gcn19LGUucHJvdG90eXBlLmdldEluc2VydFRleHRGb3JNYXRjaGluZ05vZGU9ZnVuY3Rpb24odCxuLHIpe3N3aXRjaCh0LnR5cGUpe2Nhc2UiYXJyYXkiOnJldHVybiB0aGlzLmdldEluc2VydFRleHRGb3JWYWx1ZShbXSxyKTtjYXNlIm9iamVjdCI6cmV0dXJuIHRoaXMuZ2V0SW5zZXJ0VGV4dEZvclZhbHVlKHt9LHIpO2RlZmF1bHQ6dmFyIGk9bi5nZXRUZXh0KCkuc3Vic3RyKHQub2Zmc2V0LHQubGVuZ3RoKStyO3JldHVybiB0aGlzLmdldEluc2VydFRleHRGb3JQbGFpblRleHQoaSl9fSxlLnByb3RvdHlwZS5nZXRJbnNlcnRUZXh0Rm9yUHJvcGVydHk9ZnVuY3Rpb24odCxuLHIsaSl7dmFyIHM9dGhpcy5nZXRJbnNlcnRUZXh0Rm9yVmFsdWUodCwiIik7aWYoIXIpcmV0dXJuIHM7dmFyIGE9cysiOiAiLG8sbD0wO2lmKG4pe2lmKEFycmF5LmlzQXJyYXkobi5kZWZhdWx0U25pcHBldHMpKXtpZihuLmRlZmF1bHRTbmlwcGV0cy5sZW5ndGg9PT0xKXt2YXIgdT1uLmRlZmF1bHRTbmlwcGV0c1swXS5ib2R5O3FlKHUpJiYobz10aGlzLmdldEluc2VydFRleHRGb3JTbmlwcGV0VmFsdWUodSwiIikpfWwrPW4uZGVmYXVsdFNuaXBwZXRzLmxlbmd0aH1pZihuLmVudW0mJighbyYmbi5lbnVtLmxlbmd0aD09PTEmJihvPXRoaXMuZ2V0SW5zZXJ0VGV4dEZvckd1ZXNzZWRWYWx1ZShuLmVudW1bMF0sIiIpKSxsKz1uLmVudW0ubGVuZ3RoKSxxZShuLmRlZmF1bHQpJiYob3x8KG89dGhpcy5nZXRJbnNlcnRUZXh0Rm9yR3Vlc3NlZFZhbHVlKG4uZGVmYXVsdCwiIikpLGwrKyksQXJyYXkuaXNBcnJheShuLmV4YW1wbGVzKSYmbi5leGFtcGxlcy5sZW5ndGgmJihvfHwobz10aGlzLmdldEluc2VydFRleHRGb3JHdWVzc2VkVmFsdWUobi5leGFtcGxlc1swXSwiIikpLGwrPW4uZXhhbXBsZXMubGVuZ3RoKSxsPT09MCl7dmFyIGY9QXJyYXkuaXNBcnJheShuLnR5cGUpP24udHlwZVswXTpuLnR5cGU7c3dpdGNoKGZ8fChuLnByb3BlcnRpZXM/Zj0ib2JqZWN0IjpuLml0ZW1zJiYoZj0iYXJyYXkiKSksZil7Y2FzZSJib29sZWFuIjpvPSIkMSI7YnJlYWs7Y2FzZSJzdHJpbmciOm89JyIkMSInO2JyZWFrO2Nhc2Uib2JqZWN0IjpvPSJ7JDF9IjticmVhaztjYXNlImFycmF5IjpvPSJbJDFdIjticmVhaztjYXNlIm51bWJlciI6Y2FzZSJpbnRlZ2VyIjpvPSIkezE6MH0iO2JyZWFrO2Nhc2UibnVsbCI6bz0iJHsxOm51bGx9IjticmVhaztkZWZhdWx0OnJldHVybiBzfX19cmV0dXJuKCFvfHxsPjEpJiYobz0iJDEiKSxhK28raX0sZS5wcm90b3R5cGUuZ2V0Q3VycmVudFdvcmQ9ZnVuY3Rpb24odCxuKXtmb3IodmFyIHI9bi0xLGk9dC5nZXRUZXh0KCk7cj49MCYmYCAJClxyXHYiOntbLF19YC5pbmRleE9mKGkuY2hhckF0KHIpKT09PS0xOylyLS07cmV0dXJuIGkuc3Vic3RyaW5nKHIrMSxuKX0sZS5wcm90b3R5cGUuZXZhbHVhdGVTZXBhcmF0b3JBZnRlcj1mdW5jdGlvbih0LG4pe3ZhciByPUx0KHQuZ2V0VGV4dCgpLCEwKTtyLnNldFBvc2l0aW9uKG4pO3ZhciBpPXIuc2NhbigpO3N3aXRjaChpKXtjYXNlIDU6Y2FzZSAyOmNhc2UgNDpjYXNlIDE3OnJldHVybiIiO2RlZmF1bHQ6cmV0dXJuIiwifX0sZS5wcm90b3R5cGUuZmluZEl0ZW1BdE9mZnNldD1mdW5jdGlvbih0LG4scil7Zm9yKHZhciBpPUx0KG4uZ2V0VGV4dCgpLCEwKSxzPXQuaXRlbXMsYT1zLmxlbmd0aC0xO2E+PTA7YS0tKXt2YXIgbz1zW2FdO2lmKHI+by5vZmZzZXQrby5sZW5ndGgpe2kuc2V0UG9zaXRpb24oby5vZmZzZXQrby5sZW5ndGgpO3ZhciBsPWkuc2NhbigpO3JldHVybiBsPT09NSYmcj49aS5nZXRUb2tlbk9mZnNldCgpK2kuZ2V0VG9rZW5MZW5ndGgoKT9hKzE6YX1lbHNlIGlmKHI+PW8ub2Zmc2V0KXJldHVybiBhfXJldHVybiAwfSxlLnByb3RvdHlwZS5pc0luQ29tbWVudD1mdW5jdGlvbih0LG4scil7dmFyIGk9THQodC5nZXRUZXh0KCksITEpO2kuc2V0UG9zaXRpb24obik7Zm9yKHZhciBzPWkuc2NhbigpO3MhPT0xNyYmaS5nZXRUb2tlbk9mZnNldCgpK2kuZ2V0VG9rZW5MZW5ndGgoKTxyOylzPWkuc2NhbigpO3JldHVybihzPT09MTJ8fHM9PT0xMykmJmkuZ2V0VG9rZW5PZmZzZXQoKTw9cn0sZS5wcm90b3R5cGUuZnJvbU1hcmt1cD1mdW5jdGlvbih0KXtpZih0JiZ0aGlzLmRvZXNTdXBwb3J0TWFya2Rvd24oKSlyZXR1cm57a2luZDokZS5NYXJrZG93bix2YWx1ZTp0fX0sZS5wcm90b3R5cGUuZG9lc1N1cHBvcnRNYXJrZG93bj1mdW5jdGlvbigpe2lmKCFxZSh0aGlzLnN1cHBvcnRzTWFya2Rvd24pKXt2YXIgdD10aGlzLmNsaWVudENhcGFiaWxpdGllcy50ZXh0RG9jdW1lbnQmJnRoaXMuY2xpZW50Q2FwYWJpbGl0aWVzLnRleHREb2N1bWVudC5jb21wbGV0aW9uO3RoaXMuc3VwcG9ydHNNYXJrZG93bj10JiZ0LmNvbXBsZXRpb25JdGVtJiZBcnJheS5pc0FycmF5KHQuY29tcGxldGlvbkl0ZW0uZG9jdW1lbnRhdGlvbkZvcm1hdCkmJnQuY29tcGxldGlvbkl0ZW0uZG9jdW1lbnRhdGlvbkZvcm1hdC5pbmRleE9mKCRlLk1hcmtkb3duKSE9PS0xfXJldHVybiB0aGlzLnN1cHBvcnRzTWFya2Rvd259LGUucHJvdG90eXBlLmRvZXNTdXBwb3J0c0NvbW1pdENoYXJhY3RlcnM9ZnVuY3Rpb24oKXtpZighcWUodGhpcy5zdXBwb3J0c0NvbW1pdENoYXJhY3RlcnMpKXt2YXIgdD10aGlzLmNsaWVudENhcGFiaWxpdGllcy50ZXh0RG9jdW1lbnQmJnRoaXMuY2xpZW50Q2FwYWJpbGl0aWVzLnRleHREb2N1bWVudC5jb21wbGV0aW9uO3RoaXMuc3VwcG9ydHNDb21taXRDaGFyYWN0ZXJzPXQmJnQuY29tcGxldGlvbkl0ZW0mJiEhdC5jb21wbGV0aW9uSXRlbS5jb21taXRDaGFyYWN0ZXJzU3VwcG9ydH1yZXR1cm4gdGhpcy5zdXBwb3J0c0NvbW1pdENoYXJhY3RlcnN9LGV9KCksVHU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQsbixyKXtuPT09dm9pZCAwJiYobj1bXSksdGhpcy5zY2hlbWFTZXJ2aWNlPXQsdGhpcy5jb250cmlidXRpb25zPW4sdGhpcy5wcm9taXNlPXJ8fFByb21pc2V9cmV0dXJuIGUucHJvdG90eXBlLmRvSG92ZXI9ZnVuY3Rpb24odCxuLHIpe3ZhciBpPXQub2Zmc2V0QXQobikscz1yLmdldE5vZGVGcm9tT2Zmc2V0KGkpO2lmKCFzfHwocy50eXBlPT09Im9iamVjdCJ8fHMudHlwZT09PSJhcnJheSIpJiZpPnMub2Zmc2V0KzEmJmk8cy5vZmZzZXQrcy5sZW5ndGgtMSlyZXR1cm4gdGhpcy5wcm9taXNlLnJlc29sdmUobnVsbCk7dmFyIGE9cztpZihzLnR5cGU9PT0ic3RyaW5nIil7dmFyIG89cy5wYXJlbnQ7aWYobyYmby50eXBlPT09InByb3BlcnR5IiYmby5rZXlOb2RlPT09cyYmKHM9by52YWx1ZU5vZGUsIXMpKXJldHVybiB0aGlzLnByb21pc2UucmVzb2x2ZShudWxsKX1mb3IodmFyIGw9WC5jcmVhdGUodC5wb3NpdGlvbkF0KGEub2Zmc2V0KSx0LnBvc2l0aW9uQXQoYS5vZmZzZXQrYS5sZW5ndGgpKSx1PWZ1bmN0aW9uKG0pe3ZhciB2PXtjb250ZW50czptLHJhbmdlOmx9O3JldHVybiB2fSxmPVNyKHMpLGg9dGhpcy5jb250cmlidXRpb25zLmxlbmd0aC0xO2g+PTA7aC0tKXt2YXIgZD10aGlzLmNvbnRyaWJ1dGlvbnNbaF0sZz1kLmdldEluZm9Db250cmlidXRpb24odC51cmksZik7aWYoZylyZXR1cm4gZy50aGVuKGZ1bmN0aW9uKG0pe3JldHVybiB1KG0pfSl9cmV0dXJuIHRoaXMuc2NoZW1hU2VydmljZS5nZXRTY2hlbWFGb3JSZXNvdXJjZSh0LnVyaSxyKS50aGVuKGZ1bmN0aW9uKG0pe2lmKG0mJnMpe3ZhciB2PXIuZ2V0TWF0Y2hpbmdTY2hlbWFzKG0uc2NoZW1hLHMub2Zmc2V0KSxwPXZvaWQgMCxfPXZvaWQgMCx4PXZvaWQgMCxiPXZvaWQgMDt2LmV2ZXJ5KGZ1bmN0aW9uKE4pe2lmKE4ubm9kZT09PXMmJiFOLmludmVydGVkJiZOLnNjaGVtYSYmKHA9cHx8Ti5zY2hlbWEudGl0bGUsXz1ffHxOLnNjaGVtYS5tYXJrZG93bkRlc2NyaXB0aW9ufHxDcihOLnNjaGVtYS5kZXNjcmlwdGlvbiksTi5zY2hlbWEuZW51bSkpe3ZhciB3PU4uc2NoZW1hLmVudW0uaW5kZXhPZihvdChzKSk7Ti5zY2hlbWEubWFya2Rvd25FbnVtRGVzY3JpcHRpb25zP3g9Ti5zY2hlbWEubWFya2Rvd25FbnVtRGVzY3JpcHRpb25zW3ddOk4uc2NoZW1hLmVudW1EZXNjcmlwdGlvbnMmJih4PUNyKE4uc2NoZW1hLmVudW1EZXNjcmlwdGlvbnNbd10pKSx4JiYoYj1OLnNjaGVtYS5lbnVtW3ddLHR5cGVvZiBiIT0ic3RyaW5nIiYmKGI9SlNPTi5zdHJpbmdpZnkoYikpKX1yZXR1cm4hMH0pO3ZhciBTPSIiO3JldHVybiBwJiYoUz1DcihwKSksXyYmKFMubGVuZ3RoPjAmJihTKz1gCgpgKSxTKz1fKSx4JiYoUy5sZW5ndGg+MCYmKFMrPWAKCmApLFMrPSJgIi5jb25jYXQoTXUoYiksImA6ICIpLmNvbmNhdCh4KSksdShbU10pfXJldHVybiBudWxsfSl9LGV9KCk7ZnVuY3Rpb24gQ3IoZSl7aWYoZSl7dmFyIHQ9ZS5yZXBsYWNlKC8oW15cblxyXSkoXHI/XG4pKFteXG5ccl0pL2dtLGAkMQoKJDNgKTtyZXR1cm4gdC5yZXBsYWNlKC9bXFxgKl97fVtcXSgpIytcLS4hXS9nLCJcXCQmIil9fWZ1bmN0aW9uIE11KGUpe3JldHVybiBlLmluZGV4T2YoImAiKSE9PS0xPyJgYCAiK2UrIiBgYCI6ZX12YXIgUHU9SnQoKSxJdT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUodCxuKXt0aGlzLmpzb25TY2hlbWFTZXJ2aWNlPXQsdGhpcy5wcm9taXNlPW4sdGhpcy52YWxpZGF0aW9uRW5hYmxlZD0hMH1yZXR1cm4gZS5wcm90b3R5cGUuY29uZmlndXJlPWZ1bmN0aW9uKHQpe3QmJih0aGlzLnZhbGlkYXRpb25FbmFibGVkPXQudmFsaWRhdGUhPT0hMSx0aGlzLmNvbW1lbnRTZXZlcml0eT10LmFsbG93Q29tbWVudHM/dm9pZCAwOndlLkVycm9yKX0sZS5wcm90b3R5cGUuZG9WYWxpZGF0aW9uPWZ1bmN0aW9uKHQsbixyLGkpe3ZhciBzPXRoaXM7aWYoIXRoaXMudmFsaWRhdGlvbkVuYWJsZWQpcmV0dXJuIHRoaXMucHJvbWlzZS5yZXNvbHZlKFtdKTt2YXIgYT1bXSxvPXt9LGw9ZnVuY3Rpb24oZCl7dmFyIGc9ZC5yYW5nZS5zdGFydC5saW5lKyIgIitkLnJhbmdlLnN0YXJ0LmNoYXJhY3RlcisiICIrZC5tZXNzYWdlO29bZ118fChvW2ddPSEwLGEucHVzaChkKSl9LHU9ZnVuY3Rpb24oZCl7dmFyIGc9ciE9bnVsbCYmci50cmFpbGluZ0NvbW1hcz95bihyLnRyYWlsaW5nQ29tbWFzKTp3ZS5FcnJvcixtPXIhPW51bGwmJnIuY29tbWVudHM/eW4oci5jb21tZW50cyk6cy5jb21tZW50U2V2ZXJpdHksdj1yIT1udWxsJiZyLnNjaGVtYVZhbGlkYXRpb24/eW4oci5zY2hlbWFWYWxpZGF0aW9uKTp3ZS5XYXJuaW5nLHA9ciE9bnVsbCYmci5zY2hlbWFSZXF1ZXN0P3luKHIuc2NoZW1hUmVxdWVzdCk6d2UuV2FybmluZztpZihkKXtpZihkLmVycm9ycy5sZW5ndGgmJm4ucm9vdCYmcCl7dmFyIF89bi5yb290LHg9Xy50eXBlPT09Im9iamVjdCI/Xy5wcm9wZXJ0aWVzWzBdOnZvaWQgMDtpZih4JiZ4LmtleU5vZGUudmFsdWU9PT0iJHNjaGVtYSIpe3ZhciBiPXgudmFsdWVOb2RlfHx4LFM9WC5jcmVhdGUodC5wb3NpdGlvbkF0KGIub2Zmc2V0KSx0LnBvc2l0aW9uQXQoYi5vZmZzZXQrYi5sZW5ndGgpKTtsKEhlLmNyZWF0ZShTLGQuZXJyb3JzWzBdLHAsSi5TY2hlbWFSZXNvbHZlRXJyb3IpKX1lbHNle3ZhciBTPVguY3JlYXRlKHQucG9zaXRpb25BdChfLm9mZnNldCksdC5wb3NpdGlvbkF0KF8ub2Zmc2V0KzEpKTtsKEhlLmNyZWF0ZShTLGQuZXJyb3JzWzBdLHAsSi5TY2hlbWFSZXNvbHZlRXJyb3IpKX19ZWxzZSBpZih2KXt2YXIgTj1uLnZhbGlkYXRlKHQsZC5zY2hlbWEsdik7TiYmTi5mb3JFYWNoKGwpfXhhKGQuc2NoZW1hKSYmKG09dm9pZCAwKSx5YShkLnNjaGVtYSkmJihnPXZvaWQgMCl9Zm9yKHZhciB3PTAsTD1uLnN5bnRheEVycm9yczt3PEwubGVuZ3RoO3crKyl7dmFyIEE9TFt3XTtpZihBLmNvZGU9PT1KLlRyYWlsaW5nQ29tbWEpe2lmKHR5cGVvZiBnIT0ibnVtYmVyIiljb250aW51ZTtBLnNldmVyaXR5PWd9bChBKX1pZih0eXBlb2YgbT09Im51bWJlciIpe3ZhciBSPVB1KCJJbnZhbGlkQ29tbWVudFRva2VuIiwiQ29tbWVudHMgYXJlIG5vdCBwZXJtaXR0ZWQgaW4gSlNPTi4iKTtuLmNvbW1lbnRzLmZvckVhY2goZnVuY3Rpb24oRil7bChIZS5jcmVhdGUoRixSLG0sSi5Db21tZW50Tm90UGVybWl0dGVkKSl9KX1yZXR1cm4gYX07aWYoaSl7dmFyIGY9aS5pZHx8InNjaGVtYXNlcnZpY2U6Ly91bnRpdGxlZC8iK0Z1KyssaD10aGlzLmpzb25TY2hlbWFTZXJ2aWNlLnJlZ2lzdGVyRXh0ZXJuYWxTY2hlbWEoZixbXSxpKTtyZXR1cm4gaC5nZXRSZXNvbHZlZFNjaGVtYSgpLnRoZW4oZnVuY3Rpb24oZCl7cmV0dXJuIHUoZCl9KX1yZXR1cm4gdGhpcy5qc29uU2NoZW1hU2VydmljZS5nZXRTY2hlbWFGb3JSZXNvdXJjZSh0LnVyaSxuKS50aGVuKGZ1bmN0aW9uKGQpe3JldHVybiB1KGQpfSl9LGUucHJvdG90eXBlLmdldExhbmd1YWdlU3RhdHVzPWZ1bmN0aW9uKHQsbil7cmV0dXJue3NjaGVtYXM6dGhpcy5qc29uU2NoZW1hU2VydmljZS5nZXRTY2hlbWFVUklzRm9yUmVzb3VyY2UodC51cmksbil9fSxlfSgpLEZ1PTA7ZnVuY3Rpb24geGEoZSl7aWYoZSYmdHlwZW9mIGU9PSJvYmplY3QiKXtpZihGZShlLmFsbG93Q29tbWVudHMpKXJldHVybiBlLmFsbG93Q29tbWVudHM7aWYoZS5hbGxPZilmb3IodmFyIHQ9MCxuPWUuYWxsT2Y7dDxuLmxlbmd0aDt0Kyspe3ZhciByPW5bdF0saT14YShyKTtpZihGZShpKSlyZXR1cm4gaX19fWZ1bmN0aW9uIHlhKGUpe2lmKGUmJnR5cGVvZiBlPT0ib2JqZWN0Iil7aWYoRmUoZS5hbGxvd1RyYWlsaW5nQ29tbWFzKSlyZXR1cm4gZS5hbGxvd1RyYWlsaW5nQ29tbWFzO3ZhciB0PWU7aWYoRmUodC5hbGxvd3NUcmFpbGluZ0NvbW1hcykpcmV0dXJuIHQuYWxsb3dzVHJhaWxpbmdDb21tYXM7aWYoZS5hbGxPZilmb3IodmFyIG49MCxyPWUuYWxsT2Y7bjxyLmxlbmd0aDtuKyspe3ZhciBpPXJbbl0scz15YShpKTtpZihGZShzKSlyZXR1cm4gc319fWZ1bmN0aW9uIHluKGUpe3N3aXRjaChlKXtjYXNlImVycm9yIjpyZXR1cm4gd2UuRXJyb3I7Y2FzZSJ3YXJuaW5nIjpyZXR1cm4gd2UuV2FybmluZztjYXNlImlnbm9yZSI6cmV0dXJufX12YXIgd2E9NDgsRHU9NTcsT3U9NjUsd249OTcsVnU9MTAyO2Z1bmN0aW9uIHRlKGUpe3JldHVybiBlPHdhPzA6ZTw9RHU/ZS13YTooZTx3biYmKGUrPXduLU91KSxlPj13biYmZTw9VnU/ZS13bisxMDowKX1mdW5jdGlvbiBVdShlKXtpZihlWzBdPT09IiMiKXN3aXRjaChlLmxlbmd0aCl7Y2FzZSA0OnJldHVybntyZWQ6dGUoZS5jaGFyQ29kZUF0KDEpKSoxNy8yNTUsZ3JlZW46dGUoZS5jaGFyQ29kZUF0KDIpKSoxNy8yNTUsYmx1ZTp0ZShlLmNoYXJDb2RlQXQoMykpKjE3LzI1NSxhbHBoYToxfTtjYXNlIDU6cmV0dXJue3JlZDp0ZShlLmNoYXJDb2RlQXQoMSkpKjE3LzI1NSxncmVlbjp0ZShlLmNoYXJDb2RlQXQoMikpKjE3LzI1NSxibHVlOnRlKGUuY2hhckNvZGVBdCgzKSkqMTcvMjU1LGFscGhhOnRlKGUuY2hhckNvZGVBdCg0KSkqMTcvMjU1fTtjYXNlIDc6cmV0dXJue3JlZDoodGUoZS5jaGFyQ29kZUF0KDEpKSoxNit0ZShlLmNoYXJDb2RlQXQoMikpKS8yNTUsZ3JlZW46KHRlKGUuY2hhckNvZGVBdCgzKSkqMTYrdGUoZS5jaGFyQ29kZUF0KDQpKSkvMjU1LGJsdWU6KHRlKGUuY2hhckNvZGVBdCg1KSkqMTYrdGUoZS5jaGFyQ29kZUF0KDYpKSkvMjU1LGFscGhhOjF9O2Nhc2UgOTpyZXR1cm57cmVkOih0ZShlLmNoYXJDb2RlQXQoMSkpKjE2K3RlKGUuY2hhckNvZGVBdCgyKSkpLzI1NSxncmVlbjoodGUoZS5jaGFyQ29kZUF0KDMpKSoxNit0ZShlLmNoYXJDb2RlQXQoNCkpKS8yNTUsYmx1ZToodGUoZS5jaGFyQ29kZUF0KDUpKSoxNit0ZShlLmNoYXJDb2RlQXQoNikpKS8yNTUsYWxwaGE6KHRlKGUuY2hhckNvZGVBdCg3KSkqMTYrdGUoZS5jaGFyQ29kZUF0KDgpKSkvMjU1fX19dmFyIEJ1PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0KXt0aGlzLnNjaGVtYVNlcnZpY2U9dH1yZXR1cm4gZS5wcm90b3R5cGUuZmluZERvY3VtZW50U3ltYm9scz1mdW5jdGlvbih0LG4scil7dmFyIGk9dGhpcztyPT09dm9pZCAwJiYocj17cmVzdWx0TGltaXQ6TnVtYmVyLk1BWF9WQUxVRX0pO3ZhciBzPW4ucm9vdDtpZighcylyZXR1cm5bXTt2YXIgYT1yLnJlc3VsdExpbWl0fHxOdW1iZXIuTUFYX1ZBTFVFLG89dC51cmk7aWYoKG89PT0idnNjb2RlOi8vZGVmYXVsdHNldHRpbmdzL2tleWJpbmRpbmdzLmpzb24ifHxqdChvLnRvTG93ZXJDYXNlKCksIi91c2VyL2tleWJpbmRpbmdzLmpzb24iKSkmJnMudHlwZT09PSJhcnJheSIpe2Zvcih2YXIgbD1bXSx1PTAsZj1zLml0ZW1zO3U8Zi5sZW5ndGg7dSsrKXt2YXIgaD1mW3VdO2lmKGgudHlwZT09PSJvYmplY3QiKWZvcih2YXIgZD0wLGc9aC5wcm9wZXJ0aWVzO2Q8Zy5sZW5ndGg7ZCsrKXt2YXIgbT1nW2RdO2lmKG0ua2V5Tm9kZS52YWx1ZT09PSJrZXkiJiZtLnZhbHVlTm9kZSl7dmFyIHY9cXQuY3JlYXRlKHQudXJpLGV0KHQsaCkpO2lmKGwucHVzaCh7bmFtZTpvdChtLnZhbHVlTm9kZSksa2luZDpEZS5GdW5jdGlvbixsb2NhdGlvbjp2fSksYS0tLGE8PTApcmV0dXJuIHImJnIub25SZXN1bHRMaW1pdEV4Y2VlZGVkJiZyLm9uUmVzdWx0TGltaXRFeGNlZWRlZChvKSxsfX19cmV0dXJuIGx9Zm9yKHZhciBwPVt7bm9kZTpzLGNvbnRhaW5lck5hbWU6IiJ9XSxfPTAseD0hMSxiPVtdLFM9ZnVuY3Rpb24odyxMKXt3LnR5cGU9PT0iYXJyYXkiP3cuaXRlbXMuZm9yRWFjaChmdW5jdGlvbihBKXtBJiZwLnB1c2goe25vZGU6QSxjb250YWluZXJOYW1lOkx9KX0pOncudHlwZT09PSJvYmplY3QiJiZ3LnByb3BlcnRpZXMuZm9yRWFjaChmdW5jdGlvbihBKXt2YXIgUj1BLnZhbHVlTm9kZTtpZihSKWlmKGE+MCl7YS0tO3ZhciBGPXF0LmNyZWF0ZSh0LnVyaSxldCh0LEEpKSxDPUw/TCsiLiIrQS5rZXlOb2RlLnZhbHVlOkEua2V5Tm9kZS52YWx1ZTtiLnB1c2goe25hbWU6aS5nZXRLZXlMYWJlbChBKSxraW5kOmkuZ2V0U3ltYm9sS2luZChSLnR5cGUpLGxvY2F0aW9uOkYsY29udGFpbmVyTmFtZTpMfSkscC5wdXNoKHtub2RlOlIsY29udGFpbmVyTmFtZTpDfSl9ZWxzZSB4PSEwfSl9O188cC5sZW5ndGg7KXt2YXIgTj1wW18rK107UyhOLm5vZGUsTi5jb250YWluZXJOYW1lKX1yZXR1cm4geCYmciYmci5vblJlc3VsdExpbWl0RXhjZWVkZWQmJnIub25SZXN1bHRMaW1pdEV4Y2VlZGVkKG8pLGJ9LGUucHJvdG90eXBlLmZpbmREb2N1bWVudFN5bWJvbHMyPWZ1bmN0aW9uKHQsbixyKXt2YXIgaT10aGlzO3I9PT12b2lkIDAmJihyPXtyZXN1bHRMaW1pdDpOdW1iZXIuTUFYX1ZBTFVFfSk7dmFyIHM9bi5yb290O2lmKCFzKXJldHVybltdO3ZhciBhPXIucmVzdWx0TGltaXR8fE51bWJlci5NQVhfVkFMVUUsbz10LnVyaTtpZigobz09PSJ2c2NvZGU6Ly9kZWZhdWx0c2V0dGluZ3Mva2V5YmluZGluZ3MuanNvbiJ8fGp0KG8udG9Mb3dlckNhc2UoKSwiL3VzZXIva2V5YmluZGluZ3MuanNvbiIpKSYmcy50eXBlPT09ImFycmF5Iil7Zm9yKHZhciBsPVtdLHU9MCxmPXMuaXRlbXM7dTxmLmxlbmd0aDt1Kyspe3ZhciBoPWZbdV07aWYoaC50eXBlPT09Im9iamVjdCIpZm9yKHZhciBkPTAsZz1oLnByb3BlcnRpZXM7ZDxnLmxlbmd0aDtkKyspe3ZhciBtPWdbZF07aWYobS5rZXlOb2RlLnZhbHVlPT09ImtleSImJm0udmFsdWVOb2RlKXt2YXIgdj1ldCh0LGgpLHA9ZXQodCxtLmtleU5vZGUpO2lmKGwucHVzaCh7bmFtZTpvdChtLnZhbHVlTm9kZSksa2luZDpEZS5GdW5jdGlvbixyYW5nZTp2LHNlbGVjdGlvblJhbmdlOnB9KSxhLS0sYTw9MClyZXR1cm4gciYmci5vblJlc3VsdExpbWl0RXhjZWVkZWQmJnIub25SZXN1bHRMaW1pdEV4Y2VlZGVkKG8pLGx9fX1yZXR1cm4gbH1mb3IodmFyIF89W10seD1be25vZGU6cyxyZXN1bHQ6X31dLGI9MCxTPSExLE49ZnVuY3Rpb24oTCxBKXtMLnR5cGU9PT0iYXJyYXkiP0wuaXRlbXMuZm9yRWFjaChmdW5jdGlvbihSLEYpe2lmKFIpaWYoYT4wKXthLS07dmFyIEM9ZXQodCxSKSx5PUMsTT1TdHJpbmcoRiksST17bmFtZTpNLGtpbmQ6aS5nZXRTeW1ib2xLaW5kKFIudHlwZSkscmFuZ2U6QyxzZWxlY3Rpb25SYW5nZTp5LGNoaWxkcmVuOltdfTtBLnB1c2goSSkseC5wdXNoKHtyZXN1bHQ6SS5jaGlsZHJlbixub2RlOlJ9KX1lbHNlIFM9ITB9KTpMLnR5cGU9PT0ib2JqZWN0IiYmTC5wcm9wZXJ0aWVzLmZvckVhY2goZnVuY3Rpb24oUil7dmFyIEY9Ui52YWx1ZU5vZGU7aWYoRilpZihhPjApe2EtLTt2YXIgQz1ldCh0LFIpLHk9ZXQodCxSLmtleU5vZGUpLE09W10sST17bmFtZTppLmdldEtleUxhYmVsKFIpLGtpbmQ6aS5nZXRTeW1ib2xLaW5kKEYudHlwZSkscmFuZ2U6QyxzZWxlY3Rpb25SYW5nZTp5LGNoaWxkcmVuOk0sZGV0YWlsOmkuZ2V0RGV0YWlsKEYpfTtBLnB1c2goSSkseC5wdXNoKHtyZXN1bHQ6TSxub2RlOkZ9KX1lbHNlIFM9ITB9KX07Yjx4Lmxlbmd0aDspe3ZhciB3PXhbYisrXTtOKHcubm9kZSx3LnJlc3VsdCl9cmV0dXJuIFMmJnImJnIub25SZXN1bHRMaW1pdEV4Y2VlZGVkJiZyLm9uUmVzdWx0TGltaXRFeGNlZWRlZChvKSxffSxlLnByb3RvdHlwZS5nZXRTeW1ib2xLaW5kPWZ1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlIm9iamVjdCI6cmV0dXJuIERlLk1vZHVsZTtjYXNlInN0cmluZyI6cmV0dXJuIERlLlN0cmluZztjYXNlIm51bWJlciI6cmV0dXJuIERlLk51bWJlcjtjYXNlImFycmF5IjpyZXR1cm4gRGUuQXJyYXk7Y2FzZSJib29sZWFuIjpyZXR1cm4gRGUuQm9vbGVhbjtkZWZhdWx0OnJldHVybiBEZS5WYXJpYWJsZX19LGUucHJvdG90eXBlLmdldEtleUxhYmVsPWZ1bmN0aW9uKHQpe3ZhciBuPXQua2V5Tm9kZS52YWx1ZTtyZXR1cm4gbiYmKG49bi5yZXBsYWNlKC9bXG5dL2csIuKGtSIpKSxuJiZuLnRyaW0oKT9uOiciJy5jb25jYXQobiwnIicpfSxlLnByb3RvdHlwZS5nZXREZXRhaWw9ZnVuY3Rpb24odCl7aWYodCl7aWYodC50eXBlPT09ImJvb2xlYW4ifHx0LnR5cGU9PT0ibnVtYmVyInx8dC50eXBlPT09Im51bGwifHx0LnR5cGU9PT0ic3RyaW5nIilyZXR1cm4gU3RyaW5nKHQudmFsdWUpO2lmKHQudHlwZT09PSJhcnJheSIpcmV0dXJuIHQuY2hpbGRyZW4ubGVuZ3RoP3ZvaWQgMDoiW10iO2lmKHQudHlwZT09PSJvYmplY3QiKXJldHVybiB0LmNoaWxkcmVuLmxlbmd0aD92b2lkIDA6Int9In19LGUucHJvdG90eXBlLmZpbmREb2N1bWVudENvbG9ycz1mdW5jdGlvbih0LG4scil7cmV0dXJuIHRoaXMuc2NoZW1hU2VydmljZS5nZXRTY2hlbWFGb3JSZXNvdXJjZSh0LnVyaSxuKS50aGVuKGZ1bmN0aW9uKGkpe3ZhciBzPVtdO2lmKGkpZm9yKHZhciBhPXImJnR5cGVvZiByLnJlc3VsdExpbWl0PT0ibnVtYmVyIj9yLnJlc3VsdExpbWl0Ok51bWJlci5NQVhfVkFMVUUsbz1uLmdldE1hdGNoaW5nU2NoZW1hcyhpLnNjaGVtYSksbD17fSx1PTAsZj1vO3U8Zi5sZW5ndGg7dSsrKXt2YXIgaD1mW3VdO2lmKCFoLmludmVydGVkJiZoLnNjaGVtYSYmKGguc2NoZW1hLmZvcm1hdD09PSJjb2xvciJ8fGguc2NoZW1hLmZvcm1hdD09PSJjb2xvci1oZXgiKSYmaC5ub2RlJiZoLm5vZGUudHlwZT09PSJzdHJpbmciKXt2YXIgZD1TdHJpbmcoaC5ub2RlLm9mZnNldCk7aWYoIWxbZF0pe3ZhciBnPVV1KG90KGgubm9kZSkpO2lmKGcpe3ZhciBtPWV0KHQsaC5ub2RlKTtzLnB1c2goe2NvbG9yOmcscmFuZ2U6bX0pfWlmKGxbZF09ITAsYS0tLGE8PTApcmV0dXJuIHImJnIub25SZXN1bHRMaW1pdEV4Y2VlZGVkJiZyLm9uUmVzdWx0TGltaXRFeGNlZWRlZCh0LnVyaSksc319fXJldHVybiBzfSl9LGUucHJvdG90eXBlLmdldENvbG9yUHJlc2VudGF0aW9ucz1mdW5jdGlvbih0LG4scixpKXt2YXIgcz1bXSxhPU1hdGgucm91bmQoci5yZWQqMjU1KSxvPU1hdGgucm91bmQoci5ncmVlbioyNTUpLGw9TWF0aC5yb3VuZChyLmJsdWUqMjU1KTtmdW5jdGlvbiB1KGgpe3ZhciBkPWgudG9TdHJpbmcoMTYpO3JldHVybiBkLmxlbmd0aCE9PTI/IjAiK2Q6ZH12YXIgZjtyZXR1cm4gci5hbHBoYT09PTE/Zj0iIyIuY29uY2F0KHUoYSkpLmNvbmNhdCh1KG8pKS5jb25jYXQodShsKSk6Zj0iIyIuY29uY2F0KHUoYSkpLmNvbmNhdCh1KG8pKS5jb25jYXQodShsKSkuY29uY2F0KHUoTWF0aC5yb3VuZChyLmFscGhhKjI1NSkpKSxzLnB1c2goe2xhYmVsOmYsdGV4dEVkaXQ6VGUucmVwbGFjZShpLEpTT04uc3RyaW5naWZ5KGYpKX0pLHN9LGV9KCk7ZnVuY3Rpb24gZXQoZSx0KXtyZXR1cm4gWC5jcmVhdGUoZS5wb3NpdGlvbkF0KHQub2Zmc2V0KSxlLnBvc2l0aW9uQXQodC5vZmZzZXQrdC5sZW5ndGgpKX12YXIgSD1KdCgpLEVyPXtzY2hlbWFBc3NvY2lhdGlvbnM6W10sc2NoZW1hczp7Imh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvc2NoZW1hIyI6eyRyZWY6Imh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIyJ9LCJodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA0L3NjaGVtYSMiOnskc2NoZW1hOiJodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA0L3NjaGVtYSMiLGRlZmluaXRpb25zOntzY2hlbWFBcnJheTp7dHlwZToiYXJyYXkiLG1pbkl0ZW1zOjEsaXRlbXM6eyRyZWY6IiMifX0scG9zaXRpdmVJbnRlZ2VyOnt0eXBlOiJpbnRlZ2VyIixtaW5pbXVtOjB9LHBvc2l0aXZlSW50ZWdlckRlZmF1bHQwOnthbGxPZjpbeyRyZWY6IiMvZGVmaW5pdGlvbnMvcG9zaXRpdmVJbnRlZ2VyIn0se2RlZmF1bHQ6MH1dfSxzaW1wbGVUeXBlczp7dHlwZToic3RyaW5nIixlbnVtOlsiYXJyYXkiLCJib29sZWFuIiwiaW50ZWdlciIsIm51bGwiLCJudW1iZXIiLCJvYmplY3QiLCJzdHJpbmciXX0sc3RyaW5nQXJyYXk6e3R5cGU6ImFycmF5IixpdGVtczp7dHlwZToic3RyaW5nIn0sbWluSXRlbXM6MSx1bmlxdWVJdGVtczohMH19LHR5cGU6Im9iamVjdCIscHJvcGVydGllczp7aWQ6e3R5cGU6InN0cmluZyIsZm9ybWF0OiJ1cmkifSwkc2NoZW1hOnt0eXBlOiJzdHJpbmciLGZvcm1hdDoidXJpIn0sdGl0bGU6e3R5cGU6InN0cmluZyJ9LGRlc2NyaXB0aW9uOnt0eXBlOiJzdHJpbmcifSxkZWZhdWx0Ont9LG11bHRpcGxlT2Y6e3R5cGU6Im51bWJlciIsbWluaW11bTowLGV4Y2x1c2l2ZU1pbmltdW06ITB9LG1heGltdW06e3R5cGU6Im51bWJlciJ9LGV4Y2x1c2l2ZU1heGltdW06e3R5cGU6ImJvb2xlYW4iLGRlZmF1bHQ6ITF9LG1pbmltdW06e3R5cGU6Im51bWJlciJ9LGV4Y2x1c2l2ZU1pbmltdW06e3R5cGU6ImJvb2xlYW4iLGRlZmF1bHQ6ITF9LG1heExlbmd0aDp7YWxsT2Y6W3skcmVmOiIjL2RlZmluaXRpb25zL3Bvc2l0aXZlSW50ZWdlciJ9XX0sbWluTGVuZ3RoOnthbGxPZjpbeyRyZWY6IiMvZGVmaW5pdGlvbnMvcG9zaXRpdmVJbnRlZ2VyRGVmYXVsdDAifV19LHBhdHRlcm46e3R5cGU6InN0cmluZyIsZm9ybWF0OiJyZWdleCJ9LGFkZGl0aW9uYWxJdGVtczp7YW55T2Y6W3t0eXBlOiJib29sZWFuIn0seyRyZWY6IiMifV0sZGVmYXVsdDp7fX0saXRlbXM6e2FueU9mOlt7JHJlZjoiIyJ9LHskcmVmOiIjL2RlZmluaXRpb25zL3NjaGVtYUFycmF5In1dLGRlZmF1bHQ6e319LG1heEl0ZW1zOnthbGxPZjpbeyRyZWY6IiMvZGVmaW5pdGlvbnMvcG9zaXRpdmVJbnRlZ2VyIn1dfSxtaW5JdGVtczp7YWxsT2Y6W3skcmVmOiIjL2RlZmluaXRpb25zL3Bvc2l0aXZlSW50ZWdlckRlZmF1bHQwIn1dfSx1bmlxdWVJdGVtczp7dHlwZToiYm9vbGVhbiIsZGVmYXVsdDohMX0sbWF4UHJvcGVydGllczp7YWxsT2Y6W3skcmVmOiIjL2RlZmluaXRpb25zL3Bvc2l0aXZlSW50ZWdlciJ9XX0sbWluUHJvcGVydGllczp7YWxsT2Y6W3skcmVmOiIjL2RlZmluaXRpb25zL3Bvc2l0aXZlSW50ZWdlckRlZmF1bHQwIn1dfSxyZXF1aXJlZDp7YWxsT2Y6W3skcmVmOiIjL2RlZmluaXRpb25zL3N0cmluZ0FycmF5In1dfSxhZGRpdGlvbmFsUHJvcGVydGllczp7YW55T2Y6W3t0eXBlOiJib29sZWFuIn0seyRyZWY6IiMifV0sZGVmYXVsdDp7fX0sZGVmaW5pdGlvbnM6e3R5cGU6Im9iamVjdCIsYWRkaXRpb25hbFByb3BlcnRpZXM6eyRyZWY6IiMifSxkZWZhdWx0Ont9fSxwcm9wZXJ0aWVzOnt0eXBlOiJvYmplY3QiLGFkZGl0aW9uYWxQcm9wZXJ0aWVzOnskcmVmOiIjIn0sZGVmYXVsdDp7fX0scGF0dGVyblByb3BlcnRpZXM6e3R5cGU6Im9iamVjdCIsYWRkaXRpb25hbFByb3BlcnRpZXM6eyRyZWY6IiMifSxkZWZhdWx0Ont9fSxkZXBlbmRlbmNpZXM6e3R5cGU6Im9iamVjdCIsYWRkaXRpb25hbFByb3BlcnRpZXM6e2FueU9mOlt7JHJlZjoiIyJ9LHskcmVmOiIjL2RlZmluaXRpb25zL3N0cmluZ0FycmF5In1dfX0sZW51bTp7dHlwZToiYXJyYXkiLG1pbkl0ZW1zOjEsdW5pcXVlSXRlbXM6ITB9LHR5cGU6e2FueU9mOlt7JHJlZjoiIy9kZWZpbml0aW9ucy9zaW1wbGVUeXBlcyJ9LHt0eXBlOiJhcnJheSIsaXRlbXM6eyRyZWY6IiMvZGVmaW5pdGlvbnMvc2ltcGxlVHlwZXMifSxtaW5JdGVtczoxLHVuaXF1ZUl0ZW1zOiEwfV19LGZvcm1hdDp7YW55T2Y6W3t0eXBlOiJzdHJpbmciLGVudW06WyJkYXRlLXRpbWUiLCJ1cmkiLCJlbWFpbCIsImhvc3RuYW1lIiwiaXB2NCIsImlwdjYiLCJyZWdleCJdfSx7dHlwZToic3RyaW5nIn1dfSxhbGxPZjp7YWxsT2Y6W3skcmVmOiIjL2RlZmluaXRpb25zL3NjaGVtYUFycmF5In1dfSxhbnlPZjp7YWxsT2Y6W3skcmVmOiIjL2RlZmluaXRpb25zL3NjaGVtYUFycmF5In1dfSxvbmVPZjp7YWxsT2Y6W3skcmVmOiIjL2RlZmluaXRpb25zL3NjaGVtYUFycmF5In1dfSxub3Q6e2FsbE9mOlt7JHJlZjoiIyJ9XX19LGRlcGVuZGVuY2llczp7ZXhjbHVzaXZlTWF4aW11bTpbIm1heGltdW0iXSxleGNsdXNpdmVNaW5pbXVtOlsibWluaW11bSJdfSxkZWZhdWx0Ont9fSwiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjIjp7ZGVmaW5pdGlvbnM6e3NjaGVtYUFycmF5Ont0eXBlOiJhcnJheSIsbWluSXRlbXM6MSxpdGVtczp7JHJlZjoiIyJ9fSxub25OZWdhdGl2ZUludGVnZXI6e3R5cGU6ImludGVnZXIiLG1pbmltdW06MH0sbm9uTmVnYXRpdmVJbnRlZ2VyRGVmYXVsdDA6e2FsbE9mOlt7JHJlZjoiIy9kZWZpbml0aW9ucy9ub25OZWdhdGl2ZUludGVnZXIifSx7ZGVmYXVsdDowfV19LHNpbXBsZVR5cGVzOntlbnVtOlsiYXJyYXkiLCJib29sZWFuIiwiaW50ZWdlciIsIm51bGwiLCJudW1iZXIiLCJvYmplY3QiLCJzdHJpbmciXX0sc3RyaW5nQXJyYXk6e3R5cGU6ImFycmF5IixpdGVtczp7dHlwZToic3RyaW5nIn0sdW5pcXVlSXRlbXM6ITAsZGVmYXVsdDpbXX19LHR5cGU6WyJvYmplY3QiLCJib29sZWFuIl0scHJvcGVydGllczp7JGlkOnt0eXBlOiJzdHJpbmciLGZvcm1hdDoidXJpLXJlZmVyZW5jZSJ9LCRzY2hlbWE6e3R5cGU6InN0cmluZyIsZm9ybWF0OiJ1cmkifSwkcmVmOnt0eXBlOiJzdHJpbmciLGZvcm1hdDoidXJpLXJlZmVyZW5jZSJ9LCRjb21tZW50Ont0eXBlOiJzdHJpbmcifSx0aXRsZTp7dHlwZToic3RyaW5nIn0sZGVzY3JpcHRpb246e3R5cGU6InN0cmluZyJ9LGRlZmF1bHQ6ITAscmVhZE9ubHk6e3R5cGU6ImJvb2xlYW4iLGRlZmF1bHQ6ITF9LGV4YW1wbGVzOnt0eXBlOiJhcnJheSIsaXRlbXM6ITB9LG11bHRpcGxlT2Y6e3R5cGU6Im51bWJlciIsZXhjbHVzaXZlTWluaW11bTowfSxtYXhpbXVtOnt0eXBlOiJudW1iZXIifSxleGNsdXNpdmVNYXhpbXVtOnt0eXBlOiJudW1iZXIifSxtaW5pbXVtOnt0eXBlOiJudW1iZXIifSxleGNsdXNpdmVNaW5pbXVtOnt0eXBlOiJudW1iZXIifSxtYXhMZW5ndGg6eyRyZWY6IiMvZGVmaW5pdGlvbnMvbm9uTmVnYXRpdmVJbnRlZ2VyIn0sbWluTGVuZ3RoOnskcmVmOiIjL2RlZmluaXRpb25zL25vbk5lZ2F0aXZlSW50ZWdlckRlZmF1bHQwIn0scGF0dGVybjp7dHlwZToic3RyaW5nIixmb3JtYXQ6InJlZ2V4In0sYWRkaXRpb25hbEl0ZW1zOnskcmVmOiIjIn0saXRlbXM6e2FueU9mOlt7JHJlZjoiIyJ9LHskcmVmOiIjL2RlZmluaXRpb25zL3NjaGVtYUFycmF5In1dLGRlZmF1bHQ6ITB9LG1heEl0ZW1zOnskcmVmOiIjL2RlZmluaXRpb25zL25vbk5lZ2F0aXZlSW50ZWdlciJ9LG1pbkl0ZW1zOnskcmVmOiIjL2RlZmluaXRpb25zL25vbk5lZ2F0aXZlSW50ZWdlckRlZmF1bHQwIn0sdW5pcXVlSXRlbXM6e3R5cGU6ImJvb2xlYW4iLGRlZmF1bHQ6ITF9LGNvbnRhaW5zOnskcmVmOiIjIn0sbWF4UHJvcGVydGllczp7JHJlZjoiIy9kZWZpbml0aW9ucy9ub25OZWdhdGl2ZUludGVnZXIifSxtaW5Qcm9wZXJ0aWVzOnskcmVmOiIjL2RlZmluaXRpb25zL25vbk5lZ2F0aXZlSW50ZWdlckRlZmF1bHQwIn0scmVxdWlyZWQ6eyRyZWY6IiMvZGVmaW5pdGlvbnMvc3RyaW5nQXJyYXkifSxhZGRpdGlvbmFsUHJvcGVydGllczp7JHJlZjoiIyJ9LGRlZmluaXRpb25zOnt0eXBlOiJvYmplY3QiLGFkZGl0aW9uYWxQcm9wZXJ0aWVzOnskcmVmOiIjIn0sZGVmYXVsdDp7fX0scHJvcGVydGllczp7dHlwZToib2JqZWN0IixhZGRpdGlvbmFsUHJvcGVydGllczp7JHJlZjoiIyJ9LGRlZmF1bHQ6e319LHBhdHRlcm5Qcm9wZXJ0aWVzOnt0eXBlOiJvYmplY3QiLGFkZGl0aW9uYWxQcm9wZXJ0aWVzOnskcmVmOiIjIn0scHJvcGVydHlOYW1lczp7Zm9ybWF0OiJyZWdleCJ9LGRlZmF1bHQ6e319LGRlcGVuZGVuY2llczp7dHlwZToib2JqZWN0IixhZGRpdGlvbmFsUHJvcGVydGllczp7YW55T2Y6W3skcmVmOiIjIn0seyRyZWY6IiMvZGVmaW5pdGlvbnMvc3RyaW5nQXJyYXkifV19fSxwcm9wZXJ0eU5hbWVzOnskcmVmOiIjIn0sY29uc3Q6ITAsZW51bTp7dHlwZToiYXJyYXkiLGl0ZW1zOiEwLG1pbkl0ZW1zOjEsdW5pcXVlSXRlbXM6ITB9LHR5cGU6e2FueU9mOlt7JHJlZjoiIy9kZWZpbml0aW9ucy9zaW1wbGVUeXBlcyJ9LHt0eXBlOiJhcnJheSIsaXRlbXM6eyRyZWY6IiMvZGVmaW5pdGlvbnMvc2ltcGxlVHlwZXMifSxtaW5JdGVtczoxLHVuaXF1ZUl0ZW1zOiEwfV19LGZvcm1hdDp7dHlwZToic3RyaW5nIn0sY29udGVudE1lZGlhVHlwZTp7dHlwZToic3RyaW5nIn0sY29udGVudEVuY29kaW5nOnt0eXBlOiJzdHJpbmcifSxpZjp7JHJlZjoiIyJ9LHRoZW46eyRyZWY6IiMifSxlbHNlOnskcmVmOiIjIn0sYWxsT2Y6eyRyZWY6IiMvZGVmaW5pdGlvbnMvc2NoZW1hQXJyYXkifSxhbnlPZjp7JHJlZjoiIy9kZWZpbml0aW9ucy9zY2hlbWFBcnJheSJ9LG9uZU9mOnskcmVmOiIjL2RlZmluaXRpb25zL3NjaGVtYUFycmF5In0sbm90OnskcmVmOiIjIn19LGRlZmF1bHQ6ITB9fX0sanU9e2lkOkgoInNjaGVtYS5qc29uLmlkIiwiQSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHNjaGVtYS4iKSwkc2NoZW1hOkgoInNjaGVtYS5qc29uLiRzY2hlbWEiLCJUaGUgc2NoZW1hIHRvIHZlcmlmeSB0aGlzIGRvY3VtZW50IGFnYWluc3QuIiksdGl0bGU6SCgic2NoZW1hLmpzb24udGl0bGUiLCJBIGRlc2NyaXB0aXZlIHRpdGxlIG9mIHRoZSBlbGVtZW50LiIpLGRlc2NyaXB0aW9uOkgoInNjaGVtYS5qc29uLmRlc2NyaXB0aW9uIiwiQSBsb25nIGRlc2NyaXB0aW9uIG9mIHRoZSBlbGVtZW50LiBVc2VkIGluIGhvdmVyIG1lbnVzIGFuZCBzdWdnZXN0aW9ucy4iKSxkZWZhdWx0OkgoInNjaGVtYS5qc29uLmRlZmF1bHQiLCJBIGRlZmF1bHQgdmFsdWUuIFVzZWQgYnkgc3VnZ2VzdGlvbnMuIiksbXVsdGlwbGVPZjpIKCJzY2hlbWEuanNvbi5tdWx0aXBsZU9mIiwiQSBudW1iZXIgdGhhdCBzaG91bGQgY2xlYW5seSBkaXZpZGUgdGhlIGN1cnJlbnQgdmFsdWUgKGkuZS4gaGF2ZSBubyByZW1haW5kZXIpLiIpLG1heGltdW06SCgic2NoZW1hLmpzb24ubWF4aW11bSIsIlRoZSBtYXhpbXVtIG51bWVyaWNhbCB2YWx1ZSwgaW5jbHVzaXZlIGJ5IGRlZmF1bHQuIiksZXhjbHVzaXZlTWF4aW11bTpIKCJzY2hlbWEuanNvbi5leGNsdXNpdmVNYXhpbXVtIiwiTWFrZXMgdGhlIG1heGltdW0gcHJvcGVydHkgZXhjbHVzaXZlLiIpLG1pbmltdW06SCgic2NoZW1hLmpzb24ubWluaW11bSIsIlRoZSBtaW5pbXVtIG51bWVyaWNhbCB2YWx1ZSwgaW5jbHVzaXZlIGJ5IGRlZmF1bHQuIiksZXhjbHVzaXZlTWluaW11bTpIKCJzY2hlbWEuanNvbi5leGNsdXNpdmVNaW5pbnVtIiwiTWFrZXMgdGhlIG1pbmltdW0gcHJvcGVydHkgZXhjbHVzaXZlLiIpLG1heExlbmd0aDpIKCJzY2hlbWEuanNvbi5tYXhMZW5ndGgiLCJUaGUgbWF4aW11bSBsZW5ndGggb2YgYSBzdHJpbmcuIiksbWluTGVuZ3RoOkgoInNjaGVtYS5qc29uLm1pbkxlbmd0aCIsIlRoZSBtaW5pbXVtIGxlbmd0aCBvZiBhIHN0cmluZy4iKSxwYXR0ZXJuOkgoInNjaGVtYS5qc29uLnBhdHRlcm4iLCJBIHJlZ3VsYXIgZXhwcmVzc2lvbiB0byBtYXRjaCB0aGUgc3RyaW5nIGFnYWluc3QuIEl0IGlzIG5vdCBpbXBsaWNpdGx5IGFuY2hvcmVkLiIpLGFkZGl0aW9uYWxJdGVtczpIKCJzY2hlbWEuanNvbi5hZGRpdGlvbmFsSXRlbXMiLCJGb3IgYXJyYXlzLCBvbmx5IHdoZW4gaXRlbXMgaXMgc2V0IGFzIGFuIGFycmF5LiBJZiBpdCBpcyBhIHNjaGVtYSwgdGhlbiB0aGlzIHNjaGVtYSB2YWxpZGF0ZXMgaXRlbXMgYWZ0ZXIgdGhlIG9uZXMgc3BlY2lmaWVkIGJ5IHRoZSBpdGVtcyBhcnJheS4gSWYgaXQgaXMgZmFsc2UsIHRoZW4gYWRkaXRpb25hbCBpdGVtcyB3aWxsIGNhdXNlIHZhbGlkYXRpb24gdG8gZmFpbC4iKSxpdGVtczpIKCJzY2hlbWEuanNvbi5pdGVtcyIsIkZvciBhcnJheXMuIENhbiBlaXRoZXIgYmUgYSBzY2hlbWEgdG8gdmFsaWRhdGUgZXZlcnkgZWxlbWVudCBhZ2FpbnN0IG9yIGFuIGFycmF5IG9mIHNjaGVtYXMgdG8gdmFsaWRhdGUgZWFjaCBpdGVtIGFnYWluc3QgaW4gb3JkZXIgKHRoZSBmaXJzdCBzY2hlbWEgd2lsbCB2YWxpZGF0ZSB0aGUgZmlyc3QgZWxlbWVudCwgdGhlIHNlY29uZCBzY2hlbWEgd2lsbCB2YWxpZGF0ZSB0aGUgc2Vjb25kIGVsZW1lbnQsIGFuZCBzbyBvbi4iKSxtYXhJdGVtczpIKCJzY2hlbWEuanNvbi5tYXhJdGVtcyIsIlRoZSBtYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0aGF0IGNhbiBiZSBpbnNpZGUgYW4gYXJyYXkuIEluY2x1c2l2ZS4iKSxtaW5JdGVtczpIKCJzY2hlbWEuanNvbi5taW5JdGVtcyIsIlRoZSBtaW5pbXVtIG51bWJlciBvZiBpdGVtcyB0aGF0IGNhbiBiZSBpbnNpZGUgYW4gYXJyYXkuIEluY2x1c2l2ZS4iKSx1bmlxdWVJdGVtczpIKCJzY2hlbWEuanNvbi51bmlxdWVJdGVtcyIsIklmIGFsbCBvZiB0aGUgaXRlbXMgaW4gdGhlIGFycmF5IG11c3QgYmUgdW5pcXVlLiBEZWZhdWx0cyB0byBmYWxzZS4iKSxtYXhQcm9wZXJ0aWVzOkgoInNjaGVtYS5qc29uLm1heFByb3BlcnRpZXMiLCJUaGUgbWF4aW11bSBudW1iZXIgb2YgcHJvcGVydGllcyBhbiBvYmplY3QgY2FuIGhhdmUuIEluY2x1c2l2ZS4iKSxtaW5Qcm9wZXJ0aWVzOkgoInNjaGVtYS5qc29uLm1pblByb3BlcnRpZXMiLCJUaGUgbWluaW11bSBudW1iZXIgb2YgcHJvcGVydGllcyBhbiBvYmplY3QgY2FuIGhhdmUuIEluY2x1c2l2ZS4iKSxyZXF1aXJlZDpIKCJzY2hlbWEuanNvbi5yZXF1aXJlZCIsIkFuIGFycmF5IG9mIHN0cmluZ3MgdGhhdCBsaXN0cyB0aGUgbmFtZXMgb2YgYWxsIHByb3BlcnRpZXMgcmVxdWlyZWQgb24gdGhpcyBvYmplY3QuIiksYWRkaXRpb25hbFByb3BlcnRpZXM6SCgic2NoZW1hLmpzb24uYWRkaXRpb25hbFByb3BlcnRpZXMiLCJFaXRoZXIgYSBzY2hlbWEgb3IgYSBib29sZWFuLiBJZiBhIHNjaGVtYSwgdGhlbiB1c2VkIHRvIHZhbGlkYXRlIGFsbCBwcm9wZXJ0aWVzIG5vdCBtYXRjaGVkIGJ5ICdwcm9wZXJ0aWVzJyBvciAncGF0dGVyblByb3BlcnRpZXMnLiBJZiBmYWxzZSwgdGhlbiBhbnkgcHJvcGVydGllcyBub3QgbWF0Y2hlZCBieSBlaXRoZXIgd2lsbCBjYXVzZSB0aGlzIHNjaGVtYSB0byBmYWlsLiIpLGRlZmluaXRpb25zOkgoInNjaGVtYS5qc29uLmRlZmluaXRpb25zIiwiTm90IHVzZWQgZm9yIHZhbGlkYXRpb24uIFBsYWNlIHN1YnNjaGVtYXMgaGVyZSB0aGF0IHlvdSB3aXNoIHRvIHJlZmVyZW5jZSBpbmxpbmUgd2l0aCAkcmVmLiIpLHByb3BlcnRpZXM6SCgic2NoZW1hLmpzb24ucHJvcGVydGllcyIsIkEgbWFwIG9mIHByb3BlcnR5IG5hbWVzIHRvIHNjaGVtYXMgZm9yIGVhY2ggcHJvcGVydHkuIikscGF0dGVyblByb3BlcnRpZXM6SCgic2NoZW1hLmpzb24ucGF0dGVyblByb3BlcnRpZXMiLCJBIG1hcCBvZiByZWd1bGFyIGV4cHJlc3Npb25zIG9uIHByb3BlcnR5IG5hbWVzIHRvIHNjaGVtYXMgZm9yIG1hdGNoaW5nIHByb3BlcnRpZXMuIiksZGVwZW5kZW5jaWVzOkgoInNjaGVtYS5qc29uLmRlcGVuZGVuY2llcyIsIkEgbWFwIG9mIHByb3BlcnR5IG5hbWVzIHRvIGVpdGhlciBhbiBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcyBvciBhIHNjaGVtYS4gQW4gYXJyYXkgb2YgcHJvcGVydHkgbmFtZXMgbWVhbnMgdGhlIHByb3BlcnR5IG5hbWVkIGluIHRoZSBrZXkgZGVwZW5kcyBvbiB0aGUgcHJvcGVydGllcyBpbiB0aGUgYXJyYXkgYmVpbmcgcHJlc2VudCBpbiB0aGUgb2JqZWN0IGluIG9yZGVyIHRvIGJlIHZhbGlkLiBJZiB0aGUgdmFsdWUgaXMgYSBzY2hlbWEsIHRoZW4gdGhlIHNjaGVtYSBpcyBvbmx5IGFwcGxpZWQgdG8gdGhlIG9iamVjdCBpZiB0aGUgcHJvcGVydHkgaW4gdGhlIGtleSBleGlzdHMgb24gdGhlIG9iamVjdC4iKSxlbnVtOkgoInNjaGVtYS5qc29uLmVudW0iLCJUaGUgc2V0IG9mIGxpdGVyYWwgdmFsdWVzIHRoYXQgYXJlIHZhbGlkLiIpLHR5cGU6SCgic2NoZW1hLmpzb24udHlwZSIsIkVpdGhlciBhIHN0cmluZyBvZiBvbmUgb2YgdGhlIGJhc2ljIHNjaGVtYSB0eXBlcyAobnVtYmVyLCBpbnRlZ2VyLCBudWxsLCBhcnJheSwgb2JqZWN0LCBib29sZWFuLCBzdHJpbmcpIG9yIGFuIGFycmF5IG9mIHN0cmluZ3Mgc3BlY2lmeWluZyBhIHN1YnNldCBvZiB0aG9zZSB0eXBlcy4iKSxmb3JtYXQ6SCgic2NoZW1hLmpzb24uZm9ybWF0IiwiRGVzY3JpYmVzIHRoZSBmb3JtYXQgZXhwZWN0ZWQgZm9yIHRoZSB2YWx1ZS4iKSxhbGxPZjpIKCJzY2hlbWEuanNvbi5hbGxPZiIsIkFuIGFycmF5IG9mIHNjaGVtYXMsIGFsbCBvZiB3aGljaCBtdXN0IG1hdGNoLiIpLGFueU9mOkgoInNjaGVtYS5qc29uLmFueU9mIiwiQW4gYXJyYXkgb2Ygc2NoZW1hcywgd2hlcmUgYXQgbGVhc3Qgb25lIG11c3QgbWF0Y2guIiksb25lT2Y6SCgic2NoZW1hLmpzb24ub25lT2YiLCJBbiBhcnJheSBvZiBzY2hlbWFzLCBleGFjdGx5IG9uZSBvZiB3aGljaCBtdXN0IG1hdGNoLiIpLG5vdDpIKCJzY2hlbWEuanNvbi5ub3QiLCJBIHNjaGVtYSB3aGljaCBtdXN0IG5vdCBtYXRjaC4iKSwkaWQ6SCgic2NoZW1hLmpzb24uJGlkIiwiQSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHNjaGVtYS4iKSwkcmVmOkgoInNjaGVtYS5qc29uLiRyZWYiLCJSZWZlcmVuY2UgYSBkZWZpbml0aW9uIGhvc3RlZCBvbiBhbnkgbG9jYXRpb24uIiksJGNvbW1lbnQ6SCgic2NoZW1hLmpzb24uJGNvbW1lbnQiLCJDb21tZW50cyBmcm9tIHNjaGVtYSBhdXRob3JzIHRvIHJlYWRlcnMgb3IgbWFpbnRhaW5lcnMgb2YgdGhlIHNjaGVtYS4iKSxyZWFkT25seTpIKCJzY2hlbWEuanNvbi5yZWFkT25seSIsIkluZGljYXRlcyB0aGF0IHRoZSB2YWx1ZSBvZiB0aGUgaW5zdGFuY2UgaXMgbWFuYWdlZCBleGNsdXNpdmVseSBieSB0aGUgb3duaW5nIGF1dGhvcml0eS4iKSxleGFtcGxlczpIKCJzY2hlbWEuanNvbi5leGFtcGxlcyIsIlNhbXBsZSBKU09OIHZhbHVlcyBhc3NvY2lhdGVkIHdpdGggYSBwYXJ0aWN1bGFyIHNjaGVtYSwgZm9yIHRoZSBwdXJwb3NlIG9mIGlsbHVzdHJhdGluZyB1c2FnZS4iKSxjb250YWluczpIKCJzY2hlbWEuanNvbi5jb250YWlucyIsJ0FuIGFycmF5IGluc3RhbmNlIGlzIHZhbGlkIGFnYWluc3QgImNvbnRhaW5zIiBpZiBhdCBsZWFzdCBvbmUgb2YgaXRzIGVsZW1lbnRzIGlzIHZhbGlkIGFnYWluc3QgdGhlIGdpdmVuIHNjaGVtYS4nKSxwcm9wZXJ0eU5hbWVzOkgoInNjaGVtYS5qc29uLnByb3BlcnR5TmFtZXMiLCJJZiB0aGUgaW5zdGFuY2UgaXMgYW4gb2JqZWN0LCB0aGlzIGtleXdvcmQgdmFsaWRhdGVzIGlmIGV2ZXJ5IHByb3BlcnR5IG5hbWUgaW4gdGhlIGluc3RhbmNlIHZhbGlkYXRlcyBhZ2FpbnN0IHRoZSBwcm92aWRlZCBzY2hlbWEuIiksY29uc3Q6SCgic2NoZW1hLmpzb24uY29uc3QiLCJBbiBpbnN0YW5jZSB2YWxpZGF0ZXMgc3VjY2Vzc2Z1bGx5IGFnYWluc3QgdGhpcyBrZXl3b3JkIGlmIGl0cyB2YWx1ZSBpcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgdGhlIGtleXdvcmQuIiksY29udGVudE1lZGlhVHlwZTpIKCJzY2hlbWEuanNvbi5jb250ZW50TWVkaWFUeXBlIiwiRGVzY3JpYmVzIHRoZSBtZWRpYSB0eXBlIG9mIGEgc3RyaW5nIHByb3BlcnR5LiIpLGNvbnRlbnRFbmNvZGluZzpIKCJzY2hlbWEuanNvbi5jb250ZW50RW5jb2RpbmciLCJEZXNjcmliZXMgdGhlIGNvbnRlbnQgZW5jb2Rpbmcgb2YgYSBzdHJpbmcgcHJvcGVydHkuIiksaWY6SCgic2NoZW1hLmpzb24uaWYiLCdUaGUgdmFsaWRhdGlvbiBvdXRjb21lIG9mIHRoZSAiaWYiIHN1YnNjaGVtYSBjb250cm9scyB3aGljaCBvZiB0aGUgInRoZW4iIG9yICJlbHNlIiBrZXl3b3JkcyBhcmUgZXZhbHVhdGVkLicpLHRoZW46SCgic2NoZW1hLmpzb24udGhlbiIsJ1RoZSAiaWYiIHN1YnNjaGVtYSBpcyB1c2VkIGZvciB2YWxpZGF0aW9uIHdoZW4gdGhlICJpZiIgc3Vic2NoZW1hIHN1Y2NlZWRzLicpLGVsc2U6SCgic2NoZW1hLmpzb24uZWxzZSIsJ1RoZSAiZWxzZSIgc3Vic2NoZW1hIGlzIHVzZWQgZm9yIHZhbGlkYXRpb24gd2hlbiB0aGUgImlmIiBzdWJzY2hlbWEgZmFpbHMuJyl9O2ZvcihOYSBpbiBFci5zY2hlbWFzKXtObj1Fci5zY2hlbWFzW05hXTtmb3IoTG4gaW4gTm4ucHJvcGVydGllcylTbj1Obi5wcm9wZXJ0aWVzW0xuXSx0eXBlb2YgU249PSJib29sZWFuIiYmKFNuPU5uLnByb3BlcnRpZXNbTG5dPXt9KSxrcj1qdVtMbl0sa3ImJihTbi5kZXNjcmlwdGlvbj1rcil9dmFyIE5uLFNuLGtyLExuLE5hLFNhO1NhPSgoKT0+e3ZhciBlPXs0NzA6cj0+e2Z1bmN0aW9uIGkobyl7aWYodHlwZW9mIG8hPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoIlBhdGggbXVzdCBiZSBhIHN0cmluZy4gUmVjZWl2ZWQgIitKU09OLnN0cmluZ2lmeShvKSl9ZnVuY3Rpb24gcyhvLGwpe2Zvcih2YXIgdSxmPSIiLGg9MCxkPS0xLGc9MCxtPTA7bTw9by5sZW5ndGg7KyttKXtpZihtPG8ubGVuZ3RoKXU9by5jaGFyQ29kZUF0KG0pO2Vsc2V7aWYodT09PTQ3KWJyZWFrO3U9NDd9aWYodT09PTQ3KXtpZighKGQ9PT1tLTF8fGc9PT0xKSlpZihkIT09bS0xJiZnPT09Mil7aWYoZi5sZW5ndGg8Mnx8aCE9PTJ8fGYuY2hhckNvZGVBdChmLmxlbmd0aC0xKSE9PTQ2fHxmLmNoYXJDb2RlQXQoZi5sZW5ndGgtMikhPT00Nil7aWYoZi5sZW5ndGg+Mil7dmFyIHY9Zi5sYXN0SW5kZXhPZigiLyIpO2lmKHYhPT1mLmxlbmd0aC0xKXt2PT09LTE/KGY9IiIsaD0wKTpoPShmPWYuc2xpY2UoMCx2KSkubGVuZ3RoLTEtZi5sYXN0SW5kZXhPZigiLyIpLGQ9bSxnPTA7Y29udGludWV9fWVsc2UgaWYoZi5sZW5ndGg9PT0yfHxmLmxlbmd0aD09PTEpe2Y9IiIsaD0wLGQ9bSxnPTA7Y29udGludWV9fWwmJihmLmxlbmd0aD4wP2YrPSIvLi4iOmY9Ii4uIixoPTIpfWVsc2UgZi5sZW5ndGg+MD9mKz0iLyIrby5zbGljZShkKzEsbSk6Zj1vLnNsaWNlKGQrMSxtKSxoPW0tZC0xO2Q9bSxnPTB9ZWxzZSB1PT09NDYmJmchPT0tMT8rK2c6Zz0tMX1yZXR1cm4gZn12YXIgYT17cmVzb2x2ZTpmdW5jdGlvbigpe2Zvcih2YXIgbyxsPSIiLHU9ITEsZj1hcmd1bWVudHMubGVuZ3RoLTE7Zj49LTEmJiF1O2YtLSl7dmFyIGg7Zj49MD9oPWFyZ3VtZW50c1tmXToobz09PXZvaWQgMCYmKG89cHJvY2Vzcy5jd2QoKSksaD1vKSxpKGgpLGgubGVuZ3RoIT09MCYmKGw9aCsiLyIrbCx1PWguY2hhckNvZGVBdCgwKT09PTQ3KX1yZXR1cm4gbD1zKGwsIXUpLHU/bC5sZW5ndGg+MD8iLyIrbDoiLyI6bC5sZW5ndGg+MD9sOiIuIn0sbm9ybWFsaXplOmZ1bmN0aW9uKG8pe2lmKGkobyksby5sZW5ndGg9PT0wKXJldHVybiIuIjt2YXIgbD1vLmNoYXJDb2RlQXQoMCk9PT00Nyx1PW8uY2hhckNvZGVBdChvLmxlbmd0aC0xKT09PTQ3O3JldHVybihvPXMobywhbCkpLmxlbmd0aCE9PTB8fGx8fChvPSIuIiksby5sZW5ndGg+MCYmdSYmKG8rPSIvIiksbD8iLyIrbzpvfSxpc0Fic29sdXRlOmZ1bmN0aW9uKG8pe3JldHVybiBpKG8pLG8ubGVuZ3RoPjAmJm8uY2hhckNvZGVBdCgwKT09PTQ3fSxqb2luOmZ1bmN0aW9uKCl7aWYoYXJndW1lbnRzLmxlbmd0aD09PTApcmV0dXJuIi4iO2Zvcih2YXIgbyxsPTA7bDxhcmd1bWVudHMubGVuZ3RoOysrbCl7dmFyIHU9YXJndW1lbnRzW2xdO2kodSksdS5sZW5ndGg+MCYmKG89PT12b2lkIDA/bz11Om8rPSIvIit1KX1yZXR1cm4gbz09PXZvaWQgMD8iLiI6YS5ub3JtYWxpemUobyl9LHJlbGF0aXZlOmZ1bmN0aW9uKG8sbCl7aWYoaShvKSxpKGwpLG89PT1sfHwobz1hLnJlc29sdmUobykpPT09KGw9YS5yZXNvbHZlKGwpKSlyZXR1cm4iIjtmb3IodmFyIHU9MTt1PG8ubGVuZ3RoJiZvLmNoYXJDb2RlQXQodSk9PT00NzsrK3UpO2Zvcih2YXIgZj1vLmxlbmd0aCxoPWYtdSxkPTE7ZDxsLmxlbmd0aCYmbC5jaGFyQ29kZUF0KGQpPT09NDc7KytkKTtmb3IodmFyIGc9bC5sZW5ndGgtZCxtPWg8Zz9oOmcsdj0tMSxwPTA7cDw9bTsrK3Ape2lmKHA9PT1tKXtpZihnPm0pe2lmKGwuY2hhckNvZGVBdChkK3ApPT09NDcpcmV0dXJuIGwuc2xpY2UoZCtwKzEpO2lmKHA9PT0wKXJldHVybiBsLnNsaWNlKGQrcCl9ZWxzZSBoPm0mJihvLmNoYXJDb2RlQXQodStwKT09PTQ3P3Y9cDpwPT09MCYmKHY9MCkpO2JyZWFrfXZhciBfPW8uY2hhckNvZGVBdCh1K3ApO2lmKF8hPT1sLmNoYXJDb2RlQXQoZCtwKSlicmVhaztfPT09NDcmJih2PXApfXZhciB4PSIiO2ZvcihwPXUrdisxO3A8PWY7KytwKXAhPT1mJiZvLmNoYXJDb2RlQXQocCkhPT00N3x8KHgubGVuZ3RoPT09MD94Kz0iLi4iOngrPSIvLi4iKTtyZXR1cm4geC5sZW5ndGg+MD94K2wuc2xpY2UoZCt2KTooZCs9dixsLmNoYXJDb2RlQXQoZCk9PT00NyYmKytkLGwuc2xpY2UoZCkpfSxfbWFrZUxvbmc6ZnVuY3Rpb24obyl7cmV0dXJuIG99LGRpcm5hbWU6ZnVuY3Rpb24obyl7aWYoaShvKSxvLmxlbmd0aD09PTApcmV0dXJuIi4iO2Zvcih2YXIgbD1vLmNoYXJDb2RlQXQoMCksdT1sPT09NDcsZj0tMSxoPSEwLGQ9by5sZW5ndGgtMTtkPj0xOy0tZClpZigobD1vLmNoYXJDb2RlQXQoZCkpPT09NDcpe2lmKCFoKXtmPWQ7YnJlYWt9fWVsc2UgaD0hMTtyZXR1cm4gZj09PS0xP3U/Ii8iOiIuIjp1JiZmPT09MT8iLy8iOm8uc2xpY2UoMCxmKX0sYmFzZW5hbWU6ZnVuY3Rpb24obyxsKXtpZihsIT09dm9pZCAwJiZ0eXBlb2YgbCE9InN0cmluZyIpdGhyb3cgbmV3IFR5cGVFcnJvcignImV4dCIgYXJndW1lbnQgbXVzdCBiZSBhIHN0cmluZycpO2kobyk7dmFyIHUsZj0wLGg9LTEsZD0hMDtpZihsIT09dm9pZCAwJiZsLmxlbmd0aD4wJiZsLmxlbmd0aDw9by5sZW5ndGgpe2lmKGwubGVuZ3RoPT09by5sZW5ndGgmJmw9PT1vKXJldHVybiIiO3ZhciBnPWwubGVuZ3RoLTEsbT0tMTtmb3IodT1vLmxlbmd0aC0xO3U+PTA7LS11KXt2YXIgdj1vLmNoYXJDb2RlQXQodSk7aWYodj09PTQ3KXtpZighZCl7Zj11KzE7YnJlYWt9fWVsc2UgbT09PS0xJiYoZD0hMSxtPXUrMSksZz49MCYmKHY9PT1sLmNoYXJDb2RlQXQoZyk/LS1nPT0tMSYmKGg9dSk6KGc9LTEsaD1tKSl9cmV0dXJuIGY9PT1oP2g9bTpoPT09LTEmJihoPW8ubGVuZ3RoKSxvLnNsaWNlKGYsaCl9Zm9yKHU9by5sZW5ndGgtMTt1Pj0wOy0tdSlpZihvLmNoYXJDb2RlQXQodSk9PT00Nyl7aWYoIWQpe2Y9dSsxO2JyZWFrfX1lbHNlIGg9PT0tMSYmKGQ9ITEsaD11KzEpO3JldHVybiBoPT09LTE/IiI6by5zbGljZShmLGgpfSxleHRuYW1lOmZ1bmN0aW9uKG8pe2kobyk7Zm9yKHZhciBsPS0xLHU9MCxmPS0xLGg9ITAsZD0wLGc9by5sZW5ndGgtMTtnPj0wOy0tZyl7dmFyIG09by5jaGFyQ29kZUF0KGcpO2lmKG0hPT00NylmPT09LTEmJihoPSExLGY9ZysxKSxtPT09NDY/bD09PS0xP2w9ZzpkIT09MSYmKGQ9MSk6bCE9PS0xJiYoZD0tMSk7ZWxzZSBpZighaCl7dT1nKzE7YnJlYWt9fXJldHVybiBsPT09LTF8fGY9PT0tMXx8ZD09PTB8fGQ9PT0xJiZsPT09Zi0xJiZsPT09dSsxPyIiOm8uc2xpY2UobCxmKX0sZm9ybWF0OmZ1bmN0aW9uKG8pe2lmKG89PT1udWxsfHx0eXBlb2YgbyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlICJwYXRoT2JqZWN0IiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgT2JqZWN0LiBSZWNlaXZlZCB0eXBlICcrdHlwZW9mIG8pO3JldHVybiBmdW5jdGlvbihsLHUpe3ZhciBmPXUuZGlyfHx1LnJvb3QsaD11LmJhc2V8fCh1Lm5hbWV8fCIiKSsodS5leHR8fCIiKTtyZXR1cm4gZj9mPT09dS5yb290P2YraDpmKyIvIitoOmh9KDAsbyl9LHBhcnNlOmZ1bmN0aW9uKG8pe2kobyk7dmFyIGw9e3Jvb3Q6IiIsZGlyOiIiLGJhc2U6IiIsZXh0OiIiLG5hbWU6IiJ9O2lmKG8ubGVuZ3RoPT09MClyZXR1cm4gbDt2YXIgdSxmPW8uY2hhckNvZGVBdCgwKSxoPWY9PT00NztoPyhsLnJvb3Q9Ii8iLHU9MSk6dT0wO2Zvcih2YXIgZD0tMSxnPTAsbT0tMSx2PSEwLHA9by5sZW5ndGgtMSxfPTA7cD49dTstLXApaWYoKGY9by5jaGFyQ29kZUF0KHApKSE9PTQ3KW09PT0tMSYmKHY9ITEsbT1wKzEpLGY9PT00Nj9kPT09LTE/ZD1wOl8hPT0xJiYoXz0xKTpkIT09LTEmJihfPS0xKTtlbHNlIGlmKCF2KXtnPXArMTticmVha31yZXR1cm4gZD09PS0xfHxtPT09LTF8fF89PT0wfHxfPT09MSYmZD09PW0tMSYmZD09PWcrMT9tIT09LTEmJihsLmJhc2U9bC5uYW1lPWc9PT0wJiZoP28uc2xpY2UoMSxtKTpvLnNsaWNlKGcsbSkpOihnPT09MCYmaD8obC5uYW1lPW8uc2xpY2UoMSxkKSxsLmJhc2U9by5zbGljZSgxLG0pKToobC5uYW1lPW8uc2xpY2UoZyxkKSxsLmJhc2U9by5zbGljZShnLG0pKSxsLmV4dD1vLnNsaWNlKGQsbSkpLGc+MD9sLmRpcj1vLnNsaWNlKDAsZy0xKTpoJiYobC5kaXI9Ii8iKSxsfSxzZXA6Ii8iLGRlbGltaXRlcjoiOiIsd2luMzI6bnVsbCxwb3NpeDpudWxsfTthLnBvc2l4PWEsci5leHBvcnRzPWF9LDQ0NzoocixpLHMpPT57dmFyIGE7aWYocy5yKGkpLHMuZChpLHtVUkk6KCk9PngsVXRpbHM6KCk9Pk19KSx0eXBlb2YgcHJvY2Vzcz09Im9iamVjdCIpYT1wcm9jZXNzLnBsYXRmb3JtPT09IndpbjMyIjtlbHNlIGlmKHR5cGVvZiBuYXZpZ2F0b3I9PSJvYmplY3QiKXt2YXIgbz1uYXZpZ2F0b3IudXNlckFnZW50O2E9by5pbmRleE9mKCJXaW5kb3dzIik+PTB9dmFyIGwsdSxmPShsPWZ1bmN0aW9uKFQsRSl7cmV0dXJuKGw9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKFAsRCl7UC5fX3Byb3RvX189RH18fGZ1bmN0aW9uKFAsRCl7Zm9yKHZhciBqIGluIEQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEQsaikmJihQW2pdPURbal0pfSkoVCxFKX0sZnVuY3Rpb24oVCxFKXtpZih0eXBlb2YgRSE9ImZ1bmN0aW9uIiYmRSE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhFKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtmdW5jdGlvbiBQKCl7dGhpcy5jb25zdHJ1Y3Rvcj1UfWwoVCxFKSxULnByb3RvdHlwZT1FPT09bnVsbD9PYmplY3QuY3JlYXRlKEUpOihQLnByb3RvdHlwZT1FLnByb3RvdHlwZSxuZXcgUCl9KSxoPS9eXHdbXHdcZCsuLV0qJC8sZD0vXlwvLyxnPS9eXC9cLy87ZnVuY3Rpb24gbShULEUpe2lmKCFULnNjaGVtZSYmRSl0aHJvdyBuZXcgRXJyb3IoJ1tVcmlFcnJvcl06IFNjaGVtZSBpcyBtaXNzaW5nOiB7c2NoZW1lOiAiIiwgYXV0aG9yaXR5OiAiJy5jb25jYXQoVC5hdXRob3JpdHksJyIsIHBhdGg6ICInKS5jb25jYXQoVC5wYXRoLCciLCBxdWVyeTogIicpLmNvbmNhdChULnF1ZXJ5LCciLCBmcmFnbWVudDogIicpLmNvbmNhdChULmZyYWdtZW50LCcifScpKTtpZihULnNjaGVtZSYmIWgudGVzdChULnNjaGVtZSkpdGhyb3cgbmV3IEVycm9yKCJbVXJpRXJyb3JdOiBTY2hlbWUgY29udGFpbnMgaWxsZWdhbCBjaGFyYWN0ZXJzLiIpO2lmKFQucGF0aCl7aWYoVC5hdXRob3JpdHkpe2lmKCFkLnRlc3QoVC5wYXRoKSl0aHJvdyBuZXcgRXJyb3IoJ1tVcmlFcnJvcl06IElmIGEgVVJJIGNvbnRhaW5zIGFuIGF1dGhvcml0eSBjb21wb25lbnQsIHRoZW4gdGhlIHBhdGggY29tcG9uZW50IG11c3QgZWl0aGVyIGJlIGVtcHR5IG9yIGJlZ2luIHdpdGggYSBzbGFzaCAoIi8iKSBjaGFyYWN0ZXInKX1lbHNlIGlmKGcudGVzdChULnBhdGgpKXRocm93IG5ldyBFcnJvcignW1VyaUVycm9yXTogSWYgYSBVUkkgZG9lcyBub3QgY29udGFpbiBhbiBhdXRob3JpdHkgY29tcG9uZW50LCB0aGVuIHRoZSBwYXRoIGNhbm5vdCBiZWdpbiB3aXRoIHR3byBzbGFzaCBjaGFyYWN0ZXJzICgiLy8iKScpfX12YXIgdj0iIixwPSIvIixfPS9eKChbXjovPyNdKz8pOik/KFwvXC8oW14vPyNdKikpPyhbXj8jXSopKFw/KFteI10qKSk/KCMoLiopKT8vLHg9ZnVuY3Rpb24oKXtmdW5jdGlvbiBUKEUsUCxELGoscSxHKXtHPT09dm9pZCAwJiYoRz0hMSksdHlwZW9mIEU9PSJvYmplY3QiPyh0aGlzLnNjaGVtZT1FLnNjaGVtZXx8dix0aGlzLmF1dGhvcml0eT1FLmF1dGhvcml0eXx8dix0aGlzLnBhdGg9RS5wYXRofHx2LHRoaXMucXVlcnk9RS5xdWVyeXx8dix0aGlzLmZyYWdtZW50PUUuZnJhZ21lbnR8fHYpOih0aGlzLnNjaGVtZT1mdW5jdGlvbihkZSxsZSl7cmV0dXJuIGRlfHxsZT9kZToiZmlsZSJ9KEUsRyksdGhpcy5hdXRob3JpdHk9UHx8dix0aGlzLnBhdGg9ZnVuY3Rpb24oZGUsbGUpe3N3aXRjaChkZSl7Y2FzZSJodHRwcyI6Y2FzZSJodHRwIjpjYXNlImZpbGUiOmxlP2xlWzBdIT09cCYmKGxlPXArbGUpOmxlPXB9cmV0dXJuIGxlfSh0aGlzLnNjaGVtZSxEfHx2KSx0aGlzLnF1ZXJ5PWp8fHYsdGhpcy5mcmFnbWVudD1xfHx2LG0odGhpcyxHKSl9cmV0dXJuIFQuaXNVcmk9ZnVuY3Rpb24oRSl7cmV0dXJuIEUgaW5zdGFuY2VvZiBUfHwhIUUmJnR5cGVvZiBFLmF1dGhvcml0eT09InN0cmluZyImJnR5cGVvZiBFLmZyYWdtZW50PT0ic3RyaW5nIiYmdHlwZW9mIEUucGF0aD09InN0cmluZyImJnR5cGVvZiBFLnF1ZXJ5PT0ic3RyaW5nIiYmdHlwZW9mIEUuc2NoZW1lPT0ic3RyaW5nIiYmdHlwZW9mIEUuZnNQYXRoPT0ic3RyaW5nIiYmdHlwZW9mIEUud2l0aD09ImZ1bmN0aW9uIiYmdHlwZW9mIEUudG9TdHJpbmc9PSJmdW5jdGlvbiJ9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShULnByb3RvdHlwZSwiZnNQYXRoIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEEodGhpcywhMSl9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksVC5wcm90b3R5cGUud2l0aD1mdW5jdGlvbihFKXtpZighRSlyZXR1cm4gdGhpczt2YXIgUD1FLnNjaGVtZSxEPUUuYXV0aG9yaXR5LGo9RS5wYXRoLHE9RS5xdWVyeSxHPUUuZnJhZ21lbnQ7cmV0dXJuIFA9PT12b2lkIDA/UD10aGlzLnNjaGVtZTpQPT09bnVsbCYmKFA9diksRD09PXZvaWQgMD9EPXRoaXMuYXV0aG9yaXR5OkQ9PT1udWxsJiYoRD12KSxqPT09dm9pZCAwP2o9dGhpcy5wYXRoOmo9PT1udWxsJiYoaj12KSxxPT09dm9pZCAwP3E9dGhpcy5xdWVyeTpxPT09bnVsbCYmKHE9diksRz09PXZvaWQgMD9HPXRoaXMuZnJhZ21lbnQ6Rz09PW51bGwmJihHPXYpLFA9PT10aGlzLnNjaGVtZSYmRD09PXRoaXMuYXV0aG9yaXR5JiZqPT09dGhpcy5wYXRoJiZxPT09dGhpcy5xdWVyeSYmRz09PXRoaXMuZnJhZ21lbnQ/dGhpczpuZXcgUyhQLEQsaixxLEcpfSxULnBhcnNlPWZ1bmN0aW9uKEUsUCl7UD09PXZvaWQgMCYmKFA9ITEpO3ZhciBEPV8uZXhlYyhFKTtyZXR1cm4gRD9uZXcgUyhEWzJdfHx2LHkoRFs0XXx8dikseShEWzVdfHx2KSx5KERbN118fHYpLHkoRFs5XXx8diksUCk6bmV3IFModix2LHYsdix2KX0sVC5maWxlPWZ1bmN0aW9uKEUpe3ZhciBQPXY7aWYoYSYmKEU9RS5yZXBsYWNlKC9cXC9nLHApKSxFWzBdPT09cCYmRVsxXT09PXApe3ZhciBEPUUuaW5kZXhPZihwLDIpO0Q9PT0tMT8oUD1FLnN1YnN0cmluZygyKSxFPXApOihQPUUuc3Vic3RyaW5nKDIsRCksRT1FLnN1YnN0cmluZyhEKXx8cCl9cmV0dXJuIG5ldyBTKCJmaWxlIixQLEUsdix2KX0sVC5mcm9tPWZ1bmN0aW9uKEUpe3ZhciBQPW5ldyBTKEUuc2NoZW1lLEUuYXV0aG9yaXR5LEUucGF0aCxFLnF1ZXJ5LEUuZnJhZ21lbnQpO3JldHVybiBtKFAsITApLFB9LFQucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKEUpe3JldHVybiBFPT09dm9pZCAwJiYoRT0hMSksUih0aGlzLEUpfSxULnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sVC5yZXZpdmU9ZnVuY3Rpb24oRSl7aWYoRSl7aWYoRSBpbnN0YW5jZW9mIFQpcmV0dXJuIEU7dmFyIFA9bmV3IFMoRSk7cmV0dXJuIFAuX2Zvcm1hdHRlZD1FLmV4dGVybmFsLFAuX2ZzUGF0aD1FLl9zZXA9PT1iP0UuZnNQYXRoOm51bGwsUH1yZXR1cm4gRX0sVH0oKSxiPWE/MTp2b2lkIDAsUz1mdW5jdGlvbihUKXtmdW5jdGlvbiBFKCl7dmFyIFA9VCE9PW51bGwmJlQuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzO3JldHVybiBQLl9mb3JtYXR0ZWQ9bnVsbCxQLl9mc1BhdGg9bnVsbCxQfXJldHVybiBmKEUsVCksT2JqZWN0LmRlZmluZVByb3BlcnR5KEUucHJvdG90eXBlLCJmc1BhdGgiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZnNQYXRofHwodGhpcy5fZnNQYXRoPUEodGhpcywhMSkpLHRoaXMuX2ZzUGF0aH0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxFLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbihQKXtyZXR1cm4gUD09PXZvaWQgMCYmKFA9ITEpLFA/Uih0aGlzLCEwKToodGhpcy5fZm9ybWF0dGVkfHwodGhpcy5fZm9ybWF0dGVkPVIodGhpcywhMSkpLHRoaXMuX2Zvcm1hdHRlZCl9LEUucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3ZhciBQPXskbWlkOjF9O3JldHVybiB0aGlzLl9mc1BhdGgmJihQLmZzUGF0aD10aGlzLl9mc1BhdGgsUC5fc2VwPWIpLHRoaXMuX2Zvcm1hdHRlZCYmKFAuZXh0ZXJuYWw9dGhpcy5fZm9ybWF0dGVkKSx0aGlzLnBhdGgmJihQLnBhdGg9dGhpcy5wYXRoKSx0aGlzLnNjaGVtZSYmKFAuc2NoZW1lPXRoaXMuc2NoZW1lKSx0aGlzLmF1dGhvcml0eSYmKFAuYXV0aG9yaXR5PXRoaXMuYXV0aG9yaXR5KSx0aGlzLnF1ZXJ5JiYoUC5xdWVyeT10aGlzLnF1ZXJ5KSx0aGlzLmZyYWdtZW50JiYoUC5mcmFnbWVudD10aGlzLmZyYWdtZW50KSxQfSxFfSh4KSxOPSgodT17fSlbNThdPSIlM0EiLHVbNDddPSIlMkYiLHVbNjNdPSIlM0YiLHVbMzVdPSIlMjMiLHVbOTFdPSIlNUIiLHVbOTNdPSIlNUQiLHVbNjRdPSIlNDAiLHVbMzNdPSIlMjEiLHVbMzZdPSIlMjQiLHVbMzhdPSIlMjYiLHVbMzldPSIlMjciLHVbNDBdPSIlMjgiLHVbNDFdPSIlMjkiLHVbNDJdPSIlMkEiLHVbNDNdPSIlMkIiLHVbNDRdPSIlMkMiLHVbNTldPSIlM0IiLHVbNjFdPSIlM0QiLHVbMzJdPSIlMjAiLHUpO2Z1bmN0aW9uIHcoVCxFKXtmb3IodmFyIFA9dm9pZCAwLEQ9LTEsaj0wO2o8VC5sZW5ndGg7aisrKXt2YXIgcT1ULmNoYXJDb2RlQXQoaik7aWYocT49OTcmJnE8PTEyMnx8cT49NjUmJnE8PTkwfHxxPj00OCYmcTw9NTd8fHE9PT00NXx8cT09PTQ2fHxxPT09OTV8fHE9PT0xMjZ8fEUmJnE9PT00NylEIT09LTEmJihQKz1lbmNvZGVVUklDb21wb25lbnQoVC5zdWJzdHJpbmcoRCxqKSksRD0tMSksUCE9PXZvaWQgMCYmKFArPVQuY2hhckF0KGopKTtlbHNle1A9PT12b2lkIDAmJihQPVQuc3Vic3RyKDAsaikpO3ZhciBHPU5bcV07RyE9PXZvaWQgMD8oRCE9PS0xJiYoUCs9ZW5jb2RlVVJJQ29tcG9uZW50KFQuc3Vic3RyaW5nKEQsaikpLEQ9LTEpLFArPUcpOkQ9PT0tMSYmKEQ9ail9fXJldHVybiBEIT09LTEmJihQKz1lbmNvZGVVUklDb21wb25lbnQoVC5zdWJzdHJpbmcoRCkpKSxQIT09dm9pZCAwP1A6VH1mdW5jdGlvbiBMKFQpe2Zvcih2YXIgRT12b2lkIDAsUD0wO1A8VC5sZW5ndGg7UCsrKXt2YXIgRD1ULmNoYXJDb2RlQXQoUCk7RD09PTM1fHxEPT09NjM/KEU9PT12b2lkIDAmJihFPVQuc3Vic3RyKDAsUCkpLEUrPU5bRF0pOkUhPT12b2lkIDAmJihFKz1UW1BdKX1yZXR1cm4gRSE9PXZvaWQgMD9FOlR9ZnVuY3Rpb24gQShULEUpe3ZhciBQO3JldHVybiBQPVQuYXV0aG9yaXR5JiZULnBhdGgubGVuZ3RoPjEmJlQuc2NoZW1lPT09ImZpbGUiPyIvLyIuY29uY2F0KFQuYXV0aG9yaXR5KS5jb25jYXQoVC5wYXRoKTpULnBhdGguY2hhckNvZGVBdCgwKT09PTQ3JiYoVC5wYXRoLmNoYXJDb2RlQXQoMSk+PTY1JiZULnBhdGguY2hhckNvZGVBdCgxKTw9OTB8fFQucGF0aC5jaGFyQ29kZUF0KDEpPj05NyYmVC5wYXRoLmNoYXJDb2RlQXQoMSk8PTEyMikmJlQucGF0aC5jaGFyQ29kZUF0KDIpPT09NTg/RT9ULnBhdGguc3Vic3RyKDEpOlQucGF0aFsxXS50b0xvd2VyQ2FzZSgpK1QucGF0aC5zdWJzdHIoMik6VC5wYXRoLGEmJihQPVAucmVwbGFjZSgvXC8vZywiXFwiKSksUH1mdW5jdGlvbiBSKFQsRSl7dmFyIFA9RT9MOncsRD0iIixqPVQuc2NoZW1lLHE9VC5hdXRob3JpdHksRz1ULnBhdGgsZGU9VC5xdWVyeSxsZT1ULmZyYWdtZW50O2lmKGomJihEKz1qLEQrPSI6IiksKHF8fGo9PT0iZmlsZSIpJiYoRCs9cCxEKz1wKSxxKXt2YXIgYmU9cS5pbmRleE9mKCJAIik7aWYoYmUhPT0tMSl7dmFyIEV0PXEuc3Vic3RyKDAsYmUpO3E9cS5zdWJzdHIoYmUrMSksKGJlPUV0LmluZGV4T2YoIjoiKSk9PT0tMT9EKz1QKEV0LCExKTooRCs9UChFdC5zdWJzdHIoMCxiZSksITEpLEQrPSI6IixEKz1QKEV0LnN1YnN0cihiZSsxKSwhMSkpLEQrPSJAIn0oYmU9KHE9cS50b0xvd2VyQ2FzZSgpKS5pbmRleE9mKCI6IikpPT09LTE/RCs9UChxLCExKTooRCs9UChxLnN1YnN0cigwLGJlKSwhMSksRCs9cS5zdWJzdHIoYmUpKX1pZihHKXtpZihHLmxlbmd0aD49MyYmRy5jaGFyQ29kZUF0KDApPT09NDcmJkcuY2hhckNvZGVBdCgyKT09PTU4KShWZT1HLmNoYXJDb2RlQXQoMSkpPj02NSYmVmU8PTkwJiYoRz0iLyIuY29uY2F0KFN0cmluZy5mcm9tQ2hhckNvZGUoVmUrMzIpLCI6IikuY29uY2F0KEcuc3Vic3RyKDMpKSk7ZWxzZSBpZihHLmxlbmd0aD49MiYmRy5jaGFyQ29kZUF0KDEpPT09NTgpe3ZhciBWZTsoVmU9Ry5jaGFyQ29kZUF0KDApKT49NjUmJlZlPD05MCYmKEc9IiIuY29uY2F0KFN0cmluZy5mcm9tQ2hhckNvZGUoVmUrMzIpLCI6IikuY29uY2F0KEcuc3Vic3RyKDIpKSl9RCs9UChHLCEwKX1yZXR1cm4gZGUmJihEKz0iPyIsRCs9UChkZSwhMSkpLGxlJiYoRCs9IiMiLEQrPUU/bGU6dyhsZSwhMSkpLER9ZnVuY3Rpb24gRihUKXt0cnl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChUKX1jYXRjaHtyZXR1cm4gVC5sZW5ndGg+Mz9ULnN1YnN0cigwLDMpK0YoVC5zdWJzdHIoMykpOlR9fXZhciBDPS8oJVswLTlBLVphLXpdWzAtOUEtWmEtel0pKy9nO2Z1bmN0aW9uIHkoVCl7cmV0dXJuIFQubWF0Y2goQyk/VC5yZXBsYWNlKEMsZnVuY3Rpb24oRSl7cmV0dXJuIEYoRSl9KTpUfXZhciBNLEk9cyg0NzApLE89ZnVuY3Rpb24oVCxFLFApe2lmKFB8fGFyZ3VtZW50cy5sZW5ndGg9PT0yKWZvcih2YXIgRCxqPTAscT1FLmxlbmd0aDtqPHE7aisrKSFEJiZqIGluIEV8fChEfHwoRD1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChFLDAsaikpLERbal09RVtqXSk7cmV0dXJuIFQuY29uY2F0KER8fEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKEUpKX0sVj1JLnBvc2l4fHxJOyhmdW5jdGlvbihUKXtULmpvaW5QYXRoPWZ1bmN0aW9uKEUpe2Zvcih2YXIgUD1bXSxEPTE7RDxhcmd1bWVudHMubGVuZ3RoO0QrKylQW0QtMV09YXJndW1lbnRzW0RdO3JldHVybiBFLndpdGgoe3BhdGg6Vi5qb2luLmFwcGx5KFYsTyhbRS5wYXRoXSxQLCExKSl9KX0sVC5yZXNvbHZlUGF0aD1mdW5jdGlvbihFKXtmb3IodmFyIFA9W10sRD0xO0Q8YXJndW1lbnRzLmxlbmd0aDtEKyspUFtELTFdPWFyZ3VtZW50c1tEXTt2YXIgaj1FLnBhdGh8fCIvIjtyZXR1cm4gRS53aXRoKHtwYXRoOlYucmVzb2x2ZS5hcHBseShWLE8oW2pdLFAsITEpKX0pfSxULmRpcm5hbWU9ZnVuY3Rpb24oRSl7dmFyIFA9Vi5kaXJuYW1lKEUucGF0aCk7cmV0dXJuIFAubGVuZ3RoPT09MSYmUC5jaGFyQ29kZUF0KDApPT09NDY/RTpFLndpdGgoe3BhdGg6UH0pfSxULmJhc2VuYW1lPWZ1bmN0aW9uKEUpe3JldHVybiBWLmJhc2VuYW1lKEUucGF0aCl9LFQuZXh0bmFtZT1mdW5jdGlvbihFKXtyZXR1cm4gVi5leHRuYW1lKEUucGF0aCl9fSkoTXx8KE09e30pKX19LHQ9e307ZnVuY3Rpb24gbihyKXtpZih0W3JdKXJldHVybiB0W3JdLmV4cG9ydHM7dmFyIGk9dFtyXT17ZXhwb3J0czp7fX07cmV0dXJuIGVbcl0oaSxpLmV4cG9ydHMsbiksaS5leHBvcnRzfXJldHVybiBuLmQ9KHIsaSk9Pntmb3IodmFyIHMgaW4gaSluLm8oaSxzKSYmIW4ubyhyLHMpJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixzLHtlbnVtZXJhYmxlOiEwLGdldDppW3NdfSl9LG4ubz0ocixpKT0+T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIsaSksbi5yPXI9Pnt0eXBlb2YgU3ltYm9sPCJ1IiYmU3ltYm9sLnRvU3RyaW5nVGFnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wudG9TdHJpbmdUYWcse3ZhbHVlOiJNb2R1bGUifSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSxuKDQ0Nyl9KSgpO3ZhcntVUkk6Q3QsVXRpbHM6Z2N9PVNhO2Z1bmN0aW9uIHF1KGUsdCl7aWYodHlwZW9mIGUhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgc3RyaW5nIik7Zm9yKHZhciBuPVN0cmluZyhlKSxyPSIiLGk9dD8hIXQuZXh0ZW5kZWQ6ITEscz10PyEhdC5nbG9ic3RhcjohMSxhPSExLG89dCYmdHlwZW9mIHQuZmxhZ3M9PSJzdHJpbmciP3QuZmxhZ3M6IiIsbCx1PTAsZj1uLmxlbmd0aDt1PGY7dSsrKXN3aXRjaChsPW5bdV0sbCl7Y2FzZSIvIjpjYXNlIiQiOmNhc2UiXiI6Y2FzZSIrIjpjYXNlIi4iOmNhc2UiKCI6Y2FzZSIpIjpjYXNlIj0iOmNhc2UiISI6Y2FzZSJ8IjpyKz0iXFwiK2w7YnJlYWs7Y2FzZSI/IjppZihpKXtyKz0iLiI7YnJlYWt9Y2FzZSJbIjpjYXNlIl0iOmlmKGkpe3IrPWw7YnJlYWt9Y2FzZSJ7IjppZihpKXthPSEwLHIrPSIoIjticmVha31jYXNlIn0iOmlmKGkpe2E9ITEscis9IikiO2JyZWFrfWNhc2UiLCI6aWYoYSl7cis9InwiO2JyZWFrfXIrPSJcXCIrbDticmVhaztjYXNlIioiOmZvcih2YXIgaD1uW3UtMV0sZD0xO25bdSsxXT09PSIqIjspZCsrLHUrKzt2YXIgZz1uW3UrMV07aWYoIXMpcis9Ii4qIjtlbHNle3ZhciBtPWQ+MSYmKGg9PT0iLyJ8fGg9PT12b2lkIDB8fGg9PT0ieyJ8fGg9PT0iLCIpJiYoZz09PSIvInx8Zz09PXZvaWQgMHx8Zz09PSIsInx8Zz09PSJ9Iik7bT8oZz09PSIvIj91Kys6aD09PSIvIiYmci5lbmRzV2l0aCgiXFwvIikmJihyPXIuc3Vic3RyKDAsci5sZW5ndGgtMikpLHIrPSIoKD86W14vXSooPzovfCQpKSopIik6cis9IihbXi9dKikifWJyZWFrO2RlZmF1bHQ6cis9bH1yZXR1cm4oIW98fCF+by5pbmRleE9mKCJnIikpJiYocj0iXiIrcisiJCIpLG5ldyBSZWdFeHAocixvKX12YXIgT2U9SnQoKSxIdT0iISIsJHU9Ii8iLFd1PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0LG4pe3RoaXMuZ2xvYldyYXBwZXJzPVtdO3RyeXtmb3IodmFyIHI9MCxpPXQ7cjxpLmxlbmd0aDtyKyspe3ZhciBzPWlbcl0sYT1zWzBdIT09SHU7YXx8KHM9cy5zdWJzdHJpbmcoMSkpLHMubGVuZ3RoPjAmJihzWzBdPT09JHUmJihzPXMuc3Vic3RyaW5nKDEpKSx0aGlzLmdsb2JXcmFwcGVycy5wdXNoKHtyZWdleHA6cXUoIioqLyIrcyx7ZXh0ZW5kZWQ6ITAsZ2xvYnN0YXI6ITB9KSxpbmNsdWRlOmF9KSl9dGhpcy51cmlzPW59Y2F0Y2h7dGhpcy5nbG9iV3JhcHBlcnMubGVuZ3RoPTAsdGhpcy51cmlzPVtdfX1yZXR1cm4gZS5wcm90b3R5cGUubWF0Y2hlc1BhdHRlcm49ZnVuY3Rpb24odCl7Zm9yKHZhciBuPSExLHI9MCxpPXRoaXMuZ2xvYldyYXBwZXJzO3I8aS5sZW5ndGg7cisrKXt2YXIgcz1pW3JdLGE9cy5yZWdleHAsbz1zLmluY2x1ZGU7YS50ZXN0KHQpJiYobj1vKX1yZXR1cm4gbn0sZS5wcm90b3R5cGUuZ2V0VVJJcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnVyaXN9LGV9KCksenU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQsbixyKXt0aGlzLnNlcnZpY2U9dCx0aGlzLnVyaT1uLHRoaXMuZGVwZW5kZW5jaWVzPW5ldyBTZXQsdGhpcy5hbmNob3JzPXZvaWQgMCxyJiYodGhpcy51bnJlc29sdmVkU2NoZW1hPXRoaXMuc2VydmljZS5wcm9taXNlLnJlc29sdmUobmV3IFh0KHIpKSl9cmV0dXJuIGUucHJvdG90eXBlLmdldFVucmVzb2x2ZWRTY2hlbWE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51bnJlc29sdmVkU2NoZW1hfHwodGhpcy51bnJlc29sdmVkU2NoZW1hPXRoaXMuc2VydmljZS5sb2FkU2NoZW1hKHRoaXMudXJpKSksdGhpcy51bnJlc29sdmVkU2NoZW1hfSxlLnByb3RvdHlwZS5nZXRSZXNvbHZlZFNjaGVtYT1mdW5jdGlvbigpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMucmVzb2x2ZWRTY2hlbWF8fCh0aGlzLnJlc29sdmVkU2NoZW1hPXRoaXMuZ2V0VW5yZXNvbHZlZFNjaGVtYSgpLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIHQuc2VydmljZS5yZXNvbHZlU2NoZW1hQ29udGVudChuLHQpfSkpLHRoaXMucmVzb2x2ZWRTY2hlbWF9LGUucHJvdG90eXBlLmNsZWFyU2NoZW1hPWZ1bmN0aW9uKCl7dmFyIHQ9ISF0aGlzLnVucmVzb2x2ZWRTY2hlbWE7cmV0dXJuIHRoaXMucmVzb2x2ZWRTY2hlbWE9dm9pZCAwLHRoaXMudW5yZXNvbHZlZFNjaGVtYT12b2lkIDAsdGhpcy5kZXBlbmRlbmNpZXMuY2xlYXIoKSx0aGlzLmFuY2hvcnM9dm9pZCAwLHR9LGV9KCksWHQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQsbil7bj09PXZvaWQgMCYmKG49W10pLHRoaXMuc2NoZW1hPXQsdGhpcy5lcnJvcnM9bn1yZXR1cm4gZX0oKSxMYT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUodCxuKXtuPT09dm9pZCAwJiYobj1bXSksdGhpcy5zY2hlbWE9dCx0aGlzLmVycm9ycz1ufXJldHVybiBlLnByb3RvdHlwZS5nZXRTZWN0aW9uPWZ1bmN0aW9uKHQpe3ZhciBuPXRoaXMuZ2V0U2VjdGlvblJlY3Vyc2l2ZSh0LHRoaXMuc2NoZW1hKTtpZihuKXJldHVybiBwZShuKX0sZS5wcm90b3R5cGUuZ2V0U2VjdGlvblJlY3Vyc2l2ZT1mdW5jdGlvbih0LG4pe2lmKCFufHx0eXBlb2Ygbj09ImJvb2xlYW4ifHx0Lmxlbmd0aD09PTApcmV0dXJuIG47dmFyIHI9dC5zaGlmdCgpO2lmKG4ucHJvcGVydGllcyYmdHlwZW9mIG4ucHJvcGVydGllc1tyXSlyZXR1cm4gdGhpcy5nZXRTZWN0aW9uUmVjdXJzaXZlKHQsbi5wcm9wZXJ0aWVzW3JdKTtpZihuLnBhdHRlcm5Qcm9wZXJ0aWVzKWZvcih2YXIgaT0wLHM9T2JqZWN0LmtleXMobi5wYXR0ZXJuUHJvcGVydGllcyk7aTxzLmxlbmd0aDtpKyspe3ZhciBhPXNbaV0sbz1nbihhKTtpZihvIT1udWxsJiZvLnRlc3QocikpcmV0dXJuIHRoaXMuZ2V0U2VjdGlvblJlY3Vyc2l2ZSh0LG4ucGF0dGVyblByb3BlcnRpZXNbYV0pfWVsc2V7aWYodHlwZW9mIG4uYWRkaXRpb25hbFByb3BlcnRpZXM9PSJvYmplY3QiKXJldHVybiB0aGlzLmdldFNlY3Rpb25SZWN1cnNpdmUodCxuLmFkZGl0aW9uYWxQcm9wZXJ0aWVzKTtpZihyLm1hdGNoKCJbMC05XSsiKSl7aWYoQXJyYXkuaXNBcnJheShuLml0ZW1zKSl7dmFyIGw9cGFyc2VJbnQociwxMCk7aWYoIWlzTmFOKGwpJiZuLml0ZW1zW2xdKXJldHVybiB0aGlzLmdldFNlY3Rpb25SZWN1cnNpdmUodCxuLml0ZW1zW2xdKX1lbHNlIGlmKG4uaXRlbXMpcmV0dXJuIHRoaXMuZ2V0U2VjdGlvblJlY3Vyc2l2ZSh0LG4uaXRlbXMpfX19LGV9KCksR3U9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQsbixyKXt0aGlzLmNvbnRleHRTZXJ2aWNlPW4sdGhpcy5yZXF1ZXN0U2VydmljZT10LHRoaXMucHJvbWlzZUNvbnN0cnVjdG9yPXJ8fFByb21pc2UsdGhpcy5jYWxsT25EaXNwb3NlPVtdLHRoaXMuY29udHJpYnV0aW9uU2NoZW1hcz17fSx0aGlzLmNvbnRyaWJ1dGlvbkFzc29jaWF0aW9ucz1bXSx0aGlzLnNjaGVtYXNCeUlkPXt9LHRoaXMuZmlsZVBhdHRlcm5Bc3NvY2lhdGlvbnM9W10sdGhpcy5yZWdpc3RlcmVkU2NoZW1hc0lkcz17fX1yZXR1cm4gZS5wcm90b3R5cGUuZ2V0UmVnaXN0ZXJlZFNjaGVtYUlkcz1mdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmtleXModGhpcy5yZWdpc3RlcmVkU2NoZW1hc0lkcykuZmlsdGVyKGZ1bmN0aW9uKG4pe3ZhciByPUN0LnBhcnNlKG4pLnNjaGVtZTtyZXR1cm4gciE9PSJzY2hlbWFzZXJ2aWNlIiYmKCF0fHx0KHIpKX0pfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsInByb21pc2UiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcm9taXNlQ29uc3RydWN0b3J9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksZS5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe2Zvcig7dGhpcy5jYWxsT25EaXNwb3NlLmxlbmd0aD4wOyl0aGlzLmNhbGxPbkRpc3Bvc2UucG9wKCkoKX0sZS5wcm90b3R5cGUub25SZXNvdXJjZUNoYW5nZT1mdW5jdGlvbih0KXt2YXIgbj10aGlzO3RoaXMuY2FjaGVkU2NoZW1hRm9yUmVzb3VyY2U9dm9pZCAwO3ZhciByPSExO3Q9dHQodCk7Zm9yKHZhciBpPVt0XSxzPU9iamVjdC5rZXlzKHRoaXMuc2NoZW1hc0J5SWQpLm1hcChmdW5jdGlvbih1KXtyZXR1cm4gbi5zY2hlbWFzQnlJZFt1XX0pO2kubGVuZ3RoOylmb3IodmFyIGE9aS5wb3AoKSxvPTA7bzxzLmxlbmd0aDtvKyspe3ZhciBsPXNbb107bCYmKGwudXJpPT09YXx8bC5kZXBlbmRlbmNpZXMuaGFzKGEpKSYmKGwudXJpIT09YSYmaS5wdXNoKGwudXJpKSxsLmNsZWFyU2NoZW1hKCkmJihyPSEwKSxzW29dPXZvaWQgMCl9cmV0dXJuIHJ9LGUucHJvdG90eXBlLnNldFNjaGVtYUNvbnRyaWJ1dGlvbnM9ZnVuY3Rpb24odCl7aWYodC5zY2hlbWFzKXt2YXIgbj10LnNjaGVtYXM7Zm9yKHZhciByIGluIG4pe3ZhciBpPXR0KHIpO3RoaXMuY29udHJpYnV0aW9uU2NoZW1hc1tpXT10aGlzLmFkZFNjaGVtYUhhbmRsZShpLG5bcl0pfX1pZihBcnJheS5pc0FycmF5KHQuc2NoZW1hQXNzb2NpYXRpb25zKSlmb3IodmFyIHM9dC5zY2hlbWFBc3NvY2lhdGlvbnMsYT0wLG89czthPG8ubGVuZ3RoO2ErKyl7dmFyIGw9b1thXSx1PWwudXJpcy5tYXAodHQpLGY9dGhpcy5hZGRGaWxlUGF0dGVybkFzc29jaWF0aW9uKGwucGF0dGVybix1KTt0aGlzLmNvbnRyaWJ1dGlvbkFzc29jaWF0aW9ucy5wdXNoKGYpfX0sZS5wcm90b3R5cGUuYWRkU2NoZW1hSGFuZGxlPWZ1bmN0aW9uKHQsbil7dmFyIHI9bmV3IHp1KHRoaXMsdCxuKTtyZXR1cm4gdGhpcy5zY2hlbWFzQnlJZFt0XT1yLHJ9LGUucHJvdG90eXBlLmdldE9yQWRkU2NoZW1hSGFuZGxlPWZ1bmN0aW9uKHQsbil7cmV0dXJuIHRoaXMuc2NoZW1hc0J5SWRbdF18fHRoaXMuYWRkU2NoZW1hSGFuZGxlKHQsbil9LGUucHJvdG90eXBlLmFkZEZpbGVQYXR0ZXJuQXNzb2NpYXRpb249ZnVuY3Rpb24odCxuKXt2YXIgcj1uZXcgV3UodCxuKTtyZXR1cm4gdGhpcy5maWxlUGF0dGVybkFzc29jaWF0aW9ucy5wdXNoKHIpLHJ9LGUucHJvdG90eXBlLnJlZ2lzdGVyRXh0ZXJuYWxTY2hlbWE9ZnVuY3Rpb24odCxuLHIpe3ZhciBpPXR0KHQpO3JldHVybiB0aGlzLnJlZ2lzdGVyZWRTY2hlbWFzSWRzW2ldPSEwLHRoaXMuY2FjaGVkU2NoZW1hRm9yUmVzb3VyY2U9dm9pZCAwLG4mJnRoaXMuYWRkRmlsZVBhdHRlcm5Bc3NvY2lhdGlvbihuLFtpXSkscj90aGlzLmFkZFNjaGVtYUhhbmRsZShpLHIpOnRoaXMuZ2V0T3JBZGRTY2hlbWFIYW5kbGUoaSl9LGUucHJvdG90eXBlLmNsZWFyRXh0ZXJuYWxTY2hlbWFzPWZ1bmN0aW9uKCl7dGhpcy5zY2hlbWFzQnlJZD17fSx0aGlzLmZpbGVQYXR0ZXJuQXNzb2NpYXRpb25zPVtdLHRoaXMucmVnaXN0ZXJlZFNjaGVtYXNJZHM9e30sdGhpcy5jYWNoZWRTY2hlbWFGb3JSZXNvdXJjZT12b2lkIDA7Zm9yKHZhciB0IGluIHRoaXMuY29udHJpYnV0aW9uU2NoZW1hcyl0aGlzLnNjaGVtYXNCeUlkW3RdPXRoaXMuY29udHJpYnV0aW9uU2NoZW1hc1t0XSx0aGlzLnJlZ2lzdGVyZWRTY2hlbWFzSWRzW3RdPSEwO2Zvcih2YXIgbj0wLHI9dGhpcy5jb250cmlidXRpb25Bc3NvY2lhdGlvbnM7bjxyLmxlbmd0aDtuKyspe3ZhciBpPXJbbl07dGhpcy5maWxlUGF0dGVybkFzc29jaWF0aW9ucy5wdXNoKGkpfX0sZS5wcm90b3R5cGUuZ2V0UmVzb2x2ZWRTY2hlbWE9ZnVuY3Rpb24odCl7dmFyIG49dHQodCkscj10aGlzLnNjaGVtYXNCeUlkW25dO3JldHVybiByP3IuZ2V0UmVzb2x2ZWRTY2hlbWEoKTp0aGlzLnByb21pc2UucmVzb2x2ZSh2b2lkIDApfSxlLnByb3RvdHlwZS5sb2FkU2NoZW1hPWZ1bmN0aW9uKHQpe2lmKCF0aGlzLnJlcXVlc3RTZXJ2aWNlKXt2YXIgbj1PZSgianNvbi5zY2hlbWEubm9yZXF1ZXN0c2VydmljZSIsIlVuYWJsZSB0byBsb2FkIHNjaGVtYSBmcm9tICd7MH0nLiBObyBzY2hlbWEgcmVxdWVzdCBzZXJ2aWNlIGF2YWlsYWJsZSIsQW4odCkpO3JldHVybiB0aGlzLnByb21pc2UucmVzb2x2ZShuZXcgWHQoe30sW25dKSl9cmV0dXJuIHRoaXMucmVxdWVzdFNlcnZpY2UodCkudGhlbihmdW5jdGlvbihyKXtpZighcil7dmFyIGk9T2UoImpzb24uc2NoZW1hLm5vY29udGVudCIsIlVuYWJsZSB0byBsb2FkIHNjaGVtYSBmcm9tICd7MH0nOiBObyBjb250ZW50LiIsQW4odCkpO3JldHVybiBuZXcgWHQoe30sW2ldKX12YXIgcz17fSxhPVtdO3M9Y3UocixhKTt2YXIgbz1hLmxlbmd0aD9bT2UoImpzb24uc2NoZW1hLmludmFsaWRGb3JtYXQiLCJVbmFibGUgdG8gcGFyc2UgY29udGVudCBmcm9tICd7MH0nOiBQYXJzZSBlcnJvciBhdCBvZmZzZXQgezF9LiIsQW4odCksYVswXS5vZmZzZXQpXTpbXTtyZXR1cm4gbmV3IFh0KHMsbyl9LGZ1bmN0aW9uKHIpe3ZhciBpPXIudG9TdHJpbmcoKSxzPXIudG9TdHJpbmcoKS5zcGxpdCgiRXJyb3I6ICIpO3JldHVybiBzLmxlbmd0aD4xJiYoaT1zWzFdKSxqdChpLCIuIikmJihpPWkuc3Vic3RyKDAsaS5sZW5ndGgtMSkpLG5ldyBYdCh7fSxbT2UoImpzb24uc2NoZW1hLm5vY29udGVudCIsIlVuYWJsZSB0byBsb2FkIHNjaGVtYSBmcm9tICd7MH0nOiB7MX0uIixBbih0KSxpKV0pfSl9LGUucHJvdG90eXBlLnJlc29sdmVTY2hlbWFDb250ZW50PWZ1bmN0aW9uKHQsbil7dmFyIHI9dGhpcyxpPXQuZXJyb3JzLnNsaWNlKDApLHM9dC5zY2hlbWE7aWYocy4kc2NoZW1hKXt2YXIgYT10dChzLiRzY2hlbWEpO2lmKGE9PT0iaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wMy9zY2hlbWEiKXJldHVybiB0aGlzLnByb21pc2UucmVzb2x2ZShuZXcgTGEoe30sW09lKCJqc29uLnNjaGVtYS5kcmFmdDAzLm5vdHN1cHBvcnRlZCIsIkRyYWZ0LTAzIHNjaGVtYXMgYXJlIG5vdCBzdXBwb3J0ZWQuIildKSk7YT09PSJodHRwczovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC8yMDE5LTA5L3NjaGVtYSI/aS5wdXNoKE9lKCJqc29uLnNjaGVtYS5kcmFmdDIwMTkwOS5ub3RzdXBwb3J0ZWQiLCJEcmFmdCAyMDE5LTA5IHNjaGVtYXMgYXJlIG5vdCB5ZXQgZnVsbHkgc3VwcG9ydGVkLiIpKTphPT09Imh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LzIwMjAtMTIvc2NoZW1hIiYmaS5wdXNoKE9lKCJqc29uLnNjaGVtYS5kcmFmdDIwMjAxMi5ub3RzdXBwb3J0ZWQiLCJEcmFmdCAyMDIwLTEyIHNjaGVtYXMgYXJlIG5vdCB5ZXQgZnVsbHkgc3VwcG9ydGVkLiIpKX12YXIgbz10aGlzLmNvbnRleHRTZXJ2aWNlLGw9ZnVuY3Rpb24odixwKXtwPWRlY29kZVVSSUNvbXBvbmVudChwKTt2YXIgXz12O3JldHVybiBwWzBdPT09Ii8iJiYocD1wLnN1YnN0cmluZygxKSkscC5zcGxpdCgiLyIpLnNvbWUoZnVuY3Rpb24oeCl7cmV0dXJuIHg9eC5yZXBsYWNlKC9+MS9nLCIvIikucmVwbGFjZSgvfjAvZywifiIpLF89X1t4XSwhX30pLF99LHU9ZnVuY3Rpb24odixwLF8pe3JldHVybiBwLmFuY2hvcnN8fChwLmFuY2hvcnM9bSh2KSkscC5hbmNob3JzLmdldChfKX0sZj1mdW5jdGlvbih2LHApe2Zvcih2YXIgXyBpbiBwKXAuaGFzT3duUHJvcGVydHkoXykmJiF2Lmhhc093blByb3BlcnR5KF8pJiZfIT09ImlkIiYmXyE9PSIkaWQiJiYodltfXT1wW19dKX0saD1mdW5jdGlvbih2LHAsXyx4KXt2YXIgYjt4PT09dm9pZCAwfHx4Lmxlbmd0aD09PTA/Yj1wOnguY2hhckF0KDApPT09Ii8iP2I9bChwLHgpOmI9dShwLF8seCksYj9mKHYsYik6aS5wdXNoKE9lKCJqc29uLnNjaGVtYS5pbnZhbGlkaWQiLCIkcmVmICd7MH0nIGluICd7MX0nIGNhbiBub3QgYmUgcmVzb2x2ZWQuIix4LF8udXJpKSl9LGQ9ZnVuY3Rpb24odixwLF8seCl7byYmIS9eW0EtWmEtel1bQS1aYS16MC05K1wtLitdKjpcL1wvLiovLnRlc3QocCkmJihwPW8ucmVzb2x2ZVJlbGF0aXZlUGF0aChwLHgudXJpKSkscD10dChwKTt2YXIgYj1yLmdldE9yQWRkU2NoZW1hSGFuZGxlKHApO3JldHVybiBiLmdldFVucmVzb2x2ZWRTY2hlbWEoKS50aGVuKGZ1bmN0aW9uKFMpe2lmKHguZGVwZW5kZW5jaWVzLmFkZChwKSxTLmVycm9ycy5sZW5ndGgpe3ZhciBOPV8/cCsiIyIrXzpwO2kucHVzaChPZSgianNvbi5zY2hlbWEucHJvYmxlbWxvYWRpbmdyZWYiLCJQcm9ibGVtcyBsb2FkaW5nIHJlZmVyZW5jZSAnezB9JzogezF9IixOLFMuZXJyb3JzWzBdKSl9cmV0dXJuIGgodixTLnNjaGVtYSxiLF8pLGcodixTLnNjaGVtYSxiKX0pfSxnPWZ1bmN0aW9uKHYscCxfKXt2YXIgeD1bXTtyZXR1cm4gci50cmF2ZXJzZU5vZGVzKHYsZnVuY3Rpb24oYil7Zm9yKHZhciBTPW5ldyBTZXQ7Yi4kcmVmOyl7dmFyIE49Yi4kcmVmLHc9Ti5zcGxpdCgiIyIsMik7aWYoZGVsZXRlIGIuJHJlZix3WzBdLmxlbmd0aD4wKXt4LnB1c2goZChiLHdbMF0sd1sxXSxfKSk7cmV0dXJufWVsc2UgaWYoIVMuaGFzKE4pKXt2YXIgTD13WzFdO2goYixwLF8sTCksUy5hZGQoTil9fX0pLHIucHJvbWlzZS5hbGwoeCl9LG09ZnVuY3Rpb24odil7dmFyIHA9bmV3IE1hcDtyZXR1cm4gci50cmF2ZXJzZU5vZGVzKHYsZnVuY3Rpb24oXyl7dmFyIHg9Xy4kaWR8fF8uaWQ7aWYodHlwZW9mIHg9PSJzdHJpbmciJiZ4LmNoYXJBdCgwKT09PSIjIil7dmFyIGI9eC5zdWJzdHJpbmcoMSk7cC5oYXMoYik/aS5wdXNoKE9lKCJqc29uLnNjaGVtYS5kdXBsaWNhdGVpZCIsIkR1cGxpY2F0ZSBpZCBkZWNsYXJhdGlvbjogJ3swfSciLHgpKTpwLnNldChiLF8pfX0pLHB9O3JldHVybiBnKHMscyxuKS50aGVuKGZ1bmN0aW9uKHYpe3JldHVybiBuZXcgTGEocyxpKX0pfSxlLnByb3RvdHlwZS50cmF2ZXJzZU5vZGVzPWZ1bmN0aW9uKHQsbil7aWYoIXR8fHR5cGVvZiB0IT0ib2JqZWN0IilyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpO2Zvcih2YXIgcj1uZXcgU2V0LGk9ZnVuY3Rpb24oKXtmb3IodmFyIHU9W10sZj0wO2Y8YXJndW1lbnRzLmxlbmd0aDtmKyspdVtmXT1hcmd1bWVudHNbZl07Zm9yKHZhciBoPTAsZD11O2g8ZC5sZW5ndGg7aCsrKXt2YXIgZz1kW2hdO3R5cGVvZiBnPT0ib2JqZWN0IiYmby5wdXNoKGcpfX0scz1mdW5jdGlvbigpe2Zvcih2YXIgdT1bXSxmPTA7Zjxhcmd1bWVudHMubGVuZ3RoO2YrKyl1W2ZdPWFyZ3VtZW50c1tmXTtmb3IodmFyIGg9MCxkPXU7aDxkLmxlbmd0aDtoKyspe3ZhciBnPWRbaF07aWYodHlwZW9mIGc9PSJvYmplY3QiKWZvcih2YXIgbSBpbiBnKXt2YXIgdj1tLHA9Z1t2XTt0eXBlb2YgcD09Im9iamVjdCImJm8ucHVzaChwKX19fSxhPWZ1bmN0aW9uKCl7Zm9yKHZhciB1PVtdLGY9MDtmPGFyZ3VtZW50cy5sZW5ndGg7ZisrKXVbZl09YXJndW1lbnRzW2ZdO2Zvcih2YXIgaD0wLGQ9dTtoPGQubGVuZ3RoO2grKyl7dmFyIGc9ZFtoXTtpZihBcnJheS5pc0FycmF5KGcpKWZvcih2YXIgbT0wLHY9ZzttPHYubGVuZ3RoO20rKyl7dmFyIHA9dlttXTt0eXBlb2YgcD09Im9iamVjdCImJm8ucHVzaChwKX19fSxvPVt0XSxsPW8ucG9wKCk7bDspci5oYXMobCl8fChyLmFkZChsKSxuKGwpLGkobC5pdGVtcyxsLmFkZGl0aW9uYWxJdGVtcyxsLmFkZGl0aW9uYWxQcm9wZXJ0aWVzLGwubm90LGwuY29udGFpbnMsbC5wcm9wZXJ0eU5hbWVzLGwuaWYsbC50aGVuLGwuZWxzZSkscyhsLmRlZmluaXRpb25zLGwucHJvcGVydGllcyxsLnBhdHRlcm5Qcm9wZXJ0aWVzLGwuZGVwZW5kZW5jaWVzKSxhKGwuYW55T2YsbC5hbGxPZixsLm9uZU9mLGwuaXRlbXMpKSxsPW8ucG9wKCl9LGUucHJvdG90eXBlLmdldFNjaGVtYUZyb21Qcm9wZXJ0eT1mdW5jdGlvbih0LG4pe3ZhciByLGk7aWYoKChyPW4ucm9vdCk9PT1udWxsfHxyPT09dm9pZCAwP3ZvaWQgMDpyLnR5cGUpPT09Im9iamVjdCIpZm9yKHZhciBzPTAsYT1uLnJvb3QucHJvcGVydGllcztzPGEubGVuZ3RoO3MrKyl7dmFyIG89YVtzXTtpZihvLmtleU5vZGUudmFsdWU9PT0iJHNjaGVtYSImJigoaT1vLnZhbHVlTm9kZSk9PT1udWxsfHxpPT09dm9pZCAwP3ZvaWQgMDppLnR5cGUpPT09InN0cmluZyIpe3ZhciBsPW8udmFsdWVOb2RlLnZhbHVlO3JldHVybiB0aGlzLmNvbnRleHRTZXJ2aWNlJiYhL15cd1tcd1xkKy4tXSo6Ly50ZXN0KGwpJiYobD10aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmVSZWxhdGl2ZVBhdGgobCx0KSksbH19fSxlLnByb3RvdHlwZS5nZXRBc3NvY2lhdGVkU2NoZW1hcz1mdW5jdGlvbih0KXtmb3IodmFyIG49T2JqZWN0LmNyZWF0ZShudWxsKSxyPVtdLGk9WHUodCkscz0wLGE9dGhpcy5maWxlUGF0dGVybkFzc29jaWF0aW9ucztzPGEubGVuZ3RoO3MrKyl7dmFyIG89YVtzXTtpZihvLm1hdGNoZXNQYXR0ZXJuKGkpKWZvcih2YXIgbD0wLHU9by5nZXRVUklzKCk7bDx1Lmxlbmd0aDtsKyspe3ZhciBmPXVbbF07bltmXXx8KHIucHVzaChmKSxuW2ZdPSEwKX19cmV0dXJuIHJ9LGUucHJvdG90eXBlLmdldFNjaGVtYVVSSXNGb3JSZXNvdXJjZT1mdW5jdGlvbih0LG4pe3ZhciByPW4mJnRoaXMuZ2V0U2NoZW1hRnJvbVByb3BlcnR5KHQsbik7cmV0dXJuIHI/W3JdOnRoaXMuZ2V0QXNzb2NpYXRlZFNjaGVtYXModCl9LGUucHJvdG90eXBlLmdldFNjaGVtYUZvclJlc291cmNlPWZ1bmN0aW9uKHQsbil7aWYobil7dmFyIHI9dGhpcy5nZXRTY2hlbWFGcm9tUHJvcGVydHkodCxuKTtpZihyKXt2YXIgaT10dChyKTtyZXR1cm4gdGhpcy5nZXRPckFkZFNjaGVtYUhhbmRsZShpKS5nZXRSZXNvbHZlZFNjaGVtYSgpfX1pZih0aGlzLmNhY2hlZFNjaGVtYUZvclJlc291cmNlJiZ0aGlzLmNhY2hlZFNjaGVtYUZvclJlc291cmNlLnJlc291cmNlPT09dClyZXR1cm4gdGhpcy5jYWNoZWRTY2hlbWFGb3JSZXNvdXJjZS5yZXNvbHZlZFNjaGVtYTt2YXIgcz10aGlzLmdldEFzc29jaWF0ZWRTY2hlbWFzKHQpLGE9cy5sZW5ndGg+MD90aGlzLmNyZWF0ZUNvbWJpbmVkU2NoZW1hKHQscykuZ2V0UmVzb2x2ZWRTY2hlbWEoKTp0aGlzLnByb21pc2UucmVzb2x2ZSh2b2lkIDApO3JldHVybiB0aGlzLmNhY2hlZFNjaGVtYUZvclJlc291cmNlPXtyZXNvdXJjZTp0LHJlc29sdmVkU2NoZW1hOmF9LGF9LGUucHJvdG90eXBlLmNyZWF0ZUNvbWJpbmVkU2NoZW1hPWZ1bmN0aW9uKHQsbil7aWYobi5sZW5ndGg9PT0xKXJldHVybiB0aGlzLmdldE9yQWRkU2NoZW1hSGFuZGxlKG5bMF0pO3ZhciByPSJzY2hlbWFzZXJ2aWNlOi8vY29tYmluZWRTY2hlbWEvIitlbmNvZGVVUklDb21wb25lbnQodCksaT17YWxsT2Y6bi5tYXAoZnVuY3Rpb24ocyl7cmV0dXJueyRyZWY6c319KX07cmV0dXJuIHRoaXMuYWRkU2NoZW1hSGFuZGxlKHIsaSl9LGUucHJvdG90eXBlLmdldE1hdGNoaW5nU2NoZW1hcz1mdW5jdGlvbih0LG4scil7aWYocil7dmFyIGk9ci5pZHx8InNjaGVtYXNlcnZpY2U6Ly91bnRpdGxlZC9tYXRjaGluZ1NjaGVtYXMvIitKdSsrLHM9dGhpcy5hZGRTY2hlbWFIYW5kbGUoaSxyKTtyZXR1cm4gcy5nZXRSZXNvbHZlZFNjaGVtYSgpLnRoZW4oZnVuY3Rpb24oYSl7cmV0dXJuIG4uZ2V0TWF0Y2hpbmdTY2hlbWFzKGEuc2NoZW1hKS5maWx0ZXIoZnVuY3Rpb24obyl7cmV0dXJuIW8uaW52ZXJ0ZWR9KX0pfXJldHVybiB0aGlzLmdldFNjaGVtYUZvclJlc291cmNlKHQudXJpLG4pLnRoZW4oZnVuY3Rpb24oYSl7cmV0dXJuIGE/bi5nZXRNYXRjaGluZ1NjaGVtYXMoYS5zY2hlbWEpLmZpbHRlcihmdW5jdGlvbihvKXtyZXR1cm4hby5pbnZlcnRlZH0pOltdfSl9LGV9KCksSnU9MDtmdW5jdGlvbiB0dChlKXt0cnl7cmV0dXJuIEN0LnBhcnNlKGUpLnRvU3RyaW5nKCEwKX1jYXRjaHtyZXR1cm4gZX19ZnVuY3Rpb24gWHUoZSl7dHJ5e3JldHVybiBDdC5wYXJzZShlKS53aXRoKHtmcmFnbWVudDpudWxsLHF1ZXJ5Om51bGx9KS50b1N0cmluZyghMCl9Y2F0Y2h7cmV0dXJuIGV9fWZ1bmN0aW9uIEFuKGUpe3RyeXt2YXIgdD1DdC5wYXJzZShlKTtpZih0LnNjaGVtZT09PSJmaWxlIilyZXR1cm4gdC5mc1BhdGh9Y2F0Y2h7fXJldHVybiBlfWZ1bmN0aW9uIFl1KGUsdCl7dmFyIG49W10scj1bXSxpPVtdLHM9LTEsYT1MdChlLmdldFRleHQoKSwhMSksbz1hLnNjYW4oKTtmdW5jdGlvbiBsKEYpe24ucHVzaChGKSxyLnB1c2goaS5sZW5ndGgpfWZvcig7byE9PTE3Oyl7c3dpdGNoKG8pe2Nhc2UgMTpjYXNlIDM6e3ZhciB1PWUucG9zaXRpb25BdChhLmdldFRva2VuT2Zmc2V0KCkpLmxpbmUsZj17c3RhcnRMaW5lOnUsZW5kTGluZTp1LGtpbmQ6bz09PTE/Im9iamVjdCI6ImFycmF5In07aS5wdXNoKGYpO2JyZWFrfWNhc2UgMjpjYXNlIDQ6e3ZhciBoPW89PT0yPyJvYmplY3QiOiJhcnJheSI7aWYoaS5sZW5ndGg+MCYmaVtpLmxlbmd0aC0xXS5raW5kPT09aCl7dmFyIGY9aS5wb3AoKSxkPWUucG9zaXRpb25BdChhLmdldFRva2VuT2Zmc2V0KCkpLmxpbmU7ZiYmZD5mLnN0YXJ0TGluZSsxJiZzIT09Zi5zdGFydExpbmUmJihmLmVuZExpbmU9ZC0xLGwoZikscz1mLnN0YXJ0TGluZSl9YnJlYWt9Y2FzZSAxMzp7dmFyIHU9ZS5wb3NpdGlvbkF0KGEuZ2V0VG9rZW5PZmZzZXQoKSkubGluZSxnPWUucG9zaXRpb25BdChhLmdldFRva2VuT2Zmc2V0KCkrYS5nZXRUb2tlbkxlbmd0aCgpKS5saW5lO2EuZ2V0VG9rZW5FcnJvcigpPT09MSYmdSsxPGUubGluZUNvdW50P2Euc2V0UG9zaXRpb24oZS5vZmZzZXRBdChSZS5jcmVhdGUodSsxLDApKSk6dTxnJiYobCh7c3RhcnRMaW5lOnUsZW5kTGluZTpnLGtpbmQ6SHQuQ29tbWVudH0pLHM9dSk7YnJlYWt9Y2FzZSAxMjp7dmFyIG09ZS5nZXRUZXh0KCkuc3Vic3RyKGEuZ2V0VG9rZW5PZmZzZXQoKSxhLmdldFRva2VuTGVuZ3RoKCkpLHY9bS5tYXRjaCgvXlwvXC9ccyojKHJlZ2lvblxiKXwoZW5kcmVnaW9uXGIpLyk7aWYodil7dmFyIGQ9ZS5wb3NpdGlvbkF0KGEuZ2V0VG9rZW5PZmZzZXQoKSkubGluZTtpZih2WzFdKXt2YXIgZj17c3RhcnRMaW5lOmQsZW5kTGluZTpkLGtpbmQ6SHQuUmVnaW9ufTtpLnB1c2goZil9ZWxzZXtmb3IodmFyIHA9aS5sZW5ndGgtMTtwPj0wJiZpW3BdLmtpbmQhPT1IdC5SZWdpb247KXAtLTtpZihwPj0wKXt2YXIgZj1pW3BdO2kubGVuZ3RoPXAsZD5mLnN0YXJ0TGluZSYmcyE9PWYuc3RhcnRMaW5lJiYoZi5lbmRMaW5lPWQsbChmKSxzPWYuc3RhcnRMaW5lKX19fWJyZWFrfX1vPWEuc2NhbigpfXZhciBfPXQmJnQucmFuZ2VMaW1pdDtpZih0eXBlb2YgXyE9Im51bWJlciJ8fG4ubGVuZ3RoPD1fKXJldHVybiBuO3QmJnQub25SYW5nZUxpbWl0RXhjZWVkZWQmJnQub25SYW5nZUxpbWl0RXhjZWVkZWQoZS51cmkpO2Zvcih2YXIgeD1bXSxiPTAsUz1yO2I8Uy5sZW5ndGg7YisrKXt2YXIgTj1TW2JdO048MzAmJih4W05dPSh4W05dfHwwKSsxKX1mb3IodmFyIHc9MCxMPTAscD0wO3A8eC5sZW5ndGg7cCsrKXt2YXIgQT14W3BdO2lmKEEpe2lmKEErdz5fKXtMPXA7YnJlYWt9dys9QX19Zm9yKHZhciBSPVtdLHA9MDtwPG4ubGVuZ3RoO3ArKyl7dmFyIE49cltwXTt0eXBlb2YgTj09Im51bWJlciImJihOPEx8fE49PT1MJiZ3Kys8XykmJlIucHVzaChuW3BdKX1yZXR1cm4gUn1mdW5jdGlvbiBRdShlLHQsbil7ZnVuY3Rpb24gcihvKXtmb3IodmFyIGw9ZS5vZmZzZXRBdChvKSx1PW4uZ2V0Tm9kZUZyb21PZmZzZXQobCwhMCksZj1bXTt1Oyl7c3dpdGNoKHUudHlwZSl7Y2FzZSJzdHJpbmciOmNhc2Uib2JqZWN0IjpjYXNlImFycmF5Ijp2YXIgaD11Lm9mZnNldCsxLGQ9dS5vZmZzZXQrdS5sZW5ndGgtMTtoPGQmJmw+PWgmJmw8PWQmJmYucHVzaChpKGgsZCkpLGYucHVzaChpKHUub2Zmc2V0LHUub2Zmc2V0K3UubGVuZ3RoKSk7YnJlYWs7Y2FzZSJudW1iZXIiOmNhc2UiYm9vbGVhbiI6Y2FzZSJudWxsIjpjYXNlInByb3BlcnR5IjpmLnB1c2goaSh1Lm9mZnNldCx1Lm9mZnNldCt1Lmxlbmd0aCkpO2JyZWFrfWlmKHUudHlwZT09PSJwcm9wZXJ0eSJ8fHUucGFyZW50JiZ1LnBhcmVudC50eXBlPT09ImFycmF5Iil7dmFyIGc9YSh1Lm9mZnNldCt1Lmxlbmd0aCw1KTtnIT09LTEmJmYucHVzaChpKHUub2Zmc2V0LGcpKX11PXUucGFyZW50fWZvcih2YXIgbT12b2lkIDAsdj1mLmxlbmd0aC0xO3Y+PTA7di0tKW09eG4uY3JlYXRlKGZbdl0sbSk7cmV0dXJuIG18fChtPXhuLmNyZWF0ZShYLmNyZWF0ZShvLG8pKSksbX1mdW5jdGlvbiBpKG8sbCl7cmV0dXJuIFguY3JlYXRlKGUucG9zaXRpb25BdChvKSxlLnBvc2l0aW9uQXQobCkpfXZhciBzPUx0KGUuZ2V0VGV4dCgpLCEwKTtmdW5jdGlvbiBhKG8sbCl7cy5zZXRQb3NpdGlvbihvKTt2YXIgdT1zLnNjYW4oKTtyZXR1cm4gdT09PWw/cy5nZXRUb2tlbk9mZnNldCgpK3MuZ2V0VG9rZW5MZW5ndGgoKTotMX1yZXR1cm4gdC5tYXAocil9ZnVuY3Rpb24gWnUoZSx0KXt2YXIgbj1bXTtyZXR1cm4gdC52aXNpdChmdW5jdGlvbihyKXt2YXIgaTtpZihyLnR5cGU9PT0icHJvcGVydHkiJiZyLmtleU5vZGUudmFsdWU9PT0iJHJlZiImJigoaT1yLnZhbHVlTm9kZSk9PT1udWxsfHxpPT09dm9pZCAwP3ZvaWQgMDppLnR5cGUpPT09InN0cmluZyIpe3ZhciBzPXIudmFsdWVOb2RlLnZhbHVlLGE9ZWModCxzKTtpZihhKXt2YXIgbz1lLnBvc2l0aW9uQXQoYS5vZmZzZXQpO24ucHVzaCh7dGFyZ2V0OiIiLmNvbmNhdChlLnVyaSwiIyIpLmNvbmNhdChvLmxpbmUrMSwiLCIpLmNvbmNhdChvLmNoYXJhY3RlcisxKSxyYW5nZTpLdShlLHIudmFsdWVOb2RlKX0pfX1yZXR1cm4hMH0pLFByb21pc2UucmVzb2x2ZShuKX1mdW5jdGlvbiBLdShlLHQpe3JldHVybiBYLmNyZWF0ZShlLnBvc2l0aW9uQXQodC5vZmZzZXQrMSksZS5wb3NpdGlvbkF0KHQub2Zmc2V0K3QubGVuZ3RoLTEpKX1mdW5jdGlvbiBlYyhlLHQpe3ZhciBuPXRjKHQpO3JldHVybiBuP1JyKG4sZS5yb290KTpudWxsfWZ1bmN0aW9uIFJyKGUsdCl7aWYoIXQpcmV0dXJuIG51bGw7aWYoZS5sZW5ndGg9PT0wKXJldHVybiB0O3ZhciBuPWUuc2hpZnQoKTtpZih0JiZ0LnR5cGU9PT0ib2JqZWN0Iil7dmFyIHI9dC5wcm9wZXJ0aWVzLmZpbmQoZnVuY3Rpb24oYSl7cmV0dXJuIGEua2V5Tm9kZS52YWx1ZT09PW59KTtyZXR1cm4gcj9ScihlLHIudmFsdWVOb2RlKTpudWxsfWVsc2UgaWYodCYmdC50eXBlPT09ImFycmF5IiYmbi5tYXRjaCgvXigwfFsxLTldWzAtOV0qKSQvKSl7dmFyIGk9TnVtYmVyLnBhcnNlSW50KG4pLHM9dC5pdGVtc1tpXTtyZXR1cm4gcz9ScihlLHMpOm51bGx9cmV0dXJuIG51bGx9ZnVuY3Rpb24gdGMoZSl7cmV0dXJuIGU9PT0iIyI/W106ZVswXSE9PSIjInx8ZVsxXSE9PSIvIj9udWxsOmUuc3Vic3RyaW5nKDIpLnNwbGl0KC9cLy8pLm1hcChuYyl9ZnVuY3Rpb24gbmMoZSl7cmV0dXJuIGUucmVwbGFjZSgvfjEvZywiLyIpLnJlcGxhY2UoL34wL2csIn4iKX1mdW5jdGlvbiByYyhlKXt2YXIgdD1lLnByb21pc2VDb25zdHJ1Y3Rvcnx8UHJvbWlzZSxuPW5ldyBHdShlLnNjaGVtYVJlcXVlc3RTZXJ2aWNlLGUud29ya3NwYWNlQ29udGV4dCx0KTtuLnNldFNjaGVtYUNvbnRyaWJ1dGlvbnMoRXIpO3ZhciByPW5ldyBSdShuLGUuY29udHJpYnV0aW9ucyx0LGUuY2xpZW50Q2FwYWJpbGl0aWVzKSxpPW5ldyBUdShuLGUuY29udHJpYnV0aW9ucyx0KSxzPW5ldyBCdShuKSxhPW5ldyBJdShuLHQpO3JldHVybntjb25maWd1cmU6ZnVuY3Rpb24obyl7bi5jbGVhckV4dGVybmFsU2NoZW1hcygpLG8uc2NoZW1hcyYmby5zY2hlbWFzLmZvckVhY2goZnVuY3Rpb24obCl7bi5yZWdpc3RlckV4dGVybmFsU2NoZW1hKGwudXJpLGwuZmlsZU1hdGNoLGwuc2NoZW1hKX0pLGEuY29uZmlndXJlKG8pfSxyZXNldFNjaGVtYTpmdW5jdGlvbihvKXtyZXR1cm4gbi5vblJlc291cmNlQ2hhbmdlKG8pfSxkb1ZhbGlkYXRpb246YS5kb1ZhbGlkYXRpb24uYmluZChhKSxnZXRMYW5ndWFnZVN0YXR1czphLmdldExhbmd1YWdlU3RhdHVzLmJpbmQoYSkscGFyc2VKU09ORG9jdW1lbnQ6ZnVuY3Rpb24obyl7cmV0dXJuIGt1KG8se2NvbGxlY3RDb21tZW50czohMH0pfSxuZXdKU09ORG9jdW1lbnQ6ZnVuY3Rpb24obyxsKXtyZXR1cm4gRXUobyxsKX0sZ2V0TWF0Y2hpbmdTY2hlbWFzOm4uZ2V0TWF0Y2hpbmdTY2hlbWFzLmJpbmQobiksZG9SZXNvbHZlOnIuZG9SZXNvbHZlLmJpbmQociksZG9Db21wbGV0ZTpyLmRvQ29tcGxldGUuYmluZChyKSxmaW5kRG9jdW1lbnRTeW1ib2xzOnMuZmluZERvY3VtZW50U3ltYm9scy5iaW5kKHMpLGZpbmREb2N1bWVudFN5bWJvbHMyOnMuZmluZERvY3VtZW50U3ltYm9sczIuYmluZChzKSxmaW5kRG9jdW1lbnRDb2xvcnM6cy5maW5kRG9jdW1lbnRDb2xvcnMuYmluZChzKSxnZXRDb2xvclByZXNlbnRhdGlvbnM6cy5nZXRDb2xvclByZXNlbnRhdGlvbnMuYmluZChzKSxkb0hvdmVyOmkuZG9Ib3Zlci5iaW5kKGkpLGdldEZvbGRpbmdSYW5nZXM6WXUsZ2V0U2VsZWN0aW9uUmFuZ2VzOlF1LGZpbmREZWZpbml0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSl9LGZpbmRMaW5rczpadSxmb3JtYXQ6ZnVuY3Rpb24obyxsLHUpe3ZhciBmPXZvaWQgMDtpZihsKXt2YXIgaD1vLm9mZnNldEF0KGwuc3RhcnQpLGQ9by5vZmZzZXRBdChsLmVuZCktaDtmPXtvZmZzZXQ6aCxsZW5ndGg6ZH19dmFyIGc9e3RhYlNpemU6dT91LnRhYlNpemU6NCxpbnNlcnRTcGFjZXM6KHU9PW51bGw/dm9pZCAwOnUuaW5zZXJ0U3BhY2VzKT09PSEwLGluc2VydEZpbmFsTmV3bGluZToodT09bnVsbD92b2lkIDA6dS5pbnNlcnRGaW5hbE5ld2xpbmUpPT09ITAsZW9sOmAKYH07cmV0dXJuIGd1KG8uZ2V0VGV4dCgpLGYsZykubWFwKGZ1bmN0aW9uKG0pe3JldHVybiBUZS5yZXBsYWNlKFguY3JlYXRlKG8ucG9zaXRpb25BdChtLm9mZnNldCksby5wb3NpdGlvbkF0KG0ub2Zmc2V0K20ubGVuZ3RoKSksbS5jb250ZW50KX0pfX19dmFyIEFhO3R5cGVvZiBmZXRjaDwidSImJihBYT1mdW5jdGlvbihlKXtyZXR1cm4gZmV0Y2goZSkudGhlbih0PT50LnRleHQoKSl9KTt2YXIgaWM9Y2xhc3N7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9jdHg9ZSx0aGlzLl9sYW5ndWFnZVNldHRpbmdzPXQubGFuZ3VhZ2VTZXR0aW5ncyx0aGlzLl9sYW5ndWFnZUlkPXQubGFuZ3VhZ2VJZCx0aGlzLl9sYW5ndWFnZVNlcnZpY2U9cmMoe3dvcmtzcGFjZUNvbnRleHQ6e3Jlc29sdmVSZWxhdGl2ZVBhdGg6KG4scik9Pntjb25zdCBpPXIuc3Vic3RyKDAsci5sYXN0SW5kZXhPZigiLyIpKzEpO3JldHVybiBvYyhpLG4pfX0sc2NoZW1hUmVxdWVzdFNlcnZpY2U6dC5lbmFibGVTY2hlbWFSZXF1ZXN0P0FhOnZvaWQgMCxjbGllbnRDYXBhYmlsaXRpZXM6eXIuTEFURVNUfSksdGhpcy5fbGFuZ3VhZ2VTZXJ2aWNlLmNvbmZpZ3VyZSh0aGlzLl9sYW5ndWFnZVNldHRpbmdzKX1hc3luYyBkb1ZhbGlkYXRpb24oZSl7bGV0IHQ9dGhpcy5fZ2V0VGV4dERvY3VtZW50KGUpO2lmKHQpe2xldCBuPXRoaXMuX2xhbmd1YWdlU2VydmljZS5wYXJzZUpTT05Eb2N1bWVudCh0KTtyZXR1cm4gdGhpcy5fbGFuZ3VhZ2VTZXJ2aWNlLmRvVmFsaWRhdGlvbih0LG4sdGhpcy5fbGFuZ3VhZ2VTZXR0aW5ncyl9cmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSl9YXN5bmMgZG9Db21wbGV0ZShlLHQpe2xldCBuPXRoaXMuX2dldFRleHREb2N1bWVudChlKTtpZighbilyZXR1cm4gbnVsbDtsZXQgcj10aGlzLl9sYW5ndWFnZVNlcnZpY2UucGFyc2VKU09ORG9jdW1lbnQobik7cmV0dXJuIHRoaXMuX2xhbmd1YWdlU2VydmljZS5kb0NvbXBsZXRlKG4sdCxyKX1hc3luYyBkb1Jlc29sdmUoZSl7cmV0dXJuIHRoaXMuX2xhbmd1YWdlU2VydmljZS5kb1Jlc29sdmUoZSl9YXN5bmMgZG9Ib3ZlcihlLHQpe2xldCBuPXRoaXMuX2dldFRleHREb2N1bWVudChlKTtpZighbilyZXR1cm4gbnVsbDtsZXQgcj10aGlzLl9sYW5ndWFnZVNlcnZpY2UucGFyc2VKU09ORG9jdW1lbnQobik7cmV0dXJuIHRoaXMuX2xhbmd1YWdlU2VydmljZS5kb0hvdmVyKG4sdCxyKX1hc3luYyBmb3JtYXQoZSx0LG4pe2xldCByPXRoaXMuX2dldFRleHREb2N1bWVudChlKTtpZighcilyZXR1cm5bXTtsZXQgaT10aGlzLl9sYW5ndWFnZVNlcnZpY2UuZm9ybWF0KHIsdCxuKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGkpfWFzeW5jIHJlc2V0U2NoZW1hKGUpe3JldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5fbGFuZ3VhZ2VTZXJ2aWNlLnJlc2V0U2NoZW1hKGUpKX1hc3luYyBmaW5kRG9jdW1lbnRTeW1ib2xzKGUpe2xldCB0PXRoaXMuX2dldFRleHREb2N1bWVudChlKTtpZighdClyZXR1cm5bXTtsZXQgbj10aGlzLl9sYW5ndWFnZVNlcnZpY2UucGFyc2VKU09ORG9jdW1lbnQodCkscj10aGlzLl9sYW5ndWFnZVNlcnZpY2UuZmluZERvY3VtZW50U3ltYm9sczIodCxuKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHIpfWFzeW5jIGZpbmREb2N1bWVudENvbG9ycyhlKXtsZXQgdD10aGlzLl9nZXRUZXh0RG9jdW1lbnQoZSk7aWYoIXQpcmV0dXJuW107bGV0IG49dGhpcy5fbGFuZ3VhZ2VTZXJ2aWNlLnBhcnNlSlNPTkRvY3VtZW50KHQpLHI9dGhpcy5fbGFuZ3VhZ2VTZXJ2aWNlLmZpbmREb2N1bWVudENvbG9ycyh0LG4pO3JldHVybiBQcm9taXNlLnJlc29sdmUocil9YXN5bmMgZ2V0Q29sb3JQcmVzZW50YXRpb25zKGUsdCxuKXtsZXQgcj10aGlzLl9nZXRUZXh0RG9jdW1lbnQoZSk7aWYoIXIpcmV0dXJuW107bGV0IGk9dGhpcy5fbGFuZ3VhZ2VTZXJ2aWNlLnBhcnNlSlNPTkRvY3VtZW50KHIpLHM9dGhpcy5fbGFuZ3VhZ2VTZXJ2aWNlLmdldENvbG9yUHJlc2VudGF0aW9ucyhyLGksdCxuKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHMpfWFzeW5jIGdldEZvbGRpbmdSYW5nZXMoZSx0KXtsZXQgbj10aGlzLl9nZXRUZXh0RG9jdW1lbnQoZSk7aWYoIW4pcmV0dXJuW107bGV0IHI9dGhpcy5fbGFuZ3VhZ2VTZXJ2aWNlLmdldEZvbGRpbmdSYW5nZXMobix0KTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHIpfWFzeW5jIGdldFNlbGVjdGlvblJhbmdlcyhlLHQpe2xldCBuPXRoaXMuX2dldFRleHREb2N1bWVudChlKTtpZighbilyZXR1cm5bXTtsZXQgcj10aGlzLl9sYW5ndWFnZVNlcnZpY2UucGFyc2VKU09ORG9jdW1lbnQobiksaT10aGlzLl9sYW5ndWFnZVNlcnZpY2UuZ2V0U2VsZWN0aW9uUmFuZ2VzKG4sdCxyKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGkpfWFzeW5jIHBhcnNlSlNPTkRvY3VtZW50KGUpe2xldCB0PXRoaXMuX2dldFRleHREb2N1bWVudChlKTtpZighdClyZXR1cm4gbnVsbDtsZXQgbj10aGlzLl9sYW5ndWFnZVNlcnZpY2UucGFyc2VKU09ORG9jdW1lbnQodCk7cmV0dXJuIFByb21pc2UucmVzb2x2ZShuKX1hc3luYyBnZXRNYXRjaGluZ1NjaGVtYXMoZSl7bGV0IHQ9dGhpcy5fZ2V0VGV4dERvY3VtZW50KGUpO2lmKCF0KXJldHVybltdO2xldCBuPXRoaXMuX2xhbmd1YWdlU2VydmljZS5wYXJzZUpTT05Eb2N1bWVudCh0KTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2xhbmd1YWdlU2VydmljZS5nZXRNYXRjaGluZ1NjaGVtYXModCxuKSl9X2dldFRleHREb2N1bWVudChlKXtsZXQgdD10aGlzLl9jdHguZ2V0TWlycm9yTW9kZWxzKCk7Zm9yKGxldCBuIG9mIHQpaWYobi51cmkudG9TdHJpbmcoKT09PWUpcmV0dXJuIF9yLmNyZWF0ZShlLHRoaXMuX2xhbmd1YWdlSWQsbi52ZXJzaW9uLG4uZ2V0VmFsdWUoKSk7cmV0dXJuIG51bGx9fSxzYz00NyxUcj00NjtmdW5jdGlvbiBhYyhlKXtyZXR1cm4gZS5jaGFyQ29kZUF0KDApPT09c2N9ZnVuY3Rpb24gb2MoZSx0KXtpZihhYyh0KSl7Y29uc3Qgbj1DdC5wYXJzZShlKSxyPXQuc3BsaXQoIi8iKTtyZXR1cm4gbi53aXRoKHtwYXRoOkNhKHIpfSkudG9TdHJpbmcoKX1yZXR1cm4gbGMoZSx0KX1mdW5jdGlvbiBDYShlKXtjb25zdCB0PVtdO2Zvcihjb25zdCByIG9mIGUpci5sZW5ndGg9PT0wfHxyLmxlbmd0aD09PTEmJnIuY2hhckNvZGVBdCgwKT09PVRyfHwoci5sZW5ndGg9PT0yJiZyLmNoYXJDb2RlQXQoMCk9PT1UciYmci5jaGFyQ29kZUF0KDEpPT09VHI/dC5wb3AoKTp0LnB1c2gocikpO2UubGVuZ3RoPjEmJmVbZS5sZW5ndGgtMV0ubGVuZ3RoPT09MCYmdC5wdXNoKCIiKTtsZXQgbj10LmpvaW4oIi8iKTtyZXR1cm4gZVswXS5sZW5ndGg9PT0wJiYobj0iLyIrbiksbn1mdW5jdGlvbiBsYyhlLC4uLnQpe2NvbnN0IG49Q3QucGFyc2UoZSkscj1uLnBhdGguc3BsaXQoIi8iKTtmb3IobGV0IGkgb2YgdClyLnB1c2goLi4uaS5zcGxpdCgiLyIpKTtyZXR1cm4gbi53aXRoKHtwYXRoOkNhKHIpfSkudG9TdHJpbmcoKX1zZWxmLm9ubWVzc2FnZT0oKT0+e1BzKChlLHQpPT5uZXcgaWMoZSx0KSl9fSkoKTsK",eGt=n=>Uint8Array.from(atob(n),e=>e.charCodeAt(0)),sDe=typeof window<"u"&&window.Blob&&new Blob([eGt(oDe)],{type:"text/javascript;charset=utf-8"});function tGt(n){let e;try{if(e=sDe&&(window.URL||window.webkitURL).createObjectURL(sDe),!e)throw"";const t=new Worker(e,{name:n==null?void 0:n.name});return t.addEventListener("error",()=>{(window.URL||window.webkitURL).revokeObjectURL(e)}),t}catch{return new Worker("data:text/javascript;base64,"+oDe,{name:n==null?void 0:n.name})}finally{e&&(window.URL||window.webkitURL).revokeObjectURL(e)}}var nGt=class{constructor(n,e,t){this._onDidChange=new tDe,this._languageId=n,this.setDiagnosticsOptions(e),this.setModeConfiguration(t)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(n){this._diagnosticsOptions=n||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(n){this._modeConfiguration=n||Object.create(null),this._onDidChange.fire(this)}},iGt={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},rGt={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},aDe=new nGt("json",iGt,rGt),oGt=()=>lDe().then(n=>n.getWorker());tG.json={jsonDefaults:aDe,getWorker:oGt};function lDe(){return Promise.resolve().then(()=>HYt)}tG.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]}),tG.onLanguage("json",()=>{lDe().then(n=>n.setupMode(aDe))}),self.MonacoEnvironment={getWorker(n,e){return e==="json"?new tGt:new qVt}},wH.config({monaco:nDe});function sGt(n){const e=n.value?JSON.stringify(n.value,null,4):"{}";return se(gbe,{height:"300px",theme:"vs-dark",defaultLanguage:"json",value:e,onChange:t=>{if(!t)return n.onChange(null);try{const i=JSON.parse(t);i&&n.onChange(i)}catch{}},onMount:(t,i)=>{try{i.languages.json.jsonDefaults.setDiagnosticsOptions({validate:!0,schemas:[{uri:"https://json.schemastore.org/schema",fileMatch:["*"],schema:n.schema}]})}catch{}}})}const aGt={path:"URL Path",header:"Header",query:"Query",body:"Body",cookie:"Cookie",formData:"Form Data"};function lGt(n){return{"&:before":{content:JSON.stringify({path:"/",header:"H",query:"?",body:"{}",cookie:"*",formData:"[]"}[n])}}}function uDe({position:n}){const e=lo();return se("span",{css:Ok({position:"relative",display:"inline-block",textAlign:"center",borderRadius:2,width:"1.2em",height:"1.5em",lineHeight:"1.3em",bottom:"0.1em",padding:1,backgroundColor:e.color.title,color:e.color.bg,fontSize:"0.8em",marginRight:"0.5em",...lGt(n)},"","")})}function uGt({children:n,required:e}){const t=lo();return se("div",{css:[{color:t.color.title,whiteSpace:"nowrap"},e?{position:"relative",fontWeight:"bold","&:after":{content:'"*"',color:t.color.danger,position:"absolute",top:"15%",marginLeft:1}}:null,"",""],children:n})}function YM(n){const{schema:e,fieldLabel:t,fieldDesc:i,schemas:r,children:o}=n;return Gt("div",{style:{fontSize:Er.fontSize.xs},children:[Gt("div",{children:[Gt("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:6},children:[t,i]}),se("div",{children:o})]}),e&&(XI(e)||PI(e))&&se(zpe,{schema:e,schemas:r})]})}var cGt={name:"1886p9b",styles:"width:100%;display:flex;& [role=input]{flex:1;}& [role=btn]{width:2em;display:flex;justify-content:center;cursor:pointer;opacity:0.6;padding-top:10px;}& + &{margin-top:6px;}"};function cDe({children:n}){return se("div",{css:cGt,children:n})}function dDe(n,e){return xo(n,t=>({label:`${e[t]||" "} ${t}`,value:t}))}function J$(n){return n&&(n.type==="file"||n.type==="string"&&n.format==="binary")}function dGt(n){return Fu(bh(n.name),"time")||Fu(bh(n.name),"date")||Fu(n.description,"时间")||Fu(n.description,"日期")}function hDe({schema:n,...e}){const t=lo(),i=PI(n),r=aw(n)+SR(n)+wR(n);if(n.enum){const o=pH(n);return se(mS,{...e,allowClear:!0,placeholder:r,options:dDe(n.enum,o)})}return n.type==="boolean"?se(mS,{...e,allowClear:!0,placeholder:r,options:[{label:"true",value:!0},{label:"false",value:!1}]}):n.type==="integer"||n.type==="number"?se(zle,{...e,style:{width:"100%"},placeholder:r,min:0,changeOnWheel:!1,controls:!1}):J$(n)||i&&J$(n.items)?se(GO,{...e,multiple:i,maxCount:i?void 0:1,fileList:i?e.value:e.value?[e.value]:[],onChange:o=>{e.onChange(i?o.fileList:o.file)},beforeUpload:()=>!1,children:se(jr,{css:[uR(),{"&:hover path":{fill:t.color.primary}},"",""],icon:se(EB,{fill:t.color.menuItem}),children:r||"Upload"})}):se(dh,{...e,allowClear:!0,placeholder:r,onChange:o=>e.onChange(o.target.value)})}function hGt({schema:n,...e}){const t=aw(n)+SR(n)+wR(n),i=pH(n);return se(mS,{...e,allowClear:!0,mode:"multiple",placeholder:t,options:dDe(n.enum,i)})}function mGt({schema:n,isUnix:e,...t}){const i=aw(n)+SR(n)+wR(n),r=(o,s)=>{t.onChange(e?o==null?void 0:o.unix():s)};return se(eue,{allowClear:!0,style:{width:"100%"},placeholder:i,showTime:{showNow:!0,defaultValue:Eo("00:00:00","HH:mm:ss")},value:t.value?e?Eo.unix(t.value):Eo(t.value):void 0,onChange:r})}const j$=({schemas:n,parameter:e,...t})=>{var u;const i=lo(),r=Zm(e.schema||e,n),o=PI(r),s={value:o?t.value?[].concat(t.value):[]:t.value,onChange:t.onChange?t.onChange:()=>{}},a=Gt(uGt,{required:e.required,children:[se(uDe,{position:e.in}),e.name]}),l=se(Bpe,{desc:e.description||r.description||"",ishighLightDesc:!0,isBreakWord:!0});if(XI(r)||o&&XI(r.items))return se(YM,{schema:r,schemas:n,fieldLabel:a,fieldDesc:l,children:se(sGt,{...s,schema:r})});if(o){const c=!!((u=r.items)!=null&&u.enum),d=J$(r.items);return c?se(YM,{schema:r,schemas:n,fieldLabel:a,fieldDesc:l,children:se(hGt,{...s,schema:r.items})}):(d&&Fs(s.value)&&(s.value=[null]),Gt(YM,{schema:r,schemas:n,fieldLabel:a,fieldDesc:l,children:[xo(s.value,(h,m)=>Gt(cDe,{children:[se("span",{role:"input",children:se(hDe,{...s,schema:r.items,value:h,onChange:f=>{s.onChange(xo(s.value,(g,b)=>m===b?f:g))}})}),se("a",{role:"btn",onClick:()=>{s.onChange(Sb(s.value,(f,g)=>m!==g))},children:se(ZB,{fill:i.color.text})})]},m)),se(cDe,{children:Gt(jr,{size:"small",css:[uR(),{"&:hover path":{fill:i.color.primary}},"",""],onClick:()=>{s.onChange(s.value.concat(null))},children:["   ",se(RB,{fill:i.color.menuItem}),"   "]})})]}))}else if(dGt(e)){const c=(e==null?void 0:e.schema).type;return se(YM,{schema:r,schemas:n,fieldLabel:a,fieldDesc:l,children:se(mGt,{...s,schema:r,isUnix:c==="integer"||c==="number"})})}return se(YM,{schema:r,schemas:n,fieldLabel:a,fieldDesc:l,children:se(hDe,{...s,schema:r})})};var fGt=[{name:"Aegean Airlines",iataCode:"A3"},{name:"Aeroflot",iataCode:"SU"},{name:"Aerolineas Argentinas",iataCode:"AR"},{name:"Aeromexico",iataCode:"AM"},{name:"Air Algerie",iataCode:"AH"},{name:"Air Arabia",iataCode:"G9"},{name:"Air Canada",iataCode:"AC"},{name:"Air China",iataCode:"CA"},{name:"Air Europa",iataCode:"UX"},{name:"Air France-KLM",iataCode:"AF"},{name:"Air India",iataCode:"AI"},{name:"Air Mauritius",iataCode:"MK"},{name:"Air New Zealand",iataCode:"NZ"},{name:"Air Niugini",iataCode:"PX"},{name:"Air Tahiti",iataCode:"VT"},{name:"Air Tahiti Nui",iataCode:"TN"},{name:"Air Transat",iataCode:"TS"},{name:"AirAsia X",iataCode:"D7"},{name:"AirAsia",iataCode:"AK"},{name:"Aircalin",iataCode:"SB"},{name:"Alaska Airlines",iataCode:"AS"},{name:"Alitalia",iataCode:"AZ"},{name:"All Nippon Airways",iataCode:"NH"},{name:"Allegiant Air",iataCode:"G4"},{name:"American Airlines",iataCode:"AA"},{name:"Asiana Airlines",iataCode:"OZ"},{name:"Avianca",iataCode:"AV"},{name:"Azul Linhas Aereas Brasileiras",iataCode:"AD"},{name:"Azur Air",iataCode:"ZF"},{name:"Beijing Capital Airlines",iataCode:"JD"},{name:"Boliviana de Aviacion",iataCode:"OB"},{name:"British Airways",iataCode:"BA"},{name:"Cathay Pacific",iataCode:"CX"},{name:"Cebu Pacific Air",iataCode:"5J"},{name:"China Airlines",iataCode:"CI"},{name:"China Eastern Airlines",iataCode:"MU"},{name:"China Southern Airlines",iataCode:"CZ"},{name:"Condor",iataCode:"DE"},{name:"Copa Airlines",iataCode:"CM"},{name:"Delta Air Lines",iataCode:"DL"},{name:"Easyfly",iataCode:"VE"},{name:"EasyJet",iataCode:"U2"},{name:"EcoJet",iataCode:"8J"},{name:"Egyptair",iataCode:"MS"},{name:"El Al",iataCode:"LY"},{name:"Emirates Airlines",iataCode:"EK"},{name:"Ethiopian Airlines",iataCode:"ET"},{name:"Etihad Airways",iataCode:"EY"},{name:"EVA Air",iataCode:"BR"},{name:"Fiji Airways",iataCode:"FJ"},{name:"Finnair",iataCode:"AY"},{name:"Flybondi",iataCode:"FO"},{name:"Flydubai",iataCode:"FZ"},{name:"FlySafair",iataCode:"FA"},{name:"Frontier Airlines",iataCode:"F9"},{name:"Garuda Indonesia",iataCode:"GA"},{name:"Go First",iataCode:"G8"},{name:"Gol Linhas Aereas Inteligentes",iataCode:"G3"},{name:"Hainan Airlines",iataCode:"HU"},{name:"Hawaiian Airlines",iataCode:"HA"},{name:"IndiGo Airlines",iataCode:"6E"},{name:"Japan Airlines",iataCode:"JL"},{name:"Jeju Air",iataCode:"7C"},{name:"Jet2",iataCode:"LS"},{name:"JetBlue Airways",iataCode:"B6"},{name:"JetSMART",iataCode:"JA"},{name:"Juneyao Airlines",iataCode:"HO"},{name:"Kenya Airways",iataCode:"KQ"},{name:"Korean Air",iataCode:"KE"},{name:"Kulula.com",iataCode:"MN"},{name:"LATAM Airlines",iataCode:"LA"},{name:"Lion Air",iataCode:"JT"},{name:"LOT Polish Airlines",iataCode:"LO"},{name:"Lufthansa",iataCode:"LH"},{name:"Libyan Airlines",iataCode:"LN"},{name:"Linea Aerea Amaszonas",iataCode:"Z8"},{name:"Malaysia Airlines",iataCode:"MH"},{name:"Nordwind Airlines",iataCode:"N4"},{name:"Norwegian Air Shuttle",iataCode:"DY"},{name:"Oman Air",iataCode:"WY"},{name:"Pakistan International Airlines",iataCode:"PK"},{name:"Pegasus Airlines",iataCode:"PC"},{name:"Philippine Airlines",iataCode:"PR"},{name:"Qantas Group",iataCode:"QF"},{name:"Qatar Airways",iataCode:"QR"},{name:"Republic Airways",iataCode:"YX"},{name:"Royal Air Maroc",iataCode:"AT"},{name:"Ryanair",iataCode:"FR"},{name:"S7 Airlines",iataCode:"S7"},{name:"SAS",iataCode:"SK"},{name:"Satena",iataCode:"9R"},{name:"Saudia",iataCode:"SV"},{name:"Shandong Airlines",iataCode:"SC"},{name:"Sichuan Airlines",iataCode:"3U"},{name:"Singapore Airlines",iataCode:"SQ"},{name:"Sky Airline",iataCode:"H2"},{name:"SkyWest Airlines",iataCode:"OO"},{name:"South African Airways",iataCode:"SA"},{name:"Southwest Airlines",iataCode:"WN"},{name:"SpiceJet",iataCode:"SG"},{name:"Spirit Airlines",iataCode:"NK"},{name:"Spring Airlines",iataCode:"9S"},{name:"SriLankan Airlines",iataCode:"UL"},{name:"Star Peru",iataCode:"2I"},{name:"Sun Country Airlines",iataCode:"SY"},{name:"SunExpress",iataCode:"XQ"},{name:"TAP Air Portugal",iataCode:"TP"},{name:"Thai AirAsia",iataCode:"FD"},{name:"Thai Airways",iataCode:"TG"},{name:"TUI Airways",iataCode:"BY"},{name:"Tunisair",iataCode:"TU"},{name:"Turkish Airlines",iataCode:"TK"},{name:"Ukraine International",iataCode:"PS"},{name:"United Airlines",iataCode:"UA"},{name:"Ural Airlines",iataCode:"U6"},{name:"VietJet Air",iataCode:"VJ"},{name:"Vietnam Airlines",iataCode:"VN"},{name:"Virgin Atlantic Airways",iataCode:"VS"},{name:"Virgin Australia",iataCode:"VA"},{name:"VivaAerobus",iataCode:"VB"},{name:"VOEPASS Linhas Aereas",iataCode:"2Z"},{name:"Volaris",iataCode:"Y4"},{name:"WestJet",iataCode:"WS"},{name:"Wingo",iataCode:"P5"},{name:"Wizz Air",iataCode:"W6"}],gGt=[{name:"Aerospatiale/BAC Concorde",iataTypeCode:"SSC"},{name:"Airbus A300",iataTypeCode:"AB3"},{name:"Airbus A310",iataTypeCode:"310"},{name:"Airbus A310-200",iataTypeCode:"312"},{name:"Airbus A310-300",iataTypeCode:"313"},{name:"Airbus A318",iataTypeCode:"318"},{name:"Airbus A319",iataTypeCode:"319"},{name:"Airbus A319neo",iataTypeCode:"31N"},{name:"Airbus A320",iataTypeCode:"320"},{name:"Airbus A320neo",iataTypeCode:"32N"},{name:"Airbus A321",iataTypeCode:"321"},{name:"Airbus A321neo",iataTypeCode:"32Q"},{name:"Airbus A330",iataTypeCode:"330"},{name:"Airbus A330-200",iataTypeCode:"332"},{name:"Airbus A330-300",iataTypeCode:"333"},{name:"Airbus A330-800neo",iataTypeCode:"338"},{name:"Airbus A330-900neo",iataTypeCode:"339"},{name:"Airbus A340",iataTypeCode:"340"},{name:"Airbus A340-200",iataTypeCode:"342"},{name:"Airbus A340-300",iataTypeCode:"343"},{name:"Airbus A340-500",iataTypeCode:"345"},{name:"Airbus A340-600",iataTypeCode:"346"},{name:"Airbus A350",iataTypeCode:"350"},{name:"Airbus A350-900",iataTypeCode:"359"},{name:"Airbus A350-1000",iataTypeCode:"351"},{name:"Airbus A380",iataTypeCode:"380"},{name:"Airbus A380-800",iataTypeCode:"388"},{name:"Antonov An-12",iataTypeCode:"ANF"},{name:"Antonov An-24",iataTypeCode:"AN4"},{name:"Antonov An-26",iataTypeCode:"A26"},{name:"Antonov An-28",iataTypeCode:"A28"},{name:"Antonov An-30",iataTypeCode:"A30"},{name:"Antonov An-32",iataTypeCode:"A32"},{name:"Antonov An-72",iataTypeCode:"AN7"},{name:"Antonov An-124 Ruslan",iataTypeCode:"A4F"},{name:"Antonov An-140",iataTypeCode:"A40"},{name:"Antonov An-148",iataTypeCode:"A81"},{name:"Antonov An-158",iataTypeCode:"A58"},{name:"Antonov An-225 Mriya",iataTypeCode:"A5F"},{name:"Boeing 707",iataTypeCode:"703"},{name:"Boeing 717",iataTypeCode:"717"},{name:"Boeing 720B",iataTypeCode:"B72"},{name:"Boeing 727",iataTypeCode:"727"},{name:"Boeing 727-100",iataTypeCode:"721"},{name:"Boeing 727-200",iataTypeCode:"722"},{name:"Boeing 737 MAX 7",iataTypeCode:"7M7"},{name:"Boeing 737 MAX 8",iataTypeCode:"7M8"},{name:"Boeing 737 MAX 9",iataTypeCode:"7M9"},{name:"Boeing 737 MAX 10",iataTypeCode:"7MJ"},{name:"Boeing 737",iataTypeCode:"737"},{name:"Boeing 737-100",iataTypeCode:"731"},{name:"Boeing 737-200",iataTypeCode:"732"},{name:"Boeing 737-300",iataTypeCode:"733"},{name:"Boeing 737-400",iataTypeCode:"734"},{name:"Boeing 737-500",iataTypeCode:"735"},{name:"Boeing 737-600",iataTypeCode:"736"},{name:"Boeing 737-700",iataTypeCode:"73G"},{name:"Boeing 737-800",iataTypeCode:"738"},{name:"Boeing 737-900",iataTypeCode:"739"},{name:"Boeing 747",iataTypeCode:"747"},{name:"Boeing 747-100",iataTypeCode:"741"},{name:"Boeing 747-200",iataTypeCode:"742"},{name:"Boeing 747-300",iataTypeCode:"743"},{name:"Boeing 747-400",iataTypeCode:"744"},{name:"Boeing 747-400D",iataTypeCode:"74J"},{name:"Boeing 747-8",iataTypeCode:"748"},{name:"Boeing 747SP",iataTypeCode:"74L"},{name:"Boeing 747SR",iataTypeCode:"74R"},{name:"Boeing 757",iataTypeCode:"757"},{name:"Boeing 757-200",iataTypeCode:"752"},{name:"Boeing 757-300",iataTypeCode:"753"},{name:"Boeing 767",iataTypeCode:"767"},{name:"Boeing 767-200",iataTypeCode:"762"},{name:"Boeing 767-300",iataTypeCode:"763"},{name:"Boeing 767-400",iataTypeCode:"764"},{name:"Boeing 777",iataTypeCode:"777"},{name:"Boeing 777-200",iataTypeCode:"772"},{name:"Boeing 777-200LR",iataTypeCode:"77L"},{name:"Boeing 777-300",iataTypeCode:"773"},{name:"Boeing 777-300ER",iataTypeCode:"77W"},{name:"Boeing 787",iataTypeCode:"787"},{name:"Boeing 787-8",iataTypeCode:"788"},{name:"Boeing 787-9",iataTypeCode:"789"},{name:"Boeing 787-10",iataTypeCode:"781"},{name:"Canadair Challenger",iataTypeCode:"CCJ"},{name:"Canadair CL-44",iataTypeCode:"CL4"},{name:"Canadair Regional Jet 100",iataTypeCode:"CR1"},{name:"Canadair Regional Jet 200",iataTypeCode:"CR2"},{name:"Canadair Regional Jet 700",iataTypeCode:"CR7"},{name:"Canadair Regional Jet 705",iataTypeCode:"CRA"},{name:"Canadair Regional Jet 900",iataTypeCode:"CR9"},{name:"Canadair Regional Jet 1000",iataTypeCode:"CRK"},{name:"De Havilland Canada DHC-2 Beaver",iataTypeCode:"DHP"},{name:"De Havilland Canada DHC-2 Turbo-Beaver",iataTypeCode:"DHR"},{name:"De Havilland Canada DHC-3 Otter",iataTypeCode:"DHL"},{name:"De Havilland Canada DHC-4 Caribou",iataTypeCode:"DHC"},{name:"De Havilland Canada DHC-6 Twin Otter",iataTypeCode:"DHT"},{name:"De Havilland Canada DHC-7 Dash 7",iataTypeCode:"DH7"},{name:"De Havilland Canada DHC-8-100 Dash 8 / 8Q",iataTypeCode:"DH1"},{name:"De Havilland Canada DHC-8-200 Dash 8 / 8Q",iataTypeCode:"DH2"},{name:"De Havilland Canada DHC-8-300 Dash 8 / 8Q",iataTypeCode:"DH3"},{name:"De Havilland Canada DHC-8-400 Dash 8Q",iataTypeCode:"DH4"},{name:"De Havilland DH.104 Dove",iataTypeCode:"DHD"},{name:"De Havilland DH.114 Heron",iataTypeCode:"DHH"},{name:"Douglas DC-3",iataTypeCode:"D3F"},{name:"Douglas DC-6",iataTypeCode:"D6F"},{name:"Douglas DC-8-50",iataTypeCode:"D8T"},{name:"Douglas DC-8-62",iataTypeCode:"D8L"},{name:"Douglas DC-8-72",iataTypeCode:"D8Q"},{name:"Douglas DC-9-10",iataTypeCode:"D91"},{name:"Douglas DC-9-20",iataTypeCode:"D92"},{name:"Douglas DC-9-30",iataTypeCode:"D93"},{name:"Douglas DC-9-40",iataTypeCode:"D94"},{name:"Douglas DC-9-50",iataTypeCode:"D95"},{name:"Douglas DC-10",iataTypeCode:"D10"},{name:"Douglas DC-10-10",iataTypeCode:"D1X"},{name:"Douglas DC-10-30",iataTypeCode:"D1Y"},{name:"Embraer 170",iataTypeCode:"E70"},{name:"Embraer 175",iataTypeCode:"E75"},{name:"Embraer 190",iataTypeCode:"E90"},{name:"Embraer 195",iataTypeCode:"E95"},{name:"Embraer E190-E2",iataTypeCode:"290"},{name:"Embraer E195-E2",iataTypeCode:"295"},{name:"Embraer EMB.110 Bandeirante",iataTypeCode:"EMB"},{name:"Embraer EMB.120 Brasilia",iataTypeCode:"EM2"},{name:"Embraer Legacy 600",iataTypeCode:"ER3"},{name:"Embraer Phenom 100",iataTypeCode:"EP1"},{name:"Embraer Phenom 300",iataTypeCode:"EP3"},{name:"Embraer RJ135",iataTypeCode:"ER3"},{name:"Embraer RJ140",iataTypeCode:"ERD"},{name:"Embraer RJ145 Amazon",iataTypeCode:"ER4"},{name:"Ilyushin IL18",iataTypeCode:"IL8"},{name:"Ilyushin IL62",iataTypeCode:"IL6"},{name:"Ilyushin IL76",iataTypeCode:"IL7"},{name:"Ilyushin IL86",iataTypeCode:"ILW"},{name:"Ilyushin IL96-300",iataTypeCode:"I93"},{name:"Ilyushin IL114",iataTypeCode:"I14"},{name:"Lockheed L-182 / 282 / 382 (L-100) Hercules",iataTypeCode:"LOH"},{name:"Lockheed L-188 Electra",iataTypeCode:"LOE"},{name:"Lockheed L-1011 Tristar",iataTypeCode:"L10"},{name:"Lockheed L-1049 Super Constellation",iataTypeCode:"L49"},{name:"McDonnell Douglas MD11",iataTypeCode:"M11"},{name:"McDonnell Douglas MD80",iataTypeCode:"M80"},{name:"McDonnell Douglas MD81",iataTypeCode:"M81"},{name:"McDonnell Douglas MD82",iataTypeCode:"M82"},{name:"McDonnell Douglas MD83",iataTypeCode:"M83"},{name:"McDonnell Douglas MD87",iataTypeCode:"M87"},{name:"McDonnell Douglas MD88",iataTypeCode:"M88"},{name:"McDonnell Douglas MD90",iataTypeCode:"M90"},{name:"Sukhoi Superjet 100-95",iataTypeCode:"SU9"},{name:"Tupolev Tu-134",iataTypeCode:"TU3"},{name:"Tupolev Tu-154",iataTypeCode:"TU5"},{name:"Tupolev Tu-204",iataTypeCode:"T20"},{name:"Yakovlev Yak-40",iataTypeCode:"YK4"},{name:"Yakovlev Yak-42",iataTypeCode:"YK2"}],pGt=[{name:"Adelaide International Airport",iataCode:"ADL"},{name:"Adolfo Suarez Madrid-Barajas Airport",iataCode:"MAD"},{name:"Aeroparque Jorge Newbery Airport",iataCode:"AEP"},{name:"Afonso Pena International Airport",iataCode:"CWB"},{name:"Alfonso Bonilla Aragon International Airport",iataCode:"CLO"},{name:"Amsterdam Airport Schiphol",iataCode:"AMS"},{name:"Arturo Merino Benitez International Airport",iataCode:"SCL"},{name:"Auckland International Airport",iataCode:"AKL"},{name:"Beijing Capital International Airport",iataCode:"PEK"},{name:"Belem Val de Cans International Airport",iataCode:"BEL"},{name:"Belo Horizonte Tancredo Neves International Airport",iataCode:"CNF"},{name:"Berlin-Tegel Airport",iataCode:"TXL"},{name:"Bole International Airport",iataCode:"ADD"},{name:"Brasilia-Presidente Juscelino Kubitschek International Airport",iataCode:"BSB"},{name:"Brisbane International Airport",iataCode:"BNE"},{name:"Brussels Airport",iataCode:"BRU"},{name:"Cairns Airport",iataCode:"CNS"},{name:"Cairo International Airport",iataCode:"CAI"},{name:"Canberra Airport",iataCode:"CBR"},{name:"Capetown International Airport",iataCode:"CPT"},{name:"Charles de Gaulle International Airport",iataCode:"CDG"},{name:"Charlotte Douglas International Airport",iataCode:"CLT"},{name:"Chengdu Shuangliu International Airport",iataCode:"CTU"},{name:"Chhatrapati Shivaji International Airport",iataCode:"BOM"},{name:"Chicago O'Hare International Airport",iataCode:"ORD"},{name:"Chongqing Jiangbei International Airport",iataCode:"CKG"},{name:"Christchurch International Airport",iataCode:"CHC"},{name:"Copenhagen Kastrup Airport",iataCode:"CPH"},{name:"Dallas Fort Worth International Airport",iataCode:"DFW"},{name:"Daniel K. Inouye International Airport",iataCode:"HNL"},{name:"Denver International Airport",iataCode:"DEN"},{name:"Don Mueang International Airport",iataCode:"DMK"},{name:"Dubai International Airport",iataCode:"DXB"},{name:"Dublin Airport",iataCode:"DUB"},{name:"Dusseldorf Airport",iataCode:"DUS"},{name:"El Dorado International Airport",iataCode:"BOG"},{name:"Eleftherios Venizelos International Airport",iataCode:"ATH"},{name:"Faa'a International Airport",iataCode:"PPT"},{name:"Fort Lauderdale Hollywood International Airport",iataCode:"FLL"},{name:"Fortaleza Pinto Martins International Airport",iataCode:"FOR"},{name:"Frankfurt am Main Airport",iataCode:"FRA"},{name:"George Bush Intercontinental Houston Airport",iataCode:"IAH"},{name:"Gold Coast Airport",iataCode:"OOL"},{name:"Guarulhos - Governador Andre Franco Montoro International Airport",iataCode:"GRU"},{name:"Hartsfield-Jackson Atlanta International Airport",iataCode:"ATL"},{name:"Helsinki Vantaa Airport",iataCode:"HEL"},{name:"Hobart International Airport",iataCode:"HBA"},{name:"Hong Kong International Airport",iataCode:"HKG"},{name:"Houari Boumediene Airport",iataCode:"ALG"},{name:"Hurgada International Airport",iataCode:"HRG"},{name:"Incheon International Airport",iataCode:"ICN"},{name:"Indira Gandhi International Airport",iataCode:"DEL"},{name:"Istanbul Airport",iataCode:"IST"},{name:"Jacksons International Airport",iataCode:"POM"},{name:"Jeju International Airport",iataCode:"CJU"},{name:"John F Kennedy International Airport",iataCode:"JFK"},{name:"Jorge Chavez International Airport",iataCode:"LIM"},{name:"Jose Maria Cordova International Airport",iataCode:"MDE"},{name:"Josep Tarradellas Barcelona-El Prat Airport",iataCode:"BCN"},{name:"Kahului Airport",iataCode:"OGG"},{name:"King Abdulaziz International Airport",iataCode:"JED"},{name:"Kuala Lumpur International Airport",iataCode:"KUL"},{name:"Kunming Changshui International Airport",iataCode:"KMG"},{name:"La Tontouta International Airport",iataCode:"NOU"},{name:"Leonardo da Vinci-Fiumicino Airport",iataCode:"FCO"},{name:"London Heathrow Airport",iataCode:"LHR"},{name:"Los Angeles International Airport",iataCode:"LAX"},{name:"McCarran International Airport",iataCode:"LAS"},{name:"Melbourne International Airport",iataCode:"MEL"},{name:"Mexico City International Airport",iataCode:"MEX"},{name:"Miami International Airport",iataCode:"MIA"},{name:"Ministro Pistarini International Airport",iataCode:"EZE"},{name:"Minneapolis-St Paul International/Wold-Chamberlain Airport",iataCode:"MSP"},{name:"Mohammed V International Airport",iataCode:"CMN"},{name:"Moscow Domodedovo Airport",iataCode:"DME"},{name:"Munich Airport",iataCode:"MUC"},{name:"Murtala Muhammed International Airport",iataCode:"LOS"},{name:"Nadi International Airport",iataCode:"NAN"},{name:"Nairobi Jomo Kenyatta International Airport",iataCode:"NBO"},{name:"Narita International Airport",iataCode:"NRT"},{name:"Newark Liberty International Airport",iataCode:"EWR"},{name:"Ninoy Aquino International Airport",iataCode:"MNL"},{name:"Noumea Magenta Airport",iataCode:"GEA"},{name:"O. R. Tambo International Airport",iataCode:"JNB"},{name:"Orlando International Airport",iataCode:"MCO"},{name:"Oslo Lufthavn",iataCode:"OSL"},{name:"Perth Airport",iataCode:"PER"},{name:"Phoenix Sky Harbor International Airport",iataCode:"PHX"},{name:"Recife Guararapes-Gilberto Freyre International Airport",iataCode:"REC"},{name:"Rio de Janeiro Galeao International Airport",iataCode:"GIG"},{name:"Salgado Filho International Airport",iataCode:"POA"},{name:"Salvador Deputado Luis Eduardo Magalhaes International Airport",iataCode:"SSA"},{name:"San Francisco International Airport",iataCode:"SFO"},{name:"Santos Dumont Airport",iataCode:"SDU"},{name:"Sao Paulo-Congonhas Airport",iataCode:"CGH"},{name:"Seattle Tacoma International Airport",iataCode:"SEA"},{name:"Shanghai Hongqiao International Airport",iataCode:"SHA"},{name:"Shanghai Pudong International Airport",iataCode:"PVG"},{name:"Shenzhen Bao'an International Airport",iataCode:"SZX"},{name:"Sheremetyevo International Airport",iataCode:"SVO"},{name:"Singapore Changi Airport",iataCode:"SIN"},{name:"Soekarno-Hatta International Airport",iataCode:"CGK"},{name:'Stockholm-Arlanda Airport"',iataCode:"ARN"},{name:"Suvarnabhumi Airport",iataCode:"BKK"},{name:"Sydney Kingsford Smith International Airport",iataCode:"SYD"},{name:"Taiwan Taoyuan International Airport",iataCode:"TPE"},{name:"Tan Son Nhat International Airport",iataCode:"SGN"},{name:"Tokyo Haneda International Airport",iataCode:"HND"},{name:"Toronto Pearson International Airport",iataCode:"YYZ"},{name:"Tunis Carthage International Airport",iataCode:"TUN"},{name:"Vancouver International Airport",iataCode:"YVR"},{name:"Vienna International Airport",iataCode:"VIE"},{name:"Viracopos International Airport",iataCode:"VCP"},{name:"Vnukovo International Airport",iataCode:"VKO"},{name:"Wellington International Airport",iataCode:"WLG"},{name:"Xi'an Xianyang International Airport",iataCode:"XIY"},{name:"Zhukovsky International Airport",iataCode:"ZIA"},{name:"Zurich Airport",iataCode:"ZRH"}],bGt={airline:fGt,airplane:gGt,airport:pGt},yGt=bGt,vGt=["Giant panda","Spectacled bear","Sun bear","Sloth bear","American black bear","Asian black bear","Brown bear","Polar bear"],CGt=["Red-throated Loon","Arctic Loon","Pacific Loon","Common Loon","Yellow-billed Loon","Least Grebe","Pied-billed Grebe","Horned Grebe","Red-necked Grebe","Eared Grebe","Western Grebe","Clark's Grebe","Yellow-nosed Albatross","Shy Albatross","Black-browed Albatross","Wandering Albatross","Laysan Albatross","Black-footed Albatross","Short-tailed Albatross","Northern Fulmar","Herald Petrel","Murphy's Petrel","Mottled Petrel","Black-capped Petrel","Cook's Petrel","Stejneger's Petrel","White-chinned Petrel","Streaked Shearwater","Cory's Shearwater","Pink-footed Shearwater","Flesh-footed Shearwater","Greater Shearwater","Wedge-tailed Shearwater","Buller's Shearwater","Sooty Shearwater","Short-tailed Shearwater","Manx Shearwater","Black-vented Shearwater","Audubon's Shearwater","Little Shearwater","Wilson's Storm-Petrel","White-faced Storm-Petrel","European Storm-Petrel","Fork-tailed Storm-Petrel","Leach's Storm-Petrel","Ashy Storm-Petrel","Band-rumped Storm-Petrel","Wedge-rumped Storm-Petrel","Black Storm-Petrel","Least Storm-Petrel","White-tailed Tropicbird","Red-billed Tropicbird","Red-tailed Tropicbird","Masked Booby","Blue-footed Booby","Brown Booby","Red-footed Booby","Northern Gannet","American White Pelican","Brown Pelican","Brandt's Cormorant","Neotropic Cormorant","Double-crested Cormorant","Great Cormorant","Red-faced Cormorant","Pelagic Cormorant","Anhinga","Magnificent Frigatebird","Great Frigatebird","Lesser Frigatebird","American Bittern","Yellow Bittern","Least Bittern","Great Blue Heron","Great Egret","Chinese Egret","Little Egret","Western Reef-Heron","Snowy Egret","Little Blue Heron","Tricolored Heron","Reddish Egret","Cattle Egret","Green Heron","Black-crowned Night-Heron","Yellow-crowned Night-Heron","White Ibis","Scarlet Ibis","Glossy Ibis","White-faced Ibis","Roseate Spoonbill","Jabiru","Wood Stork","Black Vulture","Turkey Vulture","California Condor","Greater Flamingo","Black-bellied Whistling-Duck","Fulvous Whistling-Duck","Bean Goose","Pink-footed Goose","Greater White-fronted Goose","Lesser White-fronted Goose","Emperor Goose","Snow Goose","Ross's Goose","Canada Goose","Brant","Barnacle Goose","Mute Swan","Trumpeter Swan","Tundra Swan","Whooper Swan","Muscovy Duck","Wood Duck","Gadwall","Falcated Duck","Eurasian Wigeon","American Wigeon","American Black Duck","Mallard","Mottled Duck","Spot-billed Duck","Blue-winged Teal","Cinnamon Teal","Northern Shoveler","White-cheeked Pintail","Northern Pintail","Garganey","Baikal Teal","Green-winged Teal","Canvasback","Redhead","Common Pochard","Ring-necked Duck","Tufted Duck","Greater Scaup","Lesser Scaup","Steller's Eider","Spectacled Eider","King Eider","Common Eider","Harlequin Duck","Labrador Duck","Surf Scoter","White-winged Scoter","Black Scoter","Oldsquaw","Bufflehead","Common Goldeneye","Barrow's Goldeneye","Smew","Hooded Merganser","Common Merganser","Red-breasted Merganser","Masked Duck","Ruddy Duck","Osprey","Hook-billed Kite","Swallow-tailed Kite","White-tailed Kite","Snail Kite","Mississippi Kite","Bald Eagle","White-tailed Eagle","Steller's Sea-Eagle","Northern Harrier","Sharp-shinned Hawk","Cooper's Hawk","Northern Goshawk","Crane Hawk","Gray Hawk","Common Black-Hawk","Harris's Hawk","Roadside Hawk","Red-shouldered Hawk","Broad-winged Hawk","Short-tailed Hawk","Swainson's Hawk","White-tailed Hawk","Zone-tailed Hawk","Red-tailed Hawk","Ferruginous Hawk","Rough-legged Hawk","Golden Eagle","Collared Forest-Falcon","Crested Caracara","Eurasian Kestrel","American Kestrel","Merlin","Eurasian Hobby","Aplomado Falcon","Gyrfalcon","Peregrine Falcon","Prairie Falcon","Plain Chachalaca","Chukar","Himalayan Snowcock","Gray Partridge","Ring-necked Pheasant","Ruffed Grouse","Sage Grouse","Spruce Grouse","Willow Ptarmigan","Rock Ptarmigan","White-tailed Ptarmigan","Blue Grouse","Sharp-tailed Grouse","Greater Prairie-chicken","Lesser Prairie-chicken","Wild Turkey","Mountain Quail","Scaled Quail","California Quail","Gambel's Quail","Northern Bobwhite","Montezuma Quail","Yellow Rail","Black Rail","Corn Crake","Clapper Rail","King Rail","Virginia Rail","Sora","Paint-billed Crake","Spotted Rail","Purple Gallinule","Azure Gallinule","Common Moorhen","Eurasian Coot","American Coot","Limpkin","Sandhill Crane","Common Crane","Whooping Crane","Double-striped Thick-knee","Northern Lapwing","Black-bellied Plover","European Golden-Plover","American Golden-Plover","Pacific Golden-Plover","Mongolian Plover","Collared Plover","Snowy Plover","Wilson's Plover","Common Ringed Plover","Semipalmated Plover","Piping Plover","Little Ringed Plover","Killdeer","Mountain Plover","Eurasian Dotterel","Eurasian Oystercatcher","American Oystercatcher","Black Oystercatcher","Black-winged Stilt","Black-necked Stilt","American Avocet","Northern Jacana","Common Greenshank","Greater Yellowlegs","Lesser Yellowlegs","Marsh Sandpiper","Spotted Redshank","Wood Sandpiper","Green Sandpiper","Solitary Sandpiper","Willet","Wandering Tattler","Gray-tailed Tattler","Common Sandpiper","Spotted Sandpiper","Terek Sandpiper","Upland Sandpiper","Little Curlew","Eskimo Curlew","Whimbrel","Bristle-thighed Curlew","Far Eastern Curlew","Slender-billed Curlew","Eurasian Curlew","Long-billed Curlew","Black-tailed Godwit","Hudsonian Godwit","Bar-tailed Godwit","Marbled Godwit","Ruddy Turnstone","Black Turnstone","Surfbird","Great Knot","Red Knot","Sanderling","Semipalmated Sandpiper","Western Sandpiper","Red-necked Stint","Little Stint","Temminck's Stint","Long-toed Stint","Least Sandpiper","White-rumped Sandpiper","Baird's Sandpiper","Pectoral Sandpiper","Sharp-tailed Sandpiper","Purple Sandpiper","Rock Sandpiper","Dunlin","Curlew Sandpiper","Stilt Sandpiper","Spoonbill Sandpiper","Broad-billed Sandpiper","Buff-breasted Sandpiper","Ruff","Short-billed Dowitcher","Long-billed Dowitcher","Jack Snipe","Common Snipe","Pin-tailed Snipe","Eurasian Woodcock","American Woodcock","Wilson's Phalarope","Red-necked Phalarope","Red Phalarope","Oriental Pratincole","Great Skua","South Polar Skua","Pomarine Jaeger","Parasitic Jaeger","Long-tailed Jaeger","Laughing Gull","Franklin's Gull","Little Gull","Black-headed Gull","Bonaparte's Gull","Heermann's Gull","Band-tailed Gull","Black-tailed Gull","Mew Gull","Ring-billed Gull","California Gull","Herring Gull","Yellow-legged Gull","Thayer's Gull","Iceland Gull","Lesser Black-backed Gull","Slaty-backed Gull","Yellow-footed Gull","Western Gull","Glaucous-winged Gull","Glaucous Gull","Great Black-backed Gull","Sabine's Gull","Black-legged Kittiwake","Red-legged Kittiwake","Ross's Gull","Ivory Gull","Gull-billed Tern","Caspian Tern","Royal Tern","Elegant Tern","Sandwich Tern","Roseate Tern","Common Tern","Arctic Tern","Forster's Tern","Least Tern","Aleutian Tern","Bridled Tern","Sooty Tern","Large-billed Tern","White-winged Tern","Whiskered Tern","Black Tern","Brown Noddy","Black Noddy","Black Skimmer","Dovekie","Common Murre","Thick-billed Murre","Razorbill","Great Auk","Black Guillemot","Pigeon Guillemot","Long-billed Murrelet","Marbled Murrelet","Kittlitz's Murrelet","Xantus's Murrelet","Craveri's Murrelet","Ancient Murrelet","Cassin's Auklet","Parakeet Auklet","Least Auklet","Whiskered Auklet","Crested Auklet","Rhinoceros Auklet","Atlantic Puffin","Horned Puffin","Tufted Puffin","Rock Dove","Scaly-naped Pigeon","White-crowned Pigeon","Red-billed Pigeon","Band-tailed Pigeon","Oriental Turtle-Dove","European Turtle-Dove","Eurasian Collared-Dove","Spotted Dove","White-winged Dove","Zenaida Dove","Mourning Dove","Passenger Pigeon","Inca Dove","Common Ground-Dove","Ruddy Ground-Dove","White-tipped Dove","Key West Quail-Dove","Ruddy Quail-Dove","Budgerigar","Monk Parakeet","Carolina Parakeet","Thick-billed Parrot","White-winged Parakeet","Red-crowned Parrot","Common Cuckoo","Oriental Cuckoo","Black-billed Cuckoo","Yellow-billed Cuckoo","Mangrove Cuckoo","Greater Roadrunner","Smooth-billed Ani","Groove-billed Ani","Barn Owl","Flammulated Owl","Oriental Scops-Owl","Western Screech-Owl","Eastern Screech-Owl","Whiskered Screech-Owl","Great Horned Owl","Snowy Owl","Northern Hawk Owl","Northern Pygmy-Owl","Ferruginous Pygmy-Owl","Elf Owl","Burrowing Owl","Mottled Owl","Spotted Owl","Barred Owl","Great Gray Owl","Long-eared Owl","Short-eared Owl","Boreal Owl","Northern Saw-whet Owl","Lesser Nighthawk","Common Nighthawk","Antillean Nighthawk","Common Pauraque","Common Poorwill","Chuck-will's-widow","Buff-collared Nightjar","Whip-poor-will","Jungle Nightjar","Black Swift","White-collared Swift","Chimney Swift","Vaux's Swift","White-throated Needletail","Common Swift","Fork-tailed Swift","White-throated Swift","Antillean Palm Swift","Green Violet-ear","Green-breasted Mango","Broad-billed Hummingbird","White-eared Hummingbird","Xantus's Hummingbird","Berylline Hummingbird","Buff-bellied Hummingbird","Cinnamon Hummingbird","Violet-crowned Hummingbird","Blue-throated Hummingbird","Magnificent Hummingbird","Plain-capped Starthroat","Bahama Woodstar","Lucifer Hummingbird","Ruby-throated Hummingbird","Black-chinned Hummingbird","Anna's Hummingbird","Costa's Hummingbird","Calliope Hummingbird","Bumblebee Hummingbird","Broad-tailed Hummingbird","Rufous Hummingbird","Allen's Hummingbird","Elegant Trogon","Eared Trogon","Hoopoe","Ringed Kingfisher","Belted Kingfisher","Green Kingfisher","Eurasian Wryneck","Lewis's Woodpecker","Red-headed Woodpecker","Acorn Woodpecker","Gila Woodpecker","Golden-fronted Woodpecker","Red-bellied Woodpecker","Williamson's Sapsucker","Yellow-bellied Sapsucker","Red-naped Sapsucker","Red-breasted Sapsucker","Great Spotted Woodpecker","Ladder-backed Woodpecker","Nuttall's Woodpecker","Downy Woodpecker","Hairy Woodpecker","Strickland's Woodpecker","Red-cockaded Woodpecker","White-headed Woodpecker","Three-toed Woodpecker","Black-backed Woodpecker","Northern Flicker","Gilded Flicker","Pileated Woodpecker","Ivory-billed Woodpecker","Northern Beardless-Tyrannulet","Greenish Elaenia","Caribbean Elaenia","Tufted Flycatcher","Olive-sided Flycatcher","Greater Pewee","Western Wood-Pewee","Eastern Wood-Pewee","Yellow-bellied Flycatcher","Acadian Flycatcher","Alder Flycatcher","Willow Flycatcher","Least Flycatcher","Hammond's Flycatcher","Dusky Flycatcher","Gray Flycatcher","Pacific-slope Flycatcher","Cordilleran Flycatcher","Buff-breasted Flycatcher","Black Phoebe","Eastern Phoebe","Say's Phoebe","Vermilion Flycatcher","Dusky-capped Flycatcher","Ash-throated Flycatcher","Nutting's Flycatcher","Great Crested Flycatcher","Brown-crested Flycatcher","La Sagra's Flycatcher","Great Kiskadee","Sulphur-bellied Flycatcher","Variegated Flycatcher","Tropical Kingbird","Couch's Kingbird","Cassin's Kingbird","Thick-billed Kingbird","Western Kingbird","Eastern Kingbird","Gray Kingbird","Loggerhead Kingbird","Scissor-tailed Flycatcher","Fork-tailed Flycatcher","Rose-throated Becard","Masked Tityra","Brown Shrike","Loggerhead Shrike","Northern Shrike","White-eyed Vireo","Thick-billed Vireo","Bell's Vireo","Black-capped Vireo","Gray Vireo","Yellow-throated Vireo","Plumbeous Vireo","Cassin's Vireo","Blue-headed Vireo","Hutton's Vireo","Warbling Vireo","Philadelphia Vireo","Red-eyed Vireo","Yellow-green Vireo","Black-whiskered Vireo","Yucatan Vireo","Gray Jay","Steller's Jay","Blue Jay","Green Jay","Brown Jay","Florida Scrub-Jay","Island Scrub-Jay","Western Scrub-Jay","Mexican Jay","Pinyon Jay","Clark's Nutcracker","Black-billed Magpie","Yellow-billed Magpie","Eurasian Jackdaw","American Crow","Northwestern Crow","Tamaulipas Crow","Fish Crow","Chihuahuan Raven","Common Raven","Sky Lark","Horned Lark","Purple Martin","Cuban Martin","Gray-breasted Martin","Southern Martin","Brown-chested Martin","Tree Swallow","Violet-green Swallow","Bahama Swallow","Northern Rough-winged Swallow","Bank Swallow","Cliff Swallow","Cave Swallow","Barn Swallow","Common House-Martin","Carolina Chickadee","Black-capped Chickadee","Mountain Chickadee","Mexican Chickadee","Chestnut-backed Chickadee","Boreal Chickadee","Gray-headed Chickadee","Bridled Titmouse","Oak Titmouse","Juniper Titmouse","Tufted Titmouse","Verdin","Bushtit","Red-breasted Nuthatch","White-breasted Nuthatch","Pygmy Nuthatch","Brown-headed Nuthatch","Brown Creeper","Cactus Wren","Rock Wren","Canyon Wren","Carolina Wren","Bewick's Wren","House Wren","Winter Wren","Sedge Wren","Marsh Wren","American Dipper","Red-whiskered Bulbul","Golden-crowned Kinglet","Ruby-crowned Kinglet","Middendorff's Grasshopper-Warbler","Lanceolated Warbler","Wood Warbler","Dusky Warbler","Arctic Warbler","Blue-gray Gnatcatcher","California Gnatcatcher","Black-tailed Gnatcatcher","Black-capped Gnatcatcher","Narcissus Flycatcher","Mugimaki Flycatcher","Red-breasted Flycatcher","Siberian Flycatcher","Gray-spotted Flycatcher","Asian Brown Flycatcher","Siberian Rubythroat","Bluethroat","Siberian Blue Robin","Red-flanked Bluetail","Northern Wheatear","Stonechat","Eastern Bluebird","Western Bluebird","Mountain Bluebird","Townsend's Solitaire","Veery","Gray-cheeked Thrush","Bicknell's Thrush","Swainson's Thrush","Hermit Thrush","Wood Thrush","Eurasian Blackbird","Eyebrowed Thrush","Dusky Thrush","Fieldfare","Redwing","Clay-colored Robin","White-throated Robin","Rufous-backed Robin","American Robin","Varied Thrush","Aztec Thrush","Wrentit","Gray Catbird","Black Catbird","Northern Mockingbird","Bahama Mockingbird","Sage Thrasher","Brown Thrasher","Long-billed Thrasher","Bendire's Thrasher","Curve-billed Thrasher","California Thrasher","Crissal Thrasher","Le Conte's Thrasher","Blue Mockingbird","European Starling","Crested Myna","Siberian Accentor","Yellow Wagtail","Citrine Wagtail","Gray Wagtail","White Wagtail","Black-backed Wagtail","Tree Pipit","Olive-backed Pipit","Pechora Pipit","Red-throated Pipit","American Pipit","Sprague's Pipit","Bohemian Waxwing","Cedar Waxwing","Gray Silky-flycatcher","Phainopepla","Olive Warbler","Bachman's Warbler","Blue-winged Warbler","Golden-winged Warbler","Tennessee Warbler","Orange-crowned Warbler","Nashville Warbler","Virginia's Warbler","Colima Warbler","Lucy's Warbler","Crescent-chested Warbler","Northern Parula","Tropical Parula","Yellow Warbler","Chestnut-sided Warbler","Magnolia Warbler","Cape May Warbler","Black-throated Blue Warbler","Yellow-rumped Warbler","Black-throated Gray Warbler","Golden-cheeked Warbler","Black-throated Green Warbler","Townsend's Warbler","Hermit Warbler","Blackburnian Warbler","Yellow-throated Warbler","Grace's Warbler","Pine Warbler","Kirtland's Warbler","Prairie Warbler","Palm Warbler","Bay-breasted Warbler","Blackpoll Warbler","Cerulean Warbler","Black-and-white Warbler","American Redstart","Prothonotary Warbler","Worm-eating Warbler","Swainson's Warbler","Ovenbird","Northern Waterthrush","Louisiana Waterthrush","Kentucky Warbler","Connecticut Warbler","Mourning Warbler","MacGillivray's Warbler","Common Yellowthroat","Gray-crowned Yellowthroat","Hooded Warbler","Wilson's Warbler","Canada Warbler","Red-faced Warbler","Painted Redstart","Slate-throated Redstart","Fan-tailed Warbler","Golden-crowned Warbler","Rufous-capped Warbler","Yellow-breasted Chat","Bananaquit","Hepatic Tanager","Summer Tanager","Scarlet Tanager","Western Tanager","Flame-colored Tanager","Stripe-headed Tanager","White-collared Seedeater","Yellow-faced Grassquit","Black-faced Grassquit","Olive Sparrow","Green-tailed Towhee","Spotted Towhee","Eastern Towhee","Canyon Towhee","California Towhee","Abert's Towhee","Rufous-winged Sparrow","Cassin's Sparrow","Bachman's Sparrow","Botteri's Sparrow","Rufous-crowned Sparrow","Five-striped Sparrow","American Tree Sparrow","Chipping Sparrow","Clay-colored Sparrow","Brewer's Sparrow","Field Sparrow","Worthen's Sparrow","Black-chinned Sparrow","Vesper Sparrow","Lark Sparrow","Black-throated Sparrow","Sage Sparrow","Lark Bunting","Savannah Sparrow","Grasshopper Sparrow","Baird's Sparrow","Henslow's Sparrow","Le Conte's Sparrow","Nelson's Sharp-tailed Sparrow","Saltmarsh Sharp-tailed Sparrow","Seaside Sparrow","Fox Sparrow","Song Sparrow","Lincoln's Sparrow","Swamp Sparrow","White-throated Sparrow","Harris's Sparrow","White-crowned Sparrow","Golden-crowned Sparrow","Dark-eyed Junco","Yellow-eyed Junco","McCown's Longspur","Lapland Longspur","Smith's Longspur","Chestnut-collared Longspur","Pine Bunting","Little Bunting","Rustic Bunting","Yellow-breasted Bunting","Gray Bunting","Pallas's Bunting","Reed Bunting","Snow Bunting","McKay's Bunting","Crimson-collared Grosbeak","Northern Cardinal","Pyrrhuloxia","Yellow Grosbeak","Rose-breasted Grosbeak","Black-headed Grosbeak","Blue Bunting","Blue Grosbeak","Lazuli Bunting","Indigo Bunting","Varied Bunting","Painted Bunting","Dickcissel","Bobolink","Red-winged Blackbird","Tricolored Blackbird","Tawny-shouldered Blackbird","Eastern Meadowlark","Western Meadowlark","Yellow-headed Blackbird","Rusty Blackbird","Brewer's Blackbird","Common Grackle","Boat-tailed Grackle","Great-tailed Grackle","Shiny Cowbird","Bronzed Cowbird","Brown-headed Cowbird","Black-vented Oriole","Orchard Oriole","Hooded Oriole","Streak-backed Oriole","Spot-breasted Oriole","Altamira Oriole","Audubon's Oriole","Baltimore Oriole","Bullock's Oriole","Scott's Oriole","Common Chaffinch","Brambling","Gray-crowned Rosy-Finch","Black Rosy-Finch","Brown-capped Rosy-Finch","Pine Grosbeak","Common Rosefinch","Purple Finch","Cassin's Finch","House Finch","Red Crossbill","White-winged Crossbill","Common Redpoll","Hoary Redpoll","Eurasian Siskin","Pine Siskin","Lesser Goldfinch","Lawrence's Goldfinch","American Goldfinch","Oriental Greenfinch","Eurasian Bullfinch","Evening Grosbeak","Hawfinch","House Sparrow","Eurasian Tree Sparrow"],SGt=["Abyssinian","American Bobtail","American Curl","American Shorthair","American Wirehair","Balinese","Bengal","Birman","Bombay","British Shorthair","Burmese","Chartreux","Chausie","Cornish Rex","Devon Rex","Donskoy","Egyptian Mau","Exotic Shorthair","Havana","Highlander","Himalayan","Japanese Bobtail","Korat","Kurilian Bobtail","LaPerm","Maine Coon","Manx","Minskin","Munchkin","Nebelung","Norwegian Forest Cat","Ocicat","Ojos Azules","Oriental","Persian","Peterbald","Pixiebob","Ragdoll","Russian Blue","Savannah","Scottish Fold","Selkirk Rex","Serengeti","Siberian","Siamese","Singapura","Snowshoe","Sokoke","Somali","Sphynx","Thai","Tonkinese","Toyger","Turkish Angora","Turkish Van"],wGt=["Blue Whale","Fin Whale","Sei Whale","Sperm Whale","Bryde’s whale","Omura’s whale","Humpback whale","Long-Beaked Common Dolphin","Short-Beaked Common Dolphin","Bottlenose Dolphin","Indo-Pacific Bottlenose Dolphin","Northern Rightwhale Dolphin","Southern Rightwhale Dolphin","Tucuxi","Costero","Indo-Pacific Hump-backed Dolphin","Chinese White Dolphin","Atlantic Humpbacked Dolphin","Atlantic Spotted Dolphin","Clymene Dolphin","Pantropical Spotted Dolphin","Spinner Dolphin","Striped Dolphin","Rough-Toothed Dolphin","Chilean Dolphin","Commerson’s Dolphin","Heaviside’s Dolphin","Hector’s Dolphin","Risso’s Dolphin","Fraser’s Dolphin","Atlantic White-Sided Dolphin","Dusky Dolphin","Hourglass Dolphin","Pacific White-Sided Dolphin","Peale’s Dolphin","White-Beaked Dolphin","Australian Snubfin Dolphin","Irrawaddy Dolphin","Melon-headed Whale","Killer Whale (Orca)","Pygmy Killer Whale","False Killer Whale","Long-finned Pilot Whale","Short-finned Pilot Whale","Guiana Dolphin","Burrunan Dolphin","Australian humpback Dolphin","Amazon River Dolphin","Chinese River Dolphin","Ganges River Dolphin","La Plata Dolphin","Southern Bottlenose Whale","Longman's Beaked Whale","Arnoux's Beaked Whale"],xGt=["Aberdeen Angus","Abergele","Abigar","Abondance","Abyssinian Shorthorned Zebu","Aceh","Achham","Adamawa","Adaptaur","Afar","Africangus","Afrikaner","Agerolese","Alambadi","Alatau","Albanian","Albera","Alderney","Alentejana","Aleutian wild cattle","Aliad Dinka","Alistana-Sanabresa","Allmogekor","Alur","American","American Angus","American Beef Friesian","American Brown Swiss","American Milking Devon","American White Park","Amerifax","Amrit Mahal","Amsterdam Island cattle","Anatolian Black","Andalusian Black","Andalusian Blond","Andalusian Grey","Angeln","Angoni","Ankina","Ankole","Ankole-Watusi","Aracena","Arado","Argentine Criollo","Argentine Friesian","Armorican","Arouquesa","Arsi","Asturian Mountain","Asturian Valley","Aubrac","Aulie-Ata","Aure et Saint-Girons","Australian Braford","Australian Brangus","Australian Charbray","Australian Friesian Sahiwal","Australian Lowline","Australian Milking Zebu","Australian Shorthorn","Austrian Simmental","Austrian Yellow","Avétonou","Avileña-Negra Ibérica","Aweil Dinka","Ayrshire","Azaouak","Azebuado","Azerbaijan Zebu","Azores","Bedit","Breed","Bachaur cattle","Baherie cattle","Bakosi cattle","Balancer","Baoule","Bargur cattle","Barrosã","Barzona","Bazadaise","Beef Freisian","Beefalo","Beefmaker","Beefmaster","Begayt","Belgian Blue","Belgian Red","Belgian Red Pied","Belgian White-and-Red","Belmont Red","Belted Galloway","Bernese","Berrenda cattle","Betizu","Bianca Modenese","Blaarkop","Black Angus","Black Baldy","Black Hereford","Blanca Cacereña","Blanco Orejinegro BON","Blonde d'Aquitaine","Blue Albion","Blue Grey","Bohuskulla","Bonsmara","Boran","Boškarin","Braford","Brahman","Brahmousin","Brangus","Braunvieh","Brava","British White","British Friesian","Brown Carpathian","Brown Caucasian","Brown Swiss","Bue Lingo","Burlina","Buša cattle","Butana cattle","Bushuyev","Cedit","Cachena","Caldelana","Camargue","Campbell Island cattle","Canadian Speckle Park","Canadienne","Canaria","Canchim","Caracu","Cárdena Andaluza","Carinthian Blondvieh","Carora","Charbray","Charolais","Chateaubriand","Chiangus","Chianina","Chillingham cattle","Chinese Black Pied","Cholistani","Coloursided White Back","Commercial","Corriente","Corsican cattle","Costeño con Cuernos","Crioulo Lageano","Dedit","Dajal","Dangi cattle","Danish Black-Pied","Danish Jersey","Danish Red","Deep Red cattle","Deoni","Devon","Dexter cattle","Dhanni","Doayo cattle","Doela","Drakensberger","Dølafe","Droughtmaster","Dulong'","Dutch Belted","Dutch Friesian","Dwarf Lulu","Eedit","East Anatolian Red","Eastern Finncattle","Eastern Red Polled","Enderby Island cattle","English Longhorn","Ennstaler Bergscheck","Estonian Holstein","Estonian Native","Estonian Red cattle","Évolène cattle","Fedit","Fēng Cattle","Finnish Ayrshire","Finncattle","Finnish Holstein-Friesian","Fjäll","Fleckvieh","Florida Cracker cattle","Fogera","French Simmental","Fribourgeoise","Friesian Red and White","Fulani Sudanese","Gedit","Galician Blond","Galloway cattle","Gangatiri","Gaolao","Garvonesa","Gascon cattle","Gelbvieh","Georgian Mountain cattle","German Angus","German Black Pied cattle","German Black Pied Dairy","German Red Pied","Gir","Glan cattle","Gloucester","Gobra","Greek Shorthorn","Greek Steppe","Greyman cattle","Gudali","Guernsey cattle","Guzerá","Hedit","Hallikar4","Hanwoo","Hariana cattle","Hartón del Valle","Harzer Rotvieh","Hays Converter","Heck cattle","Hereford","Herens","Hybridmaster","Highland cattle","Hinterwald","Holando-Argentino","Holstein Friesian cattle","Horro","Huáng Cattle","Hungarian Grey","Iedit","Iberian cattle","Icelandic","Illawarra cattle","Improved Red and White","Indo-Brazilian","Irish Moiled","Israeli Holstein","Israeli Red","Istoben cattle","Istrian cattle","Jedit","Jamaica Black","Jamaica Hope","Jamaica Red","Japanese Brown","Jarmelista","Javari cattle","Jersey cattle","Jutland cattle","Kedit","Kabin Buri cattle","Kalmyk cattle","Kangayam","Kankrej","Kamphaeng Saen cattle","Karan Swiss","Kasaragod Dwarf cattle","Kathiawadi","Kazakh Whiteheaded","Kenana cattle","Kenkatha cattle","Kerry cattle","Kherigarh","Khillari cattle","Kholomogory","Korat Wagyu","Kostroma cattle","Krishna Valley cattle","Kuri","Kurgan cattle","Ledit","La Reina cattle","Lakenvelder cattle","Lampurger","Latvian Blue","Latvian Brown","Latvian Danish Red","Lebedyn","Levantina","Limia cattle","Limousin","Limpurger","Lincoln Red","Lineback","Lithuanian Black-and-White","Lithuanian Light Grey","Lithuanian Red","Lithuanian White-Backed","Lohani cattle","Lourdais","Lucerna cattle","Luing","Medit","Madagascar Zebu","Madura","Maine-Anjou","Malnad Gidda","Malvi","Mandalong Special","Mantequera Leonesa","Maramureş Brown","Marchigiana","Maremmana","Marinhoa","Maronesa","Masai","Mashona","Menorquina","Mertolenga","Meuse-Rhine-Issel","Mewati","Milking Shorthorn","Minhota","Mirandesa","Mirkadim","Mocăniţă","Mollie","Monchina","Mongolian","Montbéliarde","Morucha","Muturu","Murboden","Murnau-Werdenfels","Murray Grey","Nedit","Nagori","N'Dama","Negra Andaluza","Nelore","Nguni","Nimari","Normande","North Bengal Grey","Northern Finncattle","Northern Shorthorn","Norwegian Red","Oedit]","Ongole","Original Simmental","Pedit","Pajuna","Palmera","Pantaneiro","Parda Alpina","Parthenaise","Pasiega","Pembroke","Philippine Native","Pie Rouge des Plaines","Piedmontese cattle","Pineywoods","Pinzgauer","Pirenaica","Podolac","Podolica","Polish Black-and-White","Polish Red","Polled Hereford","Poll Shorthorn","Polled Shorthorn","Ponwar","Preta","Punganur","Pulikulam","Pustertaler Sprinzen","Qedit","Qinchaun","Queensland Miniature Boran","Redit","Ramo Grande","Randall","Raramuri Criollo","Rathi","Rätisches Grauvieh","Raya","Red Angus","Red Brangus","Red Chittagong","Red Fulani","Red Gorbatov","Red Holstein","Red Kandhari","Red Mingrelian","Red Poll","Red Polled Østland","Red Sindhi","Retinta","Riggit Galloway","Ringamåla","Rohjan","Romagnola","Romanian Bălţata","Romanian Steppe Gray","Romosinuano","Russian Black Pied","RX3","Sedit","Sahiwal","Salers","Salorn","Sanga","Sanhe","Santa Cruz","Santa Gertrudis","Sayaguesa","Schwyz","Selembu","Senepol","Serbian Pied","Serbian Steppe","Sheko","Shetland","Shorthorn","Siboney de Cuba","Simbrah","Simford","Simmental","Siri","South Devon","Spanish Fighting Bull","Speckle Park","Square Meater","Sussex","Swedish Friesian","Swedish Polled","Swedish Red Pied","Swedish Red Polled","Swedish Red-and-White","Tedit","Tabapuã","Tarentaise","Tasmanian Grey","Tauros","Telemark","Texas Longhorn","Texon","Thai Black","Thai Fighting Bull","Thai Friesian","Thai Milking Zebu","Tharparkar","Tswana","Tudanca","Tuli","Tulim","Turkish Grey Steppe","Tux-Zillertal","Tyrol Grey","Uedit","Umblachery","Ukrainian Grey","Vedit","Valdostana Castana","Valdostana Pezzata Nera","Valdostana Pezzata Rossa","Väneko","Vaynol","Vechur8","Vestland Fjord","Vestland Red Polled","Vianesa","Volinian Beef","Vorderwald","Vosgienne","Wedit","Wagyu","Waguli","Wangus","Welsh Black","Western Finncattle","White Cáceres","White Fulani","White Lamphun","White Park","Whitebred Shorthorn","Xedit","Xingjiang Brown","Yedit","Yakutian","Yanbian","Yanhuang","Yurino","Zedit","Żubroń","Zebu"],_Gt=["Alligator mississippiensis","Chinese Alligator","Black Caiman","Broad-snouted Caiman","Spectacled Caiman","Yacare Caiman","Cuvier’s Dwarf Caiman","Schneider’s Smooth-fronted Caiman","African Slender-snouted Crocodile","American Crocodile","Australian Freshwater Crocodile","Cuban Crocodile","Dwarf Crocodile","Morelet’s Crocodile","Mugger Crocodile","New Guinea Freshwater Crocodile","Nile Crocodile","West African Crocodile","Orinoco Crocodile","Philippine Crocodile","Saltwater Crocodile","Siamese Crocodile","Gharial","Tomistoma"],LGt=["Affenpinscher","Afghan Hound","Aidi","Airedale Terrier","Akbash","Akita","Alano Español","Alapaha Blue Blood Bulldog","Alaskan Husky","Alaskan Klee Kai","Alaskan Malamute","Alopekis","Alpine Dachsbracke","American Bulldog","American Bully","American Cocker Spaniel","American English Coonhound","American Foxhound","American Hairless Terrier","American Pit Bull Terrier","American Staffordshire Terrier","American Water Spaniel","Andalusian Hound","Anglo-Français de Petite Vénerie","Appenzeller Sennenhund","Ariegeois","Armant","Armenian Gampr dog","Artois Hound","Australian Cattle Dog","Australian Kelpie","Australian Shepherd","Australian Stumpy Tail Cattle Dog","Australian Terrier","Austrian Black and Tan Hound","Austrian Pinscher","Azawakh","Bakharwal dog","Banjara Hound","Barbado da Terceira","Barbet","Basenji","Basque Shepherd Dog","Basset Artésien Normand","Basset Bleu de Gascogne","Basset Fauve de Bretagne","Basset Hound","Bavarian Mountain Hound","Beagle","Beagle-Harrier","Belgian Shepherd","Bearded Collie","Beauceron","Bedlington Terrier","Bergamasco Shepherd","Berger Picard","Bernese Mountain Dog","Bhotia","Bichon Frisé","Billy","Black and Tan Coonhound","Black Norwegian Elkhound","Black Russian Terrier","Black Mouth Cur","Bloodhound","Blue Lacy","Blue Picardy Spaniel","Bluetick Coonhound","Boerboel","Bohemian Shepherd","Bolognese","Border Collie","Border Terrier","Borzoi","Bosnian Coarse-haired Hound","Boston Terrier","Bouvier des Ardennes","Bouvier des Flandres","Boxer","Boykin Spaniel","Bracco Italiano","Braque d'Auvergne","Braque de l'Ariège","Braque du Bourbonnais","Braque Francais","Braque Saint-Germain","Briard","Briquet Griffon Vendéen","Brittany","Broholmer","Bruno Jura Hound","Brussels Griffon","Bucovina Shepherd Dog","Bull Arab","Bull Terrier","Bulldog","Bullmastiff","Bully Kutta","Burgos Pointer","Cairn Terrier","Campeiro Bulldog","Canaan Dog","Canadian Eskimo Dog","Cane Corso","Cane di Oropa","Cane Paratore","Cantabrian Water Dog","Can de Chira","Cão da Serra de Aires","Cão de Castro Laboreiro","Cão de Gado Transmontano","Cão Fila de São Miguel","Cardigan Welsh Corgi","Carea Castellano Manchego","Carolina Dog","Carpathian Shepherd Dog","Catahoula Leopard Dog","Catalan Sheepdog","Caucasian Shepherd Dog","Cavalier King Charles Spaniel","Central Asian Shepherd Dog","Cesky Fousek","Cesky Terrier","Chesapeake Bay Retriever","Chien Français Blanc et Noir","Chien Français Blanc et Orange","Chien Français Tricolore","Chihuahua","Chilean Terrier","Chinese Chongqing Dog","Chinese Crested Dog","Chinook","Chippiparai","Chongqing dog","Chortai","Chow Chow","Cimarrón Uruguayo","Cirneco dell'Etna","Clumber Spaniel","Colombian fino hound","Coton de Tulear","Cretan Hound","Croatian Sheepdog","Curly-Coated Retriever","Cursinu","Czechoslovakian Wolfdog","Dachshund","Dalmatian","Dandie Dinmont Terrier","Danish-Swedish Farmdog","Denmark Feist","Dingo","Doberman Pinscher","Dogo Argentino","Dogo Guatemalteco","Dogo Sardesco","Dogue Brasileiro","Dogue de Bordeaux","Drentse Patrijshond","Drever","Dunker","Dutch Shepherd","Dutch Smoushond","East Siberian Laika","East European Shepherd","English Cocker Spaniel","English Foxhound","English Mastiff","English Setter","English Shepherd","English Springer Spaniel","English Toy Terrier","Entlebucher Mountain Dog","Estonian Hound","Estrela Mountain Dog","Eurasier","Field Spaniel","Fila Brasileiro","Finnish Hound","Finnish Lapphund","Finnish Spitz","Flat-Coated Retriever","French Bulldog","French Spaniel","Galgo Español","Galician Shepherd Dog","Garafian Shepherd","Gascon Saintongeois","Georgian Shepherd","German Hound","German Longhaired Pointer","German Pinscher","German Roughhaired Pointer","German Shepherd Dog","German Shorthaired Pointer","German Spaniel","German Spitz","German Wirehaired Pointer","Giant Schnauzer","Glen of Imaal Terrier","Golden Retriever","Gończy Polski","Gordon Setter","Grand Anglo-Français Blanc et Noir","Grand Anglo-Français Blanc et Orange","Grand Anglo-Français Tricolore","Grand Basset Griffon Vendéen","Grand Bleu de Gascogne","Grand Griffon Vendéen","Great Dane","Greater Swiss Mountain Dog","Greek Harehound","Greek Shepherd","Greenland Dog","Greyhound","Griffon Bleu de Gascogne","Griffon Fauve de Bretagne","Griffon Nivernais","Gull Dong","Gull Terrier","Hällefors Elkhound","Hamiltonstövare","Hanover Hound","Harrier","Havanese","Hierran Wolfdog","Hokkaido","Hovawart","Huntaway","Hygen Hound","Ibizan Hound","Icelandic Sheepdog","Indian pariah dog","Indian Spitz","Irish Red and White Setter","Irish Setter","Irish Terrier","Irish Water Spaniel","Irish Wolfhound","Istrian Coarse-haired Hound","Istrian Shorthaired Hound","Italian Greyhound","Jack Russell Terrier","Jagdterrier","Japanese Chin","Japanese Spitz","Japanese Terrier","Jindo","Jonangi","Kai Ken","Kaikadi","Kangal Shepherd Dog","Kanni","Karakachan dog","Karelian Bear Dog","Kars","Karst Shepherd","Keeshond","Kerry Beagle","Kerry Blue Terrier","King Charles Spaniel","King Shepherd","Kintamani","Kishu","Kokoni","Kombai","Komondor","Kooikerhondje","Koolie","Koyun dog","Kromfohrländer","Kuchi","Kuvasz","Labrador Retriever","Lagotto Romagnolo","Lakeland Terrier","Lancashire Heeler","Landseer","Lapponian Herder","Large Münsterländer","Leonberger","Levriero Sardo","Lhasa Apso","Lithuanian Hound","Löwchen","Lupo Italiano","Mackenzie River Husky","Magyar agár","Mahratta Greyhound","Maltese","Manchester Terrier","Maremmano-Abruzzese Sheepdog","McNab dog","Miniature American Shepherd","Miniature Bull Terrier","Miniature Fox Terrier","Miniature Pinscher","Miniature Schnauzer","Molossus of Epirus","Montenegrin Mountain Hound","Mountain Cur","Mountain Feist","Mucuchies","Mudhol Hound","Mudi","Neapolitan Mastiff","New Guinea Singing Dog","New Zealand Heading Dog","Newfoundland","Norfolk Terrier","Norrbottenspets","Northern Inuit Dog","Norwegian Buhund","Norwegian Elkhound","Norwegian Lundehund","Norwich Terrier","Nova Scotia Duck Tolling Retriever","Old Croatian Sighthound","Old Danish Pointer","Old English Sheepdog","Old English Terrier","Olde English Bulldogge","Otterhound","Pachon Navarro","Pampas Deerhound","Paisley Terrier","Papillon","Parson Russell Terrier","Pastore della Lessinia e del Lagorai","Patagonian Sheepdog","Patterdale Terrier","Pekingese","Pembroke Welsh Corgi","Perro Majorero","Perro de Pastor Mallorquin","Perro de Presa Canario","Perro de Presa Mallorquin","Peruvian Inca Orchid","Petit Basset Griffon Vendéen","Petit Bleu de Gascogne","Phalène","Pharaoh Hound","Phu Quoc Ridgeback","Picardy Spaniel","Plummer Terrier","Plott Hound","Podenco Canario","Podenco Valenciano","Pointer","Poitevin","Polish Greyhound","Polish Hound","Polish Lowland Sheepdog","Polish Tatra Sheepdog","Pomeranian","Pont-Audemer Spaniel","Poodle","Porcelaine","Portuguese Podengo","Portuguese Pointer","Portuguese Water Dog","Posavac Hound","Pražský Krysařík","Pshdar Dog","Pudelpointer","Pug","Puli","Pumi","Pungsan Dog","Pyrenean Mastiff","Pyrenean Mountain Dog","Pyrenean Sheepdog","Rafeiro do Alentejo","Rajapalayam","Rampur Greyhound","Rat Terrier","Ratonero Bodeguero Andaluz","Ratonero Mallorquin","Ratonero Murciano de Huerta","Ratonero Valenciano","Redbone Coonhound","Rhodesian Ridgeback","Romanian Mioritic Shepherd Dog","Romanian Raven Shepherd Dog","Rottweiler","Rough Collie","Russian Spaniel","Russian Toy","Russo-European Laika","Saarloos Wolfdog","Sabueso Español","Saint Bernard","Saint Hubert Jura Hound","Saint-Usuge Spaniel","Saluki","Samoyed","Sapsali","Sarabi dog","Šarplaninac","Schapendoes","Schillerstövare","Schipperke","Schweizer Laufhund","Schweizerischer Niederlaufhund","Scottish Deerhound","Scottish Terrier","Sealyham Terrier","Segugio dell'Appennino","Segugio Italiano","Segugio Maremmano","Seppala Siberian Sleddog","Serbian Hound","Serbian Tricolour Hound","Serrano Bulldog","Shar Pei","Shetland Sheepdog","Shiba Inu","Shih Tzu","Shikoku","Shiloh Shepherd","Siberian Husky","Silken Windhound","Silky Terrier","Sinhala Hound","Skye Terrier","Sloughi","Slovakian Wirehaired Pointer","Slovenský Cuvac","Slovenský Kopov","Smalandstövare","Small Greek domestic dog","Small Münsterländer","Smooth Collie","Smooth Fox Terrier","Soft-Coated Wheaten Terrier","South Russian Ovcharka","Spanish Mastiff","Spanish Water Dog","Spinone Italiano","Sporting Lucas Terrier","Sardinian Shepherd Dog","Stabyhoun","Staffordshire Bull Terrier","Standard Schnauzer","Stephens Stock","Styrian Coarse-haired Hound","Sussex Spaniel","Swedish Elkhound","Swedish Lapphund","Swedish Vallhund","Swedish White Elkhound","Taigan","Taiwan Dog","Tamaskan Dog","Teddy Roosevelt Terrier","Telomian","Tenterfield Terrier","Terrier Brasileiro","Thai Bangkaew Dog","Thai Ridgeback","Tibetan Mastiff","Tibetan Spaniel","Tibetan Terrier","Tornjak","Tosa","Toy Fox Terrier","Toy Manchester Terrier","Transylvanian Hound","Treeing Cur","Treeing Feist","Treeing Tennessee Brindle","Treeing Walker Coonhound","Trigg Hound","Tyrolean Hound","Vikhan","Villano de Las Encartaciones","Villanuco de Las Encartaciones","Vizsla","Volpino Italiano","Weimaraner","Welsh Sheepdog","Welsh Springer Spaniel","Welsh Terrier","West Highland White Terrier","West Siberian Laika","Westphalian Dachsbracke","Wetterhoun","Whippet","White Shepherd","White Swiss Shepherd Dog","Wire Fox Terrier","Wirehaired Pointing Griffon","Wirehaired Vizsla","Xiasi Dog","Xoloitzcuintli","Yakutian Laika","Yorkshire Terrier"],IGt=["Grass carp","Peruvian anchoveta","Silver carp","Common carp","Asari","Japanese littleneck","Filipino Venus","Japanese cockle","Alaska pollock","Nile tilapia","Whiteleg shrimp","Bighead carp","Skipjack tuna","Catla","Crucian carp","Atlantic salmon","Atlantic herring","Chub mackerel","Rohu","Yellowfin tuna","Japanese anchovy","Largehead hairtail","Atlantic cod","European pilchard","Capelin","Jumbo flying squid","Milkfish","Atlantic mackerel","Rainbow trout","Araucanian herring","Wuchang bream","Gulf menhaden","Indian oil sardine","Black carp","European anchovy","Northern snakehead","Pacific cod","Pacific saury","Pacific herring","Bigeye tuna","Chilean jack mackerel","Yellow croaker","Haddock","Gazami crab","Amur catfish","Japanese common catfish","European sprat","Pink salmon","Mrigal carp","Channel catfish","Blood cockle","Blue whiting","Hilsa shad","Daggertooth pike conger","California pilchard","Cape horse mackerel","Pacific anchoveta","Japanese flying squid","Pollock","Chinese softshell turtle","Kawakawa","Indian mackerel","Asian swamp eel","Argentine hake","Short mackerel","Southern rough shrimp","Southern African anchovy","Pond loach","Iridescent shark","Mandarin fish","Chinese perch","Nile perch","Round sardinella","Japanese pilchard","Bombay-duck","Yellowhead catfish","Korean bullhead","Narrow-barred Spanish mackerel","Albacore","Madeiran sardinella","Bonga shad","Silver cyprinid","Longtail tuna","Atlantic menhaden","North Pacific hake","Atlantic horse mackerel","Japanese jack mackerel","Pacific thread herring","Bigeye scad","Yellowstripe scad","Chum salmon","Blue swimming crab","Pacific sand lance","Pacific sandlance","Goldstripe sardinella"],FGt=["American Albino","Abaco Barb","Abtenauer","Abyssinian","Aegidienberger","Akhal-Teke","Albanian Horse","Altai Horse","Altèr Real","American Cream Draft","American Indian Horse","American Paint Horse","American Quarter Horse","American Saddlebred","American Warmblood","Andalusian Horse","Andravida Horse","Anglo-Arabian","Anglo-Arabo-Sardo","Anglo-Kabarda","Appaloosa","AraAppaloosa","Arabian Horse","Ardennes Horse","Arenberg-Nordkirchen","Argentine Criollo","Asian wild Horse","Assateague Horse","Asturcón","Augeron","Australian Brumby","Australian Draught Horse","Australian Stock Horse","Austrian Warmblood","Auvergne Horse","Auxois","Azerbaijan Horse","Azteca Horse","Baise Horse","Bale","Balearic Horse","Balikun Horse","Baluchi Horse","Banker Horse","Barb Horse","Bardigiano","Bashkir Curly","Basque Mountain Horse","Bavarian Warmblood","Belgian Half-blood","Belgian Horse","Belgian Warmblood ","Bhutia Horse","Black Forest Horse","Blazer Horse","Boerperd","Borana","Boulonnais Horse","Brabant","Brandenburger","Brazilian Sport Horse","Breton Horse","Brumby","Budyonny Horse","Burguete Horse","Burmese Horse","Byelorussian Harness Horse","Calabrese Horse","Camargue Horse","Camarillo White Horse","Campeiro","Campolina","Canadian Horse","Canadian Pacer","Carolina Marsh Tacky","Carthusian Horse","Caspian Horse","Castilian Horse","Castillonnais","Catria Horse","Cavallo Romano della Maremma Laziale","Cerbat Mustang","Chickasaw Horse","Chilean Corralero","Choctaw Horse","Cleveland Bay","Clydesdale Horse","Cob","Coldblood Trotter","Colonial Spanish Horse","Colorado Ranger","Comtois Horse","Corsican Horse","Costa Rican Saddle Horse","Cretan Horse","Criollo Horse","Croatian Coldblood","Cuban Criollo","Cumberland Island Horse","Curly Horse","Czech Warmblood","Daliboz","Danish Warmblood","Danube Delta Horse","Dole Gudbrandsdal","Don","Dongola Horse","Draft Trotter","Dutch Harness Horse","Dutch Heavy Draft","Dutch Warmblood","Dzungarian Horse","East Bulgarian","East Friesian Horse","Estonian Draft","Estonian Horse","Falabella","Faroese","Finnhorse","Fjord Horse","Fleuve","Florida Cracker Horse","Foutanké","Frederiksborg Horse","Freiberger","French Trotter","Friesian Cross","Friesian Horse","Friesian Sporthorse","Furioso-North Star","Galiceño","Galician Pony","Gelderland Horse","Georgian Grande Horse","German Warmblood","Giara Horse","Gidran","Groningen Horse","Gypsy Horse","Hackney Horse","Haflinger","Hanoverian Horse","Heck Horse","Heihe Horse","Henson Horse","Hequ Horse","Hirzai","Hispano-Bretón","Holsteiner Horse","Horro","Hungarian Warmblood","Icelandic Horse","Iomud","Irish Draught","Irish Sport Horse sometimes called Irish Hunter","Italian Heavy Draft","Italian Trotter","Jaca Navarra","Jeju Horse","Jutland Horse","Kabarda Horse","Kafa","Kaimanawa Horses","Kalmyk Horse","Karabair","Karabakh Horse","Karachai Horse","Karossier","Kathiawari","Kazakh Horse","Kentucky Mountain Saddle Horse","Kiger Mustang","Kinsky Horse","Kisber Felver","Kiso Horse","Kladruber","Knabstrupper","Konik","Kundudo","Kustanair","Kyrgyz Horse","Latvian Horse","Lipizzan","Lithuanian Heavy Draught","Lokai","Losino Horse","Lusitano","Lyngshest","M'Bayar","M'Par","Mallorquín","Malopolski","Mangalarga","Mangalarga Marchador","Maremmano","Marismeño Horse","Marsh Tacky","Marwari Horse","Mecklenburger","Međimurje Horse","Menorquín","Mérens Horse","Messara Horse","Metis Trotter","Mezőhegyesi Sport Horse","Miniature Horse","Misaki Horse","Missouri Fox Trotter","Monchina","Mongolian Horse","Mongolian Wild Horse","Monterufolino","Morab","Morgan Horse","Mountain Pleasure Horse","Moyle Horse","Murakoz Horse","Murgese","Mustang Horse","Namib Desert Horse","Nangchen Horse","National Show Horse","Nez Perce Horse","Nivernais Horse","Nokota Horse","Noma","Nonius Horse","Nooitgedachter","Nordlandshest","Noriker Horse","Norman Cob","North American Single-Footer Horse","North Swedish Horse","Norwegian Coldblood Trotter","Norwegian Fjord","Novokirghiz","Oberlander Horse","Ogaden","Oldenburg Horse","Orlov trotter","Ostfriesen","Paint","Pampa Horse","Paso Fino","Pentro Horse","Percheron","Persano Horse","Peruvian Paso","Pintabian","Pleven Horse","Poitevin Horse","Posavac Horse","Pottok","Pryor Mountain Mustang","Przewalski's Horse","Pura Raza Española","Purosangue Orientale","Qatgani","Quarab","Quarter Horse","Racking Horse","Retuerta Horse","Rhenish German Coldblood","Rhinelander Horse","Riwoche Horse","Rocky Mountain Horse","Romanian Sporthorse","Rottaler","Russian Don","Russian Heavy Draft","Russian Trotter","Saddlebred","Salerno Horse","Samolaco Horse","San Fratello Horse","Sarcidano Horse","Sardinian Anglo-Arab","Schleswig Coldblood","Schwarzwälder Kaltblut","Selale","Sella Italiano","Selle Français","Shagya Arabian","Shan Horse","Shire Horse","Siciliano Indigeno","Silesian Horse","Sokolsky Horse","Sorraia","South German Coldblood","Soviet Heavy Draft","Spanish Anglo-Arab","Spanish Barb","Spanish Jennet Horse","Spanish Mustang","Spanish Tarpan","Spanish-Norman Horse","Spiti Horse","Spotted Saddle Horse","Standardbred Horse","Suffolk Punch","Swedish Ardennes","Swedish coldblood trotter","Swedish Warmblood","Swiss Warmblood","Taishū Horse","Takhi","Tawleed","Tchernomor","Tennessee Walking Horse","Tersk Horse","Thoroughbred","Tiger Horse","Tinker Horse","Tolfetano","Tori Horse","Trait Du Nord","Trakehner","Tsushima","Tuigpaard","Ukrainian Riding Horse","Unmol Horse","Uzunyayla","Ventasso Horse","Virginia Highlander","Vlaamperd","Vladimir Heavy Draft","Vyatka","Waler","Waler Horse","Walkaloosa","Warlander","Warmblood","Welsh Cob","Westphalian Horse","Wielkopolski","Württemberger","Xilingol Horse","Yakutian Horse","Yili Horse","Yonaguni Horse","Zaniskari","Žemaitukas","Zhemaichu","Zweibrücker"],DGt=["Acacia-ants","Acorn-plum gall","Aerial yellowjacket","Africanized honey bee","Allegheny mound ant","Almond stone wasp","Ant","Arboreal ant","Argentine ant","Asian paper wasp","Baldfaced hornet","Bee","Bigheaded ant","Black and yellow mud dauber","Black carpenter ant","Black imported fire ant","Blue horntail woodwasp","Blue orchard bee","Braconid wasp","Bumble bee","Carpenter ant","Carpenter wasp","Chalcid wasp","Cicada killer","Citrus blackfly parasitoid","Common paper wasp","Crazy ant","Cuckoo wasp","Cynipid gall wasp","Eastern Carpenter bee","Eastern yellowjacket","Elm sawfly","Encyrtid wasp","Erythrina gall wasp","Eulophid wasp","European hornet","European imported fire ant","False honey ant","Fire ant","Forest bachac","Forest yellowjacket","German yellowjacket","Ghost ant","Giant ichneumon wasp","Giant resin bee","Giant wood wasp","Golden northern bumble bee","Golden paper wasp","Gouty oak gall","Grass Carrying Wasp","Great black wasp","Great golden digger wasp","Hackberry nipple gall parasitoid","Honey bee","Horned oak gall","Horse guard wasp","Hunting wasp","Ichneumonid wasp","Keyhole wasp","Knopper gall","Large garden bumble bee","Large oak-apple gall","Leafcutting bee","Little fire ant","Little yellow ant","Long-horned bees","Long-legged ant","Macao paper wasp","Mallow bee","Marble gall","Mossyrose gall wasp","Mud-daubers","Multiflora rose seed chalcid","Oak apple gall wasp","Oak rough bulletgall wasp","Oak saucer gall","Oak shoot sawfly","Odorous house ant","Orange-tailed bumble bee","Orangetailed potter wasp","Oriental chestnut gall wasp","Paper wasp","Pavement ant","Pigeon tremex","Pip gall wasp","Prairie yellowjacket","Pteromalid wasp","Pyramid ant","Raspberry Horntail","Red ant","Red carpenter ant","Red harvester ant","Red imported fire ant","Red wasp","Red wood ant","Red-tailed wasp","Reddish carpenter ant","Rough harvester ant","Sawfly parasitic wasp","Scale parasitoid","Silky ant","Sirex woodwasp","Siricid woodwasp","Smaller yellow ant","Southeastern blueberry bee","Southern fire ant","Southern yellowjacket","Sphecid wasp","Stony gall","Sweat bee","Texas leafcutting ant","Tiphiid wasp","Torymid wasp","Tramp ant","Valentine ant","Velvet ant","Vespid wasp","Weevil parasitoid","Western harvester ant","Western paper wasp","Western thatching ant","Western yellowjacket","White-horned horntail","Willow shoot sawfly","Woodwasp","Wool sower gall maker","Yellow and black potter wasp","Yellow Crazy Ant","Yellow-horned horntail"],NGt=["Asiatic Lion","Barbary Lion","West African Lion","Northeast Congo Lion","Masai Lion","Transvaal lion","Cape lion"],MGt=["American","American Chinchilla","American Fuzzy Lop","American Sable","Argente Brun","Belgian Hare","Beveren","Blanc de Hotot","Britannia Petite","Californian","Champagne D’Argent","Checkered Giant","Cinnamon","Crème D’Argent","Dutch","Dwarf Hotot","English Angora","English Lop","English Spot","Flemish Giant","Florida White","French Angora","French Lop","Giant Angora","Giant Chinchilla","Harlequin","Havana","Himalayan","Holland Lop","Jersey Wooly","Lilac","Lionhead","Mini Lop","Mini Rex","Mini Satin","Netherland Dwarf","New Zealand","Palomino","Polish","Rex","Rhinelander","Satin","Satin Angora","Silver","Silver Fox","Silver Marten","Standard Chinchilla","Tan","Thrianta"],kGt=["Abrocoma","Abrocoma schistacea","Aconaemys","Aconaemys porteri","African brush-tailed porcupine","Andean mountain cavy","Argentine tuco-tuco","Ashy chinchilla rat","Asiatic brush-tailed porcupine","Atherurus","Azara's agouti","Azara's tuco-tuco","Bahia porcupine","Bathyergus","Bathyergus janetta","Bathyergus suillus","Bennett's chinchilla rat","Bicolored-spined porcupine","Black agouti","Black dwarf porcupine","Black-rumped agouti","Black-tailed hairy dwarf porcupine","Bolivian chinchilla rat","Bolivian tuco-tuco","Bonetto's tuco-tuco","Brandt's yellow-toothed cavy","Brazilian guinea pig","Brazilian porcupine","Brazilian tuco-tuco","Bridge's degu","Brown hairy dwarf porcupine","Budin's chinchilla rat, A. budini","Cape porcupine","Catamarca tuco-tuco","Cavia","Central American agouti","Chacoan tuco-tuco","Chilean rock rat","Chinchilla","Coendou","Coiban agouti","Colburn's tuco-tuco","Collared tuco-tuco","Common degu","Common yellow-toothed cavy","Conover's tuco-tuco","Coruro","Crested agouti","Crested porcupine","Cryptomys","Cryptomys bocagei","Cryptomys damarensis","Cryptomys foxi","Cryptomys hottentotus","Cryptomys mechowi","Cryptomys ochraceocinereus","Cryptomys zechi","Ctenomys","Cuniculus","Cuscomys","Cuscomys ashanika","Dactylomys","Dactylomys boliviensis","Dactylomys dactylinus","Dactylomys peruanus","Dasyprocta","Domestic guinea pig","Emily's tuco-tuco","Erethizon","Famatina chinchilla rat","Frosted hairy dwarf porcupine","Fukomys","Fukomys amatus","Fukomys anselli","Fukomys bocagei","Fukomys damarensis","Fukomys darlingi","Fukomys foxi","Fukomys ilariae","Fukomys kafuensis","Fukomys mechowii","Fukomys micklemi","Fukomys occlusus","Fukomys ochraceocinereus","Fukomys whytei","Fukomys zechi","Furtive tuco-tuco","Galea","Georychus","Georychus capensis","Golden viscacha-rat","Goya tuco-tuco","Greater guinea pig","Green acouchi","Haig's tuco-tuco","Heliophobius","Heliophobius argenteocinereus","Heterocephalus","Heterocephalus glaber","Highland tuco-tuco","Hystrix","Indian porcupine","Isla Mocha degu","Kalinowski agouti","Kannabateomys","Kannabateomys amblyonyx","Lagidium","Lagostomus","Lewis' tuco-tuco","Long-tailed chinchilla","Long-tailed porcupine","Los Chalchaleros' viscacha-rat","Lowland paca","Magellanic tuco-tuco","Malayan porcupine","Maule tuco-tuco","Mendoza tuco-tuco","Mexican agouti","Mexican hairy dwarf porcupine","Microcavia","Montane guinea pig","Moon-toothed degu","Mottled tuco-tuco","Mountain degu","Mountain paca","Mountain viscacha-rat","Myoprocta","Natterer's tuco-tuco","North American porcupine","Northern viscacha","Octodon","Octodontomys","Octomys","Olallamys","Olallamys albicauda","Olallamys edax","Orinoco agouti","Paraguaian hairy dwarf porcupine","Pearson's tuco-tuco","Peruvian tuco-tuco","Philippine porcupine","Pipanacoctomys","Plains viscacha","Plains viscacha-rat","Porteous' tuco-tuco","Punta de Vacas chinchilla rat","Red acouchi","Red-rumped agouti","Reddish tuco-tuco","Rio Negro tuco-tuco","Robust tuco-tuco","Roosmalen's dwarf porcupine","Rothschild's porcupine","Ruatan Island agouti","Sage's rock rat","Salinoctomys","Salta tuco-tuco","San Luis tuco-tuco","Santa Catarina's guinea pig","Shiny guinea pig","Shipton's mountain cavy","Short-tailed chinchilla","Silky tuco-tuco","Social tuco-tuco","Southern mountain cavy","Southern tuco-tuco","Southern viscacha","Spalacopus","Spix's yellow-toothed cavy","Steinbach's tuco-tuco","Streaked dwarf porcupine","Strong tuco-tuco","Stump-tailed porcupine","Sumatran porcupine","Sunda porcupine","Talas tuco-tuco","Tawny tuco-tuco","Thick-spined porcupine","Tiny tuco-tuco","Trichys","Tucuman tuco-tuco","Tympanoctomys","Uspallata chinchilla rat","White-toothed tuco-tuco","Wolffsohn's viscacha"],TGt=["Viper Adder","Common adder","Death Adder","Desert death adder","Horned adder","Long-nosed adder","Many-horned adder","Mountain adder","Mud adder","Namaqua dwarf adder","Nightingale adder","Peringuey's adder","Puff adder","African puff adder","Rhombic night adder","Sand adder","Dwarf sand adder","Namib dwarf sand adder","Water adder","Aesculapian snake","Anaconda","Bolivian anaconda","De Schauensee's anaconda","Green anaconda","Yellow anaconda","Arafura file snake","Asp","European asp","Egyptian asp","African beaked snake","Ball Python","Bird snake","Black-headed snake","Mexican black kingsnake","Black rat snake","Black snake","Red-bellied black snake","Blind snake","Brahminy blind snake","Texas blind snake","Western blind snake","Boa","Abaco Island boa","Amazon tree boa","Boa constrictor","Cuban boa","Dumeril's boa","Dwarf boa","Emerald tree boa","Hogg Island boa","Jamaican boa","Madagascar ground boa","Madagascar tree boa","Puerto Rican boa","Rainbow boa","Red-tailed boa","Rosy boa","Rubber boa","Sand boa","Tree boa","Boiga","Boomslang","Brown snake","Eastern brown snake","Bull snake","Bushmaster","Dwarf beaked snake","Rufous beaked snake","Canebrake","Cantil","Cascabel","Cat-eyed snake","Banded cat-eyed snake","Green cat-eyed snake","Cat snake","Andaman cat snake","Beddome's cat snake","Dog-toothed cat snake","Forsten's cat snake","Gold-ringed cat snake","Gray cat snake","Many-spotted cat snake","Tawny cat snake","Chicken snake","Coachwhip snake","Cobra","Andaman cobra","Arabian cobra","Asian cobra","Banded water cobra","Black-necked cobra","Black-necked spitting cobra","Black tree cobra","Burrowing cobra","Cape cobra","Caspian cobra","Congo water cobra","Common cobra","Eastern water cobra","Egyptian cobra","Equatorial spitting cobra","False cobra","False water cobra","Forest cobra","Gold tree cobra","Indian cobra","Indochinese spitting cobra","Javan spitting cobra","King cobra","Mandalay cobra","Mozambique spitting cobra","North Philippine cobra","Nubian spitting cobra","Philippine cobra","Red spitting cobra","Rinkhals cobra","Shield-nosed cobra","Sinai desert cobra","Southern Indonesian spitting cobra","Southern Philippine cobra","Southwestern black spitting cobra","Snouted cobra","Spectacled cobra","Spitting cobra","Storm water cobra","Thai cobra","Taiwan cobra","Zebra spitting cobra","Collett's snake","Congo snake","Copperhead","American copperhead","Australian copperhead","Coral snake","Arizona coral snake","Beddome's coral snake","Brazilian coral snake","Cape coral snake","Harlequin coral snake","High Woods coral snake","Malayan long-glanded coral snake","Texas Coral Snake","Western coral snake","Corn snake","South eastern corn snake","Cottonmouth","Crowned snake","Cuban wood snake","Eastern hognose snake","Egg-eater","Eastern coral snake","Fer-de-lance","Fierce snake","Fishing snake","Flying snake","Golden tree snake","Indian flying snake","Moluccan flying snake","Ornate flying snake","Paradise flying snake","Twin-Barred tree snake","Banded Flying Snake","Fox snake, three species of Pantherophis","Forest flame snake","Garter snake","Checkered garter snake","Common garter snake","San Francisco garter snake","Texas garter snake","Cape gopher snake","Grass snake","Green snake","Rough green snake","Smooth green snake","Ground snake","Common ground snake","Three-lined ground snake","Western ground snake","Habu","Hognose snake","Blonde hognose snake","Dusty hognose snake","Jan's hognose snake","Giant Malagasy hognose snake","Mexican hognose snake","South American hognose snake","Hundred pacer","Ikaheka snake","Indigo snake","Jamaican Tree Snake","Keelback","Asian keelback","Assam keelback","Black-striped keelback","Buff striped keelback","Burmese keelback","Checkered keelback","Common keelback","Hill keelback","Himalayan keelback","Khasi Hills keelback","Modest keelback","Nicobar Island keelback","Nilgiri keelback","Orange-collared keelback","Red-necked keelback","Sikkim keelback","Speckle-bellied keelback","White-lipped keelback","Wynaad keelback","Yunnan keelback","King brown","King snake","California kingsnake","Desert kingsnake","Grey-banded kingsnake","North eastern king snake","Prairie kingsnake","Scarlet kingsnake","Speckled kingsnake","Krait","Banded krait","Blue krait","Black krait","Burmese krait","Ceylon krait","Indian krait","Lesser black krait","Malayan krait","Many-banded krait","Northeastern hill krait","Red-headed krait","Sind krait","Large shield snake","Lancehead","Common lancehead","Lora","Grey Lora","Lyre snake","Baja California lyresnake","Central American lyre snake","Texas lyre snake","Eastern lyre snake","Machete savane","Mamba","Black mamba","Green mamba","Eastern green mamba","Western green mamba","Mamushi","Mangrove snake","Milk snake","Moccasin snake","Montpellier snake","Mud snake","Eastern mud snake","Western mud snake","Mussurana","Night snake","Cat-eyed night snake","Texas night snake","Nichell snake","Narrowhead Garter Snake","Nose-horned viper","Rhinoceros viper","Vipera ammodytes","Parrot snake","Mexican parrot snake","Patchnose snake","Perrotet's shieldtail snake","Pine snake","Pipe snake","Asian pipe snake","Dwarf pipe snake","Red-tailed pipe snake","Python","African rock python","Amethystine python","Angolan python","Australian scrub python","Ball python","Bismarck ringed python","Black headed python","Blood python","Boelen python","Borneo short-tailed python","Bredl's python","Brown water python","Burmese python","Calabar python","Western carpet python","Centralian carpet python","Coastal carpet python","Inland carpet python","Jungle carpet python","New Guinea carpet python","Northwestern carpet python","Southwestern carpet python","Children's python","Dauan Island water python","Desert woma python","Diamond python","Flinders python","Green tree python","Halmahera python","Indian python","Indonesian water python","Macklot's python","Mollucan python","Oenpelli python","Olive python","Papuan python","Pygmy python","Red blood python","Reticulated python","Kayaudi dwarf reticulated python","Selayer reticulated python","Rough-scaled python","Royal python","Savu python","Spotted python","Stimson's python","Sumatran short-tailed python","Tanimbar python","Timor python","Wetar Island python","White-lipped python","Brown white-lipped python","Northern white-lipped python","Southern white-lipped python","Woma python","Western woma python","Queen snake","Racer","Bimini racer","Buttermilk racer","Eastern racer","Eastern yellowbelly sad racer","Mexican racer","Southern black racer","Tan racer","West Indian racer","Raddysnake","Southwestern blackhead snake","Rat snake","Baird's rat snake","Beauty rat snake","Great Plains rat snake","Green rat snake","Japanese forest rat snake","Japanese rat snake","King rat snake","Mandarin rat snake","Persian rat snake","Red-backed rat snake","Twin-spotted rat snake","Yellow-striped rat snake","Manchurian Black Water Snake","Rattlesnake","Arizona black rattlesnake","Aruba rattlesnake","Chihuahuan ridge-nosed rattlesnake","Coronado Island rattlesnake","Durango rock rattlesnake","Dusky pigmy rattlesnake","Eastern diamondback rattlesnake","Grand Canyon rattlesnake","Great Basin rattlesnake","Hopi rattlesnake","Lance-headed rattlesnake","Long-tailed rattlesnake","Massasauga rattlesnake","Mexican green rattlesnake","Mexican west coast rattlesnake","Midget faded rattlesnake","Mojave rattlesnake","Northern black-tailed rattlesnake","Oaxacan small-headed rattlesnake","Rattler","Red diamond rattlesnake","Southern Pacific rattlesnake","Southwestern speckled rattlesnake","Tancitaran dusky rattlesnake","Tiger rattlesnake","Timber rattlesnake","Tropical rattlesnake","Twin-spotted rattlesnake","Uracoan rattlesnake","Western diamondback rattlesnake","Ribbon snake","Rinkhals","River jack","Sea snake","Annulated sea snake","Beaked sea snake","Dubois's sea snake","Hardwicke's sea snake","Hook Nosed Sea Snake","Olive sea snake","Pelagic sea snake","Stoke's sea snake","Yellow-banded sea snake","Yellow-bellied sea snake","Yellow-lipped sea snake","Shield-tailed snake","Sidewinder","Colorado desert sidewinder","Mojave desert sidewinder","Sonoran sidewinder","Small-eyed snake","Smooth snake","Brazilian smooth snake","European smooth snake","Stiletto snake","Striped snake","Japanese striped snake","Sunbeam snake","Taipan","Central ranges taipan","Coastal taipan","Inland taipan","Paupan taipan","Tentacled snake","Tic polonga","Tiger snake","Chappell Island tiger snake","Common tiger snake","Down's tiger snake","Eastern tiger snake","King Island tiger snake","Krefft's tiger snake","Peninsula tiger snake","Tasmanian tiger snake","Western tiger snake","Tigre snake","Tree snake","Blanding's tree snake","Blunt-headed tree snake","Brown tree snake","Long-nosed tree snake","Many-banded tree snake","Northern tree snake","Trinket snake","Black-banded trinket snake","Twig snake","African twig snake","Twin Headed King Snake","Titanboa","Urutu","Vine snake","Asian Vine Snake, Whip Snake","American Vine Snake","Mexican vine snake","Viper","Asp viper","Bamboo viper","Bluntnose viper","Brazilian mud Viper","Burrowing viper","Bush viper","Great Lakes bush viper","Hairy bush viper","Nitsche's bush viper","Rough-scaled bush viper","Spiny bush viper","Carpet viper","Crossed viper","Cyclades blunt-nosed viper","Eyelash viper","False horned viper","Fea's viper","Fifty pacer","Gaboon viper","Hognosed viper","Horned desert viper","Horned viper","Jumping viper","Kaznakov's viper","Leaf-nosed viper","Leaf viper","Levant viper","Long-nosed viper","McMahon's viper","Mole viper","Palestine viper","Pallas' viper","Palm viper","Amazonian palm viper","Black-speckled palm-pitviper","Eyelash palm-pitviper","Green palm viper","Mexican palm-pitviper","Guatemalan palm viper","Honduran palm viper","Siamese palm viper","Side-striped palm-pitviper","Yellow-lined palm viper","Pit viper","Banded pitviper","Bamboo pitviper","Barbour's pit viper","Black-tailed horned pit viper","Bornean pitviper","Brongersma's pitviper","Brown spotted pitviper[4]","Cantor's pitviper","Elegant pitviper","Eyelash pit viper","Fan-Si-Pan horned pitviper","Flat-nosed pitviper","Godman's pit viper","Green tree pit viper","Habu pit viper","Hagen's pitviper","Horseshoe pitviper","Jerdon's pitviper","Kanburian pit viper","Kaulback's lance-headed pitviper","Kham Plateau pitviper","Large-eyed pitviper","Malabar rock pitviper","Malayan pit viper","Mangrove pit viper","Mangshan pitviper","Motuo bamboo pitviper","Nicobar bamboo pitviper","Philippine pitviper","Pointed-scaled pit viper[5]","Red-tailed bamboo pitviper","Schultze's pitviper","Stejneger's bamboo pitviper","Sri Lankan pit viper","Temple pit viper","Tibetan bamboo pitviper","Tiger pit viper","Undulated pit viper","Wagler's pit viper","Wirot's pit viper","Portuguese viper","Saw-scaled viper","Schlegel's viper","Sedge viper","Sharp-nosed viper","Snorkel viper","Temple viper","Tree viper","Chinese tree viper","Guatemalan tree viper","Hutton's tree viper","Indian tree viper","Large-scaled tree viper","Malcolm's tree viper","Nitsche's tree viper","Pope's tree viper","Rough-scaled tree viper","Rungwe tree viper","Sumatran tree viper","White-lipped tree viper","Ursini's viper","Western hog-nosed viper","Wart snake","Water moccasin","Water snake","Bocourt's water snake","Northern water snake","Whip snake","Long-nosed whip snake","Wolf snake","African wolf snake","Barred wolf snake","Worm snake","Common worm snake","Longnosed worm snake","Wutu","Yarara","Zebra snake"],EGt=["dog","cat","snake","bear","lion","cetacean","insect","crocodilia","cow","bird","fish","rabbit","horse"],RGt={bear:vGt,bird:CGt,cat:SGt,cetacean:wGt,cow:xGt,crocodilia:_Gt,dog:LGt,fish:IGt,horse:FGt,insect:DGt,lion:NGt,rabbit:MGt,rodent:kGt,snake:TGt,type:EGt},ZGt=RGt,WGt=["{{person.name}}","{{company.name}}"],AGt=["Redhold","Treeflex","Trippledex","Kanlam","Bigtax","Daltfresh","Toughjoyfax","Mat Lam Tam","Otcom","Tres-Zap","Y-Solowarm","Tresom","Voltsillam","Biodex","Greenlam","Viva","Matsoft","Temp","Zoolab","Subin","Rank","Job","Stringtough","Tin","It","Home Ing","Zamit","Sonsing","Konklab","Alpha","Latlux","Voyatouch","Alphazap","Holdlamis","Zaam-Dox","Sub-Ex","Quo Lux","Bamity","Ventosanzap","Lotstring","Hatity","Tempsoft","Overhold","Fixflex","Konklux","Zontrax","Tampflex","Span","Namfix","Transcof","Stim","Fix San","Sonair","Stronghold","Fintone","Y-find","Opela","Lotlux","Ronstring","Zathin","Duobam","Keylex"],VGt=["0.#.#","0.##","#.##","#.#","#.#.#"],GGt={author:WGt,name:AGt,version:VGt},XGt=GGt,PGt=["###-###-####","(###) ###-####","1-###-###-####","###.###.####"],OGt={formats:PGt},BGt=OGt,zGt=["red","green","blue","yellow","purple","mint green","teal","white","black","orange","pink","grey","maroon","violet","turquoise","tan","sky blue","salmon","plum","orchid","olive","magenta","lime","ivory","indigo","gold","fuchsia","cyan","azure","lavender","silver"],HGt={human:zGt},YGt=HGt,UGt=["Books","Movies","Music","Games","Electronics","Computers","Home","Garden","Tools","Grocery","Health","Beauty","Toys","Kids","Baby","Clothing","Shoes","Jewelery","Sports","Outdoors","Automotive","Industrial"],KGt=["Ergonomic executive chair upholstered in bonded black leather and PVC padded seat and back for all-day comfort and support","The automobile layout consists of a front-engine design, with transaxle-type transmissions mounted at the rear of the engine and four wheel drive","New ABC 13 9370, 13.3, 5th Gen CoreA5-8250U, 8GB RAM, 256GB SSD, power UHD Graphics, OS 10 Home, OS Office A & J 2016","The slim & simple Maple Gaming Keyboard from Dev Byte comes with a sleek body and 7- Color RGB LED Back-lighting for smart functionality","The Apollotech B340 is an affordable wireless mouse with reliable connectivity, 12 months battery life and modern design","The Nagasaki Lander is the trademarked name of several series of Nagasaki sport bikes, that started with the 1984 ABC800J","The Football Is Good For Training And Recreational Purposes","Carbonite web goalkeeper gloves are ergonomically designed to give easy fit","Boston's most advanced compression wear technology increases muscle oxygenation, stabilizes active muscles","New range of formal shirts are designed keeping you in mind. With fits and styling that will make you stand apart","The beautiful range of Apple Naturalé that has an exciting mix of natural ingredients. With the Goodness of 100% Natural Ingredients","Andy shoes are designed to keeping in mind durability as well as trends, the most stylish range of shoes & sandals"],JGt={adjective:["Small","Ergonomic","Electronic","Rustic","Intelligent","Gorgeous","Incredible","Elegant","Fantastic","Practical","Modern","Recycled","Sleek","Bespoke","Awesome","Generic","Handcrafted","Handmade","Oriental","Licensed","Luxurious","Refined","Unbranded","Tasty"],material:["Steel","Bronze","Wooden","Concrete","Plastic","Cotton","Granite","Rubber","Metal","Soft","Fresh","Frozen"],product:["Chair","Car","Computer","Keyboard","Mouse","Bike","Ball","Gloves","Pants","Shirt","Table","Shoes","Hat","Towels","Soap","Tuna","Chicken","Fish","Cheese","Bacon","Pizza","Salad","Sausages","Chips"]},jGt={department:UGt,product_description:KGt,product_name:JGt},QGt=jGt,$Gt=["Adaptive","Advanced","Ameliorated","Assimilated","Automated","Balanced","Business-focused","Centralized","Cloned","Compatible","Configurable","Cross-group","Cross-platform","Customer-focused","Customizable","Decentralized","De-engineered","Devolved","Digitized","Distributed","Diverse","Down-sized","Enhanced","Enterprise-wide","Ergonomic","Exclusive","Expanded","Extended","Face to face","Focused","Front-line","Fully-configurable","Function-based","Fundamental","Future-proofed","Grass-roots","Horizontal","Implemented","Innovative","Integrated","Intuitive","Inverse","Managed","Mandatory","Monitored","Multi-channelled","Multi-lateral","Multi-layered","Multi-tiered","Networked","Object-based","Open-architected","Open-source","Operative","Optimized","Optional","Organic","Organized","Persevering","Persistent","Phased","Polarised","Pre-emptive","Proactive","Profit-focused","Profound","Programmable","Progressive","Public-key","Quality-focused","Reactive","Realigned","Re-contextualized","Re-engineered","Reduced","Reverse-engineered","Right-sized","Robust","Seamless","Secured","Self-enabling","Sharable","Stand-alone","Streamlined","Switchable","Synchronised","Synergistic","Synergized","Team-oriented","Total","Triple-buffered","Universal","Up-sized","Upgradable","User-centric","User-friendly","Versatile","Virtual","Visionary","Vision-oriented"],qGt=["clicks-and-mortar","value-added","vertical","proactive","robust","revolutionary","scalable","leading-edge","innovative","intuitive","strategic","e-business","mission-critical","sticky","one-to-one","24/7","end-to-end","global","B2B","B2C","granular","frictionless","virtual","viral","dynamic","24/365","best-of-breed","killer","magnetic","bleeding-edge","web-enabled","interactive","dot-com","sexy","back-end","real-time","efficient","front-end","distributed","seamless","extensible","turn-key","world-class","open-source","cross-platform","cross-media","synergistic","bricks-and-clicks","out-of-the-box","enterprise","integrated","impactful","wireless","transparent","next-generation","cutting-edge","user-centric","visionary","customized","ubiquitous","plug-and-play","collaborative","compelling","holistic","rich"],eXt=["synergies","paradigms","markets","partnerships","infrastructures","platforms","initiatives","channels","eyeballs","communities","ROI","solutions","action-items","portals","niches","technologies","content","supply-chains","convergence","relationships","architectures","interfaces","e-markets","e-commerce","systems","bandwidth","models","mindshare","deliverables","users","schemas","networks","applications","metrics","e-business","functionalities","experiences","web services","methodologies","blockchains","lifetime value"],tXt=["implement","utilize","integrate","streamline","optimize","evolve","transform","embrace","enable","orchestrate","leverage","reinvent","aggregate","architect","enhance","incentivize","morph","empower","envisioneer","monetize","harness","facilitate","seize","disintermediate","synergize","strategize","deploy","brand","grow","target","syndicate","synthesize","deliver","mesh","incubate","engage","maximize","benchmark","expedite","reintermediate","whiteboard","visualize","repurpose","innovate","scale","unleash","drive","extend","engineer","revolutionize","generate","exploit","transition","e-enable","iterate","cultivate","matrix","productize","redefine","recontextualize"],nXt=["24 hour","24/7","3rd generation","4th generation","5th generation","6th generation","actuating","analyzing","asymmetric","asynchronous","attitude-oriented","background","bandwidth-monitored","bi-directional","bifurcated","bottom-line","clear-thinking","client-driven","client-server","coherent","cohesive","composite","context-sensitive","contextually-based","content-based","dedicated","demand-driven","didactic","directional","discrete","disintermediate","dynamic","eco-centric","empowering","encompassing","even-keeled","executive","explicit","exuding","fault-tolerant","foreground","fresh-thinking","full-range","global","grid-enabled","heuristic","high-level","holistic","homogeneous","human-resource","hybrid","impactful","incremental","intangible","interactive","intermediate","leading edge","local","logistical","maximized","methodical","mission-critical","mobile","modular","motivating","multimedia","multi-state","multi-tasking","national","needs-based","neutral","next generation","non-volatile","object-oriented","optimal","optimizing","radical","real-time","reciprocal","regional","responsive","scalable","secondary","solution-oriented","stable","static","systematic","systemic","system-worthy","tangible","tertiary","transitional","uniform","upward-trending","user-facing","value-added","web-enabled","well-modulated","zero administration","zero defect","zero tolerance"],iXt=["{{person.last_name}} {{company.suffix}}","{{person.last_name}} - {{person.last_name}}","{{person.last_name}}, {{person.last_name}} and {{person.last_name}}"],rXt=["ability","access","adapter","algorithm","alliance","analyzer","application","approach","architecture","archive","artificial intelligence","array","attitude","benchmark","budgetary management","capability","capacity","challenge","circuit","collaboration","complexity","concept","conglomeration","contingency","core","customer loyalty","database","data-warehouse","definition","emulation","encoding","encryption","extranet","firmware","flexibility","focus group","forecast","frame","framework","function","functionalities","Graphic Interface","groupware","Graphical User Interface","hardware","help-desk","hierarchy","hub","implementation","info-mediaries","infrastructure","initiative","installation","instruction set","interface","internet solution","intranet","knowledge user","knowledge base","local area network","leverage","matrices","matrix","methodology","middleware","migration","model","moderator","monitoring","moratorium","neural-net","open architecture","open system","orchestration","paradigm","parallelism","policy","portal","pricing structure","process improvement","product","productivity","project","projection","protocol","secured line","service-desk","software","solution","standardization","strategy","structure","success","superstructure","support","synergy","system engine","task-force","throughput","time-frame","toolset","utilisation","website","workforce"],oXt=["Inc","and Sons","LLC","Group"],sXt={adjective:$Gt,buzz_adjective:qGt,buzz_noun:eXt,buzz_verb:tXt,descriptor:nXt,name_pattern:iXt,noun:rXt,suffix:oXt},aXt=sXt,lXt=["id","title","name","email","phone","token","group","category","password","comment","avatar","status","createdAt","updatedAt"],uXt={column:lXt},cXt=uXt,dXt={wide:["January","February","March","April","May","June","July","August","September","October","November","December"],abbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]},hXt={wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],abbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},mXt={month:dXt,weekday:hXt},fXt=mXt,gXt=["Checking","Savings","Money Market","Investment","Home Loan","Credit Card","Auto Loan","Personal Loan"],pXt=["34##-######-####L","37##-######-####L"],bXt=["30[0-5]#-######-###L","36##-######-###L","54##-####-####-###L"],yXt=["6011-####-####-###L","65##-####-####-###L","64[4-9]#-####-####-###L","6011-62##-####-####-###L","65##-62##-####-####-###L","64[4-9]#-62##-####-####-###L"],vXt=["3528-####-####-###L","3529-####-####-###L","35[3-8]#-####-####-###L"],CXt=["5018-#{4}-#{4}-#{3}L","5020-#{4}-#{4}-#{3}L","5038-#{4}-#{4}-#{3}L","5893-#{4}-#{4}-#{3}L","6304-#{4}-#{4}-#{3}L","6759-#{4}-#{4}-#{3}L","676[1-3]-####-####-###L","5018#{11,15}L","5020#{11,15}L","5038#{11,15}L","5893#{11,15}L","6304#{11,15}L","6759#{11,15}L","676[1-3]#{11,15}L"],SXt=["5[1-5]##-####-####-###L","2[221-720]-####-####-###L"],wXt=["4###########L","4###-####-####-###L"],xXt={american_express:pXt,diners_club:bXt,discover:yXt,jcb:vXt,maestro:CXt,mastercard:SXt,visa:wXt},_Xt=xXt,LXt=[{name:"UAE Dirham",code:"AED",symbol:""},{name:"Afghani",code:"AFN",symbol:"؋"},{name:"Lek",code:"ALL",symbol:"Lek"},{name:"Armenian Dram",code:"AMD",symbol:""},{name:"Netherlands Antillian Guilder",code:"ANG",symbol:"ƒ"},{name:"Kwanza",code:"AOA",symbol:""},{name:"Argentine Peso",code:"ARS",symbol:"$"},{name:"Australian Dollar",code:"AUD",symbol:"$"},{name:"Aruban Guilder",code:"AWG",symbol:"ƒ"},{name:"Azerbaijanian Manat",code:"AZN",symbol:"ман"},{name:"Convertible Marks",code:"BAM",symbol:"KM"},{name:"Barbados Dollar",code:"BBD",symbol:"$"},{name:"Taka",code:"BDT",symbol:""},{name:"Bulgarian Lev",code:"BGN",symbol:"лв"},{name:"Bahraini Dinar",code:"BHD",symbol:""},{name:"Burundi Franc",code:"BIF",symbol:""},{name:"Bermudian Dollar (customarily known as Bermuda Dollar)",code:"BMD",symbol:"$"},{name:"Brunei Dollar",code:"BND",symbol:"$"},{name:"Boliviano boliviano",code:"BOB",symbol:"Bs"},{name:"Brazilian Real",code:"BRL",symbol:"R$"},{name:"Bahamian Dollar",code:"BSD",symbol:"$"},{name:"Pula",code:"BWP",symbol:"P"},{name:"Belarusian Ruble",code:"BYN",symbol:"Rbl"},{name:"Belize Dollar",code:"BZD",symbol:"BZ$"},{name:"Canadian Dollar",code:"CAD",symbol:"$"},{name:"Congolese Franc",code:"CDF",symbol:""},{name:"Swiss Franc",code:"CHF",symbol:"CHF"},{name:"Chilean Peso",code:"CLP",symbol:"$"},{name:"Yuan Renminbi",code:"CNY",symbol:"¥"},{name:"Colombian Peso",code:"COP",symbol:"$"},{name:"Costa Rican Colon",code:"CRC",symbol:"₡"},{name:"Cuban Peso",code:"CUP",symbol:"₱"},{name:"Cape Verde Escudo",code:"CVE",symbol:""},{name:"Czech Koruna",code:"CZK",symbol:"Kč"},{name:"Djibouti Franc",code:"DJF",symbol:""},{name:"Danish Krone",code:"DKK",symbol:"kr"},{name:"Dominican Peso",code:"DOP",symbol:"RD$"},{name:"Algerian Dinar",code:"DZD",symbol:""},{name:"Egyptian Pound",code:"EGP",symbol:"£"},{name:"Nakfa",code:"ERN",symbol:""},{name:"Ethiopian Birr",code:"ETB",symbol:""},{name:"Euro",code:"EUR",symbol:"€"},{name:"Fiji Dollar",code:"FJD",symbol:"$"},{name:"Falkland Islands Pound",code:"FKP",symbol:"£"},{name:"Pound Sterling",code:"GBP",symbol:"£"},{name:"Lari",code:"GEL",symbol:""},{name:"Cedi",code:"GHS",symbol:""},{name:"Gibraltar Pound",code:"GIP",symbol:"£"},{name:"Dalasi",code:"GMD",symbol:""},{name:"Guinea Franc",code:"GNF",symbol:""},{name:"Quetzal",code:"GTQ",symbol:"Q"},{name:"Guyana Dollar",code:"GYD",symbol:"$"},{name:"Hong Kong Dollar",code:"HKD",symbol:"$"},{name:"Lempira",code:"HNL",symbol:"L"},{name:"Gourde",code:"HTG",symbol:""},{name:"Forint",code:"HUF",symbol:"Ft"},{name:"Rupiah",code:"IDR",symbol:"Rp"},{name:"New Israeli Sheqel",code:"ILS",symbol:"₪"},{name:"Bhutanese Ngultrum",code:"BTN",symbol:"Nu"},{name:"Indian Rupee",code:"INR",symbol:"₹"},{name:"Iraqi Dinar",code:"IQD",symbol:""},{name:"Iranian Rial",code:"IRR",symbol:"﷼"},{name:"Iceland Krona",code:"ISK",symbol:"kr"},{name:"Jamaican Dollar",code:"JMD",symbol:"J$"},{name:"Jordanian Dinar",code:"JOD",symbol:""},{name:"Yen",code:"JPY",symbol:"¥"},{name:"Kenyan Shilling",code:"KES",symbol:""},{name:"Som",code:"KGS",symbol:"лв"},{name:"Riel",code:"KHR",symbol:"៛"},{name:"Comoro Franc",code:"KMF",symbol:""},{name:"North Korean Won",code:"KPW",symbol:"₩"},{name:"Won",code:"KRW",symbol:"₩"},{name:"Kuwaiti Dinar",code:"KWD",symbol:""},{name:"Cayman Islands Dollar",code:"KYD",symbol:"$"},{name:"Tenge",code:"KZT",symbol:"лв"},{name:"Kip",code:"LAK",symbol:"₭"},{name:"Lebanese Pound",code:"LBP",symbol:"£"},{name:"Sri Lanka Rupee",code:"LKR",symbol:"₨"},{name:"Liberian Dollar",code:"LRD",symbol:"$"},{name:"Libyan Dinar",code:"LYD",symbol:""},{name:"Moroccan Dirham",code:"MAD",symbol:""},{name:"Moldovan Leu",code:"MDL",symbol:""},{name:"Malagasy Ariary",code:"MGA",symbol:""},{name:"Denar",code:"MKD",symbol:"ден"},{name:"Kyat",code:"MMK",symbol:""},{name:"Tugrik",code:"MNT",symbol:"₮"},{name:"Pataca",code:"MOP",symbol:""},{name:"Ouguiya",code:"MRU",symbol:""},{name:"Mauritius Rupee",code:"MUR",symbol:"₨"},{name:"Rufiyaa",code:"MVR",symbol:""},{name:"Kwacha",code:"MWK",symbol:""},{name:"Mexican Peso",code:"MXN",symbol:"$"},{name:"Malaysian Ringgit",code:"MYR",symbol:"RM"},{name:"Metical",code:"MZN",symbol:"MT"},{name:"Naira",code:"NGN",symbol:"₦"},{name:"Cordoba Oro",code:"NIO",symbol:"C$"},{name:"Norwegian Krone",code:"NOK",symbol:"kr"},{name:"Nepalese Rupee",code:"NPR",symbol:"₨"},{name:"New Zealand Dollar",code:"NZD",symbol:"$"},{name:"Rial Omani",code:"OMR",symbol:"﷼"},{name:"Balboa",code:"PAB",symbol:"B/."},{name:"Nuevo Sol",code:"PEN",symbol:"S/."},{name:"Kina",code:"PGK",symbol:""},{name:"Philippine Peso",code:"PHP",symbol:"Php"},{name:"Pakistan Rupee",code:"PKR",symbol:"₨"},{name:"Zloty",code:"PLN",symbol:"zł"},{name:"Guarani",code:"PYG",symbol:"Gs"},{name:"Qatari Rial",code:"QAR",symbol:"﷼"},{name:"New Leu",code:"RON",symbol:"lei"},{name:"Serbian Dinar",code:"RSD",symbol:"Дин."},{name:"Russian Ruble",code:"RUB",symbol:"руб"},{name:"Rwanda Franc",code:"RWF",symbol:""},{name:"Saudi Riyal",code:"SAR",symbol:"﷼"},{name:"Solomon Islands Dollar",code:"SBD",symbol:"$"},{name:"Seychelles Rupee",code:"SCR",symbol:"₨"},{name:"Sudanese Pound",code:"SDG",symbol:""},{name:"Swedish Krona",code:"SEK",symbol:"kr"},{name:"Singapore Dollar",code:"SGD",symbol:"$"},{name:"Saint Helena Pound",code:"SHP",symbol:"£"},{name:"Leone",code:"SLE",symbol:""},{name:"Somali Shilling",code:"SOS",symbol:"S"},{name:"Surinam Dollar",code:"SRD",symbol:"$"},{name:"South Sudanese pound",code:"SSP",symbol:""},{name:"Dobra",code:"STN",symbol:"Db"},{name:"Syrian Pound",code:"SYP",symbol:"£"},{name:"Lilangeni",code:"SZL",symbol:""},{name:"Baht",code:"THB",symbol:"฿"},{name:"Somoni",code:"TJS",symbol:""},{name:"Manat",code:"TMT",symbol:""},{name:"Tunisian Dinar",code:"TND",symbol:""},{name:"Pa'anga",code:"TOP",symbol:""},{name:"Turkish Lira",code:"TRY",symbol:"₺"},{name:"Trinidad and Tobago Dollar",code:"TTD",symbol:"TT$"},{name:"New Taiwan Dollar",code:"TWD",symbol:"NT$"},{name:"Tanzanian Shilling",code:"TZS",symbol:""},{name:"Hryvnia",code:"UAH",symbol:"₴"},{name:"Uganda Shilling",code:"UGX",symbol:""},{name:"US Dollar",code:"USD",symbol:"$"},{name:"Peso Uruguayo",code:"UYU",symbol:"$U"},{name:"Uzbekistan Sum",code:"UZS",symbol:"лв"},{name:"Venezuelan bolívar",code:"VES",symbol:"Bs"},{name:"Dong",code:"VND",symbol:"₫"},{name:"Vatu",code:"VUV",symbol:""},{name:"Tala",code:"WST",symbol:""},{name:"CFA Franc BEAC",code:"XAF",symbol:""},{name:"East Caribbean Dollar",code:"XCD",symbol:"$"},{name:"CFA Franc BCEAO",code:"XOF",symbol:""},{name:"CFP Franc",code:"XPF",symbol:""},{name:"Yemeni Rial",code:"YER",symbol:"﷼"},{name:"Rand",code:"ZAR",symbol:"R"},{name:"Lesotho Loti",code:"LSL",symbol:""},{name:"Namibia Dollar",code:"NAD",symbol:"N$"},{name:"Zambian Kwacha",code:"ZMW",symbol:"K"},{name:"Zimbabwe Dollar",code:"ZWL",symbol:""}],IXt=["deposit","withdrawal","payment","invoice"],FXt={account_type:gXt,credit_card:_Xt,currency:LXt,transaction_type:IXt},DXt=FXt,NXt=["auxiliary","primary","back-end","digital","open-source","virtual","cross-platform","redundant","online","haptic","multi-byte","bluetooth","wireless","1080p","neural","optical","solid state","mobile"],MXt=["backing up","bypassing","hacking","overriding","compressing","copying","navigating","indexing","connecting","generating","quantifying","calculating","synthesizing","transmitting","programming","parsing"],kXt=["driver","protocol","bandwidth","panel","microchip","program","port","card","array","interface","system","sensor","firewall","hard drive","pixel","alarm","feed","monitor","application","transmitter","bus","circuit","capacitor","matrix"],TXt=["If we {{verb}} the {{noun}}, we can get to the {{abbreviation}} {{noun}} through the {{adjective}} {{abbreviation}} {{noun}}!","We need to {{verb}} the {{adjective}} {{abbreviation}} {{noun}}!","Try to {{verb}} the {{abbreviation}} {{noun}}, maybe it will {{verb}} the {{adjective}} {{noun}}!","You can't {{verb}} the {{noun}} without {{ingverb}} the {{adjective}} {{abbreviation}} {{noun}}!","Use the {{adjective}} {{abbreviation}} {{noun}}, then you can {{verb}} the {{adjective}} {{noun}}!","The {{abbreviation}} {{noun}} is down, {{verb}} the {{adjective}} {{noun}} so we can {{verb}} the {{abbreviation}} {{noun}}!","{{ingverb}} the {{noun}} won't do anything, we need to {{verb}} the {{adjective}} {{abbreviation}} {{noun}}!","I'll {{verb}} the {{adjective}} {{abbreviation}} {{noun}}, that should {{noun}} the {{abbreviation}} {{noun}}!"],EXt=["back up","bypass","hack","override","compress","copy","navigate","index","connect","generate","quantify","calculate","synthesize","input","transmit","program","reboot","parse"],RXt={adjective:NXt,ingverb:MXt,noun:kXt,phrase:TXt,verb:EXt},ZXt=RXt,WXt=["com","biz","info","name","net","org"],AXt=["example.org","example.com","example.net"],VXt=["gmail.com","yahoo.com","hotmail.com"],GXt={domain_suffix:WXt,example_email:AXt,free_email:VXt},XXt=GXt,PXt=["#####","####","###"],OXt=["Abilene","Akron","Alafaya","Alameda","Albany","Albuquerque","Alexandria","Alhambra","Aliso Viejo","Allen","Allentown","Aloha","Alpharetta","Altadena","Altamonte Springs","Altoona","Amarillo","Ames","Anaheim","Anchorage","Anderson","Ankeny","Ann Arbor","Annandale","Antelope","Antioch","Apex","Apopka","Apple Valley","Appleton","Arcadia","Arden-Arcade","Arecibo","Arlington","Arlington Heights","Arvada","Ashburn","Asheville","Aspen Hill","Atascocita","Athens-Clarke County","Atlanta","Attleboro","Auburn","Augusta-Richmond County","Aurora","Austin","Avondale","Azusa","Bakersfield","Baldwin Park","Baltimore","Barnstable Town","Bartlett","Baton Rouge","Battle Creek","Bayamon","Bayonne","Baytown","Beaumont","Beavercreek","Beaverton","Bedford","Bel Air South","Bell Gardens","Belleville","Bellevue","Bellflower","Bellingham","Bend","Bentonville","Berkeley","Berwyn","Bethesda","Bethlehem","Billings","Biloxi","Binghamton","Birmingham","Bismarck","Blacksburg","Blaine","Bloomington","Blue Springs","Boca Raton","Boise City","Bolingbrook","Bonita Springs","Bossier City","Boston","Bothell","Boulder","Bountiful","Bowie","Bowling Green","Boynton Beach","Bozeman","Bradenton","Brandon","Brentwood","Bridgeport","Bristol","Brockton","Broken Arrow","Brookhaven","Brookline","Brooklyn Park","Broomfield","Brownsville","Bryan","Buckeye","Buena Park","Buffalo","Buffalo Grove","Burbank","Burien","Burke","Burleson","Burlington","Burnsville","Caguas","Caldwell","Camarillo","Cambridge","Camden","Canton","Cape Coral","Carlsbad","Carmel","Carmichael","Carolina","Carrollton","Carson","Carson City","Cary","Casa Grande","Casas Adobes","Casper","Castle Rock","Castro Valley","Catalina Foothills","Cathedral City","Catonsville","Cedar Hill","Cedar Park","Cedar Rapids","Centennial","Centreville","Ceres","Cerritos","Champaign","Chandler","Chapel Hill","Charleston","Charlotte","Charlottesville","Chattanooga","Cheektowaga","Chesapeake","Chesterfield","Cheyenne","Chicago","Chico","Chicopee","Chino","Chino Hills","Chula Vista","Cicero","Cincinnati","Citrus Heights","Clarksville","Clearwater","Cleveland","Cleveland Heights","Clifton","Clovis","Coachella","Coconut Creek","Coeur d'Alene","College Station","Collierville","Colorado Springs","Colton","Columbia","Columbus","Commerce City","Compton","Concord","Conroe","Conway","Coon Rapids","Coral Gables","Coral Springs","Corona","Corpus Christi","Corvallis","Costa Mesa","Council Bluffs","Country Club","Covina","Cranston","Cupertino","Cutler Bay","Cuyahoga Falls","Cypress","Dale City","Dallas","Daly City","Danbury","Danville","Davenport","Davie","Davis","Dayton","Daytona Beach","DeKalb","DeSoto","Dearborn","Dearborn Heights","Decatur","Deerfield Beach","Delano","Delray Beach","Deltona","Denton","Denver","Des Moines","Des Plaines","Detroit","Diamond Bar","Doral","Dothan","Downers Grove","Downey","Draper","Dublin","Dubuque","Duluth","Dundalk","Dunwoody","Durham","Eagan","East Hartford","East Honolulu","East Lansing","East Los Angeles","East Orange","East Providence","Eastvale","Eau Claire","Eden Prairie","Edina","Edinburg","Edmond","El Cajon","El Centro","El Dorado Hills","El Monte","El Paso","Elgin","Elizabeth","Elk Grove","Elkhart","Ellicott City","Elmhurst","Elyria","Encinitas","Enid","Enterprise","Erie","Escondido","Euclid","Eugene","Euless","Evanston","Evansville","Everett","Fairfield","Fall River","Fargo","Farmington","Farmington Hills","Fayetteville","Federal Way","Findlay","Fishers","Flagstaff","Flint","Florence-Graham","Florin","Florissant","Flower Mound","Folsom","Fond du Lac","Fontana","Fort Collins","Fort Lauderdale","Fort Myers","Fort Pierce","Fort Smith","Fort Wayne","Fort Worth","Fountain Valley","Fountainebleau","Framingham","Franklin","Frederick","Freeport","Fremont","Fresno","Frisco","Fullerton","Gainesville","Gaithersburg","Galveston","Garden Grove","Gardena","Garland","Gary","Gastonia","Georgetown","Germantown","Gilbert","Gilroy","Glen Burnie","Glendale","Glendora","Glenview","Goodyear","Grand Forks","Grand Island","Grand Junction","Grand Prairie","Grand Rapids","Grapevine","Great Falls","Greeley","Green Bay","Greensboro","Greenville","Greenwood","Gresham","Guaynabo","Gulfport","Hacienda Heights","Hackensack","Haltom City","Hamilton","Hammond","Hampton","Hanford","Harlingen","Harrisburg","Harrisonburg","Hartford","Hattiesburg","Haverhill","Hawthorne","Hayward","Hemet","Hempstead","Henderson","Hendersonville","Hesperia","Hialeah","Hicksville","High Point","Highland","Highlands Ranch","Hillsboro","Hilo","Hoboken","Hoffman Estates","Hollywood","Homestead","Honolulu","Hoover","Houston","Huntersville","Huntington","Huntington Beach","Huntington Park","Huntsville","Hutchinson","Idaho Falls","Independence","Indianapolis","Indio","Inglewood","Iowa City","Irondequoit","Irvine","Irving","Jackson","Jacksonville","Janesville","Jefferson City","Jeffersonville","Jersey City","Johns Creek","Johnson City","Joliet","Jonesboro","Joplin","Jupiter","Jurupa Valley","Kalamazoo","Kannapolis","Kansas City","Kearny","Keller","Kendale Lakes","Kendall","Kenner","Kennewick","Kenosha","Kent","Kentwood","Kettering","Killeen","Kingsport","Kirkland","Kissimmee","Knoxville","Kokomo","La Crosse","La Habra","La Mesa","La Mirada","Lacey","Lafayette","Laguna Niguel","Lake Charles","Lake Elsinore","Lake Forest","Lake Havasu City","Lake Ridge","Lakeland","Lakeville","Lakewood","Lancaster","Lansing","Laredo","Largo","Las Cruces","Las Vegas","Lauderhill","Lawrence","Lawton","Layton","League City","Lee's Summit","Leesburg","Lehi","Lehigh Acres","Lenexa","Levittown","Lewisville","Lexington-Fayette","Lincoln","Linden","Little Rock","Littleton","Livermore","Livonia","Lodi","Logan","Lombard","Lompoc","Long Beach","Longmont","Longview","Lorain","Los Angeles","Louisville/Jefferson County","Loveland","Lowell","Lubbock","Lynchburg","Lynn","Lynwood","Macon-Bibb County","Madera","Madison","Malden","Manchester","Manhattan","Mansfield","Manteca","Maple Grove","Margate","Maricopa","Marietta","Marysville","Mayaguez","McAllen","McKinney","McLean","Medford","Melbourne","Memphis","Menifee","Mentor","Merced","Meriden","Meridian","Mesa","Mesquite","Metairie","Methuen Town","Miami","Miami Beach","Miami Gardens","Middletown","Midland","Midwest City","Milford","Millcreek","Milpitas","Milwaukee","Minneapolis","Minnetonka","Minot","Miramar","Mishawaka","Mission","Mission Viejo","Missoula","Missouri City","Mobile","Modesto","Moline","Monroe","Montebello","Monterey Park","Montgomery","Moore","Moreno Valley","Morgan Hill","Mount Pleasant","Mount Prospect","Mount Vernon","Mountain View","Muncie","Murfreesboro","Murray","Murrieta","Nampa","Napa","Naperville","Nashua","Nashville-Davidson","National City","New Bedford","New Braunfels","New Britain","New Brunswick","New Haven","New Orleans","New Rochelle","New York","Newark","Newport Beach","Newport News","Newton","Niagara Falls","Noblesville","Norfolk","Normal","Norman","North Bethesda","North Charleston","North Highlands","North Las Vegas","North Lauderdale","North Little Rock","North Miami","North Miami Beach","North Port","North Richland Hills","Norwalk","Novato","Novi","O'Fallon","Oak Lawn","Oak Park","Oakland","Oakland Park","Ocala","Oceanside","Odessa","Ogden","Oklahoma City","Olathe","Olympia","Omaha","Ontario","Orange","Orem","Orland Park","Orlando","Oro Valley","Oshkosh","Overland Park","Owensboro","Oxnard","Palatine","Palm Bay","Palm Beach Gardens","Palm Coast","Palm Desert","Palm Harbor","Palm Springs","Palmdale","Palo Alto","Paradise","Paramount","Parker","Parma","Pasadena","Pasco","Passaic","Paterson","Pawtucket","Peabody","Pearl City","Pearland","Pembroke Pines","Pensacola","Peoria","Perris","Perth Amboy","Petaluma","Pflugerville","Pharr","Philadelphia","Phoenix","Pico Rivera","Pine Bluff","Pine Hills","Pinellas Park","Pittsburg","Pittsburgh","Pittsfield","Placentia","Plainfield","Plano","Plantation","Pleasanton","Plymouth","Pocatello","Poinciana","Pomona","Pompano Beach","Ponce","Pontiac","Port Arthur","Port Charlotte","Port Orange","Port St. Lucie","Portage","Porterville","Portland","Portsmouth","Potomac","Poway","Providence","Provo","Pueblo","Quincy","Racine","Raleigh","Rancho Cordova","Rancho Cucamonga","Rancho Palos Verdes","Rancho Santa Margarita","Rapid City","Reading","Redding","Redlands","Redmond","Redondo Beach","Redwood City","Reno","Renton","Reston","Revere","Rialto","Richardson","Richland","Richmond","Rio Rancho","Riverside","Riverton","Riverview","Roanoke","Rochester","Rochester Hills","Rock Hill","Rockford","Rocklin","Rockville","Rockwall","Rocky Mount","Rogers","Rohnert Park","Rosemead","Roseville","Roswell","Round Rock","Rowland Heights","Rowlett","Royal Oak","Sacramento","Saginaw","Salem","Salina","Salinas","Salt Lake City","Sammamish","San Angelo","San Antonio","San Bernardino","San Bruno","San Buenaventura (Ventura)","San Clemente","San Diego","San Francisco","San Jacinto","San Jose","San Juan","San Leandro","San Luis Obispo","San Marcos","San Mateo","San Rafael","San Ramon","San Tan Valley","Sandy","Sandy Springs","Sanford","Santa Ana","Santa Barbara","Santa Clara","Santa Clarita","Santa Cruz","Santa Fe","Santa Maria","Santa Monica","Santa Rosa","Santee","Sarasota","Savannah","Sayreville","Schaumburg","Schenectady","Scottsdale","Scranton","Seattle","Severn","Shawnee","Sheboygan","Shoreline","Shreveport","Sierra Vista","Silver Spring","Simi Valley","Sioux City","Sioux Falls","Skokie","Smyrna","Somerville","South Bend","South Gate","South Hill","South Jordan","South San Francisco","South Valley","South Whittier","Southaven","Southfield","Sparks","Spokane","Spokane Valley","Spring","Spring Hill","Spring Valley","Springdale","Springfield","St. Charles","St. Clair Shores","St. Cloud","St. George","St. Joseph","St. Louis","St. Louis Park","St. Paul","St. Peters","St. Petersburg","Stamford","State College","Sterling Heights","Stillwater","Stockton","Stratford","Strongsville","Suffolk","Sugar Land","Summerville","Sunnyvale","Sunrise","Sunrise Manor","Surprise","Syracuse","Tacoma","Tallahassee","Tamarac","Tamiami","Tampa","Taunton","Taylor","Taylorsville","Temecula","Tempe","Temple","Terre Haute","Texas City","The Hammocks","The Villages","The Woodlands","Thornton","Thousand Oaks","Tigard","Tinley Park","Titusville","Toledo","Toms River","Tonawanda","Topeka","Torrance","Town 'n' Country","Towson","Tracy","Trenton","Troy","Trujillo Alto","Tuckahoe","Tucson","Tulare","Tulsa","Turlock","Tuscaloosa","Tustin","Twin Falls","Tyler","Union City","University","Upland","Urbana","Urbandale","Utica","Vacaville","Valdosta","Vallejo","Vancouver","Victoria","Victorville","Vineland","Virginia Beach","Visalia","Vista","Waco","Waipahu","Waldorf","Walnut Creek","Waltham","Warner Robins","Warren","Warwick","Washington","Waterbury","Waterloo","Watsonville","Waukegan","Waukesha","Wauwatosa","Wellington","Wesley Chapel","West Allis","West Babylon","West Covina","West Des Moines","West Hartford","West Haven","West Jordan","West Lafayette","West New York","West Palm Beach","West Sacramento","West Seneca","West Valley City","Westfield","Westland","Westminster","Weston","Weymouth Town","Wheaton","White Plains","Whittier","Wichita","Wichita Falls","Wilmington","Wilson","Winston-Salem","Woodbury","Woodland","Worcester","Wylie","Wyoming","Yakima","Yonkers","Yorba Linda","York","Youngstown","Yuba City","Yucaipa","Yuma"],BXt=["{{location.city_prefix}} {{person.first_name}}{{location.city_suffix}}","{{location.city_prefix}} {{person.first_name}}","{{person.first_name}}{{location.city_suffix}}","{{person.last_name}}{{location.city_suffix}}","{{location.city_name}}"],zXt=["North","East","West","South","New","Lake","Port","Fort"],HXt=["town","ton","land","ville","berg","burgh","boro","borough","bury","view","port","mouth","stad","stead","furt","chester","cester","fort","field","haven","side","shire","worth"],YXt=["Afghanistan","Aland Islands","Albania","Algeria","American Samoa","Andorra","Angola","Anguilla","Antarctica","Antigua and Barbuda","Argentina","Armenia","Aruba","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarus","Belgium","Belize","Benin","Bermuda","Bhutan","Bolivia","Bonaire, Sint Eustatius and Saba","Bosnia and Herzegovina","Botswana","Bouvet Island","Brazil","British Indian Ocean Territory (Chagos Archipelago)","Brunei Darussalam","Bulgaria","Burkina Faso","Burundi","Cambodia","Cameroon","Canada","Cape Verde","Cayman Islands","Central African Republic","Chad","Chile","China","Christmas Island","Cocos (Keeling) Islands","Colombia","Comoros","Congo","Cook Islands","Costa Rica","Cote d'Ivoire","Croatia","Cuba","Curacao","Cyprus","Czechia","Democratic Republic of the Congo","Denmark","Djibouti","Dominica","Dominican Republic","Ecuador","Egypt","El Salvador","Equatorial Guinea","Eritrea","Estonia","Eswatini","Ethiopia","Faroe Islands","Falkland Islands (Malvinas)","Fiji","Finland","France","French Guiana","French Polynesia","French Southern Territories","Gabon","Gambia","Georgia","Germany","Ghana","Gibraltar","Greece","Greenland","Grenada","Guadeloupe","Guam","Guatemala","Guernsey","Guinea","Guinea-Bissau","Guyana","Haiti","Heard Island and McDonald Islands","Holy See (Vatican City State)","Honduras","Hong Kong","Hungary","Iceland","India","Indonesia","Iran","Iraq","Ireland","Isle of Man","Israel","Italy","Jamaica","Japan","Jersey","Jordan","Kazakhstan","Kenya","Kiribati","Democratic People's Republic of Korea","Republic of Korea","Kuwait","Kyrgyz Republic","Lao People's Democratic Republic","Latvia","Lebanon","Lesotho","Liberia","Libyan Arab Jamahiriya","Liechtenstein","Lithuania","Luxembourg","Macao","Madagascar","Malawi","Malaysia","Maldives","Mali","Malta","Marshall Islands","Martinique","Mauritania","Mauritius","Mayotte","Mexico","Micronesia","Moldova","Monaco","Mongolia","Montenegro","Montserrat","Morocco","Mozambique","Myanmar","Namibia","Nauru","Nepal","Netherlands","New Caledonia","New Zealand","Nicaragua","Niger","Nigeria","Niue","Norfolk Island","North Macedonia","Northern Mariana Islands","Norway","Oman","Pakistan","Palau","Palestine","Panama","Papua New Guinea","Paraguay","Peru","Philippines","Pitcairn Islands","Poland","Portugal","Puerto Rico","Qatar","Reunion","Romania","Russian Federation","Rwanda","Saint Barthelemy","Saint Helena","Saint Kitts and Nevis","Saint Lucia","Saint Martin","Saint Pierre and Miquelon","Saint Vincent and the Grenadines","Samoa","San Marino","Sao Tome and Principe","Saudi Arabia","Senegal","Serbia","Seychelles","Sierra Leone","Singapore","Sint Maarten","Slovakia","Slovenia","Solomon Islands","Somalia","South Africa","South Georgia and the South Sandwich Islands","South Sudan","Spain","Sri Lanka","Sudan","Suriname","Svalbard & Jan Mayen Islands","Sweden","Switzerland","Syrian Arab Republic","Taiwan","Tajikistan","Tanzania","Thailand","Timor-Leste","Togo","Tokelau","Tonga","Trinidad and Tobago","Tunisia","Turkey","Turkmenistan","Turks and Caicos Islands","Tuvalu","Uganda","Ukraine","United Arab Emirates","United Kingdom","United States of America","United States Minor Outlying Islands","Uruguay","Uzbekistan","Vanuatu","Venezuela","Vietnam","Virgin Islands, British","Virgin Islands, U.S.","Wallis and Futuna","Western Sahara","Yemen","Zambia","Zimbabwe"],UXt=["Adams County","Calhoun County","Carroll County","Clark County","Clay County","Crawford County","Douglas County","Fayette County","Franklin County","Grant County","Greene County","Hamilton County","Hancock County","Henry County","Jackson County","Jefferson County","Johnson County","Lake County","Lawrence County","Lee County","Lincoln County","Logan County","Madison County","Marion County","Marshall County","Monroe County","Montgomery County","Morgan County","Perry County","Pike County","Polk County","Scott County","Union County","Warren County","Washington County","Wayne County","Avon","Bedfordshire","Berkshire","Borders","Buckinghamshire","Cambridgeshire","Central","Cheshire","Cleveland","Clwyd","Cornwall","County Antrim","County Armagh","County Down","County Fermanagh","County Londonderry","County Tyrone","Cumbria","Derbyshire","Devon","Dorset","Dumfries and Galloway","Durham","Dyfed","East Sussex","Essex","Fife","Gloucestershire","Grampian","Greater Manchester","Gwent","Gwynedd County","Hampshire","Herefordshire","Hertfordshire","Highlands and Islands","Humberside","Isle of Wight","Kent","Lancashire","Leicestershire","Lincolnshire","Lothian","Merseyside","Mid Glamorgan","Norfolk","North Yorkshire","Northamptonshire","Northumberland","Nottinghamshire","Oxfordshire","Powys","Rutland","Shropshire","Somerset","South Glamorgan","South Yorkshire","Staffordshire","Strathclyde","Suffolk","Surrey","Tayside","Tyne and Wear","Warwickshire","West Glamorgan","West Midlands","West Sussex","West Yorkshire","Wiltshire","Worcestershire"],KXt=["United States of America"],JXt=["North","East","South","West","Northeast","Northwest","Southeast","Southwest"],jXt=["N","E","S","W","NE","NW","SE","SW"],QXt=["#####","#####-####"],$Xt=["Apt. ###","Suite ###"],qXt=["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Carolina","North Dakota","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"],e4t=["AL","AK","AZ","AR","CA","CO","CT","DE","FL","GA","HI","ID","IL","IN","IA","KS","KY","LA","ME","MD","MA","MI","MN","MS","MO","MT","NE","NV","NH","NJ","NM","NY","NC","ND","OH","OK","OR","PA","RI","SC","SD","TN","TX","UT","VT","VA","WA","WV","WI","WY"],t4t={normal:"{{location.buildingNumber}} {{location.street}}",full:"{{location.buildingNumber}} {{location.street}} {{location.secondaryAddress}}"},n4t=["10th Street","11th Street","12th Street","13th Street","14th Street","15th Street","16th Street","1st Avenue","1st Street","2nd Avenue","2nd Street","3rd Avenue","3rd Street","4th Avenue","4th Street","5th Avenue","5th Street","6th Avenue","6th Street","7th Avenue","7th Street","8th Avenue","8th Street","9th Street","A Street","Abbey Road","Adams Avenue","Adams Street","Airport Road","Albany Road","Albert Road","Albion Street","Alexandra Road","Alfred Street","Alma Street","Ash Close","Ash Grove","Ash Road","Ash Street","Aspen Close","Atlantic Avenue","Avenue Road","Back Lane","Baker Street","Balmoral Road","Barn Close","Barton Road","Bath Road","Bath Street","Bay Street","Beach Road","Bedford Road","Beech Close","Beech Drive","Beech Grove","Beech Road","Beechwood Avenue","Bell Lane","Belmont Road","Birch Avenue","Birch Close","Birch Grove","Birch Road","Blind Lane","Bluebell Close","Boundary Road","Bramble Close","Bramley Close","Bridge Road","Bridge Street","Broad Lane","Broad Street","Broadway","Broadway Avenue","Broadway Street","Brook Lane","Brook Road","Brook Street","Brookside","Buckingham Road","Cambridge Street","Canal Street","Castle Close","Castle Lane","Castle Road","Castle Street","Cavendish Road","Cedar Avenue","Cedar Close","Cedar Grove","Cedar Road","Cedar Street","Cemetery Road","Center Avenue","Center Road","Center Street","Central Avenue","Central Street","Chapel Close","Chapel Hill","Chapel Road","Chapel Street","Charles Street","Cherry Close","Cherry Street","Cherry Tree Close","Chester Road","Chestnut Close","Chestnut Drive","Chestnut Grove","Chestnut Street","Church Avenue","Church Close","Church Hill","Church Lane","Church Path","Church Road","Church Street","Church View","Church Walk","Claremont Road","Clarence Road","Clarence Street","Clarendon Road","Clark Street","Clay Lane","Cleveland Street","Cliff Road","Clifton Road","Clinton Street","College Avenue","College Street","Columbia Avenue","Commerce Street","Commercial Road","Commercial Street","Common Lane","Coronation Avenue","Coronation Road","County Line Road","County Road","Court Street","Cow Lane","Crescent Road","Cromwell Road","Cross Lane","Cross Street","Crown Street","Cumberland Street","Dale Street","Dark Lane","Davis Street","Depot Street","Derby Road","Derwent Close","Devonshire Road","Division Street","Douglas Road","Duke Street","E 10th Street","E 11th Street","E 12th Street","E 14th Street","E 1st Street","E 2nd Street","E 3rd Street","E 4th Avenue","E 4th Street","E 5th Street","E 6th Avenue","E 6th Street","E 7th Street","E 8th Street","E 9th Street","E Bridge Street","E Broad Street","E Broadway","E Broadway Street","E Cedar Street","E Center Street","E Central Avenue","E Church Street","E Elm Street","E Franklin Street","E Front Street","E Grand Avenue","E High Street","E Jackson Street","E Jefferson Street","E Main","E Main Street","E Maple Street","E Market Street","E North Street","E Oak Street","E Park Avenue","E Pine Street","E River Road","E South Street","E State Street","E Union Street","E Walnut Street","E Washington Avenue","E Washington Street","E Water Street","East Avenue","East Road","East Street","Edward Street","Elm Close","Elm Grove","Elm Road","Elm Street","Euclid Avenue","Fairfield Road","Farm Close","Ferry Road","Field Close","Field Lane","First Avenue","First Street","Fore Street","Forest Avenue","Forest Road","Fourth Avenue","Franklin Avenue","Franklin Road","Franklin Street","Front Street","Frontage Road","Garden Close","Garden Street","George Street","Gladstone Road","Glebe Close","Gloucester Road","Gordon Road","Gordon Street","Grand Avenue","Grange Avenue","Grange Close","Grange Road","Grant Street","Green Close","Green Lane","Green Street","Greenville Road","Greenway","Greenwood Road","Grove Lane","Grove Road","Grove Street","Hall Lane","Hall Street","Harrison Avenue","Harrison Street","Hawthorn Avenue","Hawthorn Close","Hazel Close","Hazel Grove","Heath Road","Heather Close","Henry Street","Heron Close","Hickory Street","High Road","High Street","Highfield Avenue","Highfield Close","Highfield Road","Highland Avenue","Hill Road","Hill Street","Hillside","Hillside Avenue","Hillside Close","Hillside Road","Holly Close","Honeysuckle Close","Howard Road","Howard Street","Jackson Avenue","Jackson Street","James Street","Jefferson Avenue","Jefferson Street","Johnson Street","Jubilee Close","Juniper Close","Kent Road","Kestrel Close","King Street","King's Road","Kingfisher Close","Kings Highway","Kingsway","Laburnum Grove","Lafayette Street","Lake Avenue","Lake Drive","Lake Road","Lake Street","Lancaster Road","Lansdowne Road","Larch Close","Laurel Close","Lawrence Street","Lee Street","Liberty Street","Lime Grove","Lincoln Avenue","Lincoln Highway","Lincoln Road","Lincoln Street","Locust Street","Lodge Close","Lodge Lane","London Road","Long Lane","Low Road","Madison Avenue","Madison Street","Main","Main Avenue","Main Road","Main Street","Main Street E","Main Street N","Main Street S","Main Street W","Manchester Road","Manor Close","Manor Drive","Manor Gardens","Manor Road","Manor Way","Maple Avenue","Maple Close","Maple Drive","Maple Road","Maple Street","Market Place","Market Square","Market Street","Marlborough Road","Marsh Lane","Martin Luther King Boulevard","Martin Luther King Drive","Martin Luther King Jr Boulevard","Mary Street","Mayfield Road","Meadow Close","Meadow Drive","Meadow Lane","Meadow View","Meadow Way","Memorial Drive","Middle Street","Mill Close","Mill Lane","Mill Road","Mill Street","Milton Road","Milton Street","Monroe Street","Moor Lane","Moss Lane","Mount Pleasant","Mount Street","Mulberry Street","N 1st Street","N 2nd Street","N 3rd Street","N 4th Street","N 5th Street","N 6th Street","N 7th Street","N 8th Street","N 9th Street","N Bridge Street","N Broad Street","N Broadway","N Broadway Street","N Cedar Street","N Center Street","N Central Avenue","N Chestnut Street","N Church Street","N College Street","N Court Street","N Division Street","N East Street","N Elm Street","N Franklin Street","N Front Street","N Harrison Street","N High Street","N Jackson Street","N Jefferson Street","N Lincoln Street","N Locust Street","N Main","N Main Avenue","N Main Street","N Maple Street","N Market Street","N Monroe Street","N Oak Street","N Park Street","N Pearl Street","N Pine Street","N Poplar Street","N Railroad Street","N State Street","N Union Street","N Walnut Street","N Washington Avenue","N Washington Street","N Water Street","Nelson Road","Nelson Street","New Lane","New Road","New Street","Newton Road","Nightingale Close","Norfolk Road","North Avenue","North Lane","North Road","North Street","Northfield Road","Oak Avenue","Oak Drive","Oak Lane","Oak Road","Oak Street","Oakfield Road","Oaklands","Old Lane","Old Military Road","Old Road","Old State Road","Orchard Drive","Orchard Lane","Orchard Road","Orchard Street","Oxford Road","Oxford Street","Park Avenue","Park Crescent","Park Drive","Park Lane","Park Place","Park Road","Park Street","Park View","Parkside","Pearl Street","Pennsylvania Avenue","Pine Close","Pine Grove","Pine Street","Pinfold Lane","Pleasant Street","Poplar Avenue","Poplar Close","Poplar Road","Poplar Street","Post Road","Pound Lane","Princes Street","Princess Street","Priory Close","Priory Road","Prospect Avenue","Prospect Place","Prospect Road","Prospect Street","Quarry Lane","Quarry Road","Queen's Road","Railroad Avenue","Railroad Street","Railway Street","Rectory Close","Rectory Lane","Richmond Close","Richmond Road","Ridge Road","River Road","River Street","Riverside","Riverside Avenue","Riverside Drive","Roman Road","Roman Way","Rowan Close","Russell Street","S 10th Street","S 14th Street","S 1st Avenue","S 1st Street","S 2nd Street","S 3rd Street","S 4th Street","S 5th Street","S 6th Street","S 7th Street","S 8th Street","S 9th Street","S Bridge Street","S Broad Street","S Broadway","S Broadway Street","S Center Street","S Central Avenue","S Chestnut Street","S Church Street","S College Street","S Division Street","S East Street","S Elm Street","S Franklin Street","S Front Street","S Grand Avenue","S High Street","S Jackson Street","S Jefferson Street","S Lincoln Street","S Main","S Main Avenue","S Main Street","S Maple Street","S Market Street","S Mill Street","S Monroe Street","S Oak Street","S Park Street","S Pine Street","S Railroad Street","S State Street","S Union Street","S Walnut Street","S Washington Avenue","S Washington Street","S Water Street","S West Street","Salisbury Road","Sandringham Road","Sandy Lane","School Close","School Lane","School Road","School Street","Second Avenue","Silver Street","Skyline Drive","Smith Street","Somerset Road","South Avenue","South Drive","South Road","South Street","South View","Spring Gardens","Spring Street","Springfield Close","Springfield Road","Spruce Street","St Andrew's Road","St Andrews Close","St George's Road","St John's Road","St Mary's Close","St Mary's Road","Stanley Road","Stanley Street","State Avenue","State Line Road","State Road","State Street","Station Road","Station Street","Stoney Lane","Sycamore Avenue","Sycamore Close","Sycamore Drive","Sycamore Street","Talbot Road","Tennyson Road","The Avenue","The Beeches","The Causeway","The Chase","The Coppice","The Copse","The Crescent","The Croft","The Dell","The Drive","The Fairway","The Glebe","The Grange","The Green","The Grove","The Hawthorns","The Lane","The Laurels","The Limes","The Maltings","The Meadows","The Mews","The Mount","The Oaks","The Orchard","The Oval","The Paddock","The Paddocks","The Poplars","The Ridgeway","The Ridings","The Rise","The Sidings","The Spinney","The Square","The Willows","The Woodlands","Third Avenue","Third Street","Tower Road","Trinity Road","Tudor Close","Union Avenue","Union Street","University Avenue","University Drive","Valley Road","Veterans Memorial Drive","Veterans Memorial Highway","Vicarage Close","Vicarage Lane","Vicarage Road","Victoria Place","Victoria Road","Victoria Street","Vine Street","W 10th Street","W 11th Street","W 12th Street","W 14th Street","W 1st Street","W 2nd Street","W 3rd Street","W 4th Avenue","W 4th Street","W 5th Street","W 6th Avenue","W 6th Street","W 7th Street","W 8th Street","W 9th Street","W Bridge Street","W Broad Street","W Broadway","W Broadway Avenue","W Broadway Street","W Center Street","W Central Avenue","W Chestnut Street","W Church Street","W Division Street","W Elm Street","W Franklin Street","W Front Street","W Grand Avenue","W High Street","W Jackson Street","W Jefferson Street","W Lake Street","W Main","W Main Street","W Maple Street","W Market Street","W Monroe Street","W North Street","W Oak Street","W Park Street","W Pine Street","W River Road","W South Street","W State Street","W Union Street","W Walnut Street","W Washington Avenue","W Washington Street","Walnut Close","Walnut Street","Warren Close","Warren Road","Washington Avenue","Washington Boulevard","Washington Road","Washington Street","Water Lane","Water Street","Waterloo Road","Waterside","Watery Lane","Waverley Road","Well Lane","Wellington Road","Wellington Street","West Avenue","West End","West Lane","West Road","West Street","West View","Western Avenue","Western Road","Westfield Road","Westgate","William Street","Willow Close","Willow Drive","Willow Grove","Willow Road","Willow Street","Windermere Road","Windmill Close","Windmill Lane","Windsor Avenue","Windsor Close","Windsor Drive","Wood Lane","Wood Street","Woodland Close","Woodland Road","Woodlands","Woodlands Avenue","Woodlands Close","Woodlands Road","Woodside","Woodside Road","Wren Close","Yew Tree Close","York Road","York Street"],i4t=["{{person.first_name}} {{location.street_suffix}}","{{person.last_name}} {{location.street_suffix}}","{{location.street_name}}"],r4t=["Alley","Avenue","Branch","Bridge","Brook","Brooks","Burg","Burgs","Bypass","Camp","Canyon","Cape","Causeway","Center","Centers","Circle","Circles","Cliff","Cliffs","Club","Common","Corner","Corners","Course","Court","Courts","Cove","Coves","Creek","Crescent","Crest","Crossing","Crossroad","Curve","Dale","Dam","Divide","Drive","Drives","Estate","Estates","Expressway","Extension","Extensions","Fall","Falls","Ferry","Field","Fields","Flat","Flats","Ford","Fords","Forest","Forge","Forges","Fork","Forks","Fort","Freeway","Garden","Gardens","Gateway","Glen","Glens","Green","Greens","Grove","Groves","Harbor","Harbors","Haven","Heights","Highway","Hill","Hills","Hollow","Inlet","Island","Islands","Isle","Junction","Junctions","Key","Keys","Knoll","Knolls","Lake","Lakes","Land","Landing","Lane","Light","Lights","Loaf","Lock","Locks","Lodge","Loop","Mall","Manor","Manors","Meadow","Meadows","Mews","Mill","Mills","Mission","Motorway","Mount","Mountain","Mountains","Neck","Orchard","Oval","Overpass","Park","Parks","Parkway","Parkways","Pass","Passage","Path","Pike","Pine","Pines","Place","Plain","Plains","Plaza","Point","Points","Port","Ports","Prairie","Radial","Ramp","Ranch","Rapid","Rapids","Rest","Ridge","Ridges","River","Road","Roads","Route","Row","Rue","Run","Shoal","Shoals","Shore","Shores","Skyway","Spring","Springs","Spur","Spurs","Square","Squares","Station","Stravenue","Stream","Street","Streets","Summit","Terrace","Throughway","Trace","Track","Trafficway","Trail","Tunnel","Turnpike","Underpass","Union","Unions","Valley","Valleys","Via","Viaduct","View","Views","Village","Villages","Ville","Vista","Walk","Walks","Wall","Way","Ways","Well","Wells"],o4t={building_number:PXt,city_name:OXt,city_pattern:BXt,city_prefix:zXt,city_suffix:HXt,country:YXt,county:UXt,default_country:KXt,direction:JXt,direction_abbr:jXt,postcode:QXt,secondary_address:$Xt,state:qXt,state_abbr:e4t,street_address:t4t,street_name:n4t,street_pattern:i4t,street_suffix:r4t},s4t=o4t,a4t=["a","ab","abbas","abduco","abeo","abscido","absconditus","absens","absorbeo","absque","abstergo","absum","abundans","abutor","accedo","accendo","acceptus","accommodo","accusamus","accusantium","accusator","acer","acerbitas","acervus","acidus","acies","acquiro","acsi","ad","adamo","adaugeo","addo","adduco","ademptio","adeo","adeptio","adfectus","adfero","adficio","adflicto","adhaero","adhuc","adicio","adimpleo","adinventitias","adipisci","adipiscor","adiuvo","administratio","admiratio","admitto","admoneo","admoveo","adnuo","adopto","adsidue","adstringo","adsuesco","adsum","adulatio","adulescens","aduro","advenio","adversus","advoco","aedificium","aeger","aegre","aegrotatio","aegrus","aeneus","aequitas","aequus","aer","aestas","aestivus","aestus","aetas","aeternus","ager","aggero","aggredior","agnitio","agnosco","ago","ait","aiunt","alias","alienus","alii","alioqui","aliqua","aliquam","aliquid","alius","allatus","alo","alter","altus","alveus","amaritudo","ambitus","ambulo","amet","amicitia","amiculum","amissio","amita","amitto","amo","amor","amoveo","amplexus","amplitudo","amplus","ancilla","angelus","angulus","angustus","animadverto","animi","animus","annus","anser","ante","antea","antepono","antiquus","aperiam","aperio","aperte","apostolus","apparatus","appello","appono","appositus","approbo","apto","aptus","apud","aqua","ara","aranea","arbitro","arbor","arbustum","arca","arceo","arcesso","architecto","arcus","argentum","argumentum","arguo","arma","armarium","aro","ars","articulus","artificiose","arto","arx","ascisco","ascit","asper","asperiores","aspernatur","aspicio","asporto","assentator","assumenda","astrum","at","atavus","ater","atque","atqui","atrocitas","atrox","attero","attollo","attonbitus","auctor","auctus","audacia","audax","audentia","audeo","audio","auditor","aufero","aureus","aurum","aut","autem","autus","auxilium","avaritia","avarus","aveho","averto","baiulus","balbus","barba","bardus","basium","beatae","beatus","bellicus","bellum","bene","beneficium","benevolentia","benigne","bestia","bibo","bis","blandior","blanditiis","bonus","bos","brevis","cado","caecus","caelestis","caelum","calamitas","calcar","calco","calculus","callide","campana","candidus","canis","canonicus","canto","capillus","capio","capitulus","capto","caput","carbo","carcer","careo","caries","cariosus","caritas","carmen","carpo","carus","casso","caste","casus","catena","caterva","cattus","cauda","causa","caute","caveo","cavus","cedo","celebrer","celer","celo","cena","cenaculum","ceno","censura","centum","cerno","cernuus","certe","certus","cervus","cetera","charisma","chirographum","cibo","cibus","cicuta","cilicium","cimentarius","ciminatio","cinis","circumvenio","cito","civis","civitas","clam","clamo","claro","clarus","claudeo","claustrum","clementia","clibanus","coadunatio","coaegresco","coepi","coerceo","cogito","cognatus","cognomen","cogo","cohaero","cohibeo","cohors","colligo","collum","colo","color","coma","combibo","comburo","comedo","comes","cometes","comis","comitatus","commemoro","comminor","commodi","commodo","communis","comparo","compello","complectus","compono","comprehendo","comptus","conatus","concedo","concido","conculco","condico","conduco","confero","confido","conforto","confugo","congregatio","conicio","coniecto","conitor","coniuratio","conor","conqueror","conscendo","consectetur","consequatur","consequuntur","conservo","considero","conspergo","constans","consuasor","contabesco","contego","contigo","contra","conturbo","conventus","convoco","copia","copiose","cornu","corona","corporis","corpus","correptius","corrigo","corroboro","corrumpo","corrupti","coruscus","cotidie","crapula","cras","crastinus","creator","creber","crebro","credo","creo","creptio","crepusculum","cresco","creta","cribro","crinis","cruciamentum","crudelis","cruentus","crur","crustulum","crux","cubicularis","cubitum","cubo","cui","cuius","culpa","culpo","cultellus","cultura","cum","cumque","cunabula","cunae","cunctatio","cupiditas","cupiditate","cupio","cuppedia","cupressus","cur","cura","curatio","curia","curiositas","curis","curo","curriculum","currus","cursim","curso","cursus","curto","curtus","curvo","custodia","damnatio","damno","dapifer","debeo","debilito","debitis","decens","decerno","decet","decimus","decipio","decor","decretum","decumbo","dedecor","dedico","deduco","defaeco","defendo","defero","defessus","defetiscor","deficio","defleo","defluo","defungo","degenero","degero","degusto","deinde","delectatio","delectus","delego","deleniti","deleo","delibero","delicate","delinquo","deludo","demens","demergo","demitto","demo","demonstro","demoror","demulceo","demum","denego","denique","dens","denuncio","denuo","deorsum","depereo","depono","depopulo","deporto","depraedor","deprecator","deprimo","depromo","depulso","deputo","derelinquo","derideo","deripio","deserunt","desidero","desino","desipio","desolo","desparatus","despecto","dicta","dignissimos","distinctio","dolor","dolore","dolorem","doloremque","dolores","doloribus","dolorum","ducimus","ea","eaque","earum","eius","eligendi","enim","eos","error","esse","est","et","eum","eveniet","ex","excepturi","exercitationem","expedita","explicabo","facere","facilis","fuga","fugiat","fugit","harum","hic","id","illo","illum","impedit","in","incidunt","infit","inflammatio","inventore","ipsa","ipsam","ipsum","iste","itaque","iure","iusto","labore","laboriosam","laborum","laudantium","libero","magnam","magni","maiores","maxime","minima","minus","modi","molestiae","molestias","mollitia","nam","natus","necessitatibus","nemo","neque","nesciunt","nihil","nisi","nobis","non","nostrum","nulla","numquam","occaecati","ocer","odio","odit","officia","officiis","omnis","optio","paens","pariatur","patior","patria","patrocinor","patruus","pauci","paulatim","pauper","pax","peccatus","pecco","pecto","pectus","pecus","peior","pel","perferendis","perspiciatis","placeat","porro","possimus","praesentium","provident","quae","quaerat","quam","quas","quasi","qui","quia","quibusdam","quidem","quis","quisquam","quo","quod","quos","ratione","recusandae","reiciendis","rem","repellat","repellendus","reprehenderit","repudiandae","rerum","saepe","sapiente","sed","sequi","similique","sint","sit","socius","sodalitas","sol","soleo","solio","solitudo","solium","sollers","sollicito","solum","solus","soluta","solutio","solvo","somniculosus","somnus","sonitus","sono","sophismata","sopor","sordeo","sortitus","spargo","speciosus","spectaculum","speculum","sperno","spero","spes","spiculum","spiritus","spoliatio","sponte","stabilis","statim","statua","stella","stillicidium","stipes","stips","sto","strenuus","strues","studio","stultus","suadeo","suasoria","sub","subito","subiungo","sublime","subnecto","subseco","substantia","subvenio","succedo","succurro","sufficio","suffoco","suffragium","suggero","sui","sulum","sum","summa","summisse","summopere","sumo","sumptus","sunt","supellex","super","suppellex","supplanto","suppono","supra","surculus","surgo","sursum","suscipio","suscipit","suspendo","sustineo","suus","synagoga","tabella","tabernus","tabesco","tabgo","tabula","taceo","tactus","taedium","talio","talis","talus","tam","tamdiu","tamen","tametsi","tamisium","tamquam","tandem","tantillus","tantum","tardus","tego","temeritas","temperantia","templum","tempora","tempore","temporibus","temptatio","tempus","tenax","tendo","teneo","tener","tenetur","tenuis","tenus","tepesco","tepidus","ter","terebro","teres","terga","tergeo","tergiversatio","tergo","tergum","termes","terminatio","tero","terra","terreo","territo","terror","tersus","tertius","testimonium","texo","textilis","textor","textus","thalassinus","theatrum","theca","thema","theologus","thermae","thesaurus","thesis","thorax","thymbra","thymum","tibi","timidus","timor","titulus","tolero","tollo","tondeo","tonsor","torqueo","torrens","tot","totam","totidem","toties","totus","tracto","trado","traho","trans","tredecim","tremo","trepide","tres","tribuo","tricesimus","triduana","tripudio","tristis","triumphus","trucido","truculenter","tubineus","tui","tum","tumultus","tunc","turba","turbo","turpis","tutamen","tutis","tyrannus","uberrime","ubi","ulciscor","ullam","ullus","ulterius","ultio","ultra","umbra","umerus","umquam","una","unde","undique","universe","unus","urbanus","urbs","uredo","usitas","usque","ustilo","ustulo","usus","ut","uter","uterque","utilis","utique","utor","utpote","utrimque","utroque","utrum","uxor","vaco","vacuus","vado","vae","valde","valens","valeo","valetudo","validus","vallum","vapulus","varietas","varius","vehemens","vel","velit","velociter","velum","velut","venia","veniam","venio","ventito","ventosus","ventus","venustas","ver","verbera","verbum","vere","verecundia","vereor","vergo","veritas","veritatis","vero","versus","verto","verumtamen","verus","vesco","vesica","vesper","vespillo","vester","vestigium","vestrum","vetus","via","vicinus","vicissitudo","victoria","victus","videlicet","video","viduo","vigilo","vigor","vilicus","vilis","vilitas","villa","vinco","vinculum","vindico","vinitor","vinum","vir","virga","virgo","viridis","viriliter","virtus","vis","viscus","vita","vitae","vitiosus","vitium","vito","vivo","vix","vobis","vociferor","voco","volaticus","volo","volubilis","voluntarius","volup","voluptas","voluptate","voluptatem","voluptates","voluptatibus","voluptatum","volutabrum","volva","vomer","vomica","vomito","vorago","vorax","voro","vos","votum","voveo","vox","vulariter","vulgaris","vulgivagus","vulgo","vulgus","vulnero","vulnus","vulpes","vulticulus","xiphias"],l4t={words:a4t},u4t=l4t,c4t={title:"English",code:"en",language:"en",endonym:"English",dir:"ltr",script:"Latn"},d4t=c4t,h4t=["Rock","Metal","Pop","Electronic","Folk","World","Country","Jazz","Funk","Soul","Hip Hop","Classical","Latin","Reggae","Stage And Screen","Blues","Non Music","Rap"],m4t=["White Christmas","Hey Jude","Every Breath You Take","Mack the Knife","Rock Around the Clock","I Want to Hold Your Hand","(I Can't Get No) Satisfaction","The Twist","(Everything I Do) I Do it For You","Bridge Over Troubled Water","When Doves Cry","Call Me","Bette Davis Eyes","I Will Always Love You","Over the Rainbow","American Pie","Flashdance. What a Feeling","The Way We Were","I Heard it Through the Grapevine","You've Lost That Lovin' Feelin'","Nothing Compares 2 U","Endless Love","Yeah!","Let's Get it On","That's What Friends Are For","You Light Up My Life","(Sittin' On) the Dock of the Bay","Joy to the World","Heartbreak Hotel","Theme From 'A Summer Place'","Aquarius/Let The Sunshine In","I Will Survive","It's Too Late","Respect","Sugar Sugar","Stayin' Alive","Maggie May","My Heart Will Go On","Eye of the Tiger","End of the Road","Another One Bites the Dust","Billie Jean","Let's Stay Together","Battle of New Orleans","Oh","Hound Dog","I Love Rock 'n' Roll","Smooth","Good Vibrations","Physical","Light My Fire","Low","Hey Ya!","Let it Be","Don't Be Cruel","Hotel California","We Belong Together","Le Freak","Raindrops Keep Falling On My Head","How High the Moon","My Girl","I Can't Stop Loving You","Killing Me Softly With His Song","Mona Lisa","In the Mood","She Loves You","The Letter","Mister Sandman","Careless Whisper","What's Love Got to Do With It?","I'm a Believer","Wooly Bully","Theme From 'Shaft'","Hot Stuff","Centerfold","Honky Tonk Woman","I'll Be There","Gangsta's Paradise","Yesterday","My Sharona","Tennessee Waltz","Reach Out (I'll Be There)","California Dreamin'","Jailhouse Rock","Irreplaceable","Dancing in the Street","Rolling In The Deep","Tie a Yellow Ribbon 'round the Old Oak Tree","Stand By Me","Sentimental Journey","The First Time Ever I Saw Your Face","Louie Louie","Another Brick in the Wall (part 2)","(Just Like) Starting Over","Night Fever","To Sir","You're So Vain","Be My Baby","Celebration","(They Long to Be) Close to You","Begin the Beguine","I Still Haven't Found What I'm Looking For","I Want You Back","Arthur's Theme (Best That You Can Do)","Boulevard of Broken Dreams","With Or Without You","Tonight's the Night (Gonna Be Alright)","Are You Lonesome Tonight?","Upside Down","Dancing Queen","Sweet Child O' Mine","Where Did Our Love Go","Unchained Melody","Rudolph","Take My Breath Away","I'll Make Love to You","Love Will Keep Us Together","When a Man Loves a Woman","Walk Like an Egyptian","Crazy in Love","Strangers in the Night","You Belong to Me","In Da Club","Say You","We Are the World","Johnny B Goode","Love Theme From 'A Star is Born' (Evergreen)","Shadow Dancing","Superstition","Beat It","Night & Day","Waterfalls","House of the Rising Sun","Paper Doll","Downtown","I Can't Help Myself (Sugar Pie","Kiss From a Rose","Believe","Ballad of the Green Berets","Proud Mary","Too Young","Umbrella","Swanee","Need You Tonight","Like a Rolling Stone","Lady","One Sweet Day","Lean On Me","Tik-Toc","Monday Monday","What'd I Say","How You Remind Me","Silly Love Songs","My Guy","Macarena","Goodnight","Just My Imagination (Running Away With Me)","The Sounds of Silence","Imagine","Me & Bobby McGee","Near You","What's Going On?","Suspicious Minds","Ode To Billie Joe","Wind Beneath My Wings","The Boy is Mine","Mr Tambourine Man","Faith","Green Onions","Mrs Robinson","How Deep is Your Love?","Hey There","Heart of Glass","Pennies From Heaven","Like a Virgin","Midnight Train to Georgia","Help!","Tossing & Turning","The Sign","Born to Be Wild","Layla","I Just Wanna Be Your Everything","War","96 Tears","I Get Around","Because You Loved Me","Summer in the City","Get Back","Secret Love","9 to 5","(Ghost) Riders in the Sky","The Loco-Motion","Play That Funky Music","Bohemian Rhapsody","Little Things Mean a Lot","Cry","All Shook Up","Up Where We Belong","Sledgehammer","Fire & Rain","Stop! in the Name of Love","Sweet Home Alabama","Another Day in Paradise","Bleeding Love","Lady Marmalade (Voulez-Vous Coucher Aver Moi Ce Soir?)","Whispering","Vogue","Under the Bridge","Sixteen Tons","Sugar Shack","Baby Love","What a Fool Believes","Lose Yourself","Hello Dolly","Brown Eyed Girl","Without You","Build Me Up Buttercup","We Found Love","Tears in Heaven","Family Affair","All I Wanna Do","Soul Man","Tequila","Rock With You","Livin' La Vida Loca","Best of My Love","Runaway","Alone Again (Naturally)","Can't Help Falling in Love","My Sweet Lord","Runaround Sue","Swinging On a Star","Gold Digger","Happy Together","Losing My Religion","Heart of Gold","Stardust","Will You Love Me Tomorrow","You Are the Sunshine of My Life","You Were Meant for Me","Take On Me","Hollaback Girl","God Bless America","I Swear","Sunshine of Your Love","Firework","Groovin'","Smells Like Teen Spirit","Big Girls Don't Cry","Jack & Diane","Addicted to Love","The Last Dance","Georgia On My Mind","Money For Nothing","Jump","Vaya Con Dios (may God Be With You)","You'll Never Know","That'll Be the Day","Girls Just Wanna Have Fun","Wheel of Fortune","When You Wish Upon a Star","Don't Fence Me In","Turn! Turn! Turn! (To Everything There is a Season)","Volare","Sweet Dreams (Are Made of This)","Whole Lotta Love","You've Got a Friend","Penny Lane","People Got to Be Free","Nature Boy","Sexyback","Crying","Single Ladies (Put A Ring On It)","Bad Girls","Too Close","I Got You Babe","We've Only Just Begun","Sh-Boom (Life Could Be a Dream)","Shining Star","Kansas City","Like a Prayer","Cheek to Cheek","Papa Was a Rolling Stone","Promiscuous","Love Shack","Funkytown","Crazy","Philadelphia Freedom","Temperature","Somebody That I Used to Know","All I Have to Do is Dream","Jessie's Girl","Rhinestone Cowboy","Blue Suede Shoes","Ebony & Ivory","I'll Never Smile Again","Keep On Loving You","Since U Been Gone","The Way You Look Tonight","Crazy Little Thing Called Love","The Great Pretender","Brown Sugar","Que sera sera (Whatever will be will be)","No One","Bad Day","Boom Boom Pow","Party Rock Anthem","Because of You","Chattanooga Choo Choo","A Whiter Shade of Pale","Love Me Tender","Higher Love","Footloose","Blurred Lines","I Just Called to Say I Love You","Come Together","It's Now Or Never","Under the Boardwalk","Don't You Want Me","You Can't Hurry Love","Fame","Fallin'","Poker Face","Bad Romance","Ruby Tuesday","All Night Long (All Night)","Baby Got Back","Whole Lotta Shakin' Goin' On","Frenesi","December 1963 (Oh What a Night)","Bad Moon Rising","Abracadabra","I Gotta Feeling","The Song From Moulin Rouge (Where Is Your Heart)","Waiting For a Girl Like You","Everybody Loves Somebody","I Can't Go For That (No Can Do)","Buttons & Bows","It's All in the Game","Love Train","Dance to the Music","Candle in the Wind '97","Honey","Kiss","I'll Take You There","Paint it Black","Band of Gold","Just the Way You Are","Spirit in the Sky","Vision of Love","Hips don't lie","Till The End of Time","Duke of Earl","YMCA","Oh My Papa (O Mein Papa)","Pistol Packin' Mama","Gonna Make You Sweat (Everybody Dance Now)","Dilemma","I Need You Now","Wanted","Jumpin' Jack Flash","Against All Odds (Take a Look At Me Now)","Tom Dooley","Goodbye Yellow Brick Road","Rhapsody in Blue","Bennie & the Jets","Call Me Maybe","You Really Got Me","God Bless the Child","I'm Sorry","Bad","I Can't Get Next to You","The Power of Love","Dreamlover","Only The Lonely (Know The Way I Feel)","We Are Family","At Last","Brand New Key","I've Heard That Song Before","Stay (I Missed You)","Do Ya Think I'm Sexy?","Tutti Frutti","This Ole House","Please Mr Postman","Good Times","Something","(I've Had) the Time of My Life","I Don't Want to Miss a Thing","Down Hearted Blues","Rag Doll","Blueberry Hill","Ain't No Sunshine","Wild Thing","Blaze of Glory","Ray of Light","The Hustle","Grenade","Cathy's Clown","Minnie the Moocher","Love Is Blue (L'Amour Est Bleu)","Iris","The Boys of Summer","The Tide is High","She Drives Me Crazy","Save the Best For Last","These Boots Are Made For Walking","I Feel Love","A Woman in Love","We Can Work it Out","The Reason","Locked Out Of Heaven","Do That to Me One More Time","That's the Way Love Goes","A Hard Day's Night","I Believe I Can Fly","Karma Chameleon","One O'Clock Jump","Mule Train","Car Wash","Rapture","Creep","Streets of Philadelphia","West End Girls","Leader of the Pack","T For Texas (Blue Yodel No 1)","Mama Told Me Not to Come","Just Dance","Mercy Mercy Me (The Ecology)","Livin' On a Prayer","Good Lovin'","50 Ways to Leave Your Lover","Stronger","I Can See Clearly Now","We Are the Champions","(I've Got a Gal In) Kalamazoo","No Scrubs","How Do You Mend a Broken Heart","I Got You (I Feel Good)","Don't Let the Stars Get in Your Eyes","The Girl From Ipanema","(Sexual) Healing","Tears of a Clown","We Will Rock You","Hold On","Bye Bye Love","Chapel of Love","White Rabbit","Rock the Boat","The Gypsy","Take The 'A' Train","Crimson & Clover","Crocodile Rock","Make Love to Me","Nothing's Gonna Stop Us Now","Say Say Say","The Christmas Song (Chestnuts Roasting On An Open Fire)","Un-Break My Heart","Cherish","I'll Be Missing You","Drops of Jupiter (Tell Me)","There goes my baby","You Send Me","If (They Made Me a King)","The Prisoner's Song","ABC","Do Wah Diddy Diddy","He's So Fine","A Boy Named Sue","Roll Over Beethoven","Sweet Georgia Brown","Earth Angel","Rehab","(You Keep Me) Hangin' On","This Diamond Ring","Be My Love","Rush Rush","You're Beautiful","Roll With It","Moonlight Serenade","Unbelievable","Peg o' My Heart","This Land is Your Land","Stranger On the Shore","Rum & Coca-Cola","Hit the Road","Without Me","Crazy For You","I Want to Know What Love Is","Bye Bye","Down Under","At the Hop","One Bad Apple","Kiss & Say Goodbye","For What It's Worth (Stop","The Long & Winding Road","Baby One More Time","Stairway to Heaven","How Do I Live?","Hello","Truly Madly Deeply","Great Balls of Fire","King of the Road","I Wanna Dance With Somebody (Who Loves Me)","Reunited","Help Me","Rags to Riches","(It's No) Sin","Say My Name","Nobody Does it Better","Paperback Writer","Don't Worry Be Happy","I Fall to Pieces","Body & Soul","You're Still the One","Stormy Weather (Keeps Rainin' All the Time)","Horse With No Name","American Woman","Chattanoogie Shoe-Shine Boy","Pick Up the Pieces","Everybody Wants to Rule the World","Blue Tango","Hurt So Good","Apologize","Let's Dance","(You're My) Soul & Inspiration","I Only Have Eyes For You","Wichita Lineman","Hanging by a Moment","Spinning Wheel","Look Away","Ironic","Don't Stop 'Til You Get Enough","Empire State Of Mind","Do You Love Me?","Jive Talkin'","You're the One That I Want","Sweet Soul Music","Hey There Delilah","A Whole New World (Aladdin's Theme)","Somethin' Stupid","Knock Three Times","Mickey","The Wanderer","Dancing in the Dark","It's Still Rock 'n' Roll to Me","Boogie Oogie Oogie","Can You Feel the Love Tonight","Harper Valley PTA","Seasons in the Sun","Come On-a My House","Viva La Vida","Walk On By","Drop it Like It's Hot","Private Eyes","Maniac","All My Lovin' (You're Never Gonna Get It)","Take a Bow","Ring of Fire","Save the Last Dance For Me","Make it With You","Don't Speak","I Shot the Sheriff","Say It Right","Sing","Twist & Shout","Walk This Way","A-Tisket A-Tasket","Let Me Love You","I Can Dream","Toxic","The Joker","Hero","In the Year 2525 (Exordium & Terminus)","Your Song","Oh Happy Day","Grease","Love In This Club","Angie","How Much is That Doggy in the Window?","Daydream Believer","Whip It","Boogie Woogie Bugle Boy","Down","Hanky Panky","Total Eclipse of the Heart","Cat's in the Cradle","Strange Fruit","Breathe","On My Own","Dizzy","Ticket to Ride","We Got The Beat","On the Atchison","Always On My Mind","Unforgettable","In the End","Music","Can't Buy Me Love","Chain of Fools","Won't Get Fooled Again","Happy Days Are Here Again","Third Man Theme","Your Cheatin' Heart","Thriller","Venus","Time After Time","That Lucky Old Sun (Just Rolls Around Heaven All Day)","E.T.","Three Coins in the Fountain","Touch Me","You Ain't Seen Nothin' Yet","Gives You Hell","Knock On Wood","One of These Nights","Again","Doo Wop (That Thing)","Whoomp! (There it Is)","Magic","I'm Walking Behind You","We Didn't Start the Fire","Lola","Ghostbusters","Winchester Cathedral","Greatest Love of All","My Love","Wannabe","Miss You","I Feel Fine","Baby Baby","TSOP (The Sound of Philadelphia)","Loving You","This Guy's in Love With You","Till I Waltz Again With You","Why Do Fools Fall in Love?","Nights in White Satin","That's the Way (I Like It)","My Prayer","(Put Another Nickel In) Music! Music! Music!","Colors of the Wind","Morning Train (Nine to Five)","I Went to Your Wedding","Kiss Me","Gypsies","Cracklin' Rosie","Maybellene","Born in the USA","Here Without You","Mony Mony","Mmmbop","You Always Hurt the One You Love","Eight Days a Week","What Goes Around Comes Around","Kung Fu Fighting","Fantasy","Sir Duke","Ain't Misbehavin'","Need You Now","Last Train to Clarksville","Yakety Yak","I'll be seeing you","Hard to Say I'm Sorry","It's My Party","Love to Love You Baby","Miss You Much","Born to Run","Instant Karma","The Rose","Purple Rain","One","Groove is in the Heart","Gimme Some Lovin'","Beautiful Day","Escape (The Pina Colada Song)","Use Somebody","Fortunate Son","Afternoon Delight","Love's Theme","Sailing","Cherry Pink & Apple Blossom White","Georgy Girl","How to Save a Life","I Walk the Line","All You Need is Love","U Can't Touch This","All Out of Love","Where is the Love?","Revolution","The Love You Save","Black Or White","This Used to Be My Playground","Living For the City","School's Out","Disturbia","Riders On the Storm","Some Enchanted Evening","Weak","Maneater","More Than Words","Time of the Season","Mrs Brown You've Got a Lovely Daughter","If You Leave Me Now","Can't Get Enough of Your Love","Na Na Hey Hey (Kiss Him Goodbye)","Mr Brightside","Black Velvet","I'm Yours","My Blue Heaven","It Had to Be You","Tha Crossroads","Ac-cent-tchu-ate the Positive","Everyday People","We Are Young","Take Me Home","Smoke! Smoke! Smoke! (That Cigarette)","In the Summertime","The Tracks of My Tears","Fly Robin Fly","Love is a Many Splendoured Thing","Another Night","Long Tall Sally","You Sexy Thing","The Morning After","Get Off of My Cloud","Roses Are Red","Thank You (Falettinme be Mice Elf Again)","Slow Poke","You Belong With Me","Ain't No Mountain High Enough","Auf Wiederseh'n Sweetheart","Beauty & the Beast","St Louis Blues","Peggy Sue","U Got it Bad","Sweet Caroline (Good Times Never Seemed So Good)","Wedding Bell Blues","Freebird","Wipe Out","California Girls","Being With You","Makin' Whoopee","Shop Around","Smoke On the Water","Hungry Heart","That's Amore","My Life","Brandy (You're A Fine Girl)","Walk Don't Run","Surfin' USA","Ball of Confusion (That's What the World is Today)","Sunshine Superman","Frankenstein","Kiss You All Over","Wishing Well","Piano Man","Ben","In the Ghetto","Hang On Sloopy","Singing The Blues","Cry Like a Baby","I Honestly Love You","Brother","Lookin' Out My Back Door","Candy Man","Burn","Stagger Lee","Moonlight Cocktail","Coming Up","Pop Muzik","As Time Goes By","My Eyes Adored You","Strawberry Fields Forever","Some of These Days","I Think I Love You","Judy in Disguise (With Glasses)","All Along the Watchtower","A Thousand Miles","Fast Car","Red Red Wine","Live & Let Die","Come On Eileen","Right Back Where We Started From","Brother Louie","Ol' Man River","Band On the Run","Rich Girl","Green River","Got to Give it Up","Behind Closed Doors","Don't Go Breaking My Heart","I'm Looking Over a Four Leaf Clover","Mr Big Stuff","Tiger Rag","Kryptonite","Hey Paula","Go Your Own Way","Big Bad John","Wake Me Up Before You Go Go","Tangerine","Wayward Wind","Disco Lady","Spanish Harlem","Wicked Game","Rosanna","Papa Don't Preach","Somebody to Love","Kokomo","Manana (Is Soon Enough For Me)","Puttin' on the Ritz","One More Try","I'll Walk Alone","Shout","Woman","Ballerina","We Built This City","19th Nervous Breakdown","Working My Way Back to You","Superstar","Foolish Games","Get Down Tonight","On Bended Knee","Magic Carpet Ride","Only You (And You Alone)","A String of Pearls","A Tree in the Meadow","So Much in Love","Every Little Thing She Does is Magic","La Bamba","Tighten Up","Three Times a Lady","Airplanes","Don't Leave Me This Way","Rock the Casbah","Feel Good Inc","Love Me Do","Kiss On My List","Give Me Everything","Have You Ever Really Loved a Woman?","Love Letters in the Sand","Ring My Bell","Love Child","I Feel For You","Bye","(Let Me Be Your) Teddy Bear","Soldier Boy","Papa's Got a Brand New Bag","Love Hangover","Spill the Wine","Royals","April Showers","Don't You (Forget About Me)","Travellin' Man","The Thing","You Make Me Feel Brand New","The Glow-Worm","You Don't Bring Me Flowers","Summertime Blues","Straight Up","Sunday","Wake Up Little Susie","She's a Lady","Over There","Little Darlin'","Rag Mop","Shake Down","Up Around the Bend","Harbour Lights","Chances Are","Mood Indigo","Pony Time","After You've Gone","I Wanna Love You","Da Doo Ron Ron (When He Walked Me Home)","If You Don't Know Me By Now","Green Tambourine","My Man","If I Didn't Care","St George & the Dragonette","Why Don't You Believe Me?","How Will I Know","Disco Duck","Lonely Boy","Never Gonna Give You Up","Before The Next Teardrop Falls","Running Scared","Let's Hear it For the Boy","Sleep Walk","Walk On the Wild Side","Memories Are Made of This","Open Arms","Stuck On You","Personality","Feel Like Making Love","Stars & Stripes Forever","Besame Mucho","Let Me Call You Sweetheart","Indian Reservation (The Lament Of The Cherokee Reservation Indian)","Cars","You Make Me Feel Like Dancing","Whatcha Say","Me & Mrs Jones","Bitter Sweet Symphony","Uncle Albert (Admiral Halsey)","More Than a Feeling","My Boyfriend's Back","People","He'll Have to Go","I Can Help","The Streak","Dreams","Hair","Cold","Nothin' on You","The End of the World","Caldonia Boogie (What Makes Your Big Head So Hard)","I Kissed A Girl","Incense & Peppermints","12th Street Rag","West End Blues","The Way You Move","Smoke Gets in Your Eyes","Want Ads","Long Cool Woman in a Black Dress","Hey Baby","(Your Love Keeps Lifting Me) Higher & Higher","He's a Rebel","Alone","Thrift Shop","Don't Let the Sun Go Down On Me","The Sweet Escape","Return to Sender","Here in My Heart","Wabash Cannonball","Ain't That a Shame","Travellin' Band","I'm Your Boogie Man","I Write the Songs","This Love","Lights","Will It Go Round In Circles","Purple Haze","Rock Your Baby","Delicado","Tammy","Check On It","Breaking Up is Hard to Do","1999","Prisoner of Love","Wild Wild West","Walk Like a Man","I Will Follow Him","Glamorous","Yellow Rose of Texas","That Old Black Magic","I'm So Lonesome I Could Cry","Up Up & Away","Baby Come Back","Let it Snow! Let it Snow! Let it Snow!","Pon De Replay","Because I Love You (The Postman Song)","Sleepy Lagoon","Baker Street","Dardanella","You Don't Have to Be a Star (To Be in My Show)","Leaving","Glory of Love","Theme From 'Greatest American Hero' (Believe It Or Not)","Shake You Down","Ole Buttermilk Sky","I Can't Get Started","Freak Me","Hot Child In The City","Man in the Mirror","Queen of Hearts","Let's Groove","Change the World","You make Me Wanna","Someday","Eve of Destruction","One of Us","Honky Tonk","Be Bop a Lula","Two Hearts","Paper Planes"],f4t={genre:h4t,song_name:m4t},g4t=f4t,p4t=["activist","artist","author","blogger","business owner","coach","creator","designer","developer","dreamer","educator","engineer","entrepreneur","environmentalist","film lover","filmmaker","foodie","founder","friend","gamer","geek","grad","inventor","leader","model","musician","nerd","parent","patriot","person","philosopher","photographer","public speaker","scientist","singer","streamer","student","teacher","traveler","veteran","writer"],b4t=["{{person.bio_part}}","{{person.bio_part}}, {{person.bio_part}}","{{person.bio_part}}, {{person.bio_part}}, {{person.bio_part}}","{{person.bio_part}}, {{person.bio_part}}, {{person.bio_part}} {{internet.emoji}}","{{word.noun}} {{person.bio_supporter}}","{{word.noun}} {{person.bio_supporter}} {{internet.emoji}}","{{word.noun}} {{person.bio_supporter}}, {{person.bio_part}}","{{word.noun}} {{person.bio_supporter}}, {{person.bio_part}} {{internet.emoji}}"],y4t=["advocate","devotee","enthusiast","fan","junkie","lover","supporter"],v4t=["Mary","Patricia","Linda","Barbara","Elizabeth","Jennifer","Maria","Susan","Margaret","Dorothy","Lisa","Nancy","Karen","Betty","Helen","Sandra","Donna","Carol","Ruth","Sharon","Michelle","Laura","Sarah","Kimberly","Deborah","Jessica","Shirley","Cynthia","Angela","Melissa","Brenda","Amy","Anna","Rebecca","Virginia","Kathleen","Pamela","Martha","Debra","Amanda","Stephanie","Carolyn","Christine","Marie","Janet","Catherine","Frances","Ann","Joyce","Diane","Alice","Julie","Heather","Teresa","Doris","Gloria","Evelyn","Jean","Cheryl","Mildred","Katherine","Joan","Ashley","Judith","Rose","Janice","Kelly","Nicole","Judy","Christina","Kathy","Theresa","Beverly","Denise","Tammy","Irene","Jane","Lori","Rachel","Marilyn","Andrea","Kathryn","Louise","Sara","Anne","Jacqueline","Wanda","Bonnie","Julia","Ruby","Lois","Tina","Phyllis","Norma","Paula","Diana","Annie","Lillian","Emily","Robin","Peggy","Crystal","Gladys","Rita","Dawn","Connie","Florence","Tracy","Edna","Tiffany","Carmen","Rosa","Cindy","Grace","Wendy","Victoria","Edith","Kim","Sherry","Sylvia","Josephine","Thelma","Shannon","Sheila","Ethel","Ellen","Elaine","Marjorie","Carrie","Charlotte","Monica","Esther","Pauline","Emma","Juanita","Anita","Rhonda","Hazel","Amber","Eva","Debbie","April","Leslie","Clara","Lucille","Jamie","Joanne","Eleanor","Valerie","Danielle","Megan","Alicia","Suzanne","Michele","Gail","Bertha","Darlene","Veronica","Jill","Erin","Geraldine","Lauren","Cathy","Joann","Lorraine","Lynn","Sally","Regina","Erica","Beatrice","Dolores","Bernice","Audrey","Yvonne","Annette","June","Samantha","Marion","Dana","Stacy","Ana","Renee","Ida","Vivian","Roberta","Holly","Brittany","Melanie","Loretta","Yolanda","Jeanette","Laurie","Katie","Kristen","Vanessa","Alma","Sue","Elsie","Beth","Jeanne","Vicki","Carla","Tara","Rosemary","Eileen","Terri","Gertrude","Lucy","Tonya","Ella","Stacey","Wilma","Gina","Kristin","Jessie","Natalie","Agnes","Vera","Willie","Charlene","Bessie","Delores","Melinda","Pearl","Arlene","Maureen","Colleen","Allison","Tamara","Joy","Georgia","Constance","Lillie","Claudia","Jackie","Marcia","Tanya","Nellie","Minnie","Marlene","Heidi","Glenda","Lydia","Viola","Courtney","Marian","Stella","Caroline","Dora","Jo","Vickie","Mattie","Terry","Maxine","Irma","Mabel","Marsha","Myrtle","Lena","Christy","Deanna","Patsy","Hilda","Gwendolyn","Jennie","Nora","Margie","Nina","Cassandra","Leah","Penny","Kay","Priscilla","Naomi","Carole","Brandy","Olga","Billie","Dianne","Tracey","Leona","Jenny","Felicia","Sonia","Miriam","Velma","Becky","Bobbie","Violet","Kristina","Toni","Misty","Mae","Shelly","Daisy","Ramona","Sherri","Erika","Katrina","Claire","Lindsey","Lindsay","Geneva","Guadalupe","Belinda","Margarita","Sheryl","Cora","Faye","Ada","Natasha","Sabrina","Isabel","Marguerite","Hattie","Harriet","Molly","Cecilia","Kristi","Brandi","Blanche","Sandy","Rosie","Joanna","Iris","Eunice","Angie","Inez","Lynda","Madeline","Amelia","Alberta","Genevieve","Monique","Jodi","Janie","Maggie","Kayla","Sonya","Jan","Lee","Kristine","Candace","Fannie","Maryann","Opal","Alison","Yvette","Melody","Luz","Susie","Olivia","Flora","Shelley","Kristy","Mamie","Lula","Lola","Verna","Beulah","Antoinette","Candice","Juana","Jeannette","Pam","Kelli","Hannah","Whitney","Bridget","Karla","Celia","Latoya","Patty","Shelia","Gayle","Della","Vicky","Lynne","Sheri","Marianne","Kara","Jacquelyn","Erma","Blanca","Myra","Leticia","Pat","Krista","Roxanne","Angelica","Johnnie","Robyn","Francis","Adrienne","Rosalie","Alexandra","Brooke","Bethany","Sadie","Bernadette","Traci","Jody","Kendra","Jasmine","Nichole","Rachael","Chelsea","Mable","Ernestine","Muriel","Marcella","Elena","Krystal","Angelina","Nadine","Kari","Estelle","Dianna","Paulette","Lora","Mona","Doreen","Rosemarie","Angel","Desiree","Antonia","Hope","Ginger","Janis","Betsy","Christie","Freda","Mercedes","Meredith","Lynette","Teri","Cristina","Eula","Leigh","Meghan","Sophia","Eloise","Rochelle","Gretchen","Cecelia","Raquel","Henrietta","Alyssa","Jana","Kelley","Gwen","Kerry","Jenna","Tricia","Laverne","Olive","Alexis","Tasha","Silvia","Elvira","Casey","Delia","Sophie","Kate","Patti","Lorena","Kellie","Sonja","Lila","Lana","Darla","May","Mindy","Essie","Mandy","Lorene","Elsa","Josefina","Jeannie","Miranda","Dixie","Lucia","Marta","Faith","Lela","Johanna","Shari","Camille","Tami","Shawna","Elisa","Ebony","Melba","Ora","Nettie","Tabitha","Ollie","Jaime","Winifred","Kristie"],C4t=["Abigail","Adele","Alex","Alice","Alisha","Amber","Amelia","Amora","Anaïs","Angelou","Anika","Anise","Annabel","Anne","Aphrodite","Aretha","Arya","Ashton","Aster","Audrey","Avery","Bailee","Bay","Belle","Beth","Billie","Blair","Blaise","Blake","Blanche","Blue","Bree","Brielle","Brienne","Brooke","Caleen","Candice","Caprice","Carelyn","Caylen","Celine","Cerise","Cia","Claire","Claudia","Clementine","Coral","Coraline","Dahlia","Dakota","Dawn","Della","Demi","Denise","Denver","Devine","Devon","Diana","Dylan","Ebony","Eden","Eleanor","Elein","Elizabeth","Ellen","Elodie","Eloise","Ember","Emma","Erin","Eyre","Faith","Farrah","Fawn","Fayre","Fern","France","Francis","Frida","Genisis","Georgia","Grace","Gwen","Harley","Harper","Hazel","Helen","Hippolyta","Holly","Hope","Imani","Iowa","Ireland","Irene","Iris","Isa","Isla","Ivy","Jade","Jane","Jazz","Jean","Jess","Jett","Jo","Joan","Jolie","Jordan","Josie","Journey","Joy","Jules","Julien","Juliet","Juniper","Justice","Kali","Karma","Kat","Kate","Kennedy","Keva","Kylie","Lake","Lane","Lark","Layla","Lee","Leigh","Leona","Lexi","London","Lou","Louise","Love","Luna","Lux","Lynn","Lyric","Maddie","Mae","Marie","Matilda","Maude","Maybel","Meadow","Medusa","Mercy","Michelle","Mirabel","Monroe","Morgan","Nalia","Naomi","Nova","Olive","Paige","Parker","Pax","Pearl","Penelope","Phoenix","Quinn","Rae","Rain","Raven","Ray","Raye","Rebel","Reese","Reeve","Regan","Riley","River","Robin","Rory","Rose","Royal","Ruth","Rylie","Sage","Sam","Saturn","Scout","Serena","Sky","Skylar","Sofia","Sophia","Storm","Sue","Suzanne","Sydney","Taylen","Taylor","Teagan","Tempest","Tenley","Thea","Trinity","Valerie","Venus","Vera","Violet","Willow","Winter","Xena","Zaylee","Zion","Zoe"],mDe=["Mrs.","Ms.","Miss","Dr."],S4t=["Aaliyah","Aaron","Abagail","Abbey","Abbie","Abbigail","Abby","Abdiel","Abdul","Abdullah","Abe","Abel","Abelardo","Abigail","Abigale","Abigayle","Abner","Abraham","Ada","Adah","Adalberto","Adaline","Adam","Adan","Addie","Addison","Adela","Adelbert","Adele","Adelia","Adeline","Adell","Adella","Adelle","Aditya","Adolf","Adolfo","Adolph","Adolphus","Adonis","Adrain","Adrian","Adriana","Adrianna","Adriel","Adrien","Adrienne","Afton","Aglae","Agnes","Agustin","Agustina","Ahmad","Ahmed","Aida","Aidan","Aiden","Aileen","Aimee","Aisha","Aiyana","Akeem","Al","Alaina","Alan","Alana","Alanis","Alanna","Alayna","Alba","Albert","Alberta","Albertha","Alberto","Albin","Albina","Alda","Alden","Alec","Aleen","Alejandra","Alejandrin","Alek","Alena","Alene","Alessandra","Alessandro","Alessia","Aletha","Alex","Alexa","Alexander","Alexandra","Alexandre","Alexandrea","Alexandria","Alexandrine","Alexandro","Alexane","Alexanne","Alexie","Alexis","Alexys","Alexzander","Alf","Alfonso","Alfonzo","Alford","Alfred","Alfreda","Alfredo","Ali","Alia","Alice","Alicia","Alisa","Alisha","Alison","Alivia","Aliya","Aliyah","Aliza","Alize","Allan","Allen","Allene","Allie","Allison","Ally","Alphonso","Alta","Althea","Alva","Alvah","Alvena","Alvera","Alverta","Alvina","Alvis","Alyce","Alycia","Alysa","Alysha","Alyson","Alysson","Amalia","Amanda","Amani","Amara","Amari","Amaya","Amber","Ambrose","Amelia","Amelie","Amely","America","Americo","Amie","Amina","Amir","Amira","Amiya","Amos","Amparo","Amy","Amya","Ana","Anabel","Anabelle","Anahi","Anais","Anastacio","Anastasia","Anderson","Andre","Andreane","Andreanne","Andres","Andrew","Andy","Angel","Angela","Angelica","Angelina","Angeline","Angelita","Angelo","Angie","Angus","Anibal","Anika","Anissa","Anita","Aniya","Aniyah","Anjali","Anna","Annabel","Annabell","Annabelle","Annalise","Annamae","Annamarie","Anne","Annetta","Annette","Annie","Ansel","Ansley","Anthony","Antoinette","Antone","Antonetta","Antonette","Antonia","Antonietta","Antonina","Antonio","Antwan","Antwon","Anya","April","Ara","Araceli","Aracely","Arch","Archibald","Ardella","Arden","Ardith","Arely","Ari","Ariane","Arianna","Aric","Ariel","Arielle","Arjun","Arlene","Arlie","Arlo","Armand","Armando","Armani","Arnaldo","Arne","Arno","Arnold","Arnoldo","Arnulfo","Aron","Art","Arthur","Arturo","Arvel","Arvid","Arvilla","Aryanna","Asa","Asha","Ashlee","Ashleigh","Ashley","Ashly","Ashlynn","Ashton","Ashtyn","Asia","Assunta","Astrid","Athena","Aubree","Aubrey","Audie","Audra","Audreanne","Audrey","August","Augusta","Augustine","Augustus","Aurelia","Aurelie","Aurelio","Aurore","Austen","Austin","Austyn","Autumn","Ava","Avery","Avis","Axel","Ayana","Ayden","Ayla","Aylin","Baby","Bailee","Bailey","Barbara","Barney","Baron","Barrett","Barry","Bart","Bartholome","Barton","Baylee","Beatrice","Beau","Beaulah","Bell","Bella","Belle","Ben","Benedict","Benjamin","Bennett","Bennie","Benny","Benton","Berenice","Bernadette","Bernadine","Bernard","Bernardo","Berneice","Bernhard","Bernice","Bernie","Berniece","Bernita","Berry","Bert","Berta","Bertha","Bertram","Bertrand","Beryl","Bessie","Beth","Bethany","Bethel","Betsy","Bette","Bettie","Betty","Bettye","Beulah","Beverly","Bianka","Bill","Billie","Billy","Birdie","Blair","Blaise","Blake","Blanca","Blanche","Blaze","Bo","Bobbie","Bobby","Bonita","Bonnie","Boris","Boyd","Brad","Braden","Bradford","Bradley","Bradly","Brady","Braeden","Brain","Brandi","Brando","Brandon","Brandt","Brandy","Brandyn","Brannon","Branson","Brant","Braulio","Braxton","Brayan","Breana","Breanna","Breanne","Brenda","Brendan","Brenden","Brendon","Brenna","Brennan","Brennon","Brent","Bret","Brett","Bria","Brian","Briana","Brianne","Brice","Bridget","Bridgette","Bridie","Brielle","Brigitte","Brionna","Brisa","Britney","Brittany","Brock","Broderick","Brody","Brook","Brooke","Brooklyn","Brooks","Brown","Bruce","Bryana","Bryce","Brycen","Bryon","Buck","Bud","Buddy","Buford","Bulah","Burdette","Burley","Burnice","Buster","Cade","Caden","Caesar","Caitlyn","Cale","Caleb","Caleigh","Cali","Calista","Callie","Camden","Cameron","Camila","Camilla","Camille","Camren","Camron","Camryn","Camylle","Candace","Candelario","Candice","Candida","Candido","Cara","Carey","Carissa","Carlee","Carleton","Carley","Carli","Carlie","Carlo","Carlos","Carlotta","Carmel","Carmela","Carmella","Carmelo","Carmen","Carmine","Carol","Carolanne","Carole","Carolina","Caroline","Carolyn","Carolyne","Carrie","Carroll","Carson","Carter","Cary","Casandra","Casey","Casimer","Casimir","Casper","Cassandra","Cassandre","Cassidy","Cassie","Catalina","Caterina","Catharine","Catherine","Cathrine","Cathryn","Cathy","Cayla","Ceasar","Cecelia","Cecil","Cecile","Cecilia","Cedrick","Celestine","Celestino","Celia","Celine","Cesar","Chad","Chadd","Chadrick","Chaim","Chance","Chandler","Chanel","Chanelle","Charity","Charlene","Charles","Charley","Charlie","Charlotte","Chase","Chasity","Chauncey","Chaya","Chaz","Chelsea","Chelsey","Chelsie","Chesley","Chester","Chet","Cheyanne","Cheyenne","Chloe","Chris","Christ","Christa","Christelle","Christian","Christiana","Christina","Christine","Christop","Christophe","Christopher","Christy","Chyna","Ciara","Cicero","Cielo","Cierra","Cindy","Citlalli","Clair","Claire","Clara","Clarabelle","Clare","Clarissa","Clark","Claud","Claude","Claudia","Claudie","Claudine","Clay","Clemens","Clement","Clementina","Clementine","Clemmie","Cleo","Cleora","Cleta","Cletus","Cleve","Cleveland","Clifford","Clifton","Clint","Clinton","Clotilde","Clovis","Cloyd","Clyde","Coby","Cody","Colby","Cole","Coleman","Colin","Colleen","Collin","Colt","Colten","Colton","Columbus","Concepcion","Conner","Connie","Connor","Conor","Conrad","Constance","Constantin","Consuelo","Cooper","Cora","Coralie","Corbin","Cordelia","Cordell","Cordia","Cordie","Corene","Corine","Cornelius","Cornell","Corrine","Cortez","Cortney","Cory","Coty","Courtney","Coy","Craig","Crawford","Creola","Cristal","Cristian","Cristina","Cristobal","Cristopher","Cruz","Crystal","Crystel","Cullen","Curt","Curtis","Cydney","Cynthia","Cyril","Cyrus","Dagmar","Dahlia","Daija","Daisha","Daisy","Dakota","Dale","Dallas","Dallin","Dalton","Damaris","Dameon","Damian","Damien","Damion","Damon","Dan","Dana","Dandre","Dane","D'angelo","Dangelo","Danial","Daniela","Daniella","Danielle","Danika","Dannie","Danny","Dante","Danyka","Daphne","Daphnee","Daphney","Darby","Daren","Darian","Dariana","Darien","Dario","Darion","Darius","Darlene","Daron","Darrel","Darrell","Darren","Darrick","Darrin","Darrion","Darron","Darryl","Darwin","Daryl","Dashawn","Dasia","Dave","David","Davin","Davion","Davon","Davonte","Dawn","Dawson","Dax","Dayana","Dayna","Dayne","Dayton","Dean","Deangelo","Deanna","Deborah","Declan","Dedric","Dedrick","Dee","Deion","Deja","Dejah","Dejon","Dejuan","Delaney","Delbert","Delfina","Delia","Delilah","Dell","Della","Delmer","Delores","Delpha","Delphia","Delphine","Delta","Demarco","Demarcus","Demario","Demetris","Demetrius","Demond","Dena","Denis","Dennis","Deon","Deondre","Deontae","Deonte","Dereck","Derek","Derick","Deron","Derrick","Deshaun","Deshawn","Desiree","Desmond","Dessie","Destany","Destin","Destinee","Destiney","Destini","Destiny","Devan","Devante","Deven","Devin","Devon","Devonte","Devyn","Dewayne","Dewitt","Dexter","Diamond","Diana","Dianna","Diego","Dillan","Dillon","Dimitri","Dina","Dino","Dion","Dixie","Dock","Dolly","Dolores","Domenic","Domenica","Domenick","Domenico","Domingo","Dominic","Dominique","Don","Donald","Donato","Donavon","Donna","Donnell","Donnie","Donny","Dora","Dorcas","Dorian","Doris","Dorothea","Dorothy","Dorris","Dortha","Dorthy","Doug","Douglas","Dovie","Doyle","Drake","Drew","Duane","Dudley","Dulce","Duncan","Durward","Dustin","Dusty","Dwight","Dylan","Earl","Earlene","Earline","Earnest","Earnestine","Easter","Easton","Ebba","Ebony","Ed","Eda","Edd","Eddie","Eden","Edgar","Edgardo","Edison","Edmond","Edmund","Edna","Eduardo","Edward","Edwardo","Edwin","Edwina","Edyth","Edythe","Effie","Efrain","Efren","Eileen","Einar","Eino","Eladio","Elaina","Elbert","Elda","Eldon","Eldora","Eldred","Eldridge","Eleanora","Eleanore","Eleazar","Electa","Elena","Elenor","Elenora","Eleonore","Elfrieda","Eli","Elian","Eliane","Elias","Eliezer","Elijah","Elinor","Elinore","Elisa","Elisabeth","Elise","Eliseo","Elisha","Elissa","Eliza","Elizabeth","Ella","Ellen","Ellie","Elliot","Elliott","Ellis","Ellsworth","Elmer","Elmira","Elmo","Elmore","Elna","Elnora","Elody","Eloisa","Eloise","Elouise","Eloy","Elroy","Elsa","Else","Elsie","Elta","Elton","Elva","Elvera","Elvie","Elvis","Elwin","Elwyn","Elyse","Elyssa","Elza","Emanuel","Emelia","Emelie","Emely","Emerald","Emerson","Emery","Emie","Emil","Emile","Emilia","Emiliano","Emilie","Emilio","Emily","Emma","Emmalee","Emmanuel","Emmanuelle","Emmet","Emmett","Emmie","Emmitt","Emmy","Emory","Ena","Enid","Enoch","Enola","Enos","Enrico","Enrique","Ephraim","Era","Eriberto","Eric","Erica","Erich","Erick","Ericka","Erik","Erika","Erin","Erling","Erna","Ernest","Ernestina","Ernestine","Ernesto","Ernie","Ervin","Erwin","Eryn","Esmeralda","Esperanza","Esta","Esteban","Estefania","Estel","Estell","Estella","Estelle","Estevan","Esther","Estrella","Etha","Ethan","Ethel","Ethelyn","Ethyl","Ettie","Eudora","Eugene","Eugenia","Eula","Eulah","Eulalia","Euna","Eunice","Eusebio","Eva","Evalyn","Evan","Evangeline","Evans","Eve","Eveline","Evelyn","Everardo","Everett","Everette","Evert","Evie","Ewald","Ewell","Ezekiel","Ezequiel","Ezra","Fabian","Fabiola","Fae","Fannie","Fanny","Fatima","Faustino","Fausto","Favian","Fay","Faye","Federico","Felicia","Felicita","Felicity","Felipa","Felipe","Felix","Felton","Fermin","Fern","Fernando","Ferne","Fidel","Filiberto","Filomena","Finn","Fiona","Flavie","Flavio","Fleta","Fletcher","Flo","Florence","Florencio","Florian","Florida","Florine","Flossie","Floy","Floyd","Ford","Forest","Forrest","Foster","Frances","Francesca","Francesco","Francis","Francisca","Francisco","Franco","Frank","Frankie","Franz","Fred","Freda","Freddie","Freddy","Frederic","Frederick","Frederik","Frederique","Fredrick","Fredy","Freeda","Freeman","Freida","Frida","Frieda","Friedrich","Fritz","Furman","Gabe","Gabriel","Gabriella","Gabrielle","Gaetano","Gage","Gail","Gardner","Garett","Garfield","Garland","Garnet","Garnett","Garret","Garrett","Garrick","Garrison","Garry","Garth","Gaston","Gavin","Gayle","Gene","General","Genesis","Genevieve","Gennaro","Genoveva","Geo","Geoffrey","George","Georgette","Georgiana","Georgianna","Geovanni","Geovanny","Geovany","Gerald","Geraldine","Gerard","Gerardo","Gerda","Gerhard","Germaine","German","Gerry","Gerson","Gertrude","Gia","Gianni","Gideon","Gilbert","Gilberto","Gilda","Giles","Gillian","Gina","Gino","Giovani","Giovanna","Giovanni","Giovanny","Gisselle","Giuseppe","Gladyce","Gladys","Glen","Glenda","Glenna","Glennie","Gloria","Godfrey","Golda","Golden","Gonzalo","Gordon","Grace","Gracie","Graciela","Grady","Graham","Grant","Granville","Grayce","Grayson","Green","Greg","Gregg","Gregoria","Gregorio","Gregory","Greta","Gretchen","Greyson","Griffin","Grover","Guadalupe","Gudrun","Guido","Guillermo","Guiseppe","Gunnar","Gunner","Gus","Gussie","Gust","Gustave","Guy","Gwen","Gwendolyn","Hadley","Hailee","Hailey","Hailie","Hal","Haleigh","Haley","Halie","Halle","Hallie","Hank","Hanna","Hannah","Hans","Hardy","Harley","Harmon","Harmony","Harold","Harrison","Harry","Harvey","Haskell","Hassan","Hassie","Hattie","Haven","Hayden","Haylee","Hayley","Haylie","Hazel","Hazle","Heath","Heather","Heaven","Heber","Hector","Heidi","Helen","Helena","Helene","Helga","Hellen","Helmer","Heloise","Henderson","Henri","Henriette","Henry","Herbert","Herman","Hermann","Hermina","Herminia","Herminio","Hershel","Herta","Hertha","Hester","Hettie","Hilario","Hilbert","Hilda","Hildegard","Hillard","Hillary","Hilma","Hilton","Hipolito","Hiram","Hobart","Holden","Hollie","Hollis","Holly","Hope","Horace","Horacio","Hortense","Hosea","Houston","Howard","Howell","Hoyt","Hubert","Hudson","Hugh","Hulda","Humberto","Hunter","Hyman","Ian","Ibrahim","Icie","Ida","Idell","Idella","Ignacio","Ignatius","Ike","Ila","Ilene","Iliana","Ima","Imani","Imelda","Immanuel","Imogene","Ines","Irma","Irving","Irwin","Isaac","Isabel","Isabell","Isabella","Isabelle","Isac","Isadore","Isai","Isaiah","Isaias","Isidro","Ismael","Isobel","Isom","Israel","Issac","Itzel","Iva","Ivah","Ivory","Ivy","Izabella","Izaiah","Jabari","Jace","Jacey","Jacinthe","Jacinto","Jack","Jackeline","Jackie","Jacklyn","Jackson","Jacky","Jaclyn","Jacquelyn","Jacques","Jacynthe","Jada","Jade","Jaden","Jadon","Jadyn","Jaeden","Jaida","Jaiden","Jailyn","Jaime","Jairo","Jakayla","Jake","Jakob","Jaleel","Jalen","Jalon","Jalyn","Jamaal","Jamal","Jamar","Jamarcus","Jamel","Jameson","Jamey","Jamie","Jamil","Jamir","Jamison","Jammie","Jan","Jana","Janae","Jane","Janelle","Janessa","Janet","Janice","Janick","Janie","Janis","Janiya","Jannie","Jany","Jaquan","Jaquelin","Jaqueline","Jared","Jaren","Jarod","Jaron","Jarred","Jarrell","Jarret","Jarrett","Jarrod","Jarvis","Jasen","Jasmin","Jason","Jasper","Jaunita","Javier","Javon","Javonte","Jay","Jayce","Jaycee","Jayda","Jayde","Jayden","Jaydon","Jaylan","Jaylen","Jaylin","Jaylon","Jayme","Jayne","Jayson","Jazlyn","Jazmin","Jazmyn","Jazmyne","Jean","Jeanette","Jeanie","Jeanne","Jed","Jedediah","Jedidiah","Jeff","Jefferey","Jeffery","Jeffrey","Jeffry","Jena","Jenifer","Jennie","Jennifer","Jennings","Jennyfer","Jensen","Jerad","Jerald","Jeramie","Jeramy","Jerel","Jeremie","Jeremy","Jermain","Jermaine","Jermey","Jerod","Jerome","Jeromy","Jerrell","Jerrod","Jerrold","Jerry","Jess","Jesse","Jessica","Jessie","Jessika","Jessy","Jessyca","Jesus","Jett","Jettie","Jevon","Jewel","Jewell","Jillian","Jimmie","Jimmy","Jo","Joan","Joana","Joanie","Joanne","Joannie","Joanny","Joany","Joaquin","Jocelyn","Jodie","Jody","Joe","Joel","Joelle","Joesph","Joey","Johan","Johann","Johanna","Johathan","John","Johnathan","Johnathon","Johnnie","Johnny","Johnpaul","Johnson","Jolie","Jon","Jonas","Jonatan","Jonathan","Jonathon","Jordan","Jordane","Jordi","Jordon","Jordy","Jordyn","Jorge","Jose","Josefa","Josefina","Joseph","Josephine","Josh","Joshua","Joshuah","Josiah","Josiane","Josianne","Josie","Josue","Jovan","Jovani","Jovanny","Jovany","Joy","Joyce","Juana","Juanita","Judah","Judd","Jude","Judge","Judson","Judy","Jules","Julia","Julian","Juliana","Julianne","Julie","Julien","Juliet","Julio","Julius","June","Junior","Junius","Justen","Justice","Justina","Justine","Juston","Justus","Justyn","Juvenal","Juwan","Kacey","Kaci","Kacie","Kade","Kaden","Kadin","Kaela","Kaelyn","Kaia","Kailee","Kailey","Kailyn","Kaitlin","Kaitlyn","Kale","Kaleb","Kaleigh","Kaley","Kali","Kallie","Kameron","Kamille","Kamren","Kamron","Kamryn","Kane","Kara","Kareem","Karelle","Karen","Kari","Kariane","Karianne","Karina","Karine","Karl","Karlee","Karley","Karli","Karlie","Karolann","Karson","Kasandra","Kasey","Kassandra","Katarina","Katelin","Katelyn","Katelynn","Katharina","Katherine","Katheryn","Kathleen","Kathlyn","Kathryn","Kathryne","Katlyn","Katlynn","Katrina","Katrine","Kattie","Kavon","Kay","Kaya","Kaycee","Kayden","Kayla","Kaylah","Kaylee","Kayleigh","Kayley","Kayli","Kaylie","Kaylin","Keagan","Keanu","Keara","Keaton","Keegan","Keeley","Keely","Keenan","Keira","Keith","Kellen","Kelley","Kelli","Kellie","Kelly","Kelsi","Kelsie","Kelton","Kelvin","Ken","Kendall","Kendra","Kendrick","Kenna","Kennedi","Kennedy","Kenneth","Kennith","Kenny","Kenton","Kenya","Kenyatta","Kenyon","Keon","Keshaun","Keshawn","Keven","Kevin","Kevon","Keyon","Keyshawn","Khalid","Khalil","Kian","Kiana","Kianna","Kiara","Kiarra","Kiel","Kiera","Kieran","Kiley","Kim","Kimberly","King","Kip","Kira","Kirk","Kirsten","Kirstin","Kitty","Kobe","Koby","Kody","Kolby","Kole","Korbin","Korey","Kory","Kraig","Kris","Krista","Kristian","Kristin","Kristina","Kristofer","Kristoffer","Kristopher","Kristy","Krystal","Krystel","Krystina","Kurt","Kurtis","Kyla","Kyle","Kylee","Kyleigh","Kyler","Kylie","Kyra","Lacey","Lacy","Ladarius","Lafayette","Laila","Laisha","Lamar","Lambert","Lamont","Lance","Landen","Lane","Laney","Larissa","Laron","Larry","Larue","Laura","Laurel","Lauren","Laurence","Lauretta","Lauriane","Laurianne","Laurie","Laurine","Laury","Lauryn","Lavada","Lavern","Laverna","Laverne","Lavina","Lavinia","Lavon","Lavonne","Lawrence","Lawson","Layla","Layne","Lazaro","Lea","Leann","Leanna","Leanne","Leatha","Leda","Lee","Leif","Leila","Leilani","Lela","Lelah","Leland","Lelia","Lempi","Lemuel","Lenna","Lennie","Lenny","Lenora","Lenore","Leo","Leola","Leon","Leonard","Leonardo","Leone","Leonel","Leonie","Leonor","Leonora","Leopold","Leopoldo","Leora","Lera","Lesley","Leslie","Lesly","Lessie","Lester","Leta","Letha","Letitia","Levi","Lew","Lewis","Lexi","Lexie","Lexus","Lia","Liam","Liana","Libbie","Libby","Lila","Lilian","Liliana","Liliane","Lilla","Lillian","Lilliana","Lillie","Lilly","Lily","Lilyan","Lina","Lincoln","Linda","Lindsay","Lindsey","Linnea","Linnie","Linwood","Lionel","Lisa","Lisandro","Lisette","Litzy","Liza","Lizeth","Lizzie","Llewellyn","Lloyd","Logan","Lois","Lola","Lolita","Loma","Lon","London","Lonie","Lonnie","Lonny","Lonzo","Lora","Loraine","Loren","Lorena","Lorenz","Lorenza","Lorenzo","Lori","Lorine","Lorna","Lottie","Lou","Louie","Louisa","Lourdes","Louvenia","Lowell","Loy","Loyal","Loyce","Lucas","Luciano","Lucie","Lucienne","Lucile","Lucinda","Lucio","Lucious","Lucius","Lucy","Ludie","Ludwig","Lue","Luella","Luigi","Luis","Luisa","Lukas","Lula","Lulu","Luna","Lupe","Lura","Lurline","Luther","Luz","Lyda","Lydia","Lyla","Lynn","Lyric","Lysanne","Mabel","Mabelle","Mable","Mac","Macey","Maci","Macie","Mack","Mackenzie","Macy","Madaline","Madalyn","Maddison","Madeline","Madelyn","Madelynn","Madge","Madie","Madilyn","Madisen","Madison","Madisyn","Madonna","Madyson","Mae","Maegan","Maeve","Mafalda","Magali","Magdalen","Magdalena","Maggie","Magnolia","Magnus","Maia","Maida","Maiya","Major","Makayla","Makenna","Makenzie","Malachi","Malcolm","Malika","Malinda","Mallie","Mallory","Malvina","Mandy","Manley","Manuel","Manuela","Mara","Marc","Marcel","Marcelina","Marcelino","Marcella","Marcelle","Marcellus","Marcelo","Marcia","Marco","Marcos","Marcus","Margaret","Margarete","Margarett","Margaretta","Margarette","Margarita","Marge","Margie","Margot","Margret","Marguerite","Maria","Mariah","Mariam","Marian","Mariana","Mariane","Marianna","Marianne","Mariano","Maribel","Marie","Mariela","Marielle","Marietta","Marilie","Marilou","Marilyne","Marina","Mario","Marion","Marisa","Marisol","Maritza","Marjolaine","Marjorie","Marjory","Mark","Markus","Marlee","Marlen","Marlene","Marley","Marlin","Marlon","Marques","Marquis","Marquise","Marshall","Marta","Martin","Martina","Martine","Marty","Marvin","Mary","Maryam","Maryjane","Maryse","Mason","Mateo","Mathew","Mathias","Mathilde","Matilda","Matilde","Matt","Matteo","Mattie","Maud","Maude","Maudie","Maureen","Maurice","Mauricio","Maurine","Maverick","Mavis","Max","Maxie","Maxime","Maximilian","Maximillia","Maximillian","Maximo","Maximus","Maxine","Maxwell","May","Maya","Maybell","Maybelle","Maye","Maymie","Maynard","Mayra","Mazie","Mckayla","Mckenna","Mckenzie","Meagan","Meaghan","Meda","Megane","Meggie","Meghan","Mekhi","Melany","Melba","Melisa","Melissa","Mellie","Melody","Melvin","Melvina","Melyna","Melyssa","Mercedes","Meredith","Merl","Merle","Merlin","Merritt","Mertie","Mervin","Meta","Mia","Micaela","Micah","Michael","Michaela","Michale","Micheal","Michel","Michele","Michelle","Miguel","Mikayla","Mike","Mikel","Milan","Miles","Milford","Miller","Millie","Milo","Milton","Mina","Minerva","Minnie","Miracle","Mireille","Mireya","Misael","Missouri","Misty","Mitchel","Mitchell","Mittie","Modesta","Modesto","Mohamed","Mohammad","Mohammed","Moises","Mollie","Molly","Mona","Monica","Monique","Monroe","Monserrat","Monserrate","Montana","Monte","Monty","Morgan","Moriah","Morris","Mortimer","Morton","Mose","Moses","Moshe","Mossie","Mozell","Mozelle","Muhammad","Muriel","Murl","Murphy","Murray","Mustafa","Mya","Myah","Mylene","Myles","Myra","Myriam","Myrl","Myrna","Myron","Myrtice","Myrtie","Myrtis","Myrtle","Nadia","Nakia","Name","Nannie","Naomi","Naomie","Napoleon","Narciso","Nash","Nasir","Nat","Natalia","Natalie","Natasha","Nathan","Nathanael","Nathanial","Nathaniel","Nathen","Nayeli","Neal","Ned","Nedra","Neha","Neil","Nelda","Nella","Nelle","Nellie","Nels","Nelson","Neoma","Nestor","Nettie","Neva","Newell","Newton","Nia","Nicholas","Nicholaus","Nichole","Nick","Nicklaus","Nickolas","Nico","Nicola","Nicolas","Nicole","Nicolette","Nigel","Nikita","Nikki","Nikko","Niko","Nikolas","Nils","Nina","Noah","Noble","Noe","Noel","Noelia","Noemi","Noemie","Noemy","Nola","Nolan","Nona","Nora","Norbert","Norberto","Norene","Norma","Norris","Norval","Norwood","Nova","Novella","Nya","Nyah","Nyasia","Obie","Oceane","Ocie","Octavia","Oda","Odell","Odessa","Odie","Ofelia","Okey","Ola","Olaf","Ole","Olen","Oleta","Olga","Olin","Oliver","Ollie","Oma","Omari","Omer","Ona","Onie","Opal","Ophelia","Ora","Oral","Oran","Oren","Orie","Orin","Orion","Orland","Orlando","Orlo","Orpha","Orrin","Orval","Orville","Osbaldo","Osborne","Oscar","Osvaldo","Oswald","Oswaldo","Otha","Otho","Otilia","Otis","Ottilie","Ottis","Otto","Ova","Owen","Ozella","Pablo","Paige","Palma","Pamela","Pansy","Paolo","Paris","Parker","Pascale","Pasquale","Pat","Patience","Patricia","Patrick","Patsy","Pattie","Paul","Paula","Pauline","Paxton","Payton","Pearl","Pearlie","Pearline","Pedro","Peggie","Penelope","Percival","Percy","Perry","Pete","Peter","Petra","Peyton","Philip","Phoebe","Phyllis","Pierce","Pierre","Pietro","Pink","Pinkie","Piper","Polly","Porter","Precious","Presley","Preston","Price","Prince","Princess","Priscilla","Providenci","Prudence","Queen","Queenie","Quentin","Quincy","Quinn","Quinten","Quinton","Rachael","Rachel","Rachelle","Rae","Raegan","Rafael","Rafaela","Raheem","Rahsaan","Rahul","Raina","Raleigh","Ralph","Ramiro","Ramon","Ramona","Randal","Randall","Randi","Randy","Ransom","Raoul","Raphael","Raphaelle","Raquel","Rashad","Rashawn","Rasheed","Raul","Raven","Ray","Raymond","Raymundo","Reagan","Reanna","Reba","Rebeca","Rebecca","Rebeka","Rebekah","Reece","Reed","Reese","Regan","Reggie","Reginald","Reid","Reilly","Reina","Reinhold","Remington","Rene","Renee","Ressie","Reta","Retha","Retta","Reuben","Reva","Rex","Rey","Reyes","Reymundo","Reyna","Reynold","Rhea","Rhett","Rhianna","Rhiannon","Rhoda","Ricardo","Richard","Richie","Richmond","Rick","Rickey","Rickie","Ricky","Rico","Rigoberto","Riley","Rita","River","Robb","Robbie","Robert","Roberta","Roberto","Robin","Robyn","Rocio","Rocky","Rod","Roderick","Rodger","Rodolfo","Rodrick","Rodrigo","Roel","Rogelio","Roger","Rogers","Rolando","Rollin","Roma","Romaine","Roman","Ron","Ronaldo","Ronny","Roosevelt","Rory","Rosa","Rosalee","Rosalia","Rosalind","Rosalinda","Rosalyn","Rosamond","Rosanna","Rosario","Roscoe","Rose","Rosella","Roselyn","Rosemarie","Rosemary","Rosendo","Rosetta","Rosie","Rosina","Roslyn","Ross","Rossie","Rowan","Rowena","Rowland","Roxane","Roxanne","Roy","Royal","Royce","Rozella","Ruben","Rubie","Ruby","Rubye","Rudolph","Rudy","Rupert","Russ","Russel","Russell","Rusty","Ruth","Ruthe","Ruthie","Ryan","Ryann","Ryder","Rylan","Rylee","Ryleigh","Ryley","Sabina","Sabrina","Sabryna","Sadie","Sadye","Sage","Saige","Sallie","Sally","Salma","Salvador","Salvatore","Sam","Samanta","Samantha","Samara","Samir","Sammie","Sammy","Samson","Sandra","Sandrine","Sandy","Sanford","Santa","Santiago","Santina","Santino","Santos","Sarah","Sarai","Sarina","Sasha","Saul","Savanah","Savanna","Savannah","Savion","Scarlett","Schuyler","Scot","Scottie","Scotty","Seamus","Sean","Sebastian","Sedrick","Selena","Selina","Selmer","Serena","Serenity","Seth","Shad","Shaina","Shakira","Shana","Shane","Shanel","Shanelle","Shania","Shanie","Shaniya","Shanna","Shannon","Shanny","Shanon","Shany","Sharon","Shaun","Shawn","Shawna","Shaylee","Shayna","Shayne","Shea","Sheila","Sheldon","Shemar","Sheridan","Sherman","Sherwood","Shirley","Shyann","Shyanne","Sibyl","Sid","Sidney","Sienna","Sierra","Sigmund","Sigrid","Sigurd","Silas","Sim","Simeon","Simone","Sincere","Sister","Skye","Skyla","Skylar","Sofia","Soledad","Solon","Sonia","Sonny","Sonya","Sophia","Sophie","Spencer","Stacey","Stacy","Stan","Stanford","Stanley","Stanton","Stefan","Stefanie","Stella","Stephan","Stephania","Stephanie","Stephany","Stephen","Stephon","Sterling","Steve","Stevie","Stewart","Stone","Stuart","Summer","Sunny","Susan","Susana","Susanna","Susie","Suzanne","Sven","Syble","Sydnee","Sydney","Sydni","Sydnie","Sylvan","Sylvester","Sylvia","Tabitha","Tad","Talia","Talon","Tamara","Tamia","Tania","Tanner","Tanya","Tara","Taryn","Tate","Tatum","Tatyana","Taurean","Tavares","Taya","Taylor","Teagan","Ted","Telly","Terence","Teresa","Terrance","Terrell","Terrence","Terrill","Terry","Tess","Tessie","Tevin","Thad","Thaddeus","Thalia","Thea","Thelma","Theo","Theodora","Theodore","Theresa","Therese","Theresia","Theron","Thomas","Thora","Thurman","Tia","Tiana","Tianna","Tiara","Tierra","Tiffany","Tillman","Timmothy","Timmy","Timothy","Tina","Tito","Titus","Tobin","Toby","Tod","Tom","Tomas","Tomasa","Tommie","Toney","Toni","Tony","Torey","Torrance","Torrey","Toy","Trace","Tracey","Tracy","Travis","Travon","Tre","Tremaine","Tremayne","Trent","Trenton","Tressa","Tressie","Treva","Trever","Trevion","Trevor","Trey","Trinity","Trisha","Tristian","Tristin","Triston","Troy","Trudie","Trycia","Trystan","Turner","Twila","Tyler","Tyra","Tyree","Tyreek","Tyrel","Tyrell","Tyrese","Tyrique","Tyshawn","Tyson","Ubaldo","Ulices","Ulises","Una","Unique","Urban","Uriah","Uriel","Ursula","Vada","Valentin","Valentina","Valentine","Valerie","Vallie","Van","Vance","Vanessa","Vaughn","Veda","Velda","Vella","Velma","Velva","Vena","Verda","Verdie","Vergie","Verla","Verlie","Vern","Verna","Verner","Vernice","Vernie","Vernon","Verona","Veronica","Vesta","Vicenta","Vicente","Vickie","Vicky","Victor","Victoria","Vida","Vidal","Vilma","Vince","Vincent","Vincenza","Vincenzo","Vinnie","Viola","Violet","Violette","Virgie","Virgil","Virginia","Virginie","Vita","Vito","Viva","Vivian","Viviane","Vivianne","Vivien","Vivienne","Vladimir","Wade","Waino","Waldo","Walker","Wallace","Walter","Walton","Wanda","Ward","Warren","Watson","Wava","Waylon","Wayne","Webster","Weldon","Wellington","Wendell","Wendy","Werner","Westley","Weston","Whitney","Wilber","Wilbert","Wilburn","Wiley","Wilford","Wilfred","Wilfredo","Wilfrid","Wilhelm","Wilhelmine","Will","Willa","Willard","William","Willie","Willis","Willow","Willy","Wilma","Wilmer","Wilson","Wilton","Winfield","Winifred","Winnifred","Winona","Winston","Woodrow","Wyatt","Wyman","Xander","Xavier","Xzavier","Yadira","Yasmeen","Yasmin","Yasmine","Yazmin","Yesenia","Yessenia","Yolanda","Yoshiko","Yvette","Yvonne","Zachariah","Zachary","Zachery","Zack","Zackary","Zackery","Zakary","Zander","Zane","Zaria","Zechariah","Zelda","Zella","Zelma","Zena","Zetta","Zion","Zita","Zoe","Zoey","Zoie","Zoila","Zola","Zora","Zula"],w4t=["Agender","Androgyne","Androgynous","Bigender","Cis female","Cis male","Cis man","Cis woman","Cis","Cisgender female","Cisgender male","Cisgender man","Cisgender woman","Cisgender","Demi-boy","Demi-girl","Demi-man","Demi-woman","Demiflux","Demigender","F2M","FTM","Female to male trans man","Female to male transgender man","Female to male transsexual man","Female to male","Gender fluid","Gender neutral","Gender nonconforming","Gender questioning","Gender variant","Genderflux","Genderqueer","Hermaphrodite","Intersex man","Intersex person","Intersex woman","Intersex","M2F","MTF","Male to female trans woman","Male to female transgender woman","Male to female transsexual woman","Male to female","Man","Multigender","Neither","Neutrois","Non-binary","Omnigender","Other","Pangender","Polygender","T* man","T* woman","Trans female","Trans male","Trans man","Trans person","Trans woman","Trans","Transexual female","Transexual male","Transexual man","Transexual person","Transexual woman","Transexual","Transgender female","Transgender person","Transmasculine","Trigender","Two* person","Two-spirit person","Two-spirit","Woman","Xenogender"],x4t=["{{person.jobDescriptor}} {{person.jobArea}} {{person.jobType}}"],_4t=["Abbott","Abernathy","Abshire","Adams","Altenwerth","Anderson","Ankunding","Armstrong","Auer","Aufderhar","Bahringer","Bailey","Balistreri","Barrows","Bartell","Bartoletti","Barton","Bashirian","Batz","Bauch","Baumbach","Bayer","Beahan","Beatty","Bechtelar","Becker","Bednar","Beer","Beier","Berge","Bergnaum","Bergstrom","Bernhard","Bernier","Bins","Blanda","Blick","Block","Bode","Boehm","Bogan","Bogisich","Borer","Bosco","Botsford","Boyer","Boyle","Bradtke","Brakus","Braun","Breitenberg","Brekke","Brown","Bruen","Buckridge","Carroll","Carter","Cartwright","Casper","Cassin","Champlin","Christiansen","Cole","Collier","Collins","Conn","Connelly","Conroy","Considine","Corkery","Cormier","Corwin","Cremin","Crist","Crona","Cronin","Crooks","Cruickshank","Cummerata","Cummings","Dach","D'Amore","Daniel","Dare","Daugherty","Davis","Deckow","Denesik","Dibbert","Dickens","Dicki","Dickinson","Dietrich","Donnelly","Dooley","Douglas","Doyle","DuBuque","Durgan","Ebert","Effertz","Emard","Emmerich","Erdman","Ernser","Fadel","Fahey","Farrell","Fay","Feeney","Feest","Feil","Ferry","Fisher","Flatley","Frami","Franecki","Franey","Friesen","Fritsch","Funk","Gerhold","Gerlach","Gibson","Gislason","Gleason","Gleichner","Glover","Goldner","Goodwin","Gorczany","Gottlieb","Goyette","Grady","Graham","Grant","Green","Greenfelder","Greenholt","Grimes","Gulgowski","Gusikowski","Gutkowski","Gutmann","Haag","Hackett","Hagenes","Hahn","Haley","Halvorson","Hamill","Hammes","Hand","Hane","Hansen","Harber","Harris","Hartmann","Harvey","Hauck","Hayes","Heaney","Heathcote","Hegmann","Heidenreich","Heller","Herman","Hermann","Hermiston","Herzog","Hessel","Hettinger","Hickle","Hilll","Hills","Hilpert","Hintz","Hirthe","Hodkiewicz","Hoeger","Homenick","Hoppe","Howe","Howell","Hudson","Huel","Huels","Hyatt","Jacobi","Jacobs","Jacobson","Jakubowski","Jaskolski","Jast","Jenkins","Jerde","Johns","Johnson","Johnston","Jones","Kassulke","Kautzer","Keebler","Keeling","Kemmer","Kerluke","Kertzmann","Kessler","Kiehn","Kihn","Kilback","King","Kirlin","Klein","Kling","Klocko","Koch","Koelpin","Koepp","Kohler","Konopelski","Koss","Kovacek","Kozey","Krajcik","Kreiger","Kris","Kshlerin","Kub","Kuhic","Kuhlman","Kuhn","Kulas","Kunde","Kunze","Kuphal","Kutch","Kuvalis","Labadie","Lakin","Lang","Langosh","Langworth","Larkin","Larson","Leannon","Lebsack","Ledner","Leffler","Legros","Lehner","Lemke","Lesch","Leuschke","Lind","Lindgren","Littel","Little","Lockman","Lowe","Lubowitz","Lueilwitz","Luettgen","Lynch","Macejkovic","MacGyver","Maggio","Mann","Mante","Marks","Marquardt","Marvin","Mayer","Mayert","McClure","McCullough","McDermott","McGlynn","McKenzie","McLaughlin","Medhurst","Mertz","Metz","Miller","Mills","Mitchell","Moen","Mohr","Monahan","Moore","Morar","Morissette","Mosciski","Mraz","Mueller","Muller","Murazik","Murphy","Murray","Nader","Nicolas","Nienow","Nikolaus","Nitzsche","Nolan","Oberbrunner","O'Connell","O'Conner","O'Hara","O'Keefe","O'Kon","Okuneva","Olson","Ondricka","O'Reilly","Orn","Ortiz","Osinski","Pacocha","Padberg","Pagac","Parisian","Parker","Paucek","Pfannerstill","Pfeffer","Pollich","Pouros","Powlowski","Predovic","Price","Prohaska","Prosacco","Purdy","Quigley","Quitzon","Rath","Ratke","Rau","Raynor","Reichel","Reichert","Reilly","Reinger","Rempel","Renner","Reynolds","Rice","Rippin","Ritchie","Robel","Roberts","Rodriguez","Rogahn","Rohan","Rolfson","Romaguera","Roob","Rosenbaum","Rowe","Ruecker","Runolfsdottir","Runolfsson","Runte","Russel","Rutherford","Ryan","Sanford","Satterfield","Sauer","Sawayn","Schaden","Schaefer","Schamberger","Schiller","Schimmel","Schinner","Schmeler","Schmidt","Schmitt","Schneider","Schoen","Schowalter","Schroeder","Schulist","Schultz","Schumm","Schuppe","Schuster","Senger","Shanahan","Shields","Simonis","Sipes","Skiles","Smith","Smitham","Spencer","Spinka","Sporer","Stamm","Stanton","Stark","Stehr","Steuber","Stiedemann","Stokes","Stoltenberg","Stracke","Streich","Stroman","Strosin","Swaniawski","Swift","Terry","Thiel","Thompson","Tillman","Torp","Torphy","Towne","Toy","Trantow","Tremblay","Treutel","Tromp","Turcotte","Turner","Ullrich","Upton","Vandervort","Veum","Volkman","Von","VonRueden","Waelchi","Walker","Walsh","Walter","Ward","Waters","Watsica","Weber","Wehner","Weimann","Weissnat","Welch","West","White","Wiegand","Wilderman","Wilkinson","Will","Williamson","Willms","Windler","Wintheiser","Wisoky","Wisozk","Witting","Wiza","Wolf","Wolff","Wuckert","Wunsch","Wyman","Yost","Yundt","Zboncak","Zemlak","Ziemann","Zieme","Zulauf"],L4t=[{value:"{{person.last_name}}",weight:95},{value:"{{person.last_name}}-{{person.last_name}}",weight:5}],I4t=["James","John","Robert","Michael","William","David","Richard","Charles","Joseph","Thomas","Christopher","Daniel","Paul","Mark","Donald","George","Kenneth","Steven","Edward","Brian","Ronald","Anthony","Kevin","Jason","Matthew","Gary","Timothy","Jose","Larry","Jeffrey","Frank","Scott","Eric","Stephen","Andrew","Raymond","Gregory","Joshua","Jerry","Dennis","Walter","Patrick","Peter","Harold","Douglas","Henry","Carl","Arthur","Ryan","Roger","Joe","Juan","Jack","Albert","Jonathan","Justin","Terry","Gerald","Keith","Samuel","Willie","Ralph","Lawrence","Nicholas","Roy","Benjamin","Bruce","Brandon","Adam","Harry","Fred","Wayne","Billy","Steve","Louis","Jeremy","Aaron","Randy","Howard","Eugene","Carlos","Russell","Bobby","Victor","Martin","Ernest","Phillip","Todd","Jesse","Craig","Alan","Shawn","Clarence","Sean","Philip","Chris","Johnny","Earl","Jimmy","Antonio","Danny","Bryan","Tony","Luis","Mike","Stanley","Leonard","Nathan","Dale","Manuel","Rodney","Curtis","Norman","Allen","Marvin","Vincent","Glenn","Jeffery","Travis","Jeff","Chad","Jacob","Lee","Melvin","Alfred","Kyle","Francis","Bradley","Jesus","Herbert","Frederick","Ray","Joel","Edwin","Don","Eddie","Ricky","Troy","Randall","Barry","Alexander","Bernard","Mario","Leroy","Francisco","Marcus","Micheal","Theodore","Clifford","Miguel","Oscar","Jay","Jim","Tom","Calvin","Alex","Jon","Ronnie","Bill","Lloyd","Tommy","Leon","Derek","Warren","Darrell","Jerome","Floyd","Leo","Alvin","Tim","Wesley","Gordon","Dean","Greg","Jorge","Dustin","Pedro","Derrick","Dan","Lewis","Zachary","Corey","Herman","Maurice","Vernon","Roberto","Clyde","Glen","Hector","Shane","Ricardo","Sam","Rick","Lester","Brent","Ramon","Charlie","Tyler","Gilbert","Gene","Marc","Reginald","Ruben","Brett","Angel","Nathaniel","Rafael","Leslie","Edgar","Milton","Raul","Ben","Chester","Cecil","Duane","Franklin","Andre","Elmer","Brad","Gabriel","Ron","Mitchell","Roland","Arnold","Harvey","Jared","Adrian","Karl","Cory","Claude","Erik","Darryl","Jamie","Neil","Jessie","Christian","Javier","Fernando","Clinton","Ted","Mathew","Tyrone","Darren","Lonnie","Lance","Cody","Julio","Kelly","Kurt","Allan","Nelson","Guy","Clayton","Hugh","Max","Dwayne","Dwight","Armando","Felix","Jimmie","Everett","Jordan","Ian","Wallace","Ken","Bob","Jaime","Casey","Alfredo","Alberto","Dave","Ivan","Johnnie","Sidney","Byron","Julian","Isaac","Morris","Clifton","Willard","Daryl","Ross","Virgil","Andy","Marshall","Salvador","Perry","Kirk","Sergio","Marion","Tracy","Seth","Kent","Terrance","Rene","Eduardo","Terrence","Enrique","Freddie","Wade","Austin","Stuart","Fredrick","Arturo","Alejandro","Jackie","Joey","Nick","Luther","Wendell","Jeremiah","Evan","Julius","Dana","Donnie","Otis","Shannon","Trevor","Oliver","Luke","Homer","Gerard","Doug","Kenny","Hubert","Angelo","Shaun","Lyle","Matt","Lynn","Alfonso","Orlando","Rex","Carlton","Ernesto","Cameron","Neal","Pablo","Lorenzo","Omar","Wilbur","Blake","Grant","Horace","Roderick","Kerry","Abraham","Willis","Rickey","Jean","Ira","Andres","Cesar","Johnathan","Malcolm","Rudolph","Damon","Kelvin","Rudy","Preston","Alton","Archie","Marco","Wm","Pete","Randolph","Garry","Geoffrey","Jonathon","Felipe","Bennie","Gerardo","Ed","Dominic","Robin","Loren","Delbert","Colin","Guillermo","Earnest","Lucas","Benny","Noel","Spencer","Rodolfo","Myron","Edmund","Garrett","Salvatore","Cedric","Lowell","Gregg","Sherman","Wilson","Devin","Sylvester","Kim","Roosevelt","Israel","Jermaine","Forrest","Wilbert","Leland","Simon","Guadalupe","Clark","Irving","Carroll","Bryant","Owen","Rufus","Woodrow","Sammy","Kristopher","Mack","Levi","Marcos","Gustavo","Jake","Lionel","Marty","Taylor","Ellis","Dallas","Gilberto","Clint","Nicolas","Laurence","Ismael","Orville","Drew","Jody","Ervin","Dewey","Al","Wilfred","Josh","Hugo","Ignacio","Caleb","Tomas","Sheldon","Erick","Frankie","Stewart","Doyle","Darrel","Rogelio","Terence","Santiago","Alonzo","Elias","Bert","Elbert","Ramiro","Conrad","Pat","Noah","Grady","Phil","Cornelius","Lamar","Rolando","Clay","Percy","Dexter","Bradford","Merle","Darin","Amos","Terrell","Moses","Irvin","Saul","Roman","Darnell","Randal","Tommie","Timmy","Darrin","Winston","Brendan","Toby","Van","Abel","Dominick","Boyd","Courtney","Jan","Emilio","Elijah","Cary","Domingo","Santos","Aubrey","Emmett","Marlon","Emanuel","Jerald","Edmond"],F4t=["Ace","Aiden","Alexander","Ander","Anthony","Asher","August","Aziel","Bear","Beckham","Benjamin","Buddy","Calvin","Carter","Charles","Christopher","Clyde","Cooper","Daniel","David","Dior","Dylan","Elijah","Ellis","Emerson","Ethan","Ezra","Fletcher","Flynn","Gabriel","Grayson","Gus","Hank","Harrison","Hendrix","Henry","Houston","Hudson","Hugh","Isaac","Jack","Jackson","Jacob","Jakobe","James","Jaxon","Jaxtyn","Jayden","John","Joseph","Josiah","Jude","Julian","Karsyn","Kenji","Kobe","Kylo","Lennon","Leo","Levi","Liam","Lincoln","Logan","Louis","Lucas","Lucky","Luke","Mason","Mateo","Matthew","Maverick","Michael","Monroe","Nixon","Ocean","Oliver","Otis","Otto","Owen","Ozzy","Parker","Rocky","Samuel","Sebastian","Sonny","Teddy","Theo","Theodore","Thomas","Truett","Walter","Warren","Watson","William","Wison","Wyatt","Ziggy","Zyair"],fDe=["Mr.","Dr."],D4t=["Addison","Alex","Anderson","Angel","Arden","August","Austin","Avery","Bailey","Billie","Blake","Bowie","Brooklyn","Cameron","Charlie","Corey","Dakota","Drew","Elliott","Ellis","Emerson","Finley","Gray","Greer","Harper","Hayden","Jaden","James","Jamie","Jordan","Jules","Kai","Kendall","Kennedy","Kyle","Leslie","Logan","London","Marlowe","Micah","Nico","Noah","North","Parker","Phoenix","Quinn","Reagan","Reese","Reign","Riley","River","Robin","Rory","Rowan","Ryan","Sage","Sasha","Sawyer","Shawn","Shiloh","Skyler","Taylor"],N4t=[{value:"{{person.firstName}} {{person.lastName}}",weight:49},{value:"{{person.prefix}} {{person.firstName}} {{person.lastName}}",weight:7},{value:"{{person.firstName}} {{person.lastName}} {{person.suffix}}",weight:7},{value:"{{person.prefix}} {{person.firstName}} {{person.lastName}} {{person.suffix}}",weight:1}];function M4t(...n){return[...new Set(n.flat())].sort()}var k4t=M4t(mDe,fDe),T4t=["female","male"],E4t=["Jr.","Sr.","I","II","III","IV","V","MD","DDS","PhD","DVM"],R4t={descriptor:["Lead","Senior","Direct","Corporate","Dynamic","Future","Product","National","Regional","District","Central","Global","Customer","Investor","International","Legacy","Forward","Internal","Human","Chief","Principal"],level:["Solutions","Program","Brand","Security","Research","Marketing","Directives","Implementation","Integration","Functionality","Response","Paradigm","Tactics","Identity","Markets","Group","Division","Applications","Optimization","Operations","Infrastructure","Intranet","Communications","Web","Branding","Quality","Assurance","Mobility","Accounts","Data","Creative","Configuration","Accountability","Interactions","Factors","Usability","Metrics"],job:["Supervisor","Associate","Executive","Liaison","Officer","Manager","Engineer","Specialist","Director","Coordinator","Administrator","Architect","Analyst","Designer","Planner","Orchestrator","Technician","Developer","Producer","Consultant","Assistant","Facilitator","Agent","Representative","Strategist"]},Z4t=["Aquarius","Pisces","Aries","Taurus","Gemini","Cancer","Leo","Virgo","Libra","Scorpio","Sagittarius","Capricorn"],W4t={bio_part:p4t,bio_pattern:b4t,bio_supporter:y4t,female_first_name:v4t,female_middle_name:C4t,female_prefix:mDe,first_name:S4t,gender:w4t,job_title_pattern:x4t,last_name:_4t,last_name_pattern:L4t,male_first_name:I4t,male_middle_name:F4t,male_prefix:fDe,middle_name:D4t,name:N4t,prefix:k4t,sex:T4t,suffix:E4t,title:R4t,western_zodiac_sign:Z4t},A4t=W4t,V4t=["!##-!##-####","(!##) !##-####","1-!##-!##-####","!##.!##.####","!##-!##-#### x###","(!##) !##-#### x###","1-!##-!##-#### x###","!##.!##.#### x###","!##-!##-#### x####","(!##) !##-#### x####","1-!##-!##-#### x####","!##.!##.#### x####","!##-!##-#### x#####","(!##) !##-#### x#####","1-!##-!##-#### x#####","!##.!##.#### x#####"],G4t={formats:V4t},X4t=G4t,P4t=Object.freeze([{symbol:"H",name:"Hydrogen",atomicNumber:1},{symbol:"He",name:"Helium",atomicNumber:2},{symbol:"Li",name:"Lithium",atomicNumber:3},{symbol:"Be",name:"Beryllium",atomicNumber:4},{symbol:"B",name:"Boron",atomicNumber:5},{symbol:"C",name:"Carbon",atomicNumber:6},{symbol:"N",name:"Nitrogen",atomicNumber:7},{symbol:"O",name:"Oxygen",atomicNumber:8},{symbol:"F",name:"Fluorine",atomicNumber:9},{symbol:"Ne",name:"Neon",atomicNumber:10},{symbol:"Na",name:"Sodium",atomicNumber:11},{symbol:"Mg",name:"Magnesium",atomicNumber:12},{symbol:"Al",name:"Aluminium",atomicNumber:13},{symbol:"Si",name:"Silicon",atomicNumber:14},{symbol:"P",name:"Phosphorus",atomicNumber:15},{symbol:"S",name:"Sulfur",atomicNumber:16},{symbol:"Cl",name:"Chlorine",atomicNumber:17},{symbol:"Ar",name:"Argon",atomicNumber:18},{symbol:"K",name:"Potassium",atomicNumber:19},{symbol:"Ca",name:"Calcium",atomicNumber:20},{symbol:"Sc",name:"Scandium",atomicNumber:21},{symbol:"Ti",name:"Titanium",atomicNumber:22},{symbol:"V",name:"Vanadium",atomicNumber:23},{symbol:"Cr",name:"Chromium",atomicNumber:24},{symbol:"Mn",name:"Manganese",atomicNumber:25},{symbol:"Fe",name:"Iron",atomicNumber:26},{symbol:"Co",name:"Cobalt",atomicNumber:27},{symbol:"Ni",name:"Nickel",atomicNumber:28},{symbol:"Cu",name:"Copper",atomicNumber:29},{symbol:"Zn",name:"Zinc",atomicNumber:30},{symbol:"Ga",name:"Gallium",atomicNumber:31},{symbol:"Ge",name:"Germanium",atomicNumber:32},{symbol:"As",name:"Arsenic",atomicNumber:33},{symbol:"Se",name:"Selenium",atomicNumber:34},{symbol:"Br",name:"Bromine",atomicNumber:35},{symbol:"Kr",name:"Krypton",atomicNumber:36},{symbol:"Rb",name:"Rubidium",atomicNumber:37},{symbol:"Sr",name:"Strontium",atomicNumber:38},{symbol:"Y",name:"Yttrium",atomicNumber:39},{symbol:"Zr",name:"Zirconium",atomicNumber:40},{symbol:"Nb",name:"Niobium",atomicNumber:41},{symbol:"Mo",name:"Molybdenum",atomicNumber:42},{symbol:"Tc",name:"Technetium",atomicNumber:43},{symbol:"Ru",name:"Ruthenium",atomicNumber:44},{symbol:"Rh",name:"Rhodium",atomicNumber:45},{symbol:"Pd",name:"Palladium",atomicNumber:46},{symbol:"Ag",name:"Silver",atomicNumber:47},{symbol:"Cd",name:"Cadmium",atomicNumber:48},{symbol:"In",name:"Indium",atomicNumber:49},{symbol:"Sn",name:"Tin",atomicNumber:50},{symbol:"Sb",name:"Antimony",atomicNumber:51},{symbol:"Te",name:"Tellurium",atomicNumber:52},{symbol:"I",name:"Iodine",atomicNumber:53},{symbol:"Xe",name:"Xenon",atomicNumber:54},{symbol:"Cs",name:"Caesium",atomicNumber:55},{symbol:"Ba",name:"Barium",atomicNumber:56},{symbol:"La",name:"Lanthanum",atomicNumber:57},{symbol:"Ce",name:"Cerium",atomicNumber:58},{symbol:"Pr",name:"Praseodymium",atomicNumber:59},{symbol:"Nd",name:"Neodymium",atomicNumber:60},{symbol:"Pm",name:"Promethium",atomicNumber:61},{symbol:"Sm",name:"Samarium",atomicNumber:62},{symbol:"Eu",name:"Europium",atomicNumber:63},{symbol:"Gd",name:"Gadolinium",atomicNumber:64},{symbol:"Tb",name:"Terbium",atomicNumber:65},{symbol:"Dy",name:"Dysprosium",atomicNumber:66},{symbol:"Ho",name:"Holmium",atomicNumber:67},{symbol:"Er",name:"Erbium",atomicNumber:68},{symbol:"Tm",name:"Thulium",atomicNumber:69},{symbol:"Yb",name:"Ytterbium",atomicNumber:70},{symbol:"Lu",name:"Lutetium",atomicNumber:71},{symbol:"Hf",name:"Hafnium",atomicNumber:72},{symbol:"Ta",name:"Tantalum",atomicNumber:73},{symbol:"W",name:"Tungsten",atomicNumber:74},{symbol:"Re",name:"Rhenium",atomicNumber:75},{symbol:"Os",name:"Osmium",atomicNumber:76},{symbol:"Ir",name:"Iridium",atomicNumber:77},{symbol:"Pt",name:"Platinum",atomicNumber:78},{symbol:"Au",name:"Gold",atomicNumber:79},{symbol:"Hg",name:"Mercury",atomicNumber:80},{symbol:"Tl",name:"Thallium",atomicNumber:81},{symbol:"Pb",name:"Lead",atomicNumber:82},{symbol:"Bi",name:"Bismuth",atomicNumber:83},{symbol:"Po",name:"Polonium",atomicNumber:84},{symbol:"At",name:"Astatine",atomicNumber:85},{symbol:"Rn",name:"Radon",atomicNumber:86},{symbol:"Fr",name:"Francium",atomicNumber:87},{symbol:"Ra",name:"Radium",atomicNumber:88},{symbol:"Ac",name:"Actinium",atomicNumber:89},{symbol:"Th",name:"Thorium",atomicNumber:90},{symbol:"Pa",name:"Protactinium",atomicNumber:91},{symbol:"U",name:"Uranium",atomicNumber:92},{symbol:"Np",name:"Neptunium",atomicNumber:93},{symbol:"Pu",name:"Plutonium",atomicNumber:94},{symbol:"Am",name:"Americium",atomicNumber:95},{symbol:"Cm",name:"Curium",atomicNumber:96},{symbol:"Bk",name:"Berkelium",atomicNumber:97},{symbol:"Cf",name:"Californium",atomicNumber:98},{symbol:"Es",name:"Einsteinium",atomicNumber:99},{symbol:"Fm",name:"Fermium",atomicNumber:100},{symbol:"Md",name:"Mendelevium",atomicNumber:101},{symbol:"No",name:"Nobelium",atomicNumber:102},{symbol:"Lr",name:"Lawrencium",atomicNumber:103},{symbol:"Rf",name:"Rutherfordium",atomicNumber:104},{symbol:"Db",name:"Dubnium",atomicNumber:105},{symbol:"Sg",name:"Seaborgium",atomicNumber:106},{symbol:"Bh",name:"Bohrium",atomicNumber:107},{symbol:"Hs",name:"Hassium",atomicNumber:108},{symbol:"Mt",name:"Meitnerium",atomicNumber:109},{symbol:"Ds",name:"Darmstadtium",atomicNumber:110},{symbol:"Rg",name:"Roentgenium",atomicNumber:111},{symbol:"Cn",name:"Copernicium",atomicNumber:112},{symbol:"Nh",name:"Nihonium",atomicNumber:113},{symbol:"Fl",name:"Flerovium",atomicNumber:114},{symbol:"Mc",name:"Moscovium",atomicNumber:115},{symbol:"Lv",name:"Livermorium",atomicNumber:116},{symbol:"Ts",name:"Tennessine",atomicNumber:117},{symbol:"Og",name:"Oganesson",atomicNumber:118}]),O4t=Object.freeze([{name:"meter",symbol:"m"},{name:"second",symbol:"s"},{name:"mole",symbol:"mol"},{name:"ampere",symbol:"A"},{name:"kelvin",symbol:"K"},{name:"candela",symbol:"cd"},{name:"kilogram",symbol:"kg"},{name:"radian",symbol:"rad"},{name:"hertz",symbol:"Hz"},{name:"newton",symbol:"N"},{name:"pascal",symbol:"Pa"},{name:"joule",symbol:"J"},{name:"watt",symbol:"W"},{name:"coulomb",symbol:"C"},{name:"volt",symbol:"V"},{name:"ohm",symbol:"Ω"},{name:"tesla",symbol:"T"},{name:"degree Celsius",symbol:"°C"},{name:"lumen",symbol:"lm"},{name:"becquerel",symbol:"Bq"},{name:"gray",symbol:"Gy"},{name:"sievert",symbol:"Sv"},{name:"steradian",symbol:"sr"},{name:"farad",symbol:"F"},{name:"siemens",symbol:"S"},{name:"weber",symbol:"Wb"},{name:"henry",symbol:"H"},{name:"lux",symbol:"lx"},{name:"katal",symbol:"kat"}]),B4t={chemicalElement:P4t,unit:O4t},z4t=B4t,H4t=["ants","bats","bears","bees","birds","buffalo","cats","chickens","cattle","dogs","dolphins","ducks","elephants","fishes","foxes","frogs","geese","goats","horses","kangaroos","lions","monkeys","owls","oxen","penguins","people","pigs","rabbits","sheep","tigers","whales","wolves","zebras","banshees","crows","black cats","chimeras","ghosts","conspirators","dragons","dwarves","elves","enchanters","exorcists","sons","foes","giants","gnomes","goblins","gooses","griffins","lycanthropes","nemesis","ogres","oracles","prophets","sorcerors","spiders","spirits","vampires","warlocks","vixens","werewolves","witches","worshipers","zombies","druids"],Y4t=["{{location.state}} {{team.creature}}"],U4t={creature:H4t,name:Y4t},K4t=U4t,J4t=["Adventure Road Bicycle","BMX Bicycle","City Bicycle","Cruiser Bicycle","Cyclocross Bicycle","Dual-Sport Bicycle","Fitness Bicycle","Flat-Foot Comfort Bicycle","Folding Bicycle","Hybrid Bicycle","Mountain Bicycle","Recumbent Bicycle","Road Bicycle","Tandem Bicycle","Touring Bicycle","Track/Fixed-Gear Bicycle","Triathlon/Time Trial Bicycle","Tricycle"],j4t=["Diesel","Electric","Gasoline","Hybrid"],Q4t=["Aston Martin","Audi","Bentley","BMW","Bugatti","Cadillac","Chevrolet","Chrysler","Dodge","Ferrari","Fiat","Ford","Honda","Hyundai","Jaguar","Jeep","Kia","Lamborghini","Land Rover","Maserati","Mazda","Mercedes Benz","Mini","Nissan","Polestar","Porsche","Rolls Royce","Smart","Tesla","Toyota","Volkswagen","Volvo"],$4t=["Fiesta","Focus","Taurus","Mustang","Explorer","Expedition","F-150","Model T","Ranchero","Volt","Cruze","Malibu","Impala","Camaro","Corvette","Colorado","Silverado","El Camino","CTS","XTS","ATS","Escalade","Alpine","Charger","LeBaron","PT Cruiser","Challenger","Durango","Grand Caravan","Wrangler","Grand Cherokee","Roadster","Model S","Model 3","Model X","Model Y","Camry","Prius","Land Cruiser","Accord","Civic","Element","Sentra","Altima","A8","A4","Beetle","Jetta","Golf","911","Spyder","Countach","Mercielago","Aventador","1","2","Fortwo","V90","XC90","CX-9"],q4t=["Cargo Van","Convertible","Coupe","Crew Cab Pickup","Extended Cab Pickup","Hatchback","Minivan","Passenger Van","SUV","Sedan","Wagon"],ePt={bicycle_type:J4t,fuel:j4t,manufacturer:Q4t,model:$4t,type:q4t},tPt=ePt,nPt=["abandoned","able","absolute","adorable","adventurous","academic","acceptable","acclaimed","accomplished","accurate","aching","acidic","acrobatic","active","actual","adept","admirable","admired","adolescent","adored","advanced","afraid","affectionate","aged","aggravating","aggressive","agile","agitated","agonizing","agreeable","ajar","alarmed","alarming","alert","alienated","alive","all","altruistic","amazing","ambitious","ample","amused","amusing","anchored","ancient","angelic","angry","anguished","animated","annual","another","antique","anxious","any","apprehensive","appropriate","apt","arctic","arid","aromatic","artistic","ashamed","assured","astonishing","athletic","attached","attentive","attractive","austere","authentic","authorized","automatic","avaricious","average","aware","awesome","awful","awkward","babyish","bad","back","baggy","bare","barren","basic","beautiful","belated","beloved","beneficial","better","best","bewitched","big","big-hearted","biodegradable","bite-sized","bitter","black","black-and-white","bland","blank","blaring","bleak","blind","blissful","blond","blue","blushing","bogus","boiling","bold","bony","boring","bossy","both","bouncy","bountiful","bowed","brave","breakable","brief","bright","brilliant","brisk","broken","bronze","brown","bruised","bubbly","bulky","bumpy","buoyant","burdensome","burly","bustling","busy","buttery","buzzing","calculating","calm","candid","canine","capital","carefree","careful","careless","caring","cautious","cavernous","celebrated","charming","cheap","cheerful","cheery","chief","chilly","chubby","circular","classic","clean","clear","clear-cut","clever","close","closed","cloudy","clueless","clumsy","cluttered","coarse","cold","colorful","colorless","colossal","comfortable","common","compassionate","competent","complete","complex","complicated","composed","concerned","concrete","confused","conscious","considerate","constant","content","conventional","cooked","cool","cooperative","coordinated","corny","corrupt","costly","courageous","courteous","crafty","crazy","creamy","creative","creepy","criminal","crisp","critical","crooked","crowded","cruel","crushing","cuddly","cultivated","cultured","cumbersome","curly","curvy","cute","cylindrical","damaged","damp","dangerous","dapper","daring","darling","dark","dazzling","dead","deadly","deafening","dear","dearest","decent","decimal","decisive","deep","defenseless","defensive","defiant","deficient","definite","definitive","delayed","delectable","delicious","delightful","delirious","demanding","dense","dental","dependable","dependent","descriptive","deserted","detailed","determined","devoted","different","difficult","digital","diligent","dim","dimpled","direct","disastrous","discrete","disgusting","disloyal","dismal","distant","downright","dreary","dirty","disguised","dishonest","distinct","distorted","dizzy","doting","double","drab","drafty","dramatic","droopy","dry","dual","dull","dutiful","each","eager","earnest","early","easy","easy-going","ecstatic","edible","educated","elaborate","elastic","elated","elderly","electric","elegant","elementary","elliptical","embarrassed","embellished","eminent","emotional","empty","enchanted","enchanting","energetic","enlightened","enormous","enraged","entire","envious","equal","equatorial","essential","esteemed","ethical","euphoric","even","evergreen","everlasting","every","evil","exalted","excellent","exemplary","exhausted","excitable","excited","exciting","exotic","expensive","experienced","expert","extraneous","extroverted","extra-large","extra-small","fabulous","failing","faint","fair","faithful","fake","false","familiar","famous","fancy","fantastic","far","faraway","far-flung","far-off","fast","fat","fatal","fatherly","favorable","favorite","fearful","fearless","feisty","feline","female","feminine","few","fickle","filthy","fine","finished","firm","first","firsthand","fitting","fixed","flaky","flamboyant","flashy","flat","flawed","flawless","flickering","flimsy","flippant","flowery","fluffy","fluid","flustered","focused","fond","foolhardy","foolish","forceful","forked","formal","forsaken","forthright","fortunate","fragrant","frail","frank","frayed","free","french","fresh","frequent","friendly","frightened","frightening","frigid","frilly","frizzy","frivolous","front","frosty","frozen","frugal","fruitful","full","fumbling","functional","funny","fussy","fuzzy","gargantuan","gaseous","general","generous","gentle","genuine","giant","giddy","gigantic","gifted","giving","glamorous","glaring","glass","gleaming","gleeful","glistening","glittering","gloomy","glorious","glossy","glum","golden","good","good-natured","gorgeous","graceful","gracious","grand","grandiose","granular","grateful","grave","gray","great","greedy","green","gregarious","grim","grimy","gripping","grizzled","grotesque","grouchy","grounded","growing","growling","grown","grubby","gruesome","grumpy","guilty","gullible","gummy","hairy","half","handmade","handsome","handy","happy","happy-go-lucky","hard","hard-to-find","harmful","harmless","harmonious","harsh","hasty","hateful","haunting","healthy","heartfelt","hearty","heavenly","heavy","hefty","helpful","helpless","hidden","hideous","high","high-level","hilarious","hoarse","hollow","homely","honest","honorable","honored","hopeful","horrible","hospitable","hot","huge","humble","humiliating","humming","humongous","hungry","hurtful","husky","icky","icy","ideal","idealistic","identical","idle","idolized","ignorant","ill","ill-fated","ill-informed","illiterate","illustrious","imaginary","imaginative","immaculate","immaterial","immediate","immense","impassioned","impeccable","impartial","imperfect","imperturbable","impish","impolite","important","impossible","impractical","impressionable","impressive","improbable","impure","inborn","incomparable","incompatible","incomplete","inconsequential","incredible","indelible","inexperienced","indolent","infamous","infantile","infatuated","inferior","infinite","informal","innocent","insecure","insidious","insignificant","insistent","instructive","insubstantial","intelligent","intent","intentional","interesting","internal","international","intrepid","ironclad","irresponsible","irritating","itchy","jaded","jagged","jam-packed","jaunty","jealous","jittery","joint","jolly","jovial","joyful","joyous","jubilant","judicious","juicy","jumbo","junior","jumpy","juvenile","kaleidoscopic","keen","key","kind","kindhearted","kindly","klutzy","knobby","knotty","knowledgeable","knowing","known","kooky","kosher","lanky","large","last","lasting","late","lavish","lawful","lazy","leading","lean","leafy","left","legal","legitimate","light","lighthearted","likable","likely","limited","limp","limping","linear","lined","liquid","little","live","lively","livid","loathsome","lone","lonely","long","long-term","loose","lopsided","lost","loud","lovable","lovely","loving","low","loyal","lucky","lumbering","luminous","lumpy","lustrous","luxurious","mad","made-up","magnificent","majestic","major","male","mammoth","married","marvelous","masculine","massive","mature","meager","mealy","mean","measly","meaty","medical","mediocre","medium","meek","mellow","melodic","memorable","menacing","merry","messy","metallic","mild","milky","mindless","miniature","minor","minty","miserable","miserly","misguided","misty","mixed","modern","modest","moist","monstrous","monthly","monumental","moral","mortified","motherly","motionless","mountainous","muddy","muffled","multicolored","mundane","murky","mushy","musty","muted","mysterious","naive","narrow","natural","naughty","nautical","near","neat","necessary","needy","negative","neglected","negligible","neighboring","nervous","new","next","nice","nifty","nimble","nippy","nocturnal","noisy","nonstop","normal","notable","noted","noteworthy","novel","noxious","numb","nutritious","nutty","obedient","oblong","oily","obvious","occasional","odd","oddball","offbeat","offensive","official","old","old-fashioned","only","open","optimal","optimistic","opulent","orange","orderly","organic","ornate","ornery","ordinary","original","other","our","outlying","outgoing","outlandish","outrageous","outstanding","oval","overcooked","overdue","overjoyed","overlooked","palatable","pale","paltry","parallel","parched","partial","passionate","past","pastel","peaceful","peppery","perfect","perfumed","periodic","perky","personal","pertinent","pesky","pessimistic","petty","phony","physical","piercing","pink","pitiful","plain","plaintive","plastic","playful","pleasant","pleased","pleasing","plump","plush","polished","polite","political","pointed","pointless","poised","poor","popular","portly","posh","positive","possible","potable","powerful","powerless","practical","precious","present","prestigious","pretty","previous","pricey","prickly","primary","prime","pristine","private","prize","probable","productive","profitable","profuse","proper","proud","prudent","punctual","pungent","puny","pure","purple","pushy","putrid","puzzled","puzzling","quaint","qualified","quarrelsome","quarterly","queasy","querulous","questionable","quick","quick-witted","quiet","quintessential","quirky","quixotic","quizzical","radiant","ragged","rapid","rare","rash","raw","recent","reckless","rectangular","ready","real","realistic","reasonable","red","reflecting","regal","regular","reliable","relieved","remarkable","remorseful","remote","repentant","required","respectful","responsible","repulsive","revolving","rewarding","rich","rigid","right","ringed","ripe","roasted","robust","rosy","rotating","rotten","rough","round","rowdy","royal","rubbery","rundown","ruddy","rude","runny","rural","rusty","sad","safe","salty","same","sandy","sane","sarcastic","sardonic","satisfied","scaly","scarce","scared","scary","scented","scholarly","scientific","scornful","scratchy","scrawny","second","secondary","second-hand","secret","self-assured","self-reliant","selfish","sentimental","separate","serene","serious","serpentine","several","severe","shabby","shadowy","shady","shallow","shameful","shameless","sharp","shimmering","shiny","shocked","shocking","shoddy","short","short-term","showy","shrill","shy","sick","silent","silky","silly","silver","similar","simple","simplistic","sinful","single","sizzling","skeletal","skinny","sleepy","slight","slim","slimy","slippery","slow","slushy","small","smart","smoggy","smooth","smug","snappy","snarling","sneaky","sniveling","snoopy","sociable","soft","soggy","solid","somber","some","spherical","sophisticated","sore","sorrowful","soulful","soupy","sour","spanish","sparkling","sparse","specific","spectacular","speedy","spicy","spiffy","spirited","spiteful","splendid","spotless","spotted","spry","square","squeaky","squiggly","stable","staid","stained","stale","standard","starchy","stark","starry","steep","sticky","stiff","stimulating","stingy","stormy","straight","strange","steel","strict","strident","striking","striped","strong","studious","stunning","stupendous","sturdy","stylish","subdued","submissive","substantial","subtle","suburban","sudden","sugary","sunny","super","superb","superficial","superior","supportive","sure-footed","surprised","suspicious","svelte","sweaty","sweet","sweltering","swift","sympathetic","tall","talkative","tame","tan","tangible","tart","tasty","tattered","taut","tedious","teeming","tempting","tender","tense","tepid","terrible","terrific","testy","thankful","that","these","thick","thin","third","thirsty","this","thorough","thorny","those","thoughtful","threadbare","thrifty","thunderous","tidy","tight","timely","tinted","tiny","tired","torn","total","tough","traumatic","treasured","tremendous","tragic","trained","triangular","tricky","trifling","trim","trivial","troubled","true","trusting","trustworthy","trusty","truthful","turbulent","twin","ugly","ultimate","unacceptable","unaware","uncomfortable","uncommon","unconscious","understated","unequaled","uneven","unfinished","unfit","unfolded","unfortunate","unhappy","unhealthy","uniform","unimportant","unique","united","unkempt","unknown","unlawful","unlined","unlucky","unnatural","unpleasant","unrealistic","unripe","unruly","unselfish","unsightly","unsteady","unsung","untidy","untimely","untried","untrue","unused","unusual","unwelcome","unwieldy","unwilling","unwitting","unwritten","upbeat","upright","upset","urban","usable","used","useful","useless","utilized","utter","vacant","vague","vain","valid","valuable","vapid","variable","vast","velvety","venerated","vengeful","verifiable","vibrant","vicious","victorious","vigilant","vigorous","villainous","violet","violent","virtual","virtuous","visible","vital","vivacious","vivid","voluminous","wan","warlike","warm","warmhearted","warped","wary","wasteful","watchful","waterlogged","watery","wavy","wealthy","weak","weary","webbed","wee","weekly","weepy","weighty","weird","welcome","well-documented","well-groomed","well-informed","well-lit","well-made","well-off","well-to-do","well-worn","wet","which","whimsical","whirlwind","whispered","white","whole","whopping","wicked","wide","wide-eyed","wiggly","wild","willing","wilted","winding","windy","winged","wiry","wise","witty","wobbly","woeful","wonderful","wooden","woozy","wordy","worldly","worn","worried","worrisome","worse","worst","worthless","worthwhile","worthy","wrathful","wretched","writhing","wrong","wry","yawning","yearly","yellow","yellowish","young","youthful","yummy","zany","zealous","zesty","zigzag"],iPt=["abnormally","absentmindedly","accidentally","acidly","actually","adventurously","afterwards","almost","always","angrily","annually","anxiously","arrogantly","awkwardly","badly","bashfully","beautifully","bitterly","bleakly","blindly","blissfully","boastfully","boldly","bravely","briefly","brightly","briskly","broadly","busily","calmly","carefully","carelessly","cautiously","certainly","cheerfully","clearly","cleverly","closely","coaxingly","colorfully","commonly","continually","coolly","correctly","courageously","crossly","cruelly","curiously","daily","daintily","dearly","deceivingly","deeply","defiantly","deliberately","delightfully","diligently","dimly","doubtfully","dreamily","easily","elegantly","energetically","enormously","enthusiastically","equally","especially","even","evenly","eventually","exactly","excitedly","extremely","fairly","faithfully","famously","far","fast","fatally","ferociously","fervently","fiercely","fondly","foolishly","fortunately","frankly","frantically","freely","frenetically","frightfully","fully","furiously","generally","generously","gently","gladly","gleefully","gracefully","gratefully","greatly","greedily","happily","hastily","healthily","heavily","helpfully","helplessly","highly","honestly","hopelessly","hourly","hungrily","immediately","innocently","inquisitively","instantly","intensely","intently","interestingly","inwardly","irritably","jaggedly","jealously","joshingly","jovially","joyfully","joyously","jubilantly","judgementally","justly","keenly","kiddingly","kindheartedly","kindly","kissingly","knavishly","knottily","knowingly","knowledgeably","kookily","lazily","less","lightly","likely","limply","lively","loftily","longingly","loosely","loudly","lovingly","loyally","madly","majestically","meaningfully","mechanically","merrily","miserably","mockingly","monthly","more","mortally","mostly","mysteriously","naturally","nearly","neatly","needily","nervously","never","nicely","noisily","not","obediently","obnoxiously","oddly","offensively","officially","often","only","openly","optimistically","overconfidently","owlishly","painfully","partially","patiently","perfectly","physically","playfully","politely","poorly","positively","potentially","powerfully","promptly","properly","punctually","quaintly","quarrelsomely","queasily","questionably","questioningly","quicker","quickly","quietly","quirkily","quizzically","rapidly","rarely","readily","really","reassuringly","recklessly","regularly","reluctantly","repeatedly","reproachfully","restfully","righteously","rightfully","rigidly","roughly","rudely","sadly","safely","scarcely","scarily","searchingly","sedately","seemingly","seldom","selfishly","separately","seriously","shakily","sharply","sheepishly","shrilly","shyly","silently","sleepily","slowly","smoothly","softly","solemnly","solidly","sometimes","soon","speedily","stealthily","sternly","strictly","successfully","suddenly","surprisingly","suspiciously","sweetly","swiftly","sympathetically","tenderly","tensely","terribly","thankfully","thoroughly","thoughtfully","tightly","tomorrow","too","tremendously","triumphantly","truly","truthfully","ultimately","unabashedly","unaccountably","unbearably","unethically","unexpectedly","unfortunately","unimpressively","unnaturally","unnecessarily","upbeat","upliftingly","upright","upside-down","upward","upwardly","urgently","usefully","uselessly","usually","utterly","vacantly","vaguely","vainly","valiantly","vastly","verbally","very","viciously","victoriously","violently","vivaciously","voluntarily","warmly","weakly","wearily","well","wetly","wholly","wildly","willfully","wisely","woefully","wonderfully","worriedly","wrongly","yawningly","yearly","yearningly","yesterday","yieldingly","youthfully"],rPt=["after","although","and","as","because","before","but","consequently","even","finally","for","furthermore","hence","how","however","if","inasmuch","incidentally","indeed","instead","lest","likewise","meanwhile","nor","now","once","or","provided","since","so","supposing","than","that","though","till","unless","until","what","when","whenever","where","whereas","wherever","whether","which","while","who","whoever","whose","why","yet"],oPt=["yuck","oh","phooey","blah","boo","whoa","yowza","huzzah","boohoo","fooey","geez","pfft","ew","ah","yum","brr","hm","yahoo","aha","woot","drat","gah","meh","psst","aw","ugh","yippee","eek","gee","bah","gadzooks","duh","ha","mmm","ouch","phew","ack","uh-huh","gosh","hmph","pish","zowie","er","ick","oof","um"],sPt=["ATM","CD","SUV","TV","aardvark","abacus","abbey","abbreviation","abdomen","ability","abnormality","abolishment","abrogation","absence","abundance","academics","academy","accelerant","accelerator","accent","acceptance","access","accessory","accident","accommodation","accompanist","accomplishment","accord","accordance","accordion","account","accountability","accountant","accounting","accuracy","accusation","acetate","achievement","achiever","acid","acknowledgment","acorn","acoustics","acquaintance","acquisition","acre","acrylic","act","action","activation","activist","activity","actor","actress","acupuncture","ad","adaptation","adapter","addiction","addition","address","adjective","adjustment","admin","administration","administrator","admire","admission","adobe","adoption","adrenalin","adrenaline","adult","adulthood","advance","advancement","advantage","advent","adverb","advertisement","advertising","advice","adviser","advocacy","advocate","affair","affect","affidavit","affiliate","affinity","afoul","afterlife","aftermath","afternoon","aftershave","aftershock","afterthought","age","agency","agenda","agent","aggradation","aggression","aglet","agony","agreement","agriculture","aid","aide","aim","air","airbag","airbus","aircraft","airfare","airfield","airforce","airline","airmail","airman","airplane","airport","airship","airspace","alarm","alb","albatross","album","alcohol","alcove","alder","ale","alert","alfalfa","algebra","algorithm","alias","alibi","alien","allegation","allergist","alley","alliance","alligator","allocation","allowance","alloy","alluvium","almanac","almighty","almond","alpaca","alpenglow","alpenhorn","alpha","alphabet","altar","alteration","alternative","altitude","alto","aluminium","aluminum","amazement","amazon","ambassador","amber","ambience","ambiguity","ambition","ambulance","amendment","amenity","ammunition","amnesty","amount","amusement","anagram","analgesia","analog","analogue","analogy","analysis","analyst","analytics","anarchist","anarchy","anatomy","ancestor","anchovy","android","anesthesiologist","anesthesiology","angel","anger","angina","angle","angora","angstrom","anguish","animal","anime","anise","ankle","anklet","anniversary","announcement","annual","anorak","answer","ant","anteater","antecedent","antechamber","antelope","antennae","anterior","anthropology","antibody","anticipation","anticodon","antigen","antique","antiquity","antler","antling","anxiety","anybody","anyone","anything","anywhere","apartment","ape","aperitif","apology","app","apparatus","apparel","appeal","appearance","appellation","appendix","appetiser","appetite","appetizer","applause","apple","applewood","appliance","application","appointment","appreciation","apprehension","approach","appropriation","approval","apricot","apron","apse","aquarium","aquifer","arcade","arch","arch-rival","archaeologist","archaeology","archeology","archer","architect","architecture","archives","area","arena","argument","arithmetic","ark","arm","arm-rest","armadillo","armament","armchair","armoire","armor","armour","armpit","armrest","army","arrangement","array","arrest","arrival","arrogance","arrow","art","artery","arthur","artichoke","article","artifact","artificer","artist","ascend","ascent","ascot","ash","ashram","ashtray","aside","asparagus","aspect","asphalt","aspic","assassination","assault","assembly","assertion","assessment","asset","assignment","assist","assistance","assistant","associate","association","assumption","assurance","asterisk","astrakhan","astrolabe","astrologer","astrology","astronomy","asymmetry","atelier","atheist","athlete","athletics","atmosphere","atom","atrium","attachment","attack","attacker","attainment","attempt","attendance","attendant","attention","attenuation","attic","attitude","attorney","attraction","attribute","auction","audience","audit","auditorium","aunt","authentication","authenticity","author","authorisation","authority","authorization","auto","autoimmunity","automation","automaton","autumn","availability","avalanche","avenue","average","avocado","award","awareness","awe","axis","azimuth","baboon","babushka","baby","bachelor","back","back-up","backbone","backburn","backdrop","background","backpack","backup","backyard","bacon","bacterium","badge","badger","bafflement","bag","bagel","baggage","baggie","baggy","bagpipe","bail","bait","bake","baker","bakery","bakeware","balaclava","balalaika","balance","balcony","ball","ballet","balloon","balloonist","ballot","ballpark","bamboo","ban","banana","band","bandana","bandanna","bandolier","bandwidth","bangle","banjo","bank","bankbook","banker","banking","bankruptcy","banner","banquette","banyan","baobab","bar","barbecue","barbeque","barber","bargain","barge","baritone","barium","bark","barley","barn","barometer","barracks","barrage","barrel","barrier","barstool","bartender","base","baseball","baseboard","baseline","basement","basics","basil","basin","basis","basket","basketball","bass","bassinet","bassoon","bat","bath","bather","bathhouse","bathrobe","bathroom","bathtub","battalion","batter","battery","batting","battle","battleship","bay","bayou","beach","bead","beak","beam","bean","beancurd","beanie","beanstalk","bear","beard","beast","beastie","beat","beating","beauty","beck","bed","bedrock","bedroom","bee","beech","beef","beet","beetle","beggar","beginner","beginning","begonia","behalf","behavior","behaviour","behest","behold","being","belfry","belief","believer","bell","belligerency","bellows","belly","belt","bench","bend","beneficiary","benefit","beret","berry","best-seller","bestseller","bet","beverage","beyond","bias","bibliography","bicycle","bid","bidder","bidding","bidet","bifocals","bijou","bike","bikini","bill","billboard","billing","billion","bin","binoculars","biology","biopsy","biosphere","biplane","birch","bird","bird-watcher","birdbath","birdcage","birdhouse","birth","birthday","biscuit","bit","bite","bitten","bitter","blackberry","blackbird","blackboard","blackfish","blackness","bladder","blade","blame","blank","blanket","blast","blazer","blend","blessing","blight","blind","blinker","blister","blizzard","block","blocker","blog","blogger","blood","bloodflow","bloom","bloomer","blossom","blouse","blow","blowgun","blowhole","blueberry","blush","boar","board","boat","boatload","boatyard","bob","bobcat","body","bog","bolero","bolt","bond","bonding","bondsman","bone","bonfire","bongo","bonnet","bonsai","bonus","boogeyman","book","bookcase","bookend","booking","booklet","bookmark","boolean","boom","boon","boost","booster","boot","bootie","border","bore","borrower","borrowing","boss","botany","bother","bottle","bottling","bottom","bottom-line","boudoir","bough","boulder","boulevard","boundary","bouquet","bourgeoisie","bout","boutique","bow","bower","bowl","bowler","bowling","bowtie","box","boxer","boxspring","boy","boycott","boyfriend","boyhood","boysenberry","brace","bracelet","bracket","brain","brake","bran","branch","brand","brass","bratwurst","bread","breadcrumb","breadfruit","break","breakdown","breakfast","breakpoint","breakthrough","breastplate","breath","breeze","brewer","bribery","brick","bricklaying","bride","bridge","brief","briefing","briefly","brilliant","brink","brisket","broad","broadcast","broccoli","brochure","brocolli","broiler","broker","bronchitis","bronco","bronze","brooch","brood","brook","broom","brother","brother-in-law","brow","brownie","browser","browsing","brunch","brush","brushfire","brushing","bubble","buck","bucket","buckle","buckwheat","bud","buddy","budget","buffalo","buffer","buffet","bug","buggy","bugle","builder","building","bulb","bulk","bull","bull-fighter","bulldozer","bullet","bump","bumper","bun","bunch","bungalow","bunkhouse","burden","bureau","burglar","burial","burn","burn-out","burning","burrito","burro","burrow","burst","bus","bush","business","businessman","bust","bustle","butane","butcher","butler","butter","butterfly","button","buy","buyer","buying","buzz","buzzard","c-clamp","cabana","cabbage","cabin","cabinet","cable","caboose","cacao","cactus","caddy","cadet","cafe","caffeine","caftan","cage","cake","calcification","calculation","calculator","calculus","calendar","calf","caliber","calibre","calico","call","calm","calorie","camel","cameo","camera","camp","campaign","campaigning","campanile","camper","campus","can","canal","candelabra","candidacy","candidate","candle","candy","cane","cannibal","cannon","canoe","canon","canopy","cantaloupe","canteen","canvas","cap","capability","capacity","cape","caper","capital","capitalism","capitulation","capon","cappelletti","cappuccino","captain","caption","captor","car","carabao","caramel","caravan","carbohydrate","carbon","carboxyl","card","cardboard","cardigan","care","career","cargo","caribou","carload","carnation","carnival","carol","carotene","carp","carpenter","carpet","carpeting","carport","carriage","carrier","carrot","carry","cart","cartel","carter","cartilage","cartload","cartoon","cartridge","carving","cascade","case","casement","cash","cashew","cashier","casino","casket","cassava","casserole","cassock","cast","castanet","castle","casualty","cat","catacomb","catalogue","catalysis","catalyst","catamaran","catastrophe","catch","catcher","category","caterpillar","cathedral","cation","catsup","cattle","cauliflower","causal","cause","causeway","caution","cave","caviar","cayenne","ceiling","celebration","celebrity","celeriac","celery","cell","cellar","cello","celsius","cement","cemetery","cenotaph","census","cent","center","centimeter","centre","centurion","century","cephalopod","ceramic","ceramics","cereal","ceremony","certainty","certificate","certification","cesspool","chafe","chain","chainstay","chair","chairlift","chairman","chairperson","chaise","chalet","chalice","chalk","challenge","chamber","champagne","champion","championship","chance","chandelier","change","channel","chaos","chap","chapel","chaplain","chapter","character","characteristic","characterization","chard","charge","charger","charity","charlatan","charm","charset","chart","charter","chasm","chassis","chastity","chasuble","chateau","chatter","chauffeur","chauvinist","check","checkbook","checking","checkout","checkroom","cheddar","cheek","cheer","cheese","cheesecake","cheetah","chef","chem","chemical","chemistry","chemotaxis","cheque","cherry","chess","chest","chestnut","chick","chicken","chicory","chief","chiffonier","child","childbirth","childhood","chili","chill","chime","chimpanzee","chin","chinchilla","chino","chip","chipmunk","chit-chat","chivalry","chive","chives","chocolate","choice","choir","choker","cholesterol","choosing","chop","chops","chopstick","chopsticks","chord","chorus","chow","chowder","chrome","chromolithograph","chronicle","chronograph","chronometer","chrysalis","chub","chuck","church","churn","chutney","cicada","cigarette","cilantro","cinder","cinema","cinnamon","circadian","circle","circuit","circulation","circumference","circumstance","cirrus","citizen","citizenship","citron","citrus","city","civilian","civilisation","civilization","claim","clam","clamp","clan","clank","clapboard","clarification","clarinet","clarity","clasp","class","classic","classification","classmate","classroom","clause","clave","clavicle","clavier","claw","clay","cleaner","clearance","clearing","cleat","clef","cleft","clergyman","cleric","clerk","click","client","cliff","climate","climb","clinic","clip","clipboard","clipper","cloak","cloakroom","clock","clockwork","clogs","cloister","clone","close","closet","closing","closure","cloth","clothes","clothing","cloud","cloudburst","clove","clover","cloves","club","clue","cluster","clutch","co-producer","coach","coal","coalition","coast","coaster","coat","cob","cobbler","cobweb","cockpit","cockroach","cocktail","cocoa","coconut","cod","code","codepage","codling","codon","coevolution","cofactor","coffee","coffin","cohesion","cohort","coil","coin","coincidence","coinsurance","coke","cold","coleslaw","coliseum","collaboration","collagen","collapse","collar","collard","collateral","colleague","collection","collectivisation","collectivization","collector","college","collision","colloquy","colon","colonial","colonialism","colonisation","colonization","colony","color","colorlessness","colt","column","columnist","comb","combat","combination","combine","comeback","comedy","comestible","comfort","comfortable","comic","comics","comma","command","commander","commandment","comment","commerce","commercial","commission","commitment","committee","commodity","common","commonsense","commotion","communicant","communication","communion","communist","community","commuter","company","comparison","compass","compassion","compassionate","compensation","competence","competition","competitor","complaint","complement","completion","complex","complexity","compliance","complication","complicity","compliment","component","comportment","composer","composite","composition","compost","comprehension","compress","compromise","comptroller","compulsion","computer","comradeship","con","concentrate","concentration","concept","conception","concern","concert","conclusion","concrete","condition","conditioner","condominium","condor","conduct","conductor","cone","confectionery","conference","confidence","confidentiality","configuration","confirmation","conflict","conformation","confusion","conga","congo","congregation","congress","congressman","congressperson","conifer","connection","connotation","conscience","consciousness","consensus","consent","consequence","conservation","conservative","consideration","consignment","consist","consistency","console","consonant","conspiracy","conspirator","constant","constellation","constitution","constraint","construction","consul","consulate","consulting","consumer","consumption","contact","contagion","container","content","contention","contest","context","continent","contingency","continuity","contour","contract","contractor","contrail","contrary","contrast","contribution","contributor","control","controller","controversy","convection","convenience","convention","conversation","conversion","convert","convertible","conviction","cook","cookbook","cookie","cooking","cooperation","coordination","coordinator","cop","cop-out","cope","copper","copy","copying","copyright","copywriter","coral","cord","corduroy","core","cork","cormorant","corn","corner","cornerstone","cornet","cornflakes","cornmeal","corporal","corporation","corporatism","corps","corral","correspondence","correspondent","corridor","corruption","corsage","cosset","cost","costume","cot","cottage","cotton","couch","cougar","cough","council","councilman","councilor","councilperson","counsel","counseling","counselling","counsellor","counselor","count","counter","counter-force","counterpart","countess","country","countryside","county","couple","coupon","courage","course","court","courthouse","courtroom","cousin","covariate","cover","coverage","coverall","cow","cowbell","cowboy","coyote","crab","cradle","craft","craftsman","cranberry","crane","cranky","crate","cravat","craw","crawdad","crayfish","crayon","crazy","cream","creation","creative","creativity","creator","creature","creche","credential","credenza","credibility","credit","creditor","creek","crepe","crest","crew","crewman","crewmate","crewmember","crewmen","cria","crib","cribbage","cricket","cricketer","crime","criminal","crinoline","crisis","crisp","criteria","criterion","critic","criticism","crocodile","crocus","croissant","crook","crop","cross","cross-contamination","cross-stitch","croup","crow","crowd","crown","crude","cruelty","cruise","crumb","crunch","crusader","crush","crust","cry","crystal","crystallography","cub","cube","cuckoo","cucumber","cue","cuff-link","cuisine","cultivar","cultivator","culture","culvert","cummerbund","cup","cupboard","cupcake","cupola","curd","cure","curio","curiosity","curl","curler","currant","currency","current","curriculum","curry","curse","cursor","curtailment","curtain","curve","cushion","custard","custody","custom","customer","cut","cuticle","cutlet","cutover","cutting","cyclamen","cycle","cyclone","cyclooxygenase","cygnet","cylinder","cymbal","cynic","cyst","cytokine","cytoplasm","dad","daddy","daffodil","dagger","dahlia","daikon","daily","dairy","daisy","dam","damage","dame","dance","dancer","dancing","dandelion","danger","dare","dark","darkness","darn","dart","dash","dashboard","data","database","date","daughter","dawn","day","daybed","daylight","dead","deadline","deal","dealer","dealing","dearest","death","deathwatch","debate","debris","debt","debtor","decade","decadence","decency","decimal","decision","decision-making","deck","declaration","declination","decline","decoder","decongestant","decoration","decrease","decryption","dedication","deduce","deduction","deed","deep","deer","default","defeat","defendant","defender","defense","deficit","definition","deformation","degradation","degree","delay","deliberation","delight","delivery","demand","democracy","democrat","demur","den","denim","denominator","density","dentist","deodorant","department","departure","dependency","dependent","deployment","deposit","deposition","depot","depression","depressive","depth","deputy","derby","derivation","derivative","derrick","descendant","descent","description","desert","design","designation","designer","desire","desk","desktop","dessert","destination","destiny","destroyer","destruction","detail","detainee","detainment","detection","detective","detector","detention","determination","detour","devastation","developer","developing","development","developmental","deviance","deviation","device","devil","dew","dhow","diabetes","diadem","diagnosis","diagram","dial","dialect","dialogue","diam","diamond","diaper","diaphragm","diarist","diary","dibble","dickey","dictaphone","dictator","diction","dictionary","die","diesel","diet","difference","differential","difficulty","diffuse","dig","digestion","digestive","digger","digging","digit","dignity","dilapidation","dill","dilution","dime","dimension","dimple","diner","dinghy","dining","dinner","dinosaur","dioxide","dip","diploma","diplomacy","direction","directive","director","directory","dirndl","dirt","disability","disadvantage","disagreement","disappointment","disarmament","disaster","discharge","discipline","disclaimer","disclosure","disco","disconnection","discount","discourse","discovery","discrepancy","discretion","discrimination","discussion","disdain","disease","disembodiment","disengagement","disguise","disgust","dish","dishwasher","disk","disparity","dispatch","displacement","display","disposal","disposer","disposition","dispute","disregard","disruption","dissemination","dissonance","distance","distinction","distortion","distribution","distributor","district","divalent","divan","diver","diversity","divide","dividend","divider","divine","diving","division","divorce","doc","dock","doctor","doctorate","doctrine","document","documentary","documentation","doe","dog","dogsled","dogwood","doing","doll","dollar","dollop","dolman","dolor","dolphin","domain","dome","donation","donkey","donor","donut","door","doorbell","doorknob","doorpost","doorway","dory","dose","dot","double","doubling","doubt","doubter","dough","doughnut","down","downfall","downforce","downgrade","download","downstairs","downtown","downturn","dozen","draft","drag","dragon","dragonfly","dragonfruit","dragster","drain","drainage","drake","drama","dramaturge","drapes","draw","drawbridge","drawer","drawing","dream","dreamer","dredger","dress","dresser","dressing","drill","drink","drinking","drive","driver","driveway","driving","drizzle","dromedary","drop","drudgery","drug","drum","drummer","dryer","duck","duckling","dud","dude","due","duel","dueling","duffel","dugout","dulcimer","dumbwaiter","dump","dune","dungarees","dungeon","duplexer","duration","durian","dusk","dust","duster","duty","dwell","dwelling","dynamics","dynamite","dynamo","dynasty","dysfunction","e-book","e-mail","e-reader","eagle","eaglet","ear","eardrum","earmuffs","earnings","earplug","earring","earrings","earth","earthquake","earthworm","ease","easel","east","eating","eaves","eavesdropper","ecclesia","echidna","eclipse","ecliptic","ecology","economics","economy","ecosystem","ectoderm","ectodermal","ecumenist","eddy","edge","edger","edible","editing","edition","editor","editorial","education","eel","effacement","effect","effective","effectiveness","effector","efficacy","efficiency","effort","egg","egghead","eggnog","eggplant","ego","eicosanoid","ejector","elbow","elderberry","election","electricity","electrocardiogram","electronics","element","elephant","elevation","elevator","eleventh","elf","elicit","eligibility","elimination","elite","elixir","elk","ellipse","elm","elongation","elver","email","emanate","embarrassment","embassy","embellishment","embossing","embryo","emerald","emergence","emergency","emergent","emery","emission","emitter","emotion","emphasis","empire","employ","employee","employer","employment","empowerment","emu","enactment","encirclement","enclave","enclosure","encounter","encouragement","encyclopedia","end","endive","endoderm","endorsement","endothelium","endpoint","enemy","energy","enforcement","engagement","engine","engineer","engineering","enigma","enjoyment","enquiry","enrollment","enterprise","entertainment","enthusiasm","entirety","entity","entrance","entree","entrepreneur","entry","envelope","environment","envy","enzyme","epauliere","epee","ephemera","ephemeris","ephyra","epic","episode","epithelium","epoch","eponym","epoxy","equal","equality","equation","equinox","equipment","equity","equivalent","era","eraser","erosion","error","escalator","escape","espadrille","espalier","essay","essence","essential","establishment","estate","estimate","estrogen","estuary","eternity","ethernet","ethics","ethnicity","ethyl","euphonium","eurocentrism","evaluation","evaluator","evaporation","eve","evening","evening-wear","event","everybody","everyone","everything","eviction","evidence","evil","evocation","evolution","ex-husband","ex-wife","exaggeration","exam","examination","examiner","example","exasperation","excellence","exception","excerpt","excess","exchange","excitement","exclamation","excursion","excuse","execution","executive","executor","exercise","exhaust","exhaustion","exhibit","exhibition","exile","existence","exit","exocrine","expansion","expansionism","expectancy","expectation","expedition","expense","experience","experiment","experimentation","expert","expertise","explanation","exploration","explorer","export","expose","exposition","exposure","expression","extension","extent","exterior","external","extinction","extreme","extremist","eye","eyeball","eyebrow","eyebrows","eyeglasses","eyelash","eyelashes","eyelid","eyelids","eyeliner","eyestrain","eyrie","fabric","face","facelift","facet","facility","facsimile","fact","factor","factory","faculty","fahrenheit","fail","failure","fairness","fairy","faith","faithful","fall","fallacy","falling-out","fame","familiar","familiarity","family","fan","fang","fanlight","fanny-pack","fantasy","farm","farmer","farming","farmland","farrow","fascia","fashion","fat","fate","father","father-in-law","fatigue","fatigues","faucet","fault","fav","fava","favor","favorite","fawn","fax","fear","feast","feather","feature","fedelini","federation","fedora","fee","feed","feedback","feeding","feel","feeling","fellow","felony","female","fen","fence","fencing","fender","feng","fennel","ferret","ferry","ferryboat","fertilizer","festival","fetus","few","fiber","fiberglass","fibre","fibroblast","fibrosis","ficlet","fiction","fiddle","field","fiery","fiesta","fifth","fig","fight","fighter","figure","figurine","file","filing","fill","fillet","filly","film","filter","filth","final","finance","financing","finding","fine","finer","finger","fingerling","fingernail","finish","finisher","fir","fire","fireman","fireplace","firewall","firm","first","fish","fishbone","fisherman","fishery","fishing","fishmonger","fishnet","fit","fitness","fix","fixture","flag","flair","flame","flan","flanker","flare","flash","flat","flatboat","flavor","flax","fleck","fledgling","fleece","flesh","flexibility","flick","flicker","flight","flint","flintlock","flip-flops","flock","flood","floodplain","floor","floozie","flour","flow","flower","flu","flugelhorn","fluke","flume","flung","flute","fly","flytrap","foal","foam","fob","focus","fog","fold","folder","folk","folklore","follower","following","fondue","font","food","foodstuffs","fool","foot","footage","football","footnote","footprint","footrest","footstep","footstool","footwear","forage","forager","foray","force","ford","forearm","forebear","forecast","forehead","foreigner","forelimb","forest","forestry","forever","forgery","fork","form","formal","formamide","format","formation","former","formicarium","formula","fort","forte","fortnight","fortress","fortune","forum","foundation","founder","founding","fountain","fourths","fowl","fox","foxglove","fraction","fragrance","frame","framework","fratricide","fraud","fraudster","freak","freckle","freedom","freelance","freezer","freezing","freight","freighter","frenzy","freon","frequency","fresco","friction","fridge","friend","friendship","fries","frigate","fright","fringe","fritter","frock","frog","front","frontier","frost","frosting","frown","fruit","frustration","fry","fuel","fugato","fulfillment","full","fun","function","functionality","fund","funding","fundraising","fur","furnace","furniture","fusarium","futon","future","gadget","gaffe","gaffer","gain","gaiters","gale","gall-bladder","gallery","galley","gallon","galoshes","gambling","game","gamebird","gaming","gamma-ray","gander","gang","gap","garage","garb","garbage","garden","garlic","garment","garter","gas","gasket","gasoline","gasp","gastronomy","gastropod","gate","gateway","gather","gathering","gator","gauge","gauntlet","gavel","gazebo","gazelle","gear","gearshift","geek","gel","gelatin","gelding","gem","gemsbok","gender","gene","general","generation","generator","generosity","genetics","genie","genius","genre","gentleman","geography","geology","geometry","geranium","gerbil","gesture","geyser","gherkin","ghost","giant","gift","gig","gigantism","giggle","ginger","gingerbread","ginseng","giraffe","girdle","girl","girlfriend","glacier","gladiolus","glance","gland","glass","glasses","glee","glen","glider","gliding","glimpse","globe","glockenspiel","gloom","glory","glove","glow","glucose","glue","glut","glutamate","gnat","gnu","go-kart","goal","goat","gobbler","god","goddess","godfather","godmother","godparent","goggles","going","gold","goldfish","golf","gondola","gong","good","good-bye","goodbye","goodie","goodness","goodnight","goodwill","goose","gopher","gorilla","gosling","gossip","governance","government","governor","gown","grab-bag","grace","grade","gradient","graduate","graduation","graffiti","graft","grain","gram","grammar","gran","grand","grandchild","granddaughter","grandfather","grandma","grandmom","grandmother","grandpa","grandparent","grandson","granny","granola","grant","grape","grapefruit","graph","graphic","grasp","grass","grasshopper","grassland","gratitude","gravel","gravitas","gravity","gravy","gray","grease","great-grandfather","great-grandmother","greatness","greed","green","greenhouse","greens","grenade","grey","grid","grief","grill","grin","grip","gripper","grit","grocery","ground","group","grouper","grouse","grove","growth","grub","guacamole","guarantee","guard","guava","guerrilla","guess","guest","guestbook","guidance","guide","guideline","guilder","guilt","guilty","guinea","guitar","guitarist","gum","gumshoe","gun","gunpowder","gutter","guy","gym","gymnast","gymnastics","gynaecology","gyro","habit","habitat","hacienda","hacksaw","hackwork","hail","hair","haircut","hake","half","half-brother","half-sister","halibut","hall","halloween","hallway","halt","ham","hamburger","hammer","hammock","hamster","hand","hand-holding","handball","handful","handgun","handicap","handle","handlebar","handmaiden","handover","handrail","handsaw","hanger","happening","happiness","harald","harbor","harbour","hard-hat","hardboard","hardcover","hardening","hardhat","hardship","hardware","hare","harm","harmonica","harmonise","harmonize","harmony","harp","harpooner","harpsichord","harvest","harvester","hash","hashtag","hassock","haste","hat","hatbox","hatchet","hatchling","hate","hatred","haunt","haven","haversack","havoc","hawk","hay","haze","hazel","hazelnut","head","headache","headlight","headline","headphones","headquarters","headrest","health","health-care","hearing","hearsay","heart","heart-throb","heartache","heartbeat","hearth","hearthside","heartwood","heat","heater","heating","heaven","heavy","hectare","hedge","hedgehog","heel","heifer","height","heir","heirloom","helicopter","helium","hellcat","hello","helmet","helo","help","hemisphere","hemp","hen","hepatitis","herb","herbs","heritage","hermit","hero","heroine","heron","herring","hesitation","hexagon","heyday","hiccups","hide","hierarchy","high","high-rise","highland","highlight","highway","hike","hiking","hill","hint","hip","hippodrome","hippopotamus","hire","hiring","historian","history","hit","hive","hobbit","hobby","hockey","hog","hold","holder","hole","holiday","home","homeland","homeownership","hometown","homework","homogenate","homonym","honesty","honey","honeybee","honeydew","honor","honoree","hood","hoof","hook","hop","hope","hops","horde","horizon","hormone","horn","hornet","horror","horse","horseradish","horst","hose","hosiery","hospice","hospital","hospitalisation","hospitality","hospitalization","host","hostel","hostess","hotdog","hotel","hound","hour","hourglass","house","houseboat","household","housewife","housework","housing","hovel","hovercraft","howard","howitzer","hub","hubcap","hubris","hug","hugger","hull","human","humanity","humidity","hummus","humor","humour","hundred","hunger","hunt","hunter","hunting","hurdle","hurdler","hurricane","hurry","hurt","husband","hut","hutch","hyacinth","hybridisation","hybridization","hydrant","hydraulics","hydrocarb","hydrocarbon","hydrofoil","hydrogen","hydrolyse","hydrolysis","hydrolyze","hydroxyl","hyena","hygienic","hype","hyphenation","hypochondria","hypothermia","hypothesis","ice","ice-cream","iceberg","icebreaker","icecream","icicle","icing","icon","icy","id","idea","ideal","identification","identity","ideology","idiom","igloo","ignorance","ignorant","ikebana","illiteracy","illness","illusion","illustration","image","imagination","imbalance","imitation","immigrant","immigration","immortal","impact","impairment","impala","impediment","implement","implementation","implication","import","importance","impostor","impress","impression","imprisonment","impropriety","improvement","impudence","impulse","in-joke","in-laws","inability","inauguration","inbox","incandescence","incarnation","incense","incentive","inch","incidence","incident","incision","inclusion","income","incompetence","inconvenience","increase","incubation","independence","independent","index","indication","indicator","indigence","individual","industrialisation","industrialization","industry","inequality","inevitable","infancy","infant","infarction","infection","infiltration","infinite","infix","inflammation","inflation","influence","influx","info","information","infrastructure","infusion","inglenook","ingrate","ingredient","inhabitant","inheritance","inhibition","inhibitor","initial","initialise","initialize","initiative","injunction","injury","injustice","ink","inlay","inn","innervation","innocence","innocent","innovation","input","inquiry","inscription","insect","insectarium","insert","inside","insight","insolence","insomnia","inspection","inspector","inspiration","installation","instance","instant","instinct","institute","institution","instruction","instructor","instrument","instrumentalist","instrumentation","insulation","insurance","insurgence","insurrection","integer","integral","integration","integrity","intellect","intelligence","intensity","intent","intention","intentionality","interaction","interchange","interconnection","interest","interface","interferometer","interior","interject","interloper","internet","interpretation","interpreter","interval","intervenor","intervention","interview","interviewer","intestine","introduction","intuition","invader","invasion","invention","inventor","inventory","inverse","inversion","investigation","investigator","investment","investor","invitation","invite","invoice","involvement","iridescence","iris","iron","ironclad","irony","irrigation","ischemia","island","isogloss","isolation","issue","item","itinerary","ivory","jack","jackal","jacket","jackfruit","jade","jaguar","jail","jailhouse","jalapeño","jam","jar","jasmine","jaw","jazz","jealousy","jeans","jeep","jelly","jellybeans","jellyfish","jet","jewel","jeweller","jewellery","jewelry","jicama","jiffy","job","jockey","jodhpurs","joey","jogging","joint","joke","jot","journal","journalism","journalist","journey","joy","judge","judgment","judo","jug","juggernaut","juice","julienne","jumbo","jump","jumper","jumpsuit","jungle","junior","junk","junker","junket","jury","justice","justification","jute","kale","kangaroo","karate","kayak","kazoo","kebab","keep","keeper","kendo","kennel","ketch","ketchup","kettle","kettledrum","key","keyboard","keyboarding","keystone","kick","kick-off","kid","kidney","kielbasa","kill","killer","killing","kilogram","kilometer","kilt","kimono","kinase","kind","kindness","king","kingdom","kingfish","kiosk","kiss","kit","kitchen","kite","kitsch","kitten","kitty","kiwi","knee","kneejerk","knickers","knife","knife-edge","knight","knitting","knock","knot","know-how","knowledge","knuckle","koala","kohlrabi","lab","label","labor","laboratory","laborer","labour","labourer","lace","lack","lacquerware","lad","ladder","ladle","lady","ladybug","lag","lake","lamb","lambkin","lament","lamp","lanai","land","landform","landing","landmine","landscape","lane","language","lantern","lap","laparoscope","lapdog","laptop","larch","lard","larder","lark","larva","laryngitis","lasagna","lashes","last","latency","latex","lathe","latitude","latte","latter","laugh","laughter","laundry","lava","law","lawmaker","lawn","lawsuit","lawyer","lay","layer","layout","lead","leader","leadership","leading","leaf","league","leaker","leap","learning","leash","leather","leave","leaver","lecture","leek","leeway","left","leg","legacy","legal","legend","legging","legislation","legislator","legislature","legitimacy","legume","leisure","lemon","lemonade","lemur","lender","lending","length","lens","lentil","leopard","leprosy","leptocephalus","lesson","letter","lettuce","level","lever","leverage","leveret","liability","liar","liberty","library","licence","license","licensing","licorice","lid","lie","lieu","lieutenant","life","lifestyle","lifetime","lift","ligand","light","lighting","lightning","lightscreen","ligula","likelihood","likeness","lilac","lily","limb","lime","limestone","limit","limitation","limo","line","linen","liner","linguist","linguistics","lining","link","linkage","linseed","lion","lip","lipid","lipoprotein","lipstick","liquid","liquidity","liquor","list","listening","listing","literate","literature","litigation","litmus","litter","littleneck","liver","livestock","living","lizard","llama","load","loading","loaf","loafer","loan","lobby","lobotomy","lobster","local","locality","location","lock","locker","locket","locomotive","locust","lode","loft","log","loggia","logic","login","logistics","logo","loincloth","lollipop","loneliness","longboat","longitude","look","lookout","loop","loophole","loquat","lord","loss","lot","lotion","lottery","lounge","louse","lout","love","lover","lox","loyalty","luck","luggage","lumber","lumberman","lunch","luncheonette","lunchmeat","lunchroom","lung","lunge","lute","luxury","lychee","lycra","lye","lymphocyte","lynx","lyocell","lyre","lyrics","lysine","mRNA","macadamia","macaroni","macaroon","macaw","machine","machinery","macrame","macro","macrofauna","madam","maelstrom","maestro","magazine","maggot","magic","magnet","magnitude","maid","maiden","mail","mailbox","mailer","mailing","mailman","main","mainland","mainstream","maintainer","maintenance","maize","major","major-league","majority","makeover","maker","makeup","making","male","malice","mall","mallard","mallet","malnutrition","mama","mambo","mammoth","man","manacle","management","manager","manatee","mandarin","mandate","mandolin","mangle","mango","mangrove","manhunt","maniac","manicure","manifestation","manipulation","mankind","manner","manor","mansard","manservant","mansion","mantel","mantle","mantua","manufacturer","manufacturing","many","map","maple","mapping","maracas","marathon","marble","march","mare","margarine","margin","mariachi","marimba","marines","marionberry","mark","marker","market","marketer","marketing","marketplace","marksman","markup","marmalade","marriage","marsh","marshland","marshmallow","marten","marxism","mascara","mask","masonry","mass","massage","mast","masterpiece","mastication","mastoid","mat","match","matchmaker","mate","material","maternity","math","mathematics","matrix","matter","mattock","mattress","max","maximum","maybe","mayonnaise","mayor","meadow","meal","mean","meander","meaning","means","meantime","measles","measure","measurement","meat","meatball","meatloaf","mecca","mechanic","mechanism","med","medal","media","median","medication","medicine","medium","meet","meeting","melatonin","melody","melon","member","membership","membrane","meme","memo","memorial","memory","men","menopause","menorah","mention","mentor","menu","merchandise","merchant","mercury","meridian","meringue","merit","mesenchyme","mess","message","messenger","messy","metabolite","metal","metallurgist","metaphor","meteor","meteorology","meter","methane","method","methodology","metric","metro","metronome","mezzanine","microlending","micronutrient","microphone","microwave","mid-course","midden","middle","middleman","midline","midnight","midwife","might","migrant","migration","mile","mileage","milepost","milestone","military","milk","milkshake","mill","millennium","millet","millimeter","million","millisecond","millstone","mime","mimosa","min","mincemeat","mind","mine","mineral","mineshaft","mini","mini-skirt","minibus","minimalism","minimum","mining","minion","minister","mink","minnow","minor","minor-league","minority","mint","minute","miracle","mirror","miscommunication","misfit","misnomer","misplacement","misreading","misrepresentation","miss","missile","mission","mist","mistake","mister","misunderstand","miter","mitten","mix","mixer","mixture","moai","moat","mob","mobile","mobility","mobster","moccasins","mocha","mochi","mode","model","modeling","modem","modernist","modernity","modification","molar","molasses","molding","mole","molecule","mom","moment","monastery","monasticism","money","monger","monitor","monitoring","monk","monkey","monocle","monopoly","monotheism","monsoon","monster","month","monument","mood","moody","moon","moonlight","moonscape","moose","mop","morale","morbid","morbidity","morning","morphology","morsel","mortal","mortality","mortgage","mortise","mosque","mosquito","most","motel","moth","mother","mother-in-law","motion","motivation","motive","motor","motorboat","motorcar","motorcycle","mound","mountain","mouse","mouser","mousse","moustache","mouth","mouton","movement","mover","movie","mower","mozzarella","mud","muffin","mug","mukluk","mule","multimedia","muscat","muscatel","muscle","musculature","museum","mushroom","music","music-box","music-making","musician","muskrat","mussel","mustache","mustard","mutation","mutt","mutton","mycoplasma","mystery","myth","mythology","nail","name","naming","nanoparticle","napkin","narrative","nasal","nation","nationality","native","naturalisation","nature","navigation","necessity","neck","necklace","necktie","nectar","nectarine","need","needle","neglect","negligee","negotiation","neighbor","neighborhood","neighbour","neighbourhood","neologism","neon","neonate","nephew","nerve","nest","nestling","nestmate","net","netball","netbook","netsuke","network","networking","neurobiologist","neuron","neuropathologist","neuropsychiatry","news","newsletter","newspaper","newsprint","newsstand","nexus","nibble","nicety","niche","nick","nickel","nickname","niece","night","nightclub","nightgown","nightingale","nightlife","nightlight","nightmare","ninja","nit","nitrogen","nobody","nod","node","noir","noise","nonbeliever","nonconformist","nondisclosure","nonsense","noodle","noodles","noon","norm","normal","normalisation","normalization","north","nose","notation","note","notebook","notepad","nothing","notice","notion","notoriety","nougat","noun","nourishment","novel","nucleotidase","nucleotide","nudge","nuke","number","numeracy","numeric","numismatist","nun","nurse","nursery","nursing","nurture","nut","nutmeg","nutrient","nutrition","nylon","oak","oar","oasis","oat","oatmeal","oats","obedience","obesity","obi","object","objection","objective","obligation","oboe","observation","observatory","obsession","obsidian","obstacle","occasion","occupation","occurrence","ocean","ocelot","octagon","octave","octavo","octet","octopus","odometer","odyssey","oeuvre","off-ramp","offence","offense","offer","offering","office","officer","official","offset","oil","okra","oldie","oleo","olive","omega","omelet","omission","omnivore","oncology","onion","online","onset","opening","opera","operating","operation","operator","ophthalmologist","opinion","opossum","opponent","opportunist","opportunity","opposite","opposition","optimal","optimisation","optimist","optimization","option","orange","orangutan","orator","orchard","orchestra","orchid","order","ordinary","ordination","ore","oregano","organ","organisation","organising","organization","organizing","orient","orientation","origin","original","originality","ornament","osmosis","osprey","ostrich","other","otter","ottoman","ounce","outback","outcome","outfielder","outfit","outhouse","outlaw","outlay","outlet","outline","outlook","output","outrage","outrigger","outrun","outset","outside","oval","ovary","oven","overcharge","overclocking","overcoat","overexertion","overflight","overhead","overheard","overload","overnighter","overshoot","oversight","overview","overweight","owl","owner","ownership","ox","oxford","oxygen","oyster","ozone","pace","pacemaker","pack","package","packaging","packet","pad","paddle","paddock","pagan","page","pagoda","pail","pain","paint","painter","painting","paintwork","pair","pajamas","palace","palate","palm","pamphlet","pan","pancake","pancreas","panda","panel","panic","pannier","panpipe","panther","pantologist","pantology","pantry","pants","pantsuit","pantyhose","papa","papaya","paper","paperback","paperwork","parable","parachute","parade","paradise","paragraph","parallelogram","paramecium","paramedic","parameter","paranoia","parcel","parchment","pard","pardon","parent","parenthesis","parenting","park","parka","parking","parliament","parole","parrot","parser","parsley","parsnip","part","participant","participation","particle","particular","partner","partnership","partridge","party","pass","passage","passbook","passenger","passing","passion","passive","passport","password","past","pasta","paste","pastor","pastoralist","pastry","pasture","pat","patch","pate","patent","patentee","path","pathogenesis","pathology","pathway","patience","patient","patina","patio","patriarch","patrimony","patriot","patrol","patroller","patrolling","patron","pattern","patty","pattypan","pause","pavement","pavilion","paw","pawnshop","pay","payee","payment","payoff","pea","peace","peach","peacoat","peacock","peak","peanut","pear","pearl","peasant","pecan","pedal","peek","peen","peer","peer-to-peer","pegboard","pelican","pelt","pen","penalty","pence","pencil","pendant","pendulum","penguin","penicillin","peninsula","pennant","penny","pension","pentagon","peony","people","pepper","pepperoni","percent","percentage","perception","perch","perennial","perfection","performance","perfume","period","periodical","peripheral","permafrost","permission","permit","perp","perpendicular","persimmon","person","personal","personality","personnel","perspective","pest","pet","petal","petition","petitioner","petticoat","pew","pharmacist","pharmacopoeia","phase","pheasant","phenomenon","phenotype","pheromone","philanthropy","philosopher","philosophy","phone","phosphate","photo","photodiode","photograph","photographer","photography","photoreceptor","phrase","phrasing","physical","physics","physiology","pianist","piano","piccolo","pick","pickax","pickaxe","picket","pickle","pickup","picnic","picture","picturesque","pie","piece","pier","piety","pig","pigeon","piglet","pigpen","pigsty","pike","pilaf","pile","pilgrim","pilgrimage","pill","pillar","pillbox","pillow","pilot","pimple","pin","pinafore","pince-nez","pine","pineapple","pinecone","ping","pinkie","pinot","pinstripe","pint","pinto","pinworm","pioneer","pipe","pipeline","piracy","pirate","pit","pita","pitch","pitcher","pitching","pith","pizza","place","placebo","placement","placode","plagiarism","plain","plaintiff","plan","plane","planet","planning","plant","plantation","planter","planula","plaster","plasterboard","plastic","plate","platelet","platform","platinum","platter","platypus","play","player","playground","playroom","playwright","plea","pleasure","pleat","pledge","plenty","plier","pliers","plight","plot","plough","plover","plow","plowman","plug","plugin","plum","plumber","plume","plunger","plywood","pneumonia","pocket","pocket-watch","pocketbook","pod","podcast","poem","poet","poetry","poignance","point","poison","poisoning","poker","polarisation","polarization","pole","polenta","police","policeman","policy","polish","politician","politics","poll","polliwog","pollutant","pollution","polo","polyester","polyp","pomegranate","pomelo","pompom","poncho","pond","pony","pool","poor","pop","popcorn","poppy","popsicle","popularity","population","populist","porcelain","porch","porcupine","pork","porpoise","port","porter","portfolio","porthole","portion","portrait","position","possession","possibility","possible","post","postage","postbox","poster","posterior","postfix","pot","potato","potential","pottery","potty","pouch","poultry","pound","pounding","poverty","powder","power","practice","practitioner","prairie","praise","pray","prayer","precedence","precedent","precipitation","precision","predecessor","preface","preference","prefix","pregnancy","prejudice","prelude","premeditation","premier","premise","premium","preoccupation","preparation","prescription","presence","present","presentation","preservation","preserves","presidency","president","press","pressroom","pressure","pressurisation","pressurization","prestige","presume","pretzel","prevalence","prevention","prey","price","pricing","pride","priest","priesthood","primary","primate","prince","princess","principal","principle","print","printer","printing","prior","priority","prison","prisoner","privacy","private","privilege","prize","prizefight","probability","probation","probe","problem","procedure","proceedings","process","processing","processor","proctor","procurement","produce","producer","product","production","productivity","profession","professional","professor","profile","profit","progenitor","program","programme","programming","progress","progression","prohibition","project","proliferation","promenade","promise","promotion","prompt","pronoun","pronunciation","proof","proof-reader","propane","property","prophet","proponent","proportion","proposal","proposition","proprietor","prose","prosecution","prosecutor","prospect","prosperity","prostacyclin","prostanoid","prostrate","protection","protein","protest","protocol","providence","provider","province","provision","prow","proximal","proximity","prune","pruner","pseudocode","pseudoscience","psychiatrist","psychoanalyst","psychologist","psychology","ptarmigan","pub","public","publication","publicity","publisher","publishing","pudding","puddle","puffin","pug","puggle","pulley","pulse","puma","pump","pumpernickel","pumpkin","pumpkinseed","pun","punch","punctuation","punishment","pup","pupa","pupil","puppet","puppy","purchase","puritan","purity","purpose","purr","purse","pursuit","push","pusher","put","puzzle","pyramid","pyridine","quadrant","quail","qualification","quality","quantity","quart","quarter","quartet","quartz","queen","query","quest","question","questioner","questionnaire","quiche","quicksand","quiet","quill","quilt","quince","quinoa","quit","quiver","quota","quotation","quote","rabbi","rabbit","raccoon","race","racer","racing","rack","radar","radiator","radio","radiosonde","radish","raffle","raft","rag","rage","raid","rail","railing","railroad","railway","raiment","rain","rainbow","raincoat","rainmaker","rainstorm","rainy","raise","raisin","rake","rally","ram","rambler","ramen","ramie","ranch","rancher","randomisation","randomization","range","ranger","rank","rap","raspberry","rat","rate","ratepayer","rating","ratio","rationale","rations","raven","ravioli","rawhide","ray","rayon","razor","reach","reactant","reaction","read","reader","readiness","reading","real","reality","realization","realm","reamer","rear","reason","reasoning","rebel","rebellion","reboot","recall","recapitulation","receipt","receiver","reception","receptor","recess","recession","recipe","recipient","reciprocity","reclamation","recliner","recognition","recollection","recommendation","reconsideration","record","recorder","recording","recovery","recreation","recruit","rectangle","redesign","redhead","redirect","rediscovery","reduction","reef","refectory","reference","referendum","reflection","reform","refreshments","refrigerator","refuge","refund","refusal","refuse","regard","regime","region","regionalism","register","registration","registry","regret","regulation","regulator","rehospitalisation","rehospitalization","reindeer","reinscription","reject","relation","relationship","relative","relaxation","relay","release","reliability","relief","religion","relish","reluctance","remains","remark","reminder","remnant","remote","removal","renaissance","rent","reorganisation","reorganization","repair","reparation","repayment","repeat","replacement","replica","replication","reply","report","reporter","reporting","repository","representation","representative","reprocessing","republic","republican","reputation","request","requirement","resale","rescue","research","researcher","resemblance","reservation","reserve","reservoir","reset","residence","resident","residue","resist","resistance","resolution","resolve","resort","resource","respect","respite","response","responsibility","rest","restaurant","restoration","restriction","restroom","restructuring","result","resume","retailer","retention","rethinking","retina","retirement","retouching","retreat","retrospect","retrospective","retrospectivity","return","reunion","revascularisation","revascularization","reveal","revelation","revenant","revenge","revenue","reversal","reverse","review","revitalisation","revitalization","revival","revolution","revolver","reward","rhetoric","rheumatism","rhinoceros","rhubarb","rhyme","rhythm","rib","ribbon","rice","riddle","ride","rider","ridge","riding","rifle","right","rim","ring","ringworm","riot","rip","ripple","rise","riser","risk","rite","ritual","river","riverbed","rivulet","road","roadway","roar","roast","robe","robin","robot","robotics","rock","rocker","rocket","rocket-ship","rod","role","roll","roller","romaine","romance","roof","room","roommate","rooster","root","rope","rose","rosemary","roster","rostrum","rotation","round","roundabout","route","router","routine","row","rowboat","rowing","rubber","rubbish","rubric","ruby","ruckus","rudiment","ruffle","rug","rugby","ruin","rule","ruler","ruling","rumor","run","runaway","runner","running","runway","rush","rust","rutabaga","rye","sabre","sack","saddle","sadness","safari","safe","safeguard","safety","saffron","sage","sail","sailboat","sailing","sailor","saint","sake","salad","salami","salary","sale","salesman","salmon","salon","saloon","salsa","salt","salute","samovar","sampan","sample","samurai","sanction","sanctity","sanctuary","sand","sandal","sandbar","sandpaper","sandwich","sanity","sardine","sari","sarong","sash","satellite","satin","satire","satisfaction","sauce","saucer","sauerkraut","sausage","savage","savannah","saving","savings","savior","saviour","savory","saw","saxophone","scaffold","scale","scallion","scallops","scalp","scam","scanner","scarecrow","scarf","scarification","scenario","scene","scenery","scent","schedule","scheduling","schema","scheme","schnitzel","scholar","scholarship","school","schoolhouse","schooner","science","scientist","scimitar","scissors","scooter","scope","score","scorn","scorpion","scotch","scout","scow","scrambled","scrap","scraper","scratch","screamer","screen","screening","screenwriting","screw","screw-up","screwdriver","scrim","scrip","script","scripture","scrutiny","sculpting","sculptural","sculpture","sea","seabass","seafood","seagull","seal","seaplane","search","seashore","seaside","season","seat","seaweed","second","secrecy","secret","secretariat","secretary","secretion","section","sectional","sector","security","sediment","seed","seeder","seeker","seep","segment","seizure","selection","self","self-confidence","self-control","self-esteem","seller","selling","semantics","semester","semicircle","semicolon","semiconductor","seminar","senate","senator","sender","senior","sense","sensibility","sensitive","sensitivity","sensor","sentence","sentencing","sentiment","sepal","separation","septicaemia","sequel","sequence","serial","series","sermon","serum","serval","servant","server","service","servitude","sesame","session","set","setback","setting","settlement","settler","severity","sewer","shack","shackle","shade","shadow","shadowbox","shakedown","shaker","shallot","shallows","shame","shampoo","shanty","shape","share","shareholder","shark","shaw","shawl","shear","shearling","sheath","shed","sheep","sheet","shelf","shell","shelter","sherbet","sherry","shield","shift","shin","shine","shingle","ship","shipper","shipping","shipyard","shirt","shirtdress","shoat","shock","shoe","shoe-horn","shoehorn","shoelace","shoemaker","shoes","shoestring","shofar","shoot","shootdown","shop","shopper","shopping","shore","shoreline","short","shortage","shorts","shortwave","shot","shoulder","shout","shovel","show","show-stopper","shower","shred","shrimp","shrine","shutdown","sibling","sick","sickness","side","sideboard","sideburns","sidecar","sidestream","sidewalk","siding","siege","sigh","sight","sightseeing","sign","signal","signature","signet","significance","signify","signup","silence","silica","silicon","silk","silkworm","sill","silly","silo","silver","similarity","simple","simplicity","simplification","simvastatin","sin","singer","singing","singular","sink","sinuosity","sip","sir","sister","sister-in-law","sitar","site","situation","size","skate","skating","skean","skeleton","ski","skiing","skill","skin","skirt","skull","skullcap","skullduggery","skunk","sky","skylight","skyline","skyscraper","skywalk","slang","slapstick","slash","slate","slaw","sled","sledge","sleep","sleepiness","sleeping","sleet","sleuth","slice","slide","slider","slime","slip","slipper","slippers","slope","slot","sloth","slump","smell","smelting","smile","smith","smock","smog","smoke","smoking","smolt","smuggling","snack","snail","snake","snakebite","snap","snarl","sneaker","sneakers","sneeze","sniffle","snob","snorer","snow","snowboarding","snowflake","snowman","snowmobiling","snowplow","snowstorm","snowsuit","snuck","snug","snuggle","soap","soccer","socialism","socialist","society","sociology","sock","socks","soda","sofa","softball","softdrink","softening","software","soil","soldier","sole","solicitation","solicitor","solidarity","solidity","soliloquy","solitaire","solution","solvency","sombrero","somebody","someone","someplace","somersault","something","somewhere","son","sonar","sonata","song","songbird","sonnet","soot","sophomore","soprano","sorbet","sorghum","sorrel","sorrow","sort","soul","soulmate","sound","soundness","soup","source","sourwood","sousaphone","south","southeast","souvenir","sovereignty","sow","soy","soybean","space","spacing","spaghetti","span","spandex","sparerib","spark","sparrow","spasm","spat","spatula","spawn","speaker","speakerphone","speaking","spear","spec","special","specialist","specialty","species","specification","spectacle","spectacles","spectrograph","spectrum","speculation","speech","speed","speedboat","spell","spelling","spelt","spending","sphere","sphynx","spice","spider","spiderling","spike","spill","spinach","spine","spiral","spirit","spiritual","spirituality","spit","spite","spleen","splendor","split","spokesman","spokeswoman","sponge","sponsor","sponsorship","spool","spoon","spork","sport","sportsman","spot","spotlight","spouse","sprag","sprat","spray","spread","spreadsheet","spree","spring","sprinkles","sprinter","sprout","spruce","spud","spume","spur","spy","spyglass","square","squash","squatter","squeegee","squid","squirrel","stab","stability","stable","stack","stacking","stadium","staff","stag","stage","stain","stair","staircase","stake","stalk","stall","stallion","stamen","stamina","stamp","stance","stand","standard","standardisation","standardization","standing","standoff","standpoint","star","starboard","start","starter","state","statement","statin","station","station-wagon","statistic","statistics","statue","status","statute","stay","steak","stealth","steam","steamroller","steel","steeple","stem","stench","stencil","step","step-aunt","step-brother","step-daughter","step-father","step-grandfather","step-grandmother","step-mother","step-sister","step-son","step-uncle","stepdaughter","stepmother","stepping-stone","stepson","stereo","stew","steward","stick","sticker","stiletto","still","stimulation","stimulus","sting","stinger","stir-fry","stitch","stitcher","stock","stock-in-trade","stockings","stole","stomach","stone","stonework","stool","stop","stopsign","stopwatch","storage","store","storey","storm","story","story-telling","storyboard","stot","stove","strait","strand","stranger","strap","strategy","straw","strawberry","strawman","stream","street","streetcar","strength","stress","stretch","strife","strike","string","strip","stripe","strobe","structure","strudel","struggle","stucco","stud","student","studio","study","stuff","stumbling","stump","stupidity","sturgeon","sty","style","styling","stylus","sub","subcomponent","subconscious","subcontractor","subexpression","subgroup","subject","submarine","submitter","subprime","subroutine","subscription","subsection","subset","subsidence","subsidiary","subsidy","substance","substitution","subtitle","suburb","subway","success","succotash","suede","suet","suffocation","sugar","suggestion","suit","suitcase","suite","sulfur","sultan","sum","summary","summer","summit","sun","sunbeam","sunbonnet","sundae","sunday","sundial","sunflower","sunglasses","sunlamp","sunlight","sunrise","sunroom","sunset","sunshine","superiority","supermarket","supernatural","supervision","supervisor","supper","supplement","supplier","supply","support","supporter","suppression","supreme","surface","surfboard","surge","surgeon","surgery","surname","surplus","surprise","surround","surroundings","surrounds","survey","survival","survivor","sushi","suspect","suspenders","suspension","sustainment","sustenance","swamp","swan","swanling","swath","sweat","sweater","sweatshirt","sweatshop","sweatsuit","sweets","swell","swim","swimming","swimsuit","swine","swing","switch","switchboard","switching","swivel","sword","swordfight","swordfish","sycamore","symbol","symmetry","sympathy","symptom","syndicate","syndrome","synergy","synod","synonym","synthesis","syrup","system","t-shirt","tab","tabby","tabernacle","table","tablecloth","tablet","tabletop","tachometer","tackle","taco","tactics","tactile","tadpole","tag","tail","tailbud","tailor","tailspin","take-out","takeover","tale","talent","talk","talking","tam-o'-shanter","tamale","tambour","tambourine","tan","tandem","tangerine","tank","tank-top","tanker","tankful","tap","tape","tapioca","target","taro","tarragon","tart","task","tassel","taste","tatami","tattler","tattoo","tavern","tax","taxi","taxicab","taxpayer","tea","teacher","teaching","team","teammate","teapot","tear","tech","technician","technique","technologist","technology","tectonics","teen","teenager","teepee","telephone","telescreen","teletype","television","tell","teller","temp","temper","temperature","temple","tempo","temporariness","temporary","temptation","temptress","tenant","tendency","tender","tenement","tenet","tennis","tenor","tension","tensor","tent","tentacle","tenth","tepee","teriyaki","term","terminal","termination","terminology","termite","terrace","terracotta","terrapin","terrarium","territory","test","testament","testimonial","testimony","testing","text","textbook","textual","texture","thanks","thaw","theater","theft","theism","theme","theology","theory","therapist","therapy","thermals","thermometer","thermostat","thesis","thickness","thief","thigh","thing","thinking","thirst","thistle","thong","thongs","thorn","thought","thousand","thread","threat","threshold","thrift","thrill","throne","thrush","thumb","thump","thunder","thunderbolt","thunderhead","thunderstorm","thyme","tiara","tic","tick","ticket","tide","tie","tiger","tights","tile","till","tilt","timbale","timber","time","timeline","timeout","timer","timetable","timing","timpani","tin","tinderbox","tintype","tip","tire","tissue","titanium","title","toad","toast","toaster","tobacco","today","toe","toenail","toffee","tofu","tog","toga","toilet","tolerance","tolerant","toll","tom-tom","tomatillo","tomato","tomb","tomography","tomorrow","ton","tonality","tone","tongue","tonic","tonight","tool","toot","tooth","toothbrush","toothpaste","toothpick","top","top-hat","topic","topsail","toque","toreador","tornado","torso","torte","tortellini","tortilla","tortoise","total","tote","touch","tough-guy","tour","tourism","tourist","tournament","tow-truck","towel","tower","town","townhouse","township","toy","trace","trachoma","track","tracking","tracksuit","tract","tractor","trade","trader","trading","tradition","traditionalism","traffic","trafficker","tragedy","trail","trailer","trailpatrol","train","trainer","training","trait","tram","trance","transaction","transcript","transfer","transformation","transit","transition","translation","transmission","transom","transparency","transplantation","transport","transportation","trap","trapdoor","trapezium","trapezoid","trash","travel","traveler","tray","treasure","treasury","treat","treatment","treaty","tree","trek","trellis","tremor","trench","trend","triad","trial","triangle","tribe","tributary","trick","trigger","trigonometry","trillion","trim","trinket","trip","tripod","tritone","triumph","trolley","troop","trooper","trophy","trouble","trousers","trout","trove","trowel","truck","trumpet","trunk","trust","trustee","truth","try","tsunami","tub","tuba","tube","tuber","tug","tugboat","tuition","tulip","tumbler","tummy","tuna","tune","tune-up","tunic","tunnel","turban","turf","turkey","turmeric","turn","turning","turnip","turnover","turnstile","turret","turtle","tusk","tussle","tutu","tuxedo","tweet","tweezers","twig","twilight","twine","twins","twist","twister","twitter","type","typeface","typewriter","typhoon","ukulele","ultimatum","umbrella","unblinking","uncertainty","uncle","underclothes","underestimate","underground","underneath","underpants","underpass","undershirt","understanding","understatement","undertaker","underwear","underweight","underwire","underwriting","unemployment","unibody","uniform","uniformity","union","unique","unit","unity","universe","university","update","upgrade","uplift","upper","upstairs","upward","urge","urgency","urn","usage","use","user","usher","usual","utensil","utilisation","utility","utilization","vacation","vaccine","vacuum","vagrant","valance","valentine","validate","validity","valley","valuable","value","vampire","van","vanadyl","vane","vanilla","vanity","variability","variable","variant","variation","variety","vascular","vase","vault","vaulting","veal","vector","vegetable","vegetarian","vegetarianism","vegetation","vehicle","veil","vein","veldt","vellum","velocity","velodrome","velvet","vendor","veneer","vengeance","venison","venom","venti","venture","venue","veranda","verb","verdict","verification","vermicelli","vernacular","verse","version","vertigo","verve","vessel","vest","vestment","vet","veteran","veterinarian","veto","viability","vibraphone","vibration","vibrissae","vice","vicinity","victim","victory","video","view","viewer","vignette","villa","village","vine","vinegar","vineyard","vintage","vintner","vinyl","viola","violation","violence","violet","violin","virtue","virus","visa","viscose","vise","vision","visit","visitor","visor","vista","visual","vitality","vitamin","vitro","vivo","vogue","voice","void","vol","volatility","volcano","volleyball","volume","volunteer","volunteering","vote","voter","voting","voyage","vulture","wafer","waffle","wage","wagon","waist","waistband","wait","waiter","waiting","waitress","waiver","wake","walk","walker","walking","walkway","wall","wallaby","wallet","walnut","walrus","wampum","wannabe","want","war","warden","wardrobe","warfare","warlock","warlord","warm-up","warming","warmth","warning","warrant","warren","warrior","wasabi","wash","washbasin","washcloth","washer","washtub","wasp","waste","wastebasket","wasting","watch","watcher","watchmaker","water","waterbed","watercress","waterfall","waterfront","watermelon","waterskiing","waterspout","waterwheel","wave","waveform","wax","way","weakness","wealth","weapon","wear","weasel","weather","web","webinar","webmail","webpage","website","wedding","wedge","weeder","weedkiller","week","weekend","weekender","weight","weird","welcome","welfare","well","well-being","west","western","wet-bar","wetland","wetsuit","whack","whale","wharf","wheat","wheel","whelp","whey","whip","whirlpool","whirlwind","whisker","whisper","whistle","whole","wholesale","wholesaler","whorl","wick","widget","widow","width","wife","wifi","wild","wildebeest","wilderness","wildlife","will","willingness","willow","win","wind","wind-chime","windage","window","windscreen","windshield","winery","wing","wingman","wingtip","wink","winner","winter","wire","wiretap","wiring","wisdom","wiseguy","wish","wisteria","wit","witch","witch-hunt","withdrawal","witness","wok","wolf","woman","wombat","wonder","wont","wood","woodchuck","woodland","woodshed","woodwind","wool","woolens","word","wording","work","workbench","worker","workforce","workhorse","working","workout","workplace","workshop","world","worm","worry","worship","worshiper","worth","wound","wrap","wraparound","wrapper","wrapping","wreck","wrecker","wren","wrench","wrestler","wriggler","wrinkle","wrist","writer","writing","wrong","xylophone","yacht","yahoo","yak","yam","yang","yard","yarmulke","yarn","yawl","year","yeast","yellowjacket","yesterday","yew","yin","yoga","yogurt","yoke","yolk","young","youngster","yourself","youth","yoyo","yurt","zampone","zebra","zebrafish","zen","zephyr","zero","ziggurat","zinc","zipper","zither","zombie","zone","zoo","zoologist","zoology","zoot-suit","zucchini"],aPt=["a","abaft","aboard","about","above","absent","across","afore","after","against","along","alongside","amid","amidst","among","amongst","an","anenst","anti","apropos","apud","around","as","aside","astride","at","athwart","atop","barring","before","behind","below","beneath","beside","besides","between","beyond","but","by","circa","concerning","considering","despite","down","during","except","excepting","excluding","failing","following","for","forenenst","from","given","in","including","inside","into","lest","like","mid","midst","minus","modulo","near","next","notwithstanding","of","off","on","onto","opposite","out","outside","over","pace","past","per","plus","pro","qua","regarding","round","sans","save","since","than","the","through","throughout","till","times","to","toward","towards","under","underneath","unlike","until","unto","up","upon","versus","via","vice","with","within","without","worth"],lPt=["abandon","abase","abate","abbreviate","abdicate","abduct","abet","abhor","abide","abjure","abnegate","abolish","abominate","abort","abound","abrade","abridge","abrogate","abscond","abseil","absent","absolve","absorb","abstain","abstract","abut","accede","accelerate","accent","accentuate","accept","access","accessorise","accessorize","acclaim","acclimate","acclimatise","acclimatize","accommodate","accompany","accomplish","accord","accost","account","accouter","accoutre","accredit","accrue","acculturate","accumulate","accuse","accustom","ace","ache","achieve","acidify","acknowledge","acquaint","acquiesce","acquire","acquit","act","action","activate","actualise","actualize","actuate","adapt","add","addle","address","adduce","adhere","adjoin","adjourn","adjudge","adjudicate","adjure","adjust","administer","admire","admit","admonish","adopt","adore","adorn","adsorb","adulterate","adumbrate","advance","advantage","advertise","advise","advocate","aerate","affect","affiliate","affirm","affix","afflict","afford","afforest","affront","age","agglomerate","aggravate","aggregate","agitate","agonise","agonize","agree","aid","ail","aim","air","airbrush","airdrop","airfreight","airlift","alarm","alert","alienate","alight","align","allay","allege","alleviate","allocate","allot","allow","alloy","allude","ally","alphabetise","alphabetize","alter","alternate","amalgamate","amass","amaze","amble","ambush","ameliorate","amend","amortise","amortize","amount","amplify","amputate","amuse","anaesthetise","anaesthetize","analyse","anchor","anesthetize","anger","angle","anglicise","anglicize","animate","anneal","annex","annihilate","annotate","announce","annoy","annul","anodise","anodize","anoint","anonymise","anonymize","answer","antagonise","antagonize","antedate","anthologise","anthologize","anticipate","ape","apologise","apologize","apostrophise","apostrophize","appal","appall","appeal","appear","appease","append","appertain","applaud","apply","appoint","apportion","appraise","appreciate","apprehend","apprentice","apprise","approach","appropriate","approve","approximate","aquaplane","arbitrate","arc","arch","archive","argue","arise","arm","arraign","arrange","array","arrest","arrive","arrogate","art","articulate","ascend","ascertain","ascribe","ask","asphyxiate","aspirate","aspire","assail","assassinate","assault","assay","assemble","assent","assert","assess","assign","assimilate","assist","associate","assuage","assume","assure","asterisk","astonish","astound","atomise","atomize","atone","atrophy","attach","attack","attain","attempt","attend","attenuate","attest","attract","attribute","auction","audit","audition","augment","augur","authenticate","author","authorise","authorize","autograph","automate","autosave","autowind","avail","avenge","aver","average","avert","avoid","avow","await","awake","awaken","award","awe","ax","axe","baa","babble","baby","babysit","back","backcomb","backdate","backfill","backfire","backlight","backpack","backspace","backtrack","badger","baffle","bag","bail","bait","bake","balance","bale","ball","balloon","ballot","balls","bamboozle","ban","band","bandage","bandy","banish","bank","bankroll","bankrupt","banter","baptise","baptize","bar","barbecue","bare","bargain","barge","bark","barnstorm","barrack","barrel","barricade","barter","base","bash","bask","baste","bat","batch","bath","bathe","batten","batter","battle","baulk","bawl","bay","bayonet","be","beach","beam","bean","bear","beard","beat","beatbox","beatboxer","beatify","beautify","beckon","become","bedazzle","bedeck","bedevil","beef","beep","beetle","befall","befit","befog","befriend","beg","beget","beggar","begin","begrudge","beguile","behave","behold","behoove","behove","belabor","belabour","belay","belch","belie","believe","belittle","bellow","belly","bellyache","belong","belt","bemoan","bemuse","benchmark","bend","benefit","bequeath","berate","bereave","berth","beseech","beset","besiege","besmirch","bespatter","bespeak","best","bestir","bestow","bestride","bet","betake","betide","betoken","betray","better","bewail","beware","bewilder","bewitch","bias","bicker","bicycle","bid","bide","biff","bifurcate","big","bike","bilk","bill","billet","billow","bin","bind","binge","biodegrade","bird","bisect","bite","bitmap","bivouac","bivvy","blab","blabber","blacken","blackmail","blag","blame","blanch","blank","blanket","blare","blaspheme","blast","blather","blaze","blazon","bleach","bleat","bleed","bleep","blemish","blench","blend","bless","blight","blind","blindfold","blindfolded","blindside","blink","bliss","blister","blitz","bloat","block","blockade","blog","blood","bloom","bloop","blossom","blot","blow","blub","blubber","bludge","bludgeon","bluff","blunder","blunt","blur","blurt","blush","bluster","board","boast","bob","bobble","bode","bodge","bog","boggle","boil","bolster","bolt","bomb","bombard","bond","bonk","boo","boogie","book","bookmark","boom","boomerang","boost","boot","bootleg","bop","border","bore","born","borrow","boss","botch","bother","bottle","bottleful","bottom","bounce","bound","bow","bowdlerise","bowdlerize","bowl","bowlful","box","boycott","braai","brace","braces","bracket","brag","braid","brain","brainstorm","brainwash","braise","brake","branch","brand","brandish","brave","brawl","bray","brazen","breach","break","breakfast","breathalyse","breathalyze","breathe","breed","breeze","brew","bribe","brick","bridge","bridle","brief","brighten","brim","bring","bristle","broach","broadcast","broaden","broadside","broil","broker","brood","brook","browbeat","browse","bruise","bruit","brush","brutalise","brutalize","bubble","buck","bucket","bucketful","buckle","bud","buddy","budge","budget","buff","buffer","buffet","bug","build","bulge","bulk","bulldoze","bully","bum","bumble","bump","bunch","bundle","bungle","bunk","bunker","bunt","buoy","burble","burden","burgeon","burglarize","burgle","burn","burnish","burp","burrow","burst","bury","bus","bushwhack","busk","bust","bustle","busy","butcher","butt","butter","button","buttonhole","buttress","buy","buzz","buzzing","bypass","cable","cache","cackle","caddie","cadge","cage","cajole","cake","calcify","calculate","calibrate","call","calm","calve","camouflage","camp","campaign","can","canalise","canalize","cancel","cane","cannibalise","cannibalize","cannon","cannulate","canoe","canonise","canonize","canst","cant","canter","canvass","cap","caper","capitalise","capitalize","capitulate","capsize","captain","caption","captivate","capture","caramelise","caramelize","carbonise","carbonize","carburise","carburize","card","care","careen","career","caress","caricature","carjack","carol","carom","carouse","carp","carpet","carpool","carry","cart","cartwheel","carve","cascade","case","cash","cashier","casserole","cast","castigate","catalog","catalogue","catalyse","catalyze","catapult","catch","categorise","categorize","cater","caterwaul","catnap","caucus","caulk","cause","cauterise","cauterize","caution","cave","cavil","cavort","caw","cc","cease","cede","celebrate","cement","censor","censure","centralise","centralize","centre","certificate","certify","chafe","chaff","chain","chair","chalk","challenge","champ","champion","chance","change","channel","chant","chaperon","chaperone","char","characterise","characterize","charbroil","charge","chargesheet","chargrill","charm","chart","charter","chase","chasten","chastise","chat","chatter","chauffeur","cheapen","cheat","cheater","check","checkmate","cheek","cheep","cheer","cherish","chew","chicken","chide","chill","chillax","chime","chip","chirp","chisel","chivvy","chlorinate","choke","chomp","choose","chop","choreograph","chortle","chorus","christen","chromakey","chronicle","chuck","chuckle","chunder","chunter","churn","cinch","circle","circulate","circumnavigate","circumscribe","circumvent","cite","civilise","civilize","clack","claim","clam","clamber","clamor","clamour","clamp","clang","clank","clap","clarify","clash","clasp","class","classify","clatter","claw","clean","cleanse","clear","cleave","clench","clerk","click","climb","clinch","cling","clink","clinking","clip","cloak","clobber","clock","clog","clone","clonk","close","closet","clot","clothe","cloud","clout","clown","club","cluck","clue","clump","clunk","cluster","clutch","clutter","coach","coagulate","coalesce","coarsen","coast","coat","coax","cobble","cocoon","coddle","code","codify","coerce","coexist","cogitate","cohabit","cohere","coil","coin","coincide","collaborate","collapse","collar","collate","collect","collectivise","collectivize","collide","colligate","collocate","collude","colonise","colonize","colorize","colour","comb","combat","combine","combust","come","comfort","command","commandeer","commemorate","commence","commend","comment","commentate","commercialise","commercialize","commingle","commiserate","commission","commit","commune","communicate","commute","compact","compare","compartmentalise","compartmentalize","compel","compensate","compete","compile","complain","complement","complete","complicate","compliment","comply","comport","compose","compost","compound","comprehend","compress","comprise","compromise","compute","computerise","computerize","con","conceal","concede","conceive","concentrate","conceptualise","conceptualize","concern","concertina","conciliate","conclude","concoct","concrete","concur","concuss","condemn","condense","condescend","condition","condone","conduct","cone","confer","confess","confide","configure","confine","confirm","confiscate","conflate","conflict","conform","confound","confront","confuse","confute","congeal","congratulate","congregate","conjecture","conjoin","conjugate","conjure","conk","connect","connive","connote","conquer","conscientise","conscientize","conscript","consecrate","consent","conserve","consider","consign","consist","console","consolidate","consort","conspire","constitute","constrain","constrict","construct","construe","consult","consume","consummate","contact","contain","contaminate","contemplate","contend","content","contest","contextualise","contextualize","continue","contort","contract","contradict","contraindicate","contrast","contravene","contribute","contrive","control","controvert","convalesce","convene","converge","converse","convert","convey","convict","convince","convoke","convulse","coo","cook","cool","coop","cooperate","coordinate","cop","cope","coppice","copy","copyright","cordon","core","cork","corkscrew","corner","corral","correct","correlate","correspond","corrode","corrupt","coruscate","cosh","cosset","cost","cosy","cotton","couch","cough","counsel","count","countenance","counter","counteract","counterbalance","counterfeit","countermand","counterpoint","countersign","couple","courier","course","court","covenant","cover","covet","cow","cower","cozy","crackle","cradle","craft","cram","cramp","crane","crank","crate","crave","crawl","crayon","creak","creaking","cream","crease","create","credential","credit","creep","cremate","creolise","creolize","creosote","crest","crew","crib","crick","criminalise","criminalize","crimp","cringe","crinkle","cripple","crisp","criticise","criticize","critique","croak","crochet","crook","croon","crop","cross","crouch","crow","crowd","crown","cruise","crumble","crumple","crunch","crusade","crush","cry","crystallise","crystallize","cube","cuddle","cudgel","cue","cuff","cull","culminate","cultivate","culture","cup","curate","curb","curdle","cure","curl","curry","curse","curtail","curtain","curtsy","curve","cushion","cuss","customise","customize","cut","cwtch","cycle","dab","dabble","dally","dam","damage","damp","dampen","dance","dandle","dangle","dare","darken","darn","dart","dash","date","daub","daunt","dawdle","dawn","daydream","dazzle","deactivate","deaden","deadhead","deafen","deal","debar","debase","debate","debilitate","debit","debrief","debug","debunk","debut","decamp","decant","decay","deceive","decelerate","decentralise","decentralize","decide","decimalise","decimalize","decimate","decipher","deck","declaim","declare","declassify","decline","declutter","decode","decommission","decompose","decompress","deconsecrate","deconstruct","decontaminate","decontrol","decorate","decouple","decoy","decrease","decree","decriminalise","decriminalize","decry","decrypt","dedicate","deduce","deduct","deejay","deem","deepen","deface","defame","default","defeat","defect","defend","defer","defile","define","deflate","deflect","defog","defoliate","deforest","deform","defrag","defragment","defraud","defray","defrock","defrost","defuse","defy","degenerate","deglaze","degrade","degrease","dehumanise","dehumanize","dehydrate","deify","deign","delay","delegate","delete","deliberate","delight","delimit","delineate","deliquesce","deliver","delouse","delude","deluge","delve","demand","demarcate","demean","demerge","demilitarise","demilitarize","demineralise","demineralize","demist","demo","demob","demobilise","demobilize","democratise","democratize","demolish","demonise","demonize","demonstrate","demoralise","demoralize","demote","demotivate","demur","demystify","denationalise","denationalize","denigrate","denitrify","denominate","denote","denounce","dent","denude","deny","depart","depend","depersonalise","depersonalize","depict","deplane","deplete","deplore","deploy","depopulate","deport","depose","deposit","deprave","deprecate","depreciate","depress","depressurise","depressurize","deprive","depute","deputise","deputize","deracinate","derail","dereference","deregulate","deride","derive","derogate","descale","descend","describe","descry","desecrate","desegregate","deselect","desensitise","desensitize","desert","deserve","design","designate","desire","desist","deskill","desolate","despair","despise","despoil","destabilise","destabilize","destock","destroy","detach","detail","detain","detect","deter","deteriorate","determine","detest","dethrone","detonate","detour","detoxify","detract","detrain","devalue","devastate","develop","deviate","devise","devoice","devolve","devote","devour","diagnose","dial","dice","dicker","dictate","die","diet","differ","differentiate","diffract","diffuse","dig","digest","digitalise","digitalize","digitise","digitize","dignify","digress","dilate","dilute","diluted","dim","diminish","dimple","dine","ding","dip","diphthongise","diphthongize","direct","dirty","dis","disable","disabuse","disadvantage","disaffiliate","disafforest","disagree","disallow","disambiguate","disappear","disappoint","disapprove","disarm","disarrange","disassemble","disassociate","disavow","disband","disbar","disbelieve","disburse","discard","discern","discharge","discipline","disclaim","disclose","discolor","discolour","discomfit","discomfort","discompose","disconcert","disconnect","discontinue","discount","discourage","discourse","discover","discredit","discriminate","discuss","disdain","disembark","disembowel","disenfranchise","disengage","disentangle","disestablish","disgorge","disgrace","disguise","disgust","dish","dishearten","dishonor","dishonour","disillusion","disincentivise","disincentivize","disinfect","disinherit","disinhibit","disintegrate","disinter","disinvest","dislike","dislocate","dislodge","dismantle","dismay","dismember","dismiss","dismount","disobey","disorient","disorientate","disown","disparage","dispatch","dispel","dispense","disperse","displace","display","displease","disport","dispose","dispossess","disprove","dispute","disqualify","disregard","disrespect","disrobe","disrupt","dissect","dissemble","disseminate","dissent","dissimulate","dissipate","dissociate","dissolve","dissuade","distance","distend","distil","distill","distinguish","distort","distract","distress","distribute","distrust","disturb","disunite","ditch","dither","dive","diverge","diversify","divert","divest","divide","divine","divorce","divulge","divvy","do","dob","dock","doctor","document","dodge","doff","dog","dole","doll","dollarise","dollarize","domesticate","dominate","don","donate","doodle","doom","doorstep","dop","dope","dose","doss","dot","dote","double","doubt","douse","dovetail","down","downchange","downgrade","downlink","download","downplay","downshift","downsize","dowse","doze","draft","drag","dragoon","drain","dramatise","dramatize","drape","draught","draw","drawl","dread","dream","dredge","drench","dress","dribble","drift","drill","drink","drip","drive","drivel","drizzle","drone","drool","droop","drop","drown","drowse","drug","drum","dry","dub","duck","duckie","ducks","duel","duff","dull","dumb","dumbfound","dump","dunk","dunt","dupe","duplicate","dust","dwarf","dwell","dwindle","dye","dynamite","earmark","earn","earth","ease","eat","eavesdrop","ebb","echo","eclipse","economise","economize","eddy","edge","edify","edit","editorialise","editorialize","educate","efface","effect","effectuate","egg","eject","eke","elaborate","elapse","elbow","elect","electrify","electrocute","electroplate","elevate","elicit","elide","eliminate","elongate","elope","elucidate","elude","email","emanate","emancipate","embalm","embargo","embark","embarrass","embed","embellish","embezzle","embitter","emblazon","embody","embolden","emboss","embrace","embroider","embroil","emcee","emend","emerge","emigrate","emit","emote","empathise","empathize","emphasise","emphasize","employ","empower","empty","emulate","emulsify","enable","enact","encamp","encapsulate","encase","encash","enchant","encircle","enclose","encode","encompass","encounter","encourage","encroach","encrypt","encumber","end","endanger","endear","endeavor","endeavour","endorse","endow","endure","energise","energize","enervate","enfeeble","enfold","enforce","enfranchise","engage","engender","engineer","engorge","engrave","engross","engulf","enhance","enjoin","enjoy","enlarge","enlighten","enlist","enliven","enmesh","ennoble","enquire","enrage","enrapture","enrich","enrol","enroll","ensconce","enshrine","enshroud","ensnare","ensue","ensure","entail","entangle","enter","entertain","enthral","enthrall","enthrone","enthuse","entice","entitle","entomb","entrance","entrap","entreat","entrench","entrust","entwine","enumerate","enunciate","envelop","envisage","envision","envy","epitomise","epitomize","equal","equalise","equalize","equate","equip","equivocate","eradicate","erase","erode","err","erupt","escalate","escape","eschew","espouse","espy","essay","establish","esteem","estimate","etch","eulogise","eulogize","euthanise","euthanize","evacuate","evade","evaluate","evangelise","evangelize","evaporate","even","eventuate","evict","evidence","evince","eviscerate","evoke","evolve","exacerbate","exact","exaggerate","exalt","examine","exasperate","excavate","exceed","excel","except","excerpt","exchange","excise","excite","exclaim","exclude","excommunicate","excoriate","excrete","exculpate","excuse","execute","exemplify","exempt","exercise","exert","exeunt","exfoliate","exhale","exhaust","exhibit","exhilarate","exhort","exhume","exile","exist","exit","exonerate","exorcise","exorcize","expand","expatiate","expect","expectorate","expedite","expel","expend","experience","experiment","expiate","expire","explain","explicate","explode","exploit","explore","export","expose","expostulate","expound","express","expropriate","expunge","expurgate","extemporise","extemporize","extend","exterminate","externalise","externalize","extinguish","extirpate","extol","extort","extract","extradite","extrapolate","extricate","extrude","exude","exult","eye","eyeball","eyeglasses","fabricate","face","facilitate","factor","factorise","factorize","fade","faff","fail","faint","fake","fall","falsify","falter","familiarise","familiarize","fan","fancy","fantasise","fantasize","fare","farewell","farm","farrow","fascinate","fashion","fast","fasten","father","fathom","fatten","fault","favor","favour","fawn","fax","faze","fear","feast","feather","feature","federate","feed","feel","feign","feint","fell","feminise","feminize","fence","fend","ferment","ferret","ferry","fertilise","fertilize","fess","fester","festoon","fetch","fete","fetter","feud","fib","fictionalise","fictionalize","fiddle","fidget","field","fight","figure","filch","file","filibuster","fill","fillet","film","filter","finagle","finalise","finalize","finance","find","fine","finesse","fingerprint","finish","fire","firebomb","firm","fish","fishtail","fit","fix","fizz","fizzle","flag","flagellate","flail","flake","flame","flank","flap","flare","flash","flat","flatline","flatten","flatter","flaunt","flavour","flay","fleck","flee","fleece","flesh","flex","flick","flicker","flight","flinch","fling","flip","flirt","flit","float","flock","flog","flood","floodlight","floor","flop","floss","flounce","flounder","flour","flourish","flout","flow","flower","flub","fluctuate","fluff","flummox","flunk","flush","fluster","flutter","fly","foal","foam","fob","focalise","focalize","focus","fog","foil","foist","fold","follow","foment","fool","foot","forage","forbear","forbid","force","ford","forearm","forecast","foreclose","foregather","foreground","foresee","foreshadow","foreshorten","forestall","foretell","forewarn","forfeit","forfend","forgather","forge","forget","forgive","forgo","fork","form","formalise","formalize","format","formulate","forsake","forswear","fortify","forward","forwards","fossick","fossilise","fossilize","foster","foul","found","founder","fox","fracture","fragment","frame","franchise","frank","fraternise","fraternize","fray","freak","free","freelance","freeload","freestyle","freewheel","freeze","freight","frequent","freshen","fret","frighten","fringe","frisk","fritter","frizz","frizzle","frogmarch","frolic","front","frost","froth","frown","fruit","frustrate","fry","fudge","fuel","fulfil","fulfill","fulminate","fumble","fume","fumigate","function","fund","funk","funnel","furl","furlough","furnish","furrow","further","fuse","fuss","gab","gabble","gad","gag","gain","gainsay","gall","gallivant","gallop","galumph","galvanise","galvanize","gamble","gambol","gang","gape","garage","garden","gargle","garland","garner","garnish","garrison","garrote","garrotte","gas","gash","gasp","gatecrash","gather","gauge","gawk","gawp","gaze","gazump","gazunder","gear","gee","gel","geld","gen","generalise","generalize","generate","gentrify","genuflect","germinate","gerrymander","gestate","gesticulate","gesture","get","ghost","ghostwrite","gibber","gift","giggle","gild","ginger","gird","girdle","give","gladden","glamorise","glamorize","glance","glare","glass","glaze","gleam","glean","glide","glimmer","glimmering","glimpse","glint","glisten","glister","glitter","gloat","globalise","globalize","glom","glorify","glory","gloss","glow","glower","glue","glug","glut","gnash","gnaw","go","goad","gobble","goggle","goldbrick","goof","google","goose","gore","gorge","gossip","gouge","govern","grab","grace","grade","graduate","graft","grant","grapple","grasp","grass","grate","gratify","gravitate","graze","grease","green","greet","grey","grieve","grill","grimace","grin","grind","grip","gripe","grit","grizzle","groan","grok","groom","grouch","ground","group","grouse","grout","grovel","grow","growl","grub","grudge","grumble","grunt","guarantee","guard","guess","guest","guffaw","guide","guillotine","guilt","gulp","gum","gun","gurgle","gurn","gush","gussy","gust","gut","gutter","guzzle","gybe","gyrate","hack","haemorrhage","haggle","hail","hallmark","halloo","hallucinate","halt","halve","ham","hammer","hamper","hamstring","hand","handcuff","handicap","handle","hang","hanker","happen","harangue","harass","harbor","harbour","harden","hare","hark","harm","harmonise","harmonize","harness","harp","harpoon","harrow","harrumph","harry","harvest","hash","hassle","hasten","hatch","hate","haul","haunt","have","haw","hawk","hazard","haze","head","headbutt","headhunt","headline","heal","heap","hear","hearken","hearten","heat","heave","heckle","hector","hedge","heed","heel","heft","heighten","heist","help","hem","hemorrhage","herald","herd","hesitate","hew","hex","hibernate","hiccough","hiccup","hide","hie","highball","highlight","hightail","hijack","hike","hinder","hinge","hint","hire","hiss","hit","hitch","hitchhike","hive","hoard","hoax","hobble","hobnob","hock","hog","hoick","hoist","hold","hole","holiday","holler","hollow","holster","home","homeschool","homestead","hone","honeymoon","honk","honour","hoodwink","hoof","hook","hoon","hoot","hoover","hop","hope","horn","horrify","horse","horsewhip","hose","hosepipe","hospitalise","hospitalize","host","hot","hotfoot","hound","house","hover","howl","huddle","huff","hug","hull","hum","humanise","humanize","humble","humiliate","humour","hunch","hunger","hunker","hunt","hurdle","hurl","hurry","hurt","hurtle","husband","hush","husk","hustle","hybridise","hybridize","hydrate","hydroplane","hype","hyperventilate","hyphenate","hypnotise","hypnotize","hypothesise","hypothesize","ice","iconify","idealise","idealize","ideate","identify","idle","idolise","idolize","ignite","ignore","illuminate","illumine","illustrate","imagine","imagineer","imbibe","imbue","imitate","immerse","immigrate","immobilise","immobilize","immolate","immortalise","immortalize","immunise","immunize","immure","impact","impair","impale","impanel","impart","impeach","impede","impel","imperil","impersonate","impinge","implant","implement","implicate","implode","implore","imply","import","importune","impose","impound","impoverish","impress","imprint","imprison","improve","improvise","impugn","inactivate","inaugurate","incapacitate","incarcerate","incarnate","incense","incentivise","incentivize","inch","incinerate","incise","incite","incline","include","incommode","inconvenience","incorporate","increase","incriminate","incubate","inculcate","incur","indemnify","indent","index","indicate","indict","individualise","individualize","individuate","indoctrinate","induce","induct","indulge","industrialise","industrialize","infantilise","infantilize","infect","infer","infest","infill","infiltrate","inflame","inflate","inflect","inflict","influence","inform","infringe","infuriate","infuse","ingest","ingratiate","inhabit","inhale","inhere","inherit","inhibit","initial","initialise","initialize","initiate","inject","injure","ink","inlay","innovate","inoculate","input","inscribe","insert","inset","insinuate","insist","inspect","inspire","install","instance","instigate","instil","instill","institute","institutionalise","institutionalize","instruct","insulate","insult","insure","integrate","intend","intensify","inter","interact","intercede","intercept","interchange","interconnect","intercut","interest","interface","interfere","interject","interlace","interleave","interlink","interlock","intermarry","intermesh","intermingle","intermix","intern","internalise","internalize","internationalise","internationalize","interpenetrate","interpolate","interpose","interpret","interrelate","interrogate","interrupt","intersect","intersperse","intertwine","intervene","interview","interweave","interwork","intimate","intimidate","intone","intoxicate","intrigue","introduce","intrude","intubate","intuit","inundate","inure","invade","invalid","invalidate","inveigh","inveigle","invent","inventory","invert","invest","investigate","invigilate","invigorate","invite","invoice","invoke","involve","ionise","ionize","irk","iron","irradiate","irrigate","irritate","irrupt","isolate","issue","italicise","italicize","itch","itemise","itemize","iterate","jab","jabber","jack","jackknife","jail","jam","jangle","jar","jaw","jaywalk","jazz","jeer","jell","jeopardise","jeopardize","jest","jet","jettison","jib","jibe","jiggle","jilt","jingle","jink","jinx","jive","jockey","jog","joggle","join","joint","joke","jol","jolly","jolt","josh","jostle","jot","journey","joust","judder","judge","juggle","juice","jumble","jump","junk","justify","jut","juxtapose","keel","keelhaul","keen","keep","ken","key","keyboard","kibitz","kick","kid","kindle","kip","kiss","kit","kite","klap","kludge","knacker","knead","knee","kneecap","kneel","knife","knight","knit","knock","knot","know","knuckle","kowtow","kvetch","label","labour","lace","lacerate","lack","lacquer","ladder","ladle","lag","lam","lamb","lambast","lambaste","lament","lamp","lampoon","lance","land","lands","landscape","languish","lap","lapse","lard","large","lark","lash","lasso","last","latch","lather","laud","laugh","launch","launder","lavish","lay","layer","laze","leach","lead","leaf","leaflet","leak","lean","leap","leapfrog","learn","lease","leash","leave","leaven","lecture","leer","leg","legalise","legalize","legislate","legitimise","legitimize","lend","lengthen","lessen","let","letter","letterbox","level","lever","leverage","levitate","levy","liaise","libel","liberalise","liberalize","liberate","license","lick","lie","lift","ligate","light","lighten","like","liken","limber","lime","limit","limp","line","linger","link","lionise","lionize","liquefy","liquidate","liquidise","liquidize","lisp","list","listen","litigate","litter","live","liven","load","loads","loaf","loan","loathe","lob","lobby","lobotomise","lobotomize","localise","localize","locate","lock","lodge","loft","log","loiter","loll","lollop","long","look","looks","loom","loop","loose","loosen","loot","lop","lope","lord","lose","lounge","lour","louse","love","low","lowball","lower","lubricate","luck","lug","lull","lumber","lump","lunch","lunge","lurch","lure","lurk","luxuriate","macerate","machine","madden","magic","magnetise","magnetize","magnify","mail","maim","mainline","mainstream","maintain","major","make","malfunction","malign","malinger","maltreat","man","manacle","manage","mandate","mangle","manhandle","manicure","manifest","manipulate","manoeuvre","mantle","manufacture","manure","map","mar","march","marginalise","marginalize","marinate","mark","market","maroon","marry","marshal","martyr","marvel","masculinise","masculinize","mash","mask","masquerade","mass","massacre","massage","master","mastermind","masticate","match","materialise","materialize","matriculate","matter","mature","maul","maunder","max","maximise","maximize","mean","meander","measure","mechanise","mechanize","medal","meddle","mediate","medicate","meditate","meet","meld","mellow","melt","memorialise","memorialize","memorise","memorize","menace","mend","mention","meow","mercerise","mercerize","merchandise","merge","merit","mesh","mesmerise","mesmerize","mess","message","metabolise","metabolize","metamorphose","mete","meter","methinks","mew","mewl","miaow","microblog","microchip","micromanage","microwave","micturate","migrate","militarise","militarize","militate","milk","mill","mime","mimic","mince","mind","mine","mingle","miniaturise","miniaturize","minimise","minimize","minister","minor","mint","minute","mirror","misapply","misappropriate","misbehave","miscalculate","miscast","misconceive","misconstrue","miscount","misdiagnose","misdial","misdirect","misfile","misfire","misgovern","mishandle","mishear","mishit","misinform","misinterpret","misjudge","miskey","mislay","mislead","mismanage","mismatch","misname","misplace","misplay","mispronounce","misquote","misread","misreport","misrepresent","miss","mission","misspell","misspend","mist","mistake","mistime","mistreat","mistrust","misunderstand","misuse","mitigate","mitre","mix","moan","mob","mobilise","mobilize","mock","mod","model","moderate","modernise","modernize","modify","modulate","moisten","moisturise","moisturize","mold","molder","mollify","mollycoddle","molt","monitor","monopolise","monopolize","moo","mooch","moon","moonlight","moonwalk","moor","moot","mop","mope","moralise","moralize","morph","mortar","mortgage","mortify","mosey","mosh","mothball","mother","motion","motivate","motor","mould","moulder","moult","mount","mourn","mouse","mouth","move","movies","mow","muck","muddle","muddy","muffle","mug","mulch","mull","multicast","multiply","multitask","mumble","mumbling","mummify","munch","murmur","murmuring","murmurings","muscle","muse","mushroom","muss","muster","mutate","mute","mutilate","mutiny","mutter","muzzle","mystify","nab","nag","nail","name","namecheck","nap","narrate","narrow","narrowcast","nasalise","nasalize","nationalise","nationalize","natter","naturalise","naturalize","nauseate","navigate","near","nearer","nearest","neaten","necessitate","neck","necklace","need","needle","negate","negative","neglect","negotiate","neigh","nerve","nest","nestle","net","nettle","network","neuter","neutralise","neutralize","nibble","nick","nickname","nitrify","nix","nobble","nod","nominalize","nominate","norm","normalise","normalize","nose","nosedive","nosh","notarise","notarize","notch","note","notice","notify","nourish","nudge","nuke","nullify","numb","number","nurse","nurture","nut","nuzzle","obey","obfuscate","object","objectify","oblige","obliterate","obscure","observe","obsess","obstruct","obtain","obtrude","obviate","occasion","occlude","occupy","occur","off","offend","offer","officiate","offload","offset","offshore","ogle","oil","okay","omit","ooze","open","operate","opine","oppose","oppress","opt","optimise","optimize","option","orbit","orchestrate","ordain","order","organise","organize","orient","orientate","originate","ornament","orphan","oscillate","ossify","ostracise","ostracize","oust","out","outbid","outclass","outdistance","outdo","outface","outfit","outflank","outfox","outgrow","outgun","outlast","outlaw","outline","outlive","outmaneuver","outmanoeuvre","outnumber","outpace","outperform","outplay","outpoint","output","outrage","outrank","outrun","outsell","outshine","outsmart","outsource","outstay","outstrip","outvote","outweigh","outwit","overachieve","overact","overawe","overbalance","overbook","overburden","overcharge","overcome","overcompensate","overcook","overdevelop","overdo","overdose","overdraw","overdub","overeat","overemphasize","overestimate","overexpose","overextend","overfeed","overflow","overfly","overgeneralise","overgeneralize","overgraze","overhang","overhaul","overhear","overheat","overindulge","overlap","overlay","overlie","overload","overlook","overpay","overplay","overpower","overprint","overproduce","overrate","overreach","overreact","override","overrule","overrun","oversee","oversell","overshadow","overshoot","oversimplify","oversleep","overspend","overstate","overstay","overstep","overstock","overstretch","overtake","overtax","overthrow","overtrain","overturn","overuse","overvalue","overwhelm","overwinter","overwork","overwrite","owe","own","oxidise","oxidize","oxygenate","pace","pacify","pack","package","packetise","packetize","pad","paddle","padlock","page","paginate","pailful","pain","paint","pair","pal","palatalise","palatalize","pale","pall","palliate","palm","palpate","palpitate","pamper","pan","pander","panel","panhandle","panic","pant","paper","parachute","parade","parallel","paralyse","paralyze","paraphrase","parboil","parcel","parch","pardon","pare","park","parlay","parley","parody","parole","parrot","parry","parse","part","partake","participate","particularise","particularize","partition","partner","party","pass","passivise","passivize","paste","pasteurise","pasteurize","pasture","pat","patch","patent","patrol","patronise","patronize","patter","pattern","pause","pave","paw","pawn","pay","peak","peal","pedal","peddle","pedestrianise","pedestrianize","peek","peel","peep","peer","peg","pelt","pen","penalise","penalize","pencil","pension","people","pep","pepper","perambulate","perceive","perch","percolate","perfect","perforate","perform","perfume","perish","perjure","perk","perm","permeate","permit","perpetrate","perpetuate","perplex","persecute","persevere","persist","personalise","personalize","personify","perspire","persuade","pertain","perturb","peruse","pervade","pervert","pester","pet","peter","petition","petrify","phase","philosophise","philosophize","phone","photocopy","photograph","photoshop","photosynthesise","photosynthesize","phrase","pick","picket","pickle","picnic","picture","picturise","picturize","piddle","piece","pierce","pig","pigeonhole","piggyback","pike","pile","pilfer","pill","pillage","pillory","pillow","pilot","pin","pinch","pine","ping","pinion","pink","pinpoint","pioneer","pip","pipe","pique","pirate","pirouette","pit","pitch","pity","pivot","pixelate","pixellate","placate","place","plagiarise","plagiarize","plague","plait","plan","plane","plant","plaster","plasticise","plasticize","plate","plateau","play","plead","please","pledge","plight","plod","plonk","plop","plot","plough","pluck","plug","plumb","plummet","plump","plunder","plunge","plunk","pluralise","pluralize","ply","poach","pocket","point","poise","poison","poke","polarise","polarize","pole","poleax","poleaxe","police","polish","politicise","politicize","poll","pollard","pollinate","pollute","polymerise","polymerize","ponce","ponder","pong","pontificate","pony","pooh","pool","pootle","pop","popularise","popularize","populate","pore","port","portend","portion","portray","pose","posit","position","possess","posset","post","postmark","postpone","postulate","posture","pot","potter","pounce","pound","pour","pout","powder","power","practice","practise","praise","praises","prance","prang","prate","prattle","pray","preach","precede","precipitate","precis","preclude","predate","predecease","predetermine","predicate","predict","predispose","predominate","preen","preface","prefer","prefigure","prefix","preheat","prejudge","prejudice","preload","premaster","premiere","preoccupy","prep","prepare","prepone","preregister","presage","prescind","prescribe","preselect","presell","present","preserve","preset","preside","press","pressure","pressurise","pressurize","presume","presuppose","pretend","pretest","prettify","prevail","prevaricate","prevent","preview","prey","price","prickle","pride","prime","primp","print","prioritise","prioritize","prise","privatise","privatize","privilege","prize","probate","probe","proceed","process","proclaim","procrastinate","procreate","proctor","procure","prod","produce","profane","profess","professionalise","professionalize","proffer","profile","profit","program","programme","progress","prohibit","project","proliferate","prolong","promenade","promise","promote","prompt","promulgate","pronounce","proof","proofread","prop","propagandise","propagandize","propagate","propel","prophesy","propitiate","propose","proposition","propound","proscribe","prosecute","proselytise","proselytize","prospect","prosper","prostrate","protect","protest","protrude","prove","provide","provision","provoke","prowl","prune","pry","psych","psychoanalyse","publicise","publicize","publish","pucker","puff","pull","pullulate","pulp","pulsate","pulse","pulverise","pulverize","pummel","pump","pun","punch","punctuate","puncture","punish","punt","pupate","purchase","purge","purify","purl","purloin","purport","purr","purse","pursue","purvey","push","pussyfoot","put","putrefy","putt","putter","puzzle","quack","quadruple","quaff","quail","quake","qualify","quantify","quarantine","quarrel","quarry","quarter","quarterback","quash","quaver","quell","quench","query","quest","question","queue","quibble","quicken","quiet","quieten","quintuple","quip","quirk","quit","quiver","quiz","quote","quoth","rabbit","race","rack","radiate","radicalise","radicalize","radio","raffle","rag","rage","raid","rail","railroad","rain","raise","rake","rally","ram","ramble","ramp","rampage","randomise","randomize","range","rank","rankle","ransack","ransom","rant","rap","rappel","rasp","rasterise","rasterize","rat","ratchet","rate","ratify","ration","rationalise","rationalize","rattle","ravage","rave","ravel","ravish","raze","razz","reach","reacquaint","react","reactivate","read","readdress","readies","readjust","readmit","ready","reaffirm","realign","realise","realize","reallocate","ream","reanimate","reap","reappear","reapply","reappoint","reappraise","rear","rearm","rearrange","reason","reassemble","reassert","reassess","reassign","reassure","reawaken","rebel","reboot","reborn","rebound","rebrand","rebuff","rebuild","rebuke","rebut","recall","recant","recap","recapitulate","recapture","recast","recede","receive","recess","recharge","reciprocate","recite","reckon","reclaim","reclassify","recline","recognise","recognize","recoil","recollect","recommence","recommend","recompense","reconcile","recondition","reconfigure","reconfirm","reconnect","reconnoitre","reconquer","reconsider","reconstitute","reconstruct","reconvene","record","recount","recoup","recover","recreate","recrudesce","recruit","rectify","recuperate","recur","recycle","redact","redden","redecorate","redeem","redefine","redeploy","redesign","redevelop","redial","redirect","rediscover","redistribute","redistrict","redo","redouble","redound","redraft","redraw","redress","reduce","reduplicate","reef","reek","reel","ref","refer","referee","reference","refill","refinance","refine","refit","reflate","reflect","refloat","refocus","reform","reformat","reformulate","refract","refrain","refresh","refrigerate","refuel","refund","refurbish","refuse","refute","regain","regale","regard","regenerate","register","regress","regret","regroup","regularise","regularize","regulate","regurgitate","rehabilitate","rehash","rehear","rehearse","reheat","rehome","rehouse","reign","reignite","reimburse","rein","reincarnate","reinforce","reinstate","reinterpret","reintroduce","reinvent","reinvest","reinvigorate","reissue","reiterate","reject","rejig","rejigger","rejoice","rejoin","rejuvenate","rekindle","relapse","relate","relaunch","relax","relay","release","relegate","relent","relieve","relinquish","relish","relive","reload","relocate","rely","remain","remainder","remake","remand","remap","remark","remarry","remaster","remediate","remedy","remember","remind","reminisce","remit","remix","remodel","remonstrate","remortgage","remould","remount","remove","remunerate","rename","rend","render","rendezvous","renege","renew","renounce","renovate","rent","reoccur","reoffend","reopen","reorder","reorganise","reorganize","reorient","repackage","repair","repatriate","repay","repeal","repeat","repel","repent","rephrase","replace","replay","replenish","replicate","reply","report","repose","repossess","represent","repress","reprieve","reprimand","reprint","reproach","reprocess","reproduce","reprove","repudiate","repulse","repurpose","request","require","requisition","requite","rerun","reschedule","rescind","rescue","research","researches","resect","resell","resemble","resent","reserve","reset","resettle","reshape","reshuffle","reside","resign","resist","resit","resize","reskill","resolve","resonate","resort","resound","resource","respect","respire","respond","respray","rest","restart","restate","restock","restore","restrain","restrict","restring","restructure","result","resume","resupply","resurface","resurrect","resuscitate","retail","retain","retake","retaliate","retch","retell","retest","rethink","retire","retool","retort","retouch","retrace","retract","retrain","retreat","retrench","retrieve","retrofit","retry","return","reunify","reunite","reuse","rev","revalue","revamp","reveal","revel","revenge","reverberate","revere","reverse","revert","review","revile","revise","revisit","revitalise","revitalize","revive","revivify","revoke","revolt","revolutionise","revolutionize","revolve","reward","rewind","rewire","reword","rework","rewrite","rhapsodise","rhapsodize","rhyme","rib","rick","ricochet","rid","riddle","ride","ridge","ridicule","riffle","rifle","rig","right","rightsize","rile","rim","ring","rinse","riot","rip","ripen","riposte","ripple","rise","risk","ritualise","ritualize","rival","rivet","roam","roar","roast","rob","robe","rock","rocket","roger","roll","romance","romanticise","romanticize","romp","roof","room","roost","root","rope","rosin","roster","rot","rotate","rouge","rough","roughen","roughhouse","round","rouse","roust","rout","route","rove","row","rub","rubberneck","rubbish","ruck","rue","ruffle","ruin","ruins","rule","rumble","ruminate","rummage","rumor","rumour","rumple","run","rupture","rush","rust","rustle","sabotage","sack","sacrifice","sadden","saddle","safeguard","sag","sail","salaam","salivate","sally","salt","salute","salvage","salve","sample","sanctify","sanction","sand","sandbag","sandblast","sandpaper","sandwich","sanitise","sanitize","sap","sashay","sass","sate","satiate","satirise","satirize","satisfy","saturate","saunter","savage","save","savor","savour","saw","say","scald","scale","scallop","scalp","scamper","scan","scandalise","scandalize","scapegoat","scar","scare","scarf","scarify","scarper","scatter","scattering","scavenge","scent","schedule","schematise","schematize","scheme","schlep","schlepp","schmooze","school","schtup","schuss","scoff","scold","scoop","scoot","scope","scorch","score","scorn","scotch","scour","scourge","scout","scowl","scrabble","scram","scramble","scrap","scrape","scratch","scrawl","scream","screech","screen","screw","scribble","scrimp","script","scroll","scrounge","scrub","scrummage","scrunch","scruple","scrutinise","scrutinize","scud","scuff","scuffle","scull","sculpt","scupper","scurry","scuttle","scythe","seal","sealift","sear","search","season","seat","secede","seclude","second","secrete","section","secularise","secularize","secure","sedate","see","seed","seek","seep","seethe","segment","segregate","segue","seize","select","sell","sellotape","semaphore","send","sensationalise","sensationalize","sense","sensitise","sensitize","sentence","sentimentalise","sentimentalize","separate","sequence","sequester","sequestrate","serenade","serialise","serialize","sermonise","sermonize","serve","service","set","settle","sever","sew","shack","shackle","shade","shadow","shaft","shake","shalt","sham","shamble","shame","shampoo","shanghai","shape","share","sharpen","shatter","shave","shear","sheathe","shed","sheer","shell","shellac","shelter","shelve","shepherd","shield","shift","shimmer","shimmy","shin","shine","shinny","ship","shipwreck","shirk","shiver","shock","shoe","shoehorn","shoo","shoot","shop","shoplift","shore","short","shorten","shortlist","shoulder","shout","shove","shovel","show","showboat","showcase","shower","shred","shriek","shrill","shrink","shrivel","shroom","shroud","shrug","shuck","shudder","shuffle","shun","shunt","shush","shut","shuttle","shy","sic","sick","sicken","side","sideline","sidestep","sideswipe","sidetrack","sidle","sieve","sift","sigh","sight","sightsee","sign","signal","signify","signpost","silence","silhouette","silt","silver","simmer","simper","simplify","simulate","simulcast","sin","sing","singe","single","sink","sip","siphon","sire","sit","site","situate","size","sizzle","skate","skateboard","skedaddle","sketch","skew","skewer","ski","skid","skim","skimp","skin","skip","skipper","skirmish","skirt","skitter","skive","skivvy","skulk","sky","skyjack","skyrocket","slack","slacken","slake","slam","slander","slap","slash","slate","slather","sledge","sleek","sleep","sleepwalk","sleet","slew","slice","slick","slide","slight","slim","sling","slink","slip","slit","slither","slob","slobber","slog","slop","slope","slosh","slot","slouch","slough","slow","slug","sluice","slum","slumber","slump","slur","slurp","smart","smarten","smash","smear","smell","smelt","smile","smirk","smite","smoke","smooch","smoodge","smooth","smother","smoulder","smudge","smuggle","snack","snaffle","snag","snaggle","snake","snap","snare","snarf","snarl","sneak","sneer","sneeze","snicker","sniff","sniffle","snip","snipe","snitch","snivel","snooker","snoop","snooper","snooze","snore","snorkel","snort","snow","snowball","snowplough","snowplow","snub","snuffle","snuffling","snuggle","soak","soap","soar","sober","socialise","socialize","sock","sod","soften","soil","sojourn","solace","solder","soldier","sole","solemnise","solemnize","solicit","solidify","soliloquize","solve","somersault","soothe","sorrow","sort","sough","sound","soundproof","soup","sour","source","sow","space","span","spangle","spar","spare","spark","sparkle","spatter","spattering","spawn","spay","speak","spear","spearhead","spec","specialise","specialize","specify","spectacles","spectate","speculate","speed","spell","spellcheck","spend","spew","spice","spiff","spike","spill","spin","spiral","spirit","spit","spite","splash","splatter","splay","splice","splinter","split","splosh","splurge","splutter","spoil","sponge","sponsor","spoof","spook","spool","spoon","sport","sports","spot","spotlight","spout","sprain","sprawl","spray","spread","spring","springboard","sprinkle","sprint","spritz","sprout","spruce","spur","spurn","spurt","sputter","spy","squabble","squall","squander","square","squash","squat","squawk","squeak","squeal","squeeze","squelch","squint","squirm","squirrel","squirt","squish","stab","stabilise","stabilize","stable","stables","stack","staff","stage","stagger","stagnate","stain","stake","stalk","stall","stammer","stamp","stampede","stanch","stand","standardise","standardize","staple","star","starch","stare","start","startle","starve","stash","state","statement","station","staunch","stave","stay","steady","steal","steam","steamroller","steel","steep","steepen","steer","stem","stencil","step","stereotype","sterilise","sterilize","stew","stick","stickybeak","stiff","stiffen","stifle","stigmatise","stigmatize","still","stimulate","sting","stinger","stink","stint","stipple","stipulate","stir","stitch","stock","stockpile","stoke","stomach","stomp","stone","stonewall","stoop","stop","stopper","store","storm","storyboard","stow","straddle","strafe","straggle","straighten","strain","strand","strangle","strap","stratify","stravage","stravaig","stray","streak","stream","streamline","strengthen","stress","stretch","stretcher","strew","stride","strike","string","strip","strive","stroll","structure","struggle","strum","strut","stub","stud","study","stuff","stultify","stumble","stump","stun","stunt","stupefy","stutter","style","stymie","sub","subcontract","subdivide","subdue","subedit","subject","sublet","sublimate","submerge","submit","subordinate","suborn","subpoena","subscribe","subside","subsidise","subsidize","subsist","substantiate","substitute","subsume","subtend","subtitle","subtract","subvert","succeed","succor","succour","succumb","suckle","suction","sue","suffer","suffice","suffocate","suffuse","sugar","suggest","suit","sulk","sulks","sully","sum","summarise","summarize","summon","summons","sun","sunbathe","sunder","sunset","sup","superimpose","superintend","superpose","supersede","supersize","supersized","supervene","supervise","supplant","supplement","supply","support","suppose","suppress","suppurate","surcharge","surf","surface","surge","surmise","surmount","surpass","surprise","surrender","surround","survey","survive","suspect","suspend","suspenders","suss","sustain","suture","swab","swaddle","swagger","swamp","swan","swank","swap","swarm","swat","swath","swathe","sway","swear","sweat","sweep","sweeps","sweeten","swell","swelter","swerve","swig","swill","swim","swindle","swing","swipe","swirl","swish","switch","swivel","swoon","swoop","swoosh","swot","symbolise","symbolize","sympathise","sympathize","symptomize","synchronise","synchronize","syndicate","synthesise","synthesize","syringe","systematise","systematize","tab","table","tabulate","tack","tackle","tag","tail","tailgate","tailor","taint","take","talk","tally","tame","tamp","tamper","tan","tangle","tango","tank","tankful","tantalise","tantalize","tap","tape","taper","tar","target","tarmac","tarnish","tarry","tart","task","taste","tattle","tattoo","taunt","tauten","tax","taxi","taxicab","teach","team","tear","tease","tee","teem","teeter","teethe","telecast","telecommute","teleconference","telegraph","telemeter","teleoperate","telephone","teleport","telescope","televise","telex","tell","telnet","temp","temper","temporise","temporize","tempt","tenant","tend","tender","tenderise","tenderize","tense","tension","tergiversate","term","terminate","terraform","terrify","terrorise","terrorize","test","testify","tether","text","thank","thatch","thaw","theorise","theorize","thicken","thin","think","thirst","thrash","thread","threaten","thresh","thrill","thrive","throb","throbbing","throng","throttle","throw","thud","thumb","thump","thunder","thwack","thwart","tick","ticket","tickle","tide","tidy","tie","tighten","tile","till","tilt","time","timetable","tinge","tingle","tingling","tinker","tinkling","tint","tip","tippex","tipple","tiptoe","tire","titillate","titivate","title","titrate","titter","toady","toast","toboggan","toddle","toe","tog","toggle","toil","tolerate","toll","tone","tongue","tonify","tool","toot","tootle","top","topple","torch","torment","torpedo","toss","tot","total","tote","totter","touch","tough","toughen","tour","tousle","tout","tow","towel","tower","toy","trace","track","trade","traduce","traffic","trail","train","traipse","trammel","trample","trampoline","tranquilize","tranquillize","transact","transcend","transcribe","transfer","transfigure","transfix","transform","transfuse","transgress","transit","translate","transliterate","transmit","transmogrify","transmute","transpire","transplant","transport","transpose","trap","trash","traumatise","traumatize","travel","traverse","trawl","tread","treasure","treat","treble","trek","tremble","trembling","trepan","trespass","trial","trick","trickle","trifle","trigger","trill","trim","trip","triple","triumph","trivialise","trivialize","troll","tromp","troop","trot","trouble","troubleshoot","trounce","trouser","truant","truck","trudge","trump","trumpet","truncate","trundle","truss","trust","try","tuck","tug","tugboat","tumble","tune","tunnel","turbocharge","turf","turn","tussle","tut","tutor","twang","tweak","tweet","twiddle","twig","twin","twine","twinkle","twirl","twist","twitch","twitter","twittering","type","typecast","typeset","typify","tyrannise","tyrannize","ulcerate","ululate","ump","umpire","unbalance","unban","unbend","unblock","unbuckle","unburden","unbutton","uncoil","uncork","uncouple","uncover","uncurl","undelete","underachieve","underbid","undercharge","undercook","undercut","underestimate","underestimation","underexpose","undergo","underlie","underline","undermine","underpay","underperform","underpin","underplay","underrate","underscore","undersell","undershoot","underspend","understand","understate","understudy","undertake","undervalue","underwrite","undo","undock","undress","undulate","unearth","unfasten","unfold","unfreeze","unfurl","unhand","unhinge","unhitch","unhook","unify","uninstall","unionise","unionize","unite","unlace","unlearn","unleash","unload","unlock","unloose","unloosen","unmask","unnerve","unpack","unpick","unplug","unravel","unroll","unsaddle","unscramble","unscrew","unseat","unsettle","unsubscribe","untangle","untie","unveil","unwind","unwrap","unzip","up","upbraid","upchange","upchuck","update","upend","upgrade","uphold","upholster","uplift","upload","uproot","upsell","upset","upshift","upskill","upstage","urge","use","usher","usurp","utilise","utilize","utter","vacate","vacation","vaccinate","vacillate","vacuum","valet","validate","value","vamoose","vandalise","vandalize","vanish","vanquish","vaporise","vaporize","varnish","vary","vault","veer","veg","vegetate","veil","vend","veneer","venerate","vent","ventilate","venture","verbalise","verbalize","verge","verify","versify","vest","vet","veto","vex","vibrate","victimise","victimize","vide","video","videotape","vie","view","viewing","vilify","vindicate","violate","visit","visualise","visualize","vitiate","vitrify","vocalize","voice","void","volley","volumise","volumize","volunteer","vote","vouch","vouchsafe","vow","voyage","vulgarise","vulgarize","waddle","wade","waffle","waft","wag","wage","wager","waggle","wail","wait","waive","wake","wakeboard","waken","walk","wall","wallop","wallow","wallpaper","waltz","wander","wane","wangle","want","warble","ward","warm","warn","warp","warrant","wash","wassail","waste","watch","water","waterproof","waterski","wave","waver","wax","waylay","weaken","wean","weaponise","weaponize","wear","weary","weasel","weather","weatherise","weatherize","weave","wed","wedge","weekend","weep","weigh","weight","weird","welch","welcome","weld","well","welly","wend","westernise","westernize","wet","whack","wheedle","wheel","wheeze","whelp","whet","whiff","while","whilst","whimper","whine","whinge","whinny","whip","whirl","whirr","whirring","whisk","whisper","whispering","whistle","whiten","whitewash","whittle","whoop","whoosh","whup","wick","widen","widow","wield","wig","wiggle","wildcat","will","wilt","wimp","win","wince","winch","wind","winds","windsurf","wine","wing","wink","winkle","winnow","winter","wipe","wire","wiretap","wise","wisecrack","wish","withdraw","wither","withhold","withstand","witness","witter","wobble","wolf","wonder","woo","woof","word","work","worm","worry","worsen","worship","worst","wound","wow","wowee","wrangle","wrap","wreak","wreathe","wreck","wrench","wrest","wrestle","wriggle","wring","wrinkle","writ","write","writhe","wrong","wrought","xerox","yack","yak","yap","yaw","yawn","yearn","yell","yellow","yelp","yield","yodel","yoke","yomp","yowl","yuppify","zap","zero","zigzag","zing","zip","zone","zoom"],uPt={adjective:nPt,adverb:iPt,conjunction:rPt,interjection:oPt,noun:sPt,preposition:aPt,verb:lPt},cPt=uPt,dPt={airline:yGt,animal:ZGt,app:XGt,cell_phone:BGt,color:YGt,commerce:QGt,company:aXt,database:cXt,date:fXt,finance:DXt,hacker:ZXt,internet:XXt,location:s4t,lorem:u4t,metadata:d4t,music:g4t,person:A4t,phone_number:X4t,science:z4t,team:K4t,vehicle:tPt,word:cPt},hPt=dPt,mPt=Object.defineProperty,fPt=(n,e,t)=>e in n?mPt(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Li=(n,e,t)=>(fPt(n,typeof e!="symbol"?e+"":e,t),t),ti=class extends Error{};function gPt(n){let e=Object.getPrototypeOf(n);do{for(let t of Object.getOwnPropertyNames(e))typeof n[t]=="function"&&t!=="constructor"&&(n[t]=n[t].bind(n));e=Object.getPrototypeOf(e)}while(e!==Object.prototype)}var Kx=class{constructor(e){this.faker=e,gPt(this)}},As=class extends Kx{constructor(e){super(e),this.faker=e}},gDe=(n=>(n.Narrowbody="narrowbody",n.Regional="regional",n.Widebody="widebody",n))(gDe||{}),pPt=["0","1","2","3","4","5","6","7","8","9"],bPt=["0","O","1","I","L"],yPt={regional:20,narrowbody:35,widebody:60},vPt={regional:["A","B","C","D"],narrowbody:["A","B","C","D","E","F"],widebody:["A","B","C","D","E","F","G","H","J","K"]},CPt=class extends As{airport(){return this.faker.helpers.arrayElement(this.faker.definitions.airline.airport)}airline(){return this.faker.helpers.arrayElement(this.faker.definitions.airline.airline)}airplane(){return this.faker.helpers.arrayElement(this.faker.definitions.airline.airplane)}recordLocator(e={}){let{allowNumerics:t=!1,allowVisuallySimilarCharacters:i=!1}=e,r=[];return t||r.push(...pPt),i||r.push(...bPt),this.faker.string.alphanumeric({length:6,casing:"upper",exclude:r})}seat(e={}){let{aircraftType:t="narrowbody"}=e,i=yPt[t],r=vPt[t],o=this.faker.number.int({min:1,max:i}),s=this.faker.helpers.arrayElement(r);return`${o}${s}`}aircraftType(){return this.faker.helpers.enumValue(gDe)}flightNumber(e={}){let{length:t={min:1,max:4},addLeadingZeros:i=!1}=e,r=this.faker.string.numeric({length:t,allowLeadingZeros:!1});return i?r.padStart(4,"0"):r}},pDe=(n=>(n.SRGB="sRGB",n.DisplayP3="display-p3",n.REC2020="rec2020",n.A98RGB="a98-rgb",n.ProphotoRGB="prophoto-rgb",n))(pDe||{}),bDe=(n=>(n.RGB="rgb",n.RGBA="rgba",n.HSL="hsl",n.HSLA="hsla",n.HWB="hwb",n.CMYK="cmyk",n.LAB="lab",n.LCH="lch",n.COLOR="color",n))(bDe||{});function SPt(n,e){let{prefix:t,casing:i}=e;switch(i){case"upper":n=n.toUpperCase();break;case"lower":n=n.toLowerCase();break}return t&&(n=t+n),n}function yDe(n){return n.map(e=>{if(e%1!==0){let t=new ArrayBuffer(4);new DataView(t).setFloat32(0,e);let i=new Uint8Array(t);return yDe([...i]).replace(/ /g,"")}return(e>>>0).toString(2).padStart(8,"0")}).join(" ")}function wPt(n,e="rgb",t="sRGB"){let i=r=>Math.round(r*100);switch(e){case"rgba":return`rgba(${n[0]}, ${n[1]}, ${n[2]}, ${n[3]})`;case"color":return`color(${t} ${n[0]} ${n[1]} ${n[2]})`;case"cmyk":return`cmyk(${i(n[0])}%, ${i(n[1])}%, ${i(n[2])}%, ${i(n[3])}%)`;case"hsl":return`hsl(${n[0]}deg ${i(n[1])}% ${i(n[2])}%)`;case"hsla":return`hsl(${n[0]}deg ${i(n[1])}% ${i(n[2])}% / ${i(n[3])})`;case"hwb":return`hwb(${n[0]} ${i(n[1])}% ${i(n[2])}%)`;case"lab":return`lab(${i(n[0])}% ${n[1]} ${n[2]})`;case"lch":return`lch(${i(n[0])}% ${n[1]} ${n[2]})`;case"rgb":default:return`rgb(${n[0]}, ${n[1]}, ${n[2]})`}}function LC(n,e,t="rgb",i="sRGB"){switch(e){case"css":return wPt(n,t,i);case"binary":return yDe(n);case"decimal":default:return n}}var xPt=class extends As{human(){return this.faker.helpers.arrayElement(this.faker.definitions.color.human)}space(){return this.faker.helpers.arrayElement(this.faker.definitions.color.space)}cssSupportedFunction(){return this.faker.helpers.enumValue(bDe)}cssSupportedSpace(){return this.faker.helpers.enumValue(pDe)}rgb(e={}){let{format:t="hex",includeAlpha:i=!1,prefix:r="#",casing:o="lower"}=e,s,a="rgb";return t==="hex"?(s=this.faker.string.hexadecimal({length:i?8:6,prefix:""}),s=SPt(s,{prefix:r,casing:o}),s):(s=Array.from({length:3},()=>this.faker.number.int(255)),i&&(s.push(this.faker.number.float({multipleOf:.01})),a="rgba"),LC(s,t,a))}cmyk(e){let t=Array.from({length:4},()=>this.faker.number.float({multipleOf:.01}));return LC(t,(e==null?void 0:e.format)||"decimal","cmyk")}hsl(e){let t=[this.faker.number.int(360)];for(let i=0;i<(e!=null&&e.includeAlpha?3:2);i++)t.push(this.faker.number.float({multipleOf:.01}));return LC(t,(e==null?void 0:e.format)||"decimal",e!=null&&e.includeAlpha?"hsla":"hsl")}hwb(e){let t=[this.faker.number.int(360)];for(let i=0;i<2;i++)t.push(this.faker.number.float({multipleOf:.01}));return LC(t,(e==null?void 0:e.format)||"decimal","hwb")}lab(e){let t=[this.faker.number.float({multipleOf:1e-6})];for(let i=0;i<2;i++)t.push(this.faker.number.float({min:-100,max:100,multipleOf:1e-4}));return LC(t,(e==null?void 0:e.format)||"decimal","lab")}lch(e){let t=[this.faker.number.float({multipleOf:1e-6})];for(let i=0;i<2;i++)t.push(this.faker.number.float({max:230,multipleOf:.1}));return LC(t,(e==null?void 0:e.format)||"decimal","lch")}colorByCSSColorSpace(e){(e==null?void 0:e.format)==="css"&&!(e!=null&&e.space)&&(e={...e,space:"sRGB"});let t=Array.from({length:3},()=>this.faker.number.float({multipleOf:1e-4}));return LC(t,(e==null?void 0:e.format)||"decimal","color",e==null?void 0:e.space)}},nG=()=>{throw new ti("You cannot edit the locale data on the faker instance")};function _Pt(n){let e={};return new Proxy(n,{has(){return!0},get(t,i){return typeof i=="symbol"||i==="nodeType"?t[i]:i in e?e[i]:e[i]=LPt(i,t[i])},set:nG,deleteProperty:nG})}function iG(n,...e){if(n===null)throw new ti(`The locale data for '${e.join(".")}' aren't applicable to this locale. If you think this is a bug, please report it at: https://github.com/faker-js/faker`);if(n===void 0)throw new ti(`The locale data for '${e.join(".")}' are missing in this locale. Please contribute the missing data to the project or use a locale/Faker instance that has these data. - For more information see https://fakerjs.dev/guide/localization.html`)}function _Pt(n,e={}){return new Proxy(e,{has(t,i){return t[i]!=null},get(t,i){let r=t[i];return typeof i=="symbol"||i==="nodeType"||iG(r,n,i.toString()),r},set:nG,deleteProperty:nG})}var yDe=(n=>(n.Female="female",n.Male="male",n))(yDe||{});function Uk(n,e,t,{generic:i,female:r,male:o},s){let a;switch(t){case"female":a=r;break;case"male":a=o;break;default:a=i;break}return a==null&&(r!=null&&o!=null?a=n.helpers.arrayElement([r,o]):a=i,iG(a,`person.{${s}, female_${s}, male_${s}}`)),e(a)}var FPt=class extends Vs{firstName(e){var t;let{first_name:i,female_first_name:r,male_first_name:o}=(t=this.faker.rawDefinitions.person)!=null?t:{};return Uk(this.faker,this.faker.helpers.arrayElement,e,{generic:i,female:r,male:o},"first_name")}lastName(e){var t;let{last_name:i,female_last_name:r,male_last_name:o,last_name_pattern:s,male_last_name_pattern:a,female_last_name_pattern:l}=(t=this.faker.rawDefinitions.person)!=null?t:{};if(s!=null||a!=null||l!=null){let u=Uk(this.faker,this.faker.helpers.weightedArrayElement,e,{generic:s,female:l,male:a},"last_name_pattern");return this.faker.helpers.fake(u)}return Uk(this.faker,this.faker.helpers.arrayElement,e,{generic:i,female:r,male:o},"last_name")}middleName(e){var t;let{middle_name:i,female_middle_name:r,male_middle_name:o}=(t=this.faker.rawDefinitions.person)!=null?t:{};return Uk(this.faker,this.faker.helpers.arrayElement,e,{generic:i,female:r,male:o},"middle_name")}fullName(e={}){let{sex:t=this.faker.helpers.arrayElement(["female","male"]),firstName:i=this.firstName(t),lastName:r=this.lastName(t)}=e,o=this.faker.helpers.weightedArrayElement(this.faker.definitions.person.name);return this.faker.helpers.mustache(o,{"person.prefix":()=>this.prefix(t),"person.firstName":()=>i,"person.middleName":()=>this.middleName(t),"person.lastName":()=>r,"person.suffix":()=>this.suffix()})}gender(){return this.faker.helpers.arrayElement(this.faker.definitions.person.gender)}sex(){return this.faker.helpers.arrayElement(this.faker.definitions.person.sex)}sexType(){return this.faker.helpers.enumValue(yDe)}bio(){let{bio_pattern:e}=this.faker.definitions.person;return this.faker.helpers.fake(e)}prefix(e){var t;let{prefix:i,female_prefix:r,male_prefix:o}=(t=this.faker.rawDefinitions.person)!=null?t:{};return Uk(this.faker,this.faker.helpers.arrayElement,e,{generic:i,female:r,male:o},"prefix")}suffix(){return this.faker.helpers.arrayElement(this.faker.definitions.person.suffix)}jobTitle(){return this.faker.helpers.fake(this.faker.definitions.person.job_title_pattern)}jobDescriptor(){let e=this.faker.definitions.person.title.descriptor;if(e==null)throw new ti("No person.title.descriptor definitions available.");return this.faker.helpers.arrayElement(e)}jobArea(){let e=this.faker.definitions.person.title.level;if(e==null)throw new ti("No person.title.area definitions available.");return this.faker.helpers.arrayElement(e)}jobType(){let e=this.faker.definitions.person.title.job;if(e==null)throw new ti("No person.title.job definitions available.");return this.faker.helpers.arrayElement(e)}zodiacSign(){return this.faker.helpers.arrayElement(this.faker.definitions.person.western_zodiac_sign)}},IPt=class{constructor(){_i(this,"N",624),_i(this,"M",397),_i(this,"MATRIX_A",2567483615),_i(this,"UPPER_MASK",2147483648),_i(this,"LOWER_MASK",2147483647),_i(this,"mt",Array.from({length:this.N})),_i(this,"mti",this.N+1),_i(this,"mag01",[0,this.MATRIX_A])}unsigned32(e){return e<0?(e^this.UPPER_MASK)+this.UPPER_MASK:e}subtraction32(e,t){return e>>r&1&&(i=this.addition32(i,this.unsigned32(t<>>30)),this.mti),this.mt[this.mti]=this.unsigned32(this.mt[this.mti]&4294967295)}initByArray(e,t){this.initGenrand(19650218);let i=1,r=0,o=this.N>t?this.N:t;for(;o;o--)this.mt[i]=this.addition32(this.addition32(this.unsigned32(this.mt[i]^this.multiplication32(this.unsigned32(this.mt[i-1]^this.mt[i-1]>>>30),1664525)),e[r]),r),this.mt[i]=this.unsigned32(this.mt[i]&4294967295),i++,r++,i>=this.N&&(this.mt[0]=this.mt[this.N-1],i=1),r>=t&&(r=0);for(o=this.N-1;o;o--)this.mt[i]=this.subtraction32(this.unsigned32(this.mt[i]^this.multiplication32(this.unsigned32(this.mt[i-1]^this.mt[i-1]>>>30),1566083941)),i),this.mt[i]=this.unsigned32(this.mt[i]&4294967295),i++,i>=this.N&&(this.mt[0]=this.mt[this.N-1],i=1);this.mt[0]=2147483648}genrandInt32(){let e;if(this.mti>=this.N){let t;for(this.mti===this.N+1&&this.initGenrand(5489),t=0;t>>1^this.mag01[e&1]);for(;t>>1^this.mag01[e&1]);e=this.unsigned32(this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK),this.mt[this.N-1]=this.unsigned32(this.mt[this.M-1]^e>>>1^this.mag01[e&1]),this.mti=0}return e=this.mt[this.mti++],e=this.unsigned32(e^e>>>11),e=this.unsigned32(e^e<<7&2636928640),e=this.unsigned32(e^e<<15&4022730752),e=this.unsigned32(e^e>>>18),e}genrandInt31(){return this.genrandInt32()>>>1}genrandReal1(){return this.genrandInt32()*(1/4294967295)}genrandReal2(){return this.genrandInt32()*(1/4294967296)}genrandReal3(){return(this.genrandInt32()+.5)*(1/4294967296)}genrandRes53(){let e=this.genrandInt32()>>>5,t=this.genrandInt32()>>>6;return(e*67108864+t)*(1/9007199254740992)}};function DPt(){let n=new IPt;return n.initGenrand(Math.ceil(Math.random()*Number.MAX_SAFE_INTEGER)),{next(){return n.genrandReal2()},seed(e){typeof e=="number"?n.initGenrand(e):Array.isArray(e)&&n.initByArray(e,e.length)}}}function Ht(n){let e=`[@faker-js/faker]: ${n.deprecated} is deprecated`;n.since&&(e+=` since v${n.since}`),n.until&&(e+=` and will be removed in v${n.until}`),n.proposed&&(e+=`. Please use ${n.proposed} instead`)}var MPt=class extends Kx{number(e=99999){Ht({deprecated:"faker.datatype.number()",proposed:"faker.number.int()",since:"8.0",until:"9.0"}),typeof e=="number"&&(e={max:e});let{min:t=0,max:i=t+99999,precision:r=1}=e;return this.faker.number.float({min:t,max:i,multipleOf:r})}float(e={}){Ht({deprecated:"faker.datatype.float()",proposed:"faker.number.float()",since:"8.0",until:"9.0"}),typeof e=="number"&&(e={precision:e});let{min:t=0,max:i=t+99999,precision:r=.01}=e;return this.faker.number.float({min:t,max:i,multipleOf:r})}datetime(e={}){Ht({deprecated:"faker.datatype.datetime({ min, max })",proposed:"faker.date.between({ from, to }) or faker.date.anytime()",since:"8.0",until:"9.0"});let t=864e13,i=typeof e=="number"?void 0:e.min,r=typeof e=="number"?e:e.max;return(i==null||it)&&(r=Date.UTC(2100,0)),this.faker.date.between({from:i,to:r})}string(e={}){Ht({deprecated:"faker.datatype.string()",proposed:"faker.string.sample()",since:"8.0",until:"9.0"}),typeof e=="number"&&(e={length:e});let{length:t=10}=e;return this.faker.string.sample(t)}uuid(){return Ht({deprecated:"faker.datatype.uuid()",proposed:"faker.string.uuid()",since:"8.0",until:"9.0"}),this.faker.string.uuid()}boolean(e={}){typeof e=="number"&&(e={probability:e});let{probability:t=.5}=e;return t<=0?!1:t>=1?!0:this.faker.number.float()this.boolean()?this.faker.string.sample():this.faker.number.int(),{count:e})}bigInt(e){return Ht({deprecated:"faker.datatype.bigInt()",proposed:"faker.number.bigInt()",since:"8.0",until:"9.0"}),this.faker.number.bigInt(e)}};function x1(n,e){return n==null?e():(n=new Date(n),Number.isNaN(n.valueOf())&&(n=e()),n)}var CDe=class extends Kx{anytime(e={}){let{refDate:t}=e,i=x1(t,this.faker.defaultRefDate);return this.between({from:new Date(i.getTime()-1e3*60*60*24*365),to:new Date(i.getTime()+1e3*60*60*24*365)})}past(e={},t){typeof e=="number"&&(Ht({deprecated:"faker.date.past(years, refDate)",proposed:"faker.date.past({ years, refDate })",since:"8.0",until:"9.0"}),e={years:e});let{years:i=1,refDate:r=t}=e;if(i<=0)throw new ti("Years must be greater than 0.");let o=x1(r,this.faker.defaultRefDate),s={min:1e3,max:i*365*24*3600*1e3},a=o.getTime();return a-=this.faker.number.int(s),o.setTime(a),o}future(e={},t){typeof e=="number"&&(Ht({deprecated:"faker.date.future(years, refDate)",proposed:"faker.date.future({ years, refDate })",since:"8.0",until:"9.0"}),e={years:e});let{years:i=1,refDate:r=t}=e;if(i<=0)throw new ti("Years must be greater than 0.");let o=x1(r,this.faker.defaultRefDate),s={min:1e3,max:i*365*24*3600*1e3},a=o.getTime();return a+=this.faker.number.int(s),o.setTime(a),o}between(e,t){(e instanceof Date||typeof e!="object")&&(Ht({deprecated:"faker.date.between(from, to)",proposed:"faker.date.between({ from, to })",since:"8.0",until:"9.0"}),e={from:e,to:t??e});let{from:i,to:r}=e,o=x1(i,this.faker.defaultRefDate).getTime(),s=x1(r,this.faker.defaultRefDate).getTime(),a=this.faker.number.int(s-o);return new Date(o+a)}betweens(e,t,i=3){(e instanceof Date||typeof e!="object")&&(Ht({deprecated:"faker.date.betweens(from, to, count)",proposed:"faker.date.betweens({ from, to, count })",since:"8.0",until:"9.0"}),e={from:e,to:t??e,count:i});let{from:r,to:o,count:s=3}=e;return this.faker.helpers.multiple(()=>this.between({from:r,to:o}),{count:s}).sort((a,l)=>a.getTime()-l.getTime())}recent(e={},t){typeof e=="number"&&(Ht({deprecated:"faker.date.recent(days, refDate)",proposed:"faker.date.recent({ days, refDate })",since:"8.0",until:"9.0"}),e={days:e});let{days:i=1,refDate:r=t}=e;if(i<=0)throw new ti("Days must be greater than 0.");let o=x1(r,this.faker.defaultRefDate),s={min:1e3,max:i*24*3600*1e3},a=o.getTime();return a-=this.faker.number.int(s),o.setTime(a),o}soon(e={},t){typeof e=="number"&&(Ht({deprecated:"faker.date.soon(days, refDate)",proposed:"faker.date.soon({ days, refDate })",since:"8.0",until:"9.0"}),e={days:e});let{days:i=1,refDate:r=t}=e;if(i<=0)throw new ti("Days must be greater than 0.");let o=x1(r,this.faker.defaultRefDate),s={min:1e3,max:i*24*3600*1e3},a=o.getTime();return a+=this.faker.number.int(s),o.setTime(a),o}birthdate(e={}){var t,i,r,o;let s=e.mode==="age"?"age":"year",a=x1(e.refDate,this.faker.defaultRefDate),l=a.getUTCFullYear(),u,c;if(s==="age"?(u=new Date(a).setUTCFullYear(l-((t=e.max)!=null?t:80)-1),c=new Date(a).setUTCFullYear(l-((i=e.min)!=null?i:18))):(u=new Date(Date.UTC(0,0,2)).setUTCFullYear((r=e.min)!=null?r:l-80),c=new Date(Date.UTC(0,11,30)).setUTCFullYear((o=e.max)!=null?o:l-19)),ca!=null).map(a=>Array.isArray(a)?e.helpers.arrayElement(a):a)}while(r.length>0&&i.length>0);if(i.length===0)throw new ti(`Cannot resolve expression '${n}'`);let o=i[0];return typeof o=="function"?o():o}function EPt(n,e){let[t,i]=ZPt(n),r=n[t+1];switch(r){case".":case"(":case void 0:break;default:throw new ti(`Expected dot ('.'), open parenthesis ('('), or nothing after function call but got '${r}'`)}return[t+(r==="."?2:1),e.map(o=>typeof o=="function"?o(...i):o)]}function ZPt(n){let e=n.indexOf(")",1);if(e===-1)throw new ti(`Missing closing parenthesis in '${n}'`);for(;e!==-1;){let i=n.substring(1,e);try{return[e,JSON.parse(`[${i}]`)]}catch{if(!i.includes("'")&&!i.includes('"'))try{return[e,JSON.parse(`["${i}"]`)]}catch{}}e=n.indexOf(")",e+1)}e=n.lastIndexOf(")");let t=n.substring(1,e);return[e,[t]]}function WPt(n,e){var t,i;let r=NPt.exec(n),o=((t=r==null?void 0:r[0])!=null?t:"")===".",s=(i=r==null?void 0:r.index)!=null?i:n.length,a=n.substring(0,s);if(a.length===0)throw new ti(`Expression parts cannot be empty in '${n}'`);let l=n[s+1];if(o&&(l==null||l==="."||l==="("))throw new ti(`Found dot without property name in '${n}'`);return[s+(o?1:0),e.map(u=>RPt(u,a))]}function RPt(n,e){switch(typeof n){case"function":{try{n=n()}catch{return}return n==null?void 0:n[e]}case"object":return n==null?void 0:n[e];default:return}}function VPt(n){let e=APt(n.replace(/L?$/,"0"));return e===0?0:10-e}function APt(n){n=n.replace(/[\s-]/g,"");let e=0,t=!1;for(let i=n.length-1;i>=0;i--){let r=Number.parseInt(n[i]);t&&(r*=2,r>9&&(r=r%10+1)),e+=r,t=!t}return e%10}function GPt(n,e){return n[e]===void 0?-1:0}function wDe(n,e,t,i,r){throw new ti(`${t} for uniqueness check. + For more information see https://fakerjs.dev/guide/localization.html`)}function LPt(n,e={}){return new Proxy(e,{has(t,i){return t[i]!=null},get(t,i){let r=t[i];return typeof i=="symbol"||i==="nodeType"||iG(r,n,i.toString()),r},set:nG,deleteProperty:nG})}var vDe=(n=>(n.Female="female",n.Male="male",n))(vDe||{});function UM(n,e,t,{generic:i,female:r,male:o},s){let a;switch(t){case"female":a=r;break;case"male":a=o;break;default:a=i;break}return a==null&&(r!=null&&o!=null?a=n.helpers.arrayElement([r,o]):a=i,iG(a,`person.{${s}, female_${s}, male_${s}}`)),e(a)}var IPt=class extends As{firstName(e){var t;let{first_name:i,female_first_name:r,male_first_name:o}=(t=this.faker.rawDefinitions.person)!=null?t:{};return UM(this.faker,this.faker.helpers.arrayElement,e,{generic:i,female:r,male:o},"first_name")}lastName(e){var t;let{last_name:i,female_last_name:r,male_last_name:o,last_name_pattern:s,male_last_name_pattern:a,female_last_name_pattern:l}=(t=this.faker.rawDefinitions.person)!=null?t:{};if(s!=null||a!=null||l!=null){let u=UM(this.faker,this.faker.helpers.weightedArrayElement,e,{generic:s,female:l,male:a},"last_name_pattern");return this.faker.helpers.fake(u)}return UM(this.faker,this.faker.helpers.arrayElement,e,{generic:i,female:r,male:o},"last_name")}middleName(e){var t;let{middle_name:i,female_middle_name:r,male_middle_name:o}=(t=this.faker.rawDefinitions.person)!=null?t:{};return UM(this.faker,this.faker.helpers.arrayElement,e,{generic:i,female:r,male:o},"middle_name")}fullName(e={}){let{sex:t=this.faker.helpers.arrayElement(["female","male"]),firstName:i=this.firstName(t),lastName:r=this.lastName(t)}=e,o=this.faker.helpers.weightedArrayElement(this.faker.definitions.person.name);return this.faker.helpers.mustache(o,{"person.prefix":()=>this.prefix(t),"person.firstName":()=>i,"person.middleName":()=>this.middleName(t),"person.lastName":()=>r,"person.suffix":()=>this.suffix()})}gender(){return this.faker.helpers.arrayElement(this.faker.definitions.person.gender)}sex(){return this.faker.helpers.arrayElement(this.faker.definitions.person.sex)}sexType(){return this.faker.helpers.enumValue(vDe)}bio(){let{bio_pattern:e}=this.faker.definitions.person;return this.faker.helpers.fake(e)}prefix(e){var t;let{prefix:i,female_prefix:r,male_prefix:o}=(t=this.faker.rawDefinitions.person)!=null?t:{};return UM(this.faker,this.faker.helpers.arrayElement,e,{generic:i,female:r,male:o},"prefix")}suffix(){return this.faker.helpers.arrayElement(this.faker.definitions.person.suffix)}jobTitle(){return this.faker.helpers.fake(this.faker.definitions.person.job_title_pattern)}jobDescriptor(){let e=this.faker.definitions.person.title.descriptor;if(e==null)throw new ti("No person.title.descriptor definitions available.");return this.faker.helpers.arrayElement(e)}jobArea(){let e=this.faker.definitions.person.title.level;if(e==null)throw new ti("No person.title.area definitions available.");return this.faker.helpers.arrayElement(e)}jobType(){let e=this.faker.definitions.person.title.job;if(e==null)throw new ti("No person.title.job definitions available.");return this.faker.helpers.arrayElement(e)}zodiacSign(){return this.faker.helpers.arrayElement(this.faker.definitions.person.western_zodiac_sign)}},FPt=class{constructor(){Li(this,"N",624),Li(this,"M",397),Li(this,"MATRIX_A",2567483615),Li(this,"UPPER_MASK",2147483648),Li(this,"LOWER_MASK",2147483647),Li(this,"mt",Array.from({length:this.N})),Li(this,"mti",this.N+1),Li(this,"mag01",[0,this.MATRIX_A])}unsigned32(e){return e<0?(e^this.UPPER_MASK)+this.UPPER_MASK:e}subtraction32(e,t){return e>>r&1&&(i=this.addition32(i,this.unsigned32(t<>>30)),this.mti),this.mt[this.mti]=this.unsigned32(this.mt[this.mti]&4294967295)}initByArray(e,t){this.initGenrand(19650218);let i=1,r=0,o=this.N>t?this.N:t;for(;o;o--)this.mt[i]=this.addition32(this.addition32(this.unsigned32(this.mt[i]^this.multiplication32(this.unsigned32(this.mt[i-1]^this.mt[i-1]>>>30),1664525)),e[r]),r),this.mt[i]=this.unsigned32(this.mt[i]&4294967295),i++,r++,i>=this.N&&(this.mt[0]=this.mt[this.N-1],i=1),r>=t&&(r=0);for(o=this.N-1;o;o--)this.mt[i]=this.subtraction32(this.unsigned32(this.mt[i]^this.multiplication32(this.unsigned32(this.mt[i-1]^this.mt[i-1]>>>30),1566083941)),i),this.mt[i]=this.unsigned32(this.mt[i]&4294967295),i++,i>=this.N&&(this.mt[0]=this.mt[this.N-1],i=1);this.mt[0]=2147483648}genrandInt32(){let e;if(this.mti>=this.N){let t;for(this.mti===this.N+1&&this.initGenrand(5489),t=0;t>>1^this.mag01[e&1]);for(;t>>1^this.mag01[e&1]);e=this.unsigned32(this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK),this.mt[this.N-1]=this.unsigned32(this.mt[this.M-1]^e>>>1^this.mag01[e&1]),this.mti=0}return e=this.mt[this.mti++],e=this.unsigned32(e^e>>>11),e=this.unsigned32(e^e<<7&2636928640),e=this.unsigned32(e^e<<15&4022730752),e=this.unsigned32(e^e>>>18),e}genrandInt31(){return this.genrandInt32()>>>1}genrandReal1(){return this.genrandInt32()*(1/4294967295)}genrandReal2(){return this.genrandInt32()*(1/4294967296)}genrandReal3(){return(this.genrandInt32()+.5)*(1/4294967296)}genrandRes53(){let e=this.genrandInt32()>>>5,t=this.genrandInt32()>>>6;return(e*67108864+t)*(1/9007199254740992)}};function DPt(){let n=new FPt;return n.initGenrand(Math.ceil(Math.random()*Number.MAX_SAFE_INTEGER)),{next(){return n.genrandReal2()},seed(e){typeof e=="number"?n.initGenrand(e):Array.isArray(e)&&n.initByArray(e,e.length)}}}function Ht(n){let e=`[@faker-js/faker]: ${n.deprecated} is deprecated`;n.since&&(e+=` since v${n.since}`),n.until&&(e+=` and will be removed in v${n.until}`),n.proposed&&(e+=`. Please use ${n.proposed} instead`)}var NPt=class extends Kx{number(e=99999){Ht({deprecated:"faker.datatype.number()",proposed:"faker.number.int()",since:"8.0",until:"9.0"}),typeof e=="number"&&(e={max:e});let{min:t=0,max:i=t+99999,precision:r=1}=e;return this.faker.number.float({min:t,max:i,multipleOf:r})}float(e={}){Ht({deprecated:"faker.datatype.float()",proposed:"faker.number.float()",since:"8.0",until:"9.0"}),typeof e=="number"&&(e={precision:e});let{min:t=0,max:i=t+99999,precision:r=.01}=e;return this.faker.number.float({min:t,max:i,multipleOf:r})}datetime(e={}){Ht({deprecated:"faker.datatype.datetime({ min, max })",proposed:"faker.date.between({ from, to }) or faker.date.anytime()",since:"8.0",until:"9.0"});let t=864e13,i=typeof e=="number"?void 0:e.min,r=typeof e=="number"?e:e.max;return(i==null||it)&&(r=Date.UTC(2100,0)),this.faker.date.between({from:i,to:r})}string(e={}){Ht({deprecated:"faker.datatype.string()",proposed:"faker.string.sample()",since:"8.0",until:"9.0"}),typeof e=="number"&&(e={length:e});let{length:t=10}=e;return this.faker.string.sample(t)}uuid(){return Ht({deprecated:"faker.datatype.uuid()",proposed:"faker.string.uuid()",since:"8.0",until:"9.0"}),this.faker.string.uuid()}boolean(e={}){typeof e=="number"&&(e={probability:e});let{probability:t=.5}=e;return t<=0?!1:t>=1?!0:this.faker.number.float()this.boolean()?this.faker.string.sample():this.faker.number.int(),{count:e})}bigInt(e){return Ht({deprecated:"faker.datatype.bigInt()",proposed:"faker.number.bigInt()",since:"8.0",until:"9.0"}),this.faker.number.bigInt(e)}};function x1(n,e){return n==null?e():(n=new Date(n),Number.isNaN(n.valueOf())&&(n=e()),n)}var CDe=class extends Kx{anytime(e={}){let{refDate:t}=e,i=x1(t,this.faker.defaultRefDate);return this.between({from:new Date(i.getTime()-1e3*60*60*24*365),to:new Date(i.getTime()+1e3*60*60*24*365)})}past(e={},t){typeof e=="number"&&(Ht({deprecated:"faker.date.past(years, refDate)",proposed:"faker.date.past({ years, refDate })",since:"8.0",until:"9.0"}),e={years:e});let{years:i=1,refDate:r=t}=e;if(i<=0)throw new ti("Years must be greater than 0.");let o=x1(r,this.faker.defaultRefDate),s={min:1e3,max:i*365*24*3600*1e3},a=o.getTime();return a-=this.faker.number.int(s),o.setTime(a),o}future(e={},t){typeof e=="number"&&(Ht({deprecated:"faker.date.future(years, refDate)",proposed:"faker.date.future({ years, refDate })",since:"8.0",until:"9.0"}),e={years:e});let{years:i=1,refDate:r=t}=e;if(i<=0)throw new ti("Years must be greater than 0.");let o=x1(r,this.faker.defaultRefDate),s={min:1e3,max:i*365*24*3600*1e3},a=o.getTime();return a+=this.faker.number.int(s),o.setTime(a),o}between(e,t){(e instanceof Date||typeof e!="object")&&(Ht({deprecated:"faker.date.between(from, to)",proposed:"faker.date.between({ from, to })",since:"8.0",until:"9.0"}),e={from:e,to:t??e});let{from:i,to:r}=e,o=x1(i,this.faker.defaultRefDate).getTime(),s=x1(r,this.faker.defaultRefDate).getTime(),a=this.faker.number.int(s-o);return new Date(o+a)}betweens(e,t,i=3){(e instanceof Date||typeof e!="object")&&(Ht({deprecated:"faker.date.betweens(from, to, count)",proposed:"faker.date.betweens({ from, to, count })",since:"8.0",until:"9.0"}),e={from:e,to:t??e,count:i});let{from:r,to:o,count:s=3}=e;return this.faker.helpers.multiple(()=>this.between({from:r,to:o}),{count:s}).sort((a,l)=>a.getTime()-l.getTime())}recent(e={},t){typeof e=="number"&&(Ht({deprecated:"faker.date.recent(days, refDate)",proposed:"faker.date.recent({ days, refDate })",since:"8.0",until:"9.0"}),e={days:e});let{days:i=1,refDate:r=t}=e;if(i<=0)throw new ti("Days must be greater than 0.");let o=x1(r,this.faker.defaultRefDate),s={min:1e3,max:i*24*3600*1e3},a=o.getTime();return a-=this.faker.number.int(s),o.setTime(a),o}soon(e={},t){typeof e=="number"&&(Ht({deprecated:"faker.date.soon(days, refDate)",proposed:"faker.date.soon({ days, refDate })",since:"8.0",until:"9.0"}),e={days:e});let{days:i=1,refDate:r=t}=e;if(i<=0)throw new ti("Days must be greater than 0.");let o=x1(r,this.faker.defaultRefDate),s={min:1e3,max:i*24*3600*1e3},a=o.getTime();return a+=this.faker.number.int(s),o.setTime(a),o}birthdate(e={}){var t,i,r,o;let s=e.mode==="age"?"age":"year",a=x1(e.refDate,this.faker.defaultRefDate),l=a.getUTCFullYear(),u,c;if(s==="age"?(u=new Date(a).setUTCFullYear(l-((t=e.max)!=null?t:80)-1),c=new Date(a).setUTCFullYear(l-((i=e.min)!=null?i:18))):(u=new Date(Date.UTC(0,0,2)).setUTCFullYear((r=e.min)!=null?r:l-80),c=new Date(Date.UTC(0,11,30)).setUTCFullYear((o=e.max)!=null?o:l-19)),ca!=null).map(a=>Array.isArray(a)?e.helpers.arrayElement(a):a)}while(r.length>0&&i.length>0);if(i.length===0)throw new ti(`Cannot resolve expression '${n}'`);let o=i[0];return typeof o=="function"?o():o}function EPt(n,e){let[t,i]=RPt(n),r=n[t+1];switch(r){case".":case"(":case void 0:break;default:throw new ti(`Expected dot ('.'), open parenthesis ('('), or nothing after function call but got '${r}'`)}return[t+(r==="."?2:1),e.map(o=>typeof o=="function"?o(...i):o)]}function RPt(n){let e=n.indexOf(")",1);if(e===-1)throw new ti(`Missing closing parenthesis in '${n}'`);for(;e!==-1;){let i=n.substring(1,e);try{return[e,JSON.parse(`[${i}]`)]}catch{if(!i.includes("'")&&!i.includes('"'))try{return[e,JSON.parse(`["${i}"]`)]}catch{}}e=n.indexOf(")",e+1)}e=n.lastIndexOf(")");let t=n.substring(1,e);return[e,[t]]}function ZPt(n,e){var t,i;let r=kPt.exec(n),o=((t=r==null?void 0:r[0])!=null?t:"")===".",s=(i=r==null?void 0:r.index)!=null?i:n.length,a=n.substring(0,s);if(a.length===0)throw new ti(`Expression parts cannot be empty in '${n}'`);let l=n[s+1];if(o&&(l==null||l==="."||l==="("))throw new ti(`Found dot without property name in '${n}'`);return[s+(o?1:0),e.map(u=>WPt(u,a))]}function WPt(n,e){switch(typeof n){case"function":{try{n=n()}catch{return}return n==null?void 0:n[e]}case"object":return n==null?void 0:n[e];default:return}}function APt(n){let e=VPt(n.replace(/L?$/,"0"));return e===0?0:10-e}function VPt(n){n=n.replace(/[\s-]/g,"");let e=0,t=!1;for(let i=n.length-1;i>=0;i--){let r=Number.parseInt(n[i]);t&&(r*=2,r>9&&(r=r%10+1)),e+=r,t=!t}return e%10}function GPt(n,e){return n[e]===void 0?-1:0}function SDe(n,e,t,i,r){throw new ti(`${t} for uniqueness check. May not be able to generate any more unique values with current settings. -Try adjusting maxTime or maxRetries parameters for faker.helpers.unique().`)}function SDe(n,e,t={}){let i=Date.now(),{startTime:r=Date.now(),maxTime:o=50,maxRetries:s=50,currentIterations:a=0,compare:l=GPt,store:u={}}=t,{exclude:c=[]}=t;if(t.currentIterations=a,Array.isArray(c)||(c=[c]),i-r>=o)return wDe(r,i,`Exceeded maxTime: ${o}`,u,a);if(a>=s)return wDe(r,i,`Exceeded maxRetries: ${s}`,u,a);let d=n(...e);return l(u,d)===-1&&!c.includes(d)?(u[d]=d,t.currentIterations=0,d):(t.currentIterations++,SDe(n,e,{...t,startTime:r,maxTime:o,maxRetries:s,compare:l,exclude:c}))}function xDe(n,e,t,i){let r=1;if(e)switch(e){case"?":{r=n.datatype.boolean()?0:1;break}case"*":{let o=1;for(;n.datatype.boolean();)o*=2;r=n.number.int({min:0,max:o});break}case"+":{let o=1;for(;n.datatype.boolean();)o*=2;r=n.number.int({min:1,max:o});break}default:throw new ti("Unknown quantifier symbol provided.")}else t!=null&&i!=null?r=n.number.int({min:Number.parseInt(t),max:Number.parseInt(i)}):t!=null&&i==null&&(r=Number.parseInt(t));return r}function LDe(n,e=""){let t=/(.)\{(\d+),(\d+)\}/,i=/(.)\{(\d+)\}/,r=/\[(\d+)-(\d+)\]/,o,s,a,l,u=t.exec(e);for(;u!=null;)o=Number.parseInt(u[2]),s=Number.parseInt(u[3]),o>s&&(a=s,s=o,o=a),l=n.number.int({min:o,max:s}),e=e.slice(0,u.index)+u[1].repeat(l)+e.slice(u.index+u[0].length),u=t.exec(e);for(u=i.exec(e);u!=null;)l=Number.parseInt(u[2]),e=e.slice(0,u.index)+u[1].repeat(l)+e.slice(u.index+u[0].length),u=i.exec(e);for(u=r.exec(e);u!=null;)o=Number.parseInt(u[1]),s=Number.parseInt(u[2]),o>s&&(a=s,s=o,o=a),e=e.slice(0,u.index)+n.number.int({min:o,max:s}).toString()+e.slice(u.index+u[0].length),u=r.exec(e);return e}function Q$(n,e="",t="#"){let i="";for(let r=0;r faker.string.numeric(m.length))",since:"8.4",until:"9.0"}),Q$(this.faker,e,t)}replaceSymbols(e=""){let t=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],i="";for(let r=0;r{var A;return(A=W.codePointAt(0))!=null?A:Number.NaN});if(c=R[0],d=R[1],c>d)throw new ti("Character range provided is out of order.");for(let W=c;W<=d;W++)if(u&&Number.isNaN(Number(String.fromCodePoint(W)))){let A=String.fromCodePoint(W);M.push((r=A.toUpperCase().codePointAt(0))!=null?r:Number.NaN,(o=A.toLowerCase().codePointAt(0))!=null?o:Number.NaN)}else M.push(W)}else u&&Number.isNaN(Number(Z[0]))?M.push((s=Z[0].toUpperCase().codePointAt(0))!=null?s:Number.NaN,(a=Z[0].toLowerCase().codePointAt(0))!=null?a:Number.NaN):M.push((l=Z[0].codePointAt(0))!=null?l:Number.NaN);T=T.substring(Z[0].length),Z=g.exec(T)}if(h=xDe(this.faker,D,_,F),S){let R=-1;for(let W=48;W<=57;W++){if(R=M.indexOf(W),R>-1){M.splice(R,1);continue}M.push(W)}for(let W=65;W<=90;W++){if(R=M.indexOf(W),R>-1){M.splice(R,1);continue}M.push(W)}for(let W=97;W<=122;W++){if(R=M.indexOf(W),R>-1){M.splice(R,1);continue}M.push(W)}}let E=this.multiple(()=>String.fromCodePoint(this.arrayElement(M)),{count:h}).join("");e=e.slice(0,f.index)+E+e.slice(f.index+f[0].length),f=b.exec(e)}let v=/(.)\{(\d+),(\d+)\}/;for(f=v.exec(e);f!=null;){if(c=Number.parseInt(f[2]),d=Number.parseInt(f[3]),c>d)throw new ti("Numbers out of order in {} quantifier.");h=this.faker.number.int({min:c,max:d}),e=e.slice(0,f.index)+f[1].repeat(h)+e.slice(f.index+f[0].length),f=v.exec(e)}let C=/(.)\{(\d+)\}/;for(f=C.exec(e);f!=null;)h=Number.parseInt(f[2]),e=e.slice(0,f.index)+f[1].repeat(h)+e.slice(f.index+f[0].length),f=C.exec(e);return e}shuffle(e,t={}){let{inplace:i=!1}=t;i||(e=[...e]);for(let r=e.length-1;r>0;--r){let o=this.faker.number.int(r);[e[r],e[o]]=[e[o],e[r]]}return e}uniqueArray(e,t){if(Array.isArray(e)){let r=[...new Set(e)];return this.shuffle(r).splice(0,t)}let i=new Set;try{if(typeof e=="function"){let r=1e3*t,o=0;for(;i.size1?this.faker.number.int({max:e.length-1}):0;return e[t]}weightedArrayElement(e){if(e.length===0)throw new ti("weightedArrayElement expects an array with at least one element");if(!e.every(o=>o.weight>0))throw new ti("weightedArrayElement expects an array of { weight, value } objects where weight is a positive number");let t=e.reduce((o,{weight:s})=>o+s,0),i=this.faker.number.float({min:0,max:t}),r=0;for(let{weight:o,value:s}of e)if(r+=o,i=e.length)return this.shuffle(e);if(i<=0)return[];let r=[...e],o=e.length,s=o-i,a,l;for(;o-- >s;)l=this.faker.number.int(o),a=r[l],r[l]=r[o],r[o]=a;return r.slice(s)}enumValue(e){let t=Object.keys(e).filter(r=>Number.isNaN(Number(r))),i=this.arrayElement(t);return e[i]}rangeToNumber(e){return typeof e=="number"?e:this.faker.number.int(e)}unique(e,t=[],i={}){Ht({deprecated:"faker.helpers.unique",proposed:"https://github.com/faker-js/faker/issues/1785#issuecomment-1407773744",since:"8.0",until:"9.0"});let{maxTime:r=50,maxRetries:o=50,exclude:s=[],store:a=this.uniqueStore}=i;return SDe(e,t,{...i,startTime:Date.now(),maxTime:r,maxRetries:o,currentIterations:0,exclude:s,store:a})}multiple(e,t={}){var i;let r=this.rangeToNumber((i=t.count)!=null?i:3);return r<=0?[]:Array.from({length:r},e)}},XPt=class extends _De{constructor(e){super(e),this.faker=e}fake(e){e=typeof e=="string"?e:this.arrayElement(e);let t=e.search(/{{[a-z]/),i=e.indexOf("}}",t);if(t===-1||i===-1)return e;let r=e.substring(t+2,i+2).replace("}}","").replace("{{",""),o=TPt(r,this.faker),s=String(o),a=e.substring(0,t)+s+e.substring(i+2);return this.fake(a)}},PPt=class extends Kx{int(e={}){typeof e=="number"&&(e={max:e});let{min:t=0,max:i=Number.MAX_SAFE_INTEGER}=e,r=Math.ceil(t),o=Math.floor(i);if(r===o)return r;if(o=t?new ti(`No integer value between ${t} and ${i} found.`):new ti(`Max ${i} should be greater than min ${t}.`);let s=this.faker._randomizer.next();return Math.floor(s*(o+1-r)+r)}float(e={}){typeof e=="number"&&(e={max:e});let{min:t=0,max:i=1,fractionDigits:r,precision:o,multipleOf:s=o,multipleOf:a=o??(r==null?void 0:10**-r)}=e;if(o!=null&&Ht({deprecated:"faker.number.float({ precision })",proposed:"faker.number.float({ multipleOf })",since:"8.4",until:"9.0"}),i===t)return t;if(ithis.faker.helpers.arrayElement(e),{count:t}).join("")}alpha(e={}){var t;typeof e=="number"&&(e={length:e});let i=this.faker.helpers.rangeToNumber((t=e.length)!=null?t:1);if(i<=0)return"";let{casing:r="mixed"}=e,{exclude:o=[]}=e;typeof o=="string"&&(o=[...o]);let s;switch(r){case"upper":s=[...rG];break;case"lower":s=[...oG];break;case"mixed":default:s=[...oG,...rG];break}return s=s.filter(a=>!o.includes(a)),this.fromCharacters(s,i)}alphanumeric(e={}){var t;typeof e=="number"&&(e={length:e});let i=this.faker.helpers.rangeToNumber((t=e.length)!=null?t:1);if(i<=0)return"";let{casing:r="mixed"}=e,{exclude:o=[]}=e;typeof o=="string"&&(o=[...o]);let s=[...FDe];switch(r){case"upper":s.push(...rG);break;case"lower":s.push(...oG);break;case"mixed":default:s.push(...oG,...rG);break}return s=s.filter(a=>!o.includes(a)),this.fromCharacters(s,i)}binary(e={}){var t;let{prefix:i="0b"}=e,r=i;return r+=this.fromCharacters(["0","1"],(t=e.length)!=null?t:1),r}octal(e={}){var t;let{prefix:i="0o"}=e,r=i;return r+=this.fromCharacters(["0","1","2","3","4","5","6","7"],(t=e.length)!=null?t:1),r}hexadecimal(e={}){var t;let{casing:i="mixed",prefix:r="0x"}=e,o=this.faker.helpers.rangeToNumber((t=e.length)!=null?t:1);if(o<=0)return r;let s=this.fromCharacters(["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","A","B","C","D","E","F"],o);return i==="upper"?s=s.toUpperCase():i==="lower"&&(s=s.toLowerCase()),`${r}${s}`}numeric(e={}){var t;typeof e=="number"&&(e={length:e});let i=this.faker.helpers.rangeToNumber((t=e.length)!=null?t:1);if(i<=0)return"";let{allowLeadingZeros:r=!0}=e,{exclude:o=[]}=e;typeof o=="string"&&(o=[...o]);let s=FDe.filter(l=>!o.includes(l));if(s.length===0||s.length===1&&!r&&s[0]==="0")throw new ti("Unable to generate numeric string, because all possible digits are excluded.");let a="";return!r&&!o.includes("0")&&(a+=this.faker.helpers.arrayElement(s.filter(l=>l!=="0"))),a+=this.fromCharacters(s,i-a.length),a}sample(e=10){e=this.faker.helpers.rangeToNumber(e);let t={min:33,max:125},i="";for(;i.lengththis.faker.number.hex({min:0,max:15})).replace(/y/g,()=>this.faker.number.hex({min:8,max:11}))}nanoid(e=21){if(e=this.faker.helpers.rangeToNumber(e),e<=0)return"";let t=[{value:()=>this.alphanumeric(1),weight:62},{value:()=>this.faker.helpers.arrayElement(["_","-"]),weight:2}],i="";for(;i.length","?","@","[","\\","]","^","_","`","{","|","}","~"],e)}},IDe=class{constructor(e={}){_i(this,"_defaultRefDate",()=>new Date),_i(this,"_randomizer"),_i(this,"datatype",new MPt(this)),_i(this,"date",new CDe(this)),_i(this,"helpers",new _De(this)),_i(this,"number",new PPt(this)),_i(this,"string",new OPt(this));let{randomizer:t=DPt()}=e;this._randomizer=t}get defaultRefDate(){return this._defaultRefDate}setDefaultRefDate(e=()=>new Date){typeof e=="function"?this._defaultRefDate=e:this._defaultRefDate=()=>new Date(e)}seed(e=Math.ceil(Math.random()*Number.MAX_SAFE_INTEGER)){return this._randomizer.seed(e),e}};new IDe;function BPt(n){let e={};for(let t of n)for(let i in t){let r=t[i];e[i]===void 0?e[i]={...r}:e[i]={...r,...e[i]}}return e}var zPt=class extends Vs{dog(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.dog)}cat(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.cat)}snake(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.snake)}bear(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.bear)}lion(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.lion)}cetacean(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.cetacean)}horse(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.horse)}bird(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.bird)}cow(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.cow)}fish(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.fish)}crocodilia(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.crocodilia)}insect(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.insect)}rabbit(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.rabbit)}rodent(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.rodent)}type(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.type)}},HPt={0:[[1999999,2],[2279999,3],[2289999,4],[3689999,3],[3699999,4],[6389999,3],[6397999,4],[6399999,7],[6449999,3],[6459999,7],[6479999,3],[6489999,7],[6549999,3],[6559999,4],[6999999,3],[8499999,4],[8999999,5],[9499999,6],[9999999,7]],1:[[99999,3],[299999,2],[349999,3],[399999,4],[499999,3],[699999,2],[999999,4],[3979999,3],[5499999,4],[6499999,5],[6799999,4],[6859999,5],[7139999,4],[7169999,3],[7319999,4],[7399999,7],[7749999,5],[7753999,7],[7763999,5],[7764999,7],[7769999,5],[7782999,7],[7899999,5],[7999999,4],[8004999,5],[8049999,5],[8379999,5],[8384999,7],[8671999,5],[8675999,4],[8697999,5],[9159999,6],[9165059,7],[9168699,6],[9169079,7],[9195999,6],[9196549,7],[9729999,6],[9877999,4],[9911499,6],[9911999,7],[9989899,6],[9999999,7]]},YPt=class extends Vs{department(){return this.faker.helpers.arrayElement(this.faker.definitions.commerce.department)}productName(){return`${this.productAdjective()} ${this.productMaterial()} ${this.product()}`}price(e={},t=1e3,i=2,r=""){typeof e=="number"&&(Ht({deprecated:"faker.commerce.price(min, max, dec, symbol)",proposed:"faker.commerce.price({ min, max, dec, symbol })",since:"8.0",until:"9.0"}),e={min:e,dec:i,max:t,symbol:r});let{dec:o=2,max:s=1e3,min:a=1,symbol:l=""}=e;if(a<0||s<0)return`${l}0`;let u=this.faker.number.int({min:a,max:s});return l+u.toFixed(o)}productAdjective(){return this.faker.helpers.arrayElement(this.faker.definitions.commerce.product_name.adjective)}productMaterial(){return this.faker.helpers.arrayElement(this.faker.definitions.commerce.product_name.material)}product(){return this.faker.helpers.arrayElement(this.faker.definitions.commerce.product_name.product)}productDescription(){return this.faker.helpers.arrayElement(this.faker.definitions.commerce.product_description)}isbn(e={}){var t;typeof e=="number"&&(e={variant:e});let{variant:i=13,separator:r="-"}=e,o="978",[s,a]=this.faker.helpers.objectEntry(HPt),l=this.faker.string.numeric(8),u=Number.parseInt(l.slice(0,-1)),c=(t=a.find(([b])=>u<=b))==null?void 0:t[1];if(!c)throw new ti(`Unable to find a registrant length for the group ${s}`);let d=l.slice(0,c),h=l.slice(c),m=[o,s,d,h];i===10&&m.shift();let f=m.join(""),g=0;for(let b=0;b{let e=0;for(let t of n)e=(e*10+ +t)%97;return e},pattern10:["01","02","03","04","05","06","07","08","09"],pattern100:["001","002","003","004","005","006","007","008","009"],toDigitString:n=>n.replace(/[A-Z]/gi,e=>{var t;return String(((t=e.toUpperCase().codePointAt(0))!=null?t:Number.NaN)-55)})},Pp=JPt;function jPt(n){let e="";for(let t=0;tc.country===i):this.faker.helpers.arrayElement(Pp.formats);if(!o)throw new ti(`Country code ${i} not supported.`);let s="",a=0;for(let c of o.bban){let d=c.count;for(a+=c.count;d>0;)c.type==="a"?s+=this.faker.helpers.arrayElement(Pp.alpha):c.type==="c"?this.faker.datatype.boolean(.8)?s+=this.faker.number.int(9):s+=this.faker.helpers.arrayElement(Pp.alpha):d>=3&&this.faker.datatype.boolean(.3)?this.faker.datatype.boolean()?(s+=this.faker.helpers.arrayElement(Pp.pattern100),d-=2):(s+=this.faker.helpers.arrayElement(Pp.pattern10),d--):s+=this.faker.number.int(9),d--;s=s.substring(0,a)}let l=98-Pp.mod97(Pp.toDigitString(`${s}${o.country}00`));l<10&&(l=`0${l}`);let u=`${o.country}${l}${s}`;return r?jPt(u):u}bic(e={}){let{includeBranchCode:t=this.faker.datatype.boolean()}=e,i=this.faker.string.alpha({length:4,casing:"upper"}),r=this.faker.helpers.arrayElement(Pp.iso3166),o=this.faker.string.alphanumeric({length:2,casing:"upper"}),s=t?this.faker.datatype.boolean()?this.faker.string.alphanumeric({length:3,casing:"upper"}):"XXX":"";return`${i}${r}${o}${s}`}transactionDescription(){let e=this.amount(),t=this.faker.company.name(),i=this.transactionType(),r=this.accountNumber(),o=this.maskedNumber(),s=this.currencyCode();return`${i} transaction at ${t} using card ending with ***${o} for ${s} ${e} in account ***${r}`}},$Pt=" ",qPt=class extends Vs{branch(){let e=this.faker.hacker.noun().replace(" ","-"),t=this.faker.hacker.verb().replace(" ","-");return`${e}-${t}`}commitEntry(e={}){let{merge:t=this.faker.datatype.boolean({probability:.2}),eol:i="CRLF",refDate:r}=e,o=[`commit ${this.faker.git.commitSha()}`];t&&o.push(`Merge: ${this.commitSha({length:7})} ${this.commitSha({length:7})}`);let s=this.faker.person.firstName(),a=this.faker.person.lastName(),l=this.faker.person.fullName({firstName:s,lastName:a}),u=this.faker.internet.userName({firstName:s,lastName:a}),c=this.faker.helpers.arrayElement([l,u]),d=this.faker.internet.email({firstName:s,lastName:a});c=c.replace(/^[.,:;"\\']|[<>\n]|[.,:;"\\']$/g,""),o.push(`Author: ${c} <${d}>`,`Date: ${this.commitDate({refDate:r})}`,"",`${$Pt.repeat(4)}${this.commitMessage()}`,"");let h=i==="CRLF"?`\r +Try adjusting maxTime or maxRetries parameters for faker.helpers.unique().`)}function wDe(n,e,t={}){let i=Date.now(),{startTime:r=Date.now(),maxTime:o=50,maxRetries:s=50,currentIterations:a=0,compare:l=GPt,store:u={}}=t,{exclude:c=[]}=t;if(t.currentIterations=a,Array.isArray(c)||(c=[c]),i-r>=o)return SDe(r,i,`Exceeded maxTime: ${o}`,u,a);if(a>=s)return SDe(r,i,`Exceeded maxRetries: ${s}`,u,a);let d=n(...e);return l(u,d)===-1&&!c.includes(d)?(u[d]=d,t.currentIterations=0,d):(t.currentIterations++,wDe(n,e,{...t,startTime:r,maxTime:o,maxRetries:s,compare:l,exclude:c}))}function xDe(n,e,t,i){let r=1;if(e)switch(e){case"?":{r=n.datatype.boolean()?0:1;break}case"*":{let o=1;for(;n.datatype.boolean();)o*=2;r=n.number.int({min:0,max:o});break}case"+":{let o=1;for(;n.datatype.boolean();)o*=2;r=n.number.int({min:1,max:o});break}default:throw new ti("Unknown quantifier symbol provided.")}else t!=null&&i!=null?r=n.number.int({min:Number.parseInt(t),max:Number.parseInt(i)}):t!=null&&i==null&&(r=Number.parseInt(t));return r}function _De(n,e=""){let t=/(.)\{(\d+),(\d+)\}/,i=/(.)\{(\d+)\}/,r=/\[(\d+)-(\d+)\]/,o,s,a,l,u=t.exec(e);for(;u!=null;)o=Number.parseInt(u[2]),s=Number.parseInt(u[3]),o>s&&(a=s,s=o,o=a),l=n.number.int({min:o,max:s}),e=e.slice(0,u.index)+u[1].repeat(l)+e.slice(u.index+u[0].length),u=t.exec(e);for(u=i.exec(e);u!=null;)l=Number.parseInt(u[2]),e=e.slice(0,u.index)+u[1].repeat(l)+e.slice(u.index+u[0].length),u=i.exec(e);for(u=r.exec(e);u!=null;)o=Number.parseInt(u[1]),s=Number.parseInt(u[2]),o>s&&(a=s,s=o,o=a),e=e.slice(0,u.index)+n.number.int({min:o,max:s}).toString()+e.slice(u.index+u[0].length),u=r.exec(e);return e}function Q$(n,e="",t="#"){let i="";for(let r=0;r faker.string.numeric(m.length))",since:"8.4",until:"9.0"}),Q$(this.faker,e,t)}replaceSymbols(e=""){let t=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],i="";for(let r=0;r{var V;return(V=Z.codePointAt(0))!=null?V:Number.NaN});if(c=W[0],d=W[1],c>d)throw new ti("Character range provided is out of order.");for(let Z=c;Z<=d;Z++)if(u&&Number.isNaN(Number(String.fromCodePoint(Z)))){let V=String.fromCodePoint(Z);N.push((r=V.toUpperCase().codePointAt(0))!=null?r:Number.NaN,(o=V.toLowerCase().codePointAt(0))!=null?o:Number.NaN)}else N.push(Z)}else u&&Number.isNaN(Number(R[0]))?N.push((s=R[0].toUpperCase().codePointAt(0))!=null?s:Number.NaN,(a=R[0].toLowerCase().codePointAt(0))!=null?a:Number.NaN):N.push((l=R[0].codePointAt(0))!=null?l:Number.NaN);T=T.substring(R[0].length),R=g.exec(T)}if(h=xDe(this.faker,D,L,I),w){let W=-1;for(let Z=48;Z<=57;Z++){if(W=N.indexOf(Z),W>-1){N.splice(W,1);continue}N.push(Z)}for(let Z=65;Z<=90;Z++){if(W=N.indexOf(Z),W>-1){N.splice(W,1);continue}N.push(Z)}for(let Z=97;Z<=122;Z++){if(W=N.indexOf(Z),W>-1){N.splice(W,1);continue}N.push(Z)}}let E=this.multiple(()=>String.fromCodePoint(this.arrayElement(N)),{count:h}).join("");e=e.slice(0,f.index)+E+e.slice(f.index+f[0].length),f=b.exec(e)}let y=/(.)\{(\d+),(\d+)\}/;for(f=y.exec(e);f!=null;){if(c=Number.parseInt(f[2]),d=Number.parseInt(f[3]),c>d)throw new ti("Numbers out of order in {} quantifier.");h=this.faker.number.int({min:c,max:d}),e=e.slice(0,f.index)+f[1].repeat(h)+e.slice(f.index+f[0].length),f=y.exec(e)}let C=/(.)\{(\d+)\}/;for(f=C.exec(e);f!=null;)h=Number.parseInt(f[2]),e=e.slice(0,f.index)+f[1].repeat(h)+e.slice(f.index+f[0].length),f=C.exec(e);return e}shuffle(e,t={}){let{inplace:i=!1}=t;i||(e=[...e]);for(let r=e.length-1;r>0;--r){let o=this.faker.number.int(r);[e[r],e[o]]=[e[o],e[r]]}return e}uniqueArray(e,t){if(Array.isArray(e)){let r=[...new Set(e)];return this.shuffle(r).splice(0,t)}let i=new Set;try{if(typeof e=="function"){let r=1e3*t,o=0;for(;i.size1?this.faker.number.int({max:e.length-1}):0;return e[t]}weightedArrayElement(e){if(e.length===0)throw new ti("weightedArrayElement expects an array with at least one element");if(!e.every(o=>o.weight>0))throw new ti("weightedArrayElement expects an array of { weight, value } objects where weight is a positive number");let t=e.reduce((o,{weight:s})=>o+s,0),i=this.faker.number.float({min:0,max:t}),r=0;for(let{weight:o,value:s}of e)if(r+=o,i=e.length)return this.shuffle(e);if(i<=0)return[];let r=[...e],o=e.length,s=o-i,a,l;for(;o-- >s;)l=this.faker.number.int(o),a=r[l],r[l]=r[o],r[o]=a;return r.slice(s)}enumValue(e){let t=Object.keys(e).filter(r=>Number.isNaN(Number(r))),i=this.arrayElement(t);return e[i]}rangeToNumber(e){return typeof e=="number"?e:this.faker.number.int(e)}unique(e,t=[],i={}){Ht({deprecated:"faker.helpers.unique",proposed:"https://github.com/faker-js/faker/issues/1785#issuecomment-1407773744",since:"8.0",until:"9.0"});let{maxTime:r=50,maxRetries:o=50,exclude:s=[],store:a=this.uniqueStore}=i;return wDe(e,t,{...i,startTime:Date.now(),maxTime:r,maxRetries:o,currentIterations:0,exclude:s,store:a})}multiple(e,t={}){var i;let r=this.rangeToNumber((i=t.count)!=null?i:3);return r<=0?[]:Array.from({length:r},e)}},XPt=class extends LDe{constructor(e){super(e),this.faker=e}fake(e){e=typeof e=="string"?e:this.arrayElement(e);let t=e.search(/{{[a-z]/),i=e.indexOf("}}",t);if(t===-1||i===-1)return e;let r=e.substring(t+2,i+2).replace("}}","").replace("{{",""),o=TPt(r,this.faker),s=String(o),a=e.substring(0,t)+s+e.substring(i+2);return this.fake(a)}},PPt=class extends Kx{int(e={}){typeof e=="number"&&(e={max:e});let{min:t=0,max:i=Number.MAX_SAFE_INTEGER}=e,r=Math.ceil(t),o=Math.floor(i);if(r===o)return r;if(o=t?new ti(`No integer value between ${t} and ${i} found.`):new ti(`Max ${i} should be greater than min ${t}.`);let s=this.faker._randomizer.next();return Math.floor(s*(o+1-r)+r)}float(e={}){typeof e=="number"&&(e={max:e});let{min:t=0,max:i=1,fractionDigits:r,precision:o,multipleOf:s=o,multipleOf:a=o??(r==null?void 0:10**-r)}=e;if(o!=null&&Ht({deprecated:"faker.number.float({ precision })",proposed:"faker.number.float({ multipleOf })",since:"8.4",until:"9.0"}),i===t)return t;if(ithis.faker.helpers.arrayElement(e),{count:t}).join("")}alpha(e={}){var t;typeof e=="number"&&(e={length:e});let i=this.faker.helpers.rangeToNumber((t=e.length)!=null?t:1);if(i<=0)return"";let{casing:r="mixed"}=e,{exclude:o=[]}=e;typeof o=="string"&&(o=[...o]);let s;switch(r){case"upper":s=[...rG];break;case"lower":s=[...oG];break;case"mixed":default:s=[...oG,...rG];break}return s=s.filter(a=>!o.includes(a)),this.fromCharacters(s,i)}alphanumeric(e={}){var t;typeof e=="number"&&(e={length:e});let i=this.faker.helpers.rangeToNumber((t=e.length)!=null?t:1);if(i<=0)return"";let{casing:r="mixed"}=e,{exclude:o=[]}=e;typeof o=="string"&&(o=[...o]);let s=[...IDe];switch(r){case"upper":s.push(...rG);break;case"lower":s.push(...oG);break;case"mixed":default:s.push(...oG,...rG);break}return s=s.filter(a=>!o.includes(a)),this.fromCharacters(s,i)}binary(e={}){var t;let{prefix:i="0b"}=e,r=i;return r+=this.fromCharacters(["0","1"],(t=e.length)!=null?t:1),r}octal(e={}){var t;let{prefix:i="0o"}=e,r=i;return r+=this.fromCharacters(["0","1","2","3","4","5","6","7"],(t=e.length)!=null?t:1),r}hexadecimal(e={}){var t;let{casing:i="mixed",prefix:r="0x"}=e,o=this.faker.helpers.rangeToNumber((t=e.length)!=null?t:1);if(o<=0)return r;let s=this.fromCharacters(["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","A","B","C","D","E","F"],o);return i==="upper"?s=s.toUpperCase():i==="lower"&&(s=s.toLowerCase()),`${r}${s}`}numeric(e={}){var t;typeof e=="number"&&(e={length:e});let i=this.faker.helpers.rangeToNumber((t=e.length)!=null?t:1);if(i<=0)return"";let{allowLeadingZeros:r=!0}=e,{exclude:o=[]}=e;typeof o=="string"&&(o=[...o]);let s=IDe.filter(l=>!o.includes(l));if(s.length===0||s.length===1&&!r&&s[0]==="0")throw new ti("Unable to generate numeric string, because all possible digits are excluded.");let a="";return!r&&!o.includes("0")&&(a+=this.faker.helpers.arrayElement(s.filter(l=>l!=="0"))),a+=this.fromCharacters(s,i-a.length),a}sample(e=10){e=this.faker.helpers.rangeToNumber(e);let t={min:33,max:125},i="";for(;i.lengththis.faker.number.hex({min:0,max:15})).replace(/y/g,()=>this.faker.number.hex({min:8,max:11}))}nanoid(e=21){if(e=this.faker.helpers.rangeToNumber(e),e<=0)return"";let t=[{value:()=>this.alphanumeric(1),weight:62},{value:()=>this.faker.helpers.arrayElement(["_","-"]),weight:2}],i="";for(;i.length","?","@","[","\\","]","^","_","`","{","|","}","~"],e)}},FDe=class{constructor(e={}){Li(this,"_defaultRefDate",()=>new Date),Li(this,"_randomizer"),Li(this,"datatype",new NPt(this)),Li(this,"date",new CDe(this)),Li(this,"helpers",new LDe(this)),Li(this,"number",new PPt(this)),Li(this,"string",new OPt(this));let{randomizer:t=DPt()}=e;this._randomizer=t}get defaultRefDate(){return this._defaultRefDate}setDefaultRefDate(e=()=>new Date){typeof e=="function"?this._defaultRefDate=e:this._defaultRefDate=()=>new Date(e)}seed(e=Math.ceil(Math.random()*Number.MAX_SAFE_INTEGER)){return this._randomizer.seed(e),e}};new FDe;function BPt(n){let e={};for(let t of n)for(let i in t){let r=t[i];e[i]===void 0?e[i]={...r}:e[i]={...r,...e[i]}}return e}var zPt=class extends As{dog(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.dog)}cat(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.cat)}snake(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.snake)}bear(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.bear)}lion(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.lion)}cetacean(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.cetacean)}horse(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.horse)}bird(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.bird)}cow(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.cow)}fish(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.fish)}crocodilia(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.crocodilia)}insect(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.insect)}rabbit(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.rabbit)}rodent(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.rodent)}type(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.type)}},HPt={0:[[1999999,2],[2279999,3],[2289999,4],[3689999,3],[3699999,4],[6389999,3],[6397999,4],[6399999,7],[6449999,3],[6459999,7],[6479999,3],[6489999,7],[6549999,3],[6559999,4],[6999999,3],[8499999,4],[8999999,5],[9499999,6],[9999999,7]],1:[[99999,3],[299999,2],[349999,3],[399999,4],[499999,3],[699999,2],[999999,4],[3979999,3],[5499999,4],[6499999,5],[6799999,4],[6859999,5],[7139999,4],[7169999,3],[7319999,4],[7399999,7],[7749999,5],[7753999,7],[7763999,5],[7764999,7],[7769999,5],[7782999,7],[7899999,5],[7999999,4],[8004999,5],[8049999,5],[8379999,5],[8384999,7],[8671999,5],[8675999,4],[8697999,5],[9159999,6],[9165059,7],[9168699,6],[9169079,7],[9195999,6],[9196549,7],[9729999,6],[9877999,4],[9911499,6],[9911999,7],[9989899,6],[9999999,7]]},YPt=class extends As{department(){return this.faker.helpers.arrayElement(this.faker.definitions.commerce.department)}productName(){return`${this.productAdjective()} ${this.productMaterial()} ${this.product()}`}price(e={},t=1e3,i=2,r=""){typeof e=="number"&&(Ht({deprecated:"faker.commerce.price(min, max, dec, symbol)",proposed:"faker.commerce.price({ min, max, dec, symbol })",since:"8.0",until:"9.0"}),e={min:e,dec:i,max:t,symbol:r});let{dec:o=2,max:s=1e3,min:a=1,symbol:l=""}=e;if(a<0||s<0)return`${l}0`;let u=this.faker.number.int({min:a,max:s});return l+u.toFixed(o)}productAdjective(){return this.faker.helpers.arrayElement(this.faker.definitions.commerce.product_name.adjective)}productMaterial(){return this.faker.helpers.arrayElement(this.faker.definitions.commerce.product_name.material)}product(){return this.faker.helpers.arrayElement(this.faker.definitions.commerce.product_name.product)}productDescription(){return this.faker.helpers.arrayElement(this.faker.definitions.commerce.product_description)}isbn(e={}){var t;typeof e=="number"&&(e={variant:e});let{variant:i=13,separator:r="-"}=e,o="978",[s,a]=this.faker.helpers.objectEntry(HPt),l=this.faker.string.numeric(8),u=Number.parseInt(l.slice(0,-1)),c=(t=a.find(([b])=>u<=b))==null?void 0:t[1];if(!c)throw new ti(`Unable to find a registrant length for the group ${s}`);let d=l.slice(0,c),h=l.slice(c),m=[o,s,d,h];i===10&&m.shift();let f=m.join(""),g=0;for(let b=0;b{let e=0;for(let t of n)e=(e*10+ +t)%97;return e},pattern10:["01","02","03","04","05","06","07","08","09"],pattern100:["001","002","003","004","005","006","007","008","009"],toDigitString:n=>n.replace(/[A-Z]/gi,e=>{var t;return String(((t=e.toUpperCase().codePointAt(0))!=null?t:Number.NaN)-55)})},Pp=JPt;function jPt(n){let e="";for(let t=0;tc.country===i):this.faker.helpers.arrayElement(Pp.formats);if(!o)throw new ti(`Country code ${i} not supported.`);let s="",a=0;for(let c of o.bban){let d=c.count;for(a+=c.count;d>0;)c.type==="a"?s+=this.faker.helpers.arrayElement(Pp.alpha):c.type==="c"?this.faker.datatype.boolean(.8)?s+=this.faker.number.int(9):s+=this.faker.helpers.arrayElement(Pp.alpha):d>=3&&this.faker.datatype.boolean(.3)?this.faker.datatype.boolean()?(s+=this.faker.helpers.arrayElement(Pp.pattern100),d-=2):(s+=this.faker.helpers.arrayElement(Pp.pattern10),d--):s+=this.faker.number.int(9),d--;s=s.substring(0,a)}let l=98-Pp.mod97(Pp.toDigitString(`${s}${o.country}00`));l<10&&(l=`0${l}`);let u=`${o.country}${l}${s}`;return r?jPt(u):u}bic(e={}){let{includeBranchCode:t=this.faker.datatype.boolean()}=e,i=this.faker.string.alpha({length:4,casing:"upper"}),r=this.faker.helpers.arrayElement(Pp.iso3166),o=this.faker.string.alphanumeric({length:2,casing:"upper"}),s=t?this.faker.datatype.boolean()?this.faker.string.alphanumeric({length:3,casing:"upper"}):"XXX":"";return`${i}${r}${o}${s}`}transactionDescription(){let e=this.amount(),t=this.faker.company.name(),i=this.transactionType(),r=this.accountNumber(),o=this.maskedNumber(),s=this.currencyCode();return`${i} transaction at ${t} using card ending with ***${o} for ${s} ${e} in account ***${r}`}},$Pt=" ",qPt=class extends As{branch(){let e=this.faker.hacker.noun().replace(" ","-"),t=this.faker.hacker.verb().replace(" ","-");return`${e}-${t}`}commitEntry(e={}){let{merge:t=this.faker.datatype.boolean({probability:.2}),eol:i="CRLF",refDate:r}=e,o=[`commit ${this.faker.git.commitSha()}`];t&&o.push(`Merge: ${this.commitSha({length:7})} ${this.commitSha({length:7})}`);let s=this.faker.person.firstName(),a=this.faker.person.lastName(),l=this.faker.person.fullName({firstName:s,lastName:a}),u=this.faker.internet.userName({firstName:s,lastName:a}),c=this.faker.helpers.arrayElement([l,u]),d=this.faker.internet.email({firstName:s,lastName:a});c=c.replace(/^[.,:;"\\']|[<>\n]|[.,:;"\\']$/g,""),o.push(`Author: ${c} <${d}>`,`Date: ${this.commitDate({refDate:r})}`,"",`${$Pt.repeat(4)}${this.commitMessage()}`,"");let h=i==="CRLF"?`\r `:` -`;return o.join(h)}commitMessage(){return`${this.faker.hacker.verb()} ${this.faker.hacker.adjective()} ${this.faker.hacker.noun()}`}commitDate(e={}){let{refDate:t=this.faker.defaultRefDate()}=e,i=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],o=this.faker.date.recent({days:1,refDate:t}),s=i[o.getUTCDay()],a=r[o.getUTCMonth()],l=o.getUTCDate(),u=o.getUTCHours().toString().padStart(2,"0"),c=o.getUTCMinutes().toString().padStart(2,"0"),d=o.getUTCSeconds().toString().padStart(2,"0"),h=o.getUTCFullYear(),m=this.faker.number.int({min:-11,max:12}),f=Math.abs(m).toString().padStart(2,"0"),g="00",b=m>=0?"+":"-";return`${s} ${a} ${l} ${u}:${c}:${d} ${h} ${b}${f}${g}`}commitSha(e={}){let{length:t=40}=e;return this.faker.string.hexadecimal({length:t,casing:"lower",prefix:""})}shortSha(){return Ht({deprecated:"faker.git.shortSha()",proposed:"faker.git.commitSha({ length: 7 })",since:"8.0",until:"9.0"}),this.commitSha({length:7})}},eOt=class extends Vs{abbreviation(){return this.faker.helpers.arrayElement(this.faker.definitions.hacker.abbreviation)}adjective(){return this.faker.helpers.arrayElement(this.faker.definitions.hacker.adjective)}noun(){return this.faker.helpers.arrayElement(this.faker.definitions.hacker.noun)}verb(){return this.faker.helpers.arrayElement(this.faker.definitions.hacker.verb)}ingverb(){return this.faker.helpers.arrayElement(this.faker.definitions.hacker.ingverb)}phrase(){let e={abbreviation:this.abbreviation,adjective:this.adjective,ingverb:this.ingverb,noun:this.noun,verb:this.verb},t=this.faker.helpers.arrayElement(this.faker.definitions.hacker.phrase);return this.faker.helpers.mustache(t,e)}},tOt=class{constructor(e){this.faker=e}image(e,t,i,r){return Ht({deprecated:"faker.lorempicsum.image",proposed:"faker.image.urlPicsumPhotos",since:"8.0",until:"9.0"}),this.imageUrl(e,t,i,r)}imageGrayscale(e,t,i){return Ht({deprecated:"faker.lorempicsum.imageGrayscale",proposed:"faker.image.urlPicsumPhotos",since:"8.0",until:"9.0"}),this.imageUrl(e,t,i)}imageBlurred(e,t,i){return Ht({deprecated:"faker.lorempicsum.imageBlurred",proposed:"faker.image.urlPicsumPhotos",since:"8.0",until:"9.0"}),this.imageUrl(e,t,void 0,i)}imageRandomSeeded(e,t,i,r,o){return Ht({deprecated:"faker.lorempicsum.imageRandomSeeded",proposed:"faker.image.urlPicsumPhotos",since:"8.0",until:"9.0"}),this.imageUrl(e,t,i,r,o)}imageUrl(e,t,i,r,o){Ht({deprecated:"faker.lorempicsum.imageUrl",proposed:"faker.image.urlPicsumPhotos",since:"8.0",until:"9.0"}),e=e||640,t=t||480;let s="https://picsum.photos";return o&&(s+=`/seed/${o}`),s+=`/${e}/${t}`,i&&r?`${s}?grayscale&blur=${r}`:i?`${s}?grayscale`:r?`${s}?blur=${r}`:s}},nOt=class lTe{constructor(e){this.faker=e;for(let t of Object.getOwnPropertyNames(lTe.prototype))t==="constructor"||typeof this[t]!="function"||(this[t]=this[t].bind(this))}imageUrl(e,t,i,r,o,s){Ht({deprecated:"faker.placeholder.imageUrl",proposed:"faker.image.urlPlaceholder",since:"8.0",until:"9.0"}),e=e||640,t=t||e;let a="https://via.placeholder.com";if(a+=`/${e}x${t}`,o!=null&&(a+=`/${o.replace("#","").toUpperCase()}`,s!=null&&(a+=`/${s.replace("#","").toUpperCase()}`)),r!=null&&(a+=`.${r}`),i!=null){let l=new URLSearchParams({text:i});a+=`?${l.toString()}`}return a}randomUrl(e,t,i){return Ht({deprecated:"faker.placeholder.randomUrl",proposed:"faker.image.urlPlaceholder",since:"8.0",until:"9.0"}),this.imageUrl(e,t,this.faker.lorem.word(),i,this.faker.color.rgb({casing:"upper",prefix:""}),this.faker.color.rgb({casing:"upper",prefix:""}))}},iOt=class{constructor(e){this.faker=e}image(e,t,i){return Ht({deprecated:"faker.unsplash.image",proposed:"faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,void 0,i)}imageUrl(e,t,i,r){Ht({deprecated:"faker.unsplash.imageUrl",proposed:"faker.image.url",since:"8.0",until:"9.0"}),e=e||640,t=t||480;let o="https://source.unsplash.com";return i!=null&&(o+=`/category/${i}`),o+=`/${e}x${t}`,r!=null&&/^([A-Za-z0-9].+,[A-Za-z0-9]+)$|^([A-Za-z0-9]+)$/.test(r)&&(o+=`?${r}`),o}food(e,t,i){return Ht({deprecated:"faker.unsplash.food",proposed:"faker.image.url",since:"8.0",until:"9.0"}),this.faker.image.unsplash.imageUrl(e,t,"food",i)}people(e,t,i){return Ht({deprecated:"faker.unsplash.people",proposed:"faker.image.url",since:"8.0",until:"9.0"}),this.faker.image.unsplash.imageUrl(e,t,"people",i)}nature(e,t,i){return Ht({deprecated:"faker.unsplash.nature",proposed:"faker.image.url",since:"8.0",until:"9.0"}),this.faker.image.unsplash.imageUrl(e,t,"nature",i)}technology(e,t,i){return Ht({deprecated:"faker.unsplash.technology",proposed:"faker.image.url",since:"8.0",until:"9.0"}),this.faker.image.unsplash.imageUrl(e,t,"technology",i)}objects(e,t,i){return Ht({deprecated:"faker.unsplash.objects",proposed:"faker.image.url",since:"8.0",until:"9.0"}),this.faker.image.unsplash.imageUrl(e,t,"objects",i)}buildings(e,t,i){return Ht({deprecated:"faker.unsplash.buildings",proposed:"faker.image.url",since:"8.0",until:"9.0"}),this.faker.image.unsplash.imageUrl(e,t,"buildings",i)}},rOt=class extends Vs{constructor(e){super(e),_i(this,"unsplash"),_i(this,"lorempicsum"),_i(this,"placeholder"),this.unsplash=new iOt(this.faker),this.lorempicsum=new tOt(this.faker),this.placeholder=new nOt(this.faker)}avatar(){return this.faker.helpers.arrayElement([this.avatarLegacy,this.avatarGitHub])()}avatarGitHub(){return`https://avatars.githubusercontent.com/u/${this.faker.number.int(1e8)}`}avatarLegacy(){return`https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/${this.faker.number.int(1249)}.jpg`}url(e={}){let{width:t=640,height:i=480}=e;return this.faker.helpers.arrayElement([this.urlLoremFlickr,this.urlPicsumPhotos])({width:t,height:i})}urlLoremFlickr(e={}){let{width:t=640,height:i=480,category:r}=e;return`https://loremflickr.com/${t}/${i}${r==null?"":`/${r}`}?lock=${this.faker.number.int()}`}urlPicsumPhotos(e={}){let{width:t=640,height:i=480,grayscale:r=!1,blur:o}=e,s=`https://picsum.photos/seed/${this.faker.string.alphanumeric({length:{min:5,max:10}})}/${t}/${i}`,a=typeof o=="number"&&o>=1&&o<=10;return(r||a)&&(s+="?",r&&(s+="grayscale"),r&&a&&(s+="&"),a&&(s+=`blur=${o}`)),s}urlPlaceholder(e={}){let{width:t=this.faker.number.int({min:1,max:3999}),height:i=this.faker.number.int({min:1,max:3999}),backgroundColor:r=this.faker.color.rgb({format:"hex",prefix:""}),textColor:o=this.faker.color.rgb({format:"hex",prefix:""}),format:s=this.faker.helpers.arrayElement(["gif","jpeg","jpg","png","webp"]),text:a=this.faker.lorem.words()}=e,l="https://via.placeholder.com";return l+=`/${t}`,l+=`x${i}`,l+=`/${r}`,l+=`/${o}`,l+=`.${s}`,l+=`?text=${encodeURIComponent(a)}`,l}dataUri(e={}){let{width:t=640,height:i=480,color:r=this.faker.color.rgb(),type:o="svg-uri"}=e,s=`${t}x${i}`;return o==="svg-uri"?`data:image/svg+xml;charset=UTF-8,${encodeURIComponent(s)}`:`data:image/svg+xml;base64,${Buffer.from(s).toString("base64")}`}image(e,t,i){Ht({deprecated:"faker.image.image",proposed:"faker.image.url",since:"8.0",until:"9.0"});let r=["abstract","animals","business","cats","city","food","nightlife","fashion","people","nature","sports","technics","transport"];return this[this.faker.helpers.arrayElement(r)](e,t,i)}imageUrl(e,t,i,r){Ht({deprecated:"faker.image.imageUrl",proposed:"faker.image.url",since:"8.0",until:"9.0"}),e=e||640,t=t||480;let o=`https://loremflickr.com/${e}/${t}`;return i!=null&&(o+=`/${i}`),r&&(o+=`?lock=${this.faker.number.int()}`),o}abstract(e,t,i){return Ht({deprecated:"faker.image.abstract",proposed:"faker.image.urlLoremFlickr({ category: 'abstract' }) or faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,"abstract",i)}animals(e,t,i){return Ht({deprecated:"faker.image.animals",proposed:"faker.image.urlLoremFlickr({ category: 'animals' }) or faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,"animals",i)}business(e,t,i){return Ht({deprecated:"faker.image.business",proposed:"faker.image.urlLoremFlickr({ category: 'business' }) or faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,"business",i)}cats(e,t,i){return Ht({deprecated:"faker.image.cats",proposed:"faker.image.urlLoremFlickr({ category: 'cats' }) or faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,"cats",i)}city(e,t,i){return Ht({deprecated:"faker.image.city",proposed:"faker.image.urlLoremFlickr({ category: 'city' }) or faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,"city",i)}food(e,t,i){return Ht({deprecated:"faker.image.food",proposed:"faker.image.urlLoremFlickr({ category: 'food' }) or faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,"food",i)}nightlife(e,t,i){return Ht({deprecated:"faker.image.nightlife",proposed:"faker.image.urlLoremFlickr({ category: 'nightlife' }) or faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,"nightlife",i)}fashion(e,t,i){return Ht({deprecated:"faker.image.fashion",proposed:"faker.image.urlLoremFlickr({ category: 'fashion' }) or faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,"fashion",i)}people(e,t,i){return Ht({deprecated:"faker.image.people",proposed:"faker.image.urlLoremFlickr({ category: 'people' }) or faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,"people",i)}nature(e,t,i){return Ht({deprecated:"faker.image.nature",proposed:"faker.image.urlLoremFlickr({ category: 'nature' }) or faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,"nature",i)}sports(e,t,i){return Ht({deprecated:"faker.image.sports",proposed:"faker.image.urlLoremFlickr({ category: 'sports' }) or faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,"sports",i)}technics(e,t,i){return Ht({deprecated:"faker.image.technics",proposed:"faker.image.urlLoremFlickr({ category: 'technics' }) or faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,"technics",i)}transport(e,t,i){return Ht({deprecated:"faker.image.transport",proposed:"faker.image.urlLoremFlickr({ category: 'transport' }) or faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,"transport",i)}},oOt=Object.fromEntries([["А","A"],["а","a"],["Б","B"],["б","b"],["В","V"],["в","v"],["Г","G"],["г","g"],["Д","D"],["д","d"],["ъе","ye"],["Ъе","Ye"],["ъЕ","yE"],["ЪЕ","YE"],["Е","E"],["е","e"],["Ё","Yo"],["ё","yo"],["Ж","Zh"],["ж","zh"],["З","Z"],["з","z"],["И","I"],["и","i"],["ый","iy"],["Ый","Iy"],["ЫЙ","IY"],["ыЙ","iY"],["Й","Y"],["й","y"],["К","K"],["к","k"],["Л","L"],["л","l"],["М","M"],["м","m"],["Н","N"],["н","n"],["О","O"],["о","o"],["П","P"],["п","p"],["Р","R"],["р","r"],["С","S"],["с","s"],["Т","T"],["т","t"],["У","U"],["у","u"],["Ф","F"],["ф","f"],["Х","Kh"],["х","kh"],["Ц","Ts"],["ц","ts"],["Ч","Ch"],["ч","ch"],["Ш","Sh"],["ш","sh"],["Щ","Sch"],["щ","sch"],["Ъ",""],["ъ",""],["Ы","Y"],["ы","y"],["Ь",""],["ь",""],["Э","E"],["э","e"],["Ю","Yu"],["ю","yu"],["Я","Ya"],["я","ya"]]),sOt=Object.fromEntries([["α","a"],["β","v"],["γ","g"],["δ","d"],["ε","e"],["ζ","z"],["η","i"],["θ","th"],["ι","i"],["κ","k"],["λ","l"],["μ","m"],["ν","n"],["ξ","ks"],["ο","o"],["π","p"],["ρ","r"],["σ","s"],["τ","t"],["υ","y"],["φ","f"],["χ","x"],["ψ","ps"],["ω","o"],["ά","a"],["έ","e"],["ί","i"],["ό","o"],["ύ","y"],["ή","i"],["ώ","o"],["ς","s"],["ϊ","i"],["ΰ","y"],["ϋ","y"],["ΐ","i"],["Α","A"],["Β","B"],["Γ","G"],["Δ","D"],["Ε","E"],["Ζ","Z"],["Η","I"],["Θ","TH"],["Ι","I"],["Κ","K"],["Λ","L"],["Μ","M"],["Ν","N"],["Ξ","KS"],["Ο","O"],["Π","P"],["Ρ","R"],["Σ","S"],["Τ","T"],["Υ","Y"],["Φ","F"],["Χ","X"],["Ψ","PS"],["Ω","O"],["Ά","A"],["Έ","E"],["Ί","I"],["Ό","O"],["Ύ","Y"],["Ή","I"],["Ώ","O"],["Ϊ","I"],["Ϋ","Y"]]),aOt=Object.fromEntries([["ء","e"],["آ","a"],["أ","a"],["ؤ","w"],["إ","i"],["ئ","y"],["ا","a"],["ب","b"],["ة","t"],["ت","t"],["ث","th"],["ج","j"],["ح","h"],["خ","kh"],["د","d"],["ذ","dh"],["ر","r"],["ز","z"],["س","s"],["ش","sh"],["ص","s"],["ض","d"],["ط","t"],["ظ","z"],["ع","e"],["غ","gh"],["ـ","_"],["ف","f"],["ق","q"],["ك","k"],["ل","l"],["م","m"],["ن","n"],["ه","h"],["و","w"],["ى","a"],["ي","y"],["َ‎","a"],["ُ","u"],["ِ‎","i"]]),lOt=Object.fromEntries([["ա","a"],["Ա","A"],["բ","b"],["Բ","B"],["գ","g"],["Գ","G"],["դ","d"],["Դ","D"],["ե","ye"],["Ե","Ye"],["զ","z"],["Զ","Z"],["է","e"],["Է","E"],["ը","y"],["Ը","Y"],["թ","t"],["Թ","T"],["ժ","zh"],["Ժ","Zh"],["ի","i"],["Ի","I"],["լ","l"],["Լ","L"],["խ","kh"],["Խ","Kh"],["ծ","ts"],["Ծ","Ts"],["կ","k"],["Կ","K"],["հ","h"],["Հ","H"],["ձ","dz"],["Ձ","Dz"],["ղ","gh"],["Ղ","Gh"],["ճ","tch"],["Ճ","Tch"],["մ","m"],["Մ","M"],["յ","y"],["Յ","Y"],["ն","n"],["Ն","N"],["շ","sh"],["Շ","Sh"],["ո","vo"],["Ո","Vo"],["չ","ch"],["Չ","Ch"],["պ","p"],["Պ","P"],["ջ","j"],["Ջ","J"],["ռ","r"],["Ռ","R"],["ս","s"],["Ս","S"],["վ","v"],["Վ","V"],["տ","t"],["Տ","T"],["ր","r"],["Ր","R"],["ց","c"],["Ց","C"],["ու","u"],["ՈՒ","U"],["Ու","U"],["փ","p"],["Փ","P"],["ք","q"],["Ք","Q"],["օ","o"],["Օ","O"],["ֆ","f"],["Ֆ","F"],["և","yev"]]),uOt=Object.fromEntries([["چ","ch"],["ک","k"],["گ","g"],["پ","p"],["ژ","zh"],["ی","y"]]),DDe={...oOt,...sOt,...aOt,...uOt,...lOt};function cOt(n){let e=()=>n.helpers.arrayElement(["AB","AF","AN","AR","AS","AZ","BE","BG","BN","BO","BR","BS","CA","CE","CO","CS","CU","CY","DA","DE","EL","EN","EO","ES","ET","EU","FA","FI","FJ","FO","FR","FY","GA","GD","GL","GV","HE","HI","HR","HT","HU","HY","ID","IS","IT","JA","JV","KA","KG","KO","KU","KW","KY","LA","LB","LI","LN","LT","LV","MG","MK","MN","MO","MS","MT","MY","NB","NE","NL","NN","NO","OC","PL","PT","RM","RO","RU","SC","SE","SK","SL","SO","SQ","SR","SV","SW","TK","TR","TY","UK","UR","UZ","VI","VO","YI","ZH"]),t=()=>{let u={chrome:["win","mac","lin"],firefox:["win","mac","lin"],opera:["win","mac","lin"],safari:["win","mac"],iexplorer:["win"]},c=n.helpers.objectKey(u),d=n.helpers.arrayElement(u[c]);return[c,d]},i=u=>n.helpers.arrayElement({lin:["i686","x86_64"],mac:["Intel","PPC","U; Intel","U; PPC"],win:["","WOW64","Win64; x64"]}[u]),r=u=>{let c="";for(let d=0;d=11?`Mozilla/5.0 (Windows NT 6.${n.number.int({min:1,max:3})}; Trident/7.0; ${n.datatype.boolean()?"Touch; ":""}rv:11.0) like Gecko`:`Mozilla/5.0 (compatible; MSIE ${u}.0; Windows NT ${o.nt()}; Trident/${o.trident()}${n.datatype.boolean()?`; .NET CLR ${o.net()}`:""})`},opera(u){let c=` Presto/${o.presto()} Version/${o.presto2()})`,d=u==="win"?`(Windows NT ${o.nt()}; U; ${e()}${c}`:u==="lin"?`(X11; Linux ${i(u)}; U; ${e()}${c}`:`(Macintosh; Intel Mac OS X ${o.osx()} U; ${e()} Presto/${o.presto()} Version/${o.presto2()})`;return`Opera/${n.number.int({min:9,max:14})}.${n.number.int(99)} ${d}`},safari(u){let c=o.safari(),d=`${n.number.int({min:4,max:7})}.${n.number.int(1)}.${n.number.int(10)}`;return`Mozilla/5.0 ${u==="mac"?`(Macintosh; ${i("mac")} Mac OS X ${o.osx("_")} rv:${n.number.int({min:2,max:6})}.0; ${e()}) `:`(Windows; U; Windows NT ${o.nt()})`}AppleWebKit/${c} (KHTML, like Gecko) Version/${d} Safari/${c}`},chrome(u){let c=o.safari();return`Mozilla/5.0 ${u==="mac"?`(Macintosh; ${i("mac")} Mac OS X ${o.osx("_")}) `:u==="win"?`(Windows; U; Windows NT ${o.nt()})`:`(X11; Linux ${i(u)}`} AppleWebKit/${c} (KHTML, like Gecko) Chrome/${o.chrome()} Safari/${c}`}},[a,l]=t();return s[a](l)}var dOt=class extends Vs{avatar(){return Ht({deprecated:"faker.internet.avatar()",proposed:"faker.image.avatarLegacy() or faker.image.avatar()",since:"8.4",until:"9.0"}),this.faker.image.avatarLegacy()}email(e={},t,i,r){var o;(typeof e=="string"||t!=null||i!=null||r!=null)&&Ht({deprecated:"faker.internet.email(firstName, lastName, provider, options)",proposed:"faker.internet.email({ firstName, lastName, provider, ... })",since:"8.0",until:"9.0"}),typeof e=="string"&&(e={firstName:e});let{firstName:s,lastName:a=t,provider:l=i??this.faker.helpers.arrayElement(this.faker.definitions.internet.free_email),allowSpecialCharacters:u=(o=r==null?void 0:r.allowSpecialCharacters)!=null?o:!1}=e,c=this.userName({firstName:s,lastName:a});if(c=c.replace(/[^A-Za-z0-9._+-]+/g,""),c=c.substring(0,50),u){let d=[..."._-"],h=[...".!#$%&'*+-/=?^_`{|}~"];c=c.replace(this.faker.helpers.arrayElement(d),this.faker.helpers.arrayElement(h))}return c=c.replace(/\.{2,}/g,"."),c=c.replace(/^\./,""),c=c.replace(/\.$/,""),`${c}@${l}`}exampleEmail(e={},t,i){var r;(typeof e=="string"||t!=null||i!=null)&&Ht({deprecated:"faker.internet.exampleEmail(firstName, lastName, options)",proposed:"faker.internet.exampleEmail({ firstName, lastName, ... })",since:"8.0",until:"9.0"}),typeof e=="string"&&(e={firstName:e});let{firstName:o,lastName:s=t,allowSpecialCharacters:a=(r=i==null?void 0:i.allowSpecialCharacters)!=null?r:!1}=e,l=this.faker.helpers.arrayElement(this.faker.definitions.internet.example_email);return this.email({firstName:o,lastName:s,provider:l,allowSpecialCharacters:a})}userName(e={},t){(typeof e=="string"||t!=null)&&Ht({deprecated:"faker.internet.userName(firstName, lastName)",proposed:"faker.internet.userName({ firstName, lastName })",since:"8.0",until:"9.0"}),typeof e=="string"&&(e={firstName:e});let{firstName:i=this.faker.person.firstName(),lastName:r=t??this.faker.person.lastName(),lastName:o=t}=e,s,a=this.faker.number.int(o?1:2),l=this.faker.helpers.arrayElement([".","_"]);switch(a){case 0:s=`${i}${l}${r}${this.faker.number.int(99)}`;break;case 1:s=`${i}${l}${r}`;break;case 2:default:s=`${i}${this.faker.number.int(99)}`;break}return s=s.normalize("NFKD").replace(/[\u0300-\u036F]/g,""),s=[...s].map(u=>{var c;if(DDe[u])return DDe[u];let d=(c=u.codePointAt(0))!=null?c:Number.NaN;return d<128?u:d.toString(36)}).join(""),s=s.toString().replace(/'/g,""),s=s.replace(/ /g,""),s}displayName(e={},t){(typeof e=="string"||t!=null)&&Ht({deprecated:"faker.internet.displayName(firstName, lastName)",proposed:"faker.internet.displayName({ firstName, lastName })",since:"8.0",until:"9.0"}),typeof e=="string"&&(e={firstName:e});let{firstName:i=this.faker.person.firstName(),lastName:r=t??this.faker.person.lastName()}=e,o;switch(this.faker.number.int(2)){case 0:o=`${i}${this.faker.number.int(99)}`;break;case 1:o=i+this.faker.helpers.arrayElement([".","_"])+r;break;case 2:default:o=`${i}${this.faker.helpers.arrayElement([".","_"])}${r}${this.faker.number.int(99)}`;break}return o=o.toString().replace(/'/g,""),o=o.replace(/ /g,""),o}protocol(){let e=["http","https"];return this.faker.helpers.arrayElement(e)}httpMethod(){let e=["GET","POST","PUT","DELETE","PATCH"];return this.faker.helpers.arrayElement(e)}httpStatusCode(e={}){let{types:t=Object.keys(this.faker.definitions.internet.http_status_code)}=e,i=this.faker.helpers.arrayElement(t);return this.faker.helpers.arrayElement(this.faker.definitions.internet.http_status_code[i])}url(e={}){let{appendSlash:t=this.faker.datatype.boolean(),protocol:i="https"}=e;return`${i}://${this.domainName()}${t?"/":""}`}domainName(){return`${this.domainWord()}.${this.domainSuffix()}`}domainSuffix(){return this.faker.helpers.arrayElement(this.faker.definitions.internet.domain_suffix)}domainWord(){return this.faker.helpers.slugify(`${this.faker.word.adjective()}-${this.faker.word.noun()}`).toLowerCase()}ip(){return this.faker.datatype.boolean()?this.ipv4():this.ipv6()}ipv4(){return Array.from({length:4},()=>this.faker.number.int(255)).join(".")}ipv6(){return Array.from({length:8},()=>this.faker.string.hexadecimal({length:4,casing:"lower",prefix:""})).join(":")}port(){return this.faker.number.int(65535)}userAgent(){return cOt(this.faker)}color(e={},t,i){(typeof e=="number"||i!=null||t!=null)&&Ht({deprecated:"faker.internet.color(redBase, greenBase, blueBase)",proposed:"faker.internet.color({ redBase, greenBase, blueBase })",since:"8.0",until:"9.0"}),typeof e=="number"&&(e={redBase:e});let{redBase:r=0,greenBase:o=t??0,blueBase:s=i??0}=e,a=d=>Math.floor((this.faker.number.int(256)+d)/2).toString(16).padStart(2,"0"),l=a(r),u=a(o),c=a(s);return`#${l}${u}${c}`}mac(e={}){typeof e=="string"&&(e={separator:e});let{separator:t=":"}=e,i,r="";for([":","-",""].includes(t)||(t=":"),i=0;i<12;i++)r+=this.faker.number.hex(15),i%2===1&&i!==11&&(r+=t);return r}password(e={},t,i,r){let o=/[aeiouAEIOU]$/,s=/[bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ]$/,a=(h,m,f,g)=>{if(g.length>=h)return g;m&&(f=s.test(g)?o:s);let b=this.faker.number.int(94)+33,v=String.fromCodePoint(b);return m&&(v=v.toLowerCase()),f.test(v)?a(h,m,f,g+v):a(h,m,f,g)};(typeof e=="string"||t!=null||i!=null||r!=null)&&Ht({deprecated:"faker.internet.password(length, memorable, pattern, prefix)",proposed:"faker.internet.password({ length, memorable, pattern, prefix })",since:"8.0",until:"9.0"}),typeof e=="number"&&(e={length:e});let{length:l=15,memorable:u=t??!1,pattern:c=i??/\w/,prefix:d=r??""}=e;return a(l,u,c,d)}emoji(e={}){let{types:t=Object.keys(this.faker.definitions.internet.emoji)}=e,i=this.faker.helpers.arrayElement(t);return this.faker.helpers.arrayElement(this.faker.definitions.internet.emoji[i])}},hOt=class extends Vs{zipCode(e={}){typeof e=="string"&&(e={format:e});let{state:t}=e;if(t){let r=this.faker.definitions.location.postcode_by_state[t];if(r)return this.faker.helpers.fake(r);throw new ti(`No zip code definition found for state "${t}"`)}let{format:i=this.faker.definitions.location.postcode}=e;return typeof i=="string"&&(i=[i]),i=this.faker.helpers.arrayElement(i),this.faker.helpers.replaceSymbols(i)}zipCodeByState(e={}){Ht({deprecated:"faker.location.zipCodeByState",proposed:"faker.location.zipCode({ state })",since:"8.0",until:"9.0"}),typeof e=="string"&&(e={state:e});let{state:t}=e;return this.zipCode({state:t})}city(){return this.faker.helpers.fake(this.faker.definitions.location.city_pattern)}cityName(){return Ht({deprecated:"faker.location.cityName",proposed:"faker.location.city",since:"8.0",until:"9.0"}),this.faker.helpers.arrayElement(this.faker.definitions.location.city_name)}buildingNumber(){return this.faker.helpers.arrayElement(this.faker.definitions.location.building_number).replace(/#+/g,e=>this.faker.string.numeric({length:e.length,allowLeadingZeros:!1}))}street(){return this.faker.helpers.fake(this.faker.definitions.location.street_pattern)}streetName(){return Ht({deprecated:"faker.location.streetName",proposed:"faker.location.street",since:"8.0",until:"9.0"}),this.faker.helpers.arrayElement(this.faker.definitions.location.street_name)}streetAddress(e={}){typeof e=="boolean"&&(e={useFullAddress:e});let{useFullAddress:t}=e,i=this.faker.definitions.location.street_address[t?"full":"normal"];return this.faker.helpers.fake(i)}secondaryAddress(){return this.faker.helpers.arrayElement(this.faker.definitions.location.secondary_address).replace(/#+/g,e=>this.faker.string.numeric({length:e.length,allowLeadingZeros:!1}))}county(){return this.faker.helpers.arrayElement(this.faker.definitions.location.county)}country(){return this.faker.helpers.arrayElement(this.faker.definitions.location.country)}countryCode(e={}){typeof e=="string"&&(e={variant:e});let{variant:t="alpha-2"}=e,i=(()=>{switch(t){case"numeric":return"numeric";case"alpha-3":return"alpha3";case"alpha-2":default:return"alpha2"}})();return this.faker.helpers.arrayElement(this.faker.definitions.location.country_code)[i]}state(e={}){let{abbreviated:t=!1}=e,i=t?this.faker.definitions.location.state_abbr:this.faker.definitions.location.state;return this.faker.helpers.arrayElement(i)}stateAbbr(){return Ht({deprecated:"faker.location.stateAbbr()",proposed:"faker.location.state({ abbreviated: true })",since:"8.0",until:"9.0"}),this.state({abbreviated:!0})}latitude(e={},t=-90,i=4){typeof e=="number"&&(Ht({deprecated:"faker.location.latitude(max, min, precision)",proposed:"faker.location.latitude({ max, min, precision })",since:"8.0",until:"9.0"}),e={max:e});let{max:r=90,min:o=t,precision:s=i}=e;return this.faker.number.float({min:o,max:r,fractionDigits:s})}longitude(e={},t=-180,i=4){typeof e=="number"&&(Ht({deprecated:"faker.location.longitude(max, min, precision)",proposed:"faker.location.longitude({ max, min, precision })",since:"8.0",until:"9.0"}),e={max:e});let{max:r=180,min:o=t,precision:s=i}=e;return this.faker.number.float({max:r,min:o,fractionDigits:s})}direction(e={}){typeof e=="boolean"&&(Ht({deprecated:"faker.location.direction(abbreviated)",proposed:"faker.location.direction({ abbreviated })",since:"8.0",until:"9.0"}),e={abbreviated:e});let{abbreviated:t=!1}=e;return t?this.faker.helpers.arrayElement(this.faker.definitions.location.direction_abbr):this.faker.helpers.arrayElement(this.faker.definitions.location.direction)}cardinalDirection(e={}){typeof e=="boolean"&&(Ht({deprecated:"faker.location.cardinalDirection(abbreviated)",proposed:"faker.location.cardinalDirection({ abbreviated })",since:"8.0",until:"9.0"}),e={abbreviated:e});let{abbreviated:t=!1}=e;return t?this.faker.helpers.arrayElement(this.faker.definitions.location.direction_abbr.slice(0,4)):this.faker.helpers.arrayElement(this.faker.definitions.location.direction.slice(0,4))}ordinalDirection(e={}){typeof e=="boolean"&&(Ht({deprecated:"faker.location.ordinalDirection(abbreviated)",proposed:"faker.location.ordinalDirection({ abbreviated })",since:"8.0",until:"9.0"}),e={abbreviated:e});let{abbreviated:t=!1}=e;return t?this.faker.helpers.arrayElement(this.faker.definitions.location.direction_abbr.slice(4,8)):this.faker.helpers.arrayElement(this.faker.definitions.location.direction.slice(4,8))}nearbyGPSCoordinate(e={},t=10,i=!1){Array.isArray(e)&&(Ht({deprecated:"faker.location.nearbyGPSCoordinate(coordinate, radius, isMetric)",proposed:"faker.location.nearbyGPSCoordinate({ origin, radius, isMetric })",since:"8.0",until:"9.0"}),e={origin:e});let{origin:r,radius:o=t,isMetric:s=i}=e;if(r==null)return[this.latitude(),this.longitude()];let a=this.faker.number.float({max:2*Math.PI,fractionDigits:5}),l=s?o:o*1.60934,u=this.faker.number.float({max:l,fractionDigits:3})*.995,c=4e4/360,d=u/c,h=[r[0]+Math.sin(a)*d,r[1]+Math.cos(a)*d];return h[0]=h[0]%180,(h[0]<-90||h[0]>90)&&(h[0]=Math.sign(h[0])*180-h[0],h[1]+=180),h[1]=(h[1]%360+540)%360-180,[h[0],h[1]]}timeZone(){return this.faker.helpers.arrayElement(this.faker.definitions.location.time_zone)}};function mOt(n,e,t=i=>i){let i={};for(let r of n){let o=e(r);i[o]===void 0&&(i[o]=[]),i[o].push(t(r))}return i}var $$={fail:()=>{throw new ti("No words found that match the given length.")},closest:(n,e)=>{let t=mOt(n,a=>a.length),i=Object.keys(t).map(Number),r=Math.min(...i),o=Math.max(...i),s=Math.min(e.min-r,o-e.max);return n.filter(a=>a.length===e.min-s||a.length===e.max+s)},shortest:n=>{let e=Math.min(...n.map(t=>t.length));return n.filter(t=>t.length===e)},longest:n=>{let e=Math.max(...n.map(t=>t.length));return n.filter(t=>t.length===e)},"any-length":n=>[...n]};function L1(n){let{wordList:e,length:t,strategy:i="any-length"}=n;if(t){let r=typeof t=="number"?s=>s.length===t:s=>s.length>=t.min&&s.length<=t.max,o=e.filter(r);return o.length>0?o:typeof t=="number"?$$[i](e,{min:t,max:t}):$$[i](e,t)}else if(i==="shortest"||i==="longest")return $$[i](e);return[...e]}var fOt=class extends Vs{word(e={}){let t=typeof e=="number"?{length:e}:e;return this.faker.helpers.arrayElement(L1({...t,wordList:this.faker.definitions.lorem.words}))}words(e=3){return this.faker.helpers.multiple(()=>this.word(),{count:e}).join(" ")}sentence(e={min:3,max:10}){let t=this.words(e);return`${t.charAt(0).toUpperCase()+t.substring(1)}.`}slug(e=3){let t=this.words(e);return this.faker.helpers.slugify(t)}sentences(e={min:2,max:6},t=" "){return this.faker.helpers.multiple(()=>this.sentence(),{count:e}).join(t)}paragraph(e=3){return this.sentences(e)}paragraphs(e=3,t=` +`;return o.join(h)}commitMessage(){return`${this.faker.hacker.verb()} ${this.faker.hacker.adjective()} ${this.faker.hacker.noun()}`}commitDate(e={}){let{refDate:t=this.faker.defaultRefDate()}=e,i=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],o=this.faker.date.recent({days:1,refDate:t}),s=i[o.getUTCDay()],a=r[o.getUTCMonth()],l=o.getUTCDate(),u=o.getUTCHours().toString().padStart(2,"0"),c=o.getUTCMinutes().toString().padStart(2,"0"),d=o.getUTCSeconds().toString().padStart(2,"0"),h=o.getUTCFullYear(),m=this.faker.number.int({min:-11,max:12}),f=Math.abs(m).toString().padStart(2,"0"),g="00",b=m>=0?"+":"-";return`${s} ${a} ${l} ${u}:${c}:${d} ${h} ${b}${f}${g}`}commitSha(e={}){let{length:t=40}=e;return this.faker.string.hexadecimal({length:t,casing:"lower",prefix:""})}shortSha(){return Ht({deprecated:"faker.git.shortSha()",proposed:"faker.git.commitSha({ length: 7 })",since:"8.0",until:"9.0"}),this.commitSha({length:7})}},eOt=class extends As{abbreviation(){return this.faker.helpers.arrayElement(this.faker.definitions.hacker.abbreviation)}adjective(){return this.faker.helpers.arrayElement(this.faker.definitions.hacker.adjective)}noun(){return this.faker.helpers.arrayElement(this.faker.definitions.hacker.noun)}verb(){return this.faker.helpers.arrayElement(this.faker.definitions.hacker.verb)}ingverb(){return this.faker.helpers.arrayElement(this.faker.definitions.hacker.ingverb)}phrase(){let e={abbreviation:this.abbreviation,adjective:this.adjective,ingverb:this.ingverb,noun:this.noun,verb:this.verb},t=this.faker.helpers.arrayElement(this.faker.definitions.hacker.phrase);return this.faker.helpers.mustache(t,e)}},tOt=class{constructor(e){this.faker=e}image(e,t,i,r){return Ht({deprecated:"faker.lorempicsum.image",proposed:"faker.image.urlPicsumPhotos",since:"8.0",until:"9.0"}),this.imageUrl(e,t,i,r)}imageGrayscale(e,t,i){return Ht({deprecated:"faker.lorempicsum.imageGrayscale",proposed:"faker.image.urlPicsumPhotos",since:"8.0",until:"9.0"}),this.imageUrl(e,t,i)}imageBlurred(e,t,i){return Ht({deprecated:"faker.lorempicsum.imageBlurred",proposed:"faker.image.urlPicsumPhotos",since:"8.0",until:"9.0"}),this.imageUrl(e,t,void 0,i)}imageRandomSeeded(e,t,i,r,o){return Ht({deprecated:"faker.lorempicsum.imageRandomSeeded",proposed:"faker.image.urlPicsumPhotos",since:"8.0",until:"9.0"}),this.imageUrl(e,t,i,r,o)}imageUrl(e,t,i,r,o){Ht({deprecated:"faker.lorempicsum.imageUrl",proposed:"faker.image.urlPicsumPhotos",since:"8.0",until:"9.0"}),e=e||640,t=t||480;let s="https://picsum.photos";return o&&(s+=`/seed/${o}`),s+=`/${e}/${t}`,i&&r?`${s}?grayscale&blur=${r}`:i?`${s}?grayscale`:r?`${s}?blur=${r}`:s}},nOt=class lTe{constructor(e){this.faker=e;for(let t of Object.getOwnPropertyNames(lTe.prototype))t==="constructor"||typeof this[t]!="function"||(this[t]=this[t].bind(this))}imageUrl(e,t,i,r,o,s){Ht({deprecated:"faker.placeholder.imageUrl",proposed:"faker.image.urlPlaceholder",since:"8.0",until:"9.0"}),e=e||640,t=t||e;let a="https://via.placeholder.com";if(a+=`/${e}x${t}`,o!=null&&(a+=`/${o.replace("#","").toUpperCase()}`,s!=null&&(a+=`/${s.replace("#","").toUpperCase()}`)),r!=null&&(a+=`.${r}`),i!=null){let l=new URLSearchParams({text:i});a+=`?${l.toString()}`}return a}randomUrl(e,t,i){return Ht({deprecated:"faker.placeholder.randomUrl",proposed:"faker.image.urlPlaceholder",since:"8.0",until:"9.0"}),this.imageUrl(e,t,this.faker.lorem.word(),i,this.faker.color.rgb({casing:"upper",prefix:""}),this.faker.color.rgb({casing:"upper",prefix:""}))}},iOt=class{constructor(e){this.faker=e}image(e,t,i){return Ht({deprecated:"faker.unsplash.image",proposed:"faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,void 0,i)}imageUrl(e,t,i,r){Ht({deprecated:"faker.unsplash.imageUrl",proposed:"faker.image.url",since:"8.0",until:"9.0"}),e=e||640,t=t||480;let o="https://source.unsplash.com";return i!=null&&(o+=`/category/${i}`),o+=`/${e}x${t}`,r!=null&&/^([A-Za-z0-9].+,[A-Za-z0-9]+)$|^([A-Za-z0-9]+)$/.test(r)&&(o+=`?${r}`),o}food(e,t,i){return Ht({deprecated:"faker.unsplash.food",proposed:"faker.image.url",since:"8.0",until:"9.0"}),this.faker.image.unsplash.imageUrl(e,t,"food",i)}people(e,t,i){return Ht({deprecated:"faker.unsplash.people",proposed:"faker.image.url",since:"8.0",until:"9.0"}),this.faker.image.unsplash.imageUrl(e,t,"people",i)}nature(e,t,i){return Ht({deprecated:"faker.unsplash.nature",proposed:"faker.image.url",since:"8.0",until:"9.0"}),this.faker.image.unsplash.imageUrl(e,t,"nature",i)}technology(e,t,i){return Ht({deprecated:"faker.unsplash.technology",proposed:"faker.image.url",since:"8.0",until:"9.0"}),this.faker.image.unsplash.imageUrl(e,t,"technology",i)}objects(e,t,i){return Ht({deprecated:"faker.unsplash.objects",proposed:"faker.image.url",since:"8.0",until:"9.0"}),this.faker.image.unsplash.imageUrl(e,t,"objects",i)}buildings(e,t,i){return Ht({deprecated:"faker.unsplash.buildings",proposed:"faker.image.url",since:"8.0",until:"9.0"}),this.faker.image.unsplash.imageUrl(e,t,"buildings",i)}},rOt=class extends As{constructor(e){super(e),Li(this,"unsplash"),Li(this,"lorempicsum"),Li(this,"placeholder"),this.unsplash=new iOt(this.faker),this.lorempicsum=new tOt(this.faker),this.placeholder=new nOt(this.faker)}avatar(){return this.faker.helpers.arrayElement([this.avatarLegacy,this.avatarGitHub])()}avatarGitHub(){return`https://avatars.githubusercontent.com/u/${this.faker.number.int(1e8)}`}avatarLegacy(){return`https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/${this.faker.number.int(1249)}.jpg`}url(e={}){let{width:t=640,height:i=480}=e;return this.faker.helpers.arrayElement([this.urlLoremFlickr,this.urlPicsumPhotos])({width:t,height:i})}urlLoremFlickr(e={}){let{width:t=640,height:i=480,category:r}=e;return`https://loremflickr.com/${t}/${i}${r==null?"":`/${r}`}?lock=${this.faker.number.int()}`}urlPicsumPhotos(e={}){let{width:t=640,height:i=480,grayscale:r=!1,blur:o}=e,s=`https://picsum.photos/seed/${this.faker.string.alphanumeric({length:{min:5,max:10}})}/${t}/${i}`,a=typeof o=="number"&&o>=1&&o<=10;return(r||a)&&(s+="?",r&&(s+="grayscale"),r&&a&&(s+="&"),a&&(s+=`blur=${o}`)),s}urlPlaceholder(e={}){let{width:t=this.faker.number.int({min:1,max:3999}),height:i=this.faker.number.int({min:1,max:3999}),backgroundColor:r=this.faker.color.rgb({format:"hex",prefix:""}),textColor:o=this.faker.color.rgb({format:"hex",prefix:""}),format:s=this.faker.helpers.arrayElement(["gif","jpeg","jpg","png","webp"]),text:a=this.faker.lorem.words()}=e,l="https://via.placeholder.com";return l+=`/${t}`,l+=`x${i}`,l+=`/${r}`,l+=`/${o}`,l+=`.${s}`,l+=`?text=${encodeURIComponent(a)}`,l}dataUri(e={}){let{width:t=640,height:i=480,color:r=this.faker.color.rgb(),type:o="svg-uri"}=e,s=`${t}x${i}`;return o==="svg-uri"?`data:image/svg+xml;charset=UTF-8,${encodeURIComponent(s)}`:`data:image/svg+xml;base64,${Buffer.from(s).toString("base64")}`}image(e,t,i){Ht({deprecated:"faker.image.image",proposed:"faker.image.url",since:"8.0",until:"9.0"});let r=["abstract","animals","business","cats","city","food","nightlife","fashion","people","nature","sports","technics","transport"];return this[this.faker.helpers.arrayElement(r)](e,t,i)}imageUrl(e,t,i,r){Ht({deprecated:"faker.image.imageUrl",proposed:"faker.image.url",since:"8.0",until:"9.0"}),e=e||640,t=t||480;let o=`https://loremflickr.com/${e}/${t}`;return i!=null&&(o+=`/${i}`),r&&(o+=`?lock=${this.faker.number.int()}`),o}abstract(e,t,i){return Ht({deprecated:"faker.image.abstract",proposed:"faker.image.urlLoremFlickr({ category: 'abstract' }) or faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,"abstract",i)}animals(e,t,i){return Ht({deprecated:"faker.image.animals",proposed:"faker.image.urlLoremFlickr({ category: 'animals' }) or faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,"animals",i)}business(e,t,i){return Ht({deprecated:"faker.image.business",proposed:"faker.image.urlLoremFlickr({ category: 'business' }) or faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,"business",i)}cats(e,t,i){return Ht({deprecated:"faker.image.cats",proposed:"faker.image.urlLoremFlickr({ category: 'cats' }) or faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,"cats",i)}city(e,t,i){return Ht({deprecated:"faker.image.city",proposed:"faker.image.urlLoremFlickr({ category: 'city' }) or faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,"city",i)}food(e,t,i){return Ht({deprecated:"faker.image.food",proposed:"faker.image.urlLoremFlickr({ category: 'food' }) or faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,"food",i)}nightlife(e,t,i){return Ht({deprecated:"faker.image.nightlife",proposed:"faker.image.urlLoremFlickr({ category: 'nightlife' }) or faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,"nightlife",i)}fashion(e,t,i){return Ht({deprecated:"faker.image.fashion",proposed:"faker.image.urlLoremFlickr({ category: 'fashion' }) or faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,"fashion",i)}people(e,t,i){return Ht({deprecated:"faker.image.people",proposed:"faker.image.urlLoremFlickr({ category: 'people' }) or faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,"people",i)}nature(e,t,i){return Ht({deprecated:"faker.image.nature",proposed:"faker.image.urlLoremFlickr({ category: 'nature' }) or faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,"nature",i)}sports(e,t,i){return Ht({deprecated:"faker.image.sports",proposed:"faker.image.urlLoremFlickr({ category: 'sports' }) or faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,"sports",i)}technics(e,t,i){return Ht({deprecated:"faker.image.technics",proposed:"faker.image.urlLoremFlickr({ category: 'technics' }) or faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,"technics",i)}transport(e,t,i){return Ht({deprecated:"faker.image.transport",proposed:"faker.image.urlLoremFlickr({ category: 'transport' }) or faker.image.url",since:"8.0",until:"9.0"}),this.imageUrl(e,t,"transport",i)}},oOt=Object.fromEntries([["А","A"],["а","a"],["Б","B"],["б","b"],["В","V"],["в","v"],["Г","G"],["г","g"],["Д","D"],["д","d"],["ъе","ye"],["Ъе","Ye"],["ъЕ","yE"],["ЪЕ","YE"],["Е","E"],["е","e"],["Ё","Yo"],["ё","yo"],["Ж","Zh"],["ж","zh"],["З","Z"],["з","z"],["И","I"],["и","i"],["ый","iy"],["Ый","Iy"],["ЫЙ","IY"],["ыЙ","iY"],["Й","Y"],["й","y"],["К","K"],["к","k"],["Л","L"],["л","l"],["М","M"],["м","m"],["Н","N"],["н","n"],["О","O"],["о","o"],["П","P"],["п","p"],["Р","R"],["р","r"],["С","S"],["с","s"],["Т","T"],["т","t"],["У","U"],["у","u"],["Ф","F"],["ф","f"],["Х","Kh"],["х","kh"],["Ц","Ts"],["ц","ts"],["Ч","Ch"],["ч","ch"],["Ш","Sh"],["ш","sh"],["Щ","Sch"],["щ","sch"],["Ъ",""],["ъ",""],["Ы","Y"],["ы","y"],["Ь",""],["ь",""],["Э","E"],["э","e"],["Ю","Yu"],["ю","yu"],["Я","Ya"],["я","ya"]]),sOt=Object.fromEntries([["α","a"],["β","v"],["γ","g"],["δ","d"],["ε","e"],["ζ","z"],["η","i"],["θ","th"],["ι","i"],["κ","k"],["λ","l"],["μ","m"],["ν","n"],["ξ","ks"],["ο","o"],["π","p"],["ρ","r"],["σ","s"],["τ","t"],["υ","y"],["φ","f"],["χ","x"],["ψ","ps"],["ω","o"],["ά","a"],["έ","e"],["ί","i"],["ό","o"],["ύ","y"],["ή","i"],["ώ","o"],["ς","s"],["ϊ","i"],["ΰ","y"],["ϋ","y"],["ΐ","i"],["Α","A"],["Β","B"],["Γ","G"],["Δ","D"],["Ε","E"],["Ζ","Z"],["Η","I"],["Θ","TH"],["Ι","I"],["Κ","K"],["Λ","L"],["Μ","M"],["Ν","N"],["Ξ","KS"],["Ο","O"],["Π","P"],["Ρ","R"],["Σ","S"],["Τ","T"],["Υ","Y"],["Φ","F"],["Χ","X"],["Ψ","PS"],["Ω","O"],["Ά","A"],["Έ","E"],["Ί","I"],["Ό","O"],["Ύ","Y"],["Ή","I"],["Ώ","O"],["Ϊ","I"],["Ϋ","Y"]]),aOt=Object.fromEntries([["ء","e"],["آ","a"],["أ","a"],["ؤ","w"],["إ","i"],["ئ","y"],["ا","a"],["ب","b"],["ة","t"],["ت","t"],["ث","th"],["ج","j"],["ح","h"],["خ","kh"],["د","d"],["ذ","dh"],["ر","r"],["ز","z"],["س","s"],["ش","sh"],["ص","s"],["ض","d"],["ط","t"],["ظ","z"],["ع","e"],["غ","gh"],["ـ","_"],["ف","f"],["ق","q"],["ك","k"],["ل","l"],["م","m"],["ن","n"],["ه","h"],["و","w"],["ى","a"],["ي","y"],["َ‎","a"],["ُ","u"],["ِ‎","i"]]),lOt=Object.fromEntries([["ա","a"],["Ա","A"],["բ","b"],["Բ","B"],["գ","g"],["Գ","G"],["դ","d"],["Դ","D"],["ե","ye"],["Ե","Ye"],["զ","z"],["Զ","Z"],["է","e"],["Է","E"],["ը","y"],["Ը","Y"],["թ","t"],["Թ","T"],["ժ","zh"],["Ժ","Zh"],["ի","i"],["Ի","I"],["լ","l"],["Լ","L"],["խ","kh"],["Խ","Kh"],["ծ","ts"],["Ծ","Ts"],["կ","k"],["Կ","K"],["հ","h"],["Հ","H"],["ձ","dz"],["Ձ","Dz"],["ղ","gh"],["Ղ","Gh"],["ճ","tch"],["Ճ","Tch"],["մ","m"],["Մ","M"],["յ","y"],["Յ","Y"],["ն","n"],["Ն","N"],["շ","sh"],["Շ","Sh"],["ո","vo"],["Ո","Vo"],["չ","ch"],["Չ","Ch"],["պ","p"],["Պ","P"],["ջ","j"],["Ջ","J"],["ռ","r"],["Ռ","R"],["ս","s"],["Ս","S"],["վ","v"],["Վ","V"],["տ","t"],["Տ","T"],["ր","r"],["Ր","R"],["ց","c"],["Ց","C"],["ու","u"],["ՈՒ","U"],["Ու","U"],["փ","p"],["Փ","P"],["ք","q"],["Ք","Q"],["օ","o"],["Օ","O"],["ֆ","f"],["Ֆ","F"],["և","yev"]]),uOt=Object.fromEntries([["چ","ch"],["ک","k"],["گ","g"],["پ","p"],["ژ","zh"],["ی","y"]]),DDe={...oOt,...sOt,...aOt,...uOt,...lOt};function cOt(n){let e=()=>n.helpers.arrayElement(["AB","AF","AN","AR","AS","AZ","BE","BG","BN","BO","BR","BS","CA","CE","CO","CS","CU","CY","DA","DE","EL","EN","EO","ES","ET","EU","FA","FI","FJ","FO","FR","FY","GA","GD","GL","GV","HE","HI","HR","HT","HU","HY","ID","IS","IT","JA","JV","KA","KG","KO","KU","KW","KY","LA","LB","LI","LN","LT","LV","MG","MK","MN","MO","MS","MT","MY","NB","NE","NL","NN","NO","OC","PL","PT","RM","RO","RU","SC","SE","SK","SL","SO","SQ","SR","SV","SW","TK","TR","TY","UK","UR","UZ","VI","VO","YI","ZH"]),t=()=>{let u={chrome:["win","mac","lin"],firefox:["win","mac","lin"],opera:["win","mac","lin"],safari:["win","mac"],iexplorer:["win"]},c=n.helpers.objectKey(u),d=n.helpers.arrayElement(u[c]);return[c,d]},i=u=>n.helpers.arrayElement({lin:["i686","x86_64"],mac:["Intel","PPC","U; Intel","U; PPC"],win:["","WOW64","Win64; x64"]}[u]),r=u=>{let c="";for(let d=0;d=11?`Mozilla/5.0 (Windows NT 6.${n.number.int({min:1,max:3})}; Trident/7.0; ${n.datatype.boolean()?"Touch; ":""}rv:11.0) like Gecko`:`Mozilla/5.0 (compatible; MSIE ${u}.0; Windows NT ${o.nt()}; Trident/${o.trident()}${n.datatype.boolean()?`; .NET CLR ${o.net()}`:""})`},opera(u){let c=` Presto/${o.presto()} Version/${o.presto2()})`,d=u==="win"?`(Windows NT ${o.nt()}; U; ${e()}${c}`:u==="lin"?`(X11; Linux ${i(u)}; U; ${e()}${c}`:`(Macintosh; Intel Mac OS X ${o.osx()} U; ${e()} Presto/${o.presto()} Version/${o.presto2()})`;return`Opera/${n.number.int({min:9,max:14})}.${n.number.int(99)} ${d}`},safari(u){let c=o.safari(),d=`${n.number.int({min:4,max:7})}.${n.number.int(1)}.${n.number.int(10)}`;return`Mozilla/5.0 ${u==="mac"?`(Macintosh; ${i("mac")} Mac OS X ${o.osx("_")} rv:${n.number.int({min:2,max:6})}.0; ${e()}) `:`(Windows; U; Windows NT ${o.nt()})`}AppleWebKit/${c} (KHTML, like Gecko) Version/${d} Safari/${c}`},chrome(u){let c=o.safari();return`Mozilla/5.0 ${u==="mac"?`(Macintosh; ${i("mac")} Mac OS X ${o.osx("_")}) `:u==="win"?`(Windows; U; Windows NT ${o.nt()})`:`(X11; Linux ${i(u)}`} AppleWebKit/${c} (KHTML, like Gecko) Chrome/${o.chrome()} Safari/${c}`}},[a,l]=t();return s[a](l)}var dOt=class extends As{avatar(){return Ht({deprecated:"faker.internet.avatar()",proposed:"faker.image.avatarLegacy() or faker.image.avatar()",since:"8.4",until:"9.0"}),this.faker.image.avatarLegacy()}email(e={},t,i,r){var o;(typeof e=="string"||t!=null||i!=null||r!=null)&&Ht({deprecated:"faker.internet.email(firstName, lastName, provider, options)",proposed:"faker.internet.email({ firstName, lastName, provider, ... })",since:"8.0",until:"9.0"}),typeof e=="string"&&(e={firstName:e});let{firstName:s,lastName:a=t,provider:l=i??this.faker.helpers.arrayElement(this.faker.definitions.internet.free_email),allowSpecialCharacters:u=(o=r==null?void 0:r.allowSpecialCharacters)!=null?o:!1}=e,c=this.userName({firstName:s,lastName:a});if(c=c.replace(/[^A-Za-z0-9._+-]+/g,""),c=c.substring(0,50),u){let d=[..."._-"],h=[...".!#$%&'*+-/=?^_`{|}~"];c=c.replace(this.faker.helpers.arrayElement(d),this.faker.helpers.arrayElement(h))}return c=c.replace(/\.{2,}/g,"."),c=c.replace(/^\./,""),c=c.replace(/\.$/,""),`${c}@${l}`}exampleEmail(e={},t,i){var r;(typeof e=="string"||t!=null||i!=null)&&Ht({deprecated:"faker.internet.exampleEmail(firstName, lastName, options)",proposed:"faker.internet.exampleEmail({ firstName, lastName, ... })",since:"8.0",until:"9.0"}),typeof e=="string"&&(e={firstName:e});let{firstName:o,lastName:s=t,allowSpecialCharacters:a=(r=i==null?void 0:i.allowSpecialCharacters)!=null?r:!1}=e,l=this.faker.helpers.arrayElement(this.faker.definitions.internet.example_email);return this.email({firstName:o,lastName:s,provider:l,allowSpecialCharacters:a})}userName(e={},t){(typeof e=="string"||t!=null)&&Ht({deprecated:"faker.internet.userName(firstName, lastName)",proposed:"faker.internet.userName({ firstName, lastName })",since:"8.0",until:"9.0"}),typeof e=="string"&&(e={firstName:e});let{firstName:i=this.faker.person.firstName(),lastName:r=t??this.faker.person.lastName(),lastName:o=t}=e,s,a=this.faker.number.int(o?1:2),l=this.faker.helpers.arrayElement([".","_"]);switch(a){case 0:s=`${i}${l}${r}${this.faker.number.int(99)}`;break;case 1:s=`${i}${l}${r}`;break;case 2:default:s=`${i}${this.faker.number.int(99)}`;break}return s=s.normalize("NFKD").replace(/[\u0300-\u036F]/g,""),s=[...s].map(u=>{var c;if(DDe[u])return DDe[u];let d=(c=u.codePointAt(0))!=null?c:Number.NaN;return d<128?u:d.toString(36)}).join(""),s=s.toString().replace(/'/g,""),s=s.replace(/ /g,""),s}displayName(e={},t){(typeof e=="string"||t!=null)&&Ht({deprecated:"faker.internet.displayName(firstName, lastName)",proposed:"faker.internet.displayName({ firstName, lastName })",since:"8.0",until:"9.0"}),typeof e=="string"&&(e={firstName:e});let{firstName:i=this.faker.person.firstName(),lastName:r=t??this.faker.person.lastName()}=e,o;switch(this.faker.number.int(2)){case 0:o=`${i}${this.faker.number.int(99)}`;break;case 1:o=i+this.faker.helpers.arrayElement([".","_"])+r;break;case 2:default:o=`${i}${this.faker.helpers.arrayElement([".","_"])}${r}${this.faker.number.int(99)}`;break}return o=o.toString().replace(/'/g,""),o=o.replace(/ /g,""),o}protocol(){let e=["http","https"];return this.faker.helpers.arrayElement(e)}httpMethod(){let e=["GET","POST","PUT","DELETE","PATCH"];return this.faker.helpers.arrayElement(e)}httpStatusCode(e={}){let{types:t=Object.keys(this.faker.definitions.internet.http_status_code)}=e,i=this.faker.helpers.arrayElement(t);return this.faker.helpers.arrayElement(this.faker.definitions.internet.http_status_code[i])}url(e={}){let{appendSlash:t=this.faker.datatype.boolean(),protocol:i="https"}=e;return`${i}://${this.domainName()}${t?"/":""}`}domainName(){return`${this.domainWord()}.${this.domainSuffix()}`}domainSuffix(){return this.faker.helpers.arrayElement(this.faker.definitions.internet.domain_suffix)}domainWord(){return this.faker.helpers.slugify(`${this.faker.word.adjective()}-${this.faker.word.noun()}`).toLowerCase()}ip(){return this.faker.datatype.boolean()?this.ipv4():this.ipv6()}ipv4(){return Array.from({length:4},()=>this.faker.number.int(255)).join(".")}ipv6(){return Array.from({length:8},()=>this.faker.string.hexadecimal({length:4,casing:"lower",prefix:""})).join(":")}port(){return this.faker.number.int(65535)}userAgent(){return cOt(this.faker)}color(e={},t,i){(typeof e=="number"||i!=null||t!=null)&&Ht({deprecated:"faker.internet.color(redBase, greenBase, blueBase)",proposed:"faker.internet.color({ redBase, greenBase, blueBase })",since:"8.0",until:"9.0"}),typeof e=="number"&&(e={redBase:e});let{redBase:r=0,greenBase:o=t??0,blueBase:s=i??0}=e,a=d=>Math.floor((this.faker.number.int(256)+d)/2).toString(16).padStart(2,"0"),l=a(r),u=a(o),c=a(s);return`#${l}${u}${c}`}mac(e={}){typeof e=="string"&&(e={separator:e});let{separator:t=":"}=e,i,r="";for([":","-",""].includes(t)||(t=":"),i=0;i<12;i++)r+=this.faker.number.hex(15),i%2===1&&i!==11&&(r+=t);return r}password(e={},t,i,r){let o=/[aeiouAEIOU]$/,s=/[bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ]$/,a=(h,m,f,g)=>{if(g.length>=h)return g;m&&(f=s.test(g)?o:s);let b=this.faker.number.int(94)+33,y=String.fromCodePoint(b);return m&&(y=y.toLowerCase()),f.test(y)?a(h,m,f,g+y):a(h,m,f,g)};(typeof e=="string"||t!=null||i!=null||r!=null)&&Ht({deprecated:"faker.internet.password(length, memorable, pattern, prefix)",proposed:"faker.internet.password({ length, memorable, pattern, prefix })",since:"8.0",until:"9.0"}),typeof e=="number"&&(e={length:e});let{length:l=15,memorable:u=t??!1,pattern:c=i??/\w/,prefix:d=r??""}=e;return a(l,u,c,d)}emoji(e={}){let{types:t=Object.keys(this.faker.definitions.internet.emoji)}=e,i=this.faker.helpers.arrayElement(t);return this.faker.helpers.arrayElement(this.faker.definitions.internet.emoji[i])}},hOt=class extends As{zipCode(e={}){typeof e=="string"&&(e={format:e});let{state:t}=e;if(t){let r=this.faker.definitions.location.postcode_by_state[t];if(r)return this.faker.helpers.fake(r);throw new ti(`No zip code definition found for state "${t}"`)}let{format:i=this.faker.definitions.location.postcode}=e;return typeof i=="string"&&(i=[i]),i=this.faker.helpers.arrayElement(i),this.faker.helpers.replaceSymbols(i)}zipCodeByState(e={}){Ht({deprecated:"faker.location.zipCodeByState",proposed:"faker.location.zipCode({ state })",since:"8.0",until:"9.0"}),typeof e=="string"&&(e={state:e});let{state:t}=e;return this.zipCode({state:t})}city(){return this.faker.helpers.fake(this.faker.definitions.location.city_pattern)}cityName(){return Ht({deprecated:"faker.location.cityName",proposed:"faker.location.city",since:"8.0",until:"9.0"}),this.faker.helpers.arrayElement(this.faker.definitions.location.city_name)}buildingNumber(){return this.faker.helpers.arrayElement(this.faker.definitions.location.building_number).replace(/#+/g,e=>this.faker.string.numeric({length:e.length,allowLeadingZeros:!1}))}street(){return this.faker.helpers.fake(this.faker.definitions.location.street_pattern)}streetName(){return Ht({deprecated:"faker.location.streetName",proposed:"faker.location.street",since:"8.0",until:"9.0"}),this.faker.helpers.arrayElement(this.faker.definitions.location.street_name)}streetAddress(e={}){typeof e=="boolean"&&(e={useFullAddress:e});let{useFullAddress:t}=e,i=this.faker.definitions.location.street_address[t?"full":"normal"];return this.faker.helpers.fake(i)}secondaryAddress(){return this.faker.helpers.arrayElement(this.faker.definitions.location.secondary_address).replace(/#+/g,e=>this.faker.string.numeric({length:e.length,allowLeadingZeros:!1}))}county(){return this.faker.helpers.arrayElement(this.faker.definitions.location.county)}country(){return this.faker.helpers.arrayElement(this.faker.definitions.location.country)}countryCode(e={}){typeof e=="string"&&(e={variant:e});let{variant:t="alpha-2"}=e,i=(()=>{switch(t){case"numeric":return"numeric";case"alpha-3":return"alpha3";case"alpha-2":default:return"alpha2"}})();return this.faker.helpers.arrayElement(this.faker.definitions.location.country_code)[i]}state(e={}){let{abbreviated:t=!1}=e,i=t?this.faker.definitions.location.state_abbr:this.faker.definitions.location.state;return this.faker.helpers.arrayElement(i)}stateAbbr(){return Ht({deprecated:"faker.location.stateAbbr()",proposed:"faker.location.state({ abbreviated: true })",since:"8.0",until:"9.0"}),this.state({abbreviated:!0})}latitude(e={},t=-90,i=4){typeof e=="number"&&(Ht({deprecated:"faker.location.latitude(max, min, precision)",proposed:"faker.location.latitude({ max, min, precision })",since:"8.0",until:"9.0"}),e={max:e});let{max:r=90,min:o=t,precision:s=i}=e;return this.faker.number.float({min:o,max:r,fractionDigits:s})}longitude(e={},t=-180,i=4){typeof e=="number"&&(Ht({deprecated:"faker.location.longitude(max, min, precision)",proposed:"faker.location.longitude({ max, min, precision })",since:"8.0",until:"9.0"}),e={max:e});let{max:r=180,min:o=t,precision:s=i}=e;return this.faker.number.float({max:r,min:o,fractionDigits:s})}direction(e={}){typeof e=="boolean"&&(Ht({deprecated:"faker.location.direction(abbreviated)",proposed:"faker.location.direction({ abbreviated })",since:"8.0",until:"9.0"}),e={abbreviated:e});let{abbreviated:t=!1}=e;return t?this.faker.helpers.arrayElement(this.faker.definitions.location.direction_abbr):this.faker.helpers.arrayElement(this.faker.definitions.location.direction)}cardinalDirection(e={}){typeof e=="boolean"&&(Ht({deprecated:"faker.location.cardinalDirection(abbreviated)",proposed:"faker.location.cardinalDirection({ abbreviated })",since:"8.0",until:"9.0"}),e={abbreviated:e});let{abbreviated:t=!1}=e;return t?this.faker.helpers.arrayElement(this.faker.definitions.location.direction_abbr.slice(0,4)):this.faker.helpers.arrayElement(this.faker.definitions.location.direction.slice(0,4))}ordinalDirection(e={}){typeof e=="boolean"&&(Ht({deprecated:"faker.location.ordinalDirection(abbreviated)",proposed:"faker.location.ordinalDirection({ abbreviated })",since:"8.0",until:"9.0"}),e={abbreviated:e});let{abbreviated:t=!1}=e;return t?this.faker.helpers.arrayElement(this.faker.definitions.location.direction_abbr.slice(4,8)):this.faker.helpers.arrayElement(this.faker.definitions.location.direction.slice(4,8))}nearbyGPSCoordinate(e={},t=10,i=!1){Array.isArray(e)&&(Ht({deprecated:"faker.location.nearbyGPSCoordinate(coordinate, radius, isMetric)",proposed:"faker.location.nearbyGPSCoordinate({ origin, radius, isMetric })",since:"8.0",until:"9.0"}),e={origin:e});let{origin:r,radius:o=t,isMetric:s=i}=e;if(r==null)return[this.latitude(),this.longitude()];let a=this.faker.number.float({max:2*Math.PI,fractionDigits:5}),l=s?o:o*1.60934,u=this.faker.number.float({max:l,fractionDigits:3})*.995,c=4e4/360,d=u/c,h=[r[0]+Math.sin(a)*d,r[1]+Math.cos(a)*d];return h[0]=h[0]%180,(h[0]<-90||h[0]>90)&&(h[0]=Math.sign(h[0])*180-h[0],h[1]+=180),h[1]=(h[1]%360+540)%360-180,[h[0],h[1]]}timeZone(){return this.faker.helpers.arrayElement(this.faker.definitions.location.time_zone)}};function mOt(n,e,t=i=>i){let i={};for(let r of n){let o=e(r);i[o]===void 0&&(i[o]=[]),i[o].push(t(r))}return i}var $$={fail:()=>{throw new ti("No words found that match the given length.")},closest:(n,e)=>{let t=mOt(n,a=>a.length),i=Object.keys(t).map(Number),r=Math.min(...i),o=Math.max(...i),s=Math.min(e.min-r,o-e.max);return n.filter(a=>a.length===e.min-s||a.length===e.max+s)},shortest:n=>{let e=Math.min(...n.map(t=>t.length));return n.filter(t=>t.length===e)},longest:n=>{let e=Math.max(...n.map(t=>t.length));return n.filter(t=>t.length===e)},"any-length":n=>[...n]};function _1(n){let{wordList:e,length:t,strategy:i="any-length"}=n;if(t){let r=typeof t=="number"?s=>s.length===t:s=>s.length>=t.min&&s.length<=t.max,o=e.filter(r);return o.length>0?o:typeof t=="number"?$$[i](e,{min:t,max:t}):$$[i](e,t)}else if(i==="shortest"||i==="longest")return $$[i](e);return[...e]}var fOt=class extends As{word(e={}){let t=typeof e=="number"?{length:e}:e;return this.faker.helpers.arrayElement(_1({...t,wordList:this.faker.definitions.lorem.words}))}words(e=3){return this.faker.helpers.multiple(()=>this.word(),{count:e}).join(" ")}sentence(e={min:3,max:10}){let t=this.words(e);return`${t.charAt(0).toUpperCase()+t.substring(1)}.`}slug(e=3){let t=this.words(e);return this.faker.helpers.slugify(t)}sentences(e={min:2,max:6},t=" "){return this.faker.helpers.multiple(()=>this.sentence(),{count:e}).join(t)}paragraph(e=3){return this.sentences(e)}paragraphs(e=3,t=` `){return this.faker.helpers.multiple(()=>this.paragraph(),{count:e}).join(t)}text(){let e=["sentence","sentences","paragraph","paragraphs","lines"],t=this.faker.helpers.arrayElement(e);return this[t]()}lines(e={min:1,max:5}){return this.sentences(e,` -`)}},gOt=class extends Vs{genre(){return this.faker.helpers.arrayElement(this.faker.definitions.music.genre)}songName(){return this.faker.helpers.arrayElement(this.faker.definitions.music.song_name)}},pOt=class extends Vs{number(e){return e!=null&&Ht({deprecated:"faker.phone.number(format)",proposed:"faker.phone.number(), faker.string.numeric() or faker.helpers.fromRegExp()",since:"8.1",until:"9.0"}),e=e??this.faker.helpers.arrayElement(this.faker.definitions.phone_number.formats),Q$(this.faker,e)}imei(){return this.faker.helpers.replaceCreditCardSymbols("##-######-######-L","#")}},bOt=class extends Vs{word(){Ht({deprecated:"faker.random.word()",proposed:"faker.lorem.word() or faker.word.sample()",since:"8.0",until:"9.0"});let e=[()=>this.faker.location.cardinalDirection(),this.faker.location.country,this.faker.location.county,()=>this.faker.location.direction(),()=>this.faker.location.ordinalDirection(),this.faker.location.state,this.faker.location.street,this.faker.color.human,this.faker.commerce.department,this.faker.commerce.product,this.faker.commerce.productAdjective,this.faker.commerce.productMaterial,this.faker.commerce.productName,this.faker.company.buzzAdjective,this.faker.company.buzzNoun,this.faker.company.buzzVerb,this.faker.company.catchPhraseAdjective,this.faker.company.catchPhraseDescriptor,this.faker.company.catchPhraseNoun,this.faker.finance.accountName,this.faker.finance.currencyName,this.faker.finance.transactionType,this.faker.hacker.abbreviation,this.faker.hacker.adjective,this.faker.hacker.ingverb,this.faker.hacker.noun,this.faker.hacker.verb,this.faker.lorem.word,this.faker.music.genre,this.faker.person.gender,this.faker.person.jobArea,this.faker.person.jobDescriptor,this.faker.person.jobTitle,this.faker.person.jobType,this.faker.person.sex,()=>this.faker.science.chemicalElement().name,()=>this.faker.science.unit().name,this.faker.vehicle.bicycle,this.faker.vehicle.color,this.faker.vehicle.fuel,this.faker.vehicle.manufacturer,this.faker.vehicle.type,this.faker.word.adjective,this.faker.word.adverb,this.faker.word.conjunction,this.faker.word.interjection,this.faker.word.noun,this.faker.word.preposition,this.faker.word.verb],t=["!","#","%","&","*",")","(","+","=",".","<",">","{","}","[","]",":",";","'",'"',"_","-"],i="",r=0;do{let o=this.faker.helpers.arrayElement(e);try{i=o()}catch{if(r++,r>100)throw new ti("No matching word data available for the current locale");continue}}while(!i||t.some(o=>i.includes(o)));return this.faker.helpers.arrayElement(i.split(" "))}words(e={min:1,max:3}){return Ht({deprecated:"faker.random.words()",proposed:"faker.lorem.words() or faker.word.words()",since:"8.0",until:"9.0"}),this.faker.helpers.multiple(this.word,{count:e}).join(" ")}locale(){throw new ti("This method has been removed. Please use `faker.helpers.objectKey(allLocales/allFakers)` instead.")}alpha(e={}){return Ht({deprecated:"faker.random.alpha()",proposed:"faker.string.alpha()",since:"8.0",until:"9.0"}),typeof e=="number"?this.faker.string.alpha(e):this.faker.string.alpha({length:e.count,casing:e.casing,exclude:e.bannedChars})}alphaNumeric(e=1,t={}){return Ht({deprecated:"faker.random.alphaNumeric()",proposed:"faker.string.alphanumeric()",since:"8.0",until:"9.0"}),this.faker.string.alphanumeric({length:e,exclude:t.bannedChars,casing:t.casing})}numeric(e=1,t={}){return Ht({deprecated:"faker.random.numeric()",proposed:"faker.string.numeric()",since:"8.0",until:"9.0"}),this.faker.string.numeric({length:e,allowLeadingZeros:t.allowLeadingZeros,exclude:t.bannedDigits})}},vOt=class extends Vs{chemicalElement(){return this.faker.helpers.arrayElement(this.faker.definitions.science.chemicalElement)}unit(){return this.faker.helpers.arrayElement(this.faker.definitions.science.unit)}},yOt=["video","audio","image","text","application"],COt=["application/pdf","audio/mpeg","audio/wav","image/png","image/jpeg","image/gif","video/mp4","video/mpeg","text/html"],wOt=["en","wl","ww"],MDe={index:"o",slot:"s",mac:"x",pci:"p"},SOt=["SUN","MON","TUE","WED","THU","FRI","SAT"],xOt=class extends Vs{fileName(e={}){let{extensionCount:t=1}=e,i=this.faker.word.words().toLowerCase().replace(/\W/g,"_"),r=this.faker.helpers.multiple(()=>this.fileExt(),{count:t}).join(".");return r.length===0?i:`${i}.${r}`}commonFileName(e){return`${this.fileName({extensionCount:0})}.${e||this.commonFileExt()}`}mimeType(){let e=Object.keys(this.faker.definitions.system.mimeTypes);return this.faker.helpers.arrayElement(e)}commonFileType(){return this.faker.helpers.arrayElement(yOt)}commonFileExt(){return this.fileExt(this.faker.helpers.arrayElement(COt))}fileType(){let e=this.faker.definitions.system.mimeTypes,t=new Set(Object.keys(e).map(i=>i.split("/")[0]));return this.faker.helpers.arrayElement([...t])}fileExt(e){let t=this.faker.definitions.system.mimeTypes;if(typeof e=="string")return this.faker.helpers.arrayElement(t[e].extensions);let i=new Set(Object.values(t).flatMap(({extensions:r})=>r));return this.faker.helpers.arrayElement([...i])}directoryPath(){let e=this.faker.definitions.system.directoryPaths;return this.faker.helpers.arrayElement(e)}filePath(){return`${this.directoryPath()}/${this.fileName()}`}semver(){return[this.faker.number.int(9),this.faker.number.int(9),this.faker.number.int(9)].join(".")}networkInterface(e={}){var t,i,r,o,s;let{interfaceType:a=this.faker.helpers.arrayElement(wOt),interfaceSchema:l=this.faker.helpers.objectKey(MDe)}=e,u,c="",d=()=>this.faker.string.numeric({allowLeadingZeros:!0});switch(l){case"index":u=d();break;case"slot":u=`${d()}${(t=this.faker.helpers.maybe(()=>`f${d()}`))!=null?t:""}${(i=this.faker.helpers.maybe(()=>`d${d()}`))!=null?i:""}`;break;case"mac":u=this.faker.internet.mac("");break;case"pci":c=(r=this.faker.helpers.maybe(()=>`P${d()}`))!=null?r:"",u=`${d()}s${d()}${(o=this.faker.helpers.maybe(()=>`f${d()}`))!=null?o:""}${(s=this.faker.helpers.maybe(()=>`d${d()}`))!=null?s:""}`;break}return`${c}${a}${MDe[l]}${u}`}cron(e={}){let{includeYear:t=!1,includeNonStandard:i=!1}=e,r=[this.faker.number.int(59),"*"],o=[this.faker.number.int(23),"*"],s=[this.faker.number.int({min:1,max:31}),"*","?"],a=[this.faker.number.int({min:1,max:12}),"*"],l=[this.faker.number.int(6),this.faker.helpers.arrayElement(SOt),"*","?"],u=[this.faker.number.int({min:1970,max:2099}),"*"],c=this.faker.helpers.arrayElement(r),d=this.faker.helpers.arrayElement(o),h=this.faker.helpers.arrayElement(s),m=this.faker.helpers.arrayElement(a),f=this.faker.helpers.arrayElement(l),g=this.faker.helpers.arrayElement(u),b=`${c} ${d} ${h} ${m} ${f}`;t&&(b+=` ${g}`);let v=["@annually","@daily","@hourly","@monthly","@reboot","@weekly","@yearly"];return!i||this.faker.datatype.boolean()?b:this.faker.helpers.arrayElement(v)}},LOt=class extends Vs{vehicle(){return`${this.manufacturer()} ${this.model()}`}manufacturer(){return this.faker.helpers.arrayElement(this.faker.definitions.vehicle.manufacturer)}model(){return this.faker.helpers.arrayElement(this.faker.definitions.vehicle.model)}type(){return this.faker.helpers.arrayElement(this.faker.definitions.vehicle.type)}fuel(){return this.faker.helpers.arrayElement(this.faker.definitions.vehicle.fuel)}vin(){let e=["o","i","q","O","I","Q"];return`${this.faker.string.alphanumeric({length:10,casing:"upper",exclude:e})}${this.faker.string.alpha({length:1,casing:"upper",exclude:e})}${this.faker.string.alphanumeric({length:1,casing:"upper",exclude:e})}${this.faker.number.int({min:1e4,max:99999})}`}color(){return this.faker.color.human()}vrm(){return`${this.faker.string.alpha({length:2,casing:"upper"})}${this.faker.string.numeric({length:2,allowLeadingZeros:!0})}${this.faker.string.alpha({length:3,casing:"upper"})}`}bicycle(){return this.faker.helpers.arrayElement(this.faker.definitions.vehicle.bicycle_type)}},_Ot=class extends Vs{adjective(e={}){let t=typeof e=="number"?{length:e}:e;return this.faker.helpers.arrayElement(L1({...t,wordList:this.faker.definitions.word.adjective}))}adverb(e={}){let t=typeof e=="number"?{length:e}:e;return this.faker.helpers.arrayElement(L1({...t,wordList:this.faker.definitions.word.adverb}))}conjunction(e={}){let t=typeof e=="number"?{length:e}:e;return this.faker.helpers.arrayElement(L1({...t,wordList:this.faker.definitions.word.conjunction}))}interjection(e={}){let t=typeof e=="number"?{length:e}:e;return this.faker.helpers.arrayElement(L1({...t,wordList:this.faker.definitions.word.interjection}))}noun(e={}){let t=typeof e=="number"?{length:e}:e;return this.faker.helpers.arrayElement(L1({...t,wordList:this.faker.definitions.word.noun}))}preposition(e={}){let t=typeof e=="number"?{length:e}:e;return this.faker.helpers.arrayElement(L1({...t,wordList:this.faker.definitions.word.preposition}))}verb(e={}){let t=typeof e=="number"?{length:e}:e;return this.faker.helpers.arrayElement(L1({...t,wordList:this.faker.definitions.word.verb}))}sample(e={}){let t=this.faker.helpers.shuffle([this.adjective,this.adverb,this.conjunction,this.interjection,this.noun,this.preposition,this.verb]);for(let i of t)try{return i(e)}catch{continue}throw new ti("No matching word data available for the current locale")}words(e={}){typeof e=="number"&&(e={count:e});let{count:t={min:1,max:3}}=e;return this.faker.helpers.multiple(()=>this.sample(),{count:t}).join(" ")}},FOt=class extends IDe{constructor(e){super({randomizer:e.randomizer}),_i(this,"rawDefinitions"),_i(this,"definitions"),_i(this,"random",new bOt(this)),_i(this,"airline",new CPt(this)),_i(this,"animal",new zPt(this)),_i(this,"color",new xPt(this)),_i(this,"commerce",new YPt(this)),_i(this,"company",new UPt(this)),_i(this,"database",new KPt(this)),_i(this,"date",new kPt(this)),_i(this,"finance",new QPt(this)),_i(this,"git",new qPt(this)),_i(this,"hacker",new eOt(this)),_i(this,"helpers",new XPt(this)),_i(this,"image",new rOt(this)),_i(this,"internet",new dOt(this)),_i(this,"location",new hOt(this)),_i(this,"lorem",new fOt(this)),_i(this,"music",new gOt(this)),_i(this,"person",new FPt(this)),_i(this,"phone",new pOt(this)),_i(this,"science",new vOt(this)),_i(this,"system",new xOt(this)),_i(this,"vehicle",new LOt(this)),_i(this,"word",new _Ot(this));let{locales:t}=e;if(t!=null){Ht({deprecated:"new Faker({ locales: {a, b}, locale: 'a', localeFallback: 'b' })",proposed:"new Faker({ locale: [a, b, ...] }) or new Faker({ locale: a })",since:"8.0",until:"9.0"});let{locale:r="en",localeFallback:o="en"}=e;e={locale:[t[r],t[o]]}}let{locale:i}=e;if(Array.isArray(i)){if(i.length===0)throw new ti("The locale option must contain at least one locale definition.");i=BPt(i)}this.rawDefinitions=i,this.definitions=LPt(this.rawDefinitions)}get address(){return Ht({deprecated:"faker.address",proposed:"faker.location",since:"8.0",until:"10.0"}),this.location}get name(){return Ht({deprecated:"faker.name",proposed:"faker.person",since:"8.0",until:"10.0"}),this.person}getMetadata(){var e;return(e=this.rawDefinitions.metadata)!=null?e:{}}get locales(){throw new ti("The locales property has been removed. Please use the constructor instead.")}set locales(e){throw new ti("The locales property has been removed. Please use the constructor instead.")}get locale(){throw new ti("The locale property has been removed. Please use the constructor instead.")}set locale(e){throw new ti("The locale property has been removed. Please use the constructor instead.")}get localeFallback(){throw new ti("The localeFallback property has been removed. Please use the constructor instead.")}set localeFallback(e){throw new ti("The localeFallback property has been removed. Please use the constructor instead.")}setLocale(){throw new ti("This method has been removed. Please use the constructor instead.")}},IOt=["CIE 1931 XYZ","CIEUVW","Uniform Color Spaces (UCSs)","CIELUV","CIELAB","HSLuv","sRGB","Adobe RGB","Adobe Wide Gamut RGB","Rec. 2100","ProPhoto RGB Color Space","scRGB","DCI-P3","Display-P3","Rec. 601","Rec. 709","Academy Color Encoding System (ACES)","Rec. 2020","YPbPr","YDbDr","YIQ","xvYCC","sYCC","HSV","HSL","HWB","RGBA","HSLA","LCh","CMY","CMYK","Munsell Color System","Natural Color System (NSC)","Pantone Matching System (PMS)","RAL","Federal Standard 595C","British Standard Colour (BS)","HKS","LMS","RG","RGK"],DOt={space:IOt},MOt=DOt,kOt=["utf8_unicode_ci","utf8_general_ci","utf8_bin","ascii_bin","ascii_general_ci","cp1250_bin","cp1250_general_ci"],NOt=["InnoDB","MyISAM","MEMORY","CSV","BLACKHOLE","ARCHIVE"],TOt=["int","varchar","text","date","datetime","tinyint","time","timestamp","smallint","mediumint","bigint","decimal","float","double","real","bit","boolean","serial","blob","binary","enum","set","geometry","point"],EOt={collation:kOt,engine:NOt,type:TOt},ZOt=EOt,WOt=["ADP","AGP","AI","API","ASCII","CLI","COM","CSS","DNS","DRAM","EXE","FTP","GB","HDD","HEX","HTTP","IB","IP","JBOD","JSON","OCR","PCI","PNG","RAM","RSS","SAS","SCSI","SDD","SMS","SMTP","SQL","SSD","SSL","TCP","THX","TLS","UDP","USB","UTF8","VGA","XML","XSS"],ROt={abbreviation:WOt},VOt=ROt,AOt={smiley:["😀","😃","😄","😁","😆","😅","🤣","😂","🙂","🙃","😉","😊","😇","🥰","😍","🤩","😘","😗","☺️","😚","😙","🥲","😋","😛","😜","🤪","😝","🤑","🤗","🤭","🤫","🤔","🤐","🤨","😐","😑","😶","😶‍🌫️","😏","😒","🙄","😬","😮‍💨","🤥","😌","😔","😪","🤤","😴","😷","🤒","🤕","🤢","🤮","🤧","🥵","🥶","🥴","😵","😵‍💫","🤯","🤠","🥳","🥸","😎","🤓","🧐","😕","😟","🙁","☹️","😮","😯","😲","😳","🥺","😦","😧","😨","😰","😥","😢","😭","😱","😖","😣","😞","😓","😩","😫","🥱","😤","😡","😠","🤬","😈","👿","💀","☠️","💩","🤡","👹","👺","👻","👽","👾","🤖","😺","😸","😹","😻","😼","😽","🙀","😿","😾","🙈","🙉","🙊","💋","💌","💘","💝","💖","💗","💓","💞","💕","💟","❣️","💔","❤️‍🔥","❤️‍🩹","❤️","🧡","💛","💚","💙","💜","🤎","🖤","🤍","💯","💢","💥","💫","💦","💨","🕳️","💣","💬","👁️‍🗨️","🗨️","🗯️","💭","💤"],body:["👋","👋🏻","👋🏼","👋🏽","👋🏾","👋🏿","🤚","🤚🏻","🤚🏼","🤚🏽","🤚🏾","🤚🏿","🖐️","🖐🏻","🖐🏼","🖐🏽","🖐🏾","🖐🏿","✋","✋🏻","✋🏼","✋🏽","✋🏾","✋🏿","🖖","🖖🏻","🖖🏼","🖖🏽","🖖🏾","🖖🏿","👌","👌🏻","👌🏼","👌🏽","👌🏾","👌🏿","🤌","🤌🏻","🤌🏼","🤌🏽","🤌🏾","🤌🏿","🤏","🤏🏻","🤏🏼","🤏🏽","🤏🏾","🤏🏿","✌️","✌🏻","✌🏼","✌🏽","✌🏾","✌🏿","🤞","🤞🏻","🤞🏼","🤞🏽","🤞🏾","🤞🏿","🤟","🤟🏻","🤟🏼","🤟🏽","🤟🏾","🤟🏿","🤘","🤘🏻","🤘🏼","🤘🏽","🤘🏾","🤘🏿","🤙","🤙🏻","🤙🏼","🤙🏽","🤙🏾","🤙🏿","👈","👈🏻","👈🏼","👈🏽","👈🏾","👈🏿","👉","👉🏻","👉🏼","👉🏽","👉🏾","👉🏿","👆","👆🏻","👆🏼","👆🏽","👆🏾","👆🏿","🖕","🖕🏻","🖕🏼","🖕🏽","🖕🏾","🖕🏿","👇","👇🏻","👇🏼","👇🏽","👇🏾","👇🏿","☝️","☝🏻","☝🏼","☝🏽","☝🏾","☝🏿","👍","👍🏻","👍🏼","👍🏽","👍🏾","👍🏿","👎","👎🏻","👎🏼","👎🏽","👎🏾","👎🏿","✊","✊🏻","✊🏼","✊🏽","✊🏾","✊🏿","👊","👊🏻","👊🏼","👊🏽","👊🏾","👊🏿","🤛","🤛🏻","🤛🏼","🤛🏽","🤛🏾","🤛🏿","🤜","🤜🏻","🤜🏼","🤜🏽","🤜🏾","🤜🏿","👏","👏🏻","👏🏼","👏🏽","👏🏾","👏🏿","🙌","🙌🏻","🙌🏼","🙌🏽","🙌🏾","🙌🏿","👐","👐🏻","👐🏼","👐🏽","👐🏾","👐🏿","🤲","🤲🏻","🤲🏼","🤲🏽","🤲🏾","🤲🏿","🤝","🙏","🙏🏻","🙏🏼","🙏🏽","🙏🏾","🙏🏿","✍️","✍🏻","✍🏼","✍🏽","✍🏾","✍🏿","💅","💅🏻","💅🏼","💅🏽","💅🏾","💅🏿","🤳","🤳🏻","🤳🏼","🤳🏽","🤳🏾","🤳🏿","💪","💪🏻","💪🏼","💪🏽","💪🏾","💪🏿","🦾","🦿","🦵","🦵🏻","🦵🏼","🦵🏽","🦵🏾","🦵🏿","🦶","🦶🏻","🦶🏼","🦶🏽","🦶🏾","🦶🏿","👂","👂🏻","👂🏼","👂🏽","👂🏾","👂🏿","🦻","🦻🏻","🦻🏼","🦻🏽","🦻🏾","🦻🏿","👃","👃🏻","👃🏼","👃🏽","👃🏾","👃🏿","🧠","🫀","🫁","🦷","🦴","👀","👁️","👅","👄"],person:["👶","👶🏻","👶🏼","👶🏽","👶🏾","👶🏿","🧒","🧒🏻","🧒🏼","🧒🏽","🧒🏾","🧒🏿","👦","👦🏻","👦🏼","👦🏽","👦🏾","👦🏿","👧","👧🏻","👧🏼","👧🏽","👧🏾","👧🏿","🧑","🧑🏻","🧑🏼","🧑🏽","🧑🏾","🧑🏿","👱","👱🏻","👱🏼","👱🏽","👱🏾","👱🏿","👨","👨🏻","👨🏼","👨🏽","👨🏾","👨🏿","🧔","🧔🏻","🧔🏼","🧔🏽","🧔🏾","🧔🏿","🧔‍♂️","🧔🏻‍♂️","🧔🏼‍♂️","🧔🏽‍♂️","🧔🏾‍♂️","🧔🏿‍♂️","🧔‍♀️","🧔🏻‍♀️","🧔🏼‍♀️","🧔🏽‍♀️","🧔🏾‍♀️","🧔🏿‍♀️","👨‍🦰","👨🏻‍🦰","👨🏼‍🦰","👨🏽‍🦰","👨🏾‍🦰","👨🏿‍🦰","👨‍🦱","👨🏻‍🦱","👨🏼‍🦱","👨🏽‍🦱","👨🏾‍🦱","👨🏿‍🦱","👨‍🦳","👨🏻‍🦳","👨🏼‍🦳","👨🏽‍🦳","👨🏾‍🦳","👨🏿‍🦳","👨‍🦲","👨🏻‍🦲","👨🏼‍🦲","👨🏽‍🦲","👨🏾‍🦲","👨🏿‍🦲","👩","👩🏻","👩🏼","👩🏽","👩🏾","👩🏿","👩‍🦰","👩🏻‍🦰","👩🏼‍🦰","👩🏽‍🦰","👩🏾‍🦰","👩🏿‍🦰","🧑‍🦰","🧑🏻‍🦰","🧑🏼‍🦰","🧑🏽‍🦰","🧑🏾‍🦰","🧑🏿‍🦰","👩‍🦱","👩🏻‍🦱","👩🏼‍🦱","👩🏽‍🦱","👩🏾‍🦱","👩🏿‍🦱","🧑‍🦱","🧑🏻‍🦱","🧑🏼‍🦱","🧑🏽‍🦱","🧑🏾‍🦱","🧑🏿‍🦱","👩‍🦳","👩🏻‍🦳","👩🏼‍🦳","👩🏽‍🦳","👩🏾‍🦳","👩🏿‍🦳","🧑‍🦳","🧑🏻‍🦳","🧑🏼‍🦳","🧑🏽‍🦳","🧑🏾‍🦳","🧑🏿‍🦳","👩‍🦲","👩🏻‍🦲","👩🏼‍🦲","👩🏽‍🦲","👩🏾‍🦲","👩🏿‍🦲","🧑‍🦲","🧑🏻‍🦲","🧑🏼‍🦲","🧑🏽‍🦲","🧑🏾‍🦲","🧑🏿‍🦲","👱‍♀️","👱🏻‍♀️","👱🏼‍♀️","👱🏽‍♀️","👱🏾‍♀️","👱🏿‍♀️","👱‍♂️","👱🏻‍♂️","👱🏼‍♂️","👱🏽‍♂️","👱🏾‍♂️","👱🏿‍♂️","🧓","🧓🏻","🧓🏼","🧓🏽","🧓🏾","🧓🏿","👴","👴🏻","👴🏼","👴🏽","👴🏾","👴🏿","👵","👵🏻","👵🏼","👵🏽","👵🏾","👵🏿","🙍","🙍🏻","🙍🏼","🙍🏽","🙍🏾","🙍🏿","🙍‍♂️","🙍🏻‍♂️","🙍🏼‍♂️","🙍🏽‍♂️","🙍🏾‍♂️","🙍🏿‍♂️","🙍‍♀️","🙍🏻‍♀️","🙍🏼‍♀️","🙍🏽‍♀️","🙍🏾‍♀️","🙍🏿‍♀️","🙎","🙎🏻","🙎🏼","🙎🏽","🙎🏾","🙎🏿","🙎‍♂️","🙎🏻‍♂️","🙎🏼‍♂️","🙎🏽‍♂️","🙎🏾‍♂️","🙎🏿‍♂️","🙎‍♀️","🙎🏻‍♀️","🙎🏼‍♀️","🙎🏽‍♀️","🙎🏾‍♀️","🙎🏿‍♀️","🙅","🙅🏻","🙅🏼","🙅🏽","🙅🏾","🙅🏿","🙅‍♂️","🙅🏻‍♂️","🙅🏼‍♂️","🙅🏽‍♂️","🙅🏾‍♂️","🙅🏿‍♂️","🙅‍♀️","🙅🏻‍♀️","🙅🏼‍♀️","🙅🏽‍♀️","🙅🏾‍♀️","🙅🏿‍♀️","🙆","🙆🏻","🙆🏼","🙆🏽","🙆🏾","🙆🏿","🙆‍♂️","🙆🏻‍♂️","🙆🏼‍♂️","🙆🏽‍♂️","🙆🏾‍♂️","🙆🏿‍♂️","🙆‍♀️","🙆🏻‍♀️","🙆🏼‍♀️","🙆🏽‍♀️","🙆🏾‍♀️","🙆🏿‍♀️","💁","💁🏻","💁🏼","💁🏽","💁🏾","💁🏿","💁‍♂️","💁🏻‍♂️","💁🏼‍♂️","💁🏽‍♂️","💁🏾‍♂️","💁🏿‍♂️","💁‍♀️","💁🏻‍♀️","💁🏼‍♀️","💁🏽‍♀️","💁🏾‍♀️","💁🏿‍♀️","🙋","🙋🏻","🙋🏼","🙋🏽","🙋🏾","🙋🏿","🙋‍♂️","🙋🏻‍♂️","🙋🏼‍♂️","🙋🏽‍♂️","🙋🏾‍♂️","🙋🏿‍♂️","🙋‍♀️","🙋🏻‍♀️","🙋🏼‍♀️","🙋🏽‍♀️","🙋🏾‍♀️","🙋🏿‍♀️","🧏","🧏🏻","🧏🏼","🧏🏽","🧏🏾","🧏🏿","🧏‍♂️","🧏🏻‍♂️","🧏🏼‍♂️","🧏🏽‍♂️","🧏🏾‍♂️","🧏🏿‍♂️","🧏‍♀️","🧏🏻‍♀️","🧏🏼‍♀️","🧏🏽‍♀️","🧏🏾‍♀️","🧏🏿‍♀️","🙇","🙇🏻","🙇🏼","🙇🏽","🙇🏾","🙇🏿","🙇‍♂️","🙇🏻‍♂️","🙇🏼‍♂️","🙇🏽‍♂️","🙇🏾‍♂️","🙇🏿‍♂️","🙇‍♀️","🙇🏻‍♀️","🙇🏼‍♀️","🙇🏽‍♀️","🙇🏾‍♀️","🙇🏿‍♀️","🤦","🤦🏻","🤦🏼","🤦🏽","🤦🏾","🤦🏿","🤦‍♂️","🤦🏻‍♂️","🤦🏼‍♂️","🤦🏽‍♂️","🤦🏾‍♂️","🤦🏿‍♂️","🤦‍♀️","🤦🏻‍♀️","🤦🏼‍♀️","🤦🏽‍♀️","🤦🏾‍♀️","🤦🏿‍♀️","🤷","🤷🏻","🤷🏼","🤷🏽","🤷🏾","🤷🏿","🤷‍♂️","🤷🏻‍♂️","🤷🏼‍♂️","🤷🏽‍♂️","🤷🏾‍♂️","🤷🏿‍♂️","🤷‍♀️","🤷🏻‍♀️","🤷🏼‍♀️","🤷🏽‍♀️","🤷🏾‍♀️","🤷🏿‍♀️","🧑‍⚕️","🧑🏻‍⚕️","🧑🏼‍⚕️","🧑🏽‍⚕️","🧑🏾‍⚕️","🧑🏿‍⚕️","👨‍⚕️","👨🏻‍⚕️","👨🏼‍⚕️","👨🏽‍⚕️","👨🏾‍⚕️","👨🏿‍⚕️","👩‍⚕️","👩🏻‍⚕️","👩🏼‍⚕️","👩🏽‍⚕️","👩🏾‍⚕️","👩🏿‍⚕️","🧑‍🎓","🧑🏻‍🎓","🧑🏼‍🎓","🧑🏽‍🎓","🧑🏾‍🎓","🧑🏿‍🎓","👨‍🎓","👨🏻‍🎓","👨🏼‍🎓","👨🏽‍🎓","👨🏾‍🎓","👨🏿‍🎓","👩‍🎓","👩🏻‍🎓","👩🏼‍🎓","👩🏽‍🎓","👩🏾‍🎓","👩🏿‍🎓","🧑‍🏫","🧑🏻‍🏫","🧑🏼‍🏫","🧑🏽‍🏫","🧑🏾‍🏫","🧑🏿‍🏫","👨‍🏫","👨🏻‍🏫","👨🏼‍🏫","👨🏽‍🏫","👨🏾‍🏫","👨🏿‍🏫","👩‍🏫","👩🏻‍🏫","👩🏼‍🏫","👩🏽‍🏫","👩🏾‍🏫","👩🏿‍🏫","🧑‍⚖️","🧑🏻‍⚖️","🧑🏼‍⚖️","🧑🏽‍⚖️","🧑🏾‍⚖️","🧑🏿‍⚖️","👨‍⚖️","👨🏻‍⚖️","👨🏼‍⚖️","👨🏽‍⚖️","👨🏾‍⚖️","👨🏿‍⚖️","👩‍⚖️","👩🏻‍⚖️","👩🏼‍⚖️","👩🏽‍⚖️","👩🏾‍⚖️","👩🏿‍⚖️","🧑‍🌾","🧑🏻‍🌾","🧑🏼‍🌾","🧑🏽‍🌾","🧑🏾‍🌾","🧑🏿‍🌾","👨‍🌾","👨🏻‍🌾","👨🏼‍🌾","👨🏽‍🌾","👨🏾‍🌾","👨🏿‍🌾","👩‍🌾","👩🏻‍🌾","👩🏼‍🌾","👩🏽‍🌾","👩🏾‍🌾","👩🏿‍🌾","🧑‍🍳","🧑🏻‍🍳","🧑🏼‍🍳","🧑🏽‍🍳","🧑🏾‍🍳","🧑🏿‍🍳","👨‍🍳","👨🏻‍🍳","👨🏼‍🍳","👨🏽‍🍳","👨🏾‍🍳","👨🏿‍🍳","👩‍🍳","👩🏻‍🍳","👩🏼‍🍳","👩🏽‍🍳","👩🏾‍🍳","👩🏿‍🍳","🧑‍🔧","🧑🏻‍🔧","🧑🏼‍🔧","🧑🏽‍🔧","🧑🏾‍🔧","🧑🏿‍🔧","👨‍🔧","👨🏻‍🔧","👨🏼‍🔧","👨🏽‍🔧","👨🏾‍🔧","👨🏿‍🔧","👩‍🔧","👩🏻‍🔧","👩🏼‍🔧","👩🏽‍🔧","👩🏾‍🔧","👩🏿‍🔧","🧑‍🏭","🧑🏻‍🏭","🧑🏼‍🏭","🧑🏽‍🏭","🧑🏾‍🏭","🧑🏿‍🏭","👨‍🏭","👨🏻‍🏭","👨🏼‍🏭","👨🏽‍🏭","👨🏾‍🏭","👨🏿‍🏭","👩‍🏭","👩🏻‍🏭","👩🏼‍🏭","👩🏽‍🏭","👩🏾‍🏭","👩🏿‍🏭","🧑‍💼","🧑🏻‍💼","🧑🏼‍💼","🧑🏽‍💼","🧑🏾‍💼","🧑🏿‍💼","👨‍💼","👨🏻‍💼","👨🏼‍💼","👨🏽‍💼","👨🏾‍💼","👨🏿‍💼","👩‍💼","👩🏻‍💼","👩🏼‍💼","👩🏽‍💼","👩🏾‍💼","👩🏿‍💼","🧑‍🔬","🧑🏻‍🔬","🧑🏼‍🔬","🧑🏽‍🔬","🧑🏾‍🔬","🧑🏿‍🔬","👨‍🔬","👨🏻‍🔬","👨🏼‍🔬","👨🏽‍🔬","👨🏾‍🔬","👨🏿‍🔬","👩‍🔬","👩🏻‍🔬","👩🏼‍🔬","👩🏽‍🔬","👩🏾‍🔬","👩🏿‍🔬","🧑‍💻","🧑🏻‍💻","🧑🏼‍💻","🧑🏽‍💻","🧑🏾‍💻","🧑🏿‍💻","👨‍💻","👨🏻‍💻","👨🏼‍💻","👨🏽‍💻","👨🏾‍💻","👨🏿‍💻","👩‍💻","👩🏻‍💻","👩🏼‍💻","👩🏽‍💻","👩🏾‍💻","👩🏿‍💻","🧑‍🎤","🧑🏻‍🎤","🧑🏼‍🎤","🧑🏽‍🎤","🧑🏾‍🎤","🧑🏿‍🎤","👨‍🎤","👨🏻‍🎤","👨🏼‍🎤","👨🏽‍🎤","👨🏾‍🎤","👨🏿‍🎤","👩‍🎤","👩🏻‍🎤","👩🏼‍🎤","👩🏽‍🎤","👩🏾‍🎤","👩🏿‍🎤","🧑‍🎨","🧑🏻‍🎨","🧑🏼‍🎨","🧑🏽‍🎨","🧑🏾‍🎨","🧑🏿‍🎨","👨‍🎨","👨🏻‍🎨","👨🏼‍🎨","👨🏽‍🎨","👨🏾‍🎨","👨🏿‍🎨","👩‍🎨","👩🏻‍🎨","👩🏼‍🎨","👩🏽‍🎨","👩🏾‍🎨","👩🏿‍🎨","🧑‍✈️","🧑🏻‍✈️","🧑🏼‍✈️","🧑🏽‍✈️","🧑🏾‍✈️","🧑🏿‍✈️","👨‍✈️","👨🏻‍✈️","👨🏼‍✈️","👨🏽‍✈️","👨🏾‍✈️","👨🏿‍✈️","👩‍✈️","👩🏻‍✈️","👩🏼‍✈️","👩🏽‍✈️","👩🏾‍✈️","👩🏿‍✈️","🧑‍🚀","🧑🏻‍🚀","🧑🏼‍🚀","🧑🏽‍🚀","🧑🏾‍🚀","🧑🏿‍🚀","👨‍🚀","👨🏻‍🚀","👨🏼‍🚀","👨🏽‍🚀","👨🏾‍🚀","👨🏿‍🚀","👩‍🚀","👩🏻‍🚀","👩🏼‍🚀","👩🏽‍🚀","👩🏾‍🚀","👩🏿‍🚀","🧑‍🚒","🧑🏻‍🚒","🧑🏼‍🚒","🧑🏽‍🚒","🧑🏾‍🚒","🧑🏿‍🚒","👨‍🚒","👨🏻‍🚒","👨🏼‍🚒","👨🏽‍🚒","👨🏾‍🚒","👨🏿‍🚒","👩‍🚒","👩🏻‍🚒","👩🏼‍🚒","👩🏽‍🚒","👩🏾‍🚒","👩🏿‍🚒","👮","👮🏻","👮🏼","👮🏽","👮🏾","👮🏿","👮‍♂️","👮🏻‍♂️","👮🏼‍♂️","👮🏽‍♂️","👮🏾‍♂️","👮🏿‍♂️","👮‍♀️","👮🏻‍♀️","👮🏼‍♀️","👮🏽‍♀️","👮🏾‍♀️","👮🏿‍♀️","🕵️","🕵🏻","🕵🏼","🕵🏽","🕵🏾","🕵🏿","🕵️‍♂️","🕵🏻‍♂️","🕵🏼‍♂️","🕵🏽‍♂️","🕵🏾‍♂️","🕵🏿‍♂️","🕵️‍♀️","🕵🏻‍♀️","🕵🏼‍♀️","🕵🏽‍♀️","🕵🏾‍♀️","🕵🏿‍♀️","💂","💂🏻","💂🏼","💂🏽","💂🏾","💂🏿","💂‍♂️","💂🏻‍♂️","💂🏼‍♂️","💂🏽‍♂️","💂🏾‍♂️","💂🏿‍♂️","💂‍♀️","💂🏻‍♀️","💂🏼‍♀️","💂🏽‍♀️","💂🏾‍♀️","💂🏿‍♀️","🥷","🥷🏻","🥷🏼","🥷🏽","🥷🏾","🥷🏿","👷","👷🏻","👷🏼","👷🏽","👷🏾","👷🏿","👷‍♂️","👷🏻‍♂️","👷🏼‍♂️","👷🏽‍♂️","👷🏾‍♂️","👷🏿‍♂️","👷‍♀️","👷🏻‍♀️","👷🏼‍♀️","👷🏽‍♀️","👷🏾‍♀️","👷🏿‍♀️","🤴","🤴🏻","🤴🏼","🤴🏽","🤴🏾","🤴🏿","👸","👸🏻","👸🏼","👸🏽","👸🏾","👸🏿","👳","👳🏻","👳🏼","👳🏽","👳🏾","👳🏿","👳‍♂️","👳🏻‍♂️","👳🏼‍♂️","👳🏽‍♂️","👳🏾‍♂️","👳🏿‍♂️","👳‍♀️","👳🏻‍♀️","👳🏼‍♀️","👳🏽‍♀️","👳🏾‍♀️","👳🏿‍♀️","👲","👲🏻","👲🏼","👲🏽","👲🏾","👲🏿","🧕","🧕🏻","🧕🏼","🧕🏽","🧕🏾","🧕🏿","🤵","🤵🏻","🤵🏼","🤵🏽","🤵🏾","🤵🏿","🤵‍♂️","🤵🏻‍♂️","🤵🏼‍♂️","🤵🏽‍♂️","🤵🏾‍♂️","🤵🏿‍♂️","🤵‍♀️","🤵🏻‍♀️","🤵🏼‍♀️","🤵🏽‍♀️","🤵🏾‍♀️","🤵🏿‍♀️","👰","👰🏻","👰🏼","👰🏽","👰🏾","👰🏿","👰‍♂️","👰🏻‍♂️","👰🏼‍♂️","👰🏽‍♂️","👰🏾‍♂️","👰🏿‍♂️","👰‍♀️","👰🏻‍♀️","👰🏼‍♀️","👰🏽‍♀️","👰🏾‍♀️","👰🏿‍♀️","🤰","🤰🏻","🤰🏼","🤰🏽","🤰🏾","🤰🏿","🤱","🤱🏻","🤱🏼","🤱🏽","🤱🏾","🤱🏿","👩‍🍼","👩🏻‍🍼","👩🏼‍🍼","👩🏽‍🍼","👩🏾‍🍼","👩🏿‍🍼","👨‍🍼","👨🏻‍🍼","👨🏼‍🍼","👨🏽‍🍼","👨🏾‍🍼","👨🏿‍🍼","🧑‍🍼","🧑🏻‍🍼","🧑🏼‍🍼","🧑🏽‍🍼","🧑🏾‍🍼","🧑🏿‍🍼","👼","👼🏻","👼🏼","👼🏽","👼🏾","👼🏿","🎅","🎅🏻","🎅🏼","🎅🏽","🎅🏾","🎅🏿","🤶","🤶🏻","🤶🏼","🤶🏽","🤶🏾","🤶🏿","🧑‍🎄","🧑🏻‍🎄","🧑🏼‍🎄","🧑🏽‍🎄","🧑🏾‍🎄","🧑🏿‍🎄","🦸","🦸🏻","🦸🏼","🦸🏽","🦸🏾","🦸🏿","🦸‍♂️","🦸🏻‍♂️","🦸🏼‍♂️","🦸🏽‍♂️","🦸🏾‍♂️","🦸🏿‍♂️","🦸‍♀️","🦸🏻‍♀️","🦸🏼‍♀️","🦸🏽‍♀️","🦸🏾‍♀️","🦸🏿‍♀️","🦹","🦹🏻","🦹🏼","🦹🏽","🦹🏾","🦹🏿","🦹‍♂️","🦹🏻‍♂️","🦹🏼‍♂️","🦹🏽‍♂️","🦹🏾‍♂️","🦹🏿‍♂️","🦹‍♀️","🦹🏻‍♀️","🦹🏼‍♀️","🦹🏽‍♀️","🦹🏾‍♀️","🦹🏿‍♀️","🧙","🧙🏻","🧙🏼","🧙🏽","🧙🏾","🧙🏿","🧙‍♂️","🧙🏻‍♂️","🧙🏼‍♂️","🧙🏽‍♂️","🧙🏾‍♂️","🧙🏿‍♂️","🧙‍♀️","🧙🏻‍♀️","🧙🏼‍♀️","🧙🏽‍♀️","🧙🏾‍♀️","🧙🏿‍♀️","🧚","🧚🏻","🧚🏼","🧚🏽","🧚🏾","🧚🏿","🧚‍♂️","🧚🏻‍♂️","🧚🏼‍♂️","🧚🏽‍♂️","🧚🏾‍♂️","🧚🏿‍♂️","🧚‍♀️","🧚🏻‍♀️","🧚🏼‍♀️","🧚🏽‍♀️","🧚🏾‍♀️","🧚🏿‍♀️","🧛","🧛🏻","🧛🏼","🧛🏽","🧛🏾","🧛🏿","🧛‍♂️","🧛🏻‍♂️","🧛🏼‍♂️","🧛🏽‍♂️","🧛🏾‍♂️","🧛🏿‍♂️","🧛‍♀️","🧛🏻‍♀️","🧛🏼‍♀️","🧛🏽‍♀️","🧛🏾‍♀️","🧛🏿‍♀️","🧜","🧜🏻","🧜🏼","🧜🏽","🧜🏾","🧜🏿","🧜‍♂️","🧜🏻‍♂️","🧜🏼‍♂️","🧜🏽‍♂️","🧜🏾‍♂️","🧜🏿‍♂️","🧜‍♀️","🧜🏻‍♀️","🧜🏼‍♀️","🧜🏽‍♀️","🧜🏾‍♀️","🧜🏿‍♀️","🧝","🧝🏻","🧝🏼","🧝🏽","🧝🏾","🧝🏿","🧝‍♂️","🧝🏻‍♂️","🧝🏼‍♂️","🧝🏽‍♂️","🧝🏾‍♂️","🧝🏿‍♂️","🧝‍♀️","🧝🏻‍♀️","🧝🏼‍♀️","🧝🏽‍♀️","🧝🏾‍♀️","🧝🏿‍♀️","🧞","🧞‍♂️","🧞‍♀️","🧟","🧟‍♂️","🧟‍♀️","💆","💆🏻","💆🏼","💆🏽","💆🏾","💆🏿","💆‍♂️","💆🏻‍♂️","💆🏼‍♂️","💆🏽‍♂️","💆🏾‍♂️","💆🏿‍♂️","💆‍♀️","💆🏻‍♀️","💆🏼‍♀️","💆🏽‍♀️","💆🏾‍♀️","💆🏿‍♀️","💇","💇🏻","💇🏼","💇🏽","💇🏾","💇🏿","💇‍♂️","💇🏻‍♂️","💇🏼‍♂️","💇🏽‍♂️","💇🏾‍♂️","💇🏿‍♂️","💇‍♀️","💇🏻‍♀️","💇🏼‍♀️","💇🏽‍♀️","💇🏾‍♀️","💇🏿‍♀️","🚶","🚶🏻","🚶🏼","🚶🏽","🚶🏾","🚶🏿","🚶‍♂️","🚶🏻‍♂️","🚶🏼‍♂️","🚶🏽‍♂️","🚶🏾‍♂️","🚶🏿‍♂️","🚶‍♀️","🚶🏻‍♀️","🚶🏼‍♀️","🚶🏽‍♀️","🚶🏾‍♀️","🚶🏿‍♀️","🧍","🧍🏻","🧍🏼","🧍🏽","🧍🏾","🧍🏿","🧍‍♂️","🧍🏻‍♂️","🧍🏼‍♂️","🧍🏽‍♂️","🧍🏾‍♂️","🧍🏿‍♂️","🧍‍♀️","🧍🏻‍♀️","🧍🏼‍♀️","🧍🏽‍♀️","🧍🏾‍♀️","🧍🏿‍♀️","🧎","🧎🏻","🧎🏼","🧎🏽","🧎🏾","🧎🏿","🧎‍♂️","🧎🏻‍♂️","🧎🏼‍♂️","🧎🏽‍♂️","🧎🏾‍♂️","🧎🏿‍♂️","🧎‍♀️","🧎🏻‍♀️","🧎🏼‍♀️","🧎🏽‍♀️","🧎🏾‍♀️","🧎🏿‍♀️","🧑‍🦯","🧑🏻‍🦯","🧑🏼‍🦯","🧑🏽‍🦯","🧑🏾‍🦯","🧑🏿‍🦯","👨‍🦯","👨🏻‍🦯","👨🏼‍🦯","👨🏽‍🦯","👨🏾‍🦯","👨🏿‍🦯","👩‍🦯","👩🏻‍🦯","👩🏼‍🦯","👩🏽‍🦯","👩🏾‍🦯","👩🏿‍🦯","🧑‍🦼","🧑🏻‍🦼","🧑🏼‍🦼","🧑🏽‍🦼","🧑🏾‍🦼","🧑🏿‍🦼","👨‍🦼","👨🏻‍🦼","👨🏼‍🦼","👨🏽‍🦼","👨🏾‍🦼","👨🏿‍🦼","👩‍🦼","👩🏻‍🦼","👩🏼‍🦼","👩🏽‍🦼","👩🏾‍🦼","👩🏿‍🦼","🧑‍🦽","🧑🏻‍🦽","🧑🏼‍🦽","🧑🏽‍🦽","🧑🏾‍🦽","🧑🏿‍🦽","👨‍🦽","👨🏻‍🦽","👨🏼‍🦽","👨🏽‍🦽","👨🏾‍🦽","👨🏿‍🦽","👩‍🦽","👩🏻‍🦽","👩🏼‍🦽","👩🏽‍🦽","👩🏾‍🦽","👩🏿‍🦽","🏃","🏃🏻","🏃🏼","🏃🏽","🏃🏾","🏃🏿","🏃‍♂️","🏃🏻‍♂️","🏃🏼‍♂️","🏃🏽‍♂️","🏃🏾‍♂️","🏃🏿‍♂️","🏃‍♀️","🏃🏻‍♀️","🏃🏼‍♀️","🏃🏽‍♀️","🏃🏾‍♀️","🏃🏿‍♀️","💃","💃🏻","💃🏼","💃🏽","💃🏾","💃🏿","🕺","🕺🏻","🕺🏼","🕺🏽","🕺🏾","🕺🏿","🕴️","🕴🏻","🕴🏼","🕴🏽","🕴🏾","🕴🏿","👯","👯‍♂️","👯‍♀️","🧖","🧖🏻","🧖🏼","🧖🏽","🧖🏾","🧖🏿","🧖‍♂️","🧖🏻‍♂️","🧖🏼‍♂️","🧖🏽‍♂️","🧖🏾‍♂️","🧖🏿‍♂️","🧖‍♀️","🧖🏻‍♀️","🧖🏼‍♀️","🧖🏽‍♀️","🧖🏾‍♀️","🧖🏿‍♀️","🧗","🧗🏻","🧗🏼","🧗🏽","🧗🏾","🧗🏿","🧗‍♂️","🧗🏻‍♂️","🧗🏼‍♂️","🧗🏽‍♂️","🧗🏾‍♂️","🧗🏿‍♂️","🧗‍♀️","🧗🏻‍♀️","🧗🏼‍♀️","🧗🏽‍♀️","🧗🏾‍♀️","🧗🏿‍♀️","🤺","🏇","🏇🏻","🏇🏼","🏇🏽","🏇🏾","🏇🏿","⛷️","🏂","🏂🏻","🏂🏼","🏂🏽","🏂🏾","🏂🏿","🏌️","🏌🏻","🏌🏼","🏌🏽","🏌🏾","🏌🏿","🏌️‍♂️","🏌🏻‍♂️","🏌🏼‍♂️","🏌🏽‍♂️","🏌🏾‍♂️","🏌🏿‍♂️","🏌️‍♀️","🏌🏻‍♀️","🏌🏼‍♀️","🏌🏽‍♀️","🏌🏾‍♀️","🏌🏿‍♀️","🏄","🏄🏻","🏄🏼","🏄🏽","🏄🏾","🏄🏿","🏄‍♂️","🏄🏻‍♂️","🏄🏼‍♂️","🏄🏽‍♂️","🏄🏾‍♂️","🏄🏿‍♂️","🏄‍♀️","🏄🏻‍♀️","🏄🏼‍♀️","🏄🏽‍♀️","🏄🏾‍♀️","🏄🏿‍♀️","🚣","🚣🏻","🚣🏼","🚣🏽","🚣🏾","🚣🏿","🚣‍♂️","🚣🏻‍♂️","🚣🏼‍♂️","🚣🏽‍♂️","🚣🏾‍♂️","🚣🏿‍♂️","🚣‍♀️","🚣🏻‍♀️","🚣🏼‍♀️","🚣🏽‍♀️","🚣🏾‍♀️","🚣🏿‍♀️","🏊","🏊🏻","🏊🏼","🏊🏽","🏊🏾","🏊🏿","🏊‍♂️","🏊🏻‍♂️","🏊🏼‍♂️","🏊🏽‍♂️","🏊🏾‍♂️","🏊🏿‍♂️","🏊‍♀️","🏊🏻‍♀️","🏊🏼‍♀️","🏊🏽‍♀️","🏊🏾‍♀️","🏊🏿‍♀️","⛹️","⛹🏻","⛹🏼","⛹🏽","⛹🏾","⛹🏿","⛹️‍♂️","⛹🏻‍♂️","⛹🏼‍♂️","⛹🏽‍♂️","⛹🏾‍♂️","⛹🏿‍♂️","⛹️‍♀️","⛹🏻‍♀️","⛹🏼‍♀️","⛹🏽‍♀️","⛹🏾‍♀️","⛹🏿‍♀️","🏋️","🏋🏻","🏋🏼","🏋🏽","🏋🏾","🏋🏿","🏋️‍♂️","🏋🏻‍♂️","🏋🏼‍♂️","🏋🏽‍♂️","🏋🏾‍♂️","🏋🏿‍♂️","🏋️‍♀️","🏋🏻‍♀️","🏋🏼‍♀️","🏋🏽‍♀️","🏋🏾‍♀️","🏋🏿‍♀️","🚴","🚴🏻","🚴🏼","🚴🏽","🚴🏾","🚴🏿","🚴‍♂️","🚴🏻‍♂️","🚴🏼‍♂️","🚴🏽‍♂️","🚴🏾‍♂️","🚴🏿‍♂️","🚴‍♀️","🚴🏻‍♀️","🚴🏼‍♀️","🚴🏽‍♀️","🚴🏾‍♀️","🚴🏿‍♀️","🚵","🚵🏻","🚵🏼","🚵🏽","🚵🏾","🚵🏿","🚵‍♂️","🚵🏻‍♂️","🚵🏼‍♂️","🚵🏽‍♂️","🚵🏾‍♂️","🚵🏿‍♂️","🚵‍♀️","🚵🏻‍♀️","🚵🏼‍♀️","🚵🏽‍♀️","🚵🏾‍♀️","🚵🏿‍♀️","🤸","🤸🏻","🤸🏼","🤸🏽","🤸🏾","🤸🏿","🤸‍♂️","🤸🏻‍♂️","🤸🏼‍♂️","🤸🏽‍♂️","🤸🏾‍♂️","🤸🏿‍♂️","🤸‍♀️","🤸🏻‍♀️","🤸🏼‍♀️","🤸🏽‍♀️","🤸🏾‍♀️","🤸🏿‍♀️","🤼","🤼‍♂️","🤼‍♀️","🤽","🤽🏻","🤽🏼","🤽🏽","🤽🏾","🤽🏿","🤽‍♂️","🤽🏻‍♂️","🤽🏼‍♂️","🤽🏽‍♂️","🤽🏾‍♂️","🤽🏿‍♂️","🤽‍♀️","🤽🏻‍♀️","🤽🏼‍♀️","🤽🏽‍♀️","🤽🏾‍♀️","🤽🏿‍♀️","🤾","🤾🏻","🤾🏼","🤾🏽","🤾🏾","🤾🏿","🤾‍♂️","🤾🏻‍♂️","🤾🏼‍♂️","🤾🏽‍♂️","🤾🏾‍♂️","🤾🏿‍♂️","🤾‍♀️","🤾🏻‍♀️","🤾🏼‍♀️","🤾🏽‍♀️","🤾🏾‍♀️","🤾🏿‍♀️","🤹","🤹🏻","🤹🏼","🤹🏽","🤹🏾","🤹🏿","🤹‍♂️","🤹🏻‍♂️","🤹🏼‍♂️","🤹🏽‍♂️","🤹🏾‍♂️","🤹🏿‍♂️","🤹‍♀️","🤹🏻‍♀️","🤹🏼‍♀️","🤹🏽‍♀️","🤹🏾‍♀️","🤹🏿‍♀️","🧘","🧘🏻","🧘🏼","🧘🏽","🧘🏾","🧘🏿","🧘‍♂️","🧘🏻‍♂️","🧘🏼‍♂️","🧘🏽‍♂️","🧘🏾‍♂️","🧘🏿‍♂️","🧘‍♀️","🧘🏻‍♀️","🧘🏼‍♀️","🧘🏽‍♀️","🧘🏾‍♀️","🧘🏿‍♀️","🛀","🛀🏻","🛀🏼","🛀🏽","🛀🏾","🛀🏿","🛌","🛌🏻","🛌🏼","🛌🏽","🛌🏾","🛌🏿","🧑‍🤝‍🧑","🧑🏻‍🤝‍🧑🏻","🧑🏻‍🤝‍🧑🏼","🧑🏻‍🤝‍🧑🏽","🧑🏻‍🤝‍🧑🏾","🧑🏻‍🤝‍🧑🏿","🧑🏼‍🤝‍🧑🏻","🧑🏼‍🤝‍🧑🏼","🧑🏼‍🤝‍🧑🏽","🧑🏼‍🤝‍🧑🏾","🧑🏼‍🤝‍🧑🏿","🧑🏽‍🤝‍🧑🏻","🧑🏽‍🤝‍🧑🏼","🧑🏽‍🤝‍🧑🏽","🧑🏽‍🤝‍🧑🏾","🧑🏽‍🤝‍🧑🏿","🧑🏾‍🤝‍🧑🏻","🧑🏾‍🤝‍🧑🏼","🧑🏾‍🤝‍🧑🏽","🧑🏾‍🤝‍🧑🏾","🧑🏾‍🤝‍🧑🏿","🧑🏿‍🤝‍🧑🏻","🧑🏿‍🤝‍🧑🏼","🧑🏿‍🤝‍🧑🏽","🧑🏿‍🤝‍🧑🏾","🧑🏿‍🤝‍🧑🏿","👭","👭🏻","👩🏻‍🤝‍👩🏼","👩🏻‍🤝‍👩🏽","👩🏻‍🤝‍👩🏾","👩🏻‍🤝‍👩🏿","👩🏼‍🤝‍👩🏻","👭🏼","👩🏼‍🤝‍👩🏽","👩🏼‍🤝‍👩🏾","👩🏼‍🤝‍👩🏿","👩🏽‍🤝‍👩🏻","👩🏽‍🤝‍👩🏼","👭🏽","👩🏽‍🤝‍👩🏾","👩🏽‍🤝‍👩🏿","👩🏾‍🤝‍👩🏻","👩🏾‍🤝‍👩🏼","👩🏾‍🤝‍👩🏽","👭🏾","👩🏾‍🤝‍👩🏿","👩🏿‍🤝‍👩🏻","👩🏿‍🤝‍👩🏼","👩🏿‍🤝‍👩🏽","👩🏿‍🤝‍👩🏾","👭🏿","👫","👫🏻","👩🏻‍🤝‍👨🏼","👩🏻‍🤝‍👨🏽","👩🏻‍🤝‍👨🏾","👩🏻‍🤝‍👨🏿","👩🏼‍🤝‍👨🏻","👫🏼","👩🏼‍🤝‍👨🏽","👩🏼‍🤝‍👨🏾","👩🏼‍🤝‍👨🏿","👩🏽‍🤝‍👨🏻","👩🏽‍🤝‍👨🏼","👫🏽","👩🏽‍🤝‍👨🏾","👩🏽‍🤝‍👨🏿","👩🏾‍🤝‍👨🏻","👩🏾‍🤝‍👨🏼","👩🏾‍🤝‍👨🏽","👫🏾","👩🏾‍🤝‍👨🏿","👩🏿‍🤝‍👨🏻","👩🏿‍🤝‍👨🏼","👩🏿‍🤝‍👨🏽","👩🏿‍🤝‍👨🏾","👫🏿","👬","👬🏻","👨🏻‍🤝‍👨🏼","👨🏻‍🤝‍👨🏽","👨🏻‍🤝‍👨🏾","👨🏻‍🤝‍👨🏿","👨🏼‍🤝‍👨🏻","👬🏼","👨🏼‍🤝‍👨🏽","👨🏼‍🤝‍👨🏾","👨🏼‍🤝‍👨🏿","👨🏽‍🤝‍👨🏻","👨🏽‍🤝‍👨🏼","👬🏽","👨🏽‍🤝‍👨🏾","👨🏽‍🤝‍👨🏿","👨🏾‍🤝‍👨🏻","👨🏾‍🤝‍👨🏼","👨🏾‍🤝‍👨🏽","👬🏾","👨🏾‍🤝‍👨🏿","👨🏿‍🤝‍👨🏻","👨🏿‍🤝‍👨🏼","👨🏿‍🤝‍👨🏽","👨🏿‍🤝‍👨🏾","👬🏿","💏","💏🏻","💏🏼","💏🏽","💏🏾","💏🏿","🧑🏻‍❤️‍💋‍🧑🏼","🧑🏻‍❤️‍💋‍🧑🏽","🧑🏻‍❤️‍💋‍🧑🏾","🧑🏻‍❤️‍💋‍🧑🏿","🧑🏼‍❤️‍💋‍🧑🏻","🧑🏼‍❤️‍💋‍🧑🏽","🧑🏼‍❤️‍💋‍🧑🏾","🧑🏼‍❤️‍💋‍🧑🏿","🧑🏽‍❤️‍💋‍🧑🏻","🧑🏽‍❤️‍💋‍🧑🏼","🧑🏽‍❤️‍💋‍🧑🏾","🧑🏽‍❤️‍💋‍🧑🏿","🧑🏾‍❤️‍💋‍🧑🏻","🧑🏾‍❤️‍💋‍🧑🏼","🧑🏾‍❤️‍💋‍🧑🏽","🧑🏾‍❤️‍💋‍🧑🏿","🧑🏿‍❤️‍💋‍🧑🏻","🧑🏿‍❤️‍💋‍🧑🏼","🧑🏿‍❤️‍💋‍🧑🏽","🧑🏿‍❤️‍💋‍🧑🏾","👩‍❤️‍💋‍👨","👩🏻‍❤️‍💋‍👨🏻","👩🏻‍❤️‍💋‍👨🏼","👩🏻‍❤️‍💋‍👨🏽","👩🏻‍❤️‍💋‍👨🏾","👩🏻‍❤️‍💋‍👨🏿","👩🏼‍❤️‍💋‍👨🏻","👩🏼‍❤️‍💋‍👨🏼","👩🏼‍❤️‍💋‍👨🏽","👩🏼‍❤️‍💋‍👨🏾","👩🏼‍❤️‍💋‍👨🏿","👩🏽‍❤️‍💋‍👨🏻","👩🏽‍❤️‍💋‍👨🏼","👩🏽‍❤️‍💋‍👨🏽","👩🏽‍❤️‍💋‍👨🏾","👩🏽‍❤️‍💋‍👨🏿","👩🏾‍❤️‍💋‍👨🏻","👩🏾‍❤️‍💋‍👨🏼","👩🏾‍❤️‍💋‍👨🏽","👩🏾‍❤️‍💋‍👨🏾","👩🏾‍❤️‍💋‍👨🏿","👩🏿‍❤️‍💋‍👨🏻","👩🏿‍❤️‍💋‍👨🏼","👩🏿‍❤️‍💋‍👨🏽","👩🏿‍❤️‍💋‍👨🏾","👩🏿‍❤️‍💋‍👨🏿","👨‍❤️‍💋‍👨","👨🏻‍❤️‍💋‍👨🏻","👨🏻‍❤️‍💋‍👨🏼","👨🏻‍❤️‍💋‍👨🏽","👨🏻‍❤️‍💋‍👨🏾","👨🏻‍❤️‍💋‍👨🏿","👨🏼‍❤️‍💋‍👨🏻","👨🏼‍❤️‍💋‍👨🏼","👨🏼‍❤️‍💋‍👨🏽","👨🏼‍❤️‍💋‍👨🏾","👨🏼‍❤️‍💋‍👨🏿","👨🏽‍❤️‍💋‍👨🏻","👨🏽‍❤️‍💋‍👨🏼","👨🏽‍❤️‍💋‍👨🏽","👨🏽‍❤️‍💋‍👨🏾","👨🏽‍❤️‍💋‍👨🏿","👨🏾‍❤️‍💋‍👨🏻","👨🏾‍❤️‍💋‍👨🏼","👨🏾‍❤️‍💋‍👨🏽","👨🏾‍❤️‍💋‍👨🏾","👨🏾‍❤️‍💋‍👨🏿","👨🏿‍❤️‍💋‍👨🏻","👨🏿‍❤️‍💋‍👨🏼","👨🏿‍❤️‍💋‍👨🏽","👨🏿‍❤️‍💋‍👨🏾","👨🏿‍❤️‍💋‍👨🏿","👩‍❤️‍💋‍👩","👩🏻‍❤️‍💋‍👩🏻","👩🏻‍❤️‍💋‍👩🏼","👩🏻‍❤️‍💋‍👩🏽","👩🏻‍❤️‍💋‍👩🏾","👩🏻‍❤️‍💋‍👩🏿","👩🏼‍❤️‍💋‍👩🏻","👩🏼‍❤️‍💋‍👩🏼","👩🏼‍❤️‍💋‍👩🏽","👩🏼‍❤️‍💋‍👩🏾","👩🏼‍❤️‍💋‍👩🏿","👩🏽‍❤️‍💋‍👩🏻","👩🏽‍❤️‍💋‍👩🏼","👩🏽‍❤️‍💋‍👩🏽","👩🏽‍❤️‍💋‍👩🏾","👩🏽‍❤️‍💋‍👩🏿","👩🏾‍❤️‍💋‍👩🏻","👩🏾‍❤️‍💋‍👩🏼","👩🏾‍❤️‍💋‍👩🏽","👩🏾‍❤️‍💋‍👩🏾","👩🏾‍❤️‍💋‍👩🏿","👩🏿‍❤️‍💋‍👩🏻","👩🏿‍❤️‍💋‍👩🏼","👩🏿‍❤️‍💋‍👩🏽","👩🏿‍❤️‍💋‍👩🏾","👩🏿‍❤️‍💋‍👩🏿","💑","💑🏻","💑🏼","💑🏽","💑🏾","💑🏿","🧑🏻‍❤️‍🧑🏼","🧑🏻‍❤️‍🧑🏽","🧑🏻‍❤️‍🧑🏾","🧑🏻‍❤️‍🧑🏿","🧑🏼‍❤️‍🧑🏻","🧑🏼‍❤️‍🧑🏽","🧑🏼‍❤️‍🧑🏾","🧑🏼‍❤️‍🧑🏿","🧑🏽‍❤️‍🧑🏻","🧑🏽‍❤️‍🧑🏼","🧑🏽‍❤️‍🧑🏾","🧑🏽‍❤️‍🧑🏿","🧑🏾‍❤️‍🧑🏻","🧑🏾‍❤️‍🧑🏼","🧑🏾‍❤️‍🧑🏽","🧑🏾‍❤️‍🧑🏿","🧑🏿‍❤️‍🧑🏻","🧑🏿‍❤️‍🧑🏼","🧑🏿‍❤️‍🧑🏽","🧑🏿‍❤️‍🧑🏾","👩‍❤️‍👨","👩🏻‍❤️‍👨🏻","👩🏻‍❤️‍👨🏼","👩🏻‍❤️‍👨🏽","👩🏻‍❤️‍👨🏾","👩🏻‍❤️‍👨🏿","👩🏼‍❤️‍👨🏻","👩🏼‍❤️‍👨🏼","👩🏼‍❤️‍👨🏽","👩🏼‍❤️‍👨🏾","👩🏼‍❤️‍👨🏿","👩🏽‍❤️‍👨🏻","👩🏽‍❤️‍👨🏼","👩🏽‍❤️‍👨🏽","👩🏽‍❤️‍👨🏾","👩🏽‍❤️‍👨🏿","👩🏾‍❤️‍👨🏻","👩🏾‍❤️‍👨🏼","👩🏾‍❤️‍👨🏽","👩🏾‍❤️‍👨🏾","👩🏾‍❤️‍👨🏿","👩🏿‍❤️‍👨🏻","👩🏿‍❤️‍👨🏼","👩🏿‍❤️‍👨🏽","👩🏿‍❤️‍👨🏾","👩🏿‍❤️‍👨🏿","👨‍❤️‍👨","👨🏻‍❤️‍👨🏻","👨🏻‍❤️‍👨🏼","👨🏻‍❤️‍👨🏽","👨🏻‍❤️‍👨🏾","👨🏻‍❤️‍👨🏿","👨🏼‍❤️‍👨🏻","👨🏼‍❤️‍👨🏼","👨🏼‍❤️‍👨🏽","👨🏼‍❤️‍👨🏾","👨🏼‍❤️‍👨🏿","👨🏽‍❤️‍👨🏻","👨🏽‍❤️‍👨🏼","👨🏽‍❤️‍👨🏽","👨🏽‍❤️‍👨🏾","👨🏽‍❤️‍👨🏿","👨🏾‍❤️‍👨🏻","👨🏾‍❤️‍👨🏼","👨🏾‍❤️‍👨🏽","👨🏾‍❤️‍👨🏾","👨🏾‍❤️‍👨🏿","👨🏿‍❤️‍👨🏻","👨🏿‍❤️‍👨🏼","👨🏿‍❤️‍👨🏽","👨🏿‍❤️‍👨🏾","👨🏿‍❤️‍👨🏿","👩‍❤️‍👩","👩🏻‍❤️‍👩🏻","👩🏻‍❤️‍👩🏼","👩🏻‍❤️‍👩🏽","👩🏻‍❤️‍👩🏾","👩🏻‍❤️‍👩🏿","👩🏼‍❤️‍👩🏻","👩🏼‍❤️‍👩🏼","👩🏼‍❤️‍👩🏽","👩🏼‍❤️‍👩🏾","👩🏼‍❤️‍👩🏿","👩🏽‍❤️‍👩🏻","👩🏽‍❤️‍👩🏼","👩🏽‍❤️‍👩🏽","👩🏽‍❤️‍👩🏾","👩🏽‍❤️‍👩🏿","👩🏾‍❤️‍👩🏻","👩🏾‍❤️‍👩🏼","👩🏾‍❤️‍👩🏽","👩🏾‍❤️‍👩🏾","👩🏾‍❤️‍👩🏿","👩🏿‍❤️‍👩🏻","👩🏿‍❤️‍👩🏼","👩🏿‍❤️‍👩🏽","👩🏿‍❤️‍👩🏾","👩🏿‍❤️‍👩🏿","👪","👨‍👩‍👦","👨‍👩‍👧","👨‍👩‍👧‍👦","👨‍👩‍👦‍👦","👨‍👩‍👧‍👧","👨‍👨‍👦","👨‍👨‍👧","👨‍👨‍👧‍👦","👨‍👨‍👦‍👦","👨‍👨‍👧‍👧","👩‍👩‍👦","👩‍👩‍👧","👩‍👩‍👧‍👦","👩‍👩‍👦‍👦","👩‍👩‍👧‍👧","👨‍👦","👨‍👦‍👦","👨‍👧","👨‍👧‍👦","👨‍👧‍👧","👩‍👦","👩‍👦‍👦","👩‍👧","👩‍👧‍👦","👩‍👧‍👧","🗣️","👤","👥","🫂","👣"],nature:["🐵","🐒","🦍","🦧","🐶","🐕","🦮","🐕‍🦺","🐩","🐺","🦊","🦝","🐱","🐈","🐈‍⬛","🦁","🐯","🐅","🐆","🐴","🐎","🦄","🦓","🦌","🦬","🐮","🐂","🐃","🐄","🐷","🐖","🐗","🐽","🐏","🐑","🐐","🐪","🐫","🦙","🦒","🐘","🦣","🦏","🦛","🐭","🐁","🐀","🐹","🐰","🐇","🐿️","🦫","🦔","🦇","🐻","🐻‍❄️","🐨","🐼","🦥","🦦","🦨","🦘","🦡","🐾","🦃","🐔","🐓","🐣","🐤","🐥","🐦","🐧","🕊️","🦅","🦆","🦢","🦉","🦤","🪶","🦩","🦚","🦜","🐸","🐊","🐢","🦎","🐍","🐲","🐉","🦕","🦖","🐳","🐋","🐬","🦭","🐟","🐠","🐡","🦈","🐙","🐚","🐌","🦋","🐛","🐜","🐝","🪲","🐞","🦗","🪳","🕷️","🕸️","🦂","🦟","🪰","🪱","🦠","💐","🌸","💮","🏵️","🌹","🥀","🌺","🌻","🌼","🌷","🌱","🪴","🌲","🌳","🌴","🌵","🌾","🌿","☘️","🍀","🍁","🍂","🍃"],food:["🍇","🍈","🍉","🍊","🍋","🍌","🍍","🥭","🍎","🍏","🍐","🍑","🍒","🍓","🫐","🥝","🍅","🫒","🥥","🥑","🍆","🥔","🥕","🌽","🌶️","🫑","🥒","🥬","🥦","🧄","🧅","🍄","🥜","🌰","🍞","🥐","🥖","🫓","🥨","🥯","🥞","🧇","🧀","🍖","🍗","🥩","🥓","🍔","🍟","🍕","🌭","🥪","🌮","🌯","🫔","🥙","🧆","🥚","🍳","🥘","🍲","🫕","🥣","🥗","🍿","🧈","🧂","🥫","🍱","🍘","🍙","🍚","🍛","🍜","🍝","🍠","🍢","🍣","🍤","🍥","🥮","🍡","🥟","🥠","🥡","🦀","🦞","🦐","🦑","🦪","🍦","🍧","🍨","🍩","🍪","🎂","🍰","🧁","🥧","🍫","🍬","🍭","🍮","🍯","🍼","🥛","☕","🫖","🍵","🍶","🍾","🍷","🍸","🍹","🍺","🍻","🥂","🥃","🥤","🧋","🧃","🧉","🧊","🥢","🍽️","🍴","🥄","🔪","🏺"],travel:["🌍","🌎","🌏","🌐","🗺️","🗾","🧭","🏔️","⛰️","🌋","🗻","🏕️","🏖️","🏜️","🏝️","🏞️","🏟️","🏛️","🏗️","🧱","🪨","🪵","🛖","🏘️","🏚️","🏠","🏡","🏢","🏣","🏤","🏥","🏦","🏨","🏩","🏪","🏫","🏬","🏭","🏯","🏰","💒","🗼","🗽","⛪","🕌","🛕","🕍","⛩️","🕋","⛲","⛺","🌁","🌃","🏙️","🌄","🌅","🌆","🌇","🌉","♨️","🎠","🎡","🎢","💈","🎪","🚂","🚃","🚄","🚅","🚆","🚇","🚈","🚉","🚊","🚝","🚞","🚋","🚌","🚍","🚎","🚐","🚑","🚒","🚓","🚔","🚕","🚖","🚗","🚘","🚙","🛻","🚚","🚛","🚜","🏎️","🏍️","🛵","🦽","🦼","🛺","🚲","🛴","🛹","🛼","🚏","🛣️","🛤️","🛢️","⛽","🚨","🚥","🚦","🛑","🚧","⚓","⛵","🛶","🚤","🛳️","⛴️","🛥️","🚢","✈️","🛩️","🛫","🛬","🪂","💺","🚁","🚟","🚠","🚡","🛰️","🚀","🛸","🛎️","🧳","⌛","⏳","⌚","⏰","⏱️","⏲️","🕰️","🕛","🕧","🕐","🕜","🕑","🕝","🕒","🕞","🕓","🕟","🕔","🕠","🕕","🕡","🕖","🕢","🕗","🕣","🕘","🕤","🕙","🕥","🕚","🕦","🌑","🌒","🌓","🌔","🌕","🌖","🌗","🌘","🌙","🌚","🌛","🌜","🌡️","☀️","🌝","🌞","🪐","⭐","🌟","🌠","🌌","☁️","⛅","⛈️","🌤️","🌥️","🌦️","🌧️","🌨️","🌩️","🌪️","🌫️","🌬️","🌀","🌈","🌂","☂️","☔","⛱️","⚡","❄️","☃️","⛄","☄️","🔥","💧","🌊"],activity:["🎃","🎄","🎆","🎇","🧨","✨","🎈","🎉","🎊","🎋","🎍","🎎","🎏","🎐","🎑","🧧","🎀","🎁","🎗️","🎟️","🎫","🎖️","🏆","🏅","🥇","🥈","🥉","⚽","⚾","🥎","🏀","🏐","🏈","🏉","🎾","🥏","🎳","🏏","🏑","🏒","🥍","🏓","🏸","🥊","🥋","🥅","⛳","⛸️","🎣","🤿","🎽","🎿","🛷","🥌","🎯","🪀","🪁","🎱","🔮","🪄","🧿","🎮","🕹️","🎰","🎲","🧩","🧸","🪅","🪆","♠️","♥️","♦️","♣️","♟️","🃏","🀄","🎴","🎭","🖼️","🎨","🧵","🪡","🧶","🪢"],object:["👓","🕶️","🥽","🥼","🦺","👔","👕","👖","🧣","🧤","🧥","🧦","👗","👘","🥻","🩱","🩲","🩳","👙","👚","👛","👜","👝","🛍️","🎒","🩴","👞","👟","🥾","🥿","👠","👡","🩰","👢","👑","👒","🎩","🎓","🧢","🪖","⛑️","📿","💄","💍","💎","🔇","🔈","🔉","🔊","📢","📣","📯","🔔","🔕","🎼","🎵","🎶","🎙️","🎚️","🎛️","🎤","🎧","📻","🎷","🪗","🎸","🎹","🎺","🎻","🪕","🥁","🪘","📱","📲","☎️","📞","📟","📠","🔋","🔌","💻","🖥️","🖨️","⌨️","🖱️","🖲️","💽","💾","💿","📀","🧮","🎥","🎞️","📽️","🎬","📺","📷","📸","📹","📼","🔍","🔎","🕯️","💡","🔦","🏮","🪔","📔","📕","📖","📗","📘","📙","📚","📓","📒","📃","📜","📄","📰","🗞️","📑","🔖","🏷️","💰","🪙","💴","💵","💶","💷","💸","💳","🧾","💹","✉️","📧","📨","📩","📤","📥","📦","📫","📪","📬","📭","📮","🗳️","✏️","✒️","🖋️","🖊️","🖌️","🖍️","📝","💼","📁","📂","🗂️","📅","📆","🗒️","🗓️","📇","📈","📉","📊","📋","📌","📍","📎","🖇️","📏","📐","✂️","🗃️","🗄️","🗑️","🔒","🔓","🔏","🔐","🔑","🗝️","🔨","🪓","⛏️","⚒️","🛠️","🗡️","⚔️","🔫","🪃","🏹","🛡️","🪚","🔧","🪛","🔩","⚙️","🗜️","⚖️","🦯","🔗","⛓️","🪝","🧰","🧲","🪜","⚗️","🧪","🧫","🧬","🔬","🔭","📡","💉","🩸","💊","🩹","🩺","🚪","🛗","🪞","🪟","🛏️","🛋️","🪑","🚽","🪠","🚿","🛁","🪤","🪒","🧴","🧷","🧹","🧺","🧻","🪣","🧼","🪥","🧽","🧯","🛒","🚬","⚰️","🪦","⚱️","🗿","🪧"],symbol:["🏧","🚮","🚰","♿","🚹","🚺","🚻","🚼","🚾","🛂","🛃","🛄","🛅","⚠️","🚸","⛔","🚫","🚳","🚭","🚯","🚱","🚷","📵","🔞","☢️","☣️","⬆️","↗️","➡️","↘️","⬇️","↙️","⬅️","↖️","↕️","↔️","↩️","↪️","⤴️","⤵️","🔃","🔄","🔙","🔚","🔛","🔜","🔝","🛐","⚛️","🕉️","✡️","☸️","☯️","✝️","☦️","☪️","☮️","🕎","🔯","♈","♉","♊","♋","♌","♍","♎","♏","♐","♑","♒","♓","⛎","🔀","🔁","🔂","▶️","⏩","⏭️","⏯️","◀️","⏪","⏮️","🔼","⏫","🔽","⏬","⏸️","⏹️","⏺️","⏏️","🎦","🔅","🔆","📶","📳","📴","♀️","♂️","⚧️","✖️","➕","➖","➗","♾️","‼️","⁉️","❓","❔","❕","❗","〰️","💱","💲","⚕️","♻️","⚜️","🔱","📛","🔰","⭕","✅","☑️","✔️","❌","❎","➰","➿","〽️","✳️","✴️","❇️","©️","®️","™️","#️⃣","*️⃣","0️⃣","1️⃣","2️⃣","3️⃣","4️⃣","5️⃣","6️⃣","7️⃣","8️⃣","9️⃣","🔟","🔠","🔡","🔢","🔣","🔤","🅰️","🆎","🅱️","🆑","🆒","🆓","ℹ️","🆔","Ⓜ️","🆕","🆖","🅾️","🆗","🅿️","🆘","🆙","🆚","🈁","🈂️","🈷️","🈶","🈯","🉐","🈹","🈚","🈲","🉑","🈸","🈴","🈳","㊗️","㊙️","🈺","🈵","🔴","🟠","🟡","🟢","🔵","🟣","🟤","⚫","⚪","🟥","🟧","🟨","🟩","🟦","🟪","🟫","⬛","⬜","◼️","◻️","◾","◽","▪️","▫️","🔶","🔷","🔸","🔹","🔺","🔻","💠","🔘","🔳","🔲"],flag:["🏁","🚩","🎌","🏴","🏳️","🏳️‍🌈","🏳️‍⚧️","🏴‍☠️","🇦🇨","🇦🇩","🇦🇪","🇦🇫","🇦🇬","🇦🇮","🇦🇱","🇦🇲","🇦🇴","🇦🇶","🇦🇷","🇦🇸","🇦🇹","🇦🇺","🇦🇼","🇦🇽","🇦🇿","🇧🇦","🇧🇧","🇧🇩","🇧🇪","🇧🇫","🇧🇬","🇧🇭","🇧🇮","🇧🇯","🇧🇱","🇧🇲","🇧🇳","🇧🇴","🇧🇶","🇧🇷","🇧🇸","🇧🇹","🇧🇻","🇧🇼","🇧🇾","🇧🇿","🇨🇦","🇨🇨","🇨🇩","🇨🇫","🇨🇬","🇨🇭","🇨🇮","🇨🇰","🇨🇱","🇨🇲","🇨🇳","🇨🇴","🇨🇵","🇨🇷","🇨🇺","🇨🇻","🇨🇼","🇨🇽","🇨🇾","🇨🇿","🇩🇪","🇩🇬","🇩🇯","🇩🇰","🇩🇲","🇩🇴","🇩🇿","🇪🇦","🇪🇨","🇪🇪","🇪🇬","🇪🇭","🇪🇷","🇪🇸","🇪🇹","🇪🇺","🇫🇮","🇫🇯","🇫🇰","🇫🇲","🇫🇴","🇫🇷","🇬🇦","🇬🇧","🇬🇩","🇬🇪","🇬🇫","🇬🇬","🇬🇭","🇬🇮","🇬🇱","🇬🇲","🇬🇳","🇬🇵","🇬🇶","🇬🇷","🇬🇸","🇬🇹","🇬🇺","🇬🇼","🇬🇾","🇭🇰","🇭🇲","🇭🇳","🇭🇷","🇭🇹","🇭🇺","🇮🇨","🇮🇩","🇮🇪","🇮🇱","🇮🇲","🇮🇳","🇮🇴","🇮🇶","🇮🇷","🇮🇸","🇮🇹","🇯🇪","🇯🇲","🇯🇴","🇯🇵","🇰🇪","🇰🇬","🇰🇭","🇰🇮","🇰🇲","🇰🇳","🇰🇵","🇰🇷","🇰🇼","🇰🇾","🇰🇿","🇱🇦","🇱🇧","🇱🇨","🇱🇮","🇱🇰","🇱🇷","🇱🇸","🇱🇹","🇱🇺","🇱🇻","🇱🇾","🇲🇦","🇲🇨","🇲🇩","🇲🇪","🇲🇫","🇲🇬","🇲🇭","🇲🇰","🇲🇱","🇲🇲","🇲🇳","🇲🇴","🇲🇵","🇲🇶","🇲🇷","🇲🇸","🇲🇹","🇲🇺","🇲🇻","🇲🇼","🇲🇽","🇲🇾","🇲🇿","🇳🇦","🇳🇨","🇳🇪","🇳🇫","🇳🇬","🇳🇮","🇳🇱","🇳🇴","🇳🇵","🇳🇷","🇳🇺","🇳🇿","🇴🇲","🇵🇦","🇵🇪","🇵🇫","🇵🇬","🇵🇭","🇵🇰","🇵🇱","🇵🇲","🇵🇳","🇵🇷","🇵🇸","🇵🇹","🇵🇼","🇵🇾","🇶🇦","🇷🇪","🇷🇴","🇷🇸","🇷🇺","🇷🇼","🇸🇦","🇸🇧","🇸🇨","🇸🇩","🇸🇪","🇸🇬","🇸🇭","🇸🇮","🇸🇯","🇸🇰","🇸🇱","🇸🇲","🇸🇳","🇸🇴","🇸🇷","🇸🇸","🇸🇹","🇸🇻","🇸🇽","🇸🇾","🇸🇿","🇹🇦","🇹🇨","🇹🇩","🇹🇫","🇹🇬","🇹🇭","🇹🇯","🇹🇰","🇹🇱","🇹🇲","🇹🇳","🇹🇴","🇹🇷","🇹🇹","🇹🇻","🇹🇼","🇹🇿","🇺🇦","🇺🇬","🇺🇲","🇺🇳","🇺🇸","🇺🇾","🇺🇿","🇻🇦","🇻🇨","🇻🇪","🇻🇬","🇻🇮","🇻🇳","🇻🇺","🇼🇫","🇼🇸","🇽🇰","🇾🇪","🇾🇹","🇿🇦","🇿🇲","🇿🇼"]},GOt={informational:[100,101,102,103],success:[200,201,202,203,204,205,206,207,208,226],redirection:[300,301,302,303,304,305,306,307,308],clientError:[400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,425,426,428,429,431,451],serverError:[500,501,502,503,504,505,506,507,508,510,511]},XOt={emoji:AOt,http_status_code:GOt},POt=XOt,OOt=[{alpha2:"AD",alpha3:"AND",numeric:"020"},{alpha2:"AE",alpha3:"ARE",numeric:"784"},{alpha2:"AF",alpha3:"AFG",numeric:"004"},{alpha2:"AG",alpha3:"ATG",numeric:"028"},{alpha2:"AI",alpha3:"AIA",numeric:"660"},{alpha2:"AL",alpha3:"ALB",numeric:"008"},{alpha2:"AM",alpha3:"ARM",numeric:"051"},{alpha2:"AO",alpha3:"AGO",numeric:"024"},{alpha2:"AQ",alpha3:"ATA",numeric:"010"},{alpha2:"AR",alpha3:"ARG",numeric:"032"},{alpha2:"AS",alpha3:"ASM",numeric:"016"},{alpha2:"AT",alpha3:"AUT",numeric:"040"},{alpha2:"AU",alpha3:"AUS",numeric:"036"},{alpha2:"AW",alpha3:"ABW",numeric:"533"},{alpha2:"AX",alpha3:"ALA",numeric:"248"},{alpha2:"AZ",alpha3:"AZE",numeric:"031"},{alpha2:"BA",alpha3:"BIH",numeric:"070"},{alpha2:"BB",alpha3:"BRB",numeric:"052"},{alpha2:"BD",alpha3:"BGD",numeric:"050"},{alpha2:"BE",alpha3:"BEL",numeric:"056"},{alpha2:"BF",alpha3:"BFA",numeric:"854"},{alpha2:"BG",alpha3:"BGR",numeric:"100"},{alpha2:"BH",alpha3:"BHR",numeric:"048"},{alpha2:"BI",alpha3:"BDI",numeric:"108"},{alpha2:"BJ",alpha3:"BEN",numeric:"204"},{alpha2:"BL",alpha3:"BLM",numeric:"652"},{alpha2:"BM",alpha3:"BMU",numeric:"060"},{alpha2:"BN",alpha3:"BRN",numeric:"096"},{alpha2:"BO",alpha3:"BOL",numeric:"068"},{alpha2:"BQ",alpha3:"BES",numeric:"535"},{alpha2:"BR",alpha3:"BRA",numeric:"076"},{alpha2:"BS",alpha3:"BHS",numeric:"044"},{alpha2:"BT",alpha3:"BTN",numeric:"064"},{alpha2:"BV",alpha3:"BVT",numeric:"074"},{alpha2:"BW",alpha3:"BWA",numeric:"072"},{alpha2:"BY",alpha3:"BLR",numeric:"112"},{alpha2:"BZ",alpha3:"BLZ",numeric:"084"},{alpha2:"CA",alpha3:"CAN",numeric:"124"},{alpha2:"CC",alpha3:"CCK",numeric:"166"},{alpha2:"CD",alpha3:"COD",numeric:"180"},{alpha2:"CF",alpha3:"CAF",numeric:"140"},{alpha2:"CG",alpha3:"COG",numeric:"178"},{alpha2:"CH",alpha3:"CHE",numeric:"756"},{alpha2:"CI",alpha3:"CIV",numeric:"384"},{alpha2:"CK",alpha3:"COK",numeric:"184"},{alpha2:"CL",alpha3:"CHL",numeric:"152"},{alpha2:"CM",alpha3:"CMR",numeric:"120"},{alpha2:"CN",alpha3:"CHN",numeric:"156"},{alpha2:"CO",alpha3:"COL",numeric:"170"},{alpha2:"CR",alpha3:"CRI",numeric:"188"},{alpha2:"CU",alpha3:"CUB",numeric:"192"},{alpha2:"CV",alpha3:"CPV",numeric:"132"},{alpha2:"CW",alpha3:"CUW",numeric:"531"},{alpha2:"CX",alpha3:"CXR",numeric:"162"},{alpha2:"CY",alpha3:"CYP",numeric:"196"},{alpha2:"CZ",alpha3:"CZE",numeric:"203"},{alpha2:"DE",alpha3:"DEU",numeric:"276"},{alpha2:"DJ",alpha3:"DJI",numeric:"262"},{alpha2:"DK",alpha3:"DNK",numeric:"208"},{alpha2:"DM",alpha3:"DMA",numeric:"212"},{alpha2:"DO",alpha3:"DOM",numeric:"214"},{alpha2:"DZ",alpha3:"DZA",numeric:"012"},{alpha2:"EC",alpha3:"ECU",numeric:"218"},{alpha2:"EE",alpha3:"EST",numeric:"233"},{alpha2:"EG",alpha3:"EGY",numeric:"818"},{alpha2:"EH",alpha3:"ESH",numeric:"732"},{alpha2:"ER",alpha3:"ERI",numeric:"232"},{alpha2:"ES",alpha3:"ESP",numeric:"724"},{alpha2:"ET",alpha3:"ETH",numeric:"231"},{alpha2:"FI",alpha3:"FIN",numeric:"246"},{alpha2:"FJ",alpha3:"FJI",numeric:"242"},{alpha2:"FK",alpha3:"FLK",numeric:"238"},{alpha2:"FM",alpha3:"FSM",numeric:"583"},{alpha2:"FO",alpha3:"FRO",numeric:"234"},{alpha2:"FR",alpha3:"FRA",numeric:"250"},{alpha2:"GA",alpha3:"GAB",numeric:"266"},{alpha2:"GB",alpha3:"GBR",numeric:"826"},{alpha2:"GD",alpha3:"GRD",numeric:"308"},{alpha2:"GE",alpha3:"GEO",numeric:"268"},{alpha2:"GF",alpha3:"GUF",numeric:"254"},{alpha2:"GG",alpha3:"GGY",numeric:"831"},{alpha2:"GH",alpha3:"GHA",numeric:"288"},{alpha2:"GI",alpha3:"GIB",numeric:"292"},{alpha2:"GL",alpha3:"GRL",numeric:"304"},{alpha2:"GM",alpha3:"GMB",numeric:"270"},{alpha2:"GN",alpha3:"GIN",numeric:"324"},{alpha2:"GP",alpha3:"GLP",numeric:"312"},{alpha2:"GQ",alpha3:"GNQ",numeric:"226"},{alpha2:"GR",alpha3:"GRC",numeric:"300"},{alpha2:"GS",alpha3:"SGS",numeric:"239"},{alpha2:"GT",alpha3:"GTM",numeric:"320"},{alpha2:"GU",alpha3:"GUM",numeric:"316"},{alpha2:"GW",alpha3:"GNB",numeric:"624"},{alpha2:"GY",alpha3:"GUY",numeric:"328"},{alpha2:"HK",alpha3:"HKG",numeric:"344"},{alpha2:"HM",alpha3:"HMD",numeric:"334"},{alpha2:"HN",alpha3:"HND",numeric:"340"},{alpha2:"HR",alpha3:"HRV",numeric:"191"},{alpha2:"HT",alpha3:"HTI",numeric:"332"},{alpha2:"HU",alpha3:"HUN",numeric:"348"},{alpha2:"ID",alpha3:"IDN",numeric:"360"},{alpha2:"IE",alpha3:"IRL",numeric:"372"},{alpha2:"IL",alpha3:"ISR",numeric:"376"},{alpha2:"IM",alpha3:"IMN",numeric:"833"},{alpha2:"IN",alpha3:"IND",numeric:"356"},{alpha2:"IO",alpha3:"IOT",numeric:"086"},{alpha2:"IQ",alpha3:"IRQ",numeric:"368"},{alpha2:"IR",alpha3:"IRN",numeric:"364"},{alpha2:"IS",alpha3:"ISL",numeric:"352"},{alpha2:"IT",alpha3:"ITA",numeric:"380"},{alpha2:"JE",alpha3:"JEY",numeric:"832"},{alpha2:"JM",alpha3:"JAM",numeric:"388"},{alpha2:"JO",alpha3:"JOR",numeric:"400"},{alpha2:"JP",alpha3:"JPN",numeric:"392"},{alpha2:"KE",alpha3:"KEN",numeric:"404"},{alpha2:"KG",alpha3:"KGZ",numeric:"417"},{alpha2:"KH",alpha3:"KHM",numeric:"116"},{alpha2:"KI",alpha3:"KIR",numeric:"296"},{alpha2:"KM",alpha3:"COM",numeric:"174"},{alpha2:"KN",alpha3:"KNA",numeric:"659"},{alpha2:"KP",alpha3:"PRK",numeric:"408"},{alpha2:"KR",alpha3:"KOR",numeric:"410"},{alpha2:"KW",alpha3:"KWT",numeric:"414"},{alpha2:"KY",alpha3:"CYM",numeric:"136"},{alpha2:"KZ",alpha3:"KAZ",numeric:"398"},{alpha2:"LA",alpha3:"LAO",numeric:"418"},{alpha2:"LB",alpha3:"LBN",numeric:"422"},{alpha2:"LC",alpha3:"LCA",numeric:"662"},{alpha2:"LI",alpha3:"LIE",numeric:"438"},{alpha2:"LK",alpha3:"LKA",numeric:"144"},{alpha2:"LR",alpha3:"LBR",numeric:"430"},{alpha2:"LS",alpha3:"LSO",numeric:"426"},{alpha2:"LT",alpha3:"LTU",numeric:"440"},{alpha2:"LU",alpha3:"LUX",numeric:"442"},{alpha2:"LV",alpha3:"LVA",numeric:"428"},{alpha2:"LY",alpha3:"LBY",numeric:"434"},{alpha2:"MA",alpha3:"MAR",numeric:"504"},{alpha2:"MC",alpha3:"MCO",numeric:"492"},{alpha2:"MD",alpha3:"MDA",numeric:"498"},{alpha2:"ME",alpha3:"MNE",numeric:"499"},{alpha2:"MF",alpha3:"MAF",numeric:"663"},{alpha2:"MG",alpha3:"MDG",numeric:"450"},{alpha2:"MH",alpha3:"MHL",numeric:"584"},{alpha2:"MK",alpha3:"MKD",numeric:"807"},{alpha2:"ML",alpha3:"MLI",numeric:"466"},{alpha2:"MM",alpha3:"MMR",numeric:"104"},{alpha2:"MN",alpha3:"MNG",numeric:"496"},{alpha2:"MO",alpha3:"MAC",numeric:"446"},{alpha2:"MP",alpha3:"MNP",numeric:"580"},{alpha2:"MQ",alpha3:"MTQ",numeric:"474"},{alpha2:"MR",alpha3:"MRT",numeric:"478"},{alpha2:"MS",alpha3:"MSR",numeric:"500"},{alpha2:"MT",alpha3:"MLT",numeric:"470"},{alpha2:"MU",alpha3:"MUS",numeric:"480"},{alpha2:"MV",alpha3:"MDV",numeric:"462"},{alpha2:"MW",alpha3:"MWI",numeric:"454"},{alpha2:"MX",alpha3:"MEX",numeric:"484"},{alpha2:"MY",alpha3:"MYS",numeric:"458"},{alpha2:"MZ",alpha3:"MOZ",numeric:"508"},{alpha2:"NA",alpha3:"NAM",numeric:"516"},{alpha2:"NC",alpha3:"NCL",numeric:"540"},{alpha2:"NE",alpha3:"NER",numeric:"562"},{alpha2:"NF",alpha3:"NFK",numeric:"574"},{alpha2:"NG",alpha3:"NGA",numeric:"566"},{alpha2:"NI",alpha3:"NIC",numeric:"558"},{alpha2:"NL",alpha3:"NLD",numeric:"528"},{alpha2:"NO",alpha3:"NOR",numeric:"578"},{alpha2:"NP",alpha3:"NPL",numeric:"524"},{alpha2:"NR",alpha3:"NRU",numeric:"520"},{alpha2:"NU",alpha3:"NIU",numeric:"570"},{alpha2:"NZ",alpha3:"NZL",numeric:"554"},{alpha2:"OM",alpha3:"OMN",numeric:"512"},{alpha2:"PA",alpha3:"PAN",numeric:"591"},{alpha2:"PE",alpha3:"PER",numeric:"604"},{alpha2:"PF",alpha3:"PYF",numeric:"258"},{alpha2:"PG",alpha3:"PNG",numeric:"598"},{alpha2:"PH",alpha3:"PHL",numeric:"608"},{alpha2:"PK",alpha3:"PAK",numeric:"586"},{alpha2:"PL",alpha3:"POL",numeric:"616"},{alpha2:"PM",alpha3:"SPM",numeric:"666"},{alpha2:"PN",alpha3:"PCN",numeric:"612"},{alpha2:"PR",alpha3:"PRI",numeric:"630"},{alpha2:"PS",alpha3:"PSE",numeric:"275"},{alpha2:"PT",alpha3:"PRT",numeric:"620"},{alpha2:"PW",alpha3:"PLW",numeric:"585"},{alpha2:"PY",alpha3:"PRY",numeric:"600"},{alpha2:"QA",alpha3:"QAT",numeric:"634"},{alpha2:"RE",alpha3:"REU",numeric:"638"},{alpha2:"RO",alpha3:"ROU",numeric:"642"},{alpha2:"RS",alpha3:"SRB",numeric:"688"},{alpha2:"RU",alpha3:"RUS",numeric:"643"},{alpha2:"RW",alpha3:"RWA",numeric:"646"},{alpha2:"SA",alpha3:"SAU",numeric:"682"},{alpha2:"SB",alpha3:"SLB",numeric:"090"},{alpha2:"SC",alpha3:"SYC",numeric:"690"},{alpha2:"SD",alpha3:"SDN",numeric:"729"},{alpha2:"SE",alpha3:"SWE",numeric:"752"},{alpha2:"SG",alpha3:"SGP",numeric:"702"},{alpha2:"SH",alpha3:"SHN",numeric:"654"},{alpha2:"SI",alpha3:"SVN",numeric:"705"},{alpha2:"SJ",alpha3:"SJM",numeric:"744"},{alpha2:"SK",alpha3:"SVK",numeric:"703"},{alpha2:"SL",alpha3:"SLE",numeric:"694"},{alpha2:"SM",alpha3:"SMR",numeric:"674"},{alpha2:"SN",alpha3:"SEN",numeric:"686"},{alpha2:"SO",alpha3:"SOM",numeric:"706"},{alpha2:"SR",alpha3:"SUR",numeric:"740"},{alpha2:"SS",alpha3:"SSD",numeric:"728"},{alpha2:"ST",alpha3:"STP",numeric:"678"},{alpha2:"SV",alpha3:"SLV",numeric:"222"},{alpha2:"SX",alpha3:"SXM",numeric:"534"},{alpha2:"SY",alpha3:"SYR",numeric:"760"},{alpha2:"SZ",alpha3:"SWZ",numeric:"748"},{alpha2:"TC",alpha3:"TCA",numeric:"796"},{alpha2:"TD",alpha3:"TCD",numeric:"148"},{alpha2:"TF",alpha3:"ATF",numeric:"260"},{alpha2:"TG",alpha3:"TGO",numeric:"768"},{alpha2:"TH",alpha3:"THA",numeric:"764"},{alpha2:"TJ",alpha3:"TJK",numeric:"762"},{alpha2:"TK",alpha3:"TKL",numeric:"772"},{alpha2:"TL",alpha3:"TLS",numeric:"626"},{alpha2:"TM",alpha3:"TKM",numeric:"795"},{alpha2:"TN",alpha3:"TUN",numeric:"788"},{alpha2:"TO",alpha3:"TON",numeric:"776"},{alpha2:"TR",alpha3:"TUR",numeric:"792"},{alpha2:"TT",alpha3:"TTO",numeric:"780"},{alpha2:"TV",alpha3:"TUV",numeric:"798"},{alpha2:"TW",alpha3:"TWN",numeric:"158"},{alpha2:"TZ",alpha3:"TZA",numeric:"834"},{alpha2:"UA",alpha3:"UKR",numeric:"804"},{alpha2:"UG",alpha3:"UGA",numeric:"800"},{alpha2:"UM",alpha3:"UMI",numeric:"581"},{alpha2:"US",alpha3:"USA",numeric:"840"},{alpha2:"UY",alpha3:"URY",numeric:"858"},{alpha2:"UZ",alpha3:"UZB",numeric:"860"},{alpha2:"VA",alpha3:"VAT",numeric:"336"},{alpha2:"VC",alpha3:"VCT",numeric:"670"},{alpha2:"VE",alpha3:"VEN",numeric:"862"},{alpha2:"VG",alpha3:"VGB",numeric:"092"},{alpha2:"VI",alpha3:"VIR",numeric:"850"},{alpha2:"VN",alpha3:"VNM",numeric:"704"},{alpha2:"VU",alpha3:"VUT",numeric:"548"},{alpha2:"WF",alpha3:"WLF",numeric:"876"},{alpha2:"WS",alpha3:"WSM",numeric:"882"},{alpha2:"YE",alpha3:"YEM",numeric:"887"},{alpha2:"YT",alpha3:"MYT",numeric:"175"},{alpha2:"ZA",alpha3:"ZAF",numeric:"710"},{alpha2:"ZM",alpha3:"ZMB",numeric:"894"},{alpha2:"ZW",alpha3:"ZWE",numeric:"716"}],BOt=["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmara","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Atikokan","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Costa_Rica","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fort_Nelson","America/Fortaleza","America/Glace_Bay","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Inuvik","America/Iqaluit","America/Jamaica","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montserrat","America/Nassau","America/New_York","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Nuuk","America/Ojinaga","America/Panama","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Chita","Asia/Choibalsan","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kathmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Riyadh","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kirov","Europe/Kyiv","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zurich","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Kanton","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Wake","Pacific/Wallis"],zOt={country_code:OOt,time_zone:BOt},HOt=zOt,YOt={title:"Base",code:"base"},UOt=YOt,KOt=["/Applications","/bin","/boot","/boot/defaults","/dev","/etc","/etc/defaults","/etc/mail","/etc/namedb","/etc/periodic","/etc/ppp","/home","/home/user","/home/user/dir","/lib","/Library","/lost+found","/media","/mnt","/net","/Network","/opt","/opt/bin","/opt/include","/opt/lib","/opt/sbin","/opt/share","/private","/private/tmp","/private/var","/proc","/rescue","/root","/sbin","/selinux","/srv","/sys","/System","/tmp","/Users","/usr","/usr/X11R6","/usr/bin","/usr/include","/usr/lib","/usr/libdata","/usr/libexec","/usr/local/bin","/usr/local/src","/usr/obj","/usr/ports","/usr/sbin","/usr/share","/usr/src","/var","/var/log","/var/mail","/var/spool","/var/tmp","/var/yp"],JOt={"application/epub+zip":{extensions:["epub"]},"application/gzip":{extensions:["gz"]},"application/java-archive":{extensions:["jar","war","ear"]},"application/json":{extensions:["json","map"]},"application/ld+json":{extensions:["jsonld"]},"application/msword":{extensions:["doc","dot"]},"application/octet-stream":{extensions:["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/ogg":{extensions:["ogx"]},"application/pdf":{extensions:["pdf"]},"application/rtf":{extensions:["rtf"]},"application/vnd.amazon.ebook":{extensions:["azw"]},"application/vnd.apple.installer+xml":{extensions:["mpkg"]},"application/vnd.mozilla.xul+xml":{extensions:["xul"]},"application/vnd.ms-excel":{extensions:["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-fontobject":{extensions:["eot"]},"application/vnd.ms-powerpoint":{extensions:["ppt","pps","pot"]},"application/vnd.oasis.opendocument.presentation":{extensions:["odp"]},"application/vnd.oasis.opendocument.spreadsheet":{extensions:["ods"]},"application/vnd.oasis.opendocument.text":{extensions:["odt"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{extensions:["docx"]},"application/vnd.rar":{extensions:["rar"]},"application/vnd.visio":{extensions:["vsd","vst","vss","vsw"]},"application/x-7z-compressed":{extensions:["7z"]},"application/x-abiword":{extensions:["abw"]},"application/x-bzip":{extensions:["bz"]},"application/x-bzip2":{extensions:["bz2","boz"]},"application/x-csh":{extensions:["csh"]},"application/x-freearc":{extensions:["arc"]},"application/x-httpd-php":{extensions:["php"]},"application/x-sh":{extensions:["sh"]},"application/x-tar":{extensions:["tar"]},"application/xhtml+xml":{extensions:["xhtml","xht"]},"application/xml":{extensions:["xml","xsl","xsd","rng"]},"application/zip":{extensions:["zip"]},"audio/3gpp":{extensions:["3gpp"]},"audio/3gpp2":{extensions:["3g2"]},"audio/aac":{extensions:["aac"]},"audio/midi":{extensions:["mid","midi","kar","rmi"]},"audio/mpeg":{extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/ogg":{extensions:["oga","ogg","spx","opus"]},"audio/opus":{extensions:["opus"]},"audio/wav":{extensions:["wav"]},"audio/webm":{extensions:["weba"]},"font/otf":{extensions:["otf"]},"font/ttf":{extensions:["ttf"]},"font/woff":{extensions:["woff"]},"font/woff2":{extensions:["woff2"]},"image/avif":{extensions:["avif"]},"image/bmp":{extensions:["bmp"]},"image/gif":{extensions:["gif"]},"image/jpeg":{extensions:["jpeg","jpg","jpe"]},"image/png":{extensions:["png"]},"image/svg+xml":{extensions:["svg","svgz"]},"image/tiff":{extensions:["tif","tiff"]},"image/vnd.microsoft.icon":{extensions:["ico"]},"image/webp":{extensions:["webp"]},"text/calendar":{extensions:["ics","ifb"]},"text/css":{extensions:["css"]},"text/csv":{extensions:["csv"]},"text/html":{extensions:["html","htm","shtml"]},"text/javascript":{extensions:["js","mjs"]},"text/plain":{extensions:["txt","text","conf","def","list","log","in","ini"]},"video/3gpp":{extensions:["3gp","3gpp"]},"video/3gpp2":{extensions:["3g2"]},"video/mp2t":{extensions:["ts"]},"video/mp4":{extensions:["mp4","mp4v","mpg4"]},"video/mpeg":{extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/ogg":{extensions:["ogv"]},"video/webm":{extensions:["webm"]},"video/x-msvideo":{extensions:["avi"]}},jOt={directoryPaths:KOt,mimeTypes:JOt},QOt=jOt,$Ot={color:MOt,database:ZOt,hacker:VOt,internet:POt,location:HOt,metadata:UOt,system:QOt},qOt=$Ot,eBt=[{name:"爱琴海航空公司",iataCode:"A3"},{name:"俄罗斯航空公司",iataCode:"SU"},{name:"阿根廷航空公司",iataCode:"AR"},{name:"墨西哥国际航空公司",iataCode:"AM"},{name:"阿尔及利亚航空公司",iataCode:"AH"},{name:"阿拉伯航空公司",iataCode:"G9"},{name:"加拿大航空公司",iataCode:"AC"},{name:"中国国际航空公司",iataCode:"CA"},{name:"西班牙欧洲航空公司",iataCode:"UX"},{name:"法航荷航集团",iataCode:"AF"},{name:"印度国际航空公司",iataCode:"AI"},{name:"毛里求斯航空公司",iataCode:"MK"},{name:"新西兰航空公司",iataCode:"NZ"},{name:"新几内亚航空公司",iataCode:"PX"},{name:"塔希提航空公司",iataCode:"VT"},{name:"大溪地航空公司",iataCode:"TN"},{name:"越洋航空公司",iataCode:"TS"},{name:"亚洲航空X公司",iataCode:"D7"},{name:"亚洲航空公司",iataCode:"AK"},{name:"喀里多尼亚国际航空公司",iataCode:"SB"},{name:"阿拉斯加航空公司",iataCode:"AS"},{name:"意大利航空公司",iataCode:"AZ"},{name:"全日空公司",iataCode:"NH"},{name:"忠实航空公司",iataCode:"G4"},{name:"美国航空公司",iataCode:"AA"},{name:"韩亚航空公司",iataCode:"OZ"},{name:"哥伦比亚航空公司",iataCode:"AV"},{name:"巴西蔚蓝航空公司",iataCode:"AD"},{name:"蓝色航空公司",iataCode:"ZF"},{name:"北京首都航空公司",iataCode:"JD"},{name:"玻利维亚航空公司",iataCode:"OB"},{name:"英国航空公司",iataCode:"BA"},{name:"国泰航空公司",iataCode:"CX"},{name:"宿雾太平洋航空公司",iataCode:"5J"},{name:"中华航空公司",iataCode:"CI"},{name:"中国东方航空公司",iataCode:"MU"},{name:"中国南方航空公司",iataCode:"CZ"},{name:"神鹰航空公司",iataCode:"DE"},{name:"巴拿马航空公司",iataCode:"CM"},{name:"达美航空公司",iataCode:"DL"},{name:"易飞航空公司",iataCode:"VE"},{name:"易捷航空公司",iataCode:"U2"},{name:"埃及航空公司",iataCode:"MS"},{name:"以色列艾拉航空公司",iataCode:"LY"},{name:"阿联酋航空公司",iataCode:"EK"},{name:"埃塞俄比亚航空公司",iataCode:"ET"},{name:"阿提哈德航空公司",iataCode:"EY"},{name:"长荣航空公司",iataCode:"BR"},{name:"斐济航空公司",iataCode:"FJ"},{name:"芬兰航空公司",iataCode:"AY"},{name:"迪拜航空公司公司",iataCode:"FZ"},{name:"边疆航空公司",iataCode:"F9"},{name:"印度尼西亚鹰航空公司",iataCode:"GA"},{name:"高尔航空公司",iataCode:"G3"},{name:"海南航空公司",iataCode:"HU"},{name:"夏威夷航空公司",iataCode:"HA"},{name:"靛蓝航空公司",iataCode:"6E"},{name:"日本航空公司",iataCode:"JL"},{name:"济州航空公司",iataCode:"7C"},{name:"捷特二航空公司",iataCode:"LS"},{name:"捷蓝航空公司",iataCode:"B6"},{name:"上海吉祥航空公司",iataCode:"HO"},{name:"肯尼亚航空公司",iataCode:"KQ"},{name:"大韩航空公司",iataCode:"KE"},{name:"酷路拉航空航空公司",iataCode:"MN"},{name:"南美航空公司",iataCode:"LA"},{name:"狮子航空公司",iataCode:"JT"},{name:"波兰航空公司",iataCode:"LO"},{name:"德国汉莎航空公司",iataCode:"LH"},{name:"利比亚阿拉伯航空公司",iataCode:"LN"},{name:"玻利维亚亚马孙航空公司",iataCode:"Z8"},{name:"马来西亚航空公司",iataCode:"MH"},{name:"北风航空公司",iataCode:"N4"},{name:"挪威穿梭航空公司",iataCode:"DY"},{name:"阿曼航空公司",iataCode:"WY"},{name:"巴基斯坦国际航空公司",iataCode:"PK"},{name:"飞马航空公司",iataCode:"PC"},{name:"菲律宾航空公司",iataCode:"PR"},{name:"澳洲航空公司",iataCode:"QF"},{name:"卡塔尔航空公司",iataCode:"QR"},{name:"共和航空公司",iataCode:"YX"},{name:"摩洛哥皇家航空公司",iataCode:"AT"},{name:"瑞安航空公司",iataCode:"FR"},{name:"西伯利亚航空公司",iataCode:"S7"},{name:"北欧航空公司",iataCode:"SK"},{name:"沙特阿拉伯航空公司",iataCode:"SV"},{name:"山东航空公司",iataCode:"SC"},{name:"四川航空公司",iataCode:"3U"},{name:"新加坡航空公司",iataCode:"SQ"},{name:"天空航空公司",iataCode:"H2"},{name:"天西航空公司",iataCode:"OO"},{name:"南非航空公司",iataCode:"SA"},{name:"西南航空公司",iataCode:"WN"},{name:"香料航空公司",iataCode:"SG"},{name:"精神航空公司",iataCode:"NK"},{name:"春秋航空公司",iataCode:"9S"},{name:"斯里兰卡航空公司",iataCode:"UL"},{name:"秘鲁星航空公司",iataCode:"2I"},{name:"太阳城航空公司",iataCode:"SY"},{name:"阳光快运航空",iataCode:"XQ"},{name:"葡萄牙航空公司",iataCode:"TP"},{name:"泰国亚洲航空",iataCode:"FD"},{name:"泰国航空公司",iataCode:"TG"},{name:"途易飞航空",iataCode:"BY"},{name:"突尼斯航空公司",iataCode:"TU"},{name:"土耳其航空公司",iataCode:"TK"},{name:"乌克兰国际航空公司",iataCode:"PS"},{name:"美国联合航空公司",iataCode:"UA"},{name:"乌拉航空公司",iataCode:"U6"},{name:"越南越捷航空公司",iataCode:"VJ"},{name:"越南航空公司",iataCode:"VN"},{name:"维珍航空公司",iataCode:"VS"},{name:"维珍蓝航空公司",iataCode:"VA"},{name:"万岁空中巴士航空公司",iataCode:"VB"},{name:"巴西航空公司",iataCode:"2Z"},{name:"沃拉里斯航空公司",iataCode:"Y4"},{name:"西捷航空公司",iataCode:"WS"},{name:"温戈航空公司",iataCode:"P5"},{name:"维兹航空公司",iataCode:"W6"}],tBt=[{name:"航天/BAC协和式飞机",iataTypeCode:"SSC"},{name:"空客A300",iataTypeCode:"AB3"},{name:"空客A310",iataTypeCode:"310"},{name:"空客A310-200",iataTypeCode:"312"},{name:"空客A310-300",iataTypeCode:"313"},{name:"空客A318",iataTypeCode:"318"},{name:"空客A319",iataTypeCode:"319"},{name:"空客A319neo",iataTypeCode:"31N"},{name:"空客A320",iataTypeCode:"320"},{name:"空客A320neo",iataTypeCode:"32N"},{name:"空客A321",iataTypeCode:"321"},{name:"空客A321neo",iataTypeCode:"32Q"},{name:"空客A330",iataTypeCode:"330"},{name:"空客A330-200",iataTypeCode:"332"},{name:"空客A330-300",iataTypeCode:"333"},{name:"空客A330-800neo",iataTypeCode:"338"},{name:"空客A330-900neo",iataTypeCode:"339"},{name:"空客A340",iataTypeCode:"340"},{name:"空客A340-200",iataTypeCode:"342"},{name:"空客A340-300",iataTypeCode:"343"},{name:"空客A340-500",iataTypeCode:"345"},{name:"空客A340-600",iataTypeCode:"346"},{name:"空客A350",iataTypeCode:"350"},{name:"空客A350-900",iataTypeCode:"359"},{name:"空客A350-1000",iataTypeCode:"351"},{name:"空客A380",iataTypeCode:"380"},{name:"空客A380-800",iataTypeCode:"388"},{name:"安东诺夫 安-12",iataTypeCode:"ANF"},{name:"安东诺夫 安-24",iataTypeCode:"AN4"},{name:"安东诺夫 安-26",iataTypeCode:"A26"},{name:"安东诺夫 安-28",iataTypeCode:"A28"},{name:"安东诺夫 安-30",iataTypeCode:"A30"},{name:"安东诺夫 安-32",iataTypeCode:"A32"},{name:"安东诺夫 安-72",iataTypeCode:"AN7"},{name:"安东诺夫 安-124 Ruslan",iataTypeCode:"A4F"},{name:"安东诺夫 安-140",iataTypeCode:"A40"},{name:"安东诺夫 安-148",iataTypeCode:"A81"},{name:"安东诺夫 安-158",iataTypeCode:"A58"},{name:"安东诺夫 安-225 Mriya",iataTypeCode:"A5F"},{name:"波音707",iataTypeCode:"703"},{name:"波音717",iataTypeCode:"717"},{name:"波音720B",iataTypeCode:"B72"},{name:"波音727",iataTypeCode:"727"},{name:"波音727-100",iataTypeCode:"721"},{name:"波音727-200",iataTypeCode:"722"},{name:"波音737 MAX 7",iataTypeCode:"7M7"},{name:"波音737 MAX 8",iataTypeCode:"7M8"},{name:"波音737 MAX 9",iataTypeCode:"7M9"},{name:"波音737 MAX 10",iataTypeCode:"7MJ"},{name:"波音737",iataTypeCode:"737"},{name:"波音737-100",iataTypeCode:"731"},{name:"波音737-200",iataTypeCode:"732"},{name:"波音737-300",iataTypeCode:"733"},{name:"波音737-400",iataTypeCode:"734"},{name:"波音737-500",iataTypeCode:"735"},{name:"波音737-600",iataTypeCode:"736"},{name:"波音737-700",iataTypeCode:"73G"},{name:"波音737-800",iataTypeCode:"738"},{name:"波音737-900",iataTypeCode:"739"},{name:"波音747",iataTypeCode:"747"},{name:"波音747-100",iataTypeCode:"741"},{name:"波音747-200",iataTypeCode:"742"},{name:"波音747-300",iataTypeCode:"743"},{name:"波音747-400",iataTypeCode:"744"},{name:"波音747-400D",iataTypeCode:"74J"},{name:"波音747-8",iataTypeCode:"748"},{name:"波音747SP",iataTypeCode:"74L"},{name:"波音747SR",iataTypeCode:"74R"},{name:"波音757",iataTypeCode:"757"},{name:"波音757-200",iataTypeCode:"752"},{name:"波音757-300",iataTypeCode:"753"},{name:"波音767",iataTypeCode:"767"},{name:"波音767-200",iataTypeCode:"762"},{name:"波音767-300",iataTypeCode:"763"},{name:"波音767-400",iataTypeCode:"764"},{name:"波音777",iataTypeCode:"777"},{name:"波音777-200",iataTypeCode:"772"},{name:"波音777-200LR",iataTypeCode:"77L"},{name:"波音777-300",iataTypeCode:"773"},{name:"波音777-300ER",iataTypeCode:"77W"},{name:"波音787",iataTypeCode:"787"},{name:"波音787-8",iataTypeCode:"788"},{name:"波音787-9",iataTypeCode:"789"},{name:"波音787-10",iataTypeCode:"781"},{name:"加拿大挑战者飞机",iataTypeCode:"CCJ"},{name:"加拿大CL-44",iataTypeCode:"CL4"},{name:"加拿大支线喷气机100",iataTypeCode:"CR1"},{name:"加拿大支线喷气机200",iataTypeCode:"CR2"},{name:"加拿大支线喷气机700",iataTypeCode:"CR7"},{name:"加拿大支线喷气机705",iataTypeCode:"CRA"},{name:"加拿大支线喷气机900",iataTypeCode:"CR9"},{name:"加拿大支线喷气机1000",iataTypeCode:"CRK"},{name:"加拿大德哈维兰DHC-2 Beaver",iataTypeCode:"DHP"},{name:"加拿大德哈维兰DHC-2 Turbo-Beaver",iataTypeCode:"DHR"},{name:"加拿大德哈维兰DHC-3 Otter",iataTypeCode:"DHL"},{name:"加拿大德哈维兰DHC-4 Caribou",iataTypeCode:"DHC"},{name:"加拿大德哈维兰DHC-6 Twin Otter",iataTypeCode:"DHT"},{name:"加拿大德哈维兰DHC-7 Dash 7",iataTypeCode:"DH7"},{name:"加拿大德哈维兰DHC-8-100 Dash 8 / 8Q",iataTypeCode:"DH1"},{name:"加拿大德哈维兰DHC-8-200 Dash 8 / 8Q",iataTypeCode:"DH2"},{name:"加拿大德哈维兰DHC-8-300 Dash 8 / 8Q",iataTypeCode:"DH3"},{name:"加拿大德哈维兰DHC-8-400 Dash 8Q",iataTypeCode:"DH4"},{name:"德哈维兰DH.104 Dove",iataTypeCode:"DHD"},{name:"德哈维兰DH.114 Heron",iataTypeCode:"DHH"},{name:"道格拉斯DC-3",iataTypeCode:"D3F"},{name:"道格拉斯DC-6",iataTypeCode:"D6F"},{name:"道格拉斯DC-8-50",iataTypeCode:"D8T"},{name:"道格拉斯DC-8-62",iataTypeCode:"D8L"},{name:"道格拉斯DC-8-72",iataTypeCode:"D8Q"},{name:"道格拉斯DC-9-10",iataTypeCode:"D91"},{name:"道格拉斯DC-9-20",iataTypeCode:"D92"},{name:"道格拉斯DC-9-30",iataTypeCode:"D93"},{name:"道格拉斯DC-9-40",iataTypeCode:"D94"},{name:"道格拉斯DC-9-50",iataTypeCode:"D95"},{name:"道格拉斯DC-10",iataTypeCode:"D10"},{name:"道格拉斯DC-10-10",iataTypeCode:"D1X"},{name:"道格拉斯DC-10-30",iataTypeCode:"D1Y"},{name:"巴西工业航空公司170",iataTypeCode:"E70"},{name:"巴西工业航空公司175",iataTypeCode:"E75"},{name:"巴西工业航空公司190",iataTypeCode:"E90"},{name:"巴西工业航空公司195",iataTypeCode:"E95"},{name:"巴西工业航空公司E190-E2",iataTypeCode:"290"},{name:"巴西工业航空公司E195-E2",iataTypeCode:"295"},{name:"巴西工业航空公司EMB.110 Bandeirante",iataTypeCode:"EMB"},{name:"巴西工业航空公司EMB.120 Brasilia",iataTypeCode:"EM2"},{name:"巴西工业航空公司Legacy 600",iataTypeCode:"ER3"},{name:"巴西工业航空公司Phenom 100",iataTypeCode:"EP1"},{name:"巴西工业航空公司Phenom 300",iataTypeCode:"EP3"},{name:"巴西工业航空公司RJ135",iataTypeCode:"ER3"},{name:"巴西工业航空公司RJ140",iataTypeCode:"ERD"},{name:"巴西工业航空公司RJ145 Amazon",iataTypeCode:"ER4"},{name:"伊留申IL18",iataTypeCode:"IL8"},{name:"伊留申IL62",iataTypeCode:"IL6"},{name:"伊留申IL76",iataTypeCode:"IL7"},{name:"伊留申IL86",iataTypeCode:"ILW"},{name:"伊留申IL96-300",iataTypeCode:"I93"},{name:"伊留申IL114",iataTypeCode:"I14"},{name:"洛克希德L-182 / 282 / 382 (L-100) Hercules",iataTypeCode:"LOH"},{name:"洛克希德L-188 Electra",iataTypeCode:"LOE"},{name:"洛克希德L-1011 Tristar",iataTypeCode:"L10"},{name:"洛克希德L-1049 Super Constellation",iataTypeCode:"L49"},{name:"麦克唐纳道格拉斯MD11",iataTypeCode:"M11"},{name:"麦克唐纳道格拉斯MD80",iataTypeCode:"M80"},{name:"麦克唐纳道格拉斯MD81",iataTypeCode:"M81"},{name:"麦克唐纳道格拉斯MD82",iataTypeCode:"M82"},{name:"麦克唐纳道格拉斯MD83",iataTypeCode:"M83"},{name:"麦克唐纳道格拉斯MD87",iataTypeCode:"M87"},{name:"麦克唐纳道格拉斯MD88",iataTypeCode:"M88"},{name:"麦克唐纳道格拉斯MD90",iataTypeCode:"M90"},{name:"苏霍伊超级喷气机100-95",iataTypeCode:"SU9"},{name:"图波列夫Tu-134",iataTypeCode:"TU3"},{name:"图波列夫Tu-154",iataTypeCode:"TU5"},{name:"图波列夫Tu-204",iataTypeCode:"T20"},{name:"雅科夫列夫Yak-40",iataTypeCode:"YK4"},{name:"雅科夫列夫Yak-42",iataTypeCode:"YK2"}],nBt=[{name:"阿德莱德国际机场",iataCode:"ADL"},{name:"阿道弗·苏亚雷斯马德里-巴拉哈斯机场",iataCode:"MAD"},{name:"豪尔赫纽伯里机场机场",iataCode:"AEP"},{name:"阿方索·佩纳国际机场",iataCode:"CWB"},{name:"阿方索·博尼利亚·阿拉贡国际机场",iataCode:"CLO"},{name:"阿姆斯特丹史基浦机场",iataCode:"AMS"},{name:"阿图罗·梅里诺·贝尼特斯国际机场",iataCode:"SCL"},{name:"奥克兰国际机场",iataCode:"AKL"},{name:"北京首都国际机场",iataCode:"PEK"},{name:"贝伦瓦德坎斯国际机场",iataCode:"BEL"},{name:"贝洛奥里藏特坦克雷多·内维斯国际机场",iataCode:"CNF"},{name:"柏林泰格尔机场",iataCode:"TXL"},{name:"博乐国际机场",iataCode:"ADD"},{name:"巴西利亚儒塞利诺·库比契克总统国际机场",iataCode:"BSB"},{name:"布里斯班国际机场",iataCode:"BNE"},{name:"布里斯班机场",iataCode:"BRU"},{name:"凯恩斯机场",iataCode:"CNS"},{name:"开罗国际机场",iataCode:"CAI"},{name:"堪培拉机场",iataCode:"CBR"},{name:"开普敦国际机场",iataCode:"CPT"},{name:"戴高乐国际机场",iataCode:"CDG"},{name:"夏洛特道格拉斯国际机场",iataCode:"CLT"},{name:"成都双流国际机场",iataCode:"CTU"},{name:"贾特拉帕蒂·希瓦吉国际机场",iataCode:"BOM"},{name:"芝加哥奥黑尔国际机场",iataCode:"ORD"},{name:"重庆江北国际机场",iataCode:"CKG"},{name:"基督城国际机场",iataCode:"CHC"},{name:"哥本哈根卡斯特鲁普机场",iataCode:"CPH"},{name:"达拉斯沃思堡国际机场",iataCode:"DFW"},{name:"丹尼尔·井上国际机场",iataCode:"HNL"},{name:"丹佛国际机场",iataCode:"DEN"},{name:"廊曼国际机场",iataCode:"DMK"},{name:"迪拜国际机场",iataCode:"DXB"},{name:"都柏林机场",iataCode:"DUB"},{name:"杜塞尔多夫机场",iataCode:"DUS"},{name:"埃尔多拉多国际机场",iataCode:"BOG"},{name:"埃莱夫塞里奥斯·韦尼泽洛斯国际机场",iataCode:"ATH"},{name:"法阿国际机场",iataCode:"PPT"},{name:"劳德代尔堡好莱坞国际机场",iataCode:"FLL"},{name:"福塔莱萨平托马丁斯国际机场",iataCode:"FOR"},{name:"美因河畔法兰克福机场",iataCode:"FRA"},{name:"休斯顿机场乔治·布什洲际酒店",iataCode:"IAH"},{name:"黄金海岸机场",iataCode:"OOL"},{name:"瓜鲁柳斯 - 安德烈·佛朗哥·蒙托罗州长国际机场",iataCode:"GRU"},{name:"哈兹菲尔德-杰克逊亚特兰大国际机场",iataCode:"ATL"},{name:"赫尔辛基万塔机场",iataCode:"HEL"},{name:"霍巴特国际机场",iataCode:"HBA"},{name:"香港国际机场",iataCode:"HKG"},{name:"胡阿里·布迈丁机场",iataCode:"ALG"},{name:"赫尔格达国际机场",iataCode:"HRG"},{name:"仁川国际机场",iataCode:"ICN"},{name:"英迪拉·甘地国际机场",iataCode:"DEL"},{name:"伊斯坦布尔机场",iataCode:"IST"},{name:"杰克逊国际机场",iataCode:"POM"},{name:"济州国际机场",iataCode:"CJU"},{name:"约翰肯尼迪国际机场",iataCode:"JFK"},{name:"豪尔赫·查韦斯国际机场",iataCode:"LIM"},{name:"何塞·玛丽亚·科尔多瓦国际机场",iataCode:"MDE"},{name:"何塞普·塔拉德拉斯巴塞罗那埃尔普拉特机场",iataCode:"BCN"},{name:"卡胡卢伊机场",iataCode:"OGG"},{name:"阿卜杜勒阿齐兹国王国际机场",iataCode:"JED"},{name:"吉隆坡国际机场",iataCode:"KUL"},{name:"昆明长水国际机场",iataCode:"KMG"},{name:"拉通图塔国际机场",iataCode:"NOU"},{name:"莱昂纳多达芬奇-菲乌米奇诺机场",iataCode:"FCO"},{name:"伦敦希思罗机场",iataCode:"LHR"},{name:"洛杉矶国际机场",iataCode:"LAX"},{name:"麦卡伦国际机场",iataCode:"LAS"},{name:"墨尔本国际机场",iataCode:"MEL"},{name:"墨西哥城国际机场",iataCode:"MEX"},{name:"迈阿密国际机场",iataCode:"MIA"},{name:"皮斯塔里尼部长国际机场",iataCode:"EZE"},{name:"明尼阿波利斯-圣保罗国际机场/沃尔德-张伯伦机场",iataCode:"MSP"},{name:"穆罕默德五世国际机场",iataCode:"CMN"},{name:"莫斯科多莫杰多沃机场",iataCode:"DME"},{name:"慕尼黑机场",iataCode:"MUC"},{name:"穆尔塔拉穆罕默德国际机场",iataCode:"LOS"},{name:"楠迪国际机场",iataCode:"NAN"},{name:"内罗毕乔莫肯雅塔国际机场",iataCode:"NBO"},{name:"成田国际机场",iataCode:"NRT"},{name:"纽瓦克自由国际机场",iataCode:"EWR"},{name:"尼诺·阿基诺国际机场",iataCode:"MNL"},{name:"努美阿洋红色机场",iataCode:"GEA"},{name:"奥利弗·R·坦博国际机场",iataCode:"JNB"},{name:"奥兰多国际机场",iataCode:"MCO"},{name:"奥斯陆卢夫塔文机场",iataCode:"OSL"},{name:"珀斯机场",iataCode:"PER"},{name:"凤凰城天港国际机场",iataCode:"PHX"},{name:"累西腓瓜拉拉佩斯-吉尔伯托弗雷尔国际机场",iataCode:"REC"},{name:"里约热内卢加利昂国际机场",iataCode:"GIG"},{name:"萨尔加多菲略国际机场",iataCode:"POA"},{name:"萨尔瓦多·德普塔多·路易斯·爱德华多·马加良斯国际机场",iataCode:"SSA"},{name:"旧金山国际机场",iataCode:"SFO"},{name:"桑托斯·杜蒙特机场",iataCode:"SDU"},{name:"圣保罗孔戈尼亚斯机场",iataCode:"CGH"},{name:"西雅图塔科马国际机场",iataCode:"SEA"},{name:"上海虹桥国际机场",iataCode:"SHA"},{name:"上海浦东国际机场",iataCode:"PVG"},{name:"深圳宝安国际机场",iataCode:"SZX"},{name:"谢列梅捷沃国际机场",iataCode:"SVO"},{name:"新加坡樟宜机场",iataCode:"SIN"},{name:"苏加诺-哈达国际机场",iataCode:"CGK"},{name:"斯德哥尔摩-阿兰达机场",iataCode:"ARN"},{name:"素万那普机场",iataCode:"BKK"},{name:"悉尼金斯福德史密斯国际机场",iataCode:"SYD"},{name:"台湾桃园国际机场",iataCode:"TPE"},{name:"新山一国际机场",iataCode:"SGN"},{name:"东京羽田国际机场",iataCode:"HND"},{name:"多伦多皮尔逊国际机场",iataCode:"YYZ"},{name:"突尼斯迦太基国际机场",iataCode:"TUN"},{name:"温哥华国际机场",iataCode:"YVR"},{name:"维也纳国际机场",iataCode:"VIE"},{name:"维拉科波斯国际机场",iataCode:"VCP"},{name:"伏努科沃国际机场",iataCode:"VKO"},{name:"惠灵顿国际机场",iataCode:"WLG"},{name:"西安咸阳国际机场",iataCode:"XIY"},{name:"茹科夫斯基国际机场",iataCode:"ZIA"},{name:"苏黎世机场",iataCode:"ZRH"}],iBt={airline:eBt,airplane:tBt,airport:nBt},rBt=iBt,oBt=["大熊猫","眼镜熊","太阳熊","懒熊","美洲黑熊","亚洲黑熊","棕熊","北极熊"],sBt=["中华田园猫","中国狸花猫","山东狮子猫","玄猫","黑白花猫","三花猫","玳瑁猫","橘猫","四川简州猫","中国大白猫","美国短毛猫","英国短毛猫","加菲猫","波斯猫","布偶猫","苏格兰折耳猫","暹罗猫","斯芬克斯猫","德文卷毛猫","阿比西尼亚猫"],aBt=["藏獒","袖狗","拉萨狮子犬","西藏狮子犬","松狮犬","中国冠毛犬","西施犬","沙皮犬","八哥犬","西藏獚","中华田园犬","下司犬","北京犬","西藏梗","柴犬","哈士奇","德国牧羊犬","边境牧羊犬","贵兵犬","秋田犬","罗威纳犬","蝴蝶犬","英国斗牛犬","阿富汗猎犬","萨摩耶犬","大白熊犬","比利时牧羊犬","美国爱斯基摩犬","彭布罗克威尔士柯基犬","墨西哥无毛犬"],lBt=["草鱼","鲶鱼","鳙鱼","鲤鱼","金鱼","胭脂鱼","中华鲟","长江白鲟","新疆大头鱼","青鱼","鲫鱼"],uBt=["蒙古马","伊利马","三河马","河曲马"],cBt=["熊","猫","狗","鱼","马"],dBt={bear:oBt,cat:sBt,dog:aBt,fish:lBt,horse:uBt,type:cBt},hBt=dBt,mBt=["红色","绿色","蓝色","黄色","紫色","薄荷绿色","蓝绿色","白色","黑色","橙色","粉红色","灰色","红褐色","蓝紫色","青绿色","棕褐色","天蓝色","浅橙色","紫红色","淡紫色","淡褐色","青柠色","乳白色","靛蓝色","金色","银色"],fBt={human:mBt},gBt=fBt,pBt=["书籍","电影","音乐","游戏","电子","电脑","主页","花园","工具","杂货","健康","美丽","玩具","孩子","宝宝","服装","鞋子","珠宝","运动","户外","汽车","工业"],bBt=["人体工学椅电脑椅家用宿舍学生学习椅舒适久坐办公座椅转椅书桌椅","鼠标有线USB静音无声家用办公台式笔记本电脑家用商务电竞男","台式电脑机械硬盘SATA串口320G 500G 1TB 2T 3TB 4TB支持游戏监控","【2023新品官方旗舰正品】DERE戴睿笔记本电脑二合一新Surface Pro13平板商务办公学生教育超轻薄便携电脑本","华为笔记本电脑MateBook X Pro 2023 13代酷睿版锐炬显卡14.2英寸3.1K原色触控屏超轻薄旗舰微绒典藏1943","可选16G【M2芯片】Apple/苹果 MacBook Pro 13英寸笔记本电脑剪辑设计大学生办公专用正品分期24G","Sony/索尼 XR-55A80EK 55英寸4K超清认知智能OLED安卓摄像头电视","小米电视 Redmi A43 高清智能电视 43英寸液晶平板电视L43RA-RA","【新品享壕礼】vivo iQOO Z8x手机官方旗舰店新品上市官网正品学生大电池大内存手机iqoo z7 z7x","【至高立省300元 赠数据线】vivo Y78新品全面屏游戏拍照学生5G智能手机大电池官方旗舰店老人机Y78+ Y77"],vBt={adjective:["小的","人体工程学的","电子的","质朴的","智能的","华丽的","不可思议的","优雅的","精彩绝伦的","实用的","现代的","回收的","圆滑的","定制的","贼好用的","通用的","手工的","手工制作的","东方的","已许可的","豪华的","精致的","无品牌的","好吃"],material:["钢","青铜","木制","混凝土","塑料","棉花","花岗岩","橡胶","金属","软","新鲜","冷冻"],product:["椅子","汽车","电脑","键盘","鼠标","自行车","球","手套","裤子","衬衫","桌子","鞋子","帽子","毛巾","肥皂","金枪鱼","鸡肉","鱼肉","奶酪","培根","披萨","沙拉","香肠","薯条"]},yBt={department:pBt,product_description:bBt,product_name:vBt},CBt=yBt,wBt=["水产","林业","矿业","建设","食品","印刷","电力","燃气","网络科技","物流","保险","旅游发展","传媒","运输"],SBt=["{{location.state}}{{person.first_name}}{{company.category}}{{company.type}}","{{location.city}}{{person.first_name}}{{company.category}}{{company.type}}"],xBt=["有限责任公司","股份有限公司","有限公司","(集团)有限公司","集团有限公司","无限公司","无限责任公司"],LBt={category:wBt,name_pattern:SBt,type:xBt},_Bt=LBt,FBt=["标识","标题","名称","邮箱","手机","令牌","组别","类别","密码","注释","头像","状态","创建于","更新于"],IBt={column:FBt},DBt=IBt,MBt={wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],abbr:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]},kBt={wide:["星期天","星期一","星期二","星期三","星期四","星期五","星期六"],abbr:["周日","周一","周二","周三","周四","周五","周六"]},NBt={month:MBt,weekday:kBt},TBt=NBt,EBt=["支票","储蓄","货币市场","投资","房屋贷款","信用卡","汽车贷款","个人贷款"],ZBt=["5[1-5]##-####-####-###L","2[221-720]-####-####-###L"],WBt=["62#############L","67#############L","81#############L","81##############L","81###############L","81################L"],RBt=["4###########L","4###-####-####-###L"],VBt={mastercard:ZBt,unionpay:WBt,visa:RBt},ABt=VBt,GBt=[{name:"阿联酋迪拉姆",code:"AED",symbol:""},{name:"阿富汗尼",code:"AFN",symbol:"؋"},{name:"列克",code:"ALL",symbol:"Lek"},{name:"亚美尼亚德拉姆",code:"AMD",symbol:""},{name:"荷属安的列斯盾",code:"ANG",symbol:"ƒ"},{name:"宽扎",code:"AOA",symbol:""},{name:"阿根廷比索",code:"ARS",symbol:"$"},{name:"澳大利亚元",code:"AUD",symbol:"$"},{name:"阿鲁巴弗罗林",code:"AWG",symbol:"ƒ"},{name:"阿塞拜疆马纳特",code:"AZN",symbol:"ман"},{name:"可兑换马克",code:"BAM",symbol:"KM"},{name:"巴巴多斯元",code:"BBD",symbol:"$"},{name:"孟加拉塔卡",code:"BDT",symbol:""},{name:"保加利亚列弗",code:"BGN",symbol:"лв"},{name:"巴林第纳尔",code:"BHD",symbol:""},{name:"布隆迪法郎",code:"BIF",symbol:""},{name:"百慕大元(通常称为百慕大元)",code:"BMD",symbol:"$"},{name:"文莱元",code:"BND",symbol:"$"},{name:"玻利维亚诺",code:"BOB",symbol:"Bs"},{name:"巴西雷亚尔",code:"BRL",symbol:"R$"},{name:"巴哈马元",code:"BSD",symbol:"$"},{name:"普拉",code:"BWP",symbol:"P"},{name:"白俄罗斯卢布",code:"BYN",symbol:"Rbl"},{name:"伯利兹元",code:"BZD",symbol:"BZ$"},{name:"加拿大元",code:"CAD",symbol:"$"},{name:"刚果法郎",code:"CDF",symbol:""},{name:"瑞士法郎",code:"CHF",symbol:"CHF"},{name:"智利比索",code:"CLP",symbol:"$"},{name:"人民币",code:"CNY",symbol:"¥"},{name:"哥伦比亚比索",code:"COP",symbol:"$"},{name:"哥斯达黎加科朗",code:"CRC",symbol:"₡"},{name:"古巴比索",code:"CUP",symbol:"₱"},{name:"佛得角埃斯库多",code:"CVE",symbol:""},{name:"捷克克朗",code:"CZK",symbol:"Kč"},{name:"吉布提法郎",code:"DJF",symbol:""},{name:"丹麦克朗",code:"DKK",symbol:"kr"},{name:"多米尼加比索",code:"DOP",symbol:"RD$"},{name:"阿尔及利亚第纳尔",code:"DZD",symbol:""},{name:"埃及镑",code:"EGP",symbol:"£"},{name:"纳克法",code:"ERN",symbol:""},{name:"埃塞俄比亚比尔",code:"ETB",symbol:""},{name:"欧元",code:"EUR",symbol:"€"},{name:"斐济元",code:"FJD",symbol:"$"},{name:"福克兰群岛镑",code:"FKP",symbol:"£"},{name:"英镑",code:"GBP",symbol:"£"},{name:"格鲁吉亚拉里",code:"GEL",symbol:""},{name:"塞地",code:"GHS",symbol:""},{name:"直布罗陀镑",code:"GIP",symbol:"£"},{name:"达尔西",code:"GMD",symbol:""},{name:"几内亚法郎",code:"GNF",symbol:""},{name:"格查尔",code:"GTQ",symbol:"Q"},{name:"圭亚那元",code:"GYD",symbol:"$"},{name:"港元",code:"HKD",symbol:"$"},{name:"伦皮拉",code:"HNL",symbol:"L"},{name:"古德",code:"HTG",symbol:""},{name:"福林特",code:"HUF",symbol:"Ft"},{name:"印度尼西亚卢比",code:"IDR",symbol:"Rp"},{name:"新以色列谢克尔",code:"ILS",symbol:"₪"},{name:"不丹努扎姆",code:"BTN",symbol:"Nu"},{name:"印度卢比",code:"INR",symbol:"₹"},{name:"伊拉克第纳尔",code:"IQD",symbol:""},{name:"伊朗里亚尔",code:"IRR",symbol:"﷼"},{name:"冰岛克朗",code:"ISK",symbol:"kr"},{name:"牙买加元",code:"JMD",symbol:"J$"},{name:"约旦第纳尔",code:"JOD",symbol:""},{name:"日元",code:"JPY",symbol:"¥"},{name:"肯尼亚先令",code:"KES",symbol:""},{name:"吉尔吉斯斯坦索姆",code:"KGS",symbol:"лв"},{name:"瑞尔",code:"KHR",symbol:"៛"},{name:"科摩罗法郎",code:"KMF",symbol:""},{name:"朝鲜圆",code:"KPW",symbol:"₩"},{name:"韩元",code:"KRW",symbol:"₩"},{name:"科威特第纳尔",code:"KWD",symbol:""},{name:"开曼群岛元",code:"KYD",symbol:"$"},{name:"坚戈",code:"KZT",symbol:"лв"},{name:"基普",code:"LAK",symbol:"₭"},{name:"黎巴嫩镑",code:"LBP",symbol:"£"},{name:"斯里兰卡卢比",code:"LKR",symbol:"₨"},{name:"利比里亚元",code:"LRD",symbol:"$"},{name:"利比亚第纳尔",code:"LYD",symbol:""},{name:"摩洛哥迪拉姆",code:"MAD",symbol:""},{name:"摩尔多瓦列伊",code:"MDL",symbol:""},{name:"马达加斯加阿里亚里",code:"MGA",symbol:""},{name:"马其顿代纳尔",code:"MKD",symbol:"ден"},{name:"缅甸元",code:"MMK",symbol:""},{name:"图格里克",code:"MNT",symbol:"₮"},{name:"澳门元",code:"MOP",symbol:""},{name:"乌吉亚",code:"MRU",symbol:""},{name:"毛里求斯卢比",code:"MUR",symbol:"₨"},{name:"拉菲亚",code:"MVR",symbol:""},{name:"克瓦查",code:"MWK",symbol:""},{name:"墨西哥比索",code:"MXN",symbol:"$"},{name:"马来西亚林吉特",code:"MYR",symbol:"RM"},{name:"莫桑比克梅蒂卡尔",code:"MZN",symbol:"MT"},{name:"奈拉",code:"NGN",symbol:"₦"},{name:"科多巴金科多巴",code:"NIO",symbol:"C$"},{name:"挪威克朗",code:"NOK",symbol:"kr"},{name:"尼泊尔卢比",code:"NPR",symbol:"₨"},{name:"新西兰元",code:"NZD",symbol:"$"},{name:"阿曼里亚尔",code:"OMR",symbol:"﷼"},{name:"巴尔博亚",code:"PAB",symbol:"B/."},{name:"秘鲁新索尔",code:"PEN",symbol:"S/."},{name:"基纳",code:"PGK",symbol:""},{name:"菲律宾比索",code:"PHP",symbol:"Php"},{name:"巴基斯坦卢比",code:"PKR",symbol:"₨"},{name:"兹罗提",code:"PLN",symbol:"zł"},{name:"巴拉圭瓜拉尼",code:"PYG",symbol:"Gs"},{name:"卡塔尔里亚尔",code:"QAR",symbol:"﷼"},{name:"新卢",code:"RON",symbol:"lei"},{name:"塞尔维亚第纳尔",code:"RSD",symbol:"Дин."},{name:"俄罗斯卢布",code:"RUB",symbol:"руб"},{name:"卢旺达法郎",code:"RWF",symbol:""},{name:"沙特里亚尔",code:"SAR",symbol:"﷼"},{name:"所罗门群岛元",code:"SBD",symbol:"$"},{name:"塞舌尔卢比",code:"SCR",symbol:"₨"},{name:"苏丹镑",code:"SDG",symbol:""},{name:"瑞典克朗",code:"SEK",symbol:"kr"},{name:"新加坡元",code:"SGD",symbol:"$"},{name:"圣赫勒拿镑",code:"SHP",symbol:"£"},{name:"利昂",code:"SLE",symbol:""},{name:"索马里先令",code:"SOS",symbol:"S"},{name:"苏里南元",code:"SRD",symbol:"$"},{name:"南苏丹镑",code:"SSP",symbol:""},{name:"多布拉",code:"STN",symbol:"Db"},{name:"叙利亚镑",code:"SYP",symbol:"£"},{name:"利兰吉尼",code:"SZL",symbol:""},{name:"泰铢",code:"THB",symbol:"฿"},{name:"索莫尼",code:"TJS",symbol:""},{name:"马纳特",code:"TMT",symbol:""},{name:"突尼斯第纳尔",code:"TND",symbol:""},{name:"帕安加",code:"TOP",symbol:""},{name:"土耳其里拉",code:"TRY",symbol:"₺"},{name:"特立尼达和多巴哥元",code:"TTD",symbol:"TT$"},{name:"新台币",code:"TWD",symbol:"NT$"},{name:"坦桑尼亚先令",code:"TZS",symbol:""},{name:"格里夫尼亚",code:"UAH",symbol:"₴"},{name:"乌干达先令",code:"UGX",symbol:""},{name:"美元",code:"USD",symbol:"$"},{name:"乌拉圭比索",code:"UYU",symbol:"$U"},{name:"乌兹别克索姆",code:"UZS",symbol:"лв"},{name:"委内瑞拉玻利瓦尔",code:"VES",symbol:"Bs"},{name:"越南盾",code:"VND",symbol:"₫"},{name:"瓦图",code:"VUV",symbol:""},{name:"塔拉",code:"WST",symbol:""},{name:"科姆罗尔法郎",code:"XAF",symbol:""},{name:"银",code:"XAG",symbol:"XAG"},{name:"金",code:"XAU",symbol:"XAU"},{name:"东加勒比元",code:"XCD",symbol:"$"},{name:"特别提款权",code:"XDR",symbol:"XDR"},{name:"中非金融合作法郎",code:"XOF",symbol:""},{name:"波利尼西亚法郎",code:"XPF",symbol:""},{name:"也门里亚尔",code:"YER",symbol:"﷼"},{name:"南非兰特",code:"ZAR",symbol:"R"},{name:"赞比亚克瓦查",code:"ZMW",symbol:"ZK"},{name:"津巴布韦元",code:"ZWL",symbol:"$"}],XBt=["存款","取款","支付","开票"],PBt={account_type:EBt,credit_card:ABt,currency:GBt,transaction_type:XBt},OBt=PBt,BBt=["辅助","主要","后端","开源","虚拟","跨平台","冗余","在线","触控","多字节","蓝牙","无线","全高清","神经元","光学","固态","移动"],zBt=["驱动","协议","带宽","面板","芯片","程序","端口","卡片","数组","接口","系统","传感器","防火墙","硬盘","像素","警报","提要","监视器","应用","发送端","总线","电路","电容器","矩阵"],HBt=["倘若我们{{verb}}{{noun}},我们就可以通过{{adjective}}{{abbreviation}}{{noun}}获得{{abbreviation}}{{noun}}!","我们需要{{verb}}{{adjective}}{{abbreviation}}{{noun}}!","尝试{{verb}}{{abbreviation}}{{noun}},也许会{{verb}}{{adjective}}{{noun}}!","在没有{{verb}}{{adjective}}{{abbreviation}}{{noun}}的情况下,你不能{{verb}}{{noun}}!","使用{{adjective}}{{abbreviation}}{{noun}},然后你就能{{verb}}{{adjective}}{{noun}}!","{{abbreviation}}{{noun}}已关闭,因为{{adjective}}{{noun}}所以我们能{{verb}}{{abbreviation}}{{noun}}!","{{verb}}{{noun}}是无济于事的,我们需要{{verb}}{{adjective}}{{abbreviation}}{{noun}}!","我将{{verb}}{{adjective}}{{abbreviation}}{{noun}},那是应该{{noun}}{{abbreviation}}{{noun}}!"],YBt=["备份","绕过","入侵","覆盖","压缩","复制","导航","索引","链接","生成","量化","计算","合成","输入","传输","编程","重启","解析"],UBt={adjective:BBt,noun:zBt,phrase:HBt,verb:YBt},KBt=UBt,JBt=["126.com","139.com","163.com","21cn.com","gmail.com","hotmail.com","qq.com","sina.com","sohu.com","tom.com","vip.qq.com","yahoo.cn","yahoo.com.cn","yeah.net","foxmail.com","outlook.com"],jBt={free_email:JBt},QBt=jBt,$Bt=["#####","####","###","##","#"],qBt=["{{location.city_prefix}}{{location.city_suffix}}"],ezt=["上","包","北","南","厦","吉","太","宁","安","成","武","济","海","珠","福","衡","西","诸","贵","长"],tzt=["乡县","京市","南市","原市","口市","头市","宁市","安市","州市","徽市","林市","汉市","沙市","海市","码市","都市","门市","阳市"],nzt=["中国"],izt=["######"],rzt=["北京市","上海市","天津市","重庆市","黑龙江省","吉林省","辽宁省","内蒙古自治区","河北省","新疆维吾尔自治区","甘肃省","青海省","陕西省","宁夏回族自治区","河南省","山东省","山西省","安徽省","湖北省","湖南省","江苏省","四川省","贵州省","云南省","广西壮族自治区","西藏自治区","浙江省","江西省","广东省","福建省","海南省"],ozt=["北京","上海","天津","重庆","黑龙江","吉林","辽阳","内蒙古","河北","新疆","甘肃","青海","陕西","宁夏","河南","山东","山西","合肥","湖北","湖南","苏州","四川","贵州","云南","广西","西藏","浙江","江西","广东","福建","海南"],szt={normal:"{{location.street}}{{location.buildingNumber}}号",full:"{{location.street}}{{location.buildingNumber}}号 {{location.secondaryAddress}}"},azt=["{{person.last_name}}{{location.street_suffix}}"],lzt=["巷","街","路","桥","侬","旁","中心","栋"],uzt={building_number:$Bt,city_pattern:qBt,city_prefix:ezt,city_suffix:tzt,default_country:nzt,postcode:izt,state:rzt,state_abbr:ozt,street_address:szt,street_pattern:azt,street_suffix:lzt},czt=uzt,dzt={title:"Chinese (China)",code:"zh_CN",country:"CN",language:"zh",endonym:"中文 (中国)",dir:"ltr",script:"Hans"},hzt=dzt,mzt=["摇滚","流行","重金属","电子","民谣","世界","乡村","爵士","放克","灵魂","嘻哈","经典","拉丁","牙买加","蓝调","非音乐","说唱","舞台与银幕"],fzt=["白月光与朱砂痣","孤勇者","稻香","起风了","纪念","晴天","兰亭序","我流泪情绪零碎","七里香","花海","反方向的钟","一路向北","蒲公英的约定","夜曲","搁浅","海底","105度的你","明明就","爱在西元前","我如此相信","枫","青花瓷","半岛铁盒","说了再见","暗号","退后","最长的电影","等你下课","烟花易冷","不该","告白气球","说好不哭","轨迹","红尘客栈","不能说的秘密","珊瑚海","给我一首歌的时间","你听得到","简单的爱","龙卷风","发如雪","园游会","听妈妈的话","夜的第七章","接口","手写从前","安静","爱情废材","以父之名","我不配","最伟大的作品","可爱女人","彩虹","回到过去","听悲伤的情话","把回忆拼好给你","东风破","黑色毛衣","本草纲目","开不了口","霍元甲","爱的飞行日记","大本钟","断了的弦","爷爷泡的茶","星晴","甜甜的","红颜如霜","粉色海洋","她的睫毛","雨下一整晚","白色风车","还在流浪","阳光宅男","算什么男人","菊花台","千里之外","错过的烟火","倒影","听见下雨的声音","黑色幽默","默","不爱我拉倒","之战之殇","布拉格广场","美人鱼","分裂","心雨","米兰的小铁匠","世界末日","一点点","外婆","画沙","哪里都是你","刀马旦","超人不会飞","牛仔很忙","周大侠","飘移","忍者","夏日妄想","铃芽之旅","玫瑰少年","大鱼","灯火里的中国","义勇军进行曲","调查中","少年","堕","在你身边","悬溺","奢香夫人","最好的安排","夏至未至","小城夏天","暖暖"],gzt={genre:mzt,song_name:fzt},pzt=gzt,bzt=["活动家","艺术家","作家","博主","企业家","教练","发明家","设计师","开发者","教育家","工程师","企业主","环保主义者","电影爱好者","电影制片人","美食家","创始人","朋友","玩家","极客","毕业生","创造者","领导者","模特","脑力爱好者","父母","爱国者","个人","哲学家","摄影爱好者","公众演说家","科学家","梦想家","学生","老师","旅行家","退伍军人","作者"],vzt=["{{person.bio_part}}","{{person.bio_part}},{{person.bio_part}}","{{person.bio_part}},{{person.bio_part}},{{person.bio_part}}","{{person.bio_part}},{{person.bio_part}},{{person.bio_part}}{{internet.emoji}}","{{word.noun}}{{person.bio_supporter}}","{{word.noun}}{{person.bio_supporter}}{{internet.emoji}}","{{word.noun}}{{person.bio_supporter}},{{person.bio_part}}","{{word.noun}}{{person.bio_supporter}},{{person.bio_part}}{{internet.emoji}}"],yzt=["倡导者","贡献者","发烧友","粉丝","狂热者","爱好者","支持者"],Czt=["秀英","秀兰","秀珍","桂英","桂兰","玉兰","玉珍","玉英","玉梅","凤英","兰英","婷婷","国英","国珍","国华","国芳","国兰","国秀","国琴","国荣","国香","英","萍","蒙","红","丽","敏","芳","静","霞","燕","娟","艳","娜","丹","玲","婷","珈","雪","倩","悦","颖","洁","慧","开慧","丽芬","丽芳","丽萍","若汐","一诺","艺涵","依诺","梓涵","梓晨","梓馨","梓萱","梓妍","梓玥","苡沫","雨桐","欣怡","语桐","语汐","雨涵","雨欣","诗雨","婷方","美方","雅婷","紫林","天娇","万佳","子欣","海燕","乙萍","安琪","馨羽","馥君","思佳","雅鑫","静怡","晨阳","佳琪","雯静","榕融"],wzt=null,Szt=["乐驹","伟宸","伟泽","伟祺","伟诚","俊驰","修杰","修洁","健柏","健雄","凯瑞","博文","博涛","博超","君浩","哲瀚","嘉懿","嘉熙","天宇","天磊","天翊","子涵","子轩","子骞","子默","展鹏","峻熙","建辉","弘文","彬","志强","志泽","思","思淼","思源","思聪","思远","懿轩","振家","擎宇","擎苍","文","文博","文昊","文轩","旭尧","昊天","昊强","昊焱","昊然","明","明哲","明杰","明轩","明辉","晋鹏","晓博","晓啸","晟睿","智宸","智渊","智辉","果","梓晨","楷瑞","正豪","泽洋","浩","浩宇","浩然","浩轩","涛","潇然","炎彬","炫明","烨伟","烨华","烨磊","烨霖","煜城","煜祺","熠彤","琪","瑞霖","瑾瑜","皓轩","睿渊","立果","立诚","立轩","立辉","笑愚","绍辉","绍齐","耀杰","聪健","胤祥","致远","航","苑博","荣轩","语堂","越彬","越泽","远航","金鑫","鑫磊","鑫鹏","钰轩","锦程","雨泽","雪松","靖琪","风华","驰","鸿涛","鸿煊","鹏","鹏涛","鹏煊","鹏飞","鹤轩","鹭洋","黎昕","诗雨","婷方","美方","雅婷","紫林","天娇","万佳","子欣","海燕","乙萍","安琪","馨羽","馥君","思佳","雅鑫","静怡","晨阳","佳琪","雯静","榕融","浩辰","癸霖","一全","三锋","义轩","俊凯","子豪","振东","智杰","哲新","中海","超栋","治涛","治文","文韬","敬彪","敬阳","政君","立伟","呈轩"],xzt=["赵","钱","孙","李","周","吴","郑","王","冯","陈","褚","卫","蒋","沈","韩","杨","朱","秦","尤","许","何","吕","施","张","孔","曹","严","华","金","魏","陶","姜","戚","谢","邹","喻","柏","水","窦","章","云","苏","潘","葛","奚","范","彭","郎","鲁","韦","昌","马","苗","凤","花","方","俞","任","袁","柳","酆","鲍","史","唐","费","廉","岑","薛","雷","贺","倪","汤","滕","殷","罗","毕","郝","邬","安","常","乐","于","时","傅","皮","卞","齐","康","伍","余","元","卜","顾","孟","平","黄","和","穆","萧","尹","姚","邵","湛","汪","祁","毛","禹","狄","米","贝","明","臧","计","伏","成","戴","谈","宋","茅","庞","熊","纪","舒","屈","项","祝","董","梁","杜","阮","蓝","闵","席","季","麻","强","贾","路","娄","危","江","童","颜","郭","梅","盛","林","刁","锺","徐","邱","骆","高","夏","蔡","田","樊","胡","凌","蹇","称","诺","来","多","繁","戊","朴","回","毓","税","荤","靖","绪","愈","硕","牢","买","但","巧","枚","撒","泰","秘","亥","绍","以","壬","森","斋","释","奕","姒","朋","求","羽","用","占","真","穰","翦","闾","漆","贵","代","贯","旁","崇","栋","告","休","褒","谏","锐","皋","闳","在","歧","禾","示","是","委","钊","频","嬴","呼","大","威","昂","律","冒","保","系","抄","定","化","莱","校","么","抗","祢","綦","悟","宏","功","庚","务","敏","捷","拱","兆","丑","丙","畅","苟","随","类","卯","俟","友","答","乙","允","甲","留","尾","佼","玄","乘","裔","延","植","环","矫","赛","昔","侍","度","旷","遇","偶","前","由","咎","塞","敛","受","泷","袭","衅","叔","圣","御","夫","仆","镇","藩","邸","府","掌","首","员","焉","戏","可","智","尔","凭","悉","进","笃","厚","仁","业","肇","资","合","仍","九","衷","哀","刑","俎","仵","圭","夷","徭","蛮","汗","孛","乾","帖","罕","洛","淦","洋","邶","郸","郯","邗","邛","剑","虢","隋","蒿","茆","菅","苌","树","桐","锁","钟","机","盘","铎","斛","玉","线","针","箕","庹","绳","磨","蒉","瓮","弭","刀","疏","牵","浑","恽","势","世","仝","同","蚁","止","戢","睢","冼","种","涂","肖","己","泣","潜","卷","脱","谬","蹉","赧","浮","顿","说","次","错","念","夙","斯","完","丹","表","聊","源","姓","吾","寻","展","出","不","户","闭","才","无","书","学","愚","本","性","雪","霜","烟","寒","少","字","桥","板","斐","独","千","诗","嘉","扬","善","揭","祈","析","赤","紫","青","柔","刚","奇","拜","佛","陀","弥","阿","素","长","僧","隐","仙","隽","宇","祭","酒","淡","塔","琦","闪","始","星","南","天","接","波","碧","速","禚","腾","潮","镜","似","澄","潭","謇","纵","渠","奈","风","春","濯","沐","茂","英","兰","檀","藤","枝","检","生","折","登","驹","骑","貊","虎","肥","鹿","雀","野","禽","飞","节","宜","鲜","粟","栗","豆","帛","官","布","衣","藏","宝","钞","银","门","盈","庆","喜","及","普","建","营","巨","望","希","道","载","声","漫","犁","力","贸","勤","革","改","兴","亓","睦","修","信","闽","北","守","坚","勇","汉","练","尉","士","旅","五","令","将","旗","军","行","奉","敬","恭","仪","母","堂","丘","义","礼","慈","孝","理","伦","卿","问","永","辉","位","让","尧","依","犹","介","承","市","所","苑","杞","剧","第","零","谌","招","续","达","忻","六","鄞","战","迟","候","宛","励","粘","萨","邝","覃","辜","初","楼","城","区","局","台","原","考","妫","纳","泉","老","清","德","卑","过","麦","曲","竹","百","福","言","霍","虞","万","支","柯","昝","管","卢","莫","经","房","裘","缪","干","解","应","宗","丁","宣","贲","邓","单","杭","洪","包","诸","左","石","崔","吉","钮","龚","程","嵇","邢","滑","裴","陆","荣","翁","荀","羊","於","惠","甄","麴","家","封","芮","羿","储","靳","汲","邴","糜","松","井","段","富","巫","乌","焦","巴","弓","牧","隗","山","谷","车","侯","宓","蓬","全","郗","班","仰","秋","仲","伊","宫","宁","仇","栾","暴","甘","钭","历","戎","祖","武","符","刘","景","詹","束","龙","叶","幸","司","韶","郜","黎","蓟","溥","印","宿","白","怀","蒲","邰","召","有","舜","拉","丛","岳","寸","贰","皇","侨","彤","竭","端","赫","实","甫","集","象","翠","狂","辟","典","良","函","芒","苦","其","京","中","夕","之","从","鄂","索","咸","籍","赖","卓","蔺","屠","蒙","池","乔","阳","郁","胥","能","苍","双","闻","莘","党","翟","谭","贡","劳","逄","姬","申","扶","堵","冉","宰","郦","雍","却","璩","桑","桂","濮","牛","寿","通","边","扈","燕","冀","僪","浦","尚","农","温","别","庄","晏","柴","瞿","阎","充","慕","连","茹","习","宦","艾","鱼","容","向","古","易","慎","戈","廖","庾","终","暨","居","衡","步","都","耿","满","弘","匡","国","文","琴","况","亢","缑","帅","寇","广","禄","阙","东","欧","殳","沃","利","蔚","越","夔","隆","师","巩","厍","聂","晁","勾","敖","融","冷","訾","辛","阚","那","简","饶","空","曾","毋","沙","乜","养","鞠","须","丰","巢","关","蒯","相","查","后","荆","红","游","特","察","竺","冠","宾","香","赏","伯","佴","佘","佟","爱","年","笪","谯","哈","墨","牟","商","海","归","钦","鄢","汝","法","闫","楚","晋","督","仉","盖","逯","库","郏","逢","阴","薄","厉","稽","开","光","操","瑞","眭","泥","运","摩","伟","铁","迮","果","权","逮","盍","益","桓","公","万俟","司马","上官","欧阳","夏侯","诸葛","闻人","东方","赫连","皇甫","尉迟","公羊","澹台","公冶","宗政","濮阳","淳于","单于","太叔","申屠","公孙","仲孙","轩辕","令狐","钟离","宇文","长孙","慕容","司徒","司空","章佳","那拉","觉罗","纳喇","乌雅","范姜","碧鲁"],Lzt=[{value:"{{person.last_name}}",weight:1}],_zt=["建华","建国","建军","国强","国平","国良","国栋","国辉","志国","志明","勇","军","伟","强","刚","涛","斌","波","辉","磊","超","鹏","杰","浩","鑫","帅","宇","晨","诚","成","民","明","阳","瑜","熙成","熙瑶","家豪","家明","俊杰","俊熙","沐宸","浩宇","浩然","浩轩","浩晨","沐辰","茗泽","奕辰","奕泽","宇泽","宇轩","宇航","沐阳","梓诚","梓豪","梓睿","梓浩","浩辰","癸霖","一全","三锋","义轩","俊凯","子豪","振东","智杰","哲新","文昊","中海","超栋","治涛","治文","文韬","敬彪","敬阳","政君","立伟","呈轩"],Fzt=null,Izt=[{value:"{{person.lastName}}{{person.firstName}}",weight:1}],Dzt=null,Mzt={bio_part:bzt,bio_pattern:vzt,bio_supporter:yzt,female_first_name:Czt,female_prefix:wzt,first_name:Szt,last_name:xzt,last_name_pattern:Lzt,male_first_name:_zt,male_prefix:Fzt,name:Izt,prefix:Dzt},kzt=Mzt,Nzt=["0##-########","0###-########","1##########"],Tzt={formats:Nzt},Ezt=Tzt,Zzt=Object.freeze([{symbol:"H",name:"氢",atomicNumber:1},{symbol:"He",name:"氦",atomicNumber:2},{symbol:"Li",name:"锂",atomicNumber:3},{symbol:"Be",name:"铍",atomicNumber:4},{symbol:"B",name:"硼",atomicNumber:5},{symbol:"C",name:"碳",atomicNumber:6},{symbol:"N",name:"氮",atomicNumber:7},{symbol:"O",name:"氧",atomicNumber:8},{symbol:"F",name:"氟",atomicNumber:9},{symbol:"Ne",name:"氖",atomicNumber:10},{symbol:"Na",name:"钠",atomicNumber:11},{symbol:"Mg",name:"镁",atomicNumber:12},{symbol:"Al",name:"铝",atomicNumber:13},{symbol:"Si",name:"硅",atomicNumber:14},{symbol:"P",name:"磷",atomicNumber:15},{symbol:"S",name:"硫",atomicNumber:16},{symbol:"Cl",name:"氯",atomicNumber:17},{symbol:"Ar",name:"氩",atomicNumber:18},{symbol:"K",name:"钾",atomicNumber:19},{symbol:"Ca",name:"钙",atomicNumber:20},{symbol:"Sc",name:"钪",atomicNumber:21},{symbol:"Ti",name:"钛",atomicNumber:22},{symbol:"V",name:"钒",atomicNumber:23},{symbol:"Cr",name:"铬",atomicNumber:24},{symbol:"Mn",name:"锰",atomicNumber:25},{symbol:"Fe",name:"铁",atomicNumber:26},{symbol:"Co",name:"钴",atomicNumber:27},{symbol:"Ni",name:"镍",atomicNumber:28},{symbol:"Cu",name:"铜",atomicNumber:29},{symbol:"Zn",name:"锌",atomicNumber:30},{symbol:"Ga",name:"镓",atomicNumber:31},{symbol:"Ge",name:"锗",atomicNumber:32},{symbol:"As",name:"砷",atomicNumber:33},{symbol:"Se",name:"硒",atomicNumber:34},{symbol:"Br",name:"溴",atomicNumber:35},{symbol:"Kr",name:"氪",atomicNumber:36},{symbol:"Rb",name:"铷",atomicNumber:37},{symbol:"Sr",name:"锶",atomicNumber:38},{symbol:"Y",name:"钇",atomicNumber:39},{symbol:"Zr",name:"锆",atomicNumber:40},{symbol:"Nb",name:"铌",atomicNumber:41},{symbol:"Mo",name:"钼",atomicNumber:42},{symbol:"Tc",name:"Technetium",atomicNumber:43},{symbol:"Ru",name:"锝",atomicNumber:44},{symbol:"Rh",name:"锝",atomicNumber:45},{symbol:"Pd",name:"钯",atomicNumber:46},{symbol:"Ag",name:"银",atomicNumber:47},{symbol:"Cd",name:"镉",atomicNumber:48},{symbol:"In",name:"铟",atomicNumber:49},{symbol:"Sn",name:"锡",atomicNumber:50},{symbol:"Sb",name:"锑",atomicNumber:51},{symbol:"Te",name:"碲",atomicNumber:52},{symbol:"I",name:"碘",atomicNumber:53},{symbol:"Xe",name:"氙",atomicNumber:54},{symbol:"Cs",name:"铯",atomicNumber:55},{symbol:"Ba",name:"钡",atomicNumber:56},{symbol:"La",name:"镧",atomicNumber:57},{symbol:"Ce",name:"铈",atomicNumber:58},{symbol:"Pr",name:"镨",atomicNumber:59},{symbol:"Nd",name:"钕",atomicNumber:60},{symbol:"Pm",name:"钷",atomicNumber:61},{symbol:"Sm",name:"钐",atomicNumber:62},{symbol:"Eu",name:"铕",atomicNumber:63},{symbol:"Gd",name:"钆",atomicNumber:64},{symbol:"Tb",name:"铽",atomicNumber:65},{symbol:"Dy",name:"钬",atomicNumber:66},{symbol:"Ho",name:"钬",atomicNumber:67},{symbol:"Er",name:"铥",atomicNumber:68},{symbol:"Tm",name:"铥",atomicNumber:69},{symbol:"Yb",name:"镱",atomicNumber:70},{symbol:"Lu",name:"镥",atomicNumber:71},{symbol:"Hf",name:"铪",atomicNumber:72},{symbol:"Ta",name:"钽",atomicNumber:73},{symbol:"W",name:"钨",atomicNumber:74},{symbol:"Re",name:"铼",atomicNumber:75},{symbol:"Os",name:"锇",atomicNumber:76},{symbol:"Ir",name:"铱",atomicNumber:77},{symbol:"Pt",name:"铂",atomicNumber:78},{symbol:"Au",name:"金",atomicNumber:79},{symbol:"Hg",name:"汞",atomicNumber:80},{symbol:"Tl",name:"铊",atomicNumber:81},{symbol:"Pb",name:"铅",atomicNumber:82},{symbol:"Bi",name:"铋",atomicNumber:83},{symbol:"Po",name:"钋",atomicNumber:84},{symbol:"At",name:"砹",atomicNumber:85},{symbol:"Rn",name:"氡",atomicNumber:86},{symbol:"Fr",name:"钫",atomicNumber:87},{symbol:"Ra",name:"镭",atomicNumber:88},{symbol:"Ac",name:"锕",atomicNumber:89},{symbol:"Th",name:"钍",atomicNumber:90},{symbol:"Pa",name:"镎",atomicNumber:91},{symbol:"U",name:"镎",atomicNumber:92},{symbol:"Np",name:"镎",atomicNumber:93},{symbol:"Pu",name:"钚",atomicNumber:94},{symbol:"Am",name:"镅",atomicNumber:95},{symbol:"Cm",name:"锔",atomicNumber:96},{symbol:"Bk",name:"锫",atomicNumber:97},{symbol:"Cf",name:"锎",atomicNumber:98},{symbol:"Es",name:"锿",atomicNumber:99},{symbol:"Fm",name:"镄",atomicNumber:100},{symbol:"Md",name:"钔",atomicNumber:101},{symbol:"No",name:"锘",atomicNumber:102},{symbol:"Lr",name:"铹",atomicNumber:103},{symbol:"Rf",name:"𬬻",atomicNumber:104},{symbol:"Db",name:"𬭊",atomicNumber:105},{symbol:"Sg",name:"𬭳",atomicNumber:106},{symbol:"Bh",name:"𬭛",atomicNumber:107},{symbol:"Hs",name:"𬭶",atomicNumber:108},{symbol:"Mt",name:"鿏",atomicNumber:109},{symbol:"Ds",name:"𫟼",atomicNumber:110},{symbol:"Rg",name:"𬬭",atomicNumber:111},{symbol:"Cn",name:"鿔",atomicNumber:112},{symbol:"Nh",name:"鿭",atomicNumber:113},{symbol:"Fl",name:"𫓧",atomicNumber:114},{symbol:"Mc",name:"镆",atomicNumber:115},{symbol:"Lv",name:"𫟷",atomicNumber:116},{symbol:"Ts",name:"钿",atomicNumber:117},{symbol:"Og",name:"鿫",atomicNumber:118}]),Wzt=Object.freeze([{name:"米",symbol:"m"},{name:"秒",symbol:"s"},{name:"摩尔",symbol:"mol"},{name:"安培",symbol:"A"},{name:"开尔文",symbol:"K"},{name:"坎德拉",symbol:"cd"},{name:"千克",symbol:"kg"},{name:"弧度",symbol:"rad"},{name:"赫兹",symbol:"Hz"},{name:"牛顿",symbol:"N"},{name:"帕斯卡",symbol:"Pa"},{name:"焦耳",symbol:"J"},{name:"瓦特",symbol:"W"},{name:"库伦",symbol:"C"},{name:"伏特",symbol:"V"},{name:"欧姆",symbol:"Ω"},{name:"特斯拉",symbol:"T"},{name:"摄氏度",symbol:"°C"},{name:"流明",symbol:"lm"},{name:"贝尔勒尔",symbol:"Bq"},{name:"戈瑞",symbol:"Gy"},{name:"希沃特",symbol:"Sv"},{name:"球面度",symbol:"sr"},{name:"法拉",symbol:"F"},{name:"西门子",symbol:"S"},{name:"韦伯",symbol:"Wb"},{name:"亨利",symbol:"H"},{name:"勒克斯",symbol:"lx"},{name:"开特",symbol:"kat"}]),Rzt={chemicalElement:Zzt,unit:Wzt},Vzt=Rzt,Azt=["冒险公路自行车","小轮车自行车","城市自行车","巡洋舰自行车","越野自行车","双运动自行车","健身自行车","平足舒适自行车","折叠自行车","混合动力自行车","山地自行车","卧式自行车","公路自行车","双人自行车","旅行自行车","场地/固定齿轮自行车","铁人三项/计时自行车","三轮车"],Gzt=["柴油","电动","汽油","混合动力"],Xzt=["阿斯顿·马丁","奥迪","宾利","宝马","布加迪","卡迪拉克","雪佛兰","克莱斯勒","躲闪","法拉利","菲亚特","福特","本田","现代","捷豹","吉普车","起亚","兰博基尼","路虎","玛莎拉蒂","马自达","奔驰","小型的","日产","极星","保时捷","劳斯莱斯","聪明的","特斯拉","丰田","大众汽车","沃尔沃"],Pzt=["货车","掀背车","面包车","客车","越野车","轿车","旅行车"],Ozt={bicycle_type:Azt,fuel:Gzt,manufacturer:Xzt,type:Pzt},Bzt=Ozt,zzt=["长","短","大","小","粗","细","红","绿","平坦","整齐","雪白","笔直","绿油油","血淋淋","骨碌碌","黑不溜秋","好","坏","伟大","勇敢","优秀","聪明","老实","鲁莽","大方","软","硬","苦","甜","冷","热","坚固","平常","快","慢","生动","熟练","轻松","清楚","马虎","干脆","许多","好些","全部","全","整","多","少"],Hzt=["都","全","单","共","光","尽","净","仅","就","只","一共","一起","一同","一道","一齐","一概","一味","统统","总共","仅仅","惟独","可","倒","一定","必定","必然","却","幸亏","难道","何尝","偏偏","索性","简直","反正","多亏","也许","大约","好在","敢情","不","没","没有","别","仿佛","渐渐","百般","特地","互相","擅自","几乎","逐渐","逐步","猛然","依然","仍然","当然","毅然","果然","差点儿","很","极","最","太","更","更加","格外","十分","极其","比较","相当","稍微","略微","多么"],Yzt=["打","吃","抿","做","坐","跑","跳","走","飞","爬","开","滑","切","拆","咬","吞","吐","吮","吸","啃","喝","咀","嚼","搀","抱","搂","扶","捉","擒","掐","推","拿","抽","撕","摘","拣","捡","播","击","捏","撒","按","弹","撞","提","扭","捶","持","揍","披","捣","搜","托","举","拖","擦","敲","挖","抛","掘","抬","插","扔","写","抄","抓","捧","掷","撑","摊","倒","摔","劈","画","搔","撬","挥","揽","挡","捺","抚","搡","拉","摸","拍","摇","剪","拎","拔","拧","拨","舞","握","攥","驾驶","移动","转动","操作","蠕动","启动","关闭"],Uzt={adjective:zzt,adverb:Hzt,verb:Yzt},Kzt=Uzt,Jzt={airline:rBt,animal:hBt,color:gBt,commerce:CBt,company:_Bt,database:DBt,date:TBt,finance:OBt,hacker:KBt,internet:QBt,location:czt,metadata:hzt,music:pzt,person:kzt,phone_number:Ezt,science:Vzt,vehicle:Bzt,word:Kzt},jzt=Jzt,Xo=new FOt({locale:[jzt,hPt,qOt]});function Kk(n){return n<10?"0"+n:n}function Qzt(n,e,t,i){var r=t?"":n.getUTCFullYear()+"-"+Kk(n.getUTCMonth()+1)+"-"+Kk(n.getUTCDate());return e||(r+="T"+Kk(n.getUTCHours())+":"+Kk(n.getUTCMinutes())+":"+Kk(n.getUTCSeconds())+(i?"."+(n.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5):"")+"Z"),r}function kDe(n,e){return e>n.length?n.repeat(Math.trunc(e/n.length)+1).substring(0,e):n}function sG(...n){const e=t=>t&&typeof t=="object";return n.reduce((t,i)=>(Object.keys(i||{}).forEach(r=>{const o=t[r],s=i[r];e(o)&&e(s)?t[r]=sG(o,s):t[r]=s}),t),Array.isArray(n[n.length-1])?[]:{})}function $zt(n){var e=qzt(n),t=eHt(e,e,e,e),i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,r=>{var o=t()*16%16|0;return(r=="x"?o:o&3|8).toString(16)});return i}function q$(n){return{value:n==="object"?{}:n==="array"?[]:void 0}}function _1(n,e){e&&n.pop()}function qzt(n){var e=0;if(n.length==0)return e;for(var t=0;t>>5)|0;return n=e^(t<<17|t>>>15),e=t+i|0,t=i+r|0,i=n+r|0,(i>>>0)/4294967296}}function tHt(n,e,t,i,r){let o=um(n,t,i);const s=[];for(let a of e){const{type:l,readOnly:u,writeOnly:c,value:d}=um({type:o.type,...a},t,i,r);o.type&&l&&l!==o.type&&(o.type=l),o.type=o.type||l,o.readOnly=o.readOnly||u,o.writeOnly=o.writeOnly||c,d!=null&&s.push(d)}if(o.type==="object")return o.value=sG(o.value||{},...s.filter(a=>typeof a=="object")),o;{o.type==="array"&&t.quiet;const a=s[s.length-1];return o.value=a??o.value,o}}const NDe={multipleOf:"number",maximum:"number",exclusiveMaximum:"number",minimum:"number",exclusiveMinimum:"number",maxLength:"string",minLength:"string",pattern:"string",items:"array",maxItems:"array",minItems:"array",uniqueItems:"array",additionalItems:"array",maxProperties:"object",minProperties:"object",required:"object",additionalProperties:"object",properties:"object",patternProperties:"object",dependencies:"object"};function aG(n){if(n.type!==void 0)return Array.isArray(n.type)?n.type.length===0?null:n.type[0]:n.type;const e=Object.keys(NDe);for(var t=0;te.maxSampleDepth)return _1(lm,i),q$(aG(n));if(n.$ref){if(!t)throw new Error("Your schema contains $ref. You must provide full specification in the third parameter.");let a=decodeURIComponent(n.$ref);a.startsWith("#")&&(a=a.substring(1));const l=aHt.get(t,a);let u;if(lG[a]!==!0)lG[a]=!0,u=um(l,e,t,i),lG[a]=!1;else{const c=aG(l);u=q$(c)}return _1(lm,i),u}if(n.example!==void 0)return _1(lm,i),{value:n.example,readOnly:n.readOnly,writeOnly:n.writeOnly,type:n.type};if(n.allOf!==void 0)return _1(lm,i),EDe(n)||tHt({...n,allOf:void 0},n.allOf,e,t,i);if(n.oneOf&&n.oneOf.length){n.anyOf&&e.quiet,_1(lm,i);const a=Object.assign({readOnly:n.readOnly,writeOnly:n.writeOnly},n.oneOf[0]);return s(n,a)}if(n.anyOf&&n.anyOf.length){_1(lm,i);const a=Object.assign({readOnly:n.readOnly,writeOnly:n.writeOnly},n.anyOf[0]);return s(n,a)}if(n.if&&n.then){_1(lm,i);const{if:a,then:l,...u}=n;return um(sG(u,a,l),e,t,i)}let r=TDe(n),o=null;if(r===void 0){r=null,o=n.type,Array.isArray(o)&&n.type.length>0&&(o=n.type[0]),o||(o=aG(n));let a=VDe[o];a&&(r=a(n,e,t,i))}return _1(lm,i),{value:r,readOnly:n.readOnly,writeOnly:n.writeOnly,type:o};function s(a,l){const u=EDe(a);if(u!==void 0)return u;const c=um({...a,oneOf:void 0,anyOf:void 0},e,t,i),d=um(l,e,t,i);if(typeof c.value=="object"&&typeof d.value=="object"){const h=sG(c.value,d.value);return{...d,value:h}}return d}}function uHt(n,e={},t,i){const r=i&&i.depth||1;let o=Math.min(n.maxItems!=null?n.maxItems:1/0,n.minItems||1);const s=n.prefixItems||n.items||n.contains;Array.isArray(s)&&(o=Math.max(o,s.length));let a=u=>Array.isArray(s)?s[u]||{}:s||{},l=[];if(!s)return l;for(let u=0;u=n.maximum||!n.exclusiveMaximum&&e>n.maximum)&&(e=(n.maximum+n.minimum)/2),e;if(n.minimum)return n.exclusiveMinimum?Math.floor(n.minimum)+1:n.minimum;if(n.maximum)return n.exclusiveMaximum?n.maximum>0?0:Math.floor(n.maximum)-1:n.maximum>0?0:n.maximum}else{if(n.minimum)return n.minimum;n.exclusiveMinimum?(e=Math.floor(n.exclusiveMinimum)+1,e===n.exclusiveMaximum&&(e=(e+Math.floor(n.exclusiveMaximum)-1)/2)):n.exclusiveMaximum?e=Math.floor(n.exclusiveMaximum)-1:n.maximum&&(e=n.maximum)}return e}function dHt(n,e={},t,i){let r={};const o=i&&i.depth||1;if(n&&typeof n.properties=="object"){const s=Array.isArray(n.required)?n.required:[],a={};for(const l of s)a[l]=!0;Object.keys(n.properties).forEach(l=>{if(e.skipNonRequired&&!a.hasOwnProperty(l))return;const u=um(n.properties[l],e,t,{propertyName:l,depth:o+1});e.skipReadOnly&&u.readOnly||e.skipWriteOnly&&u.writeOnly||(r[l]=u.value)})}if(n&&typeof n.additionalProperties=="object"){const s=n.additionalProperties["x-additionalPropertiesName"]||"property";r[`${String(s)}1`]=um(n.additionalProperties,e,t,{depth:o+1}).value,r[`${String(s)}2`]=um(n.additionalProperties,e,t,{depth:o+1}).value}if(n&&typeof n.properties=="object"&&n.maxProperties!==void 0&&Object.keys(r).length>n.maxProperties){const s={};let a=0;(Array.isArray(n.required)?n.required:[]).forEach(u=>{r[u]!==void 0&&(s[u]=r[u],a++)}),Object.keys(r).forEach(u=>{aF.charCodeAt(0));if(t=_[0],i=_[1],t>i)throw new Error("Character range provided is out of order.");for(let F=t;F<=i;F++)if(e&&isNaN(Number(String.fromCharCode(F)))){const D=String.fromCharCode(F);v.push(D.toUpperCase().charCodeAt(0)),v.push(D.toLowerCase().charCodeAt(0))}else v.push(F)}C=C.substring(S[0].length),S=C.match(a)}if(r=WDe(b,f,g),h){let _=-1;for(let F=48;F<=57;F++){if(_=v.indexOf(F),_>-1){v.splice(_,1);continue}v.push(F)}for(let F=65;F<=90;F++){if(_=v.indexOf(F),_>-1){v.splice(_,1);continue}v.push(F)}for(let F=97;F<=122;F++){if(_=v.indexOf(F),_>-1){v.splice(_,1);continue}v.push(F)}}const x=Array.from({length:r},()=>String.fromCharCode(v[Jk(0)])).join("");n=n.slice(0,s.index)+x+n.slice(s.index+s[0].length),s=n.match(l)}const u=/(.)\{(\d+)\,(\d+)\}/;for(s=n.match(u);s!=null;){if(t=parseInt(s[2]),i=parseInt(s[3]),t>i)throw new Error("Numbers out of order in {} quantifier.");r=Jk(t),n=n.slice(0,s.index)+s[1].repeat(r)+n.slice(s.index+s[0].length),s=n.match(u)}const c=/(.)\{(\d+)\}/;for(s=n.match(c);s!=null;)r=parseInt(s[2]),n=n.slice(0,s.index)+s[1].repeat(r)+n.slice(s.index+s[0].length),s=n.match(c);return n}const mHt="qwerty!@#$%^123456";function fHt(){return"user@example.com"}function gHt(){return"пошта@укр.нет"}function pHt(n,e){let t="pa$$word";return n>t.length&&(t+="_",t+=kDe(mHt,n-t.length).substring(0,n-t.length)),t}function eq({min:n,max:e,omitTime:t,omitDate:i}){let r=Qzt(new Date("2019-08-24T14:15:22.123Z"),t,i,!1);return r.lengthe,r}function bHt(n,e){return eq({min:n,max:e,omitTime:!1,omitDate:!1})}function vHt(n,e){return eq({min:n,max:e,omitTime:!0,omitDate:!1})}function yHt(n,e){return eq({min:n,max:e,omitTime:!1,omitDate:!0}).slice(1)}function RDe(n,e,t,i){if(i)return hHt(i);let r=kDe("string",n);return e&&r.length>e&&(r=r.substring(0,e)),r}function CHt(){return"192.168.0.1"}function wHt(){return"2001:0db8:85a3:0000:0000:8a2e:0370:7334"}function SHt(){return"example.com"}function xHt(){return"приклад.укр"}function LHt(){return"http://example.com"}function _Ht(){return"../dictionary"}function FHt(){return"http://example.com/{endpoint}"}function IHt(){return"http://example.com/entity/1"}function DHt(){return"/entity/1"}function MHt(n,e,t){return $zt(t||"id")}function kHt(){return"/json/pointer"}function NHt(){return"1/relative/json/pointer"}function THt(){return"/regex/"}const EHt={email:fHt,"idn-email":gHt,password:pHt,"date-time":bHt,date:vHt,time:yHt,ipv4:CHt,ipv6:wHt,hostname:SHt,"idn-hostname":xHt,iri:IHt,"iri-reference":DHt,uri:LHt,"uri-reference":_Ht,"uri-template":FHt,uuid:MHt,default:RDe,"json-pointer":kHt,"relative-json-pointer":NHt,regex:THt};function ZHt(n,e,t,i){let r=n.format||"default",o=EHt[r]||RDe,s=i&&i.propertyName;return o(n.minLength||0,n.maxLength,s,n.pattern)}var VDe={};const WHt={skipReadOnly:!1,maxSampleDepth:15};function ADe(n,e,t){let i=Object.assign({},WHt,e);return lHt(),um(n,i,t).value}function Jx(n,e){VDe[n]=e}Jx("array",uHt),Jx("boolean",cHt),Jx("integer",ZDe),Jx("number",ZDe),Jx("object",dHt),Jx("string",ZHt);function GDe(n){return Eo(n).format("YYYY-MM-DD")}function RHt(n){return Eo(Eo(n).format("YYYY-MM-DD")).unix()}function VHt(n){return Eo(n).format("YYYY-MM-DD HH:mm:ss")}function XDe(n){return Eo(n).unix()}var PDe=(n=>(n.id="id",n.timestamp="timestamp",n.datetimeunix="datetimeunix",n.datetime="datetime",n.time="time",n.dateunix="dateunix",n.date="date",n.email="email",n.ip="ip",n.host="host",n.url="url",n.username="username",n.password="password",n.mobile="mobile",n.tel="tel",n.phone="phone",n.idcard="idcard",n.bankcard="bankcard",n.address="address",n.birth="birth",n.offset="offset",n.pagesn="pagesn",n.pageno="pageno",n.pagenumber="pagenumber",n.size="size",n))(PDe||{});function AHt(n,e){let t;switch(n){case"id":t=Xo.string.uuid();break;case"dateunix":t=RHt(Xo.date.recent());break;case"date":t=GDe(Xo.date.recent());break;case"datetimeunix":case"timestamp":t=XDe(Xo.date.recent());break;case"datetime":case"time":(e==null?void 0:e.schema).type==="number"||(e==null?void 0:e.schema).type==="integer"?t=XDe(Xo.date.recent()):t=VHt(Xo.date.recent());break;case"email":t=Xo.internet.email();break;case"ip":t=Xo.internet.ip();break;case"host":case"url":t=Xo.internet.url();break;case"username":t=Xo.internet.userName();break;case"password":t=Xo.internet.password();break;case"mobile":case"tel":case"phone":t=Xo.phone.number();break;case"idcard":t=`${Xo.location.zipCode()}${Eo(Xo.date.past({years:30})).format("YYYYMMDD")}${Xo.helpers.rangeToNumber({min:100,max:999})}X`;break;case"bankcard":t=Xo.finance.creditCardNumber();break;case"address":t=`${Xo.location.state()}${Xo.location.city()}${Xo.location.streetAddress()}`;break;case"birth":t=GDe(Xo.date.birthdate({min:1950,max:Eo().get("year")}));break;case"offset":case"pagesn":case"pageno":case"pagenumber":t=Xo.number.int({min:0,max:10});break;case"size":t=Xo.number.int({min:10,max:50});break;default:t=""}return t}function GHt(n,e){const t={};return e?n=wb(n,i=>Sc(i.name)!=="authorization"&&!!i.required):n=wb(n,i=>Sc(i.name)!=="authorization"),MB(n,i=>{const r=i.schema;if(!Is(r))if(r!=null&&r.format)t[i.name]=ADe(r,{skipReadOnly:!0});else{const o=p$e(PDe,s=>Iu(Sc(i.name),s));o?t[i.name]=AHt(o,i):r.type==="integer"?t[i.name]=Xo.number.int({min:0,max:1e5}):r.type==="string"?t[i.name]=Xo.string.sample({min:1,max:30}):r.type==="boolean"&&(t[i.name]=Xo.datatype.boolean())}}),t}function XHt(n,e,t){return Is(n)?void 0:ADe(n,{skipReadOnly:!0,skipNonRequired:t},e)}function PHt(n){return e=>wb(n,t=>t.in===e)}function uG(n,e={}){return xo(n,t=>{var o;const i=t.name,r=(o=t.schema)==null?void 0:o.pattern;return se(Ei.Item,{name:i,rules:t.required?[r?{required:!0,pattern:r}:{required:!0}]:void 0,style:{marginBottom:10},children:se(j$,{parameter:t,schemas:e})},i)})}function OHt({requestBody:n,schemas:e={}}){const t=lo(),i=lge(n);return se("div",{children:xo(i,(r,o)=>{const s=r.schema?Wm(r.schema,e):{};return se("div",{children:Jpe(o)||jpe(o)?Gt("div",{style:{color:t.color.title,backgroundColor:t.color.descCardBg,padding:6,borderRadius:6},children:[se("div",{style:{padding:"6px 0"},children:o}),se("div",{style:{height:1,backgroundColor:t.color.border,marginBottom:10}}),xo(s.properties,(a,l)=>{var c;const u=(c=s.required)==null?void 0:c.includes(l);return se(Ei.Item,{name:l,rules:u?[{required:!0}]:void 0,children:se(j$,{parameter:{in:"formData",name:l,schema:a,required:u},schemas:e})},l)})]}):se(Ei.Item,{name:"body",rules:n.required?[{required:!0}]:void 0,children:se(j$,{parameter:{in:"body",name:o,schema:s,required:n.required},schemas:e})})},o)})},"requestBody")}var BHt={name:"yaxt6v",styles:"margin:1em 0;& > *{margin-right:4px;}"};function zHt(n){var C;const{operation:e,schemas:t}=n,[i]=Ei.useForm(),r=Wv(),{openapiWithServiceInfo:o}=Sm(),{configInfo:s}=gh(),{t:a}=zs(),l=edt(e,(C=o||{})==null?void 0:C.openapi),u=PHt(e.parameters||[]),[c,d]=w.useState({}),[h,m]=w.useState(!1),[f,g]=w.useState(0);w.useEffect(()=>{i.resetFields(),d({})},[r.pathname]),w.useEffect(()=>{i.setFieldValue("Authorization",(s==null?void 0:s.authorization)||""),i.setFieldValue("authorization",(s==null?void 0:s.authorization)||""),g(S=>S+1)},[s==null?void 0:s.authorization]);async function b(S){m(!0);const x=await Q_(S).finally(()=>m(!1));(x==null?void 0:x.status)>=200&&(x==null?void 0:x.status)<300&&d(x),m(!1)}function v(S){var F,D;let x,_;if(e.parameters&&(x=GHt(e.parameters,S)),e.requestBody){const M=(D=(F=S5(e.requestBody.content))==null?void 0:F[0])==null?void 0:D.schema;M&&(_=XHt(M,o==null?void 0:o.openapi,S))}i.setFieldsValue({...x||{},body:Is(_)?void 0:_}),g(f+1)}return se(Ei,{form:i,name:"request-control-form",initialValues:{Authorization:s==null?void 0:s.authorization,authorization:s==null?void 0:s.authorization},onValuesChange:()=>{g(f+1)},onFinish:()=>b(l(i.getFieldsValue())),children:Gt("div",{style:{display:"flex",fontSize:Xi.fontSize.xs},children:[Gt("div",{style:{width:"50%",paddingRight:12},children:[uG(u("path"),t),uG(u("header"),t),uG(u("query"),t),uG(u("cookie"),t),e.requestBody&&se(OHt,{requestBody:e.requestBody,schemas:t})]}),Gt("div",{style:{width:"50%",paddingLeft:12},children:[se($pe,{request:l(i.getFieldsValue())}),Gt("div",{css:BHt,children:[se(jr,{htmlType:"submit",type:"primary",size:"small",disabled:h,children:a(h?"openapi.requesting":"openapi.request")}),se(jr,{size:"small",onClick:()=>v(!0),children:a("openapi.mockRequired")}),se(jr,{size:"small",onClick:()=>v(!1),children:a("openapi.mockAll")}),se(NP,{content:se(qpe,{request:l(i.getFieldsValue())}),trigger:"click",children:se(jr,{size:"small",children:a("openapi.cURL")})}),se(NP,{content:se(adt,{request:l(i.getFieldsValue())}),trigger:"click",children:se(jr,{size:"small",children:a("openapi.generateCode")})})]}),!Is(c)&&se(nbe,{...c})]})]})})}function HHt(){var l;const{operationId:n}=Ffe(),{t:e}=zs(),{openapiWithServiceInfo:t}=Sm(),i=lo(),{configInfo:r}=gh();if(!(t!=null&&t.operations)||!n)return null;const o=t.operations[n]||{},s=o.method?{color:sge(o.method)}:{},a=(r==null?void 0:r.theme)==="dark";return se("div",{children:Gt("div",{style:{borderRadius:6,overflow:"hidden",border:`1px solid ${a?i.color.border:s.color}`},children:[Gt("div",{style:{backgroundColor:a?i.color.descCardBg:s.color,padding:10,color:i.color.menuGroup},children:[Gt("div",{style:{textDecoration:o.deprecated?"line-through":"none",marginBottom:8},children:[se(sg,{title:e("openapi.clickToCopy"),children:se("a",{style:{fontSize:Xi.fontSize.s,fontWeight:"bold",marginRight:10,color:i.color.menuGroup},onClick:()=>{EO(o.operationId),tu.success(e("openapi.copySuccess"))},children:o.operationId})}),se("span",{title:o.summary,style:{fontSize:Xi.fontSize.xxs},children:o.summary})]}),Gt("div",{style:{fontSize:Xi.fontSize.s},children:[se("span",{style:{textTransform:"uppercase",fontFamily:Xi.fontFamily.mono},children:o.method}),se("span",{style:{display:"inline-block",marginLeft:8},children:o.path})]})]}),Gt("div",{style:{padding:16},children:[o.description&&se(GF,{title:e("openapi.description"),children:se(Xpe,{css:a?{color:i.color.textLight}:null,children:o.description})}),se(GF,{title:Gt("span",{children:[se("span",{children:e("openapi.parameters")}),se("small",{style:{lineHeight:1.4,fontSize:"0.8em",marginBottom:"0.5em",color:i.color.title},children:xo(aGt,(u,c)=>Gt("span",{style:{marginLeft:"1em"},children:[se(uDe,{position:c}),se("span",{children:u})]},c))})]}),children:se(zHt,{schemas:((l=t.openapi.components)==null?void 0:l.schemas)||{},operation:{...o,basePath:ost(t.serviceURL)}})}),se(GF,{title:e("openapi.responses"),children:se(Kct,{operation:o})})]})]})})}const YHt=Object.freeze(Object.defineProperty({__proto__:null,default:HHt},Symbol.toStringTag,{value:"Module"}));function UHt(){const n=yg(),{t:e}=zs(),[t,i]=w.useState(!1);return Gt(wc,{children:[t&&se(rge,{onSuccess:()=>i(!1)}),Gt("div",{css:[oge(),{height:Vv,padding:12,margin:"0 16px",boxSizing:"border-box"},"",""],children:[se("a",{style:{height:"100%",cursor:"pointer"},onClick:()=>{n(lZ)},children:se($de,{size:"26"})}),Gt("div",{css:["display:flex;",{"& > *":{marginLeft:4,...Tb()}},"",""],children:[se(IO,{menu:{items:[{key:"0",label:e("head.updateConfig"),onClick(){i(!0)}},{key:"1",label:e("head.reselectService"),onClick(){n(lZ)}}]},children:se("a",{style:{cursor:"pointer"},onClick:r=>r.preventDefault(),children:se(ige,{})})}),se(Dz,{}),se(Tz,{}),se(Ez,{})]})]})]})}var tq=(n=>(n.dateTimeUnix="dateTimeUnix",n.dateUnix="dateUnix",n.dateTime="dateTime",n.date="date",n))(tq||{}),ODe=(n=>(n.dateTime="dateTime",n.dateTimeUnix="dateTimeUnix",n))(ODe||{});const KHt=n=>({dateTime:is.t("postman.dateTime"),date:is.t("postman.date"),dateTimeUnix:is.t("postman.dateTimeUnix"),dateUnix:is.t("postman.dateUnix")})[n];var cm=(n=>(n.fieldName="fieldName",n.fieldType="fieldType",n.fieldValue="fieldValue",n))(cm||{}),nq=(n=>(n.single="single",n.multiple="multiple",n))(nq||{});const JHt=n=>({single:is.t("postman.single"),multiple:is.t("postman.multiple")})[n];var iq=(n=>(n.fieldName="fieldName",n.fieldType="fieldType",n.fieldValue="fieldValue",n))(iq||{});function BDe({position:n,form:e}){const{t}=zs(),i=lo(),r=xo(tq,u=>({label:KHt(u),value:u})),o=xo(nq,u=>({label:JHt(u),value:u})),s=u=>Array.isArray(u)?u:u==null?void 0:u.fileList,a=(u,c)=>{var d;return((d=e.getFieldValue(u))==null?void 0:d[c])||{}},l=[Tb(),{width:"60%",fontSize:Xi.fontSize.xs},{"&:hover path":{fill:i.color.primary}}];return Gt(wc,{children:[se(GF,{title:t("postman.customTime"),children:se(Ei.List,{name:`custom${n}Times`,children:(u,{add:c,remove:d})=>Gt(wc,{children:[u.map(({key:h,name:m,...f},g)=>{const b=a(`custom${n}Times`,g);return Gt("div",{style:{display:"flex"},children:[se(Ei.Item,{...f,name:[m,cm.fieldName],style:{width:"35%",marginRight:8},children:se(hh,{addonBefore:t("postman.fieldName"),placeholder:t("postman.fieldNamePlaceholder")})}),se(Ei.Item,{...f,name:[m,cm.fieldType],style:{width:"27%",marginRight:8},children:se(mw,{placeholder:"please select time type",options:r})}),se(Ei.Item,{...f,name:[m,cm.fieldValue],style:{width:"33%",marginRight:8},children:se(eue,{showTime:Iu(ODe,b.fieldType),needConfirm:!1,style:{width:"100%"}})}),se(Ei.Item,{...f,style:{width:"5%"},children:se("a",{onClick:()=>d(m),children:se(WB,{fill:i.color.menuItem})})})]},h)}),se("div",{children:se(jr,{type:"dashed",icon:se(ZB,{fill:i.color.menuItem}),css:l,onClick:()=>c({[cm.fieldName]:"time",[cm.fieldType]:tq.dateTimeUnix,[cm.fieldValue]:Eo()}),children:t("postman.addTimeField")})})]})})}),n==="Data"&&se(GF,{title:t("postman.customFile"),children:se(Ei.List,{name:"customDataFiles",children:(u,{add:c,remove:d})=>Gt(wc,{children:[u.map(({key:h,name:m,...f},g)=>{const b=a("customDataFiles",g);return Gt("div",{style:{display:"flex"},children:[se(Ei.Item,{...f,name:[m,iq.fieldName],style:{width:"35%",marginRight:8},children:se(hh,{addonBefore:t("postman.fieldName"),placeholder:t("postman.fieldNamePlaceholder")})}),se(Ei.Item,{...f,name:[m,cm.fieldType],style:{width:"27%",marginRight:8},children:se(mw,{placeholder:"please select upload file type",options:o})}),se(Ei.Item,{...f,name:[m,iq.fieldValue],valuePropName:"fileList",getValueFromEvent:s,style:{width:"33%",marginRight:8},children:se(GO,{multiple:(b==null?void 0:b.fieldType)==="multiple",beforeUpload:()=>!1,children:se(jr,{css:[uZ(),{"&:hover path":{fill:i.color.primary}},"",""],icon:se(EB,{fill:i.color.menuItem}),children:se("span",{style:{fontSize:Xi.fontSize.xs},children:t("postman.uploadFile")})})})}),se(Ei.Item,{...f,style:{width:"5%"},children:se("a",{onClick:()=>d(m),children:se(WB,{fill:i.color.menuItem})})})]},h)}),se("div",{children:se(jr,{type:"dashed",icon:se(ZB,{fill:i.color.menuItem}),css:l,onClick:()=>c({[cm.fieldName]:"file",[cm.fieldType]:nq.single,[cm.fieldValue]:null}),children:t("postman.addFileField")})})]})})})]})}function rq(n){const e=n.value?JSON.stringify(n.value,null,4):"{}";return se(gbe,{height:n.height||300,theme:"vs-dark",defaultLanguage:"json",value:e,onChange:t=>{if(!t)return n.onChange(null);try{const i=JSON.parse(t);i&&n.onChange(i)}catch{}},onMount:(t,i)=>{try{i.languages.json.jsonDefaults.setDiagnosticsOptions({validate:!0})}catch{}}})}const jHt=n=>{const e={value:n.value||{},onChange:n.onChange?n.onChange:()=>{}};return Gt("div",{children:[se(rq,{...e,height:400}),Gt(mv.Group,{style:{marginTop:10},value:e.value["Content-Type"]||"",onChange:t=>e.onChange(Object.assign({},e.value,{"Content-Type":t.target.value})),children:[se(mv,{value:"",children:"none"}),se(mv,{value:"application/json",children:"json"}),se(mv,{value:"multipart/form-data",children:"form-data"}),se(mv,{value:"application/x-www-form-urlencoded",children:"x-www-form-urlencoded"})]})]})},QHt=n=>{const e={value:n.value||{},onChange:n.onChange?n.onChange:()=>{}};return se(rq,{...e,height:400})},$Ht=n=>{const e={value:n.value||{},onChange:n.onChange?n.onChange:()=>{}};return se(rq,{...e,height:400})};function qHt(n={}){var r,o;if(!n.url)return n;const[e,t]=eYt(n.url);n.baseURL=e,n.url=t;const i=((r=n==null?void 0:n.headers)==null?void 0:r["Content-Type"])||"application/json";return(o=n==null?void 0:n.headers)!=null&&o.Referer&&(n==null||delete n.headers.Referer),Is(n==null?void 0:n.data)||(n.headers={...(n==null?void 0:n.headers)||{},"Content-Type":i+";charset=UTF-8"}),n}function eYt(n){if(!n||!eS.test(n))return["//serviceURL","/URL"];const e=n.split("//"),t=e[1].split("/"),i=`${e[0]}//${t[0]}`,r=`/${t.slice(1).join("/")}`;return[i,r]}function zDe(n){return!n||!n.length?{}:bh(n,(t,i)=>(i!=null&&i.fieldValue&&(t[i==null?void 0:i.fieldName]=i!=null&&i.fieldType.toLocaleLowerCase().includes("unix")?i==null?void 0:i.fieldValue.unix():i==null?void 0:i.fieldValue.toISOString()),t),{})}function tYt(n){return!n||!n.length?{}:bh(n,(t,i)=>(i!=null&&i.fieldValue&&(t[i==null?void 0:i.fieldName]=(i==null?void 0:i.fieldType)==="single"?i==null?void 0:i.fieldValue[0]:i==null?void 0:i.fieldValue),t),{})}const oq=Ei.Item;var nYt={name:"14t521x",styles:"margin-bottom:8px;& > *{margin-right:4px;}"};function HDe(){const[n]=Ei.useForm(),{t:e}=zs(),{configInfo:t}=gh(),[i,r]=w.useState({}),[o,s]=w.useState(!1),[a,l]=w.useState(0),[u,c]=w.useState(vh.get),[d,h]=w.useState("");w.useEffect(()=>{n.setFieldValue("headers",Object.assign({},n.getFieldValue("headers")||{},{Authorization:t==null?void 0:t.authorization})),l(C=>C+1)},[t==null?void 0:t.authorization]);const m=[{key:"0",label:e("postman.headers"),children:se(oq,{name:"headers",children:se(jHt,{})})},{key:"1",label:e("postman.query"),children:Gt("div",{children:[se(oq,{name:"params",style:{marginBottom:6},children:se(QHt,{})}),se(BDe,{position:"Params",form:n})]})},{key:"2",label:Gt("div",{style:{display:"flex",alignItems:"center"},children:[e("postman.body")," ",se(sg,{title:e("postman.bodyTitleTip"),overlayInnerStyle:{width:260},children:se("a",{style:{display:"flex",alignItems:"center"},children:se(q$e,{})})})]}),children:Gt("div",{children:[se(oq,{name:"data",style:{marginBottom:6},children:se($Ht,{})}),se(BDe,{position:"Data",form:n})]})}],f=w.useMemo(()=>xo(vh,C=>({label:jde(C),value:C})),[]),g=()=>se(mw,{style:{width:96},options:f,value:u,onSelect:c});async function b(C){s(!0);const S=await Q_(C).finally(()=>s(!1));(S==null?void 0:S.status)>=200&&(S==null?void 0:S.status)<300&&r(S),s(!1)}const v=w.useMemo(()=>{const C=n.getFieldsValue();if(C.customParamsTimes){const S=zDe(C.customParamsTimes);C.params={...C.params||{},...S||{}},delete C.customParamsTimes}if(C.customDataTimes){const S=zDe(C.customDataTimes);C.data={...C.data||{},...S||{}},delete C.customDataTimes}if(C.customDataFiles){const S=tYt(C.customDataFiles);C.data={...C.data||{},...S||{}},delete C.customDataFiles}return qHt(Object.assign({method:u,url:d},C))},[u,d,n.getFieldsValue()]);return Gt("div",{style:{display:"flex"},children:[Gt("div",{style:{width:"50%"},children:[Gt("div",{style:{display:"flex",marginBottom:10},children:[se(hh,{style:{width:"90%",marginRight:5},addonBefore:se(g,{}),placeholder:e("postman.urlPlaceholder"),defaultValue:d,onChange:C=>{var S;return h((S=C.target.value)==null?void 0:S.trim())}}),se(jr,{type:"primary",disabled:o,style:{fontSize:Xi.fontSize.xs},onClick:()=>{eS.test(d)?n.submit():tu.warning(e("postman.validUrlTip"))},children:e("postman.send")})]}),se("div",{children:se(Ei,{form:n,name:"postman-request-control-form",initialValues:{headers:t!=null&&t.authorization?{Authorization:t==null?void 0:t.authorization}:null,params:null,customParamsTimes:null,data:null,customDataTimes:null,customDataFiles:null},onValuesChange:()=>{l(a+1)},onFinish:()=>{b(v)},children:se(Dle,{defaultActiveKey:"1",items:m})})})]}),Gt("div",{style:{width:"50%",fontSize:Xi.fontSize.xs,paddingLeft:10},children:[se("div",{style:{marginBottom:8},children:se($pe,{request:v})}),se("div",{css:nYt,children:se(NP,{content:se(qpe,{request:Object.assign({},v,{url:d})}),trigger:"click",children:se(jr,{size:"small",style:{fontSize:Xi.fontSize.xxs},children:e("openapi.cURL")})})}),!Is(i)&&se(nbe,{...i})]})]})}var cG={TERM_PROGRAM:"vscode",NODE:"/Users/alexander/.nvm/versions/node/v20.9.0/bin/node",NVM_CD_FLAGS:"-q",INIT_CWD:"/Users/alexander/my-code/github/openapi-ui",SHELL:"/bin/zsh",TERM:"xterm-256color",TMPDIR:"/var/folders/7b/f28gh86d083_xqj9p9hs97k80000gn/T/",npm_config_global_prefix:"/Users/alexander/.nvm/versions/node/v20.9.0",TERM_PROGRAM_VERSION:"1.88.1",GVM_ROOT:"/Users/alexander/.gvm",MallocNanoZone:"0",ORIGINAL_XDG_CURRENT_DESKTOP:"undefined",ZDOTDIR:"/Users/alexander",COLOR:"1",npm_config_noproxy:"",ZSH:"/Users/alexander/.oh-my-zsh",PNPM_HOME:"/Users/alexander/Library/pnpm",npm_config_local_prefix:"/Users/alexander/my-code/github/openapi-ui",USER:"alexander",NVM_DIR:"/Users/alexander/.nvm",LD_LIBRARY_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:",COMMAND_MODE:"unix2003",npm_config_globalconfig:"/Users/alexander/.nvm/versions/node/v20.9.0/etc/npmrc",SSH_AUTH_SOCK:"/private/tmp/com.apple.launchd.LekgFF0iuk/Listeners",__CF_USER_TEXT_ENCODING:"0x1F5:0x19:0x34",npm_execpath:"/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/bin/npm-cli.js",PAGER:"less",LSCOLORS:"Gxfxcxdxbxegedabagacad",PATH:"/Users/alexander/my-code/github/openapi-ui/node_modules/.bin:/Users/alexander/my-code/github/node_modules/.bin:/Users/alexander/my-code/node_modules/.bin:/Users/alexander/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/mygo/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/alexander/.gvm/gos/go1.21.6/bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.nvm/versions/node/v20.9.0/bin:/Users/alexander/.cargo/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin",npm_package_json:"/Users/alexander/my-code/github/openapi-ui/package.json",__CFBundleIdentifier:"com.microsoft.VSCode",USER_ZDOTDIR:"/Users/alexander",npm_config_auto_install_peers:"true",npm_config_init_module:"/Users/alexander/.npm-init.js",npm_config_userconfig:"/Users/alexander/.npmrc",PWD:"/Users/alexander/my-code/github/openapi-ui",GVM_VERSION:"1.0.22",npm_command:"run-script",EDITOR:"vi",npm_lifecycle_event:"build:package",LANG:"zh_CN.UTF-8",npm_package_name:"openapi-ui-dist",gvm_pkgset_name:"global",NODE_PATH:"/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/vite@5.2.10_@types+node@20.12.7/node_modules/vite/bin/node_modules:/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/vite@5.2.10_@types+node@20.12.7/node_modules/vite/node_modules:/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/vite@5.2.10_@types+node@20.12.7/node_modules:/Users/alexander/my-code/github/openapi-ui/node_modules/.pnpm/node_modules",XPC_FLAGS:"0x0",VSCODE_GIT_ASKPASS_EXTRA_ARGS:"",npm_config_npm_version:"10.1.0",npm_package_engines_node:"^18.0.0 || >=20.0.0",npm_config_node_gyp:"/Users/alexander/.nvm/versions/node/v20.9.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",XPC_SERVICE_NAME:"0",npm_package_version:"2.2.0",VSCODE_INJECTION:"1",HOME:"/Users/alexander",SHLVL:"2",VSCODE_GIT_ASKPASS_MAIN:"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js",GOROOT:"/Users/alexander/.gvm/gos/go1.21.6",DYLD_LIBRARY_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib:",gvm_go_name:"go1.21.6",LOGNAME:"alexander",LESS:"-R",VSCODE_PATH_PREFIX:"/Users/alexander/.gvm/gos/go1.21.6/bin:",npm_config_cache:"/Users/alexander/.npm",GVM_OVERLAY_PREFIX:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay",npm_lifecycle_script:"tsc && vite build --config vite.package.config.ts --mode package",LC_CTYPE:"zh_CN.UTF-8",VSCODE_GIT_IPC_HANDLE:"/var/folders/7b/f28gh86d083_xqj9p9hs97k80000gn/T/vscode-git-79a18f10f2.sock",NVM_BIN:"/Users/alexander/.nvm/versions/node/v20.9.0/bin",PKG_CONFIG_PATH:"/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/lib/pkgconfig:",GOPATH:"/Users/alexander/mygo",npm_config_user_agent:"npm/10.1.0 node/v20.9.0 darwin x64 workspaces/false",GIT_ASKPASS:"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh",VSCODE_GIT_ASKPASS_NODE:"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)",GVM_PATH_BACKUP:"/Users/alexander/.gvm/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/gos/go1.21.6/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.gvm/bin:/Users/alexander/mygo/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/alexander/.gvm/gos/go1.21.6/bin:/usr/local/opt/ruby/bin:/Users/alexander/Library/pnpm:/Users/alexander/.yarn/bin:/Users/alexander/.config/yarn/global/node_modules/.bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/bin:/Users/alexander/.gvm/pkgsets/go1.21.6/global/overlay/bin:/Users/alexander/.gvm/bin:/Users/alexander/.nvm/versions/node/v20.9.0/bin:/Users/alexander/.cargo/bin:/usr/local/mysql/bin:/Users/alexander/.gem/ruby/3.2.0/bin",COLORTERM:"truecolor",npm_config_prefix:"/Users/alexander/.nvm/versions/node/v20.9.0",npm_node_execpath:"/Users/alexander/.nvm/versions/node/v20.9.0/bin/node",NODE_ENV:"production"};const YDe=[{key:"0",label:`${is.t("postman.request")} 1`,children:se(HDe,{}),closable:!1}];function iYt(){const{t:n}=zs(),e=lo(),{configInfo:t}=gh(),i=(t==null?void 0:t.theme)==="dark",[r,o]=w.useState(document.documentElement.clientHeight),s=r-Vv,a=qE().env===A_.zh,[l,u]=w.useState(YDe[0].key),[c,d]=w.useState(YDe),h=w.useRef(0),m=TB(()=>{o(globalThis.document.documentElement.clientHeight)},1200,{leading:!0,trailing:!0});w.useEffect(()=>(globalThis.addEventListener("resize",m),()=>{globalThis.removeEventListener("resize",m)}),[m]);const f=()=>{const v=`${++h.current}`,C=[...c];C.push({key:v,label:`${n("postman.request")} ${h.current+1}`,children:se(HDe,{}),closable:!0}),d(C),u(v)},g=v=>{let C=l,S=-1;c.forEach((_,F)=>{_.key===v&&(S=F-1)});const x=c.filter(_=>_.key!==v);x.length&&C===v&&(S>=0?C=x[S].key:C=x[0].key),d(x),u(C)},b=(v,C)=>{C==="add"?f():g(v)};return Gt("div",{style:{backgroundColor:e.color.bg},children:[se(UHt,{}),Gt("div",{css:[{height:s,overflow:"auto",padding:12,backgroundColor:e.color.bgGray,borderRadius:"10px 10px 0",boxSizing:"border-box"},a?{paddingBottom:0}:{},cG.NODE_ENV==="production"?"":";label:Postman;",cG.NODE_ENV==="production"?"":"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9hbGV4YW5kZXIvbXktY29kZS9naXRodWIvb3BlbmFwaS11aS9zcmMvcG9zdG1hbi9Qb3N0bWFuLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzR1EiLCJmaWxlIjoiL1VzZXJzL2FsZXhhbmRlci9teS1jb2RlL2dpdGh1Yi9vcGVuYXBpLXVpL3NyYy9wb3N0bWFuL1Bvc3RtYW4udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB7IFRhYnMgfSBmcm9tIFwiYW50ZFwiO1xuaW1wb3J0IHsgdGhyb3R0bGUgfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCB7IFBvc3RtYW5IZWFkIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvaGVhZC9Qb3N0bWFuSGVhZFwiO1xuaW1wb3J0IHsgSUNQUmVnaXN0cmF0aW9uIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvaWNwLXJlZ2lzdHJhdGlvblwiO1xuaW1wb3J0IHsgRW52IH0gZnJvbSBcIi4uL2NvbmZpZ1wiO1xuaW1wb3J0IHsgZ2V0Q29uZmlnIH0gZnJvbSBcIi4uL2NvcmUvaHR0cC9jb25maWdcIjtcbmltcG9ydCB7IHVzZUNvbmZpZ0luZm9TdG9yZSB9IGZyb20gXCIuLi9jb3JlL3N0b3JlXCI7XG5pbXBvcnQgeyBJVGhlbWUsIGRhcmtUaGVtZSwgbGlnaHRUaGVtZSB9IGZyb20gXCIuLi9jb3JlL3N0eWxlL2RlZmF1bHRTdHlsZUNvbmZpZ1wiO1xuaW1wb3J0IGkxOG4gZnJvbSBcIi4uL2kxOG5cIjtcbmltcG9ydCB7IGRlZmF1bHRIZWFkVGl0bGVIZWlnaHQgfSBmcm9tIFwiLi4vbWFpbi9NYWluXCI7XG5pbXBvcnQgeyBSZXF1ZXN0QnVpbGRlciB9IGZyb20gXCIuL1JlcXVlc3RCdWlsZGVyXCI7XG5cbnR5cGUgVGFyZ2V0S2V5ID0gUmVhY3QuTW91c2VFdmVudCB8IFJlYWN0LktleWJvYXJkRXZlbnQgfCBzdHJpbmc7XG5cbmNvbnN0IGluaXRpYWxJdGVtcyA9IFtcbiAge1xuICAgIGtleTogXCIwXCIsXG4gICAgbGFiZWw6IGAke2kxOG4udChcInBvc3RtYW4ucmVxdWVzdFwiKX0gMWAsXG4gICAgY2hpbGRyZW46IDxSZXF1ZXN0QnVpbGRlciAvPixcbiAgICBjbG9zYWJsZTogZmFsc2UsXG4gIH0sXG5dO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBQb3N0bWFuKCkge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKSBhcyBJVGhlbWU7XG4gIGNvbnN0IHsgY29uZmlnSW5mbyB9ID0gdXNlQ29uZmlnSW5mb1N0b3JlKCk7XG4gIGNvbnN0IGlzRGFya1RoZW1lID0gY29uZmlnSW5mbz8udGhlbWUgPT09IFwiZGFya1wiO1xuICBjb25zdCBbY29udGVudEhlaWdodCwgc2V0Q29udGVudEhlaWdodF0gPSB1c2VTdGF0ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KTtcbiAgY29uc3QgZGVmYXVsdENvbnRlbnRIZWlnaHQgPSBjb250ZW50SGVpZ2h0IC0gZGVmYXVsdEhlYWRUaXRsZUhlaWdodDtcbiAgY29uc3QgaXNaaCA9IGdldENvbmZpZygpLmVudiA9PT0gRW52LnpoO1xuICBjb25zdCBbYWN0aXZlS2V5LCBzZXRBY3RpdmVLZXldID0gdXNlU3RhdGUoaW5pdGlhbEl0ZW1zWzBdLmtleSk7XG4gIGNvbnN0IFtpdGVtcywgc2V0SXRlbXNdID0gdXNlU3RhdGUoaW5pdGlhbEl0ZW1zKTtcbiAgY29uc3QgbmV3VGFiSW5kZXggPSB1c2VSZWYoMCk7XG5cbiAgY29uc3QgdGhyb3R0bGVkUmVzaXplSGFuZGxlciA9IHRocm90dGxlKFxuICAgICgpID0+IHtcbiAgICAgIHNldENvbnRlbnRIZWlnaHQoZ2xvYmFsVGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KTtcbiAgICB9LFxuICAgIDEyMDAsXG4gICAgeyBsZWFkaW5nOiB0cnVlLCB0cmFpbGluZzogdHJ1ZSB9LFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZ2xvYmFsVGhpcy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRocm90dGxlZFJlc2l6ZUhhbmRsZXIpO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGdsb2JhbFRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aHJvdHRsZWRSZXNpemVIYW5kbGVyKTtcbiAgICB9O1xuICB9LCBbdGhyb3R0bGVkUmVzaXplSGFuZGxlcl0pO1xuXG4gIGNvbnN0IGFkZCA9ICgpID0+IHtcbiAgICBjb25zdCBuZXdBY3RpdmVLZXkgPSBgJHsrK25ld1RhYkluZGV4LmN1cnJlbnR9YDtcbiAgICBjb25zdCBuZXdQYW5lcyA9IFsuLi5pdGVtc107XG4gICAgbmV3UGFuZXMucHVzaCh7XG4gICAgICBrZXk6IG5ld0FjdGl2ZUtleSxcbiAgICAgIGxhYmVsOiBgJHt0KFwicG9zdG1hbi5yZXF1ZXN0XCIpfSAke25ld1RhYkluZGV4LmN1cnJlbnQgKyAxfWAsXG4gICAgICBjaGlsZHJlbjogPFJlcXVlc3RCdWlsZGVyIC8+LFxuICAgICAgY2xvc2FibGU6IHRydWUsXG4gICAgfSk7XG4gICAgc2V0SXRlbXMobmV3UGFuZXMpO1xuICAgIHNldEFjdGl2ZUtleShuZXdBY3RpdmVLZXkpO1xuICB9O1xuXG4gIGNvbnN0IHJlbW92ZSA9ICh0YXJnZXRLZXk6IFRhcmdldEtleSkgPT4ge1xuICAgIGxldCBuZXdBY3RpdmVLZXkgPSBhY3RpdmVLZXk7XG4gICAgbGV0IGxhc3RJbmRleCA9IC0xO1xuXG4gICAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaSkgPT4ge1xuICAgICAgaWYgKGl0ZW0ua2V5ID09PSB0YXJnZXRLZXkpIHtcbiAgICAgICAgbGFzdEluZGV4ID0gaSAtIDE7XG4gICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgbmV3UGFuZXMgPSBpdGVtcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0ua2V5ICE9PSB0YXJnZXRLZXkpO1xuXG4gICAgaWYgKG5ld1BhbmVzLmxlbmd0aCAmJiBuZXdBY3RpdmVLZXkgPT09IHRhcmdldEtleSkge1xuICAgICAgaWYgKGxhc3RJbmRleCA+PSAwKSB7XG4gICAgICAgIG5ld0FjdGl2ZUtleSA9IG5ld1BhbmVzW2xhc3RJbmRleF0ua2V5O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV3QWN0aXZlS2V5ID0gbmV3UGFuZXNbMF0ua2V5O1xuICAgICAgfVxuICAgIH1cblxuICAgIHNldEl0ZW1zKG5ld1BhbmVzKTtcbiAgICBzZXRBY3RpdmVLZXkobmV3QWN0aXZlS2V5KTtcbiAgfTtcblxuICBjb25zdCBvbkVkaXQgPSAodGFyZ2V0S2V5OiBUYXJnZXRLZXksIGFjdGlvbjogXCJhZGRcIiB8IFwicmVtb3ZlXCIpID0+IHtcbiAgICBpZiAoYWN0aW9uID09PSBcImFkZFwiKSB7XG4gICAgICBhZGQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVtb3ZlKHRhcmdldEtleSk7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBzdHlsZT17eyBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmNvbG9yLmJnIH19PlxuICAgICAgPFBvc3RtYW5IZWFkIC8+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17W1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGhlaWdodDogZGVmYXVsdENvbnRlbnRIZWlnaHQsXG4gICAgICAgICAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgICAgICAgICBwYWRkaW5nOiAxMixcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUuY29sb3IuYmdHcmF5LFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiBcIjEwcHggMTBweCAwXCIsXG4gICAgICAgICAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgaXNaaCA/IHsgcGFkZGluZ0JvdHRvbTogMCB9IDoge30sXG4gICAgICAgIF19XG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjc3M9e1tcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBpc0RhcmtUaGVtZSA/IGRhcmtUaGVtZS5jb2xvci5iZ0dyYXkgOiBsaWdodFRoZW1lLmNvbG9yLmJnLFxuICAgICAgICAgICAgICBwYWRkaW5nOiAxMCxcbiAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiA4LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGlzWmggPyB7IG1pbkhlaWdodDogZGVmYXVsdENvbnRlbnRIZWlnaHQgLSAzMiAtIDEyIH0gOiB7fSxcbiAgICAgICAgICBdfVxuICAgICAgICA+XG4gICAgICAgICAgPFRhYnNcbiAgICAgICAgICAgIHR5cGU9XCJlZGl0YWJsZS1jYXJkXCJcbiAgICAgICAgICAgIGl0ZW1zPXtpdGVtc31cbiAgICAgICAgICAgIGFjdGl2ZUtleT17YWN0aXZlS2V5fVxuICAgICAgICAgICAgb25DaGFuZ2U9eyhuZXdBY3RpdmVLZXk6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICBzZXRBY3RpdmVLZXkobmV3QWN0aXZlS2V5KTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbkVkaXQ9e29uRWRpdH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAge2lzWmggJiYgPElDUFJlZ2lzdHJhdGlvbiAvPn1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufVxuIl19 */"],children:[se("div",{css:[{backgroundColor:i?Pi.color.bgGray:fd.color.bg,padding:10,borderRadius:8},a?{minHeight:s-32-12}:{},cG.NODE_ENV==="production"?"":";label:Postman;",cG.NODE_ENV==="production"?"":"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9hbGV4YW5kZXIvbXktY29kZS9naXRodWIvb3BlbmFwaS11aS9zcmMvcG9zdG1hbi9Qb3N0bWFuLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtSFUiLCJmaWxlIjoiL1VzZXJzL2FsZXhhbmRlci9teS1jb2RlL2dpdGh1Yi9vcGVuYXBpLXVpL3NyYy9wb3N0bWFuL1Bvc3RtYW4udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB7IFRhYnMgfSBmcm9tIFwiYW50ZFwiO1xuaW1wb3J0IHsgdGhyb3R0bGUgfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCB7IFBvc3RtYW5IZWFkIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvaGVhZC9Qb3N0bWFuSGVhZFwiO1xuaW1wb3J0IHsgSUNQUmVnaXN0cmF0aW9uIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvaWNwLXJlZ2lzdHJhdGlvblwiO1xuaW1wb3J0IHsgRW52IH0gZnJvbSBcIi4uL2NvbmZpZ1wiO1xuaW1wb3J0IHsgZ2V0Q29uZmlnIH0gZnJvbSBcIi4uL2NvcmUvaHR0cC9jb25maWdcIjtcbmltcG9ydCB7IHVzZUNvbmZpZ0luZm9TdG9yZSB9IGZyb20gXCIuLi9jb3JlL3N0b3JlXCI7XG5pbXBvcnQgeyBJVGhlbWUsIGRhcmtUaGVtZSwgbGlnaHRUaGVtZSB9IGZyb20gXCIuLi9jb3JlL3N0eWxlL2RlZmF1bHRTdHlsZUNvbmZpZ1wiO1xuaW1wb3J0IGkxOG4gZnJvbSBcIi4uL2kxOG5cIjtcbmltcG9ydCB7IGRlZmF1bHRIZWFkVGl0bGVIZWlnaHQgfSBmcm9tIFwiLi4vbWFpbi9NYWluXCI7XG5pbXBvcnQgeyBSZXF1ZXN0QnVpbGRlciB9IGZyb20gXCIuL1JlcXVlc3RCdWlsZGVyXCI7XG5cbnR5cGUgVGFyZ2V0S2V5ID0gUmVhY3QuTW91c2VFdmVudCB8IFJlYWN0LktleWJvYXJkRXZlbnQgfCBzdHJpbmc7XG5cbmNvbnN0IGluaXRpYWxJdGVtcyA9IFtcbiAge1xuICAgIGtleTogXCIwXCIsXG4gICAgbGFiZWw6IGAke2kxOG4udChcInBvc3RtYW4ucmVxdWVzdFwiKX0gMWAsXG4gICAgY2hpbGRyZW46IDxSZXF1ZXN0QnVpbGRlciAvPixcbiAgICBjbG9zYWJsZTogZmFsc2UsXG4gIH0sXG5dO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBQb3N0bWFuKCkge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKSBhcyBJVGhlbWU7XG4gIGNvbnN0IHsgY29uZmlnSW5mbyB9ID0gdXNlQ29uZmlnSW5mb1N0b3JlKCk7XG4gIGNvbnN0IGlzRGFya1RoZW1lID0gY29uZmlnSW5mbz8udGhlbWUgPT09IFwiZGFya1wiO1xuICBjb25zdCBbY29udGVudEhlaWdodCwgc2V0Q29udGVudEhlaWdodF0gPSB1c2VTdGF0ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KTtcbiAgY29uc3QgZGVmYXVsdENvbnRlbnRIZWlnaHQgPSBjb250ZW50SGVpZ2h0IC0gZGVmYXVsdEhlYWRUaXRsZUhlaWdodDtcbiAgY29uc3QgaXNaaCA9IGdldENvbmZpZygpLmVudiA9PT0gRW52LnpoO1xuICBjb25zdCBbYWN0aXZlS2V5LCBzZXRBY3RpdmVLZXldID0gdXNlU3RhdGUoaW5pdGlhbEl0ZW1zWzBdLmtleSk7XG4gIGNvbnN0IFtpdGVtcywgc2V0SXRlbXNdID0gdXNlU3RhdGUoaW5pdGlhbEl0ZW1zKTtcbiAgY29uc3QgbmV3VGFiSW5kZXggPSB1c2VSZWYoMCk7XG5cbiAgY29uc3QgdGhyb3R0bGVkUmVzaXplSGFuZGxlciA9IHRocm90dGxlKFxuICAgICgpID0+IHtcbiAgICAgIHNldENvbnRlbnRIZWlnaHQoZ2xvYmFsVGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KTtcbiAgICB9LFxuICAgIDEyMDAsXG4gICAgeyBsZWFkaW5nOiB0cnVlLCB0cmFpbGluZzogdHJ1ZSB9LFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZ2xvYmFsVGhpcy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRocm90dGxlZFJlc2l6ZUhhbmRsZXIpO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGdsb2JhbFRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aHJvdHRsZWRSZXNpemVIYW5kbGVyKTtcbiAgICB9O1xuICB9LCBbdGhyb3R0bGVkUmVzaXplSGFuZGxlcl0pO1xuXG4gIGNvbnN0IGFkZCA9ICgpID0+IHtcbiAgICBjb25zdCBuZXdBY3RpdmVLZXkgPSBgJHsrK25ld1RhYkluZGV4LmN1cnJlbnR9YDtcbiAgICBjb25zdCBuZXdQYW5lcyA9IFsuLi5pdGVtc107XG4gICAgbmV3UGFuZXMucHVzaCh7XG4gICAgICBrZXk6IG5ld0FjdGl2ZUtleSxcbiAgICAgIGxhYmVsOiBgJHt0KFwicG9zdG1hbi5yZXF1ZXN0XCIpfSAke25ld1RhYkluZGV4LmN1cnJlbnQgKyAxfWAsXG4gICAgICBjaGlsZHJlbjogPFJlcXVlc3RCdWlsZGVyIC8+LFxuICAgICAgY2xvc2FibGU6IHRydWUsXG4gICAgfSk7XG4gICAgc2V0SXRlbXMobmV3UGFuZXMpO1xuICAgIHNldEFjdGl2ZUtleShuZXdBY3RpdmVLZXkpO1xuICB9O1xuXG4gIGNvbnN0IHJlbW92ZSA9ICh0YXJnZXRLZXk6IFRhcmdldEtleSkgPT4ge1xuICAgIGxldCBuZXdBY3RpdmVLZXkgPSBhY3RpdmVLZXk7XG4gICAgbGV0IGxhc3RJbmRleCA9IC0xO1xuXG4gICAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaSkgPT4ge1xuICAgICAgaWYgKGl0ZW0ua2V5ID09PSB0YXJnZXRLZXkpIHtcbiAgICAgICAgbGFzdEluZGV4ID0gaSAtIDE7XG4gICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgbmV3UGFuZXMgPSBpdGVtcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0ua2V5ICE9PSB0YXJnZXRLZXkpO1xuXG4gICAgaWYgKG5ld1BhbmVzLmxlbmd0aCAmJiBuZXdBY3RpdmVLZXkgPT09IHRhcmdldEtleSkge1xuICAgICAgaWYgKGxhc3RJbmRleCA+PSAwKSB7XG4gICAgICAgIG5ld0FjdGl2ZUtleSA9IG5ld1BhbmVzW2xhc3RJbmRleF0ua2V5O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV3QWN0aXZlS2V5ID0gbmV3UGFuZXNbMF0ua2V5O1xuICAgICAgfVxuICAgIH1cblxuICAgIHNldEl0ZW1zKG5ld1BhbmVzKTtcbiAgICBzZXRBY3RpdmVLZXkobmV3QWN0aXZlS2V5KTtcbiAgfTtcblxuICBjb25zdCBvbkVkaXQgPSAodGFyZ2V0S2V5OiBUYXJnZXRLZXksIGFjdGlvbjogXCJhZGRcIiB8IFwicmVtb3ZlXCIpID0+IHtcbiAgICBpZiAoYWN0aW9uID09PSBcImFkZFwiKSB7XG4gICAgICBhZGQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVtb3ZlKHRhcmdldEtleSk7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBzdHlsZT17eyBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmNvbG9yLmJnIH19PlxuICAgICAgPFBvc3RtYW5IZWFkIC8+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17W1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGhlaWdodDogZGVmYXVsdENvbnRlbnRIZWlnaHQsXG4gICAgICAgICAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgICAgICAgICBwYWRkaW5nOiAxMixcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUuY29sb3IuYmdHcmF5LFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiBcIjEwcHggMTBweCAwXCIsXG4gICAgICAgICAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgaXNaaCA/IHsgcGFkZGluZ0JvdHRvbTogMCB9IDoge30sXG4gICAgICAgIF19XG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjc3M9e1tcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBpc0RhcmtUaGVtZSA/IGRhcmtUaGVtZS5jb2xvci5iZ0dyYXkgOiBsaWdodFRoZW1lLmNvbG9yLmJnLFxuICAgICAgICAgICAgICBwYWRkaW5nOiAxMCxcbiAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiA4LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGlzWmggPyB7IG1pbkhlaWdodDogZGVmYXVsdENvbnRlbnRIZWlnaHQgLSAzMiAtIDEyIH0gOiB7fSxcbiAgICAgICAgICBdfVxuICAgICAgICA+XG4gICAgICAgICAgPFRhYnNcbiAgICAgICAgICAgIHR5cGU9XCJlZGl0YWJsZS1jYXJkXCJcbiAgICAgICAgICAgIGl0ZW1zPXtpdGVtc31cbiAgICAgICAgICAgIGFjdGl2ZUtleT17YWN0aXZlS2V5fVxuICAgICAgICAgICAgb25DaGFuZ2U9eyhuZXdBY3RpdmVLZXk6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICBzZXRBY3RpdmVLZXkobmV3QWN0aXZlS2V5KTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbkVkaXQ9e29uRWRpdH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAge2lzWmggJiYgPElDUFJlZ2lzdHJhdGlvbiAvPn1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufVxuIl19 */"],children:se(Dle,{type:"editable-card",items:c,activeKey:l,onChange:v=>{u(v)},onEdit:b})}),a&&se(Wz,{})]})]})}const rYt=Object.freeze(Object.defineProperty({__proto__:null,default:iYt},Symbol.toStringTag,{value:"Module"}));/*!----------------------------------------------------------------------------- +`)}},gOt=class extends As{genre(){return this.faker.helpers.arrayElement(this.faker.definitions.music.genre)}songName(){return this.faker.helpers.arrayElement(this.faker.definitions.music.song_name)}},pOt=class extends As{number(e){return e!=null&&Ht({deprecated:"faker.phone.number(format)",proposed:"faker.phone.number(), faker.string.numeric() or faker.helpers.fromRegExp()",since:"8.1",until:"9.0"}),e=e??this.faker.helpers.arrayElement(this.faker.definitions.phone_number.formats),Q$(this.faker,e)}imei(){return this.faker.helpers.replaceCreditCardSymbols("##-######-######-L","#")}},bOt=class extends As{word(){Ht({deprecated:"faker.random.word()",proposed:"faker.lorem.word() or faker.word.sample()",since:"8.0",until:"9.0"});let e=[()=>this.faker.location.cardinalDirection(),this.faker.location.country,this.faker.location.county,()=>this.faker.location.direction(),()=>this.faker.location.ordinalDirection(),this.faker.location.state,this.faker.location.street,this.faker.color.human,this.faker.commerce.department,this.faker.commerce.product,this.faker.commerce.productAdjective,this.faker.commerce.productMaterial,this.faker.commerce.productName,this.faker.company.buzzAdjective,this.faker.company.buzzNoun,this.faker.company.buzzVerb,this.faker.company.catchPhraseAdjective,this.faker.company.catchPhraseDescriptor,this.faker.company.catchPhraseNoun,this.faker.finance.accountName,this.faker.finance.currencyName,this.faker.finance.transactionType,this.faker.hacker.abbreviation,this.faker.hacker.adjective,this.faker.hacker.ingverb,this.faker.hacker.noun,this.faker.hacker.verb,this.faker.lorem.word,this.faker.music.genre,this.faker.person.gender,this.faker.person.jobArea,this.faker.person.jobDescriptor,this.faker.person.jobTitle,this.faker.person.jobType,this.faker.person.sex,()=>this.faker.science.chemicalElement().name,()=>this.faker.science.unit().name,this.faker.vehicle.bicycle,this.faker.vehicle.color,this.faker.vehicle.fuel,this.faker.vehicle.manufacturer,this.faker.vehicle.type,this.faker.word.adjective,this.faker.word.adverb,this.faker.word.conjunction,this.faker.word.interjection,this.faker.word.noun,this.faker.word.preposition,this.faker.word.verb],t=["!","#","%","&","*",")","(","+","=",".","<",">","{","}","[","]",":",";","'",'"',"_","-"],i="",r=0;do{let o=this.faker.helpers.arrayElement(e);try{i=o()}catch{if(r++,r>100)throw new ti("No matching word data available for the current locale");continue}}while(!i||t.some(o=>i.includes(o)));return this.faker.helpers.arrayElement(i.split(" "))}words(e={min:1,max:3}){return Ht({deprecated:"faker.random.words()",proposed:"faker.lorem.words() or faker.word.words()",since:"8.0",until:"9.0"}),this.faker.helpers.multiple(this.word,{count:e}).join(" ")}locale(){throw new ti("This method has been removed. Please use `faker.helpers.objectKey(allLocales/allFakers)` instead.")}alpha(e={}){return Ht({deprecated:"faker.random.alpha()",proposed:"faker.string.alpha()",since:"8.0",until:"9.0"}),typeof e=="number"?this.faker.string.alpha(e):this.faker.string.alpha({length:e.count,casing:e.casing,exclude:e.bannedChars})}alphaNumeric(e=1,t={}){return Ht({deprecated:"faker.random.alphaNumeric()",proposed:"faker.string.alphanumeric()",since:"8.0",until:"9.0"}),this.faker.string.alphanumeric({length:e,exclude:t.bannedChars,casing:t.casing})}numeric(e=1,t={}){return Ht({deprecated:"faker.random.numeric()",proposed:"faker.string.numeric()",since:"8.0",until:"9.0"}),this.faker.string.numeric({length:e,allowLeadingZeros:t.allowLeadingZeros,exclude:t.bannedDigits})}},yOt=class extends As{chemicalElement(){return this.faker.helpers.arrayElement(this.faker.definitions.science.chemicalElement)}unit(){return this.faker.helpers.arrayElement(this.faker.definitions.science.unit)}},vOt=["video","audio","image","text","application"],COt=["application/pdf","audio/mpeg","audio/wav","image/png","image/jpeg","image/gif","video/mp4","video/mpeg","text/html"],SOt=["en","wl","ww"],NDe={index:"o",slot:"s",mac:"x",pci:"p"},wOt=["SUN","MON","TUE","WED","THU","FRI","SAT"],xOt=class extends As{fileName(e={}){let{extensionCount:t=1}=e,i=this.faker.word.words().toLowerCase().replace(/\W/g,"_"),r=this.faker.helpers.multiple(()=>this.fileExt(),{count:t}).join(".");return r.length===0?i:`${i}.${r}`}commonFileName(e){return`${this.fileName({extensionCount:0})}.${e||this.commonFileExt()}`}mimeType(){let e=Object.keys(this.faker.definitions.system.mimeTypes);return this.faker.helpers.arrayElement(e)}commonFileType(){return this.faker.helpers.arrayElement(vOt)}commonFileExt(){return this.fileExt(this.faker.helpers.arrayElement(COt))}fileType(){let e=this.faker.definitions.system.mimeTypes,t=new Set(Object.keys(e).map(i=>i.split("/")[0]));return this.faker.helpers.arrayElement([...t])}fileExt(e){let t=this.faker.definitions.system.mimeTypes;if(typeof e=="string")return this.faker.helpers.arrayElement(t[e].extensions);let i=new Set(Object.values(t).flatMap(({extensions:r})=>r));return this.faker.helpers.arrayElement([...i])}directoryPath(){let e=this.faker.definitions.system.directoryPaths;return this.faker.helpers.arrayElement(e)}filePath(){return`${this.directoryPath()}/${this.fileName()}`}semver(){return[this.faker.number.int(9),this.faker.number.int(9),this.faker.number.int(9)].join(".")}networkInterface(e={}){var t,i,r,o,s;let{interfaceType:a=this.faker.helpers.arrayElement(SOt),interfaceSchema:l=this.faker.helpers.objectKey(NDe)}=e,u,c="",d=()=>this.faker.string.numeric({allowLeadingZeros:!0});switch(l){case"index":u=d();break;case"slot":u=`${d()}${(t=this.faker.helpers.maybe(()=>`f${d()}`))!=null?t:""}${(i=this.faker.helpers.maybe(()=>`d${d()}`))!=null?i:""}`;break;case"mac":u=this.faker.internet.mac("");break;case"pci":c=(r=this.faker.helpers.maybe(()=>`P${d()}`))!=null?r:"",u=`${d()}s${d()}${(o=this.faker.helpers.maybe(()=>`f${d()}`))!=null?o:""}${(s=this.faker.helpers.maybe(()=>`d${d()}`))!=null?s:""}`;break}return`${c}${a}${NDe[l]}${u}`}cron(e={}){let{includeYear:t=!1,includeNonStandard:i=!1}=e,r=[this.faker.number.int(59),"*"],o=[this.faker.number.int(23),"*"],s=[this.faker.number.int({min:1,max:31}),"*","?"],a=[this.faker.number.int({min:1,max:12}),"*"],l=[this.faker.number.int(6),this.faker.helpers.arrayElement(wOt),"*","?"],u=[this.faker.number.int({min:1970,max:2099}),"*"],c=this.faker.helpers.arrayElement(r),d=this.faker.helpers.arrayElement(o),h=this.faker.helpers.arrayElement(s),m=this.faker.helpers.arrayElement(a),f=this.faker.helpers.arrayElement(l),g=this.faker.helpers.arrayElement(u),b=`${c} ${d} ${h} ${m} ${f}`;t&&(b+=` ${g}`);let y=["@annually","@daily","@hourly","@monthly","@reboot","@weekly","@yearly"];return!i||this.faker.datatype.boolean()?b:this.faker.helpers.arrayElement(y)}},_Ot=class extends As{vehicle(){return`${this.manufacturer()} ${this.model()}`}manufacturer(){return this.faker.helpers.arrayElement(this.faker.definitions.vehicle.manufacturer)}model(){return this.faker.helpers.arrayElement(this.faker.definitions.vehicle.model)}type(){return this.faker.helpers.arrayElement(this.faker.definitions.vehicle.type)}fuel(){return this.faker.helpers.arrayElement(this.faker.definitions.vehicle.fuel)}vin(){let e=["o","i","q","O","I","Q"];return`${this.faker.string.alphanumeric({length:10,casing:"upper",exclude:e})}${this.faker.string.alpha({length:1,casing:"upper",exclude:e})}${this.faker.string.alphanumeric({length:1,casing:"upper",exclude:e})}${this.faker.number.int({min:1e4,max:99999})}`}color(){return this.faker.color.human()}vrm(){return`${this.faker.string.alpha({length:2,casing:"upper"})}${this.faker.string.numeric({length:2,allowLeadingZeros:!0})}${this.faker.string.alpha({length:3,casing:"upper"})}`}bicycle(){return this.faker.helpers.arrayElement(this.faker.definitions.vehicle.bicycle_type)}},LOt=class extends As{adjective(e={}){let t=typeof e=="number"?{length:e}:e;return this.faker.helpers.arrayElement(_1({...t,wordList:this.faker.definitions.word.adjective}))}adverb(e={}){let t=typeof e=="number"?{length:e}:e;return this.faker.helpers.arrayElement(_1({...t,wordList:this.faker.definitions.word.adverb}))}conjunction(e={}){let t=typeof e=="number"?{length:e}:e;return this.faker.helpers.arrayElement(_1({...t,wordList:this.faker.definitions.word.conjunction}))}interjection(e={}){let t=typeof e=="number"?{length:e}:e;return this.faker.helpers.arrayElement(_1({...t,wordList:this.faker.definitions.word.interjection}))}noun(e={}){let t=typeof e=="number"?{length:e}:e;return this.faker.helpers.arrayElement(_1({...t,wordList:this.faker.definitions.word.noun}))}preposition(e={}){let t=typeof e=="number"?{length:e}:e;return this.faker.helpers.arrayElement(_1({...t,wordList:this.faker.definitions.word.preposition}))}verb(e={}){let t=typeof e=="number"?{length:e}:e;return this.faker.helpers.arrayElement(_1({...t,wordList:this.faker.definitions.word.verb}))}sample(e={}){let t=this.faker.helpers.shuffle([this.adjective,this.adverb,this.conjunction,this.interjection,this.noun,this.preposition,this.verb]);for(let i of t)try{return i(e)}catch{continue}throw new ti("No matching word data available for the current locale")}words(e={}){typeof e=="number"&&(e={count:e});let{count:t={min:1,max:3}}=e;return this.faker.helpers.multiple(()=>this.sample(),{count:t}).join(" ")}},IOt=class extends FDe{constructor(e){super({randomizer:e.randomizer}),Li(this,"rawDefinitions"),Li(this,"definitions"),Li(this,"random",new bOt(this)),Li(this,"airline",new CPt(this)),Li(this,"animal",new zPt(this)),Li(this,"color",new xPt(this)),Li(this,"commerce",new YPt(this)),Li(this,"company",new UPt(this)),Li(this,"database",new KPt(this)),Li(this,"date",new MPt(this)),Li(this,"finance",new QPt(this)),Li(this,"git",new qPt(this)),Li(this,"hacker",new eOt(this)),Li(this,"helpers",new XPt(this)),Li(this,"image",new rOt(this)),Li(this,"internet",new dOt(this)),Li(this,"location",new hOt(this)),Li(this,"lorem",new fOt(this)),Li(this,"music",new gOt(this)),Li(this,"person",new IPt(this)),Li(this,"phone",new pOt(this)),Li(this,"science",new yOt(this)),Li(this,"system",new xOt(this)),Li(this,"vehicle",new _Ot(this)),Li(this,"word",new LOt(this));let{locales:t}=e;if(t!=null){Ht({deprecated:"new Faker({ locales: {a, b}, locale: 'a', localeFallback: 'b' })",proposed:"new Faker({ locale: [a, b, ...] }) or new Faker({ locale: a })",since:"8.0",until:"9.0"});let{locale:r="en",localeFallback:o="en"}=e;e={locale:[t[r],t[o]]}}let{locale:i}=e;if(Array.isArray(i)){if(i.length===0)throw new ti("The locale option must contain at least one locale definition.");i=BPt(i)}this.rawDefinitions=i,this.definitions=_Pt(this.rawDefinitions)}get address(){return Ht({deprecated:"faker.address",proposed:"faker.location",since:"8.0",until:"10.0"}),this.location}get name(){return Ht({deprecated:"faker.name",proposed:"faker.person",since:"8.0",until:"10.0"}),this.person}getMetadata(){var e;return(e=this.rawDefinitions.metadata)!=null?e:{}}get locales(){throw new ti("The locales property has been removed. Please use the constructor instead.")}set locales(e){throw new ti("The locales property has been removed. Please use the constructor instead.")}get locale(){throw new ti("The locale property has been removed. Please use the constructor instead.")}set locale(e){throw new ti("The locale property has been removed. Please use the constructor instead.")}get localeFallback(){throw new ti("The localeFallback property has been removed. Please use the constructor instead.")}set localeFallback(e){throw new ti("The localeFallback property has been removed. Please use the constructor instead.")}setLocale(){throw new ti("This method has been removed. Please use the constructor instead.")}},FOt=["CIE 1931 XYZ","CIEUVW","Uniform Color Spaces (UCSs)","CIELUV","CIELAB","HSLuv","sRGB","Adobe RGB","Adobe Wide Gamut RGB","Rec. 2100","ProPhoto RGB Color Space","scRGB","DCI-P3","Display-P3","Rec. 601","Rec. 709","Academy Color Encoding System (ACES)","Rec. 2020","YPbPr","YDbDr","YIQ","xvYCC","sYCC","HSV","HSL","HWB","RGBA","HSLA","LCh","CMY","CMYK","Munsell Color System","Natural Color System (NSC)","Pantone Matching System (PMS)","RAL","Federal Standard 595C","British Standard Colour (BS)","HKS","LMS","RG","RGK"],DOt={space:FOt},NOt=DOt,MOt=["utf8_unicode_ci","utf8_general_ci","utf8_bin","ascii_bin","ascii_general_ci","cp1250_bin","cp1250_general_ci"],kOt=["InnoDB","MyISAM","MEMORY","CSV","BLACKHOLE","ARCHIVE"],TOt=["int","varchar","text","date","datetime","tinyint","time","timestamp","smallint","mediumint","bigint","decimal","float","double","real","bit","boolean","serial","blob","binary","enum","set","geometry","point"],EOt={collation:MOt,engine:kOt,type:TOt},ROt=EOt,ZOt=["ADP","AGP","AI","API","ASCII","CLI","COM","CSS","DNS","DRAM","EXE","FTP","GB","HDD","HEX","HTTP","IB","IP","JBOD","JSON","OCR","PCI","PNG","RAM","RSS","SAS","SCSI","SDD","SMS","SMTP","SQL","SSD","SSL","TCP","THX","TLS","UDP","USB","UTF8","VGA","XML","XSS"],WOt={abbreviation:ZOt},AOt=WOt,VOt={smiley:["😀","😃","😄","😁","😆","😅","🤣","😂","🙂","🙃","😉","😊","😇","🥰","😍","🤩","😘","😗","☺️","😚","😙","🥲","😋","😛","😜","🤪","😝","🤑","🤗","🤭","🤫","🤔","🤐","🤨","😐","😑","😶","😶‍🌫️","😏","😒","🙄","😬","😮‍💨","🤥","😌","😔","😪","🤤","😴","😷","🤒","🤕","🤢","🤮","🤧","🥵","🥶","🥴","😵","😵‍💫","🤯","🤠","🥳","🥸","😎","🤓","🧐","😕","😟","🙁","☹️","😮","😯","😲","😳","🥺","😦","😧","😨","😰","😥","😢","😭","😱","😖","😣","😞","😓","😩","😫","🥱","😤","😡","😠","🤬","😈","👿","💀","☠️","💩","🤡","👹","👺","👻","👽","👾","🤖","😺","😸","😹","😻","😼","😽","🙀","😿","😾","🙈","🙉","🙊","💋","💌","💘","💝","💖","💗","💓","💞","💕","💟","❣️","💔","❤️‍🔥","❤️‍🩹","❤️","🧡","💛","💚","💙","💜","🤎","🖤","🤍","💯","💢","💥","💫","💦","💨","🕳️","💣","💬","👁️‍🗨️","🗨️","🗯️","💭","💤"],body:["👋","👋🏻","👋🏼","👋🏽","👋🏾","👋🏿","🤚","🤚🏻","🤚🏼","🤚🏽","🤚🏾","🤚🏿","🖐️","🖐🏻","🖐🏼","🖐🏽","🖐🏾","🖐🏿","✋","✋🏻","✋🏼","✋🏽","✋🏾","✋🏿","🖖","🖖🏻","🖖🏼","🖖🏽","🖖🏾","🖖🏿","👌","👌🏻","👌🏼","👌🏽","👌🏾","👌🏿","🤌","🤌🏻","🤌🏼","🤌🏽","🤌🏾","🤌🏿","🤏","🤏🏻","🤏🏼","🤏🏽","🤏🏾","🤏🏿","✌️","✌🏻","✌🏼","✌🏽","✌🏾","✌🏿","🤞","🤞🏻","🤞🏼","🤞🏽","🤞🏾","🤞🏿","🤟","🤟🏻","🤟🏼","🤟🏽","🤟🏾","🤟🏿","🤘","🤘🏻","🤘🏼","🤘🏽","🤘🏾","🤘🏿","🤙","🤙🏻","🤙🏼","🤙🏽","🤙🏾","🤙🏿","👈","👈🏻","👈🏼","👈🏽","👈🏾","👈🏿","👉","👉🏻","👉🏼","👉🏽","👉🏾","👉🏿","👆","👆🏻","👆🏼","👆🏽","👆🏾","👆🏿","🖕","🖕🏻","🖕🏼","🖕🏽","🖕🏾","🖕🏿","👇","👇🏻","👇🏼","👇🏽","👇🏾","👇🏿","☝️","☝🏻","☝🏼","☝🏽","☝🏾","☝🏿","👍","👍🏻","👍🏼","👍🏽","👍🏾","👍🏿","👎","👎🏻","👎🏼","👎🏽","👎🏾","👎🏿","✊","✊🏻","✊🏼","✊🏽","✊🏾","✊🏿","👊","👊🏻","👊🏼","👊🏽","👊🏾","👊🏿","🤛","🤛🏻","🤛🏼","🤛🏽","🤛🏾","🤛🏿","🤜","🤜🏻","🤜🏼","🤜🏽","🤜🏾","🤜🏿","👏","👏🏻","👏🏼","👏🏽","👏🏾","👏🏿","🙌","🙌🏻","🙌🏼","🙌🏽","🙌🏾","🙌🏿","👐","👐🏻","👐🏼","👐🏽","👐🏾","👐🏿","🤲","🤲🏻","🤲🏼","🤲🏽","🤲🏾","🤲🏿","🤝","🙏","🙏🏻","🙏🏼","🙏🏽","🙏🏾","🙏🏿","✍️","✍🏻","✍🏼","✍🏽","✍🏾","✍🏿","💅","💅🏻","💅🏼","💅🏽","💅🏾","💅🏿","🤳","🤳🏻","🤳🏼","🤳🏽","🤳🏾","🤳🏿","💪","💪🏻","💪🏼","💪🏽","💪🏾","💪🏿","🦾","🦿","🦵","🦵🏻","🦵🏼","🦵🏽","🦵🏾","🦵🏿","🦶","🦶🏻","🦶🏼","🦶🏽","🦶🏾","🦶🏿","👂","👂🏻","👂🏼","👂🏽","👂🏾","👂🏿","🦻","🦻🏻","🦻🏼","🦻🏽","🦻🏾","🦻🏿","👃","👃🏻","👃🏼","👃🏽","👃🏾","👃🏿","🧠","🫀","🫁","🦷","🦴","👀","👁️","👅","👄"],person:["👶","👶🏻","👶🏼","👶🏽","👶🏾","👶🏿","🧒","🧒🏻","🧒🏼","🧒🏽","🧒🏾","🧒🏿","👦","👦🏻","👦🏼","👦🏽","👦🏾","👦🏿","👧","👧🏻","👧🏼","👧🏽","👧🏾","👧🏿","🧑","🧑🏻","🧑🏼","🧑🏽","🧑🏾","🧑🏿","👱","👱🏻","👱🏼","👱🏽","👱🏾","👱🏿","👨","👨🏻","👨🏼","👨🏽","👨🏾","👨🏿","🧔","🧔🏻","🧔🏼","🧔🏽","🧔🏾","🧔🏿","🧔‍♂️","🧔🏻‍♂️","🧔🏼‍♂️","🧔🏽‍♂️","🧔🏾‍♂️","🧔🏿‍♂️","🧔‍♀️","🧔🏻‍♀️","🧔🏼‍♀️","🧔🏽‍♀️","🧔🏾‍♀️","🧔🏿‍♀️","👨‍🦰","👨🏻‍🦰","👨🏼‍🦰","👨🏽‍🦰","👨🏾‍🦰","👨🏿‍🦰","👨‍🦱","👨🏻‍🦱","👨🏼‍🦱","👨🏽‍🦱","👨🏾‍🦱","👨🏿‍🦱","👨‍🦳","👨🏻‍🦳","👨🏼‍🦳","👨🏽‍🦳","👨🏾‍🦳","👨🏿‍🦳","👨‍🦲","👨🏻‍🦲","👨🏼‍🦲","👨🏽‍🦲","👨🏾‍🦲","👨🏿‍🦲","👩","👩🏻","👩🏼","👩🏽","👩🏾","👩🏿","👩‍🦰","👩🏻‍🦰","👩🏼‍🦰","👩🏽‍🦰","👩🏾‍🦰","👩🏿‍🦰","🧑‍🦰","🧑🏻‍🦰","🧑🏼‍🦰","🧑🏽‍🦰","🧑🏾‍🦰","🧑🏿‍🦰","👩‍🦱","👩🏻‍🦱","👩🏼‍🦱","👩🏽‍🦱","👩🏾‍🦱","👩🏿‍🦱","🧑‍🦱","🧑🏻‍🦱","🧑🏼‍🦱","🧑🏽‍🦱","🧑🏾‍🦱","🧑🏿‍🦱","👩‍🦳","👩🏻‍🦳","👩🏼‍🦳","👩🏽‍🦳","👩🏾‍🦳","👩🏿‍🦳","🧑‍🦳","🧑🏻‍🦳","🧑🏼‍🦳","🧑🏽‍🦳","🧑🏾‍🦳","🧑🏿‍🦳","👩‍🦲","👩🏻‍🦲","👩🏼‍🦲","👩🏽‍🦲","👩🏾‍🦲","👩🏿‍🦲","🧑‍🦲","🧑🏻‍🦲","🧑🏼‍🦲","🧑🏽‍🦲","🧑🏾‍🦲","🧑🏿‍🦲","👱‍♀️","👱🏻‍♀️","👱🏼‍♀️","👱🏽‍♀️","👱🏾‍♀️","👱🏿‍♀️","👱‍♂️","👱🏻‍♂️","👱🏼‍♂️","👱🏽‍♂️","👱🏾‍♂️","👱🏿‍♂️","🧓","🧓🏻","🧓🏼","🧓🏽","🧓🏾","🧓🏿","👴","👴🏻","👴🏼","👴🏽","👴🏾","👴🏿","👵","👵🏻","👵🏼","👵🏽","👵🏾","👵🏿","🙍","🙍🏻","🙍🏼","🙍🏽","🙍🏾","🙍🏿","🙍‍♂️","🙍🏻‍♂️","🙍🏼‍♂️","🙍🏽‍♂️","🙍🏾‍♂️","🙍🏿‍♂️","🙍‍♀️","🙍🏻‍♀️","🙍🏼‍♀️","🙍🏽‍♀️","🙍🏾‍♀️","🙍🏿‍♀️","🙎","🙎🏻","🙎🏼","🙎🏽","🙎🏾","🙎🏿","🙎‍♂️","🙎🏻‍♂️","🙎🏼‍♂️","🙎🏽‍♂️","🙎🏾‍♂️","🙎🏿‍♂️","🙎‍♀️","🙎🏻‍♀️","🙎🏼‍♀️","🙎🏽‍♀️","🙎🏾‍♀️","🙎🏿‍♀️","🙅","🙅🏻","🙅🏼","🙅🏽","🙅🏾","🙅🏿","🙅‍♂️","🙅🏻‍♂️","🙅🏼‍♂️","🙅🏽‍♂️","🙅🏾‍♂️","🙅🏿‍♂️","🙅‍♀️","🙅🏻‍♀️","🙅🏼‍♀️","🙅🏽‍♀️","🙅🏾‍♀️","🙅🏿‍♀️","🙆","🙆🏻","🙆🏼","🙆🏽","🙆🏾","🙆🏿","🙆‍♂️","🙆🏻‍♂️","🙆🏼‍♂️","🙆🏽‍♂️","🙆🏾‍♂️","🙆🏿‍♂️","🙆‍♀️","🙆🏻‍♀️","🙆🏼‍♀️","🙆🏽‍♀️","🙆🏾‍♀️","🙆🏿‍♀️","💁","💁🏻","💁🏼","💁🏽","💁🏾","💁🏿","💁‍♂️","💁🏻‍♂️","💁🏼‍♂️","💁🏽‍♂️","💁🏾‍♂️","💁🏿‍♂️","💁‍♀️","💁🏻‍♀️","💁🏼‍♀️","💁🏽‍♀️","💁🏾‍♀️","💁🏿‍♀️","🙋","🙋🏻","🙋🏼","🙋🏽","🙋🏾","🙋🏿","🙋‍♂️","🙋🏻‍♂️","🙋🏼‍♂️","🙋🏽‍♂️","🙋🏾‍♂️","🙋🏿‍♂️","🙋‍♀️","🙋🏻‍♀️","🙋🏼‍♀️","🙋🏽‍♀️","🙋🏾‍♀️","🙋🏿‍♀️","🧏","🧏🏻","🧏🏼","🧏🏽","🧏🏾","🧏🏿","🧏‍♂️","🧏🏻‍♂️","🧏🏼‍♂️","🧏🏽‍♂️","🧏🏾‍♂️","🧏🏿‍♂️","🧏‍♀️","🧏🏻‍♀️","🧏🏼‍♀️","🧏🏽‍♀️","🧏🏾‍♀️","🧏🏿‍♀️","🙇","🙇🏻","🙇🏼","🙇🏽","🙇🏾","🙇🏿","🙇‍♂️","🙇🏻‍♂️","🙇🏼‍♂️","🙇🏽‍♂️","🙇🏾‍♂️","🙇🏿‍♂️","🙇‍♀️","🙇🏻‍♀️","🙇🏼‍♀️","🙇🏽‍♀️","🙇🏾‍♀️","🙇🏿‍♀️","🤦","🤦🏻","🤦🏼","🤦🏽","🤦🏾","🤦🏿","🤦‍♂️","🤦🏻‍♂️","🤦🏼‍♂️","🤦🏽‍♂️","🤦🏾‍♂️","🤦🏿‍♂️","🤦‍♀️","🤦🏻‍♀️","🤦🏼‍♀️","🤦🏽‍♀️","🤦🏾‍♀️","🤦🏿‍♀️","🤷","🤷🏻","🤷🏼","🤷🏽","🤷🏾","🤷🏿","🤷‍♂️","🤷🏻‍♂️","🤷🏼‍♂️","🤷🏽‍♂️","🤷🏾‍♂️","🤷🏿‍♂️","🤷‍♀️","🤷🏻‍♀️","🤷🏼‍♀️","🤷🏽‍♀️","🤷🏾‍♀️","🤷🏿‍♀️","🧑‍⚕️","🧑🏻‍⚕️","🧑🏼‍⚕️","🧑🏽‍⚕️","🧑🏾‍⚕️","🧑🏿‍⚕️","👨‍⚕️","👨🏻‍⚕️","👨🏼‍⚕️","👨🏽‍⚕️","👨🏾‍⚕️","👨🏿‍⚕️","👩‍⚕️","👩🏻‍⚕️","👩🏼‍⚕️","👩🏽‍⚕️","👩🏾‍⚕️","👩🏿‍⚕️","🧑‍🎓","🧑🏻‍🎓","🧑🏼‍🎓","🧑🏽‍🎓","🧑🏾‍🎓","🧑🏿‍🎓","👨‍🎓","👨🏻‍🎓","👨🏼‍🎓","👨🏽‍🎓","👨🏾‍🎓","👨🏿‍🎓","👩‍🎓","👩🏻‍🎓","👩🏼‍🎓","👩🏽‍🎓","👩🏾‍🎓","👩🏿‍🎓","🧑‍🏫","🧑🏻‍🏫","🧑🏼‍🏫","🧑🏽‍🏫","🧑🏾‍🏫","🧑🏿‍🏫","👨‍🏫","👨🏻‍🏫","👨🏼‍🏫","👨🏽‍🏫","👨🏾‍🏫","👨🏿‍🏫","👩‍🏫","👩🏻‍🏫","👩🏼‍🏫","👩🏽‍🏫","👩🏾‍🏫","👩🏿‍🏫","🧑‍⚖️","🧑🏻‍⚖️","🧑🏼‍⚖️","🧑🏽‍⚖️","🧑🏾‍⚖️","🧑🏿‍⚖️","👨‍⚖️","👨🏻‍⚖️","👨🏼‍⚖️","👨🏽‍⚖️","👨🏾‍⚖️","👨🏿‍⚖️","👩‍⚖️","👩🏻‍⚖️","👩🏼‍⚖️","👩🏽‍⚖️","👩🏾‍⚖️","👩🏿‍⚖️","🧑‍🌾","🧑🏻‍🌾","🧑🏼‍🌾","🧑🏽‍🌾","🧑🏾‍🌾","🧑🏿‍🌾","👨‍🌾","👨🏻‍🌾","👨🏼‍🌾","👨🏽‍🌾","👨🏾‍🌾","👨🏿‍🌾","👩‍🌾","👩🏻‍🌾","👩🏼‍🌾","👩🏽‍🌾","👩🏾‍🌾","👩🏿‍🌾","🧑‍🍳","🧑🏻‍🍳","🧑🏼‍🍳","🧑🏽‍🍳","🧑🏾‍🍳","🧑🏿‍🍳","👨‍🍳","👨🏻‍🍳","👨🏼‍🍳","👨🏽‍🍳","👨🏾‍🍳","👨🏿‍🍳","👩‍🍳","👩🏻‍🍳","👩🏼‍🍳","👩🏽‍🍳","👩🏾‍🍳","👩🏿‍🍳","🧑‍🔧","🧑🏻‍🔧","🧑🏼‍🔧","🧑🏽‍🔧","🧑🏾‍🔧","🧑🏿‍🔧","👨‍🔧","👨🏻‍🔧","👨🏼‍🔧","👨🏽‍🔧","👨🏾‍🔧","👨🏿‍🔧","👩‍🔧","👩🏻‍🔧","👩🏼‍🔧","👩🏽‍🔧","👩🏾‍🔧","👩🏿‍🔧","🧑‍🏭","🧑🏻‍🏭","🧑🏼‍🏭","🧑🏽‍🏭","🧑🏾‍🏭","🧑🏿‍🏭","👨‍🏭","👨🏻‍🏭","👨🏼‍🏭","👨🏽‍🏭","👨🏾‍🏭","👨🏿‍🏭","👩‍🏭","👩🏻‍🏭","👩🏼‍🏭","👩🏽‍🏭","👩🏾‍🏭","👩🏿‍🏭","🧑‍💼","🧑🏻‍💼","🧑🏼‍💼","🧑🏽‍💼","🧑🏾‍💼","🧑🏿‍💼","👨‍💼","👨🏻‍💼","👨🏼‍💼","👨🏽‍💼","👨🏾‍💼","👨🏿‍💼","👩‍💼","👩🏻‍💼","👩🏼‍💼","👩🏽‍💼","👩🏾‍💼","👩🏿‍💼","🧑‍🔬","🧑🏻‍🔬","🧑🏼‍🔬","🧑🏽‍🔬","🧑🏾‍🔬","🧑🏿‍🔬","👨‍🔬","👨🏻‍🔬","👨🏼‍🔬","👨🏽‍🔬","👨🏾‍🔬","👨🏿‍🔬","👩‍🔬","👩🏻‍🔬","👩🏼‍🔬","👩🏽‍🔬","👩🏾‍🔬","👩🏿‍🔬","🧑‍💻","🧑🏻‍💻","🧑🏼‍💻","🧑🏽‍💻","🧑🏾‍💻","🧑🏿‍💻","👨‍💻","👨🏻‍💻","👨🏼‍💻","👨🏽‍💻","👨🏾‍💻","👨🏿‍💻","👩‍💻","👩🏻‍💻","👩🏼‍💻","👩🏽‍💻","👩🏾‍💻","👩🏿‍💻","🧑‍🎤","🧑🏻‍🎤","🧑🏼‍🎤","🧑🏽‍🎤","🧑🏾‍🎤","🧑🏿‍🎤","👨‍🎤","👨🏻‍🎤","👨🏼‍🎤","👨🏽‍🎤","👨🏾‍🎤","👨🏿‍🎤","👩‍🎤","👩🏻‍🎤","👩🏼‍🎤","👩🏽‍🎤","👩🏾‍🎤","👩🏿‍🎤","🧑‍🎨","🧑🏻‍🎨","🧑🏼‍🎨","🧑🏽‍🎨","🧑🏾‍🎨","🧑🏿‍🎨","👨‍🎨","👨🏻‍🎨","👨🏼‍🎨","👨🏽‍🎨","👨🏾‍🎨","👨🏿‍🎨","👩‍🎨","👩🏻‍🎨","👩🏼‍🎨","👩🏽‍🎨","👩🏾‍🎨","👩🏿‍🎨","🧑‍✈️","🧑🏻‍✈️","🧑🏼‍✈️","🧑🏽‍✈️","🧑🏾‍✈️","🧑🏿‍✈️","👨‍✈️","👨🏻‍✈️","👨🏼‍✈️","👨🏽‍✈️","👨🏾‍✈️","👨🏿‍✈️","👩‍✈️","👩🏻‍✈️","👩🏼‍✈️","👩🏽‍✈️","👩🏾‍✈️","👩🏿‍✈️","🧑‍🚀","🧑🏻‍🚀","🧑🏼‍🚀","🧑🏽‍🚀","🧑🏾‍🚀","🧑🏿‍🚀","👨‍🚀","👨🏻‍🚀","👨🏼‍🚀","👨🏽‍🚀","👨🏾‍🚀","👨🏿‍🚀","👩‍🚀","👩🏻‍🚀","👩🏼‍🚀","👩🏽‍🚀","👩🏾‍🚀","👩🏿‍🚀","🧑‍🚒","🧑🏻‍🚒","🧑🏼‍🚒","🧑🏽‍🚒","🧑🏾‍🚒","🧑🏿‍🚒","👨‍🚒","👨🏻‍🚒","👨🏼‍🚒","👨🏽‍🚒","👨🏾‍🚒","👨🏿‍🚒","👩‍🚒","👩🏻‍🚒","👩🏼‍🚒","👩🏽‍🚒","👩🏾‍🚒","👩🏿‍🚒","👮","👮🏻","👮🏼","👮🏽","👮🏾","👮🏿","👮‍♂️","👮🏻‍♂️","👮🏼‍♂️","👮🏽‍♂️","👮🏾‍♂️","👮🏿‍♂️","👮‍♀️","👮🏻‍♀️","👮🏼‍♀️","👮🏽‍♀️","👮🏾‍♀️","👮🏿‍♀️","🕵️","🕵🏻","🕵🏼","🕵🏽","🕵🏾","🕵🏿","🕵️‍♂️","🕵🏻‍♂️","🕵🏼‍♂️","🕵🏽‍♂️","🕵🏾‍♂️","🕵🏿‍♂️","🕵️‍♀️","🕵🏻‍♀️","🕵🏼‍♀️","🕵🏽‍♀️","🕵🏾‍♀️","🕵🏿‍♀️","💂","💂🏻","💂🏼","💂🏽","💂🏾","💂🏿","💂‍♂️","💂🏻‍♂️","💂🏼‍♂️","💂🏽‍♂️","💂🏾‍♂️","💂🏿‍♂️","💂‍♀️","💂🏻‍♀️","💂🏼‍♀️","💂🏽‍♀️","💂🏾‍♀️","💂🏿‍♀️","🥷","🥷🏻","🥷🏼","🥷🏽","🥷🏾","🥷🏿","👷","👷🏻","👷🏼","👷🏽","👷🏾","👷🏿","👷‍♂️","👷🏻‍♂️","👷🏼‍♂️","👷🏽‍♂️","👷🏾‍♂️","👷🏿‍♂️","👷‍♀️","👷🏻‍♀️","👷🏼‍♀️","👷🏽‍♀️","👷🏾‍♀️","👷🏿‍♀️","🤴","🤴🏻","🤴🏼","🤴🏽","🤴🏾","🤴🏿","👸","👸🏻","👸🏼","👸🏽","👸🏾","👸🏿","👳","👳🏻","👳🏼","👳🏽","👳🏾","👳🏿","👳‍♂️","👳🏻‍♂️","👳🏼‍♂️","👳🏽‍♂️","👳🏾‍♂️","👳🏿‍♂️","👳‍♀️","👳🏻‍♀️","👳🏼‍♀️","👳🏽‍♀️","👳🏾‍♀️","👳🏿‍♀️","👲","👲🏻","👲🏼","👲🏽","👲🏾","👲🏿","🧕","🧕🏻","🧕🏼","🧕🏽","🧕🏾","🧕🏿","🤵","🤵🏻","🤵🏼","🤵🏽","🤵🏾","🤵🏿","🤵‍♂️","🤵🏻‍♂️","🤵🏼‍♂️","🤵🏽‍♂️","🤵🏾‍♂️","🤵🏿‍♂️","🤵‍♀️","🤵🏻‍♀️","🤵🏼‍♀️","🤵🏽‍♀️","🤵🏾‍♀️","🤵🏿‍♀️","👰","👰🏻","👰🏼","👰🏽","👰🏾","👰🏿","👰‍♂️","👰🏻‍♂️","👰🏼‍♂️","👰🏽‍♂️","👰🏾‍♂️","👰🏿‍♂️","👰‍♀️","👰🏻‍♀️","👰🏼‍♀️","👰🏽‍♀️","👰🏾‍♀️","👰🏿‍♀️","🤰","🤰🏻","🤰🏼","🤰🏽","🤰🏾","🤰🏿","🤱","🤱🏻","🤱🏼","🤱🏽","🤱🏾","🤱🏿","👩‍🍼","👩🏻‍🍼","👩🏼‍🍼","👩🏽‍🍼","👩🏾‍🍼","👩🏿‍🍼","👨‍🍼","👨🏻‍🍼","👨🏼‍🍼","👨🏽‍🍼","👨🏾‍🍼","👨🏿‍🍼","🧑‍🍼","🧑🏻‍🍼","🧑🏼‍🍼","🧑🏽‍🍼","🧑🏾‍🍼","🧑🏿‍🍼","👼","👼🏻","👼🏼","👼🏽","👼🏾","👼🏿","🎅","🎅🏻","🎅🏼","🎅🏽","🎅🏾","🎅🏿","🤶","🤶🏻","🤶🏼","🤶🏽","🤶🏾","🤶🏿","🧑‍🎄","🧑🏻‍🎄","🧑🏼‍🎄","🧑🏽‍🎄","🧑🏾‍🎄","🧑🏿‍🎄","🦸","🦸🏻","🦸🏼","🦸🏽","🦸🏾","🦸🏿","🦸‍♂️","🦸🏻‍♂️","🦸🏼‍♂️","🦸🏽‍♂️","🦸🏾‍♂️","🦸🏿‍♂️","🦸‍♀️","🦸🏻‍♀️","🦸🏼‍♀️","🦸🏽‍♀️","🦸🏾‍♀️","🦸🏿‍♀️","🦹","🦹🏻","🦹🏼","🦹🏽","🦹🏾","🦹🏿","🦹‍♂️","🦹🏻‍♂️","🦹🏼‍♂️","🦹🏽‍♂️","🦹🏾‍♂️","🦹🏿‍♂️","🦹‍♀️","🦹🏻‍♀️","🦹🏼‍♀️","🦹🏽‍♀️","🦹🏾‍♀️","🦹🏿‍♀️","🧙","🧙🏻","🧙🏼","🧙🏽","🧙🏾","🧙🏿","🧙‍♂️","🧙🏻‍♂️","🧙🏼‍♂️","🧙🏽‍♂️","🧙🏾‍♂️","🧙🏿‍♂️","🧙‍♀️","🧙🏻‍♀️","🧙🏼‍♀️","🧙🏽‍♀️","🧙🏾‍♀️","🧙🏿‍♀️","🧚","🧚🏻","🧚🏼","🧚🏽","🧚🏾","🧚🏿","🧚‍♂️","🧚🏻‍♂️","🧚🏼‍♂️","🧚🏽‍♂️","🧚🏾‍♂️","🧚🏿‍♂️","🧚‍♀️","🧚🏻‍♀️","🧚🏼‍♀️","🧚🏽‍♀️","🧚🏾‍♀️","🧚🏿‍♀️","🧛","🧛🏻","🧛🏼","🧛🏽","🧛🏾","🧛🏿","🧛‍♂️","🧛🏻‍♂️","🧛🏼‍♂️","🧛🏽‍♂️","🧛🏾‍♂️","🧛🏿‍♂️","🧛‍♀️","🧛🏻‍♀️","🧛🏼‍♀️","🧛🏽‍♀️","🧛🏾‍♀️","🧛🏿‍♀️","🧜","🧜🏻","🧜🏼","🧜🏽","🧜🏾","🧜🏿","🧜‍♂️","🧜🏻‍♂️","🧜🏼‍♂️","🧜🏽‍♂️","🧜🏾‍♂️","🧜🏿‍♂️","🧜‍♀️","🧜🏻‍♀️","🧜🏼‍♀️","🧜🏽‍♀️","🧜🏾‍♀️","🧜🏿‍♀️","🧝","🧝🏻","🧝🏼","🧝🏽","🧝🏾","🧝🏿","🧝‍♂️","🧝🏻‍♂️","🧝🏼‍♂️","🧝🏽‍♂️","🧝🏾‍♂️","🧝🏿‍♂️","🧝‍♀️","🧝🏻‍♀️","🧝🏼‍♀️","🧝🏽‍♀️","🧝🏾‍♀️","🧝🏿‍♀️","🧞","🧞‍♂️","🧞‍♀️","🧟","🧟‍♂️","🧟‍♀️","💆","💆🏻","💆🏼","💆🏽","💆🏾","💆🏿","💆‍♂️","💆🏻‍♂️","💆🏼‍♂️","💆🏽‍♂️","💆🏾‍♂️","💆🏿‍♂️","💆‍♀️","💆🏻‍♀️","💆🏼‍♀️","💆🏽‍♀️","💆🏾‍♀️","💆🏿‍♀️","💇","💇🏻","💇🏼","💇🏽","💇🏾","💇🏿","💇‍♂️","💇🏻‍♂️","💇🏼‍♂️","💇🏽‍♂️","💇🏾‍♂️","💇🏿‍♂️","💇‍♀️","💇🏻‍♀️","💇🏼‍♀️","💇🏽‍♀️","💇🏾‍♀️","💇🏿‍♀️","🚶","🚶🏻","🚶🏼","🚶🏽","🚶🏾","🚶🏿","🚶‍♂️","🚶🏻‍♂️","🚶🏼‍♂️","🚶🏽‍♂️","🚶🏾‍♂️","🚶🏿‍♂️","🚶‍♀️","🚶🏻‍♀️","🚶🏼‍♀️","🚶🏽‍♀️","🚶🏾‍♀️","🚶🏿‍♀️","🧍","🧍🏻","🧍🏼","🧍🏽","🧍🏾","🧍🏿","🧍‍♂️","🧍🏻‍♂️","🧍🏼‍♂️","🧍🏽‍♂️","🧍🏾‍♂️","🧍🏿‍♂️","🧍‍♀️","🧍🏻‍♀️","🧍🏼‍♀️","🧍🏽‍♀️","🧍🏾‍♀️","🧍🏿‍♀️","🧎","🧎🏻","🧎🏼","🧎🏽","🧎🏾","🧎🏿","🧎‍♂️","🧎🏻‍♂️","🧎🏼‍♂️","🧎🏽‍♂️","🧎🏾‍♂️","🧎🏿‍♂️","🧎‍♀️","🧎🏻‍♀️","🧎🏼‍♀️","🧎🏽‍♀️","🧎🏾‍♀️","🧎🏿‍♀️","🧑‍🦯","🧑🏻‍🦯","🧑🏼‍🦯","🧑🏽‍🦯","🧑🏾‍🦯","🧑🏿‍🦯","👨‍🦯","👨🏻‍🦯","👨🏼‍🦯","👨🏽‍🦯","👨🏾‍🦯","👨🏿‍🦯","👩‍🦯","👩🏻‍🦯","👩🏼‍🦯","👩🏽‍🦯","👩🏾‍🦯","👩🏿‍🦯","🧑‍🦼","🧑🏻‍🦼","🧑🏼‍🦼","🧑🏽‍🦼","🧑🏾‍🦼","🧑🏿‍🦼","👨‍🦼","👨🏻‍🦼","👨🏼‍🦼","👨🏽‍🦼","👨🏾‍🦼","👨🏿‍🦼","👩‍🦼","👩🏻‍🦼","👩🏼‍🦼","👩🏽‍🦼","👩🏾‍🦼","👩🏿‍🦼","🧑‍🦽","🧑🏻‍🦽","🧑🏼‍🦽","🧑🏽‍🦽","🧑🏾‍🦽","🧑🏿‍🦽","👨‍🦽","👨🏻‍🦽","👨🏼‍🦽","👨🏽‍🦽","👨🏾‍🦽","👨🏿‍🦽","👩‍🦽","👩🏻‍🦽","👩🏼‍🦽","👩🏽‍🦽","👩🏾‍🦽","👩🏿‍🦽","🏃","🏃🏻","🏃🏼","🏃🏽","🏃🏾","🏃🏿","🏃‍♂️","🏃🏻‍♂️","🏃🏼‍♂️","🏃🏽‍♂️","🏃🏾‍♂️","🏃🏿‍♂️","🏃‍♀️","🏃🏻‍♀️","🏃🏼‍♀️","🏃🏽‍♀️","🏃🏾‍♀️","🏃🏿‍♀️","💃","💃🏻","💃🏼","💃🏽","💃🏾","💃🏿","🕺","🕺🏻","🕺🏼","🕺🏽","🕺🏾","🕺🏿","🕴️","🕴🏻","🕴🏼","🕴🏽","🕴🏾","🕴🏿","👯","👯‍♂️","👯‍♀️","🧖","🧖🏻","🧖🏼","🧖🏽","🧖🏾","🧖🏿","🧖‍♂️","🧖🏻‍♂️","🧖🏼‍♂️","🧖🏽‍♂️","🧖🏾‍♂️","🧖🏿‍♂️","🧖‍♀️","🧖🏻‍♀️","🧖🏼‍♀️","🧖🏽‍♀️","🧖🏾‍♀️","🧖🏿‍♀️","🧗","🧗🏻","🧗🏼","🧗🏽","🧗🏾","🧗🏿","🧗‍♂️","🧗🏻‍♂️","🧗🏼‍♂️","🧗🏽‍♂️","🧗🏾‍♂️","🧗🏿‍♂️","🧗‍♀️","🧗🏻‍♀️","🧗🏼‍♀️","🧗🏽‍♀️","🧗🏾‍♀️","🧗🏿‍♀️","🤺","🏇","🏇🏻","🏇🏼","🏇🏽","🏇🏾","🏇🏿","⛷️","🏂","🏂🏻","🏂🏼","🏂🏽","🏂🏾","🏂🏿","🏌️","🏌🏻","🏌🏼","🏌🏽","🏌🏾","🏌🏿","🏌️‍♂️","🏌🏻‍♂️","🏌🏼‍♂️","🏌🏽‍♂️","🏌🏾‍♂️","🏌🏿‍♂️","🏌️‍♀️","🏌🏻‍♀️","🏌🏼‍♀️","🏌🏽‍♀️","🏌🏾‍♀️","🏌🏿‍♀️","🏄","🏄🏻","🏄🏼","🏄🏽","🏄🏾","🏄🏿","🏄‍♂️","🏄🏻‍♂️","🏄🏼‍♂️","🏄🏽‍♂️","🏄🏾‍♂️","🏄🏿‍♂️","🏄‍♀️","🏄🏻‍♀️","🏄🏼‍♀️","🏄🏽‍♀️","🏄🏾‍♀️","🏄🏿‍♀️","🚣","🚣🏻","🚣🏼","🚣🏽","🚣🏾","🚣🏿","🚣‍♂️","🚣🏻‍♂️","🚣🏼‍♂️","🚣🏽‍♂️","🚣🏾‍♂️","🚣🏿‍♂️","🚣‍♀️","🚣🏻‍♀️","🚣🏼‍♀️","🚣🏽‍♀️","🚣🏾‍♀️","🚣🏿‍♀️","🏊","🏊🏻","🏊🏼","🏊🏽","🏊🏾","🏊🏿","🏊‍♂️","🏊🏻‍♂️","🏊🏼‍♂️","🏊🏽‍♂️","🏊🏾‍♂️","🏊🏿‍♂️","🏊‍♀️","🏊🏻‍♀️","🏊🏼‍♀️","🏊🏽‍♀️","🏊🏾‍♀️","🏊🏿‍♀️","⛹️","⛹🏻","⛹🏼","⛹🏽","⛹🏾","⛹🏿","⛹️‍♂️","⛹🏻‍♂️","⛹🏼‍♂️","⛹🏽‍♂️","⛹🏾‍♂️","⛹🏿‍♂️","⛹️‍♀️","⛹🏻‍♀️","⛹🏼‍♀️","⛹🏽‍♀️","⛹🏾‍♀️","⛹🏿‍♀️","🏋️","🏋🏻","🏋🏼","🏋🏽","🏋🏾","🏋🏿","🏋️‍♂️","🏋🏻‍♂️","🏋🏼‍♂️","🏋🏽‍♂️","🏋🏾‍♂️","🏋🏿‍♂️","🏋️‍♀️","🏋🏻‍♀️","🏋🏼‍♀️","🏋🏽‍♀️","🏋🏾‍♀️","🏋🏿‍♀️","🚴","🚴🏻","🚴🏼","🚴🏽","🚴🏾","🚴🏿","🚴‍♂️","🚴🏻‍♂️","🚴🏼‍♂️","🚴🏽‍♂️","🚴🏾‍♂️","🚴🏿‍♂️","🚴‍♀️","🚴🏻‍♀️","🚴🏼‍♀️","🚴🏽‍♀️","🚴🏾‍♀️","🚴🏿‍♀️","🚵","🚵🏻","🚵🏼","🚵🏽","🚵🏾","🚵🏿","🚵‍♂️","🚵🏻‍♂️","🚵🏼‍♂️","🚵🏽‍♂️","🚵🏾‍♂️","🚵🏿‍♂️","🚵‍♀️","🚵🏻‍♀️","🚵🏼‍♀️","🚵🏽‍♀️","🚵🏾‍♀️","🚵🏿‍♀️","🤸","🤸🏻","🤸🏼","🤸🏽","🤸🏾","🤸🏿","🤸‍♂️","🤸🏻‍♂️","🤸🏼‍♂️","🤸🏽‍♂️","🤸🏾‍♂️","🤸🏿‍♂️","🤸‍♀️","🤸🏻‍♀️","🤸🏼‍♀️","🤸🏽‍♀️","🤸🏾‍♀️","🤸🏿‍♀️","🤼","🤼‍♂️","🤼‍♀️","🤽","🤽🏻","🤽🏼","🤽🏽","🤽🏾","🤽🏿","🤽‍♂️","🤽🏻‍♂️","🤽🏼‍♂️","🤽🏽‍♂️","🤽🏾‍♂️","🤽🏿‍♂️","🤽‍♀️","🤽🏻‍♀️","🤽🏼‍♀️","🤽🏽‍♀️","🤽🏾‍♀️","🤽🏿‍♀️","🤾","🤾🏻","🤾🏼","🤾🏽","🤾🏾","🤾🏿","🤾‍♂️","🤾🏻‍♂️","🤾🏼‍♂️","🤾🏽‍♂️","🤾🏾‍♂️","🤾🏿‍♂️","🤾‍♀️","🤾🏻‍♀️","🤾🏼‍♀️","🤾🏽‍♀️","🤾🏾‍♀️","🤾🏿‍♀️","🤹","🤹🏻","🤹🏼","🤹🏽","🤹🏾","🤹🏿","🤹‍♂️","🤹🏻‍♂️","🤹🏼‍♂️","🤹🏽‍♂️","🤹🏾‍♂️","🤹🏿‍♂️","🤹‍♀️","🤹🏻‍♀️","🤹🏼‍♀️","🤹🏽‍♀️","🤹🏾‍♀️","🤹🏿‍♀️","🧘","🧘🏻","🧘🏼","🧘🏽","🧘🏾","🧘🏿","🧘‍♂️","🧘🏻‍♂️","🧘🏼‍♂️","🧘🏽‍♂️","🧘🏾‍♂️","🧘🏿‍♂️","🧘‍♀️","🧘🏻‍♀️","🧘🏼‍♀️","🧘🏽‍♀️","🧘🏾‍♀️","🧘🏿‍♀️","🛀","🛀🏻","🛀🏼","🛀🏽","🛀🏾","🛀🏿","🛌","🛌🏻","🛌🏼","🛌🏽","🛌🏾","🛌🏿","🧑‍🤝‍🧑","🧑🏻‍🤝‍🧑🏻","🧑🏻‍🤝‍🧑🏼","🧑🏻‍🤝‍🧑🏽","🧑🏻‍🤝‍🧑🏾","🧑🏻‍🤝‍🧑🏿","🧑🏼‍🤝‍🧑🏻","🧑🏼‍🤝‍🧑🏼","🧑🏼‍🤝‍🧑🏽","🧑🏼‍🤝‍🧑🏾","🧑🏼‍🤝‍🧑🏿","🧑🏽‍🤝‍🧑🏻","🧑🏽‍🤝‍🧑🏼","🧑🏽‍🤝‍🧑🏽","🧑🏽‍🤝‍🧑🏾","🧑🏽‍🤝‍🧑🏿","🧑🏾‍🤝‍🧑🏻","🧑🏾‍🤝‍🧑🏼","🧑🏾‍🤝‍🧑🏽","🧑🏾‍🤝‍🧑🏾","🧑🏾‍🤝‍🧑🏿","🧑🏿‍🤝‍🧑🏻","🧑🏿‍🤝‍🧑🏼","🧑🏿‍🤝‍🧑🏽","🧑🏿‍🤝‍🧑🏾","🧑🏿‍🤝‍🧑🏿","👭","👭🏻","👩🏻‍🤝‍👩🏼","👩🏻‍🤝‍👩🏽","👩🏻‍🤝‍👩🏾","👩🏻‍🤝‍👩🏿","👩🏼‍🤝‍👩🏻","👭🏼","👩🏼‍🤝‍👩🏽","👩🏼‍🤝‍👩🏾","👩🏼‍🤝‍👩🏿","👩🏽‍🤝‍👩🏻","👩🏽‍🤝‍👩🏼","👭🏽","👩🏽‍🤝‍👩🏾","👩🏽‍🤝‍👩🏿","👩🏾‍🤝‍👩🏻","👩🏾‍🤝‍👩🏼","👩🏾‍🤝‍👩🏽","👭🏾","👩🏾‍🤝‍👩🏿","👩🏿‍🤝‍👩🏻","👩🏿‍🤝‍👩🏼","👩🏿‍🤝‍👩🏽","👩🏿‍🤝‍👩🏾","👭🏿","👫","👫🏻","👩🏻‍🤝‍👨🏼","👩🏻‍🤝‍👨🏽","👩🏻‍🤝‍👨🏾","👩🏻‍🤝‍👨🏿","👩🏼‍🤝‍👨🏻","👫🏼","👩🏼‍🤝‍👨🏽","👩🏼‍🤝‍👨🏾","👩🏼‍🤝‍👨🏿","👩🏽‍🤝‍👨🏻","👩🏽‍🤝‍👨🏼","👫🏽","👩🏽‍🤝‍👨🏾","👩🏽‍🤝‍👨🏿","👩🏾‍🤝‍👨🏻","👩🏾‍🤝‍👨🏼","👩🏾‍🤝‍👨🏽","👫🏾","👩🏾‍🤝‍👨🏿","👩🏿‍🤝‍👨🏻","👩🏿‍🤝‍👨🏼","👩🏿‍🤝‍👨🏽","👩🏿‍🤝‍👨🏾","👫🏿","👬","👬🏻","👨🏻‍🤝‍👨🏼","👨🏻‍🤝‍👨🏽","👨🏻‍🤝‍👨🏾","👨🏻‍🤝‍👨🏿","👨🏼‍🤝‍👨🏻","👬🏼","👨🏼‍🤝‍👨🏽","👨🏼‍🤝‍👨🏾","👨🏼‍🤝‍👨🏿","👨🏽‍🤝‍👨🏻","👨🏽‍🤝‍👨🏼","👬🏽","👨🏽‍🤝‍👨🏾","👨🏽‍🤝‍👨🏿","👨🏾‍🤝‍👨🏻","👨🏾‍🤝‍👨🏼","👨🏾‍🤝‍👨🏽","👬🏾","👨🏾‍🤝‍👨🏿","👨🏿‍🤝‍👨🏻","👨🏿‍🤝‍👨🏼","👨🏿‍🤝‍👨🏽","👨🏿‍🤝‍👨🏾","👬🏿","💏","💏🏻","💏🏼","💏🏽","💏🏾","💏🏿","🧑🏻‍❤️‍💋‍🧑🏼","🧑🏻‍❤️‍💋‍🧑🏽","🧑🏻‍❤️‍💋‍🧑🏾","🧑🏻‍❤️‍💋‍🧑🏿","🧑🏼‍❤️‍💋‍🧑🏻","🧑🏼‍❤️‍💋‍🧑🏽","🧑🏼‍❤️‍💋‍🧑🏾","🧑🏼‍❤️‍💋‍🧑🏿","🧑🏽‍❤️‍💋‍🧑🏻","🧑🏽‍❤️‍💋‍🧑🏼","🧑🏽‍❤️‍💋‍🧑🏾","🧑🏽‍❤️‍💋‍🧑🏿","🧑🏾‍❤️‍💋‍🧑🏻","🧑🏾‍❤️‍💋‍🧑🏼","🧑🏾‍❤️‍💋‍🧑🏽","🧑🏾‍❤️‍💋‍🧑🏿","🧑🏿‍❤️‍💋‍🧑🏻","🧑🏿‍❤️‍💋‍🧑🏼","🧑🏿‍❤️‍💋‍🧑🏽","🧑🏿‍❤️‍💋‍🧑🏾","👩‍❤️‍💋‍👨","👩🏻‍❤️‍💋‍👨🏻","👩🏻‍❤️‍💋‍👨🏼","👩🏻‍❤️‍💋‍👨🏽","👩🏻‍❤️‍💋‍👨🏾","👩🏻‍❤️‍💋‍👨🏿","👩🏼‍❤️‍💋‍👨🏻","👩🏼‍❤️‍💋‍👨🏼","👩🏼‍❤️‍💋‍👨🏽","👩🏼‍❤️‍💋‍👨🏾","👩🏼‍❤️‍💋‍👨🏿","👩🏽‍❤️‍💋‍👨🏻","👩🏽‍❤️‍💋‍👨🏼","👩🏽‍❤️‍💋‍👨🏽","👩🏽‍❤️‍💋‍👨🏾","👩🏽‍❤️‍💋‍👨🏿","👩🏾‍❤️‍💋‍👨🏻","👩🏾‍❤️‍💋‍👨🏼","👩🏾‍❤️‍💋‍👨🏽","👩🏾‍❤️‍💋‍👨🏾","👩🏾‍❤️‍💋‍👨🏿","👩🏿‍❤️‍💋‍👨🏻","👩🏿‍❤️‍💋‍👨🏼","👩🏿‍❤️‍💋‍👨🏽","👩🏿‍❤️‍💋‍👨🏾","👩🏿‍❤️‍💋‍👨🏿","👨‍❤️‍💋‍👨","👨🏻‍❤️‍💋‍👨🏻","👨🏻‍❤️‍💋‍👨🏼","👨🏻‍❤️‍💋‍👨🏽","👨🏻‍❤️‍💋‍👨🏾","👨🏻‍❤️‍💋‍👨🏿","👨🏼‍❤️‍💋‍👨🏻","👨🏼‍❤️‍💋‍👨🏼","👨🏼‍❤️‍💋‍👨🏽","👨🏼‍❤️‍💋‍👨🏾","👨🏼‍❤️‍💋‍👨🏿","👨🏽‍❤️‍💋‍👨🏻","👨🏽‍❤️‍💋‍👨🏼","👨🏽‍❤️‍💋‍👨🏽","👨🏽‍❤️‍💋‍👨🏾","👨🏽‍❤️‍💋‍👨🏿","👨🏾‍❤️‍💋‍👨🏻","👨🏾‍❤️‍💋‍👨🏼","👨🏾‍❤️‍💋‍👨🏽","👨🏾‍❤️‍💋‍👨🏾","👨🏾‍❤️‍💋‍👨🏿","👨🏿‍❤️‍💋‍👨🏻","👨🏿‍❤️‍💋‍👨🏼","👨🏿‍❤️‍💋‍👨🏽","👨🏿‍❤️‍💋‍👨🏾","👨🏿‍❤️‍💋‍👨🏿","👩‍❤️‍💋‍👩","👩🏻‍❤️‍💋‍👩🏻","👩🏻‍❤️‍💋‍👩🏼","👩🏻‍❤️‍💋‍👩🏽","👩🏻‍❤️‍💋‍👩🏾","👩🏻‍❤️‍💋‍👩🏿","👩🏼‍❤️‍💋‍👩🏻","👩🏼‍❤️‍💋‍👩🏼","👩🏼‍❤️‍💋‍👩🏽","👩🏼‍❤️‍💋‍👩🏾","👩🏼‍❤️‍💋‍👩🏿","👩🏽‍❤️‍💋‍👩🏻","👩🏽‍❤️‍💋‍👩🏼","👩🏽‍❤️‍💋‍👩🏽","👩🏽‍❤️‍💋‍👩🏾","👩🏽‍❤️‍💋‍👩🏿","👩🏾‍❤️‍💋‍👩🏻","👩🏾‍❤️‍💋‍👩🏼","👩🏾‍❤️‍💋‍👩🏽","👩🏾‍❤️‍💋‍👩🏾","👩🏾‍❤️‍💋‍👩🏿","👩🏿‍❤️‍💋‍👩🏻","👩🏿‍❤️‍💋‍👩🏼","👩🏿‍❤️‍💋‍👩🏽","👩🏿‍❤️‍💋‍👩🏾","👩🏿‍❤️‍💋‍👩🏿","💑","💑🏻","💑🏼","💑🏽","💑🏾","💑🏿","🧑🏻‍❤️‍🧑🏼","🧑🏻‍❤️‍🧑🏽","🧑🏻‍❤️‍🧑🏾","🧑🏻‍❤️‍🧑🏿","🧑🏼‍❤️‍🧑🏻","🧑🏼‍❤️‍🧑🏽","🧑🏼‍❤️‍🧑🏾","🧑🏼‍❤️‍🧑🏿","🧑🏽‍❤️‍🧑🏻","🧑🏽‍❤️‍🧑🏼","🧑🏽‍❤️‍🧑🏾","🧑🏽‍❤️‍🧑🏿","🧑🏾‍❤️‍🧑🏻","🧑🏾‍❤️‍🧑🏼","🧑🏾‍❤️‍🧑🏽","🧑🏾‍❤️‍🧑🏿","🧑🏿‍❤️‍🧑🏻","🧑🏿‍❤️‍🧑🏼","🧑🏿‍❤️‍🧑🏽","🧑🏿‍❤️‍🧑🏾","👩‍❤️‍👨","👩🏻‍❤️‍👨🏻","👩🏻‍❤️‍👨🏼","👩🏻‍❤️‍👨🏽","👩🏻‍❤️‍👨🏾","👩🏻‍❤️‍👨🏿","👩🏼‍❤️‍👨🏻","👩🏼‍❤️‍👨🏼","👩🏼‍❤️‍👨🏽","👩🏼‍❤️‍👨🏾","👩🏼‍❤️‍👨🏿","👩🏽‍❤️‍👨🏻","👩🏽‍❤️‍👨🏼","👩🏽‍❤️‍👨🏽","👩🏽‍❤️‍👨🏾","👩🏽‍❤️‍👨🏿","👩🏾‍❤️‍👨🏻","👩🏾‍❤️‍👨🏼","👩🏾‍❤️‍👨🏽","👩🏾‍❤️‍👨🏾","👩🏾‍❤️‍👨🏿","👩🏿‍❤️‍👨🏻","👩🏿‍❤️‍👨🏼","👩🏿‍❤️‍👨🏽","👩🏿‍❤️‍👨🏾","👩🏿‍❤️‍👨🏿","👨‍❤️‍👨","👨🏻‍❤️‍👨🏻","👨🏻‍❤️‍👨🏼","👨🏻‍❤️‍👨🏽","👨🏻‍❤️‍👨🏾","👨🏻‍❤️‍👨🏿","👨🏼‍❤️‍👨🏻","👨🏼‍❤️‍👨🏼","👨🏼‍❤️‍👨🏽","👨🏼‍❤️‍👨🏾","👨🏼‍❤️‍👨🏿","👨🏽‍❤️‍👨🏻","👨🏽‍❤️‍👨🏼","👨🏽‍❤️‍👨🏽","👨🏽‍❤️‍👨🏾","👨🏽‍❤️‍👨🏿","👨🏾‍❤️‍👨🏻","👨🏾‍❤️‍👨🏼","👨🏾‍❤️‍👨🏽","👨🏾‍❤️‍👨🏾","👨🏾‍❤️‍👨🏿","👨🏿‍❤️‍👨🏻","👨🏿‍❤️‍👨🏼","👨🏿‍❤️‍👨🏽","👨🏿‍❤️‍👨🏾","👨🏿‍❤️‍👨🏿","👩‍❤️‍👩","👩🏻‍❤️‍👩🏻","👩🏻‍❤️‍👩🏼","👩🏻‍❤️‍👩🏽","👩🏻‍❤️‍👩🏾","👩🏻‍❤️‍👩🏿","👩🏼‍❤️‍👩🏻","👩🏼‍❤️‍👩🏼","👩🏼‍❤️‍👩🏽","👩🏼‍❤️‍👩🏾","👩🏼‍❤️‍👩🏿","👩🏽‍❤️‍👩🏻","👩🏽‍❤️‍👩🏼","👩🏽‍❤️‍👩🏽","👩🏽‍❤️‍👩🏾","👩🏽‍❤️‍👩🏿","👩🏾‍❤️‍👩🏻","👩🏾‍❤️‍👩🏼","👩🏾‍❤️‍👩🏽","👩🏾‍❤️‍👩🏾","👩🏾‍❤️‍👩🏿","👩🏿‍❤️‍👩🏻","👩🏿‍❤️‍👩🏼","👩🏿‍❤️‍👩🏽","👩🏿‍❤️‍👩🏾","👩🏿‍❤️‍👩🏿","👪","👨‍👩‍👦","👨‍👩‍👧","👨‍👩‍👧‍👦","👨‍👩‍👦‍👦","👨‍👩‍👧‍👧","👨‍👨‍👦","👨‍👨‍👧","👨‍👨‍👧‍👦","👨‍👨‍👦‍👦","👨‍👨‍👧‍👧","👩‍👩‍👦","👩‍👩‍👧","👩‍👩‍👧‍👦","👩‍👩‍👦‍👦","👩‍👩‍👧‍👧","👨‍👦","👨‍👦‍👦","👨‍👧","👨‍👧‍👦","👨‍👧‍👧","👩‍👦","👩‍👦‍👦","👩‍👧","👩‍👧‍👦","👩‍👧‍👧","🗣️","👤","👥","🫂","👣"],nature:["🐵","🐒","🦍","🦧","🐶","🐕","🦮","🐕‍🦺","🐩","🐺","🦊","🦝","🐱","🐈","🐈‍⬛","🦁","🐯","🐅","🐆","🐴","🐎","🦄","🦓","🦌","🦬","🐮","🐂","🐃","🐄","🐷","🐖","🐗","🐽","🐏","🐑","🐐","🐪","🐫","🦙","🦒","🐘","🦣","🦏","🦛","🐭","🐁","🐀","🐹","🐰","🐇","🐿️","🦫","🦔","🦇","🐻","🐻‍❄️","🐨","🐼","🦥","🦦","🦨","🦘","🦡","🐾","🦃","🐔","🐓","🐣","🐤","🐥","🐦","🐧","🕊️","🦅","🦆","🦢","🦉","🦤","🪶","🦩","🦚","🦜","🐸","🐊","🐢","🦎","🐍","🐲","🐉","🦕","🦖","🐳","🐋","🐬","🦭","🐟","🐠","🐡","🦈","🐙","🐚","🐌","🦋","🐛","🐜","🐝","🪲","🐞","🦗","🪳","🕷️","🕸️","🦂","🦟","🪰","🪱","🦠","💐","🌸","💮","🏵️","🌹","🥀","🌺","🌻","🌼","🌷","🌱","🪴","🌲","🌳","🌴","🌵","🌾","🌿","☘️","🍀","🍁","🍂","🍃"],food:["🍇","🍈","🍉","🍊","🍋","🍌","🍍","🥭","🍎","🍏","🍐","🍑","🍒","🍓","🫐","🥝","🍅","🫒","🥥","🥑","🍆","🥔","🥕","🌽","🌶️","🫑","🥒","🥬","🥦","🧄","🧅","🍄","🥜","🌰","🍞","🥐","🥖","🫓","🥨","🥯","🥞","🧇","🧀","🍖","🍗","🥩","🥓","🍔","🍟","🍕","🌭","🥪","🌮","🌯","🫔","🥙","🧆","🥚","🍳","🥘","🍲","🫕","🥣","🥗","🍿","🧈","🧂","🥫","🍱","🍘","🍙","🍚","🍛","🍜","🍝","🍠","🍢","🍣","🍤","🍥","🥮","🍡","🥟","🥠","🥡","🦀","🦞","🦐","🦑","🦪","🍦","🍧","🍨","🍩","🍪","🎂","🍰","🧁","🥧","🍫","🍬","🍭","🍮","🍯","🍼","🥛","☕","🫖","🍵","🍶","🍾","🍷","🍸","🍹","🍺","🍻","🥂","🥃","🥤","🧋","🧃","🧉","🧊","🥢","🍽️","🍴","🥄","🔪","🏺"],travel:["🌍","🌎","🌏","🌐","🗺️","🗾","🧭","🏔️","⛰️","🌋","🗻","🏕️","🏖️","🏜️","🏝️","🏞️","🏟️","🏛️","🏗️","🧱","🪨","🪵","🛖","🏘️","🏚️","🏠","🏡","🏢","🏣","🏤","🏥","🏦","🏨","🏩","🏪","🏫","🏬","🏭","🏯","🏰","💒","🗼","🗽","⛪","🕌","🛕","🕍","⛩️","🕋","⛲","⛺","🌁","🌃","🏙️","🌄","🌅","🌆","🌇","🌉","♨️","🎠","🎡","🎢","💈","🎪","🚂","🚃","🚄","🚅","🚆","🚇","🚈","🚉","🚊","🚝","🚞","🚋","🚌","🚍","🚎","🚐","🚑","🚒","🚓","🚔","🚕","🚖","🚗","🚘","🚙","🛻","🚚","🚛","🚜","🏎️","🏍️","🛵","🦽","🦼","🛺","🚲","🛴","🛹","🛼","🚏","🛣️","🛤️","🛢️","⛽","🚨","🚥","🚦","🛑","🚧","⚓","⛵","🛶","🚤","🛳️","⛴️","🛥️","🚢","✈️","🛩️","🛫","🛬","🪂","💺","🚁","🚟","🚠","🚡","🛰️","🚀","🛸","🛎️","🧳","⌛","⏳","⌚","⏰","⏱️","⏲️","🕰️","🕛","🕧","🕐","🕜","🕑","🕝","🕒","🕞","🕓","🕟","🕔","🕠","🕕","🕡","🕖","🕢","🕗","🕣","🕘","🕤","🕙","🕥","🕚","🕦","🌑","🌒","🌓","🌔","🌕","🌖","🌗","🌘","🌙","🌚","🌛","🌜","🌡️","☀️","🌝","🌞","🪐","⭐","🌟","🌠","🌌","☁️","⛅","⛈️","🌤️","🌥️","🌦️","🌧️","🌨️","🌩️","🌪️","🌫️","🌬️","🌀","🌈","🌂","☂️","☔","⛱️","⚡","❄️","☃️","⛄","☄️","🔥","💧","🌊"],activity:["🎃","🎄","🎆","🎇","🧨","✨","🎈","🎉","🎊","🎋","🎍","🎎","🎏","🎐","🎑","🧧","🎀","🎁","🎗️","🎟️","🎫","🎖️","🏆","🏅","🥇","🥈","🥉","⚽","⚾","🥎","🏀","🏐","🏈","🏉","🎾","🥏","🎳","🏏","🏑","🏒","🥍","🏓","🏸","🥊","🥋","🥅","⛳","⛸️","🎣","🤿","🎽","🎿","🛷","🥌","🎯","🪀","🪁","🎱","🔮","🪄","🧿","🎮","🕹️","🎰","🎲","🧩","🧸","🪅","🪆","♠️","♥️","♦️","♣️","♟️","🃏","🀄","🎴","🎭","🖼️","🎨","🧵","🪡","🧶","🪢"],object:["👓","🕶️","🥽","🥼","🦺","👔","👕","👖","🧣","🧤","🧥","🧦","👗","👘","🥻","🩱","🩲","🩳","👙","👚","👛","👜","👝","🛍️","🎒","🩴","👞","👟","🥾","🥿","👠","👡","🩰","👢","👑","👒","🎩","🎓","🧢","🪖","⛑️","📿","💄","💍","💎","🔇","🔈","🔉","🔊","📢","📣","📯","🔔","🔕","🎼","🎵","🎶","🎙️","🎚️","🎛️","🎤","🎧","📻","🎷","🪗","🎸","🎹","🎺","🎻","🪕","🥁","🪘","📱","📲","☎️","📞","📟","📠","🔋","🔌","💻","🖥️","🖨️","⌨️","🖱️","🖲️","💽","💾","💿","📀","🧮","🎥","🎞️","📽️","🎬","📺","📷","📸","📹","📼","🔍","🔎","🕯️","💡","🔦","🏮","🪔","📔","📕","📖","📗","📘","📙","📚","📓","📒","📃","📜","📄","📰","🗞️","📑","🔖","🏷️","💰","🪙","💴","💵","💶","💷","💸","💳","🧾","💹","✉️","📧","📨","📩","📤","📥","📦","📫","📪","📬","📭","📮","🗳️","✏️","✒️","🖋️","🖊️","🖌️","🖍️","📝","💼","📁","📂","🗂️","📅","📆","🗒️","🗓️","📇","📈","📉","📊","📋","📌","📍","📎","🖇️","📏","📐","✂️","🗃️","🗄️","🗑️","🔒","🔓","🔏","🔐","🔑","🗝️","🔨","🪓","⛏️","⚒️","🛠️","🗡️","⚔️","🔫","🪃","🏹","🛡️","🪚","🔧","🪛","🔩","⚙️","🗜️","⚖️","🦯","🔗","⛓️","🪝","🧰","🧲","🪜","⚗️","🧪","🧫","🧬","🔬","🔭","📡","💉","🩸","💊","🩹","🩺","🚪","🛗","🪞","🪟","🛏️","🛋️","🪑","🚽","🪠","🚿","🛁","🪤","🪒","🧴","🧷","🧹","🧺","🧻","🪣","🧼","🪥","🧽","🧯","🛒","🚬","⚰️","🪦","⚱️","🗿","🪧"],symbol:["🏧","🚮","🚰","♿","🚹","🚺","🚻","🚼","🚾","🛂","🛃","🛄","🛅","⚠️","🚸","⛔","🚫","🚳","🚭","🚯","🚱","🚷","📵","🔞","☢️","☣️","⬆️","↗️","➡️","↘️","⬇️","↙️","⬅️","↖️","↕️","↔️","↩️","↪️","⤴️","⤵️","🔃","🔄","🔙","🔚","🔛","🔜","🔝","🛐","⚛️","🕉️","✡️","☸️","☯️","✝️","☦️","☪️","☮️","🕎","🔯","♈","♉","♊","♋","♌","♍","♎","♏","♐","♑","♒","♓","⛎","🔀","🔁","🔂","▶️","⏩","⏭️","⏯️","◀️","⏪","⏮️","🔼","⏫","🔽","⏬","⏸️","⏹️","⏺️","⏏️","🎦","🔅","🔆","📶","📳","📴","♀️","♂️","⚧️","✖️","➕","➖","➗","♾️","‼️","⁉️","❓","❔","❕","❗","〰️","💱","💲","⚕️","♻️","⚜️","🔱","📛","🔰","⭕","✅","☑️","✔️","❌","❎","➰","➿","〽️","✳️","✴️","❇️","©️","®️","™️","#️⃣","*️⃣","0️⃣","1️⃣","2️⃣","3️⃣","4️⃣","5️⃣","6️⃣","7️⃣","8️⃣","9️⃣","🔟","🔠","🔡","🔢","🔣","🔤","🅰️","🆎","🅱️","🆑","🆒","🆓","ℹ️","🆔","Ⓜ️","🆕","🆖","🅾️","🆗","🅿️","🆘","🆙","🆚","🈁","🈂️","🈷️","🈶","🈯","🉐","🈹","🈚","🈲","🉑","🈸","🈴","🈳","㊗️","㊙️","🈺","🈵","🔴","🟠","🟡","🟢","🔵","🟣","🟤","⚫","⚪","🟥","🟧","🟨","🟩","🟦","🟪","🟫","⬛","⬜","◼️","◻️","◾","◽","▪️","▫️","🔶","🔷","🔸","🔹","🔺","🔻","💠","🔘","🔳","🔲"],flag:["🏁","🚩","🎌","🏴","🏳️","🏳️‍🌈","🏳️‍⚧️","🏴‍☠️","🇦🇨","🇦🇩","🇦🇪","🇦🇫","🇦🇬","🇦🇮","🇦🇱","🇦🇲","🇦🇴","🇦🇶","🇦🇷","🇦🇸","🇦🇹","🇦🇺","🇦🇼","🇦🇽","🇦🇿","🇧🇦","🇧🇧","🇧🇩","🇧🇪","🇧🇫","🇧🇬","🇧🇭","🇧🇮","🇧🇯","🇧🇱","🇧🇲","🇧🇳","🇧🇴","🇧🇶","🇧🇷","🇧🇸","🇧🇹","🇧🇻","🇧🇼","🇧🇾","🇧🇿","🇨🇦","🇨🇨","🇨🇩","🇨🇫","🇨🇬","🇨🇭","🇨🇮","🇨🇰","🇨🇱","🇨🇲","🇨🇳","🇨🇴","🇨🇵","🇨🇷","🇨🇺","🇨🇻","🇨🇼","🇨🇽","🇨🇾","🇨🇿","🇩🇪","🇩🇬","🇩🇯","🇩🇰","🇩🇲","🇩🇴","🇩🇿","🇪🇦","🇪🇨","🇪🇪","🇪🇬","🇪🇭","🇪🇷","🇪🇸","🇪🇹","🇪🇺","🇫🇮","🇫🇯","🇫🇰","🇫🇲","🇫🇴","🇫🇷","🇬🇦","🇬🇧","🇬🇩","🇬🇪","🇬🇫","🇬🇬","🇬🇭","🇬🇮","🇬🇱","🇬🇲","🇬🇳","🇬🇵","🇬🇶","🇬🇷","🇬🇸","🇬🇹","🇬🇺","🇬🇼","🇬🇾","🇭🇰","🇭🇲","🇭🇳","🇭🇷","🇭🇹","🇭🇺","🇮🇨","🇮🇩","🇮🇪","🇮🇱","🇮🇲","🇮🇳","🇮🇴","🇮🇶","🇮🇷","🇮🇸","🇮🇹","🇯🇪","🇯🇲","🇯🇴","🇯🇵","🇰🇪","🇰🇬","🇰🇭","🇰🇮","🇰🇲","🇰🇳","🇰🇵","🇰🇷","🇰🇼","🇰🇾","🇰🇿","🇱🇦","🇱🇧","🇱🇨","🇱🇮","🇱🇰","🇱🇷","🇱🇸","🇱🇹","🇱🇺","🇱🇻","🇱🇾","🇲🇦","🇲🇨","🇲🇩","🇲🇪","🇲🇫","🇲🇬","🇲🇭","🇲🇰","🇲🇱","🇲🇲","🇲🇳","🇲🇴","🇲🇵","🇲🇶","🇲🇷","🇲🇸","🇲🇹","🇲🇺","🇲🇻","🇲🇼","🇲🇽","🇲🇾","🇲🇿","🇳🇦","🇳🇨","🇳🇪","🇳🇫","🇳🇬","🇳🇮","🇳🇱","🇳🇴","🇳🇵","🇳🇷","🇳🇺","🇳🇿","🇴🇲","🇵🇦","🇵🇪","🇵🇫","🇵🇬","🇵🇭","🇵🇰","🇵🇱","🇵🇲","🇵🇳","🇵🇷","🇵🇸","🇵🇹","🇵🇼","🇵🇾","🇶🇦","🇷🇪","🇷🇴","🇷🇸","🇷🇺","🇷🇼","🇸🇦","🇸🇧","🇸🇨","🇸🇩","🇸🇪","🇸🇬","🇸🇭","🇸🇮","🇸🇯","🇸🇰","🇸🇱","🇸🇲","🇸🇳","🇸🇴","🇸🇷","🇸🇸","🇸🇹","🇸🇻","🇸🇽","🇸🇾","🇸🇿","🇹🇦","🇹🇨","🇹🇩","🇹🇫","🇹🇬","🇹🇭","🇹🇯","🇹🇰","🇹🇱","🇹🇲","🇹🇳","🇹🇴","🇹🇷","🇹🇹","🇹🇻","🇹🇼","🇹🇿","🇺🇦","🇺🇬","🇺🇲","🇺🇳","🇺🇸","🇺🇾","🇺🇿","🇻🇦","🇻🇨","🇻🇪","🇻🇬","🇻🇮","🇻🇳","🇻🇺","🇼🇫","🇼🇸","🇽🇰","🇾🇪","🇾🇹","🇿🇦","🇿🇲","🇿🇼"]},GOt={informational:[100,101,102,103],success:[200,201,202,203,204,205,206,207,208,226],redirection:[300,301,302,303,304,305,306,307,308],clientError:[400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,425,426,428,429,431,451],serverError:[500,501,502,503,504,505,506,507,508,510,511]},XOt={emoji:VOt,http_status_code:GOt},POt=XOt,OOt=[{alpha2:"AD",alpha3:"AND",numeric:"020"},{alpha2:"AE",alpha3:"ARE",numeric:"784"},{alpha2:"AF",alpha3:"AFG",numeric:"004"},{alpha2:"AG",alpha3:"ATG",numeric:"028"},{alpha2:"AI",alpha3:"AIA",numeric:"660"},{alpha2:"AL",alpha3:"ALB",numeric:"008"},{alpha2:"AM",alpha3:"ARM",numeric:"051"},{alpha2:"AO",alpha3:"AGO",numeric:"024"},{alpha2:"AQ",alpha3:"ATA",numeric:"010"},{alpha2:"AR",alpha3:"ARG",numeric:"032"},{alpha2:"AS",alpha3:"ASM",numeric:"016"},{alpha2:"AT",alpha3:"AUT",numeric:"040"},{alpha2:"AU",alpha3:"AUS",numeric:"036"},{alpha2:"AW",alpha3:"ABW",numeric:"533"},{alpha2:"AX",alpha3:"ALA",numeric:"248"},{alpha2:"AZ",alpha3:"AZE",numeric:"031"},{alpha2:"BA",alpha3:"BIH",numeric:"070"},{alpha2:"BB",alpha3:"BRB",numeric:"052"},{alpha2:"BD",alpha3:"BGD",numeric:"050"},{alpha2:"BE",alpha3:"BEL",numeric:"056"},{alpha2:"BF",alpha3:"BFA",numeric:"854"},{alpha2:"BG",alpha3:"BGR",numeric:"100"},{alpha2:"BH",alpha3:"BHR",numeric:"048"},{alpha2:"BI",alpha3:"BDI",numeric:"108"},{alpha2:"BJ",alpha3:"BEN",numeric:"204"},{alpha2:"BL",alpha3:"BLM",numeric:"652"},{alpha2:"BM",alpha3:"BMU",numeric:"060"},{alpha2:"BN",alpha3:"BRN",numeric:"096"},{alpha2:"BO",alpha3:"BOL",numeric:"068"},{alpha2:"BQ",alpha3:"BES",numeric:"535"},{alpha2:"BR",alpha3:"BRA",numeric:"076"},{alpha2:"BS",alpha3:"BHS",numeric:"044"},{alpha2:"BT",alpha3:"BTN",numeric:"064"},{alpha2:"BV",alpha3:"BVT",numeric:"074"},{alpha2:"BW",alpha3:"BWA",numeric:"072"},{alpha2:"BY",alpha3:"BLR",numeric:"112"},{alpha2:"BZ",alpha3:"BLZ",numeric:"084"},{alpha2:"CA",alpha3:"CAN",numeric:"124"},{alpha2:"CC",alpha3:"CCK",numeric:"166"},{alpha2:"CD",alpha3:"COD",numeric:"180"},{alpha2:"CF",alpha3:"CAF",numeric:"140"},{alpha2:"CG",alpha3:"COG",numeric:"178"},{alpha2:"CH",alpha3:"CHE",numeric:"756"},{alpha2:"CI",alpha3:"CIV",numeric:"384"},{alpha2:"CK",alpha3:"COK",numeric:"184"},{alpha2:"CL",alpha3:"CHL",numeric:"152"},{alpha2:"CM",alpha3:"CMR",numeric:"120"},{alpha2:"CN",alpha3:"CHN",numeric:"156"},{alpha2:"CO",alpha3:"COL",numeric:"170"},{alpha2:"CR",alpha3:"CRI",numeric:"188"},{alpha2:"CU",alpha3:"CUB",numeric:"192"},{alpha2:"CV",alpha3:"CPV",numeric:"132"},{alpha2:"CW",alpha3:"CUW",numeric:"531"},{alpha2:"CX",alpha3:"CXR",numeric:"162"},{alpha2:"CY",alpha3:"CYP",numeric:"196"},{alpha2:"CZ",alpha3:"CZE",numeric:"203"},{alpha2:"DE",alpha3:"DEU",numeric:"276"},{alpha2:"DJ",alpha3:"DJI",numeric:"262"},{alpha2:"DK",alpha3:"DNK",numeric:"208"},{alpha2:"DM",alpha3:"DMA",numeric:"212"},{alpha2:"DO",alpha3:"DOM",numeric:"214"},{alpha2:"DZ",alpha3:"DZA",numeric:"012"},{alpha2:"EC",alpha3:"ECU",numeric:"218"},{alpha2:"EE",alpha3:"EST",numeric:"233"},{alpha2:"EG",alpha3:"EGY",numeric:"818"},{alpha2:"EH",alpha3:"ESH",numeric:"732"},{alpha2:"ER",alpha3:"ERI",numeric:"232"},{alpha2:"ES",alpha3:"ESP",numeric:"724"},{alpha2:"ET",alpha3:"ETH",numeric:"231"},{alpha2:"FI",alpha3:"FIN",numeric:"246"},{alpha2:"FJ",alpha3:"FJI",numeric:"242"},{alpha2:"FK",alpha3:"FLK",numeric:"238"},{alpha2:"FM",alpha3:"FSM",numeric:"583"},{alpha2:"FO",alpha3:"FRO",numeric:"234"},{alpha2:"FR",alpha3:"FRA",numeric:"250"},{alpha2:"GA",alpha3:"GAB",numeric:"266"},{alpha2:"GB",alpha3:"GBR",numeric:"826"},{alpha2:"GD",alpha3:"GRD",numeric:"308"},{alpha2:"GE",alpha3:"GEO",numeric:"268"},{alpha2:"GF",alpha3:"GUF",numeric:"254"},{alpha2:"GG",alpha3:"GGY",numeric:"831"},{alpha2:"GH",alpha3:"GHA",numeric:"288"},{alpha2:"GI",alpha3:"GIB",numeric:"292"},{alpha2:"GL",alpha3:"GRL",numeric:"304"},{alpha2:"GM",alpha3:"GMB",numeric:"270"},{alpha2:"GN",alpha3:"GIN",numeric:"324"},{alpha2:"GP",alpha3:"GLP",numeric:"312"},{alpha2:"GQ",alpha3:"GNQ",numeric:"226"},{alpha2:"GR",alpha3:"GRC",numeric:"300"},{alpha2:"GS",alpha3:"SGS",numeric:"239"},{alpha2:"GT",alpha3:"GTM",numeric:"320"},{alpha2:"GU",alpha3:"GUM",numeric:"316"},{alpha2:"GW",alpha3:"GNB",numeric:"624"},{alpha2:"GY",alpha3:"GUY",numeric:"328"},{alpha2:"HK",alpha3:"HKG",numeric:"344"},{alpha2:"HM",alpha3:"HMD",numeric:"334"},{alpha2:"HN",alpha3:"HND",numeric:"340"},{alpha2:"HR",alpha3:"HRV",numeric:"191"},{alpha2:"HT",alpha3:"HTI",numeric:"332"},{alpha2:"HU",alpha3:"HUN",numeric:"348"},{alpha2:"ID",alpha3:"IDN",numeric:"360"},{alpha2:"IE",alpha3:"IRL",numeric:"372"},{alpha2:"IL",alpha3:"ISR",numeric:"376"},{alpha2:"IM",alpha3:"IMN",numeric:"833"},{alpha2:"IN",alpha3:"IND",numeric:"356"},{alpha2:"IO",alpha3:"IOT",numeric:"086"},{alpha2:"IQ",alpha3:"IRQ",numeric:"368"},{alpha2:"IR",alpha3:"IRN",numeric:"364"},{alpha2:"IS",alpha3:"ISL",numeric:"352"},{alpha2:"IT",alpha3:"ITA",numeric:"380"},{alpha2:"JE",alpha3:"JEY",numeric:"832"},{alpha2:"JM",alpha3:"JAM",numeric:"388"},{alpha2:"JO",alpha3:"JOR",numeric:"400"},{alpha2:"JP",alpha3:"JPN",numeric:"392"},{alpha2:"KE",alpha3:"KEN",numeric:"404"},{alpha2:"KG",alpha3:"KGZ",numeric:"417"},{alpha2:"KH",alpha3:"KHM",numeric:"116"},{alpha2:"KI",alpha3:"KIR",numeric:"296"},{alpha2:"KM",alpha3:"COM",numeric:"174"},{alpha2:"KN",alpha3:"KNA",numeric:"659"},{alpha2:"KP",alpha3:"PRK",numeric:"408"},{alpha2:"KR",alpha3:"KOR",numeric:"410"},{alpha2:"KW",alpha3:"KWT",numeric:"414"},{alpha2:"KY",alpha3:"CYM",numeric:"136"},{alpha2:"KZ",alpha3:"KAZ",numeric:"398"},{alpha2:"LA",alpha3:"LAO",numeric:"418"},{alpha2:"LB",alpha3:"LBN",numeric:"422"},{alpha2:"LC",alpha3:"LCA",numeric:"662"},{alpha2:"LI",alpha3:"LIE",numeric:"438"},{alpha2:"LK",alpha3:"LKA",numeric:"144"},{alpha2:"LR",alpha3:"LBR",numeric:"430"},{alpha2:"LS",alpha3:"LSO",numeric:"426"},{alpha2:"LT",alpha3:"LTU",numeric:"440"},{alpha2:"LU",alpha3:"LUX",numeric:"442"},{alpha2:"LV",alpha3:"LVA",numeric:"428"},{alpha2:"LY",alpha3:"LBY",numeric:"434"},{alpha2:"MA",alpha3:"MAR",numeric:"504"},{alpha2:"MC",alpha3:"MCO",numeric:"492"},{alpha2:"MD",alpha3:"MDA",numeric:"498"},{alpha2:"ME",alpha3:"MNE",numeric:"499"},{alpha2:"MF",alpha3:"MAF",numeric:"663"},{alpha2:"MG",alpha3:"MDG",numeric:"450"},{alpha2:"MH",alpha3:"MHL",numeric:"584"},{alpha2:"MK",alpha3:"MKD",numeric:"807"},{alpha2:"ML",alpha3:"MLI",numeric:"466"},{alpha2:"MM",alpha3:"MMR",numeric:"104"},{alpha2:"MN",alpha3:"MNG",numeric:"496"},{alpha2:"MO",alpha3:"MAC",numeric:"446"},{alpha2:"MP",alpha3:"MNP",numeric:"580"},{alpha2:"MQ",alpha3:"MTQ",numeric:"474"},{alpha2:"MR",alpha3:"MRT",numeric:"478"},{alpha2:"MS",alpha3:"MSR",numeric:"500"},{alpha2:"MT",alpha3:"MLT",numeric:"470"},{alpha2:"MU",alpha3:"MUS",numeric:"480"},{alpha2:"MV",alpha3:"MDV",numeric:"462"},{alpha2:"MW",alpha3:"MWI",numeric:"454"},{alpha2:"MX",alpha3:"MEX",numeric:"484"},{alpha2:"MY",alpha3:"MYS",numeric:"458"},{alpha2:"MZ",alpha3:"MOZ",numeric:"508"},{alpha2:"NA",alpha3:"NAM",numeric:"516"},{alpha2:"NC",alpha3:"NCL",numeric:"540"},{alpha2:"NE",alpha3:"NER",numeric:"562"},{alpha2:"NF",alpha3:"NFK",numeric:"574"},{alpha2:"NG",alpha3:"NGA",numeric:"566"},{alpha2:"NI",alpha3:"NIC",numeric:"558"},{alpha2:"NL",alpha3:"NLD",numeric:"528"},{alpha2:"NO",alpha3:"NOR",numeric:"578"},{alpha2:"NP",alpha3:"NPL",numeric:"524"},{alpha2:"NR",alpha3:"NRU",numeric:"520"},{alpha2:"NU",alpha3:"NIU",numeric:"570"},{alpha2:"NZ",alpha3:"NZL",numeric:"554"},{alpha2:"OM",alpha3:"OMN",numeric:"512"},{alpha2:"PA",alpha3:"PAN",numeric:"591"},{alpha2:"PE",alpha3:"PER",numeric:"604"},{alpha2:"PF",alpha3:"PYF",numeric:"258"},{alpha2:"PG",alpha3:"PNG",numeric:"598"},{alpha2:"PH",alpha3:"PHL",numeric:"608"},{alpha2:"PK",alpha3:"PAK",numeric:"586"},{alpha2:"PL",alpha3:"POL",numeric:"616"},{alpha2:"PM",alpha3:"SPM",numeric:"666"},{alpha2:"PN",alpha3:"PCN",numeric:"612"},{alpha2:"PR",alpha3:"PRI",numeric:"630"},{alpha2:"PS",alpha3:"PSE",numeric:"275"},{alpha2:"PT",alpha3:"PRT",numeric:"620"},{alpha2:"PW",alpha3:"PLW",numeric:"585"},{alpha2:"PY",alpha3:"PRY",numeric:"600"},{alpha2:"QA",alpha3:"QAT",numeric:"634"},{alpha2:"RE",alpha3:"REU",numeric:"638"},{alpha2:"RO",alpha3:"ROU",numeric:"642"},{alpha2:"RS",alpha3:"SRB",numeric:"688"},{alpha2:"RU",alpha3:"RUS",numeric:"643"},{alpha2:"RW",alpha3:"RWA",numeric:"646"},{alpha2:"SA",alpha3:"SAU",numeric:"682"},{alpha2:"SB",alpha3:"SLB",numeric:"090"},{alpha2:"SC",alpha3:"SYC",numeric:"690"},{alpha2:"SD",alpha3:"SDN",numeric:"729"},{alpha2:"SE",alpha3:"SWE",numeric:"752"},{alpha2:"SG",alpha3:"SGP",numeric:"702"},{alpha2:"SH",alpha3:"SHN",numeric:"654"},{alpha2:"SI",alpha3:"SVN",numeric:"705"},{alpha2:"SJ",alpha3:"SJM",numeric:"744"},{alpha2:"SK",alpha3:"SVK",numeric:"703"},{alpha2:"SL",alpha3:"SLE",numeric:"694"},{alpha2:"SM",alpha3:"SMR",numeric:"674"},{alpha2:"SN",alpha3:"SEN",numeric:"686"},{alpha2:"SO",alpha3:"SOM",numeric:"706"},{alpha2:"SR",alpha3:"SUR",numeric:"740"},{alpha2:"SS",alpha3:"SSD",numeric:"728"},{alpha2:"ST",alpha3:"STP",numeric:"678"},{alpha2:"SV",alpha3:"SLV",numeric:"222"},{alpha2:"SX",alpha3:"SXM",numeric:"534"},{alpha2:"SY",alpha3:"SYR",numeric:"760"},{alpha2:"SZ",alpha3:"SWZ",numeric:"748"},{alpha2:"TC",alpha3:"TCA",numeric:"796"},{alpha2:"TD",alpha3:"TCD",numeric:"148"},{alpha2:"TF",alpha3:"ATF",numeric:"260"},{alpha2:"TG",alpha3:"TGO",numeric:"768"},{alpha2:"TH",alpha3:"THA",numeric:"764"},{alpha2:"TJ",alpha3:"TJK",numeric:"762"},{alpha2:"TK",alpha3:"TKL",numeric:"772"},{alpha2:"TL",alpha3:"TLS",numeric:"626"},{alpha2:"TM",alpha3:"TKM",numeric:"795"},{alpha2:"TN",alpha3:"TUN",numeric:"788"},{alpha2:"TO",alpha3:"TON",numeric:"776"},{alpha2:"TR",alpha3:"TUR",numeric:"792"},{alpha2:"TT",alpha3:"TTO",numeric:"780"},{alpha2:"TV",alpha3:"TUV",numeric:"798"},{alpha2:"TW",alpha3:"TWN",numeric:"158"},{alpha2:"TZ",alpha3:"TZA",numeric:"834"},{alpha2:"UA",alpha3:"UKR",numeric:"804"},{alpha2:"UG",alpha3:"UGA",numeric:"800"},{alpha2:"UM",alpha3:"UMI",numeric:"581"},{alpha2:"US",alpha3:"USA",numeric:"840"},{alpha2:"UY",alpha3:"URY",numeric:"858"},{alpha2:"UZ",alpha3:"UZB",numeric:"860"},{alpha2:"VA",alpha3:"VAT",numeric:"336"},{alpha2:"VC",alpha3:"VCT",numeric:"670"},{alpha2:"VE",alpha3:"VEN",numeric:"862"},{alpha2:"VG",alpha3:"VGB",numeric:"092"},{alpha2:"VI",alpha3:"VIR",numeric:"850"},{alpha2:"VN",alpha3:"VNM",numeric:"704"},{alpha2:"VU",alpha3:"VUT",numeric:"548"},{alpha2:"WF",alpha3:"WLF",numeric:"876"},{alpha2:"WS",alpha3:"WSM",numeric:"882"},{alpha2:"YE",alpha3:"YEM",numeric:"887"},{alpha2:"YT",alpha3:"MYT",numeric:"175"},{alpha2:"ZA",alpha3:"ZAF",numeric:"710"},{alpha2:"ZM",alpha3:"ZMB",numeric:"894"},{alpha2:"ZW",alpha3:"ZWE",numeric:"716"}],BOt=["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmara","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Atikokan","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Costa_Rica","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fort_Nelson","America/Fortaleza","America/Glace_Bay","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Inuvik","America/Iqaluit","America/Jamaica","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montserrat","America/Nassau","America/New_York","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Nuuk","America/Ojinaga","America/Panama","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Chita","Asia/Choibalsan","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kathmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Riyadh","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kirov","Europe/Kyiv","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zurich","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Kanton","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Wake","Pacific/Wallis"],zOt={country_code:OOt,time_zone:BOt},HOt=zOt,YOt={title:"Base",code:"base"},UOt=YOt,KOt=["/Applications","/bin","/boot","/boot/defaults","/dev","/etc","/etc/defaults","/etc/mail","/etc/namedb","/etc/periodic","/etc/ppp","/home","/home/user","/home/user/dir","/lib","/Library","/lost+found","/media","/mnt","/net","/Network","/opt","/opt/bin","/opt/include","/opt/lib","/opt/sbin","/opt/share","/private","/private/tmp","/private/var","/proc","/rescue","/root","/sbin","/selinux","/srv","/sys","/System","/tmp","/Users","/usr","/usr/X11R6","/usr/bin","/usr/include","/usr/lib","/usr/libdata","/usr/libexec","/usr/local/bin","/usr/local/src","/usr/obj","/usr/ports","/usr/sbin","/usr/share","/usr/src","/var","/var/log","/var/mail","/var/spool","/var/tmp","/var/yp"],JOt={"application/epub+zip":{extensions:["epub"]},"application/gzip":{extensions:["gz"]},"application/java-archive":{extensions:["jar","war","ear"]},"application/json":{extensions:["json","map"]},"application/ld+json":{extensions:["jsonld"]},"application/msword":{extensions:["doc","dot"]},"application/octet-stream":{extensions:["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/ogg":{extensions:["ogx"]},"application/pdf":{extensions:["pdf"]},"application/rtf":{extensions:["rtf"]},"application/vnd.amazon.ebook":{extensions:["azw"]},"application/vnd.apple.installer+xml":{extensions:["mpkg"]},"application/vnd.mozilla.xul+xml":{extensions:["xul"]},"application/vnd.ms-excel":{extensions:["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-fontobject":{extensions:["eot"]},"application/vnd.ms-powerpoint":{extensions:["ppt","pps","pot"]},"application/vnd.oasis.opendocument.presentation":{extensions:["odp"]},"application/vnd.oasis.opendocument.spreadsheet":{extensions:["ods"]},"application/vnd.oasis.opendocument.text":{extensions:["odt"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{extensions:["docx"]},"application/vnd.rar":{extensions:["rar"]},"application/vnd.visio":{extensions:["vsd","vst","vss","vsw"]},"application/x-7z-compressed":{extensions:["7z"]},"application/x-abiword":{extensions:["abw"]},"application/x-bzip":{extensions:["bz"]},"application/x-bzip2":{extensions:["bz2","boz"]},"application/x-csh":{extensions:["csh"]},"application/x-freearc":{extensions:["arc"]},"application/x-httpd-php":{extensions:["php"]},"application/x-sh":{extensions:["sh"]},"application/x-tar":{extensions:["tar"]},"application/xhtml+xml":{extensions:["xhtml","xht"]},"application/xml":{extensions:["xml","xsl","xsd","rng"]},"application/zip":{extensions:["zip"]},"audio/3gpp":{extensions:["3gpp"]},"audio/3gpp2":{extensions:["3g2"]},"audio/aac":{extensions:["aac"]},"audio/midi":{extensions:["mid","midi","kar","rmi"]},"audio/mpeg":{extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/ogg":{extensions:["oga","ogg","spx","opus"]},"audio/opus":{extensions:["opus"]},"audio/wav":{extensions:["wav"]},"audio/webm":{extensions:["weba"]},"font/otf":{extensions:["otf"]},"font/ttf":{extensions:["ttf"]},"font/woff":{extensions:["woff"]},"font/woff2":{extensions:["woff2"]},"image/avif":{extensions:["avif"]},"image/bmp":{extensions:["bmp"]},"image/gif":{extensions:["gif"]},"image/jpeg":{extensions:["jpeg","jpg","jpe"]},"image/png":{extensions:["png"]},"image/svg+xml":{extensions:["svg","svgz"]},"image/tiff":{extensions:["tif","tiff"]},"image/vnd.microsoft.icon":{extensions:["ico"]},"image/webp":{extensions:["webp"]},"text/calendar":{extensions:["ics","ifb"]},"text/css":{extensions:["css"]},"text/csv":{extensions:["csv"]},"text/html":{extensions:["html","htm","shtml"]},"text/javascript":{extensions:["js","mjs"]},"text/plain":{extensions:["txt","text","conf","def","list","log","in","ini"]},"video/3gpp":{extensions:["3gp","3gpp"]},"video/3gpp2":{extensions:["3g2"]},"video/mp2t":{extensions:["ts"]},"video/mp4":{extensions:["mp4","mp4v","mpg4"]},"video/mpeg":{extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/ogg":{extensions:["ogv"]},"video/webm":{extensions:["webm"]},"video/x-msvideo":{extensions:["avi"]}},jOt={directoryPaths:KOt,mimeTypes:JOt},QOt=jOt,$Ot={color:NOt,database:ROt,hacker:AOt,internet:POt,location:HOt,metadata:UOt,system:QOt},qOt=$Ot,eBt=[{name:"爱琴海航空公司",iataCode:"A3"},{name:"俄罗斯航空公司",iataCode:"SU"},{name:"阿根廷航空公司",iataCode:"AR"},{name:"墨西哥国际航空公司",iataCode:"AM"},{name:"阿尔及利亚航空公司",iataCode:"AH"},{name:"阿拉伯航空公司",iataCode:"G9"},{name:"加拿大航空公司",iataCode:"AC"},{name:"中国国际航空公司",iataCode:"CA"},{name:"西班牙欧洲航空公司",iataCode:"UX"},{name:"法航荷航集团",iataCode:"AF"},{name:"印度国际航空公司",iataCode:"AI"},{name:"毛里求斯航空公司",iataCode:"MK"},{name:"新西兰航空公司",iataCode:"NZ"},{name:"新几内亚航空公司",iataCode:"PX"},{name:"塔希提航空公司",iataCode:"VT"},{name:"大溪地航空公司",iataCode:"TN"},{name:"越洋航空公司",iataCode:"TS"},{name:"亚洲航空X公司",iataCode:"D7"},{name:"亚洲航空公司",iataCode:"AK"},{name:"喀里多尼亚国际航空公司",iataCode:"SB"},{name:"阿拉斯加航空公司",iataCode:"AS"},{name:"意大利航空公司",iataCode:"AZ"},{name:"全日空公司",iataCode:"NH"},{name:"忠实航空公司",iataCode:"G4"},{name:"美国航空公司",iataCode:"AA"},{name:"韩亚航空公司",iataCode:"OZ"},{name:"哥伦比亚航空公司",iataCode:"AV"},{name:"巴西蔚蓝航空公司",iataCode:"AD"},{name:"蓝色航空公司",iataCode:"ZF"},{name:"北京首都航空公司",iataCode:"JD"},{name:"玻利维亚航空公司",iataCode:"OB"},{name:"英国航空公司",iataCode:"BA"},{name:"国泰航空公司",iataCode:"CX"},{name:"宿雾太平洋航空公司",iataCode:"5J"},{name:"中华航空公司",iataCode:"CI"},{name:"中国东方航空公司",iataCode:"MU"},{name:"中国南方航空公司",iataCode:"CZ"},{name:"神鹰航空公司",iataCode:"DE"},{name:"巴拿马航空公司",iataCode:"CM"},{name:"达美航空公司",iataCode:"DL"},{name:"易飞航空公司",iataCode:"VE"},{name:"易捷航空公司",iataCode:"U2"},{name:"埃及航空公司",iataCode:"MS"},{name:"以色列艾拉航空公司",iataCode:"LY"},{name:"阿联酋航空公司",iataCode:"EK"},{name:"埃塞俄比亚航空公司",iataCode:"ET"},{name:"阿提哈德航空公司",iataCode:"EY"},{name:"长荣航空公司",iataCode:"BR"},{name:"斐济航空公司",iataCode:"FJ"},{name:"芬兰航空公司",iataCode:"AY"},{name:"迪拜航空公司公司",iataCode:"FZ"},{name:"边疆航空公司",iataCode:"F9"},{name:"印度尼西亚鹰航空公司",iataCode:"GA"},{name:"高尔航空公司",iataCode:"G3"},{name:"海南航空公司",iataCode:"HU"},{name:"夏威夷航空公司",iataCode:"HA"},{name:"靛蓝航空公司",iataCode:"6E"},{name:"日本航空公司",iataCode:"JL"},{name:"济州航空公司",iataCode:"7C"},{name:"捷特二航空公司",iataCode:"LS"},{name:"捷蓝航空公司",iataCode:"B6"},{name:"上海吉祥航空公司",iataCode:"HO"},{name:"肯尼亚航空公司",iataCode:"KQ"},{name:"大韩航空公司",iataCode:"KE"},{name:"酷路拉航空航空公司",iataCode:"MN"},{name:"南美航空公司",iataCode:"LA"},{name:"狮子航空公司",iataCode:"JT"},{name:"波兰航空公司",iataCode:"LO"},{name:"德国汉莎航空公司",iataCode:"LH"},{name:"利比亚阿拉伯航空公司",iataCode:"LN"},{name:"玻利维亚亚马孙航空公司",iataCode:"Z8"},{name:"马来西亚航空公司",iataCode:"MH"},{name:"北风航空公司",iataCode:"N4"},{name:"挪威穿梭航空公司",iataCode:"DY"},{name:"阿曼航空公司",iataCode:"WY"},{name:"巴基斯坦国际航空公司",iataCode:"PK"},{name:"飞马航空公司",iataCode:"PC"},{name:"菲律宾航空公司",iataCode:"PR"},{name:"澳洲航空公司",iataCode:"QF"},{name:"卡塔尔航空公司",iataCode:"QR"},{name:"共和航空公司",iataCode:"YX"},{name:"摩洛哥皇家航空公司",iataCode:"AT"},{name:"瑞安航空公司",iataCode:"FR"},{name:"西伯利亚航空公司",iataCode:"S7"},{name:"北欧航空公司",iataCode:"SK"},{name:"沙特阿拉伯航空公司",iataCode:"SV"},{name:"山东航空公司",iataCode:"SC"},{name:"四川航空公司",iataCode:"3U"},{name:"新加坡航空公司",iataCode:"SQ"},{name:"天空航空公司",iataCode:"H2"},{name:"天西航空公司",iataCode:"OO"},{name:"南非航空公司",iataCode:"SA"},{name:"西南航空公司",iataCode:"WN"},{name:"香料航空公司",iataCode:"SG"},{name:"精神航空公司",iataCode:"NK"},{name:"春秋航空公司",iataCode:"9S"},{name:"斯里兰卡航空公司",iataCode:"UL"},{name:"秘鲁星航空公司",iataCode:"2I"},{name:"太阳城航空公司",iataCode:"SY"},{name:"阳光快运航空",iataCode:"XQ"},{name:"葡萄牙航空公司",iataCode:"TP"},{name:"泰国亚洲航空",iataCode:"FD"},{name:"泰国航空公司",iataCode:"TG"},{name:"途易飞航空",iataCode:"BY"},{name:"突尼斯航空公司",iataCode:"TU"},{name:"土耳其航空公司",iataCode:"TK"},{name:"乌克兰国际航空公司",iataCode:"PS"},{name:"美国联合航空公司",iataCode:"UA"},{name:"乌拉航空公司",iataCode:"U6"},{name:"越南越捷航空公司",iataCode:"VJ"},{name:"越南航空公司",iataCode:"VN"},{name:"维珍航空公司",iataCode:"VS"},{name:"维珍蓝航空公司",iataCode:"VA"},{name:"万岁空中巴士航空公司",iataCode:"VB"},{name:"巴西航空公司",iataCode:"2Z"},{name:"沃拉里斯航空公司",iataCode:"Y4"},{name:"西捷航空公司",iataCode:"WS"},{name:"温戈航空公司",iataCode:"P5"},{name:"维兹航空公司",iataCode:"W6"}],tBt=[{name:"航天/BAC协和式飞机",iataTypeCode:"SSC"},{name:"空客A300",iataTypeCode:"AB3"},{name:"空客A310",iataTypeCode:"310"},{name:"空客A310-200",iataTypeCode:"312"},{name:"空客A310-300",iataTypeCode:"313"},{name:"空客A318",iataTypeCode:"318"},{name:"空客A319",iataTypeCode:"319"},{name:"空客A319neo",iataTypeCode:"31N"},{name:"空客A320",iataTypeCode:"320"},{name:"空客A320neo",iataTypeCode:"32N"},{name:"空客A321",iataTypeCode:"321"},{name:"空客A321neo",iataTypeCode:"32Q"},{name:"空客A330",iataTypeCode:"330"},{name:"空客A330-200",iataTypeCode:"332"},{name:"空客A330-300",iataTypeCode:"333"},{name:"空客A330-800neo",iataTypeCode:"338"},{name:"空客A330-900neo",iataTypeCode:"339"},{name:"空客A340",iataTypeCode:"340"},{name:"空客A340-200",iataTypeCode:"342"},{name:"空客A340-300",iataTypeCode:"343"},{name:"空客A340-500",iataTypeCode:"345"},{name:"空客A340-600",iataTypeCode:"346"},{name:"空客A350",iataTypeCode:"350"},{name:"空客A350-900",iataTypeCode:"359"},{name:"空客A350-1000",iataTypeCode:"351"},{name:"空客A380",iataTypeCode:"380"},{name:"空客A380-800",iataTypeCode:"388"},{name:"安东诺夫 安-12",iataTypeCode:"ANF"},{name:"安东诺夫 安-24",iataTypeCode:"AN4"},{name:"安东诺夫 安-26",iataTypeCode:"A26"},{name:"安东诺夫 安-28",iataTypeCode:"A28"},{name:"安东诺夫 安-30",iataTypeCode:"A30"},{name:"安东诺夫 安-32",iataTypeCode:"A32"},{name:"安东诺夫 安-72",iataTypeCode:"AN7"},{name:"安东诺夫 安-124 Ruslan",iataTypeCode:"A4F"},{name:"安东诺夫 安-140",iataTypeCode:"A40"},{name:"安东诺夫 安-148",iataTypeCode:"A81"},{name:"安东诺夫 安-158",iataTypeCode:"A58"},{name:"安东诺夫 安-225 Mriya",iataTypeCode:"A5F"},{name:"波音707",iataTypeCode:"703"},{name:"波音717",iataTypeCode:"717"},{name:"波音720B",iataTypeCode:"B72"},{name:"波音727",iataTypeCode:"727"},{name:"波音727-100",iataTypeCode:"721"},{name:"波音727-200",iataTypeCode:"722"},{name:"波音737 MAX 7",iataTypeCode:"7M7"},{name:"波音737 MAX 8",iataTypeCode:"7M8"},{name:"波音737 MAX 9",iataTypeCode:"7M9"},{name:"波音737 MAX 10",iataTypeCode:"7MJ"},{name:"波音737",iataTypeCode:"737"},{name:"波音737-100",iataTypeCode:"731"},{name:"波音737-200",iataTypeCode:"732"},{name:"波音737-300",iataTypeCode:"733"},{name:"波音737-400",iataTypeCode:"734"},{name:"波音737-500",iataTypeCode:"735"},{name:"波音737-600",iataTypeCode:"736"},{name:"波音737-700",iataTypeCode:"73G"},{name:"波音737-800",iataTypeCode:"738"},{name:"波音737-900",iataTypeCode:"739"},{name:"波音747",iataTypeCode:"747"},{name:"波音747-100",iataTypeCode:"741"},{name:"波音747-200",iataTypeCode:"742"},{name:"波音747-300",iataTypeCode:"743"},{name:"波音747-400",iataTypeCode:"744"},{name:"波音747-400D",iataTypeCode:"74J"},{name:"波音747-8",iataTypeCode:"748"},{name:"波音747SP",iataTypeCode:"74L"},{name:"波音747SR",iataTypeCode:"74R"},{name:"波音757",iataTypeCode:"757"},{name:"波音757-200",iataTypeCode:"752"},{name:"波音757-300",iataTypeCode:"753"},{name:"波音767",iataTypeCode:"767"},{name:"波音767-200",iataTypeCode:"762"},{name:"波音767-300",iataTypeCode:"763"},{name:"波音767-400",iataTypeCode:"764"},{name:"波音777",iataTypeCode:"777"},{name:"波音777-200",iataTypeCode:"772"},{name:"波音777-200LR",iataTypeCode:"77L"},{name:"波音777-300",iataTypeCode:"773"},{name:"波音777-300ER",iataTypeCode:"77W"},{name:"波音787",iataTypeCode:"787"},{name:"波音787-8",iataTypeCode:"788"},{name:"波音787-9",iataTypeCode:"789"},{name:"波音787-10",iataTypeCode:"781"},{name:"加拿大挑战者飞机",iataTypeCode:"CCJ"},{name:"加拿大CL-44",iataTypeCode:"CL4"},{name:"加拿大支线喷气机100",iataTypeCode:"CR1"},{name:"加拿大支线喷气机200",iataTypeCode:"CR2"},{name:"加拿大支线喷气机700",iataTypeCode:"CR7"},{name:"加拿大支线喷气机705",iataTypeCode:"CRA"},{name:"加拿大支线喷气机900",iataTypeCode:"CR9"},{name:"加拿大支线喷气机1000",iataTypeCode:"CRK"},{name:"加拿大德哈维兰DHC-2 Beaver",iataTypeCode:"DHP"},{name:"加拿大德哈维兰DHC-2 Turbo-Beaver",iataTypeCode:"DHR"},{name:"加拿大德哈维兰DHC-3 Otter",iataTypeCode:"DHL"},{name:"加拿大德哈维兰DHC-4 Caribou",iataTypeCode:"DHC"},{name:"加拿大德哈维兰DHC-6 Twin Otter",iataTypeCode:"DHT"},{name:"加拿大德哈维兰DHC-7 Dash 7",iataTypeCode:"DH7"},{name:"加拿大德哈维兰DHC-8-100 Dash 8 / 8Q",iataTypeCode:"DH1"},{name:"加拿大德哈维兰DHC-8-200 Dash 8 / 8Q",iataTypeCode:"DH2"},{name:"加拿大德哈维兰DHC-8-300 Dash 8 / 8Q",iataTypeCode:"DH3"},{name:"加拿大德哈维兰DHC-8-400 Dash 8Q",iataTypeCode:"DH4"},{name:"德哈维兰DH.104 Dove",iataTypeCode:"DHD"},{name:"德哈维兰DH.114 Heron",iataTypeCode:"DHH"},{name:"道格拉斯DC-3",iataTypeCode:"D3F"},{name:"道格拉斯DC-6",iataTypeCode:"D6F"},{name:"道格拉斯DC-8-50",iataTypeCode:"D8T"},{name:"道格拉斯DC-8-62",iataTypeCode:"D8L"},{name:"道格拉斯DC-8-72",iataTypeCode:"D8Q"},{name:"道格拉斯DC-9-10",iataTypeCode:"D91"},{name:"道格拉斯DC-9-20",iataTypeCode:"D92"},{name:"道格拉斯DC-9-30",iataTypeCode:"D93"},{name:"道格拉斯DC-9-40",iataTypeCode:"D94"},{name:"道格拉斯DC-9-50",iataTypeCode:"D95"},{name:"道格拉斯DC-10",iataTypeCode:"D10"},{name:"道格拉斯DC-10-10",iataTypeCode:"D1X"},{name:"道格拉斯DC-10-30",iataTypeCode:"D1Y"},{name:"巴西工业航空公司170",iataTypeCode:"E70"},{name:"巴西工业航空公司175",iataTypeCode:"E75"},{name:"巴西工业航空公司190",iataTypeCode:"E90"},{name:"巴西工业航空公司195",iataTypeCode:"E95"},{name:"巴西工业航空公司E190-E2",iataTypeCode:"290"},{name:"巴西工业航空公司E195-E2",iataTypeCode:"295"},{name:"巴西工业航空公司EMB.110 Bandeirante",iataTypeCode:"EMB"},{name:"巴西工业航空公司EMB.120 Brasilia",iataTypeCode:"EM2"},{name:"巴西工业航空公司Legacy 600",iataTypeCode:"ER3"},{name:"巴西工业航空公司Phenom 100",iataTypeCode:"EP1"},{name:"巴西工业航空公司Phenom 300",iataTypeCode:"EP3"},{name:"巴西工业航空公司RJ135",iataTypeCode:"ER3"},{name:"巴西工业航空公司RJ140",iataTypeCode:"ERD"},{name:"巴西工业航空公司RJ145 Amazon",iataTypeCode:"ER4"},{name:"伊留申IL18",iataTypeCode:"IL8"},{name:"伊留申IL62",iataTypeCode:"IL6"},{name:"伊留申IL76",iataTypeCode:"IL7"},{name:"伊留申IL86",iataTypeCode:"ILW"},{name:"伊留申IL96-300",iataTypeCode:"I93"},{name:"伊留申IL114",iataTypeCode:"I14"},{name:"洛克希德L-182 / 282 / 382 (L-100) Hercules",iataTypeCode:"LOH"},{name:"洛克希德L-188 Electra",iataTypeCode:"LOE"},{name:"洛克希德L-1011 Tristar",iataTypeCode:"L10"},{name:"洛克希德L-1049 Super Constellation",iataTypeCode:"L49"},{name:"麦克唐纳道格拉斯MD11",iataTypeCode:"M11"},{name:"麦克唐纳道格拉斯MD80",iataTypeCode:"M80"},{name:"麦克唐纳道格拉斯MD81",iataTypeCode:"M81"},{name:"麦克唐纳道格拉斯MD82",iataTypeCode:"M82"},{name:"麦克唐纳道格拉斯MD83",iataTypeCode:"M83"},{name:"麦克唐纳道格拉斯MD87",iataTypeCode:"M87"},{name:"麦克唐纳道格拉斯MD88",iataTypeCode:"M88"},{name:"麦克唐纳道格拉斯MD90",iataTypeCode:"M90"},{name:"苏霍伊超级喷气机100-95",iataTypeCode:"SU9"},{name:"图波列夫Tu-134",iataTypeCode:"TU3"},{name:"图波列夫Tu-154",iataTypeCode:"TU5"},{name:"图波列夫Tu-204",iataTypeCode:"T20"},{name:"雅科夫列夫Yak-40",iataTypeCode:"YK4"},{name:"雅科夫列夫Yak-42",iataTypeCode:"YK2"}],nBt=[{name:"阿德莱德国际机场",iataCode:"ADL"},{name:"阿道弗·苏亚雷斯马德里-巴拉哈斯机场",iataCode:"MAD"},{name:"豪尔赫纽伯里机场机场",iataCode:"AEP"},{name:"阿方索·佩纳国际机场",iataCode:"CWB"},{name:"阿方索·博尼利亚·阿拉贡国际机场",iataCode:"CLO"},{name:"阿姆斯特丹史基浦机场",iataCode:"AMS"},{name:"阿图罗·梅里诺·贝尼特斯国际机场",iataCode:"SCL"},{name:"奥克兰国际机场",iataCode:"AKL"},{name:"北京首都国际机场",iataCode:"PEK"},{name:"贝伦瓦德坎斯国际机场",iataCode:"BEL"},{name:"贝洛奥里藏特坦克雷多·内维斯国际机场",iataCode:"CNF"},{name:"柏林泰格尔机场",iataCode:"TXL"},{name:"博乐国际机场",iataCode:"ADD"},{name:"巴西利亚儒塞利诺·库比契克总统国际机场",iataCode:"BSB"},{name:"布里斯班国际机场",iataCode:"BNE"},{name:"布里斯班机场",iataCode:"BRU"},{name:"凯恩斯机场",iataCode:"CNS"},{name:"开罗国际机场",iataCode:"CAI"},{name:"堪培拉机场",iataCode:"CBR"},{name:"开普敦国际机场",iataCode:"CPT"},{name:"戴高乐国际机场",iataCode:"CDG"},{name:"夏洛特道格拉斯国际机场",iataCode:"CLT"},{name:"成都双流国际机场",iataCode:"CTU"},{name:"贾特拉帕蒂·希瓦吉国际机场",iataCode:"BOM"},{name:"芝加哥奥黑尔国际机场",iataCode:"ORD"},{name:"重庆江北国际机场",iataCode:"CKG"},{name:"基督城国际机场",iataCode:"CHC"},{name:"哥本哈根卡斯特鲁普机场",iataCode:"CPH"},{name:"达拉斯沃思堡国际机场",iataCode:"DFW"},{name:"丹尼尔·井上国际机场",iataCode:"HNL"},{name:"丹佛国际机场",iataCode:"DEN"},{name:"廊曼国际机场",iataCode:"DMK"},{name:"迪拜国际机场",iataCode:"DXB"},{name:"都柏林机场",iataCode:"DUB"},{name:"杜塞尔多夫机场",iataCode:"DUS"},{name:"埃尔多拉多国际机场",iataCode:"BOG"},{name:"埃莱夫塞里奥斯·韦尼泽洛斯国际机场",iataCode:"ATH"},{name:"法阿国际机场",iataCode:"PPT"},{name:"劳德代尔堡好莱坞国际机场",iataCode:"FLL"},{name:"福塔莱萨平托马丁斯国际机场",iataCode:"FOR"},{name:"美因河畔法兰克福机场",iataCode:"FRA"},{name:"休斯顿机场乔治·布什洲际酒店",iataCode:"IAH"},{name:"黄金海岸机场",iataCode:"OOL"},{name:"瓜鲁柳斯 - 安德烈·佛朗哥·蒙托罗州长国际机场",iataCode:"GRU"},{name:"哈兹菲尔德-杰克逊亚特兰大国际机场",iataCode:"ATL"},{name:"赫尔辛基万塔机场",iataCode:"HEL"},{name:"霍巴特国际机场",iataCode:"HBA"},{name:"香港国际机场",iataCode:"HKG"},{name:"胡阿里·布迈丁机场",iataCode:"ALG"},{name:"赫尔格达国际机场",iataCode:"HRG"},{name:"仁川国际机场",iataCode:"ICN"},{name:"英迪拉·甘地国际机场",iataCode:"DEL"},{name:"伊斯坦布尔机场",iataCode:"IST"},{name:"杰克逊国际机场",iataCode:"POM"},{name:"济州国际机场",iataCode:"CJU"},{name:"约翰肯尼迪国际机场",iataCode:"JFK"},{name:"豪尔赫·查韦斯国际机场",iataCode:"LIM"},{name:"何塞·玛丽亚·科尔多瓦国际机场",iataCode:"MDE"},{name:"何塞普·塔拉德拉斯巴塞罗那埃尔普拉特机场",iataCode:"BCN"},{name:"卡胡卢伊机场",iataCode:"OGG"},{name:"阿卜杜勒阿齐兹国王国际机场",iataCode:"JED"},{name:"吉隆坡国际机场",iataCode:"KUL"},{name:"昆明长水国际机场",iataCode:"KMG"},{name:"拉通图塔国际机场",iataCode:"NOU"},{name:"莱昂纳多达芬奇-菲乌米奇诺机场",iataCode:"FCO"},{name:"伦敦希思罗机场",iataCode:"LHR"},{name:"洛杉矶国际机场",iataCode:"LAX"},{name:"麦卡伦国际机场",iataCode:"LAS"},{name:"墨尔本国际机场",iataCode:"MEL"},{name:"墨西哥城国际机场",iataCode:"MEX"},{name:"迈阿密国际机场",iataCode:"MIA"},{name:"皮斯塔里尼部长国际机场",iataCode:"EZE"},{name:"明尼阿波利斯-圣保罗国际机场/沃尔德-张伯伦机场",iataCode:"MSP"},{name:"穆罕默德五世国际机场",iataCode:"CMN"},{name:"莫斯科多莫杰多沃机场",iataCode:"DME"},{name:"慕尼黑机场",iataCode:"MUC"},{name:"穆尔塔拉穆罕默德国际机场",iataCode:"LOS"},{name:"楠迪国际机场",iataCode:"NAN"},{name:"内罗毕乔莫肯雅塔国际机场",iataCode:"NBO"},{name:"成田国际机场",iataCode:"NRT"},{name:"纽瓦克自由国际机场",iataCode:"EWR"},{name:"尼诺·阿基诺国际机场",iataCode:"MNL"},{name:"努美阿洋红色机场",iataCode:"GEA"},{name:"奥利弗·R·坦博国际机场",iataCode:"JNB"},{name:"奥兰多国际机场",iataCode:"MCO"},{name:"奥斯陆卢夫塔文机场",iataCode:"OSL"},{name:"珀斯机场",iataCode:"PER"},{name:"凤凰城天港国际机场",iataCode:"PHX"},{name:"累西腓瓜拉拉佩斯-吉尔伯托弗雷尔国际机场",iataCode:"REC"},{name:"里约热内卢加利昂国际机场",iataCode:"GIG"},{name:"萨尔加多菲略国际机场",iataCode:"POA"},{name:"萨尔瓦多·德普塔多·路易斯·爱德华多·马加良斯国际机场",iataCode:"SSA"},{name:"旧金山国际机场",iataCode:"SFO"},{name:"桑托斯·杜蒙特机场",iataCode:"SDU"},{name:"圣保罗孔戈尼亚斯机场",iataCode:"CGH"},{name:"西雅图塔科马国际机场",iataCode:"SEA"},{name:"上海虹桥国际机场",iataCode:"SHA"},{name:"上海浦东国际机场",iataCode:"PVG"},{name:"深圳宝安国际机场",iataCode:"SZX"},{name:"谢列梅捷沃国际机场",iataCode:"SVO"},{name:"新加坡樟宜机场",iataCode:"SIN"},{name:"苏加诺-哈达国际机场",iataCode:"CGK"},{name:"斯德哥尔摩-阿兰达机场",iataCode:"ARN"},{name:"素万那普机场",iataCode:"BKK"},{name:"悉尼金斯福德史密斯国际机场",iataCode:"SYD"},{name:"台湾桃园国际机场",iataCode:"TPE"},{name:"新山一国际机场",iataCode:"SGN"},{name:"东京羽田国际机场",iataCode:"HND"},{name:"多伦多皮尔逊国际机场",iataCode:"YYZ"},{name:"突尼斯迦太基国际机场",iataCode:"TUN"},{name:"温哥华国际机场",iataCode:"YVR"},{name:"维也纳国际机场",iataCode:"VIE"},{name:"维拉科波斯国际机场",iataCode:"VCP"},{name:"伏努科沃国际机场",iataCode:"VKO"},{name:"惠灵顿国际机场",iataCode:"WLG"},{name:"西安咸阳国际机场",iataCode:"XIY"},{name:"茹科夫斯基国际机场",iataCode:"ZIA"},{name:"苏黎世机场",iataCode:"ZRH"}],iBt={airline:eBt,airplane:tBt,airport:nBt},rBt=iBt,oBt=["大熊猫","眼镜熊","太阳熊","懒熊","美洲黑熊","亚洲黑熊","棕熊","北极熊"],sBt=["中华田园猫","中国狸花猫","山东狮子猫","玄猫","黑白花猫","三花猫","玳瑁猫","橘猫","四川简州猫","中国大白猫","美国短毛猫","英国短毛猫","加菲猫","波斯猫","布偶猫","苏格兰折耳猫","暹罗猫","斯芬克斯猫","德文卷毛猫","阿比西尼亚猫"],aBt=["藏獒","袖狗","拉萨狮子犬","西藏狮子犬","松狮犬","中国冠毛犬","西施犬","沙皮犬","八哥犬","西藏獚","中华田园犬","下司犬","北京犬","西藏梗","柴犬","哈士奇","德国牧羊犬","边境牧羊犬","贵兵犬","秋田犬","罗威纳犬","蝴蝶犬","英国斗牛犬","阿富汗猎犬","萨摩耶犬","大白熊犬","比利时牧羊犬","美国爱斯基摩犬","彭布罗克威尔士柯基犬","墨西哥无毛犬"],lBt=["草鱼","鲶鱼","鳙鱼","鲤鱼","金鱼","胭脂鱼","中华鲟","长江白鲟","新疆大头鱼","青鱼","鲫鱼"],uBt=["蒙古马","伊利马","三河马","河曲马"],cBt=["熊","猫","狗","鱼","马"],dBt={bear:oBt,cat:sBt,dog:aBt,fish:lBt,horse:uBt,type:cBt},hBt=dBt,mBt=["红色","绿色","蓝色","黄色","紫色","薄荷绿色","蓝绿色","白色","黑色","橙色","粉红色","灰色","红褐色","蓝紫色","青绿色","棕褐色","天蓝色","浅橙色","紫红色","淡紫色","淡褐色","青柠色","乳白色","靛蓝色","金色","银色"],fBt={human:mBt},gBt=fBt,pBt=["书籍","电影","音乐","游戏","电子","电脑","主页","花园","工具","杂货","健康","美丽","玩具","孩子","宝宝","服装","鞋子","珠宝","运动","户外","汽车","工业"],bBt=["人体工学椅电脑椅家用宿舍学生学习椅舒适久坐办公座椅转椅书桌椅","鼠标有线USB静音无声家用办公台式笔记本电脑家用商务电竞男","台式电脑机械硬盘SATA串口320G 500G 1TB 2T 3TB 4TB支持游戏监控","【2023新品官方旗舰正品】DERE戴睿笔记本电脑二合一新Surface Pro13平板商务办公学生教育超轻薄便携电脑本","华为笔记本电脑MateBook X Pro 2023 13代酷睿版锐炬显卡14.2英寸3.1K原色触控屏超轻薄旗舰微绒典藏1943","可选16G【M2芯片】Apple/苹果 MacBook Pro 13英寸笔记本电脑剪辑设计大学生办公专用正品分期24G","Sony/索尼 XR-55A80EK 55英寸4K超清认知智能OLED安卓摄像头电视","小米电视 Redmi A43 高清智能电视 43英寸液晶平板电视L43RA-RA","【新品享壕礼】vivo iQOO Z8x手机官方旗舰店新品上市官网正品学生大电池大内存手机iqoo z7 z7x","【至高立省300元 赠数据线】vivo Y78新品全面屏游戏拍照学生5G智能手机大电池官方旗舰店老人机Y78+ Y77"],yBt={adjective:["小的","人体工程学的","电子的","质朴的","智能的","华丽的","不可思议的","优雅的","精彩绝伦的","实用的","现代的","回收的","圆滑的","定制的","贼好用的","通用的","手工的","手工制作的","东方的","已许可的","豪华的","精致的","无品牌的","好吃"],material:["钢","青铜","木制","混凝土","塑料","棉花","花岗岩","橡胶","金属","软","新鲜","冷冻"],product:["椅子","汽车","电脑","键盘","鼠标","自行车","球","手套","裤子","衬衫","桌子","鞋子","帽子","毛巾","肥皂","金枪鱼","鸡肉","鱼肉","奶酪","培根","披萨","沙拉","香肠","薯条"]},vBt={department:pBt,product_description:bBt,product_name:yBt},CBt=vBt,SBt=["水产","林业","矿业","建设","食品","印刷","电力","燃气","网络科技","物流","保险","旅游发展","传媒","运输"],wBt=["{{location.state}}{{person.first_name}}{{company.category}}{{company.type}}","{{location.city}}{{person.first_name}}{{company.category}}{{company.type}}"],xBt=["有限责任公司","股份有限公司","有限公司","(集团)有限公司","集团有限公司","无限公司","无限责任公司"],_Bt={category:SBt,name_pattern:wBt,type:xBt},LBt=_Bt,IBt=["标识","标题","名称","邮箱","手机","令牌","组别","类别","密码","注释","头像","状态","创建于","更新于"],FBt={column:IBt},DBt=FBt,NBt={wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],abbr:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]},MBt={wide:["星期天","星期一","星期二","星期三","星期四","星期五","星期六"],abbr:["周日","周一","周二","周三","周四","周五","周六"]},kBt={month:NBt,weekday:MBt},TBt=kBt,EBt=["支票","储蓄","货币市场","投资","房屋贷款","信用卡","汽车贷款","个人贷款"],RBt=["5[1-5]##-####-####-###L","2[221-720]-####-####-###L"],ZBt=["62#############L","67#############L","81#############L","81##############L","81###############L","81################L"],WBt=["4###########L","4###-####-####-###L"],ABt={mastercard:RBt,unionpay:ZBt,visa:WBt},VBt=ABt,GBt=[{name:"阿联酋迪拉姆",code:"AED",symbol:""},{name:"阿富汗尼",code:"AFN",symbol:"؋"},{name:"列克",code:"ALL",symbol:"Lek"},{name:"亚美尼亚德拉姆",code:"AMD",symbol:""},{name:"荷属安的列斯盾",code:"ANG",symbol:"ƒ"},{name:"宽扎",code:"AOA",symbol:""},{name:"阿根廷比索",code:"ARS",symbol:"$"},{name:"澳大利亚元",code:"AUD",symbol:"$"},{name:"阿鲁巴弗罗林",code:"AWG",symbol:"ƒ"},{name:"阿塞拜疆马纳特",code:"AZN",symbol:"ман"},{name:"可兑换马克",code:"BAM",symbol:"KM"},{name:"巴巴多斯元",code:"BBD",symbol:"$"},{name:"孟加拉塔卡",code:"BDT",symbol:""},{name:"保加利亚列弗",code:"BGN",symbol:"лв"},{name:"巴林第纳尔",code:"BHD",symbol:""},{name:"布隆迪法郎",code:"BIF",symbol:""},{name:"百慕大元(通常称为百慕大元)",code:"BMD",symbol:"$"},{name:"文莱元",code:"BND",symbol:"$"},{name:"玻利维亚诺",code:"BOB",symbol:"Bs"},{name:"巴西雷亚尔",code:"BRL",symbol:"R$"},{name:"巴哈马元",code:"BSD",symbol:"$"},{name:"普拉",code:"BWP",symbol:"P"},{name:"白俄罗斯卢布",code:"BYN",symbol:"Rbl"},{name:"伯利兹元",code:"BZD",symbol:"BZ$"},{name:"加拿大元",code:"CAD",symbol:"$"},{name:"刚果法郎",code:"CDF",symbol:""},{name:"瑞士法郎",code:"CHF",symbol:"CHF"},{name:"智利比索",code:"CLP",symbol:"$"},{name:"人民币",code:"CNY",symbol:"¥"},{name:"哥伦比亚比索",code:"COP",symbol:"$"},{name:"哥斯达黎加科朗",code:"CRC",symbol:"₡"},{name:"古巴比索",code:"CUP",symbol:"₱"},{name:"佛得角埃斯库多",code:"CVE",symbol:""},{name:"捷克克朗",code:"CZK",symbol:"Kč"},{name:"吉布提法郎",code:"DJF",symbol:""},{name:"丹麦克朗",code:"DKK",symbol:"kr"},{name:"多米尼加比索",code:"DOP",symbol:"RD$"},{name:"阿尔及利亚第纳尔",code:"DZD",symbol:""},{name:"埃及镑",code:"EGP",symbol:"£"},{name:"纳克法",code:"ERN",symbol:""},{name:"埃塞俄比亚比尔",code:"ETB",symbol:""},{name:"欧元",code:"EUR",symbol:"€"},{name:"斐济元",code:"FJD",symbol:"$"},{name:"福克兰群岛镑",code:"FKP",symbol:"£"},{name:"英镑",code:"GBP",symbol:"£"},{name:"格鲁吉亚拉里",code:"GEL",symbol:""},{name:"塞地",code:"GHS",symbol:""},{name:"直布罗陀镑",code:"GIP",symbol:"£"},{name:"达尔西",code:"GMD",symbol:""},{name:"几内亚法郎",code:"GNF",symbol:""},{name:"格查尔",code:"GTQ",symbol:"Q"},{name:"圭亚那元",code:"GYD",symbol:"$"},{name:"港元",code:"HKD",symbol:"$"},{name:"伦皮拉",code:"HNL",symbol:"L"},{name:"古德",code:"HTG",symbol:""},{name:"福林特",code:"HUF",symbol:"Ft"},{name:"印度尼西亚卢比",code:"IDR",symbol:"Rp"},{name:"新以色列谢克尔",code:"ILS",symbol:"₪"},{name:"不丹努扎姆",code:"BTN",symbol:"Nu"},{name:"印度卢比",code:"INR",symbol:"₹"},{name:"伊拉克第纳尔",code:"IQD",symbol:""},{name:"伊朗里亚尔",code:"IRR",symbol:"﷼"},{name:"冰岛克朗",code:"ISK",symbol:"kr"},{name:"牙买加元",code:"JMD",symbol:"J$"},{name:"约旦第纳尔",code:"JOD",symbol:""},{name:"日元",code:"JPY",symbol:"¥"},{name:"肯尼亚先令",code:"KES",symbol:""},{name:"吉尔吉斯斯坦索姆",code:"KGS",symbol:"лв"},{name:"瑞尔",code:"KHR",symbol:"៛"},{name:"科摩罗法郎",code:"KMF",symbol:""},{name:"朝鲜圆",code:"KPW",symbol:"₩"},{name:"韩元",code:"KRW",symbol:"₩"},{name:"科威特第纳尔",code:"KWD",symbol:""},{name:"开曼群岛元",code:"KYD",symbol:"$"},{name:"坚戈",code:"KZT",symbol:"лв"},{name:"基普",code:"LAK",symbol:"₭"},{name:"黎巴嫩镑",code:"LBP",symbol:"£"},{name:"斯里兰卡卢比",code:"LKR",symbol:"₨"},{name:"利比里亚元",code:"LRD",symbol:"$"},{name:"利比亚第纳尔",code:"LYD",symbol:""},{name:"摩洛哥迪拉姆",code:"MAD",symbol:""},{name:"摩尔多瓦列伊",code:"MDL",symbol:""},{name:"马达加斯加阿里亚里",code:"MGA",symbol:""},{name:"马其顿代纳尔",code:"MKD",symbol:"ден"},{name:"缅甸元",code:"MMK",symbol:""},{name:"图格里克",code:"MNT",symbol:"₮"},{name:"澳门元",code:"MOP",symbol:""},{name:"乌吉亚",code:"MRU",symbol:""},{name:"毛里求斯卢比",code:"MUR",symbol:"₨"},{name:"拉菲亚",code:"MVR",symbol:""},{name:"克瓦查",code:"MWK",symbol:""},{name:"墨西哥比索",code:"MXN",symbol:"$"},{name:"马来西亚林吉特",code:"MYR",symbol:"RM"},{name:"莫桑比克梅蒂卡尔",code:"MZN",symbol:"MT"},{name:"奈拉",code:"NGN",symbol:"₦"},{name:"科多巴金科多巴",code:"NIO",symbol:"C$"},{name:"挪威克朗",code:"NOK",symbol:"kr"},{name:"尼泊尔卢比",code:"NPR",symbol:"₨"},{name:"新西兰元",code:"NZD",symbol:"$"},{name:"阿曼里亚尔",code:"OMR",symbol:"﷼"},{name:"巴尔博亚",code:"PAB",symbol:"B/."},{name:"秘鲁新索尔",code:"PEN",symbol:"S/."},{name:"基纳",code:"PGK",symbol:""},{name:"菲律宾比索",code:"PHP",symbol:"Php"},{name:"巴基斯坦卢比",code:"PKR",symbol:"₨"},{name:"兹罗提",code:"PLN",symbol:"zł"},{name:"巴拉圭瓜拉尼",code:"PYG",symbol:"Gs"},{name:"卡塔尔里亚尔",code:"QAR",symbol:"﷼"},{name:"新卢",code:"RON",symbol:"lei"},{name:"塞尔维亚第纳尔",code:"RSD",symbol:"Дин."},{name:"俄罗斯卢布",code:"RUB",symbol:"руб"},{name:"卢旺达法郎",code:"RWF",symbol:""},{name:"沙特里亚尔",code:"SAR",symbol:"﷼"},{name:"所罗门群岛元",code:"SBD",symbol:"$"},{name:"塞舌尔卢比",code:"SCR",symbol:"₨"},{name:"苏丹镑",code:"SDG",symbol:""},{name:"瑞典克朗",code:"SEK",symbol:"kr"},{name:"新加坡元",code:"SGD",symbol:"$"},{name:"圣赫勒拿镑",code:"SHP",symbol:"£"},{name:"利昂",code:"SLE",symbol:""},{name:"索马里先令",code:"SOS",symbol:"S"},{name:"苏里南元",code:"SRD",symbol:"$"},{name:"南苏丹镑",code:"SSP",symbol:""},{name:"多布拉",code:"STN",symbol:"Db"},{name:"叙利亚镑",code:"SYP",symbol:"£"},{name:"利兰吉尼",code:"SZL",symbol:""},{name:"泰铢",code:"THB",symbol:"฿"},{name:"索莫尼",code:"TJS",symbol:""},{name:"马纳特",code:"TMT",symbol:""},{name:"突尼斯第纳尔",code:"TND",symbol:""},{name:"帕安加",code:"TOP",symbol:""},{name:"土耳其里拉",code:"TRY",symbol:"₺"},{name:"特立尼达和多巴哥元",code:"TTD",symbol:"TT$"},{name:"新台币",code:"TWD",symbol:"NT$"},{name:"坦桑尼亚先令",code:"TZS",symbol:""},{name:"格里夫尼亚",code:"UAH",symbol:"₴"},{name:"乌干达先令",code:"UGX",symbol:""},{name:"美元",code:"USD",symbol:"$"},{name:"乌拉圭比索",code:"UYU",symbol:"$U"},{name:"乌兹别克索姆",code:"UZS",symbol:"лв"},{name:"委内瑞拉玻利瓦尔",code:"VES",symbol:"Bs"},{name:"越南盾",code:"VND",symbol:"₫"},{name:"瓦图",code:"VUV",symbol:""},{name:"塔拉",code:"WST",symbol:""},{name:"科姆罗尔法郎",code:"XAF",symbol:""},{name:"银",code:"XAG",symbol:"XAG"},{name:"金",code:"XAU",symbol:"XAU"},{name:"东加勒比元",code:"XCD",symbol:"$"},{name:"特别提款权",code:"XDR",symbol:"XDR"},{name:"中非金融合作法郎",code:"XOF",symbol:""},{name:"波利尼西亚法郎",code:"XPF",symbol:""},{name:"也门里亚尔",code:"YER",symbol:"﷼"},{name:"南非兰特",code:"ZAR",symbol:"R"},{name:"赞比亚克瓦查",code:"ZMW",symbol:"ZK"},{name:"津巴布韦元",code:"ZWL",symbol:"$"}],XBt=["存款","取款","支付","开票"],PBt={account_type:EBt,credit_card:VBt,currency:GBt,transaction_type:XBt},OBt=PBt,BBt=["辅助","主要","后端","开源","虚拟","跨平台","冗余","在线","触控","多字节","蓝牙","无线","全高清","神经元","光学","固态","移动"],zBt=["驱动","协议","带宽","面板","芯片","程序","端口","卡片","数组","接口","系统","传感器","防火墙","硬盘","像素","警报","提要","监视器","应用","发送端","总线","电路","电容器","矩阵"],HBt=["倘若我们{{verb}}{{noun}},我们就可以通过{{adjective}}{{abbreviation}}{{noun}}获得{{abbreviation}}{{noun}}!","我们需要{{verb}}{{adjective}}{{abbreviation}}{{noun}}!","尝试{{verb}}{{abbreviation}}{{noun}},也许会{{verb}}{{adjective}}{{noun}}!","在没有{{verb}}{{adjective}}{{abbreviation}}{{noun}}的情况下,你不能{{verb}}{{noun}}!","使用{{adjective}}{{abbreviation}}{{noun}},然后你就能{{verb}}{{adjective}}{{noun}}!","{{abbreviation}}{{noun}}已关闭,因为{{adjective}}{{noun}}所以我们能{{verb}}{{abbreviation}}{{noun}}!","{{verb}}{{noun}}是无济于事的,我们需要{{verb}}{{adjective}}{{abbreviation}}{{noun}}!","我将{{verb}}{{adjective}}{{abbreviation}}{{noun}},那是应该{{noun}}{{abbreviation}}{{noun}}!"],YBt=["备份","绕过","入侵","覆盖","压缩","复制","导航","索引","链接","生成","量化","计算","合成","输入","传输","编程","重启","解析"],UBt={adjective:BBt,noun:zBt,phrase:HBt,verb:YBt},KBt=UBt,JBt=["126.com","139.com","163.com","21cn.com","gmail.com","hotmail.com","qq.com","sina.com","sohu.com","tom.com","vip.qq.com","yahoo.cn","yahoo.com.cn","yeah.net","foxmail.com","outlook.com"],jBt={free_email:JBt},QBt=jBt,$Bt=["#####","####","###","##","#"],qBt=["{{location.city_prefix}}{{location.city_suffix}}"],ezt=["上","包","北","南","厦","吉","太","宁","安","成","武","济","海","珠","福","衡","西","诸","贵","长"],tzt=["乡县","京市","南市","原市","口市","头市","宁市","安市","州市","徽市","林市","汉市","沙市","海市","码市","都市","门市","阳市"],nzt=["中国"],izt=["######"],rzt=["北京市","上海市","天津市","重庆市","黑龙江省","吉林省","辽宁省","内蒙古自治区","河北省","新疆维吾尔自治区","甘肃省","青海省","陕西省","宁夏回族自治区","河南省","山东省","山西省","安徽省","湖北省","湖南省","江苏省","四川省","贵州省","云南省","广西壮族自治区","西藏自治区","浙江省","江西省","广东省","福建省","海南省"],ozt=["北京","上海","天津","重庆","黑龙江","吉林","辽阳","内蒙古","河北","新疆","甘肃","青海","陕西","宁夏","河南","山东","山西","合肥","湖北","湖南","苏州","四川","贵州","云南","广西","西藏","浙江","江西","广东","福建","海南"],szt={normal:"{{location.street}}{{location.buildingNumber}}号",full:"{{location.street}}{{location.buildingNumber}}号 {{location.secondaryAddress}}"},azt=["{{person.last_name}}{{location.street_suffix}}"],lzt=["巷","街","路","桥","侬","旁","中心","栋"],uzt={building_number:$Bt,city_pattern:qBt,city_prefix:ezt,city_suffix:tzt,default_country:nzt,postcode:izt,state:rzt,state_abbr:ozt,street_address:szt,street_pattern:azt,street_suffix:lzt},czt=uzt,dzt={title:"Chinese (China)",code:"zh_CN",country:"CN",language:"zh",endonym:"中文 (中国)",dir:"ltr",script:"Hans"},hzt=dzt,mzt=["摇滚","流行","重金属","电子","民谣","世界","乡村","爵士","放克","灵魂","嘻哈","经典","拉丁","牙买加","蓝调","非音乐","说唱","舞台与银幕"],fzt=["白月光与朱砂痣","孤勇者","稻香","起风了","纪念","晴天","兰亭序","我流泪情绪零碎","七里香","花海","反方向的钟","一路向北","蒲公英的约定","夜曲","搁浅","海底","105度的你","明明就","爱在西元前","我如此相信","枫","青花瓷","半岛铁盒","说了再见","暗号","退后","最长的电影","等你下课","烟花易冷","不该","告白气球","说好不哭","轨迹","红尘客栈","不能说的秘密","珊瑚海","给我一首歌的时间","你听得到","简单的爱","龙卷风","发如雪","园游会","听妈妈的话","夜的第七章","接口","手写从前","安静","爱情废材","以父之名","我不配","最伟大的作品","可爱女人","彩虹","回到过去","听悲伤的情话","把回忆拼好给你","东风破","黑色毛衣","本草纲目","开不了口","霍元甲","爱的飞行日记","大本钟","断了的弦","爷爷泡的茶","星晴","甜甜的","红颜如霜","粉色海洋","她的睫毛","雨下一整晚","白色风车","还在流浪","阳光宅男","算什么男人","菊花台","千里之外","错过的烟火","倒影","听见下雨的声音","黑色幽默","默","不爱我拉倒","之战之殇","布拉格广场","美人鱼","分裂","心雨","米兰的小铁匠","世界末日","一点点","外婆","画沙","哪里都是你","刀马旦","超人不会飞","牛仔很忙","周大侠","飘移","忍者","夏日妄想","铃芽之旅","玫瑰少年","大鱼","灯火里的中国","义勇军进行曲","调查中","少年","堕","在你身边","悬溺","奢香夫人","最好的安排","夏至未至","小城夏天","暖暖"],gzt={genre:mzt,song_name:fzt},pzt=gzt,bzt=["活动家","艺术家","作家","博主","企业家","教练","发明家","设计师","开发者","教育家","工程师","企业主","环保主义者","电影爱好者","电影制片人","美食家","创始人","朋友","玩家","极客","毕业生","创造者","领导者","模特","脑力爱好者","父母","爱国者","个人","哲学家","摄影爱好者","公众演说家","科学家","梦想家","学生","老师","旅行家","退伍军人","作者"],yzt=["{{person.bio_part}}","{{person.bio_part}},{{person.bio_part}}","{{person.bio_part}},{{person.bio_part}},{{person.bio_part}}","{{person.bio_part}},{{person.bio_part}},{{person.bio_part}}{{internet.emoji}}","{{word.noun}}{{person.bio_supporter}}","{{word.noun}}{{person.bio_supporter}}{{internet.emoji}}","{{word.noun}}{{person.bio_supporter}},{{person.bio_part}}","{{word.noun}}{{person.bio_supporter}},{{person.bio_part}}{{internet.emoji}}"],vzt=["倡导者","贡献者","发烧友","粉丝","狂热者","爱好者","支持者"],Czt=["秀英","秀兰","秀珍","桂英","桂兰","玉兰","玉珍","玉英","玉梅","凤英","兰英","婷婷","国英","国珍","国华","国芳","国兰","国秀","国琴","国荣","国香","英","萍","蒙","红","丽","敏","芳","静","霞","燕","娟","艳","娜","丹","玲","婷","珈","雪","倩","悦","颖","洁","慧","开慧","丽芬","丽芳","丽萍","若汐","一诺","艺涵","依诺","梓涵","梓晨","梓馨","梓萱","梓妍","梓玥","苡沫","雨桐","欣怡","语桐","语汐","雨涵","雨欣","诗雨","婷方","美方","雅婷","紫林","天娇","万佳","子欣","海燕","乙萍","安琪","馨羽","馥君","思佳","雅鑫","静怡","晨阳","佳琪","雯静","榕融"],Szt=null,wzt=["乐驹","伟宸","伟泽","伟祺","伟诚","俊驰","修杰","修洁","健柏","健雄","凯瑞","博文","博涛","博超","君浩","哲瀚","嘉懿","嘉熙","天宇","天磊","天翊","子涵","子轩","子骞","子默","展鹏","峻熙","建辉","弘文","彬","志强","志泽","思","思淼","思源","思聪","思远","懿轩","振家","擎宇","擎苍","文","文博","文昊","文轩","旭尧","昊天","昊强","昊焱","昊然","明","明哲","明杰","明轩","明辉","晋鹏","晓博","晓啸","晟睿","智宸","智渊","智辉","果","梓晨","楷瑞","正豪","泽洋","浩","浩宇","浩然","浩轩","涛","潇然","炎彬","炫明","烨伟","烨华","烨磊","烨霖","煜城","煜祺","熠彤","琪","瑞霖","瑾瑜","皓轩","睿渊","立果","立诚","立轩","立辉","笑愚","绍辉","绍齐","耀杰","聪健","胤祥","致远","航","苑博","荣轩","语堂","越彬","越泽","远航","金鑫","鑫磊","鑫鹏","钰轩","锦程","雨泽","雪松","靖琪","风华","驰","鸿涛","鸿煊","鹏","鹏涛","鹏煊","鹏飞","鹤轩","鹭洋","黎昕","诗雨","婷方","美方","雅婷","紫林","天娇","万佳","子欣","海燕","乙萍","安琪","馨羽","馥君","思佳","雅鑫","静怡","晨阳","佳琪","雯静","榕融","浩辰","癸霖","一全","三锋","义轩","俊凯","子豪","振东","智杰","哲新","中海","超栋","治涛","治文","文韬","敬彪","敬阳","政君","立伟","呈轩"],xzt=["赵","钱","孙","李","周","吴","郑","王","冯","陈","褚","卫","蒋","沈","韩","杨","朱","秦","尤","许","何","吕","施","张","孔","曹","严","华","金","魏","陶","姜","戚","谢","邹","喻","柏","水","窦","章","云","苏","潘","葛","奚","范","彭","郎","鲁","韦","昌","马","苗","凤","花","方","俞","任","袁","柳","酆","鲍","史","唐","费","廉","岑","薛","雷","贺","倪","汤","滕","殷","罗","毕","郝","邬","安","常","乐","于","时","傅","皮","卞","齐","康","伍","余","元","卜","顾","孟","平","黄","和","穆","萧","尹","姚","邵","湛","汪","祁","毛","禹","狄","米","贝","明","臧","计","伏","成","戴","谈","宋","茅","庞","熊","纪","舒","屈","项","祝","董","梁","杜","阮","蓝","闵","席","季","麻","强","贾","路","娄","危","江","童","颜","郭","梅","盛","林","刁","锺","徐","邱","骆","高","夏","蔡","田","樊","胡","凌","蹇","称","诺","来","多","繁","戊","朴","回","毓","税","荤","靖","绪","愈","硕","牢","买","但","巧","枚","撒","泰","秘","亥","绍","以","壬","森","斋","释","奕","姒","朋","求","羽","用","占","真","穰","翦","闾","漆","贵","代","贯","旁","崇","栋","告","休","褒","谏","锐","皋","闳","在","歧","禾","示","是","委","钊","频","嬴","呼","大","威","昂","律","冒","保","系","抄","定","化","莱","校","么","抗","祢","綦","悟","宏","功","庚","务","敏","捷","拱","兆","丑","丙","畅","苟","随","类","卯","俟","友","答","乙","允","甲","留","尾","佼","玄","乘","裔","延","植","环","矫","赛","昔","侍","度","旷","遇","偶","前","由","咎","塞","敛","受","泷","袭","衅","叔","圣","御","夫","仆","镇","藩","邸","府","掌","首","员","焉","戏","可","智","尔","凭","悉","进","笃","厚","仁","业","肇","资","合","仍","九","衷","哀","刑","俎","仵","圭","夷","徭","蛮","汗","孛","乾","帖","罕","洛","淦","洋","邶","郸","郯","邗","邛","剑","虢","隋","蒿","茆","菅","苌","树","桐","锁","钟","机","盘","铎","斛","玉","线","针","箕","庹","绳","磨","蒉","瓮","弭","刀","疏","牵","浑","恽","势","世","仝","同","蚁","止","戢","睢","冼","种","涂","肖","己","泣","潜","卷","脱","谬","蹉","赧","浮","顿","说","次","错","念","夙","斯","完","丹","表","聊","源","姓","吾","寻","展","出","不","户","闭","才","无","书","学","愚","本","性","雪","霜","烟","寒","少","字","桥","板","斐","独","千","诗","嘉","扬","善","揭","祈","析","赤","紫","青","柔","刚","奇","拜","佛","陀","弥","阿","素","长","僧","隐","仙","隽","宇","祭","酒","淡","塔","琦","闪","始","星","南","天","接","波","碧","速","禚","腾","潮","镜","似","澄","潭","謇","纵","渠","奈","风","春","濯","沐","茂","英","兰","檀","藤","枝","检","生","折","登","驹","骑","貊","虎","肥","鹿","雀","野","禽","飞","节","宜","鲜","粟","栗","豆","帛","官","布","衣","藏","宝","钞","银","门","盈","庆","喜","及","普","建","营","巨","望","希","道","载","声","漫","犁","力","贸","勤","革","改","兴","亓","睦","修","信","闽","北","守","坚","勇","汉","练","尉","士","旅","五","令","将","旗","军","行","奉","敬","恭","仪","母","堂","丘","义","礼","慈","孝","理","伦","卿","问","永","辉","位","让","尧","依","犹","介","承","市","所","苑","杞","剧","第","零","谌","招","续","达","忻","六","鄞","战","迟","候","宛","励","粘","萨","邝","覃","辜","初","楼","城","区","局","台","原","考","妫","纳","泉","老","清","德","卑","过","麦","曲","竹","百","福","言","霍","虞","万","支","柯","昝","管","卢","莫","经","房","裘","缪","干","解","应","宗","丁","宣","贲","邓","单","杭","洪","包","诸","左","石","崔","吉","钮","龚","程","嵇","邢","滑","裴","陆","荣","翁","荀","羊","於","惠","甄","麴","家","封","芮","羿","储","靳","汲","邴","糜","松","井","段","富","巫","乌","焦","巴","弓","牧","隗","山","谷","车","侯","宓","蓬","全","郗","班","仰","秋","仲","伊","宫","宁","仇","栾","暴","甘","钭","历","戎","祖","武","符","刘","景","詹","束","龙","叶","幸","司","韶","郜","黎","蓟","溥","印","宿","白","怀","蒲","邰","召","有","舜","拉","丛","岳","寸","贰","皇","侨","彤","竭","端","赫","实","甫","集","象","翠","狂","辟","典","良","函","芒","苦","其","京","中","夕","之","从","鄂","索","咸","籍","赖","卓","蔺","屠","蒙","池","乔","阳","郁","胥","能","苍","双","闻","莘","党","翟","谭","贡","劳","逄","姬","申","扶","堵","冉","宰","郦","雍","却","璩","桑","桂","濮","牛","寿","通","边","扈","燕","冀","僪","浦","尚","农","温","别","庄","晏","柴","瞿","阎","充","慕","连","茹","习","宦","艾","鱼","容","向","古","易","慎","戈","廖","庾","终","暨","居","衡","步","都","耿","满","弘","匡","国","文","琴","况","亢","缑","帅","寇","广","禄","阙","东","欧","殳","沃","利","蔚","越","夔","隆","师","巩","厍","聂","晁","勾","敖","融","冷","訾","辛","阚","那","简","饶","空","曾","毋","沙","乜","养","鞠","须","丰","巢","关","蒯","相","查","后","荆","红","游","特","察","竺","冠","宾","香","赏","伯","佴","佘","佟","爱","年","笪","谯","哈","墨","牟","商","海","归","钦","鄢","汝","法","闫","楚","晋","督","仉","盖","逯","库","郏","逢","阴","薄","厉","稽","开","光","操","瑞","眭","泥","运","摩","伟","铁","迮","果","权","逮","盍","益","桓","公","万俟","司马","上官","欧阳","夏侯","诸葛","闻人","东方","赫连","皇甫","尉迟","公羊","澹台","公冶","宗政","濮阳","淳于","单于","太叔","申屠","公孙","仲孙","轩辕","令狐","钟离","宇文","长孙","慕容","司徒","司空","章佳","那拉","觉罗","纳喇","乌雅","范姜","碧鲁"],_zt=[{value:"{{person.last_name}}",weight:1}],Lzt=["建华","建国","建军","国强","国平","国良","国栋","国辉","志国","志明","勇","军","伟","强","刚","涛","斌","波","辉","磊","超","鹏","杰","浩","鑫","帅","宇","晨","诚","成","民","明","阳","瑜","熙成","熙瑶","家豪","家明","俊杰","俊熙","沐宸","浩宇","浩然","浩轩","浩晨","沐辰","茗泽","奕辰","奕泽","宇泽","宇轩","宇航","沐阳","梓诚","梓豪","梓睿","梓浩","浩辰","癸霖","一全","三锋","义轩","俊凯","子豪","振东","智杰","哲新","文昊","中海","超栋","治涛","治文","文韬","敬彪","敬阳","政君","立伟","呈轩"],Izt=null,Fzt=[{value:"{{person.lastName}}{{person.firstName}}",weight:1}],Dzt=null,Nzt={bio_part:bzt,bio_pattern:yzt,bio_supporter:vzt,female_first_name:Czt,female_prefix:Szt,first_name:wzt,last_name:xzt,last_name_pattern:_zt,male_first_name:Lzt,male_prefix:Izt,name:Fzt,prefix:Dzt},Mzt=Nzt,kzt=["0##-########","0###-########","1##########"],Tzt={formats:kzt},Ezt=Tzt,Rzt=Object.freeze([{symbol:"H",name:"氢",atomicNumber:1},{symbol:"He",name:"氦",atomicNumber:2},{symbol:"Li",name:"锂",atomicNumber:3},{symbol:"Be",name:"铍",atomicNumber:4},{symbol:"B",name:"硼",atomicNumber:5},{symbol:"C",name:"碳",atomicNumber:6},{symbol:"N",name:"氮",atomicNumber:7},{symbol:"O",name:"氧",atomicNumber:8},{symbol:"F",name:"氟",atomicNumber:9},{symbol:"Ne",name:"氖",atomicNumber:10},{symbol:"Na",name:"钠",atomicNumber:11},{symbol:"Mg",name:"镁",atomicNumber:12},{symbol:"Al",name:"铝",atomicNumber:13},{symbol:"Si",name:"硅",atomicNumber:14},{symbol:"P",name:"磷",atomicNumber:15},{symbol:"S",name:"硫",atomicNumber:16},{symbol:"Cl",name:"氯",atomicNumber:17},{symbol:"Ar",name:"氩",atomicNumber:18},{symbol:"K",name:"钾",atomicNumber:19},{symbol:"Ca",name:"钙",atomicNumber:20},{symbol:"Sc",name:"钪",atomicNumber:21},{symbol:"Ti",name:"钛",atomicNumber:22},{symbol:"V",name:"钒",atomicNumber:23},{symbol:"Cr",name:"铬",atomicNumber:24},{symbol:"Mn",name:"锰",atomicNumber:25},{symbol:"Fe",name:"铁",atomicNumber:26},{symbol:"Co",name:"钴",atomicNumber:27},{symbol:"Ni",name:"镍",atomicNumber:28},{symbol:"Cu",name:"铜",atomicNumber:29},{symbol:"Zn",name:"锌",atomicNumber:30},{symbol:"Ga",name:"镓",atomicNumber:31},{symbol:"Ge",name:"锗",atomicNumber:32},{symbol:"As",name:"砷",atomicNumber:33},{symbol:"Se",name:"硒",atomicNumber:34},{symbol:"Br",name:"溴",atomicNumber:35},{symbol:"Kr",name:"氪",atomicNumber:36},{symbol:"Rb",name:"铷",atomicNumber:37},{symbol:"Sr",name:"锶",atomicNumber:38},{symbol:"Y",name:"钇",atomicNumber:39},{symbol:"Zr",name:"锆",atomicNumber:40},{symbol:"Nb",name:"铌",atomicNumber:41},{symbol:"Mo",name:"钼",atomicNumber:42},{symbol:"Tc",name:"Technetium",atomicNumber:43},{symbol:"Ru",name:"锝",atomicNumber:44},{symbol:"Rh",name:"锝",atomicNumber:45},{symbol:"Pd",name:"钯",atomicNumber:46},{symbol:"Ag",name:"银",atomicNumber:47},{symbol:"Cd",name:"镉",atomicNumber:48},{symbol:"In",name:"铟",atomicNumber:49},{symbol:"Sn",name:"锡",atomicNumber:50},{symbol:"Sb",name:"锑",atomicNumber:51},{symbol:"Te",name:"碲",atomicNumber:52},{symbol:"I",name:"碘",atomicNumber:53},{symbol:"Xe",name:"氙",atomicNumber:54},{symbol:"Cs",name:"铯",atomicNumber:55},{symbol:"Ba",name:"钡",atomicNumber:56},{symbol:"La",name:"镧",atomicNumber:57},{symbol:"Ce",name:"铈",atomicNumber:58},{symbol:"Pr",name:"镨",atomicNumber:59},{symbol:"Nd",name:"钕",atomicNumber:60},{symbol:"Pm",name:"钷",atomicNumber:61},{symbol:"Sm",name:"钐",atomicNumber:62},{symbol:"Eu",name:"铕",atomicNumber:63},{symbol:"Gd",name:"钆",atomicNumber:64},{symbol:"Tb",name:"铽",atomicNumber:65},{symbol:"Dy",name:"钬",atomicNumber:66},{symbol:"Ho",name:"钬",atomicNumber:67},{symbol:"Er",name:"铥",atomicNumber:68},{symbol:"Tm",name:"铥",atomicNumber:69},{symbol:"Yb",name:"镱",atomicNumber:70},{symbol:"Lu",name:"镥",atomicNumber:71},{symbol:"Hf",name:"铪",atomicNumber:72},{symbol:"Ta",name:"钽",atomicNumber:73},{symbol:"W",name:"钨",atomicNumber:74},{symbol:"Re",name:"铼",atomicNumber:75},{symbol:"Os",name:"锇",atomicNumber:76},{symbol:"Ir",name:"铱",atomicNumber:77},{symbol:"Pt",name:"铂",atomicNumber:78},{symbol:"Au",name:"金",atomicNumber:79},{symbol:"Hg",name:"汞",atomicNumber:80},{symbol:"Tl",name:"铊",atomicNumber:81},{symbol:"Pb",name:"铅",atomicNumber:82},{symbol:"Bi",name:"铋",atomicNumber:83},{symbol:"Po",name:"钋",atomicNumber:84},{symbol:"At",name:"砹",atomicNumber:85},{symbol:"Rn",name:"氡",atomicNumber:86},{symbol:"Fr",name:"钫",atomicNumber:87},{symbol:"Ra",name:"镭",atomicNumber:88},{symbol:"Ac",name:"锕",atomicNumber:89},{symbol:"Th",name:"钍",atomicNumber:90},{symbol:"Pa",name:"镎",atomicNumber:91},{symbol:"U",name:"镎",atomicNumber:92},{symbol:"Np",name:"镎",atomicNumber:93},{symbol:"Pu",name:"钚",atomicNumber:94},{symbol:"Am",name:"镅",atomicNumber:95},{symbol:"Cm",name:"锔",atomicNumber:96},{symbol:"Bk",name:"锫",atomicNumber:97},{symbol:"Cf",name:"锎",atomicNumber:98},{symbol:"Es",name:"锿",atomicNumber:99},{symbol:"Fm",name:"镄",atomicNumber:100},{symbol:"Md",name:"钔",atomicNumber:101},{symbol:"No",name:"锘",atomicNumber:102},{symbol:"Lr",name:"铹",atomicNumber:103},{symbol:"Rf",name:"𬬻",atomicNumber:104},{symbol:"Db",name:"𬭊",atomicNumber:105},{symbol:"Sg",name:"𬭳",atomicNumber:106},{symbol:"Bh",name:"𬭛",atomicNumber:107},{symbol:"Hs",name:"𬭶",atomicNumber:108},{symbol:"Mt",name:"鿏",atomicNumber:109},{symbol:"Ds",name:"𫟼",atomicNumber:110},{symbol:"Rg",name:"𬬭",atomicNumber:111},{symbol:"Cn",name:"鿔",atomicNumber:112},{symbol:"Nh",name:"鿭",atomicNumber:113},{symbol:"Fl",name:"𫓧",atomicNumber:114},{symbol:"Mc",name:"镆",atomicNumber:115},{symbol:"Lv",name:"𫟷",atomicNumber:116},{symbol:"Ts",name:"钿",atomicNumber:117},{symbol:"Og",name:"鿫",atomicNumber:118}]),Zzt=Object.freeze([{name:"米",symbol:"m"},{name:"秒",symbol:"s"},{name:"摩尔",symbol:"mol"},{name:"安培",symbol:"A"},{name:"开尔文",symbol:"K"},{name:"坎德拉",symbol:"cd"},{name:"千克",symbol:"kg"},{name:"弧度",symbol:"rad"},{name:"赫兹",symbol:"Hz"},{name:"牛顿",symbol:"N"},{name:"帕斯卡",symbol:"Pa"},{name:"焦耳",symbol:"J"},{name:"瓦特",symbol:"W"},{name:"库伦",symbol:"C"},{name:"伏特",symbol:"V"},{name:"欧姆",symbol:"Ω"},{name:"特斯拉",symbol:"T"},{name:"摄氏度",symbol:"°C"},{name:"流明",symbol:"lm"},{name:"贝尔勒尔",symbol:"Bq"},{name:"戈瑞",symbol:"Gy"},{name:"希沃特",symbol:"Sv"},{name:"球面度",symbol:"sr"},{name:"法拉",symbol:"F"},{name:"西门子",symbol:"S"},{name:"韦伯",symbol:"Wb"},{name:"亨利",symbol:"H"},{name:"勒克斯",symbol:"lx"},{name:"开特",symbol:"kat"}]),Wzt={chemicalElement:Rzt,unit:Zzt},Azt=Wzt,Vzt=["冒险公路自行车","小轮车自行车","城市自行车","巡洋舰自行车","越野自行车","双运动自行车","健身自行车","平足舒适自行车","折叠自行车","混合动力自行车","山地自行车","卧式自行车","公路自行车","双人自行车","旅行自行车","场地/固定齿轮自行车","铁人三项/计时自行车","三轮车"],Gzt=["柴油","电动","汽油","混合动力"],Xzt=["阿斯顿·马丁","奥迪","宾利","宝马","布加迪","卡迪拉克","雪佛兰","克莱斯勒","躲闪","法拉利","菲亚特","福特","本田","现代","捷豹","吉普车","起亚","兰博基尼","路虎","玛莎拉蒂","马自达","奔驰","小型的","日产","极星","保时捷","劳斯莱斯","聪明的","特斯拉","丰田","大众汽车","沃尔沃"],Pzt=["货车","掀背车","面包车","客车","越野车","轿车","旅行车"],Ozt={bicycle_type:Vzt,fuel:Gzt,manufacturer:Xzt,type:Pzt},Bzt=Ozt,zzt=["长","短","大","小","粗","细","红","绿","平坦","整齐","雪白","笔直","绿油油","血淋淋","骨碌碌","黑不溜秋","好","坏","伟大","勇敢","优秀","聪明","老实","鲁莽","大方","软","硬","苦","甜","冷","热","坚固","平常","快","慢","生动","熟练","轻松","清楚","马虎","干脆","许多","好些","全部","全","整","多","少"],Hzt=["都","全","单","共","光","尽","净","仅","就","只","一共","一起","一同","一道","一齐","一概","一味","统统","总共","仅仅","惟独","可","倒","一定","必定","必然","却","幸亏","难道","何尝","偏偏","索性","简直","反正","多亏","也许","大约","好在","敢情","不","没","没有","别","仿佛","渐渐","百般","特地","互相","擅自","几乎","逐渐","逐步","猛然","依然","仍然","当然","毅然","果然","差点儿","很","极","最","太","更","更加","格外","十分","极其","比较","相当","稍微","略微","多么"],Yzt=["打","吃","抿","做","坐","跑","跳","走","飞","爬","开","滑","切","拆","咬","吞","吐","吮","吸","啃","喝","咀","嚼","搀","抱","搂","扶","捉","擒","掐","推","拿","抽","撕","摘","拣","捡","播","击","捏","撒","按","弹","撞","提","扭","捶","持","揍","披","捣","搜","托","举","拖","擦","敲","挖","抛","掘","抬","插","扔","写","抄","抓","捧","掷","撑","摊","倒","摔","劈","画","搔","撬","挥","揽","挡","捺","抚","搡","拉","摸","拍","摇","剪","拎","拔","拧","拨","舞","握","攥","驾驶","移动","转动","操作","蠕动","启动","关闭"],Uzt={adjective:zzt,adverb:Hzt,verb:Yzt},Kzt=Uzt,Jzt={airline:rBt,animal:hBt,color:gBt,commerce:CBt,company:LBt,database:DBt,date:TBt,finance:OBt,hacker:KBt,internet:QBt,location:czt,metadata:hzt,music:pzt,person:Mzt,phone_number:Ezt,science:Azt,vehicle:Bzt,word:Kzt},jzt=Jzt,Xo=new IOt({locale:[jzt,hPt,qOt]});function KM(n){return n<10?"0"+n:n}function Qzt(n,e,t,i){var r=t?"":n.getUTCFullYear()+"-"+KM(n.getUTCMonth()+1)+"-"+KM(n.getUTCDate());return e||(r+="T"+KM(n.getUTCHours())+":"+KM(n.getUTCMinutes())+":"+KM(n.getUTCSeconds())+(i?"."+(n.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5):"")+"Z"),r}function MDe(n,e){return e>n.length?n.repeat(Math.trunc(e/n.length)+1).substring(0,e):n}function sG(...n){const e=t=>t&&typeof t=="object";return n.reduce((t,i)=>(Object.keys(i||{}).forEach(r=>{const o=t[r],s=i[r];e(o)&&e(s)?t[r]=sG(o,s):t[r]=s}),t),Array.isArray(n[n.length-1])?[]:{})}function $zt(n){var e=qzt(n),t=eHt(e,e,e,e),i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,r=>{var o=t()*16%16|0;return(r=="x"?o:o&3|8).toString(16)});return i}function q$(n){return{value:n==="object"?{}:n==="array"?[]:void 0}}function L1(n,e){e&&n.pop()}function qzt(n){var e=0;if(n.length==0)return e;for(var t=0;t>>5)|0;return n=e^(t<<17|t>>>15),e=t+i|0,t=i+r|0,i=n+r|0,(i>>>0)/4294967296}}function tHt(n,e,t,i,r){let o=um(n,t,i);const s=[];for(let a of e){const{type:l,readOnly:u,writeOnly:c,value:d}=um({type:o.type,...a},t,i,r);o.type&&l&&l!==o.type&&(o.type=l),o.type=o.type||l,o.readOnly=o.readOnly||u,o.writeOnly=o.writeOnly||c,d!=null&&s.push(d)}if(o.type==="object")return o.value=sG(o.value||{},...s.filter(a=>typeof a=="object")),o;{o.type==="array"&&t.quiet;const a=s[s.length-1];return o.value=a??o.value,o}}const kDe={multipleOf:"number",maximum:"number",exclusiveMaximum:"number",minimum:"number",exclusiveMinimum:"number",maxLength:"string",minLength:"string",pattern:"string",items:"array",maxItems:"array",minItems:"array",uniqueItems:"array",additionalItems:"array",maxProperties:"object",minProperties:"object",required:"object",additionalProperties:"object",properties:"object",patternProperties:"object",dependencies:"object"};function aG(n){if(n.type!==void 0)return Array.isArray(n.type)?n.type.length===0?null:n.type[0]:n.type;const e=Object.keys(kDe);for(var t=0;te.maxSampleDepth)return L1(lm,i),q$(aG(n));if(n.$ref){if(!t)throw new Error("Your schema contains $ref. You must provide full specification in the third parameter.");let a=decodeURIComponent(n.$ref);a.startsWith("#")&&(a=a.substring(1));const l=aHt.get(t,a);let u;if(lG[a]!==!0)lG[a]=!0,u=um(l,e,t,i),lG[a]=!1;else{const c=aG(l);u=q$(c)}return L1(lm,i),u}if(n.example!==void 0)return L1(lm,i),{value:n.example,readOnly:n.readOnly,writeOnly:n.writeOnly,type:n.type};if(n.allOf!==void 0)return L1(lm,i),EDe(n)||tHt({...n,allOf:void 0},n.allOf,e,t,i);if(n.oneOf&&n.oneOf.length){n.anyOf&&e.quiet,L1(lm,i);const a=Object.assign({readOnly:n.readOnly,writeOnly:n.writeOnly},n.oneOf[0]);return s(n,a)}if(n.anyOf&&n.anyOf.length){L1(lm,i);const a=Object.assign({readOnly:n.readOnly,writeOnly:n.writeOnly},n.anyOf[0]);return s(n,a)}if(n.if&&n.then){L1(lm,i);const{if:a,then:l,...u}=n;return um(sG(u,a,l),e,t,i)}let r=TDe(n),o=null;if(r===void 0){r=null,o=n.type,Array.isArray(o)&&n.type.length>0&&(o=n.type[0]),o||(o=aG(n));let a=ADe[o];a&&(r=a(n,e,t,i))}return L1(lm,i),{value:r,readOnly:n.readOnly,writeOnly:n.writeOnly,type:o};function s(a,l){const u=EDe(a);if(u!==void 0)return u;const c=um({...a,oneOf:void 0,anyOf:void 0},e,t,i),d=um(l,e,t,i);if(typeof c.value=="object"&&typeof d.value=="object"){const h=sG(c.value,d.value);return{...d,value:h}}return d}}function uHt(n,e={},t,i){const r=i&&i.depth||1;let o=Math.min(n.maxItems!=null?n.maxItems:1/0,n.minItems||1);const s=n.prefixItems||n.items||n.contains;Array.isArray(s)&&(o=Math.max(o,s.length));let a=u=>Array.isArray(s)?s[u]||{}:s||{},l=[];if(!s)return l;for(let u=0;u=n.maximum||!n.exclusiveMaximum&&e>n.maximum)&&(e=(n.maximum+n.minimum)/2),e;if(n.minimum)return n.exclusiveMinimum?Math.floor(n.minimum)+1:n.minimum;if(n.maximum)return n.exclusiveMaximum?n.maximum>0?0:Math.floor(n.maximum)-1:n.maximum>0?0:n.maximum}else{if(n.minimum)return n.minimum;n.exclusiveMinimum?(e=Math.floor(n.exclusiveMinimum)+1,e===n.exclusiveMaximum&&(e=(e+Math.floor(n.exclusiveMaximum)-1)/2)):n.exclusiveMaximum?e=Math.floor(n.exclusiveMaximum)-1:n.maximum&&(e=n.maximum)}return e}function dHt(n,e={},t,i){let r={};const o=i&&i.depth||1;if(n&&typeof n.properties=="object"){const s=Array.isArray(n.required)?n.required:[],a={};for(const l of s)a[l]=!0;Object.keys(n.properties).forEach(l=>{if(e.skipNonRequired&&!a.hasOwnProperty(l))return;const u=um(n.properties[l],e,t,{propertyName:l,depth:o+1});e.skipReadOnly&&u.readOnly||e.skipWriteOnly&&u.writeOnly||(r[l]=u.value)})}if(n&&typeof n.additionalProperties=="object"){const s=n.additionalProperties["x-additionalPropertiesName"]||"property";r[`${String(s)}1`]=um(n.additionalProperties,e,t,{depth:o+1}).value,r[`${String(s)}2`]=um(n.additionalProperties,e,t,{depth:o+1}).value}if(n&&typeof n.properties=="object"&&n.maxProperties!==void 0&&Object.keys(r).length>n.maxProperties){const s={};let a=0;(Array.isArray(n.required)?n.required:[]).forEach(u=>{r[u]!==void 0&&(s[u]=r[u],a++)}),Object.keys(r).forEach(u=>{aI.charCodeAt(0));if(t=L[0],i=L[1],t>i)throw new Error("Character range provided is out of order.");for(let I=t;I<=i;I++)if(e&&isNaN(Number(String.fromCharCode(I)))){const D=String.fromCharCode(I);y.push(D.toUpperCase().charCodeAt(0)),y.push(D.toLowerCase().charCodeAt(0))}else y.push(I)}C=C.substring(w[0].length),w=C.match(a)}if(r=ZDe(b,f,g),h){let L=-1;for(let I=48;I<=57;I++){if(L=y.indexOf(I),L>-1){y.splice(L,1);continue}y.push(I)}for(let I=65;I<=90;I++){if(L=y.indexOf(I),L>-1){y.splice(L,1);continue}y.push(I)}for(let I=97;I<=122;I++){if(L=y.indexOf(I),L>-1){y.splice(L,1);continue}y.push(I)}}const x=Array.from({length:r},()=>String.fromCharCode(y[JM(0)])).join("");n=n.slice(0,s.index)+x+n.slice(s.index+s[0].length),s=n.match(l)}const u=/(.)\{(\d+)\,(\d+)\}/;for(s=n.match(u);s!=null;){if(t=parseInt(s[2]),i=parseInt(s[3]),t>i)throw new Error("Numbers out of order in {} quantifier.");r=JM(t),n=n.slice(0,s.index)+s[1].repeat(r)+n.slice(s.index+s[0].length),s=n.match(u)}const c=/(.)\{(\d+)\}/;for(s=n.match(c);s!=null;)r=parseInt(s[2]),n=n.slice(0,s.index)+s[1].repeat(r)+n.slice(s.index+s[0].length),s=n.match(c);return n}const mHt="qwerty!@#$%^123456";function fHt(){return"user@example.com"}function gHt(){return"пошта@укр.нет"}function pHt(n,e){let t="pa$$word";return n>t.length&&(t+="_",t+=MDe(mHt,n-t.length).substring(0,n-t.length)),t}function eq({min:n,max:e,omitTime:t,omitDate:i}){let r=Qzt(new Date("2019-08-24T14:15:22.123Z"),t,i,!1);return r.lengthe,r}function bHt(n,e){return eq({min:n,max:e,omitTime:!1,omitDate:!1})}function yHt(n,e){return eq({min:n,max:e,omitTime:!0,omitDate:!1})}function vHt(n,e){return eq({min:n,max:e,omitTime:!1,omitDate:!0}).slice(1)}function WDe(n,e,t,i,r=!1){if(i&&r)return hHt(i);let o=MDe("string",n);return e&&o.length>e&&(o=o.substring(0,e)),o}function CHt(){return"192.168.0.1"}function SHt(){return"2001:0db8:85a3:0000:0000:8a2e:0370:7334"}function wHt(){return"example.com"}function xHt(){return"приклад.укр"}function _Ht(){return"http://example.com"}function LHt(){return"../dictionary"}function IHt(){return"http://example.com/{endpoint}"}function FHt(){return"http://example.com/entity/1"}function DHt(){return"/entity/1"}function NHt(n,e,t){return $zt(t||"id")}function MHt(){return"/json/pointer"}function kHt(){return"1/relative/json/pointer"}function THt(){return"/regex/"}const EHt={email:fHt,"idn-email":gHt,password:pHt,"date-time":bHt,date:yHt,time:vHt,ipv4:CHt,ipv6:SHt,hostname:wHt,"idn-hostname":xHt,iri:FHt,"iri-reference":DHt,uri:_Ht,"uri-reference":LHt,"uri-template":IHt,uuid:NHt,default:WDe,"json-pointer":MHt,"relative-json-pointer":kHt,regex:THt};function RHt(n,e,t,i){let r=n.format||"default",o=EHt[r]||WDe,s=i&&i.propertyName;return o(n.minLength||0,n.maxLength,s,n.pattern,e==null?void 0:e.enablePatterns)}var ADe={};const ZHt={skipReadOnly:!1,maxSampleDepth:15};function VDe(n,e,t){let i=Object.assign({},ZHt,e);return lHt(),um(n,i,t).value}function Jx(n,e){ADe[n]=e}Jx("array",uHt),Jx("boolean",cHt),Jx("integer",RDe),Jx("number",RDe),Jx("object",dHt),Jx("string",RHt);function GDe(n){return Eo(n).format("YYYY-MM-DD")}function WHt(n){return Eo(Eo(n).format("YYYY-MM-DD")).unix()}function AHt(n){return Eo(n).format("YYYY-MM-DD HH:mm:ss")}function XDe(n){return Eo(n).unix()}var PDe=(n=>(n.id="id",n.timestamp="timestamp",n.datetimeunix="datetimeunix",n.datetime="datetime",n.time="time",n.dateunix="dateunix",n.date="date",n.email="email",n.ip="ip",n.host="host",n.url="url",n.username="username",n.password="password",n.mobile="mobile",n.tel="tel",n.phone="phone",n.idcard="idcard",n.bankcard="bankcard",n.address="address",n.birth="birth",n.offset="offset",n.pagesn="pagesn",n.pageno="pageno",n.pagenumber="pagenumber",n.size="size",n))(PDe||{});function VHt(n,e){let t;switch(n){case"id":t=Xo.string.uuid();break;case"dateunix":t=WHt(Xo.date.recent());break;case"date":t=GDe(Xo.date.recent());break;case"datetimeunix":case"timestamp":t=XDe(Xo.date.recent());break;case"datetime":case"time":(e==null?void 0:e.schema).type==="number"||(e==null?void 0:e.schema).type==="integer"?t=XDe(Xo.date.recent()):t=AHt(Xo.date.recent());break;case"email":t=Xo.internet.email();break;case"ip":t=Xo.internet.ip();break;case"host":case"url":t=Xo.internet.url();break;case"username":t=Xo.internet.userName();break;case"password":t=Xo.internet.password();break;case"mobile":case"tel":case"phone":t=Xo.phone.number();break;case"idcard":t=`${Xo.location.zipCode()}${Eo(Xo.date.past({years:30})).format("YYYYMMDD")}${Xo.helpers.rangeToNumber({min:100,max:999})}X`;break;case"bankcard":t=Xo.finance.creditCardNumber();break;case"address":t=`${Xo.location.state()}${Xo.location.city()}${Xo.location.streetAddress()}`;break;case"birth":t=GDe(Xo.date.birthdate({min:1950,max:Eo().get("year")}));break;case"offset":case"pagesn":case"pageno":case"pagenumber":t=Xo.number.int({min:0,max:10});break;case"size":t=Xo.number.int({min:10,max:50});break;default:t=""}return t}function GHt(n,e){const t={};return e?n=Sb(n,i=>bh(i.name)!=="authorization"&&!!i.required):n=Sb(n,i=>bh(i.name)!=="authorization"),NB(n,i=>{const r=i.schema;if(!Fs(r))if(r!=null&&r.format)t[i.name]=VDe(r,{skipReadOnly:!0});else{const o=p$e(PDe,s=>Fu(bh(i.name),s));o?t[i.name]=VHt(o,i):r.type==="integer"?t[i.name]=Xo.number.int({min:0,max:1e5}):r.type==="string"?t[i.name]=Xo.string.sample({min:1,max:30}):r.type==="boolean"&&(t[i.name]=Xo.datatype.boolean())}}),t}function XHt(n,e,t){return Fs(n)?void 0:VDe(n,{skipReadOnly:!0,skipNonRequired:t},e)}function PHt(n){return e=>Sb(n,t=>t.in===e)}function uG(n,e={}){return xo(n,t=>{var o;const i=t.name,r=(o=t.schema)==null?void 0:o.pattern;return se(Ei.Item,{name:i,rules:t.required?[r?{required:!0,pattern:r}:{required:!0}]:void 0,style:{marginBottom:10},children:se(j$,{parameter:t,schemas:e})},i)})}function OHt({requestBody:n,schemas:e={}}){const t=lo(),i=lge(n);return se("div",{children:xo(i,(r,o)=>{const s=r.schema?Zm(r.schema,e):{};return se("div",{children:Jpe(o)||jpe(o)?Gt("div",{style:{color:t.color.title,backgroundColor:t.color.descCardBg,padding:6,borderRadius:6},children:[se("div",{style:{padding:"6px 0"},children:o}),se("div",{style:{height:1,backgroundColor:t.color.border,marginBottom:10}}),xo(s.properties,(a,l)=>{var c;const u=(c=s.required)==null?void 0:c.includes(l);return se(Ei.Item,{name:l,rules:u?[{required:!0}]:void 0,children:se(j$,{parameter:{in:"formData",name:l,schema:a,required:u},schemas:e})},l)})]}):se(Ei.Item,{name:"body",rules:n.required?[{required:!0}]:void 0,children:se(j$,{parameter:{in:"body",name:o,schema:s,required:n.required},schemas:e})})},o)})},"requestBody")}var BHt={name:"yaxt6v",styles:"margin:1em 0;& > *{margin-right:4px;}"};function zHt(n){var C;const{operation:e,schemas:t}=n,[i]=Ei.useForm(),r=Zy(),{openapiWithServiceInfo:o}=wm(),{configInfo:s}=fh(),{t:a}=zs(),l=edt(e,(C=o||{})==null?void 0:C.openapi),u=PHt(e.parameters||[]),[c,d]=S.useState({}),[h,m]=S.useState(!1),[f,g]=S.useState(0);S.useEffect(()=>{i.resetFields(),d({})},[r.pathname]),S.useEffect(()=>{i.setFieldValue("Authorization",(s==null?void 0:s.authorization)||""),i.setFieldValue("authorization",(s==null?void 0:s.authorization)||""),g(w=>w+1)},[s==null?void 0:s.authorization]);async function b(w){m(!0);const x=await QL(w).finally(()=>m(!1));(x==null?void 0:x.status)>=200&&(x==null?void 0:x.status)<300&&d(x),m(!1)}function y(w){var I,D;let x,L;if(e.parameters&&(x=GHt(e.parameters,w)),e.requestBody){const N=(D=(I=w5(e.requestBody.content))==null?void 0:I[0])==null?void 0:D.schema;N&&(L=XHt(N,o==null?void 0:o.openapi,w))}i.setFieldsValue({...x||{},body:Fs(L)?void 0:L}),g(f+1)}return se(Ei,{form:i,name:"request-control-form",initialValues:{Authorization:s==null?void 0:s.authorization,authorization:s==null?void 0:s.authorization},onValuesChange:()=>{g(f+1)},onFinish:()=>b(l(i.getFieldsValue())),children:Gt("div",{style:{display:"flex",fontSize:Er.fontSize.xs},children:[Gt("div",{style:{width:"50%",paddingRight:12},children:[uG(u("path"),t),uG(u("header"),t),uG(u("query"),t),uG(u("cookie"),t),e.requestBody&&se(OHt,{requestBody:e.requestBody,schemas:t})]}),Gt("div",{style:{width:"50%",paddingLeft:12},children:[se($pe,{request:l(i.getFieldsValue())}),Gt("div",{css:BHt,children:[se(jr,{htmlType:"submit",type:"primary",disabled:h,children:a(h?"openapi.requesting":"openapi.request")}),se(jr,{onClick:()=>y(!0),children:a("openapi.mockRequired")}),se(jr,{onClick:()=>y(!1),children:a("openapi.mockAll")}),se(kP,{content:se(qpe,{request:l(i.getFieldsValue())}),trigger:"click",children:se(jr,{children:a("openapi.cURL")})}),se(kP,{content:se(adt,{request:l(i.getFieldsValue())}),trigger:"click",children:se(jr,{children:a("openapi.generateCode")})})]}),!Fs(c)&&se(nbe,{...c})]})]})})}function HHt(){var l;const{operationId:n}=Ife(),{t:e}=zs(),{openapiWithServiceInfo:t}=wm(),i=lo(),{configInfo:r}=fh();if(!(t!=null&&t.operations)||!n)return null;const o=t.operations[n]||{},s=o.method?{color:sge(o.method)}:{},a=(r==null?void 0:r.theme)==="dark";return se("div",{children:Gt("div",{style:{borderRadius:6,overflow:"hidden",border:`1px solid ${a?i.color.border:s.color}`},children:[Gt("div",{style:{backgroundColor:a?i.color.descCardBg:s.color,padding:10,color:i.color.menuGroup},children:[Gt("div",{style:{textDecoration:o.deprecated?"line-through":"none",marginBottom:8},children:[se(sg,{title:e("openapi.clickToCopy"),children:se("a",{style:{fontWeight:"bold",marginRight:10,color:i.color.menuGroup},onClick:()=>{EO(o.operationId),tu.success(e("openapi.copySuccess"))},children:o.operationName})}),se("span",{title:o.summary,style:{fontSize:Er.fontSize.xs},children:o.summary})]}),Gt("div",{children:[se("span",{style:{textTransform:"uppercase",fontFamily:Er.fontFamily.mono},children:o.method}),se("span",{style:{display:"inline-block",marginLeft:8},children:o.path})]})]}),Gt("div",{style:{padding:16},children:[o.description&&se(GI,{title:e("openapi.description"),children:se(Xpe,{css:a?{color:i.color.textLight}:null,children:o.description})}),se(GI,{title:Gt("span",{children:[se("span",{children:e("openapi.parameters")}),se("small",{style:{lineHeight:1.4,marginBottom:"0.5em",color:i.color.title},children:xo(aGt,(u,c)=>Gt("span",{style:{marginLeft:"1em"},children:[se(uDe,{position:c}),se("span",{children:u})]},c))})]}),children:se(zHt,{schemas:((l=t.openapi.components)==null?void 0:l.schemas)||{},operation:{...o,basePath:ost(t.serviceURL)}})}),se(GI,{title:e("openapi.responses"),children:se(Kct,{operation:o})})]})]})})}const YHt=Object.freeze(Object.defineProperty({__proto__:null,default:HHt},Symbol.toStringTag,{value:"Module"}));function UHt(){const n=vg(),{t:e}=zs(),[t,i]=S.useState(!1);return Gt(Sc,{children:[t&&se(rge,{onSuccess:()=>i(!1)}),Gt("div",{css:[oge(),{height:Ay,padding:12,margin:"0 16px",boxSizing:"border-box"},"",""],children:[se("a",{style:{height:"100%",cursor:"pointer"},onClick:()=>{n(lR)},children:se($de,{size:"26"})}),Gt("div",{css:["display:flex;",{"& > *":{marginLeft:4,...Tb()}},"",""],children:[se(FO,{menu:{items:[{key:"0",label:e("head.updateConfig"),onClick(){i(!0)}},{key:"1",label:e("head.reselectService"),onClick(){n(lR)}}]},children:se("a",{style:{cursor:"pointer"},onClick:r=>r.preventDefault(),children:se(ige,{})})}),se(Dz,{}),se(Tz,{}),se(Ez,{})]})]})]})}var tq=(n=>(n.dateTimeUnix="dateTimeUnix",n.dateUnix="dateUnix",n.dateTime="dateTime",n.date="date",n))(tq||{}),ODe=(n=>(n.dateTime="dateTime",n.dateTimeUnix="dateTimeUnix",n))(ODe||{});const KHt=n=>({dateTime:is.t("postman.dateTime"),date:is.t("postman.date"),dateTimeUnix:is.t("postman.dateTimeUnix"),dateUnix:is.t("postman.dateUnix")})[n];var cm=(n=>(n.fieldName="fieldName",n.fieldType="fieldType",n.fieldValue="fieldValue",n))(cm||{}),nq=(n=>(n.single="single",n.multiple="multiple",n))(nq||{});const JHt=n=>({single:is.t("postman.single"),multiple:is.t("postman.multiple")})[n];var iq=(n=>(n.fieldName="fieldName",n.fieldType="fieldType",n.fieldValue="fieldValue",n))(iq||{});function BDe({position:n,form:e}){const{t}=zs(),i=lo(),r=xo(tq,u=>({label:KHt(u),value:u})),o=xo(nq,u=>({label:JHt(u),value:u})),s=u=>Array.isArray(u)?u:u==null?void 0:u.fileList,a=(u,c)=>{var d;return((d=e.getFieldValue(u))==null?void 0:d[c])||{}},l=[Tb(),{width:"60%",fontSize:Er.fontSize.xs},{"&:hover path":{fill:i.color.primary}}];return Gt(Sc,{children:[se(GI,{title:t("postman.customTime"),children:se(Ei.List,{name:`custom${n}Times`,children:(u,{add:c,remove:d})=>Gt(Sc,{children:[u.map(({key:h,name:m,...f},g)=>{const b=a(`custom${n}Times`,g);return Gt("div",{style:{display:"flex"},children:[se(Ei.Item,{...f,name:[m,cm.fieldName],style:{width:"35%",marginRight:8},children:se(dh,{addonBefore:t("postman.fieldName"),placeholder:t("postman.fieldNamePlaceholder")})}),se(Ei.Item,{...f,name:[m,cm.fieldType],style:{width:"27%",marginRight:8},children:se(mS,{placeholder:"please select time type",options:r})}),se(Ei.Item,{...f,name:[m,cm.fieldValue],style:{width:"33%",marginRight:8},children:se(eue,{showTime:Fu(ODe,b.fieldType),needConfirm:!1,style:{width:"100%"}})}),se(Ei.Item,{...f,style:{width:"5%"},children:se("a",{onClick:()=>d(m),children:se(ZB,{fill:i.color.menuItem})})})]},h)}),se("div",{children:se(jr,{type:"dashed",icon:se(RB,{fill:i.color.menuItem}),css:l,onClick:()=>c({[cm.fieldName]:"time",[cm.fieldType]:tq.dateTimeUnix,[cm.fieldValue]:Eo()}),children:t("postman.addTimeField")})})]})})}),n==="Data"&&se(GI,{title:t("postman.customFile"),children:se(Ei.List,{name:"customDataFiles",children:(u,{add:c,remove:d})=>Gt(Sc,{children:[u.map(({key:h,name:m,...f},g)=>{const b=a("customDataFiles",g);return Gt("div",{style:{display:"flex"},children:[se(Ei.Item,{...f,name:[m,iq.fieldName],style:{width:"35%",marginRight:8},children:se(dh,{addonBefore:t("postman.fieldName"),placeholder:t("postman.fieldNamePlaceholder")})}),se(Ei.Item,{...f,name:[m,cm.fieldType],style:{width:"27%",marginRight:8},children:se(mS,{placeholder:"please select upload file type",options:o})}),se(Ei.Item,{...f,name:[m,iq.fieldValue],valuePropName:"fileList",getValueFromEvent:s,style:{width:"33%",marginRight:8},children:se(GO,{multiple:(b==null?void 0:b.fieldType)==="multiple",beforeUpload:()=>!1,children:se(jr,{css:[uR(),{"&:hover path":{fill:i.color.primary}},"",""],icon:se(EB,{fill:i.color.menuItem}),children:se("span",{style:{fontSize:Er.fontSize.xs},children:t("postman.uploadFile")})})})}),se(Ei.Item,{...f,style:{width:"5%"},children:se("a",{onClick:()=>d(m),children:se(ZB,{fill:i.color.menuItem})})})]},h)}),se("div",{children:se(jr,{type:"dashed",icon:se(RB,{fill:i.color.menuItem}),css:l,onClick:()=>c({[cm.fieldName]:"file",[cm.fieldType]:nq.single,[cm.fieldValue]:null}),children:t("postman.addFileField")})})]})})})]})}function rq(n){const e=n.value?JSON.stringify(n.value,null,4):"{}";return se(gbe,{height:n.height||300,theme:"vs-dark",defaultLanguage:"json",value:e,onChange:t=>{if(!t)return n.onChange(null);try{const i=JSON.parse(t);i&&n.onChange(i)}catch{}},onMount:(t,i)=>{try{i.languages.json.jsonDefaults.setDiagnosticsOptions({validate:!0})}catch{}}})}const jHt=n=>{const e={value:n.value||{},onChange:n.onChange?n.onChange:()=>{}};return Gt("div",{children:[se(rq,{...e,height:400}),Gt(my.Group,{style:{marginTop:10},value:e.value["Content-Type"]||"",onChange:t=>e.onChange(Object.assign({},e.value,{"Content-Type":t.target.value})),children:[se(my,{value:"",children:"none"}),se(my,{value:"application/json",children:"json"}),se(my,{value:"multipart/form-data",children:"form-data"}),se(my,{value:"application/x-www-form-urlencoded",children:"x-www-form-urlencoded"})]})]})},QHt=n=>{const e={value:n.value||{},onChange:n.onChange?n.onChange:()=>{}};return se(rq,{...e,height:400})},$Ht=n=>{const e={value:n.value||{},onChange:n.onChange?n.onChange:()=>{}};return se(rq,{...e,height:400})};function qHt(n={}){var r,o;if(!n.url)return n;const[e,t]=eYt(n.url);n.baseURL=e,n.url=t;const i=((r=n==null?void 0:n.headers)==null?void 0:r["Content-Type"])||"application/json";return(o=n==null?void 0:n.headers)!=null&&o.Referer&&(n==null||delete n.headers.Referer),Fs(n==null?void 0:n.data)||(n.headers={...(n==null?void 0:n.headers)||{},"Content-Type":i+";charset=UTF-8"}),n}function eYt(n){if(!n||!ew.test(n))return["//serviceURL","/URL"];const e=n.split("//"),t=e[1].split("/"),i=`${e[0]}//${t[0]}`,r=`/${t.slice(1).join("/")}`;return[i,r]}function zDe(n){return!n||!n.length?{}:ph(n,(t,i)=>(i!=null&&i.fieldValue&&(t[i==null?void 0:i.fieldName]=i!=null&&i.fieldType.toLocaleLowerCase().includes("unix")?i==null?void 0:i.fieldValue.unix():i==null?void 0:i.fieldValue.toISOString()),t),{})}function tYt(n){return!n||!n.length?{}:ph(n,(t,i)=>(i!=null&&i.fieldValue&&(t[i==null?void 0:i.fieldName]=(i==null?void 0:i.fieldType)==="single"?i==null?void 0:i.fieldValue[0]:i==null?void 0:i.fieldValue),t),{})}const oq=Ei.Item;var nYt={name:"14t521x",styles:"margin-bottom:8px;& > *{margin-right:4px;}"};function HDe(){const[n]=Ei.useForm(),{t:e}=zs(),{configInfo:t}=fh(),[i,r]=S.useState({}),[o,s]=S.useState(!1),[a,l]=S.useState(0),[u,c]=S.useState(yh.get),[d,h]=S.useState("");S.useEffect(()=>{n.setFieldValue("headers",Object.assign({},n.getFieldValue("headers")||{},{Authorization:t==null?void 0:t.authorization})),l(C=>C+1)},[t==null?void 0:t.authorization]);const m=[{key:"0",label:e("postman.headers"),children:se(oq,{name:"headers",children:se(jHt,{})})},{key:"1",label:e("postman.query"),children:Gt("div",{children:[se(oq,{name:"params",style:{marginBottom:6},children:se(QHt,{})}),se(BDe,{position:"Params",form:n})]})},{key:"2",label:Gt("div",{style:{display:"flex",alignItems:"center"},children:[e("postman.body")," ",se(sg,{title:e("postman.bodyTitleTip"),overlayInnerStyle:{width:260},children:se("a",{style:{display:"flex",alignItems:"center"},children:se(q$e,{})})})]}),children:Gt("div",{children:[se(oq,{name:"data",style:{marginBottom:6},children:se($Ht,{})}),se(BDe,{position:"Data",form:n})]})}],f=S.useMemo(()=>xo(yh,C=>({label:jde(C),value:C})),[]),g=()=>se(mS,{style:{width:96},options:f,value:u,onSelect:c});async function b(C){s(!0);const w=await QL(C).finally(()=>s(!1));(w==null?void 0:w.status)>=200&&(w==null?void 0:w.status)<300&&r(w),s(!1)}const y=S.useMemo(()=>{const C=n.getFieldsValue();if(C.customParamsTimes){const w=zDe(C.customParamsTimes);C.params={...C.params||{},...w||{}},delete C.customParamsTimes}if(C.customDataTimes){const w=zDe(C.customDataTimes);C.data={...C.data||{},...w||{}},delete C.customDataTimes}if(C.customDataFiles){const w=tYt(C.customDataFiles);C.data={...C.data||{},...w||{}},delete C.customDataFiles}return qHt(Object.assign({method:u,url:d},C))},[u,d,n.getFieldsValue()]);return Gt("div",{style:{display:"flex"},children:[Gt("div",{style:{width:"50%"},children:[Gt("div",{style:{display:"flex",marginBottom:10},children:[se(dh,{style:{width:"90%",marginRight:5},addonBefore:se(g,{}),placeholder:e("postman.urlPlaceholder"),defaultValue:d,onChange:C=>{var w;return h((w=C.target.value)==null?void 0:w.trim())}}),se(jr,{type:"primary",disabled:o,onClick:()=>{ew.test(d)?n.submit():tu.warning(e("postman.validUrlTip"))},children:e("postman.send")})]}),se("div",{children:se(Ei,{form:n,name:"postman-request-control-form",initialValues:{headers:t!=null&&t.authorization?{Authorization:t==null?void 0:t.authorization}:null,params:null,customParamsTimes:null,data:null,customDataTimes:null,customDataFiles:null},onValuesChange:()=>{l(a+1)},onFinish:()=>{b(y)},children:se(Dle,{defaultActiveKey:"1",items:m})})})]}),Gt("div",{style:{width:"50%",fontSize:Er.fontSize.xs,paddingLeft:10},children:[se("div",{style:{marginBottom:8},children:se($pe,{request:y})}),se("div",{css:nYt,children:se(kP,{content:se(qpe,{request:Object.assign({},y,{url:d})}),trigger:"click",children:se(jr,{children:e("openapi.cURL")})})}),!Fs(i)&&se(nbe,{...i})]})]})}var cG={GITHUB_STATE:"/home/runner/work/_temp/_runner_file_commands/save_state_1db24d99-745b-44e6-9118-92da7729c914",STATS_TRP:"true",DEPLOYMENT_BASEPATH:"/opt/runner",DOTNET_NOLOGO:"1",USER:"runner",npm_config_always_auth:"",npm_config_user_agent:"npm/10.5.0 node/v18.20.2 linux x64 workspaces/false ci/github-actions",CI:"true",RUNNER_ENVIRONMENT:"github-hosted",GITHUB_ENV:"/home/runner/work/_temp/_runner_file_commands/set_env_1db24d99-745b-44e6-9118-92da7729c914",PIPX_HOME:"/opt/pipx",npm_node_execpath:"/opt/hostedtoolcache/node/18.20.2/x64/bin/node",JAVA_HOME_8_X64:"/usr/lib/jvm/temurin-8-jdk-amd64",NODE_AUTH_TOKEN:"XXXXX-XXXXX-XXXXX-XXXXX",SHLVL:"1",npm_config_noproxy:"",HOME:"/home/runner",RUNNER_TEMP:"/home/runner/work/_temp",GITHUB_EVENT_PATH:"/home/runner/work/_temp/_github_workflow/event.json",npm_package_json:"/home/runner/work/openapi-ui/openapi-ui/package.json",JAVA_HOME_11_X64:"/usr/lib/jvm/temurin-11-jdk-amd64",PIPX_BIN_DIR:"/opt/pipx_bin",GITHUB_REPOSITORY_OWNER:"rookie-luochao",npm_config_auto_install_peers:"true",npm_package_engines_node:"^18.0.0 || >=20.0.0",GRADLE_HOME:"/usr/share/gradle-8.7",ANDROID_NDK_LATEST_HOME:"/usr/local/lib/android/sdk/ndk/26.3.11579264",JAVA_HOME_21_X64:"/usr/lib/jvm/temurin-21-jdk-amd64",STATS_RDCL:"true",GITHUB_RETENTION_DAYS:"90",GITHUB_REPOSITORY_OWNER_ID:"22948077",POWERSHELL_DISTRIBUTION_CHANNEL:"GitHub-Actions-ubuntu22",AZURE_EXTENSION_DIR:"/opt/az/azcliextensions",GITHUB_HEAD_REF:"",npm_config_local_prefix:"/home/runner/work/openapi-ui/openapi-ui",SYSTEMD_EXEC_PID:"591",GITHUB_GRAPHQL_URL:"https://api.github.com/graphql",COLOR:"0",GOROOT_1_20_X64:"/opt/hostedtoolcache/go/1.20.14/x64",NVM_DIR:"/home/runner/.nvm",DOTNET_SKIP_FIRST_TIME_EXPERIENCE:"1",GOROOT_1_21_X64:"/opt/hostedtoolcache/go/1.21.9/x64",JAVA_HOME_17_X64:"/usr/lib/jvm/temurin-17-jdk-amd64",ImageVersion:"20240422.1.0",RUNNER_OS:"Linux",GITHUB_API_URL:"https://api.github.com",GOROOT_1_22_X64:"/opt/hostedtoolcache/go/1.22.2/x64",SWIFT_PATH:"/usr/share/swift/usr/bin",RUNNER_USER:"runner",STATS_V3PS:"true",CHROMEWEBDRIVER:"/usr/local/share/chromedriver-linux64",JOURNAL_STREAM:"8:17399",GITHUB_WORKFLOW:"Publish Package CI",_:"/opt/hostedtoolcache/node/18.20.2/x64/bin/npm",npm_config_prefix:"/opt/hostedtoolcache/node/18.20.2/x64",npm_config_npm_version:"10.5.0",ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE:"/opt/actionarchivecache",STATS_D:"true",GITHUB_RUN_ID:"9034363565",STATS_VMFE:"true",npm_config_cache:"/home/runner/.npm",GITHUB_REF_TYPE:"tag",BOOTSTRAP_HASKELL_NONINTERACTIVE:"1",GITHUB_WORKFLOW_SHA:"7d06aa5962e2854267496af964903729ea3712ea",GITHUB_BASE_REF:"",ImageOS:"ubuntu22",GITHUB_WORKFLOW_REF:"rookie-luochao/openapi-ui/.github/workflows/publish-package-ci.yml@refs/tags/v2.2.1",PERFLOG_LOCATION_SETTING:"RUNNER_PERFLOG",GITHUB_ACTION_REPOSITORY:"",npm_config_node_gyp:"/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",PATH:"/home/runner/work/openapi-ui/openapi-ui/node_modules/.bin:/home/runner/work/openapi-ui/node_modules/.bin:/home/runner/work/node_modules/.bin:/home/runner/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin",ANT_HOME:"/usr/share/ant",DOTNET_MULTILEVEL_LOOKUP:"0",RUNNER_TRACKING_ID:"github_8e3f06e2-01ee-4dd3-8ff0-4ad90f0f5f28",INVOCATION_ID:"d0057c0943174c4e95e299688b270680",NPM_CONFIG_USERCONFIG:"/home/runner/work/_temp/.npmrc",RUNNER_TOOL_CACHE:"/opt/hostedtoolcache",NODE:"/opt/hostedtoolcache/node/18.20.2/x64/bin/node",npm_package_name:"openapi-ui-dist",GITHUB_ACTION:"__run_3",GITHUB_RUN_NUMBER:"5",GITHUB_TRIGGERING_ACTOR:"rookie-luochao",RUNNER_ARCH:"X64",XDG_RUNTIME_DIR:"/run/user/1001",AGENT_TOOLSDIRECTORY:"/opt/hostedtoolcache",LANG:"C.UTF-8",VCPKG_INSTALLATION_ROOT:"/usr/local/share/vcpkg",CONDA:"/usr/share/miniconda",RUNNER_NAME:"GitHub Actions 19",XDG_CONFIG_HOME:"/home/runner/.config",STATS_VMD:"true",GITHUB_REF_NAME:"v2.2.1",GITHUB_REPOSITORY:"rookie-luochao/openapi-ui",STATS_D_D:"true",npm_lifecycle_script:"tsc && vite build --config vite.package.config.ts --mode package",STATS_UE:"true",ANDROID_NDK_ROOT:"/usr/local/lib/android/sdk/ndk/25.2.9519653",GITHUB_ACTION_REF:"",DEBIAN_FRONTEND:"noninteractive",GITHUB_REPOSITORY_ID:"733969338",GITHUB_ACTIONS:"true",npm_package_version:"2.2.1",npm_lifecycle_event:"build:package",NODE_PATH:"/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules/vite/bin/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules/vite/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/vite@5.2.11_@types+node@20.12.7/node_modules:/home/runner/work/openapi-ui/openapi-ui/node_modules/.pnpm/node_modules",GITHUB_REF_PROTECTED:"false",GITHUB_WORKSPACE:"/home/runner/work/openapi-ui/openapi-ui",ACCEPT_EULA:"Y",GITHUB_JOB:"build",RUNNER_PERFLOG:"/home/runner/perflog",GITHUB_SHA:"7d06aa5962e2854267496af964903729ea3712ea",GITHUB_RUN_ATTEMPT:"1",GITHUB_REF:"refs/tags/v2.2.1",GITHUB_ACTOR:"rookie-luochao",ANDROID_SDK_ROOT:"/usr/local/lib/android/sdk",LEIN_HOME:"/usr/local/lib/lein",npm_config_globalconfig:"/opt/hostedtoolcache/node/18.20.2/x64/etc/npmrc",npm_config_init_module:"/home/runner/.npm-init.js",GITHUB_PATH:"/home/runner/work/_temp/_runner_file_commands/add_path_1db24d99-745b-44e6-9118-92da7729c914",JAVA_HOME:"/usr/lib/jvm/temurin-11-jdk-amd64",PWD:"/home/runner/work/openapi-ui/openapi-ui",GITHUB_ACTOR_ID:"22948077",RUNNER_WORKSPACE:"/home/runner/work/openapi-ui",npm_execpath:"/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/bin/npm-cli.js",HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS:"3650",GITHUB_EVENT_NAME:"push",HOMEBREW_NO_AUTO_UPDATE:"1",ANDROID_HOME:"/usr/local/lib/android/sdk",GITHUB_SERVER_URL:"https://github.com",GECKOWEBDRIVER:"/usr/local/share/gecko_driver",LEIN_JAR:"/usr/local/lib/lein/self-installs/leiningen-2.11.2-standalone.jar",GHCUP_INSTALL_BASE_PREFIX:"/usr/local",GITHUB_OUTPUT:"/home/runner/work/_temp/_runner_file_commands/set_output_1db24d99-745b-44e6-9118-92da7729c914",npm_config_global_prefix:"/opt/hostedtoolcache/node/18.20.2/x64",EDGEWEBDRIVER:"/usr/local/share/edge_driver",STATS_EXT:"true",npm_command:"run-script",ANDROID_NDK:"/usr/local/lib/android/sdk/ndk/25.2.9519653",SGX_AESM_ADDR:"1",CHROME_BIN:"/usr/bin/google-chrome",SELENIUM_JAR_PATH:"/usr/share/java/selenium-server.jar",STATS_EXTP:"https://provjobdsettingscdn.blob.core.windows.net/settings/provjobdsettings-0.5.172+1/provjobd.data",ANDROID_NDK_HOME:"/usr/local/lib/android/sdk/ndk/25.2.9519653",GITHUB_STEP_SUMMARY:"/home/runner/work/_temp/_runner_file_commands/step_summary_1db24d99-745b-44e6-9118-92da7729c914",INIT_CWD:"/home/runner/work/openapi-ui/openapi-ui",EDITOR:"vi",NODE_ENV:"production"};const YDe=[{key:"0",label:`${is.t("postman.request")} 1`,children:se(HDe,{}),closable:!1}];function iYt(){const{t:n}=zs(),e=lo(),{configInfo:t}=fh(),i=(t==null?void 0:t.theme)==="dark",[r,o]=S.useState(document.documentElement.clientHeight),s=r-Ay,a=qE().env===VL.zh,[l,u]=S.useState(YDe[0].key),[c,d]=S.useState(YDe),h=S.useRef(0),m=TB(()=>{o(globalThis.document.documentElement.clientHeight)},1200,{leading:!0,trailing:!0});S.useEffect(()=>(globalThis.addEventListener("resize",m),()=>{globalThis.removeEventListener("resize",m)}),[m]);const f=()=>{const y=`${++h.current}`,C=[...c];C.push({key:y,label:`${n("postman.request")} ${h.current+1}`,children:se(HDe,{}),closable:!0}),d(C),u(y)},g=y=>{let C=l,w=-1;c.forEach((L,I)=>{L.key===y&&(w=I-1)});const x=c.filter(L=>L.key!==y);x.length&&C===y&&(w>=0?C=x[w].key:C=x[0].key),d(x),u(C)},b=(y,C)=>{C==="add"?f():g(y)};return Gt("div",{style:{backgroundColor:e.color.bg},children:[se(UHt,{}),Gt("div",{css:[{height:s,overflow:"auto",padding:12,backgroundColor:e.color.bgGray,borderRadius:"10px 10px 0",boxSizing:"border-box"},a?{paddingBottom:0}:{},cG.NODE_ENV==="production"?"":";label:Postman;",cG.NODE_ENV==="production"?"":"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL29wZW5hcGktdWkvb3BlbmFwaS11aS9zcmMvcG9zdG1hbi9Qb3N0bWFuLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzR1EiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvb3BlbmFwaS11aS9vcGVuYXBpLXVpL3NyYy9wb3N0bWFuL1Bvc3RtYW4udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB7IFRhYnMgfSBmcm9tIFwiYW50ZFwiO1xuaW1wb3J0IHsgdGhyb3R0bGUgfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCB7IFBvc3RtYW5IZWFkIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvaGVhZC9Qb3N0bWFuSGVhZFwiO1xuaW1wb3J0IHsgSUNQUmVnaXN0cmF0aW9uIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvaWNwLXJlZ2lzdHJhdGlvblwiO1xuaW1wb3J0IHsgRW52IH0gZnJvbSBcIi4uL2NvbmZpZ1wiO1xuaW1wb3J0IHsgZ2V0Q29uZmlnIH0gZnJvbSBcIi4uL2NvcmUvaHR0cC9jb25maWdcIjtcbmltcG9ydCB7IHVzZUNvbmZpZ0luZm9TdG9yZSB9IGZyb20gXCIuLi9jb3JlL3N0b3JlXCI7XG5pbXBvcnQgeyBJVGhlbWUsIGRhcmtUaGVtZSwgbGlnaHRUaGVtZSB9IGZyb20gXCIuLi9jb3JlL3N0eWxlL2RlZmF1bHRTdHlsZUNvbmZpZ1wiO1xuaW1wb3J0IGkxOG4gZnJvbSBcIi4uL2kxOG5cIjtcbmltcG9ydCB7IGRlZmF1bHRIZWFkVGl0bGVIZWlnaHQgfSBmcm9tIFwiLi4vbWFpbi9NYWluXCI7XG5pbXBvcnQgeyBSZXF1ZXN0QnVpbGRlciB9IGZyb20gXCIuL1JlcXVlc3RCdWlsZGVyXCI7XG5cbnR5cGUgVGFyZ2V0S2V5ID0gUmVhY3QuTW91c2VFdmVudCB8IFJlYWN0LktleWJvYXJkRXZlbnQgfCBzdHJpbmc7XG5cbmNvbnN0IGluaXRpYWxJdGVtcyA9IFtcbiAge1xuICAgIGtleTogXCIwXCIsXG4gICAgbGFiZWw6IGAke2kxOG4udChcInBvc3RtYW4ucmVxdWVzdFwiKX0gMWAsXG4gICAgY2hpbGRyZW46IDxSZXF1ZXN0QnVpbGRlciAvPixcbiAgICBjbG9zYWJsZTogZmFsc2UsXG4gIH0sXG5dO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBQb3N0bWFuKCkge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKSBhcyBJVGhlbWU7XG4gIGNvbnN0IHsgY29uZmlnSW5mbyB9ID0gdXNlQ29uZmlnSW5mb1N0b3JlKCk7XG4gIGNvbnN0IGlzRGFya1RoZW1lID0gY29uZmlnSW5mbz8udGhlbWUgPT09IFwiZGFya1wiO1xuICBjb25zdCBbY29udGVudEhlaWdodCwgc2V0Q29udGVudEhlaWdodF0gPSB1c2VTdGF0ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KTtcbiAgY29uc3QgZGVmYXVsdENvbnRlbnRIZWlnaHQgPSBjb250ZW50SGVpZ2h0IC0gZGVmYXVsdEhlYWRUaXRsZUhlaWdodDtcbiAgY29uc3QgaXNaaCA9IGdldENvbmZpZygpLmVudiA9PT0gRW52LnpoO1xuICBjb25zdCBbYWN0aXZlS2V5LCBzZXRBY3RpdmVLZXldID0gdXNlU3RhdGUoaW5pdGlhbEl0ZW1zWzBdLmtleSk7XG4gIGNvbnN0IFtpdGVtcywgc2V0SXRlbXNdID0gdXNlU3RhdGUoaW5pdGlhbEl0ZW1zKTtcbiAgY29uc3QgbmV3VGFiSW5kZXggPSB1c2VSZWYoMCk7XG5cbiAgY29uc3QgdGhyb3R0bGVkUmVzaXplSGFuZGxlciA9IHRocm90dGxlKFxuICAgICgpID0+IHtcbiAgICAgIHNldENvbnRlbnRIZWlnaHQoZ2xvYmFsVGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KTtcbiAgICB9LFxuICAgIDEyMDAsXG4gICAgeyBsZWFkaW5nOiB0cnVlLCB0cmFpbGluZzogdHJ1ZSB9LFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZ2xvYmFsVGhpcy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRocm90dGxlZFJlc2l6ZUhhbmRsZXIpO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGdsb2JhbFRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aHJvdHRsZWRSZXNpemVIYW5kbGVyKTtcbiAgICB9O1xuICB9LCBbdGhyb3R0bGVkUmVzaXplSGFuZGxlcl0pO1xuXG4gIGNvbnN0IGFkZCA9ICgpID0+IHtcbiAgICBjb25zdCBuZXdBY3RpdmVLZXkgPSBgJHsrK25ld1RhYkluZGV4LmN1cnJlbnR9YDtcbiAgICBjb25zdCBuZXdQYW5lcyA9IFsuLi5pdGVtc107XG4gICAgbmV3UGFuZXMucHVzaCh7XG4gICAgICBrZXk6IG5ld0FjdGl2ZUtleSxcbiAgICAgIGxhYmVsOiBgJHt0KFwicG9zdG1hbi5yZXF1ZXN0XCIpfSAke25ld1RhYkluZGV4LmN1cnJlbnQgKyAxfWAsXG4gICAgICBjaGlsZHJlbjogPFJlcXVlc3RCdWlsZGVyIC8+LFxuICAgICAgY2xvc2FibGU6IHRydWUsXG4gICAgfSk7XG4gICAgc2V0SXRlbXMobmV3UGFuZXMpO1xuICAgIHNldEFjdGl2ZUtleShuZXdBY3RpdmVLZXkpO1xuICB9O1xuXG4gIGNvbnN0IHJlbW92ZSA9ICh0YXJnZXRLZXk6IFRhcmdldEtleSkgPT4ge1xuICAgIGxldCBuZXdBY3RpdmVLZXkgPSBhY3RpdmVLZXk7XG4gICAgbGV0IGxhc3RJbmRleCA9IC0xO1xuXG4gICAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaSkgPT4ge1xuICAgICAgaWYgKGl0ZW0ua2V5ID09PSB0YXJnZXRLZXkpIHtcbiAgICAgICAgbGFzdEluZGV4ID0gaSAtIDE7XG4gICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgbmV3UGFuZXMgPSBpdGVtcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0ua2V5ICE9PSB0YXJnZXRLZXkpO1xuXG4gICAgaWYgKG5ld1BhbmVzLmxlbmd0aCAmJiBuZXdBY3RpdmVLZXkgPT09IHRhcmdldEtleSkge1xuICAgICAgaWYgKGxhc3RJbmRleCA+PSAwKSB7XG4gICAgICAgIG5ld0FjdGl2ZUtleSA9IG5ld1BhbmVzW2xhc3RJbmRleF0ua2V5O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV3QWN0aXZlS2V5ID0gbmV3UGFuZXNbMF0ua2V5O1xuICAgICAgfVxuICAgIH1cblxuICAgIHNldEl0ZW1zKG5ld1BhbmVzKTtcbiAgICBzZXRBY3RpdmVLZXkobmV3QWN0aXZlS2V5KTtcbiAgfTtcblxuICBjb25zdCBvbkVkaXQgPSAodGFyZ2V0S2V5OiBUYXJnZXRLZXksIGFjdGlvbjogXCJhZGRcIiB8IFwicmVtb3ZlXCIpID0+IHtcbiAgICBpZiAoYWN0aW9uID09PSBcImFkZFwiKSB7XG4gICAgICBhZGQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVtb3ZlKHRhcmdldEtleSk7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBzdHlsZT17eyBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmNvbG9yLmJnIH19PlxuICAgICAgPFBvc3RtYW5IZWFkIC8+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17W1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGhlaWdodDogZGVmYXVsdENvbnRlbnRIZWlnaHQsXG4gICAgICAgICAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgICAgICAgICBwYWRkaW5nOiAxMixcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUuY29sb3IuYmdHcmF5LFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiBcIjEwcHggMTBweCAwXCIsXG4gICAgICAgICAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgaXNaaCA/IHsgcGFkZGluZ0JvdHRvbTogMCB9IDoge30sXG4gICAgICAgIF19XG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjc3M9e1tcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBpc0RhcmtUaGVtZSA/IGRhcmtUaGVtZS5jb2xvci5iZ0dyYXkgOiBsaWdodFRoZW1lLmNvbG9yLmJnLFxuICAgICAgICAgICAgICBwYWRkaW5nOiAxMCxcbiAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiA4LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGlzWmggPyB7IG1pbkhlaWdodDogZGVmYXVsdENvbnRlbnRIZWlnaHQgLSAzMiAtIDEyIH0gOiB7fSxcbiAgICAgICAgICBdfVxuICAgICAgICA+XG4gICAgICAgICAgPFRhYnNcbiAgICAgICAgICAgIHR5cGU9XCJlZGl0YWJsZS1jYXJkXCJcbiAgICAgICAgICAgIGl0ZW1zPXtpdGVtc31cbiAgICAgICAgICAgIGFjdGl2ZUtleT17YWN0aXZlS2V5fVxuICAgICAgICAgICAgb25DaGFuZ2U9eyhuZXdBY3RpdmVLZXk6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICBzZXRBY3RpdmVLZXkobmV3QWN0aXZlS2V5KTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbkVkaXQ9e29uRWRpdH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAge2lzWmggJiYgPElDUFJlZ2lzdHJhdGlvbiAvPn1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufVxuIl19 */"],children:[se("div",{css:[{backgroundColor:i?Xi.color.bgGray:md.color.bg,padding:10,borderRadius:8},a?{minHeight:s-32-12}:{},cG.NODE_ENV==="production"?"":";label:Postman;",cG.NODE_ENV==="production"?"":"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL29wZW5hcGktdWkvb3BlbmFwaS11aS9zcmMvcG9zdG1hbi9Qb3N0bWFuLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtSFUiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvb3BlbmFwaS11aS9vcGVuYXBpLXVpL3NyYy9wb3N0bWFuL1Bvc3RtYW4udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB7IFRhYnMgfSBmcm9tIFwiYW50ZFwiO1xuaW1wb3J0IHsgdGhyb3R0bGUgfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCB7IFBvc3RtYW5IZWFkIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvaGVhZC9Qb3N0bWFuSGVhZFwiO1xuaW1wb3J0IHsgSUNQUmVnaXN0cmF0aW9uIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvaWNwLXJlZ2lzdHJhdGlvblwiO1xuaW1wb3J0IHsgRW52IH0gZnJvbSBcIi4uL2NvbmZpZ1wiO1xuaW1wb3J0IHsgZ2V0Q29uZmlnIH0gZnJvbSBcIi4uL2NvcmUvaHR0cC9jb25maWdcIjtcbmltcG9ydCB7IHVzZUNvbmZpZ0luZm9TdG9yZSB9IGZyb20gXCIuLi9jb3JlL3N0b3JlXCI7XG5pbXBvcnQgeyBJVGhlbWUsIGRhcmtUaGVtZSwgbGlnaHRUaGVtZSB9IGZyb20gXCIuLi9jb3JlL3N0eWxlL2RlZmF1bHRTdHlsZUNvbmZpZ1wiO1xuaW1wb3J0IGkxOG4gZnJvbSBcIi4uL2kxOG5cIjtcbmltcG9ydCB7IGRlZmF1bHRIZWFkVGl0bGVIZWlnaHQgfSBmcm9tIFwiLi4vbWFpbi9NYWluXCI7XG5pbXBvcnQgeyBSZXF1ZXN0QnVpbGRlciB9IGZyb20gXCIuL1JlcXVlc3RCdWlsZGVyXCI7XG5cbnR5cGUgVGFyZ2V0S2V5ID0gUmVhY3QuTW91c2VFdmVudCB8IFJlYWN0LktleWJvYXJkRXZlbnQgfCBzdHJpbmc7XG5cbmNvbnN0IGluaXRpYWxJdGVtcyA9IFtcbiAge1xuICAgIGtleTogXCIwXCIsXG4gICAgbGFiZWw6IGAke2kxOG4udChcInBvc3RtYW4ucmVxdWVzdFwiKX0gMWAsXG4gICAgY2hpbGRyZW46IDxSZXF1ZXN0QnVpbGRlciAvPixcbiAgICBjbG9zYWJsZTogZmFsc2UsXG4gIH0sXG5dO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBQb3N0bWFuKCkge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKSBhcyBJVGhlbWU7XG4gIGNvbnN0IHsgY29uZmlnSW5mbyB9ID0gdXNlQ29uZmlnSW5mb1N0b3JlKCk7XG4gIGNvbnN0IGlzRGFya1RoZW1lID0gY29uZmlnSW5mbz8udGhlbWUgPT09IFwiZGFya1wiO1xuICBjb25zdCBbY29udGVudEhlaWdodCwgc2V0Q29udGVudEhlaWdodF0gPSB1c2VTdGF0ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KTtcbiAgY29uc3QgZGVmYXVsdENvbnRlbnRIZWlnaHQgPSBjb250ZW50SGVpZ2h0IC0gZGVmYXVsdEhlYWRUaXRsZUhlaWdodDtcbiAgY29uc3QgaXNaaCA9IGdldENvbmZpZygpLmVudiA9PT0gRW52LnpoO1xuICBjb25zdCBbYWN0aXZlS2V5LCBzZXRBY3RpdmVLZXldID0gdXNlU3RhdGUoaW5pdGlhbEl0ZW1zWzBdLmtleSk7XG4gIGNvbnN0IFtpdGVtcywgc2V0SXRlbXNdID0gdXNlU3RhdGUoaW5pdGlhbEl0ZW1zKTtcbiAgY29uc3QgbmV3VGFiSW5kZXggPSB1c2VSZWYoMCk7XG5cbiAgY29uc3QgdGhyb3R0bGVkUmVzaXplSGFuZGxlciA9IHRocm90dGxlKFxuICAgICgpID0+IHtcbiAgICAgIHNldENvbnRlbnRIZWlnaHQoZ2xvYmFsVGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KTtcbiAgICB9LFxuICAgIDEyMDAsXG4gICAgeyBsZWFkaW5nOiB0cnVlLCB0cmFpbGluZzogdHJ1ZSB9LFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZ2xvYmFsVGhpcy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRocm90dGxlZFJlc2l6ZUhhbmRsZXIpO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGdsb2JhbFRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aHJvdHRsZWRSZXNpemVIYW5kbGVyKTtcbiAgICB9O1xuICB9LCBbdGhyb3R0bGVkUmVzaXplSGFuZGxlcl0pO1xuXG4gIGNvbnN0IGFkZCA9ICgpID0+IHtcbiAgICBjb25zdCBuZXdBY3RpdmVLZXkgPSBgJHsrK25ld1RhYkluZGV4LmN1cnJlbnR9YDtcbiAgICBjb25zdCBuZXdQYW5lcyA9IFsuLi5pdGVtc107XG4gICAgbmV3UGFuZXMucHVzaCh7XG4gICAgICBrZXk6IG5ld0FjdGl2ZUtleSxcbiAgICAgIGxhYmVsOiBgJHt0KFwicG9zdG1hbi5yZXF1ZXN0XCIpfSAke25ld1RhYkluZGV4LmN1cnJlbnQgKyAxfWAsXG4gICAgICBjaGlsZHJlbjogPFJlcXVlc3RCdWlsZGVyIC8+LFxuICAgICAgY2xvc2FibGU6IHRydWUsXG4gICAgfSk7XG4gICAgc2V0SXRlbXMobmV3UGFuZXMpO1xuICAgIHNldEFjdGl2ZUtleShuZXdBY3RpdmVLZXkpO1xuICB9O1xuXG4gIGNvbnN0IHJlbW92ZSA9ICh0YXJnZXRLZXk6IFRhcmdldEtleSkgPT4ge1xuICAgIGxldCBuZXdBY3RpdmVLZXkgPSBhY3RpdmVLZXk7XG4gICAgbGV0IGxhc3RJbmRleCA9IC0xO1xuXG4gICAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaSkgPT4ge1xuICAgICAgaWYgKGl0ZW0ua2V5ID09PSB0YXJnZXRLZXkpIHtcbiAgICAgICAgbGFzdEluZGV4ID0gaSAtIDE7XG4gICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgbmV3UGFuZXMgPSBpdGVtcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0ua2V5ICE9PSB0YXJnZXRLZXkpO1xuXG4gICAgaWYgKG5ld1BhbmVzLmxlbmd0aCAmJiBuZXdBY3RpdmVLZXkgPT09IHRhcmdldEtleSkge1xuICAgICAgaWYgKGxhc3RJbmRleCA+PSAwKSB7XG4gICAgICAgIG5ld0FjdGl2ZUtleSA9IG5ld1BhbmVzW2xhc3RJbmRleF0ua2V5O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV3QWN0aXZlS2V5ID0gbmV3UGFuZXNbMF0ua2V5O1xuICAgICAgfVxuICAgIH1cblxuICAgIHNldEl0ZW1zKG5ld1BhbmVzKTtcbiAgICBzZXRBY3RpdmVLZXkobmV3QWN0aXZlS2V5KTtcbiAgfTtcblxuICBjb25zdCBvbkVkaXQgPSAodGFyZ2V0S2V5OiBUYXJnZXRLZXksIGFjdGlvbjogXCJhZGRcIiB8IFwicmVtb3ZlXCIpID0+IHtcbiAgICBpZiAoYWN0aW9uID09PSBcImFkZFwiKSB7XG4gICAgICBhZGQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVtb3ZlKHRhcmdldEtleSk7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBzdHlsZT17eyBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmNvbG9yLmJnIH19PlxuICAgICAgPFBvc3RtYW5IZWFkIC8+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17W1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGhlaWdodDogZGVmYXVsdENvbnRlbnRIZWlnaHQsXG4gICAgICAgICAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgICAgICAgICBwYWRkaW5nOiAxMixcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUuY29sb3IuYmdHcmF5LFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiBcIjEwcHggMTBweCAwXCIsXG4gICAgICAgICAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgaXNaaCA/IHsgcGFkZGluZ0JvdHRvbTogMCB9IDoge30sXG4gICAgICAgIF19XG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjc3M9e1tcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBpc0RhcmtUaGVtZSA/IGRhcmtUaGVtZS5jb2xvci5iZ0dyYXkgOiBsaWdodFRoZW1lLmNvbG9yLmJnLFxuICAgICAgICAgICAgICBwYWRkaW5nOiAxMCxcbiAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiA4LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGlzWmggPyB7IG1pbkhlaWdodDogZGVmYXVsdENvbnRlbnRIZWlnaHQgLSAzMiAtIDEyIH0gOiB7fSxcbiAgICAgICAgICBdfVxuICAgICAgICA+XG4gICAgICAgICAgPFRhYnNcbiAgICAgICAgICAgIHR5cGU9XCJlZGl0YWJsZS1jYXJkXCJcbiAgICAgICAgICAgIGl0ZW1zPXtpdGVtc31cbiAgICAgICAgICAgIGFjdGl2ZUtleT17YWN0aXZlS2V5fVxuICAgICAgICAgICAgb25DaGFuZ2U9eyhuZXdBY3RpdmVLZXk6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICBzZXRBY3RpdmVLZXkobmV3QWN0aXZlS2V5KTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbkVkaXQ9e29uRWRpdH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAge2lzWmggJiYgPElDUFJlZ2lzdHJhdGlvbiAvPn1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufVxuIl19 */"],children:se(Dle,{type:"editable-card",items:c,activeKey:l,onChange:y=>{u(y)},onEdit:b})}),a&&se(Zz,{})]})]})}const rYt=Object.freeze(Object.defineProperty({__proto__:null,default:iYt},Symbol.toStringTag,{value:"Module"}));/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.48.0(0037b13fb5d186fdf1e7df51a9416a2de2b8c670) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/var oYt=Object.defineProperty,sYt=Object.getOwnPropertyDescriptor,aYt=Object.getOwnPropertyNames,lYt=Object.prototype.hasOwnProperty,UDe=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of aYt(e))!lYt.call(n,r)&&r!==t&&oYt(n,r,{get:()=>e[r],enumerable:!(i=sYt(e,r))||i.enumerable});return n},uYt=(n,e,t)=>(UDe(n,e,"default"),t&&UDe(t,e,"default")),Ti={};uYt(Ti,nDe);var cYt=2*60*1e3,KDe=class{constructor(n){this._defaults=n,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){if(!this._worker)return;Date.now()-this._lastUsedTime>cYt&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=Ti.editor.createWebWorker({moduleId:"vs/language/json/jsonWorker",label:this._defaults.languageId,createData:{languageSettings:this._defaults.diagnosticsOptions,languageId:this._defaults.languageId,enableSchemaRequest:this._defaults.diagnosticsOptions.enableSchemaRequest}}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...n){let e;return this._getClient().then(t=>{e=t}).then(t=>{if(this._worker)return this._worker.withSyncedResources(n)}).then(t=>e)}},JDe;(function(n){n.MIN_VALUE=-2147483648,n.MAX_VALUE=2147483647})(JDe||(JDe={}));var dG;(function(n){n.MIN_VALUE=0,n.MAX_VALUE=2147483647})(dG||(dG={}));var Pf;(function(n){function e(i,r){return i===Number.MAX_VALUE&&(i=dG.MAX_VALUE),r===Number.MAX_VALUE&&(r=dG.MAX_VALUE),{line:i,character:r}}n.create=e;function t(i){var r=i;return bt.objectLiteral(r)&&bt.uinteger(r.line)&&bt.uinteger(r.character)}n.is=t})(Pf||(Pf={}));var gl;(function(n){function e(i,r,o,s){if(bt.uinteger(i)&&bt.uinteger(r)&&bt.uinteger(o)&&bt.uinteger(s))return{start:Pf.create(i,r),end:Pf.create(o,s)};if(Pf.is(i)&&Pf.is(r))return{start:i,end:r};throw new Error("Range#create called with invalid arguments["+i+", "+r+", "+o+", "+s+"]")}n.create=e;function t(i){var r=i;return bt.objectLiteral(r)&&Pf.is(r.start)&&Pf.is(r.end)}n.is=t})(gl||(gl={}));var sq;(function(n){function e(i,r){return{uri:i,range:r}}n.create=e;function t(i){var r=i;return bt.defined(r)&&gl.is(r.range)&&(bt.string(r.uri)||bt.undefined(r.uri))}n.is=t})(sq||(sq={}));var jDe;(function(n){function e(i,r,o,s){return{targetUri:i,targetRange:r,targetSelectionRange:o,originSelectionRange:s}}n.create=e;function t(i){var r=i;return bt.defined(r)&&gl.is(r.targetRange)&&bt.string(r.targetUri)&&(gl.is(r.targetSelectionRange)||bt.undefined(r.targetSelectionRange))&&(gl.is(r.originSelectionRange)||bt.undefined(r.originSelectionRange))}n.is=t})(jDe||(jDe={}));var aq;(function(n){function e(i,r,o,s){return{red:i,green:r,blue:o,alpha:s}}n.create=e;function t(i){var r=i;return bt.numberRange(r.red,0,1)&&bt.numberRange(r.green,0,1)&&bt.numberRange(r.blue,0,1)&&bt.numberRange(r.alpha,0,1)}n.is=t})(aq||(aq={}));var QDe;(function(n){function e(i,r){return{range:i,color:r}}n.create=e;function t(i){var r=i;return gl.is(r.range)&&aq.is(r.color)}n.is=t})(QDe||(QDe={}));var $De;(function(n){function e(i,r,o){return{label:i,textEdit:r,additionalTextEdits:o}}n.create=e;function t(i){var r=i;return bt.string(r.label)&&(bt.undefined(r.textEdit)||F1.is(r))&&(bt.undefined(r.additionalTextEdits)||bt.typedArray(r.additionalTextEdits,F1.is))}n.is=t})($De||($De={}));var jk;(function(n){n.Comment="comment",n.Imports="imports",n.Region="region"})(jk||(jk={}));var qDe;(function(n){function e(i,r,o,s,a){var l={startLine:i,endLine:r};return bt.defined(o)&&(l.startCharacter=o),bt.defined(s)&&(l.endCharacter=s),bt.defined(a)&&(l.kind=a),l}n.create=e;function t(i){var r=i;return bt.uinteger(r.startLine)&&bt.uinteger(r.startLine)&&(bt.undefined(r.startCharacter)||bt.uinteger(r.startCharacter))&&(bt.undefined(r.endCharacter)||bt.uinteger(r.endCharacter))&&(bt.undefined(r.kind)||bt.string(r.kind))}n.is=t})(qDe||(qDe={}));var lq;(function(n){function e(i,r){return{location:i,message:r}}n.create=e;function t(i){var r=i;return bt.defined(r)&&sq.is(r.location)&&bt.string(r.message)}n.is=t})(lq||(lq={}));var jx;(function(n){n.Error=1,n.Warning=2,n.Information=3,n.Hint=4})(jx||(jx={}));var eMe;(function(n){n.Unnecessary=1,n.Deprecated=2})(eMe||(eMe={}));var tMe;(function(n){function e(t){var i=t;return i!=null&&bt.string(i.href)}n.is=e})(tMe||(tMe={}));var hG;(function(n){function e(i,r,o,s,a,l){var u={range:i,message:r};return bt.defined(o)&&(u.severity=o),bt.defined(s)&&(u.code=s),bt.defined(a)&&(u.source=a),bt.defined(l)&&(u.relatedInformation=l),u}n.create=e;function t(i){var r,o=i;return bt.defined(o)&&gl.is(o.range)&&bt.string(o.message)&&(bt.number(o.severity)||bt.undefined(o.severity))&&(bt.integer(o.code)||bt.string(o.code)||bt.undefined(o.code))&&(bt.undefined(o.codeDescription)||bt.string((r=o.codeDescription)===null||r===void 0?void 0:r.href))&&(bt.string(o.source)||bt.undefined(o.source))&&(bt.undefined(o.relatedInformation)||bt.typedArray(o.relatedInformation,lq.is))}n.is=t})(hG||(hG={}));var Qk;(function(n){function e(i,r){for(var o=[],s=2;s0&&(a.arguments=o),a}n.create=e;function t(i){var r=i;return bt.defined(r)&&bt.string(r.title)&&bt.string(r.command)}n.is=t})(Qk||(Qk={}));var F1;(function(n){function e(o,s){return{range:o,newText:s}}n.replace=e;function t(o,s){return{range:{start:o,end:o},newText:s}}n.insert=t;function i(o){return{range:o,newText:""}}n.del=i;function r(o){var s=o;return bt.objectLiteral(s)&&bt.string(s.newText)&&gl.is(s.range)}n.is=r})(F1||(F1={}));var Qx;(function(n){function e(i,r,o){var s={label:i};return r!==void 0&&(s.needsConfirmation=r),o!==void 0&&(s.description=o),s}n.create=e;function t(i){var r=i;return r!==void 0&&bt.objectLiteral(r)&&bt.string(r.label)&&(bt.boolean(r.needsConfirmation)||r.needsConfirmation===void 0)&&(bt.string(r.description)||r.description===void 0)}n.is=t})(Qx||(Qx={}));var Ul;(function(n){function e(t){var i=t;return typeof i=="string"}n.is=e})(Ul||(Ul={}));var I1;(function(n){function e(o,s,a){return{range:o,newText:s,annotationId:a}}n.replace=e;function t(o,s,a){return{range:{start:o,end:o},newText:s,annotationId:a}}n.insert=t;function i(o,s){return{range:o,newText:"",annotationId:s}}n.del=i;function r(o){var s=o;return F1.is(s)&&(Qx.is(s.annotationId)||Ul.is(s.annotationId))}n.is=r})(I1||(I1={}));var mG;(function(n){function e(i,r){return{textDocument:i,edits:r}}n.create=e;function t(i){var r=i;return bt.defined(r)&&gG.is(r.textDocument)&&Array.isArray(r.edits)}n.is=t})(mG||(mG={}));var $k;(function(n){function e(i,r,o){var s={kind:"create",uri:i};return r!==void 0&&(r.overwrite!==void 0||r.ignoreIfExists!==void 0)&&(s.options=r),o!==void 0&&(s.annotationId=o),s}n.create=e;function t(i){var r=i;return r&&r.kind==="create"&&bt.string(r.uri)&&(r.options===void 0||(r.options.overwrite===void 0||bt.boolean(r.options.overwrite))&&(r.options.ignoreIfExists===void 0||bt.boolean(r.options.ignoreIfExists)))&&(r.annotationId===void 0||Ul.is(r.annotationId))}n.is=t})($k||($k={}));var qk;(function(n){function e(i,r,o,s){var a={kind:"rename",oldUri:i,newUri:r};return o!==void 0&&(o.overwrite!==void 0||o.ignoreIfExists!==void 0)&&(a.options=o),s!==void 0&&(a.annotationId=s),a}n.create=e;function t(i){var r=i;return r&&r.kind==="rename"&&bt.string(r.oldUri)&&bt.string(r.newUri)&&(r.options===void 0||(r.options.overwrite===void 0||bt.boolean(r.options.overwrite))&&(r.options.ignoreIfExists===void 0||bt.boolean(r.options.ignoreIfExists)))&&(r.annotationId===void 0||Ul.is(r.annotationId))}n.is=t})(qk||(qk={}));var eN;(function(n){function e(i,r,o){var s={kind:"delete",uri:i};return r!==void 0&&(r.recursive!==void 0||r.ignoreIfNotExists!==void 0)&&(s.options=r),o!==void 0&&(s.annotationId=o),s}n.create=e;function t(i){var r=i;return r&&r.kind==="delete"&&bt.string(r.uri)&&(r.options===void 0||(r.options.recursive===void 0||bt.boolean(r.options.recursive))&&(r.options.ignoreIfNotExists===void 0||bt.boolean(r.options.ignoreIfNotExists)))&&(r.annotationId===void 0||Ul.is(r.annotationId))}n.is=t})(eN||(eN={}));var uq;(function(n){function e(t){var i=t;return i&&(i.changes!==void 0||i.documentChanges!==void 0)&&(i.documentChanges===void 0||i.documentChanges.every(function(r){return bt.string(r.kind)?$k.is(r)||qk.is(r)||eN.is(r):mG.is(r)}))}n.is=e})(uq||(uq={}));var fG=function(){function n(e,t){this.edits=e,this.changeAnnotations=t}return n.prototype.insert=function(e,t,i){var r,o;if(i===void 0?r=F1.insert(e,t):Ul.is(i)?(o=i,r=I1.insert(e,t,i)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(i),r=I1.insert(e,t,o)),this.edits.push(r),o!==void 0)return o},n.prototype.replace=function(e,t,i){var r,o;if(i===void 0?r=F1.replace(e,t):Ul.is(i)?(o=i,r=I1.replace(e,t,i)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(i),r=I1.replace(e,t,o)),this.edits.push(r),o!==void 0)return o},n.prototype.delete=function(e,t){var i,r;if(t===void 0?i=F1.del(e):Ul.is(t)?(r=t,i=I1.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(t),i=I1.del(e,r)),this.edits.push(i),r!==void 0)return r},n.prototype.add=function(e){this.edits.push(e)},n.prototype.all=function(){return this.edits},n.prototype.clear=function(){this.edits.splice(0,this.edits.length)},n.prototype.assertChangeAnnotations=function(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")},n}(),nMe=function(){function n(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}return n.prototype.all=function(){return this._annotations},Object.defineProperty(n.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),n.prototype.manage=function(e,t){var i;if(Ul.is(e)?i=e:(i=this.nextId(),t=e),this._annotations[i]!==void 0)throw new Error("Id "+i+" is already in use.");if(t===void 0)throw new Error("No annotation provided for id "+i);return this._annotations[i]=t,this._size++,i},n.prototype.nextId=function(){return this._counter++,this._counter.toString()},n}();(function(){function n(e){var t=this;this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new nMe(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(function(i){if(mG.is(i)){var r=new fG(i.edits,t._changeAnnotations);t._textEditChanges[i.textDocument.uri]=r}})):e.changes&&Object.keys(e.changes).forEach(function(i){var r=new fG(e.changes[i]);t._textEditChanges[i]=r})):this._workspaceEdit={}}return Object.defineProperty(n.prototype,"edit",{get:function(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),n.prototype.getTextEditChange=function(e){if(gG.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version},i=this._textEditChanges[t.uri];if(!i){var r=[],o={textDocument:t,edits:r};this._workspaceEdit.documentChanges.push(o),i=new fG(r,this._changeAnnotations),this._textEditChanges[t.uri]=i}return i}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");var i=this._textEditChanges[e];if(!i){var r=[];this._workspaceEdit.changes[e]=r,i=new fG(r),this._textEditChanges[e]=i}return i}},n.prototype.initDocumentChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new nMe,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},n.prototype.initChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))},n.prototype.createFile=function(e,t,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var r;Qx.is(t)||Ul.is(t)?r=t:i=t;var o,s;if(r===void 0?o=$k.create(e,i):(s=Ul.is(r)?r:this._changeAnnotations.manage(r),o=$k.create(e,i,s)),this._workspaceEdit.documentChanges.push(o),s!==void 0)return s},n.prototype.renameFile=function(e,t,i,r){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var o;Qx.is(i)||Ul.is(i)?o=i:r=i;var s,a;if(o===void 0?s=qk.create(e,t,r):(a=Ul.is(o)?o:this._changeAnnotations.manage(o),s=qk.create(e,t,r,a)),this._workspaceEdit.documentChanges.push(s),a!==void 0)return a},n.prototype.deleteFile=function(e,t,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var r;Qx.is(t)||Ul.is(t)?r=t:i=t;var o,s;if(r===void 0?o=eN.create(e,i):(s=Ul.is(r)?r:this._changeAnnotations.manage(r),o=eN.create(e,i,s)),this._workspaceEdit.documentChanges.push(o),s!==void 0)return s},n})();var iMe;(function(n){function e(i){return{uri:i}}n.create=e;function t(i){var r=i;return bt.defined(r)&&bt.string(r.uri)}n.is=t})(iMe||(iMe={}));var rMe;(function(n){function e(i,r){return{uri:i,version:r}}n.create=e;function t(i){var r=i;return bt.defined(r)&&bt.string(r.uri)&&bt.integer(r.version)}n.is=t})(rMe||(rMe={}));var gG;(function(n){function e(i,r){return{uri:i,version:r}}n.create=e;function t(i){var r=i;return bt.defined(r)&&bt.string(r.uri)&&(r.version===null||bt.integer(r.version))}n.is=t})(gG||(gG={}));var oMe;(function(n){function e(i,r,o,s){return{uri:i,languageId:r,version:o,text:s}}n.create=e;function t(i){var r=i;return bt.defined(r)&&bt.string(r.uri)&&bt.string(r.languageId)&&bt.integer(r.version)&&bt.string(r.text)}n.is=t})(oMe||(oMe={}));var tN;(function(n){n.PlainText="plaintext",n.Markdown="markdown"})(tN||(tN={})),function(n){function e(t){var i=t;return i===n.PlainText||i===n.Markdown}n.is=e}(tN||(tN={}));var cq;(function(n){function e(t){var i=t;return bt.objectLiteral(t)&&tN.is(i.kind)&&bt.string(i.value)}n.is=e})(cq||(cq={}));var ra;(function(n){n.Text=1,n.Method=2,n.Function=3,n.Constructor=4,n.Field=5,n.Variable=6,n.Class=7,n.Interface=8,n.Module=9,n.Property=10,n.Unit=11,n.Value=12,n.Enum=13,n.Keyword=14,n.Snippet=15,n.Color=16,n.File=17,n.Reference=18,n.Folder=19,n.EnumMember=20,n.Constant=21,n.Struct=22,n.Event=23,n.Operator=24,n.TypeParameter=25})(ra||(ra={}));var dq;(function(n){n.PlainText=1,n.Snippet=2})(dq||(dq={}));var sMe;(function(n){n.Deprecated=1})(sMe||(sMe={}));var aMe;(function(n){function e(i,r,o){return{newText:i,insert:r,replace:o}}n.create=e;function t(i){var r=i;return r&&bt.string(r.newText)&&gl.is(r.insert)&&gl.is(r.replace)}n.is=t})(aMe||(aMe={}));var lMe;(function(n){n.asIs=1,n.adjustIndentation=2})(lMe||(lMe={}));var uMe;(function(n){function e(t){return{label:t}}n.create=e})(uMe||(uMe={}));var cMe;(function(n){function e(t,i){return{items:t||[],isIncomplete:!!i}}n.create=e})(cMe||(cMe={}));var pG;(function(n){function e(i){return i.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}n.fromPlainText=e;function t(i){var r=i;return bt.string(r)||bt.objectLiteral(r)&&bt.string(r.language)&&bt.string(r.value)}n.is=t})(pG||(pG={}));var dMe;(function(n){function e(t){var i=t;return!!i&&bt.objectLiteral(i)&&(cq.is(i.contents)||pG.is(i.contents)||bt.typedArray(i.contents,pG.is))&&(t.range===void 0||gl.is(t.range))}n.is=e})(dMe||(dMe={}));var hMe;(function(n){function e(t,i){return i?{label:t,documentation:i}:{label:t}}n.create=e})(hMe||(hMe={}));var mMe;(function(n){function e(t,i){for(var r=[],o=2;o=0;c--){var d=l[c],h=o.offsetAt(d.range.start),m=o.offsetAt(d.range.end);if(m<=u)a=a.substring(0,h)+d.newText+a.substring(m,a.length);else throw new Error("Overlapping edit");u=h}return a}n.applyEdits=i;function r(o,s){if(o.length<=1)return o;var a=o.length/2|0,l=o.slice(0,a),u=o.slice(a);r(l,s),r(u,s);for(var c=0,d=0,h=0;c{if(e&&typeof e=="object"||typeof e=="function")for(let r of aYt(e))!lYt.call(n,r)&&r!==t&&oYt(n,r,{get:()=>e[r],enumerable:!(i=sYt(e,r))||i.enumerable});return n},uYt=(n,e,t)=>(UDe(n,e,"default"),t&&UDe(t,e,"default")),Ti={};uYt(Ti,nDe);var cYt=2*60*1e3,KDe=class{constructor(n){this._defaults=n,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){if(!this._worker)return;Date.now()-this._lastUsedTime>cYt&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=Ti.editor.createWebWorker({moduleId:"vs/language/json/jsonWorker",label:this._defaults.languageId,createData:{languageSettings:this._defaults.diagnosticsOptions,languageId:this._defaults.languageId,enableSchemaRequest:this._defaults.diagnosticsOptions.enableSchemaRequest}}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...n){let e;return this._getClient().then(t=>{e=t}).then(t=>{if(this._worker)return this._worker.withSyncedResources(n)}).then(t=>e)}},JDe;(function(n){n.MIN_VALUE=-2147483648,n.MAX_VALUE=2147483647})(JDe||(JDe={}));var dG;(function(n){n.MIN_VALUE=0,n.MAX_VALUE=2147483647})(dG||(dG={}));var Pf;(function(n){function e(i,r){return i===Number.MAX_VALUE&&(i=dG.MAX_VALUE),r===Number.MAX_VALUE&&(r=dG.MAX_VALUE),{line:i,character:r}}n.create=e;function t(i){var r=i;return bt.objectLiteral(r)&&bt.uinteger(r.line)&&bt.uinteger(r.character)}n.is=t})(Pf||(Pf={}));var gl;(function(n){function e(i,r,o,s){if(bt.uinteger(i)&&bt.uinteger(r)&&bt.uinteger(o)&&bt.uinteger(s))return{start:Pf.create(i,r),end:Pf.create(o,s)};if(Pf.is(i)&&Pf.is(r))return{start:i,end:r};throw new Error("Range#create called with invalid arguments["+i+", "+r+", "+o+", "+s+"]")}n.create=e;function t(i){var r=i;return bt.objectLiteral(r)&&Pf.is(r.start)&&Pf.is(r.end)}n.is=t})(gl||(gl={}));var sq;(function(n){function e(i,r){return{uri:i,range:r}}n.create=e;function t(i){var r=i;return bt.defined(r)&&gl.is(r.range)&&(bt.string(r.uri)||bt.undefined(r.uri))}n.is=t})(sq||(sq={}));var jDe;(function(n){function e(i,r,o,s){return{targetUri:i,targetRange:r,targetSelectionRange:o,originSelectionRange:s}}n.create=e;function t(i){var r=i;return bt.defined(r)&&gl.is(r.targetRange)&&bt.string(r.targetUri)&&(gl.is(r.targetSelectionRange)||bt.undefined(r.targetSelectionRange))&&(gl.is(r.originSelectionRange)||bt.undefined(r.originSelectionRange))}n.is=t})(jDe||(jDe={}));var aq;(function(n){function e(i,r,o,s){return{red:i,green:r,blue:o,alpha:s}}n.create=e;function t(i){var r=i;return bt.numberRange(r.red,0,1)&&bt.numberRange(r.green,0,1)&&bt.numberRange(r.blue,0,1)&&bt.numberRange(r.alpha,0,1)}n.is=t})(aq||(aq={}));var QDe;(function(n){function e(i,r){return{range:i,color:r}}n.create=e;function t(i){var r=i;return gl.is(r.range)&&aq.is(r.color)}n.is=t})(QDe||(QDe={}));var $De;(function(n){function e(i,r,o){return{label:i,textEdit:r,additionalTextEdits:o}}n.create=e;function t(i){var r=i;return bt.string(r.label)&&(bt.undefined(r.textEdit)||I1.is(r))&&(bt.undefined(r.additionalTextEdits)||bt.typedArray(r.additionalTextEdits,I1.is))}n.is=t})($De||($De={}));var jM;(function(n){n.Comment="comment",n.Imports="imports",n.Region="region"})(jM||(jM={}));var qDe;(function(n){function e(i,r,o,s,a){var l={startLine:i,endLine:r};return bt.defined(o)&&(l.startCharacter=o),bt.defined(s)&&(l.endCharacter=s),bt.defined(a)&&(l.kind=a),l}n.create=e;function t(i){var r=i;return bt.uinteger(r.startLine)&&bt.uinteger(r.startLine)&&(bt.undefined(r.startCharacter)||bt.uinteger(r.startCharacter))&&(bt.undefined(r.endCharacter)||bt.uinteger(r.endCharacter))&&(bt.undefined(r.kind)||bt.string(r.kind))}n.is=t})(qDe||(qDe={}));var lq;(function(n){function e(i,r){return{location:i,message:r}}n.create=e;function t(i){var r=i;return bt.defined(r)&&sq.is(r.location)&&bt.string(r.message)}n.is=t})(lq||(lq={}));var jx;(function(n){n.Error=1,n.Warning=2,n.Information=3,n.Hint=4})(jx||(jx={}));var eNe;(function(n){n.Unnecessary=1,n.Deprecated=2})(eNe||(eNe={}));var tNe;(function(n){function e(t){var i=t;return i!=null&&bt.string(i.href)}n.is=e})(tNe||(tNe={}));var hG;(function(n){function e(i,r,o,s,a,l){var u={range:i,message:r};return bt.defined(o)&&(u.severity=o),bt.defined(s)&&(u.code=s),bt.defined(a)&&(u.source=a),bt.defined(l)&&(u.relatedInformation=l),u}n.create=e;function t(i){var r,o=i;return bt.defined(o)&&gl.is(o.range)&&bt.string(o.message)&&(bt.number(o.severity)||bt.undefined(o.severity))&&(bt.integer(o.code)||bt.string(o.code)||bt.undefined(o.code))&&(bt.undefined(o.codeDescription)||bt.string((r=o.codeDescription)===null||r===void 0?void 0:r.href))&&(bt.string(o.source)||bt.undefined(o.source))&&(bt.undefined(o.relatedInformation)||bt.typedArray(o.relatedInformation,lq.is))}n.is=t})(hG||(hG={}));var QM;(function(n){function e(i,r){for(var o=[],s=2;s0&&(a.arguments=o),a}n.create=e;function t(i){var r=i;return bt.defined(r)&&bt.string(r.title)&&bt.string(r.command)}n.is=t})(QM||(QM={}));var I1;(function(n){function e(o,s){return{range:o,newText:s}}n.replace=e;function t(o,s){return{range:{start:o,end:o},newText:s}}n.insert=t;function i(o){return{range:o,newText:""}}n.del=i;function r(o){var s=o;return bt.objectLiteral(s)&&bt.string(s.newText)&&gl.is(s.range)}n.is=r})(I1||(I1={}));var Qx;(function(n){function e(i,r,o){var s={label:i};return r!==void 0&&(s.needsConfirmation=r),o!==void 0&&(s.description=o),s}n.create=e;function t(i){var r=i;return r!==void 0&&bt.objectLiteral(r)&&bt.string(r.label)&&(bt.boolean(r.needsConfirmation)||r.needsConfirmation===void 0)&&(bt.string(r.description)||r.description===void 0)}n.is=t})(Qx||(Qx={}));var Ul;(function(n){function e(t){var i=t;return typeof i=="string"}n.is=e})(Ul||(Ul={}));var F1;(function(n){function e(o,s,a){return{range:o,newText:s,annotationId:a}}n.replace=e;function t(o,s,a){return{range:{start:o,end:o},newText:s,annotationId:a}}n.insert=t;function i(o,s){return{range:o,newText:"",annotationId:s}}n.del=i;function r(o){var s=o;return I1.is(s)&&(Qx.is(s.annotationId)||Ul.is(s.annotationId))}n.is=r})(F1||(F1={}));var mG;(function(n){function e(i,r){return{textDocument:i,edits:r}}n.create=e;function t(i){var r=i;return bt.defined(r)&&gG.is(r.textDocument)&&Array.isArray(r.edits)}n.is=t})(mG||(mG={}));var $M;(function(n){function e(i,r,o){var s={kind:"create",uri:i};return r!==void 0&&(r.overwrite!==void 0||r.ignoreIfExists!==void 0)&&(s.options=r),o!==void 0&&(s.annotationId=o),s}n.create=e;function t(i){var r=i;return r&&r.kind==="create"&&bt.string(r.uri)&&(r.options===void 0||(r.options.overwrite===void 0||bt.boolean(r.options.overwrite))&&(r.options.ignoreIfExists===void 0||bt.boolean(r.options.ignoreIfExists)))&&(r.annotationId===void 0||Ul.is(r.annotationId))}n.is=t})($M||($M={}));var qM;(function(n){function e(i,r,o,s){var a={kind:"rename",oldUri:i,newUri:r};return o!==void 0&&(o.overwrite!==void 0||o.ignoreIfExists!==void 0)&&(a.options=o),s!==void 0&&(a.annotationId=s),a}n.create=e;function t(i){var r=i;return r&&r.kind==="rename"&&bt.string(r.oldUri)&&bt.string(r.newUri)&&(r.options===void 0||(r.options.overwrite===void 0||bt.boolean(r.options.overwrite))&&(r.options.ignoreIfExists===void 0||bt.boolean(r.options.ignoreIfExists)))&&(r.annotationId===void 0||Ul.is(r.annotationId))}n.is=t})(qM||(qM={}));var ek;(function(n){function e(i,r,o){var s={kind:"delete",uri:i};return r!==void 0&&(r.recursive!==void 0||r.ignoreIfNotExists!==void 0)&&(s.options=r),o!==void 0&&(s.annotationId=o),s}n.create=e;function t(i){var r=i;return r&&r.kind==="delete"&&bt.string(r.uri)&&(r.options===void 0||(r.options.recursive===void 0||bt.boolean(r.options.recursive))&&(r.options.ignoreIfNotExists===void 0||bt.boolean(r.options.ignoreIfNotExists)))&&(r.annotationId===void 0||Ul.is(r.annotationId))}n.is=t})(ek||(ek={}));var uq;(function(n){function e(t){var i=t;return i&&(i.changes!==void 0||i.documentChanges!==void 0)&&(i.documentChanges===void 0||i.documentChanges.every(function(r){return bt.string(r.kind)?$M.is(r)||qM.is(r)||ek.is(r):mG.is(r)}))}n.is=e})(uq||(uq={}));var fG=function(){function n(e,t){this.edits=e,this.changeAnnotations=t}return n.prototype.insert=function(e,t,i){var r,o;if(i===void 0?r=I1.insert(e,t):Ul.is(i)?(o=i,r=F1.insert(e,t,i)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(i),r=F1.insert(e,t,o)),this.edits.push(r),o!==void 0)return o},n.prototype.replace=function(e,t,i){var r,o;if(i===void 0?r=I1.replace(e,t):Ul.is(i)?(o=i,r=F1.replace(e,t,i)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(i),r=F1.replace(e,t,o)),this.edits.push(r),o!==void 0)return o},n.prototype.delete=function(e,t){var i,r;if(t===void 0?i=I1.del(e):Ul.is(t)?(r=t,i=F1.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(t),i=F1.del(e,r)),this.edits.push(i),r!==void 0)return r},n.prototype.add=function(e){this.edits.push(e)},n.prototype.all=function(){return this.edits},n.prototype.clear=function(){this.edits.splice(0,this.edits.length)},n.prototype.assertChangeAnnotations=function(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")},n}(),nNe=function(){function n(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}return n.prototype.all=function(){return this._annotations},Object.defineProperty(n.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),n.prototype.manage=function(e,t){var i;if(Ul.is(e)?i=e:(i=this.nextId(),t=e),this._annotations[i]!==void 0)throw new Error("Id "+i+" is already in use.");if(t===void 0)throw new Error("No annotation provided for id "+i);return this._annotations[i]=t,this._size++,i},n.prototype.nextId=function(){return this._counter++,this._counter.toString()},n}();(function(){function n(e){var t=this;this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new nNe(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(function(i){if(mG.is(i)){var r=new fG(i.edits,t._changeAnnotations);t._textEditChanges[i.textDocument.uri]=r}})):e.changes&&Object.keys(e.changes).forEach(function(i){var r=new fG(e.changes[i]);t._textEditChanges[i]=r})):this._workspaceEdit={}}return Object.defineProperty(n.prototype,"edit",{get:function(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),n.prototype.getTextEditChange=function(e){if(gG.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version},i=this._textEditChanges[t.uri];if(!i){var r=[],o={textDocument:t,edits:r};this._workspaceEdit.documentChanges.push(o),i=new fG(r,this._changeAnnotations),this._textEditChanges[t.uri]=i}return i}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");var i=this._textEditChanges[e];if(!i){var r=[];this._workspaceEdit.changes[e]=r,i=new fG(r),this._textEditChanges[e]=i}return i}},n.prototype.initDocumentChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new nNe,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},n.prototype.initChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))},n.prototype.createFile=function(e,t,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var r;Qx.is(t)||Ul.is(t)?r=t:i=t;var o,s;if(r===void 0?o=$M.create(e,i):(s=Ul.is(r)?r:this._changeAnnotations.manage(r),o=$M.create(e,i,s)),this._workspaceEdit.documentChanges.push(o),s!==void 0)return s},n.prototype.renameFile=function(e,t,i,r){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var o;Qx.is(i)||Ul.is(i)?o=i:r=i;var s,a;if(o===void 0?s=qM.create(e,t,r):(a=Ul.is(o)?o:this._changeAnnotations.manage(o),s=qM.create(e,t,r,a)),this._workspaceEdit.documentChanges.push(s),a!==void 0)return a},n.prototype.deleteFile=function(e,t,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var r;Qx.is(t)||Ul.is(t)?r=t:i=t;var o,s;if(r===void 0?o=ek.create(e,i):(s=Ul.is(r)?r:this._changeAnnotations.manage(r),o=ek.create(e,i,s)),this._workspaceEdit.documentChanges.push(o),s!==void 0)return s},n})();var iNe;(function(n){function e(i){return{uri:i}}n.create=e;function t(i){var r=i;return bt.defined(r)&&bt.string(r.uri)}n.is=t})(iNe||(iNe={}));var rNe;(function(n){function e(i,r){return{uri:i,version:r}}n.create=e;function t(i){var r=i;return bt.defined(r)&&bt.string(r.uri)&&bt.integer(r.version)}n.is=t})(rNe||(rNe={}));var gG;(function(n){function e(i,r){return{uri:i,version:r}}n.create=e;function t(i){var r=i;return bt.defined(r)&&bt.string(r.uri)&&(r.version===null||bt.integer(r.version))}n.is=t})(gG||(gG={}));var oNe;(function(n){function e(i,r,o,s){return{uri:i,languageId:r,version:o,text:s}}n.create=e;function t(i){var r=i;return bt.defined(r)&&bt.string(r.uri)&&bt.string(r.languageId)&&bt.integer(r.version)&&bt.string(r.text)}n.is=t})(oNe||(oNe={}));var tk;(function(n){n.PlainText="plaintext",n.Markdown="markdown"})(tk||(tk={})),function(n){function e(t){var i=t;return i===n.PlainText||i===n.Markdown}n.is=e}(tk||(tk={}));var cq;(function(n){function e(t){var i=t;return bt.objectLiteral(t)&&tk.is(i.kind)&&bt.string(i.value)}n.is=e})(cq||(cq={}));var ra;(function(n){n.Text=1,n.Method=2,n.Function=3,n.Constructor=4,n.Field=5,n.Variable=6,n.Class=7,n.Interface=8,n.Module=9,n.Property=10,n.Unit=11,n.Value=12,n.Enum=13,n.Keyword=14,n.Snippet=15,n.Color=16,n.File=17,n.Reference=18,n.Folder=19,n.EnumMember=20,n.Constant=21,n.Struct=22,n.Event=23,n.Operator=24,n.TypeParameter=25})(ra||(ra={}));var dq;(function(n){n.PlainText=1,n.Snippet=2})(dq||(dq={}));var sNe;(function(n){n.Deprecated=1})(sNe||(sNe={}));var aNe;(function(n){function e(i,r,o){return{newText:i,insert:r,replace:o}}n.create=e;function t(i){var r=i;return r&&bt.string(r.newText)&&gl.is(r.insert)&&gl.is(r.replace)}n.is=t})(aNe||(aNe={}));var lNe;(function(n){n.asIs=1,n.adjustIndentation=2})(lNe||(lNe={}));var uNe;(function(n){function e(t){return{label:t}}n.create=e})(uNe||(uNe={}));var cNe;(function(n){function e(t,i){return{items:t||[],isIncomplete:!!i}}n.create=e})(cNe||(cNe={}));var pG;(function(n){function e(i){return i.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}n.fromPlainText=e;function t(i){var r=i;return bt.string(r)||bt.objectLiteral(r)&&bt.string(r.language)&&bt.string(r.value)}n.is=t})(pG||(pG={}));var dNe;(function(n){function e(t){var i=t;return!!i&&bt.objectLiteral(i)&&(cq.is(i.contents)||pG.is(i.contents)||bt.typedArray(i.contents,pG.is))&&(t.range===void 0||gl.is(t.range))}n.is=e})(dNe||(dNe={}));var hNe;(function(n){function e(t,i){return i?{label:t,documentation:i}:{label:t}}n.create=e})(hNe||(hNe={}));var mNe;(function(n){function e(t,i){for(var r=[],o=2;o=0;c--){var d=l[c],h=o.offsetAt(d.range.start),m=o.offsetAt(d.range.end);if(m<=u)a=a.substring(0,h)+d.newText+a.substring(m,a.length);else throw new Error("Overlapping edit");u=h}return a}n.applyEdits=i;function r(o,s){if(o.length<=1)return o;var a=o.length/2|0,l=o.slice(0,a),u=o.slice(a);r(l,s),r(u,s);for(var c=0,d=0,h=0;c0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},n.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),i=0,r=t.length;if(r===0)return Pf.create(0,e);for(;ie?r=o:i=o+1}var s=i-1;return Pf.create(s,e-t[s])},n.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var i=t[e.line],r=e.line+1"u"}n.undefined=i;function r(m){return m===!0||m===!1}n.boolean=r;function o(m){return e.call(m)==="[object String]"}n.string=o;function s(m){return e.call(m)==="[object Number]"}n.number=s;function a(m,f,g){return e.call(m)==="[object Number]"&&f<=m&&m<=g}n.numberRange=a;function l(m){return e.call(m)==="[object Number]"&&-2147483648<=m&&m<=2147483647}n.integer=l;function u(m){return e.call(m)==="[object Number]"&&0<=m&&m<=2147483647}n.uinteger=u;function c(m){return e.call(m)==="[object Function]"}n.func=c;function d(m){return m!==null&&typeof m=="object"}n.objectLiteral=d;function h(m,f){return Array.isArray(m)&&m.every(f)}n.typedArray=h})(bt||(bt={}));var FMe=class{constructor(n,e,t){this._languageId=n,this._worker=e,this._disposables=[],this._listener=Object.create(null);const i=o=>{let s=o.getLanguageId();if(s!==this._languageId)return;let a;this._listener[o.uri.toString()]=o.onDidChangeContent(()=>{window.clearTimeout(a),a=window.setTimeout(()=>this._doValidate(o.uri,s),500)}),this._doValidate(o.uri,s)},r=o=>{Ti.editor.setModelMarkers(o,this._languageId,[]);let s=o.uri.toString(),a=this._listener[s];a&&(a.dispose(),delete this._listener[s])};this._disposables.push(Ti.editor.onDidCreateModel(i)),this._disposables.push(Ti.editor.onWillDisposeModel(r)),this._disposables.push(Ti.editor.onDidChangeModelLanguage(o=>{r(o.model),i(o.model)})),this._disposables.push(t(o=>{Ti.editor.getModels().forEach(s=>{s.getLanguageId()===this._languageId&&(r(s),i(s))})})),this._disposables.push({dispose:()=>{Ti.editor.getModels().forEach(r);for(let o in this._listener)this._listener[o].dispose()}}),Ti.editor.getModels().forEach(i)}dispose(){this._disposables.forEach(n=>n&&n.dispose()),this._disposables.length=0}_doValidate(n,e){this._worker(n).then(t=>t.doValidation(n.toString())).then(t=>{const i=t.map(o=>mYt(n,o));let r=Ti.editor.getModel(n);r&&r.getLanguageId()===e&&Ti.editor.setModelMarkers(r,e,i)}).then(void 0,t=>{})}};function hYt(n){switch(n){case jx.Error:return Ti.MarkerSeverity.Error;case jx.Warning:return Ti.MarkerSeverity.Warning;case jx.Information:return Ti.MarkerSeverity.Info;case jx.Hint:return Ti.MarkerSeverity.Hint;default:return Ti.MarkerSeverity.Info}}function mYt(n,e){let t=typeof e.code=="number"?String(e.code):e.code;return{severity:hYt(e.severity),startLineNumber:e.range.start.line+1,startColumn:e.range.start.character+1,endLineNumber:e.range.end.line+1,endColumn:e.range.end.character+1,message:e.message,code:t,source:e.source}}var IMe=class{constructor(n,e){this._worker=n,this._triggerCharacters=e}get triggerCharacters(){return this._triggerCharacters}provideCompletionItems(n,e,t,i){const r=n.uri;return this._worker(r).then(o=>o.doComplete(r.toString(),D1(e))).then(o=>{if(!o)return;const s=n.getWordUntilPosition(e),a=new Ti.Range(e.lineNumber,s.startColumn,e.lineNumber,s.endColumn),l=o.items.map(u=>{const c={label:u.label,insertText:u.insertText||u.label,sortText:u.sortText,filterText:u.filterText,documentation:u.documentation,detail:u.detail,command:pYt(u.command),range:a,kind:gYt(u.kind)};return u.textEdit&&(fYt(u.textEdit)?c.range={insert:Kl(u.textEdit.insert),replace:Kl(u.textEdit.replace)}:c.range=Kl(u.textEdit.range),c.insertText=u.textEdit.newText),u.additionalTextEdits&&(c.additionalTextEdits=u.additionalTextEdits.map($x)),u.insertTextFormat===dq.Snippet&&(c.insertTextRules=Ti.languages.CompletionItemInsertTextRule.InsertAsSnippet),c});return{isIncomplete:o.isIncomplete,suggestions:l}})}};function D1(n){if(n)return{character:n.column-1,line:n.lineNumber-1}}function hq(n){if(n)return{start:{line:n.startLineNumber-1,character:n.startColumn-1},end:{line:n.endLineNumber-1,character:n.endColumn-1}}}function Kl(n){if(n)return new Ti.Range(n.start.line+1,n.start.character+1,n.end.line+1,n.end.character+1)}function fYt(n){return typeof n.insert<"u"&&typeof n.replace<"u"}function gYt(n){const e=Ti.languages.CompletionItemKind;switch(n){case ra.Text:return e.Text;case ra.Method:return e.Method;case ra.Function:return e.Function;case ra.Constructor:return e.Constructor;case ra.Field:return e.Field;case ra.Variable:return e.Variable;case ra.Class:return e.Class;case ra.Interface:return e.Interface;case ra.Module:return e.Module;case ra.Property:return e.Property;case ra.Unit:return e.Unit;case ra.Value:return e.Value;case ra.Enum:return e.Enum;case ra.Keyword:return e.Keyword;case ra.Snippet:return e.Snippet;case ra.Color:return e.Color;case ra.File:return e.File;case ra.Reference:return e.Reference}return e.Property}function $x(n){if(n)return{range:Kl(n.range),text:n.newText}}function pYt(n){return n&&n.command==="editor.action.triggerSuggest"?{id:n.command,title:n.title,arguments:n.arguments}:void 0}var DMe=class{constructor(n){this._worker=n}provideHover(n,e,t){let i=n.uri;return this._worker(i).then(r=>r.doHover(i.toString(),D1(e))).then(r=>{if(r)return{range:Kl(r.range),contents:vYt(r.contents)}})}};function bYt(n){return n&&typeof n=="object"&&typeof n.kind=="string"}function MMe(n){return typeof n=="string"?{value:n}:bYt(n)?n.kind==="plaintext"?{value:n.value.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}:{value:n.value}:{value:"```"+n.language+` -`+n.value+"\n```\n"}}function vYt(n){if(n)return Array.isArray(n)?n.map(MMe):[MMe(n)]}var yYt=class{constructor(n){this._worker=n}provideDocumentHighlights(n,e,t){const i=n.uri;return this._worker(i).then(r=>r.findDocumentHighlights(i.toString(),D1(e))).then(r=>{if(r)return r.map(o=>({range:Kl(o.range),kind:CYt(o.kind)}))})}};function CYt(n){switch(n){case nN.Read:return Ti.languages.DocumentHighlightKind.Read;case nN.Write:return Ti.languages.DocumentHighlightKind.Write;case nN.Text:return Ti.languages.DocumentHighlightKind.Text}return Ti.languages.DocumentHighlightKind.Text}var wYt=class{constructor(n){this._worker=n}provideDefinition(n,e,t){const i=n.uri;return this._worker(i).then(r=>r.findDefinition(i.toString(),D1(e))).then(r=>{if(r)return[kMe(r)]})}};function kMe(n){return{uri:Ti.Uri.parse(n.uri),range:Kl(n.range)}}var SYt=class{constructor(n){this._worker=n}provideReferences(n,e,t,i){const r=n.uri;return this._worker(r).then(o=>o.findReferences(r.toString(),D1(e))).then(o=>{if(o)return o.map(kMe)})}},xYt=class{constructor(n){this._worker=n}provideRenameEdits(n,e,t,i){const r=n.uri;return this._worker(r).then(o=>o.doRename(r.toString(),D1(e),t)).then(o=>LYt(o))}};function LYt(n){if(!n||!n.changes)return;let e=[];for(let t in n.changes){const i=Ti.Uri.parse(t);for(let r of n.changes[t])e.push({resource:i,versionId:void 0,textEdit:{range:Kl(r.range),text:r.newText}})}return{edits:e}}var NMe=class{constructor(n){this._worker=n}provideDocumentSymbols(n,e){const t=n.uri;return this._worker(t).then(i=>i.findDocumentSymbols(t.toString())).then(i=>{if(i)return i.map(r=>_Yt(r)?TMe(r):{name:r.name,detail:"",containerName:r.containerName,kind:EMe(r.kind),range:Kl(r.location.range),selectionRange:Kl(r.location.range),tags:[]})})}};function _Yt(n){return"children"in n}function TMe(n){return{name:n.name,detail:n.detail??"",kind:EMe(n.kind),range:Kl(n.range),selectionRange:Kl(n.selectionRange),tags:n.tags??[],children:(n.children??[]).map(e=>TMe(e))}}function EMe(n){let e=Ti.languages.SymbolKind;switch(n){case oa.File:return e.File;case oa.Module:return e.Module;case oa.Namespace:return e.Namespace;case oa.Package:return e.Package;case oa.Class:return e.Class;case oa.Method:return e.Method;case oa.Property:return e.Property;case oa.Field:return e.Field;case oa.Constructor:return e.Constructor;case oa.Enum:return e.Enum;case oa.Interface:return e.Interface;case oa.Function:return e.Function;case oa.Variable:return e.Variable;case oa.Constant:return e.Constant;case oa.String:return e.String;case oa.Number:return e.Number;case oa.Boolean:return e.Boolean;case oa.Array:return e.Array}return e.Function}var FYt=class{constructor(n){this._worker=n}provideLinks(n,e){const t=n.uri;return this._worker(t).then(i=>i.findDocumentLinks(t.toString())).then(i=>{if(i)return{links:i.map(r=>({range:Kl(r.range),url:r.target}))}})}},ZMe=class{constructor(n){this._worker=n}provideDocumentFormattingEdits(n,e,t){const i=n.uri;return this._worker(i).then(r=>r.format(i.toString(),null,RMe(e)).then(o=>{if(!(!o||o.length===0))return o.map($x)}))}},WMe=class{constructor(n){this._worker=n,this.canFormatMultipleRanges=!1}provideDocumentRangeFormattingEdits(n,e,t,i){const r=n.uri;return this._worker(r).then(o=>o.format(r.toString(),hq(e),RMe(t)).then(s=>{if(!(!s||s.length===0))return s.map($x)}))}};function RMe(n){return{tabSize:n.tabSize,insertSpaces:n.insertSpaces}}var VMe=class{constructor(n){this._worker=n}provideDocumentColors(n,e){const t=n.uri;return this._worker(t).then(i=>i.findDocumentColors(t.toString())).then(i=>{if(i)return i.map(r=>({color:r.color,range:Kl(r.range)}))})}provideColorPresentations(n,e,t){const i=n.uri;return this._worker(i).then(r=>r.getColorPresentations(i.toString(),e.color,hq(e.range))).then(r=>{if(r)return r.map(o=>{let s={label:o.label};return o.textEdit&&(s.textEdit=$x(o.textEdit)),o.additionalTextEdits&&(s.additionalTextEdits=o.additionalTextEdits.map($x)),s})})}},AMe=class{constructor(n){this._worker=n}provideFoldingRanges(n,e,t){const i=n.uri;return this._worker(i).then(r=>r.getFoldingRanges(i.toString(),e)).then(r=>{if(r)return r.map(o=>{const s={start:o.startLine+1,end:o.endLine+1};return typeof o.kind<"u"&&(s.kind=IYt(o.kind)),s})})}};function IYt(n){switch(n){case jk.Comment:return Ti.languages.FoldingRangeKind.Comment;case jk.Imports:return Ti.languages.FoldingRangeKind.Imports;case jk.Region:return Ti.languages.FoldingRangeKind.Region}}var GMe=class{constructor(n){this._worker=n}provideSelectionRanges(n,e,t){const i=n.uri;return this._worker(i).then(r=>r.getSelectionRanges(i.toString(),e.map(D1))).then(r=>{if(r)return r.map(o=>{const s=[];for(;o;)s.push({range:Kl(o.range)}),o=o.parent;return s})})}};function DYt(n,e){e===void 0&&(e=!1);var t=n.length,i=0,r="",o=0,s=16,a=0,l=0,u=0,c=0,d=0;function h(S,x){for(var _=0,F=0;_=48&&D<=57)F=F*16+D-48;else if(D>=65&&D<=70)F=F*16+D-65+10;else if(D>=97&&D<=102)F=F*16+D-97+10;else break;i++,_++}return _=t){S+=n.substring(x,i),d=2;break}var _=n.charCodeAt(i);if(_===34){S+=n.substring(x,i),i++;break}if(_===92){if(S+=n.substring(x,i),i++,i>=t){d=2;break}var F=n.charCodeAt(i++);switch(F){case 34:S+='"';break;case 92:S+="\\";break;case 47:S+="/";break;case 98:S+="\b";break;case 102:S+="\f";break;case 110:S+=` -`;break;case 114:S+="\r";break;case 116:S+=" ";break;case 117:var D=h(4,!0);D>=0?S+=String.fromCharCode(D):d=4;break;default:d=5}x=i;continue}if(_>=0&&_<=31)if(iN(_)){S+=n.substring(x,i),d=2;break}else d=6;i++}return S}function b(){if(r="",d=0,o=i,l=a,c=u,i>=t)return o=t,s=17;var S=n.charCodeAt(i);if(mq(S)){do i++,r+=String.fromCharCode(S),S=n.charCodeAt(i);while(mq(S));return s=15}if(iN(S))return i++,r+=String.fromCharCode(S),S===13&&n.charCodeAt(i)===10&&(i++,r+=` -`),a++,u=i,s=14;switch(S){case 123:return i++,s=1;case 125:return i++,s=2;case 91:return i++,s=3;case 93:return i++,s=4;case 58:return i++,s=6;case 44:return i++,s=5;case 34:return i++,r=g(),s=10;case 47:var x=i-1;if(n.charCodeAt(i+1)===47){for(i+=2;i=12&&S<=15);return S}return{setPosition:m,getPosition:function(){return i},scan:e?C:b,getToken:function(){return s},getTokenValue:function(){return r},getTokenOffset:function(){return o},getTokenLength:function(){return i-o},getTokenStartLine:function(){return l},getTokenStartCharacter:function(){return o-c},getTokenError:function(){return d}}}function mq(n){return n===32||n===9||n===11||n===12||n===160||n===5760||n>=8192&&n<=8203||n===8239||n===8287||n===12288||n===65279}function iN(n){return n===10||n===13||n===8232||n===8233}function qx(n){return n>=48&&n<=57}var XMe;(function(n){n.DEFAULT={allowTrailingComma:!1}})(XMe||(XMe={}));var MYt=DYt;function kYt(n){return{getInitialState:()=>new BMe(null,null,!1,null),tokenize:(e,t)=>XYt(n,e,t)}}var PMe="delimiter.bracket.json",OMe="delimiter.array.json",NYt="delimiter.colon.json",TYt="delimiter.comma.json",EYt="keyword.json",ZYt="keyword.json",WYt="string.value.json",RYt="number.json",VYt="string.key.json",AYt="comment.block.json",GYt="comment.line.json",rN=class uTe{constructor(e,t){this.parent=e,this.type=t}static pop(e){return e?e.parent:null}static push(e,t){return new uTe(e,t)}static equals(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;for(;e&&t;){if(e===t)return!0;if(e.type!==t.type)return!1;e=e.parent,t=t.parent}return!0}},BMe=class Yee{constructor(e,t,i,r){this._state=e,this.scanError=t,this.lastWasColon=i,this.parents=r}clone(){return new Yee(this._state,this.scanError,this.lastWasColon,this.parents)}equals(e){return e===this?!0:!e||!(e instanceof Yee)?!1:this.scanError===e.scanError&&this.lastWasColon===e.lastWasColon&&rN.equals(this.parents,e.parents)}getStateData(){return this._state}setStateData(e){this._state=e}};function XYt(n,e,t,i=0){let r=0,o=!1;switch(t.scanError){case 2:e='"'+e,r=1;break;case 1:e="/*"+e,r=2;break}const s=MYt(e);let a=t.lastWasColon,l=t.parents;const u={tokens:[],endState:t.clone()};for(;;){let c=i+s.getPosition(),d="";const h=s.scan();if(h===17)break;if(c===i+s.getPosition())throw new Error("Scanner did not advance, next 3 characters are: "+e.substr(s.getPosition(),3));switch(o&&(c-=r),o=r>0,h){case 1:l=rN.push(l,0),d=PMe,a=!1;break;case 2:l=rN.pop(l),d=PMe,a=!1;break;case 3:l=rN.push(l,1),d=OMe,a=!1;break;case 4:l=rN.pop(l),d=OMe,a=!1;break;case 6:d=NYt,a=!0;break;case 5:d=TYt,a=!1;break;case 8:case 9:d=EYt,a=!1;break;case 7:d=ZYt,a=!1;break;case 10:const f=(l?l.type:0)===1;d=a||f?WYt:VYt,a=!1;break;case 11:d=RYt,a=!1;break}if(n)switch(h){case 12:d=GYt;break;case 13:d=AYt;break}u.endState=new BMe(t.getStateData(),s.getTokenError(),a,l),u.tokens.push({startIndex:c,scopes:d})}return u}var Hd;function PYt(){return new Promise((n,e)=>{if(!Hd)return e("JSON not registered!");n(Hd)})}var OYt=class extends FMe{constructor(n,e,t){super(n,e,t.onDidChange),this._disposables.push(Ti.editor.onWillDisposeModel(i=>{this._resetSchema(i.uri)})),this._disposables.push(Ti.editor.onDidChangeModelLanguage(i=>{this._resetSchema(i.model.uri)}))}_resetSchema(n){this._worker().then(e=>{e.resetSchema(n.toString())})}};function BYt(n){const e=[],t=[],i=new KDe(n);e.push(i),Hd=(...s)=>i.getLanguageServiceWorker(...s);function r(){const{languageId:s,modeConfiguration:a}=n;HMe(t),a.documentFormattingEdits&&t.push(Ti.languages.registerDocumentFormattingEditProvider(s,new ZMe(Hd))),a.documentRangeFormattingEdits&&t.push(Ti.languages.registerDocumentRangeFormattingEditProvider(s,new WMe(Hd))),a.completionItems&&t.push(Ti.languages.registerCompletionItemProvider(s,new IMe(Hd,[" ",":",'"']))),a.hovers&&t.push(Ti.languages.registerHoverProvider(s,new DMe(Hd))),a.documentSymbols&&t.push(Ti.languages.registerDocumentSymbolProvider(s,new NMe(Hd))),a.tokens&&t.push(Ti.languages.setTokensProvider(s,kYt(!0))),a.colors&&t.push(Ti.languages.registerColorProvider(s,new VMe(Hd))),a.foldingRanges&&t.push(Ti.languages.registerFoldingRangeProvider(s,new AMe(Hd))),a.diagnostics&&t.push(new OYt(s,Hd,n)),a.selectionRanges&&t.push(Ti.languages.registerSelectionRangeProvider(s,new GMe(Hd)))}r(),e.push(Ti.languages.setLanguageConfiguration(n.languageId,zYt));let o=n.modeConfiguration;return n.onDidChange(s=>{s.modeConfiguration!==o&&(o=s.modeConfiguration,r())}),e.push(zMe(t)),zMe(e)}function zMe(n){return{dispose:()=>HMe(n)}}function HMe(n){for(;n.length;)n.pop().dispose()}var zYt={wordPattern:/(-?\d*\.\d\w*)|([^\[\{\]\}\:\"\,\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string"]},{open:"[",close:"]",notIn:["string"]},{open:'"',close:'"',notIn:["string"]}]};const HYt=Object.freeze(Object.defineProperty({__proto__:null,CompletionAdapter:IMe,DefinitionAdapter:wYt,DiagnosticsAdapter:FMe,DocumentColorAdapter:VMe,DocumentFormattingEditProvider:ZMe,DocumentHighlightAdapter:yYt,DocumentLinkAdapter:FYt,DocumentRangeFormattingEditProvider:WMe,DocumentSymbolAdapter:NMe,FoldingRangeAdapter:AMe,HoverAdapter:DMe,ReferenceAdapter:SYt,RenameAdapter:xYt,SelectionRangeAdapter:GMe,WorkerManager:KDe,fromPosition:D1,fromRange:hq,getWorker:PYt,setupMode:BYt,toRange:Kl,toTextEdit:$x},Symbol.toStringTag,{value:"Module"}))}); +`&&r++}i&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},n.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),i=0,r=t.length;if(r===0)return Pf.create(0,e);for(;ie?r=o:i=o+1}var s=i-1;return Pf.create(s,e-t[s])},n.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var i=t[e.line],r=e.line+1"u"}n.undefined=i;function r(m){return m===!0||m===!1}n.boolean=r;function o(m){return e.call(m)==="[object String]"}n.string=o;function s(m){return e.call(m)==="[object Number]"}n.number=s;function a(m,f,g){return e.call(m)==="[object Number]"&&f<=m&&m<=g}n.numberRange=a;function l(m){return e.call(m)==="[object Number]"&&-2147483648<=m&&m<=2147483647}n.integer=l;function u(m){return e.call(m)==="[object Number]"&&0<=m&&m<=2147483647}n.uinteger=u;function c(m){return e.call(m)==="[object Function]"}n.func=c;function d(m){return m!==null&&typeof m=="object"}n.objectLiteral=d;function h(m,f){return Array.isArray(m)&&m.every(f)}n.typedArray=h})(bt||(bt={}));var INe=class{constructor(n,e,t){this._languageId=n,this._worker=e,this._disposables=[],this._listener=Object.create(null);const i=o=>{let s=o.getLanguageId();if(s!==this._languageId)return;let a;this._listener[o.uri.toString()]=o.onDidChangeContent(()=>{window.clearTimeout(a),a=window.setTimeout(()=>this._doValidate(o.uri,s),500)}),this._doValidate(o.uri,s)},r=o=>{Ti.editor.setModelMarkers(o,this._languageId,[]);let s=o.uri.toString(),a=this._listener[s];a&&(a.dispose(),delete this._listener[s])};this._disposables.push(Ti.editor.onDidCreateModel(i)),this._disposables.push(Ti.editor.onWillDisposeModel(r)),this._disposables.push(Ti.editor.onDidChangeModelLanguage(o=>{r(o.model),i(o.model)})),this._disposables.push(t(o=>{Ti.editor.getModels().forEach(s=>{s.getLanguageId()===this._languageId&&(r(s),i(s))})})),this._disposables.push({dispose:()=>{Ti.editor.getModels().forEach(r);for(let o in this._listener)this._listener[o].dispose()}}),Ti.editor.getModels().forEach(i)}dispose(){this._disposables.forEach(n=>n&&n.dispose()),this._disposables.length=0}_doValidate(n,e){this._worker(n).then(t=>t.doValidation(n.toString())).then(t=>{const i=t.map(o=>mYt(n,o));let r=Ti.editor.getModel(n);r&&r.getLanguageId()===e&&Ti.editor.setModelMarkers(r,e,i)}).then(void 0,t=>{})}};function hYt(n){switch(n){case jx.Error:return Ti.MarkerSeverity.Error;case jx.Warning:return Ti.MarkerSeverity.Warning;case jx.Information:return Ti.MarkerSeverity.Info;case jx.Hint:return Ti.MarkerSeverity.Hint;default:return Ti.MarkerSeverity.Info}}function mYt(n,e){let t=typeof e.code=="number"?String(e.code):e.code;return{severity:hYt(e.severity),startLineNumber:e.range.start.line+1,startColumn:e.range.start.character+1,endLineNumber:e.range.end.line+1,endColumn:e.range.end.character+1,message:e.message,code:t,source:e.source}}var FNe=class{constructor(n,e){this._worker=n,this._triggerCharacters=e}get triggerCharacters(){return this._triggerCharacters}provideCompletionItems(n,e,t,i){const r=n.uri;return this._worker(r).then(o=>o.doComplete(r.toString(),D1(e))).then(o=>{if(!o)return;const s=n.getWordUntilPosition(e),a=new Ti.Range(e.lineNumber,s.startColumn,e.lineNumber,s.endColumn),l=o.items.map(u=>{const c={label:u.label,insertText:u.insertText||u.label,sortText:u.sortText,filterText:u.filterText,documentation:u.documentation,detail:u.detail,command:pYt(u.command),range:a,kind:gYt(u.kind)};return u.textEdit&&(fYt(u.textEdit)?c.range={insert:Kl(u.textEdit.insert),replace:Kl(u.textEdit.replace)}:c.range=Kl(u.textEdit.range),c.insertText=u.textEdit.newText),u.additionalTextEdits&&(c.additionalTextEdits=u.additionalTextEdits.map($x)),u.insertTextFormat===dq.Snippet&&(c.insertTextRules=Ti.languages.CompletionItemInsertTextRule.InsertAsSnippet),c});return{isIncomplete:o.isIncomplete,suggestions:l}})}};function D1(n){if(n)return{character:n.column-1,line:n.lineNumber-1}}function hq(n){if(n)return{start:{line:n.startLineNumber-1,character:n.startColumn-1},end:{line:n.endLineNumber-1,character:n.endColumn-1}}}function Kl(n){if(n)return new Ti.Range(n.start.line+1,n.start.character+1,n.end.line+1,n.end.character+1)}function fYt(n){return typeof n.insert<"u"&&typeof n.replace<"u"}function gYt(n){const e=Ti.languages.CompletionItemKind;switch(n){case ra.Text:return e.Text;case ra.Method:return e.Method;case ra.Function:return e.Function;case ra.Constructor:return e.Constructor;case ra.Field:return e.Field;case ra.Variable:return e.Variable;case ra.Class:return e.Class;case ra.Interface:return e.Interface;case ra.Module:return e.Module;case ra.Property:return e.Property;case ra.Unit:return e.Unit;case ra.Value:return e.Value;case ra.Enum:return e.Enum;case ra.Keyword:return e.Keyword;case ra.Snippet:return e.Snippet;case ra.Color:return e.Color;case ra.File:return e.File;case ra.Reference:return e.Reference}return e.Property}function $x(n){if(n)return{range:Kl(n.range),text:n.newText}}function pYt(n){return n&&n.command==="editor.action.triggerSuggest"?{id:n.command,title:n.title,arguments:n.arguments}:void 0}var DNe=class{constructor(n){this._worker=n}provideHover(n,e,t){let i=n.uri;return this._worker(i).then(r=>r.doHover(i.toString(),D1(e))).then(r=>{if(r)return{range:Kl(r.range),contents:yYt(r.contents)}})}};function bYt(n){return n&&typeof n=="object"&&typeof n.kind=="string"}function NNe(n){return typeof n=="string"?{value:n}:bYt(n)?n.kind==="plaintext"?{value:n.value.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}:{value:n.value}:{value:"```"+n.language+` +`+n.value+"\n```\n"}}function yYt(n){if(n)return Array.isArray(n)?n.map(NNe):[NNe(n)]}var vYt=class{constructor(n){this._worker=n}provideDocumentHighlights(n,e,t){const i=n.uri;return this._worker(i).then(r=>r.findDocumentHighlights(i.toString(),D1(e))).then(r=>{if(r)return r.map(o=>({range:Kl(o.range),kind:CYt(o.kind)}))})}};function CYt(n){switch(n){case nk.Read:return Ti.languages.DocumentHighlightKind.Read;case nk.Write:return Ti.languages.DocumentHighlightKind.Write;case nk.Text:return Ti.languages.DocumentHighlightKind.Text}return Ti.languages.DocumentHighlightKind.Text}var SYt=class{constructor(n){this._worker=n}provideDefinition(n,e,t){const i=n.uri;return this._worker(i).then(r=>r.findDefinition(i.toString(),D1(e))).then(r=>{if(r)return[MNe(r)]})}};function MNe(n){return{uri:Ti.Uri.parse(n.uri),range:Kl(n.range)}}var wYt=class{constructor(n){this._worker=n}provideReferences(n,e,t,i){const r=n.uri;return this._worker(r).then(o=>o.findReferences(r.toString(),D1(e))).then(o=>{if(o)return o.map(MNe)})}},xYt=class{constructor(n){this._worker=n}provideRenameEdits(n,e,t,i){const r=n.uri;return this._worker(r).then(o=>o.doRename(r.toString(),D1(e),t)).then(o=>_Yt(o))}};function _Yt(n){if(!n||!n.changes)return;let e=[];for(let t in n.changes){const i=Ti.Uri.parse(t);for(let r of n.changes[t])e.push({resource:i,versionId:void 0,textEdit:{range:Kl(r.range),text:r.newText}})}return{edits:e}}var kNe=class{constructor(n){this._worker=n}provideDocumentSymbols(n,e){const t=n.uri;return this._worker(t).then(i=>i.findDocumentSymbols(t.toString())).then(i=>{if(i)return i.map(r=>LYt(r)?TNe(r):{name:r.name,detail:"",containerName:r.containerName,kind:ENe(r.kind),range:Kl(r.location.range),selectionRange:Kl(r.location.range),tags:[]})})}};function LYt(n){return"children"in n}function TNe(n){return{name:n.name,detail:n.detail??"",kind:ENe(n.kind),range:Kl(n.range),selectionRange:Kl(n.selectionRange),tags:n.tags??[],children:(n.children??[]).map(e=>TNe(e))}}function ENe(n){let e=Ti.languages.SymbolKind;switch(n){case oa.File:return e.File;case oa.Module:return e.Module;case oa.Namespace:return e.Namespace;case oa.Package:return e.Package;case oa.Class:return e.Class;case oa.Method:return e.Method;case oa.Property:return e.Property;case oa.Field:return e.Field;case oa.Constructor:return e.Constructor;case oa.Enum:return e.Enum;case oa.Interface:return e.Interface;case oa.Function:return e.Function;case oa.Variable:return e.Variable;case oa.Constant:return e.Constant;case oa.String:return e.String;case oa.Number:return e.Number;case oa.Boolean:return e.Boolean;case oa.Array:return e.Array}return e.Function}var IYt=class{constructor(n){this._worker=n}provideLinks(n,e){const t=n.uri;return this._worker(t).then(i=>i.findDocumentLinks(t.toString())).then(i=>{if(i)return{links:i.map(r=>({range:Kl(r.range),url:r.target}))}})}},RNe=class{constructor(n){this._worker=n}provideDocumentFormattingEdits(n,e,t){const i=n.uri;return this._worker(i).then(r=>r.format(i.toString(),null,WNe(e)).then(o=>{if(!(!o||o.length===0))return o.map($x)}))}},ZNe=class{constructor(n){this._worker=n,this.canFormatMultipleRanges=!1}provideDocumentRangeFormattingEdits(n,e,t,i){const r=n.uri;return this._worker(r).then(o=>o.format(r.toString(),hq(e),WNe(t)).then(s=>{if(!(!s||s.length===0))return s.map($x)}))}};function WNe(n){return{tabSize:n.tabSize,insertSpaces:n.insertSpaces}}var ANe=class{constructor(n){this._worker=n}provideDocumentColors(n,e){const t=n.uri;return this._worker(t).then(i=>i.findDocumentColors(t.toString())).then(i=>{if(i)return i.map(r=>({color:r.color,range:Kl(r.range)}))})}provideColorPresentations(n,e,t){const i=n.uri;return this._worker(i).then(r=>r.getColorPresentations(i.toString(),e.color,hq(e.range))).then(r=>{if(r)return r.map(o=>{let s={label:o.label};return o.textEdit&&(s.textEdit=$x(o.textEdit)),o.additionalTextEdits&&(s.additionalTextEdits=o.additionalTextEdits.map($x)),s})})}},VNe=class{constructor(n){this._worker=n}provideFoldingRanges(n,e,t){const i=n.uri;return this._worker(i).then(r=>r.getFoldingRanges(i.toString(),e)).then(r=>{if(r)return r.map(o=>{const s={start:o.startLine+1,end:o.endLine+1};return typeof o.kind<"u"&&(s.kind=FYt(o.kind)),s})})}};function FYt(n){switch(n){case jM.Comment:return Ti.languages.FoldingRangeKind.Comment;case jM.Imports:return Ti.languages.FoldingRangeKind.Imports;case jM.Region:return Ti.languages.FoldingRangeKind.Region}}var GNe=class{constructor(n){this._worker=n}provideSelectionRanges(n,e,t){const i=n.uri;return this._worker(i).then(r=>r.getSelectionRanges(i.toString(),e.map(D1))).then(r=>{if(r)return r.map(o=>{const s=[];for(;o;)s.push({range:Kl(o.range)}),o=o.parent;return s})})}};function DYt(n,e){e===void 0&&(e=!1);var t=n.length,i=0,r="",o=0,s=16,a=0,l=0,u=0,c=0,d=0;function h(w,x){for(var L=0,I=0;L=48&&D<=57)I=I*16+D-48;else if(D>=65&&D<=70)I=I*16+D-65+10;else if(D>=97&&D<=102)I=I*16+D-97+10;else break;i++,L++}return L=t){w+=n.substring(x,i),d=2;break}var L=n.charCodeAt(i);if(L===34){w+=n.substring(x,i),i++;break}if(L===92){if(w+=n.substring(x,i),i++,i>=t){d=2;break}var I=n.charCodeAt(i++);switch(I){case 34:w+='"';break;case 92:w+="\\";break;case 47:w+="/";break;case 98:w+="\b";break;case 102:w+="\f";break;case 110:w+=` +`;break;case 114:w+="\r";break;case 116:w+=" ";break;case 117:var D=h(4,!0);D>=0?w+=String.fromCharCode(D):d=4;break;default:d=5}x=i;continue}if(L>=0&&L<=31)if(ik(L)){w+=n.substring(x,i),d=2;break}else d=6;i++}return w}function b(){if(r="",d=0,o=i,l=a,c=u,i>=t)return o=t,s=17;var w=n.charCodeAt(i);if(mq(w)){do i++,r+=String.fromCharCode(w),w=n.charCodeAt(i);while(mq(w));return s=15}if(ik(w))return i++,r+=String.fromCharCode(w),w===13&&n.charCodeAt(i)===10&&(i++,r+=` +`),a++,u=i,s=14;switch(w){case 123:return i++,s=1;case 125:return i++,s=2;case 91:return i++,s=3;case 93:return i++,s=4;case 58:return i++,s=6;case 44:return i++,s=5;case 34:return i++,r=g(),s=10;case 47:var x=i-1;if(n.charCodeAt(i+1)===47){for(i+=2;i=12&&w<=15);return w}return{setPosition:m,getPosition:function(){return i},scan:e?C:b,getToken:function(){return s},getTokenValue:function(){return r},getTokenOffset:function(){return o},getTokenLength:function(){return i-o},getTokenStartLine:function(){return l},getTokenStartCharacter:function(){return o-c},getTokenError:function(){return d}}}function mq(n){return n===32||n===9||n===11||n===12||n===160||n===5760||n>=8192&&n<=8203||n===8239||n===8287||n===12288||n===65279}function ik(n){return n===10||n===13||n===8232||n===8233}function qx(n){return n>=48&&n<=57}var XNe;(function(n){n.DEFAULT={allowTrailingComma:!1}})(XNe||(XNe={}));var NYt=DYt;function MYt(n){return{getInitialState:()=>new BNe(null,null,!1,null),tokenize:(e,t)=>XYt(n,e,t)}}var PNe="delimiter.bracket.json",ONe="delimiter.array.json",kYt="delimiter.colon.json",TYt="delimiter.comma.json",EYt="keyword.json",RYt="keyword.json",ZYt="string.value.json",WYt="number.json",AYt="string.key.json",VYt="comment.block.json",GYt="comment.line.json",rk=class uTe{constructor(e,t){this.parent=e,this.type=t}static pop(e){return e?e.parent:null}static push(e,t){return new uTe(e,t)}static equals(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;for(;e&&t;){if(e===t)return!0;if(e.type!==t.type)return!1;e=e.parent,t=t.parent}return!0}},BNe=class Yee{constructor(e,t,i,r){this._state=e,this.scanError=t,this.lastWasColon=i,this.parents=r}clone(){return new Yee(this._state,this.scanError,this.lastWasColon,this.parents)}equals(e){return e===this?!0:!e||!(e instanceof Yee)?!1:this.scanError===e.scanError&&this.lastWasColon===e.lastWasColon&&rk.equals(this.parents,e.parents)}getStateData(){return this._state}setStateData(e){this._state=e}};function XYt(n,e,t,i=0){let r=0,o=!1;switch(t.scanError){case 2:e='"'+e,r=1;break;case 1:e="/*"+e,r=2;break}const s=NYt(e);let a=t.lastWasColon,l=t.parents;const u={tokens:[],endState:t.clone()};for(;;){let c=i+s.getPosition(),d="";const h=s.scan();if(h===17)break;if(c===i+s.getPosition())throw new Error("Scanner did not advance, next 3 characters are: "+e.substr(s.getPosition(),3));switch(o&&(c-=r),o=r>0,h){case 1:l=rk.push(l,0),d=PNe,a=!1;break;case 2:l=rk.pop(l),d=PNe,a=!1;break;case 3:l=rk.push(l,1),d=ONe,a=!1;break;case 4:l=rk.pop(l),d=ONe,a=!1;break;case 6:d=kYt,a=!0;break;case 5:d=TYt,a=!1;break;case 8:case 9:d=EYt,a=!1;break;case 7:d=RYt,a=!1;break;case 10:const f=(l?l.type:0)===1;d=a||f?ZYt:AYt,a=!1;break;case 11:d=WYt,a=!1;break}if(n)switch(h){case 12:d=GYt;break;case 13:d=VYt;break}u.endState=new BNe(t.getStateData(),s.getTokenError(),a,l),u.tokens.push({startIndex:c,scopes:d})}return u}var zd;function PYt(){return new Promise((n,e)=>{if(!zd)return e("JSON not registered!");n(zd)})}var OYt=class extends INe{constructor(n,e,t){super(n,e,t.onDidChange),this._disposables.push(Ti.editor.onWillDisposeModel(i=>{this._resetSchema(i.uri)})),this._disposables.push(Ti.editor.onDidChangeModelLanguage(i=>{this._resetSchema(i.model.uri)}))}_resetSchema(n){this._worker().then(e=>{e.resetSchema(n.toString())})}};function BYt(n){const e=[],t=[],i=new KDe(n);e.push(i),zd=(...s)=>i.getLanguageServiceWorker(...s);function r(){const{languageId:s,modeConfiguration:a}=n;HNe(t),a.documentFormattingEdits&&t.push(Ti.languages.registerDocumentFormattingEditProvider(s,new RNe(zd))),a.documentRangeFormattingEdits&&t.push(Ti.languages.registerDocumentRangeFormattingEditProvider(s,new ZNe(zd))),a.completionItems&&t.push(Ti.languages.registerCompletionItemProvider(s,new FNe(zd,[" ",":",'"']))),a.hovers&&t.push(Ti.languages.registerHoverProvider(s,new DNe(zd))),a.documentSymbols&&t.push(Ti.languages.registerDocumentSymbolProvider(s,new kNe(zd))),a.tokens&&t.push(Ti.languages.setTokensProvider(s,MYt(!0))),a.colors&&t.push(Ti.languages.registerColorProvider(s,new ANe(zd))),a.foldingRanges&&t.push(Ti.languages.registerFoldingRangeProvider(s,new VNe(zd))),a.diagnostics&&t.push(new OYt(s,zd,n)),a.selectionRanges&&t.push(Ti.languages.registerSelectionRangeProvider(s,new GNe(zd)))}r(),e.push(Ti.languages.setLanguageConfiguration(n.languageId,zYt));let o=n.modeConfiguration;return n.onDidChange(s=>{s.modeConfiguration!==o&&(o=s.modeConfiguration,r())}),e.push(zNe(t)),zNe(e)}function zNe(n){return{dispose:()=>HNe(n)}}function HNe(n){for(;n.length;)n.pop().dispose()}var zYt={wordPattern:/(-?\d*\.\d\w*)|([^\[\{\]\}\:\"\,\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string"]},{open:"[",close:"]",notIn:["string"]},{open:'"',close:'"',notIn:["string"]}]};const HYt=Object.freeze(Object.defineProperty({__proto__:null,CompletionAdapter:FNe,DefinitionAdapter:SYt,DiagnosticsAdapter:INe,DocumentColorAdapter:ANe,DocumentFormattingEditProvider:RNe,DocumentHighlightAdapter:vYt,DocumentLinkAdapter:IYt,DocumentRangeFormattingEditProvider:ZNe,DocumentSymbolAdapter:kNe,FoldingRangeAdapter:VNe,HoverAdapter:DNe,ReferenceAdapter:wYt,RenameAdapter:xYt,SelectionRangeAdapter:GNe,WorkerManager:KDe,fromPosition:D1,fromRange:hq,getWorker:PYt,setupMode:BYt,toRange:Kl,toTextEdit:$x},Symbol.toStringTag,{value:"Module"}))});